<?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>web01.fireside.fm</fireside:hostname>
    <fireside:genDate>Sat, 06 Jun 2026 04:25:23 -0500</fireside:genDate>
    <generator>Fireside (https://fireside.fm)</generator>
    <title>BSD Now - Episodes Tagged with “Trueos”</title>
    <link>https://www.bsdnow.tv/tags/trueos</link>
    <pubDate>Thu, 28 May 2026 09: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>665: 60 Puffies</title>
  <link>https://www.bsdnow.tv/665</link>
  <guid isPermaLink="false">48861d2d-5680-498d-9d5a-958a31ad417c</guid>
  <pubDate>Thu, 28 May 2026 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/48861d2d-5680-498d-9d5a-958a31ad417c.mp3" length="57751680" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 7.9, Critical Infrastructure in FreeBSD, GhostBSD Finance report, Solaris 11.4 updates, and more...</itunes:subtitle>
  <itunes:duration>1:00:09</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>&lt;p&gt;OpenBSD 7.9, Critical Infrastructure in FreeBSD, GhostBSD Finance report, Solaris 11.4 updates, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://marc.info/?l=openbsd-announce&amp;amp;m=177919671915512&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD 7.9 60th Edition has been released&lt;/a&gt; and &lt;a href="https://undeadly.org/cgi?action=front" target="_blank" rel="nofollow noopener"&gt;Reported over on Undeadly&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/cleaning-up-critical-infrastructure-in-freebsd/" target="_blank" rel="nofollow noopener"&gt;Cleaning Up Critical Infrastructure in FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://osnews.com/story/144845/apple-wants-to-kill-your-time-capsule-but-they-run-netbsd-so-they-cant/" target="_blank" rel="nofollow noopener"&gt;Apple Wants to Kill Your Time Capsule but They Run NetBSD So They Can Not&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.phoronix.com/news/Solaris-11.4-Less-Updates" target="_blank" rel="nofollow noopener"&gt;Oracle To Reduce The Frequency Of Solaris 11.4 Updates&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://kedara.eu/freebsd-thinkpad-t14-gen2-intel/" target="_blank" rel="nofollow noopener"&gt;FreeBSD on a Thinkpad T14 Gen 2 Intel&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://ghostbsd.org/news/January_2026_Finance_Report" target="_blank" rel="nofollow noopener"&gt;January 2026 Finance Report&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dragonflybsd.org/docs/howtos/DPortsContributions/" target="_blank" rel="nofollow noopener"&gt;The DragonFly site has a recently-updated page describing how DPorts is assembled and the process to contribute.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.tuhs.org/pipermail/tuhs/2026-January/033159.html" target="_blank" rel="nofollow noopener"&gt;TUHS - Unix use of VAX protection modes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://retrocomputing.stackexchange.com/questions/32492/origin-of-the-rule-that-swap-size-should-be-2x-of-the-physical-memory" target="_blank" rel="nofollow noopener"&gt;Origin of the rule that swap size should be 2x of the physical memory&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;- &lt;a href="https://www.youtube.com/watch?v=wyMrtmoGJ_k" target="_blank" rel="nofollow noopener"&gt;The Duke and the Beastie - Improving OpenJDK support for FreeBSD&lt;/a&gt;&lt;/h2&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 7.9, Critical Infrastructure in FreeBSD, GhostBSD Finance report, Solaris 11.4 updates, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://marc.info/?l=openbsd-announce&amp;m=177919671915512&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD 7.9 60th Edition has been released</a> and <a href="https://undeadly.org/cgi?action=front" target="_blank" rel="nofollow noopener">Reported over on Undeadly</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/cleaning-up-critical-infrastructure-in-freebsd/" target="_blank" rel="nofollow noopener">Cleaning Up Critical Infrastructure in FreeBSD</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://osnews.com/story/144845/apple-wants-to-kill-your-time-capsule-but-they-run-netbsd-so-they-cant/" target="_blank" rel="nofollow noopener">Apple Wants to Kill Your Time Capsule but They Run NetBSD So They Can Not</a></p>

<hr>

<p><a href="https://www.phoronix.com/news/Solaris-11.4-Less-Updates" target="_blank" rel="nofollow noopener">Oracle To Reduce The Frequency Of Solaris 11.4 Updates</a></p>

<hr>

<p><a href="https://kedara.eu/freebsd-thinkpad-t14-gen2-intel/" target="_blank" rel="nofollow noopener">FreeBSD on a Thinkpad T14 Gen 2 Intel</a></p>

<hr>

<p><a href="https://ghostbsd.org/news/January_2026_Finance_Report" target="_blank" rel="nofollow noopener">January 2026 Finance Report</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflybsd.org/docs/howtos/DPortsContributions/" target="_blank" rel="nofollow noopener">The DragonFly site has a recently-updated page describing how DPorts is assembled and the process to contribute.</a></li>
<li><a href="https://www.tuhs.org/pipermail/tuhs/2026-January/033159.html" target="_blank" rel="nofollow noopener">TUHS - Unix use of VAX protection modes</a></li>
<li><a href="https://retrocomputing.stackexchange.com/questions/32492/origin-of-the-rule-that-swap-size-should-be-2x-of-the-physical-memory" target="_blank" rel="nofollow noopener">Origin of the rule that swap size should be 2x of the physical memory</a></li>
</ul>

<h2>- <a href="https://www.youtube.com/watch?v=wyMrtmoGJ_k" target="_blank" rel="nofollow noopener">The Duke and the Beastie - Improving OpenJDK support for FreeBSD</a></h2>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 7.9, Critical Infrastructure in FreeBSD, GhostBSD Finance report, Solaris 11.4 updates, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://marc.info/?l=openbsd-announce&amp;m=177919671915512&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD 7.9 60th Edition has been released</a> and <a href="https://undeadly.org/cgi?action=front" target="_blank" rel="nofollow noopener">Reported over on Undeadly</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/cleaning-up-critical-infrastructure-in-freebsd/" target="_blank" rel="nofollow noopener">Cleaning Up Critical Infrastructure in FreeBSD</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://osnews.com/story/144845/apple-wants-to-kill-your-time-capsule-but-they-run-netbsd-so-they-cant/" target="_blank" rel="nofollow noopener">Apple Wants to Kill Your Time Capsule but They Run NetBSD So They Can Not</a></p>

<hr>

<p><a href="https://www.phoronix.com/news/Solaris-11.4-Less-Updates" target="_blank" rel="nofollow noopener">Oracle To Reduce The Frequency Of Solaris 11.4 Updates</a></p>

<hr>

<p><a href="https://kedara.eu/freebsd-thinkpad-t14-gen2-intel/" target="_blank" rel="nofollow noopener">FreeBSD on a Thinkpad T14 Gen 2 Intel</a></p>

<hr>

<p><a href="https://ghostbsd.org/news/January_2026_Finance_Report" target="_blank" rel="nofollow noopener">January 2026 Finance Report</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflybsd.org/docs/howtos/DPortsContributions/" target="_blank" rel="nofollow noopener">The DragonFly site has a recently-updated page describing how DPorts is assembled and the process to contribute.</a></li>
<li><a href="https://www.tuhs.org/pipermail/tuhs/2026-January/033159.html" target="_blank" rel="nofollow noopener">TUHS - Unix use of VAX protection modes</a></li>
<li><a href="https://retrocomputing.stackexchange.com/questions/32492/origin-of-the-rule-that-swap-size-should-be-2x-of-the-physical-memory" target="_blank" rel="nofollow noopener">Origin of the rule that swap size should be 2x of the physical memory</a></li>
</ul>

<h2>- <a href="https://www.youtube.com/watch?v=wyMrtmoGJ_k" target="_blank" rel="nofollow noopener">The Duke and the Beastie - Improving OpenJDK support for FreeBSD</a></h2>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>664: No one misses SPARC</title>
  <link>https://www.bsdnow.tv/664</link>
  <guid isPermaLink="false">71d75531-e8aa-4b08-ad2a-0b22af289619</guid>
  <pubDate>Thu, 21 May 2026 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/71d75531-e8aa-4b08-ad2a-0b22af289619.mp3" length="60321792" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The NetBSD/FreeBSD Merge announcement, the rise and fall of SPARC, GhoseBSD 26.2 and more...</itunes:subtitle>
  <itunes:duration>1:02:50</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>&lt;p&gt;The NetBSD/FreeBSD Merge announcement, the rise and fall of SPARC, GhoseBSD 26.2 and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.reddit.com/r/BSD/comments/1ss7tdo/netbsdfreebsd_will_not_merge_november_1993/" target="_blank" rel="nofollow noopener"&gt;NetBSD/FreeBSD will not merge, November 1993 announcement&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://minsoo.io/the-rise-and-fall-of-sparc-why-no-one-misses-it/" target="_blank" rel="nofollow noopener"&gt;Rise and Fall of SPARC: Why No One Misses It&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://forums.ghostbsd.org/d/881-help-needed-for-testing-ghostbsd-262" target="_blank" rel="nofollow noopener"&gt;Help needed testing GhostBSD 26.2&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2026/redundant-dhcp-server-and-dns-resolver-using-openbsd-and-freebsd/" target="_blank" rel="nofollow noopener"&gt;Redundant DHCP server and DNS Resolver using OpenBSD and FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/UniversitiesAndInhouseTech" target="_blank" rel="nofollow noopener"&gt;Universities And In house Tech&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vulcanridr.mataroa.blog/blog/beating-my-head-on-openvpn/" target="_blank" rel="nofollow noopener"&gt;Beating my head on OpenVPN&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/664/feedback/paul%20-%20feedback.md" target="_blank" rel="nofollow noopener"&gt;Paul - Feedback&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The NetBSD/FreeBSD Merge announcement, the rise and fall of SPARC, GhoseBSD 26.2 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.reddit.com/r/BSD/comments/1ss7tdo/netbsdfreebsd_will_not_merge_november_1993/" target="_blank" rel="nofollow noopener">NetBSD/FreeBSD will not merge, November 1993 announcement</a></p>

<hr>

<p><a href="https://minsoo.io/the-rise-and-fall-of-sparc-why-no-one-misses-it/" target="_blank" rel="nofollow noopener">Rise and Fall of SPARC: Why No One Misses It</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://forums.ghostbsd.org/d/881-help-needed-for-testing-ghostbsd-262" target="_blank" rel="nofollow noopener">Help needed testing GhostBSD 26.2</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2026/redundant-dhcp-server-and-dns-resolver-using-openbsd-and-freebsd/" target="_blank" rel="nofollow noopener">Redundant DHCP server and DNS Resolver using OpenBSD and FreeBSD</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/UniversitiesAndInhouseTech" target="_blank" rel="nofollow noopener">Universities And In house Tech</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/beating-my-head-on-openvpn/" target="_blank" rel="nofollow noopener">Beating my head on OpenVPN</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/664/feedback/paul%20-%20feedback.md" target="_blank" rel="nofollow noopener">Paul - Feedback</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The NetBSD/FreeBSD Merge announcement, the rise and fall of SPARC, GhoseBSD 26.2 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.reddit.com/r/BSD/comments/1ss7tdo/netbsdfreebsd_will_not_merge_november_1993/" target="_blank" rel="nofollow noopener">NetBSD/FreeBSD will not merge, November 1993 announcement</a></p>

<hr>

<p><a href="https://minsoo.io/the-rise-and-fall-of-sparc-why-no-one-misses-it/" target="_blank" rel="nofollow noopener">Rise and Fall of SPARC: Why No One Misses It</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://forums.ghostbsd.org/d/881-help-needed-for-testing-ghostbsd-262" target="_blank" rel="nofollow noopener">Help needed testing GhostBSD 26.2</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2026/redundant-dhcp-server-and-dns-resolver-using-openbsd-and-freebsd/" target="_blank" rel="nofollow noopener">Redundant DHCP server and DNS Resolver using OpenBSD and FreeBSD</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/UniversitiesAndInhouseTech" target="_blank" rel="nofollow noopener">Universities And In house Tech</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/beating-my-head-on-openvpn/" target="_blank" rel="nofollow noopener">Beating my head on OpenVPN</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/664/feedback/paul%20-%20feedback.md" target="_blank" rel="nofollow noopener">Paul - Feedback</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>663: Proxhyve</title>
  <link>https://www.bsdnow.tv/663</link>
  <guid isPermaLink="false">6fe1fbaa-8479-4fb5-a1c7-1c4b46d5901c</guid>
  <pubDate>Thu, 14 May 2026 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6fe1fbaa-8479-4fb5-a1c7-1c4b46d5901c.mp3" length="59379072" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Switching from Proxmox to Slyve, FreeBSD Quarterly report, FreeBSD's laptop program, Migrating ZFS, Haiku and OpenSSL news, and more...</itunes:subtitle>
  <itunes:duration>1:01:51</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>&lt;p&gt;Switching from Proxmox to Sylve, FreeBSD Quarterly report, FreeBSD's laptop program, Migrating ZFS, Haiku and OpenSSL news, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://xda-developers.com/i-switched-my-home-server-from-proxmox-to-its-freebsd-counterpart/" target="_blank" rel="nofollow noopener"&gt;I Switched from Proxmox to Its FreeBSD Counterpart on My Home Server – Here is How it Went&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.freebsd.org/status/report-2026-01-2026-03/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Quarterly Report&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/our-work/journal/browser-based-edition/laptop-desktop/how-the-foundations-laptop-support-usability-project-came-together" target="_blank" rel="nofollow noopener"&gt;The FreeBSD Foundation's Laptop Support Project&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dan.langille.org/2026/04/19/migrating-zfs-filesystems-from-one-zpool-to-another-same-host/" target="_blank" rel="nofollow noopener"&gt;Migrating ZFS filesystems from one zpool to another – same host&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://hackaday.com/2026/04/15/haiku-isnt-just-for-x86-anymore-boots-on-arm-in-qemu/" target="_blank" rel="nofollow noopener"&gt;Haiku Isn’t Just For X86 Anymore, Boots On ARM In QEMU&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/openssl/openssl/releases/tag/openssl-4.0.0" target="_blank" rel="nofollow noopener"&gt;OpneSSL 4.0&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://ck-hack.blogspot.com/2010/10/other-schedulers-illumos.html" target="_blank" rel="nofollow noopener"&gt;Other schedulers? Illumos?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Switching from Proxmox to Sylve, FreeBSD Quarterly report, FreeBSD's laptop program, Migrating ZFS, Haiku and OpenSSL news, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://xda-developers.com/i-switched-my-home-server-from-proxmox-to-its-freebsd-counterpart/" target="_blank" rel="nofollow noopener">I Switched from Proxmox to Its FreeBSD Counterpart on My Home Server – Here is How it Went</a></p>

<hr>

<p><a href="https://www.freebsd.org/status/report-2026-01-2026-03/" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Report</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/our-work/journal/browser-based-edition/laptop-desktop/how-the-foundations-laptop-support-usability-project-came-together" target="_blank" rel="nofollow noopener">The FreeBSD Foundation's Laptop Support Project</a></p>

<hr>

<h2>News Roundup</h2>

<hr>

<p><a href="https://dan.langille.org/2026/04/19/migrating-zfs-filesystems-from-one-zpool-to-another-same-host/" target="_blank" rel="nofollow noopener">Migrating ZFS filesystems from one zpool to another – same host</a></p>

<hr>

<p><a href="https://hackaday.com/2026/04/15/haiku-isnt-just-for-x86-anymore-boots-on-arm-in-qemu/" target="_blank" rel="nofollow noopener">Haiku Isn’t Just For X86 Anymore, Boots On ARM In QEMU</a></p>

<hr>

<p><a href="https://github.com/openssl/openssl/releases/tag/openssl-4.0.0" target="_blank" rel="nofollow noopener">OpneSSL 4.0</a></p>

<hr>

<p><a href="https://ck-hack.blogspot.com/2010/10/other-schedulers-illumos.html" target="_blank" rel="nofollow noopener">Other schedulers? Illumos?</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Switching from Proxmox to Sylve, FreeBSD Quarterly report, FreeBSD's laptop program, Migrating ZFS, Haiku and OpenSSL news, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://xda-developers.com/i-switched-my-home-server-from-proxmox-to-its-freebsd-counterpart/" target="_blank" rel="nofollow noopener">I Switched from Proxmox to Its FreeBSD Counterpart on My Home Server – Here is How it Went</a></p>

<hr>

<p><a href="https://www.freebsd.org/status/report-2026-01-2026-03/" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Report</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/our-work/journal/browser-based-edition/laptop-desktop/how-the-foundations-laptop-support-usability-project-came-together" target="_blank" rel="nofollow noopener">The FreeBSD Foundation's Laptop Support Project</a></p>

<hr>

<h2>News Roundup</h2>

<hr>

<p><a href="https://dan.langille.org/2026/04/19/migrating-zfs-filesystems-from-one-zpool-to-another-same-host/" target="_blank" rel="nofollow noopener">Migrating ZFS filesystems from one zpool to another – same host</a></p>

<hr>

<p><a href="https://hackaday.com/2026/04/15/haiku-isnt-just-for-x86-anymore-boots-on-arm-in-qemu/" target="_blank" rel="nofollow noopener">Haiku Isn’t Just For X86 Anymore, Boots On ARM In QEMU</a></p>

<hr>

<p><a href="https://github.com/openssl/openssl/releases/tag/openssl-4.0.0" target="_blank" rel="nofollow noopener">OpneSSL 4.0</a></p>

<hr>

<p><a href="https://ck-hack.blogspot.com/2010/10/other-schedulers-illumos.html" target="_blank" rel="nofollow noopener">Other schedulers? Illumos?</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>662: I need a hero</title>
  <link>https://www.bsdnow.tv/662</link>
  <guid isPermaLink="false">3fdb3332-94e4-46a8-a25e-271741e4262c</guid>
  <pubDate>Thu, 07 May 2026 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3fdb3332-94e4-46a8-a25e-271741e4262c.mp3" length="49733760" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Cybersecurity Looks Like Proof of Work Now, Compensating for RAM Constraints with L2ARC on ZFS, GhostBSD 26.1, and more...</itunes:subtitle>
  <itunes:duration>51:48</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>&lt;p&gt;Cybersecurity Looks Like Proof of Work Now, Compensating for RAM Constraints with L2ARC on ZFS, GhostBSD 26.1, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.dbreunig.com/2026/04/14/cybersecurity-is-proof-of-work-now.html" target="_blank" rel="nofollow noopener"&gt;Cybersecurity Looks Like Proof of Work Now&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/compensating-for-ram-constraints-with-l2arc-on-arc/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Compensating for RAM Constraints with L2ARC on ZFS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.opensourcefeed.org/ghostbsd-26-1-release/" target="_blank" rel="nofollow noopener"&gt;GhostBSD 26.1&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://interfacecraft.online/blog/2026/desktop-phone-connected-to-freebsd-server/" target="_blank" rel="nofollow noopener"&gt;I connected a phone to my FreeBSD server&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://pertho.net/2026/04/11/my-journey-to-the-bsds/" target="_blank" rel="nofollow noopener"&gt;My Journey to the BSDs&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://polymathmonkey.github.io/weblog/artifacts/openbsdmalloc/index.html" target="_blank" rel="nofollow noopener"&gt;The unseen hero of OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Beastie Bits&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.bsdcan.org/2026/timetable/timetable-all.html" target="_blank" rel="nofollow noopener"&gt;BSD Can Schedule up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openbsdfoundation.org/campaign2025.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Campaign 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openbsdfoundation.org/campaign2026.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Campaign 2026&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Cybersecurity Looks Like Proof of Work Now, Compensating for RAM Constraints with L2ARC on ZFS, GhostBSD 26.1, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.dbreunig.com/2026/04/14/cybersecurity-is-proof-of-work-now.html" target="_blank" rel="nofollow noopener">Cybersecurity Looks Like Proof of Work Now</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/compensating-for-ram-constraints-with-l2arc-on-arc/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Compensating for RAM Constraints with L2ARC on ZFS</a></p>

<hr>

<p><a href="https://www.opensourcefeed.org/ghostbsd-26-1-release/" target="_blank" rel="nofollow noopener">GhostBSD 26.1</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://interfacecraft.online/blog/2026/desktop-phone-connected-to-freebsd-server/" target="_blank" rel="nofollow noopener">I connected a phone to my FreeBSD server</a></p>

<hr>

<p><a href="https://pertho.net/2026/04/11/my-journey-to-the-bsds/" target="_blank" rel="nofollow noopener">My Journey to the BSDs</a></p>

<hr>

<p><a href="https://polymathmonkey.github.io/weblog/artifacts/openbsdmalloc/index.html" target="_blank" rel="nofollow noopener">The unseen hero of OpenBSD</a></p>

<hr>

<h3>Beastie Bits</h3>

<ul>
<li><a href="https://www.bsdcan.org/2026/timetable/timetable-all.html" target="_blank" rel="nofollow noopener">BSD Can Schedule up</a></li>
<li><a href="https://www.openbsdfoundation.org/campaign2025.html" target="_blank" rel="nofollow noopener">OpenBSD Campaign 2025</a></li>
<li><a href="https://www.openbsdfoundation.org/campaign2026.html" target="_blank" rel="nofollow noopener">OpenBSD Campaign 2026</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Cybersecurity Looks Like Proof of Work Now, Compensating for RAM Constraints with L2ARC on ZFS, GhostBSD 26.1, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.dbreunig.com/2026/04/14/cybersecurity-is-proof-of-work-now.html" target="_blank" rel="nofollow noopener">Cybersecurity Looks Like Proof of Work Now</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/compensating-for-ram-constraints-with-l2arc-on-arc/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Compensating for RAM Constraints with L2ARC on ZFS</a></p>

<hr>

<p><a href="https://www.opensourcefeed.org/ghostbsd-26-1-release/" target="_blank" rel="nofollow noopener">GhostBSD 26.1</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://interfacecraft.online/blog/2026/desktop-phone-connected-to-freebsd-server/" target="_blank" rel="nofollow noopener">I connected a phone to my FreeBSD server</a></p>

<hr>

<p><a href="https://pertho.net/2026/04/11/my-journey-to-the-bsds/" target="_blank" rel="nofollow noopener">My Journey to the BSDs</a></p>

<hr>

<p><a href="https://polymathmonkey.github.io/weblog/artifacts/openbsdmalloc/index.html" target="_blank" rel="nofollow noopener">The unseen hero of OpenBSD</a></p>

<hr>

<h3>Beastie Bits</h3>

<ul>
<li><a href="https://www.bsdcan.org/2026/timetable/timetable-all.html" target="_blank" rel="nofollow noopener">BSD Can Schedule up</a></li>
<li><a href="https://www.openbsdfoundation.org/campaign2025.html" target="_blank" rel="nofollow noopener">OpenBSD Campaign 2025</a></li>
<li><a href="https://www.openbsdfoundation.org/campaign2026.html" target="_blank" rel="nofollow noopener">OpenBSD Campaign 2026</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>661: Break up Big Tech</title>
  <link>https://www.bsdnow.tv/661</link>
  <guid isPermaLink="false">c9b8b333-bf10-4883-8f0f-b7e5e8db58c4</guid>
  <pubDate>Thu, 30 Apr 2026 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c9b8b333-bf10-4883-8f0f-b7e5e8db58c4.mp3" length="44553600" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Breaking up Big Tech, Porting MacOS to the Nintendo Wii, OpenBSD on the Pomera DM250, Postgres is your friend and more...</itunes:subtitle>
  <itunes:duration>46:24</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>&lt;p&gt;Breaking up Big Tech, Porting MacOS to the Nintendo Wii, OpenBSD on the Pomera DM250, Postgres is your friend and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://peoplevsbig.tech/break-up-big-tech-civil-society-declaration/" target="_blank" rel="nofollow noopener"&gt;Breaking up with Big Tech&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://bryankeller.github.io/2026/04/08/porting-mac-os-x-nintendo-wii.html" target="_blank" rel="nofollow noopener"&gt;Porting MacOS to the Nintendo Wii&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://jcs.org/2026/04/09/openbsd-dm250" target="_blank" rel="nofollow noopener"&gt;Installing OpenBSD on the Pomera DM250&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://hypha.pub/postgres-is-your-friend-orm-is-not" target="_blank" rel="nofollow noopener"&gt;Postgres is Your Friend. ORM is Not&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://nug.only9fans.com/penny/SunSPOTs/" target="_blank" rel="nofollow noopener"&gt;Java Sun SPOTs&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://unsung.aresluna.org/i-like-to-use-soviet-control-panels-as-a-starting-point/" target="_blank" rel="nofollow noopener"&gt;I like to use Soviet control panels as a starting point&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/DosFox1/OSHintosh" target="_blank" rel="nofollow noopener"&gt;OSHintosh - an open source 68000 Macintosh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/BSD/comments/1semzyp/time_to_update_211bsd_biggest_patch_ever_landed/" target="_blank" rel="nofollow noopener"&gt;Time to update 2.11BSD: biggest patch ever landed before 35th anniversary&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/" target="_blank" rel="nofollow noopener"&gt;A quick and easy Guide to Tmux&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;Producer Note, If you have emailed in and you havent heard back and we havent covered your message, email again. Our email is flooded with spam and I might have missed your message.&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Breaking up Big Tech, Porting MacOS to the Nintendo Wii, OpenBSD on the Pomera DM250, Postgres is your friend 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://peoplevsbig.tech/break-up-big-tech-civil-society-declaration/" target="_blank" rel="nofollow noopener">Breaking up with Big Tech</a></p>

<hr>

<p><a href="https://bryankeller.github.io/2026/04/08/porting-mac-os-x-nintendo-wii.html" target="_blank" rel="nofollow noopener">Porting MacOS to the Nintendo Wii</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://jcs.org/2026/04/09/openbsd-dm250" target="_blank" rel="nofollow noopener">Installing OpenBSD on the Pomera DM250</a></p>

<hr>

<p><a href="https://hypha.pub/postgres-is-your-friend-orm-is-not" target="_blank" rel="nofollow noopener">Postgres is Your Friend. ORM is Not</a></p>

<hr>

<p><a href="http://nug.only9fans.com/penny/SunSPOTs/" target="_blank" rel="nofollow noopener">Java Sun SPOTs</a></p>

<hr>

<p><a href="https://unsung.aresluna.org/i-like-to-use-soviet-control-panels-as-a-starting-point/" target="_blank" rel="nofollow noopener">I like to use Soviet control panels as a starting point</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/DosFox1/OSHintosh" target="_blank" rel="nofollow noopener">OSHintosh - an open source 68000 Macintosh</a></li>
<li><a href="https://www.reddit.com/r/BSD/comments/1semzyp/time_to_update_211bsd_biggest_patch_ever_landed/" target="_blank" rel="nofollow noopener">Time to update 2.11BSD: biggest patch ever landed before 35th anniversary</a></li>
<li><a href="https://hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/" target="_blank" rel="nofollow noopener">A quick and easy Guide to Tmux</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>

<h2>Feedback/Questions</h2>

<p>Producer Note, If you have emailed in and you havent heard back and we havent covered your message, email again. Our email is flooded with spam and I might have missed your message.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Breaking up Big Tech, Porting MacOS to the Nintendo Wii, OpenBSD on the Pomera DM250, Postgres is your friend 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://peoplevsbig.tech/break-up-big-tech-civil-society-declaration/" target="_blank" rel="nofollow noopener">Breaking up with Big Tech</a></p>

<hr>

<p><a href="https://bryankeller.github.io/2026/04/08/porting-mac-os-x-nintendo-wii.html" target="_blank" rel="nofollow noopener">Porting MacOS to the Nintendo Wii</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://jcs.org/2026/04/09/openbsd-dm250" target="_blank" rel="nofollow noopener">Installing OpenBSD on the Pomera DM250</a></p>

<hr>

<p><a href="https://hypha.pub/postgres-is-your-friend-orm-is-not" target="_blank" rel="nofollow noopener">Postgres is Your Friend. ORM is Not</a></p>

<hr>

<p><a href="http://nug.only9fans.com/penny/SunSPOTs/" target="_blank" rel="nofollow noopener">Java Sun SPOTs</a></p>

<hr>

<p><a href="https://unsung.aresluna.org/i-like-to-use-soviet-control-panels-as-a-starting-point/" target="_blank" rel="nofollow noopener">I like to use Soviet control panels as a starting point</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/DosFox1/OSHintosh" target="_blank" rel="nofollow noopener">OSHintosh - an open source 68000 Macintosh</a></li>
<li><a href="https://www.reddit.com/r/BSD/comments/1semzyp/time_to_update_211bsd_biggest_patch_ever_landed/" target="_blank" rel="nofollow noopener">Time to update 2.11BSD: biggest patch ever landed before 35th anniversary</a></li>
<li><a href="https://hamvocke.com/blog/a-quick-and-easy-guide-to-tmux/" target="_blank" rel="nofollow noopener">A quick and easy Guide to Tmux</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>

<h2>Feedback/Questions</h2>

<p>Producer Note, If you have emailed in and you havent heard back and we havent covered your message, email again. Our email is flooded with spam and I might have missed your message.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>660: I just work here</title>
  <link>https://www.bsdnow.tv/660</link>
  <guid isPermaLink="false">a79a6566-ea6f-46ff-bced-8c01af79aa7d</guid>
  <pubDate>Thu, 23 Apr 2026 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a79a6566-ea6f-46ff-bced-8c01af79aa7d.mp3" length="42180480" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Proxmox to FreeBSD, Hidden values of CPU-Intensive Compression, Cells for NetBSD, OpenBSD 7.8 on RPIs, and more...</itunes:subtitle>
  <itunes:duration>43:56</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>&lt;p&gt;Proxmox to FreeBSD, Hidden values of CPU-Intensive Compression, Cells for NetBSD, OpenBSD 7.8 on RPIs, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h2&gt;&lt;a href="https://iptechnics.com/blogs/from-proxmox-to-freebsd-and-sylve-in-our-office-lab" target="_blank" rel="nofollow noopener"&gt;From Proxmox to FreeBSD and Sylve in Our Office Lab&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/the-hidden-value-of-cpu-intensive-compression-on-modern-hardware/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;The Hidden Value of CPU-Intensive Compression on Modern Hardware&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://netbsd-cells.petermann-digital.de/" target="_blank" rel="nofollow noopener"&gt;Cells for NetBSD – Kernel Enforced Jail Like Isolation with User Friendly Operations&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://tumfatig.net/2026/openbsd-7.8-on-raspberry-pi-zero-2w/" target="_blank" rel="nofollow noopener"&gt;OpenBSD 7.8 on Raspberry Pi Zero 2W&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20260407084719" target="_blank" rel="nofollow noopener"&gt;OpenSSH 10.3/10.3p1 released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://journal.bsd.cafe/2026/03/31/im-just-the-barista/" target="_blank" rel="nofollow noopener"&gt;I'm just the Barista&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;h2&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes-/660/Tim%20-%20Are%20OCI%20Images%20useful%20for%20Freebsd.md" target="_blank" rel="nofollow noopener"&gt;Tim - Are OCI Images useful for Freebsd.md &lt;/a&gt;&lt;/h2&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Proxmox to FreeBSD, Hidden values of CPU-Intensive Compression, Cells for NetBSD, OpenBSD 7.8 on RPIs, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h2><a href="https://iptechnics.com/blogs/from-proxmox-to-freebsd-and-sylve-in-our-office-lab" target="_blank" rel="nofollow noopener">From Proxmox to FreeBSD and Sylve in Our Office Lab</a></h2>

<p><a href="https://klarasystems.com/articles/the-hidden-value-of-cpu-intensive-compression-on-modern-hardware/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">The Hidden Value of CPU-Intensive Compression on Modern Hardware</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://netbsd-cells.petermann-digital.de/" target="_blank" rel="nofollow noopener">Cells for NetBSD – Kernel Enforced Jail Like Isolation with User Friendly Operations</a></p>

<hr>

<p><a href="https://tumfatig.net/2026/openbsd-7.8-on-raspberry-pi-zero-2w/" target="_blank" rel="nofollow noopener">OpenBSD 7.8 on Raspberry Pi Zero 2W</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20260407084719" target="_blank" rel="nofollow noopener">OpenSSH 10.3/10.3p1 released</a></p>

<hr>

<p><a href="https://journal.bsd.cafe/2026/03/31/im-just-the-barista/" target="_blank" rel="nofollow noopener">I'm just the Barista</a></p>

<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>

<h2>Feedback/Questions</h2>

<h2><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes-/660/Tim%20-%20Are%20OCI%20Images%20useful%20for%20Freebsd.md" target="_blank" rel="nofollow noopener">Tim - Are OCI Images useful for Freebsd.md </a></h2>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Proxmox to FreeBSD, Hidden values of CPU-Intensive Compression, Cells for NetBSD, OpenBSD 7.8 on RPIs, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h2><a href="https://iptechnics.com/blogs/from-proxmox-to-freebsd-and-sylve-in-our-office-lab" target="_blank" rel="nofollow noopener">From Proxmox to FreeBSD and Sylve in Our Office Lab</a></h2>

<p><a href="https://klarasystems.com/articles/the-hidden-value-of-cpu-intensive-compression-on-modern-hardware/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">The Hidden Value of CPU-Intensive Compression on Modern Hardware</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://netbsd-cells.petermann-digital.de/" target="_blank" rel="nofollow noopener">Cells for NetBSD – Kernel Enforced Jail Like Isolation with User Friendly Operations</a></p>

<hr>

<p><a href="https://tumfatig.net/2026/openbsd-7.8-on-raspberry-pi-zero-2w/" target="_blank" rel="nofollow noopener">OpenBSD 7.8 on Raspberry Pi Zero 2W</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20260407084719" target="_blank" rel="nofollow noopener">OpenSSH 10.3/10.3p1 released</a></p>

<hr>

<p><a href="https://journal.bsd.cafe/2026/03/31/im-just-the-barista/" target="_blank" rel="nofollow noopener">I'm just the Barista</a></p>

<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>

<h2>Feedback/Questions</h2>

<h2><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes-/660/Tim%20-%20Are%20OCI%20Images%20useful%20for%20Freebsd.md" target="_blank" rel="nofollow noopener">Tim - Are OCI Images useful for Freebsd.md </a></h2>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>659: Full traffic send</title>
  <link>https://www.bsdnow.tv/659</link>
  <guid isPermaLink="false">6e047ed8-f93f-4854-adaa-8e3fd2119e11</guid>
  <pubDate>Thu, 16 Apr 2026 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6e047ed8-f93f-4854-adaa-8e3fd2119e11.mp3" length="65356800" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Wayland setting back Linux, Dr Callahan's semi retirement, holding onto your hardware, PF queues breaking the 4gbps barrier, and mroe...</itunes:subtitle>
  <itunes:duration>1:08:04</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>&lt;p&gt;Wayland setting back Linux, Dr Callahan's semi retirement, holding onto your hardware, PF queues breaking the 4gbps barrier, and mroe...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://omar.yt/posts/wayland-set-the-linux-desktop-back-by-10-years" target="_blank" rel="nofollow noopener"&gt;Wayland set the Linux Desktop back by 10 years&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://briancallahan.net/blog/20260322.html" target="_blank" rel="nofollow noopener"&gt;Semi-retirement, or, really, changing my relationship with the BSDs&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;[Hold on to Your Hardware](https://マリウス.com/hold-on-to-your-hardware/)&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20260319125859" target="_blank" rel="nofollow noopener"&gt;PF queues break the 4 Gbps barrier&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vulcanridr.mataroa.blog/blog/nobody-said-there-was-math-on-this-exam/" target="_blank" rel="nofollow noopener"&gt;Nobody said there was math on this exam!&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://pluralistic.net/2026/03/07/reader-mode/#personal-disenshittification" target="_blank" rel="nofollow noopener"&gt;The web is bearable with RSS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vivianvoss.net/blog/the-pipe" target="_blank" rel="nofollow noopener"&gt;The Pipe&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Wayland setting back Linux, Dr Callahan's semi retirement, holding onto your hardware, PF queues breaking the 4gbps barrier, and mroe...</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://omar.yt/posts/wayland-set-the-linux-desktop-back-by-10-years" target="_blank" rel="nofollow noopener">Wayland set the Linux Desktop back by 10 years</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20260322.html" target="_blank" rel="nofollow noopener">Semi-retirement, or, really, changing my relationship with the BSDs</a></p>

<hr>

<p>[Hold on to Your Hardware](https://マリウス.com/hold-on-to-your-hardware/)</p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20260319125859" target="_blank" rel="nofollow noopener">PF queues break the 4 Gbps barrier</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/nobody-said-there-was-math-on-this-exam/" target="_blank" rel="nofollow noopener">Nobody said there was math on this exam!</a></p>

<hr>

<p><a href="https://pluralistic.net/2026/03/07/reader-mode/#personal-disenshittification" target="_blank" rel="nofollow noopener">The web is bearable with RSS</a></p>

<hr>

<p><a href="https://vivianvoss.net/blog/the-pipe" target="_blank" rel="nofollow noopener">The Pipe</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Wayland setting back Linux, Dr Callahan's semi retirement, holding onto your hardware, PF queues breaking the 4gbps barrier, and mroe...</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://omar.yt/posts/wayland-set-the-linux-desktop-back-by-10-years" target="_blank" rel="nofollow noopener">Wayland set the Linux Desktop back by 10 years</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20260322.html" target="_blank" rel="nofollow noopener">Semi-retirement, or, really, changing my relationship with the BSDs</a></p>

<hr>

<p>[Hold on to Your Hardware](https://マリウス.com/hold-on-to-your-hardware/)</p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20260319125859" target="_blank" rel="nofollow noopener">PF queues break the 4 Gbps barrier</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/nobody-said-there-was-math-on-this-exam/" target="_blank" rel="nofollow noopener">Nobody said there was math on this exam!</a></p>

<hr>

<p><a href="https://pluralistic.net/2026/03/07/reader-mode/#personal-disenshittification" target="_blank" rel="nofollow noopener">The web is bearable with RSS</a></p>

<hr>

<p><a href="https://vivianvoss.net/blog/the-pipe" target="_blank" rel="nofollow noopener">The Pipe</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>658: It’s the vibe of it </title>
  <link>https://www.bsdnow.tv/658</link>
  <guid isPermaLink="false">6de65ecc-523c-42e5-b5f2-016ea5a40b12</guid>
  <pubDate>Thu, 09 Apr 2026 10:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6de65ecc-523c-42e5-b5f2-016ea5a40b12.mp3" length="57636480" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD and OpenZFS in the Quest for Technical Independence, Reviews make you 10x slower, OpenBSD on a Motorola 88000, Jailrun, and more.</itunes:subtitle>
  <itunes:duration>1:00:02</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>&lt;p&gt;FreeBSD and OpenZFS in the Quest for Technical Independence, Reviews make you 10x slower, OpenBSD on a Motorola 88000, Jailrun, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/freebsd-and-openzfs-in-quest-for-technical-independence/" target="_blank" rel="nofollow noopener"&gt;FreeBSD and OpenZFS in the Quest for Technical Independence: A Storage Architect’s View&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://apenwarr.ca/log/20260316" target="_blank" rel="nofollow noopener"&gt;Every layer of review makes you 10x slower&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20260325122415" target="_blank" rel="nofollow noopener"&gt;The story of OpenBSD on Motorola 88000 series processors&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://jail.run" target="_blank" rel="nofollow noopener"&gt;Jailrun&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt; + &lt;a href="https://github.com/hyphatech/jailrun" target="_blank" rel="nofollow noopener"&gt;jailrun github&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://stevengharms.com/posts/2026-03-04-freebsd-users-we-need-to-talk-about-claude-code/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Users: We Need to Talk About Claude Code&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://lwn.net/SubscriberLink/1064541/1a399d572a046fb9/" target="_blank" rel="nofollow noopener"&gt;Vibe-coded ext4 for OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD and OpenZFS in the Quest for Technical Independence, Reviews make you 10x slower, OpenBSD on a Motorola 88000, Jailrun, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/freebsd-and-openzfs-in-quest-for-technical-independence/" target="_blank" rel="nofollow noopener">FreeBSD and OpenZFS in the Quest for Technical Independence: A Storage Architect’s View</a></p>

<hr>

<p><a href="https://apenwarr.ca/log/20260316" target="_blank" rel="nofollow noopener">Every layer of review makes you 10x slower</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20260325122415" target="_blank" rel="nofollow noopener">The story of OpenBSD on Motorola 88000 series processors</a></p>

<hr>

<p><a href="https://jail.run" target="_blank" rel="nofollow noopener">Jailrun</a></p>

<h2> + <a href="https://github.com/hyphatech/jailrun" target="_blank" rel="nofollow noopener">jailrun github</a></h2>

<p><a href="https://stevengharms.com/posts/2026-03-04-freebsd-users-we-need-to-talk-about-claude-code/" target="_blank" rel="nofollow noopener">FreeBSD Users: We Need to Talk About Claude Code</a></p>

<hr>

<p><a href="https://lwn.net/SubscriberLink/1064541/1a399d572a046fb9/" target="_blank" rel="nofollow noopener">Vibe-coded ext4 for OpenBSD</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD and OpenZFS in the Quest for Technical Independence, Reviews make you 10x slower, OpenBSD on a Motorola 88000, Jailrun, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/freebsd-and-openzfs-in-quest-for-technical-independence/" target="_blank" rel="nofollow noopener">FreeBSD and OpenZFS in the Quest for Technical Independence: A Storage Architect’s View</a></p>

<hr>

<p><a href="https://apenwarr.ca/log/20260316" target="_blank" rel="nofollow noopener">Every layer of review makes you 10x slower</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20260325122415" target="_blank" rel="nofollow noopener">The story of OpenBSD on Motorola 88000 series processors</a></p>

<hr>

<p><a href="https://jail.run" target="_blank" rel="nofollow noopener">Jailrun</a></p>

<h2> + <a href="https://github.com/hyphatech/jailrun" target="_blank" rel="nofollow noopener">jailrun github</a></h2>

<p><a href="https://stevengharms.com/posts/2026-03-04-freebsd-users-we-need-to-talk-about-claude-code/" target="_blank" rel="nofollow noopener">FreeBSD Users: We Need to Talk About Claude Code</a></p>

<hr>

<p><a href="https://lwn.net/SubscriberLink/1064541/1a399d572a046fb9/" target="_blank" rel="nofollow noopener">Vibe-coded ext4 for OpenBSD</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>657: Hibernation is a long sleep</title>
  <link>https://www.bsdnow.tv/657</link>
  <guid isPermaLink="false">2b668944-7cc4-4ec3-bf02-8627fee2b279</guid>
  <pubDate>Thu, 02 Apr 2026 11:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2b668944-7cc4-4ec3-bf02-8627fee2b279.mp3" length="48914304" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The Real Cost of Technology Dependence, FreeBSD 15 Linuxator with CUDA, Bidirectional OPNsense/pfSense, Netbase, a SYN attack, and more...</itunes:subtitle>
  <itunes:duration>50:57</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>&lt;p&gt;The Real Cost of Technology Dependence, FreeBSD 15 Linuxator with CUDA, Bidirectional OPNsense/pfSense, Netbase, a SYN attack, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/the-real-cost-of-technology-dependence-building-independence-with-open-source-storage/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;The Real Cost of Technology Dependence: Building Independence with Open-Source Storage&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/isaponsoft/freebsd-ai-notes/blob/main/FreeBSD_jail_on_jail-en.md" target="_blank" rel="nofollow noopener"&gt;Building Hierarchical Jails (Podman x Native Jail) on FreeBSD 15&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/isaponsoft/freebsd-ai-notes/blob/main/CUAD_and_llama-server.md" target="_blank" rel="nofollow noopener"&gt;FreeBSD 15.0 Linuxulator with CUDA Setup&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/sheridans/pfopn-convert" target="_blank" rel="nofollow noopener"&gt;Bidirectional OPNsense/pfSense Firewall Configuration Migration/Conversion CLI&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://boston.conman.org/2026/01/28.2" target="_blank" rel="nofollow noopener"&gt;SYN attack&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://boston.conman.org/2026/01/29.1" target="_blank" rel="nofollow noopener"&gt;Syn attack follow up&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/littlefly365/Netbase" target="_blank" rel="nofollow noopener"&gt;Netbase is Port of NetBSD Utilities to Another UNIX Like Operating Systems&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20260311062921" target="_blank" rel="nofollow noopener"&gt;OpenBSD -current moves to 7.9-beta&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;- &lt;a href="https://undeadly.org/cgi?action=article;sid=20260312185620" target="_blank" rel="nofollow noopener"&gt;Delayed hibernation comes to OpenBSD/amd64 laptops&lt;/a&gt;&lt;/h2&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Real Cost of Technology Dependence, FreeBSD 15 Linuxator with CUDA, Bidirectional OPNsense/pfSense, Netbase, a SYN attack, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/the-real-cost-of-technology-dependence-building-independence-with-open-source-storage/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">The Real Cost of Technology Dependence: Building Independence with Open-Source Storage</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://github.com/isaponsoft/freebsd-ai-notes/blob/main/FreeBSD_jail_on_jail-en.md" target="_blank" rel="nofollow noopener">Building Hierarchical Jails (Podman x Native Jail) on FreeBSD 15</a></p>

<hr>

<p><a href="https://github.com/isaponsoft/freebsd-ai-notes/blob/main/CUAD_and_llama-server.md" target="_blank" rel="nofollow noopener">FreeBSD 15.0 Linuxulator with CUDA Setup</a></p>

<hr>

<p><a href="https://github.com/sheridans/pfopn-convert" target="_blank" rel="nofollow noopener">Bidirectional OPNsense/pfSense Firewall Configuration Migration/Conversion CLI</a></p>

<hr>

<p><a href="https://boston.conman.org/2026/01/28.2" target="_blank" rel="nofollow noopener">SYN attack</a></p>

<ul>
<li><a href="https://boston.conman.org/2026/01/29.1" target="_blank" rel="nofollow noopener">Syn attack follow up</a></li>
</ul>

<hr>

<p><a href="https://github.com/littlefly365/Netbase" target="_blank" rel="nofollow noopener">Netbase is Port of NetBSD Utilities to Another UNIX Like Operating Systems</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20260311062921" target="_blank" rel="nofollow noopener">OpenBSD -current moves to 7.9-beta</a></li>
</ul>

<h2>- <a href="https://undeadly.org/cgi?action=article;sid=20260312185620" target="_blank" rel="nofollow noopener">Delayed hibernation comes to OpenBSD/amd64 laptops</a></h2>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Real Cost of Technology Dependence, FreeBSD 15 Linuxator with CUDA, Bidirectional OPNsense/pfSense, Netbase, a SYN attack, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/the-real-cost-of-technology-dependence-building-independence-with-open-source-storage/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">The Real Cost of Technology Dependence: Building Independence with Open-Source Storage</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://github.com/isaponsoft/freebsd-ai-notes/blob/main/FreeBSD_jail_on_jail-en.md" target="_blank" rel="nofollow noopener">Building Hierarchical Jails (Podman x Native Jail) on FreeBSD 15</a></p>

<hr>

<p><a href="https://github.com/isaponsoft/freebsd-ai-notes/blob/main/CUAD_and_llama-server.md" target="_blank" rel="nofollow noopener">FreeBSD 15.0 Linuxulator with CUDA Setup</a></p>

<hr>

<p><a href="https://github.com/sheridans/pfopn-convert" target="_blank" rel="nofollow noopener">Bidirectional OPNsense/pfSense Firewall Configuration Migration/Conversion CLI</a></p>

<hr>

<p><a href="https://boston.conman.org/2026/01/28.2" target="_blank" rel="nofollow noopener">SYN attack</a></p>

<ul>
<li><a href="https://boston.conman.org/2026/01/29.1" target="_blank" rel="nofollow noopener">Syn attack follow up</a></li>
</ul>

<hr>

<p><a href="https://github.com/littlefly365/Netbase" target="_blank" rel="nofollow noopener">Netbase is Port of NetBSD Utilities to Another UNIX Like Operating Systems</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20260311062921" target="_blank" rel="nofollow noopener">OpenBSD -current moves to 7.9-beta</a></li>
</ul>

<h2>- <a href="https://undeadly.org/cgi?action=article;sid=20260312185620" target="_blank" rel="nofollow noopener">Delayed hibernation comes to OpenBSD/amd64 laptops</a></h2>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>656: Honey, I shrunk the PDP</title>
  <link>https://www.bsdnow.tv/656</link>
  <guid isPermaLink="false">39c35bbe-01b2-4d96-950c-efd863c1b3fe</guid>
  <pubDate>Thu, 26 Mar 2026 17:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/39c35bbe-01b2-4d96-950c-efd863c1b3fe.mp3" length="67911552" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Designing OpenZFS Storage for Independence, The day Telnet died, PiDP 11/70, OpenBSD on SGI and more...</itunes:subtitle>
  <itunes:duration>1:10:44</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>&lt;p&gt;Designing OpenZFS Storage for Independence, The day Telnet died, PiDP 11/70, OpenBSD on SGI and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/designing-openzfs-storage-for-independence/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Designing OpenZFS Storage for Independence: Pool Architecture, Failure Domains, and Migration Paths&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.labs.greynoise.io/grimoire/2026-02-10-telnet-falls-silent/" target="_blank" rel="nofollow noopener"&gt;2026-01-14: The Day the telnet Died&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.terracenetworks.com/blog/2026-02-11-telnet-routing" target="_blank" rel="nofollow noopener"&gt;Reports of Telnet’s Death Have Been Greatly Exaggerated&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://icm.museum/blog/?p=446" target="_blank" rel="nofollow noopener"&gt;PiDP-11/70 Build Workshop&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20260305143943" target="_blank" rel="nofollow noopener"&gt;OpenBSD on SGI: a rollercoaster story&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://gist.github.com/jake-stewart/0a8ea46159a7da2c808e5be2177e1783" target="_blank" rel="nofollow noopener"&gt;Terminals Should Generate 256 Color Palette&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vulcanridr.mataroa.blog/blog/freebsd-tribal-knowledge-changes-to-snapshot-strategy/" target="_blank" rel="nofollow noopener"&gt;FreeBSD tribal knowledge: Changes to snapshot strategy&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.bsdcan.org/2026/registration.html" target="_blank" rel="nofollow noopener"&gt;BSDCan reg is now open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dspinellis/oral-history-of-unix/" target="_blank" rel="nofollow noopener"&gt;An Oral History of Unix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20260310102936" target="_blank" rel="nofollow noopener"&gt;Major update to drm(4) code in OpenBSD-current (to linux 6.18.16)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://daemonology.net/blog/2026-01-20-Patched-FreeBSD-AMIs.html" target="_blank" rel="nofollow noopener"&gt;Patched FreeBSD AMIs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Designing OpenZFS Storage for Independence, The day Telnet died, PiDP 11/70, OpenBSD on SGI 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/designing-openzfs-storage-for-independence/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Designing OpenZFS Storage for Independence: Pool Architecture, Failure Domains, and Migration Paths</a></p>

<hr>

<p><a href="https://www.labs.greynoise.io/grimoire/2026-02-10-telnet-falls-silent/" target="_blank" rel="nofollow noopener">2026-01-14: The Day the telnet Died</a><br>
<a href="https://www.terracenetworks.com/blog/2026-02-11-telnet-routing" target="_blank" rel="nofollow noopener">Reports of Telnet’s Death Have Been Greatly Exaggerated</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://icm.museum/blog/?p=446" target="_blank" rel="nofollow noopener">PiDP-11/70 Build Workshop</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20260305143943" target="_blank" rel="nofollow noopener">OpenBSD on SGI: a rollercoaster story</a></p>

<hr>

<p><a href="https://gist.github.com/jake-stewart/0a8ea46159a7da2c808e5be2177e1783" target="_blank" rel="nofollow noopener">Terminals Should Generate 256 Color Palette</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/freebsd-tribal-knowledge-changes-to-snapshot-strategy/" target="_blank" rel="nofollow noopener">FreeBSD tribal knowledge: Changes to snapshot strategy</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.bsdcan.org/2026/registration.html" target="_blank" rel="nofollow noopener">BSDCan reg is now open</a></li>
<li><a href="https://github.com/dspinellis/oral-history-of-unix/" target="_blank" rel="nofollow noopener">An Oral History of Unix</a></li>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20260310102936" target="_blank" rel="nofollow noopener">Major update to drm(4) code in OpenBSD-current (to linux 6.18.16)</a></li>
<li><a href="https://daemonology.net/blog/2026-01-20-Patched-FreeBSD-AMIs.html" target="_blank" rel="nofollow noopener">Patched FreeBSD AMIs</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Designing OpenZFS Storage for Independence, The day Telnet died, PiDP 11/70, OpenBSD on SGI 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/designing-openzfs-storage-for-independence/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Designing OpenZFS Storage for Independence: Pool Architecture, Failure Domains, and Migration Paths</a></p>

<hr>

<p><a href="https://www.labs.greynoise.io/grimoire/2026-02-10-telnet-falls-silent/" target="_blank" rel="nofollow noopener">2026-01-14: The Day the telnet Died</a><br>
<a href="https://www.terracenetworks.com/blog/2026-02-11-telnet-routing" target="_blank" rel="nofollow noopener">Reports of Telnet’s Death Have Been Greatly Exaggerated</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://icm.museum/blog/?p=446" target="_blank" rel="nofollow noopener">PiDP-11/70 Build Workshop</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20260305143943" target="_blank" rel="nofollow noopener">OpenBSD on SGI: a rollercoaster story</a></p>

<hr>

<p><a href="https://gist.github.com/jake-stewart/0a8ea46159a7da2c808e5be2177e1783" target="_blank" rel="nofollow noopener">Terminals Should Generate 256 Color Palette</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/freebsd-tribal-knowledge-changes-to-snapshot-strategy/" target="_blank" rel="nofollow noopener">FreeBSD tribal knowledge: Changes to snapshot strategy</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.bsdcan.org/2026/registration.html" target="_blank" rel="nofollow noopener">BSDCan reg is now open</a></li>
<li><a href="https://github.com/dspinellis/oral-history-of-unix/" target="_blank" rel="nofollow noopener">An Oral History of Unix</a></li>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20260310102936" target="_blank" rel="nofollow noopener">Major update to drm(4) code in OpenBSD-current (to linux 6.18.16)</a></li>
<li><a href="https://daemonology.net/blog/2026-01-20-Patched-FreeBSD-AMIs.html" target="_blank" rel="nofollow noopener">Patched FreeBSD AMIs</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>653: Butter makes everything better</title>
  <link>https://www.bsdnow.tv/653</link>
  <guid isPermaLink="false">90056b71-1ac0-466c-8ef0-3ba544800a52</guid>
  <pubDate>Thu, 05 Mar 2026 16:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/90056b71-1ac0-466c-8ef0-3ba544800a52.mp3" length="53095680" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>ZFS vs BTRFS, RHEL on ZFS Root, Slackware on Encrypted ZFS root, OpenIndiana Package management, FreeBSD Jail metrics and more...</itunes:subtitle>
  <itunes:duration>55:18</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>&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/zfs-vs-btrfs-architects-features-and-stability-2/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;ZFS vs BTRFS Architects features and stability&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.hofstede.it/rhel-on-zfs-root-an-unholy-experiment/" target="_blank" rel="nofollow noopener"&gt;RHEL on ZFS Root: An Unholy Experiment&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;Slackware on Encrypted ZFS Root.&lt;br&gt;
&lt;a href="https://tumfatig.net/2026/slackware-on-encrypted-zfs-root/" target="_blank" rel="nofollow noopener"&gt;https://tumfatig.net/2026/slackware-on-encrypted-zfs-root/&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.phoronix.com/news/OpenIndiana-Next-Gen-IPS" target="_blank" rel="nofollow noopener"&gt;OpenIndiana Is Porting Solaris' IPS Package Management To Rust&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.cabroneria.com/bits/0010_freebsd_per_jail_memory_metrics/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Jail Memory Metrics&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://archive.ph/20260206010415/https://levelup.gitconnected.com/tcl-the-most-underrated-but-the-most-productive-programming-language-1f83c99eaab7" target="_blank" rel="nofollow noopener"&gt;Tcl: The Most Underrated, But The Most Productive Programming Language&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://thelonestack.com/openbsd-wireguard-vpn-setup/" target="_blank" rel="nofollow noopener"&gt;How to Setup WireGuard on OpenBSD: The Ultimate Self-Hosted VPN Guide (2026)&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p><strong><em>NOTES</em></strong></p>

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

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/zfs-vs-btrfs-architects-features-and-stability-2/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZFS vs BTRFS Architects features and stability</a></p>

<hr>

<p><a href="https://blog.hofstede.it/rhel-on-zfs-root-an-unholy-experiment/" target="_blank" rel="nofollow noopener">RHEL on ZFS Root: An Unholy Experiment</a></p>

<hr>

<h2>News Roundup</h2>

<p>Slackware on Encrypted ZFS Root.<br>
<a href="https://tumfatig.net/2026/slackware-on-encrypted-zfs-root/" target="_blank" rel="nofollow noopener">https://tumfatig.net/2026/slackware-on-encrypted-zfs-root/</a></p>

<hr>

<p><a href="https://www.phoronix.com/news/OpenIndiana-Next-Gen-IPS" target="_blank" rel="nofollow noopener">OpenIndiana Is Porting Solaris' IPS Package Management To Rust</a></p>

<hr>

<p><a href="https://blog.cabroneria.com/bits/0010_freebsd_per_jail_memory_metrics/" target="_blank" rel="nofollow noopener">FreeBSD Jail Memory Metrics</a></p>

<hr>

<p><a href="https://archive.ph/20260206010415/https://levelup.gitconnected.com/tcl-the-most-underrated-but-the-most-productive-programming-language-1f83c99eaab7" target="_blank" rel="nofollow noopener">Tcl: The Most Underrated, But The Most Productive Programming Language</a></p>

<hr>

<p><a href="https://thelonestack.com/openbsd-wireguard-vpn-setup/" target="_blank" rel="nofollow noopener">How to Setup WireGuard on OpenBSD: The Ultimate Self-Hosted VPN Guide (2026)</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p><strong><em>NOTES</em></strong></p>

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

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/zfs-vs-btrfs-architects-features-and-stability-2/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZFS vs BTRFS Architects features and stability</a></p>

<hr>

<p><a href="https://blog.hofstede.it/rhel-on-zfs-root-an-unholy-experiment/" target="_blank" rel="nofollow noopener">RHEL on ZFS Root: An Unholy Experiment</a></p>

<hr>

<h2>News Roundup</h2>

<p>Slackware on Encrypted ZFS Root.<br>
<a href="https://tumfatig.net/2026/slackware-on-encrypted-zfs-root/" target="_blank" rel="nofollow noopener">https://tumfatig.net/2026/slackware-on-encrypted-zfs-root/</a></p>

<hr>

<p><a href="https://www.phoronix.com/news/OpenIndiana-Next-Gen-IPS" target="_blank" rel="nofollow noopener">OpenIndiana Is Porting Solaris' IPS Package Management To Rust</a></p>

<hr>

<p><a href="https://blog.cabroneria.com/bits/0010_freebsd_per_jail_memory_metrics/" target="_blank" rel="nofollow noopener">FreeBSD Jail Memory Metrics</a></p>

<hr>

<p><a href="https://archive.ph/20260206010415/https://levelup.gitconnected.com/tcl-the-most-underrated-but-the-most-productive-programming-language-1f83c99eaab7" target="_blank" rel="nofollow noopener">Tcl: The Most Underrated, But The Most Productive Programming Language</a></p>

<hr>

<p><a href="https://thelonestack.com/openbsd-wireguard-vpn-setup/" target="_blank" rel="nofollow noopener">How to Setup WireGuard on OpenBSD: The Ultimate Self-Hosted VPN Guide (2026)</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>652: Ghostly Graphics</title>
  <link>https://www.bsdnow.tv/652</link>
  <guid isPermaLink="false">47fafae1-73b4-4e3f-8850-42a5e4c5bc54</guid>
  <pubDate>Thu, 26 Feb 2026 10:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/47fafae1-73b4-4e3f-8850-42a5e4c5bc54.mp3" length="67434240" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenZFS monitoring, hellosystems 0.8, GhostBSD and XLibre, Bhyve Exporters and 30 year old LibC issues.</itunes:subtitle>
  <itunes:duration>1:10:14</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>&lt;p&gt;OpenZFS monitoring, hellosystems 0.8, GhostBSD and XLibre, Bhyve Exporters and 30 year old LibC issues.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/openzfs-monitoring-and-observability-what-to-track-and-why-it-matters/" target="_blank" rel="nofollow noopener"&gt;OpenZFS Monitoring and Observability: What to Track and Why It Matters&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;helloSystem 0.8 Released FreeBSD Based OS Inspired by macOS.&lt;br&gt;
&lt;a href="https://itsfoss.gitlab.io/post/hellosystem-08-released-freebsd-based-os-inspired-by-macos/" target="_blank" rel="nofollow noopener"&gt;https://itsfoss.gitlab.io/post/hellosystem-08-released-freebsd-based-os-inspired-by-macos/&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;[Default GhostBSD to XLibre](&lt;a href="https://github.com/ghostbsd/ghostbsd-build/pull/259" target="_blank" rel="nofollow noopener"&gt;https://github.com/ghostbsd/ghostbsd-build/pull/259&lt;/a&gt;]&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ericbsd.com/addressing-xlibre-change-and-ghostbsd-future.html" target="_blank" rel="nofollow noopener"&gt;Addressing XLibre Change and GhostBSD Future&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://gyptazy.com/blog/bhyve-sylve-freebsd-prometheus-metric-exporter/" target="_blank" rel="nofollow noopener"&gt;Bhyve Prometheus Exporter for Sylve on FreeBSD.&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://phoronix.com/news/Glibc-Security-Fix-For-1996-Bug" target="_blank" rel="nofollow noopener"&gt;Linux GNU C Library Fixes Security Issue Present Since 1996&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/netbsd_11_0_rc1_available" target="_blank" rel="nofollow noopener"&gt;NetBSD 11.0 RC1 available!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nostarch.com/book-of-pf-4th-edition" target="_blank" rel="nofollow noopener"&gt;The Book of PF, 4th Edition is now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ghostbsd.org/news/December_2025_Finance_Report" target="_blank" rel="nofollow noopener"&gt;December 2025 Finance Report&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/archives/freebsd-hackers/2026-February/005757.html" target="_blank" rel="nofollow noopener"&gt;LLDB improvements on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/webzfs/webzfs/issues/44" target="_blank" rel="nofollow noopener"&gt;Any desire for OnmiOS/Illumos Support : Now's your chance to convince me&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenZFS monitoring, hellosystems 0.8, GhostBSD and XLibre, Bhyve Exporters and 30 year old LibC issues.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/openzfs-monitoring-and-observability-what-to-track-and-why-it-matters/" target="_blank" rel="nofollow noopener">OpenZFS Monitoring and Observability: What to Track and Why It Matters</a></p>

<hr>

<p>helloSystem 0.8 Released FreeBSD Based OS Inspired by macOS.<br>
<a href="https://itsfoss.gitlab.io/post/hellosystem-08-released-freebsd-based-os-inspired-by-macos/" target="_blank" rel="nofollow noopener">https://itsfoss.gitlab.io/post/hellosystem-08-released-freebsd-based-os-inspired-by-macos/</a></p>

<hr>

<h2>News Roundup</h2>

<p>[Default GhostBSD to XLibre](<a href="https://github.com/ghostbsd/ghostbsd-build/pull/259" target="_blank" rel="nofollow noopener">https://github.com/ghostbsd/ghostbsd-build/pull/259</a>]</p>

<ul>
<li><a href="https://ericbsd.com/addressing-xlibre-change-and-ghostbsd-future.html" target="_blank" rel="nofollow noopener">Addressing XLibre Change and GhostBSD Future</a></li>
</ul>

<hr>

<p><a href="https://gyptazy.com/blog/bhyve-sylve-freebsd-prometheus-metric-exporter/" target="_blank" rel="nofollow noopener">Bhyve Prometheus Exporter for Sylve on FreeBSD.</a></p>

<hr>

<p><a href="https://phoronix.com/news/Glibc-Security-Fix-For-1996-Bug" target="_blank" rel="nofollow noopener">Linux GNU C Library Fixes Security Issue Present Since 1996</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/netbsd_11_0_rc1_available" target="_blank" rel="nofollow noopener">NetBSD 11.0 RC1 available!</a></li>
<li><a href="https://nostarch.com/book-of-pf-4th-edition" target="_blank" rel="nofollow noopener">The Book of PF, 4th Edition is now available</a></li>
<li><a href="https://www.ghostbsd.org/news/December_2025_Finance_Report" target="_blank" rel="nofollow noopener">December 2025 Finance Report</a></li>
<li><a href="https://lists.freebsd.org/archives/freebsd-hackers/2026-February/005757.html" target="_blank" rel="nofollow noopener">LLDB improvements on FreeBSD</a></li>
<li><a href="https://github.com/webzfs/webzfs/issues/44" target="_blank" rel="nofollow noopener">Any desire for OnmiOS/Illumos Support : Now's your chance to convince me</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenZFS monitoring, hellosystems 0.8, GhostBSD and XLibre, Bhyve Exporters and 30 year old LibC issues.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/openzfs-monitoring-and-observability-what-to-track-and-why-it-matters/" target="_blank" rel="nofollow noopener">OpenZFS Monitoring and Observability: What to Track and Why It Matters</a></p>

<hr>

<p>helloSystem 0.8 Released FreeBSD Based OS Inspired by macOS.<br>
<a href="https://itsfoss.gitlab.io/post/hellosystem-08-released-freebsd-based-os-inspired-by-macos/" target="_blank" rel="nofollow noopener">https://itsfoss.gitlab.io/post/hellosystem-08-released-freebsd-based-os-inspired-by-macos/</a></p>

<hr>

<h2>News Roundup</h2>

<p>[Default GhostBSD to XLibre](<a href="https://github.com/ghostbsd/ghostbsd-build/pull/259" target="_blank" rel="nofollow noopener">https://github.com/ghostbsd/ghostbsd-build/pull/259</a>]</p>

<ul>
<li><a href="https://ericbsd.com/addressing-xlibre-change-and-ghostbsd-future.html" target="_blank" rel="nofollow noopener">Addressing XLibre Change and GhostBSD Future</a></li>
</ul>

<hr>

<p><a href="https://gyptazy.com/blog/bhyve-sylve-freebsd-prometheus-metric-exporter/" target="_blank" rel="nofollow noopener">Bhyve Prometheus Exporter for Sylve on FreeBSD.</a></p>

<hr>

<p><a href="https://phoronix.com/news/Glibc-Security-Fix-For-1996-Bug" target="_blank" rel="nofollow noopener">Linux GNU C Library Fixes Security Issue Present Since 1996</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/netbsd_11_0_rc1_available" target="_blank" rel="nofollow noopener">NetBSD 11.0 RC1 available!</a></li>
<li><a href="https://nostarch.com/book-of-pf-4th-edition" target="_blank" rel="nofollow noopener">The Book of PF, 4th Edition is now available</a></li>
<li><a href="https://www.ghostbsd.org/news/December_2025_Finance_Report" target="_blank" rel="nofollow noopener">December 2025 Finance Report</a></li>
<li><a href="https://lists.freebsd.org/archives/freebsd-hackers/2026-February/005757.html" target="_blank" rel="nofollow noopener">LLDB improvements on FreeBSD</a></li>
<li><a href="https://github.com/webzfs/webzfs/issues/44" target="_blank" rel="nofollow noopener">Any desire for OnmiOS/Illumos Support : Now's your chance to convince me</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>651: Spatially aware ZFS</title>
  <link>https://www.bsdnow.tv/651</link>
  <guid isPermaLink="false">5819475f-0649-418c-b156-ff5b8b7dcd30</guid>
  <pubDate>Thu, 19 Feb 2026 11:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5819475f-0649-418c-b156-ff5b8b7dcd30.mp3" length="54830208" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>GeoIP PF FreeBSD, ZFs in production, linuxulator feels like magic, XFCE is great, the scariest boot code, and more...</itunes:subtitle>
  <itunes:duration>57:06</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>&lt;p&gt;GeoIP PF FreeBSD, ZFs in production, linuxulator feels like magic, XFCE is great, the scariest boot code, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://blog.hofstede.it/geoip-aware-firewalling-with-pf-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;GeoIP-Aware Firewalling with PF on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/zfs-in-production-real-world-deployment-patterns-and-pitfalls/" target="_blank" rel="nofollow noopener"&gt;ZFS in Production: Real-World Deployment Patterns and Pitfalls&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://rubenerd.com/xfce-is-great/" target="_blank" rel="nofollow noopener"&gt;Xfce is great&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://hayzam.com/blog/02-linuxulator-is-awesome/" target="_blank" rel="nofollow noopener"&gt;Linuxulator on FreeBSD Feels Like Magic&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://miod.online.fr/software/openbsd/stories/boot_hppa.html" target="_blank" rel="nofollow noopener"&gt;The scariest boot loader code&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20260115203619" target="_blank" rel="nofollow noopener"&gt;OpenBSD-current now runs as guest under Apple Hypervisor&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/651/feedback/matt%20-%20audio%20levels.md" target="_blank" rel="nofollow noopener"&gt;Matt - Audio Levels&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Interviews can be troublesome because there's only so much we can do with multiple guests with multiple feeds, and mulitple audio conditions. We can try to normalize but sometimes it's just not easy to do without editing taking an entire day..&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>GeoIP PF FreeBSD, ZFs in production, linuxulator feels like magic, XFCE is great, the scariest boot code, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://blog.hofstede.it/geoip-aware-firewalling-with-pf-on-freebsd/" target="_blank" rel="nofollow noopener">GeoIP-Aware Firewalling with PF on FreeBSD</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zfs-in-production-real-world-deployment-patterns-and-pitfalls/" target="_blank" rel="nofollow noopener">ZFS in Production: Real-World Deployment Patterns and Pitfalls</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://rubenerd.com/xfce-is-great/" target="_blank" rel="nofollow noopener">Xfce is great</a></p>

<hr>

<p><a href="https://hayzam.com/blog/02-linuxulator-is-awesome/" target="_blank" rel="nofollow noopener">Linuxulator on FreeBSD Feels Like Magic</a></p>

<hr>

<p><a href="http://miod.online.fr/software/openbsd/stories/boot_hppa.html" target="_blank" rel="nofollow noopener">The scariest boot loader code</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20260115203619" target="_blank" rel="nofollow noopener">OpenBSD-current now runs as guest under Apple Hypervisor</a></p>

<hr>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/651/feedback/matt%20-%20audio%20levels.md" target="_blank" rel="nofollow noopener">Matt - Audio Levels</a></li>
</ul>

<p>Interviews can be troublesome because there's only so much we can do with multiple guests with multiple feeds, and mulitple audio conditions. We can try to normalize but sometimes it's just not easy to do without editing taking an entire day..</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>GeoIP PF FreeBSD, ZFs in production, linuxulator feels like magic, XFCE is great, the scariest boot code, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://blog.hofstede.it/geoip-aware-firewalling-with-pf-on-freebsd/" target="_blank" rel="nofollow noopener">GeoIP-Aware Firewalling with PF on FreeBSD</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zfs-in-production-real-world-deployment-patterns-and-pitfalls/" target="_blank" rel="nofollow noopener">ZFS in Production: Real-World Deployment Patterns and Pitfalls</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://rubenerd.com/xfce-is-great/" target="_blank" rel="nofollow noopener">Xfce is great</a></p>

<hr>

<p><a href="https://hayzam.com/blog/02-linuxulator-is-awesome/" target="_blank" rel="nofollow noopener">Linuxulator on FreeBSD Feels Like Magic</a></p>

<hr>

<p><a href="http://miod.online.fr/software/openbsd/stories/boot_hppa.html" target="_blank" rel="nofollow noopener">The scariest boot loader code</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20260115203619" target="_blank" rel="nofollow noopener">OpenBSD-current now runs as guest under Apple Hypervisor</a></p>

<hr>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/651/feedback/matt%20-%20audio%20levels.md" target="_blank" rel="nofollow noopener">Matt - Audio Levels</a></li>
</ul>

<p>Interviews can be troublesome because there's only so much we can do with multiple guests with multiple feeds, and mulitple audio conditions. We can try to normalize but sometimes it's just not easy to do without editing taking an entire day..</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>650: Korn Chips</title>
  <link>https://www.bsdnow.tv/650</link>
  <guid isPermaLink="false">3d3d5283-58d7-4436-a66b-f588ab51eb8c</guid>
  <pubDate>Thu, 12 Feb 2026 09:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3d3d5283-58d7-4436-a66b-f588ab51eb8c.mp3" length="55057536" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>AT&amp;T's $2000 shell, ZFS Scrubs and Data Integrity, FFS Backups, FreeBSD Home Nas, and more.</itunes:subtitle>
  <itunes:duration>57:21</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>&lt;p&gt;AT&amp;amp;T's $2000 shell, ZFS Scrubs and Data Integrity, FFS Backups, FreeBSD Home Nas, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://blog.gabornyeki.com/2025-12-usenet/" target="_blank" rel="nofollow noopener"&gt;One too many words on AT&amp;amp;T's $2,000 Korn shell and other Usenet topics&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/understanding-zfs-scrubs-and-data-integrity/" target="_blank" rel="nofollow noopener"&gt;Understanding ZFS Scrubs and Data Integrity&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://eradman.com/posts/ffs-backup.html" target="_blank" rel="nofollow noopener"&gt;FFS Backup&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://rtfm.co.ua/en/freebsd-home-nas-part-1-configuring-zfs-mirror-raid1/" target="_blank" rel="nofollow noopener"&gt;FreeBSD: Home NAS, part 1 – configuring ZFS mirror (RAID1)&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;8 more parts!&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://archive.org/details/proposal-to-provide-vax-unix-system-support-at-berkeley" target="_blank" rel="nofollow noopener"&gt;The BSD Proposal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://unixmagic.net" target="_blank" rel="nofollow noopener"&gt;UNIX Magic Poster&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.phoronix.com/news/Haiku-December-2025" target="_blank" rel="nofollow noopener"&gt;Haiku OS Pulls In Updated Drivers From FreeBSD 15&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/pkgdemon/pkgdemon.github.io/wiki/FreeBSD-15.0-VNET-Jails" target="_blank" rel="nofollow noopener"&gt;FreeBSD 15.0 VNET Jails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/webzfs/webzfs/issues/8" target="_blank" rel="nofollow noopener"&gt;Call for NetBSD testing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/650/feedback/gary%20-%20links.md" target="_blank" rel="nofollow noopener"&gt;Gary - Links&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>AT&amp;T's $2000 shell, ZFS Scrubs and Data Integrity, FFS Backups, FreeBSD Home Nas, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://blog.gabornyeki.com/2025-12-usenet/" target="_blank" rel="nofollow noopener">One too many words on AT&amp;T's $2,000 Korn shell and other Usenet topics</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/understanding-zfs-scrubs-and-data-integrity/" target="_blank" rel="nofollow noopener">Understanding ZFS Scrubs and Data Integrity</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://eradman.com/posts/ffs-backup.html" target="_blank" rel="nofollow noopener">FFS Backup</a></p>

<hr>

<p><a href="https://rtfm.co.ua/en/freebsd-home-nas-part-1-configuring-zfs-mirror-raid1/" target="_blank" rel="nofollow noopener">FreeBSD: Home NAS, part 1 – configuring ZFS mirror (RAID1)</a></p>

<ul>
<li>8 more parts!</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://archive.org/details/proposal-to-provide-vax-unix-system-support-at-berkeley" target="_blank" rel="nofollow noopener">The BSD Proposal</a></li>
<li><a href="https://unixmagic.net" target="_blank" rel="nofollow noopener">UNIX Magic Poster</a></li>
<li><a href="https://www.phoronix.com/news/Haiku-December-2025" target="_blank" rel="nofollow noopener">Haiku OS Pulls In Updated Drivers From FreeBSD 15</a></li>
<li><a href="https://github.com/pkgdemon/pkgdemon.github.io/wiki/FreeBSD-15.0-VNET-Jails" target="_blank" rel="nofollow noopener">FreeBSD 15.0 VNET Jails</a></li>
<li><a href="https://github.com/webzfs/webzfs/issues/8" target="_blank" rel="nofollow noopener">Call for NetBSD testing</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/650/feedback/gary%20-%20links.md" target="_blank" rel="nofollow noopener">Gary - Links</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>AT&amp;T's $2000 shell, ZFS Scrubs and Data Integrity, FFS Backups, FreeBSD Home Nas, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://blog.gabornyeki.com/2025-12-usenet/" target="_blank" rel="nofollow noopener">One too many words on AT&amp;T's $2,000 Korn shell and other Usenet topics</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/understanding-zfs-scrubs-and-data-integrity/" target="_blank" rel="nofollow noopener">Understanding ZFS Scrubs and Data Integrity</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://eradman.com/posts/ffs-backup.html" target="_blank" rel="nofollow noopener">FFS Backup</a></p>

<hr>

<p><a href="https://rtfm.co.ua/en/freebsd-home-nas-part-1-configuring-zfs-mirror-raid1/" target="_blank" rel="nofollow noopener">FreeBSD: Home NAS, part 1 – configuring ZFS mirror (RAID1)</a></p>

<ul>
<li>8 more parts!</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://archive.org/details/proposal-to-provide-vax-unix-system-support-at-berkeley" target="_blank" rel="nofollow noopener">The BSD Proposal</a></li>
<li><a href="https://unixmagic.net" target="_blank" rel="nofollow noopener">UNIX Magic Poster</a></li>
<li><a href="https://www.phoronix.com/news/Haiku-December-2025" target="_blank" rel="nofollow noopener">Haiku OS Pulls In Updated Drivers From FreeBSD 15</a></li>
<li><a href="https://github.com/pkgdemon/pkgdemon.github.io/wiki/FreeBSD-15.0-VNET-Jails" target="_blank" rel="nofollow noopener">FreeBSD 15.0 VNET Jails</a></li>
<li><a href="https://github.com/webzfs/webzfs/issues/8" target="_blank" rel="nofollow noopener">Call for NetBSD testing</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/650/feedback/gary%20-%20links.md" target="_blank" rel="nofollow noopener">Gary - Links</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>649: The Desk Review</title>
  <link>https://www.bsdnow.tv/649</link>
  <guid isPermaLink="false">9c1b25e9-8dd1-4db3-bbab-cd7bdd1139a1</guid>
  <pubDate>Thu, 05 Feb 2026 10:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9c1b25e9-8dd1-4db3-bbab-cd7bdd1139a1.mp3" length="68752896" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>ZFS Scrubs and Data integrity, Propolice, FreeBSD vs Slackware and more.</itunes:subtitle>
  <itunes:duration>1:11:37</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>&lt;p&gt;ZFS Scrubs and Data integrity, Propolice, FreeBSD vs Slackware and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/understanding-zfs-scrubs-and-data-integrity/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Understanding ZFS Scrubs and Data Integrity&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://miod.online.fr/software/openbsd/stories/propolice.html" target="_blank" rel="nofollow noopener"&gt;The story of Propolice&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Desk reviews&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;describe&lt;/li&gt;
&lt;li&gt;comment&lt;/li&gt;
&lt;li&gt;ask questions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No reponses, no justications.&lt;/p&gt;

&lt;p&gt;[Tj's Desk](media/bsdnow649-tjs-desk.jpg)&lt;br&gt;
[Ruben's Desk](media/bsdnow649-rubens-desk.jpg)&lt;/p&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.zdnet.com/article/freebsd-vs-slackware/" target="_blank" rel="nofollow noopener"&gt;FreeBSD vs. Slackware: Which super stable OS is right for you?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/PrometheusLetsEncryptTLSChecking" target="_blank" rel="nofollow noopener"&gt;Prometheus, Let's Encrypt, and making sure all our TLS certificates are monitored&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://rubenerd.com/a-repairable-thinkpad/" target="_blank" rel="nofollow noopener"&gt;Wait, a repairable ThinkPad!?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>ZFS Scrubs and Data integrity, Propolice, FreeBSD vs Slackware 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/understanding-zfs-scrubs-and-data-integrity/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Understanding ZFS Scrubs and Data Integrity</a></p>

<hr>

<p><a href="http://miod.online.fr/software/openbsd/stories/propolice.html" target="_blank" rel="nofollow noopener">The story of Propolice</a></p>

<hr>

<h2>Desk reviews</h2>

<ul>
<li>describe</li>
<li>comment</li>
<li>ask questions</li>
</ul>

<p>No reponses, no justications.</p>

<p>[Tj's Desk](media/bsdnow649-tjs-desk.jpg)<br>
[Ruben's Desk](media/bsdnow649-rubens-desk.jpg)</p>

<h2>News Roundup</h2>

<p><a href="https://www.zdnet.com/article/freebsd-vs-slackware/" target="_blank" rel="nofollow noopener">FreeBSD vs. Slackware: Which super stable OS is right for you?</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/PrometheusLetsEncryptTLSChecking" target="_blank" rel="nofollow noopener">Prometheus, Let's Encrypt, and making sure all our TLS certificates are monitored</a></p>

<hr>

<p><a href="https://rubenerd.com/a-repairable-thinkpad/" target="_blank" rel="nofollow noopener">Wait, a repairable ThinkPad!?</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>ZFS Scrubs and Data integrity, Propolice, FreeBSD vs Slackware 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/understanding-zfs-scrubs-and-data-integrity/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Understanding ZFS Scrubs and Data Integrity</a></p>

<hr>

<p><a href="http://miod.online.fr/software/openbsd/stories/propolice.html" target="_blank" rel="nofollow noopener">The story of Propolice</a></p>

<hr>

<h2>Desk reviews</h2>

<ul>
<li>describe</li>
<li>comment</li>
<li>ask questions</li>
</ul>

<p>No reponses, no justications.</p>

<p>[Tj's Desk](media/bsdnow649-tjs-desk.jpg)<br>
[Ruben's Desk](media/bsdnow649-rubens-desk.jpg)</p>

<h2>News Roundup</h2>

<p><a href="https://www.zdnet.com/article/freebsd-vs-slackware/" target="_blank" rel="nofollow noopener">FreeBSD vs. Slackware: Which super stable OS is right for you?</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/PrometheusLetsEncryptTLSChecking" target="_blank" rel="nofollow noopener">Prometheus, Let's Encrypt, and making sure all our TLS certificates are monitored</a></p>

<hr>

<p><a href="https://rubenerd.com/a-repairable-thinkpad/" target="_blank" rel="nofollow noopener">Wait, a repairable ThinkPad!?</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>648: Greytrapping for years</title>
  <link>https://www.bsdnow.tv/648</link>
  <guid isPermaLink="false">5cbb335b-fdbd-4367-82df-7cef085847a3</guid>
  <pubDate>Thu, 29 Jan 2026 09:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5cbb335b-fdbd-4367-82df-7cef085847a3.mp3" length="62057088" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD's Future, 18 years of greytrapping, PF vs Linux firewalls, and more.</itunes:subtitle>
  <itunes:duration>1:04:38</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>&lt;p&gt;FreeBSD's Future, 18 years of greytrapping, PF vs Linux firewalls, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/powering-the-future-of-freebsd/" target="_blank" rel="nofollow noopener"&gt;Powering the Future of FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://nxdomain.no/%7Epeter/eighteen_years_of_greytrapping.html" target="_blank" rel="nofollow noopener"&gt;Eighteen Years of Greytrapping - Is the Weirdness Finally Paying Off?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;BSDCan Organisating committee Interview&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://anniemueller.com/posts/how-i-a-non-developer-read-the-tutorial-you-a-developer-wrote-for-me-a-beginner" target="_blank" rel="nofollow noopener"&gt;How I, a non-developer, read the tutorial you, a developer, wrote for me, a beginner&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/PFvsNftablesForUs" target="_blank" rel="nofollow noopener"&gt;BSD PF versus Linux nftables for firewalls for us&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD's Future, 18 years of greytrapping, PF vs Linux firewalls, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/powering-the-future-of-freebsd/" target="_blank" rel="nofollow noopener">Powering the Future of FreeBSD</a></p>

<hr>

<p><a href="https://nxdomain.no/%7Epeter/eighteen_years_of_greytrapping.html" target="_blank" rel="nofollow noopener">Eighteen Years of Greytrapping - Is the Weirdness Finally Paying Off?</a></p>

<hr>

<p>BSDCan Organisating committee Interview</p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://anniemueller.com/posts/how-i-a-non-developer-read-the-tutorial-you-a-developer-wrote-for-me-a-beginner" target="_blank" rel="nofollow noopener">How I, a non-developer, read the tutorial you, a developer, wrote for me, a beginner</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/PFvsNftablesForUs" target="_blank" rel="nofollow noopener">BSD PF versus Linux nftables for firewalls for us</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD's Future, 18 years of greytrapping, PF vs Linux firewalls, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/powering-the-future-of-freebsd/" target="_blank" rel="nofollow noopener">Powering the Future of FreeBSD</a></p>

<hr>

<p><a href="https://nxdomain.no/%7Epeter/eighteen_years_of_greytrapping.html" target="_blank" rel="nofollow noopener">Eighteen Years of Greytrapping - Is the Weirdness Finally Paying Off?</a></p>

<hr>

<p>BSDCan Organisating committee Interview</p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://anniemueller.com/posts/how-i-a-non-developer-read-the-tutorial-you-a-developer-wrote-for-me-a-beginner" target="_blank" rel="nofollow noopener">How I, a non-developer, read the tutorial you, a developer, wrote for me, a beginner</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/PFvsNftablesForUs" target="_blank" rel="nofollow noopener">BSD PF versus Linux nftables for firewalls for us</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>646: Unix v4</title>
  <link>https://www.bsdnow.tv/646</link>
  <guid isPermaLink="false">95223258-e0a7-428f-b41c-b3b7de2f94ec</guid>
  <pubDate>Thu, 15 Jan 2026 09:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/95223258-e0a7-428f-b41c-b3b7de2f94ec.mp3" length="71217024" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The Unix v4 recovery, webzfs, openbgpd 9.0, MidnightBSD 4.0, and more...</itunes:subtitle>
  <itunes:duration>1:14:11</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>&lt;p&gt;The Unix v4 recovery, webzfs, openbgpd 9.0, MidnightBSD 4.0, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://ksltv.com/science-technology/university-of-utah-discovers-rare-computer-relic/853296/" target="_blank" rel="nofollow noopener"&gt;University of Utah team discovers rare computer relic&lt;/a&gt;&lt;br&gt;
&lt;a href="https://mastodon.social/redirect/statuses/115747843746305391" target="_blank" rel="nofollow noopener"&gt;The attempt to read the UNIX V4 tape is underway!&lt;/a&gt;&lt;br&gt;
&lt;a href="https://archive.org/details/utah_unix_v4_raw" target="_blank" rel="nofollow noopener"&gt;UNIX V4 Tape from University of Utah&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.theregister.com/2025/12/23/unix_v4_tape_successfully_recovered/" target="_blank" rel="nofollow noopener"&gt;UNIX V4 tape successfully recovered: First ever version of UNIX written in C is running again&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.spinellis.gr/blog/20251223/" target="_blank" rel="nofollow noopener"&gt;An initial analysis of the discovered Unix V4 tape&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/webzfs/webzfs" target="_blank" rel="nofollow noopener"&gt;WebZFS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20251231070524" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 9.0 released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.midnightbsd.org/notes/4.0/index.html" target="_blank" rel="nofollow noopener"&gt;MidnightBSD 4.0&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://briancallahan.net/blog/20251216.html" target="_blank" rel="nofollow noopener"&gt;Let's run FreeBSD 15.0-RELEASE on a Raspberry Pi Zero 2 W&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vulcanridr.mataroa.blog/blog/figuring-out-how-i-want-to-set-up-the-tvpc/" target="_blank" rel="nofollow noopener"&gt;Figuring out how I want to set up the TVPC&lt;/a&gt;&lt;br&gt;
&lt;a href="https://vulcanridr.mataroa.blog/blog/tvpc-update/" target="_blank" rel="nofollow noopener"&gt;TVPC update&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://chronodivide.com" target="_blank" rel="nofollow noopener"&gt;C&amp;amp;C Red Alert2 in your browser&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/646/feedback/rick%20-%20shout%20out.md" target="_blank" rel="nofollow noopener"&gt;rick - shout out.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Unix v4 recovery, webzfs, openbgpd 9.0, MidnightBSD 4.0, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://ksltv.com/science-technology/university-of-utah-discovers-rare-computer-relic/853296/" target="_blank" rel="nofollow noopener">University of Utah team discovers rare computer relic</a><br>
<a href="https://mastodon.social/redirect/statuses/115747843746305391" target="_blank" rel="nofollow noopener">The attempt to read the UNIX V4 tape is underway!</a><br>
<a href="https://archive.org/details/utah_unix_v4_raw" target="_blank" rel="nofollow noopener">UNIX V4 Tape from University of Utah</a><br>
<a href="https://www.theregister.com/2025/12/23/unix_v4_tape_successfully_recovered/" target="_blank" rel="nofollow noopener">UNIX V4 tape successfully recovered: First ever version of UNIX written in C is running again</a><br>
<a href="https://www.spinellis.gr/blog/20251223/" target="_blank" rel="nofollow noopener">An initial analysis of the discovered Unix V4 tape</a></p>

<hr>

<p><a href="https://github.com/webzfs/webzfs" target="_blank" rel="nofollow noopener">WebZFS</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20251231070524" target="_blank" rel="nofollow noopener">OpenBGPD 9.0 released</a></p>

<hr>

<p><a href="https://www.midnightbsd.org/notes/4.0/index.html" target="_blank" rel="nofollow noopener">MidnightBSD 4.0</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20251216.html" target="_blank" rel="nofollow noopener">Let's run FreeBSD 15.0-RELEASE on a Raspberry Pi Zero 2 W</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/figuring-out-how-i-want-to-set-up-the-tvpc/" target="_blank" rel="nofollow noopener">Figuring out how I want to set up the TVPC</a><br>
<a href="https://vulcanridr.mataroa.blog/blog/tvpc-update/" target="_blank" rel="nofollow noopener">TVPC update</a></p>

<hr>

<p><a href="https://chronodivide.com" target="_blank" rel="nofollow noopener">C&amp;C Red Alert2 in your browser</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/646/feedback/rick%20-%20shout%20out.md" target="_blank" rel="nofollow noopener">rick - shout out.md</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Unix v4 recovery, webzfs, openbgpd 9.0, MidnightBSD 4.0, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://ksltv.com/science-technology/university-of-utah-discovers-rare-computer-relic/853296/" target="_blank" rel="nofollow noopener">University of Utah team discovers rare computer relic</a><br>
<a href="https://mastodon.social/redirect/statuses/115747843746305391" target="_blank" rel="nofollow noopener">The attempt to read the UNIX V4 tape is underway!</a><br>
<a href="https://archive.org/details/utah_unix_v4_raw" target="_blank" rel="nofollow noopener">UNIX V4 Tape from University of Utah</a><br>
<a href="https://www.theregister.com/2025/12/23/unix_v4_tape_successfully_recovered/" target="_blank" rel="nofollow noopener">UNIX V4 tape successfully recovered: First ever version of UNIX written in C is running again</a><br>
<a href="https://www.spinellis.gr/blog/20251223/" target="_blank" rel="nofollow noopener">An initial analysis of the discovered Unix V4 tape</a></p>

<hr>

<p><a href="https://github.com/webzfs/webzfs" target="_blank" rel="nofollow noopener">WebZFS</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20251231070524" target="_blank" rel="nofollow noopener">OpenBGPD 9.0 released</a></p>

<hr>

<p><a href="https://www.midnightbsd.org/notes/4.0/index.html" target="_blank" rel="nofollow noopener">MidnightBSD 4.0</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20251216.html" target="_blank" rel="nofollow noopener">Let's run FreeBSD 15.0-RELEASE on a Raspberry Pi Zero 2 W</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/figuring-out-how-i-want-to-set-up-the-tvpc/" target="_blank" rel="nofollow noopener">Figuring out how I want to set up the TVPC</a><br>
<a href="https://vulcanridr.mataroa.blog/blog/tvpc-update/" target="_blank" rel="nofollow noopener">TVPC update</a></p>

<hr>

<p><a href="https://chronodivide.com" target="_blank" rel="nofollow noopener">C&amp;C Red Alert2 in your browser</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/646/feedback/rick%20-%20shout%20out.md" target="_blank" rel="nofollow noopener">rick - shout out.md</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>644: Holidays 2025 - What you been do'in?</title>
  <link>https://www.bsdnow.tv/644</link>
  <guid isPermaLink="false">6c965a2e-3562-4f72-a27b-7c776d7718e6</guid>
  <pubDate>Thu, 01 Jan 2026 10:30:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6c965a2e-3562-4f72-a27b-7c776d7718e6.mp3" length="93133056" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>A holiday episode as the guys sit back and chat.</itunes:subtitle>
  <itunes:duration>1:37:00</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>&lt;p&gt;Holidays 2025 - What you been do'in?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;What tech did we enjoy playing with or found interesting in 2025?&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;h2&gt;- &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/644/feedback/Gary%20-%20Storage%20Is%20Cheap.md" target="_blank" rel="nofollow noopener"&gt;Gary - Storage Is Cheap&lt;/a&gt;&lt;/h2&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Holidays 2025 - What you been do'in?</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p>What tech did we enjoy playing with or found interesting in 2025?</p>

<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>

<h2>Feedback/Questions</h2>

<h2>- <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/644/feedback/Gary%20-%20Storage%20Is%20Cheap.md" target="_blank" rel="nofollow noopener">Gary - Storage Is Cheap</a></h2>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Holidays 2025 - What you been do'in?</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p>What tech did we enjoy playing with or found interesting in 2025?</p>

<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>

<h2>Feedback/Questions</h2>

<h2>- <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/644/feedback/Gary%20-%20Storage%20Is%20Cheap.md" target="_blank" rel="nofollow noopener">Gary - Storage Is Cheap</a></h2>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>643: Unwrapping gifts</title>
  <link>https://www.bsdnow.tv/643</link>
  <guid isPermaLink="false">dce512e9-39bb-4de0-b296-98c68f41cece</guid>
  <pubDate>Thu, 25 Dec 2025 10:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/dce512e9-39bb-4de0-b296-98c68f41cece.mp3" length="66225024" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Upwrapping OpenZFS gifs, Propolice the OpenBSD Stack Protector, refreshing zpools, and the FreeBSD 15.0 release.</itunes:subtitle>
  <itunes:duration>1:08:59</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>&lt;p&gt;Upwrapping OpenZFS gifs, Propolice the OpenBSD Stack Protector, refreshing zpools, and the FreeBSD 15.0 release.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/zfs-community-contributions-2025/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Unwrapping ZFS: Gifts from the Open Source Community&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://hidde.blog/filtered-open-web/" target="_blank" rel="nofollow noopener"&gt;Who wins when we filter the open web through an opaque system?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/OpenSourceFundingNotSolution" target="_blank" rel="nofollow noopener"&gt;We can't fund our way out of the free and open source maintenance problem&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20251212094310" target="_blank" rel="nofollow noopener"&gt;The story of Propolice, the OpenBSD stack protector&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dan.langille.org/2025/12/11/copying-everything-off-a-zpool-destroying-it-creating-a-new-one-and-copying-everything-back/" target="_blank" rel="nofollow noopener"&gt;Copying everything off a zpool, destroying it, creating a new one, and copying everything back&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vulcanridr.mataroa.blog/blog/all-aboard-the-150-release-train/" target="_blank" rel="nofollow noopener"&gt;All aboard the 15.0-RELEASE train!&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=S2r_GujSc6w" target="_blank" rel="nofollow noopener"&gt;Running A PDP-8 From 1965&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://libraryoftime.xyz" target="_blank" rel="nofollow noopener"&gt;The library of time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://forum.opnsense.org/index.php?topic=49986.0" target="_blank" rel="nofollow noopener"&gt;OPNsense 25.7.9 released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;- &lt;a href="https://forum.opnsense.org/index.php?topic=50052.0" target="_blank" rel="nofollow noopener"&gt;OPNsense 25.10.1 business edition released&lt;/a&gt;&lt;/h2&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/643/feedback/Martin%20-%20recording%20of%20bsdnow.md" target="_blank" rel="nofollow noopener"&gt;Martin - recordings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Upwrapping OpenZFS gifs, Propolice the OpenBSD Stack Protector, refreshing zpools, and the FreeBSD 15.0 release.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/zfs-community-contributions-2025/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Unwrapping ZFS: Gifts from the Open Source Community</a></p>

<hr>

<p><a href="https://hidde.blog/filtered-open-web/" target="_blank" rel="nofollow noopener">Who wins when we filter the open web through an opaque system?</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/OpenSourceFundingNotSolution" target="_blank" rel="nofollow noopener">We can't fund our way out of the free and open source maintenance problem</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20251212094310" target="_blank" rel="nofollow noopener">The story of Propolice, the OpenBSD stack protector</a></p>

<hr>

<p><a href="https://dan.langille.org/2025/12/11/copying-everything-off-a-zpool-destroying-it-creating-a-new-one-and-copying-everything-back/" target="_blank" rel="nofollow noopener">Copying everything off a zpool, destroying it, creating a new one, and copying everything back</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/all-aboard-the-150-release-train/" target="_blank" rel="nofollow noopener">All aboard the 15.0-RELEASE train!</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=S2r_GujSc6w" target="_blank" rel="nofollow noopener">Running A PDP-8 From 1965</a></li>
<li><a href="https://libraryoftime.xyz" target="_blank" rel="nofollow noopener">The library of time</a></li>
<li><a href="https://forum.opnsense.org/index.php?topic=49986.0" target="_blank" rel="nofollow noopener">OPNsense 25.7.9 released</a></li>
</ul>

<h2>- <a href="https://forum.opnsense.org/index.php?topic=50052.0" target="_blank" rel="nofollow noopener">OPNsense 25.10.1 business edition released</a></h2>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/643/feedback/Martin%20-%20recording%20of%20bsdnow.md" target="_blank" rel="nofollow noopener">Martin - recordings</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Upwrapping OpenZFS gifs, Propolice the OpenBSD Stack Protector, refreshing zpools, and the FreeBSD 15.0 release.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/zfs-community-contributions-2025/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Unwrapping ZFS: Gifts from the Open Source Community</a></p>

<hr>

<p><a href="https://hidde.blog/filtered-open-web/" target="_blank" rel="nofollow noopener">Who wins when we filter the open web through an opaque system?</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/OpenSourceFundingNotSolution" target="_blank" rel="nofollow noopener">We can't fund our way out of the free and open source maintenance problem</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20251212094310" target="_blank" rel="nofollow noopener">The story of Propolice, the OpenBSD stack protector</a></p>

<hr>

<p><a href="https://dan.langille.org/2025/12/11/copying-everything-off-a-zpool-destroying-it-creating-a-new-one-and-copying-everything-back/" target="_blank" rel="nofollow noopener">Copying everything off a zpool, destroying it, creating a new one, and copying everything back</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/all-aboard-the-150-release-train/" target="_blank" rel="nofollow noopener">All aboard the 15.0-RELEASE train!</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=S2r_GujSc6w" target="_blank" rel="nofollow noopener">Running A PDP-8 From 1965</a></li>
<li><a href="https://libraryoftime.xyz" target="_blank" rel="nofollow noopener">The library of time</a></li>
<li><a href="https://forum.opnsense.org/index.php?topic=49986.0" target="_blank" rel="nofollow noopener">OPNsense 25.7.9 released</a></li>
</ul>

<h2>- <a href="https://forum.opnsense.org/index.php?topic=50052.0" target="_blank" rel="nofollow noopener">OPNsense 25.10.1 business edition released</a></h2>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/643/feedback/Martin%20-%20recording%20of%20bsdnow.md" target="_blank" rel="nofollow noopener">Martin - recordings</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>641: Open to Free</title>
  <link>https://www.bsdnow.tv/641</link>
  <guid isPermaLink="false">3bf79b4d-817f-40a1-bcc7-73de9e2ba74c</guid>
  <pubDate>Thu, 11 Dec 2025 11:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3bf79b4d-817f-40a1-bcc7-73de9e2ba74c.mp3" length="53275776" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 15 release, moving from OpenBSD to FreeBSD, ZFS Boot Environments explained, and more...</itunes:subtitle>
  <itunes:duration>55:29</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>&lt;p&gt;FreeBSD 15 release, moving from OpenBSD to FreeBSD, ZFS Boot Environments explained, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;Welcome to the world FreeBSD 15.0-RELEASE &lt;a href="https://www.freebsd.org/releases/15.0R/announce/" target="_blank" rel="nofollow noopener"&gt;Announcement&lt;/a&gt; and &lt;a href="https://www.freebsd.org/releases/15.0R/relnotes/" target="_blank" rel="nofollow noopener"&gt;Release Notes&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/OpenBSDToFreeBSDMove" target="_blank" rel="nofollow noopener"&gt;We're (now) moving from OpenBSD to FreeBSD for Firewalls&lt;/a&gt; - Submitted by listener Gary&lt;/p&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://vermaden.wordpress.com/2025/11/25/zfs-boot-environments-explained/" target="_blank" rel="nofollow noopener"&gt;ZFS Boot Environments Explained&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2025/11/24/why-i-still-love-linux/" target="_blank" rel="nofollow noopener"&gt;Why I (still) love Linux&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/BastilleBSD/rocinante" target="_blank" rel="nofollow noopener"&gt;rocinante - A configuration management tool by the BastilleBSD team&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/oxidecomputer/oxide-and-friends/blob/master/2025_11_24.md" target="_blank" rel="nofollow noopener"&gt;A Grown-up ZFS Data Corruption Bug&lt;/a&gt; and &lt;a href="https://www.youtube.com/watch?v=srKYxF66A0c" target="_blank" rel="nofollow noopener"&gt;YouTube&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/641/feedback/Claudio%20-%20Reflection.md" target="_blank" rel="nofollow noopener"&gt;Claudio - A Silent Reflection&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 15 release, moving from OpenBSD to FreeBSD, ZFS Boot Environments explained, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p>Welcome to the world FreeBSD 15.0-RELEASE <a href="https://www.freebsd.org/releases/15.0R/announce/" target="_blank" rel="nofollow noopener">Announcement</a> and <a href="https://www.freebsd.org/releases/15.0R/relnotes/" target="_blank" rel="nofollow noopener">Release Notes</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/OpenBSDToFreeBSDMove" target="_blank" rel="nofollow noopener">We're (now) moving from OpenBSD to FreeBSD for Firewalls</a> - Submitted by listener Gary</p>

<h2>News Roundup</h2>

<p><a href="https://vermaden.wordpress.com/2025/11/25/zfs-boot-environments-explained/" target="_blank" rel="nofollow noopener">ZFS Boot Environments Explained</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2025/11/24/why-i-still-love-linux/" target="_blank" rel="nofollow noopener">Why I (still) love Linux</a></p>

<hr>

<p><a href="https://github.com/BastilleBSD/rocinante" target="_blank" rel="nofollow noopener">rocinante - A configuration management tool by the BastilleBSD team</a></p>

<hr>

<p><a href="https://github.com/oxidecomputer/oxide-and-friends/blob/master/2025_11_24.md" target="_blank" rel="nofollow noopener">A Grown-up ZFS Data Corruption Bug</a> and <a href="https://www.youtube.com/watch?v=srKYxF66A0c" target="_blank" rel="nofollow noopener">YouTube</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/641/feedback/Claudio%20-%20Reflection.md" target="_blank" rel="nofollow noopener">Claudio - A Silent Reflection</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 15 release, moving from OpenBSD to FreeBSD, ZFS Boot Environments explained, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p>Welcome to the world FreeBSD 15.0-RELEASE <a href="https://www.freebsd.org/releases/15.0R/announce/" target="_blank" rel="nofollow noopener">Announcement</a> and <a href="https://www.freebsd.org/releases/15.0R/relnotes/" target="_blank" rel="nofollow noopener">Release Notes</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/OpenBSDToFreeBSDMove" target="_blank" rel="nofollow noopener">We're (now) moving from OpenBSD to FreeBSD for Firewalls</a> - Submitted by listener Gary</p>

<h2>News Roundup</h2>

<p><a href="https://vermaden.wordpress.com/2025/11/25/zfs-boot-environments-explained/" target="_blank" rel="nofollow noopener">ZFS Boot Environments Explained</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2025/11/24/why-i-still-love-linux/" target="_blank" rel="nofollow noopener">Why I (still) love Linux</a></p>

<hr>

<p><a href="https://github.com/BastilleBSD/rocinante" target="_blank" rel="nofollow noopener">rocinante - A configuration management tool by the BastilleBSD team</a></p>

<hr>

<p><a href="https://github.com/oxidecomputer/oxide-and-friends/blob/master/2025_11_24.md" target="_blank" rel="nofollow noopener">A Grown-up ZFS Data Corruption Bug</a> and <a href="https://www.youtube.com/watch?v=srKYxF66A0c" target="_blank" rel="nofollow noopener">YouTube</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/641/feedback/Claudio%20-%20Reflection.md" target="_blank" rel="nofollow noopener">Claudio - A Silent Reflection</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>640: Cleaning up Hammer</title>
  <link>https://www.bsdnow.tv/640</link>
  <guid isPermaLink="false">1d2c509f-a511-47cb-ac2b-7ee57373dc6e</guid>
  <pubDate>Thu, 04 Dec 2025 09:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/1d2c509f-a511-47cb-ac2b-7ee57373dc6e.mp3" length="34664448" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD is an OCI runtime, ZFS Disaster Recovery, Cleaning up Hammer, and some historical information, and more...</itunes:subtitle>
  <itunes:duration>36:06</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>&lt;p&gt;FreeBSD is an OCI runtime, ZFS Disaster Recovery, Cleaning up Hammer, and some historical information, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/freebsd-officially-supported-in-oci-runtime-specification-v1-3" target="_blank" rel="nofollow noopener"&gt;FreeBSD Officially Supported in OCI Runtime Specification v1.3&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/zfs-enabled-disaster-recovery-virtualization?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;ZFS Enabled Disaster Recovery for Virtualization&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSWrittenPropertyHowItWorks" target="_blank" rel="nofollow noopener"&gt;How I think OpenZFS's 'written' and 'written@' dataset properties work&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.dragonflydigest.com/2025/11/13/make-sure-your-hammer-cleanup-cleans-up" target="_blank" rel="nofollow noopener"&gt;Make sure your Hammer cleanup cleans up&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tuhs.org/pipermail/tuhs/2025-November/032751.html" target="_blank" rel="nofollow noopener"&gt;[TUHS] David C Brock of CHM: 2024 oral history with Ken Thompson + Doug McIlroy&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://ojs.weizenbaum-institut.de/index.php/wjds/announcement/view/8" target="_blank" rel="nofollow noopener"&gt;Special Issue “Celebrating 60 Years of ELIZA? Critical Pasts and Futures of AI”&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20251112132639" target="_blank" rel="nofollow noopener"&gt;Source and state limiters introduced in pf&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/640/feedback/G%C3%B6ran%20-%20grafana.md" target="_blank" rel="nofollow noopener"&gt;Göran - grafana&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD is an OCI runtime, ZFS Disaster Recovery, Cleaning up Hammer, and some historical information, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/freebsd-officially-supported-in-oci-runtime-specification-v1-3" target="_blank" rel="nofollow noopener">FreeBSD Officially Supported in OCI Runtime Specification v1.3</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zfs-enabled-disaster-recovery-virtualization?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZFS Enabled Disaster Recovery for Virtualization</a></p>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSWrittenPropertyHowItWorks" target="_blank" rel="nofollow noopener">How I think OpenZFS's 'written' and 'written@' dataset properties work</a></p>

<hr>

<p><a href="https://www.dragonflydigest.com/2025/11/13/make-sure-your-hammer-cleanup-cleans-up" target="_blank" rel="nofollow noopener">Make sure your Hammer cleanup cleans up</a></p>

<hr>

<p><a href="https://www.tuhs.org/pipermail/tuhs/2025-November/032751.html" target="_blank" rel="nofollow noopener">[TUHS] David C Brock of CHM: 2024 oral history with Ken Thompson + Doug McIlroy</a></p>

<hr>

<p><a href="https://ojs.weizenbaum-institut.de/index.php/wjds/announcement/view/8" target="_blank" rel="nofollow noopener">Special Issue “Celebrating 60 Years of ELIZA? Critical Pasts and Futures of AI”</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20251112132639" target="_blank" rel="nofollow noopener">Source and state limiters introduced in pf</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/640/feedback/G%C3%B6ran%20-%20grafana.md" target="_blank" rel="nofollow noopener">Göran - grafana</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD is an OCI runtime, ZFS Disaster Recovery, Cleaning up Hammer, and some historical information, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/freebsd-officially-supported-in-oci-runtime-specification-v1-3" target="_blank" rel="nofollow noopener">FreeBSD Officially Supported in OCI Runtime Specification v1.3</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zfs-enabled-disaster-recovery-virtualization?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZFS Enabled Disaster Recovery for Virtualization</a></p>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSWrittenPropertyHowItWorks" target="_blank" rel="nofollow noopener">How I think OpenZFS's 'written' and 'written@' dataset properties work</a></p>

<hr>

<p><a href="https://www.dragonflydigest.com/2025/11/13/make-sure-your-hammer-cleanup-cleans-up" target="_blank" rel="nofollow noopener">Make sure your Hammer cleanup cleans up</a></p>

<hr>

<p><a href="https://www.tuhs.org/pipermail/tuhs/2025-November/032751.html" target="_blank" rel="nofollow noopener">[TUHS] David C Brock of CHM: 2024 oral history with Ken Thompson + Doug McIlroy</a></p>

<hr>

<p><a href="https://ojs.weizenbaum-institut.de/index.php/wjds/announcement/view/8" target="_blank" rel="nofollow noopener">Special Issue “Celebrating 60 Years of ELIZA? Critical Pasts and Futures of AI”</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20251112132639" target="_blank" rel="nofollow noopener">Source and state limiters introduced in pf</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/640/feedback/G%C3%B6ran%20-%20grafana.md" target="_blank" rel="nofollow noopener">Göran - grafana</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>639: Reproducible Builds</title>
  <link>https://www.bsdnow.tv/639</link>
  <guid isPermaLink="false">60c20296-3ef2-4105-ae81-5d6f29044152</guid>
  <pubDate>Thu, 27 Nov 2025 09:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/60c20296-3ef2-4105-ae81-5d6f29044152.mp3" length="57835776" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Reproducible builds, Highly available ZFS Pools, Self Hosting on a Framework Laptop, and more...</itunes:subtitle>
  <itunes:duration>1:00:14</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>&lt;p&gt;Reproducible builds, Highly available ZFS Pools, Self Hosting on a Framework Laptop, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/freebsd-now-builds-reproducibly-and-without-root-privilege" target="_blank" rel="nofollow noopener"&gt;FreeBSD now builds reproducibly and without root privilege&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/highly-available-zfs-pool-setup-with-iscsi-mirroring?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;How to Set Up a Highly Available ZFS Pool Using Mirroring and iSCSI&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://jamesoclaire.com/2025/10/05/self-hosting-10tb-in-s3-on-a-framework-laptop-disks/" target="_blank" rel="nofollow noopener"&gt;Self hosting 10TB in S3 on a framework laptop + disks&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vermaden.wordpress.com/2025/07/08/crucial-freebsd-toolkit/" target="_blank" rel="nofollow noopener"&gt;Crucial FreeBSD Toolkit&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSSnapshotWrittenProperty" target="_blank" rel="nofollow noopener"&gt;Some notes on OpenZFS's 'written' dataset property&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.dragonflydigest.com/2025/10/28/vi-improvements" target="_blank" rel="nofollow noopener"&gt;vi improvements on Dragonfly&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20251112121631" target="_blank" rel="nofollow noopener"&gt;Big news for small /usr partitions&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/639/feedback/patrick%20-%20notes.md" target="_blank" rel="nofollow noopener"&gt;Patrick - Feedback&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Reproducible builds, Highly available ZFS Pools, Self Hosting on a Framework Laptop, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/freebsd-now-builds-reproducibly-and-without-root-privilege" target="_blank" rel="nofollow noopener">FreeBSD now builds reproducibly and without root privilege</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/highly-available-zfs-pool-setup-with-iscsi-mirroring?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">How to Set Up a Highly Available ZFS Pool Using Mirroring and iSCSI</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://jamesoclaire.com/2025/10/05/self-hosting-10tb-in-s3-on-a-framework-laptop-disks/" target="_blank" rel="nofollow noopener">Self hosting 10TB in S3 on a framework laptop + disks</a></p>

<hr>

<p><a href="https://vermaden.wordpress.com/2025/07/08/crucial-freebsd-toolkit/" target="_blank" rel="nofollow noopener">Crucial FreeBSD Toolkit</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSSnapshotWrittenProperty" target="_blank" rel="nofollow noopener">Some notes on OpenZFS's 'written' dataset property</a></p>

<hr>

<p><a href="https://www.dragonflydigest.com/2025/10/28/vi-improvements" target="_blank" rel="nofollow noopener">vi improvements on Dragonfly</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20251112121631" target="_blank" rel="nofollow noopener">Big news for small /usr partitions</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/639/feedback/patrick%20-%20notes.md" target="_blank" rel="nofollow noopener">Patrick - Feedback</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Reproducible builds, Highly available ZFS Pools, Self Hosting on a Framework Laptop, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/freebsd-now-builds-reproducibly-and-without-root-privilege" target="_blank" rel="nofollow noopener">FreeBSD now builds reproducibly and without root privilege</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/highly-available-zfs-pool-setup-with-iscsi-mirroring?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">How to Set Up a Highly Available ZFS Pool Using Mirroring and iSCSI</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://jamesoclaire.com/2025/10/05/self-hosting-10tb-in-s3-on-a-framework-laptop-disks/" target="_blank" rel="nofollow noopener">Self hosting 10TB in S3 on a framework laptop + disks</a></p>

<hr>

<p><a href="https://vermaden.wordpress.com/2025/07/08/crucial-freebsd-toolkit/" target="_blank" rel="nofollow noopener">Crucial FreeBSD Toolkit</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSSnapshotWrittenProperty" target="_blank" rel="nofollow noopener">Some notes on OpenZFS's 'written' dataset property</a></p>

<hr>

<p><a href="https://www.dragonflydigest.com/2025/10/28/vi-improvements" target="_blank" rel="nofollow noopener">vi improvements on Dragonfly</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20251112121631" target="_blank" rel="nofollow noopener">Big news for small /usr partitions</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/639/feedback/patrick%20-%20notes.md" target="_blank" rel="nofollow noopener">Patrick - Feedback</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>638: Hipsters want their distribution back</title>
  <link>https://www.bsdnow.tv/638</link>
  <guid isPermaLink="false">b4c03ea3-b78b-491f-9d8a-4e8e6688bb69</guid>
  <pubDate>Thu, 20 Nov 2025 09:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b4c03ea3-b78b-491f-9d8a-4e8e6688bb69.mp3" length="65509632" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>New Open Indiana Release, Understanding Storage Performance, a Unix OS for the TI99, FreeBSD Tribal knowledge, and more...</itunes:subtitle>
  <itunes:duration>1:08:14</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>&lt;p&gt;New Open Indiana Release, Understanding Storage Performance, a Unix OS for the TI99, FreeBSD Tribal knowledge, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://davidyat.es/2025/09/27/signifier-flotation-devices" target="_blank" rel="nofollow noopener"&gt;Signifier flotation devices&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://openindiana.org/announcements/openindiana-hipster-2025-10-announcement/" target="_blank" rel="nofollow noopener"&gt;Open Indiana Hipster Announcement&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/understanding-storage-performance-metrics?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Understanding Storage Performance Metrics&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://forums.atariage.com/topic/380883-unix99-a-unix-like-os-for-the-ti-994a" target="_blank" rel="nofollow noopener"&gt;UNIX99, a UNIX-like OS for the TI-99/4A&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20251029114507" target="_blank" rel="nofollow noopener"&gt;Making the veb(4) virtual Ethernet bridge VLAN aware&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vulcanridr.mataroa.blog/blog/freebsd-tribal-knowledge-minor-version-upgrades" target="_blank" rel="nofollow noopener"&gt;FreeBSD tribal knowledge: minor version upgrades&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blogs.oracle.com/oracle-systems/post/happy-10th-birthday-zfs" target="_blank" rel="nofollow noopener"&gt;It's been 10 years since ZFS's 10th aniversary its integration into Solaris - A Reflection&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>New Open Indiana Release, Understanding Storage Performance, a Unix OS for the TI99, FreeBSD Tribal knowledge, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://davidyat.es/2025/09/27/signifier-flotation-devices" target="_blank" rel="nofollow noopener">Signifier flotation devices</a></p>

<hr>

<p><a href="https://openindiana.org/announcements/openindiana-hipster-2025-10-announcement/" target="_blank" rel="nofollow noopener">Open Indiana Hipster Announcement</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/understanding-storage-performance-metrics?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Understanding Storage Performance Metrics</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://forums.atariage.com/topic/380883-unix99-a-unix-like-os-for-the-ti-994a" target="_blank" rel="nofollow noopener">UNIX99, a UNIX-like OS for the TI-99/4A</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20251029114507" target="_blank" rel="nofollow noopener">Making the veb(4) virtual Ethernet bridge VLAN aware</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/freebsd-tribal-knowledge-minor-version-upgrades" target="_blank" rel="nofollow noopener">FreeBSD tribal knowledge: minor version upgrades</a></p>

<hr>

<p><a href="https://blogs.oracle.com/oracle-systems/post/happy-10th-birthday-zfs" target="_blank" rel="nofollow noopener">It's been 10 years since ZFS's 10th aniversary its integration into Solaris - A Reflection</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr><p>Sponsored By:</p><ul><li><a rel="nofollow" href="https://www.tarsnap.com/bsdnow">Tarsnap</a> Promo Code: bsdnow</li></ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>New Open Indiana Release, Understanding Storage Performance, a Unix OS for the TI99, FreeBSD Tribal knowledge, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://davidyat.es/2025/09/27/signifier-flotation-devices" target="_blank" rel="nofollow noopener">Signifier flotation devices</a></p>

<hr>

<p><a href="https://openindiana.org/announcements/openindiana-hipster-2025-10-announcement/" target="_blank" rel="nofollow noopener">Open Indiana Hipster Announcement</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/understanding-storage-performance-metrics?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Understanding Storage Performance Metrics</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://forums.atariage.com/topic/380883-unix99-a-unix-like-os-for-the-ti-994a" target="_blank" rel="nofollow noopener">UNIX99, a UNIX-like OS for the TI-99/4A</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20251029114507" target="_blank" rel="nofollow noopener">Making the veb(4) virtual Ethernet bridge VLAN aware</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/freebsd-tribal-knowledge-minor-version-upgrades" target="_blank" rel="nofollow noopener">FreeBSD tribal knowledge: minor version upgrades</a></p>

<hr>

<p><a href="https://blogs.oracle.com/oracle-systems/post/happy-10th-birthday-zfs" target="_blank" rel="nofollow noopener">It's been 10 years since ZFS's 10th aniversary its integration into Solaris - A Reflection</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr><p>Sponsored By:</p><ul><li><a rel="nofollow" href="https://www.tarsnap.com/bsdnow">Tarsnap</a> Promo Code: bsdnow</li></ul>]]>
  </itunes:summary>
</item>
<item>
  <title>636: Thunder Bolts</title>
  <link>https://www.bsdnow.tv/636</link>
  <guid isPermaLink="false">298cf02b-9f85-4fe2-bb2f-da047df5149b</guid>
  <pubDate>Thu, 06 Nov 2025 09:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/298cf02b-9f85-4fe2-bb2f-da047df5149b.mp3" length="60890112" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Thunderbolt on FreeBSD, ZFS on Illumos and Linux and FreeBSD, ZFS Compression, Home networking monitoring, LibreSSH and OpenSSH releases and more...</itunes:subtitle>
  <itunes:duration>1:03:25</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>&lt;p&gt;Thunderbolt on FreeBSD, ZFS on Illumos and Linux and FreeBSD, ZFS Compression, Home networking monitoring, LibreSSH and OpenSSH releases and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://blog.feld.me/posts/2025/10/thunderbolt-on-freebsd" target="_blank" rel="nofollow noopener"&gt;Thunderbolt on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSOnIllumosLinuxAndFreeBSD" target="_blank" rel="nofollow noopener"&gt;The broad state of ZFS on Illumos, Linux, and FreeBSD (as I understand it)&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dan.langille.org/2025/10/18/zfs-setting-compression-and-adding-new-vdevs" target="_blank" rel="nofollow noopener"&gt;zfs: setting compression and adding new vdevs&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vulcanridr.mataroa.blog/blog/the-hunt-for-a-home-network-monitoring-solution" target="_blank" rel="nofollow noopener"&gt;The hunt for a home network monitoring solution&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20251015043527" target="_blank" rel="nofollow noopener"&gt;LibreSSL 4.2.0 Released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20251010131052" target="_blank" rel="nofollow noopener"&gt;OpenSSH 10.2 released&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Related to 10.x versions : &lt;a href="https://www.openssh.com/pq.html" target="_blank" rel="nofollow noopener"&gt;Post-Quantum Cryptography&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2025/check-your-ip-infos-using-nginx" target="_blank" rel="nofollow noopener"&gt;Check your IP infos using nginx&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Experimenting with Compression&lt;/h3&gt;

&lt;p&gt;(just given an overview, I dont exepect you to read the all three writeups fully)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dan.langille.org/2025/10/06/experimenting-with-compression-off/" target="_blank" rel="nofollow noopener"&gt;Experimenting with compression off&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dan.langille.org/2025/10/06/experimenting-with-compressionlz4/" target="_blank" rel="nofollow noopener"&gt;Experimenting with compression=lz4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dan.langille.org/2025/10/06/experimenting-with-compressionzstd/" target="_blank" rel="nofollow noopener"&gt;Experimenting with compression=zstd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dan.langille.org/2025/10/06/compression-results" target="_blank" rel="nofollow noopener"&gt;Compression results&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/636/feedback/anton%20-%20boxybsd.md" target="_blank" rel="nofollow noopener"&gt;Anton - Boxybsd&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Thunderbolt on FreeBSD, ZFS on Illumos and Linux and FreeBSD, ZFS Compression, Home networking monitoring, LibreSSH and OpenSSH releases 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://blog.feld.me/posts/2025/10/thunderbolt-on-freebsd" target="_blank" rel="nofollow noopener">Thunderbolt on FreeBSD</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSOnIllumosLinuxAndFreeBSD" target="_blank" rel="nofollow noopener">The broad state of ZFS on Illumos, Linux, and FreeBSD (as I understand it)</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dan.langille.org/2025/10/18/zfs-setting-compression-and-adding-new-vdevs" target="_blank" rel="nofollow noopener">zfs: setting compression and adding new vdevs</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/the-hunt-for-a-home-network-monitoring-solution" target="_blank" rel="nofollow noopener">The hunt for a home network monitoring solution</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20251015043527" target="_blank" rel="nofollow noopener">LibreSSL 4.2.0 Released</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20251010131052" target="_blank" rel="nofollow noopener">OpenSSH 10.2 released</a></p>

<ul>
<li>Related to 10.x versions : <a href="https://www.openssh.com/pq.html" target="_blank" rel="nofollow noopener">Post-Quantum Cryptography</a></li>
</ul>

<hr>

<p><a href="https://www.tumfatig.net/2025/check-your-ip-infos-using-nginx" target="_blank" rel="nofollow noopener">Check your IP infos using nginx</a></p>

<hr>

<h3>Experimenting with Compression</h3>

<p>(just given an overview, I dont exepect you to read the all three writeups fully)</p>

<ul>
<li><a href="https://dan.langille.org/2025/10/06/experimenting-with-compression-off/" target="_blank" rel="nofollow noopener">Experimenting with compression off</a></li>
<li><a href="https://dan.langille.org/2025/10/06/experimenting-with-compressionlz4/" target="_blank" rel="nofollow noopener">Experimenting with compression=lz4</a></li>
<li><a href="https://dan.langille.org/2025/10/06/experimenting-with-compressionzstd/" target="_blank" rel="nofollow noopener">Experimenting with compression=zstd</a></li>
<li><a href="https://dan.langille.org/2025/10/06/compression-results" target="_blank" rel="nofollow noopener">Compression results</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/636/feedback/anton%20-%20boxybsd.md" target="_blank" rel="nofollow noopener">Anton - Boxybsd</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Thunderbolt on FreeBSD, ZFS on Illumos and Linux and FreeBSD, ZFS Compression, Home networking monitoring, LibreSSH and OpenSSH releases 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://blog.feld.me/posts/2025/10/thunderbolt-on-freebsd" target="_blank" rel="nofollow noopener">Thunderbolt on FreeBSD</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSOnIllumosLinuxAndFreeBSD" target="_blank" rel="nofollow noopener">The broad state of ZFS on Illumos, Linux, and FreeBSD (as I understand it)</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dan.langille.org/2025/10/18/zfs-setting-compression-and-adding-new-vdevs" target="_blank" rel="nofollow noopener">zfs: setting compression and adding new vdevs</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/the-hunt-for-a-home-network-monitoring-solution" target="_blank" rel="nofollow noopener">The hunt for a home network monitoring solution</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20251015043527" target="_blank" rel="nofollow noopener">LibreSSL 4.2.0 Released</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20251010131052" target="_blank" rel="nofollow noopener">OpenSSH 10.2 released</a></p>

<ul>
<li>Related to 10.x versions : <a href="https://www.openssh.com/pq.html" target="_blank" rel="nofollow noopener">Post-Quantum Cryptography</a></li>
</ul>

<hr>

<p><a href="https://www.tumfatig.net/2025/check-your-ip-infos-using-nginx" target="_blank" rel="nofollow noopener">Check your IP infos using nginx</a></p>

<hr>

<h3>Experimenting with Compression</h3>

<p>(just given an overview, I dont exepect you to read the all three writeups fully)</p>

<ul>
<li><a href="https://dan.langille.org/2025/10/06/experimenting-with-compression-off/" target="_blank" rel="nofollow noopener">Experimenting with compression off</a></li>
<li><a href="https://dan.langille.org/2025/10/06/experimenting-with-compressionlz4/" target="_blank" rel="nofollow noopener">Experimenting with compression=lz4</a></li>
<li><a href="https://dan.langille.org/2025/10/06/experimenting-with-compressionzstd/" target="_blank" rel="nofollow noopener">Experimenting with compression=zstd</a></li>
<li><a href="https://dan.langille.org/2025/10/06/compression-results" target="_blank" rel="nofollow noopener">Compression results</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/636/feedback/anton%20-%20boxybsd.md" target="_blank" rel="nofollow noopener">Anton - Boxybsd</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>635: Guess who's back?</title>
  <link>https://www.bsdnow.tv/635</link>
  <guid isPermaLink="false">8b8ffd0a-14ca-45b0-8d80-b1c9ab198b57</guid>
  <pubDate>Thu, 30 Oct 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8b8ffd0a-14ca-45b0-8d80-b1c9ab198b57.mp3" length="74451456" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 7.8, Building Enterprise Storage with Proxmox, SSD performance, Virtual Machines and more...</itunes:subtitle>
  <itunes:duration>1:17:33</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>&lt;p&gt;OpenBSD 7.8, Building Enterprise Storage with Proxmox, SSD performance, Virtual Machines and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.openbsd.org/78.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 7.8 Released&lt;/a&gt; also (&lt;a href="https://undeadly.org/cgi?action=article;sid=20251022025822" target="_blank" rel="nofollow noopener"&gt;https://undeadly.org/cgi?action=article;sid=20251022025822&lt;/a&gt;) and (&lt;a href="https://bsd.network/@brynet/115403567146395679" target="_blank" rel="nofollow noopener"&gt;https://bsd.network/@brynet/115403567146395679&lt;/a&gt;)&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/building-enterprise-grade-storage-on-proxmox-with-zfs" target="_blank" rel="nofollow noopener"&gt;Building Enterprise-Grade Storage on Proxmox with ZFS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.tuhs.org/pipermail/tuhs/2025-July/032268.html" target="_blank" rel="nofollow noopener"&gt;[TUHS] Was artifacts, now ethernet&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/SSDWritePerfMetricsWish" target="_blank" rel="nofollow noopener"&gt;I wish SSDs gave you CPU performance style metrics about their activity&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2025/migrate-a-kvm-virtual-machine-to-omnios-bhyve" target="_blank" rel="nofollow noopener"&gt;Migrate a KVM virtual machine to OmniOS bhyve&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/635/feedback/brad%20-%20bhyve.md" target="_blank" rel="nofollow noopener"&gt;brad - bhyve&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 7.8, Building Enterprise Storage with Proxmox, SSD performance, Virtual Machines 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.openbsd.org/78.html" target="_blank" rel="nofollow noopener">OpenBSD 7.8 Released</a> also (<a href="https://undeadly.org/cgi?action=article;sid=20251022025822" target="_blank" rel="nofollow noopener">https://undeadly.org/cgi?action=article;sid=20251022025822</a>) and (<a href="https://bsd.network/@brynet/115403567146395679" target="_blank" rel="nofollow noopener">https://bsd.network/@brynet/115403567146395679</a>)</p>

<hr>

<p><a href="https://klarasystems.com/articles/building-enterprise-grade-storage-on-proxmox-with-zfs" target="_blank" rel="nofollow noopener">Building Enterprise-Grade Storage on Proxmox with ZFS</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.tuhs.org/pipermail/tuhs/2025-July/032268.html" target="_blank" rel="nofollow noopener">[TUHS] Was artifacts, now ethernet</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/SSDWritePerfMetricsWish" target="_blank" rel="nofollow noopener">I wish SSDs gave you CPU performance style metrics about their activity</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2025/migrate-a-kvm-virtual-machine-to-omnios-bhyve" target="_blank" rel="nofollow noopener">Migrate a KVM virtual machine to OmniOS bhyve</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/635/feedback/brad%20-%20bhyve.md" target="_blank" rel="nofollow noopener">brad - bhyve</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 7.8, Building Enterprise Storage with Proxmox, SSD performance, Virtual Machines 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.openbsd.org/78.html" target="_blank" rel="nofollow noopener">OpenBSD 7.8 Released</a> also (<a href="https://undeadly.org/cgi?action=article;sid=20251022025822" target="_blank" rel="nofollow noopener">https://undeadly.org/cgi?action=article;sid=20251022025822</a>) and (<a href="https://bsd.network/@brynet/115403567146395679" target="_blank" rel="nofollow noopener">https://bsd.network/@brynet/115403567146395679</a>)</p>

<hr>

<p><a href="https://klarasystems.com/articles/building-enterprise-grade-storage-on-proxmox-with-zfs" target="_blank" rel="nofollow noopener">Building Enterprise-Grade Storage on Proxmox with ZFS</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.tuhs.org/pipermail/tuhs/2025-July/032268.html" target="_blank" rel="nofollow noopener">[TUHS] Was artifacts, now ethernet</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/SSDWritePerfMetricsWish" target="_blank" rel="nofollow noopener">I wish SSDs gave you CPU performance style metrics about their activity</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2025/migrate-a-kvm-virtual-machine-to-omnios-bhyve" target="_blank" rel="nofollow noopener">Migrate a KVM virtual machine to OmniOS bhyve</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/635/feedback/brad%20-%20bhyve.md" target="_blank" rel="nofollow noopener">brad - bhyve</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>634: Why Self-Host?</title>
  <link>https://www.bsdnow.tv/634</link>
  <guid isPermaLink="false">32188a5f-bff5-4a8f-97bd-b1c19705b7a9</guid>
  <pubDate>Thu, 23 Oct 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/32188a5f-bff5-4a8f-97bd-b1c19705b7a9.mp3" length="59177472" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Why Self-host?, Advanced ZFS Dataset Management, Building a Simple Router with OpenBSD, Minimal pkgbase jails / chroots, WSL-For-FreeBSD, Yubico yubikey 5 nfc on FreeBSD, The Q3 2025 Issue of the FreeBSD Journal, and more</itunes:subtitle>
  <itunes:duration>1:01:38</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>&lt;p&gt;Why Self-host?, Advanced ZFS Dataset Management, Building a Simple Router with OpenBSD, Minimal pkgbase jails / chroots, WSL-For-FreeBSD, Yubico yubikey 5 nfc on FreeBSD, The Q3 2025 Issue of the FreeBSD Journal, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://romanzipp.com/blog/why-a-homelab-why-self-host" target="_blank" rel="nofollow noopener"&gt;Why Self-host?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/advanced-zfs-dataset-management/" target="_blank" rel="nofollow noopener"&gt;Advanced ZFS Dataset Management: Snapshots, Clones, and Bookmarks&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://btxx.org/posts/openbsd-router/" target="_blank" rel="nofollow noopener"&gt;Building a Simple Router with OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://forums.FreeBSD.org/threads/minimal-pkgbase-jails-chroots-docker-oci-like.99512/" target="_blank" rel="nofollow noopener"&gt;Minimal pkgbase jails / chroots&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/BalajeS/WSL-For-FreeBSD" target="_blank" rel="nofollow noopener"&gt;WSL-For-FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://forums.freebsd.org/threads/yubico-yubikey-5-nfc-on-freebsd.99529" target="_blank" rel="nofollow noopener"&gt;Yubico yubikey 5 nfc on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/the-q3-2025-issue-of-the-freebsd-journal-is-now-available/" target="_blank" rel="nofollow noopener"&gt;The Q3 2025 Issue of the FreeBSD Journal is Now Available&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

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

&lt;hr&gt;
</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, self hosting, hosting, advanced, dataset management, simple router, router, pkgbase, minimal, chroot, WSL, yubico, yubikey 5, FreeBSD Journal</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Why Self-host?, Advanced ZFS Dataset Management, Building a Simple Router with OpenBSD, Minimal pkgbase jails / chroots, WSL-For-FreeBSD, Yubico yubikey 5 nfc on FreeBSD, The Q3 2025 Issue of the FreeBSD Journal, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://romanzipp.com/blog/why-a-homelab-why-self-host" target="_blank" rel="nofollow noopener">Why Self-host?</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/advanced-zfs-dataset-management/" target="_blank" rel="nofollow noopener">Advanced ZFS Dataset Management: Snapshots, Clones, and Bookmarks</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://btxx.org/posts/openbsd-router/" target="_blank" rel="nofollow noopener">Building a Simple Router with OpenBSD</a></p>

<hr>

<p><a href="https://forums.FreeBSD.org/threads/minimal-pkgbase-jails-chroots-docker-oci-like.99512/" target="_blank" rel="nofollow noopener">Minimal pkgbase jails / chroots</a></p>

<hr>

<p><a href="https://github.com/BalajeS/WSL-For-FreeBSD" target="_blank" rel="nofollow noopener">WSL-For-FreeBSD</a></p>

<hr>

<p><a href="https://forums.freebsd.org/threads/yubico-yubikey-5-nfc-on-freebsd.99529" target="_blank" rel="nofollow noopener">Yubico yubikey 5 nfc on FreeBSD</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/the-q3-2025-issue-of-the-freebsd-journal-is-now-available/" target="_blank" rel="nofollow noopener">The Q3 2025 Issue of the FreeBSD Journal is Now Available</a></p>

<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>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Why Self-host?, Advanced ZFS Dataset Management, Building a Simple Router with OpenBSD, Minimal pkgbase jails / chroots, WSL-For-FreeBSD, Yubico yubikey 5 nfc on FreeBSD, The Q3 2025 Issue of the FreeBSD Journal, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://romanzipp.com/blog/why-a-homelab-why-self-host" target="_blank" rel="nofollow noopener">Why Self-host?</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/advanced-zfs-dataset-management/" target="_blank" rel="nofollow noopener">Advanced ZFS Dataset Management: Snapshots, Clones, and Bookmarks</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://btxx.org/posts/openbsd-router/" target="_blank" rel="nofollow noopener">Building a Simple Router with OpenBSD</a></p>

<hr>

<p><a href="https://forums.FreeBSD.org/threads/minimal-pkgbase-jails-chroots-docker-oci-like.99512/" target="_blank" rel="nofollow noopener">Minimal pkgbase jails / chroots</a></p>

<hr>

<p><a href="https://github.com/BalajeS/WSL-For-FreeBSD" target="_blank" rel="nofollow noopener">WSL-For-FreeBSD</a></p>

<hr>

<p><a href="https://forums.freebsd.org/threads/yubico-yubikey-5-nfc-on-freebsd.99529" target="_blank" rel="nofollow noopener">Yubico yubikey 5 nfc on FreeBSD</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/the-q3-2025-issue-of-the-freebsd-journal-is-now-available/" target="_blank" rel="nofollow noopener">The Q3 2025 Issue of the FreeBSD Journal is Now Available</a></p>

<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>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>633: Magical Systems Thinking</title>
  <link>https://www.bsdnow.tv/633</link>
  <guid isPermaLink="false">4d736424-c75d-48e7-bd89-87f4b4a6fa41</guid>
  <pubDate>Thu, 16 Oct 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4d736424-c75d-48e7-bd89-87f4b4a6fa41.mp3" length="64108416" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>ZFS Features, Roadmap, and Innovations, Magical systems thinking, How VMware’s Debt-Fueled Acquisition Is Killing Open Source, OpenSSH 10.1 Released, KDE Plasma 6 Wayland on FreeBSD, Unix Co-Creator Brian Kernighan on Rust, Distros and NixOS, Balkanization of the Internet, GhostBSD 25.02 adds 'Gershwin' desktop for a Mac-like twist, and more</itunes:subtitle>
  <itunes:duration>1:06:46</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>&lt;p&gt;ZFS Features, Roadmap, and Innovations, Magical systems thinking, How VMware’s Debt-Fueled Acquisition Is Killing Open Source, OpenSSH 10.1 Released, KDE Plasma 6 Wayland on FreeBSD, Unix Co-Creator Brian Kernighan on Rust, Distros and NixOS, Balkanization of the Internet, GhostBSD 25.02 adds 'Gershwin' desktop for a Mac-like twist, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/zfs-new-features-roadmap-innovations?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;What the Future Brings – ZFS Features, Roadmap, and Innovations&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://worksinprogress.co/issue/magical-systems-thinking" target="_blank" rel="nofollow noopener"&gt;Magical systems thinking&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://fastcode.io/2025/08/30/the-69-billion-domino-effect-how-vmwares-debt-fueled-acquisition-is-killing-open-source-one-repository-at-a-time" target="_blank" rel="nofollow noopener"&gt;The $69 Billion Domino Effect: How VMware’s Debt-Fueled Acquisition Is Killing Open Source, One Repository at a Time&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.openssh.com/txt/release-10.1" target="_blank" rel="nofollow noopener"&gt;OpenSSH 10.1 Released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://euroquis.nl/kde/2025/09/07/wayland.html" target="_blank" rel="nofollow noopener"&gt;KDE Plasma 6 Wayland on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://thenewstack.io/unix-co-creator-brian-kernighan-on-rust-distros-and-nixos" target="_blank" rel="nofollow noopener"&gt;Unix Co-Creator Brian Kernighan on Rust, Distros and NixOS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.theregister.com/2025/08/27/ghostbsd_2502/" target="_blank" rel="nofollow noopener"&gt;GhostBSD 25.02 adds 'Gershwin' desktop for a Mac-like twist&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=oo_8gnWQ4xo" target="_blank" rel="nofollow noopener"&gt;Adventures in porting a Wayland Compositor to NetBSD and OpenBSD by Jeff Frasca&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/633/feedback/Kylen%20-%20CVEs.md" target="_blank" rel="nofollow noopener"&gt;Kylen - CVEs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, features, roadmap, innovations, systems thinking, magical, debt-fueled acquisition, kde plasma 6, wayland, brian Kernighan, rust, distro, nixos, ghostbsd, gershwin, mac-like</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>ZFS Features, Roadmap, and Innovations, Magical systems thinking, How VMware’s Debt-Fueled Acquisition Is Killing Open Source, OpenSSH 10.1 Released, KDE Plasma 6 Wayland on FreeBSD, Unix Co-Creator Brian Kernighan on Rust, Distros and NixOS, Balkanization of the Internet, GhostBSD 25.02 adds 'Gershwin' desktop for a Mac-like twist, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/zfs-new-features-roadmap-innovations?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">What the Future Brings – ZFS Features, Roadmap, and Innovations</a></p>

<hr>

<p><a href="https://worksinprogress.co/issue/magical-systems-thinking" target="_blank" rel="nofollow noopener">Magical systems thinking</a></p>

<hr>

<p><a href="https://fastcode.io/2025/08/30/the-69-billion-domino-effect-how-vmwares-debt-fueled-acquisition-is-killing-open-source-one-repository-at-a-time" target="_blank" rel="nofollow noopener">The $69 Billion Domino Effect: How VMware’s Debt-Fueled Acquisition Is Killing Open Source, One Repository at a Time</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.openssh.com/txt/release-10.1" target="_blank" rel="nofollow noopener">OpenSSH 10.1 Released</a></p>

<hr>

<p><a href="https://euroquis.nl/kde/2025/09/07/wayland.html" target="_blank" rel="nofollow noopener">KDE Plasma 6 Wayland on FreeBSD</a></p>

<hr>

<p><a href="https://thenewstack.io/unix-co-creator-brian-kernighan-on-rust-distros-and-nixos" target="_blank" rel="nofollow noopener">Unix Co-Creator Brian Kernighan on Rust, Distros and NixOS</a></p>

<hr>

<p><a href="https://www.theregister.com/2025/08/27/ghostbsd_2502/" target="_blank" rel="nofollow noopener">GhostBSD 25.02 adds 'Gershwin' desktop for a Mac-like twist</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=oo_8gnWQ4xo" target="_blank" rel="nofollow noopener">Adventures in porting a Wayland Compositor to NetBSD and OpenBSD by Jeff Frasca</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/633/feedback/Kylen%20-%20CVEs.md" target="_blank" rel="nofollow noopener">Kylen - CVEs</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>ZFS Features, Roadmap, and Innovations, Magical systems thinking, How VMware’s Debt-Fueled Acquisition Is Killing Open Source, OpenSSH 10.1 Released, KDE Plasma 6 Wayland on FreeBSD, Unix Co-Creator Brian Kernighan on Rust, Distros and NixOS, Balkanization of the Internet, GhostBSD 25.02 adds 'Gershwin' desktop for a Mac-like twist, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/zfs-new-features-roadmap-innovations?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">What the Future Brings – ZFS Features, Roadmap, and Innovations</a></p>

<hr>

<p><a href="https://worksinprogress.co/issue/magical-systems-thinking" target="_blank" rel="nofollow noopener">Magical systems thinking</a></p>

<hr>

<p><a href="https://fastcode.io/2025/08/30/the-69-billion-domino-effect-how-vmwares-debt-fueled-acquisition-is-killing-open-source-one-repository-at-a-time" target="_blank" rel="nofollow noopener">The $69 Billion Domino Effect: How VMware’s Debt-Fueled Acquisition Is Killing Open Source, One Repository at a Time</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.openssh.com/txt/release-10.1" target="_blank" rel="nofollow noopener">OpenSSH 10.1 Released</a></p>

<hr>

<p><a href="https://euroquis.nl/kde/2025/09/07/wayland.html" target="_blank" rel="nofollow noopener">KDE Plasma 6 Wayland on FreeBSD</a></p>

<hr>

<p><a href="https://thenewstack.io/unix-co-creator-brian-kernighan-on-rust-distros-and-nixos" target="_blank" rel="nofollow noopener">Unix Co-Creator Brian Kernighan on Rust, Distros and NixOS</a></p>

<hr>

<p><a href="https://www.theregister.com/2025/08/27/ghostbsd_2502/" target="_blank" rel="nofollow noopener">GhostBSD 25.02 adds 'Gershwin' desktop for a Mac-like twist</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=oo_8gnWQ4xo" target="_blank" rel="nofollow noopener">Adventures in porting a Wayland Compositor to NetBSD and OpenBSD by Jeff Frasca</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/633/feedback/Kylen%20-%20CVEs.md" target="_blank" rel="nofollow noopener">Kylen - CVEs</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>632: Zipbomb defeated</title>
  <link>https://www.bsdnow.tv/632</link>
  <guid isPermaLink="false">4d8e2a9b-ebf7-4dcc-bbda-93121e1ab789</guid>
  <pubDate>Thu, 09 Oct 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4d8e2a9b-ebf7-4dcc-bbda-93121e1ab789.mp3" length="50827776" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>zipbomb defeated, Optimizing ZFS for High-Throughput Storage Workloads, Open Source is one person, Omada SDN Controller on FreeBSD, Building a Simple Router with OpenBSD, Back to the origins, Enhancing Support for NAT64 Protocol Translation in NetBSD, and more</itunes:subtitle>
  <itunes:duration>52:56</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>&lt;p&gt;zipbomb defeated, Optimizing ZFS for High-Throughput Storage Workloads, Open Source is one person, Omada SDN Controller on FreeBSD, Building a Simple Router with OpenBSD, Back to the origins, Enhancing Support for NAT64 Protocol Translation in NetBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.reddit.com/r/openzfs/comments/1niu6h7/when_a_decompression_zip_bomb_meets_zfs_19_pb/" target="_blank" rel="nofollow noopener"&gt;zipbomb defeated&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/optimizing-zfs-for-high-throughput-storage-workloads?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Optimizing ZFS for High-Throughput Storage Workloads&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://opensourcesecurity.io/2025/08-oss-one-person" target="_blank" rel="nofollow noopener"&gt;Open Source is one person&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.feld.me/posts/2025/08/omada-on-freebsd" target="_blank" rel="nofollow noopener"&gt;Omada SDN Controller on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://failsafe.monster/posts/another-world/" target="_blank" rel="nofollow noopener"&gt;Back to the origins&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/gsoc2025_nat64_protocol_translation" target="_blank" rel="nofollow noopener"&gt;Google Summer of Code 2025 Reports: Enhancing Support for NAT64 Protocol Translation in NetBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Undeadly Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20250601104254" target="_blank" rel="nofollow noopener"&gt;j2k25 - OpenBSD Hackathon Japan 2025&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20250818113047" target="_blank" rel="nofollow noopener"&gt;OpenSSH will now adapt IP QoS to actual sessions and traffic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20250903064251" target="_blank" rel="nofollow noopener"&gt;Preliminary support for Raspberry Pi 5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20250911045955" target="_blank" rel="nofollow noopener"&gt;OpenBSD enters 7.8-beta&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20250912124932" target="_blank" rel="nofollow noopener"&gt;Full BSDCan 2025 video playlist(s) available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20250926141610" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 8.9 released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/632/feedback/Brad%20-%20a%20few%20things.md" target="_blank" rel="nofollow noopener"&gt;Brad - a few things&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, zipbomb, optimizing, High-Throughput, Workload, open person, Omada, sdn, software defined network, router, origins, enhancing support, nat64,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>zipbomb defeated, Optimizing ZFS for High-Throughput Storage Workloads, Open Source is one person, Omada SDN Controller on FreeBSD, Building a Simple Router with OpenBSD, Back to the origins, Enhancing Support for NAT64 Protocol Translation in NetBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.reddit.com/r/openzfs/comments/1niu6h7/when_a_decompression_zip_bomb_meets_zfs_19_pb/" target="_blank" rel="nofollow noopener">zipbomb defeated</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/optimizing-zfs-for-high-throughput-storage-workloads?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Optimizing ZFS for High-Throughput Storage Workloads</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://opensourcesecurity.io/2025/08-oss-one-person" target="_blank" rel="nofollow noopener">Open Source is one person</a></p>

<hr>

<p><a href="https://blog.feld.me/posts/2025/08/omada-on-freebsd" target="_blank" rel="nofollow noopener">Omada SDN Controller on FreeBSD</a></p>

<hr>

<p><a href="https://failsafe.monster/posts/another-world/" target="_blank" rel="nofollow noopener">Back to the origins</a></p>

<hr>

<p><a href="http://blog.netbsd.org/tnf/entry/gsoc2025_nat64_protocol_translation" target="_blank" rel="nofollow noopener">Google Summer of Code 2025 Reports: Enhancing Support for NAT64 Protocol Translation in NetBSD</a></p>

<hr>

<h2>Undeadly Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article;sid=20250601104254" target="_blank" rel="nofollow noopener">j2k25 - OpenBSD Hackathon Japan 2025</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20250818113047" target="_blank" rel="nofollow noopener">OpenSSH will now adapt IP QoS to actual sessions and traffic</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20250903064251" target="_blank" rel="nofollow noopener">Preliminary support for Raspberry Pi 5</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20250911045955" target="_blank" rel="nofollow noopener">OpenBSD enters 7.8-beta</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20250912124932" target="_blank" rel="nofollow noopener">Full BSDCan 2025 video playlist(s) available</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20250926141610" target="_blank" rel="nofollow noopener">OpenBGPD 8.9 released</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/632/feedback/Brad%20-%20a%20few%20things.md" target="_blank" rel="nofollow noopener">Brad - a few things</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>zipbomb defeated, Optimizing ZFS for High-Throughput Storage Workloads, Open Source is one person, Omada SDN Controller on FreeBSD, Building a Simple Router with OpenBSD, Back to the origins, Enhancing Support for NAT64 Protocol Translation in NetBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.reddit.com/r/openzfs/comments/1niu6h7/when_a_decompression_zip_bomb_meets_zfs_19_pb/" target="_blank" rel="nofollow noopener">zipbomb defeated</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/optimizing-zfs-for-high-throughput-storage-workloads?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Optimizing ZFS for High-Throughput Storage Workloads</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://opensourcesecurity.io/2025/08-oss-one-person" target="_blank" rel="nofollow noopener">Open Source is one person</a></p>

<hr>

<p><a href="https://blog.feld.me/posts/2025/08/omada-on-freebsd" target="_blank" rel="nofollow noopener">Omada SDN Controller on FreeBSD</a></p>

<hr>

<p><a href="https://failsafe.monster/posts/another-world/" target="_blank" rel="nofollow noopener">Back to the origins</a></p>

<hr>

<p><a href="http://blog.netbsd.org/tnf/entry/gsoc2025_nat64_protocol_translation" target="_blank" rel="nofollow noopener">Google Summer of Code 2025 Reports: Enhancing Support for NAT64 Protocol Translation in NetBSD</a></p>

<hr>

<h2>Undeadly Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article;sid=20250601104254" target="_blank" rel="nofollow noopener">j2k25 - OpenBSD Hackathon Japan 2025</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20250818113047" target="_blank" rel="nofollow noopener">OpenSSH will now adapt IP QoS to actual sessions and traffic</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20250903064251" target="_blank" rel="nofollow noopener">Preliminary support for Raspberry Pi 5</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20250911045955" target="_blank" rel="nofollow noopener">OpenBSD enters 7.8-beta</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20250912124932" target="_blank" rel="nofollow noopener">Full BSDCan 2025 video playlist(s) available</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20250926141610" target="_blank" rel="nofollow noopener">OpenBGPD 8.9 released</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/632/feedback/Brad%20-%20a%20few%20things.md" target="_blank" rel="nofollow noopener">Brad - a few things</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>630: Bhyve Management UI</title>
  <link>https://www.bsdnow.tv/630</link>
  <guid isPermaLink="false">95129bfb-90c7-481b-a15f-9d2af6dae342</guid>
  <pubDate>Thu, 02 Oct 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/95129bfb-90c7-481b-a15f-9d2af6dae342.mp3" length="34300800" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Foundation Q2 2025 Status Update, Keeping Data Safe with OpenZFS, Ollama on FreeBSD Using GPU Passthrough, ClonOS, Preliminary support for Raspberry Pi 5, Sylve: Manage bhyve VMs and Clusters on FreeBSD, Preventing Systemd DHCP RELEASE Behavior, Call for testing - Samba 4.22, and more</itunes:subtitle>
  <itunes:duration>35:43</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>&lt;p&gt;FreeBSD Foundation Q2 2025 Status Update, Keeping Data Safe with OpenZFS, Ollama on FreeBSD Using GPU Passthrough, ClonOS, Preliminary support for Raspberry Pi 5, Sylve: Manage bhyve VMs and Clusters on FreeBSD, Preventing Systemd DHCP RELEASE Behavior, Call for testing - Samba 4.22, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/freebsd-foundation-q2-2025-status-update" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation Q2 2025 Status Update&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/keeping-data-safe-with-openzfs-security-encryption-delegation?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Keeping Data Safe with OpenZFS: Security, Encryption, and Delegation&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://evolving-architecture.eu/ollama-freebsd-gpu-passthrough/" target="_blank" rel="nofollow noopener"&gt;Ollama on FreeBSD Using GPU Passthrough&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://clonos.convectix.com/" target="_blank" rel="nofollow noopener"&gt;ClonOS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20250903064251" target="_blank" rel="nofollow noopener"&gt;Preliminary support for Raspberry Pi 5&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://gyptazy.com/blog/sylve-a-proxmox-alike-webui-for-bhyve-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Sylve: Manage bhyve VMs and Clusters on FreeBSD&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.feld.me/posts/2025/09/systemd-networkd-dhcp-release/" target="_blank" rel="nofollow noopener"&gt;Preventing Systemd DHCP RELEASE Behavior&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/0mp/freebsd-ports/tree/0mp/samba422" target="_blank" rel="nofollow noopener"&gt;Call for testing - Samba 4.22 in 0mp's ports tree&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;-&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/630/feedback/vincent-ollama.md" target="_blank" rel="nofollow noopener"&gt;Vincent - Ollama on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, status report, data safety, ollama, GPU Passthrough, clonos, Raspberry pi 5, rpi5, sylve, management, cluster, systemd dhcp release, samba 4.22</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Foundation Q2 2025 Status Update, Keeping Data Safe with OpenZFS, Ollama on FreeBSD Using GPU Passthrough, ClonOS, Preliminary support for Raspberry Pi 5, Sylve: Manage bhyve VMs and Clusters on FreeBSD, Preventing Systemd DHCP RELEASE Behavior, Call for testing - Samba 4.22, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/freebsd-foundation-q2-2025-status-update" target="_blank" rel="nofollow noopener">FreeBSD Foundation Q2 2025 Status Update</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/keeping-data-safe-with-openzfs-security-encryption-delegation?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Keeping Data Safe with OpenZFS: Security, Encryption, and Delegation</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://evolving-architecture.eu/ollama-freebsd-gpu-passthrough/" target="_blank" rel="nofollow noopener">Ollama on FreeBSD Using GPU Passthrough</a></p>

<hr>

<p><a href="https://clonos.convectix.com/" target="_blank" rel="nofollow noopener">ClonOS</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20250903064251" target="_blank" rel="nofollow noopener">Preliminary support for Raspberry Pi 5</a></p>

<hr>

<p><a href="https://gyptazy.com/blog/sylve-a-proxmox-alike-webui-for-bhyve-on-freebsd/" target="_blank" rel="nofollow noopener">Sylve: Manage bhyve VMs and Clusters on FreeBSD<br>
</a></p>

<hr>

<p><a href="https://blog.feld.me/posts/2025/09/systemd-networkd-dhcp-release/" target="_blank" rel="nofollow noopener">Preventing Systemd DHCP RELEASE Behavior</a></p>

<hr>

<p><a href="https://github.com/0mp/freebsd-ports/tree/0mp/samba422" target="_blank" rel="nofollow noopener">Call for testing - Samba 4.22 in 0mp's ports tree</a></p>

<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>

<h2>Feedback/Questions</h2>

<p>-<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/630/feedback/vincent-ollama.md" target="_blank" rel="nofollow noopener">Vincent - Ollama on FreeBSD</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Foundation Q2 2025 Status Update, Keeping Data Safe with OpenZFS, Ollama on FreeBSD Using GPU Passthrough, ClonOS, Preliminary support for Raspberry Pi 5, Sylve: Manage bhyve VMs and Clusters on FreeBSD, Preventing Systemd DHCP RELEASE Behavior, Call for testing - Samba 4.22, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/freebsd-foundation-q2-2025-status-update" target="_blank" rel="nofollow noopener">FreeBSD Foundation Q2 2025 Status Update</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/keeping-data-safe-with-openzfs-security-encryption-delegation?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Keeping Data Safe with OpenZFS: Security, Encryption, and Delegation</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://evolving-architecture.eu/ollama-freebsd-gpu-passthrough/" target="_blank" rel="nofollow noopener">Ollama on FreeBSD Using GPU Passthrough</a></p>

<hr>

<p><a href="https://clonos.convectix.com/" target="_blank" rel="nofollow noopener">ClonOS</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20250903064251" target="_blank" rel="nofollow noopener">Preliminary support for Raspberry Pi 5</a></p>

<hr>

<p><a href="https://gyptazy.com/blog/sylve-a-proxmox-alike-webui-for-bhyve-on-freebsd/" target="_blank" rel="nofollow noopener">Sylve: Manage bhyve VMs and Clusters on FreeBSD<br>
</a></p>

<hr>

<p><a href="https://blog.feld.me/posts/2025/09/systemd-networkd-dhcp-release/" target="_blank" rel="nofollow noopener">Preventing Systemd DHCP RELEASE Behavior</a></p>

<hr>

<p><a href="https://github.com/0mp/freebsd-ports/tree/0mp/samba422" target="_blank" rel="nofollow noopener">Call for testing - Samba 4.22 in 0mp's ports tree</a></p>

<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>

<h2>Feedback/Questions</h2>

<p>-<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/630/feedback/vincent-ollama.md" target="_blank" rel="nofollow noopener">Vincent - Ollama on FreeBSD</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>631: Endorphin Rush</title>
  <link>https://www.bsdnow.tv/631</link>
  <guid isPermaLink="false">76f80a10-4420-444a-801e-d3655c962851</guid>
  <pubDate>Thu, 25 Sep 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/76f80a10-4420-444a-801e-d3655c962851.mp3" length="88556160" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Secure Boot for FreeBSD, Systems lie about their proper functioning, Teching the tech and rushing the endorphins, Passing a Device Into A FreeBSD Jail With A Stable Name, ZFS snapshots aren't as immutable as I thought, due to snapshot metadata, Let's write a peephole optimizer for QBE's arm64 backend, Migrate a Peertube instance from Debian to FreeBSD, and more</itunes:subtitle>
  <itunes:duration>36:53</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>&lt;p&gt;Secure Boot for FreeBSD, Systems lie about their proper functioning, Teching the tech and rushing the endorphins, Passing a Device Into A FreeBSD Jail With A Stable Name, ZFS snapshots aren't as immutable as I thought, due to snapshot metadata, Let's write a peephole optimizer for QBE's arm64 backend, Migrate a Peertube instance from Debian to FreeBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://forums.FreeBSD.org/threads/how-to-set-up-secure-boot-for-freebsd.99169/" target="_blank" rel="nofollow noopener"&gt;Secure Boot for FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://devblogs.microsoft.com/oldnewthing/20250716-00/?p=111383" target="_blank" rel="nofollow noopener"&gt;The Fundamental Failure-Mode Theorem: Systems lie about their proper functioning&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://vulcanridr.mataroa.blog/blog/teching-the-tech-and-rushing-the-endorphins" target="_blank" rel="nofollow noopener"&gt;Teching the tech and rushing the endorphins&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.feld.me/posts/2025/09/passing-device-freebsd-jail-with-stable-name/" target="_blank" rel="nofollow noopener"&gt;Passing a Device Into A FreeBSD Jail With A Stable Name&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSSnapshotsNotFullyImmutable" target="_blank" rel="nofollow noopener"&gt;ZFS snapshots aren't as immutable as I thought, due to snapshot metadata&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://briancallahan.net/blog/20250901.html" target="_blank" rel="nofollow noopener"&gt;Let's write a peephole optimizer for QBE's arm64 backend&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2025/migrate-a-peertube-instance-from-debian-to-freebsd" target="_blank" rel="nofollow noopener"&gt;Migrate a Peertube instance from Debian to FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;-&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/631/feedback/Steve%20-%20Interviews.md" target="_blank" rel="nofollow noopener"&gt;Steve - Interviews&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, status report, data safety, ollama, GPU Passthrough, clonos, Raspberry pi 5, rpi5, sylve, management, cluster, systemd dhcp release, samba 4.22</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Secure Boot for FreeBSD, Systems lie about their proper functioning, Teching the tech and rushing the endorphins, Passing a Device Into A FreeBSD Jail With A Stable Name, ZFS snapshots aren't as immutable as I thought, due to snapshot metadata, Let's write a peephole optimizer for QBE's arm64 backend, Migrate a Peertube instance from Debian to FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://forums.FreeBSD.org/threads/how-to-set-up-secure-boot-for-freebsd.99169/" target="_blank" rel="nofollow noopener">Secure Boot for FreeBSD</a></p>

<hr>

<p><a href="https://devblogs.microsoft.com/oldnewthing/20250716-00/?p=111383" target="_blank" rel="nofollow noopener">The Fundamental Failure-Mode Theorem: Systems lie about their proper functioning</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://vulcanridr.mataroa.blog/blog/teching-the-tech-and-rushing-the-endorphins" target="_blank" rel="nofollow noopener">Teching the tech and rushing the endorphins</a></p>

<hr>

<p><a href="https://blog.feld.me/posts/2025/09/passing-device-freebsd-jail-with-stable-name/" target="_blank" rel="nofollow noopener">Passing a Device Into A FreeBSD Jail With A Stable Name</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSSnapshotsNotFullyImmutable" target="_blank" rel="nofollow noopener">ZFS snapshots aren't as immutable as I thought, due to snapshot metadata</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20250901.html" target="_blank" rel="nofollow noopener">Let's write a peephole optimizer for QBE's arm64 backend</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2025/migrate-a-peertube-instance-from-debian-to-freebsd" target="_blank" rel="nofollow noopener">Migrate a Peertube instance from Debian to FreeBSD</a></p>

<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>

<h2>Feedback/Questions</h2>

<p>-<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/631/feedback/Steve%20-%20Interviews.md" target="_blank" rel="nofollow noopener">Steve - Interviews</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Secure Boot for FreeBSD, Systems lie about their proper functioning, Teching the tech and rushing the endorphins, Passing a Device Into A FreeBSD Jail With A Stable Name, ZFS snapshots aren't as immutable as I thought, due to snapshot metadata, Let's write a peephole optimizer for QBE's arm64 backend, Migrate a Peertube instance from Debian to FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://forums.FreeBSD.org/threads/how-to-set-up-secure-boot-for-freebsd.99169/" target="_blank" rel="nofollow noopener">Secure Boot for FreeBSD</a></p>

<hr>

<p><a href="https://devblogs.microsoft.com/oldnewthing/20250716-00/?p=111383" target="_blank" rel="nofollow noopener">The Fundamental Failure-Mode Theorem: Systems lie about their proper functioning</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://vulcanridr.mataroa.blog/blog/teching-the-tech-and-rushing-the-endorphins" target="_blank" rel="nofollow noopener">Teching the tech and rushing the endorphins</a></p>

<hr>

<p><a href="https://blog.feld.me/posts/2025/09/passing-device-freebsd-jail-with-stable-name/" target="_blank" rel="nofollow noopener">Passing a Device Into A FreeBSD Jail With A Stable Name</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSSnapshotsNotFullyImmutable" target="_blank" rel="nofollow noopener">ZFS snapshots aren't as immutable as I thought, due to snapshot metadata</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20250901.html" target="_blank" rel="nofollow noopener">Let's write a peephole optimizer for QBE's arm64 backend</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2025/migrate-a-peertube-instance-from-debian-to-freebsd" target="_blank" rel="nofollow noopener">Migrate a Peertube instance from Debian to FreeBSD</a></p>

<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>

<h2>Feedback/Questions</h2>

<p>-<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/631/feedback/Steve%20-%20Interviews.md" target="_blank" rel="nofollow noopener">Steve - Interviews</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>629: Host Naming Conventions</title>
  <link>https://www.bsdnow.tv/629</link>
  <guid isPermaLink="false">95debf62-27d2-44db-9362-3e6c9f6d1fd3</guid>
  <pubDate>Thu, 18 Sep 2025 10:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/95debf62-27d2-44db-9362-3e6c9f6d1fd3.mp3" length="98209516" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The Death of Industrial Design, Host naming Convensions, Symbian reflections, bash timeouts, nvme vs ssds, a system to organize your life, and more.
</itunes:subtitle>
  <itunes:duration>1:08:11</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>&lt;p&gt;The Death of Industrial Design, Host naming Convensions, Symbian reflections, bash timeouts, nvme vs ssds, a system to organize your life, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hackaday.com/2025/07/23/the-death-of-industrial-design-and-the-era-of-dull-electronics" target="_blank" rel="nofollow noopener"&gt;The Death Of Industrial Design And The Era Of Dull Electronics&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vulcanridr.mataroa.blog/blog/host-naming-convention" target="_blank" rel="nofollow noopener"&gt;Host Naming Convention&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.theregister.com/2025/07/17/symbian_forgotten_foss_phone_os/" target="_blank" rel="nofollow noopener"&gt;Open, free, and completely ignored: The strange afterlife of Symbian&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://heitorpb.github.io/bla/timeout/" target="_blank" rel="nofollow noopener"&gt;TIL: timeout in Bash scripts&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/NVMeOvertakingSATAForSSDs" target="_blank" rel="nofollow noopener"&gt;It seems like NVMe SSDs have overtaken SATA SSDs for high capacities&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://johnnydecimal.com" target="_blank" rel="nofollow noopener"&gt;A system to organise your life&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;h2&gt;- &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/629/feedback/Nelson%20-%20books.md" target="_blank" rel="nofollow noopener"&gt;Nelson - Books&lt;/a&gt;&lt;/h2&gt;

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

&lt;hr&gt;
</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, industrial design, dull electronics, hostname, convention, bash, timeout, symbian, nvme, ssd, performance, capacity, organization</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Death of Industrial Design, Host naming Convensions, Symbian reflections, bash timeouts, nvme vs ssds, a system to organize your life, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://hackaday.com/2025/07/23/the-death-of-industrial-design-and-the-era-of-dull-electronics" target="_blank" rel="nofollow noopener">The Death Of Industrial Design And The Era Of Dull Electronics</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/host-naming-convention" target="_blank" rel="nofollow noopener">Host Naming Convention</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.theregister.com/2025/07/17/symbian_forgotten_foss_phone_os/" target="_blank" rel="nofollow noopener">Open, free, and completely ignored: The strange afterlife of Symbian</a></p>

<hr>

<p><a href="https://heitorpb.github.io/bla/timeout/" target="_blank" rel="nofollow noopener">TIL: timeout in Bash scripts</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/NVMeOvertakingSATAForSSDs" target="_blank" rel="nofollow noopener">It seems like NVMe SSDs have overtaken SATA SSDs for high capacities</a></p>

<hr>

<p><a href="https://johnnydecimal.com" target="_blank" rel="nofollow noopener">A system to organise your life</a></p>

<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>

<h2>Feedback/Questions</h2>

<h2>- <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/629/feedback/Nelson%20-%20books.md" target="_blank" rel="nofollow noopener">Nelson - Books</a></h2>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Death of Industrial Design, Host naming Convensions, Symbian reflections, bash timeouts, nvme vs ssds, a system to organize your life, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://hackaday.com/2025/07/23/the-death-of-industrial-design-and-the-era-of-dull-electronics" target="_blank" rel="nofollow noopener">The Death Of Industrial Design And The Era Of Dull Electronics</a></p>

<hr>

<p><a href="https://vulcanridr.mataroa.blog/blog/host-naming-convention" target="_blank" rel="nofollow noopener">Host Naming Convention</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.theregister.com/2025/07/17/symbian_forgotten_foss_phone_os/" target="_blank" rel="nofollow noopener">Open, free, and completely ignored: The strange afterlife of Symbian</a></p>

<hr>

<p><a href="https://heitorpb.github.io/bla/timeout/" target="_blank" rel="nofollow noopener">TIL: timeout in Bash scripts</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/NVMeOvertakingSATAForSSDs" target="_blank" rel="nofollow noopener">It seems like NVMe SSDs have overtaken SATA SSDs for high capacities</a></p>

<hr>

<p><a href="https://johnnydecimal.com" target="_blank" rel="nofollow noopener">A system to organise your life</a></p>

<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>

<h2>Feedback/Questions</h2>

<h2>- <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/629/feedback/Nelson%20-%20books.md" target="_blank" rel="nofollow noopener">Nelson - Books</a></h2>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>628: Product Hype</title>
  <link>https://www.bsdnow.tv/628</link>
  <guid isPermaLink="false">f3c4b62d-2f65-49c1-9e51-121e0e549d22</guid>
  <pubDate>Thu, 11 Sep 2025 00:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f3c4b62d-2f65-49c1-9e51-121e0e549d22.mp3" length="118079040" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The Hype is the Product, Programmers Aren’t So Humble Anymore—Maybe Because Nobody Codes in Perl, Is OpenBSD 10x faster than Linux?, How to install FreeBSD on providers that don't support it with mfsBSD, SSHX, Zvault Status Update, and more</itunes:subtitle>
  <itunes:duration>49:11</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>&lt;p&gt;The Hype is the Product, Programmers Aren’t So Humble Anymore—Maybe Because Nobody Codes in Perl, Is OpenBSD 10x faster than Linux?, How to install FreeBSD on providers that don't support it with mfsBSD, SSHX, Zvault Status Update, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://rys.io/en/180.html" target="_blank" rel="nofollow noopener"&gt;The Hype is the Product&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.wired.com/story/programmers-arent-humble-anymore-nobody-codes-in-perl" target="_blank" rel="nofollow noopener"&gt;Programmers Aren’t So Humble Anymore—Maybe Because Nobody Codes in Perl&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://flak.tedunangst.com/post/is-OpenBSD-10x-faster-than-Linux" target="_blank" rel="nofollow noopener"&gt;Is OpenBSD 10x faster than Linux?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2025/07/02/install_freebsd_providers_mfsbsd/" target="_blank" rel="nofollow noopener"&gt;How to install FreeBSD on providers that don't support it with mfsBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/ekzhang/sshx" target="_blank" rel="nofollow noopener"&gt;SSHX&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/zvaultio/Community/blob/main/posts/2025-07-13.md" target="_blank" rel="nofollow noopener"&gt;Zvault Status Update&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Undeadly Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20250705081315" target="_blank" rel="nofollow noopener"&gt;4096 colours and flashing text on the console!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20250717061920" target="_blank" rel="nofollow noopener"&gt;Font caching no longer runs as root&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20250818113047" target="_blank" rel="nofollow noopener"&gt;OpenSSH will now adapt IP QoS to actual sessions and traffic&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, hype, Product, programmers, humble, perl, performance, mfsBSD, SSHX, Zvault</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Hype is the Product, Programmers Aren’t So Humble Anymore—Maybe Because Nobody Codes in Perl, Is OpenBSD 10x faster than Linux?, How to install FreeBSD on providers that don't support it with mfsBSD, SSHX, Zvault Status Update, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://rys.io/en/180.html" target="_blank" rel="nofollow noopener">The Hype is the Product</a></p>

<hr>

<p><a href="https://www.wired.com/story/programmers-arent-humble-anymore-nobody-codes-in-perl" target="_blank" rel="nofollow noopener">Programmers Aren’t So Humble Anymore—Maybe Because Nobody Codes in Perl</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://flak.tedunangst.com/post/is-OpenBSD-10x-faster-than-Linux" target="_blank" rel="nofollow noopener">Is OpenBSD 10x faster than Linux?</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2025/07/02/install_freebsd_providers_mfsbsd/" target="_blank" rel="nofollow noopener">How to install FreeBSD on providers that don't support it with mfsBSD</a></p>

<hr>

<p><a href="https://github.com/ekzhang/sshx" target="_blank" rel="nofollow noopener">SSHX</a></p>

<hr>

<p><a href="https://github.com/zvaultio/Community/blob/main/posts/2025-07-13.md" target="_blank" rel="nofollow noopener">Zvault Status Update</a></p>

<hr>

<h2>Undeadly Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article;sid=20250705081315" target="_blank" rel="nofollow noopener">4096 colours and flashing text on the console!</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20250717061920" target="_blank" rel="nofollow noopener">Font caching no longer runs as root</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20250818113047" target="_blank" rel="nofollow noopener">OpenSSH will now adapt IP QoS to actual sessions and traffic</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Hype is the Product, Programmers Aren’t So Humble Anymore—Maybe Because Nobody Codes in Perl, Is OpenBSD 10x faster than Linux?, How to install FreeBSD on providers that don't support it with mfsBSD, SSHX, Zvault Status Update, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://rys.io/en/180.html" target="_blank" rel="nofollow noopener">The Hype is the Product</a></p>

<hr>

<p><a href="https://www.wired.com/story/programmers-arent-humble-anymore-nobody-codes-in-perl" target="_blank" rel="nofollow noopener">Programmers Aren’t So Humble Anymore—Maybe Because Nobody Codes in Perl</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://flak.tedunangst.com/post/is-OpenBSD-10x-faster-than-Linux" target="_blank" rel="nofollow noopener">Is OpenBSD 10x faster than Linux?</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2025/07/02/install_freebsd_providers_mfsbsd/" target="_blank" rel="nofollow noopener">How to install FreeBSD on providers that don't support it with mfsBSD</a></p>

<hr>

<p><a href="https://github.com/ekzhang/sshx" target="_blank" rel="nofollow noopener">SSHX</a></p>

<hr>

<p><a href="https://github.com/zvaultio/Community/blob/main/posts/2025-07-13.md" target="_blank" rel="nofollow noopener">Zvault Status Update</a></p>

<hr>

<h2>Undeadly Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article;sid=20250705081315" target="_blank" rel="nofollow noopener">4096 colours and flashing text on the console!</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20250717061920" target="_blank" rel="nofollow noopener">Font caching no longer runs as root</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20250818113047" target="_blank" rel="nofollow noopener">OpenSSH will now adapt IP QoS to actual sessions and traffic</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>627: Catastrophic OpenZFS bug</title>
  <link>https://www.bsdnow.tv/627</link>
  <guid isPermaLink="false">cc9023da-d33f-4b3d-8478-1c72c3b02aad</guid>
  <pubDate>Thu, 04 Sep 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/cc9023da-d33f-4b3d-8478-1c72c3b02aad.mp3" length="133652160" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>An (almost) catastrophic OpenZFS bug, crawler plague and the fragility of the web, Classic CDE (Common Desktop Environment) coming to OpenBSD, Some notes on DMARC policy inheritance and a gotcha, GNAT (Ada) is in fact fully supported on illumos, Eighteen Years of Greytrapping, and more</itunes:subtitle>
  <itunes:duration>55: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>&lt;p&gt;An (almost) catastrophic OpenZFS bug, crawler plague and the fragility of the web, Classic CDE (Common Desktop Environment) coming to OpenBSD, Some notes on DMARC policy inheritance and a gotcha, GNAT (Ada) is in fact fully supported on illumos, Eighteen Years of Greytrapping, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://despairlabs.com/blog/posts/2025-07-10-an-openzfs-bug-and-the-humans-that-made-it" target="_blank" rel="nofollow noopener"&gt;An (almost) catastrophic OpenZFS bug and the humans that made it (and Rust is here too)&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/web/WebIsKindOfFragile" target="_blank" rel="nofollow noopener"&gt;The current (2025) crawler plague and the fragility of the web&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20250730080301" target="_blank" rel="nofollow noopener"&gt;Classic CDE (Common Desktop Environment) coming to OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/spam/DMARCPolicyInheritanceNotes" target="_blank" rel="nofollow noopener"&gt;Some notes on DMARC policy inheritance and a gotcha&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://briancallahan.net/blog/20250817.html" target="_blank" rel="nofollow noopener"&gt;Despite thoughts to the contrary, GNAT (Ada) is in fact fully supported on illumos&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://bsdly.blogspot.com/2025/08/eighteen-years-of-greytrapping-is.html" target="_blank" rel="nofollow noopener"&gt;Eighteen Years of Greytrapping - Is the Weirdness Finally Paying Off?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, bug, crawler plague, web, fragility, common desktop environment, cde, DMARC, GNAT, Ada, illumos, Greytrapping</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>An (almost) catastrophic OpenZFS bug, crawler plague and the fragility of the web, Classic CDE (Common Desktop Environment) coming to OpenBSD, Some notes on DMARC policy inheritance and a gotcha, GNAT (Ada) is in fact fully supported on illumos, Eighteen Years of Greytrapping, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://despairlabs.com/blog/posts/2025-07-10-an-openzfs-bug-and-the-humans-that-made-it" target="_blank" rel="nofollow noopener">An (almost) catastrophic OpenZFS bug and the humans that made it (and Rust is here too)</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/web/WebIsKindOfFragile" target="_blank" rel="nofollow noopener">The current (2025) crawler plague and the fragility of the web</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://undeadly.org/cgi?action=article;sid=20250730080301" target="_blank" rel="nofollow noopener">Classic CDE (Common Desktop Environment) coming to OpenBSD</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/spam/DMARCPolicyInheritanceNotes" target="_blank" rel="nofollow noopener">Some notes on DMARC policy inheritance and a gotcha</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20250817.html" target="_blank" rel="nofollow noopener">Despite thoughts to the contrary, GNAT (Ada) is in fact fully supported on illumos</a></p>

<hr>

<p><a href="https://bsdly.blogspot.com/2025/08/eighteen-years-of-greytrapping-is.html" target="_blank" rel="nofollow noopener">Eighteen Years of Greytrapping - Is the Weirdness Finally Paying Off?</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>An (almost) catastrophic OpenZFS bug, crawler plague and the fragility of the web, Classic CDE (Common Desktop Environment) coming to OpenBSD, Some notes on DMARC policy inheritance and a gotcha, GNAT (Ada) is in fact fully supported on illumos, Eighteen Years of Greytrapping, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://despairlabs.com/blog/posts/2025-07-10-an-openzfs-bug-and-the-humans-that-made-it" target="_blank" rel="nofollow noopener">An (almost) catastrophic OpenZFS bug and the humans that made it (and Rust is here too)</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/web/WebIsKindOfFragile" target="_blank" rel="nofollow noopener">The current (2025) crawler plague and the fragility of the web</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://undeadly.org/cgi?action=article;sid=20250730080301" target="_blank" rel="nofollow noopener">Classic CDE (Common Desktop Environment) coming to OpenBSD</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/spam/DMARCPolicyInheritanceNotes" target="_blank" rel="nofollow noopener">Some notes on DMARC policy inheritance and a gotcha</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20250817.html" target="_blank" rel="nofollow noopener">Despite thoughts to the contrary, GNAT (Ada) is in fact fully supported on illumos</a></p>

<hr>

<p><a href="https://bsdly.blogspot.com/2025/08/eighteen-years-of-greytrapping-is.html" target="_blank" rel="nofollow noopener">Eighteen Years of Greytrapping - Is the Weirdness Finally Paying Off?</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>626: USB webcam testing</title>
  <link>https://www.bsdnow.tv/626</link>
  <guid isPermaLink="false">7aa38aab-5259-4707-991b-6514fd537e38</guid>
  <pubDate>Thu, 28 Aug 2025 10:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/7aa38aab-5259-4707-991b-6514fd537e38.mp3" length="134819520" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Journal Summer 2025 Edition, Java hiding in plain sight, BSDCan 2025 Trip report, Call for testing OpenBSD webcams, recent new features in OpenSSH, Improved 802.11g AP compatibility check, and more</itunes:subtitle>
  <itunes:duration>56:10</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>&lt;p&gt;FreeBSD Journal Summer 2025 Edition, Java hiding in plain sight, BSDCan 2025 Trip report, Call for testing OpenBSD webcams, recent new features in OpenSSH, Improved 802.11g AP compatibility check, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/our-work/journal/browser-based-edition/networking-3/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal April/May/June 2025 Edition&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/bsdcan-2025-trip-report-chuck-tuffli/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2025 Trip Report – Chuck Tuffli&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20250808083341" target="_blank" rel="nofollow noopener"&gt;Call for testing: USB webcams&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/from-minecraft-to-markets-java-hiding-in-plain-sight/" target="_blank" rel="nofollow noopener"&gt;From Minecraft to Markets: Java Hiding in Plain Sight&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20250802084523" target="_blank" rel="nofollow noopener"&gt;Recent new features in OpenSSH&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/netbsd_11_0_release_process" target="_blank" rel="nofollow noopener"&gt;NetBSD 11.0 release process underway&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Interview: Nico Cartron&lt;/h2&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;

&lt;p&gt;Special Guest: Nico Cartron.&lt;/p&gt;
</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, freebsd journal, java, bsdcan trip report, call for testing, openbsd webcams, openssh features, usb, 802.11g, release process underway</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Journal Summer 2025 Edition, Java hiding in plain sight, BSDCan 2025 Trip report, Call for testing OpenBSD webcams, recent new features in OpenSSH, Improved 802.11g AP compatibility check, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/our-work/journal/browser-based-edition/networking-3/" target="_blank" rel="nofollow noopener">FreeBSD Journal April/May/June 2025 Edition</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/bsdcan-2025-trip-report-chuck-tuffli/" target="_blank" rel="nofollow noopener">BSDCan 2025 Trip Report – Chuck Tuffli</a></p>

<h2>News Roundup</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20250808083341" target="_blank" rel="nofollow noopener">Call for testing: USB webcams</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/from-minecraft-to-markets-java-hiding-in-plain-sight/" target="_blank" rel="nofollow noopener">From Minecraft to Markets: Java Hiding in Plain Sight</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20250802084523" target="_blank" rel="nofollow noopener">Recent new features in OpenSSH</a></p>

<hr>

<p><a href="https://blog.netbsd.org/tnf/entry/netbsd_11_0_release_process" target="_blank" rel="nofollow noopener">NetBSD 11.0 release process underway</a></p>

<hr>

<h2>Interview: Nico Cartron</h2>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr><p>Special Guest: Nico Cartron.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Journal Summer 2025 Edition, Java hiding in plain sight, BSDCan 2025 Trip report, Call for testing OpenBSD webcams, recent new features in OpenSSH, Improved 802.11g AP compatibility check, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/our-work/journal/browser-based-edition/networking-3/" target="_blank" rel="nofollow noopener">FreeBSD Journal April/May/June 2025 Edition</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/bsdcan-2025-trip-report-chuck-tuffli/" target="_blank" rel="nofollow noopener">BSDCan 2025 Trip Report – Chuck Tuffli</a></p>

<h2>News Roundup</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20250808083341" target="_blank" rel="nofollow noopener">Call for testing: USB webcams</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/from-minecraft-to-markets-java-hiding-in-plain-sight/" target="_blank" rel="nofollow noopener">From Minecraft to Markets: Java Hiding in Plain Sight</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20250802084523" target="_blank" rel="nofollow noopener">Recent new features in OpenSSH</a></p>

<hr>

<p><a href="https://blog.netbsd.org/tnf/entry/netbsd_11_0_release_process" target="_blank" rel="nofollow noopener">NetBSD 11.0 release process underway</a></p>

<hr>

<h2>Interview: Nico Cartron</h2>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr><p>Special Guest: Nico Cartron.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>625: Build Cluster Speedup</title>
  <link>https://www.bsdnow.tv/625</link>
  <guid isPermaLink="false">79be3516-806f-4077-8f6c-b7434141a851</guid>
  <pubDate>Thu, 21 Aug 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/79be3516-806f-4077-8f6c-b7434141a851.mp3" length="121440960" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Why FreeBSD is the Right Choice for Embedded Devices, The Day GlusterFS Tried to Kill My Career, DragonFly DRM updated, NetBSD on Raspberry Pi, Speed up suspend/resume for FreeBSD, Revisiting ZFS's ZIL, separate log devices, and writes, One of my blog articles featured on the BSD Now podcast episode, New build cluster speeds up daily autobuilds, and more</itunes:subtitle>
  <itunes:duration>50:36</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>&lt;p&gt;Why FreeBSD is the Right Choice for Embedded Devices, The Day GlusterFS Tried to Kill My Career, DragonFly DRM updated, NetBSD on Raspberry Pi, Speed up suspend/resume for FreeBSD, Revisiting ZFS's ZIL, separate log devices, and writes, One of my blog articles featured on the BSD Now podcast episode, New build cluster speeds up daily autobuilds, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/why-freebsd-is-the-right-choice-for-embedded-devices/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Why FreeBSD is the Right Choice for Embedded Devices&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2025/05/21/the_day_glusterfs_tried_to_kill_my_career/" target="_blank" rel="nofollow noopener"&gt;The Day GlusterFS Tried to Kill My Career&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.dragonflydigest.com/2025/07/31/dragonfly-drm-updated/" target="_blank" rel="nofollow noopener"&gt;DragonFly DRM updated&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.ncartron.org/netbsd-on-raspberry-pi.html" target="_blank" rel="nofollow noopener"&gt;NetBSD on Raspberry Pi!&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://eugene-andrienko.com/en/it/2025/07/28/speed-up-suspend-resume-freebsd.html" target="_blank" rel="nofollow noopener"&gt;Speed up suspend/resume for FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSWritesAndZILIII" target="_blank" rel="nofollow noopener"&gt;Revisiting ZFS's ZIL, separate log devices, and writes&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.ncartron.org/one-of-my-blog-articles-featured-on-the-bsd-now-podcast-episode.html" target="_blank" rel="nofollow noopener"&gt;One of my blog articles featured on the BSD Now podcast episode!&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/new_build_cluster_speeds_up" target="_blank" rel="nofollow noopener"&gt;New build cluster speeds up daily autobuilds&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, embedded devices, glusterfs, drm updates, Raspberry pi, speed up, performance, fast, faster, suspend, resume, ZIL, featuring, featured, build cluster, autobuilds,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Why FreeBSD is the Right Choice for Embedded Devices, The Day GlusterFS Tried to Kill My Career, DragonFly DRM updated, NetBSD on Raspberry Pi, Speed up suspend/resume for FreeBSD, Revisiting ZFS's ZIL, separate log devices, and writes, One of my blog articles featured on the BSD Now podcast episode, New build cluster speeds up daily autobuilds, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/why-freebsd-is-the-right-choice-for-embedded-devices/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Why FreeBSD is the Right Choice for Embedded Devices</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2025/05/21/the_day_glusterfs_tried_to_kill_my_career/" target="_blank" rel="nofollow noopener">The Day GlusterFS Tried to Kill My Career</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.dragonflydigest.com/2025/07/31/dragonfly-drm-updated/" target="_blank" rel="nofollow noopener">DragonFly DRM updated</a></p>

<hr>

<p><a href="https://www.ncartron.org/netbsd-on-raspberry-pi.html" target="_blank" rel="nofollow noopener">NetBSD on Raspberry Pi!</a></p>

<hr>

<p><a href="https://eugene-andrienko.com/en/it/2025/07/28/speed-up-suspend-resume-freebsd.html" target="_blank" rel="nofollow noopener">Speed up suspend/resume for FreeBSD</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSWritesAndZILIII" target="_blank" rel="nofollow noopener">Revisiting ZFS's ZIL, separate log devices, and writes</a></p>

<hr>

<p><a href="https://www.ncartron.org/one-of-my-blog-articles-featured-on-the-bsd-now-podcast-episode.html" target="_blank" rel="nofollow noopener">One of my blog articles featured on the BSD Now podcast episode!</a></p>

<hr>

<p><a href="http://blog.netbsd.org/tnf/entry/new_build_cluster_speeds_up" target="_blank" rel="nofollow noopener">New build cluster speeds up daily autobuilds</a></p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Why FreeBSD is the Right Choice for Embedded Devices, The Day GlusterFS Tried to Kill My Career, DragonFly DRM updated, NetBSD on Raspberry Pi, Speed up suspend/resume for FreeBSD, Revisiting ZFS's ZIL, separate log devices, and writes, One of my blog articles featured on the BSD Now podcast episode, New build cluster speeds up daily autobuilds, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/why-freebsd-is-the-right-choice-for-embedded-devices/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Why FreeBSD is the Right Choice for Embedded Devices</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2025/05/21/the_day_glusterfs_tried_to_kill_my_career/" target="_blank" rel="nofollow noopener">The Day GlusterFS Tried to Kill My Career</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.dragonflydigest.com/2025/07/31/dragonfly-drm-updated/" target="_blank" rel="nofollow noopener">DragonFly DRM updated</a></p>

<hr>

<p><a href="https://www.ncartron.org/netbsd-on-raspberry-pi.html" target="_blank" rel="nofollow noopener">NetBSD on Raspberry Pi!</a></p>

<hr>

<p><a href="https://eugene-andrienko.com/en/it/2025/07/28/speed-up-suspend-resume-freebsd.html" target="_blank" rel="nofollow noopener">Speed up suspend/resume for FreeBSD</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSWritesAndZILIII" target="_blank" rel="nofollow noopener">Revisiting ZFS's ZIL, separate log devices, and writes</a></p>

<hr>

<p><a href="https://www.ncartron.org/one-of-my-blog-articles-featured-on-the-bsd-now-podcast-episode.html" target="_blank" rel="nofollow noopener">One of my blog articles featured on the BSD Now podcast episode!</a></p>

<hr>

<p><a href="http://blog.netbsd.org/tnf/entry/new_build_cluster_speeds_up" target="_blank" rel="nofollow noopener">New build cluster speeds up daily autobuilds</a></p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>624: OpenBSD Innovations</title>
  <link>https://www.bsdnow.tv/624</link>
  <guid isPermaLink="false">befb1e6f-ad13-476b-8755-7602f9061390</guid>
  <pubDate>Thu, 14 Aug 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/befb1e6f-ad13-476b-8755-7602f9061390.mp3" length="147046080" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD chflags vs. Log Tampering, How to Defend Against Aggressive Web Scrapers With Anubis on FreeBSD 14, OpenBSD Innovations, Full Ada programming toolchain NOW on FreeBSD, Compute GPUs can have odd failures under Linux (still), A handy collection of shell aliases from my bash startup, and more</itunes:subtitle>
  <itunes:duration>1:01:16</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>&lt;p&gt;OpenBSD chflags vs. Log Tampering, How to Defend Against Aggressive Web Scrapers With Anubis on FreeBSD 14, OpenBSD Innovations, Full Ada programming toolchain NOW on FreeBSD, Compute GPUs can have odd failures under Linux (still), A handy collection of shell aliases from my bash startup, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://rsadowski.de/posts/2025/openbsd-immutable-system-logs/" target="_blank" rel="nofollow noopener"&gt;When Root Meets Immutable: OpenBSD chflags vs. Log Tampering&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://herrbischoff.com/2025/07/how-to-defend-against-aggressive-web-scrapers-with-anubis-on-freebsd-14/" target="_blank" rel="nofollow noopener"&gt;How to Defend Against Aggressive Web Scrapers With Anubis on FreeBSD 14&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.openbsd.org/innovations.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Innovations&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.reddit.com/r/freebsd/comments/1m21t7o/ann_full_ada_programming_toolchain_now_on_freebsd/" target="_blank" rel="nofollow noopener"&gt;Full Ada programming toolchain NOW on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ComputeGPUsStillFinicky" target="_blank" rel="nofollow noopener"&gt;Compute GPUs can have odd failures under Linux (still)&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.petdance.com/2020/02/03/handy-collection-of-shell-aliases/" target="_blank" rel="nofollow noopener"&gt;A handy collection of shell aliases from my bash startup&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/624/feedback/Efraim%20-%20modernizing.md" target="_blank" rel="nofollow noopener"&gt;Efraim - modernizing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, chflags, log tampering, defend, web scrapers, anubis, innovations, ada toolchain, compute GPUs, shell aliases, collection, bash,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD chflags vs. Log Tampering, How to Defend Against Aggressive Web Scrapers With Anubis on FreeBSD 14, OpenBSD Innovations, Full Ada programming toolchain NOW on FreeBSD, Compute GPUs can have odd failures under Linux (still), A handy collection of shell aliases from my bash startup, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://rsadowski.de/posts/2025/openbsd-immutable-system-logs/" target="_blank" rel="nofollow noopener">When Root Meets Immutable: OpenBSD chflags vs. Log Tampering</a></p>

<hr>

<p><a href="https://herrbischoff.com/2025/07/how-to-defend-against-aggressive-web-scrapers-with-anubis-on-freebsd-14/" target="_blank" rel="nofollow noopener">How to Defend Against Aggressive Web Scrapers With Anubis on FreeBSD 14</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.openbsd.org/innovations.html" target="_blank" rel="nofollow noopener">OpenBSD Innovations</a></p>

<hr>

<p><a href="https://www.reddit.com/r/freebsd/comments/1m21t7o/ann_full_ada_programming_toolchain_now_on_freebsd/" target="_blank" rel="nofollow noopener">Full Ada programming toolchain NOW on FreeBSD</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ComputeGPUsStillFinicky" target="_blank" rel="nofollow noopener">Compute GPUs can have odd failures under Linux (still)</a></p>

<hr>

<p><a href="https://blog.petdance.com/2020/02/03/handy-collection-of-shell-aliases/" target="_blank" rel="nofollow noopener">A handy collection of shell aliases from my bash startup</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/624/feedback/Efraim%20-%20modernizing.md" target="_blank" rel="nofollow noopener">Efraim - modernizing</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD chflags vs. Log Tampering, How to Defend Against Aggressive Web Scrapers With Anubis on FreeBSD 14, OpenBSD Innovations, Full Ada programming toolchain NOW on FreeBSD, Compute GPUs can have odd failures under Linux (still), A handy collection of shell aliases from my bash startup, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://rsadowski.de/posts/2025/openbsd-immutable-system-logs/" target="_blank" rel="nofollow noopener">When Root Meets Immutable: OpenBSD chflags vs. Log Tampering</a></p>

<hr>

<p><a href="https://herrbischoff.com/2025/07/how-to-defend-against-aggressive-web-scrapers-with-anubis-on-freebsd-14/" target="_blank" rel="nofollow noopener">How to Defend Against Aggressive Web Scrapers With Anubis on FreeBSD 14</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.openbsd.org/innovations.html" target="_blank" rel="nofollow noopener">OpenBSD Innovations</a></p>

<hr>

<p><a href="https://www.reddit.com/r/freebsd/comments/1m21t7o/ann_full_ada_programming_toolchain_now_on_freebsd/" target="_blank" rel="nofollow noopener">Full Ada programming toolchain NOW on FreeBSD</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ComputeGPUsStillFinicky" target="_blank" rel="nofollow noopener">Compute GPUs can have odd failures under Linux (still)</a></p>

<hr>

<p><a href="https://blog.petdance.com/2020/02/03/handy-collection-of-shell-aliases/" target="_blank" rel="nofollow noopener">A handy collection of shell aliases from my bash startup</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/624/feedback/Efraim%20-%20modernizing.md" target="_blank" rel="nofollow noopener">Efraim - modernizing</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>623: Two's interview</title>
  <link>https://www.bsdnow.tv/623</link>
  <guid isPermaLink="false">3d5f1033-4fa2-473f-9e01-8a11cbf7f147</guid>
  <pubDate>Thu, 07 Aug 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3d5f1033-4fa2-473f-9e01-8a11cbf7f147.mp3" length="145169280" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Software Bill of Materials (SBOM) for FreeBSD Project, Your Guide to Lock-In Free Infrastructure, and we interview David Gwynne from the University of Queensland and developer on the OpenBSD project.</itunes:subtitle>
  <itunes:duration>1:00:29</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>&lt;p&gt;Software Bill of Materials (SBOM) for FreeBSD Project, Your Guide to Lock-In Free Infrastructure, and we interview David Gwynne from the University of Queensland and developer on the OpenBSD project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/software-bill-of-materials-sbom-for-freebsd-project/" target="_blank" rel="nofollow noopener"&gt;Software Bill of Materials (SBOM) for FreeBSD Project&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/freebsd-guide-to-lock-in-free-infrastructure" target="_blank" rel="nofollow noopener"&gt;FreeBSD Summer 2025 Roundup: Your Guide to Lock-In Free Infrastructure&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Interview&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;David Gwynne from the University of Queensland and developer on the OpenBSD project.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Interview thoughts from Benedict and Jason&lt;/h2&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;

&lt;p&gt;Special Guest: David Gwynne.&lt;/p&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Software Bill of Materials (SBOM) for FreeBSD Project, Your Guide to Lock-In Free Infrastructure, and we interview David Gwynne from the University of Queensland and developer on the OpenBSD project.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/software-bill-of-materials-sbom-for-freebsd-project/" target="_blank" rel="nofollow noopener">Software Bill of Materials (SBOM) for FreeBSD Project</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/freebsd-guide-to-lock-in-free-infrastructure" target="_blank" rel="nofollow noopener">FreeBSD Summer 2025 Roundup: Your Guide to Lock-In Free Infrastructure</a></p>

<hr>

<h2>Interview</h2>

<ul>
<li>David Gwynne from the University of Queensland and developer on the OpenBSD project.</li>
</ul>

<h2>Interview thoughts from Benedict and Jason</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr><p>Special Guest: David Gwynne.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Software Bill of Materials (SBOM) for FreeBSD Project, Your Guide to Lock-In Free Infrastructure, and we interview David Gwynne from the University of Queensland and developer on the OpenBSD project.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/software-bill-of-materials-sbom-for-freebsd-project/" target="_blank" rel="nofollow noopener">Software Bill of Materials (SBOM) for FreeBSD Project</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/freebsd-guide-to-lock-in-free-infrastructure" target="_blank" rel="nofollow noopener">FreeBSD Summer 2025 Roundup: Your Guide to Lock-In Free Infrastructure</a></p>

<hr>

<h2>Interview</h2>

<ul>
<li>David Gwynne from the University of Queensland and developer on the OpenBSD project.</li>
</ul>

<h2>Interview thoughts from Benedict and Jason</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr><p>Special Guest: David Gwynne.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>622: Interview with Mark Phillips - Technical Marketing Manager at the FreeBSD Foundation </title>
  <link>https://www.bsdnow.tv/622</link>
  <guid isPermaLink="false">ab7c57fb-4b07-45c4-bbba-ea08fd8724d9</guid>
  <pubDate>Thu, 31 Jul 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ab7c57fb-4b07-45c4-bbba-ea08fd8724d9.mp3" length="132422400" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This week Benedict interviews Mark Phillips , the Technical Marketing Manager at the FreeBSD Foundation, while they both are at a Hackathon in Germany. </itunes:subtitle>
  <itunes:duration>55:10</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>&lt;p&gt;This week Benedict interviews Mark Phillips , the Technical Marketing Manager at the FreeBSD Foundation, while they both are at a Hackathon in Germany. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Interview&lt;/h2&gt;

&lt;p&gt;Mark Phillips - &lt;a href="https://freebsdfoundation.org/about-us/our-team" target="_blank" rel="nofollow noopener"&gt;Technical Marketing Manager at the FreeBSD Foundation&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://probably.co.uk/" target="_blank" rel="nofollow noopener"&gt;Personal website&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;

&lt;p&gt;Special Guest: Mark Phillips.&lt;/p&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This week Benedict interviews Mark Phillips , the Technical Marketing Manager at the FreeBSD Foundation, while they both are at a Hackathon in Germany. </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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Interview</h2>

<p>Mark Phillips - <a href="https://freebsdfoundation.org/about-us/our-team" target="_blank" rel="nofollow noopener">Technical Marketing Manager at the FreeBSD Foundation</a></p>

<ul>
<li><a href="https://probably.co.uk/" target="_blank" rel="nofollow noopener">Personal website</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr><p>Special Guest: Mark Phillips.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This week Benedict interviews Mark Phillips , the Technical Marketing Manager at the FreeBSD Foundation, while they both are at a Hackathon in Germany. </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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Interview</h2>

<p>Mark Phillips - <a href="https://freebsdfoundation.org/about-us/our-team" target="_blank" rel="nofollow noopener">Technical Marketing Manager at the FreeBSD Foundation</a></p>

<ul>
<li><a href="https://probably.co.uk/" target="_blank" rel="nofollow noopener">Personal website</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr><p>Special Guest: Mark Phillips.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>621: Exaggerated Death Report</title>
  <link>https://www.bsdnow.tv/621</link>
  <guid isPermaLink="false">e45aa34d-ee5d-4999-bbc6-5ce609a2db4c</guid>
  <pubDate>Thu, 24 Jul 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e45aa34d-ee5d-4999-bbc6-5ce609a2db4c.mp3" length="120302400" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Designing a Storage Pool, The Report of My Death Was an Exaggeration, Generic BSD installations on ARM64 UEFI, dm_target_crypt_ng - Add next-generation implementation, The X Window System didn't immediately have X terminals, The Book of PF 4th Edition Is Coming Soon, Periodical 20 Localized Computing, and more</itunes:subtitle>
  <itunes:duration>50:07</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>&lt;p&gt;Designing a Storage Pool, The Report of My Death Was an Exaggeration, Generic BSD installations on ARM64 UEFI, dm_target_crypt_ng - Add next-generation implementation, The X Window System didn't immediately have X terminals, The Book of PF 4th Edition Is Coming Soon, Periodical 20 Localized Computing, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/designing-storage-pool-raidz-mirrors-hybrid-configurations/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Designing a Storage Pool: RAIDZ, Mirrors, and Hybrid Configurations&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/the-report-of-my-death-was-an-exaggeration/" target="_blank" rel="nofollow noopener"&gt;The Report of My Death Was an Exaggeration&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://mekboy.ru/post/bsd-uefi-arm64/" target="_blank" rel="nofollow noopener"&gt;Generic BSD installations on ARM64 UEFI: results and first impressions&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://gitweb.dragonflybsd.org/dragonfly.git/commit/14e6c73d4c479e4ab26571490758da27da5cbbad" target="_blank" rel="nofollow noopener"&gt;dm_target_crypt_ng - Add next-generation implementation&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/XTerminalsNotImmediate" target="_blank" rel="nofollow noopener"&gt;The X Window System didn't immediately have X terminals&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://bsdly.blogspot.com/2025/07/yes-book-of-pf-4th-edition-is-coming.html" target="_blank" rel="nofollow noopener"&gt;Yes, The Book of PF, 4th Edition Is Coming Soon&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.chrbutler.com/2024-10-16" target="_blank" rel="nofollow noopener"&gt;Periodical 20 — Localized Computing&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;-&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/621/feedback/Aleksej%20-%20RockPro64.md" target="_blank" rel="nofollow noopener"&gt;Aleksej - RockPro64&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, design, designing, death, Exaggeration, generic installation, arm64 UEFI, dm_target_crypt_ng, next generation, terminals, X Window System, book of pf, fourth edition, Periodical, Localized Computing</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Designing a Storage Pool, The Report of My Death Was an Exaggeration, Generic BSD installations on ARM64 UEFI, dm_target_crypt_ng - Add next-generation implementation, The X Window System didn't immediately have X terminals, The Book of PF 4th Edition Is Coming Soon, Periodical 20 Localized Computing, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/designing-storage-pool-raidz-mirrors-hybrid-configurations/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Designing a Storage Pool: RAIDZ, Mirrors, and Hybrid Configurations</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/the-report-of-my-death-was-an-exaggeration/" target="_blank" rel="nofollow noopener">The Report of My Death Was an Exaggeration</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://mekboy.ru/post/bsd-uefi-arm64/" target="_blank" rel="nofollow noopener">Generic BSD installations on ARM64 UEFI: results and first impressions</a></p>

<hr>

<p><a href="https://gitweb.dragonflybsd.org/dragonfly.git/commit/14e6c73d4c479e4ab26571490758da27da5cbbad" target="_blank" rel="nofollow noopener">dm_target_crypt_ng - Add next-generation implementation</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/XTerminalsNotImmediate" target="_blank" rel="nofollow noopener">The X Window System didn't immediately have X terminals</a></p>

<hr>

<p><a href="https://bsdly.blogspot.com/2025/07/yes-book-of-pf-4th-edition-is-coming.html" target="_blank" rel="nofollow noopener">Yes, The Book of PF, 4th Edition Is Coming Soon</a></p>

<hr>

<p><a href="https://www.chrbutler.com/2024-10-16" target="_blank" rel="nofollow noopener">Periodical 20 — Localized Computing</a></p>

<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>

<h2>Feedback/Questions</h2>

<p>-<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/621/feedback/Aleksej%20-%20RockPro64.md" target="_blank" rel="nofollow noopener">Aleksej - RockPro64</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Designing a Storage Pool, The Report of My Death Was an Exaggeration, Generic BSD installations on ARM64 UEFI, dm_target_crypt_ng - Add next-generation implementation, The X Window System didn't immediately have X terminals, The Book of PF 4th Edition Is Coming Soon, Periodical 20 Localized Computing, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/designing-storage-pool-raidz-mirrors-hybrid-configurations/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Designing a Storage Pool: RAIDZ, Mirrors, and Hybrid Configurations</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/the-report-of-my-death-was-an-exaggeration/" target="_blank" rel="nofollow noopener">The Report of My Death Was an Exaggeration</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://mekboy.ru/post/bsd-uefi-arm64/" target="_blank" rel="nofollow noopener">Generic BSD installations on ARM64 UEFI: results and first impressions</a></p>

<hr>

<p><a href="https://gitweb.dragonflybsd.org/dragonfly.git/commit/14e6c73d4c479e4ab26571490758da27da5cbbad" target="_blank" rel="nofollow noopener">dm_target_crypt_ng - Add next-generation implementation</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/XTerminalsNotImmediate" target="_blank" rel="nofollow noopener">The X Window System didn't immediately have X terminals</a></p>

<hr>

<p><a href="https://bsdly.blogspot.com/2025/07/yes-book-of-pf-4th-edition-is-coming.html" target="_blank" rel="nofollow noopener">Yes, The Book of PF, 4th Edition Is Coming Soon</a></p>

<hr>

<p><a href="https://www.chrbutler.com/2024-10-16" target="_blank" rel="nofollow noopener">Periodical 20 — Localized Computing</a></p>

<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>

<h2>Feedback/Questions</h2>

<p>-<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/621/feedback/Aleksej%20-%20RockPro64.md" target="_blank" rel="nofollow noopener">Aleksej - RockPro64</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>620: Postmortem for jemalloc</title>
  <link>https://www.bsdnow.tv/620</link>
  <guid isPermaLink="false">5750c48e-f7ce-4af7-a722-55d35ebd2366</guid>
  <pubDate>Thu, 17 Jul 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5750c48e-f7ce-4af7-a722-55d35ebd2366.mp3" length="129342720" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The Server That Wasn't Meant to Exist, ZFS Performance Tuning – Optimizing for your Workload, what would a multi-user web server look like, That Grumpy BSD Guy: A Short Reading List, rsync's defaults are not always enough, jemalloc Postmortem, and more</itunes:subtitle>
  <itunes:duration>53:53</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>&lt;p&gt;The Server That Wasn't Meant to Exist, ZFS Performance Tuning – Optimizing for your Workload, what would a multi-user web server look like, That Grumpy BSD Guy: A Short Reading List, rsync's defaults are not always enough, jemalloc Postmortem, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2025/05/13/the_server_that_wasnt_meant_to_exist/" target="_blank" rel="nofollow noopener"&gt;The Server That Wasn't Meant to Exist&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/zfs-performance-tuning-optimizing-for-your-workload/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;ZFS Performance Tuning – Optimizing for your Workload&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/web/MultiUserWebServerWildIdea" target="_blank" rel="nofollow noopener"&gt;What would a multi-user web server look like? (A thought experiment)&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://bsdly.blogspot.com/2025/05/that-grumpy-bsd-guy-short-reading-list.html" target="_blank" rel="nofollow noopener"&gt;That Grumpy BSD Guy: A Short Reading List&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://rachelbythebay.com/w/2025/05/31/sync/" target="_blank" rel="nofollow noopener"&gt;rsync's defaults are not always enough&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://jasone.github.io/2025/06/12/jemalloc-postmortem/" target="_blank" rel="nofollow noopener"&gt;jemalloc Postmortem&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2025/06/25/ipv6-and-proxying-on-dragonfly/" target="_blank" rel="nofollow noopener"&gt;IPv6 and proxying on DragonFly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://boxybsd.com" target="_blank" rel="nofollow noopener"&gt;BoxyBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://alfonsosiciliano.gitlab.io/posts/2025-05-29-sysctltui.html" target="_blank" rel="nofollow noopener"&gt;Sysctltui&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, Performance, tuning, optimizing, workload, multi-user web server, reading list, rsync, jemalloc, Postmortem</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Server That Wasn't Meant to Exist, ZFS Performance Tuning – Optimizing for your Workload, what would a multi-user web server look like, That Grumpy BSD Guy: A Short Reading List, rsync's defaults are not always enough, jemalloc Postmortem, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<hr>

<p><a href="https://it-notes.dragas.net/2025/05/13/the_server_that_wasnt_meant_to_exist/" target="_blank" rel="nofollow noopener">The Server That Wasn't Meant to Exist</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zfs-performance-tuning-optimizing-for-your-workload/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZFS Performance Tuning – Optimizing for your Workload</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/web/MultiUserWebServerWildIdea" target="_blank" rel="nofollow noopener">What would a multi-user web server look like? (A thought experiment)</a></p>

<hr>

<p><a href="https://bsdly.blogspot.com/2025/05/that-grumpy-bsd-guy-short-reading-list.html" target="_blank" rel="nofollow noopener">That Grumpy BSD Guy: A Short Reading List</a></p>

<hr>

<p><a href="https://rachelbythebay.com/w/2025/05/31/sync/" target="_blank" rel="nofollow noopener">rsync's defaults are not always enough</a></p>

<hr>

<p><a href="https://jasone.github.io/2025/06/12/jemalloc-postmortem/" target="_blank" rel="nofollow noopener">jemalloc Postmortem</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2025/06/25/ipv6-and-proxying-on-dragonfly/" target="_blank" rel="nofollow noopener">IPv6 and proxying on DragonFly</a></li>
<li><a href="https://boxybsd.com" target="_blank" rel="nofollow noopener">BoxyBSD</a></li>
<li><a href="https://alfonsosiciliano.gitlab.io/posts/2025-05-29-sysctltui.html" target="_blank" rel="nofollow noopener">Sysctltui</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Server That Wasn't Meant to Exist, ZFS Performance Tuning – Optimizing for your Workload, what would a multi-user web server look like, That Grumpy BSD Guy: A Short Reading List, rsync's defaults are not always enough, jemalloc Postmortem, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<hr>

<p><a href="https://it-notes.dragas.net/2025/05/13/the_server_that_wasnt_meant_to_exist/" target="_blank" rel="nofollow noopener">The Server That Wasn't Meant to Exist</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zfs-performance-tuning-optimizing-for-your-workload/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZFS Performance Tuning – Optimizing for your Workload</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/web/MultiUserWebServerWildIdea" target="_blank" rel="nofollow noopener">What would a multi-user web server look like? (A thought experiment)</a></p>

<hr>

<p><a href="https://bsdly.blogspot.com/2025/05/that-grumpy-bsd-guy-short-reading-list.html" target="_blank" rel="nofollow noopener">That Grumpy BSD Guy: A Short Reading List</a></p>

<hr>

<p><a href="https://rachelbythebay.com/w/2025/05/31/sync/" target="_blank" rel="nofollow noopener">rsync's defaults are not always enough</a></p>

<hr>

<p><a href="https://jasone.github.io/2025/06/12/jemalloc-postmortem/" target="_blank" rel="nofollow noopener">jemalloc Postmortem</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2025/06/25/ipv6-and-proxying-on-dragonfly/" target="_blank" rel="nofollow noopener">IPv6 and proxying on DragonFly</a></li>
<li><a href="https://boxybsd.com" target="_blank" rel="nofollow noopener">BoxyBSD</a></li>
<li><a href="https://alfonsosiciliano.gitlab.io/posts/2025-05-29-sysctltui.html" target="_blank" rel="nofollow noopener">Sysctltui</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>619: Happy Tooling</title>
  <link>https://www.bsdnow.tv/619</link>
  <guid isPermaLink="false">666d7cce-94c7-48bb-97b8-067a21892442</guid>
  <pubDate>Thu, 10 Jul 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/666d7cce-94c7-48bb-97b8-067a21892442.mp3" length="110312640" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Disaster Recovery with ZFS: A Practical Guide, The best interfaces we never built, Choose Tools That Make You Happy, open source has turned into two worlds, TrueNAS CORE is Dead – Long Live zVault, You should start a computer club in the place that you live, and more</itunes:subtitle>
  <itunes:duration>45:57</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>&lt;p&gt;Disaster Recovery with ZFS: A Practical Guide, The best interfaces we never built, Choose Tools That Make You Happy, open source has turned into two worlds, TrueNAS CORE is Dead – Long Live zVault, You should start a computer club in the place that you live, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/disaster-recovery-with-zfs-practical-guide/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Disaster Recovery with ZFS: A Practical Guide&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.chrbutler.com/the-best-interfaces-we-never-built" target="_blank" rel="nofollow noopener"&gt;The best interfaces we never built&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://borretti.me/article/you-can-choose-tools-that-make-you-happy" target="_blank" rel="nofollow noopener"&gt;You Can Choose Tools That Make You Happy&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/OpenSourceTwoWorlds" target="_blank" rel="nofollow noopener"&gt;I feel open source has turned into two worlds&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vermaden.wordpress.com/2024/04/20/truenas-core-versus-truenas-scale/#truenas-core-dead-long-live-zvault" target="_blank" rel="nofollow noopener"&gt;UPDATE 2 – TrueNAS CORE is Dead – Long Live zVault&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://startacomputer.club" target="_blank" rel="nofollow noopener"&gt;You should start a computer club in the place that you live&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/618/feedback/Brad%20-%20syslogng%20issue.md" target="_blank" rel="nofollow noopener"&gt;Brad - syslogng issue&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, Disaster recovery, interface, tools, happy, two worlds, zvault, computer club</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Disaster Recovery with ZFS: A Practical Guide, The best interfaces we never built, Choose Tools That Make You Happy, open source has turned into two worlds, TrueNAS CORE is Dead – Long Live zVault, You should start a computer club in the place that you live, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/disaster-recovery-with-zfs-practical-guide/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Disaster Recovery with ZFS: A Practical Guide</a></p>

<hr>

<p><a href="https://www.chrbutler.com/the-best-interfaces-we-never-built" target="_blank" rel="nofollow noopener">The best interfaces we never built</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://borretti.me/article/you-can-choose-tools-that-make-you-happy" target="_blank" rel="nofollow noopener">You Can Choose Tools That Make You Happy</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/OpenSourceTwoWorlds" target="_blank" rel="nofollow noopener">I feel open source has turned into two worlds</a></p>

<hr>

<p><a href="https://vermaden.wordpress.com/2024/04/20/truenas-core-versus-truenas-scale/#truenas-core-dead-long-live-zvault" target="_blank" rel="nofollow noopener">UPDATE 2 – TrueNAS CORE is Dead – Long Live zVault</a></p>

<hr>

<p><a href="https://startacomputer.club" target="_blank" rel="nofollow noopener">You should start a computer club in the place that you live</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/618/feedback/Brad%20-%20syslogng%20issue.md" target="_blank" rel="nofollow noopener">Brad - syslogng issue</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Disaster Recovery with ZFS: A Practical Guide, The best interfaces we never built, Choose Tools That Make You Happy, open source has turned into two worlds, TrueNAS CORE is Dead – Long Live zVault, You should start a computer club in the place that you live, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/disaster-recovery-with-zfs-practical-guide/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Disaster Recovery with ZFS: A Practical Guide</a></p>

<hr>

<p><a href="https://www.chrbutler.com/the-best-interfaces-we-never-built" target="_blank" rel="nofollow noopener">The best interfaces we never built</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://borretti.me/article/you-can-choose-tools-that-make-you-happy" target="_blank" rel="nofollow noopener">You Can Choose Tools That Make You Happy</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/OpenSourceTwoWorlds" target="_blank" rel="nofollow noopener">I feel open source has turned into two worlds</a></p>

<hr>

<p><a href="https://vermaden.wordpress.com/2024/04/20/truenas-core-versus-truenas-scale/#truenas-core-dead-long-live-zvault" target="_blank" rel="nofollow noopener">UPDATE 2 – TrueNAS CORE is Dead – Long Live zVault</a></p>

<hr>

<p><a href="https://startacomputer.club" target="_blank" rel="nofollow noopener">You should start a computer club in the place that you live</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/618/feedback/Brad%20-%20syslogng%20issue.md" target="_blank" rel="nofollow noopener">Brad - syslogng issue</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>618: Funding BSD projects</title>
  <link>https://www.bsdnow.tv/618</link>
  <guid isPermaLink="false">4f1ff264-7f3d-4a92-8972-310e7fb9c640</guid>
  <pubDate>Thu, 03 Jul 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4f1ff264-7f3d-4a92-8972-310e7fb9c640.mp3" length="129594240" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>A year of funded FreeBSD, ZFS Performance Tuning – Optimizing for your Workload, Three Ways to Try FreeBSD in Under Five Minutes, FFS optimizations with dirhash, j2k25 hackathon report from kn@, NetBSD welcomes Google Summer of Code contributors, and more</itunes:subtitle>
  <itunes:duration>53:59</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>&lt;p&gt;A year of funded FreeBSD, ZFS Performance Tuning – Optimizing for your Workload, Three Ways to Try FreeBSD in Under Five Minutes, FFS optimizations with dirhash, j2k25 hackathon report from kn@, NetBSD welcomes Google Summer of Code contributors, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.daemonology.net/blog/2025-06-06-A-year-of-funded-FreeBSD.html" target="_blank" rel="nofollow noopener"&gt;A year of funded FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/zfs-performance-tuning-optimizing-for-your-workload/" target="_blank" rel="nofollow noopener"&gt;ZFS Performance Tuning – Optimizing for your Workload&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/three-ways-to-try-freebsd-in-under-five-minutes/" target="_blank" rel="nofollow noopener"&gt;Three Ways to Try FreeBSD in Under Five Minutes&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://rsadowski.de/posts/2025/ffs-optimizations-dirhash/" target="_blank" rel="nofollow noopener"&gt;FFS optimizations with dirhash&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20250616082212" target="_blank" rel="nofollow noopener"&gt;j2k25 hackathon report from kn@: installer, low battery, and more&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/gsoc2025_welcome_contributors" target="_blank" rel="nofollow noopener"&gt;NetBSD welcomes Google Summer of Code contributors&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, funding, performance, tuning, optimizing workload, trying freebsd, ffs optimizations, dirhash, hackathon report, installer, battery, summer of code, contributors, contributions, projects</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>A year of funded FreeBSD, ZFS Performance Tuning – Optimizing for your Workload, Three Ways to Try FreeBSD in Under Five Minutes, FFS optimizations with dirhash, j2k25 hackathon report from kn@, NetBSD welcomes Google Summer of Code contributors, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.daemonology.net/blog/2025-06-06-A-year-of-funded-FreeBSD.html" target="_blank" rel="nofollow noopener">A year of funded FreeBSD</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zfs-performance-tuning-optimizing-for-your-workload/" target="_blank" rel="nofollow noopener">ZFS Performance Tuning – Optimizing for your Workload</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://freebsdfoundation.org/blog/three-ways-to-try-freebsd-in-under-five-minutes/" target="_blank" rel="nofollow noopener">Three Ways to Try FreeBSD in Under Five Minutes</a></p>

<hr>

<p><a href="https://rsadowski.de/posts/2025/ffs-optimizations-dirhash/" target="_blank" rel="nofollow noopener">FFS optimizations with dirhash</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20250616082212" target="_blank" rel="nofollow noopener">j2k25 hackathon report from kn@: installer, low battery, and more</a></p>

<hr>

<p><a href="https://blog.netbsd.org/tnf/entry/gsoc2025_welcome_contributors" target="_blank" rel="nofollow noopener">NetBSD welcomes Google Summer of Code contributors</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>A year of funded FreeBSD, ZFS Performance Tuning – Optimizing for your Workload, Three Ways to Try FreeBSD in Under Five Minutes, FFS optimizations with dirhash, j2k25 hackathon report from kn@, NetBSD welcomes Google Summer of Code contributors, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.daemonology.net/blog/2025-06-06-A-year-of-funded-FreeBSD.html" target="_blank" rel="nofollow noopener">A year of funded FreeBSD</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zfs-performance-tuning-optimizing-for-your-workload/" target="_blank" rel="nofollow noopener">ZFS Performance Tuning – Optimizing for your Workload</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://freebsdfoundation.org/blog/three-ways-to-try-freebsd-in-under-five-minutes/" target="_blank" rel="nofollow noopener">Three Ways to Try FreeBSD in Under Five Minutes</a></p>

<hr>

<p><a href="https://rsadowski.de/posts/2025/ffs-optimizations-dirhash/" target="_blank" rel="nofollow noopener">FFS optimizations with dirhash</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20250616082212" target="_blank" rel="nofollow noopener">j2k25 hackathon report from kn@: installer, low battery, and more</a></p>

<hr>

<p><a href="https://blog.netbsd.org/tnf/entry/gsoc2025_welcome_contributors" target="_blank" rel="nofollow noopener">NetBSD welcomes Google Summer of Code contributors</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>617: FreeBSD 14.3</title>
  <link>https://www.bsdnow.tv/617</link>
  <guid isPermaLink="false">3a420df4-8a63-484a-bb55-180f9cabd36f</guid>
  <pubDate>Thu, 26 Jun 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3a420df4-8a63-484a-bb55-180f9cabd36f.mp3" length="153288960" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD version 14.3 is available, Reliable ZFS Storage on Commodity Hardware, My website is ugly because I made it, Semi distributed filesystems with ZFS and Sanoid, April 2025 Laptop Support and Usability Project Update, UDP sockets instead of BPF in dhcpd(8), and more</itunes:subtitle>
  <itunes:duration>1:03:52</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>&lt;p&gt;FreeBSD version 14.3 is available, Reliable ZFS Storage on Commodity Hardware, My website is ugly because I made it, Semi distributed filesystems with ZFS and Sanoid, April 2025 Laptop Support and Usability Project Update, UDP sockets instead of BPF in dhcpd(8), and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.freebsd.org/releases/14.3R/announce/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 14.3 released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/cost-efficient-storage-commodity-hardware/" target="_blank" rel="nofollow noopener"&gt;Reliable ZFS Storage on Commodity Hardware&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://goodinternetmagazine.com/my-website-is-ugly-because-i-made-it/" target="_blank" rel="nofollow noopener"&gt;My website is ugly because I made it&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://anil.recoil.org/notes/syncoid-sanoid-zfs" target="_blank" rel="nofollow noopener"&gt;Semi distributed filesystems with ZFS and Sanoid&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/april-2025-laptop-support-and-usability-project-update/" target="_blank" rel="nofollow noopener"&gt;April 2025 Laptop Support and Usability Project Update&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20250613111800" target="_blank" rel="nofollow noopener"&gt;dhcpd(8): use UDP sockets instead of BPF&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;No feedback this week. Send more...&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Join us and other BSD Fans in our &lt;a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSD Now Telegram channel&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</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, 14.3, reliable storage, Commodity Hardware, ugly website, semi distributed filesystem, sanoid, laptop support, Usability project, report, udp sockets, bpd, dhcpd</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD version 14.3 is available, Reliable ZFS Storage on Commodity Hardware, My website is ugly because I made it, Semi distributed filesystems with ZFS and Sanoid, April 2025 Laptop Support and Usability Project Update, UDP sockets instead of BPF in dhcpd(8), 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.freebsd.org/releases/14.3R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 14.3 released</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/cost-efficient-storage-commodity-hardware/" target="_blank" rel="nofollow noopener">Reliable ZFS Storage on Commodity Hardware</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://goodinternetmagazine.com/my-website-is-ugly-because-i-made-it/" target="_blank" rel="nofollow noopener">My website is ugly because I made it</a></p>

<hr>

<p><a href="https://anil.recoil.org/notes/syncoid-sanoid-zfs" target="_blank" rel="nofollow noopener">Semi distributed filesystems with ZFS and Sanoid</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/april-2025-laptop-support-and-usability-project-update/" target="_blank" rel="nofollow noopener">April 2025 Laptop Support and Usability Project Update</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20250613111800" target="_blank" rel="nofollow noopener">dhcpd(8): use UDP sockets instead of BPF</a></p>

<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>

<h2>Feedback/Questions</h2>

<hr>

<ul>
<li><p>No feedback this week. Send more...</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD version 14.3 is available, Reliable ZFS Storage on Commodity Hardware, My website is ugly because I made it, Semi distributed filesystems with ZFS and Sanoid, April 2025 Laptop Support and Usability Project Update, UDP sockets instead of BPF in dhcpd(8), 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.freebsd.org/releases/14.3R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 14.3 released</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/cost-efficient-storage-commodity-hardware/" target="_blank" rel="nofollow noopener">Reliable ZFS Storage on Commodity Hardware</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://goodinternetmagazine.com/my-website-is-ugly-because-i-made-it/" target="_blank" rel="nofollow noopener">My website is ugly because I made it</a></p>

<hr>

<p><a href="https://anil.recoil.org/notes/syncoid-sanoid-zfs" target="_blank" rel="nofollow noopener">Semi distributed filesystems with ZFS and Sanoid</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/april-2025-laptop-support-and-usability-project-update/" target="_blank" rel="nofollow noopener">April 2025 Laptop Support and Usability Project Update</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20250613111800" target="_blank" rel="nofollow noopener">dhcpd(8): use UDP sockets instead of BPF</a></p>

<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>

<h2>Feedback/Questions</h2>

<hr>

<ul>
<li><p>No feedback this week. Send more...</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>615: Wifi Brakes Unlocked</title>
  <link>https://www.bsdnow.tv/615</link>
  <guid isPermaLink="false">ccd118f7-9bad-4c9c-8389-c7a992b81f86</guid>
  <pubDate>Thu, 12 Jun 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ccd118f7-9bad-4c9c-8389-c7a992b81f86.mp3" length="42283008" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>How to unlock high speed Wi-Fi on FreeBSD 14, What We’ve Learned Supporting FreeBSD in Production, rsync replaced with openrsync on macOS Sequoia, Framework 13 AMD Setup with FreeBSD, FreeBSD on Dell Latitude 7280, Backup MX with OpenSMTPD, Notes on caddy as QUIC reverse proxy with mac_portacl, and more</itunes:subtitle>
  <itunes:duration>44:02</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>&lt;p&gt;How to unlock high speed Wi-Fi on FreeBSD 14, What We’ve Learned Supporting FreeBSD in Production, rsync replaced with openrsync on macOS Sequoia, Framework 13 AMD Setup with FreeBSD, FreeBSD on Dell Latitude 7280, Backup MX with OpenSMTPD, Notes on caddy as QUIC reverse proxy with mac_portacl, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/how-to-unlock-high-speed-wi-fi-on-freebsd-14/" target="_blank" rel="nofollow noopener"&gt;How to unlock high speed Wi-Fi on FreeBSD&lt;br&gt;
14&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/what-weve-learned-supporing-freebsd-production/" target="_blank" rel="nofollow noopener"&gt;What We’ve Learned Supporting FreeBSD in Production&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://derflounder.wordpress.com/2025/04/06/rsync-replaced-with-openrsync-on-macos-sequoia/" target="_blank" rel="nofollow noopener"&gt;rsync replaced with openrsync on macOS Sequoia&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://euroquis.nl/freebsd/2025/03/16/framework.html" target="_blank" rel="nofollow noopener"&gt;Framework 13 AMD Setup with FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://adventurist.me/posts/00352" target="_blank" rel="nofollow noopener"&gt;FreeBSD on Dell Latitude 7280&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.feld.me/posts/2025/05/backup-mx-with-opensmtpd/" target="_blank" rel="nofollow noopener"&gt;Backup MX with OpenSMTPD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://mwl.io/archives/24097" target="_blank" rel="nofollow noopener"&gt;Notes on caddy as QUIC reverse proxy with mac_portacl&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;No feedback this week.&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, high speed wifi, wireless, networking, support, supporting, production use, rsync, openrsync, macOS Sequoia, framework 13, Dell Latitude 7280, OpenSMTPD, caddy, quic, reverse proxy, mac_portacl</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>How to unlock high speed Wi-Fi on FreeBSD 14, What We’ve Learned Supporting FreeBSD in Production, rsync replaced with openrsync on macOS Sequoia, Framework 13 AMD Setup with FreeBSD, FreeBSD on Dell Latitude 7280, Backup MX with OpenSMTPD, Notes on caddy as QUIC reverse proxy with mac_portacl, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/how-to-unlock-high-speed-wi-fi-on-freebsd-14/" target="_blank" rel="nofollow noopener">How to unlock high speed Wi-Fi on FreeBSD<br>
14</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/what-weve-learned-supporing-freebsd-production/" target="_blank" rel="nofollow noopener">What We’ve Learned Supporting FreeBSD in Production</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://derflounder.wordpress.com/2025/04/06/rsync-replaced-with-openrsync-on-macos-sequoia/" target="_blank" rel="nofollow noopener">rsync replaced with openrsync on macOS Sequoia</a></p>

<hr>

<p><a href="https://euroquis.nl/freebsd/2025/03/16/framework.html" target="_blank" rel="nofollow noopener">Framework 13 AMD Setup with FreeBSD</a></p>

<hr>

<p><a href="https://adventurist.me/posts/00352" target="_blank" rel="nofollow noopener">FreeBSD on Dell Latitude 7280</a></p>

<hr>

<p><a href="https://blog.feld.me/posts/2025/05/backup-mx-with-opensmtpd/" target="_blank" rel="nofollow noopener">Backup MX with OpenSMTPD</a></p>

<hr>

<p><a href="https://mwl.io/archives/24097" target="_blank" rel="nofollow noopener">Notes on caddy as QUIC reverse proxy with mac_portacl</a></p>

<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>

<h2>Feedback/Questions</h2>

<p>No feedback this week.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>How to unlock high speed Wi-Fi on FreeBSD 14, What We’ve Learned Supporting FreeBSD in Production, rsync replaced with openrsync on macOS Sequoia, Framework 13 AMD Setup with FreeBSD, FreeBSD on Dell Latitude 7280, Backup MX with OpenSMTPD, Notes on caddy as QUIC reverse proxy with mac_portacl, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/how-to-unlock-high-speed-wi-fi-on-freebsd-14/" target="_blank" rel="nofollow noopener">How to unlock high speed Wi-Fi on FreeBSD<br>
14</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/what-weve-learned-supporing-freebsd-production/" target="_blank" rel="nofollow noopener">What We’ve Learned Supporting FreeBSD in Production</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://derflounder.wordpress.com/2025/04/06/rsync-replaced-with-openrsync-on-macos-sequoia/" target="_blank" rel="nofollow noopener">rsync replaced with openrsync on macOS Sequoia</a></p>

<hr>

<p><a href="https://euroquis.nl/freebsd/2025/03/16/framework.html" target="_blank" rel="nofollow noopener">Framework 13 AMD Setup with FreeBSD</a></p>

<hr>

<p><a href="https://adventurist.me/posts/00352" target="_blank" rel="nofollow noopener">FreeBSD on Dell Latitude 7280</a></p>

<hr>

<p><a href="https://blog.feld.me/posts/2025/05/backup-mx-with-opensmtpd/" target="_blank" rel="nofollow noopener">Backup MX with OpenSMTPD</a></p>

<hr>

<p><a href="https://mwl.io/archives/24097" target="_blank" rel="nofollow noopener">Notes on caddy as QUIC reverse proxy with mac_portacl</a></p>

<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>

<h2>Feedback/Questions</h2>

<p>No feedback this week.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>614: Upstream Contributions Matter</title>
  <link>https://www.bsdnow.tv/614</link>
  <guid isPermaLink="false">6d579b5c-33f7-4a12-adcb-0db2f77ea9a3</guid>
  <pubDate>Thu, 05 Jun 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6d579b5c-33f7-4a12-adcb-0db2f77ea9a3.mp3" length="61354368" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The Hidden Costs of Stagnation: Why Running EOL Software is a Ticking Time Bomb, Maintaining FreeBSD in a Commercial Product – Why Upstream Contributions Matter, LLMs ('AI') are coming for our jobs whether or not they work, Implement Anubis to give the bots a harder time, erspan(4): ERSPAN Type II collection, Just my memory here is how I've configure OpenBSD and FreeBSD for a IPv6 Wifi, and more</itunes:subtitle>
  <itunes:duration>1:03:54</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>&lt;p&gt;The Hidden Costs of Stagnation: Why Running EOL Software is a Ticking Time Bomb, Maintaining FreeBSD in a Commercial Product – Why Upstream Contributions Matter, LLMs ('AI') are coming for our jobs whether or not they work, Implement Anubis to give the bots a harder time, erspan(4): ERSPAN Type II collection, Just my memory here is how I've configure OpenBSD and FreeBSD for a IPv6 Wifi, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/the-hidden-costs-of-stagnation-why-running-eol-software-is-a-ticking-time-bomb/" target="_blank" rel="nofollow noopener"&gt;The Hidden Costs of Stagnation: Why Running EOL Software is a Ticking Time Bomb&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/maintaining-freebsd-commercial-product-why-upstream-contributions-matter/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Maintaining FreeBSD in a Commercial Product – Why Upstream Contributions&lt;br&gt;
Matter&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/LLMsVersusOurJobs" target="_blank" rel="nofollow noopener"&gt;LLMs ('AI') are coming for our jobs whether or not they work&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dan.langille.org/2025/05/03/implement-anubis-to-give-the-bots-a-harder-time/" target="_blank" rel="nofollow noopener"&gt;Implement Anubis to give the bots a harder time&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20250512100219" target="_blank" rel="nofollow noopener"&gt;erspan(4): ERSPAN Type II collection&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vincentdelft.be/post/post_20250208" target="_blank" rel="nofollow noopener"&gt;Just my memory here is how I've configure OpenBSD and FreeBSD for a IPv6 Wifi&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;Some Interesting pieces of history&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.cs.columbia.edu/%7Esmb/papers/netnews-hist.pdf" target="_blank" rel="nofollow noopener"&gt;Netnews History&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cse.unl.edu/%7Ewitty/class/csce351/howto/history_of_solaris.pdf" target="_blank" rel="nofollow noopener"&gt;History of Solaris&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://econtent.unm.edu/digital/collection/nuceng/search" target="_blank" rel="nofollow noopener"&gt;Nuclear Wall Charts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.tuhs.org/pipermail/tuhs/2025-February/031403.html" target="_blank" rel="nofollow noopener"&gt;[TUHS] The Case of UNIX vs. The UNIX System&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/614/feedback/Paul%20-%20my%20setup.md" target="_blank" rel="nofollow noopener"&gt;Paul - my setup&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, hidden costs, stagnation, time bomb, commercial product, contributions matter, upstream, llm, jobs, anubis, bots, bot protection, erspan, collection, configuration, ipv6 wifi</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Hidden Costs of Stagnation: Why Running EOL Software is a Ticking Time Bomb, Maintaining FreeBSD in a Commercial Product – Why Upstream Contributions Matter, LLMs ('AI') are coming for our jobs whether or not they work, Implement Anubis to give the bots a harder time, erspan(4): ERSPAN Type II collection, Just my memory here is how I've configure OpenBSD and FreeBSD for a IPv6 Wifi, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/the-hidden-costs-of-stagnation-why-running-eol-software-is-a-ticking-time-bomb/" target="_blank" rel="nofollow noopener">The Hidden Costs of Stagnation: Why Running EOL Software is a Ticking Time Bomb</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/maintaining-freebsd-commercial-product-why-upstream-contributions-matter/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Maintaining FreeBSD in a Commercial Product – Why Upstream Contributions<br>
Matter</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/LLMsVersusOurJobs" target="_blank" rel="nofollow noopener">LLMs ('AI') are coming for our jobs whether or not they work</a></p>

<hr>

<p><a href="https://dan.langille.org/2025/05/03/implement-anubis-to-give-the-bots-a-harder-time/" target="_blank" rel="nofollow noopener">Implement Anubis to give the bots a harder time</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20250512100219" target="_blank" rel="nofollow noopener">erspan(4): ERSPAN Type II collection</a></p>

<hr>

<p><a href="https://vincentdelft.be/post/post_20250208" target="_blank" rel="nofollow noopener">Just my memory here is how I've configure OpenBSD and FreeBSD for a IPv6 Wifi</a></p>

<hr>

<h2>Beastie Bits</h2>

<p>Some Interesting pieces of history</p>

<ul>
<li><a href="https://www.cs.columbia.edu/%7Esmb/papers/netnews-hist.pdf" target="_blank" rel="nofollow noopener">Netnews History</a></li>
<li><a href="https://cse.unl.edu/%7Ewitty/class/csce351/howto/history_of_solaris.pdf" target="_blank" rel="nofollow noopener">History of Solaris</a></li>
<li><a href="https://econtent.unm.edu/digital/collection/nuceng/search" target="_blank" rel="nofollow noopener">Nuclear Wall Charts</a></li>
<li><a href="https://www.tuhs.org/pipermail/tuhs/2025-February/031403.html" target="_blank" rel="nofollow noopener">[TUHS] The Case of UNIX vs. The UNIX System</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/614/feedback/Paul%20-%20my%20setup.md" target="_blank" rel="nofollow noopener">Paul - my setup</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Hidden Costs of Stagnation: Why Running EOL Software is a Ticking Time Bomb, Maintaining FreeBSD in a Commercial Product – Why Upstream Contributions Matter, LLMs ('AI') are coming for our jobs whether or not they work, Implement Anubis to give the bots a harder time, erspan(4): ERSPAN Type II collection, Just my memory here is how I've configure OpenBSD and FreeBSD for a IPv6 Wifi, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/the-hidden-costs-of-stagnation-why-running-eol-software-is-a-ticking-time-bomb/" target="_blank" rel="nofollow noopener">The Hidden Costs of Stagnation: Why Running EOL Software is a Ticking Time Bomb</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/maintaining-freebsd-commercial-product-why-upstream-contributions-matter/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Maintaining FreeBSD in a Commercial Product – Why Upstream Contributions<br>
Matter</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/LLMsVersusOurJobs" target="_blank" rel="nofollow noopener">LLMs ('AI') are coming for our jobs whether or not they work</a></p>

<hr>

<p><a href="https://dan.langille.org/2025/05/03/implement-anubis-to-give-the-bots-a-harder-time/" target="_blank" rel="nofollow noopener">Implement Anubis to give the bots a harder time</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20250512100219" target="_blank" rel="nofollow noopener">erspan(4): ERSPAN Type II collection</a></p>

<hr>

<p><a href="https://vincentdelft.be/post/post_20250208" target="_blank" rel="nofollow noopener">Just my memory here is how I've configure OpenBSD and FreeBSD for a IPv6 Wifi</a></p>

<hr>

<h2>Beastie Bits</h2>

<p>Some Interesting pieces of history</p>

<ul>
<li><a href="https://www.cs.columbia.edu/%7Esmb/papers/netnews-hist.pdf" target="_blank" rel="nofollow noopener">Netnews History</a></li>
<li><a href="https://cse.unl.edu/%7Ewitty/class/csce351/howto/history_of_solaris.pdf" target="_blank" rel="nofollow noopener">History of Solaris</a></li>
<li><a href="https://econtent.unm.edu/digital/collection/nuceng/search" target="_blank" rel="nofollow noopener">Nuclear Wall Charts</a></li>
<li><a href="https://www.tuhs.org/pipermail/tuhs/2025-February/031403.html" target="_blank" rel="nofollow noopener">[TUHS] The Case of UNIX vs. The UNIX System</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/614/feedback/Paul%20-%20my%20setup.md" target="_blank" rel="nofollow noopener">Paul - my setup</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>613: DragonflyBSD 6.4.2</title>
  <link>https://www.bsdnow.tv/613</link>
  <guid isPermaLink="false">efcbb139-39d9-4ae5-a0ab-8f1166709787</guid>
  <pubDate>Thu, 29 May 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/efcbb139-39d9-4ae5-a0ab-8f1166709787.mp3" length="51264768" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Isolating Containers with ZFS and Linux Namespaces, DragonFly BSD 6.4.2, FreeBSD fans rally round zVault upstart, For Upcoming PF Tutorials, We Welcome Your Questions, Using ~/.ssh/authorized keys to decide what the incoming connection can do, PDF bruteforce tool to recover locked files, How and why typical (SaaS) pricing is too high for university departments, and more</itunes:subtitle>
  <itunes:duration>53:24</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>&lt;p&gt;Isolating Containers with ZFS and Linux Namespaces, DragonFly BSD 6.4.2, FreeBSD fans rally round zVault upstart, For Upcoming PF Tutorials, We Welcome Your Questions, Using ~/.ssh/authorized keys to decide what the incoming connection can do, PDF bruteforce tool to recover locked files, How and why typical (SaaS) pricing is too high for university departments, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/isolating-containers-with-zfs-and-linux-namespaces/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Isolating Containers with ZFS and Linux Namespaces&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.dragonflybsd.org/release64/" target="_blank" rel="nofollow noopener"&gt;DragonFly BSD 6.4.2&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.theregister.com/2025/05/12/second_preview_zvault/" target="_blank" rel="nofollow noopener"&gt;FreeBSD fans rally round zVault upstart&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://bsdly.blogspot.com/2025/05/for-upcoming-pf-tutorials-we-welcome.html" target="_blank" rel="nofollow noopener"&gt;For Upcoming PF Tutorials, We Welcome Your Questions&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dan.langille.org/2025/04/17/using-ssh-authorized-keys-to-decide-what-the-incoming-connection-can-do/" target="_blank" rel="nofollow noopener"&gt;Using ~/.ssh/authorized keys to decide what the incoming connection can do&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2025-03-09-test-pdf-passwords.html" target="_blank" rel="nofollow noopener"&gt;PDF bruteforce tool to recover locked files&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/UniversityTypicalPricingTooHigh" target="_blank" rel="nofollow noopener"&gt;How and why typical (SaaS) pricing is too high for university departments&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/612/feedback/nils%20-%20CFP.md" target="_blank" rel="nofollow noopener"&gt;Nils - CFP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, isolation, containers, namespaces, 6.4.2, zvault, pf tutorial, authorized_keys, bruteforce, pdf, revocer, recovery, saas, pricing, university</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Isolating Containers with ZFS and Linux Namespaces, DragonFly BSD 6.4.2, FreeBSD fans rally round zVault upstart, For Upcoming PF Tutorials, We Welcome Your Questions, Using ~/.ssh/authorized keys to decide what the incoming connection can do, PDF bruteforce tool to recover locked files, How and why typical (SaaS) pricing is too high for university departments, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/isolating-containers-with-zfs-and-linux-namespaces/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Isolating Containers with ZFS and Linux Namespaces</a></p>

<hr>

<p><a href="https://www.dragonflybsd.org/release64/" target="_blank" rel="nofollow noopener">DragonFly BSD 6.4.2</a></p>

<hr>

<p><a href="https://www.theregister.com/2025/05/12/second_preview_zvault/" target="_blank" rel="nofollow noopener">FreeBSD fans rally round zVault upstart</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://bsdly.blogspot.com/2025/05/for-upcoming-pf-tutorials-we-welcome.html" target="_blank" rel="nofollow noopener">For Upcoming PF Tutorials, We Welcome Your Questions</a></p>

<hr>

<p><a href="https://dan.langille.org/2025/04/17/using-ssh-authorized-keys-to-decide-what-the-incoming-connection-can-do/" target="_blank" rel="nofollow noopener">Using ~/.ssh/authorized keys to decide what the incoming connection can do</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2025-03-09-test-pdf-passwords.html" target="_blank" rel="nofollow noopener">PDF bruteforce tool to recover locked files</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/UniversityTypicalPricingTooHigh" target="_blank" rel="nofollow noopener">How and why typical (SaaS) pricing is too high for university departments</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/612/feedback/nils%20-%20CFP.md" target="_blank" rel="nofollow noopener">Nils - CFP</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Isolating Containers with ZFS and Linux Namespaces, DragonFly BSD 6.4.2, FreeBSD fans rally round zVault upstart, For Upcoming PF Tutorials, We Welcome Your Questions, Using ~/.ssh/authorized keys to decide what the incoming connection can do, PDF bruteforce tool to recover locked files, How and why typical (SaaS) pricing is too high for university departments, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/isolating-containers-with-zfs-and-linux-namespaces/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Isolating Containers with ZFS and Linux Namespaces</a></p>

<hr>

<p><a href="https://www.dragonflybsd.org/release64/" target="_blank" rel="nofollow noopener">DragonFly BSD 6.4.2</a></p>

<hr>

<p><a href="https://www.theregister.com/2025/05/12/second_preview_zvault/" target="_blank" rel="nofollow noopener">FreeBSD fans rally round zVault upstart</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://bsdly.blogspot.com/2025/05/for-upcoming-pf-tutorials-we-welcome.html" target="_blank" rel="nofollow noopener">For Upcoming PF Tutorials, We Welcome Your Questions</a></p>

<hr>

<p><a href="https://dan.langille.org/2025/04/17/using-ssh-authorized-keys-to-decide-what-the-incoming-connection-can-do/" target="_blank" rel="nofollow noopener">Using ~/.ssh/authorized keys to decide what the incoming connection can do</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2025-03-09-test-pdf-passwords.html" target="_blank" rel="nofollow noopener">PDF bruteforce tool to recover locked files</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/UniversityTypicalPricingTooHigh" target="_blank" rel="nofollow noopener">How and why typical (SaaS) pricing is too high for university departments</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/612/feedback/nils%20-%20CFP.md" target="_blank" rel="nofollow noopener">Nils - CFP</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>612: Zip Bomb Protection</title>
  <link>https://www.bsdnow.tv/612</link>
  <guid isPermaLink="false">445e8ddd-cc74-4299-aa42-c8ba5e8d2d93</guid>
  <pubDate>Thu, 22 May 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/445e8ddd-cc74-4299-aa42-c8ba5e8d2d93.mp3" length="36056832" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>I use Zip Bombs to Protect my Server, Owning the Stack: Infrastructure Independence with FreeBSD and ZFS, Optimisation of parallel TCP input, Chosing between "it works for now" and "it works in the long term", Losing one of my evenings after an OpenBSD upgrade, What drive did I just remove from the system?, and more
</itunes:subtitle>
  <itunes:duration>37:33</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>&lt;p&gt;I use Zip Bombs to Protect my Server, Owning the Stack: Infrastructure Independence with FreeBSD and ZFS, Optimisation of parallel TCP input, Chosing between "it works for now" and "it works in the long term", Losing one of my evenings after an OpenBSD upgrade, What drive did I just remove from the system?, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://idiallo.com/blog/zipbomb-protection" target="_blank" rel="nofollow noopener"&gt;I use Zip Bombs to Protect my Server&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/owning-the-stack-infrastructure-independence-with-freebsd-zfs/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Owning the Stack: Infrastructure Independence with FreeBSD and ZFS&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20250508122430" target="_blank" rel="nofollow noopener"&gt;Optimisation of parallel TCP input&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/WorksNowVsWorksGenerally" target="_blank" rel="nofollow noopener"&gt;Chosing between "it works for now" and "it works in the long term"&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.ncartron.org/losing-one-of-my-evenings-after-an-openbsd-upgrade.html" target="_blank" rel="nofollow noopener"&gt;Losing one of my evenings after an OpenBSD upgrade&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dan.langille.org/2025/04/21/what-drive-did-i-just-remove-from-the-system/" target="_blank" rel="nofollow noopener"&gt;What drive did I just remove from the system?&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/613/feedback/Benjamin%20-%20street%20pcs.md" target="_blank" rel="nofollow noopener"&gt;Benjamin - Street PCs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, zip bomb, protection, protect, stack ownership, Infrastructure Independence, Optimisation, parallel TCP input, works for now, works long-term, upgrade, drive removal</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>I use Zip Bombs to Protect my Server, Owning the Stack: Infrastructure Independence with FreeBSD and ZFS, Optimisation of parallel TCP input, Chosing between "it works for now" and "it works in the long term", Losing one of my evenings after an OpenBSD upgrade, What drive did I just remove from the system?, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://idiallo.com/blog/zipbomb-protection" target="_blank" rel="nofollow noopener">I use Zip Bombs to Protect my Server</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/owning-the-stack-infrastructure-independence-with-freebsd-zfs/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Owning the Stack: Infrastructure Independence with FreeBSD and ZFS<br>
</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20250508122430" target="_blank" rel="nofollow noopener">Optimisation of parallel TCP input</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/WorksNowVsWorksGenerally" target="_blank" rel="nofollow noopener">Chosing between "it works for now" and "it works in the long term"</a></p>

<hr>

<p><a href="https://www.ncartron.org/losing-one-of-my-evenings-after-an-openbsd-upgrade.html" target="_blank" rel="nofollow noopener">Losing one of my evenings after an OpenBSD upgrade</a></p>

<hr>

<p><a href="https://dan.langille.org/2025/04/21/what-drive-did-i-just-remove-from-the-system/" target="_blank" rel="nofollow noopener">What drive did I just remove from the system?</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/613/feedback/Benjamin%20-%20street%20pcs.md" target="_blank" rel="nofollow noopener">Benjamin - Street PCs</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>I use Zip Bombs to Protect my Server, Owning the Stack: Infrastructure Independence with FreeBSD and ZFS, Optimisation of parallel TCP input, Chosing between "it works for now" and "it works in the long term", Losing one of my evenings after an OpenBSD upgrade, What drive did I just remove from the system?, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://idiallo.com/blog/zipbomb-protection" target="_blank" rel="nofollow noopener">I use Zip Bombs to Protect my Server</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/owning-the-stack-infrastructure-independence-with-freebsd-zfs/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Owning the Stack: Infrastructure Independence with FreeBSD and ZFS<br>
</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20250508122430" target="_blank" rel="nofollow noopener">Optimisation of parallel TCP input</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/WorksNowVsWorksGenerally" target="_blank" rel="nofollow noopener">Chosing between "it works for now" and "it works in the long term"</a></p>

<hr>

<p><a href="https://www.ncartron.org/losing-one-of-my-evenings-after-an-openbsd-upgrade.html" target="_blank" rel="nofollow noopener">Losing one of my evenings after an OpenBSD upgrade</a></p>

<hr>

<p><a href="https://dan.langille.org/2025/04/21/what-drive-did-i-just-remove-from-the-system/" target="_blank" rel="nofollow noopener">What drive did I just remove from the system?</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/613/feedback/Benjamin%20-%20street%20pcs.md" target="_blank" rel="nofollow noopener">Benjamin - Street PCs</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>611: Ghosty Things</title>
  <link>https://www.bsdnow.tv/611</link>
  <guid isPermaLink="false">3436e540-2590-4a5e-9caa-5762b7c159bd</guid>
  <pubDate>Thu, 15 May 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3436e540-2590-4a5e-9caa-5762b7c159bd.mp3" length="47079552" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>GhostBSD: From Usability to Struggle and Renewal, Why You Can’t Trust AI to Tune ZFS, Introducing bpflogd(8): capture packets via BPF to log files, What I'd do as a College Freshman in 2025, FreeBSD and KDE Plasma generations, Improvements to the FreeBSD CI/CD systems, FreeBSD as a Workstation, and more</itunes:subtitle>
  <itunes:duration>49:02</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>&lt;p&gt;GhostBSD: From Usability to Struggle and Renewal, Why You Can’t Trust AI to Tune ZFS, Introducing bpflogd(8): capture packets via BPF to log files, What I'd do as a College Freshman in 2025, FreeBSD and KDE Plasma generations, Improvements to the FreeBSD CI/CD systems, FreeBSD as a Workstation, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/our-work/journal/browser-based-edition/downstreams/ghostbsd-from-usability-to-struggle-and-renewal/" target="_blank" rel="nofollow noopener"&gt;GhostBSD: From Usability to Struggle and Renewal&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/why-you-cant-trust-ai-to-tune-zfs/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Why You Can’t Trust AI to Tune ZFS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20250425074505" target="_blank" rel="nofollow noopener"&gt;Introducing bpflogd(8): capture packets via BPF to log files&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://muratbuffalo.blogspot.com/2025/04/what-id-do-as-college-freshman.html" target="_blank" rel="nofollow noopener"&gt;What I'd do as a College Freshman in 2025&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://euroquis.nl//freebsd/2025/03/02/kde5.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD and KDE Plasma generations&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/improvements-to-the-freebsd-ci-cd-systems/" target="_blank" rel="nofollow noopener"&gt;Improvements to the FreeBSD CI/CD systems&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://darknet.sytes.net/wordpress/index.php/2025/03/16/freebsd-as-a-workstation/" target="_blank" rel="nofollow noopener"&gt;FreeBSD as a Workstation&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/611/feedback/effie%20-%20freebsd%20as%20a%20workstation.md" target="_blank" rel="nofollow noopener"&gt;Effie - FreeBSD as a Workstation&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, struggle and renewal, ghostbsd, no trust ai, zfs tuning, bpflogd, packet capture, bpf, log files, logging, college Freshman, KDE Plasma generations, Improvements, CI/CD system, workstation</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>GhostBSD: From Usability to Struggle and Renewal, Why You Can’t Trust AI to Tune ZFS, Introducing bpflogd(8): capture packets via BPF to log files, What I'd do as a College Freshman in 2025, FreeBSD and KDE Plasma generations, Improvements to the FreeBSD CI/CD systems, FreeBSD as a Workstation, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/our-work/journal/browser-based-edition/downstreams/ghostbsd-from-usability-to-struggle-and-renewal/" target="_blank" rel="nofollow noopener">GhostBSD: From Usability to Struggle and Renewal</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/why-you-cant-trust-ai-to-tune-zfs/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Why You Can’t Trust AI to Tune ZFS</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20250425074505" target="_blank" rel="nofollow noopener">Introducing bpflogd(8): capture packets via BPF to log files</a></p>

<hr>

<p><a href="https://muratbuffalo.blogspot.com/2025/04/what-id-do-as-college-freshman.html" target="_blank" rel="nofollow noopener">What I'd do as a College Freshman in 2025</a></p>

<hr>

<p><a href="https://euroquis.nl//freebsd/2025/03/02/kde5.html" target="_blank" rel="nofollow noopener">FreeBSD and KDE Plasma generations</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/improvements-to-the-freebsd-ci-cd-systems/" target="_blank" rel="nofollow noopener">Improvements to the FreeBSD CI/CD systems</a></p>

<hr>

<p><a href="https://darknet.sytes.net/wordpress/index.php/2025/03/16/freebsd-as-a-workstation/" target="_blank" rel="nofollow noopener">FreeBSD as a Workstation</a></p>

<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>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/611/feedback/effie%20-%20freebsd%20as%20a%20workstation.md" target="_blank" rel="nofollow noopener">Effie - FreeBSD as a Workstation</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>GhostBSD: From Usability to Struggle and Renewal, Why You Can’t Trust AI to Tune ZFS, Introducing bpflogd(8): capture packets via BPF to log files, What I'd do as a College Freshman in 2025, FreeBSD and KDE Plasma generations, Improvements to the FreeBSD CI/CD systems, FreeBSD as a Workstation, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/our-work/journal/browser-based-edition/downstreams/ghostbsd-from-usability-to-struggle-and-renewal/" target="_blank" rel="nofollow noopener">GhostBSD: From Usability to Struggle and Renewal</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/why-you-cant-trust-ai-to-tune-zfs/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Why You Can’t Trust AI to Tune ZFS</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20250425074505" target="_blank" rel="nofollow noopener">Introducing bpflogd(8): capture packets via BPF to log files</a></p>

<hr>

<p><a href="https://muratbuffalo.blogspot.com/2025/04/what-id-do-as-college-freshman.html" target="_blank" rel="nofollow noopener">What I'd do as a College Freshman in 2025</a></p>

<hr>

<p><a href="https://euroquis.nl//freebsd/2025/03/02/kde5.html" target="_blank" rel="nofollow noopener">FreeBSD and KDE Plasma generations</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/improvements-to-the-freebsd-ci-cd-systems/" target="_blank" rel="nofollow noopener">Improvements to the FreeBSD CI/CD systems</a></p>

<hr>

<p><a href="https://darknet.sytes.net/wordpress/index.php/2025/03/16/freebsd-as-a-workstation/" target="_blank" rel="nofollow noopener">FreeBSD as a Workstation</a></p>

<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>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/611/feedback/effie%20-%20freebsd%20as%20a%20workstation.md" target="_blank" rel="nofollow noopener">Effie - FreeBSD as a Workstation</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>610: OpenBSD 7.7</title>
  <link>https://www.bsdnow.tv/610</link>
  <guid isPermaLink="false">c5685d50-e22b-4162-a0e6-e95482c79364</guid>
  <pubDate>Thu, 08 May 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c5685d50-e22b-4162-a0e6-e95482c79364.mp3" length="59646336" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 7.7, ZFS Orchestration Tools – Part 2: Replication, Switching customers from Linux to BSD because boring is good, Graphed and measured: running TCP input in parallel, Introducing an OpenBSD LLDP daemon, Hardware discovery: ACPI &amp; Device Tree, The 2025 FreeBSD Community Survey is Here, and more</itunes:subtitle>
  <itunes:duration>1:02:07</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>&lt;p&gt;OpenBSD 7.7, ZFS Orchestration Tools – Part 2: Replication, Switching customers from Linux to BSD because boring is good, Graphed and measured: running TCP input in parallel, Introducing an OpenBSD LLDP daemon, Hardware discovery: ACPI &amp;amp; Device Tree, The 2025 FreeBSD Community Survey is Here, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://OpenBSD.org/77.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 7.7&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/zfs-orchestration-tools-part-2-replication/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;ZFS Orchestration Tools – Part 2: Replication&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.theregister.com/2024/10/08/switching_from_linux_to_bsd/" target="_blank" rel="nofollow noopener"&gt;Switching customers from Linux to BSD because boring is good&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20250418114827" target="_blank" rel="nofollow noopener"&gt;Graphed and measured: running TCP input in parallel&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20250425082010" target="_blank" rel="nofollow noopener"&gt;Introducing an OpenBSD LLDP daemon&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blogsystem5.substack.com/p/hardware-autoconfiguration" target="_blank" rel="nofollow noopener"&gt;Hardware discovery: ACPI &amp;amp; Device Tree&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/the-2025-freebsd-community-survey-is-here/" target="_blank" rel="nofollow noopener"&gt;The 2025 FreeBSD Community Survey is Here&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/610/feedback/brad%20-%20new%20users.md" target="_blank" rel="nofollow noopener"&gt;Brad - new users&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, openbsd 7.7, orchestration tools, zfs replication, switching customers, boring is good, graphed, measured, benchmarking, tcp in parallel, lldp daemon, hardware discovery, community survey</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 7.7, ZFS Orchestration Tools – Part 2: Replication, Switching customers from Linux to BSD because boring is good, Graphed and measured: running TCP input in parallel, Introducing an OpenBSD LLDP daemon, Hardware discovery: ACPI &amp; Device Tree, The 2025 FreeBSD Community Survey is Here, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://OpenBSD.org/77.html" target="_blank" rel="nofollow noopener">OpenBSD 7.7</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zfs-orchestration-tools-part-2-replication/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZFS Orchestration Tools – Part 2: Replication</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.theregister.com/2024/10/08/switching_from_linux_to_bsd/" target="_blank" rel="nofollow noopener">Switching customers from Linux to BSD because boring is good</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20250418114827" target="_blank" rel="nofollow noopener">Graphed and measured: running TCP input in parallel</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20250425082010" target="_blank" rel="nofollow noopener">Introducing an OpenBSD LLDP daemon</a></p>

<hr>

<p><a href="https://blogsystem5.substack.com/p/hardware-autoconfiguration" target="_blank" rel="nofollow noopener">Hardware discovery: ACPI &amp; Device Tree</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/the-2025-freebsd-community-survey-is-here/" target="_blank" rel="nofollow noopener">The 2025 FreeBSD Community Survey is Here</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/610/feedback/brad%20-%20new%20users.md" target="_blank" rel="nofollow noopener">Brad - new users</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 7.7, ZFS Orchestration Tools – Part 2: Replication, Switching customers from Linux to BSD because boring is good, Graphed and measured: running TCP input in parallel, Introducing an OpenBSD LLDP daemon, Hardware discovery: ACPI &amp; Device Tree, The 2025 FreeBSD Community Survey is Here, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://OpenBSD.org/77.html" target="_blank" rel="nofollow noopener">OpenBSD 7.7</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zfs-orchestration-tools-part-2-replication/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZFS Orchestration Tools – Part 2: Replication</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.theregister.com/2024/10/08/switching_from_linux_to_bsd/" target="_blank" rel="nofollow noopener">Switching customers from Linux to BSD because boring is good</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20250418114827" target="_blank" rel="nofollow noopener">Graphed and measured: running TCP input in parallel</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20250425082010" target="_blank" rel="nofollow noopener">Introducing an OpenBSD LLDP daemon</a></p>

<hr>

<p><a href="https://blogsystem5.substack.com/p/hardware-autoconfiguration" target="_blank" rel="nofollow noopener">Hardware discovery: ACPI &amp; Device Tree</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/the-2025-freebsd-community-survey-is-here/" target="_blank" rel="nofollow noopener">The 2025 FreeBSD Community Survey is Here</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/610/feedback/brad%20-%20new%20users.md" target="_blank" rel="nofollow noopener">Brad - new users</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>609: Toe-Dipping in Amsterdam</title>
  <link>https://www.bsdnow.tv/609</link>
  <guid isPermaLink="false">6ea22d34-c89b-4ee8-9c3a-b85dcf18e5b1</guid>
  <pubDate>Thu, 01 May 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6ea22d34-c89b-4ee8-9c3a-b85dcf18e5b1.mp3" length="52603008" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Inside FreeBSD Netgraph: Behind the Curtain of Advanced Networking, Launching BSSG - My Journey from Dynamic CMS to Bash Static Site Generator, OpenZFS Cheat Sheet, Dipping my toes in OpenBSD in Amsterdam, SSH keys from a command: sshd's AuthorizedKeysCommand directive, How to move bhyve VM and Jail container from one host to another host, and more</itunes:subtitle>
  <itunes:duration>54:47</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>&lt;p&gt;Inside FreeBSD Netgraph: Behind the Curtain of Advanced Networking, Launching BSSG - My Journey from Dynamic CMS to Bash Static Site Generator, OpenZFS Cheat Sheet, Dipping my toes in OpenBSD in Amsterdam, SSH keys from a command: sshd's AuthorizedKeysCommand directive, How to move bhyve VM and Jail container from one host to another host, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/inside-freebsd-netgraph-advanced-networking/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Inside FreeBSD Netgraph: Behind the Curtain of Advanced Networking&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2025/04/07/launching-bssg-my-journey-from-dynamic-cms-to-bash-static-site-generator/" target="_blank" rel="nofollow noopener"&gt;Launching BSSG - My Journey from Dynamic CMS to Bash Static Site Generator&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/openzfs-cheat-sheet/" target="_blank" rel="nofollow noopener"&gt;OpenZFS Cheat Sheet&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://ewintr.nl/posts/2025/dipping-my-toes-in-openbsd-in-amsterdam/" target="_blank" rel="nofollow noopener"&gt;Dipping my toes in OpenBSD, in Amsterdam&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://jpmens.net/2025/03/25/authorizedkeyscommand-in-sshd/" target="_blank" rel="nofollow noopener"&gt;SSH keys from a command: sshd's AuthorizedKeysCommand directive&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vincentdelft.be/post/post_20250215" target="_blank" rel="nofollow noopener"&gt;How to move bhyve VM and Jail container from one host to another host ?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/tree/master/episodes/609/feedback" target="_blank" rel="nofollow noopener"&gt;Dave - Webstack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, netgraph, Advanced networking, bssg, dynamic cms, bash static site generator, cheat sheet, AuthorizedKeysCommand, ssh, sshd, secure shell, bhyve migration, vm migration</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Inside FreeBSD Netgraph: Behind the Curtain of Advanced Networking, Launching BSSG - My Journey from Dynamic CMS to Bash Static Site Generator, OpenZFS Cheat Sheet, Dipping my toes in OpenBSD in Amsterdam, SSH keys from a command: sshd's AuthorizedKeysCommand directive, How to move bhyve VM and Jail container from one host to another host, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/inside-freebsd-netgraph-advanced-networking/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Inside FreeBSD Netgraph: Behind the Curtain of Advanced Networking</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2025/04/07/launching-bssg-my-journey-from-dynamic-cms-to-bash-static-site-generator/" target="_blank" rel="nofollow noopener">Launching BSSG - My Journey from Dynamic CMS to Bash Static Site Generator</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://freebsdfoundation.org/blog/openzfs-cheat-sheet/" target="_blank" rel="nofollow noopener">OpenZFS Cheat Sheet</a></p>

<hr>

<p><a href="https://ewintr.nl/posts/2025/dipping-my-toes-in-openbsd-in-amsterdam/" target="_blank" rel="nofollow noopener">Dipping my toes in OpenBSD, in Amsterdam</a></p>

<hr>

<p><a href="https://jpmens.net/2025/03/25/authorizedkeyscommand-in-sshd/" target="_blank" rel="nofollow noopener">SSH keys from a command: sshd's AuthorizedKeysCommand directive</a></p>

<hr>

<p><a href="https://vincentdelft.be/post/post_20250215" target="_blank" rel="nofollow noopener">How to move bhyve VM and Jail container from one host to another host ?</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/tree/master/episodes/609/feedback" target="_blank" rel="nofollow noopener">Dave - Webstack</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Inside FreeBSD Netgraph: Behind the Curtain of Advanced Networking, Launching BSSG - My Journey from Dynamic CMS to Bash Static Site Generator, OpenZFS Cheat Sheet, Dipping my toes in OpenBSD in Amsterdam, SSH keys from a command: sshd's AuthorizedKeysCommand directive, How to move bhyve VM and Jail container from one host to another host, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/inside-freebsd-netgraph-advanced-networking/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Inside FreeBSD Netgraph: Behind the Curtain of Advanced Networking</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2025/04/07/launching-bssg-my-journey-from-dynamic-cms-to-bash-static-site-generator/" target="_blank" rel="nofollow noopener">Launching BSSG - My Journey from Dynamic CMS to Bash Static Site Generator</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://freebsdfoundation.org/blog/openzfs-cheat-sheet/" target="_blank" rel="nofollow noopener">OpenZFS Cheat Sheet</a></p>

<hr>

<p><a href="https://ewintr.nl/posts/2025/dipping-my-toes-in-openbsd-in-amsterdam/" target="_blank" rel="nofollow noopener">Dipping my toes in OpenBSD, in Amsterdam</a></p>

<hr>

<p><a href="https://jpmens.net/2025/03/25/authorizedkeyscommand-in-sshd/" target="_blank" rel="nofollow noopener">SSH keys from a command: sshd's AuthorizedKeysCommand directive</a></p>

<hr>

<p><a href="https://vincentdelft.be/post/post_20250215" target="_blank" rel="nofollow noopener">How to move bhyve VM and Jail container from one host to another host ?</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/tree/master/episodes/609/feedback" target="_blank" rel="nofollow noopener">Dave - Webstack</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>608: Reboot required</title>
  <link>https://www.bsdnow.tv/608</link>
  <guid isPermaLink="false">2c8bb44d-bc8c-468c-8556-74ec308bbc46</guid>
  <pubDate>Thu, 24 Apr 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2c8bb44d-bc8c-468c-8556-74ec308bbc46.mp3" length="46584192" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Robust &amp; Reliable Backup Solutions with OpenZFS, Why I Maintain a 17 Year Old Thinkpad, Motivations, Tinker Writer Deck, How to tell if FreeBSD needs a Reboot using kernel version check, Techie pulled an all-nighter that one mistake turned into an all-weekender, and more</itunes:subtitle>
  <itunes:duration>48:31</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>&lt;p&gt;Robust &amp;amp; Reliable Backup Solutions with OpenZFS, Why I Maintain a 17 Year Old Thinkpad, Motivations, Tinker Writer Deck, How to tell if FreeBSD needs a Reboot using kernel version check, Techie pulled an all-nighter that one mistake turned into an all-weekender, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/world-backup-day-2025-robust-reliable-backup-solutions-with-openzfs/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;World Backup Day 2025: Robust &amp;amp; Reliable Backup Solutions with OpenZFS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://pilledtexts.com/why-i-use-a-17-year-old-thinkpad/" target="_blank" rel="nofollow noopener"&gt;Why I Maintain a 17 Year Old Thinkpad&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://stevengharms.com/longform/my-first-freebsd/motivations/" target="_blank" rel="nofollow noopener"&gt;Motivations&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://tinker.sh/" target="_blank" rel="nofollow noopener"&gt;Tinker Writer Deck&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.cyberciti.biz/faq/freebsd-determine-if-a-system-reboot-is-necessary/" target="_blank" rel="nofollow noopener"&gt;How to tell if FreeBSD needs a Reboot using kernel version check&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.theregister.com/2025/03/03/who_me/" target="_blank" rel="nofollow noopener"&gt;Techie pulled an all-nighter that one mistake turned into an all-weekender&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/608/feedback/ian%20-%20personal%20stack.md" target="_blank" rel="nofollow noopener"&gt;Ian - Personal Web Stack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/608/feedback/brendan%20-%20storage%20backends.md" target="_blank" rel="nofollow noopener"&gt;Brendan - Storage Backends&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, reliable backup, world backup day, 17 year old thinkpad, tinker writer deck, reboot, kernel version check,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Robust &amp; Reliable Backup Solutions with OpenZFS, Why I Maintain a 17 Year Old Thinkpad, Motivations, Tinker Writer Deck, How to tell if FreeBSD needs a Reboot using kernel version check, Techie pulled an all-nighter that one mistake turned into an all-weekender, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/world-backup-day-2025-robust-reliable-backup-solutions-with-openzfs/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">World Backup Day 2025: Robust &amp; Reliable Backup Solutions with OpenZFS</a></p>

<hr>

<p><a href="https://pilledtexts.com/why-i-use-a-17-year-old-thinkpad/" target="_blank" rel="nofollow noopener">Why I Maintain a 17 Year Old Thinkpad</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://stevengharms.com/longform/my-first-freebsd/motivations/" target="_blank" rel="nofollow noopener">Motivations</a></p>

<hr>

<p><a href="https://tinker.sh/" target="_blank" rel="nofollow noopener">Tinker Writer Deck</a></p>

<hr>

<p><a href="https://www.cyberciti.biz/faq/freebsd-determine-if-a-system-reboot-is-necessary/" target="_blank" rel="nofollow noopener">How to tell if FreeBSD needs a Reboot using kernel version check</a></p>

<hr>

<p><a href="https://www.theregister.com/2025/03/03/who_me/" target="_blank" rel="nofollow noopener">Techie pulled an all-nighter that one mistake turned into an all-weekender</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/608/feedback/ian%20-%20personal%20stack.md" target="_blank" rel="nofollow noopener">Ian - Personal Web Stack</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/608/feedback/brendan%20-%20storage%20backends.md" target="_blank" rel="nofollow noopener">Brendan - Storage Backends</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Robust &amp; Reliable Backup Solutions with OpenZFS, Why I Maintain a 17 Year Old Thinkpad, Motivations, Tinker Writer Deck, How to tell if FreeBSD needs a Reboot using kernel version check, Techie pulled an all-nighter that one mistake turned into an all-weekender, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/world-backup-day-2025-robust-reliable-backup-solutions-with-openzfs/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">World Backup Day 2025: Robust &amp; Reliable Backup Solutions with OpenZFS</a></p>

<hr>

<p><a href="https://pilledtexts.com/why-i-use-a-17-year-old-thinkpad/" target="_blank" rel="nofollow noopener">Why I Maintain a 17 Year Old Thinkpad</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://stevengharms.com/longform/my-first-freebsd/motivations/" target="_blank" rel="nofollow noopener">Motivations</a></p>

<hr>

<p><a href="https://tinker.sh/" target="_blank" rel="nofollow noopener">Tinker Writer Deck</a></p>

<hr>

<p><a href="https://www.cyberciti.biz/faq/freebsd-determine-if-a-system-reboot-is-necessary/" target="_blank" rel="nofollow noopener">How to tell if FreeBSD needs a Reboot using kernel version check</a></p>

<hr>

<p><a href="https://www.theregister.com/2025/03/03/who_me/" target="_blank" rel="nofollow noopener">Techie pulled an all-nighter that one mistake turned into an all-weekender</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/608/feedback/ian%20-%20personal%20stack.md" target="_blank" rel="nofollow noopener">Ian - Personal Web Stack</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/608/feedback/brendan%20-%20storage%20backends.md" target="_blank" rel="nofollow noopener">Brendan - Storage Backends</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>607: Sign those commits</title>
  <link>https://www.bsdnow.tv/607</link>
  <guid isPermaLink="false">8c8a9cb9-441e-40a7-9655-ee7d148ef6eb</guid>
  <pubDate>Thu, 17 Apr 2025 18:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8c8a9cb9-441e-40a7-9655-ee7d148ef6eb.mp3" length="54202368" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We should improve libzfs somewhat, Accurate Effective Storage Performance Benchmark, Debugging aids for pf firewall rules on FreeBSD, OpenBSD and Thunderbolt issue on ThinkPad T480s, Signing Git Commits with an SSH key, Pgrep, LibreOffice downloads on the rise, and more</itunes:subtitle>
  <itunes:duration>56:27</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>&lt;p&gt;We should improve libzfs somewhat, Accurate Effective Storage Performance Benchmark, Debugging aids for pf firewall rules on FreeBSD, OpenBSD and Thunderbolt issue on ThinkPad T480s, Signing Git Commits with an SSH key, Pgrep, LibreOffice downloads on the rise, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://despairlabs.com/blog/posts/2025-03-12-we-should-improve-libzfs-somewhat/" target="_blank" rel="nofollow noopener"&gt;We should improve libzfs somewhat&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/accurate-effective-storage-performance-benchmark/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Accurate Effective Storage Performance Benchmark&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dan.langille.org/2025/02/24/debugging-aids-for-pf-firewall-rules-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Debugging aids for pf firewall rules on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2025/openbsd-and-thunderbolt-issue-on-thinkpad-t480s/" target="_blank" rel="nofollow noopener"&gt;OpenBSD and Thunderbolt issue on ThinkPad T480s&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://jpmens.net/2025/02/26/signing-git-commits-with-an-ssh-key/" target="_blank" rel="nofollow noopener"&gt;Signing Git Commits with an SSH key&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.c0t0d0s0.org/blog/pgrep-z-r.html" target="_blank" rel="nofollow noopener"&gt;Pgrep&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.computerworld.com/article/3840480/libreoffice-downloads-on-the-rise-as-users-look-to-avoid-subscription-costs.html" target="_blank" rel="nofollow noopener"&gt;LibreOffice downloads on the rise as users look to avoid subscription costs&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/607/feedback/Felix%20-%20bhyve%20and%20nvme.md" target="_blank" rel="nofollow noopener"&gt;Felix - Bhyve and NVME&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, improve, improvement, libzfs, effective storage performance benchmark, debugging, aid, firewall rules, pf, thunderbolt, thinkpad T480s, git commit, signing, ssh key, pgrep, libreoffice</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We should improve libzfs somewhat, Accurate Effective Storage Performance Benchmark, Debugging aids for pf firewall rules on FreeBSD, OpenBSD and Thunderbolt issue on ThinkPad T480s, Signing Git Commits with an SSH key, Pgrep, LibreOffice downloads on the rise, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://despairlabs.com/blog/posts/2025-03-12-we-should-improve-libzfs-somewhat/" target="_blank" rel="nofollow noopener">We should improve libzfs somewhat</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/accurate-effective-storage-performance-benchmark/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Accurate Effective Storage Performance Benchmark</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dan.langille.org/2025/02/24/debugging-aids-for-pf-firewall-rules-on-freebsd/" target="_blank" rel="nofollow noopener">Debugging aids for pf firewall rules on FreeBSD</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2025/openbsd-and-thunderbolt-issue-on-thinkpad-t480s/" target="_blank" rel="nofollow noopener">OpenBSD and Thunderbolt issue on ThinkPad T480s</a></p>

<hr>

<p><a href="https://jpmens.net/2025/02/26/signing-git-commits-with-an-ssh-key/" target="_blank" rel="nofollow noopener">Signing Git Commits with an SSH key</a></p>

<hr>

<p><a href="https://www.c0t0d0s0.org/blog/pgrep-z-r.html" target="_blank" rel="nofollow noopener">Pgrep</a></p>

<hr>

<p><a href="https://www.computerworld.com/article/3840480/libreoffice-downloads-on-the-rise-as-users-look-to-avoid-subscription-costs.html" target="_blank" rel="nofollow noopener">LibreOffice downloads on the rise as users look to avoid subscription costs</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/607/feedback/Felix%20-%20bhyve%20and%20nvme.md" target="_blank" rel="nofollow noopener">Felix - Bhyve and NVME</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We should improve libzfs somewhat, Accurate Effective Storage Performance Benchmark, Debugging aids for pf firewall rules on FreeBSD, OpenBSD and Thunderbolt issue on ThinkPad T480s, Signing Git Commits with an SSH key, Pgrep, LibreOffice downloads on the rise, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://despairlabs.com/blog/posts/2025-03-12-we-should-improve-libzfs-somewhat/" target="_blank" rel="nofollow noopener">We should improve libzfs somewhat</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/accurate-effective-storage-performance-benchmark/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Accurate Effective Storage Performance Benchmark</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dan.langille.org/2025/02/24/debugging-aids-for-pf-firewall-rules-on-freebsd/" target="_blank" rel="nofollow noopener">Debugging aids for pf firewall rules on FreeBSD</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2025/openbsd-and-thunderbolt-issue-on-thinkpad-t480s/" target="_blank" rel="nofollow noopener">OpenBSD and Thunderbolt issue on ThinkPad T480s</a></p>

<hr>

<p><a href="https://jpmens.net/2025/02/26/signing-git-commits-with-an-ssh-key/" target="_blank" rel="nofollow noopener">Signing Git Commits with an SSH key</a></p>

<hr>

<p><a href="https://www.c0t0d0s0.org/blog/pgrep-z-r.html" target="_blank" rel="nofollow noopener">Pgrep</a></p>

<hr>

<p><a href="https://www.computerworld.com/article/3840480/libreoffice-downloads-on-the-rise-as-users-look-to-avoid-subscription-costs.html" target="_blank" rel="nofollow noopener">LibreOffice downloads on the rise as users look to avoid subscription costs</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/607/feedback/Felix%20-%20bhyve%20and%20nvme.md" target="_blank" rel="nofollow noopener">Felix - Bhyve and NVME</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>606: Tackling 7k bugs</title>
  <link>https://www.bsdnow.tv/606</link>
  <guid isPermaLink="false">36cf0e74-8983-4d33-a8ae-2a44c5c62f5b</guid>
  <pubDate>Thu, 10 Apr 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/36cf0e74-8983-4d33-a8ae-2a44c5c62f5b.mp3" length="68451456" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 13.5-RELEASE Now Available, From Chaos to Clarity: How We Tackled FreeBSD’s 7,000 Bug Backlog, zfs-2.3.1, Complications of funding an open source operating system, Why Choose to Use the BSDs in 2025, First Use on GhostBSD, Better Shell History Search, and more</itunes:subtitle>
  <itunes:duration>1:11:18</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>&lt;p&gt;FreeBSD 13.5-RELEASE Now Available, From Chaos to Clarity: How We Tackled FreeBSD’s 7,000 Bug Backlog, zfs-2.3.1, Complications of funding an open source operating system, Why Choose to Use the BSDs in 2025, First Use on GhostBSD, Better Shell History Search, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://lists.freebsd.org/archives/freebsd-announce/2025-March/000181.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13.5-RELEASE Now Available&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/from-chaos-to-clarity-how-we-tackled-freebsds-7000-bug-backlog/" target="_blank" rel="nofollow noopener"&gt;From Chaos to Clarity: How We Tackled FreeBSD’s 7,000 Bug Backlog&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/openzfs/zfs/releases/tag/zfs-2.3.1" target="_blank" rel="nofollow noopener"&gt;zfs-2.3.1&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://posixcafe.org/blogs/2025/03/11/0/" target="_blank" rel="nofollow noopener"&gt;Complications of funding an open source operating system&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2025/03/23/osday-2025-why-choose-bsd-in-2025/" target="_blank" rel="nofollow noopener"&gt;Why Choose to Use the BSDs in 2025&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://technophobeconfessions.wordpress.com/2025/03/18/first-use-on-ghostbsd/" target="_blank" rel="nofollow noopener"&gt;First Use on GhostBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://tratt.net/laurie/blog/2025/better_shell_history_search.html" target="_blank" rel="nofollow noopener"&gt;Better Shell History Search&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/606/feedback/russell%20-%20questions.md" target="_blank" rel="nofollow noopener"&gt;Russell - Questions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, 13.5, choas, clarity, 7000 bugs, backlog, zfs 2.3.1, funding, choice, first use, shell history search</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 13.5-RELEASE Now Available, From Chaos to Clarity: How We Tackled FreeBSD’s 7,000 Bug Backlog, zfs-2.3.1, Complications of funding an open source operating system, Why Choose to Use the BSDs in 2025, First Use on GhostBSD, Better Shell History Search, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://lists.freebsd.org/archives/freebsd-announce/2025-March/000181.html" target="_blank" rel="nofollow noopener">FreeBSD 13.5-RELEASE Now Available</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/from-chaos-to-clarity-how-we-tackled-freebsds-7000-bug-backlog/" target="_blank" rel="nofollow noopener">From Chaos to Clarity: How We Tackled FreeBSD’s 7,000 Bug Backlog</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://github.com/openzfs/zfs/releases/tag/zfs-2.3.1" target="_blank" rel="nofollow noopener">zfs-2.3.1</a></p>

<hr>

<p><a href="https://posixcafe.org/blogs/2025/03/11/0/" target="_blank" rel="nofollow noopener">Complications of funding an open source operating system</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2025/03/23/osday-2025-why-choose-bsd-in-2025/" target="_blank" rel="nofollow noopener">Why Choose to Use the BSDs in 2025</a></p>

<hr>

<p><a href="https://technophobeconfessions.wordpress.com/2025/03/18/first-use-on-ghostbsd/" target="_blank" rel="nofollow noopener">First Use on GhostBSD</a></p>

<hr>

<p><a href="https://tratt.net/laurie/blog/2025/better_shell_history_search.html" target="_blank" rel="nofollow noopener">Better Shell History Search</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/606/feedback/russell%20-%20questions.md" target="_blank" rel="nofollow noopener">Russell - Questions</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 13.5-RELEASE Now Available, From Chaos to Clarity: How We Tackled FreeBSD’s 7,000 Bug Backlog, zfs-2.3.1, Complications of funding an open source operating system, Why Choose to Use the BSDs in 2025, First Use on GhostBSD, Better Shell History Search, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://lists.freebsd.org/archives/freebsd-announce/2025-March/000181.html" target="_blank" rel="nofollow noopener">FreeBSD 13.5-RELEASE Now Available</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/from-chaos-to-clarity-how-we-tackled-freebsds-7000-bug-backlog/" target="_blank" rel="nofollow noopener">From Chaos to Clarity: How We Tackled FreeBSD’s 7,000 Bug Backlog</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://github.com/openzfs/zfs/releases/tag/zfs-2.3.1" target="_blank" rel="nofollow noopener">zfs-2.3.1</a></p>

<hr>

<p><a href="https://posixcafe.org/blogs/2025/03/11/0/" target="_blank" rel="nofollow noopener">Complications of funding an open source operating system</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2025/03/23/osday-2025-why-choose-bsd-in-2025/" target="_blank" rel="nofollow noopener">Why Choose to Use the BSDs in 2025</a></p>

<hr>

<p><a href="https://technophobeconfessions.wordpress.com/2025/03/18/first-use-on-ghostbsd/" target="_blank" rel="nofollow noopener">First Use on GhostBSD</a></p>

<hr>

<p><a href="https://tratt.net/laurie/blog/2025/better_shell_history_search.html" target="_blank" rel="nofollow noopener">Better Shell History Search</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/606/feedback/russell%20-%20questions.md" target="_blank" rel="nofollow noopener">Russell - Questions</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>605: Fediverse Weather Service</title>
  <link>https://www.bsdnow.tv/605</link>
  <guid isPermaLink="false">0d283001-f1dc-4ca1-9d48-f10bf0e58d6e</guid>
  <pubDate>Thu, 03 Apr 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/0d283001-f1dc-4ca1-9d48-f10bf0e58d6e.mp3" length="56369664" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FediMeteo: How a Tiny €4 FreeBSD VPS Became a Global Weather Service for Thousands, Core Infrastructure: Why You Need to Control Your NTP, Automatic Display switch for OpenBSD laptop, Using a 2013 Mac Pro as a FreeBSD Desktop, Some terminal frustrations, Copying all files of a directory, including hidden ones, with cp, You Should Use /tmp/ More, and more</itunes:subtitle>
  <itunes:duration>58:43</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>&lt;p&gt;FediMeteo: How a Tiny €4 FreeBSD VPS Became a Global Weather Service for Thousands, Core Infrastructure: Why You Need to Control Your NTP, Automatic Display switch for OpenBSD laptop, Using a 2013 Mac Pro as a FreeBSD Desktop, Some terminal frustrations, Copying all files of a directory, including hidden ones, with cp, You Should Use /tmp/ More, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2025/02/26/fedimeteo-how-a-tiny-freebsd-vps-became-a-global-weather-service-for-thousands/" target="_blank" rel="nofollow noopener"&gt;FediMeteo: How a Tiny €4 FreeBSD VPS Became a Global Weather Service for Thousands&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/core-infrastructure-why-you-need-to-control-your-ntp/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Core Infrastructure: Why You Need to Control Your NTP&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2024/automatic-display-switch-for-openbsd-laptop/" target="_blank" rel="nofollow noopener"&gt;Automatic Display switch for OpenBSD laptop&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://forums.FreeBSD.org/threads/using-a-2013-mac-pro-as-a-freebsd-desktop.96805/" target="_blank" rel="nofollow noopener"&gt;Using a 2013 Mac Pro as a FreeBSD Desktop&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://jvns.ca/blog/2025/02/05/some-terminal-frustrations/" target="_blank" rel="nofollow noopener"&gt;Some terminal frustrations&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://bhoot.dev/2025/cp-dot-copies-everything/" target="_blank" rel="nofollow noopener"&gt;Copying all files of a directory, including hidden ones, with cp&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://atthis.link/blog/2025/58671.html" target="_blank" rel="nofollow noopener"&gt;You Should Use /tmp/ More&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/605/feedback/Tyler%20-%20Toms%20request.md" target="_blank" rel="nofollow noopener"&gt;Tyler - Toms request&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, fedimeteo, vps, weather service, core Infrastructure, ntp, network time protocol, Automatic Display switch, mac pro freebsd desktop, terminal frustrations, cp, copy, tmp, temp directory</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FediMeteo: How a Tiny €4 FreeBSD VPS Became a Global Weather Service for Thousands, Core Infrastructure: Why You Need to Control Your NTP, Automatic Display switch for OpenBSD laptop, Using a 2013 Mac Pro as a FreeBSD Desktop, Some terminal frustrations, Copying all files of a directory, including hidden ones, with cp, You Should Use /tmp/ More, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://it-notes.dragas.net/2025/02/26/fedimeteo-how-a-tiny-freebsd-vps-became-a-global-weather-service-for-thousands/" target="_blank" rel="nofollow noopener">FediMeteo: How a Tiny €4 FreeBSD VPS Became a Global Weather Service for Thousands</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/core-infrastructure-why-you-need-to-control-your-ntp/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Core Infrastructure: Why You Need to Control Your NTP</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.tumfatig.net/2024/automatic-display-switch-for-openbsd-laptop/" target="_blank" rel="nofollow noopener">Automatic Display switch for OpenBSD laptop</a></p>

<hr>

<p><a href="https://forums.FreeBSD.org/threads/using-a-2013-mac-pro-as-a-freebsd-desktop.96805/" target="_blank" rel="nofollow noopener">Using a 2013 Mac Pro as a FreeBSD Desktop</a></p>

<hr>

<p><a href="https://jvns.ca/blog/2025/02/05/some-terminal-frustrations/" target="_blank" rel="nofollow noopener">Some terminal frustrations</a></p>

<hr>

<p><a href="https://bhoot.dev/2025/cp-dot-copies-everything/" target="_blank" rel="nofollow noopener">Copying all files of a directory, including hidden ones, with cp</a></p>

<hr>

<p><a href="https://atthis.link/blog/2025/58671.html" target="_blank" rel="nofollow noopener">You Should Use /tmp/ More</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/605/feedback/Tyler%20-%20Toms%20request.md" target="_blank" rel="nofollow noopener">Tyler - Toms request</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FediMeteo: How a Tiny €4 FreeBSD VPS Became a Global Weather Service for Thousands, Core Infrastructure: Why You Need to Control Your NTP, Automatic Display switch for OpenBSD laptop, Using a 2013 Mac Pro as a FreeBSD Desktop, Some terminal frustrations, Copying all files of a directory, including hidden ones, with cp, You Should Use /tmp/ More, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://it-notes.dragas.net/2025/02/26/fedimeteo-how-a-tiny-freebsd-vps-became-a-global-weather-service-for-thousands/" target="_blank" rel="nofollow noopener">FediMeteo: How a Tiny €4 FreeBSD VPS Became a Global Weather Service for Thousands</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/core-infrastructure-why-you-need-to-control-your-ntp/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Core Infrastructure: Why You Need to Control Your NTP</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.tumfatig.net/2024/automatic-display-switch-for-openbsd-laptop/" target="_blank" rel="nofollow noopener">Automatic Display switch for OpenBSD laptop</a></p>

<hr>

<p><a href="https://forums.FreeBSD.org/threads/using-a-2013-mac-pro-as-a-freebsd-desktop.96805/" target="_blank" rel="nofollow noopener">Using a 2013 Mac Pro as a FreeBSD Desktop</a></p>

<hr>

<p><a href="https://jvns.ca/blog/2025/02/05/some-terminal-frustrations/" target="_blank" rel="nofollow noopener">Some terminal frustrations</a></p>

<hr>

<p><a href="https://bhoot.dev/2025/cp-dot-copies-everything/" target="_blank" rel="nofollow noopener">Copying all files of a directory, including hidden ones, with cp</a></p>

<hr>

<p><a href="https://atthis.link/blog/2025/58671.html" target="_blank" rel="nofollow noopener">You Should Use /tmp/ More</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/605/feedback/Tyler%20-%20Toms%20request.md" target="_blank" rel="nofollow noopener">Tyler - Toms request</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>604: Future looks back</title>
  <link>https://www.bsdnow.tv/604</link>
  <guid isPermaLink="false">a942703c-56b7-4c72-a047-bb79bc5d23ff</guid>
  <pubDate>Thu, 27 Mar 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a942703c-56b7-4c72-a047-bb79bc5d23ff.mp3" length="47195136" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The Future Looking Back At Us: Joanne McNeil on Cyberpunk, Why ZFS reports less available space, We are destroying software, FreeBSD 13.5 Overcomes UFS Y2038 Problem To Push It Out To Year 2106, 1972 UNIX V2 "Beta" Resurrected, Some thoughts on why 'inetd activation' didn't catch on, If you believe in “Artificial Intelligence”, take five minutes to ask it about stuff you know well, and more</itunes:subtitle>
  <itunes:duration>49:09</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>&lt;p&gt;The Future Looking Back At Us: Joanne McNeil on Cyberpunk, Why ZFS reports less available space, We are destroying software, FreeBSD 13.5 Overcomes UFS Y2038 Problem To Push It Out To Year 2106, 1972 UNIX V2 "Beta" Resurrected, Some thoughts on why 'inetd activation' didn't catch on, If you believe in “Artificial Intelligence”, take five minutes to ask it about stuff you know well, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://filmmakermagazine.com/127295-joanne-mcneil-cyberpunk/" target="_blank" rel="nofollow noopener"&gt;The Future Looking Back At Us: Joanne McNeil on Cyberpunk&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/why-zfs-reports-less-available-space-space-accounting-explained/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Why ZFS reports less available space space accounting explained/&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://antirez.com/news/145" target="_blank" rel="nofollow noopener"&gt;We are destroying software&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.phoronix.com/news/FreeBSD-13.5-Beta-2" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13.5 Overcomes UFS Y2038 Problem To Push It Out To Year 2106&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tuhs.org/pipermail/tuhs/2025-February/031420.html" target="_blank" rel="nofollow noopener"&gt;TUHS: 1972 UNIX V2 "Beta" Resurrected&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/InetdActivationWhyNot" target="_blank" rel="nofollow noopener"&gt;Some thoughts on why 'inetd activation' didn't catch on&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://svpow.com/2025/02/14/if-you-believe-in-artificial-intelligence-take-five-minutes-to-ask-it-about-stuff-you-know-well/" target="_blank" rel="nofollow noopener"&gt;If you believe in “Artificial Intelligence”, take five minutes to ask it about stuff you know well&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/604/feedback/Nelson%20-%20gcc%20puzzlement.md" target="_blank" rel="nofollow noopener"&gt;Nelson - gcc puzzlement&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, future, cyberpunk, disk space, storage space, pool space, destroying software, UFS, Y2038, year 2106, 172 UNIX beta, resurrection, inetd activation, ai, Artificial Intelligence</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Future Looking Back At Us: Joanne McNeil on Cyberpunk, Why ZFS reports less available space, We are destroying software, FreeBSD 13.5 Overcomes UFS Y2038 Problem To Push It Out To Year 2106, 1972 UNIX V2 "Beta" Resurrected, Some thoughts on why 'inetd activation' didn't catch on, If you believe in “Artificial Intelligence”, take five minutes to ask it about stuff you know well, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://filmmakermagazine.com/127295-joanne-mcneil-cyberpunk/" target="_blank" rel="nofollow noopener">The Future Looking Back At Us: Joanne McNeil on Cyberpunk</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/why-zfs-reports-less-available-space-space-accounting-explained/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Why ZFS reports less available space space accounting explained/</a></p>

<hr>

<p><a href="https://antirez.com/news/145" target="_blank" rel="nofollow noopener">We are destroying software</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.phoronix.com/news/FreeBSD-13.5-Beta-2" target="_blank" rel="nofollow noopener">FreeBSD 13.5 Overcomes UFS Y2038 Problem To Push It Out To Year 2106</a></p>

<hr>

<p><a href="https://www.tuhs.org/pipermail/tuhs/2025-February/031420.html" target="_blank" rel="nofollow noopener">TUHS: 1972 UNIX V2 "Beta" Resurrected</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/InetdActivationWhyNot" target="_blank" rel="nofollow noopener">Some thoughts on why 'inetd activation' didn't catch on</a></p>

<hr>

<p><a href="https://svpow.com/2025/02/14/if-you-believe-in-artificial-intelligence-take-five-minutes-to-ask-it-about-stuff-you-know-well/" target="_blank" rel="nofollow noopener">If you believe in “Artificial Intelligence”, take five minutes to ask it about stuff you know well</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/604/feedback/Nelson%20-%20gcc%20puzzlement.md" target="_blank" rel="nofollow noopener">Nelson - gcc puzzlement</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Future Looking Back At Us: Joanne McNeil on Cyberpunk, Why ZFS reports less available space, We are destroying software, FreeBSD 13.5 Overcomes UFS Y2038 Problem To Push It Out To Year 2106, 1972 UNIX V2 "Beta" Resurrected, Some thoughts on why 'inetd activation' didn't catch on, If you believe in “Artificial Intelligence”, take five minutes to ask it about stuff you know well, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://filmmakermagazine.com/127295-joanne-mcneil-cyberpunk/" target="_blank" rel="nofollow noopener">The Future Looking Back At Us: Joanne McNeil on Cyberpunk</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/why-zfs-reports-less-available-space-space-accounting-explained/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Why ZFS reports less available space space accounting explained/</a></p>

<hr>

<p><a href="https://antirez.com/news/145" target="_blank" rel="nofollow noopener">We are destroying software</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.phoronix.com/news/FreeBSD-13.5-Beta-2" target="_blank" rel="nofollow noopener">FreeBSD 13.5 Overcomes UFS Y2038 Problem To Push It Out To Year 2106</a></p>

<hr>

<p><a href="https://www.tuhs.org/pipermail/tuhs/2025-February/031420.html" target="_blank" rel="nofollow noopener">TUHS: 1972 UNIX V2 "Beta" Resurrected</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/InetdActivationWhyNot" target="_blank" rel="nofollow noopener">Some thoughts on why 'inetd activation' didn't catch on</a></p>

<hr>

<p><a href="https://svpow.com/2025/02/14/if-you-believe-in-artificial-intelligence-take-five-minutes-to-ask-it-about-stuff-you-know-well/" target="_blank" rel="nofollow noopener">If you believe in “Artificial Intelligence”, take five minutes to ask it about stuff you know well</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/604/feedback/Nelson%20-%20gcc%20puzzlement.md" target="_blank" rel="nofollow noopener">Nelson - gcc puzzlement</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>603: Expanding the RAID-Z</title>
  <link>https://www.bsdnow.tv/603</link>
  <guid isPermaLink="false">b363b18d-79bf-4cdb-bb98-d22bb66a99be</guid>
  <pubDate>Thu, 20 Mar 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b363b18d-79bf-4cdb-bb98-d22bb66a99be.mp3" length="34948992" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenZFS RAID-Z Expansion: A New Era in Storage Flexibility, ZFS Orchestration Tools – Part 1: Snapshots, The Case of UNIX vs. The UNIX System, OpenBGPD 8.8 released, OPNsense 25.1, and more</itunes:subtitle>
  <itunes:duration>36:24</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>&lt;p&gt;OpenZFS RAID-Z Expansion: A New Era in Storage Flexibility, ZFS Orchestration Tools – Part 1: Snapshots, The Case of UNIX vs. The UNIX System, OpenBGPD 8.8 released, OPNsense 25.1, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/openzfs-raid-z-expansion-a-new-era-in-storage-flexibility/" target="_blank" rel="nofollow noopener"&gt;OpenZFS RAID-Z Expansion: A New Era in Storage Flexibility&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/zfs-orchestration-part-1-zfs-snapshots-tools/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;ZFS Orchestration Tools – Part 1: Snapshots&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://rsadowski.de/posts/2025-01-23-manage-openbsd-with-ssm/" target="_blank" rel="nofollow noopener"&gt;Manage OpenBSD with AWS Systems Manager&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tuhs.org/pipermail/tuhs/2025-February/031403.html" target="_blank" rel="nofollow noopener"&gt;TUHS:The Case of UNIX vs. The UNIX System&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20250207192657" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 8.8 released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://forum.opnsense.org/index.php?topic=45460.msg227323" target="_blank" rel="nofollow noopener"&gt;OPNsense 25.1&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, raidz expansion, storage Flexibility, Orchestration tools, OpenBGPD 8.8, opnsense 25.1</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenZFS RAID-Z Expansion: A New Era in Storage Flexibility, ZFS Orchestration Tools – Part 1: Snapshots, The Case of UNIX vs. The UNIX System, OpenBGPD 8.8 released, OPNsense 25.1, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/openzfs-raid-z-expansion-a-new-era-in-storage-flexibility/" target="_blank" rel="nofollow noopener">OpenZFS RAID-Z Expansion: A New Era in Storage Flexibility</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zfs-orchestration-part-1-zfs-snapshots-tools/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZFS Orchestration Tools – Part 1: Snapshots</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://rsadowski.de/posts/2025-01-23-manage-openbsd-with-ssm/" target="_blank" rel="nofollow noopener">Manage OpenBSD with AWS Systems Manager</a></p>

<hr>

<p><a href="https://www.tuhs.org/pipermail/tuhs/2025-February/031403.html" target="_blank" rel="nofollow noopener">TUHS:The Case of UNIX vs. The UNIX System</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20250207192657" target="_blank" rel="nofollow noopener">OpenBGPD 8.8 released</a></p>

<hr>

<p><a href="https://forum.opnsense.org/index.php?topic=45460.msg227323" target="_blank" rel="nofollow noopener">OPNsense 25.1</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenZFS RAID-Z Expansion: A New Era in Storage Flexibility, ZFS Orchestration Tools – Part 1: Snapshots, The Case of UNIX vs. The UNIX System, OpenBGPD 8.8 released, OPNsense 25.1, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/openzfs-raid-z-expansion-a-new-era-in-storage-flexibility/" target="_blank" rel="nofollow noopener">OpenZFS RAID-Z Expansion: A New Era in Storage Flexibility</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zfs-orchestration-part-1-zfs-snapshots-tools/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZFS Orchestration Tools – Part 1: Snapshots</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://rsadowski.de/posts/2025-01-23-manage-openbsd-with-ssm/" target="_blank" rel="nofollow noopener">Manage OpenBSD with AWS Systems Manager</a></p>

<hr>

<p><a href="https://www.tuhs.org/pipermail/tuhs/2025-February/031403.html" target="_blank" rel="nofollow noopener">TUHS:The Case of UNIX vs. The UNIX System</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20250207192657" target="_blank" rel="nofollow noopener">OpenBGPD 8.8 released</a></p>

<hr>

<p><a href="https://forum.opnsense.org/index.php?topic=45460.msg227323" target="_blank" rel="nofollow noopener">OPNsense 25.1</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>602: Wildcard Gotchas</title>
  <link>https://www.bsdnow.tv/602</link>
  <guid isPermaLink="false">047f1a53-de88-41b8-bff2-c25e006dd164</guid>
  <pubDate>Thu, 13 Mar 2025 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/047f1a53-de88-41b8-bff2-c25e006dd164.mp3" length="54905088" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>I Tried FreeBSD as a Desktop in 2025. Here's How It Went, Cray 1 Supercomputer Performance Comparisons With Home Computers Phones and Tablets, The first perfect computer, Find Name Wildcard Gotcha, and more</itunes:subtitle>
  <itunes:duration>57:11</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>&lt;p&gt;I Tried FreeBSD as a Desktop in 2025. Here's How It Went, Cray 1 Supercomputer Performance Comparisons With Home Computers Phones and Tablets, The first perfect computer, Find Name Wildcard Gotcha, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.howtogeek.com/i-tried-freebsd-as-a-desktop-heres-how-it-went/" target="_blank" rel="nofollow noopener"&gt;I Tried FreeBSD as a Desktop in 2025. Here's How It Went&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://www.roylongbottom.org.uk/Cray%201%20Supercomputer%20Performance%20Comparisons%20With%20Home%20Computers%20Phones%20and%20Tablets.htm" target="_blank" rel="nofollow noopener"&gt;Cray 1 Supercomputer Performance Comparisons With Home Computers Phones and Tablets&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://briancallahan.net/blog/20250222.html" target="_blank" rel="nofollow noopener"&gt;State of virtualizing the BSDs on Apple Silicon&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://celso.io/posts/2025/01/26/the-first-perfect-computer/" target="_blank" rel="nofollow noopener"&gt;The first perfect computer&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/FindNameWildcardGotcha" target="_blank" rel="nofollow noopener"&gt;Find Name Wildcard Gotcha&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;New Patreon Levels&lt;/h2&gt;

&lt;p&gt;Level 1 - user memory (Tip Jar) @ $1 / month&lt;br&gt;
Show your support for the show&lt;/p&gt;

&lt;p&gt;Level 2 - virtual memory (Ad-Free Episodes) @ $5 / month&lt;br&gt;
Ad-free episodes&lt;/p&gt;

&lt;p&gt;Level 3 - kmem (VIP Patron) @ $10 / month&lt;br&gt;
Everything in higher memory levels &amp;amp;&lt;br&gt;
Your feedback and questions jump the queue and go in the next episode.&lt;br&gt;
Personal shout outs (with your consent) for recommending articles we cover.&lt;/p&gt;

&lt;p&gt;Level 4 - physical memory @ $20 / month&lt;br&gt;
What's included:&lt;br&gt;
Everything in higher memory levels &amp;amp;&lt;br&gt;
You can send in audio/video questions and we'll air your audio in the show feedback section (if the quality of your recording is decent)&lt;br&gt;
Behind-the-scenes content - Raw Video from Recording sessions with intro/outro discussion not included in the show&lt;br&gt;
Additional Content when we all make it&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, freebsd desktop, cray, Supercomputer, Performance Comparisons, home computer, perfect computer, wildcard gotcha,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>I Tried FreeBSD as a Desktop in 2025. Here's How It Went, Cray 1 Supercomputer Performance Comparisons With Home Computers Phones and Tablets, The first perfect computer, Find Name Wildcard Gotcha, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.howtogeek.com/i-tried-freebsd-as-a-desktop-heres-how-it-went/" target="_blank" rel="nofollow noopener">I Tried FreeBSD as a Desktop in 2025. Here's How It Went</a></p>

<hr>

<p><a href="http://www.roylongbottom.org.uk/Cray%201%20Supercomputer%20Performance%20Comparisons%20With%20Home%20Computers%20Phones%20and%20Tablets.htm" target="_blank" rel="nofollow noopener">Cray 1 Supercomputer Performance Comparisons With Home Computers Phones and Tablets</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://briancallahan.net/blog/20250222.html" target="_blank" rel="nofollow noopener">State of virtualizing the BSDs on Apple Silicon</a></p>

<hr>

<p><a href="https://celso.io/posts/2025/01/26/the-first-perfect-computer/" target="_blank" rel="nofollow noopener">The first perfect computer</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/FindNameWildcardGotcha" target="_blank" rel="nofollow noopener">Find Name Wildcard Gotcha</a></p>

<hr>

<h2>New Patreon Levels</h2>

<p>Level 1 - user memory (Tip Jar) @ $1 / month<br>
Show your support for the show</p>

<p>Level 2 - virtual memory (Ad-Free Episodes) @ $5 / month<br>
Ad-free episodes</p>

<p>Level 3 - kmem (VIP Patron) @ $10 / month<br>
Everything in higher memory levels &amp;<br>
Your feedback and questions jump the queue and go in the next episode.<br>
Personal shout outs (with your consent) for recommending articles we cover.</p>

<p>Level 4 - physical memory @ $20 / month<br>
What's included:<br>
Everything in higher memory levels &amp;<br>
You can send in audio/video questions and we'll air your audio in the show feedback section (if the quality of your recording is decent)<br>
Behind-the-scenes content - Raw Video from Recording sessions with intro/outro discussion not included in the show<br>
Additional Content when we all make it</p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>I Tried FreeBSD as a Desktop in 2025. Here's How It Went, Cray 1 Supercomputer Performance Comparisons With Home Computers Phones and Tablets, The first perfect computer, Find Name Wildcard Gotcha, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.howtogeek.com/i-tried-freebsd-as-a-desktop-heres-how-it-went/" target="_blank" rel="nofollow noopener">I Tried FreeBSD as a Desktop in 2025. Here's How It Went</a></p>

<hr>

<p><a href="http://www.roylongbottom.org.uk/Cray%201%20Supercomputer%20Performance%20Comparisons%20With%20Home%20Computers%20Phones%20and%20Tablets.htm" target="_blank" rel="nofollow noopener">Cray 1 Supercomputer Performance Comparisons With Home Computers Phones and Tablets</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://briancallahan.net/blog/20250222.html" target="_blank" rel="nofollow noopener">State of virtualizing the BSDs on Apple Silicon</a></p>

<hr>

<p><a href="https://celso.io/posts/2025/01/26/the-first-perfect-computer/" target="_blank" rel="nofollow noopener">The first perfect computer</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/FindNameWildcardGotcha" target="_blank" rel="nofollow noopener">Find Name Wildcard Gotcha</a></p>

<hr>

<h2>New Patreon Levels</h2>

<p>Level 1 - user memory (Tip Jar) @ $1 / month<br>
Show your support for the show</p>

<p>Level 2 - virtual memory (Ad-Free Episodes) @ $5 / month<br>
Ad-free episodes</p>

<p>Level 3 - kmem (VIP Patron) @ $10 / month<br>
Everything in higher memory levels &amp;<br>
Your feedback and questions jump the queue and go in the next episode.<br>
Personal shout outs (with your consent) for recommending articles we cover.</p>

<p>Level 4 - physical memory @ $20 / month<br>
What's included:<br>
Everything in higher memory levels &amp;<br>
You can send in audio/video questions and we'll air your audio in the show feedback section (if the quality of your recording is decent)<br>
Behind-the-scenes content - Raw Video from Recording sessions with intro/outro discussion not included in the show<br>
Additional Content when we all make it</p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>601: The Monospace Web</title>
  <link>https://www.bsdnow.tv/601</link>
  <guid isPermaLink="false">56687453-cb0c-4a65-9235-68a9816b22e2</guid>
  <pubDate>Thu, 06 Mar 2025 09:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/56687453-cb0c-4a65-9235-68a9816b22e2.mp3" length="46028928" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The PC is Dead: It’s Time to Make Computing Personal Again, The Biggest Unix Security Loophole, The monospace Web, What a FreeBSD kernel message about your bridge means, Installing FreeBSD on a HP 250 G9, Networking for System Administrators, and more.</itunes:subtitle>
  <itunes:duration>47:56</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>&lt;p&gt;The PC is Dead: It’s Time to Make Computing Personal Again, The Biggest Unix Security Loophole, The monospace Web, What a FreeBSD kernel message about your bridge means, Installing FreeBSD on a HP 250 G9, Networking for System Administrators, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.vintagecomputing.com/index.php/archives/3292/the-pc-is-dead-its-time-to-make-computing-personal-again" target="_blank" rel="nofollow noopener"&gt;The PC is Dead: It’s Time to Make Computing Personal Again&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tuhs.org/Archive/Documentation/TechReports/Bell_Labs/ReedsShellHoles.pdf" target="_blank" rel="nofollow noopener"&gt;The Biggest Unix Security Loophole&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://owickstrom.github.io/the-monospace-web/" target="_blank" rel="nofollow noopener"&gt;The monospace Web&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/FreeBSDBridgeMacMovedMessage" target="_blank" rel="nofollow noopener"&gt;What a FreeBSD kernel message about your bridge means&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://brunopacheco1.github.io/posts/installing-freebsd-on-hp-250-g9/" target="_blank" rel="nofollow noopener"&gt;Installing FreeBSD on a HP 250 G9&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://mwl.io/nonfiction/networking#n4sa" target="_blank" rel="nofollow noopener"&gt;Networking for System Administrators&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, pc dead, personal computing, securit loophole, monospace, web, kernel message, bridge, HP 250 G9, networking, sysadmins, system administrators</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The PC is Dead: It’s Time to Make Computing Personal Again, The Biggest Unix Security Loophole, The monospace Web, What a FreeBSD kernel message about your bridge means, Installing FreeBSD on a HP 250 G9, Networking for System Administrators, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.vintagecomputing.com/index.php/archives/3292/the-pc-is-dead-its-time-to-make-computing-personal-again" target="_blank" rel="nofollow noopener">The PC is Dead: It’s Time to Make Computing Personal Again</a></p>

<hr>

<p><a href="https://www.tuhs.org/Archive/Documentation/TechReports/Bell_Labs/ReedsShellHoles.pdf" target="_blank" rel="nofollow noopener">The Biggest Unix Security Loophole</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://owickstrom.github.io/the-monospace-web/" target="_blank" rel="nofollow noopener">The monospace Web</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/FreeBSDBridgeMacMovedMessage" target="_blank" rel="nofollow noopener">What a FreeBSD kernel message about your bridge means</a></p>

<hr>

<p><a href="https://brunopacheco1.github.io/posts/installing-freebsd-on-hp-250-g9/" target="_blank" rel="nofollow noopener">Installing FreeBSD on a HP 250 G9</a></p>

<hr>

<p><a href="https://mwl.io/nonfiction/networking#n4sa" target="_blank" rel="nofollow noopener">Networking for System Administrators</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The PC is Dead: It’s Time to Make Computing Personal Again, The Biggest Unix Security Loophole, The monospace Web, What a FreeBSD kernel message about your bridge means, Installing FreeBSD on a HP 250 G9, Networking for System Administrators, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.vintagecomputing.com/index.php/archives/3292/the-pc-is-dead-its-time-to-make-computing-personal-again" target="_blank" rel="nofollow noopener">The PC is Dead: It’s Time to Make Computing Personal Again</a></p>

<hr>

<p><a href="https://www.tuhs.org/Archive/Documentation/TechReports/Bell_Labs/ReedsShellHoles.pdf" target="_blank" rel="nofollow noopener">The Biggest Unix Security Loophole</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://owickstrom.github.io/the-monospace-web/" target="_blank" rel="nofollow noopener">The monospace Web</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/FreeBSDBridgeMacMovedMessage" target="_blank" rel="nofollow noopener">What a FreeBSD kernel message about your bridge means</a></p>

<hr>

<p><a href="https://brunopacheco1.github.io/posts/installing-freebsd-on-hp-250-g9/" target="_blank" rel="nofollow noopener">Installing FreeBSD on a HP 250 G9</a></p>

<hr>

<p><a href="https://mwl.io/nonfiction/networking#n4sa" target="_blank" rel="nofollow noopener">Networking for System Administrators</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>600: The big 600</title>
  <link>https://www.bsdnow.tv/600</link>
  <guid isPermaLink="false">f0d54c0d-d906-41d5-bd19-01d14030d46c</guid>
  <pubDate>Thu, 27 Feb 2025 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f0d54c0d-d906-41d5-bd19-01d14030d46c.mp3" length="71599488" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Lead Asahi Developer stands down, moderators reminiscing about joining the podcast, Support for the Radxa Orian O6 board in OpenBSD, FreeBSD and hi-fi audio setup: bit-perfect, equalizer, real-time, OpenBGPD 8.8 released, and more</itunes:subtitle>
  <itunes:duration>1:14:34</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>&lt;p&gt;Lead Asahi Developer stands down, moderators reminiscing about joining the podcast, Support for the Radxa Orian O6 board in OpenBSD, FreeBSD and hi-fi audio setup: bit-perfect, equalizer, real-time, OpenBGPD 8.8 released, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Topics&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://asahilinux.org/2025/02/passing-the-torch/" target="_blank" rel="nofollow noopener"&gt;Hector Martin stands down as lead developer on Asahi Linux&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;No forward progress for Rust to be given first class status in the kernel&lt;/li&gt;
&lt;li&gt;Having to maintain a thousand plus patches against a fast moving upstream
project (Linux Kernel)&lt;/li&gt;
&lt;li&gt;Dwindling funds&lt;/li&gt;
&lt;li&gt;What does this mean for sister projects like OpenBSD?&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;600th episode flash back&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;When did you come across BSDNow?&lt;/li&gt;
&lt;li&gt;What are some of your highlights?&lt;/li&gt;
&lt;li&gt;Where are we going in the future...?&lt;/li&gt;
&lt;li&gt;What would we like to do for the show as hosts. Pie in the sky thinking and discussion.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Round Up&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-arm&amp;amp;m=173823317816570&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;Support for the Radxa Orian O6 board in
OpenBSD&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;As well, the NetBSD project is trying to bring up this board&lt;/li&gt;
&lt;li&gt;Conversation around the state of ARM64 SoC and options&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;LibreSSL is not affected by the &lt;a href="https://www.securityweek.com/high-severity-openssl-vulnerability-found-by-apple-allows-mitm-attacks/" target="_blank" rel="nofollow noopener"&gt;OpenSSL
vulnerabilities&lt;/a&gt;
announced today.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://m4c.pl/blog/freebsd-audio-setup-bitperfect-equalizer-realtime/" target="_blank" rel="nofollow noopener"&gt;FreeBSD and hi-fi audio setup: bit-perfect, equalizer,
real-time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20250207192657" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 8.8
released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/600/feedback/jt%20-%20the_most_important_question.md" target="_blank" rel="nofollow noopener"&gt;The Most Important Question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, asahi linux, developer quit, moderators, good old times, radxa Orian, support, hifi, audio setup, equalizer, real-time, bit-perfect, OpenBGPD</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Lead Asahi Developer stands down, moderators reminiscing about joining the podcast, Support for the Radxa Orian O6 board in OpenBSD, FreeBSD and hi-fi audio setup: bit-perfect, equalizer, real-time, OpenBGPD 8.8 released, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Topics</h2>

<ul>
<li><a href="https://asahilinux.org/2025/02/passing-the-torch/" target="_blank" rel="nofollow noopener">Hector Martin stands down as lead developer on Asahi Linux</a>

<ul>
<li>No forward progress for Rust to be given first class status in the kernel</li>
<li>Having to maintain a thousand plus patches against a fast moving upstream
project (Linux Kernel)</li>
<li>Dwindling funds</li>
<li>What does this mean for sister projects like OpenBSD?</li>
</ul></li>
</ul>

<h2>600th episode flash back</h2>

<ul>
<li>When did you come across BSDNow?</li>
<li>What are some of your highlights?</li>
<li>Where are we going in the future...?</li>
<li>What would we like to do for the show as hosts. Pie in the sky thinking and discussion.</li>
</ul>

<h2>Round Up</h2>

<ul>
<li><a href="https://marc.info/?l=openbsd-arm&amp;m=173823317816570&amp;w=2" target="_blank" rel="nofollow noopener">Support for the Radxa Orian O6 board in
OpenBSD</a>

<ul>
<li>As well, the NetBSD project is trying to bring up this board</li>
<li>Conversation around the state of ARM64 SoC and options</li>
</ul></li>
<li>LibreSSL is not affected by the <a href="https://www.securityweek.com/high-severity-openssl-vulnerability-found-by-apple-allows-mitm-attacks/" target="_blank" rel="nofollow noopener">OpenSSL
vulnerabilities</a>
announced today.</li>
<li><a href="https://m4c.pl/blog/freebsd-audio-setup-bitperfect-equalizer-realtime/" target="_blank" rel="nofollow noopener">FreeBSD and hi-fi audio setup: bit-perfect, equalizer,
real-time</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20250207192657" target="_blank" rel="nofollow noopener">OpenBGPD 8.8
released</a></li>
</ul>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/600/feedback/jt%20-%20the_most_important_question.md" target="_blank" rel="nofollow noopener">The Most Important Question</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Lead Asahi Developer stands down, moderators reminiscing about joining the podcast, Support for the Radxa Orian O6 board in OpenBSD, FreeBSD and hi-fi audio setup: bit-perfect, equalizer, real-time, OpenBGPD 8.8 released, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Topics</h2>

<ul>
<li><a href="https://asahilinux.org/2025/02/passing-the-torch/" target="_blank" rel="nofollow noopener">Hector Martin stands down as lead developer on Asahi Linux</a>

<ul>
<li>No forward progress for Rust to be given first class status in the kernel</li>
<li>Having to maintain a thousand plus patches against a fast moving upstream
project (Linux Kernel)</li>
<li>Dwindling funds</li>
<li>What does this mean for sister projects like OpenBSD?</li>
</ul></li>
</ul>

<h2>600th episode flash back</h2>

<ul>
<li>When did you come across BSDNow?</li>
<li>What are some of your highlights?</li>
<li>Where are we going in the future...?</li>
<li>What would we like to do for the show as hosts. Pie in the sky thinking and discussion.</li>
</ul>

<h2>Round Up</h2>

<ul>
<li><a href="https://marc.info/?l=openbsd-arm&amp;m=173823317816570&amp;w=2" target="_blank" rel="nofollow noopener">Support for the Radxa Orian O6 board in
OpenBSD</a>

<ul>
<li>As well, the NetBSD project is trying to bring up this board</li>
<li>Conversation around the state of ARM64 SoC and options</li>
</ul></li>
<li>LibreSSL is not affected by the <a href="https://www.securityweek.com/high-severity-openssl-vulnerability-found-by-apple-allows-mitm-attacks/" target="_blank" rel="nofollow noopener">OpenSSL
vulnerabilities</a>
announced today.</li>
<li><a href="https://m4c.pl/blog/freebsd-audio-setup-bitperfect-equalizer-realtime/" target="_blank" rel="nofollow noopener">FreeBSD and hi-fi audio setup: bit-perfect, equalizer,
real-time</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20250207192657" target="_blank" rel="nofollow noopener">OpenBGPD 8.8
released</a></li>
</ul>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/600/feedback/jt%20-%20the_most_important_question.md" target="_blank" rel="nofollow noopener">The Most Important Question</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>599: Core Infrastructure Control</title>
  <link>https://www.bsdnow.tv/599</link>
  <guid isPermaLink="false">c85482cc-e352-4131-8f1b-3d3bbc73567f</guid>
  <pubDate>Thu, 20 Feb 2025 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c85482cc-e352-4131-8f1b-3d3bbc73567f.mp3" length="58889472" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Controlling Your Core Infrastructure: DNS, Laptop Support and Usability Project Update, FreeBSD at FOSDEM 2025, Uploading a message to an IMAP server using curl, The Death of Email Forwarding, Cruising a VPS at OpenBSD Amsterdam, and more</itunes:subtitle>
  <itunes:duration>1:01:20</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>&lt;p&gt;Controlling Your Core Infrastructure: DNS, Laptop Support and Usability Project Update, FreeBSD at FOSDEM 2025, Uploading a message to an IMAP server using curl, The Death of Email Forwarding, Cruising a VPS at OpenBSD Amsterdam, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/controlling-core-infrastructure-dns-server-setup/" target="_blank" rel="nofollow noopener"&gt;Controlling Your Core Infrastructure: DNS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/laptop-support-and-usability-project-update-first-monthly-report-community-initiatives/" target="_blank" rel="nofollow noopener"&gt;Laptop Support and Usability Project Update: First Monthly Report &amp;amp; Community Initiatives&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/freebsd-at-fosdem-2025/" target="_blank" rel="nofollow noopener"&gt;FreeBSD at FOSDEM 2025&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://jpmens.net/2025/01/23/uploading-a-message-to-an-imap-server-using-curl/" target="_blank" rel="nofollow noopener"&gt;Uploading a message to an IMAP server using curl&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.mythic-beasts.com/blog/2025/01/29/the-death-of-email-forwarding/" target="_blank" rel="nofollow noopener"&gt;The Death of Email Forwarding&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2025/cruising-a-vps-at-openbsd-amsterdam/" target="_blank" rel="nofollow noopener"&gt;Cruising a VPS at OpenBSD Amsterdam&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, core Infrastructure, dns, laptop support, usability project, fosdem 2025, bsd devroom, upload, message, imap server, curl, email forwarding, vps, openbsd amsterdam</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Controlling Your Core Infrastructure: DNS, Laptop Support and Usability Project Update, FreeBSD at FOSDEM 2025, Uploading a message to an IMAP server using curl, The Death of Email Forwarding, Cruising a VPS at OpenBSD Amsterdam, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/controlling-core-infrastructure-dns-server-setup/" target="_blank" rel="nofollow noopener">Controlling Your Core Infrastructure: DNS</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/laptop-support-and-usability-project-update-first-monthly-report-community-initiatives/" target="_blank" rel="nofollow noopener">Laptop Support and Usability Project Update: First Monthly Report &amp; Community Initiatives</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://freebsdfoundation.org/blog/freebsd-at-fosdem-2025/" target="_blank" rel="nofollow noopener">FreeBSD at FOSDEM 2025</a></p>

<hr>

<p><a href="https://jpmens.net/2025/01/23/uploading-a-message-to-an-imap-server-using-curl/" target="_blank" rel="nofollow noopener">Uploading a message to an IMAP server using curl</a></p>

<hr>

<p><a href="https://www.mythic-beasts.com/blog/2025/01/29/the-death-of-email-forwarding/" target="_blank" rel="nofollow noopener">The Death of Email Forwarding</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2025/cruising-a-vps-at-openbsd-amsterdam/" target="_blank" rel="nofollow noopener">Cruising a VPS at OpenBSD Amsterdam</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Controlling Your Core Infrastructure: DNS, Laptop Support and Usability Project Update, FreeBSD at FOSDEM 2025, Uploading a message to an IMAP server using curl, The Death of Email Forwarding, Cruising a VPS at OpenBSD Amsterdam, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/controlling-core-infrastructure-dns-server-setup/" target="_blank" rel="nofollow noopener">Controlling Your Core Infrastructure: DNS</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/laptop-support-and-usability-project-update-first-monthly-report-community-initiatives/" target="_blank" rel="nofollow noopener">Laptop Support and Usability Project Update: First Monthly Report &amp; Community Initiatives</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://freebsdfoundation.org/blog/freebsd-at-fosdem-2025/" target="_blank" rel="nofollow noopener">FreeBSD at FOSDEM 2025</a></p>

<hr>

<p><a href="https://jpmens.net/2025/01/23/uploading-a-message-to-an-imap-server-using-curl/" target="_blank" rel="nofollow noopener">Uploading a message to an IMAP server using curl</a></p>

<hr>

<p><a href="https://www.mythic-beasts.com/blog/2025/01/29/the-death-of-email-forwarding/" target="_blank" rel="nofollow noopener">The Death of Email Forwarding</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2025/cruising-a-vps-at-openbsd-amsterdam/" target="_blank" rel="nofollow noopener">Cruising a VPS at OpenBSD Amsterdam</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>598: UFS1 up-to-date</title>
  <link>https://www.bsdnow.tv/598</link>
  <guid isPermaLink="false">19a5739c-2755-4cee-a0e0-8803f3bc9cbc</guid>
  <pubDate>Thu, 13 Feb 2025 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/19a5739c-2755-4cee-a0e0-8803f3bc9cbc.mp3" length="63105024" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Key Considerations for Benchmarking Network Storage Performance, OpenZFS 2.3.0 available, Updates on AsiaBSDcon, GhostBSD Desktop Conference, Recovering from external zroot, Create a new issue in a Github repository with Ansible, Stories I refuse to believe, date limit in UFS1 filesystem extended, and more</itunes:subtitle>
  <itunes:duration>1:05:44</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>&lt;p&gt;Key Considerations for Benchmarking Network Storage Performance, OpenZFS 2.3.0 available, Updates on AsiaBSDcon, GhostBSD Desktop Conference, Recovering from external zroot, Create a new issue in a Github repository with Ansible, Stories I refuse to believe, date limit in UFS1 filesystem extended, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/considerations-benchmarking-network-storage-performance/" target="_blank" rel="nofollow noopener"&gt;Key Considerations for Benchmarking Network Storage Performance&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/openzfs/zfs/releases/tag/zfs-2.3.0" target="_blank" rel="nofollow noopener"&gt;OpenZFS 2.3.0 available&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://lists.asiabsdcon.org/pipermail/announce/2025-January/000046.html" target="_blank" rel="nofollow noopener"&gt;Updates on AsiaBSDCon 2025 - Cancelled - &lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.phoronix.com/news/BSD-Desktop-Conference-GhostBSD" target="_blank" rel="nofollow noopener"&gt;GhostBSD Desktop Conference&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://adventurist.me/posts/00350" target="_blank" rel="nofollow noopener"&gt;Recovering from external zroot&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://jpmens.net/2025/01/25/create-a-new-issue-in-a-github-repository/" target="_blank" rel="nofollow noopener"&gt;Create a new issue in a Github repository with Ansible&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://flak.tedunangst.com/post/stories-i-refuse-to-believe" target="_blank" rel="nofollow noopener"&gt;Stories I refuse to believe&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://cgit.freebsd.org/src/commit/?id=1111a44301da39d7b7459c784230e1405e8980f8" target="_blank" rel="nofollow noopener"&gt;Defer the January 19, 2038 date limit in UFS1 filesystems to February 7, 2106&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/598/feedback/Nelson%20Feedback.md" target="_blank" rel="nofollow noopener"&gt;Feedback - Nelson - Ada/GCC&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, considerations, benchmarking, network storage performance, openzfs 2.3.0, asiabsdcon, ghostbsd, desktop conference, recovering, external zroot, github issue, ansible, stories, date limit, ufs1</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Key Considerations for Benchmarking Network Storage Performance, OpenZFS 2.3.0 available, Updates on AsiaBSDcon, GhostBSD Desktop Conference, Recovering from external zroot, Create a new issue in a Github repository with Ansible, Stories I refuse to believe, date limit in UFS1 filesystem extended, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/considerations-benchmarking-network-storage-performance/" target="_blank" rel="nofollow noopener">Key Considerations for Benchmarking Network Storage Performance</a></p>

<hr>

<p><a href="https://github.com/openzfs/zfs/releases/tag/zfs-2.3.0" target="_blank" rel="nofollow noopener">OpenZFS 2.3.0 available</a></p>

<h2>News Roundup</h2>

<p><a href="https://lists.asiabsdcon.org/pipermail/announce/2025-January/000046.html" target="_blank" rel="nofollow noopener">Updates on AsiaBSDCon 2025 - Cancelled - </a></p>

<hr>

<p><a href="https://www.phoronix.com/news/BSD-Desktop-Conference-GhostBSD" target="_blank" rel="nofollow noopener">GhostBSD Desktop Conference</a></p>

<hr>

<p><a href="https://adventurist.me/posts/00350" target="_blank" rel="nofollow noopener">Recovering from external zroot</a></p>

<hr>

<p><a href="https://jpmens.net/2025/01/25/create-a-new-issue-in-a-github-repository/" target="_blank" rel="nofollow noopener">Create a new issue in a Github repository with Ansible</a></p>

<hr>

<p><a href="https://flak.tedunangst.com/post/stories-i-refuse-to-believe" target="_blank" rel="nofollow noopener">Stories I refuse to believe</a></p>

<hr>

<p><a href="https://cgit.freebsd.org/src/commit/?id=1111a44301da39d7b7459c784230e1405e8980f8" target="_blank" rel="nofollow noopener">Defer the January 19, 2038 date limit in UFS1 filesystems to February 7, 2106</a></p>

<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>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/598/feedback/Nelson%20Feedback.md" target="_blank" rel="nofollow noopener">Feedback - Nelson - Ada/GCC</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Key Considerations for Benchmarking Network Storage Performance, OpenZFS 2.3.0 available, Updates on AsiaBSDcon, GhostBSD Desktop Conference, Recovering from external zroot, Create a new issue in a Github repository with Ansible, Stories I refuse to believe, date limit in UFS1 filesystem extended, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/considerations-benchmarking-network-storage-performance/" target="_blank" rel="nofollow noopener">Key Considerations for Benchmarking Network Storage Performance</a></p>

<hr>

<p><a href="https://github.com/openzfs/zfs/releases/tag/zfs-2.3.0" target="_blank" rel="nofollow noopener">OpenZFS 2.3.0 available</a></p>

<h2>News Roundup</h2>

<p><a href="https://lists.asiabsdcon.org/pipermail/announce/2025-January/000046.html" target="_blank" rel="nofollow noopener">Updates on AsiaBSDCon 2025 - Cancelled - </a></p>

<hr>

<p><a href="https://www.phoronix.com/news/BSD-Desktop-Conference-GhostBSD" target="_blank" rel="nofollow noopener">GhostBSD Desktop Conference</a></p>

<hr>

<p><a href="https://adventurist.me/posts/00350" target="_blank" rel="nofollow noopener">Recovering from external zroot</a></p>

<hr>

<p><a href="https://jpmens.net/2025/01/25/create-a-new-issue-in-a-github-repository/" target="_blank" rel="nofollow noopener">Create a new issue in a Github repository with Ansible</a></p>

<hr>

<p><a href="https://flak.tedunangst.com/post/stories-i-refuse-to-believe" target="_blank" rel="nofollow noopener">Stories I refuse to believe</a></p>

<hr>

<p><a href="https://cgit.freebsd.org/src/commit/?id=1111a44301da39d7b7459c784230e1405e8980f8" target="_blank" rel="nofollow noopener">Defer the January 19, 2038 date limit in UFS1 filesystems to February 7, 2106</a></p>

<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>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/598/feedback/Nelson%20Feedback.md" target="_blank" rel="nofollow noopener">Feedback - Nelson - Ada/GCC</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>597: OpenBSD FRAME sockets</title>
  <link>https://www.bsdnow.tv/597</link>
  <guid isPermaLink="false">d45f0603-f1a4-4fe7-b5c7-f1fac7e618cf</guid>
  <pubDate>Thu, 06 Feb 2025 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d45f0603-f1a4-4fe7-b5c7-f1fac7e618cf.mp3" length="49006464" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The Do-Not-Stab flag in the HTTP Header, FreeBSD jail host with multiple local networks, Generative AI is for the idea guys, Static dual stack networking on OmniOS Solaris Zones, FRAME sockets added to OpenBSD, The problem with combining DNS CNAME records and anything else, and more</itunes:subtitle>
  <itunes:duration>51:02</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>&lt;p&gt;The Do-Not-Stab flag in the HTTP Header, FreeBSD jail host with multiple local networks, Generative AI is for the idea guys, Static dual stack networking on OmniOS Solaris Zones, FRAME sockets added to OpenBSD, The problem with combining DNS CNAME records and anything else, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;(due to excessive use of the F-bomb, perhaps we should somewhat censor it... You can do so in words... or I can use Tom's favorite Frequency tone to do it in post). You decide and let me know what you think would be funnier.)&lt;br&gt;
Also I'm hoping for some good commentary from you guys on this one. :P&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.5snb.club/posts/2023/do-not-stab/" target="_blank" rel="nofollow noopener"&gt;The Do-Not-Stab flag in the HTTP Header&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://savagedlight.me/2014/03/07/freebsd-jail-host-with-multiple-local-networks/" target="_blank" rel="nofollow noopener"&gt;FreeBSD jail host with multiple local networks&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://rachsmith.com/ai-is-for-the-idea-guys/" target="_blank" rel="nofollow noopener"&gt;Generative AI is for the idea guys&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2024/static-dual-stack-networking-on-omnios-solaris-zones/" target="_blank" rel="nofollow noopener"&gt;Static dual stack networking on OmniOS Solaris Zones&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20241219080430" target="_blank" rel="nofollow noopener"&gt;FRAME sockets added to OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/DNSCNAMEAndOthersWhyNot" target="_blank" rel="nofollow noopener"&gt;The problem with combining DNS CNAME records and anything else&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Conference Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsdnl.nl/" target="_blank" rel="nofollow noopener"&gt;BSD-NL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.bsdcan.org/2025/" target="_blank" rel="nofollow noopener"&gt;BSDCan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, do-not-stab, http header flag, jail host, multiple networks, generative ai, static dual stack network, omnios solaris zones, FRAME sockets, DNS CNAME records</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Do-Not-Stab flag in the HTTP Header, FreeBSD jail host with multiple local networks, Generative AI is for the idea guys, Static dual stack networking on OmniOS Solaris Zones, FRAME sockets added to OpenBSD, The problem with combining DNS CNAME records and anything else, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p>(due to excessive use of the F-bomb, perhaps we should somewhat censor it... You can do so in words... or I can use Tom's favorite Frequency tone to do it in post). You decide and let me know what you think would be funnier.)<br>
Also I'm hoping for some good commentary from you guys on this one. :P</p>

<p><a href="https://www.5snb.club/posts/2023/do-not-stab/" target="_blank" rel="nofollow noopener">The Do-Not-Stab flag in the HTTP Header</a></p>

<hr>

<p><a href="https://savagedlight.me/2014/03/07/freebsd-jail-host-with-multiple-local-networks/" target="_blank" rel="nofollow noopener">FreeBSD jail host with multiple local networks</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://rachsmith.com/ai-is-for-the-idea-guys/" target="_blank" rel="nofollow noopener">Generative AI is for the idea guys</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/static-dual-stack-networking-on-omnios-solaris-zones/" target="_blank" rel="nofollow noopener">Static dual stack networking on OmniOS Solaris Zones</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20241219080430" target="_blank" rel="nofollow noopener">FRAME sockets added to OpenBSD</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/DNSCNAMEAndOthersWhyNot" target="_blank" rel="nofollow noopener">The problem with combining DNS CNAME records and anything else</a></p>

<hr>

<h2>Conference Bits</h2>

<ul>
<li><a href="https://bsdnl.nl/" target="_blank" rel="nofollow noopener">BSD-NL</a></li>
<li><a href="https://www.bsdcan.org/2025/" target="_blank" rel="nofollow noopener">BSDCan</a></li>
</ul>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Do-Not-Stab flag in the HTTP Header, FreeBSD jail host with multiple local networks, Generative AI is for the idea guys, Static dual stack networking on OmniOS Solaris Zones, FRAME sockets added to OpenBSD, The problem with combining DNS CNAME records and anything else, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p>(due to excessive use of the F-bomb, perhaps we should somewhat censor it... You can do so in words... or I can use Tom's favorite Frequency tone to do it in post). You decide and let me know what you think would be funnier.)<br>
Also I'm hoping for some good commentary from you guys on this one. :P</p>

<p><a href="https://www.5snb.club/posts/2023/do-not-stab/" target="_blank" rel="nofollow noopener">The Do-Not-Stab flag in the HTTP Header</a></p>

<hr>

<p><a href="https://savagedlight.me/2014/03/07/freebsd-jail-host-with-multiple-local-networks/" target="_blank" rel="nofollow noopener">FreeBSD jail host with multiple local networks</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://rachsmith.com/ai-is-for-the-idea-guys/" target="_blank" rel="nofollow noopener">Generative AI is for the idea guys</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/static-dual-stack-networking-on-omnios-solaris-zones/" target="_blank" rel="nofollow noopener">Static dual stack networking on OmniOS Solaris Zones</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20241219080430" target="_blank" rel="nofollow noopener">FRAME sockets added to OpenBSD</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/DNSCNAMEAndOthersWhyNot" target="_blank" rel="nofollow noopener">The problem with combining DNS CNAME records and anything else</a></p>

<hr>

<h2>Conference Bits</h2>

<ul>
<li><a href="https://bsdnl.nl/" target="_blank" rel="nofollow noopener">BSD-NL</a></li>
<li><a href="https://www.bsdcan.org/2025/" target="_blank" rel="nofollow noopener">BSDCan</a></li>
</ul>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>596: Globbing /etc</title>
  <link>https://www.bsdnow.tv/596</link>
  <guid isPermaLink="false">d8a12e80-5354-4428-9f66-d7d401df7ddd</guid>
  <pubDate>Thu, 30 Jan 2025 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d8a12e80-5354-4428-9f66-d7d401df7ddd.mp3" length="49622784" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Ridding my home network of IP addresses, Tools for Identifying and Resolving Storage Bottlenecks, OpenBGPD 8.7 released, Let's port the GNAT Ada compiler to macOS/aarch64, Modify an OmniOS service parameters, The history and use of /etc/glob in early Unixes, and more</itunes:subtitle>
  <itunes:duration>51: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>&lt;p&gt;Ridding my home network of IP addresses, Tools for Identifying and Resolving Storage Bottlenecks, OpenBGPD 8.7 released, Let's port the GNAT Ada compiler to macOS/aarch64, Modify an OmniOS service parameters, The history and use of /etc/glob in early Unixes, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://gist.github.com/jmason/aabd9d3acc86d9098654e8559e93b707" target="_blank" rel="nofollow noopener"&gt;Ridding my home network of IP addresses&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/managing-tracking-storage-performance-openzfs-bottlenecks/" target="_blank" rel="nofollow noopener"&gt;Tools for Identifying and Resolving Storage Bottlenecks&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20241218195732" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 8.7 released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://briancallahan.net/blog/20250112.html" target="_blank" rel="nofollow noopener"&gt;Let's port the GNAT Ada compiler to macOS/aarch64&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2025/modify-an-omnios-service-parameters/" target="_blank" rel="nofollow noopener"&gt;Modify an OmniOS service parameters&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/EtcGlobHistory" target="_blank" rel="nofollow noopener"&gt;The history and use of /etc/glob in early Unixes&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/596/feedback/nelson-tuhs.md" target="_blank" rel="nofollow noopener"&gt;Nelson - TUHS &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, ip addresses, indentify, resolve, storage bottleneck, OpenBGPD, GNAT ADA compiler, macOS/aarch64, omnios service parameters, /etc/glob</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Ridding my home network of IP addresses, Tools for Identifying and Resolving Storage Bottlenecks, OpenBGPD 8.7 released, Let's port the GNAT Ada compiler to macOS/aarch64, Modify an OmniOS service parameters, The history and use of /etc/glob in early Unixes, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://gist.github.com/jmason/aabd9d3acc86d9098654e8559e93b707" target="_blank" rel="nofollow noopener">Ridding my home network of IP addresses</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/managing-tracking-storage-performance-openzfs-bottlenecks/" target="_blank" rel="nofollow noopener">Tools for Identifying and Resolving Storage Bottlenecks</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20241218195732" target="_blank" rel="nofollow noopener">OpenBGPD 8.7 released</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20250112.html" target="_blank" rel="nofollow noopener">Let's port the GNAT Ada compiler to macOS/aarch64</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2025/modify-an-omnios-service-parameters/" target="_blank" rel="nofollow noopener">Modify an OmniOS service parameters</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/EtcGlobHistory" target="_blank" rel="nofollow noopener">The history and use of /etc/glob in early Unixes</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/596/feedback/nelson-tuhs.md" target="_blank" rel="nofollow noopener">Nelson - TUHS </a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Ridding my home network of IP addresses, Tools for Identifying and Resolving Storage Bottlenecks, OpenBGPD 8.7 released, Let's port the GNAT Ada compiler to macOS/aarch64, Modify an OmniOS service parameters, The history and use of /etc/glob in early Unixes, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://gist.github.com/jmason/aabd9d3acc86d9098654e8559e93b707" target="_blank" rel="nofollow noopener">Ridding my home network of IP addresses</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/managing-tracking-storage-performance-openzfs-bottlenecks/" target="_blank" rel="nofollow noopener">Tools for Identifying and Resolving Storage Bottlenecks</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20241218195732" target="_blank" rel="nofollow noopener">OpenBGPD 8.7 released</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20250112.html" target="_blank" rel="nofollow noopener">Let's port the GNAT Ada compiler to macOS/aarch64</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2025/modify-an-omnios-service-parameters/" target="_blank" rel="nofollow noopener">Modify an OmniOS service parameters</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/EtcGlobHistory" target="_blank" rel="nofollow noopener">The history and use of /etc/glob in early Unixes</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/596/feedback/nelson-tuhs.md" target="_blank" rel="nofollow noopener">Nelson - TUHS </a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>595: Arc: the Triumph</title>
  <link>https://www.bsdnow.tv/595</link>
  <guid isPermaLink="false">2773a8f7-f763-4055-a36b-f722e1b273e6</guid>
  <pubDate>Thu, 23 Jan 2025 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2773a8f7-f763-4055-a36b-f722e1b273e6.mp3" length="104050944" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Applying the ARC Algorithm to the ARC, Advancing Cloud Native Containers on FreeBSD: Podman Testing Highlights, Running Web Browsers in FreeBSD Jail, Fixing pf not allowing IPv6 traffic on FreeBSD, Minitel: The Online World France Built Before the Web, Why Google Stores Billions of Lines of Code in a Single Repository, and more</itunes:subtitle>
  <itunes:duration>1:48:23</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>&lt;p&gt;Applying the ARC Algorithm to the ARC, Advancing Cloud Native Containers on FreeBSD: Podman Testing Highlights, Running Web Browsers in FreeBSD Jail, Fixing pf not allowing IPv6 traffic on FreeBSD, Minitel: The Online World France Built Before the Web, Why Google Stores Billions of Lines of Code in a Single Repository, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/applying-the-arc-algorithm-to-the-arc/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Applying the ARC Algorithm to the ARC&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/advancing-cloud-native-containers-on-freebsd-podman-testing-highlights/" target="_blank" rel="nofollow noopener"&gt;Advancing Cloud Native Containers on FreeBSD: Podman Testing Highlights&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://tumfatig.net/2024/running-web-browsers-in-freebsd-jail/" target="_blank" rel="nofollow noopener"&gt;Running Web Browsers in FreeBSD Jail&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.ncartron.org/fixing-pf-not-allowing-ipv6-traffic-on-freebsd.html" target="_blank" rel="nofollow noopener"&gt;Fixing pf not allowing IPv6 traffic on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://spectrum.ieee.org/minitel-the-online-world-france-built-before-the-web" target="_blank" rel="nofollow noopener"&gt;Minitel: The Online World France Built Before the Web&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://cacm.acm.org/research/why-google-stores-billions-of-lines-of-code-in-a-single-repository/" target="_blank" rel="nofollow noopener"&gt;Why Google Stores Billions of Lines of Code in a Single Repository&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/595/feedback/Sam%20-%20EDR%20Support.md" target="_blank" rel="nofollow noopener"&gt;Sam - EDR Support&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, arc, adaptive replacement cache, Algorithm, cloud native, Containers, podman, testing, browser, jailed browser, pf, packet filter, firewall, ipv6 traffic, minitel, france, google inc. repository</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Applying the ARC Algorithm to the ARC, Advancing Cloud Native Containers on FreeBSD: Podman Testing Highlights, Running Web Browsers in FreeBSD Jail, Fixing pf not allowing IPv6 traffic on FreeBSD, Minitel: The Online World France Built Before the Web, Why Google Stores Billions of Lines of Code in a Single Repository, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/applying-the-arc-algorithm-to-the-arc/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Applying the ARC Algorithm to the ARC</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/advancing-cloud-native-containers-on-freebsd-podman-testing-highlights/" target="_blank" rel="nofollow noopener">Advancing Cloud Native Containers on FreeBSD: Podman Testing Highlights</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://tumfatig.net/2024/running-web-browsers-in-freebsd-jail/" target="_blank" rel="nofollow noopener">Running Web Browsers in FreeBSD Jail</a></p>

<hr>

<p><a href="https://www.ncartron.org/fixing-pf-not-allowing-ipv6-traffic-on-freebsd.html" target="_blank" rel="nofollow noopener">Fixing pf not allowing IPv6 traffic on FreeBSD</a></p>

<hr>

<p><a href="https://spectrum.ieee.org/minitel-the-online-world-france-built-before-the-web" target="_blank" rel="nofollow noopener">Minitel: The Online World France Built Before the Web</a></p>

<hr>

<p><a href="https://cacm.acm.org/research/why-google-stores-billions-of-lines-of-code-in-a-single-repository/" target="_blank" rel="nofollow noopener">Why Google Stores Billions of Lines of Code in a Single Repository</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/595/feedback/Sam%20-%20EDR%20Support.md" target="_blank" rel="nofollow noopener">Sam - EDR Support</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Applying the ARC Algorithm to the ARC, Advancing Cloud Native Containers on FreeBSD: Podman Testing Highlights, Running Web Browsers in FreeBSD Jail, Fixing pf not allowing IPv6 traffic on FreeBSD, Minitel: The Online World France Built Before the Web, Why Google Stores Billions of Lines of Code in a Single Repository, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/applying-the-arc-algorithm-to-the-arc/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Applying the ARC Algorithm to the ARC</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/advancing-cloud-native-containers-on-freebsd-podman-testing-highlights/" target="_blank" rel="nofollow noopener">Advancing Cloud Native Containers on FreeBSD: Podman Testing Highlights</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://tumfatig.net/2024/running-web-browsers-in-freebsd-jail/" target="_blank" rel="nofollow noopener">Running Web Browsers in FreeBSD Jail</a></p>

<hr>

<p><a href="https://www.ncartron.org/fixing-pf-not-allowing-ipv6-traffic-on-freebsd.html" target="_blank" rel="nofollow noopener">Fixing pf not allowing IPv6 traffic on FreeBSD</a></p>

<hr>

<p><a href="https://spectrum.ieee.org/minitel-the-online-world-france-built-before-the-web" target="_blank" rel="nofollow noopener">Minitel: The Online World France Built Before the Web</a></p>

<hr>

<p><a href="https://cacm.acm.org/research/why-google-stores-billions-of-lines-of-code-in-a-single-repository/" target="_blank" rel="nofollow noopener">Why Google Stores Billions of Lines of Code in a Single Repository</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/595/feedback/Sam%20-%20EDR%20Support.md" target="_blank" rel="nofollow noopener">Sam - EDR Support</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>594: Name that Domain</title>
  <link>https://www.bsdnow.tv/594</link>
  <guid isPermaLink="false">d9d3402b-e9ab-4a53-8865-04a1bb8ae732</guid>
  <pubDate>Thu, 16 Jan 2025 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d9d3402b-e9ab-4a53-8865-04a1bb8ae732.mp3" length="67824384" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Security Audit of the Capsicum and bhyve Subsystems, ZFS on Linux and block IO limits show some limits of being out of the kernel, NetBSD on a ROCK64 Board, Domain Naming, BSDCan 2025 CFP, The Internet Gopher from Minnesota, and more</itunes:subtitle>
  <itunes:duration>1:10:39</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>&lt;p&gt;Security Audit of the Capsicum and bhyve Subsystems, ZFS on Linux and block IO limits show some limits of being out of the kernel, NetBSD on a ROCK64 Board, Domain Naming, BSDCan 2025 CFP, The Internet Gopher from Minnesota, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/winter_2024_roundup_storage_and_network_diagnostics/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Roundup Storage and Network Diagnostics&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/wp-content/uploads/2024/11/2024_Code_Audit_Capsicum_Bhyve_FreeBSD_Foundation.pdf" target="_blank" rel="nofollow noopener"&gt;Security Audit of the&lt;br&gt;
Capsicum and bhyve&lt;br&gt;
Subsystems&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxVersusBlockIOLimits" target="_blank" rel="nofollow noopener"&gt;ZFS on Linux and block IO limits show some limits of being out of the kernel&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://simonevellei.com/blog/posts/netbsd-on-a-rock64-board/" target="_blank" rel="nofollow noopener"&gt;NetBSD on a ROCK64 Board&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://ambient.institute/domain-naming/" target="_blank" rel="nofollow noopener"&gt;Domain Naming&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.bsdcan.org/2025/papers.html" target="_blank" rel="nofollow noopener"&gt;BSDCan 2025 CFP&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.abortretry.fail/p/the-internet-gopher-from-minnesota" target="_blank" rel="nofollow noopener"&gt;The Internet Gopher from Minnesota&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/594/feedback/Brendan%20-%20minio.md" target="_blank" rel="nofollow noopener"&gt;Brendan - MinIO&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, security, audit, Capsicum, bhyve, Subsystems, block io limits, rock64 board, domain naming, gopher, Minnesota</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Security Audit of the Capsicum and bhyve Subsystems, ZFS on Linux and block IO limits show some limits of being out of the kernel, NetBSD on a ROCK64 Board, Domain Naming, BSDCan 2025 CFP, The Internet Gopher from Minnesota, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/winter_2024_roundup_storage_and_network_diagnostics/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Roundup Storage and Network Diagnostics</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/wp-content/uploads/2024/11/2024_Code_Audit_Capsicum_Bhyve_FreeBSD_Foundation.pdf" target="_blank" rel="nofollow noopener">Security Audit of the<br>
Capsicum and bhyve<br>
Subsystems</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxVersusBlockIOLimits" target="_blank" rel="nofollow noopener">ZFS on Linux and block IO limits show some limits of being out of the kernel</a></p>

<hr>

<p><a href="https://simonevellei.com/blog/posts/netbsd-on-a-rock64-board/" target="_blank" rel="nofollow noopener">NetBSD on a ROCK64 Board</a></p>

<hr>

<p><a href="https://ambient.institute/domain-naming/" target="_blank" rel="nofollow noopener">Domain Naming</a></p>

<hr>

<p><a href="https://www.bsdcan.org/2025/papers.html" target="_blank" rel="nofollow noopener">BSDCan 2025 CFP</a></p>

<hr>

<p><a href="https://www.abortretry.fail/p/the-internet-gopher-from-minnesota" target="_blank" rel="nofollow noopener">The Internet Gopher from Minnesota</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/594/feedback/Brendan%20-%20minio.md" target="_blank" rel="nofollow noopener">Brendan - MinIO</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Security Audit of the Capsicum and bhyve Subsystems, ZFS on Linux and block IO limits show some limits of being out of the kernel, NetBSD on a ROCK64 Board, Domain Naming, BSDCan 2025 CFP, The Internet Gopher from Minnesota, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/winter_2024_roundup_storage_and_network_diagnostics/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Roundup Storage and Network Diagnostics</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/wp-content/uploads/2024/11/2024_Code_Audit_Capsicum_Bhyve_FreeBSD_Foundation.pdf" target="_blank" rel="nofollow noopener">Security Audit of the<br>
Capsicum and bhyve<br>
Subsystems</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxVersusBlockIOLimits" target="_blank" rel="nofollow noopener">ZFS on Linux and block IO limits show some limits of being out of the kernel</a></p>

<hr>

<p><a href="https://simonevellei.com/blog/posts/netbsd-on-a-rock64-board/" target="_blank" rel="nofollow noopener">NetBSD on a ROCK64 Board</a></p>

<hr>

<p><a href="https://ambient.institute/domain-naming/" target="_blank" rel="nofollow noopener">Domain Naming</a></p>

<hr>

<p><a href="https://www.bsdcan.org/2025/papers.html" target="_blank" rel="nofollow noopener">BSDCan 2025 CFP</a></p>

<hr>

<p><a href="https://www.abortretry.fail/p/the-internet-gopher-from-minnesota" target="_blank" rel="nofollow noopener">The Internet Gopher from Minnesota</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/594/feedback/Brendan%20-%20minio.md" target="_blank" rel="nofollow noopener">Brendan - MinIO</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>593: rc.conf Validator</title>
  <link>https://www.bsdnow.tv/593</link>
  <guid isPermaLink="false">883c889f-8d16-4519-9be7-b863d68902e4</guid>
  <pubDate>Thu, 09 Jan 2025 11:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/883c889f-8d16-4519-9be7-b863d68902e4.mp3" length="55485696" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD replaces sendmail with dma, Why We Use FreeBSD Over Linux: A CTO’s Perspective, How I fell in love with OpenBSD, A GDC package for macOS/aarch64, Validate Your FreeBSD rc.conf, Replacing Proxmox with FreeBSD and Bhyve, OPNsense 24.7.10 released, Printing With FreeBSD, and more</itunes:subtitle>
  <itunes:duration>57:47</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>&lt;p&gt;FreeBSD replaces sendmail with dma, Why We Use FreeBSD Over Linux: A CTO’s Perspective, How I fell in love with OpenBSD, A GDC package for macOS/aarch64, Validate Your FreeBSD rc.conf, Replacing Proxmox with FreeBSD and Bhyve, OPNsense 24.7.10 released, Printing With FreeBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/freebsd14-replaces-sendmail-with-dma/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;FreeBSD replaces sendmail with dma&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dzone.com/articles/why-we-use-freebsd-over-linux-a-ctos-perspective" target="_blank" rel="nofollow noopener"&gt;Why We Use FreeBSD Over Linux: A CTO’s Perspective&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://h3artbl33d.nl/blog/how-i-fell-in-love-with-openbsd" target="_blank" rel="nofollow noopener"&gt;How I fell in love with OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://briancallahan.net/blog/" target="_blank" rel="nofollow noopener"&gt;A GDC package for macOS/aarch64&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dev.to/scovl/validate-your-freebsd-rcconf-e94" target="_blank" rel="nofollow noopener"&gt;Validate Your FreeBSD rc.conf&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://abnml.com/blog/2024/11/26/replacing-proxmox-with-freebsd-and-bhyve/" target="_blank" rel="nofollow noopener"&gt;Replacing Proxmox with FreeBSD and Bhyve&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://forum.opnsense.org/index.php?topic=44413.0" target="_blank" rel="nofollow noopener"&gt;OPNsense 24.7.10 released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.smithfamily.org.uk/posts/2024/11/freebsd_print/" target="_blank" rel="nofollow noopener"&gt;Printing With FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/593/feedback/Christian%20-%20Deprecated%20vs%20Depreciated.md" target="_blank" rel="nofollow noopener"&gt;Christian - Deprecated vs Depreciated&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Producer Note&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Once we reach Episode 600, I will be backfilling out fireside website with the older episodes (before 283), depending on how your podcast feed service works, you may get a bunch of new notifications of episodes. Sadly there's nothing I can do about that, but I wanted everyone to be aware that.&lt;/li&gt;
&lt;li&gt;Also once we hit 600, we will be announcing some new Patreon Perks and new ways you can engage and get involved with the show. More to come in the upcoming weeks as we finalize those plans amongst the team.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, sendmail, dma, dragonfly mail agent, cto perspective, fell in love, gdc package, macos/aarch64, validate, validation, rc.conf, replace, replacement, replacing, proxmox, bhyve, opnsense 24.7.10, printing</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD replaces sendmail with dma, Why We Use FreeBSD Over Linux: A CTO’s Perspective, How I fell in love with OpenBSD, A GDC package for macOS/aarch64, Validate Your FreeBSD rc.conf, Replacing Proxmox with FreeBSD and Bhyve, OPNsense 24.7.10 released, Printing With FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/freebsd14-replaces-sendmail-with-dma/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">FreeBSD replaces sendmail with dma</a></p>

<hr>

<p><a href="https://dzone.com/articles/why-we-use-freebsd-over-linux-a-ctos-perspective" target="_blank" rel="nofollow noopener">Why We Use FreeBSD Over Linux: A CTO’s Perspective</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://h3artbl33d.nl/blog/how-i-fell-in-love-with-openbsd" target="_blank" rel="nofollow noopener">How I fell in love with OpenBSD</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/" target="_blank" rel="nofollow noopener">A GDC package for macOS/aarch64</a></p>

<hr>

<p><a href="https://dev.to/scovl/validate-your-freebsd-rcconf-e94" target="_blank" rel="nofollow noopener">Validate Your FreeBSD rc.conf</a></p>

<hr>

<p><a href="https://abnml.com/blog/2024/11/26/replacing-proxmox-with-freebsd-and-bhyve/" target="_blank" rel="nofollow noopener">Replacing Proxmox with FreeBSD and Bhyve</a></p>

<hr>

<p><a href="https://forum.opnsense.org/index.php?topic=44413.0" target="_blank" rel="nofollow noopener">OPNsense 24.7.10 released</a></p>

<hr>

<p><a href="https://blog.smithfamily.org.uk/posts/2024/11/freebsd_print/" target="_blank" rel="nofollow noopener">Printing With FreeBSD</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/593/feedback/Christian%20-%20Deprecated%20vs%20Depreciated.md" target="_blank" rel="nofollow noopener">Christian - Deprecated vs Depreciated</a></li>
</ul>

<hr>

<h2>Producer Note</h2>

<ul>
<li>Once we reach Episode 600, I will be backfilling out fireside website with the older episodes (before 283), depending on how your podcast feed service works, you may get a bunch of new notifications of episodes. Sadly there's nothing I can do about that, but I wanted everyone to be aware that.</li>
<li>Also once we hit 600, we will be announcing some new Patreon Perks and new ways you can engage and get involved with the show. More to come in the upcoming weeks as we finalize those plans amongst the team.</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD replaces sendmail with dma, Why We Use FreeBSD Over Linux: A CTO’s Perspective, How I fell in love with OpenBSD, A GDC package for macOS/aarch64, Validate Your FreeBSD rc.conf, Replacing Proxmox with FreeBSD and Bhyve, OPNsense 24.7.10 released, Printing With FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/freebsd14-replaces-sendmail-with-dma/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">FreeBSD replaces sendmail with dma</a></p>

<hr>

<p><a href="https://dzone.com/articles/why-we-use-freebsd-over-linux-a-ctos-perspective" target="_blank" rel="nofollow noopener">Why We Use FreeBSD Over Linux: A CTO’s Perspective</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://h3artbl33d.nl/blog/how-i-fell-in-love-with-openbsd" target="_blank" rel="nofollow noopener">How I fell in love with OpenBSD</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/" target="_blank" rel="nofollow noopener">A GDC package for macOS/aarch64</a></p>

<hr>

<p><a href="https://dev.to/scovl/validate-your-freebsd-rcconf-e94" target="_blank" rel="nofollow noopener">Validate Your FreeBSD rc.conf</a></p>

<hr>

<p><a href="https://abnml.com/blog/2024/11/26/replacing-proxmox-with-freebsd-and-bhyve/" target="_blank" rel="nofollow noopener">Replacing Proxmox with FreeBSD and Bhyve</a></p>

<hr>

<p><a href="https://forum.opnsense.org/index.php?topic=44413.0" target="_blank" rel="nofollow noopener">OPNsense 24.7.10 released</a></p>

<hr>

<p><a href="https://blog.smithfamily.org.uk/posts/2024/11/freebsd_print/" target="_blank" rel="nofollow noopener">Printing With FreeBSD</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/593/feedback/Christian%20-%20Deprecated%20vs%20Depreciated.md" target="_blank" rel="nofollow noopener">Christian - Deprecated vs Depreciated</a></li>
</ul>

<hr>

<h2>Producer Note</h2>

<ul>
<li>Once we reach Episode 600, I will be backfilling out fireside website with the older episodes (before 283), depending on how your podcast feed service works, you may get a bunch of new notifications of episodes. Sadly there's nothing I can do about that, but I wanted everyone to be aware that.</li>
<li>Also once we hit 600, we will be announcing some new Patreon Perks and new ways you can engage and get involved with the show. More to come in the upcoming weeks as we finalize those plans amongst the team.</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>592: Wohoo, FreeBSD 14.2</title>
  <link>https://www.bsdnow.tv/592</link>
  <guid isPermaLink="false">2ecb01c8-6c1f-4c02-a29f-0cd773b80736</guid>
  <pubDate>Thu, 02 Jan 2025 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2ecb01c8-6c1f-4c02-a29f-0cd773b80736.mp3" length="59144448" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>ZFS Storage Fault Management, FreeBSD 14.2-RELEASE Announcement, I feel that NAT is inevitable even with IPv6, Spell checking in Vim, OpenBSD Memory Conflict Messages, The Biggest Shell Programs in the World, and more</itunes:subtitle>
  <itunes:duration>1:01:36</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>&lt;p&gt;ZFS Storage Fault Management, FreeBSD 14.2-RELEASE Announcement, I feel that NAT is inevitable even with IPv6, Spell checking in Vim, OpenBSD Memory Conflict Messages, The Biggest Shell Programs in the World, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/zfs-storage-fault-management-linux/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;ZFS Storage Fault Management&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.freebsd.org/releases/14.2R/announce/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 14.2-RELEASE Announcement&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/IPv6AndStillHavingNAT" target="_blank" rel="nofollow noopener"&gt;I feel that NAT is inevitable even with IPv6&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2024/spell-checking-in-vim/" target="_blank" rel="nofollow noopener"&gt;Spell checking in Vim&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/OpenBSDMemoryConflictMessages" target="_blank" rel="nofollow noopener"&gt;OpenBSD Memory Conflict Messages&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/oils-for-unix/oils/wiki/The-Biggest-Shell-Programs-in-the-World" target="_blank" rel="nofollow noopener"&gt;The Biggest Shell Programs in the World&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://direct.mit.edu/books/oa-monograph/5866/The-Connectivity-of-ThingsNetwork-Cultures-since" target="_blank" rel="nofollow noopener"&gt;The Connectivity of Things: Network Cultures since 1832&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20241130184249" target="_blank" rel="nofollow noopener"&gt;Initial list of 21 EuroBSDcon 2024 videos released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20241129093132" target="_blank" rel="nofollow noopener"&gt;-current now has more flexible performance policy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eggflix.foolbazar.eu/w/fa211a4f-6984-4c03-a6d2-b8c329d9459d" target="_blank" rel="nofollow noopener"&gt;OpenBSD 5.1 on Sun Ultra 5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/592/feedback/Phillip%20-%20regressions.md" target="_blank" rel="nofollow noopener"&gt;https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/592/feedback/Phillip%20-%20regressions.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, storage fault management, 14.2, announcement, NAT, ipv6, spell checking, memory conflict messages, block i/o, limits, biggest shell programs</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>ZFS Storage Fault Management, FreeBSD 14.2-RELEASE Announcement, I feel that NAT is inevitable even with IPv6, Spell checking in Vim, OpenBSD Memory Conflict Messages, The Biggest Shell Programs in the World, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/zfs-storage-fault-management-linux/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZFS Storage Fault Management</a></p>

<hr>

<p><a href="https://www.freebsd.org/releases/14.2R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 14.2-RELEASE Announcement</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/IPv6AndStillHavingNAT" target="_blank" rel="nofollow noopener">I feel that NAT is inevitable even with IPv6</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/spell-checking-in-vim/" target="_blank" rel="nofollow noopener">Spell checking in Vim</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/OpenBSDMemoryConflictMessages" target="_blank" rel="nofollow noopener">OpenBSD Memory Conflict Messages</a></p>

<hr>

<p><a href="https://github.com/oils-for-unix/oils/wiki/The-Biggest-Shell-Programs-in-the-World" target="_blank" rel="nofollow noopener">The Biggest Shell Programs in the World</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://direct.mit.edu/books/oa-monograph/5866/The-Connectivity-of-ThingsNetwork-Cultures-since" target="_blank" rel="nofollow noopener">The Connectivity of Things: Network Cultures since 1832</a></li>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20241130184249" target="_blank" rel="nofollow noopener">Initial list of 21 EuroBSDcon 2024 videos released</a></li>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20241129093132" target="_blank" rel="nofollow noopener">-current now has more flexible performance policy</a></li>
<li><a href="https://eggflix.foolbazar.eu/w/fa211a4f-6984-4c03-a6d2-b8c329d9459d" target="_blank" rel="nofollow noopener">OpenBSD 5.1 on Sun Ultra 5</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/592/feedback/Phillip%20-%20regressions.md" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/592/feedback/Phillip%20-%20regressions.md</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>ZFS Storage Fault Management, FreeBSD 14.2-RELEASE Announcement, I feel that NAT is inevitable even with IPv6, Spell checking in Vim, OpenBSD Memory Conflict Messages, The Biggest Shell Programs in the World, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/zfs-storage-fault-management-linux/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZFS Storage Fault Management</a></p>

<hr>

<p><a href="https://www.freebsd.org/releases/14.2R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 14.2-RELEASE Announcement</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/IPv6AndStillHavingNAT" target="_blank" rel="nofollow noopener">I feel that NAT is inevitable even with IPv6</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/spell-checking-in-vim/" target="_blank" rel="nofollow noopener">Spell checking in Vim</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/OpenBSDMemoryConflictMessages" target="_blank" rel="nofollow noopener">OpenBSD Memory Conflict Messages</a></p>

<hr>

<p><a href="https://github.com/oils-for-unix/oils/wiki/The-Biggest-Shell-Programs-in-the-World" target="_blank" rel="nofollow noopener">The Biggest Shell Programs in the World</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://direct.mit.edu/books/oa-monograph/5866/The-Connectivity-of-ThingsNetwork-Cultures-since" target="_blank" rel="nofollow noopener">The Connectivity of Things: Network Cultures since 1832</a></li>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20241130184249" target="_blank" rel="nofollow noopener">Initial list of 21 EuroBSDcon 2024 videos released</a></li>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20241129093132" target="_blank" rel="nofollow noopener">-current now has more flexible performance policy</a></li>
<li><a href="https://eggflix.foolbazar.eu/w/fa211a4f-6984-4c03-a6d2-b8c329d9459d" target="_blank" rel="nofollow noopener">OpenBSD 5.1 on Sun Ultra 5</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/592/feedback/Phillip%20-%20regressions.md" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/592/feedback/Phillip%20-%20regressions.md</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>591: The Three Wise Men (hosts)</title>
  <link>https://www.bsdnow.tv/591</link>
  <guid isPermaLink="false">4e0204d7-a10a-49be-9941-f68ea53c06c1</guid>
  <pubDate>Thu, 26 Dec 2024 00:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4e0204d7-a10a-49be-9941-f68ea53c06c1.mp3" length="68937600" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>In this special episode, we are interviewing ourselves with the questions that out audience asked us many moons ago. Stay tuned for some insights about hobbies, all things computers, projects, and a whole lot more. Have fun and happy holidays!</itunes:subtitle>
  <itunes:duration>1:11:48</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>&lt;p&gt;In this special episode, we are interviewing ourselves with the questions that out audience asked us many moons ago. Stay tuned for some insights about hobbies, all things computers, projects, and a whole lot more. Have fun and happy holidays!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Producer Note&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Once we reach Episode 600, I will be backfilling out fireside website with the older episodes (before 283), depending on how your podcast feed service works, you may get a bunch of new notifications of episodes. Sadly there's nothing I can do about that, but I wanted everyone to be aware that.&lt;/li&gt;
&lt;li&gt;Also once we hit 600, we will be announcing some new Patreon Perks and new ways you can engage and get involved with the show. More to come in the upcoming weeks as we finalize those plans amongst the team.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>In this special episode, we are interviewing ourselves with the questions that out audience asked us many moons ago. Stay tuned for some insights about hobbies, all things computers, projects, and a whole lot more. Have fun and happy holidays!</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Producer Note</h2>

<ul>
<li>Once we reach Episode 600, I will be backfilling out fireside website with the older episodes (before 283), depending on how your podcast feed service works, you may get a bunch of new notifications of episodes. Sadly there's nothing I can do about that, but I wanted everyone to be aware that.</li>
<li>Also once we hit 600, we will be announcing some new Patreon Perks and new ways you can engage and get involved with the show. More to come in the upcoming weeks as we finalize those plans amongst the team.</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>In this special episode, we are interviewing ourselves with the questions that out audience asked us many moons ago. Stay tuned for some insights about hobbies, all things computers, projects, and a whole lot more. Have fun and happy holidays!</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Producer Note</h2>

<ul>
<li>Once we reach Episode 600, I will be backfilling out fireside website with the older episodes (before 283), depending on how your podcast feed service works, you may get a bunch of new notifications of episodes. Sadly there's nothing I can do about that, but I wanted everyone to be aware that.</li>
<li>Also once we hit 600, we will be announcing some new Patreon Perks and new ways you can engage and get involved with the show. More to come in the upcoming weeks as we finalize those plans amongst the team.</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>590: Single, not sorry</title>
  <link>https://www.bsdnow.tv/590</link>
  <guid isPermaLink="false">9d9a5838-ecb8-4f3d-b67e-d31a358ea5e4</guid>
  <pubDate>Thu, 19 Dec 2024 00:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9d9a5838-ecb8-4f3d-b67e-d31a358ea5e4.mp3" length="47339520" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>In this episode, Benedict shows some of the tools he loves to use including Markdown (producing PDFs and other docs using Pandoc), AWK, and Graphviz. A lot of tutorials and getting-started links in this practical-oriented episode for you.</itunes:subtitle>
  <itunes:duration>49:18</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>&lt;p&gt;In this episode, Benedict shows some of the tools he loves to use including Markdown (producing PDFs and other docs using Pandoc), AWK, and Graphviz. A lot of tutorials and getting-started links in this practical-oriented episode for you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.markdownguide.org/basic-syntax/" target="_blank" rel="nofollow noopener"&gt;The Markdown Guide&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://pandoc.org" target="_blank" rel="nofollow noopener"&gt;The Pandoc Website&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://imaginarytext.ca/posts/2024/pandoc-typst-tutorial" target="_blank" rel="nofollow noopener"&gt;Using Pandoc and Typst to Produce&lt;br&gt;
PDFs&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/enhuiz/eisvogel" target="_blank" rel="nofollow noopener"&gt;Eisvogel LaTeX Pandoc template&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://ferd.ca/awk-in-20-minutes.html" target="_blank" rel="nofollow noopener"&gt;Awk in 20 Minutes&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://developer.ibm.com/tutorials/l-awk1/" target="_blank" rel="nofollow noopener"&gt;Awk by Example&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.w3schools.com" target="_blank" rel="nofollow noopener"&gt;W3 Schools Tutorials&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://graphviz.org/pdf/dotguide.pdf" target="_blank" rel="nofollow noopener"&gt;The dot Guide&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://ncona.com/2020/06/create-diagrams-with-code-using-graphviz/" target="_blank" rel="nofollow noopener"&gt;Introduction to Graphviz&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://sketchviz.com/" target="_blank" rel="nofollow noopener"&gt;Browser-based Graphviz Editor SketchViz&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Producer Note&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Once we reach Episode 600, I will be backfilling out fireside website with the older episodes (before 283), depending on how your podcast feed service works, you may get a bunch of new notifications of episodes. Sadly there's nothing I can do about that, but I wanted everyone to be aware that.&lt;/li&gt;
&lt;li&gt;Also once we hit 600, we will be announcing some new Patreon Perks and new ways you can engage and get involved with the show. More to come in the upcoming weeks as we finalize those plans amongst the team.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, markdown, md, pdf, pandoc, awk, graphviz, w3schools</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>In this episode, Benedict shows some of the tools he loves to use including Markdown (producing PDFs and other docs using Pandoc), AWK, and Graphviz. A lot of tutorials and getting-started links in this practical-oriented episode for you.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<hr>

<ul>
<li><p><a href="https://www.markdownguide.org/basic-syntax/" target="_blank" rel="nofollow noopener">The Markdown Guide</a></p></li>
<li><p><a href="https://pandoc.org" target="_blank" rel="nofollow noopener">The Pandoc Website</a></p></li>
<li><p><a href="https://imaginarytext.ca/posts/2024/pandoc-typst-tutorial" target="_blank" rel="nofollow noopener">Using Pandoc and Typst to Produce<br>
PDFs</a></p></li>
<li><p><a href="https://github.com/enhuiz/eisvogel" target="_blank" rel="nofollow noopener">Eisvogel LaTeX Pandoc template</a></p></li>
</ul>

<hr>

<h2>News Roundup</h2>

<ul>
<li><p><a href="https://ferd.ca/awk-in-20-minutes.html" target="_blank" rel="nofollow noopener">Awk in 20 Minutes</a></p></li>
<li><p><a href="https://developer.ibm.com/tutorials/l-awk1/" target="_blank" rel="nofollow noopener">Awk by Example</a></p></li>
</ul>

<hr>

<ul>
<li><a href="https://www.w3schools.com" target="_blank" rel="nofollow noopener">W3 Schools Tutorials</a></li>
</ul>

<hr>

<ul>
<li><p><a href="https://graphviz.org/pdf/dotguide.pdf" target="_blank" rel="nofollow noopener">The dot Guide</a></p></li>
<li><p><a href="https://ncona.com/2020/06/create-diagrams-with-code-using-graphviz/" target="_blank" rel="nofollow noopener">Introduction to Graphviz</a></p></li>
<li><p><a href="https://sketchviz.com/" target="_blank" rel="nofollow noopener">Browser-based Graphviz Editor SketchViz</a></p></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>

<h2>Producer Note</h2>

<ul>
<li>Once we reach Episode 600, I will be backfilling out fireside website with the older episodes (before 283), depending on how your podcast feed service works, you may get a bunch of new notifications of episodes. Sadly there's nothing I can do about that, but I wanted everyone to be aware that.</li>
<li>Also once we hit 600, we will be announcing some new Patreon Perks and new ways you can engage and get involved with the show. More to come in the upcoming weeks as we finalize those plans amongst the team.</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>In this episode, Benedict shows some of the tools he loves to use including Markdown (producing PDFs and other docs using Pandoc), AWK, and Graphviz. A lot of tutorials and getting-started links in this practical-oriented episode for you.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<hr>

<ul>
<li><p><a href="https://www.markdownguide.org/basic-syntax/" target="_blank" rel="nofollow noopener">The Markdown Guide</a></p></li>
<li><p><a href="https://pandoc.org" target="_blank" rel="nofollow noopener">The Pandoc Website</a></p></li>
<li><p><a href="https://imaginarytext.ca/posts/2024/pandoc-typst-tutorial" target="_blank" rel="nofollow noopener">Using Pandoc and Typst to Produce<br>
PDFs</a></p></li>
<li><p><a href="https://github.com/enhuiz/eisvogel" target="_blank" rel="nofollow noopener">Eisvogel LaTeX Pandoc template</a></p></li>
</ul>

<hr>

<h2>News Roundup</h2>

<ul>
<li><p><a href="https://ferd.ca/awk-in-20-minutes.html" target="_blank" rel="nofollow noopener">Awk in 20 Minutes</a></p></li>
<li><p><a href="https://developer.ibm.com/tutorials/l-awk1/" target="_blank" rel="nofollow noopener">Awk by Example</a></p></li>
</ul>

<hr>

<ul>
<li><a href="https://www.w3schools.com" target="_blank" rel="nofollow noopener">W3 Schools Tutorials</a></li>
</ul>

<hr>

<ul>
<li><p><a href="https://graphviz.org/pdf/dotguide.pdf" target="_blank" rel="nofollow noopener">The dot Guide</a></p></li>
<li><p><a href="https://ncona.com/2020/06/create-diagrams-with-code-using-graphviz/" target="_blank" rel="nofollow noopener">Introduction to Graphviz</a></p></li>
<li><p><a href="https://sketchviz.com/" target="_blank" rel="nofollow noopener">Browser-based Graphviz Editor SketchViz</a></p></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>

<h2>Producer Note</h2>

<ul>
<li>Once we reach Episode 600, I will be backfilling out fireside website with the older episodes (before 283), depending on how your podcast feed service works, you may get a bunch of new notifications of episodes. Sadly there's nothing I can do about that, but I wanted everyone to be aware that.</li>
<li>Also once we hit 600, we will be announcing some new Patreon Perks and new ways you can engage and get involved with the show. More to come in the upcoming weeks as we finalize those plans amongst the team.</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>589: The buffering pipe</title>
  <link>https://www.bsdnow.tv/589</link>
  <guid isPermaLink="false">e30d8935-1e67-4f45-8ff5-00690f626b49</guid>
  <pubDate>Thu, 12 Dec 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e30d8935-1e67-4f45-8ff5-00690f626b49.mp3" length="56143488" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Open-Source Software Is in Crisis, A Brief History of Cyrix, Userland Disk I/O, OPNsense 24.7.9 released, GhostBSD 24.10.1 Is Now Available, Why pipes sometimes get "stuck": buffering, Keep your OmniOS server time synced, and more</itunes:subtitle>
  <itunes:duration>58:28</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>&lt;p&gt;Open-Source Software Is in Crisis, A Brief History of Cyrix, Userland Disk I/O, OPNsense 24.7.9 released, GhostBSD 24.10.1 Is Now Available, Why pipes sometimes get "stuck": buffering, Keep your OmniOS server time synced, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://spectrum.ieee.org/open-source-crisis" target="_blank" rel="nofollow noopener"&gt;Open-Source Software Is in Crisis&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.abortretry.fail/p/a-brief-history-of-cyrix" target="_blank" rel="nofollow noopener"&gt;A Brief History of Cyrix&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://transactional.blog/how-to-learn/disk-io" target="_blank" rel="nofollow noopener"&gt;Userland Disk I/O&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://forum.opnsense.org/index.php?topic=44133.0" target="_blank" rel="nofollow noopener"&gt;OPNsense 24.7.9 released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://ghostbsd.org/news/GhostBSD_24.10.1_Is_Now_Available" target="_blank" rel="nofollow noopener"&gt;GhostBSD 24.10.1 Is Now Available&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://jvns.ca/blog/2024/11/29/why-pipes-get-stuck-buffering/" target="_blank" rel="nofollow noopener"&gt;Why pipes sometimes get "stuck": buffering&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://tumfatig.net/2024/keep-your-omnios-server-time-synced/" target="_blank" rel="nofollow noopener"&gt;Keep your OmniOS server time synced&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://news.solidigm.com/en-WW/243441-solidigm-122tb-drive" target="_blank" rel="nofollow noopener"&gt;"I'll take 2" - Solidigm introduces a 122TB Drive, the World’s Highest Capacity PCIe SSDs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/589/feedback/ian%20-%20toughts.md" target="_blank" rel="nofollow noopener"&gt;Ian - Thoughts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Producer Note&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Once we reach Episode 600, I will be backfilling out fireside website with the older episodes (before 283), depending on how your podcast feed service works, you may get a bunch of new notifications of episodes. Sadly there's nothing I can do about that, but I wanted everyone to be aware that.&lt;/li&gt;
&lt;li&gt;Also once we hit 600, we will be announcing some new Patreon Perks and new ways you can engage and get involved with the show. More to come in the upcoming weeks as we finalize those plans amongst the team.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, crisis, cyrix, history, userland, disk i/o, opnsense, ghostbsd, pipes, stuck, buffer, buffering, omnios server, time sync, clock</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Open-Source Software Is in Crisis, A Brief History of Cyrix, Userland Disk I/O, OPNsense 24.7.9 released, GhostBSD 24.10.1 Is Now Available, Why pipes sometimes get "stuck": buffering, Keep your OmniOS server time synced, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://spectrum.ieee.org/open-source-crisis" target="_blank" rel="nofollow noopener">Open-Source Software Is in Crisis</a></p>

<hr>

<p><a href="https://www.abortretry.fail/p/a-brief-history-of-cyrix" target="_blank" rel="nofollow noopener">A Brief History of Cyrix</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://transactional.blog/how-to-learn/disk-io" target="_blank" rel="nofollow noopener">Userland Disk I/O</a></p>

<hr>

<p><a href="https://forum.opnsense.org/index.php?topic=44133.0" target="_blank" rel="nofollow noopener">OPNsense 24.7.9 released</a></p>

<hr>

<p><a href="https://ghostbsd.org/news/GhostBSD_24.10.1_Is_Now_Available" target="_blank" rel="nofollow noopener">GhostBSD 24.10.1 Is Now Available</a></p>

<hr>

<p><a href="https://jvns.ca/blog/2024/11/29/why-pipes-get-stuck-buffering/" target="_blank" rel="nofollow noopener">Why pipes sometimes get "stuck": buffering</a></p>

<hr>

<p><a href="https://tumfatig.net/2024/keep-your-omnios-server-time-synced/" target="_blank" rel="nofollow noopener">Keep your OmniOS server time synced</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://news.solidigm.com/en-WW/243441-solidigm-122tb-drive" target="_blank" rel="nofollow noopener">"I'll take 2" - Solidigm introduces a 122TB Drive, the World’s Highest Capacity PCIe SSDs</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/589/feedback/ian%20-%20toughts.md" target="_blank" rel="nofollow noopener">Ian - Thoughts</a></li>
</ul>

<hr>

<h2>Producer Note</h2>

<ul>
<li>Once we reach Episode 600, I will be backfilling out fireside website with the older episodes (before 283), depending on how your podcast feed service works, you may get a bunch of new notifications of episodes. Sadly there's nothing I can do about that, but I wanted everyone to be aware that.</li>
<li>Also once we hit 600, we will be announcing some new Patreon Perks and new ways you can engage and get involved with the show. More to come in the upcoming weeks as we finalize those plans amongst the team.</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Open-Source Software Is in Crisis, A Brief History of Cyrix, Userland Disk I/O, OPNsense 24.7.9 released, GhostBSD 24.10.1 Is Now Available, Why pipes sometimes get "stuck": buffering, Keep your OmniOS server time synced, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://spectrum.ieee.org/open-source-crisis" target="_blank" rel="nofollow noopener">Open-Source Software Is in Crisis</a></p>

<hr>

<p><a href="https://www.abortretry.fail/p/a-brief-history-of-cyrix" target="_blank" rel="nofollow noopener">A Brief History of Cyrix</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://transactional.blog/how-to-learn/disk-io" target="_blank" rel="nofollow noopener">Userland Disk I/O</a></p>

<hr>

<p><a href="https://forum.opnsense.org/index.php?topic=44133.0" target="_blank" rel="nofollow noopener">OPNsense 24.7.9 released</a></p>

<hr>

<p><a href="https://ghostbsd.org/news/GhostBSD_24.10.1_Is_Now_Available" target="_blank" rel="nofollow noopener">GhostBSD 24.10.1 Is Now Available</a></p>

<hr>

<p><a href="https://jvns.ca/blog/2024/11/29/why-pipes-get-stuck-buffering/" target="_blank" rel="nofollow noopener">Why pipes sometimes get "stuck": buffering</a></p>

<hr>

<p><a href="https://tumfatig.net/2024/keep-your-omnios-server-time-synced/" target="_blank" rel="nofollow noopener">Keep your OmniOS server time synced</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://news.solidigm.com/en-WW/243441-solidigm-122tb-drive" target="_blank" rel="nofollow noopener">"I'll take 2" - Solidigm introduces a 122TB Drive, the World’s Highest Capacity PCIe SSDs</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/589/feedback/ian%20-%20toughts.md" target="_blank" rel="nofollow noopener">Ian - Thoughts</a></li>
</ul>

<hr>

<h2>Producer Note</h2>

<ul>
<li>Once we reach Episode 600, I will be backfilling out fireside website with the older episodes (before 283), depending on how your podcast feed service works, you may get a bunch of new notifications of episodes. Sadly there's nothing I can do about that, but I wanted everyone to be aware that.</li>
<li>Also once we hit 600, we will be announcing some new Patreon Perks and new ways you can engage and get involved with the show. More to come in the upcoming weeks as we finalize those plans amongst the team.</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>588: PGP Alternatives</title>
  <link>https://www.bsdnow.tv/588</link>
  <guid isPermaLink="false">786b8b40-5218-4ab8-b02c-65265b026e4e</guid>
  <pubDate>Thu, 05 Dec 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/786b8b40-5218-4ab8-b02c-65265b026e4e.mp3" length="61724928" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Deploying pNFS file sharing with FreeBSD, What To Use Instead of PGP, The slow evaporation of the FOSS surplus, I feel that NAT is inevitable even with IPv6, Spell checking in Vim, Iconic consoles of the IBM System/360 mainframes, 55 years old, and more</itunes:subtitle>
  <itunes:duration>1:04:17</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>&lt;p&gt;Deploying pNFS file sharing with FreeBSD, What To Use Instead of PGP, The slow evaporation of the FOSS surplus, I feel that NAT is inevitable even with IPv6, Spell checking in Vim, Iconic consoles of the IBM System/360 mainframes, 55 years old, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/deploying-pnfs-file-sharing-with-freebsd/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Deploying pNFS file sharing with FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://soatok.blog/2024/11/15/what-to-use-instead-of-pgp/" target="_blank" rel="nofollow noopener"&gt;What To Use Instead of PGP&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.baldurbjarnason.com/2024/the-slow-evaporation-of-the-foss-surplus/" target="_blank" rel="nofollow noopener"&gt;The slow evaporation of the FOSS surplus&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.sacredheartsc.com/blog/freebsd-14-on-the-desktop/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 14 on the Desktop&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.righto.com/2019/04/iconic-consoles-of-ibm-system360.html" target="_blank" rel="nofollow noopener"&gt;Iconic consoles of the IBM System/360 mainframes, 55 years old&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, pNFS, pgp alternatives, evaporation, FOSS surplus, nat, ipv6, spell checking, vim, iconic consoles, system/360, ibm, mainframe</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Deploying pNFS file sharing with FreeBSD, What To Use Instead of PGP, The slow evaporation of the FOSS surplus, I feel that NAT is inevitable even with IPv6, Spell checking in Vim, Iconic consoles of the IBM System/360 mainframes, 55 years old, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/deploying-pnfs-file-sharing-with-freebsd/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Deploying pNFS file sharing with FreeBSD</a></p>

<hr>

<p><a href="https://soatok.blog/2024/11/15/what-to-use-instead-of-pgp/" target="_blank" rel="nofollow noopener">What To Use Instead of PGP</a></p>

<hr>

<p><a href="https://www.baldurbjarnason.com/2024/the-slow-evaporation-of-the-foss-surplus/" target="_blank" rel="nofollow noopener">The slow evaporation of the FOSS surplus</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.sacredheartsc.com/blog/freebsd-14-on-the-desktop/" target="_blank" rel="nofollow noopener">FreeBSD 14 on the Desktop</a></p>

<hr>

<p><a href="https://www.righto.com/2019/04/iconic-consoles-of-ibm-system360.html" target="_blank" rel="nofollow noopener">Iconic consoles of the IBM System/360 mainframes, 55 years old</a></p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Deploying pNFS file sharing with FreeBSD, What To Use Instead of PGP, The slow evaporation of the FOSS surplus, I feel that NAT is inevitable even with IPv6, Spell checking in Vim, Iconic consoles of the IBM System/360 mainframes, 55 years old, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/deploying-pnfs-file-sharing-with-freebsd/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Deploying pNFS file sharing with FreeBSD</a></p>

<hr>

<p><a href="https://soatok.blog/2024/11/15/what-to-use-instead-of-pgp/" target="_blank" rel="nofollow noopener">What To Use Instead of PGP</a></p>

<hr>

<p><a href="https://www.baldurbjarnason.com/2024/the-slow-evaporation-of-the-foss-surplus/" target="_blank" rel="nofollow noopener">The slow evaporation of the FOSS surplus</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.sacredheartsc.com/blog/freebsd-14-on-the-desktop/" target="_blank" rel="nofollow noopener">FreeBSD 14 on the Desktop</a></p>

<hr>

<p><a href="https://www.righto.com/2019/04/iconic-consoles-of-ibm-system360.html" target="_blank" rel="nofollow noopener">Iconic consoles of the IBM System/360 mainframes, 55 years old</a></p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>587: New filesystems category</title>
  <link>https://www.bsdnow.tv/587</link>
  <guid isPermaLink="false">ef2e89d1-2439-428c-a7f3-70121d454af6</guid>
  <pubDate>Thu, 28 Nov 2024 09:30:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ef2e89d1-2439-428c-a7f3-70121d454af6.mp3" length="48872832" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Quarterly Report, Welcome to the new category: filesystems, BSD Misconceptions, Notes on the compatibility of crypted passwords across Unixes in late 2024, Automating ZFS Snapshots for Peace of Mind, A few nice things in OpenZFS 2.3, and more</itunes:subtitle>
  <itunes:duration>50:54</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>&lt;p&gt;FreeBSD Quarterly Report, Welcome to the new category: filesystems, BSD Misconceptions, Notes on the compatibility of crypted passwords across Unixes in late 2024, Automating ZFS Snapshots for Peace of Mind, A few nice things in OpenZFS 2.3, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.freebsd.org/status/report-2024-07-2024-09/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Quarterly Report&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://news.freshports.org/2024/11/06/welcome-to-the-new-category-filesystems/" target="_blank" rel="nofollow noopener"&gt;Welcome to the new category: filesystems&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://izder456.tumblr.com/post/759376596551483392/bsd-misconceptions" target="_blank" rel="nofollow noopener"&gt;BSD Misconceptions&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/CryptedPasswordCompatibility2024" target="_blank" rel="nofollow noopener"&gt;Notes on the compatibility of crypted passwords across Unixes in late 2024&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/08/21/automating-zfs-snapshots-for-peace-of-mind/" target="_blank" rel="nofollow noopener"&gt;Automating ZFS Snapshots for Peace of Mind&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://despairlabs.com/blog/posts/2024-10-05-nice-things-in-openzfs-23/" target="_blank" rel="nofollow noopener"&gt;A few nice things in OpenZFS 2.3&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/587/feedback/izzy%20-%20misconceptions.md" target="_blank" rel="nofollow noopener"&gt;Izzy - Misconceptions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/587/feedback/John-UNIXGraphicalDesktops.md" target="_blank" rel="nofollow noopener"&gt;John - UNIX Graphical Desktops&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, Q3 report, introduction, ports category, misconceptions, compatibility, crypted passwords, snapshot automation, automating, peace of mind, openzfs 2.3</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Quarterly Report, Welcome to the new category: filesystems, BSD Misconceptions, Notes on the compatibility of crypted passwords across Unixes in late 2024, Automating ZFS Snapshots for Peace of Mind, A few nice things in OpenZFS 2.3, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.freebsd.org/status/report-2024-07-2024-09/" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Report</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://news.freshports.org/2024/11/06/welcome-to-the-new-category-filesystems/" target="_blank" rel="nofollow noopener">Welcome to the new category: filesystems</a></p>

<hr>

<p><a href="https://izder456.tumblr.com/post/759376596551483392/bsd-misconceptions" target="_blank" rel="nofollow noopener">BSD Misconceptions</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/CryptedPasswordCompatibility2024" target="_blank" rel="nofollow noopener">Notes on the compatibility of crypted passwords across Unixes in late 2024</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/08/21/automating-zfs-snapshots-for-peace-of-mind/" target="_blank" rel="nofollow noopener">Automating ZFS Snapshots for Peace of Mind</a></p>

<hr>

<p><a href="https://despairlabs.com/blog/posts/2024-10-05-nice-things-in-openzfs-23/" target="_blank" rel="nofollow noopener">A few nice things in OpenZFS 2.3</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/587/feedback/izzy%20-%20misconceptions.md" target="_blank" rel="nofollow noopener">Izzy - Misconceptions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/587/feedback/John-UNIXGraphicalDesktops.md" target="_blank" rel="nofollow noopener">John - UNIX Graphical Desktops</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Quarterly Report, Welcome to the new category: filesystems, BSD Misconceptions, Notes on the compatibility of crypted passwords across Unixes in late 2024, Automating ZFS Snapshots for Peace of Mind, A few nice things in OpenZFS 2.3, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.freebsd.org/status/report-2024-07-2024-09/" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Report</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://news.freshports.org/2024/11/06/welcome-to-the-new-category-filesystems/" target="_blank" rel="nofollow noopener">Welcome to the new category: filesystems</a></p>

<hr>

<p><a href="https://izder456.tumblr.com/post/759376596551483392/bsd-misconceptions" target="_blank" rel="nofollow noopener">BSD Misconceptions</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/CryptedPasswordCompatibility2024" target="_blank" rel="nofollow noopener">Notes on the compatibility of crypted passwords across Unixes in late 2024</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/08/21/automating-zfs-snapshots-for-peace-of-mind/" target="_blank" rel="nofollow noopener">Automating ZFS Snapshots for Peace of Mind</a></p>

<hr>

<p><a href="https://despairlabs.com/blog/posts/2024-10-05-nice-things-in-openzfs-23/" target="_blank" rel="nofollow noopener">A few nice things in OpenZFS 2.3</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/587/feedback/izzy%20-%20misconceptions.md" target="_blank" rel="nofollow noopener">Izzy - Misconceptions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/587/feedback/John-UNIXGraphicalDesktops.md" target="_blank" rel="nofollow noopener">John - UNIX Graphical Desktops</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>586: Cloud Exit Savings</title>
  <link>https://www.bsdnow.tv/586</link>
  <guid isPermaLink="false">7d2743e5-551b-40e8-9e97-f75d720b1ce9</guid>
  <pubDate>Thu, 21 Nov 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/7d2743e5-551b-40e8-9e97-f75d720b1ce9.mp3" length="62734848" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Our Cloud Exit Savings will not top ten million over five years, 5 Reasons Why Your ZFS Storage Benchmarks Are Wrong, The history of inetd is more interesting than I expected, OpenBSD is Hard to Show Off, bhyve on FreeBSD and VM Live Migration – Quo vadis?, and more</itunes:subtitle>
  <itunes:duration>1:05:20</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>&lt;p&gt;Our Cloud Exit Savings will not top ten million over five years, 5 Reasons Why Your ZFS Storage Benchmarks Are Wrong, The history of inetd is more interesting than I expected, OpenBSD is Hard to Show Off, bhyve on FreeBSD and VM Live Migration – Quo vadis?, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://world.hey.com/dhh/our-cloud-exit-savings-will-now-top-ten-million-over-five-years-c7d9b5bd" target="_blank" rel="nofollow noopener"&gt;Our Cloud Exit Savings will not top ten million over five years&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/5-reasons-why-your-zfs-storage-benchmarks-are-wrong/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;5 Reasons Why Your ZFS Storage Benchmarks Are Wrong&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/InetdInterestingHistory" target="_blank" rel="nofollow noopener"&gt;The history of inetd is more interesting than I expected&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://atthis.link/blog/2024/16379.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD is Hard to Show Off&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://gyptazy.com/bhyve-on-freebsd-and-vm-live-migration-quo-vadis/" target="_blank" rel="nofollow noopener"&gt;bhyve on FreeBSD and VM Live Migration – Quo vadis?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20241023071210" target="_blank" rel="nofollow noopener"&gt;Game of Trees 0.104&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/nonfiction/networking#n4sa" target="_blank" rel="nofollow noopener"&gt;Networking for System Administrators&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/jZ3mjJZEqs0" target="_blank" rel="nofollow noopener"&gt;Fall 2024 FreeBSD Summit Day 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/live/qCNpuK2v248" target="_blank" rel="nofollow noopener"&gt;Fall 2024 FreeBSD Summit Day 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/586/feedback/chris-truenas.md" target="_blank" rel="nofollow noopener"&gt;Chris - Truenas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/586/feedback/brendan-nextcloud.md" target="_blank" rel="nofollow noopener"&gt;Brendan - NextCloud&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, cloud exit, savings, storage benchmarks, history, inetd, show off, vm live migration</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Our Cloud Exit Savings will not top ten million over five years, 5 Reasons Why Your ZFS Storage Benchmarks Are Wrong, The history of inetd is more interesting than I expected, OpenBSD is Hard to Show Off, bhyve on FreeBSD and VM Live Migration – Quo vadis?, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://world.hey.com/dhh/our-cloud-exit-savings-will-now-top-ten-million-over-five-years-c7d9b5bd" target="_blank" rel="nofollow noopener">Our Cloud Exit Savings will not top ten million over five years</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/5-reasons-why-your-zfs-storage-benchmarks-are-wrong/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">5 Reasons Why Your ZFS Storage Benchmarks Are Wrong</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/InetdInterestingHistory" target="_blank" rel="nofollow noopener">The history of inetd is more interesting than I expected</a></p>

<hr>

<p><a href="https://atthis.link/blog/2024/16379.html" target="_blank" rel="nofollow noopener">OpenBSD is Hard to Show Off</a></p>

<hr>

<p><a href="https://gyptazy.com/bhyve-on-freebsd-and-vm-live-migration-quo-vadis/" target="_blank" rel="nofollow noopener">bhyve on FreeBSD and VM Live Migration – Quo vadis?</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article;sid=20241023071210" target="_blank" rel="nofollow noopener">Game of Trees 0.104</a></li>
<li><a href="https://mwl.io/nonfiction/networking#n4sa" target="_blank" rel="nofollow noopener">Networking for System Administrators</a></li>
<li><a href="https://youtu.be/jZ3mjJZEqs0" target="_blank" rel="nofollow noopener">Fall 2024 FreeBSD Summit Day 1</a></li>
<li><a href="https://www.youtube.com/live/qCNpuK2v248" target="_blank" rel="nofollow noopener">Fall 2024 FreeBSD Summit Day 2</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/586/feedback/chris-truenas.md" target="_blank" rel="nofollow noopener">Chris - Truenas</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/586/feedback/brendan-nextcloud.md" target="_blank" rel="nofollow noopener">Brendan - NextCloud</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Our Cloud Exit Savings will not top ten million over five years, 5 Reasons Why Your ZFS Storage Benchmarks Are Wrong, The history of inetd is more interesting than I expected, OpenBSD is Hard to Show Off, bhyve on FreeBSD and VM Live Migration – Quo vadis?, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://world.hey.com/dhh/our-cloud-exit-savings-will-now-top-ten-million-over-five-years-c7d9b5bd" target="_blank" rel="nofollow noopener">Our Cloud Exit Savings will not top ten million over five years</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/5-reasons-why-your-zfs-storage-benchmarks-are-wrong/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">5 Reasons Why Your ZFS Storage Benchmarks Are Wrong</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/InetdInterestingHistory" target="_blank" rel="nofollow noopener">The history of inetd is more interesting than I expected</a></p>

<hr>

<p><a href="https://atthis.link/blog/2024/16379.html" target="_blank" rel="nofollow noopener">OpenBSD is Hard to Show Off</a></p>

<hr>

<p><a href="https://gyptazy.com/bhyve-on-freebsd-and-vm-live-migration-quo-vadis/" target="_blank" rel="nofollow noopener">bhyve on FreeBSD and VM Live Migration – Quo vadis?</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article;sid=20241023071210" target="_blank" rel="nofollow noopener">Game of Trees 0.104</a></li>
<li><a href="https://mwl.io/nonfiction/networking#n4sa" target="_blank" rel="nofollow noopener">Networking for System Administrators</a></li>
<li><a href="https://youtu.be/jZ3mjJZEqs0" target="_blank" rel="nofollow noopener">Fall 2024 FreeBSD Summit Day 1</a></li>
<li><a href="https://www.youtube.com/live/qCNpuK2v248" target="_blank" rel="nofollow noopener">Fall 2024 FreeBSD Summit Day 2</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/586/feedback/chris-truenas.md" target="_blank" rel="nofollow noopener">Chris - Truenas</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/586/feedback/brendan-nextcloud.md" target="_blank" rel="nofollow noopener">Brendan - NextCloud</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>585: Infrastructure Administration Workstation</title>
  <link>https://www.bsdnow.tv/585</link>
  <guid isPermaLink="false">137023c9-3a8f-495e-8b66-8db48e5b1ee7</guid>
  <pubDate>Thu, 14 Nov 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/137023c9-3a8f-495e-8b66-8db48e5b1ee7.mp3" length="47151744" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>From Proxmox to FreeBSD - Story of a Migration, FreeBSD At 30: The History And Future Of The Most Popular BSD-Based OS, Using a dedicated administration workstation for my infrastructure, LibreSSL 4.0.0 Released, Plasma6 and FreeBSD 14, Replace gnu diff, diff3, and sdiff with BSD versions, and more</itunes:subtitle>
  <itunes:duration>49:06</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>&lt;p&gt;From Proxmox to FreeBSD - Story of a Migration, FreeBSD At 30: The History And Future Of The Most Popular BSD-Based OS, Using a dedicated administration workstation for my infrastructure, LibreSSL 4.0.0 Released, Plasma6 and FreeBSD 14, Replace gnu diff, diff3, and sdiff with BSD versions, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/10/21/from-proxmox-to-freebsd-story-of-a-migration/" target="_blank" rel="nofollow noopener"&gt;From Proxmox to FreeBSD - Story of a Migration&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://hackaday.com/2024/10/28/freebsd-at-30-the-history-and-future-of-the-most-popular-bsd-based-os/" target="_blank" rel="nofollow noopener"&gt;FreeBSD At 30: The History And Future Of The Most Popular BSD-Based OS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2024-10-19-my-admin-workstation.html" target="_blank" rel="nofollow noopener"&gt;Using a dedicated administration workstation for my infrastructure&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20241015084629" target="_blank" rel="nofollow noopener"&gt;LibreSSL 4.0.0 Released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://euroquis.nl//kde/2024/10/08/freebsd14.html" target="_blank" rel="nofollow noopener"&gt;Plasma6 and FreeBSD 14&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://lists.dragonflybsd.org/pipermail/commits/2024-October/923274.html" target="_blank" rel="nofollow noopener"&gt;git: world - Replace gnu diff, diff3, and sdiff with BSD versions&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;h2&gt;- &lt;a href="https://www.youtube.com/watch?v=2OZtnqK3iMU" target="_blank" rel="nofollow noopener"&gt;How to Upgrade FreeBSD KDE 5 to KDE 6&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, proxmox, migration, story, freebsd at 30, history, future, admin, administration, workstation, infrastructure, libressl, plasma6, diff, diff3, sdiff</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>From Proxmox to FreeBSD - Story of a Migration, FreeBSD At 30: The History And Future Of The Most Popular BSD-Based OS, Using a dedicated administration workstation for my infrastructure, LibreSSL 4.0.0 Released, Plasma6 and FreeBSD 14, Replace gnu diff, diff3, and sdiff with BSD versions, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://it-notes.dragas.net/2024/10/21/from-proxmox-to-freebsd-story-of-a-migration/" target="_blank" rel="nofollow noopener">From Proxmox to FreeBSD - Story of a Migration</a></p>

<hr>

<p><a href="https://hackaday.com/2024/10/28/freebsd-at-30-the-history-and-future-of-the-most-popular-bsd-based-os/" target="_blank" rel="nofollow noopener">FreeBSD At 30: The History And Future Of The Most Popular BSD-Based OS</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dataswamp.org/%7Esolene/2024-10-19-my-admin-workstation.html" target="_blank" rel="nofollow noopener">Using a dedicated administration workstation for my infrastructure</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20241015084629" target="_blank" rel="nofollow noopener">LibreSSL 4.0.0 Released</a></p>

<hr>

<p><a href="https://euroquis.nl//kde/2024/10/08/freebsd14.html" target="_blank" rel="nofollow noopener">Plasma6 and FreeBSD 14</a></p>

<hr>

<p><a href="https://lists.dragonflybsd.org/pipermail/commits/2024-October/923274.html" target="_blank" rel="nofollow noopener">git: world - Replace gnu diff, diff3, and sdiff with BSD versions</a></p>

<hr>

<hr>

<h2>Beastie Bits</h2>

<h2>- <a href="https://www.youtube.com/watch?v=2OZtnqK3iMU" target="_blank" rel="nofollow noopener">How to Upgrade FreeBSD KDE 5 to KDE 6</a></h2>

<ul>
<li>***</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>From Proxmox to FreeBSD - Story of a Migration, FreeBSD At 30: The History And Future Of The Most Popular BSD-Based OS, Using a dedicated administration workstation for my infrastructure, LibreSSL 4.0.0 Released, Plasma6 and FreeBSD 14, Replace gnu diff, diff3, and sdiff with BSD versions, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://it-notes.dragas.net/2024/10/21/from-proxmox-to-freebsd-story-of-a-migration/" target="_blank" rel="nofollow noopener">From Proxmox to FreeBSD - Story of a Migration</a></p>

<hr>

<p><a href="https://hackaday.com/2024/10/28/freebsd-at-30-the-history-and-future-of-the-most-popular-bsd-based-os/" target="_blank" rel="nofollow noopener">FreeBSD At 30: The History And Future Of The Most Popular BSD-Based OS</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dataswamp.org/%7Esolene/2024-10-19-my-admin-workstation.html" target="_blank" rel="nofollow noopener">Using a dedicated administration workstation for my infrastructure</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20241015084629" target="_blank" rel="nofollow noopener">LibreSSL 4.0.0 Released</a></p>

<hr>

<p><a href="https://euroquis.nl//kde/2024/10/08/freebsd14.html" target="_blank" rel="nofollow noopener">Plasma6 and FreeBSD 14</a></p>

<hr>

<p><a href="https://lists.dragonflybsd.org/pipermail/commits/2024-October/923274.html" target="_blank" rel="nofollow noopener">git: world - Replace gnu diff, diff3, and sdiff with BSD versions</a></p>

<hr>

<hr>

<h2>Beastie Bits</h2>

<h2>- <a href="https://www.youtube.com/watch?v=2OZtnqK3iMU" target="_blank" rel="nofollow noopener">How to Upgrade FreeBSD KDE 5 to KDE 6</a></h2>

<ul>
<li>***</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>584: ZFS Copy Offloading</title>
  <link>https://www.bsdnow.tv/584</link>
  <guid isPermaLink="false">ba88ee59-1fde-4f54-a013-b0a8b34ae9b3</guid>
  <pubDate>Thu, 07 Nov 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ba88ee59-1fde-4f54-a013-b0a8b34ae9b3.mp3" length="55618176" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>New CIS® FreeBSD 14 Benchmark: Secure Your Systems with Expert-Guided Best Practices, Accelerating ZFS with Copy Offloading: BRT, The uncertain possible futures of Unix graphical desktops, Jailfox - Firefox in a Freebsd Jail, Make Your Own Read-Only Device With NetBSD, ex/vi/nvi editor: .exrc advanced,</itunes:subtitle>
  <itunes:duration>57:56</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>&lt;p&gt;New CIS® FreeBSD 14 Benchmark: Secure Your Systems with Expert-Guided Best Practices, Accelerating ZFS with Copy Offloading: BRT, The uncertain possible futures of Unix graphical desktops, Jailfox - Firefox in a Freebsd Jail, Make Your Own Read-Only Device With NetBSD, ex/vi/nvi editor: .exrc advanced,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/new-cis-freebsd-14-benchmark-secure-your-systems-with-expert-guided-best-practices/" target="_blank" rel="nofollow noopener"&gt;New CIS® FreeBSD 14 Benchmark: Secure Your Systems with Expert-Guided Best Practices&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/accelerating-zfs-with-copy-offloading-brt/" target="_blank" rel="nofollow noopener"&gt;Accelerating ZFS with Copy Offloading: BRT&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/UnixDesktopFutures" target="_blank" rel="nofollow noopener"&gt;The uncertain possible futures of Unix graphical desktops&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://forums.FreeBSD.org/threads/jailfox-firefox-ingithub-a-freebsd-jail.94848/" target="_blank" rel="nofollow noopener"&gt;Jailfox - Firefox in a Freebsd Jail&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/09/10/make-your-own-readonly-device-with-netbsd/" target="_blank" rel="nofollow noopener"&gt;Make Your Own Read-Only Device With NetBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://forums.FreeBSD.org/threads/ex-vi-nvi-editor-exrc-file-config-file-advanced-topics-undocumented-adding-comments-escaping-the-pipe-mapping-key-combinations.95095/" target="_blank" rel="nofollow noopener"&gt;ex/vi/nvi editor: .exrc file (config file) advanced topics (undocumented?): Adding comments, escaping the pipe, mapping key combinations&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/584/feedback/matthew%20-%20cicd.md" target="_blank" rel="nofollow noopener"&gt;Matthew - CI CD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, CIS benchmark, expert-guided, best practices, Accelerating, copy Offloading, BRT, graphical desktops, jailfox, read-only device, exrc</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>New CIS® FreeBSD 14 Benchmark: Secure Your Systems with Expert-Guided Best Practices, Accelerating ZFS with Copy Offloading: BRT, The uncertain possible futures of Unix graphical desktops, Jailfox - Firefox in a Freebsd Jail, Make Your Own Read-Only Device With NetBSD, ex/vi/nvi editor: .exrc advanced,</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/new-cis-freebsd-14-benchmark-secure-your-systems-with-expert-guided-best-practices/" target="_blank" rel="nofollow noopener">New CIS® FreeBSD 14 Benchmark: Secure Your Systems with Expert-Guided Best Practices</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/accelerating-zfs-with-copy-offloading-brt/" target="_blank" rel="nofollow noopener">Accelerating ZFS with Copy Offloading: BRT</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/UnixDesktopFutures" target="_blank" rel="nofollow noopener">The uncertain possible futures of Unix graphical desktops</a></p>

<hr>

<p><a href="https://forums.FreeBSD.org/threads/jailfox-firefox-ingithub-a-freebsd-jail.94848/" target="_blank" rel="nofollow noopener">Jailfox - Firefox in a Freebsd Jail</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/09/10/make-your-own-readonly-device-with-netbsd/" target="_blank" rel="nofollow noopener">Make Your Own Read-Only Device With NetBSD</a></p>

<hr>

<p><a href="https://forums.FreeBSD.org/threads/ex-vi-nvi-editor-exrc-file-config-file-advanced-topics-undocumented-adding-comments-escaping-the-pipe-mapping-key-combinations.95095/" target="_blank" rel="nofollow noopener">ex/vi/nvi editor: .exrc file (config file) advanced topics (undocumented?): Adding comments, escaping the pipe, mapping key combinations</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/584/feedback/matthew%20-%20cicd.md" target="_blank" rel="nofollow noopener">Matthew - CI CD</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>New CIS® FreeBSD 14 Benchmark: Secure Your Systems with Expert-Guided Best Practices, Accelerating ZFS with Copy Offloading: BRT, The uncertain possible futures of Unix graphical desktops, Jailfox - Firefox in a Freebsd Jail, Make Your Own Read-Only Device With NetBSD, ex/vi/nvi editor: .exrc advanced,</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/new-cis-freebsd-14-benchmark-secure-your-systems-with-expert-guided-best-practices/" target="_blank" rel="nofollow noopener">New CIS® FreeBSD 14 Benchmark: Secure Your Systems with Expert-Guided Best Practices</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/accelerating-zfs-with-copy-offloading-brt/" target="_blank" rel="nofollow noopener">Accelerating ZFS with Copy Offloading: BRT</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/UnixDesktopFutures" target="_blank" rel="nofollow noopener">The uncertain possible futures of Unix graphical desktops</a></p>

<hr>

<p><a href="https://forums.FreeBSD.org/threads/jailfox-firefox-ingithub-a-freebsd-jail.94848/" target="_blank" rel="nofollow noopener">Jailfox - Firefox in a Freebsd Jail</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/09/10/make-your-own-readonly-device-with-netbsd/" target="_blank" rel="nofollow noopener">Make Your Own Read-Only Device With NetBSD</a></p>

<hr>

<p><a href="https://forums.FreeBSD.org/threads/ex-vi-nvi-editor-exrc-file-config-file-advanced-topics-undocumented-adding-comments-escaping-the-pipe-mapping-key-combinations.95095/" target="_blank" rel="nofollow noopener">ex/vi/nvi editor: .exrc file (config file) advanced topics (undocumented?): Adding comments, escaping the pipe, mapping key combinations</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/584/feedback/matthew%20-%20cicd.md" target="_blank" rel="nofollow noopener">Matthew - CI CD</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>583: A host of self-hosters</title>
  <link>https://www.bsdnow.tv/583</link>
  <guid isPermaLink="false">523b42f8-cd1e-4919-a5ad-d6de0bb137a2</guid>
  <pubDate>Thu, 31 Oct 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/523b42f8-cd1e-4919-a5ad-d6de0bb137a2.mp3" length="66302976" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Run Linux Containers on FreeBSD 14 with Podman, Open Source FreeBSD NAS: Maintenance Best Practices, Self-hosting Bitwarden / VaultWarden on FreeBSD, I most definitely should (self-host)!, My 71 TiB ZFS NAS After 10 Years and Zero Drive Failures, Make Your Own CDN With OpenBSD Base and Just 2 Packages, and more</itunes:subtitle>
  <itunes:duration>1:09: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>&lt;p&gt;Run Linux Containers on FreeBSD 14 with Podman, Open Source FreeBSD NAS: Maintenance Best Practices, Self-hosting Bitwarden / VaultWarden on FreeBSD, I most definitely should (self-host)!, My 71 TiB ZFS NAS After 10 Years and Zero Drive Failures, Make Your Own CDN With OpenBSD Base and Just 2 Packages, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20241007204213" target="_blank" rel="nofollow noopener"&gt;OpenBSD 7.6 Released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/open-source-freebsd-nas-maintenance-best-practices/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Open Source FreeBSD NAS: Maintenance Best Practices&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dan.langille.org/2024/09/30/self-hosting-bitwarden-vaultwarden-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Self-hosting Bitwarden / VaultWarden on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://michal.sapka.me/blog/2024/i-will-self-host-this-site/" target="_blank" rel="nofollow noopener"&gt;I most definitely should (self-host)!&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://louwrentius.com/my-71-tib-zfs-nas-after-10-years-and-zero-drive-failures.html" target="_blank" rel="nofollow noopener"&gt;My 71 TiB ZFS NAS After 10 Years and Zero Drive Failures&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/08/29/make-your-own-cdn-openbsd/" target="_blank" rel="nofollow noopener"&gt;Make Your Own CDN With OpenBSD Base and Just 2 Packages&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;h2&gt;- &lt;a href="https://m.youtube.com/watch?v=a3f889FXuGw" target="_blank" rel="nofollow noopener"&gt;BSD History archive&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/583/feedback/Mischa%20-%20Feedback.md" target="_blank" rel="nofollow noopener"&gt;Mischa - feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/tree/master/episodes/583/feedback" target="_blank" rel="nofollow noopener"&gt;lars - feedback&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Message from JT... the problem is spam, sometimes real messages get lost in flood of spam, if we don't cover your email within a few weeks, please email back in.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And now... for some laughs, I shall share with you all, some of the delightful spam we have gotten for your entertainment.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/583/feedback/kim%20-%20spam.md" target="_blank" rel="nofollow noopener"&gt;Kim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/583/feedback/Alexander%20-%20spam.md" target="_blank" rel="nofollow noopener"&gt;Alexander&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/583/feedback/Lee%20-%20spam.md" target="_blank" rel="nofollow noopener"&gt;Lee&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, containers, podman, NAS, maintenance, best practices, Self-hosting, bitwarden, VaultWarden, zero drive failure, cdn</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Run Linux Containers on FreeBSD 14 with Podman, Open Source FreeBSD NAS: Maintenance Best Practices, Self-hosting Bitwarden / VaultWarden on FreeBSD, I most definitely should (self-host)!, My 71 TiB ZFS NAS After 10 Years and Zero Drive Failures, Make Your Own CDN With OpenBSD Base and Just 2 Packages, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://undeadly.org/cgi?action=article;sid=20241007204213" target="_blank" rel="nofollow noopener">OpenBSD 7.6 Released</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/open-source-freebsd-nas-maintenance-best-practices/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Open Source FreeBSD NAS: Maintenance Best Practices</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dan.langille.org/2024/09/30/self-hosting-bitwarden-vaultwarden-on-freebsd/" target="_blank" rel="nofollow noopener">Self-hosting Bitwarden / VaultWarden on FreeBSD</a></p>

<hr>

<p><a href="https://michal.sapka.me/blog/2024/i-will-self-host-this-site/" target="_blank" rel="nofollow noopener">I most definitely should (self-host)!</a></p>

<hr>

<p><a href="https://louwrentius.com/my-71-tib-zfs-nas-after-10-years-and-zero-drive-failures.html" target="_blank" rel="nofollow noopener">My 71 TiB ZFS NAS After 10 Years and Zero Drive Failures</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/08/29/make-your-own-cdn-openbsd/" target="_blank" rel="nofollow noopener">Make Your Own CDN With OpenBSD Base and Just 2 Packages</a></p>

<hr>

<h2>Beastie Bits</h2>

<h2>- <a href="https://m.youtube.com/watch?v=a3f889FXuGw" target="_blank" rel="nofollow noopener">BSD History archive</a></h2>

<ul>
<li>***</li>
</ul>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/583/feedback/Mischa%20-%20Feedback.md" target="_blank" rel="nofollow noopener">Mischa - feedback</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/tree/master/episodes/583/feedback" target="_blank" rel="nofollow noopener">lars - feedback</a></p></li>
<li><p>Message from JT... the problem is spam, sometimes real messages get lost in flood of spam, if we don't cover your email within a few weeks, please email back in.</p></li>
</ul>

<p>And now... for some laughs, I shall share with you all, some of the delightful spam we have gotten for your entertainment.</p>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/583/feedback/kim%20-%20spam.md" target="_blank" rel="nofollow noopener">Kim</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/583/feedback/Alexander%20-%20spam.md" target="_blank" rel="nofollow noopener">Alexander</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/583/feedback/Lee%20-%20spam.md" target="_blank" rel="nofollow noopener">Lee</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Run Linux Containers on FreeBSD 14 with Podman, Open Source FreeBSD NAS: Maintenance Best Practices, Self-hosting Bitwarden / VaultWarden on FreeBSD, I most definitely should (self-host)!, My 71 TiB ZFS NAS After 10 Years and Zero Drive Failures, Make Your Own CDN With OpenBSD Base and Just 2 Packages, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://undeadly.org/cgi?action=article;sid=20241007204213" target="_blank" rel="nofollow noopener">OpenBSD 7.6 Released</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/open-source-freebsd-nas-maintenance-best-practices/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Open Source FreeBSD NAS: Maintenance Best Practices</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dan.langille.org/2024/09/30/self-hosting-bitwarden-vaultwarden-on-freebsd/" target="_blank" rel="nofollow noopener">Self-hosting Bitwarden / VaultWarden on FreeBSD</a></p>

<hr>

<p><a href="https://michal.sapka.me/blog/2024/i-will-self-host-this-site/" target="_blank" rel="nofollow noopener">I most definitely should (self-host)!</a></p>

<hr>

<p><a href="https://louwrentius.com/my-71-tib-zfs-nas-after-10-years-and-zero-drive-failures.html" target="_blank" rel="nofollow noopener">My 71 TiB ZFS NAS After 10 Years and Zero Drive Failures</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/08/29/make-your-own-cdn-openbsd/" target="_blank" rel="nofollow noopener">Make Your Own CDN With OpenBSD Base and Just 2 Packages</a></p>

<hr>

<h2>Beastie Bits</h2>

<h2>- <a href="https://m.youtube.com/watch?v=a3f889FXuGw" target="_blank" rel="nofollow noopener">BSD History archive</a></h2>

<ul>
<li>***</li>
</ul>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/583/feedback/Mischa%20-%20Feedback.md" target="_blank" rel="nofollow noopener">Mischa - feedback</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/tree/master/episodes/583/feedback" target="_blank" rel="nofollow noopener">lars - feedback</a></p></li>
<li><p>Message from JT... the problem is spam, sometimes real messages get lost in flood of spam, if we don't cover your email within a few weeks, please email back in.</p></li>
</ul>

<p>And now... for some laughs, I shall share with you all, some of the delightful spam we have gotten for your entertainment.</p>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/583/feedback/kim%20-%20spam.md" target="_blank" rel="nofollow noopener">Kim</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/583/feedback/Alexander%20-%20spam.md" target="_blank" rel="nofollow noopener">Alexander</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/583/feedback/Lee%20-%20spam.md" target="_blank" rel="nofollow noopener">Lee</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>582: Introducing ZBM</title>
  <link>https://www.bsdnow.tv/582</link>
  <guid isPermaLink="false">e95e7d3d-6bca-4594-a5ee-2155c7bc98ef</guid>
  <pubDate>Thu, 24 Oct 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e95e7d3d-6bca-4594-a5ee-2155c7bc98ef.mp3" length="55983744" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Why laptop support, why now: FreeBSD’s strategic move toward broader adoption, ZBM 101: Introduction to ZFSBootMenu, How I batch apply and save one-liners, Moving an Entire FreeBSD Installation to a New Host or VM in a Few Easy Steps, How to install "standard" TTF Microsoft fonts, We need more zero config tools, Reasons I still love the fish shell, You Have Installed OpenBSD. Now For The Daily Tasks, and more</itunes:subtitle>
  <itunes:duration>58:18</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>&lt;p&gt;Why laptop support, why now: FreeBSD’s strategic move toward broader adoption, ZBM 101: Introduction to ZFSBootMenu, How I batch apply and save one-liners, Moving an Entire FreeBSD Installation to a New Host or VM in a Few Easy Steps, How to install "standard" TTF Microsoft fonts, We need more zero config tools, Reasons I still love the fish shell, You Have Installed OpenBSD. Now For The Daily Tasks, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/why-laptop-support-why-now-freebsds-strategic-move-toward-broader-adoption/" target="_blank" rel="nofollow noopener"&gt;Why laptop support, why now: FreeBSD’s strategic move toward broader adoption&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/zbm-101-introduction-to-zfsbootmenu/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;ZBM 101: Introduction to ZFSBootMenu&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://lmno.lol/alvaro/how-i-batch-apply-and-save-one-liners" target="_blank" rel="nofollow noopener"&gt;How I batch apply and save one-liners&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/09/16/moving-freebsd-installation-new-host-vm/" target="_blank" rel="nofollow noopener"&gt;Moving an Entire FreeBSD Installation to a New Host or VM in a Few Easy Steps&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://forums.FreeBSD.org/threads/how-to-install-standard-ttf-microsoft-fonts.95009/" target="_blank" rel="nofollow noopener"&gt;How to install "standard" TTF Microsoft fonts&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://arne.me/blog/we-need-more-zero-config-tools" target="_blank" rel="nofollow noopener"&gt;We need more zero config tools&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://jvns.ca/blog/2024/09/12/reasons-i--still--love-fish/" target="_blank" rel="nofollow noopener"&gt;Reasons I still love the fish shell&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://bsdly.blogspot.com/2024/09/you-have-installed-openbsd-now-for.html" target="_blank" rel="nofollow noopener"&gt;You Have Installed OpenBSD. Now For The Daily Tasks.&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/582/feedback/Chris%20-%20choosing%20show%20items.md" target="_blank" rel="nofollow noopener"&gt;Chris - choosing show items&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, laptop support, strategic move, broader adoption, ZBM, ZFSBootMenu, one-liners, mgration, vm, host, font, zero config, tools, fish shell, daily tasks</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Why laptop support, why now: FreeBSD’s strategic move toward broader adoption, ZBM 101: Introduction to ZFSBootMenu, How I batch apply and save one-liners, Moving an Entire FreeBSD Installation to a New Host or VM in a Few Easy Steps, How to install "standard" TTF Microsoft fonts, We need more zero config tools, Reasons I still love the fish shell, You Have Installed OpenBSD. Now For The Daily Tasks, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/why-laptop-support-why-now-freebsds-strategic-move-toward-broader-adoption/" target="_blank" rel="nofollow noopener">Why laptop support, why now: FreeBSD’s strategic move toward broader adoption</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zbm-101-introduction-to-zfsbootmenu/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZBM 101: Introduction to ZFSBootMenu</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://lmno.lol/alvaro/how-i-batch-apply-and-save-one-liners" target="_blank" rel="nofollow noopener">How I batch apply and save one-liners</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/09/16/moving-freebsd-installation-new-host-vm/" target="_blank" rel="nofollow noopener">Moving an Entire FreeBSD Installation to a New Host or VM in a Few Easy Steps</a></p>

<hr>

<p><a href="https://forums.FreeBSD.org/threads/how-to-install-standard-ttf-microsoft-fonts.95009/" target="_blank" rel="nofollow noopener">How to install "standard" TTF Microsoft fonts</a></p>

<hr>

<p><a href="https://arne.me/blog/we-need-more-zero-config-tools" target="_blank" rel="nofollow noopener">We need more zero config tools</a></p>

<hr>

<p><a href="https://jvns.ca/blog/2024/09/12/reasons-i--still--love-fish/" target="_blank" rel="nofollow noopener">Reasons I still love the fish shell</a></p>

<hr>

<p><a href="https://bsdly.blogspot.com/2024/09/you-have-installed-openbsd-now-for.html" target="_blank" rel="nofollow noopener">You Have Installed OpenBSD. Now For The Daily Tasks.</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/582/feedback/Chris%20-%20choosing%20show%20items.md" target="_blank" rel="nofollow noopener">Chris - choosing show items</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Why laptop support, why now: FreeBSD’s strategic move toward broader adoption, ZBM 101: Introduction to ZFSBootMenu, How I batch apply and save one-liners, Moving an Entire FreeBSD Installation to a New Host or VM in a Few Easy Steps, How to install "standard" TTF Microsoft fonts, We need more zero config tools, Reasons I still love the fish shell, You Have Installed OpenBSD. Now For The Daily Tasks, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/why-laptop-support-why-now-freebsds-strategic-move-toward-broader-adoption/" target="_blank" rel="nofollow noopener">Why laptop support, why now: FreeBSD’s strategic move toward broader adoption</a></p>

<hr>

<p><a href="https://klarasystems.com/articles/zbm-101-introduction-to-zfsbootmenu/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">ZBM 101: Introduction to ZFSBootMenu</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://lmno.lol/alvaro/how-i-batch-apply-and-save-one-liners" target="_blank" rel="nofollow noopener">How I batch apply and save one-liners</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/09/16/moving-freebsd-installation-new-host-vm/" target="_blank" rel="nofollow noopener">Moving an Entire FreeBSD Installation to a New Host or VM in a Few Easy Steps</a></p>

<hr>

<p><a href="https://forums.FreeBSD.org/threads/how-to-install-standard-ttf-microsoft-fonts.95009/" target="_blank" rel="nofollow noopener">How to install "standard" TTF Microsoft fonts</a></p>

<hr>

<p><a href="https://arne.me/blog/we-need-more-zero-config-tools" target="_blank" rel="nofollow noopener">We need more zero config tools</a></p>

<hr>

<p><a href="https://jvns.ca/blog/2024/09/12/reasons-i--still--love-fish/" target="_blank" rel="nofollow noopener">Reasons I still love the fish shell</a></p>

<hr>

<p><a href="https://bsdly.blogspot.com/2024/09/you-have-installed-openbsd-now-for.html" target="_blank" rel="nofollow noopener">You Have Installed OpenBSD. Now For The Daily Tasks.</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/582/feedback/Chris%20-%20choosing%20show%20items.md" target="_blank" rel="nofollow noopener">Chris - choosing show items</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>581: Releasing more BSDs</title>
  <link>https://www.bsdnow.tv/581</link>
  <guid isPermaLink="false">c6329e3b-eb96-4db0-9bb0-27d65a4ecddc</guid>
  <pubDate>Thu, 17 Oct 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c6329e3b-eb96-4db0-9bb0-27d65a4ecddc.mp3" length="77142272" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Debunking Common Myths About FreeBSD - Part 2, FreeBSD 13.4-RELEASE Announcement, OpenBSD -current has moved to version 7.6, acpidumping,Install snac2 on FreeBSD – An ActivityPub Instance for the Fediverse, Managing dotfiles with chezmoi, Podman testing on FreeBSD, and more</itunes:subtitle>
  <itunes:duration>53:34</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>&lt;p&gt;Debunking Common Myths About FreeBSD - Part 2, FreeBSD 13.4-RELEASE Announcement, OpenBSD -current has moved to version 7.6, acpidumping,Install snac2 on FreeBSD – An ActivityPub Instance for the Fediverse, Managing dotfiles with chezmoi, Podman testing on FreeBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/debunking-common-myths-about-freebsd-2/?utm_source=BSD%20Now&amp;amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener"&gt;Debunking Common Myths About FreeBSD - Part 2&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.freebsd.org/releases/13.4R/announce/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13.4-RELEASE Announcement&lt;/a&gt;&lt;br&gt;
&lt;a href="https://bsdsec.net/articles/freebsd-14-0-end-of-life" target="_blank" rel="nofollow noopener"&gt;FreeBSD 14.0 end-of-life&lt;/a&gt; - You should have upgraded to 14.1 by now&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20240918052239" target="_blank" rel="nofollow noopener"&gt;OpenBSD -current has moved to version 7.6&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://adventurist.me/posts/00325" target="_blank" rel="nofollow noopener"&gt;acpidumping&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://gyptazy.com/install-snac2-on-freebsd-an-activitypub-instance-for-the-fediverse/" target="_blank" rel="nofollow noopener"&gt;Install snac2 on FreeBSD – An ActivityPub Instance for the Fediverse&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/07/22/install-uptime-kuma-freebsd-jail/" target="_blank" rel="nofollow noopener"&gt;Installing Uptime-Kuma on a FreeBSD Jail&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://stoddart.github.io/2024/09/08/managing-dotfiles-with-chezmoi.html" target="_blank" rel="nofollow noopener"&gt;Managing dotfiles with chezmoi&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/oci-playground/freebsd-podman-testing" target="_blank" rel="nofollow noopener"&gt;Podman testing on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Undeadly Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20240921181110" target="_blank" rel="nofollow noopener"&gt;OpenSSH 9.9 released!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20240924105732" target="_blank" rel="nofollow noopener"&gt;OpenBSD now enforcing no invalid NUL characters in shell scripts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20240924092154" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2024 presentations are now up&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/581/feedback/rel4x%20-%20Secure%20by%20default.md" target="_blank" rel="nofollow noopener"&gt;rel4x - Secure by default&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, common myths, debunking, acpiduming, snac2, activitypub, fediverse, dotfiles, chezmoi, podman, testing</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Debunking Common Myths About FreeBSD - Part 2, FreeBSD 13.4-RELEASE Announcement, OpenBSD -current has moved to version 7.6, acpidumping,Install snac2 on FreeBSD – An ActivityPub Instance for the Fediverse, Managing dotfiles with chezmoi, Podman testing on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/debunking-common-myths-about-freebsd-2/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Debunking Common Myths About FreeBSD - Part 2</a></p>

<hr>

<p><a href="https://www.freebsd.org/releases/13.4R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 13.4-RELEASE Announcement</a><br>
<a href="https://bsdsec.net/articles/freebsd-14-0-end-of-life" target="_blank" rel="nofollow noopener">FreeBSD 14.0 end-of-life</a> - You should have upgraded to 14.1 by now</p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20240918052239" target="_blank" rel="nofollow noopener">OpenBSD -current has moved to version 7.6</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://adventurist.me/posts/00325" target="_blank" rel="nofollow noopener">acpidumping</a></p>

<hr>

<p><a href="https://gyptazy.com/install-snac2-on-freebsd-an-activitypub-instance-for-the-fediverse/" target="_blank" rel="nofollow noopener">Install snac2 on FreeBSD – An ActivityPub Instance for the Fediverse</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/07/22/install-uptime-kuma-freebsd-jail/" target="_blank" rel="nofollow noopener">Installing Uptime-Kuma on a FreeBSD Jail</a></p>

<hr>

<p><a href="https://stoddart.github.io/2024/09/08/managing-dotfiles-with-chezmoi.html" target="_blank" rel="nofollow noopener">Managing dotfiles with chezmoi</a></p>

<hr>

<p><a href="https://github.com/oci-playground/freebsd-podman-testing" target="_blank" rel="nofollow noopener">Podman testing on FreeBSD</a></p>

<hr>

<h2>Undeadly Bits</h2>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20240921181110" target="_blank" rel="nofollow noopener">OpenSSH 9.9 released!</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20240924105732" target="_blank" rel="nofollow noopener">OpenBSD now enforcing no invalid NUL characters in shell scripts</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20240924092154" target="_blank" rel="nofollow noopener">EuroBSDCon 2024 presentations are now up</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/581/feedback/rel4x%20-%20Secure%20by%20default.md" target="_blank" rel="nofollow noopener">rel4x - Secure by default</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Debunking Common Myths About FreeBSD - Part 2, FreeBSD 13.4-RELEASE Announcement, OpenBSD -current has moved to version 7.6, acpidumping,Install snac2 on FreeBSD – An ActivityPub Instance for the Fediverse, Managing dotfiles with chezmoi, Podman testing on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/debunking-common-myths-about-freebsd-2/?utm_source=BSD%20Now&amp;utm_medium=Podcast" target="_blank" rel="nofollow noopener">Debunking Common Myths About FreeBSD - Part 2</a></p>

<hr>

<p><a href="https://www.freebsd.org/releases/13.4R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 13.4-RELEASE Announcement</a><br>
<a href="https://bsdsec.net/articles/freebsd-14-0-end-of-life" target="_blank" rel="nofollow noopener">FreeBSD 14.0 end-of-life</a> - You should have upgraded to 14.1 by now</p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20240918052239" target="_blank" rel="nofollow noopener">OpenBSD -current has moved to version 7.6</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://adventurist.me/posts/00325" target="_blank" rel="nofollow noopener">acpidumping</a></p>

<hr>

<p><a href="https://gyptazy.com/install-snac2-on-freebsd-an-activitypub-instance-for-the-fediverse/" target="_blank" rel="nofollow noopener">Install snac2 on FreeBSD – An ActivityPub Instance for the Fediverse</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/07/22/install-uptime-kuma-freebsd-jail/" target="_blank" rel="nofollow noopener">Installing Uptime-Kuma on a FreeBSD Jail</a></p>

<hr>

<p><a href="https://stoddart.github.io/2024/09/08/managing-dotfiles-with-chezmoi.html" target="_blank" rel="nofollow noopener">Managing dotfiles with chezmoi</a></p>

<hr>

<p><a href="https://github.com/oci-playground/freebsd-podman-testing" target="_blank" rel="nofollow noopener">Podman testing on FreeBSD</a></p>

<hr>

<h2>Undeadly Bits</h2>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20240921181110" target="_blank" rel="nofollow noopener">OpenSSH 9.9 released!</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20240924105732" target="_blank" rel="nofollow noopener">OpenBSD now enforcing no invalid NUL characters in shell scripts</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20240924092154" target="_blank" rel="nofollow noopener">EuroBSDCon 2024 presentations are now up</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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/581/feedback/rel4x%20-%20Secure%20by%20default.md" target="_blank" rel="nofollow noopener">rel4x - Secure by default</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>580: EuroBSDcon 2024 - Part 2</title>
  <link>https://www.bsdnow.tv/580</link>
  <guid isPermaLink="false">a994539c-8d64-4bca-904d-9e2a5c7e07ae</guid>
  <pubDate>Thu, 10 Oct 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a994539c-8d64-4bca-904d-9e2a5c7e07ae.mp3" length="58487040" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Jason is still on location at EuroBSDcon getting interviews with those in the BSD Community.</itunes:subtitle>
  <itunes:duration>1:00:55</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>&lt;p&gt;Jason is still on location at EuroBSDcon getting interviews with those in the BSD Community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Interviews&lt;/h2&gt;

&lt;h3&gt;Colin Percival&lt;/h3&gt;

&lt;h3&gt;Andrew Hewus&lt;/h3&gt;

&lt;h3&gt;Wolfgang&lt;/h3&gt;

&lt;h3&gt;Liam Proven&lt;/h3&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Jason is still on location at EuroBSDcon getting interviews with those in the BSD Community.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Interviews</h2>

<h3>Colin Percival</h3>

<h3>Andrew Hewus</h3>

<h3>Wolfgang</h3>

<h3>Liam Proven</h3>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Jason is still on location at EuroBSDcon getting interviews with those in the BSD Community.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Interviews</h2>

<h3>Colin Percival</h3>

<h3>Andrew Hewus</h3>

<h3>Wolfgang</h3>

<h3>Liam Proven</h3>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>579: EuroBSDcon 2024</title>
  <link>https://www.bsdnow.tv/579</link>
  <guid isPermaLink="false">22c6b8d0-ef8b-4925-b6a7-ea8a666dec26</guid>
  <pubDate>Thu, 03 Oct 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/22c6b8d0-ef8b-4925-b6a7-ea8a666dec26.mp3" length="54336384" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Jason is on location at EuroBSDcon getting interviews with those in the BSD Community.</itunes:subtitle>
  <itunes:duration>56:36</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>&lt;p&gt;Jason is on location at EuroBSDcon getting interviews with those in the BSD Community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Interviews&lt;/h2&gt;

&lt;h3&gt;Vanja Cvelbar&lt;/h3&gt;

&lt;h3&gt;Stefano Marinelli&lt;/h3&gt;

&lt;h3&gt;Dave Cottlehuber&lt;/h3&gt;

&lt;h3&gt;Christos Margiolis&lt;/h3&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;

&lt;p&gt;Jason is on location at EuroBSDcon getting interviews with those in the BSD Community. &lt;/p&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Jason is on location at EuroBSDcon getting interviews with those in the BSD Community.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Interviews</h2>

<h3>Vanja Cvelbar</h3>

<h3>Stefano Marinelli</h3>

<h3>Dave Cottlehuber</h3>

<h3>Christos Margiolis</h3>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>

<p>Jason is on location at EuroBSDcon getting interviews with those in the BSD Community.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Jason is on location at EuroBSDcon getting interviews with those in the BSD Community.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Interviews</h2>

<h3>Vanja Cvelbar</h3>

<h3>Stefano Marinelli</h3>

<h3>Dave Cottlehuber</h3>

<h3>Christos Margiolis</h3>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>

<p>Jason is on location at EuroBSDcon getting interviews with those in the BSD Community.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>578: KVM, but Smol</title>
  <link>https://www.bsdnow.tv/578</link>
  <guid isPermaLink="false">9ccb83c4-7aca-44f6-85bd-8e3e3487f781</guid>
  <pubDate>Thu, 26 Sep 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9ccb83c4-7aca-44f6-85bd-8e3e3487f781.mp3" length="55824384" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Limiting Process Priority in a FreeBSD Jail, Why You Should Use FreeBSD, The web fun fact that domains can end in dots and canonicalization failures, Replacing postfix with dma + auth, modern unix tool list, Smol KVM, The Computers of Voyager</itunes:subtitle>
  <itunes:duration>58:09</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>&lt;p&gt;Limiting Process Priority in a FreeBSD Jail, Why You Should Use FreeBSD, The web fun fact that domains can end in dots and canonicalization failures, Replacing postfix with dma + auth, modern unix tool list, Smol KVM, The Computers of Voyager&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/07/11/limiting-process-priority-in-freebsd-jail/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Tips and Tricks: Limiting Process Priority in a FreeBSD Jail&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/why-you-should-use-freebsd/" target="_blank" rel="nofollow noopener"&gt;Why You Should Use FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/web/DomainDotsAndCanonicalization" target="_blank" rel="nofollow noopener"&gt;The web fun fact that domains can end in dots and canonicalization failures&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dan.langille.org/2024/08/02/replacing-postfix-with-dma-auth/" target="_blank" rel="nofollow noopener"&gt;Replacing postfix with dma + auth&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://notes.billmill.org/computer_usage/cli_tips_and_tools/modern_unix_tool_list.html" target="_blank" rel="nofollow noopener"&gt;modern unix tool list&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://adventurist.me/posts/00324" target="_blank" rel="nofollow noopener"&gt;Smol KVM&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://hackaday.com/2024/05/06/the-computers-of-voyager/" target="_blank" rel="nofollow noopener"&gt;The Computers of Voyager&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20240824114631" target="_blank" rel="nofollow noopener"&gt;No unmodified files remain from original import of OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20240814053159" target="_blank" rel="nofollow noopener"&gt;The BSDCan 2024 Playlist is now complete&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20240727110501" target="_blank" rel="nofollow noopener"&gt;UDP parallel input committed to -current&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.exaequos.com" target="_blank" rel="nofollow noopener"&gt;Your browser is your Computer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://defrag98.com" target="_blank" rel="nofollow noopener"&gt;For the member-berries&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, limiting process priority, fun fact, domain, canonicalization, postfix, dma, unix tool list, kvm, voyager</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Limiting Process Priority in a FreeBSD Jail, Why You Should Use FreeBSD, The web fun fact that domains can end in dots and canonicalization failures, Replacing postfix with dma + auth, modern unix tool list, Smol KVM, The Computers of Voyager</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://it-notes.dragas.net/2024/07/11/limiting-process-priority-in-freebsd-jail/" target="_blank" rel="nofollow noopener">FreeBSD Tips and Tricks: Limiting Process Priority in a FreeBSD Jail</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/why-you-should-use-freebsd/" target="_blank" rel="nofollow noopener">Why You Should Use FreeBSD</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/web/DomainDotsAndCanonicalization" target="_blank" rel="nofollow noopener">The web fun fact that domains can end in dots and canonicalization failures</a></p>

<hr>

<p><a href="https://dan.langille.org/2024/08/02/replacing-postfix-with-dma-auth/" target="_blank" rel="nofollow noopener">Replacing postfix with dma + auth</a></p>

<hr>

<p><a href="https://notes.billmill.org/computer_usage/cli_tips_and_tools/modern_unix_tool_list.html" target="_blank" rel="nofollow noopener">modern unix tool list</a></p>

<hr>

<p><a href="https://adventurist.me/posts/00324" target="_blank" rel="nofollow noopener">Smol KVM</a></p>

<hr>

<p><a href="https://hackaday.com/2024/05/06/the-computers-of-voyager/" target="_blank" rel="nofollow noopener">The Computers of Voyager</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20240824114631" target="_blank" rel="nofollow noopener">No unmodified files remain from original import of OpenBSD</a></li>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20240814053159" target="_blank" rel="nofollow noopener">The BSDCan 2024 Playlist is now complete</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20240727110501" target="_blank" rel="nofollow noopener">UDP parallel input committed to -current</a></li>
<li><a href="https://www.exaequos.com" target="_blank" rel="nofollow noopener">Your browser is your Computer</a></li>
<li><a href="https://defrag98.com" target="_blank" rel="nofollow noopener">For the member-berries</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Limiting Process Priority in a FreeBSD Jail, Why You Should Use FreeBSD, The web fun fact that domains can end in dots and canonicalization failures, Replacing postfix with dma + auth, modern unix tool list, Smol KVM, The Computers of Voyager</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://it-notes.dragas.net/2024/07/11/limiting-process-priority-in-freebsd-jail/" target="_blank" rel="nofollow noopener">FreeBSD Tips and Tricks: Limiting Process Priority in a FreeBSD Jail</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/why-you-should-use-freebsd/" target="_blank" rel="nofollow noopener">Why You Should Use FreeBSD</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/web/DomainDotsAndCanonicalization" target="_blank" rel="nofollow noopener">The web fun fact that domains can end in dots and canonicalization failures</a></p>

<hr>

<p><a href="https://dan.langille.org/2024/08/02/replacing-postfix-with-dma-auth/" target="_blank" rel="nofollow noopener">Replacing postfix with dma + auth</a></p>

<hr>

<p><a href="https://notes.billmill.org/computer_usage/cli_tips_and_tools/modern_unix_tool_list.html" target="_blank" rel="nofollow noopener">modern unix tool list</a></p>

<hr>

<p><a href="https://adventurist.me/posts/00324" target="_blank" rel="nofollow noopener">Smol KVM</a></p>

<hr>

<p><a href="https://hackaday.com/2024/05/06/the-computers-of-voyager/" target="_blank" rel="nofollow noopener">The Computers of Voyager</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20240824114631" target="_blank" rel="nofollow noopener">No unmodified files remain from original import of OpenBSD</a></li>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20240814053159" target="_blank" rel="nofollow noopener">The BSDCan 2024 Playlist is now complete</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20240727110501" target="_blank" rel="nofollow noopener">UDP parallel input committed to -current</a></li>
<li><a href="https://www.exaequos.com" target="_blank" rel="nofollow noopener">Your browser is your Computer</a></li>
<li><a href="https://defrag98.com" target="_blank" rel="nofollow noopener">For the member-berries</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>577: Multi-Threaded LZ4</title>
  <link>https://www.bsdnow.tv/577</link>
  <guid isPermaLink="false">ceb7dc79-e714-4083-b2c3-51e9e247b8ea</guid>
  <pubDate>Thu, 19 Sep 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ceb7dc79-e714-4083-b2c3-51e9e247b8ea.mp3" length="57201024" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>New Host Introduction 🤭, From Bridging to Routing With FreeBSD, Sovereign Tech Fund to Invest €686,400 in FreeBSD Infrastructure Modernization, The Dying Computer Museum, In practice, abstractions hide their underlying details, LZ4 Compression Algorithm Gets Multi-Threaded Update, Using Windows or Linux on FreeBSD's vm-bhyve, and more</itunes:subtitle>
  <itunes:duration>59:35</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>&lt;p&gt;New Host Introduction 🤭, From Bridging to Routing With FreeBSD, Sovereign Tech Fund to Invest €686,400 in FreeBSD Infrastructure Modernization, The Dying Computer Museum, In practice, abstractions hide their underlying details, LZ4 Compression Algorithm Gets Multi-Threaded Update, Using Windows or Linux on FreeBSD's vm-bhyve, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;[New Host Introduction]&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/08/01/evolving-bsd-cafe-from-bridging-to-routing/" target="_blank" rel="nofollow noopener"&gt;Evolving the BSD Cafe Network Setup: From Bridging to Routing With FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/sovereign-tech-fund-to-invest-e686400-in-freebsd-infrastructure-modernization/" target="_blank" rel="nofollow noopener"&gt;Sovereign Tech Fund to Invest €686,400 in FreeBSD Infrastructure Modernization&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://ascii.textfiles.com/archives/5672" target="_blank" rel="nofollow noopener"&gt;The Dying Computer Museum&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/AbstractionsHideUnderlyingDetails" target="_blank" rel="nofollow noopener"&gt;In practice, abstractions hide their underlying details&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://hardware.slashdot.org/story/24/07/28/0057247/lz4-compression-algorithm-gets-multi-threaded-update" target="_blank" rel="nofollow noopener"&gt;LZ4 Compression Algorithm Gets Multi-Threaded Update&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://srobb.net/vm-bhyve.html" target="_blank" rel="nofollow noopener"&gt;Using Windows or Linux on FreeBSD's vm-bhyve&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/577/feedback/Derek%20-%20Thanks.md" target="_blank" rel="nofollow noopener"&gt;https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/577/feedback/Derek%20-%20Thanks.md&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Join us and other BSD Fans in our &lt;a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSD Now Telegram channel&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</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, bridging, routing, sovereign tech fund, stf, investment, Infrastructure Modernization, dying computer museum, abstractions, lz4, compression, Algorithm, multi-threaded, vm-bhyve</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>New Host Introduction 🤭, From Bridging to Routing With FreeBSD, Sovereign Tech Fund to Invest €686,400 in FreeBSD Infrastructure Modernization, The Dying Computer Museum, In practice, abstractions hide their underlying details, LZ4 Compression Algorithm Gets Multi-Threaded Update, Using Windows or Linux on FreeBSD's vm-bhyve, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p>[New Host Introduction]</p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/08/01/evolving-bsd-cafe-from-bridging-to-routing/" target="_blank" rel="nofollow noopener">Evolving the BSD Cafe Network Setup: From Bridging to Routing With FreeBSD</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/sovereign-tech-fund-to-invest-e686400-in-freebsd-infrastructure-modernization/" target="_blank" rel="nofollow noopener">Sovereign Tech Fund to Invest €686,400 in FreeBSD Infrastructure Modernization</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://ascii.textfiles.com/archives/5672" target="_blank" rel="nofollow noopener">The Dying Computer Museum</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/AbstractionsHideUnderlyingDetails" target="_blank" rel="nofollow noopener">In practice, abstractions hide their underlying details</a></p>

<hr>

<p><a href="https://hardware.slashdot.org/story/24/07/28/0057247/lz4-compression-algorithm-gets-multi-threaded-update" target="_blank" rel="nofollow noopener">LZ4 Compression Algorithm Gets Multi-Threaded Update</a></p>

<hr>

<p><a href="https://srobb.net/vm-bhyve.html" target="_blank" rel="nofollow noopener">Using Windows or Linux on FreeBSD's vm-bhyve</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/577/feedback/Derek%20-%20Thanks.md" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/577/feedback/Derek%20-%20Thanks.md</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>New Host Introduction 🤭, From Bridging to Routing With FreeBSD, Sovereign Tech Fund to Invest €686,400 in FreeBSD Infrastructure Modernization, The Dying Computer Museum, In practice, abstractions hide their underlying details, LZ4 Compression Algorithm Gets Multi-Threaded Update, Using Windows or Linux on FreeBSD's vm-bhyve, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p>[New Host Introduction]</p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/08/01/evolving-bsd-cafe-from-bridging-to-routing/" target="_blank" rel="nofollow noopener">Evolving the BSD Cafe Network Setup: From Bridging to Routing With FreeBSD</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/sovereign-tech-fund-to-invest-e686400-in-freebsd-infrastructure-modernization/" target="_blank" rel="nofollow noopener">Sovereign Tech Fund to Invest €686,400 in FreeBSD Infrastructure Modernization</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://ascii.textfiles.com/archives/5672" target="_blank" rel="nofollow noopener">The Dying Computer Museum</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/AbstractionsHideUnderlyingDetails" target="_blank" rel="nofollow noopener">In practice, abstractions hide their underlying details</a></p>

<hr>

<p><a href="https://hardware.slashdot.org/story/24/07/28/0057247/lz4-compression-algorithm-gets-multi-threaded-update" target="_blank" rel="nofollow noopener">LZ4 Compression Algorithm Gets Multi-Threaded Update</a></p>

<hr>

<p><a href="https://srobb.net/vm-bhyve.html" target="_blank" rel="nofollow noopener">Using Windows or Linux on FreeBSD's vm-bhyve</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/577/feedback/Derek%20-%20Thanks.md" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/577/feedback/Derek%20-%20Thanks.md</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>576: The Forever Workaround</title>
  <link>https://www.bsdnow.tv/576</link>
  <guid isPermaLink="false">d7fcf7cf-acc7-48a6-955f-7eaf8ebe4f52</guid>
  <pubDate>Thu, 12 Sep 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d7fcf7cf-acc7-48a6-955f-7eaf8ebe4f52.mp3" length="59358336" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>From Cloud Chaos to FreeBSD Efficiency, August 2024 Foundation Update, Email encryption at rest on OpenBSD using dovecot and GPG, Workarounds are often forever (unless you work to make them otherwise), Remote Desktop using RDP and VNC, Iconography of the X Window System: The Boot Stipple, Plan 9 is a Uniquely Complete Operating System, and more</itunes:subtitle>
  <itunes:duration>1:01: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>&lt;p&gt;From Cloud Chaos to FreeBSD Efficiency, August 2024 Foundation Update, Email encryption at rest on OpenBSD using dovecot and GPG, Workarounds are often forever (unless you work to make them otherwise), Remote Desktop using RDP and VNC, Iconography of the X Window System: The Boot Stipple, Plan 9 is a Uniquely Complete Operating System, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/07/04/from-cloud-chaos-to-freebsd-efficiency/" target="_blank" rel="nofollow noopener"&gt;From Cloud Chaos to FreeBSD Efficiency&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/news-and-events/newsletter/august-2024-foundation-update/" target="_blank" rel="nofollow noopener"&gt;August 2024 Foundation Update&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2024-08-14-automatic-emails-gpg-encryption-at-rest.html" target="_blank" rel="nofollow noopener"&gt;Emails encryption at rest on OpenBSD using dovecot and GPG&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/WorkaroundsAreForeverByDefault" target="_blank" rel="nofollow noopener"&gt;Workarounds are often forever (unless you work to make them otherwise)&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2024/remote-desktop-using-rdp-and-vnc/" target="_blank" rel="nofollow noopener"&gt;Remote Desktop using RDP and VNC&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://matttproud.com/blog/posts/x-window-system-boot-stipple.html" target="_blank" rel="nofollow noopener"&gt;Iconography of the X Window System: The Boot Stipple&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://posixcafe.org/blogs/2024/07/27/0/" target="_blank" rel="nofollow noopener"&gt;Plan 9 is a Uniquely Complete Operating System&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, cloud, chaos, efficiency, encryption at rest, dovecot, GPG, workarounds, remote desktop, rdp, vnc, iconography, boot stipple, plan 9</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>From Cloud Chaos to FreeBSD Efficiency, August 2024 Foundation Update, Email encryption at rest on OpenBSD using dovecot and GPG, Workarounds are often forever (unless you work to make them otherwise), Remote Desktop using RDP and VNC, Iconography of the X Window System: The Boot Stipple, Plan 9 is a Uniquely Complete Operating System, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://it-notes.dragas.net/2024/07/04/from-cloud-chaos-to-freebsd-efficiency/" target="_blank" rel="nofollow noopener">From Cloud Chaos to FreeBSD Efficiency</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/news-and-events/newsletter/august-2024-foundation-update/" target="_blank" rel="nofollow noopener">August 2024 Foundation Update</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dataswamp.org/%7Esolene/2024-08-14-automatic-emails-gpg-encryption-at-rest.html" target="_blank" rel="nofollow noopener">Emails encryption at rest on OpenBSD using dovecot and GPG</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/WorkaroundsAreForeverByDefault" target="_blank" rel="nofollow noopener">Workarounds are often forever (unless you work to make them otherwise)</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/remote-desktop-using-rdp-and-vnc/" target="_blank" rel="nofollow noopener">Remote Desktop using RDP and VNC</a></p>

<hr>

<p><a href="https://matttproud.com/blog/posts/x-window-system-boot-stipple.html" target="_blank" rel="nofollow noopener">Iconography of the X Window System: The Boot Stipple</a></p>

<hr>

<p><a href="https://posixcafe.org/blogs/2024/07/27/0/" target="_blank" rel="nofollow noopener">Plan 9 is a Uniquely Complete Operating System</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>From Cloud Chaos to FreeBSD Efficiency, August 2024 Foundation Update, Email encryption at rest on OpenBSD using dovecot and GPG, Workarounds are often forever (unless you work to make them otherwise), Remote Desktop using RDP and VNC, Iconography of the X Window System: The Boot Stipple, Plan 9 is a Uniquely Complete Operating System, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://it-notes.dragas.net/2024/07/04/from-cloud-chaos-to-freebsd-efficiency/" target="_blank" rel="nofollow noopener">From Cloud Chaos to FreeBSD Efficiency</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/news-and-events/newsletter/august-2024-foundation-update/" target="_blank" rel="nofollow noopener">August 2024 Foundation Update</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dataswamp.org/%7Esolene/2024-08-14-automatic-emails-gpg-encryption-at-rest.html" target="_blank" rel="nofollow noopener">Emails encryption at rest on OpenBSD using dovecot and GPG</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/WorkaroundsAreForeverByDefault" target="_blank" rel="nofollow noopener">Workarounds are often forever (unless you work to make them otherwise)</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/remote-desktop-using-rdp-and-vnc/" target="_blank" rel="nofollow noopener">Remote Desktop using RDP and VNC</a></p>

<hr>

<p><a href="https://matttproud.com/blog/posts/x-window-system-boot-stipple.html" target="_blank" rel="nofollow noopener">Iconography of the X Window System: The Boot Stipple</a></p>

<hr>

<p><a href="https://posixcafe.org/blogs/2024/07/27/0/" target="_blank" rel="nofollow noopener">Plan 9 is a Uniquely Complete Operating System</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>575: Missing BSD/Linux</title>
  <link>https://www.bsdnow.tv/575</link>
  <guid isPermaLink="false">3c950f6d-fcf3-4fdf-a58b-df606f01192c</guid>
  <pubDate>Thu, 05 Sep 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3c950f6d-fcf3-4fdf-a58b-df606f01192c.mp3" length="49908864" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>X Window System At 40, Lessons from Ancient File Systems, HardenedBSD July 2024 Status Report, FreeBSD's 'root on ZFS' is appealing, I Miss BSD/Linux, Simple automated deployments using git</itunes:subtitle>
  <itunes:duration>51:59</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>&lt;p&gt;X Window System At 40, Lessons from Ancient File Systems, HardenedBSD July 2024 Status Report, FreeBSD's 'root on ZFS' is appealing, I Miss BSD/Linux, Simple automated deployments using git&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://blog.dshr.org/2024/07/x-window-system-at-40.html" target="_blank" rel="nofollow noopener"&gt;X Window System At 40&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://madcompiler.blogspot.com/2024/02/lessons-from-ancient-file-systems.html" target="_blank" rel="nofollow noopener"&gt;Lessons from Ancient File Systems&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2024-08-03/hardenedbsd-july-2024-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD July 2024 Status Report&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/FreeBSDZFSRootAppeal" target="_blank" rel="nofollow noopener"&gt;FreeBSD's 'root on ZFS' default appeals to me for an odd reason&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://brainbaking.com/post/2024/05/i-miss-bsd-linux/" target="_blank" rel="nofollow noopener"&gt;I Miss BSD/Linux&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://garrido.io/notes/simple-automated-deployments-git-push/" target="_blank" rel="nofollow noopener"&gt;Simple automated deployments using git push&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://2024.eurobsdcon.org" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2024&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/23731" target="_blank" rel="nofollow noopener"&gt;Ebook of “Run Your Own Mail Server” off to early backers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://computeradsfromthepast.substack.com/p/interactive-unix" target="_blank" rel="nofollow noopener"&gt;Interactive UNIX&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, x window system, ancient file systems, status report, root on zfs, automated, deployments, git push</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>X Window System At 40, Lessons from Ancient File Systems, HardenedBSD July 2024 Status Report, FreeBSD's 'root on ZFS' is appealing, I Miss BSD/Linux, Simple automated deployments using git</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://blog.dshr.org/2024/07/x-window-system-at-40.html" target="_blank" rel="nofollow noopener">X Window System At 40</a></p>

<hr>

<p><a href="https://madcompiler.blogspot.com/2024/02/lessons-from-ancient-file-systems.html" target="_blank" rel="nofollow noopener">Lessons from Ancient File Systems</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://hardenedbsd.org/article/shawn-webb/2024-08-03/hardenedbsd-july-2024-status-report" target="_blank" rel="nofollow noopener">HardenedBSD July 2024 Status Report</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/FreeBSDZFSRootAppeal" target="_blank" rel="nofollow noopener">FreeBSD's 'root on ZFS' default appeals to me for an odd reason</a></p>

<hr>

<p><a href="https://brainbaking.com/post/2024/05/i-miss-bsd-linux/" target="_blank" rel="nofollow noopener">I Miss BSD/Linux</a></p>

<hr>

<p><a href="https://garrido.io/notes/simple-automated-deployments-git-push/" target="_blank" rel="nofollow noopener">Simple automated deployments using git push</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://2024.eurobsdcon.org" target="_blank" rel="nofollow noopener">EuroBSDCon 2024</a></li>
<li><a href="https://mwl.io/archives/23731" target="_blank" rel="nofollow noopener">Ebook of “Run Your Own Mail Server” off to early backers</a></li>
<li><a href="https://computeradsfromthepast.substack.com/p/interactive-unix" target="_blank" rel="nofollow noopener">Interactive UNIX</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>X Window System At 40, Lessons from Ancient File Systems, HardenedBSD July 2024 Status Report, FreeBSD's 'root on ZFS' is appealing, I Miss BSD/Linux, Simple automated deployments using git</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://blog.dshr.org/2024/07/x-window-system-at-40.html" target="_blank" rel="nofollow noopener">X Window System At 40</a></p>

<hr>

<p><a href="https://madcompiler.blogspot.com/2024/02/lessons-from-ancient-file-systems.html" target="_blank" rel="nofollow noopener">Lessons from Ancient File Systems</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://hardenedbsd.org/article/shawn-webb/2024-08-03/hardenedbsd-july-2024-status-report" target="_blank" rel="nofollow noopener">HardenedBSD July 2024 Status Report</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/FreeBSDZFSRootAppeal" target="_blank" rel="nofollow noopener">FreeBSD's 'root on ZFS' default appeals to me for an odd reason</a></p>

<hr>

<p><a href="https://brainbaking.com/post/2024/05/i-miss-bsd-linux/" target="_blank" rel="nofollow noopener">I Miss BSD/Linux</a></p>

<hr>

<p><a href="https://garrido.io/notes/simple-automated-deployments-git-push/" target="_blank" rel="nofollow noopener">Simple automated deployments using git push</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://2024.eurobsdcon.org" target="_blank" rel="nofollow noopener">EuroBSDCon 2024</a></li>
<li><a href="https://mwl.io/archives/23731" target="_blank" rel="nofollow noopener">Ebook of “Run Your Own Mail Server” off to early backers</a></li>
<li><a href="https://computeradsfromthepast.substack.com/p/interactive-unix" target="_blank" rel="nofollow noopener">Interactive UNIX</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>574: Hypervisor Determination</title>
  <link>https://www.bsdnow.tv/574</link>
  <guid isPermaLink="false">915df8c4-be34-4de6-b7ad-7c756f7e835f</guid>
  <pubDate>Thu, 29 Aug 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/915df8c4-be34-4de6-b7ad-7c756f7e835f.mp3" length="58220928" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Antithesis: Pioneering Deterministic Hypervisors with FreeBSD and Bhyve, Our slowly growing Unix monoculture, The six dumbest ideas in computer security (2005), Video Edition notes on OpenBSD, Full-featured email server running OpenBSD, ever heard of teaching a case study of Initial Unix?, and more</itunes:subtitle>
  <itunes:duration>1:00:38</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>&lt;p&gt;Antithesis: Pioneering Deterministic Hypervisors with FreeBSD and Bhyve, Our slowly growing Unix monoculture, The six dumbest ideas in computer security (2005), Video Edition notes on OpenBSD, Full-featured email server running OpenBSD, ever heard of teaching a case study of Initial Unix?, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/antithesis-pioneering-deterministic-hypervisors-with-freebsd-and-bhyve/" target="_blank" rel="nofollow noopener"&gt;Antithesis: Pioneering Deterministic Hypervisors with FreeBSD and Bhyve&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/OurGrowingUnixMonoculture" target="_blank" rel="nofollow noopener"&gt;Our slowly growing Unix monoculture&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://ranum.com/security/computer_security/editorials/dumb/index.html" target="_blank" rel="nofollow noopener"&gt;The six dumbest ideas in computer security (2005)&lt;/a&gt; + &lt;a href="https://news.ycombinator.com/item?id=34513806" target="_blank" rel="nofollow noopener"&gt;HN Thread&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2024/video-edition-notes-on-openbsd/" target="_blank" rel="nofollow noopener"&gt;Video Edition notes on OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2024-07-24-openbsd-email-server-setup.html" target="_blank" rel="nofollow noopener"&gt;Full-featured email server running OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tuhs.org/pipermail/tuhs/2024-July/030407.html" target="_blank" rel="nofollow noopener"&gt;Anyone ever heard of teaching a case study of Initial Unix?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;h2&gt;574 - &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/574/feedback/extrowerk%20-%20dumb%20ideas%20in%20computer%20security.md" target="_blank" rel="nofollow noopener"&gt;extrowerk - dumb ideas in computer security&lt;/a&gt;&lt;/h2&gt;

&lt;h2&gt;574 - &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/574/feedback/Ep%20569%3A%20on%20deprecation%20and%20support" target="_blank" rel="nofollow noopener"&gt;Ep 569: on deprecation and support&lt;/a&gt;&lt;/h2&gt;

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

&lt;hr&gt;
</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, antithesis, Deterministic hypervisor, unix monoculture, dumb idea, computer security, video, editing, email server, teaching, case study, initial unix</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Antithesis: Pioneering Deterministic Hypervisors with FreeBSD and Bhyve, Our slowly growing Unix monoculture, The six dumbest ideas in computer security (2005), Video Edition notes on OpenBSD, Full-featured email server running OpenBSD, ever heard of teaching a case study of Initial Unix?, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/antithesis-pioneering-deterministic-hypervisors-with-freebsd-and-bhyve/" target="_blank" rel="nofollow noopener">Antithesis: Pioneering Deterministic Hypervisors with FreeBSD and Bhyve</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/OurGrowingUnixMonoculture" target="_blank" rel="nofollow noopener">Our slowly growing Unix monoculture</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="http://ranum.com/security/computer_security/editorials/dumb/index.html" target="_blank" rel="nofollow noopener">The six dumbest ideas in computer security (2005)</a> + <a href="https://news.ycombinator.com/item?id=34513806" target="_blank" rel="nofollow noopener">HN Thread</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/video-edition-notes-on-openbsd/" target="_blank" rel="nofollow noopener">Video Edition notes on OpenBSD</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-07-24-openbsd-email-server-setup.html" target="_blank" rel="nofollow noopener">Full-featured email server running OpenBSD</a></p>

<hr>

<p><a href="https://www.tuhs.org/pipermail/tuhs/2024-July/030407.html" target="_blank" rel="nofollow noopener">Anyone ever heard of teaching a case study of Initial Unix?</a></p>

<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>

<h2>Feedback/Questions</h2>

<h2>574 - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/574/feedback/extrowerk%20-%20dumb%20ideas%20in%20computer%20security.md" target="_blank" rel="nofollow noopener">extrowerk - dumb ideas in computer security</a></h2>

<h2>574 - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/574/feedback/Ep%20569%3A%20on%20deprecation%20and%20support" target="_blank" rel="nofollow noopener">Ep 569: on deprecation and support</a></h2>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Antithesis: Pioneering Deterministic Hypervisors with FreeBSD and Bhyve, Our slowly growing Unix monoculture, The six dumbest ideas in computer security (2005), Video Edition notes on OpenBSD, Full-featured email server running OpenBSD, ever heard of teaching a case study of Initial Unix?, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/antithesis-pioneering-deterministic-hypervisors-with-freebsd-and-bhyve/" target="_blank" rel="nofollow noopener">Antithesis: Pioneering Deterministic Hypervisors with FreeBSD and Bhyve</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/OurGrowingUnixMonoculture" target="_blank" rel="nofollow noopener">Our slowly growing Unix monoculture</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="http://ranum.com/security/computer_security/editorials/dumb/index.html" target="_blank" rel="nofollow noopener">The six dumbest ideas in computer security (2005)</a> + <a href="https://news.ycombinator.com/item?id=34513806" target="_blank" rel="nofollow noopener">HN Thread</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/video-edition-notes-on-openbsd/" target="_blank" rel="nofollow noopener">Video Edition notes on OpenBSD</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-07-24-openbsd-email-server-setup.html" target="_blank" rel="nofollow noopener">Full-featured email server running OpenBSD</a></p>

<hr>

<p><a href="https://www.tuhs.org/pipermail/tuhs/2024-July/030407.html" target="_blank" rel="nofollow noopener">Anyone ever heard of teaching a case study of Initial Unix?</a></p>

<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>

<h2>Feedback/Questions</h2>

<h2>574 - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/574/feedback/extrowerk%20-%20dumb%20ideas%20in%20computer%20security.md" target="_blank" rel="nofollow noopener">extrowerk - dumb ideas in computer security</a></h2>

<h2>574 - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/574/feedback/Ep%20569%3A%20on%20deprecation%20and%20support" target="_blank" rel="nofollow noopener">Ep 569: on deprecation and support</a></h2>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>573: Kyua Graduation</title>
  <link>https://www.bsdnow.tv/573</link>
  <guid isPermaLink="false">aec16048-9802-4728-a4b9-33cacc3e00c3</guid>
  <pubDate>Thu, 22 Aug 2024 08:30:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/aec16048-9802-4728-a4b9-33cacc3e00c3.mp3" length="52131072" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>What Would It Take to Recreate Bell Labs?, Human Scale Software vs Open Source, How to run Visual Studio (VS) Code Remote over SSH on FreeBSD 13 and 14, Why are some emails from Charlie Root and others are from root?, Backward compatibility has real costs even for settings, Kyua graduates, and more</itunes:subtitle>
  <itunes:duration>54:18</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>&lt;p&gt;What Would It Take to Recreate Bell Labs?, Human Scale Software vs Open Source, How to run Visual Studio (VS) Code Remote over SSH on FreeBSD 13 and 14, Why are some emails from Charlie Root and others are from root?, Backward compatibility has real costs even for settings, Kyua graduates, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.construction-physics.com/p/what-would-it-take-to-recreate-bell" target="_blank" rel="nofollow noopener"&gt;What Would It Take to Recreate Bell Labs?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://posixcafe.org/blogs/2024/07/31/0/" target="_blank" rel="nofollow noopener"&gt;Human Scale Software vs Open Source&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://group.miletic.net/en/blog/2024-06-14-how-to-run-visual-studio-vs-code-remote-over-ssh-on-freebsd-13-and-14" target="_blank" rel="nofollow noopener"&gt;How to run Visual Studio (VS) Code Remote over SSH on FreeBSD 13 and 14&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dan.langille.org/2024/07/27/why-are-some-emails-from-charlie-root-and-others-are-from-root/" target="_blank" rel="nofollow noopener"&gt;Why are some emails from Charlie Root and others are from root?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/programming/BackwardCompatibilityHasCosts" target="_blank" rel="nofollow noopener"&gt;Backward compatibility, even for settings, has real costs&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://jmmv.dev/2024/08/kyua-graduates.html" target="_blank" rel="nofollow noopener"&gt;Kyua graduates&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;573 - &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/573/feedback/Vedran%20-%20linuxulator" target="_blank" rel="nofollow noopener"&gt;Vedran - linuxulator&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, bell labs, recreate, human scale software, visual studio code, remote, ssh, email, charlie root, backward compatibility, kyua, test framework, testing</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>What Would It Take to Recreate Bell Labs?, Human Scale Software vs Open Source, How to run Visual Studio (VS) Code Remote over SSH on FreeBSD 13 and 14, Why are some emails from Charlie Root and others are from root?, Backward compatibility has real costs even for settings, Kyua graduates, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.construction-physics.com/p/what-would-it-take-to-recreate-bell" target="_blank" rel="nofollow noopener">What Would It Take to Recreate Bell Labs?</a></p>

<hr>

<p><a href="https://posixcafe.org/blogs/2024/07/31/0/" target="_blank" rel="nofollow noopener">Human Scale Software vs Open Source</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://group.miletic.net/en/blog/2024-06-14-how-to-run-visual-studio-vs-code-remote-over-ssh-on-freebsd-13-and-14" target="_blank" rel="nofollow noopener">How to run Visual Studio (VS) Code Remote over SSH on FreeBSD 13 and 14</a></p>

<hr>

<p><a href="https://dan.langille.org/2024/07/27/why-are-some-emails-from-charlie-root-and-others-are-from-root/" target="_blank" rel="nofollow noopener">Why are some emails from Charlie Root and others are from root?</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/programming/BackwardCompatibilityHasCosts" target="_blank" rel="nofollow noopener">Backward compatibility, even for settings, has real costs</a></p>

<hr>

<p><a href="https://jmmv.dev/2024/08/kyua-graduates.html" target="_blank" rel="nofollow noopener">Kyua graduates</a></p>

<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>

<h2>Feedback/Questions</h2>

<p>573 - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/573/feedback/Vedran%20-%20linuxulator" target="_blank" rel="nofollow noopener">Vedran - linuxulator</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>What Would It Take to Recreate Bell Labs?, Human Scale Software vs Open Source, How to run Visual Studio (VS) Code Remote over SSH on FreeBSD 13 and 14, Why are some emails from Charlie Root and others are from root?, Backward compatibility has real costs even for settings, Kyua graduates, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.construction-physics.com/p/what-would-it-take-to-recreate-bell" target="_blank" rel="nofollow noopener">What Would It Take to Recreate Bell Labs?</a></p>

<hr>

<p><a href="https://posixcafe.org/blogs/2024/07/31/0/" target="_blank" rel="nofollow noopener">Human Scale Software vs Open Source</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://group.miletic.net/en/blog/2024-06-14-how-to-run-visual-studio-vs-code-remote-over-ssh-on-freebsd-13-and-14" target="_blank" rel="nofollow noopener">How to run Visual Studio (VS) Code Remote over SSH on FreeBSD 13 and 14</a></p>

<hr>

<p><a href="https://dan.langille.org/2024/07/27/why-are-some-emails-from-charlie-root-and-others-are-from-root/" target="_blank" rel="nofollow noopener">Why are some emails from Charlie Root and others are from root?</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/programming/BackwardCompatibilityHasCosts" target="_blank" rel="nofollow noopener">Backward compatibility, even for settings, has real costs</a></p>

<hr>

<p><a href="https://jmmv.dev/2024/08/kyua-graduates.html" target="_blank" rel="nofollow noopener">Kyua graduates</a></p>

<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>

<h2>Feedback/Questions</h2>

<p>573 - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/573/feedback/Vedran%20-%20linuxulator" target="_blank" rel="nofollow noopener">Vedran - linuxulator</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>572: Where's my backup?</title>
  <link>https://www.bsdnow.tv/572</link>
  <guid isPermaLink="false">a12099e3-91b5-4c50-bfd6-6c4e80cbbefb</guid>
  <pubDate>Thu, 15 Aug 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a12099e3-91b5-4c50-bfd6-6c4e80cbbefb.mp3" length="57835776" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD Workstation for the People, Bridging Networks Across VPS With Wireguard and VXLAN on FreeBSD, Updating FreeBSD the Manual Way, Part of (computer) security is convincing people that it works, Where’s my backup?, Vi and Vim: A Brief Overview, and more</itunes:subtitle>
  <itunes:duration>1:00:14</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>&lt;p&gt;OpenBSD Workstation for the People, Bridging Networks Across VPS With Wireguard and VXLAN on FreeBSD, Updating FreeBSD the Manual Way, Part of (computer) security is convincing people that it works, Where’s my backup?, Vi and Vim: A Brief Overview, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2024/openbsd-workstation-for-the-people/" target="_blank" rel="nofollow noopener"&gt;OpenBSD Workstation for the People&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/07/15/bridging-networks-across-vps-wireguard-vxlan-freebsd/?utm_source=bsdweekly" target="_blank" rel="nofollow noopener"&gt;Bridging Networks Across VPS With Wireguard and VXLAN on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://blog.feld.me/posts/2024/07/updating-freebsd-the-manual-way/" target="_blank" rel="nofollow noopener"&gt;Updating FreeBSD the Manual Way&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/SecurityNeedsToConvince" target="_blank" rel="nofollow noopener"&gt;Part of (computer) security is convincing people that it works&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dan.langille.org/2024/07/16/wheres-my-backup/" target="_blank" rel="nofollow noopener"&gt;Where’s my backup?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://machaddr.substack.com/p/vi-and-vim-a-brief-overview" target="_blank" rel="nofollow noopener"&gt;Vi and Vim: A Brief Overview&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://garrido.io/posts/2024/07/21/hello-freebsd/" target="_blank" rel="nofollow noopener"&gt;Hello FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=bPkX5UypCAQ" target="_blank" rel="nofollow noopener"&gt;DeadBSD #5 EnigmOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2024/07/03/the-workstation-you-wanted-in-1990-in-your-pocket/" target="_blank" rel="nofollow noopener"&gt;THE WORKSTATION YOU WANTED IN 1990, IN YOUR POCKET&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/572/feedback/Johnny%20-%20Nyxt.md" target="_blank" rel="nofollow noopener"&gt;Johnny - Nyxt&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, workstation, for the people, bridging networks, vps, wireguard, vxlan, manual update, updating, computer security, backup, vi, vim, overview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD Workstation for the People, Bridging Networks Across VPS With Wireguard and VXLAN on FreeBSD, Updating FreeBSD the Manual Way, Part of (computer) security is convincing people that it works, Where’s my backup?, Vi and Vim: A Brief Overview, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.tumfatig.net/2024/openbsd-workstation-for-the-people/" target="_blank" rel="nofollow noopener">OpenBSD Workstation for the People</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/07/15/bridging-networks-across-vps-wireguard-vxlan-freebsd/?utm_source=bsdweekly" target="_blank" rel="nofollow noopener">Bridging Networks Across VPS With Wireguard and VXLAN on FreeBSD</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://blog.feld.me/posts/2024/07/updating-freebsd-the-manual-way/" target="_blank" rel="nofollow noopener">Updating FreeBSD the Manual Way</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/SecurityNeedsToConvince" target="_blank" rel="nofollow noopener">Part of (computer) security is convincing people that it works</a></p>

<hr>

<p><a href="https://dan.langille.org/2024/07/16/wheres-my-backup/" target="_blank" rel="nofollow noopener">Where’s my backup?</a></p>

<hr>

<p><a href="https://machaddr.substack.com/p/vi-and-vim-a-brief-overview" target="_blank" rel="nofollow noopener">Vi and Vim: A Brief Overview</a></p>

<hr>

<p><a href="https://garrido.io/posts/2024/07/21/hello-freebsd/" target="_blank" rel="nofollow noopener">Hello FreeBSD</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=bPkX5UypCAQ" target="_blank" rel="nofollow noopener">DeadBSD #5 EnigmOS</a></li>
<li><a href="https://hackaday.com/2024/07/03/the-workstation-you-wanted-in-1990-in-your-pocket/" target="_blank" rel="nofollow noopener">THE WORKSTATION YOU WANTED IN 1990, IN YOUR POCKET</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>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/572/feedback/Johnny%20-%20Nyxt.md" target="_blank" rel="nofollow noopener">Johnny - Nyxt</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD Workstation for the People, Bridging Networks Across VPS With Wireguard and VXLAN on FreeBSD, Updating FreeBSD the Manual Way, Part of (computer) security is convincing people that it works, Where’s my backup?, Vi and Vim: A Brief Overview, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.tumfatig.net/2024/openbsd-workstation-for-the-people/" target="_blank" rel="nofollow noopener">OpenBSD Workstation for the People</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/07/15/bridging-networks-across-vps-wireguard-vxlan-freebsd/?utm_source=bsdweekly" target="_blank" rel="nofollow noopener">Bridging Networks Across VPS With Wireguard and VXLAN on FreeBSD</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://blog.feld.me/posts/2024/07/updating-freebsd-the-manual-way/" target="_blank" rel="nofollow noopener">Updating FreeBSD the Manual Way</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/SecurityNeedsToConvince" target="_blank" rel="nofollow noopener">Part of (computer) security is convincing people that it works</a></p>

<hr>

<p><a href="https://dan.langille.org/2024/07/16/wheres-my-backup/" target="_blank" rel="nofollow noopener">Where’s my backup?</a></p>

<hr>

<p><a href="https://machaddr.substack.com/p/vi-and-vim-a-brief-overview" target="_blank" rel="nofollow noopener">Vi and Vim: A Brief Overview</a></p>

<hr>

<p><a href="https://garrido.io/posts/2024/07/21/hello-freebsd/" target="_blank" rel="nofollow noopener">Hello FreeBSD</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=bPkX5UypCAQ" target="_blank" rel="nofollow noopener">DeadBSD #5 EnigmOS</a></li>
<li><a href="https://hackaday.com/2024/07/03/the-workstation-you-wanted-in-1990-in-your-pocket/" target="_blank" rel="nofollow noopener">THE WORKSTATION YOU WANTED IN 1990, IN YOUR POCKET</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>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/572/feedback/Johnny%20-%20Nyxt.md" target="_blank" rel="nofollow noopener">Johnny - Nyxt</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>571: Cloud Chaos</title>
  <link>https://www.bsdnow.tv/571</link>
  <guid isPermaLink="false">84f1031b-d3b0-4f29-ab3e-baec15d00f33</guid>
  <pubDate>Thu, 08 Aug 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/84f1031b-d3b0-4f29-ab3e-baec15d00f33.mp3" length="66814464" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Navigating FreeBSD’s New Quarterly and Biennial Release Schedule, EuroBSDCon 2024 Schedule, From Cloud Chaos to FreeBSD Efficiency, Local-to-anchors tables in PF rules, CloudBSD, and more</itunes:subtitle>
  <itunes:duration>1:09:35</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>&lt;p&gt;Navigating FreeBSD’s New Quarterly and Biennial Release Schedule, EuroBSDCon 2024 Schedule, From Cloud Chaos to FreeBSD Efficiency, Local-to-anchors tables in PF rules, CloudBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/navigating-freebsds-new-quarterly-and-biennial-release-schedule/" target="_blank" rel="nofollow noopener"&gt;Navigating FreeBSD’s New Quarterly and Biennial Release Schedule&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://mccd.space/posts/netbsd-review/" target="_blank" rel="nofollow noopener"&gt;https://mccd.space/posts/netbsd-review/&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://events.eurobsdcon.org/2024/schedule/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2024 Schedule&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/07/04/from-cloud-chaos-to-freebsd-efficiency/" target="_blank" rel="nofollow noopener"&gt;From Cloud Chaos to FreeBSD Efficiency&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20240714154257" target="_blank" rel="nofollow noopener"&gt;Enable local-to-anchors tables in PF rules&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://cloudbsd.xyz/" target="_blank" rel="nofollow noopener"&gt;CloudBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/571/feedback/Rick%20-%20Feedback%20about%20Docs%20Bugs.md" target="_blank" rel="nofollow noopener"&gt;Rick - Feedback about Docs Bugs&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, navigating, quarterly release, release schedule, eurobsdcon schedule, cloud, chaos, efficiency, X window, 40 years, interactive, local-to-anchors, pf rules</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Navigating FreeBSD’s New Quarterly and Biennial Release Schedule, EuroBSDCon 2024 Schedule, From Cloud Chaos to FreeBSD Efficiency, Local-to-anchors tables in PF rules, CloudBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/navigating-freebsds-new-quarterly-and-biennial-release-schedule/" target="_blank" rel="nofollow noopener">Navigating FreeBSD’s New Quarterly and Biennial Release Schedule</a></p>

<hr>

<p><a href="https://mccd.space/posts/netbsd-review/" target="_blank" rel="nofollow noopener">https://mccd.space/posts/netbsd-review/</a></p>

<hr>

<p><a href="https://events.eurobsdcon.org/2024/schedule/" target="_blank" rel="nofollow noopener">EuroBSDCon 2024 Schedule</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://it-notes.dragas.net/2024/07/04/from-cloud-chaos-to-freebsd-efficiency/" target="_blank" rel="nofollow noopener">From Cloud Chaos to FreeBSD Efficiency</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240714154257" target="_blank" rel="nofollow noopener">Enable local-to-anchors tables in PF rules</a></p>

<hr>

<p><a href="https://cloudbsd.xyz/" target="_blank" rel="nofollow noopener">CloudBSD</a></p>

<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>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/571/feedback/Rick%20-%20Feedback%20about%20Docs%20Bugs.md" target="_blank" rel="nofollow noopener">Rick - Feedback about Docs Bugs</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Navigating FreeBSD’s New Quarterly and Biennial Release Schedule, EuroBSDCon 2024 Schedule, From Cloud Chaos to FreeBSD Efficiency, Local-to-anchors tables in PF rules, CloudBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/navigating-freebsds-new-quarterly-and-biennial-release-schedule/" target="_blank" rel="nofollow noopener">Navigating FreeBSD’s New Quarterly and Biennial Release Schedule</a></p>

<hr>

<p><a href="https://mccd.space/posts/netbsd-review/" target="_blank" rel="nofollow noopener">https://mccd.space/posts/netbsd-review/</a></p>

<hr>

<p><a href="https://events.eurobsdcon.org/2024/schedule/" target="_blank" rel="nofollow noopener">EuroBSDCon 2024 Schedule</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://it-notes.dragas.net/2024/07/04/from-cloud-chaos-to-freebsd-efficiency/" target="_blank" rel="nofollow noopener">From Cloud Chaos to FreeBSD Efficiency</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240714154257" target="_blank" rel="nofollow noopener">Enable local-to-anchors tables in PF rules</a></p>

<hr>

<p><a href="https://cloudbsd.xyz/" target="_blank" rel="nofollow noopener">CloudBSD</a></p>

<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>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/571/feedback/Rick%20-%20Feedback%20about%20Docs%20Bugs.md" target="_blank" rel="nofollow noopener">Rick - Feedback about Docs Bugs</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>569: The ZFS Pi</title>
  <link>https://www.bsdnow.tv/569</link>
  <guid isPermaLink="false">766ceaa1-9d99-40fc-8a8c-b640d050e19e</guid>
  <pubDate>Thu, 25 Jul 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/766ceaa1-9d99-40fc-8a8c-b640d050e19e.mp3" length="45727104" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Enhancing FreeBSD Stability With ZFS Pool Checkpoints, Plaintext is not a great format for (system) logs, Initial playlist of 28 BSDCan Videos released, Installing FreeBSD 14 on Raspberry Pi 4B with ZFS root, A practical guide to VPNs, IPv6, routing domains and IPSEC, How to mount ISO or file disk images on OpenBSD, and more</itunes:subtitle>
  <itunes:duration>47:37</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>&lt;p&gt;Enhancing FreeBSD Stability With ZFS Pool Checkpoints, Plaintext is not a great format for (system) logs, Initial playlist of 28 BSDCan Videos released, Installing FreeBSD 14 on Raspberry Pi 4B with ZFS root, A practical guide to VPNs, IPv6, routing domains and IPSEC, How to mount ISO or file disk images on OpenBSD, and&lt;br&gt;
more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/07/01/enhancing-freebsd-stability-with-zfs-pool-checkpoints/" target="_blank" rel="nofollow noopener"&gt;Enhancing FreeBSD Stability With ZFS Pool Checkpoints&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/PlaintextNotGreatLogFormat" target="_blank" rel="nofollow noopener"&gt;Plaintext is not a great format for (system) logs&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20240630100913" target="_blank" rel="nofollow noopener"&gt;Initial playlist of 28 BSDCan Videos released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://axcella.com/blog/2024/02/03/installing-freebsd-14-on-raspberry-pi-4b-with-zfs-root/" target="_blank" rel="nofollow noopener"&gt;Installing FreeBSD 14 on Raspberry Pi 4B with ZFS root&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The following components make up my setup:

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.raspberrypi.com/products/raspberry-pi-4-model-b/" target="_blank" rel="nofollow noopener"&gt;Raspberry Pi 4B, 8 GB RAM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.raspberrypi.com/products/power-supply/" target="_blank" rel="nofollow noopener"&gt;Official Raspberry Pi 4 Power Supply&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://geekworm.com/products/raspberry-pi-4-11mm-embedded-heatsink-p165-b" target="_blank" rel="nofollow noopener"&gt;Geekworm Raspberry Pi 4 11mm Embedded Heatsink (P165-B)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://geekworm.com/products/x862" target="_blank" rel="nofollow noopener"&gt;Geekworm for Raspberry Pi 4, X862 V2.0 M.2 NGFF SATA SSD Storage Expansion Board with USB 3.1 Connector Support Key-B 2280 SSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.westerndigital.com/products/internal-drives/wd-blue-sa510-sata-m-2-ssd?sku=WDS200T3B0B" target="_blank" rel="nofollow noopener"&gt;WD Blue SA510 SATA SSD 2 TB M.2 2280&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4K 60Hz Micro HDMI to HDMI Adapter (to connect to a monitor, can also run headless with just power and network cable connected)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20240706084626" target="_blank" rel="nofollow noopener"&gt;A practical guide to VPNs, IPv6, routing domains and IPSEC&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2024-06-15-mount-iso-file-openbsd.html" target="_blank" rel="nofollow noopener"&gt;How to mount ISO or file disk images on OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;DeadBSD Series - There have been a few FreeBSD derived OS’s over the years, some stay, many others fade away. In this series, DeadBSD’s, we will be revisiting those long gone BSD’s and see what we missed out on.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=3xl2BdlBjg0" target="_blank" rel="nofollow noopener"&gt;Fury&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=hmT1fXuOyos" target="_blank" rel="nofollow noopener"&gt;CultBSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;569 - &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/569/feedback/Rob%20-%20A%20Thanks.md" target="_blank" rel="nofollow noopener"&gt;RobN - A Thanks&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, stability, enhancing, checkpoints, plaintext, system logs, playlist, bsdcan 2024, videos, raspberry pi, zfs root, vpn, practical, ipv6, routing domains, ipsec, iso, file disk images</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Enhancing FreeBSD Stability With ZFS Pool Checkpoints, Plaintext is not a great format for (system) logs, Initial playlist of 28 BSDCan Videos released, Installing FreeBSD 14 on Raspberry Pi 4B with ZFS root, A practical guide to VPNs, IPv6, routing domains and IPSEC, How to mount ISO or file disk images on OpenBSD, and<br>
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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://it-notes.dragas.net/2024/07/01/enhancing-freebsd-stability-with-zfs-pool-checkpoints/" target="_blank" rel="nofollow noopener">Enhancing FreeBSD Stability With ZFS Pool Checkpoints</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/PlaintextNotGreatLogFormat" target="_blank" rel="nofollow noopener">Plaintext is not a great format for (system) logs</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240630100913" target="_blank" rel="nofollow noopener">Initial playlist of 28 BSDCan Videos released</a></p>

<hr>

<p><a href="https://axcella.com/blog/2024/02/03/installing-freebsd-14-on-raspberry-pi-4b-with-zfs-root/" target="_blank" rel="nofollow noopener">Installing FreeBSD 14 on Raspberry Pi 4B with ZFS root</a></p>

<ul>
<li>The following components make up my setup:

<ul>
<li><a href="https://www.raspberrypi.com/products/raspberry-pi-4-model-b/" target="_blank" rel="nofollow noopener">Raspberry Pi 4B, 8 GB RAM</a></li>
<li><a href="https://www.raspberrypi.com/products/power-supply/" target="_blank" rel="nofollow noopener">Official Raspberry Pi 4 Power Supply</a></li>
<li><a href="https://geekworm.com/products/raspberry-pi-4-11mm-embedded-heatsink-p165-b" target="_blank" rel="nofollow noopener">Geekworm Raspberry Pi 4 11mm Embedded Heatsink (P165-B)</a></li>
<li><a href="https://geekworm.com/products/x862" target="_blank" rel="nofollow noopener">Geekworm for Raspberry Pi 4, X862 V2.0 M.2 NGFF SATA SSD Storage Expansion Board with USB 3.1 Connector Support Key-B 2280 SSD</a></li>
<li><a href="https://www.westerndigital.com/products/internal-drives/wd-blue-sa510-sata-m-2-ssd?sku=WDS200T3B0B" target="_blank" rel="nofollow noopener">WD Blue SA510 SATA SSD 2 TB M.2 2280</a></li>
<li>4K 60Hz Micro HDMI to HDMI Adapter (to connect to a monitor, can also run headless with just power and network cable connected)</li>
</ul></li>
</ul>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240706084626" target="_blank" rel="nofollow noopener">A practical guide to VPNs, IPv6, routing domains and IPSEC</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-06-15-mount-iso-file-openbsd.html" target="_blank" rel="nofollow noopener">How to mount ISO or file disk images on OpenBSD</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li>DeadBSD Series - There have been a few FreeBSD derived OS’s over the years, some stay, many others fade away. In this series, DeadBSD’s, we will be revisiting those long gone BSD’s and see what we missed out on.</li>
<li><a href="https://www.youtube.com/watch?v=3xl2BdlBjg0" target="_blank" rel="nofollow noopener">Fury</a></li>
<li><a href="https://www.youtube.com/watch?v=hmT1fXuOyos" target="_blank" rel="nofollow noopener">CultBSD</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>

<h2>Feedback/Questions</h2>

<p>569 - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/569/feedback/Rob%20-%20A%20Thanks.md" target="_blank" rel="nofollow noopener">RobN - A Thanks</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Enhancing FreeBSD Stability With ZFS Pool Checkpoints, Plaintext is not a great format for (system) logs, Initial playlist of 28 BSDCan Videos released, Installing FreeBSD 14 on Raspberry Pi 4B with ZFS root, A practical guide to VPNs, IPv6, routing domains and IPSEC, How to mount ISO or file disk images on OpenBSD, and<br>
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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://it-notes.dragas.net/2024/07/01/enhancing-freebsd-stability-with-zfs-pool-checkpoints/" target="_blank" rel="nofollow noopener">Enhancing FreeBSD Stability With ZFS Pool Checkpoints</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/PlaintextNotGreatLogFormat" target="_blank" rel="nofollow noopener">Plaintext is not a great format for (system) logs</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240630100913" target="_blank" rel="nofollow noopener">Initial playlist of 28 BSDCan Videos released</a></p>

<hr>

<p><a href="https://axcella.com/blog/2024/02/03/installing-freebsd-14-on-raspberry-pi-4b-with-zfs-root/" target="_blank" rel="nofollow noopener">Installing FreeBSD 14 on Raspberry Pi 4B with ZFS root</a></p>

<ul>
<li>The following components make up my setup:

<ul>
<li><a href="https://www.raspberrypi.com/products/raspberry-pi-4-model-b/" target="_blank" rel="nofollow noopener">Raspberry Pi 4B, 8 GB RAM</a></li>
<li><a href="https://www.raspberrypi.com/products/power-supply/" target="_blank" rel="nofollow noopener">Official Raspberry Pi 4 Power Supply</a></li>
<li><a href="https://geekworm.com/products/raspberry-pi-4-11mm-embedded-heatsink-p165-b" target="_blank" rel="nofollow noopener">Geekworm Raspberry Pi 4 11mm Embedded Heatsink (P165-B)</a></li>
<li><a href="https://geekworm.com/products/x862" target="_blank" rel="nofollow noopener">Geekworm for Raspberry Pi 4, X862 V2.0 M.2 NGFF SATA SSD Storage Expansion Board with USB 3.1 Connector Support Key-B 2280 SSD</a></li>
<li><a href="https://www.westerndigital.com/products/internal-drives/wd-blue-sa510-sata-m-2-ssd?sku=WDS200T3B0B" target="_blank" rel="nofollow noopener">WD Blue SA510 SATA SSD 2 TB M.2 2280</a></li>
<li>4K 60Hz Micro HDMI to HDMI Adapter (to connect to a monitor, can also run headless with just power and network cable connected)</li>
</ul></li>
</ul>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240706084626" target="_blank" rel="nofollow noopener">A practical guide to VPNs, IPv6, routing domains and IPSEC</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-06-15-mount-iso-file-openbsd.html" target="_blank" rel="nofollow noopener">How to mount ISO or file disk images on OpenBSD</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li>DeadBSD Series - There have been a few FreeBSD derived OS’s over the years, some stay, many others fade away. In this series, DeadBSD’s, we will be revisiting those long gone BSD’s and see what we missed out on.</li>
<li><a href="https://www.youtube.com/watch?v=3xl2BdlBjg0" target="_blank" rel="nofollow noopener">Fury</a></li>
<li><a href="https://www.youtube.com/watch?v=hmT1fXuOyos" target="_blank" rel="nofollow noopener">CultBSD</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>

<h2>Feedback/Questions</h2>

<p>569 - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/569/feedback/Rob%20-%20A%20Thanks.md" target="_blank" rel="nofollow noopener">RobN - A Thanks</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>568: regreSSHion</title>
  <link>https://www.bsdnow.tv/568</link>
  <guid isPermaLink="false">a0464306-5fee-4eba-a81c-b26393ebd0f2</guid>
  <pubDate>Thu, 18 Jul 2024 12:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a0464306-5fee-4eba-a81c-b26393ebd0f2.mp3" length="78023565" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>regreSSHion vulnerability, Improving and debugging FreeBSDs Intel wifi support, FreeBSD adds an implementation of the 9P filesystem, FreeBSD Zero to Desktop Speedrun Challenge, Why and how to run your own FreeBSD package cache, Game of Trees Hub, Why Does FreeBSD Default to Csh/Tcsh, and more</itunes:subtitle>
  <itunes:duration>54:10</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>&lt;p&gt;regreSSHion vulnerability, Improving and debugging FreeBSDs Intel wifi support, FreeBSD adds an implementation of the 9P filesystem, FreeBSD Zero to Desktop Speedrun Challenge, Why and how to run your own FreeBSD package cache, Game of Trees Hub, Why Does FreeBSD Default to Csh/Tcsh, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.qualys.com/2024/07/01/cve-2024-6387/regresshion.txt" target="_blank" rel="nofollow noopener"&gt;regreSSHion: RCE in OpenSSH's server, on glibc-based Linux systems&lt;/a&gt; and &lt;a href="https://undeadly.org/cgi?action=article;sid=20240701102851" target="_blank" rel="nofollow noopener"&gt;OpenBSD 9.8&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/improving-and-debugging-freebsds-intel-wi-fi-support-cheng-cuis-key-role-in-the-iwlwifi-project/" target="_blank" rel="nofollow noopener"&gt;Improving and debugging FreeBSDs Intel wifi support&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://cgit.freebsd.org/src/commit/?id=e97ad33a89a78f55280b0485b3249ee9b907a718" target="_blank" rel="nofollow noopener"&gt;FreeBSD adds an implementation of the 9P filesystem&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://vermaden.wordpress.com/2024/04/05/freebsd-zero-to-desktop-speedrun-challenge/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Zero to Desktop Speedrun Challenge&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.rlwinm.de/why-and-how-to-run-your-own-freebsd-package-cache-3wbg" target="_blank" rel="nofollow noopener"&gt;Why and how to run your own FreeBSD package cache&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20240621074337" target="_blank" rel="nofollow noopener"&gt;Game of Trees Hub: A Git Repository Hosting Service Based on OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://lobste.rs/s/iuzuge/why_does_freebsd_default_csh_tcsh" target="_blank" rel="nofollow noopener"&gt;Why Does FreeBSD Default to Csh/Tcsh? Exploring Its Advantages&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://whynothugo.nl/journal/2023/03/23/ai-assisted-computer-interfaces-of-the-future/" target="_blank" rel="nofollow noopener"&gt;AI-assisted computer interfaces of the future&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, regresshion, vulnerability, ssh, intel wifi, support, debugging, improving, 9P filesystem, 9pfs, zero to desktop, challenge, package cache, game of trees hub, csh, tcsh, default</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>regreSSHion vulnerability, Improving and debugging FreeBSDs Intel wifi support, FreeBSD adds an implementation of the 9P filesystem, FreeBSD Zero to Desktop Speedrun Challenge, Why and how to run your own FreeBSD package cache, Game of Trees Hub, Why Does FreeBSD Default to Csh/Tcsh, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.qualys.com/2024/07/01/cve-2024-6387/regresshion.txt" target="_blank" rel="nofollow noopener">regreSSHion: RCE in OpenSSH's server, on glibc-based Linux systems</a> and <a href="https://undeadly.org/cgi?action=article;sid=20240701102851" target="_blank" rel="nofollow noopener">OpenBSD 9.8</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/improving-and-debugging-freebsds-intel-wi-fi-support-cheng-cuis-key-role-in-the-iwlwifi-project/" target="_blank" rel="nofollow noopener">Improving and debugging FreeBSDs Intel wifi support</a></p>

<hr>

<p><a href="https://cgit.freebsd.org/src/commit/?id=e97ad33a89a78f55280b0485b3249ee9b907a718" target="_blank" rel="nofollow noopener">FreeBSD adds an implementation of the 9P filesystem</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://vermaden.wordpress.com/2024/04/05/freebsd-zero-to-desktop-speedrun-challenge/" target="_blank" rel="nofollow noopener">FreeBSD Zero to Desktop Speedrun Challenge</a></p>

<hr>

<p><a href="https://blog.rlwinm.de/why-and-how-to-run-your-own-freebsd-package-cache-3wbg" target="_blank" rel="nofollow noopener">Why and how to run your own FreeBSD package cache</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240621074337" target="_blank" rel="nofollow noopener">Game of Trees Hub: A Git Repository Hosting Service Based on OpenBSD</a></p>

<hr>

<p><a href="https://lobste.rs/s/iuzuge/why_does_freebsd_default_csh_tcsh" target="_blank" rel="nofollow noopener">Why Does FreeBSD Default to Csh/Tcsh? Exploring Its Advantages</a></p>

<hr>

<p><a href="https://whynothugo.nl/journal/2023/03/23/ai-assisted-computer-interfaces-of-the-future/" target="_blank" rel="nofollow noopener">AI-assisted computer interfaces of the future</a></p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>regreSSHion vulnerability, Improving and debugging FreeBSDs Intel wifi support, FreeBSD adds an implementation of the 9P filesystem, FreeBSD Zero to Desktop Speedrun Challenge, Why and how to run your own FreeBSD package cache, Game of Trees Hub, Why Does FreeBSD Default to Csh/Tcsh, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.qualys.com/2024/07/01/cve-2024-6387/regresshion.txt" target="_blank" rel="nofollow noopener">regreSSHion: RCE in OpenSSH's server, on glibc-based Linux systems</a> and <a href="https://undeadly.org/cgi?action=article;sid=20240701102851" target="_blank" rel="nofollow noopener">OpenBSD 9.8</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/improving-and-debugging-freebsds-intel-wi-fi-support-cheng-cuis-key-role-in-the-iwlwifi-project/" target="_blank" rel="nofollow noopener">Improving and debugging FreeBSDs Intel wifi support</a></p>

<hr>

<p><a href="https://cgit.freebsd.org/src/commit/?id=e97ad33a89a78f55280b0485b3249ee9b907a718" target="_blank" rel="nofollow noopener">FreeBSD adds an implementation of the 9P filesystem</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://vermaden.wordpress.com/2024/04/05/freebsd-zero-to-desktop-speedrun-challenge/" target="_blank" rel="nofollow noopener">FreeBSD Zero to Desktop Speedrun Challenge</a></p>

<hr>

<p><a href="https://blog.rlwinm.de/why-and-how-to-run-your-own-freebsd-package-cache-3wbg" target="_blank" rel="nofollow noopener">Why and how to run your own FreeBSD package cache</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240621074337" target="_blank" rel="nofollow noopener">Game of Trees Hub: A Git Repository Hosting Service Based on OpenBSD</a></p>

<hr>

<p><a href="https://lobste.rs/s/iuzuge/why_does_freebsd_default_csh_tcsh" target="_blank" rel="nofollow noopener">Why Does FreeBSD Default to Csh/Tcsh? Exploring Its Advantages</a></p>

<hr>

<p><a href="https://whynothugo.nl/journal/2023/03/23/ai-assisted-computer-interfaces-of-the-future/" target="_blank" rel="nofollow noopener">AI-assisted computer interfaces of the future</a></p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>567: To the Core</title>
  <link>https://www.bsdnow.tv/567</link>
  <guid isPermaLink="false">d7de607e-7822-486f-8649-0053e89207a6</guid>
  <pubDate>Thu, 11 Jul 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d7de607e-7822-486f-8649-0053e89207a6.mp3" length="60410304" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>SSH as a sudo replacement, Core.13 is Now In Office, Running GoToSocial on NetBSD, A DMD package for OpenIndiana, Adding more swap space to Omnios, OpenBSD adds initial support for Qualcomm Snapdragon Elite X after 1 day, and more</itunes:subtitle>
  <itunes:duration>41:57</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>&lt;p&gt;SSH as a sudo replacement, Core.13 is Now In Office, Running GoToSocial on NetBSD, A DMD package for OpenIndiana, Adding more swap space to Omnios, OpenBSD adds initial support for Qualcomm Snapdragon Elite X after 1 day, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://whynothugo.nl/journal/2024/06/13/ssh-as-a-sudo-replacement/" target="_blank" rel="nofollow noopener"&gt;SSH as a sudo replacement&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://lists.freebsd.org/archives/freebsd-announce/2024-June/000136.html" target="_blank" rel="nofollow noopener"&gt;Core.13 is Now In Office&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2024/running-gotosocial-on-netbsd/" target="_blank" rel="nofollow noopener"&gt;Running GoToSocial on NetBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://briancallahan.net/blog/20240609.html" target="_blank" rel="nofollow noopener"&gt;A DMD package for OpenIndiana&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://neirac.srht.site/posts/omnios-add-swap.html" target="_blank" rel="nofollow noopener"&gt;Adding more swap space to Omnios&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20240620105457" target="_blank" rel="nofollow noopener"&gt;OpenBSD added initial support for Qualcomm Snapdragon Elite X after 1 day&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/567/feedback/Isa%20-%20Pinebook%20Question.md" target="_blank" rel="nofollow noopener"&gt;Isa - Pinebook Question.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, sudo, replacement, ssh, core.13, gotosocial, DMD, openindiana, omnios, qualcomm, snapdragon elite X</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>SSH as a sudo replacement, Core.13 is Now In Office, Running GoToSocial on NetBSD, A DMD package for OpenIndiana, Adding more swap space to Omnios, OpenBSD adds initial support for Qualcomm Snapdragon Elite X after 1 day, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://whynothugo.nl/journal/2024/06/13/ssh-as-a-sudo-replacement/" target="_blank" rel="nofollow noopener">SSH as a sudo replacement</a></p>

<hr>

<p><a href="https://lists.freebsd.org/archives/freebsd-announce/2024-June/000136.html" target="_blank" rel="nofollow noopener">Core.13 is Now In Office</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.tumfatig.net/2024/running-gotosocial-on-netbsd/" target="_blank" rel="nofollow noopener">Running GoToSocial on NetBSD</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20240609.html" target="_blank" rel="nofollow noopener">A DMD package for OpenIndiana</a></p>

<hr>

<p><a href="https://neirac.srht.site/posts/omnios-add-swap.html" target="_blank" rel="nofollow noopener">Adding more swap space to Omnios</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240620105457" target="_blank" rel="nofollow noopener">OpenBSD added initial support for Qualcomm Snapdragon Elite X after 1 day</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/567/feedback/Isa%20-%20Pinebook%20Question.md" target="_blank" rel="nofollow noopener">Isa - Pinebook Question.md</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>SSH as a sudo replacement, Core.13 is Now In Office, Running GoToSocial on NetBSD, A DMD package for OpenIndiana, Adding more swap space to Omnios, OpenBSD adds initial support for Qualcomm Snapdragon Elite X after 1 day, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://whynothugo.nl/journal/2024/06/13/ssh-as-a-sudo-replacement/" target="_blank" rel="nofollow noopener">SSH as a sudo replacement</a></p>

<hr>

<p><a href="https://lists.freebsd.org/archives/freebsd-announce/2024-June/000136.html" target="_blank" rel="nofollow noopener">Core.13 is Now In Office</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.tumfatig.net/2024/running-gotosocial-on-netbsd/" target="_blank" rel="nofollow noopener">Running GoToSocial on NetBSD</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20240609.html" target="_blank" rel="nofollow noopener">A DMD package for OpenIndiana</a></p>

<hr>

<p><a href="https://neirac.srht.site/posts/omnios-add-swap.html" target="_blank" rel="nofollow noopener">Adding more swap space to Omnios</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240620105457" target="_blank" rel="nofollow noopener">OpenBSD added initial support for Qualcomm Snapdragon Elite X after 1 day</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/567/feedback/Isa%20-%20Pinebook%20Question.md" target="_blank" rel="nofollow noopener">Isa - Pinebook Question.md</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>566: Open Source Excellence</title>
  <link>https://www.bsdnow.tv/566</link>
  <guid isPermaLink="false">6d99d221-b4fa-4373-b5df-1a36548bfd9e</guid>
  <pubDate>Thu, 04 Jul 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6d99d221-b4fa-4373-b5df-1a36548bfd9e.mp3" length="80745408" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>A Journey Through 31 Years of Open Source Excellence, Proxmox vs FreeBSD: Which Virtualization Host Performs Better?, Upstreaming FreeBSD Code to the Linux Vector Packet Processor Project, FreeBSD Tips and Tricks: Creating Snapshots With UFS, My Concern With Rust, or a Case for the BSD's, and more</itunes:subtitle>
  <itunes:duration>56:04</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>&lt;p&gt;A Journey Through 31 Years of Open Source Excellence, Proxmox vs FreeBSD: Which Virtualization Host Performs Better?, Upstreaming FreeBSD Code to the Linux Vector Packet Processor Project, FreeBSD Tips and Tricks: Creating Snapshots With UFS, My Concern With Rust, or a Case for the BSD's, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hamradio.my/2024/06/celebrating-freebsd-day-a-journey-through-31-years-of-open-source-excellence/" target="_blank" rel="nofollow noopener"&gt;Celebrating FreeBSD Day: A Journey Through 31 Years of Open Source Excellence&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-performs-better/" target="_blank" rel="nofollow noopener"&gt;Proxmox vs FreeBSD: Which Virtualization Host Performs Better?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://thenewstack.io/upstreaming-the-linux-vector-packet-processor-vpp-to-freebsd/" target="_blank" rel="nofollow noopener"&gt;Upstreaming FreeBSD Code to the Linux Vector Packet Processor Project&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/06/04/freebsd-tips-and-tricks-creating-snapshots-with-ufs/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Tips and Tricks: Creating Snapshots With UFS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://superserverhero.com/reports/my-concern-with-rust" target="_blank" rel="nofollow noopener"&gt;My Concern With Rust, or a Case for the BSD's&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=mmjYuDjWXto&amp;amp;t=1s" target="_blank" rel="nofollow noopener"&gt;Install FreeBSD 14.1 and KDE Plasma 6 in QEMU VM tutorial - June 2024 - 2da0c933&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://lowendbox.com/blog/lets-try-bsd-part-1-of-7-introduction-freebsd-openbsd-netbsd-dragonflybsd/" target="_blank" rel="nofollow noopener"&gt;Let's Try BSD, Part 1 of 7: Introduction&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://hiandrewquinn.github.io/til-site/posts/openbsd-the-computer-appliance-maker-s-secret-weapon/" target="_blank" rel="nofollow noopener"&gt;OpenBSD, the computer appliance maker's secret weapon&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://youtu.be/xuYBsRAMvA8" target="_blank" rel="nofollow noopener"&gt;FreeBSD Day: Interview with Deb Goodkin&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/566/feedback/johnny%20-%20thanks.md" target="_blank" rel="nofollow noopener"&gt;Johnny - Thanks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, Celebrating, freebsd day, open source Excellence, proxmox, Virtualization, upstream, linux vector packet processor, tips and tricks, ufs, snapshots, rust, concern, case for the BSDs</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>A Journey Through 31 Years of Open Source Excellence, Proxmox vs FreeBSD: Which Virtualization Host Performs Better?, Upstreaming FreeBSD Code to the Linux Vector Packet Processor Project, FreeBSD Tips and Tricks: Creating Snapshots With UFS, My Concern With Rust, or a Case for the BSD's, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://hamradio.my/2024/06/celebrating-freebsd-day-a-journey-through-31-years-of-open-source-excellence/" target="_blank" rel="nofollow noopener">Celebrating FreeBSD Day: A Journey Through 31 Years of Open Source Excellence</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-performs-better/" target="_blank" rel="nofollow noopener">Proxmox vs FreeBSD: Which Virtualization Host Performs Better?</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://thenewstack.io/upstreaming-the-linux-vector-packet-processor-vpp-to-freebsd/" target="_blank" rel="nofollow noopener">Upstreaming FreeBSD Code to the Linux Vector Packet Processor Project</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/06/04/freebsd-tips-and-tricks-creating-snapshots-with-ufs/" target="_blank" rel="nofollow noopener">FreeBSD Tips and Tricks: Creating Snapshots With UFS</a></p>

<hr>

<p><a href="https://superserverhero.com/reports/my-concern-with-rust" target="_blank" rel="nofollow noopener">My Concern With Rust, or a Case for the BSD's</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><p><a href="https://www.youtube.com/watch?v=mmjYuDjWXto&amp;t=1s" target="_blank" rel="nofollow noopener">Install FreeBSD 14.1 and KDE Plasma 6 in QEMU VM tutorial - June 2024 - 2da0c933</a></p></li>
<li><p><a href="https://lowendbox.com/blog/lets-try-bsd-part-1-of-7-introduction-freebsd-openbsd-netbsd-dragonflybsd/" target="_blank" rel="nofollow noopener">Let's Try BSD, Part 1 of 7: Introduction</a></p></li>
<li><p><a href="https://hiandrewquinn.github.io/til-site/posts/openbsd-the-computer-appliance-maker-s-secret-weapon/" target="_blank" rel="nofollow noopener">OpenBSD, the computer appliance maker's secret weapon</a></p></li>
<li><p><a href="https://youtu.be/xuYBsRAMvA8" target="_blank" rel="nofollow noopener">FreeBSD Day: Interview with Deb Goodkin</a></p></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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/566/feedback/johnny%20-%20thanks.md" target="_blank" rel="nofollow noopener">Johnny - Thanks</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>A Journey Through 31 Years of Open Source Excellence, Proxmox vs FreeBSD: Which Virtualization Host Performs Better?, Upstreaming FreeBSD Code to the Linux Vector Packet Processor Project, FreeBSD Tips and Tricks: Creating Snapshots With UFS, My Concern With Rust, or a Case for the BSD's, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://hamradio.my/2024/06/celebrating-freebsd-day-a-journey-through-31-years-of-open-source-excellence/" target="_blank" rel="nofollow noopener">Celebrating FreeBSD Day: A Journey Through 31 Years of Open Source Excellence</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/06/10/proxmox-vs-freebsd-which-virtualization-host-performs-better/" target="_blank" rel="nofollow noopener">Proxmox vs FreeBSD: Which Virtualization Host Performs Better?</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://thenewstack.io/upstreaming-the-linux-vector-packet-processor-vpp-to-freebsd/" target="_blank" rel="nofollow noopener">Upstreaming FreeBSD Code to the Linux Vector Packet Processor Project</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/06/04/freebsd-tips-and-tricks-creating-snapshots-with-ufs/" target="_blank" rel="nofollow noopener">FreeBSD Tips and Tricks: Creating Snapshots With UFS</a></p>

<hr>

<p><a href="https://superserverhero.com/reports/my-concern-with-rust" target="_blank" rel="nofollow noopener">My Concern With Rust, or a Case for the BSD's</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><p><a href="https://www.youtube.com/watch?v=mmjYuDjWXto&amp;t=1s" target="_blank" rel="nofollow noopener">Install FreeBSD 14.1 and KDE Plasma 6 in QEMU VM tutorial - June 2024 - 2da0c933</a></p></li>
<li><p><a href="https://lowendbox.com/blog/lets-try-bsd-part-1-of-7-introduction-freebsd-openbsd-netbsd-dragonflybsd/" target="_blank" rel="nofollow noopener">Let's Try BSD, Part 1 of 7: Introduction</a></p></li>
<li><p><a href="https://hiandrewquinn.github.io/til-site/posts/openbsd-the-computer-appliance-maker-s-secret-weapon/" target="_blank" rel="nofollow noopener">OpenBSD, the computer appliance maker's secret weapon</a></p></li>
<li><p><a href="https://youtu.be/xuYBsRAMvA8" target="_blank" rel="nofollow noopener">FreeBSD Day: Interview with Deb Goodkin</a></p></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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/566/feedback/johnny%20-%20thanks.md" target="_blank" rel="nofollow noopener">Johnny - Thanks</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>565: Secure by default</title>
  <link>https://www.bsdnow.tv/565</link>
  <guid isPermaLink="false">0e1b5cea-6e44-44e4-ac3a-f6f0fe49814c</guid>
  <pubDate>Thu, 27 Jun 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/0e1b5cea-6e44-44e4-ac3a-f6f0fe49814c.mp3" length="74142504" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>NetBSD 10 on a Pinebook Pro, OpenBSD extreme privacy setup, Version 256 of systemd boasts '42% less Unix philosophy', Posix.1 2024 is out, Blocking Access From or to Specific Countries Using FreeBSD and Pf, and more.
Date: 2024.06.17</itunes:subtitle>
  <itunes:duration>51:29</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>&lt;p&gt;NetBSD 10 on a Pinebook Pro, OpenBSD extreme privacy setup, Version 256 of systemd boasts '42% less Unix philosophy', Posix.1 2024 is out, Blocking Access From or to Specific Countries Using FreeBSD and Pf, and more.&lt;br&gt;
Date: 2024.06.17&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.idatum.net/netbsd-10-on-a-pinebook-pro-laptop.html" target="_blank" rel="nofollow noopener"&gt;NetBSD 10 on a Pinebook Pro&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2024-06-08-openbsd-privacy-setup.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD extreme privacy setup&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.theregister.com/2024/06/13/version_256_systemd/" target="_blank" rel="nofollow noopener"&gt;Version 256 of systemd boasts '42% less Unix philosophy'&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://ieeexplore.ieee.org/document/10555529" target="_blank" rel="nofollow noopener"&gt;Posix.1 2024 is out&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/06/16/freebsd-blocking-country-access/" target="_blank" rel="nofollow noopener"&gt;Blocking Access From or to Specific Countries Using FreeBSD and Pf&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/de-DE/bsd-user-group-dusseldorf-bsd-nrw/events/301557512/" target="_blank" rel="nofollow noopener"&gt;BSD User Group Düsseldorf Juli 2024&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/unix/comments/1dd60re/another_cool_unix_workstation_that_was_never/" target="_blank" rel="nofollow noopener"&gt;Another cool UNIX workstation, that was never released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, pinebook pro, extreme privacy setup, penalize undesirable behavior, systemd, less Unix philosophy, posix, blocking access, pf</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>NetBSD 10 on a Pinebook Pro, OpenBSD extreme privacy setup, Version 256 of systemd boasts '42% less Unix philosophy', Posix.1 2024 is out, Blocking Access From or to Specific Countries Using FreeBSD and Pf, and more.<br>
Date: 2024.06.17</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.idatum.net/netbsd-10-on-a-pinebook-pro-laptop.html" target="_blank" rel="nofollow noopener">NetBSD 10 on a Pinebook Pro</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-06-08-openbsd-privacy-setup.html" target="_blank" rel="nofollow noopener">OpenBSD extreme privacy setup</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.theregister.com/2024/06/13/version_256_systemd/" target="_blank" rel="nofollow noopener">Version 256 of systemd boasts '42% less Unix philosophy'</a></p>

<hr>

<p><a href="https://ieeexplore.ieee.org/document/10555529" target="_blank" rel="nofollow noopener">Posix.1 2024 is out</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/06/16/freebsd-blocking-country-access/" target="_blank" rel="nofollow noopener">Blocking Access From or to Specific Countries Using FreeBSD and Pf</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.meetup.com/de-DE/bsd-user-group-dusseldorf-bsd-nrw/events/301557512/" target="_blank" rel="nofollow noopener">BSD User Group Düsseldorf Juli 2024</a></li>
<li><a href="https://www.reddit.com/r/unix/comments/1dd60re/another_cool_unix_workstation_that_was_never/" target="_blank" rel="nofollow noopener">Another cool UNIX workstation, that was never released</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>NetBSD 10 on a Pinebook Pro, OpenBSD extreme privacy setup, Version 256 of systemd boasts '42% less Unix philosophy', Posix.1 2024 is out, Blocking Access From or to Specific Countries Using FreeBSD and Pf, and more.<br>
Date: 2024.06.17</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.idatum.net/netbsd-10-on-a-pinebook-pro-laptop.html" target="_blank" rel="nofollow noopener">NetBSD 10 on a Pinebook Pro</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-06-08-openbsd-privacy-setup.html" target="_blank" rel="nofollow noopener">OpenBSD extreme privacy setup</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.theregister.com/2024/06/13/version_256_systemd/" target="_blank" rel="nofollow noopener">Version 256 of systemd boasts '42% less Unix philosophy'</a></p>

<hr>

<p><a href="https://ieeexplore.ieee.org/document/10555529" target="_blank" rel="nofollow noopener">Posix.1 2024 is out</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/06/16/freebsd-blocking-country-access/" target="_blank" rel="nofollow noopener">Blocking Access From or to Specific Countries Using FreeBSD and Pf</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.meetup.com/de-DE/bsd-user-group-dusseldorf-bsd-nrw/events/301557512/" target="_blank" rel="nofollow noopener">BSD User Group Düsseldorf Juli 2024</a></li>
<li><a href="https://www.reddit.com/r/unix/comments/1dd60re/another_cool_unix_workstation_that_was_never/" target="_blank" rel="nofollow noopener">Another cool UNIX workstation, that was never released</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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>564: Computation Poems</title>
  <link>https://www.bsdnow.tv/564</link>
  <guid isPermaLink="false">75f62433-2e69-4de9-ad72-000a03d75e16</guid>
  <pubDate>Thu, 20 Jun 2024 11:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/75f62433-2e69-4de9-ad72-000a03d75e16.mp3" length="74329664" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Results from the 2024 FreeBSD Community Survey Report, What is Computer Science? ~1967, Computation Poems, Old Info, but still good -- HOWTO: Set up and configure security/sshguard-pf, observium-freebsd-install, FreeBSD Tips and Tricks: Native Read-Only Root File System, OpenSSH introduces options to penalize undesirable behavior, and more</itunes:subtitle>
  <itunes:duration>51:36</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>&lt;p&gt;Results from the 2024 FreeBSD Community Survey Report, What is Computer Science? ~1967, Computation Poems, Old Info, but still good -- HOWTO: Set up and configure security/sshguard-pf, observium-freebsd-install, FreeBSD Tips and Tricks: Native Read-Only Root File System, OpenSSH introduces options to penalize undesirable behavior, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/results-from-the-2024-freebsd-community-survey-report/" target="_blank" rel="nofollow noopener"&gt;Results from the 2024 FreeBSD Community Survey Report&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.cs.cmu.edu/%7Echoset/whatiscs.html" target="_blank" rel="nofollow noopener"&gt;What is Computer Science? ~1967&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://nickm.com/poems/" target="_blank" rel="nofollow noopener"&gt;Computation Poems&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://forums.FreeBSD.org/threads/howto-set-up-and-configure-security-sshguard-pf.39196/" target="_blank" rel="nofollow noopener"&gt;Old Info, but still good -- HOWTO: Set up and configure security/sshguard-pf&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/pmhausen/observium-freebsd-install" target="_blank" rel="nofollow noopener"&gt;observium-freebsd-install&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/05/31/freebsd-tips-and-tricks-native-ro-rootfs/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Tips and Tricks: Native Read-Only Root File System&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20240607042157" target="_blank" rel="nofollow noopener"&gt;OpenSSH introduces options to penalize undesirable behavior&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://archive.org/details/unixprimer0000lomu/mode/2up" target="_blank" rel="nofollow noopener"&gt;A Unix* Primer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bugs.dragonflybsd.org/issues/3300#change-14548" target="_blank" rel="nofollow noopener"&gt;Running Xvnc through the INETD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://man.ifconfig.se/" target="_blank" rel="nofollow noopener"&gt;ifconfig&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, result, survey, community, report, Computation, poem, sshguard-pf, observium, native read-only root filesystem, penalize, behavior, openssh</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Results from the 2024 FreeBSD Community Survey Report, What is Computer Science? ~1967, Computation Poems, Old Info, but still good -- HOWTO: Set up and configure security/sshguard-pf, observium-freebsd-install, FreeBSD Tips and Tricks: Native Read-Only Root File System, OpenSSH introduces options to penalize undesirable behavior, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/results-from-the-2024-freebsd-community-survey-report/" target="_blank" rel="nofollow noopener">Results from the 2024 FreeBSD Community Survey Report</a></p>

<hr>

<p><a href="https://www.cs.cmu.edu/%7Echoset/whatiscs.html" target="_blank" rel="nofollow noopener">What is Computer Science? ~1967</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://nickm.com/poems/" target="_blank" rel="nofollow noopener">Computation Poems</a></p>

<hr>

<p><a href="https://forums.FreeBSD.org/threads/howto-set-up-and-configure-security-sshguard-pf.39196/" target="_blank" rel="nofollow noopener">Old Info, but still good -- HOWTO: Set up and configure security/sshguard-pf</a></p>

<hr>

<p><a href="https://github.com/pmhausen/observium-freebsd-install" target="_blank" rel="nofollow noopener">observium-freebsd-install</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/05/31/freebsd-tips-and-tricks-native-ro-rootfs/" target="_blank" rel="nofollow noopener">FreeBSD Tips and Tricks: Native Read-Only Root File System</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240607042157" target="_blank" rel="nofollow noopener">OpenSSH introduces options to penalize undesirable behavior</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://archive.org/details/unixprimer0000lomu/mode/2up" target="_blank" rel="nofollow noopener">A Unix* Primer</a></li>
<li><a href="https://bugs.dragonflybsd.org/issues/3300#change-14548" target="_blank" rel="nofollow noopener">Running Xvnc through the INETD</a></li>
<li><a href="https://man.ifconfig.se/" target="_blank" rel="nofollow noopener">ifconfig</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Results from the 2024 FreeBSD Community Survey Report, What is Computer Science? ~1967, Computation Poems, Old Info, but still good -- HOWTO: Set up and configure security/sshguard-pf, observium-freebsd-install, FreeBSD Tips and Tricks: Native Read-Only Root File System, OpenSSH introduces options to penalize undesirable behavior, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/results-from-the-2024-freebsd-community-survey-report/" target="_blank" rel="nofollow noopener">Results from the 2024 FreeBSD Community Survey Report</a></p>

<hr>

<p><a href="https://www.cs.cmu.edu/%7Echoset/whatiscs.html" target="_blank" rel="nofollow noopener">What is Computer Science? ~1967</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://nickm.com/poems/" target="_blank" rel="nofollow noopener">Computation Poems</a></p>

<hr>

<p><a href="https://forums.FreeBSD.org/threads/howto-set-up-and-configure-security-sshguard-pf.39196/" target="_blank" rel="nofollow noopener">Old Info, but still good -- HOWTO: Set up and configure security/sshguard-pf</a></p>

<hr>

<p><a href="https://github.com/pmhausen/observium-freebsd-install" target="_blank" rel="nofollow noopener">observium-freebsd-install</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/05/31/freebsd-tips-and-tricks-native-ro-rootfs/" target="_blank" rel="nofollow noopener">FreeBSD Tips and Tricks: Native Read-Only Root File System</a></p>

<hr>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240607042157" target="_blank" rel="nofollow noopener">OpenSSH introduces options to penalize undesirable behavior</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://archive.org/details/unixprimer0000lomu/mode/2up" target="_blank" rel="nofollow noopener">A Unix* Primer</a></li>
<li><a href="https://bugs.dragonflybsd.org/issues/3300#change-14548" target="_blank" rel="nofollow noopener">Running Xvnc through the INETD</a></li>
<li><a href="https://man.ifconfig.se/" target="_blank" rel="nofollow noopener">ifconfig</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>563: 14.1</title>
  <link>https://www.bsdnow.tv/563</link>
  <guid isPermaLink="false">6f802912-a29d-4285-ac35-22bd8efcebeb</guid>
  <pubDate>Thu, 13 Jun 2024 12:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6f802912-a29d-4285-ac35-22bd8efcebeb.mp3" length="47132160" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 14.1-RELEASE Announcement, Automatic dark mode with OpenBSD and dwm, dhcp6leased(8) imported to -current, DHCPv6-PD - First steps by florian@, Replacing my OPNsense gateway hardware by a Protectli appliance, How to alter file owernship and permissions with a feedback information, and more</itunes:subtitle>
  <itunes:duration>49:05</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>&lt;p&gt;FreeBSD 14.1-RELEASE Announcement, Automatic dark mode with OpenBSD and dwm, dhcp6leased(8) imported to -current, DHCPv6-PD - First steps by florian@, Replacing my OPNsense gateway hardware by a Protectli appliance, How to alter file owernship and permissions with a feedback information, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.freebsd.org/releases/14.1R/announce/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 14.1-RELEASE Announcement&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://plexwave.org/blog/auto-dark-mode" target="_blank" rel="nofollow noopener"&gt;Automatic dark mode with OpenBSD and dwm&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20240604085042&amp;amp;utm_source=bsdweekly" target="_blank" rel="nofollow noopener"&gt;dhcp6leased(8) imported to -current&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20240606180535" target="_blank" rel="nofollow noopener"&gt;DHCPv6-PD - First steps by florian@&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.ncartron.org/replacing-my-opnsense-gateway-hardware-by-a-protectli-appliance.html" target="_blank" rel="nofollow noopener"&gt;Replacing my OPNsense gateway hardware by a Protectli appliance&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://sleeplessbeastie.eu/2024/04/18/how-to-alter-file-ownership-and-permissions-with-a-feedback-information/" target="_blank" rel="nofollow noopener"&gt;How to alter file owernship and permissions with a feedback information&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/563/feedback/sad_news.md" target="_blank" rel="nofollow noopener"&gt;Sad News&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, 14.1, announcement, automatic, dark-mode, dwm, dhcp6leased, DHCPv6-PD, OPNsense, gateway, Protectli, feedback, chown, chmod</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 14.1-RELEASE Announcement, Automatic dark mode with OpenBSD and dwm, dhcp6leased(8) imported to -current, DHCPv6-PD - First steps by florian@, Replacing my OPNsense gateway hardware by a Protectli appliance, How to alter file owernship and permissions with a feedback information, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.freebsd.org/releases/14.1R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 14.1-RELEASE Announcement</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://plexwave.org/blog/auto-dark-mode" target="_blank" rel="nofollow noopener">Automatic dark mode with OpenBSD and dwm</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20240604085042&amp;utm_source=bsdweekly" target="_blank" rel="nofollow noopener">dhcp6leased(8) imported to -current</a></p>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240606180535" target="_blank" rel="nofollow noopener">DHCPv6-PD - First steps by florian@</a></p>

<hr>

<p><a href="https://www.ncartron.org/replacing-my-opnsense-gateway-hardware-by-a-protectli-appliance.html" target="_blank" rel="nofollow noopener">Replacing my OPNsense gateway hardware by a Protectli appliance</a></p>

<hr>

<p><a href="https://sleeplessbeastie.eu/2024/04/18/how-to-alter-file-ownership-and-permissions-with-a-feedback-information/" target="_blank" rel="nofollow noopener">How to alter file owernship and permissions with a feedback information</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/563/feedback/sad_news.md" target="_blank" rel="nofollow noopener">Sad News</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 14.1-RELEASE Announcement, Automatic dark mode with OpenBSD and dwm, dhcp6leased(8) imported to -current, DHCPv6-PD - First steps by florian@, Replacing my OPNsense gateway hardware by a Protectli appliance, How to alter file owernship and permissions with a feedback information, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.freebsd.org/releases/14.1R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 14.1-RELEASE Announcement</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://plexwave.org/blog/auto-dark-mode" target="_blank" rel="nofollow noopener">Automatic dark mode with OpenBSD and dwm</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20240604085042&amp;utm_source=bsdweekly" target="_blank" rel="nofollow noopener">dhcp6leased(8) imported to -current</a></p>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240606180535" target="_blank" rel="nofollow noopener">DHCPv6-PD - First steps by florian@</a></p>

<hr>

<p><a href="https://www.ncartron.org/replacing-my-opnsense-gateway-hardware-by-a-protectli-appliance.html" target="_blank" rel="nofollow noopener">Replacing my OPNsense gateway hardware by a Protectli appliance</a></p>

<hr>

<p><a href="https://sleeplessbeastie.eu/2024/04/18/how-to-alter-file-ownership-and-permissions-with-a-feedback-information/" target="_blank" rel="nofollow noopener">How to alter file owernship and permissions with a feedback information</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/563/feedback/sad_news.md" target="_blank" rel="nofollow noopener">Sad News</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>562: All by myself</title>
  <link>https://www.bsdnow.tv/562</link>
  <guid isPermaLink="false">fc1d93fb-8b7a-40cd-8141-6a2a676e6545</guid>
  <pubDate>Thu, 06 Jun 2024 00:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/fc1d93fb-8b7a-40cd-8141-6a2a676e6545.mp3" length="70874112" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>My personal BSDCan Devsummit and Schedule, Syncthing, Paperless-ngx, neovim, Things we always remind ourselves while coding, and more.</itunes:subtitle>
  <itunes:duration>1:13: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>&lt;p&gt;My personal BSDCan Devsummit and Schedule, Syncthing, Paperless-ngx, neovim, Things we always remind ourselves while coding, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/news-and-events/event-calendar/may-2024-freebsd-developer-summit/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Devsummit 2024 Schedule&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://indico.bsdcan.org/event/1/timetable/?#20240531.detailed" target="_blank" rel="nofollow noopener"&gt;BSDCan 2024 Schedule&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;A list of things I was drawn deeper into, got excited about, and wanted to tell you more about.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://syncthing.net" target="_blank" rel="nofollow noopener"&gt;Syncthing&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://docs.paperless-ngx.com" target="_blank" rel="nofollow noopener"&gt;Paperless-ngx&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://man.freebsd.org/cgi/man.cgi?query=paperless&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=FreeBSD+14.0-RELEASE+and+Ports&amp;amp;arch=default&amp;amp;format=html" target="_blank" rel="nofollow noopener"&gt;FreeBSD ports man page&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://neovim.io" target="_blank" rel="nofollow noopener"&gt;Neovim&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://neovimcraft.com" target="_blank" rel="nofollow noopener"&gt;List of popular plugins and themes&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/playlist?list=PLsz00TDipIffreIaUNk64KxTIkQaGguqn" target="_blank" rel="nofollow noopener"&gt;Neovim for Newbs (by the Typecraft guy)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=6pAG3BHurdM&amp;amp;list=PLnu5gT9QrFg36OehOdECFvxFFeMHhb_07&amp;amp;index=11&amp;amp;pp=iAQB" target="_blank" rel="nofollow noopener"&gt;Josean Martinez does a step by step tutorial&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.josean.com/posts/how-to-setup-neovim-2024" target="_blank" rel="nofollow noopener"&gt;Blog post about the setup&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=rT-fbLFOCy0" target="_blank" rel="nofollow noopener"&gt;TJ DeVries (Neovim developer) reads the entire manual in 9:27:42&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://changelog.com/posts/things-we-always-remind-ourselves-while-coding" target="_blank" rel="nofollow noopener"&gt;Things we always remind ourselves while coding&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://media.ccc.de/v/fsck-2024-66-disk-space-the-final-frontier-" target="_blank" rel="nofollow noopener"&gt;Me giving a ZFS intro talk, Sci-fi style (German)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cfp.gulas.ch/gpn22/schedule/" target="_blank" rel="nofollow noopener"&gt;Gulaschprogrammiernacht (GPN) 22 (some English talks, but most in German)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://people.freebsd.org/%7Edch/posts/2014-09-05-a-ramdisk-based-workflow/" target="_blank" rel="nofollow noopener"&gt;A RAM-disk based workflow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, bsdcan, devsummit, schedule, syncthing, paperless-ngx, neovim, coding, reminder</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>My personal BSDCan Devsummit and Schedule, Syncthing, Paperless-ngx, neovim, Things we always remind ourselves while coding, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<hr>

<p><a href="https://freebsdfoundation.org/news-and-events/event-calendar/may-2024-freebsd-developer-summit/" target="_blank" rel="nofollow noopener">FreeBSD Devsummit 2024 Schedule</a></p>

<p><a href="https://indico.bsdcan.org/event/1/timetable/?#20240531.detailed" target="_blank" rel="nofollow noopener">BSDCan 2024 Schedule</a></p>

<hr>

<h2>News Roundup</h2>

<p>A list of things I was drawn deeper into, got excited about, and wanted to tell you more about.</p>

<hr>

<p><a href="https://syncthing.net" target="_blank" rel="nofollow noopener">Syncthing</a></p>

<hr>

<p><a href="https://docs.paperless-ngx.com" target="_blank" rel="nofollow noopener">Paperless-ngx</a></p>

<ul>
<li><a href="https://man.freebsd.org/cgi/man.cgi?query=paperless&amp;apropos=0&amp;sektion=0&amp;manpath=FreeBSD+14.0-RELEASE+and+Ports&amp;arch=default&amp;format=html" target="_blank" rel="nofollow noopener">FreeBSD ports man page</a></li>
</ul>

<hr>

<p><a href="https://neovim.io" target="_blank" rel="nofollow noopener">Neovim</a></p>

<ul>
<li><p><a href="https://neovimcraft.com" target="_blank" rel="nofollow noopener">List of popular plugins and themes</a></p></li>
<li><p><a href="https://www.youtube.com/playlist?list=PLsz00TDipIffreIaUNk64KxTIkQaGguqn" target="_blank" rel="nofollow noopener">Neovim for Newbs (by the Typecraft guy)</a></p></li>
<li><p><a href="https://www.youtube.com/watch?v=6pAG3BHurdM&amp;list=PLnu5gT9QrFg36OehOdECFvxFFeMHhb_07&amp;index=11&amp;pp=iAQB" target="_blank" rel="nofollow noopener">Josean Martinez does a step by step tutorial</a></p></li>
<li><p><a href="https://www.josean.com/posts/how-to-setup-neovim-2024" target="_blank" rel="nofollow noopener">Blog post about the setup</a></p></li>
<li><p><a href="https://www.youtube.com/watch?v=rT-fbLFOCy0" target="_blank" rel="nofollow noopener">TJ DeVries (Neovim developer) reads the entire manual in 9:27:42</a></p></li>
</ul>

<hr>

<p><a href="https://changelog.com/posts/things-we-always-remind-ourselves-while-coding" target="_blank" rel="nofollow noopener">Things we always remind ourselves while coding</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://media.ccc.de/v/fsck-2024-66-disk-space-the-final-frontier-" target="_blank" rel="nofollow noopener">Me giving a ZFS intro talk, Sci-fi style (German)</a></li>
<li><a href="https://cfp.gulas.ch/gpn22/schedule/" target="_blank" rel="nofollow noopener">Gulaschprogrammiernacht (GPN) 22 (some English talks, but most in German)</a></li>
<li><a href="https://people.freebsd.org/%7Edch/posts/2014-09-05-a-ramdisk-based-workflow/" target="_blank" rel="nofollow noopener">A RAM-disk based workflow</a></li>
</ul>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>My personal BSDCan Devsummit and Schedule, Syncthing, Paperless-ngx, neovim, Things we always remind ourselves while coding, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<hr>

<p><a href="https://freebsdfoundation.org/news-and-events/event-calendar/may-2024-freebsd-developer-summit/" target="_blank" rel="nofollow noopener">FreeBSD Devsummit 2024 Schedule</a></p>

<p><a href="https://indico.bsdcan.org/event/1/timetable/?#20240531.detailed" target="_blank" rel="nofollow noopener">BSDCan 2024 Schedule</a></p>

<hr>

<h2>News Roundup</h2>

<p>A list of things I was drawn deeper into, got excited about, and wanted to tell you more about.</p>

<hr>

<p><a href="https://syncthing.net" target="_blank" rel="nofollow noopener">Syncthing</a></p>

<hr>

<p><a href="https://docs.paperless-ngx.com" target="_blank" rel="nofollow noopener">Paperless-ngx</a></p>

<ul>
<li><a href="https://man.freebsd.org/cgi/man.cgi?query=paperless&amp;apropos=0&amp;sektion=0&amp;manpath=FreeBSD+14.0-RELEASE+and+Ports&amp;arch=default&amp;format=html" target="_blank" rel="nofollow noopener">FreeBSD ports man page</a></li>
</ul>

<hr>

<p><a href="https://neovim.io" target="_blank" rel="nofollow noopener">Neovim</a></p>

<ul>
<li><p><a href="https://neovimcraft.com" target="_blank" rel="nofollow noopener">List of popular plugins and themes</a></p></li>
<li><p><a href="https://www.youtube.com/playlist?list=PLsz00TDipIffreIaUNk64KxTIkQaGguqn" target="_blank" rel="nofollow noopener">Neovim for Newbs (by the Typecraft guy)</a></p></li>
<li><p><a href="https://www.youtube.com/watch?v=6pAG3BHurdM&amp;list=PLnu5gT9QrFg36OehOdECFvxFFeMHhb_07&amp;index=11&amp;pp=iAQB" target="_blank" rel="nofollow noopener">Josean Martinez does a step by step tutorial</a></p></li>
<li><p><a href="https://www.josean.com/posts/how-to-setup-neovim-2024" target="_blank" rel="nofollow noopener">Blog post about the setup</a></p></li>
<li><p><a href="https://www.youtube.com/watch?v=rT-fbLFOCy0" target="_blank" rel="nofollow noopener">TJ DeVries (Neovim developer) reads the entire manual in 9:27:42</a></p></li>
</ul>

<hr>

<p><a href="https://changelog.com/posts/things-we-always-remind-ourselves-while-coding" target="_blank" rel="nofollow noopener">Things we always remind ourselves while coding</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://media.ccc.de/v/fsck-2024-66-disk-space-the-final-frontier-" target="_blank" rel="nofollow noopener">Me giving a ZFS intro talk, Sci-fi style (German)</a></li>
<li><a href="https://cfp.gulas.ch/gpn22/schedule/" target="_blank" rel="nofollow noopener">Gulaschprogrammiernacht (GPN) 22 (some English talks, but most in German)</a></li>
<li><a href="https://people.freebsd.org/%7Edch/posts/2014-09-05-a-ramdisk-based-workflow/" target="_blank" rel="nofollow noopener">A RAM-disk based workflow</a></li>
</ul>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>561: Kicked off ARPANET</title>
  <link>https://www.bsdnow.tv/561</link>
  <guid isPermaLink="false">499e2b62-bfa6-43ac-95b3-3b9962a113de</guid>
  <pubDate>Thu, 30 May 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/499e2b62-bfa6-43ac-95b3-3b9962a113de.mp3" length="59200128" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Why FreeBSD Continues to Innovate and Thrive, Why BSD, A BSD person tries Alpine Linux, This message does not exist, Demise of Nagle's algorithm, How Jerry Pournelle Got Kicked Off the ARPANET, and more</itunes:subtitle>
  <itunes:duration>1:01:40</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>&lt;p&gt;Why FreeBSD Continues to Innovate and Thrive, Why BSD, A BSD person tries Alpine Linux, This message does not exist, Demise of Nagle's algorithm, How Jerry Pournelle Got Kicked Off the ARPANET, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/why-freebsd-continues-to-innovate-and-thrive/" target="_blank" rel="nofollow noopener"&gt;Why FreeBSD Continues to Innovate and Thrive&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://michal.sapka.me/bsd/why-bsd/" target="_blank" rel="nofollow noopener"&gt;Why BSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://rubenerd.com/a-bsd-pserson-trying-alpine-linux/" target="_blank" rel="nofollow noopener"&gt;A BSD person tries Alpine Linux&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.kmjn.org/notes/message_existence.html" target="_blank" rel="nofollow noopener"&gt;This message does not exist&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20240514075024" target="_blank" rel="nofollow noopener"&gt;Demise of Nagle's algorithm (RFC 896 - Congestion Control) predicted via sysctl&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://delong.typepad.com/sdj/2013/07/how-jerry-pournelle-got-kicked-off-the-arpanet.html" target="_blank" rel="nofollow noopener"&gt;How Jerry Pournelle Got Kicked Off the ARPANET&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, innovate, thrive, alpine, cpu, usage, exist, message, nagle, algorithm, jerry Pournelle, ARPANET</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Why FreeBSD Continues to Innovate and Thrive, Why BSD, A BSD person tries Alpine Linux, This message does not exist, Demise of Nagle's algorithm, How Jerry Pournelle Got Kicked Off the ARPANET, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/why-freebsd-continues-to-innovate-and-thrive/" target="_blank" rel="nofollow noopener">Why FreeBSD Continues to Innovate and Thrive</a></p>

<hr>

<p><a href="https://michal.sapka.me/bsd/why-bsd/" target="_blank" rel="nofollow noopener">Why BSD</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://rubenerd.com/a-bsd-pserson-trying-alpine-linux/" target="_blank" rel="nofollow noopener">A BSD person tries Alpine Linux</a></p>

<hr>

<p><a href="https://www.kmjn.org/notes/message_existence.html" target="_blank" rel="nofollow noopener">This message does not exist</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240514075024" target="_blank" rel="nofollow noopener">Demise of Nagle's algorithm (RFC 896 - Congestion Control) predicted via sysctl</a></p>

<hr>

<p><a href="https://delong.typepad.com/sdj/2013/07/how-jerry-pournelle-got-kicked-off-the-arpanet.html" target="_blank" rel="nofollow noopener">How Jerry Pournelle Got Kicked Off the ARPANET</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Why FreeBSD Continues to Innovate and Thrive, Why BSD, A BSD person tries Alpine Linux, This message does not exist, Demise of Nagle's algorithm, How Jerry Pournelle Got Kicked Off the ARPANET, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/why-freebsd-continues-to-innovate-and-thrive/" target="_blank" rel="nofollow noopener">Why FreeBSD Continues to Innovate and Thrive</a></p>

<hr>

<p><a href="https://michal.sapka.me/bsd/why-bsd/" target="_blank" rel="nofollow noopener">Why BSD</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://rubenerd.com/a-bsd-pserson-trying-alpine-linux/" target="_blank" rel="nofollow noopener">A BSD person tries Alpine Linux</a></p>

<hr>

<p><a href="https://www.kmjn.org/notes/message_existence.html" target="_blank" rel="nofollow noopener">This message does not exist</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240514075024" target="_blank" rel="nofollow noopener">Demise of Nagle's algorithm (RFC 896 - Congestion Control) predicted via sysctl</a></p>

<hr>

<p><a href="https://delong.typepad.com/sdj/2013/07/how-jerry-pournelle-got-kicked-off-the-arpanet.html" target="_blank" rel="nofollow noopener">How Jerry Pournelle Got Kicked Off the ARPANET</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>560: Why not BSD</title>
  <link>https://www.bsdnow.tv/560</link>
  <guid isPermaLink="false">9822ee64-8eaf-48cf-8603-d583f258fc4f</guid>
  <pubDate>Thu, 23 May 2024 10:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9822ee64-8eaf-48cf-8603-d583f258fc4f.mp3" length="59353728" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Status Report First Quarter 2024, Why not BSD, LibreSSL version 3.9.2 released, Running NetBSD on OmniOS using bhyve, X.Org on NetBSD, Unix version control lore: what, ident, How I search in 2024, sshd split into multiple binaries, and more</itunes:subtitle>
  <itunes:duration>1:01: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>&lt;p&gt;FreeBSD Status Report First Quarter 2024, Why not BSD, LibreSSL version 3.9.2 released, Running NetBSD on OmniOS using bhyve, X.Org on NetBSD, Unix version control lore: what, ident, How I search in 2024, sshd split into multiple binaries, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.freebsd.org/status/report-2024-01-2024-03/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Status Report First Quarter 2024&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://michal.sapka.me/bsd/why-not-bsd/" target="_blank" rel="nofollow noopener"&gt;Why not BSD&lt;/a&gt; + Sequel next week&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20240512115958" target="_blank" rel="nofollow noopener"&gt;LibreSSL version 3.9.2 released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2024/running-netbsd-on-omnios-using-bhyve/" target="_blank" rel="nofollow noopener"&gt;Running NetBSD on OmniOS using bhyve&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/x_org_on_netbsd_the" target="_blank" rel="nofollow noopener"&gt;X.Org on NetBSD - the state of things&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dotat.at/@/2024-05-13-what-ident.html" target="_blank" rel="nofollow noopener"&gt;Unix version control lore: what, ident&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://vickiboykis.com/2024/04/25/how-i-search-in-2024/" target="_blank" rel="nofollow noopener"&gt;How I search in 2024&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20240517092416" target="_blank" rel="nofollow noopener"&gt;sshd(8) split into multiple binaries&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, status report, Q1 2024, libressl, omnios, bhyve, version control, lore, what, ident, search, searching, sshd, binaries,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Status Report First Quarter 2024, Why not BSD, LibreSSL version 3.9.2 released, Running NetBSD on OmniOS using bhyve, X.Org on NetBSD, Unix version control lore: what, ident, How I search in 2024, sshd split into multiple binaries, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.freebsd.org/status/report-2024-01-2024-03/" target="_blank" rel="nofollow noopener">FreeBSD Status Report First Quarter 2024</a></p>

<hr>

<p><a href="https://michal.sapka.me/bsd/why-not-bsd/" target="_blank" rel="nofollow noopener">Why not BSD</a> + Sequel next week</p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240512115958" target="_blank" rel="nofollow noopener">LibreSSL version 3.9.2 released</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/running-netbsd-on-omnios-using-bhyve/" target="_blank" rel="nofollow noopener">Running NetBSD on OmniOS using bhyve</a></p>

<hr>

<p><a href="https://blog.netbsd.org/tnf/entry/x_org_on_netbsd_the" target="_blank" rel="nofollow noopener">X.Org on NetBSD - the state of things</a></p>

<hr>

<p><a href="https://dotat.at/@/2024-05-13-what-ident.html" target="_blank" rel="nofollow noopener">Unix version control lore: what, ident</a></p>

<hr>

<p><a href="https://vickiboykis.com/2024/04/25/how-i-search-in-2024/" target="_blank" rel="nofollow noopener">How I search in 2024</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240517092416" target="_blank" rel="nofollow noopener">sshd(8) split into multiple binaries</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Status Report First Quarter 2024, Why not BSD, LibreSSL version 3.9.2 released, Running NetBSD on OmniOS using bhyve, X.Org on NetBSD, Unix version control lore: what, ident, How I search in 2024, sshd split into multiple binaries, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.freebsd.org/status/report-2024-01-2024-03/" target="_blank" rel="nofollow noopener">FreeBSD Status Report First Quarter 2024</a></p>

<hr>

<p><a href="https://michal.sapka.me/bsd/why-not-bsd/" target="_blank" rel="nofollow noopener">Why not BSD</a> + Sequel next week</p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240512115958" target="_blank" rel="nofollow noopener">LibreSSL version 3.9.2 released</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/running-netbsd-on-omnios-using-bhyve/" target="_blank" rel="nofollow noopener">Running NetBSD on OmniOS using bhyve</a></p>

<hr>

<p><a href="https://blog.netbsd.org/tnf/entry/x_org_on_netbsd_the" target="_blank" rel="nofollow noopener">X.Org on NetBSD - the state of things</a></p>

<hr>

<p><a href="https://dotat.at/@/2024-05-13-what-ident.html" target="_blank" rel="nofollow noopener">Unix version control lore: what, ident</a></p>

<hr>

<p><a href="https://vickiboykis.com/2024/04/25/how-i-search-in-2024/" target="_blank" rel="nofollow noopener">How I search in 2024</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240517092416" target="_blank" rel="nofollow noopener">sshd(8) split into multiple binaries</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>559: Rainy WiFi Days</title>
  <link>https://www.bsdnow.tv/559</link>
  <guid isPermaLink="false">9e7884ae-e36e-4f7f-8c73-96cd70d35b45</guid>
  <pubDate>Thu, 16 May 2024 11:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9e7884ae-e36e-4f7f-8c73-96cd70d35b45.mp3" length="54996864" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>An RNG that runs in your brain, Going Stateless, SmolBSD, The Wi-Fi only works when it's raining, Wayland, where are we in 2024?, Omnios pxe booting, OpenBSD scripts to convert wg-quick VPN files, and more</itunes:subtitle>
  <itunes:duration>57:17</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>&lt;p&gt;An RNG that runs in your brain, Going Stateless, SmolBSD, The Wi-Fi only works when it's raining, Wayland, where are we in 2024?, Omnios pxe booting, OpenBSD scripts to convert wg-quick VPN files, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.hillelwayne.com/post/randomness/" target="_blank" rel="nofollow noopener"&gt;An RNG that runs in your brain&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2024-04-20-workstation-going-stateless.html" target="_blank" rel="nofollow noopener"&gt;Going Stateless&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://smolbsd.org" target="_blank" rel="nofollow noopener"&gt;SmolBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://predr.ag/blog/wifi-only-works-when-its-raining/" target="_blank" rel="nofollow noopener"&gt;The Wi-Fi only works when it's raining&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.dedoimedo.com/computers/wayland-2024.html" target="_blank" rel="nofollow noopener"&gt;Wayland, where are we in 2024? Any good for being the default?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://neirac.srht.site/posts/ipxe_boot.html" target="_blank" rel="nofollow noopener"&gt;Omnios pxe booting&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2024-04-27-openbsd-wg-quick-converter.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD scripts to convert wg-quick VPN files&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, RNG, brain, stateless, smolbsd, rain, wifi, wayland, omnios, pxe, booting, wg-quick, VPN, wireguard,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>An RNG that runs in your brain, Going Stateless, SmolBSD, The Wi-Fi only works when it's raining, Wayland, where are we in 2024?, Omnios pxe booting, OpenBSD scripts to convert wg-quick VPN files, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.hillelwayne.com/post/randomness/" target="_blank" rel="nofollow noopener">An RNG that runs in your brain</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-04-20-workstation-going-stateless.html" target="_blank" rel="nofollow noopener">Going Stateless</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://smolbsd.org" target="_blank" rel="nofollow noopener">SmolBSD</a></p>

<hr>

<p><a href="https://predr.ag/blog/wifi-only-works-when-its-raining/" target="_blank" rel="nofollow noopener">The Wi-Fi only works when it's raining</a></p>

<hr>

<p><a href="https://www.dedoimedo.com/computers/wayland-2024.html" target="_blank" rel="nofollow noopener">Wayland, where are we in 2024? Any good for being the default?</a></p>

<hr>

<p><a href="https://neirac.srht.site/posts/ipxe_boot.html" target="_blank" rel="nofollow noopener">Omnios pxe booting</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-04-27-openbsd-wg-quick-converter.html" target="_blank" rel="nofollow noopener">OpenBSD scripts to convert wg-quick VPN files</a></p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>An RNG that runs in your brain, Going Stateless, SmolBSD, The Wi-Fi only works when it's raining, Wayland, where are we in 2024?, Omnios pxe booting, OpenBSD scripts to convert wg-quick VPN files, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.hillelwayne.com/post/randomness/" target="_blank" rel="nofollow noopener">An RNG that runs in your brain</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-04-20-workstation-going-stateless.html" target="_blank" rel="nofollow noopener">Going Stateless</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://smolbsd.org" target="_blank" rel="nofollow noopener">SmolBSD</a></p>

<hr>

<p><a href="https://predr.ag/blog/wifi-only-works-when-its-raining/" target="_blank" rel="nofollow noopener">The Wi-Fi only works when it's raining</a></p>

<hr>

<p><a href="https://www.dedoimedo.com/computers/wayland-2024.html" target="_blank" rel="nofollow noopener">Wayland, where are we in 2024? Any good for being the default?</a></p>

<hr>

<p><a href="https://neirac.srht.site/posts/ipxe_boot.html" target="_blank" rel="nofollow noopener">Omnios pxe booting</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-04-27-openbsd-wg-quick-converter.html" target="_blank" rel="nofollow noopener">OpenBSD scripts to convert wg-quick VPN files</a></p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>558: Worlds of telnet</title>
  <link>https://www.bsdnow.tv/558</link>
  <guid isPermaLink="false">813adc0b-a4ca-4810-9cac-ef64a1dafccd</guid>
  <pubDate>Thu, 09 May 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/813adc0b-a4ca-4810-9cac-ef64a1dafccd.mp3" length="87563520" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>NetBSD 9.4, FreeBSD SSDF Attestation to Support Cybersecurity Compliance, The Lost Worlds of Telnet, alter file ownership and permissions with a feedback information, parallel raw IP input, OpenBSD routers on AliExpress mini PCs, FreeBSD for Devs.  Plus a special interview with the organizers of BSDCAN 2024.</itunes:subtitle>
  <itunes:duration>1:31:12</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>&lt;p&gt;NetBSD 9.4, FreeBSD SSDF Attestation to Support Cybersecurity Compliance, The Lost Worlds of Telnet, alter file ownership and permissions with a feedback information, parallel raw IP input, OpenBSD routers on AliExpress mini PCs, FreeBSD for Devs.  Plus a special interview with the organizers of BSDCAN 2024.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.netbsd.org/releases/formal-9/NetBSD-9.4.html" target="_blank" rel="nofollow noopener"&gt;NetBSD 9.4&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/freebsd-foundation-delivers-v1-of-freebsd-ssdf-attestation-to-support-cybersecurity-compliance/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation Delivers V1 of FreeBSD SSDF Attestation to Support Cybersecurity Compliance&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://thenewstack.io/the-lost-worlds-of-telnet/" target="_blank" rel="nofollow noopener"&gt;The Lost Worlds of Telnet&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://sleeplessbeastie.eu/2024/04/18/how-to-alter-file-ownership-and-permissions-with-a-feedback-information/" target="_blank" rel="nofollow noopener"&gt;How to alter file ownership and permissions with a feedback information&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20240418050520" target="_blank" rel="nofollow noopener"&gt;Coming soon to a -current system near you: parallel raw IP input&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.srcbeat.com/2024/02/aliexpress-openbsd-router/" target="_blank" rel="nofollow noopener"&gt;OpenBSD routers on AliExpress mini PCs&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dev.to/scovl/freebsd-for-devs-3n0k" target="_blank" rel="nofollow noopener"&gt;FreeBSD for Devs&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/556/feedback/Daniel%20-%20jail%20issue.md" target="_blank" rel="nofollow noopener"&gt;Daniel - jail issue&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/556/feedback/Rick%20-%20ZFS.md" target="_blank" rel="nofollow noopener"&gt;Rick - ZFS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, netbsd 9.4, ssdf, Attestation, Cybersecurity compliance, telnet, file ownership, permissions, feedback information, parallel raw IP input, routers, AliExpress, mini PCs, developers, bsdcan</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>NetBSD 9.4, FreeBSD SSDF Attestation to Support Cybersecurity Compliance, The Lost Worlds of Telnet, alter file ownership and permissions with a feedback information, parallel raw IP input, OpenBSD routers on AliExpress mini PCs, FreeBSD for Devs.  Plus a special interview with the organizers of BSDCAN 2024.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.netbsd.org/releases/formal-9/NetBSD-9.4.html" target="_blank" rel="nofollow noopener">NetBSD 9.4</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/freebsd-foundation-delivers-v1-of-freebsd-ssdf-attestation-to-support-cybersecurity-compliance/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Delivers V1 of FreeBSD SSDF Attestation to Support Cybersecurity Compliance</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://thenewstack.io/the-lost-worlds-of-telnet/" target="_blank" rel="nofollow noopener">The Lost Worlds of Telnet</a></p>

<hr>

<p><a href="https://sleeplessbeastie.eu/2024/04/18/how-to-alter-file-ownership-and-permissions-with-a-feedback-information/" target="_blank" rel="nofollow noopener">How to alter file ownership and permissions with a feedback information</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20240418050520" target="_blank" rel="nofollow noopener">Coming soon to a -current system near you: parallel raw IP input</a></p>

<hr>

<p><a href="https://www.srcbeat.com/2024/02/aliexpress-openbsd-router/" target="_blank" rel="nofollow noopener">OpenBSD routers on AliExpress mini PCs</a></p>

<hr>

<p><a href="https://dev.to/scovl/freebsd-for-devs-3n0k" target="_blank" rel="nofollow noopener">FreeBSD for Devs</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/556/feedback/Daniel%20-%20jail%20issue.md" target="_blank" rel="nofollow noopener">Daniel - jail issue</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/556/feedback/Rick%20-%20ZFS.md" target="_blank" rel="nofollow noopener">Rick - ZFS</a></p></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>NetBSD 9.4, FreeBSD SSDF Attestation to Support Cybersecurity Compliance, The Lost Worlds of Telnet, alter file ownership and permissions with a feedback information, parallel raw IP input, OpenBSD routers on AliExpress mini PCs, FreeBSD for Devs.  Plus a special interview with the organizers of BSDCAN 2024.</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.netbsd.org/releases/formal-9/NetBSD-9.4.html" target="_blank" rel="nofollow noopener">NetBSD 9.4</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/freebsd-foundation-delivers-v1-of-freebsd-ssdf-attestation-to-support-cybersecurity-compliance/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Delivers V1 of FreeBSD SSDF Attestation to Support Cybersecurity Compliance</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://thenewstack.io/the-lost-worlds-of-telnet/" target="_blank" rel="nofollow noopener">The Lost Worlds of Telnet</a></p>

<hr>

<p><a href="https://sleeplessbeastie.eu/2024/04/18/how-to-alter-file-ownership-and-permissions-with-a-feedback-information/" target="_blank" rel="nofollow noopener">How to alter file ownership and permissions with a feedback information</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20240418050520" target="_blank" rel="nofollow noopener">Coming soon to a -current system near you: parallel raw IP input</a></p>

<hr>

<p><a href="https://www.srcbeat.com/2024/02/aliexpress-openbsd-router/" target="_blank" rel="nofollow noopener">OpenBSD routers on AliExpress mini PCs</a></p>

<hr>

<p><a href="https://dev.to/scovl/freebsd-for-devs-3n0k" target="_blank" rel="nofollow noopener">FreeBSD for Devs</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/556/feedback/Daniel%20-%20jail%20issue.md" target="_blank" rel="nofollow noopener">Daniel - jail issue</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/556/feedback/Rick%20-%20ZFS.md" target="_blank" rel="nofollow noopener">Rick - ZFS</a></p></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>557: 17h per frame</title>
  <link>https://www.bsdnow.tv/557</link>
  <guid isPermaLink="false">e7b7b0ae-86ba-4f1e-849b-e46741b63ebd</guid>
  <pubDate>Thu, 02 May 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e7b7b0ae-86ba-4f1e-849b-e46741b63ebd.mp3" length="44994816" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Open Source Software: The $9 Trillion Resource Companies Take for Granted, Tinkering with Manjaro and NetBSD on the Pinebook Pro: a crumbs-in-the-forest tutorial &amp; review, OpenSMTPD 7.5.0p0 Released, OpenBSD 7.5 locks down with improved disk encryption support and syscall limitations, Book 8088, Custom Prometheus dashboards using Console templates, FreeBSD Foundation March 2024 Partnerships Update, Ray tracing made possible on 42-year-old ZX Spectrum: 'reasonably fast, if you consider 17 hours per frame to be reasonably fast', and more</itunes:subtitle>
  <itunes:duration>46:52</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>&lt;p&gt;Open Source Software: The $9 Trillion Resource Companies Take for Granted, Tinkering with Manjaro and NetBSD on the Pinebook Pro: a crumbs-in-the-forest tutorial &amp;amp; review, OpenSMTPD 7.5.0p0 Released, OpenBSD 7.5 locks down with improved disk encryption support and syscall limitations, Book 8088, Custom Prometheus dashboards using Console templates, FreeBSD Foundation March 2024 Partnerships Update, Ray tracing made possible on 42-year-old ZX Spectrum: 'reasonably fast, if you consider 17 hours per frame to be reasonably fast', and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hbswk.hbs.edu/item/open-source-software-the-nine-trillion-resource-companies-take-for-granted" target="_blank" rel="nofollow noopener"&gt;Open Source Software: The $9 Trillion Resource Companies Take for Granted&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.autodidacts.io/pinebook-pro-linux-bsd-laptop-review-tutorial/" target="_blank" rel="nofollow noopener"&gt;Tinkering with Manjaro and NetBSD on the Pinebook Pro: a crumbs-in-the-forest tutorial &amp;amp; review&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20240410185045" target="_blank" rel="nofollow noopener"&gt;OpenSMTPD 7.5.0p0 Released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.theregister.com/2024/04/12/openbsd_75_disk_encryption/" target="_blank" rel="nofollow noopener"&gt;OpenBSD 7.5 locks down with improved disk encryption support and syscall limitations&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://liliputing.com/version-2-0-of-the-book-8088-retro-mini-laptop-adds-vga-graphics-card-and-serial-ports/" target="_blank" rel="nofollow noopener"&gt;Book 8088&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://tumfatig.net/2024/custom-prometheus-dashboards-using-console-templates/" target="_blank" rel="nofollow noopener"&gt;Custom Prometheus dashboards using Console templates&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/march-2024-partnerships-update/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation March 2024 Partnerships Update&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.pcgamer.com/ray-tracing-made-possible-on-42-year-old-zx-spectrum-reasonably-fast-if-you-consider-17-hours-per-frame-to-be-reasonably-fast/" target="_blank" rel="nofollow noopener"&gt;Ray tracing made possible on 42-year-old ZX Spectrum: 'reasonably fast, if you consider 17 hours per frame to be reasonably fast'&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, trillion dollar, resource, tinkering, manjaro, pinebook pro, OpenSMTPD, lock down, disk encryption, syscall limitation, book 8088, prometheus, console, partnerships, ray tracing, zx spectrum</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Open Source Software: The $9 Trillion Resource Companies Take for Granted, Tinkering with Manjaro and NetBSD on the Pinebook Pro: a crumbs-in-the-forest tutorial &amp; review, OpenSMTPD 7.5.0p0 Released, OpenBSD 7.5 locks down with improved disk encryption support and syscall limitations, Book 8088, Custom Prometheus dashboards using Console templates, FreeBSD Foundation March 2024 Partnerships Update, Ray tracing made possible on 42-year-old ZX Spectrum: 'reasonably fast, if you consider 17 hours per frame to be reasonably fast', 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://hbswk.hbs.edu/item/open-source-software-the-nine-trillion-resource-companies-take-for-granted" target="_blank" rel="nofollow noopener">Open Source Software: The $9 Trillion Resource Companies Take for Granted</a></p>

<hr>

<p><a href="https://www.autodidacts.io/pinebook-pro-linux-bsd-laptop-review-tutorial/" target="_blank" rel="nofollow noopener">Tinkering with Manjaro and NetBSD on the Pinebook Pro: a crumbs-in-the-forest tutorial &amp; review</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240410185045" target="_blank" rel="nofollow noopener">OpenSMTPD 7.5.0p0 Released</a></p>

<hr>

<p><a href="https://www.theregister.com/2024/04/12/openbsd_75_disk_encryption/" target="_blank" rel="nofollow noopener">OpenBSD 7.5 locks down with improved disk encryption support and syscall limitations</a></p>

<hr>

<p><a href="https://liliputing.com/version-2-0-of-the-book-8088-retro-mini-laptop-adds-vga-graphics-card-and-serial-ports/" target="_blank" rel="nofollow noopener">Book 8088</a></p>

<hr>

<p><a href="https://tumfatig.net/2024/custom-prometheus-dashboards-using-console-templates/" target="_blank" rel="nofollow noopener">Custom Prometheus dashboards using Console templates</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/march-2024-partnerships-update/" target="_blank" rel="nofollow noopener">FreeBSD Foundation March 2024 Partnerships Update</a></p>

<hr>

<p><a href="https://www.pcgamer.com/ray-tracing-made-possible-on-42-year-old-zx-spectrum-reasonably-fast-if-you-consider-17-hours-per-frame-to-be-reasonably-fast/" target="_blank" rel="nofollow noopener">Ray tracing made possible on 42-year-old ZX Spectrum: 'reasonably fast, if you consider 17 hours per frame to be reasonably fast'</a></p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Open Source Software: The $9 Trillion Resource Companies Take for Granted, Tinkering with Manjaro and NetBSD on the Pinebook Pro: a crumbs-in-the-forest tutorial &amp; review, OpenSMTPD 7.5.0p0 Released, OpenBSD 7.5 locks down with improved disk encryption support and syscall limitations, Book 8088, Custom Prometheus dashboards using Console templates, FreeBSD Foundation March 2024 Partnerships Update, Ray tracing made possible on 42-year-old ZX Spectrum: 'reasonably fast, if you consider 17 hours per frame to be reasonably fast', 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://hbswk.hbs.edu/item/open-source-software-the-nine-trillion-resource-companies-take-for-granted" target="_blank" rel="nofollow noopener">Open Source Software: The $9 Trillion Resource Companies Take for Granted</a></p>

<hr>

<p><a href="https://www.autodidacts.io/pinebook-pro-linux-bsd-laptop-review-tutorial/" target="_blank" rel="nofollow noopener">Tinkering with Manjaro and NetBSD on the Pinebook Pro: a crumbs-in-the-forest tutorial &amp; review</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240410185045" target="_blank" rel="nofollow noopener">OpenSMTPD 7.5.0p0 Released</a></p>

<hr>

<p><a href="https://www.theregister.com/2024/04/12/openbsd_75_disk_encryption/" target="_blank" rel="nofollow noopener">OpenBSD 7.5 locks down with improved disk encryption support and syscall limitations</a></p>

<hr>

<p><a href="https://liliputing.com/version-2-0-of-the-book-8088-retro-mini-laptop-adds-vga-graphics-card-and-serial-ports/" target="_blank" rel="nofollow noopener">Book 8088</a></p>

<hr>

<p><a href="https://tumfatig.net/2024/custom-prometheus-dashboards-using-console-templates/" target="_blank" rel="nofollow noopener">Custom Prometheus dashboards using Console templates</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/march-2024-partnerships-update/" target="_blank" rel="nofollow noopener">FreeBSD Foundation March 2024 Partnerships Update</a></p>

<hr>

<p><a href="https://www.pcgamer.com/ray-tracing-made-possible-on-42-year-old-zx-spectrum-reasonably-fast-if-you-consider-17-hours-per-frame-to-be-reasonably-fast/" target="_blank" rel="nofollow noopener">Ray tracing made possible on 42-year-old ZX Spectrum: 'reasonably fast, if you consider 17 hours per frame to be reasonably fast'</a></p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<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>&lt;p&gt;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&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://btxx.org/posts/OpenBSD_is_a_Cozy_Operating_System/" target="_blank" rel="nofollow noopener"&gt;OpenBSD is a Cozy Operating System&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://3.14.by/en/read/RISC-V-Sipeed-Lichee-Console-4A-Alibaba-T-Head-TH1520-review" target="_blank" rel="nofollow noopener"&gt;Lichee Console 4A - RISC-V mini laptop&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2024-03-30-lessons-learned-xz-vuln.html" target="_blank" rel="nofollow noopener"&gt;Lessons learned with XZ vulnerability&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://lcamtuf.substack.com/p/technologist-vs-spy-the-xz-backdoor" target="_blank" rel="nofollow noopener"&gt;Techies vs spies: the xz backdoor debate&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://posixcafe.org/blogs/2024/04/03/0/" target="_blank" rel="nofollow noopener"&gt;Not Not Porting 9front to Power64&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://tenfourfox.blogspot.com/2024/02/one-less-unxy-option-for-32-bit-powerpc.html" target="_blank" rel="nofollow noopener"&gt;One less Un*xy option for 32-bit PowerPC&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

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

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://btxx.org/posts/OpenBSD_is_a_Cozy_Operating_System/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">Lessons learned with XZ vulnerability</a></p>

<hr>

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

<hr>

<p><a href="https://posixcafe.org/blogs/2024/04/03/0/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">20 years since...</a></li>
<li><a href="https://cdn.gyptazy.ch/files/docs/freebsd/jails/" target="_blank" rel="nofollow noopener">Jails PDFs</a></li>
<li><a href="https://github.com/nixos-bsd/nixbsd" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">rigg - run indie games on OpenBSD</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-announce/2024/04/04/msg000370.html" target="_blank" rel="nofollow noopener">pkgsrc 2024Q1</a></li>
<li><a href="https://badland.io/packmule.md" target="_blank" rel="nofollow noopener">PackMule</a></li>
<li><a href="https://codeberg.org/San_Bernadino_Operation/AcephalOS_image_build_system" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://btxx.org/posts/OpenBSD_is_a_Cozy_Operating_System/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">Lessons learned with XZ vulnerability</a></p>

<hr>

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

<hr>

<p><a href="https://posixcafe.org/blogs/2024/04/03/0/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">20 years since...</a></li>
<li><a href="https://cdn.gyptazy.ch/files/docs/freebsd/jails/" target="_blank" rel="nofollow noopener">Jails PDFs</a></li>
<li><a href="https://github.com/nixos-bsd/nixbsd" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">rigg - run indie games on OpenBSD</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-announce/2024/04/04/msg000370.html" target="_blank" rel="nofollow noopener">pkgsrc 2024Q1</a></li>
<li><a href="https://badland.io/packmule.md" target="_blank" rel="nofollow noopener">PackMule</a></li>
<li><a href="https://codeberg.org/San_Bernadino_Operation/AcephalOS_image_build_system" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>555: Poudriereing Apple Silicon</title>
  <link>https://www.bsdnow.tv/555</link>
  <guid isPermaLink="false">629f2e08-41a4-4551-b8e4-446706cd16a6</guid>
  <pubDate>Thu, 18 Apr 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/629f2e08-41a4-4551-b8e4-446706cd16a6.mp3" length="55516800" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Kubernetes and back - Why I don't run distributed systems, NetApp’s strategic contributions to FreeBSD: a deep dive into upstreaming efforts, Make your own E-Mail server - Part 2 - Adding Webmail and More with Nextcloud, Poudriere on Apple Silicon, One less Un\*xy option for 32-bit PowerPC, and more</itunes:subtitle>
  <itunes:duration>57: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>&lt;p&gt;Kubernetes and back - Why I don't run distributed systems, NetApp’s strategic contributions to FreeBSD: a deep dive into upstreaming efforts, Make your own E-Mail server - Part 2 - Adding Webmail and More with Nextcloud, Poudriere on Apple Silicon, One less Un*xy option for 32-bit PowerPC, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.davd.io/posts/2024-03-20-kubernetes-and-back-why-i-dont-run-distributed-systems/" target="_blank" rel="nofollow noopener"&gt;Kubernetes and back - Why I don't run distributed systems&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/netapps-strategic-contributions-to-freebsd-a-deep-dive-into-upstreaming-efforts/" target="_blank" rel="nofollow noopener"&gt;NetApp’s strategic contributions to FreeBSD: a deep dive into upstreaming efforts&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/03/21/make-your-own-email-server-freebsd-adding-nextcloud-part2/" target="_blank" rel="nofollow noopener"&gt;Make your own E-Mail server - Part 2 - Adding Webmail and More with Nextcloud&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://oliver-epper.de/posts/poudriere-on-m1-mac/" target="_blank" rel="nofollow noopener"&gt;Poudriere on Apple Silicon&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="http://tenfourfox.blogspot.com/2024/02/one-less-unxy-option-for-32-bit-powerpc.html" target="_blank" rel="nofollow noopener"&gt;One less Un*xy option for 32-bit PowerPC&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://freebsdfoundation.org/blog/powering-up-the-future-the-new-freebsd-cluster-in-chicago/" target="_blank" rel="nofollow noopener"&gt;Powering up the future: the new FreeBSD cluster in Chicago&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/catfacedck/Dragonflybsd-Acer-Nitro-Laptops-AN515-5158-XXX" target="_blank" rel="nofollow noopener"&gt;Dragonflybsd 6.5 Snapshot Release on Acer Nitro AN515-51/58-XXX Series Laptops&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

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

&lt;hr&gt;
</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, kubernetes, distributed systems, netapp, strategic contribution, upstreaming, efforts, email server, webmail, nextcloud, Poudriere, apple silicon, powerpc, 32-bit</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Kubernetes and back - Why I don't run distributed systems, NetApp’s strategic contributions to FreeBSD: a deep dive into upstreaming efforts, Make your own E-Mail server - Part 2 - Adding Webmail and More with Nextcloud, Poudriere on Apple Silicon, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.davd.io/posts/2024-03-20-kubernetes-and-back-why-i-dont-run-distributed-systems/" target="_blank" rel="nofollow noopener">Kubernetes and back - Why I don't run distributed systems</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/netapps-strategic-contributions-to-freebsd-a-deep-dive-into-upstreaming-efforts/" target="_blank" rel="nofollow noopener">NetApp’s strategic contributions to FreeBSD: a deep dive into upstreaming efforts</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://it-notes.dragas.net/2024/03/21/make-your-own-email-server-freebsd-adding-nextcloud-part2/" target="_blank" rel="nofollow noopener">Make your own E-Mail server - Part 2 - Adding Webmail and More with Nextcloud</a></p>

<hr>

<p><a href="https://oliver-epper.de/posts/poudriere-on-m1-mac/" target="_blank" rel="nofollow noopener">Poudriere on Apple Silicon</a></p>

<hr>

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

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://freebsdfoundation.org/blog/powering-up-the-future-the-new-freebsd-cluster-in-chicago/" target="_blank" rel="nofollow noopener">Powering up the future: the new FreeBSD cluster in Chicago</a></li>
<li><a href="https://github.com/catfacedck/Dragonflybsd-Acer-Nitro-Laptops-AN515-5158-XXX" target="_blank" rel="nofollow noopener">Dragonflybsd 6.5 Snapshot Release on Acer Nitro AN515-51/58-XXX Series Laptops</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>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Kubernetes and back - Why I don't run distributed systems, NetApp’s strategic contributions to FreeBSD: a deep dive into upstreaming efforts, Make your own E-Mail server - Part 2 - Adding Webmail and More with Nextcloud, Poudriere on Apple Silicon, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.davd.io/posts/2024-03-20-kubernetes-and-back-why-i-dont-run-distributed-systems/" target="_blank" rel="nofollow noopener">Kubernetes and back - Why I don't run distributed systems</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/netapps-strategic-contributions-to-freebsd-a-deep-dive-into-upstreaming-efforts/" target="_blank" rel="nofollow noopener">NetApp’s strategic contributions to FreeBSD: a deep dive into upstreaming efforts</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://it-notes.dragas.net/2024/03/21/make-your-own-email-server-freebsd-adding-nextcloud-part2/" target="_blank" rel="nofollow noopener">Make your own E-Mail server - Part 2 - Adding Webmail and More with Nextcloud</a></p>

<hr>

<p><a href="https://oliver-epper.de/posts/poudriere-on-m1-mac/" target="_blank" rel="nofollow noopener">Poudriere on Apple Silicon</a></p>

<hr>

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

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://freebsdfoundation.org/blog/powering-up-the-future-the-new-freebsd-cluster-in-chicago/" target="_blank" rel="nofollow noopener">Powering up the future: the new FreeBSD cluster in Chicago</a></li>
<li><a href="https://github.com/catfacedck/Dragonflybsd-Acer-Nitro-Laptops-AN515-5158-XXX" target="_blank" rel="nofollow noopener">Dragonflybsd 6.5 Snapshot Release on Acer Nitro AN515-51/58-XXX Series Laptops</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>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>554: NetBSD Double Digit</title>
  <link>https://www.bsdnow.tv/554</link>
  <guid isPermaLink="false">8c49ca38-53e5-49cb-93f4-dcf4eae69f08</guid>
  <pubDate>Thu, 11 Apr 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8c49ca38-53e5-49cb-93f4-dcf4eae69f08.mp3" length="60370176" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The XZ Backdoor, NetBSD 10.0, iX announces that they will put out a release of TrueNAS 13.3, State of the Terminal, LibreSSL 3.8.4 and 3.9.1 released and more</itunes:subtitle>
  <itunes:duration>1:02:53</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>&lt;p&gt;The XZ Backdoor, NetBSD 10.0, iX announces that they will put out a release of TrueNAS 13.3, State of the Terminal, LibreSSL 3.8.4 and 3.9.1 released and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;People have no doubt heard of this by now, but are not aware of the BSD side of&lt;br&gt;
things since its mostly been Linux getting all the news. It'd be nice if we&lt;br&gt;
could give a summary of the issue and then address how it does/doesn't affect&lt;br&gt;
the BSDs.&lt;br&gt;
&lt;a href="https://boehs.org/node/everything-i-know-about-the-xz-backdoor" target="_blank" rel="nofollow noopener"&gt;The XZ Backdoor&lt;br&gt;
&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/statement_on_backdoor_in_xz" target="_blank" rel="nofollow noopener"&gt;NetBSD's statement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/archives/freebsd-security/2024-March/000248.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD's statement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;OpenBSD?&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://netbsd.org/releases/formal-10/NetBSD-10.0.html" target="_blank" rel="nofollow noopener"&gt;NetBSD 10.0&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.truenas.com/blog/truenas-core-13-3-plans/" target="_blank" rel="nofollow noopener"&gt;iX announces that they will put out a release of TrueNAS 13.3&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.zvault.io" target="_blank" rel="nofollow noopener"&gt;A community fork has been announced&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://gpanders.com/blog/state-of-the-terminal/" target="_blank" rel="nofollow noopener"&gt;State of the Terminal&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20240328181819" target="_blank" rel="nofollow noopener"&gt;LibreSSL 3.8.4 and 3.9.1 released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/554/feedback/Derek%20-%20NetBSD%20Security%20Advisory.md" target="_blank" rel="nofollow noopener"&gt;Derek via feedback has asked for some discussion around this NetBSD security advisory&lt;/a&gt;&lt;br&gt;
-- &lt;a href="https://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2024-001.txt.asc" target="_blank" rel="nofollow noopener"&gt;Advisory Link&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/554/feedback/Ben%20-%20nexcloud%20installation.md" target="_blank" rel="nofollow noopener"&gt;Ben - Nextcloud Installation&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, 10.0, xz, backdoor, ix systems, truenas 13.3, terminal, state, partnership update, libressl</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The XZ Backdoor, NetBSD 10.0, iX announces that they will put out a release of TrueNAS 13.3, State of the Terminal, LibreSSL 3.8.4 and 3.9.1 released 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p>People have no doubt heard of this by now, but are not aware of the BSD side of<br>
things since its mostly been Linux getting all the news. It'd be nice if we<br>
could give a summary of the issue and then address how it does/doesn't affect<br>
the BSDs.<br>
<a href="https://boehs.org/node/everything-i-know-about-the-xz-backdoor" target="_blank" rel="nofollow noopener">The XZ Backdoor<br>
</a></p>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/statement_on_backdoor_in_xz" target="_blank" rel="nofollow noopener">NetBSD's statement</a></li>
<li><a href="https://lists.freebsd.org/archives/freebsd-security/2024-March/000248.html" target="_blank" rel="nofollow noopener">FreeBSD's statement</a></li>
<li>OpenBSD?</li>
</ul>

<hr>

<p><a href="https://netbsd.org/releases/formal-10/NetBSD-10.0.html" target="_blank" rel="nofollow noopener">NetBSD 10.0</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.truenas.com/blog/truenas-core-13-3-plans/" target="_blank" rel="nofollow noopener">iX announces that they will put out a release of TrueNAS 13.3</a></p>

<ul>
<li><a href="https://www.zvault.io" target="_blank" rel="nofollow noopener">A community fork has been announced</a></li>
</ul>

<hr>

<p><a href="https://gpanders.com/blog/state-of-the-terminal/" target="_blank" rel="nofollow noopener">State of the Terminal</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240328181819" target="_blank" rel="nofollow noopener">LibreSSL 3.8.4 and 3.9.1 released</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/554/feedback/Derek%20-%20NetBSD%20Security%20Advisory.md" target="_blank" rel="nofollow noopener">Derek via feedback has asked for some discussion around this NetBSD security advisory</a><br>
-- <a href="https://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2024-001.txt.asc" target="_blank" rel="nofollow noopener">Advisory Link</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/554/feedback/Ben%20-%20nexcloud%20installation.md" target="_blank" rel="nofollow noopener">Ben - Nextcloud Installation</a></p></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The XZ Backdoor, NetBSD 10.0, iX announces that they will put out a release of TrueNAS 13.3, State of the Terminal, LibreSSL 3.8.4 and 3.9.1 released 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p>People have no doubt heard of this by now, but are not aware of the BSD side of<br>
things since its mostly been Linux getting all the news. It'd be nice if we<br>
could give a summary of the issue and then address how it does/doesn't affect<br>
the BSDs.<br>
<a href="https://boehs.org/node/everything-i-know-about-the-xz-backdoor" target="_blank" rel="nofollow noopener">The XZ Backdoor<br>
</a></p>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/statement_on_backdoor_in_xz" target="_blank" rel="nofollow noopener">NetBSD's statement</a></li>
<li><a href="https://lists.freebsd.org/archives/freebsd-security/2024-March/000248.html" target="_blank" rel="nofollow noopener">FreeBSD's statement</a></li>
<li>OpenBSD?</li>
</ul>

<hr>

<p><a href="https://netbsd.org/releases/formal-10/NetBSD-10.0.html" target="_blank" rel="nofollow noopener">NetBSD 10.0</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.truenas.com/blog/truenas-core-13-3-plans/" target="_blank" rel="nofollow noopener">iX announces that they will put out a release of TrueNAS 13.3</a></p>

<ul>
<li><a href="https://www.zvault.io" target="_blank" rel="nofollow noopener">A community fork has been announced</a></li>
</ul>

<hr>

<p><a href="https://gpanders.com/blog/state-of-the-terminal/" target="_blank" rel="nofollow noopener">State of the Terminal</a></p>

<hr>

<p><a href="https://undeadly.org/cgi?action=article;sid=20240328181819" target="_blank" rel="nofollow noopener">LibreSSL 3.8.4 and 3.9.1 released</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/554/feedback/Derek%20-%20NetBSD%20Security%20Advisory.md" target="_blank" rel="nofollow noopener">Derek via feedback has asked for some discussion around this NetBSD security advisory</a><br>
-- <a href="https://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2024-001.txt.asc" target="_blank" rel="nofollow noopener">Advisory Link</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/554/feedback/Ben%20-%20nexcloud%20installation.md" target="_blank" rel="nofollow noopener">Ben - Nextcloud Installation</a></p></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>553: Terminal Latency</title>
  <link>https://www.bsdnow.tv/553</link>
  <guid isPermaLink="false">fb2a50e1-0c95-4f05-844b-9c69c5aa90bf</guid>
  <pubDate>Thu, 04 Apr 2024 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/fb2a50e1-0c95-4f05-844b-9c69c5aa90bf.mp3" length="51366912" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Using Git offline, Make your own E-mail server, quiz: a tool for
rapid OpenZFS development, Configuring openzfs for nvme databases, Mirroring
OmniOS: The Complete Guide part 1, Installing OpenBSD 7.4 on a VisionFive 2 rev</itunes:subtitle>
  <itunes:duration>53:30</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>&lt;p&gt;Using Git offline, Make your own E-mail server, quiz: a tool for rapid OpenZFS development, Configuring openzfs for nvme databases, Mirroring OmniOS: The Complete Guide part 1, Installing OpenBSD 7.4 on a VisionFive 2 rev, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.gibbard.me/using_git_offline/" target="_blank" rel="nofollow noopener"&gt;Using Git offline&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/03/08/make-your-own-email-server-freebsd-opensmptd-rspamd-dovecot-part1/" target="_blank" rel="nofollow noopener"&gt;Make your own E-Mail server - FreeBSD, OpenSMTPD, Rspamd and Dovecot included - Part 1&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://despairlabs.com/blog/posts/2024-03-04-quiz-rapid-openzfs-development/" target="_blank" rel="nofollow noopener"&gt;quiz: a tool for rapid OpenZFS development&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/letsencrypt/openzfs-nvme-databases" target="_blank" rel="nofollow noopener"&gt;Configuring openzfs for nvme databases&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://antranigv.am/posts/2024/02/omnios-mirror-one/" target="_blank" rel="nofollow noopener"&gt;Mirroring OmniOS: The Complete Guide; Part One&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://quozul.dev/riscv/2023/12/22/installing-openbsd-on-visionfive-2.html" target="_blank" rel="nofollow noopener"&gt;Installing OpenBSD 7.4 on a VisionFive 2 rev 1.2a&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://beuke.org/terminal-latency/" target="_blank" rel="nofollow noopener"&gt;Terminal Latency&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, git, offline, email, server, quiz, openzfs development, nvme databases, omnios mirroring, VisionFive, terminal, latency</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Using Git offline, Make your own E-mail server, quiz: a tool for rapid OpenZFS development, Configuring openzfs for nvme databases, Mirroring OmniOS: The Complete Guide part 1, Installing OpenBSD 7.4 on a VisionFive 2 rev, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.gibbard.me/using_git_offline/" target="_blank" rel="nofollow noopener">Using Git offline</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/03/08/make-your-own-email-server-freebsd-opensmptd-rspamd-dovecot-part1/" target="_blank" rel="nofollow noopener">Make your own E-Mail server - FreeBSD, OpenSMTPD, Rspamd and Dovecot included - Part 1</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://despairlabs.com/blog/posts/2024-03-04-quiz-rapid-openzfs-development/" target="_blank" rel="nofollow noopener">quiz: a tool for rapid OpenZFS development</a></p>

<hr>

<p><a href="https://github.com/letsencrypt/openzfs-nvme-databases" target="_blank" rel="nofollow noopener">Configuring openzfs for nvme databases</a></p>

<hr>

<p><a href="https://antranigv.am/posts/2024/02/omnios-mirror-one/" target="_blank" rel="nofollow noopener">Mirroring OmniOS: The Complete Guide; Part One</a></p>

<hr>

<p><a href="https://quozul.dev/riscv/2023/12/22/installing-openbsd-on-visionfive-2.html" target="_blank" rel="nofollow noopener">Installing OpenBSD 7.4 on a VisionFive 2 rev 1.2a</a></p>

<hr>

<p><a href="https://beuke.org/terminal-latency/" target="_blank" rel="nofollow noopener">Terminal Latency</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Using Git offline, Make your own E-mail server, quiz: a tool for rapid OpenZFS development, Configuring openzfs for nvme databases, Mirroring OmniOS: The Complete Guide part 1, Installing OpenBSD 7.4 on a VisionFive 2 rev, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.gibbard.me/using_git_offline/" target="_blank" rel="nofollow noopener">Using Git offline</a></p>

<hr>

<p><a href="https://it-notes.dragas.net/2024/03/08/make-your-own-email-server-freebsd-opensmptd-rspamd-dovecot-part1/" target="_blank" rel="nofollow noopener">Make your own E-Mail server - FreeBSD, OpenSMTPD, Rspamd and Dovecot included - Part 1</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://despairlabs.com/blog/posts/2024-03-04-quiz-rapid-openzfs-development/" target="_blank" rel="nofollow noopener">quiz: a tool for rapid OpenZFS development</a></p>

<hr>

<p><a href="https://github.com/letsencrypt/openzfs-nvme-databases" target="_blank" rel="nofollow noopener">Configuring openzfs for nvme databases</a></p>

<hr>

<p><a href="https://antranigv.am/posts/2024/02/omnios-mirror-one/" target="_blank" rel="nofollow noopener">Mirroring OmniOS: The Complete Guide; Part One</a></p>

<hr>

<p><a href="https://quozul.dev/riscv/2023/12/22/installing-openbsd-on-visionfive-2.html" target="_blank" rel="nofollow noopener">Installing OpenBSD 7.4 on a VisionFive 2 rev 1.2a</a></p>

<hr>

<p><a href="https://beuke.org/terminal-latency/" target="_blank" rel="nofollow noopener">Terminal Latency</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>551: SSH Port Story</title>
  <link>https://www.bsdnow.tv/551</link>
  <guid isPermaLink="false">26a0d9ff-b867-40d3-8479-5cd7d63cbeb9</guid>
  <pubDate>Thu, 21 Mar 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/26a0d9ff-b867-40d3-8479-5cd7d63cbeb9.mp3" length="50259072" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This week on the show, The story of SSH getting port 22, GGC using Clang, AuxRunner, Stabweek, Using a Kensington SlimBladePro on OpenBSD, and more...</itunes:subtitle>
  <itunes:duration>52:21</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>&lt;p&gt;This week on the show, The story of SSH getting port 22, GGC using Clang, AuxRunner, Stabweek, Using a Kensington SlimBladePro on OpenBSD, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.ssh.com/academy/ssh/port#the-story-of-getting-ssh-port-22" target="_blank" rel="nofollow noopener"&gt;The story of getting SSH port 22&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://briancallahan.net/blog/20240122.html" target="_blank" rel="nofollow noopener"&gt;Can GCC use Clang as its assembler?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://mendelson.org/auxrunner.html" target="_blank" rel="nofollow noopener"&gt;AUXrunner: a macOS QEMU-based app for running A/UX&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://lists.freebsd.org/archives/freebsd-current/2024-February/005657.html" target="_blank" rel="nofollow noopener"&gt;Stabweek&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2024/using-the-kensington-slimblade-pro-trackball-with-openbsd/" target="_blank" rel="nofollow noopener"&gt;Using the Kensington SlimBlade Pro TrackBall with OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://posixcafe.org/blogs/2024/01/01/0/" target="_blank" rel="nofollow noopener"&gt;Running 9front on an emulated SGI Indy via MAME&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Beastie Bits&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://two-wrongs.com/huffman-codes-how-do-they-work" target="_blank" rel="nofollow noopener"&gt;Huffman Codes – How Do They Work?&lt;/a&gt;&lt;br&gt;
&lt;a href="https://mail-index.netbsd.org/source-changes/2024/02/27/msg150156.html" target="_blank" rel="nofollow noopener"&gt;NetBSD 10.0_RC5&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20240222183703" target="_blank" rel="nofollow noopener"&gt;New code for SIGILL faults help identify misbranches&lt;/a&gt;&lt;br&gt;
&lt;a href="https://t.me/illumosDistroes" target="_blank" rel="nofollow noopener"&gt;New Illumos telegram channel&lt;/a&gt;&lt;br&gt;
&lt;a href="https://freebsdfoundation.org/blog/the-january-february-2024-issue-of-the-freebsd-journal-is-here/" target="_blank" rel="nofollow noopener"&gt;The Jan Feb issues of the FreeBSD Journal is here&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This week on the show, The story of SSH getting port 22, GGC using Clang, AuxRunner, Stabweek, Using a Kensington SlimBladePro on OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.ssh.com/academy/ssh/port#the-story-of-getting-ssh-port-22" target="_blank" rel="nofollow noopener">The story of getting SSH port 22</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20240122.html" target="_blank" rel="nofollow noopener">Can GCC use Clang as its assembler?</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://mendelson.org/auxrunner.html" target="_blank" rel="nofollow noopener">AUXrunner: a macOS QEMU-based app for running A/UX</a></p>

<hr>

<p><a href="https://lists.freebsd.org/archives/freebsd-current/2024-February/005657.html" target="_blank" rel="nofollow noopener">Stabweek</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/using-the-kensington-slimblade-pro-trackball-with-openbsd/" target="_blank" rel="nofollow noopener">Using the Kensington SlimBlade Pro TrackBall with OpenBSD</a></p>

<hr>

<p><a href="https://posixcafe.org/blogs/2024/01/01/0/" target="_blank" rel="nofollow noopener">Running 9front on an emulated SGI Indy via MAME</a></p>

<hr>

<h3>Beastie Bits</h3>

<p><a href="https://two-wrongs.com/huffman-codes-how-do-they-work" target="_blank" rel="nofollow noopener">Huffman Codes – How Do They Work?</a><br>
<a href="https://mail-index.netbsd.org/source-changes/2024/02/27/msg150156.html" target="_blank" rel="nofollow noopener">NetBSD 10.0_RC5</a><br>
<a href="https://www.undeadly.org/cgi?action=article;sid=20240222183703" target="_blank" rel="nofollow noopener">New code for SIGILL faults help identify misbranches</a><br>
<a href="https://t.me/illumosDistroes" target="_blank" rel="nofollow noopener">New Illumos telegram channel</a><br>
<a href="https://freebsdfoundation.org/blog/the-january-february-2024-issue-of-the-freebsd-journal-is-here/" target="_blank" rel="nofollow noopener">The Jan Feb issues of the FreeBSD Journal is here</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This week on the show, The story of SSH getting port 22, GGC using Clang, AuxRunner, Stabweek, Using a Kensington SlimBladePro on OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.ssh.com/academy/ssh/port#the-story-of-getting-ssh-port-22" target="_blank" rel="nofollow noopener">The story of getting SSH port 22</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20240122.html" target="_blank" rel="nofollow noopener">Can GCC use Clang as its assembler?</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://mendelson.org/auxrunner.html" target="_blank" rel="nofollow noopener">AUXrunner: a macOS QEMU-based app for running A/UX</a></p>

<hr>

<p><a href="https://lists.freebsd.org/archives/freebsd-current/2024-February/005657.html" target="_blank" rel="nofollow noopener">Stabweek</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/using-the-kensington-slimblade-pro-trackball-with-openbsd/" target="_blank" rel="nofollow noopener">Using the Kensington SlimBlade Pro TrackBall with OpenBSD</a></p>

<hr>

<p><a href="https://posixcafe.org/blogs/2024/01/01/0/" target="_blank" rel="nofollow noopener">Running 9front on an emulated SGI Indy via MAME</a></p>

<hr>

<h3>Beastie Bits</h3>

<p><a href="https://two-wrongs.com/huffman-codes-how-do-they-work" target="_blank" rel="nofollow noopener">Huffman Codes – How Do They Work?</a><br>
<a href="https://mail-index.netbsd.org/source-changes/2024/02/27/msg150156.html" target="_blank" rel="nofollow noopener">NetBSD 10.0_RC5</a><br>
<a href="https://www.undeadly.org/cgi?action=article;sid=20240222183703" target="_blank" rel="nofollow noopener">New code for SIGILL faults help identify misbranches</a><br>
<a href="https://t.me/illumosDistroes" target="_blank" rel="nofollow noopener">New Illumos telegram channel</a><br>
<a href="https://freebsdfoundation.org/blog/the-january-february-2024-issue-of-the-freebsd-journal-is-here/" target="_blank" rel="nofollow noopener">The Jan Feb issues of the FreeBSD Journal is here</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>550: Netware and Netmap</title>
  <link>https://www.bsdnow.tv/550</link>
  <guid isPermaLink="false">16bc5c0c-304f-4b45-bd6e-979f5ce042bc</guid>
  <pubDate>Tue, 12 Mar 2024 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/16bc5c0c-304f-4b45-bd6e-979f5ce042bc.mp3" length="51137664" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This week on the show, you're not too late to develop the future, netmap on czgbe, OpenZFS 2.2.3, SSH Brute Forcing, some unknown OpenBSD Features, Release notes for the latest Omni OS, and more...</itunes:subtitle>
  <itunes:duration>53:16</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>&lt;p&gt;This week on the show, you're not too late to develop the future, netmap on czgbe, OpenZFS 2.2.3, SSH Brute Forcing, some unknown OpenBSD Features, Release notes for the latest Omni OS, and more...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://oldvcr.blogspot.com/2023/12/when-power-macintosh-ran-netware.html" target="_blank" rel="nofollow noopener"&gt;When the Power Macintosh ran NetWare (featuring Wormhole and Cyberpunk)&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://kk.org/thetechnium/you-are-not-late/" target="_blank" rel="nofollow noopener"&gt;You are not too late&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://adventurist.me/posts/00318" target="_blank" rel="nofollow noopener"&gt;netmap on cxgbe interfaces&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/openzfs/zfs/releases/tag/zfs-2.2.3" target="_blank" rel="nofollow noopener"&gt;OpenZFS 2.2.3&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/SSHBruteForceAttacksAbruptlyDown" target="_blank" rel="nofollow noopener"&gt;A recent abrupt change in Internet SSH brute force attacks against us&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2024-02-20-rarely-known-openbsd-features.html" target="_blank" rel="nofollow noopener"&gt;Some OpenBSD features that aren't widely known&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://github.com/omniosorg/omnios-build/blob/44731424e67c8aaafe5c4e500fe7c4544a22f0f6/doc/ReleaseNotes.md#r151048o-2024-02-15" target="_blank" rel="nofollow noopener"&gt;Release Notes for OmniOS v11 r151048&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://kilograham.github.io/rp2040-doom/" target="_blank" rel="nofollow noopener"&gt;The Making of RP2040 Doom&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/550/feedback/Brendan%20-%20Log%20Files.md" target="_blank" rel="nofollow noopener"&gt;Brendan - Log Files&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/550/feedback/Mischa%20-%20EuroBSDcon.md" target="_blank" rel="nofollow noopener"&gt;Mischa - EuroBSDcon&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/550/feedback/Sebastiano%20-%20Sed.md" target="_blank" rel="nofollow noopener"&gt;Sebastiano - Sed&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This week on the show, you're not too late to develop the future, netmap on czgbe, OpenZFS 2.2.3, SSH Brute Forcing, some unknown OpenBSD Features, Release notes for the latest Omni OS, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://oldvcr.blogspot.com/2023/12/when-power-macintosh-ran-netware.html" target="_blank" rel="nofollow noopener">When the Power Macintosh ran NetWare (featuring Wormhole and Cyberpunk)</a></p>

<hr>

<p><a href="https://kk.org/thetechnium/you-are-not-late/" target="_blank" rel="nofollow noopener">You are not too late</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://adventurist.me/posts/00318" target="_blank" rel="nofollow noopener">netmap on cxgbe interfaces</a></p>

<hr>

<p><a href="https://github.com/openzfs/zfs/releases/tag/zfs-2.2.3" target="_blank" rel="nofollow noopener">OpenZFS 2.2.3</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/SSHBruteForceAttacksAbruptlyDown" target="_blank" rel="nofollow noopener">A recent abrupt change in Internet SSH brute force attacks against us</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-02-20-rarely-known-openbsd-features.html" target="_blank" rel="nofollow noopener">Some OpenBSD features that aren't widely known</a></p>

<hr>

<p><a href="https://github.com/omniosorg/omnios-build/blob/44731424e67c8aaafe5c4e500fe7c4544a22f0f6/doc/ReleaseNotes.md#r151048o-2024-02-15" target="_blank" rel="nofollow noopener">Release Notes for OmniOS v11 r151048</a></p>

<hr>

<p><a href="https://kilograham.github.io/rp2040-doom/" target="_blank" rel="nofollow noopener">The Making of RP2040 Doom</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/550/feedback/Brendan%20-%20Log%20Files.md" target="_blank" rel="nofollow noopener">Brendan - Log Files</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/550/feedback/Mischa%20-%20EuroBSDcon.md" target="_blank" rel="nofollow noopener">Mischa - EuroBSDcon</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/550/feedback/Sebastiano%20-%20Sed.md" target="_blank" rel="nofollow noopener">Sebastiano - Sed</a></p></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This week on the show, you're not too late to develop the future, netmap on czgbe, OpenZFS 2.2.3, SSH Brute Forcing, some unknown OpenBSD Features, Release notes for the latest Omni OS, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://oldvcr.blogspot.com/2023/12/when-power-macintosh-ran-netware.html" target="_blank" rel="nofollow noopener">When the Power Macintosh ran NetWare (featuring Wormhole and Cyberpunk)</a></p>

<hr>

<p><a href="https://kk.org/thetechnium/you-are-not-late/" target="_blank" rel="nofollow noopener">You are not too late</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://adventurist.me/posts/00318" target="_blank" rel="nofollow noopener">netmap on cxgbe interfaces</a></p>

<hr>

<p><a href="https://github.com/openzfs/zfs/releases/tag/zfs-2.2.3" target="_blank" rel="nofollow noopener">OpenZFS 2.2.3</a></p>

<hr>

<p><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/SSHBruteForceAttacksAbruptlyDown" target="_blank" rel="nofollow noopener">A recent abrupt change in Internet SSH brute force attacks against us</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-02-20-rarely-known-openbsd-features.html" target="_blank" rel="nofollow noopener">Some OpenBSD features that aren't widely known</a></p>

<hr>

<p><a href="https://github.com/omniosorg/omnios-build/blob/44731424e67c8aaafe5c4e500fe7c4544a22f0f6/doc/ReleaseNotes.md#r151048o-2024-02-15" target="_blank" rel="nofollow noopener">Release Notes for OmniOS v11 r151048</a></p>

<hr>

<p><a href="https://kilograham.github.io/rp2040-doom/" target="_blank" rel="nofollow noopener">The Making of RP2040 Doom</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/550/feedback/Brendan%20-%20Log%20Files.md" target="_blank" rel="nofollow noopener">Brendan - Log Files</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/550/feedback/Mischa%20-%20EuroBSDcon.md" target="_blank" rel="nofollow noopener">Mischa - EuroBSDcon</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/550/feedback/Sebastiano%20-%20Sed.md" target="_blank" rel="nofollow noopener">Sebastiano - Sed</a></p></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>549: htop Tetris</title>
  <link>https://www.bsdnow.tv/549</link>
  <guid isPermaLink="false">09b0aba7-84c8-48f6-8901-4bd391e42348</guid>
  <pubDate>Thu, 07 Mar 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/09b0aba7-84c8-48f6-8901-4bd391e42348.mp3" length="54510336" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Foundation Statement on the European Union Cyber Resiliency Act, DragonFly BSD on a Thinkpad T480s, How FreeBSD 
 Employs Ampere Arm64 Servers in the Data Center, FreeBSD Yubikey authentication, that time I almost added Tetris to htop, and more</itunes:subtitle>
  <itunes:duration>56:46</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>&lt;p&gt;FreeBSD Foundation Statement on the European Union Cyber Resiliency Act, DragonFly BSD on a Thinkpad T480s, How FreeBSD &lt;br&gt;
 Employs Ampere Arm64 Servers in the Data Center, FreeBSD Yubikey authentication, that time I almost added Tetris to htop, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/freebsd-foundation-statement-on-the-european-union-cyber-resiliency-act/?utm_source=bsdweekly" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation Statement on the European Union Cyber Resiliency Act&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://git.sr.ht/%7Etomh/dragonflybsd-on-a-laptop/tree/master/item/README.md" target="_blank" rel="nofollow noopener"&gt;DragonFly BSD on a Thinkpad T480s&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://amperecomputing.com/blogs/ampere-in-the-wild" target="_blank" rel="nofollow noopener"&gt;Ampere in the Wild: How FreeBSD Employs Ampere Arm64 Servers in the Data Center&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://gist.github.com/daemonhorn/bdd77a7bc0ff5842e5a31d999b96e1f1" target="_blank" rel="nofollow noopener"&gt;FreeBSD Yubikey authentication&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://hisham.hm/2024/02/12/that-time-i-almost-added-tetris-to-htop/" target="_blank" rel="nofollow noopener"&gt;That time I almost added Tetris to htop&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://mwl.io/archives/23419" target="_blank" rel="nofollow noopener"&gt;Mail Software Projects for You&lt;/a&gt;&lt;br&gt;
&lt;a href="https://mwl.io/archives/23401" target="_blank" rel="nofollow noopener"&gt;At long last: the MWL Title Index&lt;/a&gt;&lt;br&gt;
&lt;a href="https://linux.slashdot.org/story/24/01/07/0327229/how-does-freebsd-compare-to-linux-on-a-raspberry-pi" target="_blank" rel="nofollow noopener"&gt;FreeBSD on a RPi&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, statement, cyber resiliency act, thinkpad t480s, ampere, arm64, data center, yubikey, authentication, tetris, htop</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Foundation Statement on the European Union Cyber Resiliency Act, DragonFly BSD on a Thinkpad T480s, How FreeBSD <br>
 Employs Ampere Arm64 Servers in the Data Center, FreeBSD Yubikey authentication, that time I almost added Tetris to htop, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/freebsd-foundation-statement-on-the-european-union-cyber-resiliency-act/?utm_source=bsdweekly" target="_blank" rel="nofollow noopener">FreeBSD Foundation Statement on the European Union Cyber Resiliency Act</a></p>

<hr>

<p><a href="https://git.sr.ht/%7Etomh/dragonflybsd-on-a-laptop/tree/master/item/README.md" target="_blank" rel="nofollow noopener">DragonFly BSD on a Thinkpad T480s</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://amperecomputing.com/blogs/ampere-in-the-wild" target="_blank" rel="nofollow noopener">Ampere in the Wild: How FreeBSD Employs Ampere Arm64 Servers in the Data Center</a></p>

<hr>

<p><a href="https://gist.github.com/daemonhorn/bdd77a7bc0ff5842e5a31d999b96e1f1" target="_blank" rel="nofollow noopener">FreeBSD Yubikey authentication</a></p>

<hr>

<p><a href="https://hisham.hm/2024/02/12/that-time-i-almost-added-tetris-to-htop/" target="_blank" rel="nofollow noopener">That time I almost added Tetris to htop</a></p>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://mwl.io/archives/23419" target="_blank" rel="nofollow noopener">Mail Software Projects for You</a><br>
<a href="https://mwl.io/archives/23401" target="_blank" rel="nofollow noopener">At long last: the MWL Title Index</a><br>
<a href="https://linux.slashdot.org/story/24/01/07/0327229/how-does-freebsd-compare-to-linux-on-a-raspberry-pi" target="_blank" rel="nofollow noopener">FreeBSD on a RPi</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Foundation Statement on the European Union Cyber Resiliency Act, DragonFly BSD on a Thinkpad T480s, How FreeBSD <br>
 Employs Ampere Arm64 Servers in the Data Center, FreeBSD Yubikey authentication, that time I almost added Tetris to htop, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://freebsdfoundation.org/blog/freebsd-foundation-statement-on-the-european-union-cyber-resiliency-act/?utm_source=bsdweekly" target="_blank" rel="nofollow noopener">FreeBSD Foundation Statement on the European Union Cyber Resiliency Act</a></p>

<hr>

<p><a href="https://git.sr.ht/%7Etomh/dragonflybsd-on-a-laptop/tree/master/item/README.md" target="_blank" rel="nofollow noopener">DragonFly BSD on a Thinkpad T480s</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://amperecomputing.com/blogs/ampere-in-the-wild" target="_blank" rel="nofollow noopener">Ampere in the Wild: How FreeBSD Employs Ampere Arm64 Servers in the Data Center</a></p>

<hr>

<p><a href="https://gist.github.com/daemonhorn/bdd77a7bc0ff5842e5a31d999b96e1f1" target="_blank" rel="nofollow noopener">FreeBSD Yubikey authentication</a></p>

<hr>

<p><a href="https://hisham.hm/2024/02/12/that-time-i-almost-added-tetris-to-htop/" target="_blank" rel="nofollow noopener">That time I almost added Tetris to htop</a></p>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://mwl.io/archives/23419" target="_blank" rel="nofollow noopener">Mail Software Projects for You</a><br>
<a href="https://mwl.io/archives/23401" target="_blank" rel="nofollow noopener">At long last: the MWL Title Index</a><br>
<a href="https://linux.slashdot.org/story/24/01/07/0327229/how-does-freebsd-compare-to-linux-on-a-raspberry-pi" target="_blank" rel="nofollow noopener">FreeBSD on a RPi</a></p>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>548: NTP - In Memoriam</title>
  <link>https://www.bsdnow.tv/548</link>
  <guid isPermaLink="false">9fc45182-53da-4b7a-8fa2-a408b12d8a5b</guid>
  <pubDate>Thu, 29 Feb 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9fc45182-53da-4b7a-8fa2-a408b12d8a5b.mp3" length="54708480" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Status Report Q4 2023, In Memorium of the NTP inventor, Migrate a FreeBSD bhyve virtual machine to OmniOS, AI-free blog, Hard disk LEDs and Noisy Machines, SSH based comment system, NetBSD 10 RC.4 is available, and more</itunes:subtitle>
  <itunes:duration>56:59</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>&lt;p&gt;FreeBSD Status Report Q4 2023, In Memorium of the NTP inventor, Migrate a FreeBSD bhyve virtual machine to OmniOS, AI-free blog, Hard disk LEDs and Noisy Machines, SSH based comment system, NetBSD 10 RC.4 is available, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.freebsd.org/status/report-2023-10-2023-12/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Status Report Fourth Quarter 2023&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://arstechnica.com/gadgets/2024/01/inventor-of-ntp-protocol-that-keeps-time-on-billions-of-devices-dies-at-age-85/" target="_blank" rel="nofollow noopener"&gt;In Memoriam : Inventor of NTP protocol that keeps time on billions of devices dies at age 85&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2024/migrate-a-freebsd-bhyve-virtual-machine-to-omnios/?utm_source=bsdweekly" target="_blank" rel="nofollow noopener"&gt;Migrate a FreeBSD bhyve virtual machine to OmniOS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2024-01-18-no-ai.html" target="_blank" rel="nofollow noopener"&gt;This blog is AI free&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://jmmv.dev/2023/12/hard-disk-leds-and-noisy-machines.html" target="_blank" rel="nofollow noopener"&gt;Hard disk LEDs and Noisy Machines&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.haschek.at/2023/ssh-based-comment-system.html" target="_blank" rel="nofollow noopener"&gt;SSH based comment system&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc4_available" target="_blank" rel="nofollow noopener"&gt;NetBSD 10 RC.4 is available&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, status report, ntp, memorium, inventor, migration, migrate, bhyve, vm, virtual machine, omnios, ai-free, blog, LED, hard disk, machine, ssh-based, ssh, comment system, netbsd 10 rc 4</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Status Report Q4 2023, In Memorium of the NTP inventor, Migrate a FreeBSD bhyve virtual machine to OmniOS, AI-free blog, Hard disk LEDs and Noisy Machines, SSH based comment system, NetBSD 10 RC.4 is available, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.freebsd.org/status/report-2023-10-2023-12/" target="_blank" rel="nofollow noopener">FreeBSD Status Report Fourth Quarter 2023</a></p>

<hr>

<p><a href="https://arstechnica.com/gadgets/2024/01/inventor-of-ntp-protocol-that-keeps-time-on-billions-of-devices-dies-at-age-85/" target="_blank" rel="nofollow noopener">In Memoriam : Inventor of NTP protocol that keeps time on billions of devices dies at age 85</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.tumfatig.net/2024/migrate-a-freebsd-bhyve-virtual-machine-to-omnios/?utm_source=bsdweekly" target="_blank" rel="nofollow noopener">Migrate a FreeBSD bhyve virtual machine to OmniOS</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-01-18-no-ai.html" target="_blank" rel="nofollow noopener">This blog is AI free</a></p>

<hr>

<p><a href="https://jmmv.dev/2023/12/hard-disk-leds-and-noisy-machines.html" target="_blank" rel="nofollow noopener">Hard disk LEDs and Noisy Machines</a></p>

<hr>

<p><a href="https://blog.haschek.at/2023/ssh-based-comment-system.html" target="_blank" rel="nofollow noopener">SSH based comment system</a></p>

<hr>

<p><a href="https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc4_available" target="_blank" rel="nofollow noopener">NetBSD 10 RC.4 is available</a></p>

<hr>

<h2>Beastie Bits</h2>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Status Report Q4 2023, In Memorium of the NTP inventor, Migrate a FreeBSD bhyve virtual machine to OmniOS, AI-free blog, Hard disk LEDs and Noisy Machines, SSH based comment system, NetBSD 10 RC.4 is available, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://www.freebsd.org/status/report-2023-10-2023-12/" target="_blank" rel="nofollow noopener">FreeBSD Status Report Fourth Quarter 2023</a></p>

<hr>

<p><a href="https://arstechnica.com/gadgets/2024/01/inventor-of-ntp-protocol-that-keeps-time-on-billions-of-devices-dies-at-age-85/" target="_blank" rel="nofollow noopener">In Memoriam : Inventor of NTP protocol that keeps time on billions of devices dies at age 85</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.tumfatig.net/2024/migrate-a-freebsd-bhyve-virtual-machine-to-omnios/?utm_source=bsdweekly" target="_blank" rel="nofollow noopener">Migrate a FreeBSD bhyve virtual machine to OmniOS</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-01-18-no-ai.html" target="_blank" rel="nofollow noopener">This blog is AI free</a></p>

<hr>

<p><a href="https://jmmv.dev/2023/12/hard-disk-leds-and-noisy-machines.html" target="_blank" rel="nofollow noopener">Hard disk LEDs and Noisy Machines</a></p>

<hr>

<p><a href="https://blog.haschek.at/2023/ssh-based-comment-system.html" target="_blank" rel="nofollow noopener">SSH based comment system</a></p>

<hr>

<p><a href="https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc4_available" target="_blank" rel="nofollow noopener">NetBSD 10 RC.4 is available</a></p>

<hr>

<h2>Beastie Bits</h2>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>547: IT Impostor Syndrome</title>
  <link>https://www.bsdnow.tv/547</link>
  <guid isPermaLink="false">6800295d-3150-40ed-be3a-5c0aa3f787d3</guid>
  <pubDate>Thu, 22 Feb 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6800295d-3150-40ed-be3a-5c0aa3f787d3.mp3" length="42274944" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Overcoming imposter syndrome in IT, A Practical Guide to GNU sed With Examples, Early computer art by Barbara Nessim, Don't prefill config files, Trapping Spambots Based on Target Domain Only, You cannot cURL under pressure, and more</itunes:subtitle>
  <itunes:duration>44:02</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>&lt;p&gt;Overcoming imposter syndrome in IT, A Practical Guide to GNU sed With Examples, Early computer art by Barbara Nessim, Don't prefill config files, Trapping Spambots Based on Target Domain Only, You cannot cURL under pressure, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2024-01-10-dealing-with-imposter-syndrome.html" target="_blank" rel="nofollow noopener"&gt;Overcoming imposter syndrome in IT&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://thevaluable.dev/sed-cli-practical-guide-examples/" target="_blank" rel="nofollow noopener"&gt;A Practical Guide to GNU sed With Examples&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://blog.gingerbeardman.com/2023/11/09/early-computer-art-by-barbara-nessim/" target="_blank" rel="nofollow noopener"&gt;Early computer art by Barbara Nessim (1984)&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.makeworld.space/2024/02/no_prefill_config.html" target="_blank" rel="nofollow noopener"&gt;Don't prefill config files&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://bsdly.blogspot.com/2024/01/a-simpler-life-trapping-spambots-based.html" target="_blank" rel="nofollow noopener"&gt;A Simpler Life: Trapping Spambots Based on Target Domain Only&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.benjojo.co.uk/post/you-cant-curl-under-pressure" target="_blank" rel="nofollow noopener"&gt;You cannot cURL under pressure&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/547/feedback/Marcus%20-%20linux%20compat%20layer.md" target="_blank" rel="nofollow noopener"&gt;Marcus - Linux Compat Layer&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/547/feedback/Daniel%20-%20FreeBSD%20Nostalgia.md" target="_blank" rel="nofollow noopener"&gt;Daniel - FreeBSD Nostalgia&lt;/a&gt;&lt;/h2&gt;

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

&lt;hr&gt;
</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, impostor, syndrome, sed, practical, examples, computer, art, barbara nessim, prefill, config lines, trapping, spambots, curl</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Overcoming imposter syndrome in IT, A Practical Guide to GNU sed With Examples, Early computer art by Barbara Nessim, Don't prefill config files, Trapping Spambots Based on Target Domain Only, You cannot cURL under pressure, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://dataswamp.org/%7Esolene/2024-01-10-dealing-with-imposter-syndrome.html" target="_blank" rel="nofollow noopener">Overcoming imposter syndrome in IT</a></p>

<hr>

<p><a href="https://thevaluable.dev/sed-cli-practical-guide-examples/" target="_blank" rel="nofollow noopener">A Practical Guide to GNU sed With Examples</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://blog.gingerbeardman.com/2023/11/09/early-computer-art-by-barbara-nessim/" target="_blank" rel="nofollow noopener">Early computer art by Barbara Nessim (1984)</a></p>

<hr>

<p><a href="https://www.makeworld.space/2024/02/no_prefill_config.html" target="_blank" rel="nofollow noopener">Don't prefill config files</a></p>

<hr>

<p><a href="https://bsdly.blogspot.com/2024/01/a-simpler-life-trapping-spambots-based.html" target="_blank" rel="nofollow noopener">A Simpler Life: Trapping Spambots Based on Target Domain Only</a></p>

<hr>

<p><a href="https://blog.benjojo.co.uk/post/you-cant-curl-under-pressure" target="_blank" rel="nofollow noopener">You cannot cURL under pressure</a></p>

<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>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/547/feedback/Marcus%20-%20linux%20compat%20layer.md" target="_blank" rel="nofollow noopener">Marcus - Linux Compat Layer</a></p>

<h2><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/547/feedback/Daniel%20-%20FreeBSD%20Nostalgia.md" target="_blank" rel="nofollow noopener">Daniel - FreeBSD Nostalgia</a></h2>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Overcoming imposter syndrome in IT, A Practical Guide to GNU sed With Examples, Early computer art by Barbara Nessim, Don't prefill config files, Trapping Spambots Based on Target Domain Only, You cannot cURL under pressure, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://dataswamp.org/%7Esolene/2024-01-10-dealing-with-imposter-syndrome.html" target="_blank" rel="nofollow noopener">Overcoming imposter syndrome in IT</a></p>

<hr>

<p><a href="https://thevaluable.dev/sed-cli-practical-guide-examples/" target="_blank" rel="nofollow noopener">A Practical Guide to GNU sed With Examples</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://blog.gingerbeardman.com/2023/11/09/early-computer-art-by-barbara-nessim/" target="_blank" rel="nofollow noopener">Early computer art by Barbara Nessim (1984)</a></p>

<hr>

<p><a href="https://www.makeworld.space/2024/02/no_prefill_config.html" target="_blank" rel="nofollow noopener">Don't prefill config files</a></p>

<hr>

<p><a href="https://bsdly.blogspot.com/2024/01/a-simpler-life-trapping-spambots-based.html" target="_blank" rel="nofollow noopener">A Simpler Life: Trapping Spambots Based on Target Domain Only</a></p>

<hr>

<p><a href="https://blog.benjojo.co.uk/post/you-cant-curl-under-pressure" target="_blank" rel="nofollow noopener">You cannot cURL under pressure</a></p>

<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>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/547/feedback/Marcus%20-%20linux%20compat%20layer.md" target="_blank" rel="nofollow noopener">Marcus - Linux Compat Layer</a></p>

<h2><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/547/feedback/Daniel%20-%20FreeBSD%20Nostalgia.md" target="_blank" rel="nofollow noopener">Daniel - FreeBSD Nostalgia</a></h2>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>546: Debunking FreeBSD Myths</title>
  <link>https://www.bsdnow.tv/546</link>
  <guid isPermaLink="false">c7cb0c2d-cc60-4bf8-8323-088db1bd3e41</guid>
  <pubDate>Thu, 15 Feb 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c7cb0c2d-cc60-4bf8-8323-088db1bd3e41.mp3" length="51679488" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Debunking Common Myths About FreeBSD, Please, don’t force me to log in, Exploring FreeBSD service(8) basics, Failed Product Designs: A Laptop with Seven Screens, What’s a Permissive License – and Why Should I Care?, Beginning of the year Laugh</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>&lt;p&gt;Debunking Common Myths About FreeBSD, Please, don’t force me to log in, Exploring FreeBSD service(8) basics, Failed Product Designs: A Laptop with Seven Screens, What’s a Permissive License – and Why Should I Care?, Beginning of the year Laugh&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/debunking-common-myths-about-freebsd/" target="_blank" rel="nofollow noopener"&gt;Debunking Common Myths About FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://hamatti.org/posts/please-dont-force-me-to-log-in/" target="_blank" rel="nofollow noopener"&gt;Please, don’t force me to log in&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://rubenerd.com/basics-of-freebsd-services/" target="_blank" rel="nofollow noopener"&gt;Exploring FreeBSD service(8) basics&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.core77.com/posts/127288/Failed-Product-Designs-A-Laptop-with-Seven-Screens" target="_blank" rel="nofollow noopener"&gt;Failed Product Designs: A Laptop with Seven Screens&lt;br&gt;
The Expanscape Aurora 7&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/whats-a-permissive-license-and-why-should-i-care/" target="_blank" rel="nofollow noopener"&gt;“What’s a Permissive License – and Why Should I Care?”&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://saagarjha.com/blog/2020/05/10/why-we-at-famous-company-switched-to-hyped-technology/" target="_blank" rel="nofollow noopener"&gt;Beginning of the year Laugh&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://bentsukun.ch/talks/fosdem2024/" target="_blank" rel="nofollow noopener"&gt;NetBSD 10: Thirty Years, Still Going Strong!&lt;/a&gt;&lt;br&gt;
&lt;a href="https://forums.freebsd.org/threads/dracula-theme-using-bash-shell.92052/" target="_blank" rel="nofollow noopener"&gt;Dracula theme using bash shell&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20240118080752" target="_blank" rel="nofollow noopener"&gt;pinsyscalls(2) working in anger&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.osnews.com/story/137961/first-bits-of-a-haiku-compatibility-layer-for-netbsd/" target="_blank" rel="nofollow noopener"&gt;First bits of a Haiku compatibility layer for NetBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

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

&lt;hr&gt;
</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, myth, debunking, login, log in, exploring, basics, product, design, failed, laptop, seven screens, permissive license, care, beginning, year, laugh</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Debunking Common Myths About FreeBSD, Please, don’t force me to log in, Exploring FreeBSD service(8) basics, Failed Product Designs: A Laptop with Seven Screens, What’s a Permissive License – and Why Should I Care?, Beginning of the year Laugh</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/debunking-common-myths-about-freebsd/" target="_blank" rel="nofollow noopener">Debunking Common Myths About FreeBSD</a></p>

<hr>

<p><a href="https://hamatti.org/posts/please-dont-force-me-to-log-in/" target="_blank" rel="nofollow noopener">Please, don’t force me to log in</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://rubenerd.com/basics-of-freebsd-services/" target="_blank" rel="nofollow noopener">Exploring FreeBSD service(8) basics</a></p>

<hr>

<p><a href="https://www.core77.com/posts/127288/Failed-Product-Designs-A-Laptop-with-Seven-Screens" target="_blank" rel="nofollow noopener">Failed Product Designs: A Laptop with Seven Screens<br>
The Expanscape Aurora 7</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/whats-a-permissive-license-and-why-should-i-care/" target="_blank" rel="nofollow noopener">“What’s a Permissive License – and Why Should I Care?”</a></p>

<hr>

<p><a href="https://saagarjha.com/blog/2020/05/10/why-we-at-famous-company-switched-to-hyped-technology/" target="_blank" rel="nofollow noopener">Beginning of the year Laugh</a></p>

<hr>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://bentsukun.ch/talks/fosdem2024/" target="_blank" rel="nofollow noopener">NetBSD 10: Thirty Years, Still Going Strong!</a><br>
<a href="https://forums.freebsd.org/threads/dracula-theme-using-bash-shell.92052/" target="_blank" rel="nofollow noopener">Dracula theme using bash shell</a><br>
<a href="https://www.undeadly.org/cgi?action=article;sid=20240118080752" target="_blank" rel="nofollow noopener">pinsyscalls(2) working in anger</a><br>
<a href="https://www.osnews.com/story/137961/first-bits-of-a-haiku-compatibility-layer-for-netbsd/" target="_blank" rel="nofollow noopener">First bits of a Haiku compatibility layer for NetBSD</a></p>

<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>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Debunking Common Myths About FreeBSD, Please, don’t force me to log in, Exploring FreeBSD service(8) basics, Failed Product Designs: A Laptop with Seven Screens, What’s a Permissive License – and Why Should I Care?, Beginning of the year Laugh</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/debunking-common-myths-about-freebsd/" target="_blank" rel="nofollow noopener">Debunking Common Myths About FreeBSD</a></p>

<hr>

<p><a href="https://hamatti.org/posts/please-dont-force-me-to-log-in/" target="_blank" rel="nofollow noopener">Please, don’t force me to log in</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://rubenerd.com/basics-of-freebsd-services/" target="_blank" rel="nofollow noopener">Exploring FreeBSD service(8) basics</a></p>

<hr>

<p><a href="https://www.core77.com/posts/127288/Failed-Product-Designs-A-Laptop-with-Seven-Screens" target="_blank" rel="nofollow noopener">Failed Product Designs: A Laptop with Seven Screens<br>
The Expanscape Aurora 7</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/whats-a-permissive-license-and-why-should-i-care/" target="_blank" rel="nofollow noopener">“What’s a Permissive License – and Why Should I Care?”</a></p>

<hr>

<p><a href="https://saagarjha.com/blog/2020/05/10/why-we-at-famous-company-switched-to-hyped-technology/" target="_blank" rel="nofollow noopener">Beginning of the year Laugh</a></p>

<hr>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://bentsukun.ch/talks/fosdem2024/" target="_blank" rel="nofollow noopener">NetBSD 10: Thirty Years, Still Going Strong!</a><br>
<a href="https://forums.freebsd.org/threads/dracula-theme-using-bash-shell.92052/" target="_blank" rel="nofollow noopener">Dracula theme using bash shell</a><br>
<a href="https://www.undeadly.org/cgi?action=article;sid=20240118080752" target="_blank" rel="nofollow noopener">pinsyscalls(2) working in anger</a><br>
<a href="https://www.osnews.com/story/137961/first-bits-of-a-haiku-compatibility-layer-for-netbsd/" target="_blank" rel="nofollow noopener">First bits of a Haiku compatibility layer for NetBSD</a></p>

<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>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>545: BSD Audio Enhancements</title>
  <link>https://www.bsdnow.tv/545</link>
  <guid isPermaLink="false">efbf773e-fa58-4991-87a2-c1dd17e44ddd</guid>
  <pubDate>Thu, 08 Feb 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/efbf773e-fa58-4991-87a2-c1dd17e44ddd.mp3" length="60848256" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>ZFS High Availability with Asynchronous Replication and zrep, Stop
Blogging and start documenting, 2023 in Review: Infrastructure, NovaCustom NV41
laptop review, OpenBSD Video Audio Screen Recording, HDMI Audio sound patches
into GhostBSD source code, DSA removal from OpenSSH, NetBSD/evbppc 10.99.10 on
the Nintendo Wii, NetBSD/amd64 current performance patch</itunes:subtitle>
  <itunes:duration>1:03:23</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>&lt;p&gt;ZFS High Availability with Asynchronous Replication and zrep, Stop&lt;br&gt;
Blogging and start documenting, 2023 in Review: Infrastructure, NovaCustom NV41&lt;br&gt;
laptop review, OpenBSD Video Audio Screen Recording, HDMI Audio sound patches&lt;br&gt;
into GhostBSD source code, DSA removal from OpenSSH, NetBSD/evbppc 10.99.10 on&lt;br&gt;
the Nintendo Wii, NetBSD/amd64 current performance patch&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/zfs-high-availability-with-asynchronous-replication-and-zrep/" target="_blank" rel="nofollow noopener"&gt;ZFS High Availability with&lt;br&gt;
Asynchronous Replication and zrep&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://callfortesting.org/stopblogging/" target="_blank" rel="nofollow noopener"&gt;Stop Blogging and start documenting&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/2023-in-review-infrastructure/" target="_blank" rel="nofollow noopener"&gt;2023 in Review: Infrastructure&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2024-01-03-laptop-review-novacustom-nv41.html" target="_blank" rel="nofollow noopener"&gt;NovaCustom NV41 laptop review&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://rsadowski.de/posts/2024-01-14-openbsd-video-audio-screen-recording/" target="_blank" rel="nofollow noopener"&gt;OpenBSD Video Audio Screen Recording&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://ghostbsd-arm64.blogspot.com/2024/01/hdmi-audio-sound-patches-into-ghostbsd.html" target="_blank" rel="nofollow noopener"&gt;HDMI Audio sound patches into GhostBSD source code /usr/ghost14/ghostbsd-src SOLVED Jan20 2024&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20240111105900" target="_blank" rel="nofollow noopener"&gt;DSA removal from OpenSSH&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/n-MShCcFm_w?si=-bl2725c1WwT8PBg" target="_blank" rel="nofollow noopener"&gt;NetBSD/evbppc 10.99.10 on the Nintendo Wii&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://mail-index.netbsd.org/tech-kern/2024/01/23/msg029450.html" target="_blank" rel="nofollow noopener"&gt;NetBSD/amd64 current performance patch&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/past-issues/freebsd-14-0/" target="_blank" rel="nofollow noopener"&gt;November/December 2023 FreeBSD Journal Issue&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Feedback&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/545/feedback/rick%20-%20questions.md" target="_blank" rel="nofollow noopener"&gt;Rick - Questions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

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

&lt;hr&gt;
</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, high availability, asynchronous, replication, zrep, NovaCustom, laptop, screen recording, sound patches, HDMI, dsa removal, Nintendo Wii, performance patch</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>ZFS High Availability with Asynchronous Replication and zrep, Stop<br>
Blogging and start documenting, 2023 in Review: Infrastructure, NovaCustom NV41<br>
laptop review, OpenBSD Video Audio Screen Recording, HDMI Audio sound patches<br>
into GhostBSD source code, DSA removal from OpenSSH, NetBSD/evbppc 10.99.10 on<br>
the Nintendo Wii, NetBSD/amd64 current performance patch</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/zfs-high-availability-with-asynchronous-replication-and-zrep/" target="_blank" rel="nofollow noopener">ZFS High Availability with<br>
Asynchronous Replication and zrep</a></p>

<hr>

<p><a href="https://callfortesting.org/stopblogging/" target="_blank" rel="nofollow noopener">Stop Blogging and start documenting</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://freebsdfoundation.org/blog/2023-in-review-infrastructure/" target="_blank" rel="nofollow noopener">2023 in Review: Infrastructure</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-01-03-laptop-review-novacustom-nv41.html" target="_blank" rel="nofollow noopener">NovaCustom NV41 laptop review</a></p>

<hr>

<p><a href="https://rsadowski.de/posts/2024-01-14-openbsd-video-audio-screen-recording/" target="_blank" rel="nofollow noopener">OpenBSD Video Audio Screen Recording</a></p>

<hr>

<p><a href="https://ghostbsd-arm64.blogspot.com/2024/01/hdmi-audio-sound-patches-into-ghostbsd.html" target="_blank" rel="nofollow noopener">HDMI Audio sound patches into GhostBSD source code /usr/ghost14/ghostbsd-src SOLVED Jan20 2024</a></p>

<hr>

<h2>Beastie Bits</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240111105900" target="_blank" rel="nofollow noopener">DSA removal from OpenSSH</a></p>

<p><a href="https://youtu.be/n-MShCcFm_w?si=-bl2725c1WwT8PBg" target="_blank" rel="nofollow noopener">NetBSD/evbppc 10.99.10 on the Nintendo Wii</a></p>

<p><a href="https://mail-index.netbsd.org/tech-kern/2024/01/23/msg029450.html" target="_blank" rel="nofollow noopener">NetBSD/amd64 current performance patch</a></p>

<p><a href="https://freebsdfoundation.org/past-issues/freebsd-14-0/" target="_blank" rel="nofollow noopener">November/December 2023 FreeBSD Journal Issue</a></p>

<h2>Feedback</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/545/feedback/rick%20-%20questions.md" target="_blank" rel="nofollow noopener">Rick - Questions</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>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>ZFS High Availability with Asynchronous Replication and zrep, Stop<br>
Blogging and start documenting, 2023 in Review: Infrastructure, NovaCustom NV41<br>
laptop review, OpenBSD Video Audio Screen Recording, HDMI Audio sound patches<br>
into GhostBSD source code, DSA removal from OpenSSH, NetBSD/evbppc 10.99.10 on<br>
the Nintendo Wii, NetBSD/amd64 current performance patch</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/zfs-high-availability-with-asynchronous-replication-and-zrep/" target="_blank" rel="nofollow noopener">ZFS High Availability with<br>
Asynchronous Replication and zrep</a></p>

<hr>

<p><a href="https://callfortesting.org/stopblogging/" target="_blank" rel="nofollow noopener">Stop Blogging and start documenting</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://freebsdfoundation.org/blog/2023-in-review-infrastructure/" target="_blank" rel="nofollow noopener">2023 in Review: Infrastructure</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2024-01-03-laptop-review-novacustom-nv41.html" target="_blank" rel="nofollow noopener">NovaCustom NV41 laptop review</a></p>

<hr>

<p><a href="https://rsadowski.de/posts/2024-01-14-openbsd-video-audio-screen-recording/" target="_blank" rel="nofollow noopener">OpenBSD Video Audio Screen Recording</a></p>

<hr>

<p><a href="https://ghostbsd-arm64.blogspot.com/2024/01/hdmi-audio-sound-patches-into-ghostbsd.html" target="_blank" rel="nofollow noopener">HDMI Audio sound patches into GhostBSD source code /usr/ghost14/ghostbsd-src SOLVED Jan20 2024</a></p>

<hr>

<h2>Beastie Bits</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20240111105900" target="_blank" rel="nofollow noopener">DSA removal from OpenSSH</a></p>

<p><a href="https://youtu.be/n-MShCcFm_w?si=-bl2725c1WwT8PBg" target="_blank" rel="nofollow noopener">NetBSD/evbppc 10.99.10 on the Nintendo Wii</a></p>

<p><a href="https://mail-index.netbsd.org/tech-kern/2024/01/23/msg029450.html" target="_blank" rel="nofollow noopener">NetBSD/amd64 current performance patch</a></p>

<p><a href="https://freebsdfoundation.org/past-issues/freebsd-14-0/" target="_blank" rel="nofollow noopener">November/December 2023 FreeBSD Journal Issue</a></p>

<h2>Feedback</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/545/feedback/rick%20-%20questions.md" target="_blank" rel="nofollow noopener">Rick - Questions</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>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>544: Geeky weather check</title>
  <link>https://www.bsdnow.tv/544</link>
  <guid isPermaLink="false">2f3344c6-0c9e-459a-9035-970e84c6d131</guid>
  <pubDate>Thu, 01 Feb 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2f3344c6-0c9e-459a-9035-970e84c6d131.mp3" length="64449792" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>GPL 3: The Controversial Licensing Model and Potential Solutions,
The Geeks way of checking what the outside weather is like, Alpine on a
FreeBSD Jail, DragonFly BSD on a Thinkpad T480s, Dealing with USB Storage
devices on OmniOS, Creating a Time Capsule instance using Samba, FreeBSD, and
ZFS</itunes:subtitle>
  <itunes:duration>1:07:08</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>&lt;p&gt;GPL 3: The Controversial Licensing Model and Potential Solutions,&lt;br&gt;
The Geeks way of checking what the outside weather is like, Alpine on a&lt;br&gt;
FreeBSD Jail, DragonFly BSD on a Thinkpad T480s, Dealing with USB Storage&lt;br&gt;
devices on OmniOS, Creating a Time Capsule instance using Samba, FreeBSD, and&lt;br&gt;
ZFS&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/gpl-3-the-controversial-licensing-model-and-potential-solutions/" target="_blank" rel="nofollow noopener"&gt;GPL 3: The Controversial Licensing Model and Potential Solutions&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/the_geeks_way_of_checking" target="_blank" rel="nofollow noopener"&gt;The Geeks way of checking what the outside wheather is like&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://it-notes.dragas.net/2024/01/18/installing-alpine-linux-on-a-freebsd-jail/" target="_blank" rel="nofollow noopener"&gt;Alpine on a FreeBSD Jail&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://git.sr.ht/%7Etomh/dragonflybsd-on-a-laptop/tree/master/item/README.md" target="_blank" rel="nofollow noopener"&gt;DragonFly BSD on a Thinkpad T480s&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2024/dealing-with-usb-storage-devices-on-omnios/" target="_blank" rel="nofollow noopener"&gt;Dealing with USB Storage devices on OmniOS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dan.langille.org/2024/01/06/creating-a-time-capsule-instance-using-samba-freebsd-and-zfs-2/" target="_blank" rel="nofollow noopener"&gt;Creating a Time Capsule instance using Samba, FreeBSD, and ZFS&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Conferences&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://fosdem.org/2024/" target="_blank" rel="nofollow noopener"&gt;FOSDEM&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://2024.asiabsdcon.org/program.html" target="_blank" rel="nofollow noopener"&gt;AsiaBSDCon&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.bsdcan.org/2024/papers.php" target="_blank" rel="nofollow noopener"&gt;BSDCan&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://2024.eurobsdcon.org/" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://southeastlinuxfest.org/2024/01/self-2024-call-for-participation/" target="_blank" rel="nofollow noopener"&gt;Southeast Linuxfest&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dont let the name fool you, SELF is BSD friendly and they'd love to have BSD/Unix Talks if you're in the area. JT is staff at SELF, so he can put in a good word for you. ;)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, controversy, gpl3, license model, weather, outside, geek, Alpine, jail, DragonFly, Thinkpad, T480s, OmniOS, storage device, time capsule, samba, zfs</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>GPL 3: The Controversial Licensing Model and Potential Solutions,<br>
The Geeks way of checking what the outside weather is like, Alpine on a<br>
FreeBSD Jail, DragonFly BSD on a Thinkpad T480s, Dealing with USB Storage<br>
devices on OmniOS, Creating a Time Capsule instance using Samba, FreeBSD, and<br>
ZFS</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/gpl-3-the-controversial-licensing-model-and-potential-solutions/" target="_blank" rel="nofollow noopener">GPL 3: The Controversial Licensing Model and Potential Solutions</a></p>

<hr>

<p><a href="https://blog.netbsd.org/tnf/entry/the_geeks_way_of_checking" target="_blank" rel="nofollow noopener">The Geeks way of checking what the outside wheather is like</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://it-notes.dragas.net/2024/01/18/installing-alpine-linux-on-a-freebsd-jail/" target="_blank" rel="nofollow noopener">Alpine on a FreeBSD Jail</a></p>

<hr>

<p><a href="https://git.sr.ht/%7Etomh/dragonflybsd-on-a-laptop/tree/master/item/README.md" target="_blank" rel="nofollow noopener">DragonFly BSD on a Thinkpad T480s</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/dealing-with-usb-storage-devices-on-omnios/" target="_blank" rel="nofollow noopener">Dealing with USB Storage devices on OmniOS</a></p>

<hr>

<p><a href="https://dan.langille.org/2024/01/06/creating-a-time-capsule-instance-using-samba-freebsd-and-zfs-2/" target="_blank" rel="nofollow noopener">Creating a Time Capsule instance using Samba, FreeBSD, and ZFS</a></p>

<hr>

<h2>Conferences</h2>

<p><a href="https://fosdem.org/2024/" target="_blank" rel="nofollow noopener">FOSDEM</a></p>

<p><a href="https://2024.asiabsdcon.org/program.html" target="_blank" rel="nofollow noopener">AsiaBSDCon</a></p>

<p><a href="https://www.bsdcan.org/2024/papers.php" target="_blank" rel="nofollow noopener">BSDCan</a></p>

<p><a href="https://2024.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDcon</a></p>

<p><a href="https://southeastlinuxfest.org/2024/01/self-2024-call-for-participation/" target="_blank" rel="nofollow noopener">Southeast Linuxfest</a></p>

<ul>
<li>Dont let the name fool you, SELF is BSD friendly and they'd love to have BSD/Unix Talks if you're in the area. JT is staff at SELF, so he can put in a good word for you. ;)</li>
</ul>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>GPL 3: The Controversial Licensing Model and Potential Solutions,<br>
The Geeks way of checking what the outside weather is like, Alpine on a<br>
FreeBSD Jail, DragonFly BSD on a Thinkpad T480s, Dealing with USB Storage<br>
devices on OmniOS, Creating a Time Capsule instance using Samba, FreeBSD, and<br>
ZFS</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/gpl-3-the-controversial-licensing-model-and-potential-solutions/" target="_blank" rel="nofollow noopener">GPL 3: The Controversial Licensing Model and Potential Solutions</a></p>

<hr>

<p><a href="https://blog.netbsd.org/tnf/entry/the_geeks_way_of_checking" target="_blank" rel="nofollow noopener">The Geeks way of checking what the outside wheather is like</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://it-notes.dragas.net/2024/01/18/installing-alpine-linux-on-a-freebsd-jail/" target="_blank" rel="nofollow noopener">Alpine on a FreeBSD Jail</a></p>

<hr>

<p><a href="https://git.sr.ht/%7Etomh/dragonflybsd-on-a-laptop/tree/master/item/README.md" target="_blank" rel="nofollow noopener">DragonFly BSD on a Thinkpad T480s</a></p>

<hr>

<p><a href="https://www.tumfatig.net/2024/dealing-with-usb-storage-devices-on-omnios/" target="_blank" rel="nofollow noopener">Dealing with USB Storage devices on OmniOS</a></p>

<hr>

<p><a href="https://dan.langille.org/2024/01/06/creating-a-time-capsule-instance-using-samba-freebsd-and-zfs-2/" target="_blank" rel="nofollow noopener">Creating a Time Capsule instance using Samba, FreeBSD, and ZFS</a></p>

<hr>

<h2>Conferences</h2>

<p><a href="https://fosdem.org/2024/" target="_blank" rel="nofollow noopener">FOSDEM</a></p>

<p><a href="https://2024.asiabsdcon.org/program.html" target="_blank" rel="nofollow noopener">AsiaBSDCon</a></p>

<p><a href="https://www.bsdcan.org/2024/papers.php" target="_blank" rel="nofollow noopener">BSDCan</a></p>

<p><a href="https://2024.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDcon</a></p>

<p><a href="https://southeastlinuxfest.org/2024/01/self-2024-call-for-participation/" target="_blank" rel="nofollow noopener">Southeast Linuxfest</a></p>

<ul>
<li>Dont let the name fool you, SELF is BSD friendly and they'd love to have BSD/Unix Talks if you're in the area. JT is staff at SELF, so he can put in a good word for you. ;)</li>
</ul>

<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>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>543: OpenBSD Workstation Hardening</title>
  <link>https://www.bsdnow.tv/543</link>
  <guid isPermaLink="false">caf89436-cf84-432e-a1cd-a88fc3385198</guid>
  <pubDate>Thu, 25 Jan 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/caf89436-cf84-432e-a1cd-a88fc3385198.mp3" length="56984832" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenZFS Storage Best Practices and Use Cases Part 3: Databases and VMs, 2023 in Review: Continuous Integration and Workflow Improvement, Running OpenBSD on OmniOS using bhyve, FreeBSD jailed ZFS datasets – how do I find the .zfs/snapshot directory?, OpenBSD workstation hardening, KDE Plasma now linked to packages build on -current, MidnightBSD 3.1.3 release</itunes:subtitle>
  <itunes:duration>59:21</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>&lt;p&gt;OpenZFS Storage Best Practices and Use Cases Part 3: Databases and VMs, 2023 in Review: Continuous Integration and Workflow Improvement, Running OpenBSD on OmniOS using bhyve, FreeBSD jailed ZFS datasets – how do I find the .zfs/snapshot directory?, OpenBSD workstation hardening, KDE Plasma now linked to packages build on -current, MidnightBSD 3.1.3 release&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/openzfs-storage-best-practices-and-use-cases-part-3-databases-and-vms/" target="_blank" rel="nofollow noopener"&gt;OpenZFS Storage Best Practices and Use Cases Part 3: Databases and VMs&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/blog/continuous-integration-and-workflow-improvement/" target="_blank" rel="nofollow noopener"&gt;2023 in Review: Continuous Integration and Workflow Improvement&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.tumfatig.net/2024/running-openbsd-on-omnios-using-bhyve/" target="_blank" rel="nofollow noopener"&gt;Running OpenBSD on OmniOS using bhyve&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dan.langille.org/2023/12/25/freebsd-jailed-zfs-datasets-how-do-i-find-the-zfs-snapshot-directory/" target="_blank" rel="nofollow noopener"&gt;FreeBSD jailed ZFS datasets – how do I find the .zfs/snapshot directory?&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-12-31-hardened-openbsd-workstation.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD workstation hardening&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20231227120851&amp;amp;utm_source=bsdweekly" target="_blank" rel="nofollow noopener"&gt;KDE Plasma now linked to packages build on -current&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://bsdsec.net/articles/midnightbsd-security-midnightbsd-3-1-3-release" target="_blank" rel="nofollow noopener"&gt;MidnightBSD 3.1.3 release&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/543/feedback/Kieran%20-%20Feedback.md" target="_blank" rel="nofollow noopener"&gt;Kieran - Feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/543/feedback/Albin%20-%20links%20inquires%20questions.md" target="_blank" rel="nofollow noopener"&gt;Albin - links inquires questions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, best practices, databases, vm, virtual machine, review 2023, continuous integration, workflow improvement, omnios, bhyve, jailed datasets, workstation, hardening, KDE plasma, midnightbsd</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenZFS Storage Best Practices and Use Cases Part 3: Databases and VMs, 2023 in Review: Continuous Integration and Workflow Improvement, Running OpenBSD on OmniOS using bhyve, FreeBSD jailed ZFS datasets – how do I find the .zfs/snapshot directory?, OpenBSD workstation hardening, KDE Plasma now linked to packages build on -current, MidnightBSD 3.1.3 release</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/openzfs-storage-best-practices-and-use-cases-part-3-databases-and-vms/" target="_blank" rel="nofollow noopener">OpenZFS Storage Best Practices and Use Cases Part 3: Databases and VMs</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/continuous-integration-and-workflow-improvement/" target="_blank" rel="nofollow noopener">2023 in Review: Continuous Integration and Workflow Improvement</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.tumfatig.net/2024/running-openbsd-on-omnios-using-bhyve/" target="_blank" rel="nofollow noopener">Running OpenBSD on OmniOS using bhyve</a></p>

<hr>

<p><a href="https://dan.langille.org/2023/12/25/freebsd-jailed-zfs-datasets-how-do-i-find-the-zfs-snapshot-directory/" target="_blank" rel="nofollow noopener">FreeBSD jailed ZFS datasets – how do I find the .zfs/snapshot directory?</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2023-12-31-hardened-openbsd-workstation.html" target="_blank" rel="nofollow noopener">OpenBSD workstation hardening</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20231227120851&amp;utm_source=bsdweekly" target="_blank" rel="nofollow noopener">KDE Plasma now linked to packages build on -current</a></p>

<hr>

<p><a href="https://bsdsec.net/articles/midnightbsd-security-midnightbsd-3-1-3-release" target="_blank" rel="nofollow noopener">MidnightBSD 3.1.3 release</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/543/feedback/Kieran%20-%20Feedback.md" target="_blank" rel="nofollow noopener">Kieran - Feedback</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/543/feedback/Albin%20-%20links%20inquires%20questions.md" target="_blank" rel="nofollow noopener">Albin - links inquires questions</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenZFS Storage Best Practices and Use Cases Part 3: Databases and VMs, 2023 in Review: Continuous Integration and Workflow Improvement, Running OpenBSD on OmniOS using bhyve, FreeBSD jailed ZFS datasets – how do I find the .zfs/snapshot directory?, OpenBSD workstation hardening, KDE Plasma now linked to packages build on -current, MidnightBSD 3.1.3 release</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/openzfs-storage-best-practices-and-use-cases-part-3-databases-and-vms/" target="_blank" rel="nofollow noopener">OpenZFS Storage Best Practices and Use Cases Part 3: Databases and VMs</a></p>

<hr>

<p><a href="https://freebsdfoundation.org/blog/continuous-integration-and-workflow-improvement/" target="_blank" rel="nofollow noopener">2023 in Review: Continuous Integration and Workflow Improvement</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://www.tumfatig.net/2024/running-openbsd-on-omnios-using-bhyve/" target="_blank" rel="nofollow noopener">Running OpenBSD on OmniOS using bhyve</a></p>

<hr>

<p><a href="https://dan.langille.org/2023/12/25/freebsd-jailed-zfs-datasets-how-do-i-find-the-zfs-snapshot-directory/" target="_blank" rel="nofollow noopener">FreeBSD jailed ZFS datasets – how do I find the .zfs/snapshot directory?</a></p>

<hr>

<p><a href="https://dataswamp.org/%7Esolene/2023-12-31-hardened-openbsd-workstation.html" target="_blank" rel="nofollow noopener">OpenBSD workstation hardening</a></p>

<hr>

<p><a href="https://www.undeadly.org/cgi?action=article;sid=20231227120851&amp;utm_source=bsdweekly" target="_blank" rel="nofollow noopener">KDE Plasma now linked to packages build on -current</a></p>

<hr>

<p><a href="https://bsdsec.net/articles/midnightbsd-security-midnightbsd-3-1-3-release" target="_blank" rel="nofollow noopener">MidnightBSD 3.1.3 release</a></p>

<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>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/543/feedback/Kieran%20-%20Feedback.md" target="_blank" rel="nofollow noopener">Kieran - Feedback</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/543/feedback/Albin%20-%20links%20inquires%20questions.md" target="_blank" rel="nofollow noopener">Albin - links inquires questions</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>542: Retro and Futuro</title>
  <link>https://www.bsdnow.tv/542</link>
  <guid isPermaLink="false">3bd8cfd6-d858-4eb9-951b-64cfe52da80f</guid>
  <pubDate>Thu, 18 Jan 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3bd8cfd6-d858-4eb9-951b-64cfe52da80f.mp3" length="51057024" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>8 Open Source Trends to Keep an Eye Out for in 2024</itunes:subtitle>
  <itunes:duration>53:11</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>&lt;p&gt;8 Open Source Trends to Keep an Eye Out for in 2024, System Design&lt;br&gt;
for Advanced Beginners, 2024 plans and 2023 retrospective, Upgrading from NetBSD 5.1 to 10*RC1, FreeBSD has a new C compiler: Oracle Developer Studio 12.6, Ctrl+Alt Museum&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://klarasystems.com/articles/8-open-source-trends-to-keep-an-eye-out-for-in-2024/" target="_blank" rel="nofollow noopener"&gt;8 Open Source Trends to Keep an Eye Out for in 2024&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://robertheaton.com/2020/04/06/systems-design-for-advanced-beginners/" target="_blank" rel="nofollow noopener"&gt;System Design for Advanced Beginners&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2024-01-09-plans-for-2024.html" target="_blank" rel="nofollow noopener"&gt;2024 plans and 2023 retrospective&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://www.idatum.net/upgrading-from-netbsd-51-to-10_rc1.html" target="_blank" rel="nofollow noopener"&gt;Upgrading from NetBSD 5.1 to 10_RC1&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://briancallahan.net/blog/20240101.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD has a new C compiler: Oracle Developer Studio 12.6&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://photos.google.com/share/AF1QipMTsm7-LbZ-EiFh4xctppvVbBg_IhOPLTu4ej3fc7gWNgg6nHAUlBEK67-AD_tTsA?pli=1&amp;amp;key=N3dLRWlWVUpUY0RfNU1nb2VxYWUzRDdNek5DU2hn" target="_blank" rel="nofollow noopener"&gt;Ctrl+Alt Museum&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackerstations.com/setups/taylor_town/" target="_blank" rel="nofollow noopener"&gt;Taylor's Hackerstation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sigwait.org/%7Ealex/blog/2022/09/11/fuzz.pdf" target="_blank" rel="nofollow noopener"&gt;An Empirical Study of the Reliability of UNIX Utilities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://virtuallyfun.com/2023/12/08/bsd-on-windows-things-i-wish-i-knew-existed/" target="_blank" rel="nofollow noopener"&gt;BSD on Windows: Things I wish I knew existed&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Tarsnap&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, trends, system design, advanced beginners, retrospective, netBSD 5.1, oracle developer studio, ctrl, alt, museum</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>8 Open Source Trends to Keep an Eye Out for in 2024, System Design<br>
for Advanced Beginners, 2024 plans and 2023 retrospective, Upgrading from NetBSD 5.1 to 10*RC1, FreeBSD has a new C compiler: Oracle Developer Studio 12.6, Ctrl+Alt Museum</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/8-open-source-trends-to-keep-an-eye-out-for-in-2024/" target="_blank" rel="nofollow noopener">8 Open Source Trends to Keep an Eye Out for in 2024</a></p>

<hr>

<p><a href="https://robertheaton.com/2020/04/06/systems-design-for-advanced-beginners/" target="_blank" rel="nofollow noopener">System Design for Advanced Beginners</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dataswamp.org/%7Esolene/2024-01-09-plans-for-2024.html" target="_blank" rel="nofollow noopener">2024 plans and 2023 retrospective</a></p>

<hr>

<p><a href="https://www.idatum.net/upgrading-from-netbsd-51-to-10_rc1.html" target="_blank" rel="nofollow noopener">Upgrading from NetBSD 5.1 to 10_RC1</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20240101.html" target="_blank" rel="nofollow noopener">FreeBSD has a new C compiler: Oracle Developer Studio 12.6</a></p>

<hr>

<p><a href="https://photos.google.com/share/AF1QipMTsm7-LbZ-EiFh4xctppvVbBg_IhOPLTu4ej3fc7gWNgg6nHAUlBEK67-AD_tTsA?pli=1&amp;key=N3dLRWlWVUpUY0RfNU1nb2VxYWUzRDdNek5DU2hn" target="_blank" rel="nofollow noopener">Ctrl+Alt Museum</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://hackerstations.com/setups/taylor_town/" target="_blank" rel="nofollow noopener">Taylor's Hackerstation</a></li>
<li><a href="https://sigwait.org/%7Ealex/blog/2022/09/11/fuzz.pdf" target="_blank" rel="nofollow noopener">An Empirical Study of the Reliability of UNIX Utilities</a></li>
<li><a href="https://virtuallyfun.com/2023/12/08/bsd-on-windows-things-i-wish-i-knew-existed/" target="_blank" rel="nofollow noopener">BSD on Windows: Things I wish I knew existed</a></li>
</ul>

<hr>

<h2>Tarsnap</h2>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>8 Open Source Trends to Keep an Eye Out for in 2024, System Design<br>
for Advanced Beginners, 2024 plans and 2023 retrospective, Upgrading from NetBSD 5.1 to 10*RC1, FreeBSD has a new C compiler: Oracle Developer Studio 12.6, Ctrl+Alt Museum</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<p><a href="https://klarasystems.com/articles/8-open-source-trends-to-keep-an-eye-out-for-in-2024/" target="_blank" rel="nofollow noopener">8 Open Source Trends to Keep an Eye Out for in 2024</a></p>

<hr>

<p><a href="https://robertheaton.com/2020/04/06/systems-design-for-advanced-beginners/" target="_blank" rel="nofollow noopener">System Design for Advanced Beginners</a></p>

<hr>

<h2>News Roundup</h2>

<p><a href="https://dataswamp.org/%7Esolene/2024-01-09-plans-for-2024.html" target="_blank" rel="nofollow noopener">2024 plans and 2023 retrospective</a></p>

<hr>

<p><a href="https://www.idatum.net/upgrading-from-netbsd-51-to-10_rc1.html" target="_blank" rel="nofollow noopener">Upgrading from NetBSD 5.1 to 10_RC1</a></p>

<hr>

<p><a href="https://briancallahan.net/blog/20240101.html" target="_blank" rel="nofollow noopener">FreeBSD has a new C compiler: Oracle Developer Studio 12.6</a></p>

<hr>

<p><a href="https://photos.google.com/share/AF1QipMTsm7-LbZ-EiFh4xctppvVbBg_IhOPLTu4ej3fc7gWNgg6nHAUlBEK67-AD_tTsA?pli=1&amp;key=N3dLRWlWVUpUY0RfNU1nb2VxYWUzRDdNek5DU2hn" target="_blank" rel="nofollow noopener">Ctrl+Alt Museum</a></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://hackerstations.com/setups/taylor_town/" target="_blank" rel="nofollow noopener">Taylor's Hackerstation</a></li>
<li><a href="https://sigwait.org/%7Ealex/blog/2022/09/11/fuzz.pdf" target="_blank" rel="nofollow noopener">An Empirical Study of the Reliability of UNIX Utilities</a></li>
<li><a href="https://virtuallyfun.com/2023/12/08/bsd-on-windows-things-i-wish-i-knew-existed/" target="_blank" rel="nofollow noopener">BSD on Windows: Things I wish I knew existed</a></li>
</ul>

<hr>

<h2>Tarsnap</h2>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>541: Learning and Teaching</title>
  <link>https://www.bsdnow.tv/541</link>
  <guid isPermaLink="false">f5a7d325-6881-48ae-8f15-27943f5b09af</guid>
  <pubDate>Thu, 11 Jan 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f5a7d325-6881-48ae-8f15-27943f5b09af.mp3" length="53020800" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Security, Performance, and Interoperability; Introducing FreeBSD 14, HardenedBSD November 2023 Status Report, How to create a FreeBSD Jail hosting a remote desktop, A sneak Peak, Programming FreeBSD Reading Process Information, Why Unix kernels have grown caches for directory entries 'name caches', Always learning, Always Teaching</itunes:subtitle>
  <itunes:duration>55:13</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>&lt;p&gt;Security, Performance, and Interoperability; Introducing FreeBSD 14, HardenedBSD November 2023 Status Report, How to create a FreeBSD Jail hosting a remote desktop, A sneak Peak, Programming FreeBSD Reading Process Information, Why Unix kernels have grown caches for directory entries 'name caches', Always learning, Always Teaching&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/security-performance-and-interoperability-introducing-freebsd-14/" target="_blank" rel="nofollow noopener"&gt;Security, Performance, and Interoperability; Introducing FreeBSD 14&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2023-12-01/hardenedbsd-november-2023-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD November 2023 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://it-notes.dragas.net/2023/12/13/how-to-create-a-freebsd-jail-hosting-xrdp-and-xfce-remote-access-desktop/" target="_blank" rel="nofollow noopener"&gt;How to create a FreeBSD Jail hosting a remote desktop&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/a-sneak-peek-simd-enhanced-string-functions-for-amd64/" target="_blank" rel="nofollow noopener"&gt;A sneak Peak&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://patmaddox.com/doc/trunk/www/programming-freebsd-reading-process-information/" target="_blank" rel="nofollow noopener"&gt;Programming FreeBSD Reading Process Information&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/KernelNameCachesWhy" target="_blank" rel="nofollow noopener"&gt;Why Unix kernels have grown caches for directory entries 'name caches'&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://stephango.com/always-learning-always-teaching" target="_blank" rel="nofollow noopener"&gt;Always learning, Always Teaching&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Join us and other BSD Fans in our &lt;a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSD Now Telegram channel&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</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, security, performance, Interoperability, status report, hardenedbsd, remote desktop, jail hosting, sneak peak, process, information, programming, caches, name cache, learning, teaching</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Security, Performance, and Interoperability; Introducing FreeBSD 14, HardenedBSD November 2023 Status Report, How to create a FreeBSD Jail hosting a remote desktop, A sneak Peak, Programming FreeBSD Reading Process Information, Why Unix kernels have grown caches for directory entries 'name caches', Always learning, Always Teaching</p>

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

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/security-performance-and-interoperability-introducing-freebsd-14/" target="_blank" rel="nofollow noopener">Security, Performance, and Interoperability; Introducing FreeBSD 14</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2023-12-01/hardenedbsd-november-2023-status-report" target="_blank" rel="nofollow noopener">HardenedBSD November 2023 Status Report</a></h3>

<hr>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://it-notes.dragas.net/2023/12/13/how-to-create-a-freebsd-jail-hosting-xrdp-and-xfce-remote-access-desktop/" target="_blank" rel="nofollow noopener">How to create a FreeBSD Jail hosting a remote desktop</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/a-sneak-peek-simd-enhanced-string-functions-for-amd64/" target="_blank" rel="nofollow noopener">A sneak Peak</a></h3>

<hr>

<h3><a href="https://patmaddox.com/doc/trunk/www/programming-freebsd-reading-process-information/" target="_blank" rel="nofollow noopener">Programming FreeBSD Reading Process Information</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/KernelNameCachesWhy" target="_blank" rel="nofollow noopener">Why Unix kernels have grown caches for directory entries 'name caches'</a></h3>

<hr>

<h3><a href="https://stephango.com/always-learning-always-teaching" target="_blank" rel="nofollow noopener">Always learning, Always Teaching</a></h3>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Security, Performance, and Interoperability; Introducing FreeBSD 14, HardenedBSD November 2023 Status Report, How to create a FreeBSD Jail hosting a remote desktop, A sneak Peak, Programming FreeBSD Reading Process Information, Why Unix kernels have grown caches for directory entries 'name caches', Always learning, Always Teaching</p>

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

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/security-performance-and-interoperability-introducing-freebsd-14/" target="_blank" rel="nofollow noopener">Security, Performance, and Interoperability; Introducing FreeBSD 14</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2023-12-01/hardenedbsd-november-2023-status-report" target="_blank" rel="nofollow noopener">HardenedBSD November 2023 Status Report</a></h3>

<hr>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://it-notes.dragas.net/2023/12/13/how-to-create-a-freebsd-jail-hosting-xrdp-and-xfce-remote-access-desktop/" target="_blank" rel="nofollow noopener">How to create a FreeBSD Jail hosting a remote desktop</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/a-sneak-peek-simd-enhanced-string-functions-for-amd64/" target="_blank" rel="nofollow noopener">A sneak Peak</a></h3>

<hr>

<h3><a href="https://patmaddox.com/doc/trunk/www/programming-freebsd-reading-process-information/" target="_blank" rel="nofollow noopener">Programming FreeBSD Reading Process Information</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/KernelNameCachesWhy" target="_blank" rel="nofollow noopener">Why Unix kernels have grown caches for directory entries 'name caches'</a></h3>

<hr>

<h3><a href="https://stephango.com/always-learning-always-teaching" target="_blank" rel="nofollow noopener">Always learning, Always Teaching</a></h3>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>540: Terrapin Attacks SSH</title>
  <link>https://www.bsdnow.tv/540</link>
  <guid isPermaLink="false">4f2e9d92-a578-459d-a42d-5d8e1d83db1c</guid>
  <pubDate>Thu, 04 Jan 2024 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4f2e9d92-a578-459d-a42d-5d8e1d83db1c.mp3" length="51090432" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Terrapin Attack, SSH Hardening with ssh-audit, MidnightBSD 3.1.2, syscall(2) removed from -current, 2024 FreeBSD Community Survey is Here</itunes:subtitle>
  <itunes:duration>53:13</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>&lt;p&gt;Terrapin Attack, SSH Hardening with ssh-audit, MidnightBSD 3.1.2, syscall(2) removed from -current, 2024 FreeBSD Community Survey is Here&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://terrapin-attack.com" target="_blank" rel="nofollow noopener"&gt;Terrapin Attack&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20231219122431" target="_blank" rel="nofollow noopener"&gt;OpenSSH 9.6 is out&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ftp.openbsd.org/pub/OpenBSD/patches/7.4/common/011_ssh.patch.sig" target="_blank" rel="nofollow noopener"&gt;OpenBSD Patches&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-23:19.openssh.asc" target="_blank" rel="nofollow noopener"&gt;FreeBSD Patches&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;If anyone is aware of NetBSD Patches, please send them into the show so I can update the show notes&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://thoughts.greyh.at/posts/ssh-audit/" target="_blank" rel="nofollow noopener"&gt;SSH Hardening with ssh-audit&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://bsdsec.net/articles/midnightbsd-security-midnightbsd-3-1-2" target="_blank" rel="nofollow noopener"&gt;MidnightBSD 3.1.2&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20231213062827" target="_blank" rel="nofollow noopener"&gt;syscall(2) removed from -current&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/2024-freebsd-community-survey-is-here/" target="_blank" rel="nofollow noopener"&gt;2024 FreeBSD Community Survey is Here&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;(Markus - how to verify FreeBSD deliverables](&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/539/feedback/Markus%20-%20how%20to%20verify%20FreeBSD%20deliverables.md" target="_blank" rel="nofollow noopener"&gt;https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/539/feedback/Markus%20-%20how%20to%20verify%20FreeBSD%20deliverables.md&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;(neb - tui](&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/539/feedback/neb%20-%20tui.md" target="_blank" rel="nofollow noopener"&gt;https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/539/feedback/neb%20-%20tui.md&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;
</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, terrapin, attack, ssh, crypto, hardening, ssh-audit, midnightbsd 3.1.2, syscall, community survey</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Terrapin Attack, SSH Hardening with ssh-audit, MidnightBSD 3.1.2, syscall(2) removed from -current, 2024 FreeBSD Community Survey is Here</p>

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

<h2>Headlines</h2>

<h3><a href="https://terrapin-attack.com" target="_blank" rel="nofollow noopener">Terrapin Attack</a></h3>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20231219122431" target="_blank" rel="nofollow noopener">OpenSSH 9.6 is out</a></li>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/patches/7.4/common/011_ssh.patch.sig" target="_blank" rel="nofollow noopener">OpenBSD Patches</a></li>
<li><a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-23:19.openssh.asc" target="_blank" rel="nofollow noopener">FreeBSD Patches</a></li>
<li><em>If anyone is aware of NetBSD Patches, please send them into the show so I can update the show notes</em></li>
</ul>

<hr>

<h3><a href="https://thoughts.greyh.at/posts/ssh-audit/" target="_blank" rel="nofollow noopener">SSH Hardening with ssh-audit</a></h3>

<hr>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://bsdsec.net/articles/midnightbsd-security-midnightbsd-3-1-2" target="_blank" rel="nofollow noopener">MidnightBSD 3.1.2</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20231213062827" target="_blank" rel="nofollow noopener">syscall(2) removed from -current</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/2024-freebsd-community-survey-is-here/" target="_blank" rel="nofollow noopener">2024 FreeBSD Community Survey is Here</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>(Markus - how to verify FreeBSD deliverables](<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/539/feedback/Markus%20-%20how%20to%20verify%20FreeBSD%20deliverables.md" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/539/feedback/Markus%20-%20how%20to%20verify%20FreeBSD%20deliverables.md</a>)</li>
<li>(neb - tui](<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/539/feedback/neb%20-%20tui.md" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/539/feedback/neb%20-%20tui.md</a>)</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Terrapin Attack, SSH Hardening with ssh-audit, MidnightBSD 3.1.2, syscall(2) removed from -current, 2024 FreeBSD Community Survey is Here</p>

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

<h2>Headlines</h2>

<h3><a href="https://terrapin-attack.com" target="_blank" rel="nofollow noopener">Terrapin Attack</a></h3>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20231219122431" target="_blank" rel="nofollow noopener">OpenSSH 9.6 is out</a></li>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/patches/7.4/common/011_ssh.patch.sig" target="_blank" rel="nofollow noopener">OpenBSD Patches</a></li>
<li><a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-23:19.openssh.asc" target="_blank" rel="nofollow noopener">FreeBSD Patches</a></li>
<li><em>If anyone is aware of NetBSD Patches, please send them into the show so I can update the show notes</em></li>
</ul>

<hr>

<h3><a href="https://thoughts.greyh.at/posts/ssh-audit/" target="_blank" rel="nofollow noopener">SSH Hardening with ssh-audit</a></h3>

<hr>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://bsdsec.net/articles/midnightbsd-security-midnightbsd-3-1-2" target="_blank" rel="nofollow noopener">MidnightBSD 3.1.2</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20231213062827" target="_blank" rel="nofollow noopener">syscall(2) removed from -current</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/2024-freebsd-community-survey-is-here/" target="_blank" rel="nofollow noopener">2024 FreeBSD Community Survey is Here</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>(Markus - how to verify FreeBSD deliverables](<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/539/feedback/Markus%20-%20how%20to%20verify%20FreeBSD%20deliverables.md" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/539/feedback/Markus%20-%20how%20to%20verify%20FreeBSD%20deliverables.md</a>)</li>
<li>(neb - tui](<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/539/feedback/neb%20-%20tui.md" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/539/feedback/neb%20-%20tui.md</a>)</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>539: Query all hosts</title>
  <link>https://www.bsdnow.tv/539</link>
  <guid isPermaLink="false">c8786993-f9f3-4b3d-814f-b7396ee2b050</guid>
  <pubDate>Thu, 28 Dec 2023 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c8786993-f9f3-4b3d-814f-b7396ee2b050.mp3" length="57280128" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>In this special holiday episode, we, the BSDNow hosts, get together to answer questions that listeners have sent us over time. We give you updates on our gear, books we read, favorite places, and a whole lot more. Enjoy!</itunes:subtitle>
  <itunes:duration>59:40</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>&lt;p&gt;In this special holiday episode, we, the BSDNow hosts, get together to answer questions that listeners have sent us over time. We give you updates on our gear, books we read, favorite places, and a whole lot more. Enjoy!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

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

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, special</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>In this special holiday episode, we, the BSDNow hosts, get together to answer questions that listeners have sent us over time. We give you updates on our gear, books we read, favorite places, and a whole lot more. Enjoy!</p>

<p><strong><em>NOTES</em></strong><br>
This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>In this special holiday episode, we, the BSDNow hosts, get together to answer questions that listeners have sent us over time. We give you updates on our gear, books we read, favorite places, and a whole lot more. Enjoy!</p>

<p><strong><em>NOTES</em></strong><br>
This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>538: Gadget Catalog Age</title>
  <link>https://www.bsdnow.tv/538</link>
  <guid isPermaLink="false">52d8cc20-79da-4a6e-969c-84b4cc973a56</guid>
  <pubDate>Thu, 21 Dec 2023 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/52d8cc20-79da-4a6e-969c-84b4cc973a56.mp3" length="39395712" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>DAK and the Golden Age of Gadget Catalogs, FreeBSD 13.2 upgrade to 14.0, Running OpenBSD on Raspberry Pi Zero 2 W, Netgate Releases pfSense CE Software Version 2.7.1, SSH agent forwarding and tmux done right, Some explanations about OpenBSD memory usage, and more</itunes:subtitle>
  <itunes:duration>41:02</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>&lt;p&gt;DAK and the Golden Age of Gadget Catalogs, FreeBSD 13.2 upgrade to 14.0, Running OpenBSD on Raspberry Pi Zero 2 W, Netgate Releases pfSense CE Software Version 2.7.1, SSH agent forwarding and tmux done right, Some explanations about OpenBSD memory usage, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://cabel.com/2023/11/06/dak-and-the-golden-age-of-gadget-catalogs/" target="_blank" rel="nofollow noopener"&gt;DAK and the Golden Age of Gadget Catalogs&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://ozgurkazancci.com/freebsd-13-2-upgrade-to-14-0-proper-and-correct-way/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13.2 upgrade to 14.0 – properly detailed and (hopefully) correct way&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/2023/running-openbsd-on-raspberry-pi-zero-2-w/" target="_blank" rel="nofollow noopener"&gt;Running OpenBSD on Raspberry Pi Zero 2 W&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.netgate.com/blog/netgate-releases-pfsense-ce-software-version-2.7.1" target="_blank" rel="nofollow noopener"&gt;Netgate Releases pfSense CE Software Version 2.7.1&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://jmmv.dev/2023/11/ssh-agent-forwarding-and-tmux-done.html" target="_blank" rel="nofollow noopener"&gt;SSH agent forwarding and tmux done right&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-08-11-openbsd-understand-memory-usage.html" target="_blank" rel="nofollow noopener"&gt;Some explanations about OpenBSD memory usage&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, DAK, golden age, gadget catalog, system upgrade, raspberry pi zero 2 w, pfsense, agent forwarding, tmux, done right, memory usage</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>DAK and the Golden Age of Gadget Catalogs, FreeBSD 13.2 upgrade to 14.0, Running OpenBSD on Raspberry Pi Zero 2 W, Netgate Releases pfSense CE Software Version 2.7.1, SSH agent forwarding and tmux done right, Some explanations about OpenBSD memory usage, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://cabel.com/2023/11/06/dak-and-the-golden-age-of-gadget-catalogs/" target="_blank" rel="nofollow noopener">DAK and the Golden Age of Gadget Catalogs</a></h3>

<hr>

<h3><a href="https://ozgurkazancci.com/freebsd-13-2-upgrade-to-14-0-proper-and-correct-way/" target="_blank" rel="nofollow noopener">FreeBSD 13.2 upgrade to 14.0 – properly detailed and (hopefully) correct way</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.tumfatig.net/2023/running-openbsd-on-raspberry-pi-zero-2-w/" target="_blank" rel="nofollow noopener">Running OpenBSD on Raspberry Pi Zero 2 W</a></h3>

<hr>

<h3><a href="https://www.netgate.com/blog/netgate-releases-pfsense-ce-software-version-2.7.1" target="_blank" rel="nofollow noopener">Netgate Releases pfSense CE Software Version 2.7.1</a></h3>

<hr>

<h3><a href="https://jmmv.dev/2023/11/ssh-agent-forwarding-and-tmux-done.html" target="_blank" rel="nofollow noopener">SSH agent forwarding and tmux done right</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-08-11-openbsd-understand-memory-usage.html" target="_blank" rel="nofollow noopener">Some explanations about OpenBSD memory usage</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>DAK and the Golden Age of Gadget Catalogs, FreeBSD 13.2 upgrade to 14.0, Running OpenBSD on Raspberry Pi Zero 2 W, Netgate Releases pfSense CE Software Version 2.7.1, SSH agent forwarding and tmux done right, Some explanations about OpenBSD memory usage, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://cabel.com/2023/11/06/dak-and-the-golden-age-of-gadget-catalogs/" target="_blank" rel="nofollow noopener">DAK and the Golden Age of Gadget Catalogs</a></h3>

<hr>

<h3><a href="https://ozgurkazancci.com/freebsd-13-2-upgrade-to-14-0-proper-and-correct-way/" target="_blank" rel="nofollow noopener">FreeBSD 13.2 upgrade to 14.0 – properly detailed and (hopefully) correct way</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.tumfatig.net/2023/running-openbsd-on-raspberry-pi-zero-2-w/" target="_blank" rel="nofollow noopener">Running OpenBSD on Raspberry Pi Zero 2 W</a></h3>

<hr>

<h3><a href="https://www.netgate.com/blog/netgate-releases-pfsense-ce-software-version-2.7.1" target="_blank" rel="nofollow noopener">Netgate Releases pfSense CE Software Version 2.7.1</a></h3>

<hr>

<h3><a href="https://jmmv.dev/2023/11/ssh-agent-forwarding-and-tmux-done.html" target="_blank" rel="nofollow noopener">SSH agent forwarding and tmux done right</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-08-11-openbsd-understand-memory-usage.html" target="_blank" rel="nofollow noopener">Some explanations about OpenBSD memory usage</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>537: Authentic SSH Host</title>
  <link>https://www.bsdnow.tv/537</link>
  <guid isPermaLink="false">e7c69b69-7499-4f5f-bc76-c7c76b266218</guid>
  <pubDate>Thu, 14 Dec 2023 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e7c69b69-7499-4f5f-bc76-c7c76b266218.mp3" length="51144960" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenZFS Storage Best Practices and Use Cases pt 2,  MNT Reform – almost a year on, Why do I know shell, and how can you, Authenticate the SSH servers you are connecting to, dsynth in DragonFly, Navigating around in shell, and more</itunes:subtitle>
  <itunes:duration>53:16</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>&lt;p&gt;OpenZFS Storage Best Practices and Use Cases pt 2,  MNT Reform – almost a year on, Why do I know shell, and how can you, Authenticate the SSH servers you are connecting to, dsynth in DragonFly, Navigating around in shell, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-storage-best-practices-and-use-cases-part-2-file-serving-and-sans/" target="_blank" rel="nofollow noopener"&gt;OpenZFS Storage Best Practices and Use Cases – Part 2: File Serving and SANs&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.geeklan.co.uk/?p=3215" target="_blank" rel="nofollow noopener"&gt;My MNT Reform – almost a year on&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://jmmv.dev/2023/11/why-do-i-know-shell-and-how-can-you.html" target="_blank" rel="nofollow noopener"&gt;Why do I know shell, and how can you?&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-08-05-sshfp-dns-entries.html" target="_blank" rel="nofollow noopener"&gt;Authenticate the SSH servers you are connecting to&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2023/11/30/dsynth-in-dragonfly/" target="_blank" rel="nofollow noopener"&gt;dsynth in DragonFly&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.meain.io/2023/navigating-around-in-shell/" target="_blank" rel="nofollow noopener"&gt;Navigating around in shell&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/537/feedback/Brad%20-%20jail%20manager%20questions.md" target="_blank" rel="nofollow noopener"&gt;Brad - jail manager questions&lt;/a&gt;
Jail manager comparison: &lt;a href="https://appjail.readthedocs.io/en/latest/compare/" target="_blank" rel="nofollow noopener"&gt;https://appjail.readthedocs.io/en/latest/compare/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/537/feedback/nixbytes%20-%20sharing%20a%20link.md" target="_blank" rel="nofollow noopener"&gt;nixbytes - sharing a link.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, best practices, use case, mnt reform, learn, authenticate, ssh, host, synth, navigation</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenZFS Storage Best Practices and Use Cases pt 2,  MNT Reform – almost a year on, Why do I know shell, and how can you, Authenticate the SSH servers you are connecting to, dsynth in DragonFly, Navigating around in shell, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-storage-best-practices-and-use-cases-part-2-file-serving-and-sans/" target="_blank" rel="nofollow noopener">OpenZFS Storage Best Practices and Use Cases – Part 2: File Serving and SANs</a></h3>

<hr>

<h3><a href="https://www.geeklan.co.uk/?p=3215" target="_blank" rel="nofollow noopener">My MNT Reform – almost a year on</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jmmv.dev/2023/11/why-do-i-know-shell-and-how-can-you.html" target="_blank" rel="nofollow noopener">Why do I know shell, and how can you?</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-08-05-sshfp-dns-entries.html" target="_blank" rel="nofollow noopener">Authenticate the SSH servers you are connecting to</a></h3>

<hr>

<h3><a href="https://www.dragonflydigest.com/2023/11/30/dsynth-in-dragonfly/" target="_blank" rel="nofollow noopener">dsynth in DragonFly</a></h3>

<hr>

<h3><a href="https://blog.meain.io/2023/navigating-around-in-shell/" target="_blank" rel="nofollow noopener">Navigating around in shell</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/537/feedback/Brad%20-%20jail%20manager%20questions.md" target="_blank" rel="nofollow noopener">Brad - jail manager questions</a>
Jail manager comparison: <a href="https://appjail.readthedocs.io/en/latest/compare/" target="_blank" rel="nofollow noopener">https://appjail.readthedocs.io/en/latest/compare/</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/537/feedback/nixbytes%20-%20sharing%20a%20link.md" target="_blank" rel="nofollow noopener">nixbytes - sharing a link.md</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenZFS Storage Best Practices and Use Cases pt 2,  MNT Reform – almost a year on, Why do I know shell, and how can you, Authenticate the SSH servers you are connecting to, dsynth in DragonFly, Navigating around in shell, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-storage-best-practices-and-use-cases-part-2-file-serving-and-sans/" target="_blank" rel="nofollow noopener">OpenZFS Storage Best Practices and Use Cases – Part 2: File Serving and SANs</a></h3>

<hr>

<h3><a href="https://www.geeklan.co.uk/?p=3215" target="_blank" rel="nofollow noopener">My MNT Reform – almost a year on</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jmmv.dev/2023/11/why-do-i-know-shell-and-how-can-you.html" target="_blank" rel="nofollow noopener">Why do I know shell, and how can you?</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-08-05-sshfp-dns-entries.html" target="_blank" rel="nofollow noopener">Authenticate the SSH servers you are connecting to</a></h3>

<hr>

<h3><a href="https://www.dragonflydigest.com/2023/11/30/dsynth-in-dragonfly/" target="_blank" rel="nofollow noopener">dsynth in DragonFly</a></h3>

<hr>

<h3><a href="https://blog.meain.io/2023/navigating-around-in-shell/" target="_blank" rel="nofollow noopener">Navigating around in shell</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/537/feedback/Brad%20-%20jail%20manager%20questions.md" target="_blank" rel="nofollow noopener">Brad - jail manager questions</a>
Jail manager comparison: <a href="https://appjail.readthedocs.io/en/latest/compare/" target="_blank" rel="nofollow noopener">https://appjail.readthedocs.io/en/latest/compare/</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/537/feedback/nixbytes%20-%20sharing%20a%20link.md" target="_blank" rel="nofollow noopener">nixbytes - sharing a link.md</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>536: Pot-flavored Jails</title>
  <link>https://www.bsdnow.tv/536</link>
  <guid isPermaLink="false">73f0f425-12a1-4b7c-91c4-fa43cb3c7f12</guid>
  <pubDate>Thu, 07 Dec 2023 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/73f0f425-12a1-4b7c-91c4-fa43cb3c7f12.mp3" length="49751808" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenZFS Storage Best Practices and Use Cases, EuroBSDcon trip report, Disks from the Perspective of a File System, Creating Jails using flavours in pot, OpenIKED 7.3 released, OpenSMTPD 7.4.0p1 Released, FreeBSD can now boot in 25 milliseconds, and more</itunes:subtitle>
  <itunes:duration>51: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>&lt;p&gt;OpenZFS Storage Best Practices and Use Cases, EuroBSDcon trip report, Disks from the Perspective of a File System, Creating Jails using flavours in pot, OpenIKED 7.3 released, OpenSMTPD 7.4.0p1 Released, FreeBSD can now boot in 25 milliseconds, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-storage-best-practices-and-use-cases-part-1-snapshots-and-backups/" target="_blank" rel="nofollow noopener"&gt;OpenZFS Storage Best Practices and Use Cases - Part 1: Snapshots and Backups&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://eerielinux.wordpress.com/2023/09/20/eurobsdcon-2023-report-1-2-arrival-tutorial-days/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2023 report (1/2) – arrival &amp;amp; tutorial days&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;&lt;a href="https://eerielinux.wordpress.com/2023/10/15/eurobsdcon-2023-report-2-2-main-conference-social-event-conclusion/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2023 report (2/2) – Main conference, social event &amp;amp; conclusion&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dl.acm.org/doi/10.1145/2367376.2367378" target="_blank" rel="nofollow noopener"&gt;Disks from the Perspective of a File System&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-announce&amp;amp;m=170042964022226&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenIKED 7.3 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-announce&amp;amp;m=170012963318854&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenSMTPD 7.4.0p1 Released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://byte-sized.de/linux-unix/freebsd-jails-mithilfe-von-flavours-in-pot-erstellen/#english" target="_blank" rel="nofollow noopener"&gt;FreeBSD – Creating Jails using flavours in pot&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.theregister.com/2023/08/29/freebsd_boots_in_25ms/" target="_blank" rel="nofollow noopener"&gt;FreeBSD can now boot in 25 milliseconds&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.
***&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Join us and other BSD Fans in our &lt;a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSD Now Telegram channel&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenZFS Storage Best Practices and Use Cases, EuroBSDcon trip report, Disks from the Perspective of a File System, Creating Jails using flavours in pot, OpenIKED 7.3 released, OpenSMTPD 7.4.0p1 Released, FreeBSD can now boot in 25 milliseconds, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-storage-best-practices-and-use-cases-part-1-snapshots-and-backups/" target="_blank" rel="nofollow noopener">OpenZFS Storage Best Practices and Use Cases - Part 1: Snapshots and Backups</a></h3>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2023/09/20/eurobsdcon-2023-report-1-2-arrival-tutorial-days/" target="_blank" rel="nofollow noopener">EuroBSDCon 2023 report (1/2) – arrival &amp; tutorial days</a></h3>

<h3><a href="https://eerielinux.wordpress.com/2023/10/15/eurobsdcon-2023-report-2-2-main-conference-social-event-conclusion/" target="_blank" rel="nofollow noopener">EuroBSDCon 2023 report (2/2) – Main conference, social event &amp; conclusion</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dl.acm.org/doi/10.1145/2367376.2367378" target="_blank" rel="nofollow noopener">Disks from the Perspective of a File System</a></h3>

<hr>

<h3><a href="https://marc.info/?l=openbsd-announce&amp;m=170042964022226&amp;w=2" target="_blank" rel="nofollow noopener">OpenIKED 7.3 released</a></h3>

<hr>

<h3><a href="https://marc.info/?l=openbsd-announce&amp;m=170012963318854&amp;w=2" target="_blank" rel="nofollow noopener">OpenSMTPD 7.4.0p1 Released</a></h3>

<hr>

<h3><a href="https://byte-sized.de/linux-unix/freebsd-jails-mithilfe-von-flavours-in-pot-erstellen/#english" target="_blank" rel="nofollow noopener">FreeBSD – Creating Jails using flavours in pot</a></h3>

<hr>

<h3><a href="https://www.theregister.com/2023/08/29/freebsd_boots_in_25ms/" target="_blank" rel="nofollow noopener">FreeBSD can now boot in 25 milliseconds</a></h3>

<hr>

<h3>Tarsnap</h3>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenZFS Storage Best Practices and Use Cases, EuroBSDcon trip report, Disks from the Perspective of a File System, Creating Jails using flavours in pot, OpenIKED 7.3 released, OpenSMTPD 7.4.0p1 Released, FreeBSD can now boot in 25 milliseconds, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-storage-best-practices-and-use-cases-part-1-snapshots-and-backups/" target="_blank" rel="nofollow noopener">OpenZFS Storage Best Practices and Use Cases - Part 1: Snapshots and Backups</a></h3>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2023/09/20/eurobsdcon-2023-report-1-2-arrival-tutorial-days/" target="_blank" rel="nofollow noopener">EuroBSDCon 2023 report (1/2) – arrival &amp; tutorial days</a></h3>

<h3><a href="https://eerielinux.wordpress.com/2023/10/15/eurobsdcon-2023-report-2-2-main-conference-social-event-conclusion/" target="_blank" rel="nofollow noopener">EuroBSDCon 2023 report (2/2) – Main conference, social event &amp; conclusion</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dl.acm.org/doi/10.1145/2367376.2367378" target="_blank" rel="nofollow noopener">Disks from the Perspective of a File System</a></h3>

<hr>

<h3><a href="https://marc.info/?l=openbsd-announce&amp;m=170042964022226&amp;w=2" target="_blank" rel="nofollow noopener">OpenIKED 7.3 released</a></h3>

<hr>

<h3><a href="https://marc.info/?l=openbsd-announce&amp;m=170012963318854&amp;w=2" target="_blank" rel="nofollow noopener">OpenSMTPD 7.4.0p1 Released</a></h3>

<hr>

<h3><a href="https://byte-sized.de/linux-unix/freebsd-jails-mithilfe-von-flavours-in-pot-erstellen/#english" target="_blank" rel="nofollow noopener">FreeBSD – Creating Jails using flavours in pot</a></h3>

<hr>

<h3><a href="https://www.theregister.com/2023/08/29/freebsd_boots_in_25ms/" target="_blank" rel="nofollow noopener">FreeBSD can now boot in 25 milliseconds</a></h3>

<hr>

<h3>Tarsnap</h3>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>535: Untitled Episode</title>
  <link>https://www.bsdnow.tv/535</link>
  <guid isPermaLink="false">610bc47e-40b5-420b-bfd1-343fadf60a04</guid>
  <pubDate>Thu, 30 Nov 2023 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/610bc47e-40b5-420b-bfd1-343fadf60a04.mp3" length="54371712" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 14 has been released, Reading your RSS feed on FreeBSD, Manipulate PDF files easily with pdftk, clang(1)/llvm updated to version 16 in OpenBSD, NetBSD Security Advisory: multiple vulnerabilities in ftpd(8), and more</itunes:subtitle>
  <itunes:duration>56:38</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>&lt;p&gt;FreeBSD 14 has been released, Reading your RSS feed on FreeBSD, Manipulate PDF files easily with pdftk, clang(1)/llvm updated to version 16 in OpenBSD, NetBSD Security Advisory: multiple vulnerabilities in ftpd(8), and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/releases/14.0R/relnotes/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 14&lt;/a&gt;&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;• [Quick update](https://www.daemonology.net/blog/2023-11-21-late-breaking-FreeBSD-14-breakage.html)
• [Vermaden’s FreeBSD 14 valuable news] (https://vermaden.wordpress.com/2023/11/17/valuable-freebsd-14-0-release-updates)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.ncartron.org/reading-your-rss-feed-on-freebsd.html" target="_blank" rel="nofollow noopener"&gt;Reading your RSS feed on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-08-19-pdftk-guide.html" target="_blank" rel="nofollow noopener"&gt;Manipulate PDF files easily with pdftk&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20231113160314&amp;amp;utm_source=bsdweekly" target="_blank" rel="nofollow noopener"&gt;clang(1)/llvm updated to version 16&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsdsec.net/articles/netbsd-security-advisory-2023-007-multiple-vulnerabilities-in-ftpd-8" target="_blank" rel="nofollow noopener"&gt;NetBSD Security Advisory 2023-007: multiple vulnerabilities in ftpd(8)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/535/feedback/Brad%20-%20zpool%20disk%20allocation%20questions.md" target="_blank" rel="nofollow noopener"&gt;Brad - zpool disk allocation questions&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/535/feedback/Kevin%20-%20shell%20question.md" target="_blank" rel="nofollow noopener"&gt;Kevin - shell question&lt;/a&gt;&lt;/p&gt;

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

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, freebsd 14, rss, feed, feed reader, pdftk, clang, llvm, security advisory, ftpd</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 14 has been released, Reading your RSS feed on FreeBSD, Manipulate PDF files easily with pdftk, clang(1)/llvm updated to version 16 in OpenBSD, NetBSD Security Advisory: multiple vulnerabilities in ftpd(8), 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/14.0R/relnotes/" target="_blank" rel="nofollow noopener">FreeBSD 14</a></h3>

<pre><code>• [Quick update](https://www.daemonology.net/blog/2023-11-21-late-breaking-FreeBSD-14-breakage.html)
• [Vermaden’s FreeBSD 14 valuable news] (https://vermaden.wordpress.com/2023/11/17/valuable-freebsd-14-0-release-updates)
</code></pre>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.ncartron.org/reading-your-rss-feed-on-freebsd.html" target="_blank" rel="nofollow noopener">Reading your RSS feed on FreeBSD</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-08-19-pdftk-guide.html" target="_blank" rel="nofollow noopener">Manipulate PDF files easily with pdftk</a></h3>

<hr>

<h3><a href="https://www.undeadly.org/cgi?action=article;sid=20231113160314&amp;utm_source=bsdweekly" target="_blank" rel="nofollow noopener">clang(1)/llvm updated to version 16</a></h3>

<hr>

<h3><a href="https://bsdsec.net/articles/netbsd-security-advisory-2023-007-multiple-vulnerabilities-in-ftpd-8" target="_blank" rel="nofollow noopener">NetBSD Security Advisory 2023-007: multiple vulnerabilities in ftpd(8)</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/535/feedback/Brad%20-%20zpool%20disk%20allocation%20questions.md" target="_blank" rel="nofollow noopener">Brad - zpool disk allocation questions</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/535/feedback/Kevin%20-%20shell%20question.md" target="_blank" rel="nofollow noopener">Kevin - shell question</a></p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 14 has been released, Reading your RSS feed on FreeBSD, Manipulate PDF files easily with pdftk, clang(1)/llvm updated to version 16 in OpenBSD, NetBSD Security Advisory: multiple vulnerabilities in ftpd(8), 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/14.0R/relnotes/" target="_blank" rel="nofollow noopener">FreeBSD 14</a></h3>

<pre><code>• [Quick update](https://www.daemonology.net/blog/2023-11-21-late-breaking-FreeBSD-14-breakage.html)
• [Vermaden’s FreeBSD 14 valuable news] (https://vermaden.wordpress.com/2023/11/17/valuable-freebsd-14-0-release-updates)
</code></pre>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.ncartron.org/reading-your-rss-feed-on-freebsd.html" target="_blank" rel="nofollow noopener">Reading your RSS feed on FreeBSD</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-08-19-pdftk-guide.html" target="_blank" rel="nofollow noopener">Manipulate PDF files easily with pdftk</a></h3>

<hr>

<h3><a href="https://www.undeadly.org/cgi?action=article;sid=20231113160314&amp;utm_source=bsdweekly" target="_blank" rel="nofollow noopener">clang(1)/llvm updated to version 16</a></h3>

<hr>

<h3><a href="https://bsdsec.net/articles/netbsd-security-advisory-2023-007-multiple-vulnerabilities-in-ftpd-8" target="_blank" rel="nofollow noopener">NetBSD Security Advisory 2023-007: multiple vulnerabilities in ftpd(8)</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/535/feedback/Brad%20-%20zpool%20disk%20allocation%20questions.md" target="_blank" rel="nofollow noopener">Brad - zpool disk allocation questions</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/535/feedback/Kevin%20-%20shell%20question.md" target="_blank" rel="nofollow noopener">Kevin - shell question</a></p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>534: Narrow Waisted Internet</title>
  <link>https://www.bsdnow.tv/534</link>
  <guid isPermaLink="false">fe2b5c7a-0dfd-4dfa-8cfd-3bbac48369f0</guid>
  <pubDate>Thu, 23 Nov 2023 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/fe2b5c7a-0dfd-4dfa-8cfd-3bbac48369f0.mp3" length="60482304" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Migrating from an Old Linux Server to a New FreeBSD Machine, The Internet Was Designed With a Narrow Waist, The Worst New Guys In History, FreeBSD Jails vs. Docker: A Comparison, Oracle Developer Studio 12.6 on Illumos</itunes:subtitle>
  <itunes:duration>1:03:00</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>&lt;p&gt;Migrating from an Old Linux Server to a New FreeBSD Machine, The Internet Was Designed With a Narrow Waist, The Worst New Guys In History, FreeBSD Jails vs. Docker: A Comparison, Oracle Developer Studio 12.6 on Illumos&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://it-notes.dragas.net/2023/10/25/migrating-from-an-old-linux-server-to-a-new-freebsd-machine/" target="_blank" rel="nofollow noopener"&gt;Migrating from an Old Linux Server to a New FreeBSD Machine&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.oilshell.org/blog/2022/02/diagrams.html" target="_blank" rel="nofollow noopener"&gt;The Internet Was Designed With a Narrow Waist&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.vito.nyc/posts/on-programming/" target="_blank" rel="nofollow noopener"&gt;The Worst New Guys In History&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://justanerds.site/freebsd-jails-vs-docker/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Jails vs. Docker: A Comparison&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://briancallahan.net/blog/20230703.html" target="_blank" rel="nofollow noopener"&gt;Installing Oracle Developer Studio 12.6 on Illumos&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/534/feedback/Brad%20-%20Detective%20work%20on%20zpool%20history.md" target="_blank" rel="nofollow noopener"&gt;Brad - Detective work on zpool history&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/534/feedback/Extrowerk%20-%20End%20of%20the%20world%20type%20stuff.md" target="_blank" rel="nofollow noopener"&gt;Extrowerk - End of the world type stuff&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/534/feedback/Mike%20-%20principle%20of%20least%20astonishment.md" target="_blank" rel="nofollow noopener"&gt;Mike - principle of least astonishment&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, migration, internet, design, narrow waist, news guy, worst, history, docker, comparison, oracle developer studio, illumos, pdftk, PDF</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Migrating from an Old Linux Server to a New FreeBSD Machine, The Internet Was Designed With a Narrow Waist, The Worst New Guys In History, FreeBSD Jails vs. Docker: A Comparison, Oracle Developer Studio 12.6 on Illumos</p>

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

<h2>Headlines</h2>

<h3><a href="https://it-notes.dragas.net/2023/10/25/migrating-from-an-old-linux-server-to-a-new-freebsd-machine/" target="_blank" rel="nofollow noopener">Migrating from an Old Linux Server to a New FreeBSD Machine</a></h3>

<hr>

<h3><a href="https://www.oilshell.org/blog/2022/02/diagrams.html" target="_blank" rel="nofollow noopener">The Internet Was Designed With a Narrow Waist</a></h3>

<hr>

<h3><a href="https://blog.vito.nyc/posts/on-programming/" target="_blank" rel="nofollow noopener">The Worst New Guys In History</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://justanerds.site/freebsd-jails-vs-docker/" target="_blank" rel="nofollow noopener">FreeBSD Jails vs. Docker: A Comparison</a></h3>

<hr>

<h3><a href="https://briancallahan.net/blog/20230703.html" target="_blank" rel="nofollow noopener">Installing Oracle Developer Studio 12.6 on Illumos</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/534/feedback/Brad%20-%20Detective%20work%20on%20zpool%20history.md" target="_blank" rel="nofollow noopener">Brad - Detective work on zpool history</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/534/feedback/Extrowerk%20-%20End%20of%20the%20world%20type%20stuff.md" target="_blank" rel="nofollow noopener">Extrowerk - End of the world type stuff</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/534/feedback/Mike%20-%20principle%20of%20least%20astonishment.md" target="_blank" rel="nofollow noopener">Mike - principle of least astonishment</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Migrating from an Old Linux Server to a New FreeBSD Machine, The Internet Was Designed With a Narrow Waist, The Worst New Guys In History, FreeBSD Jails vs. Docker: A Comparison, Oracle Developer Studio 12.6 on Illumos</p>

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

<h2>Headlines</h2>

<h3><a href="https://it-notes.dragas.net/2023/10/25/migrating-from-an-old-linux-server-to-a-new-freebsd-machine/" target="_blank" rel="nofollow noopener">Migrating from an Old Linux Server to a New FreeBSD Machine</a></h3>

<hr>

<h3><a href="https://www.oilshell.org/blog/2022/02/diagrams.html" target="_blank" rel="nofollow noopener">The Internet Was Designed With a Narrow Waist</a></h3>

<hr>

<h3><a href="https://blog.vito.nyc/posts/on-programming/" target="_blank" rel="nofollow noopener">The Worst New Guys In History</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://justanerds.site/freebsd-jails-vs-docker/" target="_blank" rel="nofollow noopener">FreeBSD Jails vs. Docker: A Comparison</a></h3>

<hr>

<h3><a href="https://briancallahan.net/blog/20230703.html" target="_blank" rel="nofollow noopener">Installing Oracle Developer Studio 12.6 on Illumos</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/534/feedback/Brad%20-%20Detective%20work%20on%20zpool%20history.md" target="_blank" rel="nofollow noopener">Brad - Detective work on zpool history</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/534/feedback/Extrowerk%20-%20End%20of%20the%20world%20type%20stuff.md" target="_blank" rel="nofollow noopener">Extrowerk - End of the world type stuff</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/534/feedback/Mike%20-%20principle%20of%20least%20astonishment.md" target="_blank" rel="nofollow noopener">Mike - principle of least astonishment</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>533: Package the Base</title>
  <link>https://www.bsdnow.tv/533</link>
  <guid isPermaLink="false">932df15a-6bff-4f3d-b9d8-6c477d8da3a7</guid>
  <pubDate>Thu, 16 Nov 2023 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/932df15a-6bff-4f3d-b9d8-6c477d8da3a7.mp3" length="42418944" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD on the RISC-V Architecture, A bit of XENIX history, pkgbase: Official packages, recover lost text by coredumping firefox, FuguIta 7.4 has been released, LibreSSL 3.8.2 Released, OpenSMTPD 7.4.0p0 Released</itunes:subtitle>
  <itunes:duration>44:11</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>&lt;p&gt;FreeBSD on the RISC-V Architecture, A bit of XENIX history, pkgbase: Official packages, recover lost text by coredumping firefox, FuguIta 7.4 has been released, LibreSSL 3.8.2 Released, OpenSMTPD 7.4.0p0 Released&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/looking-towards-the-future-freebsd-on-the-risc-v-architecture/" target="_blank" rel="nofollow noopener"&gt;Looking Towards the Future: FreeBSD on the RISC-V Architecture&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://seefigure1.com/2014/04/15/xenixtime.html" target="_blank" rel="nofollow noopener"&gt;A bit of XENIX history&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/archives/freebsd-pkgbase/2023-October/000221.html" target="_blank" rel="nofollow noopener"&gt;Official packages&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://j3s.sh/thought/recover-lost-text-by-coredumping-firefox.html" target="_blank" rel="nofollow noopener"&gt;recover lost text by coredumping firefox&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://fuguita.org/?FuguIta/7.4&amp;amp;utm_source=bsdweekly" target="_blank" rel="nofollow noopener"&gt;FuguIta 7.4 has been released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20231103065952" target="_blank" rel="nofollow noopener"&gt;LibreSSL 3.8.2 Released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20231026121132" target="_blank" rel="nofollow noopener"&gt;OpenSMTPD 7.4.0p0 Released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Conference News&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://2024.asiabsdcon.org" target="_blank" rel="nofollow noopener"&gt;AsiaBSDCon 2024&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.bsdcan.org" target="_blank" rel="nofollow noopener"&gt;BSDCan 2024&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://2024.eurobsdcon.org" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2024&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Join us and other BSD Fans in our &lt;a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSD Now Telegram channel&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, riscv, xenix, pkgbase, core dump, recover, firefox, fuguita, libressl, opensmtpd</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD on the RISC-V Architecture, A bit of XENIX history, pkgbase: Official packages, recover lost text by coredumping firefox, FuguIta 7.4 has been released, LibreSSL 3.8.2 Released, OpenSMTPD 7.4.0p0 Released</p>

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

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/looking-towards-the-future-freebsd-on-the-risc-v-architecture/" target="_blank" rel="nofollow noopener">Looking Towards the Future: FreeBSD on the RISC-V Architecture</a></h3>

<hr>

<h3><a href="http://seefigure1.com/2014/04/15/xenixtime.html" target="_blank" rel="nofollow noopener">A bit of XENIX history</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lists.freebsd.org/archives/freebsd-pkgbase/2023-October/000221.html" target="_blank" rel="nofollow noopener">Official packages</a></h3>

<hr>

<h3><a href="https://j3s.sh/thought/recover-lost-text-by-coredumping-firefox.html" target="_blank" rel="nofollow noopener">recover lost text by coredumping firefox</a></h3>

<hr>

<h3><a href="https://fuguita.org/?FuguIta/7.4&amp;utm_source=bsdweekly" target="_blank" rel="nofollow noopener">FuguIta 7.4 has been released</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20231103065952" target="_blank" rel="nofollow noopener">LibreSSL 3.8.2 Released</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20231026121132" target="_blank" rel="nofollow noopener">OpenSMTPD 7.4.0p0 Released</a></h3>

<hr>

<h2>Conference News</h2>

<h3><a href="https://2024.asiabsdcon.org" target="_blank" rel="nofollow noopener">AsiaBSDCon 2024</a></h3>

<hr>

<h3><a href="https://www.bsdcan.org" target="_blank" rel="nofollow noopener">BSDCan 2024</a></h3>

<hr>

<h3><a href="https://2024.eurobsdcon.org" target="_blank" rel="nofollow noopener">EuroBSDCon 2024</a></h3>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD on the RISC-V Architecture, A bit of XENIX history, pkgbase: Official packages, recover lost text by coredumping firefox, FuguIta 7.4 has been released, LibreSSL 3.8.2 Released, OpenSMTPD 7.4.0p0 Released</p>

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

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/looking-towards-the-future-freebsd-on-the-risc-v-architecture/" target="_blank" rel="nofollow noopener">Looking Towards the Future: FreeBSD on the RISC-V Architecture</a></h3>

<hr>

<h3><a href="http://seefigure1.com/2014/04/15/xenixtime.html" target="_blank" rel="nofollow noopener">A bit of XENIX history</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lists.freebsd.org/archives/freebsd-pkgbase/2023-October/000221.html" target="_blank" rel="nofollow noopener">Official packages</a></h3>

<hr>

<h3><a href="https://j3s.sh/thought/recover-lost-text-by-coredumping-firefox.html" target="_blank" rel="nofollow noopener">recover lost text by coredumping firefox</a></h3>

<hr>

<h3><a href="https://fuguita.org/?FuguIta/7.4&amp;utm_source=bsdweekly" target="_blank" rel="nofollow noopener">FuguIta 7.4 has been released</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20231103065952" target="_blank" rel="nofollow noopener">LibreSSL 3.8.2 Released</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20231026121132" target="_blank" rel="nofollow noopener">OpenSMTPD 7.4.0p0 Released</a></h3>

<hr>

<h2>Conference News</h2>

<h3><a href="https://2024.asiabsdcon.org" target="_blank" rel="nofollow noopener">AsiaBSDCon 2024</a></h3>

<hr>

<h3><a href="https://www.bsdcan.org" target="_blank" rel="nofollow noopener">BSDCan 2024</a></h3>

<hr>

<h3><a href="https://2024.eurobsdcon.org" target="_blank" rel="nofollow noopener">EuroBSDCon 2024</a></h3>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>532:  2^18 dollars sponsorship</title>
  <link>https://www.bsdnow.tv/532</link>
  <guid isPermaLink="false">fb3e426c-683d-4307-9059-e6770baccf3a</guid>
  <pubDate>Thu, 09 Nov 2023 10:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/fb3e426c-683d-4307-9059-e6770baccf3a.mp3" length="52249728" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>2^18 dollars to open source, EuroBSDCon 2023 Trip Report, FreeBSD vs Linux (Debian), Introduction to sysclean8, Run your own Syncthing discovery server on OpenBSD, FreeBSD years: 2000-2005, Using OpenBSD relayd(8) as an Application Layer Gateway, and more</itunes:subtitle>
  <itunes:duration>54:25</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>&lt;p&gt;2&lt;sup&gt;18&lt;/sup&gt; dollars to open source, EuroBSDCon 2023 Trip Report, FreeBSD vs Linux (Debian), Introduction to sysclean8, Run your own Syncthing discovery server on OpenBSD, FreeBSD years: 2000-2005, Using OpenBSD relayd(8) as an Application Layer Gateway, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.daemonology.net/blog/2023-10-25-2%5E18-dollars-to-open-source.html" target="_blank" rel="nofollow noopener"&gt;2&lt;sup&gt;18&lt;/sup&gt; dollars to open source&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Special Thanks to Colin for supporting BSD Now for over 10 years!
***
### &lt;a href="https://freebsdfoundation.org/blog/eurobsdcon-2023-trip-report-bojan-novkovic/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2023 Trip Report – Bojan Novković&lt;/a&gt;
***
### &lt;a href="https://markmcb.com/freebsd/vs_linux/" target="_blank" rel="nofollow noopener"&gt;FreeBSD vs Linux (Debian)&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.osnews.com/story/137266/introduction-to-sysclean8-on-openbsd/" target="_blank" rel="nofollow noopener"&gt;Introduction to sysclean8&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-10-18-syncthing-discovery-server.html" target="_blank" rel="nofollow noopener"&gt;Run your own Syncthing discovery server on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/my-freebsd-years-2000-2005/" target="_blank" rel="nofollow noopener"&gt;My FreeBSD years: 2000-2005&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/2023/using-openbsd-relayd8-as-an-application-layer-gateway/" target="_blank" rel="nofollow noopener"&gt;Using OpenBSD relayd(8) as an Application Layer Gateway&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://sleeplessbeastie.eu/2023/09/11/how-to-send-syslog-messages-using-command-line-utilities/" target="_blank" rel="nofollow noopener"&gt;How to send syslog messages using command-line utilities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://thevaluable.dev/grep-cli-guide-examples/" target="_blank" rel="nofollow noopener"&gt;A Practical Guide of GNU grep With Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/davidchisnall/container-vm-scripts" target="_blank" rel="nofollow noopener"&gt;FreeBSD Container VM for Podman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sharpwriting.net/project/use-certbot-to-create-ssl-certificates-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;User Certbot to create SSL certificates on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20231024064619" target="_blank" rel="nofollow noopener"&gt;OpenBSD's built-in memory leak detection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://webzine.puffy.cafe/issue-15.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Webzine Issue #15&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/FreeBSD/freebsd-ports/commit/d5ec2e12f399b7813994564b77a0915821a0ac42" target="_blank" rel="nofollow noopener"&gt;FreeBSD OpenSSL 3.0 ported&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/wravoc/harden-freebsd" target="_blank" rel="nofollow noopener"&gt;Harden FreeBSD Script&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.bsd.cafe/@stefano/111257154132788711" target="_blank" rel="nofollow noopener"&gt;Something odd happened...&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Join us and other BSD Fans in our &lt;a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSD Now Telegram channel&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, dollars, sponsoring, sponsorship, sponsor, eurobsdcon 2023, sysclean8, syncthing, relayd, application layer gateway</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>2<sup>18</sup> dollars to open source, EuroBSDCon 2023 Trip Report, FreeBSD vs Linux (Debian), Introduction to sysclean8, Run your own Syncthing discovery server on OpenBSD, FreeBSD years: 2000-2005, Using OpenBSD relayd(8) as an Application Layer Gateway, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.daemonology.net/blog/2023-10-25-2%5E18-dollars-to-open-source.html" target="_blank" rel="nofollow noopener">2<sup>18</sup> dollars to open source</a></h3>

<ul>
<li>Special Thanks to Colin for supporting BSD Now for over 10 years!
***
### <a href="https://freebsdfoundation.org/blog/eurobsdcon-2023-trip-report-bojan-novkovic/" target="_blank" rel="nofollow noopener">EuroBSDCon 2023 Trip Report – Bojan Novković</a>
***
### <a href="https://markmcb.com/freebsd/vs_linux/" target="_blank" rel="nofollow noopener">FreeBSD vs Linux (Debian)</a>
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://www.osnews.com/story/137266/introduction-to-sysclean8-on-openbsd/" target="_blank" rel="nofollow noopener">Introduction to sysclean8</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-10-18-syncthing-discovery-server.html" target="_blank" rel="nofollow noopener">Run your own Syncthing discovery server on OpenBSD</a></h3>

<hr>

<h3><a href="https://www.cambus.net/my-freebsd-years-2000-2005/" target="_blank" rel="nofollow noopener">My FreeBSD years: 2000-2005</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2023/using-openbsd-relayd8-as-an-application-layer-gateway/" target="_blank" rel="nofollow noopener">Using OpenBSD relayd(8) as an Application Layer Gateway</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://sleeplessbeastie.eu/2023/09/11/how-to-send-syslog-messages-using-command-line-utilities/" target="_blank" rel="nofollow noopener">How to send syslog messages using command-line utilities</a></li>
<li><a href="https://thevaluable.dev/grep-cli-guide-examples/" target="_blank" rel="nofollow noopener">A Practical Guide of GNU grep With Examples</a></li>
<li><a href="https://github.com/davidchisnall/container-vm-scripts" target="_blank" rel="nofollow noopener">FreeBSD Container VM for Podman</a></li>
<li><a href="https://www.sharpwriting.net/project/use-certbot-to-create-ssl-certificates-on-freebsd/" target="_blank" rel="nofollow noopener">User Certbot to create SSL certificates on FreeBSD</a></li>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20231024064619" target="_blank" rel="nofollow noopener">OpenBSD's built-in memory leak detection</a></li>
<li><a href="https://webzine.puffy.cafe/issue-15.html" target="_blank" rel="nofollow noopener">OpenBSD Webzine Issue #15</a></li>
<li><a href="https://github.com/FreeBSD/freebsd-ports/commit/d5ec2e12f399b7813994564b77a0915821a0ac42" target="_blank" rel="nofollow noopener">FreeBSD OpenSSL 3.0 ported</a></li>
<li><a href="https://github.com/wravoc/harden-freebsd" target="_blank" rel="nofollow noopener">Harden FreeBSD Script</a></li>
<li><a href="https://mastodon.bsd.cafe/@stefano/111257154132788711" target="_blank" rel="nofollow noopener">Something odd happened...</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>2<sup>18</sup> dollars to open source, EuroBSDCon 2023 Trip Report, FreeBSD vs Linux (Debian), Introduction to sysclean8, Run your own Syncthing discovery server on OpenBSD, FreeBSD years: 2000-2005, Using OpenBSD relayd(8) as an Application Layer Gateway, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.daemonology.net/blog/2023-10-25-2%5E18-dollars-to-open-source.html" target="_blank" rel="nofollow noopener">2<sup>18</sup> dollars to open source</a></h3>

<ul>
<li>Special Thanks to Colin for supporting BSD Now for over 10 years!
***
### <a href="https://freebsdfoundation.org/blog/eurobsdcon-2023-trip-report-bojan-novkovic/" target="_blank" rel="nofollow noopener">EuroBSDCon 2023 Trip Report – Bojan Novković</a>
***
### <a href="https://markmcb.com/freebsd/vs_linux/" target="_blank" rel="nofollow noopener">FreeBSD vs Linux (Debian)</a>
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://www.osnews.com/story/137266/introduction-to-sysclean8-on-openbsd/" target="_blank" rel="nofollow noopener">Introduction to sysclean8</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-10-18-syncthing-discovery-server.html" target="_blank" rel="nofollow noopener">Run your own Syncthing discovery server on OpenBSD</a></h3>

<hr>

<h3><a href="https://www.cambus.net/my-freebsd-years-2000-2005/" target="_blank" rel="nofollow noopener">My FreeBSD years: 2000-2005</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2023/using-openbsd-relayd8-as-an-application-layer-gateway/" target="_blank" rel="nofollow noopener">Using OpenBSD relayd(8) as an Application Layer Gateway</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://sleeplessbeastie.eu/2023/09/11/how-to-send-syslog-messages-using-command-line-utilities/" target="_blank" rel="nofollow noopener">How to send syslog messages using command-line utilities</a></li>
<li><a href="https://thevaluable.dev/grep-cli-guide-examples/" target="_blank" rel="nofollow noopener">A Practical Guide of GNU grep With Examples</a></li>
<li><a href="https://github.com/davidchisnall/container-vm-scripts" target="_blank" rel="nofollow noopener">FreeBSD Container VM for Podman</a></li>
<li><a href="https://www.sharpwriting.net/project/use-certbot-to-create-ssl-certificates-on-freebsd/" target="_blank" rel="nofollow noopener">User Certbot to create SSL certificates on FreeBSD</a></li>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20231024064619" target="_blank" rel="nofollow noopener">OpenBSD's built-in memory leak detection</a></li>
<li><a href="https://webzine.puffy.cafe/issue-15.html" target="_blank" rel="nofollow noopener">OpenBSD Webzine Issue #15</a></li>
<li><a href="https://github.com/FreeBSD/freebsd-ports/commit/d5ec2e12f399b7813994564b77a0915821a0ac42" target="_blank" rel="nofollow noopener">FreeBSD OpenSSL 3.0 ported</a></li>
<li><a href="https://github.com/wravoc/harden-freebsd" target="_blank" rel="nofollow noopener">Harden FreeBSD Script</a></li>
<li><a href="https://mastodon.bsd.cafe/@stefano/111257154132788711" target="_blank" rel="nofollow noopener">Something odd happened...</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>531: Everlasting Software</title>
  <link>https://www.bsdnow.tv/531</link>
  <guid isPermaLink="false">99479afb-bb6c-4471-9eaf-a76999dd513c</guid>
  <pubDate>Thu, 02 Nov 2023 10:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/99479afb-bb6c-4471-9eaf-a76999dd513c.mp3" length="60355584" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 7.4, Making Software Last Forever, DragonFlyBSD Per-process capability-based restrictions, HardenedBSD September 2023 Status Report, NetBSD as a Kubernetes Pod, Firefox hardening with Arkenfox, and more</itunes:subtitle>
  <itunes:duration>1:02:52</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>&lt;p&gt;OpenBSD 7.4, Making Software Last Forever, DragonFlyBSD Per-process capability-based restrictions, HardenedBSD September 2023 Status Report, NetBSD as a Kubernetes Pod, Firefox hardening with Arkenfox, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.openbsd.org/74.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 7.4&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.danstroot.com/posts/2023-05-25-making_software_last_forever" target="_blank" rel="nofollow noopener"&gt;Making Software Last Forever&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lists.dragonflybsd.org/pipermail/commits/2023-October/922780.html" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD Per-process capability-based restrictions&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2023-10-10/hardenedbsd-september-2023-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD September 2023 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://imil.net/blog/posts/2023/netbsd-as-a-k8s-pod/" target="_blank" rel="nofollow noopener"&gt;NetBSD as a Kubernetes Pod&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-09-24-harden-firefox-with-arkenfox.html" target="_blank" rel="nofollow noopener"&gt;Firefox hardening with Arkenfox&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/531/feedback/A%20Random%20Listener%20-%20Other%20Podcasts.md" target="_blank" rel="nofollow noopener"&gt;A Random Listener - Other Podcasts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/531/feedback/Dante%20-%20Thanks.md" target="_blank" rel="nofollow noopener"&gt;Dante - Thanks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/531/feedback/Lars%20-%20WEI%20DRM.md" target="_blank" rel="nofollow noopener"&gt;Lars - WEI DRM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/531/feedback/YKLA%20-%20transcripts.md" target="_blank" rel="nofollow noopener"&gt;YKLA - transcripts&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Join us and other BSD Fans in our &lt;a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSD Now Telegram channel&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, last forever, per-process, capabilities, restrictions, status report, kubernetes pod, arkenfox</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 7.4, Making Software Last Forever, DragonFlyBSD Per-process capability-based restrictions, HardenedBSD September 2023 Status Report, NetBSD as a Kubernetes Pod, Firefox hardening with Arkenfox, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/74.html" target="_blank" rel="nofollow noopener">OpenBSD 7.4</a></h3>

<hr>

<h3><a href="https://www.danstroot.com/posts/2023-05-25-making_software_last_forever" target="_blank" rel="nofollow noopener">Making Software Last Forever</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lists.dragonflybsd.org/pipermail/commits/2023-October/922780.html" target="_blank" rel="nofollow noopener">DragonFlyBSD Per-process capability-based restrictions</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2023-10-10/hardenedbsd-september-2023-status-report" target="_blank" rel="nofollow noopener">HardenedBSD September 2023 Status Report</a></h3>

<hr>

<h3><a href="https://imil.net/blog/posts/2023/netbsd-as-a-k8s-pod/" target="_blank" rel="nofollow noopener">NetBSD as a Kubernetes Pod</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-09-24-harden-firefox-with-arkenfox.html" target="_blank" rel="nofollow noopener">Firefox hardening with Arkenfox</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/531/feedback/A%20Random%20Listener%20-%20Other%20Podcasts.md" target="_blank" rel="nofollow noopener">A Random Listener - Other Podcasts</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/531/feedback/Dante%20-%20Thanks.md" target="_blank" rel="nofollow noopener">Dante - Thanks</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/531/feedback/Lars%20-%20WEI%20DRM.md" target="_blank" rel="nofollow noopener">Lars - WEI DRM</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/531/feedback/YKLA%20-%20transcripts.md" target="_blank" rel="nofollow noopener">YKLA - transcripts</a>
***</li>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 7.4, Making Software Last Forever, DragonFlyBSD Per-process capability-based restrictions, HardenedBSD September 2023 Status Report, NetBSD as a Kubernetes Pod, Firefox hardening with Arkenfox, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/74.html" target="_blank" rel="nofollow noopener">OpenBSD 7.4</a></h3>

<hr>

<h3><a href="https://www.danstroot.com/posts/2023-05-25-making_software_last_forever" target="_blank" rel="nofollow noopener">Making Software Last Forever</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lists.dragonflybsd.org/pipermail/commits/2023-October/922780.html" target="_blank" rel="nofollow noopener">DragonFlyBSD Per-process capability-based restrictions</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2023-10-10/hardenedbsd-september-2023-status-report" target="_blank" rel="nofollow noopener">HardenedBSD September 2023 Status Report</a></h3>

<hr>

<h3><a href="https://imil.net/blog/posts/2023/netbsd-as-a-k8s-pod/" target="_blank" rel="nofollow noopener">NetBSD as a Kubernetes Pod</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-09-24-harden-firefox-with-arkenfox.html" target="_blank" rel="nofollow noopener">Firefox hardening with Arkenfox</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/531/feedback/A%20Random%20Listener%20-%20Other%20Podcasts.md" target="_blank" rel="nofollow noopener">A Random Listener - Other Podcasts</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/531/feedback/Dante%20-%20Thanks.md" target="_blank" rel="nofollow noopener">Dante - Thanks</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/531/feedback/Lars%20-%20WEI%20DRM.md" target="_blank" rel="nofollow noopener">Lars - WEI DRM</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/531/feedback/YKLA%20-%20transcripts.md" target="_blank" rel="nofollow noopener">YKLA - transcripts</a>
***</li>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>530: Old Computer Rescue</title>
  <link>https://www.bsdnow.tv/530</link>
  <guid isPermaLink="false">f52a06e2-8680-4641-9d49-6157118d4556</guid>
  <pubDate>Thu, 26 Oct 2023 10:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f52a06e2-8680-4641-9d49-6157118d4556.mp3" length="52091136" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Implementing a system call for OpenBSD, Self-Hosted Email services on OpenBSD, First 5 Minutes on a New FreeBSD Server, OLD COMPUTER RESCUE - X201, sec(4) for Route Based IPSec VPNs, send syslog messages using command-line utilities, Keeping email sorted (the hard way), and more</itunes:subtitle>
  <itunes:duration>54:15</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>&lt;p&gt;Implementing a system call for OpenBSD, Self-Hosted Email services on OpenBSD, First 5 Minutes on a New FreeBSD Server, OLD COMPUTER RESCUE - X201, sec(4) for Route Based IPSec VPNs, send syslog messages using command-line utilities, Keeping email sorted (the hard way), and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://poolp.org/posts/2023-07-05/implementing-a-system-call-for-openbsd/" target="_blank" rel="nofollow noopener"&gt;Implementing a system call for OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/2023/self-hosted-email-services-on-openbsd/" target="_blank" rel="nofollow noopener"&gt;Self-Hosted Email services on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://herrbischoff.com/2022/12/the-first-5-minutes-on-a-new-freebsd-server/" target="_blank" rel="nofollow noopener"&gt;The First 5 Minutes on a New FreeBSD Server&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://triapul.cz/automa/old-computer-rescue-x201/" target="_blank" rel="nofollow noopener"&gt;OLD COMPUTER RESCUE - X201&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20230704094238" target="_blank" rel="nofollow noopener"&gt;[CFT] sec(4) for Route Based IPSec VPNs&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sleeplessbeastie.eu/2023/09/11/how-to-send-syslog-messages-using-command-line-utilities/" target="_blank" rel="nofollow noopener"&gt;How to send syslog messages using command-line utilities&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sebastiano.tronto.net/blog/2022-10-19-email-setup/" target="_blank" rel="nofollow noopener"&gt;Keeping my email sorted (the hard way)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/530/feedback/Albin%20-%20Links.md" target="_blank" rel="nofollow noopener"&gt;Albin - Links&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/530/feedback/Douglas%20-%20Best%20practices.md" target="_blank" rel="nofollow noopener"&gt;Douglas - Best practices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/530/feedback/Patrick%20-%20Ideas%20Feedback.md" target="_blank" rel="nofollow noopener"&gt;Patrick - Ideas Feedback&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, 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, implementing, implementation, system call, self-hosted, email service, first five minutes, old computer, rescue, x201, route based VPN, ipsec, syslog message, email, sorting, sort</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Implementing a system call for OpenBSD, Self-Hosted Email services on OpenBSD, First 5 Minutes on a New FreeBSD Server, OLD COMPUTER RESCUE - X201, sec(4) for Route Based IPSec VPNs, send syslog messages using command-line utilities, Keeping email sorted (the hard way), 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://poolp.org/posts/2023-07-05/implementing-a-system-call-for-openbsd/" target="_blank" rel="nofollow noopener">Implementing a system call for OpenBSD</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2023/self-hosted-email-services-on-openbsd/" target="_blank" rel="nofollow noopener">Self-Hosted Email services on OpenBSD</a></h3>

<hr>

<h3><a href="https://herrbischoff.com/2022/12/the-first-5-minutes-on-a-new-freebsd-server/" target="_blank" rel="nofollow noopener">The First 5 Minutes on a New FreeBSD Server</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://triapul.cz/automa/old-computer-rescue-x201/" target="_blank" rel="nofollow noopener">OLD COMPUTER RESCUE - X201</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230704094238" target="_blank" rel="nofollow noopener">[CFT] sec(4) for Route Based IPSec VPNs</a></h3>

<hr>

<h3><a href="https://sleeplessbeastie.eu/2023/09/11/how-to-send-syslog-messages-using-command-line-utilities/" target="_blank" rel="nofollow noopener">How to send syslog messages using command-line utilities</a></h3>

<hr>

<h3><a href="https://sebastiano.tronto.net/blog/2022-10-19-email-setup/" target="_blank" rel="nofollow noopener">Keeping my email sorted (the hard way)</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/530/feedback/Albin%20-%20Links.md" target="_blank" rel="nofollow noopener">Albin - Links</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/530/feedback/Douglas%20-%20Best%20practices.md" target="_blank" rel="nofollow noopener">Douglas - Best practices</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/530/feedback/Patrick%20-%20Ideas%20Feedback.md" target="_blank" rel="nofollow noopener">Patrick - Ideas Feedback</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Implementing a system call for OpenBSD, Self-Hosted Email services on OpenBSD, First 5 Minutes on a New FreeBSD Server, OLD COMPUTER RESCUE - X201, sec(4) for Route Based IPSec VPNs, send syslog messages using command-line utilities, Keeping email sorted (the hard way), 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://poolp.org/posts/2023-07-05/implementing-a-system-call-for-openbsd/" target="_blank" rel="nofollow noopener">Implementing a system call for OpenBSD</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2023/self-hosted-email-services-on-openbsd/" target="_blank" rel="nofollow noopener">Self-Hosted Email services on OpenBSD</a></h3>

<hr>

<h3><a href="https://herrbischoff.com/2022/12/the-first-5-minutes-on-a-new-freebsd-server/" target="_blank" rel="nofollow noopener">The First 5 Minutes on a New FreeBSD Server</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://triapul.cz/automa/old-computer-rescue-x201/" target="_blank" rel="nofollow noopener">OLD COMPUTER RESCUE - X201</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230704094238" target="_blank" rel="nofollow noopener">[CFT] sec(4) for Route Based IPSec VPNs</a></h3>

<hr>

<h3><a href="https://sleeplessbeastie.eu/2023/09/11/how-to-send-syslog-messages-using-command-line-utilities/" target="_blank" rel="nofollow noopener">How to send syslog messages using command-line utilities</a></h3>

<hr>

<h3><a href="https://sebastiano.tronto.net/blog/2022-10-19-email-setup/" target="_blank" rel="nofollow noopener">Keeping my email sorted (the hard way)</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/530/feedback/Albin%20-%20Links.md" target="_blank" rel="nofollow noopener">Albin - Links</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/530/feedback/Douglas%20-%20Best%20practices.md" target="_blank" rel="nofollow noopener">Douglas - Best practices</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/530/feedback/Patrick%20-%20Ideas%20Feedback.md" target="_blank" rel="nofollow noopener">Patrick - Ideas Feedback</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>529: Adapt, adopt, diffuse</title>
  <link>https://www.bsdnow.tv/529</link>
  <guid isPermaLink="false">cf9c4493-9570-487d-bd01-4c21bef585cd</guid>
  <pubDate>Thu, 19 Oct 2023 10:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/cf9c4493-9570-487d-bd01-4c21bef585cd.mp3" length="59623680" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Adopting FreeBSD as Your Open Source Operating System, How Hard is it to Adapt a Memory Allocator to CHERI, Running Stable Diffusion on FreeBSD, Self-hosting Pixelfed on OpenBSD, Time Capsule instance using Samba, FreeBSD, and ZFS, and more</itunes:subtitle>
  <itunes:duration>1:02:06</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>&lt;p&gt;Adopting FreeBSD as Your Open Source Operating System, How Hard is it to Adapt a Memory Allocator to CHERI, Running Stable Diffusion on FreeBSD, Self-hosting Pixelfed on OpenBSD, Time Capsule instance using Samba, FreeBSD, and ZFS, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.javacodegeeks.com/2023/09/adopting-freebsd-as-your-open-source-operating-system-benefits-considerations.html" target="_blank" rel="nofollow noopener"&gt;Adopting FreeBSD as Your Open Source Operating System: Benefits &amp;amp; Considerations&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://tratt.net/laurie/blog/2023/how_hard_is_it_to_adapt_a_memory_allocator_to_cheri.html" target="_blank" rel="nofollow noopener"&gt;How Hard is it to Adapt a Memory Allocator to CHERI&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;[Running Stable Diffusion on FreeBSD)[&lt;a href="https://github.com/verm/freebsd-stable-diffusion" target="_blank" rel="nofollow noopener"&gt;https://github.com/verm/freebsd-stable-diffusion&lt;/a&gt;)&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/2023/self-hosting-pixelfed-on-openbsd/" target="_blank" rel="nofollow noopener"&gt;Self-hosting Pixelfed on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2023/09/28/creating-a-time-capsule-instance-using-samba-freebsd-and-zfs/" target="_blank" rel="nofollow noopener"&gt;Creating a Time Capsule instance using Samba, FreeBSD, and ZFS&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [OpenZFS on Twitter](https://x.com/openzfs/status/1704212154558324827?s=12&amp;amp;t=-_bfM_adaiX8Ri_3lN9OYw)
• [EuroBSDcon 2023, Portugal](https://m.youtube.com/playlist?list=PLskKNopggjc7s6nAMxKF0tAO77ZIowZdx&amp;amp;cbrd=1)
• [The lost history if Emoticons](https://x.com/rainmaker1973/status/1704006098909352016?s=12&amp;amp;t=-_bfM_adaiX8Ri_3lN9OYw)
• [Solving the same problem](https://blog.fredrb.com/2023/09/08/same-problem-multiple-times/)
• [http://vihart.com/fifty-fizzbuzzes/](50 Fizz buzzes)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/529/feedback/Eric%20-%20German%20Question.md" target="_blank" rel="nofollow noopener"&gt;Eric - German Question&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/529/feedback/John%20Baldwin%20-%20Ep%20520%20question.md" target="_blank" rel="nofollow noopener"&gt;John Baldwin - Ep 520 question&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/529/feedback/Pat%20-%203d%20Printing.md" target="_blank" rel="nofollow noopener"&gt;Pat - 3d Printing&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords> freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, 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, adoption, memory allocator, cheri, stable diffusion, self-hosting, pixelfed, time capsule, samba, smb, server message block</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Adopting FreeBSD as Your Open Source Operating System, How Hard is it to Adapt a Memory Allocator to CHERI, Running Stable Diffusion on FreeBSD, Self-hosting Pixelfed on OpenBSD, Time Capsule instance using Samba, FreeBSD, and ZFS, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.javacodegeeks.com/2023/09/adopting-freebsd-as-your-open-source-operating-system-benefits-considerations.html" target="_blank" rel="nofollow noopener">Adopting FreeBSD as Your Open Source Operating System: Benefits &amp; Considerations</a></h3>

<hr>

<h3><a href="https://tratt.net/laurie/blog/2023/how_hard_is_it_to_adapt_a_memory_allocator_to_cheri.html" target="_blank" rel="nofollow noopener">How Hard is it to Adapt a Memory Allocator to CHERI</a></h3>

<hr>

<h2>News Roundup</h2>

<h3>[Running Stable Diffusion on FreeBSD)[<a href="https://github.com/verm/freebsd-stable-diffusion" target="_blank" rel="nofollow noopener">https://github.com/verm/freebsd-stable-diffusion</a>)</h3>

<hr>

<h3><a href="https://www.tumfatig.net/2023/self-hosting-pixelfed-on-openbsd/" target="_blank" rel="nofollow noopener">Self-hosting Pixelfed on OpenBSD</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2023/09/28/creating-a-time-capsule-instance-using-samba-freebsd-and-zfs/" target="_blank" rel="nofollow noopener">Creating a Time Capsule instance using Samba, FreeBSD, and ZFS</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [OpenZFS on Twitter](https://x.com/openzfs/status/1704212154558324827?s=12&amp;t=-_bfM_adaiX8Ri_3lN9OYw)
• [EuroBSDcon 2023, Portugal](https://m.youtube.com/playlist?list=PLskKNopggjc7s6nAMxKF0tAO77ZIowZdx&amp;cbrd=1)
• [The lost history if Emoticons](https://x.com/rainmaker1973/status/1704006098909352016?s=12&amp;t=-_bfM_adaiX8Ri_3lN9OYw)
• [Solving the same problem](https://blog.fredrb.com/2023/09/08/same-problem-multiple-times/)
• [http://vihart.com/fifty-fizzbuzzes/](50 Fizz buzzes)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/529/feedback/Eric%20-%20German%20Question.md" target="_blank" rel="nofollow noopener">Eric - German Question</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/529/feedback/John%20Baldwin%20-%20Ep%20520%20question.md" target="_blank" rel="nofollow noopener">John Baldwin - Ep 520 question</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/529/feedback/Pat%20-%203d%20Printing.md" target="_blank" rel="nofollow noopener">Pat - 3d Printing</a></p></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Adopting FreeBSD as Your Open Source Operating System, How Hard is it to Adapt a Memory Allocator to CHERI, Running Stable Diffusion on FreeBSD, Self-hosting Pixelfed on OpenBSD, Time Capsule instance using Samba, FreeBSD, and ZFS, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.javacodegeeks.com/2023/09/adopting-freebsd-as-your-open-source-operating-system-benefits-considerations.html" target="_blank" rel="nofollow noopener">Adopting FreeBSD as Your Open Source Operating System: Benefits &amp; Considerations</a></h3>

<hr>

<h3><a href="https://tratt.net/laurie/blog/2023/how_hard_is_it_to_adapt_a_memory_allocator_to_cheri.html" target="_blank" rel="nofollow noopener">How Hard is it to Adapt a Memory Allocator to CHERI</a></h3>

<hr>

<h2>News Roundup</h2>

<h3>[Running Stable Diffusion on FreeBSD)[<a href="https://github.com/verm/freebsd-stable-diffusion" target="_blank" rel="nofollow noopener">https://github.com/verm/freebsd-stable-diffusion</a>)</h3>

<hr>

<h3><a href="https://www.tumfatig.net/2023/self-hosting-pixelfed-on-openbsd/" target="_blank" rel="nofollow noopener">Self-hosting Pixelfed on OpenBSD</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2023/09/28/creating-a-time-capsule-instance-using-samba-freebsd-and-zfs/" target="_blank" rel="nofollow noopener">Creating a Time Capsule instance using Samba, FreeBSD, and ZFS</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [OpenZFS on Twitter](https://x.com/openzfs/status/1704212154558324827?s=12&amp;t=-_bfM_adaiX8Ri_3lN9OYw)
• [EuroBSDcon 2023, Portugal](https://m.youtube.com/playlist?list=PLskKNopggjc7s6nAMxKF0tAO77ZIowZdx&amp;cbrd=1)
• [The lost history if Emoticons](https://x.com/rainmaker1973/status/1704006098909352016?s=12&amp;t=-_bfM_adaiX8Ri_3lN9OYw)
• [Solving the same problem](https://blog.fredrb.com/2023/09/08/same-problem-multiple-times/)
• [http://vihart.com/fifty-fizzbuzzes/](50 Fizz buzzes)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/529/feedback/Eric%20-%20German%20Question.md" target="_blank" rel="nofollow noopener">Eric - German Question</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/529/feedback/John%20Baldwin%20-%20Ep%20520%20question.md" target="_blank" rel="nofollow noopener">John Baldwin - Ep 520 question</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/529/feedback/Pat%20-%203d%20Printing.md" target="_blank" rel="nofollow noopener">Pat - 3d Printing</a></p></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>528: Pledge the Program</title>
  <link>https://www.bsdnow.tv/528</link>
  <guid isPermaLink="false">adf32193-69d6-48d0-bb39-452d36512660</guid>
  <pubDate>Thu, 12 Oct 2023 11:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/adf32193-69d6-48d0-bb39-452d36512660.mp3" length="51518976" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>If you can use Open Source you can build hardware, Good performance is not just big O, Proof You Should Not Run MWL Code, How to add pledge to a program in OpenBSD, 3D printing on OpenBSD, Getting the right type of certificate, Jenny’s Daily Drivers, and more</itunes:subtitle>
  <itunes:duration>53:39</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>&lt;p&gt;If you can use Open Source you can build hardware, Good performance is not just big O, Proof You Should Not Run MWL Code, How to add pledge to a program in OpenBSD, 3D printing on OpenBSD, Getting the right type of certificate, Jenny’s Daily Drivers, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://redeem-tomorrow.com/if-you-can-use-open-source-you-can-build-hardware" target="_blank" rel="nofollow noopener"&gt;If you can use Open Source you can build hardware&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://jmmv.dev/2023/09/performance-is-not-big-o.html" target="_blank" rel="nofollow noopener"&gt;Good performance is not just big O&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-09-08-openbsd-how-to-pledge-a-program.html" target="_blank" rel="nofollow noopener"&gt;How to add pledge to a program in OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mwl.io/archives/23082" target="_blank" rel="nofollow noopener"&gt;Proof You Should Not Run My Code&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20230914075444" target="_blank" rel="nofollow noopener"&gt;3D printing on OpenBSD? Yes, that’s a thing!&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2023/09/09/getting-the-right-type-of-certificate/" target="_blank" rel="nofollow noopener"&gt;Getting the right type of certificate&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hackaday.com/2023/08/01/jennys-daily-drivers-freebsd-13-2/" target="_blank" rel="nofollow noopener"&gt;Jenny’s Daily Drivers&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, 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, performance, big o, run code, execute, pledge, ed printing, certificate, daily driver</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>If you can use Open Source you can build hardware, Good performance is not just big O, Proof You Should Not Run MWL Code, How to add pledge to a program in OpenBSD, 3D printing on OpenBSD, Getting the right type of certificate, Jenny’s Daily Drivers, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://redeem-tomorrow.com/if-you-can-use-open-source-you-can-build-hardware" target="_blank" rel="nofollow noopener">If you can use Open Source you can build hardware</a></h3>

<hr>

<h3><a href="https://jmmv.dev/2023/09/performance-is-not-big-o.html" target="_blank" rel="nofollow noopener">Good performance is not just big O</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-09-08-openbsd-how-to-pledge-a-program.html" target="_blank" rel="nofollow noopener">How to add pledge to a program in OpenBSD</a></h3>

<hr>

<h3><a href="https://mwl.io/archives/23082" target="_blank" rel="nofollow noopener">Proof You Should Not Run My Code</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20230914075444" target="_blank" rel="nofollow noopener">3D printing on OpenBSD? Yes, that’s a thing!</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2023/09/09/getting-the-right-type-of-certificate/" target="_blank" rel="nofollow noopener">Getting the right type of certificate</a></h3>

<hr>

<h3><a href="https://hackaday.com/2023/08/01/jennys-daily-drivers-freebsd-13-2/" target="_blank" rel="nofollow noopener">Jenny’s Daily Drivers</a></h3>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>If you can use Open Source you can build hardware, Good performance is not just big O, Proof You Should Not Run MWL Code, How to add pledge to a program in OpenBSD, 3D printing on OpenBSD, Getting the right type of certificate, Jenny’s Daily Drivers, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://redeem-tomorrow.com/if-you-can-use-open-source-you-can-build-hardware" target="_blank" rel="nofollow noopener">If you can use Open Source you can build hardware</a></h3>

<hr>

<h3><a href="https://jmmv.dev/2023/09/performance-is-not-big-o.html" target="_blank" rel="nofollow noopener">Good performance is not just big O</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-09-08-openbsd-how-to-pledge-a-program.html" target="_blank" rel="nofollow noopener">How to add pledge to a program in OpenBSD</a></h3>

<hr>

<h3><a href="https://mwl.io/archives/23082" target="_blank" rel="nofollow noopener">Proof You Should Not Run My Code</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20230914075444" target="_blank" rel="nofollow noopener">3D printing on OpenBSD? Yes, that’s a thing!</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2023/09/09/getting-the-right-type-of-certificate/" target="_blank" rel="nofollow noopener">Getting the right type of certificate</a></h3>

<hr>

<h3><a href="https://hackaday.com/2023/08/01/jennys-daily-drivers-freebsd-13-2/" target="_blank" rel="nofollow noopener">Jenny’s Daily Drivers</a></h3>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>527: Reports are in</title>
  <link>https://www.bsdnow.tv/527</link>
  <guid isPermaLink="false">0a272a48-0c9a-4f75-a363-5263d9f7a342</guid>
  <pubDate>Thu, 05 Oct 2023 11:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/0a272a48-0c9a-4f75-a363-5263d9f7a342.mp3" length="58297728" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Unlocking Infrastructure Sovereignty, first meeting of the FreeBSD Enterprise Working Group, HardenedBSD August 2023 Status Report, GhostBSD August 2023 donation report, MidnightBSD 3.1 Released, OpenBSD Webzine ISSUE #14, and more</itunes:subtitle>
  <itunes:duration>1:00:43</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>&lt;p&gt;Unlocking Infrastructure Sovereignty, first meeting of the FreeBSD Enterprise Working Group, HardenedBSD August 2023 Status Report, GhostBSD August 2023 donation report, MidnightBSD 3.1 Released, OpenBSD Webzine ISSUE #14, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/unlocking-infrastructure-sovereignty-harnessing-the-power-of-open-source-solutions/" target="_blank" rel="nofollow noopener"&gt;Unlocking Infrastructure Sovereignty: Harnessing the Power of Open Source Solutions for Business Flexibility and Cost-Effectiveness&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/recap-of-first-meeting-of-the-freebsd-enterprise-working-group/" target="_blank" rel="nofollow noopener"&gt;Recap of first meeting of the FreeBSD Enterprise Working Group&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2023-09-01/hardenedbsd-august-2023-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD August 2023 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;• [HardenedBSD 14-STABLE Now Available](https://hardenedbsd.org/article/shawn-webb/2023-09-11/hardenedbsd-14-stable-now-available)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://ghostbsd.org/news/August_2023_donation_report" target="_blank" rel="nofollow noopener"&gt;August 2023 donation report&lt;/a&gt;&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;• [Late on the announcement but... GhostBSD 23.06.01 ISO is now available](http://ghostbsd.org/23.06.01_iso_is_now_available)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/news/MidnightBSD-3.1" target="_blank" rel="nofollow noopener"&gt;MidnightBSD 3.1 Released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://webzine.puffy.cafe/issue-14.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Webzine ISSUE #14 is out&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [ZFS for Dummies](https://ikrima.dev/dev-notes/homelab/zfs-for-dummies/)
• [The Switch runs FreeBSD](https://www.reddit.com/r/NintendoSwitch/comments/5xbe5a/the_switch_runs_freebsd_making_it_nintendos_first/)
• [KDE on OpenBSD](https://marc.info/?l=openbsd-ports&amp;amp;m=169391479324962)
• [(Kubernetes v1.28.0) for illumos, FreeBSD and OpenBSD](https://medium.com/@norlin.t/by-the-way-planternetes-kubernetes-v1-28-0-for-illumos-freebsd-and-openbsd-5d57026d6a25)
• [Video: C Programming on System 6 - VCF Midwest, Wi-Fi DA](https://jcs.org/2023/09/20/vcfmw)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

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

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, 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, infrastructure, sovereignty, enterprise working group, status report, donation, donors, midnightbsd 3.1, openbsd webzine</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Unlocking Infrastructure Sovereignty, first meeting of the FreeBSD Enterprise Working Group, HardenedBSD August 2023 Status Report, GhostBSD August 2023 donation report, MidnightBSD 3.1 Released, OpenBSD Webzine ISSUE #14, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/unlocking-infrastructure-sovereignty-harnessing-the-power-of-open-source-solutions/" target="_blank" rel="nofollow noopener">Unlocking Infrastructure Sovereignty: Harnessing the Power of Open Source Solutions for Business Flexibility and Cost-Effectiveness</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/recap-of-first-meeting-of-the-freebsd-enterprise-working-group/" target="_blank" rel="nofollow noopener">Recap of first meeting of the FreeBSD Enterprise Working Group</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2023-09-01/hardenedbsd-august-2023-status-report" target="_blank" rel="nofollow noopener">HardenedBSD August 2023 Status Report</a></h3>

<pre><code>• [HardenedBSD 14-STABLE Now Available](https://hardenedbsd.org/article/shawn-webb/2023-09-11/hardenedbsd-14-stable-now-available)
</code></pre>

<hr>

<h3><a href="http://ghostbsd.org/news/August_2023_donation_report" target="_blank" rel="nofollow noopener">August 2023 donation report</a></h3>

<pre><code>• [Late on the announcement but... GhostBSD 23.06.01 ISO is now available](http://ghostbsd.org/23.06.01_iso_is_now_available)
</code></pre>

<hr>

<h3><a href="https://www.phoronix.com/news/MidnightBSD-3.1" target="_blank" rel="nofollow noopener">MidnightBSD 3.1 Released</a></h3>

<hr>

<h3><a href="https://webzine.puffy.cafe/issue-14.html" target="_blank" rel="nofollow noopener">OpenBSD Webzine ISSUE #14 is out</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [ZFS for Dummies](https://ikrima.dev/dev-notes/homelab/zfs-for-dummies/)
• [The Switch runs FreeBSD](https://www.reddit.com/r/NintendoSwitch/comments/5xbe5a/the_switch_runs_freebsd_making_it_nintendos_first/)
• [KDE on OpenBSD](https://marc.info/?l=openbsd-ports&amp;m=169391479324962)
• [(Kubernetes v1.28.0) for illumos, FreeBSD and OpenBSD](https://medium.com/@norlin.t/by-the-way-planternetes-kubernetes-v1-28-0-for-illumos-freebsd-and-openbsd-5d57026d6a25)
• [Video: C Programming on System 6 - VCF Midwest, Wi-Fi DA](https://jcs.org/2023/09/20/vcfmw)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Unlocking Infrastructure Sovereignty, first meeting of the FreeBSD Enterprise Working Group, HardenedBSD August 2023 Status Report, GhostBSD August 2023 donation report, MidnightBSD 3.1 Released, OpenBSD Webzine ISSUE #14, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/unlocking-infrastructure-sovereignty-harnessing-the-power-of-open-source-solutions/" target="_blank" rel="nofollow noopener">Unlocking Infrastructure Sovereignty: Harnessing the Power of Open Source Solutions for Business Flexibility and Cost-Effectiveness</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/recap-of-first-meeting-of-the-freebsd-enterprise-working-group/" target="_blank" rel="nofollow noopener">Recap of first meeting of the FreeBSD Enterprise Working Group</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2023-09-01/hardenedbsd-august-2023-status-report" target="_blank" rel="nofollow noopener">HardenedBSD August 2023 Status Report</a></h3>

<pre><code>• [HardenedBSD 14-STABLE Now Available](https://hardenedbsd.org/article/shawn-webb/2023-09-11/hardenedbsd-14-stable-now-available)
</code></pre>

<hr>

<h3><a href="http://ghostbsd.org/news/August_2023_donation_report" target="_blank" rel="nofollow noopener">August 2023 donation report</a></h3>

<pre><code>• [Late on the announcement but... GhostBSD 23.06.01 ISO is now available](http://ghostbsd.org/23.06.01_iso_is_now_available)
</code></pre>

<hr>

<h3><a href="https://www.phoronix.com/news/MidnightBSD-3.1" target="_blank" rel="nofollow noopener">MidnightBSD 3.1 Released</a></h3>

<hr>

<h3><a href="https://webzine.puffy.cafe/issue-14.html" target="_blank" rel="nofollow noopener">OpenBSD Webzine ISSUE #14 is out</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [ZFS for Dummies](https://ikrima.dev/dev-notes/homelab/zfs-for-dummies/)
• [The Switch runs FreeBSD](https://www.reddit.com/r/NintendoSwitch/comments/5xbe5a/the_switch_runs_freebsd_making_it_nintendos_first/)
• [KDE on OpenBSD](https://marc.info/?l=openbsd-ports&amp;m=169391479324962)
• [(Kubernetes v1.28.0) for illumos, FreeBSD and OpenBSD](https://medium.com/@norlin.t/by-the-way-planternetes-kubernetes-v1-28-0-for-illumos-freebsd-and-openbsd-5d57026d6a25)
• [Video: C Programming on System 6 - VCF Midwest, Wi-Fi DA](https://jcs.org/2023/09/20/vcfmw)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>526: ZFS Replication Tools</title>
  <link>https://www.bsdnow.tv/526</link>
  <guid isPermaLink="false">d499d953-6d8f-4990-b7af-a8fca573f5c3</guid>
  <pubDate>Thu, 28 Sep 2023 10:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d499d953-6d8f-4990-b7af-a8fca573f5c3.mp3" length="44952960" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Why DNS is still hard to learn, Unix support 50 years ago, ZFS Replication tools, Between ISA and PCI, PCs had EISA and VLB, Old Computer Challenge v3, and more</itunes:subtitle>
  <itunes:duration>46: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>&lt;p&gt;Why DNS is still hard to learn, Unix support 50 years ago, ZFS Replication tools, Between ISA and PCI, PCs had EISA and VLB, Old Computer Challenge v3, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://jvns.ca/blog/2023/07/28/why-is-dns-still-hard-to-learn/" target="_blank" rel="nofollow noopener"&gt;Why DNS is still hard to learn&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cs.auckland.ac.nz/%7Ebrian/LetterFromRitchie.pdf" target="_blank" rel="nofollow noopener"&gt;Unix support 50 years ago: “your only source of information is a 2-man operation an ocean away”&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://evilham.com/en/blog/2023-ZFS-replication-tools/" target="_blank" rel="nofollow noopener"&gt;ZFS Replication tools&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/between-isa-and-pci-we-had-vlb/" target="_blank" rel="nofollow noopener"&gt;Between ISA and PCI, PCs had EISA and VLB&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-07-17-old-computer-challenge-v3-part2.html" target="_blank" rel="nofollow noopener"&gt;Old Computer Challenge v3: postmortem&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [Installing and Using Research Unix Version 7 on the OpenSIMH PDP-11 Emulator](https://decuser.github.io/unix/research-unix/v7/videos/2023/07/14/installing-and-using-research-unix-v7-in-open-simh-video.html)
• [Cheat Sheets](https://github.com/cheat/cheatsheets/tree/master)
• [Introducing BSD Cafe](https://www.reddit.com/r/BSD/comments/15rt7em/introducing_the_bsdcafe/)
• [Keystroke timing obfuscation added to ssh(1)](http://undeadly.org/cgi?action=article;sid=20230829051257)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/526/feedback/Daniel%20-%20Fav%20episode.md" target="_blank" rel="nofollow noopener"&gt;Daniel - Fav episode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/526/feedback/Sam%20-%20Fav%20episode.md" target="_blank" rel="nofollow noopener"&gt;Sam - Fav episode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Question from JT - to Tom and Benedict, what has your fav episode been?
***&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Join us and other BSD Fans in our &lt;a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSD Now Telegram channel&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, dns, learn, learning, 50 years ago, replication, tools, isa, pci, eisa, vlb, old computer challenge</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Why DNS is still hard to learn, Unix support 50 years ago, ZFS Replication tools, Between ISA and PCI, PCs had EISA and VLB, Old Computer Challenge v3, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://jvns.ca/blog/2023/07/28/why-is-dns-still-hard-to-learn/" target="_blank" rel="nofollow noopener">Why DNS is still hard to learn</a></h3>

<hr>

<h3><a href="https://www.cs.auckland.ac.nz/%7Ebrian/LetterFromRitchie.pdf" target="_blank" rel="nofollow noopener">Unix support 50 years ago: “your only source of information is a 2-man operation an ocean away”</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://evilham.com/en/blog/2023-ZFS-replication-tools/" target="_blank" rel="nofollow noopener">ZFS Replication tools</a></h3>

<hr>

<h3><a href="https://rubenerd.com/between-isa-and-pci-we-had-vlb/" target="_blank" rel="nofollow noopener">Between ISA and PCI, PCs had EISA and VLB</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-07-17-old-computer-challenge-v3-part2.html" target="_blank" rel="nofollow noopener">Old Computer Challenge v3: postmortem</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [Installing and Using Research Unix Version 7 on the OpenSIMH PDP-11 Emulator](https://decuser.github.io/unix/research-unix/v7/videos/2023/07/14/installing-and-using-research-unix-v7-in-open-simh-video.html)
• [Cheat Sheets](https://github.com/cheat/cheatsheets/tree/master)
• [Introducing BSD Cafe](https://www.reddit.com/r/BSD/comments/15rt7em/introducing_the_bsdcafe/)
• [Keystroke timing obfuscation added to ssh(1)](http://undeadly.org/cgi?action=article;sid=20230829051257)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/526/feedback/Daniel%20-%20Fav%20episode.md" target="_blank" rel="nofollow noopener">Daniel - Fav episode</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/526/feedback/Sam%20-%20Fav%20episode.md" target="_blank" rel="nofollow noopener">Sam - Fav episode</a></li>
<li>Question from JT - to Tom and Benedict, what has your fav episode been?
***</li>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Why DNS is still hard to learn, Unix support 50 years ago, ZFS Replication tools, Between ISA and PCI, PCs had EISA and VLB, Old Computer Challenge v3, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://jvns.ca/blog/2023/07/28/why-is-dns-still-hard-to-learn/" target="_blank" rel="nofollow noopener">Why DNS is still hard to learn</a></h3>

<hr>

<h3><a href="https://www.cs.auckland.ac.nz/%7Ebrian/LetterFromRitchie.pdf" target="_blank" rel="nofollow noopener">Unix support 50 years ago: “your only source of information is a 2-man operation an ocean away”</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://evilham.com/en/blog/2023-ZFS-replication-tools/" target="_blank" rel="nofollow noopener">ZFS Replication tools</a></h3>

<hr>

<h3><a href="https://rubenerd.com/between-isa-and-pci-we-had-vlb/" target="_blank" rel="nofollow noopener">Between ISA and PCI, PCs had EISA and VLB</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-07-17-old-computer-challenge-v3-part2.html" target="_blank" rel="nofollow noopener">Old Computer Challenge v3: postmortem</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [Installing and Using Research Unix Version 7 on the OpenSIMH PDP-11 Emulator](https://decuser.github.io/unix/research-unix/v7/videos/2023/07/14/installing-and-using-research-unix-v7-in-open-simh-video.html)
• [Cheat Sheets](https://github.com/cheat/cheatsheets/tree/master)
• [Introducing BSD Cafe](https://www.reddit.com/r/BSD/comments/15rt7em/introducing_the_bsdcafe/)
• [Keystroke timing obfuscation added to ssh(1)](http://undeadly.org/cgi?action=article;sid=20230829051257)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/526/feedback/Daniel%20-%20Fav%20episode.md" target="_blank" rel="nofollow noopener">Daniel - Fav episode</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/526/feedback/Sam%20-%20Fav%20episode.md" target="_blank" rel="nofollow noopener">Sam - Fav episode</a></li>
<li>Question from JT - to Tom and Benedict, what has your fav episode been?
***</li>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>525: Old NetBSD Server</title>
  <link>https://www.bsdnow.tv/525</link>
  <guid isPermaLink="false">77bb2c15-7149-4511-a582-7ce5ce3096cd</guid>
  <pubDate>Thu, 21 Sep 2023 10:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/77bb2c15-7149-4511-a582-7ce5ce3096cd.mp3" length="42549120" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Do one thing and do it well, Turning a 15 years old laptop into a children proof retrogaming station, Old Computer Challenge v3: day 1, It Takes 6 Days to Change 1 Line of Code, Rejected GitHub Profile Achievements, that old netbsd server, and more</itunes:subtitle>
  <itunes:duration>44:19</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>&lt;p&gt;Do one thing and do it well, Turning a 15 years old laptop into a children proof retrogaming station, Old Computer Challenge v3: day 1, It Takes 6 Days to Change 1 Line of Code, Rejected GitHub Profile Achievements, that old netbsd server, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://medium.com/source-and-buggy/do-one-thing-and-do-it-well-886b11a5d21" target="_blank" rel="nofollow noopener"&gt;Do one thing and do it well&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-07-24-childproof-retrogaming-station.html" target="_blank" rel="nofollow noopener"&gt;Turning a 15 years old laptop into a children proof retrogaming station&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-06-04-old-computer-challenge-v3.html" target="_blank" rel="nofollow noopener"&gt;and a rereview of&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-07-10-old-computer-challenge-v3-part1.html" target="_blank" rel="nofollow noopener"&gt;Old Computer Challenge v3: day 1&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://edw519.posthaven.com/it-takes-6-days-to-change-1-line-of-code" target="_blank" rel="nofollow noopener"&gt;It Takes 6 Days to Change 1 Line of Code&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/Flet/rejected-github-profile-achievements" target="_blank" rel="nofollow noopener"&gt;Rejected GitHub Profile Achievements&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://it-notes.dragas.net/2023/08/27/that-old-netbsd-server-running-since-2010/" target="_blank" rel="nofollow noopener"&gt;That old netbsd server&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/525/feedback/Felix%20-%20questions.md" target="_blank" rel="nofollow noopener"&gt;Felix - questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/525/feedback/Francis%20-%20Episode%20511.md" target="_blank" rel="nofollow noopener"&gt;Francis - Episode 511&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/525/feedback/Ian%20-%20CDN.md" target="_blank" rel="nofollow noopener"&gt;Ian - CDN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

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

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, do one thing, do it well, 15 years old, retro, children proof, retrogaming, station, old computer challenge, 6 days, 1 line, change, coding, rejected, github, profile achievements </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Do one thing and do it well, Turning a 15 years old laptop into a children proof retrogaming station, Old Computer Challenge v3: day 1, It Takes 6 Days to Change 1 Line of Code, Rejected GitHub Profile Achievements, that old netbsd server, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://medium.com/source-and-buggy/do-one-thing-and-do-it-well-886b11a5d21" target="_blank" rel="nofollow noopener">Do one thing and do it well</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-07-24-childproof-retrogaming-station.html" target="_blank" rel="nofollow noopener">Turning a 15 years old laptop into a children proof retrogaming station</a></h3>

<p><a href="https://dataswamp.org/%7Esolene/2023-06-04-old-computer-challenge-v3.html" target="_blank" rel="nofollow noopener">and a rereview of</a></p>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-07-10-old-computer-challenge-v3-part1.html" target="_blank" rel="nofollow noopener">Old Computer Challenge v3: day 1</a></h3>

<hr>

<h3><a href="https://edw519.posthaven.com/it-takes-6-days-to-change-1-line-of-code" target="_blank" rel="nofollow noopener">It Takes 6 Days to Change 1 Line of Code</a></h3>

<hr>

<h3><a href="https://github.com/Flet/rejected-github-profile-achievements" target="_blank" rel="nofollow noopener">Rejected GitHub Profile Achievements</a></h3>

<hr>

<h3><a href="https://it-notes.dragas.net/2023/08/27/that-old-netbsd-server-running-since-2010/" target="_blank" rel="nofollow noopener">That old netbsd server</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/525/feedback/Felix%20-%20questions.md" target="_blank" rel="nofollow noopener">Felix - questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/525/feedback/Francis%20-%20Episode%20511.md" target="_blank" rel="nofollow noopener">Francis - Episode 511</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/525/feedback/Ian%20-%20CDN.md" target="_blank" rel="nofollow noopener">Ian - CDN</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Do one thing and do it well, Turning a 15 years old laptop into a children proof retrogaming station, Old Computer Challenge v3: day 1, It Takes 6 Days to Change 1 Line of Code, Rejected GitHub Profile Achievements, that old netbsd server, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://medium.com/source-and-buggy/do-one-thing-and-do-it-well-886b11a5d21" target="_blank" rel="nofollow noopener">Do one thing and do it well</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2023-07-24-childproof-retrogaming-station.html" target="_blank" rel="nofollow noopener">Turning a 15 years old laptop into a children proof retrogaming station</a></h3>

<p><a href="https://dataswamp.org/%7Esolene/2023-06-04-old-computer-challenge-v3.html" target="_blank" rel="nofollow noopener">and a rereview of</a></p>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-07-10-old-computer-challenge-v3-part1.html" target="_blank" rel="nofollow noopener">Old Computer Challenge v3: day 1</a></h3>

<hr>

<h3><a href="https://edw519.posthaven.com/it-takes-6-days-to-change-1-line-of-code" target="_blank" rel="nofollow noopener">It Takes 6 Days to Change 1 Line of Code</a></h3>

<hr>

<h3><a href="https://github.com/Flet/rejected-github-profile-achievements" target="_blank" rel="nofollow noopener">Rejected GitHub Profile Achievements</a></h3>

<hr>

<h3><a href="https://it-notes.dragas.net/2023/08/27/that-old-netbsd-server-running-since-2010/" target="_blank" rel="nofollow noopener">That old netbsd server</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/525/feedback/Felix%20-%20questions.md" target="_blank" rel="nofollow noopener">Felix - questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/525/feedback/Francis%20-%20Episode%20511.md" target="_blank" rel="nofollow noopener">Francis - Episode 511</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/525/feedback/Ian%20-%20CDN.md" target="_blank" rel="nofollow noopener">Ian - CDN</a></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
<li><p>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>524: Legendary Unix Recovery</title>
  <link>https://www.bsdnow.tv/524</link>
  <guid isPermaLink="false">ce877f80-4e1c-4029-adbe-4b5893efef2d</guid>
  <pubDate>Thu, 14 Sep 2023 06:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ce877f80-4e1c-4029-adbe-4b5893efef2d.mp3" length="55404288" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>On the Loss and Preservation of Knowledge, Unix Recovery Legend, Useful Unix commands for data science, Tarsnap outage post-mortem, OpenBSD 7.3 on a twenty year old IBM ThinkPad R31, and more</itunes:subtitle>
  <itunes:duration>57:42</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>&lt;p&gt;On the Loss and Preservation of Knowledge, Unix Recovery Legend, Useful Unix commands for data science, Tarsnap outage post-mortem, OpenBSD 7.3 on a twenty year old IBM ThinkPad R31, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://samoburja.com/on-the-loss-and-preservation-of-knowledge/" target="_blank" rel="nofollow noopener"&gt;On the Loss and Preservation of Knowledge&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ecb.torontomu.ca/%7Eelf/hack/recovery.html" target="_blank" rel="nofollow noopener"&gt;Unix Recovery Legend&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://gregreda.com/2013/07/15/unix-commands-for-data-science/" target="_blank" rel="nofollow noopener"&gt;Useful Unix commands for data science&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mail.tarsnap.com/tarsnap-announce/msg00050.html" target="_blank" rel="nofollow noopener"&gt;Why we like Tarsnap = Transparency : Tarsnap outage post-mortem&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://box.matto.nl/openbsd-73-on-a-twenty-year-old-ibm-thinkpad-r31.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 7.3 on a twenty year old IBM ThinkPad R31&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://forums.freebsd.org/threads/quick-and-dirty-imap-uw-server.89877/" target="_blank" rel="nofollow noopener"&gt;Quick and dirty IMAP(-UW) server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackaday.com/2023/08/01/jennys-daily-drivers-freebsd-13-2/" target="_blank" rel="nofollow noopener"&gt;JENNY’S DAILY DRIVERS: FREEBSD 13.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://elv.sh/" target="_blank" rel="nofollow noopener"&gt;Elvish&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://infosec.exchange/@paco/110772422266480371" target="_blank" rel="nofollow noopener"&gt;xroach&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://soc.feditime.com/notice/AXo6xXlSrfdfjNPdRI" target="_blank" rel="nofollow noopener"&gt;Did hell freeze over?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/523/feedback/Nelson%20-%20Bell%20Labs%20Memoranda.md" target="_blank" rel="nofollow noopener"&gt;Nelson - Bell Labs Memoranda&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/523/feedback/patrick%20-%20audio%20switching.md" target="_blank" rel="nofollow noopener"&gt;patrick - audio switching&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/523/feedback/tim%20-%20appjail.md" target="_blank" rel="nofollow noopener"&gt;tim - appjail&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, knowledge, preservation, loss, recovery, legend, commands, data science, tarsnap, post-mortem, outage, thinkpad r31</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>On the Loss and Preservation of Knowledge, Unix Recovery Legend, Useful Unix commands for data science, Tarsnap outage post-mortem, OpenBSD 7.3 on a twenty year old IBM ThinkPad R31, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://samoburja.com/on-the-loss-and-preservation-of-knowledge/" target="_blank" rel="nofollow noopener">On the Loss and Preservation of Knowledge</a></h3>

<hr>

<h3><a href="https://www.ecb.torontomu.ca/%7Eelf/hack/recovery.html" target="_blank" rel="nofollow noopener">Unix Recovery Legend</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://gregreda.com/2013/07/15/unix-commands-for-data-science/" target="_blank" rel="nofollow noopener">Useful Unix commands for data science</a></h3>

<hr>

<h3><a href="https://mail.tarsnap.com/tarsnap-announce/msg00050.html" target="_blank" rel="nofollow noopener">Why we like Tarsnap = Transparency : Tarsnap outage post-mortem</a></h3>

<hr>

<h3><a href="https://box.matto.nl/openbsd-73-on-a-twenty-year-old-ibm-thinkpad-r31.html" target="_blank" rel="nofollow noopener">OpenBSD 7.3 on a twenty year old IBM ThinkPad R31</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://forums.freebsd.org/threads/quick-and-dirty-imap-uw-server.89877/" target="_blank" rel="nofollow noopener">Quick and dirty IMAP(-UW) server</a></li>
<li><a href="https://hackaday.com/2023/08/01/jennys-daily-drivers-freebsd-13-2/" target="_blank" rel="nofollow noopener">JENNY’S DAILY DRIVERS: FREEBSD 13.2</a></li>
<li><a href="https://elv.sh/" target="_blank" rel="nofollow noopener">Elvish</a></li>
<li><a href="https://infosec.exchange/@paco/110772422266480371" target="_blank" rel="nofollow noopener">xroach</a></li>
<li><a href="https://soc.feditime.com/notice/AXo6xXlSrfdfjNPdRI" target="_blank" rel="nofollow noopener">Did hell freeze over?</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/523/feedback/Nelson%20-%20Bell%20Labs%20Memoranda.md" target="_blank" rel="nofollow noopener">Nelson - Bell Labs Memoranda</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/523/feedback/patrick%20-%20audio%20switching.md" target="_blank" rel="nofollow noopener">patrick - audio switching</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/523/feedback/tim%20-%20appjail.md" target="_blank" rel="nofollow noopener">tim - appjail</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>On the Loss and Preservation of Knowledge, Unix Recovery Legend, Useful Unix commands for data science, Tarsnap outage post-mortem, OpenBSD 7.3 on a twenty year old IBM ThinkPad R31, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://samoburja.com/on-the-loss-and-preservation-of-knowledge/" target="_blank" rel="nofollow noopener">On the Loss and Preservation of Knowledge</a></h3>

<hr>

<h3><a href="https://www.ecb.torontomu.ca/%7Eelf/hack/recovery.html" target="_blank" rel="nofollow noopener">Unix Recovery Legend</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://gregreda.com/2013/07/15/unix-commands-for-data-science/" target="_blank" rel="nofollow noopener">Useful Unix commands for data science</a></h3>

<hr>

<h3><a href="https://mail.tarsnap.com/tarsnap-announce/msg00050.html" target="_blank" rel="nofollow noopener">Why we like Tarsnap = Transparency : Tarsnap outage post-mortem</a></h3>

<hr>

<h3><a href="https://box.matto.nl/openbsd-73-on-a-twenty-year-old-ibm-thinkpad-r31.html" target="_blank" rel="nofollow noopener">OpenBSD 7.3 on a twenty year old IBM ThinkPad R31</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://forums.freebsd.org/threads/quick-and-dirty-imap-uw-server.89877/" target="_blank" rel="nofollow noopener">Quick and dirty IMAP(-UW) server</a></li>
<li><a href="https://hackaday.com/2023/08/01/jennys-daily-drivers-freebsd-13-2/" target="_blank" rel="nofollow noopener">JENNY’S DAILY DRIVERS: FREEBSD 13.2</a></li>
<li><a href="https://elv.sh/" target="_blank" rel="nofollow noopener">Elvish</a></li>
<li><a href="https://infosec.exchange/@paco/110772422266480371" target="_blank" rel="nofollow noopener">xroach</a></li>
<li><a href="https://soc.feditime.com/notice/AXo6xXlSrfdfjNPdRI" target="_blank" rel="nofollow noopener">Did hell freeze over?</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/523/feedback/Nelson%20-%20Bell%20Labs%20Memoranda.md" target="_blank" rel="nofollow noopener">Nelson - Bell Labs Memoranda</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/523/feedback/patrick%20-%20audio%20switching.md" target="_blank" rel="nofollow noopener">patrick - audio switching</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/523/feedback/tim%20-%20appjail.md" target="_blank" rel="nofollow noopener">tim - appjail</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>523: Literally Unix</title>
  <link>https://www.bsdnow.tv/523</link>
  <guid isPermaLink="false">e03effe5-46f6-4cc7-8c19-4f549f78415c</guid>
  <pubDate>Thu, 07 Sep 2023 06:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e03effe5-46f6-4cc7-8c19-4f549f78415c.mp3" length="38576256" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The Elements Of Style: UNIX As Literature, The shell and its crappy handling of whitespace, Theo de Raadt on Zenbleed, OPNsense 23.7 released, illumos gets a new C compiler, fixing Thinkpad X1 WIFI on FreeBSD, and more</itunes:subtitle>
  <itunes:duration>40:11</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>&lt;p&gt;The Elements Of Style: UNIX As Literature, The shell and its crappy handling of whitespace, Theo de Raadt on Zenbleed, OPNsense 23.7 released, illumos gets a new C compiler, fixing Thinkpad X1 WIFI on FreeBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://theody.net/elements.html" target="_blank" rel="nofollow noopener"&gt;The Elements Of Style: UNIX As Literature&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.plover.com/Unix/whitespace.html" target="_blank" rel="nofollow noopener"&gt;The shell and its crappy handling of whitespace&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20230724224011" target="_blank" rel="nofollow noopener"&gt;Theo de Raadt on Zenbleed&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-23-7-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 23.7 “Restless Roadrunner” Released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;[ILLUMOS GETS A NEW C COMPILER](&lt;a href="https://briancallahan.net/blog/20230705.html" target="_blank" rel="nofollow noopener"&gt;https://briancallahan.net/blog/20230705.html&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;)&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://michal.sapka.me/2023/fixing-thinkpad-x1-wifi-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;FIXING THINKPAD X1 WIFI ON FREEBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, style, elements, literature, whitespace, zenbleed, theo de raadt, opnsense 23.7, illumos, compiler, thinkpad, wifi</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Elements Of Style: UNIX As Literature, The shell and its crappy handling of whitespace, Theo de Raadt on Zenbleed, OPNsense 23.7 released, illumos gets a new C compiler, fixing Thinkpad X1 WIFI on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://theody.net/elements.html" target="_blank" rel="nofollow noopener">The Elements Of Style: UNIX As Literature</a></h3>

<hr>

<h3><a href="https://blog.plover.com/Unix/whitespace.html" target="_blank" rel="nofollow noopener">The shell and its crappy handling of whitespace</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.undeadly.org/cgi?action=article;sid=20230724224011" target="_blank" rel="nofollow noopener">Theo de Raadt on Zenbleed</a></h3>

<hr>

<h3><a href="https://opnsense.org/opnsense-23-7-released/" target="_blank" rel="nofollow noopener">OPNsense 23.7 “Restless Roadrunner” Released</a></h3>

<hr>

<h3>[ILLUMOS GETS A NEW C COMPILER](<a href="https://briancallahan.net/blog/20230705.html" target="_blank" rel="nofollow noopener">https://briancallahan.net/blog/20230705.html</a></h3>

<p>)</p>

<hr>

<h3><a href="https://michal.sapka.me/2023/fixing-thinkpad-x1-wifi-on-freebsd/" target="_blank" rel="nofollow noopener">FIXING THINKPAD X1 WIFI ON FREEBSD</a></h3>

<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>

<hr></li>
<li><ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Elements Of Style: UNIX As Literature, The shell and its crappy handling of whitespace, Theo de Raadt on Zenbleed, OPNsense 23.7 released, illumos gets a new C compiler, fixing Thinkpad X1 WIFI on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://theody.net/elements.html" target="_blank" rel="nofollow noopener">The Elements Of Style: UNIX As Literature</a></h3>

<hr>

<h3><a href="https://blog.plover.com/Unix/whitespace.html" target="_blank" rel="nofollow noopener">The shell and its crappy handling of whitespace</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.undeadly.org/cgi?action=article;sid=20230724224011" target="_blank" rel="nofollow noopener">Theo de Raadt on Zenbleed</a></h3>

<hr>

<h3><a href="https://opnsense.org/opnsense-23-7-released/" target="_blank" rel="nofollow noopener">OPNsense 23.7 “Restless Roadrunner” Released</a></h3>

<hr>

<h3>[ILLUMOS GETS A NEW C COMPILER](<a href="https://briancallahan.net/blog/20230705.html" target="_blank" rel="nofollow noopener">https://briancallahan.net/blog/20230705.html</a></h3>

<p>)</p>

<hr>

<h3><a href="https://michal.sapka.me/2023/fixing-thinkpad-x1-wifi-on-freebsd/" target="_blank" rel="nofollow noopener">FIXING THINKPAD X1 WIFI ON FREEBSD</a></h3>

<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>

<hr></li>
<li><ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>522: Zenbleed Foot Shooting</title>
  <link>https://www.bsdnow.tv/522</link>
  <guid isPermaLink="false">eb9e39c2-564c-4286-b1dd-e1d57a331f87</guid>
  <pubDate>Thu, 31 Aug 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/eb9e39c2-564c-4286-b1dd-e1d57a331f87.mp3" length="46507008" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Top Ten Reasons to Upgrade to FreeBSD 13.2, History never repeats but sometimes it rhymes, Wayland on OpenBSD, OpenBGPD 8.1 released, Shoot yourself in the foot, Zenbleed: aka: The new fun for a while, and more</itunes:subtitle>
  <itunes:duration>48:26</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>&lt;p&gt;Top Ten Reasons to Upgrade to FreeBSD 13.2, History never repeats but sometimes it rhymes, Wayland on OpenBSD, OpenBGPD 8.1 released, Shoot yourself in the foot, Zenbleed: aka: The new fun for a while, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/top-ten-reasons-to-upgrade-to-freebsd-13-2/" target="_blank" rel="nofollow noopener"&gt;Top Ten Reasons to Upgrade to FreeBSD 13.2&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://ciq.com/blog/history-never-repeats-but-sometimes-it-rhymes/" target="_blank" rel="nofollow noopener"&gt;History never repeats but sometimes it rhymes&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://xenocara.org/Wayland_on_OpenBSD.html" target="_blank" rel="nofollow noopener"&gt;Wayland on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20230713110230" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 8.1 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://g-w1.github.io/blog/observation/2023/07/08/shoot-yourself-in-the-foot.html" target="_blank" rel="nofollow noopener"&gt;Shoot yourself in the foot&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20230724224011" target="_blank" rel="nofollow noopener"&gt;Zenbleed: aka : The new fun for a while&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/522/feedback/Ian%20-%20about%20dozing%20off%20when%20listening.md" target="_blank" rel="nofollow noopener"&gt;Ian - about dozing off when listening&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/522/feedback/Nixbytes%20%20-%20news%20on%20netbsd.md" target="_blank" rel="nofollow noopener"&gt;Nixbytes  - news on netbsd&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/522/feedback/Phillip%20-%20Questions.md" target="_blank" rel="nofollow noopener"&gt;Phillip - Questions&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Join us and other BSD Fans in our &lt;a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSD Now Telegram channel&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, reasons, top 10, upgrade, 13.2, history, rhyme, wayland, openbgpd, foot shooting, zenbleed</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Top Ten Reasons to Upgrade to FreeBSD 13.2, History never repeats but sometimes it rhymes, Wayland on OpenBSD, OpenBGPD 8.1 released, Shoot yourself in the foot, Zenbleed: aka: The new fun for a while, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/top-ten-reasons-to-upgrade-to-freebsd-13-2/" target="_blank" rel="nofollow noopener">Top Ten Reasons to Upgrade to FreeBSD 13.2</a></h3>

<hr>

<h3><a href="https://ciq.com/blog/history-never-repeats-but-sometimes-it-rhymes/" target="_blank" rel="nofollow noopener">History never repeats but sometimes it rhymes</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://xenocara.org/Wayland_on_OpenBSD.html" target="_blank" rel="nofollow noopener">Wayland on OpenBSD</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230713110230" target="_blank" rel="nofollow noopener">OpenBGPD 8.1 released</a></h3>

<hr>

<h3><a href="https://g-w1.github.io/blog/observation/2023/07/08/shoot-yourself-in-the-foot.html" target="_blank" rel="nofollow noopener">Shoot yourself in the foot</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20230724224011" target="_blank" rel="nofollow noopener">Zenbleed: aka : The new fun for a while</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/522/feedback/Ian%20-%20about%20dozing%20off%20when%20listening.md" target="_blank" rel="nofollow noopener">Ian - about dozing off when listening</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/522/feedback/Nixbytes%20%20-%20news%20on%20netbsd.md" target="_blank" rel="nofollow noopener">Nixbytes  - news on netbsd</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/522/feedback/Phillip%20-%20Questions.md" target="_blank" rel="nofollow noopener">Phillip - Questions</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
<li>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Top Ten Reasons to Upgrade to FreeBSD 13.2, History never repeats but sometimes it rhymes, Wayland on OpenBSD, OpenBGPD 8.1 released, Shoot yourself in the foot, Zenbleed: aka: The new fun for a while, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/top-ten-reasons-to-upgrade-to-freebsd-13-2/" target="_blank" rel="nofollow noopener">Top Ten Reasons to Upgrade to FreeBSD 13.2</a></h3>

<hr>

<h3><a href="https://ciq.com/blog/history-never-repeats-but-sometimes-it-rhymes/" target="_blank" rel="nofollow noopener">History never repeats but sometimes it rhymes</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://xenocara.org/Wayland_on_OpenBSD.html" target="_blank" rel="nofollow noopener">Wayland on OpenBSD</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230713110230" target="_blank" rel="nofollow noopener">OpenBGPD 8.1 released</a></h3>

<hr>

<h3><a href="https://g-w1.github.io/blog/observation/2023/07/08/shoot-yourself-in-the-foot.html" target="_blank" rel="nofollow noopener">Shoot yourself in the foot</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20230724224011" target="_blank" rel="nofollow noopener">Zenbleed: aka : The new fun for a while</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/522/feedback/Ian%20-%20about%20dozing%20off%20when%20listening.md" target="_blank" rel="nofollow noopener">Ian - about dozing off when listening</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/522/feedback/Nixbytes%20%20-%20news%20on%20netbsd.md" target="_blank" rel="nofollow noopener">Nixbytes  - news on netbsd</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/522/feedback/Phillip%20-%20Questions.md" target="_blank" rel="nofollow noopener">Phillip - Questions</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
<li>Join us and other BSD Fans in our <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">BSD Now Telegram channel</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>521: BSD Summer Reading</title>
  <link>https://www.bsdnow.tv/521</link>
  <guid isPermaLink="false">533fcb2a-376e-4f26-9d0d-4fa57da1ced4</guid>
  <pubDate>Thu, 24 Aug 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/533fcb2a-376e-4f26-9d0d-4fa57da1ced4.mp3" length="54731520" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Status Report Q2 2023, Klara Systems Recommended Summer Reads 2023, install Kanboard on OpenBSD howto, A bit of Unix history on 'su -', hints for splitting commits, Live from OpenBSD in Amsterdam, and more</itunes:subtitle>
  <itunes:duration>57:00</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>&lt;p&gt;FreeBSD Status Report Q2 2023, Klara Systems Recommended Summer Reads 2023, install Kanboard on OpenBSD howto, A bit of Unix history on 'su -', hints for splitting commits, Live from OpenBSD in Amsterdam, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/status/report-2023-04-2023-06/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Status Report Second Quarter 2023&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/our-2023-recommended-summer-reads-freebsd-and-linux/" target="_blank" rel="nofollow noopener"&gt;Our 2023 Recommended Summer Reads 2023&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-07-07-kanboard-on-openbsd.html" target="_blank" rel="nofollow noopener"&gt;How to install Kanboard on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/SuDashHistory" target="_blank" rel="nofollow noopener"&gt;A bit of Unix history on 'su -'&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://bsdimp.blogspot.com/2023/07/some-hints-for-splitting-commits.html" target="_blank" rel="nofollow noopener"&gt;Some hints for splitting commits&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://michal.sapka.me/2023/moved-to-openbsd/" target="_blank" rel="nofollow noopener"&gt;Live from OpenBSD in Amsterdam&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;In memoriam&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://forums.freebsd.org/threads/in-memoriam-hans-petter-william-sirevag-selasky.89697/#post-616627" target="_blank" rel="nofollow noopener"&gt;In Memoriam: Hans Petter William Sirevåg Selasky&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/521/feedback/Agbo%20-%20Using%20BSD%20for%20a%20business.md" target="_blank" rel="nofollow noopener"&gt;Agbo - Using BSD for a business&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/521/feedback/Chris%20-%20Desktop%20BSD%20systems.md" target="_blank" rel="nofollow noopener"&gt;Chris - Desktop BSD systems&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/521/feedback/Dane%20-%20Use%20another%20OS.md" target="_blank" rel="nofollow noopener"&gt;Dane - Use another OS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, status report, quarter 2, recommended reading, books, article, kanboard, history, su, commit, git, vcs, openbsd amsterdam, live</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Status Report Q2 2023, Klara Systems Recommended Summer Reads 2023, install Kanboard on OpenBSD howto, A bit of Unix history on 'su -', hints for splitting commits, Live from OpenBSD in Amsterdam, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/status/report-2023-04-2023-06/" target="_blank" rel="nofollow noopener">FreeBSD Status Report Second Quarter 2023</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/our-2023-recommended-summer-reads-freebsd-and-linux/" target="_blank" rel="nofollow noopener">Our 2023 Recommended Summer Reads 2023</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-07-07-kanboard-on-openbsd.html" target="_blank" rel="nofollow noopener">How to install Kanboard on OpenBSD</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/SuDashHistory" target="_blank" rel="nofollow noopener">A bit of Unix history on 'su -'</a></h3>

<hr>

<h3><a href="http://bsdimp.blogspot.com/2023/07/some-hints-for-splitting-commits.html" target="_blank" rel="nofollow noopener">Some hints for splitting commits</a></h3>

<hr>

<h3><a href="https://michal.sapka.me/2023/moved-to-openbsd/" target="_blank" rel="nofollow noopener">Live from OpenBSD in Amsterdam</a></h3>

<hr>

<h2>In memoriam</h2>

<p><a href="https://forums.freebsd.org/threads/in-memoriam-hans-petter-william-sirevag-selasky.89697/#post-616627" target="_blank" rel="nofollow noopener">In Memoriam: Hans Petter William Sirevåg Selasky</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/521/feedback/Agbo%20-%20Using%20BSD%20for%20a%20business.md" target="_blank" rel="nofollow noopener">Agbo - Using BSD for a business</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/521/feedback/Chris%20-%20Desktop%20BSD%20systems.md" target="_blank" rel="nofollow noopener">Chris - Desktop BSD systems</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/521/feedback/Dane%20-%20Use%20another%20OS.md" target="_blank" rel="nofollow noopener">Dane - Use another OS</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Status Report Q2 2023, Klara Systems Recommended Summer Reads 2023, install Kanboard on OpenBSD howto, A bit of Unix history on 'su -', hints for splitting commits, Live from OpenBSD in Amsterdam, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/status/report-2023-04-2023-06/" target="_blank" rel="nofollow noopener">FreeBSD Status Report Second Quarter 2023</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/our-2023-recommended-summer-reads-freebsd-and-linux/" target="_blank" rel="nofollow noopener">Our 2023 Recommended Summer Reads 2023</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-07-07-kanboard-on-openbsd.html" target="_blank" rel="nofollow noopener">How to install Kanboard on OpenBSD</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/SuDashHistory" target="_blank" rel="nofollow noopener">A bit of Unix history on 'su -'</a></h3>

<hr>

<h3><a href="http://bsdimp.blogspot.com/2023/07/some-hints-for-splitting-commits.html" target="_blank" rel="nofollow noopener">Some hints for splitting commits</a></h3>

<hr>

<h3><a href="https://michal.sapka.me/2023/moved-to-openbsd/" target="_blank" rel="nofollow noopener">Live from OpenBSD in Amsterdam</a></h3>

<hr>

<h2>In memoriam</h2>

<p><a href="https://forums.freebsd.org/threads/in-memoriam-hans-petter-william-sirevag-selasky.89697/#post-616627" target="_blank" rel="nofollow noopener">In Memoriam: Hans Petter William Sirevåg Selasky</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/521/feedback/Agbo%20-%20Using%20BSD%20for%20a%20business.md" target="_blank" rel="nofollow noopener">Agbo - Using BSD for a business</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/521/feedback/Chris%20-%20Desktop%20BSD%20systems.md" target="_blank" rel="nofollow noopener">Chris - Desktop BSD systems</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/521/feedback/Dane%20-%20Use%20another%20OS.md" target="_blank" rel="nofollow noopener">Dane - Use another OS</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>520: 4 months BSD</title>
  <link>https://www.bsdnow.tv/520</link>
  <guid isPermaLink="false">c4abf3ee-9d63-4f0a-bc8d-ea10b203a9e0</guid>
  <pubDate>Thu, 17 Aug 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c4abf3ee-9d63-4f0a-bc8d-ea10b203a9e0.mp3" length="41702784" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>4 Months of BSD, Self Hosted Calendar and address Book, Ban scanners IPs from OpenSMTP logs, Self-hosted git page, Bastille template example, Restrict nginx Access by Geographical Location on FreeBSD, and more.</itunes:subtitle>
  <itunes:duration>43:26</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>&lt;p&gt;4 Months of BSD, Self Hosted Calendar and address Book, Ban scanners IPs from OpenSMTP logs, Self-hosted git page, Bastille template example, Restrict nginx Access by Geographical Location on FreeBSD, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://danterobinson.dev/BSD/4MonthsofBSD" target="_blank" rel="nofollow noopener"&gt;4 Months of BSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/2023/self-hosted-calendar-and-addressbook-services-on-openbsd/" target="_blank" rel="nofollow noopener"&gt;Self Hosted Calendar and address Book&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-06-22-opensmtpd-block-attempts.html" target="_blank" rel="nofollow noopener"&gt;Ban scanners IPs from OpenSMTP logs&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sebastiano.tronto.net/blog/2022-11-23-git-host/" target="_blank" rel="nofollow noopener"&gt;Self-hosted git page with stagit (featuring ed, the standard editor)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bastillebsd.org/blog/2022/01/03/bastille-template-examples-adguardhome/" target="_blank" rel="nofollow noopener"&gt;Bastille template example&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://herrbischoff.com/2021/05/nginx-how-to-restrict-access-by-geographical-location-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Nginx: How to Restrict Access by Geographical Location on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/520/feedback/Chris%20-%20arm.md" target="_blank" rel="nofollow noopener"&gt;Chris - ARM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/520/feedback/matthew%20-%20groups.md" target="_blank" rel="nofollow noopener"&gt;Matthew - Groups&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, server, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, 4 months, four, self-hosted, calendar, address book, ban, banning, opensmtp, log, log analysis, git-page, git, bastille, template, restrict, nginx, location, location-based, blocking, geo-block</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>4 Months of BSD, Self Hosted Calendar and address Book, Ban scanners IPs from OpenSMTP logs, Self-hosted git page, Bastille template example, Restrict nginx Access by Geographical Location on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://danterobinson.dev/BSD/4MonthsofBSD" target="_blank" rel="nofollow noopener">4 Months of BSD</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2023/self-hosted-calendar-and-addressbook-services-on-openbsd/" target="_blank" rel="nofollow noopener">Self Hosted Calendar and address Book</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-06-22-opensmtpd-block-attempts.html" target="_blank" rel="nofollow noopener">Ban scanners IPs from OpenSMTP logs</a></h3>

<hr>

<h3><a href="https://sebastiano.tronto.net/blog/2022-11-23-git-host/" target="_blank" rel="nofollow noopener">Self-hosted git page with stagit (featuring ed, the standard editor)</a></h3>

<hr>

<h3><a href="https://bastillebsd.org/blog/2022/01/03/bastille-template-examples-adguardhome/" target="_blank" rel="nofollow noopener">Bastille template example</a></h3>

<hr>

<h3><a href="https://herrbischoff.com/2021/05/nginx-how-to-restrict-access-by-geographical-location-on-freebsd/" target="_blank" rel="nofollow noopener">Nginx: How to Restrict Access by Geographical Location on FreeBSD</a></h3>

<hr>

<h2>Beastie Bits</h2>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/520/feedback/Chris%20-%20arm.md" target="_blank" rel="nofollow noopener">Chris - ARM</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/520/feedback/matthew%20-%20groups.md" target="_blank" rel="nofollow noopener">Matthew - Groups</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>4 Months of BSD, Self Hosted Calendar and address Book, Ban scanners IPs from OpenSMTP logs, Self-hosted git page, Bastille template example, Restrict nginx Access by Geographical Location on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://danterobinson.dev/BSD/4MonthsofBSD" target="_blank" rel="nofollow noopener">4 Months of BSD</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2023/self-hosted-calendar-and-addressbook-services-on-openbsd/" target="_blank" rel="nofollow noopener">Self Hosted Calendar and address Book</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-06-22-opensmtpd-block-attempts.html" target="_blank" rel="nofollow noopener">Ban scanners IPs from OpenSMTP logs</a></h3>

<hr>

<h3><a href="https://sebastiano.tronto.net/blog/2022-11-23-git-host/" target="_blank" rel="nofollow noopener">Self-hosted git page with stagit (featuring ed, the standard editor)</a></h3>

<hr>

<h3><a href="https://bastillebsd.org/blog/2022/01/03/bastille-template-examples-adguardhome/" target="_blank" rel="nofollow noopener">Bastille template example</a></h3>

<hr>

<h3><a href="https://herrbischoff.com/2021/05/nginx-how-to-restrict-access-by-geographical-location-on-freebsd/" target="_blank" rel="nofollow noopener">Nginx: How to Restrict Access by Geographical Location on FreeBSD</a></h3>

<hr>

<h2>Beastie Bits</h2>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/520/feedback/Chris%20-%20arm.md" target="_blank" rel="nofollow noopener">Chris - ARM</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/520/feedback/matthew%20-%20groups.md" target="_blank" rel="nofollow noopener">Matthew - Groups</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>519: Telegram from BSDNow</title>
  <link>https://www.bsdnow.tv/519</link>
  <guid isPermaLink="false">5d5025dc-47c7-48f4-9da6-d5fee456b1de</guid>
  <pubDate>Thu, 10 Aug 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5d5025dc-47c7-48f4-9da6-d5fee456b1de.mp3" length="35925120" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>3 Advantages to Running FreeBSD as Your Server OS, FreeBSD 14 Release Schedule, Stream your OpenBSD desktop audio, DOD KSOS Secure UNIX Operating System Manual, How to limit bandwidth usage with SCP transfers, and more.</itunes:subtitle>
  <itunes:duration>37:25</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>&lt;p&gt;3 Advantages to Running FreeBSD as Your Server OS, FreeBSD 14 Release Schedule, Stream your OpenBSD desktop audio, DOD KSOS Secure UNIX Operating System Manual, How to limit bandwidth usage with SCP transfers, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-3-advantages-to-running-freebsd-as-your-server-operating-system/" target="_blank" rel="nofollow noopener"&gt;3 Advantages to Running FreeBSD as Your Server Operating System&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/releases/14.0R/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 14 Release Schedule&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-05-05-openbsd-sound-streaming.html" target="_blank" rel="nofollow noopener"&gt;Stream your OpenBSD desktop audio to other devices&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tuhs.org/pipermail/tuhs/2023-June/028441.html" target="_blank" rel="nofollow noopener"&gt;DOD KSOS Secure UNIX Operating System Manual and Final Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://herrbischoff.com/2023/03/how-to-limit-bandwidth-usage-for-scp-transfers/" target="_blank" rel="nofollow noopener"&gt;How to limit bandwidth usage with SCP transfers&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/unix/comments/14m90v2/oracle_solaris_114_running_in_a_virtual_machine/" target="_blank" rel="nofollow noopener"&gt;OpenSolaris 11.4 running in a VM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freebsdfoundation.org/blog/celebrating-30-years-of-freebsd-freebsd-journal-special-edition/" target="_blank" rel="nofollow noopener"&gt;Celebrating 30 Years of FreeBSD – FreeBSD Journal Special Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/cperciva/status/1673215499365384194?s=52&amp;amp;t=-_bfM_adaiX8Ri_3lN9OYw" target="_blank" rel="nofollow noopener"&gt;Some ways you can contribute to open source software without writing code&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://i.imgur.com/5AlqBlO.png" target="_blank" rel="nofollow noopener"&gt;ScreenCapture if you don't have a twitter account&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;New BSD Now Telegram Channel&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We now have a new BSD Now Telegram channel that anyone can join.  Conversations don’t have to just be about the show, anything BSD, Unix, or *nix in general is fair game. &lt;a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener"&gt;https://t.me/bsdnow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/519/feedback/Johnny%20-%20512.md" target="_blank" rel="nofollow noopener"&gt;Johnny - 512&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/519/feedback/Matthew%20-%20512.md" target="_blank" rel="nofollow noopener"&gt;Matthew - 512&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, advantages, server, release schedule, stream, streaming, desktop audio, DOD, KSOS, secure, bandwidth limit, scp, secure copy</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>3 Advantages to Running FreeBSD as Your Server OS, FreeBSD 14 Release Schedule, Stream your OpenBSD desktop audio, DOD KSOS Secure UNIX Operating System Manual, How to limit bandwidth usage with SCP transfers, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-3-advantages-to-running-freebsd-as-your-server-operating-system/" target="_blank" rel="nofollow noopener">3 Advantages to Running FreeBSD as Your Server Operating System</a></h3>

<hr>

<h3><a href="https://www.freebsd.org/releases/14.0R/" target="_blank" rel="nofollow noopener">FreeBSD 14 Release Schedule</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-05-05-openbsd-sound-streaming.html" target="_blank" rel="nofollow noopener">Stream your OpenBSD desktop audio to other devices</a></h3>

<hr>

<h3><a href="https://www.tuhs.org/pipermail/tuhs/2023-June/028441.html" target="_blank" rel="nofollow noopener">DOD KSOS Secure UNIX Operating System Manual and Final Report</a></h3>

<hr>

<h3><a href="https://herrbischoff.com/2023/03/how-to-limit-bandwidth-usage-for-scp-transfers/" target="_blank" rel="nofollow noopener">How to limit bandwidth usage with SCP transfers</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.reddit.com/r/unix/comments/14m90v2/oracle_solaris_114_running_in_a_virtual_machine/" target="_blank" rel="nofollow noopener">OpenSolaris 11.4 running in a VM</a></li>
<li><a href="https://freebsdfoundation.org/blog/celebrating-30-years-of-freebsd-freebsd-journal-special-edition/" target="_blank" rel="nofollow noopener">Celebrating 30 Years of FreeBSD – FreeBSD Journal Special Edition</a></li>
<li><a href="https://twitter.com/cperciva/status/1673215499365384194?s=52&amp;t=-_bfM_adaiX8Ri_3lN9OYw" target="_blank" rel="nofollow noopener">Some ways you can contribute to open source software without writing code</a>

<ul>
<li><a href="https://i.imgur.com/5AlqBlO.png" target="_blank" rel="nofollow noopener">ScreenCapture if you don't have a twitter account</a></li>
</ul></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h3>New BSD Now Telegram Channel</h3>

<ul>
<li>We now have a new BSD Now Telegram channel that anyone can join.  Conversations don’t have to just be about the show, anything BSD, Unix, or *nix in general is fair game. <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">https://t.me/bsdnow</a></li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/519/feedback/Johnny%20-%20512.md" target="_blank" rel="nofollow noopener">Johnny - 512</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/519/feedback/Matthew%20-%20512.md" target="_blank" rel="nofollow noopener">Matthew - 512</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>3 Advantages to Running FreeBSD as Your Server OS, FreeBSD 14 Release Schedule, Stream your OpenBSD desktop audio, DOD KSOS Secure UNIX Operating System Manual, How to limit bandwidth usage with SCP transfers, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-3-advantages-to-running-freebsd-as-your-server-operating-system/" target="_blank" rel="nofollow noopener">3 Advantages to Running FreeBSD as Your Server Operating System</a></h3>

<hr>

<h3><a href="https://www.freebsd.org/releases/14.0R/" target="_blank" rel="nofollow noopener">FreeBSD 14 Release Schedule</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-05-05-openbsd-sound-streaming.html" target="_blank" rel="nofollow noopener">Stream your OpenBSD desktop audio to other devices</a></h3>

<hr>

<h3><a href="https://www.tuhs.org/pipermail/tuhs/2023-June/028441.html" target="_blank" rel="nofollow noopener">DOD KSOS Secure UNIX Operating System Manual and Final Report</a></h3>

<hr>

<h3><a href="https://herrbischoff.com/2023/03/how-to-limit-bandwidth-usage-for-scp-transfers/" target="_blank" rel="nofollow noopener">How to limit bandwidth usage with SCP transfers</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.reddit.com/r/unix/comments/14m90v2/oracle_solaris_114_running_in_a_virtual_machine/" target="_blank" rel="nofollow noopener">OpenSolaris 11.4 running in a VM</a></li>
<li><a href="https://freebsdfoundation.org/blog/celebrating-30-years-of-freebsd-freebsd-journal-special-edition/" target="_blank" rel="nofollow noopener">Celebrating 30 Years of FreeBSD – FreeBSD Journal Special Edition</a></li>
<li><a href="https://twitter.com/cperciva/status/1673215499365384194?s=52&amp;t=-_bfM_adaiX8Ri_3lN9OYw" target="_blank" rel="nofollow noopener">Some ways you can contribute to open source software without writing code</a>

<ul>
<li><a href="https://i.imgur.com/5AlqBlO.png" target="_blank" rel="nofollow noopener">ScreenCapture if you don't have a twitter account</a></li>
</ul></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h3>New BSD Now Telegram Channel</h3>

<ul>
<li>We now have a new BSD Now Telegram channel that anyone can join.  Conversations don’t have to just be about the show, anything BSD, Unix, or *nix in general is fair game. <a href="https://t.me/bsdnow" target="_blank" rel="nofollow noopener">https://t.me/bsdnow</a></li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/519/feedback/Johnny%20-%20512.md" target="_blank" rel="nofollow noopener">Johnny - 512</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/519/feedback/Matthew%20-%20512.md" target="_blank" rel="nofollow noopener">Matthew - 512</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>518: Unix Edition Zero</title>
  <link>https://www.bsdnow.tv/518</link>
  <guid isPermaLink="false">a8dc2e06-ce32-4c8c-a282-35950bee26fc</guid>
  <pubDate>Thu, 03 Aug 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a8dc2e06-ce32-4c8c-a282-35950bee26fc.mp3" length="54445440" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>A Guide to Problem-Solving for Software Developers with Examples, making 20% time work, Long Live Netbooks, OpenBSD Router on Sg105w, Set Up a Simple and Actually Working Wireguard Server, Unix Edition Zero, how to be a -10x engineer, and more</itunes:subtitle>
  <itunes:duration>56:42</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>&lt;p&gt;A Guide to Problem-Solving for Software Developers with Examples, making 20% time work, Long Live Netbooks, OpenBSD Router on Sg105w, Set Up a Simple and Actually Working Wireguard Server, Unix Edition Zero, how to be a -10x engineer, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://thevaluable.dev/problem_solving_guide_software_developer" target="_blank" rel="nofollow noopener"&gt;A Guide to Problem-Solving for Software Developers with Examples&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://begriffs.com/posts/2016-01-29-making-twenty-percent-time-work.html" target="_blank" rel="nofollow noopener"&gt;Making 20% time work&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://sebastiano.tronto.net/blog/2022-09-10-netbooks/" target="_blank" rel="nofollow noopener"&gt;Long live netbooks!&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://evolving-architecture.eu/openbsd-router-sg105w/" target="_blank" rel="nofollow noopener"&gt;OpenBSD Router on Sg105w&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://herrbischoff.com/2023/04/freebsd-how-to-set-up-a-simple-and-actually-working-wireguard-server/" target="_blank" rel="nofollow noopener"&gt;FreeBSD: How to Set Up a Simple and Actually Working Wireguard Server&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://taylor.town/-10x" target="_blank" rel="nofollow noopener"&gt;How to be a -10x Engineer&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://doc.cat-v.org/unix/v0/" target="_blank" rel="nofollow noopener"&gt;Unix Edition Zero&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20230624054334" target="_blank" rel="nofollow noopener"&gt;Game of Trees 0.90 released&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/alcarithemad/zfsp" target="_blank" rel="nofollow noopener"&gt;ZFSp&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, problem-solving, 20 percent, time, netbooks, long live, OpenBSD Router, sg105w, wireguard, server, edition zero, -10x engineer</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>A Guide to Problem-Solving for Software Developers with Examples, making 20% time work, Long Live Netbooks, OpenBSD Router on Sg105w, Set Up a Simple and Actually Working Wireguard Server, Unix Edition Zero, how to be a -10x engineer, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://thevaluable.dev/problem_solving_guide_software_developer" target="_blank" rel="nofollow noopener">A Guide to Problem-Solving for Software Developers with Examples</a></h3>

<hr>

<h3><a href="https://begriffs.com/posts/2016-01-29-making-twenty-percent-time-work.html" target="_blank" rel="nofollow noopener">Making 20% time work</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://sebastiano.tronto.net/blog/2022-09-10-netbooks/" target="_blank" rel="nofollow noopener">Long live netbooks!</a></h3>

<hr>

<h3><a href="https://evolving-architecture.eu/openbsd-router-sg105w/" target="_blank" rel="nofollow noopener">OpenBSD Router on Sg105w</a></h3>

<hr>

<h3><a href="https://herrbischoff.com/2023/04/freebsd-how-to-set-up-a-simple-and-actually-working-wireguard-server/" target="_blank" rel="nofollow noopener">FreeBSD: How to Set Up a Simple and Actually Working Wireguard Server</a></h3>

<hr>

<h3><a href="https://taylor.town/-10x" target="_blank" rel="nofollow noopener">How to be a -10x Engineer</a></h3>

<hr>

<h3><a href="http://doc.cat-v.org/unix/v0/" target="_blank" rel="nofollow noopener">Unix Edition Zero</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><p><a href="https://undeadly.org/cgi?action=article;sid=20230624054334" target="_blank" rel="nofollow noopener">Game of Trees 0.90 released</a></p></li>
<li><p><a href="https://github.com/alcarithemad/zfsp" target="_blank" rel="nofollow noopener">ZFSp</a></p>

<hr>

<h3>Tarsnap</h3></li>
<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>
</ul>

<h2>Feedback/Questions</h2>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>A Guide to Problem-Solving for Software Developers with Examples, making 20% time work, Long Live Netbooks, OpenBSD Router on Sg105w, Set Up a Simple and Actually Working Wireguard Server, Unix Edition Zero, how to be a -10x engineer, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://thevaluable.dev/problem_solving_guide_software_developer" target="_blank" rel="nofollow noopener">A Guide to Problem-Solving for Software Developers with Examples</a></h3>

<hr>

<h3><a href="https://begriffs.com/posts/2016-01-29-making-twenty-percent-time-work.html" target="_blank" rel="nofollow noopener">Making 20% time work</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://sebastiano.tronto.net/blog/2022-09-10-netbooks/" target="_blank" rel="nofollow noopener">Long live netbooks!</a></h3>

<hr>

<h3><a href="https://evolving-architecture.eu/openbsd-router-sg105w/" target="_blank" rel="nofollow noopener">OpenBSD Router on Sg105w</a></h3>

<hr>

<h3><a href="https://herrbischoff.com/2023/04/freebsd-how-to-set-up-a-simple-and-actually-working-wireguard-server/" target="_blank" rel="nofollow noopener">FreeBSD: How to Set Up a Simple and Actually Working Wireguard Server</a></h3>

<hr>

<h3><a href="https://taylor.town/-10x" target="_blank" rel="nofollow noopener">How to be a -10x Engineer</a></h3>

<hr>

<h3><a href="http://doc.cat-v.org/unix/v0/" target="_blank" rel="nofollow noopener">Unix Edition Zero</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><p><a href="https://undeadly.org/cgi?action=article;sid=20230624054334" target="_blank" rel="nofollow noopener">Game of Trees 0.90 released</a></p></li>
<li><p><a href="https://github.com/alcarithemad/zfsp" target="_blank" rel="nofollow noopener">ZFSp</a></p>

<hr>

<h3>Tarsnap</h3></li>
<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>
</ul>

<h2>Feedback/Questions</h2>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>517: Huge pfsync rewrite</title>
  <link>https://www.bsdnow.tv/517</link>
  <guid isPermaLink="false">d8d9cac6-5c23-4f07-b6ad-253890b79d72</guid>
  <pubDate>Thu, 27 Jul 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d8d9cac6-5c23-4f07-b6ad-253890b79d72.mp3" length="44959104" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Linux and FreeBSD Firewalls Comparison Part 2, 27 Years with the Perfect OS, Top 20 OpenSSH Server Best Security Practices, Huge pfsync rewrite, OpenSMTPD 7.3.0p1 release, Running OpenBSD 7.3 on your laptop is really hard (not), and more</itunes:subtitle>
  <itunes:duration>46: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>&lt;p&gt;Linux and FreeBSD Firewalls Comparison Part 2, 27 Years with the Perfect OS, Top 20 OpenSSH Server Best Security Practices, Huge pfsync rewrite, OpenSMTPD 7.3.0p1 release, Running OpenBSD 7.3 on your laptop is really hard (not), and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-linux-and-freebsd-firewalls-part-2/" target="_blank" rel="nofollow noopener"&gt;Linux and FreeBSD Firewalls – The Ultimate Guide - Part 2&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://peter.czanik.hu/posts/freebsd-the-perfect-os/" target="_blank" rel="nofollow noopener"&gt;27 Years with the Perfect OS&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html" target="_blank" rel="nofollow noopener"&gt;Top 20 OpenSSH Server Best Security Practices&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=168732121711177&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;Huge pfsync rewrite&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.mail-archive.com/misc@opensmtpd.org/msg05909.html" target="_blank" rel="nofollow noopener"&gt;OpenSMTPD 7.3.0p1 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sohcahtoa.org.uk/openbsd.html" target="_blank" rel="nofollow noopener"&gt;Running OpenBSD 7.3 on your laptop is really hard (not)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/moul/quicssh" target="_blank" rel="nofollow noopener"&gt;QuicSSH&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, comparison, 27 years, perfect os, security practices, pfsync, opensmtpd, laptop </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Linux and FreeBSD Firewalls Comparison Part 2, 27 Years with the Perfect OS, Top 20 OpenSSH Server Best Security Practices, Huge pfsync rewrite, OpenSMTPD 7.3.0p1 release, Running OpenBSD 7.3 on your laptop is really hard (not), 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-linux-and-freebsd-firewalls-part-2/" target="_blank" rel="nofollow noopener">Linux and FreeBSD Firewalls – The Ultimate Guide - Part 2</a></h3>

<hr>

<h3><a href="https://peter.czanik.hu/posts/freebsd-the-perfect-os/" target="_blank" rel="nofollow noopener">27 Years with the Perfect OS</a></h3>

<hr>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html" target="_blank" rel="nofollow noopener">Top 20 OpenSSH Server Best Security Practices</a></h3>

<hr>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=168732121711177&amp;w=2" target="_blank" rel="nofollow noopener">Huge pfsync rewrite</a></h3>

<hr>

<h3><a href="https://www.mail-archive.com/misc@opensmtpd.org/msg05909.html" target="_blank" rel="nofollow noopener">OpenSMTPD 7.3.0p1 released</a></h3>

<hr>

<h3><a href="https://sohcahtoa.org.uk/openbsd.html" target="_blank" rel="nofollow noopener">Running OpenBSD 7.3 on your laptop is really hard (not)</a></h3>

<hr>

<h3><a href="https://github.com/moul/quicssh" target="_blank" rel="nofollow noopener">QuicSSH</a></h3>

<hr>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Linux and FreeBSD Firewalls Comparison Part 2, 27 Years with the Perfect OS, Top 20 OpenSSH Server Best Security Practices, Huge pfsync rewrite, OpenSMTPD 7.3.0p1 release, Running OpenBSD 7.3 on your laptop is really hard (not), 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-linux-and-freebsd-firewalls-part-2/" target="_blank" rel="nofollow noopener">Linux and FreeBSD Firewalls – The Ultimate Guide - Part 2</a></h3>

<hr>

<h3><a href="https://peter.czanik.hu/posts/freebsd-the-perfect-os/" target="_blank" rel="nofollow noopener">27 Years with the Perfect OS</a></h3>

<hr>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html" target="_blank" rel="nofollow noopener">Top 20 OpenSSH Server Best Security Practices</a></h3>

<hr>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=168732121711177&amp;w=2" target="_blank" rel="nofollow noopener">Huge pfsync rewrite</a></h3>

<hr>

<h3><a href="https://www.mail-archive.com/misc@opensmtpd.org/msg05909.html" target="_blank" rel="nofollow noopener">OpenSMTPD 7.3.0p1 released</a></h3>

<hr>

<h3><a href="https://sohcahtoa.org.uk/openbsd.html" target="_blank" rel="nofollow noopener">Running OpenBSD 7.3 on your laptop is really hard (not)</a></h3>

<hr>

<h3><a href="https://github.com/moul/quicssh" target="_blank" rel="nofollow noopener">QuicSSH</a></h3>

<hr>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>516: Computer Time Origins</title>
  <link>https://www.bsdnow.tv/516</link>
  <guid isPermaLink="false">c8e97371-fb6b-48dc-97fe-8de45cd0e49c</guid>
  <pubDate>Thu, 20 Jul 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c8e97371-fb6b-48dc-97fe-8de45cd0e49c.mp3" length="44272128" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Linux and FreeBSD Firewalls Part 1, Why Netflix Chose NGINX as the Heart of Its CDN, Protect your web servers against PHP shells and malwares, Installing and running Gitlab howto, and more</itunes:subtitle>
  <itunes:duration>46:07</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>&lt;p&gt;Linux and FreeBSD Firewalls Part 1, Why Netflix Chose NGINX as the Heart of Its CDN, Protect your web servers against PHP shells and malwares, Installing and running Gitlab howto, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-linux-and-freebsd-firewalls/" target="_blank" rel="nofollow noopener"&gt;Linux vs. FreeBSD : Linux and FreeBSD Firewalls – The Ultimate Guide : Part 1&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.nginx.com/blog/why-netflix-chose-nginx-as-the-heart-of-its-cdn/" target="_blank" rel="nofollow noopener"&gt;Why Netflix Chose NGINX as the Heart of Its CDN&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://ozgurkazancci.com/freebsd-protect-your-web-server-against-php-shells-and-malwares/" target="_blank" rel="nofollow noopener"&gt;FreeBSD: Protect your web servers against PHP shells and malwares&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://forums.FreeBSD.org/threads/howto-installing-and-running-gitlab.89436/" target="_blank" rel="nofollow noopener"&gt;HowTo: Installing and running Gitlab&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [World built in 36 hours on a Pentium 4!](https://www.reddit.com/r/freebsd/comments/13undl9/world_built_in_36_hours_on_a_pentium_4/)
• [Fart init](https://x61.sh/log/2023/05/23052023153621-fart-init.html](https://x61.sh/log/2023/05/23052023153621-fart-init.html)
• [Organized Freebies](https://mwl.io/archives/22832)
• [OpenSMTPD 7.3.0p0 released](http://undeadly.org/cgi?action=article;sid=20230617111340)
• [shutdown/reboot now require membership of group _shutdown](http://undeadly.org/cgi?action=article;sid=20230620064255)
• [Where does my computer get the time from?](https://dotat.at/@/2023-05-26-whence-time.html)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/515/feedback/sam%20-%20fav%20episodes.md" target="_blank" rel="nofollow noopener"&gt;sam - fav episodes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, firewalls, comparison, time, system clock, web server, php shell, malware, netflix, nginx, cdn, gitlab</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Linux and FreeBSD Firewalls Part 1, Why Netflix Chose NGINX as the Heart of Its CDN, Protect your web servers against PHP shells and malwares, Installing and running Gitlab howto, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-linux-and-freebsd-firewalls/" target="_blank" rel="nofollow noopener">Linux vs. FreeBSD : Linux and FreeBSD Firewalls – The Ultimate Guide : Part 1</a></h3>

<hr>

<h3><a href="https://www.nginx.com/blog/why-netflix-chose-nginx-as-the-heart-of-its-cdn/" target="_blank" rel="nofollow noopener">Why Netflix Chose NGINX as the Heart of Its CDN</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://ozgurkazancci.com/freebsd-protect-your-web-server-against-php-shells-and-malwares/" target="_blank" rel="nofollow noopener">FreeBSD: Protect your web servers against PHP shells and malwares</a></h3>

<hr>

<h3><a href="https://forums.FreeBSD.org/threads/howto-installing-and-running-gitlab.89436/" target="_blank" rel="nofollow noopener">HowTo: Installing and running Gitlab</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [World built in 36 hours on a Pentium 4!](https://www.reddit.com/r/freebsd/comments/13undl9/world_built_in_36_hours_on_a_pentium_4/)
• [Fart init](https://x61.sh/log/2023/05/23052023153621-fart-init.html](https://x61.sh/log/2023/05/23052023153621-fart-init.html)
• [Organized Freebies](https://mwl.io/archives/22832)
• [OpenSMTPD 7.3.0p0 released](http://undeadly.org/cgi?action=article;sid=20230617111340)
• [shutdown/reboot now require membership of group _shutdown](http://undeadly.org/cgi?action=article;sid=20230620064255)
• [Where does my computer get the time from?](https://dotat.at/@/2023-05-26-whence-time.html)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/515/feedback/sam%20-%20fav%20episodes.md" target="_blank" rel="nofollow noopener">sam - fav episodes</a></li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Linux and FreeBSD Firewalls Part 1, Why Netflix Chose NGINX as the Heart of Its CDN, Protect your web servers against PHP shells and malwares, Installing and running Gitlab howto, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-linux-and-freebsd-firewalls/" target="_blank" rel="nofollow noopener">Linux vs. FreeBSD : Linux and FreeBSD Firewalls – The Ultimate Guide : Part 1</a></h3>

<hr>

<h3><a href="https://www.nginx.com/blog/why-netflix-chose-nginx-as-the-heart-of-its-cdn/" target="_blank" rel="nofollow noopener">Why Netflix Chose NGINX as the Heart of Its CDN</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://ozgurkazancci.com/freebsd-protect-your-web-server-against-php-shells-and-malwares/" target="_blank" rel="nofollow noopener">FreeBSD: Protect your web servers against PHP shells and malwares</a></h3>

<hr>

<h3><a href="https://forums.FreeBSD.org/threads/howto-installing-and-running-gitlab.89436/" target="_blank" rel="nofollow noopener">HowTo: Installing and running Gitlab</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [World built in 36 hours on a Pentium 4!](https://www.reddit.com/r/freebsd/comments/13undl9/world_built_in_36_hours_on_a_pentium_4/)
• [Fart init](https://x61.sh/log/2023/05/23052023153621-fart-init.html](https://x61.sh/log/2023/05/23052023153621-fart-init.html)
• [Organized Freebies](https://mwl.io/archives/22832)
• [OpenSMTPD 7.3.0p0 released](http://undeadly.org/cgi?action=article;sid=20230617111340)
• [shutdown/reboot now require membership of group _shutdown](http://undeadly.org/cgi?action=article;sid=20230620064255)
• [Where does my computer get the time from?](https://dotat.at/@/2023-05-26-whence-time.html)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/515/feedback/sam%20-%20fav%20episodes.md" target="_blank" rel="nofollow noopener">sam - fav episodes</a></li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>515: ChatGPT writing pf.conf</title>
  <link>https://www.bsdnow.tv/515</link>
  <guid isPermaLink="false">cfdb4845-82f8-4698-8b0a-0eddc33e66a8</guid>
  <pubDate>Thu, 13 Jul 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/cfdb4845-82f8-4698-8b0a-0eddc33e66a8.mp3" length="38652288" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD or Linux – A Choice Without OS Wars, The Computer Scientist Who Can’t Stop Telling Stories, ChatGPT was asked to write a pf.conf to spec, GhostBSD 23.06.1 is now available, OPNsense 23.1.9 released, Running VSCode in Chromium on OpenBSD, and more</itunes:subtitle>
  <itunes:duration>40:15</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>&lt;p&gt;FreeBSD or Linux – A Choice Without OS Wars, The Computer Scientist Who Can’t Stop Telling Stories, ChatGPT was asked to write a pf.conf to spec, GhostBSD 23.06.1 is now available, OPNsense 23.1.9 released, Running VSCode in Chromium on OpenBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/choosing-between-freebsd-and-linux-a-choice-without-os-wars/" target="_blank" rel="nofollow noopener"&gt;Linux vs. FreeBSD : FreeBSD or Linux – A Choice Without OS Wars&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.quantamagazine.org/computer-scientist-donald-knuth-cant-stop-telling-stories-20200416/" target="_blank" rel="nofollow noopener"&gt;The Computer Scientist Who Can’t Stop Telling Stories&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsdly.blogspot.com/2023/06/i-asked-chatgpt-to-write-pfconf-to-spec.html" target="_blank" rel="nofollow noopener"&gt;I asked ChatGPT to write a pf.conf to spec, 2023-06-07 version&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://ghostbsd.org/23.06.01_iso_is_now_available" target="_blank" rel="nofollow noopener"&gt;GhostBSD 23.06.1 is now available&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://forum.opnsense.org/index.php?topic=34282.0" target="_blank" rel="nofollow noopener"&gt;OPNsense 23.1.9 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bt.ht/vscode/" target="_blank" rel="nofollow noopener"&gt;Running VSCode in Chromium on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tuhs.org/pipermail/coff/2023-May/001556.html" target="_blank" rel="nofollow noopener"&gt;COFF: Bell Labs vs "East Coast" Management style of AT&amp;amp;T&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/515/feedback/Matt%20-%20Wiregaurd.md" target="_blank" rel="nofollow noopener"&gt;Matt - Wireguard&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/515/feedback/Oscar%20-%20ISC.md" target="_blank" rel="nofollow noopener"&gt;Oscar - ISC.md&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, Linux, os wars, story telling, computer scientist, chatgpt, pf.conf, packet filter, ghostbsd 23.06.01, opnsense 23.1.9, vscode, visual studio code, chromium</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD or Linux – A Choice Without OS Wars, The Computer Scientist Who Can’t Stop Telling Stories, ChatGPT was asked to write a pf.conf to spec, GhostBSD 23.06.1 is now available, OPNsense 23.1.9 released, Running VSCode in Chromium on OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/choosing-between-freebsd-and-linux-a-choice-without-os-wars/" target="_blank" rel="nofollow noopener">Linux vs. FreeBSD : FreeBSD or Linux – A Choice Without OS Wars</a></h3>

<hr>

<h3><a href="https://www.quantamagazine.org/computer-scientist-donald-knuth-cant-stop-telling-stories-20200416/" target="_blank" rel="nofollow noopener">The Computer Scientist Who Can’t Stop Telling Stories</a></h3>

<hr>

<h3><a href="https://bsdly.blogspot.com/2023/06/i-asked-chatgpt-to-write-pfconf-to-spec.html" target="_blank" rel="nofollow noopener">I asked ChatGPT to write a pf.conf to spec, 2023-06-07 version</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://ghostbsd.org/23.06.01_iso_is_now_available" target="_blank" rel="nofollow noopener">GhostBSD 23.06.1 is now available</a></h3>

<hr>

<h3><a href="https://forum.opnsense.org/index.php?topic=34282.0" target="_blank" rel="nofollow noopener">OPNsense 23.1.9 released</a></h3>

<hr>

<h3><a href="https://bt.ht/vscode/" target="_blank" rel="nofollow noopener">Running VSCode in Chromium on OpenBSD</a></h3>

<hr>

<h3><a href="https://www.tuhs.org/pipermail/coff/2023-May/001556.html" target="_blank" rel="nofollow noopener">COFF: Bell Labs vs "East Coast" Management style of AT&amp;T</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/515/feedback/Matt%20-%20Wiregaurd.md" target="_blank" rel="nofollow noopener">Matt - Wireguard</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/515/feedback/Oscar%20-%20ISC.md" target="_blank" rel="nofollow noopener">Oscar - ISC.md</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD or Linux – A Choice Without OS Wars, The Computer Scientist Who Can’t Stop Telling Stories, ChatGPT was asked to write a pf.conf to spec, GhostBSD 23.06.1 is now available, OPNsense 23.1.9 released, Running VSCode in Chromium on OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/choosing-between-freebsd-and-linux-a-choice-without-os-wars/" target="_blank" rel="nofollow noopener">Linux vs. FreeBSD : FreeBSD or Linux – A Choice Without OS Wars</a></h3>

<hr>

<h3><a href="https://www.quantamagazine.org/computer-scientist-donald-knuth-cant-stop-telling-stories-20200416/" target="_blank" rel="nofollow noopener">The Computer Scientist Who Can’t Stop Telling Stories</a></h3>

<hr>

<h3><a href="https://bsdly.blogspot.com/2023/06/i-asked-chatgpt-to-write-pfconf-to-spec.html" target="_blank" rel="nofollow noopener">I asked ChatGPT to write a pf.conf to spec, 2023-06-07 version</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://ghostbsd.org/23.06.01_iso_is_now_available" target="_blank" rel="nofollow noopener">GhostBSD 23.06.1 is now available</a></h3>

<hr>

<h3><a href="https://forum.opnsense.org/index.php?topic=34282.0" target="_blank" rel="nofollow noopener">OPNsense 23.1.9 released</a></h3>

<hr>

<h3><a href="https://bt.ht/vscode/" target="_blank" rel="nofollow noopener">Running VSCode in Chromium on OpenBSD</a></h3>

<hr>

<h3><a href="https://www.tuhs.org/pipermail/coff/2023-May/001556.html" target="_blank" rel="nofollow noopener">COFF: Bell Labs vs "East Coast" Management style of AT&amp;T</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/515/feedback/Matt%20-%20Wiregaurd.md" target="_blank" rel="nofollow noopener">Matt - Wireguard</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/515/feedback/Oscar%20-%20ISC.md" target="_blank" rel="nofollow noopener">Oscar - ISC.md</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>514: Infecting Public Keys</title>
  <link>https://www.bsdnow.tv/514</link>
  <guid isPermaLink="false">1ad867e2-c191-48e0-88e0-8c42831d40c7</guid>
  <pubDate>Thu, 06 Jul 2023 06:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/1ad867e2-c191-48e0-88e0-8c42831d40c7.mp3" length="46575744" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenZFS, Your Data and the Challenge of Ransomware, I Didn’t Learn Unix By Reading All The Manpages, I try to answer "how to become a systems engineer", Writing shell scripts in Nushell, Sudo and signal propagation, infecting SSH Public Keys with backdoors, OpenBSD Thinkpad, and more</itunes:subtitle>
  <itunes:duration>48:30</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>&lt;p&gt;OpenZFS, Your Data and the Challenge of Ransomware, I Didn’t Learn Unix By Reading All The Manpages, I try to answer "how to become a systems engineer", Writing shell scripts in Nushell, Sudo and signal propagation, infecting SSH Public Keys with backdoors, OpenBSD Thinkpad, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-openzfs-your-data-and-the-challenge-of-ransomware/" target="_blank" rel="nofollow noopener"&gt;OpenZFS, Your Data and the Challenge of Ransomware&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.owlfolio.org/research/i-didnt-learn-unix-by-reading-all-the-manpages/" target="_blank" rel="nofollow noopener"&gt;I Didn’t Learn Unix By Reading All The Manpages&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://rachelbythebay.com/w/2023/05/30/eng/" target="_blank" rel="nofollow noopener"&gt;Feedback: I try to answer "how to become a systems engineer"&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://jpospisil.com/2023/05/25/writing-shell-scripts-in-nushell" target="_blank" rel="nofollow noopener"&gt;Writing shell scripts in Nushell&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dxuuu.xyz/sudo.html" target="_blank" rel="nofollow noopener"&gt;Sudo and signal propagation&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.thc.org/infecting-ssh-public-keys-with-backdoors" target="_blank" rel="nofollow noopener"&gt;Infecting SSH Public Keys with backdoors&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://douglasrumbaugh.com/post/openbsd-thinkpad-good/" target="_blank" rel="nofollow noopener"&gt;OpenBSD Thinkpad&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, ransomware, snapshot, rollback, man pages, systems engineer, nushell, shell script, signal propagation, sudo, public key, backdoor, thinkpad</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenZFS, Your Data and the Challenge of Ransomware, I Didn’t Learn Unix By Reading All The Manpages, I try to answer "how to become a systems engineer", Writing shell scripts in Nushell, Sudo and signal propagation, infecting SSH Public Keys with backdoors, OpenBSD Thinkpad, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-openzfs-your-data-and-the-challenge-of-ransomware/" target="_blank" rel="nofollow noopener">OpenZFS, Your Data and the Challenge of Ransomware</a></h3>

<hr>

<h3><a href="https://www.owlfolio.org/research/i-didnt-learn-unix-by-reading-all-the-manpages/" target="_blank" rel="nofollow noopener">I Didn’t Learn Unix By Reading All The Manpages</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://rachelbythebay.com/w/2023/05/30/eng/" target="_blank" rel="nofollow noopener">Feedback: I try to answer "how to become a systems engineer"</a></h3>

<hr>

<h3><a href="https://jpospisil.com/2023/05/25/writing-shell-scripts-in-nushell" target="_blank" rel="nofollow noopener">Writing shell scripts in Nushell</a></h3>

<hr>

<h3><a href="https://dxuuu.xyz/sudo.html" target="_blank" rel="nofollow noopener">Sudo and signal propagation</a></h3>

<hr>

<h3><a href="https://blog.thc.org/infecting-ssh-public-keys-with-backdoors" target="_blank" rel="nofollow noopener">Infecting SSH Public Keys with backdoors</a></h3>

<hr>

<h3><a href="https://douglasrumbaugh.com/post/openbsd-thinkpad-good/" target="_blank" rel="nofollow noopener">OpenBSD Thinkpad</a></h3>

<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>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenZFS, Your Data and the Challenge of Ransomware, I Didn’t Learn Unix By Reading All The Manpages, I try to answer "how to become a systems engineer", Writing shell scripts in Nushell, Sudo and signal propagation, infecting SSH Public Keys with backdoors, OpenBSD Thinkpad, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-openzfs-your-data-and-the-challenge-of-ransomware/" target="_blank" rel="nofollow noopener">OpenZFS, Your Data and the Challenge of Ransomware</a></h3>

<hr>

<h3><a href="https://www.owlfolio.org/research/i-didnt-learn-unix-by-reading-all-the-manpages/" target="_blank" rel="nofollow noopener">I Didn’t Learn Unix By Reading All The Manpages</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://rachelbythebay.com/w/2023/05/30/eng/" target="_blank" rel="nofollow noopener">Feedback: I try to answer "how to become a systems engineer"</a></h3>

<hr>

<h3><a href="https://jpospisil.com/2023/05/25/writing-shell-scripts-in-nushell" target="_blank" rel="nofollow noopener">Writing shell scripts in Nushell</a></h3>

<hr>

<h3><a href="https://dxuuu.xyz/sudo.html" target="_blank" rel="nofollow noopener">Sudo and signal propagation</a></h3>

<hr>

<h3><a href="https://blog.thc.org/infecting-ssh-public-keys-with-backdoors" target="_blank" rel="nofollow noopener">Infecting SSH Public Keys with backdoors</a></h3>

<hr>

<h3><a href="https://douglasrumbaugh.com/post/openbsd-thinkpad-good/" target="_blank" rel="nofollow noopener">OpenBSD Thinkpad</a></h3>

<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>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>513: New Host Interview</title>
  <link>https://www.bsdnow.tv/513</link>
  <guid isPermaLink="false">46ee8a53-e46a-4e48-a99e-bb347c35e8e0</guid>
  <pubDate>Thu, 29 Jun 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/46ee8a53-e46a-4e48-a99e-bb347c35e8e0.mp3" length="51267072" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We have a new show host, Understanding ZFS vdev Types, Don't abuse su for dropping user privileges, Dynamic Tracing on OpenBSD 7.3, new Libressl, Manual Jails on FreeBSD 12, and more</itunes:subtitle>
  <itunes:duration>53:24</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>&lt;p&gt;We have a new show host, Understanding ZFS vdev Types, Don't abuse su for dropping user privileges, Dynamic Tracing on OpenBSD 7.3, new Libressl, Manual Jails on FreeBSD 12, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Host Introductions - Jason Tubnor - &lt;a href="https://www.tubsta.com" target="_blank" rel="nofollow noopener"&gt;https://www.tubsta.com&lt;/a&gt; / &lt;a href="https://twitter.com/tubsta" target="_blank" rel="nofollow noopener"&gt;@tubsta&lt;/a&gt; / &lt;a href="https://soc.feditime.com" target="_blank" rel="nofollow noopener"&gt;@Tubsta@soc.feditime.com&lt;/a&gt;&lt;/h2&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-understanding-zfs-vdev-types/" target="_blank" rel="nofollow noopener"&gt;Understanding ZFS vdev Types&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://jdebp.uk/FGA/dont-abuse-su-for-dropping-privileges.html" target="_blank" rel="nofollow noopener"&gt;Don't abuse su for dropping user privileges&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.lambda.cx/posts/openbsd-dynamic-tracing/" target="_blank" rel="nofollow noopener"&gt;Dynamic Tracing on OpenBSD 7.3&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20230528115900" target="_blank" rel="nofollow noopener"&gt;new Libressl&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://ogris.de/howtos/freebsd-jails.html" target="_blank" rel="nofollow noopener"&gt;Manual Jails on FreeBSD 12&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/513/feedback/Chris%20-%20questions.md" target="_blank" rel="nofollow noopener"&gt;Chris - questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/513/feedback/Dan%20-%20zfs%20questions.md" target="_blank" rel="nofollow noopener"&gt;Dan - zfs questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/513/feedback/Pablo%20-%20Jail%20question.md" target="_blank" rel="nofollow noopener"&gt;Pablo - Jail question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, vdev types, dropping privileges, dtrace, dynamic tracing, process tracing, libressl</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We have a new show host, Understanding ZFS vdev Types, Don't abuse su for dropping user privileges, Dynamic Tracing on OpenBSD 7.3, new Libressl, Manual Jails on FreeBSD 12, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Host Introductions - Jason Tubnor - <a href="https://www.tubsta.com" target="_blank" rel="nofollow noopener">https://www.tubsta.com</a> / <a href="https://twitter.com/tubsta" target="_blank" rel="nofollow noopener">@tubsta</a> / <a href="https://soc.feditime.com" target="_blank" rel="nofollow noopener">@Tubsta@soc.feditime.com</a></h2>

<hr>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-understanding-zfs-vdev-types/" target="_blank" rel="nofollow noopener">Understanding ZFS vdev Types</a></h3>

<hr>

<h3><a href="https://jdebp.uk/FGA/dont-abuse-su-for-dropping-privileges.html" target="_blank" rel="nofollow noopener">Don't abuse su for dropping user privileges</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.lambda.cx/posts/openbsd-dynamic-tracing/" target="_blank" rel="nofollow noopener">Dynamic Tracing on OpenBSD 7.3</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20230528115900" target="_blank" rel="nofollow noopener">new Libressl</a></h3>

<hr>

<h3><a href="https://ogris.de/howtos/freebsd-jails.html" target="_blank" rel="nofollow noopener">Manual Jails on FreeBSD 12</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/513/feedback/Chris%20-%20questions.md" target="_blank" rel="nofollow noopener">Chris - questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/513/feedback/Dan%20-%20zfs%20questions.md" target="_blank" rel="nofollow noopener">Dan - zfs questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/513/feedback/Pablo%20-%20Jail%20question.md" target="_blank" rel="nofollow noopener">Pablo - Jail question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We have a new show host, Understanding ZFS vdev Types, Don't abuse su for dropping user privileges, Dynamic Tracing on OpenBSD 7.3, new Libressl, Manual Jails on FreeBSD 12, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Host Introductions - Jason Tubnor - <a href="https://www.tubsta.com" target="_blank" rel="nofollow noopener">https://www.tubsta.com</a> / <a href="https://twitter.com/tubsta" target="_blank" rel="nofollow noopener">@tubsta</a> / <a href="https://soc.feditime.com" target="_blank" rel="nofollow noopener">@Tubsta@soc.feditime.com</a></h2>

<hr>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-understanding-zfs-vdev-types/" target="_blank" rel="nofollow noopener">Understanding ZFS vdev Types</a></h3>

<hr>

<h3><a href="https://jdebp.uk/FGA/dont-abuse-su-for-dropping-privileges.html" target="_blank" rel="nofollow noopener">Don't abuse su for dropping user privileges</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.lambda.cx/posts/openbsd-dynamic-tracing/" target="_blank" rel="nofollow noopener">Dynamic Tracing on OpenBSD 7.3</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20230528115900" target="_blank" rel="nofollow noopener">new Libressl</a></h3>

<hr>

<h3><a href="https://ogris.de/howtos/freebsd-jails.html" target="_blank" rel="nofollow noopener">Manual Jails on FreeBSD 12</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/513/feedback/Chris%20-%20questions.md" target="_blank" rel="nofollow noopener">Chris - questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/513/feedback/Dan%20-%20zfs%20questions.md" target="_blank" rel="nofollow noopener">Dan - zfs questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/513/feedback/Pablo%20-%20Jail%20question.md" target="_blank" rel="nofollow noopener">Pablo - Jail question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>512: BSDNow Live! 9 bits of BSDNow - Just speak into the goat</title>
  <link>https://www.bsdnow.tv/512</link>
  <guid isPermaLink="false">0c162628-7d5f-4c53-9637-be1b27ddafe2</guid>
  <pubDate>Thu, 22 Jun 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/0c162628-7d5f-4c53-9637-be1b27ddafe2.mp3" length="38973696" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Recorded at BSDCan 2023</itunes:subtitle>
  <itunes:duration>40:35</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>&lt;p&gt;Recorded at BSDCan 2023&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;BSDNow - The early years&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;BSDNow - Production Process&lt;/h2&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;FreeBSD Devsummit&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;BSDCan&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt; How you can help the show!&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Corey asks - what is the status of netbsd 10?&lt;/li&gt;
&lt;li&gt;How have things changed in the bsds over the history of the show?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Announcement&lt;/h2&gt;

&lt;p&gt;As a final thing Allan would like to make an announcement:&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/h2&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Recorded at BSDCan 2023</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3>BSDNow - The early years</h3>

<hr>

<h2>BSDNow - Production Process</h2>

<hr>

<h2>News Roundup</h2>

<h3>FreeBSD Devsummit</h3>

<hr>

<h3>BSDCan</h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li> How you can help the show!</li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Corey asks - what is the status of netbsd 10?</li>
<li>How have things changed in the bsds over the history of the show?</li>
</ul>

<h2>Announcement</h2>

<p>As a final thing Allan would like to make an announcement:</p>

<hr>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Recorded at BSDCan 2023</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3>BSDNow - The early years</h3>

<hr>

<h2>BSDNow - Production Process</h2>

<hr>

<h2>News Roundup</h2>

<h3>FreeBSD Devsummit</h3>

<hr>

<h3>BSDCan</h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li> How you can help the show!</li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Corey asks - what is the status of netbsd 10?</li>
<li>How have things changed in the bsds over the history of the show?</li>
</ul>

<h2>Announcement</h2>

<p>As a final thing Allan would like to make an announcement:</p>

<hr>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>511: Against Innovation</title>
  <link>https://www.bsdnow.tv/511</link>
  <guid isPermaLink="false">6b99d11c-2ee7-450e-8446-d0ceed9be7b1</guid>
  <pubDate>Thu, 15 Jun 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6b99d11c-2ee7-450e-8446-d0ceed9be7b1.mp3" length="48869760" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Sun Ray laptops, MIPS and getting root on them, OpenZFS for HPC Clusters, Self-Hosted Bookmarks using DAV and httpd on OpenBSD, Terraform + Proxmox + OpenBSD = &lt;3, WOL Plex Server, Against innovation, and more</itunes:subtitle>
  <itunes:duration>50:54</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>&lt;p&gt;Sun Ray laptops, MIPS and getting root on them, OpenZFS for HPC Clusters, Self-Hosted Bookmarks using DAV and httpd on OpenBSD, Terraform + Proxmox + OpenBSD = &amp;lt;3, WOL Plex Server, Against innovation, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://oldvcr.blogspot.com/2023/04/of-sun-ray-laptops-mips-and-getting.html" target="_blank" rel="nofollow noopener"&gt;Of Sun Ray laptops, MIPS and getting root on them&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-openzfs-for-hpc-clusters/" target="_blank" rel="nofollow noopener"&gt;OpenZFS for HPC Clusters&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/2023/self-hosted-bookmarks-using-dav-and-httpd-on-openbsd/" target="_blank" rel="nofollow noopener"&gt;Self-Hosted Bookmarks using DAV and httpd on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://x61.sh/log/2023/05/19052023172439-terraform_proxmox_openbsd.html" target="_blank" rel="nofollow noopener"&gt;Terraform + Proxmox + OpenBSD = &amp;lt;3&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://maximiliangolla.com/blog/2022-10-wol-plex-server/" target="_blank" rel="nofollow noopener"&gt;WOL Plex Server&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dadadrummer.substack.com/p/against-innovation" target="_blank" rel="nofollow noopener"&gt;Against Innovation&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, Sun ray, laptop, MIPS, root, HPC, high performance computing, clusters, self-hosted, bookmarks, dav, httpd, terraform, proxmox, wol, plex, innovation</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Sun Ray laptops, MIPS and getting root on them, OpenZFS for HPC Clusters, Self-Hosted Bookmarks using DAV and httpd on OpenBSD, Terraform + Proxmox + OpenBSD = &lt;3, WOL Plex Server, Against innovation, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://oldvcr.blogspot.com/2023/04/of-sun-ray-laptops-mips-and-getting.html" target="_blank" rel="nofollow noopener">Of Sun Ray laptops, MIPS and getting root on them</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/openzfs-openzfs-for-hpc-clusters/" target="_blank" rel="nofollow noopener">OpenZFS for HPC Clusters</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.tumfatig.net/2023/self-hosted-bookmarks-using-dav-and-httpd-on-openbsd/" target="_blank" rel="nofollow noopener">Self-Hosted Bookmarks using DAV and httpd on OpenBSD</a></h3>

<hr>

<h3><a href="https://x61.sh/log/2023/05/19052023172439-terraform_proxmox_openbsd.html" target="_blank" rel="nofollow noopener">Terraform + Proxmox + OpenBSD = &lt;3</a></h3>

<hr>

<h3><a href="https://maximiliangolla.com/blog/2022-10-wol-plex-server/" target="_blank" rel="nofollow noopener">WOL Plex Server</a></h3>

<hr>

<h3><a href="https://dadadrummer.substack.com/p/against-innovation" target="_blank" rel="nofollow noopener">Against Innovation</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Sun Ray laptops, MIPS and getting root on them, OpenZFS for HPC Clusters, Self-Hosted Bookmarks using DAV and httpd on OpenBSD, Terraform + Proxmox + OpenBSD = &lt;3, WOL Plex Server, Against innovation, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://oldvcr.blogspot.com/2023/04/of-sun-ray-laptops-mips-and-getting.html" target="_blank" rel="nofollow noopener">Of Sun Ray laptops, MIPS and getting root on them</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/openzfs-openzfs-for-hpc-clusters/" target="_blank" rel="nofollow noopener">OpenZFS for HPC Clusters</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.tumfatig.net/2023/self-hosted-bookmarks-using-dav-and-httpd-on-openbsd/" target="_blank" rel="nofollow noopener">Self-Hosted Bookmarks using DAV and httpd on OpenBSD</a></h3>

<hr>

<h3><a href="https://x61.sh/log/2023/05/19052023172439-terraform_proxmox_openbsd.html" target="_blank" rel="nofollow noopener">Terraform + Proxmox + OpenBSD = &lt;3</a></h3>

<hr>

<h3><a href="https://maximiliangolla.com/blog/2022-10-wol-plex-server/" target="_blank" rel="nofollow noopener">WOL Plex Server</a></h3>

<hr>

<h3><a href="https://dadadrummer.substack.com/p/against-innovation" target="_blank" rel="nofollow noopener">Against Innovation</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>510: The BSD Slabtop</title>
  <link>https://www.bsdnow.tv/510</link>
  <guid isPermaLink="false">41751de6-aa32-4cde-8fde-ea62d98b6a4d</guid>
  <pubDate>Thu, 08 Jun 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/41751de6-aa32-4cde-8fde-ea62d98b6a4d.mp3" length="44800896" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>AsiaBSDCon 2023 Trip Report, Converting My X201 ThinkPad into a Slabtop, Stream your OpenBSD desktop audio to other devices, The Gnome and Its "Secret Place", ttyload, and more</itunes:subtitle>
  <itunes:duration>46:40</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>&lt;p&gt;AsiaBSDCon 2023 Trip Report, Converting My X201 ThinkPad into a Slabtop, Stream your OpenBSD desktop audio to other devices, The Gnome and Its "Secret Place", ttyload, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/asiabsdcon-2023-trip-report/" target="_blank" rel="nofollow noopener"&gt;AsiaBSDCon 2023 Trip Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bt.ht/slabtop/" target="_blank" rel="nofollow noopener"&gt;Converting My X201 ThinkPad into a Slabtop&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-05-05-openbsd-sound-streaming.html" target="_blank" rel="nofollow noopener"&gt;Stream your OpenBSD desktop audio to other devices&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tuhs.org/pipermail/tuhs/2023-May/028363.html" target="_blank" rel="nofollow noopener"&gt;The Gnome and Its "Secret Place"&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cyberciti.biz/open-source/command-line-hacks/ttyload-color-coded-graphical-tracking-tool-for-unixlinux-load-average-in-a-terminal/" target="_blank" rel="nofollow noopener"&gt;ttyload - Linux/Unix color-coded graphical tracking tool for load average in a terminal&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [OpenIndiana with a Sun Microsystems 22" LCD monitor. Running on a 1.8GHz quad core AMD Phenom 9100e processor, 4Gb RAM, nVidia GEForce GT630.](https://www.reddit.com/r/unix/comments/13otjnt/openindiana_with_a_sun_microsystems_22_lcd/)
• [cron(8) now supports random ranges with steps](https://www.undeadly.org/cgi?action=article;sid=20230507122935&amp;amp;utm_source=bsdweekly)
• [BSDCan 2024 Reorganization](https://mwl.io/archives/22799)
• [Depenguin me](https://depenguin.me/)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, asiabsdcon, trip report, Thinkpad, X201, slabtop, stream, audio, desktop, gnome, ttyload</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>AsiaBSDCon 2023 Trip Report, Converting My X201 ThinkPad into a Slabtop, Stream your OpenBSD desktop audio to other devices, The Gnome and Its "Secret Place", ttyload, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/asiabsdcon-2023-trip-report/" target="_blank" rel="nofollow noopener">AsiaBSDCon 2023 Trip Report</a></h3>

<hr>

<h3><a href="https://bt.ht/slabtop/" target="_blank" rel="nofollow noopener">Converting My X201 ThinkPad into a Slabtop</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-05-05-openbsd-sound-streaming.html" target="_blank" rel="nofollow noopener">Stream your OpenBSD desktop audio to other devices</a></h3>

<hr>

<h3><a href="https://www.tuhs.org/pipermail/tuhs/2023-May/028363.html" target="_blank" rel="nofollow noopener">The Gnome and Its "Secret Place"</a></h3>

<hr>

<h3><a href="https://www.cyberciti.biz/open-source/command-line-hacks/ttyload-color-coded-graphical-tracking-tool-for-unixlinux-load-average-in-a-terminal/" target="_blank" rel="nofollow noopener">ttyload - Linux/Unix color-coded graphical tracking tool for load average in a terminal</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [OpenIndiana with a Sun Microsystems 22" LCD monitor. Running on a 1.8GHz quad core AMD Phenom 9100e processor, 4Gb RAM, nVidia GEForce GT630.](https://www.reddit.com/r/unix/comments/13otjnt/openindiana_with_a_sun_microsystems_22_lcd/)
• [cron(8) now supports random ranges with steps](https://www.undeadly.org/cgi?action=article;sid=20230507122935&amp;utm_source=bsdweekly)
• [BSDCan 2024 Reorganization](https://mwl.io/archives/22799)
• [Depenguin me](https://depenguin.me/)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>AsiaBSDCon 2023 Trip Report, Converting My X201 ThinkPad into a Slabtop, Stream your OpenBSD desktop audio to other devices, The Gnome and Its "Secret Place", ttyload, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/asiabsdcon-2023-trip-report/" target="_blank" rel="nofollow noopener">AsiaBSDCon 2023 Trip Report</a></h3>

<hr>

<h3><a href="https://bt.ht/slabtop/" target="_blank" rel="nofollow noopener">Converting My X201 ThinkPad into a Slabtop</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-05-05-openbsd-sound-streaming.html" target="_blank" rel="nofollow noopener">Stream your OpenBSD desktop audio to other devices</a></h3>

<hr>

<h3><a href="https://www.tuhs.org/pipermail/tuhs/2023-May/028363.html" target="_blank" rel="nofollow noopener">The Gnome and Its "Secret Place"</a></h3>

<hr>

<h3><a href="https://www.cyberciti.biz/open-source/command-line-hacks/ttyload-color-coded-graphical-tracking-tool-for-unixlinux-load-average-in-a-terminal/" target="_blank" rel="nofollow noopener">ttyload - Linux/Unix color-coded graphical tracking tool for load average in a terminal</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [OpenIndiana with a Sun Microsystems 22" LCD monitor. Running on a 1.8GHz quad core AMD Phenom 9100e processor, 4Gb RAM, nVidia GEForce GT630.](https://www.reddit.com/r/unix/comments/13otjnt/openindiana_with_a_sun_microsystems_22_lcd/)
• [cron(8) now supports random ranges with steps](https://www.undeadly.org/cgi?action=article;sid=20230507122935&amp;utm_source=bsdweekly)
• [BSDCan 2024 Reorganization](https://mwl.io/archives/22799)
• [Depenguin me](https://depenguin.me/)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>509: Dot File Naming</title>
  <link>https://www.bsdnow.tv/509</link>
  <guid isPermaLink="false">6676cfbb-7251-455d-846c-94eb3e6e5c32</guid>
  <pubDate>Thu, 01 Jun 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6676cfbb-7251-455d-846c-94eb3e6e5c32.mp3" length="39585792" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Leveraging OpenZFS to Build Your Own Storage Appliance, Install OpenBSD as a VM, Set up your own CalDAV and CardDAV servers on OpenBSD, display basic computer information using DMI table decoder, Gpart CheatSheet, Rob Pike on the Origin of Unix Dot File Names, and more</itunes:subtitle>
  <itunes:duration>41:14</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>&lt;p&gt;Leveraging OpenZFS to Build Your Own Storage Appliance, Install OpenBSD as a VM, Set up your own CalDAV and CardDAV servers on OpenBSD, display basic computer information using DMI table decoder, Gpart CheatSheet, Rob Pike on the Origin of Unix Dot File Names, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-leveraging-openzfs-to-build-your-own-storage-appliance/" target="_blank" rel="nofollow noopener"&gt;OpenZFS – Leveraging OpenZFS to Build Your Own Storage Appliance&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://byte-sized.de/linux-unix/openbsd-als-vm-installieren/#english" target="_blank" rel="nofollow noopener"&gt;Install OpenBSD as a VM&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2023-04-23-calendar-and-contacts-with-radicale.html" target="_blank" rel="nofollow noopener"&gt;Set up your own CalDAV and CardDAV servers on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sleeplessbeastie.eu/2023/03/31/how-to-display-basic-computer-information-using-dmi-table-decoder/" target="_blank" rel="nofollow noopener"&gt;How to display basic computer information using DMI table decoder&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://forums.FreeBSD.org/threads/gpart-cheatsheet-wiping-drives-partitioning-formating.45411" target="_blank" rel="nofollow noopener"&gt;Gpart CheatSheet - wiping drives, partitioning, &amp;amp; formating&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://xahlee.info/UnixResource_dir/writ/unix_origin_of_dot_filename.html" target="_blank" rel="nofollow noopener"&gt;Rob Pike on the Origin of Unix Dot File Names&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Hackerstations

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackerstations.com/setups/mike_mcquaid/" target="_blank" rel="nofollow noopener"&gt;Mike McQuaid's clean, ergonomic setup in Edinburgh, Scotland&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackerstations.com/setups/daniel_stenberg/" target="_blank" rel="nofollow noopener"&gt;Daniel Stenberg and the home of curl in Stockholm, Sweden&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20230421124221" target="_blank" rel="nofollow noopener"&gt;viogpu(4), a VirtIO GPU driver, added to -current&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20230505054214" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 8.0 released&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20230507122935" target="_blank" rel="nofollow noopener"&gt;cron(8) now supports random ranges with steps&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20230417074903" target="_blank" rel="nofollow noopener"&gt;malloc leak detection available in -current&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20230430051250" target="_blank" rel="nofollow noopener"&gt;vmd(8) moves to a multi-process model&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, storage appliance, virtual machine, vm, calDAV, cardDAV, dmi, decoder, gpart, cheatsheet, rob pike, dot file</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Leveraging OpenZFS to Build Your Own Storage Appliance, Install OpenBSD as a VM, Set up your own CalDAV and CardDAV servers on OpenBSD, display basic computer information using DMI table decoder, Gpart CheatSheet, Rob Pike on the Origin of Unix Dot File Names, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-leveraging-openzfs-to-build-your-own-storage-appliance/" target="_blank" rel="nofollow noopener">OpenZFS – Leveraging OpenZFS to Build Your Own Storage Appliance</a></h3>

<hr>

<h3><a href="https://byte-sized.de/linux-unix/openbsd-als-vm-installieren/#english" target="_blank" rel="nofollow noopener">Install OpenBSD as a VM</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-04-23-calendar-and-contacts-with-radicale.html" target="_blank" rel="nofollow noopener">Set up your own CalDAV and CardDAV servers on OpenBSD</a></h3>

<hr>

<h3><a href="https://sleeplessbeastie.eu/2023/03/31/how-to-display-basic-computer-information-using-dmi-table-decoder/" target="_blank" rel="nofollow noopener">How to display basic computer information using DMI table decoder</a></h3>

<hr>

<h3><a href="https://forums.FreeBSD.org/threads/gpart-cheatsheet-wiping-drives-partitioning-formating.45411" target="_blank" rel="nofollow noopener">Gpart CheatSheet - wiping drives, partitioning, &amp; formating</a></h3>

<hr>

<h3><a href="http://xahlee.info/UnixResource_dir/writ/unix_origin_of_dot_filename.html" target="_blank" rel="nofollow noopener">Rob Pike on the Origin of Unix Dot File Names</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li>Hackerstations

<ul>
<li><a href="https://hackerstations.com/setups/mike_mcquaid/" target="_blank" rel="nofollow noopener">Mike McQuaid's clean, ergonomic setup in Edinburgh, Scotland</a></li>
<li><a href="https://hackerstations.com/setups/daniel_stenberg/" target="_blank" rel="nofollow noopener">Daniel Stenberg and the home of curl in Stockholm, Sweden</a></li>
</ul></li>
<li><p><a href="http://undeadly.org/cgi?action=article;sid=20230421124221" target="_blank" rel="nofollow noopener">viogpu(4), a VirtIO GPU driver, added to -current</a></p></li>
<li><p><a href="http://undeadly.org/cgi?action=article;sid=20230505054214" target="_blank" rel="nofollow noopener">OpenBGPD 8.0 released</a></p></li>
<li><p><a href="http://undeadly.org/cgi?action=article;sid=20230507122935" target="_blank" rel="nofollow noopener">cron(8) now supports random ranges with steps</a></p></li>
<li><p><a href="http://undeadly.org/cgi?action=article;sid=20230417074903" target="_blank" rel="nofollow noopener">malloc leak detection available in -current</a></p></li>
<li><p><a href="https://www.undeadly.org/cgi?action=article;sid=20230430051250" target="_blank" rel="nofollow noopener">vmd(8) moves to a multi-process model</a></p></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Leveraging OpenZFS to Build Your Own Storage Appliance, Install OpenBSD as a VM, Set up your own CalDAV and CardDAV servers on OpenBSD, display basic computer information using DMI table decoder, Gpart CheatSheet, Rob Pike on the Origin of Unix Dot File Names, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-leveraging-openzfs-to-build-your-own-storage-appliance/" target="_blank" rel="nofollow noopener">OpenZFS – Leveraging OpenZFS to Build Your Own Storage Appliance</a></h3>

<hr>

<h3><a href="https://byte-sized.de/linux-unix/openbsd-als-vm-installieren/#english" target="_blank" rel="nofollow noopener">Install OpenBSD as a VM</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2023-04-23-calendar-and-contacts-with-radicale.html" target="_blank" rel="nofollow noopener">Set up your own CalDAV and CardDAV servers on OpenBSD</a></h3>

<hr>

<h3><a href="https://sleeplessbeastie.eu/2023/03/31/how-to-display-basic-computer-information-using-dmi-table-decoder/" target="_blank" rel="nofollow noopener">How to display basic computer information using DMI table decoder</a></h3>

<hr>

<h3><a href="https://forums.FreeBSD.org/threads/gpart-cheatsheet-wiping-drives-partitioning-formating.45411" target="_blank" rel="nofollow noopener">Gpart CheatSheet - wiping drives, partitioning, &amp; formating</a></h3>

<hr>

<h3><a href="http://xahlee.info/UnixResource_dir/writ/unix_origin_of_dot_filename.html" target="_blank" rel="nofollow noopener">Rob Pike on the Origin of Unix Dot File Names</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li>Hackerstations

<ul>
<li><a href="https://hackerstations.com/setups/mike_mcquaid/" target="_blank" rel="nofollow noopener">Mike McQuaid's clean, ergonomic setup in Edinburgh, Scotland</a></li>
<li><a href="https://hackerstations.com/setups/daniel_stenberg/" target="_blank" rel="nofollow noopener">Daniel Stenberg and the home of curl in Stockholm, Sweden</a></li>
</ul></li>
<li><p><a href="http://undeadly.org/cgi?action=article;sid=20230421124221" target="_blank" rel="nofollow noopener">viogpu(4), a VirtIO GPU driver, added to -current</a></p></li>
<li><p><a href="http://undeadly.org/cgi?action=article;sid=20230505054214" target="_blank" rel="nofollow noopener">OpenBGPD 8.0 released</a></p></li>
<li><p><a href="http://undeadly.org/cgi?action=article;sid=20230507122935" target="_blank" rel="nofollow noopener">cron(8) now supports random ranges with steps</a></p></li>
<li><p><a href="http://undeadly.org/cgi?action=article;sid=20230417074903" target="_blank" rel="nofollow noopener">malloc leak detection available in -current</a></p></li>
<li><p><a href="https://www.undeadly.org/cgi?action=article;sid=20230430051250" target="_blank" rel="nofollow noopener">vmd(8) moves to a multi-process model</a></p></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>508: Foundational Proceedings</title>
  <link>https://www.bsdnow.tv/508</link>
  <guid isPermaLink="false">def7d8d8-31e8-4874-bbe5-dd25729dd001</guid>
  <pubDate>Thu, 25 May 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/def7d8d8-31e8-4874-bbe5-dd25729dd001.mp3" length="39443712" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Foundation Welcomes New Team Members, OpenZFS the Ideal Storage Solution for University Environments, SCaLE20X Conference Report, 916 days of Emacs, XTerm: It's Better Than You Thought, NetBSD Annual General Meeting 2023, and more</itunes:subtitle>
  <itunes:duration>41:05</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>&lt;p&gt;FreeBSD Foundation Welcomes New Team Members, OpenZFS the Ideal Storage Solution for University Environments, SCaLE20X Conference Report, 916 days of Emacs, XTerm: It's Better Than You Thought, NetBSD Annual General Meeting 2023, and more&lt;/p&gt;

&lt;p&gt;&lt;em&gt;NOTES&lt;/em&gt;**&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/freebsd-foundation-welcomes-new-team-members/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation Welcomes New Team Members&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-what-makes-openzfs-the-ideal-storage-solution-for-university-environments//" target="_blank" rel="nofollow noopener"&gt;What Makes OpenZFS the Ideal Storage Solution for University Environments&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/scale20x-conference-report/" target="_blank" rel="nofollow noopener"&gt;SCaLE20X Conference Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sqrtminusone.xyz/posts/2023-04-13-emacs/" target="_blank" rel="nofollow noopener"&gt;916 days of Emacs&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://aduros.com/blog/xterm-its-better-than-you-thought/" target="_blank" rel="nofollow noopener"&gt;XTerm: It's Better Than You Thought&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mail-index.netbsd.org/netbsd-announce/2023/05/05/msg000348.html" target="_blank" rel="nofollow noopener"&gt;NetBSD AGM2023: Annual General Meeting, May 13, 21:00 UTC&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/508/feedback/Adrian%20-%20Tilde.md" target="_blank" rel="nofollow noopener"&gt;Adrian - Tilde&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/508/feedback/Dan%20-%20Root%20Shell.md" target="_blank" rel="nofollow noopener"&gt;Dan - Root Shell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/508/feedback/Florian%20-%20Salt%20Extension.md" target="_blank" rel="nofollow noopener"&gt;Florian - Salt Extension&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, solution, university, environment, ports, packages, jails, interview, team members, foundation, storage solution, scale20x, trip report, emacs, xterm, annual general meeting</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Foundation Welcomes New Team Members, OpenZFS the Ideal Storage Solution for University Environments, SCaLE20X Conference Report, 916 days of Emacs, XTerm: It's Better Than You Thought, NetBSD Annual General Meeting 2023, and more</p>

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

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/freebsd-foundation-welcomes-new-team-members/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Welcomes New Team Members</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/openzfs-what-makes-openzfs-the-ideal-storage-solution-for-university-environments//" target="_blank" rel="nofollow noopener">What Makes OpenZFS the Ideal Storage Solution for University Environments</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://freebsdfoundation.org/blog/scale20x-conference-report/" target="_blank" rel="nofollow noopener">SCaLE20X Conference Report</a></h3>

<hr>

<h3><a href="https://sqrtminusone.xyz/posts/2023-04-13-emacs/" target="_blank" rel="nofollow noopener">916 days of Emacs</a></h3>

<hr>

<h3><a href="https://aduros.com/blog/xterm-its-better-than-you-thought/" target="_blank" rel="nofollow noopener">XTerm: It's Better Than You Thought</a></h3>

<hr>

<h3><a href="https://mail-index.netbsd.org/netbsd-announce/2023/05/05/msg000348.html" target="_blank" rel="nofollow noopener">NetBSD AGM2023: Annual General Meeting, May 13, 21:00 UTC</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/508/feedback/Adrian%20-%20Tilde.md" target="_blank" rel="nofollow noopener">Adrian - Tilde</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/508/feedback/Dan%20-%20Root%20Shell.md" target="_blank" rel="nofollow noopener">Dan - Root Shell</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/508/feedback/Florian%20-%20Salt%20Extension.md" target="_blank" rel="nofollow noopener">Florian - Salt Extension</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Foundation Welcomes New Team Members, OpenZFS the Ideal Storage Solution for University Environments, SCaLE20X Conference Report, 916 days of Emacs, XTerm: It's Better Than You Thought, NetBSD Annual General Meeting 2023, and more</p>

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

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/freebsd-foundation-welcomes-new-team-members/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Welcomes New Team Members</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/openzfs-what-makes-openzfs-the-ideal-storage-solution-for-university-environments//" target="_blank" rel="nofollow noopener">What Makes OpenZFS the Ideal Storage Solution for University Environments</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://freebsdfoundation.org/blog/scale20x-conference-report/" target="_blank" rel="nofollow noopener">SCaLE20X Conference Report</a></h3>

<hr>

<h3><a href="https://sqrtminusone.xyz/posts/2023-04-13-emacs/" target="_blank" rel="nofollow noopener">916 days of Emacs</a></h3>

<hr>

<h3><a href="https://aduros.com/blog/xterm-its-better-than-you-thought/" target="_blank" rel="nofollow noopener">XTerm: It's Better Than You Thought</a></h3>

<hr>

<h3><a href="https://mail-index.netbsd.org/netbsd-announce/2023/05/05/msg000348.html" target="_blank" rel="nofollow noopener">NetBSD AGM2023: Annual General Meeting, May 13, 21:00 UTC</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/508/feedback/Adrian%20-%20Tilde.md" target="_blank" rel="nofollow noopener">Adrian - Tilde</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/508/feedback/Dan%20-%20Root%20Shell.md" target="_blank" rel="nofollow noopener">Dan - Root Shell</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/508/feedback/Florian%20-%20Salt%20Extension.md" target="_blank" rel="nofollow noopener">Florian - Salt Extension</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>507: Michael W. Lucas Interview</title>
  <link>https://www.bsdnow.tv/507</link>
  <guid isPermaLink="false">188e3b3f-dc07-43ba-aa49-de8223858ead</guid>
  <pubDate>Thu, 18 May 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/188e3b3f-dc07-43ba-aa49-de8223858ead.mp3" length="56347776" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Author Michael W. Lucas joins us in this interview to talk about his latest book projects. Find out what he’s up to regarding mail servers, conferences, his views on ChatGPT, and more.</itunes:subtitle>
  <itunes:duration>58: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>&lt;p&gt;Author Michael W. Lucas joins us in this interview to talk about his latest book projects. Find out what he’s up to regarding mail servers, conferences, his views on ChatGPT, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Interview - Michael W. Lucas - &lt;a href="mailto:mwl@mwl.io" target="_blank" rel="nofollow noopener"&gt;mwl@mwl.io&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;OpenBSD Mastery Filesystems&lt;/p&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/h2&gt;

&lt;hr&gt;

&lt;p&gt;Special Guest: Michael W Lucas.&lt;/p&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, Michael W. Lucas, book, author, writing, mail server, chatgpt, events, conferences,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Author Michael W. Lucas joins us in this interview to talk about his latest book projects. Find out what he’s up to regarding mail servers, conferences, his views on ChatGPT, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Interview - Michael W. Lucas - <a href="mailto:mwl@mwl.io" target="_blank" rel="nofollow noopener">mwl@mwl.io</a></h2>

<p>OpenBSD Mastery Filesystems</p>

<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>
</ul>

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

<hr><p>Special Guest: Michael W Lucas.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Author Michael W. Lucas joins us in this interview to talk about his latest book projects. Find out what he’s up to regarding mail servers, conferences, his views on ChatGPT, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Interview - Michael W. Lucas - <a href="mailto:mwl@mwl.io" target="_blank" rel="nofollow noopener">mwl@mwl.io</a></h2>

<p>OpenBSD Mastery Filesystems</p>

<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>
</ul>

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

<hr><p>Special Guest: Michael W Lucas.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>506: A greener BSD</title>
  <link>https://www.bsdnow.tv/506</link>
  <guid isPermaLink="false">a130428b-d80d-45a3-a07b-e7b6ce4b3565</guid>
  <pubDate>Thu, 11 May 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a130428b-d80d-45a3-a07b-e7b6ce4b3565.mp3" length="20222232" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Comparing Modern Open-Source Storage Solutions, FreeBSD Q1 Status Report, Hello Systems 0.8.1 Release, OpenBSD: Managing an inverter/converter with NUT, Tips for Running a Greener FreeBSD, BSDCAN Registration open</itunes:subtitle>
  <itunes:duration>32:04</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>&lt;p&gt;Comparing Modern Open-Source Storage Solutions, FreeBSD Q1 Status Report, Hello Systems 0.8.1 Release, OpenBSD: Managing an inverter/converter with NUT, Tips for Running a Greener FreeBSD, BSDCAN Registration open&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-comparing-modern-open-source-storage-solutions/" target="_blank" rel="nofollow noopener"&gt;Comparing Modern Open-Source Storage Solutions OpenZFS vs. The Rest&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/status/report-2023-01-2023-03/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Q1 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://github.com/helloSystem/ISO/releases/tag/r0.8.1" target="_blank" rel="nofollow noopener"&gt;Hello Systems 0.8.1 Release&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://doc.huc.fr.eu.org/en/sys/openbsd/nut/" target="_blank" rel="nofollow noopener"&gt;OpenBSD: Managing an inverter/converter with NUT&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/celebrating-earth-day-tips-for-running-a-greener-freebsd/" target="_blank" rel="nofollow noopener"&gt;Celebrating Earth Day: Tips for Running a Greener FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.bsdcan.org/2023/registration.php" target="_blank" rel="nofollow noopener"&gt;BSDCAN Registration&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [SimCity 2000 running on OpenBSD 7.3 via DOSBox 0.74-3](https://www.reddit.com/r/openbsd_gaming/comments/12k9zt2/simcity_2000_running_on_openbsd_73_via_dosbox_0743/)
• [OpenBSD Webzine #13](https://webzine.puffy.cafe/issue-13.html)
• [AWS Gazo bot](https://github.com/csaltos/aws-gazo-bot)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, storage solution, comparison, status report q1 2023, hello systems, inverter, converter, nut, green computing, bsdcan</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Comparing Modern Open-Source Storage Solutions, FreeBSD Q1 Status Report, Hello Systems 0.8.1 Release, OpenBSD: Managing an inverter/converter with NUT, Tips for Running a Greener FreeBSD, BSDCAN Registration open</p>

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

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-comparing-modern-open-source-storage-solutions/" target="_blank" rel="nofollow noopener">Comparing Modern Open-Source Storage Solutions OpenZFS vs. The Rest</a></h3>

<hr>

<h3><a href="https://www.freebsd.org/status/report-2023-01-2023-03/" target="_blank" rel="nofollow noopener">FreeBSD Q1 Status Report</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://github.com/helloSystem/ISO/releases/tag/r0.8.1" target="_blank" rel="nofollow noopener">Hello Systems 0.8.1 Release</a></h3>

<hr>

<h3><a href="https://doc.huc.fr.eu.org/en/sys/openbsd/nut/" target="_blank" rel="nofollow noopener">OpenBSD: Managing an inverter/converter with NUT</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/celebrating-earth-day-tips-for-running-a-greener-freebsd/" target="_blank" rel="nofollow noopener">Celebrating Earth Day: Tips for Running a Greener FreeBSD</a></h3>

<hr>

<h3><a href="https://www.bsdcan.org/2023/registration.php" target="_blank" rel="nofollow noopener">BSDCAN Registration</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [SimCity 2000 running on OpenBSD 7.3 via DOSBox 0.74-3](https://www.reddit.com/r/openbsd_gaming/comments/12k9zt2/simcity_2000_running_on_openbsd_73_via_dosbox_0743/)
• [OpenBSD Webzine #13](https://webzine.puffy.cafe/issue-13.html)
• [AWS Gazo bot](https://github.com/csaltos/aws-gazo-bot)
</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Comparing Modern Open-Source Storage Solutions, FreeBSD Q1 Status Report, Hello Systems 0.8.1 Release, OpenBSD: Managing an inverter/converter with NUT, Tips for Running a Greener FreeBSD, BSDCAN Registration open</p>

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

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-comparing-modern-open-source-storage-solutions/" target="_blank" rel="nofollow noopener">Comparing Modern Open-Source Storage Solutions OpenZFS vs. The Rest</a></h3>

<hr>

<h3><a href="https://www.freebsd.org/status/report-2023-01-2023-03/" target="_blank" rel="nofollow noopener">FreeBSD Q1 Status Report</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://github.com/helloSystem/ISO/releases/tag/r0.8.1" target="_blank" rel="nofollow noopener">Hello Systems 0.8.1 Release</a></h3>

<hr>

<h3><a href="https://doc.huc.fr.eu.org/en/sys/openbsd/nut/" target="_blank" rel="nofollow noopener">OpenBSD: Managing an inverter/converter with NUT</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/celebrating-earth-day-tips-for-running-a-greener-freebsd/" target="_blank" rel="nofollow noopener">Celebrating Earth Day: Tips for Running a Greener FreeBSD</a></h3>

<hr>

<h3><a href="https://www.bsdcan.org/2023/registration.php" target="_blank" rel="nofollow noopener">BSDCAN Registration</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [SimCity 2000 running on OpenBSD 7.3 via DOSBox 0.74-3](https://www.reddit.com/r/openbsd_gaming/comments/12k9zt2/simcity_2000_running_on_openbsd_73_via_dosbox_0743/)
• [OpenBSD Webzine #13](https://webzine.puffy.cafe/issue-13.html)
• [AWS Gazo bot](https://github.com/csaltos/aws-gazo-bot)
</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>505:  BSD Desktop Setup</title>
  <link>https://www.bsdnow.tv/505</link>
  <guid isPermaLink="false">8f610dd8-0956-4f99-a9a6-e8c04036ad85</guid>
  <pubDate>Thu, 04 May 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8f610dd8-0956-4f99-a9a6-e8c04036ad85.mp3" length="28271616" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 7.3 released, Accelerating Datacenter Energy Efficiency by Leveraging FreeBSD as Your Server OS, install Cinnamon as a Desktop environment, xmonad FreeBSD set up from scratch, Burgr books in your terminal, and more</itunes:subtitle>
  <itunes:duration>29:26</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>&lt;p&gt;OpenBSD 7.3 released, Accelerating Datacenter Energy Efficiency by Leveraging FreeBSD as Your Server OS, install Cinnamon as a Desktop environment, xmonad FreeBSD set up from scratch, Burgr books in your terminal, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20230410140049" target="_blank" rel="nofollow noopener"&gt;OpenBSD 7.3 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.bsdcan.org/events/bsdcan_2023/schedule/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2023 Schedule posted&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/accelerating-datacenter-energy-efficiency-by-leveraging-freebsd-as-your-server-os/" target="_blank" rel="nofollow noopener"&gt;Accelerating Datacenter Energy Efficiency by Leveraging FreeBSD as Your Server OS&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://byte-sized.de/linux-unix/freebsd-cinnamon-als-gui-installieren/#english" target="_blank" rel="nofollow noopener"&gt;FreeBSD – How to install Cinnamon as a Desktop environment&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://forums.FreeBSD.org/threads/xmonad-freebsd-set-up-from-scratch.75911/" target="_blank" rel="nofollow noopener"&gt;xmonad FreeBSD set up from scratch&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blubsblog.bearblog.dev/burgr-books-in-your-terminal/" target="_blank" rel="nofollow noopener"&gt;Burgr books in your terminal&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.hostzealot.com/blog/about-vps/pros-and-cons-of-freebsd-for-virtual-servers" target="_blank" rel="nofollow noopener"&gt;Pros and Cons of FreeBSD for virtual Servers&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/505/feedback/Reese%20-%20Dans%20Interview.md" target="_blank" rel="nofollow noopener"&gt;Reese - Dans Interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/505/feedback/jj%20-%20looking%20for%20help.md" target="_blank" rel="nofollow noopener"&gt;jj - looking for help&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, datacenter, energy efficiency, cinnamon desktop, xmonad, from scratch, burger books, booking</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 7.3 released, Accelerating Datacenter Energy Efficiency by Leveraging FreeBSD as Your Server OS, install Cinnamon as a Desktop environment, xmonad FreeBSD set up from scratch, Burgr books in your terminal, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230410140049" target="_blank" rel="nofollow noopener">OpenBSD 7.3 released</a></h3>

<hr>

<h3><a href="https://www.bsdcan.org/events/bsdcan_2023/schedule/" target="_blank" rel="nofollow noopener">BSDCan 2023 Schedule posted</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/accelerating-datacenter-energy-efficiency-by-leveraging-freebsd-as-your-server-os/" target="_blank" rel="nofollow noopener">Accelerating Datacenter Energy Efficiency by Leveraging FreeBSD as Your Server OS</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://byte-sized.de/linux-unix/freebsd-cinnamon-als-gui-installieren/#english" target="_blank" rel="nofollow noopener">FreeBSD – How to install Cinnamon as a Desktop environment</a></h3>

<hr>

<h3><a href="https://forums.FreeBSD.org/threads/xmonad-freebsd-set-up-from-scratch.75911/" target="_blank" rel="nofollow noopener">xmonad FreeBSD set up from scratch</a></h3>

<hr>

<h3><a href="https://blubsblog.bearblog.dev/burgr-books-in-your-terminal/" target="_blank" rel="nofollow noopener">Burgr books in your terminal</a></h3>

<hr>

<h3><a href="https://www.hostzealot.com/blog/about-vps/pros-and-cons-of-freebsd-for-virtual-servers" target="_blank" rel="nofollow noopener">Pros and Cons of FreeBSD for virtual Servers</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/505/feedback/Reese%20-%20Dans%20Interview.md" target="_blank" rel="nofollow noopener">Reese - Dans Interview</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/505/feedback/jj%20-%20looking%20for%20help.md" target="_blank" rel="nofollow noopener">jj - looking for help</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 7.3 released, Accelerating Datacenter Energy Efficiency by Leveraging FreeBSD as Your Server OS, install Cinnamon as a Desktop environment, xmonad FreeBSD set up from scratch, Burgr books in your terminal, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230410140049" target="_blank" rel="nofollow noopener">OpenBSD 7.3 released</a></h3>

<hr>

<h3><a href="https://www.bsdcan.org/events/bsdcan_2023/schedule/" target="_blank" rel="nofollow noopener">BSDCan 2023 Schedule posted</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/accelerating-datacenter-energy-efficiency-by-leveraging-freebsd-as-your-server-os/" target="_blank" rel="nofollow noopener">Accelerating Datacenter Energy Efficiency by Leveraging FreeBSD as Your Server OS</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://byte-sized.de/linux-unix/freebsd-cinnamon-als-gui-installieren/#english" target="_blank" rel="nofollow noopener">FreeBSD – How to install Cinnamon as a Desktop environment</a></h3>

<hr>

<h3><a href="https://forums.FreeBSD.org/threads/xmonad-freebsd-set-up-from-scratch.75911/" target="_blank" rel="nofollow noopener">xmonad FreeBSD set up from scratch</a></h3>

<hr>

<h3><a href="https://blubsblog.bearblog.dev/burgr-books-in-your-terminal/" target="_blank" rel="nofollow noopener">Burgr books in your terminal</a></h3>

<hr>

<h3><a href="https://www.hostzealot.com/blog/about-vps/pros-and-cons-of-freebsd-for-virtual-servers" target="_blank" rel="nofollow noopener">Pros and Cons of FreeBSD for virtual Servers</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/505/feedback/Reese%20-%20Dans%20Interview.md" target="_blank" rel="nofollow noopener">Reese - Dans Interview</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/505/feedback/jj%20-%20looking%20for%20help.md" target="_blank" rel="nofollow noopener">jj - looking for help</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>504: Release the BSD</title>
  <link>https://www.bsdnow.tv/504</link>
  <guid isPermaLink="false">2d02bfb1-4e33-4be1-8424-a707ddbeac55</guid>
  <pubDate>Thu, 27 Apr 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2d02bfb1-4e33-4be1-8424-a707ddbeac55.mp3" length="34665600" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 13.2 Release, Using DTrace to find block sizes of ZFS, NFS, and iSCSI, Midnight BSD 3.0.1, Closing a stale SSH connection, How to automatically add identity to the SSH authentication agent, Pros and Cons of FreeBSD for virtual Servers, and more</itunes:subtitle>
  <itunes:duration>36:06</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>&lt;p&gt;FreeBSD 13.2 Release, Using DTrace to find block sizes of ZFS, NFS, and iSCSI, Midnight BSD 3.0.1, Closing a stale SSH connection, How to automatically add identity to the SSH authentication agent, Pros and Cons of FreeBSD for virtual Servers, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/releases/13.2R/announce/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13.2 Release Announcement&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://axcient.com/blog/using-dtrace-to-find-block-sizes-of-zfs-nfs-and-iscsi/" target="_blank" rel="nofollow noopener"&gt;Using DTrace to find block sizes of ZFS, NFS, and iSCSI&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/news/MidnightBSD-3.0.1" target="_blank" rel="nofollow noopener"&gt;Midnight BSD 3.0.1&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://davidisaksson.dev/posts/closing-stale-ssh-connections/" target="_blank" rel="nofollow noopener"&gt;Closing a stale SSH connection&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sleeplessbeastie.eu/2023/04/10/how-to-automatically-add-identity-to-the-ssh-authentication-agent/" target="_blank" rel="nofollow noopener"&gt;How to automatically add identity to the SSH authentication agent&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/504/feedback/Dan%20-%20ZFS%20question.md" target="_blank" rel="nofollow noopener"&gt;Dan - ZFS question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/504/feedback/Matt%20-%20Thanks.md" target="_blank" rel="nofollow noopener"&gt;Matt - Thanks&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, dtrace, nfs, iscsi, block size, midnightbsd, ssh, connection, identity, public key, authentication, agent, virtual server</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 13.2 Release, Using DTrace to find block sizes of ZFS, NFS, and iSCSI, Midnight BSD 3.0.1, Closing a stale SSH connection, How to automatically add identity to the SSH authentication agent, Pros and Cons of FreeBSD for virtual Servers, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/13.2R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 13.2 Release Announcement</a></h3>

<hr>

<h3><a href="https://axcient.com/blog/using-dtrace-to-find-block-sizes-of-zfs-nfs-and-iscsi/" target="_blank" rel="nofollow noopener">Using DTrace to find block sizes of ZFS, NFS, and iSCSI</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.phoronix.com/news/MidnightBSD-3.0.1" target="_blank" rel="nofollow noopener">Midnight BSD 3.0.1</a></h3>

<hr>

<h3><a href="https://davidisaksson.dev/posts/closing-stale-ssh-connections/" target="_blank" rel="nofollow noopener">Closing a stale SSH connection</a></h3>

<hr>

<h3><a href="https://sleeplessbeastie.eu/2023/04/10/how-to-automatically-add-identity-to-the-ssh-authentication-agent/" target="_blank" rel="nofollow noopener">How to automatically add identity to the SSH authentication agent</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/504/feedback/Dan%20-%20ZFS%20question.md" target="_blank" rel="nofollow noopener">Dan - ZFS question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/504/feedback/Matt%20-%20Thanks.md" target="_blank" rel="nofollow noopener">Matt - Thanks</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 13.2 Release, Using DTrace to find block sizes of ZFS, NFS, and iSCSI, Midnight BSD 3.0.1, Closing a stale SSH connection, How to automatically add identity to the SSH authentication agent, Pros and Cons of FreeBSD for virtual Servers, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/13.2R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 13.2 Release Announcement</a></h3>

<hr>

<h3><a href="https://axcient.com/blog/using-dtrace-to-find-block-sizes-of-zfs-nfs-and-iscsi/" target="_blank" rel="nofollow noopener">Using DTrace to find block sizes of ZFS, NFS, and iSCSI</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.phoronix.com/news/MidnightBSD-3.0.1" target="_blank" rel="nofollow noopener">Midnight BSD 3.0.1</a></h3>

<hr>

<h3><a href="https://davidisaksson.dev/posts/closing-stale-ssh-connections/" target="_blank" rel="nofollow noopener">Closing a stale SSH connection</a></h3>

<hr>

<h3><a href="https://sleeplessbeastie.eu/2023/04/10/how-to-automatically-add-identity-to-the-ssh-authentication-agent/" target="_blank" rel="nofollow noopener">How to automatically add identity to the SSH authentication agent</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/504/feedback/Dan%20-%20ZFS%20question.md" target="_blank" rel="nofollow noopener">Dan - ZFS question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/504/feedback/Matt%20-%20Thanks.md" target="_blank" rel="nofollow noopener">Matt - Thanks</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>503: Fast Unix Commands</title>
  <link>https://www.bsdnow.tv/503</link>
  <guid isPermaLink="false">4e4d0c93-21ee-44e3-9255-c64e7772ac5e</guid>
  <pubDate>Thu, 20 Apr 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4e4d0c93-21ee-44e3-9255-c64e7772ac5e.mp3" length="35430144" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>ZFS Optimization Success Stories, Linux Namespaces Are a Poor Man's Plan 9 Namespaces, better support for SSH host certificates, Fast Unix Commands, Fascination with AWK, and more</itunes:subtitle>
  <itunes:duration>36:54</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>&lt;p&gt;ZFS Optimization Success Stories, Linux Namespaces Are a Poor Man's Plan 9 Namespaces, better support for SSH host certificates, Fast Unix Commands, Fascination with AWK, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/zfs-optimization-success-stories/" target="_blank" rel="nofollow noopener"&gt;ZFS Optimization Success Stories&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://yotam.net/posts/linux-namespaces-are-a-poor-mans-plan9-namespaces/" target="_blank" rel="nofollow noopener"&gt;Linux Namespaces Are a Poor Man's Plan 9 Namespaces&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mjg59.dreamwidth.org/65874.html" target="_blank" rel="nofollow noopener"&gt;We need better support for SSH host certificates&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://alexsaveau.dev/blog/projects/performance/files/fuc/fast-unix-commands" target="_blank" rel="nofollow noopener"&gt;Fast Unix Commands&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://maximullaris.com/awk.html" target="_blank" rel="nofollow noopener"&gt;Fascination with AWK&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[Development environment updated and working])&lt;a href="https://twitter.com/sweordbora/status/1618603990463438851?s=52&amp;amp;t=GHrPlL6qZhIWo6u2Y5ie3g" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/sweordbora/status/1618603990463438851?s=52&amp;amp;t=GHrPlL6qZhIWo6u2Y5ie3g&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;[WIP] feat: add basic FreeBSD support on Kubelet](&lt;a href="https://github.com/kubernetes/kubernetes/pull/115870" target="_blank" rel="nofollow noopener"&gt;https://github.com/kubernetes/kubernetes/pull/115870&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fortunes.cat-v.org/" target="_blank" rel="nofollow noopener"&gt;Jar of Fortunes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/h2&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, optimization, success story, namespaces, plan 9, ssh host certificates, fast commands, awk, fascination</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>ZFS Optimization Success Stories, Linux Namespaces Are a Poor Man's Plan 9 Namespaces, better support for SSH host certificates, Fast Unix Commands, Fascination with AWK, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/zfs-optimization-success-stories/" target="_blank" rel="nofollow noopener">ZFS Optimization Success Stories</a></h3>

<hr>

<h3><a href="https://yotam.net/posts/linux-namespaces-are-a-poor-mans-plan9-namespaces/" target="_blank" rel="nofollow noopener">Linux Namespaces Are a Poor Man's Plan 9 Namespaces</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mjg59.dreamwidth.org/65874.html" target="_blank" rel="nofollow noopener">We need better support for SSH host certificates</a></h3>

<hr>

<h3><a href="https://alexsaveau.dev/blog/projects/performance/files/fuc/fast-unix-commands" target="_blank" rel="nofollow noopener">Fast Unix Commands</a></h3>

<hr>

<h3><a href="https://maximullaris.com/awk.html" target="_blank" rel="nofollow noopener">Fascination with AWK</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li>[Development environment updated and working])<a href="https://twitter.com/sweordbora/status/1618603990463438851?s=52&amp;t=GHrPlL6qZhIWo6u2Y5ie3g" target="_blank" rel="nofollow noopener">https://twitter.com/sweordbora/status/1618603990463438851?s=52&amp;t=GHrPlL6qZhIWo6u2Y5ie3g</a>)</li>
<li>[WIP] feat: add basic FreeBSD support on Kubelet](<a href="https://github.com/kubernetes/kubernetes/pull/115870" target="_blank" rel="nofollow noopener">https://github.com/kubernetes/kubernetes/pull/115870</a>)</li>
<li><a href="http://fortunes.cat-v.org/" target="_blank" rel="nofollow noopener">Jar of Fortunes</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<hr>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>ZFS Optimization Success Stories, Linux Namespaces Are a Poor Man's Plan 9 Namespaces, better support for SSH host certificates, Fast Unix Commands, Fascination with AWK, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/zfs-optimization-success-stories/" target="_blank" rel="nofollow noopener">ZFS Optimization Success Stories</a></h3>

<hr>

<h3><a href="https://yotam.net/posts/linux-namespaces-are-a-poor-mans-plan9-namespaces/" target="_blank" rel="nofollow noopener">Linux Namespaces Are a Poor Man's Plan 9 Namespaces</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mjg59.dreamwidth.org/65874.html" target="_blank" rel="nofollow noopener">We need better support for SSH host certificates</a></h3>

<hr>

<h3><a href="https://alexsaveau.dev/blog/projects/performance/files/fuc/fast-unix-commands" target="_blank" rel="nofollow noopener">Fast Unix Commands</a></h3>

<hr>

<h3><a href="https://maximullaris.com/awk.html" target="_blank" rel="nofollow noopener">Fascination with AWK</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li>[Development environment updated and working])<a href="https://twitter.com/sweordbora/status/1618603990463438851?s=52&amp;t=GHrPlL6qZhIWo6u2Y5ie3g" target="_blank" rel="nofollow noopener">https://twitter.com/sweordbora/status/1618603990463438851?s=52&amp;t=GHrPlL6qZhIWo6u2Y5ie3g</a>)</li>
<li>[WIP] feat: add basic FreeBSD support on Kubelet](<a href="https://github.com/kubernetes/kubernetes/pull/115870" target="_blank" rel="nofollow noopener">https://github.com/kubernetes/kubernetes/pull/115870</a>)</li>
<li><a href="http://fortunes.cat-v.org/" target="_blank" rel="nofollow noopener">Jar of Fortunes</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<hr>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>502: Ping from Hell</title>
  <link>https://www.bsdnow.tv/502</link>
  <guid isPermaLink="false">f36dbdc3-d907-4d0e-8ee2-4b83780799cb</guid>
  <pubDate>Thu, 13 Apr 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f36dbdc3-d907-4d0e-8ee2-4b83780799cb.mp3" length="34267776" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>5 Key reasons for a OpenZFS Performance Audit, The Ping from Hell, OpenBGPD 7.9 released, Setting the clock ahead to see what breaks, and more</itunes:subtitle>
  <itunes:duration>35: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>&lt;p&gt;5 Key reasons for a OpenZFS Performance Audit, The Ping from Hell, OpenBGPD 7.9 released, Setting the clock ahead to see what breaks, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/5-key-reasons-why-you-need-an-openzfs-performance-audit/" target="_blank" rel="nofollow noopener"&gt;5 Key reasons why you need a OpenZFS Performance Audit&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://bastian.rieck.me/blog/posts/2023/mobility/" target="_blank" rel="nofollow noopener"&gt;Musings on Mobility : The Ping from Hell&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20230323152353" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 7.9 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rachelbythebay.com/w/2023/01/19/time/" target="_blank" rel="nofollow noopener"&gt;Setting the clock ahead to see what breaks&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/502/feedback/Esteban%20-%20pot.md" target="_blank" rel="nofollow noopener"&gt;Esteban - pot&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/502/feedback/Tim%20-%20BSD%20Talk%20at%20SCALE.md" target="_blank" rel="nofollow noopener"&gt;Tim - BSD Talk at SCALE&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/502/feedback/Fred%20-%20Networking.md" target="_blank" rel="nofollow noopener"&gt;Fred - Networking&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/h2&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, reason, performance, audit, ping, hell, openbgpd, clock, time</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>5 Key reasons for a OpenZFS Performance Audit, The Ping from Hell, OpenBGPD 7.9 released, Setting the clock ahead to see what breaks, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/5-key-reasons-why-you-need-an-openzfs-performance-audit/" target="_blank" rel="nofollow noopener">5 Key reasons why you need a OpenZFS Performance Audit</a></h3>

<hr>

<h3><a href="http://bastian.rieck.me/blog/posts/2023/mobility/" target="_blank" rel="nofollow noopener">Musings on Mobility : The Ping from Hell</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230323152353" target="_blank" rel="nofollow noopener">OpenBGPD 7.9 released</a></h3>

<hr>

<h3><a href="https://rachelbythebay.com/w/2023/01/19/time/" target="_blank" rel="nofollow noopener">Setting the clock ahead to see what breaks</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/502/feedback/Esteban%20-%20pot.md" target="_blank" rel="nofollow noopener">Esteban - pot</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/502/feedback/Tim%20-%20BSD%20Talk%20at%20SCALE.md" target="_blank" rel="nofollow noopener">Tim - BSD Talk at SCALE</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/502/feedback/Fred%20-%20Networking.md" target="_blank" rel="nofollow noopener">Fred - Networking</a></p></li>
</ul>

<hr>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>5 Key reasons for a OpenZFS Performance Audit, The Ping from Hell, OpenBGPD 7.9 released, Setting the clock ahead to see what breaks, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/5-key-reasons-why-you-need-an-openzfs-performance-audit/" target="_blank" rel="nofollow noopener">5 Key reasons why you need a OpenZFS Performance Audit</a></h3>

<hr>

<h3><a href="http://bastian.rieck.me/blog/posts/2023/mobility/" target="_blank" rel="nofollow noopener">Musings on Mobility : The Ping from Hell</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230323152353" target="_blank" rel="nofollow noopener">OpenBGPD 7.9 released</a></h3>

<hr>

<h3><a href="https://rachelbythebay.com/w/2023/01/19/time/" target="_blank" rel="nofollow noopener">Setting the clock ahead to see what breaks</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/502/feedback/Esteban%20-%20pot.md" target="_blank" rel="nofollow noopener">Esteban - pot</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/502/feedback/Tim%20-%20BSD%20Talk%20at%20SCALE.md" target="_blank" rel="nofollow noopener">Tim - BSD Talk at SCALE</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/502/feedback/Fred%20-%20Networking.md" target="_blank" rel="nofollow noopener">Fred - Networking</a></p></li>
</ul>

<hr>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>501: Boot that Snapshot</title>
  <link>https://www.bsdnow.tv/501</link>
  <guid isPermaLink="false">d498dc0c-a1f0-4c32-b783-7a39bbafa43a</guid>
  <pubDate>Thu, 06 Apr 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d498dc0c-a1f0-4c32-b783-7a39bbafa43a.mp3" length="36514176" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Nextcloud + OpenBSD = &lt;3, Understanding the Origins of DTrace, Bastille Templates for FreeBSD Jails, Initial support for guided disk encryption in the OpenBSD installer, Dynamic host configuration please, OpenBSD Storage Management tutorial at BSDCan 2023, Jan/Feb 2023 Column Out in the FreeBSD Journal, and more</itunes:subtitle>
  <itunes:duration>38:02</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>&lt;p&gt;Nextcloud + OpenBSD = &amp;lt;3, Understanding the Origins of DTrace, Bastille Templates for FreeBSD Jails, Initial support for guided disk encryption in the OpenBSD installer, Dynamic host configuration please, OpenBSD Storage Management tutorial at BSDCan 2023, Jan/Feb 2023 Column Out in the FreeBSD Journal, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://x61.sh/log/2023/02/20230217T112354-nextcloud_openbsd.html" target="_blank" rel="nofollow noopener"&gt;Nextcloud + OpenBSD = &amp;lt;3&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-history-understanding-the-origins-of-dtrace/" target="_blank" rel="nofollow noopener"&gt;FreeBSD History Series - Understanding the Origins of DTrace&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://byte--sized-de.translate.goog/linux-unix/bastille-templates-fuer-freebsd-jails/?_x_tr_sl=de&amp;amp;_x_tr_tl=en&amp;amp;_x_tr_hl=en&amp;amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener"&gt;Bastille Templates for FreeBSD Jails&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20230308063109" target="_blank" rel="nofollow noopener"&gt;Initial support for guided disk encryption in the installer&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20230308060219" target="_blank" rel="nofollow noopener"&gt;Dynamic host configuration, please&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mwl.io/archives/22621" target="_blank" rel="nofollow noopener"&gt;BSDCan 2023 Tutorial: OpenBSD Storage Management&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mwl.io/archives/22619" target="_blank" rel="nofollow noopener"&gt;Jan/Feb 2023 Column Out in the FreeBSD Journal&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://cgit.freebsd.org/src/commit/?id=a849842f510af48717e35ff709623e0dd1b80b20" target="_blank" rel="nofollow noopener"&gt;loader: Add support for booting from a ZFS snapshot&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, nextcloud, dtrace, bastille, template, disk encryption, dhcp, dhcplease, storage management, bsdcan 2023, freebsd journal</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Nextcloud + OpenBSD = &lt;3, Understanding the Origins of DTrace, Bastille Templates for FreeBSD Jails, Initial support for guided disk encryption in the OpenBSD installer, Dynamic host configuration please, OpenBSD Storage Management tutorial at BSDCan 2023, Jan/Feb 2023 Column Out in the FreeBSD Journal, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://x61.sh/log/2023/02/20230217T112354-nextcloud_openbsd.html" target="_blank" rel="nofollow noopener">Nextcloud + OpenBSD = &lt;3</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/freebsd-history-understanding-the-origins-of-dtrace/" target="_blank" rel="nofollow noopener">FreeBSD History Series - Understanding the Origins of DTrace</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://byte--sized-de.translate.goog/linux-unix/bastille-templates-fuer-freebsd-jails/?_x_tr_sl=de&amp;_x_tr_tl=en&amp;_x_tr_hl=en&amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener">Bastille Templates for FreeBSD Jails</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230308063109" target="_blank" rel="nofollow noopener">Initial support for guided disk encryption in the installer</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230308060219" target="_blank" rel="nofollow noopener">Dynamic host configuration, please</a></h3>

<hr>

<h3><a href="https://mwl.io/archives/22621" target="_blank" rel="nofollow noopener">BSDCan 2023 Tutorial: OpenBSD Storage Management</a></h3>

<hr>

<h3><a href="https://mwl.io/archives/22619" target="_blank" rel="nofollow noopener">Jan/Feb 2023 Column Out in the FreeBSD Journal</a></h3>

<hr>

<h3><a href="https://cgit.freebsd.org/src/commit/?id=a849842f510af48717e35ff709623e0dd1b80b20" target="_blank" rel="nofollow noopener">loader: Add support for booting from a ZFS snapshot</a></h3>

<hr>

<h3>Tarsnap</h3>

<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>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Nextcloud + OpenBSD = &lt;3, Understanding the Origins of DTrace, Bastille Templates for FreeBSD Jails, Initial support for guided disk encryption in the OpenBSD installer, Dynamic host configuration please, OpenBSD Storage Management tutorial at BSDCan 2023, Jan/Feb 2023 Column Out in the FreeBSD Journal, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://x61.sh/log/2023/02/20230217T112354-nextcloud_openbsd.html" target="_blank" rel="nofollow noopener">Nextcloud + OpenBSD = &lt;3</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/freebsd-history-understanding-the-origins-of-dtrace/" target="_blank" rel="nofollow noopener">FreeBSD History Series - Understanding the Origins of DTrace</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://byte--sized-de.translate.goog/linux-unix/bastille-templates-fuer-freebsd-jails/?_x_tr_sl=de&amp;_x_tr_tl=en&amp;_x_tr_hl=en&amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener">Bastille Templates for FreeBSD Jails</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230308063109" target="_blank" rel="nofollow noopener">Initial support for guided disk encryption in the installer</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230308060219" target="_blank" rel="nofollow noopener">Dynamic host configuration, please</a></h3>

<hr>

<h3><a href="https://mwl.io/archives/22621" target="_blank" rel="nofollow noopener">BSDCan 2023 Tutorial: OpenBSD Storage Management</a></h3>

<hr>

<h3><a href="https://mwl.io/archives/22619" target="_blank" rel="nofollow noopener">Jan/Feb 2023 Column Out in the FreeBSD Journal</a></h3>

<hr>

<h3><a href="https://cgit.freebsd.org/src/commit/?id=a849842f510af48717e35ff709623e0dd1b80b20" target="_blank" rel="nofollow noopener">loader: Add support for booting from a ZFS snapshot</a></h3>

<hr>

<h3>Tarsnap</h3>

<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>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>500: Guarding the Wire</title>
  <link>https://www.bsdnow.tv/500</link>
  <guid isPermaLink="false">f813165b-a60b-4d4c-80fa-910b048b3dba</guid>
  <pubDate>Thu, 30 Mar 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f813165b-a60b-4d4c-80fa-910b048b3dba.mp3" length="34851456" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Wireguard VPN Server with Unbound on OpenBSD, Auditing for OpenZFS Storage Performance, OpenBSD 7.2 on a Thinkpad X201, Practical Guides to fzf, Replacing postfix with dma, and more</itunes:subtitle>
  <itunes:duration>36:18</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>&lt;p&gt;Wireguard VPN Server with Unbound on OpenBSD, Auditing for OpenZFS Storage Performance, OpenBSD 7.2 on a Thinkpad X201, Practical Guides to fzf, Replacing postfix with dma, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://marcocetica.com/posts/wireguard_openbsd/" target="_blank" rel="nofollow noopener"&gt;How To Set Up a Wireguard VPN Server with Unbound on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-auditing-for-storage-performance/" target="_blank" rel="nofollow noopener"&gt;Auditing for OpenZFS Storage Performance&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://box.matto.nl/some-notes-on-openbsd-72-on-a-thinkpad-x201.html" target="_blank" rel="nofollow noopener"&gt;Some notes on OpenBSD 7.2 on a Thinkpad X201&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;fzf&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://thevaluable.dev/practical-guide-fzf-example/" target="_blank" rel="nofollow noopener"&gt;A Practical Guide to fzf: Building a File Explorer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://thevaluable.dev/fzf-shell-integration/" target="_blank" rel="nofollow noopener"&gt;A Practical Guide to fzf: Shell Integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2023/02/28/replacing-postfix-with-dma/" target="_blank" rel="nofollow noopener"&gt;Replacing postfix with dma&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/500/feedback/Dennis%20-%20Thanks.md" target="_blank" rel="nofollow noopener"&gt;Dennis - Thanks&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/500/feedback/Luna%20-%20trillian.md" target="_blank" rel="nofollow noopener"&gt;Luna - Trillian&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/500/feedback/Lyubomir%20-%20ipfw%20question.md" target="_blank" rel="nofollow noopener"&gt;Lyubomir - ipfw question&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, wireguard, vpn, unbound, audit, auditing, performance, thinkpad, x201, fzf, guide, postfix, dma, dragonfly mail agent, </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Wireguard VPN Server with Unbound on OpenBSD, Auditing for OpenZFS Storage Performance, OpenBSD 7.2 on a Thinkpad X201, Practical Guides to fzf, Replacing postfix with dma, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://marcocetica.com/posts/wireguard_openbsd/" target="_blank" rel="nofollow noopener">How To Set Up a Wireguard VPN Server with Unbound on OpenBSD</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/openzfs-auditing-for-storage-performance/" target="_blank" rel="nofollow noopener">Auditing for OpenZFS Storage Performance</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://box.matto.nl/some-notes-on-openbsd-72-on-a-thinkpad-x201.html" target="_blank" rel="nofollow noopener">Some notes on OpenBSD 7.2 on a Thinkpad X201</a></h3>

<hr>

<h3>fzf</h3>

<ul>
<li><a href="https://thevaluable.dev/practical-guide-fzf-example/" target="_blank" rel="nofollow noopener">A Practical Guide to fzf: Building a File Explorer</a></li>
<li><a href="https://thevaluable.dev/fzf-shell-integration/" target="_blank" rel="nofollow noopener">A Practical Guide to fzf: Shell Integration</a></li>
<li>
***</li>
</ul>

<h3><a href="https://dan.langille.org/2023/02/28/replacing-postfix-with-dma/" target="_blank" rel="nofollow noopener">Replacing postfix with dma</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/500/feedback/Dennis%20-%20Thanks.md" target="_blank" rel="nofollow noopener">Dennis - Thanks</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/500/feedback/Luna%20-%20trillian.md" target="_blank" rel="nofollow noopener">Luna - Trillian</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/500/feedback/Lyubomir%20-%20ipfw%20question.md" target="_blank" rel="nofollow noopener">Lyubomir - ipfw question</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Wireguard VPN Server with Unbound on OpenBSD, Auditing for OpenZFS Storage Performance, OpenBSD 7.2 on a Thinkpad X201, Practical Guides to fzf, Replacing postfix with dma, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://marcocetica.com/posts/wireguard_openbsd/" target="_blank" rel="nofollow noopener">How To Set Up a Wireguard VPN Server with Unbound on OpenBSD</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/openzfs-auditing-for-storage-performance/" target="_blank" rel="nofollow noopener">Auditing for OpenZFS Storage Performance</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://box.matto.nl/some-notes-on-openbsd-72-on-a-thinkpad-x201.html" target="_blank" rel="nofollow noopener">Some notes on OpenBSD 7.2 on a Thinkpad X201</a></h3>

<hr>

<h3>fzf</h3>

<ul>
<li><a href="https://thevaluable.dev/practical-guide-fzf-example/" target="_blank" rel="nofollow noopener">A Practical Guide to fzf: Building a File Explorer</a></li>
<li><a href="https://thevaluable.dev/fzf-shell-integration/" target="_blank" rel="nofollow noopener">A Practical Guide to fzf: Shell Integration</a></li>
<li>
***</li>
</ul>

<h3><a href="https://dan.langille.org/2023/02/28/replacing-postfix-with-dma/" target="_blank" rel="nofollow noopener">Replacing postfix with dma</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/500/feedback/Dennis%20-%20Thanks.md" target="_blank" rel="nofollow noopener">Dennis - Thanks</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/500/feedback/Luna%20-%20trillian.md" target="_blank" rel="nofollow noopener">Luna - Trillian</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/500/feedback/Lyubomir%20-%20ipfw%20question.md" target="_blank" rel="nofollow noopener">Lyubomir - ipfw question</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>499: Dan Langille Interview</title>
  <link>https://www.bsdnow.tv/499</link>
  <guid isPermaLink="false">b57b3e71-4395-4296-98ea-9eea94bffd1a</guid>
  <pubDate>Thu, 23 Mar 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b57b3e71-4395-4296-98ea-9eea94bffd1a.mp3" length="38735616" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We’re interviewing Dan Langille about his new server project. He’ll talk to us about the things he’s building, some of which are a bit out of the ordinary. We’re also talking about BSDCan 2023 and what to expect after returning to an in-presence conference format. Enjoy!</itunes:subtitle>
  <itunes:duration>40:20</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>&lt;p&gt;We’re interviewing Dan Langille about his new server project. He’ll talk to us about the things he’s building, some of which are a bit out of the ordinary. We’re also talking about BSDCan 2023 and what to expect after returning to an in-presence conference format. Enjoy!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Interview - Dan Langille - &lt;a href="mailto:dan@langille.org" target="_blank" rel="nofollow noopener"&gt;dan@langille.org&lt;/a&gt; / &lt;a href="https://twitter.com/dlangille" target="_blank" rel="nofollow noopener"&gt;@twitter&lt;/a&gt;&lt;/h2&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.
Special Guest: Dan Langille.&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, bsdcan, conference, server, r730, setup</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We’re interviewing Dan Langille about his new server project. He’ll talk to us about the things he’s building, some of which are a bit out of the ordinary. We’re also talking about BSDCan 2023 and what to expect after returning to an in-presence conference format. Enjoy!</p>

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

<h2>Interview - Dan Langille - <a href="mailto:dan@langille.org" target="_blank" rel="nofollow noopener">dan@langille.org</a> / <a href="https://twitter.com/dlangille" target="_blank" rel="nofollow noopener">@twitter</a></h2>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul><p>Special Guest: Dan Langille.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We’re interviewing Dan Langille about his new server project. He’ll talk to us about the things he’s building, some of which are a bit out of the ordinary. We’re also talking about BSDCan 2023 and what to expect after returning to an in-presence conference format. Enjoy!</p>

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

<h2>Interview - Dan Langille - <a href="mailto:dan@langille.org" target="_blank" rel="nofollow noopener">dan@langille.org</a> / <a href="https://twitter.com/dlangille" target="_blank" rel="nofollow noopener">@twitter</a></h2>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul><p>Special Guest: Dan Langille.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>498: Dropping Privileges</title>
  <link>https://www.bsdnow.tv/498</link>
  <guid isPermaLink="false">34def0f7-bb67-4f62-a94c-6ff7ac8576f9</guid>
  <pubDate>Thu, 16 Mar 2023 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/34def0f7-bb67-4f62-a94c-6ff7ac8576f9.mp3" length="41248128" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenZFS auditing for storage Performance, Privilege drop; privilege separation; and restricted-service operating mode in OpenBSD, OPNsense 23.1.1 release, Cloning a System with Ansible, FOSDEM 2023, BSDCan 2023 Travel Grants</itunes:subtitle>
  <itunes:duration>42:58</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>&lt;p&gt;OpenZFS auditing for storage Performance, Privilege drop; privilege separation; and restricted-service operating mode in OpenBSD, OPNsense 23.1.1 release, Cloning a System with Ansible, FOSDEM 2023, BSDCan 2023 Travel Grants&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-auditing-for-storage-performance/" target="_blank" rel="nofollow noopener"&gt;OpenZFS auditing for storage Performance&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sha256.net/privsep.html" target="_blank" rel="nofollow noopener"&gt;Privilege drop, privilege separation, and restricted-service operating mode in OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://forum.opnsense.org/index.php?topic=32484.0" target="_blank" rel="nofollow noopener"&gt;OPNsense 23.1.1 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://kernelpanic.life/software/cloning-a-system-with-ansible.html" target="_blank" rel="nofollow noopener"&gt;Cloning a System with Ansible&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/fosdem_2023" target="_blank" rel="nofollow noopener"&gt;FOSDEM 2023&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/bsdcan-2023-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2023 Travel Grant Application Now Open&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;The Undeadly Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20230120073530" target="_blank" rel="nofollow noopener"&gt;Game of Trees milestone&lt;/a&gt;&lt;br&gt;
&lt;a href="http://undeadly.org/cgi?action=article;sid=20230210065830" target="_blank" rel="nofollow noopener"&gt;Game of Trees Daemon - video and slides (May make the older game of trees obsolete)&lt;/a&gt;&lt;br&gt;
&lt;a href="http://undeadly.org/cgi?action=article;sid=20230121125423" target="_blank" rel="nofollow noopener"&gt;amd64 execute-only committed to -current&lt;/a&gt;&lt;br&gt;
&lt;a href="http://undeadly.org/cgi?action=article;sid=20230214061952" target="_blank" rel="nofollow noopener"&gt;Using /bin/eject with USB flash drives&lt;/a&gt;&lt;br&gt;
&lt;a href="http://undeadly.org/cgi?action=article;sid=20230214061330" target="_blank" rel="nofollow noopener"&gt;Tunneling vxlan(4) over WireGuard wg(4)&lt;/a&gt;&lt;br&gt;
&lt;a href="http://undeadly.org/cgi?action=article;sid=20230128183032" target="_blank" rel="nofollow noopener"&gt;Console screendumps&lt;/a&gt;&lt;br&gt;
&lt;a href="http://undeadly.org/cgi?action=article;sid=20230130061324" target="_blank" rel="nofollow noopener"&gt;Execute-only status report&lt;/a&gt;&lt;br&gt;
&lt;a href="http://undeadly.org/cgi?action=article;sid=20230226065006" target="_blank" rel="nofollow noopener"&gt;OpenBSD in Canada&lt;/a&gt;&lt;br&gt;
&lt;a href="http://undeadly.org/cgi?action=article;sid=20230219234206" target="_blank" rel="nofollow noopener"&gt;Privilege drop, privilege separation, and restricted-service operating mode in OpenBSD&lt;/a&gt;&lt;br&gt;
&lt;a href="http://undeadly.org/cgi?action=article;sid=20230222064027" target="_blank" rel="nofollow noopener"&gt;Theo de Raadt on pinsyscall(2)&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/498/feedback/Kevin%20-%20PLUG.md" target="_blank" rel="nofollow noopener"&gt;Kevin - PLUG&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/498/feedback/Luna%20-%20FOSDEM.md" target="_blank" rel="nofollow noopener"&gt;Luna - FOSDEM&lt;/a&gt;
***

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, cli, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenZFS auditing for storage Performance, Privilege drop; privilege separation; and restricted-service operating mode in OpenBSD, OPNsense 23.1.1 release, Cloning a System with Ansible, FOSDEM 2023, BSDCan 2023 Travel Grants</p>

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

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-auditing-for-storage-performance/" target="_blank" rel="nofollow noopener">OpenZFS auditing for storage Performance</a></h3>

<hr>

<h3><a href="https://sha256.net/privsep.html" target="_blank" rel="nofollow noopener">Privilege drop, privilege separation, and restricted-service operating mode in OpenBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://forum.opnsense.org/index.php?topic=32484.0" target="_blank" rel="nofollow noopener">OPNsense 23.1.1 released</a></h3>

<hr>

<h3><a href="https://kernelpanic.life/software/cloning-a-system-with-ansible.html" target="_blank" rel="nofollow noopener">Cloning a System with Ansible</a></h3>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/fosdem_2023" target="_blank" rel="nofollow noopener">FOSDEM 2023</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/bsdcan-2023-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">BSDCan 2023 Travel Grant Application Now Open</a></h3>

<hr>

<h2>The Undeadly Bits</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20230120073530" target="_blank" rel="nofollow noopener">Game of Trees milestone</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230210065830" target="_blank" rel="nofollow noopener">Game of Trees Daemon - video and slides (May make the older game of trees obsolete)</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230121125423" target="_blank" rel="nofollow noopener">amd64 execute-only committed to -current</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230214061952" target="_blank" rel="nofollow noopener">Using /bin/eject with USB flash drives</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230214061330" target="_blank" rel="nofollow noopener">Tunneling vxlan(4) over WireGuard wg(4)</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230128183032" target="_blank" rel="nofollow noopener">Console screendumps</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230130061324" target="_blank" rel="nofollow noopener">Execute-only status report</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230226065006" target="_blank" rel="nofollow noopener">OpenBSD in Canada</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230219234206" target="_blank" rel="nofollow noopener">Privilege drop, privilege separation, and restricted-service operating mode in OpenBSD</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230222064027" target="_blank" rel="nofollow noopener">Theo de Raadt on pinsyscall(2)</a></p>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/498/feedback/Kevin%20-%20PLUG.md" target="_blank" rel="nofollow noopener">Kevin - PLUG</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/498/feedback/Luna%20-%20FOSDEM.md" target="_blank" rel="nofollow noopener">Luna - FOSDEM</a>
***

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenZFS auditing for storage Performance, Privilege drop; privilege separation; and restricted-service operating mode in OpenBSD, OPNsense 23.1.1 release, Cloning a System with Ansible, FOSDEM 2023, BSDCan 2023 Travel Grants</p>

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

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/openzfs-auditing-for-storage-performance/" target="_blank" rel="nofollow noopener">OpenZFS auditing for storage Performance</a></h3>

<hr>

<h3><a href="https://sha256.net/privsep.html" target="_blank" rel="nofollow noopener">Privilege drop, privilege separation, and restricted-service operating mode in OpenBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://forum.opnsense.org/index.php?topic=32484.0" target="_blank" rel="nofollow noopener">OPNsense 23.1.1 released</a></h3>

<hr>

<h3><a href="https://kernelpanic.life/software/cloning-a-system-with-ansible.html" target="_blank" rel="nofollow noopener">Cloning a System with Ansible</a></h3>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/fosdem_2023" target="_blank" rel="nofollow noopener">FOSDEM 2023</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/bsdcan-2023-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">BSDCan 2023 Travel Grant Application Now Open</a></h3>

<hr>

<h2>The Undeadly Bits</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20230120073530" target="_blank" rel="nofollow noopener">Game of Trees milestone</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230210065830" target="_blank" rel="nofollow noopener">Game of Trees Daemon - video and slides (May make the older game of trees obsolete)</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230121125423" target="_blank" rel="nofollow noopener">amd64 execute-only committed to -current</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230214061952" target="_blank" rel="nofollow noopener">Using /bin/eject with USB flash drives</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230214061330" target="_blank" rel="nofollow noopener">Tunneling vxlan(4) over WireGuard wg(4)</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230128183032" target="_blank" rel="nofollow noopener">Console screendumps</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230130061324" target="_blank" rel="nofollow noopener">Execute-only status report</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230226065006" target="_blank" rel="nofollow noopener">OpenBSD in Canada</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230219234206" target="_blank" rel="nofollow noopener">Privilege drop, privilege separation, and restricted-service operating mode in OpenBSD</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20230222064027" target="_blank" rel="nofollow noopener">Theo de Raadt on pinsyscall(2)</a></p>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/498/feedback/Kevin%20-%20PLUG.md" target="_blank" rel="nofollow noopener">Kevin - PLUG</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/498/feedback/Luna%20-%20FOSDEM.md" target="_blank" rel="nofollow noopener">Luna - FOSDEM</a>
***

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>497: Random Relinking SSHD</title>
  <link>https://www.bsdnow.tv/497</link>
  <guid isPermaLink="false">ce12be7b-8931-4d43-be2e-6260b5a41aff</guid>
  <pubDate>Thu, 09 Mar 2023 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ce12be7b-8931-4d43-be2e-6260b5a41aff.mp3" length="40798848" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>How to Catch a Bitcoin Miner, A Call For More Collaboration, zstd updates, hating hackathons, How to monitor multiple log files at once, KeePassXC, sshd random relinking at boot, and more</itunes:subtitle>
  <itunes:duration>42:29</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>&lt;p&gt;How to Catch a Bitcoin Miner, A Call For More Collaboration, zstd updates, hating hackathons, How to monitor multiple log files at once, KeePassXC, sshd random relinking at boot, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/sysadmin-series-how-to-catch-a-bitcoin-miner/" target="_blank" rel="nofollow noopener"&gt;Sysadmin Series - How to Catch a Bitcoin Miner&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://fosdem.org/2023/schedule/event/bsd_driver_harmony/" target="_blank" rel="nofollow noopener"&gt;A Call For More Collaboration &amp;amp; Harmony Among BSD Hardware Drivers&lt;/a&gt;&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;• [Slides](https://fosdem.org/2023/schedule/event/bsd_driver_harmony/attachments/slides/5976/export/events/attachments/bsd_driver_harmony/slides/5976/BSD_Driver_Harmony_FOSDEM.pdf)
• Video is embedded on the schedule event page
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://vermaden.wordpress.com/2023/02/07/print-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Printing on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://github.com/facebook/zstd/releases/tag/v1.5.4" target="_blank" rel="nofollow noopener"&gt;zstd updates&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://pgpt.substack.com/p/i-hate-hackathons" target="_blank" rel="nofollow noopener"&gt;I hate hackathons&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sleeplessbeastie.eu/2023/02/01/how-to-monitor-multiple-log-files-at-once/" target="_blank" rel="nofollow noopener"&gt;How to monitor multiple log files at once&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://jpmens.net/2023/01/22/notes-to-self-keepassxc/" target="_blank" rel="nofollow noopener"&gt;Notes to self: KeePassXC&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20230119075627" target="_blank" rel="nofollow noopener"&gt;sshd random relinking at boot&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/497/feedback/Nelson%20-%20aix.md" target="_blank" rel="nofollow noopener"&gt;Nelson - aix.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/497/feedback/Adrian%20-%20vbsdcon.md" target="_blank" rel="nofollow noopener"&gt;Adrian - vbsdcon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, bitcoin, miner, collaboration, fosdem, hardware drivers, driver development, zstd, hackathon, monitor, logs, log file, keepassxc, sshd, random relinking </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>How to Catch a Bitcoin Miner, A Call For More Collaboration, zstd updates, hating hackathons, How to monitor multiple log files at once, KeePassXC, sshd random relinking at boot, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/sysadmin-series-how-to-catch-a-bitcoin-miner/" target="_blank" rel="nofollow noopener">Sysadmin Series - How to Catch a Bitcoin Miner</a></h3>

<hr>

<h3><a href="https://fosdem.org/2023/schedule/event/bsd_driver_harmony/" target="_blank" rel="nofollow noopener">A Call For More Collaboration &amp; Harmony Among BSD Hardware Drivers</a></h3>

<pre><code>• [Slides](https://fosdem.org/2023/schedule/event/bsd_driver_harmony/attachments/slides/5976/export/events/attachments/bsd_driver_harmony/slides/5976/BSD_Driver_Harmony_FOSDEM.pdf)
• Video is embedded on the schedule event page
</code></pre>

<hr>

<h3><a href="https://vermaden.wordpress.com/2023/02/07/print-on-freebsd/" target="_blank" rel="nofollow noopener">Printing on FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://github.com/facebook/zstd/releases/tag/v1.5.4" target="_blank" rel="nofollow noopener">zstd updates</a></h3>

<hr>

<h3><a href="https://pgpt.substack.com/p/i-hate-hackathons" target="_blank" rel="nofollow noopener">I hate hackathons</a></h3>

<hr>

<h3><a href="https://sleeplessbeastie.eu/2023/02/01/how-to-monitor-multiple-log-files-at-once/" target="_blank" rel="nofollow noopener">How to monitor multiple log files at once</a></h3>

<hr>

<h3><a href="https://jpmens.net/2023/01/22/notes-to-self-keepassxc/" target="_blank" rel="nofollow noopener">Notes to self: KeePassXC</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230119075627" target="_blank" rel="nofollow noopener">sshd random relinking at boot</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/497/feedback/Nelson%20-%20aix.md" target="_blank" rel="nofollow noopener">Nelson - aix.md</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/497/feedback/Adrian%20-%20vbsdcon.md" target="_blank" rel="nofollow noopener">Adrian - vbsdcon</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>How to Catch a Bitcoin Miner, A Call For More Collaboration, zstd updates, hating hackathons, How to monitor multiple log files at once, KeePassXC, sshd random relinking at boot, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/sysadmin-series-how-to-catch-a-bitcoin-miner/" target="_blank" rel="nofollow noopener">Sysadmin Series - How to Catch a Bitcoin Miner</a></h3>

<hr>

<h3><a href="https://fosdem.org/2023/schedule/event/bsd_driver_harmony/" target="_blank" rel="nofollow noopener">A Call For More Collaboration &amp; Harmony Among BSD Hardware Drivers</a></h3>

<pre><code>• [Slides](https://fosdem.org/2023/schedule/event/bsd_driver_harmony/attachments/slides/5976/export/events/attachments/bsd_driver_harmony/slides/5976/BSD_Driver_Harmony_FOSDEM.pdf)
• Video is embedded on the schedule event page
</code></pre>

<hr>

<h3><a href="https://vermaden.wordpress.com/2023/02/07/print-on-freebsd/" target="_blank" rel="nofollow noopener">Printing on FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://github.com/facebook/zstd/releases/tag/v1.5.4" target="_blank" rel="nofollow noopener">zstd updates</a></h3>

<hr>

<h3><a href="https://pgpt.substack.com/p/i-hate-hackathons" target="_blank" rel="nofollow noopener">I hate hackathons</a></h3>

<hr>

<h3><a href="https://sleeplessbeastie.eu/2023/02/01/how-to-monitor-multiple-log-files-at-once/" target="_blank" rel="nofollow noopener">How to monitor multiple log files at once</a></h3>

<hr>

<h3><a href="https://jpmens.net/2023/01/22/notes-to-self-keepassxc/" target="_blank" rel="nofollow noopener">Notes to self: KeePassXC</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20230119075627" target="_blank" rel="nofollow noopener">sshd random relinking at boot</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/497/feedback/Nelson%20-%20aix.md" target="_blank" rel="nofollow noopener">Nelson - aix.md</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/497/feedback/Adrian%20-%20vbsdcon.md" target="_blank" rel="nofollow noopener">Adrian - vbsdcon</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>496: Hacking the CLI</title>
  <link>https://www.bsdnow.tv/496</link>
  <guid isPermaLink="false">2c0b464e-375e-42af-b44a-62ca75b4b31a</guid>
  <pubDate>Thu, 02 Mar 2023 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2c0b464e-375e-42af-b44a-62ca75b4b31a.mp3" length="43280256" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Automation and Hacking Your FreeBSD CLI, Run your own instant messaging service on FreeBSD, Watch Netflix on FreeBSD, HardenedBSD January 2023 Status Report, How To Set Up SSH Keys With YubiKey as two-factor authentication, OpenSSH fixes double-free memory bug that’s pokable over the network, A late announcement, but better late than never, Next NYC*BUG and more</itunes:subtitle>
  <itunes:duration>45:05</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>&lt;p&gt;Automation and Hacking Your FreeBSD CLI, Run your own instant messaging service on FreeBSD, Watch Netflix on FreeBSD, HardenedBSD January 2023 Status Report, How To Set Up SSH Keys With YubiKey as two-factor authentication, OpenSSH fixes double-free memory bug that’s pokable over the network, A late announcement, but better late than never, Next NYC*BUG and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/automation-and-hacking-your-freebsd-cli/" target="_blank" rel="nofollow noopener"&gt;Automation and Hacking Your FreeBSD CLI&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://xn--gckvb8fzb.com/run-your-own-instant-messaging-service-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Run your own instant messaging service on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://byte--sized-de.translate.goog/linux-unix/netflix-auf-freebsd-schauen/?_x_tr_sl=de&amp;amp;_x_tr_tl=en&amp;amp;_x_tr_hl=en&amp;amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener"&gt;Watch Netflix on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2023-01-31/hardenedbsd-january-2023-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD January 2023 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cyberciti.biz/security/how-to-set-up-ssh-keys-with-yubikey-as-two-factor-authentication-u2f-fido2/" target="_blank" rel="nofollow noopener"&gt;How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://nakedsecurity.sophos.com/2023/02/03/openssh-fixes-double-free-memory-bug-thats-pokable-over-the-network/" target="_blank" rel="nofollow noopener"&gt;OpenSSH fixes double-free memory bug that’s pokable over the network&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/chettrick/discobsd/releases/tag/DISCOBSD_2_0" target="_blank" rel="nofollow noopener"&gt;A late announcement, but better late than never&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.nycbug.org:8443/pipermail/talk/2023-February/018550.html" target="_blank" rel="nofollow noopener"&gt;Next NYC*BUG: March? April? Certainly May!&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/496/feedback/Daniel%20-%20Plan%209%20lives.md" target="_blank" rel="nofollow noopener"&gt;Daniel - Plan 9 lives&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/496/feedback/Jason%20-%20nvd%20driver.md" target="_blank" rel="nofollow noopener"&gt;Jason - nvd driver&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, automation, hacking, cli, instant message, messaging, netflix, status report, ssh, keys, 2fa, memory, bug, bugfix, fix, discobsd, nycbug</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Automation and Hacking Your FreeBSD CLI, Run your own instant messaging service on FreeBSD, Watch Netflix on FreeBSD, HardenedBSD January 2023 Status Report, How To Set Up SSH Keys With YubiKey as two-factor authentication, OpenSSH fixes double-free memory bug that’s pokable over the network, A late announcement, but better late than never, Next NYC*BUG 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/automation-and-hacking-your-freebsd-cli/" target="_blank" rel="nofollow noopener">Automation and Hacking Your FreeBSD CLI</a></h3>

<hr>

<h3><a href="https://xn--gckvb8fzb.com/run-your-own-instant-messaging-service-on-freebsd/" target="_blank" rel="nofollow noopener">Run your own instant messaging service on FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://byte--sized-de.translate.goog/linux-unix/netflix-auf-freebsd-schauen/?_x_tr_sl=de&amp;_x_tr_tl=en&amp;_x_tr_hl=en&amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener">Watch Netflix on FreeBSD</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2023-01-31/hardenedbsd-january-2023-status-report" target="_blank" rel="nofollow noopener">HardenedBSD January 2023 Status Report</a></h3>

<hr>

<h3><a href="https://www.cyberciti.biz/security/how-to-set-up-ssh-keys-with-yubikey-as-two-factor-authentication-u2f-fido2/" target="_blank" rel="nofollow noopener">How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)</a></h3>

<hr>

<h3><a href="https://nakedsecurity.sophos.com/2023/02/03/openssh-fixes-double-free-memory-bug-thats-pokable-over-the-network/" target="_blank" rel="nofollow noopener">OpenSSH fixes double-free memory bug that’s pokable over the network</a></h3>

<hr>

<h3><a href="https://github.com/chettrick/discobsd/releases/tag/DISCOBSD_2_0" target="_blank" rel="nofollow noopener">A late announcement, but better late than never</a></h3>

<hr>

<h3><a href="https://lists.nycbug.org:8443/pipermail/talk/2023-February/018550.html" target="_blank" rel="nofollow noopener">Next NYC*BUG: March? April? Certainly May!</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/496/feedback/Daniel%20-%20Plan%209%20lives.md" target="_blank" rel="nofollow noopener">Daniel - Plan 9 lives</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/496/feedback/Jason%20-%20nvd%20driver.md" target="_blank" rel="nofollow noopener">Jason - nvd driver</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Automation and Hacking Your FreeBSD CLI, Run your own instant messaging service on FreeBSD, Watch Netflix on FreeBSD, HardenedBSD January 2023 Status Report, How To Set Up SSH Keys With YubiKey as two-factor authentication, OpenSSH fixes double-free memory bug that’s pokable over the network, A late announcement, but better late than never, Next NYC*BUG 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/automation-and-hacking-your-freebsd-cli/" target="_blank" rel="nofollow noopener">Automation and Hacking Your FreeBSD CLI</a></h3>

<hr>

<h3><a href="https://xn--gckvb8fzb.com/run-your-own-instant-messaging-service-on-freebsd/" target="_blank" rel="nofollow noopener">Run your own instant messaging service on FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://byte--sized-de.translate.goog/linux-unix/netflix-auf-freebsd-schauen/?_x_tr_sl=de&amp;_x_tr_tl=en&amp;_x_tr_hl=en&amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener">Watch Netflix on FreeBSD</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2023-01-31/hardenedbsd-january-2023-status-report" target="_blank" rel="nofollow noopener">HardenedBSD January 2023 Status Report</a></h3>

<hr>

<h3><a href="https://www.cyberciti.biz/security/how-to-set-up-ssh-keys-with-yubikey-as-two-factor-authentication-u2f-fido2/" target="_blank" rel="nofollow noopener">How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)</a></h3>

<hr>

<h3><a href="https://nakedsecurity.sophos.com/2023/02/03/openssh-fixes-double-free-memory-bug-thats-pokable-over-the-network/" target="_blank" rel="nofollow noopener">OpenSSH fixes double-free memory bug that’s pokable over the network</a></h3>

<hr>

<h3><a href="https://github.com/chettrick/discobsd/releases/tag/DISCOBSD_2_0" target="_blank" rel="nofollow noopener">A late announcement, but better late than never</a></h3>

<hr>

<h3><a href="https://lists.nycbug.org:8443/pipermail/talk/2023-February/018550.html" target="_blank" rel="nofollow noopener">Next NYC*BUG: March? April? Certainly May!</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/496/feedback/Daniel%20-%20Plan%209%20lives.md" target="_blank" rel="nofollow noopener">Daniel - Plan 9 lives</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/496/feedback/Jason%20-%20nvd%20driver.md" target="_blank" rel="nofollow noopener">Jason - nvd driver</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>495: Limited Jail Time</title>
  <link>https://www.bsdnow.tv/495</link>
  <guid isPermaLink="false">3a14bc16-5c33-4eb2-970e-fba476718e64</guid>
  <pubDate>Thu, 23 Feb 2023 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3a14bc16-5c33-4eb2-970e-fba476718e64.mp3" length="29095680" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Status Report Fourth Quarter 2022, How to limit a jail, the parallel port, Hello System 0.8, Solbournes in space, and more</itunes:subtitle>
  <itunes:duration>30:18</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>&lt;p&gt;FreeBSD Status Report Fourth Quarter 2022, How to limit a jail, the parallel port, Hello System 0.8, Solbournes in space, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/status/report-2022-10-2022-12/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Status Report Fourth Quarter 2022&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2023/01/16/how-to-limit-a-jail/" target="_blank" rel="nofollow noopener"&gt;How to limit a jail&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://computer.rip/2023-01-29-the-parallel-port.html" target="_blank" rel="nofollow noopener"&gt;The parallel port&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/helloSystem/ISO/releases/tag/r0.8.0" target="_blank" rel="nofollow noopener"&gt;Hello System 0.8 is out&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://oldvcr.blogspot.com/2023/01/solbournes-in-space.html" target="_blank" rel="nofollow noopener"&gt;Solbournes in space&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://minnie.tuhs.org/pipermail/tuhs/2023-January/027495.html" target="_blank" rel="nofollow noopener"&gt;Collecting notes for future “historians” was: Earliest UNIX Workstations?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freebsdfoundation.org/blog/new-open-position-freebsd-userland-software-developer/" target="_blank" rel="nofollow noopener"&gt;New Open Position: FreeBSD Userland Software Developer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/22539" target="_blank" rel="nofollow noopener"&gt;The One Lone Audiobook now exclusive on my store&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, status report, fourth quarter, limit, resource use, resource limits, parallel port, hello system, solbournes, space</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Status Report Fourth Quarter 2022, How to limit a jail, the parallel port, Hello System 0.8, Solbournes in space, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/status/report-2022-10-2022-12/" target="_blank" rel="nofollow noopener">FreeBSD Status Report Fourth Quarter 2022</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2023/01/16/how-to-limit-a-jail/" target="_blank" rel="nofollow noopener">How to limit a jail</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://computer.rip/2023-01-29-the-parallel-port.html" target="_blank" rel="nofollow noopener">The parallel port</a></h3>

<hr>

<h3><a href="https://github.com/helloSystem/ISO/releases/tag/r0.8.0" target="_blank" rel="nofollow noopener">Hello System 0.8 is out</a></h3>

<hr>

<h3><a href="https://oldvcr.blogspot.com/2023/01/solbournes-in-space.html" target="_blank" rel="nofollow noopener">Solbournes in space</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://minnie.tuhs.org/pipermail/tuhs/2023-January/027495.html" target="_blank" rel="nofollow noopener">Collecting notes for future “historians” was: Earliest UNIX Workstations?</a></li>
<li><a href="https://freebsdfoundation.org/blog/new-open-position-freebsd-userland-software-developer/" target="_blank" rel="nofollow noopener">New Open Position: FreeBSD Userland Software Developer</a></li>
<li><a href="https://mwl.io/archives/22539" target="_blank" rel="nofollow noopener">The One Lone Audiobook now exclusive on my store</a>
***</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Status Report Fourth Quarter 2022, How to limit a jail, the parallel port, Hello System 0.8, Solbournes in space, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/status/report-2022-10-2022-12/" target="_blank" rel="nofollow noopener">FreeBSD Status Report Fourth Quarter 2022</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2023/01/16/how-to-limit-a-jail/" target="_blank" rel="nofollow noopener">How to limit a jail</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://computer.rip/2023-01-29-the-parallel-port.html" target="_blank" rel="nofollow noopener">The parallel port</a></h3>

<hr>

<h3><a href="https://github.com/helloSystem/ISO/releases/tag/r0.8.0" target="_blank" rel="nofollow noopener">Hello System 0.8 is out</a></h3>

<hr>

<h3><a href="https://oldvcr.blogspot.com/2023/01/solbournes-in-space.html" target="_blank" rel="nofollow noopener">Solbournes in space</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://minnie.tuhs.org/pipermail/tuhs/2023-January/027495.html" target="_blank" rel="nofollow noopener">Collecting notes for future “historians” was: Earliest UNIX Workstations?</a></li>
<li><a href="https://freebsdfoundation.org/blog/new-open-position-freebsd-userland-software-developer/" target="_blank" rel="nofollow noopener">New Open Position: FreeBSD Userland Software Developer</a></li>
<li><a href="https://mwl.io/archives/22539" target="_blank" rel="nofollow noopener">The One Lone Audiobook now exclusive on my store</a>
***</li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>494: Unix workstation extinction</title>
  <link>https://www.bsdnow.tv/494</link>
  <guid isPermaLink="false">b6bd08a9-8d1d-4bc9-8024-a8153fe7b304</guid>
  <pubDate>Thu, 16 Feb 2023 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b6bd08a9-8d1d-4bc9-8024-a8153fe7b304.mp3" length="44895744" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Mass extinction of UNIX workstations, Determine Who Can Log In to an SSH Server, Factors When Considering FreeBSD vs. Linux Packages, A Visual Guide to SSH Tunnels, Harvesting the Noise While it’s Fresh, Bastille - The Jail Manager on FreeBSD, and more</itunes:subtitle>
  <itunes:duration>46:45</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>&lt;p&gt;Mass extinction of UNIX workstations, Determine Who Can Log In to an SSH Server, Factors When Considering FreeBSD vs. Linux Packages, A Visual Guide to SSH Tunnels, Harvesting the Noise While it’s Fresh, Bastille - The Jail Manager on FreeBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.osnews.com/story/135605/the-mass-extinction-of-unix-workstations/" target="_blank" rel="nofollow noopener"&gt;The mass extinction of UNIX workstations&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.agwa.name/blog/post/whoarethey" target="_blank" rel="nofollow noopener"&gt;whoarethey: Determine Who Can Log In to an SSH Server&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-vs-linux-5-factors-when-considering-freebsd-vs-linux-package-management/" target="_blank" rel="nofollow noopener"&gt;FreeBSD vs. Linux 5 Factors When Considering FreeBSD vs. Linux: Packages&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://iximiuz.com/en/posts/ssh-tunnels/" target="_blank" rel="nofollow noopener"&gt;A Visual Guide to SSH Tunnels: Local and Remote Port Forwarding&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://medium.com/@peter.hansteen/harvesting-the-noise-while-its-fresh-revisited-3da1894cc8a7" target="_blank" rel="nofollow noopener"&gt;Harvesting the Noise While it’s Fresh, Revisited&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://byte--sized-de.translate.goog/linux-unix/bastille-der-jail-manager-unter-freebsd/?_x_tr_sl=de&amp;amp;_x_tr_tl=en&amp;amp;_x_tr_hl=en&amp;amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener"&gt;Bastille - The Jail Manager on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, workstation, factors, deciding, decision, comparison, ssh, login, visual guide, tunnel, bastille, jail manager</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Mass extinction of UNIX workstations, Determine Who Can Log In to an SSH Server, Factors When Considering FreeBSD vs. Linux Packages, A Visual Guide to SSH Tunnels, Harvesting the Noise While it’s Fresh, Bastille - The Jail Manager on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.osnews.com/story/135605/the-mass-extinction-of-unix-workstations/" target="_blank" rel="nofollow noopener">The mass extinction of UNIX workstations</a></h3>

<hr>

<h3><a href="https://www.agwa.name/blog/post/whoarethey" target="_blank" rel="nofollow noopener">whoarethey: Determine Who Can Log In to an SSH Server</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-vs-linux-5-factors-when-considering-freebsd-vs-linux-package-management/" target="_blank" rel="nofollow noopener">FreeBSD vs. Linux 5 Factors When Considering FreeBSD vs. Linux: Packages</a></h3>

<hr>

<h3><a href="https://iximiuz.com/en/posts/ssh-tunnels/" target="_blank" rel="nofollow noopener">A Visual Guide to SSH Tunnels: Local and Remote Port Forwarding</a></h3>

<hr>

<h3><a href="https://medium.com/@peter.hansteen/harvesting-the-noise-while-its-fresh-revisited-3da1894cc8a7" target="_blank" rel="nofollow noopener">Harvesting the Noise While it’s Fresh, Revisited</a></h3>

<hr>

<h3><a href="https://byte--sized-de.translate.goog/linux-unix/bastille-der-jail-manager-unter-freebsd/?_x_tr_sl=de&amp;_x_tr_tl=en&amp;_x_tr_hl=en&amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener">Bastille - The Jail Manager on FreeBSD</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Mass extinction of UNIX workstations, Determine Who Can Log In to an SSH Server, Factors When Considering FreeBSD vs. Linux Packages, A Visual Guide to SSH Tunnels, Harvesting the Noise While it’s Fresh, Bastille - The Jail Manager on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.osnews.com/story/135605/the-mass-extinction-of-unix-workstations/" target="_blank" rel="nofollow noopener">The mass extinction of UNIX workstations</a></h3>

<hr>

<h3><a href="https://www.agwa.name/blog/post/whoarethey" target="_blank" rel="nofollow noopener">whoarethey: Determine Who Can Log In to an SSH Server</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-vs-linux-5-factors-when-considering-freebsd-vs-linux-package-management/" target="_blank" rel="nofollow noopener">FreeBSD vs. Linux 5 Factors When Considering FreeBSD vs. Linux: Packages</a></h3>

<hr>

<h3><a href="https://iximiuz.com/en/posts/ssh-tunnels/" target="_blank" rel="nofollow noopener">A Visual Guide to SSH Tunnels: Local and Remote Port Forwarding</a></h3>

<hr>

<h3><a href="https://medium.com/@peter.hansteen/harvesting-the-noise-while-its-fresh-revisited-3da1894cc8a7" target="_blank" rel="nofollow noopener">Harvesting the Noise While it’s Fresh, Revisited</a></h3>

<hr>

<h3><a href="https://byte--sized-de.translate.goog/linux-unix/bastille-der-jail-manager-unter-freebsd/?_x_tr_sl=de&amp;_x_tr_tl=en&amp;_x_tr_hl=en&amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener">Bastille - The Jail Manager on FreeBSD</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>493: Dotfile Management</title>
  <link>https://www.bsdnow.tv/493</link>
  <guid isPermaLink="false">ef98d63f-3086-456f-9297-d17503684aec</guid>
  <pubDate>Thu, 09 Feb 2023 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ef98d63f-3086-456f-9297-d17503684aec.mp3" length="40797696" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Write Admin tools from Day One, Differentiating between Data Security and Data Integrity, 45 year-old Unix tool is finally getting an upgrade, OpenBSD 7.2 on an ODROID-HC4, Dotfiles Management, and more</itunes:subtitle>
  <itunes:duration>42:29</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>&lt;p&gt;Write Admin tools from Day One, Differentiating between Data Security and Data Integrity, 45 year-old Unix tool is finally getting an upgrade, OpenBSD 7.2 on an ODROID-HC4, Dotfiles Management, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://milwaukeemaven.blogspot.com/2022/08/write-admin-tools-from-day-one.html" target="_blank" rel="nofollow noopener"&gt;Write Admin tools from Day One&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-data-security-vs-integrity/" target="_blank" rel="nofollow noopener"&gt;Differentiating between Data Security and Data Integrity&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.techradar.com/news/45-year-old-unix-tool-finally-gets-an-upgrade" target="_blank" rel="nofollow noopener"&gt;This 45 year-old Unix tool is finally getting an upgrade&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/2022/install-openbsd-odroid-hc4/" target="_blank" rel="nofollow noopener"&gt;Installing OpenBSD 7.2 on an ODROID-HC4&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mitxela.com/projects/dotfiles_management" target="_blank" rel="nofollow noopener"&gt;Dotfiles Management&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://freebsdfoundation.org/past-issues/observability-and-metrics/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal - November/December 2022 - Observability and Metrics&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/kusumi/netbsd_hammer2" target="_blank" rel="nofollow noopener"&gt;HAMMER2 file system for NetBSD&lt;/a&gt;&lt;br&gt;
&lt;a href="https://sohcahtoa.org.uk/openbsd.html" target="_blank" rel="nofollow noopener"&gt;Running OpenBSD 7.2 on your laptop is really hard (not)&lt;/a&gt;&lt;br&gt;
&lt;a href="https://dev.to/nabbisen/minio-on-openbsd-72-install-3b3h" target="_blank" rel="nofollow noopener"&gt;MinIO on OpenBSD 7.2: Install&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.adrianobarbosa.xyz/blog/openbsd-wireguard.html" target="_blank" rel="nofollow noopener"&gt;WireGuard VPN on OpenBSD&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/charmbracelet/gum" target="_blank" rel="nofollow noopener"&gt;A tool for glamorous shell scripts&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/james-stoup/heatwave" target="_blank" rel="nofollow noopener"&gt;Visualize your git commits with a heat map in the terminal&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>reebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, admin, tool, data security, data integrity, odroid hc4, dotfiles, configuration file, management</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Write Admin tools from Day One, Differentiating between Data Security and Data Integrity, 45 year-old Unix tool is finally getting an upgrade, OpenBSD 7.2 on an ODROID-HC4, Dotfiles Management, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://milwaukeemaven.blogspot.com/2022/08/write-admin-tools-from-day-one.html" target="_blank" rel="nofollow noopener">Write Admin tools from Day One</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/openzfs-data-security-vs-integrity/" target="_blank" rel="nofollow noopener">Differentiating between Data Security and Data Integrity</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.techradar.com/news/45-year-old-unix-tool-finally-gets-an-upgrade" target="_blank" rel="nofollow noopener">This 45 year-old Unix tool is finally getting an upgrade</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2022/install-openbsd-odroid-hc4/" target="_blank" rel="nofollow noopener">Installing OpenBSD 7.2 on an ODROID-HC4</a></h3>

<hr>

<h3><a href="https://mitxela.com/projects/dotfiles_management" target="_blank" rel="nofollow noopener">Dotfiles Management</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://freebsdfoundation.org/past-issues/observability-and-metrics/" target="_blank" rel="nofollow noopener">FreeBSD Journal - November/December 2022 - Observability and Metrics</a><br>
<a href="https://github.com/kusumi/netbsd_hammer2" target="_blank" rel="nofollow noopener">HAMMER2 file system for NetBSD</a><br>
<a href="https://sohcahtoa.org.uk/openbsd.html" target="_blank" rel="nofollow noopener">Running OpenBSD 7.2 on your laptop is really hard (not)</a><br>
<a href="https://dev.to/nabbisen/minio-on-openbsd-72-install-3b3h" target="_blank" rel="nofollow noopener">MinIO on OpenBSD 7.2: Install</a><br>
<a href="https://www.adrianobarbosa.xyz/blog/openbsd-wireguard.html" target="_blank" rel="nofollow noopener">WireGuard VPN on OpenBSD</a><br>
<a href="https://github.com/charmbracelet/gum" target="_blank" rel="nofollow noopener">A tool for glamorous shell scripts</a><br>
<a href="https://github.com/james-stoup/heatwave" target="_blank" rel="nofollow noopener">Visualize your git commits with a heat map in the terminal</a></p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Write Admin tools from Day One, Differentiating between Data Security and Data Integrity, 45 year-old Unix tool is finally getting an upgrade, OpenBSD 7.2 on an ODROID-HC4, Dotfiles Management, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://milwaukeemaven.blogspot.com/2022/08/write-admin-tools-from-day-one.html" target="_blank" rel="nofollow noopener">Write Admin tools from Day One</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/openzfs-data-security-vs-integrity/" target="_blank" rel="nofollow noopener">Differentiating between Data Security and Data Integrity</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.techradar.com/news/45-year-old-unix-tool-finally-gets-an-upgrade" target="_blank" rel="nofollow noopener">This 45 year-old Unix tool is finally getting an upgrade</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2022/install-openbsd-odroid-hc4/" target="_blank" rel="nofollow noopener">Installing OpenBSD 7.2 on an ODROID-HC4</a></h3>

<hr>

<h3><a href="https://mitxela.com/projects/dotfiles_management" target="_blank" rel="nofollow noopener">Dotfiles Management</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://freebsdfoundation.org/past-issues/observability-and-metrics/" target="_blank" rel="nofollow noopener">FreeBSD Journal - November/December 2022 - Observability and Metrics</a><br>
<a href="https://github.com/kusumi/netbsd_hammer2" target="_blank" rel="nofollow noopener">HAMMER2 file system for NetBSD</a><br>
<a href="https://sohcahtoa.org.uk/openbsd.html" target="_blank" rel="nofollow noopener">Running OpenBSD 7.2 on your laptop is really hard (not)</a><br>
<a href="https://dev.to/nabbisen/minio-on-openbsd-72-install-3b3h" target="_blank" rel="nofollow noopener">MinIO on OpenBSD 7.2: Install</a><br>
<a href="https://www.adrianobarbosa.xyz/blog/openbsd-wireguard.html" target="_blank" rel="nofollow noopener">WireGuard VPN on OpenBSD</a><br>
<a href="https://github.com/charmbracelet/gum" target="_blank" rel="nofollow noopener">A tool for glamorous shell scripts</a><br>
<a href="https://github.com/james-stoup/heatwave" target="_blank" rel="nofollow noopener">Visualize your git commits with a heat map in the terminal</a></p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>492: Feeling for NetBSD</title>
  <link>https://www.bsdnow.tv/492</link>
  <guid isPermaLink="false">2bb426c2-2403-431d-8816-4a3cd7ce8662</guid>
  <pubDate>Thu, 02 Feb 2023 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2bb426c2-2403-431d-8816-4a3cd7ce8662.mp3" length="37183104" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Writing your own operating system, Continuous Integration and Quality Assurance Update, feeling for the NetBSD community, Testing wanted: execute-only on amd64, GCC uses Modula-2 and Rust, do they work on OpenBSD, Unix is dead; long live Unix, and more</itunes:subtitle>
  <itunes:duration>38:43</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>&lt;p&gt;Writing your own operating system, Continuous Integration and Quality Assurance Update, feeling for the NetBSD community, Testing wanted: execute-only on amd64, GCC uses Modula-2 and Rust, do they work on OpenBSD, Unix is dead; long live Unix, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://o-oconnell.github.io/2023/01/12/p1os.html" target="_blank" rel="nofollow noopener"&gt;Part 1: Writing your own operating system&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/2022-in-review-continuous-integration-and-quality-assurance-update/" target="_blank" rel="nofollow noopener"&gt;2022 in Review: Continuous Integration and Quality Assurance Update&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/i-feel-for-the-netbsd-community/" target="_blank" rel="nofollow noopener"&gt;I feel for the NetBSD community&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20230115095258" target="_blank" rel="nofollow noopener"&gt;Testing wanted: execute-only on amd64&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://briancallahan.net/blog/" target="_blank" rel="nofollow noopener"&gt;GCC now includes Modula-2 and Rust. Do they work on OpenBSD?&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.theregister.com/2023/01/17/unix_is_dead/" target="_blank" rel="nofollow noopener"&gt;Unix is dead. Long live Unix!&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [Kevin - Advent of Computing podcast covers BSD](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/492/feedback/Kevin%20-%20Advent%20of%20Computing%20podcast%20covers%20BSD.md)
• [ilo - thanks](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/492/feedback/ilo%20-%20thanks.md)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, open source, shell, unix, os, berkeley, software, distribution, development, release, zfs, zpool, dataset, filesystem, storage, ports, packages, jails, interview, continuous integration, CI, CD, Quality assurance, QA, execute-only, amd64, architecture, gcc, modula-2, rust</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Writing your own operating system, Continuous Integration and Quality Assurance Update, feeling for the NetBSD community, Testing wanted: execute-only on amd64, GCC uses Modula-2 and Rust, do they work on OpenBSD, Unix is dead; long live Unix, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://o-oconnell.github.io/2023/01/12/p1os.html" target="_blank" rel="nofollow noopener">Part 1: Writing your own operating system</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/2022-in-review-continuous-integration-and-quality-assurance-update/" target="_blank" rel="nofollow noopener">2022 in Review: Continuous Integration and Quality Assurance Update</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/i-feel-for-the-netbsd-community/" target="_blank" rel="nofollow noopener">I feel for the NetBSD community</a></h3>

<hr>

<h3><a href="https://www.undeadly.org/cgi?action=article;sid=20230115095258" target="_blank" rel="nofollow noopener">Testing wanted: execute-only on amd64</a></h3>

<hr>

<h3><a href="https://briancallahan.net/blog/" target="_blank" rel="nofollow noopener">GCC now includes Modula-2 and Rust. Do they work on OpenBSD?</a></h3>

<hr>

<h3><a href="https://www.theregister.com/2023/01/17/unix_is_dead/" target="_blank" rel="nofollow noopener">Unix is dead. Long live Unix!</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<pre><code>• [Kevin - Advent of Computing podcast covers BSD](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/492/feedback/Kevin%20-%20Advent%20of%20Computing%20podcast%20covers%20BSD.md)
• [ilo - thanks](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/492/feedback/ilo%20-%20thanks.md)
</code></pre>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Writing your own operating system, Continuous Integration and Quality Assurance Update, feeling for the NetBSD community, Testing wanted: execute-only on amd64, GCC uses Modula-2 and Rust, do they work on OpenBSD, Unix is dead; long live Unix, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://o-oconnell.github.io/2023/01/12/p1os.html" target="_blank" rel="nofollow noopener">Part 1: Writing your own operating system</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/2022-in-review-continuous-integration-and-quality-assurance-update/" target="_blank" rel="nofollow noopener">2022 in Review: Continuous Integration and Quality Assurance Update</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/i-feel-for-the-netbsd-community/" target="_blank" rel="nofollow noopener">I feel for the NetBSD community</a></h3>

<hr>

<h3><a href="https://www.undeadly.org/cgi?action=article;sid=20230115095258" target="_blank" rel="nofollow noopener">Testing wanted: execute-only on amd64</a></h3>

<hr>

<h3><a href="https://briancallahan.net/blog/" target="_blank" rel="nofollow noopener">GCC now includes Modula-2 and Rust. Do they work on OpenBSD?</a></h3>

<hr>

<h3><a href="https://www.theregister.com/2023/01/17/unix_is_dead/" target="_blank" rel="nofollow noopener">Unix is dead. Long live Unix!</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<pre><code>• [Kevin - Advent of Computing podcast covers BSD](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/492/feedback/Kevin%20-%20Advent%20of%20Computing%20podcast%20covers%20BSD.md)
• [ilo - thanks](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/492/feedback/ilo%20-%20thanks.md)
</code></pre>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>491: Catch the Spammers</title>
  <link>https://www.bsdnow.tv/491</link>
  <guid isPermaLink="false">26dff077-f214-46c7-9ba3-a577e3c443df</guid>
  <pubDate>Thu, 26 Jan 2023 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/26dff077-f214-46c7-9ba3-a577e3c443df.mp3" length="40619520" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Dragonfly BSD 6.4 is out, Running OpenZFS – Choosing Between FreeBSD and Linux, OpenBSD Mastery: Filesystems ebook leaks, catching 71% spam, crazy unix shell prompts, Linux Binary Compatibility: Ubuntu on FreeBSD, Reproducible Builds Summit Venice 2022, and more</itunes:subtitle>
  <itunes:duration>42:18</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>&lt;p&gt;Dragonfly BSD 6.4 is out, Running OpenZFS – Choosing Between FreeBSD and Linux, OpenBSD Mastery: Filesystems ebook leaks, catching 71% spam, crazy unix shell prompts, Linux Binary Compatibility: Ubuntu on FreeBSD, Reproducible Builds Summit Venice 2022, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflybsd.org/release64/" target="_blank" rel="nofollow noopener"&gt;Dragonfly BSD 6.4 is out&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/running-openzfs-choosing-between-freebsd-and-linux/" target="_blank" rel="nofollow noopener"&gt;Running OpenZFS – Choosing Between FreeBSD and Linux&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mwl.io/archives/22462" target="_blank" rel="nofollow noopener"&gt;“OpenBSD Mastery: Filesystems” ebook leaking out&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsdly.blogspot.com/2022/12/can-your-spam-eater-manage-to-catch.html" target="_blank" rel="nofollow noopener"&gt;Can Your Spam-eater Manage to Catch Seventy-one Percent Like This Other Service?&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.nycbug.org:8443/pipermail/semibug/2022-December/000775.html" target="_blank" rel="nofollow noopener"&gt;Crazy unix shell prompts&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://byte--sized-de.translate.goog/linux-unix/linux-binary-compatibility-ubuntu-unter-freebsd/?_x_tr_sl=auto&amp;amp;_x_tr_tl=en&amp;amp;_x_tr_hl=en&amp;amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener"&gt;Linux Binary Compatibility: Ubuntu on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/reproducible_builds_summit_venice_2022" target="_blank" rel="nofollow noopener"&gt;Reproducible Builds Summit Venice 2022&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/491/feedback/Felix%20-%20Managing%20Jails%20with%20ansible.md" target="_blank" rel="nofollow noopener"&gt;Felix - Managing Jails with ansible&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/491/feedback/John%20Baldwin%20-%20bhyve%20networking%20setup%20article.md" target="_blank" rel="nofollow noopener"&gt;John Baldwin - bhyve networking setup article&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/491/feedback/Welton%20-%20bhyve%20webadmin.md" target="_blank" rel="nofollow noopener"&gt;Welton - bhyve webadmin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, storage, ports, packages, jails, interview, ebook, leaks, spam, spam trap, unix shell prompt, binary compatibility, reproducible builds, summit, venice</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Dragonfly BSD 6.4 is out, Running OpenZFS – Choosing Between FreeBSD and Linux, OpenBSD Mastery: Filesystems ebook leaks, catching 71% spam, crazy unix shell prompts, Linux Binary Compatibility: Ubuntu on FreeBSD, Reproducible Builds Summit Venice 2022, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release64/" target="_blank" rel="nofollow noopener">Dragonfly BSD 6.4 is out</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/running-openzfs-choosing-between-freebsd-and-linux/" target="_blank" rel="nofollow noopener">Running OpenZFS – Choosing Between FreeBSD and Linux</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mwl.io/archives/22462" target="_blank" rel="nofollow noopener">“OpenBSD Mastery: Filesystems” ebook leaking out</a></h3>

<hr>

<h3><a href="https://bsdly.blogspot.com/2022/12/can-your-spam-eater-manage-to-catch.html" target="_blank" rel="nofollow noopener">Can Your Spam-eater Manage to Catch Seventy-one Percent Like This Other Service?</a></h3>

<hr>

<h3><a href="https://lists.nycbug.org:8443/pipermail/semibug/2022-December/000775.html" target="_blank" rel="nofollow noopener">Crazy unix shell prompts</a></h3>

<hr>

<h3><a href="https://byte--sized-de.translate.goog/linux-unix/linux-binary-compatibility-ubuntu-unter-freebsd/?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en&amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener">Linux Binary Compatibility: Ubuntu on FreeBSD</a></h3>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/reproducible_builds_summit_venice_2022" target="_blank" rel="nofollow noopener">Reproducible Builds Summit Venice 2022</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/491/feedback/Felix%20-%20Managing%20Jails%20with%20ansible.md" target="_blank" rel="nofollow noopener">Felix - Managing Jails with ansible</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/491/feedback/John%20Baldwin%20-%20bhyve%20networking%20setup%20article.md" target="_blank" rel="nofollow noopener">John Baldwin - bhyve networking setup article</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/491/feedback/Welton%20-%20bhyve%20webadmin.md" target="_blank" rel="nofollow noopener">Welton - bhyve webadmin</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Dragonfly BSD 6.4 is out, Running OpenZFS – Choosing Between FreeBSD and Linux, OpenBSD Mastery: Filesystems ebook leaks, catching 71% spam, crazy unix shell prompts, Linux Binary Compatibility: Ubuntu on FreeBSD, Reproducible Builds Summit Venice 2022, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release64/" target="_blank" rel="nofollow noopener">Dragonfly BSD 6.4 is out</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/running-openzfs-choosing-between-freebsd-and-linux/" target="_blank" rel="nofollow noopener">Running OpenZFS – Choosing Between FreeBSD and Linux</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mwl.io/archives/22462" target="_blank" rel="nofollow noopener">“OpenBSD Mastery: Filesystems” ebook leaking out</a></h3>

<hr>

<h3><a href="https://bsdly.blogspot.com/2022/12/can-your-spam-eater-manage-to-catch.html" target="_blank" rel="nofollow noopener">Can Your Spam-eater Manage to Catch Seventy-one Percent Like This Other Service?</a></h3>

<hr>

<h3><a href="https://lists.nycbug.org:8443/pipermail/semibug/2022-December/000775.html" target="_blank" rel="nofollow noopener">Crazy unix shell prompts</a></h3>

<hr>

<h3><a href="https://byte--sized-de.translate.goog/linux-unix/linux-binary-compatibility-ubuntu-unter-freebsd/?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en&amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener">Linux Binary Compatibility: Ubuntu on FreeBSD</a></h3>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/reproducible_builds_summit_venice_2022" target="_blank" rel="nofollow noopener">Reproducible Builds Summit Venice 2022</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/491/feedback/Felix%20-%20Managing%20Jails%20with%20ansible.md" target="_blank" rel="nofollow noopener">Felix - Managing Jails with ansible</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/491/feedback/John%20Baldwin%20-%20bhyve%20networking%20setup%20article.md" target="_blank" rel="nofollow noopener">John Baldwin - bhyve networking setup article</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/491/feedback/Welton%20-%20bhyve%20webadmin.md" target="_blank" rel="nofollow noopener">Welton - bhyve webadmin</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>490: New Year’s Plan9’ing</title>
  <link>https://www.bsdnow.tv/490</link>
  <guid isPermaLink="false">ae658daa-12a6-4e03-b688-5970278fb273</guid>
  <pubDate>Thu, 19 Jan 2023 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ae658daa-12a6-4e03-b688-5970278fb273.mp3" length="44370432" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Foundation’s Software Development review of 2022, what can we learn from Vintage Computing, OpenBSD KDE Status Report 2022, a Decade of HardenedBSD, In Praise of Plan9, and more</itunes:subtitle>
  <itunes:duration>46:13</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>&lt;p&gt;FreeBSD Foundation’s Software Development review of 2022, what can we learn from Vintage Computing, OpenBSD KDE Status Report 2022, a Decade of HardenedBSD, In Praise of Plan9, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/2022-in-review-software-development/" target="_blank" rel="nofollow noopener"&gt;2022 in Review: Software Development&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/readme/featured/vintage-computing" target="_blank" rel="nofollow noopener"&gt;What can we learn from Vintage Computing&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.sizeofvoid.org/posts/2022-26-12-openbsd-kde-status-report-2022/" target="_blank" rel="nofollow noopener"&gt;OpenBSD KDE Status Report 2022&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://git.hardenedbsd.org/shawn.webb/articles/-/blob/master/hardenedbsd/2023-01_decade/article.md" target="_blank" rel="nofollow noopener"&gt;A Decade of HardenedBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://drewdevault.com/2022/11/12/In-praise-of-Plan-9.html" target="_blank" rel="nofollow noopener"&gt;In Praise of Plan9&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20221212183516" target="_blank" rel="nofollow noopener"&gt;LibreSSL 3.7.0 Released&lt;/a&gt;&lt;br&gt;
&lt;a href="https://opnsense.org/opnsense-22-7-10-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 22.7.10 released&lt;/a&gt;&lt;br&gt;
&lt;a href="https://lists.bsdcan.org/pipermail/bsdcan-announce/2022-December/000194.html" target="_blank" rel="nofollow noopener"&gt;BSDCan 2023 call for papers&lt;/a&gt;&lt;br&gt;
&lt;a href="https://sleeplessbeastie.eu/2022/12/28/how-to-lock-openssh-authentication-agent/" target="_blank" rel="nofollow noopener"&gt;How to lock OpenSSH authentication agent&lt;/a&gt;&lt;br&gt;
&lt;a href="https://mastodon.laurenweinstein.org/@lauren/109588605178700335" target="_blank" rel="nofollow noopener"&gt;Once upon a time long ago, I was sitting alone in the UCLA ARPANET site...&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, storage, ports, packages, jails, interview, development, vintage computing, kde, status report, plan9</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Foundation’s Software Development review of 2022, what can we learn from Vintage Computing, OpenBSD KDE Status Report 2022, a Decade of HardenedBSD, In Praise of Plan9, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/2022-in-review-software-development/" target="_blank" rel="nofollow noopener">2022 in Review: Software Development</a></h3>

<hr>

<h3><a href="https://github.com/readme/featured/vintage-computing" target="_blank" rel="nofollow noopener">What can we learn from Vintage Computing</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.sizeofvoid.org/posts/2022-26-12-openbsd-kde-status-report-2022/" target="_blank" rel="nofollow noopener">OpenBSD KDE Status Report 2022</a></h3>

<hr>

<h3><a href="https://git.hardenedbsd.org/shawn.webb/articles/-/blob/master/hardenedbsd/2023-01_decade/article.md" target="_blank" rel="nofollow noopener">A Decade of HardenedBSD</a></h3>

<hr>

<h3><a href="https://drewdevault.com/2022/11/12/In-praise-of-Plan-9.html" target="_blank" rel="nofollow noopener">In Praise of Plan9</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://undeadly.org/cgi?action=article;sid=20221212183516" target="_blank" rel="nofollow noopener">LibreSSL 3.7.0 Released</a><br>
<a href="https://opnsense.org/opnsense-22-7-10-released/" target="_blank" rel="nofollow noopener">OPNsense 22.7.10 released</a><br>
<a href="https://lists.bsdcan.org/pipermail/bsdcan-announce/2022-December/000194.html" target="_blank" rel="nofollow noopener">BSDCan 2023 call for papers</a><br>
<a href="https://sleeplessbeastie.eu/2022/12/28/how-to-lock-openssh-authentication-agent/" target="_blank" rel="nofollow noopener">How to lock OpenSSH authentication agent</a><br>
<a href="https://mastodon.laurenweinstein.org/@lauren/109588605178700335" target="_blank" rel="nofollow noopener">Once upon a time long ago, I was sitting alone in the UCLA ARPANET site...</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Foundation’s Software Development review of 2022, what can we learn from Vintage Computing, OpenBSD KDE Status Report 2022, a Decade of HardenedBSD, In Praise of Plan9, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/2022-in-review-software-development/" target="_blank" rel="nofollow noopener">2022 in Review: Software Development</a></h3>

<hr>

<h3><a href="https://github.com/readme/featured/vintage-computing" target="_blank" rel="nofollow noopener">What can we learn from Vintage Computing</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.sizeofvoid.org/posts/2022-26-12-openbsd-kde-status-report-2022/" target="_blank" rel="nofollow noopener">OpenBSD KDE Status Report 2022</a></h3>

<hr>

<h3><a href="https://git.hardenedbsd.org/shawn.webb/articles/-/blob/master/hardenedbsd/2023-01_decade/article.md" target="_blank" rel="nofollow noopener">A Decade of HardenedBSD</a></h3>

<hr>

<h3><a href="https://drewdevault.com/2022/11/12/In-praise-of-Plan-9.html" target="_blank" rel="nofollow noopener">In Praise of Plan9</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://undeadly.org/cgi?action=article;sid=20221212183516" target="_blank" rel="nofollow noopener">LibreSSL 3.7.0 Released</a><br>
<a href="https://opnsense.org/opnsense-22-7-10-released/" target="_blank" rel="nofollow noopener">OPNsense 22.7.10 released</a><br>
<a href="https://lists.bsdcan.org/pipermail/bsdcan-announce/2022-December/000194.html" target="_blank" rel="nofollow noopener">BSDCan 2023 call for papers</a><br>
<a href="https://sleeplessbeastie.eu/2022/12/28/how-to-lock-openssh-authentication-agent/" target="_blank" rel="nofollow noopener">How to lock OpenSSH authentication agent</a><br>
<a href="https://mastodon.laurenweinstein.org/@lauren/109588605178700335" target="_blank" rel="nofollow noopener">Once upon a time long ago, I was sitting alone in the UCLA ARPANET site...</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>489: Refreshing Perspective</title>
  <link>https://www.bsdnow.tv/489</link>
  <guid isPermaLink="false">f53ef4ed-7907-4da2-8402-7154f773f79e</guid>
  <pubDate>Thu, 12 Jan 2023 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f53ef4ed-7907-4da2-8402-7154f773f79e.mp3" length="34737024" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD vs. Linux – Networking, HDMI sound output through TV speakers on FreeBSD 13, Getting started with tmux, Samba Active Directory, OpenIKED 7.2 released, FreeBSD Plasma 5 GUI Install, DHCP server howto in German, and more</itunes:subtitle>
  <itunes:duration>36:11</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>&lt;p&gt;FreeBSD vs. Linux – Networking, HDMI sound output through TV speakers on FreeBSD 13, Getting started with tmux, Samba Active Directory, OpenIKED 7.2 released, FreeBSD Plasma 5 GUI Install, DHCP server howto in German, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-vs-linux-networking/" target="_blank" rel="nofollow noopener"&gt;FreeBSD vs. Linux – Networking&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://forums.raspberrypi.com/viewtopic.php?t=343233" target="_blank" rel="nofollow noopener"&gt;(Solved), HDMI sound output through TV speakers Freebsd 13 or @4 plus VCHIQ audio patch - Raspberry Pi Forums&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://ittavern.com/getting-started-with-tmux/" target="_blank" rel="nofollow noopener"&gt;Getting started with tmux&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://cromwell-intl.com/open-source/samba-active-directory/freebsd-raspberry-pi.html" target="_blank" rel="nofollow noopener"&gt;Samba Active Directory&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20221202230711" target="_blank" rel="nofollow noopener"&gt;OpenIKED 7.2 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://byte--sized-de.translate.goog/linux-unix/freebsd-kde-plasma-5-als-gui-installieren/?_x_tr_sl=auto&amp;amp;_x_tr_tl=en&amp;amp;_x_tr_hl=en-US&amp;amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener"&gt;FreeBSD Plasma 5 GUI Install&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://byte-sized.de/linux-unix/freebsd-kde-plasma-5-als-gui-installieren/" target="_blank" rel="nofollow noopener"&gt;Original German Article&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, storage, ports, packages, jails, interview, networking, hdmi sound output, tv speakers, tmux, samba, active directory, openiked, plasma 5 GUI, dhcp server</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD vs. Linux – Networking, HDMI sound output through TV speakers on FreeBSD 13, Getting started with tmux, Samba Active Directory, OpenIKED 7.2 released, FreeBSD Plasma 5 GUI Install, DHCP server howto in German, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-vs-linux-networking/" target="_blank" rel="nofollow noopener">FreeBSD vs. Linux – Networking</a></h3>

<hr>

<h3><a href="https://forums.raspberrypi.com/viewtopic.php?t=343233" target="_blank" rel="nofollow noopener">(Solved), HDMI sound output through TV speakers Freebsd 13 or @4 plus VCHIQ audio patch - Raspberry Pi Forums</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://ittavern.com/getting-started-with-tmux/" target="_blank" rel="nofollow noopener">Getting started with tmux</a></h3>

<hr>

<h3><a href="https://cromwell-intl.com/open-source/samba-active-directory/freebsd-raspberry-pi.html" target="_blank" rel="nofollow noopener">Samba Active Directory</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20221202230711" target="_blank" rel="nofollow noopener">OpenIKED 7.2 released</a></h3>

<hr>

<h3><a href="https://byte--sized-de.translate.goog/linux-unix/freebsd-kde-plasma-5-als-gui-installieren/?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-US&amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener">FreeBSD Plasma 5 GUI Install</a></h3>

<ul>
<li><a href="https://byte-sized.de/linux-unix/freebsd-kde-plasma-5-als-gui-installieren/" target="_blank" rel="nofollow noopener">Original German Article</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD vs. Linux – Networking, HDMI sound output through TV speakers on FreeBSD 13, Getting started with tmux, Samba Active Directory, OpenIKED 7.2 released, FreeBSD Plasma 5 GUI Install, DHCP server howto in German, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-vs-linux-networking/" target="_blank" rel="nofollow noopener">FreeBSD vs. Linux – Networking</a></h3>

<hr>

<h3><a href="https://forums.raspberrypi.com/viewtopic.php?t=343233" target="_blank" rel="nofollow noopener">(Solved), HDMI sound output through TV speakers Freebsd 13 or @4 plus VCHIQ audio patch - Raspberry Pi Forums</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://ittavern.com/getting-started-with-tmux/" target="_blank" rel="nofollow noopener">Getting started with tmux</a></h3>

<hr>

<h3><a href="https://cromwell-intl.com/open-source/samba-active-directory/freebsd-raspberry-pi.html" target="_blank" rel="nofollow noopener">Samba Active Directory</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20221202230711" target="_blank" rel="nofollow noopener">OpenIKED 7.2 released</a></h3>

<hr>

<h3><a href="https://byte--sized-de.translate.goog/linux-unix/freebsd-kde-plasma-5-als-gui-installieren/?_x_tr_sl=auto&amp;_x_tr_tl=en&amp;_x_tr_hl=en-US&amp;_x_tr_pto=wapp" target="_blank" rel="nofollow noopener">FreeBSD Plasma 5 GUI Install</a></h3>

<ul>
<li><a href="https://byte-sized.de/linux-unix/freebsd-kde-plasma-5-als-gui-installieren/" target="_blank" rel="nofollow noopener">Original German Article</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>488: Old ping(8) bug</title>
  <link>https://www.bsdnow.tv/488</link>
  <guid isPermaLink="false">0ebed5dc-4761-4816-b5e6-9c17f80612b6</guid>
  <pubDate>Thu, 05 Jan 2023 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/0ebed5dc-4761-4816-b5e6-9c17f80612b6.mp3" length="34010112" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Finding a 24 year old bug in ping(8), The Role of Operating Systems in IOT, Authentication gateway with SSH on OpenBSD, FreeBSD 12.4 is out, and more</itunes:subtitle>
  <itunes:duration>35:25</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>&lt;p&gt;Finding a 24 year old bug in ping(8), The Role of Operating Systems in IOT, Authentication gateway with SSH on OpenBSD, FreeBSD 12.4 is out, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://tlakh.xyz/fuzzing-ping.html" target="_blank" rel="nofollow noopener"&gt;Fuzzing ping(8) … and finding a 24 year old bug&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/the-role-of-operating-systems-in-iot/" target="_blank" rel="nofollow noopener"&gt;The Role of Operating Systems in IOT&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2022-12-01-openbsd-authpf.html" target="_blank" rel="nofollow noopener"&gt;Authentication gateway with SSH on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/archives/freebsd-announce/2022-December/000059.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.4 is out&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/punktDe/vagrant-freebsd-boxbuilder" target="_blank" rel="nofollow noopener"&gt;Vagrant FreeBSD Boxbuilder&lt;/a&gt;&lt;br&gt;
&lt;a href="https://undeadly.org/cgi?action=article;sid=20221212183516" target="_blank" rel="nofollow noopener"&gt;LibreSSL 3.7.0 Released&lt;/a&gt;&lt;br&gt;
&lt;a href="https://opnsense.org/opnsense-22-7-9-released" target="_blank" rel="nofollow noopener"&gt;OPNsense 22.7.9 released&lt;/a&gt;&lt;br&gt;
&lt;a href="https://undeadly.org/cgi?action=article;sid=20221211164822" target="_blank" rel="nofollow noopener"&gt;BIOS Memory Map for vmd(8) Rewrite in Progress&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, storage, ports, packages, jails, interview, bug, debugging, ping, iot, internet of things, authentication gateway, ssh, fundraising, foundation</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Finding a 24 year old bug in ping(8), The Role of Operating Systems in IOT, Authentication gateway with SSH on OpenBSD, FreeBSD 12.4 is out, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://tlakh.xyz/fuzzing-ping.html" target="_blank" rel="nofollow noopener">Fuzzing ping(8) … and finding a 24 year old bug</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/the-role-of-operating-systems-in-iot/" target="_blank" rel="nofollow noopener">The Role of Operating Systems in IOT</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2022-12-01-openbsd-authpf.html" target="_blank" rel="nofollow noopener">Authentication gateway with SSH on OpenBSD</a></h3>

<hr>

<h3><a href="https://lists.freebsd.org/archives/freebsd-announce/2022-December/000059.html" target="_blank" rel="nofollow noopener">FreeBSD 12.4 is out</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://github.com/punktDe/vagrant-freebsd-boxbuilder" target="_blank" rel="nofollow noopener">Vagrant FreeBSD Boxbuilder</a><br>
<a href="https://undeadly.org/cgi?action=article;sid=20221212183516" target="_blank" rel="nofollow noopener">LibreSSL 3.7.0 Released</a><br>
<a href="https://opnsense.org/opnsense-22-7-9-released" target="_blank" rel="nofollow noopener">OPNsense 22.7.9 released</a><br>
<a href="https://undeadly.org/cgi?action=article;sid=20221211164822" target="_blank" rel="nofollow noopener">BIOS Memory Map for vmd(8) Rewrite in Progress</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Finding a 24 year old bug in ping(8), The Role of Operating Systems in IOT, Authentication gateway with SSH on OpenBSD, FreeBSD 12.4 is out, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://tlakh.xyz/fuzzing-ping.html" target="_blank" rel="nofollow noopener">Fuzzing ping(8) … and finding a 24 year old bug</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/the-role-of-operating-systems-in-iot/" target="_blank" rel="nofollow noopener">The Role of Operating Systems in IOT</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2022-12-01-openbsd-authpf.html" target="_blank" rel="nofollow noopener">Authentication gateway with SSH on OpenBSD</a></h3>

<hr>

<h3><a href="https://lists.freebsd.org/archives/freebsd-announce/2022-December/000059.html" target="_blank" rel="nofollow noopener">FreeBSD 12.4 is out</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://github.com/punktDe/vagrant-freebsd-boxbuilder" target="_blank" rel="nofollow noopener">Vagrant FreeBSD Boxbuilder</a><br>
<a href="https://undeadly.org/cgi?action=article;sid=20221212183516" target="_blank" rel="nofollow noopener">LibreSSL 3.7.0 Released</a><br>
<a href="https://opnsense.org/opnsense-22-7-9-released" target="_blank" rel="nofollow noopener">OPNsense 22.7.9 released</a><br>
<a href="https://undeadly.org/cgi?action=article;sid=20221211164822" target="_blank" rel="nofollow noopener">BIOS Memory Map for vmd(8) Rewrite in Progress</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>487: EuroBSDcon Interviews Pt. 2</title>
  <link>https://www.bsdnow.tv/487</link>
  <guid isPermaLink="false">0aac59a7-37df-4c7b-85fc-68c0d657cd47</guid>
  <pubDate>Thu, 29 Dec 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/0aac59a7-37df-4c7b-85fc-68c0d657cd47.mp3" length="32956800" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This year end episode of BSDNow features a trip report to EuroBSDcon by Mr. BSD.tv, as well as an interview with FreeBSD committer John Baldwin. Happy New Year, 2023!</itunes:subtitle>
  <itunes:duration>34:19</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>&lt;p&gt;This year end episode of BSDNow features a trip report to EuroBSDcon by Mr. BSD.tv, as well as an interview with FreeBSD committer John Baldwin. Happy New Year, 2023!&lt;/p&gt;

&lt;p&gt;NOTES***&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/eurobsdcon-2022-trip-report-patrick-mcevoy/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2022 Trip Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Interview 3 - John Baldwin - &lt;a href="mailto:email@email" target="_blank" rel="nofollow noopener"&gt;email@email&lt;/a&gt; / &lt;a href="https://twitter.com/user" target="_blank" rel="nofollow noopener"&gt;@twitter&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Interview topic&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, storage, ports, packages, jails, interview, trip report, bsd.tv, john baldwin</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This year end episode of BSDNow features a trip report to EuroBSDcon by Mr. BSD.tv, as well as an interview with FreeBSD committer John Baldwin. Happy New Year, 2023!</p>

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

<h3><a href="https://freebsdfoundation.org/blog/eurobsdcon-2022-trip-report-patrick-mcevoy/" target="_blank" rel="nofollow noopener">EuroBSDCon 2022 Trip Report</a></h3>

<hr>

<h2>Interview 3 - John Baldwin - <a href="mailto:email@email" target="_blank" rel="nofollow noopener">email@email</a> / <a href="https://twitter.com/user" target="_blank" rel="nofollow noopener">@twitter</a></h2>

<p>Interview topic</p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This year end episode of BSDNow features a trip report to EuroBSDcon by Mr. BSD.tv, as well as an interview with FreeBSD committer John Baldwin. Happy New Year, 2023!</p>

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

<h3><a href="https://freebsdfoundation.org/blog/eurobsdcon-2022-trip-report-patrick-mcevoy/" target="_blank" rel="nofollow noopener">EuroBSDCon 2022 Trip Report</a></h3>

<hr>

<h2>Interview 3 - John Baldwin - <a href="mailto:email@email" target="_blank" rel="nofollow noopener">email@email</a> / <a href="https://twitter.com/user" target="_blank" rel="nofollow noopener">@twitter</a></h2>

<p>Interview topic</p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>486: EuroBSDcon interviews</title>
  <link>https://www.bsdnow.tv/486</link>
  <guid isPermaLink="false">5876d0bf-0a23-4dc7-b582-fed2ae43bd85</guid>
  <pubDate>Thu, 22 Dec 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5876d0bf-0a23-4dc7-b582-fed2ae43bd85.mp3" length="37461120" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This special episode features two interviews we did at EuroBSDcon in Vienna this year. We talk with FreeBSD developers about how they got started, their current projects and more. Also, consider donating to your favorite BSD Foundation to keep the projects going. </itunes:subtitle>
  <itunes:duration>39:01</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>&lt;p&gt;This special episode features two interviews we did at EuroBSDcon in Vienna this year. We talk with FreeBSD developers about how they got started, their current projects and more. Also, consider donating to your favorite BSD Foundation to keep the projects going. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20221202062601" target="_blank" rel="nofollow noopener"&gt;Help the OpenBSD Foundation Reach Its 2022 Funding Goal&lt;/a&gt;&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;• [FreeBSD Foundation Donation Link](https://freebsdfoundation.org/donate/)
• [NetBSD Foundation Donation Link](http://www.netbsd.org/donations/#how-to-donate)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h2&gt;Interview 1 - Brooks Davis - &lt;a href="mailto:email@email" target="_blank" rel="nofollow noopener"&gt;email@email&lt;/a&gt; / &lt;a href="https://twitter.com/user" target="_blank" rel="nofollow noopener"&gt;@twitter&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Interview topic&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Interview 2 - Olivier Cochard-Labbe - &lt;a href="mailto:email@email" target="_blank" rel="nofollow noopener"&gt;email@email&lt;/a&gt; / &lt;a href="https://twitter.com/user" target="_blank" rel="nofollow noopener"&gt;@twitter&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Interview topic&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, storage, ports, packages, jails, interview, donate, donation, year-end fundraising, Brooks Davis, Olivier Cochard-Labbe</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This special episode features two interviews we did at EuroBSDcon in Vienna this year. We talk with FreeBSD developers about how they got started, their current projects and more. Also, consider donating to your favorite BSD Foundation to keep the projects going. </p>

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

<h3><a href="http://undeadly.org/cgi?action=article;sid=20221202062601" target="_blank" rel="nofollow noopener">Help the OpenBSD Foundation Reach Its 2022 Funding Goal</a></h3>

<pre><code>• [FreeBSD Foundation Donation Link](https://freebsdfoundation.org/donate/)
• [NetBSD Foundation Donation Link](http://www.netbsd.org/donations/#how-to-donate)
</code></pre>

<hr>

<h2>Interview 1 - Brooks Davis - <a href="mailto:email@email" target="_blank" rel="nofollow noopener">email@email</a> / <a href="https://twitter.com/user" target="_blank" rel="nofollow noopener">@twitter</a></h2>

<p>Interview topic</p>

<hr>

<h2>Interview 2 - Olivier Cochard-Labbe - <a href="mailto:email@email" target="_blank" rel="nofollow noopener">email@email</a> / <a href="https://twitter.com/user" target="_blank" rel="nofollow noopener">@twitter</a></h2>

<p>Interview topic</p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This special episode features two interviews we did at EuroBSDcon in Vienna this year. We talk with FreeBSD developers about how they got started, their current projects and more. Also, consider donating to your favorite BSD Foundation to keep the projects going. </p>

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

<h3><a href="http://undeadly.org/cgi?action=article;sid=20221202062601" target="_blank" rel="nofollow noopener">Help the OpenBSD Foundation Reach Its 2022 Funding Goal</a></h3>

<pre><code>• [FreeBSD Foundation Donation Link](https://freebsdfoundation.org/donate/)
• [NetBSD Foundation Donation Link](http://www.netbsd.org/donations/#how-to-donate)
</code></pre>

<hr>

<h2>Interview 1 - Brooks Davis - <a href="mailto:email@email" target="_blank" rel="nofollow noopener">email@email</a> / <a href="https://twitter.com/user" target="_blank" rel="nofollow noopener">@twitter</a></h2>

<p>Interview topic</p>

<hr>

<h2>Interview 2 - Olivier Cochard-Labbe - <a href="mailto:email@email" target="_blank" rel="nofollow noopener">email@email</a> / <a href="https://twitter.com/user" target="_blank" rel="nofollow noopener">@twitter</a></h2>

<p>Interview topic</p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>485: FreeBSD Home Assistant</title>
  <link>https://www.bsdnow.tv/485</link>
  <guid isPermaLink="false">b7197ea6-5468-43f4-bd01-fa80aeecc72e</guid>
  <pubDate>Thu, 15 Dec 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b7197ea6-5468-43f4-bd01-fa80aeecc72e.mp3" length="41792256" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Tails of the M1 GPU, Getting Home Assistant running in a FreeBSD 13.1 jail, interview with AWK creator Dr. Brian Kernighan, Next steps toward mimmutable, Unix's (technical) history is mostly old now, and more</itunes:subtitle>
  <itunes:duration>43:32</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>&lt;p&gt;Tails of the M1 GPU, Getting Home Assistant running in a FreeBSD 13.1 jail, interview with AWK creator Dr. Brian Kernighan, Next steps toward mimmutable, Unix's (technical) history is mostly old now, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://asahilinux.org/2022/11/tales-of-the-m1-gpu/" target="_blank" rel="nofollow noopener"&gt;Tails of the M1 GPU&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2022/08/27/getting-home-assistant-running-in-a-freebsd-13-1-jail/" target="_blank" rel="nofollow noopener"&gt;Getting Home Assistant running in a FreeBSD 13.1 jail&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://pldb.com/posts/brianKernighan.html" target="_blank" rel="nofollow noopener"&gt;A brief interview with AWK creator Dr. Brian Kernighan&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20221120115616" target="_blank" rel="nofollow noopener"&gt;Next steps toward mimmutable, from deraadt@&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/UnixHistoryMostlyOldNow" target="_blank" rel="nofollow noopener"&gt;Unix's (technical) history is mostly old now&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;MWL Update&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/22392" target="_blank" rel="nofollow noopener"&gt;Fediverse Servers, plus mac_portacl on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/22399" target="_blank" rel="nofollow noopener"&gt;Fifty Books. Thirty Years. What Next?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/22423" target="_blank" rel="nofollow noopener"&gt;Mailing List Freebies&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.ignoranthack.me/?p=686" target="_blank" rel="nofollow noopener"&gt;More #FreeBSD Power Saving Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackerstations.com/" target="_blank" rel="nofollow noopener"&gt;Hacker Stations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eklitzke.org/the-cult-of-dd" target="_blank" rel="nofollow noopener"&gt;The Cult of DD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://airyx.org/" target="_blank" rel="nofollow noopener"&gt;RavynOS&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;ravynOS (previously called airyxOS) is an open-source operating system based on FreeBSD, CMU Mach, and Apple open-source code that aims to be compatible with macOS applications and has no hardware restrictions.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, storage, ports, packages, jails, interview, M1 GPU, graphics processing unit, apple, home assistant, jail, awk, Brian Kernighan, mimmutable, history</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Tails of the M1 GPU, Getting Home Assistant running in a FreeBSD 13.1 jail, interview with AWK creator Dr. Brian Kernighan, Next steps toward mimmutable, Unix's (technical) history is mostly old now, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://asahilinux.org/2022/11/tales-of-the-m1-gpu/" target="_blank" rel="nofollow noopener">Tails of the M1 GPU</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2022/08/27/getting-home-assistant-running-in-a-freebsd-13-1-jail/" target="_blank" rel="nofollow noopener">Getting Home Assistant running in a FreeBSD 13.1 jail</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://pldb.com/posts/brianKernighan.html" target="_blank" rel="nofollow noopener">A brief interview with AWK creator Dr. Brian Kernighan</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20221120115616" target="_blank" rel="nofollow noopener">Next steps toward mimmutable, from deraadt@</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/UnixHistoryMostlyOldNow" target="_blank" rel="nofollow noopener">Unix's (technical) history is mostly old now</a></h3>

<hr>

<h3>MWL Update</h3>

<ul>
<li><a href="https://mwl.io/archives/22392" target="_blank" rel="nofollow noopener">Fediverse Servers, plus mac_portacl on FreeBSD</a></li>
<li><a href="https://mwl.io/archives/22399" target="_blank" rel="nofollow noopener">Fifty Books. Thirty Years. What Next?</a></li>
<li><a href="https://mwl.io/archives/22423" target="_blank" rel="nofollow noopener">Mailing List Freebies</a></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://blog.ignoranthack.me/?p=686" target="_blank" rel="nofollow noopener">More #FreeBSD Power Saving Notes</a></li>
<li><a href="https://hackerstations.com/" target="_blank" rel="nofollow noopener">Hacker Stations</a></li>
<li><a href="https://eklitzke.org/the-cult-of-dd" target="_blank" rel="nofollow noopener">The Cult of DD</a></li>
<li><a href="https://airyx.org/" target="_blank" rel="nofollow noopener">RavynOS</a>

<ul>
<li>ravynOS (previously called airyxOS) is an open-source operating system based on FreeBSD, CMU Mach, and Apple open-source code that aims to be compatible with macOS applications and has no hardware restrictions.</li>
</ul></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Tails of the M1 GPU, Getting Home Assistant running in a FreeBSD 13.1 jail, interview with AWK creator Dr. Brian Kernighan, Next steps toward mimmutable, Unix's (technical) history is mostly old now, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://asahilinux.org/2022/11/tales-of-the-m1-gpu/" target="_blank" rel="nofollow noopener">Tails of the M1 GPU</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2022/08/27/getting-home-assistant-running-in-a-freebsd-13-1-jail/" target="_blank" rel="nofollow noopener">Getting Home Assistant running in a FreeBSD 13.1 jail</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://pldb.com/posts/brianKernighan.html" target="_blank" rel="nofollow noopener">A brief interview with AWK creator Dr. Brian Kernighan</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20221120115616" target="_blank" rel="nofollow noopener">Next steps toward mimmutable, from deraadt@</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/UnixHistoryMostlyOldNow" target="_blank" rel="nofollow noopener">Unix's (technical) history is mostly old now</a></h3>

<hr>

<h3>MWL Update</h3>

<ul>
<li><a href="https://mwl.io/archives/22392" target="_blank" rel="nofollow noopener">Fediverse Servers, plus mac_portacl on FreeBSD</a></li>
<li><a href="https://mwl.io/archives/22399" target="_blank" rel="nofollow noopener">Fifty Books. Thirty Years. What Next?</a></li>
<li><a href="https://mwl.io/archives/22423" target="_blank" rel="nofollow noopener">Mailing List Freebies</a></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://blog.ignoranthack.me/?p=686" target="_blank" rel="nofollow noopener">More #FreeBSD Power Saving Notes</a></li>
<li><a href="https://hackerstations.com/" target="_blank" rel="nofollow noopener">Hacker Stations</a></li>
<li><a href="https://eklitzke.org/the-cult-of-dd" target="_blank" rel="nofollow noopener">The Cult of DD</a></li>
<li><a href="https://airyx.org/" target="_blank" rel="nofollow noopener">RavynOS</a>

<ul>
<li>ravynOS (previously called airyxOS) is an open-source operating system based on FreeBSD, CMU Mach, and Apple open-source code that aims to be compatible with macOS applications and has no hardware restrictions.</li>
</ul></li>
</ul>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>484: Birth of stderr</title>
  <link>https://www.bsdnow.tv/484</link>
  <guid isPermaLink="false">4f095d18-aa8c-465b-956d-03ca0f1f16f8</guid>
  <pubDate>Thu, 08 Dec 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4f095d18-aa8c-465b-956d-03ca0f1f16f8.mp3" length="34985472" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Virtualization showdown, The Birth of Standard Error, why Steam started picking a random font, Maintaining Sufficient Free Space with ZFS, updated Apple M1/M2 bootloader, code, FreeBSD on my workstation, and more </itunes:subtitle>
  <itunes:duration>36:26</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>&lt;p&gt;Virtualization showdown, The Birth of Standard Error, why Steam started picking a random font, Maintaining Sufficient Free Space with ZFS, updated Apple M1/M2 bootloader, code, FreeBSD on my workstation, and more &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/virtualization-showdown-freebsd-bhyve-linux-kvm/" target="_blank" rel="nofollow noopener"&gt;Virtualization showdown – FreeBSD’s bhyve vs. Linux’s KVM&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.spinellis.gr/blog/20131211/" target="_blank" rel="nofollow noopener"&gt;The Birth of Standard Error&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://blog.pkh.me/p/35-investigating-why-steam-started-picking-a-random-font.html" target="_blank" rel="nofollow noopener"&gt;Investigating why Steam started picking a random font&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://taras.glek.net/post/curious-case-of-maintaining-sufficient-free-space-with-zfs/" target="_blank" rel="nofollow noopener"&gt;Curious Case of Maintaining Sufficient Free Space with ZFS&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20221120113149" target="_blank" rel="nofollow noopener"&gt;Call for testing on updated Apple M1/M2 bootloader code&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://camandro.org/blog/2022-09-30-freebsd-on-my-workstation.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD on my workstation&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/484/feedback/Brad%20-%20Initial%20Setup.md" target="_blank" rel="nofollow noopener"&gt;Brad - Initial Setup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/484/feedback/joseph%20-%20openbsd%20and%20postgresql.md" target="_blank" rel="nofollow noopener"&gt;Joseph - openbsd and postgresql&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, storage, ports, packages, jails, interview, bhyve, kvm, virtualization, virtual, vm, standard error, stderr, steam, random, font, free space, M1, M2, bootloader, workstation</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Virtualization showdown, The Birth of Standard Error, why Steam started picking a random font, Maintaining Sufficient Free Space with ZFS, updated Apple M1/M2 bootloader, code, FreeBSD on my workstation, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/virtualization-showdown-freebsd-bhyve-linux-kvm/" target="_blank" rel="nofollow noopener">Virtualization showdown – FreeBSD’s bhyve vs. Linux’s KVM</a></h3>

<hr>

<h3><a href="https://www.spinellis.gr/blog/20131211/" target="_blank" rel="nofollow noopener">The Birth of Standard Error</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://blog.pkh.me/p/35-investigating-why-steam-started-picking-a-random-font.html" target="_blank" rel="nofollow noopener">Investigating why Steam started picking a random font</a></h3>

<hr>

<h3><a href="https://taras.glek.net/post/curious-case-of-maintaining-sufficient-free-space-with-zfs/" target="_blank" rel="nofollow noopener">Curious Case of Maintaining Sufficient Free Space with ZFS</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20221120113149" target="_blank" rel="nofollow noopener">Call for testing on updated Apple M1/M2 bootloader code</a></h3>

<hr>

<h3><a href="https://camandro.org/blog/2022-09-30-freebsd-on-my-workstation.html" target="_blank" rel="nofollow noopener">FreeBSD on my workstation</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/484/feedback/Brad%20-%20Initial%20Setup.md" target="_blank" rel="nofollow noopener">Brad - Initial Setup</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/484/feedback/joseph%20-%20openbsd%20and%20postgresql.md" target="_blank" rel="nofollow noopener">Joseph - openbsd and postgresql</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Virtualization showdown, The Birth of Standard Error, why Steam started picking a random font, Maintaining Sufficient Free Space with ZFS, updated Apple M1/M2 bootloader, code, FreeBSD on my workstation, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/virtualization-showdown-freebsd-bhyve-linux-kvm/" target="_blank" rel="nofollow noopener">Virtualization showdown – FreeBSD’s bhyve vs. Linux’s KVM</a></h3>

<hr>

<h3><a href="https://www.spinellis.gr/blog/20131211/" target="_blank" rel="nofollow noopener">The Birth of Standard Error</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://blog.pkh.me/p/35-investigating-why-steam-started-picking-a-random-font.html" target="_blank" rel="nofollow noopener">Investigating why Steam started picking a random font</a></h3>

<hr>

<h3><a href="https://taras.glek.net/post/curious-case-of-maintaining-sufficient-free-space-with-zfs/" target="_blank" rel="nofollow noopener">Curious Case of Maintaining Sufficient Free Space with ZFS</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20221120113149" target="_blank" rel="nofollow noopener">Call for testing on updated Apple M1/M2 bootloader code</a></h3>

<hr>

<h3><a href="https://camandro.org/blog/2022-09-30-freebsd-on-my-workstation.html" target="_blank" rel="nofollow noopener">FreeBSD on my workstation</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/484/feedback/Brad%20-%20Initial%20Setup.md" target="_blank" rel="nofollow noopener">Brad - Initial Setup</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/484/feedback/joseph%20-%20openbsd%20and%20postgresql.md" target="_blank" rel="nofollow noopener">Joseph - openbsd and postgresql</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>483: ZFS Time Machine</title>
  <link>https://www.bsdnow.tv/483</link>
  <guid isPermaLink="false">a6421b51-580d-42b5-8668-9703082f861b</guid>
  <pubDate>Thu, 01 Dec 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a6421b51-580d-42b5-8668-9703082f861b.mp3" length="48744192" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Research Unix Version 6 in the Open SIMH PDP-11 Emulator, The Hot Tub Time Machine is Your ZFS Turn-Back-Time Method, NFS on NetBSD: server and client side, HardenedBSD October 2022 Status Report, Nushell : Introduction, and more</itunes:subtitle>
  <itunes:duration>50:46</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>&lt;p&gt;Research Unix Version 6 in the Open SIMH PDP-11 Emulator, The Hot Tub Time Machine is Your ZFS Turn-Back-Time Method, NFS on NetBSD: server and client side, HardenedBSD October 2022 Status Report, Nushell : Introduction, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://decuser.blogspot.com/2022/10/installing-and-using-research-unix.html" target="_blank" rel="nofollow noopener"&gt;Installing and Using Research Unix Version 6 in the Open SIMH PDP-11 Emulator&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/httm-is-a-zfs-based-time-machine/" target="_blank" rel="nofollow noopener"&gt;httm – The Hot Tub Time Machine is Your ZFS Turn-Back-Time Method&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.unitedbsd.com/d/959-nfs-on-netbsd-server-and-client-side" target="_blank" rel="nofollow noopener"&gt;NFS on NetBSD: server and client side&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2022-10-31/hardenedbsd-october-2022-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD October 2022 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2022-10-31-nushell.html" target="_blank" rel="nofollow noopener"&gt;Nushell : Introduction&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hackaday.com/2022/10/18/if-only-the-kids-knew-about-pipes/" target="_blank" rel="nofollow noopener"&gt;Unix Pipe Game&lt;/a&gt;&lt;br&gt;
&lt;a href="https://people.freebsd.org/%7Egallatin/talks/euro2022.pdf" target="_blank" rel="nofollow noopener"&gt;Slides - The “other” FreeBSD optimizations used by Netflix to serve video at 800Gb/s from a single server&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.coreystephan.com/freebsd-friday/" target="_blank" rel="nofollow noopener"&gt;My FreeBSD Friday Lecture: The Writing Scholar’s Guide to FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/483/feedback/Dan%20-%20Response%20to%20Hans.md" target="_blank" rel="nofollow noopener"&gt;Dan - Response to Hans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/483/feedback/Johnny%20-%20bhyve%20question.md" target="_blank" rel="nofollow noopener"&gt;Johnny - bhyve question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/483/feedback/Manuel%20-%20EuroBSDcon%20social%20event.md" target="_blank" rel="nofollow noopener"&gt;Manuel - EuroBSDcon social event&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, ports, packages, jails, interview, research unix, version 6, simh pdp-11, emulator, httm, time machine, nfs, server, client, nushell</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Research Unix Version 6 in the Open SIMH PDP-11 Emulator, The Hot Tub Time Machine is Your ZFS Turn-Back-Time Method, NFS on NetBSD: server and client side, HardenedBSD October 2022 Status Report, Nushell : Introduction, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="http://decuser.blogspot.com/2022/10/installing-and-using-research-unix.html" target="_blank" rel="nofollow noopener">Installing and Using Research Unix Version 6 in the Open SIMH PDP-11 Emulator</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/httm-is-a-zfs-based-time-machine/" target="_blank" rel="nofollow noopener">httm – The Hot Tub Time Machine is Your ZFS Turn-Back-Time Method</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.unitedbsd.com/d/959-nfs-on-netbsd-server-and-client-side" target="_blank" rel="nofollow noopener">NFS on NetBSD: server and client side</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2022-10-31/hardenedbsd-october-2022-status-report" target="_blank" rel="nofollow noopener">HardenedBSD October 2022 Status Report</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2022-10-31-nushell.html" target="_blank" rel="nofollow noopener">Nushell : Introduction</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://hackaday.com/2022/10/18/if-only-the-kids-knew-about-pipes/" target="_blank" rel="nofollow noopener">Unix Pipe Game</a><br>
<a href="https://people.freebsd.org/%7Egallatin/talks/euro2022.pdf" target="_blank" rel="nofollow noopener">Slides - The “other” FreeBSD optimizations used by Netflix to serve video at 800Gb/s from a single server</a><br>
<a href="https://www.coreystephan.com/freebsd-friday/" target="_blank" rel="nofollow noopener">My FreeBSD Friday Lecture: The Writing Scholar’s Guide to FreeBSD</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/483/feedback/Dan%20-%20Response%20to%20Hans.md" target="_blank" rel="nofollow noopener">Dan - Response to Hans</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/483/feedback/Johnny%20-%20bhyve%20question.md" target="_blank" rel="nofollow noopener">Johnny - bhyve question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/483/feedback/Manuel%20-%20EuroBSDcon%20social%20event.md" target="_blank" rel="nofollow noopener">Manuel - EuroBSDcon social event</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Research Unix Version 6 in the Open SIMH PDP-11 Emulator, The Hot Tub Time Machine is Your ZFS Turn-Back-Time Method, NFS on NetBSD: server and client side, HardenedBSD October 2022 Status Report, Nushell : Introduction, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="http://decuser.blogspot.com/2022/10/installing-and-using-research-unix.html" target="_blank" rel="nofollow noopener">Installing and Using Research Unix Version 6 in the Open SIMH PDP-11 Emulator</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/httm-is-a-zfs-based-time-machine/" target="_blank" rel="nofollow noopener">httm – The Hot Tub Time Machine is Your ZFS Turn-Back-Time Method</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.unitedbsd.com/d/959-nfs-on-netbsd-server-and-client-side" target="_blank" rel="nofollow noopener">NFS on NetBSD: server and client side</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2022-10-31/hardenedbsd-october-2022-status-report" target="_blank" rel="nofollow noopener">HardenedBSD October 2022 Status Report</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2022-10-31-nushell.html" target="_blank" rel="nofollow noopener">Nushell : Introduction</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://hackaday.com/2022/10/18/if-only-the-kids-knew-about-pipes/" target="_blank" rel="nofollow noopener">Unix Pipe Game</a><br>
<a href="https://people.freebsd.org/%7Egallatin/talks/euro2022.pdf" target="_blank" rel="nofollow noopener">Slides - The “other” FreeBSD optimizations used by Netflix to serve video at 800Gb/s from a single server</a><br>
<a href="https://www.coreystephan.com/freebsd-friday/" target="_blank" rel="nofollow noopener">My FreeBSD Friday Lecture: The Writing Scholar’s Guide to FreeBSD</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/483/feedback/Dan%20-%20Response%20to%20Hans.md" target="_blank" rel="nofollow noopener">Dan - Response to Hans</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/483/feedback/Johnny%20-%20bhyve%20question.md" target="_blank" rel="nofollow noopener">Johnny - bhyve question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/483/feedback/Manuel%20-%20EuroBSDcon%20social%20event.md" target="_blank" rel="nofollow noopener">Manuel - EuroBSDcon social event</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>482: BSD XFCE Desktop</title>
  <link>https://www.bsdnow.tv/482</link>
  <guid isPermaLink="false">b4733d68-58d9-429a-b80d-d7a4522e3e33</guid>
  <pubDate>Thu, 24 Nov 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b4733d68-58d9-429a-b80d-d7a4522e3e33.mp3" length="37766784" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>5 Key Reasons to Consider Open Source Storage, OpenBSD Minimalist Desktop, BSD XFCE, Alpine Linux VM on bhyve - with root on ZFS, FreeBSD Jail Quick Setup with Networking, and more.</itunes:subtitle>
  <itunes:duration>39:20</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>&lt;p&gt;5 Key Reasons to Consider Open Source Storage, OpenBSD Minimalist Desktop, BSD XFCE, Alpine Linux VM on bhyve - with root on ZFS, FreeBSD Jail Quick Setup with Networking, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/open-source-storage-over-commercial-offerings/" target="_blank" rel="nofollow noopener"&gt;5 Key Reasons to Consider Open Source Storage Over Commercial Offerings&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://nechtan.io/articles/openbsd_minimalist_desktop.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Minimalist Desktop&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://github.com/Wamphyre/BSD-XFCE" target="_blank" rel="nofollow noopener"&gt;BSD-XFCE&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://it-notes.dragas.net/2022/11/01/creating-an-alpine-vm-on-bhyve-with-root-on-zfs-optionally-encrypted/" target="_blank" rel="nofollow noopener"&gt;Creating an Alpine Linux VM on bhyve - with root on ZFS (optionally encrypted)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.shaka.today/freebsd-jail-quick-setup-with-networking-2022/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Jail Quick Setup with Networking (2022)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/c/EuroBSDcon/videos" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon videos are now up&lt;/a&gt;&lt;br&gt;
&lt;a href="https://undeadly.org/cgi?action=article;sid=20221104064712" target="_blank" rel="nofollow noopener"&gt;LibreSSL 3.6.1 released&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.coreystephan.com/pi4-freebsd/" target="_blank" rel="nofollow noopener"&gt;Raspberry Pi 4 with FreeBSD 13-RELEASE: A Perfect Miniature Homelab&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://2023.asiabsdcon.org/cfp.html.en" target="_blank" rel="nofollow noopener"&gt;AsiaBSDcon 2023 CfP&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/482/feedback/John%20-%20Allan's%20meetup.md" target="_blank" rel="nofollow noopener"&gt;John - Allan's meetup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/482/feedback/Matthew%20-%20atime%20and%20a%20question.md" target="_blank" rel="nofollow noopener"&gt;Matthew - atime and a question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/482/feedback/Valentin%20-%20Becoming%20a%20FreeBSD%20Developer.md" target="_blank" rel="nofollow noopener"&gt;Valentin - Becoming a FreeBSD Developer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, ports, packages, jails, interview, storage, reason, considerations, minimalist, desktop, xfce, alpine linux, root on zfs, quick setup</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>5 Key Reasons to Consider Open Source Storage, OpenBSD Minimalist Desktop, BSD XFCE, Alpine Linux VM on bhyve - with root on ZFS, FreeBSD Jail Quick Setup with Networking, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/open-source-storage-over-commercial-offerings/" target="_blank" rel="nofollow noopener">5 Key Reasons to Consider Open Source Storage Over Commercial Offerings</a></h3>

<hr>

<h3><a href="https://nechtan.io/articles/openbsd_minimalist_desktop.html" target="_blank" rel="nofollow noopener">OpenBSD Minimalist Desktop</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://github.com/Wamphyre/BSD-XFCE" target="_blank" rel="nofollow noopener">BSD-XFCE</a></h3>

<hr>

<h3><a href="https://it-notes.dragas.net/2022/11/01/creating-an-alpine-vm-on-bhyve-with-root-on-zfs-optionally-encrypted/" target="_blank" rel="nofollow noopener">Creating an Alpine Linux VM on bhyve - with root on ZFS (optionally encrypted)</a></h3>

<hr>

<h3><a href="https://www.shaka.today/freebsd-jail-quick-setup-with-networking-2022/" target="_blank" rel="nofollow noopener">FreeBSD Jail Quick Setup with Networking (2022)</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://www.youtube.com/c/EuroBSDcon/videos" target="_blank" rel="nofollow noopener">EuroBSDcon videos are now up</a><br>
<a href="https://undeadly.org/cgi?action=article;sid=20221104064712" target="_blank" rel="nofollow noopener">LibreSSL 3.6.1 released</a><br>
<a href="https://www.coreystephan.com/pi4-freebsd/" target="_blank" rel="nofollow noopener">Raspberry Pi 4 with FreeBSD 13-RELEASE: A Perfect Miniature Homelab</a></p>

<p><a href="https://2023.asiabsdcon.org/cfp.html.en" target="_blank" rel="nofollow noopener">AsiaBSDcon 2023 CfP</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/482/feedback/John%20-%20Allan's%20meetup.md" target="_blank" rel="nofollow noopener">John - Allan's meetup</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/482/feedback/Matthew%20-%20atime%20and%20a%20question.md" target="_blank" rel="nofollow noopener">Matthew - atime and a question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/482/feedback/Valentin%20-%20Becoming%20a%20FreeBSD%20Developer.md" target="_blank" rel="nofollow noopener">Valentin - Becoming a FreeBSD Developer</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>5 Key Reasons to Consider Open Source Storage, OpenBSD Minimalist Desktop, BSD XFCE, Alpine Linux VM on bhyve - with root on ZFS, FreeBSD Jail Quick Setup with Networking, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/open-source-storage-over-commercial-offerings/" target="_blank" rel="nofollow noopener">5 Key Reasons to Consider Open Source Storage Over Commercial Offerings</a></h3>

<hr>

<h3><a href="https://nechtan.io/articles/openbsd_minimalist_desktop.html" target="_blank" rel="nofollow noopener">OpenBSD Minimalist Desktop</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://github.com/Wamphyre/BSD-XFCE" target="_blank" rel="nofollow noopener">BSD-XFCE</a></h3>

<hr>

<h3><a href="https://it-notes.dragas.net/2022/11/01/creating-an-alpine-vm-on-bhyve-with-root-on-zfs-optionally-encrypted/" target="_blank" rel="nofollow noopener">Creating an Alpine Linux VM on bhyve - with root on ZFS (optionally encrypted)</a></h3>

<hr>

<h3><a href="https://www.shaka.today/freebsd-jail-quick-setup-with-networking-2022/" target="_blank" rel="nofollow noopener">FreeBSD Jail Quick Setup with Networking (2022)</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://www.youtube.com/c/EuroBSDcon/videos" target="_blank" rel="nofollow noopener">EuroBSDcon videos are now up</a><br>
<a href="https://undeadly.org/cgi?action=article;sid=20221104064712" target="_blank" rel="nofollow noopener">LibreSSL 3.6.1 released</a><br>
<a href="https://www.coreystephan.com/pi4-freebsd/" target="_blank" rel="nofollow noopener">Raspberry Pi 4 with FreeBSD 13-RELEASE: A Perfect Miniature Homelab</a></p>

<p><a href="https://2023.asiabsdcon.org/cfp.html.en" target="_blank" rel="nofollow noopener">AsiaBSDcon 2023 CfP</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/482/feedback/John%20-%20Allan's%20meetup.md" target="_blank" rel="nofollow noopener">John - Allan's meetup</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/482/feedback/Matthew%20-%20atime%20and%20a%20question.md" target="_blank" rel="nofollow noopener">Matthew - atime and a question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/482/feedback/Valentin%20-%20Becoming%20a%20FreeBSD%20Developer.md" target="_blank" rel="nofollow noopener">Valentin - Becoming a FreeBSD Developer</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>481: Fiery Crackers</title>
  <link>https://www.bsdnow.tv/481</link>
  <guid isPermaLink="false">f0df0143-84f7-40aa-9802-be21a870c0c1</guid>
  <pubDate>Thu, 17 Nov 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f0df0143-84f7-40aa-9802-be21a870c0c1.mp3" length="50564656" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Q3 2022 status report, Leveraging MinIO and OpenZFS to avoid vendor lock in, FreeBSD on Firecracker platform, How Much Faster Is Making A Tar Archive Without Gzip, Postgres from packages on OpenBSD, Upgrading an NVMe zpool from 222G to 1TB drives, Don't use Reddit for Linux or BSD related questions, and more.</itunes:subtitle>
  <itunes:duration>47:54</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>&lt;p&gt;FreeBSD Q3 2022 status report, Leveraging MinIO and OpenZFS to avoid vendor lock in, FreeBSD on Firecracker platform, How Much Faster Is Making A Tar Archive Without Gzip, Postgres from packages on OpenBSD, Upgrading an NVMe zpool from 222G to 1TB drives, Don't use Reddit for Linux or BSD related questions, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/status/report-2022-07-2022-09/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Quarterly Status Report Third Quarter 2022&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/avoid-vendor-lock-in-with-minio-and-openzfs/" target="_blank" rel="nofollow noopener"&gt;Avoid Infrastructure Vendor Lock-in by leveraging MinIO and OpenZFS&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.daemonology.net/blog/2022-10-18-FreeBSD-Firecracker.html" target="_blank" rel="nofollow noopener"&gt;Announcing the FreeBSD/Firecracker platform&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lowendbox.com/blog/how-much-faster-is-making-a-tar-archive-without-gzip/" target="_blank" rel="nofollow noopener"&gt;How Much Faster Is Making A Tar Archive Without Gzip?&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dbi-services.com/blog/postgresql-from-packages-on-openbsd/" target="_blank" rel="nofollow noopener"&gt;PostgreSQL from packages on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2022/10/18/upgrading-an-nvme-zpool-from-222g-to-1tb-drives/" target="_blank" rel="nofollow noopener"&gt;Upgrading an NVMe zpool from 222G to 1TB drives&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://unixsheikh.com/articles/dont-use-reddit-for-linux-or-bsd-related-questions.html" target="_blank" rel="nofollow noopener"&gt;PSA: Don't use Reddit for Linux or BSD related questions&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/481/feedback/Hinnerk%20-%20vnet%20jails.md" target="_blank" rel="nofollow noopener"&gt;Hinnerk - vnet jails&lt;/a&gt;&lt;br&gt;
Tom’s response example: &lt;a href="https://adventurist.me/posts/00304" target="_blank" rel="nofollow noopener"&gt;https://adventurist.me/posts/00304&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/481/feedback/Hugo%20-%20Apple%20M2.md" target="_blank" rel="nofollow noopener"&gt;Hugo - Apple M2&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/481/feedback/kevin%20-%20emacs%20backspace.md" target="_blank" rel="nofollow noopener"&gt;kevin - emacs backspace&lt;/a&gt;&lt;br&gt;
)&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, ports, packages, jails, interview, q3, third quarter, status report, minio, vendor lock-in, avoid, avoidance, firecracker, aws, tar, gzip, speedup, performance, postgres, nvme, reddit, linux, questions</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Q3 2022 status report, Leveraging MinIO and OpenZFS to avoid vendor lock in, FreeBSD on Firecracker platform, How Much Faster Is Making A Tar Archive Without Gzip, Postgres from packages on OpenBSD, Upgrading an NVMe zpool from 222G to 1TB drives, Don't use Reddit for Linux or BSD related questions, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/status/report-2022-07-2022-09/" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report Third Quarter 2022</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/avoid-vendor-lock-in-with-minio-and-openzfs/" target="_blank" rel="nofollow noopener">Avoid Infrastructure Vendor Lock-in by leveraging MinIO and OpenZFS</a></h3>

<hr>

<h3><a href="https://www.daemonology.net/blog/2022-10-18-FreeBSD-Firecracker.html" target="_blank" rel="nofollow noopener">Announcing the FreeBSD/Firecracker platform</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lowendbox.com/blog/how-much-faster-is-making-a-tar-archive-without-gzip/" target="_blank" rel="nofollow noopener">How Much Faster Is Making A Tar Archive Without Gzip?</a></h3>

<hr>

<h3><a href="https://www.dbi-services.com/blog/postgresql-from-packages-on-openbsd/" target="_blank" rel="nofollow noopener">PostgreSQL from packages on OpenBSD</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2022/10/18/upgrading-an-nvme-zpool-from-222g-to-1tb-drives/" target="_blank" rel="nofollow noopener">Upgrading an NVMe zpool from 222G to 1TB drives</a></h3>

<hr>

<h3><a href="https://unixsheikh.com/articles/dont-use-reddit-for-linux-or-bsd-related-questions.html" target="_blank" rel="nofollow noopener">PSA: Don't use Reddit for Linux or BSD related questions</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/481/feedback/Hinnerk%20-%20vnet%20jails.md" target="_blank" rel="nofollow noopener">Hinnerk - vnet jails</a><br>
Tom’s response example: <a href="https://adventurist.me/posts/00304" target="_blank" rel="nofollow noopener">https://adventurist.me/posts/00304</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/481/feedback/Hugo%20-%20Apple%20M2.md" target="_blank" rel="nofollow noopener">Hugo - Apple M2</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/481/feedback/kevin%20-%20emacs%20backspace.md" target="_blank" rel="nofollow noopener">kevin - emacs backspace</a><br>
)</p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Q3 2022 status report, Leveraging MinIO and OpenZFS to avoid vendor lock in, FreeBSD on Firecracker platform, How Much Faster Is Making A Tar Archive Without Gzip, Postgres from packages on OpenBSD, Upgrading an NVMe zpool from 222G to 1TB drives, Don't use Reddit for Linux or BSD related questions, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/status/report-2022-07-2022-09/" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report Third Quarter 2022</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/avoid-vendor-lock-in-with-minio-and-openzfs/" target="_blank" rel="nofollow noopener">Avoid Infrastructure Vendor Lock-in by leveraging MinIO and OpenZFS</a></h3>

<hr>

<h3><a href="https://www.daemonology.net/blog/2022-10-18-FreeBSD-Firecracker.html" target="_blank" rel="nofollow noopener">Announcing the FreeBSD/Firecracker platform</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lowendbox.com/blog/how-much-faster-is-making-a-tar-archive-without-gzip/" target="_blank" rel="nofollow noopener">How Much Faster Is Making A Tar Archive Without Gzip?</a></h3>

<hr>

<h3><a href="https://www.dbi-services.com/blog/postgresql-from-packages-on-openbsd/" target="_blank" rel="nofollow noopener">PostgreSQL from packages on OpenBSD</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2022/10/18/upgrading-an-nvme-zpool-from-222g-to-1tb-drives/" target="_blank" rel="nofollow noopener">Upgrading an NVMe zpool from 222G to 1TB drives</a></h3>

<hr>

<h3><a href="https://unixsheikh.com/articles/dont-use-reddit-for-linux-or-bsd-related-questions.html" target="_blank" rel="nofollow noopener">PSA: Don't use Reddit for Linux or BSD related questions</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/481/feedback/Hinnerk%20-%20vnet%20jails.md" target="_blank" rel="nofollow noopener">Hinnerk - vnet jails</a><br>
Tom’s response example: <a href="https://adventurist.me/posts/00304" target="_blank" rel="nofollow noopener">https://adventurist.me/posts/00304</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/481/feedback/Hugo%20-%20Apple%20M2.md" target="_blank" rel="nofollow noopener">Hugo - Apple M2</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/481/feedback/kevin%20-%20emacs%20backspace.md" target="_blank" rel="nofollow noopener">kevin - emacs backspace</a><br>
)</p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>480: OpenBSD 7.2</title>
  <link>https://www.bsdnow.tv/480</link>
  <guid isPermaLink="false">304e9711-6a86-42b7-a144-191aa1f900b7</guid>
  <pubDate>Thu, 10 Nov 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/304e9711-6a86-42b7-a144-191aa1f900b7.mp3" length="46963584" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 7.2 and FuguIta have been released, Learn the Whys and Hows with the FreeBSD Sec Team, how to get notified about FreeBSD updates, using unbound for ad blocking on OpenBSD, further memory protections on OpenBSD current, and more. </itunes:subtitle>
  <itunes:duration>48:55</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>&lt;p&gt;OpenBSD 7.2 and FuguIta have been released, Learn the Whys and Hows with the FreeBSD Sec Team, how to get notified about FreeBSD updates, using unbound for ad blocking on OpenBSD, further memory protections on OpenBSD current, and more. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.openbsd.org/72.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 7.2 has been released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://fuguita.org/index.php?FuguIta%2F7.2=" target="_blank" rel="nofollow noopener"&gt;FuguIta 7.2 is out as well&lt;/a&gt;
***
### &lt;a href="https://freebsdfoundation.org/blog/keeping-freebsd-secure-learn-the-whys-and-hows-with-the-freebsd-sec-team/" target="_blank" rel="nofollow noopener"&gt;Keeping FreeBSD Secure: Learn the Whys and Hows with the FreeBSD Sec Team&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://forums.freebsd.org/threads/howto-be-notified-of-freebsd-upgrades-security-updates-and-package-updates-at-login.86660/" target="_blank" rel="nofollow noopener"&gt;Howto: be notified of FreeBSD upgrades, security updates and package updates at login&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/2022/ads-blocking-with-openbsd-unbound8/" target="_blank" rel="nofollow noopener"&gt;Ads blocking with OpenBSD unbound(8)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20221008100649" target="_blank" rel="nofollow noopener"&gt;Further memory protections committed to -current&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [“OpenBSD Mastery: Filesystems” Print/Ebook Bundle Preorder](https://mwl.io/archives/22352)
• [Klara is hiring a FreeBSD Kernel Developer](https://klarasystems.com/careers/freebsd-kernel-developer/)
• [FreeBSD 12.4-BETA1 Now Available](https://lists.freebsd.org/archives/freebsd-stable/2022-October/000920.html)
• [Hunting kernel lock and interrupt latency](https://mail-index.netbsd.org/tech-kern/2022/10/30/msg028499.html)
• [EuroBSDcon 2022 videos available](https://undeadly.org/cgi?action=article;sid=20221027232308)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/480/feedback/Charles%20-%20BSD%20Now%20Bingo.md" target="_blank" rel="nofollow noopener"&gt;Charles - BSD Now Bingo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/480/feedback/Jake%20-%20FreeBSD%20Security%20defaults.md" target="_blank" rel="nofollow noopener"&gt;Jake - FreeBSD Security defaults&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/480/feedback/Sam%20-%20FreeBSD%20and%20SSDs.md" target="_blank" rel="nofollow noopener"&gt;Sam - FreeBSD and SSDs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, ports, packages, jails, interview, fuguita, secteam, security team, notifications, notify, unbound, ad blocking, ad blocker, memory protections, memory protection </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 7.2 and FuguIta have been released, Learn the Whys and Hows with the FreeBSD Sec Team, how to get notified about FreeBSD updates, using unbound for ad blocking on OpenBSD, further memory protections on OpenBSD current, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/72.html" target="_blank" rel="nofollow noopener">OpenBSD 7.2 has been released</a></h3>

<ul>
<li><a href="https://fuguita.org/index.php?FuguIta%2F7.2=" target="_blank" rel="nofollow noopener">FuguIta 7.2 is out as well</a>
***
### <a href="https://freebsdfoundation.org/blog/keeping-freebsd-secure-learn-the-whys-and-hows-with-the-freebsd-sec-team/" target="_blank" rel="nofollow noopener">Keeping FreeBSD Secure: Learn the Whys and Hows with the FreeBSD Sec Team</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://forums.freebsd.org/threads/howto-be-notified-of-freebsd-upgrades-security-updates-and-package-updates-at-login.86660/" target="_blank" rel="nofollow noopener">Howto: be notified of FreeBSD upgrades, security updates and package updates at login</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2022/ads-blocking-with-openbsd-unbound8/" target="_blank" rel="nofollow noopener">Ads blocking with OpenBSD unbound(8)</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20221008100649" target="_blank" rel="nofollow noopener">Further memory protections committed to -current</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [“OpenBSD Mastery: Filesystems” Print/Ebook Bundle Preorder](https://mwl.io/archives/22352)
• [Klara is hiring a FreeBSD Kernel Developer](https://klarasystems.com/careers/freebsd-kernel-developer/)
• [FreeBSD 12.4-BETA1 Now Available](https://lists.freebsd.org/archives/freebsd-stable/2022-October/000920.html)
• [Hunting kernel lock and interrupt latency](https://mail-index.netbsd.org/tech-kern/2022/10/30/msg028499.html)
• [EuroBSDcon 2022 videos available](https://undeadly.org/cgi?action=article;sid=20221027232308)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/480/feedback/Charles%20-%20BSD%20Now%20Bingo.md" target="_blank" rel="nofollow noopener">Charles - BSD Now Bingo</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/480/feedback/Jake%20-%20FreeBSD%20Security%20defaults.md" target="_blank" rel="nofollow noopener">Jake - FreeBSD Security defaults</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/480/feedback/Sam%20-%20FreeBSD%20and%20SSDs.md" target="_blank" rel="nofollow noopener">Sam - FreeBSD and SSDs</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 7.2 and FuguIta have been released, Learn the Whys and Hows with the FreeBSD Sec Team, how to get notified about FreeBSD updates, using unbound for ad blocking on OpenBSD, further memory protections on OpenBSD current, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/72.html" target="_blank" rel="nofollow noopener">OpenBSD 7.2 has been released</a></h3>

<ul>
<li><a href="https://fuguita.org/index.php?FuguIta%2F7.2=" target="_blank" rel="nofollow noopener">FuguIta 7.2 is out as well</a>
***
### <a href="https://freebsdfoundation.org/blog/keeping-freebsd-secure-learn-the-whys-and-hows-with-the-freebsd-sec-team/" target="_blank" rel="nofollow noopener">Keeping FreeBSD Secure: Learn the Whys and Hows with the FreeBSD Sec Team</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://forums.freebsd.org/threads/howto-be-notified-of-freebsd-upgrades-security-updates-and-package-updates-at-login.86660/" target="_blank" rel="nofollow noopener">Howto: be notified of FreeBSD upgrades, security updates and package updates at login</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2022/ads-blocking-with-openbsd-unbound8/" target="_blank" rel="nofollow noopener">Ads blocking with OpenBSD unbound(8)</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20221008100649" target="_blank" rel="nofollow noopener">Further memory protections committed to -current</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [“OpenBSD Mastery: Filesystems” Print/Ebook Bundle Preorder](https://mwl.io/archives/22352)
• [Klara is hiring a FreeBSD Kernel Developer](https://klarasystems.com/careers/freebsd-kernel-developer/)
• [FreeBSD 12.4-BETA1 Now Available](https://lists.freebsd.org/archives/freebsd-stable/2022-October/000920.html)
• [Hunting kernel lock and interrupt latency](https://mail-index.netbsd.org/tech-kern/2022/10/30/msg028499.html)
• [EuroBSDcon 2022 videos available](https://undeadly.org/cgi?action=article;sid=20221027232308)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/480/feedback/Charles%20-%20BSD%20Now%20Bingo.md" target="_blank" rel="nofollow noopener">Charles - BSD Now Bingo</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/480/feedback/Jake%20-%20FreeBSD%20Security%20defaults.md" target="_blank" rel="nofollow noopener">Jake - FreeBSD Security defaults</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/480/feedback/Sam%20-%20FreeBSD%20and%20SSDs.md" target="_blank" rel="nofollow noopener">Sam - FreeBSD and SSDs</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>479: OpenBSD Docker Host</title>
  <link>https://www.bsdnow.tv/479</link>
  <guid isPermaLink="false">1f8daae0-ec33-4016-b70d-b6a31783eeea</guid>
  <pubDate>Thu, 03 Nov 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/1f8daae0-ec33-4016-b70d-b6a31783eeea.mp3" length="40382208" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>EuroBSDcon 2022 as first BSD conference, Red Hat’s OpenShift vs FreeBSD Jails, Running a Docker Host under OpenBSD using vmd(8), history of sending signals to Unix process groups, Toolchains adventures - Q3 2022, and more</itunes:subtitle>
  <itunes:duration>42: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>&lt;p&gt;EuroBSDcon 2022 as first BSD conference, Red Hat’s OpenShift vs FreeBSD Jails, Running a Docker Host under OpenBSD using vmd(8), history of sending signals to Unix process groups, Toolchains adventures - Q3 2022, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://eerielinux.wordpress.com/2022/09/25/eurobsdcon-2022-my-first-bsd-conference-and-how-they-are-different/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2022, my first BSD conference (and how they are different)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/red-hats-openshift-vs-freebsd-jails/" target="_blank" rel="nofollow noopener"&gt;Red Hat’s OpenShift vs FreeBSD Jails&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ProcessGroupsAndSignals" target="_blank" rel="nofollow noopener"&gt;The history of sending signals to Unix process groups&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/2022/running-docker-host-openbsd-vmd/" target="_blank" rel="nofollow noopener"&gt;Running a Docker Host under OpenBSD using vmd(8)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/toolchains-adventures-q3-2022/" target="_blank" rel="nofollow noopener"&gt;Toolchains adventures - Q3 2022&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20220912055003" target="_blank" rel="nofollow noopener"&gt;-current has moved to 7.2&lt;/a&gt;&lt;br&gt;
&lt;a href="http://undeadly.org/cgi?action=article;sid=20220830052924" target="_blank" rel="nofollow noopener"&gt;Several /sbin daemons are now dynamically-linked&lt;/a&gt;&lt;br&gt;
&lt;a href="https://mail-index.netbsd.org/netbsd-announce/2022/09/29/msg000341.html" target="_blank" rel="nofollow noopener"&gt;Announcing the pkgsrc 2022Q3 branch&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/476/feedback/Hans%20-%20datacenters%20and%20dust.md" target="_blank" rel="nofollow noopener"&gt;Hans - datacenters and dust&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/476/feedback/Tim%20-%20Boot%20issue.md" target="_blank" rel="nofollow noopener"&gt;Tim - Boot issue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/476/feedback/aaron-%20dwm%20tiling%20.md" target="_blank" rel="nofollow noopener"&gt;aaron- dwm tiling&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, ports, packages, jails, interview, eurobsdcon, conference, openshift, docker, vmd, history, signal, signals, processes, process groups, toolchain</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>EuroBSDcon 2022 as first BSD conference, Red Hat’s OpenShift vs FreeBSD Jails, Running a Docker Host under OpenBSD using vmd(8), history of sending signals to Unix process groups, Toolchains adventures - Q3 2022, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://eerielinux.wordpress.com/2022/09/25/eurobsdcon-2022-my-first-bsd-conference-and-how-they-are-different/" target="_blank" rel="nofollow noopener">EuroBSDCon 2022, my first BSD conference (and how they are different)</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/red-hats-openshift-vs-freebsd-jails/" target="_blank" rel="nofollow noopener">Red Hat’s OpenShift vs FreeBSD Jails</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ProcessGroupsAndSignals" target="_blank" rel="nofollow noopener">The history of sending signals to Unix process groups</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2022/running-docker-host-openbsd-vmd/" target="_blank" rel="nofollow noopener">Running a Docker Host under OpenBSD using vmd(8)</a></h3>

<hr>

<h3><a href="https://www.cambus.net/toolchains-adventures-q3-2022/" target="_blank" rel="nofollow noopener">Toolchains adventures - Q3 2022</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://undeadly.org/cgi?action=article;sid=20220912055003" target="_blank" rel="nofollow noopener">-current has moved to 7.2</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20220830052924" target="_blank" rel="nofollow noopener">Several /sbin daemons are now dynamically-linked</a><br>
<a href="https://mail-index.netbsd.org/netbsd-announce/2022/09/29/msg000341.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc 2022Q3 branch</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/476/feedback/Hans%20-%20datacenters%20and%20dust.md" target="_blank" rel="nofollow noopener">Hans - datacenters and dust</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/476/feedback/Tim%20-%20Boot%20issue.md" target="_blank" rel="nofollow noopener">Tim - Boot issue</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/476/feedback/aaron-%20dwm%20tiling%20.md" target="_blank" rel="nofollow noopener">aaron- dwm tiling</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>EuroBSDcon 2022 as first BSD conference, Red Hat’s OpenShift vs FreeBSD Jails, Running a Docker Host under OpenBSD using vmd(8), history of sending signals to Unix process groups, Toolchains adventures - Q3 2022, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://eerielinux.wordpress.com/2022/09/25/eurobsdcon-2022-my-first-bsd-conference-and-how-they-are-different/" target="_blank" rel="nofollow noopener">EuroBSDCon 2022, my first BSD conference (and how they are different)</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/red-hats-openshift-vs-freebsd-jails/" target="_blank" rel="nofollow noopener">Red Hat’s OpenShift vs FreeBSD Jails</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ProcessGroupsAndSignals" target="_blank" rel="nofollow noopener">The history of sending signals to Unix process groups</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2022/running-docker-host-openbsd-vmd/" target="_blank" rel="nofollow noopener">Running a Docker Host under OpenBSD using vmd(8)</a></h3>

<hr>

<h3><a href="https://www.cambus.net/toolchains-adventures-q3-2022/" target="_blank" rel="nofollow noopener">Toolchains adventures - Q3 2022</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://undeadly.org/cgi?action=article;sid=20220912055003" target="_blank" rel="nofollow noopener">-current has moved to 7.2</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20220830052924" target="_blank" rel="nofollow noopener">Several /sbin daemons are now dynamically-linked</a><br>
<a href="https://mail-index.netbsd.org/netbsd-announce/2022/09/29/msg000341.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc 2022Q3 branch</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/476/feedback/Hans%20-%20datacenters%20and%20dust.md" target="_blank" rel="nofollow noopener">Hans - datacenters and dust</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/476/feedback/Tim%20-%20Boot%20issue.md" target="_blank" rel="nofollow noopener">Tim - Boot issue</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/476/feedback/aaron-%20dwm%20tiling%20.md" target="_blank" rel="nofollow noopener">aaron- dwm tiling</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>478: Debunking sudo myths </title>
  <link>https://www.bsdnow.tv/478</link>
  <guid isPermaLink="false">1cacdcc7-e6f6-4193-b76d-f99ab20f08fc</guid>
  <pubDate>Thu, 27 Oct 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/1cacdcc7-e6f6-4193-b76d-f99ab20f08fc.mp3" length="66564288" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Open Source in Enterprise Environments, Your Comprehensive Guide to rc(8): FreeBSD Services and Automation, How Rob Pike got hired by Dennis Richie, what FreeBSD machines rubenerd uses, new debugbreak command, 7 sudo myths debunked</itunes:subtitle>
  <itunes:duration>46:13</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>&lt;p&gt;Open Source in Enterprise Environments, Your Comprehensive Guide to rc(8): FreeBSD Services and Automation, How Rob Pike got hired by Dennis Richie, what FreeBSD machines rubenerd uses, new debugbreak command, 7 sudo myths debunked&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://bsdly.blogspot.com/2022/09/open-source-in-enterprise-environments.html" target="_blank" rel="nofollow noopener"&gt;Open Source in Enterprise Environments - Where Are We Now and What Is Our Way Forward?&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/rc8-freebsd-services-and-automation/" target="_blank" rel="nofollow noopener"&gt;Your Comprehensive Guide to rc(8): FreeBSD Services and Automation&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://minnie.tuhs.org/pipermail/tuhs/2022-September/026506.html" target="_blank" rel="nofollow noopener"&gt;How Rob Pike got hired by Dennis Richie&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/cartron-asks-what-freebsd-machines-i-use/" target="_blank" rel="nofollow noopener"&gt;Cartron asks what FreeBSD machines I use&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://nullprogram.com/blog/2022/07/31/" target="_blank" rel="nofollow noopener"&gt;My new debugbreak command&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opensource.com/article/22/8/debunk-sudo-myths" target="_blank" rel="nofollow noopener"&gt;7 sudo myths debunked&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/478/feedback/Andy%20-%20sharing%20and%20acls.md" target="_blank" rel="nofollow noopener"&gt;Andy - sharing and acls&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/478/feedback/Reptilicus%20Rex%20-%20boot%20environments.md" target="_blank" rel="nofollow noopener"&gt;Reptilicus Rex - boot environments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/478/feedback/i3luefire%20-%20byhve%20issue.md" target="_blank" rel="nofollow noopener"&gt;i3luefire - byhve issue&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, ports, packages, jails, interview, rob pike, dennis richie, machines, debugbreak, command, sudo, myth, buster, debunk </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Open Source in Enterprise Environments, Your Comprehensive Guide to rc(8): FreeBSD Services and Automation, How Rob Pike got hired by Dennis Richie, what FreeBSD machines rubenerd uses, new debugbreak command, 7 sudo myths debunked</p>

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

<h2>Headlines</h2>

<h3><a href="https://bsdly.blogspot.com/2022/09/open-source-in-enterprise-environments.html" target="_blank" rel="nofollow noopener">Open Source in Enterprise Environments - Where Are We Now and What Is Our Way Forward?</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/rc8-freebsd-services-and-automation/" target="_blank" rel="nofollow noopener">Your Comprehensive Guide to rc(8): FreeBSD Services and Automation</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://minnie.tuhs.org/pipermail/tuhs/2022-September/026506.html" target="_blank" rel="nofollow noopener">How Rob Pike got hired by Dennis Richie</a></h3>

<hr>

<h3><a href="https://rubenerd.com/cartron-asks-what-freebsd-machines-i-use/" target="_blank" rel="nofollow noopener">Cartron asks what FreeBSD machines I use</a></h3>

<hr>

<h3><a href="https://nullprogram.com/blog/2022/07/31/" target="_blank" rel="nofollow noopener">My new debugbreak command</a></h3>

<hr>

<h3><a href="https://opensource.com/article/22/8/debunk-sudo-myths" target="_blank" rel="nofollow noopener">7 sudo myths debunked</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/478/feedback/Andy%20-%20sharing%20and%20acls.md" target="_blank" rel="nofollow noopener">Andy - sharing and acls</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/478/feedback/Reptilicus%20Rex%20-%20boot%20environments.md" target="_blank" rel="nofollow noopener">Reptilicus Rex - boot environments</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/478/feedback/i3luefire%20-%20byhve%20issue.md" target="_blank" rel="nofollow noopener">i3luefire - byhve issue</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Open Source in Enterprise Environments, Your Comprehensive Guide to rc(8): FreeBSD Services and Automation, How Rob Pike got hired by Dennis Richie, what FreeBSD machines rubenerd uses, new debugbreak command, 7 sudo myths debunked</p>

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

<h2>Headlines</h2>

<h3><a href="https://bsdly.blogspot.com/2022/09/open-source-in-enterprise-environments.html" target="_blank" rel="nofollow noopener">Open Source in Enterprise Environments - Where Are We Now and What Is Our Way Forward?</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/rc8-freebsd-services-and-automation/" target="_blank" rel="nofollow noopener">Your Comprehensive Guide to rc(8): FreeBSD Services and Automation</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://minnie.tuhs.org/pipermail/tuhs/2022-September/026506.html" target="_blank" rel="nofollow noopener">How Rob Pike got hired by Dennis Richie</a></h3>

<hr>

<h3><a href="https://rubenerd.com/cartron-asks-what-freebsd-machines-i-use/" target="_blank" rel="nofollow noopener">Cartron asks what FreeBSD machines I use</a></h3>

<hr>

<h3><a href="https://nullprogram.com/blog/2022/07/31/" target="_blank" rel="nofollow noopener">My new debugbreak command</a></h3>

<hr>

<h3><a href="https://opensource.com/article/22/8/debunk-sudo-myths" target="_blank" rel="nofollow noopener">7 sudo myths debunked</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/478/feedback/Andy%20-%20sharing%20and%20acls.md" target="_blank" rel="nofollow noopener">Andy - sharing and acls</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/478/feedback/Reptilicus%20Rex%20-%20boot%20environments.md" target="_blank" rel="nofollow noopener">Reptilicus Rex - boot environments</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/478/feedback/i3luefire%20-%20byhve%20issue.md" target="_blank" rel="nofollow noopener">i3luefire - byhve issue</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>477: Uninitialized Memory Disclosures</title>
  <link>https://www.bsdnow.tv/477</link>
  <guid isPermaLink="false">58511dab-5dc9-4024-9373-30c152784856</guid>
  <pubDate>Thu, 20 Oct 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/58511dab-5dc9-4024-9373-30c152784856.mp3" length="67616640" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Analyzing BSD Kernels for Uninitialized Memory Disclosures Using Binary Ninja, Sharing Dual-Licensed Drivers between Linux and FreeBSD, favorite Things About The OpenBSD Packet Filter Tools, How to trigger services restart after OpenBSD update, Gems from the Man Page Trenches, and more.</itunes:subtitle>
  <itunes:duration>46:57</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>&lt;p&gt;Analyzing BSD Kernels for Uninitialized Memory Disclosures Using Binary Ninja, Sharing Dual-Licensed Drivers between Linux and FreeBSD, favorite Things About The OpenBSD Packet Filter Tools, How to trigger services restart after OpenBSD update, Gems from the Man Page Trenches, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.zerodayinitiative.com/blog/2022/9/19/mindshare-analyzing-bsd-kernels-with-binary-ninja" target="_blank" rel="nofollow noopener"&gt;Mindshare: Analyzing Bsd Kernels for Uninitialized Memory Disclosures Using Binary Ninja&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/sharing-dual-licensed-drivers-between-linux-and-freebsd/" target="_blank" rel="nofollow noopener"&gt;Sharing Dual-Licensed Drivers between Linux and FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://nxdomain.no/%7Epeter/better_off_with_pf.html" target="_blank" rel="nofollow noopener"&gt;A Few of My Favorite Things About The OpenBSD Packet Filter Tools&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2022-09-25-openbsd-reboot-syspatch.html" target="_blank" rel="nofollow noopener"&gt;How to trigger services restart after OpenBSD update&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.saminiir.com/gems-from-man-page-trenches/" target="_blank" rel="nofollow noopener"&gt;Gems from the Man Page Trenches&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://oldvcr.blogspot.com/2022/09/the-mips-thinkpad-kind-of.html" target="_blank" rel="nofollow noopener"&gt;The MIPS ThinkPad&lt;/a&gt;&lt;br&gt;
&lt;a href="https://gitlab.com/DeaDSouL/NixGems" target="_blank" rel="nofollow noopener"&gt;Nix Gems&lt;/a&gt;&lt;br&gt;
&lt;a href="https://pmig96.wordpress.com/2022/09/18/running-palmos-without-palmos/" target="_blank" rel="nofollow noopener"&gt;Running PalmOS without PalmOS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://mwl.io/archives/22303" target="_blank" rel="nofollow noopener"&gt;"OpenBSD Mastery: Filesystems" draft done!&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/477/feedback/Brad%20-%20zfs%20and%20databases.md" target="_blank" rel="nofollow noopener"&gt;Brad - zfs and databases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/477/feedback/Kevin%20-%20EMACS.md" target="_blank" rel="nofollow noopener"&gt;Kevin - EMACS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/477/feedback/Michal%20-%20virtual%20OSS.md" target="_blank" rel="nofollow noopener"&gt;Michal - virtual OSS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, ports, packages, jails, interview, analysis, kernel, crash dump, uninitialized memory, disclosure, binary ninja, driver, sharing, dual-license, packet filter, toolset, tools pf </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Analyzing BSD Kernels for Uninitialized Memory Disclosures Using Binary Ninja, Sharing Dual-Licensed Drivers between Linux and FreeBSD, favorite Things About The OpenBSD Packet Filter Tools, How to trigger services restart after OpenBSD update, Gems from the Man Page Trenches, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.zerodayinitiative.com/blog/2022/9/19/mindshare-analyzing-bsd-kernels-with-binary-ninja" target="_blank" rel="nofollow noopener">Mindshare: Analyzing Bsd Kernels for Uninitialized Memory Disclosures Using Binary Ninja</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/sharing-dual-licensed-drivers-between-linux-and-freebsd/" target="_blank" rel="nofollow noopener">Sharing Dual-Licensed Drivers between Linux and FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://nxdomain.no/%7Epeter/better_off_with_pf.html" target="_blank" rel="nofollow noopener">A Few of My Favorite Things About The OpenBSD Packet Filter Tools</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2022-09-25-openbsd-reboot-syspatch.html" target="_blank" rel="nofollow noopener">How to trigger services restart after OpenBSD update</a></h3>

<hr>

<h3><a href="https://www.saminiir.com/gems-from-man-page-trenches/" target="_blank" rel="nofollow noopener">Gems from the Man Page Trenches</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://oldvcr.blogspot.com/2022/09/the-mips-thinkpad-kind-of.html" target="_blank" rel="nofollow noopener">The MIPS ThinkPad</a><br>
<a href="https://gitlab.com/DeaDSouL/NixGems" target="_blank" rel="nofollow noopener">Nix Gems</a><br>
<a href="https://pmig96.wordpress.com/2022/09/18/running-palmos-without-palmos/" target="_blank" rel="nofollow noopener">Running PalmOS without PalmOS</a><br>
<a href="https://mwl.io/archives/22303" target="_blank" rel="nofollow noopener">"OpenBSD Mastery: Filesystems" draft done!</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/477/feedback/Brad%20-%20zfs%20and%20databases.md" target="_blank" rel="nofollow noopener">Brad - zfs and databases</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/477/feedback/Kevin%20-%20EMACS.md" target="_blank" rel="nofollow noopener">Kevin - EMACS</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/477/feedback/Michal%20-%20virtual%20OSS.md" target="_blank" rel="nofollow noopener">Michal - virtual OSS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Analyzing BSD Kernels for Uninitialized Memory Disclosures Using Binary Ninja, Sharing Dual-Licensed Drivers between Linux and FreeBSD, favorite Things About The OpenBSD Packet Filter Tools, How to trigger services restart after OpenBSD update, Gems from the Man Page Trenches, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.zerodayinitiative.com/blog/2022/9/19/mindshare-analyzing-bsd-kernels-with-binary-ninja" target="_blank" rel="nofollow noopener">Mindshare: Analyzing Bsd Kernels for Uninitialized Memory Disclosures Using Binary Ninja</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/sharing-dual-licensed-drivers-between-linux-and-freebsd/" target="_blank" rel="nofollow noopener">Sharing Dual-Licensed Drivers between Linux and FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://nxdomain.no/%7Epeter/better_off_with_pf.html" target="_blank" rel="nofollow noopener">A Few of My Favorite Things About The OpenBSD Packet Filter Tools</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2022-09-25-openbsd-reboot-syspatch.html" target="_blank" rel="nofollow noopener">How to trigger services restart after OpenBSD update</a></h3>

<hr>

<h3><a href="https://www.saminiir.com/gems-from-man-page-trenches/" target="_blank" rel="nofollow noopener">Gems from the Man Page Trenches</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://oldvcr.blogspot.com/2022/09/the-mips-thinkpad-kind-of.html" target="_blank" rel="nofollow noopener">The MIPS ThinkPad</a><br>
<a href="https://gitlab.com/DeaDSouL/NixGems" target="_blank" rel="nofollow noopener">Nix Gems</a><br>
<a href="https://pmig96.wordpress.com/2022/09/18/running-palmos-without-palmos/" target="_blank" rel="nofollow noopener">Running PalmOS without PalmOS</a><br>
<a href="https://mwl.io/archives/22303" target="_blank" rel="nofollow noopener">"OpenBSD Mastery: Filesystems" draft done!</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/477/feedback/Brad%20-%20zfs%20and%20databases.md" target="_blank" rel="nofollow noopener">Brad - zfs and databases</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/477/feedback/Kevin%20-%20EMACS.md" target="_blank" rel="nofollow noopener">Kevin - EMACS</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/477/feedback/Michal%20-%20virtual%20OSS.md" target="_blank" rel="nofollow noopener">Michal - virtual OSS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>476: Warren Toomey interview</title>
  <link>https://www.bsdnow.tv/476</link>
  <guid isPermaLink="false">64bc3a0c-43cf-4e97-af97-b31d799c1154</guid>
  <pubDate>Thu, 13 Oct 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/64bc3a0c-43cf-4e97-af97-b31d799c1154.mp3" length="64196352" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>In this special episode, we interview Warren Toomey from the Unix Historical Society. We chat about his involvement in preserving old Unix systems and why that is important.</itunes:subtitle>
  <itunes:duration>44:34</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>&lt;p&gt;In this special episode, we interview Warren Toomey from the Unix Historical Society. We chat about his involvement in preserving old Unix systems and why that is important.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Interview - Warren Toomey - &lt;a href="mailto:wkt@tuhs.org" target="_blank" rel="nofollow noopener"&gt;wkt@tuhs.org&lt;/a&gt;&lt;/h2&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Special Guest: Warren Toomey.&lt;/p&gt;
</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, filesystem,, ports, packages, jails, interview, warren toomey, tuhs </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>In this special episode, we interview Warren Toomey from the Unix Historical Society. We chat about his involvement in preserving old Unix systems and why that is important.</p>

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

<hr>

<h2>Interview - Warren Toomey - <a href="mailto:wkt@tuhs.org" target="_blank" rel="nofollow noopener">wkt@tuhs.org</a></h2>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Warren Toomey.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>In this special episode, we interview Warren Toomey from the Unix Historical Society. We chat about his involvement in preserving old Unix systems and why that is important.</p>

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

<hr>

<h2>Interview - Warren Toomey - <a href="mailto:wkt@tuhs.org" target="_blank" rel="nofollow noopener">wkt@tuhs.org</a></h2>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Warren Toomey.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>475: Prompt Injection Attacks</title>
  <link>https://www.bsdnow.tv/475</link>
  <guid isPermaLink="false">8308672c-2f88-4a7b-9619-ed61184f731d</guid>
  <pubDate>Thu, 06 Oct 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8308672c-2f88-4a7b-9619-ed61184f731d.mp3" length="68584320" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Prompt injection attacks against GPT-3, the History of Package Management on FreeBSD, A fresh look at FreeBSD, File Management Tools for Your Favorite Shell, Quick Guide about Video Playback on FreeBSD, and more. </itunes:subtitle>
  <itunes:duration>47:37</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>&lt;p&gt;Prompt injection attacks against GPT-3, the History of Package Management on FreeBSD, A fresh look at FreeBSD, File Management Tools for Your Favorite Shell, Quick Guide about Video Playback on FreeBSD, and more. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://simonwillison.net/2022/Sep/12/prompt-injection/" target="_blank" rel="nofollow noopener"&gt;Prompt injection attacks against GPT-3&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/a-quick-look-at-the-history-of-package-management-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;A Quick Look at the History of Package Management on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://liam-on-linux.dreamwidth.org/86277.html" target="_blank" rel="nofollow noopener"&gt;A fresh look at FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://thevaluable.dev/file-management-tools-linux-shell/" target="_blank" rel="nofollow noopener"&gt;File Management Tools for Your Favorite Shell&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/resource/video-playback-on-freebsd-quick-guide/" target="_blank" rel="nofollow noopener"&gt;Video Playback on FreeBSD – Quick Guide&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20220902085038" target="_blank" rel="nofollow noopener"&gt;ps(1) gains support for tree-like display of processes&lt;/a&gt;&lt;br&gt;
&lt;a href="https://minnie.tuhs.org/pipermail/tuhs/2022-September/026393.html" target="_blank" rel="nofollow noopener"&gt;... interesting old-timey UNIXes ...&lt;/a&gt;&lt;br&gt;
&lt;a href="https://nethack.glitch.me/?retro=true" target="_blank" rel="nofollow noopener"&gt;A retro style online SSH client to play Nethack&lt;/a&gt;&lt;br&gt;
&lt;a href="http://herpolhode.com/rob/ugly.pdf" target="_blank" rel="nofollow noopener"&gt;The Good, the Bad, and the Ugly: The Unix! Legacy&lt;/a&gt;&lt;br&gt;
&lt;a href="http://undeadly.org/cgi?action=article;sid=20220910120430" target="_blank" rel="nofollow noopener"&gt;Game of Trees 0.75 released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/475/feedback/Ken%20-%20HPR.md" target="_blank" rel="nofollow noopener"&gt;Ken - HPR&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/475/feedback/Kevin%20-%20FreeBSD%20and%20EMACS.md" target="_blank" rel="nofollow noopener"&gt;Kevin - FreeBSD and EMACS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/475/feedback/Nathan%20-%20Handbook%20contribution%20Question.md" target="_blank" rel="nofollow noopener"&gt;Nathan - Handbook contribution Question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, prompt injection, attack, gpt3, package management, history, overview, file management tools, shell, guide, video playback</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Prompt injection attacks against GPT-3, the History of Package Management on FreeBSD, A fresh look at FreeBSD, File Management Tools for Your Favorite Shell, Quick Guide about Video Playback on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://simonwillison.net/2022/Sep/12/prompt-injection/" target="_blank" rel="nofollow noopener">Prompt injection attacks against GPT-3</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/a-quick-look-at-the-history-of-package-management-on-freebsd/" target="_blank" rel="nofollow noopener">A Quick Look at the History of Package Management on FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://liam-on-linux.dreamwidth.org/86277.html" target="_blank" rel="nofollow noopener">A fresh look at FreeBSD</a></h3>

<hr>

<h3><a href="https://thevaluable.dev/file-management-tools-linux-shell/" target="_blank" rel="nofollow noopener">File Management Tools for Your Favorite Shell</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/resource/video-playback-on-freebsd-quick-guide/" target="_blank" rel="nofollow noopener">Video Playback on FreeBSD – Quick Guide</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20220902085038" target="_blank" rel="nofollow noopener">ps(1) gains support for tree-like display of processes</a><br>
<a href="https://minnie.tuhs.org/pipermail/tuhs/2022-September/026393.html" target="_blank" rel="nofollow noopener">... interesting old-timey UNIXes ...</a><br>
<a href="https://nethack.glitch.me/?retro=true" target="_blank" rel="nofollow noopener">A retro style online SSH client to play Nethack</a><br>
<a href="http://herpolhode.com/rob/ugly.pdf" target="_blank" rel="nofollow noopener">The Good, the Bad, and the Ugly: The Unix! Legacy</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20220910120430" target="_blank" rel="nofollow noopener">Game of Trees 0.75 released</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/475/feedback/Ken%20-%20HPR.md" target="_blank" rel="nofollow noopener">Ken - HPR</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/475/feedback/Kevin%20-%20FreeBSD%20and%20EMACS.md" target="_blank" rel="nofollow noopener">Kevin - FreeBSD and EMACS</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/475/feedback/Nathan%20-%20Handbook%20contribution%20Question.md" target="_blank" rel="nofollow noopener">Nathan - Handbook contribution Question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Prompt injection attacks against GPT-3, the History of Package Management on FreeBSD, A fresh look at FreeBSD, File Management Tools for Your Favorite Shell, Quick Guide about Video Playback on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://simonwillison.net/2022/Sep/12/prompt-injection/" target="_blank" rel="nofollow noopener">Prompt injection attacks against GPT-3</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/a-quick-look-at-the-history-of-package-management-on-freebsd/" target="_blank" rel="nofollow noopener">A Quick Look at the History of Package Management on FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://liam-on-linux.dreamwidth.org/86277.html" target="_blank" rel="nofollow noopener">A fresh look at FreeBSD</a></h3>

<hr>

<h3><a href="https://thevaluable.dev/file-management-tools-linux-shell/" target="_blank" rel="nofollow noopener">File Management Tools for Your Favorite Shell</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/resource/video-playback-on-freebsd-quick-guide/" target="_blank" rel="nofollow noopener">Video Playback on FreeBSD – Quick Guide</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20220902085038" target="_blank" rel="nofollow noopener">ps(1) gains support for tree-like display of processes</a><br>
<a href="https://minnie.tuhs.org/pipermail/tuhs/2022-September/026393.html" target="_blank" rel="nofollow noopener">... interesting old-timey UNIXes ...</a><br>
<a href="https://nethack.glitch.me/?retro=true" target="_blank" rel="nofollow noopener">A retro style online SSH client to play Nethack</a><br>
<a href="http://herpolhode.com/rob/ugly.pdf" target="_blank" rel="nofollow noopener">The Good, the Bad, and the Ugly: The Unix! Legacy</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20220910120430" target="_blank" rel="nofollow noopener">Game of Trees 0.75 released</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/475/feedback/Ken%20-%20HPR.md" target="_blank" rel="nofollow noopener">Ken - HPR</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/475/feedback/Kevin%20-%20FreeBSD%20and%20EMACS.md" target="_blank" rel="nofollow noopener">Kevin - FreeBSD and EMACS</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/475/feedback/Nathan%20-%20Handbook%20contribution%20Question.md" target="_blank" rel="nofollow noopener">Nathan - Handbook contribution Question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>474: EuroBSDcon 2022</title>
  <link>https://www.bsdnow.tv/474</link>
  <guid isPermaLink="false">7b0f6fc2-b232-4eb6-87e8-d945c7a02f25</guid>
  <pubDate>Thu, 29 Sep 2022 03:15:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/7b0f6fc2-b232-4eb6-87e8-d945c7a02f25.mp3" length="66559680" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Deploying FreeBSD on Oracle Cloud, A Tale of 300,000 Imaginary Friends, EuroBSDcon 2022 recap, OpenBSD Mastery: Filesystems” Status Report, OpenBGPD 7.6 Released, immutable userland mappings, Portable OpenSSH commits now SSH-signed, and more.</itunes:subtitle>
  <itunes:duration>46:13</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>&lt;p&gt;Deploying FreeBSD on Oracle Cloud, A Tale of 300,000 Imaginary Friends, EuroBSDcon 2022 recap, OpenBSD Mastery: Filesystems” Status Report, OpenBGPD 7.6 Released, immutable userland mappings, Portable OpenSSH commits now SSH-signed, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/deploying-freebsd-on-oracle-cloud/" target="_blank" rel="nofollow noopener"&gt;Deploying FreeBSD on Oracle Cloud&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsdly.blogspot.com/2022/09/the-things-spammers-believe-tale-of.html" target="_blank" rel="nofollow noopener"&gt;The Things Spammers Believe - A Tale of 300,000 Imaginary Friends&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://peter.czanik.hu/posts/eurobsdcon2022/" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon 2022&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mwl.io/archives/22031" target="_blank" rel="nofollow noopener"&gt;“OpenBSD Mastery: Filesystems” Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20220916051806" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 7.6 Released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20220902100648" target="_blank" rel="nofollow noopener"&gt;OpenBSD may soon gain further memory protections: immutable userland mappings&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20220902045137" target="_blank" rel="nofollow noopener"&gt;Portable OpenSSH commits now SSH-signed&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, oracle cloud, deployment, deploying, spam, antispam, spammer, tale, friends, eurobsdcon, conference, book, openbsd mastery, openbgpd, immutable userland mappings, openssh, portable, ssh-signed commits</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Deploying FreeBSD on Oracle Cloud, A Tale of 300,000 Imaginary Friends, EuroBSDcon 2022 recap, OpenBSD Mastery: Filesystems” Status Report, OpenBGPD 7.6 Released, immutable userland mappings, Portable OpenSSH commits now SSH-signed, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/deploying-freebsd-on-oracle-cloud/" target="_blank" rel="nofollow noopener">Deploying FreeBSD on Oracle Cloud</a></h3>

<hr>

<h3><a href="https://bsdly.blogspot.com/2022/09/the-things-spammers-believe-tale-of.html" target="_blank" rel="nofollow noopener">The Things Spammers Believe - A Tale of 300,000 Imaginary Friends</a></h3>

<hr>

<h3><a href="https://peter.czanik.hu/posts/eurobsdcon2022/" target="_blank" rel="nofollow noopener">EuroBSDcon 2022</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mwl.io/archives/22031" target="_blank" rel="nofollow noopener">“OpenBSD Mastery: Filesystems” Status Report</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20220916051806" target="_blank" rel="nofollow noopener">OpenBGPD 7.6 Released</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20220902100648" target="_blank" rel="nofollow noopener">OpenBSD may soon gain further memory protections: immutable userland mappings</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20220902045137" target="_blank" rel="nofollow noopener">Portable OpenSSH commits now SSH-signed</a></h3>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Deploying FreeBSD on Oracle Cloud, A Tale of 300,000 Imaginary Friends, EuroBSDcon 2022 recap, OpenBSD Mastery: Filesystems” Status Report, OpenBGPD 7.6 Released, immutable userland mappings, Portable OpenSSH commits now SSH-signed, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/deploying-freebsd-on-oracle-cloud/" target="_blank" rel="nofollow noopener">Deploying FreeBSD on Oracle Cloud</a></h3>

<hr>

<h3><a href="https://bsdly.blogspot.com/2022/09/the-things-spammers-believe-tale-of.html" target="_blank" rel="nofollow noopener">The Things Spammers Believe - A Tale of 300,000 Imaginary Friends</a></h3>

<hr>

<h3><a href="https://peter.czanik.hu/posts/eurobsdcon2022/" target="_blank" rel="nofollow noopener">EuroBSDcon 2022</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mwl.io/archives/22031" target="_blank" rel="nofollow noopener">“OpenBSD Mastery: Filesystems” Status Report</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20220916051806" target="_blank" rel="nofollow noopener">OpenBGPD 7.6 Released</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20220902100648" target="_blank" rel="nofollow noopener">OpenBSD may soon gain further memory protections: immutable userland mappings</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20220902045137" target="_blank" rel="nofollow noopener">Portable OpenSSH commits now SSH-signed</a></h3>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>473: Rusty Kernel Modules</title>
  <link>https://www.bsdnow.tv/473</link>
  <guid isPermaLink="false">3adcda1d-0fbb-4a3a-a4cb-b63c6268b837</guid>
  <pubDate>Thu, 22 Sep 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3adcda1d-0fbb-4a3a-a4cb-b63c6268b837.mp3" length="66747456" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Writing FreeBSD kernel modules in Rust, Details behind the FreeBSD aio LPE, Linux subsystem for FreeBSD, FreeBSD Journal: Science, Systems, and FreeBSD, NetBSD improves Amiga support, OpenBSD on Scaleway Elastic Metal, and more</itunes:subtitle>
  <itunes:duration>46:21</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>&lt;p&gt;Writing FreeBSD kernel modules in Rust, Details behind the FreeBSD aio LPE, Linux subsystem for FreeBSD, FreeBSD Journal: Science, Systems, and FreeBSD, NetBSD improves Amiga support, OpenBSD on Scaleway Elastic Metal, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://research.nccgroup.com/2022/08/31/writing-freebsd-kernel-modules-in-rust/" target="_blank" rel="nofollow noopener"&gt;Writing FreeBSD Kernel modules in Rust&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://accessvector.net/2022/freebsd-aio-lpe" target="_blank" rel="nofollow noopener"&gt;Details behind the FreeBSD aio LPE&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://medium.com/nttlabs/linux-subsystem-for-freebsd-500b9a88fda4" target="_blank" rel="nofollow noopener"&gt;Linux Subsystem for FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/wp-content/uploads/2022/08/03ae2705ab4362602a6bb90c5b9628c595d8b4fa.2.pdf" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal: Science, Systems, and FreeBSD &lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://thenewstrace.com/netbsd-an-operating-system-that-is-serious-about-being-cross-platform-now-improves-its-support-for-the-commodore-amiga-1985/243892/" target="_blank" rel="nofollow noopener"&gt;NetBSD improves its support for the Commodore Amiga&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.senzilla.io/blog/2022/08/10/installing-openbsd-scaleway-elastic-metal/" target="_blank" rel="nofollow noopener"&gt;Installing OpenBSD on Scaleway Elastic Metal&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20220810120423" target="_blank" rel="nofollow noopener"&gt;/usr/games removed from the default $PATH&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://forums.FreeBSD.org/threads/how-to-install-and-configure-mdnsresponder.70713/" target="_blank" rel="nofollow noopener"&gt;How to install and configure mDNSResponder&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://sleeplessbeastie.eu/2022/08/12/how-to-use-consistent-exit-codes-in-shell-scripts" target="_blank" rel="nofollow noopener"&gt;How to use consistent exit codes in shell scripts&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[TheHolm - zfs question)[&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/469/feedback/TheHolm%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener"&gt;https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/469/feedback/TheHolm%20-%20zfs%20question.md&lt;/a&gt;]
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, rust, kernel module, aio lpe, subsystem, linux, freebsd journal, issue, science, systems, amiga support, scaleway, elastic metal</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Writing FreeBSD kernel modules in Rust, Details behind the FreeBSD aio LPE, Linux subsystem for FreeBSD, FreeBSD Journal: Science, Systems, and FreeBSD, NetBSD improves Amiga support, OpenBSD on Scaleway Elastic Metal, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://research.nccgroup.com/2022/08/31/writing-freebsd-kernel-modules-in-rust/" target="_blank" rel="nofollow noopener">Writing FreeBSD Kernel modules in Rust</a></h3>

<hr>

<h3><a href="https://accessvector.net/2022/freebsd-aio-lpe" target="_blank" rel="nofollow noopener">Details behind the FreeBSD aio LPE</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://medium.com/nttlabs/linux-subsystem-for-freebsd-500b9a88fda4" target="_blank" rel="nofollow noopener">Linux Subsystem for FreeBSD</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/wp-content/uploads/2022/08/03ae2705ab4362602a6bb90c5b9628c595d8b4fa.2.pdf" target="_blank" rel="nofollow noopener">FreeBSD Journal: Science, Systems, and FreeBSD </a></h3>

<hr>

<h3><a href="https://thenewstrace.com/netbsd-an-operating-system-that-is-serious-about-being-cross-platform-now-improves-its-support-for-the-commodore-amiga-1985/243892/" target="_blank" rel="nofollow noopener">NetBSD improves its support for the Commodore Amiga</a></h3>

<hr>

<h3><a href="https://www.senzilla.io/blog/2022/08/10/installing-openbsd-scaleway-elastic-metal/" target="_blank" rel="nofollow noopener">Installing OpenBSD on Scaleway Elastic Metal</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><p><a href="http://undeadly.org/cgi?action=article;sid=20220810120423" target="_blank" rel="nofollow noopener">/usr/games removed from the default $PATH</a></p></li>
<li><p><a href="https://forums.FreeBSD.org/threads/how-to-install-and-configure-mdnsresponder.70713/" target="_blank" rel="nofollow noopener">How to install and configure mDNSResponder</a></p></li>
<li><p><a href="https://sleeplessbeastie.eu/2022/08/12/how-to-use-consistent-exit-codes-in-shell-scripts" target="_blank" rel="nofollow noopener">How to use consistent exit codes in shell scripts</a></p>

<hr></li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>[TheHolm - zfs question)[<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/469/feedback/TheHolm%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/469/feedback/TheHolm%20-%20zfs%20question.md</a>]
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Writing FreeBSD kernel modules in Rust, Details behind the FreeBSD aio LPE, Linux subsystem for FreeBSD, FreeBSD Journal: Science, Systems, and FreeBSD, NetBSD improves Amiga support, OpenBSD on Scaleway Elastic Metal, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://research.nccgroup.com/2022/08/31/writing-freebsd-kernel-modules-in-rust/" target="_blank" rel="nofollow noopener">Writing FreeBSD Kernel modules in Rust</a></h3>

<hr>

<h3><a href="https://accessvector.net/2022/freebsd-aio-lpe" target="_blank" rel="nofollow noopener">Details behind the FreeBSD aio LPE</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://medium.com/nttlabs/linux-subsystem-for-freebsd-500b9a88fda4" target="_blank" rel="nofollow noopener">Linux Subsystem for FreeBSD</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/wp-content/uploads/2022/08/03ae2705ab4362602a6bb90c5b9628c595d8b4fa.2.pdf" target="_blank" rel="nofollow noopener">FreeBSD Journal: Science, Systems, and FreeBSD </a></h3>

<hr>

<h3><a href="https://thenewstrace.com/netbsd-an-operating-system-that-is-serious-about-being-cross-platform-now-improves-its-support-for-the-commodore-amiga-1985/243892/" target="_blank" rel="nofollow noopener">NetBSD improves its support for the Commodore Amiga</a></h3>

<hr>

<h3><a href="https://www.senzilla.io/blog/2022/08/10/installing-openbsd-scaleway-elastic-metal/" target="_blank" rel="nofollow noopener">Installing OpenBSD on Scaleway Elastic Metal</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><p><a href="http://undeadly.org/cgi?action=article;sid=20220810120423" target="_blank" rel="nofollow noopener">/usr/games removed from the default $PATH</a></p></li>
<li><p><a href="https://forums.FreeBSD.org/threads/how-to-install-and-configure-mdnsresponder.70713/" target="_blank" rel="nofollow noopener">How to install and configure mDNSResponder</a></p></li>
<li><p><a href="https://sleeplessbeastie.eu/2022/08/12/how-to-use-consistent-exit-codes-in-shell-scripts" target="_blank" rel="nofollow noopener">How to use consistent exit codes in shell scripts</a></p>

<hr></li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>[TheHolm - zfs question)[<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/469/feedback/TheHolm%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/469/feedback/TheHolm%20-%20zfs%20question.md</a>]
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>472: Consistent Exit Code</title>
  <link>https://www.bsdnow.tv/472</link>
  <guid isPermaLink="false">8d63b5c4-f59c-4142-a030-f0791de6b56a</guid>
  <pubDate>Thu, 15 Sep 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8d63b5c4-f59c-4142-a030-f0791de6b56a.mp3" length="65335680" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD on the Framework Laptop, Win32 is the only stable ABI on Linux, why OpenBSD’s documentation is so good, configure dma for mail delivery in jails on internet hosts, introducing muxfs, RAID1C boot support, and more</itunes:subtitle>
  <itunes:duration>45:22</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>&lt;p&gt;FreeBSD on the Framework Laptop, Win32 is the only stable ABI on Linux, why OpenBSD’s documentation is so good, configure dma for mail delivery in jails on internet hosts, introducing muxfs, RAID1C boot support, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://xyinn.org/md/freebsd/framework_laptop" target="_blank" rel="nofollow noopener"&gt;FreeBSD on the Framework laptop&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.hiler.eu/win32-the-only-stable-abi/" target="_blank" rel="nofollow noopener"&gt;Win32 is the only stable ABI on Linux&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2022-08-18-why-openbsd-documentation-is-good.html" target="_blank" rel="nofollow noopener"&gt;Why is the OpenBSD documentation so good?&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2022/08/15/how-i-configure-dma-for-mail-delivery-in-jails-on-my-internet-hosts/" target="_blank" rel="nofollow noopener"&gt;How I configure dma for mail delivery in jails on my internet hosts&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sdadams.org/blog/introducing-muxfs/" target="_blank" rel="nofollow noopener"&gt;Introducing muxfs&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20220813110021" target="_blank" rel="nofollow noopener"&gt;RAID 1C boot support added&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[Oliver - shell tip)[&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/469/feedback/Oliver%20-%20shell%20tip.md" target="_blank" rel="nofollow noopener"&gt;https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/469/feedback/Oliver%20-%20shell%20tip.md&lt;/a&gt;]&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, framework, laptop, stable abi, win32, documentation, dma, dragonfly mail agent, mail agent, mail delivery, muxfs, raid 1c, boot support</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD on the Framework Laptop, Win32 is the only stable ABI on Linux, why OpenBSD’s documentation is so good, configure dma for mail delivery in jails on internet hosts, introducing muxfs, RAID1C boot support, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://xyinn.org/md/freebsd/framework_laptop" target="_blank" rel="nofollow noopener">FreeBSD on the Framework laptop</a></h3>

<hr>

<h3><a href="https://blog.hiler.eu/win32-the-only-stable-abi/" target="_blank" rel="nofollow noopener">Win32 is the only stable ABI on Linux</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2022-08-18-why-openbsd-documentation-is-good.html" target="_blank" rel="nofollow noopener">Why is the OpenBSD documentation so good?</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2022/08/15/how-i-configure-dma-for-mail-delivery-in-jails-on-my-internet-hosts/" target="_blank" rel="nofollow noopener">How I configure dma for mail delivery in jails on my internet hosts</a></h3>

<hr>

<h3><a href="https://sdadams.org/blog/introducing-muxfs/" target="_blank" rel="nofollow noopener">Introducing muxfs</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20220813110021" target="_blank" rel="nofollow noopener">RAID 1C boot support added</a></h3>

<hr>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>[Oliver - shell tip)[<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/469/feedback/Oliver%20-%20shell%20tip.md" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/469/feedback/Oliver%20-%20shell%20tip.md</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD on the Framework Laptop, Win32 is the only stable ABI on Linux, why OpenBSD’s documentation is so good, configure dma for mail delivery in jails on internet hosts, introducing muxfs, RAID1C boot support, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://xyinn.org/md/freebsd/framework_laptop" target="_blank" rel="nofollow noopener">FreeBSD on the Framework laptop</a></h3>

<hr>

<h3><a href="https://blog.hiler.eu/win32-the-only-stable-abi/" target="_blank" rel="nofollow noopener">Win32 is the only stable ABI on Linux</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2022-08-18-why-openbsd-documentation-is-good.html" target="_blank" rel="nofollow noopener">Why is the OpenBSD documentation so good?</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2022/08/15/how-i-configure-dma-for-mail-delivery-in-jails-on-my-internet-hosts/" target="_blank" rel="nofollow noopener">How I configure dma for mail delivery in jails on my internet hosts</a></h3>

<hr>

<h3><a href="https://sdadams.org/blog/introducing-muxfs/" target="_blank" rel="nofollow noopener">Introducing muxfs</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20220813110021" target="_blank" rel="nofollow noopener">RAID 1C boot support added</a></h3>

<hr>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>[Oliver - shell tip)[<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/469/feedback/Oliver%20-%20shell%20tip.md" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/469/feedback/Oliver%20-%20shell%20tip.md</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>471: De-Penguinization</title>
  <link>https://www.bsdnow.tv/471</link>
  <guid isPermaLink="false">6550223a-8916-4ffc-ab29-30b5caa18d2c</guid>
  <pubDate>Thu, 08 Sep 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6550223a-8916-4ffc-ab29-30b5caa18d2c.mp3" length="70774272" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Ten Things To Do After Installing FreeBSD, BSD for Linux users, r2k22 Hackathon Report on rpki-client, Configuring OpenIKED, De-Penguin Me, and more </itunes:subtitle>
  <itunes:duration>49:08</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>&lt;p&gt;Ten Things To Do After Installing FreeBSD, BSD for Linux users, r2k22 Hackathon Report on rpki-client, Configuring OpenIKED, De-Penguin Me, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://bastillebsd.org/blog/2022/07/14/ten-things-to-do-after-installing-freebsd/" target="_blank" rel="nofollow noopener"&gt;Ten Things To Do After Installing FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://hackerpublicradio.org/eps.php?id=3655" target="_blank" rel="nofollow noopener"&gt;hpr3655 :: BSD for Linux users&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20220701171631" target="_blank" rel="nofollow noopener"&gt;r2k22 Hackathon Report: Job Snijders (job@) on rpki-client and more&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://wiki.ircnow.org/index.php?n=Iked.Configure" target="_blank" rel="nofollow noopener"&gt;Configuring OpenIKED&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://depenguin.me/" target="_blank" rel="nofollow noopener"&gt;De-Penguin Me&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, ten things, to do, users, rk2k22, hackathon, rpki-client, openiked, configuring, configuration, de-penguin</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Ten Things To Do After Installing FreeBSD, BSD for Linux users, r2k22 Hackathon Report on rpki-client, Configuring OpenIKED, De-Penguin Me, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://bastillebsd.org/blog/2022/07/14/ten-things-to-do-after-installing-freebsd/" target="_blank" rel="nofollow noopener">Ten Things To Do After Installing FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://hackerpublicradio.org/eps.php?id=3655" target="_blank" rel="nofollow noopener">hpr3655 :: BSD for Linux users</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20220701171631" target="_blank" rel="nofollow noopener">r2k22 Hackathon Report: Job Snijders (job@) on rpki-client and more</a></h3>

<hr>

<h3><a href="https://wiki.ircnow.org/index.php?n=Iked.Configure" target="_blank" rel="nofollow noopener">Configuring OpenIKED</a></h3>

<hr>

<h3><a href="https://depenguin.me/" target="_blank" rel="nofollow noopener">De-Penguin Me</a></h3>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Ten Things To Do After Installing FreeBSD, BSD for Linux users, r2k22 Hackathon Report on rpki-client, Configuring OpenIKED, De-Penguin Me, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://bastillebsd.org/blog/2022/07/14/ten-things-to-do-after-installing-freebsd/" target="_blank" rel="nofollow noopener">Ten Things To Do After Installing FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://hackerpublicradio.org/eps.php?id=3655" target="_blank" rel="nofollow noopener">hpr3655 :: BSD for Linux users</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20220701171631" target="_blank" rel="nofollow noopener">r2k22 Hackathon Report: Job Snijders (job@) on rpki-client and more</a></h3>

<hr>

<h3><a href="https://wiki.ircnow.org/index.php?n=Iked.Configure" target="_blank" rel="nofollow noopener">Configuring OpenIKED</a></h3>

<hr>

<h3><a href="https://depenguin.me/" target="_blank" rel="nofollow noopener">De-Penguin Me</a></h3>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>470: 0mp interview</title>
  <link>https://www.bsdnow.tv/470</link>
  <guid isPermaLink="false">3f9451dd-059e-44da-9055-d7e119765d55</guid>
  <pubDate>Thu, 01 Sep 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3f9451dd-059e-44da-9055-d7e119765d55.mp3" length="75793536" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>In this special episode, we are interviewing Mateusz Piotrowski about his various roles in the FreeBSD project, his ports work, and a few other interesting things he’s involved with. Enjoy this interview episode, we’ll be back with a regular episode next week.  </itunes:subtitle>
  <itunes:duration>52:38</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>&lt;p&gt;In this special episode, we are interviewing Mateusz Piotrowski about his various roles in the FreeBSD project, his ports work, and a few other interesting things he’s involved with. Enjoy this interview episode, we’ll be back with a regular episode next week.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h2&gt;Interview - Mateusz Piotrowski - &lt;a href="mailto:0mp@freebsd.org" target="_blank" rel="nofollow noopener"&gt;0mp@freebsd.org&lt;/a&gt; / &lt;a href="https://twitter.com/0mpts" target="_blank" rel="nofollow noopener"&gt;@0mpts&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Interview&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BR: Welcome Mateusz. Can you tell our audience a bit about yourself and how you got started with Unix/BSD?&lt;/li&gt;
&lt;li&gt;TJ: What can we blame you for (prior/current work, planned projects)?&lt;/li&gt;
&lt;li&gt;BR: You served as the first doceng secretary and joined the FreeBSD core team in this term. What interested you in these roles and what do you want to accomplish in this term?&lt;/li&gt;
&lt;li&gt;TJ: You are also busy with maintaining some FreeBSD ports. What ports are those?&lt;/li&gt;
&lt;li&gt;BR: Can you tell us a bit about your thesis work?&lt;/li&gt;
&lt;li&gt;TJ: What does open source work mean for you?&lt;/li&gt;
&lt;li&gt;BR: Do you have a cool Unix/BSD tip for us?&lt;/li&gt;
&lt;li&gt;TJ: Is there anything else that you'd like to mention before we let you go?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Special Guest: Mateusz Piotrowski.&lt;/p&gt;
</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, filesystem, interview, ports, packages, jails</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>In this special episode, we are interviewing Mateusz Piotrowski about his various roles in the FreeBSD project, his ports work, and a few other interesting things he’s involved with. Enjoy this interview episode, we’ll be back with a regular episode next week.  </p>

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

<h2>Headlines</h2>

<h2>Interview - Mateusz Piotrowski - <a href="mailto:0mp@freebsd.org" target="_blank" rel="nofollow noopener">0mp@freebsd.org</a> / <a href="https://twitter.com/0mpts" target="_blank" rel="nofollow noopener">@0mpts</a></h2>

<p>Interview</p>

<ul>
<li>BR: Welcome Mateusz. Can you tell our audience a bit about yourself and how you got started with Unix/BSD?</li>
<li>TJ: What can we blame you for (prior/current work, planned projects)?</li>
<li>BR: You served as the first doceng secretary and joined the FreeBSD core team in this term. What interested you in these roles and what do you want to accomplish in this term?</li>
<li>TJ: You are also busy with maintaining some FreeBSD ports. What ports are those?</li>
<li>BR: Can you tell us a bit about your thesis work?</li>
<li>TJ: What does open source work mean for you?</li>
<li>BR: Do you have a cool Unix/BSD tip for us?</li>
<li>TJ: Is there anything else that you'd like to mention before we let you go?</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Mateusz Piotrowski.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>In this special episode, we are interviewing Mateusz Piotrowski about his various roles in the FreeBSD project, his ports work, and a few other interesting things he’s involved with. Enjoy this interview episode, we’ll be back with a regular episode next week.  </p>

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

<h2>Headlines</h2>

<h2>Interview - Mateusz Piotrowski - <a href="mailto:0mp@freebsd.org" target="_blank" rel="nofollow noopener">0mp@freebsd.org</a> / <a href="https://twitter.com/0mpts" target="_blank" rel="nofollow noopener">@0mpts</a></h2>

<p>Interview</p>

<ul>
<li>BR: Welcome Mateusz. Can you tell our audience a bit about yourself and how you got started with Unix/BSD?</li>
<li>TJ: What can we blame you for (prior/current work, planned projects)?</li>
<li>BR: You served as the first doceng secretary and joined the FreeBSD core team in this term. What interested you in these roles and what do you want to accomplish in this term?</li>
<li>TJ: You are also busy with maintaining some FreeBSD ports. What ports are those?</li>
<li>BR: Can you tell us a bit about your thesis work?</li>
<li>TJ: What does open source work mean for you?</li>
<li>BR: Do you have a cool Unix/BSD tip for us?</li>
<li>TJ: Is there anything else that you'd like to mention before we let you go?</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Mateusz Piotrowski.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>469: Ctrl-C Reset</title>
  <link>https://www.bsdnow.tv/469</link>
  <guid isPermaLink="false">7c5cb6f6-6eba-4430-9347-89e87c1e230b</guid>
  <pubDate>Thu, 25 Aug 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/7c5cb6f6-6eba-4430-9347-89e87c1e230b.mp3" length="61200576" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Q2 2022 Status Report, FreeBSD in Science, fastest yes(1) in the west, Why Programmers Can’t "Reset" Programs With Ctrl-C, Run Slack in FreeBSD’s Linuxulator, and more.</itunes:subtitle>
  <itunes:duration>42:30</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>&lt;p&gt;FreeBSD Q2 2022 Status Report, FreeBSD in Science, fastest yes(1) in the west, Why Programmers Can’t "Reset" Programs With Ctrl-C, Run Slack in FreeBSD’s Linuxulator, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/status/report-2022-04-2022-06/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Q2 2022 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/guest-post-freebsd-in-science/" target="_blank" rel="nofollow noopener"&gt;FreeBSD in Science&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://codegolf.stackexchange.com/questions/199528/fastest-yes-in-the-west/199622#199622" target="_blank" rel="nofollow noopener"&gt;Fastest yes(1) in the west&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://kevinlawler.com/ctrl-c" target="_blank" rel="nofollow noopener"&gt;Ctrl-C: Why Programmers Can’t "Reset" Programs With Ctrl-C, but Used to Be Able To, and Why They Should Be Able to Again&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://meka.rs/blog/2022/07/01/freebsd-linuxulator/" target="_blank" rel="nofollow noopener"&gt;Run Slack in FreeBSD’s Linuxulator&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, quarterly status report, q2 2022, science, yes, fast, optimize, optimization, reset, ctrl-c, control-c, slack, linuxulator</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Q2 2022 Status Report, FreeBSD in Science, fastest yes(1) in the west, Why Programmers Can’t "Reset" Programs With Ctrl-C, Run Slack in FreeBSD’s Linuxulator, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/status/report-2022-04-2022-06/" target="_blank" rel="nofollow noopener">FreeBSD Q2 2022 Status Report</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/guest-post-freebsd-in-science/" target="_blank" rel="nofollow noopener">FreeBSD in Science</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://codegolf.stackexchange.com/questions/199528/fastest-yes-in-the-west/199622#199622" target="_blank" rel="nofollow noopener">Fastest yes(1) in the west</a></h3>

<hr>

<h3><a href="https://kevinlawler.com/ctrl-c" target="_blank" rel="nofollow noopener">Ctrl-C: Why Programmers Can’t "Reset" Programs With Ctrl-C, but Used to Be Able To, and Why They Should Be Able to Again</a></h3>

<hr>

<h3><a href="https://meka.rs/blog/2022/07/01/freebsd-linuxulator/" target="_blank" rel="nofollow noopener">Run Slack in FreeBSD’s Linuxulator</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Q2 2022 Status Report, FreeBSD in Science, fastest yes(1) in the west, Why Programmers Can’t "Reset" Programs With Ctrl-C, Run Slack in FreeBSD’s Linuxulator, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/status/report-2022-04-2022-06/" target="_blank" rel="nofollow noopener">FreeBSD Q2 2022 Status Report</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/guest-post-freebsd-in-science/" target="_blank" rel="nofollow noopener">FreeBSD in Science</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://codegolf.stackexchange.com/questions/199528/fastest-yes-in-the-west/199622#199622" target="_blank" rel="nofollow noopener">Fastest yes(1) in the west</a></h3>

<hr>

<h3><a href="https://kevinlawler.com/ctrl-c" target="_blank" rel="nofollow noopener">Ctrl-C: Why Programmers Can’t "Reset" Programs With Ctrl-C, but Used to Be Able To, and Why They Should Be Able to Again</a></h3>

<hr>

<h3><a href="https://meka.rs/blog/2022/07/01/freebsd-linuxulator/" target="_blank" rel="nofollow noopener">Run Slack in FreeBSD’s Linuxulator</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>468: Apples and CHERI</title>
  <link>https://www.bsdnow.tv/468</link>
  <guid isPermaLink="false">8142f047-532d-4b74-9f4f-45ee6e5f5e57</guid>
  <pubDate>Thu, 18 Aug 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8142f047-532d-4b74-9f4f-45ee6e5f5e57.mp3" length="22136952" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Advocating for FreeBSD in 2022 and Beyond, NetBSD 9.3 released, OPNsense 22.7 available, CHERI-based computer runs KDE for the first time, Run FreeBSD 13.1-RELEASE for ARM64 in QEMU on Apple Silicon Mac, and more</itunes:subtitle>
  <itunes:duration>38:19</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>&lt;p&gt;Advocating for FreeBSD in 2022 and Beyond, NetBSD 9.3 released, OPNsense 22.7 available, CHERI-based computer runs KDE for the first time, Run FreeBSD 13.1-RELEASE for ARM64 in QEMU on Apple Silicon Mac, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Notes&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/advocating-for-freebsd-in-2022-and-beyond/" target="_blank" rel="nofollow noopener"&gt;Advocating for FreeBSD in 2022 and Beyond&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/netbsd_9_3_released" target="_blank" rel="nofollow noopener"&gt;NetBSD 9.3 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://forum.opnsense.org/index.php?topic=29507.0" target="_blank" rel="nofollow noopener"&gt;OPNsense 22.7 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.theregister.com/2022/07/26/cheri_computer_runs_kde/" target="_blank" rel="nofollow noopener"&gt;CHERI-based computer runs KDE for the first time&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://gist.github.com/ctsrc/a1f57933a2cde9abc0f07be12889f97f" target="_blank" rel="nofollow noopener"&gt;Guide: Run FreeBSD 13.1-RELEASE for ARM64 in QEMU on Apple Silicon Mac&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [In -current, dhclient(8) now just logs warnings and executes ifconfig(8)](http://undeadly.org/cgi?action=article;sid=20220703114819)
• [Freshly installed #NetBSD 4.0.1 booting on a 80386 DX40 with 8MB of RAM in 2022](https://twitter.com/lefinnois/status/1553246084675375104)
• [nerdctl](https://twitter.com/woodsb02/status/1554481441060560898?s=28&amp;amp;t=8K7_A1RiWnCDU_Mme4_Yqw)
• [Even more Randomness](https://undeadly.org/cgi?action=article;sid=20220731110742)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, advocation, advocacy, opnsense, cheri, kde, k desktop environment, first time, bringup, arm64, apple silicon</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Advocating for FreeBSD in 2022 and Beyond, NetBSD 9.3 released, OPNsense 22.7 available, CHERI-based computer runs KDE for the first time, Run FreeBSD 13.1-RELEASE for ARM64 in QEMU on Apple Silicon Mac, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/advocating-for-freebsd-in-2022-and-beyond/" target="_blank" rel="nofollow noopener">Advocating for FreeBSD in 2022 and Beyond</a></h3>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/netbsd_9_3_released" target="_blank" rel="nofollow noopener">NetBSD 9.3 released</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://forum.opnsense.org/index.php?topic=29507.0" target="_blank" rel="nofollow noopener">OPNsense 22.7 released</a></h3>

<hr>

<h3><a href="https://www.theregister.com/2022/07/26/cheri_computer_runs_kde/" target="_blank" rel="nofollow noopener">CHERI-based computer runs KDE for the first time</a></h3>

<hr>

<h3><a href="https://gist.github.com/ctsrc/a1f57933a2cde9abc0f07be12889f97f" target="_blank" rel="nofollow noopener">Guide: Run FreeBSD 13.1-RELEASE for ARM64 in QEMU on Apple Silicon Mac</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [In -current, dhclient(8) now just logs warnings and executes ifconfig(8)](http://undeadly.org/cgi?action=article;sid=20220703114819)
• [Freshly installed #NetBSD 4.0.1 booting on a 80386 DX40 with 8MB of RAM in 2022](https://twitter.com/lefinnois/status/1553246084675375104)
• [nerdctl](https://twitter.com/woodsb02/status/1554481441060560898?s=28&amp;t=8K7_A1RiWnCDU_Mme4_Yqw)
• [Even more Randomness](https://undeadly.org/cgi?action=article;sid=20220731110742)
</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Advocating for FreeBSD in 2022 and Beyond, NetBSD 9.3 released, OPNsense 22.7 available, CHERI-based computer runs KDE for the first time, Run FreeBSD 13.1-RELEASE for ARM64 in QEMU on Apple Silicon Mac, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/advocating-for-freebsd-in-2022-and-beyond/" target="_blank" rel="nofollow noopener">Advocating for FreeBSD in 2022 and Beyond</a></h3>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/netbsd_9_3_released" target="_blank" rel="nofollow noopener">NetBSD 9.3 released</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://forum.opnsense.org/index.php?topic=29507.0" target="_blank" rel="nofollow noopener">OPNsense 22.7 released</a></h3>

<hr>

<h3><a href="https://www.theregister.com/2022/07/26/cheri_computer_runs_kde/" target="_blank" rel="nofollow noopener">CHERI-based computer runs KDE for the first time</a></h3>

<hr>

<h3><a href="https://gist.github.com/ctsrc/a1f57933a2cde9abc0f07be12889f97f" target="_blank" rel="nofollow noopener">Guide: Run FreeBSD 13.1-RELEASE for ARM64 in QEMU on Apple Silicon Mac</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [In -current, dhclient(8) now just logs warnings and executes ifconfig(8)](http://undeadly.org/cgi?action=article;sid=20220703114819)
• [Freshly installed #NetBSD 4.0.1 booting on a 80386 DX40 with 8MB of RAM in 2022](https://twitter.com/lefinnois/status/1553246084675375104)
• [nerdctl](https://twitter.com/woodsb02/status/1554481441060560898?s=28&amp;t=8K7_A1RiWnCDU_Mme4_Yqw)
• [Even more Randomness](https://undeadly.org/cgi?action=article;sid=20220731110742)
</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>467: Minecraft on NetBSD</title>
  <link>https://www.bsdnow.tv/467</link>
  <guid isPermaLink="false">9b71b507-e030-4903-b7ea-9abf525548cd</guid>
  <pubDate>Thu, 11 Aug 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9b71b507-e030-4903-b7ea-9abf525548cd.mp3" length="29179728" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Installing BSDs on Cubieboard1, Self-hosting a static site with OpenBSD, httpd, and relayd, NetBSD can also run a Minecraft server, A Little Story About the `yes` Unix Command, Shell History: Unix, OpenBGPD 7.5 released, and more</itunes:subtitle>
  <itunes:duration>48:30</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>&lt;p&gt;Installing BSDs on Cubieboard1, Self-hosting a static site with OpenBSD, httpd, and relayd, NetBSD can also run a Minecraft server, A Little Story About the &lt;code&gt;yes&lt;/code&gt; Unix Command, Shell History: Unix, OpenBGPD 7.5 released, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mekboy.ru/post/bsd-on-cubieboard1.en/" target="_blank" rel="nofollow noopener"&gt;Installing BSDs on Cubieboard1&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://citizen428.net/blog/self-hosting-static-site-openbsd-httpd-relayd/" target="_blank" rel="nofollow noopener"&gt;Self-hosting a static site with OpenBSD, httpd, and relayd&lt;/a&gt;&lt;/h3&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/netbsd-can-also-run-a-minecraft-server/" target="_blank" rel="nofollow noopener"&gt;NetBSD can also run a Minecraft server&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://endler.dev/2017/yes/" target="_blank" rel="nofollow noopener"&gt;A Little Story About the &lt;code&gt;yes&lt;/code&gt; Unix Command&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://portal.mozz.us/gemini/auragem.space/%7Ekrixano/ShellHistory-Unix.pdf" target="_blank" rel="nofollow noopener"&gt;Shell History: Unix&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20220716101930" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 7.5 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/467/feedback/Ludensen%20-%20Feedback.md" target="_blank" rel="nofollow noopener"&gt;Ludensen - Feedback&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/467/feedback/Vidar%20-%20OpenRGB.md" target="_blank" rel="nofollow noopener"&gt;Vidar - OpenRGB&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, cubieboard1, self-hosting, static-site, static website, httpd, relayd, minecraft, story, yes, unix command, shell history, openbgpd</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Installing BSDs on Cubieboard1, Self-hosting a static site with OpenBSD, httpd, and relayd, NetBSD can also run a Minecraft server, A Little Story About the <code>yes</code> Unix Command, Shell History: Unix, OpenBGPD 7.5 released, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://mekboy.ru/post/bsd-on-cubieboard1.en/" target="_blank" rel="nofollow noopener">Installing BSDs on Cubieboard1</a></h3>

<hr>

<h3><a href="https://citizen428.net/blog/self-hosting-static-site-openbsd-httpd-relayd/" target="_blank" rel="nofollow noopener">Self-hosting a static site with OpenBSD, httpd, and relayd</a></h3>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/netbsd-can-also-run-a-minecraft-server/" target="_blank" rel="nofollow noopener">NetBSD can also run a Minecraft server</a></h3>

<hr>

<h3><a href="https://endler.dev/2017/yes/" target="_blank" rel="nofollow noopener">A Little Story About the <code>yes</code> Unix Command</a></h3>

<hr>

<h3><a href="https://portal.mozz.us/gemini/auragem.space/%7Ekrixano/ShellHistory-Unix.pdf" target="_blank" rel="nofollow noopener">Shell History: Unix</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20220716101930" target="_blank" rel="nofollow noopener">OpenBGPD 7.5 released</a></h3>

<hr>

<h2>Beastie Bits</h2>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/467/feedback/Ludensen%20-%20Feedback.md" target="_blank" rel="nofollow noopener">Ludensen - Feedback</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/467/feedback/Vidar%20-%20OpenRGB.md" target="_blank" rel="nofollow noopener">Vidar - OpenRGB</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Installing BSDs on Cubieboard1, Self-hosting a static site with OpenBSD, httpd, and relayd, NetBSD can also run a Minecraft server, A Little Story About the <code>yes</code> Unix Command, Shell History: Unix, OpenBGPD 7.5 released, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://mekboy.ru/post/bsd-on-cubieboard1.en/" target="_blank" rel="nofollow noopener">Installing BSDs on Cubieboard1</a></h3>

<hr>

<h3><a href="https://citizen428.net/blog/self-hosting-static-site-openbsd-httpd-relayd/" target="_blank" rel="nofollow noopener">Self-hosting a static site with OpenBSD, httpd, and relayd</a></h3>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/netbsd-can-also-run-a-minecraft-server/" target="_blank" rel="nofollow noopener">NetBSD can also run a Minecraft server</a></h3>

<hr>

<h3><a href="https://endler.dev/2017/yes/" target="_blank" rel="nofollow noopener">A Little Story About the <code>yes</code> Unix Command</a></h3>

<hr>

<h3><a href="https://portal.mozz.us/gemini/auragem.space/%7Ekrixano/ShellHistory-Unix.pdf" target="_blank" rel="nofollow noopener">Shell History: Unix</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20220716101930" target="_blank" rel="nofollow noopener">OpenBGPD 7.5 released</a></h3>

<hr>

<h2>Beastie Bits</h2>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/467/feedback/Ludensen%20-%20Feedback.md" target="_blank" rel="nofollow noopener">Ludensen - Feedback</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/467/feedback/Vidar%20-%20OpenRGB.md" target="_blank" rel="nofollow noopener">Vidar - OpenRGB</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>466: cat(1)’s efficiency</title>
  <link>https://www.bsdnow.tv/466</link>
  <guid isPermaLink="false">507205dc-d2f0-4e96-ba40-fea8171e2125</guid>
  <pubDate>Thu, 04 Aug 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/507205dc-d2f0-4e96-ba40-fea8171e2125.mp3" length="32073600" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Contributing to Open Source Beyond Software Development, bringing TLS 1.3 to the Internet of Old Things, How efficient can cat(1) be, boost the speed of Unix shell programs, Running FreeBSD VNET Jails on AWS EC2 with Bastille, and more</itunes:subtitle>
  <itunes:duration>53:39</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>&lt;p&gt;Contributing to Open Source Beyond Software Development, bringing TLS 1.3 to the Internet of Old Things, How efficient can cat(1) be, boost the speed of Unix shell programs, Running FreeBSD VNET Jails on AWS EC2 with Bastille, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/contributing-to-open-source-beyond-software-development/" target="_blank" rel="nofollow noopener"&gt;Contributing to Open Source Beyond Software Development&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://oldvcr.blogspot.com/2022/07/crypto-ancienne-20-now-brings-tls-13-to.html" target="_blank" rel="nofollow noopener"&gt;Crypto Ancienne 2.0 now brings TLS 1.3 to the Internet of Old Things (except BeOS)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://ariadne.space/2022/07/17/how-efficient-can-cat1-be/" target="_blank" rel="nofollow noopener"&gt;How efficient can cat(1) be?&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://techxplore.com/news/2022-06-technique-significantly-boosts-unix-shell.html" target="_blank" rel="nofollow noopener"&gt;Technique significantly boosts the speeds of programs that run in the Unix shell&lt;/a&gt;&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;• [binpa.sh](http://binpa.sh/)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://pertho.net/posts/bastille-vnet-jails-ec2/" target="_blank" rel="nofollow noopener"&gt;Running FreeBSD VNET Jails on AWS EC2 with Bastille&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20220720220958" target="_blank" rel="nofollow noopener"&gt;Game of Trees 0.74 released&lt;/a&gt;&lt;br&gt;
&lt;a href="https://undeadly.org/cgi?action=article;sid=20220721122727" target="_blank" rel="nofollow noopener"&gt;OpenBSD -current has moved to 7.2-beta&lt;/a&gt;&lt;br&gt;
&lt;a href="https://itnext.io/unix-command-line-crash-course-453e409d62f5" target="_blank" rel="nofollow noopener"&gt;A Unix Command Line Crash Course&lt;/a&gt;&lt;br&gt;
&lt;a href="https://bsd.dog/project/bsd-dog-vimrc/" target="_blank" rel="nofollow noopener"&gt;BSD.DOG vimrc&lt;/a&gt;&lt;br&gt;
&lt;a href="https://wiki.freebsd.org/Speedruns" target="_blank" rel="nofollow noopener"&gt;FreeBSD Speedruns&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, contribution, contributing, software development, tls 1.3, internet of old things, cat, efficiency, speed boost, vnet, aws ec2, bastille</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Contributing to Open Source Beyond Software Development, bringing TLS 1.3 to the Internet of Old Things, How efficient can cat(1) be, boost the speed of Unix shell programs, Running FreeBSD VNET Jails on AWS EC2 with Bastille, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/contributing-to-open-source-beyond-software-development/" target="_blank" rel="nofollow noopener">Contributing to Open Source Beyond Software Development</a></h3>

<hr>

<h3><a href="https://oldvcr.blogspot.com/2022/07/crypto-ancienne-20-now-brings-tls-13-to.html" target="_blank" rel="nofollow noopener">Crypto Ancienne 2.0 now brings TLS 1.3 to the Internet of Old Things (except BeOS)</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://ariadne.space/2022/07/17/how-efficient-can-cat1-be/" target="_blank" rel="nofollow noopener">How efficient can cat(1) be?</a></h3>

<hr>

<h3><a href="https://techxplore.com/news/2022-06-technique-significantly-boosts-unix-shell.html" target="_blank" rel="nofollow noopener">Technique significantly boosts the speeds of programs that run in the Unix shell</a></h3>

<pre><code>• [binpa.sh](http://binpa.sh/)
</code></pre>

<hr>

<h3><a href="https://pertho.net/posts/bastille-vnet-jails-ec2/" target="_blank" rel="nofollow noopener">Running FreeBSD VNET Jails on AWS EC2 with Bastille</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20220720220958" target="_blank" rel="nofollow noopener">Game of Trees 0.74 released</a><br>
<a href="https://undeadly.org/cgi?action=article;sid=20220721122727" target="_blank" rel="nofollow noopener">OpenBSD -current has moved to 7.2-beta</a><br>
<a href="https://itnext.io/unix-command-line-crash-course-453e409d62f5" target="_blank" rel="nofollow noopener">A Unix Command Line Crash Course</a><br>
<a href="https://bsd.dog/project/bsd-dog-vimrc/" target="_blank" rel="nofollow noopener">BSD.DOG vimrc</a><br>
<a href="https://wiki.freebsd.org/Speedruns" target="_blank" rel="nofollow noopener">FreeBSD Speedruns</a></p>

<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>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Contributing to Open Source Beyond Software Development, bringing TLS 1.3 to the Internet of Old Things, How efficient can cat(1) be, boost the speed of Unix shell programs, Running FreeBSD VNET Jails on AWS EC2 with Bastille, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/contributing-to-open-source-beyond-software-development/" target="_blank" rel="nofollow noopener">Contributing to Open Source Beyond Software Development</a></h3>

<hr>

<h3><a href="https://oldvcr.blogspot.com/2022/07/crypto-ancienne-20-now-brings-tls-13-to.html" target="_blank" rel="nofollow noopener">Crypto Ancienne 2.0 now brings TLS 1.3 to the Internet of Old Things (except BeOS)</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://ariadne.space/2022/07/17/how-efficient-can-cat1-be/" target="_blank" rel="nofollow noopener">How efficient can cat(1) be?</a></h3>

<hr>

<h3><a href="https://techxplore.com/news/2022-06-technique-significantly-boosts-unix-shell.html" target="_blank" rel="nofollow noopener">Technique significantly boosts the speeds of programs that run in the Unix shell</a></h3>

<pre><code>• [binpa.sh](http://binpa.sh/)
</code></pre>

<hr>

<h3><a href="https://pertho.net/posts/bastille-vnet-jails-ec2/" target="_blank" rel="nofollow noopener">Running FreeBSD VNET Jails on AWS EC2 with Bastille</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="http://undeadly.org/cgi?action=article;sid=20220720220958" target="_blank" rel="nofollow noopener">Game of Trees 0.74 released</a><br>
<a href="https://undeadly.org/cgi?action=article;sid=20220721122727" target="_blank" rel="nofollow noopener">OpenBSD -current has moved to 7.2-beta</a><br>
<a href="https://itnext.io/unix-command-line-crash-course-453e409d62f5" target="_blank" rel="nofollow noopener">A Unix Command Line Crash Course</a><br>
<a href="https://bsd.dog/project/bsd-dog-vimrc/" target="_blank" rel="nofollow noopener">BSD.DOG vimrc</a><br>
<a href="https://wiki.freebsd.org/Speedruns" target="_blank" rel="nofollow noopener">FreeBSD Speedruns</a></p>

<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>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>465: Deep Space Debugging</title>
  <link>https://www.bsdnow.tv/465</link>
  <guid isPermaLink="false">f6b15e42-bd5a-47de-9df4-b207d0becb33</guid>
  <pubDate>Thu, 28 Jul 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f6b15e42-bd5a-47de-9df4-b207d0becb33.mp3" length="24400296" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Debugging Lisp in Deep Space, 0 Dependency Websites with OpenBSD &amp; AsciiDoc, Deleting old snapshots on FreeBSD, Full multiprocess support in lldb-server, Basic fix between pf tables and macros, and more</itunes:subtitle>
  <itunes:duration>38:45</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>&lt;p&gt;Debugging Lisp in Deep Space, 0 Dependency Websites with OpenBSD &amp;amp; AsciiDoc, Deleting old snapshots on FreeBSD, Full multiprocess support in lldb-server, Basic fix between pf tables and macros, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://thenewstack.io/nasa-programmer-remembers-debugging-lisp-in-deep-space/" target="_blank" rel="nofollow noopener"&gt;NASA Programmer Remembers Debugging Lisp in Deep Space&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.passwordclass.xyz/blogs/2022/06/0-dependency-websites-with-openbsd-asciidoc.html" target="_blank" rel="nofollow noopener"&gt;0 Dependency Websites with OpenBSD &amp;amp; AsciiDoc&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.jan0sch.de/post/deleting-old-zfs-snapshots/" target="_blank" rel="nofollow noopener"&gt;FreeBSD - Deleting old snapshots&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.moritz.systems/blog/full-multiprocess-support-in-lldb-server/" target="_blank" rel="nofollow noopener"&gt;Full multiprocess support in lldb-server&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/basic-fix-between-pf-tables-and-macros-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Basic fix between pf tables and macros on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/464/feedback/Ben%20-%20Jail%20Question.md" target="_blank" rel="nofollow noopener"&gt;Ben - Jail Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/464/feedback/Malcolm%20-%20encryption.md" target="_blank" rel="nofollow noopener"&gt;Malcolm - encryption&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, debug, debugging, lisp, nasa, deep space, zero dependencies, website, asciidoc, snapshot, multiprocess support, lldb, lldb-server, pf, pf tables, pf macros, firewall </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Debugging Lisp in Deep Space, 0 Dependency Websites with OpenBSD &amp; AsciiDoc, Deleting old snapshots on FreeBSD, Full multiprocess support in lldb-server, Basic fix between pf tables and macros, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://thenewstack.io/nasa-programmer-remembers-debugging-lisp-in-deep-space/" target="_blank" rel="nofollow noopener">NASA Programmer Remembers Debugging Lisp in Deep Space</a></h3>

<hr>

<h3><a href="https://blog.passwordclass.xyz/blogs/2022/06/0-dependency-websites-with-openbsd-asciidoc.html" target="_blank" rel="nofollow noopener">0 Dependency Websites with OpenBSD &amp; AsciiDoc</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.jan0sch.de/post/deleting-old-zfs-snapshots/" target="_blank" rel="nofollow noopener">FreeBSD - Deleting old snapshots</a></h3>

<hr>

<h3><a href="https://www.moritz.systems/blog/full-multiprocess-support-in-lldb-server/" target="_blank" rel="nofollow noopener">Full multiprocess support in lldb-server</a></h3>

<hr>

<h3><a href="https://rubenerd.com/basic-fix-between-pf-tables-and-macros-on-freebsd/" target="_blank" rel="nofollow noopener">Basic fix between pf tables and macros on FreeBSD</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/464/feedback/Ben%20-%20Jail%20Question.md" target="_blank" rel="nofollow noopener">Ben - Jail Question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/464/feedback/Malcolm%20-%20encryption.md" target="_blank" rel="nofollow noopener">Malcolm - encryption</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Debugging Lisp in Deep Space, 0 Dependency Websites with OpenBSD &amp; AsciiDoc, Deleting old snapshots on FreeBSD, Full multiprocess support in lldb-server, Basic fix between pf tables and macros, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://thenewstack.io/nasa-programmer-remembers-debugging-lisp-in-deep-space/" target="_blank" rel="nofollow noopener">NASA Programmer Remembers Debugging Lisp in Deep Space</a></h3>

<hr>

<h3><a href="https://blog.passwordclass.xyz/blogs/2022/06/0-dependency-websites-with-openbsd-asciidoc.html" target="_blank" rel="nofollow noopener">0 Dependency Websites with OpenBSD &amp; AsciiDoc</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.jan0sch.de/post/deleting-old-zfs-snapshots/" target="_blank" rel="nofollow noopener">FreeBSD - Deleting old snapshots</a></h3>

<hr>

<h3><a href="https://www.moritz.systems/blog/full-multiprocess-support-in-lldb-server/" target="_blank" rel="nofollow noopener">Full multiprocess support in lldb-server</a></h3>

<hr>

<h3><a href="https://rubenerd.com/basic-fix-between-pf-tables-and-macros-on-freebsd/" target="_blank" rel="nofollow noopener">Basic fix between pf tables and macros on FreeBSD</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/464/feedback/Ben%20-%20Jail%20Question.md" target="_blank" rel="nofollow noopener">Ben - Jail Question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/464/feedback/Malcolm%20-%20encryption.md" target="_blank" rel="nofollow noopener">Malcolm - encryption</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>464: Compiling with kefir</title>
  <link>https://www.bsdnow.tv/464</link>
  <guid isPermaLink="false">c5e043ce-2ec3-4eef-8d99-0ca38ed1fad5</guid>
  <pubDate>Thu, 21 Jul 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c5e043ce-2ec3-4eef-8d99-0ca38ed1fad5.mp3" length="23780520" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>From 0 to bhyve on FreeBSD, Analyze OpenBSD’s Kernel with Domain-Specific Knowledge, OpenBSD Webzine: ISSUE #10, HardenedBSD June 2022 Status Report, two new C compilers: chibicc and kefir in OpenBSD, SSD TRIM in NetBSD HEAD, and more</itunes:subtitle>
  <itunes:duration>39:20</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>&lt;p&gt;From 0 to bhyve on FreeBSD, Analyze OpenBSD’s Kernel with Domain-Specific Knowledge, OpenBSD Webzine: ISSUE #10, HardenedBSD June 2022 Status Report, two new C compilers: chibicc and kefir in OpenBSD, SSD TRIM in NetBSD HEAD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/from-0-to-bhyve-on-freebsd-13-1/" target="_blank" rel="nofollow noopener"&gt;From 0 to Bhyve on FreeBSD 13.1&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://medium.com/@chrissicool/analyze-openbsds-kernel-with-domain-specific-knowledge-ca665d92eebb" target="_blank" rel="nofollow noopener"&gt;Analyze OpenBSD’s Kernel with Domain-Specific Knowledge&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://webzine.puffy.cafe/issue-10.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Webzine: ISSUE #10&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2022-06-28/hardenedbsd-june-2022-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD June 2022 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://briancallahan.net/blog/20220629.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD has two new C compilers: chibicc and kefir&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.unitedbsd.com/d/859-ssd-trim-in-netbsd-head-current" target="_blank" rel="nofollow noopener"&gt;SSD TRIM in NetBSD HEAD (-current)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, bhyve, domain specific knowledge, analysis, analytics, webzine, issue, new edition, status report, chibicc, kefir, compiler, ssd, trim, trim support </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>From 0 to bhyve on FreeBSD, Analyze OpenBSD’s Kernel with Domain-Specific Knowledge, OpenBSD Webzine: ISSUE #10, HardenedBSD June 2022 Status Report, two new C compilers: chibicc and kefir in OpenBSD, SSD TRIM in NetBSD HEAD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/from-0-to-bhyve-on-freebsd-13-1/" target="_blank" rel="nofollow noopener">From 0 to Bhyve on FreeBSD 13.1</a></h3>

<hr>

<h3><a href="https://medium.com/@chrissicool/analyze-openbsds-kernel-with-domain-specific-knowledge-ca665d92eebb" target="_blank" rel="nofollow noopener">Analyze OpenBSD’s Kernel with Domain-Specific Knowledge</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://webzine.puffy.cafe/issue-10.html" target="_blank" rel="nofollow noopener">OpenBSD Webzine: ISSUE #10</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2022-06-28/hardenedbsd-june-2022-status-report" target="_blank" rel="nofollow noopener">HardenedBSD June 2022 Status Report</a></h3>

<hr>

<h3><a href="https://briancallahan.net/blog/20220629.html" target="_blank" rel="nofollow noopener">OpenBSD has two new C compilers: chibicc and kefir</a></h3>

<hr>

<h3><a href="https://www.unitedbsd.com/d/859-ssd-trim-in-netbsd-head-current" target="_blank" rel="nofollow noopener">SSD TRIM in NetBSD HEAD (-current)</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>From 0 to bhyve on FreeBSD, Analyze OpenBSD’s Kernel with Domain-Specific Knowledge, OpenBSD Webzine: ISSUE #10, HardenedBSD June 2022 Status Report, two new C compilers: chibicc and kefir in OpenBSD, SSD TRIM in NetBSD HEAD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/from-0-to-bhyve-on-freebsd-13-1/" target="_blank" rel="nofollow noopener">From 0 to Bhyve on FreeBSD 13.1</a></h3>

<hr>

<h3><a href="https://medium.com/@chrissicool/analyze-openbsds-kernel-with-domain-specific-knowledge-ca665d92eebb" target="_blank" rel="nofollow noopener">Analyze OpenBSD’s Kernel with Domain-Specific Knowledge</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://webzine.puffy.cafe/issue-10.html" target="_blank" rel="nofollow noopener">OpenBSD Webzine: ISSUE #10</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2022-06-28/hardenedbsd-june-2022-status-report" target="_blank" rel="nofollow noopener">HardenedBSD June 2022 Status Report</a></h3>

<hr>

<h3><a href="https://briancallahan.net/blog/20220629.html" target="_blank" rel="nofollow noopener">OpenBSD has two new C compilers: chibicc and kefir</a></h3>

<hr>

<h3><a href="https://www.unitedbsd.com/d/859-ssd-trim-in-netbsd-head-current" target="_blank" rel="nofollow noopener">SSD TRIM in NetBSD HEAD (-current)</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>463: The 1.0 Legend</title>
  <link>https://www.bsdnow.tv/463</link>
  <guid isPermaLink="false">3131f5d6-8a20-474b-94c3-1da8ebac50ce</guid>
  <pubDate>Thu, 14 Jul 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3131f5d6-8a20-474b-94c3-1da8ebac50ce.mp3" length="32116704" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Differences between base and ports LLVM in OpenBSD, Netgraph for FreeBSD’s bhyve Networking, Audio on FreeBSD – Quick Guide, FreeBSD’s Legend starts at 1.0, Hacker News running by FreeBSD, TrueNAS 13, and more</itunes:subtitle>
  <itunes:duration>55:11</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>&lt;p&gt;Differences between base and ports LLVM in OpenBSD, Netgraph for FreeBSD’s bhyve Networking, Audio on FreeBSD – Quick Guide, FreeBSD’s Legend starts at 1.0, Hacker News running by FreeBSD, TrueNAS 13, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/differences-between-base-and-ports-llvm-in-openbsd/" target="_blank" rel="nofollow noopener"&gt;Differences between base and ports LLVM in OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/using-netgraph-for-freebsds-bhyve-networking/?utm_source=bsdweekly" target="_blank" rel="nofollow noopener"&gt;Using Netgraph for FreeBSD’s bhyve Networking&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/freebsd-project/resources/audio-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Audio on FreeBSD – Quick Guide&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;[Legends start at 1.0! – FreeBSD in 1993]&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://eerielinux.wordpress.com/2022/06/18/legends-start-at-1-0-freebsd-in-1993-pt-1/" target="_blank" rel="nofollow noopener"&gt;Part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eerielinux.wordpress.com/2022/06/19/legends-start-at-1-0-freebsd-in-1993-pt-2/" target="_blank" rel="nofollow noopener"&gt;Part 2&lt;/a&gt;
***
### &lt;a href="https://news.ycombinator.com/item?id=16076041" target="_blank" rel="nofollow noopener"&gt;Hacker News running by FreeBSD. Take that, Linux!&lt;/a&gt;
***
### &lt;a href="https://www.theregister.com/2022/05/11/truenas_13_released/" target="_blank" rel="nofollow noopener"&gt;TrueNAS 13&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20220628135253" target="_blank" rel="nofollow noopener"&gt;Notable OpenBSD news you may have missed, 2022-06-28 edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/indgy/refind-bsd-black" target="_blank" rel="nofollow noopener"&gt;rEFInd design for all the BSDs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20220619185920" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 7.4 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ghostbsd.org/22.06.18_iso_is_now_available" target="_blank" rel="nofollow noopener"&gt;Hotfix GhostBSD 22.06.18 ISO is now available&lt;/a&gt;
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/463/feedback/Brad%20-%20Jails%20Question.md" target="_blank" rel="nofollow noopener"&gt;Brad - Jails Question&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/463/feedback/Freezr%20-%20A%20few%20questions.md" target="_blank" rel="nofollow noopener"&gt;Freezr - A few questions&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/463/feedback/A%20different%20Brad%20-%20Drive%20question.md" target="_blank" rel="nofollow noopener"&gt;A different Brad - Drive question&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, llvm, base vs. ports, compiler, netgraph, bhyve, audio, guide, legend, 1993, hacker news, truenas 13</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Differences between base and ports LLVM in OpenBSD, Netgraph for FreeBSD’s bhyve Networking, Audio on FreeBSD – Quick Guide, FreeBSD’s Legend starts at 1.0, Hacker News running by FreeBSD, TrueNAS 13, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.cambus.net/differences-between-base-and-ports-llvm-in-openbsd/" target="_blank" rel="nofollow noopener">Differences between base and ports LLVM in OpenBSD</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/using-netgraph-for-freebsds-bhyve-networking/?utm_source=bsdweekly" target="_blank" rel="nofollow noopener">Using Netgraph for FreeBSD’s bhyve Networking</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://freebsdfoundation.org/freebsd-project/resources/audio-on-freebsd/" target="_blank" rel="nofollow noopener">Audio on FreeBSD – Quick Guide</a></h3>

<h3>[Legends start at 1.0! – FreeBSD in 1993]</h3>

<ul>
<li><a href="https://eerielinux.wordpress.com/2022/06/18/legends-start-at-1-0-freebsd-in-1993-pt-1/" target="_blank" rel="nofollow noopener">Part 1</a></li>
<li><a href="https://eerielinux.wordpress.com/2022/06/19/legends-start-at-1-0-freebsd-in-1993-pt-2/" target="_blank" rel="nofollow noopener">Part 2</a>
***
### <a href="https://news.ycombinator.com/item?id=16076041" target="_blank" rel="nofollow noopener">Hacker News running by FreeBSD. Take that, Linux!</a>
***
### <a href="https://www.theregister.com/2022/05/11/truenas_13_released/" target="_blank" rel="nofollow noopener">TrueNAS 13</a>
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article;sid=20220628135253" target="_blank" rel="nofollow noopener">Notable OpenBSD news you may have missed, 2022-06-28 edition</a></li>
<li><a href="https://github.com/indgy/refind-bsd-black" target="_blank" rel="nofollow noopener">rEFInd design for all the BSDs</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20220619185920" target="_blank" rel="nofollow noopener">OpenBGPD 7.4 released</a></li>
<li><a href="http://ghostbsd.org/22.06.18_iso_is_now_available" target="_blank" rel="nofollow noopener">Hotfix GhostBSD 22.06.18 ISO is now available</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/463/feedback/Brad%20-%20Jails%20Question.md" target="_blank" rel="nofollow noopener">Brad - Jails Question</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/463/feedback/Freezr%20-%20A%20few%20questions.md" target="_blank" rel="nofollow noopener">Freezr - A few questions</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/463/feedback/A%20different%20Brad%20-%20Drive%20question.md" target="_blank" rel="nofollow noopener">A different Brad - Drive question</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Differences between base and ports LLVM in OpenBSD, Netgraph for FreeBSD’s bhyve Networking, Audio on FreeBSD – Quick Guide, FreeBSD’s Legend starts at 1.0, Hacker News running by FreeBSD, TrueNAS 13, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.cambus.net/differences-between-base-and-ports-llvm-in-openbsd/" target="_blank" rel="nofollow noopener">Differences between base and ports LLVM in OpenBSD</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/using-netgraph-for-freebsds-bhyve-networking/?utm_source=bsdweekly" target="_blank" rel="nofollow noopener">Using Netgraph for FreeBSD’s bhyve Networking</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://freebsdfoundation.org/freebsd-project/resources/audio-on-freebsd/" target="_blank" rel="nofollow noopener">Audio on FreeBSD – Quick Guide</a></h3>

<h3>[Legends start at 1.0! – FreeBSD in 1993]</h3>

<ul>
<li><a href="https://eerielinux.wordpress.com/2022/06/18/legends-start-at-1-0-freebsd-in-1993-pt-1/" target="_blank" rel="nofollow noopener">Part 1</a></li>
<li><a href="https://eerielinux.wordpress.com/2022/06/19/legends-start-at-1-0-freebsd-in-1993-pt-2/" target="_blank" rel="nofollow noopener">Part 2</a>
***
### <a href="https://news.ycombinator.com/item?id=16076041" target="_blank" rel="nofollow noopener">Hacker News running by FreeBSD. Take that, Linux!</a>
***
### <a href="https://www.theregister.com/2022/05/11/truenas_13_released/" target="_blank" rel="nofollow noopener">TrueNAS 13</a>
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article;sid=20220628135253" target="_blank" rel="nofollow noopener">Notable OpenBSD news you may have missed, 2022-06-28 edition</a></li>
<li><a href="https://github.com/indgy/refind-bsd-black" target="_blank" rel="nofollow noopener">rEFInd design for all the BSDs</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20220619185920" target="_blank" rel="nofollow noopener">OpenBGPD 7.4 released</a></li>
<li><a href="http://ghostbsd.org/22.06.18_iso_is_now_available" target="_blank" rel="nofollow noopener">Hotfix GhostBSD 22.06.18 ISO is now available</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/463/feedback/Brad%20-%20Jails%20Question.md" target="_blank" rel="nofollow noopener">Brad - Jails Question</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/463/feedback/Freezr%20-%20A%20few%20questions.md" target="_blank" rel="nofollow noopener">Freezr - A few questions</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/463/feedback/A%20different%20Brad%20-%20Drive%20question.md" target="_blank" rel="nofollow noopener">A different Brad - Drive question</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>462: OpenBSD Sales Pitch</title>
  <link>https://www.bsdnow.tv/462</link>
  <guid isPermaLink="false">6db1831f-5ad9-4b9b-a29d-6acb2e5399c6</guid>
  <pubDate>Thu, 07 Jul 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6db1831f-5ad9-4b9b-a29d-6acb2e5399c6.mp3" length="31027704" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The Design and Implementation of the NetBSD rc.d system, selling OpenBSD as a salesperson, Speeding up autoconf with caching, Allowing non-root execution of a jailed application, Configure login(1) and sshd(8) for YubiKey on OpenBSD, 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>&lt;p&gt;The Design and Implementation of the NetBSD rc.d system, selling OpenBSD as a salesperson, Speeding up autoconf with caching, Allowing non-root execution of a jailed application, Configure login(1) and sshd(8) for YubiKey on OpenBSD, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://www.mewburn.net/luke/papers/rc.d.pdf" target="_blank" rel="nofollow noopener"&gt;The Design and Implementation of the NetBSD rc.d system&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2022-06-22-openbsd-selling-arguments.html" target="_blank" rel="nofollow noopener"&gt;How I would sell OpenBSD as a salesperson&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://jmmv.dev/2022/06/autoconf-caching.html" target="_blank" rel="nofollow noopener"&gt;Speeding up autoconf with caching&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://forums.freebsd.org/threads/allowing-non-root-execution-of-a-jailed-application.85532/" target="_blank" rel="nofollow noopener"&gt;Allowing non-root execution of a jailed application&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://romanzolotarev.com/openbsd/yubikey.html" target="_blank" rel="nofollow noopener"&gt;Configure login(1) and sshd(8) for YubiKey on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/462/feedback/Glen%20-%20Thanks%20Todd.md" target="_blank" rel="nofollow noopener"&gt;Glen - Thanks Todd&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/462/feedback/Karl%20-%20Memory%20Question.md" target="_blank" rel="nofollow noopener"&gt;Karl - Memory Question&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/462/feedback/alejandro%20-%20Tom's%20laptop.md" target="_blank" rel="nofollow noopener"&gt;alejandro - Tom's laptop&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, rc.d,, selling, sales, salesperson, speed, speedup, autoconf, cache, caching, jailed application, yubikey</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Design and Implementation of the NetBSD rc.d system, selling OpenBSD as a salesperson, Speeding up autoconf with caching, Allowing non-root execution of a jailed application, Configure login(1) and sshd(8) for YubiKey on OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="http://www.mewburn.net/luke/papers/rc.d.pdf" target="_blank" rel="nofollow noopener">The Design and Implementation of the NetBSD rc.d system</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2022-06-22-openbsd-selling-arguments.html" target="_blank" rel="nofollow noopener">How I would sell OpenBSD as a salesperson</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jmmv.dev/2022/06/autoconf-caching.html" target="_blank" rel="nofollow noopener">Speeding up autoconf with caching</a></h3>

<hr>

<h3><a href="https://forums.freebsd.org/threads/allowing-non-root-execution-of-a-jailed-application.85532/" target="_blank" rel="nofollow noopener">Allowing non-root execution of a jailed application</a></h3>

<hr>

<h3><a href="https://romanzolotarev.com/openbsd/yubikey.html" target="_blank" rel="nofollow noopener">Configure login(1) and sshd(8) for YubiKey on OpenBSD</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/462/feedback/Glen%20-%20Thanks%20Todd.md" target="_blank" rel="nofollow noopener">Glen - Thanks Todd</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/462/feedback/Karl%20-%20Memory%20Question.md" target="_blank" rel="nofollow noopener">Karl - Memory Question</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/462/feedback/alejandro%20-%20Tom's%20laptop.md" target="_blank" rel="nofollow noopener">alejandro - Tom's laptop</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Design and Implementation of the NetBSD rc.d system, selling OpenBSD as a salesperson, Speeding up autoconf with caching, Allowing non-root execution of a jailed application, Configure login(1) and sshd(8) for YubiKey on OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="http://www.mewburn.net/luke/papers/rc.d.pdf" target="_blank" rel="nofollow noopener">The Design and Implementation of the NetBSD rc.d system</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2022-06-22-openbsd-selling-arguments.html" target="_blank" rel="nofollow noopener">How I would sell OpenBSD as a salesperson</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jmmv.dev/2022/06/autoconf-caching.html" target="_blank" rel="nofollow noopener">Speeding up autoconf with caching</a></h3>

<hr>

<h3><a href="https://forums.freebsd.org/threads/allowing-non-root-execution-of-a-jailed-application.85532/" target="_blank" rel="nofollow noopener">Allowing non-root execution of a jailed application</a></h3>

<hr>

<h3><a href="https://romanzolotarev.com/openbsd/yubikey.html" target="_blank" rel="nofollow noopener">Configure login(1) and sshd(8) for YubiKey on OpenBSD</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/462/feedback/Glen%20-%20Thanks%20Todd.md" target="_blank" rel="nofollow noopener">Glen - Thanks Todd</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/462/feedback/Karl%20-%20Memory%20Question.md" target="_blank" rel="nofollow noopener">Karl - Memory Question</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/462/feedback/alejandro%20-%20Tom's%20laptop.md" target="_blank" rel="nofollow noopener">alejandro - Tom's laptop</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>461: Persistent Memory Allocation</title>
  <link>https://www.bsdnow.tv/461</link>
  <guid isPermaLink="false">8809dc88-c752-4733-9f19-4bcd7e2ca683</guid>
  <pubDate>Thu, 30 Jun 2022 03:45:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8809dc88-c752-4733-9f19-4bcd7e2ca683.mp3" length="28160232" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Q1 FreeBSD Quarterly Status Report 2022, Nginx on OpenBSD 7.1, Persistent Memory Allocation, Colorize your BSD shell, cgit With Gitolite and Nginx on FreeBSD 13, and more</itunes:subtitle>
  <itunes:duration>49:40</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>&lt;p&gt;Q1 FreeBSD Quarterly Status Report 2022, Nginx on OpenBSD 7.1, Persistent Memory Allocation, Colorize your BSD shell, cgit With Gitolite and Nginx on FreeBSD 13, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/status/report-2022-01-2022-03/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Quarterly Status Report First Quarter 2022&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://unixcop.com/installing-nginx-on-openbsd-7-1/" target="_blank" rel="nofollow noopener"&gt;Installing Nginx on OpenBSD 7.1&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/webinars/live-sessions-singup/webinar-open-source-virtualization-getting-started-with-bhyve/" target="_blank" rel="nofollow noopener"&gt;Live Webinar: Open-source Virtualization: Getting started with bhyve &lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Hosted by Jim Salter and Allan Jude&lt;/li&gt;
&lt;li&gt;Live July 12th at 13:00 ET&lt;/li&gt;
&lt;li&gt;Available on-demand a few days later&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://queue.acm.org/detail.cfm?id=3534855" target="_blank" rel="nofollow noopener"&gt;Persistent Memory Allocation&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://forums.FreeBSD.org/threads/colorize-your-bsd-shell.85458/" target="_blank" rel="nofollow noopener"&gt;Colorize your BSD shell&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://herrbischoff.com/2021/10/how-to-install-cgit-with-gitolite-and-nginx-on-freebsd-13" target="_blank" rel="nofollow noopener"&gt;How to Install cgit With Gitolite and Nginx on FreeBSD 13&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://2022.eurobsdcon.org/program/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2022 (Austria) Program announced&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Come to Austria and learn about the latest happenings in the BSDs&lt;/li&gt;
&lt;li&gt;2 days of tutorials, and 2 days of 3 concurrent tracks of talks&lt;/li&gt;
&lt;li&gt;Registration is open now. See you there!
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/461/feedback/Brad%20-%20Drive%20question.md" target="_blank" rel="nofollow noopener"&gt;Brad - Drive question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/461/feedback/Carl%20-%20Wiring%20question.md" target="_blank" rel="nofollow noopener"&gt;Carl - Wiring question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/461/feedback/Jon%20-%20Jails%20question.md" target="_blank" rel="nofollow noopener"&gt;Jon - Jails question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, status report, quarterly, nginx, persistent memory, memory allocation, colorize, color, cgit, gitolite </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Q1 FreeBSD Quarterly Status Report 2022, Nginx on OpenBSD 7.1, Persistent Memory Allocation, Colorize your BSD shell, cgit With Gitolite and Nginx on FreeBSD 13, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/status/report-2022-01-2022-03/" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report First Quarter 2022</a></h3>

<hr>

<h3><a href="https://unixcop.com/installing-nginx-on-openbsd-7-1/" target="_blank" rel="nofollow noopener">Installing Nginx on OpenBSD 7.1</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://klarasystems.com/webinars/live-sessions-singup/webinar-open-source-virtualization-getting-started-with-bhyve/" target="_blank" rel="nofollow noopener">Live Webinar: Open-source Virtualization: Getting started with bhyve </a></h3>

<ul>
<li>Hosted by Jim Salter and Allan Jude</li>
<li>Live July 12th at 13:00 ET</li>
<li>Available on-demand a few days later</li>
</ul>

<hr>

<h3><a href="https://queue.acm.org/detail.cfm?id=3534855" target="_blank" rel="nofollow noopener">Persistent Memory Allocation</a></h3>

<hr>

<h3><a href="https://forums.FreeBSD.org/threads/colorize-your-bsd-shell.85458/" target="_blank" rel="nofollow noopener">Colorize your BSD shell</a></h3>

<hr>

<h3><a href="https://herrbischoff.com/2021/10/how-to-install-cgit-with-gitolite-and-nginx-on-freebsd-13" target="_blank" rel="nofollow noopener">How to Install cgit With Gitolite and Nginx on FreeBSD 13</a></h3>

<hr>

<h3><a href="https://2022.eurobsdcon.org/program/" target="_blank" rel="nofollow noopener">EuroBSDCon 2022 (Austria) Program announced</a></h3>

<ul>
<li>Come to Austria and learn about the latest happenings in the BSDs</li>
<li>2 days of tutorials, and 2 days of 3 concurrent tracks of talks</li>
<li>Registration is open now. See you there!
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/461/feedback/Brad%20-%20Drive%20question.md" target="_blank" rel="nofollow noopener">Brad - Drive question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/461/feedback/Carl%20-%20Wiring%20question.md" target="_blank" rel="nofollow noopener">Carl - Wiring question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/461/feedback/Jon%20-%20Jails%20question.md" target="_blank" rel="nofollow noopener">Jon - Jails question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Q1 FreeBSD Quarterly Status Report 2022, Nginx on OpenBSD 7.1, Persistent Memory Allocation, Colorize your BSD shell, cgit With Gitolite and Nginx on FreeBSD 13, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/status/report-2022-01-2022-03/" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report First Quarter 2022</a></h3>

<hr>

<h3><a href="https://unixcop.com/installing-nginx-on-openbsd-7-1/" target="_blank" rel="nofollow noopener">Installing Nginx on OpenBSD 7.1</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://klarasystems.com/webinars/live-sessions-singup/webinar-open-source-virtualization-getting-started-with-bhyve/" target="_blank" rel="nofollow noopener">Live Webinar: Open-source Virtualization: Getting started with bhyve </a></h3>

<ul>
<li>Hosted by Jim Salter and Allan Jude</li>
<li>Live July 12th at 13:00 ET</li>
<li>Available on-demand a few days later</li>
</ul>

<hr>

<h3><a href="https://queue.acm.org/detail.cfm?id=3534855" target="_blank" rel="nofollow noopener">Persistent Memory Allocation</a></h3>

<hr>

<h3><a href="https://forums.FreeBSD.org/threads/colorize-your-bsd-shell.85458/" target="_blank" rel="nofollow noopener">Colorize your BSD shell</a></h3>

<hr>

<h3><a href="https://herrbischoff.com/2021/10/how-to-install-cgit-with-gitolite-and-nginx-on-freebsd-13" target="_blank" rel="nofollow noopener">How to Install cgit With Gitolite and Nginx on FreeBSD 13</a></h3>

<hr>

<h3><a href="https://2022.eurobsdcon.org/program/" target="_blank" rel="nofollow noopener">EuroBSDCon 2022 (Austria) Program announced</a></h3>

<ul>
<li>Come to Austria and learn about the latest happenings in the BSDs</li>
<li>2 days of tutorials, and 2 days of 3 concurrent tracks of talks</li>
<li>Registration is open now. See you there!
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/461/feedback/Brad%20-%20Drive%20question.md" target="_blank" rel="nofollow noopener">Brad - Drive question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/461/feedback/Carl%20-%20Wiring%20question.md" target="_blank" rel="nofollow noopener">Carl - Wiring question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/461/feedback/Jon%20-%20Jails%20question.md" target="_blank" rel="nofollow noopener">Jon - Jails question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>460: OpenBSD airport folklore</title>
  <link>https://www.bsdnow.tv/460</link>
  <guid isPermaLink="false">9c05a38c-a1d1-467b-aac4-a360bedcb20f</guid>
  <pubDate>Thu, 23 Jun 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9c05a38c-a1d1-467b-aac4-a360bedcb20f.mp3" length="23500632" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Containerd gains support for launching Linux containers on FreeBSD, OpenBSD 7.1 on PINE64 RockPro64, true minimalistic window manager does not exist, OpenBSD folklore, HardenedBSD May 2022 Status Report, DragonFlyBSD 6.2.2 out, and more</itunes:subtitle>
  <itunes:duration>37:38</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>&lt;p&gt;Containerd gains support for launching Linux containers on FreeBSD, OpenBSD 7.1 on PINE64 RockPro64, true minimalistic window manager does not exist, OpenBSD folklore, HardenedBSD May 2022 Status Report, DragonFlyBSD 6.2.2 out, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://github.com/containerd/containerd/pull/7000" target="_blank" rel="nofollow noopener"&gt;Containerd gains support for launching Linux containers on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Uses Linux compat and the Linux Jails concept to deploy a full Linux container userland on FreeBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsandro.tech/posts/openbsd-7.1-on-pine64-rockpro64/" target="_blank" rel="nofollow noopener"&gt;OpenBSD 7.1 on PINE64 RockPro64&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/webinars/live-sessions-singup/webinar-open-source-virtualization-getting-started-with-bhyve/" target="_blank" rel="nofollow noopener"&gt;Live Webinar: Open-source Virtualization: Getting started with bhyve &lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Hosted by Jim Salter and Allan Jude&lt;/li&gt;
&lt;li&gt;Live July 12th at 13:00 ET&lt;/li&gt;
&lt;li&gt;Available on-demand a few days later&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://serhanekici.com/ttmwm.html" target="_blank" rel="nofollow noopener"&gt;The True Minimalistic Window Manager Does Not Exist&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/openbsd-folklore-and-share-misc-airport/" target="_blank" rel="nofollow noopener"&gt;OpenBSD folklore and share/misc/airport&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2022-06-01/hardenedbsd-may-2022-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD May 2022 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2022/06/10/27047.html" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD 6.2.2 out&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lists.dragonflybsd.org/pipermail/commits/2022-June/820953.html" target="_blank" rel="nofollow noopener"&gt;Changelog&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/460/feedback/Norbert%20-%20question.md" target="_blank" rel="nofollow noopener"&gt;Norbert - question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/460/feedback/Paulo%20-%20network%20question.md" target="_blank" rel="nofollow noopener"&gt;Paulo - network question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, containerd, linux containers, linuxulator, implementation, pine64, rockpro64, window manager, minimalistic, folklore, airport, airport codes, iata, status report</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Containerd gains support for launching Linux containers on FreeBSD, OpenBSD 7.1 on PINE64 RockPro64, true minimalistic window manager does not exist, OpenBSD folklore, HardenedBSD May 2022 Status Report, DragonFlyBSD 6.2.2 out, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://github.com/containerd/containerd/pull/7000" target="_blank" rel="nofollow noopener">Containerd gains support for launching Linux containers on FreeBSD</a></h3>

<ul>
<li>Uses Linux compat and the Linux Jails concept to deploy a full Linux container userland on FreeBSD</li>
</ul>

<hr>

<h3><a href="https://bsandro.tech/posts/openbsd-7.1-on-pine64-rockpro64/" target="_blank" rel="nofollow noopener">OpenBSD 7.1 on PINE64 RockPro64</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://klarasystems.com/webinars/live-sessions-singup/webinar-open-source-virtualization-getting-started-with-bhyve/" target="_blank" rel="nofollow noopener">Live Webinar: Open-source Virtualization: Getting started with bhyve </a></h3>

<ul>
<li>Hosted by Jim Salter and Allan Jude</li>
<li>Live July 12th at 13:00 ET</li>
<li>Available on-demand a few days later</li>
</ul>

<hr>

<h3><a href="https://serhanekici.com/ttmwm.html" target="_blank" rel="nofollow noopener">The True Minimalistic Window Manager Does Not Exist</a></h3>

<hr>

<h3><a href="https://www.cambus.net/openbsd-folklore-and-share-misc-airport/" target="_blank" rel="nofollow noopener">OpenBSD folklore and share/misc/airport</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2022-06-01/hardenedbsd-may-2022-status-report" target="_blank" rel="nofollow noopener">HardenedBSD May 2022 Status Report</a></h3>

<hr>

<h3><a href="https://www.dragonflydigest.com/2022/06/10/27047.html" target="_blank" rel="nofollow noopener">DragonFlyBSD 6.2.2 out</a></h3>

<ul>
<li><a href="https://lists.dragonflybsd.org/pipermail/commits/2022-June/820953.html" target="_blank" rel="nofollow noopener">Changelog</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/460/feedback/Norbert%20-%20question.md" target="_blank" rel="nofollow noopener">Norbert - question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/460/feedback/Paulo%20-%20network%20question.md" target="_blank" rel="nofollow noopener">Paulo - network question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Containerd gains support for launching Linux containers on FreeBSD, OpenBSD 7.1 on PINE64 RockPro64, true minimalistic window manager does not exist, OpenBSD folklore, HardenedBSD May 2022 Status Report, DragonFlyBSD 6.2.2 out, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://github.com/containerd/containerd/pull/7000" target="_blank" rel="nofollow noopener">Containerd gains support for launching Linux containers on FreeBSD</a></h3>

<ul>
<li>Uses Linux compat and the Linux Jails concept to deploy a full Linux container userland on FreeBSD</li>
</ul>

<hr>

<h3><a href="https://bsandro.tech/posts/openbsd-7.1-on-pine64-rockpro64/" target="_blank" rel="nofollow noopener">OpenBSD 7.1 on PINE64 RockPro64</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://klarasystems.com/webinars/live-sessions-singup/webinar-open-source-virtualization-getting-started-with-bhyve/" target="_blank" rel="nofollow noopener">Live Webinar: Open-source Virtualization: Getting started with bhyve </a></h3>

<ul>
<li>Hosted by Jim Salter and Allan Jude</li>
<li>Live July 12th at 13:00 ET</li>
<li>Available on-demand a few days later</li>
</ul>

<hr>

<h3><a href="https://serhanekici.com/ttmwm.html" target="_blank" rel="nofollow noopener">The True Minimalistic Window Manager Does Not Exist</a></h3>

<hr>

<h3><a href="https://www.cambus.net/openbsd-folklore-and-share-misc-airport/" target="_blank" rel="nofollow noopener">OpenBSD folklore and share/misc/airport</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2022-06-01/hardenedbsd-may-2022-status-report" target="_blank" rel="nofollow noopener">HardenedBSD May 2022 Status Report</a></h3>

<hr>

<h3><a href="https://www.dragonflydigest.com/2022/06/10/27047.html" target="_blank" rel="nofollow noopener">DragonFlyBSD 6.2.2 out</a></h3>

<ul>
<li><a href="https://lists.dragonflybsd.org/pipermail/commits/2022-June/820953.html" target="_blank" rel="nofollow noopener">Changelog</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/460/feedback/Norbert%20-%20question.md" target="_blank" rel="nofollow noopener">Norbert - question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/460/feedback/Paulo%20-%20network%20question.md" target="_blank" rel="nofollow noopener">Paulo - network question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>459: NetBSD Kernel benchmark</title>
  <link>https://www.bsdnow.tv/459</link>
  <guid isPermaLink="false">111c15bd-3906-4d2b-aaec-9d29bc06672a</guid>
  <pubDate>Thu, 16 Jun 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/111c15bd-3906-4d2b-aaec-9d29bc06672a.mp3" length="32577552" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Evaluating FreeBSD CURRENT for Production Use, Time Machine-like Backups on OpenBSD, FreeBSD on the Graviton 3, Compiling the NetBSD kernel as a benchmark, Network Management with the OpenBSD Packet Filter Toolset from BSDCan 2022, Hardware Detection &amp; Diagnostics for New FreeBSD Users, and more</itunes:subtitle>
  <itunes:duration>54:05</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>&lt;p&gt;Evaluating FreeBSD CURRENT for Production Use, Time Machine-like Backups on OpenBSD, FreeBSD on the Graviton 3, Compiling the NetBSD kernel as a benchmark, Network Management with the OpenBSD Packet Filter Toolset from BSDCan 2022, Hardware Detection &amp;amp; Diagnostics for New FreeBSD Users, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/evaluating-freebsd-current-for-production-use/" target="_blank" rel="nofollow noopener"&gt;Evaluating FreeBSD CURRENT for Production Use&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://xosc.org/timemachine.html" target="_blank" rel="nofollow noopener"&gt;Time Machine like Backups on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.daemonology.net/blog/2022-05-23-FreeBSD-Graviton-3.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD on the Graviton 3&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.anotherhomepage.org/post/2022/05/25/Compiling-the-NetBSD-kernel-as-a-benchmark/" target="_blank" rel="nofollow noopener"&gt;Compiling the NetBSD kernel as a benchmark&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20220607112236" target="_blank" rel="nofollow noopener"&gt;Network Management with the OpenBSD Packet Filter Toolset from BSDCan 2022&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://forums.FreeBSD.org/threads/hardware-detection-diagnostics-for-new-freebsd-users-pcs.84596/" target="_blank" rel="nofollow noopener"&gt;Hardware Detection &amp;amp; Diagnostics for New FreeBSD Users &amp;amp; PCs&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [NetBSD - Announcing Google Summer of Code 2022 projects](https://blog.netbsd.org/tnf/entry/announcing_google_summer_of_code3)
• [Welcome FreeBSD Google Summer of Code Participants](https://freebsdfoundation.org/blog/welcome-freebsd-google-summer-of-code-participants/)
• [Network from Scratch](https://www.networksfromscratch.com)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, production use, time machine, backups, backup, graviton 3, compiling, compiler benchmark, kernel compile, benchmark, network management, pf, packet filter, hardware detection, diagnostics</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Evaluating FreeBSD CURRENT for Production Use, Time Machine-like Backups on OpenBSD, FreeBSD on the Graviton 3, Compiling the NetBSD kernel as a benchmark, Network Management with the OpenBSD Packet Filter Toolset from BSDCan 2022, Hardware Detection &amp; Diagnostics for New FreeBSD Users, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/evaluating-freebsd-current-for-production-use/" target="_blank" rel="nofollow noopener">Evaluating FreeBSD CURRENT for Production Use</a></h3>

<hr>

<h3><a href="https://xosc.org/timemachine.html" target="_blank" rel="nofollow noopener">Time Machine like Backups on OpenBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.daemonology.net/blog/2022-05-23-FreeBSD-Graviton-3.html" target="_blank" rel="nofollow noopener">FreeBSD on the Graviton 3</a></h3>

<hr>

<h3><a href="https://blog.anotherhomepage.org/post/2022/05/25/Compiling-the-NetBSD-kernel-as-a-benchmark/" target="_blank" rel="nofollow noopener">Compiling the NetBSD kernel as a benchmark</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20220607112236" target="_blank" rel="nofollow noopener">Network Management with the OpenBSD Packet Filter Toolset from BSDCan 2022</a></h3>

<hr>

<h3><a href="https://forums.FreeBSD.org/threads/hardware-detection-diagnostics-for-new-freebsd-users-pcs.84596/" target="_blank" rel="nofollow noopener">Hardware Detection &amp; Diagnostics for New FreeBSD Users &amp; PCs</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [NetBSD - Announcing Google Summer of Code 2022 projects](https://blog.netbsd.org/tnf/entry/announcing_google_summer_of_code3)
• [Welcome FreeBSD Google Summer of Code Participants](https://freebsdfoundation.org/blog/welcome-freebsd-google-summer-of-code-participants/)
• [Network from Scratch](https://www.networksfromscratch.com)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Evaluating FreeBSD CURRENT for Production Use, Time Machine-like Backups on OpenBSD, FreeBSD on the Graviton 3, Compiling the NetBSD kernel as a benchmark, Network Management with the OpenBSD Packet Filter Toolset from BSDCan 2022, Hardware Detection &amp; Diagnostics for New FreeBSD Users, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/evaluating-freebsd-current-for-production-use/" target="_blank" rel="nofollow noopener">Evaluating FreeBSD CURRENT for Production Use</a></h3>

<hr>

<h3><a href="https://xosc.org/timemachine.html" target="_blank" rel="nofollow noopener">Time Machine like Backups on OpenBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.daemonology.net/blog/2022-05-23-FreeBSD-Graviton-3.html" target="_blank" rel="nofollow noopener">FreeBSD on the Graviton 3</a></h3>

<hr>

<h3><a href="https://blog.anotherhomepage.org/post/2022/05/25/Compiling-the-NetBSD-kernel-as-a-benchmark/" target="_blank" rel="nofollow noopener">Compiling the NetBSD kernel as a benchmark</a></h3>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20220607112236" target="_blank" rel="nofollow noopener">Network Management with the OpenBSD Packet Filter Toolset from BSDCan 2022</a></h3>

<hr>

<h3><a href="https://forums.FreeBSD.org/threads/hardware-detection-diagnostics-for-new-freebsd-users-pcs.84596/" target="_blank" rel="nofollow noopener">Hardware Detection &amp; Diagnostics for New FreeBSD Users &amp; PCs</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [NetBSD - Announcing Google Summer of Code 2022 projects](https://blog.netbsd.org/tnf/entry/announcing_google_summer_of_code3)
• [Welcome FreeBSD Google Summer of Code Participants](https://freebsdfoundation.org/blog/welcome-freebsd-google-summer-of-code-participants/)
• [Network from Scratch](https://www.networksfromscratch.com)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>458: Traceroute interpretation</title>
  <link>https://www.bsdnow.tv/458</link>
  <guid isPermaLink="false">a8dc34c4-e5aa-4409-bc38-28b891bf97a4</guid>
  <pubDate>Thu, 09 Jun 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a8dc34c4-e5aa-4409-bc38-28b891bf97a4.mp3" length="28773216" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Fundamentals of the FreeBSD Shell, Spammers in the Public Cloud, locking user accounts properly, overgrowth on NetBSD, moreutils, ctwm &amp; spleen, interpreting a traceroute, and more</itunes:subtitle>
  <itunes:duration>48: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>&lt;p&gt;Fundamentals of the FreeBSD Shell, Spammers in the Public Cloud, locking user accounts properly, overgrowth on NetBSD, moreutils, ctwm &amp;amp; spleen, interpreting a traceroute, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/interacting-with-freebsd-learning-the-fundamentals-of-the-freebsd-shell-2/" target="_blank" rel="nofollow noopener"&gt;Fundamentals of the FreeBSD Shell&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsdly.blogspot.com/2022/04/spammers-in-public-cloud-protected-by.html" target="_blank" rel="nofollow noopener"&gt;Spammers in the Public Cloud, Protected by SPF; Intensified Password Groping Still Ongoing; Spamware Hawked to Spamtraps&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.cyberciti.biz/networking/a-cautionary-tale-about-locking-linux-freebsd-user-accounts/" target="_blank" rel="nofollow noopener"&gt;A cautionary tale about locking Linux &amp;amp; FreeBSD user accounts&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.reddit.com/r/openbsd_gaming/comments/ucgavg/i_was_able_to_build_overgrowth_on_netbsd/" target="_blank" rel="nofollow noopener"&gt;Overgrowth runs on NetBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://joeyh.name/code/moreutils/" target="_blank" rel="nofollow noopener"&gt;moreutils&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/netbsd-ctwm-and-spleen/" target="_blank" rel="nofollow noopener"&gt;NetBSD, CTWM, and Spleen&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;p&gt;&lt;a href="https://phil.lavin.me.uk/2022/03/how-to-properly-interpret-a-traceroute-or-mtr/" target="_blank" rel="nofollow noopener"&gt;How to properly interpret a traceroute or mtr&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;Lets talk a bit about some of the events happening this year, BSDCan in virtual this weekend, emfcamp is this weekend too and in person, MCH is this summer and eurobsdcon is in september. How were the postgres conferences benedict?&lt;/p&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, fundamentals, public cloud, cloud, spf, protection, password groping, spamware, spamtraps, cautionary tale, locking, account, user account, account locking, overgrowth, moreutils, ctwm, spleen, traceroute, mtr</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Fundamentals of the FreeBSD Shell, Spammers in the Public Cloud, locking user accounts properly, overgrowth on NetBSD, moreutils, ctwm &amp; spleen, interpreting a traceroute, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/interacting-with-freebsd-learning-the-fundamentals-of-the-freebsd-shell-2/" target="_blank" rel="nofollow noopener">Fundamentals of the FreeBSD Shell</a></h3>

<hr>

<h3><a href="https://bsdly.blogspot.com/2022/04/spammers-in-public-cloud-protected-by.html" target="_blank" rel="nofollow noopener">Spammers in the Public Cloud, Protected by SPF; Intensified Password Groping Still Ongoing; Spamware Hawked to Spamtraps</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.cyberciti.biz/networking/a-cautionary-tale-about-locking-linux-freebsd-user-accounts/" target="_blank" rel="nofollow noopener">A cautionary tale about locking Linux &amp; FreeBSD user accounts</a></h3>

<hr>

<h3><a href="https://www.reddit.com/r/openbsd_gaming/comments/ucgavg/i_was_able_to_build_overgrowth_on_netbsd/" target="_blank" rel="nofollow noopener">Overgrowth runs on NetBSD</a></h3>

<hr>

<h3><a href="https://joeyh.name/code/moreutils/" target="_blank" rel="nofollow noopener">moreutils</a></h3>

<hr>

<h3><a href="https://www.cambus.net/netbsd-ctwm-and-spleen/" target="_blank" rel="nofollow noopener">NetBSD, CTWM, and Spleen</a></h3>

<hr>

<p><a href="https://phil.lavin.me.uk/2022/03/how-to-properly-interpret-a-traceroute-or-mtr/" target="_blank" rel="nofollow noopener">How to properly interpret a traceroute or mtr</a></p>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p>Lets talk a bit about some of the events happening this year, BSDCan in virtual this weekend, emfcamp is this weekend too and in person, MCH is this summer and eurobsdcon is in september. How were the postgres conferences benedict?</p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Fundamentals of the FreeBSD Shell, Spammers in the Public Cloud, locking user accounts properly, overgrowth on NetBSD, moreutils, ctwm &amp; spleen, interpreting a traceroute, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/interacting-with-freebsd-learning-the-fundamentals-of-the-freebsd-shell-2/" target="_blank" rel="nofollow noopener">Fundamentals of the FreeBSD Shell</a></h3>

<hr>

<h3><a href="https://bsdly.blogspot.com/2022/04/spammers-in-public-cloud-protected-by.html" target="_blank" rel="nofollow noopener">Spammers in the Public Cloud, Protected by SPF; Intensified Password Groping Still Ongoing; Spamware Hawked to Spamtraps</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.cyberciti.biz/networking/a-cautionary-tale-about-locking-linux-freebsd-user-accounts/" target="_blank" rel="nofollow noopener">A cautionary tale about locking Linux &amp; FreeBSD user accounts</a></h3>

<hr>

<h3><a href="https://www.reddit.com/r/openbsd_gaming/comments/ucgavg/i_was_able_to_build_overgrowth_on_netbsd/" target="_blank" rel="nofollow noopener">Overgrowth runs on NetBSD</a></h3>

<hr>

<h3><a href="https://joeyh.name/code/moreutils/" target="_blank" rel="nofollow noopener">moreutils</a></h3>

<hr>

<h3><a href="https://www.cambus.net/netbsd-ctwm-and-spleen/" target="_blank" rel="nofollow noopener">NetBSD, CTWM, and Spleen</a></h3>

<hr>

<p><a href="https://phil.lavin.me.uk/2022/03/how-to-properly-interpret-a-traceroute-or-mtr/" target="_blank" rel="nofollow noopener">How to properly interpret a traceroute or mtr</a></p>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p>Lets talk a bit about some of the events happening this year, BSDCan in virtual this weekend, emfcamp is this weekend too and in person, MCH is this summer and eurobsdcon is in september. How were the postgres conferences benedict?</p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>457: The NetBSD Wheelbarrow</title>
  <link>https://www.bsdnow.tv/457</link>
  <guid isPermaLink="false">4cb3f0eb-514d-4a26-9173-15d6eab282c0</guid>
  <pubDate>Thu, 02 Jun 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4cb3f0eb-514d-4a26-9173-15d6eab282c0.mp3" length="27225288" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Journey to ZFS RAIDZ1 on NetBSD, FreeBSD networking basics: WiFi and Bluetooth, smuggling code into the playstation via NetBSD driver hole, KDE FreeBSD CI, remembering buildtool, and more</itunes:subtitle>
  <itunes:duration>47: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>&lt;p&gt;Journey to ZFS RAIDZ1 on NetBSD, FreeBSD networking basics: WiFi and Bluetooth, smuggling code into the playstation via NetBSD driver hole, KDE FreeBSD CI, remembering buildtool, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://netbsd0.blogspot.com/2022/05/the-journey-to-zfs-raidz1-with.html" target="_blank" rel="nofollow noopener"&gt;The journey to ZFS raidz1 with different sized disks (On NetBSD) (Wheelbarrow optional)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/freebsd-project/resources/networking-basics-wifi-and-bluetooth/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Networking Basics: WiFi and Bluetooth&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.kiratas.com/playstation-hole-in-netbsd-driver-could-allow-code-smuggling-2/" target="_blank" rel="nofollow noopener"&gt;Playstation: Hole in NetBSD driver could allow code smuggling&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20220519162432/https://www.kiratas.com/playstation-hole-in-netbsd-driver-could-allow-code-smuggling-2/" target="_blank" rel="nofollow noopener"&gt;Archive link if the page is down (no images)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackerone.com/reports/1350653" target="_blank" rel="nofollow noopener"&gt;Original Announcment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.heise.de/news/Playstation-Luecke-in-NetBSD-Treiber-koennte-Codeschmuggel-ermoeglichen-7091153.html" target="_blank" rel="nofollow noopener"&gt;German Article&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl//kde/2022/04/26/freebsd-ci.html" target="_blank" rel="nofollow noopener"&gt;KDE-FreeBSD CI&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://jmmv.dev/2022/05/remembering-buildtool.html" target="_blank" rel="nofollow noopener"&gt;Remembering Buildtool&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://medium.com/@norlin.t/by-the-way-kubernetes-for-freebsd-d0ba4dab8d8e" target="_blank" rel="nofollow noopener"&gt;By the Way... Kubernetes for FreeBSD&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/tigersharke/FreeBSD-Games-Directory" target="_blank" rel="nofollow noopener"&gt;FreeBSD Games Directory&lt;/a&gt;&lt;br&gt;
&lt;a href="http://undeadly.org/cgi?action=article;sid=20220516093712" target="_blank" rel="nofollow noopener"&gt;Candlelit Console patch set to the framebuffer console&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/457/feedback/Dan%20-%20A%20couple%20things.md" target="_blank" rel="nofollow noopener"&gt;Dan - A couple things&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/457/feedback/Paul%20-%20BSD%20Business%20Justifications.md" target="_blank" rel="nofollow noopener"&gt;Paul - BSD Business Justifications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/457/feedback/Todd%20-%20Feedback%20to%20prior%20feedback.md" target="_blank" rel="nofollow noopener"&gt;Todd - Feedback to prior feedback&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</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, filesystem, interview, ports, packages, jails, raidz1, network basics, networking, wifi, bluetooth, playstation, kde, driver, continuous integration, buildtool </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Journey to ZFS RAIDZ1 on NetBSD, FreeBSD networking basics: WiFi and Bluetooth, smuggling code into the playstation via NetBSD driver hole, KDE FreeBSD CI, remembering buildtool, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="http://netbsd0.blogspot.com/2022/05/the-journey-to-zfs-raidz1-with.html" target="_blank" rel="nofollow noopener">The journey to ZFS raidz1 with different sized disks (On NetBSD) (Wheelbarrow optional)</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/freebsd-project/resources/networking-basics-wifi-and-bluetooth/" target="_blank" rel="nofollow noopener">FreeBSD Networking Basics: WiFi and Bluetooth</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.kiratas.com/playstation-hole-in-netbsd-driver-could-allow-code-smuggling-2/" target="_blank" rel="nofollow noopener">Playstation: Hole in NetBSD driver could allow code smuggling</a></h3>

<ul>
<li><a href="https://web.archive.org/web/20220519162432/https://www.kiratas.com/playstation-hole-in-netbsd-driver-could-allow-code-smuggling-2/" target="_blank" rel="nofollow noopener">Archive link if the page is down (no images)</a></li>
<li><a href="https://hackerone.com/reports/1350653" target="_blank" rel="nofollow noopener">Original Announcment</a></li>
<li><a href="https://www.heise.de/news/Playstation-Luecke-in-NetBSD-Treiber-koennte-Codeschmuggel-ermoeglichen-7091153.html" target="_blank" rel="nofollow noopener">German Article</a></li>
</ul>

<hr>

<h3><a href="https://euroquis.nl//kde/2022/04/26/freebsd-ci.html" target="_blank" rel="nofollow noopener">KDE-FreeBSD CI</a></h3>

<hr>

<h3><a href="https://jmmv.dev/2022/05/remembering-buildtool.html" target="_blank" rel="nofollow noopener">Remembering Buildtool</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://medium.com/@norlin.t/by-the-way-kubernetes-for-freebsd-d0ba4dab8d8e" target="_blank" rel="nofollow noopener">By the Way... Kubernetes for FreeBSD</a><br>
<a href="https://github.com/tigersharke/FreeBSD-Games-Directory" target="_blank" rel="nofollow noopener">FreeBSD Games Directory</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20220516093712" target="_blank" rel="nofollow noopener">Candlelit Console patch set to the framebuffer console</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/457/feedback/Dan%20-%20A%20couple%20things.md" target="_blank" rel="nofollow noopener">Dan - A couple things</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/457/feedback/Paul%20-%20BSD%20Business%20Justifications.md" target="_blank" rel="nofollow noopener">Paul - BSD Business Justifications</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/457/feedback/Todd%20-%20Feedback%20to%20prior%20feedback.md" target="_blank" rel="nofollow noopener">Todd - Feedback to prior feedback</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Journey to ZFS RAIDZ1 on NetBSD, FreeBSD networking basics: WiFi and Bluetooth, smuggling code into the playstation via NetBSD driver hole, KDE FreeBSD CI, remembering buildtool, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="http://netbsd0.blogspot.com/2022/05/the-journey-to-zfs-raidz1-with.html" target="_blank" rel="nofollow noopener">The journey to ZFS raidz1 with different sized disks (On NetBSD) (Wheelbarrow optional)</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/freebsd-project/resources/networking-basics-wifi-and-bluetooth/" target="_blank" rel="nofollow noopener">FreeBSD Networking Basics: WiFi and Bluetooth</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.kiratas.com/playstation-hole-in-netbsd-driver-could-allow-code-smuggling-2/" target="_blank" rel="nofollow noopener">Playstation: Hole in NetBSD driver could allow code smuggling</a></h3>

<ul>
<li><a href="https://web.archive.org/web/20220519162432/https://www.kiratas.com/playstation-hole-in-netbsd-driver-could-allow-code-smuggling-2/" target="_blank" rel="nofollow noopener">Archive link if the page is down (no images)</a></li>
<li><a href="https://hackerone.com/reports/1350653" target="_blank" rel="nofollow noopener">Original Announcment</a></li>
<li><a href="https://www.heise.de/news/Playstation-Luecke-in-NetBSD-Treiber-koennte-Codeschmuggel-ermoeglichen-7091153.html" target="_blank" rel="nofollow noopener">German Article</a></li>
</ul>

<hr>

<h3><a href="https://euroquis.nl//kde/2022/04/26/freebsd-ci.html" target="_blank" rel="nofollow noopener">KDE-FreeBSD CI</a></h3>

<hr>

<h3><a href="https://jmmv.dev/2022/05/remembering-buildtool.html" target="_blank" rel="nofollow noopener">Remembering Buildtool</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://medium.com/@norlin.t/by-the-way-kubernetes-for-freebsd-d0ba4dab8d8e" target="_blank" rel="nofollow noopener">By the Way... Kubernetes for FreeBSD</a><br>
<a href="https://github.com/tigersharke/FreeBSD-Games-Directory" target="_blank" rel="nofollow noopener">FreeBSD Games Directory</a><br>
<a href="http://undeadly.org/cgi?action=article;sid=20220516093712" target="_blank" rel="nofollow noopener">Candlelit Console patch set to the framebuffer console</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/457/feedback/Dan%20-%20A%20couple%20things.md" target="_blank" rel="nofollow noopener">Dan - A couple things</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/457/feedback/Paul%20-%20BSD%20Business%20Justifications.md" target="_blank" rel="nofollow noopener">Paul - BSD Business Justifications</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/457/feedback/Todd%20-%20Feedback%20to%20prior%20feedback.md" target="_blank" rel="nofollow noopener">Todd - Feedback to prior feedback</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>456: FreeBSD 13.1</title>
  <link>https://www.bsdnow.tv/456</link>
  <guid isPermaLink="false">634c66ea-7d91-4d0d-bb47-5d55f50b7029</guid>
  <pubDate>Thu, 26 May 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/634c66ea-7d91-4d0d-bb47-5d55f50b7029.mp3" length="29382912" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 13.1 is released, Unix command line conventions over time, Branching for NetBSD 10, Microbhyve, Own your Calendar and Contacts with OpenBSD, the PSARC case for ZFS, and more</itunes:subtitle>
  <itunes:duration>51:19</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>&lt;p&gt;FreeBSD 13.1 is released, Unix command line conventions over time, Branching for NetBSD 10, Microbhyve, Own your Calendar and Contacts with OpenBSD, the PSARC case for ZFS, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/releases/13.1R/announce/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13.1 Release is available&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;&lt;a href="https://blog.liw.fi/posts/2022/05/07/unix-cli/" target="_blank" rel="nofollow noopener"&gt;Unix command line conventions over time&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mail-index.netbsd.org/current-users/2022/05/02/msg042278.html" target="_blank" rel="nofollow noopener"&gt;Branching for NetBSD 10&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/cbsd/microbhyve" target="_blank" rel="nofollow noopener"&gt;Microbyhve&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://baak6.com/baikal-openbsd-fossdroid/" target="_blank" rel="nofollow noopener"&gt;Own Your Calendar &amp;amp; Contacts With OpenBSD, Baïkal, and FOSS Android&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://twitter.com/mmusante/status/1518947283626246145?t=tzR6KeMx2mhjJfeoOqrHIw&amp;amp;s=03" target="_blank" rel="nofollow noopener"&gt;Twenty years ago today, Jeff filed the PSARC case for the ZFS filesystem&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/456/feedback/Scott%20-%20FreeBSD%20and%20supercomputing.md" target="_blank" rel="nofollow noopener"&gt;Scott - FreeBSD and supercomputing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/456/feedback/Nick%20-%20Thanks%20and%20some%20shout%20outs.md" target="_blank" rel="nofollow noopener"&gt;Nick - Thanks and some shout outs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, 13.1, command line, convention, branching, branch, bhyve, microbhyve, calendar, contacts, sync, baikal, foss, android, psarc case, case filing </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 13.1 is released, Unix command line conventions over time, Branching for NetBSD 10, Microbhyve, Own your Calendar and Contacts with OpenBSD, the PSARC case for ZFS, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/13.1R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 13.1 Release is available</a></h3>

<h3><a href="https://blog.liw.fi/posts/2022/05/07/unix-cli/" target="_blank" rel="nofollow noopener">Unix command line conventions over time</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/current-users/2022/05/02/msg042278.html" target="_blank" rel="nofollow noopener">Branching for NetBSD 10</a></h3>

<hr>

<h3><a href="https://github.com/cbsd/microbhyve" target="_blank" rel="nofollow noopener">Microbyhve</a></h3>

<hr>

<h3><a href="https://baak6.com/baikal-openbsd-fossdroid/" target="_blank" rel="nofollow noopener">Own Your Calendar &amp; Contacts With OpenBSD, Baïkal, and FOSS Android</a></h3>

<hr>

<h3><a href="https://twitter.com/mmusante/status/1518947283626246145?t=tzR6KeMx2mhjJfeoOqrHIw&amp;s=03" target="_blank" rel="nofollow noopener">Twenty years ago today, Jeff filed the PSARC case for the ZFS filesystem</a></h3>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/456/feedback/Scott%20-%20FreeBSD%20and%20supercomputing.md" target="_blank" rel="nofollow noopener">Scott - FreeBSD and supercomputing</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/456/feedback/Nick%20-%20Thanks%20and%20some%20shout%20outs.md" target="_blank" rel="nofollow noopener">Nick - Thanks and some shout outs</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 13.1 is released, Unix command line conventions over time, Branching for NetBSD 10, Microbhyve, Own your Calendar and Contacts with OpenBSD, the PSARC case for ZFS, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/13.1R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 13.1 Release is available</a></h3>

<h3><a href="https://blog.liw.fi/posts/2022/05/07/unix-cli/" target="_blank" rel="nofollow noopener">Unix command line conventions over time</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/current-users/2022/05/02/msg042278.html" target="_blank" rel="nofollow noopener">Branching for NetBSD 10</a></h3>

<hr>

<h3><a href="https://github.com/cbsd/microbhyve" target="_blank" rel="nofollow noopener">Microbyhve</a></h3>

<hr>

<h3><a href="https://baak6.com/baikal-openbsd-fossdroid/" target="_blank" rel="nofollow noopener">Own Your Calendar &amp; Contacts With OpenBSD, Baïkal, and FOSS Android</a></h3>

<hr>

<h3><a href="https://twitter.com/mmusante/status/1518947283626246145?t=tzR6KeMx2mhjJfeoOqrHIw&amp;s=03" target="_blank" rel="nofollow noopener">Twenty years ago today, Jeff filed the PSARC case for the ZFS filesystem</a></h3>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/456/feedback/Scott%20-%20FreeBSD%20and%20supercomputing.md" target="_blank" rel="nofollow noopener">Scott - FreeBSD and supercomputing</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/456/feedback/Nick%20-%20Thanks%20and%20some%20shout%20outs.md" target="_blank" rel="nofollow noopener">Nick - Thanks and some shout outs</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>455: Ken Thompson Singularity</title>
  <link>https://www.bsdnow.tv/455</link>
  <guid isPermaLink="false">9b545f6d-5e83-47f1-93c0-9be7f81b9cee</guid>
  <pubDate>Thu, 19 May 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9b545f6d-5e83-47f1-93c0-9be7f81b9cee.mp3" length="27344184" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD is the Perfect OS post Nuclear Apocalypse, Multiprocess support for LLDB, porting the new Hare compiler to OpenBSD, Writing my first OpenBSD game using Godot, FreeBSD 13 on Thinkpad T460s, and more.</itunes:subtitle>
  <itunes:duration>45:21</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>&lt;p&gt;OpenBSD is the Perfect OS post Nuclear Apocalypse, Multiprocess support for LLDB, porting the new Hare compiler to OpenBSD, Writing my first OpenBSD game using Godot, FreeBSD 13 on Thinkpad T460s, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://confuzeus.com/shorts/openbsd-nuclear-apocalypse/" target="_blank" rel="nofollow noopener"&gt;OpenBSD is the Perfect OS post Nuclear Apocalypse&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.moritz.systems/blog/multiprocess-support-for-lldb/" target="_blank" rel="nofollow noopener"&gt;Multiprocess support for LLDB&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://briancallahan.net/blog/20220427.html" target="_blank" rel="nofollow noopener"&gt;I ported the new Hare compiler to OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2022-04-28-writing-a-game-with-godot.html" target="_blank" rel="nofollow noopener"&gt;Writing my first OpenBSD game using Godot&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/2022/freebsd-13-on-thinkpad-t460s/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13 on Thinkpad T460s&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.opensourcevoices.org/29" target="_blank" rel="nofollow noopener"&gt;Open Source Voices interview with Deb Goodkin&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.hpcwire.com/off-the-wire/tachyum-successfully-runs-freebsd-in-prodigy-ecosystem-expands-open-source-os-support/" target="_blank" rel="nofollow noopener"&gt;Tachyum Successfully Runs FreeBSD in Prodigy Ecosystem, Expands Open-Source OS Support&lt;/a&gt;&lt;br&gt;
&lt;a href="https://midnightbsd.org/security/index.html#a20220404" target="_blank" rel="nofollow noopener"&gt;MidnightBSD Minor Update 2.1.7&lt;/a&gt;&lt;br&gt;
&lt;a href="https://bsdsec.net/articles/libressl-3-5-2-released" target="_blank" rel="nofollow noopener"&gt;LibreSSL 3.5.2 Released&lt;/a&gt;&lt;br&gt;
&lt;a href="https://undeadly.org/cgi?action=article;sid=20220414091532" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 7.3 is out&lt;/a&gt;&lt;br&gt;
&lt;a href="https://videos.pair2jeux.tube/w/jheVDTPmBTQzkmSpNSvk8J" target="_blank" rel="nofollow noopener"&gt;Playing the game Bottomless on OpenBSD&lt;/a&gt;&lt;br&gt;
&lt;a href="https://windows11central.com/en/openbsd-already-has-a-version-for-apple-silicon/" target="_blank" rel="nofollow noopener"&gt;Windows Central: OpenBSD already has a version for Apple Silicon&lt;/a&gt;&lt;br&gt;
&lt;a href="https://webzine.puffy.cafe/issue-9.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Webzine #9 is out&lt;/a&gt;&lt;br&gt;
&lt;a href="https://dan.langille.org/2022/04/28/i-forgot-to-enable-compression-on-zfs/" target="_blank" rel="nofollow noopener"&gt;In the "Everone makes mistakes catagory" : I forgot to enable compression on ZFS&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=fL2QwyxcJ5s" target="_blank" rel="nofollow noopener"&gt;"Ken Thompson is a singularity" ~Brian Kernighan&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/455/feedback/Ben%20-%20Securing%20FreeBSD.md" target="_blank" rel="nofollow noopener"&gt;Ben - Securing FreeBSD&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/455/feedback/Dave%20-%20BSD%20certifications.md" target="_blank" rel="nofollow noopener"&gt;Dave - BSD certifications&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/455/feedback/Sam%20-%20maintaining%20a%20port.md" target="_blank" rel="nofollow noopener"&gt;Sam - maintaining a port&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, nuclear apocalypse, multiprocess support, lldb, debugger, hare compiler, game development, game, gaming, godot, thinkpad t460s</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD is the Perfect OS post Nuclear Apocalypse, Multiprocess support for LLDB, porting the new Hare compiler to OpenBSD, Writing my first OpenBSD game using Godot, FreeBSD 13 on Thinkpad T460s, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://confuzeus.com/shorts/openbsd-nuclear-apocalypse/" target="_blank" rel="nofollow noopener">OpenBSD is the Perfect OS post Nuclear Apocalypse</a></h3>

<hr>

<h3><a href="https://www.moritz.systems/blog/multiprocess-support-for-lldb/" target="_blank" rel="nofollow noopener">Multiprocess support for LLDB</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://briancallahan.net/blog/20220427.html" target="_blank" rel="nofollow noopener">I ported the new Hare compiler to OpenBSD</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2022-04-28-writing-a-game-with-godot.html" target="_blank" rel="nofollow noopener">Writing my first OpenBSD game using Godot</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2022/freebsd-13-on-thinkpad-t460s/" target="_blank" rel="nofollow noopener">FreeBSD 13 on Thinkpad T460s</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://www.opensourcevoices.org/29" target="_blank" rel="nofollow noopener">Open Source Voices interview with Deb Goodkin</a><br>
<a href="https://www.hpcwire.com/off-the-wire/tachyum-successfully-runs-freebsd-in-prodigy-ecosystem-expands-open-source-os-support/" target="_blank" rel="nofollow noopener">Tachyum Successfully Runs FreeBSD in Prodigy Ecosystem, Expands Open-Source OS Support</a><br>
<a href="https://midnightbsd.org/security/index.html#a20220404" target="_blank" rel="nofollow noopener">MidnightBSD Minor Update 2.1.7</a><br>
<a href="https://bsdsec.net/articles/libressl-3-5-2-released" target="_blank" rel="nofollow noopener">LibreSSL 3.5.2 Released</a><br>
<a href="https://undeadly.org/cgi?action=article;sid=20220414091532" target="_blank" rel="nofollow noopener">OpenBGPD 7.3 is out</a><br>
<a href="https://videos.pair2jeux.tube/w/jheVDTPmBTQzkmSpNSvk8J" target="_blank" rel="nofollow noopener">Playing the game Bottomless on OpenBSD</a><br>
<a href="https://windows11central.com/en/openbsd-already-has-a-version-for-apple-silicon/" target="_blank" rel="nofollow noopener">Windows Central: OpenBSD already has a version for Apple Silicon</a><br>
<a href="https://webzine.puffy.cafe/issue-9.html" target="_blank" rel="nofollow noopener">OpenBSD Webzine #9 is out</a><br>
<a href="https://dan.langille.org/2022/04/28/i-forgot-to-enable-compression-on-zfs/" target="_blank" rel="nofollow noopener">In the "Everone makes mistakes catagory" : I forgot to enable compression on ZFS</a><br>
<a href="https://www.youtube.com/watch?v=fL2QwyxcJ5s" target="_blank" rel="nofollow noopener">"Ken Thompson is a singularity" ~Brian Kernighan</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/455/feedback/Ben%20-%20Securing%20FreeBSD.md" target="_blank" rel="nofollow noopener">Ben - Securing FreeBSD</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/455/feedback/Dave%20-%20BSD%20certifications.md" target="_blank" rel="nofollow noopener">Dave - BSD certifications</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/455/feedback/Sam%20-%20maintaining%20a%20port.md" target="_blank" rel="nofollow noopener">Sam - maintaining a port</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD is the Perfect OS post Nuclear Apocalypse, Multiprocess support for LLDB, porting the new Hare compiler to OpenBSD, Writing my first OpenBSD game using Godot, FreeBSD 13 on Thinkpad T460s, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://confuzeus.com/shorts/openbsd-nuclear-apocalypse/" target="_blank" rel="nofollow noopener">OpenBSD is the Perfect OS post Nuclear Apocalypse</a></h3>

<hr>

<h3><a href="https://www.moritz.systems/blog/multiprocess-support-for-lldb/" target="_blank" rel="nofollow noopener">Multiprocess support for LLDB</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://briancallahan.net/blog/20220427.html" target="_blank" rel="nofollow noopener">I ported the new Hare compiler to OpenBSD</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2022-04-28-writing-a-game-with-godot.html" target="_blank" rel="nofollow noopener">Writing my first OpenBSD game using Godot</a></h3>

<hr>

<h3><a href="https://www.tumfatig.net/2022/freebsd-13-on-thinkpad-t460s/" target="_blank" rel="nofollow noopener">FreeBSD 13 on Thinkpad T460s</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://www.opensourcevoices.org/29" target="_blank" rel="nofollow noopener">Open Source Voices interview with Deb Goodkin</a><br>
<a href="https://www.hpcwire.com/off-the-wire/tachyum-successfully-runs-freebsd-in-prodigy-ecosystem-expands-open-source-os-support/" target="_blank" rel="nofollow noopener">Tachyum Successfully Runs FreeBSD in Prodigy Ecosystem, Expands Open-Source OS Support</a><br>
<a href="https://midnightbsd.org/security/index.html#a20220404" target="_blank" rel="nofollow noopener">MidnightBSD Minor Update 2.1.7</a><br>
<a href="https://bsdsec.net/articles/libressl-3-5-2-released" target="_blank" rel="nofollow noopener">LibreSSL 3.5.2 Released</a><br>
<a href="https://undeadly.org/cgi?action=article;sid=20220414091532" target="_blank" rel="nofollow noopener">OpenBGPD 7.3 is out</a><br>
<a href="https://videos.pair2jeux.tube/w/jheVDTPmBTQzkmSpNSvk8J" target="_blank" rel="nofollow noopener">Playing the game Bottomless on OpenBSD</a><br>
<a href="https://windows11central.com/en/openbsd-already-has-a-version-for-apple-silicon/" target="_blank" rel="nofollow noopener">Windows Central: OpenBSD already has a version for Apple Silicon</a><br>
<a href="https://webzine.puffy.cafe/issue-9.html" target="_blank" rel="nofollow noopener">OpenBSD Webzine #9 is out</a><br>
<a href="https://dan.langille.org/2022/04/28/i-forgot-to-enable-compression-on-zfs/" target="_blank" rel="nofollow noopener">In the "Everone makes mistakes catagory" : I forgot to enable compression on ZFS</a><br>
<a href="https://www.youtube.com/watch?v=fL2QwyxcJ5s" target="_blank" rel="nofollow noopener">"Ken Thompson is a singularity" ~Brian Kernighan</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/455/feedback/Ben%20-%20Securing%20FreeBSD.md" target="_blank" rel="nofollow noopener">Ben - Securing FreeBSD</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/455/feedback/Dave%20-%20BSD%20certifications.md" target="_blank" rel="nofollow noopener">Dave - BSD certifications</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/455/feedback/Sam%20-%20maintaining%20a%20port.md" target="_blank" rel="nofollow noopener">Sam - maintaining a port</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>454: Compiling 50% faster</title>
  <link>https://www.bsdnow.tv/454</link>
  <guid isPermaLink="false">4bfd5be2-a833-45ee-b097-a68a8af6b122</guid>
  <pubDate>Thu, 12 May 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4bfd5be2-a833-45ee-b097-a68a8af6b122.mp3" length="28305048" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 7.1 is out, Building Your Own FreeBSD-based NAS with ZFS Part 2, Let's try V on OpenBSD, Waiting for Randot, Compiling an OpenBSD kernel 50% faster, A Salute for 10+ years of service, and more</itunes:subtitle>
  <itunes:duration>48:50</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>&lt;p&gt;OpenBSD 7.1 is out, Building Your Own FreeBSD-based NAS with ZFS Part 2, Let's try V on OpenBSD, Waiting for Randot, Compiling an OpenBSD kernel 50% faster, A Salute for 10+ years of service, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.openbsd.org/71.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 7.1 is out&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/part-2-tuning-your-freebsd-configuration-for-your-nas/" target="_blank" rel="nofollow noopener"&gt;Building Your Own FreeBSD-based NAS with ZFS Part 2&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://briancallahan.net/blog/20220426.html" target="_blank" rel="nofollow noopener"&gt;Let's try V on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://mail-index.netbsd.org/tech-security/2021/01/11/msg001100.html" target="_blank" rel="nofollow noopener"&gt;Waiting for Randot (or: nia and maya were right and I was wrong)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://flak.tedunangst.com/post/compiling-an-openbsd-kernel-50-faster" target="_blank" rel="nofollow noopener"&gt;Compiling an openbsd kernel 50% faster&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://aboutbsd.net/?page_id=26661" target="_blank" rel="nofollow noopener"&gt;A Salute for 10+ years of service&lt;/a&gt;  &lt;a href="https://archive.ph/JL5hf" target="_blank" rel="nofollow noopener"&gt;https://archive.ph/JL5hf&lt;/a&gt; (if the site is down)&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/454/feedback/Glenn%20-%20Toms%20Home%20Lab.md" target="_blank" rel="nofollow noopener"&gt;Glenn - Toms Home Lab&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/454/feedback/I_am_chunky_pie%20-%20unix%20tool%20writing.md" target="_blank" rel="nofollow noopener"&gt;I_am_chunky_pie - unix tool writing&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/454/feedback/Mike%20-%20Making%20Routers.md" target="_blank" rel="nofollow noopener"&gt;Mike - Making Routers&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, openbsd 7.1, nas building, nas, network attached storage, V openbsd, randot, kernel compiling, faster compile, quick compile, years of service</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 7.1 is out, Building Your Own FreeBSD-based NAS with ZFS Part 2, Let's try V on OpenBSD, Waiting for Randot, Compiling an OpenBSD kernel 50% faster, A Salute for 10+ years of service, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/71.html" target="_blank" rel="nofollow noopener">OpenBSD 7.1 is out</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/part-2-tuning-your-freebsd-configuration-for-your-nas/" target="_blank" rel="nofollow noopener">Building Your Own FreeBSD-based NAS with ZFS Part 2</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://briancallahan.net/blog/20220426.html" target="_blank" rel="nofollow noopener">Let's try V on OpenBSD</a></h3>

<hr>

<h3><a href="http://mail-index.netbsd.org/tech-security/2021/01/11/msg001100.html" target="_blank" rel="nofollow noopener">Waiting for Randot (or: nia and maya were right and I was wrong)</a></h3>

<hr>

<h3><a href="https://flak.tedunangst.com/post/compiling-an-openbsd-kernel-50-faster" target="_blank" rel="nofollow noopener">Compiling an openbsd kernel 50% faster</a></h3>

<hr>

<h3><a href="http://aboutbsd.net/?page_id=26661" target="_blank" rel="nofollow noopener">A Salute for 10+ years of service</a>  <a href="https://archive.ph/JL5hf" target="_blank" rel="nofollow noopener">https://archive.ph/JL5hf</a> (if the site is down)</h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/454/feedback/Glenn%20-%20Toms%20Home%20Lab.md" target="_blank" rel="nofollow noopener">Glenn - Toms Home Lab</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/454/feedback/I_am_chunky_pie%20-%20unix%20tool%20writing.md" target="_blank" rel="nofollow noopener">I_am_chunky_pie - unix tool writing</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/454/feedback/Mike%20-%20Making%20Routers.md" target="_blank" rel="nofollow noopener">Mike - Making Routers</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 7.1 is out, Building Your Own FreeBSD-based NAS with ZFS Part 2, Let's try V on OpenBSD, Waiting for Randot, Compiling an OpenBSD kernel 50% faster, A Salute for 10+ years of service, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/71.html" target="_blank" rel="nofollow noopener">OpenBSD 7.1 is out</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/part-2-tuning-your-freebsd-configuration-for-your-nas/" target="_blank" rel="nofollow noopener">Building Your Own FreeBSD-based NAS with ZFS Part 2</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://briancallahan.net/blog/20220426.html" target="_blank" rel="nofollow noopener">Let's try V on OpenBSD</a></h3>

<hr>

<h3><a href="http://mail-index.netbsd.org/tech-security/2021/01/11/msg001100.html" target="_blank" rel="nofollow noopener">Waiting for Randot (or: nia and maya were right and I was wrong)</a></h3>

<hr>

<h3><a href="https://flak.tedunangst.com/post/compiling-an-openbsd-kernel-50-faster" target="_blank" rel="nofollow noopener">Compiling an openbsd kernel 50% faster</a></h3>

<hr>

<h3><a href="http://aboutbsd.net/?page_id=26661" target="_blank" rel="nofollow noopener">A Salute for 10+ years of service</a>  <a href="https://archive.ph/JL5hf" target="_blank" rel="nofollow noopener">https://archive.ph/JL5hf</a> (if the site is down)</h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/454/feedback/Glenn%20-%20Toms%20Home%20Lab.md" target="_blank" rel="nofollow noopener">Glenn - Toms Home Lab</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/454/feedback/I_am_chunky_pie%20-%20unix%20tool%20writing.md" target="_blank" rel="nofollow noopener">I_am_chunky_pie - unix tool writing</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/454/feedback/Mike%20-%20Making%20Routers.md" target="_blank" rel="nofollow noopener">Mike - Making Routers</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>453: TwinCat/BSD Hypervisor</title>
  <link>https://www.bsdnow.tv/453</link>
  <guid isPermaLink="false">ddb0b2b0-a944-41a5-96c2-63fc5c3b43f1</guid>
  <pubDate>Thu, 05 May 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ddb0b2b0-a944-41a5-96c2-63fc5c3b43f1.mp3" length="26501664" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Building Your Own FreeBSD-based NAS, Writing a device driver for Unix V6, EC2: What Colin Percival’s been up to, Beckhoff releases TwinCAT/BSD Hypervisor, Writing a NetBSD kernel module, and more.</itunes:subtitle>
  <itunes:duration>45:13</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>&lt;p&gt;Building Your Own FreeBSD-based NAS, Writing a device driver for Unix V6, EC2: What Colin Percival’s been up to, Beckhoff releases TwinCAT/BSD Hypervisor, Writing a NetBSD kernel module, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/building-your-own-freebsd-based-nas-with-zfs/" target="_blank" rel="nofollow noopener"&gt;Building Your Own FreeBSD-based NAS&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mveg.es/posts/writing-a-device-driver-for-unix-v6/" target="_blank" rel="nofollow noopener"&gt;Writing a device driver for Unix V6&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.daemonology.net/blog/2022-03-29-FreeBSD-EC2-report.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD/EC2: What I've been up to&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.automationworld.com/control/article/22144694/beckhoff-hypervisor-enables-virtual-machines-for-control-applications" target="_blank" rel="nofollow noopener"&gt;Beckhoff has released its TwinCAT/BSD Hypervisor&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://saurvs.github.io/post/writing-netbsd-kern-mod/" target="_blank" rel="nofollow noopener"&gt;Writing a NetBSD kernel module&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Benedicts Git Finds&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Projects

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/unrelentingtech/capsicumizer" target="_blank" rel="nofollow noopener"&gt;Run anything (like full blown GTK apps) under Capsicum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/arata-nvm/mitnal" target="_blank" rel="nofollow noopener"&gt;Twitter client for UEFI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jarun/nnn" target="_blank" rel="nofollow noopener"&gt;n³ The unorthodox terminal file manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/johnsonjh/OpenVi" target="_blank" rel="nofollow noopener"&gt;OpenVi: Portable OpenBSD vi for UNIX systems&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Gists and Articles

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gist.github.com/Mostly-BSD/4d3cacc0ee2f045ed8505005fd664c6e" target="_blank" rel="nofollow noopener"&gt;Step-by-step instructions on installing the latest NVIDIA drivers on FreeBSD 13.0 and above&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gist.github.com/koobs/e01cf8869484a095605404cd0051eb11" target="_blank" rel="nofollow noopener"&gt;FreeBSD SSH Hardening&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gtfobins.github.io" target="_blank" rel="nofollow noopener"&gt;GTFOBins is a curated list of Unix binaries that can be used to bypass local security restrictions in misconfigured systems&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/453/feedback/Ben%20-%20Backing%20Up.md" target="_blank" rel="nofollow noopener"&gt;Ben - Backing Up&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/453/feedback/Ethan%20-%20Thanks.md" target="_blank" rel="nofollow noopener"&gt;Ethan - Thanks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/453/feedback/Maxi%20%20-%20question%20about%20note%20taking.md" target="_blank" rel="nofollow noopener"&gt;Maxi - question about note taking&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, NAS, network attached storage, driver development, write device driver, driver, ec2, aws, amazon, beckhoff, twincat, bsd hypervisor, kernel module</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Building Your Own FreeBSD-based NAS, Writing a device driver for Unix V6, EC2: What Colin Percival’s been up to, Beckhoff releases TwinCAT/BSD Hypervisor, Writing a NetBSD kernel module, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/building-your-own-freebsd-based-nas-with-zfs/" target="_blank" rel="nofollow noopener">Building Your Own FreeBSD-based NAS</a></h3>

<hr>

<h3><a href="https://mveg.es/posts/writing-a-device-driver-for-unix-v6/" target="_blank" rel="nofollow noopener">Writing a device driver for Unix V6</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.daemonology.net/blog/2022-03-29-FreeBSD-EC2-report.html" target="_blank" rel="nofollow noopener">FreeBSD/EC2: What I've been up to</a></h3>

<hr>

<h3><a href="https://www.automationworld.com/control/article/22144694/beckhoff-hypervisor-enables-virtual-machines-for-control-applications" target="_blank" rel="nofollow noopener">Beckhoff has released its TwinCAT/BSD Hypervisor</a></h3>

<hr>

<h3><a href="https://saurvs.github.io/post/writing-netbsd-kern-mod/" target="_blank" rel="nofollow noopener">Writing a NetBSD kernel module</a></h3>

<hr>

<h2>Benedicts Git Finds</h2>

<ul>
<li>Projects

<ul>
<li><a href="https://github.com/unrelentingtech/capsicumizer" target="_blank" rel="nofollow noopener">Run anything (like full blown GTK apps) under Capsicum</a></li>
<li><a href="https://github.com/arata-nvm/mitnal" target="_blank" rel="nofollow noopener">Twitter client for UEFI</a></li>
<li><a href="https://github.com/jarun/nnn" target="_blank" rel="nofollow noopener">n³ The unorthodox terminal file manager</a></li>
<li><a href="https://github.com/johnsonjh/OpenVi" target="_blank" rel="nofollow noopener">OpenVi: Portable OpenBSD vi for UNIX systems</a></li>
</ul></li>
<li>Gists and Articles

<ul>
<li><a href="https://gist.github.com/Mostly-BSD/4d3cacc0ee2f045ed8505005fd664c6e" target="_blank" rel="nofollow noopener">Step-by-step instructions on installing the latest NVIDIA drivers on FreeBSD 13.0 and above</a></li>
<li><a href="https://gist.github.com/koobs/e01cf8869484a095605404cd0051eb11" target="_blank" rel="nofollow noopener">FreeBSD SSH Hardening</a></li>
<li><a href="https://gtfobins.github.io" target="_blank" rel="nofollow noopener">GTFOBins is a curated list of Unix binaries that can be used to bypass local security restrictions in misconfigured systems</a></li>
</ul></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/453/feedback/Ben%20-%20Backing%20Up.md" target="_blank" rel="nofollow noopener">Ben - Backing Up</a></p>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/453/feedback/Ethan%20-%20Thanks.md" target="_blank" rel="nofollow noopener">Ethan - Thanks</a></p>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/453/feedback/Maxi%20%20-%20question%20about%20note%20taking.md" target="_blank" rel="nofollow noopener">Maxi - question about note taking</a></p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Building Your Own FreeBSD-based NAS, Writing a device driver for Unix V6, EC2: What Colin Percival’s been up to, Beckhoff releases TwinCAT/BSD Hypervisor, Writing a NetBSD kernel module, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/building-your-own-freebsd-based-nas-with-zfs/" target="_blank" rel="nofollow noopener">Building Your Own FreeBSD-based NAS</a></h3>

<hr>

<h3><a href="https://mveg.es/posts/writing-a-device-driver-for-unix-v6/" target="_blank" rel="nofollow noopener">Writing a device driver for Unix V6</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.daemonology.net/blog/2022-03-29-FreeBSD-EC2-report.html" target="_blank" rel="nofollow noopener">FreeBSD/EC2: What I've been up to</a></h3>

<hr>

<h3><a href="https://www.automationworld.com/control/article/22144694/beckhoff-hypervisor-enables-virtual-machines-for-control-applications" target="_blank" rel="nofollow noopener">Beckhoff has released its TwinCAT/BSD Hypervisor</a></h3>

<hr>

<h3><a href="https://saurvs.github.io/post/writing-netbsd-kern-mod/" target="_blank" rel="nofollow noopener">Writing a NetBSD kernel module</a></h3>

<hr>

<h2>Benedicts Git Finds</h2>

<ul>
<li>Projects

<ul>
<li><a href="https://github.com/unrelentingtech/capsicumizer" target="_blank" rel="nofollow noopener">Run anything (like full blown GTK apps) under Capsicum</a></li>
<li><a href="https://github.com/arata-nvm/mitnal" target="_blank" rel="nofollow noopener">Twitter client for UEFI</a></li>
<li><a href="https://github.com/jarun/nnn" target="_blank" rel="nofollow noopener">n³ The unorthodox terminal file manager</a></li>
<li><a href="https://github.com/johnsonjh/OpenVi" target="_blank" rel="nofollow noopener">OpenVi: Portable OpenBSD vi for UNIX systems</a></li>
</ul></li>
<li>Gists and Articles

<ul>
<li><a href="https://gist.github.com/Mostly-BSD/4d3cacc0ee2f045ed8505005fd664c6e" target="_blank" rel="nofollow noopener">Step-by-step instructions on installing the latest NVIDIA drivers on FreeBSD 13.0 and above</a></li>
<li><a href="https://gist.github.com/koobs/e01cf8869484a095605404cd0051eb11" target="_blank" rel="nofollow noopener">FreeBSD SSH Hardening</a></li>
<li><a href="https://gtfobins.github.io" target="_blank" rel="nofollow noopener">GTFOBins is a curated list of Unix binaries that can be used to bypass local security restrictions in misconfigured systems</a></li>
</ul></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/453/feedback/Ben%20-%20Backing%20Up.md" target="_blank" rel="nofollow noopener">Ben - Backing Up</a></p>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/453/feedback/Ethan%20-%20Thanks.md" target="_blank" rel="nofollow noopener">Ethan - Thanks</a></p>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/453/feedback/Maxi%20%20-%20question%20about%20note%20taking.md" target="_blank" rel="nofollow noopener">Maxi - question about note taking</a></p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>452: The unknown hackers</title>
  <link>https://www.bsdnow.tv/452</link>
  <guid isPermaLink="false">115f6a28-dc39-4136-bed4-7f3dc1e13aa7</guid>
  <pubDate>Thu, 28 Apr 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/115f6a28-dc39-4136-bed4-7f3dc1e13aa7.mp3" length="27640824" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The unknown hackers, Papers we love to read, Dual Boot Homelab in The Bedroom by the bed testbed, OpenSSH 9.0 released, OS battle: OpenBSD vs. NixOS, and more </itunes:subtitle>
  <itunes:duration>46:29</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>&lt;p&gt;The unknown hackers, Papers we love to read, Dual Boot Homelab in The Bedroom by the bed testbed, OpenSSH 9.0 released, OS battle: OpenBSD vs. NixOS, and more &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.salon.com/2000/05/17/386bsd/" target="_blank" rel="nofollow noopener"&gt;The unknown hackers&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://minnie.tuhs.org/pipermail/tuhs/2022-April/025643.html" target="_blank" rel="nofollow noopener"&gt;Bill Jolitz passed away in March 2022&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-documentation-papers-we-love-to-read/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Documentation: Papers We Love To Read&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://adventurist.me/posts/00307" target="_blank" rel="nofollow noopener"&gt;FreeBSD/Ubuntu Dual Boot Homelab in The Bedroom by the bed testbed&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.openssh.com/txt/release-9.0" target="_blank" rel="nofollow noopener"&gt;OpenSSH 9.0 has been released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2022-04-18-openbsd-vs-nixos.html" target="_blank" rel="nofollow noopener"&gt;Operating systems battle: OpenBSD vs NixOS&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.reddit.com/r/BSD/comments/u4t25c/celebrating_50_years_of_the_unix_operating_system/" target="_blank" rel="nofollow noopener"&gt;Celebrating 50 years of the Unix Operating System&lt;/a&gt;&lt;br&gt;
&lt;a href="https://mwl.io/archives/13627" target="_blank" rel="nofollow noopener"&gt;Kickstarter Campaign Results&lt;/a&gt;&lt;br&gt;
&lt;a href="https://productionwithscissors.run/freebsd-virtualization-series/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Virtualization Series&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/452/feedback/Jeff%20-%20ZFS%20checksum%20repair.md" target="_blank" rel="nofollow noopener"&gt;Jeff - ZFS checksum repair&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/452/feedback/Nelson%20-%20General%20Thanks.md" target="_blank" rel="nofollow noopener"&gt;Nelson - General Thanks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/452/feedback/Sam%20-%20FOSS%20Power%20Support.md" target="_blank" rel="nofollow noopener"&gt;Sam - FOSS Power Support&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, filesystem, interview, ports, packages, jails, hackers, papers, dual boot, homelab, bedroom, testbed, openssh, nixos</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The unknown hackers, Papers we love to read, Dual Boot Homelab in The Bedroom by the bed testbed, OpenSSH 9.0 released, OS battle: OpenBSD vs. NixOS, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.salon.com/2000/05/17/386bsd/" target="_blank" rel="nofollow noopener">The unknown hackers</a></h3>

<ul>
<li><a href="https://minnie.tuhs.org/pipermail/tuhs/2022-April/025643.html" target="_blank" rel="nofollow noopener">Bill Jolitz passed away in March 2022</a>
***</li>
</ul>

<h3><a href="https://klarasystems.com/articles/freebsd-documentation-papers-we-love-to-read/" target="_blank" rel="nofollow noopener">FreeBSD Documentation: Papers We Love To Read</a></h3>

<hr>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://adventurist.me/posts/00307" target="_blank" rel="nofollow noopener">FreeBSD/Ubuntu Dual Boot Homelab in The Bedroom by the bed testbed</a></h3>

<hr>

<h3><a href="https://www.openssh.com/txt/release-9.0" target="_blank" rel="nofollow noopener">OpenSSH 9.0 has been released</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2022-04-18-openbsd-vs-nixos.html" target="_blank" rel="nofollow noopener">Operating systems battle: OpenBSD vs NixOS</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://www.reddit.com/r/BSD/comments/u4t25c/celebrating_50_years_of_the_unix_operating_system/" target="_blank" rel="nofollow noopener">Celebrating 50 years of the Unix Operating System</a><br>
<a href="https://mwl.io/archives/13627" target="_blank" rel="nofollow noopener">Kickstarter Campaign Results</a><br>
<a href="https://productionwithscissors.run/freebsd-virtualization-series/" target="_blank" rel="nofollow noopener">FreeBSD Virtualization Series</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/452/feedback/Jeff%20-%20ZFS%20checksum%20repair.md" target="_blank" rel="nofollow noopener">Jeff - ZFS checksum repair</a></p>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/452/feedback/Nelson%20-%20General%20Thanks.md" target="_blank" rel="nofollow noopener">Nelson - General Thanks</a></p>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/452/feedback/Sam%20-%20FOSS%20Power%20Support.md" target="_blank" rel="nofollow noopener">Sam - FOSS Power Support</a></p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The unknown hackers, Papers we love to read, Dual Boot Homelab in The Bedroom by the bed testbed, OpenSSH 9.0 released, OS battle: OpenBSD vs. NixOS, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.salon.com/2000/05/17/386bsd/" target="_blank" rel="nofollow noopener">The unknown hackers</a></h3>

<ul>
<li><a href="https://minnie.tuhs.org/pipermail/tuhs/2022-April/025643.html" target="_blank" rel="nofollow noopener">Bill Jolitz passed away in March 2022</a>
***</li>
</ul>

<h3><a href="https://klarasystems.com/articles/freebsd-documentation-papers-we-love-to-read/" target="_blank" rel="nofollow noopener">FreeBSD Documentation: Papers We Love To Read</a></h3>

<hr>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://adventurist.me/posts/00307" target="_blank" rel="nofollow noopener">FreeBSD/Ubuntu Dual Boot Homelab in The Bedroom by the bed testbed</a></h3>

<hr>

<h3><a href="https://www.openssh.com/txt/release-9.0" target="_blank" rel="nofollow noopener">OpenSSH 9.0 has been released</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2022-04-18-openbsd-vs-nixos.html" target="_blank" rel="nofollow noopener">Operating systems battle: OpenBSD vs NixOS</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://www.reddit.com/r/BSD/comments/u4t25c/celebrating_50_years_of_the_unix_operating_system/" target="_blank" rel="nofollow noopener">Celebrating 50 years of the Unix Operating System</a><br>
<a href="https://mwl.io/archives/13627" target="_blank" rel="nofollow noopener">Kickstarter Campaign Results</a><br>
<a href="https://productionwithscissors.run/freebsd-virtualization-series/" target="_blank" rel="nofollow noopener">FreeBSD Virtualization Series</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/452/feedback/Jeff%20-%20ZFS%20checksum%20repair.md" target="_blank" rel="nofollow noopener">Jeff - ZFS checksum repair</a></p>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/452/feedback/Nelson%20-%20General%20Thanks.md" target="_blank" rel="nofollow noopener">Nelson - General Thanks</a></p>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/452/feedback/Sam%20-%20FOSS%20Power%20Support.md" target="_blank" rel="nofollow noopener">Sam - FOSS Power Support</a></p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>451: Tuning ZFS recordsize</title>
  <link>https://www.bsdnow.tv/451</link>
  <guid isPermaLink="false">e05f4b5e-9285-42ae-87ba-151ec71f80b7</guid>
  <pubDate>Thu, 21 Apr 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e05f4b5e-9285-42ae-87ba-151ec71f80b7.mp3" length="35683176" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Full system backups with FFS snapshots, ZFS and dump(8), tuning recordsize in OpenZFS, Optimizing FreeBSD Power Consumption on Modern Intel Laptops, remember to check for ZFS filesystems being mounted, Use tcpdump to save wireless bridge, and more</itunes:subtitle>
  <itunes:duration>1:00:45</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>&lt;p&gt;Full system backups with FFS snapshots, ZFS and dump(8), tuning recordsize in OpenZFS, Optimizing FreeBSD Power Consumption on Modern Intel Laptops, remember to check for ZFS filesystems being mounted, Use tcpdump to save wireless bridge, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.unitedbsd.com/d/705-full-system-backups-with-ffs-snapshots-zfs-and-dump8" target="_blank" rel="nofollow noopener"&gt;Full system backups with FFS snapshots, ZFS and dump(8)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/tuning-recordsize-in-openzfs/" target="_blank" rel="nofollow noopener"&gt;Tuning Recordsize in OpenZFS&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.neelc.org/posts/optimize-freebsd-for-intel-tigerlake/" target="_blank" rel="nofollow noopener"&gt;Optimizing FreeBSD Power Consumption on Modern Intel Laptops&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSCheckForMounted" target="_blank" rel="nofollow noopener"&gt;I need to remember to check for ZFS filesystems being mounted&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://adventurist.me/posts/0027" target="_blank" rel="nofollow noopener"&gt;Use tcpdump to save wireless bridge&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [FreeBSD on the Vortex86DX CPU](https://www.cambus.net/freebsd-on-the-vortex86dx-cpu/)
• [HAMMER2 vs USB stick pulls](https://www.dragonflydigest.com/2022/03/22/26800.html)
• [New US mirror for DragonFly](https://www.dragonflydigest.com/2022/03/09/26742.html)
• [HelloSystem 13.1 RC1](https://github.com/helloSystem/ISO/releases/tag/experimental-13.1-RC1)
• [Video introduction to OpenBSD 7.0](https://www.youtube.com/watch?v=KeUsE-3nSes)
• [Losses in the community](https://minnie.tuhs.org/pipermail/tuhs/2022-April/025643.html)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/451/feedback/Sam%20-%20BSD%20Laptops.md" target="_blank" rel="nofollow noopener"&gt;Sam - BSD Laptops&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/451/feedback/Reese%20-%20Electric%20Groff.md" target="_blank" rel="nofollow noopener"&gt;Reese - Electric Groff&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/451/feedback/Alexandra%20-%20New%20to%20BSD.md" target="_blank" rel="nofollow noopener"&gt;Alexandra - New to BSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, backups, dump, tuning, recordsize, optimizing, power consumption, intel, laptop, mount, mounting, mounted, tcpdump, wireless bridge</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Full system backups with FFS snapshots, ZFS and dump(8), tuning recordsize in OpenZFS, Optimizing FreeBSD Power Consumption on Modern Intel Laptops, remember to check for ZFS filesystems being mounted, Use tcpdump to save wireless bridge, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.unitedbsd.com/d/705-full-system-backups-with-ffs-snapshots-zfs-and-dump8" target="_blank" rel="nofollow noopener">Full system backups with FFS snapshots, ZFS and dump(8)</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/tuning-recordsize-in-openzfs/" target="_blank" rel="nofollow noopener">Tuning Recordsize in OpenZFS</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.neelc.org/posts/optimize-freebsd-for-intel-tigerlake/" target="_blank" rel="nofollow noopener">Optimizing FreeBSD Power Consumption on Modern Intel Laptops</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSCheckForMounted" target="_blank" rel="nofollow noopener">I need to remember to check for ZFS filesystems being mounted</a></h3>

<hr>

<h3><a href="https://adventurist.me/posts/0027" target="_blank" rel="nofollow noopener">Use tcpdump to save wireless bridge</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [FreeBSD on the Vortex86DX CPU](https://www.cambus.net/freebsd-on-the-vortex86dx-cpu/)
• [HAMMER2 vs USB stick pulls](https://www.dragonflydigest.com/2022/03/22/26800.html)
• [New US mirror for DragonFly](https://www.dragonflydigest.com/2022/03/09/26742.html)
• [HelloSystem 13.1 RC1](https://github.com/helloSystem/ISO/releases/tag/experimental-13.1-RC1)
• [Video introduction to OpenBSD 7.0](https://www.youtube.com/watch?v=KeUsE-3nSes)
• [Losses in the community](https://minnie.tuhs.org/pipermail/tuhs/2022-April/025643.html)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/451/feedback/Sam%20-%20BSD%20Laptops.md" target="_blank" rel="nofollow noopener">Sam - BSD Laptops</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/451/feedback/Reese%20-%20Electric%20Groff.md" target="_blank" rel="nofollow noopener">Reese - Electric Groff</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/451/feedback/Alexandra%20-%20New%20to%20BSD.md" target="_blank" rel="nofollow noopener">Alexandra - New to BSD</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Full system backups with FFS snapshots, ZFS and dump(8), tuning recordsize in OpenZFS, Optimizing FreeBSD Power Consumption on Modern Intel Laptops, remember to check for ZFS filesystems being mounted, Use tcpdump to save wireless bridge, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.unitedbsd.com/d/705-full-system-backups-with-ffs-snapshots-zfs-and-dump8" target="_blank" rel="nofollow noopener">Full system backups with FFS snapshots, ZFS and dump(8)</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/tuning-recordsize-in-openzfs/" target="_blank" rel="nofollow noopener">Tuning Recordsize in OpenZFS</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.neelc.org/posts/optimize-freebsd-for-intel-tigerlake/" target="_blank" rel="nofollow noopener">Optimizing FreeBSD Power Consumption on Modern Intel Laptops</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSCheckForMounted" target="_blank" rel="nofollow noopener">I need to remember to check for ZFS filesystems being mounted</a></h3>

<hr>

<h3><a href="https://adventurist.me/posts/0027" target="_blank" rel="nofollow noopener">Use tcpdump to save wireless bridge</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [FreeBSD on the Vortex86DX CPU](https://www.cambus.net/freebsd-on-the-vortex86dx-cpu/)
• [HAMMER2 vs USB stick pulls](https://www.dragonflydigest.com/2022/03/22/26800.html)
• [New US mirror for DragonFly](https://www.dragonflydigest.com/2022/03/09/26742.html)
• [HelloSystem 13.1 RC1](https://github.com/helloSystem/ISO/releases/tag/experimental-13.1-RC1)
• [Video introduction to OpenBSD 7.0](https://www.youtube.com/watch?v=KeUsE-3nSes)
• [Losses in the community](https://minnie.tuhs.org/pipermail/tuhs/2022-April/025643.html)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/451/feedback/Sam%20-%20BSD%20Laptops.md" target="_blank" rel="nofollow noopener">Sam - BSD Laptops</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/451/feedback/Reese%20-%20Electric%20Groff.md" target="_blank" rel="nofollow noopener">Reese - Electric Groff</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/451/feedback/Alexandra%20-%20New%20to%20BSD.md" target="_blank" rel="nofollow noopener">Alexandra - New to BSD</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>450: Unix Tool Writing</title>
  <link>https://www.bsdnow.tv/450</link>
  <guid isPermaLink="false">d267be2a-c2ba-4bbc-a520-cfa5153a7683</guid>
  <pubDate>Thu, 14 Apr 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d267be2a-c2ba-4bbc-a520-cfa5153a7683.mp3" length="34318152" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The ideas that made Unix, hints for writing Unix tools, cron best practices, three different sorts of filesystem errors, LibreSSL 3.5.1 released, taskwarrior to manage tasks, and more.</itunes:subtitle>
  <itunes:duration>58:53</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>&lt;p&gt;The ideas that made Unix, hints for writing Unix tools, cron best practices, three different sorts of filesystem errors, LibreSSL 3.5.1 released, taskwarrior to manage tasks, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/unix-philosophy-a-quick-look-at-the-ideas-that-made-unix/" target="_blank" rel="nofollow noopener"&gt;Unix Philosophy: A Quick Look at the Ideas that Made Unix&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://monkey.org/%7Emarius/unix-tools-hints.html" target="_blank" rel="nofollow noopener"&gt;Hints for writing Unix Tools&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.sanctum.geek.nz/cron-best-practices/" target="_blank" rel="nofollow noopener"&gt;Cron best practices&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/FilesystemsThreeErrorTypes" target="_blank" rel="nofollow noopener"&gt;Filesystems can experience at least three different sorts of errors&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20220318065203" target="_blank" rel="nofollow noopener"&gt;LibreSSL 3.5.1 development branch as well as 3.4.3 (stable) and 3.3.6 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://adventurist.me/posts/0165" target="_blank" rel="nofollow noopener"&gt;Taskwarrior to manage tasks&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/450/feedback/Andrew%20-%20virtualization.md" target="_blank" rel="nofollow noopener"&gt;Andrew - virtualization&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/450/feedback/brad%20-%20jails%20applications%20and%20interoperability.md" target="_blank" rel="nofollow noopener"&gt;Brad - jails applications and interoperability&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, sandboxing, sandbox technique, development process, statement, customizing, ports, packages, nginx, relay, tcp, udp, status report, signal</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The ideas that made Unix, hints for writing Unix tools, cron best practices, three different sorts of filesystem errors, LibreSSL 3.5.1 released, taskwarrior to manage tasks, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/unix-philosophy-a-quick-look-at-the-ideas-that-made-unix/" target="_blank" rel="nofollow noopener">Unix Philosophy: A Quick Look at the Ideas that Made Unix</a></h3>

<hr>

<h3><a href="https://monkey.org/%7Emarius/unix-tools-hints.html" target="_blank" rel="nofollow noopener">Hints for writing Unix Tools</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.sanctum.geek.nz/cron-best-practices/" target="_blank" rel="nofollow noopener">Cron best practices</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/FilesystemsThreeErrorTypes" target="_blank" rel="nofollow noopener">Filesystems can experience at least three different sorts of errors</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20220318065203" target="_blank" rel="nofollow noopener">LibreSSL 3.5.1 development branch as well as 3.4.3 (stable) and 3.3.6 released</a></h3>

<hr>

<h3><a href="https://adventurist.me/posts/0165" target="_blank" rel="nofollow noopener">Taskwarrior to manage tasks</a></h3>

<hr>

<h2>Beastie Bits</h2>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/450/feedback/Andrew%20-%20virtualization.md" target="_blank" rel="nofollow noopener">Andrew - virtualization</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/450/feedback/brad%20-%20jails%20applications%20and%20interoperability.md" target="_blank" rel="nofollow noopener">Brad - jails applications and interoperability</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The ideas that made Unix, hints for writing Unix tools, cron best practices, three different sorts of filesystem errors, LibreSSL 3.5.1 released, taskwarrior to manage tasks, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/unix-philosophy-a-quick-look-at-the-ideas-that-made-unix/" target="_blank" rel="nofollow noopener">Unix Philosophy: A Quick Look at the Ideas that Made Unix</a></h3>

<hr>

<h3><a href="https://monkey.org/%7Emarius/unix-tools-hints.html" target="_blank" rel="nofollow noopener">Hints for writing Unix Tools</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.sanctum.geek.nz/cron-best-practices/" target="_blank" rel="nofollow noopener">Cron best practices</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/tech/FilesystemsThreeErrorTypes" target="_blank" rel="nofollow noopener">Filesystems can experience at least three different sorts of errors</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20220318065203" target="_blank" rel="nofollow noopener">LibreSSL 3.5.1 development branch as well as 3.4.3 (stable) and 3.3.6 released</a></h3>

<hr>

<h3><a href="https://adventurist.me/posts/0165" target="_blank" rel="nofollow noopener">Taskwarrior to manage tasks</a></h3>

<hr>

<h2>Beastie Bits</h2>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/450/feedback/Andrew%20-%20virtualization.md" target="_blank" rel="nofollow noopener">Andrew - virtualization</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/450/feedback/brad%20-%20jails%20applications%20and%20interoperability.md" target="_blank" rel="nofollow noopener">Brad - jails applications and interoperability</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>449: Reproducible clean $HOME</title>
  <link>https://www.bsdnow.tv/449</link>
  <guid isPermaLink="false">8b30bba3-3ef0-454a-ad6d-1984c90575a5</guid>
  <pubDate>Thu, 07 Apr 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8b30bba3-3ef0-454a-ad6d-1984c90575a5.mp3" length="29224896" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Status Report 4th Quarter 2021, Reproducible clean $HOME in OpenBSD using impermanence, Making RockPro64 a NetBSD Server, helloSystem 0.7.0 is out,  lazy approach to FreeBSD dual-booting, going to jail, and more.</itunes:subtitle>
  <itunes:duration>50:17</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>&lt;p&gt;FreeBSD Status Report 4th Quarter 2021, Reproducible clean $HOME in OpenBSD using impermanence, Making RockPro64 a NetBSD Server, helloSystem 0.7.0 is out,  lazy approach to FreeBSD dual-booting, going to jail, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/status/report-2021-10-2021-12/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Quarterly Status Report 4th Quarter 2021&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2022-03-15-openbsd-impermanence.html" target="_blank" rel="nofollow noopener"&gt;Reproducible clean $HOME in OpenBSD using impermanence&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/making_rockpro64_a_netbsd_server" target="_blank" rel="nofollow noopener"&gt;Making RockPro64 a NetBSD Server&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/helloSystem/ISO/releases/tag/r0.7.0" target="_blank" rel="nofollow noopener"&gt;helloSystem 0.7.0 is out&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/my-lazy-approach-to-freebsd-dual-booting/" target="_blank" rel="nofollow noopener"&gt;My lazy approach to FreeBSD dual-booting&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opekkt.tech/docs/vps_migration/going2jail/" target="_blank" rel="nofollow noopener"&gt;Going to jail&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• No Feedback emails this week, so instead we can have “Story Time with Allan” and he can regale us with an entertaining BSD story.
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, q4 status report, reproducible, clean home, impermanence, rockpro64, server, hellosystem, dual booting, lazy approach, jail</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Status Report 4th Quarter 2021, Reproducible clean $HOME in OpenBSD using impermanence, Making RockPro64 a NetBSD Server, helloSystem 0.7.0 is out,  lazy approach to FreeBSD dual-booting, going to jail, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/status/report-2021-10-2021-12/" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report 4th Quarter 2021</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2022-03-15-openbsd-impermanence.html" target="_blank" rel="nofollow noopener">Reproducible clean $HOME in OpenBSD using impermanence</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/making_rockpro64_a_netbsd_server" target="_blank" rel="nofollow noopener">Making RockPro64 a NetBSD Server</a></h3>

<hr>

<h3><a href="https://github.com/helloSystem/ISO/releases/tag/r0.7.0" target="_blank" rel="nofollow noopener">helloSystem 0.7.0 is out</a></h3>

<hr>

<h3><a href="https://rubenerd.com/my-lazy-approach-to-freebsd-dual-booting/" target="_blank" rel="nofollow noopener">My lazy approach to FreeBSD dual-booting</a></h3>

<hr>

<h3><a href="https://opekkt.tech/docs/vps_migration/going2jail/" target="_blank" rel="nofollow noopener">Going to jail</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<pre><code>• No Feedback emails this week, so instead we can have “Story Time with Allan” and he can regale us with an entertaining BSD story.
</code></pre>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Status Report 4th Quarter 2021, Reproducible clean $HOME in OpenBSD using impermanence, Making RockPro64 a NetBSD Server, helloSystem 0.7.0 is out,  lazy approach to FreeBSD dual-booting, going to jail, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/status/report-2021-10-2021-12/" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report 4th Quarter 2021</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2022-03-15-openbsd-impermanence.html" target="_blank" rel="nofollow noopener">Reproducible clean $HOME in OpenBSD using impermanence</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/making_rockpro64_a_netbsd_server" target="_blank" rel="nofollow noopener">Making RockPro64 a NetBSD Server</a></h3>

<hr>

<h3><a href="https://github.com/helloSystem/ISO/releases/tag/r0.7.0" target="_blank" rel="nofollow noopener">helloSystem 0.7.0 is out</a></h3>

<hr>

<h3><a href="https://rubenerd.com/my-lazy-approach-to-freebsd-dual-booting/" target="_blank" rel="nofollow noopener">My lazy approach to FreeBSD dual-booting</a></h3>

<hr>

<h3><a href="https://opekkt.tech/docs/vps_migration/going2jail/" target="_blank" rel="nofollow noopener">Going to jail</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<pre><code>• No Feedback emails this week, so instead we can have “Story Time with Allan” and he can regale us with an entertaining BSD story.
</code></pre>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>448: Controlling Resource Limits</title>
  <link>https://www.bsdnow.tv/448</link>
  <guid isPermaLink="false">8590bd30-1871-4f8d-a3f8-34cb04d9a17f</guid>
  <pubDate>Thu, 31 Mar 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8590bd30-1871-4f8d-a3f8-34cb04d9a17f.mp3" length="26155080" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Controlling Resource Limits with rctl in FreeBSD, It’s always DNS, Google Summer of Code in BSD Projects, Rsync Technical Notes - Q4 2021, Userland CPU frequency scheduling for OpenBSD, and more.</itunes:subtitle>
  <itunes:duration>45:22</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>&lt;p&gt;Controlling Resource Limits with rctl in FreeBSD, It’s always DNS, Google Summer of Code in BSD Projects, Rsync Technical Notes - Q4 2021, Userland CPU frequency scheduling for OpenBSD, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/controlling-resource-limits-with-rctl-in-freebsd/" target="_blank" rel="nofollow noopener"&gt;Controlling Resource Limits with rctl in FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/DNSVariabilityProblems" target="_blank" rel="nofollow noopener"&gt;It's DNS. Of course it's DNS, it's always DNS.&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;GSOC&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;• [Work with FreeBSD in Google Summer of Code](https://freebsdfoundation.org/blog/work-with-freebsd-in-google-summer-of-code/)
• [The NetBSD Foundation is a mentoring organization at Google Summer of Code 2022](https://blog.netbsd.org/tnf/entry/the_netbsd_foundation_is_a)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.rsync.net/resources/notes/2021-q4-rsync.net_technotes.html" target="_blank" rel="nofollow noopener"&gt;Rsync Technical Notes - Q4 2021&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://tildegit.org/solene/obsdfreqd" target="_blank" rel="nofollow noopener"&gt;Userland CPU frequency scheduling for OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://groups.google.com/a/hardenedbsd.org/g/users/c/QUTUJfm30Dg/m/0VNKUeVhHgAJ" target="_blank" rel="nofollow noopener"&gt;Unofficial HardenedBSD liveCD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2022.eurobsdcon.org/the-call-for-talk-and-presentation-proposals-for-eurobsdcon-2022-is-now-open/" target="_blank" rel="nofollow noopener"&gt;The eurobsdcon 2022 CFP is open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20220319123157" target="_blank" rel="nofollow noopener"&gt;Testing parallel forwarding&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20220315070043" target="_blank" rel="nofollow noopener"&gt;OpenBSD iwx(4) gains 11ac 80MHz channel support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20220320115932" target="_blank" rel="nofollow noopener"&gt;OpenBSD/arm64 on Apple M1 systems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.cambus.net/freebsd-on-the-cubieboard2/" target="_blank" rel="nofollow noopener"&gt;FreeBSD on the CubieBoard2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/448/feedback/Eric%20-%20periodic%20notifications.md" target="_blank" rel="nofollow noopener"&gt;Eric - periodic notifications&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/448/feedback/Kevin%20-%20no%20question.md" target="_blank" rel="nofollow noopener"&gt;Kevin - no question&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, resource limits, rctl, DNS, rsync, technical notes, gsoc, summer of code, userland, cpu frequency scheduling </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Controlling Resource Limits with rctl in FreeBSD, It’s always DNS, Google Summer of Code in BSD Projects, Rsync Technical Notes - Q4 2021, Userland CPU frequency scheduling for OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/controlling-resource-limits-with-rctl-in-freebsd/" target="_blank" rel="nofollow noopener">Controlling Resource Limits with rctl in FreeBSD</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/DNSVariabilityProblems" target="_blank" rel="nofollow noopener">It's DNS. Of course it's DNS, it's always DNS.</a></h3>

<hr>

<h2>News Roundup</h2>

<h3>GSOC</h3>

<pre><code>• [Work with FreeBSD in Google Summer of Code](https://freebsdfoundation.org/blog/work-with-freebsd-in-google-summer-of-code/)
• [The NetBSD Foundation is a mentoring organization at Google Summer of Code 2022](https://blog.netbsd.org/tnf/entry/the_netbsd_foundation_is_a)
</code></pre>

<hr>

<h3><a href="https://www.rsync.net/resources/notes/2021-q4-rsync.net_technotes.html" target="_blank" rel="nofollow noopener">Rsync Technical Notes - Q4 2021</a></h3>

<hr>

<h3><a href="https://tildegit.org/solene/obsdfreqd" target="_blank" rel="nofollow noopener">Userland CPU frequency scheduling for OpenBSD</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://groups.google.com/a/hardenedbsd.org/g/users/c/QUTUJfm30Dg/m/0VNKUeVhHgAJ" target="_blank" rel="nofollow noopener">Unofficial HardenedBSD liveCD</a></li>
<li><a href="https://2022.eurobsdcon.org/the-call-for-talk-and-presentation-proposals-for-eurobsdcon-2022-is-now-open/" target="_blank" rel="nofollow noopener">The eurobsdcon 2022 CFP is open</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20220319123157" target="_blank" rel="nofollow noopener">Testing parallel forwarding</a></li>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20220315070043" target="_blank" rel="nofollow noopener">OpenBSD iwx(4) gains 11ac 80MHz channel support</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20220320115932" target="_blank" rel="nofollow noopener">OpenBSD/arm64 on Apple M1 systems</a></li>
<li><a href="https://www.cambus.net/freebsd-on-the-cubieboard2/" target="_blank" rel="nofollow noopener">FreeBSD on the CubieBoard2</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/448/feedback/Eric%20-%20periodic%20notifications.md" target="_blank" rel="nofollow noopener">Eric - periodic notifications</a><br>
<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/448/feedback/Kevin%20-%20no%20question.md" target="_blank" rel="nofollow noopener">Kevin - no question</a></p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Controlling Resource Limits with rctl in FreeBSD, It’s always DNS, Google Summer of Code in BSD Projects, Rsync Technical Notes - Q4 2021, Userland CPU frequency scheduling for OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/controlling-resource-limits-with-rctl-in-freebsd/" target="_blank" rel="nofollow noopener">Controlling Resource Limits with rctl in FreeBSD</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/DNSVariabilityProblems" target="_blank" rel="nofollow noopener">It's DNS. Of course it's DNS, it's always DNS.</a></h3>

<hr>

<h2>News Roundup</h2>

<h3>GSOC</h3>

<pre><code>• [Work with FreeBSD in Google Summer of Code](https://freebsdfoundation.org/blog/work-with-freebsd-in-google-summer-of-code/)
• [The NetBSD Foundation is a mentoring organization at Google Summer of Code 2022](https://blog.netbsd.org/tnf/entry/the_netbsd_foundation_is_a)
</code></pre>

<hr>

<h3><a href="https://www.rsync.net/resources/notes/2021-q4-rsync.net_technotes.html" target="_blank" rel="nofollow noopener">Rsync Technical Notes - Q4 2021</a></h3>

<hr>

<h3><a href="https://tildegit.org/solene/obsdfreqd" target="_blank" rel="nofollow noopener">Userland CPU frequency scheduling for OpenBSD</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://groups.google.com/a/hardenedbsd.org/g/users/c/QUTUJfm30Dg/m/0VNKUeVhHgAJ" target="_blank" rel="nofollow noopener">Unofficial HardenedBSD liveCD</a></li>
<li><a href="https://2022.eurobsdcon.org/the-call-for-talk-and-presentation-proposals-for-eurobsdcon-2022-is-now-open/" target="_blank" rel="nofollow noopener">The eurobsdcon 2022 CFP is open</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20220319123157" target="_blank" rel="nofollow noopener">Testing parallel forwarding</a></li>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20220315070043" target="_blank" rel="nofollow noopener">OpenBSD iwx(4) gains 11ac 80MHz channel support</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20220320115932" target="_blank" rel="nofollow noopener">OpenBSD/arm64 on Apple M1 systems</a></li>
<li><a href="https://www.cambus.net/freebsd-on-the-cubieboard2/" target="_blank" rel="nofollow noopener">FreeBSD on the CubieBoard2</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/448/feedback/Eric%20-%20periodic%20notifications.md" target="_blank" rel="nofollow noopener">Eric - periodic notifications</a><br>
<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/448/feedback/Kevin%20-%20no%20question.md" target="_blank" rel="nofollow noopener">Kevin - no question</a></p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>447: Path to BSD</title>
  <link>https://www.bsdnow.tv/447</link>
  <guid isPermaLink="false">ab14e67f-b3b7-4ce0-8ce4-b2035c16745a</guid>
  <pubDate>Thu, 24 Mar 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ab14e67f-b3b7-4ce0-8ce4-b2035c16745a.mp3" length="33494808" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Foundation Proposals, UNIX: On the Path to BSD, Fujitsu ends its mainframe and Unix services, Install burpsuite on FreeBSD using Linuxulator, new OpenBSD Webzine is out, and more.</itunes:subtitle>
  <itunes:duration>53:54</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>&lt;p&gt;FreeBSD Foundation Proposals, UNIX: On the Path to BSD, Fujitsu ends its mainframe and Unix services, Install burpsuite on FreeBSD using Linuxulator, new OpenBSD Webzine is out, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/get-involved/project-proposal-overview/" target="_blank" rel="nofollow noopener"&gt;Project Proposal Overview&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/unix-on-the-path-to-bsd/" target="_blank" rel="nofollow noopener"&gt;UNIX: On the Path to BSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.techradar.com/in/news/fujitsu-is-ending-its-mainframe-and-unix-services" target="_blank" rel="nofollow noopener"&gt;Fujitsu is ending its mainframe and Unix services&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://forums.FreeBSD.org/threads/tutorial-install-burpsuite-on-freebsd-using-linuxulator.84310/" target="_blank" rel="nofollow noopener"&gt;TUTORIAL: Install burpsuite on FreeBSD using Linuxulator&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://webzine.puffy.cafe/issue-7.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Webzine&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;A Trio if OPNsense releases:

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://opnsense.org/opnsense-21-7-8-released/" target="_blank" rel="nofollow noopener"&gt;21.7.8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opnsense.org/opnsense-business-edition-21-10-3-released/" target="_blank" rel="nofollow noopener"&gt;21.10.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opnsense.org/opnsense-22-1-1-released-2" target="_blank" rel="nofollow noopener"&gt;22.1.1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/archives/freebsd-announce/2022-March/000018.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.2 end-of-life&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflybsd.org/docs/howtos/HowToKvmGuest/" target="_blank" rel="nofollow noopener"&gt;DragonFly as a KVM guest&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lwn.net/ml/tuhs/CAKH6PiVi+JoxDG7ACMG5G+qnTkxTMsohGx6Wq3UNVkogO4N0Vg@mail.gmail.com/" target="_blank" rel="nofollow noopener"&gt;RIP Lorinda Cherry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.bunniestudios.com/blog/?p=6336" target="_blank" rel="nofollow noopener"&gt;Precursor: From Boot to Root&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;No Feedback emails this week, so instead Tom can regale us with an entertaining BSD story.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, foundation, project proposal, mainframe, futjitsu, unix service, burpsuite, linuxulator, webzine</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Foundation Proposals, UNIX: On the Path to BSD, Fujitsu ends its mainframe and Unix services, Install burpsuite on FreeBSD using Linuxulator, new OpenBSD Webzine is out, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/get-involved/project-proposal-overview/" target="_blank" rel="nofollow noopener">Project Proposal Overview</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/unix-on-the-path-to-bsd/" target="_blank" rel="nofollow noopener">UNIX: On the Path to BSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.techradar.com/in/news/fujitsu-is-ending-its-mainframe-and-unix-services" target="_blank" rel="nofollow noopener">Fujitsu is ending its mainframe and Unix services</a></h3>

<hr>

<h3><a href="https://forums.FreeBSD.org/threads/tutorial-install-burpsuite-on-freebsd-using-linuxulator.84310/" target="_blank" rel="nofollow noopener">TUTORIAL: Install burpsuite on FreeBSD using Linuxulator</a></h3>

<hr>

<h3><a href="https://webzine.puffy.cafe/issue-7.html" target="_blank" rel="nofollow noopener">OpenBSD Webzine</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li>A Trio if OPNsense releases:

<ul>
<li><a href="https://opnsense.org/opnsense-21-7-8-released/" target="_blank" rel="nofollow noopener">21.7.8</a></li>
<li><a href="https://opnsense.org/opnsense-business-edition-21-10-3-released/" target="_blank" rel="nofollow noopener">21.10.3</a></li>
<li><a href="https://opnsense.org/opnsense-22-1-1-released-2" target="_blank" rel="nofollow noopener">22.1.1</a></li>
</ul></li>
<li><a href="https://lists.freebsd.org/archives/freebsd-announce/2022-March/000018.html" target="_blank" rel="nofollow noopener">FreeBSD 12.2 end-of-life</a></li>
<li><a href="https://www.dragonflybsd.org/docs/howtos/HowToKvmGuest/" target="_blank" rel="nofollow noopener">DragonFly as a KVM guest</a></li>
<li><a href="https://lwn.net/ml/tuhs/CAKH6PiVi+JoxDG7ACMG5G+qnTkxTMsohGx6Wq3UNVkogO4N0Vg@mail.gmail.com/" target="_blank" rel="nofollow noopener">RIP Lorinda Cherry</a></li>
<li><a href="https://www.bunniestudios.com/blog/?p=6336" target="_blank" rel="nofollow noopener">Precursor: From Boot to Root</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p>No Feedback emails this week, so instead Tom can regale us with an entertaining BSD story.</p>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Foundation Proposals, UNIX: On the Path to BSD, Fujitsu ends its mainframe and Unix services, Install burpsuite on FreeBSD using Linuxulator, new OpenBSD Webzine is out, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/get-involved/project-proposal-overview/" target="_blank" rel="nofollow noopener">Project Proposal Overview</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/unix-on-the-path-to-bsd/" target="_blank" rel="nofollow noopener">UNIX: On the Path to BSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.techradar.com/in/news/fujitsu-is-ending-its-mainframe-and-unix-services" target="_blank" rel="nofollow noopener">Fujitsu is ending its mainframe and Unix services</a></h3>

<hr>

<h3><a href="https://forums.FreeBSD.org/threads/tutorial-install-burpsuite-on-freebsd-using-linuxulator.84310/" target="_blank" rel="nofollow noopener">TUTORIAL: Install burpsuite on FreeBSD using Linuxulator</a></h3>

<hr>

<h3><a href="https://webzine.puffy.cafe/issue-7.html" target="_blank" rel="nofollow noopener">OpenBSD Webzine</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li>A Trio if OPNsense releases:

<ul>
<li><a href="https://opnsense.org/opnsense-21-7-8-released/" target="_blank" rel="nofollow noopener">21.7.8</a></li>
<li><a href="https://opnsense.org/opnsense-business-edition-21-10-3-released/" target="_blank" rel="nofollow noopener">21.10.3</a></li>
<li><a href="https://opnsense.org/opnsense-22-1-1-released-2" target="_blank" rel="nofollow noopener">22.1.1</a></li>
</ul></li>
<li><a href="https://lists.freebsd.org/archives/freebsd-announce/2022-March/000018.html" target="_blank" rel="nofollow noopener">FreeBSD 12.2 end-of-life</a></li>
<li><a href="https://www.dragonflybsd.org/docs/howtos/HowToKvmGuest/" target="_blank" rel="nofollow noopener">DragonFly as a KVM guest</a></li>
<li><a href="https://lwn.net/ml/tuhs/CAKH6PiVi+JoxDG7ACMG5G+qnTkxTMsohGx6Wq3UNVkogO4N0Vg@mail.gmail.com/" target="_blank" rel="nofollow noopener">RIP Lorinda Cherry</a></li>
<li><a href="https://www.bunniestudios.com/blog/?p=6336" target="_blank" rel="nofollow noopener">Precursor: From Boot to Root</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p>No Feedback emails this week, so instead Tom can regale us with an entertaining BSD story.</p>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>446: Debugging ioctl problems </title>
  <link>https://www.bsdnow.tv/446</link>
  <guid isPermaLink="false">b8932853-588e-4ed2-8bd3-b8d3552b820d</guid>
  <pubDate>Thu, 17 Mar 2022 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b8932853-588e-4ed2-8bd3-b8d3552b820d.mp3" length="29044560" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Restoring a Tadpole SPARCbook 3, The FreeBSD Boot Process, Debugging an ioctl Problem on OpenBSD, Why my game PC runs FreeBSD and Kubuntu, DNSSEC, Badgers, and Orcs, Oh My, and more.</itunes:subtitle>
  <itunes:duration>48:24</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>&lt;p&gt;Restoring a Tadpole SPARCbook 3, The FreeBSD Boot Process, Debugging an ioctl Problem on OpenBSD, Why my game PC runs FreeBSD and Kubuntu, DNSSEC, Badgers, and Orcs, Oh My, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.rs-online.com/designspark/restoring-a-tadpole-sparcbook-3-part-1-introduction" target="_blank" rel="nofollow noopener"&gt;Restoring a Tadpole SPARCbook 3 Part 1: Introduction&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/the-freebsd-boot-process/" target="_blank" rel="nofollow noopener"&gt;The FreeBSD Boot Process&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://jcs.org/2022/02/16/ioctl" target="_blank" rel="nofollow noopener"&gt;Debugging an ioctl Problem on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/why-my-game-pc-also-runs-freebsd/" target="_blank" rel="nofollow noopener"&gt;Why my game PC runs FreeBSD and Kubuntu&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mwl.io/archives/14708" target="_blank" rel="nofollow noopener"&gt;DNSSEC, Badgers, and Orcs, Oh My!&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [LibreSSL 3.5.0 development branch released](https://undeadly.org/cgi?action=article;sid=20220301063844)
• [OpenSSH updated to 8.9](https://undeadly.org/cgi?action=article;sid=20220301063428)
• [Recent developments in OpenBSD, 2022-02-21 summary](https://undeadly.org/cgi?action=article;sid=20220221060700)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/446/Jonathan%20-%20X-Wing%20and%20Tie%20Fighter.md" target="_blank" rel="nofollow noopener"&gt;Jonathan - X-Wing and Tie Fighter&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/446/joshontech%20-%20pool%20options.md" target="_blank" rel="nofollow noopener"&gt;Joshontech - pool options&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, sparcbook, boot process, debugging, debug, ioctl, game setup, game pc, gaming, dnssec book, badger book, mwlauthor, Michael W. Lucas</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Restoring a Tadpole SPARCbook 3, The FreeBSD Boot Process, Debugging an ioctl Problem on OpenBSD, Why my game PC runs FreeBSD and Kubuntu, DNSSEC, Badgers, and Orcs, Oh My, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.rs-online.com/designspark/restoring-a-tadpole-sparcbook-3-part-1-introduction" target="_blank" rel="nofollow noopener">Restoring a Tadpole SPARCbook 3 Part 1: Introduction</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/the-freebsd-boot-process/" target="_blank" rel="nofollow noopener">The FreeBSD Boot Process</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2022/02/16/ioctl" target="_blank" rel="nofollow noopener">Debugging an ioctl Problem on OpenBSD</a></h3>

<hr>

<h3><a href="https://rubenerd.com/why-my-game-pc-also-runs-freebsd/" target="_blank" rel="nofollow noopener">Why my game PC runs FreeBSD and Kubuntu</a></h3>

<hr>

<h3><a href="https://mwl.io/archives/14708" target="_blank" rel="nofollow noopener">DNSSEC, Badgers, and Orcs, Oh My!</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [LibreSSL 3.5.0 development branch released](https://undeadly.org/cgi?action=article;sid=20220301063844)
• [OpenSSH updated to 8.9](https://undeadly.org/cgi?action=article;sid=20220301063428)
• [Recent developments in OpenBSD, 2022-02-21 summary](https://undeadly.org/cgi?action=article;sid=20220221060700)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/446/Jonathan%20-%20X-Wing%20and%20Tie%20Fighter.md" target="_blank" rel="nofollow noopener">Jonathan - X-Wing and Tie Fighter</a><br>
<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/446/joshontech%20-%20pool%20options.md" target="_blank" rel="nofollow noopener">Joshontech - pool options</a></p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Restoring a Tadpole SPARCbook 3, The FreeBSD Boot Process, Debugging an ioctl Problem on OpenBSD, Why my game PC runs FreeBSD and Kubuntu, DNSSEC, Badgers, and Orcs, Oh My, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.rs-online.com/designspark/restoring-a-tadpole-sparcbook-3-part-1-introduction" target="_blank" rel="nofollow noopener">Restoring a Tadpole SPARCbook 3 Part 1: Introduction</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/the-freebsd-boot-process/" target="_blank" rel="nofollow noopener">The FreeBSD Boot Process</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2022/02/16/ioctl" target="_blank" rel="nofollow noopener">Debugging an ioctl Problem on OpenBSD</a></h3>

<hr>

<h3><a href="https://rubenerd.com/why-my-game-pc-also-runs-freebsd/" target="_blank" rel="nofollow noopener">Why my game PC runs FreeBSD and Kubuntu</a></h3>

<hr>

<h3><a href="https://mwl.io/archives/14708" target="_blank" rel="nofollow noopener">DNSSEC, Badgers, and Orcs, Oh My!</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [LibreSSL 3.5.0 development branch released](https://undeadly.org/cgi?action=article;sid=20220301063844)
• [OpenSSH updated to 8.9](https://undeadly.org/cgi?action=article;sid=20220301063428)
• [Recent developments in OpenBSD, 2022-02-21 summary](https://undeadly.org/cgi?action=article;sid=20220221060700)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/446/Jonathan%20-%20X-Wing%20and%20Tie%20Fighter.md" target="_blank" rel="nofollow noopener">Jonathan - X-Wing and Tie Fighter</a><br>
<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/446/joshontech%20-%20pool%20options.md" target="_blank" rel="nofollow noopener">Joshontech - pool options</a></p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>445: Journey to BSD</title>
  <link>https://www.bsdnow.tv/445</link>
  <guid isPermaLink="false">a4bbf2bd-8191-4faa-9dec-2b8a2f9de7fd</guid>
  <pubDate>Thu, 10 Mar 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a4bbf2bd-8191-4faa-9dec-2b8a2f9de7fd.mp3" length="28948800" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Idiot's guide to OpenBSD on the Pinebook Pro, FreeBSD Periodic Scripts, history of service management in Unix, journey from macOS to FreeBSD, Unix processes “infecting” each other, navidrom music server on FreeBSD, and more.</itunes:subtitle>
  <itunes:duration>47:12</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>&lt;p&gt;Idiot's guide to OpenBSD on the Pinebook Pro, FreeBSD Periodic Scripts, history of service management in Unix, journey from macOS to FreeBSD, Unix processes “infecting” each other, navidrom music server on FreeBSD, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://tomscii.sig7.se/2022/02/Guide-to-OpenBSD-on-the-PinebookPro" target="_blank" rel="nofollow noopener"&gt;The complete idiot's guide to OpenBSD on the Pinebook Pro&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-periodic-scripts/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Periodic Scripts&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ServiceManagementHistory" target="_blank" rel="nofollow noopener"&gt;The history (sort of) of service management in Unix&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.boucek.me/blog/from-mac-to-freebsd/" target="_blank" rel="nofollow noopener"&gt;My journey from macOS to FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rachelbythebay.com/w/2022/02/09/nice/" target="_blank" rel="nofollow noopener"&gt;A nice story about Unix processes "infecting" each other&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://web.archive.org/web/20220101220446/https://www.danschmid.me/article/install-navidrome-music-server-on-freebsd" target="_blank" rel="nofollow noopener"&gt;Navidrome music server on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/444/feedback/Tyler%20-%20Is%20this%20enough%20for%20VMs.md" target="_blank" rel="nofollow noopener"&gt;Tyler - Is this enough for VMs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/445/feedback/Kevin%20-%20BSD%20from%20RAMdisk.md" target="_blank" rel="nofollow noopener"&gt;Kevin - BSD from RAMdisk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/445/feedback/Malcolm%20-%20wired%20headset%20in%20FreeBSD.md" target="_blank" rel="nofollow noopener"&gt;Malcolm - wired headset in FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, pinebook pro, periodic scripts, service management, history, macOS migration, processes, navidrome, music server</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Idiot's guide to OpenBSD on the Pinebook Pro, FreeBSD Periodic Scripts, history of service management in Unix, journey from macOS to FreeBSD, Unix processes “infecting” each other, navidrom music server on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://tomscii.sig7.se/2022/02/Guide-to-OpenBSD-on-the-PinebookPro" target="_blank" rel="nofollow noopener">The complete idiot's guide to OpenBSD on the Pinebook Pro</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/freebsd-periodic-scripts/" target="_blank" rel="nofollow noopener">FreeBSD Periodic Scripts</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ServiceManagementHistory" target="_blank" rel="nofollow noopener">The history (sort of) of service management in Unix</a></h3>

<hr>

<h3><a href="https://www.boucek.me/blog/from-mac-to-freebsd/" target="_blank" rel="nofollow noopener">My journey from macOS to FreeBSD</a></h3>

<hr>

<h3><a href="https://rachelbythebay.com/w/2022/02/09/nice/" target="_blank" rel="nofollow noopener">A nice story about Unix processes "infecting" each other</a></h3>

<hr>

<h3><a href="https://web.archive.org/web/20220101220446/https://www.danschmid.me/article/install-navidrome-music-server-on-freebsd" target="_blank" rel="nofollow noopener">Navidrome music server on FreeBSD</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/444/feedback/Tyler%20-%20Is%20this%20enough%20for%20VMs.md" target="_blank" rel="nofollow noopener">Tyler - Is this enough for VMs</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/445/feedback/Kevin%20-%20BSD%20from%20RAMdisk.md" target="_blank" rel="nofollow noopener">Kevin - BSD from RAMdisk</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/445/feedback/Malcolm%20-%20wired%20headset%20in%20FreeBSD.md" target="_blank" rel="nofollow noopener">Malcolm - wired headset in FreeBSD</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Idiot's guide to OpenBSD on the Pinebook Pro, FreeBSD Periodic Scripts, history of service management in Unix, journey from macOS to FreeBSD, Unix processes “infecting” each other, navidrom music server on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://tomscii.sig7.se/2022/02/Guide-to-OpenBSD-on-the-PinebookPro" target="_blank" rel="nofollow noopener">The complete idiot's guide to OpenBSD on the Pinebook Pro</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/freebsd-periodic-scripts/" target="_blank" rel="nofollow noopener">FreeBSD Periodic Scripts</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ServiceManagementHistory" target="_blank" rel="nofollow noopener">The history (sort of) of service management in Unix</a></h3>

<hr>

<h3><a href="https://www.boucek.me/blog/from-mac-to-freebsd/" target="_blank" rel="nofollow noopener">My journey from macOS to FreeBSD</a></h3>

<hr>

<h3><a href="https://rachelbythebay.com/w/2022/02/09/nice/" target="_blank" rel="nofollow noopener">A nice story about Unix processes "infecting" each other</a></h3>

<hr>

<h3><a href="https://web.archive.org/web/20220101220446/https://www.danschmid.me/article/install-navidrome-music-server-on-freebsd" target="_blank" rel="nofollow noopener">Navidrome music server on FreeBSD</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/444/feedback/Tyler%20-%20Is%20this%20enough%20for%20VMs.md" target="_blank" rel="nofollow noopener">Tyler - Is this enough for VMs</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/445/feedback/Kevin%20-%20BSD%20from%20RAMdisk.md" target="_blank" rel="nofollow noopener">Kevin - BSD from RAMdisk</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/445/feedback/Malcolm%20-%20wired%20headset%20in%20FreeBSD.md" target="_blank" rel="nofollow noopener">Malcolm - wired headset in FreeBSD</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>444: Historic Developments</title>
  <link>https://www.bsdnow.tv/444</link>
  <guid isPermaLink="false">859e26d8-a3d7-4df6-8ea2-eb22ab8babb5</guid>
  <pubDate>Thu, 03 Mar 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/859e26d8-a3d7-4df6-8ea2-eb22ab8babb5.mp3" length="31350552" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The History of Berkeley DB, modern inetd in FreeBSD, the Unix argv[0] issue, retrocomputing can be more than games, read section 8 of the Unix users manual, and more.</itunes:subtitle>
  <itunes:duration>53:36</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>&lt;p&gt;The History of Berkeley DB, modern inetd in FreeBSD, the Unix argv[0] issue, retrocomputing can be more than games, read section 8 of the Unix users manual, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://queue.acm.org/detail.cfm?id=3501713" target="_blank" rel="nofollow noopener"&gt;A Conversation with Margo Seltzer and Mike Olson: The history of Berkeley DB&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/modern-inetd-in-freebsd/" target="_blank" rel="nofollow noopener"&gt;Modern inetd in FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/Argv0IsEasy" target="_blank" rel="nofollow noopener"&gt;The reason Unix has the argv[0] issue (and API)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/retrocomputing-is-more-than-games/" target="_blank" rel="nofollow noopener"&gt;Retrocomputing can be more than games&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.theregister.com/2022/02/09/section_8_unix_user_manual/" target="_blank" rel="nofollow noopener"&gt;You should read Section 8 of the Unix User's Manual&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20220214061716" target="_blank" rel="nofollow noopener"&gt;New 'Reckless guide to OpenBSD' published&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ghostbsd.org/node/243" target="_blank" rel="nofollow noopener"&gt;GhostBSD Online Meetup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://hambug.ca/" target="_blank" rel="nofollow noopener"&gt;HAMBug online meeting, March 8th @ 18:30 ET&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/HardenedBSD/status/1492249763193970689" target="_blank" rel="nofollow noopener"&gt;HardenedBSD 12-STABLE support will be dropped in May 2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2022/02/16/26684.html" target="_blank" rel="nofollow noopener"&gt;Option options for getopt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mail.tarsnap.com/tarsnap-announce/msg00046.html" target="_blank" rel="nofollow noopener"&gt;New Tarsnap version is out&lt;/a&gt;&lt;/li&gt;
&lt;li&gt; &lt;a href="https://www.netgate.com/blog/pfsense-plus-software-version-22.01-and-ce-2.6.0-are-now-available" target="_blank" rel="nofollow noopener"&gt;pfSense Plus version 22.01 and pfSense CE version 2.6.0 Software are Now Available&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/444/feedback/Karst%20-%20replacing%20disks.md" target="_blank" rel="nofollow noopener"&gt;Karst - replacing disks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/444/feedback/TheHolm%20-%20zfs%20and%20booting.md" target="_blank" rel="nofollow noopener"&gt;TheHolm - zfs and booting&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</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, berkeleydb, inetd, argv, issue, retrocomputing, games, users manual</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The History of Berkeley DB, modern inetd in FreeBSD, the Unix argv[0] issue, retrocomputing can be more than games, read section 8 of the Unix users manual, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://queue.acm.org/detail.cfm?id=3501713" target="_blank" rel="nofollow noopener">A Conversation with Margo Seltzer and Mike Olson: The history of Berkeley DB</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/modern-inetd-in-freebsd/" target="_blank" rel="nofollow noopener">Modern inetd in FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/Argv0IsEasy" target="_blank" rel="nofollow noopener">The reason Unix has the argv[0] issue (and API)</a></h3>

<hr>

<h3><a href="https://rubenerd.com/retrocomputing-is-more-than-games/" target="_blank" rel="nofollow noopener">Retrocomputing can be more than games</a></h3>

<hr>

<h3><a href="https://www.theregister.com/2022/02/09/section_8_unix_user_manual/" target="_blank" rel="nofollow noopener">You should read Section 8 of the Unix User's Manual</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20220214061716" target="_blank" rel="nofollow noopener">New 'Reckless guide to OpenBSD' published</a></li>
<li><a href="http://ghostbsd.org/node/243" target="_blank" rel="nofollow noopener">GhostBSD Online Meetup</a></li>
<li><a href="http://hambug.ca/" target="_blank" rel="nofollow noopener">HAMBug online meeting, March 8th @ 18:30 ET</a></li>
<li><a href="https://twitter.com/HardenedBSD/status/1492249763193970689" target="_blank" rel="nofollow noopener">HardenedBSD 12-STABLE support will be dropped in May 2022</a></li>
<li><a href="https://www.dragonflydigest.com/2022/02/16/26684.html" target="_blank" rel="nofollow noopener">Option options for getopt</a></li>
<li><a href="https://mail.tarsnap.com/tarsnap-announce/msg00046.html" target="_blank" rel="nofollow noopener">New Tarsnap version is out</a></li>
<li> <a href="https://www.netgate.com/blog/pfsense-plus-software-version-22.01-and-ce-2.6.0-are-now-available" target="_blank" rel="nofollow noopener">pfSense Plus version 22.01 and pfSense CE version 2.6.0 Software are Now Available</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/444/feedback/Karst%20-%20replacing%20disks.md" target="_blank" rel="nofollow noopener">Karst - replacing disks</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/444/feedback/TheHolm%20-%20zfs%20and%20booting.md" target="_blank" rel="nofollow noopener">TheHolm - zfs and booting</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The History of Berkeley DB, modern inetd in FreeBSD, the Unix argv[0] issue, retrocomputing can be more than games, read section 8 of the Unix users manual, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://queue.acm.org/detail.cfm?id=3501713" target="_blank" rel="nofollow noopener">A Conversation with Margo Seltzer and Mike Olson: The history of Berkeley DB</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/modern-inetd-in-freebsd/" target="_blank" rel="nofollow noopener">Modern inetd in FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/Argv0IsEasy" target="_blank" rel="nofollow noopener">The reason Unix has the argv[0] issue (and API)</a></h3>

<hr>

<h3><a href="https://rubenerd.com/retrocomputing-is-more-than-games/" target="_blank" rel="nofollow noopener">Retrocomputing can be more than games</a></h3>

<hr>

<h3><a href="https://www.theregister.com/2022/02/09/section_8_unix_user_manual/" target="_blank" rel="nofollow noopener">You should read Section 8 of the Unix User's Manual</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20220214061716" target="_blank" rel="nofollow noopener">New 'Reckless guide to OpenBSD' published</a></li>
<li><a href="http://ghostbsd.org/node/243" target="_blank" rel="nofollow noopener">GhostBSD Online Meetup</a></li>
<li><a href="http://hambug.ca/" target="_blank" rel="nofollow noopener">HAMBug online meeting, March 8th @ 18:30 ET</a></li>
<li><a href="https://twitter.com/HardenedBSD/status/1492249763193970689" target="_blank" rel="nofollow noopener">HardenedBSD 12-STABLE support will be dropped in May 2022</a></li>
<li><a href="https://www.dragonflydigest.com/2022/02/16/26684.html" target="_blank" rel="nofollow noopener">Option options for getopt</a></li>
<li><a href="https://mail.tarsnap.com/tarsnap-announce/msg00046.html" target="_blank" rel="nofollow noopener">New Tarsnap version is out</a></li>
<li> <a href="https://www.netgate.com/blog/pfsense-plus-software-version-22.01-and-ce-2.6.0-are-now-available" target="_blank" rel="nofollow noopener">pfSense Plus version 22.01 and pfSense CE version 2.6.0 Software are Now Available</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/444/feedback/Karst%20-%20replacing%20disks.md" target="_blank" rel="nofollow noopener">Karst - replacing disks</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/444/feedback/TheHolm%20-%20zfs%20and%20booting.md" target="_blank" rel="nofollow noopener">TheHolm - zfs and booting</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>443: Certified Unix Compliant</title>
  <link>https://www.bsdnow.tv/443</link>
  <guid isPermaLink="false">07a074a7-cfc0-4058-a637-3c58c89a919a</guid>
  <pubDate>Thu, 24 Feb 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/07a074a7-cfc0-4058-a637-3c58c89a919a.mp3" length="30076104" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Certifying an OS Unix compliant, 2021 FreeBSD Foundation Impact Report, Netflix, Disney, and other widevine content on FreeBSD, file hashes updated for NetBSD 8.1, Playing with CD-RWs on FreeBSD, Why "process substitution" is a late feature in Unix shells, and more.</itunes:subtitle>
  <itunes:duration>46:29</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>&lt;p&gt;Certifying an OS Unix compliant, 2021 FreeBSD Foundation Impact Report, Netflix, Disney, and other widevine content on FreeBSD, file hashes updated for NetBSD 8.1, Playing with CD-RWs on FreeBSD, Why "process substitution" is a late feature in Unix shells, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.quora.com/What-goes-into-making-an-OS-to-be-Unix-compliant-certified" target="_blank" rel="nofollow noopener"&gt;What goes into making an OS to be Unix compliant certified?&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/2021-freebsd-foundation-impact-report/" target="_blank" rel="nofollow noopener"&gt;2021 FreeBSD Foundation Impact Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://danschmid.de/article/play-netflix-disney-and-other-widevine-content-on-freebsd" target="_blank" rel="nofollow noopener"&gt;Play Netflix, Disney, and other widevine content on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsdsec.net/articles/note-two-files-changed-and-hashes-signatures-updated-for-netbsd-8-1" target="_blank" rel="nofollow noopener"&gt;Note: two files changed and hashes/signatures updated for NetBSD 8.1&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/playing-with-cd-rws-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Playing with CD-RWs on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ProcessSubstitutionWhyLate" target="_blank" rel="nofollow noopener"&gt;Why "process substitution" is a late feature in Unix shells&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/443/feedback/Marty%20-%20shell%20communities.md" target="_blank" rel="nofollow noopener"&gt;Marty - shell communities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/443/feedback/Nate%20-%20Helping%20Mike%20Out.md" target="_blank" rel="nofollow noopener"&gt;Nate - Helping Mike Out&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/443/feedback/Tom%20-%20convincing%20others%20to%20switch.md" target="_blank" rel="nofollow noopener"&gt;Tom - convincing others to switch&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, certification, Unix compliant, compliance, foundation impact report, netflix, disney, widevine, file hash, cd-rw, process substitution</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Certifying an OS Unix compliant, 2021 FreeBSD Foundation Impact Report, Netflix, Disney, and other widevine content on FreeBSD, file hashes updated for NetBSD 8.1, Playing with CD-RWs on FreeBSD, Why "process substitution" is a late feature in Unix shells, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.quora.com/What-goes-into-making-an-OS-to-be-Unix-compliant-certified" target="_blank" rel="nofollow noopener">What goes into making an OS to be Unix compliant certified?</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/2021-freebsd-foundation-impact-report/" target="_blank" rel="nofollow noopener">2021 FreeBSD Foundation Impact Report</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://danschmid.de/article/play-netflix-disney-and-other-widevine-content-on-freebsd" target="_blank" rel="nofollow noopener">Play Netflix, Disney, and other widevine content on FreeBSD</a></h3>

<hr>

<h3><a href="https://bsdsec.net/articles/note-two-files-changed-and-hashes-signatures-updated-for-netbsd-8-1" target="_blank" rel="nofollow noopener">Note: two files changed and hashes/signatures updated for NetBSD 8.1</a></h3>

<hr>

<h3><a href="https://rubenerd.com/playing-with-cd-rws-on-freebsd/" target="_blank" rel="nofollow noopener">Playing with CD-RWs on FreeBSD</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ProcessSubstitutionWhyLate" target="_blank" rel="nofollow noopener">Why "process substitution" is a late feature in Unix shells</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/443/feedback/Marty%20-%20shell%20communities.md" target="_blank" rel="nofollow noopener">Marty - shell communities</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/443/feedback/Nate%20-%20Helping%20Mike%20Out.md" target="_blank" rel="nofollow noopener">Nate - Helping Mike Out</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/443/feedback/Tom%20-%20convincing%20others%20to%20switch.md" target="_blank" rel="nofollow noopener">Tom - convincing others to switch</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Certifying an OS Unix compliant, 2021 FreeBSD Foundation Impact Report, Netflix, Disney, and other widevine content on FreeBSD, file hashes updated for NetBSD 8.1, Playing with CD-RWs on FreeBSD, Why "process substitution" is a late feature in Unix shells, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.quora.com/What-goes-into-making-an-OS-to-be-Unix-compliant-certified" target="_blank" rel="nofollow noopener">What goes into making an OS to be Unix compliant certified?</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/2021-freebsd-foundation-impact-report/" target="_blank" rel="nofollow noopener">2021 FreeBSD Foundation Impact Report</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://danschmid.de/article/play-netflix-disney-and-other-widevine-content-on-freebsd" target="_blank" rel="nofollow noopener">Play Netflix, Disney, and other widevine content on FreeBSD</a></h3>

<hr>

<h3><a href="https://bsdsec.net/articles/note-two-files-changed-and-hashes-signatures-updated-for-netbsd-8-1" target="_blank" rel="nofollow noopener">Note: two files changed and hashes/signatures updated for NetBSD 8.1</a></h3>

<hr>

<h3><a href="https://rubenerd.com/playing-with-cd-rws-on-freebsd/" target="_blank" rel="nofollow noopener">Playing with CD-RWs on FreeBSD</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ProcessSubstitutionWhyLate" target="_blank" rel="nofollow noopener">Why "process substitution" is a late feature in Unix shells</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/443/feedback/Marty%20-%20shell%20communities.md" target="_blank" rel="nofollow noopener">Marty - shell communities</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/443/feedback/Nate%20-%20Helping%20Mike%20Out.md" target="_blank" rel="nofollow noopener">Nate - Helping Mike Out</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/443/feedback/Tom%20-%20convincing%20others%20to%20switch.md" target="_blank" rel="nofollow noopener">Tom - convincing others to switch</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>442: Birthing Unix</title>
  <link>https://www.bsdnow.tv/442</link>
  <guid isPermaLink="false">6c41b9bf-54fb-42e4-88de-6df0daca6ad1</guid>
  <pubDate>Thu, 17 Feb 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6c41b9bf-54fb-42e4-88de-6df0daca6ad1.mp3" length="28180392" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The Birth of Unix, Help request for three big Lumina items, FreeBSD 13 on Thinkpad T460s, HardenedBSD January 2022 Status Report, OPNsense 22.1 "Observant Owl" released, and more.</itunes:subtitle>
  <itunes:duration>46:19</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>&lt;p&gt;The Birth of Unix, Help request for three big Lumina items, FreeBSD 13 on Thinkpad T460s, HardenedBSD January 2022 Status Report, OPNsense 22.1 "Observant Owl" released, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/the-birth-of-unix/" target="_blank" rel="nofollow noopener"&gt;The Birth of Unix&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lumina-desktop.org/post/2022-02-08/" target="_blank" rel="nofollow noopener"&gt;Help requested for three big items for Lumina&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/2022/freebsd-13-on-thinkpad-t460s/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13 on Thinkpad T460s&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2022-01-30/hardenedbsd-january-2022-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD January 2022 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-22-1-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 22.1 "Observant Owl" released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ECCr_KFl41E" target="_blank" rel="nofollow noopener"&gt;The early days of Unix at Bell Labs - Brian Kernighan (LCA 2022 Online)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.google.com/forms/d/e/1FAIpQLSddMMIFW9mHMnpMjMQZfFVCubVywmCXZHI7lqE2tS4k503uPw/viewform" target="_blank" rel="nofollow noopener"&gt;BastilleBSD User Survey&lt;/a&gt;
&lt;a href="https://www.reddit.com/r/BSD/comments/sgk5y0/smallest_desktop_of_the_day_with_bsd_raspberry_pi/" target="_blank" rel="nofollow noopener"&gt;Smallest desktop of the day with BSD: Raspberry Pi 400&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.bsdcan.org/pipermail/bsdcan-announce/2022-January/000191.html" target="_blank" rel="nofollow noopener"&gt;Reminder BSDCan 2022 - online only&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jcs.org/2022/01/14/q&amp;amp;a" target="_blank" rel="nofollow noopener"&gt;Joshua Stein Video: Q&amp;amp;A&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/14427" target="_blank" rel="nofollow noopener"&gt;DNSSEC Mastery, second edition, creeping out&lt;/a&gt;
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/442/feedback/Alec%20-%20Playstation%20FreeBSD-Linux%20question.md" target="_blank" rel="nofollow noopener"&gt;Alec - Playstation FreeBSD-Linux question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/442/feedback/Nelson%20-%20Interesting%20Interview.md" target="_blank" rel="nofollow noopener"&gt;Nelson - Interesting Interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/442/feedback/Oscar%20-%20Omni%20OS.md" target="_blank" rel="nofollow noopener"&gt;Oscar - Omni OS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, birth, beginnings, help request, Lumina, Thinkpad, T460s, status report, opnsense, observant owl,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Birth of Unix, Help request for three big Lumina items, FreeBSD 13 on Thinkpad T460s, HardenedBSD January 2022 Status Report, OPNsense 22.1 "Observant Owl" released, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/the-birth-of-unix/" target="_blank" rel="nofollow noopener">The Birth of Unix</a></h3>

<hr>

<h3><a href="https://lumina-desktop.org/post/2022-02-08/" target="_blank" rel="nofollow noopener">Help requested for three big items for Lumina</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.tumfatig.net/2022/freebsd-13-on-thinkpad-t460s/" target="_blank" rel="nofollow noopener">FreeBSD 13 on Thinkpad T460s</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2022-01-30/hardenedbsd-january-2022-status-report" target="_blank" rel="nofollow noopener">HardenedBSD January 2022 Status Report</a></h3>

<hr>

<h3><a href="https://opnsense.org/opnsense-22-1-released/" target="_blank" rel="nofollow noopener">OPNsense 22.1 "Observant Owl" released</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=ECCr_KFl41E" target="_blank" rel="nofollow noopener">The early days of Unix at Bell Labs - Brian Kernighan (LCA 2022 Online)</a></li>
<li><a href="https://docs.google.com/forms/d/e/1FAIpQLSddMMIFW9mHMnpMjMQZfFVCubVywmCXZHI7lqE2tS4k503uPw/viewform" target="_blank" rel="nofollow noopener">BastilleBSD User Survey</a>
<a href="https://www.reddit.com/r/BSD/comments/sgk5y0/smallest_desktop_of_the_day_with_bsd_raspberry_pi/" target="_blank" rel="nofollow noopener">Smallest desktop of the day with BSD: Raspberry Pi 400</a></li>
<li><a href="https://lists.bsdcan.org/pipermail/bsdcan-announce/2022-January/000191.html" target="_blank" rel="nofollow noopener">Reminder BSDCan 2022 - online only</a></li>
<li><a href="https://jcs.org/2022/01/14/q&amp;a" target="_blank" rel="nofollow noopener">Joshua Stein Video: Q&amp;A</a></li>
<li><a href="https://mwl.io/archives/14427" target="_blank" rel="nofollow noopener">DNSSEC Mastery, second edition, creeping out</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/442/feedback/Alec%20-%20Playstation%20FreeBSD-Linux%20question.md" target="_blank" rel="nofollow noopener">Alec - Playstation FreeBSD-Linux question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/442/feedback/Nelson%20-%20Interesting%20Interview.md" target="_blank" rel="nofollow noopener">Nelson - Interesting Interview</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/442/feedback/Oscar%20-%20Omni%20OS.md" target="_blank" rel="nofollow noopener">Oscar - Omni OS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Birth of Unix, Help request for three big Lumina items, FreeBSD 13 on Thinkpad T460s, HardenedBSD January 2022 Status Report, OPNsense 22.1 "Observant Owl" released, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/the-birth-of-unix/" target="_blank" rel="nofollow noopener">The Birth of Unix</a></h3>

<hr>

<h3><a href="https://lumina-desktop.org/post/2022-02-08/" target="_blank" rel="nofollow noopener">Help requested for three big items for Lumina</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.tumfatig.net/2022/freebsd-13-on-thinkpad-t460s/" target="_blank" rel="nofollow noopener">FreeBSD 13 on Thinkpad T460s</a></h3>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2022-01-30/hardenedbsd-january-2022-status-report" target="_blank" rel="nofollow noopener">HardenedBSD January 2022 Status Report</a></h3>

<hr>

<h3><a href="https://opnsense.org/opnsense-22-1-released/" target="_blank" rel="nofollow noopener">OPNsense 22.1 "Observant Owl" released</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=ECCr_KFl41E" target="_blank" rel="nofollow noopener">The early days of Unix at Bell Labs - Brian Kernighan (LCA 2022 Online)</a></li>
<li><a href="https://docs.google.com/forms/d/e/1FAIpQLSddMMIFW9mHMnpMjMQZfFVCubVywmCXZHI7lqE2tS4k503uPw/viewform" target="_blank" rel="nofollow noopener">BastilleBSD User Survey</a>
<a href="https://www.reddit.com/r/BSD/comments/sgk5y0/smallest_desktop_of_the_day_with_bsd_raspberry_pi/" target="_blank" rel="nofollow noopener">Smallest desktop of the day with BSD: Raspberry Pi 400</a></li>
<li><a href="https://lists.bsdcan.org/pipermail/bsdcan-announce/2022-January/000191.html" target="_blank" rel="nofollow noopener">Reminder BSDCan 2022 - online only</a></li>
<li><a href="https://jcs.org/2022/01/14/q&amp;a" target="_blank" rel="nofollow noopener">Joshua Stein Video: Q&amp;A</a></li>
<li><a href="https://mwl.io/archives/14427" target="_blank" rel="nofollow noopener">DNSSEC Mastery, second edition, creeping out</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/442/feedback/Alec%20-%20Playstation%20FreeBSD-Linux%20question.md" target="_blank" rel="nofollow noopener">Alec - Playstation FreeBSD-Linux question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/442/feedback/Nelson%20-%20Interesting%20Interview.md" target="_blank" rel="nofollow noopener">Nelson - Interesting Interview</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/442/feedback/Oscar%20-%20Omni%20OS.md" target="_blank" rel="nofollow noopener">Oscar - Omni OS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>441: Migration to BSD</title>
  <link>https://www.bsdnow.tv/441</link>
  <guid isPermaLink="false">9b36f236-73a8-4846-af4e-cd774790c11b</guid>
  <pubDate>Thu, 10 Feb 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9b36f236-73a8-4846-af4e-cd774790c11b.mp3" length="31052040" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Migrating our servers from Linux to FreeBSD, Cluster provisioning with Nomad and Pot on FreeBSD, LibBSDDialog, FreeBSD 13.0 Base Jails with ZFS and VNET, and more.</itunes:subtitle>
  <itunes:duration>50:13</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>&lt;p&gt;Migrating our servers from Linux to FreeBSD, Cluster provisioning with Nomad and Pot on FreeBSD, LibBSDDialog, FreeBSD 13.0 Base Jails with ZFS and VNET, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://it-notes.dragas.net/2022/01/24/why-were-migrating-many-of-our-servers-from-linux-to-freebsd/" target="_blank" rel="nofollow noopener"&gt;Why we're migrating (many of) our servers from Linux to FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/cluster-provisioning-with-nomad-and-pot-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Cluster provisioning with Nomad and Pot on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://alfonsosiciliano.gitlab.io/posts/2022-01-16-libbsddialog.html" target="_blank" rel="nofollow noopener"&gt;LibBSDDialog&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://randomnixfix.wordpress.com/2022/01/15/freebsd-13-0-base-jails-with-zfs-and-vnet/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13.0 Base Jails with ZFS and VNET&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.exoticsilicon.com/crystal/pinephone_openbsd" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the Pinephone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gist.github.com/koobs/e01cf8869484a095605404cd0051eb11" target="_blank" rel="nofollow noopener"&gt;FreeBSD SSH Hardening&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://changelog.com/podcast/475" target="_blank" rel="nofollow noopener"&gt;Making the ZFS file system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ukTOfcu1e0w" target="_blank" rel="nofollow noopener"&gt;A Linux Users Experience Switching To OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/ports?view=revision&amp;amp;revision=550026" target="_blank" rel="nofollow noopener"&gt;Add Nix, a purely functional package manager to FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jimsalterjrs/ioztat" target="_blank" rel="nofollow noopener"&gt;ioztat is a storage load analysis tool for OpenZFS&lt;/a&gt;
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/441/feedback/Scott%20-%20esxi.md" target="_blank" rel="nofollow noopener"&gt;Scott - esxi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/441/feedback/The%20Holm%20-%20noob%20question.md" target="_blank" rel="nofollow noopener"&gt;The Holm - noob question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, migration, server migration, os migration, cluster, cluster provisioning, nomad, pot, libbsddialog, base jails, vnet</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Migrating our servers from Linux to FreeBSD, Cluster provisioning with Nomad and Pot on FreeBSD, LibBSDDialog, FreeBSD 13.0 Base Jails with ZFS and VNET, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://it-notes.dragas.net/2022/01/24/why-were-migrating-many-of-our-servers-from-linux-to-freebsd/" target="_blank" rel="nofollow noopener">Why we're migrating (many of) our servers from Linux to FreeBSD</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/cluster-provisioning-with-nomad-and-pot-on-freebsd/" target="_blank" rel="nofollow noopener">Cluster provisioning with Nomad and Pot on FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://alfonsosiciliano.gitlab.io/posts/2022-01-16-libbsddialog.html" target="_blank" rel="nofollow noopener">LibBSDDialog</a></h3>

<hr>

<h3><a href="https://randomnixfix.wordpress.com/2022/01/15/freebsd-13-0-base-jails-with-zfs-and-vnet/" target="_blank" rel="nofollow noopener">FreeBSD 13.0 Base Jails with ZFS and VNET</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.exoticsilicon.com/crystal/pinephone_openbsd" target="_blank" rel="nofollow noopener">OpenBSD on the Pinephone</a></li>
<li><a href="https://gist.github.com/koobs/e01cf8869484a095605404cd0051eb11" target="_blank" rel="nofollow noopener">FreeBSD SSH Hardening</a></li>
<li><a href="https://changelog.com/podcast/475" target="_blank" rel="nofollow noopener">Making the ZFS file system</a></li>
<li><a href="https://www.youtube.com/watch?v=ukTOfcu1e0w" target="_blank" rel="nofollow noopener">A Linux Users Experience Switching To OpenBSD</a></li>
<li><a href="https://svnweb.freebsd.org/ports?view=revision&amp;revision=550026" target="_blank" rel="nofollow noopener">Add Nix, a purely functional package manager to FreeBSD</a></li>
<li><a href="https://github.com/jimsalterjrs/ioztat" target="_blank" rel="nofollow noopener">ioztat is a storage load analysis tool for OpenZFS</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/441/feedback/Scott%20-%20esxi.md" target="_blank" rel="nofollow noopener">Scott - esxi</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/441/feedback/The%20Holm%20-%20noob%20question.md" target="_blank" rel="nofollow noopener">The Holm - noob question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Migrating our servers from Linux to FreeBSD, Cluster provisioning with Nomad and Pot on FreeBSD, LibBSDDialog, FreeBSD 13.0 Base Jails with ZFS and VNET, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://it-notes.dragas.net/2022/01/24/why-were-migrating-many-of-our-servers-from-linux-to-freebsd/" target="_blank" rel="nofollow noopener">Why we're migrating (many of) our servers from Linux to FreeBSD</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/cluster-provisioning-with-nomad-and-pot-on-freebsd/" target="_blank" rel="nofollow noopener">Cluster provisioning with Nomad and Pot on FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://alfonsosiciliano.gitlab.io/posts/2022-01-16-libbsddialog.html" target="_blank" rel="nofollow noopener">LibBSDDialog</a></h3>

<hr>

<h3><a href="https://randomnixfix.wordpress.com/2022/01/15/freebsd-13-0-base-jails-with-zfs-and-vnet/" target="_blank" rel="nofollow noopener">FreeBSD 13.0 Base Jails with ZFS and VNET</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.exoticsilicon.com/crystal/pinephone_openbsd" target="_blank" rel="nofollow noopener">OpenBSD on the Pinephone</a></li>
<li><a href="https://gist.github.com/koobs/e01cf8869484a095605404cd0051eb11" target="_blank" rel="nofollow noopener">FreeBSD SSH Hardening</a></li>
<li><a href="https://changelog.com/podcast/475" target="_blank" rel="nofollow noopener">Making the ZFS file system</a></li>
<li><a href="https://www.youtube.com/watch?v=ukTOfcu1e0w" target="_blank" rel="nofollow noopener">A Linux Users Experience Switching To OpenBSD</a></li>
<li><a href="https://svnweb.freebsd.org/ports?view=revision&amp;revision=550026" target="_blank" rel="nofollow noopener">Add Nix, a purely functional package manager to FreeBSD</a></li>
<li><a href="https://github.com/jimsalterjrs/ioztat" target="_blank" rel="nofollow noopener">ioztat is a storage load analysis tool for OpenZFS</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/441/feedback/Scott%20-%20esxi.md" target="_blank" rel="nofollow noopener">Scott - esxi</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/441/feedback/The%20Holm%20-%20noob%20question.md" target="_blank" rel="nofollow noopener">The Holm - noob question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>440: BSD Inside Zone</title>
  <link>https://www.bsdnow.tv/440</link>
  <guid isPermaLink="false">ff88573d-93b8-4efc-bf5c-5acd4ac555af</guid>
  <pubDate>Thu, 03 Feb 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ff88573d-93b8-4efc-bf5c-5acd4ac555af.mp3" length="26393592" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>GhostBSD 22.01 is available, Packet Scheduling with Dummynet and FreeBSD, Inside zone installation, Why the FreeBSD Desktop and my Linux Rant, How to install Gnome on OpenBSD, The important Unix idea of the "virtual filesystem switch", and more.</itunes:subtitle>
  <itunes:duration>44:57</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>&lt;p&gt;GhostBSD 22.01 is available, Packet Scheduling with Dummynet and FreeBSD, Inside zone installation, Why the FreeBSD Desktop and my Linux Rant, How to install Gnome on OpenBSD, The important Unix idea of the "virtual filesystem switch", and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.ghostbsd.org/ghostbsd_22.01.12_iso_is_now_available" target="_blank" rel="nofollow noopener"&gt;GhostBSD 22.01 is available&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/packet-scheduling-with-dummynet-and-freebsd/" target="_blank" rel="nofollow noopener"&gt;Packet Scheduling with Dummynet and FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://ptribble.blogspot.com/2022/01/inside-zone-installation.html" target="_blank" rel="nofollow noopener"&gt;Inside zone installation&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://randomnixfix.wordpress.com/2021/10/23/why-the-freebsd-desktop-and-my-linux-rant/" target="_blank" rel="nofollow noopener"&gt;Why the FreeBSD Desktop and my Linux Rant&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-05-07-openbsd-gnome.html" target="_blank" rel="nofollow noopener"&gt;How to install Gnome on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/VFSImportance" target="_blank" rel="nofollow noopener"&gt;The important Unix idea of the "virtual filesystem switch"&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/440/feedback/Paul%20-%20A%20Plug.md" target="_blank" rel="nofollow noopener"&gt;Paul - A Plug&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/440/feedback/Rollniak%20-%20Bhyve%20Questions.md" target="_blank" rel="nofollow noopener"&gt;Rollniak - Bhyve Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/440/feedback/Russell%20-%20pf%20pointers.md" target="_blank" rel="nofollow noopener"&gt;Russell - pf pointers&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, GhostBSD, packet scheduling, dummynet, inside zone, installation, desktop, linux rant, gnome, virtual filesystem switch, vfs </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>GhostBSD 22.01 is available, Packet Scheduling with Dummynet and FreeBSD, Inside zone installation, Why the FreeBSD Desktop and my Linux Rant, How to install Gnome on OpenBSD, The important Unix idea of the "virtual filesystem switch", 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.ghostbsd.org/ghostbsd_22.01.12_iso_is_now_available" target="_blank" rel="nofollow noopener">GhostBSD 22.01 is available</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/packet-scheduling-with-dummynet-and-freebsd/" target="_blank" rel="nofollow noopener">Packet Scheduling with Dummynet and FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://ptribble.blogspot.com/2022/01/inside-zone-installation.html" target="_blank" rel="nofollow noopener">Inside zone installation</a></h3>

<hr>

<h3><a href="https://randomnixfix.wordpress.com/2021/10/23/why-the-freebsd-desktop-and-my-linux-rant/" target="_blank" rel="nofollow noopener">Why the FreeBSD Desktop and my Linux Rant</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-05-07-openbsd-gnome.html" target="_blank" rel="nofollow noopener">How to install Gnome on OpenBSD</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/VFSImportance" target="_blank" rel="nofollow noopener">The important Unix idea of the "virtual filesystem switch"</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/440/feedback/Paul%20-%20A%20Plug.md" target="_blank" rel="nofollow noopener">Paul - A Plug</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/440/feedback/Rollniak%20-%20Bhyve%20Questions.md" target="_blank" rel="nofollow noopener">Rollniak - Bhyve Questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/440/feedback/Russell%20-%20pf%20pointers.md" target="_blank" rel="nofollow noopener">Russell - pf pointers</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>GhostBSD 22.01 is available, Packet Scheduling with Dummynet and FreeBSD, Inside zone installation, Why the FreeBSD Desktop and my Linux Rant, How to install Gnome on OpenBSD, The important Unix idea of the "virtual filesystem switch", 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.ghostbsd.org/ghostbsd_22.01.12_iso_is_now_available" target="_blank" rel="nofollow noopener">GhostBSD 22.01 is available</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/packet-scheduling-with-dummynet-and-freebsd/" target="_blank" rel="nofollow noopener">Packet Scheduling with Dummynet and FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://ptribble.blogspot.com/2022/01/inside-zone-installation.html" target="_blank" rel="nofollow noopener">Inside zone installation</a></h3>

<hr>

<h3><a href="https://randomnixfix.wordpress.com/2021/10/23/why-the-freebsd-desktop-and-my-linux-rant/" target="_blank" rel="nofollow noopener">Why the FreeBSD Desktop and my Linux Rant</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-05-07-openbsd-gnome.html" target="_blank" rel="nofollow noopener">How to install Gnome on OpenBSD</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/VFSImportance" target="_blank" rel="nofollow noopener">The important Unix idea of the "virtual filesystem switch"</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/440/feedback/Paul%20-%20A%20Plug.md" target="_blank" rel="nofollow noopener">Paul - A Plug</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/440/feedback/Rollniak%20-%20Bhyve%20Questions.md" target="_blank" rel="nofollow noopener">Rollniak - Bhyve Questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/440/feedback/Russell%20-%20pf%20pointers.md" target="_blank" rel="nofollow noopener">Russell - pf pointers</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>439: Browser Tab Unix</title>
  <link>https://www.bsdnow.tv/439</link>
  <guid isPermaLink="false">56286ede-3bd4-47f7-8002-c09a26263c44</guid>
  <pubDate>Thu, 27 Jan 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/56286ede-3bd4-47f7-8002-c09a26263c44.mp3" length="25965648" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>ACM: It takes a community, Don’t use discord for OSS projects, Unix in a browser tab, OpenIndiana Hipster 2021.10 available, Omni OS CE v11 is out, and more.</itunes:subtitle>
  <itunes:duration>39:28</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>&lt;p&gt;ACM: It takes a community, Don’t use discord for OSS projects, Unix in a browser tab, OpenIndiana Hipster 2021.10 available, Omni OS CE v11 is out, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://queue.acm.org/detail.cfm?id=3501361" target="_blank" rel="nofollow noopener"&gt;It takes a community - ACM&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;PSA: Dont use Discord for Open Source Projects&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://sneak.berlin/20200220/discord-is-not-an-acceptable-choice-for-free-software-projects/" target="_blank" rel="nofollow noopener"&gt;Jeffrey Paul - Discord Is Not An Acceptable Choice For Free Software Projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://drewdevault.com/2021/12/28/Dont-use-Discord-for-FOSS.html" target="_blank" rel="nofollow noopener"&gt;Drew deVault - Dont use Discord for FOSS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://browsix.org/" target="_blank" rel="nofollow noopener"&gt;Unix in your Browser Tab&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.openindiana.org/2021/12/05/openindiana-hipster-2021-10-is-here/" target="_blank" rel="nofollow noopener"&gt;OpenIndiana Hipster 2021.10 is here&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/omniosorg/omnios-build/blob/r151040/doc/ReleaseNotes.md" target="_blank" rel="nofollow noopener"&gt;Omni OS CE v11 r151040 is out&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twit.tv/shows/floss-weekly/episodes/662?autostart=false" target="_blank" rel="nofollow noopener"&gt;Deb from the FreeBSD Foundation on FLOSS Weekly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ddowse/jailfox" target="_blank" rel="nofollow noopener"&gt;Jailfox - BastilleBSD template to bootstrap Firefox.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freebsdfoundation.org/past-issues/storage-2/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal Nov/Dec 2021&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=WUUsAK21f20" target="_blank" rel="nofollow noopener"&gt;First call through the 3ESS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/krzysztofengineer/openbsd" target="_blank" rel="nofollow noopener"&gt;OpenBSD for minimalists&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/439/feedback/Dale%20-%20two%20zfs%20questions.md" target="_blank" rel="nofollow noopener"&gt;Dale - two zfs questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/439/feedback/Johnny%20-%20home%20question.md" target="_blank" rel="nofollow noopener"&gt;Johnny - home question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/439/feedback/Mike%20-%20GhostBSD%20in%20a%20VM.md" target="_blank" rel="nofollow noopener"&gt;Mike - GhostBSD in a VM&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, ACM, community, discord, browser tab, openindiana hipster, omni OS CE</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>ACM: It takes a community, Don’t use discord for OSS projects, Unix in a browser tab, OpenIndiana Hipster 2021.10 available, Omni OS CE v11 is out, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://queue.acm.org/detail.cfm?id=3501361" target="_blank" rel="nofollow noopener">It takes a community - ACM</a></h3>

<hr>

<h3>PSA: Dont use Discord for Open Source Projects</h3>

<ul>
<li><a href="https://sneak.berlin/20200220/discord-is-not-an-acceptable-choice-for-free-software-projects/" target="_blank" rel="nofollow noopener">Jeffrey Paul - Discord Is Not An Acceptable Choice For Free Software Projects</a></li>
<li><a href="https://drewdevault.com/2021/12/28/Dont-use-Discord-for-FOSS.html" target="_blank" rel="nofollow noopener">Drew deVault - Dont use Discord for FOSS</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<hr>

<h3><a href="https://browsix.org/" target="_blank" rel="nofollow noopener">Unix in your Browser Tab</a></h3>

<hr>

<h3><a href="https://www.openindiana.org/2021/12/05/openindiana-hipster-2021-10-is-here/" target="_blank" rel="nofollow noopener">OpenIndiana Hipster 2021.10 is here</a></h3>

<hr>

<h3><a href="https://github.com/omniosorg/omnios-build/blob/r151040/doc/ReleaseNotes.md" target="_blank" rel="nofollow noopener">Omni OS CE v11 r151040 is out</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twit.tv/shows/floss-weekly/episodes/662?autostart=false" target="_blank" rel="nofollow noopener">Deb from the FreeBSD Foundation on FLOSS Weekly</a></li>
<li><a href="https://github.com/ddowse/jailfox" target="_blank" rel="nofollow noopener">Jailfox - BastilleBSD template to bootstrap Firefox.</a></li>
<li><a href="https://freebsdfoundation.org/past-issues/storage-2/" target="_blank" rel="nofollow noopener">FreeBSD Journal Nov/Dec 2021</a></li>
<li><a href="https://www.youtube.com/watch?v=WUUsAK21f20" target="_blank" rel="nofollow noopener">First call through the 3ESS</a></li>
<li><a href="https://github.com/krzysztofengineer/openbsd" target="_blank" rel="nofollow noopener">OpenBSD for minimalists</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/439/feedback/Dale%20-%20two%20zfs%20questions.md" target="_blank" rel="nofollow noopener">Dale - two zfs questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/439/feedback/Johnny%20-%20home%20question.md" target="_blank" rel="nofollow noopener">Johnny - home question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/439/feedback/Mike%20-%20GhostBSD%20in%20a%20VM.md" target="_blank" rel="nofollow noopener">Mike - GhostBSD in a VM</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>ACM: It takes a community, Don’t use discord for OSS projects, Unix in a browser tab, OpenIndiana Hipster 2021.10 available, Omni OS CE v11 is out, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://queue.acm.org/detail.cfm?id=3501361" target="_blank" rel="nofollow noopener">It takes a community - ACM</a></h3>

<hr>

<h3>PSA: Dont use Discord for Open Source Projects</h3>

<ul>
<li><a href="https://sneak.berlin/20200220/discord-is-not-an-acceptable-choice-for-free-software-projects/" target="_blank" rel="nofollow noopener">Jeffrey Paul - Discord Is Not An Acceptable Choice For Free Software Projects</a></li>
<li><a href="https://drewdevault.com/2021/12/28/Dont-use-Discord-for-FOSS.html" target="_blank" rel="nofollow noopener">Drew deVault - Dont use Discord for FOSS</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<hr>

<h3><a href="https://browsix.org/" target="_blank" rel="nofollow noopener">Unix in your Browser Tab</a></h3>

<hr>

<h3><a href="https://www.openindiana.org/2021/12/05/openindiana-hipster-2021-10-is-here/" target="_blank" rel="nofollow noopener">OpenIndiana Hipster 2021.10 is here</a></h3>

<hr>

<h3><a href="https://github.com/omniosorg/omnios-build/blob/r151040/doc/ReleaseNotes.md" target="_blank" rel="nofollow noopener">Omni OS CE v11 r151040 is out</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twit.tv/shows/floss-weekly/episodes/662?autostart=false" target="_blank" rel="nofollow noopener">Deb from the FreeBSD Foundation on FLOSS Weekly</a></li>
<li><a href="https://github.com/ddowse/jailfox" target="_blank" rel="nofollow noopener">Jailfox - BastilleBSD template to bootstrap Firefox.</a></li>
<li><a href="https://freebsdfoundation.org/past-issues/storage-2/" target="_blank" rel="nofollow noopener">FreeBSD Journal Nov/Dec 2021</a></li>
<li><a href="https://www.youtube.com/watch?v=WUUsAK21f20" target="_blank" rel="nofollow noopener">First call through the 3ESS</a></li>
<li><a href="https://github.com/krzysztofengineer/openbsd" target="_blank" rel="nofollow noopener">OpenBSD for minimalists</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/439/feedback/Dale%20-%20two%20zfs%20questions.md" target="_blank" rel="nofollow noopener">Dale - two zfs questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/439/feedback/Johnny%20-%20home%20question.md" target="_blank" rel="nofollow noopener">Johnny - home question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/439/feedback/Mike%20-%20GhostBSD%20in%20a%20VM.md" target="_blank" rel="nofollow noopener">Mike - GhostBSD in a VM</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>438: Toolchain Adventures</title>
  <link>https://www.bsdnow.tv/438</link>
  <guid isPermaLink="false">7df88bb7-d7e9-4dbf-945e-7c15b4d4d963</guid>
  <pubDate>Thu, 20 Jan 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/7df88bb7-d7e9-4dbf-945e-7c15b4d4d963.mp3" length="29848512" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Foundation reviews 2021 activities, DragonflyBSD 6.2.1 is here, Lumina Desktop 1.6.2 available, toolchain adventures, The OpenBSD BASED Challenge Day 7, Bastille Template: AdGuard Home, setting up ZSH on FreeBSD and more.</itunes:subtitle>
  <itunes:duration>46:35</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>&lt;p&gt;FreeBSD Foundation reviews 2021 activities, DragonflyBSD 6.2.1 is here, Lumina Desktop 1.6.2 available, toolchain adventures, The OpenBSD BASED Challenge Day 7, Bastille Template: AdGuard Home, setting up ZSH on FreeBSD and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;FreeBSD Foundation 2021 in Review&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://freebsdfoundation.org/blog/2021-in-review-software-development/" target="_blank" rel="nofollow noopener"&gt;Software Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freebsdfoundation.org/blog/2021-year-end-fundraising-report/" target="_blank" rel="nofollow noopener"&gt;Year End Fundraising Report&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freebsdfoundation.org/blog/2021-in-review-infrastructure-support/" target="_blank" rel="nofollow noopener"&gt;Infrastructure Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freebsdfoundation.org/blog/2021-in-review-advocacy/" target="_blank" rel="nofollow noopener"&gt;Advocacy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freebsdfoundation.org/blog/freebsd-foundation-2022-call-for-proposals/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 2022 CfP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflybsd.org/release62/" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD 6.2.1 is out&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lumina-desktop.org/post/2021-12-25/" target="_blank" rel="nofollow noopener"&gt;Lumina Desktop 1.6.2 is out&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/toolchains-adventures-q4-2021/" target="_blank" rel="nofollow noopener"&gt;Toolchain Adventures&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://write.as/adventures-in-bsd/" target="_blank" rel="nofollow noopener"&gt;The OpenBSD BASED Challenge Day 7&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bastillebsd.org/blog/2022/01/03/bastille-template-examples-adguardhome/" target="_blank" rel="nofollow noopener"&gt;Bastille Template: AdGuard Home&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.danschmid.me/article/setting-up-zsh-on-freebsd" target="_blank" rel="nofollow noopener"&gt;Setting up ZSH on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• Producers Note:  We did get some Christmas AMA questions in after we recorded that episode (since we recorded it early) but don't worry, I’ve made a note of them and we’ll save them for our next AMA episode. 
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/438/feedback/Patrick%20-%20Volume.md" target="_blank" rel="nofollow noopener"&gt;Patrick - Volume&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/438/feedback/Reptilicus%20Rex%20-%20FreeBSD%20Docs%20Team.md" target="_blank" rel="nofollow noopener"&gt;Reptilicus Rex - FreeBSD Docs Team&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/438/feedback/michael%20-%20question.md" target="_blank" rel="nofollow noopener"&gt;michael - question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, foundation, fundraising, end of year, review, lumina desktop, toolchain, adventure, BASED challenge, bastille, template, adguard home, zsh</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Foundation reviews 2021 activities, DragonflyBSD 6.2.1 is here, Lumina Desktop 1.6.2 available, toolchain adventures, The OpenBSD BASED Challenge Day 7, Bastille Template: AdGuard Home, setting up ZSH on FreeBSD 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3>FreeBSD Foundation 2021 in Review</h3>

<ul>
<li><a href="https://freebsdfoundation.org/blog/2021-in-review-software-development/" target="_blank" rel="nofollow noopener">Software Development</a></li>
<li><a href="https://freebsdfoundation.org/blog/2021-year-end-fundraising-report/" target="_blank" rel="nofollow noopener">Year End Fundraising Report</a></li>
<li><a href="https://freebsdfoundation.org/blog/2021-in-review-infrastructure-support/" target="_blank" rel="nofollow noopener">Infrastructure Support</a></li>
<li><a href="https://freebsdfoundation.org/blog/2021-in-review-advocacy/" target="_blank" rel="nofollow noopener">Advocacy</a></li>
<li><a href="https://freebsdfoundation.org/blog/freebsd-foundation-2022-call-for-proposals/" target="_blank" rel="nofollow noopener">FreeBSD 2022 CfP</a></li>
</ul>

<hr>

<h3><a href="https://www.dragonflybsd.org/release62/" target="_blank" rel="nofollow noopener">DragonFlyBSD 6.2.1 is out</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lumina-desktop.org/post/2021-12-25/" target="_blank" rel="nofollow noopener">Lumina Desktop 1.6.2 is out</a></h3>

<hr>

<h3><a href="https://www.cambus.net/toolchains-adventures-q4-2021/" target="_blank" rel="nofollow noopener">Toolchain Adventures</a></h3>

<hr>

<h3><a href="https://write.as/adventures-in-bsd/" target="_blank" rel="nofollow noopener">The OpenBSD BASED Challenge Day 7</a></h3>

<hr>

<h3><a href="https://bastillebsd.org/blog/2022/01/03/bastille-template-examples-adguardhome/" target="_blank" rel="nofollow noopener">Bastille Template: AdGuard Home</a></h3>

<hr>

<h3><a href="https://www.danschmid.me/article/setting-up-zsh-on-freebsd" target="_blank" rel="nofollow noopener">Setting up ZSH on FreeBSD</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<pre><code>• Producers Note:  We did get some Christmas AMA questions in after we recorded that episode (since we recorded it early) but don't worry, I’ve made a note of them and we’ll save them for our next AMA episode. 
</code></pre>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/438/feedback/Patrick%20-%20Volume.md" target="_blank" rel="nofollow noopener">Patrick - Volume</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/438/feedback/Reptilicus%20Rex%20-%20FreeBSD%20Docs%20Team.md" target="_blank" rel="nofollow noopener">Reptilicus Rex - FreeBSD Docs Team</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/438/feedback/michael%20-%20question.md" target="_blank" rel="nofollow noopener">michael - question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Foundation reviews 2021 activities, DragonflyBSD 6.2.1 is here, Lumina Desktop 1.6.2 available, toolchain adventures, The OpenBSD BASED Challenge Day 7, Bastille Template: AdGuard Home, setting up ZSH on FreeBSD 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3>FreeBSD Foundation 2021 in Review</h3>

<ul>
<li><a href="https://freebsdfoundation.org/blog/2021-in-review-software-development/" target="_blank" rel="nofollow noopener">Software Development</a></li>
<li><a href="https://freebsdfoundation.org/blog/2021-year-end-fundraising-report/" target="_blank" rel="nofollow noopener">Year End Fundraising Report</a></li>
<li><a href="https://freebsdfoundation.org/blog/2021-in-review-infrastructure-support/" target="_blank" rel="nofollow noopener">Infrastructure Support</a></li>
<li><a href="https://freebsdfoundation.org/blog/2021-in-review-advocacy/" target="_blank" rel="nofollow noopener">Advocacy</a></li>
<li><a href="https://freebsdfoundation.org/blog/freebsd-foundation-2022-call-for-proposals/" target="_blank" rel="nofollow noopener">FreeBSD 2022 CfP</a></li>
</ul>

<hr>

<h3><a href="https://www.dragonflybsd.org/release62/" target="_blank" rel="nofollow noopener">DragonFlyBSD 6.2.1 is out</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lumina-desktop.org/post/2021-12-25/" target="_blank" rel="nofollow noopener">Lumina Desktop 1.6.2 is out</a></h3>

<hr>

<h3><a href="https://www.cambus.net/toolchains-adventures-q4-2021/" target="_blank" rel="nofollow noopener">Toolchain Adventures</a></h3>

<hr>

<h3><a href="https://write.as/adventures-in-bsd/" target="_blank" rel="nofollow noopener">The OpenBSD BASED Challenge Day 7</a></h3>

<hr>

<h3><a href="https://bastillebsd.org/blog/2022/01/03/bastille-template-examples-adguardhome/" target="_blank" rel="nofollow noopener">Bastille Template: AdGuard Home</a></h3>

<hr>

<h3><a href="https://www.danschmid.me/article/setting-up-zsh-on-freebsd" target="_blank" rel="nofollow noopener">Setting up ZSH on FreeBSD</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<pre><code>• Producers Note:  We did get some Christmas AMA questions in after we recorded that episode (since we recorded it early) but don't worry, I’ve made a note of them and we’ll save them for our next AMA episode. 
</code></pre>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/438/feedback/Patrick%20-%20Volume.md" target="_blank" rel="nofollow noopener">Patrick - Volume</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/438/feedback/Reptilicus%20Rex%20-%20FreeBSD%20Docs%20Team.md" target="_blank" rel="nofollow noopener">Reptilicus Rex - FreeBSD Docs Team</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/438/feedback/michael%20-%20question.md" target="_blank" rel="nofollow noopener">michael - question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </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>&lt;p&gt;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 &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/using-freebsds-pkg-audit-to-investigate-known-security-issues/" target="_blank" rel="nofollow noopener"&gt;Using FreeBSD’s pkg-audit&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.securitymouse.com/2014/06/raising-lazarus-20-year-old-bug-that.html" target="_blank" rel="nofollow noopener"&gt;The 20 year old bug that went to Mars&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl/freebsd/2021/12/11/slimbook.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD on Slimbook -- 14 months of updates&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.moritz.systems/blog/lldb-freebsd-kernel-core-dump-support/" target="_blank" rel="nofollow noopener"&gt;LLDB FreeBSD kernel core dump support&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-12-01-openbsd-steam.html" target="_blank" rel="nofollow noopener"&gt;Steam on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [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/)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/using-freebsds-pkg-audit-to-investigate-known-security-issues/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">The 20 year old bug that went to Mars</a></h3>

<blockquote>
<p>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.</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'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" target="_blank" rel="nofollow noopener">FreeBSD on Slimbook -- 14 months of updates</a></h3>

<hr>

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

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-12-01-openbsd-steam.html" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/using-freebsds-pkg-audit-to-investigate-known-security-issues/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">The 20 year old bug that went to Mars</a></h3>

<blockquote>
<p>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.</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'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" target="_blank" rel="nofollow noopener">FreeBSD on Slimbook -- 14 months of updates</a></h3>

<hr>

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

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-12-01-openbsd-steam.html" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>436: Unix Standards Battle</title>
  <link>https://www.bsdnow.tv/436</link>
  <guid isPermaLink="false">5603c389-e7e5-4b55-ae6e-9ba425abfb2b</guid>
  <pubDate>Thu, 06 Jan 2022 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5603c389-e7e5-4b55-ae6e-9ba425abfb2b.mp3" length="27911640" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>UNIX Wars, What every IT person needs to know about OpenBSD Part 3, FreeBSD 12.3 is here, TrueNAS 13 begins, what Unix pre-boot envs looked liked, run Unix on Microcontrollers with PDP-11 emulators and more.</itunes:subtitle>
  <itunes:duration>43:32</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>&lt;p&gt;UNIX Wars, What every IT person needs to know about OpenBSD Part 3, FreeBSD 12.3 is here, TrueNAS 13 begins, what Unix pre-boot envs looked liked, run Unix on Microcontrollers with PDP-11 emulators and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/unix-wars-the-battle-for-standards/" target="_blank" rel="nofollow noopener"&gt;UNIX Wars – The Battle for Standards&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.apnic.net/2021/11/11/openbsd-part-3-that-packet-filter/" target="_blank" rel="nofollow noopener"&gt;What every IT person needs to know about OpenBSD Part 3: That packet filter&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/releases/12.3R/relnotes/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.3-RELEASE Release Notes&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/truenas-12-0-u7-is-released-truenas-13-0-begins/" target="_blank" rel="nofollow noopener"&gt;TrueNAS 12.0-U7 is Released &amp;amp; TrueNAS 13.0 Begins&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/UnixPreBootEnvironments" target="_blank" rel="nofollow noopener"&gt;A bit on what Unix system pre-boot environments used to look like&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hackaday.com/2021/11/19/run-unix-on-microcontrollers-with-pdp-11-emulator/" target="_blank" rel="nofollow noopener"&gt;RUN UNIX ON MICROCONTROLLERS WITH PDP-11 EMULATOR&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [BSDCan 2022 is a go.](https://www.bsdcan.org/2022/)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, wars, standards, battle, pf, packet filter, FreeBSD 12.3, truenas 13, pre-boot environment, microcontroller, pdp-11, emulator</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>UNIX Wars, What every IT person needs to know about OpenBSD Part 3, FreeBSD 12.3 is here, TrueNAS 13 begins, what Unix pre-boot envs looked liked, run Unix on Microcontrollers with PDP-11 emulators 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/unix-wars-the-battle-for-standards/" target="_blank" rel="nofollow noopener">UNIX Wars – The Battle for Standards</a></h3>

<hr>

<h3><a href="https://blog.apnic.net/2021/11/11/openbsd-part-3-that-packet-filter/" target="_blank" rel="nofollow noopener">What every IT person needs to know about OpenBSD Part 3: That packet filter</a></h3>

<hr>

<h3><a href="https://www.freebsd.org/releases/12.3R/relnotes/" target="_blank" rel="nofollow noopener">FreeBSD 12.3-RELEASE Release Notes</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.ixsystems.com/blog/truenas-12-0-u7-is-released-truenas-13-0-begins/" target="_blank" rel="nofollow noopener">TrueNAS 12.0-U7 is Released &amp; TrueNAS 13.0 Begins</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/UnixPreBootEnvironments" target="_blank" rel="nofollow noopener">A bit on what Unix system pre-boot environments used to look like</a></h3>

<hr>

<h3><a href="https://hackaday.com/2021/11/19/run-unix-on-microcontrollers-with-pdp-11-emulator/" target="_blank" rel="nofollow noopener">RUN UNIX ON MICROCONTROLLERS WITH PDP-11 EMULATOR</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [BSDCan 2022 is a go.](https://www.bsdcan.org/2022/)
</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>UNIX Wars, What every IT person needs to know about OpenBSD Part 3, FreeBSD 12.3 is here, TrueNAS 13 begins, what Unix pre-boot envs looked liked, run Unix on Microcontrollers with PDP-11 emulators 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/unix-wars-the-battle-for-standards/" target="_blank" rel="nofollow noopener">UNIX Wars – The Battle for Standards</a></h3>

<hr>

<h3><a href="https://blog.apnic.net/2021/11/11/openbsd-part-3-that-packet-filter/" target="_blank" rel="nofollow noopener">What every IT person needs to know about OpenBSD Part 3: That packet filter</a></h3>

<hr>

<h3><a href="https://www.freebsd.org/releases/12.3R/relnotes/" target="_blank" rel="nofollow noopener">FreeBSD 12.3-RELEASE Release Notes</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.ixsystems.com/blog/truenas-12-0-u7-is-released-truenas-13-0-begins/" target="_blank" rel="nofollow noopener">TrueNAS 12.0-U7 is Released &amp; TrueNAS 13.0 Begins</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/UnixPreBootEnvironments" target="_blank" rel="nofollow noopener">A bit on what Unix system pre-boot environments used to look like</a></h3>

<hr>

<h3><a href="https://hackaday.com/2021/11/19/run-unix-on-microcontrollers-with-pdp-11-emulator/" target="_blank" rel="nofollow noopener">RUN UNIX ON MICROCONTROLLERS WITH PDP-11 EMULATOR</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [BSDCan 2022 is a go.](https://www.bsdcan.org/2022/)
</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>435: Year End Interview</title>
  <link>https://www.bsdnow.tv/435</link>
  <guid isPermaLink="false">96e38cf0-0975-4dd8-8eb3-c7626c45369a</guid>
  <pubDate>Thu, 30 Dec 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/96e38cf0-0975-4dd8-8eb3-c7626c45369a.mp3" length="20684232" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>In this last episode of 2021, we interview Solene from OpenBSD. She’s blogging about her experiences with OpenBSD on dataswamp.org, the webzine she created, how she got involved and other topics. Enjoy and best wishes for 2022! </itunes:subtitle>
  <itunes:duration>33:51</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>&lt;p&gt;In this last episode of 2021, we interview Solene from OpenBSD. She’s blogging about her experiences with OpenBSD on dataswamp.org, the webzine she created, how she got involved and other topics. Enjoy and best wishes for 2022! &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Interview - Solene Rapenne - &lt;a href="mailto:solene+www@dataswamp.org" target="_blank" rel="nofollow noopener"&gt;solene+www@dataswamp.org&lt;/a&gt; / [@&lt;a href="mailto:solene@bsd.network" target="_blank" rel="nofollow noopener"&gt;solene@bsd.network&lt;/a&gt;](@&lt;a href="mailto:solene@bsd.network" target="_blank" rel="nofollow noopener"&gt;solene@bsd.network&lt;/a&gt; (mastodon))&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-07-26-old-computer-challenge-after.html" target="_blank" rel="nofollow noopener"&gt;https://dataswamp.org/~solene/2021-07-26-old-computer-challenge-after.html&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***
Special Guest: Solène Rapenne.&lt;/li&gt;
&lt;/ul&gt;
</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, shell community, dataswamp, computer challenge, webzine, gaming, games</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>In this last episode of 2021, we interview Solene from OpenBSD. She’s blogging about her experiences with OpenBSD on dataswamp.org, the webzine she created, how she got involved and other topics. Enjoy and best wishes for 2022! </p>

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

<h2>Interview - Solene Rapenne - <a href="mailto:solene+www@dataswamp.org" target="_blank" rel="nofollow noopener">solene+www@dataswamp.org</a> / [@<a href="mailto:solene@bsd.network" target="_blank" rel="nofollow noopener">solene@bsd.network</a>](@<a href="mailto:solene@bsd.network" target="_blank" rel="nofollow noopener">solene@bsd.network</a> (mastodon))</h2>

<p><a href="https://dataswamp.org/%7Esolene/2021-07-26-old-computer-challenge-after.html" target="_blank" rel="nofollow noopener">https://dataswamp.org/~solene/2021-07-26-old-computer-challenge-after.html</a></p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Solène Rapenne.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>In this last episode of 2021, we interview Solene from OpenBSD. She’s blogging about her experiences with OpenBSD on dataswamp.org, the webzine she created, how she got involved and other topics. Enjoy and best wishes for 2022! </p>

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

<h2>Interview - Solene Rapenne - <a href="mailto:solene+www@dataswamp.org" target="_blank" rel="nofollow noopener">solene+www@dataswamp.org</a> / [@<a href="mailto:solene@bsd.network" target="_blank" rel="nofollow noopener">solene@bsd.network</a>](@<a href="mailto:solene@bsd.network" target="_blank" rel="nofollow noopener">solene@bsd.network</a> (mastodon))</h2>

<p><a href="https://dataswamp.org/%7Esolene/2021-07-26-old-computer-challenge-after.html" target="_blank" rel="nofollow noopener">https://dataswamp.org/~solene/2021-07-26-old-computer-challenge-after.html</a></p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Solène Rapenne.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>434: It’s Quiz-mas time</title>
  <link>https://www.bsdnow.tv/434</link>
  <guid isPermaLink="false">40afa2c2-e5e7-4c5c-b505-9c02dcc8953a</guid>
  <pubDate>Thu, 23 Dec 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/40afa2c2-e5e7-4c5c-b505-9c02dcc8953a.mp3" length="35359104" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>In this special xmas episode we let the audience interview us using questions they sent us and we’ll answer now. Tom, Allan, JT, and I are all here, so stay tuned for some interesting answers to your questions.</itunes:subtitle>
  <itunes:duration>58:30</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>&lt;p&gt;In this special xmas episode we let the audience interview us using questions they sent us and we’ll answer now. Tom, Allan, JT, and I are all here, so stay tuned for some interesting answers to your questions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Interview&lt;/h2&gt;

&lt;h3&gt;Allan - &lt;a href="mailto:allanjude@freebsd.org" target="_blank" rel="nofollow noopener"&gt;allanjude@freebsd.org&lt;/a&gt; / &lt;a href="https://twitter.com/allanjude" target="_blank" rel="nofollow noopener"&gt;Twitter : @allanjude&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;Benedict - &lt;a href="mailto:bcr@freebsd.org" target="_blank" rel="nofollow noopener"&gt;bcr@freebsd.org&lt;/a&gt; / &lt;a href="https://twitter.com/bsdbcr" target="_blank" rel="nofollow noopener"&gt;Twitter : @bsdbcr&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;Tom - &lt;a href="mailto:thj@freebsd.org" target="_blank" rel="nofollow noopener"&gt;thj@freebsd.org&lt;/a&gt; / &lt;a href="https://twitter.com/adventureloop" target="_blank" rel="nofollow noopener"&gt;Twitter : @adventureloop&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;JT - &lt;a href="mailto:jt@obs-sec.com" target="_blank" rel="nofollow noopener"&gt;jt@obs-sec.com&lt;/a&gt; / &lt;a href="https://twitter.com/q5sys" target="_blank" rel="nofollow noopener"&gt;Twitter : @q5sys&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This week’s 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.
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, special interview, host interviews, xmas</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>In this special xmas episode we let the audience interview us using questions they sent us and we’ll answer now. Tom, Allan, JT, and I are all here, so stay tuned for some interesting answers to your questions.</p>

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

<h2>Interview</h2>

<h3>Allan - <a href="mailto:allanjude@freebsd.org" target="_blank" rel="nofollow noopener">allanjude@freebsd.org</a> / <a href="https://twitter.com/allanjude" target="_blank" rel="nofollow noopener">Twitter : @allanjude</a></h3>

<h3>Benedict - <a href="mailto:bcr@freebsd.org" target="_blank" rel="nofollow noopener">bcr@freebsd.org</a> / <a href="https://twitter.com/bsdbcr" target="_blank" rel="nofollow noopener">Twitter : @bsdbcr</a></h3>

<h3>Tom - <a href="mailto:thj@freebsd.org" target="_blank" rel="nofollow noopener">thj@freebsd.org</a> / <a href="https://twitter.com/adventureloop" target="_blank" rel="nofollow noopener">Twitter : @adventureloop</a></h3>

<h3>JT - <a href="mailto:jt@obs-sec.com" target="_blank" rel="nofollow noopener">jt@obs-sec.com</a> / <a href="https://twitter.com/q5sys" target="_blank" rel="nofollow noopener">Twitter : @q5sys</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>This week’s 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.
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>In this special xmas episode we let the audience interview us using questions they sent us and we’ll answer now. Tom, Allan, JT, and I are all here, so stay tuned for some interesting answers to your questions.</p>

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

<h2>Interview</h2>

<h3>Allan - <a href="mailto:allanjude@freebsd.org" target="_blank" rel="nofollow noopener">allanjude@freebsd.org</a> / <a href="https://twitter.com/allanjude" target="_blank" rel="nofollow noopener">Twitter : @allanjude</a></h3>

<h3>Benedict - <a href="mailto:bcr@freebsd.org" target="_blank" rel="nofollow noopener">bcr@freebsd.org</a> / <a href="https://twitter.com/bsdbcr" target="_blank" rel="nofollow noopener">Twitter : @bsdbcr</a></h3>

<h3>Tom - <a href="mailto:thj@freebsd.org" target="_blank" rel="nofollow noopener">thj@freebsd.org</a> / <a href="https://twitter.com/adventureloop" target="_blank" rel="nofollow noopener">Twitter : @adventureloop</a></h3>

<h3>JT - <a href="mailto:jt@obs-sec.com" target="_blank" rel="nofollow noopener">jt@obs-sec.com</a> / <a href="https://twitter.com/q5sys" target="_blank" rel="nofollow noopener">Twitter : @q5sys</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>This week’s 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.
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>433:  GhostBSD of Christmas</title>
  <link>https://www.bsdnow.tv/433</link>
  <guid isPermaLink="false">a47d75e2-ee2d-4fea-af03-c7e8cab86efc</guid>
  <pubDate>Thu, 16 Dec 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a47d75e2-ee2d-4fea-af03-c7e8cab86efc.mp3" length="17996472" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>GhostBSD 21.11.24 ISO available, why v7 matters so much, OpenBSD on VIA Eden X2 powered HP t510 Thin Client, OctoPkg GUI Package Manager, chdir(2) support in posix_spawn(3), install doas on FreeBSD, Access Modem's Web Interface with OPNsense, and more</itunes:subtitle>
  <itunes:duration>29:18</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>&lt;p&gt;GhostBSD 21.11.24 ISO available, why v7 matters so much, OpenBSD on VIA Eden X2 powered HP t510 Thin Client, OctoPkg GUI Package Manager, chdir(2) support in posix_spawn(3), install doas on FreeBSD, Access Modem's Web Interface with OPNsense, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.ghostbsd.org/ghostbsd_21.11.24_iso_is_now_available" target="_blank" rel="nofollow noopener"&gt;GhostBSD 21.11.24 ISO is now available&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/V7WhyItMattersSoMuch" target="_blank" rel="nofollow noopener"&gt;Why v7 matters so much&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/openbsd-on-the-via-eden-x2-powered-hp-t510-thin-client/" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the VIA Eden X2 powered HP t510 Thin Client&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://nudesystems.com/octopkg-a-great-gui-package-manager-in-freebsd/" target="_blank" rel="nofollow noopener"&gt;OctoPkg: A Great GUI Package Manager In FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/project_report_add_support_for" target="_blank" rel="nofollow noopener"&gt;Project Report: Add support for chdir(2) support in posix_spawn(3)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://nudesystems.com/how-to-install-doas-in-freebsd-13/" target="_blank" rel="nofollow noopener"&gt;How To Install doas in FreeBSD 13&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://homenetworkguy.com/how-to/access-your-modem-web-interface-with-opnsense/" target="_blank" rel="nofollow noopener"&gt;How to Access Your Modem's Web Interface with OPNsense&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;No feedback for this episode because no one sent any in. :(&lt;br&gt;
I guess we’ve answered every BSD and Unix question that everyone has.&lt;/p&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, ghostbsd, v7, VIA, via eden, eden x2, HP, hewlett packard, t510, thin client, octopkg, gui package manager, gui, chdir, posix_spawn, web interface, modem, opnsense </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>GhostBSD 21.11.24 ISO available, why v7 matters so much, OpenBSD on VIA Eden X2 powered HP t510 Thin Client, OctoPkg GUI Package Manager, chdir(2) support in posix_spawn(3), install doas on FreeBSD, Access Modem's Web Interface with OPNsense, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.ghostbsd.org/ghostbsd_21.11.24_iso_is_now_available" target="_blank" rel="nofollow noopener">GhostBSD 21.11.24 ISO is now available</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/V7WhyItMattersSoMuch" target="_blank" rel="nofollow noopener">Why v7 matters so much</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.cambus.net/openbsd-on-the-via-eden-x2-powered-hp-t510-thin-client/" target="_blank" rel="nofollow noopener">OpenBSD on the VIA Eden X2 powered HP t510 Thin Client</a></h3>

<hr>

<h3><a href="https://nudesystems.com/octopkg-a-great-gui-package-manager-in-freebsd/" target="_blank" rel="nofollow noopener">OctoPkg: A Great GUI Package Manager In FreeBSD</a></h3>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/project_report_add_support_for" target="_blank" rel="nofollow noopener">Project Report: Add support for chdir(2) support in posix_spawn(3)</a></h3>

<hr>

<h3><a href="https://nudesystems.com/how-to-install-doas-in-freebsd-13/" target="_blank" rel="nofollow noopener">How To Install doas in FreeBSD 13</a></h3>

<hr>

<h3><a href="https://homenetworkguy.com/how-to/access-your-modem-web-interface-with-opnsense/" target="_blank" rel="nofollow noopener">How to Access Your Modem's Web Interface with OPNsense</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p>No feedback for this episode because no one sent any in. :(<br>
I guess we’ve answered every BSD and Unix question that everyone has.</p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>GhostBSD 21.11.24 ISO available, why v7 matters so much, OpenBSD on VIA Eden X2 powered HP t510 Thin Client, OctoPkg GUI Package Manager, chdir(2) support in posix_spawn(3), install doas on FreeBSD, Access Modem's Web Interface with OPNsense, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.ghostbsd.org/ghostbsd_21.11.24_iso_is_now_available" target="_blank" rel="nofollow noopener">GhostBSD 21.11.24 ISO is now available</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/V7WhyItMattersSoMuch" target="_blank" rel="nofollow noopener">Why v7 matters so much</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.cambus.net/openbsd-on-the-via-eden-x2-powered-hp-t510-thin-client/" target="_blank" rel="nofollow noopener">OpenBSD on the VIA Eden X2 powered HP t510 Thin Client</a></h3>

<hr>

<h3><a href="https://nudesystems.com/octopkg-a-great-gui-package-manager-in-freebsd/" target="_blank" rel="nofollow noopener">OctoPkg: A Great GUI Package Manager In FreeBSD</a></h3>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/project_report_add_support_for" target="_blank" rel="nofollow noopener">Project Report: Add support for chdir(2) support in posix_spawn(3)</a></h3>

<hr>

<h3><a href="https://nudesystems.com/how-to-install-doas-in-freebsd-13/" target="_blank" rel="nofollow noopener">How To Install doas in FreeBSD 13</a></h3>

<hr>

<h3><a href="https://homenetworkguy.com/how-to/access-your-modem-web-interface-with-opnsense/" target="_blank" rel="nofollow noopener">How to Access Your Modem's Web Interface with OPNsense</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p>No feedback for this episode because no one sent any in. :(<br>
I guess we’ve answered every BSD and Unix question that everyone has.</p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>432: Introducing OpenZFS 3.0 - Yeah</title>
  <link>https://www.bsdnow.tv/432</link>
  <guid isPermaLink="false">754bd5bc-3e7d-4431-8afb-5d1bbed709f8</guid>
  <pubDate>Thu, 09 Dec 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/754bd5bc-3e7d-4431-8afb-5d1bbed709f8.mp3" length="33615312" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>HAMBug hybrid meeting, Demystifying OpenZFS 2.0, OpenZFS 3.0 introduced at Dev Summit, HardenedBSD Home Infrastructure Status, Running Awk in parallel, FreeBSD Announces Wayland 1.19.91, and more</itunes:subtitle>
  <itunes:duration>54:43</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>&lt;p&gt;HAMBug hybrid meeting, Demystifying OpenZFS 2.0, OpenZFS 3.0 introduced at Dev Summit, HardenedBSD Home Infrastructure Status, Running Awk in parallel, FreeBSD Announces Wayland 1.19.91, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://hambug.ca/" target="_blank" rel="nofollow noopener"&gt;HAMBug hybrid meeting&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Hoping to squeeze in an in-person meeting incase the pandemic situation regresses
***
### &lt;a href="https://klarasystems.com/articles/demystifying-openzfs-2-0/" target="_blank" rel="nofollow noopener"&gt;Demystifying OpenZFS 2.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Do you like the articles we post? We are looking for authors (or even just your ideas) to keep providing these high quality articles.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/archives/freebsd-jobs/2021-November/000003.html" target="_blank" rel="nofollow noopener"&gt;Job Posting&lt;/a&gt;
***
### &lt;a href="https://www.ixsystems.com/blog/openzfs-3-0-introduced-at-developer-summit/" target="_blank" rel="nofollow noopener"&gt;OpenZFS 3.0 Introduced at Dev Summit&lt;/a&gt;
***
### &lt;a href="https://github.com/openzfs/zfs/pull/11711" target="_blank" rel="nofollow noopener"&gt;OpenZFS vdev properties feature has been merged&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://git.hardenedbsd.org/shawn.webb/articles/-/blob/master/personal/2021-10-20_home_infra/article.md" target="_blank" rel="nofollow noopener"&gt;October 2021 Home Infrastructure Status&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://ketancmaheshwari.github.io/posts/2020/05/24/SMC18-Data-Challenge-4.html" target="_blank" rel="nofollow noopener"&gt;Running Awk in parallel to process 256M records&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.freedesktop.org/archives/wayland-devel/2021-November/042026.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Announce wayland 1.19.91&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/432/feedback/Brad%20-%20running%20linux%20binaries%20under%20FreeBSD.md" target="_blank" rel="nofollow noopener"&gt;Brad - running linux binaries under FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/432/feedback/Lars%20-%20Finding%20BSD%20Topics%20via%20search%20engine.md" target="_blank" rel="nofollow noopener"&gt;Lars - Finding BSD Topics via search engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/432/feedback/Marc%20-%20Your%20views%20on%20this%20question%20on%20Reddit.md" target="_blank" rel="nofollow noopener"&gt;Marc - Your views on this question on Reddit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, habug, bug, bsd user group, user group, openzfs, openzfs 2.0, openzfs 3.0, developer summit, infrastructure, status update, awk, parallel processing, doas, wayland </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>HAMBug hybrid meeting, Demystifying OpenZFS 2.0, OpenZFS 3.0 introduced at Dev Summit, HardenedBSD Home Infrastructure Status, Running Awk in parallel, FreeBSD Announces Wayland 1.19.91, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="http://hambug.ca/" target="_blank" rel="nofollow noopener">HAMBug hybrid meeting</a></h3>

<ul>
<li>Hoping to squeeze in an in-person meeting incase the pandemic situation regresses
***
### <a href="https://klarasystems.com/articles/demystifying-openzfs-2-0/" target="_blank" rel="nofollow noopener">Demystifying OpenZFS 2.0</a></li>
<li>Do you like the articles we post? We are looking for authors (or even just your ideas) to keep providing these high quality articles.</li>
<li><a href="https://lists.freebsd.org/archives/freebsd-jobs/2021-November/000003.html" target="_blank" rel="nofollow noopener">Job Posting</a>
***
### <a href="https://www.ixsystems.com/blog/openzfs-3-0-introduced-at-developer-summit/" target="_blank" rel="nofollow noopener">OpenZFS 3.0 Introduced at Dev Summit</a>
***
### <a href="https://github.com/openzfs/zfs/pull/11711" target="_blank" rel="nofollow noopener">OpenZFS vdev properties feature has been merged</a>
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://git.hardenedbsd.org/shawn.webb/articles/-/blob/master/personal/2021-10-20_home_infra/article.md" target="_blank" rel="nofollow noopener">October 2021 Home Infrastructure Status</a></h3>

<hr>

<h3><a href="https://ketancmaheshwari.github.io/posts/2020/05/24/SMC18-Data-Challenge-4.html" target="_blank" rel="nofollow noopener">Running Awk in parallel to process 256M records</a></h3>

<hr>

<h3><a href="https://lists.freedesktop.org/archives/wayland-devel/2021-November/042026.html" target="_blank" rel="nofollow noopener">FreeBSD Announce wayland 1.19.91</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/432/feedback/Brad%20-%20running%20linux%20binaries%20under%20FreeBSD.md" target="_blank" rel="nofollow noopener">Brad - running linux binaries under FreeBSD</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/432/feedback/Lars%20-%20Finding%20BSD%20Topics%20via%20search%20engine.md" target="_blank" rel="nofollow noopener">Lars - Finding BSD Topics via search engine</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/432/feedback/Marc%20-%20Your%20views%20on%20this%20question%20on%20Reddit.md" target="_blank" rel="nofollow noopener">Marc - Your views on this question on Reddit</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>HAMBug hybrid meeting, Demystifying OpenZFS 2.0, OpenZFS 3.0 introduced at Dev Summit, HardenedBSD Home Infrastructure Status, Running Awk in parallel, FreeBSD Announces Wayland 1.19.91, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="http://hambug.ca/" target="_blank" rel="nofollow noopener">HAMBug hybrid meeting</a></h3>

<ul>
<li>Hoping to squeeze in an in-person meeting incase the pandemic situation regresses
***
### <a href="https://klarasystems.com/articles/demystifying-openzfs-2-0/" target="_blank" rel="nofollow noopener">Demystifying OpenZFS 2.0</a></li>
<li>Do you like the articles we post? We are looking for authors (or even just your ideas) to keep providing these high quality articles.</li>
<li><a href="https://lists.freebsd.org/archives/freebsd-jobs/2021-November/000003.html" target="_blank" rel="nofollow noopener">Job Posting</a>
***
### <a href="https://www.ixsystems.com/blog/openzfs-3-0-introduced-at-developer-summit/" target="_blank" rel="nofollow noopener">OpenZFS 3.0 Introduced at Dev Summit</a>
***
### <a href="https://github.com/openzfs/zfs/pull/11711" target="_blank" rel="nofollow noopener">OpenZFS vdev properties feature has been merged</a>
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://git.hardenedbsd.org/shawn.webb/articles/-/blob/master/personal/2021-10-20_home_infra/article.md" target="_blank" rel="nofollow noopener">October 2021 Home Infrastructure Status</a></h3>

<hr>

<h3><a href="https://ketancmaheshwari.github.io/posts/2020/05/24/SMC18-Data-Challenge-4.html" target="_blank" rel="nofollow noopener">Running Awk in parallel to process 256M records</a></h3>

<hr>

<h3><a href="https://lists.freedesktop.org/archives/wayland-devel/2021-November/042026.html" target="_blank" rel="nofollow noopener">FreeBSD Announce wayland 1.19.91</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/432/feedback/Brad%20-%20running%20linux%20binaries%20under%20FreeBSD.md" target="_blank" rel="nofollow noopener">Brad - running linux binaries under FreeBSD</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/432/feedback/Lars%20-%20Finding%20BSD%20Topics%20via%20search%20engine.md" target="_blank" rel="nofollow noopener">Lars - Finding BSD Topics via search engine</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/432/feedback/Marc%20-%20Your%20views%20on%20this%20question%20on%20Reddit.md" target="_blank" rel="nofollow noopener">Marc - Your views on this question on Reddit</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>431: FreeBSD EC2 Agents</title>
  <link>https://www.bsdnow.tv/431</link>
  <guid isPermaLink="false">3b2d65ab-f8a0-4e12-b6d1-6a257aef7511</guid>
  <pubDate>Thu, 02 Dec 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3b2d65ab-f8a0-4e12-b6d1-6a257aef7511.mp3" length="26124072" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Why use OpenBSD part 2, FreeBSD on the RISC-V Architecture, OpenBSD Webzine Issue 4, Ending up liking GNOME, OPNsense 21.7.5 released, Jenkins with FreeBSD Agents in EC2, and more</itunes:subtitle>
  <itunes:duration>43:57</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>&lt;p&gt;Why use OpenBSD part 2, FreeBSD on the RISC-V Architecture, OpenBSD Webzine Issue 4, Ending up liking GNOME, OPNsense 21.7.5 released, Jenkins with FreeBSD Agents in EC2, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.apnic.net/2021/11/05/openbsd-part-2-why-use-openbsd/" target="_blank" rel="nofollow noopener"&gt;What every IT person needs to know about OpenBSD Part 2: Why use OpenBSD?&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/looking-towards-the-future-freebsd-on-the-risc-v-architecture/" target="_blank" rel="nofollow noopener"&gt;Looking Towards the Future: FreeBSD on the RISC-V Architecture&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://webzine.puffy.cafe/issue-4.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Webzine Issue 4&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-11-10-how-I-ended-liking-gnome.html" target="_blank" rel="nofollow noopener"&gt;How I ended up liking GNOME&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-21-7-5-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 21.7.5 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://beerdy.io/2021/10/jenkins-with-freebsd-agents-in-ec2/" target="_blank" rel="nofollow noopener"&gt;Jenkins with FreeBSD Agents in ec2&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/431/feedback/Andreas%20-%20ZFS%20and%20Trim.md" target="_blank" rel="nofollow noopener"&gt;Andreas - ZFS and Trim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/431/feedback/Hamza%20-%20swift%20on%20the%20BSDs.md" target="_blank" rel="nofollow noopener"&gt;Hamza - swift on the BSDs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/431/feedback/Kendall%20-%20how%20many%20mirrors.md" target="_blank" rel="nofollow noopener"&gt;Kendall - how many mirror&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, RISC-V architecture, webzine, gnome, opnsense, jenkins, agents, ec2</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Why use OpenBSD part 2, FreeBSD on the RISC-V Architecture, OpenBSD Webzine Issue 4, Ending up liking GNOME, OPNsense 21.7.5 released, Jenkins with FreeBSD Agents in EC2, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://blog.apnic.net/2021/11/05/openbsd-part-2-why-use-openbsd/" target="_blank" rel="nofollow noopener">What every IT person needs to know about OpenBSD Part 2: Why use OpenBSD?</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/looking-towards-the-future-freebsd-on-the-risc-v-architecture/" target="_blank" rel="nofollow noopener">Looking Towards the Future: FreeBSD on the RISC-V Architecture</a></h3>

<hr>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://webzine.puffy.cafe/issue-4.html" target="_blank" rel="nofollow noopener">OpenBSD Webzine Issue 4</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-11-10-how-I-ended-liking-gnome.html" target="_blank" rel="nofollow noopener">How I ended up liking GNOME</a></h3>

<hr>

<h3><a href="https://opnsense.org/opnsense-21-7-5-released/" target="_blank" rel="nofollow noopener">OPNsense 21.7.5 released</a></h3>

<hr>

<h3><a href="https://beerdy.io/2021/10/jenkins-with-freebsd-agents-in-ec2/" target="_blank" rel="nofollow noopener">Jenkins with FreeBSD Agents in ec2</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/431/feedback/Andreas%20-%20ZFS%20and%20Trim.md" target="_blank" rel="nofollow noopener">Andreas - ZFS and Trim</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/431/feedback/Hamza%20-%20swift%20on%20the%20BSDs.md" target="_blank" rel="nofollow noopener">Hamza - swift on the BSDs</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/431/feedback/Kendall%20-%20how%20many%20mirrors.md" target="_blank" rel="nofollow noopener">Kendall - how many mirror</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Why use OpenBSD part 2, FreeBSD on the RISC-V Architecture, OpenBSD Webzine Issue 4, Ending up liking GNOME, OPNsense 21.7.5 released, Jenkins with FreeBSD Agents in EC2, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://blog.apnic.net/2021/11/05/openbsd-part-2-why-use-openbsd/" target="_blank" rel="nofollow noopener">What every IT person needs to know about OpenBSD Part 2: Why use OpenBSD?</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/looking-towards-the-future-freebsd-on-the-risc-v-architecture/" target="_blank" rel="nofollow noopener">Looking Towards the Future: FreeBSD on the RISC-V Architecture</a></h3>

<hr>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://webzine.puffy.cafe/issue-4.html" target="_blank" rel="nofollow noopener">OpenBSD Webzine Issue 4</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-11-10-how-I-ended-liking-gnome.html" target="_blank" rel="nofollow noopener">How I ended up liking GNOME</a></h3>

<hr>

<h3><a href="https://opnsense.org/opnsense-21-7-5-released/" target="_blank" rel="nofollow noopener">OPNsense 21.7.5 released</a></h3>

<hr>

<h3><a href="https://beerdy.io/2021/10/jenkins-with-freebsd-agents-in-ec2/" target="_blank" rel="nofollow noopener">Jenkins with FreeBSD Agents in ec2</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/431/feedback/Andreas%20-%20ZFS%20and%20Trim.md" target="_blank" rel="nofollow noopener">Andreas - ZFS and Trim</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/431/feedback/Hamza%20-%20swift%20on%20the%20BSDs.md" target="_blank" rel="nofollow noopener">Hamza - swift on the BSDs</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/431/feedback/Kendall%20-%20how%20many%20mirrors.md" target="_blank" rel="nofollow noopener">Kendall - how many mirror</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>430: OpenBSD Onwards</title>
  <link>https://www.bsdnow.tv/430</link>
  <guid isPermaLink="false">a211d686-fe47-4d60-9f0d-41d44cb4af80</guid>
  <pubDate>Thu, 25 Nov 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a211d686-fe47-4d60-9f0d-41d44cb4af80.mp3" length="27077856" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Manipulate a ZFS pool from Rescue System, FreeBSD 3rd Quarter Report, Monitoring FreeBSD jails form the host, OpenBSD on RPI4 with Full Disk Encryption, Onwards with OpenBSD, and more</itunes:subtitle>
  <itunes:duration>45:46</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>&lt;p&gt;Manipulate a ZFS pool from Rescue System, FreeBSD 3rd Quarter Report, Monitoring FreeBSD jails form the host, OpenBSD on RPI4 with Full Disk Encryption, Onwards with OpenBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/manipulating-a-pool-from-the-rescue-system/" target="_blank" rel="nofollow noopener"&gt;Going From Recovery Mode to Normal Operations with OpenZFS Manipulating a Pool from the Rescue System&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2021/10/31/monitoring-freebsd-jails-from-the-host/" target="_blank" rel="nofollow noopener"&gt;Monitoring FreeBSD jails from the host&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/status/report-2021-07-2021-09/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Quarterly Status Report 3rd Quarter 2021&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://matecha.net/posts/openbsd-on-pi-4-with-full-disk-encryption/" target="_blank" rel="nofollow noopener"&gt;OpenBSD on Raspberry Pi 4 with Full-Disk Encryption&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20211103080052" target="_blank" rel="nofollow noopener"&gt;Catchup 2021-11-03&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [Manage Kubernetes cluster from FreeBSD with kubectl](https://www.youtube.com/watch?v=iUxJIXKtK7c)
• [amdgpu support in DragonFly](https://www.dragonflydigest.com/2021/11/08/26343.html)
• [Today is the 50th Anniversary of the 1st Edition of Unix...](https://twitter.com/bsdimp/status/1456019089466421248?s=20)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/430/feedback/Efraim%20-%20response%20to%20IPFS%20and%20an%20overlay%20filesystem.md" target="_blank" rel="nofollow noopener"&gt;Efraim - response to IPFS and an overlay filesystem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/430/feedback/Paul%20-%20FS%20Send%20question.md" target="_blank" rel="nofollow noopener"&gt;Paul - FS Send question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/430/feedback/sev%20-%20Freebsd%20%26%20IPA.md" target="_blank" rel="nofollow noopener"&gt;sev - Freebsd &amp;amp; IPA&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, recovery mode, rescue system, pool manipulation, Q3 status report, 2021 Q3 status, monitoring, jails, raspberry pi, full disk encryption, openbsd catchup</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Manipulate a ZFS pool from Rescue System, FreeBSD 3rd Quarter Report, Monitoring FreeBSD jails form the host, OpenBSD on RPI4 with Full Disk Encryption, Onwards with OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/manipulating-a-pool-from-the-rescue-system/" target="_blank" rel="nofollow noopener">Going From Recovery Mode to Normal Operations with OpenZFS Manipulating a Pool from the Rescue System</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2021/10/31/monitoring-freebsd-jails-from-the-host/" target="_blank" rel="nofollow noopener">Monitoring FreeBSD jails from the host</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.freebsd.org/status/report-2021-07-2021-09/" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report 3rd Quarter 2021</a></h3>

<hr>

<h3><a href="http://matecha.net/posts/openbsd-on-pi-4-with-full-disk-encryption/" target="_blank" rel="nofollow noopener">OpenBSD on Raspberry Pi 4 with Full-Disk Encryption</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20211103080052" target="_blank" rel="nofollow noopener">Catchup 2021-11-03</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [Manage Kubernetes cluster from FreeBSD with kubectl](https://www.youtube.com/watch?v=iUxJIXKtK7c)
• [amdgpu support in DragonFly](https://www.dragonflydigest.com/2021/11/08/26343.html)
• [Today is the 50th Anniversary of the 1st Edition of Unix...](https://twitter.com/bsdimp/status/1456019089466421248?s=20)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/430/feedback/Efraim%20-%20response%20to%20IPFS%20and%20an%20overlay%20filesystem.md" target="_blank" rel="nofollow noopener">Efraim - response to IPFS and an overlay filesystem</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/430/feedback/Paul%20-%20FS%20Send%20question.md" target="_blank" rel="nofollow noopener">Paul - FS Send question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/430/feedback/sev%20-%20Freebsd%20%26%20IPA.md" target="_blank" rel="nofollow noopener">sev - Freebsd &amp; IPA</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Manipulate a ZFS pool from Rescue System, FreeBSD 3rd Quarter Report, Monitoring FreeBSD jails form the host, OpenBSD on RPI4 with Full Disk Encryption, Onwards with OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/manipulating-a-pool-from-the-rescue-system/" target="_blank" rel="nofollow noopener">Going From Recovery Mode to Normal Operations with OpenZFS Manipulating a Pool from the Rescue System</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2021/10/31/monitoring-freebsd-jails-from-the-host/" target="_blank" rel="nofollow noopener">Monitoring FreeBSD jails from the host</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.freebsd.org/status/report-2021-07-2021-09/" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report 3rd Quarter 2021</a></h3>

<hr>

<h3><a href="http://matecha.net/posts/openbsd-on-pi-4-with-full-disk-encryption/" target="_blank" rel="nofollow noopener">OpenBSD on Raspberry Pi 4 with Full-Disk Encryption</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20211103080052" target="_blank" rel="nofollow noopener">Catchup 2021-11-03</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [Manage Kubernetes cluster from FreeBSD with kubectl](https://www.youtube.com/watch?v=iUxJIXKtK7c)
• [amdgpu support in DragonFly](https://www.dragonflydigest.com/2021/11/08/26343.html)
• [Today is the 50th Anniversary of the 1st Edition of Unix...](https://twitter.com/bsdimp/status/1456019089466421248?s=20)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/430/feedback/Efraim%20-%20response%20to%20IPFS%20and%20an%20overlay%20filesystem.md" target="_blank" rel="nofollow noopener">Efraim - response to IPFS and an overlay filesystem</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/430/feedback/Paul%20-%20FS%20Send%20question.md" target="_blank" rel="nofollow noopener">Paul - FS Send question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/430/feedback/sev%20-%20Freebsd%20%26%20IPA.md" target="_blank" rel="nofollow noopener">sev - Freebsd &amp; IPA</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>429: Advanced ZFS Snapshots</title>
  <link>https://www.bsdnow.tv/429</link>
  <guid isPermaLink="false">1f4cdc97-493b-4460-a6c0-a334cc96ff50</guid>
  <pubDate>Thu, 18 Nov 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/1f4cdc97-493b-4460-a6c0-a334cc96ff50.mp3" length="22911048" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Foundation October Fundraising Update, Advanced ZFS Snapshots, Full WireGuard setup with OpenBSD, MidnightBSD a Linux Alternative, FreeBSD Audio, Tuning Power Consumption on FreeBSD Laptops, Thoughts on Spelling Fixes, and more.</itunes:subtitle>
  <itunes:duration>39:04</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>&lt;p&gt;FreeBSD Foundation October Fundraising Update, Advanced ZFS Snapshots, Full WireGuard setup with OpenBSD, MidnightBSD a Linux Alternative, FreeBSD Audio, Tuning Power Consumption on FreeBSD Laptops, Thoughts on Spelling Fixes, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/freebsd-foundation-october-2021-fundraising-update/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation October 2021 Fundraising Update&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/advanced-zfs-snapshots/" target="_blank" rel="nofollow noopener"&gt;Advanced ZFS Snapshots&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-10-09-openbsd-wireguard-exit.html" target="_blank" rel="nofollow noopener"&gt;Full WireGuard setup with OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.makeuseof.com/midnightbsd-linux-desktop-alternative/" target="_blank" rel="nofollow noopener"&gt;MidnightBSD a Linux Alternative&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://meka.rs/blog/2021/10/12/freebsd-audio/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Audio&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.neelc.org/posts/freebsd-speed-shift-laptop/" target="_blank" rel="nofollow noopener"&gt;Tuning Power Consumption on FreeBSD Laptops and Intel Speed Shift (6th Gen and Later)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://bsdimp.blogspot.com/2021/10/spelling-fixes-some-advice.html" target="_blank" rel="nofollow noopener"&gt;Some Thoughts on Spelling Fixes&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/429/feedback/Bens%20feedback%20to%20Benedicts%20feedback%20to%20Bens%20question%20about%20zpoolboy.md" target="_blank" rel="nofollow noopener"&gt;Bens feedback to Benedict's feedback to Bens question about zpoolboy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/429/feedback/hcddbz%20-%20Old%20Technical%20Books.md" target="_blank" rel="nofollow noopener"&gt;hcddbz - Old Technical Books&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/429/feedback/jason%20-%20a%20jails%20question.md" target="_blank" rel="nofollow noopener"&gt;jason - a jails question&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, foundation, fundraising, fundraiser, snapshots, zfs snapshots, wireguard setup, midnightbsd, freebsd audio, tuning power, power consumption, laptop power, spelling fixes, typos</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Foundation October Fundraising Update, Advanced ZFS Snapshots, Full WireGuard setup with OpenBSD, MidnightBSD a Linux Alternative, FreeBSD Audio, Tuning Power Consumption on FreeBSD Laptops, Thoughts on Spelling Fixes, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/freebsd-foundation-october-2021-fundraising-update/" target="_blank" rel="nofollow noopener">FreeBSD Foundation October 2021 Fundraising Update</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/advanced-zfs-snapshots/" target="_blank" rel="nofollow noopener">Advanced ZFS Snapshots</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2021-10-09-openbsd-wireguard-exit.html" target="_blank" rel="nofollow noopener">Full WireGuard setup with OpenBSD</a></h3>

<hr>

<h3><a href="https://www.makeuseof.com/midnightbsd-linux-desktop-alternative/" target="_blank" rel="nofollow noopener">MidnightBSD a Linux Alternative</a></h3>

<hr>

<h3><a href="https://meka.rs/blog/2021/10/12/freebsd-audio/" target="_blank" rel="nofollow noopener">FreeBSD Audio</a></h3>

<hr>

<h3><a href="https://www.neelc.org/posts/freebsd-speed-shift-laptop/" target="_blank" rel="nofollow noopener">Tuning Power Consumption on FreeBSD Laptops and Intel Speed Shift (6th Gen and Later)</a></h3>

<hr>

<h3><a href="http://bsdimp.blogspot.com/2021/10/spelling-fixes-some-advice.html" target="_blank" rel="nofollow noopener">Some Thoughts on Spelling Fixes</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/429/feedback/Bens%20feedback%20to%20Benedicts%20feedback%20to%20Bens%20question%20about%20zpoolboy.md" target="_blank" rel="nofollow noopener">Bens feedback to Benedict's feedback to Bens question about zpoolboy</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/429/feedback/hcddbz%20-%20Old%20Technical%20Books.md" target="_blank" rel="nofollow noopener">hcddbz - Old Technical Books</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/429/feedback/jason%20-%20a%20jails%20question.md" target="_blank" rel="nofollow noopener">jason - a jails question</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Foundation October Fundraising Update, Advanced ZFS Snapshots, Full WireGuard setup with OpenBSD, MidnightBSD a Linux Alternative, FreeBSD Audio, Tuning Power Consumption on FreeBSD Laptops, Thoughts on Spelling Fixes, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://freebsdfoundation.org/blog/freebsd-foundation-october-2021-fundraising-update/" target="_blank" rel="nofollow noopener">FreeBSD Foundation October 2021 Fundraising Update</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/advanced-zfs-snapshots/" target="_blank" rel="nofollow noopener">Advanced ZFS Snapshots</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2021-10-09-openbsd-wireguard-exit.html" target="_blank" rel="nofollow noopener">Full WireGuard setup with OpenBSD</a></h3>

<hr>

<h3><a href="https://www.makeuseof.com/midnightbsd-linux-desktop-alternative/" target="_blank" rel="nofollow noopener">MidnightBSD a Linux Alternative</a></h3>

<hr>

<h3><a href="https://meka.rs/blog/2021/10/12/freebsd-audio/" target="_blank" rel="nofollow noopener">FreeBSD Audio</a></h3>

<hr>

<h3><a href="https://www.neelc.org/posts/freebsd-speed-shift-laptop/" target="_blank" rel="nofollow noopener">Tuning Power Consumption on FreeBSD Laptops and Intel Speed Shift (6th Gen and Later)</a></h3>

<hr>

<h3><a href="http://bsdimp.blogspot.com/2021/10/spelling-fixes-some-advice.html" target="_blank" rel="nofollow noopener">Some Thoughts on Spelling Fixes</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/429/feedback/Bens%20feedback%20to%20Benedicts%20feedback%20to%20Bens%20question%20about%20zpoolboy.md" target="_blank" rel="nofollow noopener">Bens feedback to Benedict's feedback to Bens question about zpoolboy</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/429/feedback/hcddbz%20-%20Old%20Technical%20Books.md" target="_blank" rel="nofollow noopener">hcddbz - Old Technical Books</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/429/feedback/jason%20-%20a%20jails%20question.md" target="_blank" rel="nofollow noopener">jason - a jails question</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>428: Cult of BSD</title>
  <link>https://www.bsdnow.tv/428</link>
  <guid isPermaLink="false">1d7be1ab-6939-4fcf-80da-698e14ce721d</guid>
  <pubDate>Thu, 11 Nov 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/1d7be1ab-6939-4fcf-80da-698e14ce721d.mp3" length="30685968" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD Part 1: How it all started, Explaining top(1) on FreeBSD, Measuring power efficiency of a CPU frequency scheduler on OpenBSD, CultBSD, a whole lot of BSD bits, and more. </itunes:subtitle>
  <itunes:duration>54:21</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>&lt;p&gt;OpenBSD Part 1: How it all started, Explaining top(1) on FreeBSD, Measuring power efficiency of a CPU frequency scheduler on OpenBSD, CultBSD, a whole lot of BSD bits, and more. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt; and the &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;BSDNow Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.apnic.net/2021/10/28/openbsd-part-1-how-it-all-started/" target="_blank" rel="nofollow noopener"&gt;What every IT person needs to know about OpenBSD Part 1: How it all started&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/explaining-top1-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Explaining top(1) on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-09-26-openbsd-power-usage.html" target="_blank" rel="nofollow noopener"&gt;Measuring power efficiency of a CPU frequency scheduler on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sourceforge.net/projects/cult-bsd/" target="_blank" rel="nofollow noopener"&gt;CultBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [OpenBSD on the HiFive Unmatched](https://kernelpanic.life/hardware/hifive-unmatched.html)
• [Advanced Documentation Retrieval on FreeBSD](https://adventurist.me/posts/00306)
• [OpenBSD Webzine Issue 3 is out](https://webzine.puffy.cafe/issue-3.html)
• [How to connect and use Bluetooth headphones on FreeBSD](https://forums.freebsd.org/threads/bluetooth-audio-how-to-connect-and-use-bluetooth-headphones-on-freebsd.82671/)
• [How To: Execute Firefox in a jail using iocage and ssh/jailme](https://forums.freebsd.org/threads/how-to-execute-firefox-in-a-jail-using-iocage-and-ssh-jailme.53362/)
• [Understanding AWK](https://earthly.dev/blog/awk-examples/)
• [“Domesticate Your Badgers” Kickstarter Opens](https://mwl.io/archives/13297)
• [Bootstrap an OPNsense development environment in Vagrant](https://github.com/punktDe/vagrant-opnsense)
• [VLANs Bridges and LAG Interface best practice questions](https://www.truenas.com/community/threads/vlans-bridges-and-lag-interface-best-practice-questions.93275/)
• [A Console Desktop](https://pspodcasting.net/dan/blog/2018/console_desktop.html)
• [CharmBUG Casual BSD Meetup and Games (Online)](https://www.meetup.com/CharmBUG/events/281822524)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/428/feedback/Dan%20-%20ZFS%20question.md" target="_blank" rel="nofollow noopener"&gt;Dan - ZFS question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/428/feedback/Lars%20-%20Thanks%20for%20the%20interview.md" target="_blank" rel="nofollow noopener"&gt;Lars - Thanks for the interview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/428/feedback/jesse%20-%20migrating%20data%20from%20old%20laptop.md" target="_blank" rel="nofollow noopener"&gt;jesse - migrating data from old laptop&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, IT, top, measure, power, power efficiency, scheduler, cultbsd</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD Part 1: How it all started, Explaining top(1) on FreeBSD, Measuring power efficiency of a CPU frequency scheduler on OpenBSD, CultBSD, a whole lot of BSD bits, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://blog.apnic.net/2021/10/28/openbsd-part-1-how-it-all-started/" target="_blank" rel="nofollow noopener">What every IT person needs to know about OpenBSD Part 1: How it all started</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/explaining-top1-on-freebsd/" target="_blank" rel="nofollow noopener">Explaining top(1) on FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2021-09-26-openbsd-power-usage.html" target="_blank" rel="nofollow noopener">Measuring power efficiency of a CPU frequency scheduler on OpenBSD</a></h3>

<hr>

<h3><a href="https://sourceforge.net/projects/cult-bsd/" target="_blank" rel="nofollow noopener">CultBSD</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [OpenBSD on the HiFive Unmatched](https://kernelpanic.life/hardware/hifive-unmatched.html)
• [Advanced Documentation Retrieval on FreeBSD](https://adventurist.me/posts/00306)
• [OpenBSD Webzine Issue 3 is out](https://webzine.puffy.cafe/issue-3.html)
• [How to connect and use Bluetooth headphones on FreeBSD](https://forums.freebsd.org/threads/bluetooth-audio-how-to-connect-and-use-bluetooth-headphones-on-freebsd.82671/)
• [How To: Execute Firefox in a jail using iocage and ssh/jailme](https://forums.freebsd.org/threads/how-to-execute-firefox-in-a-jail-using-iocage-and-ssh-jailme.53362/)
• [Understanding AWK](https://earthly.dev/blog/awk-examples/)
• [“Domesticate Your Badgers” Kickstarter Opens](https://mwl.io/archives/13297)
• [Bootstrap an OPNsense development environment in Vagrant](https://github.com/punktDe/vagrant-opnsense)
• [VLANs Bridges and LAG Interface best practice questions](https://www.truenas.com/community/threads/vlans-bridges-and-lag-interface-best-practice-questions.93275/)
• [A Console Desktop](https://pspodcasting.net/dan/blog/2018/console_desktop.html)
• [CharmBUG Casual BSD Meetup and Games (Online)](https://www.meetup.com/CharmBUG/events/281822524)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/428/feedback/Dan%20-%20ZFS%20question.md" target="_blank" rel="nofollow noopener">Dan - ZFS question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/428/feedback/Lars%20-%20Thanks%20for%20the%20interview.md" target="_blank" rel="nofollow noopener">Lars - Thanks for the interview</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/428/feedback/jesse%20-%20migrating%20data%20from%20old%20laptop.md" target="_blank" rel="nofollow noopener">jesse - migrating data from old laptop</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD Part 1: How it all started, Explaining top(1) on FreeBSD, Measuring power efficiency of a CPU frequency scheduler on OpenBSD, CultBSD, a whole lot of BSD bits, 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" target="_blank" rel="nofollow noopener">Tarsnap</a> and the <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">BSDNow Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://blog.apnic.net/2021/10/28/openbsd-part-1-how-it-all-started/" target="_blank" rel="nofollow noopener">What every IT person needs to know about OpenBSD Part 1: How it all started</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/explaining-top1-on-freebsd/" target="_blank" rel="nofollow noopener">Explaining top(1) on FreeBSD</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2021-09-26-openbsd-power-usage.html" target="_blank" rel="nofollow noopener">Measuring power efficiency of a CPU frequency scheduler on OpenBSD</a></h3>

<hr>

<h3><a href="https://sourceforge.net/projects/cult-bsd/" target="_blank" rel="nofollow noopener">CultBSD</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [OpenBSD on the HiFive Unmatched](https://kernelpanic.life/hardware/hifive-unmatched.html)
• [Advanced Documentation Retrieval on FreeBSD](https://adventurist.me/posts/00306)
• [OpenBSD Webzine Issue 3 is out](https://webzine.puffy.cafe/issue-3.html)
• [How to connect and use Bluetooth headphones on FreeBSD](https://forums.freebsd.org/threads/bluetooth-audio-how-to-connect-and-use-bluetooth-headphones-on-freebsd.82671/)
• [How To: Execute Firefox in a jail using iocage and ssh/jailme](https://forums.freebsd.org/threads/how-to-execute-firefox-in-a-jail-using-iocage-and-ssh-jailme.53362/)
• [Understanding AWK](https://earthly.dev/blog/awk-examples/)
• [“Domesticate Your Badgers” Kickstarter Opens](https://mwl.io/archives/13297)
• [Bootstrap an OPNsense development environment in Vagrant](https://github.com/punktDe/vagrant-opnsense)
• [VLANs Bridges and LAG Interface best practice questions](https://www.truenas.com/community/threads/vlans-bridges-and-lag-interface-best-practice-questions.93275/)
• [A Console Desktop](https://pspodcasting.net/dan/blog/2018/console_desktop.html)
• [CharmBUG Casual BSD Meetup and Games (Online)](https://www.meetup.com/CharmBUG/events/281822524)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/428/feedback/Dan%20-%20ZFS%20question.md" target="_blank" rel="nofollow noopener">Dan - ZFS question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/428/feedback/Lars%20-%20Thanks%20for%20the%20interview.md" target="_blank" rel="nofollow noopener">Lars - Thanks for the interview</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/428/feedback/jesse%20-%20migrating%20data%20from%20old%20laptop.md" target="_blank" rel="nofollow noopener">jesse - migrating data from old laptop</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>427: Logging is important</title>
  <link>https://www.bsdnow.tv/427</link>
  <guid isPermaLink="false">e0be5e06-7a29-4e22-9828-6a34074a48e5</guid>
  <pubDate>Thu, 04 Nov 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e0be5e06-7a29-4e22-9828-6a34074a48e5.mp3" length="27413712" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Build Your FreeBSD Developer Workstation, logging is important, how BSD authentication works, pfSense turns 15 years old, OPNsense Business Edition 21.10 released,  getting started with pot, and more</itunes:subtitle>
  <itunes:duration>43:45</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>&lt;p&gt;Build Your FreeBSD Developer Workstation, logging is important, how BSD authentication works, pfSense turns 15 years old, OPNsense Business Edition 21.10 released,  getting started with pot, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;br&gt;
If you like BSDNow, consider supporting us on &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-developer-workstation-setup/" target="_blank" rel="nofollow noopener"&gt;Building Your FreeBSD Developer Workstation Setup&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://peter.czanik.hu/posts/russian_students_logging" target="_blank" rel="nofollow noopener"&gt;What I learned from Russian students: logging is important&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.lambda.cx/posts/how-bsd-authentication-works/" target="_blank" rel="nofollow noopener"&gt;How BSD Authentication works&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.netgate.com/blog/pfsense-software-is-15-today" target="_blank" rel="nofollow noopener"&gt;pfSense Software is 15 Today!&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-business-edition-21-10-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense® Business Edition 21.10 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://pot.pizzamig.dev/Getting/" target="_blank" rel="nofollow noopener"&gt;Getting started with pot&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.
## Feedback/Questions&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/427/feedback/Benjamin%20-%20Question%20for%20Benedict.md" target="_blank" rel="nofollow noopener"&gt;Benjamin - Question for Benedict&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/427/feedback/Nelson%20-%20Episode%20419%20correction.md" target="_blank" rel="nofollow noopener"&gt;Nelson - Episode 419 correction&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/427/feedback/Peter%20-%20state%20machines.md" target="_blank" rel="nofollow noopener"&gt;Peter - state machines&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, build, setup, workstation, developer, logging, log, authentication, pfsense, opnsense, pot</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Build Your FreeBSD Developer Workstation, logging is important, how BSD authentication works, pfSense turns 15 years old, OPNsense Business Edition 21.10 released,  getting started with pot, 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" target="_blank" rel="nofollow noopener">Tarsnap</a><br>
If you like BSDNow, consider supporting us on <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-developer-workstation-setup/" target="_blank" rel="nofollow noopener">Building Your FreeBSD Developer Workstation Setup</a></h3>

<hr>

<h3><a href="https://peter.czanik.hu/posts/russian_students_logging" target="_blank" rel="nofollow noopener">What I learned from Russian students: logging is important</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.lambda.cx/posts/how-bsd-authentication-works/" target="_blank" rel="nofollow noopener">How BSD Authentication works</a></h3>

<hr>

<h3><a href="https://www.netgate.com/blog/pfsense-software-is-15-today" target="_blank" rel="nofollow noopener">pfSense Software is 15 Today!</a></h3>

<hr>

<h3><a href="https://opnsense.org/opnsense-business-edition-21-10-released/" target="_blank" rel="nofollow noopener">OPNsense® Business Edition 21.10 released</a></h3>

<hr>

<h3><a href="https://pot.pizzamig.dev/Getting/" target="_blank" rel="nofollow noopener">Getting started with pot</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.
## Feedback/Questions</li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/427/feedback/Benjamin%20-%20Question%20for%20Benedict.md" target="_blank" rel="nofollow noopener">Benjamin - Question for Benedict</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/427/feedback/Nelson%20-%20Episode%20419%20correction.md" target="_blank" rel="nofollow noopener">Nelson - Episode 419 correction</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/427/feedback/Peter%20-%20state%20machines.md" target="_blank" rel="nofollow noopener">Peter - state machines</a></p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Build Your FreeBSD Developer Workstation, logging is important, how BSD authentication works, pfSense turns 15 years old, OPNsense Business Edition 21.10 released,  getting started with pot, 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" target="_blank" rel="nofollow noopener">Tarsnap</a><br>
If you like BSDNow, consider supporting us on <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">Patreon</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-developer-workstation-setup/" target="_blank" rel="nofollow noopener">Building Your FreeBSD Developer Workstation Setup</a></h3>

<hr>

<h3><a href="https://peter.czanik.hu/posts/russian_students_logging" target="_blank" rel="nofollow noopener">What I learned from Russian students: logging is important</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.lambda.cx/posts/how-bsd-authentication-works/" target="_blank" rel="nofollow noopener">How BSD Authentication works</a></h3>

<hr>

<h3><a href="https://www.netgate.com/blog/pfsense-software-is-15-today" target="_blank" rel="nofollow noopener">pfSense Software is 15 Today!</a></h3>

<hr>

<h3><a href="https://opnsense.org/opnsense-business-edition-21-10-released/" target="_blank" rel="nofollow noopener">OPNsense® Business Edition 21.10 released</a></h3>

<hr>

<h3><a href="https://pot.pizzamig.dev/Getting/" target="_blank" rel="nofollow noopener">Getting started with pot</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.
## Feedback/Questions</li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/427/feedback/Benjamin%20-%20Question%20for%20Benedict.md" target="_blank" rel="nofollow noopener">Benjamin - Question for Benedict</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/427/feedback/Nelson%20-%20Episode%20419%20correction.md" target="_blank" rel="nofollow noopener">Nelson - Episode 419 correction</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/427/feedback/Peter%20-%20state%20machines.md" target="_blank" rel="nofollow noopener">Peter - state machines</a></p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>426: OpenBSD 7.0 Hero</title>
  <link>https://www.bsdnow.tv/426</link>
  <guid isPermaLink="false">8a560bbe-5ee6-4ac7-96a4-2b2ec958f138</guid>
  <pubDate>Thu, 28 Oct 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8a560bbe-5ee6-4ac7-96a4-2b2ec958f138.mp3" length="35371176" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>A Good Time to Use OpenZFS Slog, OpenBSD 7.0 is out, OpenBSD and Wayland, UVM faults yield significant performance boost, and more.</itunes:subtitle>
  <itunes:duration>59:12</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>&lt;p&gt;A Good Time to Use OpenZFS Slog, OpenBSD 7.0 is out, OpenBSD and Wayland, UVM faults yield significant performance boost, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;If you like BSDNow, consider supporting us on &lt;a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Patreon&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/what-makes-a-good-time-to-use-openzfs-slog-and-when-should-you-avoid-it/" target="_blank" rel="nofollow noopener"&gt;What Makes a Good Time to Use OpenZFS Slog and When Should You Avoid It&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.openbsd.org/70.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 7.0 is out&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.sizeofvoid.org/posts/2021-09-26-openbsd-wayland-report/" target="_blank" rel="nofollow noopener"&gt;OpenBSD and Wayland&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20210908084117" target="_blank" rel="nofollow noopener"&gt;Unlocking UVM faults yields significant performance boost&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://pspodcasting.net/dan/blog/2019/plan9_desktop.html" target="_blank" rel="nofollow noopener"&gt;PLAN 9 DESKTOP GUIDE&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.dragonflydigest.com/2021/10/04/26234.html" target="_blank" rel="nofollow noopener"&gt;libvirt and DragonFly&lt;/a&gt;&lt;br&gt;
&lt;a href="https://undeadly.org/cgi?action=article;sid=20210928192806" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2021 videos are available&lt;/a&gt;&lt;br&gt;
&lt;a href="https://twitter.com/lcheylus/status/1446553240707993600?s=28" target="_blank" rel="nofollow noopener"&gt;Issue#1 of OpenBSD Webzine&lt;/a&gt;&lt;br&gt;
&lt;a href="https://twitter.com/ed_maste/status/1446846780663123968?s=28" target="_blank" rel="nofollow noopener"&gt;The Beastie has landed.&lt;/a&gt;&lt;br&gt;
&lt;a href="https://twitter.com/knaversr/status/1443778072113602562" target="_blank" rel="nofollow noopener"&gt;It’s 1998 and you are Sun Microsystems...&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://web.archive.org/web/20211011003830/https://www.landley.net/history/mirror/unix/srcos.html" target="_blank" rel="nofollow noopener"&gt;Reply link that's down&lt;/a&gt;
&lt;a href="https://undeadly.org/cgi?action=article;sid=20210830113413" target="_blank" rel="nofollow noopener"&gt;RSA/SHA1 signature type disabled by default in OpenSSH&lt;/a&gt;
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/426/feedback/Dan%20-%20IPFS.md" target="_blank" rel="nofollow noopener"&gt;Dan - IPFS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/426/feedback/Jack%20-%20IPFS.md" target="_blank" rel="nofollow noopener"&gt;Jack - IPFS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/426/feedback/Johnny%20-%20AdvanceBSD.md" target="_blank" rel="nofollow noopener"&gt;Johnny - AdvanceBSD&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, slog, wayland, UVM, uvm faults, performance, boost</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>A Good Time to Use OpenZFS Slog, OpenBSD 7.0 is out, OpenBSD and Wayland, UVM faults yield significant performance boost, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<p>If you like BSDNow, consider supporting us on <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">Patreon</a></p>

<h3><a href="https://klarasystems.com/articles/what-makes-a-good-time-to-use-openzfs-slog-and-when-should-you-avoid-it/" target="_blank" rel="nofollow noopener">What Makes a Good Time to Use OpenZFS Slog and When Should You Avoid It</a></h3>

<hr>

<h3><a href="https://www.openbsd.org/70.html" target="_blank" rel="nofollow noopener">OpenBSD 7.0 is out</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.sizeofvoid.org/posts/2021-09-26-openbsd-wayland-report/" target="_blank" rel="nofollow noopener">OpenBSD and Wayland</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210908084117" target="_blank" rel="nofollow noopener">Unlocking UVM faults yields significant performance boost</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://pspodcasting.net/dan/blog/2019/plan9_desktop.html" target="_blank" rel="nofollow noopener">PLAN 9 DESKTOP GUIDE</a><br>
<a href="https://www.dragonflydigest.com/2021/10/04/26234.html" target="_blank" rel="nofollow noopener">libvirt and DragonFly</a><br>
<a href="https://undeadly.org/cgi?action=article;sid=20210928192806" target="_blank" rel="nofollow noopener">EuroBSDCon 2021 videos are available</a><br>
<a href="https://twitter.com/lcheylus/status/1446553240707993600?s=28" target="_blank" rel="nofollow noopener">Issue#1 of OpenBSD Webzine</a><br>
<a href="https://twitter.com/ed_maste/status/1446846780663123968?s=28" target="_blank" rel="nofollow noopener">The Beastie has landed.</a><br>
<a href="https://twitter.com/knaversr/status/1443778072113602562" target="_blank" rel="nofollow noopener">It’s 1998 and you are Sun Microsystems...</a></p>

<ul>
<li><a href="https://web.archive.org/web/20211011003830/https://www.landley.net/history/mirror/unix/srcos.html" target="_blank" rel="nofollow noopener">Reply link that's down</a>
<a href="https://undeadly.org/cgi?action=article;sid=20210830113413" target="_blank" rel="nofollow noopener">RSA/SHA1 signature type disabled by default in OpenSSH</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/426/feedback/Dan%20-%20IPFS.md" target="_blank" rel="nofollow noopener">Dan - IPFS</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/426/feedback/Jack%20-%20IPFS.md" target="_blank" rel="nofollow noopener">Jack - IPFS</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/426/feedback/Johnny%20-%20AdvanceBSD.md" target="_blank" rel="nofollow noopener">Johnny - AdvanceBSD</a></p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>A Good Time to Use OpenZFS Slog, OpenBSD 7.0 is out, OpenBSD and Wayland, UVM faults yield significant performance boost, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<p>If you like BSDNow, consider supporting us on <a href="https://www.patreon.com/bsdnow" target="_blank" rel="nofollow noopener">Patreon</a></p>

<h3><a href="https://klarasystems.com/articles/what-makes-a-good-time-to-use-openzfs-slog-and-when-should-you-avoid-it/" target="_blank" rel="nofollow noopener">What Makes a Good Time to Use OpenZFS Slog and When Should You Avoid It</a></h3>

<hr>

<h3><a href="https://www.openbsd.org/70.html" target="_blank" rel="nofollow noopener">OpenBSD 7.0 is out</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.sizeofvoid.org/posts/2021-09-26-openbsd-wayland-report/" target="_blank" rel="nofollow noopener">OpenBSD and Wayland</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210908084117" target="_blank" rel="nofollow noopener">Unlocking UVM faults yields significant performance boost</a></h3>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://pspodcasting.net/dan/blog/2019/plan9_desktop.html" target="_blank" rel="nofollow noopener">PLAN 9 DESKTOP GUIDE</a><br>
<a href="https://www.dragonflydigest.com/2021/10/04/26234.html" target="_blank" rel="nofollow noopener">libvirt and DragonFly</a><br>
<a href="https://undeadly.org/cgi?action=article;sid=20210928192806" target="_blank" rel="nofollow noopener">EuroBSDCon 2021 videos are available</a><br>
<a href="https://twitter.com/lcheylus/status/1446553240707993600?s=28" target="_blank" rel="nofollow noopener">Issue#1 of OpenBSD Webzine</a><br>
<a href="https://twitter.com/ed_maste/status/1446846780663123968?s=28" target="_blank" rel="nofollow noopener">The Beastie has landed.</a><br>
<a href="https://twitter.com/knaversr/status/1443778072113602562" target="_blank" rel="nofollow noopener">It’s 1998 and you are Sun Microsystems...</a></p>

<ul>
<li><a href="https://web.archive.org/web/20211011003830/https://www.landley.net/history/mirror/unix/srcos.html" target="_blank" rel="nofollow noopener">Reply link that's down</a>
<a href="https://undeadly.org/cgi?action=article;sid=20210830113413" target="_blank" rel="nofollow noopener">RSA/SHA1 signature type disabled by default in OpenSSH</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/426/feedback/Dan%20-%20IPFS.md" target="_blank" rel="nofollow noopener">Dan - IPFS</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/426/feedback/Jack%20-%20IPFS.md" target="_blank" rel="nofollow noopener">Jack - IPFS</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/426/feedback/Johnny%20-%20AdvanceBSD.md" target="_blank" rel="nofollow noopener">Johnny - AdvanceBSD</a></p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>425: Releases galore</title>
  <link>https://www.bsdnow.tv/425</link>
  <guid isPermaLink="false">af8c08aa-71ac-4c87-8145-6a672a9d7e5d</guid>
  <pubDate>Thu, 21 Oct 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/af8c08aa-71ac-4c87-8145-6a672a9d7e5d.mp3" length="25604952" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The New Architecture on the Block, OpenBSD on Vortex86DX CPU, lots of new releases, and more.</itunes:subtitle>
  <itunes:duration>41:57</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>&lt;p&gt;The New Architecture on the Block, OpenBSD on Vortex86DX CPU, lots of new releases, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/risc-v-the-new-architecture-on-the-block/" target="_blank" rel="nofollow noopener"&gt;RISC-V: The New Architecture on the Block&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;If you want more RISC-V, check out &lt;a href="https://www.opensourcevoices.org/20" target="_blank" rel="nofollow noopener"&gt;JT's interview with Mark Himelstein the CTO of RISC-V International&lt;/a&gt;
***
### &lt;a href="https://www.cambus.net/openbsd-on-the-vortex86dx-cpu/" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the Vortex86DX CPU&lt;/a&gt;
***
## News Roundup aka there’s been lots of releases recently so lets go through them:
### &lt;a href="http://lumina-desktop.org/post/2021-10-05/" target="_blank" rel="nofollow noopener"&gt;Lumina 1.6.1&lt;/a&gt;
### &lt;a href="https://opnsense.org/opnsense-21-7-3-released/" target="_blank" rel="nofollow noopener"&gt;opnsense 21.7.3&lt;/a&gt;
### &lt;a href="https://bsdsec.net/articles/openbsd-errata-september-27-2021-libressl" target="_blank" rel="nofollow noopener"&gt;LibreSSL patches&lt;/a&gt;
### &lt;a href="https://marc.info/?l=openbsd-announce&amp;amp;m=163239274430211&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 7.2&lt;/a&gt;
### &lt;a href="https://www.midnightbsd.org/notes/" target="_blank" rel="nofollow noopener"&gt;Midnight BSD 2.1.0&lt;/a&gt;
### &lt;a href="http://ghostbsd.org/ghostbsd_21.09.29_iso_now_available" target="_blank" rel="nofollow noopener"&gt;GhostBSD 21.09 ISO&lt;/a&gt;
### &lt;a href="https://github.com/helloSystem/ISO/releases/tag/r0.6.0" target="_blank" rel="nofollow noopener"&gt;helloSystemv0.6&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/425/feedback/Brandon%20-%20FreeBSD%20question.md" target="_blank" rel="nofollow noopener"&gt;Brandon - FreeBSD question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/425/feedback/Bruce%20-%20Fixing%20a%20weird%20Apache%20Bug.md" target="_blank" rel="nofollow noopener"&gt;Bruce - Fixing a weird Apache Bug&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/425/feedback/Dan%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener"&gt;Dan - zfs question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, riscv, vortex86dx, lumina, opensense, libressl, patches, openbgpd, midnightbsd, ghostbsd, hello system</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The New Architecture on the Block, OpenBSD on Vortex86DX CPU, lots of new releases, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/risc-v-the-new-architecture-on-the-block/" target="_blank" rel="nofollow noopener">RISC-V: The New Architecture on the Block</a></h3>

<ul>
<li>If you want more RISC-V, check out <a href="https://www.opensourcevoices.org/20" target="_blank" rel="nofollow noopener">JT's interview with Mark Himelstein the CTO of RISC-V International</a>
***
### <a href="https://www.cambus.net/openbsd-on-the-vortex86dx-cpu/" target="_blank" rel="nofollow noopener">OpenBSD on the Vortex86DX CPU</a>
***
## News Roundup aka there’s been lots of releases recently so lets go through them:
### <a href="http://lumina-desktop.org/post/2021-10-05/" target="_blank" rel="nofollow noopener">Lumina 1.6.1</a>
### <a href="https://opnsense.org/opnsense-21-7-3-released/" target="_blank" rel="nofollow noopener">opnsense 21.7.3</a>
### <a href="https://bsdsec.net/articles/openbsd-errata-september-27-2021-libressl" target="_blank" rel="nofollow noopener">LibreSSL patches</a>
### <a href="https://marc.info/?l=openbsd-announce&amp;m=163239274430211&amp;w=2" target="_blank" rel="nofollow noopener">OpenBGPD 7.2</a>
### <a href="https://www.midnightbsd.org/notes/" target="_blank" rel="nofollow noopener">Midnight BSD 2.1.0</a>
### <a href="http://ghostbsd.org/ghostbsd_21.09.29_iso_now_available" target="_blank" rel="nofollow noopener">GhostBSD 21.09 ISO</a>
### <a href="https://github.com/helloSystem/ISO/releases/tag/r0.6.0" target="_blank" rel="nofollow noopener">helloSystemv0.6</a></li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/425/feedback/Brandon%20-%20FreeBSD%20question.md" target="_blank" rel="nofollow noopener">Brandon - FreeBSD question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/425/feedback/Bruce%20-%20Fixing%20a%20weird%20Apache%20Bug.md" target="_blank" rel="nofollow noopener">Bruce - Fixing a weird Apache Bug</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/425/feedback/Dan%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener">Dan - zfs question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The New Architecture on the Block, OpenBSD on Vortex86DX CPU, lots of new releases, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/risc-v-the-new-architecture-on-the-block/" target="_blank" rel="nofollow noopener">RISC-V: The New Architecture on the Block</a></h3>

<ul>
<li>If you want more RISC-V, check out <a href="https://www.opensourcevoices.org/20" target="_blank" rel="nofollow noopener">JT's interview with Mark Himelstein the CTO of RISC-V International</a>
***
### <a href="https://www.cambus.net/openbsd-on-the-vortex86dx-cpu/" target="_blank" rel="nofollow noopener">OpenBSD on the Vortex86DX CPU</a>
***
## News Roundup aka there’s been lots of releases recently so lets go through them:
### <a href="http://lumina-desktop.org/post/2021-10-05/" target="_blank" rel="nofollow noopener">Lumina 1.6.1</a>
### <a href="https://opnsense.org/opnsense-21-7-3-released/" target="_blank" rel="nofollow noopener">opnsense 21.7.3</a>
### <a href="https://bsdsec.net/articles/openbsd-errata-september-27-2021-libressl" target="_blank" rel="nofollow noopener">LibreSSL patches</a>
### <a href="https://marc.info/?l=openbsd-announce&amp;m=163239274430211&amp;w=2" target="_blank" rel="nofollow noopener">OpenBGPD 7.2</a>
### <a href="https://www.midnightbsd.org/notes/" target="_blank" rel="nofollow noopener">Midnight BSD 2.1.0</a>
### <a href="http://ghostbsd.org/ghostbsd_21.09.29_iso_now_available" target="_blank" rel="nofollow noopener">GhostBSD 21.09 ISO</a>
### <a href="https://github.com/helloSystem/ISO/releases/tag/r0.6.0" target="_blank" rel="nofollow noopener">helloSystemv0.6</a></li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/425/feedback/Brandon%20-%20FreeBSD%20question.md" target="_blank" rel="nofollow noopener">Brandon - FreeBSD question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/425/feedback/Bruce%20-%20Fixing%20a%20weird%20Apache%20Bug.md" target="_blank" rel="nofollow noopener">Bruce - Fixing a weird Apache Bug</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/425/feedback/Dan%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener">Dan - zfs question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</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>&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://briancallahan.net/blog/20210911.html" target="_blank" rel="nofollow noopener"&gt;I got the J language working on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/my-first-prod-encrypted-openzfs-pool/" target="_blank" rel="nofollow noopener"&gt;Rubenerd: Comparing FreeBSD GELI and OpenZFS encrypted pools with keys&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://medium.com/@probonopd/what-is-freebsd-actually-think-again-200c2752d026" target="_blank" rel="nofollow noopener"&gt;What is FreeBSD, actually? Think again.&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://nullprogram.com/blog/2021/09/15/" target="_blank" rel="nofollow noopener"&gt;OpenBSD's pledge and unveil from Python&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [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)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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'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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

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

<hr>

<h3><a href="https://rubenerd.com/my-first-prod-encrypted-openzfs-pool/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">What is FreeBSD, actually? Think again.</a></h3>

<hr>

<h3><a href="https://nullprogram.com/blog/2021/09/15/" target="_blank" rel="nofollow noopener">OpenBSD'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'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" target="_blank" rel="nofollow noopener">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'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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

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

<hr>

<h3><a href="https://rubenerd.com/my-first-prod-encrypted-openzfs-pool/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">What is FreeBSD, actually? Think again.</a></h3>

<hr>

<h3><a href="https://nullprogram.com/blog/2021/09/15/" target="_blank" rel="nofollow noopener">OpenBSD'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'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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>423: RACK the Stack </title>
  <link>https://www.bsdnow.tv/423</link>
  <guid isPermaLink="false">4773f65c-58e5-4661-8a0e-cd636e3a9997</guid>
  <pubDate>Thu, 07 Oct 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4773f65c-58e5-4661-8a0e-cd636e3a9997.mp3" length="32212584" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD serves Netflix Video at 400Gb/s, Using the RACK TCP stack, an OpenBSD script to update packages fast, Plasma System Monitor and FreeBSD, TrueNAS vs FreeNAS (and why you should upgrade!), auto lock screen on OpenBSD using xidle and xlock, and more</itunes:subtitle>
  <itunes:duration>51:30</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>&lt;p&gt;FreeBSD serves Netflix Video at 400Gb/s, Using the RACK TCP stack, an OpenBSD script to update packages fast, Plasma System Monitor and FreeBSD, TrueNAS vs FreeNAS (and why you should upgrade!), auto lock screen on OpenBSD using xidle and xlock, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://people.freebsd.org/%7Egallatin/talks/euro2021.pdf" target="_blank" rel="nofollow noopener"&gt;Serving Netflix Video at 400Gb/s on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/using-the-freebsd-rack-tcp-stack/" target="_blank" rel="nofollow noopener"&gt;Using the FreeBSD RACK TCP Stack&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-08-15-openbsd-pkgupdate.html" target="_blank" rel="nofollow noopener"&gt;pkgupdate, an OpenBSD script to update packages fast&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl//kde/2021/09/15/systemmonitor.html" target="_blank" rel="nofollow noopener"&gt;Plasma System Monitor and FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/truenas-vs-freenas-and-why-you-should-upgrade/" target="_blank" rel="nofollow noopener"&gt;TrueNAS vs FreeNAS (and why you should upgrade!)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-07-30-openbsd-xidle-xlock.html" target="_blank" rel="nofollow noopener"&gt;Automatically lock screen on OpenBSD using xidle and xlock&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/423/feedback/Ben%20-%20LightDM%20with%20Slick-Greeter.md" target="_blank" rel="nofollow noopener"&gt;Ben - LightDM with Slick-Greeter.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/423/feedback/Dave%20-%20Cloned%20Interface.md" target="_blank" rel="nofollow noopener"&gt;Dave - Cloned Interface.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/423/feedback/MJ%20Rodriguez%20-%20Sony.md" target="_blank" rel="nofollow noopener"&gt;MJ Rodriguez - Sony.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <content:encoded>
    <![CDATA[<p>FreeBSD serves Netflix Video at 400Gb/s, Using the RACK TCP stack, an OpenBSD script to update packages fast, Plasma System Monitor and FreeBSD, TrueNAS vs FreeNAS (and why you should upgrade!), auto lock screen on OpenBSD using xidle and xlock, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://people.freebsd.org/%7Egallatin/talks/euro2021.pdf" target="_blank" rel="nofollow noopener">Serving Netflix Video at 400Gb/s on FreeBSD</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/using-the-freebsd-rack-tcp-stack/" target="_blank" rel="nofollow noopener">Using the FreeBSD RACK TCP Stack</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2021-08-15-openbsd-pkgupdate.html" target="_blank" rel="nofollow noopener">pkgupdate, an OpenBSD script to update packages fast</a></h3>

<hr>

<h3><a href="https://euroquis.nl//kde/2021/09/15/systemmonitor.html" target="_blank" rel="nofollow noopener">Plasma System Monitor and FreeBSD</a></h3>

<hr>

<h3><a href="https://www.ixsystems.com/blog/truenas-vs-freenas-and-why-you-should-upgrade/" target="_blank" rel="nofollow noopener">TrueNAS vs FreeNAS (and why you should upgrade!)</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-07-30-openbsd-xidle-xlock.html" target="_blank" rel="nofollow noopener">Automatically lock screen on OpenBSD using xidle and xlock</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/423/feedback/Ben%20-%20LightDM%20with%20Slick-Greeter.md" target="_blank" rel="nofollow noopener">Ben - LightDM with Slick-Greeter.md</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/423/feedback/Dave%20-%20Cloned%20Interface.md" target="_blank" rel="nofollow noopener">Dave - Cloned Interface.md</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/423/feedback/MJ%20Rodriguez%20-%20Sony.md" target="_blank" rel="nofollow noopener">MJ Rodriguez - Sony.md</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD serves Netflix Video at 400Gb/s, Using the RACK TCP stack, an OpenBSD script to update packages fast, Plasma System Monitor and FreeBSD, TrueNAS vs FreeNAS (and why you should upgrade!), auto lock screen on OpenBSD using xidle and xlock, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://people.freebsd.org/%7Egallatin/talks/euro2021.pdf" target="_blank" rel="nofollow noopener">Serving Netflix Video at 400Gb/s on FreeBSD</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/using-the-freebsd-rack-tcp-stack/" target="_blank" rel="nofollow noopener">Using the FreeBSD RACK TCP Stack</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2021-08-15-openbsd-pkgupdate.html" target="_blank" rel="nofollow noopener">pkgupdate, an OpenBSD script to update packages fast</a></h3>

<hr>

<h3><a href="https://euroquis.nl//kde/2021/09/15/systemmonitor.html" target="_blank" rel="nofollow noopener">Plasma System Monitor and FreeBSD</a></h3>

<hr>

<h3><a href="https://www.ixsystems.com/blog/truenas-vs-freenas-and-why-you-should-upgrade/" target="_blank" rel="nofollow noopener">TrueNAS vs FreeNAS (and why you should upgrade!)</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-07-30-openbsd-xidle-xlock.html" target="_blank" rel="nofollow noopener">Automatically lock screen on OpenBSD using xidle and xlock</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/423/feedback/Ben%20-%20LightDM%20with%20Slick-Greeter.md" target="_blank" rel="nofollow noopener">Ben - LightDM with Slick-Greeter.md</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/423/feedback/Dave%20-%20Cloned%20Interface.md" target="_blank" rel="nofollow noopener">Dave - Cloned Interface.md</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/423/feedback/MJ%20Rodriguez%20-%20Sony.md" target="_blank" rel="nofollow noopener">MJ Rodriguez - Sony.md</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>422: The Brian Callahan Interview</title>
  <link>https://www.bsdnow.tv/422</link>
  <guid isPermaLink="false">4ca5efbc-d83b-41a2-981c-42c4dacefb05</guid>
  <pubDate>Thu, 30 Sep 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4ca5efbc-d83b-41a2-981c-42c4dacefb05.mp3" length="30162984" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We interview Dr. Brian Callahan about his language porting work for OpenBSD, teaching with BSDs and recruiting students into projects, research, and his work at NYC*BUG in this week’s episode of BSDnow.</itunes:subtitle>
  <itunes:duration>49:59</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>&lt;p&gt;We interview Dr. Brian Callahan about his language porting work for OpenBSD, teaching with BSDs and recruiting students into projects, research, and his work at NYC*BUG in this week’s episode of BSDnow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Interview - Dr. Brian Robert Callahan - &lt;a href="https://briancallahan.net/" target="_blank" rel="nofollow noopener"&gt;https://briancallahan.net/&lt;/a&gt; / &lt;a href="https://mastodon.com/bcallah@bsdnetwork" target="_blank" rel="nofollow noopener"&gt;bcallah@bsdnetwork&lt;/a&gt;&lt;/h2&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
*** Special Guest: Brian Callahan.&lt;/li&gt;
&lt;/ul&gt;
</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, interview, callahan, language porting, teaching, research, recruiting, diversity, nycbug, new york, bsd user group,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We interview Dr. Brian Callahan about his language porting work for OpenBSD, teaching with BSDs and recruiting students into projects, research, and his work at NYC*BUG in this week’s episode of BSDnow.</p>

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

<h2>Interview - Dr. Brian Robert Callahan - <a href="https://briancallahan.net/" target="_blank" rel="nofollow noopener">https://briancallahan.net/</a> / <a href="https://mastodon.com/bcallah@bsdnetwork" target="_blank" rel="nofollow noopener">bcallah@bsdnetwork</a></h2>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Brian Callahan.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We interview Dr. Brian Callahan about his language porting work for OpenBSD, teaching with BSDs and recruiting students into projects, research, and his work at NYC*BUG in this week’s episode of BSDnow.</p>

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

<h2>Interview - Dr. Brian Robert Callahan - <a href="https://briancallahan.net/" target="_blank" rel="nofollow noopener">https://briancallahan.net/</a> / <a href="https://mastodon.com/bcallah@bsdnetwork" target="_blank" rel="nofollow noopener">bcallah@bsdnetwork</a></h2>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Brian Callahan.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>421: ZFS eats CPU</title>
  <link>https://www.bsdnow.tv/421</link>
  <guid isPermaLink="false">626e101a-a6c2-43ce-ad87-018474d78971</guid>
  <pubDate>Thu, 23 Sep 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/626e101a-a6c2-43ce-ad87-018474d78971.mp3" length="32360040" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Useless use of GNU, Meet the 2021 FreeBSD GSoC Students, historical note on Unix portability, vm86-based venix emulator, ZFS Mysteriously Eating CPU, traceroute gets speed boost, and more </itunes:subtitle>
  <itunes:duration>50:42</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>&lt;p&gt;Useless use of GNU, Meet the 2021 FreeBSD GSoC Students, historical note on Unix portability, vm86-based venix emulator, ZFS Mysteriously Eating CPU, traceroute gets speed boost, and more &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://jmmv.dev/2021/08/useless-use-of-gnu.html" target="_blank" rel="nofollow noopener"&gt;Useless use of GNU&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/meet-the-2021-freebsd-google-summer-of-code-students/" target="_blank" rel="nofollow noopener"&gt;Meet the 2021 FreeBSD Google Summer of Code Students&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ProgramsVsPortability" target="_blank" rel="nofollow noopener"&gt;Large Unix programs were historically not all that portable between Unixes&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;References this article: &lt;a href="https://rubenerd.com/im-not-sure-that-unix-won/" target="_blank" rel="nofollow noopener"&gt;I’m not sure that UNIX won&lt;/a&gt;
***
### &lt;a href="http://bsdimp.blogspot.com/2021/08/a-new-path-vm86-based-venix-emulator.html" target="_blank" rel="nofollow noopener"&gt;A new path: vm86-based venix emulator&lt;/a&gt;
***
### &lt;a href="http://www.brendangregg.com/blog/2021-09-06/zfs-is-mysteriously-eating-my-cpu.html" target="_blank" rel="nofollow noopener"&gt;ZFS Is Mysteriously Eating My CPU&lt;/a&gt;
***
### &lt;a href="http://undeadly.org/cgi?action=article;sid=20210903094704" target="_blank" rel="nofollow noopener"&gt;traceroute(8) gets speed boost&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/421/feedback/Al%20-%20TransAtlantic%20Cables.md" target="_blank" rel="nofollow noopener"&gt;Al - TransAtlantic Cables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/421/feedback/Christopher%20-%20NVMe.md" target="_blank" rel="nofollow noopener"&gt;Christopher - NVMe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_blank" rel="nofollow noopener"&gt;JohnnyK - Vivaldi&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, gnu, useless, google summer of code, students, portability, unix history, vm86, venix, emulator, cpu use, cpu usage, traceroute</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Useless use of GNU, Meet the 2021 FreeBSD GSoC Students, historical note on Unix portability, vm86-based venix emulator, ZFS Mysteriously Eating CPU, traceroute gets speed boost, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://jmmv.dev/2021/08/useless-use-of-gnu.html" target="_blank" rel="nofollow noopener">Useless use of GNU</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/meet-the-2021-freebsd-google-summer-of-code-students/" target="_blank" rel="nofollow noopener">Meet the 2021 FreeBSD Google Summer of Code Students</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ProgramsVsPortability" target="_blank" rel="nofollow noopener">Large Unix programs were historically not all that portable between Unixes</a></h3>

<ul>
<li>References this article: <a href="https://rubenerd.com/im-not-sure-that-unix-won/" target="_blank" rel="nofollow noopener">I’m not sure that UNIX won</a>
***
### <a href="http://bsdimp.blogspot.com/2021/08/a-new-path-vm86-based-venix-emulator.html" target="_blank" rel="nofollow noopener">A new path: vm86-based venix emulator</a>
***
### <a href="http://www.brendangregg.com/blog/2021-09-06/zfs-is-mysteriously-eating-my-cpu.html" target="_blank" rel="nofollow noopener">ZFS Is Mysteriously Eating My CPU</a>
***
### <a href="http://undeadly.org/cgi?action=article;sid=20210903094704" target="_blank" rel="nofollow noopener">traceroute(8) gets speed boost</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/421/feedback/Al%20-%20TransAtlantic%20Cables.md" target="_blank" rel="nofollow noopener">Al - TransAtlantic Cables</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/421/feedback/Christopher%20-%20NVMe.md" target="_blank" rel="nofollow noopener">Christopher - NVMe</a></li>
<li><a target="_blank" rel="nofollow noopener">JohnnyK - Vivaldi</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Useless use of GNU, Meet the 2021 FreeBSD GSoC Students, historical note on Unix portability, vm86-based venix emulator, ZFS Mysteriously Eating CPU, traceroute gets speed boost, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://jmmv.dev/2021/08/useless-use-of-gnu.html" target="_blank" rel="nofollow noopener">Useless use of GNU</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/meet-the-2021-freebsd-google-summer-of-code-students/" target="_blank" rel="nofollow noopener">Meet the 2021 FreeBSD Google Summer of Code Students</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ProgramsVsPortability" target="_blank" rel="nofollow noopener">Large Unix programs were historically not all that portable between Unixes</a></h3>

<ul>
<li>References this article: <a href="https://rubenerd.com/im-not-sure-that-unix-won/" target="_blank" rel="nofollow noopener">I’m not sure that UNIX won</a>
***
### <a href="http://bsdimp.blogspot.com/2021/08/a-new-path-vm86-based-venix-emulator.html" target="_blank" rel="nofollow noopener">A new path: vm86-based venix emulator</a>
***
### <a href="http://www.brendangregg.com/blog/2021-09-06/zfs-is-mysteriously-eating-my-cpu.html" target="_blank" rel="nofollow noopener">ZFS Is Mysteriously Eating My CPU</a>
***
### <a href="http://undeadly.org/cgi?action=article;sid=20210903094704" target="_blank" rel="nofollow noopener">traceroute(8) gets speed boost</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/421/feedback/Al%20-%20TransAtlantic%20Cables.md" target="_blank" rel="nofollow noopener">Al - TransAtlantic Cables</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/421/feedback/Christopher%20-%20NVMe.md" target="_blank" rel="nofollow noopener">Christopher - NVMe</a></li>
<li><a target="_blank" rel="nofollow noopener">JohnnyK - Vivaldi</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>420: OpenBSD makes life better</title>
  <link>https://www.bsdnow.tv/420</link>
  <guid isPermaLink="false">8b8bd7d2-7ac2-4c6b-a33f-fcc39e355be5</guid>
  <pubDate>Thu, 16 Sep 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8b8bd7d2-7ac2-4c6b-a33f-fcc39e355be5.mp3" length="32538960" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Choosing The Right ZFS Pool Layout, changes in OpenBSD that make life better, GhostBSD 21.09.06 ISO's now available, Fair Internet bandwidth management with OpenBSD, NetBSD wifi router project update, NetBSD on the Apple M1, HardenedBSD August Status Report, FreeBSD Journal on Wireless and Desktop, and more.
</itunes:subtitle>
  <itunes:duration>49:18</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>&lt;p&gt;Choosing The Right ZFS Pool Layout, changes in OpenBSD that make life better, GhostBSD 21.09.06 ISO's now available, Fair Internet bandwidth management with OpenBSD, NetBSD wifi router project update, NetBSD on the Apple M1, HardenedBSD August Status Report, FreeBSD Journal on Wireless and Desktop, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/choosing-the-right-zfs-pool-layout/" target="_blank" rel="nofollow noopener"&gt;Choosing The Right ZFS Pool Layout&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsdly.blogspot.com/2021/08/recent-and-not-so-recent-changes-in.html" target="_blank" rel="nofollow noopener"&gt;Recent and not so recent changes in OpenBSD that make life better (and may turn up elsewhere too)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.ghostbsd.org/ghostbsd_21.09.06_iso_now_available" target="_blank" rel="nofollow noopener"&gt;GhostBSD 21.09.06 ISO's now available&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-08-30-openbsd-qos-lan.html" target="_blank" rel="nofollow noopener"&gt;Fair Internet bandwidth management on a network using OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/wifi_project_status_update" target="_blank" rel="nofollow noopener"&gt;NetBSD wifi router project update&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Bonus NetBSD Recent Developments: &lt;a href="https://mobile.twitter.com/jmcwhatever/status/1431575270436319235" target="_blank" rel="nofollow noopener"&gt;NetBSD on the Apple M1&lt;/a&gt;
***
### &lt;a href="https://hardenedbsd.org/article/shawn-webb/2021-08-31/hardenedbsd-august-2021-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD August 2021 Status Report&lt;/a&gt;
### &lt;a href="https://freebsdfoundation.org/past-issues/desktop-wireless/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal July/August 2021: Desktop/Wireless&lt;/a&gt;
***
### Tarsnap&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/420/feedback/James%20-%20backup%20question.md" target="_blank" rel="nofollow noopener"&gt;James - backup question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/420/feedback/Jonathon%20-%20certifications.md" target="_blank" rel="nofollow noopener"&gt;Jonathon - certifications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/420/feedback/Marty%20-%20RPG%20CLI.md" target="_blank" rel="nofollow noopener"&gt;Marty - RPG CLI&lt;/a&gt;
*** &lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, pool layout, changes, improvements, ghostbsd, internet, bandwidth management, wifi, router, router project, Apple M1, arm64, wireless, desktop</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Choosing The Right ZFS Pool Layout, changes in OpenBSD that make life better, GhostBSD 21.09.06 ISO's now available, Fair Internet bandwidth management with OpenBSD, NetBSD wifi router project update, NetBSD on the Apple M1, HardenedBSD August Status Report, FreeBSD Journal on Wireless and Desktop, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/choosing-the-right-zfs-pool-layout/" target="_blank" rel="nofollow noopener">Choosing The Right ZFS Pool Layout</a></h3>

<hr>

<h3><a href="https://bsdly.blogspot.com/2021/08/recent-and-not-so-recent-changes-in.html" target="_blank" rel="nofollow noopener">Recent and not so recent changes in OpenBSD that make life better (and may turn up elsewhere too)</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.ghostbsd.org/ghostbsd_21.09.06_iso_now_available" target="_blank" rel="nofollow noopener">GhostBSD 21.09.06 ISO's now available</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-08-30-openbsd-qos-lan.html" target="_blank" rel="nofollow noopener">Fair Internet bandwidth management on a network using OpenBSD</a></h3>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/wifi_project_status_update" target="_blank" rel="nofollow noopener">NetBSD wifi router project update</a></h3>

<ul>
<li>Bonus NetBSD Recent Developments: <a href="https://mobile.twitter.com/jmcwhatever/status/1431575270436319235" target="_blank" rel="nofollow noopener">NetBSD on the Apple M1</a>
***
### <a href="https://hardenedbsd.org/article/shawn-webb/2021-08-31/hardenedbsd-august-2021-status-report" target="_blank" rel="nofollow noopener">HardenedBSD August 2021 Status Report</a>
### <a href="https://freebsdfoundation.org/past-issues/desktop-wireless/" target="_blank" rel="nofollow noopener">FreeBSD Journal July/August 2021: Desktop/Wireless</a>
***
### Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/420/feedback/James%20-%20backup%20question.md" target="_blank" rel="nofollow noopener">James - backup question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/420/feedback/Jonathon%20-%20certifications.md" target="_blank" rel="nofollow noopener">Jonathon - certifications</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/420/feedback/Marty%20-%20RPG%20CLI.md" target="_blank" rel="nofollow noopener">Marty - RPG CLI</a>
*** </li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Choosing The Right ZFS Pool Layout, changes in OpenBSD that make life better, GhostBSD 21.09.06 ISO's now available, Fair Internet bandwidth management with OpenBSD, NetBSD wifi router project update, NetBSD on the Apple M1, HardenedBSD August Status Report, FreeBSD Journal on Wireless and Desktop, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/choosing-the-right-zfs-pool-layout/" target="_blank" rel="nofollow noopener">Choosing The Right ZFS Pool Layout</a></h3>

<hr>

<h3><a href="https://bsdly.blogspot.com/2021/08/recent-and-not-so-recent-changes-in.html" target="_blank" rel="nofollow noopener">Recent and not so recent changes in OpenBSD that make life better (and may turn up elsewhere too)</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.ghostbsd.org/ghostbsd_21.09.06_iso_now_available" target="_blank" rel="nofollow noopener">GhostBSD 21.09.06 ISO's now available</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-08-30-openbsd-qos-lan.html" target="_blank" rel="nofollow noopener">Fair Internet bandwidth management on a network using OpenBSD</a></h3>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/wifi_project_status_update" target="_blank" rel="nofollow noopener">NetBSD wifi router project update</a></h3>

<ul>
<li>Bonus NetBSD Recent Developments: <a href="https://mobile.twitter.com/jmcwhatever/status/1431575270436319235" target="_blank" rel="nofollow noopener">NetBSD on the Apple M1</a>
***
### <a href="https://hardenedbsd.org/article/shawn-webb/2021-08-31/hardenedbsd-august-2021-status-report" target="_blank" rel="nofollow noopener">HardenedBSD August 2021 Status Report</a>
### <a href="https://freebsdfoundation.org/past-issues/desktop-wireless/" target="_blank" rel="nofollow noopener">FreeBSD Journal July/August 2021: Desktop/Wireless</a>
***
### Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/420/feedback/James%20-%20backup%20question.md" target="_blank" rel="nofollow noopener">James - backup question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/420/feedback/Jonathon%20-%20certifications.md" target="_blank" rel="nofollow noopener">Jonathon - certifications</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/420/feedback/Marty%20-%20RPG%20CLI.md" target="_blank" rel="nofollow noopener">Marty - RPG CLI</a>
*** </li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>419: Rethinking OS installs</title>
  <link>https://www.bsdnow.tv/419</link>
  <guid isPermaLink="false">4fb1ef2f-3915-403b-9687-47451b3339a9</guid>
  <pubDate>Thu, 09 Sep 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4fb1ef2f-3915-403b-9687-47451b3339a9.mp3" length="33694320" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Reviewing a first OpenBSD port, NetBSD 9.2 on a DEC Alpha CPU in QEMU with X11, FreeBSD Experiment Rethinks the OS Install, GhostBSD switching to FreeBSD rc.d, Irix gets LLVM, and more.</itunes:subtitle>
  <itunes:duration>51:39</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>&lt;p&gt;Reviewing a first OpenBSD port, NetBSD 9.2 on a DEC Alpha CPU in QEMU with X11, FreeBSD Experiment Rethinks the OS Install, GhostBSD switching to FreeBSD rc.d, Irix gets LLVM, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://briancallahan.net/blog/20210802.html" target="_blank" rel="nofollow noopener"&gt;Reviewing my first OpenBSD port, and what I'd do differently 10 years later&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://raymii.org/s/articles/NetBSD_on_QEMU_Alpha.html" target="_blank" rel="nofollow noopener"&gt;Install NetBSD 9.2 on a DEC Alpha CPU in QEMU with X11&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://hackaday.com/2021/08/10/freebsd-experiment-rethinks-the-os-install/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Experiment Rethinks the OS Install&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ghostbsd.org/rc_switch" target="_blank" rel="nofollow noopener"&gt;The switch to FreeBSD rc.d is coming&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://forums.irixnet.org/thread-3043.html" target="_blank" rel="nofollow noopener"&gt;Irix gets LLVM&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/419/feedback/Miceal%20-%20a%20few%20questions.md" target="_blank" rel="nofollow noopener"&gt;Miceal - a few questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/419/feedback/Nelson%20-%20dummynet.md" target="_blank" rel="nofollow noopener"&gt;Nelson - dummynet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, port, review, done differently, learning, retrospect, DEC, alpha cpu, qemu, x11, os install, rethink, ghostbsd, rc.d, irix, llvm </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Reviewing a first OpenBSD port, NetBSD 9.2 on a DEC Alpha CPU in QEMU with X11, FreeBSD Experiment Rethinks the OS Install, GhostBSD switching to FreeBSD rc.d, Irix gets LLVM, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://briancallahan.net/blog/20210802.html" target="_blank" rel="nofollow noopener">Reviewing my first OpenBSD port, and what I'd do differently 10 years later</a></h3>

<hr>

<h3><a href="https://raymii.org/s/articles/NetBSD_on_QEMU_Alpha.html" target="_blank" rel="nofollow noopener">Install NetBSD 9.2 on a DEC Alpha CPU in QEMU with X11</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://hackaday.com/2021/08/10/freebsd-experiment-rethinks-the-os-install/" target="_blank" rel="nofollow noopener">FreeBSD Experiment Rethinks the OS Install</a></h3>

<hr>

<h3><a href="https://www.ghostbsd.org/rc_switch" target="_blank" rel="nofollow noopener">The switch to FreeBSD rc.d is coming</a></h3>

<hr>

<h3><a href="https://forums.irixnet.org/thread-3043.html" target="_blank" rel="nofollow noopener">Irix gets LLVM</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/419/feedback/Miceal%20-%20a%20few%20questions.md" target="_blank" rel="nofollow noopener">Miceal - a few questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/419/feedback/Nelson%20-%20dummynet.md" target="_blank" rel="nofollow noopener">Nelson - dummynet</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Reviewing a first OpenBSD port, NetBSD 9.2 on a DEC Alpha CPU in QEMU with X11, FreeBSD Experiment Rethinks the OS Install, GhostBSD switching to FreeBSD rc.d, Irix gets LLVM, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://briancallahan.net/blog/20210802.html" target="_blank" rel="nofollow noopener">Reviewing my first OpenBSD port, and what I'd do differently 10 years later</a></h3>

<hr>

<h3><a href="https://raymii.org/s/articles/NetBSD_on_QEMU_Alpha.html" target="_blank" rel="nofollow noopener">Install NetBSD 9.2 on a DEC Alpha CPU in QEMU with X11</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://hackaday.com/2021/08/10/freebsd-experiment-rethinks-the-os-install/" target="_blank" rel="nofollow noopener">FreeBSD Experiment Rethinks the OS Install</a></h3>

<hr>

<h3><a href="https://www.ghostbsd.org/rc_switch" target="_blank" rel="nofollow noopener">The switch to FreeBSD rc.d is coming</a></h3>

<hr>

<h3><a href="https://forums.irixnet.org/thread-3043.html" target="_blank" rel="nofollow noopener">Irix gets LLVM</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/419/feedback/Miceal%20-%20a%20few%20questions.md" target="_blank" rel="nofollow noopener">Miceal - a few questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/419/feedback/Nelson%20-%20dummynet.md" target="_blank" rel="nofollow noopener">Nelson - dummynet</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>418: The greatest time in history to be a creator</title>
  <link>https://www.bsdnow.tv/418</link>
  <guid isPermaLink="false">5b0aa0e0-4435-47d3-841a-91793cf37806</guid>
  <pubDate>Thu, 02 Sep 2021 03:45:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5b0aa0e0-4435-47d3-841a-91793cf37806.mp3" length="32985120" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>In this episode, we interview Michael W. Lucas about his latest book projects including Git sync murder, TLS Mastery, getting paid for creative work, writing tools and techniques, and more.</itunes:subtitle>
  <itunes:duration>52:25</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>&lt;p&gt;In this episode, we interview Michael W. Lucas about his latest book projects including Git sync murder, TLS Mastery, getting paid for creative work, writing tools and techniques, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Interview - Michael W. Lucas - &lt;a href="mailto:mwl@mwl.io" target="_blank" rel="nofollow noopener"&gt;mwl@mwl.io&lt;/a&gt; / &lt;a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener"&gt;@mwlauthor&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mwl.io/nonfiction/biz-craft" target="_blank" rel="nofollow noopener"&gt;Cashflow for Creators&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/12526" target="_blank" rel="nofollow noopener"&gt;Charity Auction Against Human Trafficking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://datatracker.ietf.org/doc/html/rfc9049" target="_blank" rel="nofollow noopener"&gt;This is the rfc about what to not do.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;Special Guest: Michael W Lucas.&lt;/p&gt;
</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, interview, Michael W. Lucas </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>In this episode, we interview Michael W. Lucas about his latest book projects including Git sync murder, TLS Mastery, getting paid for creative work, writing tools and techniques, and more.</p>

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

<h2>Interview - Michael W. Lucas - <a href="mailto:mwl@mwl.io" target="_blank" rel="nofollow noopener">mwl@mwl.io</a> / <a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener">@mwlauthor</a></h2>

<ul>
<li><a href="https://mwl.io/nonfiction/biz-craft" target="_blank" rel="nofollow noopener">Cashflow for Creators</a></li>
<li><a href="https://mwl.io/archives/12526" target="_blank" rel="nofollow noopener">Charity Auction Against Human Trafficking</a></li>
<li><a href="https://datatracker.ietf.org/doc/html/rfc9049" target="_blank" rel="nofollow noopener">This is the rfc about what to not do.</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr><p>Special Guest: Michael W Lucas.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>In this episode, we interview Michael W. Lucas about his latest book projects including Git sync murder, TLS Mastery, getting paid for creative work, writing tools and techniques, and more.</p>

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

<h2>Interview - Michael W. Lucas - <a href="mailto:mwl@mwl.io" target="_blank" rel="nofollow noopener">mwl@mwl.io</a> / <a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener">@mwlauthor</a></h2>

<ul>
<li><a href="https://mwl.io/nonfiction/biz-craft" target="_blank" rel="nofollow noopener">Cashflow for Creators</a></li>
<li><a href="https://mwl.io/archives/12526" target="_blank" rel="nofollow noopener">Charity Auction Against Human Trafficking</a></li>
<li><a href="https://datatracker.ietf.org/doc/html/rfc9049" target="_blank" rel="nofollow noopener">This is the rfc about what to not do.</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr><p>Special Guest: Michael W Lucas.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>417: bhyve private cloud</title>
  <link>https://www.bsdnow.tv/417</link>
  <guid isPermaLink="false">63b2639c-ad67-45db-9581-8053963313c2</guid>
  <pubDate>Thu, 26 Aug 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/63b2639c-ad67-45db-9581-8053963313c2.mp3" length="34928712" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Achieving RPO/RTO Objectives with ZFS pt 1, FreeBSD Foundation Q2 report, OpenBSD full Tor setup, MyBee - bhyve as private cloud, FreeBSD home fileserver expansion, OpenBSD on Framework Laptop, portable GELI, and more.</itunes:subtitle>
  <itunes:duration>57:18</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>&lt;p&gt;Achieving RPO/RTO Objectives with ZFS pt 1, FreeBSD Foundation Q2 report, OpenBSD full Tor setup, MyBee - bhyve as private cloud, FreeBSD home fileserver expansion, OpenBSD on Framework Laptop, portable GELI, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/achieving-rpo-rto-objectives-with-zfs-part-1/" target="_blank" rel="nofollow noopener"&gt;Achieving RPO/RTO Objectives with ZFS - Part 1&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/freebsd-foundation-q2-2021-status-update/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation Q2 Report&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-07-25-openbsd-full-tor.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD full Tor setup&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://habr.com/en/post/569226/" target="_blank" rel="nofollow noopener"&gt;MyBee — FreeBSD OS and hypervisor bhyve as private cloud&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/expanding-our-freebsd-home-file-server/" target="_blank" rel="nofollow noopener"&gt;Expanding our FreeBSD home file server&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://jcs.org/2021/08/06/framework" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the Framework Laptop&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://bijanebrahimi.github.io/blog/portable-geli.html" target="_blank" rel="nofollow noopener"&gt;Portable GELI&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/417/feedback/Chunky_pie%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener"&gt;Chunky_pie - zfs question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/417/feedback/Paul%20-%20several%20questions.md" target="_blank" rel="nofollow noopener"&gt;Paul - several questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/417/feedback/chris%20-%20firewall%20question.md" target="_blank" rel="nofollow noopener"&gt;chris - firewall question&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, rpo, rto, objectives, foundation, second quarter report, tor setup, mybee, private cloud, bhyve, fileserver, home, expansion, framework laptop, portable, geli, encryption, disk</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Achieving RPO/RTO Objectives with ZFS pt 1, FreeBSD Foundation Q2 report, OpenBSD full Tor setup, MyBee - bhyve as private cloud, FreeBSD home fileserver expansion, OpenBSD on Framework Laptop, portable GELI, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/achieving-rpo-rto-objectives-with-zfs-part-1/" target="_blank" rel="nofollow noopener">Achieving RPO/RTO Objectives with ZFS - Part 1</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/freebsd-foundation-q2-2021-status-update/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Q2 Report</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-07-25-openbsd-full-tor.html" target="_blank" rel="nofollow noopener">OpenBSD full Tor setup</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://habr.com/en/post/569226/" target="_blank" rel="nofollow noopener">MyBee — FreeBSD OS and hypervisor bhyve as private cloud</a></h3>

<hr>

<h3><a href="https://rubenerd.com/expanding-our-freebsd-home-file-server/" target="_blank" rel="nofollow noopener">Expanding our FreeBSD home file server</a></h3>

<hr>

<h3><a href="https://jcs.org/2021/08/06/framework" target="_blank" rel="nofollow noopener">OpenBSD on the Framework Laptop</a></h3>

<hr>

<h3><a href="http://bijanebrahimi.github.io/blog/portable-geli.html" target="_blank" rel="nofollow noopener">Portable GELI</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/417/feedback/Chunky_pie%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener">Chunky_pie - zfs question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/417/feedback/Paul%20-%20several%20questions.md" target="_blank" rel="nofollow noopener">Paul - several questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/417/feedback/chris%20-%20firewall%20question.md" target="_blank" rel="nofollow noopener">chris - firewall question</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Achieving RPO/RTO Objectives with ZFS pt 1, FreeBSD Foundation Q2 report, OpenBSD full Tor setup, MyBee - bhyve as private cloud, FreeBSD home fileserver expansion, OpenBSD on Framework Laptop, portable GELI, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/achieving-rpo-rto-objectives-with-zfs-part-1/" target="_blank" rel="nofollow noopener">Achieving RPO/RTO Objectives with ZFS - Part 1</a></h3>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/freebsd-foundation-q2-2021-status-update/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Q2 Report</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-07-25-openbsd-full-tor.html" target="_blank" rel="nofollow noopener">OpenBSD full Tor setup</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://habr.com/en/post/569226/" target="_blank" rel="nofollow noopener">MyBee — FreeBSD OS and hypervisor bhyve as private cloud</a></h3>

<hr>

<h3><a href="https://rubenerd.com/expanding-our-freebsd-home-file-server/" target="_blank" rel="nofollow noopener">Expanding our FreeBSD home file server</a></h3>

<hr>

<h3><a href="https://jcs.org/2021/08/06/framework" target="_blank" rel="nofollow noopener">OpenBSD on the Framework Laptop</a></h3>

<hr>

<h3><a href="http://bijanebrahimi.github.io/blog/portable-geli.html" target="_blank" rel="nofollow noopener">Portable GELI</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/417/feedback/Chunky_pie%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener">Chunky_pie - zfs question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/417/feedback/Paul%20-%20several%20questions.md" target="_blank" rel="nofollow noopener">Paul - several questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/417/feedback/chris%20-%20firewall%20question.md" target="_blank" rel="nofollow noopener">chris - firewall question</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>416: netcat printing</title>
  <link>https://www.bsdnow.tv/416</link>
  <guid isPermaLink="false">c6beac7b-f1bf-40bf-aaeb-a25eed202b81</guid>
  <pubDate>Thu, 19 Aug 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c6beac7b-f1bf-40bf-aaeb-a25eed202b81.mp3" length="33333456" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenZFS snapshots, OpenSUSE on Bastille, printing with netcat, new opnsense 21.1.8 released, new pfsense plus software available, and more.</itunes:subtitle>
  <itunes:duration>53:14</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>&lt;p&gt;OpenZFS snapshots, OpenSUSE on Bastille, printing with netcat, new opnsense 21.1.8 released, new pfsense plus software available, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/lets-talk-openzfs-snapshots/" target="_blank" rel="nofollow noopener"&gt;Lets talk OpenZFS snapshots&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://peter.czanik.hu/posts/opensuse_in_bastille/" target="_blank" rel="nofollow noopener"&gt;OpenSUSE in Bastille&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://retrohacker.substack.com/p/bye-cups-printing-with-netcat" target="_blank" rel="nofollow noopener"&gt;CUPS printing with netcat&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-21-1-8-released/" target="_blank" rel="nofollow noopener"&gt;Opnsense-21.1.8&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.netgate.com/blog/pfsense-plus-software-version-21.05.1-is-now-available-for-upgrades" target="_blank" rel="nofollow noopener"&gt;pfSense® Plus Software Version 21.05.1 is Now Available&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [MAC Inspired FreeBSD release](https://github.com/mszoek/airyx)
• [Implement unprivileged chroot](https://cgit.freebsd.org/src/commit/?id=a40cf4175c90142442d0c6515f6c83956336699b)
• [InitWare: A systemd fork that runs on BSD](https://github.com/InitWare/InitWare)
• [multics gets a new release](https://multics-wiki.swenson.org/index.php/Main_Page)
• [Open Source Voices interview with Tom Jones](https://www.opensourcevoices.org/17)
• [PDP 11/03 Engineering Drawings](https://twitter.com/q5sys/status/1423092689084551171)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/416/feedback/Olvier%20-%20zfs.md" target="_blank" rel="nofollow noopener"&gt;Oliver - zfs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/416/feedback/anders%20-%20vms.md" target="_blank" rel="nofollow noopener"&gt;anders - vms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/416/feedback/jeff%20-%20byhve%20guests.md" target="_blank" rel="nofollow noopener"&gt;jeff - byhve guests&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, snapshots, bastille, opensuse, printing, netcat, opnsense, pfsense, pfsense plus</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenZFS snapshots, OpenSUSE on Bastille, printing with netcat, new opnsense 21.1.8 released, new pfsense plus software available, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/lets-talk-openzfs-snapshots/" target="_blank" rel="nofollow noopener">Lets talk OpenZFS snapshots</a></h3>

<hr>

<h3><a href="https://peter.czanik.hu/posts/opensuse_in_bastille/" target="_blank" rel="nofollow noopener">OpenSUSE in Bastille</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://retrohacker.substack.com/p/bye-cups-printing-with-netcat" target="_blank" rel="nofollow noopener">CUPS printing with netcat</a></h3>

<hr>

<h3><a href="https://opnsense.org/opnsense-21-1-8-released/" target="_blank" rel="nofollow noopener">Opnsense-21.1.8</a></h3>

<hr>

<h3><a href="https://www.netgate.com/blog/pfsense-plus-software-version-21.05.1-is-now-available-for-upgrades" target="_blank" rel="nofollow noopener">pfSense® Plus Software Version 21.05.1 is Now Available</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [MAC Inspired FreeBSD release](https://github.com/mszoek/airyx)
• [Implement unprivileged chroot](https://cgit.freebsd.org/src/commit/?id=a40cf4175c90142442d0c6515f6c83956336699b)
• [InitWare: A systemd fork that runs on BSD](https://github.com/InitWare/InitWare)
• [multics gets a new release](https://multics-wiki.swenson.org/index.php/Main_Page)
• [Open Source Voices interview with Tom Jones](https://www.opensourcevoices.org/17)
• [PDP 11/03 Engineering Drawings](https://twitter.com/q5sys/status/1423092689084551171)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/416/feedback/Olvier%20-%20zfs.md" target="_blank" rel="nofollow noopener">Oliver - zfs</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/416/feedback/anders%20-%20vms.md" target="_blank" rel="nofollow noopener">anders - vms</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/416/feedback/jeff%20-%20byhve%20guests.md" target="_blank" rel="nofollow noopener">jeff - byhve guests</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenZFS snapshots, OpenSUSE on Bastille, printing with netcat, new opnsense 21.1.8 released, new pfsense plus software available, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/lets-talk-openzfs-snapshots/" target="_blank" rel="nofollow noopener">Lets talk OpenZFS snapshots</a></h3>

<hr>

<h3><a href="https://peter.czanik.hu/posts/opensuse_in_bastille/" target="_blank" rel="nofollow noopener">OpenSUSE in Bastille</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://retrohacker.substack.com/p/bye-cups-printing-with-netcat" target="_blank" rel="nofollow noopener">CUPS printing with netcat</a></h3>

<hr>

<h3><a href="https://opnsense.org/opnsense-21-1-8-released/" target="_blank" rel="nofollow noopener">Opnsense-21.1.8</a></h3>

<hr>

<h3><a href="https://www.netgate.com/blog/pfsense-plus-software-version-21.05.1-is-now-available-for-upgrades" target="_blank" rel="nofollow noopener">pfSense® Plus Software Version 21.05.1 is Now Available</a></h3>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [MAC Inspired FreeBSD release](https://github.com/mszoek/airyx)
• [Implement unprivileged chroot](https://cgit.freebsd.org/src/commit/?id=a40cf4175c90142442d0c6515f6c83956336699b)
• [InitWare: A systemd fork that runs on BSD](https://github.com/InitWare/InitWare)
• [multics gets a new release](https://multics-wiki.swenson.org/index.php/Main_Page)
• [Open Source Voices interview with Tom Jones](https://www.opensourcevoices.org/17)
• [PDP 11/03 Engineering Drawings](https://twitter.com/q5sys/status/1423092689084551171)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/416/feedback/Olvier%20-%20zfs.md" target="_blank" rel="nofollow noopener">Oliver - zfs</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/416/feedback/anders%20-%20vms.md" target="_blank" rel="nofollow noopener">anders - vms</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/416/feedback/jeff%20-%20byhve%20guests.md" target="_blank" rel="nofollow noopener">jeff - byhve guests</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>415: Wrong OS Switch</title>
  <link>https://www.bsdnow.tv/415</link>
  <guid isPermaLink="false">272363c1-3756-4e81-91c6-a373b2104cc6</guid>
  <pubDate>Thu, 12 Aug 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/272363c1-3756-4e81-91c6-a373b2104cc6.mp3" length="33829368" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle></itunes:subtitle>
  <itunes:duration>54:17</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>&lt;p&gt;Wrong Way to Switch Server OS, Net/1 and Net/2 – A Path to Freedom, Permissions Two Mistakes, OpenBSD progress in supporting riscv64 platform, I2P intro, git sync murder is out, GhostBSD init system poll, and more  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://figbert.com/posts/wrong-way-to-switch-server-os/" target="_blank" rel="nofollow noopener"&gt;The Wrong Way to Switch Operating Systems on Your Server&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/history-of-freebsd-net-1-and-net-2-a-path-to-freedom/" target="_blank" rel="nofollow noopener"&gt;History of FreeBSD Part 5: Net/1 and Net/2 – A Path to Freedom&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/PermissionsTwoMistakes" target="_blank" rel="nofollow noopener"&gt;Permissions Two Mistakes&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20210619161607" target="_blank" rel="nofollow noopener"&gt;Progress in support for the riscv64 platform&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-06-20-i2p-intro.html" target="_blank" rel="nofollow noopener"&gt;I2P Intro&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mwl.io/archives/12105" target="_blank" rel="nofollow noopener"&gt;“$ git sync murder” is out, so: how many books have I written?&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ghostbsd.org/what_init_system_pool" target="_blank" rel="nofollow noopener"&gt;What init system would you prefer to use under GhostBSD?&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/415/feedback/Brad%20-%20Replication.md" target="_blank" rel="nofollow noopener"&gt;Brad - Replication&lt;/a&gt;
Benedict writes after the show was over: The tool is called &lt;a href="https://github.com/allanjude/zxfer" target="_blank" rel="nofollow noopener"&gt;https://github.com/allanjude/zxfer&lt;/a&gt;
Tom tweeted right after recording stopped: 
&lt;a href="https://twitter.com/adventureloop/status/1420478529238622210" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/adventureloop/status/1420478529238622210&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/415/feedback/Caleb%20-%20Pronounciation%20of%20Gemini.md" target="_blank" rel="nofollow noopener"&gt;Caleb - Pronunciation of Gemini&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/415/feedback/Dan%20-%20Writeup%20about%20a%20DO%20FreeBSD%20Droplet.md" target="_blank" rel="nofollow noopener"&gt;Dan - Writeup about a DO FreeBSD Droplet&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, switch, server os, net/1, net/2, freedom, permissions, mistakes, riscv64, i2p, git sync murder, ghostbsd, init system </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Wrong Way to Switch Server OS, Net/1 and Net/2 – A Path to Freedom, Permissions Two Mistakes, OpenBSD progress in supporting riscv64 platform, I2P intro, git sync murder is out, GhostBSD init system poll, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://figbert.com/posts/wrong-way-to-switch-server-os/" target="_blank" rel="nofollow noopener">The Wrong Way to Switch Operating Systems on Your Server</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/history-of-freebsd-net-1-and-net-2-a-path-to-freedom/" target="_blank" rel="nofollow noopener">History of FreeBSD Part 5: Net/1 and Net/2 – A Path to Freedom</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/PermissionsTwoMistakes" target="_blank" rel="nofollow noopener">Permissions Two Mistakes</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210619161607" target="_blank" rel="nofollow noopener">Progress in support for the riscv64 platform</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-06-20-i2p-intro.html" target="_blank" rel="nofollow noopener">I2P Intro</a></h3>

<hr>

<h3><a href="https://mwl.io/archives/12105" target="_blank" rel="nofollow noopener">“$ git sync murder” is out, so: how many books have I written?</a></h3>

<hr>

<h3><a href="https://www.ghostbsd.org/what_init_system_pool" target="_blank" rel="nofollow noopener">What init system would you prefer to use under GhostBSD?</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/415/feedback/Brad%20-%20Replication.md" target="_blank" rel="nofollow noopener">Brad - Replication</a>
Benedict writes after the show was over: The tool is called <a href="https://github.com/allanjude/zxfer" target="_blank" rel="nofollow noopener">https://github.com/allanjude/zxfer</a>
Tom tweeted right after recording stopped: 
<a href="https://twitter.com/adventureloop/status/1420478529238622210" target="_blank" rel="nofollow noopener">https://twitter.com/adventureloop/status/1420478529238622210</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/415/feedback/Caleb%20-%20Pronounciation%20of%20Gemini.md" target="_blank" rel="nofollow noopener">Caleb - Pronunciation of Gemini</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/415/feedback/Dan%20-%20Writeup%20about%20a%20DO%20FreeBSD%20Droplet.md" target="_blank" rel="nofollow noopener">Dan - Writeup about a DO FreeBSD Droplet</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Wrong Way to Switch Server OS, Net/1 and Net/2 – A Path to Freedom, Permissions Two Mistakes, OpenBSD progress in supporting riscv64 platform, I2P intro, git sync murder is out, GhostBSD init system poll, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://figbert.com/posts/wrong-way-to-switch-server-os/" target="_blank" rel="nofollow noopener">The Wrong Way to Switch Operating Systems on Your Server</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/history-of-freebsd-net-1-and-net-2-a-path-to-freedom/" target="_blank" rel="nofollow noopener">History of FreeBSD Part 5: Net/1 and Net/2 – A Path to Freedom</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/PermissionsTwoMistakes" target="_blank" rel="nofollow noopener">Permissions Two Mistakes</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210619161607" target="_blank" rel="nofollow noopener">Progress in support for the riscv64 platform</a></h3>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-06-20-i2p-intro.html" target="_blank" rel="nofollow noopener">I2P Intro</a></h3>

<hr>

<h3><a href="https://mwl.io/archives/12105" target="_blank" rel="nofollow noopener">“$ git sync murder” is out, so: how many books have I written?</a></h3>

<hr>

<h3><a href="https://www.ghostbsd.org/what_init_system_pool" target="_blank" rel="nofollow noopener">What init system would you prefer to use under GhostBSD?</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/415/feedback/Brad%20-%20Replication.md" target="_blank" rel="nofollow noopener">Brad - Replication</a>
Benedict writes after the show was over: The tool is called <a href="https://github.com/allanjude/zxfer" target="_blank" rel="nofollow noopener">https://github.com/allanjude/zxfer</a>
Tom tweeted right after recording stopped: 
<a href="https://twitter.com/adventureloop/status/1420478529238622210" target="_blank" rel="nofollow noopener">https://twitter.com/adventureloop/status/1420478529238622210</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/415/feedback/Caleb%20-%20Pronounciation%20of%20Gemini.md" target="_blank" rel="nofollow noopener">Caleb - Pronunciation of Gemini</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/415/feedback/Dan%20-%20Writeup%20about%20a%20DO%20FreeBSD%20Droplet.md" target="_blank" rel="nofollow noopener">Dan - Writeup about a DO FreeBSD Droplet</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>414: Running online conferences</title>
  <link>https://www.bsdnow.tv/414</link>
  <guid isPermaLink="false">8ff1080d-5b31-430b-91ae-f2d5431bb1cb</guid>
  <pubDate>Thu, 05 Aug 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8ff1080d-5b31-430b-91ae-f2d5431bb1cb.mp3" length="41045544" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenZFS 2.1 is out, FreeBSD TCP Performance System Controls, IPFS OpenBSD, tips for running an online conference, fanless OpenBSD laptop, and more.</itunes:subtitle>
  <itunes:duration>1:03:11</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>&lt;p&gt;OpenZFS 2.1 is out, FreeBSD TCP Performance System Controls, IPFS OpenBSD, tips for running an online conference, fanless OpenBSD laptop, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://arstechnica.com/gadgets/2021/07/a-deep-dive-into-openzfs-2-1s-new-distributed-raid-topology/" target="_blank" rel="nofollow noopener"&gt;OpenZFS 2.1 is out&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-tcp-performance-system-controls/" target="_blank" rel="nofollow noopener"&gt;FreeBSD TCP Performance System Controls&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-04-17-ipfs-openbsd.html" target="_blank" rel="nofollow noopener"&gt;IPFS OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2021/07/23/tips-for-running-an-online-conference/" target="_blank" rel="nofollow noopener"&gt;Tips for running an online conference&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://jcs.org/2021/07/19/desktop" target="_blank" rel="nofollow noopener"&gt;My Fanless OpenBSD Desktop&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/414/feedback/Bruce%20-%20Upgrading.md" target="_blank" rel="nofollow noopener"&gt;Bruce - Upgrading&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/414/feedback/Chris%20-%20SMB%20Followup.md" target="_blank" rel="nofollow noopener"&gt;Chris - SMB Followup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/414/feedback/dmilith%20-%20kTLS.md" target="_blank" rel="nofollow noopener"&gt;dmilith - kTLS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, openzfs, tcp, performance, system controls, ipfs, conference, online, fanless</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenZFS 2.1 is out, FreeBSD TCP Performance System Controls, IPFS OpenBSD, tips for running an online conference, fanless OpenBSD laptop, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://arstechnica.com/gadgets/2021/07/a-deep-dive-into-openzfs-2-1s-new-distributed-raid-topology/" target="_blank" rel="nofollow noopener">OpenZFS 2.1 is out</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/freebsd-tcp-performance-system-controls/" target="_blank" rel="nofollow noopener">FreeBSD TCP Performance System Controls</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2021-04-17-ipfs-openbsd.html" target="_blank" rel="nofollow noopener">IPFS OpenBSD</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2021/07/23/tips-for-running-an-online-conference/" target="_blank" rel="nofollow noopener">Tips for running an online conference</a></h3>

<hr>

<h3><a href="https://jcs.org/2021/07/19/desktop" target="_blank" rel="nofollow noopener">My Fanless OpenBSD Desktop</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/414/feedback/Bruce%20-%20Upgrading.md" target="_blank" rel="nofollow noopener">Bruce - Upgrading</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/414/feedback/Chris%20-%20SMB%20Followup.md" target="_blank" rel="nofollow noopener">Chris - SMB Followup</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/414/feedback/dmilith%20-%20kTLS.md" target="_blank" rel="nofollow noopener">dmilith - kTLS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenZFS 2.1 is out, FreeBSD TCP Performance System Controls, IPFS OpenBSD, tips for running an online conference, fanless OpenBSD laptop, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://arstechnica.com/gadgets/2021/07/a-deep-dive-into-openzfs-2-1s-new-distributed-raid-topology/" target="_blank" rel="nofollow noopener">OpenZFS 2.1 is out</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/freebsd-tcp-performance-system-controls/" target="_blank" rel="nofollow noopener">FreeBSD TCP Performance System Controls</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2021-04-17-ipfs-openbsd.html" target="_blank" rel="nofollow noopener">IPFS OpenBSD</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2021/07/23/tips-for-running-an-online-conference/" target="_blank" rel="nofollow noopener">Tips for running an online conference</a></h3>

<hr>

<h3><a href="https://jcs.org/2021/07/19/desktop" target="_blank" rel="nofollow noopener">My Fanless OpenBSD Desktop</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/414/feedback/Bruce%20-%20Upgrading.md" target="_blank" rel="nofollow noopener">Bruce - Upgrading</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/414/feedback/Chris%20-%20SMB%20Followup.md" target="_blank" rel="nofollow noopener">Chris - SMB Followup</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/414/feedback/dmilith%20-%20kTLS.md" target="_blank" rel="nofollow noopener">dmilith - kTLS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>413: BSD/Linux Chimera</title>
  <link>https://www.bsdnow.tv/413</link>
  <guid isPermaLink="false">e54035b9-3b93-4966-b35f-d6bf7ac2c51c</guid>
  <pubDate>Thu, 29 Jul 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e54035b9-3b93-4966-b35f-d6bf7ac2c51c.mp3" length="29515944" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Updating GCC GNAT (Ada) in pkgsrc/NetBSD, AdvanceBSD thoughts 2/2, FreeBSD from a NetBSD user’s perspective, FPGA programming and DragonFly, Chimera Linux, EuroBSDcon 2021, and more.</itunes:subtitle>
  <itunes:duration>46:21</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>&lt;p&gt;Updating GCC GNAT (Ada) in pkgsrc/NetBSD, AdvanceBSD thoughts 2/2, FreeBSD from a NetBSD user’s perspective, FPGA programming and DragonFly, Chimera Linux, EuroBSDcon 2021, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.irvise.xyz/Projects%20&amp;amp;%20Engineering/updating-gcc-ada-pkgsrc.html" target="_blank" rel="nofollow noopener"&gt;Updating GCC GNAT (Ada) in pkgsrc/NetBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://eerielinux.wordpress.com/2021/06/20/advancebsd-thoughts-on-a-not-for-profit-project-to-support-bsd-2-2/" target="_blank" rel="nofollow noopener"&gt;Advance!BSD – thoughts on a not-for-profit project to support *BSD (2/2)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://washbear.neocities.org/freebsd-netbsd-user.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD from a NetBSD user’s perspective&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mastodon.sdf.org/@yrabbit/106497663837700420" target="_blank" rel="nofollow noopener"&gt;FPGA programming and DragonFly&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://chimera-linux.org/" target="_blank" rel="nofollow noopener"&gt;Chimera Linux - A Linux distribution based on FreeBSD userland and LLVM&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://2021.eurobsdcon.org/about/program/" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon 2021&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/413/feedback/Charlie%20-%20several%20questions.md" target="_blank" rel="nofollow noopener"&gt;Charlie - several questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/413/feedback/Dan%20-%20kernel%20driver%20or%20module%20question.md" target="_blank" rel="nofollow noopener"&gt;Dan - kernel driver or module question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/413/feedback/James%20-%20Apple%20M1.md" target="_blank" rel="nofollow noopener"&gt;James - Apple M1&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, gcc gnat, pkgsrc, advancebsd, user perspective, fpga, programming, chimera linux, eurobsdcon 2021 </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Updating GCC GNAT (Ada) in pkgsrc/NetBSD, AdvanceBSD thoughts 2/2, FreeBSD from a NetBSD user’s perspective, FPGA programming and DragonFly, Chimera Linux, EuroBSDcon 2021, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.irvise.xyz/Projects%20&amp;%20Engineering/updating-gcc-ada-pkgsrc.html" target="_blank" rel="nofollow noopener">Updating GCC GNAT (Ada) in pkgsrc/NetBSD</a></h3>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2021/06/20/advancebsd-thoughts-on-a-not-for-profit-project-to-support-bsd-2-2/" target="_blank" rel="nofollow noopener">Advance!BSD – thoughts on a not-for-profit project to support *BSD (2/2)</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://washbear.neocities.org/freebsd-netbsd-user.html" target="_blank" rel="nofollow noopener">FreeBSD from a NetBSD user’s perspective</a></h3>

<hr>

<h3><a href="https://mastodon.sdf.org/@yrabbit/106497663837700420" target="_blank" rel="nofollow noopener">FPGA programming and DragonFly</a></h3>

<hr>

<h3><a href="https://chimera-linux.org/" target="_blank" rel="nofollow noopener">Chimera Linux - A Linux distribution based on FreeBSD userland and LLVM</a></h3>

<hr>

<h3><a href="https://2021.eurobsdcon.org/about/program/" target="_blank" rel="nofollow noopener">EuroBSDcon 2021</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/413/feedback/Charlie%20-%20several%20questions.md" target="_blank" rel="nofollow noopener">Charlie - several questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/413/feedback/Dan%20-%20kernel%20driver%20or%20module%20question.md" target="_blank" rel="nofollow noopener">Dan - kernel driver or module question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/413/feedback/James%20-%20Apple%20M1.md" target="_blank" rel="nofollow noopener">James - Apple M1</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Updating GCC GNAT (Ada) in pkgsrc/NetBSD, AdvanceBSD thoughts 2/2, FreeBSD from a NetBSD user’s perspective, FPGA programming and DragonFly, Chimera Linux, EuroBSDcon 2021, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.irvise.xyz/Projects%20&amp;%20Engineering/updating-gcc-ada-pkgsrc.html" target="_blank" rel="nofollow noopener">Updating GCC GNAT (Ada) in pkgsrc/NetBSD</a></h3>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2021/06/20/advancebsd-thoughts-on-a-not-for-profit-project-to-support-bsd-2-2/" target="_blank" rel="nofollow noopener">Advance!BSD – thoughts on a not-for-profit project to support *BSD (2/2)</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://washbear.neocities.org/freebsd-netbsd-user.html" target="_blank" rel="nofollow noopener">FreeBSD from a NetBSD user’s perspective</a></h3>

<hr>

<h3><a href="https://mastodon.sdf.org/@yrabbit/106497663837700420" target="_blank" rel="nofollow noopener">FPGA programming and DragonFly</a></h3>

<hr>

<h3><a href="https://chimera-linux.org/" target="_blank" rel="nofollow noopener">Chimera Linux - A Linux distribution based on FreeBSD userland and LLVM</a></h3>

<hr>

<h3><a href="https://2021.eurobsdcon.org/about/program/" target="_blank" rel="nofollow noopener">EuroBSDcon 2021</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/413/feedback/Charlie%20-%20several%20questions.md" target="_blank" rel="nofollow noopener">Charlie - several questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/413/feedback/Dan%20-%20kernel%20driver%20or%20module%20question.md" target="_blank" rel="nofollow noopener">Dan - kernel driver or module question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/413/feedback/James%20-%20Apple%20M1.md" target="_blank" rel="nofollow noopener">James - Apple M1</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>412: Command-line secrets</title>
  <link>https://www.bsdnow.tv/412</link>
  <guid isPermaLink="false">f3fe3f12-5ca4-4339-b8e6-b5ca17f067d9</guid>
  <pubDate>Thu, 22 Jul 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f3fe3f12-5ca4-4339-b8e6-b5ca17f067d9.mp3" length="31518216" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Performance Observability, Advance!BSD thoughts 1/2, Lumina Desktop Maintainership Change, How to Handle Secrets on the Command Line, Like NetBSD DragonFlyBSD Now Has "COVID", and more.</itunes:subtitle>
  <itunes:duration>50:46</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>&lt;p&gt;FreeBSD Performance Observability, Advance!BSD thoughts 1/2, Lumina Desktop Maintainership Change, How to Handle Secrets on the Command Line, Like NetBSD DragonFlyBSD Now Has "COVID", and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-performance-observability/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Performance Observability&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://eerielinux.wordpress.com/2021/06/20/advancebsd-thoughts-on-a-not-for-profit-project-to-support-bsd-1-2/" target="_blank" rel="nofollow noopener"&gt;Advance!BSD – thoughts on a not-for-profit project to support *BSD (1/2)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lumina-desktop.org/post/2021-06-23/" target="_blank" rel="nofollow noopener"&gt;Maintainership Change :: Lumina Desktop Environment&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;&lt;a href="https://lumina-desktop.org/post/2021-07-01/" target="_blank" rel="nofollow noopener"&gt;Study the past if you would define the Future&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://smallstep.com/blog/command-line-secrets/" target="_blank" rel="nofollow noopener"&gt;How to Handle Secrets on the Command Line&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=DragonFlyBSD-COVID" target="_blank" rel="nofollow noopener"&gt;Following NetBSD, DragonFlyBSD Now Has "COVID"&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/412/feedback/Jim%20-%20freebsd%20kde.md" target="_blank" rel="nofollow noopener"&gt;Jim - freebsd kde&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/412/feedback/michal%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener"&gt;michal - zfs question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/412/feedback/tim%20-%20lumina%20and%20snapshots.md" target="_blank" rel="nofollow noopener"&gt;tim - lumina and snapshots&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, performance, observability, advancebsd, lumina desktop, desktop environment, maintainership, secrets, command line</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Performance Observability, Advance!BSD thoughts 1/2, Lumina Desktop Maintainership Change, How to Handle Secrets on the Command Line, Like NetBSD DragonFlyBSD Now Has "COVID", 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-performance-observability/" target="_blank" rel="nofollow noopener">FreeBSD Performance Observability</a></h3>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2021/06/20/advancebsd-thoughts-on-a-not-for-profit-project-to-support-bsd-1-2/" target="_blank" rel="nofollow noopener">Advance!BSD – thoughts on a not-for-profit project to support *BSD (1/2)</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lumina-desktop.org/post/2021-06-23/" target="_blank" rel="nofollow noopener">Maintainership Change :: Lumina Desktop Environment</a></h3>

<h3><a href="https://lumina-desktop.org/post/2021-07-01/" target="_blank" rel="nofollow noopener">Study the past if you would define the Future</a></h3>

<hr>

<h3><a href="https://smallstep.com/blog/command-line-secrets/" target="_blank" rel="nofollow noopener">How to Handle Secrets on the Command Line</a></h3>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=DragonFlyBSD-COVID" target="_blank" rel="nofollow noopener">Following NetBSD, DragonFlyBSD Now Has "COVID"</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/412/feedback/Jim%20-%20freebsd%20kde.md" target="_blank" rel="nofollow noopener">Jim - freebsd kde</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/412/feedback/michal%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener">michal - zfs question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/412/feedback/tim%20-%20lumina%20and%20snapshots.md" target="_blank" rel="nofollow noopener">tim - lumina and snapshots</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Performance Observability, Advance!BSD thoughts 1/2, Lumina Desktop Maintainership Change, How to Handle Secrets on the Command Line, Like NetBSD DragonFlyBSD Now Has "COVID", 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-performance-observability/" target="_blank" rel="nofollow noopener">FreeBSD Performance Observability</a></h3>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2021/06/20/advancebsd-thoughts-on-a-not-for-profit-project-to-support-bsd-1-2/" target="_blank" rel="nofollow noopener">Advance!BSD – thoughts on a not-for-profit project to support *BSD (1/2)</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lumina-desktop.org/post/2021-06-23/" target="_blank" rel="nofollow noopener">Maintainership Change :: Lumina Desktop Environment</a></h3>

<h3><a href="https://lumina-desktop.org/post/2021-07-01/" target="_blank" rel="nofollow noopener">Study the past if you would define the Future</a></h3>

<hr>

<h3><a href="https://smallstep.com/blog/command-line-secrets/" target="_blank" rel="nofollow noopener">How to Handle Secrets on the Command Line</a></h3>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=DragonFlyBSD-COVID" target="_blank" rel="nofollow noopener">Following NetBSD, DragonFlyBSD Now Has "COVID"</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/412/feedback/Jim%20-%20freebsd%20kde.md" target="_blank" rel="nofollow noopener">Jim - freebsd kde</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/412/feedback/michal%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener">michal - zfs question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/412/feedback/tim%20-%20lumina%20and%20snapshots.md" target="_blank" rel="nofollow noopener">tim - lumina and snapshots</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>411: FreeBSD Deep Dive</title>
  <link>https://www.bsdnow.tv/411</link>
  <guid isPermaLink="false">fbef1ff0-004b-4e2f-ba8a-60da4d3d818f</guid>
  <pubDate>Thu, 15 Jul 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/fbef1ff0-004b-4e2f-ba8a-60da4d3d818f.mp3" length="29125920" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Unix System Architecture Evolution, Deep Dive into FreeBSD’s Strengths, how developers chose names, OPNsense 21.1.7 released, Support for chdir(2) in posix_spawn(3), vagrant-freebsd-boxbuilder, OpenBSD’s IATA airport code file, and more</itunes:subtitle>
  <itunes:duration>46:21</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>&lt;p&gt;Unix System Architecture Evolution, Deep Dive into FreeBSD’s Strengths, how developers chose names, OPNsense 21.1.7 released, Support for chdir(2) in posix_spawn(3), vagrant-freebsd-boxbuilder, OpenBSD’s IATA airport code file, and more&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.spinellis.gr/blog/20210618/index.html" target="_blank" rel="nofollow noopener"&gt;The Evolution of the Unix System Architecture&lt;/a&gt;&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;• Full IEEE article: https://ieeexplore.ieee.org/document/8704965
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/deep-diving-into-the-strengths-of-freebsd/" target="_blank" rel="nofollow noopener"&gt;Deep Diving Into the Strengths of FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://arxiv.org/abs/2103.07487" target="_blank" rel="nofollow noopener"&gt;Interesting read on how Developers choose Names&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-21-1-7-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 21.1.7 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/support_for_chdir_2_in" target="_blank" rel="nofollow noopener"&gt;Support for chdir(2) in posix_spawn(3)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/punktDe/vagrant-freebsd-boxbuilder" target="_blank" rel="nofollow noopener"&gt;vagrant-freebsd-boxbuilder&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://twitter.com/jpmens/status/1408825989174546434?s=28" target="_blank" rel="nofollow noopener"&gt;OpenBSD has a file with 3-letter IATA airport codes&lt;/a&gt;&lt;/h3&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/411/feedback/lyubo%20-%20ipfw%20question.md" target="_blank" rel="nofollow noopener"&gt;lyubo - ipfw question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/411/feedback/michael%20-%20a%20netbsd%20story.md" target="_blank" rel="nofollow noopener"&gt;michael - a netbsd story&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/411/feedback/sven%20-%20a%20dogs%20garage.md" target="_blank" rel="nofollow noopener"&gt;sven - a dogs garage&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, system, system architecture, evolution, deep dive, strengths, developers, chose name, opnsense, chdir, posix_spawn, freebsd boxbuilder, iata, airport code</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Unix System Architecture Evolution, Deep Dive into FreeBSD’s Strengths, how developers chose names, OPNsense 21.1.7 released, Support for chdir(2) in posix_spawn(3), vagrant-freebsd-boxbuilder, OpenBSD’s IATA airport code file, and more</p>

<p>This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.spinellis.gr/blog/20210618/index.html" target="_blank" rel="nofollow noopener">The Evolution of the Unix System Architecture</a></h3>

<pre><code>• Full IEEE article: https://ieeexplore.ieee.org/document/8704965
</code></pre>

<hr>

<h3><a href="https://klarasystems.com/articles/deep-diving-into-the-strengths-of-freebsd/" target="_blank" rel="nofollow noopener">Deep Diving Into the Strengths of FreeBSD</a></h3>

<hr>

<hr>

<h3><a href="https://arxiv.org/abs/2103.07487" target="_blank" rel="nofollow noopener">Interesting read on how Developers choose Names</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://opnsense.org/opnsense-21-1-7-released/" target="_blank" rel="nofollow noopener">OPNsense 21.1.7 released</a></h3>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/support_for_chdir_2_in" target="_blank" rel="nofollow noopener">Support for chdir(2) in posix_spawn(3)</a></h3>

<hr>

<h3><a href="https://github.com/punktDe/vagrant-freebsd-boxbuilder" target="_blank" rel="nofollow noopener">vagrant-freebsd-boxbuilder</a></h3>

<hr>

<h3><a href="https://twitter.com/jpmens/status/1408825989174546434?s=28" target="_blank" rel="nofollow noopener">OpenBSD has a file with 3-letter IATA airport codes</a></h3>

<h2>Beastie Bits</h2>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/411/feedback/lyubo%20-%20ipfw%20question.md" target="_blank" rel="nofollow noopener">lyubo - ipfw question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/411/feedback/michael%20-%20a%20netbsd%20story.md" target="_blank" rel="nofollow noopener">michael - a netbsd story</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/411/feedback/sven%20-%20a%20dogs%20garage.md" target="_blank" rel="nofollow noopener">sven - a dogs garage</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Unix System Architecture Evolution, Deep Dive into FreeBSD’s Strengths, how developers chose names, OPNsense 21.1.7 released, Support for chdir(2) in posix_spawn(3), vagrant-freebsd-boxbuilder, OpenBSD’s IATA airport code file, and more</p>

<p>This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.spinellis.gr/blog/20210618/index.html" target="_blank" rel="nofollow noopener">The Evolution of the Unix System Architecture</a></h3>

<pre><code>• Full IEEE article: https://ieeexplore.ieee.org/document/8704965
</code></pre>

<hr>

<h3><a href="https://klarasystems.com/articles/deep-diving-into-the-strengths-of-freebsd/" target="_blank" rel="nofollow noopener">Deep Diving Into the Strengths of FreeBSD</a></h3>

<hr>

<hr>

<h3><a href="https://arxiv.org/abs/2103.07487" target="_blank" rel="nofollow noopener">Interesting read on how Developers choose Names</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://opnsense.org/opnsense-21-1-7-released/" target="_blank" rel="nofollow noopener">OPNsense 21.1.7 released</a></h3>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/support_for_chdir_2_in" target="_blank" rel="nofollow noopener">Support for chdir(2) in posix_spawn(3)</a></h3>

<hr>

<h3><a href="https://github.com/punktDe/vagrant-freebsd-boxbuilder" target="_blank" rel="nofollow noopener">vagrant-freebsd-boxbuilder</a></h3>

<hr>

<h3><a href="https://twitter.com/jpmens/status/1408825989174546434?s=28" target="_blank" rel="nofollow noopener">OpenBSD has a file with 3-letter IATA airport codes</a></h3>

<h2>Beastie Bits</h2>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/411/feedback/lyubo%20-%20ipfw%20question.md" target="_blank" rel="nofollow noopener">lyubo - ipfw question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/411/feedback/michael%20-%20a%20netbsd%20story.md" target="_blank" rel="nofollow noopener">michael - a netbsd story</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/411/feedback/sven%20-%20a%20dogs%20garage.md" target="_blank" rel="nofollow noopener">sven - a dogs garage</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>410: OpenBSD Consumer Gateway</title>
  <link>https://www.bsdnow.tv/410</link>
  <guid isPermaLink="false">ca24916c-088c-4704-b7e5-617a89307013</guid>
  <pubDate>Thu, 08 Jul 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ca24916c-088c-4704-b7e5-617a89307013.mp3" length="26231352" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Open Source and Blogging Bubbles, Building Customized FreeBSD Images, Updating Minecraft in FreeBSD, Upgrading FreeBSD jails using mkjail, Dragonfly 6.0 Performance benchmark, OpenBSD Consumer Gateway Launch, and more.</itunes:subtitle>
  <itunes:duration>41:54</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>&lt;p&gt;Open Source and Blogging Bubbles, Building Customized FreeBSD Images, Updating Minecraft in FreeBSD, Upgrading FreeBSD jails using mkjail, Dragonfly 6.0 Performance benchmark, OpenBSD Consumer Gateway Launch, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.baldurbjarnason.com/2021/the-oss-bubble-and-the-blogging-bubble/" target="_blank" rel="nofollow noopener"&gt;The Open-Source Software bubble that is and the blogging bubble that was&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/building-customized-freebsd-images/" target="_blank" rel="nofollow noopener"&gt;Building Customized FreeBSD Images&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/updating-to-minecraft-1-17-in-freebsd/" target="_blank" rel="nofollow noopener"&gt;Updating to Minecraft 1.17 in FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2021/05/31/upgrading-a-freebsd-12-2-jail-to-freebsd-13-using-mkjail/" target="_blank" rel="nofollow noopener"&gt;Upgrading a FreeBSD 12.2 jail to FreeBSD 13 using mkjail&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=article&amp;amp;item=corei9-freebsd13-dfly6&amp;amp;num=1" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD 6.0 Is Performing Very Well Against Ubuntu Linux, FreeBSD 13.0&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.mail-archive.com/misc@openbsd.org/msg178573.html" target="_blank" rel="nofollow noopener"&gt;An OpenBSD Consumer Gateway Launch&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/410/feedback/CY%20-%20bearssl.md" target="_blank" rel="nofollow noopener"&gt;CY - bearssl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/410/feedback/Marc%20-%20that%20tarsnap%20ad.md" target="_blank" rel="nofollow noopener"&gt;Marc - that tarsnap ad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/410/feedback/nycbug.md" target="_blank" rel="nofollow noopener"&gt;nycbug&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, blogging, blog, bubble, custom image, building images, minecraft, upgrading, mkjail, performance, consumer, consumer gateway, gateway launch</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Open Source and Blogging Bubbles, Building Customized FreeBSD Images, Updating Minecraft in FreeBSD, Upgrading FreeBSD jails using mkjail, Dragonfly 6.0 Performance benchmark, OpenBSD Consumer Gateway Launch, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.baldurbjarnason.com/2021/the-oss-bubble-and-the-blogging-bubble/" target="_blank" rel="nofollow noopener">The Open-Source Software bubble that is and the blogging bubble that was</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/building-customized-freebsd-images/" target="_blank" rel="nofollow noopener">Building Customized FreeBSD Images</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/updating-to-minecraft-1-17-in-freebsd/" target="_blank" rel="nofollow noopener">Updating to Minecraft 1.17 in FreeBSD</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2021/05/31/upgrading-a-freebsd-12-2-jail-to-freebsd-13-using-mkjail/" target="_blank" rel="nofollow noopener">Upgrading a FreeBSD 12.2 jail to FreeBSD 13 using mkjail</a></h3>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=corei9-freebsd13-dfly6&amp;num=1" target="_blank" rel="nofollow noopener">DragonFlyBSD 6.0 Is Performing Very Well Against Ubuntu Linux, FreeBSD 13.0</a></h3>

<hr>

<h3><a href="https://www.mail-archive.com/misc@openbsd.org/msg178573.html" target="_blank" rel="nofollow noopener">An OpenBSD Consumer Gateway Launch</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/410/feedback/CY%20-%20bearssl.md" target="_blank" rel="nofollow noopener">CY - bearssl</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/410/feedback/Marc%20-%20that%20tarsnap%20ad.md" target="_blank" rel="nofollow noopener">Marc - that tarsnap ad</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/410/feedback/nycbug.md" target="_blank" rel="nofollow noopener">nycbug</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Open Source and Blogging Bubbles, Building Customized FreeBSD Images, Updating Minecraft in FreeBSD, Upgrading FreeBSD jails using mkjail, Dragonfly 6.0 Performance benchmark, OpenBSD Consumer Gateway Launch, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.baldurbjarnason.com/2021/the-oss-bubble-and-the-blogging-bubble/" target="_blank" rel="nofollow noopener">The Open-Source Software bubble that is and the blogging bubble that was</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/building-customized-freebsd-images/" target="_blank" rel="nofollow noopener">Building Customized FreeBSD Images</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/updating-to-minecraft-1-17-in-freebsd/" target="_blank" rel="nofollow noopener">Updating to Minecraft 1.17 in FreeBSD</a></h3>

<hr>

<h3><a href="https://dan.langille.org/2021/05/31/upgrading-a-freebsd-12-2-jail-to-freebsd-13-using-mkjail/" target="_blank" rel="nofollow noopener">Upgrading a FreeBSD 12.2 jail to FreeBSD 13 using mkjail</a></h3>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=corei9-freebsd13-dfly6&amp;num=1" target="_blank" rel="nofollow noopener">DragonFlyBSD 6.0 Is Performing Very Well Against Ubuntu Linux, FreeBSD 13.0</a></h3>

<hr>

<h3><a href="https://www.mail-archive.com/misc@openbsd.org/msg178573.html" target="_blank" rel="nofollow noopener">An OpenBSD Consumer Gateway Launch</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/410/feedback/CY%20-%20bearssl.md" target="_blank" rel="nofollow noopener">CY - bearssl</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/410/feedback/Marc%20-%20that%20tarsnap%20ad.md" target="_blank" rel="nofollow noopener">Marc - that tarsnap ad</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/410/feedback/nycbug.md" target="_blank" rel="nofollow noopener">nycbug</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>409: The Filesystem Dungeon</title>
  <link>https://www.bsdnow.tv/409</link>
  <guid isPermaLink="false">de8a3516-c307-49bf-8afc-4f880bca5739</guid>
  <pubDate>Thu, 01 Jul 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/de8a3516-c307-49bf-8afc-4f880bca5739.mp3" length="32932752" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>DTrace network probes, next 50 years of shell programming, NetBSD on the Vortex86DX CPU, system CPU time in top, your filesystem as a dungeon, diving into toolchains, and more</itunes:subtitle>
  <itunes:duration>52: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>&lt;p&gt;DTrace network probes, next 50 years of shell programming, NetBSD on the Vortex86DX CPU, system CPU time in top, your filesystem as a dungeon, diving into toolchains, and more &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/dtrace-network-probes/" target="_blank" rel="nofollow noopener"&gt;DTrace Network Probes&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sigops.org/s/conferences/hotos/2021/papers/hotos21-s06-greenberg.pdf" target="_blank" rel="nofollow noopener"&gt;Unix Shell Programming: The Next 50 Years&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/netbsd-on-the-vortex86dx-cpu/" target="_blank" rel="nofollow noopener"&gt;NetBSD on the Vortex86DX CPU&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.ycrash.io/2020/11/28/system-cpu-time-sys-time-in-top/" target="_blank" rel="nofollow noopener"&gt;System CPU time – ‘sys’ time in top&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/facundoolano/rpg-cli" target="_blank" rel="nofollow noopener"&gt;rpg-cli —your filesystem as a dungeon!&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/diving-into-toolchains/" target="_blank" rel="nofollow noopener"&gt;Diving into toolchains&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [Alfred - Advice](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/409/feedback/Alfred%20-%20Advice)
• [CY - Portable Patch Util](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/409/feedback/CY%20-%20Portable%20Patch%20Util)
• [Denis - State of ZFS Ecosystem](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/409/feedback/Denis%20-%20State%20of%20ZFS%20Ecosystem)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, DTrace, network probes, shell, shell programming, vortex86dx, cpu time, top, filesystem, dungeon, diving, toolchain</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>DTrace network probes, next 50 years of shell programming, NetBSD on the Vortex86DX CPU, system CPU time in top, your filesystem as a dungeon, diving into toolchains, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/dtrace-network-probes/" target="_blank" rel="nofollow noopener">DTrace Network Probes</a></h3>

<hr>

<h3><a href="https://sigops.org/s/conferences/hotos/2021/papers/hotos21-s06-greenberg.pdf" target="_blank" rel="nofollow noopener">Unix Shell Programming: The Next 50 Years</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.cambus.net/netbsd-on-the-vortex86dx-cpu/" target="_blank" rel="nofollow noopener">NetBSD on the Vortex86DX CPU</a></h3>

<hr>

<h3><a href="https://blog.ycrash.io/2020/11/28/system-cpu-time-sys-time-in-top/" target="_blank" rel="nofollow noopener">System CPU time – ‘sys’ time in top</a></h3>

<hr>

<h3><a href="https://github.com/facundoolano/rpg-cli" target="_blank" rel="nofollow noopener">rpg-cli —your filesystem as a dungeon!</a></h3>

<hr>

<h3><a href="https://www.cambus.net/diving-into-toolchains/" target="_blank" rel="nofollow noopener">Diving into toolchains</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<pre><code>• [Alfred - Advice](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/409/feedback/Alfred%20-%20Advice)
• [CY - Portable Patch Util](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/409/feedback/CY%20-%20Portable%20Patch%20Util)
• [Denis - State of ZFS Ecosystem](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/409/feedback/Denis%20-%20State%20of%20ZFS%20Ecosystem)
</code></pre>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>DTrace network probes, next 50 years of shell programming, NetBSD on the Vortex86DX CPU, system CPU time in top, your filesystem as a dungeon, diving into toolchains, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/dtrace-network-probes/" target="_blank" rel="nofollow noopener">DTrace Network Probes</a></h3>

<hr>

<h3><a href="https://sigops.org/s/conferences/hotos/2021/papers/hotos21-s06-greenberg.pdf" target="_blank" rel="nofollow noopener">Unix Shell Programming: The Next 50 Years</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.cambus.net/netbsd-on-the-vortex86dx-cpu/" target="_blank" rel="nofollow noopener">NetBSD on the Vortex86DX CPU</a></h3>

<hr>

<h3><a href="https://blog.ycrash.io/2020/11/28/system-cpu-time-sys-time-in-top/" target="_blank" rel="nofollow noopener">System CPU time – ‘sys’ time in top</a></h3>

<hr>

<h3><a href="https://github.com/facundoolano/rpg-cli" target="_blank" rel="nofollow noopener">rpg-cli —your filesystem as a dungeon!</a></h3>

<hr>

<h3><a href="https://www.cambus.net/diving-into-toolchains/" target="_blank" rel="nofollow noopener">Diving into toolchains</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<pre><code>• [Alfred - Advice](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/409/feedback/Alfred%20-%20Advice)
• [CY - Portable Patch Util](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/409/feedback/CY%20-%20Portable%20Patch%20Util)
• [Denis - State of ZFS Ecosystem](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/409/feedback/Denis%20-%20State%20of%20ZFS%20Ecosystem)
</code></pre>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>408: FreeBSD DevSummit 2021</title>
  <link>https://www.bsdnow.tv/408</link>
  <guid isPermaLink="false">62094053-3e0f-4996-ac35-7d3f3a62572d</guid>
  <pubDate>Thu, 24 Jun 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/62094053-3e0f-4996-ac35-7d3f3a62572d.mp3" length="37936488" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Report from virtual FreeBSD DevSummit 2021, another promising release by FreeBSD Based helloSystem, GearBSD, OpenBGPD release, Let’s Encrypt on OpenBSD, FreeBSD 13 on the Panasonic Let’s Note, and more
</itunes:subtitle>
  <itunes:duration>57: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>&lt;p&gt;Report from virtual FreeBSD DevSummit 2021, another promising release by FreeBSD Based helloSystem, GearBSD, OpenBGPD release, Let’s Encrypt on OpenBSD, FreeBSD 13 on the Panasonic Let’s Note, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-developer-summit-2021/" target="_blank" rel="nofollow noopener"&gt;2021 FreeBSD Developer Summit&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.debugpoint.com/2021/06/hellosystem-0-5-0-release/" target="_blank" rel="nofollow noopener"&gt;helloSystem – FreeBSD Based OS Brings another Promising Release 0.5.0&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-06-01-gearbsd.html" target="_blank" rel="nofollow noopener"&gt;GearBSD: a project to help automating your OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsdsec.net/articles/openbgpd-7-0-released" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 7.0 released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/OpenBSDNiceLetsEncrypt" target="_blank" rel="nofollow noopener"&gt;Simple use of Let's Encrypt on OpenBSD is pleasantly straightforward (as of 6.8)&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/freebsd-13-on-the-panasonic-cf-rz6/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13 on the Panasonic Let’s Note CF-RZ6&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [Paul - ZFS Questions](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/408/feedback/Paul%20-%20ZFS%20Questions)
• [Rafael - relic](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/408/feedback/Rafael%20-%20relic)
• [matthew - sendfile and ktls](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/408/feedback/matthew%20-%20sendfile%20and%20ktls)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, devsummit, report, helloSystem, GearBSD, openBGPD, let’s encrypt, encryption, ssl, tls, panasonic, let’s note</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Report from virtual FreeBSD DevSummit 2021, another promising release by FreeBSD Based helloSystem, GearBSD, OpenBGPD release, Let’s Encrypt on OpenBSD, FreeBSD 13 on the Panasonic Let’s Note, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-developer-summit-2021/" target="_blank" rel="nofollow noopener">2021 FreeBSD Developer Summit</a></h3>

<hr>

<h3><a href="https://www.debugpoint.com/2021/06/hellosystem-0-5-0-release/" target="_blank" rel="nofollow noopener">helloSystem – FreeBSD Based OS Brings another Promising Release 0.5.0</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2021-06-01-gearbsd.html" target="_blank" rel="nofollow noopener">GearBSD: a project to help automating your OpenBSD</a></h3>

<hr>

<h3><a href="https://bsdsec.net/articles/openbgpd-7-0-released" target="_blank" rel="nofollow noopener">OpenBGPD 7.0 released</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/OpenBSDNiceLetsEncrypt" target="_blank" rel="nofollow noopener">Simple use of Let's Encrypt on OpenBSD is pleasantly straightforward (as of 6.8)</a></h3>

<hr>

<h3><a href="https://rubenerd.com/freebsd-13-on-the-panasonic-cf-rz6/" target="_blank" rel="nofollow noopener">FreeBSD 13 on the Panasonic Let’s Note CF-RZ6</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<pre><code>• [Paul - ZFS Questions](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/408/feedback/Paul%20-%20ZFS%20Questions)
• [Rafael - relic](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/408/feedback/Rafael%20-%20relic)
• [matthew - sendfile and ktls](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/408/feedback/matthew%20-%20sendfile%20and%20ktls)
</code></pre>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Report from virtual FreeBSD DevSummit 2021, another promising release by FreeBSD Based helloSystem, GearBSD, OpenBGPD release, Let’s Encrypt on OpenBSD, FreeBSD 13 on the Panasonic Let’s Note, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-developer-summit-2021/" target="_blank" rel="nofollow noopener">2021 FreeBSD Developer Summit</a></h3>

<hr>

<h3><a href="https://www.debugpoint.com/2021/06/hellosystem-0-5-0-release/" target="_blank" rel="nofollow noopener">helloSystem – FreeBSD Based OS Brings another Promising Release 0.5.0</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2021-06-01-gearbsd.html" target="_blank" rel="nofollow noopener">GearBSD: a project to help automating your OpenBSD</a></h3>

<hr>

<h3><a href="https://bsdsec.net/articles/openbgpd-7-0-released" target="_blank" rel="nofollow noopener">OpenBGPD 7.0 released</a></h3>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/OpenBSDNiceLetsEncrypt" target="_blank" rel="nofollow noopener">Simple use of Let's Encrypt on OpenBSD is pleasantly straightforward (as of 6.8)</a></h3>

<hr>

<h3><a href="https://rubenerd.com/freebsd-13-on-the-panasonic-cf-rz6/" target="_blank" rel="nofollow noopener">FreeBSD 13 on the Panasonic Let’s Note CF-RZ6</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<pre><code>• [Paul - ZFS Questions](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/408/feedback/Paul%20-%20ZFS%20Questions)
• [Rafael - relic](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/408/feedback/Rafael%20-%20relic)
• [matthew - sendfile and ktls](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/408/feedback/matthew%20-%20sendfile%20and%20ktls)
</code></pre>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>407: The jail Detail</title>
  <link>https://www.bsdnow.tv/407</link>
  <guid isPermaLink="false">ffb08bc6-ffde-4b63-bd68-9f70872557ef</guid>
  <pubDate>Thu, 17 Jun 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ffb08bc6-ffde-4b63-bd68-9f70872557ef.mp3" length="27481848" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Confining the omnipotent root, Jails with ZFS and PF on DigitalOcean, NomadBSD 130R is out, KDE Plasma Wayland on FreeBSD, Firefox under FreeBSD with Privacy, Using NetBSD’s pkgsrc everywhere, and more.</itunes:subtitle>
  <itunes:duration>45:29</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>&lt;p&gt;Confining the omnipotent root, Jails with ZFS and PF on DigitalOcean, NomadBSD 130R is out, KDE Plasma Wayland on FreeBSD, Firefox under FreeBSD with Privacy, Using NetBSD’s pkgsrc everywhere, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://phk.freebsd.dk/pubs/sane2000-jail.pdf" target="_blank" rel="nofollow noopener"&gt;Jails: Confining the omnipotent root&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A dramatic reading of portions of the paper: &lt;a href="https://paperswelove.org/2016/video/bryan-cantrill-jails-and-solaris-zones/" target="_blank" rel="nofollow noopener"&gt;Papers We Love: FreeBSD Jails and Solaris Zones&lt;/a&gt;
***
### 
&lt;a href="https://medium.com/chris-opperwall/using-jails-with-zfs-and-pf-on-digitalocean-b25b1da82e20" target="_blank" rel="nofollow noopener"&gt;Using Jails with ZFS and PF on DigitalOcean&lt;/a&gt;
***
## News Roundup
### &lt;a href="https://www.itsfoss.net/nomadbsd-130r-is-now-available-to-download-based-on-freebsd-13-0/" target="_blank" rel="nofollow noopener"&gt;NomadBSD 130R is out&lt;/a&gt;
***
### &lt;a href="https://euroquis.nl//kde/2021/05/09/wayland.html" target="_blank" rel="nofollow noopener"&gt;KDE Plasma Wayland - a week in FreeBSD&lt;/a&gt;
***
### &lt;a href="https://danschmid.de/en/blog/install-firefox-under-freebsd-and-set-it-up-with-privacy" target="_blank" rel="nofollow noopener"&gt;Install Firefox under FreeBSD and Set it Up with Privacy&lt;/a&gt;
***
&lt;a href="https://rubenerd.com/using-netbsds-pkgsrc-everywhere-i-can/" target="_blank" rel="nofollow noopener"&gt;Using NetBSD’s pkgsrc everywhere I can&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/407/feedback/Malcolm%20-%20restoring%20a%20single%20file" target="_blank" rel="nofollow noopener"&gt;Malcolm - restoring a single file&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/407/feedback/Nathan%20-%20wireless%20support" target="_blank" rel="nofollow noopener"&gt;Nathan - wireless support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/407/feedback/bluefire%20-%20zfs%20special%20vdev" target="_blank" rel="nofollow noopener"&gt;bluefire - zfs special vdev&lt;/a&gt;
Push to next show with Allan&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, jail, root, pf, digitalocean, nomadbsd, kde plasma, wayland, firefox, privacy, pkgsrc </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Confining the omnipotent root, Jails with ZFS and PF on DigitalOcean, NomadBSD 130R is out, KDE Plasma Wayland on FreeBSD, Firefox under FreeBSD with Privacy, Using NetBSD’s pkgsrc everywhere, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="http://phk.freebsd.dk/pubs/sane2000-jail.pdf" target="_blank" rel="nofollow noopener">Jails: Confining the omnipotent root</a></h3>

<ul>
<li>A dramatic reading of portions of the paper: <a href="https://paperswelove.org/2016/video/bryan-cantrill-jails-and-solaris-zones/" target="_blank" rel="nofollow noopener">Papers We Love: FreeBSD Jails and Solaris Zones</a>
***
### 
<a href="https://medium.com/chris-opperwall/using-jails-with-zfs-and-pf-on-digitalocean-b25b1da82e20" target="_blank" rel="nofollow noopener">Using Jails with ZFS and PF on DigitalOcean</a>
***
## News Roundup
### <a href="https://www.itsfoss.net/nomadbsd-130r-is-now-available-to-download-based-on-freebsd-13-0/" target="_blank" rel="nofollow noopener">NomadBSD 130R is out</a>
***
### <a href="https://euroquis.nl//kde/2021/05/09/wayland.html" target="_blank" rel="nofollow noopener">KDE Plasma Wayland - a week in FreeBSD</a>
***
### <a href="https://danschmid.de/en/blog/install-firefox-under-freebsd-and-set-it-up-with-privacy" target="_blank" rel="nofollow noopener">Install Firefox under FreeBSD and Set it Up with Privacy</a>
***
<a href="https://rubenerd.com/using-netbsds-pkgsrc-everywhere-i-can/" target="_blank" rel="nofollow noopener">Using NetBSD’s pkgsrc everywhere I can</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/407/feedback/Malcolm%20-%20restoring%20a%20single%20file" target="_blank" rel="nofollow noopener">Malcolm - restoring a single file</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/407/feedback/Nathan%20-%20wireless%20support" target="_blank" rel="nofollow noopener">Nathan - wireless support</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/407/feedback/bluefire%20-%20zfs%20special%20vdev" target="_blank" rel="nofollow noopener">bluefire - zfs special vdev</a>
Push to next show with Allan</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Confining the omnipotent root, Jails with ZFS and PF on DigitalOcean, NomadBSD 130R is out, KDE Plasma Wayland on FreeBSD, Firefox under FreeBSD with Privacy, Using NetBSD’s pkgsrc everywhere, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="http://phk.freebsd.dk/pubs/sane2000-jail.pdf" target="_blank" rel="nofollow noopener">Jails: Confining the omnipotent root</a></h3>

<ul>
<li>A dramatic reading of portions of the paper: <a href="https://paperswelove.org/2016/video/bryan-cantrill-jails-and-solaris-zones/" target="_blank" rel="nofollow noopener">Papers We Love: FreeBSD Jails and Solaris Zones</a>
***
### 
<a href="https://medium.com/chris-opperwall/using-jails-with-zfs-and-pf-on-digitalocean-b25b1da82e20" target="_blank" rel="nofollow noopener">Using Jails with ZFS and PF on DigitalOcean</a>
***
## News Roundup
### <a href="https://www.itsfoss.net/nomadbsd-130r-is-now-available-to-download-based-on-freebsd-13-0/" target="_blank" rel="nofollow noopener">NomadBSD 130R is out</a>
***
### <a href="https://euroquis.nl//kde/2021/05/09/wayland.html" target="_blank" rel="nofollow noopener">KDE Plasma Wayland - a week in FreeBSD</a>
***
### <a href="https://danschmid.de/en/blog/install-firefox-under-freebsd-and-set-it-up-with-privacy" target="_blank" rel="nofollow noopener">Install Firefox under FreeBSD and Set it Up with Privacy</a>
***
<a href="https://rubenerd.com/using-netbsds-pkgsrc-everywhere-i-can/" target="_blank" rel="nofollow noopener">Using NetBSD’s pkgsrc everywhere I can</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/407/feedback/Malcolm%20-%20restoring%20a%20single%20file" target="_blank" rel="nofollow noopener">Malcolm - restoring a single file</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/407/feedback/Nathan%20-%20wireless%20support" target="_blank" rel="nofollow noopener">Nathan - wireless support</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/407/feedback/bluefire%20-%20zfs%20special%20vdev" target="_blank" rel="nofollow noopener">bluefire - zfs special vdev</a>
Push to next show with Allan</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>406: Jailed Gemini Capsule</title>
  <link>https://www.bsdnow.tv/406</link>
  <guid isPermaLink="false">e3529950-4aa4-49f7-833d-0218a912b866</guid>
  <pubDate>Thu, 10 Jun 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e3529950-4aa4-49f7-833d-0218a912b866.mp3" length="33123216" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Gemini Capsule in a FreeBSD Jail, FreeBSD Quarterly status report 2021Q1, NetBSD VM on bhyve (on TrueNAS), Interview with Michael Lucas, WireGuard Returns as Experimental Package in pfSense, CGI with Awk on OpenBSD httpd, and more.</itunes:subtitle>
  <itunes:duration>54:01</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>&lt;p&gt;Gemini Capsule in a FreeBSD Jail, FreeBSD Quarterly status report 2021Q1, NetBSD VM on bhyve (on TrueNAS), Interview with Michael Lucas, WireGuard Returns as Experimental Package in pfSense, CGI with Awk on OpenBSD httpd, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.ecliptik.com/Gemini-Capsule-in-a-FreeBSD-Jail/" target="_blank" rel="nofollow noopener"&gt;Gemini Capsule in a FreeBSD Jail&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;With the recent release of FreeBSD 13, I wanted to test it out on a spare RaspberryPi 3 that was part of my old Kubernetes cluster.&lt;br&gt;
In particular, FreeBSD Jails have always interested me, although I’ve never used them in practice. Over the years I’ve managed operating system virtualization through Solaris Zones and Docker containers, and Jails seem like and good middle ground between the two - easier to manage than zones and closer to the OS than Docker.&lt;br&gt;
I also want to run my own Gemini capsule locally to use some of the features that my other hosted capsules don’t have (like SCGI/CGI) and setting up a capsule in a Jail is a good way to learn both at the same time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-announce/2021-May/002033.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Quarterly status report 2021Q1&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://bentsukun.ch/posts/bhyve-netbsd/" target="_blank" rel="nofollow noopener"&gt;NetBSD VM on bhyve (on TrueNAS)&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;My new NAS at home is running TrueNAS Core. So far, it has been excellent, however I struggled a bit setting up a NetBSD VM on it. Part of the problem is that a lot of the docs and how-tos I found are stale, and the information in it no longer applies.&lt;br&gt;
TrueNAS Core allows running VMs using bhyve, which is FreeBSD’s hypervisor. NetBSD is not an officially supported OS, at least according to the guest OS chooser in the TrueNAS web UI :) But since the release of NetBSD 9 a while ago, things have become far simpler than they used to be – with one caveat (see below).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cyberciti.biz/interview/michael-lucas-bsd-unix-it-and-other-books-author/" target="_blank" rel="nofollow noopener"&gt;Interview with Michael Lucas *BSD, Unix, IT and other books author&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Michael Lucas is a famous IT book author. Perhaps best know for FreeBSD, OpenBSD, and Unix book series. He worked as a system administrator for many years and has now become a full-time book writer. Lately, I did a quick Q and A with Michael about his journey as a professional book author and his daily workflow for writing books.&lt;br&gt;
+&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.netgate.com/blog/pfsense-wireguard-returns-as-an-experimental-package.html" target="_blank" rel="nofollow noopener"&gt;pfSense – WireGuard Returns as Experimental Package&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://box.matto.nl/cgi-with-awk-on-openbsd-httpd.html" target="_blank" rel="nofollow noopener"&gt;CGI with Awk on OpenBSD httpd&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questionsing&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/406/feedback/Adam%20-%20system%20state%20during%20upgrade" target="_blank" rel="nofollow noopener"&gt;Adam - system state during upgrade&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/406/feedback/paul%20-%20BSD%20grep" target="_blank" rel="nofollow noopener"&gt;paul - BSD grep&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/406/feedback/sub%20-%20feedback" target="_blank" rel="nofollow noopener"&gt;sub - feedback&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, gemini capsule, jail, status report, vm, bhyve, Michael Lucas, wireguard, experimental package, pfsense, cgi, awk, httpd</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Gemini Capsule in a FreeBSD Jail, FreeBSD Quarterly status report 2021Q1, NetBSD VM on bhyve (on TrueNAS), Interview with Michael Lucas, WireGuard Returns as Experimental Package in pfSense, CGI with Awk on OpenBSD httpd, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.ecliptik.com/Gemini-Capsule-in-a-FreeBSD-Jail/" target="_blank" rel="nofollow noopener">Gemini Capsule in a FreeBSD Jail</a></h3>

<blockquote>
<p>With the recent release of FreeBSD 13, I wanted to test it out on a spare RaspberryPi 3 that was part of my old Kubernetes cluster.<br>
In particular, FreeBSD Jails have always interested me, although I’ve never used them in practice. Over the years I’ve managed operating system virtualization through Solaris Zones and Docker containers, and Jails seem like and good middle ground between the two - easier to manage than zones and closer to the OS than Docker.<br>
I also want to run my own Gemini capsule locally to use some of the features that my other hosted capsules don’t have (like SCGI/CGI) and setting up a capsule in a Jail is a good way to learn both at the same time.</p>
</blockquote>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2021-May/002033.html" target="_blank" rel="nofollow noopener">FreeBSD Quarterly status report 2021Q1</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://bentsukun.ch/posts/bhyve-netbsd/" target="_blank" rel="nofollow noopener">NetBSD VM on bhyve (on TrueNAS)</a></h3>

<blockquote>
<p>My new NAS at home is running TrueNAS Core. So far, it has been excellent, however I struggled a bit setting up a NetBSD VM on it. Part of the problem is that a lot of the docs and how-tos I found are stale, and the information in it no longer applies.<br>
TrueNAS Core allows running VMs using bhyve, which is FreeBSD’s hypervisor. NetBSD is not an officially supported OS, at least according to the guest OS chooser in the TrueNAS web UI :) But since the release of NetBSD 9 a while ago, things have become far simpler than they used to be – with one caveat (see below).</p>
</blockquote>

<hr>

<h3><a href="https://www.cyberciti.biz/interview/michael-lucas-bsd-unix-it-and-other-books-author/" target="_blank" rel="nofollow noopener">Interview with Michael Lucas *BSD, Unix, IT and other books author</a></h3>

<blockquote>
<p>Michael Lucas is a famous IT book author. Perhaps best know for FreeBSD, OpenBSD, and Unix book series. He worked as a system administrator for many years and has now become a full-time book writer. Lately, I did a quick Q and A with Michael about his journey as a professional book author and his daily workflow for writing books.<br>
+</p>

<hr>

<h3><a href="https://www.netgate.com/blog/pfsense-wireguard-returns-as-an-experimental-package.html" target="_blank" rel="nofollow noopener">pfSense – WireGuard Returns as Experimental Package</a></h3>

<hr>

<h3><a href="https://box.matto.nl/cgi-with-awk-on-openbsd-httpd.html" target="_blank" rel="nofollow noopener">CGI with Awk on OpenBSD httpd</a></h3>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questionsing</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/406/feedback/Adam%20-%20system%20state%20during%20upgrade" target="_blank" rel="nofollow noopener">Adam - system state during upgrade</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/406/feedback/paul%20-%20BSD%20grep" target="_blank" rel="nofollow noopener">paul - BSD grep</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/406/feedback/sub%20-%20feedback" target="_blank" rel="nofollow noopener">sub - feedback</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Gemini Capsule in a FreeBSD Jail, FreeBSD Quarterly status report 2021Q1, NetBSD VM on bhyve (on TrueNAS), Interview with Michael Lucas, WireGuard Returns as Experimental Package in pfSense, CGI with Awk on OpenBSD httpd, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.ecliptik.com/Gemini-Capsule-in-a-FreeBSD-Jail/" target="_blank" rel="nofollow noopener">Gemini Capsule in a FreeBSD Jail</a></h3>

<blockquote>
<p>With the recent release of FreeBSD 13, I wanted to test it out on a spare RaspberryPi 3 that was part of my old Kubernetes cluster.<br>
In particular, FreeBSD Jails have always interested me, although I’ve never used them in practice. Over the years I’ve managed operating system virtualization through Solaris Zones and Docker containers, and Jails seem like and good middle ground between the two - easier to manage than zones and closer to the OS than Docker.<br>
I also want to run my own Gemini capsule locally to use some of the features that my other hosted capsules don’t have (like SCGI/CGI) and setting up a capsule in a Jail is a good way to learn both at the same time.</p>
</blockquote>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2021-May/002033.html" target="_blank" rel="nofollow noopener">FreeBSD Quarterly status report 2021Q1</a></h3>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://bentsukun.ch/posts/bhyve-netbsd/" target="_blank" rel="nofollow noopener">NetBSD VM on bhyve (on TrueNAS)</a></h3>

<blockquote>
<p>My new NAS at home is running TrueNAS Core. So far, it has been excellent, however I struggled a bit setting up a NetBSD VM on it. Part of the problem is that a lot of the docs and how-tos I found are stale, and the information in it no longer applies.<br>
TrueNAS Core allows running VMs using bhyve, which is FreeBSD’s hypervisor. NetBSD is not an officially supported OS, at least according to the guest OS chooser in the TrueNAS web UI :) But since the release of NetBSD 9 a while ago, things have become far simpler than they used to be – with one caveat (see below).</p>
</blockquote>

<hr>

<h3><a href="https://www.cyberciti.biz/interview/michael-lucas-bsd-unix-it-and-other-books-author/" target="_blank" rel="nofollow noopener">Interview with Michael Lucas *BSD, Unix, IT and other books author</a></h3>

<blockquote>
<p>Michael Lucas is a famous IT book author. Perhaps best know for FreeBSD, OpenBSD, and Unix book series. He worked as a system administrator for many years and has now become a full-time book writer. Lately, I did a quick Q and A with Michael about his journey as a professional book author and his daily workflow for writing books.<br>
+</p>

<hr>

<h3><a href="https://www.netgate.com/blog/pfsense-wireguard-returns-as-an-experimental-package.html" target="_blank" rel="nofollow noopener">pfSense – WireGuard Returns as Experimental Package</a></h3>

<hr>

<h3><a href="https://box.matto.nl/cgi-with-awk-on-openbsd-httpd.html" target="_blank" rel="nofollow noopener">CGI with Awk on OpenBSD httpd</a></h3>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questionsing</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/406/feedback/Adam%20-%20system%20state%20during%20upgrade" target="_blank" rel="nofollow noopener">Adam - system state during upgrade</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/406/feedback/paul%20-%20BSD%20grep" target="_blank" rel="nofollow noopener">paul - BSD grep</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/406/feedback/sub%20-%20feedback" target="_blank" rel="nofollow noopener">sub - feedback</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>405: OOM Killer Feature</title>
  <link>https://www.bsdnow.tv/405</link>
  <guid isPermaLink="false">6773957b-a891-4528-b317-452e8e5d41fc</guid>
  <pubDate>Thu, 03 Jun 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6773957b-a891-4528-b317-452e8e5d41fc.mp3" length="34765416" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>NetBSD 9.2 released, DragonFly 6.0 is out, Home Network Monitoring using Prometheus, Preventing FreeBSD to kill PostgreSQL, Customizing Emacs for Git Commit Messages, Deleting old FreeBSD boot environments, Always be quitting, and more</itunes:subtitle>
  <itunes:duration>57:09</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>&lt;p&gt;NetBSD 9.2 released, DragonFly 6.0 is out, Home Network Monitoring using Prometheus, Preventing FreeBSD to kill PostgreSQL, Customizing Emacs for Git Commit Messages, Deleting old FreeBSD boot environments, Always be quitting, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/netbsd_9_2_released" target="_blank" rel="nofollow noopener"&gt;NetBSD 9.2 Released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2021/05/10/25731.html" target="_blank" rel="nofollow noopener"&gt;DragonFly 6.0 is out!&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dragonflybsd.org/release60/" target="_blank" rel="nofollow noopener"&gt;Release Notes&lt;/a&gt;
***
### &lt;a href="https://2021.eurobsdcon.org/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2021 will be online&lt;/a&gt;
***
## News Roundup
### &lt;a href="https://linux-bsd.github.io/post/monitoring/" target="_blank" rel="nofollow noopener"&gt;Home Network Monitoring using Prometheus&lt;/a&gt;
&amp;gt; This blog post describes my setup for monitoring various devices on my home network suh as servers, laptops/desktops, networking gear etc. The setup and configuration is squarely geared towards small/medium sized network monitoring. A similar setup might work for large networks, but you will need to plan your compute/storage/bandwidth capacities accordingly. I’m running all the monitoring software on FreeBSD, but you can run it on your choice of OS. Just make sure to install the packages using your OS’s package manager.
***
### &lt;a href="https://fluca1978.github.io/2021/04/02/OOMKillerFreeBSD.html" target="_blank" rel="nofollow noopener"&gt;Preventing FreeBSD to kill PostgreSQL (aka OOM Killer prevention)&lt;/a&gt;
&amp;gt; There are a lot of interesting articles on how to prevent the Out of Memory Killer (OOM killer in short) on Linux to ruin your day, or better your night. One particularly well done explanation about how the OOM Killer works, and how to help PostgreSQL to survive, is, in my humble opinion, the one from Percona Blog.
***
### &lt;a href="http://bsdimp.blogspot.com/2021/04/customizing-emacs-for-git-commit.html" target="_blank" rel="nofollow noopener"&gt;Customizing Emacs for Git Commit Messages&lt;/a&gt;
&amp;gt;I do a lot of commits to the FreeBSD project and elsewhere. It would be nice if I could setup emacs in a custom way for each commit message that I'm editing.
&amp;gt; Fortunately, GNU Emacs provides a nice way to do just that. While I likely could do some of these things with git commit hooks, I find this to be a little nicer.
***
### &lt;a href="https://dan.langille.org/2021/04/15/deleting-old-freebsd-boot-environments/" target="_blank" rel="nofollow noopener"&gt;Deleting old FreeBSD boot environments&lt;/a&gt;
&amp;gt; I like boot environments (BE) on FreeBSD. They were especially handy when building the AWS host for FreshPorts, since I had no serial console. I would create a BE saving the current status, then make some changes. I’d mark the current BE as boot once, so I could boot back in the known good BE. Worst case, I could mount the storage onto a rescue EC2 instance and adjust the bootfs value of the zpool.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://jmmv.dev/2021/04/always-be-quitting.html" target="_blank" rel="nofollow noopener"&gt;Always be quitting&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A good philosophy to live by at work is to “always be quitting”. No, don’t be constantly thinking of leaving your job.  But act as if you might leave on short notice. Counterintuitively, this will make you a better engineer and open up growth opportunities.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/405/feedback/Christopher%20-%20zfs%20question" target="_blank" rel="nofollow noopener"&gt;Christopher - zfs question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/405/feedback/Chris%20-%20two%20questions" target="_blank" rel="nofollow noopener"&gt;Chris - two questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/405/feedback/Vas%20-%20zpools%20and%20moving%20to%20FreeBSD%2013" target="_blank" rel="nofollow noopener"&gt;Vas - zpools and moving to FreeBSD 13&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, home network, automation, network automation, prometheus, oom, out of memory, postgresql, postgres, customizing, emacs, git, commit message, boot environment, quit, quitting </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>NetBSD 9.2 released, DragonFly 6.0 is out, Home Network Monitoring using Prometheus, Preventing FreeBSD to kill PostgreSQL, Customizing Emacs for Git Commit Messages, Deleting old FreeBSD boot environments, Always be quitting, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/netbsd_9_2_released" target="_blank" rel="nofollow noopener">NetBSD 9.2 Released</a></h3>

<hr>

<h3><a href="https://www.dragonflydigest.com/2021/05/10/25731.html" target="_blank" rel="nofollow noopener">DragonFly 6.0 is out!</a></h3>

<ul>
<li><a href="https://www.dragonflybsd.org/release60/" target="_blank" rel="nofollow noopener">Release Notes</a>
***
### <a href="https://2021.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDCon 2021 will be online</a>
***
## News Roundup
### <a href="https://linux-bsd.github.io/post/monitoring/" target="_blank" rel="nofollow noopener">Home Network Monitoring using Prometheus</a>
&gt; This blog post describes my setup for monitoring various devices on my home network suh as servers, laptops/desktops, networking gear etc. The setup and configuration is squarely geared towards small/medium sized network monitoring. A similar setup might work for large networks, but you will need to plan your compute/storage/bandwidth capacities accordingly. I’m running all the monitoring software on FreeBSD, but you can run it on your choice of OS. Just make sure to install the packages using your OS’s package manager.
***
### <a href="https://fluca1978.github.io/2021/04/02/OOMKillerFreeBSD.html" target="_blank" rel="nofollow noopener">Preventing FreeBSD to kill PostgreSQL (aka OOM Killer prevention)</a>
&gt; There are a lot of interesting articles on how to prevent the Out of Memory Killer (OOM killer in short) on Linux to ruin your day, or better your night. One particularly well done explanation about how the OOM Killer works, and how to help PostgreSQL to survive, is, in my humble opinion, the one from Percona Blog.
***
### <a href="http://bsdimp.blogspot.com/2021/04/customizing-emacs-for-git-commit.html" target="_blank" rel="nofollow noopener">Customizing Emacs for Git Commit Messages</a>
&gt;I do a lot of commits to the FreeBSD project and elsewhere. It would be nice if I could setup emacs in a custom way for each commit message that I'm editing.
&gt; Fortunately, GNU Emacs provides a nice way to do just that. While I likely could do some of these things with git commit hooks, I find this to be a little nicer.
***
### <a href="https://dan.langille.org/2021/04/15/deleting-old-freebsd-boot-environments/" target="_blank" rel="nofollow noopener">Deleting old FreeBSD boot environments</a>
&gt; I like boot environments (BE) on FreeBSD. They were especially handy when building the AWS host for FreshPorts, since I had no serial console. I would create a BE saving the current status, then make some changes. I’d mark the current BE as boot once, so I could boot back in the known good BE. Worst case, I could mount the storage onto a rescue EC2 instance and adjust the bootfs value of the zpool.
***</li>
</ul>

<h3><a href="https://jmmv.dev/2021/04/always-be-quitting.html" target="_blank" rel="nofollow noopener">Always be quitting</a></h3>

<blockquote>
<p>A good philosophy to live by at work is to “always be quitting”. No, don’t be constantly thinking of leaving your job.  But act as if you might leave on short notice. Counterintuitively, this will make you a better engineer and open up growth opportunities.</p>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/405/feedback/Christopher%20-%20zfs%20question" target="_blank" rel="nofollow noopener">Christopher - zfs question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/405/feedback/Chris%20-%20two%20questions" target="_blank" rel="nofollow noopener">Chris - two questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/405/feedback/Vas%20-%20zpools%20and%20moving%20to%20FreeBSD%2013" target="_blank" rel="nofollow noopener">Vas - zpools and moving to FreeBSD 13</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>NetBSD 9.2 released, DragonFly 6.0 is out, Home Network Monitoring using Prometheus, Preventing FreeBSD to kill PostgreSQL, Customizing Emacs for Git Commit Messages, Deleting old FreeBSD boot environments, Always be quitting, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/netbsd_9_2_released" target="_blank" rel="nofollow noopener">NetBSD 9.2 Released</a></h3>

<hr>

<h3><a href="https://www.dragonflydigest.com/2021/05/10/25731.html" target="_blank" rel="nofollow noopener">DragonFly 6.0 is out!</a></h3>

<ul>
<li><a href="https://www.dragonflybsd.org/release60/" target="_blank" rel="nofollow noopener">Release Notes</a>
***
### <a href="https://2021.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDCon 2021 will be online</a>
***
## News Roundup
### <a href="https://linux-bsd.github.io/post/monitoring/" target="_blank" rel="nofollow noopener">Home Network Monitoring using Prometheus</a>
&gt; This blog post describes my setup for monitoring various devices on my home network suh as servers, laptops/desktops, networking gear etc. The setup and configuration is squarely geared towards small/medium sized network monitoring. A similar setup might work for large networks, but you will need to plan your compute/storage/bandwidth capacities accordingly. I’m running all the monitoring software on FreeBSD, but you can run it on your choice of OS. Just make sure to install the packages using your OS’s package manager.
***
### <a href="https://fluca1978.github.io/2021/04/02/OOMKillerFreeBSD.html" target="_blank" rel="nofollow noopener">Preventing FreeBSD to kill PostgreSQL (aka OOM Killer prevention)</a>
&gt; There are a lot of interesting articles on how to prevent the Out of Memory Killer (OOM killer in short) on Linux to ruin your day, or better your night. One particularly well done explanation about how the OOM Killer works, and how to help PostgreSQL to survive, is, in my humble opinion, the one from Percona Blog.
***
### <a href="http://bsdimp.blogspot.com/2021/04/customizing-emacs-for-git-commit.html" target="_blank" rel="nofollow noopener">Customizing Emacs for Git Commit Messages</a>
&gt;I do a lot of commits to the FreeBSD project and elsewhere. It would be nice if I could setup emacs in a custom way for each commit message that I'm editing.
&gt; Fortunately, GNU Emacs provides a nice way to do just that. While I likely could do some of these things with git commit hooks, I find this to be a little nicer.
***
### <a href="https://dan.langille.org/2021/04/15/deleting-old-freebsd-boot-environments/" target="_blank" rel="nofollow noopener">Deleting old FreeBSD boot environments</a>
&gt; I like boot environments (BE) on FreeBSD. They were especially handy when building the AWS host for FreshPorts, since I had no serial console. I would create a BE saving the current status, then make some changes. I’d mark the current BE as boot once, so I could boot back in the known good BE. Worst case, I could mount the storage onto a rescue EC2 instance and adjust the bootfs value of the zpool.
***</li>
</ul>

<h3><a href="https://jmmv.dev/2021/04/always-be-quitting.html" target="_blank" rel="nofollow noopener">Always be quitting</a></h3>

<blockquote>
<p>A good philosophy to live by at work is to “always be quitting”. No, don’t be constantly thinking of leaving your job.  But act as if you might leave on short notice. Counterintuitively, this will make you a better engineer and open up growth opportunities.</p>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/405/feedback/Christopher%20-%20zfs%20question" target="_blank" rel="nofollow noopener">Christopher - zfs question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/405/feedback/Chris%20-%20two%20questions" target="_blank" rel="nofollow noopener">Chris - two questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/405/feedback/Vas%20-%20zpools%20and%20moving%20to%20FreeBSD%2013" target="_blank" rel="nofollow noopener">Vas - zpools and moving to FreeBSD 13</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>404: 404 BSD Now Hosts Not Found</title>
  <link>https://www.bsdnow.tv/404</link>
  <guid isPermaLink="false">b6436b27-8f23-473c-bd4d-6cbac1cc9eef</guid>
  <pubDate>Thu, 27 May 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b6436b27-8f23-473c-bd4d-6cbac1cc9eef.mp3" length="29400792" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Allan, Benedict and Tom are MIA, so JT fills in with two friends.</itunes:subtitle>
  <itunes:duration>49:39</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>&lt;p&gt;Allan, Benedict and Tom are MIA, so JT fills in with two friends.&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;br&gt;
CoHosts this week:&lt;br&gt;
    • Ash Gokhale: &lt;a href="https://twitter.com/xpi" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/xpi&lt;/a&gt;&lt;br&gt;
    • Jeff Propes : CoHost of &lt;a href="https://www.theopiniondominion.org" target="_blank" rel="nofollow noopener"&gt;The Opinion Dominion&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;This weeks format follows the format of one of JT's other shows: &lt;a href="https://www.theopiniondominion.org" target="_blank" rel="nofollow noopener"&gt;The Opinion Dominion&lt;/a&gt;.&lt;/h2&gt;

&lt;h3&gt;Centralized vs Decentralized Management&lt;/h3&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-draid-finally/" target="_blank" rel="nofollow noopener"&gt;Ash’s draid article at Klara&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;&lt;a href="https://twitter.com/openbsd/status/1388289402934333444" target="_blank" rel="nofollow noopener"&gt;openbsd’s 50th release&lt;/a&gt; + &lt;a href="https://www.openbsd.org/69.html" target="_blank" rel="nofollow noopener"&gt;Release Notes&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;Beastie Bits&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;•  Interesting dtrace papers I found this week.  The first is unfortunately paywalled by an industry journal but hopefully it’ll be publicly available soon.    
    ◦ [Using Dtrace for Machine Learning Solutions in Malware Detection](https://ieeexplore.ieee.org/document/9225633)
    ◦ [Process Monitoring on Sequences of System Call Count Vectors](https://arxiv.org/pdf/1707.03821.pdf)
    ◦ Sounds Similar to:
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Optimyze Cloud](&lt;a href="https://twitter.com/OptimyzeCloud/status/1386424419418099712" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/OptimyzeCloud/status/1386424419418099712&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://apps.dtic.mil/sti/citations/AD1080643" target="_blank" rel="nofollow noopener"&gt;CADETS that GNN is working on&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;•  &lt;a href="https://nostarch.com/practical-iot-hacking" target="_blank" rel="nofollow noopener"&gt;Practical IOT Hacking book out by no starch press&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.
&lt;a href="https://www.opensourcevoices.org/12" target="_blank" rel="nofollow noopener"&gt;Open Source Voices episode with Colin Percival&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;RIP Dan kaminski&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;• https://www.nytimes.com/2021/04/27/technology/daniel-kaminsky-dead.html
• https://www.darkreading.com/vulnerabilities---threats/in-appreciation-dan-kaminsky/d/d-id/1340830
• https://www.securityweek.com/security-researcher-dan-kaminsky-passes-away
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Allan, Benedict and Tom are MIA, so JT fills in with two friends.</p>

<p>This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener">Tarsnap</a><br>
CoHosts this week:<br>
    • Ash Gokhale: <a href="https://twitter.com/xpi" target="_blank" rel="nofollow noopener">https://twitter.com/xpi</a><br>
    • Jeff Propes : CoHost of <a href="https://www.theopiniondominion.org" target="_blank" rel="nofollow noopener">The Opinion Dominion</a></p>

<h2>This weeks format follows the format of one of JT's other shows: <a href="https://www.theopiniondominion.org" target="_blank" rel="nofollow noopener">The Opinion Dominion</a>.</h2>

<h3>Centralized vs Decentralized Management</h3>

<h3><a href="https://klarasystems.com/articles/openzfs-draid-finally/" target="_blank" rel="nofollow noopener">Ash’s draid article at Klara</a></h3>

<h3><a href="https://twitter.com/openbsd/status/1388289402934333444" target="_blank" rel="nofollow noopener">openbsd’s 50th release</a> + <a href="https://www.openbsd.org/69.html" target="_blank" rel="nofollow noopener">Release Notes</a></h3>

<h3>Beastie Bits</h3>

<pre><code>•  Interesting dtrace papers I found this week.  The first is unfortunately paywalled by an industry journal but hopefully it’ll be publicly available soon.    
    ◦ [Using Dtrace for Machine Learning Solutions in Malware Detection](https://ieeexplore.ieee.org/document/9225633)
    ◦ [Process Monitoring on Sequences of System Call Count Vectors](https://arxiv.org/pdf/1707.03821.pdf)
    ◦ Sounds Similar to:
</code></pre>

<ul>
<li>Optimyze Cloud](<a href="https://twitter.com/OptimyzeCloud/status/1386424419418099712" target="_blank" rel="nofollow noopener">https://twitter.com/OptimyzeCloud/status/1386424419418099712</a>)</li>
<li><p><a href="https://apps.dtic.mil/sti/citations/AD1080643" target="_blank" rel="nofollow noopener">CADETS that GNN is working on</a>]</p>

<p>•  <a href="https://nostarch.com/practical-iot-hacking" target="_blank" rel="nofollow noopener">Practical IOT Hacking book out by no starch press</a></p></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.
<a href="https://www.opensourcevoices.org/12" target="_blank" rel="nofollow noopener">Open Source Voices episode with Colin Percival</a></li>
</ul>

<h3>RIP Dan kaminski</h3>

<pre><code>• https://www.nytimes.com/2021/04/27/technology/daniel-kaminsky-dead.html
• https://www.darkreading.com/vulnerabilities---threats/in-appreciation-dan-kaminsky/d/d-id/1340830
• https://www.securityweek.com/security-researcher-dan-kaminsky-passes-away
</code></pre>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Allan, Benedict and Tom are MIA, so JT fills in with two friends.</p>

<p>This episode of BSDNow is brought to you by <a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener">Tarsnap</a><br>
CoHosts this week:<br>
    • Ash Gokhale: <a href="https://twitter.com/xpi" target="_blank" rel="nofollow noopener">https://twitter.com/xpi</a><br>
    • Jeff Propes : CoHost of <a href="https://www.theopiniondominion.org" target="_blank" rel="nofollow noopener">The Opinion Dominion</a></p>

<h2>This weeks format follows the format of one of JT's other shows: <a href="https://www.theopiniondominion.org" target="_blank" rel="nofollow noopener">The Opinion Dominion</a>.</h2>

<h3>Centralized vs Decentralized Management</h3>

<h3><a href="https://klarasystems.com/articles/openzfs-draid-finally/" target="_blank" rel="nofollow noopener">Ash’s draid article at Klara</a></h3>

<h3><a href="https://twitter.com/openbsd/status/1388289402934333444" target="_blank" rel="nofollow noopener">openbsd’s 50th release</a> + <a href="https://www.openbsd.org/69.html" target="_blank" rel="nofollow noopener">Release Notes</a></h3>

<h3>Beastie Bits</h3>

<pre><code>•  Interesting dtrace papers I found this week.  The first is unfortunately paywalled by an industry journal but hopefully it’ll be publicly available soon.    
    ◦ [Using Dtrace for Machine Learning Solutions in Malware Detection](https://ieeexplore.ieee.org/document/9225633)
    ◦ [Process Monitoring on Sequences of System Call Count Vectors](https://arxiv.org/pdf/1707.03821.pdf)
    ◦ Sounds Similar to:
</code></pre>

<ul>
<li>Optimyze Cloud](<a href="https://twitter.com/OptimyzeCloud/status/1386424419418099712" target="_blank" rel="nofollow noopener">https://twitter.com/OptimyzeCloud/status/1386424419418099712</a>)</li>
<li><p><a href="https://apps.dtic.mil/sti/citations/AD1080643" target="_blank" rel="nofollow noopener">CADETS that GNN is working on</a>]</p>

<p>•  <a href="https://nostarch.com/practical-iot-hacking" target="_blank" rel="nofollow noopener">Practical IOT Hacking book out by no starch press</a></p></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.
<a href="https://www.opensourcevoices.org/12" target="_blank" rel="nofollow noopener">Open Source Voices episode with Colin Percival</a></li>
</ul>

<h3>RIP Dan kaminski</h3>

<pre><code>• https://www.nytimes.com/2021/04/27/technology/daniel-kaminsky-dead.html
• https://www.darkreading.com/vulnerabilities---threats/in-appreciation-dan-kaminsky/d/d-id/1340830
• https://www.securityweek.com/security-researcher-dan-kaminsky-passes-away
</code></pre>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>403: The Linuxulator Investment</title>
  <link>https://www.bsdnow.tv/403</link>
  <guid isPermaLink="false">7f8330e4-2752-4d4c-b7c6-ca165e78cf57</guid>
  <pubDate>Thu, 20 May 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/7f8330e4-2752-4d4c-b7c6-ca165e78cf57.mp3" length="31084416" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Why You Should Use BSD Licensing for Your Next Open Source Project or Product, Update on FreeBSD Foundation Investment in Linuxulator, OPNsense 21.1.5 released, FreeBSD meetings on the Desktop, Running FreeBSD jails with containerd 1.5, Markdown, DocBook, and the quest for semantic documentation on NetBSD.org, and more.</itunes:subtitle>
  <itunes:duration>50:52</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>&lt;p&gt;Why You Should Use BSD Licensing for Your Next Open Source Project or Product, Update on FreeBSD Foundation Investment in Linuxulator, OPNsense 21.1.5 released, FreeBSD meetings on the Desktop, Running FreeBSD jails with containerd 1.5, Markdown, DocBook, and the quest for semantic documentation on NetBSD.org, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/why-you-should-use-bsd-licensing-for-your-next-open-source-project-or-product/" target="_blank" rel="nofollow noopener"&gt;Why You Should Use BSD Licensing for Your Next Open Source Project or Product&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The term “open source” has its origins in the context of software development, designating a specific approach to developing computer programs. Nowadays, however, it stands for a broad set of values – open source means open exchange, transparency, collaborative participation and development for the benefit of the entire community.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/update-on-freebsd-foundation-investment-in-linuxulator/" target="_blank" rel="nofollow noopener"&gt;Update on FreeBSD Foundation Investment in Linuxulator&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Dr. Emmett Brown’s similar-sounding Flux Capacitor from the movie Back to the Future bridged the dimension of time, uniting past, present, and future for the McFlys. Similarly, the FreeBSDⓇ Linuxulator project also bridges dimensions – in our case, these are LinuxⓇ and FreeBSD. &lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-21-1-5-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 21.1.5 released&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;This is mainly a security and reliablility update.  There are several FreeBSD&lt;br&gt;
security advisories and updates for third party tools such as curl.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://forum.opnsense.org/index.php?topic=22761.msg108313#msg108313" target="_blank" rel="nofollow noopener"&gt;OPNsense to rebase on FreeBSD 13&lt;/a&gt;
***
### &lt;a href="https://euroquis.nl//freebsd/2021/04/20/fbsd-bbb.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD meetings on the Desktop&lt;/a&gt;
FreeBSD on the desktop is a whole stack - X11, Qt, KDE Frameworks, KDE Plasma and KDE Gear, and Wayland, and Poppler and GTK - o my!
***
### &lt;a href="https://samuel.karp.dev/blog/2021/05/running-freebsd-jails-with-containerd-1-5/" target="_blank" rel="nofollow noopener"&gt;Running FreeBSD jails with containerd 1.5&lt;/a&gt;
containerd 1.5.0 was released today and now works on a new operating system: FreeBSD! This new release includes a series of patches (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) which allow containerd to build, enable the native and zfs snapshotters, and use a compatible runtime like runj.
***
### &lt;a href="https://washbear.neocities.org/markdown.html" target="_blank" rel="nofollow noopener"&gt;Markdown, DocBook, and the quest for semantic documentation on NetBSD.org&lt;/a&gt;
Recently, I’ve been doing a lot of maintenance of the NetBSD website. It contains a boatload of documentation, much of which was originally written in the 2000s. It has some special requirements: it has to work in text-based web browsers like lynx, or maybe even without any working browser installed at all, or just ftp(1) for downloading plain text over HTTP. Naturally, the most important parts are static, suitable for serving from the standard NetBSD http server, which runs from inetd by default.
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/403/feedback/Alrekur%20-%20An%20Interesting%20FreeBSD%20Find" target="_blank" rel="nofollow noopener"&gt;Alrekur - An Interesting FreeBSD Find&lt;/a&gt;
They presented at the FreeBSD Vendor summit last year too: &lt;a href="https://www.youtube.com/watch?v=8LUdZseNrpE" target="_blank" rel="nofollow noopener"&gt;https://www.youtube.com/watch?v=8LUdZseNrpE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/403/feedback/Sven%20-%20feedback" target="_blank" rel="nofollow noopener"&gt;Sven - feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/403/feedback/Robert%20-%20firewalling" target="_blank" rel="nofollow noopener"&gt;Robert - firewalling&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, license, licensing, product, project, linuxulator, freebsd foundation, investment, desktop, meetings, containerd, markdown, docbook, semantic documentation</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Why You Should Use BSD Licensing for Your Next Open Source Project or Product, Update on FreeBSD Foundation Investment in Linuxulator, OPNsense 21.1.5 released, FreeBSD meetings on the Desktop, Running FreeBSD jails with containerd 1.5, Markdown, DocBook, and the quest for semantic documentation on NetBSD.org, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/why-you-should-use-bsd-licensing-for-your-next-open-source-project-or-product/" target="_blank" rel="nofollow noopener">Why You Should Use BSD Licensing for Your Next Open Source Project or Product</a></h3>

<blockquote>
<p>The term “open source” has its origins in the context of software development, designating a specific approach to developing computer programs. Nowadays, however, it stands for a broad set of values – open source means open exchange, transparency, collaborative participation and development for the benefit of the entire community.</p>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/update-on-freebsd-foundation-investment-in-linuxulator/" target="_blank" rel="nofollow noopener">Update on FreeBSD Foundation Investment in Linuxulator</a></h3>

<p>Dr. Emmett Brown’s similar-sounding Flux Capacitor from the movie Back to the Future bridged the dimension of time, uniting past, present, and future for the McFlys. Similarly, the FreeBSDⓇ Linuxulator project also bridges dimensions – in our case, these are LinuxⓇ and FreeBSD. </p>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://opnsense.org/opnsense-21-1-5-released/" target="_blank" rel="nofollow noopener">OPNsense 21.1.5 released</a></h3>

<p>This is mainly a security and reliablility update.  There are several FreeBSD<br>
security advisories and updates for third party tools such as curl.</p>

<ul>
<li><a href="https://forum.opnsense.org/index.php?topic=22761.msg108313#msg108313" target="_blank" rel="nofollow noopener">OPNsense to rebase on FreeBSD 13</a>
***
### <a href="https://euroquis.nl//freebsd/2021/04/20/fbsd-bbb.html" target="_blank" rel="nofollow noopener">FreeBSD meetings on the Desktop</a>
FreeBSD on the desktop is a whole stack - X11, Qt, KDE Frameworks, KDE Plasma and KDE Gear, and Wayland, and Poppler and GTK - o my!
***
### <a href="https://samuel.karp.dev/blog/2021/05/running-freebsd-jails-with-containerd-1-5/" target="_blank" rel="nofollow noopener">Running FreeBSD jails with containerd 1.5</a>
containerd 1.5.0 was released today and now works on a new operating system: FreeBSD! This new release includes a series of patches (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) which allow containerd to build, enable the native and zfs snapshotters, and use a compatible runtime like runj.
***
### <a href="https://washbear.neocities.org/markdown.html" target="_blank" rel="nofollow noopener">Markdown, DocBook, and the quest for semantic documentation on NetBSD.org</a>
Recently, I’ve been doing a lot of maintenance of the NetBSD website. It contains a boatload of documentation, much of which was originally written in the 2000s. It has some special requirements: it has to work in text-based web browsers like lynx, or maybe even without any working browser installed at all, or just ftp(1) for downloading plain text over HTTP. Naturally, the most important parts are static, suitable for serving from the standard NetBSD http server, which runs from inetd by default.
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/403/feedback/Alrekur%20-%20An%20Interesting%20FreeBSD%20Find" target="_blank" rel="nofollow noopener">Alrekur - An Interesting FreeBSD Find</a>
They presented at the FreeBSD Vendor summit last year too: <a href="https://www.youtube.com/watch?v=8LUdZseNrpE" target="_blank" rel="nofollow noopener">https://www.youtube.com/watch?v=8LUdZseNrpE</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/403/feedback/Sven%20-%20feedback" target="_blank" rel="nofollow noopener">Sven - feedback</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/403/feedback/Robert%20-%20firewalling" target="_blank" rel="nofollow noopener">Robert - firewalling</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Why You Should Use BSD Licensing for Your Next Open Source Project or Product, Update on FreeBSD Foundation Investment in Linuxulator, OPNsense 21.1.5 released, FreeBSD meetings on the Desktop, Running FreeBSD jails with containerd 1.5, Markdown, DocBook, and the quest for semantic documentation on NetBSD.org, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/why-you-should-use-bsd-licensing-for-your-next-open-source-project-or-product/" target="_blank" rel="nofollow noopener">Why You Should Use BSD Licensing for Your Next Open Source Project or Product</a></h3>

<blockquote>
<p>The term “open source” has its origins in the context of software development, designating a specific approach to developing computer programs. Nowadays, however, it stands for a broad set of values – open source means open exchange, transparency, collaborative participation and development for the benefit of the entire community.</p>

<hr>

<h3><a href="https://freebsdfoundation.org/blog/update-on-freebsd-foundation-investment-in-linuxulator/" target="_blank" rel="nofollow noopener">Update on FreeBSD Foundation Investment in Linuxulator</a></h3>

<p>Dr. Emmett Brown’s similar-sounding Flux Capacitor from the movie Back to the Future bridged the dimension of time, uniting past, present, and future for the McFlys. Similarly, the FreeBSDⓇ Linuxulator project also bridges dimensions – in our case, these are LinuxⓇ and FreeBSD. </p>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://opnsense.org/opnsense-21-1-5-released/" target="_blank" rel="nofollow noopener">OPNsense 21.1.5 released</a></h3>

<p>This is mainly a security and reliablility update.  There are several FreeBSD<br>
security advisories and updates for third party tools such as curl.</p>

<ul>
<li><a href="https://forum.opnsense.org/index.php?topic=22761.msg108313#msg108313" target="_blank" rel="nofollow noopener">OPNsense to rebase on FreeBSD 13</a>
***
### <a href="https://euroquis.nl//freebsd/2021/04/20/fbsd-bbb.html" target="_blank" rel="nofollow noopener">FreeBSD meetings on the Desktop</a>
FreeBSD on the desktop is a whole stack - X11, Qt, KDE Frameworks, KDE Plasma and KDE Gear, and Wayland, and Poppler and GTK - o my!
***
### <a href="https://samuel.karp.dev/blog/2021/05/running-freebsd-jails-with-containerd-1-5/" target="_blank" rel="nofollow noopener">Running FreeBSD jails with containerd 1.5</a>
containerd 1.5.0 was released today and now works on a new operating system: FreeBSD! This new release includes a series of patches (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) which allow containerd to build, enable the native and zfs snapshotters, and use a compatible runtime like runj.
***
### <a href="https://washbear.neocities.org/markdown.html" target="_blank" rel="nofollow noopener">Markdown, DocBook, and the quest for semantic documentation on NetBSD.org</a>
Recently, I’ve been doing a lot of maintenance of the NetBSD website. It contains a boatload of documentation, much of which was originally written in the 2000s. It has some special requirements: it has to work in text-based web browsers like lynx, or maybe even without any working browser installed at all, or just ftp(1) for downloading plain text over HTTP. Naturally, the most important parts are static, suitable for serving from the standard NetBSD http server, which runs from inetd by default.
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/403/feedback/Alrekur%20-%20An%20Interesting%20FreeBSD%20Find" target="_blank" rel="nofollow noopener">Alrekur - An Interesting FreeBSD Find</a>
They presented at the FreeBSD Vendor summit last year too: <a href="https://www.youtube.com/watch?v=8LUdZseNrpE" target="_blank" rel="nofollow noopener">https://www.youtube.com/watch?v=8LUdZseNrpE</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/403/feedback/Sven%20-%20feedback" target="_blank" rel="nofollow noopener">Sven - feedback</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/403/feedback/Robert%20-%20firewalling" target="_blank" rel="nofollow noopener">Robert - firewalling</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>402: Goodbye GPL</title>
  <link>https://www.bsdnow.tv/402</link>
  <guid isPermaLink="false">8fa4abac-1e15-4f91-8893-ca72a65c95c1</guid>
  <pubDate>Thu, 13 May 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8fa4abac-1e15-4f91-8893-ca72a65c95c1.mp3" length="30499968" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>It's time to say goodbye to the GPL, a new OCI Runtime for FreeBSD Jails, A bit of Xenix history, On Updating QEMU's bsd-user fork, FreeBSD 13 on a 12 year old laptop, and more </itunes:subtitle>
  <itunes:duration>49:38</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>&lt;p&gt;It's time to say goodbye to the GPL, a new OCI Runtime for FreeBSD Jails, A bit of Xenix history, On Updating QEMU's bsd-user fork, FreeBSD 13 on a 12 year old laptop, and more. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://martin.kleppmann.com/2021/04/14/goodbye-gpl.html" target="_blank" rel="nofollow noopener"&gt;It's time to say goodbye to the GPL&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The trigger for this post is the reinstating of Richard Stallman, a very problematic character, to the board of the Free Software Foundation (FSF). I am appalled by this move, and join others in the call for his removal.&lt;br&gt;
This occasion has caused me to reevaluate the position of the FSF in computing. It is the steward of the GNU project (a part of Linux distributions, loosely speaking), and of a family of software licenses centred around the GNU General Public License (GPL). These efforts are unfortunately tainted by Stallman’s behaviour. However, this is not what I actually want to talk about today.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://samuel.karp.dev/blog/2021/03/runj-a-new-oci-runtime-for-freebsd-jails/" target="_blank" rel="nofollow noopener"&gt;runj: a new OCI Runtime for FreeBSD Jails&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Today, I open-sourced runj, a new experimental, proof-of-concept OCI-compatible runtime for FreeBSD jails. For the past 6.5 years I’ve been working on Linux containers, but never really had much experience with FreeBSD jails. runj (pronounced “run jay”) is a vehicle for me to learn more about FreeBSD in general and jails in particular. With my position on the Technical Oversight Board of the Open Containers Initiative, I’m also interested in understanding how the OCI runtime specification can be adapted to other operating systems like FreeBSD.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://seefigure1.com/2014/04/15/xenixtime.html" target="_blank" rel="nofollow noopener"&gt;A Bit of Xenix History&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;From 1986 to 1989, I worked in the Xenix1 group at Microsoft. It was my first job out of school, and I was the most junior person on the team. I was hopelessly naive, inexperienced, generally clueless, and borderline incompetent, but my coworkers were kind, supportive and enormously forgiving – just a lovely bunch of folks.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsdimp.blogspot.com/2021/05/on-updating-qemus-bsd-user-fork.html" target="_blank" rel="nofollow noopener"&gt;On Updating QEMU's bsd-user fork&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://box.matto.nl/freebsd-13-on-a-12-year-old-laptop.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13 on a 12 year old laptop&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;My old (2009) HP laptop now runs FreeBSD 13.0-RELEASE.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/i/web/status/1387797859479732227" target="_blank" rel="nofollow noopener"&gt;Registration is now open for the June 2021 #FreeBSD Developers Summit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2021/04/22/25663.html" target="_blank" rel="nofollow noopener"&gt;6.0RC1 images available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plan9.io/sys/doc/lexnames.pdf" target="_blank" rel="nofollow noopener"&gt;Lexical File Names in Plan 9 or Getting Dot-Dot Right&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://doc.cat-v.org/bell_labs/utf-8_history" target="_blank" rel="nofollow noopener"&gt;The history of UTF-8 as told by Rob Pike&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20210423090342" target="_blank" rel="nofollow noopener"&gt;Initial Support for the riscv64 Architecture&lt;/a&gt;
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/402/feedback/Hamza%20-%20Congrats%20on%20400" target="_blank" rel="nofollow noopener"&gt;Hamza - Congrats on 400&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/402/feedback/Renato%20-%20DTS%20and%20ContainerD" target="_blank" rel="nofollow noopener"&gt;Renato - DTS and ContainerD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/402/feedback/Rob%20-%20Music" target="_blank" rel="nofollow noopener"&gt;Rob - Music&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, gpl, goodbye, oci, runtime, jails, xenix, qemu, bsd-user, fork, laptop</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>It's time to say goodbye to the GPL, a new OCI Runtime for FreeBSD Jails, A bit of Xenix history, On Updating QEMU's bsd-user fork, FreeBSD 13 on a 12 year old laptop, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://martin.kleppmann.com/2021/04/14/goodbye-gpl.html" target="_blank" rel="nofollow noopener">It's time to say goodbye to the GPL</a></h3>

<blockquote>
<p>The trigger for this post is the reinstating of Richard Stallman, a very problematic character, to the board of the Free Software Foundation (FSF). I am appalled by this move, and join others in the call for his removal.<br>
This occasion has caused me to reevaluate the position of the FSF in computing. It is the steward of the GNU project (a part of Linux distributions, loosely speaking), and of a family of software licenses centred around the GNU General Public License (GPL). These efforts are unfortunately tainted by Stallman’s behaviour. However, this is not what I actually want to talk about today.</p>

<hr>

<h3><a href="https://samuel.karp.dev/blog/2021/03/runj-a-new-oci-runtime-for-freebsd-jails/" target="_blank" rel="nofollow noopener">runj: a new OCI Runtime for FreeBSD Jails</a></h3>

<p>Today, I open-sourced runj, a new experimental, proof-of-concept OCI-compatible runtime for FreeBSD jails. For the past 6.5 years I’ve been working on Linux containers, but never really had much experience with FreeBSD jails. runj (pronounced “run jay”) is a vehicle for me to learn more about FreeBSD in general and jails in particular. With my position on the Technical Oversight Board of the Open Containers Initiative, I’m also interested in understanding how the OCI runtime specification can be adapted to other operating systems like FreeBSD.</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://seefigure1.com/2014/04/15/xenixtime.html" target="_blank" rel="nofollow noopener">A Bit of Xenix History</a></h3>

<p>From 1986 to 1989, I worked in the Xenix1 group at Microsoft. It was my first job out of school, and I was the most junior person on the team. I was hopelessly naive, inexperienced, generally clueless, and borderline incompetent, but my coworkers were kind, supportive and enormously forgiving – just a lovely bunch of folks.</p>

<hr>

<h3><a href="https://bsdimp.blogspot.com/2021/05/on-updating-qemus-bsd-user-fork.html" target="_blank" rel="nofollow noopener">On Updating QEMU's bsd-user fork</a></h3>

<hr>
</blockquote>

<h3><a href="http://box.matto.nl/freebsd-13-on-a-12-year-old-laptop.html" target="_blank" rel="nofollow noopener">FreeBSD 13 on a 12 year old laptop</a></h3>

<blockquote>
<p>My old (2009) HP laptop now runs FreeBSD 13.0-RELEASE.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/i/web/status/1387797859479732227" target="_blank" rel="nofollow noopener">Registration is now open for the June 2021 #FreeBSD Developers Summit</a></li>
<li><a href="https://www.dragonflydigest.com/2021/04/22/25663.html" target="_blank" rel="nofollow noopener">6.0RC1 images available</a></li>
<li><a href="https://plan9.io/sys/doc/lexnames.pdf" target="_blank" rel="nofollow noopener">Lexical File Names in Plan 9 or Getting Dot-Dot Right</a></li>
<li><a href="http://doc.cat-v.org/bell_labs/utf-8_history" target="_blank" rel="nofollow noopener">The history of UTF-8 as told by Rob Pike</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20210423090342" target="_blank" rel="nofollow noopener">Initial Support for the riscv64 Architecture</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/402/feedback/Hamza%20-%20Congrats%20on%20400" target="_blank" rel="nofollow noopener">Hamza - Congrats on 400</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/402/feedback/Renato%20-%20DTS%20and%20ContainerD" target="_blank" rel="nofollow noopener">Renato - DTS and ContainerD</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/402/feedback/Rob%20-%20Music" target="_blank" rel="nofollow noopener">Rob - Music</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>It's time to say goodbye to the GPL, a new OCI Runtime for FreeBSD Jails, A bit of Xenix history, On Updating QEMU's bsd-user fork, FreeBSD 13 on a 12 year old laptop, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://martin.kleppmann.com/2021/04/14/goodbye-gpl.html" target="_blank" rel="nofollow noopener">It's time to say goodbye to the GPL</a></h3>

<blockquote>
<p>The trigger for this post is the reinstating of Richard Stallman, a very problematic character, to the board of the Free Software Foundation (FSF). I am appalled by this move, and join others in the call for his removal.<br>
This occasion has caused me to reevaluate the position of the FSF in computing. It is the steward of the GNU project (a part of Linux distributions, loosely speaking), and of a family of software licenses centred around the GNU General Public License (GPL). These efforts are unfortunately tainted by Stallman’s behaviour. However, this is not what I actually want to talk about today.</p>

<hr>

<h3><a href="https://samuel.karp.dev/blog/2021/03/runj-a-new-oci-runtime-for-freebsd-jails/" target="_blank" rel="nofollow noopener">runj: a new OCI Runtime for FreeBSD Jails</a></h3>

<p>Today, I open-sourced runj, a new experimental, proof-of-concept OCI-compatible runtime for FreeBSD jails. For the past 6.5 years I’ve been working on Linux containers, but never really had much experience with FreeBSD jails. runj (pronounced “run jay”) is a vehicle for me to learn more about FreeBSD in general and jails in particular. With my position on the Technical Oversight Board of the Open Containers Initiative, I’m also interested in understanding how the OCI runtime specification can be adapted to other operating systems like FreeBSD.</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://seefigure1.com/2014/04/15/xenixtime.html" target="_blank" rel="nofollow noopener">A Bit of Xenix History</a></h3>

<p>From 1986 to 1989, I worked in the Xenix1 group at Microsoft. It was my first job out of school, and I was the most junior person on the team. I was hopelessly naive, inexperienced, generally clueless, and borderline incompetent, but my coworkers were kind, supportive and enormously forgiving – just a lovely bunch of folks.</p>

<hr>

<h3><a href="https://bsdimp.blogspot.com/2021/05/on-updating-qemus-bsd-user-fork.html" target="_blank" rel="nofollow noopener">On Updating QEMU's bsd-user fork</a></h3>

<hr>
</blockquote>

<h3><a href="http://box.matto.nl/freebsd-13-on-a-12-year-old-laptop.html" target="_blank" rel="nofollow noopener">FreeBSD 13 on a 12 year old laptop</a></h3>

<blockquote>
<p>My old (2009) HP laptop now runs FreeBSD 13.0-RELEASE.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/i/web/status/1387797859479732227" target="_blank" rel="nofollow noopener">Registration is now open for the June 2021 #FreeBSD Developers Summit</a></li>
<li><a href="https://www.dragonflydigest.com/2021/04/22/25663.html" target="_blank" rel="nofollow noopener">6.0RC1 images available</a></li>
<li><a href="https://plan9.io/sys/doc/lexnames.pdf" target="_blank" rel="nofollow noopener">Lexical File Names in Plan 9 or Getting Dot-Dot Right</a></li>
<li><a href="http://doc.cat-v.org/bell_labs/utf-8_history" target="_blank" rel="nofollow noopener">The history of UTF-8 as told by Rob Pike</a></li>
<li><a href="http://undeadly.org/cgi?action=article;sid=20210423090342" target="_blank" rel="nofollow noopener">Initial Support for the riscv64 Architecture</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/402/feedback/Hamza%20-%20Congrats%20on%20400" target="_blank" rel="nofollow noopener">Hamza - Congrats on 400</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/402/feedback/Renato%20-%20DTS%20and%20ContainerD" target="_blank" rel="nofollow noopener">Renato - DTS and ContainerD</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/402/feedback/Rob%20-%20Music" target="_blank" rel="nofollow noopener">Rob - Music</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>401: OpenBSD Dog Garage</title>
  <link>https://www.bsdnow.tv/401</link>
  <guid isPermaLink="false">65fbc474-0108-451b-a15c-d5d9bd7ca153</guid>
  <pubDate>Thu, 06 May 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/65fbc474-0108-451b-a15c-d5d9bd7ca153.mp3" length="35418744" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Dog's Garage Runs OpenBSD, EuroBSDcon 2021 Call for Papers, FreeBSD’s iostat, The state of toolchains in NetBSD, Bandwidth limiting on OpenBSD 6.8, FreeBSD's ports migration to git and its impact on HardenedBSD, TrueNAS 12.0-U3 has been released, and more.</itunes:subtitle>
  <itunes:duration>58: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>&lt;p&gt;Dog's Garage Runs OpenBSD, EuroBSDcon 2021 Call for Papers, FreeBSD’s iostat, The state of toolchains in NetBSD, Bandwidth limiting on OpenBSD 6.8, FreeBSD's ports migration to git and its impact on HardenedBSD, TrueNAS 12.0-U3 has been released, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20210415055717" target="_blank" rel="nofollow noopener"&gt;My Dog's Garage Runs OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I was inspired by the April 2017 article in undeadly.org about getting OpenBSD running on a Raspberry Pi 3B+. My goal was to use a Raspberry Pi running OpenBSD to monitor the temperature in my garage from my home. My dog has his own little "apartment" inside the garage, so I want to keep an eye on the temperature. (I don't rely on this device. He sleeps inside the house whenever he wants.)&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://2021.eurobsdcon.org/about/cfp/" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon 2021 Call for Papers&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-iostat-a-quick-glance/" target="_blank" rel="nofollow noopener"&gt;FreeBSD iostat&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/the-state-of-toolchains-in-netbsd/" target="_blank" rel="nofollow noopener"&gt;The state of toolchains in NetBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;While FreeBSD and OpenBSD both switched to using LLVM/Clang as their base system compiler, NetBSD picked a different path and remained with GCC and binutils regardless of the license change to GPLv3. However, it doesn't mean that the NetBSD project endorses this license, and the NetBSD Foundation's has issued a statement about its position on the subject.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/README?rev=1.1" target="_blank" rel="nofollow noopener"&gt;NetBSD’s statement&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-02-07-limit.html" target="_blank" rel="nofollow noopener"&gt;Bandwidth limiting on OpenBSD 6.8&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I will explain how to limit bandwidth on OpenBSD using its firewall PF (Packet Filter) queuing capability. It is a very powerful feature but it may be hard to understand at first. What is very important to understand is that it's technically not possible to limit the bandwidth of the whole system, because once data is getting on your network interface, it's already there and got by your router, what is possible is to limit the upload rate to cap the download rate.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2021-04-06/freebsds-ports-migration-git-and-its-impact-hardenedbsd" target="_blank" rel="nofollow noopener"&gt;FreeBSD's ports migration to git and its impact on HardenedBSD&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;FreeBSD completed their ports migration from subversion to git. Prior to the official switch, we used the read-only mirror FreeBSD had at GitHub[1]. The new repo is at [2]. A cursory glance at the new repo will show that the commit hashes changed. This presents an issue with HardenedBSD's ports tree in our merge-based workflow.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.truenas.com/docs/releasenotes/core/12.0u3/" target="_blank" rel="nofollow noopener"&gt;TrueNAS 12.0-U3 has been released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;iXsystems is excited to announce TrueNAS 12.0-U3 was released today and marks an important milestone in the transition from FreeNAS to TrueNAS. TrueNAS 12.0 is now considered by iXsystems to be a higher quality release than FreeNAS 11.3-U5, our previous benchmark. The new TrueNAS documentation site has also reached a point where it has more content and capabilities than FreeNAS. TrueNAS 12.0 is ready for mission-critical enterprise deployments.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://pkgsrc.joyent.com/install-on-osx/" target="_blank" rel="nofollow noopener"&gt;Joyent provides pkgsrc for MacOS X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://techpubs.jurassic.nl" target="_blank" rel="nofollow noopener"&gt;Archives of old Irix documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/DevSummit/202106" target="_blank" rel="nofollow noopener"&gt;FreeBSD Developer/Vendor Summit 2021&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/401/feedback/Andre%20-%20splitting%20zfs%20array" target="_blank" rel="nofollow noopener"&gt;Andre - splitting zfs array&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/401/feedback/Bruce%20-%20Command%20Change" target="_blank" rel="nofollow noopener"&gt;Bruce - Command Change&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/401/feedback/Dan%20-%20Annoyances%20with%20ZFS" target="_blank" rel="nofollow noopener"&gt;Dan - Annoyances with ZFS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</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, dog, garage, toolchain, bandwidth, bandwidth limit, migration, truenas, xenix, history</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Dog's Garage Runs OpenBSD, EuroBSDcon 2021 Call for Papers, FreeBSD’s iostat, The state of toolchains in NetBSD, Bandwidth limiting on OpenBSD 6.8, FreeBSD's ports migration to git and its impact on HardenedBSD, TrueNAS 12.0-U3 has been released, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210415055717" target="_blank" rel="nofollow noopener">My Dog's Garage Runs OpenBSD</a></h3>

<blockquote>
<p>I was inspired by the April 2017 article in undeadly.org about getting OpenBSD running on a Raspberry Pi 3B+. My goal was to use a Raspberry Pi running OpenBSD to monitor the temperature in my garage from my home. My dog has his own little "apartment" inside the garage, so I want to keep an eye on the temperature. (I don't rely on this device. He sleeps inside the house whenever he wants.)</p>

<hr>
</blockquote>

<h3><a href="https://2021.eurobsdcon.org/about/cfp/" target="_blank" rel="nofollow noopener">EuroBSDcon 2021 Call for Papers</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/freebsd-iostat-a-quick-glance/" target="_blank" rel="nofollow noopener">FreeBSD iostat</a></h3>

<hr>

<h3><a href="https://www.cambus.net/the-state-of-toolchains-in-netbsd/" target="_blank" rel="nofollow noopener">The state of toolchains in NetBSD</a></h3>

<blockquote>
<p>While FreeBSD and OpenBSD both switched to using LLVM/Clang as their base system compiler, NetBSD picked a different path and remained with GCC and binutils regardless of the license change to GPLv3. However, it doesn't mean that the NetBSD project endorses this license, and the NetBSD Foundation's has issued a statement about its position on the subject.</p>
</blockquote>

<ul>
<li><a href="http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/README?rev=1.1" target="_blank" rel="nofollow noopener">NetBSD’s statement</a>
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2021-02-07-limit.html" target="_blank" rel="nofollow noopener">Bandwidth limiting on OpenBSD 6.8</a></h3>

<blockquote>
<p>I will explain how to limit bandwidth on OpenBSD using its firewall PF (Packet Filter) queuing capability. It is a very powerful feature but it may be hard to understand at first. What is very important to understand is that it's technically not possible to limit the bandwidth of the whole system, because once data is getting on your network interface, it's already there and got by your router, what is possible is to limit the upload rate to cap the download rate.</p>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2021-04-06/freebsds-ports-migration-git-and-its-impact-hardenedbsd" target="_blank" rel="nofollow noopener">FreeBSD's ports migration to git and its impact on HardenedBSD</a></h3>

<p>FreeBSD completed their ports migration from subversion to git. Prior to the official switch, we used the read-only mirror FreeBSD had at GitHub[1]. The new repo is at [2]. A cursory glance at the new repo will show that the commit hashes changed. This presents an issue with HardenedBSD's ports tree in our merge-based workflow.</p>

<hr>
</blockquote>

<h3><a href="https://www.truenas.com/docs/releasenotes/core/12.0u3/" target="_blank" rel="nofollow noopener">TrueNAS 12.0-U3 has been released</a></h3>

<blockquote>
<p>iXsystems is excited to announce TrueNAS 12.0-U3 was released today and marks an important milestone in the transition from FreeNAS to TrueNAS. TrueNAS 12.0 is now considered by iXsystems to be a higher quality release than FreeNAS 11.3-U5, our previous benchmark. The new TrueNAS documentation site has also reached a point where it has more content and capabilities than FreeNAS. TrueNAS 12.0 is ready for mission-critical enterprise deployments.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://pkgsrc.joyent.com/install-on-osx/" target="_blank" rel="nofollow noopener">Joyent provides pkgsrc for MacOS X</a></li>
<li><a href="https://techpubs.jurassic.nl" target="_blank" rel="nofollow noopener">Archives of old Irix documentation</a></li>
<li><a href="https://wiki.freebsd.org/DevSummit/202106" target="_blank" rel="nofollow noopener">FreeBSD Developer/Vendor Summit 2021</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/401/feedback/Andre%20-%20splitting%20zfs%20array" target="_blank" rel="nofollow noopener">Andre - splitting zfs array</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/401/feedback/Bruce%20-%20Command%20Change" target="_blank" rel="nofollow noopener">Bruce - Command Change</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/401/feedback/Dan%20-%20Annoyances%20with%20ZFS" target="_blank" rel="nofollow noopener">Dan - Annoyances with ZFS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Dog's Garage Runs OpenBSD, EuroBSDcon 2021 Call for Papers, FreeBSD’s iostat, The state of toolchains in NetBSD, Bandwidth limiting on OpenBSD 6.8, FreeBSD's ports migration to git and its impact on HardenedBSD, TrueNAS 12.0-U3 has been released, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210415055717" target="_blank" rel="nofollow noopener">My Dog's Garage Runs OpenBSD</a></h3>

<blockquote>
<p>I was inspired by the April 2017 article in undeadly.org about getting OpenBSD running on a Raspberry Pi 3B+. My goal was to use a Raspberry Pi running OpenBSD to monitor the temperature in my garage from my home. My dog has his own little "apartment" inside the garage, so I want to keep an eye on the temperature. (I don't rely on this device. He sleeps inside the house whenever he wants.)</p>

<hr>
</blockquote>

<h3><a href="https://2021.eurobsdcon.org/about/cfp/" target="_blank" rel="nofollow noopener">EuroBSDcon 2021 Call for Papers</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/freebsd-iostat-a-quick-glance/" target="_blank" rel="nofollow noopener">FreeBSD iostat</a></h3>

<hr>

<h3><a href="https://www.cambus.net/the-state-of-toolchains-in-netbsd/" target="_blank" rel="nofollow noopener">The state of toolchains in NetBSD</a></h3>

<blockquote>
<p>While FreeBSD and OpenBSD both switched to using LLVM/Clang as their base system compiler, NetBSD picked a different path and remained with GCC and binutils regardless of the license change to GPLv3. However, it doesn't mean that the NetBSD project endorses this license, and the NetBSD Foundation's has issued a statement about its position on the subject.</p>
</blockquote>

<ul>
<li><a href="http://cvsweb.netbsd.org/bsdweb.cgi/src/external/gpl3/README?rev=1.1" target="_blank" rel="nofollow noopener">NetBSD’s statement</a>
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2021-02-07-limit.html" target="_blank" rel="nofollow noopener">Bandwidth limiting on OpenBSD 6.8</a></h3>

<blockquote>
<p>I will explain how to limit bandwidth on OpenBSD using its firewall PF (Packet Filter) queuing capability. It is a very powerful feature but it may be hard to understand at first. What is very important to understand is that it's technically not possible to limit the bandwidth of the whole system, because once data is getting on your network interface, it's already there and got by your router, what is possible is to limit the upload rate to cap the download rate.</p>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2021-04-06/freebsds-ports-migration-git-and-its-impact-hardenedbsd" target="_blank" rel="nofollow noopener">FreeBSD's ports migration to git and its impact on HardenedBSD</a></h3>

<p>FreeBSD completed their ports migration from subversion to git. Prior to the official switch, we used the read-only mirror FreeBSD had at GitHub[1]. The new repo is at [2]. A cursory glance at the new repo will show that the commit hashes changed. This presents an issue with HardenedBSD's ports tree in our merge-based workflow.</p>

<hr>
</blockquote>

<h3><a href="https://www.truenas.com/docs/releasenotes/core/12.0u3/" target="_blank" rel="nofollow noopener">TrueNAS 12.0-U3 has been released</a></h3>

<blockquote>
<p>iXsystems is excited to announce TrueNAS 12.0-U3 was released today and marks an important milestone in the transition from FreeNAS to TrueNAS. TrueNAS 12.0 is now considered by iXsystems to be a higher quality release than FreeNAS 11.3-U5, our previous benchmark. The new TrueNAS documentation site has also reached a point where it has more content and capabilities than FreeNAS. TrueNAS 12.0 is ready for mission-critical enterprise deployments.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://pkgsrc.joyent.com/install-on-osx/" target="_blank" rel="nofollow noopener">Joyent provides pkgsrc for MacOS X</a></li>
<li><a href="https://techpubs.jurassic.nl" target="_blank" rel="nofollow noopener">Archives of old Irix documentation</a></li>
<li><a href="https://wiki.freebsd.org/DevSummit/202106" target="_blank" rel="nofollow noopener">FreeBSD Developer/Vendor Summit 2021</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/401/feedback/Andre%20-%20splitting%20zfs%20array" target="_blank" rel="nofollow noopener">Andre - splitting zfs array</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/401/feedback/Bruce%20-%20Command%20Change" target="_blank" rel="nofollow noopener">Bruce - Command Change</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/401/feedback/Dan%20-%20Annoyances%20with%20ZFS" target="_blank" rel="nofollow noopener">Dan - Annoyances with ZFS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>400: FreeBSD became 13</title>
  <link>https://www.bsdnow.tv/400</link>
  <guid isPermaLink="false">3117fff6-093a-49a0-b8a2-c8628deb83e5</guid>
  <pubDate>Thu, 29 Apr 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3117fff6-093a-49a0-b8a2-c8628deb83e5.mp3" length="40681968" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle> FreeBSD 13 is here, multi-factor authentication on OpenBSD, KDE on FreeBSD 2021o2, NetBSD GSoC report, a working D compiler on OpenBSD, and more</itunes:subtitle>
  <itunes:duration>1:02:43</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>&lt;p&gt;FreeBSD 13 is here, multi-factor authentication on OpenBSD, KDE on FreeBSD 2021o2, NetBSD GSoC report, a working D compiler on OpenBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/releases/13.0R/announce/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13.0 R Annoucement&lt;/a&gt;&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;• OpenZFS 2.0 (almost 2.1) is included in 13.0
• Removed support for previously-deprecated algorithms in geli(8).
• The armv8crypto(4) driver now supports AES-GCM which is used by IPsec and kernel TLS.
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-02-06-openbsd-2fa.html" target="_blank" rel="nofollow noopener"&gt;Enable multi-factor authentication on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In this article I will explain how to add a bit more security to your OpenBSD system by adding a requirement for user logging into the system, locally or by ssh. I will explain how to setup 2 factor authentication (2FA) using TOTP on OpenBSD&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl/kde/2021/03/26/freebsd2021o2.html" target="_blank" rel="nofollow noopener"&gt;KDE on FreeBSD 2021o2&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Gosh, second octant already! Well, let’s take a look at the big things that happened in KDE-on-FreeBSD in these six-and-a-half weeks.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/gsoc_reports_make_system_31" target="_blank" rel="nofollow noopener"&gt;GSoC Reports: Make system(3), popen(3) and popenve(3) use posix_spawn(3) internally (Final report)&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;My code can be found at github.com/teknokatze/src in the gsoc2020 branch, at the time of writing some of it is still missing. The test facilities and logs can be found in github.com/teknokatze/gsoc2020. A diff can be found at github which will later be split into several patches before it is sent to QA for merging.&lt;br&gt;
The initial and defined goal of this project was to make system(3) and popen(3) use posix_spawn(3) internally, which had been completed in June. For the second part I was given the task to replace fork+exec calls in our standard shell (sh) in one scenario. Similar to the previous goal we determined through implementation if the initial motivation, to get performance improvements, is correct otherwise we collect metrics for why posix_spawn() in this case should be avoided. This second part meant in practice that I had to add and change code in the kernel, add a new public libc function, and understand shell internals.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20210322080633" target="_blank" rel="nofollow noopener"&gt;A working D compiler on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Dr. Brian Robert Callahan (bcallah@) blogged about his work in getting D compiler(s) working under OpenBSD.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://briancallahan.net/blog/20210320.html" target="_blank" rel="nofollow noopener"&gt;Full Post&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/400/feedback/Vasilis%20-%20upgrade%20question" target="_blank" rel="nofollow noopener"&gt;Vasilis - upgrade question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/400/feedback/Dennis%20-%20zfs%20questions" target="_blank" rel="nofollow noopener"&gt;Dennis - zfs questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/400/feedback/dmilith%20-%20KTLS" target="_blank" rel="nofollow noopener"&gt;Daniel Dettlaff - KTLS question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, freebsd 13, kde, report, google summer of code, gsoc, d compiler</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 13 is here, multi-factor authentication on OpenBSD, KDE on FreeBSD 2021o2, NetBSD GSoC report, a working D compiler on OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/13.0R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 13.0 R Annoucement</a></h3>

<pre><code>• OpenZFS 2.0 (almost 2.1) is included in 13.0
• Removed support for previously-deprecated algorithms in geli(8).
• The armv8crypto(4) driver now supports AES-GCM which is used by IPsec and kernel TLS.
</code></pre>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-02-06-openbsd-2fa.html" target="_blank" rel="nofollow noopener">Enable multi-factor authentication on OpenBSD</a></h3>

<blockquote>
<p>In this article I will explain how to add a bit more security to your OpenBSD system by adding a requirement for user logging into the system, locally or by ssh. I will explain how to setup 2 factor authentication (2FA) using TOTP on OpenBSD</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://euroquis.nl/kde/2021/03/26/freebsd2021o2.html" target="_blank" rel="nofollow noopener">KDE on FreeBSD 2021o2</a></h3>

<blockquote>
<p>Gosh, second octant already! Well, let’s take a look at the big things that happened in KDE-on-FreeBSD in these six-and-a-half weeks.</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/gsoc_reports_make_system_31" target="_blank" rel="nofollow noopener">GSoC Reports: Make system(3), popen(3) and popenve(3) use posix_spawn(3) internally (Final report)</a></h3>

<blockquote>
<p>My code can be found at github.com/teknokatze/src in the gsoc2020 branch, at the time of writing some of it is still missing. The test facilities and logs can be found in github.com/teknokatze/gsoc2020. A diff can be found at github which will later be split into several patches before it is sent to QA for merging.<br>
The initial and defined goal of this project was to make system(3) and popen(3) use posix_spawn(3) internally, which had been completed in June. For the second part I was given the task to replace fork+exec calls in our standard shell (sh) in one scenario. Similar to the previous goal we determined through implementation if the initial motivation, to get performance improvements, is correct otherwise we collect metrics for why posix_spawn() in this case should be avoided. This second part meant in practice that I had to add and change code in the kernel, add a new public libc function, and understand shell internals.</p>

<hr>
</blockquote>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210322080633" target="_blank" rel="nofollow noopener">A working D compiler on OpenBSD</a></h3>

<blockquote>
<p>Dr. Brian Robert Callahan (bcallah@) blogged about his work in getting D compiler(s) working under OpenBSD.</p>

<ul>
<li><a href="https://briancallahan.net/blog/20210320.html" target="_blank" rel="nofollow noopener">Full Post</a>
***</li>
</ul>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/400/feedback/Vasilis%20-%20upgrade%20question" target="_blank" rel="nofollow noopener">Vasilis - upgrade question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/400/feedback/Dennis%20-%20zfs%20questions" target="_blank" rel="nofollow noopener">Dennis - zfs questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/400/feedback/dmilith%20-%20KTLS" target="_blank" rel="nofollow noopener">Daniel Dettlaff - KTLS question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 13 is here, multi-factor authentication on OpenBSD, KDE on FreeBSD 2021o2, NetBSD GSoC report, a working D compiler on OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/13.0R/announce/" target="_blank" rel="nofollow noopener">FreeBSD 13.0 R Annoucement</a></h3>

<pre><code>• OpenZFS 2.0 (almost 2.1) is included in 13.0
• Removed support for previously-deprecated algorithms in geli(8).
• The armv8crypto(4) driver now supports AES-GCM which is used by IPsec and kernel TLS.
</code></pre>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-02-06-openbsd-2fa.html" target="_blank" rel="nofollow noopener">Enable multi-factor authentication on OpenBSD</a></h3>

<blockquote>
<p>In this article I will explain how to add a bit more security to your OpenBSD system by adding a requirement for user logging into the system, locally or by ssh. I will explain how to setup 2 factor authentication (2FA) using TOTP on OpenBSD</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://euroquis.nl/kde/2021/03/26/freebsd2021o2.html" target="_blank" rel="nofollow noopener">KDE on FreeBSD 2021o2</a></h3>

<blockquote>
<p>Gosh, second octant already! Well, let’s take a look at the big things that happened in KDE-on-FreeBSD in these six-and-a-half weeks.</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/gsoc_reports_make_system_31" target="_blank" rel="nofollow noopener">GSoC Reports: Make system(3), popen(3) and popenve(3) use posix_spawn(3) internally (Final report)</a></h3>

<blockquote>
<p>My code can be found at github.com/teknokatze/src in the gsoc2020 branch, at the time of writing some of it is still missing. The test facilities and logs can be found in github.com/teknokatze/gsoc2020. A diff can be found at github which will later be split into several patches before it is sent to QA for merging.<br>
The initial and defined goal of this project was to make system(3) and popen(3) use posix_spawn(3) internally, which had been completed in June. For the second part I was given the task to replace fork+exec calls in our standard shell (sh) in one scenario. Similar to the previous goal we determined through implementation if the initial motivation, to get performance improvements, is correct otherwise we collect metrics for why posix_spawn() in this case should be avoided. This second part meant in practice that I had to add and change code in the kernel, add a new public libc function, and understand shell internals.</p>

<hr>
</blockquote>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210322080633" target="_blank" rel="nofollow noopener">A working D compiler on OpenBSD</a></h3>

<blockquote>
<p>Dr. Brian Robert Callahan (bcallah@) blogged about his work in getting D compiler(s) working under OpenBSD.</p>

<ul>
<li><a href="https://briancallahan.net/blog/20210320.html" target="_blank" rel="nofollow noopener">Full Post</a>
***</li>
</ul>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/400/feedback/Vasilis%20-%20upgrade%20question" target="_blank" rel="nofollow noopener">Vasilis - upgrade question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/400/feedback/Dennis%20-%20zfs%20questions" target="_blank" rel="nofollow noopener">Dennis - zfs questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/400/feedback/dmilith%20-%20KTLS" target="_blank" rel="nofollow noopener">Daniel Dettlaff - KTLS question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>399: Comparing Sandboxes</title>
  <link>https://www.bsdnow.tv/399</link>
  <guid isPermaLink="false">3de2dd50-eca9-4729-9ef6-464aa4ec5795</guid>
  <pubDate>Thu, 22 Apr 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3de2dd50-eca9-4729-9ef6-464aa4ec5795.mp3" length="36616080" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Comparing sandboxing techniques, Statement on FreeBSD development processes, customizing FreeBSD ports and packages, the quest for a comfortable NetBSD desktop, Nginx as a TCP/UDP relay, HardenedBSD March 2021 Status Report, Detailed Behaviors of Unix Signal, and more
</itunes:subtitle>
  <itunes:duration>57:04</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>&lt;p&gt;Comparing sandboxing techniques, Statement on FreeBSD development processes, customizing FreeBSD ports and packages, the quest for a comfortable NetBSD desktop, Nginx as a TCP/UDP relay, HardenedBSD March 2021 Status Report, Detailed Behaviors of Unix Signal, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.omarpolo.com/post/gmid-sandbox.html" target="_blank" rel="nofollow noopener"&gt;Comparing sandboxing techniques&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I had the opportunity to implement a sandbox and I'd like to write about the differences between the various sandboxing techniques available on three different operating systems: FreeBSD, Linux and OpenBSD.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-hackers/2021-March/057127.html" target="_blank" rel="nofollow noopener"&gt;Statement on FreeBSD development processes&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;In light of the recent commentary on FreeBSD's development practices, members of the Core team would like to issue the following statement.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/customizing-freebsd-ports-and-packages/" target="_blank" rel="nofollow noopener"&gt;Customizing FreeBSD Ports and Packages&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;A basic intro to building your own packages&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.unitedbsd.com/d/442-fvwm3-and-the-quest-for-a-comfortable-netbsd-desktop" target="_blank" rel="nofollow noopener"&gt;FVWM(3) and the quest for a comfortable NetBSD desktop&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FVWM substantially allows one to build a fully-fledged lightweight desktop environment from scratch, with an almost unparalleled degree of freedom. Although using FVWM does not require any knowledge of programming languages, it is possible to extend it with M4, C, and Perl preprocessing.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2021-02-24-nginx-stream.html" target="_blank" rel="nofollow noopener"&gt;Nginx as a TCP/UDP relay&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;In this tutorial I will explain how to use Nginx as a TCP or UDP relay as an alternative to Haproxy or Relayd. This mean nginx will be able to accept requests on a port (TCP/UDP) and relay it to another backend without knowing about the content. It also permits to negociates a TLS session with the client and relay to a non-TLS backend. In this example I will explain how to configure Nginx to accept TLS requests to transmit it to my Gemini server Vger, Gemini protocol has TLS as a requirement.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2021-03-31/hardenedbsd-march-2021-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD March 2021 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;This month, I worked on finding and fixing the regression that caused kernel panics on our package builders. I think I found the issue: I made it so that the HARDENEDBSD amd64 kernel just included GENERIC so that we follow FreeBSD's toggling of features. Doing so added QUEUE_MACRO_DEBUG_TRASH to our kernel config. That option is the likely culprit. If the next package build (with the option removed) completes, I will commit the change that removes QUEUE_MACRO_DEBUG_TRASH from the HARDENEDBSD amd64 kernel.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dyx.name/posts/essays/signal.html" target="_blank" rel="nofollow noopener"&gt;Detailed Behaviors of Unix Signal&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;When Unix is mentioned in this document it means macOS or Linux as they are the mainly used Unix at this moment. When shell is mentioned it means Bash or Zsh. Most demos are written in C for macOS with Apple libc and Linux with glibc.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/399/feedback/andrew%20-%20flatpak" target="_blank" rel="nofollow noopener"&gt;andrew - flatpak&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/399/feedback/chris%20-%20mac%20and%20truenas" target="_blank" rel="nofollow noopener"&gt;chris - mac and truenas&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/399/feedback/robert%20-%20some%20questions" target="_blank" rel="nofollow noopener"&gt;robert - some questions&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</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, sandboxing, sandbox technique, development process, statement, customizing, ports, packages, nginx, relay, tcp, udp, status report, signal</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Comparing sandboxing techniques, Statement on FreeBSD development processes, customizing FreeBSD ports and packages, the quest for a comfortable NetBSD desktop, Nginx as a TCP/UDP relay, HardenedBSD March 2021 Status Report, Detailed Behaviors of Unix Signal, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.omarpolo.com/post/gmid-sandbox.html" target="_blank" rel="nofollow noopener">Comparing sandboxing techniques</a></h3>

<blockquote>
<p>I had the opportunity to implement a sandbox and I'd like to write about the differences between the various sandboxing techniques available on three different operating systems: FreeBSD, Linux and OpenBSD.</p>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-hackers/2021-March/057127.html" target="_blank" rel="nofollow noopener">Statement on FreeBSD development processes</a></h3>

<p>In light of the recent commentary on FreeBSD's development practices, members of the Core team would like to issue the following statement.</p>

<hr>

<h3><a href="https://klarasystems.com/articles/customizing-freebsd-ports-and-packages/" target="_blank" rel="nofollow noopener">Customizing FreeBSD Ports and Packages</a></h3>

<p>A basic intro to building your own packages</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://www.unitedbsd.com/d/442-fvwm3-and-the-quest-for-a-comfortable-netbsd-desktop" target="_blank" rel="nofollow noopener">FVWM(3) and the quest for a comfortable NetBSD desktop</a></h3>

<blockquote>
<p>FVWM substantially allows one to build a fully-fledged lightweight desktop environment from scratch, with an almost unparalleled degree of freedom. Although using FVWM does not require any knowledge of programming languages, it is possible to extend it with M4, C, and Perl preprocessing.</p>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-02-24-nginx-stream.html" target="_blank" rel="nofollow noopener">Nginx as a TCP/UDP relay</a></h3>

<p>In this tutorial I will explain how to use Nginx as a TCP or UDP relay as an alternative to Haproxy or Relayd. This mean nginx will be able to accept requests on a port (TCP/UDP) and relay it to another backend without knowing about the content. It also permits to negociates a TLS session with the client and relay to a non-TLS backend. In this example I will explain how to configure Nginx to accept TLS requests to transmit it to my Gemini server Vger, Gemini protocol has TLS as a requirement.</p>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2021-03-31/hardenedbsd-march-2021-status-report" target="_blank" rel="nofollow noopener">HardenedBSD March 2021 Status Report</a></h3>

<p>This month, I worked on finding and fixing the regression that caused kernel panics on our package builders. I think I found the issue: I made it so that the HARDENEDBSD amd64 kernel just included GENERIC so that we follow FreeBSD's toggling of features. Doing so added QUEUE_MACRO_DEBUG_TRASH to our kernel config. That option is the likely culprit. If the next package build (with the option removed) completes, I will commit the change that removes QUEUE_MACRO_DEBUG_TRASH from the HARDENEDBSD amd64 kernel.</p>

<hr>

<h3><a href="https://www.dyx.name/posts/essays/signal.html" target="_blank" rel="nofollow noopener">Detailed Behaviors of Unix Signal</a></h3>

<p>When Unix is mentioned in this document it means macOS or Linux as they are the mainly used Unix at this moment. When shell is mentioned it means Bash or Zsh. Most demos are written in C for macOS with Apple libc and Linux with glibc.</p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>
</blockquote>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/399/feedback/andrew%20-%20flatpak" target="_blank" rel="nofollow noopener">andrew - flatpak</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/399/feedback/chris%20-%20mac%20and%20truenas" target="_blank" rel="nofollow noopener">chris - mac and truenas</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/399/feedback/robert%20-%20some%20questions" target="_blank" rel="nofollow noopener">robert - some questions</a></p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Comparing sandboxing techniques, Statement on FreeBSD development processes, customizing FreeBSD ports and packages, the quest for a comfortable NetBSD desktop, Nginx as a TCP/UDP relay, HardenedBSD March 2021 Status Report, Detailed Behaviors of Unix Signal, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.omarpolo.com/post/gmid-sandbox.html" target="_blank" rel="nofollow noopener">Comparing sandboxing techniques</a></h3>

<blockquote>
<p>I had the opportunity to implement a sandbox and I'd like to write about the differences between the various sandboxing techniques available on three different operating systems: FreeBSD, Linux and OpenBSD.</p>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-hackers/2021-March/057127.html" target="_blank" rel="nofollow noopener">Statement on FreeBSD development processes</a></h3>

<p>In light of the recent commentary on FreeBSD's development practices, members of the Core team would like to issue the following statement.</p>

<hr>

<h3><a href="https://klarasystems.com/articles/customizing-freebsd-ports-and-packages/" target="_blank" rel="nofollow noopener">Customizing FreeBSD Ports and Packages</a></h3>

<p>A basic intro to building your own packages</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://www.unitedbsd.com/d/442-fvwm3-and-the-quest-for-a-comfortable-netbsd-desktop" target="_blank" rel="nofollow noopener">FVWM(3) and the quest for a comfortable NetBSD desktop</a></h3>

<blockquote>
<p>FVWM substantially allows one to build a fully-fledged lightweight desktop environment from scratch, with an almost unparalleled degree of freedom. Although using FVWM does not require any knowledge of programming languages, it is possible to extend it with M4, C, and Perl preprocessing.</p>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2021-02-24-nginx-stream.html" target="_blank" rel="nofollow noopener">Nginx as a TCP/UDP relay</a></h3>

<p>In this tutorial I will explain how to use Nginx as a TCP or UDP relay as an alternative to Haproxy or Relayd. This mean nginx will be able to accept requests on a port (TCP/UDP) and relay it to another backend without knowing about the content. It also permits to negociates a TLS session with the client and relay to a non-TLS backend. In this example I will explain how to configure Nginx to accept TLS requests to transmit it to my Gemini server Vger, Gemini protocol has TLS as a requirement.</p>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2021-03-31/hardenedbsd-march-2021-status-report" target="_blank" rel="nofollow noopener">HardenedBSD March 2021 Status Report</a></h3>

<p>This month, I worked on finding and fixing the regression that caused kernel panics on our package builders. I think I found the issue: I made it so that the HARDENEDBSD amd64 kernel just included GENERIC so that we follow FreeBSD's toggling of features. Doing so added QUEUE_MACRO_DEBUG_TRASH to our kernel config. That option is the likely culprit. If the next package build (with the option removed) completes, I will commit the change that removes QUEUE_MACRO_DEBUG_TRASH from the HARDENEDBSD amd64 kernel.</p>

<hr>

<h3><a href="https://www.dyx.name/posts/essays/signal.html" target="_blank" rel="nofollow noopener">Detailed Behaviors of Unix Signal</a></h3>

<p>When Unix is mentioned in this document it means macOS or Linux as they are the mainly used Unix at this moment. When shell is mentioned it means Bash or Zsh. Most demos are written in C for macOS with Apple libc and Linux with glibc.</p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>
</blockquote>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/399/feedback/andrew%20-%20flatpak" target="_blank" rel="nofollow noopener">andrew - flatpak</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/399/feedback/chris%20-%20mac%20and%20truenas" target="_blank" rel="nofollow noopener">chris - mac and truenas</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/399/feedback/robert%20-%20some%20questions" target="_blank" rel="nofollow noopener">robert - some questions</a></p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>398: Coordinated Mars Time</title>
  <link>https://www.bsdnow.tv/398</link>
  <guid isPermaLink="false">690f3bec-7d66-4d05-8cee-073e2248cd50</guid>
  <pubDate>Thu, 15 Apr 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/690f3bec-7d66-4d05-8cee-073e2248cd50.mp3" length="30056400" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 13.0 Full Desktop Experience, FreeBSD on ARM64 in the Cloud, Plan 9 from Bell Labs in Cyberspace, Inferno is open source as well, NetBSD hits donation milestone, grep returns (standard input) on FreeBSD, Random Programming Challenge, OpenBSD Adds Support for Coordinated Mars Time (MTC) and more</itunes:subtitle>
  <itunes:duration>50:14</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>&lt;p&gt;FreeBSD 13.0 Full Desktop Experience, FreeBSD on ARM64 in the Cloud, Plan 9 from Bell Labs in Cyberspace, Inferno is open source as well, NetBSD hits donation milestone, grep returns (standard input) on FreeBSD, Random Programming Challenge, OpenBSD Adds Support for Coordinated Mars Time (MTC) and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.tubsta.com/2021/03/freebsd-13-0-full-desktop-experience/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13.0 – Full Desktop Experience&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;With the release of FreeBSD 13.0 on the horizon, I wanted to see how it shapes up on my Lenovo T450 laptop.  Previous major releases on this laptop, using it as a workstation, felt very rough around the edges but with 13, it feels like the developers got it right.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/the-next-level-freebsd-on-arm64-in-the-cloud/" target="_blank" rel="nofollow noopener"&gt;FreeBSD on ARM64 in the Cloud&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Until the end of June, Amazon AWS is offering free ARM64 Graviton instances, learn how to try out FreeBSD to ARMv8 in the cloud&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.bell-labs.com/institute/blog/plan-9-bell-labs-cyberspace/" target="_blank" rel="nofollow noopener"&gt;Plan 9 from Bell Labs in Cyberspace!&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://p9f.org/dl/index.html" target="_blank" rel="nofollow noopener"&gt;The releases below represent the historical releases of Plan 9.&lt;/a&gt; The two versions of 4th Edition represent the initial release and the final version available from Bell Labs as it was updated and patched. All historical releases of Plan 9 have been re-released under the terms of the MIT license.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bitbucket.org/inferno-os/inferno64-os/src/master/" target="_blank" rel="nofollow noopener"&gt;Inferno is open source as well&lt;/a&gt;
***
## News Roundup
### &lt;a href="http://blog.netbsd.org/tnf/entry/hitting_donation_milestone_financial_report" target="_blank" rel="nofollow noopener"&gt;Hitting donation milestone, financial report for 2020&lt;/a&gt;
We nearly hit our 2020 donation milestone set after the release of 9.0 of $50,000.
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/grep-returns-standard-input/" target="_blank" rel="nofollow noopener"&gt;grep returns (standard input) on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I was dealing with a bizarre error with grep(1) on FreeBSD, and it soon infected my macOS and NetBSD machines too. It was driving me crazy!&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://projecteuler.net/problem=84" target="_blank" rel="nofollow noopener"&gt;Random Programming Challenge&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;This better not be an April Fools Joke… I want to see this actually implemented. I’ll donate $100 to the first BSD that actually implements this for real.  Who’s with me?&lt;/h3&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://marc.info/?l=openbsd-cvs&amp;amp;m=161730046519995" target="_blank" rel="nofollow noopener"&gt;OpenBSD Adds Support for Coordinated Mars Time (MTC)&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To make sure that OpenBSD can be used elsewhere than just earth, this diff introduces Coordinated Mars Time (MTC), the Mars equivalent of earth’s Universal Time (UTC).&lt;br&gt;
&lt;a href="https://github.com/openzfs/zfs/pull/11823" target="_blank" rel="nofollow noopener"&gt;OpenZFS had a good one too&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/398/feedback/Brandon%20-%20router" target="_blank" rel="nofollow noopener"&gt;Brandon - router&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/398/feedback/Lawrence%20-%20Is%20FreeBSD%20for%20me" target="_blank" rel="nofollow noopener"&gt;Lawrence - Is BSD for me&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/398/feedback/miguel%20-%20printing" target="_blank" rel="nofollow noopener"&gt;miguel - printing&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, desktop, arm64, armv8, cloud, aws, plan 9, bell labs, cyberspace, inferno, donation, milestone, financial, report, opnsense, grep, stdin, standard input, random, programming, challenge, Mars, Coordinated Mars Time </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 13.0 Full Desktop Experience, FreeBSD on ARM64 in the Cloud, Plan 9 from Bell Labs in Cyberspace, Inferno is open source as well, NetBSD hits donation milestone, grep returns (standard input) on FreeBSD, Random Programming Challenge, OpenBSD Adds Support for Coordinated Mars Time (MTC) 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.tubsta.com/2021/03/freebsd-13-0-full-desktop-experience/" target="_blank" rel="nofollow noopener">FreeBSD 13.0 – Full Desktop Experience</a></h3>

<blockquote>
<p>With the release of FreeBSD 13.0 on the horizon, I wanted to see how it shapes up on my Lenovo T450 laptop.  Previous major releases on this laptop, using it as a workstation, felt very rough around the edges but with 13, it feels like the developers got it right.</p>

<hr>

<h3><a href="https://klarasystems.com/articles/the-next-level-freebsd-on-arm64-in-the-cloud/" target="_blank" rel="nofollow noopener">FreeBSD on ARM64 in the Cloud</a></h3>

<p>Until the end of June, Amazon AWS is offering free ARM64 Graviton instances, learn how to try out FreeBSD to ARMv8 in the cloud</p>

<hr>
</blockquote>

<h3><a href="https://www.bell-labs.com/institute/blog/plan-9-bell-labs-cyberspace/" target="_blank" rel="nofollow noopener">Plan 9 from Bell Labs in Cyberspace!</a></h3>

<blockquote>
<p><a href="http://p9f.org/dl/index.html" target="_blank" rel="nofollow noopener">The releases below represent the historical releases of Plan 9.</a> The two versions of 4th Edition represent the initial release and the final version available from Bell Labs as it was updated and patched. All historical releases of Plan 9 have been re-released under the terms of the MIT license.</p>

<ul>
<li><a href="https://bitbucket.org/inferno-os/inferno64-os/src/master/" target="_blank" rel="nofollow noopener">Inferno is open source as well</a>
***
## News Roundup
### <a href="http://blog.netbsd.org/tnf/entry/hitting_donation_milestone_financial_report" target="_blank" rel="nofollow noopener">Hitting donation milestone, financial report for 2020</a>
We nearly hit our 2020 donation milestone set after the release of 9.0 of $50,000.
***</li>
</ul>
</blockquote>

<h3><a href="https://rubenerd.com/grep-returns-standard-input/" target="_blank" rel="nofollow noopener">grep returns (standard input) on FreeBSD</a></h3>

<blockquote>
<p>I was dealing with a bizarre error with grep(1) on FreeBSD, and it soon infected my macOS and NetBSD machines too. It was driving me crazy!</p>

<hr>

<h3><a href="https://projecteuler.net/problem=84" target="_blank" rel="nofollow noopener">Random Programming Challenge</a></h3>

<hr>

<h3>This better not be an April Fools Joke… I want to see this actually implemented. I’ll donate $100 to the first BSD that actually implements this for real.  Who’s with me?</h3>
</blockquote>

<p><a href="https://marc.info/?l=openbsd-cvs&amp;m=161730046519995" target="_blank" rel="nofollow noopener">OpenBSD Adds Support for Coordinated Mars Time (MTC)</a></p>

<blockquote>
<p>To make sure that OpenBSD can be used elsewhere than just earth, this diff introduces Coordinated Mars Time (MTC), the Mars equivalent of earth’s Universal Time (UTC).<br>
<a href="https://github.com/openzfs/zfs/pull/11823" target="_blank" rel="nofollow noopener">OpenZFS had a good one too</a></p>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/398/feedback/Brandon%20-%20router" target="_blank" rel="nofollow noopener">Brandon - router</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/398/feedback/Lawrence%20-%20Is%20FreeBSD%20for%20me" target="_blank" rel="nofollow noopener">Lawrence - Is BSD for me</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/398/feedback/miguel%20-%20printing" target="_blank" rel="nofollow noopener">miguel - printing</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 13.0 Full Desktop Experience, FreeBSD on ARM64 in the Cloud, Plan 9 from Bell Labs in Cyberspace, Inferno is open source as well, NetBSD hits donation milestone, grep returns (standard input) on FreeBSD, Random Programming Challenge, OpenBSD Adds Support for Coordinated Mars Time (MTC) 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.tubsta.com/2021/03/freebsd-13-0-full-desktop-experience/" target="_blank" rel="nofollow noopener">FreeBSD 13.0 – Full Desktop Experience</a></h3>

<blockquote>
<p>With the release of FreeBSD 13.0 on the horizon, I wanted to see how it shapes up on my Lenovo T450 laptop.  Previous major releases on this laptop, using it as a workstation, felt very rough around the edges but with 13, it feels like the developers got it right.</p>

<hr>

<h3><a href="https://klarasystems.com/articles/the-next-level-freebsd-on-arm64-in-the-cloud/" target="_blank" rel="nofollow noopener">FreeBSD on ARM64 in the Cloud</a></h3>

<p>Until the end of June, Amazon AWS is offering free ARM64 Graviton instances, learn how to try out FreeBSD to ARMv8 in the cloud</p>

<hr>
</blockquote>

<h3><a href="https://www.bell-labs.com/institute/blog/plan-9-bell-labs-cyberspace/" target="_blank" rel="nofollow noopener">Plan 9 from Bell Labs in Cyberspace!</a></h3>

<blockquote>
<p><a href="http://p9f.org/dl/index.html" target="_blank" rel="nofollow noopener">The releases below represent the historical releases of Plan 9.</a> The two versions of 4th Edition represent the initial release and the final version available from Bell Labs as it was updated and patched. All historical releases of Plan 9 have been re-released under the terms of the MIT license.</p>

<ul>
<li><a href="https://bitbucket.org/inferno-os/inferno64-os/src/master/" target="_blank" rel="nofollow noopener">Inferno is open source as well</a>
***
## News Roundup
### <a href="http://blog.netbsd.org/tnf/entry/hitting_donation_milestone_financial_report" target="_blank" rel="nofollow noopener">Hitting donation milestone, financial report for 2020</a>
We nearly hit our 2020 donation milestone set after the release of 9.0 of $50,000.
***</li>
</ul>
</blockquote>

<h3><a href="https://rubenerd.com/grep-returns-standard-input/" target="_blank" rel="nofollow noopener">grep returns (standard input) on FreeBSD</a></h3>

<blockquote>
<p>I was dealing with a bizarre error with grep(1) on FreeBSD, and it soon infected my macOS and NetBSD machines too. It was driving me crazy!</p>

<hr>

<h3><a href="https://projecteuler.net/problem=84" target="_blank" rel="nofollow noopener">Random Programming Challenge</a></h3>

<hr>

<h3>This better not be an April Fools Joke… I want to see this actually implemented. I’ll donate $100 to the first BSD that actually implements this for real.  Who’s with me?</h3>
</blockquote>

<p><a href="https://marc.info/?l=openbsd-cvs&amp;m=161730046519995" target="_blank" rel="nofollow noopener">OpenBSD Adds Support for Coordinated Mars Time (MTC)</a></p>

<blockquote>
<p>To make sure that OpenBSD can be used elsewhere than just earth, this diff introduces Coordinated Mars Time (MTC), the Mars equivalent of earth’s Universal Time (UTC).<br>
<a href="https://github.com/openzfs/zfs/pull/11823" target="_blank" rel="nofollow noopener">OpenZFS had a good one too</a></p>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/398/feedback/Brandon%20-%20router" target="_blank" rel="nofollow noopener">Brandon - router</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/398/feedback/Lawrence%20-%20Is%20FreeBSD%20for%20me" target="_blank" rel="nofollow noopener">Lawrence - Is BSD for me</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/398/feedback/miguel%20-%20printing" target="_blank" rel="nofollow noopener">miguel - printing</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>397: Fresh BSD 2021</title>
  <link>https://www.bsdnow.tv/397</link>
  <guid isPermaLink="false">c901a741-a25b-4d92-9ce4-03b5f2e18d2f</guid>
  <pubDate>Thu, 08 Apr 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c901a741-a25b-4d92-9ce4-03b5f2e18d2f.mp3" length="34526808" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Customizing the FreeBSD Kernel, OpenBSD/loongson on the Lemote Fuloong, how ZFS on Linux brings up pools and filesystems at boot under systemd, LLDB: FreeBSD Legacy Process Plugin Removed, FreshBSD 2021, gmid, Danschmid’s Poudriere Guide in english, and more</itunes:subtitle>
  <itunes:duration>56:01</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>&lt;p&gt;Customizing the FreeBSD Kernel, OpenBSD/loongson on the Lemote Fuloong, how ZFS on Linux brings up pools and filesystems at boot under systemd, LLDB: FreeBSD Legacy Process Plugin Removed, FreshBSD 2021, gmid, Danschmid’s Poudriere Guide in english, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/customizing-the-freebsd-kernel/" target="_blank" rel="nofollow noopener"&gt;Customizing the FreeBSD Kernel&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Learn more about customizing the build of the FreeBSD kernel and its loadable modules&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/openbsd-loongson-on-the-lemote-fuloong/" target="_blank" rel="nofollow noopener"&gt;OpenBSD/loongson on the Lemote Fuloong&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;In my article about running OpenBSD/loongson on the Lemote Yeeloong back in 2016, I mentioned looking for a Fuloong. All hope seemed lost until the Summer of 2017, when a fellow OpenBSD developer was contacted by a generous user (Thanks again, Lars!) offering to donate two Lemote Fuloong machines, and I was lucky enough to get one of those units.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSBringUpOnBoot" target="_blank" rel="nofollow noopener"&gt;How ZFS on Linux brings up pools and filesystems at boot under systemd&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;On Solaris and Illumos, how ZFS pools and filesystems were brought up at boot was always a partial mystery to me (and it seemed to involve the kernel knowing a lot about /etc/zfs/zpool.cache). On Linux, additional software RAID arrays are brought up mostly through udev rules, which has its own complications. For a long time I had the general impression that ZFS on Linux also worked through udev rules to recognize vdev components, much like software RAID. However, this turns out to not be the case and the modern ZFS on Linux boot process is quite straightforward on systemd systems.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.moritz.systems/blog/freebsd-legacy-process-plugin-removed/" target="_blank" rel="nofollow noopener"&gt;LLDB: FreeBSD Legacy Process Plugin Removed&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;During the past month we’ve successfully removed the legacy FreeBSD plugin and continued improving the new one. We have prepared an implementation of hardware breakpoint and watchpoint support for FreeBSD/AArch64, and iterated over all tests that currently fail on that platform. Therefore, we have concluded the second milestone.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freshbsd.org/news/2021/02/28" target="_blank" rel="nofollow noopener"&gt;FreshBSD 2021&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;6 weeks ago I created a branch for a significant rework of FreshBSD. Nearly 300 commits later, and just a week shy of our 15th anniversary, the result is what you’re looking at now. I hope you like it.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/omar-polo/gmid/" target="_blank" rel="nofollow noopener"&gt;gmid&lt;/a&gt; is a &lt;a href="https://gemini.circumlunar.space/" target="_blank" rel="nofollow noopener"&gt;gemini&lt;/a&gt; server  for unixes.&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://danschmid.de/en/blog/poudriere-guide" target="_blank" rel="nofollow noopener"&gt;Danschmid’s Poudriere Guide now in english&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;The ports system is one of FreeBSD's greatest advantages for users who want flexibility and control over their software. It enables administrators to easily create and manage source-based installations using a system that is robust and predictable.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Special Guest: Tom Jones.&lt;/p&gt;
</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, customizing, kernel, loongson, lemote, fuloong, boot, systemd, lldb, legacy, process, plugin, freshbsd, gmid, poudriere, guide</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Customizing the FreeBSD Kernel, OpenBSD/loongson on the Lemote Fuloong, how ZFS on Linux brings up pools and filesystems at boot under systemd, LLDB: FreeBSD Legacy Process Plugin Removed, FreshBSD 2021, gmid, Danschmid’s Poudriere Guide in english, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/customizing-the-freebsd-kernel/" target="_blank" rel="nofollow noopener">Customizing the FreeBSD Kernel</a></h3>

<blockquote>
<p>Learn more about customizing the build of the FreeBSD kernel and its loadable modules</p>

<hr>

<h3><a href="https://www.cambus.net/openbsd-loongson-on-the-lemote-fuloong/" target="_blank" rel="nofollow noopener">OpenBSD/loongson on the Lemote Fuloong</a></h3>

<p>In my article about running OpenBSD/loongson on the Lemote Yeeloong back in 2016, I mentioned looking for a Fuloong. All hope seemed lost until the Summer of 2017, when a fellow OpenBSD developer was contacted by a generous user (Thanks again, Lars!) offering to donate two Lemote Fuloong machines, and I was lucky enough to get one of those units.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSBringUpOnBoot" target="_blank" rel="nofollow noopener">How ZFS on Linux brings up pools and filesystems at boot under systemd</a></h3>

<blockquote>
<p>On Solaris and Illumos, how ZFS pools and filesystems were brought up at boot was always a partial mystery to me (and it seemed to involve the kernel knowing a lot about /etc/zfs/zpool.cache). On Linux, additional software RAID arrays are brought up mostly through udev rules, which has its own complications. For a long time I had the general impression that ZFS on Linux also worked through udev rules to recognize vdev components, much like software RAID. However, this turns out to not be the case and the modern ZFS on Linux boot process is quite straightforward on systemd systems.</p>

<hr>

<h3><a href="https://www.moritz.systems/blog/freebsd-legacy-process-plugin-removed/" target="_blank" rel="nofollow noopener">LLDB: FreeBSD Legacy Process Plugin Removed</a></h3>

<p>During the past month we’ve successfully removed the legacy FreeBSD plugin and continued improving the new one. We have prepared an implementation of hardware breakpoint and watchpoint support for FreeBSD/AArch64, and iterated over all tests that currently fail on that platform. Therefore, we have concluded the second milestone.</p>

<hr>

<h3><a href="https://freshbsd.org/news/2021/02/28" target="_blank" rel="nofollow noopener">FreshBSD 2021</a></h3>

<p>6 weeks ago I created a branch for a significant rework of FreshBSD. Nearly 300 commits later, and just a week shy of our 15th anniversary, the result is what you’re looking at now. I hope you like it.</p>

<hr>

<h3><a href="https://github.com/omar-polo/gmid/" target="_blank" rel="nofollow noopener">gmid</a> is a <a href="https://gemini.circumlunar.space/" target="_blank" rel="nofollow noopener">gemini</a> server  for unixes.</h3>

<hr>

<h3><a href="https://danschmid.de/en/blog/poudriere-guide" target="_blank" rel="nofollow noopener">Danschmid’s Poudriere Guide now in english</a></h3>

<p>The ports system is one of FreeBSD's greatest advantages for users who want flexibility and control over their software. It enables administrators to easily create and manage source-based installations using a system that is robust and predictable.</p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>
</blockquote>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Tom Jones.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Customizing the FreeBSD Kernel, OpenBSD/loongson on the Lemote Fuloong, how ZFS on Linux brings up pools and filesystems at boot under systemd, LLDB: FreeBSD Legacy Process Plugin Removed, FreshBSD 2021, gmid, Danschmid’s Poudriere Guide in english, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/customizing-the-freebsd-kernel/" target="_blank" rel="nofollow noopener">Customizing the FreeBSD Kernel</a></h3>

<blockquote>
<p>Learn more about customizing the build of the FreeBSD kernel and its loadable modules</p>

<hr>

<h3><a href="https://www.cambus.net/openbsd-loongson-on-the-lemote-fuloong/" target="_blank" rel="nofollow noopener">OpenBSD/loongson on the Lemote Fuloong</a></h3>

<p>In my article about running OpenBSD/loongson on the Lemote Yeeloong back in 2016, I mentioned looking for a Fuloong. All hope seemed lost until the Summer of 2017, when a fellow OpenBSD developer was contacted by a generous user (Thanks again, Lars!) offering to donate two Lemote Fuloong machines, and I was lucky enough to get one of those units.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSBringUpOnBoot" target="_blank" rel="nofollow noopener">How ZFS on Linux brings up pools and filesystems at boot under systemd</a></h3>

<blockquote>
<p>On Solaris and Illumos, how ZFS pools and filesystems were brought up at boot was always a partial mystery to me (and it seemed to involve the kernel knowing a lot about /etc/zfs/zpool.cache). On Linux, additional software RAID arrays are brought up mostly through udev rules, which has its own complications. For a long time I had the general impression that ZFS on Linux also worked through udev rules to recognize vdev components, much like software RAID. However, this turns out to not be the case and the modern ZFS on Linux boot process is quite straightforward on systemd systems.</p>

<hr>

<h3><a href="https://www.moritz.systems/blog/freebsd-legacy-process-plugin-removed/" target="_blank" rel="nofollow noopener">LLDB: FreeBSD Legacy Process Plugin Removed</a></h3>

<p>During the past month we’ve successfully removed the legacy FreeBSD plugin and continued improving the new one. We have prepared an implementation of hardware breakpoint and watchpoint support for FreeBSD/AArch64, and iterated over all tests that currently fail on that platform. Therefore, we have concluded the second milestone.</p>

<hr>

<h3><a href="https://freshbsd.org/news/2021/02/28" target="_blank" rel="nofollow noopener">FreshBSD 2021</a></h3>

<p>6 weeks ago I created a branch for a significant rework of FreshBSD. Nearly 300 commits later, and just a week shy of our 15th anniversary, the result is what you’re looking at now. I hope you like it.</p>

<hr>

<h3><a href="https://github.com/omar-polo/gmid/" target="_blank" rel="nofollow noopener">gmid</a> is a <a href="https://gemini.circumlunar.space/" target="_blank" rel="nofollow noopener">gemini</a> server  for unixes.</h3>

<hr>

<h3><a href="https://danschmid.de/en/blog/poudriere-guide" target="_blank" rel="nofollow noopener">Danschmid’s Poudriere Guide now in english</a></h3>

<p>The ports system is one of FreeBSD's greatest advantages for users who want flexibility and control over their software. It enables administrators to easily create and manage source-based installations using a system that is robust and predictable.</p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>
</blockquote>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Tom Jones.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>396: License to thrill</title>
  <link>https://www.bsdnow.tv/396</link>
  <guid isPermaLink="false">db1ced31-e2bc-41f2-baca-041c750229f4</guid>
  <pubDate>Thu, 01 Apr 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/db1ced31-e2bc-41f2-baca-041c750229f4.mp3" length="30506976" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Description: FreeBSD Network Troubleshooting, The State of FreeBSD, dhcpleased, bhyve for Calamares Development, EFS automount and ebsnvme-id, Old Usenix pictures, and more.</itunes:subtitle>
  <itunes:duration>53:27</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>&lt;p&gt;FreeBSD Network Troubleshooting, The State of FreeBSD, dhcpleased, bhyve for Calamares Development, EFS automount and ebsnvme-id, Old Usenix pictures, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-network-troubleshooting-understanding-network-performance/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Network Troubleshooting&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD has a full set of debugging features, and the network stack is able to report a ton of information. So much that it can be hard to figure out what is relevant and what is not.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.theregister.com/2021/03/10/the_state_of_freebsd/" target="_blank" rel="nofollow noopener"&gt;The State of FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;License to thrill: Ahead of v13.0, the FreeBSD team talks about Linux and the completed toolchain project that changes everything&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20210227232424" target="_blank" rel="nofollow noopener"&gt;dhcpleased(8) - DHCP client daemon&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;With the following commit, Florian Obser (florian@) imported dhcpleased(8), DHCP daemon to acquire IPv4 address leases from servers, plus dhcpleasectl(8), a utility to control the daemon:&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl//freebsd/2021/03/05/bhyve.html" target="_blank" rel="nofollow noopener"&gt;bhyve for Calamares Development&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;bhyve (pronounced “bee hive”) is a hypervisor for BSD systems (and Illumos / openSolaris). It is geared towards server workloads, but does support desktop-oriented operation as well. I spent some time wayyyy back in November wrestling with it in order to replace VirtualBox for Calamares testing on FreeBSD. The “golden hint” as far as I’m concerned came from Karen Bruner and now I have a functioning Calamares test-ground that is more useful than before.&lt;br&gt;
“Calamares is a free and open-source independent and distro-agnostic system installer for Linux distributions.“&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.daemonology.net/blog/2020-05-31-Some-new-FreeBSD-EC2-features.html" target="_blank" rel="nofollow noopener"&gt;Some new FreeBSD/EC2 features: EFS automount and ebsnvme-id&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;As my regular readers will be aware, I've been working on and gradually improving FreeBSD/EC2 for many years. Recently I've added two new features, which are available in the weekly HEAD and 12-STABLE snapshots and will appear in releases starting from 12.2-RELEASE.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://lists.nycbug.org/pipermail/talk/2021-February/018304.html" target="_blank" rel="nofollow noopener"&gt;Old Usenix pictures&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;h3&gt;[&lt;a href="https://2021.eurobsdcon.org/%5D(CFP" target="_blank" rel="nofollow noopener"&gt;https://2021.eurobsdcon.org/](CFP&lt;/a&gt; is open until May 26th, 2021)&lt;/h3&gt;

&lt;p&gt;EuroBSDcon is the European technical conference for users and developers of BSD-based systems. The conference is scheduled to take place September 16-19 2021 in Vienna, Austria or as an all-online event if COVID-19 developments dictate. The tutorials will be held on Thursday and Friday to registered participants and the talks are presented to conference attendees on Saturday and Sunday.&lt;br&gt;
The Call for Talk and Presentation proposals period will close on May 26th, 2021.  Prospective speakers will be notified of acceptance or otherwise by June 1st, 2021.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;[&lt;a href="https://campgnd.com/%5D(CFP" target="_blank" rel="nofollow noopener"&gt;https://campgnd.com/](CFP&lt;/a&gt; is open until 2021-04-15)&lt;/h3&gt;

&lt;p&gt;campgndd will be held May 28th, 29th and 30th 2021, from wherever you happen to be.&lt;br&gt;
We're looking for submissions on anything you're enthusiastic and excited about. If you enjoy it, the odds are we will too! You don't need to be an expert to propose anything.&lt;br&gt;
Some example of things we are looking for are:&lt;br&gt;
    Talks&lt;br&gt;
    Walkthroughs&lt;br&gt;
    Music&lt;/p&gt;

&lt;h3&gt;From the Desk of Michael Lucas…&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;New Release: Only Footnotes
I’ve lost count of the number of people who have told me that they purchase my books only for the footnotes. That’s okay. I don’t care why people buy my books, only that they do buy them. Nevertheless, I am a businessman living under capitalism and feel compelled to respond to my market.
Allow me to present my latest release: Only Footnotes, a handsome hardcover-only compilation of decades of footnotes. From the back cover:
-----
Only Footnotes. Because that’s why you read his books.
Academics hate footnotes. Michael W Lucas loves them. What he does with them wouldn’t pass academic muster, but that doesn’t mean the reader should skip them. The footnotes are the best part! Why not read only the footnotes, and skip all that other junk?
After literal minutes of effort, Only Footnotes collects every single footnote from all of Lucas’ books to date.* Recycle those cumbersome treatises stuffed with irrelevant facts! No more flipping through pages and pages of actual technical knowledge looking for the offhand movie reference or half-formed joke. This slender, elegant volume contains everything the man ever passed off as his dubious, malformed “wisdom.”
Smart books have footnotes. Smarter books are only footnotes.
*plus additional annotations from the author. Because sometimes even a footnote needs a footnote.
----
With interior illustrations by OpenBSD’s akoshibe, this distinguished tome would make fine inspirational reading for a system administrator, network engineer, or anyone sentenced to a life in information technology. Available at all fine bookstores, and many mediocre ones!
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Special Guest: Tom Jones.&lt;/p&gt;
</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, network, troubleshooting, dhcpleased, bhyve, calamares, efs, automount, ebsnvme-id, nvme, usenix, old pictures, book</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Network Troubleshooting, The State of FreeBSD, dhcpleased, bhyve for Calamares Development, EFS automount and ebsnvme-id, Old Usenix pictures, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-network-troubleshooting-understanding-network-performance/" target="_blank" rel="nofollow noopener">FreeBSD Network Troubleshooting</a></h3>

<blockquote>
<p>FreeBSD has a full set of debugging features, and the network stack is able to report a ton of information. So much that it can be hard to figure out what is relevant and what is not.</p>

<hr>

<h3><a href="https://www.theregister.com/2021/03/10/the_state_of_freebsd/" target="_blank" rel="nofollow noopener">The State of FreeBSD</a></h3>

<p>License to thrill: Ahead of v13.0, the FreeBSD team talks about Linux and the completed toolchain project that changes everything</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20210227232424" target="_blank" rel="nofollow noopener">dhcpleased(8) - DHCP client daemon</a></h3>

<blockquote>
<p>With the following commit, Florian Obser (florian@) imported dhcpleased(8), DHCP daemon to acquire IPv4 address leases from servers, plus dhcpleasectl(8), a utility to control the daemon:</p>

<hr>

<h3><a href="https://euroquis.nl//freebsd/2021/03/05/bhyve.html" target="_blank" rel="nofollow noopener">bhyve for Calamares Development</a></h3>

<p>bhyve (pronounced “bee hive”) is a hypervisor for BSD systems (and Illumos / openSolaris). It is geared towards server workloads, but does support desktop-oriented operation as well. I spent some time wayyyy back in November wrestling with it in order to replace VirtualBox for Calamares testing on FreeBSD. The “golden hint” as far as I’m concerned came from Karen Bruner and now I have a functioning Calamares test-ground that is more useful than before.<br>
“Calamares is a free and open-source independent and distro-agnostic system installer for Linux distributions.“</p>

<hr>

<h3><a href="https://www.daemonology.net/blog/2020-05-31-Some-new-FreeBSD-EC2-features.html" target="_blank" rel="nofollow noopener">Some new FreeBSD/EC2 features: EFS automount and ebsnvme-id</a></h3>

<p>As my regular readers will be aware, I've been working on and gradually improving FreeBSD/EC2 for many years. Recently I've added two new features, which are available in the weekly HEAD and 12-STABLE snapshots and will appear in releases starting from 12.2-RELEASE.</p>

<hr>

<h3><a href="http://lists.nycbug.org/pipermail/talk/2021-February/018304.html" target="_blank" rel="nofollow noopener">Old Usenix pictures</a></h3>

<hr>

<h2>Beastie Bits</h2>

<h3>[<a href="https://2021.eurobsdcon.org/%5D(CFP" target="_blank" rel="nofollow noopener">https://2021.eurobsdcon.org/](CFP</a> is open until May 26th, 2021)</h3>

<p>EuroBSDcon is the European technical conference for users and developers of BSD-based systems. The conference is scheduled to take place September 16-19 2021 in Vienna, Austria or as an all-online event if COVID-19 developments dictate. The tutorials will be held on Thursday and Friday to registered participants and the talks are presented to conference attendees on Saturday and Sunday.<br>
The Call for Talk and Presentation proposals period will close on May 26th, 2021.  Prospective speakers will be notified of acceptance or otherwise by June 1st, 2021.</p>

<hr>

<h3>[<a href="https://campgnd.com/%5D(CFP" target="_blank" rel="nofollow noopener">https://campgnd.com/](CFP</a> is open until 2021-04-15)</h3>

<p>campgndd will be held May 28th, 29th and 30th 2021, from wherever you happen to be.<br>
We're looking for submissions on anything you're enthusiastic and excited about. If you enjoy it, the odds are we will too! You don't need to be an expert to propose anything.<br>
Some example of things we are looking for are:<br>
    Talks<br>
    Walkthroughs<br>
    Music</p>

<h3>From the Desk of Michael Lucas…</h3>

<pre><code>New Release: Only Footnotes
I’ve lost count of the number of people who have told me that they purchase my books only for the footnotes. That’s okay. I don’t care why people buy my books, only that they do buy them. Nevertheless, I am a businessman living under capitalism and feel compelled to respond to my market.
Allow me to present my latest release: Only Footnotes, a handsome hardcover-only compilation of decades of footnotes. From the back cover:
-----
Only Footnotes. Because that’s why you read his books.
Academics hate footnotes. Michael W Lucas loves them. What he does with them wouldn’t pass academic muster, but that doesn’t mean the reader should skip them. The footnotes are the best part! Why not read only the footnotes, and skip all that other junk?
After literal minutes of effort, Only Footnotes collects every single footnote from all of Lucas’ books to date.* Recycle those cumbersome treatises stuffed with irrelevant facts! No more flipping through pages and pages of actual technical knowledge looking for the offhand movie reference or half-formed joke. This slender, elegant volume contains everything the man ever passed off as his dubious, malformed “wisdom.”
Smart books have footnotes. Smarter books are only footnotes.
*plus additional annotations from the author. Because sometimes even a footnote needs a footnote.
----
With interior illustrations by OpenBSD’s akoshibe, this distinguished tome would make fine inspirational reading for a system administrator, network engineer, or anyone sentenced to a life in information technology. Available at all fine bookstores, and many mediocre ones!
</code></pre>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>
</blockquote><p>Special Guest: Tom Jones.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Network Troubleshooting, The State of FreeBSD, dhcpleased, bhyve for Calamares Development, EFS automount and ebsnvme-id, Old Usenix pictures, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/freebsd-network-troubleshooting-understanding-network-performance/" target="_blank" rel="nofollow noopener">FreeBSD Network Troubleshooting</a></h3>

<blockquote>
<p>FreeBSD has a full set of debugging features, and the network stack is able to report a ton of information. So much that it can be hard to figure out what is relevant and what is not.</p>

<hr>

<h3><a href="https://www.theregister.com/2021/03/10/the_state_of_freebsd/" target="_blank" rel="nofollow noopener">The State of FreeBSD</a></h3>

<p>License to thrill: Ahead of v13.0, the FreeBSD team talks about Linux and the completed toolchain project that changes everything</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20210227232424" target="_blank" rel="nofollow noopener">dhcpleased(8) - DHCP client daemon</a></h3>

<blockquote>
<p>With the following commit, Florian Obser (florian@) imported dhcpleased(8), DHCP daemon to acquire IPv4 address leases from servers, plus dhcpleasectl(8), a utility to control the daemon:</p>

<hr>

<h3><a href="https://euroquis.nl//freebsd/2021/03/05/bhyve.html" target="_blank" rel="nofollow noopener">bhyve for Calamares Development</a></h3>

<p>bhyve (pronounced “bee hive”) is a hypervisor for BSD systems (and Illumos / openSolaris). It is geared towards server workloads, but does support desktop-oriented operation as well. I spent some time wayyyy back in November wrestling with it in order to replace VirtualBox for Calamares testing on FreeBSD. The “golden hint” as far as I’m concerned came from Karen Bruner and now I have a functioning Calamares test-ground that is more useful than before.<br>
“Calamares is a free and open-source independent and distro-agnostic system installer for Linux distributions.“</p>

<hr>

<h3><a href="https://www.daemonology.net/blog/2020-05-31-Some-new-FreeBSD-EC2-features.html" target="_blank" rel="nofollow noopener">Some new FreeBSD/EC2 features: EFS automount and ebsnvme-id</a></h3>

<p>As my regular readers will be aware, I've been working on and gradually improving FreeBSD/EC2 for many years. Recently I've added two new features, which are available in the weekly HEAD and 12-STABLE snapshots and will appear in releases starting from 12.2-RELEASE.</p>

<hr>

<h3><a href="http://lists.nycbug.org/pipermail/talk/2021-February/018304.html" target="_blank" rel="nofollow noopener">Old Usenix pictures</a></h3>

<hr>

<h2>Beastie Bits</h2>

<h3>[<a href="https://2021.eurobsdcon.org/%5D(CFP" target="_blank" rel="nofollow noopener">https://2021.eurobsdcon.org/](CFP</a> is open until May 26th, 2021)</h3>

<p>EuroBSDcon is the European technical conference for users and developers of BSD-based systems. The conference is scheduled to take place September 16-19 2021 in Vienna, Austria or as an all-online event if COVID-19 developments dictate. The tutorials will be held on Thursday and Friday to registered participants and the talks are presented to conference attendees on Saturday and Sunday.<br>
The Call for Talk and Presentation proposals period will close on May 26th, 2021.  Prospective speakers will be notified of acceptance or otherwise by June 1st, 2021.</p>

<hr>

<h3>[<a href="https://campgnd.com/%5D(CFP" target="_blank" rel="nofollow noopener">https://campgnd.com/](CFP</a> is open until 2021-04-15)</h3>

<p>campgndd will be held May 28th, 29th and 30th 2021, from wherever you happen to be.<br>
We're looking for submissions on anything you're enthusiastic and excited about. If you enjoy it, the odds are we will too! You don't need to be an expert to propose anything.<br>
Some example of things we are looking for are:<br>
    Talks<br>
    Walkthroughs<br>
    Music</p>

<h3>From the Desk of Michael Lucas…</h3>

<pre><code>New Release: Only Footnotes
I’ve lost count of the number of people who have told me that they purchase my books only for the footnotes. That’s okay. I don’t care why people buy my books, only that they do buy them. Nevertheless, I am a businessman living under capitalism and feel compelled to respond to my market.
Allow me to present my latest release: Only Footnotes, a handsome hardcover-only compilation of decades of footnotes. From the back cover:
-----
Only Footnotes. Because that’s why you read his books.
Academics hate footnotes. Michael W Lucas loves them. What he does with them wouldn’t pass academic muster, but that doesn’t mean the reader should skip them. The footnotes are the best part! Why not read only the footnotes, and skip all that other junk?
After literal minutes of effort, Only Footnotes collects every single footnote from all of Lucas’ books to date.* Recycle those cumbersome treatises stuffed with irrelevant facts! No more flipping through pages and pages of actual technical knowledge looking for the offhand movie reference or half-formed joke. This slender, elegant volume contains everything the man ever passed off as his dubious, malformed “wisdom.”
Smart books have footnotes. Smarter books are only footnotes.
*plus additional annotations from the author. Because sometimes even a footnote needs a footnote.
----
With interior illustrations by OpenBSD’s akoshibe, this distinguished tome would make fine inspirational reading for a system administrator, network engineer, or anyone sentenced to a life in information technology. Available at all fine bookstores, and many mediocre ones!
</code></pre>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>
</blockquote><p>Special Guest: Tom Jones.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>395: Tracing ARM’s history</title>
  <link>https://www.bsdnow.tv/395</link>
  <guid isPermaLink="false">9e4b924f-7f9c-49b4-81b7-b28ade7904b3</guid>
  <pubDate>Thu, 25 Mar 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9e4b924f-7f9c-49b4-81b7-b28ade7904b3.mp3" length="23944248" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Tracing the History of ARM and FreeBSD, Make ‘less’ more friendly, NomadBSD 1.4 Release, Create an Ubuntu Linux jail on FreeBSD 12.2, OPNsense 21.1.2 released, Midnight BSD and BastilleBSD, and more.</itunes:subtitle>
  <itunes:duration>37:59</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>&lt;p&gt;Tracing the History of ARM and FreeBSD, Make ‘less’ more friendly, NomadBSD 1.4 Release, Create an Ubuntu Linux jail on FreeBSD 12.2, OPNsense 21.1.2 released, Midnight BSD and BastilleBSD, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/tracing-the-history-of-arm-and-freebsd/" target="_blank" rel="nofollow noopener"&gt;Tracing the History of ARM and FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;When we think of computers, we generally think of laptops and desktops. Each one of these systems is powered by an Intel or AMD chip based on the x86 architecture. It might feel like you spend all day interacting with these kinds of systems, but you would be wrong.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://ascending.wordpress.com/2011/02/11/unix-tip-make-less-more-friendly/" target="_blank" rel="nofollow noopener"&gt;Unix Tip: Make ‘less’ more friendly&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;You probably know about less: it is a standard tool that allows scrolling up and down in documents that do not fit on a single screen. Less has a very handy feature, which can be turned on by invoking it with the -i flag. This causes less to ignore case when searching. For example, ‘udf’ will find ‘udf’, ‘UDF’, ‘UdF’, and any other combination of upper-case and lower-case. If you’re used to searching in a web browser, this is probably what you want. But less is even more clever than that. If your search pattern contains upper-case letters, the ignore-case feature will be disabled. So if you’re looking for ‘QXml’, you will not be bothered by matches for the lower-case ‘qxml’. (This is equivalent to ignorecase + smartcase in vim.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.itsfoss.net/nomadbsd-1-4-release/" target="_blank" rel="nofollow noopener"&gt;NomadBSD 1.4 Release&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Version 1.4 of NomadBSD, a persistent live system for USB flash drives based on FreeBSD and featuring a graphical user interface built around Openbox, has been released: “We are pleased to present the release of NomadBSD 1.4.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hackacad.net/post/2021-01-23-create-a-ubuntu-linux-jail-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Create an Ubuntu Linux jail on FreeBSD 12.2&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-21-1-2-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 21.1.2 released&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Work has so far been focused on the firmware update process to ensure its safety around edge cases and recovery methods for the worst case. To that end 21.1.3 will likely receive the full revamp including API and GUI changes for a swift transition after thorough testing of the changes now available in the development package of this release.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.justjournal.com/users/mbsd/entry/33869" target="_blank" rel="nofollow noopener"&gt;Midnight BSD and BastilleBSD&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;We recently added a new port, mports/sysutils/bastille that allows you to manage containers. This is a port of a project that originally targetted FreeBSD, but also works on HardenedBSD. &lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/395/feedback/Brad%20-%20monitoring%20with%20Grafana" target="_blank" rel="nofollow noopener"&gt;Brad - monitoring with Grafana&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/395/feedback/Dennis%20-%20a%20few%20questions" target="_blank" rel="nofollow noopener"&gt;Dennis - a few questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/395/feedback/Paul%20-%20FreeBSD%2013" target="_blank" rel="nofollow noopener"&gt;Paul - FreeBSD 13&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</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, arm, tracing, nomadbsd, Ubuntu jail, Linux jail, opnsense, midnightbsd, bastillebsd </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Tracing the History of ARM and FreeBSD, Make ‘less’ more friendly, NomadBSD 1.4 Release, Create an Ubuntu Linux jail on FreeBSD 12.2, OPNsense 21.1.2 released, Midnight BSD and BastilleBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/tracing-the-history-of-arm-and-freebsd/" target="_blank" rel="nofollow noopener">Tracing the History of ARM and FreeBSD</a></h3>

<blockquote>
<p>When we think of computers, we generally think of laptops and desktops. Each one of these systems is powered by an Intel or AMD chip based on the x86 architecture. It might feel like you spend all day interacting with these kinds of systems, but you would be wrong.</p>

<hr>

<h3><a href="https://ascending.wordpress.com/2011/02/11/unix-tip-make-less-more-friendly/" target="_blank" rel="nofollow noopener">Unix Tip: Make ‘less’ more friendly</a></h3>

<p>You probably know about less: it is a standard tool that allows scrolling up and down in documents that do not fit on a single screen. Less has a very handy feature, which can be turned on by invoking it with the -i flag. This causes less to ignore case when searching. For example, ‘udf’ will find ‘udf’, ‘UDF’, ‘UdF’, and any other combination of upper-case and lower-case. If you’re used to searching in a web browser, this is probably what you want. But less is even more clever than that. If your search pattern contains upper-case letters, the ignore-case feature will be disabled. So if you’re looking for ‘QXml’, you will not be bothered by matches for the lower-case ‘qxml’. (This is equivalent to ignorecase + smartcase in vim.)</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.itsfoss.net/nomadbsd-1-4-release/" target="_blank" rel="nofollow noopener">NomadBSD 1.4 Release</a></h3>

<blockquote>
<p>Version 1.4 of NomadBSD, a persistent live system for USB flash drives based on FreeBSD and featuring a graphical user interface built around Openbox, has been released: “We are pleased to present the release of NomadBSD 1.4.</p>

<hr>

<h3><a href="https://hackacad.net/post/2021-01-23-create-a-ubuntu-linux-jail-on-freebsd/" target="_blank" rel="nofollow noopener">Create an Ubuntu Linux jail on FreeBSD 12.2</a></h3>

<hr>

<h3><a href="https://opnsense.org/opnsense-21-1-2-released/" target="_blank" rel="nofollow noopener">OPNsense 21.1.2 released</a></h3>

<p>Work has so far been focused on the firmware update process to ensure its safety around edge cases and recovery methods for the worst case. To that end 21.1.3 will likely receive the full revamp including API and GUI changes for a swift transition after thorough testing of the changes now available in the development package of this release.</p>

<hr>

<h3><a href="https://www.justjournal.com/users/mbsd/entry/33869" target="_blank" rel="nofollow noopener">Midnight BSD and BastilleBSD</a></h3>

<p>We recently added a new port, mports/sysutils/bastille that allows you to manage containers. This is a port of a project that originally targetted FreeBSD, but also works on HardenedBSD. </p>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/395/feedback/Brad%20-%20monitoring%20with%20Grafana" target="_blank" rel="nofollow noopener">Brad - monitoring with Grafana</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/395/feedback/Dennis%20-%20a%20few%20questions" target="_blank" rel="nofollow noopener">Dennis - a few questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/395/feedback/Paul%20-%20FreeBSD%2013" target="_blank" rel="nofollow noopener">Paul - FreeBSD 13</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Tracing the History of ARM and FreeBSD, Make ‘less’ more friendly, NomadBSD 1.4 Release, Create an Ubuntu Linux jail on FreeBSD 12.2, OPNsense 21.1.2 released, Midnight BSD and BastilleBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/tracing-the-history-of-arm-and-freebsd/" target="_blank" rel="nofollow noopener">Tracing the History of ARM and FreeBSD</a></h3>

<blockquote>
<p>When we think of computers, we generally think of laptops and desktops. Each one of these systems is powered by an Intel or AMD chip based on the x86 architecture. It might feel like you spend all day interacting with these kinds of systems, but you would be wrong.</p>

<hr>

<h3><a href="https://ascending.wordpress.com/2011/02/11/unix-tip-make-less-more-friendly/" target="_blank" rel="nofollow noopener">Unix Tip: Make ‘less’ more friendly</a></h3>

<p>You probably know about less: it is a standard tool that allows scrolling up and down in documents that do not fit on a single screen. Less has a very handy feature, which can be turned on by invoking it with the -i flag. This causes less to ignore case when searching. For example, ‘udf’ will find ‘udf’, ‘UDF’, ‘UdF’, and any other combination of upper-case and lower-case. If you’re used to searching in a web browser, this is probably what you want. But less is even more clever than that. If your search pattern contains upper-case letters, the ignore-case feature will be disabled. So if you’re looking for ‘QXml’, you will not be bothered by matches for the lower-case ‘qxml’. (This is equivalent to ignorecase + smartcase in vim.)</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.itsfoss.net/nomadbsd-1-4-release/" target="_blank" rel="nofollow noopener">NomadBSD 1.4 Release</a></h3>

<blockquote>
<p>Version 1.4 of NomadBSD, a persistent live system for USB flash drives based on FreeBSD and featuring a graphical user interface built around Openbox, has been released: “We are pleased to present the release of NomadBSD 1.4.</p>

<hr>

<h3><a href="https://hackacad.net/post/2021-01-23-create-a-ubuntu-linux-jail-on-freebsd/" target="_blank" rel="nofollow noopener">Create an Ubuntu Linux jail on FreeBSD 12.2</a></h3>

<hr>

<h3><a href="https://opnsense.org/opnsense-21-1-2-released/" target="_blank" rel="nofollow noopener">OPNsense 21.1.2 released</a></h3>

<p>Work has so far been focused on the firmware update process to ensure its safety around edge cases and recovery methods for the worst case. To that end 21.1.3 will likely receive the full revamp including API and GUI changes for a swift transition after thorough testing of the changes now available in the development package of this release.</p>

<hr>

<h3><a href="https://www.justjournal.com/users/mbsd/entry/33869" target="_blank" rel="nofollow noopener">Midnight BSD and BastilleBSD</a></h3>

<p>We recently added a new port, mports/sysutils/bastille that allows you to manage containers. This is a port of a project that originally targetted FreeBSD, but also works on HardenedBSD. </p>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/395/feedback/Brad%20-%20monitoring%20with%20Grafana" target="_blank" rel="nofollow noopener">Brad - monitoring with Grafana</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/395/feedback/Dennis%20-%20a%20few%20questions" target="_blank" rel="nofollow noopener">Dennis - a few questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/395/feedback/Paul%20-%20FreeBSD%2013" target="_blank" rel="nofollow noopener">Paul - FreeBSD 13</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>394: FreeBSD on Mars</title>
  <link>https://www.bsdnow.tv/394</link>
  <guid isPermaLink="false">65a9a52b-9058-4d08-8c38-8a1bffad6c86</guid>
  <pubDate>Thu, 18 Mar 2021 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/65a9a52b-9058-4d08-8c38-8a1bffad6c86.mp3" length="45911352" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Onboard Scheduler for the Mars 2020 Rover, Practical Guide to Storage of Large Amounts of Microscopy Data, OpenBSD guest with bhyve - OmniOS, NextCloud on OpenBSD, MySQL Transactions - the physical side, TrueNAS 12.0-U2.1 is released, HardenedBSD 2021 State of the Hardened Union, and more</itunes:subtitle>
  <itunes:duration>43:31</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>&lt;p&gt;Onboard Scheduler for the Mars 2020 Rover, Practical Guide to Storage of Large Amounts of Microscopy Data, OpenBSD guest with bhyve - OmniOS, NextCloud on OpenBSD, MySQL Transactions - the physical side, TrueNAS 12.0-U2.1 is released, HardenedBSD 2021 State of the Hardened Union, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://ai.jpl.nasa.gov/public/documents/papers/rabideau_iwpss2017_prototyping.pdf" target="_blank" rel="nofollow noopener"&gt;Prototyping an Onboard Scheduler for the Mars 2020 Rover&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The mars rover runs VxWorks, which is based on BSD, and uses the FreeBSD networking stack. While there has been a lot of type about the little helicopter that was inside the rover running Linux, the rover itself runs BSD.
***
### &lt;a href="https://www.cambridge.org/core/journals/microscopy-today/article/practical-guide-to-storage-of-large-amounts-of-microscopy-data/D3CE39447BFF5BBF9B3ED8A0C35C6F36" target="_blank" rel="nofollow noopener"&gt;Practical Guide to Storage of Large Amounts of Microscopy Data&lt;/a&gt;
&amp;gt; Biological imaging tools continue to increase in speed, scale, and resolution, often resulting in the collection of gigabytes or even terabytes of data in a single experiment. In comparison, the ability of research laboratories to store and manage this data is lagging greatly. This leads to limits on the collection of valuable data and slows data analysis and research progress. Here we review common ways researchers store data and outline the drawbacks and benefits of each method. We also offer a blueprint and budget estimation for a currently deployed data server used to store large datasets from zebrafish brain activity experiments using light-sheet microscopy. Data storage strategy should be carefully considered and different options compared when designing imaging experiments.
***
## News Roundup
### &lt;a href="https://www.pbdigital.org/omniosce/bhyve/openbsd/2020/06/08/bhyve-zones-omnios.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD guest with bhyve - OmniOS&lt;/a&gt;
&amp;gt; Today I will be creating a OpenBSD guest via bhyve on OmniOS. I will also be adding a Pass Through Ethernet Controller so I can have a multi-homed guest that will serve as a firewall/router.
&amp;gt; This post will cover setting up bhyve on OmniOS, so it will also be a good introduction to bhyve. As well, I look into OpenBSD’s uEFI boot loader so if you have had trouble with this, then you are in the right place.
***
### &lt;a href="https://h3artbl33d.nl/blog/nextcloud-on-openbsd" target="_blank" rel="nofollow noopener"&gt;NextCloud on OpenBSD&lt;/a&gt;
&amp;gt; NextCloud and OpenBSD are complimentary to one another. NextCloud is an awesome, secure and private alternative for propietary platforms, whereas OpenBSD forms the most secure and solid foundation to serve it on. Setting it up in the best way isn’t hard, especially using this step by step tutorial.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.koehntopp.info/2020/07/27/mysql-transactions.html" target="_blank" rel="nofollow noopener"&gt;MySQL Transactions - the physical side&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;So you talk to a database, doing transactions. What happens actually, behind the scenes? Let’s have a look.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.truenas.com/docs/hub/intro/release-notes/12.0u2.1/" target="_blank" rel="nofollow noopener"&gt;TrueNAS 12.0-U2.1 is released&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.nycbug.org/index?action=view&amp;amp;id=10682" target="_blank" rel="nofollow noopener"&gt;HardenedBSD 2021 State of the Hardened Union - NYCBUG - 2021-04-07&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://freebsdfoundation.org/our-work/journal/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal: Case Studies&lt;/a&gt;
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/394/feedback/Al%20-%20BusyNAS" target="_blank" rel="nofollow noopener"&gt;Al - BusyNAS&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/394/feedback/Jeff%20-%20ZFS%20and%20NFS%20on%20FreeBSD" target="_blank" rel="nofollow noopener"&gt;Jeff - ZFS and NFS on FreeBSD&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/394/feedback/Michael%20-%20remote%20unlock%20for%20encrypted%20systems" target="_blank" rel="nofollow noopener"&gt;Michael - remote unlock for encrypted systems&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, mars, rover, vxworks, network stack, microscopy, large data, bhyve, guest, nextcloud, mysql, transaction, truenas, state of the union</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Onboard Scheduler for the Mars 2020 Rover, Practical Guide to Storage of Large Amounts of Microscopy Data, OpenBSD guest with bhyve - OmniOS, NextCloud on OpenBSD, MySQL Transactions - the physical side, TrueNAS 12.0-U2.1 is released, HardenedBSD 2021 State of the Hardened Union, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://ai.jpl.nasa.gov/public/documents/papers/rabideau_iwpss2017_prototyping.pdf" target="_blank" rel="nofollow noopener">Prototyping an Onboard Scheduler for the Mars 2020 Rover</a></h3>

<ul>
<li>The mars rover runs VxWorks, which is based on BSD, and uses the FreeBSD networking stack. While there has been a lot of type about the little helicopter that was inside the rover running Linux, the rover itself runs BSD.
***
### <a href="https://www.cambridge.org/core/journals/microscopy-today/article/practical-guide-to-storage-of-large-amounts-of-microscopy-data/D3CE39447BFF5BBF9B3ED8A0C35C6F36" target="_blank" rel="nofollow noopener">Practical Guide to Storage of Large Amounts of Microscopy Data</a>
&gt; Biological imaging tools continue to increase in speed, scale, and resolution, often resulting in the collection of gigabytes or even terabytes of data in a single experiment. In comparison, the ability of research laboratories to store and manage this data is lagging greatly. This leads to limits on the collection of valuable data and slows data analysis and research progress. Here we review common ways researchers store data and outline the drawbacks and benefits of each method. We also offer a blueprint and budget estimation for a currently deployed data server used to store large datasets from zebrafish brain activity experiments using light-sheet microscopy. Data storage strategy should be carefully considered and different options compared when designing imaging experiments.
***
## News Roundup
### <a href="https://www.pbdigital.org/omniosce/bhyve/openbsd/2020/06/08/bhyve-zones-omnios.html" target="_blank" rel="nofollow noopener">OpenBSD guest with bhyve - OmniOS</a>
&gt; Today I will be creating a OpenBSD guest via bhyve on OmniOS. I will also be adding a Pass Through Ethernet Controller so I can have a multi-homed guest that will serve as a firewall/router.
&gt; This post will cover setting up bhyve on OmniOS, so it will also be a good introduction to bhyve. As well, I look into OpenBSD’s uEFI boot loader so if you have had trouble with this, then you are in the right place.
***
### <a href="https://h3artbl33d.nl/blog/nextcloud-on-openbsd" target="_blank" rel="nofollow noopener">NextCloud on OpenBSD</a>
&gt; NextCloud and OpenBSD are complimentary to one another. NextCloud is an awesome, secure and private alternative for propietary platforms, whereas OpenBSD forms the most secure and solid foundation to serve it on. Setting it up in the best way isn’t hard, especially using this step by step tutorial.</li>
</ul>

<hr>

<h3><a href="https://blog.koehntopp.info/2020/07/27/mysql-transactions.html" target="_blank" rel="nofollow noopener">MySQL Transactions - the physical side</a></h3>

<blockquote>
<p>So you talk to a database, doing transactions. What happens actually, behind the scenes? Let’s have a look.</p>

<hr>

<h3><a href="https://www.truenas.com/docs/hub/intro/release-notes/12.0u2.1/" target="_blank" rel="nofollow noopener">TrueNAS 12.0-U2.1 is released</a></h3>

<hr>

<h3><a href="https://www.nycbug.org/index?action=view&amp;id=10682" target="_blank" rel="nofollow noopener">HardenedBSD 2021 State of the Hardened Union - NYCBUG - 2021-04-07</a></h3>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://freebsdfoundation.org/our-work/journal/" target="_blank" rel="nofollow noopener">FreeBSD Journal: Case Studies</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/394/feedback/Al%20-%20BusyNAS" target="_blank" rel="nofollow noopener">Al - BusyNAS</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/394/feedback/Jeff%20-%20ZFS%20and%20NFS%20on%20FreeBSD" target="_blank" rel="nofollow noopener">Jeff - ZFS and NFS on FreeBSD</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/394/feedback/Michael%20-%20remote%20unlock%20for%20encrypted%20systems" target="_blank" rel="nofollow noopener">Michael - remote unlock for encrypted systems</a></p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Onboard Scheduler for the Mars 2020 Rover, Practical Guide to Storage of Large Amounts of Microscopy Data, OpenBSD guest with bhyve - OmniOS, NextCloud on OpenBSD, MySQL Transactions - the physical side, TrueNAS 12.0-U2.1 is released, HardenedBSD 2021 State of the Hardened Union, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://ai.jpl.nasa.gov/public/documents/papers/rabideau_iwpss2017_prototyping.pdf" target="_blank" rel="nofollow noopener">Prototyping an Onboard Scheduler for the Mars 2020 Rover</a></h3>

<ul>
<li>The mars rover runs VxWorks, which is based on BSD, and uses the FreeBSD networking stack. While there has been a lot of type about the little helicopter that was inside the rover running Linux, the rover itself runs BSD.
***
### <a href="https://www.cambridge.org/core/journals/microscopy-today/article/practical-guide-to-storage-of-large-amounts-of-microscopy-data/D3CE39447BFF5BBF9B3ED8A0C35C6F36" target="_blank" rel="nofollow noopener">Practical Guide to Storage of Large Amounts of Microscopy Data</a>
&gt; Biological imaging tools continue to increase in speed, scale, and resolution, often resulting in the collection of gigabytes or even terabytes of data in a single experiment. In comparison, the ability of research laboratories to store and manage this data is lagging greatly. This leads to limits on the collection of valuable data and slows data analysis and research progress. Here we review common ways researchers store data and outline the drawbacks and benefits of each method. We also offer a blueprint and budget estimation for a currently deployed data server used to store large datasets from zebrafish brain activity experiments using light-sheet microscopy. Data storage strategy should be carefully considered and different options compared when designing imaging experiments.
***
## News Roundup
### <a href="https://www.pbdigital.org/omniosce/bhyve/openbsd/2020/06/08/bhyve-zones-omnios.html" target="_blank" rel="nofollow noopener">OpenBSD guest with bhyve - OmniOS</a>
&gt; Today I will be creating a OpenBSD guest via bhyve on OmniOS. I will also be adding a Pass Through Ethernet Controller so I can have a multi-homed guest that will serve as a firewall/router.
&gt; This post will cover setting up bhyve on OmniOS, so it will also be a good introduction to bhyve. As well, I look into OpenBSD’s uEFI boot loader so if you have had trouble with this, then you are in the right place.
***
### <a href="https://h3artbl33d.nl/blog/nextcloud-on-openbsd" target="_blank" rel="nofollow noopener">NextCloud on OpenBSD</a>
&gt; NextCloud and OpenBSD are complimentary to one another. NextCloud is an awesome, secure and private alternative for propietary platforms, whereas OpenBSD forms the most secure and solid foundation to serve it on. Setting it up in the best way isn’t hard, especially using this step by step tutorial.</li>
</ul>

<hr>

<h3><a href="https://blog.koehntopp.info/2020/07/27/mysql-transactions.html" target="_blank" rel="nofollow noopener">MySQL Transactions - the physical side</a></h3>

<blockquote>
<p>So you talk to a database, doing transactions. What happens actually, behind the scenes? Let’s have a look.</p>

<hr>

<h3><a href="https://www.truenas.com/docs/hub/intro/release-notes/12.0u2.1/" target="_blank" rel="nofollow noopener">TrueNAS 12.0-U2.1 is released</a></h3>

<hr>

<h3><a href="https://www.nycbug.org/index?action=view&amp;id=10682" target="_blank" rel="nofollow noopener">HardenedBSD 2021 State of the Hardened Union - NYCBUG - 2021-04-07</a></h3>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://freebsdfoundation.org/our-work/journal/" target="_blank" rel="nofollow noopener">FreeBSD Journal: Case Studies</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/394/feedback/Al%20-%20BusyNAS" target="_blank" rel="nofollow noopener">Al - BusyNAS</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/394/feedback/Jeff%20-%20ZFS%20and%20NFS%20on%20FreeBSD" target="_blank" rel="nofollow noopener">Jeff - ZFS and NFS on FreeBSD</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/394/feedback/Michael%20-%20remote%20unlock%20for%20encrypted%20systems" target="_blank" rel="nofollow noopener">Michael - remote unlock for encrypted systems</a></p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>393: ZFS dRAID</title>
  <link>https://www.bsdnow.tv/393</link>
  <guid isPermaLink="false">edab60b8-425f-45a4-9547-73ca2ca7e341</guid>
  <pubDate>Thu, 11 Mar 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/edab60b8-425f-45a4-9547-73ca2ca7e341.mp3" length="50412600" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Lessons learned from a 27 years old UNIX book, Finally dRAID, Setting up a Signal Proxy using FreeBSD, Annotate your PDF files on OpenBSD, Things You Should Do Now, Just: More unixy than Make, and more</itunes:subtitle>
  <itunes:duration>50:40</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>&lt;p&gt;Lessons learned from a 27 years old UNIX book, Finally dRAID, Setting up a Signal Proxy using FreeBSD, Annotate your PDF files on OpenBSD, Things You Should Do Now, Just: More unixy than Make, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.linux.it/%7Eema/posts/porsche-book/" target="_blank" rel="nofollow noopener"&gt;Lessons learned from a 27 years old UNIX book&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the Amazon reviewers of "Sun Performance and Tuning: Java and the Internet" gave it 3/5 stars. While still a nice introduction, the book by Adrian Cockcroft has become dated — claimed Roland in 2003, which believe it or not was 18 years ago...&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-draid-finally/" target="_blank" rel="nofollow noopener"&gt;dRAID, Finally!&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Admins will often use wide RAID stripes to maximize usable storage given a number of spindles. RAID-Z deployments with large stripe widths, ten or larger, are subject to poor resilver performance for a number of reasons. Resilvering a full vdev means reading from every healthy disk and continuously writing to the new spare. This will saturate the replacement disk with writes while scattering seeks over the rest of the vdev. For 14 wide RAID-Z2 vdevs using 12TB spindles, rebuilds can take weeks. Resilver I/O activity is deprioritized when the system has not been idle for a minimum period. Full zpools get fragmented and require additional I/O’s to recalculate data during reslivering. A pool can degenerate into a never ending cycle of rebuilds or loss of the pool Aka: the Death Spiral.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.neelc.org/posts/freebsd-signal-proxy/" target="_blank" rel="nofollow noopener"&gt;Setting up a Signal Proxy using FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;With the events that the private messaging app Signal has been blocked in Iran, Signal has come up with an “proxy” solution akin to Tor’s Bridges, and have given instructions on how to do it.&lt;br&gt;
For people who prefer FreeBSD over Linux like myself, we obviously can’t run Docker, which is what Signal’s instructions focus on.&lt;br&gt;
Fortunately, the Docker image is just a fancy wrapper around nginx, and the configs can be ported to any OS. Here, I’ll show you how to set up a Signal Proxy on FreeBSD.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/20210126/annotate-your-pdf-files-on-openbsd" target="_blank" rel="nofollow noopener"&gt;Annotate your PDF files on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;On my journey to leave macOS, I regularly look to mimic some of the features I use. Namely, annotating (or signing) PDF files is a really simple task using Preview. I couldn’t do it on OpenBSD using Zathura, Xpdf etc. But there is a software in the ports that can achieve this: Xournal.&lt;br&gt;
Xournal is “an application for notetaking, sketching, keeping a journal using a stylus“. And now that my touchscreen is calibrated, highlighting can even be done with the fingers :)&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://secure.phabricator.com/book/phabflavor/article/things_you_should_do_now/" target="_blank" rel="nofollow noopener"&gt;Things You Should Do Now&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Describes things you should do now when building software, because the cost to do them increases over time and eventually becomes prohibitive or impossible.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/casey/just/" target="_blank" rel="nofollow noopener"&gt;Just: A command runner. More unixy than Make because it does even less.&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;I think it's in the do-one-thing-well spirit of Unix, because it's just a command runner, no build system at all. Just has a bunch of nice features:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Can be invoked from any subdirectory&lt;/li&gt;
&lt;li&gt;Arguments can be passed from the command line&lt;/li&gt;
&lt;li&gt;Static error checking that catches syntax errors and typos&lt;/li&gt;
&lt;li&gt;Excellent error messages with source context&lt;/li&gt;
&lt;li&gt;The ability to list recipes from the command line&lt;/li&gt;
&lt;li&gt;Recipes can be written in any language&lt;/li&gt;
&lt;li&gt;Works on Linux, macOS, and Windows&lt;/li&gt;
&lt;li&gt;And much more!&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Just doesn't replace Make, or any other build system, but it does replace reverse-searching your command history, telling colleagues the weird flags they need to pass to do the thing, and forgetting how to run old projects.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/393/feedback/Marc%20-%20Confused%20about%20Snapshots" target="_blank" rel="nofollow noopener"&gt;Marc - Confused about Snapshots&lt;/a&gt;
Dan’s gist: &lt;a href="https://gist.github.com/dlangille/3140e60a816226ed75365ba8af185085" target="_blank" rel="nofollow noopener"&gt;https://gist.github.com/dlangille/3140e60a816226ed75365ba8af185085&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/393/feedback/Pete%20-%20A%20Question" target="_blank" rel="nofollow noopener"&gt;Pete - A Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/393/feedback/Rick%20-%20ZFS%20Idea" target="_blank" rel="nofollow noopener"&gt;Rick - ZFS Idea&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Special Guest: Dan Langille.&lt;/p&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, lessons, 27 years old book, dRAID, signal, proxy, annotate, PDF, Phabricator, just, make</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Lessons learned from a 27 years old UNIX book, Finally dRAID, Setting up a Signal Proxy using FreeBSD, Annotate your PDF files on OpenBSD, Things You Should Do Now, Just: More unixy than Make, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.linux.it/%7Eema/posts/porsche-book/" target="_blank" rel="nofollow noopener">Lessons learned from a 27 years old UNIX book</a></h3>

<blockquote>
<p>One of the Amazon reviewers of "Sun Performance and Tuning: Java and the Internet" gave it 3/5 stars. While still a nice introduction, the book by Adrian Cockcroft has become dated — claimed Roland in 2003, which believe it or not was 18 years ago...</p>

<hr>

<h3><a href="https://klarasystems.com/articles/openzfs-draid-finally/" target="_blank" rel="nofollow noopener">dRAID, Finally!</a></h3>

<p>Admins will often use wide RAID stripes to maximize usable storage given a number of spindles. RAID-Z deployments with large stripe widths, ten or larger, are subject to poor resilver performance for a number of reasons. Resilvering a full vdev means reading from every healthy disk and continuously writing to the new spare. This will saturate the replacement disk with writes while scattering seeks over the rest of the vdev. For 14 wide RAID-Z2 vdevs using 12TB spindles, rebuilds can take weeks. Resilver I/O activity is deprioritized when the system has not been idle for a minimum period. Full zpools get fragmented and require additional I/O’s to recalculate data during reslivering. A pool can degenerate into a never ending cycle of rebuilds or loss of the pool Aka: the Death Spiral.</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.neelc.org/posts/freebsd-signal-proxy/" target="_blank" rel="nofollow noopener">Setting up a Signal Proxy using FreeBSD</a></h3>

<p>With the events that the private messaging app Signal has been blocked in Iran, Signal has come up with an “proxy” solution akin to Tor’s Bridges, and have given instructions on how to do it.<br>
For people who prefer FreeBSD over Linux like myself, we obviously can’t run Docker, which is what Signal’s instructions focus on.<br>
Fortunately, the Docker image is just a fancy wrapper around nginx, and the configs can be ported to any OS. Here, I’ll show you how to set up a Signal Proxy on FreeBSD.</p>

<hr>
</blockquote>

<h3><a href="https://www.tumfatig.net/20210126/annotate-your-pdf-files-on-openbsd" target="_blank" rel="nofollow noopener">Annotate your PDF files on OpenBSD</a></h3>

<blockquote>
<p>On my journey to leave macOS, I regularly look to mimic some of the features I use. Namely, annotating (or signing) PDF files is a really simple task using Preview. I couldn’t do it on OpenBSD using Zathura, Xpdf etc. But there is a software in the ports that can achieve this: Xournal.<br>
Xournal is “an application for notetaking, sketching, keeping a journal using a stylus“. And now that my touchscreen is calibrated, highlighting can even be done with the fingers :)</p>

<hr>
</blockquote>

<h3><a href="https://secure.phabricator.com/book/phabflavor/article/things_you_should_do_now/" target="_blank" rel="nofollow noopener">Things You Should Do Now</a></h3>

<blockquote>
<p>Describes things you should do now when building software, because the cost to do them increases over time and eventually becomes prohibitive or impossible.</p>

<hr>

<h3><a href="https://github.com/casey/just/" target="_blank" rel="nofollow noopener">Just: A command runner. More unixy than Make because it does even less.</a></h3>

<p>I think it's in the do-one-thing-well spirit of Unix, because it's just a command runner, no build system at all. Just has a bunch of nice features:</p>
</blockquote>

<ul>
<li>Can be invoked from any subdirectory</li>
<li>Arguments can be passed from the command line</li>
<li>Static error checking that catches syntax errors and typos</li>
<li>Excellent error messages with source context</li>
<li>The ability to list recipes from the command line</li>
<li>Recipes can be written in any language</li>
<li>Works on Linux, macOS, and Windows</li>
<li>And much more!</li>
</ul>

<blockquote>
<p>Just doesn't replace Make, or any other build system, but it does replace reverse-searching your command history, telling colleagues the weird flags they need to pass to do the thing, and forgetting how to run old projects.</p>
</blockquote>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/393/feedback/Marc%20-%20Confused%20about%20Snapshots" target="_blank" rel="nofollow noopener">Marc - Confused about Snapshots</a>
Dan’s gist: <a href="https://gist.github.com/dlangille/3140e60a816226ed75365ba8af185085" target="_blank" rel="nofollow noopener">https://gist.github.com/dlangille/3140e60a816226ed75365ba8af185085</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/393/feedback/Pete%20-%20A%20Question" target="_blank" rel="nofollow noopener">Pete - A Question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/393/feedback/Rick%20-%20ZFS%20Idea" target="_blank" rel="nofollow noopener">Rick - ZFS Idea</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Dan Langille.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Lessons learned from a 27 years old UNIX book, Finally dRAID, Setting up a Signal Proxy using FreeBSD, Annotate your PDF files on OpenBSD, Things You Should Do Now, Just: More unixy than Make, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.linux.it/%7Eema/posts/porsche-book/" target="_blank" rel="nofollow noopener">Lessons learned from a 27 years old UNIX book</a></h3>

<blockquote>
<p>One of the Amazon reviewers of "Sun Performance and Tuning: Java and the Internet" gave it 3/5 stars. While still a nice introduction, the book by Adrian Cockcroft has become dated — claimed Roland in 2003, which believe it or not was 18 years ago...</p>

<hr>

<h3><a href="https://klarasystems.com/articles/openzfs-draid-finally/" target="_blank" rel="nofollow noopener">dRAID, Finally!</a></h3>

<p>Admins will often use wide RAID stripes to maximize usable storage given a number of spindles. RAID-Z deployments with large stripe widths, ten or larger, are subject to poor resilver performance for a number of reasons. Resilvering a full vdev means reading from every healthy disk and continuously writing to the new spare. This will saturate the replacement disk with writes while scattering seeks over the rest of the vdev. For 14 wide RAID-Z2 vdevs using 12TB spindles, rebuilds can take weeks. Resilver I/O activity is deprioritized when the system has not been idle for a minimum period. Full zpools get fragmented and require additional I/O’s to recalculate data during reslivering. A pool can degenerate into a never ending cycle of rebuilds or loss of the pool Aka: the Death Spiral.</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.neelc.org/posts/freebsd-signal-proxy/" target="_blank" rel="nofollow noopener">Setting up a Signal Proxy using FreeBSD</a></h3>

<p>With the events that the private messaging app Signal has been blocked in Iran, Signal has come up with an “proxy” solution akin to Tor’s Bridges, and have given instructions on how to do it.<br>
For people who prefer FreeBSD over Linux like myself, we obviously can’t run Docker, which is what Signal’s instructions focus on.<br>
Fortunately, the Docker image is just a fancy wrapper around nginx, and the configs can be ported to any OS. Here, I’ll show you how to set up a Signal Proxy on FreeBSD.</p>

<hr>
</blockquote>

<h3><a href="https://www.tumfatig.net/20210126/annotate-your-pdf-files-on-openbsd" target="_blank" rel="nofollow noopener">Annotate your PDF files on OpenBSD</a></h3>

<blockquote>
<p>On my journey to leave macOS, I regularly look to mimic some of the features I use. Namely, annotating (or signing) PDF files is a really simple task using Preview. I couldn’t do it on OpenBSD using Zathura, Xpdf etc. But there is a software in the ports that can achieve this: Xournal.<br>
Xournal is “an application for notetaking, sketching, keeping a journal using a stylus“. And now that my touchscreen is calibrated, highlighting can even be done with the fingers :)</p>

<hr>
</blockquote>

<h3><a href="https://secure.phabricator.com/book/phabflavor/article/things_you_should_do_now/" target="_blank" rel="nofollow noopener">Things You Should Do Now</a></h3>

<blockquote>
<p>Describes things you should do now when building software, because the cost to do them increases over time and eventually becomes prohibitive or impossible.</p>

<hr>

<h3><a href="https://github.com/casey/just/" target="_blank" rel="nofollow noopener">Just: A command runner. More unixy than Make because it does even less.</a></h3>

<p>I think it's in the do-one-thing-well spirit of Unix, because it's just a command runner, no build system at all. Just has a bunch of nice features:</p>
</blockquote>

<ul>
<li>Can be invoked from any subdirectory</li>
<li>Arguments can be passed from the command line</li>
<li>Static error checking that catches syntax errors and typos</li>
<li>Excellent error messages with source context</li>
<li>The ability to list recipes from the command line</li>
<li>Recipes can be written in any language</li>
<li>Works on Linux, macOS, and Windows</li>
<li>And much more!</li>
</ul>

<blockquote>
<p>Just doesn't replace Make, or any other build system, but it does replace reverse-searching your command history, telling colleagues the weird flags they need to pass to do the thing, and forgetting how to run old projects.</p>
</blockquote>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/393/feedback/Marc%20-%20Confused%20about%20Snapshots" target="_blank" rel="nofollow noopener">Marc - Confused about Snapshots</a>
Dan’s gist: <a href="https://gist.github.com/dlangille/3140e60a816226ed75365ba8af185085" target="_blank" rel="nofollow noopener">https://gist.github.com/dlangille/3140e60a816226ed75365ba8af185085</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/393/feedback/Pete%20-%20A%20Question" target="_blank" rel="nofollow noopener">Pete - A Question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/393/feedback/Rick%20-%20ZFS%20Idea" target="_blank" rel="nofollow noopener">Rick - ZFS Idea</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Dan Langille.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>392: macOS inspired Desktop</title>
  <link>https://www.bsdnow.tv/392</link>
  <guid isPermaLink="false">614ca258-a6e1-4c49-ac79-9e37f3e6057c</guid>
  <pubDate>Thu, 04 Mar 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/614ca258-a6e1-4c49-ac79-9e37f3e6057c.mp3" length="46770312" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 13 BETA Benchmarks, FreeBSD Jails Deep Dive by Klara Systems, FreeBSD Foundation looking for a Senior Arm Kernel Engineer &amp; OSS Project Coordinator, macOS-Inspired BSD Desktop OS by helloSystem, A Trip into FreeBSD and more.</itunes:subtitle>
  <itunes:duration>47:26</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>&lt;p&gt;FreeBSD 13 BETA Benchmarks, FreeBSD Jails Deep Dive by Klara Systems, FreeBSD Foundation looking for a Senior Arm Kernel Engineer &amp;amp; OSS Project Coordinator, macOS-Inspired BSD Desktop OS by helloSystem, A Trip into FreeBSD and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=article&amp;amp;item=freebsd-13-beta1&amp;amp;num=6" target="_blank" rel="nofollow noopener"&gt;FreeBSD 13 BETA Benchmarks - Performance Is Much Better&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/freebsd-jails-the-beginning-of-freebsd-containers/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Jails – Deep Dive into the Beginning of FreeBSD Containers&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In recent years, containers and virtualization have become a buzzword in the Linux community, especially with the rise of Docker and Kubernetes. What many people probably don’t realize is that these ideas have been around for a very long time. Today, we will be looking at Jails and how they became part of FreeBSD.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;FreeBSD Jobs&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.fossjobs.net/job/10369/senior-arm-kernel-engineer-at-the-freebsd-foundation/" target="_blank" rel="nofollow noopener"&gt;The FreeBSD Foundation is looking for a Senior Arm Kernel Engineer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fossjobs.net/job/10367/freebsd-open-source-project-coordinator-at-freebsd/" target="_blank" rel="nofollow noopener"&gt;The FreeBSD Foundation is also looking for an Open Source Project Coordinator.&lt;/a&gt;
***
### &lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=helloSystem-New-12.1-Exp-ISOs" target="_blank" rel="nofollow noopener"&gt;helloSystem Releases New ISOs For This macOS-Inspired BSD Desktop OS&lt;/a&gt;
&amp;gt; The helloSystem motto is being a "desktop system for creators with focus on simplicity, elegance, and usability. Based on FreeBSD. Less, but better!" The desktop utilities are written with PyQt5.
***
### &lt;a href="https://christine.website/blog/a-trip-into-freebsd-2021-02-13" target="_blank" rel="nofollow noopener"&gt;A Trip into FreeBSD&lt;/a&gt;
&amp;gt; I normally deal with Linux machines. Linux is what I know and it's what I've been using since I was in college. A friend of mine has been coaxing me into trying out FreeBSD, and I decided to try it out and see what it's like. Here's some details about my experience and what I've learned.
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=H8ihW0m3bRQ" target="_blank" rel="nofollow noopener"&gt;Testing Linux Steam Proton on GhostBSD with BSD linuxulator - NO Audio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2021-February/381550.html" target="_blank" rel="nofollow noopener"&gt;New Build of DragonFlyBSD 5.8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/krjdev/rock64_openbsd" target="_blank" rel="nofollow noopener"&gt;Install OpenBSD 6.8 on PINE64 ROCK64 Media Board&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fosdem.org/2021/schedule/track/bsd/" target="_blank" rel="nofollow noopener"&gt;FOSDEM BSD Track Videos are up&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Special Guest: Dan Langille.&lt;/p&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, benchmarks, jails, ARM, kernel engineer, project coordinator, open source, job, employment, foundation, 501c3, helloSystem, macOS inspired, desktop</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 13 BETA Benchmarks, FreeBSD Jails Deep Dive by Klara Systems, FreeBSD Foundation looking for a Senior Arm Kernel Engineer &amp; OSS Project Coordinator, macOS-Inspired BSD Desktop OS by helloSystem, A Trip into FreeBSD 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=freebsd-13-beta1&amp;num=6" target="_blank" rel="nofollow noopener">FreeBSD 13 BETA Benchmarks - Performance Is Much Better</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/freebsd-jails-the-beginning-of-freebsd-containers/" target="_blank" rel="nofollow noopener">FreeBSD Jails – Deep Dive into the Beginning of FreeBSD Containers</a></h3>

<blockquote>
<p>In recent years, containers and virtualization have become a buzzword in the Linux community, especially with the rise of Docker and Kubernetes. What many people probably don’t realize is that these ideas have been around for a very long time. Today, we will be looking at Jails and how they became part of FreeBSD.</p>

<hr>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3>FreeBSD Jobs</h3>

<ul>
<li><a href="https://www.fossjobs.net/job/10369/senior-arm-kernel-engineer-at-the-freebsd-foundation/" target="_blank" rel="nofollow noopener">The FreeBSD Foundation is looking for a Senior Arm Kernel Engineer</a></li>
<li><a href="https://www.fossjobs.net/job/10367/freebsd-open-source-project-coordinator-at-freebsd/" target="_blank" rel="nofollow noopener">The FreeBSD Foundation is also looking for an Open Source Project Coordinator.</a>
***
### <a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=helloSystem-New-12.1-Exp-ISOs" target="_blank" rel="nofollow noopener">helloSystem Releases New ISOs For This macOS-Inspired BSD Desktop OS</a>
&gt; The helloSystem motto is being a "desktop system for creators with focus on simplicity, elegance, and usability. Based on FreeBSD. Less, but better!" The desktop utilities are written with PyQt5.
***
### <a href="https://christine.website/blog/a-trip-into-freebsd-2021-02-13" target="_blank" rel="nofollow noopener">A Trip into FreeBSD</a>
&gt; I normally deal with Linux machines. Linux is what I know and it's what I've been using since I was in college. A friend of mine has been coaxing me into trying out FreeBSD, and I decided to try it out and see what it's like. Here's some details about my experience and what I've learned.
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=H8ihW0m3bRQ" target="_blank" rel="nofollow noopener">Testing Linux Steam Proton on GhostBSD with BSD linuxulator - NO Audio</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2021-February/381550.html" target="_blank" rel="nofollow noopener">New Build of DragonFlyBSD 5.8</a></li>
<li><a href="https://github.com/krjdev/rock64_openbsd" target="_blank" rel="nofollow noopener">Install OpenBSD 6.8 on PINE64 ROCK64 Media Board</a></li>
<li><a href="https://fosdem.org/2021/schedule/track/bsd/" target="_blank" rel="nofollow noopener">FOSDEM BSD Track Videos are up</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Dan Langille.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 13 BETA Benchmarks, FreeBSD Jails Deep Dive by Klara Systems, FreeBSD Foundation looking for a Senior Arm Kernel Engineer &amp; OSS Project Coordinator, macOS-Inspired BSD Desktop OS by helloSystem, A Trip into FreeBSD 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=freebsd-13-beta1&amp;num=6" target="_blank" rel="nofollow noopener">FreeBSD 13 BETA Benchmarks - Performance Is Much Better</a></h3>

<hr>

<h3><a href="https://klarasystems.com/articles/freebsd-jails-the-beginning-of-freebsd-containers/" target="_blank" rel="nofollow noopener">FreeBSD Jails – Deep Dive into the Beginning of FreeBSD Containers</a></h3>

<blockquote>
<p>In recent years, containers and virtualization have become a buzzword in the Linux community, especially with the rise of Docker and Kubernetes. What many people probably don’t realize is that these ideas have been around for a very long time. Today, we will be looking at Jails and how they became part of FreeBSD.</p>

<hr>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3>FreeBSD Jobs</h3>

<ul>
<li><a href="https://www.fossjobs.net/job/10369/senior-arm-kernel-engineer-at-the-freebsd-foundation/" target="_blank" rel="nofollow noopener">The FreeBSD Foundation is looking for a Senior Arm Kernel Engineer</a></li>
<li><a href="https://www.fossjobs.net/job/10367/freebsd-open-source-project-coordinator-at-freebsd/" target="_blank" rel="nofollow noopener">The FreeBSD Foundation is also looking for an Open Source Project Coordinator.</a>
***
### <a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=helloSystem-New-12.1-Exp-ISOs" target="_blank" rel="nofollow noopener">helloSystem Releases New ISOs For This macOS-Inspired BSD Desktop OS</a>
&gt; The helloSystem motto is being a "desktop system for creators with focus on simplicity, elegance, and usability. Based on FreeBSD. Less, but better!" The desktop utilities are written with PyQt5.
***
### <a href="https://christine.website/blog/a-trip-into-freebsd-2021-02-13" target="_blank" rel="nofollow noopener">A Trip into FreeBSD</a>
&gt; I normally deal with Linux machines. Linux is what I know and it's what I've been using since I was in college. A friend of mine has been coaxing me into trying out FreeBSD, and I decided to try it out and see what it's like. Here's some details about my experience and what I've learned.
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=H8ihW0m3bRQ" target="_blank" rel="nofollow noopener">Testing Linux Steam Proton on GhostBSD with BSD linuxulator - NO Audio</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2021-February/381550.html" target="_blank" rel="nofollow noopener">New Build of DragonFlyBSD 5.8</a></li>
<li><a href="https://github.com/krjdev/rock64_openbsd" target="_blank" rel="nofollow noopener">Install OpenBSD 6.8 on PINE64 ROCK64 Media Board</a></li>
<li><a href="https://fosdem.org/2021/schedule/track/bsd/" target="_blank" rel="nofollow noopener">FOSDEM BSD Track Videos are up</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Dan Langille.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>391:  i386 tear shedding</title>
  <link>https://www.bsdnow.tv/391</link>
  <guid isPermaLink="false">3105d37c-fc28-49e0-983d-1ac767b72f76</guid>
  <pubDate>Thu, 25 Feb 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3105d37c-fc28-49e0-983d-1ac767b72f76.mp3" length="39165456" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Follow-up about FreeBSD jail advantages, Install Prometheus, Node Exporter and Grafana, Calibrate your touch-screen on OpenBSD, OPNsense 21.1 Marvelous Meerkat Released, NomadBSD 1.4-RC1, Lets all shed a Tear for 386, find mostly doesn't need xargs today on modern Unixes, OpenBSD KDE Status Report, and more.</itunes:subtitle>
  <itunes:duration>38:55</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>&lt;p&gt;Follow-up about FreeBSD jail advantages, Install Prometheus, Node Exporter and Grafana, Calibrate your touch-screen on OpenBSD, OPNsense 21.1 Marvelous Meerkat Released, NomadBSD 1.4-RC1, Lets all shed a Tear for 386, find mostly doesn't need xargs today on modern Unixes, OpenBSD KDE Status Report, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/follow-up-about-freebsd-jail-advantages/" target="_blank" rel="nofollow noopener"&gt;Follow-up about FreeBSD jail advantages&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ll admit I ran a lot of justifications together into a single paragraph because I wanted to get to configuring the jails themselves. They’re also, by and large, not specific to FreeBSD’s flavour of containerisation, though I still think it’s easily the most elegant implementation. Sometimes the simplest solution really is the best one.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/history-of-freebsd-part-4-bsd-and-tcp-ip/" target="_blank" rel="nofollow noopener"&gt;History of FreeBSD part 4: TCP/IP&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;How TCP/IP evolved and BSDs special contribution to the history of the Internet
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://blog.andreev.it/?p=5289" target="_blank" rel="nofollow noopener"&gt;FreeBSD: Install Prometheus, Node Exporter and Grafana&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD comes out of the box with three great tools for monitoring. If you need more info about how these tools work, please read the official documentation. I’ll explain the installation only and creating a simple dashboard.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/20210122/calibrate-your-touch-screen-on-openbsd/" target="_blank" rel="nofollow noopener"&gt;Calibrate your touch-screen on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I didn’t expected it but my refurbished T460s came with a touch-screen. It is recognized by default on OpenBSD and not well calibrated as-is. But that’s really simple to solve.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-announce/2021-January/002006.html" target="_blank" rel="nofollow noopener"&gt;Lets all shed a Tear for 386&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;FreeBSD is designating i386 as a Tier 2 architecture starting with FreeBSD 13.0.  The Project will continue to provide release images, binary updates, and pre-built packages for the 13.x branch.  However, i386-specific issues (including SAs) may not be addressed in 13.x. The i386 platform will remain Tier 1 on FreeBSD 11.x and 12.x.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-21-1-marvelous-meerkat-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 21.1 Marvelous Meerkat Released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;For more than 6 years, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://nomadbsd.org/index.html#1.4-RC1" target="_blank" rel="nofollow noopener"&gt;NomadBSD 1.4-RC1&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;We are pleased to present the first release candidate of NomadBSD 1.4.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/FindWithoutXargsToday" target="_blank" rel="nofollow noopener"&gt;find mostly doesn't need xargs today on modern Unixes&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I've been using Unix for long enough that 'find | xargs' is a reflex. When I started and for a long time afterward, xargs was your only choice for efficiently executing a command over a bunch of find results.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20210124113220" target="_blank" rel="nofollow noopener"&gt;OpenBSD KDE Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;OpenBSD has managed to drop KDE3 and KDE4 in the 6.8 -&amp;gt; 6.9 release cycle. That makes me very happy because it was a big piece of work and long discussions. This of course brings questions: Kde Plasma 5 package missing.&lt;br&gt;
After half a year of work, I managed to successfully update the Qt5 stack to the last LTS version 5.15.2. On the whole, the most work was updating QtWebengine. What a monster! With my CPU power at home, I can build it 1-2 times a day which makes testing a little bit annoying and time intensive.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/391/feedback/Karl%20-%20Firefox%20webcam%20audio%20solution.md" target="_blank" rel="nofollow noopener"&gt;Karl - Firefox webcam audio solution&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/391/feedback/Michal%20-%20openzfs.md" target="_blank" rel="nofollow noopener"&gt;Michal - openzfs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/391/feedback/Dave%20-%20bufferbloat.md" target="_blank" rel="nofollow noopener"&gt;Dave - bufferbloat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, jail, advantages, prometheus, grafana, node-exporter, touch screen, opnsense, marvelous meerkat, nomadbsd, i386, xargs, KDE, signal, proxy, pdf, annotation</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Follow-up about FreeBSD jail advantages, Install Prometheus, Node Exporter and Grafana, Calibrate your touch-screen on OpenBSD, OPNsense 21.1 Marvelous Meerkat Released, NomadBSD 1.4-RC1, Lets all shed a Tear for 386, find mostly doesn't need xargs today on modern Unixes, OpenBSD KDE Status Report, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://rubenerd.com/follow-up-about-freebsd-jail-advantages/" target="_blank" rel="nofollow noopener">Follow-up about FreeBSD jail advantages</a></h3>

<blockquote>
<p>I’ll admit I ran a lot of justifications together into a single paragraph because I wanted to get to configuring the jails themselves. They’re also, by and large, not specific to FreeBSD’s flavour of containerisation, though I still think it’s easily the most elegant implementation. Sometimes the simplest solution really is the best one.</p>

<hr>

<h3><a href="https://klarasystems.com/articles/history-of-freebsd-part-4-bsd-and-tcp-ip/" target="_blank" rel="nofollow noopener">History of FreeBSD part 4: TCP/IP</a></h3>

<ul>
<li>How TCP/IP evolved and BSDs special contribution to the history of the Internet
***</li>
</ul>
</blockquote>

<h3><a href="https://blog.andreev.it/?p=5289" target="_blank" rel="nofollow noopener">FreeBSD: Install Prometheus, Node Exporter and Grafana</a></h3>

<blockquote>
<p>FreeBSD comes out of the box with three great tools for monitoring. If you need more info about how these tools work, please read the official documentation. I’ll explain the installation only and creating a simple dashboard.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://www.tumfatig.net/20210122/calibrate-your-touch-screen-on-openbsd/" target="_blank" rel="nofollow noopener">Calibrate your touch-screen on OpenBSD</a></h3>

<blockquote>
<p>I didn’t expected it but my refurbished T460s came with a touch-screen. It is recognized by default on OpenBSD and not well calibrated as-is. But that’s really simple to solve.</p>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2021-January/002006.html" target="_blank" rel="nofollow noopener">Lets all shed a Tear for 386</a></h3>

<p>FreeBSD is designating i386 as a Tier 2 architecture starting with FreeBSD 13.0.  The Project will continue to provide release images, binary updates, and pre-built packages for the 13.x branch.  However, i386-specific issues (including SAs) may not be addressed in 13.x. The i386 platform will remain Tier 1 on FreeBSD 11.x and 12.x.</p>

<hr>
</blockquote>

<h3><a href="https://opnsense.org/opnsense-21-1-marvelous-meerkat-released/" target="_blank" rel="nofollow noopener">OPNsense 21.1 Marvelous Meerkat Released</a></h3>

<blockquote>
<p>For more than 6 years, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.</p>

<hr>

<h3><a href="https://nomadbsd.org/index.html#1.4-RC1" target="_blank" rel="nofollow noopener">NomadBSD 1.4-RC1</a></h3>

<p>We are pleased to present the first release candidate of NomadBSD 1.4.</p>

<hr>
</blockquote>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/FindWithoutXargsToday" target="_blank" rel="nofollow noopener">find mostly doesn't need xargs today on modern Unixes</a></h3>

<blockquote>
<p>I've been using Unix for long enough that 'find | xargs' is a reflex. When I started and for a long time afterward, xargs was your only choice for efficiently executing a command over a bunch of find results.</p>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210124113220" target="_blank" rel="nofollow noopener">OpenBSD KDE Status Report</a></h3>

<p>OpenBSD has managed to drop KDE3 and KDE4 in the 6.8 -&gt; 6.9 release cycle. That makes me very happy because it was a big piece of work and long discussions. This of course brings questions: Kde Plasma 5 package missing.<br>
After half a year of work, I managed to successfully update the Qt5 stack to the last LTS version 5.15.2. On the whole, the most work was updating QtWebengine. What a monster! With my CPU power at home, I can build it 1-2 times a day which makes testing a little bit annoying and time intensive.</p>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/391/feedback/Karl%20-%20Firefox%20webcam%20audio%20solution.md" target="_blank" rel="nofollow noopener">Karl - Firefox webcam audio solution</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/391/feedback/Michal%20-%20openzfs.md" target="_blank" rel="nofollow noopener">Michal - openzfs</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/391/feedback/Dave%20-%20bufferbloat.md" target="_blank" rel="nofollow noopener">Dave - bufferbloat</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Follow-up about FreeBSD jail advantages, Install Prometheus, Node Exporter and Grafana, Calibrate your touch-screen on OpenBSD, OPNsense 21.1 Marvelous Meerkat Released, NomadBSD 1.4-RC1, Lets all shed a Tear for 386, find mostly doesn't need xargs today on modern Unixes, OpenBSD KDE Status Report, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://rubenerd.com/follow-up-about-freebsd-jail-advantages/" target="_blank" rel="nofollow noopener">Follow-up about FreeBSD jail advantages</a></h3>

<blockquote>
<p>I’ll admit I ran a lot of justifications together into a single paragraph because I wanted to get to configuring the jails themselves. They’re also, by and large, not specific to FreeBSD’s flavour of containerisation, though I still think it’s easily the most elegant implementation. Sometimes the simplest solution really is the best one.</p>

<hr>

<h3><a href="https://klarasystems.com/articles/history-of-freebsd-part-4-bsd-and-tcp-ip/" target="_blank" rel="nofollow noopener">History of FreeBSD part 4: TCP/IP</a></h3>

<ul>
<li>How TCP/IP evolved and BSDs special contribution to the history of the Internet
***</li>
</ul>
</blockquote>

<h3><a href="https://blog.andreev.it/?p=5289" target="_blank" rel="nofollow noopener">FreeBSD: Install Prometheus, Node Exporter and Grafana</a></h3>

<blockquote>
<p>FreeBSD comes out of the box with three great tools for monitoring. If you need more info about how these tools work, please read the official documentation. I’ll explain the installation only and creating a simple dashboard.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://www.tumfatig.net/20210122/calibrate-your-touch-screen-on-openbsd/" target="_blank" rel="nofollow noopener">Calibrate your touch-screen on OpenBSD</a></h3>

<blockquote>
<p>I didn’t expected it but my refurbished T460s came with a touch-screen. It is recognized by default on OpenBSD and not well calibrated as-is. But that’s really simple to solve.</p>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2021-January/002006.html" target="_blank" rel="nofollow noopener">Lets all shed a Tear for 386</a></h3>

<p>FreeBSD is designating i386 as a Tier 2 architecture starting with FreeBSD 13.0.  The Project will continue to provide release images, binary updates, and pre-built packages for the 13.x branch.  However, i386-specific issues (including SAs) may not be addressed in 13.x. The i386 platform will remain Tier 1 on FreeBSD 11.x and 12.x.</p>

<hr>
</blockquote>

<h3><a href="https://opnsense.org/opnsense-21-1-marvelous-meerkat-released/" target="_blank" rel="nofollow noopener">OPNsense 21.1 Marvelous Meerkat Released</a></h3>

<blockquote>
<p>For more than 6 years, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.</p>

<hr>

<h3><a href="https://nomadbsd.org/index.html#1.4-RC1" target="_blank" rel="nofollow noopener">NomadBSD 1.4-RC1</a></h3>

<p>We are pleased to present the first release candidate of NomadBSD 1.4.</p>

<hr>
</blockquote>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/FindWithoutXargsToday" target="_blank" rel="nofollow noopener">find mostly doesn't need xargs today on modern Unixes</a></h3>

<blockquote>
<p>I've been using Unix for long enough that 'find | xargs' is a reflex. When I started and for a long time afterward, xargs was your only choice for efficiently executing a command over a bunch of find results.</p>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210124113220" target="_blank" rel="nofollow noopener">OpenBSD KDE Status Report</a></h3>

<p>OpenBSD has managed to drop KDE3 and KDE4 in the 6.8 -&gt; 6.9 release cycle. That makes me very happy because it was a big piece of work and long discussions. This of course brings questions: Kde Plasma 5 package missing.<br>
After half a year of work, I managed to successfully update the Qt5 stack to the last LTS version 5.15.2. On the whole, the most work was updating QtWebengine. What a monster! With my CPU power at home, I can build it 1-2 times a day which makes testing a little bit annoying and time intensive.</p>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/391/feedback/Karl%20-%20Firefox%20webcam%20audio%20solution.md" target="_blank" rel="nofollow noopener">Karl - Firefox webcam audio solution</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/391/feedback/Michal%20-%20openzfs.md" target="_blank" rel="nofollow noopener">Michal - openzfs</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/391/feedback/Dave%20-%20bufferbloat.md" target="_blank" rel="nofollow noopener">Dave - bufferbloat</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>390: Commercial Unix Killer</title>
  <link>https://www.bsdnow.tv/390</link>
  <guid isPermaLink="false">a77e0ca4-6c57-4cd9-ad09-1fbf8292e5d8</guid>
  <pubDate>Thu, 18 Feb 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a77e0ca4-6c57-4cd9-ad09-1fbf8292e5d8.mp3" length="55003992" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Did Linux kill Commercial Unix, three node GlusterFS setup on FreeBSD, OpenBSD on the Lenovo ThinkPad X1 Nano (1st Gen), NetBSD on EdgeRouter Lite, TLS Mastery first draft done</itunes:subtitle>
  <itunes:duration>55:36</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>&lt;p&gt;Did Linux kill Commercial Unix, three node GlusterFS setup on FreeBSD, OpenBSD on the Lenovo ThinkPad X1 Nano (1st Gen), NetBSD on EdgeRouter Lite, TLS Mastery first draft done&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.howtogeek.com/440147/did-linux-kill-commercial-unix/" target="_blank" rel="nofollow noopener"&gt;Did Linux Kill Commercial Unix?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Sales of commercial Unix have fallen off a cliff. There has to be something behind this dramatic decline. Has Linux killed its ancestor by becoming a perfectly viable replacement, like an operating system version of Invasion of the Body Snatchers?&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/simple-and-secure-vpn-in-freebsd/" target="_blank" rel="nofollow noopener"&gt;Wireguard: Simple and Secure VPN in FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A great article by Tom Jones about setting up Wireguard on FreeBSD
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://www.unibia.com/unibianet/freebsd/setup-three-node-replicated-glusterfs-cluster-freebsd" target="_blank" rel="nofollow noopener"&gt;Setup a Three Node Replicated GlusterFS Cluster on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;GlusterFS (GFS) is the open source equivalent to Microsoft's Distributed Filesystem (DFS). It's a service that replicates the contents of a filesystem in real time from one server to another. Clients connect to any server and changes made to a file will replicate automatically. It's similar to something like rsync or syncthing, but much more automatic and transparent. A FreeBSD port has been available since v3.4, and (as of this post) is currently at version 8.0 with 9.0 being released soon.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://jcs.org/2021/01/27/x1nano" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the Lenovo ThinkPad X1 Nano (1st Gen)&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Lenovo has finally made a smaller version of its X1 Carbon, something I’ve been looking forward to for years.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/netbsd-on-the-edgerouter-lite/" target="_blank" rel="nofollow noopener"&gt;NetBSD on the EdgeRouter Lite&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;NetBSD-current now has pre-built octeon bootable images (which will appear in NetBSD 10.0) for the evbmips port, so I decided to finally give it a try. I've been happily running OpenBSD/octeon on my EdgeRouter Lite for a few years now, and have previously published some notes including more detail about the CPU.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mwl.io/archives/9938" target="_blank" rel="nofollow noopener"&gt;“TLS Mastery” first draft done!&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://forums.freebsd.org/threads/freebsd-desktop-for-pinebook-pro.78269/" target="_blank" rel="nofollow noopener"&gt;A Thread on a FreeBSD Desktop for PineBook Pro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eventyay.com/e/fa96ae2c" target="_blank" rel="nofollow noopener"&gt;FOSSASIA Conference - March 2021(Virtual)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.netgate.com/blog/wireguard-for-pfsense-software.html" target="_blank" rel="nofollow noopener"&gt;WireGuard for pfSense Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/netbsd-advocacy/2021/02/07/msg000849.html" target="_blank" rel="nofollow noopener"&gt;NetBSD logo to going Moon&lt;/a&gt;
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;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.
### Producer's Note
&amp;gt; Hey everybody, it’s JT here.  After our AMA episode where I mentioned I was looking for older BSD Retail Copies, I was contacted by Andrew who hooked me up with a bunch of OpenBSD disks from the 4.x era.  So shout out to him, and since that worked so well, I figured I'd give it another shot and ask that if anyone has any old Unixes that will run on an 8088, 8086, or 286 and you're willing to send me copies of the disks. I've recently dug out an old 286 system and I’d love to get a Unix OS on it.  I know of Minix, Xenix and Microport, but I haven’t been able to find many versions of them.  I've found Microport 1.3.3, and SCO Xenix... but that's about it.  Let me know if you happen to have any other versions, or know where I can get them.&lt;br&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/390/feedback/Christian%20-%20ZFS%20replication%20and%20verification" target="_blank" rel="nofollow noopener"&gt;Christian - ZFS replication and verification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/390/feedback/Iain%20-%20progress" target="_blank" rel="nofollow noopener"&gt;Iain - progress&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/390/feedback/Paul%20-%20APU2%20device" target="_blank" rel="nofollow noopener"&gt;Paul - APU2 device&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, Linux, commercial unix, glusterfs, cluster, setup, Lenovo, Thinkpad, x1 nano, edgerouter, lite, tls, book</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Did Linux kill Commercial Unix, three node GlusterFS setup on FreeBSD, OpenBSD on the Lenovo ThinkPad X1 Nano (1st Gen), NetBSD on EdgeRouter Lite, TLS Mastery first draft done</p>

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

<h2>Headlines</h2>

<h3><a href="https://www.howtogeek.com/440147/did-linux-kill-commercial-unix/" target="_blank" rel="nofollow noopener">Did Linux Kill Commercial Unix?</a></h3>

<blockquote>
<p>Sales of commercial Unix have fallen off a cliff. There has to be something behind this dramatic decline. Has Linux killed its ancestor by becoming a perfectly viable replacement, like an operating system version of Invasion of the Body Snatchers?</p>

<hr>

<h3><a href="https://klarasystems.com/articles/simple-and-secure-vpn-in-freebsd/" target="_blank" rel="nofollow noopener">Wireguard: Simple and Secure VPN in FreeBSD</a></h3>

<ul>
<li>A great article by Tom Jones about setting up Wireguard on FreeBSD
***</li>
</ul>
</blockquote>

<h3><a href="http://www.unibia.com/unibianet/freebsd/setup-three-node-replicated-glusterfs-cluster-freebsd" target="_blank" rel="nofollow noopener">Setup a Three Node Replicated GlusterFS Cluster on FreeBSD</a></h3>

<blockquote>
<p>GlusterFS (GFS) is the open source equivalent to Microsoft's Distributed Filesystem (DFS). It's a service that replicates the contents of a filesystem in real time from one server to another. Clients connect to any server and changes made to a file will replicate automatically. It's similar to something like rsync or syncthing, but much more automatic and transparent. A FreeBSD port has been available since v3.4, and (as of this post) is currently at version 8.0 with 9.0 being released soon.</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2021/01/27/x1nano" target="_blank" rel="nofollow noopener">OpenBSD on the Lenovo ThinkPad X1 Nano (1st Gen)</a></h3>

<p>Lenovo has finally made a smaller version of its X1 Carbon, something I’ve been looking forward to for years.</p>

<hr>

<h3><a href="https://www.cambus.net/netbsd-on-the-edgerouter-lite/" target="_blank" rel="nofollow noopener">NetBSD on the EdgeRouter Lite</a></h3>

<p>NetBSD-current now has pre-built octeon bootable images (which will appear in NetBSD 10.0) for the evbmips port, so I decided to finally give it a try. I've been happily running OpenBSD/octeon on my EdgeRouter Lite for a few years now, and have previously published some notes including more detail about the CPU.</p>

<hr>

<h3><a href="https://mwl.io/archives/9938" target="_blank" rel="nofollow noopener">“TLS Mastery” first draft done!</a></h3>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://forums.freebsd.org/threads/freebsd-desktop-for-pinebook-pro.78269/" target="_blank" rel="nofollow noopener">A Thread on a FreeBSD Desktop for PineBook Pro</a></li>
<li><a href="https://eventyay.com/e/fa96ae2c" target="_blank" rel="nofollow noopener">FOSSASIA Conference - March 2021(Virtual)</a></li>
<li><a href="https://www.netgate.com/blog/wireguard-for-pfsense-software.html" target="_blank" rel="nofollow noopener">WireGuard for pfSense Software</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2021/02/07/msg000849.html" target="_blank" rel="nofollow noopener">NetBSD logo to going Moon</a>
***
###Tarsnap</li>
<li>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.
### Producer's Note
&gt; Hey everybody, it’s JT here.  After our AMA episode where I mentioned I was looking for older BSD Retail Copies, I was contacted by Andrew who hooked me up with a bunch of OpenBSD disks from the 4.x era.  So shout out to him, and since that worked so well, I figured I'd give it another shot and ask that if anyone has any old Unixes that will run on an 8088, 8086, or 286 and you're willing to send me copies of the disks. I've recently dug out an old 286 system and I’d love to get a Unix OS on it.  I know of Minix, Xenix and Microport, but I haven’t been able to find many versions of them.  I've found Microport 1.3.3, and SCO Xenix... but that's about it.  Let me know if you happen to have any other versions, or know where I can get them.<br></li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/390/feedback/Christian%20-%20ZFS%20replication%20and%20verification" target="_blank" rel="nofollow noopener">Christian - ZFS replication and verification</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/390/feedback/Iain%20-%20progress" target="_blank" rel="nofollow noopener">Iain - progress</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/390/feedback/Paul%20-%20APU2%20device" target="_blank" rel="nofollow noopener">Paul - APU2 device</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Did Linux kill Commercial Unix, three node GlusterFS setup on FreeBSD, OpenBSD on the Lenovo ThinkPad X1 Nano (1st Gen), NetBSD on EdgeRouter Lite, TLS Mastery first draft done</p>

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

<h2>Headlines</h2>

<h3><a href="https://www.howtogeek.com/440147/did-linux-kill-commercial-unix/" target="_blank" rel="nofollow noopener">Did Linux Kill Commercial Unix?</a></h3>

<blockquote>
<p>Sales of commercial Unix have fallen off a cliff. There has to be something behind this dramatic decline. Has Linux killed its ancestor by becoming a perfectly viable replacement, like an operating system version of Invasion of the Body Snatchers?</p>

<hr>

<h3><a href="https://klarasystems.com/articles/simple-and-secure-vpn-in-freebsd/" target="_blank" rel="nofollow noopener">Wireguard: Simple and Secure VPN in FreeBSD</a></h3>

<ul>
<li>A great article by Tom Jones about setting up Wireguard on FreeBSD
***</li>
</ul>
</blockquote>

<h3><a href="http://www.unibia.com/unibianet/freebsd/setup-three-node-replicated-glusterfs-cluster-freebsd" target="_blank" rel="nofollow noopener">Setup a Three Node Replicated GlusterFS Cluster on FreeBSD</a></h3>

<blockquote>
<p>GlusterFS (GFS) is the open source equivalent to Microsoft's Distributed Filesystem (DFS). It's a service that replicates the contents of a filesystem in real time from one server to another. Clients connect to any server and changes made to a file will replicate automatically. It's similar to something like rsync or syncthing, but much more automatic and transparent. A FreeBSD port has been available since v3.4, and (as of this post) is currently at version 8.0 with 9.0 being released soon.</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2021/01/27/x1nano" target="_blank" rel="nofollow noopener">OpenBSD on the Lenovo ThinkPad X1 Nano (1st Gen)</a></h3>

<p>Lenovo has finally made a smaller version of its X1 Carbon, something I’ve been looking forward to for years.</p>

<hr>

<h3><a href="https://www.cambus.net/netbsd-on-the-edgerouter-lite/" target="_blank" rel="nofollow noopener">NetBSD on the EdgeRouter Lite</a></h3>

<p>NetBSD-current now has pre-built octeon bootable images (which will appear in NetBSD 10.0) for the evbmips port, so I decided to finally give it a try. I've been happily running OpenBSD/octeon on my EdgeRouter Lite for a few years now, and have previously published some notes including more detail about the CPU.</p>

<hr>

<h3><a href="https://mwl.io/archives/9938" target="_blank" rel="nofollow noopener">“TLS Mastery” first draft done!</a></h3>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://forums.freebsd.org/threads/freebsd-desktop-for-pinebook-pro.78269/" target="_blank" rel="nofollow noopener">A Thread on a FreeBSD Desktop for PineBook Pro</a></li>
<li><a href="https://eventyay.com/e/fa96ae2c" target="_blank" rel="nofollow noopener">FOSSASIA Conference - March 2021(Virtual)</a></li>
<li><a href="https://www.netgate.com/blog/wireguard-for-pfsense-software.html" target="_blank" rel="nofollow noopener">WireGuard for pfSense Software</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2021/02/07/msg000849.html" target="_blank" rel="nofollow noopener">NetBSD logo to going Moon</a>
***
###Tarsnap</li>
<li>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.
### Producer's Note
&gt; Hey everybody, it’s JT here.  After our AMA episode where I mentioned I was looking for older BSD Retail Copies, I was contacted by Andrew who hooked me up with a bunch of OpenBSD disks from the 4.x era.  So shout out to him, and since that worked so well, I figured I'd give it another shot and ask that if anyone has any old Unixes that will run on an 8088, 8086, or 286 and you're willing to send me copies of the disks. I've recently dug out an old 286 system and I’d love to get a Unix OS on it.  I know of Minix, Xenix and Microport, but I haven’t been able to find many versions of them.  I've found Microport 1.3.3, and SCO Xenix... but that's about it.  Let me know if you happen to have any other versions, or know where I can get them.<br></li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/390/feedback/Christian%20-%20ZFS%20replication%20and%20verification" target="_blank" rel="nofollow noopener">Christian - ZFS replication and verification</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/390/feedback/Iain%20-%20progress" target="_blank" rel="nofollow noopener">Iain - progress</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/390/feedback/Paul%20-%20APU2%20device" target="_blank" rel="nofollow noopener">Paul - APU2 device</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>389: Comfy FreeBSD Jails</title>
  <link>https://www.bsdnow.tv/389</link>
  <guid isPermaLink="false">e9e941f3-5d28-4978-9398-058673590033</guid>
  <pubDate>Wed, 10 Feb 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e9e941f3-5d28-4978-9398-058673590033.mp3" length="42044472" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>A week with Plan 9, Exploring Swap on FreeBSD, how to create a FreeBSD pkg mirror using bastille and poudriere, How to set up FreeBSD 12 VNET jail with ZFS, Creating Comfy FreeBSD Jails Using Standard Tools, and more.</itunes:subtitle>
  <itunes:duration>41:16</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>&lt;p&gt;A week with Plan 9, Exploring Swap on FreeBSD, how to create a FreeBSD pkg mirror using bastille and poudriere, How to set up FreeBSD 12 VNET jail with ZFS, Creating Comfy FreeBSD Jails Using Standard Tools, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://thedorkweb.substack.com/p/a-week-with-plan-9" target="_blank" rel="nofollow noopener"&gt;A Week With Plan 9&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I spent the first week of 2021 learning an OS called Plan 9 from Bell Labs. This is a fringe Operating System, long abandoned by it’s original authors. It's also responsible for a great deal of inspiration elsewhere. If you’ve used the Go language, /proc, UTF-8 or Docker, you’ve used Plan 9-designed features. This issue dives into Operating System internals and some moderately hard computer science topics. If that sort of thing isn’t your bag you might want to skip ahead. Normal service will resume shortly.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/exploring-swap-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Exploring Swap on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;On modern Unix-like systems such as FreeBSD, “swapping” refers to the activity of paging out the contents of memory to a disk and then paging it back in on demand. The page-out activity occurs in response to a lack of free memory in the system: the kernel tries to identify pages of memory that probably will not be accessed in the near future, and copies their contents to a disk for safekeeping until they are needed again. When an application attempts to access memory that has been swapped out, it blocks while the kernel fetches that saved memory from the swap disk, and then resumes execution as if nothing had happened.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://hackacad.net/post/2021-01-13-build-a-freebsd-pkg-mirror-with-bastille-poudriere/" target="_blank" rel="nofollow noopener"&gt;How to create a FreeBSD pkg mirror using bastille and poudriere&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This a short how-to for creating a FreeBSD pkg mirror using BastilleBSD and Poudriere.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cyberciti.biz/faq/configuring-freebsd-12-vnet-jail-using-bridgeepair-zfs/" target="_blank" rel="nofollow noopener"&gt;How to set up FreeBSD 12 VNET jail with ZFS&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;How do I install, set up and configure a FreeBSD 12 jail with VNET on ZFS? How can I create FreeBSD 12 VNET jail with /etc/jail.conf to run OpenVPN, Apache, Wireguard and other Internet-facing services securely on my BSD box?&lt;br&gt;
FreeBSD jail is nothing but operating system-level virtualization that allows partitioning a FreeBSD based Unix server. Such systems have their root user and access rights. Jails can use network subsystem virtualization infrastructure or share an existing network. FreeBSD jails are a powerful way to increase security. Usually, you create jail per services such as an Nginx/Apache webserver with PHP/Perl/Python app, WireGuard/OpeNVPN server, MariaDB/PgSQL server, and more. This page shows how to configure a FreeBSD Jail with vnet and ZFZ on FreeBSD 12.x.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://kettunen.io/post/standard-freebsd-jails/" target="_blank" rel="nofollow noopener"&gt;Creating Comfy FreeBSD Jails Using Standard Tools&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Docker has stormed into software development in recent years. While the concepts behind it are powerful and useful, similar tools have been used in systems for decades. FreeBSD’s jails in one of those tools which build upon even older chroot(2) To put it shortly, with these tools, you can make a safe environment separated from the rest of the system.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/389/feedback/Chris%20-%20USB%20BSD%20variant" target="_blank" rel="nofollow noopener"&gt;Chris - USB BSD variant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/389/feedback/Jacob%20-%20host%20wifi%20through%20a%20jail" target="_blank" rel="nofollow noopener"&gt;Jacob - host wifi through a jail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/389/feedback/Jordan%20-%20new%20too%20vs%20updating%20existing%20tool" target="_blank" rel="nofollow noopener"&gt;Jordan - new tool vs updating existing tool&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords> freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, Plan 9, swap, exploring, exploration, pkg, mirror, bastille, poudriere, vnet, jail, tools </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>A week with Plan 9, Exploring Swap on FreeBSD, how to create a FreeBSD pkg mirror using bastille and poudriere, How to set up FreeBSD 12 VNET jail with ZFS, Creating Comfy FreeBSD Jails Using Standard 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://thedorkweb.substack.com/p/a-week-with-plan-9" target="_blank" rel="nofollow noopener">A Week With Plan 9</a></h3>

<blockquote>
<p>I spent the first week of 2021 learning an OS called Plan 9 from Bell Labs. This is a fringe Operating System, long abandoned by it’s original authors. It's also responsible for a great deal of inspiration elsewhere. If you’ve used the Go language, /proc, UTF-8 or Docker, you’ve used Plan 9-designed features. This issue dives into Operating System internals and some moderately hard computer science topics. If that sort of thing isn’t your bag you might want to skip ahead. Normal service will resume shortly.</p>

<hr>

<h3><a href="https://klarasystems.com/articles/exploring-swap-on-freebsd/" target="_blank" rel="nofollow noopener">Exploring Swap on FreeBSD</a></h3>

<p>On modern Unix-like systems such as FreeBSD, “swapping” refers to the activity of paging out the contents of memory to a disk and then paging it back in on demand. The page-out activity occurs in response to a lack of free memory in the system: the kernel tries to identify pages of memory that probably will not be accessed in the near future, and copies their contents to a disk for safekeeping until they are needed again. When an application attempts to access memory that has been swapped out, it blocks while the kernel fetches that saved memory from the swap disk, and then resumes execution as if nothing had happened.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://hackacad.net/post/2021-01-13-build-a-freebsd-pkg-mirror-with-bastille-poudriere/" target="_blank" rel="nofollow noopener">How to create a FreeBSD pkg mirror using bastille and poudriere</a></h3>

<blockquote>
<p>This a short how-to for creating a FreeBSD pkg mirror using BastilleBSD and Poudriere.</p>

<hr>

<h3><a href="https://www.cyberciti.biz/faq/configuring-freebsd-12-vnet-jail-using-bridgeepair-zfs/" target="_blank" rel="nofollow noopener">How to set up FreeBSD 12 VNET jail with ZFS</a></h3>

<p>How do I install, set up and configure a FreeBSD 12 jail with VNET on ZFS? How can I create FreeBSD 12 VNET jail with /etc/jail.conf to run OpenVPN, Apache, Wireguard and other Internet-facing services securely on my BSD box?<br>
FreeBSD jail is nothing but operating system-level virtualization that allows partitioning a FreeBSD based Unix server. Such systems have their root user and access rights. Jails can use network subsystem virtualization infrastructure or share an existing network. FreeBSD jails are a powerful way to increase security. Usually, you create jail per services such as an Nginx/Apache webserver with PHP/Perl/Python app, WireGuard/OpeNVPN server, MariaDB/PgSQL server, and more. This page shows how to configure a FreeBSD Jail with vnet and ZFZ on FreeBSD 12.x.</p>

<hr>

<h3><a href="https://kettunen.io/post/standard-freebsd-jails/" target="_blank" rel="nofollow noopener">Creating Comfy FreeBSD Jails Using Standard Tools</a></h3>

<p>Docker has stormed into software development in recent years. While the concepts behind it are powerful and useful, similar tools have been used in systems for decades. FreeBSD’s jails in one of those tools which build upon even older chroot(2) To put it shortly, with these tools, you can make a safe environment separated from the rest of the system.</p>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/389/feedback/Chris%20-%20USB%20BSD%20variant" target="_blank" rel="nofollow noopener">Chris - USB BSD variant</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/389/feedback/Jacob%20-%20host%20wifi%20through%20a%20jail" target="_blank" rel="nofollow noopener">Jacob - host wifi through a jail</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/389/feedback/Jordan%20-%20new%20too%20vs%20updating%20existing%20tool" target="_blank" rel="nofollow noopener">Jordan - new tool vs updating existing tool</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>A week with Plan 9, Exploring Swap on FreeBSD, how to create a FreeBSD pkg mirror using bastille and poudriere, How to set up FreeBSD 12 VNET jail with ZFS, Creating Comfy FreeBSD Jails Using Standard 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://thedorkweb.substack.com/p/a-week-with-plan-9" target="_blank" rel="nofollow noopener">A Week With Plan 9</a></h3>

<blockquote>
<p>I spent the first week of 2021 learning an OS called Plan 9 from Bell Labs. This is a fringe Operating System, long abandoned by it’s original authors. It's also responsible for a great deal of inspiration elsewhere. If you’ve used the Go language, /proc, UTF-8 or Docker, you’ve used Plan 9-designed features. This issue dives into Operating System internals and some moderately hard computer science topics. If that sort of thing isn’t your bag you might want to skip ahead. Normal service will resume shortly.</p>

<hr>

<h3><a href="https://klarasystems.com/articles/exploring-swap-on-freebsd/" target="_blank" rel="nofollow noopener">Exploring Swap on FreeBSD</a></h3>

<p>On modern Unix-like systems such as FreeBSD, “swapping” refers to the activity of paging out the contents of memory to a disk and then paging it back in on demand. The page-out activity occurs in response to a lack of free memory in the system: the kernel tries to identify pages of memory that probably will not be accessed in the near future, and copies their contents to a disk for safekeeping until they are needed again. When an application attempts to access memory that has been swapped out, it blocks while the kernel fetches that saved memory from the swap disk, and then resumes execution as if nothing had happened.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://hackacad.net/post/2021-01-13-build-a-freebsd-pkg-mirror-with-bastille-poudriere/" target="_blank" rel="nofollow noopener">How to create a FreeBSD pkg mirror using bastille and poudriere</a></h3>

<blockquote>
<p>This a short how-to for creating a FreeBSD pkg mirror using BastilleBSD and Poudriere.</p>

<hr>

<h3><a href="https://www.cyberciti.biz/faq/configuring-freebsd-12-vnet-jail-using-bridgeepair-zfs/" target="_blank" rel="nofollow noopener">How to set up FreeBSD 12 VNET jail with ZFS</a></h3>

<p>How do I install, set up and configure a FreeBSD 12 jail with VNET on ZFS? How can I create FreeBSD 12 VNET jail with /etc/jail.conf to run OpenVPN, Apache, Wireguard and other Internet-facing services securely on my BSD box?<br>
FreeBSD jail is nothing but operating system-level virtualization that allows partitioning a FreeBSD based Unix server. Such systems have their root user and access rights. Jails can use network subsystem virtualization infrastructure or share an existing network. FreeBSD jails are a powerful way to increase security. Usually, you create jail per services such as an Nginx/Apache webserver with PHP/Perl/Python app, WireGuard/OpeNVPN server, MariaDB/PgSQL server, and more. This page shows how to configure a FreeBSD Jail with vnet and ZFZ on FreeBSD 12.x.</p>

<hr>

<h3><a href="https://kettunen.io/post/standard-freebsd-jails/" target="_blank" rel="nofollow noopener">Creating Comfy FreeBSD Jails Using Standard Tools</a></h3>

<p>Docker has stormed into software development in recent years. While the concepts behind it are powerful and useful, similar tools have been used in systems for decades. FreeBSD’s jails in one of those tools which build upon even older chroot(2) To put it shortly, with these tools, you can make a safe environment separated from the rest of the system.</p>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/389/feedback/Chris%20-%20USB%20BSD%20variant" target="_blank" rel="nofollow noopener">Chris - USB BSD variant</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/389/feedback/Jacob%20-%20host%20wifi%20through%20a%20jail" target="_blank" rel="nofollow noopener">Jacob - host wifi through a jail</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/389/feedback/Jordan%20-%20new%20too%20vs%20updating%20existing%20tool" target="_blank" rel="nofollow noopener">Jordan - new tool vs updating existing tool</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>388: Must-have security tool</title>
  <link>https://www.bsdnow.tv/388</link>
  <guid isPermaLink="false">df800c64-9bac-467b-be5c-088a4cd94882</guid>
  <pubDate>Thu, 04 Feb 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/df800c64-9bac-467b-be5c-088a4cd94882.mp3" length="51435504" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Q4 2020 Status report, a must-have security tool from OpenBSD, Bastille Port Redirection and Persistence, FreeBSD Wall Display Computer, etymology of command-line tools, GhostBSD 21.01.15 Release Notes, 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>&lt;p&gt;FreeBSD Q4 2020 Status report, a must-have security tool from OpenBSD, Bastille Port Redirection and Persistence, FreeBSD Wall Display Computer, etymology of command-line tools, GhostBSD 21.01.15 Release Notes, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2020-10-2020-12/" target="_blank" rel="nofollow noopener"&gt;FreeBSD quarterly status report for Q4 2020&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20210119113425" target="_blank" rel="nofollow noopener"&gt;Block spammers/abusive IPs with Pf-badhost in OpenBSD. A 'must have' security tool!&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Pf-badhost is a very practical, robust, stable and lightweight security script for network servers.&lt;br&gt;
It's compatible with BSD based operating systems such as {Open,Free,Net,Dragonfly}BSD and MacOS. It prevents potentially-bad IP addresses that could possibly attack your servers (and waste your bandwidth and fill your logfiles), by blocking all those IPs contacting your server, and therefore it makes your server network/resources lighter and the logs of important services running on your server become simpler, more readable and efficient.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://bastillebsd.org/blog/2021/01/13/bastille-port-redirection-and-persistence/" target="_blank" rel="nofollow noopener"&gt;Bastille Port Redirection and Persistence&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Bastille supports redirecting (rdr) ports from the host system into target containers. This port redirection is commonly used when running Internet services such as web servers, dns servers, email and many others. Any service you want to make public outside of your cluster will likely require port redirection (with some exceptions, see below).&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.tyk.nu/blog/freebsd-wall-display-computer/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Wall Display Computer&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;I've recently added a wall mounted 30" monitor for Grafana in my home. I can highly recommend doing the same, especially in a world where more work from home is becoming the norm.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://i.redd.it/sni9gaxfj2d61.png" target="_blank" rel="nofollow noopener"&gt;The etymology of command-line tools&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://ghostbsd.org/21.01.15_release_notes" target="_blank" rel="nofollow noopener"&gt;GhostBSD 21.01.15 Release Notes&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;I am happy to announce the availability of the new ISO 21.01.15. This new ISO comes with a clean-up of packages that include removing LibreOffice and Telegram from the default selection. We did this to bring the zfs RW live file systems to run without problem on 4GB of ram machine. We also removed the UFS full disk option from the installer. Users can still use custom partitions to setup UFS partition, but we discourage it. We also fixed the Next button's restriction in the custom partition related to some bug that people reported. We also fix the missing default locale setup and added the default setup for Linux Steam, not to forget this ISO includes kernel, userland and numerous application updates.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://corecursive.com/brian-kernighan-unix-bell-labs1/" target="_blank" rel="nofollow noopener"&gt;Interview with Brian Kernighan&lt;/a&gt;
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, quarterly, quarter, fourth, 2020, report, status, security, tool, bastille, port, redirection, persistence, wall display, display, etymology. command-line, ghostbsd</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Q4 2020 Status report, a must-have security tool from OpenBSD, Bastille Port Redirection and Persistence, FreeBSD Wall Display Computer, etymology of command-line tools, GhostBSD 21.01.15 Release Notes, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/news/status/report-2020-10-2020-12/" target="_blank" rel="nofollow noopener">FreeBSD quarterly status report for Q4 2020</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210119113425" target="_blank" rel="nofollow noopener">Block spammers/abusive IPs with Pf-badhost in OpenBSD. A 'must have' security tool!</a></h3>

<blockquote>
<p>Pf-badhost is a very practical, robust, stable and lightweight security script for network servers.<br>
It's compatible with BSD based operating systems such as {Open,Free,Net,Dragonfly}BSD and MacOS. It prevents potentially-bad IP addresses that could possibly attack your servers (and waste your bandwidth and fill your logfiles), by blocking all those IPs contacting your server, and therefore it makes your server network/resources lighter and the logs of important services running on your server become simpler, more readable and efficient.</p>

<hr>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://bastillebsd.org/blog/2021/01/13/bastille-port-redirection-and-persistence/" target="_blank" rel="nofollow noopener">Bastille Port Redirection and Persistence</a></h3>

<blockquote>
<p>Bastille supports redirecting (rdr) ports from the host system into target containers. This port redirection is commonly used when running Internet services such as web servers, dns servers, email and many others. Any service you want to make public outside of your cluster will likely require port redirection (with some exceptions, see below).</p>

<hr>

<h3><a href="https://blog.tyk.nu/blog/freebsd-wall-display-computer/" target="_blank" rel="nofollow noopener">FreeBSD Wall Display Computer</a></h3>

<p>I've recently added a wall mounted 30" monitor for Grafana in my home. I can highly recommend doing the same, especially in a world where more work from home is becoming the norm.</p>

<hr>

<h3><a href="https://i.redd.it/sni9gaxfj2d61.png" target="_blank" rel="nofollow noopener">The etymology of command-line tools</a></h3>

<hr>

<h3><a href="https://ghostbsd.org/21.01.15_release_notes" target="_blank" rel="nofollow noopener">GhostBSD 21.01.15 Release Notes</a></h3>

<p>I am happy to announce the availability of the new ISO 21.01.15. This new ISO comes with a clean-up of packages that include removing LibreOffice and Telegram from the default selection. We did this to bring the zfs RW live file systems to run without problem on 4GB of ram machine. We also removed the UFS full disk option from the installer. Users can still use custom partitions to setup UFS partition, but we discourage it. We also fixed the Next button's restriction in the custom partition related to some bug that people reported. We also fix the missing default locale setup and added the default setup for Linux Steam, not to forget this ISO includes kernel, userland and numerous application updates.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://corecursive.com/brian-kernighan-unix-bell-labs1/" target="_blank" rel="nofollow noopener">Interview with Brian Kernighan</a>
***
###Tarsnap</li>
<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Q4 2020 Status report, a must-have security tool from OpenBSD, Bastille Port Redirection and Persistence, FreeBSD Wall Display Computer, etymology of command-line tools, GhostBSD 21.01.15 Release Notes, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/news/status/report-2020-10-2020-12/" target="_blank" rel="nofollow noopener">FreeBSD quarterly status report for Q4 2020</a></h3>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210119113425" target="_blank" rel="nofollow noopener">Block spammers/abusive IPs with Pf-badhost in OpenBSD. A 'must have' security tool!</a></h3>

<blockquote>
<p>Pf-badhost is a very practical, robust, stable and lightweight security script for network servers.<br>
It's compatible with BSD based operating systems such as {Open,Free,Net,Dragonfly}BSD and MacOS. It prevents potentially-bad IP addresses that could possibly attack your servers (and waste your bandwidth and fill your logfiles), by blocking all those IPs contacting your server, and therefore it makes your server network/resources lighter and the logs of important services running on your server become simpler, more readable and efficient.</p>

<hr>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://bastillebsd.org/blog/2021/01/13/bastille-port-redirection-and-persistence/" target="_blank" rel="nofollow noopener">Bastille Port Redirection and Persistence</a></h3>

<blockquote>
<p>Bastille supports redirecting (rdr) ports from the host system into target containers. This port redirection is commonly used when running Internet services such as web servers, dns servers, email and many others. Any service you want to make public outside of your cluster will likely require port redirection (with some exceptions, see below).</p>

<hr>

<h3><a href="https://blog.tyk.nu/blog/freebsd-wall-display-computer/" target="_blank" rel="nofollow noopener">FreeBSD Wall Display Computer</a></h3>

<p>I've recently added a wall mounted 30" monitor for Grafana in my home. I can highly recommend doing the same, especially in a world where more work from home is becoming the norm.</p>

<hr>

<h3><a href="https://i.redd.it/sni9gaxfj2d61.png" target="_blank" rel="nofollow noopener">The etymology of command-line tools</a></h3>

<hr>

<h3><a href="https://ghostbsd.org/21.01.15_release_notes" target="_blank" rel="nofollow noopener">GhostBSD 21.01.15 Release Notes</a></h3>

<p>I am happy to announce the availability of the new ISO 21.01.15. This new ISO comes with a clean-up of packages that include removing LibreOffice and Telegram from the default selection. We did this to bring the zfs RW live file systems to run without problem on 4GB of ram machine. We also removed the UFS full disk option from the installer. Users can still use custom partitions to setup UFS partition, but we discourage it. We also fixed the Next button's restriction in the custom partition related to some bug that people reported. We also fix the missing default locale setup and added the default setup for Linux Steam, not to forget this ISO includes kernel, userland and numerous application updates.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://corecursive.com/brian-kernighan-unix-bell-labs1/" target="_blank" rel="nofollow noopener">Interview with Brian Kernighan</a>
***
###Tarsnap</li>
<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>387: OpenBSD Broadcast Studio</title>
  <link>https://www.bsdnow.tv/387</link>
  <guid isPermaLink="false">352cdfe3-fbba-46ef-8982-4b4c37d3da22</guid>
  <pubDate>Thu, 28 Jan 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/352cdfe3-fbba-46ef-8982-4b4c37d3da22.mp3" length="43820232" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>GNN's tips for surviving Cabin Fever and Coding from Home, Self-host a password manager on OpenBSD, Preliminary OpenBSD Support added to OBS, Dan's CURL tip of the Day, List of some Shell goodies for OpenBSD, and more</itunes:subtitle>
  <itunes:duration>43:11</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>&lt;p&gt;GNN's tips for surviving Cabin Fever and Coding from Home, Self-host a password manager on OpenBSD, Preliminary OpenBSD Support added to OBS, Dan's CURL tip of the Day, List of some Shell goodies for OpenBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://queue.acm.org/detail.cfm?id=3437846" target="_blank" rel="nofollow noopener"&gt;GNN's tips for surviving Cabin Fever and Coding from Home&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Forgive me if this seems off topic, but I was wondering if you had any advice for the majority of us who are now KFH (koding from home). I don't know how KV works day to day, but it seems pretty clear that the status quo has changed at most workplaces in the last several months, and it's hard to know if there are things we could be doing to stay productive while we're all at home, ordering delivery, and microwaving our mail. Does KV have any good guidance?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/20210105/self-host-a-password-manager-on-openbsd/" target="_blank" rel="nofollow noopener"&gt;Self-host a password manager on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve been using Rubywarden to store and access my passwords from OpenBSD workstations and iOS toys. But recent redondant failures from the iOS App and rubywarden not being maintained anymore led to the need for a new solution.&lt;br&gt;
I was investing on pass+pgp+git but it was quite complex.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20210113072623" target="_blank" rel="nofollow noopener"&gt;Preliminary OpenBSD Support added to OBS&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mobile.twitter.com/DLangille/status/1323963716153626626" target="_blank" rel="nofollow noopener"&gt;Dan's CURL tip of the Day&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.vincentdelft.be/post/post_20210102" target="_blank" rel="nofollow noopener"&gt;List of some Shell goodies for OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I'm sharing here some practices I'm following and some small tips/tools which facilitate my usage of OpenBSD in my day to day.&lt;br&gt;
Some are really specific to my usage, others could be re-used.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [Traditional text mode games from BSD](https://github.com/msharov/bsd-games)
• [FreeBSD Easter Eggs](https://twitter.com/freebsdfrau/status/972893680473317377)
• [A prehistory and history of Unix Slide Deck](https://docs.google.com/presentation/d/1BxnFiP_Hv3HJbbYRfSxpTym7GzqxJPQlTE6Ur5h1Al8/edit#slide=id.g951f86c343_0_95)
• [How to use Android USB Tethering to get Internet on FreeBSD](https://www.youtube.com/watch?v=cAEmtrEZlV8)
• [VPN'Othon #2 for CharmBUG](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/387/charmbug_event.md)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [Kev - Ramdisk](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/387/feedback/kev%20-%20ramdisk.md)
• [John - new to freebsd](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/387/feedback/John%20-%20new%20to%20freebsd)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, cabin fever, ACM, Association of Computing Machinery, Queue, Code Vicious, coding, self-hosting, password, password manager, open broadcaster studio, obs, broadcasting, curl, shell, tip of the day</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>GNN's tips for surviving Cabin Fever and Coding from Home, Self-host a password manager on OpenBSD, Preliminary OpenBSD Support added to OBS, Dan's CURL tip of the Day, List of some Shell goodies for OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://queue.acm.org/detail.cfm?id=3437846" target="_blank" rel="nofollow noopener">GNN's tips for surviving Cabin Fever and Coding from Home</a></h3>

<blockquote>
<p>Forgive me if this seems off topic, but I was wondering if you had any advice for the majority of us who are now KFH (koding from home). I don't know how KV works day to day, but it seems pretty clear that the status quo has changed at most workplaces in the last several months, and it's hard to know if there are things we could be doing to stay productive while we're all at home, ordering delivery, and microwaving our mail. Does KV have any good guidance?</p>
</blockquote>

<hr>

<h3><a href="https://www.tumfatig.net/20210105/self-host-a-password-manager-on-openbsd/" target="_blank" rel="nofollow noopener">Self-host a password manager on OpenBSD</a></h3>

<blockquote>
<p>I’ve been using Rubywarden to store and access my passwords from OpenBSD workstations and iOS toys. But recent redondant failures from the iOS App and rubywarden not being maintained anymore led to the need for a new solution.<br>
I was investing on pass+pgp+git but it was quite complex.</p>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210113072623" target="_blank" rel="nofollow noopener">Preliminary OpenBSD Support added to OBS</a></h3>

<hr>

<h3><a href="https://mobile.twitter.com/DLangille/status/1323963716153626626" target="_blank" rel="nofollow noopener">Dan's CURL tip of the Day</a></h3>

<hr>

<h3><a href="https://www.vincentdelft.be/post/post_20210102" target="_blank" rel="nofollow noopener">List of some Shell goodies for OpenBSD</a></h3>

<blockquote>
<p>I'm sharing here some practices I'm following and some small tips/tools which facilitate my usage of OpenBSD in my day to day.<br>
Some are really specific to my usage, others could be re-used.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [Traditional text mode games from BSD](https://github.com/msharov/bsd-games)
• [FreeBSD Easter Eggs](https://twitter.com/freebsdfrau/status/972893680473317377)
• [A prehistory and history of Unix Slide Deck](https://docs.google.com/presentation/d/1BxnFiP_Hv3HJbbYRfSxpTym7GzqxJPQlTE6Ur5h1Al8/edit#slide=id.g951f86c343_0_95)
• [How to use Android USB Tethering to get Internet on FreeBSD](https://www.youtube.com/watch?v=cAEmtrEZlV8)
• [VPN'Othon #2 for CharmBUG](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/387/charmbug_event.md)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<pre><code>• [Kev - Ramdisk](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/387/feedback/kev%20-%20ramdisk.md)
• [John - new to freebsd](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/387/feedback/John%20-%20new%20to%20freebsd)
</code></pre>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>GNN's tips for surviving Cabin Fever and Coding from Home, Self-host a password manager on OpenBSD, Preliminary OpenBSD Support added to OBS, Dan's CURL tip of the Day, List of some Shell goodies for OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://queue.acm.org/detail.cfm?id=3437846" target="_blank" rel="nofollow noopener">GNN's tips for surviving Cabin Fever and Coding from Home</a></h3>

<blockquote>
<p>Forgive me if this seems off topic, but I was wondering if you had any advice for the majority of us who are now KFH (koding from home). I don't know how KV works day to day, but it seems pretty clear that the status quo has changed at most workplaces in the last several months, and it's hard to know if there are things we could be doing to stay productive while we're all at home, ordering delivery, and microwaving our mail. Does KV have any good guidance?</p>
</blockquote>

<hr>

<h3><a href="https://www.tumfatig.net/20210105/self-host-a-password-manager-on-openbsd/" target="_blank" rel="nofollow noopener">Self-host a password manager on OpenBSD</a></h3>

<blockquote>
<p>I’ve been using Rubywarden to store and access my passwords from OpenBSD workstations and iOS toys. But recent redondant failures from the iOS App and rubywarden not being maintained anymore led to the need for a new solution.<br>
I was investing on pass+pgp+git but it was quite complex.</p>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20210113072623" target="_blank" rel="nofollow noopener">Preliminary OpenBSD Support added to OBS</a></h3>

<hr>

<h3><a href="https://mobile.twitter.com/DLangille/status/1323963716153626626" target="_blank" rel="nofollow noopener">Dan's CURL tip of the Day</a></h3>

<hr>

<h3><a href="https://www.vincentdelft.be/post/post_20210102" target="_blank" rel="nofollow noopener">List of some Shell goodies for OpenBSD</a></h3>

<blockquote>
<p>I'm sharing here some practices I'm following and some small tips/tools which facilitate my usage of OpenBSD in my day to day.<br>
Some are really specific to my usage, others could be re-used.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<pre><code>• [Traditional text mode games from BSD](https://github.com/msharov/bsd-games)
• [FreeBSD Easter Eggs](https://twitter.com/freebsdfrau/status/972893680473317377)
• [A prehistory and history of Unix Slide Deck](https://docs.google.com/presentation/d/1BxnFiP_Hv3HJbbYRfSxpTym7GzqxJPQlTE6Ur5h1Al8/edit#slide=id.g951f86c343_0_95)
• [How to use Android USB Tethering to get Internet on FreeBSD](https://www.youtube.com/watch?v=cAEmtrEZlV8)
• [VPN'Othon #2 for CharmBUG](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/387/charmbug_event.md)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<pre><code>• [Kev - Ramdisk](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/387/feedback/kev%20-%20ramdisk.md)
• [John - new to freebsd](https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/387/feedback/John%20-%20new%20to%20freebsd)
</code></pre>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>386: Aye, 386!</title>
  <link>https://www.bsdnow.tv/386</link>
  <guid isPermaLink="false">d5e42030-e15b-444f-b823-a40e34bea5a8</guid>
  <pubDate>Thu, 21 Jan 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d5e42030-e15b-444f-b823-a40e34bea5a8.mp3" length="38533008" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Routing and Firewalling VLANS with FreeBSD, FreeBSD 12 VNET jail with ZFS howto, pkgsrc-2020Q4 released, FreeBSD on Raspberry Pi 4 With 4GB of RAM, HardenedBSD December 2020 Status Report, and more</itunes:subtitle>
  <itunes:duration>37:00</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>&lt;p&gt;Routing and Firewalling VLANS with FreeBSD, FreeBSD 12 VNET jail with ZFS howto, pkgsrc-2020Q4 released, FreeBSD on Raspberry Pi 4 With 4GB of RAM, HardenedBSD December 2020 Status Report, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/routing-and-firewalling-vlans-with-freebsd/" target="_blank" rel="nofollow noopener"&gt;Routing and Firewalling VLANS with FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In this article we are going to look at and integrate two network isolation technologies, VLANs and VNET. VLANs are common place, and if you have done some network management or design then you are likely to have interacted with them. The second are FreeBSDs VNET virtual network stacks, a powerful network stack isolation technology that gives FreeBSD jails super powers.&lt;br&gt;
Ethernet VLAN (standardised by IEEE 802.1Q) are an extension to Ethernet and provide an essential method for scaling network deployments. They are used in all environments to enable reuse of common infrastructure by isolating portions of networks from each other. VLANs allow the reuse of common cables, switches and routers to carry completely different networks. It is common to have data that must be separated from different networks carried on common cables until their VLAN tags are finally stripped at a gateway switch or router.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cyberciti.biz/faq/configuring-freebsd-12-vnet-jail-using-bridgeepair-zfs/" target="_blank" rel="nofollow noopener"&gt;How to set up FreeBSD 12 VNET jail with ZFS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;How do I install, set up and configure a FreeBSD 12 jail with VNET on ZFS? How can I create FreeBSD 12 VNET jail with /etc/jail.conf to run OpenVPN, Apache, Wireguard and other Internet-facing services securely on my BSD box?&lt;br&gt;
FreeBSD jail is nothing but operating system-level virtualization that allows partitioning a FreeBSD based Unix server. Such systems have their root user and access rights. Jails can use network subsystem virtualization infrastructure or share an existing network. FreeBSD jails are a powerful way to increase security. Usually, you create jail per services such as an Nginx/Apache webserver with PHP/Perl/Python app, WireGuard/OpeNVPN server, MariaDB/PgSQL server, and more. This page shows how to configure a FreeBSD Jail with vnet and ZFS on FreeBSD 12.x.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mail-index.netbsd.org/netbsd-announce/2021/01/08/msg000322.html" target="_blank" rel="nofollow noopener"&gt;pkgsrc-2020Q4 released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The pkgsrc developers are proud to announce the 69th quarterly release&lt;br&gt;
of pkgsrc, the cross-platform packaging system.  pkgsrc is available&lt;br&gt;
with more than 24,000 packages, running on 23 separate platforms; more&lt;br&gt;
information on pkgsrc itself is available at &lt;a href="https://www.pkgsrc.org/" target="_blank" rel="nofollow noopener"&gt;https://www.pkgsrc.org/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lambdaland.org/posts/2020-12-23_freebsd_rpi4/" target="_blank" rel="nofollow noopener"&gt;FreeBSD ON A Raspberry PI 4 With 4GB of RAM&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This is the story of how I managed to get FreeBSD running on a Raspberry Pi 4 with 4GB of RAM, though I think the setup story is pretty similar for those with 2GB and 8GB.1&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2020-12-31/hardenedbsd-december-2020-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD December 2020 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Happy New Year! On this the last day of 2020, I submit December's status report.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=xMijdTWSUEE&amp;amp;feature=youtu.be" target="_blank" rel="nofollow noopener"&gt;Christmas Cards The Unix Way - with pic and  troff&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://forums.freebsd.org/threads/fast-upgrade-raspberry-pi3-from-source.78169/" target="_blank" rel="nofollow noopener"&gt;Fast RPI3 upgrade from source (cross compile)&lt;/a&gt; 
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/386/feedback/robert%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener"&gt;Robert - zfs question&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/386/feedback/neb%20-%20AMA%20episode.md" target="_blank" rel="nofollow noopener"&gt;Neb - AMA episode.md&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/386/feedback/joe%20-%20puppet.md" target="_blank" rel="nofollow noopener"&gt;Joe - puppet&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, firewall, firewalling, VLAN, VNET, jail, pkgsrc, package source, raspberry pi, RPI, status report</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Routing and Firewalling VLANS with FreeBSD, FreeBSD 12 VNET jail with ZFS howto, pkgsrc-2020Q4 released, FreeBSD on Raspberry Pi 4 With 4GB of RAM, HardenedBSD December 2020 Status Report, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/routing-and-firewalling-vlans-with-freebsd/" target="_blank" rel="nofollow noopener">Routing and Firewalling VLANS with FreeBSD</a></h3>

<blockquote>
<p>In this article we are going to look at and integrate two network isolation technologies, VLANs and VNET. VLANs are common place, and if you have done some network management or design then you are likely to have interacted with them. The second are FreeBSDs VNET virtual network stacks, a powerful network stack isolation technology that gives FreeBSD jails super powers.<br>
Ethernet VLAN (standardised by IEEE 802.1Q) are an extension to Ethernet and provide an essential method for scaling network deployments. They are used in all environments to enable reuse of common infrastructure by isolating portions of networks from each other. VLANs allow the reuse of common cables, switches and routers to carry completely different networks. It is common to have data that must be separated from different networks carried on common cables until their VLAN tags are finally stripped at a gateway switch or router.</p>
</blockquote>

<hr>

<h3><a href="https://www.cyberciti.biz/faq/configuring-freebsd-12-vnet-jail-using-bridgeepair-zfs/" target="_blank" rel="nofollow noopener">How to set up FreeBSD 12 VNET jail with ZFS</a></h3>

<blockquote>
<p>How do I install, set up and configure a FreeBSD 12 jail with VNET on ZFS? How can I create FreeBSD 12 VNET jail with /etc/jail.conf to run OpenVPN, Apache, Wireguard and other Internet-facing services securely on my BSD box?<br>
FreeBSD jail is nothing but operating system-level virtualization that allows partitioning a FreeBSD based Unix server. Such systems have their root user and access rights. Jails can use network subsystem virtualization infrastructure or share an existing network. FreeBSD jails are a powerful way to increase security. Usually, you create jail per services such as an Nginx/Apache webserver with PHP/Perl/Python app, WireGuard/OpeNVPN server, MariaDB/PgSQL server, and more. This page shows how to configure a FreeBSD Jail with vnet and ZFS on FreeBSD 12.x.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/netbsd-announce/2021/01/08/msg000322.html" target="_blank" rel="nofollow noopener">pkgsrc-2020Q4 released</a></h3>

<blockquote>
<p>The pkgsrc developers are proud to announce the 69th quarterly release<br>
of pkgsrc, the cross-platform packaging system.  pkgsrc is available<br>
with more than 24,000 packages, running on 23 separate platforms; more<br>
information on pkgsrc itself is available at <a href="https://www.pkgsrc.org/" target="_blank" rel="nofollow noopener">https://www.pkgsrc.org/</a></p>
</blockquote>

<hr>

<h3><a href="https://lambdaland.org/posts/2020-12-23_freebsd_rpi4/" target="_blank" rel="nofollow noopener">FreeBSD ON A Raspberry PI 4 With 4GB of RAM</a></h3>

<blockquote>
<p>This is the story of how I managed to get FreeBSD running on a Raspberry Pi 4 with 4GB of RAM, though I think the setup story is pretty similar for those with 2GB and 8GB.1</p>
</blockquote>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2020-12-31/hardenedbsd-december-2020-status-report" target="_blank" rel="nofollow noopener">HardenedBSD December 2020 Status Report</a></h3>

<blockquote>
<p>Happy New Year! On this the last day of 2020, I submit December's status report.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=xMijdTWSUEE&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">Christmas Cards The Unix Way - with pic and  troff</a></li>
<li><a href="https://forums.freebsd.org/threads/fast-upgrade-raspberry-pi3-from-source.78169/" target="_blank" rel="nofollow noopener">Fast RPI3 upgrade from source (cross compile)</a> 
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/386/feedback/robert%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener">Robert - zfs question</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/386/feedback/neb%20-%20AMA%20episode.md" target="_blank" rel="nofollow noopener">Neb - AMA episode.md</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/386/feedback/joe%20-%20puppet.md" target="_blank" rel="nofollow noopener">Joe - puppet</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Routing and Firewalling VLANS with FreeBSD, FreeBSD 12 VNET jail with ZFS howto, pkgsrc-2020Q4 released, FreeBSD on Raspberry Pi 4 With 4GB of RAM, HardenedBSD December 2020 Status Report, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/routing-and-firewalling-vlans-with-freebsd/" target="_blank" rel="nofollow noopener">Routing and Firewalling VLANS with FreeBSD</a></h3>

<blockquote>
<p>In this article we are going to look at and integrate two network isolation technologies, VLANs and VNET. VLANs are common place, and if you have done some network management or design then you are likely to have interacted with them. The second are FreeBSDs VNET virtual network stacks, a powerful network stack isolation technology that gives FreeBSD jails super powers.<br>
Ethernet VLAN (standardised by IEEE 802.1Q) are an extension to Ethernet and provide an essential method for scaling network deployments. They are used in all environments to enable reuse of common infrastructure by isolating portions of networks from each other. VLANs allow the reuse of common cables, switches and routers to carry completely different networks. It is common to have data that must be separated from different networks carried on common cables until their VLAN tags are finally stripped at a gateway switch or router.</p>
</blockquote>

<hr>

<h3><a href="https://www.cyberciti.biz/faq/configuring-freebsd-12-vnet-jail-using-bridgeepair-zfs/" target="_blank" rel="nofollow noopener">How to set up FreeBSD 12 VNET jail with ZFS</a></h3>

<blockquote>
<p>How do I install, set up and configure a FreeBSD 12 jail with VNET on ZFS? How can I create FreeBSD 12 VNET jail with /etc/jail.conf to run OpenVPN, Apache, Wireguard and other Internet-facing services securely on my BSD box?<br>
FreeBSD jail is nothing but operating system-level virtualization that allows partitioning a FreeBSD based Unix server. Such systems have their root user and access rights. Jails can use network subsystem virtualization infrastructure or share an existing network. FreeBSD jails are a powerful way to increase security. Usually, you create jail per services such as an Nginx/Apache webserver with PHP/Perl/Python app, WireGuard/OpeNVPN server, MariaDB/PgSQL server, and more. This page shows how to configure a FreeBSD Jail with vnet and ZFS on FreeBSD 12.x.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/netbsd-announce/2021/01/08/msg000322.html" target="_blank" rel="nofollow noopener">pkgsrc-2020Q4 released</a></h3>

<blockquote>
<p>The pkgsrc developers are proud to announce the 69th quarterly release<br>
of pkgsrc, the cross-platform packaging system.  pkgsrc is available<br>
with more than 24,000 packages, running on 23 separate platforms; more<br>
information on pkgsrc itself is available at <a href="https://www.pkgsrc.org/" target="_blank" rel="nofollow noopener">https://www.pkgsrc.org/</a></p>
</blockquote>

<hr>

<h3><a href="https://lambdaland.org/posts/2020-12-23_freebsd_rpi4/" target="_blank" rel="nofollow noopener">FreeBSD ON A Raspberry PI 4 With 4GB of RAM</a></h3>

<blockquote>
<p>This is the story of how I managed to get FreeBSD running on a Raspberry Pi 4 with 4GB of RAM, though I think the setup story is pretty similar for those with 2GB and 8GB.1</p>
</blockquote>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2020-12-31/hardenedbsd-december-2020-status-report" target="_blank" rel="nofollow noopener">HardenedBSD December 2020 Status Report</a></h3>

<blockquote>
<p>Happy New Year! On this the last day of 2020, I submit December's status report.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=xMijdTWSUEE&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">Christmas Cards The Unix Way - with pic and  troff</a></li>
<li><a href="https://forums.freebsd.org/threads/fast-upgrade-raspberry-pi3-from-source.78169/" target="_blank" rel="nofollow noopener">Fast RPI3 upgrade from source (cross compile)</a> 
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/386/feedback/robert%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener">Robert - zfs question</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/386/feedback/neb%20-%20AMA%20episode.md" target="_blank" rel="nofollow noopener">Neb - AMA episode.md</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/386/feedback/joe%20-%20puppet.md" target="_blank" rel="nofollow noopener">Joe - puppet</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>385: Wireguard VPN mesh</title>
  <link>https://www.bsdnow.tv/385</link>
  <guid isPermaLink="false">ec8dd4e8-e1f9-41bd-822b-d1a68799470c</guid>
  <pubDate>Thu, 14 Jan 2021 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ec8dd4e8-e1f9-41bd-822b-d1a68799470c.mp3" length="31123128" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Description: History of FreeBSD: Early Days of FreeBSD, mesh VPN using OpenBSD and WireGuard, FreeBSD Foundation Sponsors LLDB Improvements, Host your Cryptpad web office suite with OpenBSD, and more.</itunes:subtitle>
  <itunes:duration>34:28</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>&lt;p&gt;Description: History of FreeBSD: Early Days of FreeBSD, mesh VPN using OpenBSD and WireGuard, FreeBSD Foundation Sponsors LLDB Improvements, Host your Cryptpad web office suite with OpenBSD, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/history-of-freebsd-part-3-early-days-of-freebsd/?utm_source=bsdnow" target="_blank" rel="nofollow noopener"&gt;History of FreeBSD - Part 3: Early Days of FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In this third part of our series on the history of FreeBSD, we start tracing the early days of FreeBSD and the events that would eventually shape the project and the future of open source software. &lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/20201202/a-mesh-vpn-using-openbsd-and-wireguard/?utm_source=bsdnow" target="_blank" rel="nofollow noopener"&gt;A mesh VPN using OpenBSD and WireGuard&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;WireGuard is a new coming to OpenBSD 6.8 and it looks like a simple and efficient way to connect computers.&lt;br&gt;
I own a few VPS (hello Vultr, hello OpenBSD.amsterdam) that tend to be connected through filtered public services and/or SSH tunnels. And that’s neither efficient nor easy to manage. Here comes the wg(4) era where all those peers will communicate with a bit more privacy and ease of management.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://freebsdfoundation.org/blog/guest-blog-foundation-sponsors-freebsd-lldb-improvements/?utm_source=bsdnow" target="_blank" rel="nofollow noopener"&gt;Foundation Sponsors FreeBSD LLDB Improvements&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;With FreeBSD Foundation grant, Moritz Systems improved LLDB support for FreeBSD&lt;br&gt;
The LLDB project builds on libraries provided by LLVM and Clang to provide a great modern debugger. It uses the Clang ASTs and the expression parser, LLVM JIT, LLVM disassembler, etc so that it provides an experience that “just works”. It is also blazing fast and more permissively licensed than GDB, the GNU Debugger.&lt;br&gt;
LLDB is the default debugger in Xcode on macOS and supports debugging C, Objective-C, and C++ on the desktop and iOS devices and the simulator.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2020-12-14-cryptpad-openbsd.html" target="_blank" rel="nofollow noopener"&gt;Host your Cryptpad web office suite with OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In this article I will explain how to deploy your own Cryptpad instance with OpenBSD. Cryptpad is a web office suite featuring easy real time collaboration on documents. Cryptpad is written in JavaScript and the daemon acts as a web server.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://opnsense.org/opnsense-20-7-7-released/?utm_source=bsdnow" target="_blank" rel="nofollow noopener"&gt;OPNsense 20.7.7 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://klarasystems.com/learning/webinars/webinar-introducing-openzfs-2-0/?utm_source=bsdnow" target="_blank" rel="nofollow noopener"&gt;Introducing OpenZFS 2.0 Webinar - Jan 20th @ noon Eastern  / 17:00 UTC. &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/BSD/comments/kk3c6y/merry_xmas/" target="_blank" rel="nofollow noopener"&gt;BSD In Die Hard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://papers.freebsd.org/2019/bsdcan/dengg-managing_jails_with_ansible/" target="_blank" rel="nofollow noopener"&gt;Managing jails with Ansible: a showcase for building a container infrastructure on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd-hardware.info" target="_blank" rel="nofollow noopener"&gt;BSD Hardware&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/wine.html" target="_blank" rel="nofollow noopener"&gt;New WINE chapter in FreeBSD handbook&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/385/feedback/scott-%20zfs%20question" target="_blank" rel="nofollow noopener"&gt;scott- zfs question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/385/feedback/Bruce%20-%20copy%20paste%20on%20esxi" target="_blank" rel="nofollow noopener"&gt;Bruce - copy paste on esxi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/385/feedback/Julian%20-%20an%20apology%20for%20Allan" target="_blank" rel="nofollow noopener"&gt;Julian - an apology for Allan&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, history, mesh, vpn, wireguard, lldb, foundation, sponsor, sponsoring, development, debugger, llvm, cryptpad, web office, office suite, web, wine</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Description: History of FreeBSD: Early Days of FreeBSD, mesh VPN using OpenBSD and WireGuard, FreeBSD Foundation Sponsors LLDB Improvements, Host your Cryptpad web office suite with OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/history-of-freebsd-part-3-early-days-of-freebsd/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">History of FreeBSD - Part 3: Early Days of FreeBSD</a></h3>

<blockquote>
<p>In this third part of our series on the history of FreeBSD, we start tracing the early days of FreeBSD and the events that would eventually shape the project and the future of open source software. </p>

<hr>
</blockquote>

<h3><a href="https://www.tumfatig.net/20201202/a-mesh-vpn-using-openbsd-and-wireguard/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">A mesh VPN using OpenBSD and WireGuard</a></h3>

<blockquote>
<p>WireGuard is a new coming to OpenBSD 6.8 and it looks like a simple and efficient way to connect computers.<br>
I own a few VPS (hello Vultr, hello OpenBSD.amsterdam) that tend to be connected through filtered public services and/or SSH tunnels. And that’s neither efficient nor easy to manage. Here comes the wg(4) era where all those peers will communicate with a bit more privacy and ease of management.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://freebsdfoundation.org/blog/guest-blog-foundation-sponsors-freebsd-lldb-improvements/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">Foundation Sponsors FreeBSD LLDB Improvements</a></h3>

<blockquote>
<p>With FreeBSD Foundation grant, Moritz Systems improved LLDB support for FreeBSD<br>
The LLDB project builds on libraries provided by LLVM and Clang to provide a great modern debugger. It uses the Clang ASTs and the expression parser, LLVM JIT, LLVM disassembler, etc so that it provides an experience that “just works”. It is also blazing fast and more permissively licensed than GDB, the GNU Debugger.<br>
LLDB is the default debugger in Xcode on macOS and supports debugging C, Objective-C, and C++ on the desktop and iOS devices and the simulator.</p>

<hr>
</blockquote>

<h3><a href="https://dataswamp.org/%7Esolene/2020-12-14-cryptpad-openbsd.html" target="_blank" rel="nofollow noopener">Host your Cryptpad web office suite with OpenBSD</a></h3>

<blockquote>
<p>In this article I will explain how to deploy your own Cryptpad instance with OpenBSD. Cryptpad is a web office suite featuring easy real time collaboration on documents. Cryptpad is written in JavaScript and the daemon acts as a web server.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://opnsense.org/opnsense-20-7-7-released/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">OPNsense 20.7.7 Released</a></li>
<li><a href="https://klarasystems.com/learning/webinars/webinar-introducing-openzfs-2-0/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">Introducing OpenZFS 2.0 Webinar - Jan 20th @ noon Eastern  / 17:00 UTC. </a></li>
<li><a href="https://www.reddit.com/r/BSD/comments/kk3c6y/merry_xmas/" target="_blank" rel="nofollow noopener">BSD In Die Hard</a></li>
<li><a href="https://papers.freebsd.org/2019/bsdcan/dengg-managing_jails_with_ansible/" target="_blank" rel="nofollow noopener">Managing jails with Ansible: a showcase for building a container infrastructure on FreeBSD</a></li>
<li><a href="https://bsd-hardware.info" target="_blank" rel="nofollow noopener">BSD Hardware</a></li>
<li><a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/wine.html" target="_blank" rel="nofollow noopener">New WINE chapter in FreeBSD handbook</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/385/feedback/scott-%20zfs%20question" target="_blank" rel="nofollow noopener">scott- zfs question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/385/feedback/Bruce%20-%20copy%20paste%20on%20esxi" target="_blank" rel="nofollow noopener">Bruce - copy paste on esxi</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/385/feedback/Julian%20-%20an%20apology%20for%20Allan" target="_blank" rel="nofollow noopener">Julian - an apology for Allan</a></p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Description: History of FreeBSD: Early Days of FreeBSD, mesh VPN using OpenBSD and WireGuard, FreeBSD Foundation Sponsors LLDB Improvements, Host your Cryptpad web office suite with OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/history-of-freebsd-part-3-early-days-of-freebsd/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">History of FreeBSD - Part 3: Early Days of FreeBSD</a></h3>

<blockquote>
<p>In this third part of our series on the history of FreeBSD, we start tracing the early days of FreeBSD and the events that would eventually shape the project and the future of open source software. </p>

<hr>
</blockquote>

<h3><a href="https://www.tumfatig.net/20201202/a-mesh-vpn-using-openbsd-and-wireguard/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">A mesh VPN using OpenBSD and WireGuard</a></h3>

<blockquote>
<p>WireGuard is a new coming to OpenBSD 6.8 and it looks like a simple and efficient way to connect computers.<br>
I own a few VPS (hello Vultr, hello OpenBSD.amsterdam) that tend to be connected through filtered public services and/or SSH tunnels. And that’s neither efficient nor easy to manage. Here comes the wg(4) era where all those peers will communicate with a bit more privacy and ease of management.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://freebsdfoundation.org/blog/guest-blog-foundation-sponsors-freebsd-lldb-improvements/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">Foundation Sponsors FreeBSD LLDB Improvements</a></h3>

<blockquote>
<p>With FreeBSD Foundation grant, Moritz Systems improved LLDB support for FreeBSD<br>
The LLDB project builds on libraries provided by LLVM and Clang to provide a great modern debugger. It uses the Clang ASTs and the expression parser, LLVM JIT, LLVM disassembler, etc so that it provides an experience that “just works”. It is also blazing fast and more permissively licensed than GDB, the GNU Debugger.<br>
LLDB is the default debugger in Xcode on macOS and supports debugging C, Objective-C, and C++ on the desktop and iOS devices and the simulator.</p>

<hr>
</blockquote>

<h3><a href="https://dataswamp.org/%7Esolene/2020-12-14-cryptpad-openbsd.html" target="_blank" rel="nofollow noopener">Host your Cryptpad web office suite with OpenBSD</a></h3>

<blockquote>
<p>In this article I will explain how to deploy your own Cryptpad instance with OpenBSD. Cryptpad is a web office suite featuring easy real time collaboration on documents. Cryptpad is written in JavaScript and the daemon acts as a web server.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://opnsense.org/opnsense-20-7-7-released/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">OPNsense 20.7.7 Released</a></li>
<li><a href="https://klarasystems.com/learning/webinars/webinar-introducing-openzfs-2-0/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">Introducing OpenZFS 2.0 Webinar - Jan 20th @ noon Eastern  / 17:00 UTC. </a></li>
<li><a href="https://www.reddit.com/r/BSD/comments/kk3c6y/merry_xmas/" target="_blank" rel="nofollow noopener">BSD In Die Hard</a></li>
<li><a href="https://papers.freebsd.org/2019/bsdcan/dengg-managing_jails_with_ansible/" target="_blank" rel="nofollow noopener">Managing jails with Ansible: a showcase for building a container infrastructure on FreeBSD</a></li>
<li><a href="https://bsd-hardware.info" target="_blank" rel="nofollow noopener">BSD Hardware</a></li>
<li><a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/wine.html" target="_blank" rel="nofollow noopener">New WINE chapter in FreeBSD handbook</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/385/feedback/scott-%20zfs%20question" target="_blank" rel="nofollow noopener">scott- zfs question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/385/feedback/Bruce%20-%20copy%20paste%20on%20esxi" target="_blank" rel="nofollow noopener">Bruce - copy paste on esxi</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/385/feedback/Julian%20-%20an%20apology%20for%20Allan" target="_blank" rel="nofollow noopener">Julian - an apology for Allan</a></p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>384: In memoriam</title>
  <link>https://www.bsdnow.tv/384</link>
  <guid isPermaLink="false">d48d2da1-bf8e-4f78-bfa3-48eaf73fe14a</guid>
  <pubDate>Thu, 07 Jan 2021 03:45:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d48d2da1-bf8e-4f78-bfa3-48eaf73fe14a.mp3" length="32114304" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Allen K. Briggs Memorial Scholarship, Toward an automated tracking of OpenBSD ports contributions, Trying OpenZFS 2 on FreeBSD 12.2-RELEASE, OpenBSD on TECLAST F7 Plus, Multi-volume support in HAMMER2, and more. </itunes:subtitle>
  <itunes:duration>35:00</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>&lt;p&gt;Allen K. Briggs Memorial Scholarship, Toward an automated tracking of OpenBSD ports contributions, Trying OpenZFS 2 on FreeBSD 12.2-RELEASE, OpenBSD on TECLAST F7 Plus, Multi-volume support in HAMMER2, and more. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/allen_k_briggs_memorial_scholarship" target="_blank" rel="nofollow noopener"&gt;Allen K. Briggs Memorial Scholarship&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Allen Briggs was one of the earliest members of the NetBSD community, pursuing his interest in macBSD, and moving to become a NetBSD developer when the two projects merged. Allen was known for his quiet and relaxed manner, and always brought a keen wisdom with him; allied with his acute technical expertise, he was one of the most valued members of the NetBSD community.&lt;br&gt;
The Allen K. Briggs Memorial Scholarship is an endowment to provide scholarships in perpetuity for summer programs at the North Carolina School of Science &amp;amp; Math, which Allen considered to be a place that fundamentally shaped him as a person. We would love to invite Allen's friends and colleagues from the BSD community to donate to this cause so that we can provide more scholarships to students with financial need each year. We are approximately halfway to our goal of $50K with aspirations to exceed that target and fund additional scholarships.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2020-11-15-openbsd-ports-ci.html" target="_blank" rel="nofollow noopener"&gt;Toward an automated tracking of OpenBSD ports contributions&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A first step for the CI service would be to create a database of diffs sent to ports. This would allow people to track what has been sent and not yet committed and what the state of the contribution is (build/don’t build, apply/don’t apply).&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/trying-openzfs-on-freebsd-12-release/?utm_source=bsdnow" target="_blank" rel="nofollow noopener"&gt;Trying OpenZFS 2 on FreeBSD 12.2-RELEASE&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenZFS 2 is a huge achievement, and makes me bullish about the long term prospects for the world’s most trustworthy and nicest to use storage system. You can even use try it today on FreeBSD 12.2-RELEASE, though I recommend tracking -CURRENT for these sorts of features.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/20201215/openbsd-on-teclast-f7-plus/?utm_source=bsdnow" target="_blank" rel="nofollow noopener"&gt;OpenBSD on TECLAST F7 Plus&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I got myself a TECLAST F7 Plus laptop. It comes preinstalled with Windows 10 but I planned to use it as my daily driver. So I installed OpenBSD 6.8 on it.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2020/12/28/25287.html" target="_blank" rel="nofollow noopener"&gt;Multi-volume support in HAMMER2&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2020-December/770072.html" target="_blank" rel="nofollow noopener"&gt;commit&lt;/a&gt;
&amp;gt; This commit adds initial multi-volumes support for HAMMER2. Maximum supported volumes is 64. The feature and implementation is similar to multi-volumes support in HAMMER1.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base/head/README?view=markup&amp;amp;pathrev=368820" target="_blank" rel="nofollow noopener"&gt;FreeBSD Last SVN Commit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cgit.freebsd.org/src/commit/?id=5ef5f51d2bef80b0ede9b10ad5b0e9440b60518c" target="_blank" rel="nofollow noopener"&gt;FreeBSD First git Commit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://klarasystems.com/learning/webinars/webinar-introducing-openzfs-2-0/?utm_source=bsdnow" target="_blank" rel="nofollow noopener"&gt;Introducing OpenZFS 2.0 Webinar - Jan 20th @ noon Eastern  / 17:00 UTC. &lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/jay%20-%20feedback%20for%20ian" target="_blank" rel="nofollow noopener"&gt;jay - feedback for ian&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/Iebluefire%20-%20concerns%20about%20freebsd" target="_blank" rel="nofollow noopener"&gt;Iebluefire - concerns about freebsd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/mike%20-%20zfs%20cluster%20aware" target="_blank" rel="nofollow noopener"&gt;mike - zfs cluster aware&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, Allen Briggs, scholarship, memorial, automated, tracking, ports, contributions, openzfs 2, teclast, f7 plus, multi-volume, hammer2, filesystem</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Allen K. Briggs Memorial Scholarship, Toward an automated tracking of OpenBSD ports contributions, Trying OpenZFS 2 on FreeBSD 12.2-RELEASE, OpenBSD on TECLAST F7 Plus, Multi-volume support in HAMMER2, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/allen_k_briggs_memorial_scholarship" target="_blank" rel="nofollow noopener">Allen K. Briggs Memorial Scholarship</a></h3>

<blockquote>
<p>Allen Briggs was one of the earliest members of the NetBSD community, pursuing his interest in macBSD, and moving to become a NetBSD developer when the two projects merged. Allen was known for his quiet and relaxed manner, and always brought a keen wisdom with him; allied with his acute technical expertise, he was one of the most valued members of the NetBSD community.<br>
The Allen K. Briggs Memorial Scholarship is an endowment to provide scholarships in perpetuity for summer programs at the North Carolina School of Science &amp; Math, which Allen considered to be a place that fundamentally shaped him as a person. We would love to invite Allen's friends and colleagues from the BSD community to donate to this cause so that we can provide more scholarships to students with financial need each year. We are approximately halfway to our goal of $50K with aspirations to exceed that target and fund additional scholarships.</p>
</blockquote>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2020-11-15-openbsd-ports-ci.html" target="_blank" rel="nofollow noopener">Toward an automated tracking of OpenBSD ports contributions</a></h3>

<blockquote>
<p>A first step for the CI service would be to create a database of diffs sent to ports. This would allow people to track what has been sent and not yet committed and what the state of the contribution is (build/don’t build, apply/don’t apply).</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/trying-openzfs-on-freebsd-12-release/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">Trying OpenZFS 2 on FreeBSD 12.2-RELEASE</a></h3>

<blockquote>
<p>OpenZFS 2 is a huge achievement, and makes me bullish about the long term prospects for the world’s most trustworthy and nicest to use storage system. You can even use try it today on FreeBSD 12.2-RELEASE, though I recommend tracking -CURRENT for these sorts of features.</p>

<hr>
</blockquote>

<h3><a href="https://www.tumfatig.net/20201215/openbsd-on-teclast-f7-plus/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">OpenBSD on TECLAST F7 Plus</a></h3>

<blockquote>
<p>I got myself a TECLAST F7 Plus laptop. It comes preinstalled with Windows 10 but I planned to use it as my daily driver. So I installed OpenBSD 6.8 on it.</p>

<hr>
</blockquote>

<h3><a href="https://www.dragonflydigest.com/2020/12/28/25287.html" target="_blank" rel="nofollow noopener">Multi-volume support in HAMMER2</a></h3>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-December/770072.html" target="_blank" rel="nofollow noopener">commit</a>
&gt; This commit adds initial multi-volumes support for HAMMER2. Maximum supported volumes is 64. The feature and implementation is similar to multi-volumes support in HAMMER1.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://svnweb.freebsd.org/base/head/README?view=markup&amp;pathrev=368820" target="_blank" rel="nofollow noopener">FreeBSD Last SVN Commit</a></li>
<li><a href="https://cgit.freebsd.org/src/commit/?id=5ef5f51d2bef80b0ede9b10ad5b0e9440b60518c" target="_blank" rel="nofollow noopener">FreeBSD First git Commit</a></li>
<li><a href="https://klarasystems.com/learning/webinars/webinar-introducing-openzfs-2-0/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">Introducing OpenZFS 2.0 Webinar - Jan 20th @ noon Eastern  / 17:00 UTC. </a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/jay%20-%20feedback%20for%20ian" target="_blank" rel="nofollow noopener">jay - feedback for ian</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/Iebluefire%20-%20concerns%20about%20freebsd" target="_blank" rel="nofollow noopener">Iebluefire - concerns about freebsd</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/mike%20-%20zfs%20cluster%20aware" target="_blank" rel="nofollow noopener">mike - zfs cluster aware</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Allen K. Briggs Memorial Scholarship, Toward an automated tracking of OpenBSD ports contributions, Trying OpenZFS 2 on FreeBSD 12.2-RELEASE, OpenBSD on TECLAST F7 Plus, Multi-volume support in HAMMER2, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/allen_k_briggs_memorial_scholarship" target="_blank" rel="nofollow noopener">Allen K. Briggs Memorial Scholarship</a></h3>

<blockquote>
<p>Allen Briggs was one of the earliest members of the NetBSD community, pursuing his interest in macBSD, and moving to become a NetBSD developer when the two projects merged. Allen was known for his quiet and relaxed manner, and always brought a keen wisdom with him; allied with his acute technical expertise, he was one of the most valued members of the NetBSD community.<br>
The Allen K. Briggs Memorial Scholarship is an endowment to provide scholarships in perpetuity for summer programs at the North Carolina School of Science &amp; Math, which Allen considered to be a place that fundamentally shaped him as a person. We would love to invite Allen's friends and colleagues from the BSD community to donate to this cause so that we can provide more scholarships to students with financial need each year. We are approximately halfway to our goal of $50K with aspirations to exceed that target and fund additional scholarships.</p>
</blockquote>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2020-11-15-openbsd-ports-ci.html" target="_blank" rel="nofollow noopener">Toward an automated tracking of OpenBSD ports contributions</a></h3>

<blockquote>
<p>A first step for the CI service would be to create a database of diffs sent to ports. This would allow people to track what has been sent and not yet committed and what the state of the contribution is (build/don’t build, apply/don’t apply).</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/trying-openzfs-on-freebsd-12-release/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">Trying OpenZFS 2 on FreeBSD 12.2-RELEASE</a></h3>

<blockquote>
<p>OpenZFS 2 is a huge achievement, and makes me bullish about the long term prospects for the world’s most trustworthy and nicest to use storage system. You can even use try it today on FreeBSD 12.2-RELEASE, though I recommend tracking -CURRENT for these sorts of features.</p>

<hr>
</blockquote>

<h3><a href="https://www.tumfatig.net/20201215/openbsd-on-teclast-f7-plus/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">OpenBSD on TECLAST F7 Plus</a></h3>

<blockquote>
<p>I got myself a TECLAST F7 Plus laptop. It comes preinstalled with Windows 10 but I planned to use it as my daily driver. So I installed OpenBSD 6.8 on it.</p>

<hr>
</blockquote>

<h3><a href="https://www.dragonflydigest.com/2020/12/28/25287.html" target="_blank" rel="nofollow noopener">Multi-volume support in HAMMER2</a></h3>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-December/770072.html" target="_blank" rel="nofollow noopener">commit</a>
&gt; This commit adds initial multi-volumes support for HAMMER2. Maximum supported volumes is 64. The feature and implementation is similar to multi-volumes support in HAMMER1.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://svnweb.freebsd.org/base/head/README?view=markup&amp;pathrev=368820" target="_blank" rel="nofollow noopener">FreeBSD Last SVN Commit</a></li>
<li><a href="https://cgit.freebsd.org/src/commit/?id=5ef5f51d2bef80b0ede9b10ad5b0e9440b60518c" target="_blank" rel="nofollow noopener">FreeBSD First git Commit</a></li>
<li><a href="https://klarasystems.com/learning/webinars/webinar-introducing-openzfs-2-0/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">Introducing OpenZFS 2.0 Webinar - Jan 20th @ noon Eastern  / 17:00 UTC. </a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/jay%20-%20feedback%20for%20ian" target="_blank" rel="nofollow noopener">jay - feedback for ian</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/Iebluefire%20-%20concerns%20about%20freebsd" target="_blank" rel="nofollow noopener">Iebluefire - concerns about freebsd</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/384/feedback/mike%20-%20zfs%20cluster%20aware" target="_blank" rel="nofollow noopener">mike - zfs cluster aware</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>383: Scale the tail</title>
  <link>https://www.bsdnow.tv/383</link>
  <guid isPermaLink="false">b40c441d-f217-4771-b172-a1ce68803431</guid>
  <pubDate>Thu, 31 Dec 2020 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b40c441d-f217-4771-b172-a1ce68803431.mp3" length="43810032" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Remote Process Plugin Final Milestone achieved, Tailscale for OpenBSD, macOS to FreeBSD migration, monitoring of our OpenBSD machines, OPNsense 20.7.6 released, and more</itunes:subtitle>
  <itunes:duration>43:12</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>&lt;p&gt;FreeBSD Remote Process Plugin Final Milestone achieved, Tailscale for OpenBSD, macOS to FreeBSD migration, monitoring of our OpenBSD machines, OPNsense 20.7.6 released, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.moritz.systems/blog/freebsd-remote-plugin-final-milestone-achieved/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Remote Process Plugin: Final Milestone Achieved&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Moritz Systems have been contracted by the FreeBSD Foundation to modernize the LLDB debugger’s support for FreeBSD. We are working on a new plugin utilizing the more modern client-server layout that is already used by Darwin, Linux, NetBSD and (unofficially) OpenBSD. The new plugin is going to gradually replace the legacy one.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rakhesh.com/linux-bsd/tailscale-on-openbsd/" target="_blank" rel="nofollow noopener"&gt;Tailscale on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;I spent some time setting this up today evening and thought I’d post the steps here. Nothing fancy, just putting together various pieces actually.&lt;br&gt;
I assume you know what Tailscale is; if not check out their website. Basically it is a mesh network built on top of Wireguard. Using it you can have all your devices both within your LAN(s) and outside be on one overlay network as if they are all on the same LAN and can talk to each other. It’s my new favourite thing!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://antranigv.am/weblog_en/posts/macos_to_freebsd/" target="_blank" rel="nofollow noopener"&gt;macOS to FreeBSD migration a.k.a why I left macOS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This is not a technical documentation for how I migrated from macOS to FreeBSD. This is a high-level for why I migrated from macOS to FreeBSD.&lt;br&gt;
Not so long ago, I was using macOS as my daily driver. The main reason why I got a macbook was the underlying BSD Unix and the nice graphics it provides. Also, I have an iPhone. But they were also the same reasons for why I left macOS.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/OurOpenBSDMonitoring" target="_blank" rel="nofollow noopener"&gt;Our monitoring of our OpenBSD machines, such as it is (as of November 2020&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;We have a number of OpenBSD firewalls in service (along with some other OpenBSD servers for things like VPN endpoints), and I was recently asked how we monitor PF and overall network traffic on them. I had to disappoint the person who asked with my answer, because right now we mostly don't (although this is starting to change).&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-20-7-6-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 20.7.6 released&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;This update brings the usual mix of reliability fixes, plugin and third party software updates: FreeBSD, HardenedBSD, PHP, OpenSSH, StrongSwan, Suricata and Syslog-ng amongst others.&lt;br&gt;
Please note that Let's Encrypt users need to reissue their certificates manually after upgrading to this version to fix the embedded certificate chain issue with the current signing CA switch going on.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/383/nycbug" target="_blank" rel="nofollow noopener"&gt;NYC Bug Jan 2021 with Michael W. Lucas&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/383/feedback/cy%20-%20.so%20files" target="_blank" rel="nofollow noopener"&gt;cy - .so files&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/383/feedback/ben%20-%20mixer%20volume" target="_blank" rel="nofollow noopener"&gt;ben - mixer volume&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/383/feedback/probono%20-%20live%20cds" target="_blank" rel="nofollow noopener"&gt;probono - live cds&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords> freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, remote process, remote process plugin, tailscale, migration, monitoring, opnsense</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Remote Process Plugin Final Milestone achieved, Tailscale for OpenBSD, macOS to FreeBSD migration, monitoring of our OpenBSD machines, OPNsense 20.7.6 released, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.moritz.systems/blog/freebsd-remote-plugin-final-milestone-achieved/" target="_blank" rel="nofollow noopener">FreeBSD Remote Process Plugin: Final Milestone Achieved</a></h3>

<blockquote>
<p>Moritz Systems have been contracted by the FreeBSD Foundation to modernize the LLDB debugger’s support for FreeBSD. We are working on a new plugin utilizing the more modern client-server layout that is already used by Darwin, Linux, NetBSD and (unofficially) OpenBSD. The new plugin is going to gradually replace the legacy one.</p>

<hr>

<h3><a href="https://rakhesh.com/linux-bsd/tailscale-on-openbsd/" target="_blank" rel="nofollow noopener">Tailscale on OpenBSD</a></h3>

<p>I spent some time setting this up today evening and thought I’d post the steps here. Nothing fancy, just putting together various pieces actually.<br>
I assume you know what Tailscale is; if not check out their website. Basically it is a mesh network built on top of Wireguard. Using it you can have all your devices both within your LAN(s) and outside be on one overlay network as if they are all on the same LAN and can talk to each other. It’s my new favourite thing!</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://antranigv.am/weblog_en/posts/macos_to_freebsd/" target="_blank" rel="nofollow noopener">macOS to FreeBSD migration a.k.a why I left macOS</a></h3>

<blockquote>
<p>This is not a technical documentation for how I migrated from macOS to FreeBSD. This is a high-level for why I migrated from macOS to FreeBSD.<br>
Not so long ago, I was using macOS as my daily driver. The main reason why I got a macbook was the underlying BSD Unix and the nice graphics it provides. Also, I have an iPhone. But they were also the same reasons for why I left macOS.</p>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/OurOpenBSDMonitoring" target="_blank" rel="nofollow noopener">Our monitoring of our OpenBSD machines, such as it is (as of November 2020</a></h3>

<p>We have a number of OpenBSD firewalls in service (along with some other OpenBSD servers for things like VPN endpoints), and I was recently asked how we monitor PF and overall network traffic on them. I had to disappoint the person who asked with my answer, because right now we mostly don't (although this is starting to change).</p>

<hr>

<h3><a href="https://opnsense.org/opnsense-20-7-6-released/" target="_blank" rel="nofollow noopener">OPNsense 20.7.6 released</a></h3>

<p>This update brings the usual mix of reliability fixes, plugin and third party software updates: FreeBSD, HardenedBSD, PHP, OpenSSH, StrongSwan, Suricata and Syslog-ng amongst others.<br>
Please note that Let's Encrypt users need to reissue their certificates manually after upgrading to this version to fix the embedded certificate chain issue with the current signing CA switch going on.</p>

<hr>

<h3><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/383/nycbug" target="_blank" rel="nofollow noopener">NYC Bug Jan 2021 with Michael W. Lucas</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>
</blockquote>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/383/feedback/cy%20-%20.so%20files" target="_blank" rel="nofollow noopener">cy - .so files</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/383/feedback/ben%20-%20mixer%20volume" target="_blank" rel="nofollow noopener">ben - mixer volume</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/383/feedback/probono%20-%20live%20cds" target="_blank" rel="nofollow noopener">probono - live cds</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Remote Process Plugin Final Milestone achieved, Tailscale for OpenBSD, macOS to FreeBSD migration, monitoring of our OpenBSD machines, OPNsense 20.7.6 released, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.moritz.systems/blog/freebsd-remote-plugin-final-milestone-achieved/" target="_blank" rel="nofollow noopener">FreeBSD Remote Process Plugin: Final Milestone Achieved</a></h3>

<blockquote>
<p>Moritz Systems have been contracted by the FreeBSD Foundation to modernize the LLDB debugger’s support for FreeBSD. We are working on a new plugin utilizing the more modern client-server layout that is already used by Darwin, Linux, NetBSD and (unofficially) OpenBSD. The new plugin is going to gradually replace the legacy one.</p>

<hr>

<h3><a href="https://rakhesh.com/linux-bsd/tailscale-on-openbsd/" target="_blank" rel="nofollow noopener">Tailscale on OpenBSD</a></h3>

<p>I spent some time setting this up today evening and thought I’d post the steps here. Nothing fancy, just putting together various pieces actually.<br>
I assume you know what Tailscale is; if not check out their website. Basically it is a mesh network built on top of Wireguard. Using it you can have all your devices both within your LAN(s) and outside be on one overlay network as if they are all on the same LAN and can talk to each other. It’s my new favourite thing!</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://antranigv.am/weblog_en/posts/macos_to_freebsd/" target="_blank" rel="nofollow noopener">macOS to FreeBSD migration a.k.a why I left macOS</a></h3>

<blockquote>
<p>This is not a technical documentation for how I migrated from macOS to FreeBSD. This is a high-level for why I migrated from macOS to FreeBSD.<br>
Not so long ago, I was using macOS as my daily driver. The main reason why I got a macbook was the underlying BSD Unix and the nice graphics it provides. Also, I have an iPhone. But they were also the same reasons for why I left macOS.</p>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/OurOpenBSDMonitoring" target="_blank" rel="nofollow noopener">Our monitoring of our OpenBSD machines, such as it is (as of November 2020</a></h3>

<p>We have a number of OpenBSD firewalls in service (along with some other OpenBSD servers for things like VPN endpoints), and I was recently asked how we monitor PF and overall network traffic on them. I had to disappoint the person who asked with my answer, because right now we mostly don't (although this is starting to change).</p>

<hr>

<h3><a href="https://opnsense.org/opnsense-20-7-6-released/" target="_blank" rel="nofollow noopener">OPNsense 20.7.6 released</a></h3>

<p>This update brings the usual mix of reliability fixes, plugin and third party software updates: FreeBSD, HardenedBSD, PHP, OpenSSH, StrongSwan, Suricata and Syslog-ng amongst others.<br>
Please note that Let's Encrypt users need to reissue their certificates manually after upgrading to this version to fix the embedded certificate chain issue with the current signing CA switch going on.</p>

<hr>

<h3><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/383/nycbug" target="_blank" rel="nofollow noopener">NYC Bug Jan 2021 with Michael W. Lucas</a></h3>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>
</blockquote>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/383/feedback/cy%20-%20.so%20files" target="_blank" rel="nofollow noopener">cy - .so files</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/383/feedback/ben%20-%20mixer%20volume" target="_blank" rel="nofollow noopener">ben - mixer volume</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/383/feedback/probono%20-%20live%20cds" target="_blank" rel="nofollow noopener">probono - live cds</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>382: BSDNow Q&amp;A 2020</title>
  <link>https://www.bsdnow.tv/382</link>
  <guid isPermaLink="false">34202bd5-f96c-4d8a-9e18-5a8eb3c26e56</guid>
  <pubDate>Thu, 24 Dec 2020 06:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/34202bd5-f96c-4d8a-9e18-5a8eb3c26e56.mp3" length="63242832" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We asked for it, you answered our call. This episode features you interviewing us with questions that you sent in. JT, Allan, and Benedict answer everything that you ever wanted to know in this week’s special episode of BSDNow.</itunes:subtitle>
  <itunes:duration>1:06:51</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>&lt;p&gt;We asked for it, you answered our call. This episode features you interviewing us with questions that you sent in. JT, Allan, and Benedict answer everything that you ever wanted to know in this week’s special episode of BSDNow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Interview - Allan Jude - [&lt;a href="mailto:Allan.jude@gmail.com" target="_blank" rel="nofollow noopener"&gt;Allan.jude@gmail.com&lt;/a&gt;](&lt;a href="mailto:Allan.jude@gmail.com" target="_blank" rel="nofollow noopener"&gt;Allan.jude@gmail.com&lt;/a&gt;) / &lt;a href="https://twitter.com/allanjude" target="_blank" rel="nofollow noopener"&gt;@allanjude&lt;/a&gt;&lt;/h2&gt;

&lt;h2&gt;Interview - Benedict Reuschling - &lt;a href="mailto:bcr@freebsd.org" target="_blank" rel="nofollow noopener"&gt;bcr@freebsd.org&lt;/a&gt; / &lt;a href="https://twitter.com/bsdbcr" target="_blank" rel="nofollow noopener"&gt;@bsdbcr&lt;/a&gt;&lt;/h2&gt;

&lt;h2&gt;Interview - JT Pennington - &lt;a href="mailto:jt@obs-sec.com" target="_blank" rel="nofollow noopener"&gt;jt@obs-sec.com&lt;/a&gt; / &lt;a href="https://twitter.com/q5sys" target="_blank" rel="nofollow noopener"&gt;@q5sys&lt;/a&gt;&lt;/h2&gt;

&lt;h3&gt;AMA questions&lt;/h3&gt;

&lt;p&gt;Benedict:  You work at a university right?  Were you already into tech before you started working there?  What do you do there?&lt;br&gt;
Yes, I do work at the University of Applied Sciences, Darmstadt, Germany. I’m a lab engineer there (without a lab, but with a big data cluster). I teach in the winter semester an undergraduate, elective course called “Unix for Developers”. Yes, I was already in tech by that time. Did some previous work at companies before (selling hardware at the call-in hotline and later in the store) and during my CS studies.&lt;br&gt;
Allan:  What’s the next big FreeBSD Project you plan on doing?&lt;/p&gt;

&lt;p&gt;JT:  How did you get involved in BSD?  Weren't you a Linux guy?&lt;/p&gt;

&lt;p&gt;All: Is there any way you can create an entire episode of BSDnow on hardware that runs OpenBSD and FreeBSD?  We see you audacity, etc on a mac.&lt;br&gt;
Benedict: Not sure about OpenBSD (don’t use it), but FreeBSD should be doable for my part. If we switch from Skype to a different video chat tool, the rest is already there. Production side may be more difficult, but not impossible.&lt;/p&gt;

&lt;p&gt;All: if you could finish up one project right now... what would it be?&lt;br&gt;
Benedict: Updated ZFS chapter in the FreeBSD handbook.&lt;/p&gt;

&lt;p&gt;All: How did all of you guys meet?&lt;/p&gt;

&lt;p&gt;All: My question is, do you guys use FreeBSD as your main &lt;em&gt;desktop&lt;/em&gt; OS?  If not, what do you use?&lt;br&gt;
Benedict: No, but Mac OS is close enough. Doing a lot of SSHing into FreeBSD from there.&lt;br&gt;
All: Can you all give us the best shot of outside of their windows?&lt;br&gt;
JT’s answer: &lt;a href="https://photos.smugmug.com/photos/i-2LSbspL/0/69437dbb/5K/i-2LSbspL-5K.jpg" target="_blank" rel="nofollow noopener"&gt;https://photos.smugmug.com/photos/i-2LSbspL/0/69437dbb/5K/i-2LSbspL-5K.jpg&lt;/a&gt;&lt;br&gt;
    Allan: &lt;a href="https://photos.app.goo.gl/UnKXnKMt6cn8FDhNA" target="_blank" rel="nofollow noopener"&gt;https://photos.app.goo.gl/UnKXnKMt6cn8FDhNA&lt;/a&gt;&lt;br&gt;
    Benedict: No, it’s dark outside anyway. ;-)&lt;/p&gt;

&lt;p&gt;All: How old were you when you got your first computer and what was that computer?&lt;br&gt;
Allan: 12 or 13, a 486DX2/66hz with an insane 32mb of RAM, 400 and 500 MB SCSI HDDs, 14400 baud model, and a 1.7x CD rom drive&lt;br&gt;
Benedict: Around 13 or so. 386DX2, 4 MB RAM, IDE disk drive (no idea how big, but it wasn’t much), 3.5” floppy, DOS, and a lot of games.&lt;br&gt;
JT: Technically the first was a Atari 1200XL with a 6502 CPU running at 1.79 MHz 64KB RAM.  It had it's own OS and you could load programs off of either cartridges, floppy disks, or cassette tapes. First PC Clone was a Packard Bell with a 386 and 1mb ram which later was upgraded to 4mb and a Dual speed CD-ROM.  My dad got me a Compaq 286 laptop... this one (show)... a year or so later because he got tired of fighting me for the computer.&lt;/p&gt;

&lt;p&gt;All: Can we have a peek at your bookcase and what books are there?&lt;br&gt;
Allan: No picture handy, but my shelf is pretty small, mostly a collection of autographed FreeBSD books. I have D&amp;amp;I with all 3 autographs (took some travel to acquire), and a copy of my first book (FreeBSD Mastery: ZFS) autographed by Jeff Bonwick and Matt Ahrens, the creators of ZFS, plus a bunch of other big names in ZFS like George Wilson.&lt;br&gt;
JT’s answer: So... my library is packed away... but here’s about half of it... the rest is still in storage. &lt;a href="https://photos.smugmug.com/photos/i-SBG2KDv/0/0b9856b8/4K/i-SBG2KDv-4K.jpg" target="_blank" rel="nofollow noopener"&gt;https://photos.smugmug.com/photos/i-SBG2KDv/0/0b9856b8/4K/i-SBG2KDv-4K.jpg&lt;/a&gt;&lt;br&gt;
Software Collection: &lt;a href="https://photos.smugmug.com/photos/i-HfTVPN9/0/ad610dd4/O/i-HfTVPN9.jpg" target="_blank" rel="nofollow noopener"&gt;https://photos.smugmug.com/photos/i-HfTVPN9/0/ad610dd4/O/i-HfTVPN9.jpg&lt;/a&gt;&lt;br&gt;
Benedict: A mix of FreeBSD books (by MWL), the graveyard book, 4 hour work week, the once and future king (took me a long time to finish that one), Total Immersion swimming (still learning to swim) and some books in german language, fiction and tech. Groff lives in there while the pandemic lasts.&lt;/p&gt;

&lt;p&gt;All: What desktop/Window Manager/shell do each of you primarily use?&lt;br&gt;
Benedict: Mainly Mac OS, when on FreeBSD it’s i3. Zsh with zsh-autosuggestions currently.&lt;br&gt;
JT: Lumina/zsh&lt;br&gt;
Allan: Lumina and tcsh, want to learn zsh but never gotten time to change&lt;/p&gt;

&lt;p&gt;All: What spoken languages do you speak?&lt;br&gt;
    Benedict: German and English (obviously), learning a bit of Spanish via Duolingo at the moment&lt;br&gt;
    JT: English, Bad English, and some French.&lt;br&gt;
All: Do you have Non-Computer hobbies if so what are those?&lt;br&gt;
    Benedict: Tai Chi Chuan (Yang Style)&lt;br&gt;
JT: I'd say photography, but that's a job for me.  I have a lot of varied interests, Krav Maga, working on my VW Corrado, working on the old Victorian house I bought, and camping/backpacking. Ive done the northern half of the AT (Appalachian Trail, I want to finish it up and then do the PCT and CDT. (Pacific Crest Trail and Continental Divide Trail).&lt;/p&gt;

&lt;p&gt;All: When COVID passes, when are either of you are coming to BSD pizza night in Portland, OR, USA so I can buy you a beer/wine/whisky or pizza/coffee/tea (or six)&lt;/p&gt;

&lt;h3&gt;Rapid Fire:&lt;/h3&gt;

&lt;p&gt;All: What was the first car you ever owned?&lt;/p&gt;

&lt;p&gt;All: Do you own a vehicle and if so what is the make/model?&lt;/p&gt;

&lt;p&gt;All: Favorite Star franchise? Star Wars, Star Trek, Stargate, Battlestar, etc.&lt;/p&gt;

&lt;p&gt;JT:  Will you ever host any more BSDNow episodes?&lt;/p&gt;

&lt;p&gt;All: Favorite superhero? Marvel and/or DC.&lt;/p&gt;

&lt;p&gt;All: Favorite game(s) of all time?&lt;/p&gt;

&lt;p&gt;All: Pants or no pants on virtual meetings/presentations?&lt;/p&gt;

&lt;p&gt;All: Do you or have you used alternative operating systems that are not "main stream or is considered retro" if so what are those?&lt;/p&gt;

&lt;p&gt;All: Who has more animals at home?&lt;/p&gt;

&lt;p&gt;Allan: Does Allan have any batteries for his tetris cubes? Can we see that thing light up?&lt;/p&gt;

&lt;p&gt;Allan and Benedict:  Are you guys going to go on JT's new show?&lt;/p&gt;

&lt;p&gt;If you’re wondering what show this is, here are the two shows Im a host of:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.opensourcevoices.org" target="_blank" rel="nofollow noopener"&gt;https://www.opensourcevoices.org&lt;/a&gt; &amp;amp; &lt;a href="https://www.theopiniondominion.org" target="_blank" rel="nofollow noopener"&gt;https://www.theopiniondominion.org&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Allan and Benedict: Have Allan or Benedict lost anything on the way to and from a conference?&lt;/p&gt;

&lt;p&gt;Benedict: Is Benedict going to do his NOEL blocks again?&lt;/p&gt;

&lt;p&gt;Benedict: Does Benedict make his bed every Wednesday morning?  It always looks great!&lt;br&gt;
Not just Wednesdays, but pretty much every day. Here, watch this: &lt;a href="https://www.youtube.com/watch?v=GKZRFDCbGTA" target="_blank" rel="nofollow noopener"&gt;https://www.youtube.com/watch?v=GKZRFDCbGTA&lt;/a&gt; Nuff said. ;-)&lt;br&gt;
JT: Are you batman because the episodes are always awesome sir so thank you&lt;br&gt;
JT’s answer: Can you ever admit to being batman?  If I were batman wouldn't I have to deny it?&lt;/p&gt;

&lt;p&gt;All: What's your Daily Driver Hardware?&lt;/p&gt;

&lt;p&gt;All: Who has more servers or VMs at home?&lt;br&gt;
Benedict: Allan, easily&lt;br&gt;
JT: Allan definitely beats me with VMs, but I think I might give him a run on servers.  4x 4u HP DL580s, one HP DL980, three HP C3000 8 bay bladecenters, three HP C7000 16 bay Bladecenters, 2x Sun 280R, bunch of Dell and IBM 1Us… but all my stuff is old.  Allan has all the new and shiny stuff.&lt;br&gt;
The Pile in the Kitchen: &lt;a href="https://photos.smugmug.com/photos/i-HBScrpk/0/4b058cc5/X2/i-HBScrpk-X2.jpg" target="_blank" rel="nofollow noopener"&gt;https://photos.smugmug.com/photos/i-HBScrpk/0/4b058cc5/X2/i-HBScrpk-X2.jpg&lt;/a&gt;&lt;br&gt;
The other pile: &lt;a href="https://photos.smugmug.com/photos/i-wNxFszV/0/e7a4b2d6/X2/i-wNxFszV-X2.jpg" target="_blank" rel="nofollow noopener"&gt;https://photos.smugmug.com/photos/i-wNxFszV/0/e7a4b2d6/X2/i-wNxFszV-X2.jpg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All: What book(s) are you currently reading?&lt;br&gt;
Benedict: Antifragile by Nassim Taleb&lt;br&gt;
JT: Douglas Hofstader - Gödel, Escher, Bach: An Eternal Golden Braid. Douglas Rushkoff - program or be programmed. Also a 4 part book series on the American civil war written in the 1880s, by people in the civil war.&lt;/p&gt;

&lt;p&gt;All: Favorite mechanical keyboard switch? Cherry MX, Kalih, Gateron, etc.&lt;br&gt;
Benedict: Cherry MX brown currently&lt;br&gt;
    Allan: Cherry MX Blue (Coolermaster Master Keys Pro-L)&lt;br&gt;
    JT: I prefer scissor switches, so I use a Logitech K740.&lt;/p&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We asked for it, you answered our call. This episode features you interviewing us with questions that you sent in. JT, Allan, and Benedict answer everything that you ever wanted to know in this week’s special episode of BSDNow.</p>

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

<h2>Interview - Allan Jude - [<a href="mailto:Allan.jude@gmail.com" target="_blank" rel="nofollow noopener">Allan.jude@gmail.com</a>](<a href="mailto:Allan.jude@gmail.com" target="_blank" rel="nofollow noopener">Allan.jude@gmail.com</a>) / <a href="https://twitter.com/allanjude" target="_blank" rel="nofollow noopener">@allanjude</a></h2>

<h2>Interview - Benedict Reuschling - <a href="mailto:bcr@freebsd.org" target="_blank" rel="nofollow noopener">bcr@freebsd.org</a> / <a href="https://twitter.com/bsdbcr" target="_blank" rel="nofollow noopener">@bsdbcr</a></h2>

<h2>Interview - JT Pennington - <a href="mailto:jt@obs-sec.com" target="_blank" rel="nofollow noopener">jt@obs-sec.com</a> / <a href="https://twitter.com/q5sys" target="_blank" rel="nofollow noopener">@q5sys</a></h2>

<h3>AMA questions</h3>

<p>Benedict:  You work at a university right?  Were you already into tech before you started working there?  What do you do there?<br>
Yes, I do work at the University of Applied Sciences, Darmstadt, Germany. I’m a lab engineer there (without a lab, but with a big data cluster). I teach in the winter semester an undergraduate, elective course called “Unix for Developers”. Yes, I was already in tech by that time. Did some previous work at companies before (selling hardware at the call-in hotline and later in the store) and during my CS studies.<br>
Allan:  What’s the next big FreeBSD Project you plan on doing?</p>

<p>JT:  How did you get involved in BSD?  Weren't you a Linux guy?</p>

<p>All: Is there any way you can create an entire episode of BSDnow on hardware that runs OpenBSD and FreeBSD?  We see you audacity, etc on a mac.<br>
Benedict: Not sure about OpenBSD (don’t use it), but FreeBSD should be doable for my part. If we switch from Skype to a different video chat tool, the rest is already there. Production side may be more difficult, but not impossible.</p>

<p>All: if you could finish up one project right now... what would it be?<br>
Benedict: Updated ZFS chapter in the FreeBSD handbook.</p>

<p>All: How did all of you guys meet?</p>

<p>All: My question is, do you guys use FreeBSD as your main <em>desktop</em> OS?  If not, what do you use?<br>
Benedict: No, but Mac OS is close enough. Doing a lot of SSHing into FreeBSD from there.<br>
All: Can you all give us the best shot of outside of their windows?<br>
JT’s answer: <a href="https://photos.smugmug.com/photos/i-2LSbspL/0/69437dbb/5K/i-2LSbspL-5K.jpg" target="_blank" rel="nofollow noopener">https://photos.smugmug.com/photos/i-2LSbspL/0/69437dbb/5K/i-2LSbspL-5K.jpg</a><br>
    Allan: <a href="https://photos.app.goo.gl/UnKXnKMt6cn8FDhNA" target="_blank" rel="nofollow noopener">https://photos.app.goo.gl/UnKXnKMt6cn8FDhNA</a><br>
    Benedict: No, it’s dark outside anyway. ;-)</p>

<p>All: How old were you when you got your first computer and what was that computer?<br>
Allan: 12 or 13, a 486DX2/66hz with an insane 32mb of RAM, 400 and 500 MB SCSI HDDs, 14400 baud model, and a 1.7x CD rom drive<br>
Benedict: Around 13 or so. 386DX2, 4 MB RAM, IDE disk drive (no idea how big, but it wasn’t much), 3.5” floppy, DOS, and a lot of games.<br>
JT: Technically the first was a Atari 1200XL with a 6502 CPU running at 1.79 MHz 64KB RAM.  It had it's own OS and you could load programs off of either cartridges, floppy disks, or cassette tapes. First PC Clone was a Packard Bell with a 386 and 1mb ram which later was upgraded to 4mb and a Dual speed CD-ROM.  My dad got me a Compaq 286 laptop... this one (show)... a year or so later because he got tired of fighting me for the computer.</p>

<p>All: Can we have a peek at your bookcase and what books are there?<br>
Allan: No picture handy, but my shelf is pretty small, mostly a collection of autographed FreeBSD books. I have D&amp;I with all 3 autographs (took some travel to acquire), and a copy of my first book (FreeBSD Mastery: ZFS) autographed by Jeff Bonwick and Matt Ahrens, the creators of ZFS, plus a bunch of other big names in ZFS like George Wilson.<br>
JT’s answer: So... my library is packed away... but here’s about half of it... the rest is still in storage. <a href="https://photos.smugmug.com/photos/i-SBG2KDv/0/0b9856b8/4K/i-SBG2KDv-4K.jpg" target="_blank" rel="nofollow noopener">https://photos.smugmug.com/photos/i-SBG2KDv/0/0b9856b8/4K/i-SBG2KDv-4K.jpg</a><br>
Software Collection: <a href="https://photos.smugmug.com/photos/i-HfTVPN9/0/ad610dd4/O/i-HfTVPN9.jpg" target="_blank" rel="nofollow noopener">https://photos.smugmug.com/photos/i-HfTVPN9/0/ad610dd4/O/i-HfTVPN9.jpg</a><br>
Benedict: A mix of FreeBSD books (by MWL), the graveyard book, 4 hour work week, the once and future king (took me a long time to finish that one), Total Immersion swimming (still learning to swim) and some books in german language, fiction and tech. Groff lives in there while the pandemic lasts.</p>

<p>All: What desktop/Window Manager/shell do each of you primarily use?<br>
Benedict: Mainly Mac OS, when on FreeBSD it’s i3. Zsh with zsh-autosuggestions currently.<br>
JT: Lumina/zsh<br>
Allan: Lumina and tcsh, want to learn zsh but never gotten time to change</p>

<p>All: What spoken languages do you speak?<br>
    Benedict: German and English (obviously), learning a bit of Spanish via Duolingo at the moment<br>
    JT: English, Bad English, and some French.<br>
All: Do you have Non-Computer hobbies if so what are those?<br>
    Benedict: Tai Chi Chuan (Yang Style)<br>
JT: I'd say photography, but that's a job for me.  I have a lot of varied interests, Krav Maga, working on my VW Corrado, working on the old Victorian house I bought, and camping/backpacking. Ive done the northern half of the AT (Appalachian Trail, I want to finish it up and then do the PCT and CDT. (Pacific Crest Trail and Continental Divide Trail).</p>

<p>All: When COVID passes, when are either of you are coming to BSD pizza night in Portland, OR, USA so I can buy you a beer/wine/whisky or pizza/coffee/tea (or six)</p>

<h3>Rapid Fire:</h3>

<p>All: What was the first car you ever owned?</p>

<p>All: Do you own a vehicle and if so what is the make/model?</p>

<p>All: Favorite Star franchise? Star Wars, Star Trek, Stargate, Battlestar, etc.</p>

<p>JT:  Will you ever host any more BSDNow episodes?</p>

<p>All: Favorite superhero? Marvel and/or DC.</p>

<p>All: Favorite game(s) of all time?</p>

<p>All: Pants or no pants on virtual meetings/presentations?</p>

<p>All: Do you or have you used alternative operating systems that are not "main stream or is considered retro" if so what are those?</p>

<p>All: Who has more animals at home?</p>

<p>Allan: Does Allan have any batteries for his tetris cubes? Can we see that thing light up?</p>

<p>Allan and Benedict:  Are you guys going to go on JT's new show?</p>

<p>If you’re wondering what show this is, here are the two shows Im a host of:</p>

<p><a href="https://www.opensourcevoices.org" target="_blank" rel="nofollow noopener">https://www.opensourcevoices.org</a> &amp; <a href="https://www.theopiniondominion.org" target="_blank" rel="nofollow noopener">https://www.theopiniondominion.org</a></p>

<p>Allan and Benedict: Have Allan or Benedict lost anything on the way to and from a conference?</p>

<p>Benedict: Is Benedict going to do his NOEL blocks again?</p>

<p>Benedict: Does Benedict make his bed every Wednesday morning?  It always looks great!<br>
Not just Wednesdays, but pretty much every day. Here, watch this: <a href="https://www.youtube.com/watch?v=GKZRFDCbGTA" target="_blank" rel="nofollow noopener">https://www.youtube.com/watch?v=GKZRFDCbGTA</a> Nuff said. ;-)<br>
JT: Are you batman because the episodes are always awesome sir so thank you<br>
JT’s answer: Can you ever admit to being batman?  If I were batman wouldn't I have to deny it?</p>

<p>All: What's your Daily Driver Hardware?</p>

<p>All: Who has more servers or VMs at home?<br>
Benedict: Allan, easily<br>
JT: Allan definitely beats me with VMs, but I think I might give him a run on servers.  4x 4u HP DL580s, one HP DL980, three HP C3000 8 bay bladecenters, three HP C7000 16 bay Bladecenters, 2x Sun 280R, bunch of Dell and IBM 1Us… but all my stuff is old.  Allan has all the new and shiny stuff.<br>
The Pile in the Kitchen: <a href="https://photos.smugmug.com/photos/i-HBScrpk/0/4b058cc5/X2/i-HBScrpk-X2.jpg" target="_blank" rel="nofollow noopener">https://photos.smugmug.com/photos/i-HBScrpk/0/4b058cc5/X2/i-HBScrpk-X2.jpg</a><br>
The other pile: <a href="https://photos.smugmug.com/photos/i-wNxFszV/0/e7a4b2d6/X2/i-wNxFszV-X2.jpg" target="_blank" rel="nofollow noopener">https://photos.smugmug.com/photos/i-wNxFszV/0/e7a4b2d6/X2/i-wNxFszV-X2.jpg</a></p>

<p>All: What book(s) are you currently reading?<br>
Benedict: Antifragile by Nassim Taleb<br>
JT: Douglas Hofstader - Gödel, Escher, Bach: An Eternal Golden Braid. Douglas Rushkoff - program or be programmed. Also a 4 part book series on the American civil war written in the 1880s, by people in the civil war.</p>

<p>All: Favorite mechanical keyboard switch? Cherry MX, Kalih, Gateron, etc.<br>
Benedict: Cherry MX brown currently<br>
    Allan: Cherry MX Blue (Coolermaster Master Keys Pro-L)<br>
    JT: I prefer scissor switches, so I use a Logitech K740.</p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We asked for it, you answered our call. This episode features you interviewing us with questions that you sent in. JT, Allan, and Benedict answer everything that you ever wanted to know in this week’s special episode of BSDNow.</p>

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

<h2>Interview - Allan Jude - [<a href="mailto:Allan.jude@gmail.com" target="_blank" rel="nofollow noopener">Allan.jude@gmail.com</a>](<a href="mailto:Allan.jude@gmail.com" target="_blank" rel="nofollow noopener">Allan.jude@gmail.com</a>) / <a href="https://twitter.com/allanjude" target="_blank" rel="nofollow noopener">@allanjude</a></h2>

<h2>Interview - Benedict Reuschling - <a href="mailto:bcr@freebsd.org" target="_blank" rel="nofollow noopener">bcr@freebsd.org</a> / <a href="https://twitter.com/bsdbcr" target="_blank" rel="nofollow noopener">@bsdbcr</a></h2>

<h2>Interview - JT Pennington - <a href="mailto:jt@obs-sec.com" target="_blank" rel="nofollow noopener">jt@obs-sec.com</a> / <a href="https://twitter.com/q5sys" target="_blank" rel="nofollow noopener">@q5sys</a></h2>

<h3>AMA questions</h3>

<p>Benedict:  You work at a university right?  Were you already into tech before you started working there?  What do you do there?<br>
Yes, I do work at the University of Applied Sciences, Darmstadt, Germany. I’m a lab engineer there (without a lab, but with a big data cluster). I teach in the winter semester an undergraduate, elective course called “Unix for Developers”. Yes, I was already in tech by that time. Did some previous work at companies before (selling hardware at the call-in hotline and later in the store) and during my CS studies.<br>
Allan:  What’s the next big FreeBSD Project you plan on doing?</p>

<p>JT:  How did you get involved in BSD?  Weren't you a Linux guy?</p>

<p>All: Is there any way you can create an entire episode of BSDnow on hardware that runs OpenBSD and FreeBSD?  We see you audacity, etc on a mac.<br>
Benedict: Not sure about OpenBSD (don’t use it), but FreeBSD should be doable for my part. If we switch from Skype to a different video chat tool, the rest is already there. Production side may be more difficult, but not impossible.</p>

<p>All: if you could finish up one project right now... what would it be?<br>
Benedict: Updated ZFS chapter in the FreeBSD handbook.</p>

<p>All: How did all of you guys meet?</p>

<p>All: My question is, do you guys use FreeBSD as your main <em>desktop</em> OS?  If not, what do you use?<br>
Benedict: No, but Mac OS is close enough. Doing a lot of SSHing into FreeBSD from there.<br>
All: Can you all give us the best shot of outside of their windows?<br>
JT’s answer: <a href="https://photos.smugmug.com/photos/i-2LSbspL/0/69437dbb/5K/i-2LSbspL-5K.jpg" target="_blank" rel="nofollow noopener">https://photos.smugmug.com/photos/i-2LSbspL/0/69437dbb/5K/i-2LSbspL-5K.jpg</a><br>
    Allan: <a href="https://photos.app.goo.gl/UnKXnKMt6cn8FDhNA" target="_blank" rel="nofollow noopener">https://photos.app.goo.gl/UnKXnKMt6cn8FDhNA</a><br>
    Benedict: No, it’s dark outside anyway. ;-)</p>

<p>All: How old were you when you got your first computer and what was that computer?<br>
Allan: 12 or 13, a 486DX2/66hz with an insane 32mb of RAM, 400 and 500 MB SCSI HDDs, 14400 baud model, and a 1.7x CD rom drive<br>
Benedict: Around 13 or so. 386DX2, 4 MB RAM, IDE disk drive (no idea how big, but it wasn’t much), 3.5” floppy, DOS, and a lot of games.<br>
JT: Technically the first was a Atari 1200XL with a 6502 CPU running at 1.79 MHz 64KB RAM.  It had it's own OS and you could load programs off of either cartridges, floppy disks, or cassette tapes. First PC Clone was a Packard Bell with a 386 and 1mb ram which later was upgraded to 4mb and a Dual speed CD-ROM.  My dad got me a Compaq 286 laptop... this one (show)... a year or so later because he got tired of fighting me for the computer.</p>

<p>All: Can we have a peek at your bookcase and what books are there?<br>
Allan: No picture handy, but my shelf is pretty small, mostly a collection of autographed FreeBSD books. I have D&amp;I with all 3 autographs (took some travel to acquire), and a copy of my first book (FreeBSD Mastery: ZFS) autographed by Jeff Bonwick and Matt Ahrens, the creators of ZFS, plus a bunch of other big names in ZFS like George Wilson.<br>
JT’s answer: So... my library is packed away... but here’s about half of it... the rest is still in storage. <a href="https://photos.smugmug.com/photos/i-SBG2KDv/0/0b9856b8/4K/i-SBG2KDv-4K.jpg" target="_blank" rel="nofollow noopener">https://photos.smugmug.com/photos/i-SBG2KDv/0/0b9856b8/4K/i-SBG2KDv-4K.jpg</a><br>
Software Collection: <a href="https://photos.smugmug.com/photos/i-HfTVPN9/0/ad610dd4/O/i-HfTVPN9.jpg" target="_blank" rel="nofollow noopener">https://photos.smugmug.com/photos/i-HfTVPN9/0/ad610dd4/O/i-HfTVPN9.jpg</a><br>
Benedict: A mix of FreeBSD books (by MWL), the graveyard book, 4 hour work week, the once and future king (took me a long time to finish that one), Total Immersion swimming (still learning to swim) and some books in german language, fiction and tech. Groff lives in there while the pandemic lasts.</p>

<p>All: What desktop/Window Manager/shell do each of you primarily use?<br>
Benedict: Mainly Mac OS, when on FreeBSD it’s i3. Zsh with zsh-autosuggestions currently.<br>
JT: Lumina/zsh<br>
Allan: Lumina and tcsh, want to learn zsh but never gotten time to change</p>

<p>All: What spoken languages do you speak?<br>
    Benedict: German and English (obviously), learning a bit of Spanish via Duolingo at the moment<br>
    JT: English, Bad English, and some French.<br>
All: Do you have Non-Computer hobbies if so what are those?<br>
    Benedict: Tai Chi Chuan (Yang Style)<br>
JT: I'd say photography, but that's a job for me.  I have a lot of varied interests, Krav Maga, working on my VW Corrado, working on the old Victorian house I bought, and camping/backpacking. Ive done the northern half of the AT (Appalachian Trail, I want to finish it up and then do the PCT and CDT. (Pacific Crest Trail and Continental Divide Trail).</p>

<p>All: When COVID passes, when are either of you are coming to BSD pizza night in Portland, OR, USA so I can buy you a beer/wine/whisky or pizza/coffee/tea (or six)</p>

<h3>Rapid Fire:</h3>

<p>All: What was the first car you ever owned?</p>

<p>All: Do you own a vehicle and if so what is the make/model?</p>

<p>All: Favorite Star franchise? Star Wars, Star Trek, Stargate, Battlestar, etc.</p>

<p>JT:  Will you ever host any more BSDNow episodes?</p>

<p>All: Favorite superhero? Marvel and/or DC.</p>

<p>All: Favorite game(s) of all time?</p>

<p>All: Pants or no pants on virtual meetings/presentations?</p>

<p>All: Do you or have you used alternative operating systems that are not "main stream or is considered retro" if so what are those?</p>

<p>All: Who has more animals at home?</p>

<p>Allan: Does Allan have any batteries for his tetris cubes? Can we see that thing light up?</p>

<p>Allan and Benedict:  Are you guys going to go on JT's new show?</p>

<p>If you’re wondering what show this is, here are the two shows Im a host of:</p>

<p><a href="https://www.opensourcevoices.org" target="_blank" rel="nofollow noopener">https://www.opensourcevoices.org</a> &amp; <a href="https://www.theopiniondominion.org" target="_blank" rel="nofollow noopener">https://www.theopiniondominion.org</a></p>

<p>Allan and Benedict: Have Allan or Benedict lost anything on the way to and from a conference?</p>

<p>Benedict: Is Benedict going to do his NOEL blocks again?</p>

<p>Benedict: Does Benedict make his bed every Wednesday morning?  It always looks great!<br>
Not just Wednesdays, but pretty much every day. Here, watch this: <a href="https://www.youtube.com/watch?v=GKZRFDCbGTA" target="_blank" rel="nofollow noopener">https://www.youtube.com/watch?v=GKZRFDCbGTA</a> Nuff said. ;-)<br>
JT: Are you batman because the episodes are always awesome sir so thank you<br>
JT’s answer: Can you ever admit to being batman?  If I were batman wouldn't I have to deny it?</p>

<p>All: What's your Daily Driver Hardware?</p>

<p>All: Who has more servers or VMs at home?<br>
Benedict: Allan, easily<br>
JT: Allan definitely beats me with VMs, but I think I might give him a run on servers.  4x 4u HP DL580s, one HP DL980, three HP C3000 8 bay bladecenters, three HP C7000 16 bay Bladecenters, 2x Sun 280R, bunch of Dell and IBM 1Us… but all my stuff is old.  Allan has all the new and shiny stuff.<br>
The Pile in the Kitchen: <a href="https://photos.smugmug.com/photos/i-HBScrpk/0/4b058cc5/X2/i-HBScrpk-X2.jpg" target="_blank" rel="nofollow noopener">https://photos.smugmug.com/photos/i-HBScrpk/0/4b058cc5/X2/i-HBScrpk-X2.jpg</a><br>
The other pile: <a href="https://photos.smugmug.com/photos/i-wNxFszV/0/e7a4b2d6/X2/i-wNxFszV-X2.jpg" target="_blank" rel="nofollow noopener">https://photos.smugmug.com/photos/i-wNxFszV/0/e7a4b2d6/X2/i-wNxFszV-X2.jpg</a></p>

<p>All: What book(s) are you currently reading?<br>
Benedict: Antifragile by Nassim Taleb<br>
JT: Douglas Hofstader - Gödel, Escher, Bach: An Eternal Golden Braid. Douglas Rushkoff - program or be programmed. Also a 4 part book series on the American civil war written in the 1880s, by people in the civil war.</p>

<p>All: Favorite mechanical keyboard switch? Cherry MX, Kalih, Gateron, etc.<br>
Benedict: Cherry MX brown currently<br>
    Allan: Cherry MX Blue (Coolermaster Master Keys Pro-L)<br>
    JT: I prefer scissor switches, so I use a Logitech K740.</p>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>381: Shell origins</title>
  <link>https://www.bsdnow.tv/381</link>
  <guid isPermaLink="false">51b9f9e5-6af6-41d0-9e2a-01b51b1c6399</guid>
  <pubDate>Thu, 17 Dec 2020 06:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/51b9f9e5-6af6-41d0-9e2a-01b51b1c6399.mp3" length="39764064" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The Origin of the Shell, Return to Plan 9, ArisbluBSD: Why a new BSD?, OPNsense 20.7.5 released, Midnight BSD 2.0 Release Status, HardenedBSD November 2020 Status Report, and more.</itunes:subtitle>
  <itunes:duration>41:57</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>&lt;p&gt;The Origin of the Shell, Return to Plan 9, ArisbluBSD: Why a new BSD?, OPNsense 20.7.5 released, Midnight BSD 2.0 Release Status, HardenedBSD November 2020 Status Report, and more. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://multicians.org/shell.html" target="_blank" rel="nofollow noopener"&gt;The Origin of the Shell&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;CTSS was developed during 1963 and 64. I was at MIT on the computer center staff at that time. After having written dozens of commands for CTSS, I reached the stage where I felt that commands should be usable as building blocks for writing more commands, just like subroutine libraries. Hence, I wrote "RUNCOM", a sort of shell driving the execution of command scripts, with argument substitution. The tool became instantly most popular, as it became possible to go home in the evening while leaving behind long runcoms executing overnight. It was quite neat for boring and repetitive tasks such as renaming, moving, updating, compiling, etc. whole directories of files for system and application maintenance and monitoring.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://boxbase.org/entries/2020/nov/1/return-to-plan9/" target="_blank" rel="nofollow noopener"&gt;Return to Plan 9&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Plan 9 from Bell Labs has held the same charm after my last visit that took a few days. This time I'll keep this operating system in an emulator where I can explore into it when I am distracted.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.fivnex.co/2020/11/arisblubsd-why-new-bsd.html" target="_blank" rel="nofollow noopener"&gt;Why a new BSD?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This article is to explain some decisions and plans made by the ArisbluBSD team, why we are making our own thing, and what the plan is for the OS. We mainly want to talk about five things: desktop, package management, software availability, custom software, and the future of the OS. We mostly want to explain what the goal of the OS is, and how we plan to expand in the near future. Without further ado, let's explain ArisbluBSD's plan.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-20-7-5-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 20.7.5 released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We return briefly for a small patch set and plan to pin the 20.1 upgrade path to this particular version to avoid unnecessary stepping stones. We wish you all a healthy Friday. And of course: patch responsibly!&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.justjournal.com/users/mbsd/entry/33841" target="_blank" rel="nofollow noopener"&gt;Midnight BSD 2.0 Release Status&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;We identified some issues with the 2.0 ISOs slated for release with the ZFS bootloader not working. &lt;br&gt;
Until this issue is resolved, we are unable to build release ISOs. We've left the old ones up as they work fine for anyone using UFS.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2020-11-25/hardenedbsd-november-2020-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD November 2020 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;We're getting close to the end of November. My wife and I have plans this weekend, so I thought I'd take the time to write November's status report today.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;• [rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.](https://phiresky.github.io/blog/2019/rga--ripgrep-for-zip-targz-docx-odt-epub-jpg/)
• [exa - A modern replacement for ls](https://the.exa.website/)
• [The myriad meanings of pwd in Unix systems](https://qmacro.org/2020/11/08/the-meaning-of-pwd-in-unix-systems/)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/381/feedback/Karl%20-%20camera%20help.md" target="_blank" rel="nofollow noopener"&gt;Karl - Camera Help&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/381/feedback/alejandro%20-%20domain%20registrar.md" target="_blank" rel="nofollow noopener"&gt;Alejandro - domain registrar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/381/feedback/Johnny%20-%20thoughts%20on%20372" target="_blank" rel="nofollow noopener"&gt;Johnny - thoughts on 372&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, origin, shell, plan 9, arisblubsd, opnsense 20.7.5, midnightbsd 2.0, hardenedbsd, status report, status, report</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Origin of the Shell, Return to Plan 9, ArisbluBSD: Why a new BSD?, OPNsense 20.7.5 released, Midnight BSD 2.0 Release Status, HardenedBSD November 2020 Status Report, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://multicians.org/shell.html" target="_blank" rel="nofollow noopener">The Origin of the Shell</a></h3>

<blockquote>
<p>CTSS was developed during 1963 and 64. I was at MIT on the computer center staff at that time. After having written dozens of commands for CTSS, I reached the stage where I felt that commands should be usable as building blocks for writing more commands, just like subroutine libraries. Hence, I wrote "RUNCOM", a sort of shell driving the execution of command scripts, with argument substitution. The tool became instantly most popular, as it became possible to go home in the evening while leaving behind long runcoms executing overnight. It was quite neat for boring and repetitive tasks such as renaming, moving, updating, compiling, etc. whole directories of files for system and application maintenance and monitoring.</p>

<hr>
</blockquote>

<h3><a href="https://boxbase.org/entries/2020/nov/1/return-to-plan9/" target="_blank" rel="nofollow noopener">Return to Plan 9</a></h3>

<blockquote>
<p>Plan 9 from Bell Labs has held the same charm after my last visit that took a few days. This time I'll keep this operating system in an emulator where I can explore into it when I am distracted.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://blog.fivnex.co/2020/11/arisblubsd-why-new-bsd.html" target="_blank" rel="nofollow noopener">Why a new BSD?</a></h3>

<blockquote>
<p>This article is to explain some decisions and plans made by the ArisbluBSD team, why we are making our own thing, and what the plan is for the OS. We mainly want to talk about five things: desktop, package management, software availability, custom software, and the future of the OS. We mostly want to explain what the goal of the OS is, and how we plan to expand in the near future. Without further ado, let's explain ArisbluBSD's plan.</p>

<hr>
</blockquote>

<h3><a href="https://opnsense.org/opnsense-20-7-5-released/" target="_blank" rel="nofollow noopener">OPNsense 20.7.5 released</a></h3>

<blockquote>
<p>We return briefly for a small patch set and plan to pin the 20.1 upgrade path to this particular version to avoid unnecessary stepping stones. We wish you all a healthy Friday. And of course: patch responsibly!</p>

<hr>

<h3><a href="https://www.justjournal.com/users/mbsd/entry/33841" target="_blank" rel="nofollow noopener">Midnight BSD 2.0 Release Status</a></h3>

<p>We identified some issues with the 2.0 ISOs slated for release with the ZFS bootloader not working. <br>
Until this issue is resolved, we are unable to build release ISOs. We've left the old ones up as they work fine for anyone using UFS.</p>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2020-11-25/hardenedbsd-november-2020-status-report" target="_blank" rel="nofollow noopener">HardenedBSD November 2020 Status Report</a></h3>

<p>We're getting close to the end of November. My wife and I have plans this weekend, so I thought I'd take the time to write November's status report today.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<pre><code>• [rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.](https://phiresky.github.io/blog/2019/rga--ripgrep-for-zip-targz-docx-odt-epub-jpg/)
• [exa - A modern replacement for ls](https://the.exa.website/)
• [The myriad meanings of pwd in Unix systems](https://qmacro.org/2020/11/08/the-meaning-of-pwd-in-unix-systems/)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/381/feedback/Karl%20-%20camera%20help.md" target="_blank" rel="nofollow noopener">Karl - Camera Help</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/381/feedback/alejandro%20-%20domain%20registrar.md" target="_blank" rel="nofollow noopener">Alejandro - domain registrar</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/381/feedback/Johnny%20-%20thoughts%20on%20372" target="_blank" rel="nofollow noopener">Johnny - thoughts on 372</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Origin of the Shell, Return to Plan 9, ArisbluBSD: Why a new BSD?, OPNsense 20.7.5 released, Midnight BSD 2.0 Release Status, HardenedBSD November 2020 Status Report, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://multicians.org/shell.html" target="_blank" rel="nofollow noopener">The Origin of the Shell</a></h3>

<blockquote>
<p>CTSS was developed during 1963 and 64. I was at MIT on the computer center staff at that time. After having written dozens of commands for CTSS, I reached the stage where I felt that commands should be usable as building blocks for writing more commands, just like subroutine libraries. Hence, I wrote "RUNCOM", a sort of shell driving the execution of command scripts, with argument substitution. The tool became instantly most popular, as it became possible to go home in the evening while leaving behind long runcoms executing overnight. It was quite neat for boring and repetitive tasks such as renaming, moving, updating, compiling, etc. whole directories of files for system and application maintenance and monitoring.</p>

<hr>
</blockquote>

<h3><a href="https://boxbase.org/entries/2020/nov/1/return-to-plan9/" target="_blank" rel="nofollow noopener">Return to Plan 9</a></h3>

<blockquote>
<p>Plan 9 from Bell Labs has held the same charm after my last visit that took a few days. This time I'll keep this operating system in an emulator where I can explore into it when I am distracted.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://blog.fivnex.co/2020/11/arisblubsd-why-new-bsd.html" target="_blank" rel="nofollow noopener">Why a new BSD?</a></h3>

<blockquote>
<p>This article is to explain some decisions and plans made by the ArisbluBSD team, why we are making our own thing, and what the plan is for the OS. We mainly want to talk about five things: desktop, package management, software availability, custom software, and the future of the OS. We mostly want to explain what the goal of the OS is, and how we plan to expand in the near future. Without further ado, let's explain ArisbluBSD's plan.</p>

<hr>
</blockquote>

<h3><a href="https://opnsense.org/opnsense-20-7-5-released/" target="_blank" rel="nofollow noopener">OPNsense 20.7.5 released</a></h3>

<blockquote>
<p>We return briefly for a small patch set and plan to pin the 20.1 upgrade path to this particular version to avoid unnecessary stepping stones. We wish you all a healthy Friday. And of course: patch responsibly!</p>

<hr>

<h3><a href="https://www.justjournal.com/users/mbsd/entry/33841" target="_blank" rel="nofollow noopener">Midnight BSD 2.0 Release Status</a></h3>

<p>We identified some issues with the 2.0 ISOs slated for release with the ZFS bootloader not working. <br>
Until this issue is resolved, we are unable to build release ISOs. We've left the old ones up as they work fine for anyone using UFS.</p>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2020-11-25/hardenedbsd-november-2020-status-report" target="_blank" rel="nofollow noopener">HardenedBSD November 2020 Status Report</a></h3>

<p>We're getting close to the end of November. My wife and I have plans this weekend, so I thought I'd take the time to write November's status report today.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<pre><code>• [rga: ripgrep, but also search in PDFs, E-Books, Office documents, zip, tar.gz, etc.](https://phiresky.github.io/blog/2019/rga--ripgrep-for-zip-targz-docx-odt-epub-jpg/)
• [exa - A modern replacement for ls](https://the.exa.website/)
• [The myriad meanings of pwd in Unix systems](https://qmacro.org/2020/11/08/the-meaning-of-pwd-in-unix-systems/)
</code></pre>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/381/feedback/Karl%20-%20camera%20help.md" target="_blank" rel="nofollow noopener">Karl - Camera Help</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/381/feedback/alejandro%20-%20domain%20registrar.md" target="_blank" rel="nofollow noopener">Alejandro - domain registrar</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/381/feedback/Johnny%20-%20thoughts%20on%20372" target="_blank" rel="nofollow noopener">Johnny - thoughts on 372</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>380: Early ZFS-mas</title>
  <link>https://www.bsdnow.tv/380</link>
  <guid isPermaLink="false">ee24cdc7-bb47-400d-8be0-968efefa4e15</guid>
  <pubDate>Thu, 10 Dec 2020 06:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ee24cdc7-bb47-400d-8be0-968efefa4e15.mp3" length="43761336" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We read FreeBSD’s 3rd quarter status report, OpenZFS 2.0, adding check-hash checks in UFS filesystem, OpenSSL 3.0 /dev/crypto issues on FreeBSD, and more.</itunes:subtitle>
  <itunes:duration>43:59</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>&lt;p&gt;We read FreeBSD’s 3rd quarter status report, OpenZFS 2.0, adding check-hash checks in UFS filesystem, OpenSSL 3.0 /dev/crypto issues on FreeBSD, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2020-07-2020-09.html" target="_blank" rel="nofollow noopener"&gt;3rd Quarter FreeBSD Report&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-quarterly-calls/2020/000007.html" target="_blank" rel="nofollow noopener"&gt;The call for submissions for the 4th Quarter is out&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://arstechnica.com/gadgets/2020/12/openzfs-2-0-release-unifies-linux-bsd-and-adds-tons-of-new-features/" target="_blank" rel="nofollow noopener"&gt;OpenZFS 2.0&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This Monday, ZFS on Linux lead developer Brian Behlendorf published the OpenZFS 2.0.0 release to GitHub. Along with quite a lot of new features, the announcement brings an end to the former distinction between "ZFS on Linux" and ZFS elsewhere (for example, on FreeBSD). This move has been a long time coming—the FreeBSD community laid out its side of the roadmap two years ago—but this is the release that makes it official.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://svnweb.freebsd.org/changeset/base/367034" target="_blank" rel="nofollow noopener"&gt;Revision 367034&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Various new check-hash checks have been added to the UFS filesystem&lt;br&gt;
over various major releases. Superblock check hashes were added for&lt;br&gt;
the 12 release and cylinder-group and inode check hashes will appear&lt;br&gt;
in the 13 release.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/openssl-3-written-to-break-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;OpenSSL 3.0 /dev/crypto issues on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;So, just learned that the OpenSSL devs decided to break /dev/crypto on FreeBSD.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://forums.os108.org/d/32-os108-91-xfce-amd64-released" target="_blank" rel="nofollow noopener"&gt;OS108-9.1 XFCE amd64 released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;OS108 is a fast, open and Secure Desktop Operating System built on top of NetBSD.
&amp;gt; Installing OS108 to your hard drive is done by using the sysinst utility, the process is basically the same as installing NetBSD itself.  Please refer to the NetBSD guide for installation details, &lt;a href="http://www.netbsd.org/docs/guide/en/part-install.html" target="_blank" rel="nofollow noopener"&gt;http://www.netbsd.org/docs/guide/en/part-install.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/cgAeY21gXR4" target="_blank" rel="nofollow noopener"&gt;Installation Video&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.openbgpd.org/ftp.html" target="_blank" rel="nofollow noopener"&gt;OpenBGPD 6.8p1 portable: released Nov 5th, 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kflu.github.io/2020/08/15/2020-08-15-awk-irc-bot/" target="_blank" rel="nofollow noopener"&gt;IRC Awk Bot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ZVkJZJEdZNY" target="_blank" rel="nofollow noopener"&gt;Docker on FreeBSD using bhyve and sshfs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/susam/tucl" target="_blank" rel="nofollow noopener"&gt;The UNIX Command Language (1976)&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/380/feedback/santi%20-%20openrc.md" target="_blank" rel="nofollow noopener"&gt;santi - openrc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/380/feedback/trond%20-%20python2%20and%20mailmane%20and%20sshfs" target="_blank" rel="nofollow noopener"&gt;trond - python2 and mailman&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, status, report, third quarter 2020, openzfs 2.0, check hash, ufs, openssl, os108-9.1, xfce</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We read FreeBSD’s 3rd quarter status report, OpenZFS 2.0, adding check-hash checks in UFS filesystem, OpenSSL 3.0 /dev/crypto issues on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/news/status/report-2020-07-2020-09.html" target="_blank" rel="nofollow noopener">3rd Quarter FreeBSD Report</a></h3>

<blockquote>
<p><a href="https://lists.freebsd.org/pipermail/freebsd-quarterly-calls/2020/000007.html" target="_blank" rel="nofollow noopener">The call for submissions for the 4th Quarter is out</a></p>

<hr>
</blockquote>

<h3><a href="https://arstechnica.com/gadgets/2020/12/openzfs-2-0-release-unifies-linux-bsd-and-adds-tons-of-new-features/" target="_blank" rel="nofollow noopener">OpenZFS 2.0</a></h3>

<blockquote>
<p>This Monday, ZFS on Linux lead developer Brian Behlendorf published the OpenZFS 2.0.0 release to GitHub. Along with quite a lot of new features, the announcement brings an end to the former distinction between "ZFS on Linux" and ZFS elsewhere (for example, on FreeBSD). This move has been a long time coming—the FreeBSD community laid out its side of the roadmap two years ago—but this is the release that makes it official.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://svnweb.freebsd.org/changeset/base/367034" target="_blank" rel="nofollow noopener">Revision 367034</a></h3>

<blockquote>
<p>Various new check-hash checks have been added to the UFS filesystem<br>
over various major releases. Superblock check hashes were added for<br>
the 12 release and cylinder-group and inode check hashes will appear<br>
in the 13 release.</p>

<hr>

<h3><a href="https://rubenerd.com/openssl-3-written-to-break-on-freebsd/" target="_blank" rel="nofollow noopener">OpenSSL 3.0 /dev/crypto issues on FreeBSD</a></h3>

<p>So, just learned that the OpenSSL devs decided to break /dev/crypto on FreeBSD.</p>

<hr>
</blockquote>

<h3><a href="https://forums.os108.org/d/32-os108-91-xfce-amd64-released" target="_blank" rel="nofollow noopener">OS108-9.1 XFCE amd64 released</a></h3>

<ul>
<li>OS108 is a fast, open and Secure Desktop Operating System built on top of NetBSD.
&gt; Installing OS108 to your hard drive is done by using the sysinst utility, the process is basically the same as installing NetBSD itself.  Please refer to the NetBSD guide for installation details, <a href="http://www.netbsd.org/docs/guide/en/part-install.html" target="_blank" rel="nofollow noopener">http://www.netbsd.org/docs/guide/en/part-install.html</a></li>
<li><a href="https://youtu.be/cgAeY21gXR4" target="_blank" rel="nofollow noopener">Installation Video</a>
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://www.openbgpd.org/ftp.html" target="_blank" rel="nofollow noopener">OpenBGPD 6.8p1 portable: released Nov 5th, 2020</a></li>
<li><a href="http://kflu.github.io/2020/08/15/2020-08-15-awk-irc-bot/" target="_blank" rel="nofollow noopener">IRC Awk Bot</a></li>
<li><a href="https://www.youtube.com/watch?v=ZVkJZJEdZNY" target="_blank" rel="nofollow noopener">Docker on FreeBSD using bhyve and sshfs</a></li>
<li><a href="https://github.com/susam/tucl" target="_blank" rel="nofollow noopener">The UNIX Command Language (1976)</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/380/feedback/santi%20-%20openrc.md" target="_blank" rel="nofollow noopener">santi - openrc</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/380/feedback/trond%20-%20python2%20and%20mailmane%20and%20sshfs" target="_blank" rel="nofollow noopener">trond - python2 and mailman</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We read FreeBSD’s 3rd quarter status report, OpenZFS 2.0, adding check-hash checks in UFS filesystem, OpenSSL 3.0 /dev/crypto issues on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/news/status/report-2020-07-2020-09.html" target="_blank" rel="nofollow noopener">3rd Quarter FreeBSD Report</a></h3>

<blockquote>
<p><a href="https://lists.freebsd.org/pipermail/freebsd-quarterly-calls/2020/000007.html" target="_blank" rel="nofollow noopener">The call for submissions for the 4th Quarter is out</a></p>

<hr>
</blockquote>

<h3><a href="https://arstechnica.com/gadgets/2020/12/openzfs-2-0-release-unifies-linux-bsd-and-adds-tons-of-new-features/" target="_blank" rel="nofollow noopener">OpenZFS 2.0</a></h3>

<blockquote>
<p>This Monday, ZFS on Linux lead developer Brian Behlendorf published the OpenZFS 2.0.0 release to GitHub. Along with quite a lot of new features, the announcement brings an end to the former distinction between "ZFS on Linux" and ZFS elsewhere (for example, on FreeBSD). This move has been a long time coming—the FreeBSD community laid out its side of the roadmap two years ago—but this is the release that makes it official.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://svnweb.freebsd.org/changeset/base/367034" target="_blank" rel="nofollow noopener">Revision 367034</a></h3>

<blockquote>
<p>Various new check-hash checks have been added to the UFS filesystem<br>
over various major releases. Superblock check hashes were added for<br>
the 12 release and cylinder-group and inode check hashes will appear<br>
in the 13 release.</p>

<hr>

<h3><a href="https://rubenerd.com/openssl-3-written-to-break-on-freebsd/" target="_blank" rel="nofollow noopener">OpenSSL 3.0 /dev/crypto issues on FreeBSD</a></h3>

<p>So, just learned that the OpenSSL devs decided to break /dev/crypto on FreeBSD.</p>

<hr>
</blockquote>

<h3><a href="https://forums.os108.org/d/32-os108-91-xfce-amd64-released" target="_blank" rel="nofollow noopener">OS108-9.1 XFCE amd64 released</a></h3>

<ul>
<li>OS108 is a fast, open and Secure Desktop Operating System built on top of NetBSD.
&gt; Installing OS108 to your hard drive is done by using the sysinst utility, the process is basically the same as installing NetBSD itself.  Please refer to the NetBSD guide for installation details, <a href="http://www.netbsd.org/docs/guide/en/part-install.html" target="_blank" rel="nofollow noopener">http://www.netbsd.org/docs/guide/en/part-install.html</a></li>
<li><a href="https://youtu.be/cgAeY21gXR4" target="_blank" rel="nofollow noopener">Installation Video</a>
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://www.openbgpd.org/ftp.html" target="_blank" rel="nofollow noopener">OpenBGPD 6.8p1 portable: released Nov 5th, 2020</a></li>
<li><a href="http://kflu.github.io/2020/08/15/2020-08-15-awk-irc-bot/" target="_blank" rel="nofollow noopener">IRC Awk Bot</a></li>
<li><a href="https://www.youtube.com/watch?v=ZVkJZJEdZNY" target="_blank" rel="nofollow noopener">Docker on FreeBSD using bhyve and sshfs</a></li>
<li><a href="https://github.com/susam/tucl" target="_blank" rel="nofollow noopener">The UNIX Command Language (1976)</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/380/feedback/santi%20-%20openrc.md" target="_blank" rel="nofollow noopener">santi - openrc</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/380/feedback/trond%20-%20python2%20and%20mailmane%20and%20sshfs" target="_blank" rel="nofollow noopener">trond - python2 and mailman</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>379: bhyve my guest</title>
  <link>https://www.bsdnow.tv/379</link>
  <guid isPermaLink="false">4957b8e6-e7da-4f6d-8bbb-3b52c33c959f</guid>
  <pubDate>Thu, 03 Dec 2020 06:45:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4957b8e6-e7da-4f6d-8bbb-3b52c33c959f.mp3" length="37714488" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Adventures in Freebernetes, tracing kernel functions, The better way of building FreeBSD networks, New beginnings: CDBUG virtual meetings, LibreSSL update in DragonFly, Signal-cli with scli on FreeBSD, and more.</itunes:subtitle>
  <itunes:duration>37:19</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>&lt;p&gt;Adventures in Freebernetes, tracing kernel functions, The better way of building FreeBSD networks, New beginnings: CDBUG virtual meetings, LibreSSL update in DragonFly, Signal-cli with scli on FreeBSD, and more. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://productionwithscissors.run/2020/10/29/adventures-in-freebernetes-bhyve-my-guest/" target="_blank" rel="nofollow noopener"&gt;Adventures in Freebernetes: bhyve My Guest&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Part 2 of experiments in FreeBSD and Kubernetes: Creating your first guest&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://zinascii.com/2020/fbt-args-and-stack.html?s=03" target="_blank" rel="nofollow noopener"&gt;Tracing Kernel Functions: FBT stack() and arg&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In my previous post I described how FBT intercepts function calls and vectors them into the DTrace framework. That laid the foundation for what I want to discuss in this post: the implementation of the stack() action and built-in arg variables. These features rely on the precise layout of the stack, the details of which I touched on previously. In this post I hope to illuminate those details a bit more with the help of some visuals, and then guide you through the implementation of these two DTrace features as they relate to the FBT provider.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/dummynet-the-better-way-of-building-freebsd-networks/" target="_blank" rel="nofollow noopener"&gt;Dummynet: The Better Way of Building FreeBSD Networks&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Dummynet is the FreeBSD traffic shaper, packet scheduler, and network emulator. Dummynet allows you to emulate a whole set of network environments in a straight-forward way. It has the ability to model delay, packet loss, and can act as a traffic shaper and policer. Dummynet is roughly equivalent to netem in Linux, but we have found that dummynet is easier to integrate and provides much more consistent results.  &lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://lists.nycbug.org/pipermail/cdbug-talk/2020-October/000901.html" target="_blank" rel="nofollow noopener"&gt;New beginnings: CDBUG virtual meetings&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I had overwhelmingly positive responses from the broader *BSD community about restarting CDBUG meetings as virtual, at least for now. Hopefully this works well and even when we're back to in-person meetings we can still find a way to bring in virtual attendees.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2020/11/10/25143.html" target="_blank" rel="nofollow noopener"&gt;LibreSSL update in DragonFly&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;DragonFly has a new version of libressl,  noting cause it has a newer TLS1.3 implementation – something that may be necessary for you.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://antranigv.am/weblog_en/posts/freebsd-signal-cli-scli/" target="_blank" rel="nofollow noopener"&gt;Signal-cli with scli on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;So couple of days ago I migrated from macOS on Macbook Pro to FreeBSD on ThinkPad T480s.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://anonhg.netbsd.org/pkgsrc/rev/9386adbd052e" target="_blank" rel="nofollow noopener"&gt;Firefox is not paxctl safe for NetBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://azuremarketplace.microsoft.com/en-us/marketplace/apps/thefreebsdfoundation.freebsd-12_2?tab=Overview" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.2-RELEASE on Microsoft Azure Marketplace&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/379/feedback/carlos%20-%20BSD%20Now%20around%20the%20world.md" target="_blank" rel="nofollow noopener"&gt;carlos - BSD Now around the world&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/379/feedback/paulo%20-%20freebsd%20on%20a%20Bananapi.md" target="_blank" rel="nofollow noopener"&gt;paulo - freebsd on a Bananapi&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/379/feedback/paulo%20-%20followup.md" target="_blank" rel="nofollow noopener"&gt;paulo - followup&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, quarterly reports, report, status, plan 9, cdbug, virtual meetings, libressl, signal-cli, scli </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Adventures in Freebernetes, tracing kernel functions, The better way of building FreeBSD networks, New beginnings: CDBUG virtual meetings, LibreSSL update in DragonFly, Signal-cli with scli on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://productionwithscissors.run/2020/10/29/adventures-in-freebernetes-bhyve-my-guest/" target="_blank" rel="nofollow noopener">Adventures in Freebernetes: bhyve My Guest</a></h3>

<blockquote>
<p>Part 2 of experiments in FreeBSD and Kubernetes: Creating your first guest</p>

<hr>
</blockquote>

<h3><a href="https://zinascii.com/2020/fbt-args-and-stack.html?s=03" target="_blank" rel="nofollow noopener">Tracing Kernel Functions: FBT stack() and arg</a></h3>

<blockquote>
<p>In my previous post I described how FBT intercepts function calls and vectors them into the DTrace framework. That laid the foundation for what I want to discuss in this post: the implementation of the stack() action and built-in arg variables. These features rely on the precise layout of the stack, the details of which I touched on previously. In this post I hope to illuminate those details a bit more with the help of some visuals, and then guide you through the implementation of these two DTrace features as they relate to the FBT provider.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://klarasystems.com/articles/dummynet-the-better-way-of-building-freebsd-networks/" target="_blank" rel="nofollow noopener">Dummynet: The Better Way of Building FreeBSD Networks</a></h3>

<blockquote>
<p>Dummynet is the FreeBSD traffic shaper, packet scheduler, and network emulator. Dummynet allows you to emulate a whole set of network environments in a straight-forward way. It has the ability to model delay, packet loss, and can act as a traffic shaper and policer. Dummynet is roughly equivalent to netem in Linux, but we have found that dummynet is easier to integrate and provides much more consistent results.  </p>

<hr>
</blockquote>

<h3><a href="http://lists.nycbug.org/pipermail/cdbug-talk/2020-October/000901.html" target="_blank" rel="nofollow noopener">New beginnings: CDBUG virtual meetings</a></h3>

<blockquote>
<p>I had overwhelmingly positive responses from the broader *BSD community about restarting CDBUG meetings as virtual, at least for now. Hopefully this works well and even when we're back to in-person meetings we can still find a way to bring in virtual attendees.</p>

<hr>
</blockquote>

<h3><a href="https://www.dragonflydigest.com/2020/11/10/25143.html" target="_blank" rel="nofollow noopener">LibreSSL update in DragonFly</a></h3>

<blockquote>
<p>DragonFly has a new version of libressl,  noting cause it has a newer TLS1.3 implementation – something that may be necessary for you.</p>

<hr>
</blockquote>

<h3><a href="https://antranigv.am/weblog_en/posts/freebsd-signal-cli-scli/" target="_blank" rel="nofollow noopener">Signal-cli with scli on FreeBSD</a></h3>

<blockquote>
<p>So couple of days ago I migrated from macOS on Macbook Pro to FreeBSD on ThinkPad T480s.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://anonhg.netbsd.org/pkgsrc/rev/9386adbd052e" target="_blank" rel="nofollow noopener">Firefox is not paxctl safe for NetBSD</a></li>
<li><a href="https://azuremarketplace.microsoft.com/en-us/marketplace/apps/thefreebsdfoundation.freebsd-12_2?tab=Overview" target="_blank" rel="nofollow noopener">FreeBSD 12.2-RELEASE on Microsoft Azure Marketplace</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/379/feedback/carlos%20-%20BSD%20Now%20around%20the%20world.md" target="_blank" rel="nofollow noopener">carlos - BSD Now around the world</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/379/feedback/paulo%20-%20freebsd%20on%20a%20Bananapi.md" target="_blank" rel="nofollow noopener">paulo - freebsd on a Bananapi</a>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/379/feedback/paulo%20-%20followup.md" target="_blank" rel="nofollow noopener">paulo - followup</a></li>
</ul></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Adventures in Freebernetes, tracing kernel functions, The better way of building FreeBSD networks, New beginnings: CDBUG virtual meetings, LibreSSL update in DragonFly, Signal-cli with scli on FreeBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://productionwithscissors.run/2020/10/29/adventures-in-freebernetes-bhyve-my-guest/" target="_blank" rel="nofollow noopener">Adventures in Freebernetes: bhyve My Guest</a></h3>

<blockquote>
<p>Part 2 of experiments in FreeBSD and Kubernetes: Creating your first guest</p>

<hr>
</blockquote>

<h3><a href="https://zinascii.com/2020/fbt-args-and-stack.html?s=03" target="_blank" rel="nofollow noopener">Tracing Kernel Functions: FBT stack() and arg</a></h3>

<blockquote>
<p>In my previous post I described how FBT intercepts function calls and vectors them into the DTrace framework. That laid the foundation for what I want to discuss in this post: the implementation of the stack() action and built-in arg variables. These features rely on the precise layout of the stack, the details of which I touched on previously. In this post I hope to illuminate those details a bit more with the help of some visuals, and then guide you through the implementation of these two DTrace features as they relate to the FBT provider.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://klarasystems.com/articles/dummynet-the-better-way-of-building-freebsd-networks/" target="_blank" rel="nofollow noopener">Dummynet: The Better Way of Building FreeBSD Networks</a></h3>

<blockquote>
<p>Dummynet is the FreeBSD traffic shaper, packet scheduler, and network emulator. Dummynet allows you to emulate a whole set of network environments in a straight-forward way. It has the ability to model delay, packet loss, and can act as a traffic shaper and policer. Dummynet is roughly equivalent to netem in Linux, but we have found that dummynet is easier to integrate and provides much more consistent results.  </p>

<hr>
</blockquote>

<h3><a href="http://lists.nycbug.org/pipermail/cdbug-talk/2020-October/000901.html" target="_blank" rel="nofollow noopener">New beginnings: CDBUG virtual meetings</a></h3>

<blockquote>
<p>I had overwhelmingly positive responses from the broader *BSD community about restarting CDBUG meetings as virtual, at least for now. Hopefully this works well and even when we're back to in-person meetings we can still find a way to bring in virtual attendees.</p>

<hr>
</blockquote>

<h3><a href="https://www.dragonflydigest.com/2020/11/10/25143.html" target="_blank" rel="nofollow noopener">LibreSSL update in DragonFly</a></h3>

<blockquote>
<p>DragonFly has a new version of libressl,  noting cause it has a newer TLS1.3 implementation – something that may be necessary for you.</p>

<hr>
</blockquote>

<h3><a href="https://antranigv.am/weblog_en/posts/freebsd-signal-cli-scli/" target="_blank" rel="nofollow noopener">Signal-cli with scli on FreeBSD</a></h3>

<blockquote>
<p>So couple of days ago I migrated from macOS on Macbook Pro to FreeBSD on ThinkPad T480s.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://anonhg.netbsd.org/pkgsrc/rev/9386adbd052e" target="_blank" rel="nofollow noopener">Firefox is not paxctl safe for NetBSD</a></li>
<li><a href="https://azuremarketplace.microsoft.com/en-us/marketplace/apps/thefreebsdfoundation.freebsd-12_2?tab=Overview" target="_blank" rel="nofollow noopener">FreeBSD 12.2-RELEASE on Microsoft Azure Marketplace</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/379/feedback/carlos%20-%20BSD%20Now%20around%20the%20world.md" target="_blank" rel="nofollow noopener">carlos - BSD Now around the world</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/379/feedback/paulo%20-%20freebsd%20on%20a%20Bananapi.md" target="_blank" rel="nofollow noopener">paulo - freebsd on a Bananapi</a>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/379/feedback/paulo%20-%20followup.md" target="_blank" rel="nofollow noopener">paulo - followup</a></li>
</ul></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>378: Networknomicon</title>
  <link>https://www.bsdnow.tv/378</link>
  <guid isPermaLink="false">5d96e357-c800-4037-bc9d-3251ca0b1cd0</guid>
  <pubDate>Thu, 26 Nov 2020 06:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5d96e357-c800-4037-bc9d-3251ca0b1cd0.mp3" length="55682424" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Interview with Michael W. Lucas: SNMP and TLS book, cashflow for creators, book sale and more. </itunes:subtitle>
  <itunes:duration>56:20</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>&lt;p&gt;Interview with Michael W. Lucas: SNMP and TLS book, cashflow for creators, book sale and more. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;Interview with Michael W. Lucas&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://mwl.io/nonfiction/networking#snmp" target="_blank" rel="nofollow noopener"&gt;SNMP Book&lt;/a&gt;&lt;br&gt;
&lt;a href="https://mwl.io/nonfiction/networking#networknomicon" target="_blank" rel="nofollow noopener"&gt;The Networknomicon&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.tiltedwindmillpress.com/product-category/sponsor/" target="_blank" rel="nofollow noopener"&gt;Sponsor the TLS Book&lt;/a&gt;&lt;br&gt;
&lt;a href="https://mwl.io/nonfiction/biz-craft" target="_blank" rel="nofollow noopener"&gt;Cashflow for creators&lt;/a&gt;&lt;br&gt;
&lt;a href="https://mwl.io/blog/9313" target="_blank" rel="nofollow noopener"&gt;Book sale&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Special Guest: Michael W Lucas.&lt;/p&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, release, zfs, zpool, dataset, interview, michael W. Lucas, books, tls, snmp, cashflow, creators, sale, book sale </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Interview with Michael W. Lucas: SNMP and TLS book, cashflow for creators, book sale 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3>Interview with Michael W. Lucas</h3>

<blockquote>
<p><a href="https://mwl.io/nonfiction/networking#snmp" target="_blank" rel="nofollow noopener">SNMP Book</a><br>
<a href="https://mwl.io/nonfiction/networking#networknomicon" target="_blank" rel="nofollow noopener">The Networknomicon</a><br>
<a href="https://www.tiltedwindmillpress.com/product-category/sponsor/" target="_blank" rel="nofollow noopener">Sponsor the TLS Book</a><br>
<a href="https://mwl.io/nonfiction/biz-craft" target="_blank" rel="nofollow noopener">Cashflow for creators</a><br>
<a href="https://mwl.io/blog/9313" target="_blank" rel="nofollow noopener">Book sale</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>
</blockquote>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Michael W Lucas.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Interview with Michael W. Lucas: SNMP and TLS book, cashflow for creators, book sale 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3>Interview with Michael W. Lucas</h3>

<blockquote>
<p><a href="https://mwl.io/nonfiction/networking#snmp" target="_blank" rel="nofollow noopener">SNMP Book</a><br>
<a href="https://mwl.io/nonfiction/networking#networknomicon" target="_blank" rel="nofollow noopener">The Networknomicon</a><br>
<a href="https://www.tiltedwindmillpress.com/product-category/sponsor/" target="_blank" rel="nofollow noopener">Sponsor the TLS Book</a><br>
<a href="https://mwl.io/nonfiction/biz-craft" target="_blank" rel="nofollow noopener">Cashflow for creators</a><br>
<a href="https://mwl.io/blog/9313" target="_blank" rel="nofollow noopener">Book sale</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>
</blockquote>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Michael W Lucas.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>377: Firewall ban-sharing</title>
  <link>https://www.bsdnow.tv/377</link>
  <guid isPermaLink="false">610cb191-462b-4968-a1ae-01d1aebf93ba</guid>
  <pubDate>Thu, 19 Nov 2020 06:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/610cb191-462b-4968-a1ae-01d1aebf93ba.mp3" length="46483632" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>History of FreeBD: BSDi and USL Lawsuits, Building a Website on Google Compute Engine, Firewall ban-sharing across machines, OpenVPN as default gateway on OpenBSD, Sorting out what the Single Unix Specification is, Switching from Apple to a Thinkpad for development, and more</itunes:subtitle>
  <itunes:duration>48:07</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>&lt;p&gt;History of FreeBD: BSDi and USL Lawsuits, Building a Website on Google Compute Engine, Firewall ban-sharing across machines, OpenVPN as default gateway on OpenBSD, Sorting out what the Single Unix Specification is, Switching from Apple to a Thinkpad for development, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/history-of-freebsd-part-2-bsdi-and-usl-lawsuits/" target="_blank" rel="nofollow noopener"&gt;History of FreeBSD : Part 2 : BSDi and USL Lawsuits&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In this second part of our series on the history of FreeBSD, we continue to trace the pre-history of FreeBSD and the events that would eventually shape the project and the future of open source software. &lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://cromwell-intl.com/open-source/google-freebsd-tls/" target="_blank" rel="nofollow noopener"&gt;Building a Web Site on Google Compute Engine&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Here's how I deployed a web site to the Google Cloud Platform. I used FreeBSD for good performance, stability, and minimal complexity. I set up HTTPS with free Let's Encrypt TLS certificates for both RSA and ECC. Then I adjusted the Apache configuration for a good score from the authoritative Qualys server analysis.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://chown.me/blog/acacia" target="_blank" rel="nofollow noopener"&gt;Firewall ban-sharing across machines&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As described in My infrastructure as of 2019, my machines are located in three different sites and are loosely coupled. Nonetheless, I wanted to set things up so that if an IP address is acting maliciously toward one machine, all my machines block that IP at once so the meanie won't get to try one machine after another.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2020-10-27-openbsd-openvpn.html" target="_blank" rel="nofollow noopener"&gt;OpenVPN as default gateway on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;If you plan to use an OpenVPN tunnel to reach your default gateway, which would make the tun interface in the egress group, and use tun0 in your pf.conf which is loaded before OpenVPN starts?&lt;br&gt;
Here are the few tips I use to solve the problems.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/SingleUnixSpecificationWhat" target="_blank" rel="nofollow noopener"&gt;Sorting out what the Single Unix Specification is and covers&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Sorting out what the Single Unix Specification is and covers&lt;br&gt;
October 8, 2020&lt;br&gt;
I've linked to the Single Unix Specification any number of times, for various versions of it (when I first linked to it, it was at issue 6, in 2006; it's now up to a 2018 edition). But I've never been quite clear what it covered and didn't cover, and how it related to POSIX and similar things. After yesterday's entry got me looking at the SuS site again, I decided to try to sort this out once and for all.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.cretaria.com/posts/bye-bye-apple.html" target="_blank" rel="nofollow noopener"&gt;Bye-bye, Apple&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;The days of Apple products are behind me. I had been developing on a Macbook for over twelve years, but now, I’ve switched to an ever trending setup: OpenBSD on a Thinkpad.&lt;br&gt;
The new platform is a winner. Everything is clean, quick, and configurable. When I ps uaxww, I’m not hogging ‘gigs’ of RAM just to have things up and running. There’s no black magic that derails me at every turn. In short, my sanity has been long restored.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/377/feedback/Chris%20-%20small%20projects.md" target="_blank" rel="nofollow noopener"&gt;Chris - small projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/377/feedback/Jens%20-%20ZFS%20Question.md" target="_blank" rel="nofollow noopener"&gt;Jens - ZFS Question&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ftfl.ca/blog/2016-09-17-zfs-fde-one-pool-conversion.html" target="_blank" rel="nofollow noopener"&gt;One pool to rule them all&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/377/feedback/Shroyer%20-%20Dotnet%20on%20FreeBSD%20for%20Jellyfin.md" target="_blank" rel="nofollow noopener"&gt;Shroyer - Dotnet on FreeBSD for Jellyfin&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, zfs, zpool, dataset, interview, history, BSDi, USL, google compute engine, GCE, website building, firewall, ban-sharing, openvpn, default gateway, unix specification, switching, development</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>History of FreeBD: BSDi and USL Lawsuits, Building a Website on Google Compute Engine, Firewall ban-sharing across machines, OpenVPN as default gateway on OpenBSD, Sorting out what the Single Unix Specification is, Switching from Apple to a Thinkpad for development, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/history-of-freebsd-part-2-bsdi-and-usl-lawsuits/" target="_blank" rel="nofollow noopener">History of FreeBSD : Part 2 : BSDi and USL Lawsuits</a></h3>

<blockquote>
<p>In this second part of our series on the history of FreeBSD, we continue to trace the pre-history of FreeBSD and the events that would eventually shape the project and the future of open source software. </p>

<hr>
</blockquote>

<h3><a href="https://cromwell-intl.com/open-source/google-freebsd-tls/" target="_blank" rel="nofollow noopener">Building a Web Site on Google Compute Engine</a></h3>

<blockquote>
<p>Here's how I deployed a web site to the Google Cloud Platform. I used FreeBSD for good performance, stability, and minimal complexity. I set up HTTPS with free Let's Encrypt TLS certificates for both RSA and ECC. Then I adjusted the Apache configuration for a good score from the authoritative Qualys server analysis.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://chown.me/blog/acacia" target="_blank" rel="nofollow noopener">Firewall ban-sharing across machines</a></h3>

<blockquote>
<p>As described in My infrastructure as of 2019, my machines are located in three different sites and are loosely coupled. Nonetheless, I wanted to set things up so that if an IP address is acting maliciously toward one machine, all my machines block that IP at once so the meanie won't get to try one machine after another.</p>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2020-10-27-openbsd-openvpn.html" target="_blank" rel="nofollow noopener">OpenVPN as default gateway on OpenBSD</a></h3>

<p>If you plan to use an OpenVPN tunnel to reach your default gateway, which would make the tun interface in the egress group, and use tun0 in your pf.conf which is loaded before OpenVPN starts?<br>
Here are the few tips I use to solve the problems.</p>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/SingleUnixSpecificationWhat" target="_blank" rel="nofollow noopener">Sorting out what the Single Unix Specification is and covers</a></h3>

<p>Sorting out what the Single Unix Specification is and covers<br>
October 8, 2020<br>
I've linked to the Single Unix Specification any number of times, for various versions of it (when I first linked to it, it was at issue 6, in 2006; it's now up to a 2018 edition). But I've never been quite clear what it covered and didn't cover, and how it related to POSIX and similar things. After yesterday's entry got me looking at the SuS site again, I decided to try to sort this out once and for all.</p>

<hr>

<h3><a href="http://blog.cretaria.com/posts/bye-bye-apple.html" target="_blank" rel="nofollow noopener">Bye-bye, Apple</a></h3>

<p>The days of Apple products are behind me. I had been developing on a Macbook for over twelve years, but now, I’ve switched to an ever trending setup: OpenBSD on a Thinkpad.<br>
The new platform is a winner. Everything is clean, quick, and configurable. When I ps uaxww, I’m not hogging ‘gigs’ of RAM just to have things up and running. There’s no black magic that derails me at every turn. In short, my sanity has been long restored.</p>
</blockquote>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/377/feedback/Chris%20-%20small%20projects.md" target="_blank" rel="nofollow noopener">Chris - small projects</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/377/feedback/Jens%20-%20ZFS%20Question.md" target="_blank" rel="nofollow noopener">Jens - ZFS Question</a>

<ul>
<li><a href="https://ftfl.ca/blog/2016-09-17-zfs-fde-one-pool-conversion.html" target="_blank" rel="nofollow noopener">One pool to rule them all</a></li>
</ul></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/377/feedback/Shroyer%20-%20Dotnet%20on%20FreeBSD%20for%20Jellyfin.md" target="_blank" rel="nofollow noopener">Shroyer - Dotnet on FreeBSD for Jellyfin</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>History of FreeBD: BSDi and USL Lawsuits, Building a Website on Google Compute Engine, Firewall ban-sharing across machines, OpenVPN as default gateway on OpenBSD, Sorting out what the Single Unix Specification is, Switching from Apple to a Thinkpad for development, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/history-of-freebsd-part-2-bsdi-and-usl-lawsuits/" target="_blank" rel="nofollow noopener">History of FreeBSD : Part 2 : BSDi and USL Lawsuits</a></h3>

<blockquote>
<p>In this second part of our series on the history of FreeBSD, we continue to trace the pre-history of FreeBSD and the events that would eventually shape the project and the future of open source software. </p>

<hr>
</blockquote>

<h3><a href="https://cromwell-intl.com/open-source/google-freebsd-tls/" target="_blank" rel="nofollow noopener">Building a Web Site on Google Compute Engine</a></h3>

<blockquote>
<p>Here's how I deployed a web site to the Google Cloud Platform. I used FreeBSD for good performance, stability, and minimal complexity. I set up HTTPS with free Let's Encrypt TLS certificates for both RSA and ECC. Then I adjusted the Apache configuration for a good score from the authoritative Qualys server analysis.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://chown.me/blog/acacia" target="_blank" rel="nofollow noopener">Firewall ban-sharing across machines</a></h3>

<blockquote>
<p>As described in My infrastructure as of 2019, my machines are located in three different sites and are loosely coupled. Nonetheless, I wanted to set things up so that if an IP address is acting maliciously toward one machine, all my machines block that IP at once so the meanie won't get to try one machine after another.</p>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2020-10-27-openbsd-openvpn.html" target="_blank" rel="nofollow noopener">OpenVPN as default gateway on OpenBSD</a></h3>

<p>If you plan to use an OpenVPN tunnel to reach your default gateway, which would make the tun interface in the egress group, and use tun0 in your pf.conf which is loaded before OpenVPN starts?<br>
Here are the few tips I use to solve the problems.</p>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/SingleUnixSpecificationWhat" target="_blank" rel="nofollow noopener">Sorting out what the Single Unix Specification is and covers</a></h3>

<p>Sorting out what the Single Unix Specification is and covers<br>
October 8, 2020<br>
I've linked to the Single Unix Specification any number of times, for various versions of it (when I first linked to it, it was at issue 6, in 2006; it's now up to a 2018 edition). But I've never been quite clear what it covered and didn't cover, and how it related to POSIX and similar things. After yesterday's entry got me looking at the SuS site again, I decided to try to sort this out once and for all.</p>

<hr>

<h3><a href="http://blog.cretaria.com/posts/bye-bye-apple.html" target="_blank" rel="nofollow noopener">Bye-bye, Apple</a></h3>

<p>The days of Apple products are behind me. I had been developing on a Macbook for over twelve years, but now, I’ve switched to an ever trending setup: OpenBSD on a Thinkpad.<br>
The new platform is a winner. Everything is clean, quick, and configurable. When I ps uaxww, I’m not hogging ‘gigs’ of RAM just to have things up and running. There’s no black magic that derails me at every turn. In short, my sanity has been long restored.</p>
</blockquote>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/377/feedback/Chris%20-%20small%20projects.md" target="_blank" rel="nofollow noopener">Chris - small projects</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/377/feedback/Jens%20-%20ZFS%20Question.md" target="_blank" rel="nofollow noopener">Jens - ZFS Question</a>

<ul>
<li><a href="https://ftfl.ca/blog/2016-09-17-zfs-fde-one-pool-conversion.html" target="_blank" rel="nofollow noopener">One pool to rule them all</a></li>
</ul></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/377/feedback/Shroyer%20-%20Dotnet%20on%20FreeBSD%20for%20Jellyfin.md" target="_blank" rel="nofollow noopener">Shroyer - Dotnet on FreeBSD for Jellyfin</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>376: Build stable packages</title>
  <link>https://www.bsdnow.tv/376</link>
  <guid isPermaLink="false">f32e4d71-13e3-4cfa-a98d-c3806ac0c665</guid>
  <pubDate>Thu, 12 Nov 2020 06:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f32e4d71-13e3-4cfa-a98d-c3806ac0c665.mp3" length="45514920" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 12.2 is available, ZFS Webinar, Enhancing Syzkaller support for NetBSD, how the OpenBSD -stable packages are built, OPNsense 20.7.4 released, and more</itunes:subtitle>
  <itunes:duration>46:20</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>&lt;p&gt;FreeBSD 12.2 is available, ZFS Webinar, Enhancing Syzkaller support for NetBSD, how the OpenBSD -stable packages are built, OPNsense 20.7.4 released, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/releases/12.2R/relnotes.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.2 Release&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The release notes for FreeBSD 12.2-RELEASE contain a summary of the changes made to the FreeBSD base system on the 12-STABLE development line. This document lists applicable security advisories that were issued since the last release, as well as significant changes to the FreeBSD kernel and userland. Some brief remarks on upgrading are also presented.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/learning/best-practices-for-optimizing-zfs1/" target="_blank" rel="nofollow noopener"&gt;ZFS Webinar: November 18th&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Join us on November 18th for a live discussion with Allan Jude (VP of Engineering at Klara Inc) in this webinar centred on “best practices of ZFS”&lt;br&gt;
Building Your Storage Array – Everything from picking the best hardware to RAID-Z and using mirrors.&lt;br&gt;
Keeping up with Data Growth – Expanding and growing your pool, and of course, shrinking with device evacuation.&lt;br&gt;
Datasets and Properties – Controlling settings with properties and many other tricks!&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/google_summer_of_code_20202" target="_blank" rel="nofollow noopener"&gt;Google Summer of Code 2020: [Final Report] Enhancing Syzkaller support for NetBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Sys2syz would give an extra edge to Syzkaller for NetBSD. It has a potential of efficiently automating the conversion of syscall definitions to syzkaller’s grammar. This can aid in increasing the number of syscalls covered by Syzkaller significantly with the minimum possibility of manual errors. Let’s delve into its internals.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2020-10-29-official-openbsd-stable-architecture.html" target="_blank" rel="nofollow noopener"&gt;How the OpenBSD -stable packages are built&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In this long blog post, I will write about the technical details of the OpenBSD stable packages building infrastructure. I have setup the infrastructure with the help of Theo De Raadt who provided me the hardware in summer 2019, since then, OpenBSD users can upgrade their packages using pkg_add -u for critical updates that has been backported by the contributors. Many thanks to them, without their work there would be no packages to build. Thanks to pea@ who is my backup for operating this infrastructure in case something happens to me.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-20-7-4-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 20.7.4 released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This release finally wraps up the recent Netmap kernel changes and tests.&lt;br&gt;
The Realtek vendor driver was updated as well as third party software cURL,&lt;br&gt;
libxml2, OpenSSL, PHP, Suricata, Syslog-ng and Unbound just to name a couple&lt;br&gt;
of them.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2020/11/03/25120.html" target="_blank" rel="nofollow noopener"&gt;Binutils and linker changes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/NetBSD/src/graphs/contributors" target="_blank" rel="nofollow noopener"&gt;28 Years of NetBSD contributions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ifconfig.se/bluetooth-audio-openbsd.html" target="_blank" rel="nofollow noopener"&gt;Bluetooth Audio on OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://k8s-bhyve.convectix.com" target="_blank" rel="nofollow noopener"&gt;K8s Bhyve&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/376/feedback/Sean%20-%20C%20Flags.md" target="_blank" rel="nofollow noopener"&gt;Sean - C Flags&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/376/feedback/Thierry%20-%20RPI%20ZFS%20question.md" target="_blank" rel="nofollow noopener"&gt;Thierry - RPI ZFS question&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/376/feedback/script.md" target="_blank" rel="nofollow noopener"&gt;Thierry's script&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, zfs, zpool, dataset, interview, 12.2, webinar, syzkaller, stable, packages, package building, opnsense, release</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 12.2 is available, ZFS Webinar, Enhancing Syzkaller support for NetBSD, how the OpenBSD -stable packages are built, OPNsense 20.7.4 released, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/12.2R/relnotes.html" target="_blank" rel="nofollow noopener">FreeBSD 12.2 Release</a></h3>

<blockquote>
<p>The release notes for FreeBSD 12.2-RELEASE contain a summary of the changes made to the FreeBSD base system on the 12-STABLE development line. This document lists applicable security advisories that were issued since the last release, as well as significant changes to the FreeBSD kernel and userland. Some brief remarks on upgrading are also presented.</p>

<hr>

<h3><a href="https://klarasystems.com/learning/best-practices-for-optimizing-zfs1/" target="_blank" rel="nofollow noopener">ZFS Webinar: November 18th</a></h3>

<p>Join us on November 18th for a live discussion with Allan Jude (VP of Engineering at Klara Inc) in this webinar centred on “best practices of ZFS”<br>
Building Your Storage Array – Everything from picking the best hardware to RAID-Z and using mirrors.<br>
Keeping up with Data Growth – Expanding and growing your pool, and of course, shrinking with device evacuation.<br>
Datasets and Properties – Controlling settings with properties and many other tricks!</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/google_summer_of_code_20202" target="_blank" rel="nofollow noopener">Google Summer of Code 2020: [Final Report] Enhancing Syzkaller support for NetBSD</a></h3>

<blockquote>
<p>Sys2syz would give an extra edge to Syzkaller for NetBSD. It has a potential of efficiently automating the conversion of syscall definitions to syzkaller’s grammar. This can aid in increasing the number of syscalls covered by Syzkaller significantly with the minimum possibility of manual errors. Let’s delve into its internals.</p>

<hr>
</blockquote>

<h3><a href="https://dataswamp.org/%7Esolene/2020-10-29-official-openbsd-stable-architecture.html" target="_blank" rel="nofollow noopener">How the OpenBSD -stable packages are built</a></h3>

<blockquote>
<p>In this long blog post, I will write about the technical details of the OpenBSD stable packages building infrastructure. I have setup the infrastructure with the help of Theo De Raadt who provided me the hardware in summer 2019, since then, OpenBSD users can upgrade their packages using pkg_add -u for critical updates that has been backported by the contributors. Many thanks to them, without their work there would be no packages to build. Thanks to pea@ who is my backup for operating this infrastructure in case something happens to me.</p>

<hr>
</blockquote>

<h3><a href="https://opnsense.org/opnsense-20-7-4-released/" target="_blank" rel="nofollow noopener">OPNsense 20.7.4 released</a></h3>

<blockquote>
<p>This release finally wraps up the recent Netmap kernel changes and tests.<br>
The Realtek vendor driver was updated as well as third party software cURL,<br>
libxml2, OpenSSL, PHP, Suricata, Syslog-ng and Unbound just to name a couple<br>
of them.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2020/11/03/25120.html" target="_blank" rel="nofollow noopener">Binutils and linker changes</a></li>
<li><a href="https://github.com/NetBSD/src/graphs/contributors" target="_blank" rel="nofollow noopener">28 Years of NetBSD contributions</a></li>
<li><a href="https://ifconfig.se/bluetooth-audio-openbsd.html" target="_blank" rel="nofollow noopener">Bluetooth Audio on OpenBSD</a></li>
<li><a href="https://k8s-bhyve.convectix.com" target="_blank" rel="nofollow noopener">K8s Bhyve</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/376/feedback/Sean%20-%20C%20Flags.md" target="_blank" rel="nofollow noopener">Sean - C Flags</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/376/feedback/Thierry%20-%20RPI%20ZFS%20question.md" target="_blank" rel="nofollow noopener">Thierry - RPI ZFS question</a>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/376/feedback/script.md" target="_blank" rel="nofollow noopener">Thierry's script</a>
***</li>
</ul></li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 12.2 is available, ZFS Webinar, Enhancing Syzkaller support for NetBSD, how the OpenBSD -stable packages are built, OPNsense 20.7.4 released, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/12.2R/relnotes.html" target="_blank" rel="nofollow noopener">FreeBSD 12.2 Release</a></h3>

<blockquote>
<p>The release notes for FreeBSD 12.2-RELEASE contain a summary of the changes made to the FreeBSD base system on the 12-STABLE development line. This document lists applicable security advisories that were issued since the last release, as well as significant changes to the FreeBSD kernel and userland. Some brief remarks on upgrading are also presented.</p>

<hr>

<h3><a href="https://klarasystems.com/learning/best-practices-for-optimizing-zfs1/" target="_blank" rel="nofollow noopener">ZFS Webinar: November 18th</a></h3>

<p>Join us on November 18th for a live discussion with Allan Jude (VP of Engineering at Klara Inc) in this webinar centred on “best practices of ZFS”<br>
Building Your Storage Array – Everything from picking the best hardware to RAID-Z and using mirrors.<br>
Keeping up with Data Growth – Expanding and growing your pool, and of course, shrinking with device evacuation.<br>
Datasets and Properties – Controlling settings with properties and many other tricks!</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/google_summer_of_code_20202" target="_blank" rel="nofollow noopener">Google Summer of Code 2020: [Final Report] Enhancing Syzkaller support for NetBSD</a></h3>

<blockquote>
<p>Sys2syz would give an extra edge to Syzkaller for NetBSD. It has a potential of efficiently automating the conversion of syscall definitions to syzkaller’s grammar. This can aid in increasing the number of syscalls covered by Syzkaller significantly with the minimum possibility of manual errors. Let’s delve into its internals.</p>

<hr>
</blockquote>

<h3><a href="https://dataswamp.org/%7Esolene/2020-10-29-official-openbsd-stable-architecture.html" target="_blank" rel="nofollow noopener">How the OpenBSD -stable packages are built</a></h3>

<blockquote>
<p>In this long blog post, I will write about the technical details of the OpenBSD stable packages building infrastructure. I have setup the infrastructure with the help of Theo De Raadt who provided me the hardware in summer 2019, since then, OpenBSD users can upgrade their packages using pkg_add -u for critical updates that has been backported by the contributors. Many thanks to them, without their work there would be no packages to build. Thanks to pea@ who is my backup for operating this infrastructure in case something happens to me.</p>

<hr>
</blockquote>

<h3><a href="https://opnsense.org/opnsense-20-7-4-released/" target="_blank" rel="nofollow noopener">OPNsense 20.7.4 released</a></h3>

<blockquote>
<p>This release finally wraps up the recent Netmap kernel changes and tests.<br>
The Realtek vendor driver was updated as well as third party software cURL,<br>
libxml2, OpenSSL, PHP, Suricata, Syslog-ng and Unbound just to name a couple<br>
of them.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2020/11/03/25120.html" target="_blank" rel="nofollow noopener">Binutils and linker changes</a></li>
<li><a href="https://github.com/NetBSD/src/graphs/contributors" target="_blank" rel="nofollow noopener">28 Years of NetBSD contributions</a></li>
<li><a href="https://ifconfig.se/bluetooth-audio-openbsd.html" target="_blank" rel="nofollow noopener">Bluetooth Audio on OpenBSD</a></li>
<li><a href="https://k8s-bhyve.convectix.com" target="_blank" rel="nofollow noopener">K8s Bhyve</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/376/feedback/Sean%20-%20C%20Flags.md" target="_blank" rel="nofollow noopener">Sean - C Flags</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/376/feedback/Thierry%20-%20RPI%20ZFS%20question.md" target="_blank" rel="nofollow noopener">Thierry - RPI ZFS question</a>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/376/feedback/script.md" target="_blank" rel="nofollow noopener">Thierry's script</a>
***</li>
</ul></li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>375: Virtually everything</title>
  <link>https://www.bsdnow.tv/375</link>
  <guid isPermaLink="false">66a4f529-c2fb-4a8e-83db-9f6cd6ff0809</guid>
  <pubDate>Thu, 05 Nov 2020 06:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/66a4f529-c2fb-4a8e-83db-9f6cd6ff0809.mp3" length="43394088" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle> bhyve - The FreeBSD Hypervisor, udf information leak, being a vim user instead of classic vi, FreeBSD on ESXi ARM Fling: Fixing Virtual Hardware, new FreeBSD Remote Process Plugin in LLDB, OpenBSD Laptop, and more.</itunes:subtitle>
  <itunes:duration>44:48</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>&lt;p&gt;bhyve - The FreeBSD Hypervisor, udf information leak, being a vim user instead of classic vi, FreeBSD on ESXi ARM Fling: Fixing Virtual Hardware, new FreeBSD Remote Process Plugin in LLDB, OpenBSD Laptop, and more. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/bhyve-the-freebsd-hypervisor/" target="_blank" rel="nofollow noopener"&gt;bhyve - The FreeBSD Hypervisor&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD has had varying degrees of support as a hypervisor host throughout its history. For a time during the mid-2000s, VMWare Workstation 3.x could be made to run under FreeBSD’s Linux Emulation, and Qemu was ported in 2004, and later the kQemu accelerator in 2005. Then in 2009 a port for VirtualBox was introduced. All of these solutions suffered from being a solution designed for a different operating system and then ported to FreeBSD, requiring constant maintenance.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;ZFS and FreeBSD Support&lt;/h3&gt;

&lt;p&gt;Klara offers flexible Support Subscriptions for your ZFS and FreeBSD infrastructure. Get a world class team of experts to back you up. &lt;a href="https://klarasystems.com/support/" target="_blank" rel="nofollow noopener"&gt;Check it out on our website!&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://gist.github.com/CTurt/a00fb4164e13342567830b052aaed94b" target="_blank" rel="nofollow noopener"&gt;udf info leak&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD UDF driver info leak&lt;br&gt;
Analysis done on FreeBSD release 11.0 because that's what I had around.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/changeset/base/366005" target="_blank" rel="nofollow noopener"&gt;Fix committed to FreeBSD&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/VimNowAUser" target="_blank" rel="nofollow noopener"&gt;I'm now a user of Vim, not classical Vi (partly because of windows)&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In the past I've written entries (such as this one) where I said that I was pretty much a Vi user, not really a Vim user, because I almost entirely stuck to Vi features. In a comment on my entry on not using and exploring Vim features, rjc reinforced this, saying that I seemed to be using vi instead of vim (and that there was nothing wrong with this). For a long time I thought this way myself, but these days this is not true any more. These days I really want Vim, not classical Vi.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://vincerants.com/freebsd-on-esxi-arm-fling-fixing-virtual-hardware/" target="_blank" rel="nofollow noopener"&gt;FreeBSD on ESXi ARM Fling: Fixing Virtual Hardware&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;With the current state of FreeBSD on ARM in general, a number of hardware drivers are either set to not auto-load on boot, or are entirely missing altogether. This page is to document my findings with various bits of hardware, and if possible, list fixes.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.moritz.systems/blog/introduction-of-a-new-freebsd-remote-process-plugin-in-lldb/" target="_blank" rel="nofollow noopener"&gt;Introduction of a new FreeBSD Remote Process Plugin in LLDB&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Moritz Systems have been contracted by the FreeBSD Foundation to modernize the LLDB debugger’s support for FreeBSD. We are writing a new plugin utilizing the more modern client-server layout that is already used by Darwin, Linux, NetBSD and (unofficially) OpenBSD. The new plugin is going to gradually replace the legacy one.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://functionallyparanoid.com/2020/10/14/openbsd-laptop/" target="_blank" rel="nofollow noopener"&gt;OpenBSD Laptop&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Hi, I know it’s been a while. I recently had to nuke and re-pave my personal laptop and I thought it would be a nice thing to share with the community how I set up OpenBSD on it so that I have a useful, modern, secure environment for getting work done. I’m not going to say I’m the expert on this or that this is the BEST way to set up OpenBSD, but I thought it would be worthwhile for folks doing Google searches to at least get my opinion on this. So, given that, let’s go…&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/375/feedback/Ethan%20-%20Linux%20user%20wanting%20to%20try%20out%20OpenBSD.md" target="_blank" rel="nofollow noopener"&gt;Ethan - Linux user wanting to try out OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/375/feedback/iian%20-%20Learning%20IT.md" target="_blank" rel="nofollow noopener"&gt;iian - Learning IT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/375/feedback/johnny%20-%20bsd%20swag.md" target="_blank" rel="nofollow noopener"&gt;johnny - bsd swag&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, zfs, zpool, dataset, interview, bhyve, hypervisor, udf, udf driver, information leak, vim, vi, esxi, arm, virtual hardware, remote process plugin, lldb, laptop</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>bhyve - The FreeBSD Hypervisor, udf information leak, being a vim user instead of classic vi, FreeBSD on ESXi ARM Fling: Fixing Virtual Hardware, new FreeBSD Remote Process Plugin in LLDB, OpenBSD Laptop, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/bhyve-the-freebsd-hypervisor/" target="_blank" rel="nofollow noopener">bhyve - The FreeBSD Hypervisor</a></h3>

<blockquote>
<p>FreeBSD has had varying degrees of support as a hypervisor host throughout its history. For a time during the mid-2000s, VMWare Workstation 3.x could be made to run under FreeBSD’s Linux Emulation, and Qemu was ported in 2004, and later the kQemu accelerator in 2005. Then in 2009 a port for VirtualBox was introduced. All of these solutions suffered from being a solution designed for a different operating system and then ported to FreeBSD, requiring constant maintenance.</p>

<hr>

<h3>ZFS and FreeBSD Support</h3>

<p>Klara offers flexible Support Subscriptions for your ZFS and FreeBSD infrastructure. Get a world class team of experts to back you up. <a href="https://klarasystems.com/support/" target="_blank" rel="nofollow noopener">Check it out on our website!</a></p>
</blockquote>

<h3><a href="https://gist.github.com/CTurt/a00fb4164e13342567830b052aaed94b" target="_blank" rel="nofollow noopener">udf info leak</a></h3>

<blockquote>
<p>FreeBSD UDF driver info leak<br>
Analysis done on FreeBSD release 11.0 because that's what I had around.</p>

<ul>
<li><a href="https://svnweb.freebsd.org/changeset/base/366005" target="_blank" rel="nofollow noopener">Fix committed to FreeBSD</a>
***</li>
</ul>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/VimNowAUser" target="_blank" rel="nofollow noopener">I'm now a user of Vim, not classical Vi (partly because of windows)</a></h3>

<blockquote>
<p>In the past I've written entries (such as this one) where I said that I was pretty much a Vi user, not really a Vim user, because I almost entirely stuck to Vi features. In a comment on my entry on not using and exploring Vim features, rjc reinforced this, saying that I seemed to be using vi instead of vim (and that there was nothing wrong with this). For a long time I thought this way myself, but these days this is not true any more. These days I really want Vim, not classical Vi.</p>

<hr>

<h3><a href="https://vincerants.com/freebsd-on-esxi-arm-fling-fixing-virtual-hardware/" target="_blank" rel="nofollow noopener">FreeBSD on ESXi ARM Fling: Fixing Virtual Hardware</a></h3>

<p>With the current state of FreeBSD on ARM in general, a number of hardware drivers are either set to not auto-load on boot, or are entirely missing altogether. This page is to document my findings with various bits of hardware, and if possible, list fixes.</p>

<hr>

<h3><a href="https://www.moritz.systems/blog/introduction-of-a-new-freebsd-remote-process-plugin-in-lldb/" target="_blank" rel="nofollow noopener">Introduction of a new FreeBSD Remote Process Plugin in LLDB</a></h3>

<p>Moritz Systems have been contracted by the FreeBSD Foundation to modernize the LLDB debugger’s support for FreeBSD. We are writing a new plugin utilizing the more modern client-server layout that is already used by Darwin, Linux, NetBSD and (unofficially) OpenBSD. The new plugin is going to gradually replace the legacy one.</p>
</blockquote>

<hr>

<h3><a href="https://functionallyparanoid.com/2020/10/14/openbsd-laptop/" target="_blank" rel="nofollow noopener">OpenBSD Laptop</a></h3>

<blockquote>
<p>Hi, I know it’s been a while. I recently had to nuke and re-pave my personal laptop and I thought it would be a nice thing to share with the community how I set up OpenBSD on it so that I have a useful, modern, secure environment for getting work done. I’m not going to say I’m the expert on this or that this is the BEST way to set up OpenBSD, but I thought it would be worthwhile for folks doing Google searches to at least get my opinion on this. So, given that, let’s go…</p>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/375/feedback/Ethan%20-%20Linux%20user%20wanting%20to%20try%20out%20OpenBSD.md" target="_blank" rel="nofollow noopener">Ethan - Linux user wanting to try out OpenBSD</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/375/feedback/iian%20-%20Learning%20IT.md" target="_blank" rel="nofollow noopener">iian - Learning IT</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/375/feedback/johnny%20-%20bsd%20swag.md" target="_blank" rel="nofollow noopener">johnny - bsd swag</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>bhyve - The FreeBSD Hypervisor, udf information leak, being a vim user instead of classic vi, FreeBSD on ESXi ARM Fling: Fixing Virtual Hardware, new FreeBSD Remote Process Plugin in LLDB, OpenBSD Laptop, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://klarasystems.com/articles/bhyve-the-freebsd-hypervisor/" target="_blank" rel="nofollow noopener">bhyve - The FreeBSD Hypervisor</a></h3>

<blockquote>
<p>FreeBSD has had varying degrees of support as a hypervisor host throughout its history. For a time during the mid-2000s, VMWare Workstation 3.x could be made to run under FreeBSD’s Linux Emulation, and Qemu was ported in 2004, and later the kQemu accelerator in 2005. Then in 2009 a port for VirtualBox was introduced. All of these solutions suffered from being a solution designed for a different operating system and then ported to FreeBSD, requiring constant maintenance.</p>

<hr>

<h3>ZFS and FreeBSD Support</h3>

<p>Klara offers flexible Support Subscriptions for your ZFS and FreeBSD infrastructure. Get a world class team of experts to back you up. <a href="https://klarasystems.com/support/" target="_blank" rel="nofollow noopener">Check it out on our website!</a></p>
</blockquote>

<h3><a href="https://gist.github.com/CTurt/a00fb4164e13342567830b052aaed94b" target="_blank" rel="nofollow noopener">udf info leak</a></h3>

<blockquote>
<p>FreeBSD UDF driver info leak<br>
Analysis done on FreeBSD release 11.0 because that's what I had around.</p>

<ul>
<li><a href="https://svnweb.freebsd.org/changeset/base/366005" target="_blank" rel="nofollow noopener">Fix committed to FreeBSD</a>
***</li>
</ul>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/VimNowAUser" target="_blank" rel="nofollow noopener">I'm now a user of Vim, not classical Vi (partly because of windows)</a></h3>

<blockquote>
<p>In the past I've written entries (such as this one) where I said that I was pretty much a Vi user, not really a Vim user, because I almost entirely stuck to Vi features. In a comment on my entry on not using and exploring Vim features, rjc reinforced this, saying that I seemed to be using vi instead of vim (and that there was nothing wrong with this). For a long time I thought this way myself, but these days this is not true any more. These days I really want Vim, not classical Vi.</p>

<hr>

<h3><a href="https://vincerants.com/freebsd-on-esxi-arm-fling-fixing-virtual-hardware/" target="_blank" rel="nofollow noopener">FreeBSD on ESXi ARM Fling: Fixing Virtual Hardware</a></h3>

<p>With the current state of FreeBSD on ARM in general, a number of hardware drivers are either set to not auto-load on boot, or are entirely missing altogether. This page is to document my findings with various bits of hardware, and if possible, list fixes.</p>

<hr>

<h3><a href="https://www.moritz.systems/blog/introduction-of-a-new-freebsd-remote-process-plugin-in-lldb/" target="_blank" rel="nofollow noopener">Introduction of a new FreeBSD Remote Process Plugin in LLDB</a></h3>

<p>Moritz Systems have been contracted by the FreeBSD Foundation to modernize the LLDB debugger’s support for FreeBSD. We are writing a new plugin utilizing the more modern client-server layout that is already used by Darwin, Linux, NetBSD and (unofficially) OpenBSD. The new plugin is going to gradually replace the legacy one.</p>
</blockquote>

<hr>

<h3><a href="https://functionallyparanoid.com/2020/10/14/openbsd-laptop/" target="_blank" rel="nofollow noopener">OpenBSD Laptop</a></h3>

<blockquote>
<p>Hi, I know it’s been a while. I recently had to nuke and re-pave my personal laptop and I thought it would be a nice thing to share with the community how I set up OpenBSD on it so that I have a useful, modern, secure environment for getting work done. I’m not going to say I’m the expert on this or that this is the BEST way to set up OpenBSD, but I thought it would be worthwhile for folks doing Google searches to at least get my opinion on this. So, given that, let’s go…</p>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/375/feedback/Ethan%20-%20Linux%20user%20wanting%20to%20try%20out%20OpenBSD.md" target="_blank" rel="nofollow noopener">Ethan - Linux user wanting to try out OpenBSD</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/375/feedback/iian%20-%20Learning%20IT.md" target="_blank" rel="nofollow noopener">iian - Learning IT</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/375/feedback/johnny%20-%20bsd%20swag.md" target="_blank" rel="nofollow noopener">johnny - bsd swag</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>374: OpenBSD’s 25th anniversary</title>
  <link>https://www.bsdnow.tv/374</link>
  <guid isPermaLink="false">4e2796a1-1895-47bd-81ca-fc3c80f043e6</guid>
  <pubDate>Thu, 29 Oct 2020 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4e2796a1-1895-47bd-81ca-fc3c80f043e6.mp3" length="52402776" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 6.8 has been released, NetBSD 9.1 is out, OpenZFS devsummit report, BastilleBSD’s native container management for FreeBSD, cleaning up old tarsnap backups, Michael W. Lucas’ book sale, and more.</itunes:subtitle>
  <itunes:duration>54:40</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>&lt;p&gt;OpenBSD 6.8 has been released, NetBSD 9.1 is out, OpenZFS devsummit report, BastilleBSD’s native container management for FreeBSD, cleaning up old tarsnap backups, Michael W. Lucas’ book sale, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.openbsd.org/68.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.8&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Released Oct 18, 2020. (OpenBSD's 25th anniversary)&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.netbsd.org/releases/formal-9/NetBSD-9.1.html" target="_blank" rel="nofollow noopener"&gt;NetBSD 9.1 Released&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;The NetBSD Project is pleased to announce NetBSD 9.1, the first update of the NetBSD 9 release branch. It represents a selected subset of fixes deemed important for security or stability reasons, as well as new features and enhancements.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/openzfs-developer-summit-part-1/" target="_blank" rel="nofollow noopener"&gt;OpenZFS Developer Summit 2020&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As with most other conferences in the last six months, this year’s OpenZFS Developer’s Summit was a bit different than usual. Held via Zoom to accommodate for 2020’s new normal in terms of social engagements, the conference featured a mix of talks delivered live via webinars, and breakout sessions held as regular meetings. This helped recapture some of the “hallway track” that would be lost in an online conference.&lt;br&gt;
    • After attending the conference, I wrote up some of my notes from each of the talks&lt;br&gt;
    • &lt;a href="https://klarasystems.com/articles/openzfs-developer-summit-part-2/" target="_blank" rel="nofollow noopener"&gt;Part 2&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;ZFS and FreeBSD Support&lt;/h3&gt;

&lt;p&gt;Klara offers flexible Support Subscriptions for your ZFS and FreeBSD infrastructure, simply sign up for our monthly subscription! What's even better is that for the month of October we are giving away 3 months for free, for every yearly subscription, and one month free when you sign up for a 6-months subscription! &lt;a href="https://klarasystems.com/support/" target="_blank" rel="nofollow noopener"&gt;Check it out on our website!&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://fibric.hashnode.dev/bastillebsd-native-container-management-for-freebsd" target="_blank" rel="nofollow noopener"&gt;BastilleBSD - native container management for FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Some time ago, I had the requirement to use FreeBSD in a project, and soon the question came up if Docker and Kubernetes can be used.&lt;br&gt;
On FreeBSD, Docker is not very well supported, and even if you can get it running, Linux is used in a Docker container. My experience with Docker on FreeBSD is awful, and so I started looking for alternatives.&lt;br&gt;
A quick search on one of the most significant online search engines led me to Jails and then to BastilleBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2020/09/10/tarsnap-cleaning-up-old-backups/" target="_blank" rel="nofollow noopener"&gt;Tarsnap – cleaning up old backups&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I use Tarsnap for my critical data. Case in point, I use it to backup my Bacula database dump. I use Bacula to backup my hosts. The database in question keeps track of what was backed up, from what host, the file size, checksum, where that backup is now, and many other items. Losing this data is annoying but not a disaster. It can be recreated from the backup volumes, but that is time consuming. As it is, the file is dumped daily, and rsynced to multiple locations.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mwl.io/archives/8009" target="_blank" rel="nofollow noopener"&gt;MWL - BookSale&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;For those interested in such things, I recently posted my 60,000th tweet. This prodded me to try an experiment I’ve been pondering for a while.&lt;br&gt;
Over at my ebookstore, two of my books are now on a “Name Your Own Price” sale. You can get git commit murder and PAM Mastery for any price you wish, with a minimum of $1.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=O9upVbGSBFo" target="_blank" rel="nofollow noopener"&gt;Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming | Lex Fridman Podcast #109&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chsasank.github.io/classic_papers/unix-time-sharing-system.html#" target="_blank" rel="nofollow noopener"&gt;The UNIX Time-Sharing System - Dennis M. Ritchie and Ken Thompson -  July 1974&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=2XLZ4Z8LpEE" target="_blank" rel="nofollow noopener"&gt;Using a 1930 Teletype as a Linux Terminal&lt;/a&gt;
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/374/feedback/lars%20-%20infosec%20handbook.md" target="_blank" rel="nofollow noopener"&gt;lars - infosec handbook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/374/feedback/scott%20-%20zfs%20import.md" target="_blank" rel="nofollow noopener"&gt;scott - zfs import&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/374/feedback/zhong%20-%20first%20episode.md" target="_blank" rel="nofollow noopener"&gt;zhong - first episode&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, shell, unix, os, berkeley, software, distribution, zfs, zpool, dataset, interview, backup, 25th anniversary, release, openzfs, devsummit, report, bastillebsd, container, container management, backup, book, books, book sale, </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 6.8 has been released, NetBSD 9.1 is out, OpenZFS devsummit report, BastilleBSD’s native container management for FreeBSD, cleaning up old tarsnap backups, Michael W. Lucas’ book sale, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/68.html" target="_blank" rel="nofollow noopener">OpenBSD 6.8</a></h3>

<blockquote>
<p>Released Oct 18, 2020. (OpenBSD's 25th anniversary)</p>

<hr>

<h3><a href="https://www.netbsd.org/releases/formal-9/NetBSD-9.1.html" target="_blank" rel="nofollow noopener">NetBSD 9.1 Released</a></h3>

<p>The NetBSD Project is pleased to announce NetBSD 9.1, the first update of the NetBSD 9 release branch. It represents a selected subset of fixes deemed important for security or stability reasons, as well as new features and enhancements.</p>

<hr>
</blockquote>

<h3><a href="https://klarasystems.com/articles/openzfs-developer-summit-part-1/" target="_blank" rel="nofollow noopener">OpenZFS Developer Summit 2020</a></h3>

<blockquote>
<p>As with most other conferences in the last six months, this year’s OpenZFS Developer’s Summit was a bit different than usual. Held via Zoom to accommodate for 2020’s new normal in terms of social engagements, the conference featured a mix of talks delivered live via webinars, and breakout sessions held as regular meetings. This helped recapture some of the “hallway track” that would be lost in an online conference.<br>
    • After attending the conference, I wrote up some of my notes from each of the talks<br>
    • <a href="https://klarasystems.com/articles/openzfs-developer-summit-part-2/" target="_blank" rel="nofollow noopener">Part 2</a></p>

<hr>
</blockquote>

<h3>ZFS and FreeBSD Support</h3>

<p>Klara offers flexible Support Subscriptions for your ZFS and FreeBSD infrastructure, simply sign up for our monthly subscription! What's even better is that for the month of October we are giving away 3 months for free, for every yearly subscription, and one month free when you sign up for a 6-months subscription! <a href="https://klarasystems.com/support/" target="_blank" rel="nofollow noopener">Check it out on our website!</a></p>

<h2>News Roundup</h2>

<h3><a href="https://fibric.hashnode.dev/bastillebsd-native-container-management-for-freebsd" target="_blank" rel="nofollow noopener">BastilleBSD - native container management for FreeBSD</a></h3>

<blockquote>
<p>Some time ago, I had the requirement to use FreeBSD in a project, and soon the question came up if Docker and Kubernetes can be used.<br>
On FreeBSD, Docker is not very well supported, and even if you can get it running, Linux is used in a Docker container. My experience with Docker on FreeBSD is awful, and so I started looking for alternatives.<br>
A quick search on one of the most significant online search engines led me to Jails and then to BastilleBSD.</p>
</blockquote>

<hr>

<h3><a href="https://dan.langille.org/2020/09/10/tarsnap-cleaning-up-old-backups/" target="_blank" rel="nofollow noopener">Tarsnap – cleaning up old backups</a></h3>

<blockquote>
<p>I use Tarsnap for my critical data. Case in point, I use it to backup my Bacula database dump. I use Bacula to backup my hosts. The database in question keeps track of what was backed up, from what host, the file size, checksum, where that backup is now, and many other items. Losing this data is annoying but not a disaster. It can be recreated from the backup volumes, but that is time consuming. As it is, the file is dumped daily, and rsynced to multiple locations.</p>
</blockquote>

<hr>

<h3><a href="https://mwl.io/archives/8009" target="_blank" rel="nofollow noopener">MWL - BookSale</a></h3>

<blockquote>
<p>For those interested in such things, I recently posted my 60,000th tweet. This prodded me to try an experiment I’ve been pondering for a while.<br>
Over at my ebookstore, two of my books are now on a “Name Your Own Price” sale. You can get git commit murder and PAM Mastery for any price you wish, with a minimum of $1.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=O9upVbGSBFo" target="_blank" rel="nofollow noopener">Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming | Lex Fridman Podcast #109</a></li>
<li><a href="https://chsasank.github.io/classic_papers/unix-time-sharing-system.html#" target="_blank" rel="nofollow noopener">The UNIX Time-Sharing System - Dennis M. Ritchie and Ken Thompson -  July 1974</a></li>
<li><a href="https://www.youtube.com/watch?v=2XLZ4Z8LpEE" target="_blank" rel="nofollow noopener">Using a 1930 Teletype as a Linux Terminal</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/374/feedback/lars%20-%20infosec%20handbook.md" target="_blank" rel="nofollow noopener">lars - infosec handbook</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/374/feedback/scott%20-%20zfs%20import.md" target="_blank" rel="nofollow noopener">scott - zfs import</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/374/feedback/zhong%20-%20first%20episode.md" target="_blank" rel="nofollow noopener">zhong - first episode</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 6.8 has been released, NetBSD 9.1 is out, OpenZFS devsummit report, BastilleBSD’s native container management for FreeBSD, cleaning up old tarsnap backups, Michael W. Lucas’ book sale, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/68.html" target="_blank" rel="nofollow noopener">OpenBSD 6.8</a></h3>

<blockquote>
<p>Released Oct 18, 2020. (OpenBSD's 25th anniversary)</p>

<hr>

<h3><a href="https://www.netbsd.org/releases/formal-9/NetBSD-9.1.html" target="_blank" rel="nofollow noopener">NetBSD 9.1 Released</a></h3>

<p>The NetBSD Project is pleased to announce NetBSD 9.1, the first update of the NetBSD 9 release branch. It represents a selected subset of fixes deemed important for security or stability reasons, as well as new features and enhancements.</p>

<hr>
</blockquote>

<h3><a href="https://klarasystems.com/articles/openzfs-developer-summit-part-1/" target="_blank" rel="nofollow noopener">OpenZFS Developer Summit 2020</a></h3>

<blockquote>
<p>As with most other conferences in the last six months, this year’s OpenZFS Developer’s Summit was a bit different than usual. Held via Zoom to accommodate for 2020’s new normal in terms of social engagements, the conference featured a mix of talks delivered live via webinars, and breakout sessions held as regular meetings. This helped recapture some of the “hallway track” that would be lost in an online conference.<br>
    • After attending the conference, I wrote up some of my notes from each of the talks<br>
    • <a href="https://klarasystems.com/articles/openzfs-developer-summit-part-2/" target="_blank" rel="nofollow noopener">Part 2</a></p>

<hr>
</blockquote>

<h3>ZFS and FreeBSD Support</h3>

<p>Klara offers flexible Support Subscriptions for your ZFS and FreeBSD infrastructure, simply sign up for our monthly subscription! What's even better is that for the month of October we are giving away 3 months for free, for every yearly subscription, and one month free when you sign up for a 6-months subscription! <a href="https://klarasystems.com/support/" target="_blank" rel="nofollow noopener">Check it out on our website!</a></p>

<h2>News Roundup</h2>

<h3><a href="https://fibric.hashnode.dev/bastillebsd-native-container-management-for-freebsd" target="_blank" rel="nofollow noopener">BastilleBSD - native container management for FreeBSD</a></h3>

<blockquote>
<p>Some time ago, I had the requirement to use FreeBSD in a project, and soon the question came up if Docker and Kubernetes can be used.<br>
On FreeBSD, Docker is not very well supported, and even if you can get it running, Linux is used in a Docker container. My experience with Docker on FreeBSD is awful, and so I started looking for alternatives.<br>
A quick search on one of the most significant online search engines led me to Jails and then to BastilleBSD.</p>
</blockquote>

<hr>

<h3><a href="https://dan.langille.org/2020/09/10/tarsnap-cleaning-up-old-backups/" target="_blank" rel="nofollow noopener">Tarsnap – cleaning up old backups</a></h3>

<blockquote>
<p>I use Tarsnap for my critical data. Case in point, I use it to backup my Bacula database dump. I use Bacula to backup my hosts. The database in question keeps track of what was backed up, from what host, the file size, checksum, where that backup is now, and many other items. Losing this data is annoying but not a disaster. It can be recreated from the backup volumes, but that is time consuming. As it is, the file is dumped daily, and rsynced to multiple locations.</p>
</blockquote>

<hr>

<h3><a href="https://mwl.io/archives/8009" target="_blank" rel="nofollow noopener">MWL - BookSale</a></h3>

<blockquote>
<p>For those interested in such things, I recently posted my 60,000th tweet. This prodded me to try an experiment I’ve been pondering for a while.<br>
Over at my ebookstore, two of my books are now on a “Name Your Own Price” sale. You can get git commit murder and PAM Mastery for any price you wish, with a minimum of $1.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=O9upVbGSBFo" target="_blank" rel="nofollow noopener">Brian Kernighan: UNIX, C, AWK, AMPL, and Go Programming | Lex Fridman Podcast #109</a></li>
<li><a href="https://chsasank.github.io/classic_papers/unix-time-sharing-system.html#" target="_blank" rel="nofollow noopener">The UNIX Time-Sharing System - Dennis M. Ritchie and Ken Thompson -  July 1974</a></li>
<li><a href="https://www.youtube.com/watch?v=2XLZ4Z8LpEE" target="_blank" rel="nofollow noopener">Using a 1930 Teletype as a Linux Terminal</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/374/feedback/lars%20-%20infosec%20handbook.md" target="_blank" rel="nofollow noopener">lars - infosec handbook</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/374/feedback/scott%20-%20zfs%20import.md" target="_blank" rel="nofollow noopener">scott - zfs import</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/374/feedback/zhong%20-%20first%20episode.md" target="_blank" rel="nofollow noopener">zhong - first episode</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>373: Kyle Evans Interview</title>
  <link>https://www.bsdnow.tv/373</link>
  <guid isPermaLink="false">acdecc6a-f7b7-4d64-b64d-f7be713b78e2</guid>
  <pubDate>Thu, 22 Oct 2020 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/acdecc6a-f7b7-4d64-b64d-f7be713b78e2.mp3" length="34011936" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We have an interview with Kyle Evans for you this week. We talk about his grep project, lua and flua in base, as well as bectl, being on the core team and a whole lot of other stuff.</itunes:subtitle>
  <itunes:duration>33:33</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>&lt;p&gt;We have an interview with Kyle Evans for you this week. We talk about his grep project, lua and flua in base, as well as bectl, being on the core team and a whole lot of other stuff.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Interview - Kyle Evans - &lt;a href="mailto:kevans@freebsd.org" target="_blank" rel="nofollow noopener"&gt;kevans@freebsd.org&lt;/a&gt; / &lt;a href="https://twitter.com/kaevans91" target="_blank" rel="nofollow noopener"&gt;@kaevans91&lt;/a&gt;&lt;/h2&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, unix, os, berkeley, software, distribution, zfs, zpool, dataset, interview, kyle evans, bsd grep, lua, flua, bectl, core team, certctl, </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We have an interview with Kyle Evans for you this week. We talk about his grep project, lua and flua in base, as well as bectl, being on the core team and a whole lot of other stuff.</p>

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

<h2>Interview - Kyle Evans - <a href="mailto:kevans@freebsd.org" target="_blank" rel="nofollow noopener">kevans@freebsd.org</a> / <a href="https://twitter.com/kaevans91" target="_blank" rel="nofollow noopener">@kaevans91</a></h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We have an interview with Kyle Evans for you this week. We talk about his grep project, lua and flua in base, as well as bectl, being on the core team and a whole lot of other stuff.</p>

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

<h2>Interview - Kyle Evans - <a href="mailto:kevans@freebsd.org" target="_blank" rel="nofollow noopener">kevans@freebsd.org</a> / <a href="https://twitter.com/kaevans91" target="_blank" rel="nofollow noopener">@kaevans91</a></h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>372: Slow SSD scrubs</title>
  <link>https://www.bsdnow.tv/372</link>
  <guid isPermaLink="false">30f77e86-34d4-4e1a-a1c7-32e62f393980</guid>
  <pubDate>Thu, 15 Oct 2020 06:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/30f77e86-34d4-4e1a-a1c7-32e62f393980.mp3" length="47975808" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Wayland on BSD, My BSD sucks less than yours, Even on SSDs, ongoing activity can slow down ZFS scrubs drastically, OpenBSD on the Desktop, simple shell status bar for OpenBSD and cwm, and more.</itunes:subtitle>
  <itunes:duration>48:04</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>&lt;p&gt;Wayland on BSD, My BSD sucks less than yours, Even on SSDs, ongoing activity can slow down ZFS scrubs drastically, OpenBSD on the Desktop, simple shell status bar for OpenBSD and cwm, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/wayland_on_netbsd_trials_and" target="_blank" rel="nofollow noopener"&gt;Wayland on BSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;After I posted about the new default window manager in NetBSD I got a few questions, including "when is NetBSD switching from X11 to Wayland?", Wayland being X11's "new" rival. In this blog post, hopefully I can explain why we aren't yet!&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.bsdfrog.org/pub/events/my_bsd_sucks_less_than_yours-full_paper.pdf" target="_blank" rel="nofollow noopener"&gt;My BSD sucks less than yours&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;This paper will look at some of the differences between the FreeBSD and OpenBSD operating systems. It is not intended to be solely technical but will also show the different "visions" and design decisions that rule the way things are implemented. It is expected to be a subjective view from two BSD developers and does not pretend to represent these projects in any way.&lt;/p&gt;

&lt;p&gt;Video&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ZhpaKuXKob4" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2017 Part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=cYp70KWD824" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2017 Part 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSSSDActivitySlowsScrubs" target="_blank" rel="nofollow noopener"&gt;Even on SSDs, ongoing activity can slow down ZFS scrubs drastically&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Back in the days of our OmniOS fileservers, which used HDs (spinning rust) across iSCSI, we wound up changing kernel tunables to speed up ZFS scrubs and saw a significant improvement. When we migrated to our current Linux fileservers with SSDs, I didn't bother including these tunables (or the Linux equivalent), because I expected that SSDs were fast enough that it didn't matter. Indeed, our SSD pools generally scrub like lightning.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://paedubucher.ch/articles/2020-09-05-openbsd-on-the-desktop-part-i.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the Desktop (Part I)&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Let's install OpenBSD on a Lenovo Thinkpad X270. I used this computer for my computer science studies. It has both Arch Linux and Windows 10 installed as dual boot. Now that I'm no longer required to run Windows, I can ditch the dual boot and install an operating system of my choice.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/20200923/a-simple-shell-status-bar-for-cwm/" target="_blank" rel="nofollow noopener"&gt;A simple shell status bar for OpenBSD and cwm(1)&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;These days, I try to use simple and stock software as much as possible on my OpenBSD laptop. I’ve been playing with cwm(1) for weeks and I was missing a status bar. After trying things like Tint2, Polybar etc, I discovered @gonzalo’s termbar. Thanks a lot!&lt;br&gt;
As I love scripting, I decided to build my own.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2020-September/769777.html" target="_blank" rel="nofollow noopener"&gt;DragonFly v5.8.3 released to address to issues&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.openssh.com/txt/release-8.4" target="_blank" rel="nofollow noopener"&gt;OpenSSH 8.4 released&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/372/feedback/Dane%20-%20FreeBSD%20vs%20Linux%20in%20Microservices%20and%20Containters.md" target="_blank" rel="nofollow noopener"&gt;Dane - FreeBSD vs Linux in Microservices and Containters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/372/feedback/Mason%20-%20questions.md" target="_blank" rel="nofollow noopener"&gt;Mason - questions.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/372/feedback/Michael%20-%20Tmux%20License.md" target="_blank" rel="nofollow noopener"&gt;Michael - Tmux License.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, unix, os, berkeley, software, distribution, zfs, zpool, dataset, interview, wayland, ssd, scrub, desktop, shell, status, status bar, cwm</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Wayland on BSD, My BSD sucks less than yours, Even on SSDs, ongoing activity can slow down ZFS scrubs drastically, OpenBSD on the Desktop, simple shell status bar for OpenBSD and cwm, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/wayland_on_netbsd_trials_and" target="_blank" rel="nofollow noopener">Wayland on BSD</a></h3>

<blockquote>
<p>After I posted about the new default window manager in NetBSD I got a few questions, including "when is NetBSD switching from X11 to Wayland?", Wayland being X11's "new" rival. In this blog post, hopefully I can explain why we aren't yet!</p>

<hr>

<h3><a href="https://www.bsdfrog.org/pub/events/my_bsd_sucks_less_than_yours-full_paper.pdf" target="_blank" rel="nofollow noopener">My BSD sucks less than yours</a></h3>

<p>This paper will look at some of the differences between the FreeBSD and OpenBSD operating systems. It is not intended to be solely technical but will also show the different "visions" and design decisions that rule the way things are implemented. It is expected to be a subjective view from two BSD developers and does not pretend to represent these projects in any way.</p>

<p>Video</p>

<ul>
<li><a href="https://www.youtube.com/watch?v=ZhpaKuXKob4" target="_blank" rel="nofollow noopener">EuroBSDCon 2017 Part 1</a></li>
<li><a href="https://www.youtube.com/watch?v=cYp70KWD824" target="_blank" rel="nofollow noopener">EuroBSDCon 2017 Part 2</a></li>
</ul>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSSSDActivitySlowsScrubs" target="_blank" rel="nofollow noopener">Even on SSDs, ongoing activity can slow down ZFS scrubs drastically</a></h3>

<blockquote>
<p>Back in the days of our OmniOS fileservers, which used HDs (spinning rust) across iSCSI, we wound up changing kernel tunables to speed up ZFS scrubs and saw a significant improvement. When we migrated to our current Linux fileservers with SSDs, I didn't bother including these tunables (or the Linux equivalent), because I expected that SSDs were fast enough that it didn't matter. Indeed, our SSD pools generally scrub like lightning.</p>

<hr>

<h3><a href="https://paedubucher.ch/articles/2020-09-05-openbsd-on-the-desktop-part-i.html" target="_blank" rel="nofollow noopener">OpenBSD on the Desktop (Part I)</a></h3>

<p>Let's install OpenBSD on a Lenovo Thinkpad X270. I used this computer for my computer science studies. It has both Arch Linux and Windows 10 installed as dual boot. Now that I'm no longer required to run Windows, I can ditch the dual boot and install an operating system of my choice.</p>

<hr>

<h3><a href="https://www.tumfatig.net/20200923/a-simple-shell-status-bar-for-cwm/" target="_blank" rel="nofollow noopener">A simple shell status bar for OpenBSD and cwm(1)</a></h3>

<p>These days, I try to use simple and stock software as much as possible on my OpenBSD laptop. I’ve been playing with cwm(1) for weeks and I was missing a status bar. After trying things like Tint2, Polybar etc, I discovered @gonzalo’s termbar. Thanks a lot!<br>
As I love scripting, I decided to build my own.</p>

<hr>

<h2>Beastie Bits</h2>

<p><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-September/769777.html" target="_blank" rel="nofollow noopener">DragonFly v5.8.3 released to address to issues</a><br>
<a href="http://www.openssh.com/txt/release-8.4" target="_blank" rel="nofollow noopener">OpenSSH 8.4 released</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>
</blockquote>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/372/feedback/Dane%20-%20FreeBSD%20vs%20Linux%20in%20Microservices%20and%20Containters.md" target="_blank" rel="nofollow noopener">Dane - FreeBSD vs Linux in Microservices and Containters</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/372/feedback/Mason%20-%20questions.md" target="_blank" rel="nofollow noopener">Mason - questions.md</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/372/feedback/Michael%20-%20Tmux%20License.md" target="_blank" rel="nofollow noopener">Michael - Tmux License.md</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Wayland on BSD, My BSD sucks less than yours, Even on SSDs, ongoing activity can slow down ZFS scrubs drastically, OpenBSD on the Desktop, simple shell status bar for OpenBSD and cwm, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/wayland_on_netbsd_trials_and" target="_blank" rel="nofollow noopener">Wayland on BSD</a></h3>

<blockquote>
<p>After I posted about the new default window manager in NetBSD I got a few questions, including "when is NetBSD switching from X11 to Wayland?", Wayland being X11's "new" rival. In this blog post, hopefully I can explain why we aren't yet!</p>

<hr>

<h3><a href="https://www.bsdfrog.org/pub/events/my_bsd_sucks_less_than_yours-full_paper.pdf" target="_blank" rel="nofollow noopener">My BSD sucks less than yours</a></h3>

<p>This paper will look at some of the differences between the FreeBSD and OpenBSD operating systems. It is not intended to be solely technical but will also show the different "visions" and design decisions that rule the way things are implemented. It is expected to be a subjective view from two BSD developers and does not pretend to represent these projects in any way.</p>

<p>Video</p>

<ul>
<li><a href="https://www.youtube.com/watch?v=ZhpaKuXKob4" target="_blank" rel="nofollow noopener">EuroBSDCon 2017 Part 1</a></li>
<li><a href="https://www.youtube.com/watch?v=cYp70KWD824" target="_blank" rel="nofollow noopener">EuroBSDCon 2017 Part 2</a></li>
</ul>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSSSDActivitySlowsScrubs" target="_blank" rel="nofollow noopener">Even on SSDs, ongoing activity can slow down ZFS scrubs drastically</a></h3>

<blockquote>
<p>Back in the days of our OmniOS fileservers, which used HDs (spinning rust) across iSCSI, we wound up changing kernel tunables to speed up ZFS scrubs and saw a significant improvement. When we migrated to our current Linux fileservers with SSDs, I didn't bother including these tunables (or the Linux equivalent), because I expected that SSDs were fast enough that it didn't matter. Indeed, our SSD pools generally scrub like lightning.</p>

<hr>

<h3><a href="https://paedubucher.ch/articles/2020-09-05-openbsd-on-the-desktop-part-i.html" target="_blank" rel="nofollow noopener">OpenBSD on the Desktop (Part I)</a></h3>

<p>Let's install OpenBSD on a Lenovo Thinkpad X270. I used this computer for my computer science studies. It has both Arch Linux and Windows 10 installed as dual boot. Now that I'm no longer required to run Windows, I can ditch the dual boot and install an operating system of my choice.</p>

<hr>

<h3><a href="https://www.tumfatig.net/20200923/a-simple-shell-status-bar-for-cwm/" target="_blank" rel="nofollow noopener">A simple shell status bar for OpenBSD and cwm(1)</a></h3>

<p>These days, I try to use simple and stock software as much as possible on my OpenBSD laptop. I’ve been playing with cwm(1) for weeks and I was missing a status bar. After trying things like Tint2, Polybar etc, I discovered @gonzalo’s termbar. Thanks a lot!<br>
As I love scripting, I decided to build my own.</p>

<hr>

<h2>Beastie Bits</h2>

<p><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-September/769777.html" target="_blank" rel="nofollow noopener">DragonFly v5.8.3 released to address to issues</a><br>
<a href="http://www.openssh.com/txt/release-8.4" target="_blank" rel="nofollow noopener">OpenSSH 8.4 released</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>
</blockquote>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/372/feedback/Dane%20-%20FreeBSD%20vs%20Linux%20in%20Microservices%20and%20Containters.md" target="_blank" rel="nofollow noopener">Dane - FreeBSD vs Linux in Microservices and Containters</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/372/feedback/Mason%20-%20questions.md" target="_blank" rel="nofollow noopener">Mason - questions.md</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/372/feedback/Michael%20-%20Tmux%20License.md" target="_blank" rel="nofollow noopener">Michael - Tmux License.md</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>371: Wildcards running wild</title>
  <link>https://www.bsdnow.tv/371</link>
  <guid isPermaLink="false">8f2644a5-d6f7-49ca-bcd6-1a6336110611</guid>
  <pubDate>Thu, 08 Oct 2020 06:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8f2644a5-d6f7-49ca-bcd6-1a6336110611.mp3" length="40775352" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>New Project: zedfs.com, TrueNAS CORE Ready for Deployment, IPC in FreeBSD 11: Performance Analysis, Unix Wildcards Gone Wild, Unix Wars, and more</itunes:subtitle>
  <itunes:duration>41:17</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>&lt;p&gt;New Project: zedfs.com, TrueNAS CORE Ready for Deployment, IPC in FreeBSD 11: Performance Analysis, Unix Wildcards Gone Wild, Unix Wars, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.oshogbo.vexillium.org/blog/80/" target="_blank" rel="nofollow noopener"&gt;My New Project: zedfs.com&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Have you ever had an idea that keeps coming back to you over and over again? For a week? For a month? I know that feeling. My new project was born from this feeling.&lt;br&gt;
On this blog, I mix content a lot. I have written personal posts (not many of them, but still), FreeBSD development posts, development posts, security posts, and ZFS posts. This mixed content can be problematic sometimes. I share a lot of stuff here, and readers don’t know what to expect next. I am just excited by so many things, and I want to share that excitement with you!&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/truenas-12-rc-1/" target="_blank" rel="nofollow noopener"&gt;TrueNAS CORE is Ready for Deployment&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;TrueNAS 12.0 RC1 was released yesterday and with it, TrueNAS CORE is ready for deployment. The merger of FreeNAS and TrueNAS into a unified software image can now begin its path into mainstream use. TrueNAS CORE is the new FreeNAS and is on schedule.&lt;br&gt;
The TrueNAS 12.0 BETA process started in June and has been the most successful BETA release ever with more than 3,000 users and only minor issues. Ars Technica provided a detailed technical walkthrough of the original BETA. There is a long list of features and performance improvements. During the BETA process, TrueNAS 12.0 demonstrated over 1.2 Million IOPS and over 23GB/s on a TrueNAS M60.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://arxiv.org/pdf/2008.02145.pdf" target="_blank" rel="nofollow noopener"&gt;Interprocess Communication in FreeBSD 11: Performance Analysis&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Interprocess communication, IPC, is one of the most fundamental functions of a modern operating system, playing an essential role in the fabric of contemporary applications. This report conducts an investigation in FreeBSD of the real world performance considerations behind two of the most common IPC mechanisms; pipes and sockets. A simple benchmark provides a fair sense of effective bandwidth for each, and analysis using DTrace, hardware performance counters and the operating system’s source code is presented. We note that pipes outperform sockets by 63% on average across all configurations, and further that the size of userspace transmission buffers has a profound effect on performance — larger buffers are beneficial up to a point (∼ 32-64 KiB) after which performance collapses as a result of devastating cache exhaustion. A deep scrutiny of the probe effects at play is also presented, justifying the validity of conclusions drawn from these experiments.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.defensecode.com/public/DefenseCode_Unix_WildCards_Gone_Wild.txt" target="_blank" rel="nofollow noopener"&gt;Back To The Future: Unix Wildcards Gone Wild&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;First of all, this article has nothing to do with modern hacking techniques like ASLR bypass, ROP exploits, 0day remote kernel exploits or Chrome's Chain-14-Different-Bugs-To-Get-There...  Nope, nothing of the above. This article will cover one interesting old-school Unix hacking technique, that will still work nowadays in 2013.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.livinginternet.com/i/iw_unix_war.htm" target="_blank" rel="nofollow noopener"&gt;Unix Wars&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Dozens of different operating systems have been developed over the years, but only Unix has grown in so many varieties. There are three main branches. Four factors have facilitated this growth...&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Chris%20-%20installing%20FreeBSD%2013-current.md" target="_blank" rel="nofollow noopener"&gt;Chris - installing FreeBSD 13-current&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Dane%20-%20FreeBSD%20History%20Lesson.md" target="_blank" rel="nofollow noopener"&gt;Dane - FreeBSD History Lesson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Marc%20-%20linux%20compat.md" target="_blank" rel="nofollow noopener"&gt;Marc - linux compat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Mason%20-%20apropos%20battery.md" target="_blank" rel="nofollow noopener"&gt;Mason - apropos battery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Paul%20-%20a%20topic%20idea.md" target="_blank" rel="nofollow noopener"&gt;Paul - a topic idea&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, berkeley, software, distribution, zfs, zpool, dataset, interview, truenas, truenas core, IPC, interprocess, communication, performance, performance analysis, Unix, wildcards, Unix wars</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>New Project: zedfs.com, TrueNAS CORE Ready for Deployment, IPC in FreeBSD 11: Performance Analysis, Unix Wildcards Gone Wild, Unix Wars, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.oshogbo.vexillium.org/blog/80/" target="_blank" rel="nofollow noopener">My New Project: zedfs.com</a></h3>

<blockquote>
<p>Have you ever had an idea that keeps coming back to you over and over again? For a week? For a month? I know that feeling. My new project was born from this feeling.<br>
On this blog, I mix content a lot. I have written personal posts (not many of them, but still), FreeBSD development posts, development posts, security posts, and ZFS posts. This mixed content can be problematic sometimes. I share a lot of stuff here, and readers don’t know what to expect next. I am just excited by so many things, and I want to share that excitement with you!</p>

<hr>
</blockquote>

<h3><a href="https://www.ixsystems.com/blog/truenas-12-rc-1/" target="_blank" rel="nofollow noopener">TrueNAS CORE is Ready for Deployment</a></h3>

<blockquote>
<p>TrueNAS 12.0 RC1 was released yesterday and with it, TrueNAS CORE is ready for deployment. The merger of FreeNAS and TrueNAS into a unified software image can now begin its path into mainstream use. TrueNAS CORE is the new FreeNAS and is on schedule.<br>
The TrueNAS 12.0 BETA process started in June and has been the most successful BETA release ever with more than 3,000 users and only minor issues. Ars Technica provided a detailed technical walkthrough of the original BETA. There is a long list of features and performance improvements. During the BETA process, TrueNAS 12.0 demonstrated over 1.2 Million IOPS and over 23GB/s on a TrueNAS M60.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://arxiv.org/pdf/2008.02145.pdf" target="_blank" rel="nofollow noopener">Interprocess Communication in FreeBSD 11: Performance Analysis</a></h3>

<blockquote>
<p>Interprocess communication, IPC, is one of the most fundamental functions of a modern operating system, playing an essential role in the fabric of contemporary applications. This report conducts an investigation in FreeBSD of the real world performance considerations behind two of the most common IPC mechanisms; pipes and sockets. A simple benchmark provides a fair sense of effective bandwidth for each, and analysis using DTrace, hardware performance counters and the operating system’s source code is presented. We note that pipes outperform sockets by 63% on average across all configurations, and further that the size of userspace transmission buffers has a profound effect on performance — larger buffers are beneficial up to a point (∼ 32-64 KiB) after which performance collapses as a result of devastating cache exhaustion. A deep scrutiny of the probe effects at play is also presented, justifying the validity of conclusions drawn from these experiments.</p>

<hr>
</blockquote>

<h3><a href="https://www.defensecode.com/public/DefenseCode_Unix_WildCards_Gone_Wild.txt" target="_blank" rel="nofollow noopener">Back To The Future: Unix Wildcards Gone Wild</a></h3>

<blockquote>
<p>First of all, this article has nothing to do with modern hacking techniques like ASLR bypass, ROP exploits, 0day remote kernel exploits or Chrome's Chain-14-Different-Bugs-To-Get-There...  Nope, nothing of the above. This article will cover one interesting old-school Unix hacking technique, that will still work nowadays in 2013.</p>

<hr>
</blockquote>

<h3><a href="https://www.livinginternet.com/i/iw_unix_war.htm" target="_blank" rel="nofollow noopener">Unix Wars</a></h3>

<blockquote>
<p>Dozens of different operating systems have been developed over the years, but only Unix has grown in so many varieties. There are three main branches. Four factors have facilitated this growth...</p>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Chris%20-%20installing%20FreeBSD%2013-current.md" target="_blank" rel="nofollow noopener">Chris - installing FreeBSD 13-current</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Dane%20-%20FreeBSD%20History%20Lesson.md" target="_blank" rel="nofollow noopener">Dane - FreeBSD History Lesson</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Marc%20-%20linux%20compat.md" target="_blank" rel="nofollow noopener">Marc - linux compat</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Mason%20-%20apropos%20battery.md" target="_blank" rel="nofollow noopener">Mason - apropos battery</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Paul%20-%20a%20topic%20idea.md" target="_blank" rel="nofollow noopener">Paul - a topic idea</a></p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>New Project: zedfs.com, TrueNAS CORE Ready for Deployment, IPC in FreeBSD 11: Performance Analysis, Unix Wildcards Gone Wild, Unix Wars, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.oshogbo.vexillium.org/blog/80/" target="_blank" rel="nofollow noopener">My New Project: zedfs.com</a></h3>

<blockquote>
<p>Have you ever had an idea that keeps coming back to you over and over again? For a week? For a month? I know that feeling. My new project was born from this feeling.<br>
On this blog, I mix content a lot. I have written personal posts (not many of them, but still), FreeBSD development posts, development posts, security posts, and ZFS posts. This mixed content can be problematic sometimes. I share a lot of stuff here, and readers don’t know what to expect next. I am just excited by so many things, and I want to share that excitement with you!</p>

<hr>
</blockquote>

<h3><a href="https://www.ixsystems.com/blog/truenas-12-rc-1/" target="_blank" rel="nofollow noopener">TrueNAS CORE is Ready for Deployment</a></h3>

<blockquote>
<p>TrueNAS 12.0 RC1 was released yesterday and with it, TrueNAS CORE is ready for deployment. The merger of FreeNAS and TrueNAS into a unified software image can now begin its path into mainstream use. TrueNAS CORE is the new FreeNAS and is on schedule.<br>
The TrueNAS 12.0 BETA process started in June and has been the most successful BETA release ever with more than 3,000 users and only minor issues. Ars Technica provided a detailed technical walkthrough of the original BETA. There is a long list of features and performance improvements. During the BETA process, TrueNAS 12.0 demonstrated over 1.2 Million IOPS and over 23GB/s on a TrueNAS M60.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://arxiv.org/pdf/2008.02145.pdf" target="_blank" rel="nofollow noopener">Interprocess Communication in FreeBSD 11: Performance Analysis</a></h3>

<blockquote>
<p>Interprocess communication, IPC, is one of the most fundamental functions of a modern operating system, playing an essential role in the fabric of contemporary applications. This report conducts an investigation in FreeBSD of the real world performance considerations behind two of the most common IPC mechanisms; pipes and sockets. A simple benchmark provides a fair sense of effective bandwidth for each, and analysis using DTrace, hardware performance counters and the operating system’s source code is presented. We note that pipes outperform sockets by 63% on average across all configurations, and further that the size of userspace transmission buffers has a profound effect on performance — larger buffers are beneficial up to a point (∼ 32-64 KiB) after which performance collapses as a result of devastating cache exhaustion. A deep scrutiny of the probe effects at play is also presented, justifying the validity of conclusions drawn from these experiments.</p>

<hr>
</blockquote>

<h3><a href="https://www.defensecode.com/public/DefenseCode_Unix_WildCards_Gone_Wild.txt" target="_blank" rel="nofollow noopener">Back To The Future: Unix Wildcards Gone Wild</a></h3>

<blockquote>
<p>First of all, this article has nothing to do with modern hacking techniques like ASLR bypass, ROP exploits, 0day remote kernel exploits or Chrome's Chain-14-Different-Bugs-To-Get-There...  Nope, nothing of the above. This article will cover one interesting old-school Unix hacking technique, that will still work nowadays in 2013.</p>

<hr>
</blockquote>

<h3><a href="https://www.livinginternet.com/i/iw_unix_war.htm" target="_blank" rel="nofollow noopener">Unix Wars</a></h3>

<blockquote>
<p>Dozens of different operating systems have been developed over the years, but only Unix has grown in so many varieties. There are three main branches. Four factors have facilitated this growth...</p>

<hr>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Chris%20-%20installing%20FreeBSD%2013-current.md" target="_blank" rel="nofollow noopener">Chris - installing FreeBSD 13-current</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Dane%20-%20FreeBSD%20History%20Lesson.md" target="_blank" rel="nofollow noopener">Dane - FreeBSD History Lesson</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Marc%20-%20linux%20compat.md" target="_blank" rel="nofollow noopener">Marc - linux compat</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Mason%20-%20apropos%20battery.md" target="_blank" rel="nofollow noopener">Mason - apropos battery</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/371/feedback/Paul%20-%20a%20topic%20idea.md" target="_blank" rel="nofollow noopener">Paul - a topic idea</a></p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>370: Testing shutdown</title>
  <link>https://www.bsdnow.tv/370</link>
  <guid isPermaLink="false">4bc93957-8853-4c7a-b016-604d770c5b71</guid>
  <pubDate>Thu, 01 Oct 2020 06:15:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4bc93957-8853-4c7a-b016-604d770c5b71.mp3" length="43353456" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The world’s first OpenZFS based live image, FreeBSD Subversion to Git Migration video, FreeBSD Instant-workstation 2020, testing the shutdown mechanism, login_ldap added to OpenBSD, and more</itunes:subtitle>
  <itunes:duration>45:12</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>&lt;p&gt;The world’s first OpenZFS based live image, FreeBSD Subversion to Git Migration video, FreeBSD Instant-workstation 2020, testing the shutdown mechanism, login_ldap added to OpenBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.furybsd.org/furybsd-2020-q3-the-worlds-first-openzfs-based-live-image/" target="_blank" rel="nofollow noopener"&gt;FuryBSD 2020-Q3 The world’s first OpenZFS based live image&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FuryBSD is a tool to test drive stock FreeBSD desktop images in read write mode to see if it will work for you before installing.  In order to provide the most reliable experience possible while preserving the integrity of the system the LiveCD now leverages ZFS, compression, replication, a memory file system, and reroot (pivot root).&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://bsdimp.blogspot.com/2020/09/freebsd-subversion-to-git-migration.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Subversion to Git Migration: Pt 1 Why?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD moving to Git: Why?  With luck, I'll be writing a few blogs on FreeBSD's move to git later this year. Today, we'll start with "why"?&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=Lx9lKr_M-DI" target="_blank" rel="nofollow noopener"&gt;Video from Warner Losh&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl/freebsd/2020/09/17/instant-workstation.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Instant-workstation 2020&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A little over a year ago I published an instant-workstation script for FreeBSD. The idea is to have an installed FreeBSD system, then run a shell script that uses only base-system utilities and installs and configures a workstation setup for you.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2020/09/10/nut-testing-the-shutdown-mechanism/" target="_blank" rel="nofollow noopener"&gt;nut – testing the shutdown mechanism&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Following on from my recent nut setup, this is the second in a series of three posts.&lt;br&gt;
The next post will deal with adjusting startup and shutdown times to be sure everything proceeds as required.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20200913081040" target="_blank" rel="nofollow noopener"&gt;login_ldap added to OpenBSD -current&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;With this commit, Martijn van Duren (martijn@) added login_ldap(8) to -current&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-cvs&amp;amp;m=159992319027593&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;https://marc.info/?l=openbsd-cvs&amp;amp;m=159992319027593&amp;amp;w=2&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/netbsd/status/1305082782457245696" target="_blank" rel="nofollow noopener"&gt;NetBSD current now has GCC 9.3.0 for x86/ARM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.justjournal.com/users/mbsd/entry/33802" target="_blank" rel="nofollow noopener"&gt;MidnightBSD 1.2.8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.justjournal.com/users/mbsd/entry/33806" target="_blank" rel="nofollow noopener"&gt;MidnightBSD 2.0-Current&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.singlix.com/runix/" target="_blank" rel="nofollow noopener"&gt;Retro UNIX 8086 v1 operating system has been developed by Erdogan Tan as a special purposed derivation of original UNIX v1&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/370/feedback/Rick%20-%20rcorder.md" target="_blank" rel="nofollow noopener"&gt;Rick - rcorder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/370/feedback/dan%20-%20machiatto%20bin.md" target="_blank" rel="nofollow noopener"&gt;Dan - machiatto bin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/370/feedback/luis%20-%20old%20episodes.md" target="_blank" rel="nofollow noopener"&gt;Luis - old episodes&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, berkeley, software, distribution, zfs, zpool, dataset, interview, live image, migration, git, video, workstation, testing, shutdown, mechanism, login_ldap, ldap, login</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The world’s first OpenZFS based live image, FreeBSD Subversion to Git Migration video, FreeBSD Instant-workstation 2020, testing the shutdown mechanism, login_ldap added to OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.furybsd.org/furybsd-2020-q3-the-worlds-first-openzfs-based-live-image/" target="_blank" rel="nofollow noopener">FuryBSD 2020-Q3 The world’s first OpenZFS based live image</a></h3>

<blockquote>
<p>FuryBSD is a tool to test drive stock FreeBSD desktop images in read write mode to see if it will work for you before installing.  In order to provide the most reliable experience possible while preserving the integrity of the system the LiveCD now leverages ZFS, compression, replication, a memory file system, and reroot (pivot root).</p>

<hr>
</blockquote>

<h3><a href="https://bsdimp.blogspot.com/2020/09/freebsd-subversion-to-git-migration.html" target="_blank" rel="nofollow noopener">FreeBSD Subversion to Git Migration: Pt 1 Why?</a></h3>

<blockquote>
<p>FreeBSD moving to Git: Why?  With luck, I'll be writing a few blogs on FreeBSD's move to git later this year. Today, we'll start with "why"?<br>
<a href="https://www.youtube.com/watch?v=Lx9lKr_M-DI" target="_blank" rel="nofollow noopener">Video from Warner Losh</a></p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://euroquis.nl/freebsd/2020/09/17/instant-workstation.html" target="_blank" rel="nofollow noopener">FreeBSD Instant-workstation 2020</a></h3>

<blockquote>
<p>A little over a year ago I published an instant-workstation script for FreeBSD. The idea is to have an installed FreeBSD system, then run a shell script that uses only base-system utilities and installs and configures a workstation setup for you.</p>

<hr>
</blockquote>

<h3><a href="https://dan.langille.org/2020/09/10/nut-testing-the-shutdown-mechanism/" target="_blank" rel="nofollow noopener">nut – testing the shutdown mechanism</a></h3>

<blockquote>
<p>Following on from my recent nut setup, this is the second in a series of three posts.<br>
The next post will deal with adjusting startup and shutdown times to be sure everything proceeds as required.</p>

<hr>
</blockquote>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20200913081040" target="_blank" rel="nofollow noopener">login_ldap added to OpenBSD -current</a></h3>

<blockquote>
<p>With this commit, Martijn van Duren (martijn@) added login_ldap(8) to -current</p>

<ul>
<li><a href="https://marc.info/?l=openbsd-cvs&amp;m=159992319027593&amp;w=2" target="_blank" rel="nofollow noopener">https://marc.info/?l=openbsd-cvs&amp;m=159992319027593&amp;w=2</a>
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/netbsd/status/1305082782457245696" target="_blank" rel="nofollow noopener">NetBSD current now has GCC 9.3.0 for x86/ARM</a></li>
<li><a href="https://www.justjournal.com/users/mbsd/entry/33802" target="_blank" rel="nofollow noopener">MidnightBSD 1.2.8</a></li>
<li><a href="https://www.justjournal.com/users/mbsd/entry/33806" target="_blank" rel="nofollow noopener">MidnightBSD 2.0-Current</a></li>
<li><a href="https://www.singlix.com/runix/" target="_blank" rel="nofollow noopener">Retro UNIX 8086 v1 operating system has been developed by Erdogan Tan as a special purposed derivation of original UNIX v1</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/370/feedback/Rick%20-%20rcorder.md" target="_blank" rel="nofollow noopener">Rick - rcorder</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/370/feedback/dan%20-%20machiatto%20bin.md" target="_blank" rel="nofollow noopener">Dan - machiatto bin</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/370/feedback/luis%20-%20old%20episodes.md" target="_blank" rel="nofollow noopener">Luis - old episodes</a></p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The world’s first OpenZFS based live image, FreeBSD Subversion to Git Migration video, FreeBSD Instant-workstation 2020, testing the shutdown mechanism, login_ldap added to OpenBSD, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.furybsd.org/furybsd-2020-q3-the-worlds-first-openzfs-based-live-image/" target="_blank" rel="nofollow noopener">FuryBSD 2020-Q3 The world’s first OpenZFS based live image</a></h3>

<blockquote>
<p>FuryBSD is a tool to test drive stock FreeBSD desktop images in read write mode to see if it will work for you before installing.  In order to provide the most reliable experience possible while preserving the integrity of the system the LiveCD now leverages ZFS, compression, replication, a memory file system, and reroot (pivot root).</p>

<hr>
</blockquote>

<h3><a href="https://bsdimp.blogspot.com/2020/09/freebsd-subversion-to-git-migration.html" target="_blank" rel="nofollow noopener">FreeBSD Subversion to Git Migration: Pt 1 Why?</a></h3>

<blockquote>
<p>FreeBSD moving to Git: Why?  With luck, I'll be writing a few blogs on FreeBSD's move to git later this year. Today, we'll start with "why"?<br>
<a href="https://www.youtube.com/watch?v=Lx9lKr_M-DI" target="_blank" rel="nofollow noopener">Video from Warner Losh</a></p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://euroquis.nl/freebsd/2020/09/17/instant-workstation.html" target="_blank" rel="nofollow noopener">FreeBSD Instant-workstation 2020</a></h3>

<blockquote>
<p>A little over a year ago I published an instant-workstation script for FreeBSD. The idea is to have an installed FreeBSD system, then run a shell script that uses only base-system utilities and installs and configures a workstation setup for you.</p>

<hr>
</blockquote>

<h3><a href="https://dan.langille.org/2020/09/10/nut-testing-the-shutdown-mechanism/" target="_blank" rel="nofollow noopener">nut – testing the shutdown mechanism</a></h3>

<blockquote>
<p>Following on from my recent nut setup, this is the second in a series of three posts.<br>
The next post will deal with adjusting startup and shutdown times to be sure everything proceeds as required.</p>

<hr>
</blockquote>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20200913081040" target="_blank" rel="nofollow noopener">login_ldap added to OpenBSD -current</a></h3>

<blockquote>
<p>With this commit, Martijn van Duren (martijn@) added login_ldap(8) to -current</p>

<ul>
<li><a href="https://marc.info/?l=openbsd-cvs&amp;m=159992319027593&amp;w=2" target="_blank" rel="nofollow noopener">https://marc.info/?l=openbsd-cvs&amp;m=159992319027593&amp;w=2</a>
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/netbsd/status/1305082782457245696" target="_blank" rel="nofollow noopener">NetBSD current now has GCC 9.3.0 for x86/ARM</a></li>
<li><a href="https://www.justjournal.com/users/mbsd/entry/33802" target="_blank" rel="nofollow noopener">MidnightBSD 1.2.8</a></li>
<li><a href="https://www.justjournal.com/users/mbsd/entry/33806" target="_blank" rel="nofollow noopener">MidnightBSD 2.0-Current</a></li>
<li><a href="https://www.singlix.com/runix/" target="_blank" rel="nofollow noopener">Retro UNIX 8086 v1 operating system has been developed by Erdogan Tan as a special purposed derivation of original UNIX v1</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/370/feedback/Rick%20-%20rcorder.md" target="_blank" rel="nofollow noopener">Rick - rcorder</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/370/feedback/dan%20-%20machiatto%20bin.md" target="_blank" rel="nofollow noopener">Dan - machiatto bin</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/370/feedback/luis%20-%20old%20episodes.md" target="_blank" rel="nofollow noopener">Luis - old episodes</a></p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>369: Where rc.d belongs</title>
  <link>https://www.bsdnow.tv/369</link>
  <guid isPermaLink="false">3594bb2c-b1c8-4f13-bcb9-6ad5094179a5</guid>
  <pubDate>Thu, 24 Sep 2020 12:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3594bb2c-b1c8-4f13-bcb9-6ad5094179a5.mp3" length="43421016" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>High Availability Router/Firewall Using OpenBSD, CARP, pfsync, and ifstated, Building the Development Version of Emacs on NetBSD, rc.d belongs in libexec, not etc, FreeBSD 11.3 EOL, OPNsense 20.7.1 Released, MidnightBSD 1.2.7 out, and more.</itunes:subtitle>
  <itunes:duration>44:09</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>&lt;p&gt;High Availability Router/Firewall Using OpenBSD, CARP, pfsync, and ifstated, Building the Development Version of Emacs on NetBSD, rc.d belongs in libexec, not etc, FreeBSD 11.3 EOL, OPNsense 20.7.1 Released, MidnightBSD 1.2.7 out, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/bsdnow" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dzone.com/articles/high-availability-routerfirewall-using-openbsd-car" target="_blank" rel="nofollow noopener"&gt;High Availability Router/Firewall Using OpenBSD, CARP, pfsync, and ifstated&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I have been running OpenBSD on a Soekris net5501 for my router/firewall since early 2012. Because I run a multitude of services on this system (more on that later), the meager 500Mhz AMD Geode + 512MB SDRAM was starting to get a little sluggish while trying to do anything via the terminal. Despite the perceived performance hit during interactive SSH sessions, it still supported a full 100Mbit connection with NAT, so I wasn’t overly eager to change anything. Luckily though, my ISP increased the bandwidth available on my plan tier to 150Mbit+. Unfortunately, the Soekris only contained 4xVIA Rhine Fast Ethernet. So now, I was using a slow system and wasting money by not being able to fully utilize my connection.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lars.ingebrigtsen.no/2020/08/25/building-the-development-version-of-emacs-on-netbsd/" target="_blank" rel="nofollow noopener"&gt;Building the Development Version of Emacs on NetBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I hadn’t really planned on installing a NetBSD VM (after doing all the other two BSDs), but then a NetBSD-related Emacs bug report arrived.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://jmmv.dev/2020/08/rcd-libexec-etc.html" target="_blank" rel="nofollow noopener"&gt;rc.d belongs in libexec, not etc&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Let’s open with the controversy: the scripts that live under /etc/rc.d/ in FreeBSD, NetBSD, and OpenBSD are in the wrong place. They all should live in /libexec/rc.d/ because they are code, not configuration.&lt;br&gt;
This misplacement is something that has bugged me for ages but I never had the energy to open this can of worms back when I was very involved in NetBSD. I suspect it would have been a draining discussion and a very difficult thing to change.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-announce/2020-September/001982.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.3 EOL&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As of September 30, 2020, FreeBSD 11.3 will reach end-of-life and will no longer&lt;br&gt;
be supported by the FreeBSD Security Team.  Users of FreeBSD 11.3 are strongly&lt;br&gt;
encouraged to upgrade to a newer release as soon as possible.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-20-7-1-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 20.7.1 Released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Overall, the jump to HardenedBSD 12.1 is looking promising from our end. From the reported issues we still have more logging quirks to investigate and especially Netmap support (used in IPS and Sensei) is lacking in some areas that were previously working. Patches are being worked on already so we shall get there soon enough.  Stay tuned.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.justjournal.com/users/mbsd/entry/33801" target="_blank" rel="nofollow noopener"&gt;MidnightBSD 1.2.7 out&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;MidnightBSD 1.2.7 is available via the FTP/HTTP and mirrors as well as github.&lt;br&gt;&lt;br&gt;
It includes several bug fixes and security updates over the last ISO release and is recommended for new installations.&lt;br&gt;&lt;br&gt;
Users who don't want to updatee the whole OS, should consider at least updating libmport as there are many package management fixes&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.firosolutions.com/2020/08/tarsnap-podcast/" target="_blank" rel="nofollow noopener"&gt;Tarsnap podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://students.engr.scu.edu/%7Esschaeck/netbsd/index.html" target="_blank" rel="nofollow noopener"&gt;NetBSD Tips and Tricks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackmd.io/hJgnfzd5TMK-VHgUzshA2g" target="_blank" rel="nofollow noopener"&gt;FreeBSD mini-git Primer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ghostbsd.org/financial_reports_from_January_to_June_2020" target="_blank" rel="nofollow noopener"&gt;GhostBSD Financial Reports&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/369/feedback/Daniel%20-%20Documentation%20Tooling.md" target="_blank" rel="nofollow noopener"&gt;Daniel - Documentation Tooling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/369/feedback/Fongaboo%20-%20Where%20did%20the%20ZFS%20Tutorial%20Go.md" target="_blank" rel="nofollow noopener"&gt;Fongaboo - Where did the ZFS tutorial Go?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/369/feedback/Johnny%20-%20Browser%20Cold%20Wars.md" target="_blank" rel="nofollow noopener"&gt;Johnny - Browser Cold Wars&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, berkeley, software, distribution, zfs, zpool, dataset, interview, ha, high availability, carp, pfsync, ifstated, development, emacs, rc.d, libexec, etc, end of life, release, opnsense, midnightbsd </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>High Availability Router/Firewall Using OpenBSD, CARP, pfsync, and ifstated, Building the Development Version of Emacs on NetBSD, rc.d belongs in libexec, not etc, FreeBSD 11.3 EOL, OPNsense 20.7.1 Released, MidnightBSD 1.2.7 out, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://dzone.com/articles/high-availability-routerfirewall-using-openbsd-car" target="_blank" rel="nofollow noopener">High Availability Router/Firewall Using OpenBSD, CARP, pfsync, and ifstated</a></h3>

<blockquote>
<p>I have been running OpenBSD on a Soekris net5501 for my router/firewall since early 2012. Because I run a multitude of services on this system (more on that later), the meager 500Mhz AMD Geode + 512MB SDRAM was starting to get a little sluggish while trying to do anything via the terminal. Despite the perceived performance hit during interactive SSH sessions, it still supported a full 100Mbit connection with NAT, so I wasn’t overly eager to change anything. Luckily though, my ISP increased the bandwidth available on my plan tier to 150Mbit+. Unfortunately, the Soekris only contained 4xVIA Rhine Fast Ethernet. So now, I was using a slow system and wasting money by not being able to fully utilize my connection.</p>
</blockquote>

<hr>

<h3><a href="https://lars.ingebrigtsen.no/2020/08/25/building-the-development-version-of-emacs-on-netbsd/" target="_blank" rel="nofollow noopener">Building the Development Version of Emacs on NetBSD</a></h3>

<blockquote>
<p>I hadn’t really planned on installing a NetBSD VM (after doing all the other two BSDs), but then a NetBSD-related Emacs bug report arrived.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jmmv.dev/2020/08/rcd-libexec-etc.html" target="_blank" rel="nofollow noopener">rc.d belongs in libexec, not etc</a></h3>

<blockquote>
<p>Let’s open with the controversy: the scripts that live under /etc/rc.d/ in FreeBSD, NetBSD, and OpenBSD are in the wrong place. They all should live in /libexec/rc.d/ because they are code, not configuration.<br>
This misplacement is something that has bugged me for ages but I never had the energy to open this can of worms back when I was very involved in NetBSD. I suspect it would have been a draining discussion and a very difficult thing to change.</p>
</blockquote>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2020-September/001982.html" target="_blank" rel="nofollow noopener">FreeBSD 11.3 EOL</a></h3>

<blockquote>
<p>As of September 30, 2020, FreeBSD 11.3 will reach end-of-life and will no longer<br>
be supported by the FreeBSD Security Team.  Users of FreeBSD 11.3 are strongly<br>
encouraged to upgrade to a newer release as soon as possible.</p>
</blockquote>

<hr>

<h3><a href="https://opnsense.org/opnsense-20-7-1-released/" target="_blank" rel="nofollow noopener">OPNsense 20.7.1 Released</a></h3>

<blockquote>
<p>Overall, the jump to HardenedBSD 12.1 is looking promising from our end. From the reported issues we still have more logging quirks to investigate and especially Netmap support (used in IPS and Sensei) is lacking in some areas that were previously working. Patches are being worked on already so we shall get there soon enough.  Stay tuned.</p>
</blockquote>

<hr>

<h3><a href="https://www.justjournal.com/users/mbsd/entry/33801" target="_blank" rel="nofollow noopener">MidnightBSD 1.2.7 out</a></h3>

<blockquote>
<p>MidnightBSD 1.2.7 is available via the FTP/HTTP and mirrors as well as github.<br><br>
It includes several bug fixes and security updates over the last ISO release and is recommended for new installations.<br><br>
Users who don't want to updatee the whole OS, should consider at least updating libmport as there are many package management fixes</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blog.firosolutions.com/2020/08/tarsnap-podcast/" target="_blank" rel="nofollow noopener">Tarsnap podcast</a></li>
<li><a href="http://students.engr.scu.edu/%7Esschaeck/netbsd/index.html" target="_blank" rel="nofollow noopener">NetBSD Tips and Tricks</a></li>
<li><a href="https://hackmd.io/hJgnfzd5TMK-VHgUzshA2g" target="_blank" rel="nofollow noopener">FreeBSD mini-git Primer</a></li>
<li><a href="https://ghostbsd.org/financial_reports_from_January_to_June_2020" target="_blank" rel="nofollow noopener">GhostBSD Financial Reports</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/369/feedback/Daniel%20-%20Documentation%20Tooling.md" target="_blank" rel="nofollow noopener">Daniel - Documentation Tooling</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/369/feedback/Fongaboo%20-%20Where%20did%20the%20ZFS%20Tutorial%20Go.md" target="_blank" rel="nofollow noopener">Fongaboo - Where did the ZFS tutorial Go?</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/369/feedback/Johnny%20-%20Browser%20Cold%20Wars.md" target="_blank" rel="nofollow noopener">Johnny - Browser Cold Wars</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>High Availability Router/Firewall Using OpenBSD, CARP, pfsync, and ifstated, Building the Development Version of Emacs on NetBSD, rc.d belongs in libexec, not etc, FreeBSD 11.3 EOL, OPNsense 20.7.1 Released, MidnightBSD 1.2.7 out, 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" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://dzone.com/articles/high-availability-routerfirewall-using-openbsd-car" target="_blank" rel="nofollow noopener">High Availability Router/Firewall Using OpenBSD, CARP, pfsync, and ifstated</a></h3>

<blockquote>
<p>I have been running OpenBSD on a Soekris net5501 for my router/firewall since early 2012. Because I run a multitude of services on this system (more on that later), the meager 500Mhz AMD Geode + 512MB SDRAM was starting to get a little sluggish while trying to do anything via the terminal. Despite the perceived performance hit during interactive SSH sessions, it still supported a full 100Mbit connection with NAT, so I wasn’t overly eager to change anything. Luckily though, my ISP increased the bandwidth available on my plan tier to 150Mbit+. Unfortunately, the Soekris only contained 4xVIA Rhine Fast Ethernet. So now, I was using a slow system and wasting money by not being able to fully utilize my connection.</p>
</blockquote>

<hr>

<h3><a href="https://lars.ingebrigtsen.no/2020/08/25/building-the-development-version-of-emacs-on-netbsd/" target="_blank" rel="nofollow noopener">Building the Development Version of Emacs on NetBSD</a></h3>

<blockquote>
<p>I hadn’t really planned on installing a NetBSD VM (after doing all the other two BSDs), but then a NetBSD-related Emacs bug report arrived.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jmmv.dev/2020/08/rcd-libexec-etc.html" target="_blank" rel="nofollow noopener">rc.d belongs in libexec, not etc</a></h3>

<blockquote>
<p>Let’s open with the controversy: the scripts that live under /etc/rc.d/ in FreeBSD, NetBSD, and OpenBSD are in the wrong place. They all should live in /libexec/rc.d/ because they are code, not configuration.<br>
This misplacement is something that has bugged me for ages but I never had the energy to open this can of worms back when I was very involved in NetBSD. I suspect it would have been a draining discussion and a very difficult thing to change.</p>
</blockquote>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2020-September/001982.html" target="_blank" rel="nofollow noopener">FreeBSD 11.3 EOL</a></h3>

<blockquote>
<p>As of September 30, 2020, FreeBSD 11.3 will reach end-of-life and will no longer<br>
be supported by the FreeBSD Security Team.  Users of FreeBSD 11.3 are strongly<br>
encouraged to upgrade to a newer release as soon as possible.</p>
</blockquote>

<hr>

<h3><a href="https://opnsense.org/opnsense-20-7-1-released/" target="_blank" rel="nofollow noopener">OPNsense 20.7.1 Released</a></h3>

<blockquote>
<p>Overall, the jump to HardenedBSD 12.1 is looking promising from our end. From the reported issues we still have more logging quirks to investigate and especially Netmap support (used in IPS and Sensei) is lacking in some areas that were previously working. Patches are being worked on already so we shall get there soon enough.  Stay tuned.</p>
</blockquote>

<hr>

<h3><a href="https://www.justjournal.com/users/mbsd/entry/33801" target="_blank" rel="nofollow noopener">MidnightBSD 1.2.7 out</a></h3>

<blockquote>
<p>MidnightBSD 1.2.7 is available via the FTP/HTTP and mirrors as well as github.<br><br>
It includes several bug fixes and security updates over the last ISO release and is recommended for new installations.<br><br>
Users who don't want to updatee the whole OS, should consider at least updating libmport as there are many package management fixes</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blog.firosolutions.com/2020/08/tarsnap-podcast/" target="_blank" rel="nofollow noopener">Tarsnap podcast</a></li>
<li><a href="http://students.engr.scu.edu/%7Esschaeck/netbsd/index.html" target="_blank" rel="nofollow noopener">NetBSD Tips and Tricks</a></li>
<li><a href="https://hackmd.io/hJgnfzd5TMK-VHgUzshA2g" target="_blank" rel="nofollow noopener">FreeBSD mini-git Primer</a></li>
<li><a href="https://ghostbsd.org/financial_reports_from_January_to_June_2020" target="_blank" rel="nofollow noopener">GhostBSD Financial Reports</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/369/feedback/Daniel%20-%20Documentation%20Tooling.md" target="_blank" rel="nofollow noopener">Daniel - Documentation Tooling</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/369/feedback/Fongaboo%20-%20Where%20did%20the%20ZFS%20Tutorial%20Go.md" target="_blank" rel="nofollow noopener">Fongaboo - Where did the ZFS tutorial Go?</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/369/feedback/Johnny%20-%20Browser%20Cold%20Wars.md" target="_blank" rel="nofollow noopener">Johnny - Browser Cold Wars</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>368: Changing OS roles</title>
  <link>https://www.bsdnow.tv/368</link>
  <guid isPermaLink="false">4d186dc4-b8ee-4824-bfcc-3bacf18ba5da</guid>
  <pubDate>Thu, 17 Sep 2020 06:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4d186dc4-b8ee-4824-bfcc-3bacf18ba5da.mp3" length="48070680" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Modernizing the OpenBSD Console, OS roles have changed, FreeBSD Cluster with Pacemaker and Corosync, Wine in a 32-bit sandbox on 64-bit NetBSD, Find package which provides a file in OpenBSD, and more.</itunes:subtitle>
  <itunes:duration>48:32</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>&lt;p&gt;Modernizing the OpenBSD Console, OS roles have changed, FreeBSD Cluster with Pacemaker and Corosync, Wine in a 32-bit sandbox on 64-bit NetBSD, Find package which provides a file in OpenBSD, and more. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/modernizing-the-openbsd-console/" target="_blank" rel="nofollow noopener"&gt;Modernizing the OpenBSD Console&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;At the beginning were text mode consoles. Traditionally, *BSD and Linux on i386 and amd64 used text mode consoles which by default provided 25 rows of 80 columns, the "80x25 mode". This mode uses a 8x16 font stored in the VGA BIOS (which can be slightly different across vendors).&lt;br&gt;
OpenBSD uses the wscons(4) console framework, inherited from NetBSD&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/the-roles-of-oss-have-changed/" target="_blank" rel="nofollow noopener"&gt;OS roles have changed&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Though I do wonder sometimes, with just a slight tweak to history, how things might have been different. In another dimension somewhere, I’m using the latest BeOS-powered PowerPC laptop, and a shiny new Palm smartphone. Both of these represented the pinnacle of UI design in the 1990s, and still in the 2020s have yet to be surpassed. People call me an Apple fanboy, but I’d drop all of it in a second for that gear.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://vermaden.wordpress.com/2020/09/03/freebsd-cluster-with-pacemaker-and-corosync/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Cluster with Pacemaker and Corosync&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I always missed ‘proper’ cluster software for FreeBSD systems. Recently I got to run several Pacemaker/Corosync based clusters on Linux systems. I thought how to make similar high availability solutions on FreeBSD and I was really shocked when I figured out that both Pacemaker and Corosync tools are available in the FreeBSD Ports and packages as net/pacemaker2 and net/corosync2 respectively.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://washbear.neocities.org/wine-sandbox.html" target="_blank" rel="nofollow noopener"&gt;Wine in a 32-bit sandbox on 64-bit NetBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;"Mainline pkgsrc" can't do strange multi-arch Wine builds yet, so a 32-bit sandbox seems like a reasonable way to use 32-bit Wine on amd64 without resorting to running real Windows in NVMM. We'll see if this was a viable alternative to re-reviewing the multi-arch support in pkgsrc-wip...&lt;br&gt;
We're using sandboxctl, which is a neat tool for quickly shelling into a different NetBSD userspace. Maybe you also don't trust the Windows applications you're running too much - sandboxctl creates a chroot based on a fresh system image, and chroot on NetBSD is fairly bombproof.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2020-09-04-pkglocate-openbsd.html" target="_blank" rel="nofollow noopener"&gt;Find package which provides a file in OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;There is one very handy package on OpenBSD named pkglocatedb which provides the command pkglocate.&lt;br&gt;
If you need to find a file or binary/program and you don’t know which package contains it, use pkglocate.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=oTShQIXSdqM" target="_blank" rel="nofollow noopener"&gt;OpenBSD for 1.5 Years: Confessions of a Linux Heretic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20200831192811" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.8 Beta Tagged&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2020/09/08/24933.html" target="_blank" rel="nofollow noopener"&gt;Hammer2 and growth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.thezdi.com/blog/2020/9/1/cve-2020-7460-freebsd-kernel-privilege-escalation" target="_blank" rel="nofollow noopener"&gt;Understanding a FreeBSD kernel vulnerability&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/368/feedback/Bruce%20-%207%20years.md" target="_blank" rel="nofollow noopener"&gt;Rob - 7 years&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/368/feedback/Kurt%20-%20Microserver.md" target="_blank" rel="nofollow noopener"&gt;Kurt - Microserver&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/368/feedback/Rob%20-%20Interviews.md" target="_blank" rel="nofollow noopener"&gt;Rob - Interviews&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, berkeley, software, distribution, zfs, zpool, dataset, interview, console, modernizing, modern, operating system, role, cluster, pacemaker, corosync, wine, 32-bit, 64-bit, sandbox, package manager</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Modernizing the OpenBSD Console, OS roles have changed, FreeBSD Cluster with Pacemaker and Corosync, Wine in a 32-bit sandbox on 64-bit NetBSD, Find package which provides a file in OpenBSD, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.cambus.net/modernizing-the-openbsd-console/" target="_blank" rel="nofollow noopener">Modernizing the OpenBSD Console</a></h3>

<blockquote>
<p>At the beginning were text mode consoles. Traditionally, *BSD and Linux on i386 and amd64 used text mode consoles which by default provided 25 rows of 80 columns, the "80x25 mode". This mode uses a 8x16 font stored in the VGA BIOS (which can be slightly different across vendors).<br>
OpenBSD uses the wscons(4) console framework, inherited from NetBSD</p>

<hr>
</blockquote>

<h3><a href="https://rubenerd.com/the-roles-of-oss-have-changed/" target="_blank" rel="nofollow noopener">OS roles have changed</a></h3>

<blockquote>
<p>Though I do wonder sometimes, with just a slight tweak to history, how things might have been different. In another dimension somewhere, I’m using the latest BeOS-powered PowerPC laptop, and a shiny new Palm smartphone. Both of these represented the pinnacle of UI design in the 1990s, and still in the 2020s have yet to be surpassed. People call me an Apple fanboy, but I’d drop all of it in a second for that gear.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://vermaden.wordpress.com/2020/09/03/freebsd-cluster-with-pacemaker-and-corosync/" target="_blank" rel="nofollow noopener">FreeBSD Cluster with Pacemaker and Corosync</a></h3>

<blockquote>
<p>I always missed ‘proper’ cluster software for FreeBSD systems. Recently I got to run several Pacemaker/Corosync based clusters on Linux systems. I thought how to make similar high availability solutions on FreeBSD and I was really shocked when I figured out that both Pacemaker and Corosync tools are available in the FreeBSD Ports and packages as net/pacemaker2 and net/corosync2 respectively.</p>

<hr>
</blockquote>

<h3><a href="https://washbear.neocities.org/wine-sandbox.html" target="_blank" rel="nofollow noopener">Wine in a 32-bit sandbox on 64-bit NetBSD</a></h3>

<blockquote>
<p>"Mainline pkgsrc" can't do strange multi-arch Wine builds yet, so a 32-bit sandbox seems like a reasonable way to use 32-bit Wine on amd64 without resorting to running real Windows in NVMM. We'll see if this was a viable alternative to re-reviewing the multi-arch support in pkgsrc-wip...<br>
We're using sandboxctl, which is a neat tool for quickly shelling into a different NetBSD userspace. Maybe you also don't trust the Windows applications you're running too much - sandboxctl creates a chroot based on a fresh system image, and chroot on NetBSD is fairly bombproof.</p>

<hr>
</blockquote>

<h3><a href="https://dataswamp.org/%7Esolene/2020-09-04-pkglocate-openbsd.html" target="_blank" rel="nofollow noopener">Find package which provides a file in OpenBSD</a></h3>

<blockquote>
<p>There is one very handy package on OpenBSD named pkglocatedb which provides the command pkglocate.<br>
If you need to find a file or binary/program and you don’t know which package contains it, use pkglocate.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=oTShQIXSdqM" target="_blank" rel="nofollow noopener">OpenBSD for 1.5 Years: Confessions of a Linux Heretic</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20200831192811" target="_blank" rel="nofollow noopener">OpenBSD 6.8 Beta Tagged</a></li>
<li><a href="https://www.dragonflydigest.com/2020/09/08/24933.html" target="_blank" rel="nofollow noopener">Hammer2 and growth</a></li>
<li><a href="https://www.thezdi.com/blog/2020/9/1/cve-2020-7460-freebsd-kernel-privilege-escalation" target="_blank" rel="nofollow noopener">Understanding a FreeBSD kernel vulnerability</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/368/feedback/Bruce%20-%207%20years.md" target="_blank" rel="nofollow noopener">Rob - 7 years</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/368/feedback/Kurt%20-%20Microserver.md" target="_blank" rel="nofollow noopener">Kurt - Microserver</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/368/feedback/Rob%20-%20Interviews.md" target="_blank" rel="nofollow noopener">Rob - Interviews</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Modernizing the OpenBSD Console, OS roles have changed, FreeBSD Cluster with Pacemaker and Corosync, Wine in a 32-bit sandbox on 64-bit NetBSD, Find package which provides a file in OpenBSD, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.cambus.net/modernizing-the-openbsd-console/" target="_blank" rel="nofollow noopener">Modernizing the OpenBSD Console</a></h3>

<blockquote>
<p>At the beginning were text mode consoles. Traditionally, *BSD and Linux on i386 and amd64 used text mode consoles which by default provided 25 rows of 80 columns, the "80x25 mode". This mode uses a 8x16 font stored in the VGA BIOS (which can be slightly different across vendors).<br>
OpenBSD uses the wscons(4) console framework, inherited from NetBSD</p>

<hr>
</blockquote>

<h3><a href="https://rubenerd.com/the-roles-of-oss-have-changed/" target="_blank" rel="nofollow noopener">OS roles have changed</a></h3>

<blockquote>
<p>Though I do wonder sometimes, with just a slight tweak to history, how things might have been different. In another dimension somewhere, I’m using the latest BeOS-powered PowerPC laptop, and a shiny new Palm smartphone. Both of these represented the pinnacle of UI design in the 1990s, and still in the 2020s have yet to be surpassed. People call me an Apple fanboy, but I’d drop all of it in a second for that gear.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://vermaden.wordpress.com/2020/09/03/freebsd-cluster-with-pacemaker-and-corosync/" target="_blank" rel="nofollow noopener">FreeBSD Cluster with Pacemaker and Corosync</a></h3>

<blockquote>
<p>I always missed ‘proper’ cluster software for FreeBSD systems. Recently I got to run several Pacemaker/Corosync based clusters on Linux systems. I thought how to make similar high availability solutions on FreeBSD and I was really shocked when I figured out that both Pacemaker and Corosync tools are available in the FreeBSD Ports and packages as net/pacemaker2 and net/corosync2 respectively.</p>

<hr>
</blockquote>

<h3><a href="https://washbear.neocities.org/wine-sandbox.html" target="_blank" rel="nofollow noopener">Wine in a 32-bit sandbox on 64-bit NetBSD</a></h3>

<blockquote>
<p>"Mainline pkgsrc" can't do strange multi-arch Wine builds yet, so a 32-bit sandbox seems like a reasonable way to use 32-bit Wine on amd64 without resorting to running real Windows in NVMM. We'll see if this was a viable alternative to re-reviewing the multi-arch support in pkgsrc-wip...<br>
We're using sandboxctl, which is a neat tool for quickly shelling into a different NetBSD userspace. Maybe you also don't trust the Windows applications you're running too much - sandboxctl creates a chroot based on a fresh system image, and chroot on NetBSD is fairly bombproof.</p>

<hr>
</blockquote>

<h3><a href="https://dataswamp.org/%7Esolene/2020-09-04-pkglocate-openbsd.html" target="_blank" rel="nofollow noopener">Find package which provides a file in OpenBSD</a></h3>

<blockquote>
<p>There is one very handy package on OpenBSD named pkglocatedb which provides the command pkglocate.<br>
If you need to find a file or binary/program and you don’t know which package contains it, use pkglocate.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=oTShQIXSdqM" target="_blank" rel="nofollow noopener">OpenBSD for 1.5 Years: Confessions of a Linux Heretic</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20200831192811" target="_blank" rel="nofollow noopener">OpenBSD 6.8 Beta Tagged</a></li>
<li><a href="https://www.dragonflydigest.com/2020/09/08/24933.html" target="_blank" rel="nofollow noopener">Hammer2 and growth</a></li>
<li><a href="https://www.thezdi.com/blog/2020/9/1/cve-2020-7460-freebsd-kernel-privilege-escalation" target="_blank" rel="nofollow noopener">Understanding a FreeBSD kernel vulnerability</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/368/feedback/Bruce%20-%207%20years.md" target="_blank" rel="nofollow noopener">Rob - 7 years</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/368/feedback/Kurt%20-%20Microserver.md" target="_blank" rel="nofollow noopener">Kurt - Microserver</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/368/feedback/Rob%20-%20Interviews.md" target="_blank" rel="nofollow noopener">Rob - Interviews</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>367: Changing jail datasets</title>
  <link>https://www.bsdnow.tv/367</link>
  <guid isPermaLink="false">056d15d3-4908-4073-955a-88e7700ba566</guid>
  <pubDate>Thu, 10 Sep 2020 06:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/056d15d3-4908-4073-955a-88e7700ba566.mp3" length="47196984" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>A 35 Year Old Bug in Patch, Sandbox for FreeBSD, Changing from one dataset to another within a jail, You don’t need tmux or screen for ZFS, HardenedBSD August 2020 Status Report and Call for Donations, and more.</itunes:subtitle>
  <itunes:duration>45:28</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>&lt;p&gt;A 35 Year Old Bug in Patch, Sandbox for FreeBSD, Changing from one dataset to another within a jail, You don’t need tmux or screen for ZFS, HardenedBSD August 2020 Status Report and Call for Donations, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://bsdimp.blogspot.com/2020/08/a-35-year-old-bug-in-patch-found-in.html" target="_blank" rel="nofollow noopener"&gt;A 35 Year Old Bug in Patch&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Larry Wall posted patch 1.3 to mod.sources on May 8, 1985. A number of versions followed over the years. It's been a faithful alley for a long, long time. I've never had a problem with patch until I embarked on the 2.11BSD restoration project. In going over the logs very carefully, I've discovered a bug that bites this effort twice. It's quite interesting to use 27 year old patches to find this bug while restoring a 29 year old OS...&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.relkom.sk/en/fbsd_sandbox.shtml" target="_blank" rel="nofollow noopener"&gt;Sandbox for FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A sandbox is a software which artificially limits access to the specific resources on the target according to the assigned policy. The sandbox installs hooks to the kernel syscalls and other sub-systems in order to interrupt the events triggered by the application. From the application point of view, application working as usual, but when it wants to access, for instance, /dev/kmem the sandbox software decides against the assigned sandbox scheme whether to grant or deny access.&lt;br&gt;
In our case, the sandbox is a kernel module which uses MAC (Mandatory Access Control) Framework developed by the TrustedBSD team. All necessary hooks were introduced to the FreeBSD kernel.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gitlab.com/relkom/sandbox" target="_blank" rel="nofollow noopener"&gt;Source Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.relkom.sk/en/fbsd_sandbox_docs.shtml" target="_blank" rel="nofollow noopener"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2020/08/16/changing-from-one-dataset-to-another-within-a-freebsd-iocage-jail/" target="_blank" rel="nofollow noopener"&gt;Changing from one dataset to another within a jail&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;ZFS has a the ability to share itself within a jail. That gives the jail some autonomy, and I like that.&lt;br&gt;
I’ve written briefly about that, specifically for iocage. More recently, I started using a zfs snapshot for caching clearing.&lt;br&gt;
The purpose of this post is to document the existing configuration of the production FreshPorts webserver and outline the plan on how to modify it for more zfs-snapshot-based cache clearing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/you-dont-need-tmux-or-screen-for-zfs/" target="_blank" rel="nofollow noopener"&gt;You don’t need tmux or screen for ZFS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Back in January I mentioned how to add redundancy to a ZFS pool by adding a mirrored drive. Someone with a private account on Twitter asked me why FreeBSD—and NetBSD!—doesn’t ship with a tmux or screen equivilent in base in order to daemonise the process and let them run in the background.&lt;br&gt;
ZFS already does this for its internal commands.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2020-08-15/hardenedbsd-august-2020-status-report-and-call-donations" target="_blank" rel="nofollow noopener"&gt;HardenedBSD August 2020 Status Report and Call for Donations&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This last month has largely been a quiet one. I've restarted work on porting five-year-old work from the Code Pointer Integrity (CPI) project into HardenedBSD. Chiefly, I've started forward-porting the libc and rtld bits from the CPI project and now need to look at llvm compiler/linker enhancements. We need to be able to apply SafeStack to shared objects, not just application binaries. This forward-porting work I'm doing is to support that effort.&lt;br&gt;
The infrastructure has settled and is now churning normally and happily. We're still working out bandwidth issues. We hope to have a new fiber line ran by the end of September.&lt;br&gt;
As part of this status report, I'm issuing a formal call for donations. I'm aiming for $4,000.00 USD for a newer self-hosted Gitea server. I hope to purchase the new server before the end of 2020.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/TimeBeforeReadline" target="_blank" rel="nofollow noopener"&gt;Important parts of Unix's history happened before readline support was common&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Unix and things that run on Unix have been around for a long time now. In particular, GNU Readline was first released in 1989 (as was Bash), which is long enough ago for it (or lookalikes) to become pretty much pervasive, especially in Unix shells. Today it's easy to think of readline support as something that's always been there. But of course this isn't the case. Unix in its modern form dates from V7 in 1979 and 4.2 BSD in 1983, so a lot of Unix was developed before readline and was to some degree shaped by the lack of it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/367/feedback/Mason%20-%20mailserver.md" target="_blank" rel="nofollow noopener"&gt;Mason - mailserver&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/367/feedback/casey%20-%20freebsd%20on%20decline.md" target="_blank" rel="nofollow noopener"&gt;casey - freebsd on decline&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/367/feedback/denis%20-%20postgres.md" target="_blank" rel="nofollow noopener"&gt;denis - postgres&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, berkeley, software, distribution, zfs, interview, patch, bug, bugfix, sandbox, dataset, jail, tmux, screen, status, status report, call for donations, donation</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>A 35 Year Old Bug in Patch, Sandbox for FreeBSD, Changing from one dataset to another within a jail, You don’t need tmux or screen for ZFS, HardenedBSD August 2020 Status Report and Call for Donations, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="http://bsdimp.blogspot.com/2020/08/a-35-year-old-bug-in-patch-found-in.html" target="_blank" rel="nofollow noopener">A 35 Year Old Bug in Patch</a></h3>

<blockquote>
<p>Larry Wall posted patch 1.3 to mod.sources on May 8, 1985. A number of versions followed over the years. It's been a faithful alley for a long, long time. I've never had a problem with patch until I embarked on the 2.11BSD restoration project. In going over the logs very carefully, I've discovered a bug that bites this effort twice. It's quite interesting to use 27 year old patches to find this bug while restoring a 29 year old OS...</p>
</blockquote>

<hr>

<h3><a href="https://www.relkom.sk/en/fbsd_sandbox.shtml" target="_blank" rel="nofollow noopener">Sandbox for FreeBSD</a></h3>

<blockquote>
<p>A sandbox is a software which artificially limits access to the specific resources on the target according to the assigned policy. The sandbox installs hooks to the kernel syscalls and other sub-systems in order to interrupt the events triggered by the application. From the application point of view, application working as usual, but when it wants to access, for instance, /dev/kmem the sandbox software decides against the assigned sandbox scheme whether to grant or deny access.<br>
In our case, the sandbox is a kernel module which uses MAC (Mandatory Access Control) Framework developed by the TrustedBSD team. All necessary hooks were introduced to the FreeBSD kernel.</p>
</blockquote>

<ul>
<li><a href="https://gitlab.com/relkom/sandbox" target="_blank" rel="nofollow noopener">Source Code</a></li>
<li><a href="https://www.relkom.sk/en/fbsd_sandbox_docs.shtml" target="_blank" rel="nofollow noopener">Documentation</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dan.langille.org/2020/08/16/changing-from-one-dataset-to-another-within-a-freebsd-iocage-jail/" target="_blank" rel="nofollow noopener">Changing from one dataset to another within a jail</a></h3>

<blockquote>
<p>ZFS has a the ability to share itself within a jail. That gives the jail some autonomy, and I like that.<br>
I’ve written briefly about that, specifically for iocage. More recently, I started using a zfs snapshot for caching clearing.<br>
The purpose of this post is to document the existing configuration of the production FreshPorts webserver and outline the plan on how to modify it for more zfs-snapshot-based cache clearing.</p>
</blockquote>

<hr>

<h3><a href="https://rubenerd.com/you-dont-need-tmux-or-screen-for-zfs/" target="_blank" rel="nofollow noopener">You don’t need tmux or screen for ZFS</a></h3>

<blockquote>
<p>Back in January I mentioned how to add redundancy to a ZFS pool by adding a mirrored drive. Someone with a private account on Twitter asked me why FreeBSD—and NetBSD!—doesn’t ship with a tmux or screen equivilent in base in order to daemonise the process and let them run in the background.<br>
ZFS already does this for its internal commands.</p>
</blockquote>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2020-08-15/hardenedbsd-august-2020-status-report-and-call-donations" target="_blank" rel="nofollow noopener">HardenedBSD August 2020 Status Report and Call for Donations</a></h3>

<blockquote>
<p>This last month has largely been a quiet one. I've restarted work on porting five-year-old work from the Code Pointer Integrity (CPI) project into HardenedBSD. Chiefly, I've started forward-porting the libc and rtld bits from the CPI project and now need to look at llvm compiler/linker enhancements. We need to be able to apply SafeStack to shared objects, not just application binaries. This forward-porting work I'm doing is to support that effort.<br>
The infrastructure has settled and is now churning normally and happily. We're still working out bandwidth issues. We hope to have a new fiber line ran by the end of September.<br>
As part of this status report, I'm issuing a formal call for donations. I'm aiming for $4,000.00 USD for a newer self-hosted Gitea server. I hope to purchase the new server before the end of 2020.</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/TimeBeforeReadline" target="_blank" rel="nofollow noopener">Important parts of Unix's history happened before readline support was common</a></h3>

<blockquote>
<p>Unix and things that run on Unix have been around for a long time now. In particular, GNU Readline was first released in 1989 (as was Bash), which is long enough ago for it (or lookalikes) to become pretty much pervasive, especially in Unix shells. Today it's easy to think of readline support as something that's always been there. But of course this isn't the case. Unix in its modern form dates from V7 in 1979 and 4.2 BSD in 1983, so a lot of Unix was developed before readline and was to some degree shaped by the lack of it.</p>
</blockquote>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/367/feedback/Mason%20-%20mailserver.md" target="_blank" rel="nofollow noopener">Mason - mailserver</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/367/feedback/casey%20-%20freebsd%20on%20decline.md" target="_blank" rel="nofollow noopener">casey - freebsd on decline</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/367/feedback/denis%20-%20postgres.md" target="_blank" rel="nofollow noopener">denis - postgres</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>A 35 Year Old Bug in Patch, Sandbox for FreeBSD, Changing from one dataset to another within a jail, You don’t need tmux or screen for ZFS, HardenedBSD August 2020 Status Report and Call for Donations, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="http://bsdimp.blogspot.com/2020/08/a-35-year-old-bug-in-patch-found-in.html" target="_blank" rel="nofollow noopener">A 35 Year Old Bug in Patch</a></h3>

<blockquote>
<p>Larry Wall posted patch 1.3 to mod.sources on May 8, 1985. A number of versions followed over the years. It's been a faithful alley for a long, long time. I've never had a problem with patch until I embarked on the 2.11BSD restoration project. In going over the logs very carefully, I've discovered a bug that bites this effort twice. It's quite interesting to use 27 year old patches to find this bug while restoring a 29 year old OS...</p>
</blockquote>

<hr>

<h3><a href="https://www.relkom.sk/en/fbsd_sandbox.shtml" target="_blank" rel="nofollow noopener">Sandbox for FreeBSD</a></h3>

<blockquote>
<p>A sandbox is a software which artificially limits access to the specific resources on the target according to the assigned policy. The sandbox installs hooks to the kernel syscalls and other sub-systems in order to interrupt the events triggered by the application. From the application point of view, application working as usual, but when it wants to access, for instance, /dev/kmem the sandbox software decides against the assigned sandbox scheme whether to grant or deny access.<br>
In our case, the sandbox is a kernel module which uses MAC (Mandatory Access Control) Framework developed by the TrustedBSD team. All necessary hooks were introduced to the FreeBSD kernel.</p>
</blockquote>

<ul>
<li><a href="https://gitlab.com/relkom/sandbox" target="_blank" rel="nofollow noopener">Source Code</a></li>
<li><a href="https://www.relkom.sk/en/fbsd_sandbox_docs.shtml" target="_blank" rel="nofollow noopener">Documentation</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dan.langille.org/2020/08/16/changing-from-one-dataset-to-another-within-a-freebsd-iocage-jail/" target="_blank" rel="nofollow noopener">Changing from one dataset to another within a jail</a></h3>

<blockquote>
<p>ZFS has a the ability to share itself within a jail. That gives the jail some autonomy, and I like that.<br>
I’ve written briefly about that, specifically for iocage. More recently, I started using a zfs snapshot for caching clearing.<br>
The purpose of this post is to document the existing configuration of the production FreshPorts webserver and outline the plan on how to modify it for more zfs-snapshot-based cache clearing.</p>
</blockquote>

<hr>

<h3><a href="https://rubenerd.com/you-dont-need-tmux-or-screen-for-zfs/" target="_blank" rel="nofollow noopener">You don’t need tmux or screen for ZFS</a></h3>

<blockquote>
<p>Back in January I mentioned how to add redundancy to a ZFS pool by adding a mirrored drive. Someone with a private account on Twitter asked me why FreeBSD—and NetBSD!—doesn’t ship with a tmux or screen equivilent in base in order to daemonise the process and let them run in the background.<br>
ZFS already does this for its internal commands.</p>
</blockquote>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2020-08-15/hardenedbsd-august-2020-status-report-and-call-donations" target="_blank" rel="nofollow noopener">HardenedBSD August 2020 Status Report and Call for Donations</a></h3>

<blockquote>
<p>This last month has largely been a quiet one. I've restarted work on porting five-year-old work from the Code Pointer Integrity (CPI) project into HardenedBSD. Chiefly, I've started forward-porting the libc and rtld bits from the CPI project and now need to look at llvm compiler/linker enhancements. We need to be able to apply SafeStack to shared objects, not just application binaries. This forward-porting work I'm doing is to support that effort.<br>
The infrastructure has settled and is now churning normally and happily. We're still working out bandwidth issues. We hope to have a new fiber line ran by the end of September.<br>
As part of this status report, I'm issuing a formal call for donations. I'm aiming for $4,000.00 USD for a newer self-hosted Gitea server. I hope to purchase the new server before the end of 2020.</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/TimeBeforeReadline" target="_blank" rel="nofollow noopener">Important parts of Unix's history happened before readline support was common</a></h3>

<blockquote>
<p>Unix and things that run on Unix have been around for a long time now. In particular, GNU Readline was first released in 1989 (as was Bash), which is long enough ago for it (or lookalikes) to become pretty much pervasive, especially in Unix shells. Today it's easy to think of readline support as something that's always been there. But of course this isn't the case. Unix in its modern form dates from V7 in 1979 and 4.2 BSD in 1983, so a lot of Unix was developed before readline and was to some degree shaped by the lack of it.</p>
</blockquote>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/367/feedback/Mason%20-%20mailserver.md" target="_blank" rel="nofollow noopener">Mason - mailserver</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/367/feedback/casey%20-%20freebsd%20on%20decline.md" target="_blank" rel="nofollow noopener">casey - freebsd on decline</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/367/feedback/denis%20-%20postgres.md" target="_blank" rel="nofollow noopener">denis - postgres</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>366: Bootloader zpool checkpoints</title>
  <link>https://www.bsdnow.tv/366</link>
  <guid isPermaLink="false">ac66cef0-02a8-44b9-b915-813b8e26c643</guid>
  <pubDate>Thu, 03 Sep 2020 06:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ac66cef0-02a8-44b9-b915-813b8e26c643.mp3" length="54891512" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenZFS with ZSTD lands in FreeBSD 13, LibreSSL doc status update, FreeBSD on SPARC64 (is dead), Bringing zpool checkpoints to a FreeBSD bootloader, and more</itunes:subtitle>
  <itunes:duration>53:02</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>&lt;p&gt;OpenZFS with ZSTD lands in FreeBSD 13, LibreSSL doc status update, FreeBSD on SPARC64 (is dead), Bringing zpool checkpoints to a FreeBSD bootloader, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=364746" target="_blank" rel="nofollow noopener"&gt;OpenZFS with ZSTD land in FreeBSD 13&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/openzfs/zfs/commit/10b3c7f5e424f54b3ba82dbf1600d866e64ec0a0" target="_blank" rel="nofollow noopener"&gt;ZStandard Compression for OpenZFS&lt;/a&gt;
&amp;gt; The primary benefit is maintaining a completely shared code base with the community allowing FreeBSD to receive new features sooner and with less effort.
&amp;gt; I would advise against doing 'zpool upgrade' or creating indispensable pools using new features until this change has had a month+ to soak.&lt;/li&gt;
&lt;li&gt;Rebasing FreeBSD’s OpenZFS on the new upstream was sponsored by iXsystems&lt;/li&gt;
&lt;li&gt;The competition of ZSTD support for OpenZFS was sponsored by the FreeBSD Foundation
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20200817063735" target="_blank" rel="nofollow noopener"&gt;LibreSSL documentation status update&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;More than six years ago, LibreSSL was forked from OpenSSL, and almost two years ago, i explained the status of LibreSSL documentation during EuroBSDCon 2018 in Bucuresti. So it seems providing an update might be in order.&lt;br&gt;
Note that this is not an update regarding LibreSSL status in general because i'm not the right person to talk about the big picture of working on the LibreSSL code, my work has been quite focussed on documentation. All the same, it is fair to say that even though the number of developers working on it is somewhat limited, the LibreSSL project is quite alive, typically having a release every few months. Progress continues being made with respect to porting and adding new functionality (for example regarding TLSv1.3, CMS, RSA-PSS, RSA-OAEP, GOST, SM3, SM4, XChaCha20 during the last two years), OpenSSL compatibility improvements (including providing additional OpenSSL-1.1 APIs), and lots of bug fixes and code cleanup.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://eerielinux.wordpress.com/2020/02/15/freebsd-on-sparc64-is-dead/" target="_blank" rel="nofollow noopener"&gt;FreeBSD on SPARC64 (is dead)&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;’m coming pretty late to the party, because SPARC64 support in FreeBSD is apparently doomed: After the POWER platform made the switch to a LLVM/Clang-based toolchain, SPARC64 is one of the last ones that still uses the ancient GCC 4.2-based toolchain that the project wants to finally get rid off (it has already happened as I was writing this – looks like the firm plan was not so firm after all, since they killed it off early). And compared to the other platforms it has seen not too much love in recent times… SPARC64 being a great platform, I’d be quite sad to see it go. But before that happens let’s see what the current status is and what would need to be done if it were to survive, shall we?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.oshogbo.vexillium.org/blog/79/" target="_blank" rel="nofollow noopener"&gt;Bringing zpool checkpoints to a FreeBSD bootloader&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Almost two years ago I wrote a blog post about checkpoints in ZFS. I didn’t hide that I was a big fan of them. That said, after those two years, I still feel that there are underappreciated features in the ZFS world, so I decided to do something about that.&lt;br&gt;
Currently, one of the best practices for upgrading your operating system is to use boot environments. They are a great feature for managing multiple kernels and userlands. They are based on juggling which ZFS datasets are mounted. Each dataset has its own version of the system. Unfortunately, boot environments have their limitations. If we, for example, upgrade our ZFS pool, we may not be able to use older versions of the system anymore. &lt;br&gt;
The big advantage of boot environments is that they have very good tools. Two main tools are beadm (which was created by vermaden) and bectl (which currently is in the FreeBSD base system). These tools allow us to create and manage boot environments.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://documents.uow.edu.au/content/groups/public/@web/@inf/@scsse/documents/doc/uow103747.pdf" target="_blank" rel="nofollow noopener"&gt;The First Unix Port&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/7346" target="_blank" rel="nofollow noopener"&gt;TLS Mastery updates, August 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ww60o940kEk" target="_blank" rel="nofollow noopener"&gt;What is the Oldest BSD Distribution still around today&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/366/feedback/ben%20-%20zfs%20send%20questions.md" target="_blank" rel="nofollow noopener"&gt;ben - zfs send questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/366/feedback/lars%20-%20zfs%20pool%20question.md" target="_blank" rel="nofollow noopener"&gt;lars - zfs pool question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/366/feedback/neutron%20-%20bectl%20vs%20beadm.md" target="_blank" rel="nofollow noopener"&gt;neutron - bectl vs beadm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, berkeley, software, distribution, zfs, interview, libressl, ssl, documentation, doc, status, status update, sparc64, zpool, checkpoint, bootloader</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenZFS with ZSTD lands in FreeBSD 13, LibreSSL doc status update, FreeBSD on SPARC64 (is dead), Bringing zpool checkpoints to a FreeBSD bootloader, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=364746" target="_blank" rel="nofollow noopener">OpenZFS with ZSTD land in FreeBSD 13</a></h3>

<ul>
<li><a href="https://github.com/openzfs/zfs/commit/10b3c7f5e424f54b3ba82dbf1600d866e64ec0a0" target="_blank" rel="nofollow noopener">ZStandard Compression for OpenZFS</a>
&gt; The primary benefit is maintaining a completely shared code base with the community allowing FreeBSD to receive new features sooner and with less effort.
&gt; I would advise against doing 'zpool upgrade' or creating indispensable pools using new features until this change has had a month+ to soak.</li>
<li>Rebasing FreeBSD’s OpenZFS on the new upstream was sponsored by iXsystems</li>
<li>The competition of ZSTD support for OpenZFS was sponsored by the FreeBSD Foundation
***</li>
</ul>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20200817063735" target="_blank" rel="nofollow noopener">LibreSSL documentation status update</a></h3>

<blockquote>
<p>More than six years ago, LibreSSL was forked from OpenSSL, and almost two years ago, i explained the status of LibreSSL documentation during EuroBSDCon 2018 in Bucuresti. So it seems providing an update might be in order.<br>
Note that this is not an update regarding LibreSSL status in general because i'm not the right person to talk about the big picture of working on the LibreSSL code, my work has been quite focussed on documentation. All the same, it is fair to say that even though the number of developers working on it is somewhat limited, the LibreSSL project is quite alive, typically having a release every few months. Progress continues being made with respect to porting and adding new functionality (for example regarding TLSv1.3, CMS, RSA-PSS, RSA-OAEP, GOST, SM3, SM4, XChaCha20 during the last two years), OpenSSL compatibility improvements (including providing additional OpenSSL-1.1 APIs), and lots of bug fixes and code cleanup.</p>
</blockquote>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2020/02/15/freebsd-on-sparc64-is-dead/" target="_blank" rel="nofollow noopener">FreeBSD on SPARC64 (is dead)</a></h3>

<blockquote>
<p>’m coming pretty late to the party, because SPARC64 support in FreeBSD is apparently doomed: After the POWER platform made the switch to a LLVM/Clang-based toolchain, SPARC64 is one of the last ones that still uses the ancient GCC 4.2-based toolchain that the project wants to finally get rid off (it has already happened as I was writing this – looks like the firm plan was not so firm after all, since they killed it off early). And compared to the other platforms it has seen not too much love in recent times… SPARC64 being a great platform, I’d be quite sad to see it go. But before that happens let’s see what the current status is and what would need to be done if it were to survive, shall we?</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.oshogbo.vexillium.org/blog/79/" target="_blank" rel="nofollow noopener">Bringing zpool checkpoints to a FreeBSD bootloader</a></h3>

<blockquote>
<p>Almost two years ago I wrote a blog post about checkpoints in ZFS. I didn’t hide that I was a big fan of them. That said, after those two years, I still feel that there are underappreciated features in the ZFS world, so I decided to do something about that.<br>
Currently, one of the best practices for upgrading your operating system is to use boot environments. They are a great feature for managing multiple kernels and userlands. They are based on juggling which ZFS datasets are mounted. Each dataset has its own version of the system. Unfortunately, boot environments have their limitations. If we, for example, upgrade our ZFS pool, we may not be able to use older versions of the system anymore. <br>
The big advantage of boot environments is that they have very good tools. Two main tools are beadm (which was created by vermaden) and bectl (which currently is in the FreeBSD base system). These tools allow us to create and manage boot environments.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://documents.uow.edu.au/content/groups/public/@web/@inf/@scsse/documents/doc/uow103747.pdf" target="_blank" rel="nofollow noopener">The First Unix Port</a></li>
<li><a href="https://mwl.io/archives/7346" target="_blank" rel="nofollow noopener">TLS Mastery updates, August 2020</a></li>
<li><a href="https://www.youtube.com/watch?v=ww60o940kEk" target="_blank" rel="nofollow noopener">What is the Oldest BSD Distribution still around today</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/366/feedback/ben%20-%20zfs%20send%20questions.md" target="_blank" rel="nofollow noopener">ben - zfs send questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/366/feedback/lars%20-%20zfs%20pool%20question.md" target="_blank" rel="nofollow noopener">lars - zfs pool question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/366/feedback/neutron%20-%20bectl%20vs%20beadm.md" target="_blank" rel="nofollow noopener">neutron - bectl vs beadm</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenZFS with ZSTD lands in FreeBSD 13, LibreSSL doc status update, FreeBSD on SPARC64 (is dead), Bringing zpool checkpoints to a FreeBSD bootloader, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=364746" target="_blank" rel="nofollow noopener">OpenZFS with ZSTD land in FreeBSD 13</a></h3>

<ul>
<li><a href="https://github.com/openzfs/zfs/commit/10b3c7f5e424f54b3ba82dbf1600d866e64ec0a0" target="_blank" rel="nofollow noopener">ZStandard Compression for OpenZFS</a>
&gt; The primary benefit is maintaining a completely shared code base with the community allowing FreeBSD to receive new features sooner and with less effort.
&gt; I would advise against doing 'zpool upgrade' or creating indispensable pools using new features until this change has had a month+ to soak.</li>
<li>Rebasing FreeBSD’s OpenZFS on the new upstream was sponsored by iXsystems</li>
<li>The competition of ZSTD support for OpenZFS was sponsored by the FreeBSD Foundation
***</li>
</ul>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20200817063735" target="_blank" rel="nofollow noopener">LibreSSL documentation status update</a></h3>

<blockquote>
<p>More than six years ago, LibreSSL was forked from OpenSSL, and almost two years ago, i explained the status of LibreSSL documentation during EuroBSDCon 2018 in Bucuresti. So it seems providing an update might be in order.<br>
Note that this is not an update regarding LibreSSL status in general because i'm not the right person to talk about the big picture of working on the LibreSSL code, my work has been quite focussed on documentation. All the same, it is fair to say that even though the number of developers working on it is somewhat limited, the LibreSSL project is quite alive, typically having a release every few months. Progress continues being made with respect to porting and adding new functionality (for example regarding TLSv1.3, CMS, RSA-PSS, RSA-OAEP, GOST, SM3, SM4, XChaCha20 during the last two years), OpenSSL compatibility improvements (including providing additional OpenSSL-1.1 APIs), and lots of bug fixes and code cleanup.</p>
</blockquote>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2020/02/15/freebsd-on-sparc64-is-dead/" target="_blank" rel="nofollow noopener">FreeBSD on SPARC64 (is dead)</a></h3>

<blockquote>
<p>’m coming pretty late to the party, because SPARC64 support in FreeBSD is apparently doomed: After the POWER platform made the switch to a LLVM/Clang-based toolchain, SPARC64 is one of the last ones that still uses the ancient GCC 4.2-based toolchain that the project wants to finally get rid off (it has already happened as I was writing this – looks like the firm plan was not so firm after all, since they killed it off early). And compared to the other platforms it has seen not too much love in recent times… SPARC64 being a great platform, I’d be quite sad to see it go. But before that happens let’s see what the current status is and what would need to be done if it were to survive, shall we?</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.oshogbo.vexillium.org/blog/79/" target="_blank" rel="nofollow noopener">Bringing zpool checkpoints to a FreeBSD bootloader</a></h3>

<blockquote>
<p>Almost two years ago I wrote a blog post about checkpoints in ZFS. I didn’t hide that I was a big fan of them. That said, after those two years, I still feel that there are underappreciated features in the ZFS world, so I decided to do something about that.<br>
Currently, one of the best practices for upgrading your operating system is to use boot environments. They are a great feature for managing multiple kernels and userlands. They are based on juggling which ZFS datasets are mounted. Each dataset has its own version of the system. Unfortunately, boot environments have their limitations. If we, for example, upgrade our ZFS pool, we may not be able to use older versions of the system anymore. <br>
The big advantage of boot environments is that they have very good tools. Two main tools are beadm (which was created by vermaden) and bectl (which currently is in the FreeBSD base system). These tools allow us to create and manage boot environments.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://documents.uow.edu.au/content/groups/public/@web/@inf/@scsse/documents/doc/uow103747.pdf" target="_blank" rel="nofollow noopener">The First Unix Port</a></li>
<li><a href="https://mwl.io/archives/7346" target="_blank" rel="nofollow noopener">TLS Mastery updates, August 2020</a></li>
<li><a href="https://www.youtube.com/watch?v=ww60o940kEk" target="_blank" rel="nofollow noopener">What is the Oldest BSD Distribution still around today</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/366/feedback/ben%20-%20zfs%20send%20questions.md" target="_blank" rel="nofollow noopener">ben - zfs send questions</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/366/feedback/lars%20-%20zfs%20pool%20question.md" target="_blank" rel="nofollow noopener">lars - zfs pool question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/366/feedback/neutron%20-%20bectl%20vs%20beadm.md" target="_blank" rel="nofollow noopener">neutron - bectl vs beadm</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>365: Whole year round</title>
  <link>https://www.bsdnow.tv/365</link>
  <guid isPermaLink="false">818d1dc0-da99-423a-a552-4ac52474c66c</guid>
  <pubDate>Thu, 27 Aug 2020 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/818d1dc0-da99-423a-a552-4ac52474c66c.mp3" length="49050296" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD USB Audio, Kyua: An introduction for NetBSD users, Keeping backup ZFS on Linux kernel modules around, CLI Tools 235x Faster than Hadoop, FreeBSD Laptop Battery Life Status Command, and more.</itunes:subtitle>
  <itunes:duration>46:54</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>&lt;p&gt;FreeBSD USB Audio, Kyua: An introduction for NetBSD users, Keeping backup ZFS on Linux kernel modules around, CLI Tools 235x Faster than Hadoop, FreeBSD Laptop Battery Life Status Command, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.davidschlachter.com/misc/freebsd-usb-audio" target="_blank" rel="nofollow noopener"&gt;FreeBSD USB Audio&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I recently got a Behringer UMC22 sound card for video conferencing and DJing. This page documents what I’ve learned about using this sound card, and USB audio in general, on FreeBSD.&lt;br&gt;
tl;dr: Everything works as long as the sound card follows the USB audio device class specification.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://wiki.netbsd.org/kyua/" target="_blank" rel="nofollow noopener"&gt;Kyua: An introduction for NetBSD users&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Kyua's current goal is to reimplement only the ATF tools while maintaining backwards compatibility with the tests written with the ATF libraries (i.e. with the NetBSD test suite).&lt;br&gt;
Because Kyua is a replacement of some ATF components, the end goal is to integrate Kyua into the NetBSD base system (just as ATF is) and remove the deprecated ATF components. Removing the deprecated components will allow us to make the above-mentioned improvements to Kyua, as well as many others, without having to deal with the obsolete ATF code base. Discussing how and when this transition might happen is out of the scope of this document at the moment.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxModuleBackups" target="_blank" rel="nofollow noopener"&gt;Keeping backup ZFS on Linux kernel modules around&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I'm a long term user of ZFS on Linux and over pretty much all of the time I've used it, I've built it from the latest development version. Generally this means I update my ZoL build at the same time as I update my Fedora kernel, since a ZoL update requires a kernel reboot anyway. This is a little bit daring, of course, although the ZoL development version has generally been quite solid (and this way I get the latest features and improvements long before I otherwise would).&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html" target="_blank" rel="nofollow noopener"&gt;Command-line Tools can be 235x Faster than your Hadoop Cluster&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As I was browsing the web and catching up on some sites I visit periodically, I found a cool article from Tom Hayden about using Amazon Elastic Map Reduce (EMR) and mrjob in order to compute some statistics on win/loss ratios for chess games he downloaded from the millionbase archive, and generally have fun with EMR. Since the data volume was only about 1.75GB containing around 2 million chess games, I was skeptical of using Hadoop for the task, but I can understand his goal of learning and having fun with mrjob and EMR. Since the problem is basically just to look at the result lines of each file and aggregate the different results, it seems ideally suited to stream processing with shell commands. I tried this out, and for the same amount of data I was able to use my laptop to get the results in about 12 seconds (processing speed of about 270MB/sec), while the Hadoop processing took about 26 minutes (processing speed of about 1.14MB/sec).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cyberciti.biz/faq/freebsd-finding-out-battery-life-state-on-laptop/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Laptop Find Out Battery Life Status Command&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I know how to find out battery life status using Linux operating system. How do I monitor battery status on a laptop running FreeBSD version 9.x/10.x/11.x/12.x?&lt;br&gt;
You can use any one of the following commands to get battery status under FreeBSD laptop including remaining battery life and more.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://i.redd.it/hlh8luidzgg51.jpg" target="_blank" rel="nofollow noopener"&gt;BSD Beer&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/mohd-akram/jawk" target="_blank" rel="nofollow noopener"&gt;Awk for JSON&lt;/a&gt;&lt;br&gt;
&lt;a href="https://youtu.be/oG2A_1vC6aM" target="_blank" rel="nofollow noopener"&gt;Drawing Pictures The Unix Way - with pic and troff&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.cs.rochester.edu/u/jzhou41/papers/freebsd_checkedc.pdf" target="_blank" rel="nofollow noopener"&gt;Refactoring the FreeBSD Kernel with Checked C&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/365/jason%20-%20german%20locale.md" target="_blank" rel="nofollow noopener"&gt;Jason - German Locales&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/365/pcwizz%20-%20router%20style%20device.md" target="_blank" rel="nofollow noopener"&gt;pcwizz - Router Style Device&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/365/predrag%20-%20openbsd%20router%20hardware.md" target="_blank" rel="nofollow noopener"&gt;predrag - OpenBSD Router Hardware&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, berkeley, software, distribution, zfs, interview, USB, audio, kyua, testing, test framework, backup, ZFS, kernel, kernel module, command line, CLI, hadoop, laptop, battery, battery life, status, status command</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD USB Audio, Kyua: An introduction for NetBSD users, Keeping backup ZFS on Linux kernel modules around, CLI Tools 235x Faster than Hadoop, FreeBSD Laptop Battery Life Status Command, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.davidschlachter.com/misc/freebsd-usb-audio" target="_blank" rel="nofollow noopener">FreeBSD USB Audio</a></h3>

<blockquote>
<p>I recently got a Behringer UMC22 sound card for video conferencing and DJing. This page documents what I’ve learned about using this sound card, and USB audio in general, on FreeBSD.<br>
tl;dr: Everything works as long as the sound card follows the USB audio device class specification.</p>

<hr>

<h3><a href="https://wiki.netbsd.org/kyua/" target="_blank" rel="nofollow noopener">Kyua: An introduction for NetBSD users</a></h3>

<p>Kyua's current goal is to reimplement only the ATF tools while maintaining backwards compatibility with the tests written with the ATF libraries (i.e. with the NetBSD test suite).<br>
Because Kyua is a replacement of some ATF components, the end goal is to integrate Kyua into the NetBSD base system (just as ATF is) and remove the deprecated ATF components. Removing the deprecated components will allow us to make the above-mentioned improvements to Kyua, as well as many others, without having to deal with the obsolete ATF code base. Discussing how and when this transition might happen is out of the scope of this document at the moment.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxModuleBackups" target="_blank" rel="nofollow noopener">Keeping backup ZFS on Linux kernel modules around</a></h3>

<blockquote>
<p>I'm a long term user of ZFS on Linux and over pretty much all of the time I've used it, I've built it from the latest development version. Generally this means I update my ZoL build at the same time as I update my Fedora kernel, since a ZoL update requires a kernel reboot anyway. This is a little bit daring, of course, although the ZoL development version has generally been quite solid (and this way I get the latest features and improvements long before I otherwise would).</p>

<hr>
</blockquote>

<h3><a href="https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html" target="_blank" rel="nofollow noopener">Command-line Tools can be 235x Faster than your Hadoop Cluster</a></h3>

<blockquote>
<p>As I was browsing the web and catching up on some sites I visit periodically, I found a cool article from Tom Hayden about using Amazon Elastic Map Reduce (EMR) and mrjob in order to compute some statistics on win/loss ratios for chess games he downloaded from the millionbase archive, and generally have fun with EMR. Since the data volume was only about 1.75GB containing around 2 million chess games, I was skeptical of using Hadoop for the task, but I can understand his goal of learning and having fun with mrjob and EMR. Since the problem is basically just to look at the result lines of each file and aggregate the different results, it seems ideally suited to stream processing with shell commands. I tried this out, and for the same amount of data I was able to use my laptop to get the results in about 12 seconds (processing speed of about 270MB/sec), while the Hadoop processing took about 26 minutes (processing speed of about 1.14MB/sec).</p>
</blockquote>

<hr>

<h3><a href="https://www.cyberciti.biz/faq/freebsd-finding-out-battery-life-state-on-laptop/" target="_blank" rel="nofollow noopener">FreeBSD Laptop Find Out Battery Life Status Command</a></h3>

<blockquote>
<p>I know how to find out battery life status using Linux operating system. How do I monitor battery status on a laptop running FreeBSD version 9.x/10.x/11.x/12.x?<br>
You can use any one of the following commands to get battery status under FreeBSD laptop including remaining battery life and more.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<p><a href="https://i.redd.it/hlh8luidzgg51.jpg" target="_blank" rel="nofollow noopener">BSD Beer</a><br>
<a href="https://github.com/mohd-akram/jawk" target="_blank" rel="nofollow noopener">Awk for JSON</a><br>
<a href="https://youtu.be/oG2A_1vC6aM" target="_blank" rel="nofollow noopener">Drawing Pictures The Unix Way - with pic and troff</a><br>
<a href="https://www.cs.rochester.edu/u/jzhou41/papers/freebsd_checkedc.pdf" target="_blank" rel="nofollow noopener">Refactoring the FreeBSD Kernel with Checked C</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/365/jason%20-%20german%20locale.md" target="_blank" rel="nofollow noopener">Jason - German Locales</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/365/pcwizz%20-%20router%20style%20device.md" target="_blank" rel="nofollow noopener">pcwizz - Router Style Device</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/365/predrag%20-%20openbsd%20router%20hardware.md" target="_blank" rel="nofollow noopener">predrag - OpenBSD Router Hardware</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD USB Audio, Kyua: An introduction for NetBSD users, Keeping backup ZFS on Linux kernel modules around, CLI Tools 235x Faster than Hadoop, FreeBSD Laptop Battery Life Status Command, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.davidschlachter.com/misc/freebsd-usb-audio" target="_blank" rel="nofollow noopener">FreeBSD USB Audio</a></h3>

<blockquote>
<p>I recently got a Behringer UMC22 sound card for video conferencing and DJing. This page documents what I’ve learned about using this sound card, and USB audio in general, on FreeBSD.<br>
tl;dr: Everything works as long as the sound card follows the USB audio device class specification.</p>

<hr>

<h3><a href="https://wiki.netbsd.org/kyua/" target="_blank" rel="nofollow noopener">Kyua: An introduction for NetBSD users</a></h3>

<p>Kyua's current goal is to reimplement only the ATF tools while maintaining backwards compatibility with the tests written with the ATF libraries (i.e. with the NetBSD test suite).<br>
Because Kyua is a replacement of some ATF components, the end goal is to integrate Kyua into the NetBSD base system (just as ATF is) and remove the deprecated ATF components. Removing the deprecated components will allow us to make the above-mentioned improvements to Kyua, as well as many others, without having to deal with the obsolete ATF code base. Discussing how and when this transition might happen is out of the scope of this document at the moment.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxModuleBackups" target="_blank" rel="nofollow noopener">Keeping backup ZFS on Linux kernel modules around</a></h3>

<blockquote>
<p>I'm a long term user of ZFS on Linux and over pretty much all of the time I've used it, I've built it from the latest development version. Generally this means I update my ZoL build at the same time as I update my Fedora kernel, since a ZoL update requires a kernel reboot anyway. This is a little bit daring, of course, although the ZoL development version has generally been quite solid (and this way I get the latest features and improvements long before I otherwise would).</p>

<hr>
</blockquote>

<h3><a href="https://adamdrake.com/command-line-tools-can-be-235x-faster-than-your-hadoop-cluster.html" target="_blank" rel="nofollow noopener">Command-line Tools can be 235x Faster than your Hadoop Cluster</a></h3>

<blockquote>
<p>As I was browsing the web and catching up on some sites I visit periodically, I found a cool article from Tom Hayden about using Amazon Elastic Map Reduce (EMR) and mrjob in order to compute some statistics on win/loss ratios for chess games he downloaded from the millionbase archive, and generally have fun with EMR. Since the data volume was only about 1.75GB containing around 2 million chess games, I was skeptical of using Hadoop for the task, but I can understand his goal of learning and having fun with mrjob and EMR. Since the problem is basically just to look at the result lines of each file and aggregate the different results, it seems ideally suited to stream processing with shell commands. I tried this out, and for the same amount of data I was able to use my laptop to get the results in about 12 seconds (processing speed of about 270MB/sec), while the Hadoop processing took about 26 minutes (processing speed of about 1.14MB/sec).</p>
</blockquote>

<hr>

<h3><a href="https://www.cyberciti.biz/faq/freebsd-finding-out-battery-life-state-on-laptop/" target="_blank" rel="nofollow noopener">FreeBSD Laptop Find Out Battery Life Status Command</a></h3>

<blockquote>
<p>I know how to find out battery life status using Linux operating system. How do I monitor battery status on a laptop running FreeBSD version 9.x/10.x/11.x/12.x?<br>
You can use any one of the following commands to get battery status under FreeBSD laptop including remaining battery life and more.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<p><a href="https://i.redd.it/hlh8luidzgg51.jpg" target="_blank" rel="nofollow noopener">BSD Beer</a><br>
<a href="https://github.com/mohd-akram/jawk" target="_blank" rel="nofollow noopener">Awk for JSON</a><br>
<a href="https://youtu.be/oG2A_1vC6aM" target="_blank" rel="nofollow noopener">Drawing Pictures The Unix Way - with pic and troff</a><br>
<a href="https://www.cs.rochester.edu/u/jzhou41/papers/freebsd_checkedc.pdf" target="_blank" rel="nofollow noopener">Refactoring the FreeBSD Kernel with Checked C</a></p>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/365/jason%20-%20german%20locale.md" target="_blank" rel="nofollow noopener">Jason - German Locales</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/365/pcwizz%20-%20router%20style%20device.md" target="_blank" rel="nofollow noopener">pcwizz - Router Style Device</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/365/predrag%20-%20openbsd%20router%20hardware.md" target="_blank" rel="nofollow noopener">predrag - OpenBSD Router Hardware</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>364: FreeBSD Wireless Grind</title>
  <link>https://www.bsdnow.tv/364</link>
  <guid isPermaLink="false">7581b101-10df-4469-8e37-0ddb82f82696</guid>
  <pubDate>Thu, 20 Aug 2020 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/7581b101-10df-4469-8e37-0ddb82f82696.mp3" length="41078792" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Qt WebEngine GPU Acceleration, the grind of FreeBSD’s wireless stack, thoughts on overlooking Illumos's syseventadm, when Unix learned to reboot, New EXT2/3/4 File-System driver in DragonflyBSD, and more.</itunes:subtitle>
  <itunes:duration>46:58</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>&lt;p&gt;FreeBSD Qt WebEngine GPU Acceleration, the grind of FreeBSD’s wireless stack, thoughts on overlooking Illumos's syseventadm, when Unix learned to reboot, New EXT2/3/4 File-System driver in DragonflyBSD, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl/freebsd/2020/07/21/webengine.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Qt WebEngine GPU Acceleration&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD has a handful of Qt WebEngine-based browsers. Falkon, and Otter-Browser, and qutebrowser and probably others, too. All of them can run into issues on FreeBSD with GPU-accelerated rendering not working. Let’s look at some of the workarounds.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cambus.net/netbsd-on-the-nanopi-neo2/" target="_blank" rel="nofollow noopener"&gt;NetBSD on the Nanopi Neo2&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The NanoPi NEO2 from FriendlyARM has been serving me well since 2018, being my test machine for OpenBSD/arm64 related things.&lt;br&gt;
As NetBSD/evbarm finally gained support for AArch64 in NetBSD 9.0, released back in February, I decided to give it a try on this device. The board only has 512MB of RAM, and this is where NetBSD really shines. Things have become a lot easier since jmcneill@ now provides bootable ARM images for a variety of devices, including the NanoPi NEO2.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://adrianchadd.blogspot.com/2020/07/im-back-into-grind-of-freebsds-wireless.html" target="_blank" rel="nofollow noopener"&gt;I'm back into the grind of FreeBSD's wireless stack and 802.11ac&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Yes, it's been a while since I posted here and yes, it's been a while since I was actively working on FreeBSD's wireless stack. Life's been .. well, life. I started the ath10k port in 2015. I wasn't expecting it to take 5 years, but here we are. My life has changed quite a lot since 2015 and a lot of the things I was doing in 2015 just stopped being fun for a while.&lt;br&gt;
But the stars have aligned and it's fun again, so here I am. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/OverlookingSyseventadm" target="_blank" rel="nofollow noopener"&gt;Some thoughts on us overlooking Illumos's syseventadm&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In a comment on my praise of ZFS on Linux's ZFS event daemon, Joshua M. Clulow noted that Illumos (and thus OmniOS) has an equivalent in syseventadm, which dates back to Solaris. I hadn't previously known about syseventadm, despite having run Solaris fileservers and OmniOS fileservers for the better part of a decade, and that gives me some tangled feelings.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsdimp.blogspot.com/2020/07/when-unix-learned-to-reboot2.html" target="_blank" rel="nofollow noopener"&gt;When Unix learned to reboot&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Recently, a friend asked me the history of halt, and when did we have to stop with the sync / sync / sync dance before running halt or reboot. The two are related, it turns out.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=DragonFlyBSD-New-EXT2FS" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD Lands New EXT2/3/4 File-System Driver&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;While DragonFlyBSD has its own, original HAMMER2 file-system, for those needing to access data from EXT2/EXT3/EXT4 file-systems, there is a brand new "ext2fs" driver implementation for this BSD operating system.&lt;br&gt;
DragonFlyBSD has long offered an EXT2 file-system driver (that also handles EXT3 and EXT4) while hitting their Git tree this week is a new version. The new sys/vfs/ext2fs driver, which will ultimately replace their existing sys/gnu/vfs/ext2fs driver is based on a port from FreeBSD code. As such, this driver is BSD licensed rather than GPL. But besides the more liberal license to jive with the BSD world, this new driver has various feature/functionality improvements over the prior version. However, there are some known bugs so for the time being both file-system drivers will co-exist.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-office/2020-July/005822.html" target="_blank" rel="nofollow noopener"&gt;LibreOffice 7.0 call for testing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2020/07/15/24747.html" target="_blank" rel="nofollow noopener"&gt;More touchpad support&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/364/feedback/casey%20-%20openbsd%20wirewall.md" target="_blank" rel="nofollow noopener"&gt;Casey - openbsd wirewall&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/364/feedback/daryl%20-%20zfs.md" target="_blank" rel="nofollow noopener"&gt;Daryl - zfs&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/364/feedback/raymond%20-%20hpe%20microserver.md" target="_blank" rel="nofollow noopener"&gt;Raymond - hpe microserver&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords> freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, berkeley, software, distribution, zfs, interview, QT, WebEngine, acceleration, GPU, wireless, 802.11ac, syseventadm, reboot, sync, ext2, ext3, ext4, filesystem, driver </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Qt WebEngine GPU Acceleration, the grind of FreeBSD’s wireless stack, thoughts on overlooking Illumos's syseventadm, when Unix learned to reboot, New EXT2/3/4 File-System driver in DragonflyBSD, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://euroquis.nl/freebsd/2020/07/21/webengine.html" target="_blank" rel="nofollow noopener">FreeBSD Qt WebEngine GPU Acceleration</a></h3>

<blockquote>
<p>FreeBSD has a handful of Qt WebEngine-based browsers. Falkon, and Otter-Browser, and qutebrowser and probably others, too. All of them can run into issues on FreeBSD with GPU-accelerated rendering not working. Let’s look at some of the workarounds.</p>
</blockquote>

<hr>

<h3><a href="https://www.cambus.net/netbsd-on-the-nanopi-neo2/" target="_blank" rel="nofollow noopener">NetBSD on the Nanopi Neo2</a></h3>

<blockquote>
<p>The NanoPi NEO2 from FriendlyARM has been serving me well since 2018, being my test machine for OpenBSD/arm64 related things.<br>
As NetBSD/evbarm finally gained support for AArch64 in NetBSD 9.0, released back in February, I decided to give it a try on this device. The board only has 512MB of RAM, and this is where NetBSD really shines. Things have become a lot easier since jmcneill@ now provides bootable ARM images for a variety of devices, including the NanoPi NEO2.</p>
</blockquote>

<hr>

<h3><a href="https://adrianchadd.blogspot.com/2020/07/im-back-into-grind-of-freebsds-wireless.html" target="_blank" rel="nofollow noopener">I'm back into the grind of FreeBSD's wireless stack and 802.11ac</a></h3>

<blockquote>
<p>Yes, it's been a while since I posted here and yes, it's been a while since I was actively working on FreeBSD's wireless stack. Life's been .. well, life. I started the ath10k port in 2015. I wasn't expecting it to take 5 years, but here we are. My life has changed quite a lot since 2015 and a lot of the things I was doing in 2015 just stopped being fun for a while.<br>
But the stars have aligned and it's fun again, so here I am. </p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/OverlookingSyseventadm" target="_blank" rel="nofollow noopener">Some thoughts on us overlooking Illumos's syseventadm</a></h3>

<blockquote>
<p>In a comment on my praise of ZFS on Linux's ZFS event daemon, Joshua M. Clulow noted that Illumos (and thus OmniOS) has an equivalent in syseventadm, which dates back to Solaris. I hadn't previously known about syseventadm, despite having run Solaris fileservers and OmniOS fileservers for the better part of a decade, and that gives me some tangled feelings.</p>
</blockquote>

<hr>

<h3><a href="https://bsdimp.blogspot.com/2020/07/when-unix-learned-to-reboot2.html" target="_blank" rel="nofollow noopener">When Unix learned to reboot</a></h3>

<blockquote>
<p>Recently, a friend asked me the history of halt, and when did we have to stop with the sync / sync / sync dance before running halt or reboot. The two are related, it turns out.</p>
</blockquote>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=DragonFlyBSD-New-EXT2FS" target="_blank" rel="nofollow noopener">DragonFlyBSD Lands New EXT2/3/4 File-System Driver</a></h3>

<blockquote>
<p>While DragonFlyBSD has its own, original HAMMER2 file-system, for those needing to access data from EXT2/EXT3/EXT4 file-systems, there is a brand new "ext2fs" driver implementation for this BSD operating system.<br>
DragonFlyBSD has long offered an EXT2 file-system driver (that also handles EXT3 and EXT4) while hitting their Git tree this week is a new version. The new sys/vfs/ext2fs driver, which will ultimately replace their existing sys/gnu/vfs/ext2fs driver is based on a port from FreeBSD code. As such, this driver is BSD licensed rather than GPL. But besides the more liberal license to jive with the BSD world, this new driver has various feature/functionality improvements over the prior version. However, there are some known bugs so for the time being both file-system drivers will co-exist.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-office/2020-July/005822.html" target="_blank" rel="nofollow noopener">LibreOffice 7.0 call for testing</a></li>
<li><a href="https://www.dragonflydigest.com/2020/07/15/24747.html" target="_blank" rel="nofollow noopener">More touchpad support</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/364/feedback/casey%20-%20openbsd%20wirewall.md" target="_blank" rel="nofollow noopener">Casey - openbsd wirewall</a><br>
<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/364/feedback/daryl%20-%20zfs.md" target="_blank" rel="nofollow noopener">Daryl - zfs</a><br>
<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/364/feedback/raymond%20-%20hpe%20microserver.md" target="_blank" rel="nofollow noopener">Raymond - hpe microserver</a></p>

<hr>

<ul>
<li>- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Qt WebEngine GPU Acceleration, the grind of FreeBSD’s wireless stack, thoughts on overlooking Illumos's syseventadm, when Unix learned to reboot, New EXT2/3/4 File-System driver in DragonflyBSD, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://euroquis.nl/freebsd/2020/07/21/webengine.html" target="_blank" rel="nofollow noopener">FreeBSD Qt WebEngine GPU Acceleration</a></h3>

<blockquote>
<p>FreeBSD has a handful of Qt WebEngine-based browsers. Falkon, and Otter-Browser, and qutebrowser and probably others, too. All of them can run into issues on FreeBSD with GPU-accelerated rendering not working. Let’s look at some of the workarounds.</p>
</blockquote>

<hr>

<h3><a href="https://www.cambus.net/netbsd-on-the-nanopi-neo2/" target="_blank" rel="nofollow noopener">NetBSD on the Nanopi Neo2</a></h3>

<blockquote>
<p>The NanoPi NEO2 from FriendlyARM has been serving me well since 2018, being my test machine for OpenBSD/arm64 related things.<br>
As NetBSD/evbarm finally gained support for AArch64 in NetBSD 9.0, released back in February, I decided to give it a try on this device. The board only has 512MB of RAM, and this is where NetBSD really shines. Things have become a lot easier since jmcneill@ now provides bootable ARM images for a variety of devices, including the NanoPi NEO2.</p>
</blockquote>

<hr>

<h3><a href="https://adrianchadd.blogspot.com/2020/07/im-back-into-grind-of-freebsds-wireless.html" target="_blank" rel="nofollow noopener">I'm back into the grind of FreeBSD's wireless stack and 802.11ac</a></h3>

<blockquote>
<p>Yes, it's been a while since I posted here and yes, it's been a while since I was actively working on FreeBSD's wireless stack. Life's been .. well, life. I started the ath10k port in 2015. I wasn't expecting it to take 5 years, but here we are. My life has changed quite a lot since 2015 and a lot of the things I was doing in 2015 just stopped being fun for a while.<br>
But the stars have aligned and it's fun again, so here I am. </p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/OverlookingSyseventadm" target="_blank" rel="nofollow noopener">Some thoughts on us overlooking Illumos's syseventadm</a></h3>

<blockquote>
<p>In a comment on my praise of ZFS on Linux's ZFS event daemon, Joshua M. Clulow noted that Illumos (and thus OmniOS) has an equivalent in syseventadm, which dates back to Solaris. I hadn't previously known about syseventadm, despite having run Solaris fileservers and OmniOS fileservers for the better part of a decade, and that gives me some tangled feelings.</p>
</blockquote>

<hr>

<h3><a href="https://bsdimp.blogspot.com/2020/07/when-unix-learned-to-reboot2.html" target="_blank" rel="nofollow noopener">When Unix learned to reboot</a></h3>

<blockquote>
<p>Recently, a friend asked me the history of halt, and when did we have to stop with the sync / sync / sync dance before running halt or reboot. The two are related, it turns out.</p>
</blockquote>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=DragonFlyBSD-New-EXT2FS" target="_blank" rel="nofollow noopener">DragonFlyBSD Lands New EXT2/3/4 File-System Driver</a></h3>

<blockquote>
<p>While DragonFlyBSD has its own, original HAMMER2 file-system, for those needing to access data from EXT2/EXT3/EXT4 file-systems, there is a brand new "ext2fs" driver implementation for this BSD operating system.<br>
DragonFlyBSD has long offered an EXT2 file-system driver (that also handles EXT3 and EXT4) while hitting their Git tree this week is a new version. The new sys/vfs/ext2fs driver, which will ultimately replace their existing sys/gnu/vfs/ext2fs driver is based on a port from FreeBSD code. As such, this driver is BSD licensed rather than GPL. But besides the more liberal license to jive with the BSD world, this new driver has various feature/functionality improvements over the prior version. However, there are some known bugs so for the time being both file-system drivers will co-exist.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-office/2020-July/005822.html" target="_blank" rel="nofollow noopener">LibreOffice 7.0 call for testing</a></li>
<li><a href="https://www.dragonflydigest.com/2020/07/15/24747.html" target="_blank" rel="nofollow noopener">More touchpad support</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/364/feedback/casey%20-%20openbsd%20wirewall.md" target="_blank" rel="nofollow noopener">Casey - openbsd wirewall</a><br>
<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/364/feedback/daryl%20-%20zfs.md" target="_blank" rel="nofollow noopener">Daryl - zfs</a><br>
<a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/364/feedback/raymond%20-%20hpe%20microserver.md" target="_blank" rel="nofollow noopener">Raymond - hpe microserver</a></p>

<hr>

<ul>
<li>- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>363: Traditional Unix toolchains</title>
  <link>https://www.bsdnow.tv/363</link>
  <guid isPermaLink="false">5152316f-4859-4e73-8c1c-18f2b9965f5d</guid>
  <pubDate>Thu, 13 Aug 2020 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5152316f-4859-4e73-8c1c-18f2b9965f5d.mp3" length="36468128" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Q2 Quarterly Status report of 2020, Traditional Unix Toolchains, BastilleBSD 0.7 released, Finding meltdown on DragonflyBSD, and more</itunes:subtitle>
  <itunes:duration>34:45</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>&lt;p&gt;FreeBSD Q2 Quarterly Status report of 2020, Traditional Unix Toolchains, BastilleBSD 0.7 released, Finding meltdown on DragonflyBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2020-04-2020-06.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Quarterly Report&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This report will be covering FreeBSD related projects between April and June, and covers a diverse set of topics ranging from kernel updates over userland and ports, as well to third-party work.&lt;br&gt;
Some highlights picked with the roll of a d100 include, but are not limited to, the ability to forcibly unmounting UFS when the underlying media becomes inaccessible, added preliminary support for Bluetooth Low Energy, a introduction to the FreeBSD Office Hours, and a repository of software collections called potluck to be installed with the pot utility, as well as many many more things.&lt;br&gt;
As a little treat, readers can also get a rare report from the quarterly team.&lt;br&gt;
Finally, on behalf of the quarterly team, I would like to extend my deepest appreciation and thank you to salvadore@, who decided to take down his shingle. His contributions not just the quarterly reports themselves, but also the surrounding tooling to many-fold ease the work, are immeasurable.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://bsdimp.blogspot.com/2020/07/traditional-unix-toolchains.html?m=1" target="_blank" rel="nofollow noopener"&gt;Traditional Unix Toolchains&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Older Unix systems tend to be fairly uniform in how they handle the so-called 'toolchain' for creating binaries. This blog will give a quick overview of the toolchain pipeline for Unix systems that follow the V7 tradition (which evolved along with Unix, a topic for a separate blog maybe).&lt;br&gt;
Unix is a pipeline based system, either physically or logically. One program takes input, process the data and produces output. The input and output have some interface they obey, usually text-based. The Unix toolchain is no different.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://github.com/BastilleBSD/bastille/releases/tag/0.7.20200714" target="_blank" rel="nofollow noopener"&gt;Bastille Day 2020 : v0.7 released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This release matures the project from 0.6.x -&amp;gt; 0.7.x. Continued testing and bug fixes are proving Bastille capable for a range of use-cases. New (experimental) features are examples of innovation from community contribution and feedback. Thank you.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2020/07/28/24787.html" target="_blank" rel="nofollow noopener"&gt;Finding meltdown on DragonFly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mobile.twitter.com/netbsd/status/1286898183923277829" target="_blank" rel="nofollow noopener"&gt;NetBSD Server Outage&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/363/feedback/vincent%20-%20gnome3.md" target="_blank" rel="nofollow noopener"&gt;Vincent - Gnome 3 question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/363/feedback/malcolm%20-%20zfs.md" target="_blank" rel="nofollow noopener"&gt;Malcolm - ZFS question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/363/feedback/hassan%20-%20video.md" target="_blank" rel="nofollow noopener"&gt;Hassan - Video question&lt;/a&gt; 

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/363/feedback/new-bsdnow-youtube-channel.md" target="_blank" rel="nofollow noopener"&gt;For those that watch on youtube, don’t forget to subscribe to our new YouTube Channel if you want updates when we post them on YT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, berkeley, software, distribution, zfs, quarterly status, status report, traditional, Unix, toolchain, meltdown</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Q2 Quarterly Status report of 2020, Traditional Unix Toolchains, BastilleBSD 0.7 released, Finding meltdown on DragonflyBSD, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/news/status/report-2020-04-2020-06.html" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Report</a></h3>

<blockquote>
<p>This report will be covering FreeBSD related projects between April and June, and covers a diverse set of topics ranging from kernel updates over userland and ports, as well to third-party work.<br>
Some highlights picked with the roll of a d100 include, but are not limited to, the ability to forcibly unmounting UFS when the underlying media becomes inaccessible, added preliminary support for Bluetooth Low Energy, a introduction to the FreeBSD Office Hours, and a repository of software collections called potluck to be installed with the pot utility, as well as many many more things.<br>
As a little treat, readers can also get a rare report from the quarterly team.<br>
Finally, on behalf of the quarterly team, I would like to extend my deepest appreciation and thank you to salvadore@, who decided to take down his shingle. His contributions not just the quarterly reports themselves, but also the surrounding tooling to many-fold ease the work, are immeasurable.</p>

<hr>
</blockquote>

<h3><a href="https://bsdimp.blogspot.com/2020/07/traditional-unix-toolchains.html?m=1" target="_blank" rel="nofollow noopener">Traditional Unix Toolchains</a></h3>

<blockquote>
<p>Older Unix systems tend to be fairly uniform in how they handle the so-called 'toolchain' for creating binaries. This blog will give a quick overview of the toolchain pipeline for Unix systems that follow the V7 tradition (which evolved along with Unix, a topic for a separate blog maybe).<br>
Unix is a pipeline based system, either physically or logically. One program takes input, process the data and produces output. The input and output have some interface they obey, usually text-based. The Unix toolchain is no different.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://github.com/BastilleBSD/bastille/releases/tag/0.7.20200714" target="_blank" rel="nofollow noopener">Bastille Day 2020 : v0.7 released</a></h3>

<blockquote>
<p>This release matures the project from 0.6.x -&gt; 0.7.x. Continued testing and bug fixes are proving Bastille capable for a range of use-cases. New (experimental) features are examples of innovation from community contribution and feedback. Thank you.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2020/07/28/24787.html" target="_blank" rel="nofollow noopener">Finding meltdown on DragonFly</a></li>
<li><a href="https://mobile.twitter.com/netbsd/status/1286898183923277829" target="_blank" rel="nofollow noopener">NetBSD Server Outage</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/363/feedback/vincent%20-%20gnome3.md" target="_blank" rel="nofollow noopener">Vincent - Gnome 3 question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/363/feedback/malcolm%20-%20zfs.md" target="_blank" rel="nofollow noopener">Malcolm - ZFS question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/363/feedback/hassan%20-%20video.md" target="_blank" rel="nofollow noopener">Hassan - Video question</a> 

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/363/feedback/new-bsdnow-youtube-channel.md" target="_blank" rel="nofollow noopener">For those that watch on youtube, don’t forget to subscribe to our new YouTube Channel if you want updates when we post them on YT</a></li>
</ul></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Q2 Quarterly Status report of 2020, Traditional Unix Toolchains, BastilleBSD 0.7 released, Finding meltdown on DragonflyBSD, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/news/status/report-2020-04-2020-06.html" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Report</a></h3>

<blockquote>
<p>This report will be covering FreeBSD related projects between April and June, and covers a diverse set of topics ranging from kernel updates over userland and ports, as well to third-party work.<br>
Some highlights picked with the roll of a d100 include, but are not limited to, the ability to forcibly unmounting UFS when the underlying media becomes inaccessible, added preliminary support for Bluetooth Low Energy, a introduction to the FreeBSD Office Hours, and a repository of software collections called potluck to be installed with the pot utility, as well as many many more things.<br>
As a little treat, readers can also get a rare report from the quarterly team.<br>
Finally, on behalf of the quarterly team, I would like to extend my deepest appreciation and thank you to salvadore@, who decided to take down his shingle. His contributions not just the quarterly reports themselves, but also the surrounding tooling to many-fold ease the work, are immeasurable.</p>

<hr>
</blockquote>

<h3><a href="https://bsdimp.blogspot.com/2020/07/traditional-unix-toolchains.html?m=1" target="_blank" rel="nofollow noopener">Traditional Unix Toolchains</a></h3>

<blockquote>
<p>Older Unix systems tend to be fairly uniform in how they handle the so-called 'toolchain' for creating binaries. This blog will give a quick overview of the toolchain pipeline for Unix systems that follow the V7 tradition (which evolved along with Unix, a topic for a separate blog maybe).<br>
Unix is a pipeline based system, either physically or logically. One program takes input, process the data and produces output. The input and output have some interface they obey, usually text-based. The Unix toolchain is no different.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://github.com/BastilleBSD/bastille/releases/tag/0.7.20200714" target="_blank" rel="nofollow noopener">Bastille Day 2020 : v0.7 released</a></h3>

<blockquote>
<p>This release matures the project from 0.6.x -&gt; 0.7.x. Continued testing and bug fixes are proving Bastille capable for a range of use-cases. New (experimental) features are examples of innovation from community contribution and feedback. Thank you.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2020/07/28/24787.html" target="_blank" rel="nofollow noopener">Finding meltdown on DragonFly</a></li>
<li><a href="https://mobile.twitter.com/netbsd/status/1286898183923277829" target="_blank" rel="nofollow noopener">NetBSD Server Outage</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/363/feedback/vincent%20-%20gnome3.md" target="_blank" rel="nofollow noopener">Vincent - Gnome 3 question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/363/feedback/malcolm%20-%20zfs.md" target="_blank" rel="nofollow noopener">Malcolm - ZFS question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/363/feedback/hassan%20-%20video.md" target="_blank" rel="nofollow noopener">Hassan - Video question</a> 

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/363/feedback/new-bsdnow-youtube-channel.md" target="_blank" rel="nofollow noopener">For those that watch on youtube, don’t forget to subscribe to our new YouTube Channel if you want updates when we post them on YT</a></li>
</ul></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>362: 2.11-BSD restoration</title>
  <link>https://www.bsdnow.tv/362</link>
  <guid isPermaLink="false">5822b2f7-0440-44f4-8f73-70609c960a3d</guid>
  <pubDate>Thu, 06 Aug 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5822b2f7-0440-44f4-8f73-70609c960a3d.mp3" length="58166072" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Interview with Warner Losh about Unix history, the 2.11-BSD restoration project, the Unix heritage society, proper booting, and what devmatch is.</itunes:subtitle>
  <itunes:duration>1:02:30</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>&lt;p&gt;Interview with Warner Losh about Unix history, the 2.11-BSD restoration project, the Unix heritage society, proper booting, and what devmatch is.&lt;/p&gt;

&lt;h4&gt;Interview - Warner Losh - &lt;a href="mailto:imp@freebsd.org" target="_blank" rel="nofollow noopener"&gt;imp@freebsd.org&lt;/a&gt; / &lt;a href="https://twitter.com/bsdimp" target="_blank" rel="nofollow noopener"&gt;@bsdimp&lt;/a&gt;&lt;/h4&gt;

&lt;h2&gt;BSD 2.11 restoration project&lt;/h2&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;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.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Special Guest: Warner Losh.&lt;/p&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, berkeley, software, distribution, zfs, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Interview with Warner Losh about Unix history, the 2.11-BSD restoration project, the Unix heritage society, proper booting, and what devmatch is.</p>

<h4>Interview - Warner Losh - <a href="mailto:imp@freebsd.org" target="_blank" rel="nofollow noopener">imp@freebsd.org</a> / <a href="https://twitter.com/bsdimp" target="_blank" rel="nofollow noopener">@bsdimp</a></h4>

<h2>BSD 2.11 restoration project</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul><p>Special Guest: Warner Losh.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Interview with Warner Losh about Unix history, the 2.11-BSD restoration project, the Unix heritage society, proper booting, and what devmatch is.</p>

<h4>Interview - Warner Losh - <a href="mailto:imp@freebsd.org" target="_blank" rel="nofollow noopener">imp@freebsd.org</a> / <a href="https://twitter.com/bsdimp" target="_blank" rel="nofollow noopener">@bsdimp</a></h4>

<h2>BSD 2.11 restoration project</h2>

<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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<hr></li>
</ul><p>Special Guest: Warner Losh.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>361: Function-based MicroVM</title>
  <link>https://www.bsdnow.tv/361</link>
  <guid isPermaLink="false">e7930697-b2c2-4603-b015-19d1070a7c69</guid>
  <pubDate>Thu, 30 Jul 2020 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e7930697-b2c2-4603-b015-19d1070a7c69.mp3" length="64248344" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Emulex: The Cheapest 10gbe for Your Homelab, In Search of 2.11BSD, as released, Fakecracker: NetBSD as a Function Based MicroVM, First powerpc64 snapshots available for OpenBSD, OPNsense 20.1.8 released, and more.
</itunes:subtitle>
  <itunes:duration>1:02:10</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>&lt;p&gt;Emulex: The Cheapest 10gbe for Your Homelab, In Search of 2.11BSD, as released, Fakecracker: NetBSD as a Function Based MicroVM, First powerpc64 snapshots available for OpenBSD, OPNsense 20.1.8 released, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://vincerants.com/emulex-the-cheapest-10gbe/" target="_blank" rel="nofollow noopener"&gt;Emulex: The Cheapest 10gbe for Your Homelab&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Years ago, the hunt for the cheapest 10gbe NICs resulted in buying Mellanox ConnectX-2 single-port 10gbe network cards from eBay for around $10. Nowadays those cards have increased in cost to around $20-30. While still cheap, not quite the cheapest. There are now alternatives!&lt;br&gt;
Before diving into details, let’s get something very clear. If you want the absolute simplest plug-and-play 10gbe LAN for your homelab, pay the extra for Mellanox. If you’re willing to go hands-on, do some simple manual configuration and installation, read on for my experiences with Emulex 10gbe NICs.&lt;br&gt;
Emulex NICs can often be had for around $15 on eBay, sometimes even cheaper. I recently picked up a set of 4 of these cards, which came bundled with 6 SFP+ 10g-SR modules for a grand total of $47.48. Considering I can usually find SFP+ modules for about $5/ea, these alone were worth $30.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I have also tried some Solarflare cards that I found cheap, they work ok, but are pickier about optics, and tend to be focused on low-latency, so often don’t manage to saturate the full 10 gbps, topping out around 8 gbps.&lt;/li&gt;
&lt;li&gt;I have been using fs.com for optics, patch cables, and DACs. I find DACs are usually cheaper if you are just going between a server and a switch in the same rack, or direct between 2 servers.
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://bsdimp.blogspot.com/2020/07/211bsd-original-tapes-recreation.html" target="_blank" rel="nofollow noopener"&gt;In Search of 2.11BSD, as released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Almost all of the BSD releases have been well preserved. If you want to find 1BSD, or 2BSD or 4.3-TAHOE BSD you can find them online with little fuss. However, if you search for 2.11BSD, you'll find it easily enough, but it won't be the original. You'll find either the latest patched version (2.11BSD pl 469), or one of the earlier popular version (pl 430 is popular). You can even find the RetroBSD project which used 2.11BSD as a starting point to create systems for tiny mips-based PIC controllers. You'll find every single patch that's been issued for the system.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://imil.net/blog/posts/2020/fakecracker-netbsd-as-a-function-based-microvm/" target="_blank" rel="nofollow noopener"&gt;Fakecracker: NetBSD as a Function Based MicroVM&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In November 2018 AWS published an Open Source tool called Firecracker, mostly a virtual machine monitor relying on KVM, a small sized Linux kernel, and a stripped down version of Qemu. What baffled me was the speed at which the virtual machine would fire up and run the service. The whole process is to be compared to a container, but safer, as it does not share the kernel nor any resource, it is a separate and dedicated virtual machine.&lt;br&gt;
If you want to learn more on Firecracker‘s internals, here’s a very well put article.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20200707001113" target="_blank" rel="nofollow noopener"&gt;First powerpc64 snapshots available for OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Since we reported the first bits of powerpc64 support going into the tree on 16 May, work has progressed at a steady pace, resulting in snapshots now being available for this platform.&lt;br&gt;
So, if you have a POWER9 system idling around, go to your nearest mirror and fetch this snapshot. Keep in mind that as this is still very early days, very little handholding is available - you are basically on your own.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-20-1-8-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 20.1.8 released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Sorry about the delay while we chased a race condition in the updates back to an issue with the latest FreeBSD package manager updates. For now we reverted to our current version but all relevant third party packages have been updated as updates became available over the last weeks, e.g. cURL and Python, and hostapd / wpa_supplicant amongst others.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsdimp.blogspot.com/2020/07/old-school-disk-partitioning.html" target="_blank" rel="nofollow noopener"&gt;Old School Disk Partitioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nomadbsd.org/index.html#1.3.2" target="_blank" rel="nofollow noopener"&gt;Nomad BSD 1.3.2 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gonzoua/chaifi" target="_blank" rel="nofollow noopener"&gt;Chai-Fi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/361/feedback/Poojan%20-%20ZFS%20question.md" target="_blank" rel="nofollow noopener"&gt;Poojan - ZFS Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/361/feedback/graceon%20-%20supermicro.md" target="_blank" rel="nofollow noopener"&gt;graceon - supermicro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/361/feedback/zenbum%20-%20groff.md" target="_blank" rel="nofollow noopener"&gt;zenbum - groff&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Special Guest: Warner Losh.&lt;/p&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, berkeley, software, distribution, zfs, interview, emulex, homelab, 2.11 BSD, function based microvm, microvm, powerpc64, snapshots, opnsense, release</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Emulex: The Cheapest 10gbe for Your Homelab, In Search of 2.11BSD, as released, Fakecracker: NetBSD as a Function Based MicroVM, First powerpc64 snapshots available for OpenBSD, OPNsense 20.1.8 released, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://vincerants.com/emulex-the-cheapest-10gbe/" target="_blank" rel="nofollow noopener">Emulex: The Cheapest 10gbe for Your Homelab</a></h3>

<blockquote>
<p>Years ago, the hunt for the cheapest 10gbe NICs resulted in buying Mellanox ConnectX-2 single-port 10gbe network cards from eBay for around $10. Nowadays those cards have increased in cost to around $20-30. While still cheap, not quite the cheapest. There are now alternatives!<br>
Before diving into details, let’s get something very clear. If you want the absolute simplest plug-and-play 10gbe LAN for your homelab, pay the extra for Mellanox. If you’re willing to go hands-on, do some simple manual configuration and installation, read on for my experiences with Emulex 10gbe NICs.<br>
Emulex NICs can often be had for around $15 on eBay, sometimes even cheaper. I recently picked up a set of 4 of these cards, which came bundled with 6 SFP+ 10g-SR modules for a grand total of $47.48. Considering I can usually find SFP+ modules for about $5/ea, these alone were worth $30.</p>

<ul>
<li>I have also tried some Solarflare cards that I found cheap, they work ok, but are pickier about optics, and tend to be focused on low-latency, so often don’t manage to saturate the full 10 gbps, topping out around 8 gbps.</li>
<li>I have been using fs.com for optics, patch cables, and DACs. I find DACs are usually cheaper if you are just going between a server and a switch in the same rack, or direct between 2 servers.
***</li>
</ul>
</blockquote>

<h3><a href="https://bsdimp.blogspot.com/2020/07/211bsd-original-tapes-recreation.html" target="_blank" rel="nofollow noopener">In Search of 2.11BSD, as released</a></h3>

<blockquote>
<p>Almost all of the BSD releases have been well preserved. If you want to find 1BSD, or 2BSD or 4.3-TAHOE BSD you can find them online with little fuss. However, if you search for 2.11BSD, you'll find it easily enough, but it won't be the original. You'll find either the latest patched version (2.11BSD pl 469), or one of the earlier popular version (pl 430 is popular). You can even find the RetroBSD project which used 2.11BSD as a starting point to create systems for tiny mips-based PIC controllers. You'll find every single patch that's been issued for the system.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://imil.net/blog/posts/2020/fakecracker-netbsd-as-a-function-based-microvm/" target="_blank" rel="nofollow noopener">Fakecracker: NetBSD as a Function Based MicroVM</a></h3>

<blockquote>
<p>In November 2018 AWS published an Open Source tool called Firecracker, mostly a virtual machine monitor relying on KVM, a small sized Linux kernel, and a stripped down version of Qemu. What baffled me was the speed at which the virtual machine would fire up and run the service. The whole process is to be compared to a container, but safer, as it does not share the kernel nor any resource, it is a separate and dedicated virtual machine.<br>
If you want to learn more on Firecracker‘s internals, here’s a very well put article.</p>

<hr>
</blockquote>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20200707001113" target="_blank" rel="nofollow noopener">First powerpc64 snapshots available for OpenBSD</a></h3>

<blockquote>
<p>Since we reported the first bits of powerpc64 support going into the tree on 16 May, work has progressed at a steady pace, resulting in snapshots now being available for this platform.<br>
So, if you have a POWER9 system idling around, go to your nearest mirror and fetch this snapshot. Keep in mind that as this is still very early days, very little handholding is available - you are basically on your own.</p>

<hr>
</blockquote>

<h3><a href="https://opnsense.org/opnsense-20-1-8-released/" target="_blank" rel="nofollow noopener">OPNsense 20.1.8 released</a></h3>

<blockquote>
<p>Sorry about the delay while we chased a race condition in the updates back to an issue with the latest FreeBSD package manager updates. For now we reverted to our current version but all relevant third party packages have been updated as updates became available over the last weeks, e.g. cURL and Python, and hostapd / wpa_supplicant amongst others.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://bsdimp.blogspot.com/2020/07/old-school-disk-partitioning.html" target="_blank" rel="nofollow noopener">Old School Disk Partitioning</a></li>
<li><a href="http://nomadbsd.org/index.html#1.3.2" target="_blank" rel="nofollow noopener">Nomad BSD 1.3.2 Released</a></li>
<li><a href="https://github.com/gonzoua/chaifi" target="_blank" rel="nofollow noopener">Chai-Fi</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/361/feedback/Poojan%20-%20ZFS%20question.md" target="_blank" rel="nofollow noopener">Poojan - ZFS Question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/361/feedback/graceon%20-%20supermicro.md" target="_blank" rel="nofollow noopener">graceon - supermicro</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/361/feedback/zenbum%20-%20groff.md" target="_blank" rel="nofollow noopener">zenbum - groff</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Warner Losh.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Emulex: The Cheapest 10gbe for Your Homelab, In Search of 2.11BSD, as released, Fakecracker: NetBSD as a Function Based MicroVM, First powerpc64 snapshots available for OpenBSD, OPNsense 20.1.8 released, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://vincerants.com/emulex-the-cheapest-10gbe/" target="_blank" rel="nofollow noopener">Emulex: The Cheapest 10gbe for Your Homelab</a></h3>

<blockquote>
<p>Years ago, the hunt for the cheapest 10gbe NICs resulted in buying Mellanox ConnectX-2 single-port 10gbe network cards from eBay for around $10. Nowadays those cards have increased in cost to around $20-30. While still cheap, not quite the cheapest. There are now alternatives!<br>
Before diving into details, let’s get something very clear. If you want the absolute simplest plug-and-play 10gbe LAN for your homelab, pay the extra for Mellanox. If you’re willing to go hands-on, do some simple manual configuration and installation, read on for my experiences with Emulex 10gbe NICs.<br>
Emulex NICs can often be had for around $15 on eBay, sometimes even cheaper. I recently picked up a set of 4 of these cards, which came bundled with 6 SFP+ 10g-SR modules for a grand total of $47.48. Considering I can usually find SFP+ modules for about $5/ea, these alone were worth $30.</p>

<ul>
<li>I have also tried some Solarflare cards that I found cheap, they work ok, but are pickier about optics, and tend to be focused on low-latency, so often don’t manage to saturate the full 10 gbps, topping out around 8 gbps.</li>
<li>I have been using fs.com for optics, patch cables, and DACs. I find DACs are usually cheaper if you are just going between a server and a switch in the same rack, or direct between 2 servers.
***</li>
</ul>
</blockquote>

<h3><a href="https://bsdimp.blogspot.com/2020/07/211bsd-original-tapes-recreation.html" target="_blank" rel="nofollow noopener">In Search of 2.11BSD, as released</a></h3>

<blockquote>
<p>Almost all of the BSD releases have been well preserved. If you want to find 1BSD, or 2BSD or 4.3-TAHOE BSD you can find them online with little fuss. However, if you search for 2.11BSD, you'll find it easily enough, but it won't be the original. You'll find either the latest patched version (2.11BSD pl 469), or one of the earlier popular version (pl 430 is popular). You can even find the RetroBSD project which used 2.11BSD as a starting point to create systems for tiny mips-based PIC controllers. You'll find every single patch that's been issued for the system.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://imil.net/blog/posts/2020/fakecracker-netbsd-as-a-function-based-microvm/" target="_blank" rel="nofollow noopener">Fakecracker: NetBSD as a Function Based MicroVM</a></h3>

<blockquote>
<p>In November 2018 AWS published an Open Source tool called Firecracker, mostly a virtual machine monitor relying on KVM, a small sized Linux kernel, and a stripped down version of Qemu. What baffled me was the speed at which the virtual machine would fire up and run the service. The whole process is to be compared to a container, but safer, as it does not share the kernel nor any resource, it is a separate and dedicated virtual machine.<br>
If you want to learn more on Firecracker‘s internals, here’s a very well put article.</p>

<hr>
</blockquote>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20200707001113" target="_blank" rel="nofollow noopener">First powerpc64 snapshots available for OpenBSD</a></h3>

<blockquote>
<p>Since we reported the first bits of powerpc64 support going into the tree on 16 May, work has progressed at a steady pace, resulting in snapshots now being available for this platform.<br>
So, if you have a POWER9 system idling around, go to your nearest mirror and fetch this snapshot. Keep in mind that as this is still very early days, very little handholding is available - you are basically on your own.</p>

<hr>
</blockquote>

<h3><a href="https://opnsense.org/opnsense-20-1-8-released/" target="_blank" rel="nofollow noopener">OPNsense 20.1.8 released</a></h3>

<blockquote>
<p>Sorry about the delay while we chased a race condition in the updates back to an issue with the latest FreeBSD package manager updates. For now we reverted to our current version but all relevant third party packages have been updated as updates became available over the last weeks, e.g. cURL and Python, and hostapd / wpa_supplicant amongst others.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://bsdimp.blogspot.com/2020/07/old-school-disk-partitioning.html" target="_blank" rel="nofollow noopener">Old School Disk Partitioning</a></li>
<li><a href="http://nomadbsd.org/index.html#1.3.2" target="_blank" rel="nofollow noopener">Nomad BSD 1.3.2 Released</a></li>
<li><a href="https://github.com/gonzoua/chaifi" target="_blank" rel="nofollow noopener">Chai-Fi</a></li>
</ul>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/361/feedback/Poojan%20-%20ZFS%20question.md" target="_blank" rel="nofollow noopener">Poojan - ZFS Question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/361/feedback/graceon%20-%20supermicro.md" target="_blank" rel="nofollow noopener">graceon - supermicro</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/361/feedback/zenbum%20-%20groff.md" target="_blank" rel="nofollow noopener">zenbum - groff</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul><p>Special Guest: Warner Losh.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>360: Full circle</title>
  <link>https://www.bsdnow.tv/360</link>
  <guid isPermaLink="false">69d88af7-54da-4612-9fc2-84ffae001c46</guid>
  <pubDate>Thu, 23 Jul 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/69d88af7-54da-4612-9fc2-84ffae001c46.mp3" length="42925160" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Chasing a bad commit, New FreeBSD Core Team elected, Getting Started with NetBSD on the Pinebook Pro, FreeBSD on the Intel 10th Gen i3 NUC, pf table size check and change, and more.</itunes:subtitle>
  <itunes:duration>42:27</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>&lt;p&gt;Chasing a bad commit, New FreeBSD Core Team elected, Getting Started with NetBSD on the Pinebook Pro, FreeBSD on the Intel 10th Gen i3 NUC, pf table size check and change, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://vishaltelangre.com/chasing-a-bad-commit/" target="_blank" rel="nofollow noopener"&gt;Chasing a bad commit&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;While working on a big project where multiple teams merge their feature branches frequently into a release Git branch, developers often run into situations where they find that some of their work have been either removed, modified or affected by someone else's work accidentally. It can happen in smaller teams as well. Two features could have been working perfectly fine until they got merged together and broke something. That's a highly possible case. There are many other cases which could cause such hard to understand and subtle bugs which even continuous integration (CI) systems running the entire test suite of our projects couldn't catch.&lt;br&gt;
We are not going to discuss how such subtle bugs can get into our release branch because that's just a wild territory out there. Instead, we can definitely discuss about how to find a commit that deviated from an expected outcome of a certain feature. The deviation could be any behaviour of our code that we can measure distinctively — either good or bad in general.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdnews.com/2020/07/14/new-freebsd-core-team-elected/" target="_blank" rel="nofollow noopener"&gt;New FreeBSD Core Team Elected&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The FreeBSD Project is pleased to announce the completion of the 2020 Core Team election. Active committers to the project have elected your Eleventh FreeBSD Core Team.!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Baptiste Daroussin (bapt)&lt;/li&gt;
&lt;li&gt;Ed Maste (emaste)&lt;/li&gt;
&lt;li&gt;George V. Neville-Neil (gnn)&lt;/li&gt;
&lt;li&gt;Hiroki Sato (hrs)&lt;/li&gt;
&lt;li&gt;Kyle Evans (kevans)&lt;/li&gt;
&lt;li&gt;Mark Johnston (markj)&lt;/li&gt;
&lt;li&gt;Scott Long (scottl)&lt;/li&gt;
&lt;li&gt;Sean Chittenden (seanc)&lt;/li&gt;
&lt;li&gt;Warner Losh (imp)
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://bentsukun.ch/posts/pinebook-pro-netbsd/" target="_blank" rel="nofollow noopener"&gt;Getting Started with NetBSD on the Pinebook Pro&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;If you buy a Pinebook Pro now, it comes with Manjaro Linux on the internal eMMC storage. Let’s install NetBSD instead!&lt;br&gt;
The easiest way to get started is to buy a decent micro-SD card (what sort of markings it should have is a science of its own, by the way) and install NetBSD on that. On a warm boot (i.e. when rebooting a running system), the micro-SD card has priority compared to the eMMC, so the system will boot from there.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A FreeBSD developer has borrowed some of the NetBSD code to get audio working on RockPro64 and Pinebook Pro: &lt;a href="https://twitter.com/kernelnomicon/status/1282790609778905088" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/kernelnomicon/status/1282790609778905088&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://adventurist.me/posts/00300" target="_blank" rel="nofollow noopener"&gt;FreeBSD on the Intel 10th Gen i3 NUC&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I have ended up with some 10th Gen i3 NUC's (NUC10i3FNH to be specific) to put to work in my testbed. These are quite new devices, the build date on the boxes is 13APR2020. Before I figure out what their true role is (one of them might have to run linux) I need to install FreeBSD -CURRENT and see how performance and hardware support is.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2020/06/29/24698.html" target="_blank" rel="nofollow noopener"&gt;pf table size check and change&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Did you know there’s a default size limit to pf’s state table?  I did not, but it makes sense that there is one.  If for some reason you bump into this limit (difficult for home use, I’d think), &lt;a href="http://lists.dragonflybsd.org/pipermail/users/2020-June/381261.html" target="_blank" rel="nofollow noopener"&gt;here’s how you change it&lt;/a&gt;&lt;br&gt;
There is a table-entries limit specified, you can see current settings with&lt;br&gt;
'pfctl -s all'.  You can adjust the limits in the /etc/pf.conf file&lt;br&gt;
containing the rules with a line like this near the top:&lt;br&gt;
&lt;code&gt;set limit table-entries 100000&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In the original mail thread, there is mention of the FreeBSD sysctl net.pf.request_maxcount, which controls the maximum number of entries that can be sent as a single ioctl(). This allows the user to adjust the memory limit for how big of a list the kernel is willing to allocate memory for.
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://callfortesting.org/tmux/" target="_blank" rel="nofollow noopener"&gt;tmux and bhyve&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://azuremarketplace.microsoft.com/en-us/marketplace/apps/thefreebsdfoundation.freebsd-12_1" target="_blank" rel="nofollow noopener"&gt;Azure and FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=bvkmnK6-qao&amp;amp;feature=youtu.be" target="_blank" rel="nofollow noopener"&gt;Groff Tutorial&lt;/a&gt;
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;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.
&lt;a href="https://mwl.io/nonfiction/tools#tarsnap" target="_blank" rel="nofollow noopener"&gt;Tarsnap Mastery&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/360/feedback/Chris%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener"&gt;Chris - ZFS Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/360/feedback/Patrick%20-%20Tarsnap.md" target="_blank" rel="nofollow noopener"&gt;Patrick - Tarsnap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/360/feedback/pin%20-%20pkgsrc.md" target="_blank" rel="nofollow noopener"&gt;Pin - pkgsrc&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, berkeley, software, distribution, zfs, interview, commit, core team, freebsd core team, election, elected, pinebook, pinebook pro, i3, Intel, Intel i3, i3 NUC, pf, packet filter, table size, table size check</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Chasing a bad commit, New FreeBSD Core Team elected, Getting Started with NetBSD on the Pinebook Pro, FreeBSD on the Intel 10th Gen i3 NUC, pf table size check and change, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://vishaltelangre.com/chasing-a-bad-commit/" target="_blank" rel="nofollow noopener">Chasing a bad commit</a></h3>

<blockquote>
<p>While working on a big project where multiple teams merge their feature branches frequently into a release Git branch, developers often run into situations where they find that some of their work have been either removed, modified or affected by someone else's work accidentally. It can happen in smaller teams as well. Two features could have been working perfectly fine until they got merged together and broke something. That's a highly possible case. There are many other cases which could cause such hard to understand and subtle bugs which even continuous integration (CI) systems running the entire test suite of our projects couldn't catch.<br>
We are not going to discuss how such subtle bugs can get into our release branch because that's just a wild territory out there. Instead, we can definitely discuss about how to find a commit that deviated from an expected outcome of a certain feature. The deviation could be any behaviour of our code that we can measure distinctively — either good or bad in general.</p>
</blockquote>

<hr>

<h3><a href="https://www.freebsdnews.com/2020/07/14/new-freebsd-core-team-elected/" target="_blank" rel="nofollow noopener">New FreeBSD Core Team Elected</a></h3>

<blockquote>
<p>The FreeBSD Project is pleased to announce the completion of the 2020 Core Team election. Active committers to the project have elected your Eleventh FreeBSD Core Team.!</p>
</blockquote>

<ul>
<li>Baptiste Daroussin (bapt)</li>
<li>Ed Maste (emaste)</li>
<li>George V. Neville-Neil (gnn)</li>
<li>Hiroki Sato (hrs)</li>
<li>Kyle Evans (kevans)</li>
<li>Mark Johnston (markj)</li>
<li>Scott Long (scottl)</li>
<li>Sean Chittenden (seanc)</li>
<li>Warner Losh (imp)
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://bentsukun.ch/posts/pinebook-pro-netbsd/" target="_blank" rel="nofollow noopener">Getting Started with NetBSD on the Pinebook Pro</a></h3>

<blockquote>
<p>If you buy a Pinebook Pro now, it comes with Manjaro Linux on the internal eMMC storage. Let’s install NetBSD instead!<br>
The easiest way to get started is to buy a decent micro-SD card (what sort of markings it should have is a science of its own, by the way) and install NetBSD on that. On a warm boot (i.e. when rebooting a running system), the micro-SD card has priority compared to the eMMC, so the system will boot from there.</p>

<ul>
<li>A FreeBSD developer has borrowed some of the NetBSD code to get audio working on RockPro64 and Pinebook Pro: <a href="https://twitter.com/kernelnomicon/status/1282790609778905088" target="_blank" rel="nofollow noopener">https://twitter.com/kernelnomicon/status/1282790609778905088</a>
***</li>
</ul>
</blockquote>

<h3><a href="https://adventurist.me/posts/00300" target="_blank" rel="nofollow noopener">FreeBSD on the Intel 10th Gen i3 NUC</a></h3>

<blockquote>
<p>I have ended up with some 10th Gen i3 NUC's (NUC10i3FNH to be specific) to put to work in my testbed. These are quite new devices, the build date on the boxes is 13APR2020. Before I figure out what their true role is (one of them might have to run linux) I need to install FreeBSD -CURRENT and see how performance and hardware support is.</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflydigest.com/2020/06/29/24698.html" target="_blank" rel="nofollow noopener">pf table size check and change</a></h3>

<blockquote>
<p>Did you know there’s a default size limit to pf’s state table?  I did not, but it makes sense that there is one.  If for some reason you bump into this limit (difficult for home use, I’d think), <a href="http://lists.dragonflybsd.org/pipermail/users/2020-June/381261.html" target="_blank" rel="nofollow noopener">here’s how you change it</a><br>
There is a table-entries limit specified, you can see current settings with<br>
'pfctl -s all'.  You can adjust the limits in the /etc/pf.conf file<br>
containing the rules with a line like this near the top:<br>
<code>set limit table-entries 100000</code></p>

<ul>
<li>In the original mail thread, there is mention of the FreeBSD sysctl net.pf.request_maxcount, which controls the maximum number of entries that can be sent as a single ioctl(). This allows the user to adjust the memory limit for how big of a list the kernel is willing to allocate memory for.
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://callfortesting.org/tmux/" target="_blank" rel="nofollow noopener">tmux and bhyve</a></li>
<li><a href="https://azuremarketplace.microsoft.com/en-us/marketplace/apps/thefreebsdfoundation.freebsd-12_1" target="_blank" rel="nofollow noopener">Azure and FreeBSD</a></li>
<li><a href="https://www.youtube.com/watch?v=bvkmnK6-qao&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">Groff Tutorial</a>
***
###Tarsnap</li>
<li>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.
<a href="https://mwl.io/nonfiction/tools#tarsnap" target="_blank" rel="nofollow noopener">Tarsnap Mastery</a></li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/360/feedback/Chris%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener">Chris - ZFS Question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/360/feedback/Patrick%20-%20Tarsnap.md" target="_blank" rel="nofollow noopener">Patrick - Tarsnap</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/360/feedback/pin%20-%20pkgsrc.md" target="_blank" rel="nofollow noopener">Pin - pkgsrc</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Chasing a bad commit, New FreeBSD Core Team elected, Getting Started with NetBSD on the Pinebook Pro, FreeBSD on the Intel 10th Gen i3 NUC, pf table size check and change, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://vishaltelangre.com/chasing-a-bad-commit/" target="_blank" rel="nofollow noopener">Chasing a bad commit</a></h3>

<blockquote>
<p>While working on a big project where multiple teams merge their feature branches frequently into a release Git branch, developers often run into situations where they find that some of their work have been either removed, modified or affected by someone else's work accidentally. It can happen in smaller teams as well. Two features could have been working perfectly fine until they got merged together and broke something. That's a highly possible case. There are many other cases which could cause such hard to understand and subtle bugs which even continuous integration (CI) systems running the entire test suite of our projects couldn't catch.<br>
We are not going to discuss how such subtle bugs can get into our release branch because that's just a wild territory out there. Instead, we can definitely discuss about how to find a commit that deviated from an expected outcome of a certain feature. The deviation could be any behaviour of our code that we can measure distinctively — either good or bad in general.</p>
</blockquote>

<hr>

<h3><a href="https://www.freebsdnews.com/2020/07/14/new-freebsd-core-team-elected/" target="_blank" rel="nofollow noopener">New FreeBSD Core Team Elected</a></h3>

<blockquote>
<p>The FreeBSD Project is pleased to announce the completion of the 2020 Core Team election. Active committers to the project have elected your Eleventh FreeBSD Core Team.!</p>
</blockquote>

<ul>
<li>Baptiste Daroussin (bapt)</li>
<li>Ed Maste (emaste)</li>
<li>George V. Neville-Neil (gnn)</li>
<li>Hiroki Sato (hrs)</li>
<li>Kyle Evans (kevans)</li>
<li>Mark Johnston (markj)</li>
<li>Scott Long (scottl)</li>
<li>Sean Chittenden (seanc)</li>
<li>Warner Losh (imp)
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://bentsukun.ch/posts/pinebook-pro-netbsd/" target="_blank" rel="nofollow noopener">Getting Started with NetBSD on the Pinebook Pro</a></h3>

<blockquote>
<p>If you buy a Pinebook Pro now, it comes with Manjaro Linux on the internal eMMC storage. Let’s install NetBSD instead!<br>
The easiest way to get started is to buy a decent micro-SD card (what sort of markings it should have is a science of its own, by the way) and install NetBSD on that. On a warm boot (i.e. when rebooting a running system), the micro-SD card has priority compared to the eMMC, so the system will boot from there.</p>

<ul>
<li>A FreeBSD developer has borrowed some of the NetBSD code to get audio working on RockPro64 and Pinebook Pro: <a href="https://twitter.com/kernelnomicon/status/1282790609778905088" target="_blank" rel="nofollow noopener">https://twitter.com/kernelnomicon/status/1282790609778905088</a>
***</li>
</ul>
</blockquote>

<h3><a href="https://adventurist.me/posts/00300" target="_blank" rel="nofollow noopener">FreeBSD on the Intel 10th Gen i3 NUC</a></h3>

<blockquote>
<p>I have ended up with some 10th Gen i3 NUC's (NUC10i3FNH to be specific) to put to work in my testbed. These are quite new devices, the build date on the boxes is 13APR2020. Before I figure out what their true role is (one of them might have to run linux) I need to install FreeBSD -CURRENT and see how performance and hardware support is.</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflydigest.com/2020/06/29/24698.html" target="_blank" rel="nofollow noopener">pf table size check and change</a></h3>

<blockquote>
<p>Did you know there’s a default size limit to pf’s state table?  I did not, but it makes sense that there is one.  If for some reason you bump into this limit (difficult for home use, I’d think), <a href="http://lists.dragonflybsd.org/pipermail/users/2020-June/381261.html" target="_blank" rel="nofollow noopener">here’s how you change it</a><br>
There is a table-entries limit specified, you can see current settings with<br>
'pfctl -s all'.  You can adjust the limits in the /etc/pf.conf file<br>
containing the rules with a line like this near the top:<br>
<code>set limit table-entries 100000</code></p>

<ul>
<li>In the original mail thread, there is mention of the FreeBSD sysctl net.pf.request_maxcount, which controls the maximum number of entries that can be sent as a single ioctl(). This allows the user to adjust the memory limit for how big of a list the kernel is willing to allocate memory for.
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://callfortesting.org/tmux/" target="_blank" rel="nofollow noopener">tmux and bhyve</a></li>
<li><a href="https://azuremarketplace.microsoft.com/en-us/marketplace/apps/thefreebsdfoundation.freebsd-12_1" target="_blank" rel="nofollow noopener">Azure and FreeBSD</a></li>
<li><a href="https://www.youtube.com/watch?v=bvkmnK6-qao&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">Groff Tutorial</a>
***
###Tarsnap</li>
<li>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.
<a href="https://mwl.io/nonfiction/tools#tarsnap" target="_blank" rel="nofollow noopener">Tarsnap Mastery</a></li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/360/feedback/Chris%20-%20zfs%20question.md" target="_blank" rel="nofollow noopener">Chris - ZFS Question</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/360/feedback/Patrick%20-%20Tarsnap.md" target="_blank" rel="nofollow noopener">Patrick - Tarsnap</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/360/feedback/pin%20-%20pkgsrc.md" target="_blank" rel="nofollow noopener">Pin - pkgsrc</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>359: Throwaway Browser</title>
  <link>https://www.bsdnow.tv/359</link>
  <guid isPermaLink="false">b066740d-03a5-423b-9ab9-8936c3246979</guid>
  <pubDate>Thu, 16 Jul 2020 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b066740d-03a5-423b-9ab9-8936c3246979.mp3" length="44787992" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Throw-Away Browser on FreeBSD With "pot" within 5 minutes, OmniOS as OpenBSD guest with bhyve, BSD vs Linux distro development, My FreeBSD Laptop Build, FreeBSD CURRENT Binary Upgrades, and more.</itunes:subtitle>
  <itunes:duration>43:25</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>&lt;p&gt;Throw-Away Browser on FreeBSD With "pot" within 5 minutes, OmniOS as OpenBSD guest with bhyve, BSD vs Linux distro development, My FreeBSD Laptop Build, FreeBSD CURRENT Binary Upgrades, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://honeyguide.eu/posts/pot-throwaway-firefox/" target="_blank" rel="nofollow noopener"&gt;Throw-Away Browser on FreeBSD With "pot" Within 5 Minutes&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;pot is a great and relatively new jail management tool. It offers DevOps style provisioning and can even be used to provide Docker-like, scalable cloud services together with nomad and consul (more about this in Orchestrating jails with nomad and pot).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.pbdigital.org/omniosce/bhyve/openbsd/2020/06/08/bhyve-zones-omnios.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD guest with bhyve - OmniOS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Today I will be creating a OpenBSD guest via bhyve on OmniOS. I will also be adding a Pass Through Ethernet Controller so I can have a multi-homed guest that will serve as a firewall/router.&lt;br&gt;
This post will cover setting up bhyve on OmniOS, so it will also be a good introduction to bhyve. As well, I look into OpenBSD’s uEFI boot loader so if you have had trouble with this, then you are in the right place.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://distrowatch.com/weekly.php?issue=20200622#qa" target="_blank" rel="nofollow noopener"&gt;BSD versus Linux distribution development&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Q: Comparing-apples-to-BSDs asks: I was reading one of the old articles from the archive. One of the things mentioned was how the BSDs have a distinct approach in terms of packaging the base system relative to userland apps, and that the Linux distros at the time were not following the same practice. Are there Linux distros that have adopted the same approach in modern times? If not, are there technical limitations that are preventing them from doing so, such as some distros supporting multiple kernel versions maybe?&lt;br&gt;
DistroWatch answers: In the article mentioned above, I made the observation that Linux distributions tend to take one of two approaches when it comes to packaging software. Generally a Linux distribution will either offer a rolling release, where virtually all packages are regularly upgraded to their latest stable releases, or a fixed release where almost all packages are kept at a set version number and only receive bug fixes for the life cycle of the distribution. Projects like Arch Linux and Void are popular examples of rolling, always-up-to-date distributions while Fedora and Ubuntu offer fixed platforms.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://corrupted.io/2020/06/21/my-freebsd-laptop-build.html" target="_blank" rel="nofollow noopener"&gt;My FreeBSD Laptop Build&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;I have always liked Thinkpad hardware and when I started to do more commuting I decided I needed something that had a decent sized screen but fit well on a bus. Luckily about this time Lenovo gave me a nice gift in the Thinkpad X390. Its basically the famous X2xx series but with a 13” screen and smaller bezel.&lt;br&gt;
So with this laptop I figured it was time to actually put the docs together on how I got my FreeBSD workstation working on it. I will here in the near future have another post that will cover this for HardenedBSD as well since the steps are similar but have a few extra gotchas due to the extra hardening.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://up.bsd.lv" target="_blank" rel="nofollow noopener"&gt;FreeBSD CURRENT Binary Upgrades&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Disclaimer
This proof-of-concept is not a publication of FreeBSD.&lt;/li&gt;
&lt;li&gt;Description
up.bsd.lv is a proof-of-concept of binary updates for FreeBSD/amd64 CURRENT/HEAD to facilitate the exhaustive testing of FreeBSD and the bhyve hypervisor and OpenZFS 2.0 specifically. Updates are based on the SVN revisions of official FreeBSD Release Engineering bi-monthly snapshots.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/359/Feedback/Karl%20-%20pfsense.md" target="_blank" rel="nofollow noopener"&gt;Karl - pfsense&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/359/Feedback/Val%20-%20esxi%20question.md" target="_blank" rel="nofollow noopener"&gt;Val - esxi question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/359/Feedback/lars%20-%20openbsd%20router%20hardware.md" target="_blank" rel="nofollow noopener"&gt;lars - openbsd router hardware&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, zfs, interview, browser, throw-away, throw away, pot, omnios, vm, guest, virtualization, bhyve, linux, development, distribution, laptop, binary upgrades</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Throw-Away Browser on FreeBSD With "pot" within 5 minutes, OmniOS as OpenBSD guest with bhyve, BSD vs Linux distro development, My FreeBSD Laptop Build, FreeBSD CURRENT Binary Upgrades, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://honeyguide.eu/posts/pot-throwaway-firefox/" target="_blank" rel="nofollow noopener">Throw-Away Browser on FreeBSD With "pot" Within 5 Minutes</a></h3>

<blockquote>
<p>pot is a great and relatively new jail management tool. It offers DevOps style provisioning and can even be used to provide Docker-like, scalable cloud services together with nomad and consul (more about this in Orchestrating jails with nomad and pot).</p>
</blockquote>

<hr>

<h3><a href="https://www.pbdigital.org/omniosce/bhyve/openbsd/2020/06/08/bhyve-zones-omnios.html" target="_blank" rel="nofollow noopener">OpenBSD guest with bhyve - OmniOS</a></h3>

<blockquote>
<p>Today I will be creating a OpenBSD guest via bhyve on OmniOS. I will also be adding a Pass Through Ethernet Controller so I can have a multi-homed guest that will serve as a firewall/router.<br>
This post will cover setting up bhyve on OmniOS, so it will also be a good introduction to bhyve. As well, I look into OpenBSD’s uEFI boot loader so if you have had trouble with this, then you are in the right place.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://distrowatch.com/weekly.php?issue=20200622#qa" target="_blank" rel="nofollow noopener">BSD versus Linux distribution development</a></h3>

<blockquote>
<p>Q: Comparing-apples-to-BSDs asks: I was reading one of the old articles from the archive. One of the things mentioned was how the BSDs have a distinct approach in terms of packaging the base system relative to userland apps, and that the Linux distros at the time were not following the same practice. Are there Linux distros that have adopted the same approach in modern times? If not, are there technical limitations that are preventing them from doing so, such as some distros supporting multiple kernel versions maybe?<br>
DistroWatch answers: In the article mentioned above, I made the observation that Linux distributions tend to take one of two approaches when it comes to packaging software. Generally a Linux distribution will either offer a rolling release, where virtually all packages are regularly upgraded to their latest stable releases, or a fixed release where almost all packages are kept at a set version number and only receive bug fixes for the life cycle of the distribution. Projects like Arch Linux and Void are popular examples of rolling, always-up-to-date distributions while Fedora and Ubuntu offer fixed platforms.</p>

<hr>

<h3><a href="https://corrupted.io/2020/06/21/my-freebsd-laptop-build.html" target="_blank" rel="nofollow noopener">My FreeBSD Laptop Build</a></h3>

<p>I have always liked Thinkpad hardware and when I started to do more commuting I decided I needed something that had a decent sized screen but fit well on a bus. Luckily about this time Lenovo gave me a nice gift in the Thinkpad X390. Its basically the famous X2xx series but with a 13” screen and smaller bezel.<br>
So with this laptop I figured it was time to actually put the docs together on how I got my FreeBSD workstation working on it. I will here in the near future have another post that will cover this for HardenedBSD as well since the steps are similar but have a few extra gotchas due to the extra hardening.</p>

<hr>

<h3><a href="http://up.bsd.lv" target="_blank" rel="nofollow noopener">FreeBSD CURRENT Binary Upgrades</a></h3>

<ul>
<li>Disclaimer
This proof-of-concept is not a publication of FreeBSD.</li>
<li>Description
up.bsd.lv is a proof-of-concept of binary updates for FreeBSD/amd64 CURRENT/HEAD to facilitate the exhaustive testing of FreeBSD and the bhyve hypervisor and OpenZFS 2.0 specifically. Updates are based on the SVN revisions of official FreeBSD Release Engineering bi-monthly snapshots.</li>
</ul>
</blockquote>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/359/Feedback/Karl%20-%20pfsense.md" target="_blank" rel="nofollow noopener">Karl - pfsense</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/359/Feedback/Val%20-%20esxi%20question.md" target="_blank" rel="nofollow noopener">Val - esxi question</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/359/Feedback/lars%20-%20openbsd%20router%20hardware.md" target="_blank" rel="nofollow noopener">lars - openbsd router hardware</a></p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Throw-Away Browser on FreeBSD With "pot" within 5 minutes, OmniOS as OpenBSD guest with bhyve, BSD vs Linux distro development, My FreeBSD Laptop Build, FreeBSD CURRENT Binary Upgrades, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://honeyguide.eu/posts/pot-throwaway-firefox/" target="_blank" rel="nofollow noopener">Throw-Away Browser on FreeBSD With "pot" Within 5 Minutes</a></h3>

<blockquote>
<p>pot is a great and relatively new jail management tool. It offers DevOps style provisioning and can even be used to provide Docker-like, scalable cloud services together with nomad and consul (more about this in Orchestrating jails with nomad and pot).</p>
</blockquote>

<hr>

<h3><a href="https://www.pbdigital.org/omniosce/bhyve/openbsd/2020/06/08/bhyve-zones-omnios.html" target="_blank" rel="nofollow noopener">OpenBSD guest with bhyve - OmniOS</a></h3>

<blockquote>
<p>Today I will be creating a OpenBSD guest via bhyve on OmniOS. I will also be adding a Pass Through Ethernet Controller so I can have a multi-homed guest that will serve as a firewall/router.<br>
This post will cover setting up bhyve on OmniOS, so it will also be a good introduction to bhyve. As well, I look into OpenBSD’s uEFI boot loader so if you have had trouble with this, then you are in the right place.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://distrowatch.com/weekly.php?issue=20200622#qa" target="_blank" rel="nofollow noopener">BSD versus Linux distribution development</a></h3>

<blockquote>
<p>Q: Comparing-apples-to-BSDs asks: I was reading one of the old articles from the archive. One of the things mentioned was how the BSDs have a distinct approach in terms of packaging the base system relative to userland apps, and that the Linux distros at the time were not following the same practice. Are there Linux distros that have adopted the same approach in modern times? If not, are there technical limitations that are preventing them from doing so, such as some distros supporting multiple kernel versions maybe?<br>
DistroWatch answers: In the article mentioned above, I made the observation that Linux distributions tend to take one of two approaches when it comes to packaging software. Generally a Linux distribution will either offer a rolling release, where virtually all packages are regularly upgraded to their latest stable releases, or a fixed release where almost all packages are kept at a set version number and only receive bug fixes for the life cycle of the distribution. Projects like Arch Linux and Void are popular examples of rolling, always-up-to-date distributions while Fedora and Ubuntu offer fixed platforms.</p>

<hr>

<h3><a href="https://corrupted.io/2020/06/21/my-freebsd-laptop-build.html" target="_blank" rel="nofollow noopener">My FreeBSD Laptop Build</a></h3>

<p>I have always liked Thinkpad hardware and when I started to do more commuting I decided I needed something that had a decent sized screen but fit well on a bus. Luckily about this time Lenovo gave me a nice gift in the Thinkpad X390. Its basically the famous X2xx series but with a 13” screen and smaller bezel.<br>
So with this laptop I figured it was time to actually put the docs together on how I got my FreeBSD workstation working on it. I will here in the near future have another post that will cover this for HardenedBSD as well since the steps are similar but have a few extra gotchas due to the extra hardening.</p>

<hr>

<h3><a href="http://up.bsd.lv" target="_blank" rel="nofollow noopener">FreeBSD CURRENT Binary Upgrades</a></h3>

<ul>
<li>Disclaimer
This proof-of-concept is not a publication of FreeBSD.</li>
<li>Description
up.bsd.lv is a proof-of-concept of binary updates for FreeBSD/amd64 CURRENT/HEAD to facilitate the exhaustive testing of FreeBSD and the bhyve hypervisor and OpenZFS 2.0 specifically. Updates are based on the SVN revisions of official FreeBSD Release Engineering bi-monthly snapshots.</li>
</ul>
</blockquote>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/359/Feedback/Karl%20-%20pfsense.md" target="_blank" rel="nofollow noopener">Karl - pfsense</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/359/Feedback/Val%20-%20esxi%20question.md" target="_blank" rel="nofollow noopener">Val - esxi question</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/359/Feedback/lars%20-%20openbsd%20router%20hardware.md" target="_blank" rel="nofollow noopener">lars - openbsd router hardware</a></p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>358: OpenBSD Kubernetes Clusters</title>
  <link>https://www.bsdnow.tv/358</link>
  <guid isPermaLink="false">dd2d31ad-23bc-492d-b813-caf9f661e315</guid>
  <pubDate>Thu, 09 Jul 2020 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/dd2d31ad-23bc-492d-b813-caf9f661e315.mp3" length="43199240" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Yubikey-agent on FreeBSD, Managing Kubernetes clusters from OpenBSD, History of FreeBSD part 1, Running Jitsi-Meet in a FreeBSD Jail, Command Line Bug Hunting in FreeBSD, Game of Github, Wireguard official merged into OpenBSD, and more</itunes:subtitle>
  <itunes:duration>43:32</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>&lt;p&gt;Yubikey-agent on FreeBSD, Managing Kubernetes clusters from OpenBSD, History of FreeBSD part 1, Running Jitsi-Meet in a FreeBSD Jail, Command Line Bug Hunting in FreeBSD, Game of Github, Wireguard official merged into OpenBSD, and more&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://kernelnomicon.org/?p=855" target="_blank" rel="nofollow noopener"&gt;yubikey-agent on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Some time ago Filippo Valsorda wrote yubikey-agent, seamless SSH agent for YubiKeys. I really like YubiKeys and worked on the FreeBSD support for U2F in Chromium and pyu2f, getting yubikey-agent ported looked like an interesting project. It took some hacking to make it work but overall it wasn’t hard. Following is the roadmap on how to get it set up on FreeBSD. The actual details depend on your system (as you will see)&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://e1e0.net/manage-k8s-from-openbsd.html" target="_blank" rel="nofollow noopener"&gt;Manage Kubernetes clusters from OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This should work with OpenBSD 6.7. I write this while the source tree is locked for release, so even if I use -current this is as close as -current gets to -release&lt;br&gt;
Update 2020-06-05: we now have a port for kubectl. So, at least in -current things get a bit easier.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://klarasystems.com/articles/history-of-freebsd-unix-and-bsd/?utm_source=bsdnow" target="_blank" rel="nofollow noopener"&gt;History of FreeBSD Part 1: Unix and BSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD, a free and open-source Unix-like operating system has been around since 1993. However, its origins are directly linked to that of BSD, and further back, those of Unix. During this History of FreeBSD series, we will talk about how Unix came to be, and how Berkeley’s Unix developed at Bell Labs.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://honeyguide.eu/posts/jitsi-freebsd/" target="_blank" rel="nofollow noopener"&gt;Running Jitsi-Meet in a FreeBSD Jail&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Due to the situation with COVID-19 that also lead to people being confined to their homes in South Africa as well, we decided to provide a (freely usable of course) Jitsi Meet instance to the community being hosted in South Africa on our FreeBSD environment.&lt;br&gt;
That way, communities in South Africa and beyond have a free alternative to the commercial conferencing solutions with sometimes dubious security and privacy histories and at the same time improved user experience due to the lower latency of local hosting.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://honeyguide.eu/posts/jitsi-grafana/" target="_blank" rel="nofollow noopener"&gt;Grafana for Jitsi-Meet&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://adventurist.me/posts/00301" target="_blank" rel="nofollow noopener"&gt;Command Line Bug Hunting in FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD uses bugzilla for tracking bugs, taking feature requests, regressions and issues in the Operating System. The web interface for bugzilla is okay, but if you want to do a lot of batch operations it is slow to deal with. We are planning to run a bugsquash on July 11th and that really needs some tooling to help any hackers that show up process the giant bug list we have.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://glebbahmutov.com/game-of-github/" target="_blank" rel="nofollow noopener"&gt;Game of Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;+ &lt;a href="https://marc.info/?l=openbsd-cvs&amp;amp;m=159274150512676&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;Wireguard official merged into OpenBSD&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/358/feedback/Florian%20-%20Lua%20for%20%24HOME" target="_blank" rel="nofollow noopener"&gt;Florian : Lua for $HOME&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/358/feedback/Kevin%20-%20FreeBSD%20Source%20Question" target="_blank" rel="nofollow noopener"&gt;Kevin : FreeBSD Source Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/358/feedback/Tom%20-%20HomeLabs" target="_blank" rel="nofollow noopener"&gt;Tom : HomeLabs&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, zfs, interview, yubikey, yubikey-agent, yubikey agent, agent, kubernetes, cluster, kubernetes cluster, history, jitsi, jitsi-meet, conference, video conferencing, conferencing, conferencing software, command line, bug, bug hunting, git, github, wireguard, merge</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Yubikey-agent on FreeBSD, Managing Kubernetes clusters from OpenBSD, History of FreeBSD part 1, Running Jitsi-Meet in a FreeBSD Jail, Command Line Bug Hunting in FreeBSD, Game of Github, Wireguard official merged into OpenBSD, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://kernelnomicon.org/?p=855" target="_blank" rel="nofollow noopener">yubikey-agent on FreeBSD</a></h3>

<blockquote>
<p>Some time ago Filippo Valsorda wrote yubikey-agent, seamless SSH agent for YubiKeys. I really like YubiKeys and worked on the FreeBSD support for U2F in Chromium and pyu2f, getting yubikey-agent ported looked like an interesting project. It took some hacking to make it work but overall it wasn’t hard. Following is the roadmap on how to get it set up on FreeBSD. The actual details depend on your system (as you will see)</p>

<hr>
</blockquote>

<h3><a href="https://e1e0.net/manage-k8s-from-openbsd.html" target="_blank" rel="nofollow noopener">Manage Kubernetes clusters from OpenBSD</a></h3>

<blockquote>
<p>This should work with OpenBSD 6.7. I write this while the source tree is locked for release, so even if I use -current this is as close as -current gets to -release<br>
Update 2020-06-05: we now have a port for kubectl. So, at least in -current things get a bit easier.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://klarasystems.com/articles/history-of-freebsd-unix-and-bsd/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">History of FreeBSD Part 1: Unix and BSD</a></h3>

<blockquote>
<p>FreeBSD, a free and open-source Unix-like operating system has been around since 1993. However, its origins are directly linked to that of BSD, and further back, those of Unix. During this History of FreeBSD series, we will talk about how Unix came to be, and how Berkeley’s Unix developed at Bell Labs.</p>

<hr>
</blockquote>

<h3><a href="https://honeyguide.eu/posts/jitsi-freebsd/" target="_blank" rel="nofollow noopener">Running Jitsi-Meet in a FreeBSD Jail</a></h3>

<blockquote>
<p>Due to the situation with COVID-19 that also lead to people being confined to their homes in South Africa as well, we decided to provide a (freely usable of course) Jitsi Meet instance to the community being hosted in South Africa on our FreeBSD environment.<br>
That way, communities in South Africa and beyond have a free alternative to the commercial conferencing solutions with sometimes dubious security and privacy histories and at the same time improved user experience due to the lower latency of local hosting.</p>

<ul>
<li><a href="https://honeyguide.eu/posts/jitsi-grafana/" target="_blank" rel="nofollow noopener">Grafana for Jitsi-Meet</a>
***</li>
</ul>
</blockquote>

<h3><a href="https://adventurist.me/posts/00301" target="_blank" rel="nofollow noopener">Command Line Bug Hunting in FreeBSD</a></h3>

<blockquote>
<p>FreeBSD uses bugzilla for tracking bugs, taking feature requests, regressions and issues in the Operating System. The web interface for bugzilla is okay, but if you want to do a lot of batch operations it is slow to deal with. We are planning to run a bugsquash on July 11th and that really needs some tooling to help any hackers that show up process the giant bug list we have.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://glebbahmutov.com/game-of-github/" target="_blank" rel="nofollow noopener">Game of Github</a></li>
<li>+ <a href="https://marc.info/?l=openbsd-cvs&amp;m=159274150512676&amp;w=2" target="_blank" rel="nofollow noopener">Wireguard official merged into OpenBSD</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/358/feedback/Florian%20-%20Lua%20for%20%24HOME" target="_blank" rel="nofollow noopener">Florian : Lua for $HOME</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/358/feedback/Kevin%20-%20FreeBSD%20Source%20Question" target="_blank" rel="nofollow noopener">Kevin : FreeBSD Source Question</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/358/feedback/Tom%20-%20HomeLabs" target="_blank" rel="nofollow noopener">Tom : HomeLabs</a></p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Yubikey-agent on FreeBSD, Managing Kubernetes clusters from OpenBSD, History of FreeBSD part 1, Running Jitsi-Meet in a FreeBSD Jail, Command Line Bug Hunting in FreeBSD, Game of Github, Wireguard official merged into OpenBSD, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://kernelnomicon.org/?p=855" target="_blank" rel="nofollow noopener">yubikey-agent on FreeBSD</a></h3>

<blockquote>
<p>Some time ago Filippo Valsorda wrote yubikey-agent, seamless SSH agent for YubiKeys. I really like YubiKeys and worked on the FreeBSD support for U2F in Chromium and pyu2f, getting yubikey-agent ported looked like an interesting project. It took some hacking to make it work but overall it wasn’t hard. Following is the roadmap on how to get it set up on FreeBSD. The actual details depend on your system (as you will see)</p>

<hr>
</blockquote>

<h3><a href="https://e1e0.net/manage-k8s-from-openbsd.html" target="_blank" rel="nofollow noopener">Manage Kubernetes clusters from OpenBSD</a></h3>

<blockquote>
<p>This should work with OpenBSD 6.7. I write this while the source tree is locked for release, so even if I use -current this is as close as -current gets to -release<br>
Update 2020-06-05: we now have a port for kubectl. So, at least in -current things get a bit easier.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://klarasystems.com/articles/history-of-freebsd-unix-and-bsd/?utm_source=bsdnow" target="_blank" rel="nofollow noopener">History of FreeBSD Part 1: Unix and BSD</a></h3>

<blockquote>
<p>FreeBSD, a free and open-source Unix-like operating system has been around since 1993. However, its origins are directly linked to that of BSD, and further back, those of Unix. During this History of FreeBSD series, we will talk about how Unix came to be, and how Berkeley’s Unix developed at Bell Labs.</p>

<hr>
</blockquote>

<h3><a href="https://honeyguide.eu/posts/jitsi-freebsd/" target="_blank" rel="nofollow noopener">Running Jitsi-Meet in a FreeBSD Jail</a></h3>

<blockquote>
<p>Due to the situation with COVID-19 that also lead to people being confined to their homes in South Africa as well, we decided to provide a (freely usable of course) Jitsi Meet instance to the community being hosted in South Africa on our FreeBSD environment.<br>
That way, communities in South Africa and beyond have a free alternative to the commercial conferencing solutions with sometimes dubious security and privacy histories and at the same time improved user experience due to the lower latency of local hosting.</p>

<ul>
<li><a href="https://honeyguide.eu/posts/jitsi-grafana/" target="_blank" rel="nofollow noopener">Grafana for Jitsi-Meet</a>
***</li>
</ul>
</blockquote>

<h3><a href="https://adventurist.me/posts/00301" target="_blank" rel="nofollow noopener">Command Line Bug Hunting in FreeBSD</a></h3>

<blockquote>
<p>FreeBSD uses bugzilla for tracking bugs, taking feature requests, regressions and issues in the Operating System. The web interface for bugzilla is okay, but if you want to do a lot of batch operations it is slow to deal with. We are planning to run a bugsquash on July 11th and that really needs some tooling to help any hackers that show up process the giant bug list we have.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://glebbahmutov.com/game-of-github/" target="_blank" rel="nofollow noopener">Game of Github</a></li>
<li>+ <a href="https://marc.info/?l=openbsd-cvs&amp;m=159274150512676&amp;w=2" target="_blank" rel="nofollow noopener">Wireguard official merged into OpenBSD</a>
***</li>
</ul>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/358/feedback/Florian%20-%20Lua%20for%20%24HOME" target="_blank" rel="nofollow noopener">Florian : Lua for $HOME</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/358/feedback/Kevin%20-%20FreeBSD%20Source%20Question" target="_blank" rel="nofollow noopener">Kevin : FreeBSD Source Question</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/358/feedback/Tom%20-%20HomeLabs" target="_blank" rel="nofollow noopener">Tom : HomeLabs</a></p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>357: Study the Code</title>
  <link>https://www.bsdnow.tv/357</link>
  <guid isPermaLink="false">3155c049-a0b4-4449-9ecb-1f820e68f542</guid>
  <pubDate>Thu, 02 Jul 2020 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3155c049-a0b4-4449-9ecb-1f820e68f542.mp3" length="36249920" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 6.7 on PC Engines, NetBSD code study, DRM Update on OpenBSD, Booting FreeBSD on HPE Microserver SATA port, 3 ways to multiboot, and more.</itunes:subtitle>
  <itunes:duration>37:59</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>&lt;p&gt;OpenBSD 6.7 on PC Engines, NetBSD code study, DRM Update on OpenBSD, Booting FreeBSD on HPE Microserver SATA port, 3 ways to multiboot, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/20200530/openbsd-6-7-on-pc-engines-apu4d4/" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.7 on PC Engines APU4D4&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I just got myself a PC Engines APU4D4. I miss an OpenBSD box providing home services. It’s quite simple to install and run OpenBSD on this machine. And you can even update the BIOS from OpenBSD.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://silas.net.br/codereading/netbsd-code.html" target="_blank" rel="nofollow noopener"&gt;NetBSD code study&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/booting-freebsd-off-the-microserver-odd-sata-port/" target="_blank" rel="nofollow noopener"&gt;Booting FreeBSD off the HPE MicroServer Gen8 ODD SATA port&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;My small homelab post generated a ton of questions and comments, most of them specific to running FreeBSD on the HP MicroServer. I’ll try and answer these over the coming week.&lt;br&gt;
Josh Paxton emailed to ask how I got FreeBSD booting on it, given the unconventional booting limitations of the hardware. I thought I wrote about it a few years ago, but maybe it’s on my proverbial draft heap. If you’re impatient, the script is in my lunchbox.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-misc&amp;amp;m=159146428705118&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;3 ways to multiboot&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;multiboot installation of a BSD system with other operating systems&lt;br&gt;
(OSs) on UEFI hardware is not officially supported by any of the&lt;br&gt;
popular&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.netgate.com/blog/pfsense-2-4-5-release-p1-now-available.html" target="_blank" rel="nofollow noopener"&gt;pfSense2.4.5-Release-p1 now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=_eOVlaYWqS8" target="_blank" rel="nofollow noopener"&gt;BSDCan 2020 TomSmyth - OpenBSD And OpenBGPD As ISP Controlplane&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20200608075708" target="_blank" rel="nofollow noopener"&gt;OpenBSD DRM Update&lt;/a&gt;
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/James%20-%20Apple%20T2" target="_blank" rel="nofollow noopener"&gt; James - Apple T2&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Michael%20-%20Jordyns%20ZFS%20Question" target="_blank" rel="nofollow noopener"&gt;Michael - Jordyns ZFS Question&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Note%20from%20JT" target="_blank" rel="nofollow noopener"&gt;Note from JT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Rob%20-%20FreeBSD%20Freindly%20Registrar" target="_blank" rel="nofollow noopener"&gt;Rob - FreeBSD Freindly Registrar&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, operating system, os, zfs, interview, pc engines, APU4D4, code study, code, study, drm, update, updates, booting, boot, HPE, MicroServer, SATA, SATA port</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 6.7 on PC Engines, NetBSD code study, DRM Update on OpenBSD, Booting FreeBSD on HPE Microserver SATA port, 3 ways to multiboot, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.tumfatig.net/20200530/openbsd-6-7-on-pc-engines-apu4d4/" target="_blank" rel="nofollow noopener">OpenBSD 6.7 on PC Engines APU4D4</a></h3>

<blockquote>
<p>I just got myself a PC Engines APU4D4. I miss an OpenBSD box providing home services. It’s quite simple to install and run OpenBSD on this machine. And you can even update the BIOS from OpenBSD.</p>

<hr>

<h3><a href="http://silas.net.br/codereading/netbsd-code.html" target="_blank" rel="nofollow noopener">NetBSD code study</a></h3>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/booting-freebsd-off-the-microserver-odd-sata-port/" target="_blank" rel="nofollow noopener">Booting FreeBSD off the HPE MicroServer Gen8 ODD SATA port</a></h3>

<blockquote>
<p>My small homelab post generated a ton of questions and comments, most of them specific to running FreeBSD on the HP MicroServer. I’ll try and answer these over the coming week.<br>
Josh Paxton emailed to ask how I got FreeBSD booting on it, given the unconventional booting limitations of the hardware. I thought I wrote about it a few years ago, but maybe it’s on my proverbial draft heap. If you’re impatient, the script is in my lunchbox.</p>

<hr>
</blockquote>

<h3><a href="https://marc.info/?l=openbsd-misc&amp;m=159146428705118&amp;w=2" target="_blank" rel="nofollow noopener">3 ways to multiboot</a></h3>

<blockquote>
<p>multiboot installation of a BSD system with other operating systems<br>
(OSs) on UEFI hardware is not officially supported by any of the<br>
popular</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.netgate.com/blog/pfsense-2-4-5-release-p1-now-available.html" target="_blank" rel="nofollow noopener">pfSense2.4.5-Release-p1 now available</a></li>
<li><a href="https://www.youtube.com/watch?v=_eOVlaYWqS8" target="_blank" rel="nofollow noopener">BSDCan 2020 TomSmyth - OpenBSD And OpenBGPD As ISP Controlplane</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20200608075708" target="_blank" rel="nofollow noopener">OpenBSD DRM Update</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/James%20-%20Apple%20T2" target="_blank" rel="nofollow noopener"> James - Apple T2</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Michael%20-%20Jordyns%20ZFS%20Question" target="_blank" rel="nofollow noopener">Michael - Jordyns ZFS Question</a></p>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Note%20from%20JT" target="_blank" rel="nofollow noopener">Note from JT</a></li>
</ul></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Rob%20-%20FreeBSD%20Freindly%20Registrar" target="_blank" rel="nofollow noopener">Rob - FreeBSD Freindly Registrar</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 6.7 on PC Engines, NetBSD code study, DRM Update on OpenBSD, Booting FreeBSD on HPE Microserver SATA port, 3 ways to multiboot, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.tumfatig.net/20200530/openbsd-6-7-on-pc-engines-apu4d4/" target="_blank" rel="nofollow noopener">OpenBSD 6.7 on PC Engines APU4D4</a></h3>

<blockquote>
<p>I just got myself a PC Engines APU4D4. I miss an OpenBSD box providing home services. It’s quite simple to install and run OpenBSD on this machine. And you can even update the BIOS from OpenBSD.</p>

<hr>

<h3><a href="http://silas.net.br/codereading/netbsd-code.html" target="_blank" rel="nofollow noopener">NetBSD code study</a></h3>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://rubenerd.com/booting-freebsd-off-the-microserver-odd-sata-port/" target="_blank" rel="nofollow noopener">Booting FreeBSD off the HPE MicroServer Gen8 ODD SATA port</a></h3>

<blockquote>
<p>My small homelab post generated a ton of questions and comments, most of them specific to running FreeBSD on the HP MicroServer. I’ll try and answer these over the coming week.<br>
Josh Paxton emailed to ask how I got FreeBSD booting on it, given the unconventional booting limitations of the hardware. I thought I wrote about it a few years ago, but maybe it’s on my proverbial draft heap. If you’re impatient, the script is in my lunchbox.</p>

<hr>
</blockquote>

<h3><a href="https://marc.info/?l=openbsd-misc&amp;m=159146428705118&amp;w=2" target="_blank" rel="nofollow noopener">3 ways to multiboot</a></h3>

<blockquote>
<p>multiboot installation of a BSD system with other operating systems<br>
(OSs) on UEFI hardware is not officially supported by any of the<br>
popular</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.netgate.com/blog/pfsense-2-4-5-release-p1-now-available.html" target="_blank" rel="nofollow noopener">pfSense2.4.5-Release-p1 now available</a></li>
<li><a href="https://www.youtube.com/watch?v=_eOVlaYWqS8" target="_blank" rel="nofollow noopener">BSDCan 2020 TomSmyth - OpenBSD And OpenBGPD As ISP Controlplane</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20200608075708" target="_blank" rel="nofollow noopener">OpenBSD DRM Update</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/James%20-%20Apple%20T2" target="_blank" rel="nofollow noopener"> James - Apple T2</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Michael%20-%20Jordyns%20ZFS%20Question" target="_blank" rel="nofollow noopener">Michael - Jordyns ZFS Question</a></p>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Note%20from%20JT" target="_blank" rel="nofollow noopener">Note from JT</a></li>
</ul></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/357/feedback/Rob%20-%20FreeBSD%20Freindly%20Registrar" target="_blank" rel="nofollow noopener">Rob - FreeBSD Freindly Registrar</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>356: Dig in Deeper</title>
  <link>https://www.bsdnow.tv/356</link>
  <guid isPermaLink="false">666c3655-32bf-4341-a986-ab085baa9c10</guid>
  <pubDate>Thu, 25 Jun 2020 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/666c3655-32bf-4341-a986-ab085baa9c10.mp3" length="31946816" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>TrueNAS is Multi-OS, Encrypted ZFS on NetBSD, FreeBSD’s new Code of Conduct, Gaming on OpenBSD, dig a little deeper, Hammer2 and periodic snapshots, and more.</itunes:subtitle>
  <itunes:duration>32:08</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>&lt;p&gt;TrueNAS is Multi-OS, Encrypted ZFS on NetBSD, FreeBSD’s new Code of Conduct, Gaming on OpenBSD, dig a little deeper, Hammer2 and periodic snapshots, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/truenas-multi-os/" target="_blank" rel="nofollow noopener"&gt;TrueNAS is Multi-OS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;There was a time in history where all that mattered was an Operating System (OS) and the hardware it ran on — the “pre-software era”, if you will. Your hardware dictated the OS you used.&lt;br&gt;
Once software applications became prominent, your hardware’s OS determined the applications you could run. Application vendors were forced to juggle the burden of “portability” between OS platforms, choosing carefully the operating systems they’d develop their software to. Then, there were the great OS Wars of the 1990s, replete with the rampant competition, licensing battles, and nasty lawsuits, which more or less gave birth to the “open source OS” era.&lt;br&gt;
The advent of the hypervisor simultaneously gave way to the “virtual era” which set us on a path of agnosticism toward the OS. Instead of choosing from the applications available for your chosen OS, you could simply install another OS on the same hardware for your chosen application. The OS became nothing but a necessary cog in the stack.&lt;br&gt;
TrueNAS open storage enables this “post-OS era” with support for storage clients of all UNIX flavors, Linux, FreeBSD, Windows, MacOS, VMware, Citrix, and many others. Containerization has carried that mentality even further. An operating system, like the hardware that runs it, is now just thought of as part of the “infrastructure”.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/encrypted-zfs-on-netbsd-9-for-a-freebsd-guy/" target="_blank" rel="nofollow noopener"&gt;Encrypted ZFS on NetBSD 9.0, for a FreeBSD guy&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;I had one of my other HP Microservers brought back from the office last week to help with this working-from-home world we’re in right now. I was going to wipe an old version of Debian Wheezy/Xen and install FreeBSD to mirror my other machines before thinking: why not NetBSD?&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/internal/code-of-conduct.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD's New Code of Conduct&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/BSDNow/bsdnow.tv/master/episodes/356/FBSD-CoC-Email" target="_blank" rel="nofollow noopener"&gt;FreeBSD Announcement Email&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2020-06-05-openbsd-gaming.html" target="_blank" rel="nofollow noopener"&gt;Gaming on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;While no one would expect this, there are huge efforts from a small team to bring more games into OpenBSD. In fact, now some commercial games works natively now, thanks to Mono or Java. There are no wine or linux emulation layer in OpenBSD.&lt;br&gt;
Here is a small list of most well known games that run on OpenBSD:&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://vishaltelangre.com/dig-a-little-deeper/" target="_blank" rel="nofollow noopener"&gt;'dig' a little deeper&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;I knew the existence of the dig command but didn't exactly know when and how to use it. Then, just recently I encountered an issue that allowed me to learn and make use of it.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2020/06/15/24635.html" target="_blank" rel="nofollow noopener"&gt;HAMMER2 and periodic snapshots&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;The first version of HAMMER took automatic snapshots, set within the config for each filesystem.  HAMMER2 now also takes automatic snapshots, via periodic(8) like most every repeating task on your DragonFly system.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2020-June/769247.html" target="_blank" rel="nofollow noopener"&gt;git: Implement periodic hammer2 snapshots&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Cy%20-%20OPenSSL%20relicensing.md" target="_blank" rel="nofollow noopener"&gt;Cy - OpenSSL relicensing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Christian%20-%20lagg%20vlans%20and%20iocage" target="_blank" rel="nofollow noopener"&gt;Christian - lagg vlans and iocage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Brad%20-%20SMR" target="_blank" rel="nofollow noopener"&gt;Brad - SMR&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, truenas, multi os, os, operating system, code of conduct, code, conduct, encryption, encrypted, zfs, gaming, dig, hammer2, snapshot, snapshots, periodic, periodic snapshots</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>TrueNAS is Multi-OS, Encrypted ZFS on NetBSD, FreeBSD’s new Code of Conduct, Gaming on OpenBSD, dig a little deeper, Hammer2 and periodic snapshots, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.ixsystems.com/blog/truenas-multi-os/" target="_blank" rel="nofollow noopener">TrueNAS is Multi-OS</a></h3>

<blockquote>
<p>There was a time in history where all that mattered was an Operating System (OS) and the hardware it ran on — the “pre-software era”, if you will. Your hardware dictated the OS you used.<br>
Once software applications became prominent, your hardware’s OS determined the applications you could run. Application vendors were forced to juggle the burden of “portability” between OS platforms, choosing carefully the operating systems they’d develop their software to. Then, there were the great OS Wars of the 1990s, replete with the rampant competition, licensing battles, and nasty lawsuits, which more or less gave birth to the “open source OS” era.<br>
The advent of the hypervisor simultaneously gave way to the “virtual era” which set us on a path of agnosticism toward the OS. Instead of choosing from the applications available for your chosen OS, you could simply install another OS on the same hardware for your chosen application. The OS became nothing but a necessary cog in the stack.<br>
TrueNAS open storage enables this “post-OS era” with support for storage clients of all UNIX flavors, Linux, FreeBSD, Windows, MacOS, VMware, Citrix, and many others. Containerization has carried that mentality even further. An operating system, like the hardware that runs it, is now just thought of as part of the “infrastructure”.</p>

<hr>

<h3><a href="https://rubenerd.com/encrypted-zfs-on-netbsd-9-for-a-freebsd-guy/" target="_blank" rel="nofollow noopener">Encrypted ZFS on NetBSD 9.0, for a FreeBSD guy</a></h3>

<p>I had one of my other HP Microservers brought back from the office last week to help with this working-from-home world we’re in right now. I was going to wipe an old version of Debian Wheezy/Xen and install FreeBSD to mirror my other machines before thinking: why not NetBSD?</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://www.freebsd.org/internal/code-of-conduct.html" target="_blank" rel="nofollow noopener">FreeBSD's New Code of Conduct</a></h3>

<ul>
<li><a href="https://raw.githubusercontent.com/BSDNow/bsdnow.tv/master/episodes/356/FBSD-CoC-Email" target="_blank" rel="nofollow noopener">FreeBSD Announcement Email</a></li>
</ul>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2020-06-05-openbsd-gaming.html" target="_blank" rel="nofollow noopener">Gaming on OpenBSD</a></h3>

<blockquote>
<p>While no one would expect this, there are huge efforts from a small team to bring more games into OpenBSD. In fact, now some commercial games works natively now, thanks to Mono or Java. There are no wine or linux emulation layer in OpenBSD.<br>
Here is a small list of most well known games that run on OpenBSD:</p>

<hr>

<h3><a href="https://vishaltelangre.com/dig-a-little-deeper/" target="_blank" rel="nofollow noopener">'dig' a little deeper</a></h3>

<p>I knew the existence of the dig command but didn't exactly know when and how to use it. Then, just recently I encountered an issue that allowed me to learn and make use of it.</p>

<hr>

<h3><a href="https://www.dragonflydigest.com/2020/06/15/24635.html" target="_blank" rel="nofollow noopener">HAMMER2 and periodic snapshots</a></h3>

<p>The first version of HAMMER took automatic snapshots, set within the config for each filesystem.  HAMMER2 now also takes automatic snapshots, via periodic(8) like most every repeating task on your DragonFly system.</p>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-June/769247.html" target="_blank" rel="nofollow noopener">git: Implement periodic hammer2 snapshots</a>
***</li>
</ul>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Cy%20-%20OPenSSL%20relicensing.md" target="_blank" rel="nofollow noopener">Cy - OpenSSL relicensing</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Christian%20-%20lagg%20vlans%20and%20iocage" target="_blank" rel="nofollow noopener">Christian - lagg vlans and iocage</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Brad%20-%20SMR" target="_blank" rel="nofollow noopener">Brad - SMR</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>TrueNAS is Multi-OS, Encrypted ZFS on NetBSD, FreeBSD’s new Code of Conduct, Gaming on OpenBSD, dig a little deeper, Hammer2 and periodic snapshots, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://www.ixsystems.com/blog/truenas-multi-os/" target="_blank" rel="nofollow noopener">TrueNAS is Multi-OS</a></h3>

<blockquote>
<p>There was a time in history where all that mattered was an Operating System (OS) and the hardware it ran on — the “pre-software era”, if you will. Your hardware dictated the OS you used.<br>
Once software applications became prominent, your hardware’s OS determined the applications you could run. Application vendors were forced to juggle the burden of “portability” between OS platforms, choosing carefully the operating systems they’d develop their software to. Then, there were the great OS Wars of the 1990s, replete with the rampant competition, licensing battles, and nasty lawsuits, which more or less gave birth to the “open source OS” era.<br>
The advent of the hypervisor simultaneously gave way to the “virtual era” which set us on a path of agnosticism toward the OS. Instead of choosing from the applications available for your chosen OS, you could simply install another OS on the same hardware for your chosen application. The OS became nothing but a necessary cog in the stack.<br>
TrueNAS open storage enables this “post-OS era” with support for storage clients of all UNIX flavors, Linux, FreeBSD, Windows, MacOS, VMware, Citrix, and many others. Containerization has carried that mentality even further. An operating system, like the hardware that runs it, is now just thought of as part of the “infrastructure”.</p>

<hr>

<h3><a href="https://rubenerd.com/encrypted-zfs-on-netbsd-9-for-a-freebsd-guy/" target="_blank" rel="nofollow noopener">Encrypted ZFS on NetBSD 9.0, for a FreeBSD guy</a></h3>

<p>I had one of my other HP Microservers brought back from the office last week to help with this working-from-home world we’re in right now. I was going to wipe an old version of Debian Wheezy/Xen and install FreeBSD to mirror my other machines before thinking: why not NetBSD?</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://www.freebsd.org/internal/code-of-conduct.html" target="_blank" rel="nofollow noopener">FreeBSD's New Code of Conduct</a></h3>

<ul>
<li><a href="https://raw.githubusercontent.com/BSDNow/bsdnow.tv/master/episodes/356/FBSD-CoC-Email" target="_blank" rel="nofollow noopener">FreeBSD Announcement Email</a></li>
</ul>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2020-06-05-openbsd-gaming.html" target="_blank" rel="nofollow noopener">Gaming on OpenBSD</a></h3>

<blockquote>
<p>While no one would expect this, there are huge efforts from a small team to bring more games into OpenBSD. In fact, now some commercial games works natively now, thanks to Mono or Java. There are no wine or linux emulation layer in OpenBSD.<br>
Here is a small list of most well known games that run on OpenBSD:</p>

<hr>

<h3><a href="https://vishaltelangre.com/dig-a-little-deeper/" target="_blank" rel="nofollow noopener">'dig' a little deeper</a></h3>

<p>I knew the existence of the dig command but didn't exactly know when and how to use it. Then, just recently I encountered an issue that allowed me to learn and make use of it.</p>

<hr>

<h3><a href="https://www.dragonflydigest.com/2020/06/15/24635.html" target="_blank" rel="nofollow noopener">HAMMER2 and periodic snapshots</a></h3>

<p>The first version of HAMMER took automatic snapshots, set within the config for each filesystem.  HAMMER2 now also takes automatic snapshots, via periodic(8) like most every repeating task on your DragonFly system.</p>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-June/769247.html" target="_blank" rel="nofollow noopener">git: Implement periodic hammer2 snapshots</a>
***</li>
</ul>
</blockquote>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Cy%20-%20OPenSSL%20relicensing.md" target="_blank" rel="nofollow noopener">Cy - OpenSSL relicensing</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Christian%20-%20lagg%20vlans%20and%20iocage" target="_blank" rel="nofollow noopener">Christian - lagg vlans and iocage</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/356/feedback/Brad%20-%20SMR" target="_blank" rel="nofollow noopener">Brad - SMR</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>355: Man Page Origins</title>
  <link>https://www.bsdnow.tv/355</link>
  <guid isPermaLink="false">369decb7-b522-4745-b385-2339d05211d9</guid>
  <pubDate>Thu, 18 Jun 2020 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/369decb7-b522-4745-b385-2339d05211d9.mp3" length="40900704" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Upgrading OpenBSD, Where do Unix man pages come from?, Help for NetBSD’s VAX port, FreeBSD on Dell Latitude 7390, PFS Tool changes in DragonflyBSD, and more.</itunes:subtitle>
  <itunes:duration>40:39</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>&lt;p&gt;Upgrading OpenBSD, Where do Unix man pages come from?, Help for NetBSD’s VAX port, FreeBSD on Dell Latitude 7390, PFS Tool changes in DragonflyBSD, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://cromwell-intl.com/open-source/openbsd-kernel.html" target="_blank" rel="nofollow noopener"&gt;How to Upgrade OpenBSD and Build a Kernel&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Let's see how to upgrade your OpenBSD system. Maybe you are doing this because the latest release just came out. If so, this is pretty simple: back up your data, boot from install media, and select "Upgrade" instead of "Install". But maybe the latest release has been out for a few months. Why would we go through the trouble of building and installing a new kernel or other core system components? Maybe some patches have been released to improve system security or stability. It is pretty easy to build and install a kernel on OpenBSD, easier and simpler in many ways than it is on Linux.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://manpages.bsd.lv/history.html" target="_blank" rel="nofollow noopener"&gt;The History of man pages&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Where do UNIX manpages come from? Who introduced the section-based layout of NAME, SYNOPSIS, and so on? And for manpage authors: where were those economical two- and three-letter instructions developed?&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/vax_port_needs_help" target="_blank" rel="nofollow noopener"&gt;VAX port needs help&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The VAX is the oldest machine architecture still supported by NetBSD.&lt;br&gt;
Unfortunately there is another challenge, totally outside of NetBSD, but affecting the VAX port big time: the compiler support for VAX is ... let's say sub-optimal. It is also risking to be dropped completely by gcc upstream.&lt;br&gt;
Now here is where people can help: there is a bounty campaign to finance a gcc hacker to fix the hardest and most immediate issue with gcc for VAX. Without this being resolved, gcc will drop support for VAX in a near future version.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://www.daemonology.net/blog/2020-05-22-my-new-FreeBSD-laptop-Dell-7390.html" target="_blank" rel="nofollow noopener"&gt;My new FreeBSD Laptop: Dell Latitude 7390&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As a FreeBSD developer, I make a point of using FreeBSD whenever I can — including on the desktop. I've been running FreeBSD on laptops since 2004; this hasn't always been easy, but over the years I've found that the situation has generally been improving. One of the things we still lack is adequate documentation, however — so I'm writing this to provide an example for users and also Google bait in case anyone runs into some of the problems I had to address.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2020/06/09/24612.html" target="_blank" rel="nofollow noopener"&gt;PFS tool changes in DragonFly&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;HAMMER2 just became a little more DWIM: the pfs-list and pfs-delete directives will now look across all mounted filesystems, not just the current directory’s mount path.  pfs-delete won’t delete any filesystem name that appears in more than one place, though&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2020-June/769226.html" target="_blank" rel="nofollow noopener"&gt;git: hammer2 - Enhance pfs-list and pfs-delete&lt;/a&gt;
Enhance pfs-list to list PFSs available across all mounted hammer2 filesystems instead of just the current directory's mount.  A specific mount may be specified via -s mountpt.
Enhance pfs-delete to look for the PFS name across all mounted hammer2 filesystems instead of just the current directory's mount.
As a safety, pfs-delete will refuse to delete PFS names which are duplicated across multiple mounts.  A specific mount may be specified via -s mountpt.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gitlab.com/bastillebsd-templates" target="_blank" rel="nofollow noopener"&gt;BastilleBSD Templates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2020/06/08/24610.html" target="_blank" rel="nofollow noopener"&gt;Tianocore update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/OfficeHours" target="_blank" rel="nofollow noopener"&gt;Reminder: FreeBSD Office Hours on June 24, 2020&lt;/a&gt;
***
###Tarsnap&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/355/feedback/Niclas%20-%20Regarding%20the%20Lenovo%20E595%20user%20from%20Episode%20340.md" target="_blank" rel="nofollow noopener"&gt;Niclas - Regarding the Lenovo E595 user from Episode 340&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/355/feedback/Erik%20-%20What%20happened%20with%20the%20video.md" target="_blank" rel="nofollow noopener"&gt;Erik - What happened with the video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/355/feedback/Igor%20-%20Boot%20Environments.md" target="_blank" rel="nofollow noopener"&gt;Igor - Boot Environments&lt;/a&gt;
***&lt;/li&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, upgrade, upgrading, manual, manual pages, man pages, manpages, VAX, dell, dell latitude, latitude 7390, dell latitude 7390, pfs</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Upgrading OpenBSD, Where do Unix man pages come from?, Help for NetBSD’s VAX port, FreeBSD on Dell Latitude 7390, PFS Tool changes in DragonflyBSD, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://cromwell-intl.com/open-source/openbsd-kernel.html" target="_blank" rel="nofollow noopener">How to Upgrade OpenBSD and Build a Kernel</a></h3>

<blockquote>
<p>Let's see how to upgrade your OpenBSD system. Maybe you are doing this because the latest release just came out. If so, this is pretty simple: back up your data, boot from install media, and select "Upgrade" instead of "Install". But maybe the latest release has been out for a few months. Why would we go through the trouble of building and installing a new kernel or other core system components? Maybe some patches have been released to improve system security or stability. It is pretty easy to build and install a kernel on OpenBSD, easier and simpler in many ways than it is on Linux.</p>
</blockquote>

<hr>

<h3><a href="https://manpages.bsd.lv/history.html" target="_blank" rel="nofollow noopener">The History of man pages</a></h3>

<blockquote>
<p>Where do UNIX manpages come from? Who introduced the section-based layout of NAME, SYNOPSIS, and so on? And for manpage authors: where were those economical two- and three-letter instructions developed?</p>

<hr>
</blockquote>

<h3><a href="http://blog.netbsd.org/tnf/entry/vax_port_needs_help" target="_blank" rel="nofollow noopener">VAX port needs help</a></h3>

<blockquote>
<p>The VAX is the oldest machine architecture still supported by NetBSD.<br>
Unfortunately there is another challenge, totally outside of NetBSD, but affecting the VAX port big time: the compiler support for VAX is ... let's say sub-optimal. It is also risking to be dropped completely by gcc upstream.<br>
Now here is where people can help: there is a bounty campaign to finance a gcc hacker to fix the hardest and most immediate issue with gcc for VAX. Without this being resolved, gcc will drop support for VAX in a near future version.</p>

<hr>
</blockquote>

<h3><a href="http://www.daemonology.net/blog/2020-05-22-my-new-FreeBSD-laptop-Dell-7390.html" target="_blank" rel="nofollow noopener">My new FreeBSD Laptop: Dell Latitude 7390</a></h3>

<blockquote>
<p>As a FreeBSD developer, I make a point of using FreeBSD whenever I can — including on the desktop. I've been running FreeBSD on laptops since 2004; this hasn't always been easy, but over the years I've found that the situation has generally been improving. One of the things we still lack is adequate documentation, however — so I'm writing this to provide an example for users and also Google bait in case anyone runs into some of the problems I had to address.</p>

<hr>
</blockquote>

<h3><a href="https://www.dragonflydigest.com/2020/06/09/24612.html" target="_blank" rel="nofollow noopener">PFS tool changes in DragonFly</a></h3>

<blockquote>
<p>HAMMER2 just became a little more DWIM: the pfs-list and pfs-delete directives will now look across all mounted filesystems, not just the current directory’s mount path.  pfs-delete won’t delete any filesystem name that appears in more than one place, though</p>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-June/769226.html" target="_blank" rel="nofollow noopener">git: hammer2 - Enhance pfs-list and pfs-delete</a>
Enhance pfs-list to list PFSs available across all mounted hammer2 filesystems instead of just the current directory's mount.  A specific mount may be specified via -s mountpt.
Enhance pfs-delete to look for the PFS name across all mounted hammer2 filesystems instead of just the current directory's mount.
As a safety, pfs-delete will refuse to delete PFS names which are duplicated across multiple mounts.  A specific mount may be specified via -s mountpt.</li>
</ul>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://gitlab.com/bastillebsd-templates" target="_blank" rel="nofollow noopener">BastilleBSD Templates</a></li>
<li><a href="https://www.dragonflydigest.com/2020/06/08/24610.html" target="_blank" rel="nofollow noopener">Tianocore update</a></li>
<li><a href="https://wiki.freebsd.org/OfficeHours" target="_blank" rel="nofollow noopener">Reminder: FreeBSD Office Hours on June 24, 2020</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/355/feedback/Niclas%20-%20Regarding%20the%20Lenovo%20E595%20user%20from%20Episode%20340.md" target="_blank" rel="nofollow noopener">Niclas - Regarding the Lenovo E595 user from Episode 340</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/355/feedback/Erik%20-%20What%20happened%20with%20the%20video.md" target="_blank" rel="nofollow noopener">Erik - What happened with the video</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/355/feedback/Igor%20-%20Boot%20Environments.md" target="_blank" rel="nofollow noopener">Igor - Boot Environments</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Upgrading OpenBSD, Where do Unix man pages come from?, Help for NetBSD’s VAX port, FreeBSD on Dell Latitude 7390, PFS Tool changes in DragonflyBSD, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://cromwell-intl.com/open-source/openbsd-kernel.html" target="_blank" rel="nofollow noopener">How to Upgrade OpenBSD and Build a Kernel</a></h3>

<blockquote>
<p>Let's see how to upgrade your OpenBSD system. Maybe you are doing this because the latest release just came out. If so, this is pretty simple: back up your data, boot from install media, and select "Upgrade" instead of "Install". But maybe the latest release has been out for a few months. Why would we go through the trouble of building and installing a new kernel or other core system components? Maybe some patches have been released to improve system security or stability. It is pretty easy to build and install a kernel on OpenBSD, easier and simpler in many ways than it is on Linux.</p>
</blockquote>

<hr>

<h3><a href="https://manpages.bsd.lv/history.html" target="_blank" rel="nofollow noopener">The History of man pages</a></h3>

<blockquote>
<p>Where do UNIX manpages come from? Who introduced the section-based layout of NAME, SYNOPSIS, and so on? And for manpage authors: where were those economical two- and three-letter instructions developed?</p>

<hr>
</blockquote>

<h3><a href="http://blog.netbsd.org/tnf/entry/vax_port_needs_help" target="_blank" rel="nofollow noopener">VAX port needs help</a></h3>

<blockquote>
<p>The VAX is the oldest machine architecture still supported by NetBSD.<br>
Unfortunately there is another challenge, totally outside of NetBSD, but affecting the VAX port big time: the compiler support for VAX is ... let's say sub-optimal. It is also risking to be dropped completely by gcc upstream.<br>
Now here is where people can help: there is a bounty campaign to finance a gcc hacker to fix the hardest and most immediate issue with gcc for VAX. Without this being resolved, gcc will drop support for VAX in a near future version.</p>

<hr>
</blockquote>

<h3><a href="http://www.daemonology.net/blog/2020-05-22-my-new-FreeBSD-laptop-Dell-7390.html" target="_blank" rel="nofollow noopener">My new FreeBSD Laptop: Dell Latitude 7390</a></h3>

<blockquote>
<p>As a FreeBSD developer, I make a point of using FreeBSD whenever I can — including on the desktop. I've been running FreeBSD on laptops since 2004; this hasn't always been easy, but over the years I've found that the situation has generally been improving. One of the things we still lack is adequate documentation, however — so I'm writing this to provide an example for users and also Google bait in case anyone runs into some of the problems I had to address.</p>

<hr>
</blockquote>

<h3><a href="https://www.dragonflydigest.com/2020/06/09/24612.html" target="_blank" rel="nofollow noopener">PFS tool changes in DragonFly</a></h3>

<blockquote>
<p>HAMMER2 just became a little more DWIM: the pfs-list and pfs-delete directives will now look across all mounted filesystems, not just the current directory’s mount path.  pfs-delete won’t delete any filesystem name that appears in more than one place, though</p>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-June/769226.html" target="_blank" rel="nofollow noopener">git: hammer2 - Enhance pfs-list and pfs-delete</a>
Enhance pfs-list to list PFSs available across all mounted hammer2 filesystems instead of just the current directory's mount.  A specific mount may be specified via -s mountpt.
Enhance pfs-delete to look for the PFS name across all mounted hammer2 filesystems instead of just the current directory's mount.
As a safety, pfs-delete will refuse to delete PFS names which are duplicated across multiple mounts.  A specific mount may be specified via -s mountpt.</li>
</ul>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://gitlab.com/bastillebsd-templates" target="_blank" rel="nofollow noopener">BastilleBSD Templates</a></li>
<li><a href="https://www.dragonflydigest.com/2020/06/08/24610.html" target="_blank" rel="nofollow noopener">Tianocore update</a></li>
<li><a href="https://wiki.freebsd.org/OfficeHours" target="_blank" rel="nofollow noopener">Reminder: FreeBSD Office Hours on June 24, 2020</a>
***
###Tarsnap</li>
<li>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.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/355/feedback/Niclas%20-%20Regarding%20the%20Lenovo%20E595%20user%20from%20Episode%20340.md" target="_blank" rel="nofollow noopener">Niclas - Regarding the Lenovo E595 user from Episode 340</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/355/feedback/Erik%20-%20What%20happened%20with%20the%20video.md" target="_blank" rel="nofollow noopener">Erik - What happened with the video</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/355/feedback/Igor%20-%20Boot%20Environments.md" target="_blank" rel="nofollow noopener">Igor - Boot Environments</a>
***</li>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>354: ZFS safekeeps data</title>
  <link>https://www.bsdnow.tv/354</link>
  <guid isPermaLink="false">2b93f76f-bbea-49a0-8cf1-80c997d4510e</guid>
  <pubDate>Thu, 11 Jun 2020 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2b93f76f-bbea-49a0-8cf1-80c997d4510e.mp3" length="33544616" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 11.4-RC 2 available, OpenBSD 6.7 on a PineBook Pro 64, How OpenZFS Keeps Your Data Safe, Bringing FreeBSD to EC2, FreeBSD 2020 Community Survey, and more.</itunes:subtitle>
  <itunes:duration>35:07</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>&lt;p&gt;FreeBSD 11.4-RC 2 available, OpenBSD 6.7 on a PineBook Pro 64, How OpenZFS Keeps Your Data Safe, Bringing FreeBSD to EC2, FreeBSD 2020 Community Survey, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2020-May/092320.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.4-RC2 Now Available&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The second RC build of the 11.4-RELEASE release cycle is now available.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/releases/11.4R/relnotes.html" target="_blank" rel="nofollow noopener"&gt;11.4-RELEASE notes&lt;/a&gt; (still in progress at the time of recording)
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://xosc.org/pinebookpro.html" target="_blank" rel="nofollow noopener"&gt;Install OpenBSD 6.7-current on a PineBook Pro 64&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This document is work in progress and I'll update the date above once I change something. If you have something to add, remarks, etc please contact me. Preferably via Mastodon but other means of communication are also fine.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/openzfs-keeps-your-data-safe/" target="_blank" rel="nofollow noopener"&gt;Understanding How OpenZFS Keeps Your Data Safe&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Veteran technology writer Jim Salter wrote an excellent guide on the ZFS file system’s features and performance that we absolutely had to share. There’s plenty of information in the article for ZFS newbies and advanced users alike. Be sure to check out the article over at Ars Technica to learn more about ZFS concepts including pools, vdevs, datasets, snapshots, and replication, just to name a few. &lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.lastweekinaws.com/podcast/screaming-in-the-cloud/bringing-freebsd-to-ec2-with-colin-percival/" target="_blank" rel="nofollow noopener"&gt;Bringing FreeBSD to ec2&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Colin is the founder of Tarsnap, a secure online backup service which combines the flexibility and scriptability of the standard UNIX "tar" utility with strong encryption, deduplication, and the reliability of Amazon S3 storage. Having started work on Tarsnap in 2006, Colin is among the first generation of users of Amazon Web Services, and has written dozens of articles about his experiences with AWS on his blog.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.research.net/r/freebsd-2020-community-survey" target="_blank" rel="nofollow noopener"&gt;FreeBSD 2020 Community Survey&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The FreeBSD Core Team invites you to complete the 2020 FreeBSD Community Survey.  The purpose of this survey is to collect quantitative data from the public in order to help guide the project’s priorities and efforts.  This is only the second time a survey has been conducted by the FreeBSD Project and your input is valued.&lt;br&gt;
The survey will remain open for 14 days and will close on June 16th at 17:00 UTC (Tuesday 10am PDT).&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/submit-your-freebsd-project-proposal" target="_blank" rel="nofollow noopener"&gt;FreeBSD Project Proposals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/channel/UCknj_nW8JWcFJOAbgd5_Zgw" target="_blank" rel="nofollow noopener"&gt;TJ Hacking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/ScotlandOSUM/status/1265987126321188864?s=19" target="_blank" rel="nofollow noopener"&gt;Scotland Open Source podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/OfficeHours" target="_blank" rel="nofollow noopener"&gt;Next FreeBSD Office Hours on June 24, 2020&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/354/feedback/Tom%20-%20Wriitng%20for%20LPI.md" target="_blank" rel="nofollow noopener"&gt;Tom - Writing for LPIrstudio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/354/feedback/Luke%20-%20rstudio.md" target="_blank" rel="nofollow noopener"&gt;Luke - rstudio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/354/feedback/Matt%20-%20Vlans%20and%20Jails.md" target="_blank" rel="nofollow noopener"&gt;Matt - Vlans and Jails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/354/feedback/Morgan%20-%20Can%20I%20get%20some%20commentary%20on%20this%20issue.md" target="_blank" rel="nofollow noopener"&gt;Morgan - Can I get some commentary on this issue&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords> freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, pinebook, pinebook pro, pinebook pro 64, openzfs, data safety, ec2, EC2, Amazon EC2, community survey, freebsd community survey</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 11.4-RC 2 available, OpenBSD 6.7 on a PineBook Pro 64, How OpenZFS Keeps Your Data Safe, Bringing FreeBSD to EC2, FreeBSD 2020 Community Survey, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2020-May/092320.html" target="_blank" rel="nofollow noopener">FreeBSD 11.4-RC2 Now Available</a></h3>

<blockquote>
<p>The second RC build of the 11.4-RELEASE release cycle is now available.</p>

<ul>
<li><a href="https://www.freebsd.org/releases/11.4R/relnotes.html" target="_blank" rel="nofollow noopener">11.4-RELEASE notes</a> (still in progress at the time of recording)
***</li>
</ul>
</blockquote>

<h3><a href="https://xosc.org/pinebookpro.html" target="_blank" rel="nofollow noopener">Install OpenBSD 6.7-current on a PineBook Pro 64</a></h3>

<blockquote>
<p>This document is work in progress and I'll update the date above once I change something. If you have something to add, remarks, etc please contact me. Preferably via Mastodon but other means of communication are also fine.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://www.ixsystems.com/blog/openzfs-keeps-your-data-safe/" target="_blank" rel="nofollow noopener">Understanding How OpenZFS Keeps Your Data Safe</a></h3>

<blockquote>
<p>Veteran technology writer Jim Salter wrote an excellent guide on the ZFS file system’s features and performance that we absolutely had to share. There’s plenty of information in the article for ZFS newbies and advanced users alike. Be sure to check out the article over at Ars Technica to learn more about ZFS concepts including pools, vdevs, datasets, snapshots, and replication, just to name a few. </p>

<hr>
</blockquote>

<h3><a href="https://www.lastweekinaws.com/podcast/screaming-in-the-cloud/bringing-freebsd-to-ec2-with-colin-percival/" target="_blank" rel="nofollow noopener">Bringing FreeBSD to ec2</a></h3>

<blockquote>
<p>Colin is the founder of Tarsnap, a secure online backup service which combines the flexibility and scriptability of the standard UNIX "tar" utility with strong encryption, deduplication, and the reliability of Amazon S3 storage. Having started work on Tarsnap in 2006, Colin is among the first generation of users of Amazon Web Services, and has written dozens of articles about his experiences with AWS on his blog.</p>

<hr>
</blockquote>

<h3><a href="https://www.research.net/r/freebsd-2020-community-survey" target="_blank" rel="nofollow noopener">FreeBSD 2020 Community Survey</a></h3>

<blockquote>
<p>The FreeBSD Core Team invites you to complete the 2020 FreeBSD Community Survey.  The purpose of this survey is to collect quantitative data from the public in order to help guide the project’s priorities and efforts.  This is only the second time a survey has been conducted by the FreeBSD Project and your input is valued.<br>
The survey will remain open for 14 days and will close on June 16th at 17:00 UTC (Tuesday 10am PDT).</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.freebsdfoundation.org/blog/submit-your-freebsd-project-proposal" target="_blank" rel="nofollow noopener">FreeBSD Project Proposals</a></li>
<li><a href="https://www.youtube.com/channel/UCknj_nW8JWcFJOAbgd5_Zgw" target="_blank" rel="nofollow noopener">TJ Hacking</a></li>
<li><a href="https://twitter.com/ScotlandOSUM/status/1265987126321188864?s=19" target="_blank" rel="nofollow noopener">Scotland Open Source podcast</a></li>
<li><a href="https://wiki.freebsd.org/OfficeHours" target="_blank" rel="nofollow noopener">Next FreeBSD Office Hours on June 24, 2020</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/354/feedback/Tom%20-%20Wriitng%20for%20LPI.md" target="_blank" rel="nofollow noopener">Tom - Writing for LPIrstudio</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/354/feedback/Luke%20-%20rstudio.md" target="_blank" rel="nofollow noopener">Luke - rstudio</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/354/feedback/Matt%20-%20Vlans%20and%20Jails.md" target="_blank" rel="nofollow noopener">Matt - Vlans and Jails</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/354/feedback/Morgan%20-%20Can%20I%20get%20some%20commentary%20on%20this%20issue.md" target="_blank" rel="nofollow noopener">Morgan - Can I get some commentary on this issue</a></p>

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

<hr></li>
</ul><p>Sponsored By:</p><ul><li><a rel="nofollow" href="https://www.tarsnap.com/bsdnow">Tarsnap</a> Promo Code: bsdnow</li></ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 11.4-RC 2 available, OpenBSD 6.7 on a PineBook Pro 64, How OpenZFS Keeps Your Data Safe, Bringing FreeBSD to EC2, FreeBSD 2020 Community Survey, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2020-May/092320.html" target="_blank" rel="nofollow noopener">FreeBSD 11.4-RC2 Now Available</a></h3>

<blockquote>
<p>The second RC build of the 11.4-RELEASE release cycle is now available.</p>

<ul>
<li><a href="https://www.freebsd.org/releases/11.4R/relnotes.html" target="_blank" rel="nofollow noopener">11.4-RELEASE notes</a> (still in progress at the time of recording)
***</li>
</ul>
</blockquote>

<h3><a href="https://xosc.org/pinebookpro.html" target="_blank" rel="nofollow noopener">Install OpenBSD 6.7-current on a PineBook Pro 64</a></h3>

<blockquote>
<p>This document is work in progress and I'll update the date above once I change something. If you have something to add, remarks, etc please contact me. Preferably via Mastodon but other means of communication are also fine.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://www.ixsystems.com/blog/openzfs-keeps-your-data-safe/" target="_blank" rel="nofollow noopener">Understanding How OpenZFS Keeps Your Data Safe</a></h3>

<blockquote>
<p>Veteran technology writer Jim Salter wrote an excellent guide on the ZFS file system’s features and performance that we absolutely had to share. There’s plenty of information in the article for ZFS newbies and advanced users alike. Be sure to check out the article over at Ars Technica to learn more about ZFS concepts including pools, vdevs, datasets, snapshots, and replication, just to name a few. </p>

<hr>
</blockquote>

<h3><a href="https://www.lastweekinaws.com/podcast/screaming-in-the-cloud/bringing-freebsd-to-ec2-with-colin-percival/" target="_blank" rel="nofollow noopener">Bringing FreeBSD to ec2</a></h3>

<blockquote>
<p>Colin is the founder of Tarsnap, a secure online backup service which combines the flexibility and scriptability of the standard UNIX "tar" utility with strong encryption, deduplication, and the reliability of Amazon S3 storage. Having started work on Tarsnap in 2006, Colin is among the first generation of users of Amazon Web Services, and has written dozens of articles about his experiences with AWS on his blog.</p>

<hr>
</blockquote>

<h3><a href="https://www.research.net/r/freebsd-2020-community-survey" target="_blank" rel="nofollow noopener">FreeBSD 2020 Community Survey</a></h3>

<blockquote>
<p>The FreeBSD Core Team invites you to complete the 2020 FreeBSD Community Survey.  The purpose of this survey is to collect quantitative data from the public in order to help guide the project’s priorities and efforts.  This is only the second time a survey has been conducted by the FreeBSD Project and your input is valued.<br>
The survey will remain open for 14 days and will close on June 16th at 17:00 UTC (Tuesday 10am PDT).</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.freebsdfoundation.org/blog/submit-your-freebsd-project-proposal" target="_blank" rel="nofollow noopener">FreeBSD Project Proposals</a></li>
<li><a href="https://www.youtube.com/channel/UCknj_nW8JWcFJOAbgd5_Zgw" target="_blank" rel="nofollow noopener">TJ Hacking</a></li>
<li><a href="https://twitter.com/ScotlandOSUM/status/1265987126321188864?s=19" target="_blank" rel="nofollow noopener">Scotland Open Source podcast</a></li>
<li><a href="https://wiki.freebsd.org/OfficeHours" target="_blank" rel="nofollow noopener">Next FreeBSD Office Hours on June 24, 2020</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/354/feedback/Tom%20-%20Wriitng%20for%20LPI.md" target="_blank" rel="nofollow noopener">Tom - Writing for LPIrstudio</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/354/feedback/Luke%20-%20rstudio.md" target="_blank" rel="nofollow noopener">Luke - rstudio</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/354/feedback/Matt%20-%20Vlans%20and%20Jails.md" target="_blank" rel="nofollow noopener">Matt - Vlans and Jails</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/354/feedback/Morgan%20-%20Can%20I%20get%20some%20commentary%20on%20this%20issue.md" target="_blank" rel="nofollow noopener">Morgan - Can I get some commentary on this issue</a></p>

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

<hr></li>
</ul><p>Sponsored By:</p><ul><li><a rel="nofollow" href="https://www.tarsnap.com/bsdnow">Tarsnap</a> Promo Code: bsdnow</li></ul>]]>
  </itunes:summary>
</item>
<item>
  <title>353: ZFS on Ironwolf</title>
  <link>https://www.bsdnow.tv/353</link>
  <guid isPermaLink="false">fe0e809c-411c-4156-bf80-80c98028f1ae</guid>
  <pubDate>Thu, 04 Jun 2020 11:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/fe0e809c-411c-4156-bf80-80c98028f1ae.mp3" length="36491000" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Scheduling in NetBSD, ZFS vs. RAID on Ironwolf disks, OpenBSD on Microsoft Surface Go 2, FreeBSD for Linux sysadmins, FreeBSD on Lenovo T480, and more</itunes:subtitle>
  <itunes:duration>38:31</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>&lt;p&gt;Scheduling in NetBSD, ZFS vs. RAID on Ironwolf disks, OpenBSD on Microsoft Surface Go 2, FreeBSD for Linux sysadmins, FreeBSD on Lenovo T480, and more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;NOTES&lt;/em&gt;&lt;/strong&gt;&lt;br&gt;
This episode of BSDNow is brought to you by &lt;a href="https://www.tarsnap.com/" target="_blank" rel="nofollow noopener"&gt;Tarsnap&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://manikishan.wordpress.com/2020/05/10/scheduling-in-netbsd-part-1/" target="_blank" rel="nofollow noopener"&gt;Scheduling in NetBSD – Part 1&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In this blog, we will discuss about the 4.4BSD Thread scheduler one of the two schedulers in NetBSD and a few OS APIs that can be used to control the schedulers and get information while executing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://arstechnica.com/gadgets/2020/05/zfs-versus-raid-eight-ironwolf-disks-two-filesystems-one-winner/" target="_blank" rel="nofollow noopener"&gt;ZFS versus RAID: Eight Ironwolf disks, two filesystems, one winner&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This has been a long while in the making—it's test results time. To truly understand the fundamentals of computer storage, it's important to explore the impact of various conventional RAID (Redundant Array of Inexpensive Disks) topologies on performance. It's also important to understand what ZFS is and how it works. But at some point, people (particularly computer enthusiasts on the Internet) want numbers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;If you want to hear more from Jim, he has a new bi-weekly podcast with Allan and Joe Ressington over at &lt;a href="https://2.5admins.com/" target="_blank" rel="nofollow noopener"&gt;2.5admins.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://jcs.org/2020/05/15/surface_go2" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the Microsoft Surface Go 2&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I used OpenBSD on the original Surface Go back in 2018 and many things worked with the big exception of the internal Atheros WiFi. This meant I had to keep it tethered to a USB-C dock for Ethernet or use a small USB-A WiFi dongle plugged into a less-than-small USB-A-to-USB-C adapter.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://triosdevelopers.com/jason.eckert/blog/Entries/2020/5/2_FreeBSD_UNIX_for_Linux_sysadmins.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD UNIX for Linux sysadmins&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;If you’ve ever installed and explored another Linux distro (what Linux sysadmin hasn’t?!?), then exploring FreeBSD is going be somewhat similar with a few key differences.&lt;br&gt;
While there is no graphical installation, the installation process is straightforward and similar to installing a server-based Linux distro. Just make sure you choose the local_unbound package when prompted if you want to cache DNS lookups locally, as FreeBSD doesn’t have a built-in local DNS resolver that does this.&lt;br&gt;
Following installation, the directory structure is almost identical to Linux. Of course, you’ll notice some small differences here and there (e.g. regular user home directories are located under /usr/home instead of /home). Standard UNIX commands such as ls, chmod, find, which, ps, nice, ifconfig, netstat, sockstat (the ss command in Linux) are exactly as you’d expect, but with some different options here and there that you’ll see in the man pages. And yes, reboot and poweroff are there too.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.davidschlachter.com/misc/t480-freebsd" target="_blank" rel="nofollow noopener"&gt;FreeBSD on the Lenovo Thinkpad T480&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Recently I replaced my 2014 MacBook Air with a Lenovo Thinkpad T480, on which I've installed FreeBSD, currently 12.1-RELEASE. This page documents my set-up along with various configuration tweaks and fixes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;Tarsnap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/353/feedback/Benjamin%20-%20ZFS%20Question.md" target="_blank" rel="nofollow noopener"&gt;Benjamin - ZFS Question&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/353/feedback/Brad%20-%20swap_pager_getswapspace%20errors.md" target="_blank" rel="nofollow noopener"&gt;Brad - swap_pager_getswapspace errors&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/353/feedback/Brandon%20-%20gaming.md" target="_blank" rel="nofollow noopener"&gt;Brandon - gaming&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>bsd, dragonflybsd, freebsd, guide, hardenedbsd, howto, interview, ironwolf, lenovo t480, microsoft, netbsd, openbsd, raid, scheduler, scheduling, surface go, sysadmin, system administration, system administrator, t480, trident, trueos, tutorial, zfs</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Scheduling in NetBSD, ZFS vs. RAID on Ironwolf disks, OpenBSD on Microsoft Surface Go 2, FreeBSD for Linux sysadmins, FreeBSD on Lenovo T480, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://manikishan.wordpress.com/2020/05/10/scheduling-in-netbsd-part-1/" target="_blank" rel="nofollow noopener">Scheduling in NetBSD – Part 1</a></h3>

<blockquote>
<p>In this blog, we will discuss about the 4.4BSD Thread scheduler one of the two schedulers in NetBSD and a few OS APIs that can be used to control the schedulers and get information while executing.</p>
</blockquote>

<hr>

<h3><a href="https://arstechnica.com/gadgets/2020/05/zfs-versus-raid-eight-ironwolf-disks-two-filesystems-one-winner/" target="_blank" rel="nofollow noopener">ZFS versus RAID: Eight Ironwolf disks, two filesystems, one winner</a></h3>

<blockquote>
<p>This has been a long while in the making—it's test results time. To truly understand the fundamentals of computer storage, it's important to explore the impact of various conventional RAID (Redundant Array of Inexpensive Disks) topologies on performance. It's also important to understand what ZFS is and how it works. But at some point, people (particularly computer enthusiasts on the Internet) want numbers.</p>
</blockquote>

<ul>
<li>If you want to hear more from Jim, he has a new bi-weekly podcast with Allan and Joe Ressington over at <a href="https://2.5admins.com/" target="_blank" rel="nofollow noopener">2.5admins.com</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2020/05/15/surface_go2" target="_blank" rel="nofollow noopener">OpenBSD on the Microsoft Surface Go 2</a></h3>

<blockquote>
<p>I used OpenBSD on the original Surface Go back in 2018 and many things worked with the big exception of the internal Atheros WiFi. This meant I had to keep it tethered to a USB-C dock for Ethernet or use a small USB-A WiFi dongle plugged into a less-than-small USB-A-to-USB-C adapter.</p>
</blockquote>

<hr>

<h3><a href="https://triosdevelopers.com/jason.eckert/blog/Entries/2020/5/2_FreeBSD_UNIX_for_Linux_sysadmins.html" target="_blank" rel="nofollow noopener">FreeBSD UNIX for Linux sysadmins</a></h3>

<blockquote>
<p>If you’ve ever installed and explored another Linux distro (what Linux sysadmin hasn’t?!?), then exploring FreeBSD is going be somewhat similar with a few key differences.<br>
While there is no graphical installation, the installation process is straightforward and similar to installing a server-based Linux distro. Just make sure you choose the local_unbound package when prompted if you want to cache DNS lookups locally, as FreeBSD doesn’t have a built-in local DNS resolver that does this.<br>
Following installation, the directory structure is almost identical to Linux. Of course, you’ll notice some small differences here and there (e.g. regular user home directories are located under /usr/home instead of /home). Standard UNIX commands such as ls, chmod, find, which, ps, nice, ifconfig, netstat, sockstat (the ss command in Linux) are exactly as you’d expect, but with some different options here and there that you’ll see in the man pages. And yes, reboot and poweroff are there too.</p>
</blockquote>

<hr>

<h3><a href="https://www.davidschlachter.com/misc/t480-freebsd" target="_blank" rel="nofollow noopener">FreeBSD on the Lenovo Thinkpad T480</a></h3>

<blockquote>
<p>Recently I replaced my 2014 MacBook Air with a Lenovo Thinkpad T480, on which I've installed FreeBSD, currently 12.1-RELEASE. This page documents my set-up along with various configuration tweaks and fixes.</p>
</blockquote>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/353/feedback/Benjamin%20-%20ZFS%20Question.md" target="_blank" rel="nofollow noopener">Benjamin - ZFS Question</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/353/feedback/Brad%20-%20swap_pager_getswapspace%20errors.md" target="_blank" rel="nofollow noopener">Brad - swap_pager_getswapspace errors</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/353/feedback/Brandon%20-%20gaming.md" target="_blank" rel="nofollow noopener">Brandon - gaming</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr><p>Sponsored By:</p><ul><li><a rel="nofollow" href="https://www.tarsnap.com/bsdnow">Tarsnap</a> Promo Code: bsdnow</li></ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Scheduling in NetBSD, ZFS vs. RAID on Ironwolf disks, OpenBSD on Microsoft Surface Go 2, FreeBSD for Linux sysadmins, FreeBSD on Lenovo T480, 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/" target="_blank" rel="nofollow noopener">Tarsnap</a></p>

<h2>Headlines</h2>

<h3><a href="https://manikishan.wordpress.com/2020/05/10/scheduling-in-netbsd-part-1/" target="_blank" rel="nofollow noopener">Scheduling in NetBSD – Part 1</a></h3>

<blockquote>
<p>In this blog, we will discuss about the 4.4BSD Thread scheduler one of the two schedulers in NetBSD and a few OS APIs that can be used to control the schedulers and get information while executing.</p>
</blockquote>

<hr>

<h3><a href="https://arstechnica.com/gadgets/2020/05/zfs-versus-raid-eight-ironwolf-disks-two-filesystems-one-winner/" target="_blank" rel="nofollow noopener">ZFS versus RAID: Eight Ironwolf disks, two filesystems, one winner</a></h3>

<blockquote>
<p>This has been a long while in the making—it's test results time. To truly understand the fundamentals of computer storage, it's important to explore the impact of various conventional RAID (Redundant Array of Inexpensive Disks) topologies on performance. It's also important to understand what ZFS is and how it works. But at some point, people (particularly computer enthusiasts on the Internet) want numbers.</p>
</blockquote>

<ul>
<li>If you want to hear more from Jim, he has a new bi-weekly podcast with Allan and Joe Ressington over at <a href="https://2.5admins.com/" target="_blank" rel="nofollow noopener">2.5admins.com</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2020/05/15/surface_go2" target="_blank" rel="nofollow noopener">OpenBSD on the Microsoft Surface Go 2</a></h3>

<blockquote>
<p>I used OpenBSD on the original Surface Go back in 2018 and many things worked with the big exception of the internal Atheros WiFi. This meant I had to keep it tethered to a USB-C dock for Ethernet or use a small USB-A WiFi dongle plugged into a less-than-small USB-A-to-USB-C adapter.</p>
</blockquote>

<hr>

<h3><a href="https://triosdevelopers.com/jason.eckert/blog/Entries/2020/5/2_FreeBSD_UNIX_for_Linux_sysadmins.html" target="_blank" rel="nofollow noopener">FreeBSD UNIX for Linux sysadmins</a></h3>

<blockquote>
<p>If you’ve ever installed and explored another Linux distro (what Linux sysadmin hasn’t?!?), then exploring FreeBSD is going be somewhat similar with a few key differences.<br>
While there is no graphical installation, the installation process is straightforward and similar to installing a server-based Linux distro. Just make sure you choose the local_unbound package when prompted if you want to cache DNS lookups locally, as FreeBSD doesn’t have a built-in local DNS resolver that does this.<br>
Following installation, the directory structure is almost identical to Linux. Of course, you’ll notice some small differences here and there (e.g. regular user home directories are located under /usr/home instead of /home). Standard UNIX commands such as ls, chmod, find, which, ps, nice, ifconfig, netstat, sockstat (the ss command in Linux) are exactly as you’d expect, but with some different options here and there that you’ll see in the man pages. And yes, reboot and poweroff are there too.</p>
</blockquote>

<hr>

<h3><a href="https://www.davidschlachter.com/misc/t480-freebsd" target="_blank" rel="nofollow noopener">FreeBSD on the Lenovo Thinkpad T480</a></h3>

<blockquote>
<p>Recently I replaced my 2014 MacBook Air with a Lenovo Thinkpad T480, on which I've installed FreeBSD, currently 12.1-RELEASE. This page documents my set-up along with various configuration tweaks and fixes.</p>
</blockquote>

<hr>

<h3>Tarsnap</h3>

<ul>
<li>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.</li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/353/feedback/Benjamin%20-%20ZFS%20Question.md" target="_blank" rel="nofollow noopener">Benjamin - ZFS Question</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/353/feedback/Brad%20-%20swap_pager_getswapspace%20errors.md" target="_blank" rel="nofollow noopener">Brad - swap_pager_getswapspace errors</a></p></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/353/feedback/Brandon%20-%20gaming.md" target="_blank" rel="nofollow noopener">Brandon - gaming</a></p></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr><p>Sponsored By:</p><ul><li><a rel="nofollow" href="https://www.tarsnap.com/bsdnow">Tarsnap</a> Promo Code: bsdnow</li></ul>]]>
  </itunes:summary>
</item>
<item>
  <title>352: Introducing Randomness</title>
  <link>https://www.bsdnow.tv/352</link>
  <guid isPermaLink="false">a4aba73b-ccc0-41d3-bd39-45783e594bd3</guid>
  <pubDate>Thu, 28 May 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a4aba73b-ccc0-41d3-bd39-45783e594bd3.mp3" length="45132517" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>A brief introduction to randomness, logs grinding netatalk to a halt, NetBSD core team changes, Using qemu guest agent on OpenBSD kvm/qemu guests, WireGuard patchset for OpenBSD, FreeBSD 12.1 on a laptop, and more.</itunes:subtitle>
  <itunes:duration>50:56</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>&lt;p&gt;A brief introduction to randomness, logs grinding netatalk to a halt, NetBSD core team changes, Using qemu guest agent on OpenBSD kvm/qemu guests, WireGuard patchset for OpenBSD, FreeBSD 12.1 on a laptop, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://washbear.neocities.org/entropy.html" target="_blank" rel="nofollow noopener"&gt;Entropy&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;A brief introduction to randomness&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Problem: Computers are very predictable. This is by design.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;But what if we want them to act unpredictably? This is very useful if we want to secure our private communications with randomized keys, or not let people cheat at video games, or if we're doing statistical simulations or similar.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/logs-grinding-netatalk-on-freebsd-to-a-hault/" target="_blank" rel="nofollow noopener"&gt;Logs grinding Netatalk on FreeBSD to a hault&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;I’ve heard it said the cobbler’s children walk barefoot. While posessing the qualities of a famed financial investment strategy, it speaks to how we generally put more effort into things for others than ourselves; at least in business.&lt;br&gt;
The HP Microserver I share with Clara is a modest affair compared to what we run at work. It has six spinning rust drives and two SSDs which are ZFS-mirrored; not even in a RAID 10 equivalent. This is underlaid with GELI for encryption, and served to our Macs with Netatalk over gigabit Ethernet with jumbo frames.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mail-index.netbsd.org/netbsd-announce/2020/05/07/msg000314.html" target="_blank" rel="nofollow noopener"&gt;NetBSD Core Team Changes&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Matt Thomas (matt@) has served on the NetBSD core team for over ten years, and has made many contributions, including ELF functionality, being the long-time VAX maintainer, gcc contributor, the generic pmap, and also networking functionality, and platform bring-up over the years.  Matt has stepped down from the NetBSD core team, and we thank him for his many, extensive contributions.&lt;br&gt;
Robert Elz (kre@), a long time BSD contributor, has kindly accepted the offer to join the core team, and help us out with the benefit of his experience and advice over many years.  Amongst other things, Robert has been maintaining our shell, liaising with the Austin Group, and bringing it up to date with modern functionality.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20200514073852" target="_blank" rel="nofollow noopener"&gt;Using qemu guest agent on OpenBSD kvm/qemu guests&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In a post to the ports@ mailing list, Landry Breuil (landry@) shared some of his notes on using qemu guest agent on OpenBSD kvm/qemu guests.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20200512080047" target="_blank" rel="nofollow noopener"&gt;WireGuard patchset for OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A while ago I wanted to learn more about OpenBSD development. So I picked a project, in this case WireGuard, to develop a native client for. Over the last two years, with many different iterations, and working closely with the WireGuard's creator (Jason [Jason A. Donenfeld - Ed.], CC'd), it started to become a serious project eventually reaching parity with other official implementations. Finally, we are here and I think it is time for any further development to happen inside the src tree.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2020-05-11-freebsd-workstation.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.1 on a laptop&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m using FreeBSD again on a laptop for some reasons so expect to read more about FreeBSD here. This tutorial explain how to get a graphical desktop using FreeBSD 12.1.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://medium.com/@tdebarbora/list-of-useful-freebsd-commands-92dffb8f8c57" target="_blank" rel="nofollow noopener"&gt;List of useful FreeBSD Commands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://itnext.io/master-your-network-with-unix-command-line-tools-790bdd3b3b87" target="_blank" rel="nofollow noopener"&gt;Master Your Network With Unix Command Line Tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/nixcraft/status/1257674069387993088" target="_blank" rel="nofollow noopener"&gt;Original Unix containers aka FreeBSD jails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.theregister.co.uk/2003/09/11/bill_joys_greatest_gift/" target="_blank" rel="nofollow noopener"&gt;Flashback : 2003 Article : Bill Joy's greatest gift to man – the vi editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/past-issues/filesystems/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal March/April 2020 Filesystems: ZFS Encryption, FUSE, and more, plus Network Bridges&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.hambug.ca/" target="_blank" rel="nofollow noopener"&gt;HAMBug meeting will be online again in June, so those from all over the world are welcome to join, June 9th (2nd Tuesday of each month) at 18:30 Eastern&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;+ &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/352/feedback/Lyubomir%20-%20GELI%20and%20ZFS.md" target="_blank" rel="nofollow noopener"&gt;Lyubomir - GELI and ZFS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/352/feedback/Patrick%20-%20powerd%20and%20powerd%2B%2B.md" target="_blank" rel="nofollow noopener"&gt;Patrick - powerd and powerd++&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, random, randomness, entropy, logs, netatalk, core team, changes, qemu, guest agent, kvm, wireguard, patchset, laptop, notebook</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>A brief introduction to randomness, logs grinding netatalk to a halt, NetBSD core team changes, Using qemu guest agent on OpenBSD kvm/qemu guests, WireGuard patchset for OpenBSD, FreeBSD 12.1 on a laptop, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://washbear.neocities.org/entropy.html" target="_blank" rel="nofollow noopener">Entropy</a></h3>

<blockquote>
<blockquote>
<p>A brief introduction to randomness</p>
</blockquote>
</blockquote>

<ul>
<li>Problem: Computers are very predictable. This is by design.</li>
</ul>

<blockquote>
<p>But what if we want them to act unpredictably? This is very useful if we want to secure our private communications with randomized keys, or not let people cheat at video games, or if we're doing statistical simulations or similar.</p>
</blockquote>

<hr>

<h3><a href="https://rubenerd.com/logs-grinding-netatalk-on-freebsd-to-a-hault/" target="_blank" rel="nofollow noopener">Logs grinding Netatalk on FreeBSD to a hault</a></h3>

<blockquote>
<blockquote>
<p>I’ve heard it said the cobbler’s children walk barefoot. While posessing the qualities of a famed financial investment strategy, it speaks to how we generally put more effort into things for others than ourselves; at least in business.<br>
The HP Microserver I share with Clara is a modest affair compared to what we run at work. It has six spinning rust drives and two SSDs which are ZFS-mirrored; not even in a RAID 10 equivalent. This is underlaid with GELI for encryption, and served to our Macs with Netatalk over gigabit Ethernet with jumbo frames.</p>
</blockquote>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/netbsd-announce/2020/05/07/msg000314.html" target="_blank" rel="nofollow noopener">NetBSD Core Team Changes</a></h3>

<blockquote>
<p>Matt Thomas (matt@) has served on the NetBSD core team for over ten years, and has made many contributions, including ELF functionality, being the long-time VAX maintainer, gcc contributor, the generic pmap, and also networking functionality, and platform bring-up over the years.  Matt has stepped down from the NetBSD core team, and we thank him for his many, extensive contributions.<br>
Robert Elz (kre@), a long time BSD contributor, has kindly accepted the offer to join the core team, and help us out with the benefit of his experience and advice over many years.  Amongst other things, Robert has been maintaining our shell, liaising with the Austin Group, and bringing it up to date with modern functionality.</p>

<hr>
</blockquote>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20200514073852" target="_blank" rel="nofollow noopener">Using qemu guest agent on OpenBSD kvm/qemu guests</a></h3>

<blockquote>
<p>In a post to the ports@ mailing list, Landry Breuil (landry@) shared some of his notes on using qemu guest agent on OpenBSD kvm/qemu guests.</p>
</blockquote>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20200512080047" target="_blank" rel="nofollow noopener">WireGuard patchset for OpenBSD</a></h3>

<blockquote>
<p>A while ago I wanted to learn more about OpenBSD development. So I picked a project, in this case WireGuard, to develop a native client for. Over the last two years, with many different iterations, and working closely with the WireGuard's creator (Jason [Jason A. Donenfeld - Ed.], CC'd), it started to become a serious project eventually reaching parity with other official implementations. Finally, we are here and I think it is time for any further development to happen inside the src tree.</p>

<hr>
</blockquote>

<h3><a href="https://dataswamp.org/%7Esolene/2020-05-11-freebsd-workstation.html" target="_blank" rel="nofollow noopener">FreeBSD 12.1 on a laptop</a></h3>

<blockquote>
<p>I’m using FreeBSD again on a laptop for some reasons so expect to read more about FreeBSD here. This tutorial explain how to get a graphical desktop using FreeBSD 12.1.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://medium.com/@tdebarbora/list-of-useful-freebsd-commands-92dffb8f8c57" target="_blank" rel="nofollow noopener">List of useful FreeBSD Commands</a></li>
<li><a href="https://itnext.io/master-your-network-with-unix-command-line-tools-790bdd3b3b87" target="_blank" rel="nofollow noopener">Master Your Network With Unix Command Line Tools</a></li>
<li><a href="https://twitter.com/nixcraft/status/1257674069387993088" target="_blank" rel="nofollow noopener">Original Unix containers aka FreeBSD jails</a></li>
<li><a href="https://www.theregister.co.uk/2003/09/11/bill_joys_greatest_gift/" target="_blank" rel="nofollow noopener">Flashback : 2003 Article : Bill Joy's greatest gift to man – the vi editor</a></li>
<li><a href="https://www.freebsdfoundation.org/past-issues/filesystems/" target="_blank" rel="nofollow noopener">FreeBSD Journal March/April 2020 Filesystems: ZFS Encryption, FUSE, and more, plus Network Bridges</a></li>
<li><a href="https://www.hambug.ca/" target="_blank" rel="nofollow noopener">HAMBug meeting will be online again in June, so those from all over the world are welcome to join, June 9th (2nd Tuesday of each month) at 18:30 Eastern</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>+ <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/352/feedback/Lyubomir%20-%20GELI%20and%20ZFS.md" target="_blank" rel="nofollow noopener">Lyubomir - GELI and ZFS</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/352/feedback/Patrick%20-%20powerd%20and%20powerd%2B%2B.md" target="_blank" rel="nofollow noopener">Patrick - powerd and powerd++</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>A brief introduction to randomness, logs grinding netatalk to a halt, NetBSD core team changes, Using qemu guest agent on OpenBSD kvm/qemu guests, WireGuard patchset for OpenBSD, FreeBSD 12.1 on a laptop, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://washbear.neocities.org/entropy.html" target="_blank" rel="nofollow noopener">Entropy</a></h3>

<blockquote>
<blockquote>
<p>A brief introduction to randomness</p>
</blockquote>
</blockquote>

<ul>
<li>Problem: Computers are very predictable. This is by design.</li>
</ul>

<blockquote>
<p>But what if we want them to act unpredictably? This is very useful if we want to secure our private communications with randomized keys, or not let people cheat at video games, or if we're doing statistical simulations or similar.</p>
</blockquote>

<hr>

<h3><a href="https://rubenerd.com/logs-grinding-netatalk-on-freebsd-to-a-hault/" target="_blank" rel="nofollow noopener">Logs grinding Netatalk on FreeBSD to a hault</a></h3>

<blockquote>
<blockquote>
<p>I’ve heard it said the cobbler’s children walk barefoot. While posessing the qualities of a famed financial investment strategy, it speaks to how we generally put more effort into things for others than ourselves; at least in business.<br>
The HP Microserver I share with Clara is a modest affair compared to what we run at work. It has six spinning rust drives and two SSDs which are ZFS-mirrored; not even in a RAID 10 equivalent. This is underlaid with GELI for encryption, and served to our Macs with Netatalk over gigabit Ethernet with jumbo frames.</p>
</blockquote>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/netbsd-announce/2020/05/07/msg000314.html" target="_blank" rel="nofollow noopener">NetBSD Core Team Changes</a></h3>

<blockquote>
<p>Matt Thomas (matt@) has served on the NetBSD core team for over ten years, and has made many contributions, including ELF functionality, being the long-time VAX maintainer, gcc contributor, the generic pmap, and also networking functionality, and platform bring-up over the years.  Matt has stepped down from the NetBSD core team, and we thank him for his many, extensive contributions.<br>
Robert Elz (kre@), a long time BSD contributor, has kindly accepted the offer to join the core team, and help us out with the benefit of his experience and advice over many years.  Amongst other things, Robert has been maintaining our shell, liaising with the Austin Group, and bringing it up to date with modern functionality.</p>

<hr>
</blockquote>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20200514073852" target="_blank" rel="nofollow noopener">Using qemu guest agent on OpenBSD kvm/qemu guests</a></h3>

<blockquote>
<p>In a post to the ports@ mailing list, Landry Breuil (landry@) shared some of his notes on using qemu guest agent on OpenBSD kvm/qemu guests.</p>
</blockquote>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20200512080047" target="_blank" rel="nofollow noopener">WireGuard patchset for OpenBSD</a></h3>

<blockquote>
<p>A while ago I wanted to learn more about OpenBSD development. So I picked a project, in this case WireGuard, to develop a native client for. Over the last two years, with many different iterations, and working closely with the WireGuard's creator (Jason [Jason A. Donenfeld - Ed.], CC'd), it started to become a serious project eventually reaching parity with other official implementations. Finally, we are here and I think it is time for any further development to happen inside the src tree.</p>

<hr>
</blockquote>

<h3><a href="https://dataswamp.org/%7Esolene/2020-05-11-freebsd-workstation.html" target="_blank" rel="nofollow noopener">FreeBSD 12.1 on a laptop</a></h3>

<blockquote>
<p>I’m using FreeBSD again on a laptop for some reasons so expect to read more about FreeBSD here. This tutorial explain how to get a graphical desktop using FreeBSD 12.1.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://medium.com/@tdebarbora/list-of-useful-freebsd-commands-92dffb8f8c57" target="_blank" rel="nofollow noopener">List of useful FreeBSD Commands</a></li>
<li><a href="https://itnext.io/master-your-network-with-unix-command-line-tools-790bdd3b3b87" target="_blank" rel="nofollow noopener">Master Your Network With Unix Command Line Tools</a></li>
<li><a href="https://twitter.com/nixcraft/status/1257674069387993088" target="_blank" rel="nofollow noopener">Original Unix containers aka FreeBSD jails</a></li>
<li><a href="https://www.theregister.co.uk/2003/09/11/bill_joys_greatest_gift/" target="_blank" rel="nofollow noopener">Flashback : 2003 Article : Bill Joy's greatest gift to man – the vi editor</a></li>
<li><a href="https://www.freebsdfoundation.org/past-issues/filesystems/" target="_blank" rel="nofollow noopener">FreeBSD Journal March/April 2020 Filesystems: ZFS Encryption, FUSE, and more, plus Network Bridges</a></li>
<li><a href="https://www.hambug.ca/" target="_blank" rel="nofollow noopener">HAMBug meeting will be online again in June, so those from all over the world are welcome to join, June 9th (2nd Tuesday of each month) at 18:30 Eastern</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>+ <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/352/feedback/Lyubomir%20-%20GELI%20and%20ZFS.md" target="_blank" rel="nofollow noopener">Lyubomir - GELI and ZFS</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/352/feedback/Patrick%20-%20powerd%20and%20powerd%2B%2B.md" target="_blank" rel="nofollow noopener">Patrick - powerd and powerd++</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>351: Heaven: OpenBSD 6.7</title>
  <link>https://www.bsdnow.tv/351</link>
  <guid isPermaLink="false">2a4b866e-d026-416c-9ab7-e0b95bf24043</guid>
  <pubDate>Thu, 21 May 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2a4b866e-d026-416c-9ab7-e0b95bf24043.mp3" length="43675400" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Backup and Restore on NetBSD, OpenBSD 6.7 available, Building a WireGuard Jail with FreeBSD's standard tools, who gets to chown things and quotas, influence TrueNAS CORE roadmap, and more.
Date: 2020-05-20</itunes:subtitle>
  <itunes:duration>49:09</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>&lt;p&gt;Backup and Restore on NetBSD, OpenBSD 6.7 available, Building a WireGuard Jail with FreeBSD's standard tools, who gets to chown things and quotas, influence TrueNAS CORE roadmap, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://e17i.github.io/articles-netbsd-backup/" target="_blank" rel="nofollow noopener"&gt;Backup and Restore on NetBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Putting together the bits and pieces of a backup and restore concept, while not being rocket science, always seems to be a little bit ungrateful. Most Admin Handbooks handle this topic only within few pages. After replacing my old Mac Mini's OS by NetBSD, I tried to implement an automated backup, allowing me to handle it similarly to the time machine backups I've been using before. Suggestions on how to improve are always welcome.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://distrowatch.com/?newsid=10921" target="_blank" rel="nofollow noopener"&gt;BSD Release: OpenBSD 6.7&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The OpenBSD project produces and operating system which places focus on portability, standardisation, code correctness, proactive security and integrated cryptography. The project's latest release is OpenBSD 6.7 which introduces several new improvements to the cron scheduling daemon, improvements to the web server daemon, and the top command now offers scrollable output. These and many more changes can be found in the project's release announcement: "This is a partial list of new features and systems included in OpenBSD 6.7. For a comprehensive list, see the changelog leading to 6.7. General improvements and bugfixes: Reduced the minimum allowed number of chunks in a CONCAT volume from 2 to 1, increasing the number of volumes which can be created on a single disk with bioctl(8) from 7 to 15. This can be used to create more partitions than previously. Rewrote the cron(8) flag-parsing code to be getopt-like, allowing tight formations like -ns and flag repetition. Renamed the 'options' field in crontab(5) to 'flags'. Added crontab(5) -s flag to the command field, indicating that only a single instance of the job should run concurrently. Added cron(8) support for random time values using the ~ operator. Allowed cwm(1) configuration of window size based on percentage of the master window during horizontal and vertical tiling actions."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-announce&amp;amp;m=158989783626149&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;Release Announcement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openbsd.org/67.html" target="_blank" rel="nofollow noopener"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://genneko.github.io/playing-with-bsd/networking/freebsd-wireguard-jail/" target="_blank" rel="nofollow noopener"&gt;Building a WireGuard Jail with the FreeBSD's Standard Tools&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Recently, I had an opportunity to build a WireGuard jail on a FreeBSD 12.1 host.&lt;br&gt;
As it was really quick and easy to setup and it has been working completely fine for a month, I’d like to share my experience with anyone interested in this topic. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ChownDivideAndQuotas" target="_blank" rel="nofollow noopener"&gt;The Unix divide over who gets to chown things, and (disk space) quotas&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the famous big splits between the BSD Unix world and the System V world is whether ordinary users can use chown (the command and the system call) to give away their own files. In System V derived Unixes you were generally allowed to; in BSD derived Unixes you weren't. Until I looked it up now to make sure, I thought that BSD changed this behavior from V7 and that V7 had an unrestricted chown. However, this turns out to be wrong; in V7 Unix, chown(2) was restricted to root only.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/truenas-bugs-and-suggestions/" target="_blank" rel="nofollow noopener"&gt;You Can Influence the TrueNAS CORE Roadmap!&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As many of you know, we’ve historically had three ticket types available in our tracker: Bugs, Features, and Improvements, which are all fairly self-explanatory. After some discussion internally, we’ve decided to implement a new type of ticket, a “Suggestion”. These will be replacing Feature and Improvement requests for the TrueNAS Community, simplifying things down to two options: Bugs and Suggestions. This change also introduces a slightly different workflow than before.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EFrlG3CUKFQ" target="_blank" rel="nofollow noopener"&gt;FreeNAS Spare Parts Build: Testing ZFS With Imbalanced VDEVs and Mismatched Drives&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20200512074150" target="_blank" rel="nofollow noopener"&gt;TLSv1.3 server code enabled in LibreSSL in -current&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://itsfoss.com/freebsd-interview-deb-goodkin/" target="_blank" rel="nofollow noopener"&gt;Interview with Deb Goodkin&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/351/feedback/Bostjan%20-%20WireGaurd.md" target="_blank" rel="nofollow noopener"&gt;Bostjan - WireGaurd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/351/feedback/Chad%20-%20ZFS%20Pool%20Design.md" target="_blank" rel="nofollow noopener"&gt;Chad - ZFS Pool Design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/351/feedback/Pedreo%20-%20Scale%20FreeBSD%20Jails.md" target="_blank" rel="nofollow noopener"&gt;Pedreo - Scale FreeBSD Jails&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
  <itunes:keywords> freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, backup, restore, release, wireguard, jail, chown, disk, disk space, quota, quotas, truenas, truenas core, roadmap </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Backup and Restore on NetBSD, OpenBSD 6.7 available, Building a WireGuard Jail with FreeBSD's standard tools, who gets to chown things and quotas, influence TrueNAS CORE roadmap, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://e17i.github.io/articles-netbsd-backup/" target="_blank" rel="nofollow noopener">Backup and Restore on NetBSD</a></h3>

<blockquote>
<p>Putting together the bits and pieces of a backup and restore concept, while not being rocket science, always seems to be a little bit ungrateful. Most Admin Handbooks handle this topic only within few pages. After replacing my old Mac Mini's OS by NetBSD, I tried to implement an automated backup, allowing me to handle it similarly to the time machine backups I've been using before. Suggestions on how to improve are always welcome.</p>
</blockquote>

<hr>

<h3><a href="https://distrowatch.com/?newsid=10921" target="_blank" rel="nofollow noopener">BSD Release: OpenBSD 6.7</a></h3>

<blockquote>
<p>The OpenBSD project produces and operating system which places focus on portability, standardisation, code correctness, proactive security and integrated cryptography. The project's latest release is OpenBSD 6.7 which introduces several new improvements to the cron scheduling daemon, improvements to the web server daemon, and the top command now offers scrollable output. These and many more changes can be found in the project's release announcement: "This is a partial list of new features and systems included in OpenBSD 6.7. For a comprehensive list, see the changelog leading to 6.7. General improvements and bugfixes: Reduced the minimum allowed number of chunks in a CONCAT volume from 2 to 1, increasing the number of volumes which can be created on a single disk with bioctl(8) from 7 to 15. This can be used to create more partitions than previously. Rewrote the cron(8) flag-parsing code to be getopt-like, allowing tight formations like -ns and flag repetition. Renamed the 'options' field in crontab(5) to 'flags'. Added crontab(5) -s flag to the command field, indicating that only a single instance of the job should run concurrently. Added cron(8) support for random time values using the ~ operator. Allowed cwm(1) configuration of window size based on percentage of the master window during horizontal and vertical tiling actions."</p>
</blockquote>

<ul>
<li><a href="https://marc.info/?l=openbsd-announce&amp;m=158989783626149&amp;w=2" target="_blank" rel="nofollow noopener">Release Announcement</a></li>
<li><a href="https://www.openbsd.org/67.html" target="_blank" rel="nofollow noopener">Release Notes</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://genneko.github.io/playing-with-bsd/networking/freebsd-wireguard-jail/" target="_blank" rel="nofollow noopener">Building a WireGuard Jail with the FreeBSD's Standard Tools</a></h3>

<blockquote>
<p>Recently, I had an opportunity to build a WireGuard jail on a FreeBSD 12.1 host.<br>
As it was really quick and easy to setup and it has been working completely fine for a month, I’d like to share my experience with anyone interested in this topic. </p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ChownDivideAndQuotas" target="_blank" rel="nofollow noopener">The Unix divide over who gets to chown things, and (disk space) quotas</a></h3>

<blockquote>
<p>One of the famous big splits between the BSD Unix world and the System V world is whether ordinary users can use chown (the command and the system call) to give away their own files. In System V derived Unixes you were generally allowed to; in BSD derived Unixes you weren't. Until I looked it up now to make sure, I thought that BSD changed this behavior from V7 and that V7 had an unrestricted chown. However, this turns out to be wrong; in V7 Unix, chown(2) was restricted to root only.</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/truenas-bugs-and-suggestions/" target="_blank" rel="nofollow noopener">You Can Influence the TrueNAS CORE Roadmap!</a></h3>

<blockquote>
<p>As many of you know, we’ve historically had three ticket types available in our tracker: Bugs, Features, and Improvements, which are all fairly self-explanatory. After some discussion internally, we’ve decided to implement a new type of ticket, a “Suggestion”. These will be replacing Feature and Improvement requests for the TrueNAS Community, simplifying things down to two options: Bugs and Suggestions. This change also introduces a slightly different workflow than before.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=EFrlG3CUKFQ" target="_blank" rel="nofollow noopener">FreeNAS Spare Parts Build: Testing ZFS With Imbalanced VDEVs and Mismatched Drives</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20200512074150" target="_blank" rel="nofollow noopener">TLSv1.3 server code enabled in LibreSSL in -current</a></li>
<li><a href="https://itsfoss.com/freebsd-interview-deb-goodkin/" target="_blank" rel="nofollow noopener">Interview with Deb Goodkin</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/351/feedback/Bostjan%20-%20WireGaurd.md" target="_blank" rel="nofollow noopener">Bostjan - WireGaurd</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/351/feedback/Chad%20-%20ZFS%20Pool%20Design.md" target="_blank" rel="nofollow noopener">Chad - ZFS Pool Design</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/351/feedback/Pedreo%20-%20Scale%20FreeBSD%20Jails.md" target="_blank" rel="nofollow noopener">Pedreo - Scale FreeBSD Jails</a></p>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Backup and Restore on NetBSD, OpenBSD 6.7 available, Building a WireGuard Jail with FreeBSD's standard tools, who gets to chown things and quotas, influence TrueNAS CORE roadmap, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://e17i.github.io/articles-netbsd-backup/" target="_blank" rel="nofollow noopener">Backup and Restore on NetBSD</a></h3>

<blockquote>
<p>Putting together the bits and pieces of a backup and restore concept, while not being rocket science, always seems to be a little bit ungrateful. Most Admin Handbooks handle this topic only within few pages. After replacing my old Mac Mini's OS by NetBSD, I tried to implement an automated backup, allowing me to handle it similarly to the time machine backups I've been using before. Suggestions on how to improve are always welcome.</p>
</blockquote>

<hr>

<h3><a href="https://distrowatch.com/?newsid=10921" target="_blank" rel="nofollow noopener">BSD Release: OpenBSD 6.7</a></h3>

<blockquote>
<p>The OpenBSD project produces and operating system which places focus on portability, standardisation, code correctness, proactive security and integrated cryptography. The project's latest release is OpenBSD 6.7 which introduces several new improvements to the cron scheduling daemon, improvements to the web server daemon, and the top command now offers scrollable output. These and many more changes can be found in the project's release announcement: "This is a partial list of new features and systems included in OpenBSD 6.7. For a comprehensive list, see the changelog leading to 6.7. General improvements and bugfixes: Reduced the minimum allowed number of chunks in a CONCAT volume from 2 to 1, increasing the number of volumes which can be created on a single disk with bioctl(8) from 7 to 15. This can be used to create more partitions than previously. Rewrote the cron(8) flag-parsing code to be getopt-like, allowing tight formations like -ns and flag repetition. Renamed the 'options' field in crontab(5) to 'flags'. Added crontab(5) -s flag to the command field, indicating that only a single instance of the job should run concurrently. Added cron(8) support for random time values using the ~ operator. Allowed cwm(1) configuration of window size based on percentage of the master window during horizontal and vertical tiling actions."</p>
</blockquote>

<ul>
<li><a href="https://marc.info/?l=openbsd-announce&amp;m=158989783626149&amp;w=2" target="_blank" rel="nofollow noopener">Release Announcement</a></li>
<li><a href="https://www.openbsd.org/67.html" target="_blank" rel="nofollow noopener">Release Notes</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://genneko.github.io/playing-with-bsd/networking/freebsd-wireguard-jail/" target="_blank" rel="nofollow noopener">Building a WireGuard Jail with the FreeBSD's Standard Tools</a></h3>

<blockquote>
<p>Recently, I had an opportunity to build a WireGuard jail on a FreeBSD 12.1 host.<br>
As it was really quick and easy to setup and it has been working completely fine for a month, I’d like to share my experience with anyone interested in this topic. </p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ChownDivideAndQuotas" target="_blank" rel="nofollow noopener">The Unix divide over who gets to chown things, and (disk space) quotas</a></h3>

<blockquote>
<p>One of the famous big splits between the BSD Unix world and the System V world is whether ordinary users can use chown (the command and the system call) to give away their own files. In System V derived Unixes you were generally allowed to; in BSD derived Unixes you weren't. Until I looked it up now to make sure, I thought that BSD changed this behavior from V7 and that V7 had an unrestricted chown. However, this turns out to be wrong; in V7 Unix, chown(2) was restricted to root only.</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/truenas-bugs-and-suggestions/" target="_blank" rel="nofollow noopener">You Can Influence the TrueNAS CORE Roadmap!</a></h3>

<blockquote>
<p>As many of you know, we’ve historically had three ticket types available in our tracker: Bugs, Features, and Improvements, which are all fairly self-explanatory. After some discussion internally, we’ve decided to implement a new type of ticket, a “Suggestion”. These will be replacing Feature and Improvement requests for the TrueNAS Community, simplifying things down to two options: Bugs and Suggestions. This change also introduces a slightly different workflow than before.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=EFrlG3CUKFQ" target="_blank" rel="nofollow noopener">FreeNAS Spare Parts Build: Testing ZFS With Imbalanced VDEVs and Mismatched Drives</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20200512074150" target="_blank" rel="nofollow noopener">TLSv1.3 server code enabled in LibreSSL in -current</a></li>
<li><a href="https://itsfoss.com/freebsd-interview-deb-goodkin/" target="_blank" rel="nofollow noopener">Interview with Deb Goodkin</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/351/feedback/Bostjan%20-%20WireGaurd.md" target="_blank" rel="nofollow noopener">Bostjan - WireGaurd</a></li>
<li><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/351/feedback/Chad%20-%20ZFS%20Pool%20Design.md" target="_blank" rel="nofollow noopener">Chad - ZFS Pool Design</a></li>
<li><p><a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/351/feedback/Pedreo%20-%20Scale%20FreeBSD%20Jails.md" target="_blank" rel="nofollow noopener">Pedreo - Scale FreeBSD Jails</a></p>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>350: Speedy Bridges</title>
  <link>https://www.bsdnow.tv/350</link>
  <guid isPermaLink="false">49114e72-83f1-43b6-ae71-9e608a059b3e</guid>
  <pubDate>Thu, 14 May 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/49114e72-83f1-43b6-ae71-9e608a059b3e.mp3" length="37173656" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>5x if_bridge Performance Improvement, How Unix Won, Understanding VLAN Configuration on FreeBSD, Using bhyve PCI passthrough on OmniOS, TrueNAS 11.3-U2 Available, and more.</itunes:subtitle>
  <itunes:duration>34:40</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>&lt;p&gt;5x if_bridge Performance Improvement, How Unix Won, Understanding VLAN Configuration on FreeBSD, Using bhyve PCI passthrough on OmniOS, TrueNAS 11.3-U2 Available, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/500-if_bridge-performance-improvement/" target="_blank" rel="nofollow noopener"&gt;5x if_bridge Performance Improvement&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;With FreeBSD Foundation grant, Kristof Provost harnesses new parallel techniques to uncork performance bottleneck &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kristof also streamed some of his work, providing an interesting insight into how such development work happens&lt;/li&gt;
&lt;li&gt;&amp;gt; &lt;a href="https://www.twitch.tv/provostk/videos" target="_blank" rel="nofollow noopener"&gt;https://www.twitch.tv/provostk/videos&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://blog.vivekhaldar.com/post/617189040564928512/how-unix-won" target="_blank" rel="nofollow noopener"&gt;How Unix Won&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;+&amp;gt; Unix has won in every conceivable way. And in true mythic style, it contains the seeds of its own eclipse. This is my subjective historical narrative of how that happened.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m using the name “Unix” to include the entire family of operating systems descended from it, or that have been heavily influenced by it. That includes Linux, SunOS, Solaris, BSD, Mac OS X, and many, many others.&lt;br&gt;
Both major mobile OSs, Android and iOS, have Unix roots. Their billions of users dwarf those using clunky things like laptops and desktops, but even there, Windows is only the non-Unix viable OS. Almost everything running server-side in giant datacenters is Linux.&lt;br&gt;
How did Unix win?&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.socruel.nu/freebsd/check-logs-of-syslog-ng-log-host-on-freebsd.html" target="_blank" rel="nofollow noopener"&gt;Check logs of central syslog-ng log host on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This blog post continues where the blog post A central log host with syslog-ng on FreeBSD left off. Open source solutions to check syslog log messages exist, such as Logcheck or Logwatch. Although these are not to difficult to implement and maintain, I still found these to much. So I went for my own home grown solution to check the syslog messages of the SoCruel.NU central log host. And the solution presented in this blog post works pretty well for me!&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://genneko.github.io/playing-with-bsd/networking/freebsd-vlan/" target="_blank" rel="nofollow noopener"&gt;Understanding VLAN Configuration on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Until recently, I’ve never had a chance to use VLANs on FreeBSD hosts, though I sometimes configure them on ethernet switches.&lt;br&gt;
But when I was playing with vnet jails, I suddenly got interested in VLAN configuration on FreeBSD and experimented with it for some time.&lt;br&gt;
I wrote this short article to summarize my current understanding of how to configure VLANs on FreeBSD.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.cyber-tec.org/2019/05/29/using-bhyve-pci-passthrough-on-omnios/" target="_blank" rel="nofollow noopener"&gt;Using bhyve PCI passthrough on OmniOS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Some hardware is not supported in illumos yet, but luckily there is bhyve which supports pci passthrough to any guest operating system. To continue with my OmniOS desktop on "modern" hardware I would love wifi support, so why not using a bhyve guest as router zone which provide the required drivers?&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/truenas-11-3-u2-is-available/" target="_blank" rel="nofollow noopener"&gt;TrueNAS 11.3-U2 is Generally Available&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;TrueNAS 11.3-U2.1 is generally available as of 4/22/2020. This update is based on FreeNAS 11.3-U2 which has had over 50k deployments and received excellent community and third party reviews. The Release Notes are available on the iXsystems.com website.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2020-04-24/hardenedbsd-april-2020-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD April 2020 Status Report&lt;/a&gt;&lt;br&gt;
&lt;a href="http://lists.nycbug.org/pipermail/jobs/2020-April/000553.html" target="_blank" rel="nofollow noopener"&gt;NYC Bug’s Mailing List - Listing of open Dev Jobs&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Greg - &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/350/feedback/Greg%20-%20Lenovos.md" target="_blank" rel="nofollow noopener"&gt;Lenovo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Matt - &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/350/feedback/Matt%20-%20BSD%20Packaging.md" target="_blank" rel="nofollow noopener"&gt;BSD Packaging&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Morgan - &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/350/feedback/Morgan%20-%20Performance.md" target="_blank" rel="nofollow noopener"&gt;Performance&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, unix, bsd, interview, crash, crash dump, encryption, encrypted,  dev environment, kernel development, TrueNAS</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>5x if_bridge Performance Improvement, How Unix Won, Understanding VLAN Configuration on FreeBSD, Using bhyve PCI passthrough on OmniOS, TrueNAS 11.3-U2 Available, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsdfoundation.org/blog/500-if_bridge-performance-improvement/" target="_blank" rel="nofollow noopener">5x if_bridge Performance Improvement</a></h3>

<blockquote>
<p>With FreeBSD Foundation grant, Kristof Provost harnesses new parallel techniques to uncork performance bottleneck </p>

<ul>
<li>Kristof also streamed some of his work, providing an interesting insight into how such development work happens</li>
<li>&gt; <a href="https://www.twitch.tv/provostk/videos" target="_blank" rel="nofollow noopener">https://www.twitch.tv/provostk/videos</a>
***</li>
</ul>
</blockquote>

<h3><a href="https://blog.vivekhaldar.com/post/617189040564928512/how-unix-won" target="_blank" rel="nofollow noopener">How Unix Won</a></h3>

<p>+&gt; Unix has won in every conceivable way. And in true mythic style, it contains the seeds of its own eclipse. This is my subjective historical narrative of how that happened.</p>

<blockquote>
<p>I’m using the name “Unix” to include the entire family of operating systems descended from it, or that have been heavily influenced by it. That includes Linux, SunOS, Solaris, BSD, Mac OS X, and many, many others.<br>
Both major mobile OSs, Android and iOS, have Unix roots. Their billions of users dwarf those using clunky things like laptops and desktops, but even there, Windows is only the non-Unix viable OS. Almost everything running server-side in giant datacenters is Linux.<br>
How did Unix win?</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://blog.socruel.nu/freebsd/check-logs-of-syslog-ng-log-host-on-freebsd.html" target="_blank" rel="nofollow noopener">Check logs of central syslog-ng log host on FreeBSD</a></h3>

<blockquote>
<p>This blog post continues where the blog post A central log host with syslog-ng on FreeBSD left off. Open source solutions to check syslog log messages exist, such as Logcheck or Logwatch. Although these are not to difficult to implement and maintain, I still found these to much. So I went for my own home grown solution to check the syslog messages of the SoCruel.NU central log host. And the solution presented in this blog post works pretty well for me!</p>

<hr>
</blockquote>

<h3><a href="https://genneko.github.io/playing-with-bsd/networking/freebsd-vlan/" target="_blank" rel="nofollow noopener">Understanding VLAN Configuration on FreeBSD</a></h3>

<blockquote>
<p>Until recently, I’ve never had a chance to use VLANs on FreeBSD hosts, though I sometimes configure them on ethernet switches.<br>
But when I was playing with vnet jails, I suddenly got interested in VLAN configuration on FreeBSD and experimented with it for some time.<br>
I wrote this short article to summarize my current understanding of how to configure VLANs on FreeBSD.</p>

<hr>
</blockquote>

<h3><a href="https://www.cyber-tec.org/2019/05/29/using-bhyve-pci-passthrough-on-omnios/" target="_blank" rel="nofollow noopener">Using bhyve PCI passthrough on OmniOS</a></h3>

<blockquote>
<p>Some hardware is not supported in illumos yet, but luckily there is bhyve which supports pci passthrough to any guest operating system. To continue with my OmniOS desktop on "modern" hardware I would love wifi support, so why not using a bhyve guest as router zone which provide the required drivers?</p>

<hr>
</blockquote>

<h3><a href="https://www.ixsystems.com/blog/truenas-11-3-u2-is-available/" target="_blank" rel="nofollow noopener">TrueNAS 11.3-U2 is Generally Available</a></h3>

<blockquote>
<p>TrueNAS 11.3-U2.1 is generally available as of 4/22/2020. This update is based on FreeNAS 11.3-U2 which has had over 50k deployments and received excellent community and third party reviews. The Release Notes are available on the iXsystems.com website.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<p><a href="https://hardenedbsd.org/article/shawn-webb/2020-04-24/hardenedbsd-april-2020-status-report" target="_blank" rel="nofollow noopener">HardenedBSD April 2020 Status Report</a><br>
<a href="http://lists.nycbug.org/pipermail/jobs/2020-April/000553.html" target="_blank" rel="nofollow noopener">NYC Bug’s Mailing List - Listing of open Dev Jobs</a></p>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Greg - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/350/feedback/Greg%20-%20Lenovos.md" target="_blank" rel="nofollow noopener">Lenovo</a></li>
<li>Matt - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/350/feedback/Matt%20-%20BSD%20Packaging.md" target="_blank" rel="nofollow noopener">BSD Packaging</a></li>
<li><p>Morgan - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/350/feedback/Morgan%20-%20Performance.md" target="_blank" rel="nofollow noopener">Performance</a></p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>5x if_bridge Performance Improvement, How Unix Won, Understanding VLAN Configuration on FreeBSD, Using bhyve PCI passthrough on OmniOS, TrueNAS 11.3-U2 Available, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsdfoundation.org/blog/500-if_bridge-performance-improvement/" target="_blank" rel="nofollow noopener">5x if_bridge Performance Improvement</a></h3>

<blockquote>
<p>With FreeBSD Foundation grant, Kristof Provost harnesses new parallel techniques to uncork performance bottleneck </p>

<ul>
<li>Kristof also streamed some of his work, providing an interesting insight into how such development work happens</li>
<li>&gt; <a href="https://www.twitch.tv/provostk/videos" target="_blank" rel="nofollow noopener">https://www.twitch.tv/provostk/videos</a>
***</li>
</ul>
</blockquote>

<h3><a href="https://blog.vivekhaldar.com/post/617189040564928512/how-unix-won" target="_blank" rel="nofollow noopener">How Unix Won</a></h3>

<p>+&gt; Unix has won in every conceivable way. And in true mythic style, it contains the seeds of its own eclipse. This is my subjective historical narrative of how that happened.</p>

<blockquote>
<p>I’m using the name “Unix” to include the entire family of operating systems descended from it, or that have been heavily influenced by it. That includes Linux, SunOS, Solaris, BSD, Mac OS X, and many, many others.<br>
Both major mobile OSs, Android and iOS, have Unix roots. Their billions of users dwarf those using clunky things like laptops and desktops, but even there, Windows is only the non-Unix viable OS. Almost everything running server-side in giant datacenters is Linux.<br>
How did Unix win?</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://blog.socruel.nu/freebsd/check-logs-of-syslog-ng-log-host-on-freebsd.html" target="_blank" rel="nofollow noopener">Check logs of central syslog-ng log host on FreeBSD</a></h3>

<blockquote>
<p>This blog post continues where the blog post A central log host with syslog-ng on FreeBSD left off. Open source solutions to check syslog log messages exist, such as Logcheck or Logwatch. Although these are not to difficult to implement and maintain, I still found these to much. So I went for my own home grown solution to check the syslog messages of the SoCruel.NU central log host. And the solution presented in this blog post works pretty well for me!</p>

<hr>
</blockquote>

<h3><a href="https://genneko.github.io/playing-with-bsd/networking/freebsd-vlan/" target="_blank" rel="nofollow noopener">Understanding VLAN Configuration on FreeBSD</a></h3>

<blockquote>
<p>Until recently, I’ve never had a chance to use VLANs on FreeBSD hosts, though I sometimes configure them on ethernet switches.<br>
But when I was playing with vnet jails, I suddenly got interested in VLAN configuration on FreeBSD and experimented with it for some time.<br>
I wrote this short article to summarize my current understanding of how to configure VLANs on FreeBSD.</p>

<hr>
</blockquote>

<h3><a href="https://www.cyber-tec.org/2019/05/29/using-bhyve-pci-passthrough-on-omnios/" target="_blank" rel="nofollow noopener">Using bhyve PCI passthrough on OmniOS</a></h3>

<blockquote>
<p>Some hardware is not supported in illumos yet, but luckily there is bhyve which supports pci passthrough to any guest operating system. To continue with my OmniOS desktop on "modern" hardware I would love wifi support, so why not using a bhyve guest as router zone which provide the required drivers?</p>

<hr>
</blockquote>

<h3><a href="https://www.ixsystems.com/blog/truenas-11-3-u2-is-available/" target="_blank" rel="nofollow noopener">TrueNAS 11.3-U2 is Generally Available</a></h3>

<blockquote>
<p>TrueNAS 11.3-U2.1 is generally available as of 4/22/2020. This update is based on FreeNAS 11.3-U2 which has had over 50k deployments and received excellent community and third party reviews. The Release Notes are available on the iXsystems.com website.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<p><a href="https://hardenedbsd.org/article/shawn-webb/2020-04-24/hardenedbsd-april-2020-status-report" target="_blank" rel="nofollow noopener">HardenedBSD April 2020 Status Report</a><br>
<a href="http://lists.nycbug.org/pipermail/jobs/2020-April/000553.html" target="_blank" rel="nofollow noopener">NYC Bug’s Mailing List - Listing of open Dev Jobs</a></p>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Greg - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/350/feedback/Greg%20-%20Lenovos.md" target="_blank" rel="nofollow noopener">Lenovo</a></li>
<li>Matt - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/350/feedback/Matt%20-%20BSD%20Packaging.md" target="_blank" rel="nofollow noopener">BSD Packaging</a></li>
<li><p>Morgan - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/350/feedback/Morgan%20-%20Performance.md" target="_blank" rel="nofollow noopener">Performance</a></p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>349: Entropy Overhaul</title>
  <link>https://www.bsdnow.tv/349</link>
  <guid isPermaLink="false">468d2fe0-ed8f-4e89-aaae-8aa4a0fbf66f</guid>
  <pubDate>Thu, 07 May 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/468d2fe0-ed8f-4e89-aaae-8aa4a0fbf66f.mp3" length="41444019" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Encrypted Crash Dumps in FreeBSD, Time on Unix, Improve ZVOL sync write performance with a taskq, central log host with syslog-ng, NetBSD Entropy overhaul, Setting Up NetBSD Kernel Dev Environment, and more.</itunes:subtitle>
  <itunes:duration>57:33</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>&lt;p&gt;Encrypted Crash Dumps in FreeBSD, Time on Unix, Improve ZVOL sync write performance with a taskq, central log host with syslog-ng, NetBSD Entropy overhaul, Setting Up NetBSD Kernel Dev Environment, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://oshogbo.vexillium.org/blog/74/" target="_blank" rel="nofollow noopener"&gt;EKCD - Encrypted Crash Dumps in FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Some time ago, I was describing how to configure networking crash dumps. In that post, I mentioned that there is also the possibility to encrypt crash dumps. Today we will look into this functionality. Initially, it was implemented during Google Summer of Code 2013 by my friend Konrad Witaszczyk, who made it available in FreeBSD 12. If you can understand Polish, you can also look into his presentation on BSD-PL on which he gave a comprehensive review of all kernel crash dumps features.&lt;/p&gt;

&lt;p&gt;The main issue with crash dumps is that they may include sensitive information available in memory during a crash. They will contain all the data from the kernel and the userland, like passwords, private keys, etc. While dumping them, they are written to unencrypted storage, so if somebody took out the hard drive, they could access sensitive data. If you are sending a crash dump through the network, it may be captured by third parties. Locally the data are written directly to a dump device, skipping the GEOM subsystem. The purpose of that is to allow a kernel to write a crash dump even in case a panic occurs in the GEOM subsystem. It means that a crash dump cannot be automatically encrypted with GELI.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://venam.nixers.net/blog/unix/2020/05/02/time-on-unix.html" target="_blank" rel="nofollow noopener"&gt;Time on Unix&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Time, a word that is entangled in everything in our lives, something we’re intimately familiar with. Keeping track of it is important for many activities we do.&lt;/p&gt;

&lt;p&gt;Over millennia we’ve developed different ways to calculate it. Most prominently, we’ve relied on the position the sun appears to be at in the sky, what is called apparent solar time.&lt;/p&gt;

&lt;p&gt;We’ve decided to split it as seasons pass, counting one full cycle of the 4 seasons as a year, a full rotation around the sun. We’ve also divided the passing of light to the lack thereof as days, a rotation of the earth on itself. Moving on to more precise clock divisions such as seconds, minutes, and hours, units that meant different things at different points in history. Ultimately, as travel got faster, the different ways of counting time that evolved in multiple places had to converge. People had to agree on what it all meant.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;See the article for more&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://github.com/openzfs/zfs/commit/0929c4de398606f8305057ca540cf577e6771c30" target="_blank" rel="nofollow noopener"&gt;Improve ZVOL sync write performance by using a taskq&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.socruel.nu/freebsd/a-central-log-host-with-syslog-ng-on-freebsd.html" target="_blank" rel="nofollow noopener"&gt;A central log host with syslog-ng on FreeBSD - Part 1&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;syslog-ng is the Swiss army knife of log management. You can collect logs from any source, process them in real time and deliver them to wide range of destinations. It allows you to flexibly collect, parse, classify, rewrite and correlate logs from across your infrastructure. This is why syslog-ng is the perfect solution for the central log host of my (mainly) FreeBSD based infrastructure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mail-index.netbsd.org/current-users/2020/05/01/msg038495.html" target="_blank" rel="nofollow noopener"&gt;HEADS UP: NetBSD Entropy Overhaul&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This week I committed an overhaul of the kernel entropy system.  Please let me know if you observe any snags!  For the technical background, see the thread on tech-kern a few months ago: &lt;a href="https://mail-index.NetBSD.org/tech-kern/2019/12/21/msg025876.html" target="_blank" rel="nofollow noopener"&gt;https://mail-index.NetBSD.org/tech-kern/2019/12/21/msg025876.html&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://adityapadala.com/2020/04/20/Setting-Up-NetBSD-Kernel-Dev-Environment/" target="_blank" rel="nofollow noopener"&gt;Setting Up NetBSD Kernel Dev Environment&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I used T_PAGEFLT’s blog post as a reference for setting my NetBSD kernel development environment since his website is down I’m putting down the steps here so it would be helpful for starters.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2020/05/04/24480.html" target="_blank" rel="nofollow noopener"&gt;You can now use ccache to speed up dsynth even more.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/improving_libossaudio_and_the_future" target="_blank" rel="nofollow noopener"&gt;Improving libossaudio, and the future of OSS in NetBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2020-April/769021.html" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD DHCPCD Import dhcpcd-9.0.2 with the following changes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/OfficeHours" target="_blank" rel="nofollow noopener"&gt;Reminder: watch this space for upcoming FreeBSD Office Hours, next is May 13th at 2pm Eastern, 18:00 UTC&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Ghislain - &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/349/feedback/Ghislain%20-%20ZFS%20Question.md" target="_blank" rel="nofollow noopener"&gt;ZFS Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jake - &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/349/feedback/Jake%20-%20Paypal%20Donations.md" target="_blank" rel="nofollow noopener"&gt;Paypal Donations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Oswin - &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/349/feedback/Oswin%20-%20Hammer%20tutorial.md" target="_blank" rel="nofollow noopener"&gt;Hammer tutorial&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0348.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, crash, crash dump, encryption, encrypted, unix time, zvol, sync, synchronous, sync write, taskq, syslog, syslog-ng, log host, entropy, entropy overhaul, dev environment, kernel development</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Encrypted Crash Dumps in FreeBSD, Time on Unix, Improve ZVOL sync write performance with a taskq, central log host with syslog-ng, NetBSD Entropy overhaul, Setting Up NetBSD Kernel Dev Environment, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://oshogbo.vexillium.org/blog/74/" target="_blank" rel="nofollow noopener">EKCD - Encrypted Crash Dumps in FreeBSD</a></h3>

<blockquote>
<p>Some time ago, I was describing how to configure networking crash dumps. In that post, I mentioned that there is also the possibility to encrypt crash dumps. Today we will look into this functionality. Initially, it was implemented during Google Summer of Code 2013 by my friend Konrad Witaszczyk, who made it available in FreeBSD 12. If you can understand Polish, you can also look into his presentation on BSD-PL on which he gave a comprehensive review of all kernel crash dumps features.</p>

<p>The main issue with crash dumps is that they may include sensitive information available in memory during a crash. They will contain all the data from the kernel and the userland, like passwords, private keys, etc. While dumping them, they are written to unencrypted storage, so if somebody took out the hard drive, they could access sensitive data. If you are sending a crash dump through the network, it may be captured by third parties. Locally the data are written directly to a dump device, skipping the GEOM subsystem. The purpose of that is to allow a kernel to write a crash dump even in case a panic occurs in the GEOM subsystem. It means that a crash dump cannot be automatically encrypted with GELI.</p>
</blockquote>

<hr>

<h3><a href="https://venam.nixers.net/blog/unix/2020/05/02/time-on-unix.html" target="_blank" rel="nofollow noopener">Time on Unix</a></h3>

<blockquote>
<p>Time, a word that is entangled in everything in our lives, something we’re intimately familiar with. Keeping track of it is important for many activities we do.</p>

<p>Over millennia we’ve developed different ways to calculate it. Most prominently, we’ve relied on the position the sun appears to be at in the sky, what is called apparent solar time.</p>

<p>We’ve decided to split it as seasons pass, counting one full cycle of the 4 seasons as a year, a full rotation around the sun. We’ve also divided the passing of light to the lack thereof as days, a rotation of the earth on itself. Moving on to more precise clock divisions such as seconds, minutes, and hours, units that meant different things at different points in history. Ultimately, as travel got faster, the different ways of counting time that evolved in multiple places had to converge. People had to agree on what it all meant.</p>
</blockquote>

<p>See the article for more</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://github.com/openzfs/zfs/commit/0929c4de398606f8305057ca540cf577e6771c30" target="_blank" rel="nofollow noopener">Improve ZVOL sync write performance by using a taskq</a></h3>

<hr>

<h3><a href="https://blog.socruel.nu/freebsd/a-central-log-host-with-syslog-ng-on-freebsd.html" target="_blank" rel="nofollow noopener">A central log host with syslog-ng on FreeBSD - Part 1</a></h3>

<blockquote>
<p>syslog-ng is the Swiss army knife of log management. You can collect logs from any source, process them in real time and deliver them to wide range of destinations. It allows you to flexibly collect, parse, classify, rewrite and correlate logs from across your infrastructure. This is why syslog-ng is the perfect solution for the central log host of my (mainly) FreeBSD based infrastructure.</p>
</blockquote>

<hr>

<h3><a href="https://mail-index.netbsd.org/current-users/2020/05/01/msg038495.html" target="_blank" rel="nofollow noopener">HEADS UP: NetBSD Entropy Overhaul</a></h3>

<blockquote>
<p>This week I committed an overhaul of the kernel entropy system.  Please let me know if you observe any snags!  For the technical background, see the thread on tech-kern a few months ago: <a href="https://mail-index.NetBSD.org/tech-kern/2019/12/21/msg025876.html" target="_blank" rel="nofollow noopener">https://mail-index.NetBSD.org/tech-kern/2019/12/21/msg025876.html</a>.</p>
</blockquote>

<hr>

<h3><a href="https://adityapadala.com/2020/04/20/Setting-Up-NetBSD-Kernel-Dev-Environment/" target="_blank" rel="nofollow noopener">Setting Up NetBSD Kernel Dev Environment</a></h3>

<blockquote>
<p>I used T_PAGEFLT’s blog post as a reference for setting my NetBSD kernel development environment since his website is down I’m putting down the steps here so it would be helpful for starters.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2020/05/04/24480.html" target="_blank" rel="nofollow noopener">You can now use ccache to speed up dsynth even more.</a></li>
<li><a href="http://blog.netbsd.org/tnf/entry/improving_libossaudio_and_the_future" target="_blank" rel="nofollow noopener">Improving libossaudio, and the future of OSS in NetBSD</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-April/769021.html" target="_blank" rel="nofollow noopener">DragonFlyBSD DHCPCD Import dhcpcd-9.0.2 with the following changes</a></li>
<li><a href="https://wiki.freebsd.org/OfficeHours" target="_blank" rel="nofollow noopener">Reminder: watch this space for upcoming FreeBSD Office Hours, next is May 13th at 2pm Eastern, 18:00 UTC</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Ghislain - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/349/feedback/Ghislain%20-%20ZFS%20Question.md" target="_blank" rel="nofollow noopener">ZFS Question</a></li>
<li>Jake - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/349/feedback/Jake%20-%20Paypal%20Donations.md" target="_blank" rel="nofollow noopener">Paypal Donations</a></li>
<li>Oswin - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/349/feedback/Oswin%20-%20Hammer%20tutorial.md" target="_blank" rel="nofollow noopener">Hammer tutorial</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0348.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Encrypted Crash Dumps in FreeBSD, Time on Unix, Improve ZVOL sync write performance with a taskq, central log host with syslog-ng, NetBSD Entropy overhaul, Setting Up NetBSD Kernel Dev Environment, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://oshogbo.vexillium.org/blog/74/" target="_blank" rel="nofollow noopener">EKCD - Encrypted Crash Dumps in FreeBSD</a></h3>

<blockquote>
<p>Some time ago, I was describing how to configure networking crash dumps. In that post, I mentioned that there is also the possibility to encrypt crash dumps. Today we will look into this functionality. Initially, it was implemented during Google Summer of Code 2013 by my friend Konrad Witaszczyk, who made it available in FreeBSD 12. If you can understand Polish, you can also look into his presentation on BSD-PL on which he gave a comprehensive review of all kernel crash dumps features.</p>

<p>The main issue with crash dumps is that they may include sensitive information available in memory during a crash. They will contain all the data from the kernel and the userland, like passwords, private keys, etc. While dumping them, they are written to unencrypted storage, so if somebody took out the hard drive, they could access sensitive data. If you are sending a crash dump through the network, it may be captured by third parties. Locally the data are written directly to a dump device, skipping the GEOM subsystem. The purpose of that is to allow a kernel to write a crash dump even in case a panic occurs in the GEOM subsystem. It means that a crash dump cannot be automatically encrypted with GELI.</p>
</blockquote>

<hr>

<h3><a href="https://venam.nixers.net/blog/unix/2020/05/02/time-on-unix.html" target="_blank" rel="nofollow noopener">Time on Unix</a></h3>

<blockquote>
<p>Time, a word that is entangled in everything in our lives, something we’re intimately familiar with. Keeping track of it is important for many activities we do.</p>

<p>Over millennia we’ve developed different ways to calculate it. Most prominently, we’ve relied on the position the sun appears to be at in the sky, what is called apparent solar time.</p>

<p>We’ve decided to split it as seasons pass, counting one full cycle of the 4 seasons as a year, a full rotation around the sun. We’ve also divided the passing of light to the lack thereof as days, a rotation of the earth on itself. Moving on to more precise clock divisions such as seconds, minutes, and hours, units that meant different things at different points in history. Ultimately, as travel got faster, the different ways of counting time that evolved in multiple places had to converge. People had to agree on what it all meant.</p>
</blockquote>

<p>See the article for more</p>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://github.com/openzfs/zfs/commit/0929c4de398606f8305057ca540cf577e6771c30" target="_blank" rel="nofollow noopener">Improve ZVOL sync write performance by using a taskq</a></h3>

<hr>

<h3><a href="https://blog.socruel.nu/freebsd/a-central-log-host-with-syslog-ng-on-freebsd.html" target="_blank" rel="nofollow noopener">A central log host with syslog-ng on FreeBSD - Part 1</a></h3>

<blockquote>
<p>syslog-ng is the Swiss army knife of log management. You can collect logs from any source, process them in real time and deliver them to wide range of destinations. It allows you to flexibly collect, parse, classify, rewrite and correlate logs from across your infrastructure. This is why syslog-ng is the perfect solution for the central log host of my (mainly) FreeBSD based infrastructure.</p>
</blockquote>

<hr>

<h3><a href="https://mail-index.netbsd.org/current-users/2020/05/01/msg038495.html" target="_blank" rel="nofollow noopener">HEADS UP: NetBSD Entropy Overhaul</a></h3>

<blockquote>
<p>This week I committed an overhaul of the kernel entropy system.  Please let me know if you observe any snags!  For the technical background, see the thread on tech-kern a few months ago: <a href="https://mail-index.NetBSD.org/tech-kern/2019/12/21/msg025876.html" target="_blank" rel="nofollow noopener">https://mail-index.NetBSD.org/tech-kern/2019/12/21/msg025876.html</a>.</p>
</blockquote>

<hr>

<h3><a href="https://adityapadala.com/2020/04/20/Setting-Up-NetBSD-Kernel-Dev-Environment/" target="_blank" rel="nofollow noopener">Setting Up NetBSD Kernel Dev Environment</a></h3>

<blockquote>
<p>I used T_PAGEFLT’s blog post as a reference for setting my NetBSD kernel development environment since his website is down I’m putting down the steps here so it would be helpful for starters.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2020/05/04/24480.html" target="_blank" rel="nofollow noopener">You can now use ccache to speed up dsynth even more.</a></li>
<li><a href="http://blog.netbsd.org/tnf/entry/improving_libossaudio_and_the_future" target="_blank" rel="nofollow noopener">Improving libossaudio, and the future of OSS in NetBSD</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2020-April/769021.html" target="_blank" rel="nofollow noopener">DragonFlyBSD DHCPCD Import dhcpcd-9.0.2 with the following changes</a></li>
<li><a href="https://wiki.freebsd.org/OfficeHours" target="_blank" rel="nofollow noopener">Reminder: watch this space for upcoming FreeBSD Office Hours, next is May 13th at 2pm Eastern, 18:00 UTC</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Ghislain - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/349/feedback/Ghislain%20-%20ZFS%20Question.md" target="_blank" rel="nofollow noopener">ZFS Question</a></li>
<li>Jake - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/349/feedback/Jake%20-%20Paypal%20Donations.md" target="_blank" rel="nofollow noopener">Paypal Donations</a></li>
<li>Oswin - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/349/feedback/Oswin%20-%20Hammer%20tutorial.md" target="_blank" rel="nofollow noopener">Hammer tutorial</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0348.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>348: BSD Community Collections</title>
  <link>https://www.bsdnow.tv/348</link>
  <guid isPermaLink="false">ed288ede-fe94-433f-85a4-6eebb8cb2478</guid>
  <pubDate>Thu, 30 Apr 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ed288ede-fe94-433f-85a4-6eebb8cb2478.mp3" length="43398814" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FuryBSD 2020Q2 Images Available, Technical reasons to choose FreeBSD over GNU/Linux, Ars technica reviews GhostBSD, “TLS Mastery” sponsorships open, BSD community show their various collections, a tale of OpenBSD secure memory allocator internals, learn to stop worrying and love SSDs, and more.</itunes:subtitle>
  <itunes:duration>1:00:16</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>&lt;p&gt;FuryBSD 2020Q2 Images Available, Technical reasons to choose FreeBSD over GNU/Linux, Ars technica reviews GhostBSD, “TLS Mastery” sponsorships open, BSD community show their various collections, a tale of OpenBSD secure memory allocator internals, learn to stop worrying and love SSDs, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.furybsd.org/furybsd-2020-q2-images-are-available-for-xfce-and-kde/" target="_blank" rel="nofollow noopener"&gt;FuryBSD 2020Q2 Images Available for XFCE and KDE&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The Q2 2020 images are not a visible leap forward but a functional leap forward.  Most effort was spent creating a better out of box experience for automatic Ethernet configuration, working WiFi, webcam, and improved hypervisor support. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://unixsheikh.com/articles/technical-reasons-to-choose-freebsd-over-linux.html" target="_blank" rel="nofollow noopener"&gt;Technical reasons to choose FreeBSD over GNU/Linux&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Since I wrote my article "Why you should migrate everything from Linux to BSD" I have been wanting to write something about the technical reasons to choose FreeBSD over GNU/Linux and while I cannot possibly cover every single reason, I can write about some of the things that I consider worth noting.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;+ &lt;a href="https://arstechnica.com/gadgets/2020/04/not-actually-linux-distro-review-deux-ghostbsd/" target="_blank" rel="nofollow noopener"&gt;Not actually Linux distro review deux: GhostBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;When I began work on the FreeBSD 12.1-RELEASE review last week, it didn't take long to figure out that the desktop portion wasn't going very smoothly.&lt;/p&gt;

&lt;p&gt;I think it's important for BSD-curious users to know of easier, gentler alternatives, so I did a little looking around and settled on GhostBSD for a follow-up review.&lt;/p&gt;

&lt;p&gt;GhostBSD is based on TrueOS, which itself derives from FreeBSD Stable. It was originally a Canadian distro, but—like most successful distributions—it has transcended its country of origin and can now be considered worldwide. Significant GhostBSD development takes place now in Canada, Italy, Germany, and the United States.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mwl.io/archives/6265" target="_blank" rel="nofollow noopener"&gt;“TLS Mastery” sponsorships open&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;My next book will be TLS Mastery, all about Transport Layer Encryption, Let’s Encrypt, OCSP, and so on.&lt;/p&gt;

&lt;p&gt;This should be a shorter book, more like my DNSSEC or Tarsnap titles, or the first edition of Sudo Mastery. I would like a break from writing doorstops like the SNMP and jails books.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;JT (our producer) shared his Open Source Retail Box Collection on twitter this past weekend and there was a nice response from a few in the BSD Community showing their collections:&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;JT's post: &lt;a href="https://twitter.com/q5sys/status/1251194823589138432" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/q5sys/status/1251194823589138432&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;High Resolution Image to see the bottom shelf better: &lt;a href="https://photos.smugmug.com/photos/i-9QTs2RR/0/f1742096/O/i-9QTs2RR.jpg" target="_blank" rel="nofollow noopener"&gt;https://photos.smugmug.com/photos/i-9QTs2RR/0/f1742096/O/i-9QTs2RR.jpg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Closeup of the BSD Section: &lt;a href="https://twitter.com/q5sys/status/1251294290782928897" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/q5sys/status/1251294290782928897&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Others jumped in with their collections:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deb Goodkin's collection: &lt;a href="https://twitter.com/dgoodkin/status/1251294016139743232" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/dgoodkin/status/1251294016139743232&lt;/a&gt; &amp;amp; &lt;a href="https://twitter.com/dgoodkin/status/1251298125672660992" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/dgoodkin/status/1251298125672660992&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;FreeBSD Frau's FreeBSD Collection: &lt;a href="https://twitter.com/freebsdfrau/status/1251290430475350018" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/freebsdfrau/status/1251290430475350018&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jason Tubnor's OpenBSD Collection: &lt;a href="https://twitter.com/Tubsta/status/1251265902214918144" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/Tubsta/status/1251265902214918144&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do you have a nice collection, take a picture and send it in!&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsdb0y.github.io/blog/deep-dive-into-the-OpenBSD-malloc-and-friends-internals-part-1.html" target="_blank" rel="nofollow noopener"&gt;Tale of OpenBSD secure memory allocator internals - malloc(3)&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Hi there,&lt;/p&gt;

&lt;p&gt;It's been a very long time I haven't written anything after my last OpenBSD blogs, that is, &lt;/p&gt;

&lt;p&gt;OpenBSD Kernel Internals — Creation of process from user-space to kernel space.&lt;/p&gt;

&lt;p&gt;OpenBSD: Introduction to &lt;code&gt;execpromises&lt;/code&gt; in the pledge(2)&lt;/p&gt;

&lt;p&gt;pledge(2): OpenBSD's defensive approach to OS Security&lt;/p&gt;

&lt;p&gt;So, again I started reading OpenBSD source codes with debugger after reducing my sleep timings and managing to get some time after professional life. This time I have picked one of my favourite item from my wishlist to learn and share, that is, OpenBSD malloc(3), secure allocator&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/community/threads/how-i-learned-to-stop-worrying-and-love-ssds.82617/" target="_blank" rel="nofollow noopener"&gt;How I learned to stop worrying and love SSDs&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;my home FreeNAS runs two pools for data. One RAIDZ2 with four spinning disk drives and one mirror with two SSDs. Toying with InfluxDB and Grafana in the last couple of days I found that I seem to have a constant write load of 1 Megabyte (!) per second on the SSDs. What the ...?&lt;/p&gt;

&lt;p&gt;So I run three VMs on the SSDs in total. One with Windows 10, two with Ubuntu running Confluence, A wiki essentially, with files for attachments and MySQL as the backend database. Clearly the writes had to stop when the wikis were not used at all, just sitting idle, right?&lt;/p&gt;

&lt;p&gt;Well even with a full query log and quite some experience in the operation of web applications I could not figure out what Confluence is doing (productively, no doubt) but trust me, it writes a couple of hundred kbytes to the database each second just sitting idle.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://chown.me/blog/infrastructure-2019.html" target="_blank" rel="nofollow noopener"&gt;My infrastructure as of 2019&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I've wanted to write about my infrastructure for a while, but I kept thinking, "I'll wait until after I've done $next_thing_on_my_todo." Of course this cycle never ends, so I decided to write about its state at the end of 2019. Maybe I'll write an update on it in a couple of moons; who knows?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;For something different than our usual Beastie Bits… we bring you…&lt;/h2&gt;

&lt;h2&gt;We're all quarantined so lets install BSD on things!  Install BSD on something this week, write it up and let us know about it, and maybe we'll feature you!&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://e17i.github.io/articles-netbsd-install/" target="_blank" rel="nofollow noopener"&gt;Installation of NetBSD on a Mac Mini&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://icyphox.sh/blog/openbsd-hp-envy/" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the HP Envy 13&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.rs-online.com/designspark/install-netbsd-on-a-vintage-computer" target="_blank" rel="nofollow noopener"&gt;Install NetBSD on a Vintage Computer&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://twitter.com/allanjude/status/1251895348836143104" target="_blank" rel="nofollow noopener"&gt;BSDCan Home Lab Panel recording session: May 5th at 18:00 UTC&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://wiki.freebsd.org/OfficeHours" target="_blank" rel="nofollow noopener"&gt;Allan started a series of FreeBSD Office Hours&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;BSDNow is going Independent&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;After being part of Jupiter Broadcasting since we started back in 2013, BSDNow is moving to become independent. We extend a very large thank you to Jupiter Broadcasting and Linux Academy for hosting us for so many years, and allowing us to bring you over 100 episodes without advertisements.
What does this mean for you, the listener? Not much will change, just make sure your subscription is via the RSS feed at BSDNow.tv rather than one of the Jupiter Broadcasting feeds. We will update you with more news as things settle out.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Todd - &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/348/feedback/Todd%20-%20LinusTechTips'%20claims%20on%20ZFS.md" target="_blank" rel="nofollow noopener"&gt;LinusTechTips Claims about ZFS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0348.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, furybsd, kde, xfce, GhostBSD, Ars Technica, TLS, tls mastery, tls mastery book, book sponsorship, collections, secure memory allocator, internals, memory allocator, memory allocator internals, ssd, solid state drive</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FuryBSD 2020Q2 Images Available, Technical reasons to choose FreeBSD over GNU/Linux, Ars technica reviews GhostBSD, “TLS Mastery” sponsorships open, BSD community show their various collections, a tale of OpenBSD secure memory allocator internals, learn to stop worrying and love SSDs, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.furybsd.org/furybsd-2020-q2-images-are-available-for-xfce-and-kde/" target="_blank" rel="nofollow noopener">FuryBSD 2020Q2 Images Available for XFCE and KDE</a></h3>

<blockquote>
<p>The Q2 2020 images are not a visible leap forward but a functional leap forward.  Most effort was spent creating a better out of box experience for automatic Ethernet configuration, working WiFi, webcam, and improved hypervisor support. </p>
</blockquote>

<hr>

<h3><a href="https://unixsheikh.com/articles/technical-reasons-to-choose-freebsd-over-linux.html" target="_blank" rel="nofollow noopener">Technical reasons to choose FreeBSD over GNU/Linux</a></h3>

<blockquote>
<p>Since I wrote my article "Why you should migrate everything from Linux to BSD" I have been wanting to write something about the technical reasons to choose FreeBSD over GNU/Linux and while I cannot possibly cover every single reason, I can write about some of the things that I consider worth noting.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3>+ <a href="https://arstechnica.com/gadgets/2020/04/not-actually-linux-distro-review-deux-ghostbsd/" target="_blank" rel="nofollow noopener">Not actually Linux distro review deux: GhostBSD</a></h3>

<blockquote>
<p>When I began work on the FreeBSD 12.1-RELEASE review last week, it didn't take long to figure out that the desktop portion wasn't going very smoothly.</p>

<p>I think it's important for BSD-curious users to know of easier, gentler alternatives, so I did a little looking around and settled on GhostBSD for a follow-up review.</p>

<p>GhostBSD is based on TrueOS, which itself derives from FreeBSD Stable. It was originally a Canadian distro, but—like most successful distributions—it has transcended its country of origin and can now be considered worldwide. Significant GhostBSD development takes place now in Canada, Italy, Germany, and the United States.</p>
</blockquote>

<hr>

<h3><a href="https://mwl.io/archives/6265" target="_blank" rel="nofollow noopener">“TLS Mastery” sponsorships open</a></h3>

<blockquote>
<p>My next book will be TLS Mastery, all about Transport Layer Encryption, Let’s Encrypt, OCSP, and so on.</p>

<p>This should be a shorter book, more like my DNSSEC or Tarsnap titles, or the first edition of Sudo Mastery. I would like a break from writing doorstops like the SNMP and jails books.</p>
</blockquote>

<hr>

<h3>JT (our producer) shared his Open Source Retail Box Collection on twitter this past weekend and there was a nice response from a few in the BSD Community showing their collections:</h3>

<ul>
<li><p>JT's post: <a href="https://twitter.com/q5sys/status/1251194823589138432" target="_blank" rel="nofollow noopener">https://twitter.com/q5sys/status/1251194823589138432</a></p>

<ul>
<li>High Resolution Image to see the bottom shelf better: <a href="https://photos.smugmug.com/photos/i-9QTs2RR/0/f1742096/O/i-9QTs2RR.jpg" target="_blank" rel="nofollow noopener">https://photos.smugmug.com/photos/i-9QTs2RR/0/f1742096/O/i-9QTs2RR.jpg</a></li>
<li>Closeup of the BSD Section: <a href="https://twitter.com/q5sys/status/1251294290782928897" target="_blank" rel="nofollow noopener">https://twitter.com/q5sys/status/1251294290782928897</a></li>
</ul></li>
<li><p>Others jumped in with their collections:</p>

<ul>
<li>Deb Goodkin's collection: <a href="https://twitter.com/dgoodkin/status/1251294016139743232" target="_blank" rel="nofollow noopener">https://twitter.com/dgoodkin/status/1251294016139743232</a> &amp; <a href="https://twitter.com/dgoodkin/status/1251298125672660992" target="_blank" rel="nofollow noopener">https://twitter.com/dgoodkin/status/1251298125672660992</a></li>
<li>FreeBSD Frau's FreeBSD Collection: <a href="https://twitter.com/freebsdfrau/status/1251290430475350018" target="_blank" rel="nofollow noopener">https://twitter.com/freebsdfrau/status/1251290430475350018</a></li>
<li>Jason Tubnor's OpenBSD Collection: <a href="https://twitter.com/Tubsta/status/1251265902214918144" target="_blank" rel="nofollow noopener">https://twitter.com/Tubsta/status/1251265902214918144</a></li>
</ul></li>
</ul>

<p>Do you have a nice collection, take a picture and send it in!</p>

<hr>

<h3><a href="https://bsdb0y.github.io/blog/deep-dive-into-the-OpenBSD-malloc-and-friends-internals-part-1.html" target="_blank" rel="nofollow noopener">Tale of OpenBSD secure memory allocator internals - malloc(3)</a></h3>

<blockquote>
<p>Hi there,</p>

<p>It's been a very long time I haven't written anything after my last OpenBSD blogs, that is, </p>

<p>OpenBSD Kernel Internals — Creation of process from user-space to kernel space.</p>

<p>OpenBSD: Introduction to <code>execpromises</code> in the pledge(2)</p>

<p>pledge(2): OpenBSD's defensive approach to OS Security</p>

<p>So, again I started reading OpenBSD source codes with debugger after reducing my sleep timings and managing to get some time after professional life. This time I have picked one of my favourite item from my wishlist to learn and share, that is, OpenBSD malloc(3), secure allocator</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/community/threads/how-i-learned-to-stop-worrying-and-love-ssds.82617/" target="_blank" rel="nofollow noopener">How I learned to stop worrying and love SSDs</a></h3>

<blockquote>
<p>my home FreeNAS runs two pools for data. One RAIDZ2 with four spinning disk drives and one mirror with two SSDs. Toying with InfluxDB and Grafana in the last couple of days I found that I seem to have a constant write load of 1 Megabyte (!) per second on the SSDs. What the ...?</p>

<p>So I run three VMs on the SSDs in total. One with Windows 10, two with Ubuntu running Confluence, A wiki essentially, with files for attachments and MySQL as the backend database. Clearly the writes had to stop when the wikis were not used at all, just sitting idle, right?</p>

<p>Well even with a full query log and quite some experience in the operation of web applications I could not figure out what Confluence is doing (productively, no doubt) but trust me, it writes a couple of hundred kbytes to the database each second just sitting idle.</p>
</blockquote>

<hr>

<h3><a href="https://chown.me/blog/infrastructure-2019.html" target="_blank" rel="nofollow noopener">My infrastructure as of 2019</a></h3>

<blockquote>
<p>I've wanted to write about my infrastructure for a while, but I kept thinking, "I'll wait until after I've done $next_thing_on_my_todo." Of course this cycle never ends, so I decided to write about its state at the end of 2019. Maybe I'll write an update on it in a couple of moons; who knows?</p>
</blockquote>

<hr>

<h2>For something different than our usual Beastie Bits… we bring you…</h2>

<h2>We're all quarantined so lets install BSD on things!  Install BSD on something this week, write it up and let us know about it, and maybe we'll feature you!</h2>

<ul>
<li><p><a href="https://e17i.github.io/articles-netbsd-install/" target="_blank" rel="nofollow noopener">Installation of NetBSD on a Mac Mini</a></p></li>
<li><p><a href="https://icyphox.sh/blog/openbsd-hp-envy/" target="_blank" rel="nofollow noopener">OpenBSD on the HP Envy 13</a></p></li>
<li><p><a href="https://www.rs-online.com/designspark/install-netbsd-on-a-vintage-computer" target="_blank" rel="nofollow noopener">Install NetBSD on a Vintage Computer</a></p></li>
<li><p><a href="https://twitter.com/allanjude/status/1251895348836143104" target="_blank" rel="nofollow noopener">BSDCan Home Lab Panel recording session: May 5th at 18:00 UTC</a></p></li>
<li><p><a href="https://wiki.freebsd.org/OfficeHours" target="_blank" rel="nofollow noopener">Allan started a series of FreeBSD Office Hours</a></p></li>
</ul>

<hr>

<h2>BSDNow is going Independent</h2>

<ul>
<li>After being part of Jupiter Broadcasting since we started back in 2013, BSDNow is moving to become independent. We extend a very large thank you to Jupiter Broadcasting and Linux Academy for hosting us for so many years, and allowing us to bring you over 100 episodes without advertisements.
What does this mean for you, the listener? Not much will change, just make sure your subscription is via the RSS feed at BSDNow.tv rather than one of the Jupiter Broadcasting feeds. We will update you with more news as things settle out.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Todd - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/348/feedback/Todd%20-%20LinusTechTips'%20claims%20on%20ZFS.md" target="_blank" rel="nofollow noopener">LinusTechTips Claims about ZFS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0348.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FuryBSD 2020Q2 Images Available, Technical reasons to choose FreeBSD over GNU/Linux, Ars technica reviews GhostBSD, “TLS Mastery” sponsorships open, BSD community show their various collections, a tale of OpenBSD secure memory allocator internals, learn to stop worrying and love SSDs, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.furybsd.org/furybsd-2020-q2-images-are-available-for-xfce-and-kde/" target="_blank" rel="nofollow noopener">FuryBSD 2020Q2 Images Available for XFCE and KDE</a></h3>

<blockquote>
<p>The Q2 2020 images are not a visible leap forward but a functional leap forward.  Most effort was spent creating a better out of box experience for automatic Ethernet configuration, working WiFi, webcam, and improved hypervisor support. </p>
</blockquote>

<hr>

<h3><a href="https://unixsheikh.com/articles/technical-reasons-to-choose-freebsd-over-linux.html" target="_blank" rel="nofollow noopener">Technical reasons to choose FreeBSD over GNU/Linux</a></h3>

<blockquote>
<p>Since I wrote my article "Why you should migrate everything from Linux to BSD" I have been wanting to write something about the technical reasons to choose FreeBSD over GNU/Linux and while I cannot possibly cover every single reason, I can write about some of the things that I consider worth noting.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3>+ <a href="https://arstechnica.com/gadgets/2020/04/not-actually-linux-distro-review-deux-ghostbsd/" target="_blank" rel="nofollow noopener">Not actually Linux distro review deux: GhostBSD</a></h3>

<blockquote>
<p>When I began work on the FreeBSD 12.1-RELEASE review last week, it didn't take long to figure out that the desktop portion wasn't going very smoothly.</p>

<p>I think it's important for BSD-curious users to know of easier, gentler alternatives, so I did a little looking around and settled on GhostBSD for a follow-up review.</p>

<p>GhostBSD is based on TrueOS, which itself derives from FreeBSD Stable. It was originally a Canadian distro, but—like most successful distributions—it has transcended its country of origin and can now be considered worldwide. Significant GhostBSD development takes place now in Canada, Italy, Germany, and the United States.</p>
</blockquote>

<hr>

<h3><a href="https://mwl.io/archives/6265" target="_blank" rel="nofollow noopener">“TLS Mastery” sponsorships open</a></h3>

<blockquote>
<p>My next book will be TLS Mastery, all about Transport Layer Encryption, Let’s Encrypt, OCSP, and so on.</p>

<p>This should be a shorter book, more like my DNSSEC or Tarsnap titles, or the first edition of Sudo Mastery. I would like a break from writing doorstops like the SNMP and jails books.</p>
</blockquote>

<hr>

<h3>JT (our producer) shared his Open Source Retail Box Collection on twitter this past weekend and there was a nice response from a few in the BSD Community showing their collections:</h3>

<ul>
<li><p>JT's post: <a href="https://twitter.com/q5sys/status/1251194823589138432" target="_blank" rel="nofollow noopener">https://twitter.com/q5sys/status/1251194823589138432</a></p>

<ul>
<li>High Resolution Image to see the bottom shelf better: <a href="https://photos.smugmug.com/photos/i-9QTs2RR/0/f1742096/O/i-9QTs2RR.jpg" target="_blank" rel="nofollow noopener">https://photos.smugmug.com/photos/i-9QTs2RR/0/f1742096/O/i-9QTs2RR.jpg</a></li>
<li>Closeup of the BSD Section: <a href="https://twitter.com/q5sys/status/1251294290782928897" target="_blank" rel="nofollow noopener">https://twitter.com/q5sys/status/1251294290782928897</a></li>
</ul></li>
<li><p>Others jumped in with their collections:</p>

<ul>
<li>Deb Goodkin's collection: <a href="https://twitter.com/dgoodkin/status/1251294016139743232" target="_blank" rel="nofollow noopener">https://twitter.com/dgoodkin/status/1251294016139743232</a> &amp; <a href="https://twitter.com/dgoodkin/status/1251298125672660992" target="_blank" rel="nofollow noopener">https://twitter.com/dgoodkin/status/1251298125672660992</a></li>
<li>FreeBSD Frau's FreeBSD Collection: <a href="https://twitter.com/freebsdfrau/status/1251290430475350018" target="_blank" rel="nofollow noopener">https://twitter.com/freebsdfrau/status/1251290430475350018</a></li>
<li>Jason Tubnor's OpenBSD Collection: <a href="https://twitter.com/Tubsta/status/1251265902214918144" target="_blank" rel="nofollow noopener">https://twitter.com/Tubsta/status/1251265902214918144</a></li>
</ul></li>
</ul>

<p>Do you have a nice collection, take a picture and send it in!</p>

<hr>

<h3><a href="https://bsdb0y.github.io/blog/deep-dive-into-the-OpenBSD-malloc-and-friends-internals-part-1.html" target="_blank" rel="nofollow noopener">Tale of OpenBSD secure memory allocator internals - malloc(3)</a></h3>

<blockquote>
<p>Hi there,</p>

<p>It's been a very long time I haven't written anything after my last OpenBSD blogs, that is, </p>

<p>OpenBSD Kernel Internals — Creation of process from user-space to kernel space.</p>

<p>OpenBSD: Introduction to <code>execpromises</code> in the pledge(2)</p>

<p>pledge(2): OpenBSD's defensive approach to OS Security</p>

<p>So, again I started reading OpenBSD source codes with debugger after reducing my sleep timings and managing to get some time after professional life. This time I have picked one of my favourite item from my wishlist to learn and share, that is, OpenBSD malloc(3), secure allocator</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/community/threads/how-i-learned-to-stop-worrying-and-love-ssds.82617/" target="_blank" rel="nofollow noopener">How I learned to stop worrying and love SSDs</a></h3>

<blockquote>
<p>my home FreeNAS runs two pools for data. One RAIDZ2 with four spinning disk drives and one mirror with two SSDs. Toying with InfluxDB and Grafana in the last couple of days I found that I seem to have a constant write load of 1 Megabyte (!) per second on the SSDs. What the ...?</p>

<p>So I run three VMs on the SSDs in total. One with Windows 10, two with Ubuntu running Confluence, A wiki essentially, with files for attachments and MySQL as the backend database. Clearly the writes had to stop when the wikis were not used at all, just sitting idle, right?</p>

<p>Well even with a full query log and quite some experience in the operation of web applications I could not figure out what Confluence is doing (productively, no doubt) but trust me, it writes a couple of hundred kbytes to the database each second just sitting idle.</p>
</blockquote>

<hr>

<h3><a href="https://chown.me/blog/infrastructure-2019.html" target="_blank" rel="nofollow noopener">My infrastructure as of 2019</a></h3>

<blockquote>
<p>I've wanted to write about my infrastructure for a while, but I kept thinking, "I'll wait until after I've done $next_thing_on_my_todo." Of course this cycle never ends, so I decided to write about its state at the end of 2019. Maybe I'll write an update on it in a couple of moons; who knows?</p>
</blockquote>

<hr>

<h2>For something different than our usual Beastie Bits… we bring you…</h2>

<h2>We're all quarantined so lets install BSD on things!  Install BSD on something this week, write it up and let us know about it, and maybe we'll feature you!</h2>

<ul>
<li><p><a href="https://e17i.github.io/articles-netbsd-install/" target="_blank" rel="nofollow noopener">Installation of NetBSD on a Mac Mini</a></p></li>
<li><p><a href="https://icyphox.sh/blog/openbsd-hp-envy/" target="_blank" rel="nofollow noopener">OpenBSD on the HP Envy 13</a></p></li>
<li><p><a href="https://www.rs-online.com/designspark/install-netbsd-on-a-vintage-computer" target="_blank" rel="nofollow noopener">Install NetBSD on a Vintage Computer</a></p></li>
<li><p><a href="https://twitter.com/allanjude/status/1251895348836143104" target="_blank" rel="nofollow noopener">BSDCan Home Lab Panel recording session: May 5th at 18:00 UTC</a></p></li>
<li><p><a href="https://wiki.freebsd.org/OfficeHours" target="_blank" rel="nofollow noopener">Allan started a series of FreeBSD Office Hours</a></p></li>
</ul>

<hr>

<h2>BSDNow is going Independent</h2>

<ul>
<li>After being part of Jupiter Broadcasting since we started back in 2013, BSDNow is moving to become independent. We extend a very large thank you to Jupiter Broadcasting and Linux Academy for hosting us for so many years, and allowing us to bring you over 100 episodes without advertisements.
What does this mean for you, the listener? Not much will change, just make sure your subscription is via the RSS feed at BSDNow.tv rather than one of the Jupiter Broadcasting feeds. We will update you with more news as things settle out.</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Todd - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/348/feedback/Todd%20-%20LinusTechTips'%20claims%20on%20ZFS.md" target="_blank" rel="nofollow noopener">LinusTechTips Claims about ZFS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0348.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>347: New Directions</title>
  <link>https://www.bsdnow.tv/347</link>
  <guid isPermaLink="false">25cb0a70-b178-4702-8e8f-a8e7427a9ae2</guid>
  <pubDate>Thu, 23 Apr 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/25cb0a70-b178-4702-8e8f-a8e7427a9ae2.mp3" length="43806325" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Rethinking OpenBSD security, FreeBSD 2020 Q1 status report, the notion of progress and user interfaces, Comments about Thomas E. Dickey on NetBSD curses, making Unix a little more Plan9-like, Not-actually Linux distro review: FreeBSD, and more.</itunes:subtitle>
  <itunes:duration>1:00:50</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>&lt;p&gt;Rethinking OpenBSD security, FreeBSD 2020 Q1 status report, the notion of progress and user interfaces, Comments about Thomas E. Dickey on NetBSD curses, making Unix a little more Plan9-like, Not-actually Linux distro review: FreeBSD, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://flak.tedunangst.com/post/rethinking-openbsd-security" target="_blank" rel="nofollow noopener"&gt;Rethinking OpenBSD Security&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenBSD aims to be a secure operating system. In the past few months there were quite a few security errata, however. That’s not too unusual, but some of the recent ones were a bit special. One might even say bad. The OpenBSD approach to security has a few aspects, two of which might be avoiding errors and minimizing the risk of mistakes. Other people have other ideas about how to build secure systems. I think it’s worth examining whether the OpenBSD approach works, or if this is evidence that it’s doomed to failure.&lt;br&gt;
I picked a few errata, not all of them, that were interesting and happened to suit my narrative.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2020-01-2020-03.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 2020 Q1 Quarterly report&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Welcome, to the quarterly reports, of the future! Well, at least the first quarterly report from 2020. The new timeline, mentioned in the last few reports, still holds, which brings us to this report, which covers the period of January 2020 - March 2020.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://herebeseaswines.net/essays/2020-04-13-the-notion-of-progress-and-user-interfaces" target="_blank" rel="nofollow noopener"&gt;The Notion of Progress and User Interfaces&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;One trait of modern Western culture is the notion of progress. A view claiming, at large, everything is getting better and better.&lt;/p&gt;

&lt;p&gt;How should we think about progress? Both in general and regarding technology?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://implementality.blogspot.com/2020/04/thomas-e-dickey-on-netbsd-curses.html" target="_blank" rel="nofollow noopener"&gt;Thomas E. Dickey on NetBSD curses&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I was recently pointed at a web page on Thomas E. Dickeys site talking about NetBSD curses.  It seems initially that the page was intended to be a pointer to some differences between ncurses and NetBSD curses and does appear to start off in this vein but it seems that the author has lost the plot as the document evolved and the tail end of it seems to be devolving into some sort of slanging match.  I don't want to go through Mr. Dickey's document point by point, that would be tedious but I would like to pick out some of the things that I believe to be the most egregious.  Please note that even though I am a NetBSD developer, the opinions below are my own and not the NetBSD projects.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://woozle.org/papers/plan9.html" target="_blank" rel="nofollow noopener"&gt;Making Unix a little more Plan9-like&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m not really interested in defending anything. I tried out plan9port and liked it, but I have to live in Unix land. Here’s how I set that up.&lt;/p&gt;

&lt;p&gt;A Warning&lt;/p&gt;

&lt;p&gt;The suckless community, and some of the plan9 communities, are dominated by jackasses. I hope that’s strong enough wording to impress the severity. Don’t go into IRC for help. Stay off the suckless email list. The software is great, the people who write it are well-spoken and well-reasoned, but for some reason the fandom is horrible to everyone.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://arstechnica.com/gadgets/2020/04/not-actually-linux-distro-review-freebsd-12-1-release/" target="_blank" rel="nofollow noopener"&gt;Not-actually Linux distro review: FreeBSD 12.1-RELEASE&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This month's Linux distro review isn't of a Linux distribution at all—instead, we're taking a look at FreeBSD, the original gangster of free Unix-like operating systems.&lt;/p&gt;

&lt;p&gt;The first FreeBSD release was in 1993, but the operating system's roots go further back—considerably further back. FreeBSD started out in 1992 as a patch-release of Bill and Lynne Jolitz's 386BSD—but 386BSD itself came from the original Berkeley Software Distribution (BSD). BSD itself goes back to 1977—for reference, Linus Torvalds was only seven years old then.&lt;/p&gt;

&lt;p&gt;Before we get started, I'd like to acknowledge something up front—our distro reviews include the desktop experience, and that is very much not FreeBSD's strength. FreeBSD is far, far better suited to running as a headless server than as a desktop! We're going to get a full desktop running on it anyway, because according to Lee Hutchinson, I hate myself—and also because we can't imagine readers wouldn't care about it.&lt;/p&gt;

&lt;p&gt;FreeBSD does not provide a good desktop experience, to say the least. But if you're hankering for a BSD-based desktop, don't worry—we're already planning a followup review of GhostBSD, a desktop-focused BSD distribution.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/wifi_renewal_restarted" target="_blank" rel="nofollow noopener"&gt;Wifi renewal restarted&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2020/04/21/24421.html" target="_blank" rel="nofollow noopener"&gt;HAMMER2 and a quick start for DragonFly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://netbsd.org/%7Ekamil/AsiaBSDCon/Kamil_Rytarowski_Engineering_NetBSD_9.0.pdf" target="_blank" rel="nofollow noopener"&gt;Engineering NetBSD 9.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=94vz_-5lAkE" target="_blank" rel="nofollow noopener"&gt;Antivirus Protection using OPNsense Plugins&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/allanjude/status/1251895348836143104" target="_blank" rel="nofollow noopener"&gt;BSDCan Home Lab Panel recording session: May 5th at 18:00 UTC&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;BSDNow is going Independent&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;After being part of Jupiter Broadcasting since we started back in 2013, BSDNow is moving to become independent. We extend a very large thank you to Jupiter Broadcasting and Linux Academy for hosting us for so many years, and allowing us to bring you over 100 episodes without advertisements. LinuxAcademy is now under new leadership, and we understand that cutbacks needed to be made, and that BSD is not their core product. That does not mean your favourite BSD podcast is going away, we will continue and we expect things will not look much different. 
What does this mean for you, the listener? Not much will change, just make sure your subscription is via the RSS feed at BSDNow.tv rather than one of the Jupiter Broadcasting feeds. We will update you with more news as things settle out.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Jordyn - &lt;a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/347/feedback/Jordyn%20zfs%20pool%20problem.md" target="_blank" rel="nofollow noopener"&gt;ZFS Pool Problem&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;debug - &lt;a href="https://github.com/BSDNow/bsdnow.tv/raw/master/episodes/347/feedback/dbg.txt" target="_blank" rel="nofollow noopener"&gt;https://github.com/BSDNow/bsdnow.tv/raw/master/episodes/347/feedback/dbg.txt&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0347.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, security, status report, status, Q1, Q1 2020, progress, UI, user interface, Thomas Dickey, Thomas E. Dickey, curses, plan 9, distro, review, distro review, ars technica</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Rethinking OpenBSD security, FreeBSD 2020 Q1 status report, the notion of progress and user interfaces, Comments about Thomas E. Dickey on NetBSD curses, making Unix a little more Plan9-like, Not-actually Linux distro review: FreeBSD, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://flak.tedunangst.com/post/rethinking-openbsd-security" target="_blank" rel="nofollow noopener">Rethinking OpenBSD Security</a></h3>

<blockquote>
<p>OpenBSD aims to be a secure operating system. In the past few months there were quite a few security errata, however. That’s not too unusual, but some of the recent ones were a bit special. One might even say bad. The OpenBSD approach to security has a few aspects, two of which might be avoiding errors and minimizing the risk of mistakes. Other people have other ideas about how to build secure systems. I think it’s worth examining whether the OpenBSD approach works, or if this is evidence that it’s doomed to failure.<br>
I picked a few errata, not all of them, that were interesting and happened to suit my narrative.</p>
</blockquote>

<hr>

<h3><a href="https://www.freebsd.org/news/status/report-2020-01-2020-03.html" target="_blank" rel="nofollow noopener">FreeBSD 2020 Q1 Quarterly report</a></h3>

<blockquote>
<p>Welcome, to the quarterly reports, of the future! Well, at least the first quarterly report from 2020. The new timeline, mentioned in the last few reports, still holds, which brings us to this report, which covers the period of January 2020 - March 2020.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://herebeseaswines.net/essays/2020-04-13-the-notion-of-progress-and-user-interfaces" target="_blank" rel="nofollow noopener">The Notion of Progress and User Interfaces</a></h3>

<blockquote>
<p>One trait of modern Western culture is the notion of progress. A view claiming, at large, everything is getting better and better.</p>

<p>How should we think about progress? Both in general and regarding technology?</p>
</blockquote>

<hr>

<h3><a href="https://implementality.blogspot.com/2020/04/thomas-e-dickey-on-netbsd-curses.html" target="_blank" rel="nofollow noopener">Thomas E. Dickey on NetBSD curses</a></h3>

<blockquote>
<p>I was recently pointed at a web page on Thomas E. Dickeys site talking about NetBSD curses.  It seems initially that the page was intended to be a pointer to some differences between ncurses and NetBSD curses and does appear to start off in this vein but it seems that the author has lost the plot as the document evolved and the tail end of it seems to be devolving into some sort of slanging match.  I don't want to go through Mr. Dickey's document point by point, that would be tedious but I would like to pick out some of the things that I believe to be the most egregious.  Please note that even though I am a NetBSD developer, the opinions below are my own and not the NetBSD projects.</p>
</blockquote>

<hr>

<h3><a href="https://woozle.org/papers/plan9.html" target="_blank" rel="nofollow noopener">Making Unix a little more Plan9-like</a></h3>

<blockquote>
<p>I’m not really interested in defending anything. I tried out plan9port and liked it, but I have to live in Unix land. Here’s how I set that up.</p>

<p>A Warning</p>

<p>The suckless community, and some of the plan9 communities, are dominated by jackasses. I hope that’s strong enough wording to impress the severity. Don’t go into IRC for help. Stay off the suckless email list. The software is great, the people who write it are well-spoken and well-reasoned, but for some reason the fandom is horrible to everyone.</p>
</blockquote>

<hr>

<h3><a href="https://arstechnica.com/gadgets/2020/04/not-actually-linux-distro-review-freebsd-12-1-release/" target="_blank" rel="nofollow noopener">Not-actually Linux distro review: FreeBSD 12.1-RELEASE</a></h3>

<blockquote>
<p>This month's Linux distro review isn't of a Linux distribution at all—instead, we're taking a look at FreeBSD, the original gangster of free Unix-like operating systems.</p>

<p>The first FreeBSD release was in 1993, but the operating system's roots go further back—considerably further back. FreeBSD started out in 1992 as a patch-release of Bill and Lynne Jolitz's 386BSD—but 386BSD itself came from the original Berkeley Software Distribution (BSD). BSD itself goes back to 1977—for reference, Linus Torvalds was only seven years old then.</p>

<p>Before we get started, I'd like to acknowledge something up front—our distro reviews include the desktop experience, and that is very much not FreeBSD's strength. FreeBSD is far, far better suited to running as a headless server than as a desktop! We're going to get a full desktop running on it anyway, because according to Lee Hutchinson, I hate myself—and also because we can't imagine readers wouldn't care about it.</p>

<p>FreeBSD does not provide a good desktop experience, to say the least. But if you're hankering for a BSD-based desktop, don't worry—we're already planning a followup review of GhostBSD, a desktop-focused BSD distribution.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/wifi_renewal_restarted" target="_blank" rel="nofollow noopener">Wifi renewal restarted</a></li>
<li><a href="https://www.dragonflydigest.com/2020/04/21/24421.html" target="_blank" rel="nofollow noopener">HAMMER2 and a quick start for DragonFly</a></li>
<li><a href="http://netbsd.org/%7Ekamil/AsiaBSDCon/Kamil_Rytarowski_Engineering_NetBSD_9.0.pdf" target="_blank" rel="nofollow noopener">Engineering NetBSD 9.0</a></li>
<li><a href="https://www.youtube.com/watch?v=94vz_-5lAkE" target="_blank" rel="nofollow noopener">Antivirus Protection using OPNsense Plugins</a></li>
<li><a href="https://twitter.com/allanjude/status/1251895348836143104" target="_blank" rel="nofollow noopener">BSDCan Home Lab Panel recording session: May 5th at 18:00 UTC</a></li>
</ul>

<hr>

<h2>BSDNow is going Independent</h2>

<ul>
<li>After being part of Jupiter Broadcasting since we started back in 2013, BSDNow is moving to become independent. We extend a very large thank you to Jupiter Broadcasting and Linux Academy for hosting us for so many years, and allowing us to bring you over 100 episodes without advertisements. LinuxAcademy is now under new leadership, and we understand that cutbacks needed to be made, and that BSD is not their core product. That does not mean your favourite BSD podcast is going away, we will continue and we expect things will not look much different. 
What does this mean for you, the listener? Not much will change, just make sure your subscription is via the RSS feed at BSDNow.tv rather than one of the Jupiter Broadcasting feeds. We will update you with more news as things settle out.</li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><p>Jordyn - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/347/feedback/Jordyn%20zfs%20pool%20problem.md" target="_blank" rel="nofollow noopener">ZFS Pool Problem</a></p>

<ul>
<li>debug - <a href="https://github.com/BSDNow/bsdnow.tv/raw/master/episodes/347/feedback/dbg.txt" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/raw/master/episodes/347/feedback/dbg.txt</a></li>
</ul></li>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0347.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Rethinking OpenBSD security, FreeBSD 2020 Q1 status report, the notion of progress and user interfaces, Comments about Thomas E. Dickey on NetBSD curses, making Unix a little more Plan9-like, Not-actually Linux distro review: FreeBSD, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://flak.tedunangst.com/post/rethinking-openbsd-security" target="_blank" rel="nofollow noopener">Rethinking OpenBSD Security</a></h3>

<blockquote>
<p>OpenBSD aims to be a secure operating system. In the past few months there were quite a few security errata, however. That’s not too unusual, but some of the recent ones were a bit special. One might even say bad. The OpenBSD approach to security has a few aspects, two of which might be avoiding errors and minimizing the risk of mistakes. Other people have other ideas about how to build secure systems. I think it’s worth examining whether the OpenBSD approach works, or if this is evidence that it’s doomed to failure.<br>
I picked a few errata, not all of them, that were interesting and happened to suit my narrative.</p>
</blockquote>

<hr>

<h3><a href="https://www.freebsd.org/news/status/report-2020-01-2020-03.html" target="_blank" rel="nofollow noopener">FreeBSD 2020 Q1 Quarterly report</a></h3>

<blockquote>
<p>Welcome, to the quarterly reports, of the future! Well, at least the first quarterly report from 2020. The new timeline, mentioned in the last few reports, still holds, which brings us to this report, which covers the period of January 2020 - March 2020.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://herebeseaswines.net/essays/2020-04-13-the-notion-of-progress-and-user-interfaces" target="_blank" rel="nofollow noopener">The Notion of Progress and User Interfaces</a></h3>

<blockquote>
<p>One trait of modern Western culture is the notion of progress. A view claiming, at large, everything is getting better and better.</p>

<p>How should we think about progress? Both in general and regarding technology?</p>
</blockquote>

<hr>

<h3><a href="https://implementality.blogspot.com/2020/04/thomas-e-dickey-on-netbsd-curses.html" target="_blank" rel="nofollow noopener">Thomas E. Dickey on NetBSD curses</a></h3>

<blockquote>
<p>I was recently pointed at a web page on Thomas E. Dickeys site talking about NetBSD curses.  It seems initially that the page was intended to be a pointer to some differences between ncurses and NetBSD curses and does appear to start off in this vein but it seems that the author has lost the plot as the document evolved and the tail end of it seems to be devolving into some sort of slanging match.  I don't want to go through Mr. Dickey's document point by point, that would be tedious but I would like to pick out some of the things that I believe to be the most egregious.  Please note that even though I am a NetBSD developer, the opinions below are my own and not the NetBSD projects.</p>
</blockquote>

<hr>

<h3><a href="https://woozle.org/papers/plan9.html" target="_blank" rel="nofollow noopener">Making Unix a little more Plan9-like</a></h3>

<blockquote>
<p>I’m not really interested in defending anything. I tried out plan9port and liked it, but I have to live in Unix land. Here’s how I set that up.</p>

<p>A Warning</p>

<p>The suckless community, and some of the plan9 communities, are dominated by jackasses. I hope that’s strong enough wording to impress the severity. Don’t go into IRC for help. Stay off the suckless email list. The software is great, the people who write it are well-spoken and well-reasoned, but for some reason the fandom is horrible to everyone.</p>
</blockquote>

<hr>

<h3><a href="https://arstechnica.com/gadgets/2020/04/not-actually-linux-distro-review-freebsd-12-1-release/" target="_blank" rel="nofollow noopener">Not-actually Linux distro review: FreeBSD 12.1-RELEASE</a></h3>

<blockquote>
<p>This month's Linux distro review isn't of a Linux distribution at all—instead, we're taking a look at FreeBSD, the original gangster of free Unix-like operating systems.</p>

<p>The first FreeBSD release was in 1993, but the operating system's roots go further back—considerably further back. FreeBSD started out in 1992 as a patch-release of Bill and Lynne Jolitz's 386BSD—but 386BSD itself came from the original Berkeley Software Distribution (BSD). BSD itself goes back to 1977—for reference, Linus Torvalds was only seven years old then.</p>

<p>Before we get started, I'd like to acknowledge something up front—our distro reviews include the desktop experience, and that is very much not FreeBSD's strength. FreeBSD is far, far better suited to running as a headless server than as a desktop! We're going to get a full desktop running on it anyway, because according to Lee Hutchinson, I hate myself—and also because we can't imagine readers wouldn't care about it.</p>

<p>FreeBSD does not provide a good desktop experience, to say the least. But if you're hankering for a BSD-based desktop, don't worry—we're already planning a followup review of GhostBSD, a desktop-focused BSD distribution.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/wifi_renewal_restarted" target="_blank" rel="nofollow noopener">Wifi renewal restarted</a></li>
<li><a href="https://www.dragonflydigest.com/2020/04/21/24421.html" target="_blank" rel="nofollow noopener">HAMMER2 and a quick start for DragonFly</a></li>
<li><a href="http://netbsd.org/%7Ekamil/AsiaBSDCon/Kamil_Rytarowski_Engineering_NetBSD_9.0.pdf" target="_blank" rel="nofollow noopener">Engineering NetBSD 9.0</a></li>
<li><a href="https://www.youtube.com/watch?v=94vz_-5lAkE" target="_blank" rel="nofollow noopener">Antivirus Protection using OPNsense Plugins</a></li>
<li><a href="https://twitter.com/allanjude/status/1251895348836143104" target="_blank" rel="nofollow noopener">BSDCan Home Lab Panel recording session: May 5th at 18:00 UTC</a></li>
</ul>

<hr>

<h2>BSDNow is going Independent</h2>

<ul>
<li>After being part of Jupiter Broadcasting since we started back in 2013, BSDNow is moving to become independent. We extend a very large thank you to Jupiter Broadcasting and Linux Academy for hosting us for so many years, and allowing us to bring you over 100 episodes without advertisements. LinuxAcademy is now under new leadership, and we understand that cutbacks needed to be made, and that BSD is not their core product. That does not mean your favourite BSD podcast is going away, we will continue and we expect things will not look much different. 
What does this mean for you, the listener? Not much will change, just make sure your subscription is via the RSS feed at BSDNow.tv rather than one of the Jupiter Broadcasting feeds. We will update you with more news as things settle out.</li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><p>Jordyn - <a href="https://github.com/BSDNow/bsdnow.tv/blob/master/episodes/347/feedback/Jordyn%20zfs%20pool%20problem.md" target="_blank" rel="nofollow noopener">ZFS Pool Problem</a></p>

<ul>
<li>debug - <a href="https://github.com/BSDNow/bsdnow.tv/raw/master/episodes/347/feedback/dbg.txt" target="_blank" rel="nofollow noopener">https://github.com/BSDNow/bsdnow.tv/raw/master/episodes/347/feedback/dbg.txt</a></li>
</ul></li>
<li><p>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0347.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>346: Core File Tales</title>
  <link>https://www.bsdnow.tv/346</link>
  <guid isPermaLink="false">8f8d0474-abb5-4b90-955c-8d8cfd6dc489</guid>
  <pubDate>Thu, 16 Apr 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8f8d0474-abb5-4b90-955c-8d8cfd6dc489.mp3" length="40304872" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Tales from a core file, Lenovo X260 BIOS Update with OpenBSD, the problem of Unix iowait and multi-CPU machines, Hugo workflow using FreeBSD Jails, Caddy, Restic; extending NetBSD-7 branch support, a tale of two hypervisor bugs, and more.</itunes:subtitle>
  <itunes:duration>55:58</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>&lt;p&gt;Tales from a core file, Lenovo X260 BIOS Update with OpenBSD, the problem of Unix iowait and multi-CPU machines, Hugo workflow using FreeBSD Jails, Caddy, Restic; extending NetBSD-7 branch support, a tale of two hypervisor bugs, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://fingolfin.org/blog/20200327/stdio-abi.html" target="_blank" rel="nofollow noopener"&gt;Tales From a Core File - Lessons from the Unix stdio ABI: 40 Years Later&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;On the side, I’ve been wrapping up some improvements to the classic Unix stdio libraries in illumos. stdio contains the classic functions like fopen(), printf(), and the security nightmare gets(). While working on support for fmemopen() and friends I got to reacquaint myself with some of the joys of the stdio ABI and its history from 7th Edition Unix. With that in mind, let’s dive into this, history, and some mistakes not to repeat. While this is written from the perspective of the C programming language, aspects of it apply to many other languages.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/20200331/update-lenovo-x260-bios-with-openbsd/" target="_blank" rel="nofollow noopener"&gt;Update Lenovo X260 BIOS with OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;My X260 only runs OpenBSD and has no CD driver. But I still need to upgrade its BIOS from time to time. And this is possible using the ISO BIOS image.&lt;/p&gt;

&lt;p&gt;First off all, you need to download the “BIOS Update (Bootable CD)” from the Lenovo Support Website.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/IowaitAndMultipleCPUs" target="_blank" rel="nofollow noopener"&gt;The problem of Unix iowait and multi-CPU machines&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Various Unixes have had a 'iowait' statistic for a long time now (although I can't find a source for where it originated; it's not in 4.x BSD, so it may have come through System V and sar). The traditional and standard definition of iowait is that it's the amount of time the system was idle but had at least one process waiting on disk IO. Rather than count this time as 'idle' (as you would if you had a three-way division of CPU time between user, system, and idle), some Unixes evolved to count this as a new category, 'iowait'.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.jaredwolff.com/my-latest-self-hosted-hugo-workflow/" target="_blank" rel="nofollow noopener"&gt;My Latest Self Hosted Hugo Workflow using FreeBSD Jails, Caddy, Restic and More&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;After hosting with Netlify for a few years, I decided to head back to self hosting. Theres a few reasons for that but the main reasoning was that I had more control over how things worked.&lt;/p&gt;

&lt;p&gt;In this post, i’ll show you my workflow for deploying my Hugo generated site (&lt;a href="http://www.jaredwolff.com" target="_blank" rel="nofollow noopener"&gt;www.jaredwolff.com&lt;/a&gt;). Instead of using what most people would go for, i’ll be doing all of this using a FreeBSD Jails based server. Plus i’ll show you some tricks i’ve learned over the years on bulk image resizing and more.&lt;/p&gt;

&lt;p&gt;Let’s get to it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/extending_support_for_the_netbsd" target="_blank" rel="nofollow noopener"&gt;Extending support for the NetBSD-7 branch&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Typically, some time after releasing a new NetBSD major version (such as NetBSD 9.0), we will announce the end-of-life of the N-2 branch, in this case NetBSD-7.&lt;/p&gt;

&lt;p&gt;We've decided to hold off on doing that to ensure our users don't feel rushed to perform a major version update on any remote machines, possibly needing to reach the machine if anything goes wrong.&lt;/p&gt;

&lt;p&gt;Security fixes will still be made to the NetBSD-7 branch.&lt;/p&gt;

&lt;p&gt;We hope you're all safe. Stay home.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://phrack.org/papers/escaping_from_freebsd_bhyve.html" target="_blank" rel="nofollow noopener"&gt;Tale of two hypervisor bugs - Escaping from FreeBSD bhyve&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;VM escape has become a popular topic of discussion over the last few years. A good amount of research on this topic has been published for various hypervisors like VMware, QEMU, VirtualBox, Xen and Hyper-V. Bhyve is a hypervisor for FreeBSD supporting hardware-assisted virtualization. This paper details the exploitation of two bugs in bhyve - FreeBSD-SA-16:32.bhyve (VGA emulation heap overflow) and CVE-2018-17160 (Firmware Configuration device bss buffer overflow) and some generic techniques which could be used for exploiting other bhyve bugs. Further, the paper also discusses sandbox escapes using PCI device passthrough, and Control-Flow Integrity bypasses in HardenedBSD 12-CURRENT&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=kFG-772WGwg" target="_blank" rel="nofollow noopener"&gt;GhostBSD 20.02 Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=5V8680uoXxw" target="_blank" rel="nofollow noopener"&gt;FuryBSD 12.1 Overview&lt;/a&gt;
&amp;gt; Joe Maloney got in touch to say that the issues in the video and other ones found have since been fixed.  Now that's community feedback in action, and an example of a developer who does his best to help the community. A great guy indeed.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://forums.os108.org/d/27-os108-9-0-amd64-mate-released" target="_blank" rel="nofollow noopener"&gt;OS108-9.0 amd64 MATE released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.twitch.tv/videos/584064729" target="_blank" rel="nofollow noopener"&gt;FreeBSD hacking: carp panics &amp;amp; test&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6qBm5NM3zTQ" target="_blank" rel="nofollow noopener"&gt;Inaugural FreeBSD Office Hours&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Shody - &lt;a href="http://dpaste.com/2SAQDJJ#wrap" target="_blank" rel="nofollow noopener"&gt;systemd question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ben - &lt;a href="http://dpaste.com/1S0DGT3#wrap" target="_blank" rel="nofollow noopener"&gt;GELI and GPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Stig - &lt;a href="http://dpaste.com/2NGNZG5#wrap" target="_blank" rel="nofollow noopener"&gt;DIY NAS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0345.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, core, core file, core dump, bios, bios update, lenovo, x260, thinkpad, Unix, iowait, self-hosted, hugo, jails, caddy, restic, branch, branch support, hypervisor, bugs</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Tales from a core file, Lenovo X260 BIOS Update with OpenBSD, the problem of Unix iowait and multi-CPU machines, Hugo workflow using FreeBSD Jails, Caddy, Restic; extending NetBSD-7 branch support, a tale of two hypervisor bugs, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://fingolfin.org/blog/20200327/stdio-abi.html" target="_blank" rel="nofollow noopener">Tales From a Core File - Lessons from the Unix stdio ABI: 40 Years Later</a></h3>

<blockquote>
<p>On the side, I’ve been wrapping up some improvements to the classic Unix stdio libraries in illumos. stdio contains the classic functions like fopen(), printf(), and the security nightmare gets(). While working on support for fmemopen() and friends I got to reacquaint myself with some of the joys of the stdio ABI and its history from 7th Edition Unix. With that in mind, let’s dive into this, history, and some mistakes not to repeat. While this is written from the perspective of the C programming language, aspects of it apply to many other languages.</p>
</blockquote>

<hr>

<h3><a href="https://www.tumfatig.net/20200331/update-lenovo-x260-bios-with-openbsd/" target="_blank" rel="nofollow noopener">Update Lenovo X260 BIOS with OpenBSD</a></h3>

<blockquote>
<p>My X260 only runs OpenBSD and has no CD driver. But I still need to upgrade its BIOS from time to time. And this is possible using the ISO BIOS image.</p>

<p>First off all, you need to download the “BIOS Update (Bootable CD)” from the Lenovo Support Website.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/IowaitAndMultipleCPUs" target="_blank" rel="nofollow noopener">The problem of Unix iowait and multi-CPU machines</a></h3>

<blockquote>
<p>Various Unixes have had a 'iowait' statistic for a long time now (although I can't find a source for where it originated; it's not in 4.x BSD, so it may have come through System V and sar). The traditional and standard definition of iowait is that it's the amount of time the system was idle but had at least one process waiting on disk IO. Rather than count this time as 'idle' (as you would if you had a three-way division of CPU time between user, system, and idle), some Unixes evolved to count this as a new category, 'iowait'.</p>
</blockquote>

<hr>

<h3><a href="https://www.jaredwolff.com/my-latest-self-hosted-hugo-workflow/" target="_blank" rel="nofollow noopener">My Latest Self Hosted Hugo Workflow using FreeBSD Jails, Caddy, Restic and More</a></h3>

<blockquote>
<p>After hosting with Netlify for a few years, I decided to head back to self hosting. Theres a few reasons for that but the main reasoning was that I had more control over how things worked.</p>

<p>In this post, i’ll show you my workflow for deploying my Hugo generated site (<a href="http://www.jaredwolff.com" target="_blank" rel="nofollow noopener">www.jaredwolff.com</a>). Instead of using what most people would go for, i’ll be doing all of this using a FreeBSD Jails based server. Plus i’ll show you some tricks i’ve learned over the years on bulk image resizing and more.</p>

<p>Let’s get to it.</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/extending_support_for_the_netbsd" target="_blank" rel="nofollow noopener">Extending support for the NetBSD-7 branch</a></h3>

<blockquote>
<p>Typically, some time after releasing a new NetBSD major version (such as NetBSD 9.0), we will announce the end-of-life of the N-2 branch, in this case NetBSD-7.</p>

<p>We've decided to hold off on doing that to ensure our users don't feel rushed to perform a major version update on any remote machines, possibly needing to reach the machine if anything goes wrong.</p>

<p>Security fixes will still be made to the NetBSD-7 branch.</p>

<p>We hope you're all safe. Stay home.</p>
</blockquote>

<hr>

<h3><a href="http://phrack.org/papers/escaping_from_freebsd_bhyve.html" target="_blank" rel="nofollow noopener">Tale of two hypervisor bugs - Escaping from FreeBSD bhyve</a></h3>

<blockquote>
<p>VM escape has become a popular topic of discussion over the last few years. A good amount of research on this topic has been published for various hypervisors like VMware, QEMU, VirtualBox, Xen and Hyper-V. Bhyve is a hypervisor for FreeBSD supporting hardware-assisted virtualization. This paper details the exploitation of two bugs in bhyve - FreeBSD-SA-16:32.bhyve (VGA emulation heap overflow) and CVE-2018-17160 (Firmware Configuration device bss buffer overflow) and some generic techniques which could be used for exploiting other bhyve bugs. Further, the paper also discusses sandbox escapes using PCI device passthrough, and Control-Flow Integrity bypasses in HardenedBSD 12-CURRENT</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=kFG-772WGwg" target="_blank" rel="nofollow noopener">GhostBSD 20.02 Overview</a></li>
<li><a href="https://www.youtube.com/watch?v=5V8680uoXxw" target="_blank" rel="nofollow noopener">FuryBSD 12.1 Overview</a>
&gt; Joe Maloney got in touch to say that the issues in the video and other ones found have since been fixed.  Now that's community feedback in action, and an example of a developer who does his best to help the community. A great guy indeed.</li>
<li><a href="https://forums.os108.org/d/27-os108-9-0-amd64-mate-released" target="_blank" rel="nofollow noopener">OS108-9.0 amd64 MATE released</a></li>
<li><a href="https://www.twitch.tv/videos/584064729" target="_blank" rel="nofollow noopener">FreeBSD hacking: carp panics &amp; test</a></li>
<li><a href="https://www.youtube.com/watch?v=6qBm5NM3zTQ" target="_blank" rel="nofollow noopener">Inaugural FreeBSD Office Hours</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Shody - <a href="http://dpaste.com/2SAQDJJ#wrap" target="_blank" rel="nofollow noopener">systemd question</a></li>
<li>Ben - <a href="http://dpaste.com/1S0DGT3#wrap" target="_blank" rel="nofollow noopener">GELI and GPT</a></li>
<li>Stig - <a href="http://dpaste.com/2NGNZG5#wrap" target="_blank" rel="nofollow noopener">DIY NAS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0345.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Tales from a core file, Lenovo X260 BIOS Update with OpenBSD, the problem of Unix iowait and multi-CPU machines, Hugo workflow using FreeBSD Jails, Caddy, Restic; extending NetBSD-7 branch support, a tale of two hypervisor bugs, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://fingolfin.org/blog/20200327/stdio-abi.html" target="_blank" rel="nofollow noopener">Tales From a Core File - Lessons from the Unix stdio ABI: 40 Years Later</a></h3>

<blockquote>
<p>On the side, I’ve been wrapping up some improvements to the classic Unix stdio libraries in illumos. stdio contains the classic functions like fopen(), printf(), and the security nightmare gets(). While working on support for fmemopen() and friends I got to reacquaint myself with some of the joys of the stdio ABI and its history from 7th Edition Unix. With that in mind, let’s dive into this, history, and some mistakes not to repeat. While this is written from the perspective of the C programming language, aspects of it apply to many other languages.</p>
</blockquote>

<hr>

<h3><a href="https://www.tumfatig.net/20200331/update-lenovo-x260-bios-with-openbsd/" target="_blank" rel="nofollow noopener">Update Lenovo X260 BIOS with OpenBSD</a></h3>

<blockquote>
<p>My X260 only runs OpenBSD and has no CD driver. But I still need to upgrade its BIOS from time to time. And this is possible using the ISO BIOS image.</p>

<p>First off all, you need to download the “BIOS Update (Bootable CD)” from the Lenovo Support Website.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/IowaitAndMultipleCPUs" target="_blank" rel="nofollow noopener">The problem of Unix iowait and multi-CPU machines</a></h3>

<blockquote>
<p>Various Unixes have had a 'iowait' statistic for a long time now (although I can't find a source for where it originated; it's not in 4.x BSD, so it may have come through System V and sar). The traditional and standard definition of iowait is that it's the amount of time the system was idle but had at least one process waiting on disk IO. Rather than count this time as 'idle' (as you would if you had a three-way division of CPU time between user, system, and idle), some Unixes evolved to count this as a new category, 'iowait'.</p>
</blockquote>

<hr>

<h3><a href="https://www.jaredwolff.com/my-latest-self-hosted-hugo-workflow/" target="_blank" rel="nofollow noopener">My Latest Self Hosted Hugo Workflow using FreeBSD Jails, Caddy, Restic and More</a></h3>

<blockquote>
<p>After hosting with Netlify for a few years, I decided to head back to self hosting. Theres a few reasons for that but the main reasoning was that I had more control over how things worked.</p>

<p>In this post, i’ll show you my workflow for deploying my Hugo generated site (<a href="http://www.jaredwolff.com" target="_blank" rel="nofollow noopener">www.jaredwolff.com</a>). Instead of using what most people would go for, i’ll be doing all of this using a FreeBSD Jails based server. Plus i’ll show you some tricks i’ve learned over the years on bulk image resizing and more.</p>

<p>Let’s get to it.</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/extending_support_for_the_netbsd" target="_blank" rel="nofollow noopener">Extending support for the NetBSD-7 branch</a></h3>

<blockquote>
<p>Typically, some time after releasing a new NetBSD major version (such as NetBSD 9.0), we will announce the end-of-life of the N-2 branch, in this case NetBSD-7.</p>

<p>We've decided to hold off on doing that to ensure our users don't feel rushed to perform a major version update on any remote machines, possibly needing to reach the machine if anything goes wrong.</p>

<p>Security fixes will still be made to the NetBSD-7 branch.</p>

<p>We hope you're all safe. Stay home.</p>
</blockquote>

<hr>

<h3><a href="http://phrack.org/papers/escaping_from_freebsd_bhyve.html" target="_blank" rel="nofollow noopener">Tale of two hypervisor bugs - Escaping from FreeBSD bhyve</a></h3>

<blockquote>
<p>VM escape has become a popular topic of discussion over the last few years. A good amount of research on this topic has been published for various hypervisors like VMware, QEMU, VirtualBox, Xen and Hyper-V. Bhyve is a hypervisor for FreeBSD supporting hardware-assisted virtualization. This paper details the exploitation of two bugs in bhyve - FreeBSD-SA-16:32.bhyve (VGA emulation heap overflow) and CVE-2018-17160 (Firmware Configuration device bss buffer overflow) and some generic techniques which could be used for exploiting other bhyve bugs. Further, the paper also discusses sandbox escapes using PCI device passthrough, and Control-Flow Integrity bypasses in HardenedBSD 12-CURRENT</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=kFG-772WGwg" target="_blank" rel="nofollow noopener">GhostBSD 20.02 Overview</a></li>
<li><a href="https://www.youtube.com/watch?v=5V8680uoXxw" target="_blank" rel="nofollow noopener">FuryBSD 12.1 Overview</a>
&gt; Joe Maloney got in touch to say that the issues in the video and other ones found have since been fixed.  Now that's community feedback in action, and an example of a developer who does his best to help the community. A great guy indeed.</li>
<li><a href="https://forums.os108.org/d/27-os108-9-0-amd64-mate-released" target="_blank" rel="nofollow noopener">OS108-9.0 amd64 MATE released</a></li>
<li><a href="https://www.twitch.tv/videos/584064729" target="_blank" rel="nofollow noopener">FreeBSD hacking: carp panics &amp; test</a></li>
<li><a href="https://www.youtube.com/watch?v=6qBm5NM3zTQ" target="_blank" rel="nofollow noopener">Inaugural FreeBSD Office Hours</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Shody - <a href="http://dpaste.com/2SAQDJJ#wrap" target="_blank" rel="nofollow noopener">systemd question</a></li>
<li>Ben - <a href="http://dpaste.com/1S0DGT3#wrap" target="_blank" rel="nofollow noopener">GELI and GPT</a></li>
<li>Stig - <a href="http://dpaste.com/2NGNZG5#wrap" target="_blank" rel="nofollow noopener">DIY NAS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0345.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>345: Switchers to BSD</title>
  <link>https://www.bsdnow.tv/345</link>
  <guid isPermaLink="false">c46952e4-8ea3-4506-b4eb-54f2870547ee</guid>
  <pubDate>Thu, 09 Apr 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c46952e4-8ea3-4506-b4eb-54f2870547ee.mp3" length="34426694" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>NetBSD 8.2 is available, NextCloud on OpenBSD, X11 screen locking, NetBSD and RISC OS running parallel, community feedback about switching to BSD, and more.</itunes:subtitle>
  <itunes:duration>47:48</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>&lt;p&gt;NetBSD 8.2 is available, NextCloud on OpenBSD, X11 screen locking, NetBSD and RISC OS running parallel, community feedback about switching to BSD, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/netbsd_8_2_is_available" target="_blank" rel="nofollow noopener"&gt;NetBSD 8.2 is available!&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The third release in the NetBSD-8 is now available.&lt;/p&gt;

&lt;p&gt;This release includes all the security fixes in NetBSD-8 up until this point, and other fixes deemed important for stability.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Some highlights include:

&lt;ul&gt;
&lt;li&gt;x86: fixed regression in booting old CPUs&lt;/li&gt;
&lt;li&gt;x86: Hyper-V Gen.2 VM framebuffer support&lt;/li&gt;
&lt;li&gt;httpd(8): fixed various security issues&lt;/li&gt;
&lt;li&gt;ixg(4): various fixes / improvements&lt;/li&gt;
&lt;li&gt;x86 efiboot: add tftp support, fix issues on machines with many memory segments, improve graphics mode logic to work on more machines.&lt;/li&gt;
&lt;li&gt;Various kernel memory info leaks fixes&lt;/li&gt;
&lt;li&gt;Update expat to 2.2.8&lt;/li&gt;
&lt;li&gt;Fix ryzen USB issues and support xHCI version 3.10.&lt;/li&gt;
&lt;li&gt;Accept root device specification as NAME=label.&lt;/li&gt;
&lt;li&gt;Add multiboot 2 support to x86 bootloaders.&lt;/li&gt;
&lt;li&gt;Fix for CVE-2019-9506: 'Key Negotiation of Bluetooth' attack.&lt;/li&gt;
&lt;li&gt;nouveau: limit the supported devices and fix firmware loading.&lt;/li&gt;
&lt;li&gt;radeon: fix loading of the TAHITI VCE firmware.&lt;/li&gt;
&lt;li&gt;named(8): stop using obsolete dnssec-lookaside.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://h3artbl33d.nl/2020-nextcloud.html" target="_blank" rel="nofollow noopener"&gt;NextCloud on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;NextCloud and OpenBSD are complementary to one another. NextCloud is an awesome, secure and private alternative for proprietary platforms, whereas OpenBSD forms the most secure and solid foundation to serve it on. Setting it up in the best way isn’t hard, especially using this step by step tutorial.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Preface&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Back when this tutorial was initially written, things were different. The OpenBSD port relied on PHP 5.6 and there were no package updates. But the port improved (hats off, Gonzalo!) and package updates were introduced to the -stable branch (hats off, Solene!).&lt;/p&gt;

&lt;p&gt;A rewrite of this tutorial was long overdue. Right now, it is written for 6.6 -stable and will be updated once 6.7 is released. If you have any questions or desire some help, feel free to reach out.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://leahneukirchen.org/blog/archive/2020/01/x11-screen-locking-a-secure-and-modular-approach.html" target="_blank" rel="nofollow noopener"&gt;X11 screen locking: a secure and modular approach&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;For years I’ve been using XScreenSaver as a default, but I recently learned about xsecurelock and re-evaluated my screen-saving requirements&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://www.update.uu.se/%7Emicken/ronetbsd.html" target="_blank" rel="nofollow noopener"&gt;NetBSD and RISC OS running parallel&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I have been experimenting with running two systems at the same time on the RK3399 SoC.&lt;br&gt;
It all begun when I figured out how to switch to the A72 cpu for RISC OS. When the switch was done, the A53 cpu just continued to execute code.&lt;br&gt;
OK I thought why not give it something to do!&lt;br&gt;
My first step was to run some small programs.&lt;br&gt;
It worked!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Thanks to Tom Jones for the pointer to this article&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;Several weeks ago we covered a story about switching from Linux to BSD.  Benedict and JT asked for community feedback as to their thoughts on the matter.  Allan was out that week, so this will give him an opportunity to chime in with his thoughts as well.&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Jamie - &lt;a href="http://dpaste.com/0CH1YXQ#wrap" target="_blank" rel="nofollow noopener"&gt;Dumping Linux for BSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Matt - &lt;a href="http://dpaste.com/2N68YPJ#wrap" target="_blank" rel="nofollow noopener"&gt;BSD Packaging&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/2SF9V38#wrap" target="_blank" rel="nofollow noopener"&gt;Linux vs BS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MJ - &lt;a href="http://dpaste.com/0Z2ZT4V#wrap" target="_blank" rel="nofollow noopener"&gt;Linux vs BSD Feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ben - &lt;a href="http://dpaste.com/0B3M85X" target="_blank" rel="nofollow noopener"&gt;Feedback for JT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Henrik - &lt;a href="http://dpaste.com/3F36EQE#wrap" target="_blank" rel="nofollow noopener"&gt;Why you should migrate everything to BSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2020/04/06/24367.html" target="_blank" rel="nofollow noopener"&gt;ssh-copy-id now included&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opnsense.org/opnsense-20-1-3-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 20.1.3 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd-cloud-image.org/" target="_blank" rel="nofollow noopener"&gt;A Collection of prebuilt BSD Cloud Images&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tmate.io/" target="_blank" rel="nofollow noopener"&gt;Instant terminal sharing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Ales - &lt;a href="http://dpaste.com/1EBWTK5#wrap" target="_blank" rel="nofollow noopener"&gt;Manually verify signature files for pkg package&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Shody - &lt;a href="http://dpaste.com/340PM9Q#wrap" target="_blank" rel="nofollow noopener"&gt;Yubikey&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mike - &lt;a href="http://dpaste.com/13W9SF0" target="_blank" rel="nofollow noopener"&gt;Site for hashes from old disks&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Answer: &lt;a href="https://docs.google.com/spreadsheets/d/19FmLs0jXxLkxAr0zwgdrXQd1qhbwvNHH6NvolvXKWTM/edit?usp=sharing" target="_blank" rel="nofollow noopener"&gt;https://docs.google.com/spreadsheets/d/19FmLs0jXxLkxAr0zwgdrXQd1qhbwvNHH6NvolvXKWTM/edit?usp=sharing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0345.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, nextcloud, x11, screen locking, risc, risc os, community, feedback</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>NetBSD 8.2 is available, NextCloud on OpenBSD, X11 screen locking, NetBSD and RISC OS running parallel, community feedback about switching to BSD, and more.</p>

<h2>Headlines</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/netbsd_8_2_is_available" target="_blank" rel="nofollow noopener">NetBSD 8.2 is available!</a></h3>

<blockquote>
<p>The third release in the NetBSD-8 is now available.</p>

<p>This release includes all the security fixes in NetBSD-8 up until this point, and other fixes deemed important for stability.</p>
</blockquote>

<ul>
<li>Some highlights include:

<ul>
<li>x86: fixed regression in booting old CPUs</li>
<li>x86: Hyper-V Gen.2 VM framebuffer support</li>
<li>httpd(8): fixed various security issues</li>
<li>ixg(4): various fixes / improvements</li>
<li>x86 efiboot: add tftp support, fix issues on machines with many memory segments, improve graphics mode logic to work on more machines.</li>
<li>Various kernel memory info leaks fixes</li>
<li>Update expat to 2.2.8</li>
<li>Fix ryzen USB issues and support xHCI version 3.10.</li>
<li>Accept root device specification as NAME=label.</li>
<li>Add multiboot 2 support to x86 bootloaders.</li>
<li>Fix for CVE-2019-9506: 'Key Negotiation of Bluetooth' attack.</li>
<li>nouveau: limit the supported devices and fix firmware loading.</li>
<li>radeon: fix loading of the TAHITI VCE firmware.</li>
<li>named(8): stop using obsolete dnssec-lookaside.</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://h3artbl33d.nl/2020-nextcloud.html" target="_blank" rel="nofollow noopener">NextCloud on OpenBSD</a></h3>

<blockquote>
<p>NextCloud and OpenBSD are complementary to one another. NextCloud is an awesome, secure and private alternative for proprietary platforms, whereas OpenBSD forms the most secure and solid foundation to serve it on. Setting it up in the best way isn’t hard, especially using this step by step tutorial.</p>
</blockquote>

<ul>
<li>Preface</li>
</ul>

<blockquote>
<p>Back when this tutorial was initially written, things were different. The OpenBSD port relied on PHP 5.6 and there were no package updates. But the port improved (hats off, Gonzalo!) and package updates were introduced to the -stable branch (hats off, Solene!).</p>

<p>A rewrite of this tutorial was long overdue. Right now, it is written for 6.6 -stable and will be updated once 6.7 is released. If you have any questions or desire some help, feel free to reach out.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://leahneukirchen.org/blog/archive/2020/01/x11-screen-locking-a-secure-and-modular-approach.html" target="_blank" rel="nofollow noopener">X11 screen locking: a secure and modular approach</a></h3>

<blockquote>
<p>For years I’ve been using XScreenSaver as a default, but I recently learned about xsecurelock and re-evaluated my screen-saving requirements</p>
</blockquote>

<hr>

<h3><a href="http://www.update.uu.se/%7Emicken/ronetbsd.html" target="_blank" rel="nofollow noopener">NetBSD and RISC OS running parallel</a></h3>

<blockquote>
<p>I have been experimenting with running two systems at the same time on the RK3399 SoC.<br>
It all begun when I figured out how to switch to the A72 cpu for RISC OS. When the switch was done, the A53 cpu just continued to execute code.<br>
OK I thought why not give it something to do!<br>
My first step was to run some small programs.<br>
It worked!</p>

<ul>
<li>Thanks to Tom Jones for the pointer to this article</li>
</ul>
</blockquote>

<hr>

<h3>Several weeks ago we covered a story about switching from Linux to BSD.  Benedict and JT asked for community feedback as to their thoughts on the matter.  Allan was out that week, so this will give him an opportunity to chime in with his thoughts as well.</h3>

<ul>
<li>Jamie - <a href="http://dpaste.com/0CH1YXQ#wrap" target="_blank" rel="nofollow noopener">Dumping Linux for BSD</a></li>
<li>Matt - <a href="http://dpaste.com/2N68YPJ#wrap" target="_blank" rel="nofollow noopener">BSD Packaging</a></li>
<li>Brad - <a href="http://dpaste.com/2SF9V38#wrap" target="_blank" rel="nofollow noopener">Linux vs BS</a></li>
<li>MJ - <a href="http://dpaste.com/0Z2ZT4V#wrap" target="_blank" rel="nofollow noopener">Linux vs BSD Feedback</a></li>
<li>Ben - <a href="http://dpaste.com/0B3M85X" target="_blank" rel="nofollow noopener">Feedback for JT</a></li>
<li>Henrik - <a href="http://dpaste.com/3F36EQE#wrap" target="_blank" rel="nofollow noopener">Why you should migrate everything to BSD</a></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2020/04/06/24367.html" target="_blank" rel="nofollow noopener">ssh-copy-id now included</a></li>
<li><a href="https://opnsense.org/opnsense-20-1-3-released/" target="_blank" rel="nofollow noopener">OPNsense 20.1.3 released</a></li>
<li><a href="https://bsd-cloud-image.org/" target="_blank" rel="nofollow noopener">A Collection of prebuilt BSD Cloud Images</a></li>
<li><a href="https://tmate.io/" target="_blank" rel="nofollow noopener">Instant terminal sharing</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Ales - <a href="http://dpaste.com/1EBWTK5#wrap" target="_blank" rel="nofollow noopener">Manually verify signature files for pkg package</a></li>
<li>Shody - <a href="http://dpaste.com/340PM9Q#wrap" target="_blank" rel="nofollow noopener">Yubikey</a></li>
<li>Mike - <a href="http://dpaste.com/13W9SF0" target="_blank" rel="nofollow noopener">Site for hashes from old disks</a>

<ul>
<li>Answer: <a href="https://docs.google.com/spreadsheets/d/19FmLs0jXxLkxAr0zwgdrXQd1qhbwvNHH6NvolvXKWTM/edit?usp=sharing" target="_blank" rel="nofollow noopener">https://docs.google.com/spreadsheets/d/19FmLs0jXxLkxAr0zwgdrXQd1qhbwvNHH6NvolvXKWTM/edit?usp=sharing</a></li>
</ul></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0345.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>NetBSD 8.2 is available, NextCloud on OpenBSD, X11 screen locking, NetBSD and RISC OS running parallel, community feedback about switching to BSD, and more.</p>

<h2>Headlines</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/netbsd_8_2_is_available" target="_blank" rel="nofollow noopener">NetBSD 8.2 is available!</a></h3>

<blockquote>
<p>The third release in the NetBSD-8 is now available.</p>

<p>This release includes all the security fixes in NetBSD-8 up until this point, and other fixes deemed important for stability.</p>
</blockquote>

<ul>
<li>Some highlights include:

<ul>
<li>x86: fixed regression in booting old CPUs</li>
<li>x86: Hyper-V Gen.2 VM framebuffer support</li>
<li>httpd(8): fixed various security issues</li>
<li>ixg(4): various fixes / improvements</li>
<li>x86 efiboot: add tftp support, fix issues on machines with many memory segments, improve graphics mode logic to work on more machines.</li>
<li>Various kernel memory info leaks fixes</li>
<li>Update expat to 2.2.8</li>
<li>Fix ryzen USB issues and support xHCI version 3.10.</li>
<li>Accept root device specification as NAME=label.</li>
<li>Add multiboot 2 support to x86 bootloaders.</li>
<li>Fix for CVE-2019-9506: 'Key Negotiation of Bluetooth' attack.</li>
<li>nouveau: limit the supported devices and fix firmware loading.</li>
<li>radeon: fix loading of the TAHITI VCE firmware.</li>
<li>named(8): stop using obsolete dnssec-lookaside.</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://h3artbl33d.nl/2020-nextcloud.html" target="_blank" rel="nofollow noopener">NextCloud on OpenBSD</a></h3>

<blockquote>
<p>NextCloud and OpenBSD are complementary to one another. NextCloud is an awesome, secure and private alternative for proprietary platforms, whereas OpenBSD forms the most secure and solid foundation to serve it on. Setting it up in the best way isn’t hard, especially using this step by step tutorial.</p>
</blockquote>

<ul>
<li>Preface</li>
</ul>

<blockquote>
<p>Back when this tutorial was initially written, things were different. The OpenBSD port relied on PHP 5.6 and there were no package updates. But the port improved (hats off, Gonzalo!) and package updates were introduced to the -stable branch (hats off, Solene!).</p>

<p>A rewrite of this tutorial was long overdue. Right now, it is written for 6.6 -stable and will be updated once 6.7 is released. If you have any questions or desire some help, feel free to reach out.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://leahneukirchen.org/blog/archive/2020/01/x11-screen-locking-a-secure-and-modular-approach.html" target="_blank" rel="nofollow noopener">X11 screen locking: a secure and modular approach</a></h3>

<blockquote>
<p>For years I’ve been using XScreenSaver as a default, but I recently learned about xsecurelock and re-evaluated my screen-saving requirements</p>
</blockquote>

<hr>

<h3><a href="http://www.update.uu.se/%7Emicken/ronetbsd.html" target="_blank" rel="nofollow noopener">NetBSD and RISC OS running parallel</a></h3>

<blockquote>
<p>I have been experimenting with running two systems at the same time on the RK3399 SoC.<br>
It all begun when I figured out how to switch to the A72 cpu for RISC OS. When the switch was done, the A53 cpu just continued to execute code.<br>
OK I thought why not give it something to do!<br>
My first step was to run some small programs.<br>
It worked!</p>

<ul>
<li>Thanks to Tom Jones for the pointer to this article</li>
</ul>
</blockquote>

<hr>

<h3>Several weeks ago we covered a story about switching from Linux to BSD.  Benedict and JT asked for community feedback as to their thoughts on the matter.  Allan was out that week, so this will give him an opportunity to chime in with his thoughts as well.</h3>

<ul>
<li>Jamie - <a href="http://dpaste.com/0CH1YXQ#wrap" target="_blank" rel="nofollow noopener">Dumping Linux for BSD</a></li>
<li>Matt - <a href="http://dpaste.com/2N68YPJ#wrap" target="_blank" rel="nofollow noopener">BSD Packaging</a></li>
<li>Brad - <a href="http://dpaste.com/2SF9V38#wrap" target="_blank" rel="nofollow noopener">Linux vs BS</a></li>
<li>MJ - <a href="http://dpaste.com/0Z2ZT4V#wrap" target="_blank" rel="nofollow noopener">Linux vs BSD Feedback</a></li>
<li>Ben - <a href="http://dpaste.com/0B3M85X" target="_blank" rel="nofollow noopener">Feedback for JT</a></li>
<li>Henrik - <a href="http://dpaste.com/3F36EQE#wrap" target="_blank" rel="nofollow noopener">Why you should migrate everything to BSD</a></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2020/04/06/24367.html" target="_blank" rel="nofollow noopener">ssh-copy-id now included</a></li>
<li><a href="https://opnsense.org/opnsense-20-1-3-released/" target="_blank" rel="nofollow noopener">OPNsense 20.1.3 released</a></li>
<li><a href="https://bsd-cloud-image.org/" target="_blank" rel="nofollow noopener">A Collection of prebuilt BSD Cloud Images</a></li>
<li><a href="https://tmate.io/" target="_blank" rel="nofollow noopener">Instant terminal sharing</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Ales - <a href="http://dpaste.com/1EBWTK5#wrap" target="_blank" rel="nofollow noopener">Manually verify signature files for pkg package</a></li>
<li>Shody - <a href="http://dpaste.com/340PM9Q#wrap" target="_blank" rel="nofollow noopener">Yubikey</a></li>
<li>Mike - <a href="http://dpaste.com/13W9SF0" target="_blank" rel="nofollow noopener">Site for hashes from old disks</a>

<ul>
<li>Answer: <a href="https://docs.google.com/spreadsheets/d/19FmLs0jXxLkxAr0zwgdrXQd1qhbwvNHH6NvolvXKWTM/edit?usp=sharing" target="_blank" rel="nofollow noopener">https://docs.google.com/spreadsheets/d/19FmLs0jXxLkxAr0zwgdrXQd1qhbwvNHH6NvolvXKWTM/edit?usp=sharing</a></li>
</ul></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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0345.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>344: Grains of Salt</title>
  <link>https://www.bsdnow.tv/344</link>
  <guid isPermaLink="false">e17510a7-48e1-4fa3-9500-222f5e4904ee</guid>
  <pubDate>Thu, 02 Apr 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e17510a7-48e1-4fa3-9500-222f5e4904ee.mp3" length="40072591" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Shell text processing, data rebalancing on ZFS mirrors, Add Security Headers with OpenBSD relayd, ZFS filesystem hierarchy in ZFS pools, speeding up ZSH, How Unix pipes work, grow ZFS pools over time, the real reason ifconfig on Linux is deprecated, clear your terminal in style, and more.</itunes:subtitle>
  <itunes:duration>55:39</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>&lt;p&gt;Shell text processing, data rebalancing on ZFS mirrors, Add Security Headers with OpenBSD relayd, ZFS filesystem hierarchy in ZFS pools, speeding up ZSH, How Unix pipes work, grow ZFS pools over time, the real reason ifconfig on Linux is deprecated, clear your terminal in style, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.balthazar-rouberol.com/text-processing-in-the-shell" target="_blank" rel="nofollow noopener"&gt;Text processing in the shell&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This article is part of a self-published book project by Balthazar Rouberol and Etienne Brodu, ex-roommates, friends and colleagues, aiming at empowering the up and coming generation of developers. We currently are hard at work on it!&lt;/p&gt;

&lt;p&gt;One of the things that makes the shell an invaluable tool is the amount of available text processing commands, and the ability to easily pipe them into each other to build complex text processing workflows. These commands can make it trivial to perform text and data analysis, convert data between different formats, filter lines, etc.&lt;/p&gt;

&lt;p&gt;When working with text data, the philosophy is to break any complex problem you have into a set of smaller ones, and to solve each of them with a specialized tool.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://jrs-s.net/2020/03/10/rebalancing-data-on-zfs-mirrors/" target="_blank" rel="nofollow noopener"&gt;Rebalancing data on ZFS mirrors&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the questions that comes up time and time again about ZFS is “how can I migrate my data to a pool on a few of my disks, then add the rest of the disks afterward?”&lt;/p&gt;

&lt;p&gt;If you just want to get the data moved and don’t care about balance, you can just copy the data over, then add the new disks and be done with it. But, it won’t be distributed evenly over the vdevs in your pool.&lt;/p&gt;

&lt;p&gt;Don’t fret, though, it’s actually pretty easy to rebalance mirrors. In the following example, we’ll assume you’ve got four disks in a RAID array on an old machine, and two disks available to copy the data to in the short term.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://web.archive.org/web/20191109121500/https://goblackcat.com/posts/using-openbsd-relayd-to-add-security-headers/" target="_blank" rel="nofollow noopener"&gt;Using OpenBSD relayd to Add Security Headers&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I am a huge fan of OpenBSD’s built-in httpd server as it is simple, secure, and quite performant. With the modern push of the large search providers pushing secure websites, it is now important to add security headers to your website or risk having the search results for your website downgraded. Fortunately, it is very easy to do this when you combine httpd with relayd. While relayd is principally designed for layer 3 redirections and layer 7 relays, it just so happens that it makes a handy tool for adding the recommended security headers. My website automatically redirects users from http to https and this gets achieved using a simple redirection in /etc/httpd.conf So if you have a configuration similar to mine, then you will still want to have httpd listen on the egress interface on port 80. The key thing to change here is to have httpd listen on 127.0.0.1 on port 443.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSOurContainerFilesystems" target="_blank" rel="nofollow noopener"&gt;How we set up our ZFS filesystem hierarchy in our ZFS pools&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Our long standing practice here, predating even the first generation of our ZFS fileservers, is that we have two main sorts of filesystems, home directories (homedir filesystems) and what we call 'work directory' (workdir) filesystems. Homedir filesystems are called /h/NNN (for some NNN) and workdir filesystems are called /w/NNN; the NNN is unique across all of the different sorts of filesystems. Users are encouraged to put as much stuff as possible in workdirs and can have as many of them as they want, which mattered a lot more in the days when we used Solaris DiskSuite and had fixed-sized filesystems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.jonlu.ca/posts/speeding-up-zsh" target="_blank" rel="nofollow noopener"&gt;Speeding up ZSH&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://web.archive.org/web/20200315184849/https://blog.jonlu.ca/posts/speeding-up-zsh" target="_blank" rel="nofollow noopener"&gt;https://web.archive.org/web/20200315184849/https://blog.jonlu.ca/posts/speeding-up-zsh&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I was opening multiple shells for an unrelated project today and noticed how abysmal my shell load speed was. After the initial load it was relatively fast, but the actual shell start up was noticeably slow. I timed it with time and these were the results.&lt;/p&gt;

&lt;p&gt;In the future I hope to actually recompile zsh with additional profiling techniques and debug information - keeping an internal timer and having a flag output current time for each command in a tree fashion would make building heat maps really easy.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.vegardstikbakke.com/how-do-pipes-work-sigpipe/" target="_blank" rel="nofollow noopener"&gt;How do Unix Pipes work&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Pipes are cool! We saw how handy they are in a previous blog post. Let’s look at a typical way to use the pipe operator. We have some output, and we want to look at the first lines of the output. Let’s download The Brothers Karamazov by Fyodor Dostoevsky, a fairly long novel.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSHowWeGrowPools" target="_blank" rel="nofollow noopener"&gt;What we do to enable us to grow our ZFS pools over time&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In my entry on why ZFS isn't good at growing and reshaping pools, I mentioned that we go to quite some lengths in our ZFS environment to be able to incrementally expand our pools. Today I want to put together all of the pieces of that in one place to discuss what those lengths are.&lt;br&gt;
Our big constraint is that not only do we need to add space to pools over time, but we have a fairly large number of pools and which pools will have space added to them is unpredictable. We need a solution to pool expansion that leaves us with as much flexibility as possible for as long as possible. This pretty much requires being able to expand pools in relatively small increments of space.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.farhan.codes/2018/06/25/linux-maintains-bugs-the-real-reason-ifconfig-on-linux-is-deprecated/" target="_blank" rel="nofollow noopener"&gt;Linux maintains bugs: The real reason ifconfig on Linux is deprecated&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In my third installment of FreeBSD vs Linux, I will discuss underlying reasons for why Linux moved away from ifconfig(8) to ip(8).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In the past, when people said, “Linux is a kernel, not an operating system”, I knew that was true but I always thought it was a rather pedantic criticism. Of course no one runs just the Linux kernel, you run a distribution of Linux. But after reviewing userland code, I understand the significant drawbacks to developing “just a kernel” in isolation from the rest of the system.&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://adammusciano.com/2020/03/04/2020-03-04-clear-your-terminal-in-style/" target="_blank" rel="nofollow noopener"&gt;Clear Your Terminal in Style&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;if you’re someone like me who habitually clears their terminal, sometimes you want a little excitement in your life. Here is a way to do just that.&lt;/p&gt;

&lt;p&gt;This post revolves around the idea of giving a command a percent chance of running. While the topic at hand is not serious, this simple technique has potential in your scripts.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Guy - &lt;a href="http://dpaste.com/2NEPDHB" target="_blank" rel="nofollow noopener"&gt;AMD GPU Help&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MLShroyer13 - &lt;a href="http://dpaste.com/31KBNP4#wrap" target="_blank" rel="nofollow noopener"&gt;VLANs and Jails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Master One - &lt;a href="http://dpaste.com/0DKM8CF#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS Suspend/resume&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0344.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, text processing, shell, rebalancing, mirror, mirror rebalancing, zfs, zpool, security, security headers, relayd, hierarchy, speed up, performance, zsh, pipe, pipes, Unix, ifconfig, terminal</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Shell text processing, data rebalancing on ZFS mirrors, Add Security Headers with OpenBSD relayd, ZFS filesystem hierarchy in ZFS pools, speeding up ZSH, How Unix pipes work, grow ZFS pools over time, the real reason ifconfig on Linux is deprecated, clear your terminal in style, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://blog.balthazar-rouberol.com/text-processing-in-the-shell" target="_blank" rel="nofollow noopener">Text processing in the shell</a></h3>

<blockquote>
<p>This article is part of a self-published book project by Balthazar Rouberol and Etienne Brodu, ex-roommates, friends and colleagues, aiming at empowering the up and coming generation of developers. We currently are hard at work on it!</p>

<p>One of the things that makes the shell an invaluable tool is the amount of available text processing commands, and the ability to easily pipe them into each other to build complex text processing workflows. These commands can make it trivial to perform text and data analysis, convert data between different formats, filter lines, etc.</p>

<p>When working with text data, the philosophy is to break any complex problem you have into a set of smaller ones, and to solve each of them with a specialized tool.</p>
</blockquote>

<hr>

<h3><a href="https://jrs-s.net/2020/03/10/rebalancing-data-on-zfs-mirrors/" target="_blank" rel="nofollow noopener">Rebalancing data on ZFS mirrors</a></h3>

<blockquote>
<p>One of the questions that comes up time and time again about ZFS is “how can I migrate my data to a pool on a few of my disks, then add the rest of the disks afterward?”</p>

<p>If you just want to get the data moved and don’t care about balance, you can just copy the data over, then add the new disks and be done with it. But, it won’t be distributed evenly over the vdevs in your pool.</p>

<p>Don’t fret, though, it’s actually pretty easy to rebalance mirrors. In the following example, we’ll assume you’ve got four disks in a RAID array on an old machine, and two disks available to copy the data to in the short term.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://web.archive.org/web/20191109121500/https://goblackcat.com/posts/using-openbsd-relayd-to-add-security-headers/" target="_blank" rel="nofollow noopener">Using OpenBSD relayd to Add Security Headers</a></h3>

<blockquote>
<p>I am a huge fan of OpenBSD’s built-in httpd server as it is simple, secure, and quite performant. With the modern push of the large search providers pushing secure websites, it is now important to add security headers to your website or risk having the search results for your website downgraded. Fortunately, it is very easy to do this when you combine httpd with relayd. While relayd is principally designed for layer 3 redirections and layer 7 relays, it just so happens that it makes a handy tool for adding the recommended security headers. My website automatically redirects users from http to https and this gets achieved using a simple redirection in /etc/httpd.conf So if you have a configuration similar to mine, then you will still want to have httpd listen on the egress interface on port 80. The key thing to change here is to have httpd listen on 127.0.0.1 on port 443.</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSOurContainerFilesystems" target="_blank" rel="nofollow noopener">How we set up our ZFS filesystem hierarchy in our ZFS pools</a></h3>

<blockquote>
<p>Our long standing practice here, predating even the first generation of our ZFS fileservers, is that we have two main sorts of filesystems, home directories (homedir filesystems) and what we call 'work directory' (workdir) filesystems. Homedir filesystems are called /h/NNN (for some NNN) and workdir filesystems are called /w/NNN; the NNN is unique across all of the different sorts of filesystems. Users are encouraged to put as much stuff as possible in workdirs and can have as many of them as they want, which mattered a lot more in the days when we used Solaris DiskSuite and had fixed-sized filesystems.</p>
</blockquote>

<hr>

<h3><a href="https://blog.jonlu.ca/posts/speeding-up-zsh" target="_blank" rel="nofollow noopener">Speeding up ZSH</a></h3>

<p><a href="https://web.archive.org/web/20200315184849/https://blog.jonlu.ca/posts/speeding-up-zsh" target="_blank" rel="nofollow noopener">https://web.archive.org/web/20200315184849/https://blog.jonlu.ca/posts/speeding-up-zsh</a></p>

<blockquote>
<p>I was opening multiple shells for an unrelated project today and noticed how abysmal my shell load speed was. After the initial load it was relatively fast, but the actual shell start up was noticeably slow. I timed it with time and these were the results.</p>

<p>In the future I hope to actually recompile zsh with additional profiling techniques and debug information - keeping an internal timer and having a flag output current time for each command in a tree fashion would make building heat maps really easy.</p>
</blockquote>

<hr>

<h3><a href="https://www.vegardstikbakke.com/how-do-pipes-work-sigpipe/" target="_blank" rel="nofollow noopener">How do Unix Pipes work</a></h3>

<blockquote>
<p>Pipes are cool! We saw how handy they are in a previous blog post. Let’s look at a typical way to use the pipe operator. We have some output, and we want to look at the first lines of the output. Let’s download The Brothers Karamazov by Fyodor Dostoevsky, a fairly long novel.</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSHowWeGrowPools" target="_blank" rel="nofollow noopener">What we do to enable us to grow our ZFS pools over time</a></h3>

<blockquote>
<p>In my entry on why ZFS isn't good at growing and reshaping pools, I mentioned that we go to quite some lengths in our ZFS environment to be able to incrementally expand our pools. Today I want to put together all of the pieces of that in one place to discuss what those lengths are.<br>
Our big constraint is that not only do we need to add space to pools over time, but we have a fairly large number of pools and which pools will have space added to them is unpredictable. We need a solution to pool expansion that leaves us with as much flexibility as possible for as long as possible. This pretty much requires being able to expand pools in relatively small increments of space.</p>
</blockquote>

<hr>

<h3><a href="https://blog.farhan.codes/2018/06/25/linux-maintains-bugs-the-real-reason-ifconfig-on-linux-is-deprecated/" target="_blank" rel="nofollow noopener">Linux maintains bugs: The real reason ifconfig on Linux is deprecated</a></h3>

<blockquote>
<p>In my third installment of FreeBSD vs Linux, I will discuss underlying reasons for why Linux moved away from ifconfig(8) to ip(8).</p>
</blockquote>

<p>In the past, when people said, “Linux is a kernel, not an operating system”, I knew that was true but I always thought it was a rather pedantic criticism. Of course no one runs just the Linux kernel, you run a distribution of Linux. But after reviewing userland code, I understand the significant drawbacks to developing “just a kernel” in isolation from the rest of the system.</p>

<hr>

<h3><a href="https://adammusciano.com/2020/03/04/2020-03-04-clear-your-terminal-in-style/" target="_blank" rel="nofollow noopener">Clear Your Terminal in Style</a></h3>

<blockquote>
<p>if you’re someone like me who habitually clears their terminal, sometimes you want a little excitement in your life. Here is a way to do just that.</p>

<p>This post revolves around the idea of giving a command a percent chance of running. While the topic at hand is not serious, this simple technique has potential in your scripts.</p>
</blockquote>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Guy - <a href="http://dpaste.com/2NEPDHB" target="_blank" rel="nofollow noopener">AMD GPU Help</a></li>
<li>MLShroyer13 - <a href="http://dpaste.com/31KBNP4#wrap" target="_blank" rel="nofollow noopener">VLANs and Jails</a></li>
<li>Master One - <a href="http://dpaste.com/0DKM8CF#wrap" target="_blank" rel="nofollow noopener">ZFS Suspend/resume</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0344.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Shell text processing, data rebalancing on ZFS mirrors, Add Security Headers with OpenBSD relayd, ZFS filesystem hierarchy in ZFS pools, speeding up ZSH, How Unix pipes work, grow ZFS pools over time, the real reason ifconfig on Linux is deprecated, clear your terminal in style, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://blog.balthazar-rouberol.com/text-processing-in-the-shell" target="_blank" rel="nofollow noopener">Text processing in the shell</a></h3>

<blockquote>
<p>This article is part of a self-published book project by Balthazar Rouberol and Etienne Brodu, ex-roommates, friends and colleagues, aiming at empowering the up and coming generation of developers. We currently are hard at work on it!</p>

<p>One of the things that makes the shell an invaluable tool is the amount of available text processing commands, and the ability to easily pipe them into each other to build complex text processing workflows. These commands can make it trivial to perform text and data analysis, convert data between different formats, filter lines, etc.</p>

<p>When working with text data, the philosophy is to break any complex problem you have into a set of smaller ones, and to solve each of them with a specialized tool.</p>
</blockquote>

<hr>

<h3><a href="https://jrs-s.net/2020/03/10/rebalancing-data-on-zfs-mirrors/" target="_blank" rel="nofollow noopener">Rebalancing data on ZFS mirrors</a></h3>

<blockquote>
<p>One of the questions that comes up time and time again about ZFS is “how can I migrate my data to a pool on a few of my disks, then add the rest of the disks afterward?”</p>

<p>If you just want to get the data moved and don’t care about balance, you can just copy the data over, then add the new disks and be done with it. But, it won’t be distributed evenly over the vdevs in your pool.</p>

<p>Don’t fret, though, it’s actually pretty easy to rebalance mirrors. In the following example, we’ll assume you’ve got four disks in a RAID array on an old machine, and two disks available to copy the data to in the short term.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://web.archive.org/web/20191109121500/https://goblackcat.com/posts/using-openbsd-relayd-to-add-security-headers/" target="_blank" rel="nofollow noopener">Using OpenBSD relayd to Add Security Headers</a></h3>

<blockquote>
<p>I am a huge fan of OpenBSD’s built-in httpd server as it is simple, secure, and quite performant. With the modern push of the large search providers pushing secure websites, it is now important to add security headers to your website or risk having the search results for your website downgraded. Fortunately, it is very easy to do this when you combine httpd with relayd. While relayd is principally designed for layer 3 redirections and layer 7 relays, it just so happens that it makes a handy tool for adding the recommended security headers. My website automatically redirects users from http to https and this gets achieved using a simple redirection in /etc/httpd.conf So if you have a configuration similar to mine, then you will still want to have httpd listen on the egress interface on port 80. The key thing to change here is to have httpd listen on 127.0.0.1 on port 443.</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSOurContainerFilesystems" target="_blank" rel="nofollow noopener">How we set up our ZFS filesystem hierarchy in our ZFS pools</a></h3>

<blockquote>
<p>Our long standing practice here, predating even the first generation of our ZFS fileservers, is that we have two main sorts of filesystems, home directories (homedir filesystems) and what we call 'work directory' (workdir) filesystems. Homedir filesystems are called /h/NNN (for some NNN) and workdir filesystems are called /w/NNN; the NNN is unique across all of the different sorts of filesystems. Users are encouraged to put as much stuff as possible in workdirs and can have as many of them as they want, which mattered a lot more in the days when we used Solaris DiskSuite and had fixed-sized filesystems.</p>
</blockquote>

<hr>

<h3><a href="https://blog.jonlu.ca/posts/speeding-up-zsh" target="_blank" rel="nofollow noopener">Speeding up ZSH</a></h3>

<p><a href="https://web.archive.org/web/20200315184849/https://blog.jonlu.ca/posts/speeding-up-zsh" target="_blank" rel="nofollow noopener">https://web.archive.org/web/20200315184849/https://blog.jonlu.ca/posts/speeding-up-zsh</a></p>

<blockquote>
<p>I was opening multiple shells for an unrelated project today and noticed how abysmal my shell load speed was. After the initial load it was relatively fast, but the actual shell start up was noticeably slow. I timed it with time and these were the results.</p>

<p>In the future I hope to actually recompile zsh with additional profiling techniques and debug information - keeping an internal timer and having a flag output current time for each command in a tree fashion would make building heat maps really easy.</p>
</blockquote>

<hr>

<h3><a href="https://www.vegardstikbakke.com/how-do-pipes-work-sigpipe/" target="_blank" rel="nofollow noopener">How do Unix Pipes work</a></h3>

<blockquote>
<p>Pipes are cool! We saw how handy they are in a previous blog post. Let’s look at a typical way to use the pipe operator. We have some output, and we want to look at the first lines of the output. Let’s download The Brothers Karamazov by Fyodor Dostoevsky, a fairly long novel.</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSHowWeGrowPools" target="_blank" rel="nofollow noopener">What we do to enable us to grow our ZFS pools over time</a></h3>

<blockquote>
<p>In my entry on why ZFS isn't good at growing and reshaping pools, I mentioned that we go to quite some lengths in our ZFS environment to be able to incrementally expand our pools. Today I want to put together all of the pieces of that in one place to discuss what those lengths are.<br>
Our big constraint is that not only do we need to add space to pools over time, but we have a fairly large number of pools and which pools will have space added to them is unpredictable. We need a solution to pool expansion that leaves us with as much flexibility as possible for as long as possible. This pretty much requires being able to expand pools in relatively small increments of space.</p>
</blockquote>

<hr>

<h3><a href="https://blog.farhan.codes/2018/06/25/linux-maintains-bugs-the-real-reason-ifconfig-on-linux-is-deprecated/" target="_blank" rel="nofollow noopener">Linux maintains bugs: The real reason ifconfig on Linux is deprecated</a></h3>

<blockquote>
<p>In my third installment of FreeBSD vs Linux, I will discuss underlying reasons for why Linux moved away from ifconfig(8) to ip(8).</p>
</blockquote>

<p>In the past, when people said, “Linux is a kernel, not an operating system”, I knew that was true but I always thought it was a rather pedantic criticism. Of course no one runs just the Linux kernel, you run a distribution of Linux. But after reviewing userland code, I understand the significant drawbacks to developing “just a kernel” in isolation from the rest of the system.</p>

<hr>

<h3><a href="https://adammusciano.com/2020/03/04/2020-03-04-clear-your-terminal-in-style/" target="_blank" rel="nofollow noopener">Clear Your Terminal in Style</a></h3>

<blockquote>
<p>if you’re someone like me who habitually clears their terminal, sometimes you want a little excitement in your life. Here is a way to do just that.</p>

<p>This post revolves around the idea of giving a command a percent chance of running. While the topic at hand is not serious, this simple technique has potential in your scripts.</p>
</blockquote>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Guy - <a href="http://dpaste.com/2NEPDHB" target="_blank" rel="nofollow noopener">AMD GPU Help</a></li>
<li>MLShroyer13 - <a href="http://dpaste.com/31KBNP4#wrap" target="_blank" rel="nofollow noopener">VLANs and Jails</a></li>
<li>Master One - <a href="http://dpaste.com/0DKM8CF#wrap" target="_blank" rel="nofollow noopener">ZFS Suspend/resume</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0344.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>343: FreeBSD, Corona: Fight!</title>
  <link>https://www.bsdnow.tv/343</link>
  <guid isPermaLink="false">1752e8c2-3d6e-40dc-8bd9-5c7654660b15</guid>
  <pubDate>Thu, 26 Mar 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/1752e8c2-3d6e-40dc-8bd9-5c7654660b15.mp3" length="28131915" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Fighting the Coronavirus with FreeBSD, Wireguard VPN Howto in OPNsense, NomadBSD 1.3.1 available, fresh GhostBSD 20.02, New FuryBSD XFCE and KDE images, pf-badhost 0.3 released, and more.</itunes:subtitle>
  <itunes:duration>39:04</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>&lt;p&gt;Fighting the Coronavirus with FreeBSD, Wireguard VPN Howto in OPNsense, NomadBSD 1.3.1 available, fresh GhostBSD 20.02, New FuryBSD XFCE and KDE images, pf-badhost 0.3 released, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.leidinger.net/blog/2020/03/19/fighting-the-coronavirus-with-freebsd-foldinghome/" target="_blank" rel="nofollow noopener"&gt;Fighting the Coronavirus with FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Here is a quick HOWTO for those who want to provide some FreeBSD based compute resources to help finding vaccines.&lt;/p&gt;

&lt;p&gt;UPDATE 2020-03-22: 0mp@ made a port out of this, it is in “biology/linux-foldingathome”.&lt;/p&gt;

&lt;p&gt;Per default it will now pick up some SARS-CoV‑2 (COVID-19) related folding tasks. There are some more config options (e.g. how much of the system resources are used). Please refer to the official Folding@Home site for more information about that. Be also aware that there is a big rise in compute resources donated to Folding@Home, so the pool of available work units may be empty from time to time, but they are working on adding more work units. Be patient.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://homenetworkguy.com/how-to/configure-wireguard-opnsense/" target="_blank" rel="nofollow noopener"&gt;How to configure the Wireguard VPN in OPNsense&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;WireGuard is a modern designed VPN that uses the latest cryptography for stronger security, is very lightweight, and is relatively easy to set up (mostly). I say ‘mostly’ because I found setting up WireGuard in OPNsense to be more difficult than I anticipated. The basic setup of the WireGuard VPN itself was as easy as the authors claim on their website, but I came across a few gotcha's. The gotcha's occur with functionality that is beyond the scope of the WireGuard protocol so I cannot fault them for that. My greatest struggle was configuring WireGuard to function similarly to my OpenVPN server. I want the ability to connect remotely to my home network from my iPhone or iPad, tunnel all traffic through the VPN, have access to certain devices and services on my network, and have the VPN devices use my home's Internet connection.&lt;/p&gt;

&lt;p&gt;WireGuard behaves more like a SSH server than a typical VPN server. With WireGuard, devices which have shared their cryptographic keys with each other are able to connect via an encrypted tunnel (like a SSH server configured to use keys instead of passwords). The devices that are connecting to one another are referred to as “peer” devices. When the peer device is an OPNsense router with WireGuard installed, for instance, it can be configured to allow access to various resources on your network. It becomes a tunnel into your network similar to OpenVPN (with the appropriate firewall rules enabled). I will refer to the WireGuard installation on OPNsense as the server rather than a “peer” to make it more clear which device I am configuring unless I am describing the user interface because that is the terminology used interchangeably by WireGuard.&lt;/p&gt;

&lt;p&gt;The documentation I found on WireGuard in OPNsense is straightforward and relatively easy to understand, but I had to wrestle with it for a little while to gain a better understanding on how it should be configured. I believe it was partially due to differing end goals – I was trying to achieve something a little different than the authors of other wiki/blog/forum posts. Piecing together various sources of information, I finally ended up with a configuration that met the goals stated above.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://nomadbsd.org/index.html#1.3.1" target="_blank" rel="nofollow noopener"&gt;NomadBSD 1.3.1&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;NomadBSD 1.3.1 has recently been made available. NomadBSD is a lightweight and portable FreeBSD distribution, designed to run on live on a USB flash drive, allowing you to plug, test, and play on different hardware. They have also started a forum as of yesterday, where you can ask questions and mingle with the NomadBSD community. Notable changes in 1.3.1 are base system upgraded to FreeBSD 12.1-p2. automatic network interface setup improved, image size increased to over 4GB, Thunderbird, Zeroconf, and some more listed below.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://ghostbsd.org/20.02_release_announcement" target="_blank" rel="nofollow noopener"&gt;GhostBSD 20.02&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Eric Turgeon, main developer of GhostBSD, has announced version 20.02 of the FreeBSD based operating system. Notable changes are ZFS partition into the custom partition editor installer, allowing you to install alongside with Windows, Linux, or macOS. Other changes are force upgrade all packages on system upgrade, improved update station, and powerd by default for laptop battery performance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.furybsd.org/new-furybsd-12-1-based-images-are-available-for-xfce-and-kde/" target="_blank" rel="nofollow noopener"&gt;New FuryBSD XFCE and KDE images&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This new release is now based on FreeBSD 12.1 with the latest FreeBSD quarterly packages. This brings XFCE up to 4.14, and KDE up to 5.17. In addition to updates this new ISO mostly addresses community bugs, community enhancement requests, and community pull requests. Due to the overwhelming amount of reports with GitHub hosting all new releases are now being pushed to SourceForge only for the time being. Previous releases will still be kept for archive purposes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.geoghegan.ca/pfbadhost.html" target="_blank" rel="nofollow noopener"&gt;pf-badhost 0.3 Released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;pf-badhost is a simple, easy to use badhost blocker that uses the power of the pf firewall to block many of the internet's biggest irritants. Annoyances such as SSH and SMTP bruteforcers are largely eliminated. Shodan scans and bots looking for webservers to abuse are stopped dead in their tracks. When used to filter outbound traffic, pf-badhost blocks many seedy, spooky malware containing and/or compromised webhosts.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2020/03/23/24324.html" target="_blank" rel="nofollow noopener"&gt;DragonFly i915 drm update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.snailtext.com/posts/cshell-is-punk-rock.html" target="_blank" rel="nofollow noopener"&gt;CShell is punk rock&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://minnie.tuhs.org/pipermail/tuhs/2020-March/020664.html" target="_blank" rel="nofollow noopener"&gt;The most surprising Unix programs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Master One - &lt;a href="http://dpaste.com/102HKF5#wrap" target="_blank" rel="nofollow noopener"&gt;Torn between OpenBSD and FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/1VXQA2Y#wrap" target="_blank" rel="nofollow noopener"&gt;Follow up to Linus ZFS story&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Filipe Carvalho - &lt;a href="http://dpaste.com/2H7S8YP" target="_blank" rel="nofollow noopener"&gt;Call for Portuguese BSD User Groups&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0343.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, corona, corona virus, covid-19, foldingathome, folding at home, wireguard, vpn, opnsense, nomadbsd, ghostbsd, furybsd, xfce, kde, pf, pf-badhost </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Fighting the Coronavirus with FreeBSD, Wireguard VPN Howto in OPNsense, NomadBSD 1.3.1 available, fresh GhostBSD 20.02, New FuryBSD XFCE and KDE images, pf-badhost 0.3 released, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.leidinger.net/blog/2020/03/19/fighting-the-coronavirus-with-freebsd-foldinghome/" target="_blank" rel="nofollow noopener">Fighting the Coronavirus with FreeBSD</a></h3>

<blockquote>
<p>Here is a quick HOWTO for those who want to provide some FreeBSD based compute resources to help finding vaccines.</p>

<p>UPDATE 2020-03-22: 0mp@ made a port out of this, it is in “biology/linux-foldingathome”.</p>

<p>Per default it will now pick up some SARS-CoV‑2 (COVID-19) related folding tasks. There are some more config options (e.g. how much of the system resources are used). Please refer to the official Folding@Home site for more information about that. Be also aware that there is a big rise in compute resources donated to Folding@Home, so the pool of available work units may be empty from time to time, but they are working on adding more work units. Be patient.</p>
</blockquote>

<hr>

<h3><a href="https://homenetworkguy.com/how-to/configure-wireguard-opnsense/" target="_blank" rel="nofollow noopener">How to configure the Wireguard VPN in OPNsense</a></h3>

<blockquote>
<p>WireGuard is a modern designed VPN that uses the latest cryptography for stronger security, is very lightweight, and is relatively easy to set up (mostly). I say ‘mostly’ because I found setting up WireGuard in OPNsense to be more difficult than I anticipated. The basic setup of the WireGuard VPN itself was as easy as the authors claim on their website, but I came across a few gotcha's. The gotcha's occur with functionality that is beyond the scope of the WireGuard protocol so I cannot fault them for that. My greatest struggle was configuring WireGuard to function similarly to my OpenVPN server. I want the ability to connect remotely to my home network from my iPhone or iPad, tunnel all traffic through the VPN, have access to certain devices and services on my network, and have the VPN devices use my home's Internet connection.</p>

<p>WireGuard behaves more like a SSH server than a typical VPN server. With WireGuard, devices which have shared their cryptographic keys with each other are able to connect via an encrypted tunnel (like a SSH server configured to use keys instead of passwords). The devices that are connecting to one another are referred to as “peer” devices. When the peer device is an OPNsense router with WireGuard installed, for instance, it can be configured to allow access to various resources on your network. It becomes a tunnel into your network similar to OpenVPN (with the appropriate firewall rules enabled). I will refer to the WireGuard installation on OPNsense as the server rather than a “peer” to make it more clear which device I am configuring unless I am describing the user interface because that is the terminology used interchangeably by WireGuard.</p>

<p>The documentation I found on WireGuard in OPNsense is straightforward and relatively easy to understand, but I had to wrestle with it for a little while to gain a better understanding on how it should be configured. I believe it was partially due to differing end goals – I was trying to achieve something a little different than the authors of other wiki/blog/forum posts. Piecing together various sources of information, I finally ended up with a configuration that met the goals stated above.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://nomadbsd.org/index.html#1.3.1" target="_blank" rel="nofollow noopener">NomadBSD 1.3.1</a></h3>

<blockquote>
<p>NomadBSD 1.3.1 has recently been made available. NomadBSD is a lightweight and portable FreeBSD distribution, designed to run on live on a USB flash drive, allowing you to plug, test, and play on different hardware. They have also started a forum as of yesterday, where you can ask questions and mingle with the NomadBSD community. Notable changes in 1.3.1 are base system upgraded to FreeBSD 12.1-p2. automatic network interface setup improved, image size increased to over 4GB, Thunderbird, Zeroconf, and some more listed below.</p>
</blockquote>

<hr>

<h3><a href="https://ghostbsd.org/20.02_release_announcement" target="_blank" rel="nofollow noopener">GhostBSD 20.02</a></h3>

<blockquote>
<p>Eric Turgeon, main developer of GhostBSD, has announced version 20.02 of the FreeBSD based operating system. Notable changes are ZFS partition into the custom partition editor installer, allowing you to install alongside with Windows, Linux, or macOS. Other changes are force upgrade all packages on system upgrade, improved update station, and powerd by default for laptop battery performance.</p>
</blockquote>

<hr>

<h3><a href="https://www.furybsd.org/new-furybsd-12-1-based-images-are-available-for-xfce-and-kde/" target="_blank" rel="nofollow noopener">New FuryBSD XFCE and KDE images</a></h3>

<blockquote>
<p>This new release is now based on FreeBSD 12.1 with the latest FreeBSD quarterly packages. This brings XFCE up to 4.14, and KDE up to 5.17. In addition to updates this new ISO mostly addresses community bugs, community enhancement requests, and community pull requests. Due to the overwhelming amount of reports with GitHub hosting all new releases are now being pushed to SourceForge only for the time being. Previous releases will still be kept for archive purposes.</p>
</blockquote>

<hr>

<h3><a href="https://www.geoghegan.ca/pfbadhost.html" target="_blank" rel="nofollow noopener">pf-badhost 0.3 Released</a></h3>

<blockquote>
<p>pf-badhost is a simple, easy to use badhost blocker that uses the power of the pf firewall to block many of the internet's biggest irritants. Annoyances such as SSH and SMTP bruteforcers are largely eliminated. Shodan scans and bots looking for webservers to abuse are stopped dead in their tracks. When used to filter outbound traffic, pf-badhost blocks many seedy, spooky malware containing and/or compromised webhosts.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2020/03/23/24324.html" target="_blank" rel="nofollow noopener">DragonFly i915 drm update</a></li>
<li><a href="http://blog.snailtext.com/posts/cshell-is-punk-rock.html" target="_blank" rel="nofollow noopener">CShell is punk rock</a></li>
<li><a href="https://minnie.tuhs.org/pipermail/tuhs/2020-March/020664.html" target="_blank" rel="nofollow noopener">The most surprising Unix programs</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Master One - <a href="http://dpaste.com/102HKF5#wrap" target="_blank" rel="nofollow noopener">Torn between OpenBSD and FreeBSD</a></li>
<li>Brad - <a href="http://dpaste.com/1VXQA2Y#wrap" target="_blank" rel="nofollow noopener">Follow up to Linus ZFS story</a></li>
<li>Filipe Carvalho - <a href="http://dpaste.com/2H7S8YP" target="_blank" rel="nofollow noopener">Call for Portuguese BSD User Groups</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0343.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Fighting the Coronavirus with FreeBSD, Wireguard VPN Howto in OPNsense, NomadBSD 1.3.1 available, fresh GhostBSD 20.02, New FuryBSD XFCE and KDE images, pf-badhost 0.3 released, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.leidinger.net/blog/2020/03/19/fighting-the-coronavirus-with-freebsd-foldinghome/" target="_blank" rel="nofollow noopener">Fighting the Coronavirus with FreeBSD</a></h3>

<blockquote>
<p>Here is a quick HOWTO for those who want to provide some FreeBSD based compute resources to help finding vaccines.</p>

<p>UPDATE 2020-03-22: 0mp@ made a port out of this, it is in “biology/linux-foldingathome”.</p>

<p>Per default it will now pick up some SARS-CoV‑2 (COVID-19) related folding tasks. There are some more config options (e.g. how much of the system resources are used). Please refer to the official Folding@Home site for more information about that. Be also aware that there is a big rise in compute resources donated to Folding@Home, so the pool of available work units may be empty from time to time, but they are working on adding more work units. Be patient.</p>
</blockquote>

<hr>

<h3><a href="https://homenetworkguy.com/how-to/configure-wireguard-opnsense/" target="_blank" rel="nofollow noopener">How to configure the Wireguard VPN in OPNsense</a></h3>

<blockquote>
<p>WireGuard is a modern designed VPN that uses the latest cryptography for stronger security, is very lightweight, and is relatively easy to set up (mostly). I say ‘mostly’ because I found setting up WireGuard in OPNsense to be more difficult than I anticipated. The basic setup of the WireGuard VPN itself was as easy as the authors claim on their website, but I came across a few gotcha's. The gotcha's occur with functionality that is beyond the scope of the WireGuard protocol so I cannot fault them for that. My greatest struggle was configuring WireGuard to function similarly to my OpenVPN server. I want the ability to connect remotely to my home network from my iPhone or iPad, tunnel all traffic through the VPN, have access to certain devices and services on my network, and have the VPN devices use my home's Internet connection.</p>

<p>WireGuard behaves more like a SSH server than a typical VPN server. With WireGuard, devices which have shared their cryptographic keys with each other are able to connect via an encrypted tunnel (like a SSH server configured to use keys instead of passwords). The devices that are connecting to one another are referred to as “peer” devices. When the peer device is an OPNsense router with WireGuard installed, for instance, it can be configured to allow access to various resources on your network. It becomes a tunnel into your network similar to OpenVPN (with the appropriate firewall rules enabled). I will refer to the WireGuard installation on OPNsense as the server rather than a “peer” to make it more clear which device I am configuring unless I am describing the user interface because that is the terminology used interchangeably by WireGuard.</p>

<p>The documentation I found on WireGuard in OPNsense is straightforward and relatively easy to understand, but I had to wrestle with it for a little while to gain a better understanding on how it should be configured. I believe it was partially due to differing end goals – I was trying to achieve something a little different than the authors of other wiki/blog/forum posts. Piecing together various sources of information, I finally ended up with a configuration that met the goals stated above.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://nomadbsd.org/index.html#1.3.1" target="_blank" rel="nofollow noopener">NomadBSD 1.3.1</a></h3>

<blockquote>
<p>NomadBSD 1.3.1 has recently been made available. NomadBSD is a lightweight and portable FreeBSD distribution, designed to run on live on a USB flash drive, allowing you to plug, test, and play on different hardware. They have also started a forum as of yesterday, where you can ask questions and mingle with the NomadBSD community. Notable changes in 1.3.1 are base system upgraded to FreeBSD 12.1-p2. automatic network interface setup improved, image size increased to over 4GB, Thunderbird, Zeroconf, and some more listed below.</p>
</blockquote>

<hr>

<h3><a href="https://ghostbsd.org/20.02_release_announcement" target="_blank" rel="nofollow noopener">GhostBSD 20.02</a></h3>

<blockquote>
<p>Eric Turgeon, main developer of GhostBSD, has announced version 20.02 of the FreeBSD based operating system. Notable changes are ZFS partition into the custom partition editor installer, allowing you to install alongside with Windows, Linux, or macOS. Other changes are force upgrade all packages on system upgrade, improved update station, and powerd by default for laptop battery performance.</p>
</blockquote>

<hr>

<h3><a href="https://www.furybsd.org/new-furybsd-12-1-based-images-are-available-for-xfce-and-kde/" target="_blank" rel="nofollow noopener">New FuryBSD XFCE and KDE images</a></h3>

<blockquote>
<p>This new release is now based on FreeBSD 12.1 with the latest FreeBSD quarterly packages. This brings XFCE up to 4.14, and KDE up to 5.17. In addition to updates this new ISO mostly addresses community bugs, community enhancement requests, and community pull requests. Due to the overwhelming amount of reports with GitHub hosting all new releases are now being pushed to SourceForge only for the time being. Previous releases will still be kept for archive purposes.</p>
</blockquote>

<hr>

<h3><a href="https://www.geoghegan.ca/pfbadhost.html" target="_blank" rel="nofollow noopener">pf-badhost 0.3 Released</a></h3>

<blockquote>
<p>pf-badhost is a simple, easy to use badhost blocker that uses the power of the pf firewall to block many of the internet's biggest irritants. Annoyances such as SSH and SMTP bruteforcers are largely eliminated. Shodan scans and bots looking for webservers to abuse are stopped dead in their tracks. When used to filter outbound traffic, pf-badhost blocks many seedy, spooky malware containing and/or compromised webhosts.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2020/03/23/24324.html" target="_blank" rel="nofollow noopener">DragonFly i915 drm update</a></li>
<li><a href="http://blog.snailtext.com/posts/cshell-is-punk-rock.html" target="_blank" rel="nofollow noopener">CShell is punk rock</a></li>
<li><a href="https://minnie.tuhs.org/pipermail/tuhs/2020-March/020664.html" target="_blank" rel="nofollow noopener">The most surprising Unix programs</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Master One - <a href="http://dpaste.com/102HKF5#wrap" target="_blank" rel="nofollow noopener">Torn between OpenBSD and FreeBSD</a></li>
<li>Brad - <a href="http://dpaste.com/1VXQA2Y#wrap" target="_blank" rel="nofollow noopener">Follow up to Linus ZFS story</a></li>
<li>Filipe Carvalho - <a href="http://dpaste.com/2H7S8YP" target="_blank" rel="nofollow noopener">Call for Portuguese BSD User Groups</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0343.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>342: Layout the DVA</title>
  <link>https://www.bsdnow.tv/342</link>
  <guid isPermaLink="false">d6b1fa91-dcee-41e7-9e1c-b0f240d34ea0</guid>
  <pubDate>Thu, 19 Mar 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d6b1fa91-dcee-41e7-9e1c-b0f240d34ea0.mp3" length="34437665" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD Full disk encryption with coreboot and tianocore, FreeBSD 12.0 EOL, ZFS DVA layout, OpenBSD’s Go situation, AD updates requires changes in TrueNAS and FreeNAS, full name of FreeBSD’s root account, and more.</itunes:subtitle>
  <itunes:duration>47: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>&lt;p&gt;OpenBSD Full disk encryption with coreboot and tianocore, FreeBSD 12.0 EOL, ZFS DVA layout, OpenBSD’s Go situation, AD updates requires changes in TrueNAS and FreeNAS, full name of FreeBSD’s root account, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://functionallyparanoid.com/2020/03/07/openbsd-full-disk-encryption-with-coreboot-and-tianocore-payload/" target="_blank" rel="nofollow noopener"&gt;OpenBSD Full Disk Encryption with CoreBoot and Tianocore Payload&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;It has been a while since I have posted here so I wanted to share something that was surprisingly difficult for me to figure out.  I have a Thinkpad T440p that I have flashed with Coreboot 4.11 with some special patches that allow the newer machine to work.  When I got the laptop, the default BIOS was UEFI and I installed two operating systems.&lt;/p&gt;

&lt;p&gt;Windows 10 with bitlocker full disk encryption on the “normal” drive (I replaced the spinning 2.5″ disk with an SSD)&lt;/p&gt;

&lt;p&gt;Ubuntu 19.10 on the m.2 SATA drive that I installed using LUKS full disk encryption&lt;/p&gt;

&lt;p&gt;I purchased one of those carriers for the optical bay that allows you to install a third SSD and so I did that with the intent of putting OpenBSD on it.  Since my other two operating systems were running full disk encryption, I wanted to do the same on OpenBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See article for rest of story&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-announce/2020-February/001930.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.0 EOL&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Dear FreeBSD community,&lt;/p&gt;

&lt;p&gt;As of February 29, 2020, FreeBSD 12.0 will reach end-of-life and will no longer be supported by the FreeBSD Security Team.  Users of FreeBSD 12.0 are strongly encouraged to upgrade to a newer release as soon as possible.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/releases/12.1R/announce.html" target="_blank" rel="nofollow noopener"&gt;12.1 Active release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/releases/12.2R/schedule.html" target="_blank" rel="nofollow noopener"&gt;12.2 Release Schedule&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSDVAFormatAndGrowth" target="_blank" rel="nofollow noopener"&gt;Some effects of the ZFS DVA format on data layout and growing ZFS pools&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;One piece of ZFS terminology is DVA and DVAs, which is short for Data Virtual Address. For ZFS, a DVA is the equivalent of a block number in other filesystems; it tells ZFS where to find whatever data we're talking about. The short summary of what fields DVAs have and what they mean is that DVAs tell us how to find blocks by giving us their vdev (by number) and their byte offset into that particular vdev (and then their size). A typical DVA might say that you find what it's talking about on vdev 0 at byte offset 0x53a40ed000. There are some consequences of this that I hadn't really thought about until the other day.&lt;/p&gt;

&lt;p&gt;Right away we can see why ZFS has a problem removing a vdev; the vdev's number is burned into every DVA that refers to data on it. If there's no vdev 0 in the pool, ZFS has no idea where to even start looking for data because all addressing is relative to the vdev. ZFS pool shrinking gets around this by adding a translation layer that says where to find the portions of vdev 0 that you care about after it's been removed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/active-directory-truenas-and-freenas/" target="_blank" rel="nofollow noopener"&gt;Warning! Active Directory Security Changes Require TrueNAS and FreeNAS Updates.&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Critical Information for Current FreeNAS and TrueNAS Users&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Microsoft is changing the security defaults for Active Directory to eliminate some security vulnerabilities in its protocols. Unfortunately, these new security defaults may disrupt existing FreeNAS/TrueNAS deployments once Windows systems are updated. The Windows updates may appear sometime in March 2020; no official date has been announced as of yet.&lt;/p&gt;

&lt;p&gt;FreeNAS and TrueNAS users that utilize Active Directory should update to version 11.3 (or 11.2-U8) to avoid potential disruption of their networks when updating to the latest versions of Windows software after March 1, 2020. Version 11.3 has been released and version 11.2-U8 will be available in early March.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.geeklan.co.uk/?p=2457" target="_blank" rel="nofollow noopener"&gt;Full name of the FreeBSD Root Account&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;NetBSD now has a users(7) and groups(7) manual. Looking into what entries existed in the passwd and group files I wondered about root’s full name who we now know as Charlie Root in the BSDs....&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/programming/GoOpenBSDSituation" target="_blank" rel="nofollow noopener"&gt;OpenBSD Go Situation&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Over in the fediverse, Pete Zaitcev had a reaction to my entry on OpenBSD versus Prometheus for us:&lt;/p&gt;

&lt;p&gt;I don't think the situation is usually that bad. Our situation with Prometheus is basically a worst case scenario for Go on OpenBSD, and most people will have much better results, especially if you stick to supported OpenBSD versions.&lt;/p&gt;

&lt;p&gt;If you stick to supported OpenBSD versions, upgrading your machines as older OpenBSD releases fall out of support (as the OpenBSD people want you to do), you should not have any problems with your own Go programs. The latest Go release will support the currently supported OpenBSD versions (as long as OpenBSD remains a supported platform for Go), and the Go 1.0 compatibility guarantee means that you can always rebuild your current Go programs with newer versions of Go. You might have problems with compiled binaries that you don't want to rebuild, but my understanding is that this is the case for OpenBSD in general; it doesn't guarantee a stable ABI even for C programs (cf). If you use OpenBSD, you have to be prepared to rebuild your code after OpenBSD upgrades regardless of what language it's written in.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.nycbug.org/pipermail/talk/2020-February/018174.html" target="_blank" rel="nofollow noopener"&gt;Test your TOR&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opnsense.org/opnsense-20-1-1-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 20.1.1 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/ports?view=revision&amp;amp;revision=525794" target="_blank" rel="nofollow noopener"&gt;pkg for FreeBSD 1.13&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3WKG09D#wrap" target="_blank" rel="nofollow noopener"&gt;Bostjan writes in about Wireguard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0DDN99Q#wrap" target="_blank" rel="nofollow noopener"&gt;Charlie has a followup to wpa_supplicant as lower class citizen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1N12HFB#wrap" target="_blank" rel="nofollow noopener"&gt;Lars writes about LibreSSL as a positive example&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0342.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, full disk encryption, crypto, coreboot, tianocore, payload, end of life, zfs, openzfs, dva, dva layout, pool, zpool, go, active directory, root account, root</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD Full disk encryption with coreboot and tianocore, FreeBSD 12.0 EOL, ZFS DVA layout, OpenBSD’s Go situation, AD updates requires changes in TrueNAS and FreeNAS, full name of FreeBSD’s root account, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://functionallyparanoid.com/2020/03/07/openbsd-full-disk-encryption-with-coreboot-and-tianocore-payload/" target="_blank" rel="nofollow noopener">OpenBSD Full Disk Encryption with CoreBoot and Tianocore Payload</a></h3>

<blockquote>
<p>It has been a while since I have posted here so I wanted to share something that was surprisingly difficult for me to figure out.  I have a Thinkpad T440p that I have flashed with Coreboot 4.11 with some special patches that allow the newer machine to work.  When I got the laptop, the default BIOS was UEFI and I installed two operating systems.</p>

<p>Windows 10 with bitlocker full disk encryption on the “normal” drive (I replaced the spinning 2.5″ disk with an SSD)</p>

<p>Ubuntu 19.10 on the m.2 SATA drive that I installed using LUKS full disk encryption</p>

<p>I purchased one of those carriers for the optical bay that allows you to install a third SSD and so I did that with the intent of putting OpenBSD on it.  Since my other two operating systems were running full disk encryption, I wanted to do the same on OpenBSD.</p>
</blockquote>

<ul>
<li>See article for rest of story</li>
</ul>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2020-February/001930.html" target="_blank" rel="nofollow noopener">FreeBSD 12.0 EOL</a></h3>

<blockquote>
<p>Dear FreeBSD community,</p>

<p>As of February 29, 2020, FreeBSD 12.0 will reach end-of-life and will no longer be supported by the FreeBSD Security Team.  Users of FreeBSD 12.0 are strongly encouraged to upgrade to a newer release as soon as possible.</p>
</blockquote>

<ul>
<li><a href="https://www.freebsd.org/releases/12.1R/announce.html" target="_blank" rel="nofollow noopener">12.1 Active release</a></li>
<li><a href="https://www.freebsd.org/releases/12.2R/schedule.html" target="_blank" rel="nofollow noopener">12.2 Release Schedule</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSDVAFormatAndGrowth" target="_blank" rel="nofollow noopener">Some effects of the ZFS DVA format on data layout and growing ZFS pools</a></h3>

<blockquote>
<p>One piece of ZFS terminology is DVA and DVAs, which is short for Data Virtual Address. For ZFS, a DVA is the equivalent of a block number in other filesystems; it tells ZFS where to find whatever data we're talking about. The short summary of what fields DVAs have and what they mean is that DVAs tell us how to find blocks by giving us their vdev (by number) and their byte offset into that particular vdev (and then their size). A typical DVA might say that you find what it's talking about on vdev 0 at byte offset 0x53a40ed000. There are some consequences of this that I hadn't really thought about until the other day.</p>

<p>Right away we can see why ZFS has a problem removing a vdev; the vdev's number is burned into every DVA that refers to data on it. If there's no vdev 0 in the pool, ZFS has no idea where to even start looking for data because all addressing is relative to the vdev. ZFS pool shrinking gets around this by adding a translation layer that says where to find the portions of vdev 0 that you care about after it's been removed.</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/active-directory-truenas-and-freenas/" target="_blank" rel="nofollow noopener">Warning! Active Directory Security Changes Require TrueNAS and FreeNAS Updates.</a></h3>

<ul>
<li>Critical Information for Current FreeNAS and TrueNAS Users</li>
</ul>

<blockquote>
<p>Microsoft is changing the security defaults for Active Directory to eliminate some security vulnerabilities in its protocols. Unfortunately, these new security defaults may disrupt existing FreeNAS/TrueNAS deployments once Windows systems are updated. The Windows updates may appear sometime in March 2020; no official date has been announced as of yet.</p>

<p>FreeNAS and TrueNAS users that utilize Active Directory should update to version 11.3 (or 11.2-U8) to avoid potential disruption of their networks when updating to the latest versions of Windows software after March 1, 2020. Version 11.3 has been released and version 11.2-U8 will be available in early March.</p>
</blockquote>

<hr>

<h3><a href="https://www.geeklan.co.uk/?p=2457" target="_blank" rel="nofollow noopener">Full name of the FreeBSD Root Account</a></h3>

<blockquote>
<p>NetBSD now has a users(7) and groups(7) manual. Looking into what entries existed in the passwd and group files I wondered about root’s full name who we now know as Charlie Root in the BSDs....</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/programming/GoOpenBSDSituation" target="_blank" rel="nofollow noopener">OpenBSD Go Situation</a></h3>

<blockquote>
<p>Over in the fediverse, Pete Zaitcev had a reaction to my entry on OpenBSD versus Prometheus for us:</p>

<p>I don't think the situation is usually that bad. Our situation with Prometheus is basically a worst case scenario for Go on OpenBSD, and most people will have much better results, especially if you stick to supported OpenBSD versions.</p>

<p>If you stick to supported OpenBSD versions, upgrading your machines as older OpenBSD releases fall out of support (as the OpenBSD people want you to do), you should not have any problems with your own Go programs. The latest Go release will support the currently supported OpenBSD versions (as long as OpenBSD remains a supported platform for Go), and the Go 1.0 compatibility guarantee means that you can always rebuild your current Go programs with newer versions of Go. You might have problems with compiled binaries that you don't want to rebuild, but my understanding is that this is the case for OpenBSD in general; it doesn't guarantee a stable ABI even for C programs (cf). If you use OpenBSD, you have to be prepared to rebuild your code after OpenBSD upgrades regardless of what language it's written in.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.nycbug.org/pipermail/talk/2020-February/018174.html" target="_blank" rel="nofollow noopener">Test your TOR</a></li>
<li><a href="https://opnsense.org/opnsense-20-1-1-released/" target="_blank" rel="nofollow noopener">OPNsense 20.1.1 released</a></li>
<li><a href="https://svnweb.freebsd.org/ports?view=revision&amp;revision=525794" target="_blank" rel="nofollow noopener">pkg for FreeBSD 1.13</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/3WKG09D#wrap" target="_blank" rel="nofollow noopener">Bostjan writes in about Wireguard</a></li>
<li><a href="http://dpaste.com/0DDN99Q#wrap" target="_blank" rel="nofollow noopener">Charlie has a followup to wpa_supplicant as lower class citizen</a></li>
<li><a href="http://dpaste.com/1N12HFB#wrap" target="_blank" rel="nofollow noopener">Lars writes about LibreSSL as a positive example</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0342.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD Full disk encryption with coreboot and tianocore, FreeBSD 12.0 EOL, ZFS DVA layout, OpenBSD’s Go situation, AD updates requires changes in TrueNAS and FreeNAS, full name of FreeBSD’s root account, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://functionallyparanoid.com/2020/03/07/openbsd-full-disk-encryption-with-coreboot-and-tianocore-payload/" target="_blank" rel="nofollow noopener">OpenBSD Full Disk Encryption with CoreBoot and Tianocore Payload</a></h3>

<blockquote>
<p>It has been a while since I have posted here so I wanted to share something that was surprisingly difficult for me to figure out.  I have a Thinkpad T440p that I have flashed with Coreboot 4.11 with some special patches that allow the newer machine to work.  When I got the laptop, the default BIOS was UEFI and I installed two operating systems.</p>

<p>Windows 10 with bitlocker full disk encryption on the “normal” drive (I replaced the spinning 2.5″ disk with an SSD)</p>

<p>Ubuntu 19.10 on the m.2 SATA drive that I installed using LUKS full disk encryption</p>

<p>I purchased one of those carriers for the optical bay that allows you to install a third SSD and so I did that with the intent of putting OpenBSD on it.  Since my other two operating systems were running full disk encryption, I wanted to do the same on OpenBSD.</p>
</blockquote>

<ul>
<li>See article for rest of story</li>
</ul>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2020-February/001930.html" target="_blank" rel="nofollow noopener">FreeBSD 12.0 EOL</a></h3>

<blockquote>
<p>Dear FreeBSD community,</p>

<p>As of February 29, 2020, FreeBSD 12.0 will reach end-of-life and will no longer be supported by the FreeBSD Security Team.  Users of FreeBSD 12.0 are strongly encouraged to upgrade to a newer release as soon as possible.</p>
</blockquote>

<ul>
<li><a href="https://www.freebsd.org/releases/12.1R/announce.html" target="_blank" rel="nofollow noopener">12.1 Active release</a></li>
<li><a href="https://www.freebsd.org/releases/12.2R/schedule.html" target="_blank" rel="nofollow noopener">12.2 Release Schedule</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSDVAFormatAndGrowth" target="_blank" rel="nofollow noopener">Some effects of the ZFS DVA format on data layout and growing ZFS pools</a></h3>

<blockquote>
<p>One piece of ZFS terminology is DVA and DVAs, which is short for Data Virtual Address. For ZFS, a DVA is the equivalent of a block number in other filesystems; it tells ZFS where to find whatever data we're talking about. The short summary of what fields DVAs have and what they mean is that DVAs tell us how to find blocks by giving us their vdev (by number) and their byte offset into that particular vdev (and then their size). A typical DVA might say that you find what it's talking about on vdev 0 at byte offset 0x53a40ed000. There are some consequences of this that I hadn't really thought about until the other day.</p>

<p>Right away we can see why ZFS has a problem removing a vdev; the vdev's number is burned into every DVA that refers to data on it. If there's no vdev 0 in the pool, ZFS has no idea where to even start looking for data because all addressing is relative to the vdev. ZFS pool shrinking gets around this by adding a translation layer that says where to find the portions of vdev 0 that you care about after it's been removed.</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/active-directory-truenas-and-freenas/" target="_blank" rel="nofollow noopener">Warning! Active Directory Security Changes Require TrueNAS and FreeNAS Updates.</a></h3>

<ul>
<li>Critical Information for Current FreeNAS and TrueNAS Users</li>
</ul>

<blockquote>
<p>Microsoft is changing the security defaults for Active Directory to eliminate some security vulnerabilities in its protocols. Unfortunately, these new security defaults may disrupt existing FreeNAS/TrueNAS deployments once Windows systems are updated. The Windows updates may appear sometime in March 2020; no official date has been announced as of yet.</p>

<p>FreeNAS and TrueNAS users that utilize Active Directory should update to version 11.3 (or 11.2-U8) to avoid potential disruption of their networks when updating to the latest versions of Windows software after March 1, 2020. Version 11.3 has been released and version 11.2-U8 will be available in early March.</p>
</blockquote>

<hr>

<h3><a href="https://www.geeklan.co.uk/?p=2457" target="_blank" rel="nofollow noopener">Full name of the FreeBSD Root Account</a></h3>

<blockquote>
<p>NetBSD now has a users(7) and groups(7) manual. Looking into what entries existed in the passwd and group files I wondered about root’s full name who we now know as Charlie Root in the BSDs....</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/programming/GoOpenBSDSituation" target="_blank" rel="nofollow noopener">OpenBSD Go Situation</a></h3>

<blockquote>
<p>Over in the fediverse, Pete Zaitcev had a reaction to my entry on OpenBSD versus Prometheus for us:</p>

<p>I don't think the situation is usually that bad. Our situation with Prometheus is basically a worst case scenario for Go on OpenBSD, and most people will have much better results, especially if you stick to supported OpenBSD versions.</p>

<p>If you stick to supported OpenBSD versions, upgrading your machines as older OpenBSD releases fall out of support (as the OpenBSD people want you to do), you should not have any problems with your own Go programs. The latest Go release will support the currently supported OpenBSD versions (as long as OpenBSD remains a supported platform for Go), and the Go 1.0 compatibility guarantee means that you can always rebuild your current Go programs with newer versions of Go. You might have problems with compiled binaries that you don't want to rebuild, but my understanding is that this is the case for OpenBSD in general; it doesn't guarantee a stable ABI even for C programs (cf). If you use OpenBSD, you have to be prepared to rebuild your code after OpenBSD upgrades regardless of what language it's written in.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.nycbug.org/pipermail/talk/2020-February/018174.html" target="_blank" rel="nofollow noopener">Test your TOR</a></li>
<li><a href="https://opnsense.org/opnsense-20-1-1-released/" target="_blank" rel="nofollow noopener">OPNsense 20.1.1 released</a></li>
<li><a href="https://svnweb.freebsd.org/ports?view=revision&amp;revision=525794" target="_blank" rel="nofollow noopener">pkg for FreeBSD 1.13</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/3WKG09D#wrap" target="_blank" rel="nofollow noopener">Bostjan writes in about Wireguard</a></li>
<li><a href="http://dpaste.com/0DDN99Q#wrap" target="_blank" rel="nofollow noopener">Charlie has a followup to wpa_supplicant as lower class citizen</a></li>
<li><a href="http://dpaste.com/1N12HFB#wrap" target="_blank" rel="nofollow noopener">Lars writes about LibreSSL as a positive example</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0342.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>341: U-NAS-ification</title>
  <link>https://www.bsdnow.tv/341</link>
  <guid isPermaLink="false">28217a13-b389-4ab7-bc99-8a6f5d61e5b5</guid>
  <pubDate>Thu, 12 Mar 2020 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/28217a13-b389-4ab7-bc99-8a6f5d61e5b5.mp3" length="36740725" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD on Power, DragonflyBSD 5.8 is here, Unifying FreeNAS/TrueNAS, OpenBSD vs. Prometheus and Go, gcc 4.2.1 removed from FreeBSD base, and more.</itunes:subtitle>
  <itunes:duration>51:01</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>&lt;p&gt;FreeBSD on Power, DragonflyBSD 5.8 is here, Unifying FreeNAS/TrueNAS, OpenBSD vs. Prometheus and Go, gcc 4.2.1 removed from FreeBSD base, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/power-to-the-people-making-freebsd-a-first-class-citizen-on-power/" target="_blank" rel="nofollow noopener"&gt;FreeBSD on Power&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The power and promise of all open source software is freedom. Another way to express freedom is choice — choice of platforms, deployment models, stacks, configurations, etc.&lt;/p&gt;

&lt;p&gt;The FreeBSD Foundation is dedicated to supporting and promoting the FreeBSD Project and community worldwide. But, what does this mean, exactly, you may wonder. The truth is it means many different things, but in all cases the Foundation acts to expand freedom and choice so that FreeBSD users have the power to serve their varied compute needs.&lt;/p&gt;

&lt;p&gt;This blog tells the story of one specific way the Foundation helps a member of the community provide greater hardware choice for all FreeBSD users.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflybsd.org/release58/" target="_blank" rel="nofollow noopener"&gt;Dragonfly 5.8&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;DragonFly version 5.8 brings a new dsynth utility for building your own binary dports packages, plus significant support work to speed up that build - up to and including the entire collection. Additional progress has been made on GPU and signal support.&lt;/p&gt;

&lt;p&gt;The details of all commits between the 5.6 and 5.8 branches are available in the associated commit messages for 5.8.0rc1 and 5.8.0. Also see /usr/src/UPDATING for specific file changes in PAM.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See article for rest of information&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.hambug.ca/" target="_blank" rel="nofollow noopener"&gt;2nd HamBUG meeting recap&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The second meeting of the Hamilton BSD Users Group took place last night&lt;/li&gt;
&lt;li&gt;The next meeting is scheduled for the 2nd Tuesday of the month, April 14th 2020&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/freenas-truenas-unification/" target="_blank" rel="nofollow noopener"&gt;FreeNAS/TrueNAS Brand Unification&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeNAS and TrueNAS have been separate-but-related members of the #1 Open Source storage software family since 2012. FreeNAS is the free Open Source version with an expert community and has led the pursuit of innovations like Plugins and VMs. TrueNAS is the enterprise version for organizations of all sizes that need additional uptime and performance, as well as the enterprise-grade support necessary for critical data and applications. &lt;/p&gt;

&lt;p&gt;From the beginning at iXsystems, we’ve developed, tested, documented, and released both as separate products, even though the vast majority of code is shared. This was a deliberate technical decision in the beginning but over time became less of a necessity and more of “just how we’ve always done it”. Furthermore, to change it was going to require a serious overhaul to how we build and package both products, among other things, so we continued to kick the can down the road. As we made systematic improvements to development and QA efficiency over the past few years, the redundant release process became almost impossible to ignore as our next major efficiency roadblock to overcome. So, we’ve finally rolled up our sleeves.&lt;/p&gt;

&lt;p&gt;With the recent 11.3 release, TrueNAS gained parity with FreeNAS on features like VMs and Plugins, further homogenizing the code. Today, we announce the next phase of evolution for FreeNAS and TrueNAS. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/OpenBSDVsPrometheusAndGo" target="_blank" rel="nofollow noopener"&gt;OpenBSD versus Prometheus (and Go).&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We have a decent number of OpenBSD machines that do important things (and that have sometimes experienced problems like running out of disk space), and we have a Prometheus based metrics and monitoring system. The Prometheus host agent has enough support for OpenBSD to be able to report on critical metrics, including things like local disk space. Despite all of this, after some investigation I've determined that it's not really sensible to even try to deploy the host agent on our OpenBSD machines. This is due to a combination of factors that have at their root OpenBSD's lack of ABI stability&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=358454" target="_blank" rel="nofollow noopener"&gt;FreeBSD removed gcc from base&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As described in Warner's email message[1] to the FreeBSD-arch mailing list we have reached GCC 4.2.1's retirement date.  At this time all supported architectures either use in-tree Clang, or rely on external toolchain (i.e., a contemporary GCC version from ports).&lt;/p&gt;

&lt;p&gt;GCC 4.2.1 was released July 18, 2007 and was imported into FreeBSD later that year, in r171825.  GCC has served us well, but version 4.2.1 is obsolete and not used by default on any architecture in FreeBSD.  It does not support modern C and does not support arm64 or RISC-V.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2020/03/10/24276.html" target="_blank" rel="nofollow noopener"&gt;New Archive location for Dragonfly 4.x&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hub.iwebthings.com/a-dead-simple-git-cheatsheet/" target="_blank" rel="nofollow noopener"&gt;A dead simple git cheat sheet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/lattera/status/1233412881569415168" target="_blank" rel="nofollow noopener"&gt;Xorg 1.20.7 on HardenedBSD Comes with IE/RELRO+BIND_NOW/CFI/SafeStack Protections&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2YJ6PFW#wrap" target="_blank" rel="nofollow noopener"&gt;Niclas writes in Regarding the Lenovo E595 user (episode 340)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1S0DGT3#wrap" target="_blank" rel="nofollow noopener"&gt;Lyubomir writes about GELI and ZFS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2FSZQ8V#wrap" target="_blank" rel="nofollow noopener"&gt;Peter writes in about scaling FreeBSD jails&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0341.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, Power, Power architecture, freenas, truenas, prometheus, go, gcc</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD on Power, DragonflyBSD 5.8 is here, Unifying FreeNAS/TrueNAS, OpenBSD vs. Prometheus and Go, gcc 4.2.1 removed from FreeBSD base, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsdfoundation.org/blog/power-to-the-people-making-freebsd-a-first-class-citizen-on-power/" target="_blank" rel="nofollow noopener">FreeBSD on Power</a></h3>

<blockquote>
<p>The power and promise of all open source software is freedom. Another way to express freedom is choice — choice of platforms, deployment models, stacks, configurations, etc.</p>

<p>The FreeBSD Foundation is dedicated to supporting and promoting the FreeBSD Project and community worldwide. But, what does this mean, exactly, you may wonder. The truth is it means many different things, but in all cases the Foundation acts to expand freedom and choice so that FreeBSD users have the power to serve their varied compute needs.</p>

<p>This blog tells the story of one specific way the Foundation helps a member of the community provide greater hardware choice for all FreeBSD users.</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflybsd.org/release58/" target="_blank" rel="nofollow noopener">Dragonfly 5.8</a></h3>

<blockquote>
<p>DragonFly version 5.8 brings a new dsynth utility for building your own binary dports packages, plus significant support work to speed up that build - up to and including the entire collection. Additional progress has been made on GPU and signal support.</p>

<p>The details of all commits between the 5.6 and 5.8 branches are available in the associated commit messages for 5.8.0rc1 and 5.8.0. Also see /usr/src/UPDATING for specific file changes in PAM.</p>
</blockquote>

<ul>
<li>See article for rest of information</li>
</ul>

<hr>

<h3><a href="https://www.hambug.ca/" target="_blank" rel="nofollow noopener">2nd HamBUG meeting recap</a></h3>

<ul>
<li>The second meeting of the Hamilton BSD Users Group took place last night</li>
<li>The next meeting is scheduled for the 2nd Tuesday of the month, April 14th 2020</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.ixsystems.com/blog/freenas-truenas-unification/" target="_blank" rel="nofollow noopener">FreeNAS/TrueNAS Brand Unification</a></h3>

<blockquote>
<p>FreeNAS and TrueNAS have been separate-but-related members of the #1 Open Source storage software family since 2012. FreeNAS is the free Open Source version with an expert community and has led the pursuit of innovations like Plugins and VMs. TrueNAS is the enterprise version for organizations of all sizes that need additional uptime and performance, as well as the enterprise-grade support necessary for critical data and applications. </p>

<p>From the beginning at iXsystems, we’ve developed, tested, documented, and released both as separate products, even though the vast majority of code is shared. This was a deliberate technical decision in the beginning but over time became less of a necessity and more of “just how we’ve always done it”. Furthermore, to change it was going to require a serious overhaul to how we build and package both products, among other things, so we continued to kick the can down the road. As we made systematic improvements to development and QA efficiency over the past few years, the redundant release process became almost impossible to ignore as our next major efficiency roadblock to overcome. So, we’ve finally rolled up our sleeves.</p>

<p>With the recent 11.3 release, TrueNAS gained parity with FreeNAS on features like VMs and Plugins, further homogenizing the code. Today, we announce the next phase of evolution for FreeNAS and TrueNAS. </p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/OpenBSDVsPrometheusAndGo" target="_blank" rel="nofollow noopener">OpenBSD versus Prometheus (and Go).</a></h3>

<blockquote>
<p>We have a decent number of OpenBSD machines that do important things (and that have sometimes experienced problems like running out of disk space), and we have a Prometheus based metrics and monitoring system. The Prometheus host agent has enough support for OpenBSD to be able to report on critical metrics, including things like local disk space. Despite all of this, after some investigation I've determined that it's not really sensible to even try to deploy the host agent on our OpenBSD machines. This is due to a combination of factors that have at their root OpenBSD's lack of ABI stability</p>
</blockquote>

<hr>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=358454" target="_blank" rel="nofollow noopener">FreeBSD removed gcc from base</a></h3>

<blockquote>
<p>As described in Warner's email message[1] to the FreeBSD-arch mailing list we have reached GCC 4.2.1's retirement date.  At this time all supported architectures either use in-tree Clang, or rely on external toolchain (i.e., a contemporary GCC version from ports).</p>

<p>GCC 4.2.1 was released July 18, 2007 and was imported into FreeBSD later that year, in r171825.  GCC has served us well, but version 4.2.1 is obsolete and not used by default on any architecture in FreeBSD.  It does not support modern C and does not support arm64 or RISC-V.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2020/03/10/24276.html" target="_blank" rel="nofollow noopener">New Archive location for Dragonfly 4.x</a></li>
<li><a href="https://hub.iwebthings.com/a-dead-simple-git-cheatsheet/" target="_blank" rel="nofollow noopener">A dead simple git cheat sheet</a></li>
<li><a href="https://twitter.com/lattera/status/1233412881569415168" target="_blank" rel="nofollow noopener">Xorg 1.20.7 on HardenedBSD Comes with IE/RELRO+BIND_NOW/CFI/SafeStack Protections</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2YJ6PFW#wrap" target="_blank" rel="nofollow noopener">Niclas writes in Regarding the Lenovo E595 user (episode 340)</a></li>
<li><a href="http://dpaste.com/1S0DGT3#wrap" target="_blank" rel="nofollow noopener">Lyubomir writes about GELI and ZFS</a></li>
<li><a href="http://dpaste.com/2FSZQ8V#wrap" target="_blank" rel="nofollow noopener">Peter writes in about scaling FreeBSD jails</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0341.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD on Power, DragonflyBSD 5.8 is here, Unifying FreeNAS/TrueNAS, OpenBSD vs. Prometheus and Go, gcc 4.2.1 removed from FreeBSD base, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsdfoundation.org/blog/power-to-the-people-making-freebsd-a-first-class-citizen-on-power/" target="_blank" rel="nofollow noopener">FreeBSD on Power</a></h3>

<blockquote>
<p>The power and promise of all open source software is freedom. Another way to express freedom is choice — choice of platforms, deployment models, stacks, configurations, etc.</p>

<p>The FreeBSD Foundation is dedicated to supporting and promoting the FreeBSD Project and community worldwide. But, what does this mean, exactly, you may wonder. The truth is it means many different things, but in all cases the Foundation acts to expand freedom and choice so that FreeBSD users have the power to serve their varied compute needs.</p>

<p>This blog tells the story of one specific way the Foundation helps a member of the community provide greater hardware choice for all FreeBSD users.</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflybsd.org/release58/" target="_blank" rel="nofollow noopener">Dragonfly 5.8</a></h3>

<blockquote>
<p>DragonFly version 5.8 brings a new dsynth utility for building your own binary dports packages, plus significant support work to speed up that build - up to and including the entire collection. Additional progress has been made on GPU and signal support.</p>

<p>The details of all commits between the 5.6 and 5.8 branches are available in the associated commit messages for 5.8.0rc1 and 5.8.0. Also see /usr/src/UPDATING for specific file changes in PAM.</p>
</blockquote>

<ul>
<li>See article for rest of information</li>
</ul>

<hr>

<h3><a href="https://www.hambug.ca/" target="_blank" rel="nofollow noopener">2nd HamBUG meeting recap</a></h3>

<ul>
<li>The second meeting of the Hamilton BSD Users Group took place last night</li>
<li>The next meeting is scheduled for the 2nd Tuesday of the month, April 14th 2020</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.ixsystems.com/blog/freenas-truenas-unification/" target="_blank" rel="nofollow noopener">FreeNAS/TrueNAS Brand Unification</a></h3>

<blockquote>
<p>FreeNAS and TrueNAS have been separate-but-related members of the #1 Open Source storage software family since 2012. FreeNAS is the free Open Source version with an expert community and has led the pursuit of innovations like Plugins and VMs. TrueNAS is the enterprise version for organizations of all sizes that need additional uptime and performance, as well as the enterprise-grade support necessary for critical data and applications. </p>

<p>From the beginning at iXsystems, we’ve developed, tested, documented, and released both as separate products, even though the vast majority of code is shared. This was a deliberate technical decision in the beginning but over time became less of a necessity and more of “just how we’ve always done it”. Furthermore, to change it was going to require a serious overhaul to how we build and package both products, among other things, so we continued to kick the can down the road. As we made systematic improvements to development and QA efficiency over the past few years, the redundant release process became almost impossible to ignore as our next major efficiency roadblock to overcome. So, we’ve finally rolled up our sleeves.</p>

<p>With the recent 11.3 release, TrueNAS gained parity with FreeNAS on features like VMs and Plugins, further homogenizing the code. Today, we announce the next phase of evolution for FreeNAS and TrueNAS. </p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/sysadmin/OpenBSDVsPrometheusAndGo" target="_blank" rel="nofollow noopener">OpenBSD versus Prometheus (and Go).</a></h3>

<blockquote>
<p>We have a decent number of OpenBSD machines that do important things (and that have sometimes experienced problems like running out of disk space), and we have a Prometheus based metrics and monitoring system. The Prometheus host agent has enough support for OpenBSD to be able to report on critical metrics, including things like local disk space. Despite all of this, after some investigation I've determined that it's not really sensible to even try to deploy the host agent on our OpenBSD machines. This is due to a combination of factors that have at their root OpenBSD's lack of ABI stability</p>
</blockquote>

<hr>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=358454" target="_blank" rel="nofollow noopener">FreeBSD removed gcc from base</a></h3>

<blockquote>
<p>As described in Warner's email message[1] to the FreeBSD-arch mailing list we have reached GCC 4.2.1's retirement date.  At this time all supported architectures either use in-tree Clang, or rely on external toolchain (i.e., a contemporary GCC version from ports).</p>

<p>GCC 4.2.1 was released July 18, 2007 and was imported into FreeBSD later that year, in r171825.  GCC has served us well, but version 4.2.1 is obsolete and not used by default on any architecture in FreeBSD.  It does not support modern C and does not support arm64 or RISC-V.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2020/03/10/24276.html" target="_blank" rel="nofollow noopener">New Archive location for Dragonfly 4.x</a></li>
<li><a href="https://hub.iwebthings.com/a-dead-simple-git-cheatsheet/" target="_blank" rel="nofollow noopener">A dead simple git cheat sheet</a></li>
<li><a href="https://twitter.com/lattera/status/1233412881569415168" target="_blank" rel="nofollow noopener">Xorg 1.20.7 on HardenedBSD Comes with IE/RELRO+BIND_NOW/CFI/SafeStack Protections</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2YJ6PFW#wrap" target="_blank" rel="nofollow noopener">Niclas writes in Regarding the Lenovo E595 user (episode 340)</a></li>
<li><a href="http://dpaste.com/1S0DGT3#wrap" target="_blank" rel="nofollow noopener">Lyubomir writes about GELI and ZFS</a></li>
<li><a href="http://dpaste.com/2FSZQ8V#wrap" target="_blank" rel="nofollow noopener">Peter writes in about scaling FreeBSD jails</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0341.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>340: Check My Sums</title>
  <link>https://www.bsdnow.tv/340</link>
  <guid isPermaLink="false">7e026ede-d713-4ed5-993a-9a39cab4aab1</guid>
  <pubDate>Thu, 05 Mar 2020 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/7e026ede-d713-4ed5-993a-9a39cab4aab1.mp3" length="36478978" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Why ZFS is doing filesystem checksumming right, better TMPFS throughput performance on DragonFlyBSD, reshaping pools with ZFS, PKGSRC on Manjaro aarch64 Pinebook-pro, central log host with syslog-ng on FreeBSD, and more.</itunes:subtitle>
  <itunes:duration>50:39</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>&lt;p&gt;Why ZFS is doing filesystem checksumming right, better TMPFS throughput performance on DragonFlyBSD, reshaping pools with ZFS, PKGSRC on Manjaro aarch64 Pinebook-pro, central log host with syslog-ng on FreeBSD, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://oshogbo.vexillium.org/blog/73/" target="_blank" rel="nofollow noopener"&gt;Checksumming in filesystems, and why ZFS is doing it right&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the best aspects of ZFS is its reliability. This can be accomplished using a few features like copy-on-write approach and checksumming. Today we will look at how ZFS does checksumming and why it does it the proper way. Most of the file systems don’t provide any integrity checking and fail in several scenarios:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Data bit flips - when the data that we wanted to store are bit flipped by the hard drives, or cables, and the wrong data is stored on the hard drive.&lt;/li&gt;
&lt;li&gt;Misdirected writes - when the CPU/cable/hard drive will bit flip a block to which the data should be written.&lt;/li&gt;
&lt;li&gt;Misdirected read - when we miss reading the block when a bit flip occurred.&lt;/li&gt;
&lt;li&gt;Phantom writes - when the write operation never made it to the disk. For example, a disk or kernel may have some bug that it will return success even if the hard drive never made the write. This problem can also occur when data is kept only in the hard drive cache.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Checksumming may help us detect errors in a few of those situations.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=DragonFlyBSD-TMPFS-Throughput" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD Improves Its TMPFS Implementation For Better Throughput Performance&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;It's been a while since last having any new magical optimizations to talk about by DragonFlyBSD lead developer Matthew Dillon, but on Wednesday he landed some significant temporary file-system "TMPFS" optimizations for better throughput including with swap.&lt;/p&gt;

&lt;p&gt;Of several interesting commits merged tonight, the improved write clustering is a big one. In particular, "Reduces low-memory tmpfs paging I/O overheads by 4x and generally increases paging throughput to SSD-based swap by 2x-4x. Tmpfs is now able to issue a lot more 64KB I/Os when under memory pressure."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4eb0bb82efc8ef32c4357cf812891c08d38d8860" target="_blank" rel="nofollow noopener"&gt;https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4eb0bb82efc8ef32c4357cf812891c08d38d8860&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There's also a new tunable in the VM space as well as part of his commits on Wednesday night. This follows a lot of recent work on dsynth, improved page-out daemon pipelining, and other routine work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gitweb.dragonflybsd.org/dragonfly.git/commit/bc47dbc18bf832e4badb41f2fd79159479a7d351" target="_blank" rel="nofollow noopener"&gt;https://gitweb.dragonflybsd.org/dragonfly.git/commit/bc47dbc18bf832e4badb41f2fd79159479a7d351&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This work is building up towards the eventual DragonFlyBSD 5.8 while those wanting to try the latest improvements right away can find their daily snapshots.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSWhyNoRealReshaping" target="_blank" rel="nofollow noopener"&gt;Why ZFS is not good at growing and reshaping pools (or shrinking them)&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;recently read Mark McBride's Five Years of Btrfs (via), which has a significant discussion of why McBride chose Btrfs over ZFS that boils down to ZFS not being very good at evolving your pool structure. You might doubt this judgment from a Btrfs user, so let me say as both a fan of ZFS and a long term user of it that this is unfortunately quite true; ZFS is not a good choice if you want to modify your pool disk layout significantly over time. ZFS works best if the only change in your pools that you do is replacing drives with bigger drives. In our ZFS environment we go to quite some lengths to be able to expand pools incrementally over time, and while this works it both leaves us with unbalanced pools and means that we're basically forced to use mirroring instead of RAIDZ.&lt;/p&gt;

&lt;p&gt;(An unbalanced pool is one where some vdevs and disks have much more data than others. This is less of an issue for us now that we're using SSDs instead of HDs.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://astr0baby.wordpress.com/2020/02/09/using-pkgsrc-on-manjaro-linux-aarch64-pinebook-pro/" target="_blank" rel="nofollow noopener"&gt;Using PKGSRC on Manjaro Linux aarch64 Pinebook-pro&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I wanted to see how pkgsrc works on aarch64 Linux Manjaro since it is a very mature framework that is very portable and supported by many architectures – pkgsrc (package source) is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD.&lt;/p&gt;

&lt;p&gt;One might question why use pkgsrc on Arch based Manjaro, since the pacman package repository is very good on its own. I see alternative pkgsrc as a good automated build framework that offers a way to produce independent build environment /usr/pkg that does not interfere with the current Linux distribution in any way (all libraries are statically built)&lt;/p&gt;

&lt;p&gt;I have used the latest Manjaro for Pinebookpro and standard recommended tools as mentioned here &lt;a href="https://wiki.netbsd.org/pkgsrc/how_to_use_pkgsrc_on_linux/" target="_blank" rel="nofollow noopener"&gt;https://wiki.netbsd.org/pkgsrc/how_to_use_pkgsrc_on_linux/&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;A Central Log Host with syslog-ng on FreeBSD&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.socruel.nu/freebsd/a-central-log-host-with-syslog-ng-on-freebsd.html" target="_blank" rel="nofollow noopener"&gt;Part 1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;syslog-ng is the Swiss army knife of log management. You can collect logs from any source, process them in real time and deliver them to wide range of destinations. It allows you to flexibly collect, parse, classify, rewrite and correlate logs from across your infrastructure. This is why syslog-ng is the perfect solution for the central log host of my (mainly) FreeBSD based infrastructure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.socruel.nu/freebsd/check-logs-of-syslog-ng-log-host-on-freebsd.html" target="_blank" rel="nofollow noopener"&gt;Part 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This blog post continues where the blog post A central log host with syslog-ng on FreeBSD left off. Open source solutions to check syslog log messages exist, such as Logcheck or Logwatch. Although these are not too difficult to implement and maintain, I still found these to much. So I went for my own home grown solution to check the syslog messages of the SoCruel.NU central log host.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mirror.linux.org.au/pub/linux.conf.au/2020/room_9/Tuesday/" target="_blank" rel="nofollow noopener"&gt;FreeBSD at Linux Conf 2020 session videos now online&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2020/01/09/freebsd-desktop-part-20-configuration-unlock-your-laptop-with-phone/" target="_blank" rel="nofollow noopener"&gt;Unlock your laptop with your phone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.netbsd.org/gallery/presentations/leot/itasec20/pkgsrc-security.pdf" target="_blank" rel="nofollow noopener"&gt;Managing a database of vulnerabilities for a package system: the pkgsrc study&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hamilton BSD User group will meet again on March 10th](&lt;a href="http://studybsd.com/" target="_blank" rel="nofollow noopener"&gt;http://studybsd.com/&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/en-AU/CharmBUG/events/268251508/" target="_blank" rel="nofollow noopener"&gt;CharmBUG Meeting: March 24th 7pm in Severn, MD&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Andrew - &lt;a href="http://dpaste.com/2YM23C0#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS feature Flags&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Sam - &lt;a href="http://dpaste.com/0FCZV6R" target="_blank" rel="nofollow noopener"&gt;TwinCat BSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dacian - &lt;a href="http://dpaste.com/1R7F1JN#wrap" target="_blank" rel="nofollow noopener"&gt;Freebsd + amdgpu + Lenovo E595&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0340.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, checksumming, filesystem, checksum, zfs, tmpfs, throughput, performance, throughput performance, zpool, pool reshaping, resizing, shrinking, pinebook, pkgsrc, aarch64, log host, central logging, syslog, syslog-ng</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Why ZFS is doing filesystem checksumming right, better TMPFS throughput performance on DragonFlyBSD, reshaping pools with ZFS, PKGSRC on Manjaro aarch64 Pinebook-pro, central log host with syslog-ng on FreeBSD, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://oshogbo.vexillium.org/blog/73/" target="_blank" rel="nofollow noopener">Checksumming in filesystems, and why ZFS is doing it right</a></h3>

<blockquote>
<p>One of the best aspects of ZFS is its reliability. This can be accomplished using a few features like copy-on-write approach and checksumming. Today we will look at how ZFS does checksumming and why it does it the proper way. Most of the file systems don’t provide any integrity checking and fail in several scenarios:</p>
</blockquote>

<ul>
<li>Data bit flips - when the data that we wanted to store are bit flipped by the hard drives, or cables, and the wrong data is stored on the hard drive.</li>
<li>Misdirected writes - when the CPU/cable/hard drive will bit flip a block to which the data should be written.</li>
<li>Misdirected read - when we miss reading the block when a bit flip occurred.</li>
<li>Phantom writes - when the write operation never made it to the disk. For example, a disk or kernel may have some bug that it will return success even if the hard drive never made the write. This problem can also occur when data is kept only in the hard drive cache.</li>
</ul>

<blockquote>
<p>Checksumming may help us detect errors in a few of those situations.</p>
</blockquote>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=DragonFlyBSD-TMPFS-Throughput" target="_blank" rel="nofollow noopener">DragonFlyBSD Improves Its TMPFS Implementation For Better Throughput Performance</a></h3>

<blockquote>
<p>It's been a while since last having any new magical optimizations to talk about by DragonFlyBSD lead developer Matthew Dillon, but on Wednesday he landed some significant temporary file-system "TMPFS" optimizations for better throughput including with swap.</p>

<p>Of several interesting commits merged tonight, the improved write clustering is a big one. In particular, "Reduces low-memory tmpfs paging I/O overheads by 4x and generally increases paging throughput to SSD-based swap by 2x-4x. Tmpfs is now able to issue a lot more 64KB I/Os when under memory pressure."</p>
</blockquote>

<ul>
<li><a href="https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4eb0bb82efc8ef32c4357cf812891c08d38d8860" target="_blank" rel="nofollow noopener">https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4eb0bb82efc8ef32c4357cf812891c08d38d8860</a></li>
</ul>

<blockquote>
<p>There's also a new tunable in the VM space as well as part of his commits on Wednesday night. This follows a lot of recent work on dsynth, improved page-out daemon pipelining, and other routine work.</p>
</blockquote>

<ul>
<li><a href="https://gitweb.dragonflybsd.org/dragonfly.git/commit/bc47dbc18bf832e4badb41f2fd79159479a7d351" target="_blank" rel="nofollow noopener">https://gitweb.dragonflybsd.org/dragonfly.git/commit/bc47dbc18bf832e4badb41f2fd79159479a7d351</a></li>
</ul>

<blockquote>
<p>This work is building up towards the eventual DragonFlyBSD 5.8 while those wanting to try the latest improvements right away can find their daily snapshots.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSWhyNoRealReshaping" target="_blank" rel="nofollow noopener">Why ZFS is not good at growing and reshaping pools (or shrinking them)</a></h3>

<blockquote>
<p>recently read Mark McBride's Five Years of Btrfs (via), which has a significant discussion of why McBride chose Btrfs over ZFS that boils down to ZFS not being very good at evolving your pool structure. You might doubt this judgment from a Btrfs user, so let me say as both a fan of ZFS and a long term user of it that this is unfortunately quite true; ZFS is not a good choice if you want to modify your pool disk layout significantly over time. ZFS works best if the only change in your pools that you do is replacing drives with bigger drives. In our ZFS environment we go to quite some lengths to be able to expand pools incrementally over time, and while this works it both leaves us with unbalanced pools and means that we're basically forced to use mirroring instead of RAIDZ.</p>

<p>(An unbalanced pool is one where some vdevs and disks have much more data than others. This is less of an issue for us now that we're using SSDs instead of HDs.)</p>
</blockquote>

<hr>

<h3><a href="https://astr0baby.wordpress.com/2020/02/09/using-pkgsrc-on-manjaro-linux-aarch64-pinebook-pro/" target="_blank" rel="nofollow noopener">Using PKGSRC on Manjaro Linux aarch64 Pinebook-pro</a></h3>

<blockquote>
<p>I wanted to see how pkgsrc works on aarch64 Linux Manjaro since it is a very mature framework that is very portable and supported by many architectures – pkgsrc (package source) is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD.</p>

<p>One might question why use pkgsrc on Arch based Manjaro, since the pacman package repository is very good on its own. I see alternative pkgsrc as a good automated build framework that offers a way to produce independent build environment /usr/pkg that does not interfere with the current Linux distribution in any way (all libraries are statically built)</p>

<p>I have used the latest Manjaro for Pinebookpro and standard recommended tools as mentioned here <a href="https://wiki.netbsd.org/pkgsrc/how_to_use_pkgsrc_on_linux/" target="_blank" rel="nofollow noopener">https://wiki.netbsd.org/pkgsrc/how_to_use_pkgsrc_on_linux/</a></p>
</blockquote>

<hr>

<h3>A Central Log Host with syslog-ng on FreeBSD</h3>

<ul>
<li><a href="https://blog.socruel.nu/freebsd/a-central-log-host-with-syslog-ng-on-freebsd.html" target="_blank" rel="nofollow noopener">Part 1</a></li>
</ul>

<blockquote>
<p>syslog-ng is the Swiss army knife of log management. You can collect logs from any source, process them in real time and deliver them to wide range of destinations. It allows you to flexibly collect, parse, classify, rewrite and correlate logs from across your infrastructure. This is why syslog-ng is the perfect solution for the central log host of my (mainly) FreeBSD based infrastructure.</p>
</blockquote>

<ul>
<li><a href="https://blog.socruel.nu/freebsd/check-logs-of-syslog-ng-log-host-on-freebsd.html" target="_blank" rel="nofollow noopener">Part 2</a></li>
</ul>

<blockquote>
<p>This blog post continues where the blog post A central log host with syslog-ng on FreeBSD left off. Open source solutions to check syslog log messages exist, such as Logcheck or Logwatch. Although these are not too difficult to implement and maintain, I still found these to much. So I went for my own home grown solution to check the syslog messages of the SoCruel.NU central log host.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://mirror.linux.org.au/pub/linux.conf.au/2020/room_9/Tuesday/" target="_blank" rel="nofollow noopener">FreeBSD at Linux Conf 2020 session videos now online</a></li>
<li><a href="https://vermaden.wordpress.com/2020/01/09/freebsd-desktop-part-20-configuration-unlock-your-laptop-with-phone/" target="_blank" rel="nofollow noopener">Unlock your laptop with your phone</a></li>
<li><a href="https://www.netbsd.org/gallery/presentations/leot/itasec20/pkgsrc-security.pdf" target="_blank" rel="nofollow noopener">Managing a database of vulnerabilities for a package system: the pkgsrc study</a></li>
<li>Hamilton BSD User group will meet again on March 10th](<a href="http://studybsd.com/" target="_blank" rel="nofollow noopener">http://studybsd.com/</a>)</li>
<li><a href="https://www.meetup.com/en-AU/CharmBUG/events/268251508/" target="_blank" rel="nofollow noopener">CharmBUG Meeting: March 24th 7pm in Severn, MD</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Andrew - <a href="http://dpaste.com/2YM23C0#wrap" target="_blank" rel="nofollow noopener">ZFS feature Flags</a></li>
<li>Sam - <a href="http://dpaste.com/0FCZV6R" target="_blank" rel="nofollow noopener">TwinCat BSD</a></li>
<li>Dacian - <a href="http://dpaste.com/1R7F1JN#wrap" target="_blank" rel="nofollow noopener">Freebsd + amdgpu + Lenovo E595</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0340.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Why ZFS is doing filesystem checksumming right, better TMPFS throughput performance on DragonFlyBSD, reshaping pools with ZFS, PKGSRC on Manjaro aarch64 Pinebook-pro, central log host with syslog-ng on FreeBSD, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://oshogbo.vexillium.org/blog/73/" target="_blank" rel="nofollow noopener">Checksumming in filesystems, and why ZFS is doing it right</a></h3>

<blockquote>
<p>One of the best aspects of ZFS is its reliability. This can be accomplished using a few features like copy-on-write approach and checksumming. Today we will look at how ZFS does checksumming and why it does it the proper way. Most of the file systems don’t provide any integrity checking and fail in several scenarios:</p>
</blockquote>

<ul>
<li>Data bit flips - when the data that we wanted to store are bit flipped by the hard drives, or cables, and the wrong data is stored on the hard drive.</li>
<li>Misdirected writes - when the CPU/cable/hard drive will bit flip a block to which the data should be written.</li>
<li>Misdirected read - when we miss reading the block when a bit flip occurred.</li>
<li>Phantom writes - when the write operation never made it to the disk. For example, a disk or kernel may have some bug that it will return success even if the hard drive never made the write. This problem can also occur when data is kept only in the hard drive cache.</li>
</ul>

<blockquote>
<p>Checksumming may help us detect errors in a few of those situations.</p>
</blockquote>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=DragonFlyBSD-TMPFS-Throughput" target="_blank" rel="nofollow noopener">DragonFlyBSD Improves Its TMPFS Implementation For Better Throughput Performance</a></h3>

<blockquote>
<p>It's been a while since last having any new magical optimizations to talk about by DragonFlyBSD lead developer Matthew Dillon, but on Wednesday he landed some significant temporary file-system "TMPFS" optimizations for better throughput including with swap.</p>

<p>Of several interesting commits merged tonight, the improved write clustering is a big one. In particular, "Reduces low-memory tmpfs paging I/O overheads by 4x and generally increases paging throughput to SSD-based swap by 2x-4x. Tmpfs is now able to issue a lot more 64KB I/Os when under memory pressure."</p>
</blockquote>

<ul>
<li><a href="https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4eb0bb82efc8ef32c4357cf812891c08d38d8860" target="_blank" rel="nofollow noopener">https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4eb0bb82efc8ef32c4357cf812891c08d38d8860</a></li>
</ul>

<blockquote>
<p>There's also a new tunable in the VM space as well as part of his commits on Wednesday night. This follows a lot of recent work on dsynth, improved page-out daemon pipelining, and other routine work.</p>
</blockquote>

<ul>
<li><a href="https://gitweb.dragonflybsd.org/dragonfly.git/commit/bc47dbc18bf832e4badb41f2fd79159479a7d351" target="_blank" rel="nofollow noopener">https://gitweb.dragonflybsd.org/dragonfly.git/commit/bc47dbc18bf832e4badb41f2fd79159479a7d351</a></li>
</ul>

<blockquote>
<p>This work is building up towards the eventual DragonFlyBSD 5.8 while those wanting to try the latest improvements right away can find their daily snapshots.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSWhyNoRealReshaping" target="_blank" rel="nofollow noopener">Why ZFS is not good at growing and reshaping pools (or shrinking them)</a></h3>

<blockquote>
<p>recently read Mark McBride's Five Years of Btrfs (via), which has a significant discussion of why McBride chose Btrfs over ZFS that boils down to ZFS not being very good at evolving your pool structure. You might doubt this judgment from a Btrfs user, so let me say as both a fan of ZFS and a long term user of it that this is unfortunately quite true; ZFS is not a good choice if you want to modify your pool disk layout significantly over time. ZFS works best if the only change in your pools that you do is replacing drives with bigger drives. In our ZFS environment we go to quite some lengths to be able to expand pools incrementally over time, and while this works it both leaves us with unbalanced pools and means that we're basically forced to use mirroring instead of RAIDZ.</p>

<p>(An unbalanced pool is one where some vdevs and disks have much more data than others. This is less of an issue for us now that we're using SSDs instead of HDs.)</p>
</blockquote>

<hr>

<h3><a href="https://astr0baby.wordpress.com/2020/02/09/using-pkgsrc-on-manjaro-linux-aarch64-pinebook-pro/" target="_blank" rel="nofollow noopener">Using PKGSRC on Manjaro Linux aarch64 Pinebook-pro</a></h3>

<blockquote>
<p>I wanted to see how pkgsrc works on aarch64 Linux Manjaro since it is a very mature framework that is very portable and supported by many architectures – pkgsrc (package source) is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD.</p>

<p>One might question why use pkgsrc on Arch based Manjaro, since the pacman package repository is very good on its own. I see alternative pkgsrc as a good automated build framework that offers a way to produce independent build environment /usr/pkg that does not interfere with the current Linux distribution in any way (all libraries are statically built)</p>

<p>I have used the latest Manjaro for Pinebookpro and standard recommended tools as mentioned here <a href="https://wiki.netbsd.org/pkgsrc/how_to_use_pkgsrc_on_linux/" target="_blank" rel="nofollow noopener">https://wiki.netbsd.org/pkgsrc/how_to_use_pkgsrc_on_linux/</a></p>
</blockquote>

<hr>

<h3>A Central Log Host with syslog-ng on FreeBSD</h3>

<ul>
<li><a href="https://blog.socruel.nu/freebsd/a-central-log-host-with-syslog-ng-on-freebsd.html" target="_blank" rel="nofollow noopener">Part 1</a></li>
</ul>

<blockquote>
<p>syslog-ng is the Swiss army knife of log management. You can collect logs from any source, process them in real time and deliver them to wide range of destinations. It allows you to flexibly collect, parse, classify, rewrite and correlate logs from across your infrastructure. This is why syslog-ng is the perfect solution for the central log host of my (mainly) FreeBSD based infrastructure.</p>
</blockquote>

<ul>
<li><a href="https://blog.socruel.nu/freebsd/check-logs-of-syslog-ng-log-host-on-freebsd.html" target="_blank" rel="nofollow noopener">Part 2</a></li>
</ul>

<blockquote>
<p>This blog post continues where the blog post A central log host with syslog-ng on FreeBSD left off. Open source solutions to check syslog log messages exist, such as Logcheck or Logwatch. Although these are not too difficult to implement and maintain, I still found these to much. So I went for my own home grown solution to check the syslog messages of the SoCruel.NU central log host.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://mirror.linux.org.au/pub/linux.conf.au/2020/room_9/Tuesday/" target="_blank" rel="nofollow noopener">FreeBSD at Linux Conf 2020 session videos now online</a></li>
<li><a href="https://vermaden.wordpress.com/2020/01/09/freebsd-desktop-part-20-configuration-unlock-your-laptop-with-phone/" target="_blank" rel="nofollow noopener">Unlock your laptop with your phone</a></li>
<li><a href="https://www.netbsd.org/gallery/presentations/leot/itasec20/pkgsrc-security.pdf" target="_blank" rel="nofollow noopener">Managing a database of vulnerabilities for a package system: the pkgsrc study</a></li>
<li>Hamilton BSD User group will meet again on March 10th](<a href="http://studybsd.com/" target="_blank" rel="nofollow noopener">http://studybsd.com/</a>)</li>
<li><a href="https://www.meetup.com/en-AU/CharmBUG/events/268251508/" target="_blank" rel="nofollow noopener">CharmBUG Meeting: March 24th 7pm in Severn, MD</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Andrew - <a href="http://dpaste.com/2YM23C0#wrap" target="_blank" rel="nofollow noopener">ZFS feature Flags</a></li>
<li>Sam - <a href="http://dpaste.com/0FCZV6R" target="_blank" rel="nofollow noopener">TwinCat BSD</a></li>
<li>Dacian - <a href="http://dpaste.com/1R7F1JN#wrap" target="_blank" rel="nofollow noopener">Freebsd + amdgpu + Lenovo E595</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0340.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>339: BSD Fundraising</title>
  <link>https://www.bsdnow.tv/339</link>
  <guid isPermaLink="false">581b71e1-6a98-41d7-b8d8-477eaaaba8db</guid>
  <pubDate>Thu, 27 Feb 2020 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/581b71e1-6a98-41d7-b8d8-477eaaaba8db.mp3" length="38843791" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Meet FuryBSD, NetBSD 9.0 has been released, OpenBSD Foundation 2019 campaign wrapup, a retrospective on OmniOS ZFS-based NFS fileservers, NetBSD Fundraising 2020 goal, OpenSSH 8.2 released, and more.</itunes:subtitle>
  <itunes:duration>53:56</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>&lt;p&gt;Meet FuryBSD, NetBSD 9.0 has been released, OpenBSD Foundation 2019 campaign wrapup, a retrospective on OmniOS ZFS-based NFS fileservers, NetBSD Fundraising 2020 goal, OpenSSH 8.2 released, and more.## Headlines&lt;/p&gt;

&lt;h3&gt;&lt;a href="https://itsfoss.com/furybsd/" target="_blank" rel="nofollow noopener"&gt;Meet FuryBSD: A New Desktop BSD Distribution&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;At its heart, FuryBSD is a very simple beast. According to the site, “FuryBSD is a back to basics lightweight desktop distribution based on stock FreeBSD.” It is basically FreeBSD with a desktop environment pre-configured and several apps preinstalled. The goal is to quickly get a FreeBSD-based system running on your computer.&lt;/p&gt;

&lt;p&gt;You might be thinking that this sounds a lot like a couple of other BSDs that are available, such as NomadBSD and GhostBSD. The major difference between those BSDs and FuryBSD is that FuryBSD is much closer to stock FreeBSD. For example, FuryBSD uses the FreeBSD installer, while others have created their own installers and utilities.&lt;/p&gt;

&lt;p&gt;As it states on the site, “Although FuryBSD may resemble past graphical BSD projects like PC-BSD and TrueOS, FuryBSD is created by a different team and takes a different approach focusing on tight integration with FreeBSD. This keeps overhead low and maintains compatibility with upstream.” The lead dev also told me that “One key focus for FuryBSD is for it to be a small live media with a few assistive tools to test drivers for hardware.”&lt;/p&gt;

&lt;p&gt;Currently, you can go to the FuryBSD homepage and download either an XFCE or KDE LiveCD. A GNOME version is in the works.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.netbsd.org/releases/formal-9/NetBSD-9.0.html" target="_blank" rel="nofollow noopener"&gt;NetBSD 9.0&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The NetBSD Project is pleased to announce NetBSD 9.0, the seventeenth major release of the NetBSD operating system.&lt;/p&gt;

&lt;p&gt;This release brings significant improvements in terms of hardware support, quality assurance, security, along with new features and hundreds of bug fixes. Here are some highlights of this new release.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20200217001107" target="_blank" rel="nofollow noopener"&gt;OpenBSD Foundation 2019 campaign wrapup&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Our target for 2019 was CDN$300K. Our community's continued generosity combined with our corporate donors exceeded that nicely. In addition we received the largest single donation in our history, CDN$380K from Smartisan. The return of Google was another welcome event. Altogether 2019 was our most successful campaign to date, yielding CDN$692K in total.&lt;/p&gt;

&lt;p&gt;We thank all our donors, Iridium (Smartisan), Platinum (Yandex, Google), Gold (Microsoft, Facebook) Silver (2Keys) and Bronze (genua, Thinkst Canary). But especially our community of smaller donors whose contributions are the bedrock of our support. Thank you all!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.openbsdfoundation.org/campaign2019.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Foundation 2019 Fundraising Goal Exceeded&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/OmniOSFileserverRetrospective" target="_blank" rel="nofollow noopener"&gt;A retrospective on our OmniOS ZFS-based NFS fileservers&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Our OmniOS fileservers have now been out of service for about six months, which makes it somewhat past time for a retrospective on them. Our OmniOS fileservers followed on our Solaris fileservers, which I wrote a two part retrospective on (part 1, part 2), and have now been replaced by our Linux fileservers. To be honest, I have been sitting on my hands about writing this retrospective because we have mixed feelings about our OmniOS fileservers.&lt;/p&gt;

&lt;p&gt;I will put the summary up front. OmniOS worked reasonably well for us over its lifespan here and looking back I think it was almost certainly the right choice for us at the time we made that choice (which was 2013 and 2014). However it was not without issues that marred our experience with it in practice, although not enough to make me regret that we ran it (and ran it for as long as we did). Part of our issues are likely due to a design mistake in making our fileservers too big, although this design mistake was probably magnified when we were unable to use Intel 10G-T networking in OmniOS.&lt;/p&gt;

&lt;p&gt;On the one hand, our OmniOS fileservers worked, almost always reliably. Like our Solaris fileservers before them, they ran quietly for years without needing much attention, delivering NFS fileservice to our Ubuntu servers; specifically, we ran them for about five years (2014 through 2019, although we started migrating away at the end of 2018). Over this time we had only minor hardware issues and not all that many disk failures, and we suffered no data loss (with ZFS checksums likely saving us several times, and certainly providing good reassurances). Our overall environment was easy to manage and was pretty much problem free in the face of things like failed disks. I'm pretty sure that our users saw a NFS environment that was solid, reliable, and performed well pretty much all of the time, which is the important thing. So OmniOS basically delivered the fileserver environment we wanted.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/fundraising_2020" target="_blank" rel="nofollow noopener"&gt;NetBSD Fundraising 2020 goal&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Is it really more than 10 years since we last had an official fundraising drive?&lt;/p&gt;

&lt;p&gt;Looking at old TNF financial reports I noticed that we have been doing quite well financially over the last years, with a steady stream of small and medium donations, and most of the time only moderate expenditures. The last fundraising drive back in 2009 was a giant success, and we have lived off it until now.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://www.openssh.com/txt/release-8.2" target="_blank" rel="nofollow noopener"&gt;OpenSSH 8.2 released February 14, 2020&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenSSH 8.2 was released on 2020-02-14. It is available from the mirrors listed at &lt;a href="https://www.openssh.com/" target="_blank" rel="nofollow noopener"&gt;https://www.openssh.com/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;OpenSSH is a 100% complete SSH protocol 2.0 implementation and includes sftp client and server support.&lt;/p&gt;

&lt;p&gt;Once again, we would like to thank the OpenSSH community for their continued support of the project, especially those who contributed code or patches, reported bugs, tested snapshots or donated to the project. More information on donations may be found at:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.openssh.com/donations.html" target="_blank" rel="nofollow noopener"&gt;https://www.openssh.com/donations.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=aXsRIrC5bjg" target="_blank" rel="nofollow noopener"&gt;FreeNAS vs. Unraid: GRUDGE MATCH!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://cb.vu/unixtoolbox.xhtml" target="_blank" rel="nofollow noopener"&gt;Unix Toolbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.rigsofrods.org/" target="_blank" rel="nofollow noopener"&gt;Rigs of Rods - OpenBSD Physics Game&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0V35MAB#wrap" target="_blank" rel="nofollow noopener"&gt;NYCBug - Dr Vixie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hamilton BSD User group will meet again on March 10th](&lt;a href="http://studybsd.com/" target="_blank" rel="nofollow noopener"&gt;http://studybsd.com/&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/BSD-Users-Stockholm/events/267873938/" target="_blank" rel="nofollow noopener"&gt;BSD Stockholm - Meetup March 3rd 2020&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Shirkdog - &lt;a href="http://dpaste.com/36E2BZ1" target="_blank" rel="nofollow noopener"&gt;Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Master One - &lt;a href="http://dpaste.com/3B9M814#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS + Suspend/resume&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Micah Roth - &lt;a href="http://dpaste.com/0D4GDX1#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS write caching&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0339.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, furybsd, desktop, desktop bsd, netbsd 9.0, openbsd foundation, campaign wrapup, retrospective, omnios, zfs, nfs, fileserver, netbsd fundraising, fundraising goal, openssh</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Meet FuryBSD, NetBSD 9.0 has been released, OpenBSD Foundation 2019 campaign wrapup, a retrospective on OmniOS ZFS-based NFS fileservers, NetBSD Fundraising 2020 goal, OpenSSH 8.2 released, and more.## Headlines</p>

<h3><a href="https://itsfoss.com/furybsd/" target="_blank" rel="nofollow noopener">Meet FuryBSD: A New Desktop BSD Distribution</a></h3>

<blockquote>
<p>At its heart, FuryBSD is a very simple beast. According to the site, “FuryBSD is a back to basics lightweight desktop distribution based on stock FreeBSD.” It is basically FreeBSD with a desktop environment pre-configured and several apps preinstalled. The goal is to quickly get a FreeBSD-based system running on your computer.</p>

<p>You might be thinking that this sounds a lot like a couple of other BSDs that are available, such as NomadBSD and GhostBSD. The major difference between those BSDs and FuryBSD is that FuryBSD is much closer to stock FreeBSD. For example, FuryBSD uses the FreeBSD installer, while others have created their own installers and utilities.</p>

<p>As it states on the site, “Although FuryBSD may resemble past graphical BSD projects like PC-BSD and TrueOS, FuryBSD is created by a different team and takes a different approach focusing on tight integration with FreeBSD. This keeps overhead low and maintains compatibility with upstream.” The lead dev also told me that “One key focus for FuryBSD is for it to be a small live media with a few assistive tools to test drivers for hardware.”</p>

<p>Currently, you can go to the FuryBSD homepage and download either an XFCE or KDE LiveCD. A GNOME version is in the works.</p>
</blockquote>

<hr>

<h3><a href="https://www.netbsd.org/releases/formal-9/NetBSD-9.0.html" target="_blank" rel="nofollow noopener">NetBSD 9.0</a></h3>

<blockquote>
<p>The NetBSD Project is pleased to announce NetBSD 9.0, the seventeenth major release of the NetBSD operating system.</p>

<p>This release brings significant improvements in terms of hardware support, quality assurance, security, along with new features and hundreds of bug fixes. Here are some highlights of this new release.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20200217001107" target="_blank" rel="nofollow noopener">OpenBSD Foundation 2019 campaign wrapup</a></h3>

<blockquote>
<p>Our target for 2019 was CDN$300K. Our community's continued generosity combined with our corporate donors exceeded that nicely. In addition we received the largest single donation in our history, CDN$380K from Smartisan. The return of Google was another welcome event. Altogether 2019 was our most successful campaign to date, yielding CDN$692K in total.</p>

<p>We thank all our donors, Iridium (Smartisan), Platinum (Yandex, Google), Gold (Microsoft, Facebook) Silver (2Keys) and Bronze (genua, Thinkst Canary). But especially our community of smaller donors whose contributions are the bedrock of our support. Thank you all!</p>
</blockquote>

<ul>
<li><a href="https://www.openbsdfoundation.org/campaign2019.html" target="_blank" rel="nofollow noopener">OpenBSD Foundation 2019 Fundraising Goal Exceeded</a></li>
</ul>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/OmniOSFileserverRetrospective" target="_blank" rel="nofollow noopener">A retrospective on our OmniOS ZFS-based NFS fileservers</a></h3>

<blockquote>
<p>Our OmniOS fileservers have now been out of service for about six months, which makes it somewhat past time for a retrospective on them. Our OmniOS fileservers followed on our Solaris fileservers, which I wrote a two part retrospective on (part 1, part 2), and have now been replaced by our Linux fileservers. To be honest, I have been sitting on my hands about writing this retrospective because we have mixed feelings about our OmniOS fileservers.</p>

<p>I will put the summary up front. OmniOS worked reasonably well for us over its lifespan here and looking back I think it was almost certainly the right choice for us at the time we made that choice (which was 2013 and 2014). However it was not without issues that marred our experience with it in practice, although not enough to make me regret that we ran it (and ran it for as long as we did). Part of our issues are likely due to a design mistake in making our fileservers too big, although this design mistake was probably magnified when we were unable to use Intel 10G-T networking in OmniOS.</p>

<p>On the one hand, our OmniOS fileservers worked, almost always reliably. Like our Solaris fileservers before them, they ran quietly for years without needing much attention, delivering NFS fileservice to our Ubuntu servers; specifically, we ran them for about five years (2014 through 2019, although we started migrating away at the end of 2018). Over this time we had only minor hardware issues and not all that many disk failures, and we suffered no data loss (with ZFS checksums likely saving us several times, and certainly providing good reassurances). Our overall environment was easy to manage and was pretty much problem free in the face of things like failed disks. I'm pretty sure that our users saw a NFS environment that was solid, reliable, and performed well pretty much all of the time, which is the important thing. So OmniOS basically delivered the fileserver environment we wanted.</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/fundraising_2020" target="_blank" rel="nofollow noopener">NetBSD Fundraising 2020 goal</a></h3>

<blockquote>
<p>Is it really more than 10 years since we last had an official fundraising drive?</p>

<p>Looking at old TNF financial reports I noticed that we have been doing quite well financially over the last years, with a steady stream of small and medium donations, and most of the time only moderate expenditures. The last fundraising drive back in 2009 was a giant success, and we have lived off it until now.</p>
</blockquote>

<hr>

<h3><a href="http://www.openssh.com/txt/release-8.2" target="_blank" rel="nofollow noopener">OpenSSH 8.2 released February 14, 2020</a></h3>

<blockquote>
<p>OpenSSH 8.2 was released on 2020-02-14. It is available from the mirrors listed at <a href="https://www.openssh.com/" target="_blank" rel="nofollow noopener">https://www.openssh.com/</a>.</p>

<p>OpenSSH is a 100% complete SSH protocol 2.0 implementation and includes sftp client and server support.</p>

<p>Once again, we would like to thank the OpenSSH community for their continued support of the project, especially those who contributed code or patches, reported bugs, tested snapshots or donated to the project. More information on donations may be found at:</p>
</blockquote>

<ul>
<li><a href="https://www.openssh.com/donations.html" target="_blank" rel="nofollow noopener">https://www.openssh.com/donations.html</a></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=aXsRIrC5bjg" target="_blank" rel="nofollow noopener">FreeNAS vs. Unraid: GRUDGE MATCH!</a></li>
<li><a href="http://cb.vu/unixtoolbox.xhtml" target="_blank" rel="nofollow noopener">Unix Toolbox</a></li>
<li><a href="https://docs.rigsofrods.org/" target="_blank" rel="nofollow noopener">Rigs of Rods - OpenBSD Physics Game</a></li>
<li><a href="http://dpaste.com/0V35MAB#wrap" target="_blank" rel="nofollow noopener">NYCBug - Dr Vixie</a></li>
<li>Hamilton BSD User group will meet again on March 10th](<a href="http://studybsd.com/" target="_blank" rel="nofollow noopener">http://studybsd.com/</a>)</li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/267873938/" target="_blank" rel="nofollow noopener">BSD Stockholm - Meetup March 3rd 2020</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Shirkdog - <a href="http://dpaste.com/36E2BZ1" target="_blank" rel="nofollow noopener">Question</a></li>
<li>Master One - <a href="http://dpaste.com/3B9M814#wrap" target="_blank" rel="nofollow noopener">ZFS + Suspend/resume</a></li>
<li>Micah Roth - <a href="http://dpaste.com/0D4GDX1#wrap" target="_blank" rel="nofollow noopener">ZFS write caching</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0339.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Meet FuryBSD, NetBSD 9.0 has been released, OpenBSD Foundation 2019 campaign wrapup, a retrospective on OmniOS ZFS-based NFS fileservers, NetBSD Fundraising 2020 goal, OpenSSH 8.2 released, and more.## Headlines</p>

<h3><a href="https://itsfoss.com/furybsd/" target="_blank" rel="nofollow noopener">Meet FuryBSD: A New Desktop BSD Distribution</a></h3>

<blockquote>
<p>At its heart, FuryBSD is a very simple beast. According to the site, “FuryBSD is a back to basics lightweight desktop distribution based on stock FreeBSD.” It is basically FreeBSD with a desktop environment pre-configured and several apps preinstalled. The goal is to quickly get a FreeBSD-based system running on your computer.</p>

<p>You might be thinking that this sounds a lot like a couple of other BSDs that are available, such as NomadBSD and GhostBSD. The major difference between those BSDs and FuryBSD is that FuryBSD is much closer to stock FreeBSD. For example, FuryBSD uses the FreeBSD installer, while others have created their own installers and utilities.</p>

<p>As it states on the site, “Although FuryBSD may resemble past graphical BSD projects like PC-BSD and TrueOS, FuryBSD is created by a different team and takes a different approach focusing on tight integration with FreeBSD. This keeps overhead low and maintains compatibility with upstream.” The lead dev also told me that “One key focus for FuryBSD is for it to be a small live media with a few assistive tools to test drivers for hardware.”</p>

<p>Currently, you can go to the FuryBSD homepage and download either an XFCE or KDE LiveCD. A GNOME version is in the works.</p>
</blockquote>

<hr>

<h3><a href="https://www.netbsd.org/releases/formal-9/NetBSD-9.0.html" target="_blank" rel="nofollow noopener">NetBSD 9.0</a></h3>

<blockquote>
<p>The NetBSD Project is pleased to announce NetBSD 9.0, the seventeenth major release of the NetBSD operating system.</p>

<p>This release brings significant improvements in terms of hardware support, quality assurance, security, along with new features and hundreds of bug fixes. Here are some highlights of this new release.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20200217001107" target="_blank" rel="nofollow noopener">OpenBSD Foundation 2019 campaign wrapup</a></h3>

<blockquote>
<p>Our target for 2019 was CDN$300K. Our community's continued generosity combined with our corporate donors exceeded that nicely. In addition we received the largest single donation in our history, CDN$380K from Smartisan. The return of Google was another welcome event. Altogether 2019 was our most successful campaign to date, yielding CDN$692K in total.</p>

<p>We thank all our donors, Iridium (Smartisan), Platinum (Yandex, Google), Gold (Microsoft, Facebook) Silver (2Keys) and Bronze (genua, Thinkst Canary). But especially our community of smaller donors whose contributions are the bedrock of our support. Thank you all!</p>
</blockquote>

<ul>
<li><a href="https://www.openbsdfoundation.org/campaign2019.html" target="_blank" rel="nofollow noopener">OpenBSD Foundation 2019 Fundraising Goal Exceeded</a></li>
</ul>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/OmniOSFileserverRetrospective" target="_blank" rel="nofollow noopener">A retrospective on our OmniOS ZFS-based NFS fileservers</a></h3>

<blockquote>
<p>Our OmniOS fileservers have now been out of service for about six months, which makes it somewhat past time for a retrospective on them. Our OmniOS fileservers followed on our Solaris fileservers, which I wrote a two part retrospective on (part 1, part 2), and have now been replaced by our Linux fileservers. To be honest, I have been sitting on my hands about writing this retrospective because we have mixed feelings about our OmniOS fileservers.</p>

<p>I will put the summary up front. OmniOS worked reasonably well for us over its lifespan here and looking back I think it was almost certainly the right choice for us at the time we made that choice (which was 2013 and 2014). However it was not without issues that marred our experience with it in practice, although not enough to make me regret that we ran it (and ran it for as long as we did). Part of our issues are likely due to a design mistake in making our fileservers too big, although this design mistake was probably magnified when we were unable to use Intel 10G-T networking in OmniOS.</p>

<p>On the one hand, our OmniOS fileservers worked, almost always reliably. Like our Solaris fileservers before them, they ran quietly for years without needing much attention, delivering NFS fileservice to our Ubuntu servers; specifically, we ran them for about five years (2014 through 2019, although we started migrating away at the end of 2018). Over this time we had only minor hardware issues and not all that many disk failures, and we suffered no data loss (with ZFS checksums likely saving us several times, and certainly providing good reassurances). Our overall environment was easy to manage and was pretty much problem free in the face of things like failed disks. I'm pretty sure that our users saw a NFS environment that was solid, reliable, and performed well pretty much all of the time, which is the important thing. So OmniOS basically delivered the fileserver environment we wanted.</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/fundraising_2020" target="_blank" rel="nofollow noopener">NetBSD Fundraising 2020 goal</a></h3>

<blockquote>
<p>Is it really more than 10 years since we last had an official fundraising drive?</p>

<p>Looking at old TNF financial reports I noticed that we have been doing quite well financially over the last years, with a steady stream of small and medium donations, and most of the time only moderate expenditures. The last fundraising drive back in 2009 was a giant success, and we have lived off it until now.</p>
</blockquote>

<hr>

<h3><a href="http://www.openssh.com/txt/release-8.2" target="_blank" rel="nofollow noopener">OpenSSH 8.2 released February 14, 2020</a></h3>

<blockquote>
<p>OpenSSH 8.2 was released on 2020-02-14. It is available from the mirrors listed at <a href="https://www.openssh.com/" target="_blank" rel="nofollow noopener">https://www.openssh.com/</a>.</p>

<p>OpenSSH is a 100% complete SSH protocol 2.0 implementation and includes sftp client and server support.</p>

<p>Once again, we would like to thank the OpenSSH community for their continued support of the project, especially those who contributed code or patches, reported bugs, tested snapshots or donated to the project. More information on donations may be found at:</p>
</blockquote>

<ul>
<li><a href="https://www.openssh.com/donations.html" target="_blank" rel="nofollow noopener">https://www.openssh.com/donations.html</a></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=aXsRIrC5bjg" target="_blank" rel="nofollow noopener">FreeNAS vs. Unraid: GRUDGE MATCH!</a></li>
<li><a href="http://cb.vu/unixtoolbox.xhtml" target="_blank" rel="nofollow noopener">Unix Toolbox</a></li>
<li><a href="https://docs.rigsofrods.org/" target="_blank" rel="nofollow noopener">Rigs of Rods - OpenBSD Physics Game</a></li>
<li><a href="http://dpaste.com/0V35MAB#wrap" target="_blank" rel="nofollow noopener">NYCBug - Dr Vixie</a></li>
<li>Hamilton BSD User group will meet again on March 10th](<a href="http://studybsd.com/" target="_blank" rel="nofollow noopener">http://studybsd.com/</a>)</li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/267873938/" target="_blank" rel="nofollow noopener">BSD Stockholm - Meetup March 3rd 2020</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Shirkdog - <a href="http://dpaste.com/36E2BZ1" target="_blank" rel="nofollow noopener">Question</a></li>
<li>Master One - <a href="http://dpaste.com/3B9M814#wrap" target="_blank" rel="nofollow noopener">ZFS + Suspend/resume</a></li>
<li>Micah Roth - <a href="http://dpaste.com/0D4GDX1#wrap" target="_blank" rel="nofollow noopener">ZFS write caching</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0339.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>338: iocage in Jail</title>
  <link>https://www.bsdnow.tv/338</link>
  <guid isPermaLink="false">7e9e4cfc-7a05-4ebe-8d45-a7282fe7ab0f</guid>
  <pubDate>Thu, 20 Feb 2020 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/7e9e4cfc-7a05-4ebe-8d45-a7282fe7ab0f.mp3" length="45174932" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Distrowatch reviews FuryBSD, LLDB on i386 for NetBSD, wpa_supplicant as lower-class citizen, KDE on FreeBSD updates, Travel Grant for BSDCan open, ZFS dataset for testing iocage within a jail, and more.</itunes:subtitle>
  <itunes:duration>1:02:44</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>&lt;p&gt;Distrowatch reviews FuryBSD, LLDB on i386 for NetBSD, wpa_supplicant as lower-class citizen, KDE on FreeBSD updates, Travel Grant for BSDCan open, ZFS dataset for testing iocage within a jail, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://distrowatch.com/weekly.php?issue=20200127#furybsd" target="_blank" rel="nofollow noopener"&gt;Distrowatch Fury BSD Review&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FuryBSD is the most recent addition to the DistroWatch database and provides a live desktop operating system based on FreeBSD. FuryBSD is not entirely different in its goals from NomadBSD, which we discussed recently. I wanted to take this FreeBSD-based project for a test drive and see how it compares to NomadBSD and other desktop-oriented projects in the FreeBSD family.&lt;/p&gt;

&lt;p&gt;FuryBSD supplies hybrid ISO/USB images which can be used to run a live desktop. There are two desktop editions currently, both for 64-bit (x86_64) machines: Xfce and KDE Plasma. The Xfce edition is 1.4GB in size and is the flavour I downloaded. The KDE Plasma edition is about 3.0GB in size.&lt;/p&gt;

&lt;p&gt;My fresh install of FuryBSD booted to a graphical login screen. From there I could sign into my account, which brings up the Xfce desktop. The installed version of Xfce is the same as the live version, with a few minor changes. Most of the desktop icons have been removed with just the file manager launchers remaining. The Getting Started and System Information icons have been removed. Otherwise the experience is virtually identical to the live media.&lt;/p&gt;

&lt;p&gt;FuryBSD uses a theme that is mostly grey and white with creamy yellow folder icons. The application menu launchers tend to have neutral icons, neither particularly bright and detailed or minimal.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/lldb_now_works_on_i386" target="_blank" rel="nofollow noopener"&gt;LLDB now works on i386&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.&lt;/p&gt;

&lt;p&gt;In February 2019, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues, fixing watchpoint and threading support.&lt;/p&gt;

&lt;p&gt;The original NetBSD port of LLDB was focused on amd64 only. In January, I have extended it to support i386 executables. This includes both 32-bit builds of LLDB (running natively on i386 kernel or via compat32) and debugging 32-bit programs from 64-bit LLDB.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-misc&amp;amp;m=158068418807352&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;wpa_supplicant is definitely a lower-class citizen, sorry&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;wpa_supplicant is definitely a lower-class citizen, sorry.&lt;/p&gt;

&lt;p&gt;I increasingly wonder why this stuff matters; transit costs are so much lower than the period when eduroam was setup, and their reliance on 802.11x is super weird in a world where, for the most part&lt;br&gt;
    + entire cities have open wifi in their downtown core&lt;br&gt;
    + edu vs edu+transit split horizon problems have to be solved anyways&lt;br&gt;
    + many universities have parallel open wifi&lt;br&gt;
    + rate limiting / fare-share approaches for the open-net, on unmetered&lt;br&gt;
    + flat-rate solves the problem&lt;br&gt;
    + LTE hotspot off a phone isn't a rip off anymore&lt;br&gt;
    + other open networks exist&lt;/p&gt;

&lt;p&gt;essentially no one else feels compelled to do use 802.11x for a so called "semi-open access network", so I think they've lost the plot on friction vs benefit.&lt;/p&gt;

&lt;p&gt;(we've held hackathons at EDU campus that are locked down like that, and in every case we've said no way, gotten a wire with open net, and built our own wifi.  we will not subject our developers to that extra complexity).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl/freebsd/2020/02/08/freebsd.html" target="_blank" rel="nofollow noopener"&gt;KDE FreeBSD Updates Feb 2020&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Some bits and bobs from the KDE FreeBSD team in february 2020. We met at the FreeBSD devsummit before FOSDEM, along with other FreeBSD people. Plans were made, schemes were forged, and Groff the Goat was introduced to some new people. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The big ticket things:

&lt;ul&gt;
&lt;li&gt; Frameworks are at 5.66&lt;/li&gt;
&lt;li&gt;Plasma is at 5.17.5 (the beta 5.18 hasn’t been tried)&lt;/li&gt;
&lt;li&gt;KDE release service has landed 19.12.2 (same day it was released)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Developer-centric:

&lt;ul&gt;
&lt;li&gt;KDevelop is at 5.5.0&lt;/li&gt;
&lt;li&gt;KUserfeedback landed its 1.0.0 release&lt;/li&gt;
&lt;li&gt;CMake is 3.16.3&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Applications:

&lt;ul&gt;
&lt;li&gt;Musescore is at 3.4.2&lt;/li&gt;
&lt;li&gt;Elisa now part of the KDE release service updates&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Fuure work:

&lt;ul&gt;
&lt;li&gt;KIO-Fuse probably needs extra real-world testing on FreeBSD. I don’t have that kind of   mounts (just NFS in /etc/fstab) so I’m not the target audience.&lt;/li&gt;
&lt;li&gt;KTextEditor is missing .editorconfig support. That can come in with the next frameworks update, when consumers update anyway. Chasing it in an intermediate release is a bit problematic because it does require some rebuilds of consumers.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-announce/2020-February/001929.html" target="_blank" rel="nofollow noopener"&gt;Travel Grant Application for BSDCan is now open&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Hi everyone,&lt;/p&gt;

&lt;p&gt;The Travel Grant Application for BSDCan 2020 is now open. The Foundation can help you attend BSDCan through our travel grant program. Travel grants are available to FreeBSD developers and advocates who need assistance with travel expenses for attending conferences related to FreeBSD development. BSDCan 2020 applications are due April 9, 2020. Find out more and apply at: &lt;a href="https://www.freebsdfoundation.org/what-we-do/grants/travel-grants/" target="_blank" rel="nofollow noopener"&gt;https://www.freebsdfoundation.org/what-we-do/grants/travel-grants/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Did you know the Foundation also provides grants for technical events not specifically focused on BSD? If you feel that your attendance at one of these events will benefit the FreeBSD Project and Community and you need assistance getting there,  please fill out the general travel grant application.  Your application must be received 7 weeks prior to the event. The general application can be found here: &lt;a href="https://goo.gl/forms/QzsOMR8Jra0vqFYH2" target="_blank" rel="nofollow noopener"&gt;https://goo.gl/forms/QzsOMR8Jra0vqFYH2&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2020/02/01/creating-a-zfs-dataset-for-testing-iocage-within-a-jail/" target="_blank" rel="nofollow noopener"&gt;Creating a ZFS dataset for testing iocage within a jail&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Be warned, this failed. I’m stalled and I have not completed this.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m going to do jails within a jail. I already do that with poudriere in a jail but here I want to test an older version of iocage before upgrading my current jail hosts to a newer version.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In this post:

&lt;ul&gt;
&lt;li&gt;FreeBSD 12.1&lt;/li&gt;
&lt;li&gt;py36-iocage-1.2_3&lt;/li&gt;
&lt;li&gt;py36-iocage-1.2_4&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This post includes my errors and mistakes. Perhaps you should proceed carefully and read it all first.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/journal/browser-based-edition/" target="_blank" rel="nofollow noopener"&gt;Reminder: the FreeBSD Journal is free! Check out these great articles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jcs/status/1224205573656322048" target="_blank" rel="nofollow noopener"&gt;Serenity GUI desktop running on an OpenBSD kernel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/apple-open-source/macos" target="_blank" rel="nofollow noopener"&gt;The Open Source Parts of MacOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fosdem.org/2020/schedule/track/bsd/" target="_blank" rel="nofollow noopener"&gt;FOSDEM videos available&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Michael - &lt;a href="http://dpaste.com/3WRC9CQ#wrap" target="_blank" rel="nofollow noopener"&gt;Install with ZFS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mohammad - &lt;a href="http://dpaste.com/3BYZKMS#wrap" target="_blank" rel="nofollow noopener"&gt;Server Freeze&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Todd - &lt;a href="http://dpaste.com/2J50HSJ#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS Questions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0338.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, distrowatch, furybsd, review, lldb, i386, wpa_supplicant, KDE, desktop environment, DE, travel grant, grant, iocage, dataset, zfs, jail</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Distrowatch reviews FuryBSD, LLDB on i386 for NetBSD, wpa_supplicant as lower-class citizen, KDE on FreeBSD updates, Travel Grant for BSDCan open, ZFS dataset for testing iocage within a jail, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://distrowatch.com/weekly.php?issue=20200127#furybsd" target="_blank" rel="nofollow noopener">Distrowatch Fury BSD Review</a></h3>

<blockquote>
<p>FuryBSD is the most recent addition to the DistroWatch database and provides a live desktop operating system based on FreeBSD. FuryBSD is not entirely different in its goals from NomadBSD, which we discussed recently. I wanted to take this FreeBSD-based project for a test drive and see how it compares to NomadBSD and other desktop-oriented projects in the FreeBSD family.</p>

<p>FuryBSD supplies hybrid ISO/USB images which can be used to run a live desktop. There are two desktop editions currently, both for 64-bit (x86_64) machines: Xfce and KDE Plasma. The Xfce edition is 1.4GB in size and is the flavour I downloaded. The KDE Plasma edition is about 3.0GB in size.</p>

<p>My fresh install of FuryBSD booted to a graphical login screen. From there I could sign into my account, which brings up the Xfce desktop. The installed version of Xfce is the same as the live version, with a few minor changes. Most of the desktop icons have been removed with just the file manager launchers remaining. The Getting Started and System Information icons have been removed. Otherwise the experience is virtually identical to the live media.</p>

<p>FuryBSD uses a theme that is mostly grey and white with creamy yellow folder icons. The application menu launchers tend to have neutral icons, neither particularly bright and detailed or minimal.</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/lldb_now_works_on_i386" target="_blank" rel="nofollow noopener">LLDB now works on i386</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.</p>

<p>In February 2019, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues, fixing watchpoint and threading support.</p>

<p>The original NetBSD port of LLDB was focused on amd64 only. In January, I have extended it to support i386 executables. This includes both 32-bit builds of LLDB (running natively on i386 kernel or via compat32) and debugging 32-bit programs from 64-bit LLDB.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://marc.info/?l=openbsd-misc&amp;m=158068418807352&amp;w=2" target="_blank" rel="nofollow noopener">wpa_supplicant is definitely a lower-class citizen, sorry</a></h3>

<blockquote>
<p>wpa_supplicant is definitely a lower-class citizen, sorry.</p>

<p>I increasingly wonder why this stuff matters; transit costs are so much lower than the period when eduroam was setup, and their reliance on 802.11x is super weird in a world where, for the most part<br>
    + entire cities have open wifi in their downtown core<br>
    + edu vs edu+transit split horizon problems have to be solved anyways<br>
    + many universities have parallel open wifi<br>
    + rate limiting / fare-share approaches for the open-net, on unmetered<br>
    + flat-rate solves the problem<br>
    + LTE hotspot off a phone isn't a rip off anymore<br>
    + other open networks exist</p>

<p>essentially no one else feels compelled to do use 802.11x for a so called "semi-open access network", so I think they've lost the plot on friction vs benefit.</p>

<p>(we've held hackathons at EDU campus that are locked down like that, and in every case we've said no way, gotten a wire with open net, and built our own wifi.  we will not subject our developers to that extra complexity).</p>
</blockquote>

<hr>

<h3><a href="https://euroquis.nl/freebsd/2020/02/08/freebsd.html" target="_blank" rel="nofollow noopener">KDE FreeBSD Updates Feb 2020</a></h3>

<blockquote>
<p>Some bits and bobs from the KDE FreeBSD team in february 2020. We met at the FreeBSD devsummit before FOSDEM, along with other FreeBSD people. Plans were made, schemes were forged, and Groff the Goat was introduced to some new people. </p>
</blockquote>

<ul>
<li>The big ticket things:

<ul>
<li> Frameworks are at 5.66</li>
<li>Plasma is at 5.17.5 (the beta 5.18 hasn’t been tried)</li>
<li>KDE release service has landed 19.12.2 (same day it was released)</li>
</ul></li>
<li>Developer-centric:

<ul>
<li>KDevelop is at 5.5.0</li>
<li>KUserfeedback landed its 1.0.0 release</li>
<li>CMake is 3.16.3</li>
</ul></li>
<li>Applications:

<ul>
<li>Musescore is at 3.4.2</li>
<li>Elisa now part of the KDE release service updates</li>
</ul></li>
<li>Fuure work:

<ul>
<li>KIO-Fuse probably needs extra real-world testing on FreeBSD. I don’t have that kind of   mounts (just NFS in /etc/fstab) so I’m not the target audience.</li>
<li>KTextEditor is missing .editorconfig support. That can come in with the next frameworks update, when consumers update anyway. Chasing it in an intermediate release is a bit problematic because it does require some rebuilds of consumers.</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2020-February/001929.html" target="_blank" rel="nofollow noopener">Travel Grant Application for BSDCan is now open</a></h3>

<blockquote>
<p>Hi everyone,</p>

<p>The Travel Grant Application for BSDCan 2020 is now open. The Foundation can help you attend BSDCan through our travel grant program. Travel grants are available to FreeBSD developers and advocates who need assistance with travel expenses for attending conferences related to FreeBSD development. BSDCan 2020 applications are due April 9, 2020. Find out more and apply at: <a href="https://www.freebsdfoundation.org/what-we-do/grants/travel-grants/" target="_blank" rel="nofollow noopener">https://www.freebsdfoundation.org/what-we-do/grants/travel-grants/</a></p>

<p>Did you know the Foundation also provides grants for technical events not specifically focused on BSD? If you feel that your attendance at one of these events will benefit the FreeBSD Project and Community and you need assistance getting there,  please fill out the general travel grant application.  Your application must be received 7 weeks prior to the event. The general application can be found here: <a href="https://goo.gl/forms/QzsOMR8Jra0vqFYH2" target="_blank" rel="nofollow noopener">https://goo.gl/forms/QzsOMR8Jra0vqFYH2</a></p>
</blockquote>

<hr>

<h3><a href="https://dan.langille.org/2020/02/01/creating-a-zfs-dataset-for-testing-iocage-within-a-jail/" target="_blank" rel="nofollow noopener">Creating a ZFS dataset for testing iocage within a jail</a></h3>

<ul>
<li>Be warned, this failed. I’m stalled and I have not completed this.</li>
</ul>

<blockquote>
<p>I’m going to do jails within a jail. I already do that with poudriere in a jail but here I want to test an older version of iocage before upgrading my current jail hosts to a newer version.</p>
</blockquote>

<ul>
<li>In this post:

<ul>
<li>FreeBSD 12.1</li>
<li>py36-iocage-1.2_3</li>
<li>py36-iocage-1.2_4</li>
</ul></li>
</ul>

<blockquote>
<p>This post includes my errors and mistakes. Perhaps you should proceed carefully and read it all first.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.freebsdfoundation.org/journal/browser-based-edition/" target="_blank" rel="nofollow noopener">Reminder: the FreeBSD Journal is free! Check out these great articles</a></li>
<li><a href="https://twitter.com/jcs/status/1224205573656322048" target="_blank" rel="nofollow noopener">Serenity GUI desktop running on an OpenBSD kernel</a></li>
<li><a href="https://github.com/apple-open-source/macos" target="_blank" rel="nofollow noopener">The Open Source Parts of MacOS</a></li>
<li><a href="https://www.fosdem.org/2020/schedule/track/bsd/" target="_blank" rel="nofollow noopener">FOSDEM videos available</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Michael - <a href="http://dpaste.com/3WRC9CQ#wrap" target="_blank" rel="nofollow noopener">Install with ZFS</a></li>
<li>Mohammad - <a href="http://dpaste.com/3BYZKMS#wrap" target="_blank" rel="nofollow noopener">Server Freeze</a></li>
<li>Todd - <a href="http://dpaste.com/2J50HSJ#wrap" target="_blank" rel="nofollow noopener">ZFS Questions</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0338.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Distrowatch reviews FuryBSD, LLDB on i386 for NetBSD, wpa_supplicant as lower-class citizen, KDE on FreeBSD updates, Travel Grant for BSDCan open, ZFS dataset for testing iocage within a jail, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://distrowatch.com/weekly.php?issue=20200127#furybsd" target="_blank" rel="nofollow noopener">Distrowatch Fury BSD Review</a></h3>

<blockquote>
<p>FuryBSD is the most recent addition to the DistroWatch database and provides a live desktop operating system based on FreeBSD. FuryBSD is not entirely different in its goals from NomadBSD, which we discussed recently. I wanted to take this FreeBSD-based project for a test drive and see how it compares to NomadBSD and other desktop-oriented projects in the FreeBSD family.</p>

<p>FuryBSD supplies hybrid ISO/USB images which can be used to run a live desktop. There are two desktop editions currently, both for 64-bit (x86_64) machines: Xfce and KDE Plasma. The Xfce edition is 1.4GB in size and is the flavour I downloaded. The KDE Plasma edition is about 3.0GB in size.</p>

<p>My fresh install of FuryBSD booted to a graphical login screen. From there I could sign into my account, which brings up the Xfce desktop. The installed version of Xfce is the same as the live version, with a few minor changes. Most of the desktop icons have been removed with just the file manager launchers remaining. The Getting Started and System Information icons have been removed. Otherwise the experience is virtually identical to the live media.</p>

<p>FuryBSD uses a theme that is mostly grey and white with creamy yellow folder icons. The application menu launchers tend to have neutral icons, neither particularly bright and detailed or minimal.</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/lldb_now_works_on_i386" target="_blank" rel="nofollow noopener">LLDB now works on i386</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.</p>

<p>In February 2019, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues, fixing watchpoint and threading support.</p>

<p>The original NetBSD port of LLDB was focused on amd64 only. In January, I have extended it to support i386 executables. This includes both 32-bit builds of LLDB (running natively on i386 kernel or via compat32) and debugging 32-bit programs from 64-bit LLDB.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://marc.info/?l=openbsd-misc&amp;m=158068418807352&amp;w=2" target="_blank" rel="nofollow noopener">wpa_supplicant is definitely a lower-class citizen, sorry</a></h3>

<blockquote>
<p>wpa_supplicant is definitely a lower-class citizen, sorry.</p>

<p>I increasingly wonder why this stuff matters; transit costs are so much lower than the period when eduroam was setup, and their reliance on 802.11x is super weird in a world where, for the most part<br>
    + entire cities have open wifi in their downtown core<br>
    + edu vs edu+transit split horizon problems have to be solved anyways<br>
    + many universities have parallel open wifi<br>
    + rate limiting / fare-share approaches for the open-net, on unmetered<br>
    + flat-rate solves the problem<br>
    + LTE hotspot off a phone isn't a rip off anymore<br>
    + other open networks exist</p>

<p>essentially no one else feels compelled to do use 802.11x for a so called "semi-open access network", so I think they've lost the plot on friction vs benefit.</p>

<p>(we've held hackathons at EDU campus that are locked down like that, and in every case we've said no way, gotten a wire with open net, and built our own wifi.  we will not subject our developers to that extra complexity).</p>
</blockquote>

<hr>

<h3><a href="https://euroquis.nl/freebsd/2020/02/08/freebsd.html" target="_blank" rel="nofollow noopener">KDE FreeBSD Updates Feb 2020</a></h3>

<blockquote>
<p>Some bits and bobs from the KDE FreeBSD team in february 2020. We met at the FreeBSD devsummit before FOSDEM, along with other FreeBSD people. Plans were made, schemes were forged, and Groff the Goat was introduced to some new people. </p>
</blockquote>

<ul>
<li>The big ticket things:

<ul>
<li> Frameworks are at 5.66</li>
<li>Plasma is at 5.17.5 (the beta 5.18 hasn’t been tried)</li>
<li>KDE release service has landed 19.12.2 (same day it was released)</li>
</ul></li>
<li>Developer-centric:

<ul>
<li>KDevelop is at 5.5.0</li>
<li>KUserfeedback landed its 1.0.0 release</li>
<li>CMake is 3.16.3</li>
</ul></li>
<li>Applications:

<ul>
<li>Musescore is at 3.4.2</li>
<li>Elisa now part of the KDE release service updates</li>
</ul></li>
<li>Fuure work:

<ul>
<li>KIO-Fuse probably needs extra real-world testing on FreeBSD. I don’t have that kind of   mounts (just NFS in /etc/fstab) so I’m not the target audience.</li>
<li>KTextEditor is missing .editorconfig support. That can come in with the next frameworks update, when consumers update anyway. Chasing it in an intermediate release is a bit problematic because it does require some rebuilds of consumers.</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2020-February/001929.html" target="_blank" rel="nofollow noopener">Travel Grant Application for BSDCan is now open</a></h3>

<blockquote>
<p>Hi everyone,</p>

<p>The Travel Grant Application for BSDCan 2020 is now open. The Foundation can help you attend BSDCan through our travel grant program. Travel grants are available to FreeBSD developers and advocates who need assistance with travel expenses for attending conferences related to FreeBSD development. BSDCan 2020 applications are due April 9, 2020. Find out more and apply at: <a href="https://www.freebsdfoundation.org/what-we-do/grants/travel-grants/" target="_blank" rel="nofollow noopener">https://www.freebsdfoundation.org/what-we-do/grants/travel-grants/</a></p>

<p>Did you know the Foundation also provides grants for technical events not specifically focused on BSD? If you feel that your attendance at one of these events will benefit the FreeBSD Project and Community and you need assistance getting there,  please fill out the general travel grant application.  Your application must be received 7 weeks prior to the event. The general application can be found here: <a href="https://goo.gl/forms/QzsOMR8Jra0vqFYH2" target="_blank" rel="nofollow noopener">https://goo.gl/forms/QzsOMR8Jra0vqFYH2</a></p>
</blockquote>

<hr>

<h3><a href="https://dan.langille.org/2020/02/01/creating-a-zfs-dataset-for-testing-iocage-within-a-jail/" target="_blank" rel="nofollow noopener">Creating a ZFS dataset for testing iocage within a jail</a></h3>

<ul>
<li>Be warned, this failed. I’m stalled and I have not completed this.</li>
</ul>

<blockquote>
<p>I’m going to do jails within a jail. I already do that with poudriere in a jail but here I want to test an older version of iocage before upgrading my current jail hosts to a newer version.</p>
</blockquote>

<ul>
<li>In this post:

<ul>
<li>FreeBSD 12.1</li>
<li>py36-iocage-1.2_3</li>
<li>py36-iocage-1.2_4</li>
</ul></li>
</ul>

<blockquote>
<p>This post includes my errors and mistakes. Perhaps you should proceed carefully and read it all first.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.freebsdfoundation.org/journal/browser-based-edition/" target="_blank" rel="nofollow noopener">Reminder: the FreeBSD Journal is free! Check out these great articles</a></li>
<li><a href="https://twitter.com/jcs/status/1224205573656322048" target="_blank" rel="nofollow noopener">Serenity GUI desktop running on an OpenBSD kernel</a></li>
<li><a href="https://github.com/apple-open-source/macos" target="_blank" rel="nofollow noopener">The Open Source Parts of MacOS</a></li>
<li><a href="https://www.fosdem.org/2020/schedule/track/bsd/" target="_blank" rel="nofollow noopener">FOSDEM videos available</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Michael - <a href="http://dpaste.com/3WRC9CQ#wrap" target="_blank" rel="nofollow noopener">Install with ZFS</a></li>
<li>Mohammad - <a href="http://dpaste.com/3BYZKMS#wrap" target="_blank" rel="nofollow noopener">Server Freeze</a></li>
<li>Todd - <a href="http://dpaste.com/2J50HSJ#wrap" target="_blank" rel="nofollow noopener">ZFS Questions</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0338.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>337: Kubernetes on bhyve</title>
  <link>https://www.bsdnow.tv/337</link>
  <guid isPermaLink="false">4a814adb-1ea5-41e3-baee-5645c60315d2</guid>
  <pubDate>Thu, 13 Feb 2020 11:30:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4a814adb-1ea5-41e3-baee-5645c60315d2.mp3" length="57168584" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Happinesses and stresses of full-time FOSS work, building a FreeBSD fileserver, Kubernetes on FreeBSD bhyve, NetBSD 9 RC1 available, OPNSense 20.1 is here, HardenedBSD’s idealistic future, and more.</itunes:subtitle>
  <itunes:duration>1:19:24</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>&lt;p&gt;Happinesses and stresses of full-time FOSS work, building a FreeBSD fileserver, Kubernetes on FreeBSD bhyve, NetBSD 9 RC1 available, OPNSense 20.1 is here, HardenedBSD’s idealistic future, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://drewdevault.com//2020/01/21/Stress-and-happiness.html" target="_blank" rel="nofollow noopener"&gt;The happinesses and stresses of full-time FOSS work&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In the past few days, several free software maintainers have come out to discuss the stresses of their work. Though the timing was suggestive, my article last week on the philosophy of project governance was, at best, only tangentially related to this topic - I had been working on that article for a while. I do have some thoughts that I’d like to share about what kind of stresses I’ve dealt with as a FOSS maintainer, and how I’ve managed (or often mismanaged) it.&lt;/p&gt;

&lt;p&gt;February will mark one year that I’ve been working on self-directed free software projects full-time. I was planning on writing an optimistic retrospective article around this time, but given the current mood of the ecosystem I think it would be better to be realistic. In this stage of my career, I now feel at once happier, busier, more fulfilled, more engaged, more stressed, and more depressed than I have at any other point in my life.&lt;/p&gt;

&lt;p&gt;The good parts are numerous. I’m able to work on my life’s passions, and my projects are in the best shape they’ve ever been thanks to the attention I’m able to pour into them. I’ve also been able to do more thoughtful, careful work; with the extra time I’ve been able to make my software more robust and reliable than it’s ever been. The variety of projects I can invest my time into has also increased substantially, with what was once relegated to minor curiosities now receiving a similar amount of attention as my larger projects were receiving in my spare time before. I can work from anywhere in the world, at any time, not worrying about when to take time off and when to put my head down and crank out a lot of code.&lt;/p&gt;

&lt;p&gt;The frustrations are numerous, as well. I often feel like I’ve bit off more than I can chew. This has been the default state of affairs for me for a long time; I’m often neglecting half of my projects in order to obtain progress by leaps and bounds in just a few. Working on FOSS full-time has cast this model’s disadvantages into greater relief, as I focus on a greater breadth of projects and spend more time on them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.vmwareblog.org/building-freebsd-file-server/" target="_blank" rel="nofollow noopener"&gt;Building a FreeBSD File Server&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Recently at my job, I was faced with a task to develop a file server explicitly suited for the requirements of the company. Needless to say, any configuration of a kind depends on what the infrastructure needs. So, drawing from my personal experience and numerous materials on the web, I came up with the combination FreeBSD+SAMBA+AD as the most appropriate. It appears to be a perfect choice for this environment, and harmonic addition to the existing network configuration since FreeBSD + SAMBA + AD enables admins with the broad range of possibilities for access control. However, as nothing is perfect, this configuration isn’t the best choice if your priority is data protection because it won’t be able to reach the necessary levels of reliability and fault tolerance without outside improvements.&lt;/p&gt;

&lt;p&gt;Now, since we’ve established that, let’s move on to the next point. This article’s describing the process of building a test environment while concentrating primarily on the details of the configuration. As the author, though, I must say I’m in no way suggesting that this is the only way! The following configuration will be presented in its initial stage, with the minimum requirements necessary to get the job done, and its purpose in one specific situation only. Here, look at this as a useful strategy to solve similar tasks. Well, let’s get started!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://twitter.com/hambug_ca/status/1227664949914349569" target="_blank" rel="nofollow noopener"&gt;Report from the first Hamilton BSD Users Group Meeting&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;February 11th was the first meeting of this new user group, founded by John Young and myself&lt;/p&gt;

&lt;p&gt;11 people attended, and a lot of good discussions were had&lt;/p&gt;

&lt;p&gt;One of the attendees already owns a domain that fits well for the group, so we will be getting that setup over the next few weeks, as well as the twitter account, and other organization stuff.&lt;/p&gt;

&lt;p&gt;Special thanks to the illumos users who drove in from Buffalo to attend, although they may have actually had a shorter drive than a few of the other attendees.&lt;/p&gt;

&lt;p&gt;The next meeting is scheduled again for the 2nd Tuesday of the month, March 10th.&lt;/p&gt;

&lt;p&gt;We are still discussing if we should meet at a restaurant again, or try to get a space at the local college or innovation hub where we can have a projector etc.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.bsdstore.ru/en/articles/cbsd_k8s_part1.html" target="_blank" rel="nofollow noopener"&gt;Kubernetes on FreeBSD Bhyve&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;There are quite a few solutions for container orchestration, but the most popular (or the most famous and highly advertised, is probably, a Kubernetes) Since I plan to conduct many experiments with installing and configuring k8s, I need a laboratory in which I can quickly and easily deploy a cluster in any quantities for myself. In my work and everyday life I use two OS very tightly - Linux and FreeBSD OS. Kubernetes and docker are Linux-centric projects, and at first glance, you should not expect any useful participation and help from FreeBSD here. As the saying goes, an elephant can be made out of a fly, but it will no longer fly. However, two tempting things come to mind - this is very good integration and work in the FreeBSD ZFS file system, from which it would be nice to use the snapshot mechanism, COW and reliability. And the second is the bhyve hypervisor, because we still need the docker and k8s loader in the form of the Linux kernel. Thus, we need to connect a certain number of actions in various ways, most of which are related to starting and pre-configuring virtual machines. This is typical of both a Linux-based server and FreeBSD. What exactly will work under the hood to run virtual machines does not play a big role. And if so - let's take a FreeBSD here!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/first_release_candidate_for_netbsd" target="_blank" rel="nofollow noopener"&gt;NetBSD 9 RC1 Available&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We hope this will lead to the best NetBSD release ever (only to be topped by NetBSD 10 next year).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Here are a few highlights of the new release:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Support for Arm AArch64 (64-bit Armv8-A) machines, including "Arm ServerReady" compliant machines (SBBR+SBSA)&lt;/li&gt;
&lt;li&gt;Enhanced hardware support for Armv7-A&lt;/li&gt;
&lt;li&gt;Updated GPU drivers (e.g. support for Intel Kabylake)&lt;/li&gt;
&lt;li&gt;Enhanced virtualization support&lt;/li&gt;
&lt;li&gt;Support for hardware-accelerated virtualization (NVMM)&lt;/li&gt;
&lt;li&gt;Support for Performance Monitoring Counters&lt;/li&gt;
&lt;li&gt;Support for Kernel ASLR&lt;/li&gt;
&lt;li&gt;Support several kernel sanitizers (KLEAK, KASAN, KUBSAN)&lt;/li&gt;
&lt;li&gt;Support for userland sanitizers&lt;/li&gt;
&lt;li&gt;Audit of the network stack&lt;/li&gt;
&lt;li&gt;Many improvements in NPF&lt;/li&gt;
&lt;li&gt;Updated ZFS&lt;/li&gt;
&lt;li&gt;Reworked error handling and NCQ support in the SATA subsystem&lt;/li&gt;
&lt;li&gt;Support a common framework for USB Ethernet drivers (usbnet)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can download binaries of NetBSD 9.0_RC1 from our Fastly-provided CDN: &lt;a href="https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.0_RC1/" target="_blank" rel="nofollow noopener"&gt;https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.0_RC1/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-20-1-keen-kingfisher-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 20.1 Keen Kingfisher released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;For over 5 years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.&lt;/p&gt;

&lt;p&gt;20.1, nicknamed "Keen Kingfisher", is a subtle improvement on sustainable firewall experience. This release adds VXLAN and additional loopback device support, IPsec public key authentication and elliptic curve TLS certificate creation amongst others. Third party software has been updated to their latest versions. The logging frontend was rewritten for MVC with seamless API support. On the far side the documentation increased in quality as well as quantity and now presents itself in a familiar menu layout.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2020-01-26/idealistic-future-hardenedbsd" target="_blank" rel="nofollow noopener"&gt;Idealistic Future for HardenedBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Over the past month, we purchased and deployed the new 13-CURRENT/amd64 package building server. We published our first 13-CURRENT/amd64 production package build using that server. We then rebuilt the old package building server to act as the 12-STABLE/amd64 package building server. This post signifies a very important milestone: we have now fully recovered from last year's death of our infrastructure. Our 12-STABLE/amd64 repo, previously out-of-date by many months, is now fully up-to-date!&lt;/p&gt;

&lt;p&gt;HardenedBSD is in a very unique position to provide innovative solutions to at-risk and underprivileged populations. As such, we are making human rights endeavors a defining area of focus. Our infrastructure will integrate various privacy and anonymity enhancing technologies and techniques to protect lives. Our operating system's security posture will increase, especially with our focus on exploit mitigations.&lt;/p&gt;

&lt;p&gt;Navigating the intersection between human rights and information security directly impacts lives. HardenedBSD's 2020 mission and focus is to deliver an entire hardened ecosystem that is unfriendly towards those who would oppress or censor their people. This includes a subtle shift in priorities to match this new mission and focus. While we implement exploit mitigations and further harden the ecosystem, we will seek out opportunities to contribute a tangible and unique impact on human rights issues. Providing Tor Onion Services for our core infrastructure is the first step in likely many to come towards securely helping those in need.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://fosdem.org/2020/interviews/warner-losh/" target="_blank" rel="nofollow noopener"&gt;Warner Losh's FOSDEM talk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://relational-pipes.globalcode.info/v_0/release-v0.15.xhtml" target="_blank" rel="nofollow noopener"&gt;Relational Pipes v0.15&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.armbsd.org/arm/" target="_blank" rel="nofollow noopener"&gt;A reminder for where to find NetBSD ARM images&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-arch/2020-January/019866.html" target="_blank" rel="nofollow noopener"&gt;New Safe Memory Reclamation feature in UMA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/niclaszeising/status/1216667359831842817" target="_blank" rel="nofollow noopener"&gt;BSD Users Stockholm Meetup&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;ZFS - &lt;a href="http://dpaste.com/13EK8YH#wrap" target="_blank" rel="nofollow noopener"&gt;Rosetta Stone Document?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Pat - &lt;a href="http://dpaste.com/2DN5RA4#wrap" target="_blank" rel="nofollow noopener"&gt;Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Sigflup - &lt;a href="http://dpaste.com/03Y4FQ7#wrap" target="_blank" rel="nofollow noopener"&gt;Wayland on the BSDs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0337.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, happyness, stress, foss, full time open source, fileserver, file server, kubernetes, k8s, bhyve, netbsd 10, opnsense, keen kingfisher</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Happinesses and stresses of full-time FOSS work, building a FreeBSD fileserver, Kubernetes on FreeBSD bhyve, NetBSD 9 RC1 available, OPNSense 20.1 is here, HardenedBSD’s idealistic future, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://drewdevault.com//2020/01/21/Stress-and-happiness.html" target="_blank" rel="nofollow noopener">The happinesses and stresses of full-time FOSS work</a></h3>

<blockquote>
<p>In the past few days, several free software maintainers have come out to discuss the stresses of their work. Though the timing was suggestive, my article last week on the philosophy of project governance was, at best, only tangentially related to this topic - I had been working on that article for a while. I do have some thoughts that I’d like to share about what kind of stresses I’ve dealt with as a FOSS maintainer, and how I’ve managed (or often mismanaged) it.</p>

<p>February will mark one year that I’ve been working on self-directed free software projects full-time. I was planning on writing an optimistic retrospective article around this time, but given the current mood of the ecosystem I think it would be better to be realistic. In this stage of my career, I now feel at once happier, busier, more fulfilled, more engaged, more stressed, and more depressed than I have at any other point in my life.</p>

<p>The good parts are numerous. I’m able to work on my life’s passions, and my projects are in the best shape they’ve ever been thanks to the attention I’m able to pour into them. I’ve also been able to do more thoughtful, careful work; with the extra time I’ve been able to make my software more robust and reliable than it’s ever been. The variety of projects I can invest my time into has also increased substantially, with what was once relegated to minor curiosities now receiving a similar amount of attention as my larger projects were receiving in my spare time before. I can work from anywhere in the world, at any time, not worrying about when to take time off and when to put my head down and crank out a lot of code.</p>

<p>The frustrations are numerous, as well. I often feel like I’ve bit off more than I can chew. This has been the default state of affairs for me for a long time; I’m often neglecting half of my projects in order to obtain progress by leaps and bounds in just a few. Working on FOSS full-time has cast this model’s disadvantages into greater relief, as I focus on a greater breadth of projects and spend more time on them.</p>
</blockquote>

<hr>

<h3><a href="https://www.vmwareblog.org/building-freebsd-file-server/" target="_blank" rel="nofollow noopener">Building a FreeBSD File Server</a></h3>

<blockquote>
<p>Recently at my job, I was faced with a task to develop a file server explicitly suited for the requirements of the company. Needless to say, any configuration of a kind depends on what the infrastructure needs. So, drawing from my personal experience and numerous materials on the web, I came up with the combination FreeBSD+SAMBA+AD as the most appropriate. It appears to be a perfect choice for this environment, and harmonic addition to the existing network configuration since FreeBSD + SAMBA + AD enables admins with the broad range of possibilities for access control. However, as nothing is perfect, this configuration isn’t the best choice if your priority is data protection because it won’t be able to reach the necessary levels of reliability and fault tolerance without outside improvements.</p>

<p>Now, since we’ve established that, let’s move on to the next point. This article’s describing the process of building a test environment while concentrating primarily on the details of the configuration. As the author, though, I must say I’m in no way suggesting that this is the only way! The following configuration will be presented in its initial stage, with the minimum requirements necessary to get the job done, and its purpose in one specific situation only. Here, look at this as a useful strategy to solve similar tasks. Well, let’s get started!</p>
</blockquote>

<hr>

<h3><a href="https://twitter.com/hambug_ca/status/1227664949914349569" target="_blank" rel="nofollow noopener">Report from the first Hamilton BSD Users Group Meeting</a></h3>

<blockquote>
<p>February 11th was the first meeting of this new user group, founded by John Young and myself</p>

<p>11 people attended, and a lot of good discussions were had</p>

<p>One of the attendees already owns a domain that fits well for the group, so we will be getting that setup over the next few weeks, as well as the twitter account, and other organization stuff.</p>

<p>Special thanks to the illumos users who drove in from Buffalo to attend, although they may have actually had a shorter drive than a few of the other attendees.</p>

<p>The next meeting is scheduled again for the 2nd Tuesday of the month, March 10th.</p>

<p>We are still discussing if we should meet at a restaurant again, or try to get a space at the local college or innovation hub where we can have a projector etc.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.bsdstore.ru/en/articles/cbsd_k8s_part1.html" target="_blank" rel="nofollow noopener">Kubernetes on FreeBSD Bhyve</a></h3>

<blockquote>
<p>There are quite a few solutions for container orchestration, but the most popular (or the most famous and highly advertised, is probably, a Kubernetes) Since I plan to conduct many experiments with installing and configuring k8s, I need a laboratory in which I can quickly and easily deploy a cluster in any quantities for myself. In my work and everyday life I use two OS very tightly - Linux and FreeBSD OS. Kubernetes and docker are Linux-centric projects, and at first glance, you should not expect any useful participation and help from FreeBSD here. As the saying goes, an elephant can be made out of a fly, but it will no longer fly. However, two tempting things come to mind - this is very good integration and work in the FreeBSD ZFS file system, from which it would be nice to use the snapshot mechanism, COW and reliability. And the second is the bhyve hypervisor, because we still need the docker and k8s loader in the form of the Linux kernel. Thus, we need to connect a certain number of actions in various ways, most of which are related to starting and pre-configuring virtual machines. This is typical of both a Linux-based server and FreeBSD. What exactly will work under the hood to run virtual machines does not play a big role. And if so - let's take a FreeBSD here!</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/first_release_candidate_for_netbsd" target="_blank" rel="nofollow noopener">NetBSD 9 RC1 Available</a></h3>

<blockquote>
<p>We hope this will lead to the best NetBSD release ever (only to be topped by NetBSD 10 next year).</p>
</blockquote>

<ul>
<li><p>Here are a few highlights of the new release:</p>

<ul>
<li>Support for Arm AArch64 (64-bit Armv8-A) machines, including "Arm ServerReady" compliant machines (SBBR+SBSA)</li>
<li>Enhanced hardware support for Armv7-A</li>
<li>Updated GPU drivers (e.g. support for Intel Kabylake)</li>
<li>Enhanced virtualization support</li>
<li>Support for hardware-accelerated virtualization (NVMM)</li>
<li>Support for Performance Monitoring Counters</li>
<li>Support for Kernel ASLR</li>
<li>Support several kernel sanitizers (KLEAK, KASAN, KUBSAN)</li>
<li>Support for userland sanitizers</li>
<li>Audit of the network stack</li>
<li>Many improvements in NPF</li>
<li>Updated ZFS</li>
<li>Reworked error handling and NCQ support in the SATA subsystem</li>
<li>Support a common framework for USB Ethernet drivers (usbnet)</li>
</ul></li>
<li><p>You can download binaries of NetBSD 9.0_RC1 from our Fastly-provided CDN: <a href="https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.0_RC1/" target="_blank" rel="nofollow noopener">https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.0_RC1/</a></p></li>
</ul>

<hr>

<h3><a href="https://opnsense.org/opnsense-20-1-keen-kingfisher-released/" target="_blank" rel="nofollow noopener">OPNsense 20.1 Keen Kingfisher released</a></h3>

<blockquote>
<p>For over 5 years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.</p>

<p>20.1, nicknamed "Keen Kingfisher", is a subtle improvement on sustainable firewall experience. This release adds VXLAN and additional loopback device support, IPsec public key authentication and elliptic curve TLS certificate creation amongst others. Third party software has been updated to their latest versions. The logging frontend was rewritten for MVC with seamless API support. On the far side the documentation increased in quality as well as quantity and now presents itself in a familiar menu layout.</p>
</blockquote>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2020-01-26/idealistic-future-hardenedbsd" target="_blank" rel="nofollow noopener">Idealistic Future for HardenedBSD</a></h3>

<blockquote>
<p>Over the past month, we purchased and deployed the new 13-CURRENT/amd64 package building server. We published our first 13-CURRENT/amd64 production package build using that server. We then rebuilt the old package building server to act as the 12-STABLE/amd64 package building server. This post signifies a very important milestone: we have now fully recovered from last year's death of our infrastructure. Our 12-STABLE/amd64 repo, previously out-of-date by many months, is now fully up-to-date!</p>

<p>HardenedBSD is in a very unique position to provide innovative solutions to at-risk and underprivileged populations. As such, we are making human rights endeavors a defining area of focus. Our infrastructure will integrate various privacy and anonymity enhancing technologies and techniques to protect lives. Our operating system's security posture will increase, especially with our focus on exploit mitigations.</p>

<p>Navigating the intersection between human rights and information security directly impacts lives. HardenedBSD's 2020 mission and focus is to deliver an entire hardened ecosystem that is unfriendly towards those who would oppress or censor their people. This includes a subtle shift in priorities to match this new mission and focus. While we implement exploit mitigations and further harden the ecosystem, we will seek out opportunities to contribute a tangible and unique impact on human rights issues. Providing Tor Onion Services for our core infrastructure is the first step in likely many to come towards securely helping those in need.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://fosdem.org/2020/interviews/warner-losh/" target="_blank" rel="nofollow noopener">Warner Losh's FOSDEM talk</a></li>
<li><a href="https://relational-pipes.globalcode.info/v_0/release-v0.15.xhtml" target="_blank" rel="nofollow noopener">Relational Pipes v0.15</a></li>
<li><a href="http://www.armbsd.org/arm/" target="_blank" rel="nofollow noopener">A reminder for where to find NetBSD ARM images</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-arch/2020-January/019866.html" target="_blank" rel="nofollow noopener">New Safe Memory Reclamation feature in UMA</a></li>
<li><a href="https://twitter.com/niclaszeising/status/1216667359831842817" target="_blank" rel="nofollow noopener">BSD Users Stockholm Meetup</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>ZFS - <a href="http://dpaste.com/13EK8YH#wrap" target="_blank" rel="nofollow noopener">Rosetta Stone Document?</a></li>
<li>Pat - <a href="http://dpaste.com/2DN5RA4#wrap" target="_blank" rel="nofollow noopener">Question</a></li>
<li>Sigflup - <a href="http://dpaste.com/03Y4FQ7#wrap" target="_blank" rel="nofollow noopener">Wayland on the BSDs</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0337.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Happinesses and stresses of full-time FOSS work, building a FreeBSD fileserver, Kubernetes on FreeBSD bhyve, NetBSD 9 RC1 available, OPNSense 20.1 is here, HardenedBSD’s idealistic future, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://drewdevault.com//2020/01/21/Stress-and-happiness.html" target="_blank" rel="nofollow noopener">The happinesses and stresses of full-time FOSS work</a></h3>

<blockquote>
<p>In the past few days, several free software maintainers have come out to discuss the stresses of their work. Though the timing was suggestive, my article last week on the philosophy of project governance was, at best, only tangentially related to this topic - I had been working on that article for a while. I do have some thoughts that I’d like to share about what kind of stresses I’ve dealt with as a FOSS maintainer, and how I’ve managed (or often mismanaged) it.</p>

<p>February will mark one year that I’ve been working on self-directed free software projects full-time. I was planning on writing an optimistic retrospective article around this time, but given the current mood of the ecosystem I think it would be better to be realistic. In this stage of my career, I now feel at once happier, busier, more fulfilled, more engaged, more stressed, and more depressed than I have at any other point in my life.</p>

<p>The good parts are numerous. I’m able to work on my life’s passions, and my projects are in the best shape they’ve ever been thanks to the attention I’m able to pour into them. I’ve also been able to do more thoughtful, careful work; with the extra time I’ve been able to make my software more robust and reliable than it’s ever been. The variety of projects I can invest my time into has also increased substantially, with what was once relegated to minor curiosities now receiving a similar amount of attention as my larger projects were receiving in my spare time before. I can work from anywhere in the world, at any time, not worrying about when to take time off and when to put my head down and crank out a lot of code.</p>

<p>The frustrations are numerous, as well. I often feel like I’ve bit off more than I can chew. This has been the default state of affairs for me for a long time; I’m often neglecting half of my projects in order to obtain progress by leaps and bounds in just a few. Working on FOSS full-time has cast this model’s disadvantages into greater relief, as I focus on a greater breadth of projects and spend more time on them.</p>
</blockquote>

<hr>

<h3><a href="https://www.vmwareblog.org/building-freebsd-file-server/" target="_blank" rel="nofollow noopener">Building a FreeBSD File Server</a></h3>

<blockquote>
<p>Recently at my job, I was faced with a task to develop a file server explicitly suited for the requirements of the company. Needless to say, any configuration of a kind depends on what the infrastructure needs. So, drawing from my personal experience and numerous materials on the web, I came up with the combination FreeBSD+SAMBA+AD as the most appropriate. It appears to be a perfect choice for this environment, and harmonic addition to the existing network configuration since FreeBSD + SAMBA + AD enables admins with the broad range of possibilities for access control. However, as nothing is perfect, this configuration isn’t the best choice if your priority is data protection because it won’t be able to reach the necessary levels of reliability and fault tolerance without outside improvements.</p>

<p>Now, since we’ve established that, let’s move on to the next point. This article’s describing the process of building a test environment while concentrating primarily on the details of the configuration. As the author, though, I must say I’m in no way suggesting that this is the only way! The following configuration will be presented in its initial stage, with the minimum requirements necessary to get the job done, and its purpose in one specific situation only. Here, look at this as a useful strategy to solve similar tasks. Well, let’s get started!</p>
</blockquote>

<hr>

<h3><a href="https://twitter.com/hambug_ca/status/1227664949914349569" target="_blank" rel="nofollow noopener">Report from the first Hamilton BSD Users Group Meeting</a></h3>

<blockquote>
<p>February 11th was the first meeting of this new user group, founded by John Young and myself</p>

<p>11 people attended, and a lot of good discussions were had</p>

<p>One of the attendees already owns a domain that fits well for the group, so we will be getting that setup over the next few weeks, as well as the twitter account, and other organization stuff.</p>

<p>Special thanks to the illumos users who drove in from Buffalo to attend, although they may have actually had a shorter drive than a few of the other attendees.</p>

<p>The next meeting is scheduled again for the 2nd Tuesday of the month, March 10th.</p>

<p>We are still discussing if we should meet at a restaurant again, or try to get a space at the local college or innovation hub where we can have a projector etc.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.bsdstore.ru/en/articles/cbsd_k8s_part1.html" target="_blank" rel="nofollow noopener">Kubernetes on FreeBSD Bhyve</a></h3>

<blockquote>
<p>There are quite a few solutions for container orchestration, but the most popular (or the most famous and highly advertised, is probably, a Kubernetes) Since I plan to conduct many experiments with installing and configuring k8s, I need a laboratory in which I can quickly and easily deploy a cluster in any quantities for myself. In my work and everyday life I use two OS very tightly - Linux and FreeBSD OS. Kubernetes and docker are Linux-centric projects, and at first glance, you should not expect any useful participation and help from FreeBSD here. As the saying goes, an elephant can be made out of a fly, but it will no longer fly. However, two tempting things come to mind - this is very good integration and work in the FreeBSD ZFS file system, from which it would be nice to use the snapshot mechanism, COW and reliability. And the second is the bhyve hypervisor, because we still need the docker and k8s loader in the form of the Linux kernel. Thus, we need to connect a certain number of actions in various ways, most of which are related to starting and pre-configuring virtual machines. This is typical of both a Linux-based server and FreeBSD. What exactly will work under the hood to run virtual machines does not play a big role. And if so - let's take a FreeBSD here!</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/first_release_candidate_for_netbsd" target="_blank" rel="nofollow noopener">NetBSD 9 RC1 Available</a></h3>

<blockquote>
<p>We hope this will lead to the best NetBSD release ever (only to be topped by NetBSD 10 next year).</p>
</blockquote>

<ul>
<li><p>Here are a few highlights of the new release:</p>

<ul>
<li>Support for Arm AArch64 (64-bit Armv8-A) machines, including "Arm ServerReady" compliant machines (SBBR+SBSA)</li>
<li>Enhanced hardware support for Armv7-A</li>
<li>Updated GPU drivers (e.g. support for Intel Kabylake)</li>
<li>Enhanced virtualization support</li>
<li>Support for hardware-accelerated virtualization (NVMM)</li>
<li>Support for Performance Monitoring Counters</li>
<li>Support for Kernel ASLR</li>
<li>Support several kernel sanitizers (KLEAK, KASAN, KUBSAN)</li>
<li>Support for userland sanitizers</li>
<li>Audit of the network stack</li>
<li>Many improvements in NPF</li>
<li>Updated ZFS</li>
<li>Reworked error handling and NCQ support in the SATA subsystem</li>
<li>Support a common framework for USB Ethernet drivers (usbnet)</li>
</ul></li>
<li><p>You can download binaries of NetBSD 9.0_RC1 from our Fastly-provided CDN: <a href="https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.0_RC1/" target="_blank" rel="nofollow noopener">https://cdn.netbsd.org/pub/NetBSD/NetBSD-9.0_RC1/</a></p></li>
</ul>

<hr>

<h3><a href="https://opnsense.org/opnsense-20-1-keen-kingfisher-released/" target="_blank" rel="nofollow noopener">OPNsense 20.1 Keen Kingfisher released</a></h3>

<blockquote>
<p>For over 5 years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.</p>

<p>20.1, nicknamed "Keen Kingfisher", is a subtle improvement on sustainable firewall experience. This release adds VXLAN and additional loopback device support, IPsec public key authentication and elliptic curve TLS certificate creation amongst others. Third party software has been updated to their latest versions. The logging frontend was rewritten for MVC with seamless API support. On the far side the documentation increased in quality as well as quantity and now presents itself in a familiar menu layout.</p>
</blockquote>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2020-01-26/idealistic-future-hardenedbsd" target="_blank" rel="nofollow noopener">Idealistic Future for HardenedBSD</a></h3>

<blockquote>
<p>Over the past month, we purchased and deployed the new 13-CURRENT/amd64 package building server. We published our first 13-CURRENT/amd64 production package build using that server. We then rebuilt the old package building server to act as the 12-STABLE/amd64 package building server. This post signifies a very important milestone: we have now fully recovered from last year's death of our infrastructure. Our 12-STABLE/amd64 repo, previously out-of-date by many months, is now fully up-to-date!</p>

<p>HardenedBSD is in a very unique position to provide innovative solutions to at-risk and underprivileged populations. As such, we are making human rights endeavors a defining area of focus. Our infrastructure will integrate various privacy and anonymity enhancing technologies and techniques to protect lives. Our operating system's security posture will increase, especially with our focus on exploit mitigations.</p>

<p>Navigating the intersection between human rights and information security directly impacts lives. HardenedBSD's 2020 mission and focus is to deliver an entire hardened ecosystem that is unfriendly towards those who would oppress or censor their people. This includes a subtle shift in priorities to match this new mission and focus. While we implement exploit mitigations and further harden the ecosystem, we will seek out opportunities to contribute a tangible and unique impact on human rights issues. Providing Tor Onion Services for our core infrastructure is the first step in likely many to come towards securely helping those in need.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://fosdem.org/2020/interviews/warner-losh/" target="_blank" rel="nofollow noopener">Warner Losh's FOSDEM talk</a></li>
<li><a href="https://relational-pipes.globalcode.info/v_0/release-v0.15.xhtml" target="_blank" rel="nofollow noopener">Relational Pipes v0.15</a></li>
<li><a href="http://www.armbsd.org/arm/" target="_blank" rel="nofollow noopener">A reminder for where to find NetBSD ARM images</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-arch/2020-January/019866.html" target="_blank" rel="nofollow noopener">New Safe Memory Reclamation feature in UMA</a></li>
<li><a href="https://twitter.com/niclaszeising/status/1216667359831842817" target="_blank" rel="nofollow noopener">BSD Users Stockholm Meetup</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>ZFS - <a href="http://dpaste.com/13EK8YH#wrap" target="_blank" rel="nofollow noopener">Rosetta Stone Document?</a></li>
<li>Pat - <a href="http://dpaste.com/2DN5RA4#wrap" target="_blank" rel="nofollow noopener">Question</a></li>
<li>Sigflup - <a href="http://dpaste.com/03Y4FQ7#wrap" target="_blank" rel="nofollow noopener">Wayland on the BSDs</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0337.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>336: Archived Knowledge</title>
  <link>https://www.bsdnow.tv/336</link>
  <guid isPermaLink="false">3f404c97-d972-4734-9152-420ea4263317</guid>
  <pubDate>Thu, 06 Feb 2020 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3f404c97-d972-4734-9152-420ea4263317.mp3" length="41728650" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Linux couldn’t duplicate OpenBSD, FreeBSD Q4 status report, OPNsense 19.7.9 released, archives retain and pass on knowledge, HardenedBSD Tor Onion Service v3 Nodes, and more.</itunes:subtitle>
  <itunes:duration>57:57</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>&lt;p&gt;Linux couldn’t duplicate OpenBSD, FreeBSD Q4 status report, OPNsense 19.7.9 released, archives retain and pass on knowledge, HardenedBSD Tor Onion Service v3 Nodes, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/OpenBSDMustBeABSD?showcomments" target="_blank" rel="nofollow noopener"&gt;OpenBSD has to be a BSD Unix and you couldn't duplicate it with Linux&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenBSD has a well deserved reputation for putting security and a clean system (for code, documentation, and so on) first, and everything else second. OpenBSD is of course based on BSD (it's right there in the name) and descends from FreeBSD NetBSD (you can read the history here). But one of the questions you could ask about it is whether it had to be that way, and in particular if you could build something like OpenBSD on top of Linux. I believe that the answer is no.&lt;/p&gt;

&lt;p&gt;Linux and the *BSDs have a significantly different model of what they are. BSDs have a 'base system' that provides an integrated and fully operational core Unix, covering the kernel, C library and compiler, and the normal Unix user level programs, all maintained and distributed by the particular BSD. Linux is not a single unit this way, and instead all of the component parts are maintained separately and assembled in various ways by various Linux distributions. Both approaches have their advantages, but one big one for the BSD approach is that it enables global changes.&lt;/p&gt;

&lt;p&gt;Making global changes is an important part of what makes OpenBSD's approach to improving security, code maintenance, and so on work. Because it directly maintains everything as a unit, OpenBSD is in a position to introduce new C library or kernel APIs (or change them) and then immediately update all sorts of things in user level programs to use the new API. This takes a certain amount of work, of course, but it's possible to do it at all. And because OpenBSD can do this sort of ambitious global change, it does.&lt;/p&gt;

&lt;p&gt;This goes further than just the ability to make global changes, because in theory you can patch in global changes on top of a bunch of separate upstream projects. Because OpenBSD is in control of its entire base system, it's not forced to try to reconcile different development priorities or integrate clashing changes. OpenBSD can decide (and has) that only certain sorts of changes will be accepted into its system at all, no matter what people want. If there are features or entire programs that don't fit into what OpenBSD will accept, they just lose out.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-announce/2020-January/001923.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Quarterly Status Report 2019Q4&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Here is the last quarterly status report for 2019. As you might remember from last report, we changed our timeline: now we collect reports the last month of each quarter and we edit and publish the full document the next month. Thus, we cover here the period October 2019 - December 2019.&lt;/p&gt;

&lt;p&gt;If you thought that the FreeBSD community was less active in the Christmas' quarter you will be glad to be proven wrong: a quick glance at the summary will be sufficient to see that much work has been done in the last months.&lt;/p&gt;

&lt;p&gt;Have a nice read!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-19-7-9-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 19.7.9 released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As 20.1 nears we will be making adjustments to the scope of the release with an announcement following shortly.&lt;/p&gt;

&lt;p&gt;For now, this update brings you a GeoIP database configuration page for aliases which is now required due to upstream database policy changes and a number of prominent third-party software updates we are happy to see included.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2020/01/07/archives-are-important-to-retain-and-pass-on-knowledge/" target="_blank" rel="nofollow noopener"&gt;Archives are important to retain and pass on knowledge&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Archives are important. When they are public and available for searching, it retains and passes on knowledge. It saves vast amounts of time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2020-01-30/hardenedbsd-tor-onion-service-v3-nodes" target="_blank" rel="nofollow noopener"&gt;HardenedBSD Tor Onion Service v3 Nodes&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I've been working today on deploying Tor Onion Service v3 nodes across our build infrastructure. I'm happy to announce that the public portion of this is now completed. Below you will find various onion service hostnames and their match to our infrastructure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;hardenedbsd.org: lkiw4tmbudbr43hbyhm636sarn73vuow77czzohdbqdpjuq3vdzvenyd.onion&lt;/li&gt;
&lt;li&gt;ci-01.nyi.hardenedbsd.org: qspcqclhifj3tcpojsbwoxgwanlo2wakti2ia4wozxjcldkxmw2yj3yd.onion&lt;/li&gt;
&lt;li&gt;ci-03.md.hardenedbsd.org: eqvnohly4tjrkpwatdhgptftabpesofirnhz5kq7jzn4zd6ernpvnpqd.onion&lt;/li&gt;
&lt;li&gt;ci-04.md.hardenedbsd.org: rfqabq2w65nhdkukeqwf27r7h5xfh53h3uns6n74feeyl7s5fbjxczqd.onion&lt;/li&gt;
&lt;li&gt;git-01.md.hardenedbsd.org: dacxzjk3kq5mmepbdd3ai2ifynlzxsnpl2cnkfhridqfywihrfftapid.onion&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://missing.csail.mit.edu/" target="_blank" rel="nofollow noopener"&gt;The Missing Semester of Your CS Education (MIT Course)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://i.redd.it/503390rf7md41.png" target="_blank" rel="nofollow noopener"&gt;An old Unix Ad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=157488907117170&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD syscall call-from verification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/bluerise/status/1220963106563579909" target="_blank" rel="nofollow noopener"&gt;OpenBSD/arm64 on Pinebook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://studybsd.com/" target="_blank" rel="nofollow noopener"&gt;Reminder: First Southern Ontario BSD user group meeting, February 11th (this coming Tuesday!) 18:30 at Boston Pizza on Upper James st, Hamilton.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nycbug.org/" target="_blank" rel="nofollow noopener"&gt;NYCBUG: March meeting will feature Dr. Paul Vixie and his new talk “Operating Systems as Dumb Pipes”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/de-DE/BSD-Users-Stockholm/events/267873938/" target="_blank" rel="nofollow noopener"&gt;8th Meetup of the Stockholm BUG: March 3 at 18:00&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener"&gt;Polish BSD User Group meets on Feb 11, 2020 at 18:15&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Sean - &lt;a href="http://dpaste.com/3W5WBV0#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS and Creation Dates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Christopher - &lt;a href="http://dpaste.com/3SE43PW" target="_blank" rel="nofollow noopener"&gt;Help on ZFS Disaster Recovery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mike - &lt;a href="http://dpaste.com/00J5JZG#wrap" target="_blank" rel="nofollow noopener"&gt;Encrypted ZFS Send&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0336.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, status, status report, opnsense, firewall, router, archives, knowledge, tor, tor onion service node</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Linux couldn’t duplicate OpenBSD, FreeBSD Q4 status report, OPNsense 19.7.9 released, archives retain and pass on knowledge, HardenedBSD Tor Onion Service v3 Nodes, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/OpenBSDMustBeABSD?showcomments" target="_blank" rel="nofollow noopener">OpenBSD has to be a BSD Unix and you couldn't duplicate it with Linux</a></h3>

<blockquote>
<p>OpenBSD has a well deserved reputation for putting security and a clean system (for code, documentation, and so on) first, and everything else second. OpenBSD is of course based on BSD (it's right there in the name) and descends from FreeBSD NetBSD (you can read the history here). But one of the questions you could ask about it is whether it had to be that way, and in particular if you could build something like OpenBSD on top of Linux. I believe that the answer is no.</p>

<p>Linux and the *BSDs have a significantly different model of what they are. BSDs have a 'base system' that provides an integrated and fully operational core Unix, covering the kernel, C library and compiler, and the normal Unix user level programs, all maintained and distributed by the particular BSD. Linux is not a single unit this way, and instead all of the component parts are maintained separately and assembled in various ways by various Linux distributions. Both approaches have their advantages, but one big one for the BSD approach is that it enables global changes.</p>

<p>Making global changes is an important part of what makes OpenBSD's approach to improving security, code maintenance, and so on work. Because it directly maintains everything as a unit, OpenBSD is in a position to introduce new C library or kernel APIs (or change them) and then immediately update all sorts of things in user level programs to use the new API. This takes a certain amount of work, of course, but it's possible to do it at all. And because OpenBSD can do this sort of ambitious global change, it does.</p>

<p>This goes further than just the ability to make global changes, because in theory you can patch in global changes on top of a bunch of separate upstream projects. Because OpenBSD is in control of its entire base system, it's not forced to try to reconcile different development priorities or integrate clashing changes. OpenBSD can decide (and has) that only certain sorts of changes will be accepted into its system at all, no matter what people want. If there are features or entire programs that don't fit into what OpenBSD will accept, they just lose out.</p>
</blockquote>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2020-January/001923.html" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report 2019Q4</a></h3>

<blockquote>
<p>Here is the last quarterly status report for 2019. As you might remember from last report, we changed our timeline: now we collect reports the last month of each quarter and we edit and publish the full document the next month. Thus, we cover here the period October 2019 - December 2019.</p>

<p>If you thought that the FreeBSD community was less active in the Christmas' quarter you will be glad to be proven wrong: a quick glance at the summary will be sufficient to see that much work has been done in the last months.</p>

<p>Have a nice read!</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://opnsense.org/opnsense-19-7-9-released/" target="_blank" rel="nofollow noopener">OPNsense 19.7.9 released</a></h3>

<blockquote>
<p>As 20.1 nears we will be making adjustments to the scope of the release with an announcement following shortly.</p>

<p>For now, this update brings you a GeoIP database configuration page for aliases which is now required due to upstream database policy changes and a number of prominent third-party software updates we are happy to see included.</p>
</blockquote>

<hr>

<h3><a href="https://dan.langille.org/2020/01/07/archives-are-important-to-retain-and-pass-on-knowledge/" target="_blank" rel="nofollow noopener">Archives are important to retain and pass on knowledge</a></h3>

<blockquote>
<p>Archives are important. When they are public and available for searching, it retains and passes on knowledge. It saves vast amounts of time.</p>
</blockquote>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2020-01-30/hardenedbsd-tor-onion-service-v3-nodes" target="_blank" rel="nofollow noopener">HardenedBSD Tor Onion Service v3 Nodes</a></h3>

<blockquote>
<p>I've been working today on deploying Tor Onion Service v3 nodes across our build infrastructure. I'm happy to announce that the public portion of this is now completed. Below you will find various onion service hostnames and their match to our infrastructure.</p>
</blockquote>

<ul>
<li>hardenedbsd.org: lkiw4tmbudbr43hbyhm636sarn73vuow77czzohdbqdpjuq3vdzvenyd.onion</li>
<li>ci-01.nyi.hardenedbsd.org: qspcqclhifj3tcpojsbwoxgwanlo2wakti2ia4wozxjcldkxmw2yj3yd.onion</li>
<li>ci-03.md.hardenedbsd.org: eqvnohly4tjrkpwatdhgptftabpesofirnhz5kq7jzn4zd6ernpvnpqd.onion</li>
<li>ci-04.md.hardenedbsd.org: rfqabq2w65nhdkukeqwf27r7h5xfh53h3uns6n74feeyl7s5fbjxczqd.onion</li>
<li>git-01.md.hardenedbsd.org: dacxzjk3kq5mmepbdd3ai2ifynlzxsnpl2cnkfhridqfywihrfftapid.onion</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://missing.csail.mit.edu/" target="_blank" rel="nofollow noopener">The Missing Semester of Your CS Education (MIT Course)</a></li>
<li><a href="https://i.redd.it/503390rf7md41.png" target="_blank" rel="nofollow noopener">An old Unix Ad</a></li>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=157488907117170&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD syscall call-from verification</a></li>
<li><a href="https://twitter.com/bluerise/status/1220963106563579909" target="_blank" rel="nofollow noopener">OpenBSD/arm64 on Pinebook</a></li>
<li><a href="http://studybsd.com/" target="_blank" rel="nofollow noopener">Reminder: First Southern Ontario BSD user group meeting, February 11th (this coming Tuesday!) 18:30 at Boston Pizza on Upper James st, Hamilton.</a></li>
<li><a href="https://www.nycbug.org/" target="_blank" rel="nofollow noopener">NYCBUG: March meeting will feature Dr. Paul Vixie and his new talk “Operating Systems as Dumb Pipes”</a></li>
<li><a href="https://www.meetup.com/de-DE/BSD-Users-Stockholm/events/267873938/" target="_blank" rel="nofollow noopener">8th Meetup of the Stockholm BUG: March 3 at 18:00</a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">Polish BSD User Group meets on Feb 11, 2020 at 18:15</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Sean - <a href="http://dpaste.com/3W5WBV0#wrap" target="_blank" rel="nofollow noopener">ZFS and Creation Dates</a></li>
<li>Christopher - <a href="http://dpaste.com/3SE43PW" target="_blank" rel="nofollow noopener">Help on ZFS Disaster Recovery</a></li>
<li>Mike - <a href="http://dpaste.com/00J5JZG#wrap" target="_blank" rel="nofollow noopener">Encrypted ZFS Send</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0336.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Linux couldn’t duplicate OpenBSD, FreeBSD Q4 status report, OPNsense 19.7.9 released, archives retain and pass on knowledge, HardenedBSD Tor Onion Service v3 Nodes, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/OpenBSDMustBeABSD?showcomments" target="_blank" rel="nofollow noopener">OpenBSD has to be a BSD Unix and you couldn't duplicate it with Linux</a></h3>

<blockquote>
<p>OpenBSD has a well deserved reputation for putting security and a clean system (for code, documentation, and so on) first, and everything else second. OpenBSD is of course based on BSD (it's right there in the name) and descends from FreeBSD NetBSD (you can read the history here). But one of the questions you could ask about it is whether it had to be that way, and in particular if you could build something like OpenBSD on top of Linux. I believe that the answer is no.</p>

<p>Linux and the *BSDs have a significantly different model of what they are. BSDs have a 'base system' that provides an integrated and fully operational core Unix, covering the kernel, C library and compiler, and the normal Unix user level programs, all maintained and distributed by the particular BSD. Linux is not a single unit this way, and instead all of the component parts are maintained separately and assembled in various ways by various Linux distributions. Both approaches have their advantages, but one big one for the BSD approach is that it enables global changes.</p>

<p>Making global changes is an important part of what makes OpenBSD's approach to improving security, code maintenance, and so on work. Because it directly maintains everything as a unit, OpenBSD is in a position to introduce new C library or kernel APIs (or change them) and then immediately update all sorts of things in user level programs to use the new API. This takes a certain amount of work, of course, but it's possible to do it at all. And because OpenBSD can do this sort of ambitious global change, it does.</p>

<p>This goes further than just the ability to make global changes, because in theory you can patch in global changes on top of a bunch of separate upstream projects. Because OpenBSD is in control of its entire base system, it's not forced to try to reconcile different development priorities or integrate clashing changes. OpenBSD can decide (and has) that only certain sorts of changes will be accepted into its system at all, no matter what people want. If there are features or entire programs that don't fit into what OpenBSD will accept, they just lose out.</p>
</blockquote>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2020-January/001923.html" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report 2019Q4</a></h3>

<blockquote>
<p>Here is the last quarterly status report for 2019. As you might remember from last report, we changed our timeline: now we collect reports the last month of each quarter and we edit and publish the full document the next month. Thus, we cover here the period October 2019 - December 2019.</p>

<p>If you thought that the FreeBSD community was less active in the Christmas' quarter you will be glad to be proven wrong: a quick glance at the summary will be sufficient to see that much work has been done in the last months.</p>

<p>Have a nice read!</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://opnsense.org/opnsense-19-7-9-released/" target="_blank" rel="nofollow noopener">OPNsense 19.7.9 released</a></h3>

<blockquote>
<p>As 20.1 nears we will be making adjustments to the scope of the release with an announcement following shortly.</p>

<p>For now, this update brings you a GeoIP database configuration page for aliases which is now required due to upstream database policy changes and a number of prominent third-party software updates we are happy to see included.</p>
</blockquote>

<hr>

<h3><a href="https://dan.langille.org/2020/01/07/archives-are-important-to-retain-and-pass-on-knowledge/" target="_blank" rel="nofollow noopener">Archives are important to retain and pass on knowledge</a></h3>

<blockquote>
<p>Archives are important. When they are public and available for searching, it retains and passes on knowledge. It saves vast amounts of time.</p>
</blockquote>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2020-01-30/hardenedbsd-tor-onion-service-v3-nodes" target="_blank" rel="nofollow noopener">HardenedBSD Tor Onion Service v3 Nodes</a></h3>

<blockquote>
<p>I've been working today on deploying Tor Onion Service v3 nodes across our build infrastructure. I'm happy to announce that the public portion of this is now completed. Below you will find various onion service hostnames and their match to our infrastructure.</p>
</blockquote>

<ul>
<li>hardenedbsd.org: lkiw4tmbudbr43hbyhm636sarn73vuow77czzohdbqdpjuq3vdzvenyd.onion</li>
<li>ci-01.nyi.hardenedbsd.org: qspcqclhifj3tcpojsbwoxgwanlo2wakti2ia4wozxjcldkxmw2yj3yd.onion</li>
<li>ci-03.md.hardenedbsd.org: eqvnohly4tjrkpwatdhgptftabpesofirnhz5kq7jzn4zd6ernpvnpqd.onion</li>
<li>ci-04.md.hardenedbsd.org: rfqabq2w65nhdkukeqwf27r7h5xfh53h3uns6n74feeyl7s5fbjxczqd.onion</li>
<li>git-01.md.hardenedbsd.org: dacxzjk3kq5mmepbdd3ai2ifynlzxsnpl2cnkfhridqfywihrfftapid.onion</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://missing.csail.mit.edu/" target="_blank" rel="nofollow noopener">The Missing Semester of Your CS Education (MIT Course)</a></li>
<li><a href="https://i.redd.it/503390rf7md41.png" target="_blank" rel="nofollow noopener">An old Unix Ad</a></li>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=157488907117170&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD syscall call-from verification</a></li>
<li><a href="https://twitter.com/bluerise/status/1220963106563579909" target="_blank" rel="nofollow noopener">OpenBSD/arm64 on Pinebook</a></li>
<li><a href="http://studybsd.com/" target="_blank" rel="nofollow noopener">Reminder: First Southern Ontario BSD user group meeting, February 11th (this coming Tuesday!) 18:30 at Boston Pizza on Upper James st, Hamilton.</a></li>
<li><a href="https://www.nycbug.org/" target="_blank" rel="nofollow noopener">NYCBUG: March meeting will feature Dr. Paul Vixie and his new talk “Operating Systems as Dumb Pipes”</a></li>
<li><a href="https://www.meetup.com/de-DE/BSD-Users-Stockholm/events/267873938/" target="_blank" rel="nofollow noopener">8th Meetup of the Stockholm BUG: March 3 at 18:00</a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">Polish BSD User Group meets on Feb 11, 2020 at 18:15</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Sean - <a href="http://dpaste.com/3W5WBV0#wrap" target="_blank" rel="nofollow noopener">ZFS and Creation Dates</a></li>
<li>Christopher - <a href="http://dpaste.com/3SE43PW" target="_blank" rel="nofollow noopener">Help on ZFS Disaster Recovery</a></li>
<li>Mike - <a href="http://dpaste.com/00J5JZG#wrap" target="_blank" rel="nofollow noopener">Encrypted ZFS Send</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0336.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>335: FreeBSD Down Under</title>
  <link>https://www.bsdnow.tv/335</link>
  <guid isPermaLink="false">12678787-276e-4471-a8a3-115404afed57</guid>
  <pubDate>Thu, 30 Jan 2020 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/12678787-276e-4471-a8a3-115404afed57.mp3" length="38818086" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Hyperbola Developer interview, why you should migrate from Linux to BSD, FreeBSD is an amazing OS, improving the ptrace(2) API in LLVM 10, First FreeBSD conference in Australia, and a guide to containers on FreeNAS.</itunes:subtitle>
  <itunes:duration>53:54</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>&lt;p&gt;Hyperbola Developer interview, why you should migrate from Linux to BSD, FreeBSD is an amazing OS, improving the ptrace(2) API in LLVM 10, First FreeBSD conference in Australia, and a guide to containers on FreeNAS.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.unixsheikh.com/articles/freebsd-is-an-amazing-operating-system.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD is an amazing operating System&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Update 2020-01-21: Since I wrote this article it got posted on Hacker News, Reddit and Lobster, and a few people have emailed me with comments. I have updated the article with comments where I have found it needed. As an important side note I would like to point out that I am not a FreeBSD developer, there may be things going on in the FreeBSD world that I know absolutely nothing about. I am also not glued to the FreeBSD developer mailing lists. I am not a FreeBSD "fanboy". I have been using GNU/Linux a ton more for the past two decades than FreeBSD, mainly due to hardware incompatibility (lacking or buggy drivers), and I love both Debian GNU/Linux and Arch Linux just as much as FreeBSD. However, I am concerned about the development of GNU/Linux as of late. Also this article is not about me trying to make anyone switch from something else to FreeBSD. It's about why I like FreeBSD and that I recommend you try it out if you're into messing with operating systems.&lt;/p&gt;

&lt;p&gt;I think the year was late 1999 or mid 2000 when I one day was browsing computer books at my favorite bookshop and I discovered the book The Complete FreeBSD third edition from 1999 by Greg Lehey. With the book came 4 CD Roms with FreeBSD 3.3.&lt;/p&gt;

&lt;p&gt;I had already familiarized myself with GNU/Linux in 1998, and I was in the process of migrating every server and desktop operating system away from Microsoft Windows, both at home and at my company, to GNU/Linux, initially Red Hat Linux and then later Debian GNU/Linux, which eventually became my favorite GNU/Linux distribution for many years.&lt;/p&gt;

&lt;p&gt;When I first saw The Complete FreeBSD book by Greg Lehey I remember noticing the text on the front page that said, "The Free Version of Berkeley UNIX" and "Rock Solid Stability", and I was immediately intrigued! What was that all about? A free UNIX operating system! And rock solid stability? That sounded amazing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://itsfoss.com/hyperbola-linux-bsd/" target="_blank" rel="nofollow noopener"&gt;Hyperbola Dev Interview&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In late December 2019, Hyperbola announced that they would be making major changes to their project. They have decided to drop the Linux kernel in favor of forking the OpenBSD kernel. This announcement only came months after Project Trident announced that they were going in the opposite direction (from BSD to Linux).&lt;/p&gt;

&lt;p&gt;Hyperbola also plans to replace all software that is not GPL v3 compliant with new versions that are.&lt;/p&gt;

&lt;p&gt;To get more insight into the future of their new project, I interviewed Andre, co-founder of Hyperbola.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/improving_the_ptrace_2_api" target="_blank" rel="nofollow noopener"&gt;Improving the ptrace(2) API and preparing for LLVM-10.0&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This month I have improved the NetBSD ptrace(2) API, removing one legacy interface with a few flaws and replacing it with two new calls with new features, and removing technical debt.&lt;/p&gt;

&lt;p&gt;As LLVM 10.0 is branching now soon (Jan 15th 2020), I worked on proper support of the LLVM features for NetBSD 9.0 (today RC1) and NetBSD HEAD (future 10.0).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://rubenerd.com/the-first-freebsd-conference-in-australia/" target="_blank" rel="nofollow noopener"&gt;The first FreeBSD conference in Australia&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD has existed as an operating system, project, and foundation for more than twenty years, and its earlier incantations have exited for far longer. The old guard have been developing code, porting software, and writing documentation for longer than I’ve existed. I’ve been using it for more than a decade for personal projects, and professionally for half that time.&lt;/p&gt;

&lt;p&gt;While there are many prominent Australian FreeBSD contributors, sysadmins, and users, we’ve always had to venture overseas for conferences. We’re always told Australians are among the most ardent travellers, but I always wondered if we could do a domestic event as well.&lt;/p&gt;

&lt;p&gt;And on Tuesday, we did! Deb Goodkin and the FreeBSD Foundation graciously organised and chaired a dedicated FreeBSD miniconf at the long-running linux.conf.au event held each year in a different city in Australia and New Zealand.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://medium.com/@andoriyu/a-practical-guide-to-containers-on-freenas-for-a-depraved-psychopath-c212203c0394" target="_blank" rel="nofollow noopener"&gt;A practical guide to containers on FreeNAS for a depraved psychopath&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a simple write-up to setup Docker on FreeNAS 11 or FreeBSD 11.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But muh jails?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You know that jails are dope and you know that jails are dope, yet no one else knows it. So here we are stuck with docker. Two years ago I would be the last person to recommend using docker, but a whole lot of things has changes past years… &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So jails are dead then?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;No, jails are still dope, but jails lack tools to manage them. Yes, there are a few tools, but they meant for hard-core FreeBSD users who used to suffering. Docker allows you to run applications without deep knowledge of application you’re running. It will also allow you to run applications that are not ported to FreeBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.unixsheikh.com/articles/why-you-should-migrate-everything-from-linux-to-bsd.html" target="_blank" rel="nofollow noopener"&gt;Why you should migrate everything from Linux to BSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As an operating system GNU/Linux has become a real mess because of the fragmented nature of the project, the bloatware in the kernel, and because of the jerking around by commercial interests.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Response &lt;a href="https://fediverse.blog/%7E/AllGoodThings/should-you-migrate-from-linux-to-bsd-it-depends" target="_blank" rel="nofollow noopener"&gt;Should you migrate from Linux to BSD? It depends.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dataswamp.org/%7Esolene/2020-01-11-privsep.html" target="_blank" rel="nofollow noopener"&gt;Using the OpenBSD ports tree with dedicated users&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2020/01/10/run-broot-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;broot on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base/head/share/misc/bsd-family-tree?view=co" target="_blank" rel="nofollow noopener"&gt;A Trip down Memory Lane&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.syslog-ng.com/community/b/blog/posts/running-syslog-ng-in-bastillebsd" target="_blank" rel="nofollow noopener"&gt;Running syslog-ng in BastilleBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nas.nasa.gov/hecc/support/kb/using-software-packages-in-pkgsrc_493.html" target="_blank" rel="nofollow noopener"&gt;NASA : Using Software Packages in pkgsrc&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;All of our questions this week were pretty technical in nature so I'm going to save those for the next episode so Allan can weigh in on them, since if we cover them now we're basically going to be deferring to Allan anyway.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0335.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, hyperbola, migrate, migration, ptrace, llvm, conference, australia, containers, freenas</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Hyperbola Developer interview, why you should migrate from Linux to BSD, FreeBSD is an amazing OS, improving the ptrace(2) API in LLVM 10, First FreeBSD conference in Australia, and a guide to containers on FreeNAS.</p>

<h2>Headlines</h2>

<h3><a href="https://www.unixsheikh.com/articles/freebsd-is-an-amazing-operating-system.html" target="_blank" rel="nofollow noopener">FreeBSD is an amazing operating System</a></h3>

<blockquote>
<p>Update 2020-01-21: Since I wrote this article it got posted on Hacker News, Reddit and Lobster, and a few people have emailed me with comments. I have updated the article with comments where I have found it needed. As an important side note I would like to point out that I am not a FreeBSD developer, there may be things going on in the FreeBSD world that I know absolutely nothing about. I am also not glued to the FreeBSD developer mailing lists. I am not a FreeBSD "fanboy". I have been using GNU/Linux a ton more for the past two decades than FreeBSD, mainly due to hardware incompatibility (lacking or buggy drivers), and I love both Debian GNU/Linux and Arch Linux just as much as FreeBSD. However, I am concerned about the development of GNU/Linux as of late. Also this article is not about me trying to make anyone switch from something else to FreeBSD. It's about why I like FreeBSD and that I recommend you try it out if you're into messing with operating systems.</p>

<p>I think the year was late 1999 or mid 2000 when I one day was browsing computer books at my favorite bookshop and I discovered the book The Complete FreeBSD third edition from 1999 by Greg Lehey. With the book came 4 CD Roms with FreeBSD 3.3.</p>

<p>I had already familiarized myself with GNU/Linux in 1998, and I was in the process of migrating every server and desktop operating system away from Microsoft Windows, both at home and at my company, to GNU/Linux, initially Red Hat Linux and then later Debian GNU/Linux, which eventually became my favorite GNU/Linux distribution for many years.</p>

<p>When I first saw The Complete FreeBSD book by Greg Lehey I remember noticing the text on the front page that said, "The Free Version of Berkeley UNIX" and "Rock Solid Stability", and I was immediately intrigued! What was that all about? A free UNIX operating system! And rock solid stability? That sounded amazing.</p>
</blockquote>

<hr>

<h3><a href="https://itsfoss.com/hyperbola-linux-bsd/" target="_blank" rel="nofollow noopener">Hyperbola Dev Interview</a></h3>

<blockquote>
<p>In late December 2019, Hyperbola announced that they would be making major changes to their project. They have decided to drop the Linux kernel in favor of forking the OpenBSD kernel. This announcement only came months after Project Trident announced that they were going in the opposite direction (from BSD to Linux).</p>

<p>Hyperbola also plans to replace all software that is not GPL v3 compliant with new versions that are.</p>

<p>To get more insight into the future of their new project, I interviewed Andre, co-founder of Hyperbola.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/improving_the_ptrace_2_api" target="_blank" rel="nofollow noopener">Improving the ptrace(2) API and preparing for LLVM-10.0</a></h3>

<blockquote>
<p>This month I have improved the NetBSD ptrace(2) API, removing one legacy interface with a few flaws and replacing it with two new calls with new features, and removing technical debt.</p>

<p>As LLVM 10.0 is branching now soon (Jan 15th 2020), I worked on proper support of the LLVM features for NetBSD 9.0 (today RC1) and NetBSD HEAD (future 10.0).</p>
</blockquote>

<hr>

<h3><a href="https://rubenerd.com/the-first-freebsd-conference-in-australia/" target="_blank" rel="nofollow noopener">The first FreeBSD conference in Australia</a></h3>

<blockquote>
<p>FreeBSD has existed as an operating system, project, and foundation for more than twenty years, and its earlier incantations have exited for far longer. The old guard have been developing code, porting software, and writing documentation for longer than I’ve existed. I’ve been using it for more than a decade for personal projects, and professionally for half that time.</p>

<p>While there are many prominent Australian FreeBSD contributors, sysadmins, and users, we’ve always had to venture overseas for conferences. We’re always told Australians are among the most ardent travellers, but I always wondered if we could do a domestic event as well.</p>

<p>And on Tuesday, we did! Deb Goodkin and the FreeBSD Foundation graciously organised and chaired a dedicated FreeBSD miniconf at the long-running linux.conf.au event held each year in a different city in Australia and New Zealand.</p>
</blockquote>

<hr>

<h3><a href="https://medium.com/@andoriyu/a-practical-guide-to-containers-on-freenas-for-a-depraved-psychopath-c212203c0394" target="_blank" rel="nofollow noopener">A practical guide to containers on FreeNAS for a depraved psychopath</a></h3>

<blockquote>
<p>This is a simple write-up to setup Docker on FreeNAS 11 or FreeBSD 11.</p>
</blockquote>

<p>But muh jails?</p>

<blockquote>
<p>You know that jails are dope and you know that jails are dope, yet no one else knows it. So here we are stuck with docker. Two years ago I would be the last person to recommend using docker, but a whole lot of things has changes past years… </p>
</blockquote>

<p>So jails are dead then?</p>

<blockquote>
<p>No, jails are still dope, but jails lack tools to manage them. Yes, there are a few tools, but they meant for hard-core FreeBSD users who used to suffering. Docker allows you to run applications without deep knowledge of application you’re running. It will also allow you to run applications that are not ported to FreeBSD.</p>
</blockquote>

<hr>

<h3><a href="https://www.unixsheikh.com/articles/why-you-should-migrate-everything-from-linux-to-bsd.html" target="_blank" rel="nofollow noopener">Why you should migrate everything from Linux to BSD</a></h3>

<blockquote>
<p>As an operating system GNU/Linux has become a real mess because of the fragmented nature of the project, the bloatware in the kernel, and because of the jerking around by commercial interests.</p>
</blockquote>

<ul>
<li>Response <a href="https://fediverse.blog/%7E/AllGoodThings/should-you-migrate-from-linux-to-bsd-it-depends" target="_blank" rel="nofollow noopener">Should you migrate from Linux to BSD? It depends.</a></li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://dataswamp.org/%7Esolene/2020-01-11-privsep.html" target="_blank" rel="nofollow noopener">Using the OpenBSD ports tree with dedicated users</a></li>
<li><a href="https://vermaden.wordpress.com/2020/01/10/run-broot-on-freebsd/" target="_blank" rel="nofollow noopener">broot on FreeBSD</a></li>
<li><a href="https://svnweb.freebsd.org/base/head/share/misc/bsd-family-tree?view=co" target="_blank" rel="nofollow noopener">A Trip down Memory Lane</a></li>
<li><a href="https://www.syslog-ng.com/community/b/blog/posts/running-syslog-ng-in-bastillebsd" target="_blank" rel="nofollow noopener">Running syslog-ng in BastilleBSD</a></li>
<li><a href="https://www.nas.nasa.gov/hecc/support/kb/using-software-packages-in-pkgsrc_493.html" target="_blank" rel="nofollow noopener">NASA : Using Software Packages in pkgsrc</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>All of our questions this week were pretty technical in nature so I'm going to save those for the next episode so Allan can weigh in on them, since if we cover them now we're basically going to be deferring to Allan anyway.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0335.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Hyperbola Developer interview, why you should migrate from Linux to BSD, FreeBSD is an amazing OS, improving the ptrace(2) API in LLVM 10, First FreeBSD conference in Australia, and a guide to containers on FreeNAS.</p>

<h2>Headlines</h2>

<h3><a href="https://www.unixsheikh.com/articles/freebsd-is-an-amazing-operating-system.html" target="_blank" rel="nofollow noopener">FreeBSD is an amazing operating System</a></h3>

<blockquote>
<p>Update 2020-01-21: Since I wrote this article it got posted on Hacker News, Reddit and Lobster, and a few people have emailed me with comments. I have updated the article with comments where I have found it needed. As an important side note I would like to point out that I am not a FreeBSD developer, there may be things going on in the FreeBSD world that I know absolutely nothing about. I am also not glued to the FreeBSD developer mailing lists. I am not a FreeBSD "fanboy". I have been using GNU/Linux a ton more for the past two decades than FreeBSD, mainly due to hardware incompatibility (lacking or buggy drivers), and I love both Debian GNU/Linux and Arch Linux just as much as FreeBSD. However, I am concerned about the development of GNU/Linux as of late. Also this article is not about me trying to make anyone switch from something else to FreeBSD. It's about why I like FreeBSD and that I recommend you try it out if you're into messing with operating systems.</p>

<p>I think the year was late 1999 or mid 2000 when I one day was browsing computer books at my favorite bookshop and I discovered the book The Complete FreeBSD third edition from 1999 by Greg Lehey. With the book came 4 CD Roms with FreeBSD 3.3.</p>

<p>I had already familiarized myself with GNU/Linux in 1998, and I was in the process of migrating every server and desktop operating system away from Microsoft Windows, both at home and at my company, to GNU/Linux, initially Red Hat Linux and then later Debian GNU/Linux, which eventually became my favorite GNU/Linux distribution for many years.</p>

<p>When I first saw The Complete FreeBSD book by Greg Lehey I remember noticing the text on the front page that said, "The Free Version of Berkeley UNIX" and "Rock Solid Stability", and I was immediately intrigued! What was that all about? A free UNIX operating system! And rock solid stability? That sounded amazing.</p>
</blockquote>

<hr>

<h3><a href="https://itsfoss.com/hyperbola-linux-bsd/" target="_blank" rel="nofollow noopener">Hyperbola Dev Interview</a></h3>

<blockquote>
<p>In late December 2019, Hyperbola announced that they would be making major changes to their project. They have decided to drop the Linux kernel in favor of forking the OpenBSD kernel. This announcement only came months after Project Trident announced that they were going in the opposite direction (from BSD to Linux).</p>

<p>Hyperbola also plans to replace all software that is not GPL v3 compliant with new versions that are.</p>

<p>To get more insight into the future of their new project, I interviewed Andre, co-founder of Hyperbola.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/improving_the_ptrace_2_api" target="_blank" rel="nofollow noopener">Improving the ptrace(2) API and preparing for LLVM-10.0</a></h3>

<blockquote>
<p>This month I have improved the NetBSD ptrace(2) API, removing one legacy interface with a few flaws and replacing it with two new calls with new features, and removing technical debt.</p>

<p>As LLVM 10.0 is branching now soon (Jan 15th 2020), I worked on proper support of the LLVM features for NetBSD 9.0 (today RC1) and NetBSD HEAD (future 10.0).</p>
</blockquote>

<hr>

<h3><a href="https://rubenerd.com/the-first-freebsd-conference-in-australia/" target="_blank" rel="nofollow noopener">The first FreeBSD conference in Australia</a></h3>

<blockquote>
<p>FreeBSD has existed as an operating system, project, and foundation for more than twenty years, and its earlier incantations have exited for far longer. The old guard have been developing code, porting software, and writing documentation for longer than I’ve existed. I’ve been using it for more than a decade for personal projects, and professionally for half that time.</p>

<p>While there are many prominent Australian FreeBSD contributors, sysadmins, and users, we’ve always had to venture overseas for conferences. We’re always told Australians are among the most ardent travellers, but I always wondered if we could do a domestic event as well.</p>

<p>And on Tuesday, we did! Deb Goodkin and the FreeBSD Foundation graciously organised and chaired a dedicated FreeBSD miniconf at the long-running linux.conf.au event held each year in a different city in Australia and New Zealand.</p>
</blockquote>

<hr>

<h3><a href="https://medium.com/@andoriyu/a-practical-guide-to-containers-on-freenas-for-a-depraved-psychopath-c212203c0394" target="_blank" rel="nofollow noopener">A practical guide to containers on FreeNAS for a depraved psychopath</a></h3>

<blockquote>
<p>This is a simple write-up to setup Docker on FreeNAS 11 or FreeBSD 11.</p>
</blockquote>

<p>But muh jails?</p>

<blockquote>
<p>You know that jails are dope and you know that jails are dope, yet no one else knows it. So here we are stuck with docker. Two years ago I would be the last person to recommend using docker, but a whole lot of things has changes past years… </p>
</blockquote>

<p>So jails are dead then?</p>

<blockquote>
<p>No, jails are still dope, but jails lack tools to manage them. Yes, there are a few tools, but they meant for hard-core FreeBSD users who used to suffering. Docker allows you to run applications without deep knowledge of application you’re running. It will also allow you to run applications that are not ported to FreeBSD.</p>
</blockquote>

<hr>

<h3><a href="https://www.unixsheikh.com/articles/why-you-should-migrate-everything-from-linux-to-bsd.html" target="_blank" rel="nofollow noopener">Why you should migrate everything from Linux to BSD</a></h3>

<blockquote>
<p>As an operating system GNU/Linux has become a real mess because of the fragmented nature of the project, the bloatware in the kernel, and because of the jerking around by commercial interests.</p>
</blockquote>

<ul>
<li>Response <a href="https://fediverse.blog/%7E/AllGoodThings/should-you-migrate-from-linux-to-bsd-it-depends" target="_blank" rel="nofollow noopener">Should you migrate from Linux to BSD? It depends.</a></li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://dataswamp.org/%7Esolene/2020-01-11-privsep.html" target="_blank" rel="nofollow noopener">Using the OpenBSD ports tree with dedicated users</a></li>
<li><a href="https://vermaden.wordpress.com/2020/01/10/run-broot-on-freebsd/" target="_blank" rel="nofollow noopener">broot on FreeBSD</a></li>
<li><a href="https://svnweb.freebsd.org/base/head/share/misc/bsd-family-tree?view=co" target="_blank" rel="nofollow noopener">A Trip down Memory Lane</a></li>
<li><a href="https://www.syslog-ng.com/community/b/blog/posts/running-syslog-ng-in-bastillebsd" target="_blank" rel="nofollow noopener">Running syslog-ng in BastilleBSD</a></li>
<li><a href="https://www.nas.nasa.gov/hecc/support/kb/using-software-packages-in-pkgsrc_493.html" target="_blank" rel="nofollow noopener">NASA : Using Software Packages in pkgsrc</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>All of our questions this week were pretty technical in nature so I'm going to save those for the next episode so Allan can weigh in on them, since if we cover them now we're basically going to be deferring to Allan anyway.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0335.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>334: Distrowatch Running FreeBSD</title>
  <link>https://www.bsdnow.tv/334</link>
  <guid isPermaLink="false">695d1b03-3bc3-485f-90ba-c6d905189b36</guid>
  <pubDate>Thu, 23 Jan 2020 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/695d1b03-3bc3-485f-90ba-c6d905189b36.mp3" length="34652078" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Upgrading FreeBSD from 11.3 to 12.1, Distrowatch switching to FreeBSD, Torvalds says don’t run ZFS, iked(8) removed automatic IPv6 blocking, working towards LLDB on i386, and memory-hard Argon2 hashing scheme in NetBSD.</itunes:subtitle>
  <itunes:duration>48:07</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>&lt;p&gt;Upgrading FreeBSD from 11.3 to 12.1, Distrowatch switching to FreeBSD, Torvalds says don’t run ZFS, iked(8) removed automatic IPv6 blocking, working towards LLDB on i386, and memory-hard Argon2 hashing scheme in NetBSD.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.bimajority.org/2020/01/13/upgrading-freebsd-from-11-3-to-12-1/" target="_blank" rel="nofollow noopener"&gt;Upgrading FreeBSD from 11.3 to 12.1&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Now here’s something more like what I was originally expecting the content on this blog to look like. I’m in the process of moving all of our FreeBSD servers (about 30 in total) from 11.3 to 12.1. We have our own local build of the OS, and until “packaged base” gets to a state where it’s reliably usable, we’re stuck doing upgrades the old-fashioned way. I created a set of notes for myself while cranking through these upgrades and I wanted to share them since they are not really work-specific and this process isn’t very well documented for people who haven’t been doing this sort of upgrade process for 25 years.&lt;/p&gt;

&lt;p&gt;Our source and object trees are read-only exported from the build server over NFS, which causes things to be slow. /etc/make.conf and /etc/src.conf are symbolic links on all of our servers to the master copies in /usr/src so that make installworld can find the configuration parameters the system was built with.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.reddit.com/r/freebsd/comments/eodhit/switching_distrowatch_over_to_freebsd_ama/" target="_blank" rel="nofollow noopener"&gt;Switching Distrowatch over to BSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This may be a little off-topic for this board (forgive me if it is, please). However, I wanted to say that I'm one of the people who works on DistroWatch (distrowatch.com) and this past week we had to deal with a server facing hardware failure. We had a discussion about whether to continue running Debian or switch to something else.&lt;/p&gt;

&lt;p&gt;The primary "something else" option turned out to be FreeBSD and it is what we eventually went with. It took a while to convert everything over from working with Debian GNU/Linux to FreeBSD 12 (some script incompatibilities, different paths, some changes to web server configuration, networking IPv6 troubles). But in the end we ended up with a good, FreeBSD-based experience.&lt;/p&gt;

&lt;p&gt;Since the transition was successful, though certainly not seamless, I thought people might want to do a Q&amp;amp;A on the migration process. Especially for those thinking of making the same switch.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.openbsd.org/faq/current.html#r20200114" target="_blank" rel="nofollow noopener"&gt;iked(8) automatic IPv6 blocking removed&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;iked(8) no longer automatically blocks unencrypted outbound IPv6 packets. This feature was intended to avoid accidental leakage, but in practice was found to mostly be a cause of misconfiguration.&lt;/p&gt;

&lt;p&gt;If you previously used iked(8)'s -6 flag to disable this feature, it is no longer needed and should be removed from /etc/rc.conf.local if used.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://itsfoss.com/linus-torvalds-zfs/" target="_blank" rel="nofollow noopener"&gt;Linus says dont run ZFS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;“Don’t use ZFS. It’s that simple. It was always more of a buzzword than anything else, I feel, and the licensing issues just make it a non-starter for me.”&lt;/p&gt;

&lt;p&gt;This is what Linus Torvalds said in a mailing list to once again express his disliking for ZFS filesystem specially over its licensing.&lt;/p&gt;

&lt;p&gt;To avoid unnecessary confusion, this is more intended for Linux distributions, kernel developers and maintainers rather than individual Linux users.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/gsoc_2019_final_report_incorporating" target="_blank" rel="nofollow noopener"&gt;GSoC 2019 Final Report: Incorporating the memory-hard Argon2 hashing scheme into NetBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We successfully incorporated the Argon2 reference implementation into NetBSD/amd64 for our 2019 Google Summer of Coding project. We introduced our project here and provided some hints on how to select parameters here. For our final report, we will provide an overview of what changes were made to complete the project.&lt;/p&gt;

&lt;p&gt;The Argon2 reference implementation, available here, is available under both the Creative Commons CC0 1.0 and the Apache Public License 2.0. To import the reference implementation into src/external, we chose to use the Apache 2.0 license for this project.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/working_towards_lldb_on_i386" target="_blank" rel="nofollow noopener"&gt;Working towards LLDB on i386 NetBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.&lt;/p&gt;

&lt;p&gt;In February 2019, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues, fixing watchpoint and threading support.&lt;/p&gt;

&lt;p&gt;Throughout December I've continued working on our build bot maintenance, in particular enabling compiler-rt tests. I've revived and finished my old patch for extended register state (XState) in core dumps. I've started working on bringing proper i386 support to LLDB.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/yairm210/UnCiv" target="_blank" rel="nofollow noopener"&gt;An open source Civilization V&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsdnotizie.blogspot.com/2020/01/gruppi-bsd-in-italia.html" target="_blank" rel="nofollow noopener"&gt;BSD Groups in Italy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.slac.stanford.edu/%7Erkj/crazytime.txt" target="_blank" rel="nofollow noopener"&gt;Why is Wednesday, November 17, 1858 the base time for OpenVMS?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.plover.com/Unix/tools.html" target="_blank" rel="nofollow noopener"&gt;Benchmarking shell pipelines and the Unix “tools” philosophy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/QItb5aoj7Oc" target="_blank" rel="nofollow noopener"&gt;LPI and BSD working together&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Pat - &lt;a href="http://dpaste.com/2BMGZVV#wrap" target="_blank" rel="nofollow noopener"&gt;March Meeting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Madhukar - &lt;a href="http://dpaste.com/17WNVM8#wrap" target="_blank" rel="nofollow noopener"&gt;Overheating Laptop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Warren - &lt;a href="http://dpaste.com/3AZYFB1#wrap" target="_blank" rel="nofollow noopener"&gt;R vs S&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0334.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, upgrading, distrowatch, zfs, iked, blocking, lldb, i386, memory, memory-hard, argon2, hashing scheme</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Upgrading FreeBSD from 11.3 to 12.1, Distrowatch switching to FreeBSD, Torvalds says don’t run ZFS, iked(8) removed automatic IPv6 blocking, working towards LLDB on i386, and memory-hard Argon2 hashing scheme in NetBSD.</p>

<h2>Headlines</h2>

<h3><a href="https://blog.bimajority.org/2020/01/13/upgrading-freebsd-from-11-3-to-12-1/" target="_blank" rel="nofollow noopener">Upgrading FreeBSD from 11.3 to 12.1</a></h3>

<blockquote>
<p>Now here’s something more like what I was originally expecting the content on this blog to look like. I’m in the process of moving all of our FreeBSD servers (about 30 in total) from 11.3 to 12.1. We have our own local build of the OS, and until “packaged base” gets to a state where it’s reliably usable, we’re stuck doing upgrades the old-fashioned way. I created a set of notes for myself while cranking through these upgrades and I wanted to share them since they are not really work-specific and this process isn’t very well documented for people who haven’t been doing this sort of upgrade process for 25 years.</p>

<p>Our source and object trees are read-only exported from the build server over NFS, which causes things to be slow. /etc/make.conf and /etc/src.conf are symbolic links on all of our servers to the master copies in /usr/src so that make installworld can find the configuration parameters the system was built with.</p>
</blockquote>

<hr>

<h3><a href="https://www.reddit.com/r/freebsd/comments/eodhit/switching_distrowatch_over_to_freebsd_ama/" target="_blank" rel="nofollow noopener">Switching Distrowatch over to BSD</a></h3>

<blockquote>
<p>This may be a little off-topic for this board (forgive me if it is, please). However, I wanted to say that I'm one of the people who works on DistroWatch (distrowatch.com) and this past week we had to deal with a server facing hardware failure. We had a discussion about whether to continue running Debian or switch to something else.</p>

<p>The primary "something else" option turned out to be FreeBSD and it is what we eventually went with. It took a while to convert everything over from working with Debian GNU/Linux to FreeBSD 12 (some script incompatibilities, different paths, some changes to web server configuration, networking IPv6 troubles). But in the end we ended up with a good, FreeBSD-based experience.</p>

<p>Since the transition was successful, though certainly not seamless, I thought people might want to do a Q&amp;A on the migration process. Especially for those thinking of making the same switch.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.openbsd.org/faq/current.html#r20200114" target="_blank" rel="nofollow noopener">iked(8) automatic IPv6 blocking removed</a></h3>

<blockquote>
<p>iked(8) no longer automatically blocks unencrypted outbound IPv6 packets. This feature was intended to avoid accidental leakage, but in practice was found to mostly be a cause of misconfiguration.</p>

<p>If you previously used iked(8)'s -6 flag to disable this feature, it is no longer needed and should be removed from /etc/rc.conf.local if used.</p>
</blockquote>

<hr>

<h3><a href="https://itsfoss.com/linus-torvalds-zfs/" target="_blank" rel="nofollow noopener">Linus says dont run ZFS</a></h3>

<blockquote>
<p>“Don’t use ZFS. It’s that simple. It was always more of a buzzword than anything else, I feel, and the licensing issues just make it a non-starter for me.”</p>

<p>This is what Linus Torvalds said in a mailing list to once again express his disliking for ZFS filesystem specially over its licensing.</p>

<p>To avoid unnecessary confusion, this is more intended for Linux distributions, kernel developers and maintainers rather than individual Linux users.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/gsoc_2019_final_report_incorporating" target="_blank" rel="nofollow noopener">GSoC 2019 Final Report: Incorporating the memory-hard Argon2 hashing scheme into NetBSD</a></h3>

<blockquote>
<p>We successfully incorporated the Argon2 reference implementation into NetBSD/amd64 for our 2019 Google Summer of Coding project. We introduced our project here and provided some hints on how to select parameters here. For our final report, we will provide an overview of what changes were made to complete the project.</p>

<p>The Argon2 reference implementation, available here, is available under both the Creative Commons CC0 1.0 and the Apache Public License 2.0. To import the reference implementation into src/external, we chose to use the Apache 2.0 license for this project.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/working_towards_lldb_on_i386" target="_blank" rel="nofollow noopener">Working towards LLDB on i386 NetBSD</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.</p>

<p>In February 2019, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues, fixing watchpoint and threading support.</p>

<p>Throughout December I've continued working on our build bot maintenance, in particular enabling compiler-rt tests. I've revived and finished my old patch for extended register state (XState) in core dumps. I've started working on bringing proper i386 support to LLDB.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/yairm210/UnCiv" target="_blank" rel="nofollow noopener">An open source Civilization V</a></li>
<li><a href="https://bsdnotizie.blogspot.com/2020/01/gruppi-bsd-in-italia.html" target="_blank" rel="nofollow noopener">BSD Groups in Italy</a></li>
<li><a href="https://www.slac.stanford.edu/%7Erkj/crazytime.txt" target="_blank" rel="nofollow noopener">Why is Wednesday, November 17, 1858 the base time for OpenVMS?</a></li>
<li><a href="https://blog.plover.com/Unix/tools.html" target="_blank" rel="nofollow noopener">Benchmarking shell pipelines and the Unix “tools” philosophy</a></li>
<li><a href="https://youtu.be/QItb5aoj7Oc" target="_blank" rel="nofollow noopener">LPI and BSD working together</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Pat - <a href="http://dpaste.com/2BMGZVV#wrap" target="_blank" rel="nofollow noopener">March Meeting</a></li>
<li>Madhukar - <a href="http://dpaste.com/17WNVM8#wrap" target="_blank" rel="nofollow noopener">Overheating Laptop</a></li>
<li>Warren - <a href="http://dpaste.com/3AZYFB1#wrap" target="_blank" rel="nofollow noopener">R vs S</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0334.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Upgrading FreeBSD from 11.3 to 12.1, Distrowatch switching to FreeBSD, Torvalds says don’t run ZFS, iked(8) removed automatic IPv6 blocking, working towards LLDB on i386, and memory-hard Argon2 hashing scheme in NetBSD.</p>

<h2>Headlines</h2>

<h3><a href="https://blog.bimajority.org/2020/01/13/upgrading-freebsd-from-11-3-to-12-1/" target="_blank" rel="nofollow noopener">Upgrading FreeBSD from 11.3 to 12.1</a></h3>

<blockquote>
<p>Now here’s something more like what I was originally expecting the content on this blog to look like. I’m in the process of moving all of our FreeBSD servers (about 30 in total) from 11.3 to 12.1. We have our own local build of the OS, and until “packaged base” gets to a state where it’s reliably usable, we’re stuck doing upgrades the old-fashioned way. I created a set of notes for myself while cranking through these upgrades and I wanted to share them since they are not really work-specific and this process isn’t very well documented for people who haven’t been doing this sort of upgrade process for 25 years.</p>

<p>Our source and object trees are read-only exported from the build server over NFS, which causes things to be slow. /etc/make.conf and /etc/src.conf are symbolic links on all of our servers to the master copies in /usr/src so that make installworld can find the configuration parameters the system was built with.</p>
</blockquote>

<hr>

<h3><a href="https://www.reddit.com/r/freebsd/comments/eodhit/switching_distrowatch_over_to_freebsd_ama/" target="_blank" rel="nofollow noopener">Switching Distrowatch over to BSD</a></h3>

<blockquote>
<p>This may be a little off-topic for this board (forgive me if it is, please). However, I wanted to say that I'm one of the people who works on DistroWatch (distrowatch.com) and this past week we had to deal with a server facing hardware failure. We had a discussion about whether to continue running Debian or switch to something else.</p>

<p>The primary "something else" option turned out to be FreeBSD and it is what we eventually went with. It took a while to convert everything over from working with Debian GNU/Linux to FreeBSD 12 (some script incompatibilities, different paths, some changes to web server configuration, networking IPv6 troubles). But in the end we ended up with a good, FreeBSD-based experience.</p>

<p>Since the transition was successful, though certainly not seamless, I thought people might want to do a Q&amp;A on the migration process. Especially for those thinking of making the same switch.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.openbsd.org/faq/current.html#r20200114" target="_blank" rel="nofollow noopener">iked(8) automatic IPv6 blocking removed</a></h3>

<blockquote>
<p>iked(8) no longer automatically blocks unencrypted outbound IPv6 packets. This feature was intended to avoid accidental leakage, but in practice was found to mostly be a cause of misconfiguration.</p>

<p>If you previously used iked(8)'s -6 flag to disable this feature, it is no longer needed and should be removed from /etc/rc.conf.local if used.</p>
</blockquote>

<hr>

<h3><a href="https://itsfoss.com/linus-torvalds-zfs/" target="_blank" rel="nofollow noopener">Linus says dont run ZFS</a></h3>

<blockquote>
<p>“Don’t use ZFS. It’s that simple. It was always more of a buzzword than anything else, I feel, and the licensing issues just make it a non-starter for me.”</p>

<p>This is what Linus Torvalds said in a mailing list to once again express his disliking for ZFS filesystem specially over its licensing.</p>

<p>To avoid unnecessary confusion, this is more intended for Linux distributions, kernel developers and maintainers rather than individual Linux users.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/gsoc_2019_final_report_incorporating" target="_blank" rel="nofollow noopener">GSoC 2019 Final Report: Incorporating the memory-hard Argon2 hashing scheme into NetBSD</a></h3>

<blockquote>
<p>We successfully incorporated the Argon2 reference implementation into NetBSD/amd64 for our 2019 Google Summer of Coding project. We introduced our project here and provided some hints on how to select parameters here. For our final report, we will provide an overview of what changes were made to complete the project.</p>

<p>The Argon2 reference implementation, available here, is available under both the Creative Commons CC0 1.0 and the Apache Public License 2.0. To import the reference implementation into src/external, we chose to use the Apache 2.0 license for this project.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/working_towards_lldb_on_i386" target="_blank" rel="nofollow noopener">Working towards LLDB on i386 NetBSD</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.</p>

<p>In February 2019, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues, fixing watchpoint and threading support.</p>

<p>Throughout December I've continued working on our build bot maintenance, in particular enabling compiler-rt tests. I've revived and finished my old patch for extended register state (XState) in core dumps. I've started working on bringing proper i386 support to LLDB.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/yairm210/UnCiv" target="_blank" rel="nofollow noopener">An open source Civilization V</a></li>
<li><a href="https://bsdnotizie.blogspot.com/2020/01/gruppi-bsd-in-italia.html" target="_blank" rel="nofollow noopener">BSD Groups in Italy</a></li>
<li><a href="https://www.slac.stanford.edu/%7Erkj/crazytime.txt" target="_blank" rel="nofollow noopener">Why is Wednesday, November 17, 1858 the base time for OpenVMS?</a></li>
<li><a href="https://blog.plover.com/Unix/tools.html" target="_blank" rel="nofollow noopener">Benchmarking shell pipelines and the Unix “tools” philosophy</a></li>
<li><a href="https://youtu.be/QItb5aoj7Oc" target="_blank" rel="nofollow noopener">LPI and BSD working together</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Pat - <a href="http://dpaste.com/2BMGZVV#wrap" target="_blank" rel="nofollow noopener">March Meeting</a></li>
<li>Madhukar - <a href="http://dpaste.com/17WNVM8#wrap" target="_blank" rel="nofollow noopener">Overheating Laptop</a></li>
<li>Warren - <a href="http://dpaste.com/3AZYFB1#wrap" target="_blank" rel="nofollow noopener">R vs S</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0334.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>333: Unix Keyboard Joy</title>
  <link>https://www.bsdnow.tv/333</link>
  <guid isPermaLink="false">9f3dffa3-f888-4af3-8a0a-3a236e130b4f</guid>
  <pubDate>Thu, 16 Jan 2020 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9f3dffa3-f888-4af3-8a0a-3a236e130b4f.mp3" length="29159154" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Your Impact on FreeBSD in 2019, Wireguard on OpenBSD Router, Amazon now has FreeBSD/ARM 12, pkgsrc-2019Q4, The Joys of UNIX Keyboards, OpenBSD on Digital Ocean, and more.</itunes:subtitle>
  <itunes:duration>40:29</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>&lt;p&gt;Your Impact on FreeBSD in 2019, Wireguard on OpenBSD Router, Amazon now has FreeBSD/ARM 12, pkgsrc-2019Q4, The Joys of UNIX Keyboards, OpenBSD on Digital Ocean, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/your-impact-on-freebsd-in-2019/" target="_blank" rel="nofollow noopener"&gt;Your Impact on FreeBSD in 2019&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s hard to believe that 2019 is nearly over. It has been an amazing year for supporting the FreeBSD Project and community! Why do I say that? Because as I reflect over the past 12 months, I realize how many events we’ve attended all over the world, and how many lives we’ve touched in so many ways. From advocating for FreeBSD to implementing FreeBSD features, my team has been there to help make FreeBSD the best open source project and operating system out there.&lt;/p&gt;

&lt;p&gt;In 2019, we focused on supporting a few key areas where the Project needed the most help. The first area was software development. Whether it was contracting FreeBSD developers to work on projects like wifi support, to providing internal staff to quickly implement hardware workarounds, we’ve stepped in to help keep FreeBSD innovative, secure, and reliable. Software development includes supporting the tools and infrastructure that make the development process go smoothly, and we’re on it with team members heading up the Continuous Integration efforts, and actively involved in the clusteradmin and security teams.&lt;/p&gt;

&lt;p&gt;Our advocacy efforts focused on recruiting new users and contributors to the Project. We attended and participated in 38 conferences and events in 21 countries. From giving FreeBSD presentations and workshops to staffing tables, we were able to have 1:1 conversations with thousands of attendees.&lt;/p&gt;

&lt;p&gt;Our travels also provided opportunities to talk directly with FreeBSD commercial and individual users, contributors, and future FreeBSD user/contributors. We’ve seen an increase in use and interest in FreeBSD from all of these organizations and individuals. These meetings give us a chance to learn more about what organizations need and what they and other individuals are working on. The information helps inform the work we should fund.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://obscurity.xyz/bsd/open/wireguard.html" target="_blank" rel="nofollow noopener"&gt;Wireguard on OpenBSD Router&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;wireguard (wg) is a modern vpn protocol, using the latest class of encryption algorithms while at the same time promising speed and a small code base.&lt;/p&gt;

&lt;p&gt;modern crypto and lean code are also tenants of openbsd, thus it was a no brainer to migrate my router from openvpn over to wireguard.&lt;/p&gt;

&lt;p&gt;my setup : a collection of devices, both wired and wireless, that are nat’d through my router (openbsd 6.6) out via my vpn provider azire* and out to the internet using wg-quick to start wg.&lt;/p&gt;

&lt;p&gt;running : doubtless this could be improved on, but currently i start wg manually when my router boots. this, and the nat'ing on the vpn interface mean its impossible for clients to connect to the internet without the vpn being up. as my router is on a ups and only reboots when a kernel patch requires it, it’s a compromise i can live with. run wg-quick (please replace vpn with whatever you named your wg .conf file.) and reload pf rules.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://aws.amazon.com/marketplace/pp/B081NF7BY7" target="_blank" rel="nofollow noopener"&gt;Amazon now has FreeBSD/ARM 12&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;AWS, the cloud division of Amazon, announced in December the next generation of its ARM processors, the Graviton2. This is a custom chip design with a 7nm architecture. It is based on 64-bit ARM Neoverse cores.&lt;/p&gt;

&lt;p&gt;Compared to first-generation Graviton processors (A1), today’s new chips should deliver up to 7x the performance of A1 instances in some cases. Floating point performance is now twice as fast. There are additional memory channels and cache speed memory access should be much faster.&lt;/p&gt;

&lt;p&gt;The company is working on three types of Graviton2 EC2 instances that should be available soon. Instances with a “g” suffix are powered by Graviton2 chips. If they have a “d” suffix, it also means that they have NVMe local storage.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;General-purpose instances (M6g and M6gd)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compute-optimized instances (C6g and C6gd)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Memory-optimized instances (R6g and R6gd)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can choose instances with up to 64 vCPUs, 512 GiB of memory and 25 Gbps networking.&lt;/p&gt;

&lt;p&gt;And you can see that ARM-powered servers are not just a fad. AWS already promises a 40% better price/performance ratio with ARM-based instances when you compare them with x86-based instances.&lt;/p&gt;

&lt;p&gt;AWS has been working with operating system vendors and independent software vendors to help them release software that runs on ARM. ARM-based EC2 instances support Amazon Linux 2, Ubuntu, Red Hat, SUSE, Fedora, Debian and FreeBSD. It also works with multiple container services (Docker, Amazon ECS, and Amazon Elastic Kubernetes Service).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techcrunch.com/2019/12/03/aws-announces-new-arm-based-instances-with-graviton2-processors/" target="_blank" rel="nofollow noopener"&gt;Coverage of AWS Announcement &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mail-index.netbsd.org/pkgsrc-users/2020/01/06/msg030130.html" target="_blank" rel="nofollow noopener"&gt;Announcing the pkgsrc-2019Q4 release&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The pkgsrc developers are proud to announce the 65th quarterly release of pkgsrc, the cross-platform packaging system.  pkgsrc is available with more than 20,000 packages, running on 23 separate platforms; more information on pkgsrc itself is available at &lt;a href="https://www.pkgsrc.org/" target="_blank" rel="nofollow noopener"&gt;https://www.pkgsrc.org/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In total, 190 packages were added, 96 packages were removed, and 1,868 package updates (to 1388 unique packages) were processed since the pkgsrc-2019Q3 release.  As usual, a large number of updates and additions were processed for packages for go (14), guile (11), perl (170), php (10), python (426), and ruby (110).  This continues pkgsrc's tradition of adding useful packages, updating many packages to more current versions, and pruning unmaintained packages that are believed to have essentially no users.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://donatstudios.com/UNIX-Keyboards" target="_blank" rel="nofollow noopener"&gt;The Joys of UNIX Keyboards&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I fell in love with a dead keyboard layout.&lt;/p&gt;

&lt;p&gt;A decade or so ago while helping a friends father clean out an old building, we came across an ancient Sun Microsystems server. We found it curious. Everything about it was different from what we were used to. The command line was black on white, the connectors strange and foreign, and the keyboard layout was bizarre.&lt;/p&gt;

&lt;p&gt;We never did much with it; turning it on made all the lights in his home dim, and our joint knowledge of UNIX was nonexistent. It sat in his bedroom for years supporting his television at the foot of his bed.&lt;/p&gt;

&lt;p&gt;I never forgot that keyboard though. The thought that there was this alternative layout out there seemed intriguing to me.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.going-flying.com/blog/openbsd-on-digitalocean.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD on Digital Ocean&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Last night I had a need to put together a new OpenBSD machine. Since I already use DigitalOcean for one of my public DNS servers I wanted to use them for this need but sadly like all too many of the cloud providers they don't support OpenBSD. Now they do support FreeBSD and I found a couple writeups that show how to use FreeBSD as a shim to install OpenBSD.&lt;/p&gt;

&lt;p&gt;They are both sort of old at this point and with OpenBSD 6.6 out I ran into a bit of a snag. The default these days is to use a GPT partition table to enable EFI booting. This is generally pretty sane but it looks to me like the FreeBSD droplet doesn't support this. After the installer rebooted the VM failed to boot, being unable to find the bootloader.&lt;/p&gt;

&lt;p&gt;Thankfully DigitalOcean has a recovery ISO that you can boot by simply switching to it and powering off and then on your Droplet.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=356111" target="_blank" rel="nofollow noopener"&gt;FreeBSD defaults to LLVM on PPC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20191231214356" target="_blank" rel="nofollow noopener"&gt;Theo De Raadt Interview between Ottawa 2019 Hackathon and BSDCAN 2019&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/BastilleBSD/status/1211475103143251968" target="_blank" rel="nofollow noopener"&gt;Bastille Poll about what people would like to see in 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/suvratapte/Maurice-Bach-Notes" target="_blank" rel="nofollow noopener"&gt;Notes on the classic book : The Design of the UNIX Operating System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.multicians.org/" target="_blank" rel="nofollow noopener"&gt;Multics History&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://studybsd.com/" target="_blank" rel="nofollow noopener"&gt;First meeting of the Hamilton BSD user group, February 11, 2020 18:30 - 21:00, Boston Pizza on Upper James St&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bill - &lt;a href="http://dpaste.com/2H9CW6R" target="_blank" rel="nofollow noopener"&gt;1.1 CDROM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Greg - &lt;a href="http://dpaste.com/2SGA3KY" target="_blank" rel="nofollow noopener"&gt;More 50 Year anniversary information&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dave - &lt;a href="http://dpaste.com/3ZAEKHD#wrap" target="_blank" rel="nofollow noopener"&gt;Question time for Allan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0333.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, freebsd foundation, foundation, wireguard, amazon, ec2, arm, arm 12, pkgsrc, unix, keyboard, keyboards, digital ocean</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Your Impact on FreeBSD in 2019, Wireguard on OpenBSD Router, Amazon now has FreeBSD/ARM 12, pkgsrc-2019Q4, The Joys of UNIX Keyboards, OpenBSD on Digital Ocean, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsdfoundation.org/blog/your-impact-on-freebsd-in-2019/" target="_blank" rel="nofollow noopener">Your Impact on FreeBSD in 2019</a></h3>

<blockquote>
<p>It’s hard to believe that 2019 is nearly over. It has been an amazing year for supporting the FreeBSD Project and community! Why do I say that? Because as I reflect over the past 12 months, I realize how many events we’ve attended all over the world, and how many lives we’ve touched in so many ways. From advocating for FreeBSD to implementing FreeBSD features, my team has been there to help make FreeBSD the best open source project and operating system out there.</p>

<p>In 2019, we focused on supporting a few key areas where the Project needed the most help. The first area was software development. Whether it was contracting FreeBSD developers to work on projects like wifi support, to providing internal staff to quickly implement hardware workarounds, we’ve stepped in to help keep FreeBSD innovative, secure, and reliable. Software development includes supporting the tools and infrastructure that make the development process go smoothly, and we’re on it with team members heading up the Continuous Integration efforts, and actively involved in the clusteradmin and security teams.</p>

<p>Our advocacy efforts focused on recruiting new users and contributors to the Project. We attended and participated in 38 conferences and events in 21 countries. From giving FreeBSD presentations and workshops to staffing tables, we were able to have 1:1 conversations with thousands of attendees.</p>

<p>Our travels also provided opportunities to talk directly with FreeBSD commercial and individual users, contributors, and future FreeBSD user/contributors. We’ve seen an increase in use and interest in FreeBSD from all of these organizations and individuals. These meetings give us a chance to learn more about what organizations need and what they and other individuals are working on. The information helps inform the work we should fund.</p>
</blockquote>

<hr>

<h3><a href="https://obscurity.xyz/bsd/open/wireguard.html" target="_blank" rel="nofollow noopener">Wireguard on OpenBSD Router</a></h3>

<blockquote>
<p>wireguard (wg) is a modern vpn protocol, using the latest class of encryption algorithms while at the same time promising speed and a small code base.</p>

<p>modern crypto and lean code are also tenants of openbsd, thus it was a no brainer to migrate my router from openvpn over to wireguard.</p>

<p>my setup : a collection of devices, both wired and wireless, that are nat’d through my router (openbsd 6.6) out via my vpn provider azire* and out to the internet using wg-quick to start wg.</p>

<p>running : doubtless this could be improved on, but currently i start wg manually when my router boots. this, and the nat'ing on the vpn interface mean its impossible for clients to connect to the internet without the vpn being up. as my router is on a ups and only reboots when a kernel patch requires it, it’s a compromise i can live with. run wg-quick (please replace vpn with whatever you named your wg .conf file.) and reload pf rules.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://aws.amazon.com/marketplace/pp/B081NF7BY7" target="_blank" rel="nofollow noopener">Amazon now has FreeBSD/ARM 12</a></h3>

<blockquote>
<p>AWS, the cloud division of Amazon, announced in December the next generation of its ARM processors, the Graviton2. This is a custom chip design with a 7nm architecture. It is based on 64-bit ARM Neoverse cores.</p>

<p>Compared to first-generation Graviton processors (A1), today’s new chips should deliver up to 7x the performance of A1 instances in some cases. Floating point performance is now twice as fast. There are additional memory channels and cache speed memory access should be much faster.</p>

<p>The company is working on three types of Graviton2 EC2 instances that should be available soon. Instances with a “g” suffix are powered by Graviton2 chips. If they have a “d” suffix, it also means that they have NVMe local storage.</p>

<ul>
<li><p>General-purpose instances (M6g and M6gd)</p></li>
<li><p>Compute-optimized instances (C6g and C6gd)</p></li>
<li><p>Memory-optimized instances (R6g and R6gd)</p></li>
</ul>

<p>You can choose instances with up to 64 vCPUs, 512 GiB of memory and 25 Gbps networking.</p>

<p>And you can see that ARM-powered servers are not just a fad. AWS already promises a 40% better price/performance ratio with ARM-based instances when you compare them with x86-based instances.</p>

<p>AWS has been working with operating system vendors and independent software vendors to help them release software that runs on ARM. ARM-based EC2 instances support Amazon Linux 2, Ubuntu, Red Hat, SUSE, Fedora, Debian and FreeBSD. It also works with multiple container services (Docker, Amazon ECS, and Amazon Elastic Kubernetes Service).</p>
</blockquote>

<ul>
<li><a href="https://techcrunch.com/2019/12/03/aws-announces-new-arm-based-instances-with-graviton2-processors/" target="_blank" rel="nofollow noopener">Coverage of AWS Announcement </a></li>
</ul>

<hr>

<h3><a href="https://mail-index.netbsd.org/pkgsrc-users/2020/01/06/msg030130.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc-2019Q4 release</a></h3>

<blockquote>
<p>The pkgsrc developers are proud to announce the 65th quarterly release of pkgsrc, the cross-platform packaging system.  pkgsrc is available with more than 20,000 packages, running on 23 separate platforms; more information on pkgsrc itself is available at <a href="https://www.pkgsrc.org/" target="_blank" rel="nofollow noopener">https://www.pkgsrc.org/</a></p>

<p>In total, 190 packages were added, 96 packages were removed, and 1,868 package updates (to 1388 unique packages) were processed since the pkgsrc-2019Q3 release.  As usual, a large number of updates and additions were processed for packages for go (14), guile (11), perl (170), php (10), python (426), and ruby (110).  This continues pkgsrc's tradition of adding useful packages, updating many packages to more current versions, and pruning unmaintained packages that are believed to have essentially no users.</p>
</blockquote>

<hr>

<h3><a href="https://donatstudios.com/UNIX-Keyboards" target="_blank" rel="nofollow noopener">The Joys of UNIX Keyboards</a></h3>

<blockquote>
<p>I fell in love with a dead keyboard layout.</p>

<p>A decade or so ago while helping a friends father clean out an old building, we came across an ancient Sun Microsystems server. We found it curious. Everything about it was different from what we were used to. The command line was black on white, the connectors strange and foreign, and the keyboard layout was bizarre.</p>

<p>We never did much with it; turning it on made all the lights in his home dim, and our joint knowledge of UNIX was nonexistent. It sat in his bedroom for years supporting his television at the foot of his bed.</p>

<p>I never forgot that keyboard though. The thought that there was this alternative layout out there seemed intriguing to me.</p>
</blockquote>

<hr>

<h3><a href="https://www.going-flying.com/blog/openbsd-on-digitalocean.html" target="_blank" rel="nofollow noopener">OpenBSD on Digital Ocean</a></h3>

<blockquote>
<p>Last night I had a need to put together a new OpenBSD machine. Since I already use DigitalOcean for one of my public DNS servers I wanted to use them for this need but sadly like all too many of the cloud providers they don't support OpenBSD. Now they do support FreeBSD and I found a couple writeups that show how to use FreeBSD as a shim to install OpenBSD.</p>

<p>They are both sort of old at this point and with OpenBSD 6.6 out I ran into a bit of a snag. The default these days is to use a GPT partition table to enable EFI booting. This is generally pretty sane but it looks to me like the FreeBSD droplet doesn't support this. After the installer rebooted the VM failed to boot, being unable to find the bootloader.</p>

<p>Thankfully DigitalOcean has a recovery ISO that you can boot by simply switching to it and powering off and then on your Droplet.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=356111" target="_blank" rel="nofollow noopener">FreeBSD defaults to LLVM on PPC</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20191231214356" target="_blank" rel="nofollow noopener">Theo De Raadt Interview between Ottawa 2019 Hackathon and BSDCAN 2019</a></li>
<li><a href="https://twitter.com/BastilleBSD/status/1211475103143251968" target="_blank" rel="nofollow noopener">Bastille Poll about what people would like to see in 2020</a></li>
<li><a href="https://github.com/suvratapte/Maurice-Bach-Notes" target="_blank" rel="nofollow noopener">Notes on the classic book : The Design of the UNIX Operating System</a></li>
<li><a href="https://www.multicians.org/" target="_blank" rel="nofollow noopener">Multics History</a></li>
<li><a href="http://studybsd.com/" target="_blank" rel="nofollow noopener">First meeting of the Hamilton BSD user group, February 11, 2020 18:30 - 21:00, Boston Pizza on Upper James St</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Bill - <a href="http://dpaste.com/2H9CW6R" target="_blank" rel="nofollow noopener">1.1 CDROM</a></li>
<li>Greg - <a href="http://dpaste.com/2SGA3KY" target="_blank" rel="nofollow noopener">More 50 Year anniversary information</a></li>
<li>Dave - <a href="http://dpaste.com/3ZAEKHD#wrap" target="_blank" rel="nofollow noopener">Question time for Allan</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0333.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Your Impact on FreeBSD in 2019, Wireguard on OpenBSD Router, Amazon now has FreeBSD/ARM 12, pkgsrc-2019Q4, The Joys of UNIX Keyboards, OpenBSD on Digital Ocean, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsdfoundation.org/blog/your-impact-on-freebsd-in-2019/" target="_blank" rel="nofollow noopener">Your Impact on FreeBSD in 2019</a></h3>

<blockquote>
<p>It’s hard to believe that 2019 is nearly over. It has been an amazing year for supporting the FreeBSD Project and community! Why do I say that? Because as I reflect over the past 12 months, I realize how many events we’ve attended all over the world, and how many lives we’ve touched in so many ways. From advocating for FreeBSD to implementing FreeBSD features, my team has been there to help make FreeBSD the best open source project and operating system out there.</p>

<p>In 2019, we focused on supporting a few key areas where the Project needed the most help. The first area was software development. Whether it was contracting FreeBSD developers to work on projects like wifi support, to providing internal staff to quickly implement hardware workarounds, we’ve stepped in to help keep FreeBSD innovative, secure, and reliable. Software development includes supporting the tools and infrastructure that make the development process go smoothly, and we’re on it with team members heading up the Continuous Integration efforts, and actively involved in the clusteradmin and security teams.</p>

<p>Our advocacy efforts focused on recruiting new users and contributors to the Project. We attended and participated in 38 conferences and events in 21 countries. From giving FreeBSD presentations and workshops to staffing tables, we were able to have 1:1 conversations with thousands of attendees.</p>

<p>Our travels also provided opportunities to talk directly with FreeBSD commercial and individual users, contributors, and future FreeBSD user/contributors. We’ve seen an increase in use and interest in FreeBSD from all of these organizations and individuals. These meetings give us a chance to learn more about what organizations need and what they and other individuals are working on. The information helps inform the work we should fund.</p>
</blockquote>

<hr>

<h3><a href="https://obscurity.xyz/bsd/open/wireguard.html" target="_blank" rel="nofollow noopener">Wireguard on OpenBSD Router</a></h3>

<blockquote>
<p>wireguard (wg) is a modern vpn protocol, using the latest class of encryption algorithms while at the same time promising speed and a small code base.</p>

<p>modern crypto and lean code are also tenants of openbsd, thus it was a no brainer to migrate my router from openvpn over to wireguard.</p>

<p>my setup : a collection of devices, both wired and wireless, that are nat’d through my router (openbsd 6.6) out via my vpn provider azire* and out to the internet using wg-quick to start wg.</p>

<p>running : doubtless this could be improved on, but currently i start wg manually when my router boots. this, and the nat'ing on the vpn interface mean its impossible for clients to connect to the internet without the vpn being up. as my router is on a ups and only reboots when a kernel patch requires it, it’s a compromise i can live with. run wg-quick (please replace vpn with whatever you named your wg .conf file.) and reload pf rules.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://aws.amazon.com/marketplace/pp/B081NF7BY7" target="_blank" rel="nofollow noopener">Amazon now has FreeBSD/ARM 12</a></h3>

<blockquote>
<p>AWS, the cloud division of Amazon, announced in December the next generation of its ARM processors, the Graviton2. This is a custom chip design with a 7nm architecture. It is based on 64-bit ARM Neoverse cores.</p>

<p>Compared to first-generation Graviton processors (A1), today’s new chips should deliver up to 7x the performance of A1 instances in some cases. Floating point performance is now twice as fast. There are additional memory channels and cache speed memory access should be much faster.</p>

<p>The company is working on three types of Graviton2 EC2 instances that should be available soon. Instances with a “g” suffix are powered by Graviton2 chips. If they have a “d” suffix, it also means that they have NVMe local storage.</p>

<ul>
<li><p>General-purpose instances (M6g and M6gd)</p></li>
<li><p>Compute-optimized instances (C6g and C6gd)</p></li>
<li><p>Memory-optimized instances (R6g and R6gd)</p></li>
</ul>

<p>You can choose instances with up to 64 vCPUs, 512 GiB of memory and 25 Gbps networking.</p>

<p>And you can see that ARM-powered servers are not just a fad. AWS already promises a 40% better price/performance ratio with ARM-based instances when you compare them with x86-based instances.</p>

<p>AWS has been working with operating system vendors and independent software vendors to help them release software that runs on ARM. ARM-based EC2 instances support Amazon Linux 2, Ubuntu, Red Hat, SUSE, Fedora, Debian and FreeBSD. It also works with multiple container services (Docker, Amazon ECS, and Amazon Elastic Kubernetes Service).</p>
</blockquote>

<ul>
<li><a href="https://techcrunch.com/2019/12/03/aws-announces-new-arm-based-instances-with-graviton2-processors/" target="_blank" rel="nofollow noopener">Coverage of AWS Announcement </a></li>
</ul>

<hr>

<h3><a href="https://mail-index.netbsd.org/pkgsrc-users/2020/01/06/msg030130.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc-2019Q4 release</a></h3>

<blockquote>
<p>The pkgsrc developers are proud to announce the 65th quarterly release of pkgsrc, the cross-platform packaging system.  pkgsrc is available with more than 20,000 packages, running on 23 separate platforms; more information on pkgsrc itself is available at <a href="https://www.pkgsrc.org/" target="_blank" rel="nofollow noopener">https://www.pkgsrc.org/</a></p>

<p>In total, 190 packages were added, 96 packages were removed, and 1,868 package updates (to 1388 unique packages) were processed since the pkgsrc-2019Q3 release.  As usual, a large number of updates and additions were processed for packages for go (14), guile (11), perl (170), php (10), python (426), and ruby (110).  This continues pkgsrc's tradition of adding useful packages, updating many packages to more current versions, and pruning unmaintained packages that are believed to have essentially no users.</p>
</blockquote>

<hr>

<h3><a href="https://donatstudios.com/UNIX-Keyboards" target="_blank" rel="nofollow noopener">The Joys of UNIX Keyboards</a></h3>

<blockquote>
<p>I fell in love with a dead keyboard layout.</p>

<p>A decade or so ago while helping a friends father clean out an old building, we came across an ancient Sun Microsystems server. We found it curious. Everything about it was different from what we were used to. The command line was black on white, the connectors strange and foreign, and the keyboard layout was bizarre.</p>

<p>We never did much with it; turning it on made all the lights in his home dim, and our joint knowledge of UNIX was nonexistent. It sat in his bedroom for years supporting his television at the foot of his bed.</p>

<p>I never forgot that keyboard though. The thought that there was this alternative layout out there seemed intriguing to me.</p>
</blockquote>

<hr>

<h3><a href="https://www.going-flying.com/blog/openbsd-on-digitalocean.html" target="_blank" rel="nofollow noopener">OpenBSD on Digital Ocean</a></h3>

<blockquote>
<p>Last night I had a need to put together a new OpenBSD machine. Since I already use DigitalOcean for one of my public DNS servers I wanted to use them for this need but sadly like all too many of the cloud providers they don't support OpenBSD. Now they do support FreeBSD and I found a couple writeups that show how to use FreeBSD as a shim to install OpenBSD.</p>

<p>They are both sort of old at this point and with OpenBSD 6.6 out I ran into a bit of a snag. The default these days is to use a GPT partition table to enable EFI booting. This is generally pretty sane but it looks to me like the FreeBSD droplet doesn't support this. After the installer rebooted the VM failed to boot, being unable to find the bootloader.</p>

<p>Thankfully DigitalOcean has a recovery ISO that you can boot by simply switching to it and powering off and then on your Droplet.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=356111" target="_blank" rel="nofollow noopener">FreeBSD defaults to LLVM on PPC</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20191231214356" target="_blank" rel="nofollow noopener">Theo De Raadt Interview between Ottawa 2019 Hackathon and BSDCAN 2019</a></li>
<li><a href="https://twitter.com/BastilleBSD/status/1211475103143251968" target="_blank" rel="nofollow noopener">Bastille Poll about what people would like to see in 2020</a></li>
<li><a href="https://github.com/suvratapte/Maurice-Bach-Notes" target="_blank" rel="nofollow noopener">Notes on the classic book : The Design of the UNIX Operating System</a></li>
<li><a href="https://www.multicians.org/" target="_blank" rel="nofollow noopener">Multics History</a></li>
<li><a href="http://studybsd.com/" target="_blank" rel="nofollow noopener">First meeting of the Hamilton BSD user group, February 11, 2020 18:30 - 21:00, Boston Pizza on Upper James St</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Bill - <a href="http://dpaste.com/2H9CW6R" target="_blank" rel="nofollow noopener">1.1 CDROM</a></li>
<li>Greg - <a href="http://dpaste.com/2SGA3KY" target="_blank" rel="nofollow noopener">More 50 Year anniversary information</a></li>
<li>Dave - <a href="http://dpaste.com/3ZAEKHD#wrap" target="_blank" rel="nofollow noopener">Question time for Allan</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0333.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>332: The BSD Hyperbole</title>
  <link>https://www.bsdnow.tv/332</link>
  <guid isPermaLink="false">34cc6ce3-e7ed-41bf-880e-e77f6a27fe3c</guid>
  <pubDate>Thu, 09 Jan 2020 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/34cc6ce3-e7ed-41bf-880e-e77f6a27fe3c.mp3" length="32549325" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Announcing HyperbolaBSD, IPFW In-Kernel NAT setup on FreeBSD, Wayland and WebRTC enabled for NetBSD 9/Linux, LLDB Threading support ready for mainline, OpenSSH U2F/FIDO support in base, Dragonfly drm/i915: Update, and more.</itunes:subtitle>
  <itunes:duration>45:12</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>&lt;p&gt;Announcing HyperbolaBSD, IPFW In-Kernel NAT setup on FreeBSD, Wayland and WebRTC enabled for NetBSD 9/Linux, LLDB Threading support ready for mainline, OpenSSH U2F/FIDO support in base, Dragonfly drm/i915: Update, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.hyperbola.info/news/announcing-hyperbolabsd-roadmap/" target="_blank" rel="nofollow noopener"&gt;HyperbolaBSD Announcement&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Due to the Linux kernel rapidly proceeding down an unstable path, we are planning on implementing a completely new OS derived from several BSD implementations.&lt;/p&gt;

&lt;p&gt;This was not an easy decision to make, but we wish to use our time and resources to create a viable alternative to the current operating system trends which are actively seeking to undermine user choice and freedom.&lt;/p&gt;

&lt;p&gt;This will not be a "distro", but a hard fork of the OpenBSD kernel and userspace including new code written under GPLv3 and LGPLv3 to replace GPL-incompatible parts and non-free ones.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Reasons for this include:

&lt;ul&gt;
&lt;li&gt;Linux kernel forcing adaption of DRM, including HDCP.&lt;/li&gt;
&lt;li&gt;Linux kernel proposed usage of Rust (which contains freedom flaws and a centralized code repository that is more prone to cyber attack and generally requires internet access to use.)&lt;/li&gt;
&lt;li&gt;Linux kernel being written without security and in mind. (KSPP is basically a dead project and Grsec is no longer free software)&lt;/li&gt;
&lt;li&gt;Many GNU userspace and core utils are all forcing adaption of features without build time options to disable them. E.g. (PulseAudio / SystemD / Rust / Java as forced dependencies)&lt;/li&gt;
&lt;li&gt;As such, we will continue to support the Milky Way branch until 2022 when our legacy Linux-libre kernel reaches End of Life.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Future versions of Hyperbola will be using HyperbolaBSD which will have the new kernel, userspace and not be ABI compatible with previous versions.&lt;/p&gt;

&lt;p&gt;HyperbolaBSD is intended to be modular and minimalist so other projects will be able to re-use the code under free license.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://forums.hyperbola.info/viewtopic.php?id=315" target="_blank" rel="nofollow noopener"&gt;Forum Post&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.neelc.org/posts/freebsd-ipfw-nat/" target="_blank" rel="nofollow noopener"&gt;A simple IPFW In-Kernel NAT setup on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;After graduating college, I am moving from Brooklyn, NY to Redmond, WA (guess where I got a job). I always wanted to re-do my OPNsense firewall (currently a HP T730) with stock FreeBSD and IPFW’s in-kernel NAT.&lt;/p&gt;

&lt;p&gt;Why IPFW? Benchmarks have shown IPFW to be faster which is especially good for my Tor relay, and because I can! However, one downside of IPFW is less documentation vs PF, even less without natd (which we’re not using), and this took me time to figure this out.&lt;/p&gt;

&lt;p&gt;But since my T730 is already packed, I am testing this on a old PC with two NICs, and my laptop [1] as a client with an USB-to-Ethernet adapter.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mail-index.netbsd.org/pkgsrc-users/2020/01/05/msg030124.html" target="_blank" rel="nofollow noopener"&gt;HEADS UP: Wayland and WebRTC enabled for NetBSD 9/Linux&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This is just a heads up that the Wayland option is now turned on by&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;default for NetBSD 9 and Linux in cases where it peacefully coexists&lt;br&gt;
with X11. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Right now, this effects the following packages: 

&lt;ul&gt;
&lt;li&gt;graphics/MesaLib&lt;/li&gt;
&lt;li&gt;devel/SDL2&lt;/li&gt;
&lt;li&gt;www/webkit-gtk&lt;/li&gt;
&lt;li&gt;x11/gtk3&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The WebRTC option has also been enabled by default on NetBSD 9 for two Firefox versions: www/firefox, www/firefox68&lt;/p&gt;

&lt;p&gt;Please keep me informed of any fallout. Hopefully, there will be none.&lt;/p&gt;

&lt;p&gt;If you want to try out Wayland-related things on NetBSD 9, wm/velox/MESSAGE may be interesting for you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/lldb_threading_support_now_ready" target="_blank" rel="nofollow noopener"&gt;LLDB Threading support now ready for mainline&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.&lt;/p&gt;

&lt;p&gt;In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues and fixing watchpoint support. Then, I've started working on improving thread support which is taking longer than expected. You can read more about that in my September 2019 report.&lt;/p&gt;

&lt;p&gt;So far the number of issues uncovered while enabling proper threading support has stopped me from merging the work-in-progress patches. However, I've finally reached the point where I believe that the current work can be merged and the remaining problems can be resolved afterwards. More on that and other LLVM-related events happening during the last month in this report.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20191115064850" target="_blank" rel="nofollow noopener"&gt;OpenSSH U2F/FIDO support in base&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Hardware backed keys can be generated using "ssh-keygen -t ecdsa-sk" (or "ed25519-sk" if your token supports it). Many tokens require to be touched/tapped to confirm this step.&lt;/p&gt;

&lt;p&gt;You'll get a public/private keypair back as usual, except in this case, the private key file does not contain a highly-sensitive private key but instead holds a "key handle" that is used by the security key to derive the real private key at signing time.&lt;/p&gt;

&lt;p&gt;So, stealing a copy of the private key file without also stealing your security key (or access to it) should not give the attacker anything.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2019-December/720257.html" target="_blank" rel="nofollow noopener"&gt;drm/i915: Update to Linux 4.8.17&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt; drm/i915: Update to Linux 4.8.17

&lt;ul&gt;
&lt;li&gt;Broxton, Valleyview and Cherryview support improvements&lt;/li&gt;
&lt;li&gt;Broadwell and Gen9/Skylake support improvements&lt;/li&gt;
&lt;li&gt;Broadwell brightness fixes from OpenBSD&lt;/li&gt;
&lt;li&gt;Atomic modesetting improvements&lt;/li&gt;
&lt;li&gt;Various bug fixes and performance enhancements&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/tagattie/FreeBSD-VSCode" target="_blank" rel="nofollow noopener"&gt;Visual Studio Code port for FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=157488907117170&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD syscall call-from verification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.22decembre.eu/en/2019/12/09/peertube-14-openbsd/" target="_blank" rel="nofollow noopener"&gt;Peertube on OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=bbNCqFdQEyk&amp;amp;feature=youtu.be" target="_blank" rel="nofollow noopener"&gt;Fuzzing Filesystems on NetBSD via AFL+KCOV by Maciej Grochowski&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/prop65bot/status/1199003319307558912" target="_blank" rel="nofollow noopener"&gt;Twitter Bot for Prop65&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openvim.com/" target="_blank" rel="nofollow noopener"&gt;Interactive vim tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://studybsd.com/" target="_blank" rel="nofollow noopener"&gt;First BSD user group meeting in Hamilton, February 11, 2020 18:30 - 21:00, Boston Pizza on Upper James St&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Samir - &lt;a href="http://dpaste.com/2B22M24#wrap" target="_blank" rel="nofollow noopener"&gt;cgit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Russell - &lt;a href="http://dpaste.com/0J5TYY0#wrap" target="_blank" rel="nofollow noopener"&gt;R&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Wolfgang - &lt;a href="http://dpaste.com/3MQAH27#wrap" target="_blank" rel="nofollow noopener"&gt;Question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0332.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, hyperbolabsd, ipfw, in-kernel nat, nat, wayland, webrtc, lldb, threading, u2f, fido, drm, i915</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Announcing HyperbolaBSD, IPFW In-Kernel NAT setup on FreeBSD, Wayland and WebRTC enabled for NetBSD 9/Linux, LLDB Threading support ready for mainline, OpenSSH U2F/FIDO support in base, Dragonfly drm/i915: Update, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.hyperbola.info/news/announcing-hyperbolabsd-roadmap/" target="_blank" rel="nofollow noopener">HyperbolaBSD Announcement</a></h3>

<blockquote>
<p>Due to the Linux kernel rapidly proceeding down an unstable path, we are planning on implementing a completely new OS derived from several BSD implementations.</p>

<p>This was not an easy decision to make, but we wish to use our time and resources to create a viable alternative to the current operating system trends which are actively seeking to undermine user choice and freedom.</p>

<p>This will not be a "distro", but a hard fork of the OpenBSD kernel and userspace including new code written under GPLv3 and LGPLv3 to replace GPL-incompatible parts and non-free ones.</p>
</blockquote>

<ul>
<li>Reasons for this include:

<ul>
<li>Linux kernel forcing adaption of DRM, including HDCP.</li>
<li>Linux kernel proposed usage of Rust (which contains freedom flaws and a centralized code repository that is more prone to cyber attack and generally requires internet access to use.)</li>
<li>Linux kernel being written without security and in mind. (KSPP is basically a dead project and Grsec is no longer free software)</li>
<li>Many GNU userspace and core utils are all forcing adaption of features without build time options to disable them. E.g. (PulseAudio / SystemD / Rust / Java as forced dependencies)</li>
<li>As such, we will continue to support the Milky Way branch until 2022 when our legacy Linux-libre kernel reaches End of Life.</li>
</ul></li>
</ul>

<blockquote>
<p>Future versions of Hyperbola will be using HyperbolaBSD which will have the new kernel, userspace and not be ABI compatible with previous versions.</p>

<p>HyperbolaBSD is intended to be modular and minimalist so other projects will be able to re-use the code under free license.</p>
</blockquote>

<ul>
<li><a href="https://forums.hyperbola.info/viewtopic.php?id=315" target="_blank" rel="nofollow noopener">Forum Post</a> </li>
</ul>

<hr>

<h3><a href="https://www.neelc.org/posts/freebsd-ipfw-nat/" target="_blank" rel="nofollow noopener">A simple IPFW In-Kernel NAT setup on FreeBSD</a></h3>

<blockquote>
<p>After graduating college, I am moving from Brooklyn, NY to Redmond, WA (guess where I got a job). I always wanted to re-do my OPNsense firewall (currently a HP T730) with stock FreeBSD and IPFW’s in-kernel NAT.</p>

<p>Why IPFW? Benchmarks have shown IPFW to be faster which is especially good for my Tor relay, and because I can! However, one downside of IPFW is less documentation vs PF, even less without natd (which we’re not using), and this took me time to figure this out.</p>

<p>But since my T730 is already packed, I am testing this on a old PC with two NICs, and my laptop [1] as a client with an USB-to-Ethernet adapter.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/pkgsrc-users/2020/01/05/msg030124.html" target="_blank" rel="nofollow noopener">HEADS UP: Wayland and WebRTC enabled for NetBSD 9/Linux</a></h3>

<blockquote>
<p>This is just a heads up that the Wayland option is now turned on by</p>
</blockquote>

<p>default for NetBSD 9 and Linux in cases where it peacefully coexists<br>
with X11. </p>

<ul>
<li>Right now, this effects the following packages: 

<ul>
<li>graphics/MesaLib</li>
<li>devel/SDL2</li>
<li>www/webkit-gtk</li>
<li>x11/gtk3</li>
</ul></li>
</ul>

<blockquote>
<p>The WebRTC option has also been enabled by default on NetBSD 9 for two Firefox versions: www/firefox, www/firefox68</p>

<p>Please keep me informed of any fallout. Hopefully, there will be none.</p>

<p>If you want to try out Wayland-related things on NetBSD 9, wm/velox/MESSAGE may be interesting for you.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_threading_support_now_ready" target="_blank" rel="nofollow noopener">LLDB Threading support now ready for mainline</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.</p>

<p>In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues and fixing watchpoint support. Then, I've started working on improving thread support which is taking longer than expected. You can read more about that in my September 2019 report.</p>

<p>So far the number of issues uncovered while enabling proper threading support has stopped me from merging the work-in-progress patches. However, I've finally reached the point where I believe that the current work can be merged and the remaining problems can be resolved afterwards. More on that and other LLVM-related events happening during the last month in this report.</p>
</blockquote>

<hr>

<h3><a href="https://www.undeadly.org/cgi?action=article;sid=20191115064850" target="_blank" rel="nofollow noopener">OpenSSH U2F/FIDO support in base</a></h3>

<blockquote>
<p>Hardware backed keys can be generated using "ssh-keygen -t ecdsa-sk" (or "ed25519-sk" if your token supports it). Many tokens require to be touched/tapped to confirm this step.</p>

<p>You'll get a public/private keypair back as usual, except in this case, the private key file does not contain a highly-sensitive private key but instead holds a "key handle" that is used by the security key to derive the real private key at signing time.</p>

<p>So, stealing a copy of the private key file without also stealing your security key (or access to it) should not give the attacker anything.</p>
</blockquote>

<hr>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-December/720257.html" target="_blank" rel="nofollow noopener">drm/i915: Update to Linux 4.8.17</a></h3>

<ul>
<li> drm/i915: Update to Linux 4.8.17

<ul>
<li>Broxton, Valleyview and Cherryview support improvements</li>
<li>Broadwell and Gen9/Skylake support improvements</li>
<li>Broadwell brightness fixes from OpenBSD</li>
<li>Atomic modesetting improvements</li>
<li>Various bug fixes and performance enhancements</li>
</ul></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/tagattie/FreeBSD-VSCode" target="_blank" rel="nofollow noopener">Visual Studio Code port for FreeBSD</a></li>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=157488907117170&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD syscall call-from verification</a></li>
<li><a href="https://www.22decembre.eu/en/2019/12/09/peertube-14-openbsd/" target="_blank" rel="nofollow noopener">Peertube on OpenBSD</a></li>
<li><a href="https://www.youtube.com/watch?v=bbNCqFdQEyk&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">Fuzzing Filesystems on NetBSD via AFL+KCOV by Maciej Grochowski</a></li>
<li><a href="https://twitter.com/prop65bot/status/1199003319307558912" target="_blank" rel="nofollow noopener">Twitter Bot for Prop65</a></li>
<li><a href="https://www.openvim.com/" target="_blank" rel="nofollow noopener">Interactive vim tutorial</a></li>
<li><a href="http://studybsd.com/" target="_blank" rel="nofollow noopener">First BSD user group meeting in Hamilton, February 11, 2020 18:30 - 21:00, Boston Pizza on Upper James St</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Samir - <a href="http://dpaste.com/2B22M24#wrap" target="_blank" rel="nofollow noopener">cgit</a></li>
<li>Russell - <a href="http://dpaste.com/0J5TYY0#wrap" target="_blank" rel="nofollow noopener">R</a></li>
<li>Wolfgang - <a href="http://dpaste.com/3MQAH27#wrap" target="_blank" rel="nofollow noopener">Question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0332.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Announcing HyperbolaBSD, IPFW In-Kernel NAT setup on FreeBSD, Wayland and WebRTC enabled for NetBSD 9/Linux, LLDB Threading support ready for mainline, OpenSSH U2F/FIDO support in base, Dragonfly drm/i915: Update, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.hyperbola.info/news/announcing-hyperbolabsd-roadmap/" target="_blank" rel="nofollow noopener">HyperbolaBSD Announcement</a></h3>

<blockquote>
<p>Due to the Linux kernel rapidly proceeding down an unstable path, we are planning on implementing a completely new OS derived from several BSD implementations.</p>

<p>This was not an easy decision to make, but we wish to use our time and resources to create a viable alternative to the current operating system trends which are actively seeking to undermine user choice and freedom.</p>

<p>This will not be a "distro", but a hard fork of the OpenBSD kernel and userspace including new code written under GPLv3 and LGPLv3 to replace GPL-incompatible parts and non-free ones.</p>
</blockquote>

<ul>
<li>Reasons for this include:

<ul>
<li>Linux kernel forcing adaption of DRM, including HDCP.</li>
<li>Linux kernel proposed usage of Rust (which contains freedom flaws and a centralized code repository that is more prone to cyber attack and generally requires internet access to use.)</li>
<li>Linux kernel being written without security and in mind. (KSPP is basically a dead project and Grsec is no longer free software)</li>
<li>Many GNU userspace and core utils are all forcing adaption of features without build time options to disable them. E.g. (PulseAudio / SystemD / Rust / Java as forced dependencies)</li>
<li>As such, we will continue to support the Milky Way branch until 2022 when our legacy Linux-libre kernel reaches End of Life.</li>
</ul></li>
</ul>

<blockquote>
<p>Future versions of Hyperbola will be using HyperbolaBSD which will have the new kernel, userspace and not be ABI compatible with previous versions.</p>

<p>HyperbolaBSD is intended to be modular and minimalist so other projects will be able to re-use the code under free license.</p>
</blockquote>

<ul>
<li><a href="https://forums.hyperbola.info/viewtopic.php?id=315" target="_blank" rel="nofollow noopener">Forum Post</a> </li>
</ul>

<hr>

<h3><a href="https://www.neelc.org/posts/freebsd-ipfw-nat/" target="_blank" rel="nofollow noopener">A simple IPFW In-Kernel NAT setup on FreeBSD</a></h3>

<blockquote>
<p>After graduating college, I am moving from Brooklyn, NY to Redmond, WA (guess where I got a job). I always wanted to re-do my OPNsense firewall (currently a HP T730) with stock FreeBSD and IPFW’s in-kernel NAT.</p>

<p>Why IPFW? Benchmarks have shown IPFW to be faster which is especially good for my Tor relay, and because I can! However, one downside of IPFW is less documentation vs PF, even less without natd (which we’re not using), and this took me time to figure this out.</p>

<p>But since my T730 is already packed, I am testing this on a old PC with two NICs, and my laptop [1] as a client with an USB-to-Ethernet adapter.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/pkgsrc-users/2020/01/05/msg030124.html" target="_blank" rel="nofollow noopener">HEADS UP: Wayland and WebRTC enabled for NetBSD 9/Linux</a></h3>

<blockquote>
<p>This is just a heads up that the Wayland option is now turned on by</p>
</blockquote>

<p>default for NetBSD 9 and Linux in cases where it peacefully coexists<br>
with X11. </p>

<ul>
<li>Right now, this effects the following packages: 

<ul>
<li>graphics/MesaLib</li>
<li>devel/SDL2</li>
<li>www/webkit-gtk</li>
<li>x11/gtk3</li>
</ul></li>
</ul>

<blockquote>
<p>The WebRTC option has also been enabled by default on NetBSD 9 for two Firefox versions: www/firefox, www/firefox68</p>

<p>Please keep me informed of any fallout. Hopefully, there will be none.</p>

<p>If you want to try out Wayland-related things on NetBSD 9, wm/velox/MESSAGE may be interesting for you.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_threading_support_now_ready" target="_blank" rel="nofollow noopener">LLDB Threading support now ready for mainline</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.</p>

<p>In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues and fixing watchpoint support. Then, I've started working on improving thread support which is taking longer than expected. You can read more about that in my September 2019 report.</p>

<p>So far the number of issues uncovered while enabling proper threading support has stopped me from merging the work-in-progress patches. However, I've finally reached the point where I believe that the current work can be merged and the remaining problems can be resolved afterwards. More on that and other LLVM-related events happening during the last month in this report.</p>
</blockquote>

<hr>

<h3><a href="https://www.undeadly.org/cgi?action=article;sid=20191115064850" target="_blank" rel="nofollow noopener">OpenSSH U2F/FIDO support in base</a></h3>

<blockquote>
<p>Hardware backed keys can be generated using "ssh-keygen -t ecdsa-sk" (or "ed25519-sk" if your token supports it). Many tokens require to be touched/tapped to confirm this step.</p>

<p>You'll get a public/private keypair back as usual, except in this case, the private key file does not contain a highly-sensitive private key but instead holds a "key handle" that is used by the security key to derive the real private key at signing time.</p>

<p>So, stealing a copy of the private key file without also stealing your security key (or access to it) should not give the attacker anything.</p>
</blockquote>

<hr>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-December/720257.html" target="_blank" rel="nofollow noopener">drm/i915: Update to Linux 4.8.17</a></h3>

<ul>
<li> drm/i915: Update to Linux 4.8.17

<ul>
<li>Broxton, Valleyview and Cherryview support improvements</li>
<li>Broadwell and Gen9/Skylake support improvements</li>
<li>Broadwell brightness fixes from OpenBSD</li>
<li>Atomic modesetting improvements</li>
<li>Various bug fixes and performance enhancements</li>
</ul></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/tagattie/FreeBSD-VSCode" target="_blank" rel="nofollow noopener">Visual Studio Code port for FreeBSD</a></li>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=157488907117170&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD syscall call-from verification</a></li>
<li><a href="https://www.22decembre.eu/en/2019/12/09/peertube-14-openbsd/" target="_blank" rel="nofollow noopener">Peertube on OpenBSD</a></li>
<li><a href="https://www.youtube.com/watch?v=bbNCqFdQEyk&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">Fuzzing Filesystems on NetBSD via AFL+KCOV by Maciej Grochowski</a></li>
<li><a href="https://twitter.com/prop65bot/status/1199003319307558912" target="_blank" rel="nofollow noopener">Twitter Bot for Prop65</a></li>
<li><a href="https://www.openvim.com/" target="_blank" rel="nofollow noopener">Interactive vim tutorial</a></li>
<li><a href="http://studybsd.com/" target="_blank" rel="nofollow noopener">First BSD user group meeting in Hamilton, February 11, 2020 18:30 - 21:00, Boston Pizza on Upper James St</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Samir - <a href="http://dpaste.com/2B22M24#wrap" target="_blank" rel="nofollow noopener">cgit</a></li>
<li>Russell - <a href="http://dpaste.com/0J5TYY0#wrap" target="_blank" rel="nofollow noopener">R</a></li>
<li>Wolfgang - <a href="http://dpaste.com/3MQAH27#wrap" target="_blank" rel="nofollow noopener">Question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0332.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>331: Why Computers Suck</title>
  <link>https://www.bsdnow.tv/331</link>
  <guid isPermaLink="false">aa8d58dd-a2a5-4c8a-9244-755d523fe855</guid>
  <pubDate>Thu, 02 Jan 2020 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/aa8d58dd-a2a5-4c8a-9244-755d523fe855.mp3" length="50254703" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>How learning OpenBSD makes computers suck a little less, How Unix works, FreeBSD 12.1 Runs Well on Ryzen Threadripper 3970X, BSDCan CFP, HardenedBSD Infrastructure Goals, and more.</itunes:subtitle>
  <itunes:duration>1:09:47</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>&lt;p&gt;How learning OpenBSD makes computers suck a little less, How Unix works, FreeBSD 12.1 Runs Well on Ryzen Threadripper 3970X, BSDCan CFP, HardenedBSD Infrastructure Goals, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://telegra.ph/Why-OpenBSD-is-marginally-less-horrible-12-05" target="_blank" rel="nofollow noopener"&gt;Why computers suck and how learning from OpenBSD can make them marginally less horrible&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;How much better could things actually be if we abandoned the enterprise development model? &lt;/p&gt;

&lt;p&gt;Next I will compare this enterprise development approach with non-enterprise development - projects such as OpenBSD, which do not hesitate to introduce ABI breaking changes to improve the codebase.&lt;/p&gt;

&lt;p&gt;One of the most commonly referred to pillars of the project's philosophy has long been its emphasis on clean functional code. Any code which makes it into OpenBSD is subject to ongoing aggressive audits for deprecated, or otherwise unmaintained code in order to reduce cruft and attack surface. Additionally the project creator, Theo de Raadt, and his team of core developers engage in ongoing development for proactive mitigations for various attack classes many of which are directly adopted by various multi-platform userland applications as well as the operating systems themselves (Windows, Linux, and the other BSDs). Frequently it is the case that introducing new features (not just deprecating old ones) introduces new incompatibilities against previously functional binaries compiled for OpenBSD. &lt;/p&gt;

&lt;p&gt;To prevent the sort of kernel memory bloat that has plagued so many other operating systems for years, the project enforces a hard ceiling on the number of lines of code that can ever be in ring 0 at a given time. Current estimates guess the number of bugs per line of code in the Linux kernel are around 1 bug per every 10,000 lines of code. Think of this in the context of the scope creep seen in the Linux kernel (which if I recall correctly is currently at around 100,000,000 lines of code), as well as the Windows NT kernel (500,000,000 lines of code) and you quickly begin to understand how adding more and more functionality into the most privileged components of the operating system without first removing old components begins to add up in terms of the drastic difference seen between these systems in the number of zero day exploits caught in the wild respectively.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://neilkakkar.com/unix.html" target="_blank" rel="nofollow noopener"&gt;How Unix Works: Become a Better Software Engineer&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Unix is beautiful. Allow me to paint some happy little trees for you. I’m not going to explain a bunch of commands – that’s boring, and there’s a million tutorials on the web doing that already. I’m going to leave you with the ability to reason about the system.&lt;/p&gt;

&lt;p&gt;Every fancy thing you want done is one google search away.&lt;/p&gt;

&lt;p&gt;But understanding why the solution does what you want is not the same.&lt;/p&gt;

&lt;p&gt;That’s what gives you real power, the power to not be afraid.&lt;/p&gt;

&lt;p&gt;And since it rhymes, it must be true.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=article&amp;amp;item=freebsd-amd-3970x&amp;amp;num=1" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.1 Runs Refreshingly Well With AMD Ryzen Threadripper 3970X&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;For those of you interested in AMD's new Ryzen Threadripper 3960X/3970X processors with TRX40 motherboards for running FreeBSD, the experience in our initial testing has been surprisingly pleasant. In fact, it works out-of-the-box which one could argue is better than the current Linux support that needs the MCE workaround for booting. Here are some benchmarks of FreeBSD 12.1 on the Threadripper 3970X compared to Linux and Windows for this new HEDT platform.&lt;/p&gt;

&lt;p&gt;It was refreshing to see FreeBSD 12.1 booting and running just fine with the Ryzen Threadripper 3970X 32-core/64-thread processor from the ASUS ROG ZENITH II EXTREME motherboard and all core functionality working including the PCIe 4.0 NVMe SSD storage, onboard networking, etc. The system was running with 4 x 16GB DDR4-3600 memory, 1TB Corsair Force MP600 NVMe SSD, and Radeon RX 580 graphics. It was refreshing to see FreeBSD 12.1 running well with this high-end AMD Threadripper system considering Linux even needed a boot workaround.&lt;/p&gt;

&lt;p&gt;While the FreeBSD 12.1 experience was trouble-free with the ASUS TRX40 motherboard (ROG Zenith II Extreme) and AMD Ryzen Threadripper 3970X, DragonFlyBSD unfortunately was not. Both DragonFlyBSD 5.6.2 stable and the DragonFlyBSD daily development snapshot from last week were yielding a panic on boot. So with that, DragonFlyBSD wasn't tested for this Threadripper 3970X comparison but just FreeBSD 12.1.&lt;/p&gt;

&lt;p&gt;FreeBSD 12.1 on the Threadripper 3970X was benchmarked both with its default LLVM Clang 8.0.1 compiler and again with GCC 9.2 from ports for ruling out compiler differences. The FreeBSD 12.1 performance was compared to last week's Windows 10 vs. Linux benchmarks with the same system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.bsdcan.org/pipermail/bsdcan-announce/2019-December/000180.html" target="_blank" rel="nofollow noopener"&gt;BSDCan 2020 CFP&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;BSDCan 2020 will be held 5-6 (Fri-Sat) June, 2020 in Ottawa, at the University of Ottawa. It will be preceded by two days of tutorials on 3-4 June (Wed-Thu).&lt;/p&gt;

&lt;p&gt;NOTE the change of month in 2020 back to June Also: do not miss out on the Goat BOF on Tuesday 2 June.&lt;/p&gt;

&lt;p&gt;We are now accepting proposals for talks.  The talks should be designed with a very strong technical content bias. Proposals of a business development or marketing nature are not appropriate for this venue.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See &lt;a href="http://www.bsdcan.org/2020/" target="_blank" rel="nofollow noopener"&gt;http://www.bsdcan.org/2020/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you are doing something interesting with a BSD operating system, please submit a proposal. Whether you are developing a very complex system using BSD as the foundation, or helping others and have a story to tell about how BSD played a role, we want to hear about your experience.  People using BSD as a platform for research are also encouraged to submit a proposal. Possible topics include:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;How we manage a giant installation with respect to handling spam.&lt;/li&gt;
&lt;li&gt;and/or sysadmin.&lt;/li&gt;
&lt;li&gt;and/or networking.&lt;/li&gt;
&lt;li&gt;Cool new stuff in BSD&lt;/li&gt;
&lt;li&gt;Tell us about your project which runs on BSD&lt;/li&gt;
&lt;li&gt;other topics (see next paragraph)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;From the BSDCan website, the Archives section will allow you to review the wide variety of past BSDCan presentations as further examples.&lt;/p&gt;

&lt;p&gt;Both users and developers are encouraged to share their experiences.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/lattera/articles/blob/master/hardenedbsd/2019-12-01_infrastructure/article.md" target="_blank" rel="nofollow noopener"&gt;HardenedBSD Infrastructure Goals&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;2019 has been an extremely productive year with regards to HardenedBSD's infrastructure. Several opportunities aligned themselves in such a way as to open a door for a near-complete rebuild with a vast expansion.&lt;/p&gt;

&lt;p&gt;The last few months especially have seen a major expansion of our infrastructure. We obtained a number of to-be-retired Dell R410 servers. The crash of our nightly build server provided the opportunity to deploy these R410 servers, doubling our build capacity.&lt;/p&gt;

&lt;p&gt;My available time to spend on HardenedBSD has decreased compared to this time last year. As part of rebuilding our infrastructure, I wanted to enable the community to be able to contribute. I'm structuring the work such that help is just a pull request away. Those in the HardenedBSD community who want to contribute to the infrastructure work can simply open a pull request. I'll review the code, and deploy it after a successful review. Users/contributors don't need access to our servers in order to improve them.&lt;/p&gt;

&lt;p&gt;My primary goal for the rest of 2019 and into 2020 is to become fully self-hosted, with the sole exception of email. I want to transition the source-of-truth git repos to our own infrastructure. We will still provide a read-only mirror on GitHub.&lt;/p&gt;

&lt;p&gt;As I develop this infrastructure, I'm doing so with human rights in mind. HardenedBSD is in a very unique position. In 2020, I plan to provide production Tor Onion Services for the various bits of our infrastructure. HardenedBSD will provide access to its various internal services to its developers and contributors. The entire development lifecycle, going from dev to prod, will be able to happen over Tor.&lt;/p&gt;

&lt;p&gt;Transparency will be key moving forward. Logs for the auto-sync script are now published directly to GitHub. Build logs will be, soon, too. Logs of all automated processes, and the code for those processes, will be tracked publicly via git. This will be especially crucial for development over Tor.&lt;/p&gt;

&lt;p&gt;Integrating Tor into our infrastructure so deeply increases risk and maintenance burden. However, I believe that through added transparency, we will be able to mitigate risk. Periodic audits will need to be performed and published.&lt;/p&gt;

&lt;p&gt;I hope to migrate HardenedBSD's site away from Drupal to a static site generator. We don't really need the dynamic capabilities Drupal gives us. The many security issues Drupal and PHP both bring also leave much to be desired.&lt;/p&gt;

&lt;p&gt;So, that's about it. I spent the last few months of 2019 laying the foundation for a successful 2020. I'm excited to see how the project grows.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.furybsd.org/kde-plasma-flavor-now-available/" target="_blank" rel="nofollow noopener"&gt;FuryBSD - KDE plasma flavor now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2019-November/719945.html" target="_blank" rel="nofollow noopener"&gt;DragonFly - git: virtio - Fix LUN scan issue w/ Google Cloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.lpi.org/wiki/BSD_Specialist_Objectives_V1.0" target="_blank" rel="nofollow noopener"&gt;LPI is looking for BSD Specialist learning material writers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jrs-s.net/2019/05/02/zfs-sync-async-zil-slog/" target="_blank" rel="nofollow noopener"&gt;ZFS sync/async + ZIL/SLOG, explained&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-announce/2019-December/001921.html" target="_blank" rel="nofollow noopener"&gt;BSD-Licensed Combinatorics library/utility&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dan.langille.org/2019/11/29/ssl-client-vs-server-certificates-and-bacula-fd/" target="_blank" rel="nofollow noopener"&gt;SSL client vs server certificates and bacula-fd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.facebook.com/maxxdesktop/posts/2761326693888282" target="_blank" rel="nofollow noopener"&gt;MaxxDesktop planning to come to FreeBSD&lt;/a&gt;  &lt;a href="https://www.facebook.com/maxxdesktop/" target="_blank" rel="nofollow noopener"&gt;Project Page&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Tom - &lt;a href="http://dpaste.com/3ZGYNS3#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS Mirror with different speeds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jeff - &lt;a href="http://dpaste.com/1H9QDCR#wrap" target="_blank" rel="nofollow noopener"&gt;Knowledge is power&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Johnny - &lt;a href="http://dpaste.com/1A7Q9EV" target="_blank" rel="nofollow noopener"&gt;Episode 324 response to Jacob&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Pat - &lt;a href="http://dpaste.com/0QPZ2GC" target="_blank" rel="nofollow noopener"&gt;NYC*BUG meeting Jan Meeting Location&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0331.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, learning, computers, unix, ryzen, Threadripper, 3970X, bsdcan, infrastructure</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>How learning OpenBSD makes computers suck a little less, How Unix works, FreeBSD 12.1 Runs Well on Ryzen Threadripper 3970X, BSDCan CFP, HardenedBSD Infrastructure Goals, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://telegra.ph/Why-OpenBSD-is-marginally-less-horrible-12-05" target="_blank" rel="nofollow noopener">Why computers suck and how learning from OpenBSD can make them marginally less horrible</a></h3>

<blockquote>
<p>How much better could things actually be if we abandoned the enterprise development model? </p>

<p>Next I will compare this enterprise development approach with non-enterprise development - projects such as OpenBSD, which do not hesitate to introduce ABI breaking changes to improve the codebase.</p>

<p>One of the most commonly referred to pillars of the project's philosophy has long been its emphasis on clean functional code. Any code which makes it into OpenBSD is subject to ongoing aggressive audits for deprecated, or otherwise unmaintained code in order to reduce cruft and attack surface. Additionally the project creator, Theo de Raadt, and his team of core developers engage in ongoing development for proactive mitigations for various attack classes many of which are directly adopted by various multi-platform userland applications as well as the operating systems themselves (Windows, Linux, and the other BSDs). Frequently it is the case that introducing new features (not just deprecating old ones) introduces new incompatibilities against previously functional binaries compiled for OpenBSD. </p>

<p>To prevent the sort of kernel memory bloat that has plagued so many other operating systems for years, the project enforces a hard ceiling on the number of lines of code that can ever be in ring 0 at a given time. Current estimates guess the number of bugs per line of code in the Linux kernel are around 1 bug per every 10,000 lines of code. Think of this in the context of the scope creep seen in the Linux kernel (which if I recall correctly is currently at around 100,000,000 lines of code), as well as the Windows NT kernel (500,000,000 lines of code) and you quickly begin to understand how adding more and more functionality into the most privileged components of the operating system without first removing old components begins to add up in terms of the drastic difference seen between these systems in the number of zero day exploits caught in the wild respectively.</p>
</blockquote>

<hr>

<h3><a href="https://neilkakkar.com/unix.html" target="_blank" rel="nofollow noopener">How Unix Works: Become a Better Software Engineer</a></h3>

<blockquote>
<p>Unix is beautiful. Allow me to paint some happy little trees for you. I’m not going to explain a bunch of commands – that’s boring, and there’s a million tutorials on the web doing that already. I’m going to leave you with the ability to reason about the system.</p>

<p>Every fancy thing you want done is one google search away.</p>

<p>But understanding why the solution does what you want is not the same.</p>

<p>That’s what gives you real power, the power to not be afraid.</p>

<p>And since it rhymes, it must be true.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=freebsd-amd-3970x&amp;num=1" target="_blank" rel="nofollow noopener">FreeBSD 12.1 Runs Refreshingly Well With AMD Ryzen Threadripper 3970X</a></h3>

<blockquote>
<p>For those of you interested in AMD's new Ryzen Threadripper 3960X/3970X processors with TRX40 motherboards for running FreeBSD, the experience in our initial testing has been surprisingly pleasant. In fact, it works out-of-the-box which one could argue is better than the current Linux support that needs the MCE workaround for booting. Here are some benchmarks of FreeBSD 12.1 on the Threadripper 3970X compared to Linux and Windows for this new HEDT platform.</p>

<p>It was refreshing to see FreeBSD 12.1 booting and running just fine with the Ryzen Threadripper 3970X 32-core/64-thread processor from the ASUS ROG ZENITH II EXTREME motherboard and all core functionality working including the PCIe 4.0 NVMe SSD storage, onboard networking, etc. The system was running with 4 x 16GB DDR4-3600 memory, 1TB Corsair Force MP600 NVMe SSD, and Radeon RX 580 graphics. It was refreshing to see FreeBSD 12.1 running well with this high-end AMD Threadripper system considering Linux even needed a boot workaround.</p>

<p>While the FreeBSD 12.1 experience was trouble-free with the ASUS TRX40 motherboard (ROG Zenith II Extreme) and AMD Ryzen Threadripper 3970X, DragonFlyBSD unfortunately was not. Both DragonFlyBSD 5.6.2 stable and the DragonFlyBSD daily development snapshot from last week were yielding a panic on boot. So with that, DragonFlyBSD wasn't tested for this Threadripper 3970X comparison but just FreeBSD 12.1.</p>

<p>FreeBSD 12.1 on the Threadripper 3970X was benchmarked both with its default LLVM Clang 8.0.1 compiler and again with GCC 9.2 from ports for ruling out compiler differences. The FreeBSD 12.1 performance was compared to last week's Windows 10 vs. Linux benchmarks with the same system.</p>
</blockquote>

<hr>

<h3><a href="https://lists.bsdcan.org/pipermail/bsdcan-announce/2019-December/000180.html" target="_blank" rel="nofollow noopener">BSDCan 2020 CFP</a></h3>

<blockquote>
<p>BSDCan 2020 will be held 5-6 (Fri-Sat) June, 2020 in Ottawa, at the University of Ottawa. It will be preceded by two days of tutorials on 3-4 June (Wed-Thu).</p>

<p>NOTE the change of month in 2020 back to June Also: do not miss out on the Goat BOF on Tuesday 2 June.</p>

<p>We are now accepting proposals for talks.  The talks should be designed with a very strong technical content bias. Proposals of a business development or marketing nature are not appropriate for this venue.</p>
</blockquote>

<ul>
<li>See <a href="http://www.bsdcan.org/2020/" target="_blank" rel="nofollow noopener">http://www.bsdcan.org/2020/</a></li>
</ul>

<blockquote>
<p>If you are doing something interesting with a BSD operating system, please submit a proposal. Whether you are developing a very complex system using BSD as the foundation, or helping others and have a story to tell about how BSD played a role, we want to hear about your experience.  People using BSD as a platform for research are also encouraged to submit a proposal. Possible topics include:</p>
</blockquote>

<ul>
<li>How we manage a giant installation with respect to handling spam.</li>
<li>and/or sysadmin.</li>
<li>and/or networking.</li>
<li>Cool new stuff in BSD</li>
<li>Tell us about your project which runs on BSD</li>
<li>other topics (see next paragraph)</li>
</ul>

<blockquote>
<p>From the BSDCan website, the Archives section will allow you to review the wide variety of past BSDCan presentations as further examples.</p>

<p>Both users and developers are encouraged to share their experiences.</p>
</blockquote>

<hr>

<h3><a href="https://github.com/lattera/articles/blob/master/hardenedbsd/2019-12-01_infrastructure/article.md" target="_blank" rel="nofollow noopener">HardenedBSD Infrastructure Goals</a></h3>

<blockquote>
<p>2019 has been an extremely productive year with regards to HardenedBSD's infrastructure. Several opportunities aligned themselves in such a way as to open a door for a near-complete rebuild with a vast expansion.</p>

<p>The last few months especially have seen a major expansion of our infrastructure. We obtained a number of to-be-retired Dell R410 servers. The crash of our nightly build server provided the opportunity to deploy these R410 servers, doubling our build capacity.</p>

<p>My available time to spend on HardenedBSD has decreased compared to this time last year. As part of rebuilding our infrastructure, I wanted to enable the community to be able to contribute. I'm structuring the work such that help is just a pull request away. Those in the HardenedBSD community who want to contribute to the infrastructure work can simply open a pull request. I'll review the code, and deploy it after a successful review. Users/contributors don't need access to our servers in order to improve them.</p>

<p>My primary goal for the rest of 2019 and into 2020 is to become fully self-hosted, with the sole exception of email. I want to transition the source-of-truth git repos to our own infrastructure. We will still provide a read-only mirror on GitHub.</p>

<p>As I develop this infrastructure, I'm doing so with human rights in mind. HardenedBSD is in a very unique position. In 2020, I plan to provide production Tor Onion Services for the various bits of our infrastructure. HardenedBSD will provide access to its various internal services to its developers and contributors. The entire development lifecycle, going from dev to prod, will be able to happen over Tor.</p>

<p>Transparency will be key moving forward. Logs for the auto-sync script are now published directly to GitHub. Build logs will be, soon, too. Logs of all automated processes, and the code for those processes, will be tracked publicly via git. This will be especially crucial for development over Tor.</p>

<p>Integrating Tor into our infrastructure so deeply increases risk and maintenance burden. However, I believe that through added transparency, we will be able to mitigate risk. Periodic audits will need to be performed and published.</p>

<p>I hope to migrate HardenedBSD's site away from Drupal to a static site generator. We don't really need the dynamic capabilities Drupal gives us. The many security issues Drupal and PHP both bring also leave much to be desired.</p>

<p>So, that's about it. I spent the last few months of 2019 laying the foundation for a successful 2020. I'm excited to see how the project grows.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.furybsd.org/kde-plasma-flavor-now-available/" target="_blank" rel="nofollow noopener">FuryBSD - KDE plasma flavor now available</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-November/719945.html" target="_blank" rel="nofollow noopener">DragonFly - git: virtio - Fix LUN scan issue w/ Google Cloud</a></li>
<li><a href="https://wiki.lpi.org/wiki/BSD_Specialist_Objectives_V1.0" target="_blank" rel="nofollow noopener">LPI is looking for BSD Specialist learning material writers</a></li>
<li><a href="https://jrs-s.net/2019/05/02/zfs-sync-async-zil-slog/" target="_blank" rel="nofollow noopener">ZFS sync/async + ZIL/SLOG, explained</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2019-December/001921.html" target="_blank" rel="nofollow noopener">BSD-Licensed Combinatorics library/utility</a></li>
<li><a href="https://dan.langille.org/2019/11/29/ssl-client-vs-server-certificates-and-bacula-fd/" target="_blank" rel="nofollow noopener">SSL client vs server certificates and bacula-fd</a></li>
<li><a href="https://www.facebook.com/maxxdesktop/posts/2761326693888282" target="_blank" rel="nofollow noopener">MaxxDesktop planning to come to FreeBSD</a>  <a href="https://www.facebook.com/maxxdesktop/" target="_blank" rel="nofollow noopener">Project Page</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Tom - <a href="http://dpaste.com/3ZGYNS3#wrap" target="_blank" rel="nofollow noopener">ZFS Mirror with different speeds</a></li>
<li>Jeff - <a href="http://dpaste.com/1H9QDCR#wrap" target="_blank" rel="nofollow noopener">Knowledge is power</a></li>
<li>Johnny - <a href="http://dpaste.com/1A7Q9EV" target="_blank" rel="nofollow noopener">Episode 324 response to Jacob</a></li>
<li>Pat - <a href="http://dpaste.com/0QPZ2GC" target="_blank" rel="nofollow noopener">NYC*BUG meeting Jan Meeting Location</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0331.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>How learning OpenBSD makes computers suck a little less, How Unix works, FreeBSD 12.1 Runs Well on Ryzen Threadripper 3970X, BSDCan CFP, HardenedBSD Infrastructure Goals, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://telegra.ph/Why-OpenBSD-is-marginally-less-horrible-12-05" target="_blank" rel="nofollow noopener">Why computers suck and how learning from OpenBSD can make them marginally less horrible</a></h3>

<blockquote>
<p>How much better could things actually be if we abandoned the enterprise development model? </p>

<p>Next I will compare this enterprise development approach with non-enterprise development - projects such as OpenBSD, which do not hesitate to introduce ABI breaking changes to improve the codebase.</p>

<p>One of the most commonly referred to pillars of the project's philosophy has long been its emphasis on clean functional code. Any code which makes it into OpenBSD is subject to ongoing aggressive audits for deprecated, or otherwise unmaintained code in order to reduce cruft and attack surface. Additionally the project creator, Theo de Raadt, and his team of core developers engage in ongoing development for proactive mitigations for various attack classes many of which are directly adopted by various multi-platform userland applications as well as the operating systems themselves (Windows, Linux, and the other BSDs). Frequently it is the case that introducing new features (not just deprecating old ones) introduces new incompatibilities against previously functional binaries compiled for OpenBSD. </p>

<p>To prevent the sort of kernel memory bloat that has plagued so many other operating systems for years, the project enforces a hard ceiling on the number of lines of code that can ever be in ring 0 at a given time. Current estimates guess the number of bugs per line of code in the Linux kernel are around 1 bug per every 10,000 lines of code. Think of this in the context of the scope creep seen in the Linux kernel (which if I recall correctly is currently at around 100,000,000 lines of code), as well as the Windows NT kernel (500,000,000 lines of code) and you quickly begin to understand how adding more and more functionality into the most privileged components of the operating system without first removing old components begins to add up in terms of the drastic difference seen between these systems in the number of zero day exploits caught in the wild respectively.</p>
</blockquote>

<hr>

<h3><a href="https://neilkakkar.com/unix.html" target="_blank" rel="nofollow noopener">How Unix Works: Become a Better Software Engineer</a></h3>

<blockquote>
<p>Unix is beautiful. Allow me to paint some happy little trees for you. I’m not going to explain a bunch of commands – that’s boring, and there’s a million tutorials on the web doing that already. I’m going to leave you with the ability to reason about the system.</p>

<p>Every fancy thing you want done is one google search away.</p>

<p>But understanding why the solution does what you want is not the same.</p>

<p>That’s what gives you real power, the power to not be afraid.</p>

<p>And since it rhymes, it must be true.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=freebsd-amd-3970x&amp;num=1" target="_blank" rel="nofollow noopener">FreeBSD 12.1 Runs Refreshingly Well With AMD Ryzen Threadripper 3970X</a></h3>

<blockquote>
<p>For those of you interested in AMD's new Ryzen Threadripper 3960X/3970X processors with TRX40 motherboards for running FreeBSD, the experience in our initial testing has been surprisingly pleasant. In fact, it works out-of-the-box which one could argue is better than the current Linux support that needs the MCE workaround for booting. Here are some benchmarks of FreeBSD 12.1 on the Threadripper 3970X compared to Linux and Windows for this new HEDT platform.</p>

<p>It was refreshing to see FreeBSD 12.1 booting and running just fine with the Ryzen Threadripper 3970X 32-core/64-thread processor from the ASUS ROG ZENITH II EXTREME motherboard and all core functionality working including the PCIe 4.0 NVMe SSD storage, onboard networking, etc. The system was running with 4 x 16GB DDR4-3600 memory, 1TB Corsair Force MP600 NVMe SSD, and Radeon RX 580 graphics. It was refreshing to see FreeBSD 12.1 running well with this high-end AMD Threadripper system considering Linux even needed a boot workaround.</p>

<p>While the FreeBSD 12.1 experience was trouble-free with the ASUS TRX40 motherboard (ROG Zenith II Extreme) and AMD Ryzen Threadripper 3970X, DragonFlyBSD unfortunately was not. Both DragonFlyBSD 5.6.2 stable and the DragonFlyBSD daily development snapshot from last week were yielding a panic on boot. So with that, DragonFlyBSD wasn't tested for this Threadripper 3970X comparison but just FreeBSD 12.1.</p>

<p>FreeBSD 12.1 on the Threadripper 3970X was benchmarked both with its default LLVM Clang 8.0.1 compiler and again with GCC 9.2 from ports for ruling out compiler differences. The FreeBSD 12.1 performance was compared to last week's Windows 10 vs. Linux benchmarks with the same system.</p>
</blockquote>

<hr>

<h3><a href="https://lists.bsdcan.org/pipermail/bsdcan-announce/2019-December/000180.html" target="_blank" rel="nofollow noopener">BSDCan 2020 CFP</a></h3>

<blockquote>
<p>BSDCan 2020 will be held 5-6 (Fri-Sat) June, 2020 in Ottawa, at the University of Ottawa. It will be preceded by two days of tutorials on 3-4 June (Wed-Thu).</p>

<p>NOTE the change of month in 2020 back to June Also: do not miss out on the Goat BOF on Tuesday 2 June.</p>

<p>We are now accepting proposals for talks.  The talks should be designed with a very strong technical content bias. Proposals of a business development or marketing nature are not appropriate for this venue.</p>
</blockquote>

<ul>
<li>See <a href="http://www.bsdcan.org/2020/" target="_blank" rel="nofollow noopener">http://www.bsdcan.org/2020/</a></li>
</ul>

<blockquote>
<p>If you are doing something interesting with a BSD operating system, please submit a proposal. Whether you are developing a very complex system using BSD as the foundation, or helping others and have a story to tell about how BSD played a role, we want to hear about your experience.  People using BSD as a platform for research are also encouraged to submit a proposal. Possible topics include:</p>
</blockquote>

<ul>
<li>How we manage a giant installation with respect to handling spam.</li>
<li>and/or sysadmin.</li>
<li>and/or networking.</li>
<li>Cool new stuff in BSD</li>
<li>Tell us about your project which runs on BSD</li>
<li>other topics (see next paragraph)</li>
</ul>

<blockquote>
<p>From the BSDCan website, the Archives section will allow you to review the wide variety of past BSDCan presentations as further examples.</p>

<p>Both users and developers are encouraged to share their experiences.</p>
</blockquote>

<hr>

<h3><a href="https://github.com/lattera/articles/blob/master/hardenedbsd/2019-12-01_infrastructure/article.md" target="_blank" rel="nofollow noopener">HardenedBSD Infrastructure Goals</a></h3>

<blockquote>
<p>2019 has been an extremely productive year with regards to HardenedBSD's infrastructure. Several opportunities aligned themselves in such a way as to open a door for a near-complete rebuild with a vast expansion.</p>

<p>The last few months especially have seen a major expansion of our infrastructure. We obtained a number of to-be-retired Dell R410 servers. The crash of our nightly build server provided the opportunity to deploy these R410 servers, doubling our build capacity.</p>

<p>My available time to spend on HardenedBSD has decreased compared to this time last year. As part of rebuilding our infrastructure, I wanted to enable the community to be able to contribute. I'm structuring the work such that help is just a pull request away. Those in the HardenedBSD community who want to contribute to the infrastructure work can simply open a pull request. I'll review the code, and deploy it after a successful review. Users/contributors don't need access to our servers in order to improve them.</p>

<p>My primary goal for the rest of 2019 and into 2020 is to become fully self-hosted, with the sole exception of email. I want to transition the source-of-truth git repos to our own infrastructure. We will still provide a read-only mirror on GitHub.</p>

<p>As I develop this infrastructure, I'm doing so with human rights in mind. HardenedBSD is in a very unique position. In 2020, I plan to provide production Tor Onion Services for the various bits of our infrastructure. HardenedBSD will provide access to its various internal services to its developers and contributors. The entire development lifecycle, going from dev to prod, will be able to happen over Tor.</p>

<p>Transparency will be key moving forward. Logs for the auto-sync script are now published directly to GitHub. Build logs will be, soon, too. Logs of all automated processes, and the code for those processes, will be tracked publicly via git. This will be especially crucial for development over Tor.</p>

<p>Integrating Tor into our infrastructure so deeply increases risk and maintenance burden. However, I believe that through added transparency, we will be able to mitigate risk. Periodic audits will need to be performed and published.</p>

<p>I hope to migrate HardenedBSD's site away from Drupal to a static site generator. We don't really need the dynamic capabilities Drupal gives us. The many security issues Drupal and PHP both bring also leave much to be desired.</p>

<p>So, that's about it. I spent the last few months of 2019 laying the foundation for a successful 2020. I'm excited to see how the project grows.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.furybsd.org/kde-plasma-flavor-now-available/" target="_blank" rel="nofollow noopener">FuryBSD - KDE plasma flavor now available</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-November/719945.html" target="_blank" rel="nofollow noopener">DragonFly - git: virtio - Fix LUN scan issue w/ Google Cloud</a></li>
<li><a href="https://wiki.lpi.org/wiki/BSD_Specialist_Objectives_V1.0" target="_blank" rel="nofollow noopener">LPI is looking for BSD Specialist learning material writers</a></li>
<li><a href="https://jrs-s.net/2019/05/02/zfs-sync-async-zil-slog/" target="_blank" rel="nofollow noopener">ZFS sync/async + ZIL/SLOG, explained</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2019-December/001921.html" target="_blank" rel="nofollow noopener">BSD-Licensed Combinatorics library/utility</a></li>
<li><a href="https://dan.langille.org/2019/11/29/ssl-client-vs-server-certificates-and-bacula-fd/" target="_blank" rel="nofollow noopener">SSL client vs server certificates and bacula-fd</a></li>
<li><a href="https://www.facebook.com/maxxdesktop/posts/2761326693888282" target="_blank" rel="nofollow noopener">MaxxDesktop planning to come to FreeBSD</a>  <a href="https://www.facebook.com/maxxdesktop/" target="_blank" rel="nofollow noopener">Project Page</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Tom - <a href="http://dpaste.com/3ZGYNS3#wrap" target="_blank" rel="nofollow noopener">ZFS Mirror with different speeds</a></li>
<li>Jeff - <a href="http://dpaste.com/1H9QDCR#wrap" target="_blank" rel="nofollow noopener">Knowledge is power</a></li>
<li>Johnny - <a href="http://dpaste.com/1A7Q9EV" target="_blank" rel="nofollow noopener">Episode 324 response to Jacob</a></li>
<li>Pat - <a href="http://dpaste.com/0QPZ2GC" target="_blank" rel="nofollow noopener">NYC*BUG meeting Jan Meeting Location</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0331.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>330: Happy Holidays, All(an)</title>
  <link>https://www.bsdnow.tv/330</link>
  <guid isPermaLink="false">af84425c-c562-4d3b-b28c-cce7a148a3ad</guid>
  <pubDate>Thu, 26 Dec 2019 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/af84425c-c562-4d3b-b28c-cce7a148a3ad.mp3" length="54074955" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Authentication Vulnerabilities in OpenBSD, NetBSD 9.0 RC1 is available, Running FreeNAS on a DigitalOcean droplet, NomadBSD 1.3 is here, at e2k19 nobody can hear you scream, and more.</itunes:subtitle>
  <itunes:duration>1:15:06</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>&lt;p&gt;Authentication Vulnerabilities in OpenBSD, NetBSD 9.0 RC1 is available, Running FreeNAS on a DigitalOcean droplet, NomadBSD 1.3 is here, at e2k19 nobody can hear you scream, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.openwall.com/lists/oss-security/2019/12/04/5" target="_blank" rel="nofollow noopener"&gt;Authentication vulnerabilities in OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We discovered an authentication-bypass vulnerability in OpenBSD's authentication system: this vulnerability is remotely exploitable in smtpd, ldapd, and radiusd, but its real-world impact should be studied on a case-by-case basis. For example, sshd is not exploitable thanks to its defense-in-depth mechanisms.&lt;/li&gt;
&lt;li&gt;From the manual page of login.conf:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenBSD uses BSD Authentication, which is made up of a variety of authentication styles.  The authentication styles currently provided are:&lt;br&gt;
         passwd     Request a password and check it against the password in the master.passwd file.  See login_passwd(8).&lt;br&gt;
         skey       Send a challenge and request a response, checking it with S/Key (tm) authentication.  See login_skey(8).&lt;br&gt;
         yubikey    Authenticate using a Yubico YubiKey token.  See login_yubikey(8).&lt;br&gt;
         For any given style, the program /usr/libexec/auth/login_style is used to&lt;br&gt;
         perform the authentication.  The synopsis of this program is:&lt;br&gt;
         /usr/libexec/auth/login_style [-v name=value] [-s service] username class&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This is the first piece of the puzzle: if an attacker specifies a username of the form "-option", they can influence the behavior of the authentication program in unexpected ways.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt; login_passwd [-s service] [-v wheel=yes|no] [-v lastchance=yes|no] user [class] The service argument specifies which protocol to use with the invoking program.  The allowed protocols are login, challenge, and response.  (The challenge protocol is silently ignored but will report success as passwd-style authentication is not challenge-response based).
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This is the second piece of the puzzle: if an attacker specifies the username "-schallenge" (or "-schallenge:passwd" to force a passwd-style authentication), then the authentication is automatically successful and therefore bypassed.&lt;/li&gt;
&lt;li&gt;Case study: smtpd&lt;/li&gt;
&lt;li&gt;Case study: ldapd&lt;/li&gt;
&lt;li&gt;Case study: radiusd&lt;/li&gt;
&lt;li&gt;Case study: sshd&lt;/li&gt;
&lt;li&gt;Acknowledgments: We thank Theo de Raadt and the OpenBSD developers for their incredibly quick response: they published patches for these vulnerabilities less than 40 hours after our initial contact. We also thank MITRE's CVE Assignment Team.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/first_release_candidate_for_netbsd" target="_blank" rel="nofollow noopener"&gt;First release candidate for NetBSD 9.0 available!&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Since the start of the release process four months ago a lot of improvements went into the branch - more than 500 pullups were processed!&lt;/li&gt;
&lt;li&gt;This includes usbnet (a common framework for usb ethernet drivers), aarch64 stability enhancements and lots of new hardware support, installer/sysinst fixes and changes to the NVMM (hardware virtualization) interface.&lt;/li&gt;
&lt;li&gt;We hope this will lead to the best NetBSD release ever (only to be topped by NetBSD 10 next year).&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Here are a few highlights of the new release:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Support for Arm AArch64 (64-bit Armv8-A) machines, including "Arm ServerReady"&lt;br&gt;
compliant machines (SBBR+SBSA)&lt;br&gt;
Enhanced hardware support for Armv7-A&lt;br&gt;
Updated GPU drivers (e.g. support for Intel Kabylake)&lt;br&gt;
Enhanced virtualization support&lt;br&gt;
Support for hardware-accelerated virtualization (NVMM)&lt;br&gt;
Support for Performance Monitoring Counters&lt;br&gt;
Support for Kernel ASLR&lt;br&gt;
Support several kernel sanitizers (KLEAK, KASAN, KUBSAN)&lt;br&gt;
Support for userland sanitizers&lt;br&gt;
Audit of the network stack&lt;br&gt;
Many improvements in NPF&lt;br&gt;
Updated ZFS&lt;br&gt;
Reworked error handling and NCQ support in the SATA subsystem&lt;br&gt;
Support a common framework for USB Ethernet drivers (usbnet)&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;More information on the RC can be found on the &lt;a href="https://www.netbsd.org/releases/formal-9/NetBSD-9.0.html" target="_blank" rel="nofollow noopener"&gt;NetBSD 9 release page&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.shlomimarco.com/post/running-freenas-on-a-digitalocean-droplet" target="_blank" rel="nofollow noopener"&gt;Running FreeNAS on a Digitalocean droplet&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;ZFS is awesome. FreeBSD even more so. FreeNAS is the battle-tested, enterprise-ready-yet-home-user-friendly software defined storage solution which is cooler then deep space, based on FreeBSD and makes heavy use of ZFS. This is what I (and soooooo many others) use for just about any storage-related task. I can go on and on and on about what makes it great, but if you're here, reading this, you probably know all that already and we can skip ahead.&lt;/li&gt;
&lt;li&gt;I've needed an offsite FreeNAS setup to replicate things to, to run some things, to do some stuff, basically, my privately-owned, tightly-controlled NAS appliance in the cloud, one I control from top to bottom and with support for whatever crazy thing I'm trying to do. Since I'm using DigitalOcean as my main VPS provider, it seemed logical to run FreeNAS there, however, you can't. While DO supports many many distos and pre-setup applications (e.g OpenVPN), FreeNAS isn't a supported feature, at least not in the traditional way :)&lt;/li&gt;
&lt;li&gt;Before we begin, here's the gist of what we're going to do:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Base of a FreeBSD droplet, we'll re-image our boot block device with FreeNAS iso. We'll then install FreeNAS on the second block device. Once done we're going to do the ol' switcheroo: we're going to re-image our original boot block device using the now FreeNAS-installed second block device. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Part 1: re-image our boot block device to boot FreeNAS install media.&lt;/li&gt;
&lt;li&gt;Part 2: Install FreeNAS on the second block-device&lt;/li&gt;
&lt;li&gt;Part 3: Re-image the boot block device using the FreeNAS-installed block device&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://nomadbsd.org/" target="_blank" rel="nofollow noopener"&gt;NomadBSD 1.3 is now available&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;From the release notes:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The base system has been changed to FreeBSD 12.1-RELEASE-p1&lt;br&gt;
 Due to a deadlock problem, FreeBSD's unionfs has been replaced by unionfs-fuse&lt;br&gt;
 The GPT layout has been changed to MBR. This prevents problems with Lenovo&lt;br&gt;
 systems that refuse to boot from GPT if "lenovofix" is not set, and systems that&lt;br&gt;
 hang on boot if "lenovofix" is set.&lt;br&gt;
 Support for ZFS installations has been added to the NomadBSD installer.&lt;br&gt;
 The rc-script for setting up the network interfaces has been fixed and improved.&lt;br&gt;
 Support for setting the country code for the wlan device has been added.&lt;br&gt;
 Auto configuration for running in VirtualBox has been added.&lt;br&gt;
 A check for the default display has been added to the graphics configuration scripts. This fixes problems where users with Optimus have their NVIDIA card disabled, and use the integrated graphics chip instead.&lt;br&gt;
 NVIDIA driver version 440 has been added.&lt;br&gt;
 nomadbsd-dmconfig, a Qt tool for selecting the display manager theme, setting the&lt;br&gt;
default user and autologin has been added.&lt;br&gt;
 nomadbsd-adduser, a Qt tool for added preconfigured user accounts to the system has been added.&lt;br&gt;
 Martin Orszulik added Czech translations to the setup and installation wizard.&lt;br&gt;
 The NomadBSD logo, designed by Ian Grindley, has been changed.&lt;br&gt;
 Support for localized error messages has been added.&lt;br&gt;
 Support for localizing the password prompts has been added.&lt;br&gt;
 Some templates for starting other DEs have been added to ~/.xinitrc.&lt;br&gt;
 The interfaces of nomadbsd-setup-gui and nomadbsd-install-gui have been improved.&lt;br&gt;
 A script that helps users to configure a multihead systems has been added.&lt;br&gt;
 The Xorg driver for newer Intel GPUs has been changed from "intel" to "modesetting".&lt;br&gt;
 /proc has been added to /etc/fstab&lt;br&gt;
 A D-Bus session issue has been fixed which prevented thunar from accessing  samba shares.&lt;br&gt;
 DSBBg which allows users to change and manage wallpapers has been added.&lt;br&gt;
 The latest version of update_obmenu now supports auto-updating the Openbox menu. Manually updating the Openbox menu after packet (de)installation is therefore no longer needed.&lt;/p&gt;

&lt;p&gt;Support for multiple keyboard layouts has been added.&lt;br&gt;
 www/palemoon has been removed.&lt;br&gt;
 mail/thunderbird has been removed.&lt;br&gt;
 audio/audacity has been added.&lt;br&gt;
 deskutils/orage has been added.&lt;br&gt;
 the password manager fpm2 has been replaced by KeePassXC&lt;br&gt;
 mail/sylpheed has been replaced by mail/claws-mail&lt;br&gt;
 multimedia/simplescreenrecorder has been added.&lt;br&gt;
 DSBMC has been changed to DSBMC-Qt&lt;br&gt;
 Many small improvements and bug fixes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20191204170908" target="_blank" rel="nofollow noopener"&gt;At e2k19 nobody can hear you scream&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;After 2 years it was once again time to pack skis and snowshoes, put a satellite dish onto a sledge and hike through the snowy rockies to the Elk Lakes hut.&lt;/li&gt;
&lt;li&gt;I did not really have much of a plan what I wanted to work on but there were a few things I wanted to look into. One of them was rpki-client and the fact that it was so incredibly slow. Since Bob beck@ was around I started to ask him innocent X509 questions ... as if there are innocent X509 questions! Mainly about the abuse of the X509_STORE in rpki-client. Pretty soon it was clear that rpki-client did it all wrong and most of the X509 verification had to be rewritten. Instead of only storing the root certificates in the store and passing the intermediate certs as a chain to the verification function rpki-client threw everything into it. The X509_STORE is just not built for such an abuse and so it was no wonder that this was slow.&lt;/li&gt;
&lt;li&gt;Lucky me I pulled benno@ with me into this dark hole of libcrypto code. He managed to build up an initial diff to pass the chains as a STACK_OF(X509) and together we managed to get it working. A big thanks goes to ingo@ who documented most of the functions we had to use. Have a look at STACK_OF(3) and sk_pop_free(3) to understand why benno@ and I slowly turned crazy.&lt;/li&gt;
&lt;li&gt;Our next challenge was to only load the necessary certificate revocation list into the X509_STORE_CTX. While doing those changes it became obvious that some of the data structures needed better lookup functions. Looking up certificates was done using a linear lookup and so we replaced the internal certificate and CRL tables with RB trees for fast lookups. deraadt@ also joined the rpki-client commit fest and changed the output code to use rename(2) so that files are replaced in an atomic operation. Thanks to this rpki-client can now be safely run from cron (there is an example in the default crontab).&lt;/li&gt;
&lt;li&gt;I did not plan to spend most of my week hacking on rpki-client but in the end I'm happy that I did and the result is fairly impressive. Working with libcrypto code and especially X509 was less than pleasant. Our screams of agony died away in the snowy rocky mountains and made Bob deep dive into UVM with a smile since he knew that benno@ and I had it worse.&lt;/li&gt;
&lt;li&gt;In case you wonder thanks to all changes at e2k19 rpki-client improved from over 20min run time to validate all VRPS to roughly 1min to do the same job. A factor 20 improvement!&lt;/li&gt;
&lt;li&gt;Thanks to Theo, Bob and Howie to make this possible. To all the cooks for the great food and to Xplornet for providing us with Internet at the hut.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://fosdem.org/2020/schedule/track/bsd/" target="_blank" rel="nofollow noopener"&gt;FOSDEM 2020 BSD Devroom schedule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/freebsd/how-to-guides/easy-minecraft-server-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Easy Minecraft Server on FreeBSD Howto&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=355304" target="_blank" rel="nofollow noopener"&gt;stats(3) framework in the TCP stack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/EdwinKremer/status/1203071684535889921" target="_blank" rel="nofollow noopener"&gt;4017 days of uptime&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/emilengler/sysget" target="_blank" rel="nofollow noopener"&gt;sysget - A front-end for every package manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.playonbsd.com/shopping_guide/" target="_blank" rel="nofollow noopener"&gt;PlayOnBSD’s Cross-BSD Shopping Guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2FDN26X#wrap" target="_blank" rel="nofollow noopener"&gt;Pat asks about the proper disk drive type for ZFS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2X8PBMC#wrap" target="_blank" rel="nofollow noopener"&gt;Brad asks about a ZFS rosetta stone&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;br&gt;
    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0330.mp4" type="video/mp4"&gt;&lt;br&gt;
    Your browser does not support the HTML5 video tag.&lt;br&gt;
 Special Guest: Mariusz Zaborski.&lt;/p&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, Authentication, vulnerabilities, release candidate, digitalocean, droplet, freenas, nomadbsd, e2k19, hackathon</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Authentication Vulnerabilities in OpenBSD, NetBSD 9.0 RC1 is available, Running FreeNAS on a DigitalOcean droplet, NomadBSD 1.3 is here, at e2k19 nobody can hear you scream, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.openwall.com/lists/oss-security/2019/12/04/5" target="_blank" rel="nofollow noopener">Authentication vulnerabilities in OpenBSD</a></h3>

<ul>
<li>We discovered an authentication-bypass vulnerability in OpenBSD's authentication system: this vulnerability is remotely exploitable in smtpd, ldapd, and radiusd, but its real-world impact should be studied on a case-by-case basis. For example, sshd is not exploitable thanks to its defense-in-depth mechanisms.</li>
<li>From the manual page of login.conf:</li>
</ul>

<blockquote>
<p>OpenBSD uses BSD Authentication, which is made up of a variety of authentication styles.  The authentication styles currently provided are:<br>
         passwd     Request a password and check it against the password in the master.passwd file.  See login_passwd(8).<br>
         skey       Send a challenge and request a response, checking it with S/Key (tm) authentication.  See login_skey(8).<br>
         yubikey    Authenticate using a Yubico YubiKey token.  See login_yubikey(8).<br>
         For any given style, the program /usr/libexec/auth/login_style is used to<br>
         perform the authentication.  The synopsis of this program is:<br>
         /usr/libexec/auth/login_style [-v name=value] [-s service] username class</p>
</blockquote>

<ul>
<li>This is the first piece of the puzzle: if an attacker specifies a username of the form "-option", they can influence the behavior of the authentication program in unexpected ways.</li>
</ul>

<blockquote>
<pre><code> login_passwd [-s service] [-v wheel=yes|no] [-v lastchance=yes|no] user [class] The service argument specifies which protocol to use with the invoking program.  The allowed protocols are login, challenge, and response.  (The challenge protocol is silently ignored but will report success as passwd-style authentication is not challenge-response based).
</code></pre>
</blockquote>

<ul>
<li>This is the second piece of the puzzle: if an attacker specifies the username "-schallenge" (or "-schallenge:passwd" to force a passwd-style authentication), then the authentication is automatically successful and therefore bypassed.</li>
<li>Case study: smtpd</li>
<li>Case study: ldapd</li>
<li>Case study: radiusd</li>
<li>Case study: sshd</li>
<li>Acknowledgments: We thank Theo de Raadt and the OpenBSD developers for their incredibly quick response: they published patches for these vulnerabilities less than 40 hours after our initial contact. We also thank MITRE's CVE Assignment Team.</li>
</ul>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/first_release_candidate_for_netbsd" target="_blank" rel="nofollow noopener">First release candidate for NetBSD 9.0 available!</a></h3>

<ul>
<li>Since the start of the release process four months ago a lot of improvements went into the branch - more than 500 pullups were processed!</li>
<li>This includes usbnet (a common framework for usb ethernet drivers), aarch64 stability enhancements and lots of new hardware support, installer/sysinst fixes and changes to the NVMM (hardware virtualization) interface.</li>
<li>We hope this will lead to the best NetBSD release ever (only to be topped by NetBSD 10 next year).</li>
<li><p>Here are a few highlights of the new release:</p>

<blockquote>
<p>Support for Arm AArch64 (64-bit Armv8-A) machines, including "Arm ServerReady"<br>
compliant machines (SBBR+SBSA)<br>
Enhanced hardware support for Armv7-A<br>
Updated GPU drivers (e.g. support for Intel Kabylake)<br>
Enhanced virtualization support<br>
Support for hardware-accelerated virtualization (NVMM)<br>
Support for Performance Monitoring Counters<br>
Support for Kernel ASLR<br>
Support several kernel sanitizers (KLEAK, KASAN, KUBSAN)<br>
Support for userland sanitizers<br>
Audit of the network stack<br>
Many improvements in NPF<br>
Updated ZFS<br>
Reworked error handling and NCQ support in the SATA subsystem<br>
Support a common framework for USB Ethernet drivers (usbnet)</p>
</blockquote></li>
<li><p>More information on the RC can be found on the <a href="https://www.netbsd.org/releases/formal-9/NetBSD-9.0.html" target="_blank" rel="nofollow noopener">NetBSD 9 release page</a></p></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.shlomimarco.com/post/running-freenas-on-a-digitalocean-droplet" target="_blank" rel="nofollow noopener">Running FreeNAS on a Digitalocean droplet</a></h3>

<ul>
<li>ZFS is awesome. FreeBSD even more so. FreeNAS is the battle-tested, enterprise-ready-yet-home-user-friendly software defined storage solution which is cooler then deep space, based on FreeBSD and makes heavy use of ZFS. This is what I (and soooooo many others) use for just about any storage-related task. I can go on and on and on about what makes it great, but if you're here, reading this, you probably know all that already and we can skip ahead.</li>
<li>I've needed an offsite FreeNAS setup to replicate things to, to run some things, to do some stuff, basically, my privately-owned, tightly-controlled NAS appliance in the cloud, one I control from top to bottom and with support for whatever crazy thing I'm trying to do. Since I'm using DigitalOcean as my main VPS provider, it seemed logical to run FreeNAS there, however, you can't. While DO supports many many distos and pre-setup applications (e.g OpenVPN), FreeNAS isn't a supported feature, at least not in the traditional way :)</li>
<li>Before we begin, here's the gist of what we're going to do:</li>
</ul>

<blockquote>
<p>Base of a FreeBSD droplet, we'll re-image our boot block device with FreeNAS iso. We'll then install FreeNAS on the second block device. Once done we're going to do the ol' switcheroo: we're going to re-image our original boot block device using the now FreeNAS-installed second block device. </p>
</blockquote>

<ul>
<li>Part 1: re-image our boot block device to boot FreeNAS install media.</li>
<li>Part 2: Install FreeNAS on the second block-device</li>
<li>Part 3: Re-image the boot block device using the FreeNAS-installed block device</li>
</ul>

<hr>

<h3><a href="https://nomadbsd.org/" target="_blank" rel="nofollow noopener">NomadBSD 1.3 is now available</a></h3>

<ul>
<li>From the release notes:</li>
</ul>

<blockquote>
<p>The base system has been changed to FreeBSD 12.1-RELEASE-p1<br>
 Due to a deadlock problem, FreeBSD's unionfs has been replaced by unionfs-fuse<br>
 The GPT layout has been changed to MBR. This prevents problems with Lenovo<br>
 systems that refuse to boot from GPT if "lenovofix" is not set, and systems that<br>
 hang on boot if "lenovofix" is set.<br>
 Support for ZFS installations has been added to the NomadBSD installer.<br>
 The rc-script for setting up the network interfaces has been fixed and improved.<br>
 Support for setting the country code for the wlan device has been added.<br>
 Auto configuration for running in VirtualBox has been added.<br>
 A check for the default display has been added to the graphics configuration scripts. This fixes problems where users with Optimus have their NVIDIA card disabled, and use the integrated graphics chip instead.<br>
 NVIDIA driver version 440 has been added.<br>
 nomadbsd-dmconfig, a Qt tool for selecting the display manager theme, setting the<br>
default user and autologin has been added.<br>
 nomadbsd-adduser, a Qt tool for added preconfigured user accounts to the system has been added.<br>
 Martin Orszulik added Czech translations to the setup and installation wizard.<br>
 The NomadBSD logo, designed by Ian Grindley, has been changed.<br>
 Support for localized error messages has been added.<br>
 Support for localizing the password prompts has been added.<br>
 Some templates for starting other DEs have been added to ~/.xinitrc.<br>
 The interfaces of nomadbsd-setup-gui and nomadbsd-install-gui have been improved.<br>
 A script that helps users to configure a multihead systems has been added.<br>
 The Xorg driver for newer Intel GPUs has been changed from "intel" to "modesetting".<br>
 /proc has been added to /etc/fstab<br>
 A D-Bus session issue has been fixed which prevented thunar from accessing  samba shares.<br>
 DSBBg which allows users to change and manage wallpapers has been added.<br>
 The latest version of update_obmenu now supports auto-updating the Openbox menu. Manually updating the Openbox menu after packet (de)installation is therefore no longer needed.</p>

<p>Support for multiple keyboard layouts has been added.<br>
 www/palemoon has been removed.<br>
 mail/thunderbird has been removed.<br>
 audio/audacity has been added.<br>
 deskutils/orage has been added.<br>
 the password manager fpm2 has been replaced by KeePassXC<br>
 mail/sylpheed has been replaced by mail/claws-mail<br>
 multimedia/simplescreenrecorder has been added.<br>
 DSBMC has been changed to DSBMC-Qt<br>
 Many small improvements and bug fixes.</p>
</blockquote>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20191204170908" target="_blank" rel="nofollow noopener">At e2k19 nobody can hear you scream</a></h3>

<ul>
<li>After 2 years it was once again time to pack skis and snowshoes, put a satellite dish onto a sledge and hike through the snowy rockies to the Elk Lakes hut.</li>
<li>I did not really have much of a plan what I wanted to work on but there were a few things I wanted to look into. One of them was rpki-client and the fact that it was so incredibly slow. Since Bob beck@ was around I started to ask him innocent X509 questions ... as if there are innocent X509 questions! Mainly about the abuse of the X509_STORE in rpki-client. Pretty soon it was clear that rpki-client did it all wrong and most of the X509 verification had to be rewritten. Instead of only storing the root certificates in the store and passing the intermediate certs as a chain to the verification function rpki-client threw everything into it. The X509_STORE is just not built for such an abuse and so it was no wonder that this was slow.</li>
<li>Lucky me I pulled benno@ with me into this dark hole of libcrypto code. He managed to build up an initial diff to pass the chains as a STACK_OF(X509) and together we managed to get it working. A big thanks goes to ingo@ who documented most of the functions we had to use. Have a look at STACK_OF(3) and sk_pop_free(3) to understand why benno@ and I slowly turned crazy.</li>
<li>Our next challenge was to only load the necessary certificate revocation list into the X509_STORE_CTX. While doing those changes it became obvious that some of the data structures needed better lookup functions. Looking up certificates was done using a linear lookup and so we replaced the internal certificate and CRL tables with RB trees for fast lookups. deraadt@ also joined the rpki-client commit fest and changed the output code to use rename(2) so that files are replaced in an atomic operation. Thanks to this rpki-client can now be safely run from cron (there is an example in the default crontab).</li>
<li>I did not plan to spend most of my week hacking on rpki-client but in the end I'm happy that I did and the result is fairly impressive. Working with libcrypto code and especially X509 was less than pleasant. Our screams of agony died away in the snowy rocky mountains and made Bob deep dive into UVM with a smile since he knew that benno@ and I had it worse.</li>
<li>In case you wonder thanks to all changes at e2k19 rpki-client improved from over 20min run time to validate all VRPS to roughly 1min to do the same job. A factor 20 improvement!</li>
<li>Thanks to Theo, Bob and Howie to make this possible. To all the cooks for the great food and to Xplornet for providing us with Internet at the hut.</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://fosdem.org/2020/schedule/track/bsd/" target="_blank" rel="nofollow noopener">FOSDEM 2020 BSD Devroom schedule</a></li>
<li><a href="https://www.freebsdfoundation.org/freebsd/how-to-guides/easy-minecraft-server-on-freebsd/" target="_blank" rel="nofollow noopener">Easy Minecraft Server on FreeBSD Howto</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=355304" target="_blank" rel="nofollow noopener">stats(3) framework in the TCP stack</a></li>
<li><a href="https://twitter.com/EdwinKremer/status/1203071684535889921" target="_blank" rel="nofollow noopener">4017 days of uptime</a></li>
<li><a href="https://github.com/emilengler/sysget" target="_blank" rel="nofollow noopener">sysget - A front-end for every package manager</a></li>
<li><a href="https://www.playonbsd.com/shopping_guide/" target="_blank" rel="nofollow noopener">PlayOnBSD’s Cross-BSD Shopping Guide</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2FDN26X#wrap" target="_blank" rel="nofollow noopener">Pat asks about the proper disk drive type for ZFS</a></li>
<li><a href="http://dpaste.com/2X8PBMC#wrap" target="_blank" rel="nofollow noopener">Brad asks about a ZFS rosetta stone</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0330.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
<p>Special Guest: Mariusz Zaborski.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Authentication Vulnerabilities in OpenBSD, NetBSD 9.0 RC1 is available, Running FreeNAS on a DigitalOcean droplet, NomadBSD 1.3 is here, at e2k19 nobody can hear you scream, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.openwall.com/lists/oss-security/2019/12/04/5" target="_blank" rel="nofollow noopener">Authentication vulnerabilities in OpenBSD</a></h3>

<ul>
<li>We discovered an authentication-bypass vulnerability in OpenBSD's authentication system: this vulnerability is remotely exploitable in smtpd, ldapd, and radiusd, but its real-world impact should be studied on a case-by-case basis. For example, sshd is not exploitable thanks to its defense-in-depth mechanisms.</li>
<li>From the manual page of login.conf:</li>
</ul>

<blockquote>
<p>OpenBSD uses BSD Authentication, which is made up of a variety of authentication styles.  The authentication styles currently provided are:<br>
         passwd     Request a password and check it against the password in the master.passwd file.  See login_passwd(8).<br>
         skey       Send a challenge and request a response, checking it with S/Key (tm) authentication.  See login_skey(8).<br>
         yubikey    Authenticate using a Yubico YubiKey token.  See login_yubikey(8).<br>
         For any given style, the program /usr/libexec/auth/login_style is used to<br>
         perform the authentication.  The synopsis of this program is:<br>
         /usr/libexec/auth/login_style [-v name=value] [-s service] username class</p>
</blockquote>

<ul>
<li>This is the first piece of the puzzle: if an attacker specifies a username of the form "-option", they can influence the behavior of the authentication program in unexpected ways.</li>
</ul>

<blockquote>
<pre><code> login_passwd [-s service] [-v wheel=yes|no] [-v lastchance=yes|no] user [class] The service argument specifies which protocol to use with the invoking program.  The allowed protocols are login, challenge, and response.  (The challenge protocol is silently ignored but will report success as passwd-style authentication is not challenge-response based).
</code></pre>
</blockquote>

<ul>
<li>This is the second piece of the puzzle: if an attacker specifies the username "-schallenge" (or "-schallenge:passwd" to force a passwd-style authentication), then the authentication is automatically successful and therefore bypassed.</li>
<li>Case study: smtpd</li>
<li>Case study: ldapd</li>
<li>Case study: radiusd</li>
<li>Case study: sshd</li>
<li>Acknowledgments: We thank Theo de Raadt and the OpenBSD developers for their incredibly quick response: they published patches for these vulnerabilities less than 40 hours after our initial contact. We also thank MITRE's CVE Assignment Team.</li>
</ul>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/first_release_candidate_for_netbsd" target="_blank" rel="nofollow noopener">First release candidate for NetBSD 9.0 available!</a></h3>

<ul>
<li>Since the start of the release process four months ago a lot of improvements went into the branch - more than 500 pullups were processed!</li>
<li>This includes usbnet (a common framework for usb ethernet drivers), aarch64 stability enhancements and lots of new hardware support, installer/sysinst fixes and changes to the NVMM (hardware virtualization) interface.</li>
<li>We hope this will lead to the best NetBSD release ever (only to be topped by NetBSD 10 next year).</li>
<li><p>Here are a few highlights of the new release:</p>

<blockquote>
<p>Support for Arm AArch64 (64-bit Armv8-A) machines, including "Arm ServerReady"<br>
compliant machines (SBBR+SBSA)<br>
Enhanced hardware support for Armv7-A<br>
Updated GPU drivers (e.g. support for Intel Kabylake)<br>
Enhanced virtualization support<br>
Support for hardware-accelerated virtualization (NVMM)<br>
Support for Performance Monitoring Counters<br>
Support for Kernel ASLR<br>
Support several kernel sanitizers (KLEAK, KASAN, KUBSAN)<br>
Support for userland sanitizers<br>
Audit of the network stack<br>
Many improvements in NPF<br>
Updated ZFS<br>
Reworked error handling and NCQ support in the SATA subsystem<br>
Support a common framework for USB Ethernet drivers (usbnet)</p>
</blockquote></li>
<li><p>More information on the RC can be found on the <a href="https://www.netbsd.org/releases/formal-9/NetBSD-9.0.html" target="_blank" rel="nofollow noopener">NetBSD 9 release page</a></p></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.shlomimarco.com/post/running-freenas-on-a-digitalocean-droplet" target="_blank" rel="nofollow noopener">Running FreeNAS on a Digitalocean droplet</a></h3>

<ul>
<li>ZFS is awesome. FreeBSD even more so. FreeNAS is the battle-tested, enterprise-ready-yet-home-user-friendly software defined storage solution which is cooler then deep space, based on FreeBSD and makes heavy use of ZFS. This is what I (and soooooo many others) use for just about any storage-related task. I can go on and on and on about what makes it great, but if you're here, reading this, you probably know all that already and we can skip ahead.</li>
<li>I've needed an offsite FreeNAS setup to replicate things to, to run some things, to do some stuff, basically, my privately-owned, tightly-controlled NAS appliance in the cloud, one I control from top to bottom and with support for whatever crazy thing I'm trying to do. Since I'm using DigitalOcean as my main VPS provider, it seemed logical to run FreeNAS there, however, you can't. While DO supports many many distos and pre-setup applications (e.g OpenVPN), FreeNAS isn't a supported feature, at least not in the traditional way :)</li>
<li>Before we begin, here's the gist of what we're going to do:</li>
</ul>

<blockquote>
<p>Base of a FreeBSD droplet, we'll re-image our boot block device with FreeNAS iso. We'll then install FreeNAS on the second block device. Once done we're going to do the ol' switcheroo: we're going to re-image our original boot block device using the now FreeNAS-installed second block device. </p>
</blockquote>

<ul>
<li>Part 1: re-image our boot block device to boot FreeNAS install media.</li>
<li>Part 2: Install FreeNAS on the second block-device</li>
<li>Part 3: Re-image the boot block device using the FreeNAS-installed block device</li>
</ul>

<hr>

<h3><a href="https://nomadbsd.org/" target="_blank" rel="nofollow noopener">NomadBSD 1.3 is now available</a></h3>

<ul>
<li>From the release notes:</li>
</ul>

<blockquote>
<p>The base system has been changed to FreeBSD 12.1-RELEASE-p1<br>
 Due to a deadlock problem, FreeBSD's unionfs has been replaced by unionfs-fuse<br>
 The GPT layout has been changed to MBR. This prevents problems with Lenovo<br>
 systems that refuse to boot from GPT if "lenovofix" is not set, and systems that<br>
 hang on boot if "lenovofix" is set.<br>
 Support for ZFS installations has been added to the NomadBSD installer.<br>
 The rc-script for setting up the network interfaces has been fixed and improved.<br>
 Support for setting the country code for the wlan device has been added.<br>
 Auto configuration for running in VirtualBox has been added.<br>
 A check for the default display has been added to the graphics configuration scripts. This fixes problems where users with Optimus have their NVIDIA card disabled, and use the integrated graphics chip instead.<br>
 NVIDIA driver version 440 has been added.<br>
 nomadbsd-dmconfig, a Qt tool for selecting the display manager theme, setting the<br>
default user and autologin has been added.<br>
 nomadbsd-adduser, a Qt tool for added preconfigured user accounts to the system has been added.<br>
 Martin Orszulik added Czech translations to the setup and installation wizard.<br>
 The NomadBSD logo, designed by Ian Grindley, has been changed.<br>
 Support for localized error messages has been added.<br>
 Support for localizing the password prompts has been added.<br>
 Some templates for starting other DEs have been added to ~/.xinitrc.<br>
 The interfaces of nomadbsd-setup-gui and nomadbsd-install-gui have been improved.<br>
 A script that helps users to configure a multihead systems has been added.<br>
 The Xorg driver for newer Intel GPUs has been changed from "intel" to "modesetting".<br>
 /proc has been added to /etc/fstab<br>
 A D-Bus session issue has been fixed which prevented thunar from accessing  samba shares.<br>
 DSBBg which allows users to change and manage wallpapers has been added.<br>
 The latest version of update_obmenu now supports auto-updating the Openbox menu. Manually updating the Openbox menu after packet (de)installation is therefore no longer needed.</p>

<p>Support for multiple keyboard layouts has been added.<br>
 www/palemoon has been removed.<br>
 mail/thunderbird has been removed.<br>
 audio/audacity has been added.<br>
 deskutils/orage has been added.<br>
 the password manager fpm2 has been replaced by KeePassXC<br>
 mail/sylpheed has been replaced by mail/claws-mail<br>
 multimedia/simplescreenrecorder has been added.<br>
 DSBMC has been changed to DSBMC-Qt<br>
 Many small improvements and bug fixes.</p>
</blockquote>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20191204170908" target="_blank" rel="nofollow noopener">At e2k19 nobody can hear you scream</a></h3>

<ul>
<li>After 2 years it was once again time to pack skis and snowshoes, put a satellite dish onto a sledge and hike through the snowy rockies to the Elk Lakes hut.</li>
<li>I did not really have much of a plan what I wanted to work on but there were a few things I wanted to look into. One of them was rpki-client and the fact that it was so incredibly slow. Since Bob beck@ was around I started to ask him innocent X509 questions ... as if there are innocent X509 questions! Mainly about the abuse of the X509_STORE in rpki-client. Pretty soon it was clear that rpki-client did it all wrong and most of the X509 verification had to be rewritten. Instead of only storing the root certificates in the store and passing the intermediate certs as a chain to the verification function rpki-client threw everything into it. The X509_STORE is just not built for such an abuse and so it was no wonder that this was slow.</li>
<li>Lucky me I pulled benno@ with me into this dark hole of libcrypto code. He managed to build up an initial diff to pass the chains as a STACK_OF(X509) and together we managed to get it working. A big thanks goes to ingo@ who documented most of the functions we had to use. Have a look at STACK_OF(3) and sk_pop_free(3) to understand why benno@ and I slowly turned crazy.</li>
<li>Our next challenge was to only load the necessary certificate revocation list into the X509_STORE_CTX. While doing those changes it became obvious that some of the data structures needed better lookup functions. Looking up certificates was done using a linear lookup and so we replaced the internal certificate and CRL tables with RB trees for fast lookups. deraadt@ also joined the rpki-client commit fest and changed the output code to use rename(2) so that files are replaced in an atomic operation. Thanks to this rpki-client can now be safely run from cron (there is an example in the default crontab).</li>
<li>I did not plan to spend most of my week hacking on rpki-client but in the end I'm happy that I did and the result is fairly impressive. Working with libcrypto code and especially X509 was less than pleasant. Our screams of agony died away in the snowy rocky mountains and made Bob deep dive into UVM with a smile since he knew that benno@ and I had it worse.</li>
<li>In case you wonder thanks to all changes at e2k19 rpki-client improved from over 20min run time to validate all VRPS to roughly 1min to do the same job. A factor 20 improvement!</li>
<li>Thanks to Theo, Bob and Howie to make this possible. To all the cooks for the great food and to Xplornet for providing us with Internet at the hut.</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://fosdem.org/2020/schedule/track/bsd/" target="_blank" rel="nofollow noopener">FOSDEM 2020 BSD Devroom schedule</a></li>
<li><a href="https://www.freebsdfoundation.org/freebsd/how-to-guides/easy-minecraft-server-on-freebsd/" target="_blank" rel="nofollow noopener">Easy Minecraft Server on FreeBSD Howto</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=355304" target="_blank" rel="nofollow noopener">stats(3) framework in the TCP stack</a></li>
<li><a href="https://twitter.com/EdwinKremer/status/1203071684535889921" target="_blank" rel="nofollow noopener">4017 days of uptime</a></li>
<li><a href="https://github.com/emilengler/sysget" target="_blank" rel="nofollow noopener">sysget - A front-end for every package manager</a></li>
<li><a href="https://www.playonbsd.com/shopping_guide/" target="_blank" rel="nofollow noopener">PlayOnBSD’s Cross-BSD Shopping Guide</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2FDN26X#wrap" target="_blank" rel="nofollow noopener">Pat asks about the proper disk drive type for ZFS</a></li>
<li><a href="http://dpaste.com/2X8PBMC#wrap" target="_blank" rel="nofollow noopener">Brad asks about a ZFS rosetta stone</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0330.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
<p>Special Guest: Mariusz Zaborski.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>329: Lucas’ Arts</title>
  <link>https://www.bsdnow.tv/329</link>
  <guid isPermaLink="false">ca9f1431-2af7-48ad-98d6-e68c253ec75b</guid>
  <pubDate>Thu, 19 Dec 2019 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ca9f1431-2af7-48ad-98d6-e68c253ec75b.mp3" length="36780535" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>In this episode, we interview Michael W. Lucas about his latest book projects, including the upcoming SNMP Mastery book.</itunes:subtitle>
  <itunes:duration>51:05</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>&lt;p&gt;In this episode, we interview Michael W. Lucas about his latest book projects, including the upcoming SNMP Mastery book.&lt;/p&gt;

&lt;h3&gt;Interview - Michael Lucas&lt;/h3&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;br&gt;
  &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0329.mp4"&gt;&lt;br&gt;
  Your browser does not support the HTML5 video tag.&lt;br&gt;
 Special Guest: Michael W Lucas.&lt;/p&gt;
</description>
  <itunes:keywords> freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, Michael W. Lucas, Lucas, books, writing, self-publishing, publishing,  Sudo, sudo mastery, snmp, snmp mastery, bsdcan, fiction, non-fiction</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>In this episode, we interview Michael W. Lucas about his latest book projects, including the upcoming SNMP Mastery book.</p>

<h3>Interview - Michael Lucas</h3>

<hr>

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

<hr>


  <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0329.mp4">
  Your browser does not support the HTML5 video tag.
<p>Special Guest: Michael W Lucas.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>In this episode, we interview Michael W. Lucas about his latest book projects, including the upcoming SNMP Mastery book.</p>

<h3>Interview - Michael Lucas</h3>

<hr>

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

<hr>


  <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0329.mp4">
  Your browser does not support the HTML5 video tag.
<p>Special Guest: Michael W Lucas.</p>]]>
  </itunes:summary>
</item>
<item>
  <title>328: EPYC Netflix Stack</title>
  <link>https://www.bsdnow.tv/328</link>
  <guid isPermaLink="false">be8ded86-58b0-46af-ba11-af5a748bc3d8</guid>
  <pubDate>Thu, 12 Dec 2019 07:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/be8ded86-58b0-46af-ba11-af5a748bc3d8.mp3" length="41556868" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>LLDB Threading support now ready, Multiple IPSec VPN tunnels with FreeBSD, Netflix Optimized FreeBSD's Network Stack More Than Doubled AMD EPYC Performance, happy eyeballs with unwind(8), AWS got FreeBSD ARM 12, OpenSSH U2F/FIDO support, and more.</itunes:subtitle>
  <itunes:duration>57:43</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>&lt;p&gt;LLDB Threading support now ready, Multiple IPSec VPN tunnels with FreeBSD, Netflix Optimized FreeBSD's Network Stack More Than Doubled AMD EPYC Performance, happy eyeballs with unwind(8), AWS got FreeBSD ARM 12, OpenSSH U2F/FIDO support, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/lldb_threading_support_now_ready" target="_blank" rel="nofollow noopener"&gt;LLDB Threading support now ready for mainline&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.&lt;/p&gt;

&lt;p&gt;In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues and fixing watchpoint support. Then, I've started working on improving thread support which is taking longer than expected. You can read more about that in my September 2019 report.&lt;/p&gt;

&lt;p&gt;So far the number of issues uncovered while enabling proper threading support has stopped me from merging the work-in-progress patches. However, I've finally reached the point where I believe that the current work can be merged and the remaining problems can be resolved afterwards. More on that and other LLVM-related events happening during the last month in this report.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.socruel.nu/text-only/how-to-multiple-ipsec-vpn-tunnels-on-freebsd.txt" target="_blank" rel="nofollow noopener"&gt;Multiple IPSec VPN tunnels with FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The FreeBSD handbook describes an IPSec VPN tunnel between 2 FreeBSD hosts (see &lt;a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ipsec.html" target="_blank" rel="nofollow noopener"&gt;https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ipsec.html&lt;/a&gt;)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But it is also possible to have multiple, 2 or more, IPSec VPN tunnels created and running on a FreeBSD host. How to implement and configure this is described below.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The requirements is to have 3 locations (A, B and C) connected with IPSec VPN tunnels using FreeBSD (11.3-RELEASE).&lt;/p&gt;

&lt;p&gt;Each location has 1 IPSec VPN host running FreeBSD (VPN host A, B and C).&lt;/p&gt;

&lt;p&gt;VPN host A has 2 IPSec VPN tunnels: 1 to location B (VPN host B) and 1 to location C (VPN host C).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=Netflix-NUMA-FreeBSD-Optimized" target="_blank" rel="nofollow noopener"&gt;Netflix Optimized FreeBSD's Network Stack More Than Doubled AMD EPYC Performance&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Drew Gallatin of Netflix presented at the recent EuroBSDcon 2019 conference in Norway on the company's network stack optimizations to FreeBSD. Netflix was working on being able to deliver 200Gb/s network performance for video streaming out of Intel Xeon and AMD EPYC servers, to which they are now at 190Gb/s+ and in the process that doubled the potential of EPYC Naples/Rome servers and also very hefty upgrades too for Intel.&lt;/p&gt;

&lt;p&gt;Netflix has long been known to be using FreeBSD in their data centers particularly where network performance is concerned. But in wanting to deliver 200Gb/s throughput from individual servers led them to making NUMA optimizations to the FreeBSD network stack. Allocating NUMA local memory for kernel TLS crypto buffers and for backing files sent via sentfile were among their optimizations. Changes to network connection handling and dealing with incoming connections to Nginx were also made.&lt;/p&gt;

&lt;p&gt;For those just wanting the end result, Netflix's NUMA optimizations to FreeBSD resulted in their Intel Xeon servers going from 105Gb/s to 191Gb/s while the NUMA fabric utilization dropped from 40% to 13%.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=157475113130337&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;unwind(8); "happy eyeballs"&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In case you are wondering why happy eyeballs: It's a variation on this:&lt;br&gt;
&lt;a href="https://en.wikipedia.org/wiki/Happy_Eyeballs" target="_blank" rel="nofollow noopener"&gt;https://en.wikipedia.org/wiki/Happy_Eyeballs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;unwind has a concept of a best nameserver type. It considers a configured DoT nameserver to be better than doing it's own recursive resolving. Recursive resolving is considered to be better than asking the dhcp provided nameservers.&lt;/p&gt;

&lt;p&gt;This diff sorts the nameserver types by quality, as above (validation, resolving, dead...), and as a tie breaker it adds the median of the round trip time of previous queries into the mix. &lt;/p&gt;

&lt;p&gt;One other interesting thing about this is that it gets us past captive portals without a check URL, that's why this diff is so huge, it rips out all the captive portal stuff (please apply with patch -E):&lt;br&gt;
 17 files changed, 385 insertions(+), 1683 deletions(-)&lt;/p&gt;

&lt;p&gt;Please test this. I'm particularly interested in reports from people who move between networks and need to get past captive portals.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://aws.amazon.com/marketplace/pp/B081NF7BY7" target="_blank" rel="nofollow noopener"&gt;Amazon now has FreeBSD ARM 12&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Product Overview&lt;/p&gt;

&lt;p&gt;FreeBSD is an operating system used to power servers, desktops, and embedded systems. Derived from BSD, the version of UNIX developed at the University of California, Berkeley, FreeBSD has been continually developed by a large community for more than 30 years.&lt;/p&gt;

&lt;p&gt;FreeBSD's networking, security, storage, and monitoring features, including the pf firewall, the Capsicum and CloudABI capability frameworks, the ZFS filesystem, and the DTrace dynamic tracing framework, make FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage systems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20191115064850" target="_blank" rel="nofollow noopener"&gt;OpenSSH U2F/FIDO support in base&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I just committed all the dependencies for OpenSSH security key (U2F) support to base and tweaked OpenSSH to use them directly. This means there will be no additional configuration hoops to jump through to use U2F/FIDO2 security keys.&lt;/p&gt;

&lt;p&gt;Hardware backed keys can be generated using "ssh-keygen -t ecdsa-sk" (or "ed25519-sk" if your token supports it). Many tokens require to be touched/tapped to confirm this step.&lt;/p&gt;

&lt;p&gt;You'll get a public/private keypair back as usual, except in this case, the private key file does not contain a highly-sensitive private key but instead holds a "key handle" that is used by the security key to derive the real private key at signing time.&lt;/p&gt;

&lt;p&gt;So, stealing a copy of the private key file without also stealing your security key (or access to it) should not give the attacker anything. &lt;/p&gt;

&lt;p&gt;Once you have generated a key, you can use it normally - i.e. add it to an agent, copy it to your destination's authorized_keys files (assuming they are running -current too), etc. At authentication time, you will be prompted to tap your security key to confirm the signature operation - this makes theft-of-access attacks against security keys more difficult too.&lt;/p&gt;

&lt;p&gt;Please test this thoroughly - it's a big change that we want to have stable before the next release.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2019-November/719945.html" target="_blank" rel="nofollow noopener"&gt;DragonFly - git: virtio - Fix LUN scan issue w/ Google Cloud&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://0x0f0f0f.github.io/posts/2019/11/really-fast-markov-chains-in-%7E20-lines-of-sh-grep-cut-and-awk/" target="_blank" rel="nofollow noopener"&gt;Really fast Markov chains in ~20 lines of sh, grep, cut and awk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/past-issues/security-3/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal Sept/Oct 2019&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/michaeldexter/status/1201231729228308480" target="_blank" rel="nofollow noopener"&gt;Michael Dexter is raising money for Bhyve development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=157488907117170" target="_blank" rel="nofollow noopener"&gt;syscall call-from verification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://forums.freebsd.org/forums/howtos-and-faqs-moderated.39/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Forums Howto Section&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Jeroen - &lt;a href="http://dpaste.com/0PK1EG2#wrap" target="_blank" rel="nofollow noopener"&gt;Feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Savo - &lt;a href="http://dpaste.com/0PZ03B7#wrap" target="_blank" rel="nofollow noopener"&gt;pfsense ports&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tin - &lt;a href="http://dpaste.com/2GVNCYB#wrap" target="_blank" rel="nofollow noopener"&gt;I want to learn C&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0328.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, lldb, threading, ipsec, vpn, tunnel, netflix, optimized, network stack, amd, amd epyc, performance, unwind, eyeballs, aws, arm, arm 12, openssh, u2f, fido</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>LLDB Threading support now ready, Multiple IPSec VPN tunnels with FreeBSD, Netflix Optimized FreeBSD's Network Stack More Than Doubled AMD EPYC Performance, happy eyeballs with unwind(8), AWS got FreeBSD ARM 12, OpenSSH U2F/FIDO support, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_threading_support_now_ready" target="_blank" rel="nofollow noopener">LLDB Threading support now ready for mainline</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.</p>

<p>In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues and fixing watchpoint support. Then, I've started working on improving thread support which is taking longer than expected. You can read more about that in my September 2019 report.</p>

<p>So far the number of issues uncovered while enabling proper threading support has stopped me from merging the work-in-progress patches. However, I've finally reached the point where I believe that the current work can be merged and the remaining problems can be resolved afterwards. More on that and other LLVM-related events happening during the last month in this report.</p>
</blockquote>

<hr>

<h3><a href="https://blog.socruel.nu/text-only/how-to-multiple-ipsec-vpn-tunnels-on-freebsd.txt" target="_blank" rel="nofollow noopener">Multiple IPSec VPN tunnels with FreeBSD</a></h3>

<blockquote>
<p>The FreeBSD handbook describes an IPSec VPN tunnel between 2 FreeBSD hosts (see <a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ipsec.html" target="_blank" rel="nofollow noopener">https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ipsec.html</a>)</p>
</blockquote>

<p>But it is also possible to have multiple, 2 or more, IPSec VPN tunnels created and running on a FreeBSD host. How to implement and configure this is described below.</p>

<blockquote>
<p>The requirements is to have 3 locations (A, B and C) connected with IPSec VPN tunnels using FreeBSD (11.3-RELEASE).</p>

<p>Each location has 1 IPSec VPN host running FreeBSD (VPN host A, B and C).</p>

<p>VPN host A has 2 IPSec VPN tunnels: 1 to location B (VPN host B) and 1 to location C (VPN host C).</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=Netflix-NUMA-FreeBSD-Optimized" target="_blank" rel="nofollow noopener">Netflix Optimized FreeBSD's Network Stack More Than Doubled AMD EPYC Performance</a></h3>

<blockquote>
<p>Drew Gallatin of Netflix presented at the recent EuroBSDcon 2019 conference in Norway on the company's network stack optimizations to FreeBSD. Netflix was working on being able to deliver 200Gb/s network performance for video streaming out of Intel Xeon and AMD EPYC servers, to which they are now at 190Gb/s+ and in the process that doubled the potential of EPYC Naples/Rome servers and also very hefty upgrades too for Intel.</p>

<p>Netflix has long been known to be using FreeBSD in their data centers particularly where network performance is concerned. But in wanting to deliver 200Gb/s throughput from individual servers led them to making NUMA optimizations to the FreeBSD network stack. Allocating NUMA local memory for kernel TLS crypto buffers and for backing files sent via sentfile were among their optimizations. Changes to network connection handling and dealing with incoming connections to Nginx were also made.</p>

<p>For those just wanting the end result, Netflix's NUMA optimizations to FreeBSD resulted in their Intel Xeon servers going from 105Gb/s to 191Gb/s while the NUMA fabric utilization dropped from 40% to 13%.</p>
</blockquote>

<hr>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=157475113130337&amp;w=2" target="_blank" rel="nofollow noopener">unwind(8); "happy eyeballs"</a></h3>

<blockquote>
<p>In case you are wondering why happy eyeballs: It's a variation on this:<br>
<a href="https://en.wikipedia.org/wiki/Happy_Eyeballs" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/Happy_Eyeballs</a></p>

<p>unwind has a concept of a best nameserver type. It considers a configured DoT nameserver to be better than doing it's own recursive resolving. Recursive resolving is considered to be better than asking the dhcp provided nameservers.</p>

<p>This diff sorts the nameserver types by quality, as above (validation, resolving, dead...), and as a tie breaker it adds the median of the round trip time of previous queries into the mix. </p>

<p>One other interesting thing about this is that it gets us past captive portals without a check URL, that's why this diff is so huge, it rips out all the captive portal stuff (please apply with patch -E):<br>
 17 files changed, 385 insertions(+), 1683 deletions(-)</p>

<p>Please test this. I'm particularly interested in reports from people who move between networks and need to get past captive portals.</p>
</blockquote>

<hr>

<h3><a href="https://aws.amazon.com/marketplace/pp/B081NF7BY7" target="_blank" rel="nofollow noopener">Amazon now has FreeBSD ARM 12</a></h3>

<blockquote>
<p>Product Overview</p>

<p>FreeBSD is an operating system used to power servers, desktops, and embedded systems. Derived from BSD, the version of UNIX developed at the University of California, Berkeley, FreeBSD has been continually developed by a large community for more than 30 years.</p>

<p>FreeBSD's networking, security, storage, and monitoring features, including the pf firewall, the Capsicum and CloudABI capability frameworks, the ZFS filesystem, and the DTrace dynamic tracing framework, make FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage systems.</p>
</blockquote>

<hr>

<h3><a href="https://www.undeadly.org/cgi?action=article;sid=20191115064850" target="_blank" rel="nofollow noopener">OpenSSH U2F/FIDO support in base</a></h3>

<blockquote>
<p>I just committed all the dependencies for OpenSSH security key (U2F) support to base and tweaked OpenSSH to use them directly. This means there will be no additional configuration hoops to jump through to use U2F/FIDO2 security keys.</p>

<p>Hardware backed keys can be generated using "ssh-keygen -t ecdsa-sk" (or "ed25519-sk" if your token supports it). Many tokens require to be touched/tapped to confirm this step.</p>

<p>You'll get a public/private keypair back as usual, except in this case, the private key file does not contain a highly-sensitive private key but instead holds a "key handle" that is used by the security key to derive the real private key at signing time.</p>

<p>So, stealing a copy of the private key file without also stealing your security key (or access to it) should not give the attacker anything. </p>

<p>Once you have generated a key, you can use it normally - i.e. add it to an agent, copy it to your destination's authorized_keys files (assuming they are running -current too), etc. At authentication time, you will be prompted to tap your security key to confirm the signature operation - this makes theft-of-access attacks against security keys more difficult too.</p>

<p>Please test this thoroughly - it's a big change that we want to have stable before the next release.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-November/719945.html" target="_blank" rel="nofollow noopener">DragonFly - git: virtio - Fix LUN scan issue w/ Google Cloud</a></li>
<li><a href="https://0x0f0f0f.github.io/posts/2019/11/really-fast-markov-chains-in-%7E20-lines-of-sh-grep-cut-and-awk/" target="_blank" rel="nofollow noopener">Really fast Markov chains in ~20 lines of sh, grep, cut and awk</a></li>
<li><a href="https://www.freebsdfoundation.org/past-issues/security-3/" target="_blank" rel="nofollow noopener">FreeBSD Journal Sept/Oct 2019</a></li>
<li><a href="https://twitter.com/michaeldexter/status/1201231729228308480" target="_blank" rel="nofollow noopener">Michael Dexter is raising money for Bhyve development</a></li>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=157488907117170" target="_blank" rel="nofollow noopener">syscall call-from verification</a></li>
<li><a href="https://forums.freebsd.org/forums/howtos-and-faqs-moderated.39/" target="_blank" rel="nofollow noopener">FreeBSD Forums Howto Section</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Jeroen - <a href="http://dpaste.com/0PK1EG2#wrap" target="_blank" rel="nofollow noopener">Feedback</a></li>
<li>Savo - <a href="http://dpaste.com/0PZ03B7#wrap" target="_blank" rel="nofollow noopener">pfsense ports</a></li>
<li>Tin - <a href="http://dpaste.com/2GVNCYB#wrap" target="_blank" rel="nofollow noopener">I want to learn C</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0328.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>LLDB Threading support now ready, Multiple IPSec VPN tunnels with FreeBSD, Netflix Optimized FreeBSD's Network Stack More Than Doubled AMD EPYC Performance, happy eyeballs with unwind(8), AWS got FreeBSD ARM 12, OpenSSH U2F/FIDO support, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_threading_support_now_ready" target="_blank" rel="nofollow noopener">LLDB Threading support now ready for mainline</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.</p>

<p>In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues and fixing watchpoint support. Then, I've started working on improving thread support which is taking longer than expected. You can read more about that in my September 2019 report.</p>

<p>So far the number of issues uncovered while enabling proper threading support has stopped me from merging the work-in-progress patches. However, I've finally reached the point where I believe that the current work can be merged and the remaining problems can be resolved afterwards. More on that and other LLVM-related events happening during the last month in this report.</p>
</blockquote>

<hr>

<h3><a href="https://blog.socruel.nu/text-only/how-to-multiple-ipsec-vpn-tunnels-on-freebsd.txt" target="_blank" rel="nofollow noopener">Multiple IPSec VPN tunnels with FreeBSD</a></h3>

<blockquote>
<p>The FreeBSD handbook describes an IPSec VPN tunnel between 2 FreeBSD hosts (see <a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ipsec.html" target="_blank" rel="nofollow noopener">https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ipsec.html</a>)</p>
</blockquote>

<p>But it is also possible to have multiple, 2 or more, IPSec VPN tunnels created and running on a FreeBSD host. How to implement and configure this is described below.</p>

<blockquote>
<p>The requirements is to have 3 locations (A, B and C) connected with IPSec VPN tunnels using FreeBSD (11.3-RELEASE).</p>

<p>Each location has 1 IPSec VPN host running FreeBSD (VPN host A, B and C).</p>

<p>VPN host A has 2 IPSec VPN tunnels: 1 to location B (VPN host B) and 1 to location C (VPN host C).</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=Netflix-NUMA-FreeBSD-Optimized" target="_blank" rel="nofollow noopener">Netflix Optimized FreeBSD's Network Stack More Than Doubled AMD EPYC Performance</a></h3>

<blockquote>
<p>Drew Gallatin of Netflix presented at the recent EuroBSDcon 2019 conference in Norway on the company's network stack optimizations to FreeBSD. Netflix was working on being able to deliver 200Gb/s network performance for video streaming out of Intel Xeon and AMD EPYC servers, to which they are now at 190Gb/s+ and in the process that doubled the potential of EPYC Naples/Rome servers and also very hefty upgrades too for Intel.</p>

<p>Netflix has long been known to be using FreeBSD in their data centers particularly where network performance is concerned. But in wanting to deliver 200Gb/s throughput from individual servers led them to making NUMA optimizations to the FreeBSD network stack. Allocating NUMA local memory for kernel TLS crypto buffers and for backing files sent via sentfile were among their optimizations. Changes to network connection handling and dealing with incoming connections to Nginx were also made.</p>

<p>For those just wanting the end result, Netflix's NUMA optimizations to FreeBSD resulted in their Intel Xeon servers going from 105Gb/s to 191Gb/s while the NUMA fabric utilization dropped from 40% to 13%.</p>
</blockquote>

<hr>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=157475113130337&amp;w=2" target="_blank" rel="nofollow noopener">unwind(8); "happy eyeballs"</a></h3>

<blockquote>
<p>In case you are wondering why happy eyeballs: It's a variation on this:<br>
<a href="https://en.wikipedia.org/wiki/Happy_Eyeballs" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/Happy_Eyeballs</a></p>

<p>unwind has a concept of a best nameserver type. It considers a configured DoT nameserver to be better than doing it's own recursive resolving. Recursive resolving is considered to be better than asking the dhcp provided nameservers.</p>

<p>This diff sorts the nameserver types by quality, as above (validation, resolving, dead...), and as a tie breaker it adds the median of the round trip time of previous queries into the mix. </p>

<p>One other interesting thing about this is that it gets us past captive portals without a check URL, that's why this diff is so huge, it rips out all the captive portal stuff (please apply with patch -E):<br>
 17 files changed, 385 insertions(+), 1683 deletions(-)</p>

<p>Please test this. I'm particularly interested in reports from people who move between networks and need to get past captive portals.</p>
</blockquote>

<hr>

<h3><a href="https://aws.amazon.com/marketplace/pp/B081NF7BY7" target="_blank" rel="nofollow noopener">Amazon now has FreeBSD ARM 12</a></h3>

<blockquote>
<p>Product Overview</p>

<p>FreeBSD is an operating system used to power servers, desktops, and embedded systems. Derived from BSD, the version of UNIX developed at the University of California, Berkeley, FreeBSD has been continually developed by a large community for more than 30 years.</p>

<p>FreeBSD's networking, security, storage, and monitoring features, including the pf firewall, the Capsicum and CloudABI capability frameworks, the ZFS filesystem, and the DTrace dynamic tracing framework, make FreeBSD the platform of choice for many of the busiest web sites and most pervasive embedded networking and storage systems.</p>
</blockquote>

<hr>

<h3><a href="https://www.undeadly.org/cgi?action=article;sid=20191115064850" target="_blank" rel="nofollow noopener">OpenSSH U2F/FIDO support in base</a></h3>

<blockquote>
<p>I just committed all the dependencies for OpenSSH security key (U2F) support to base and tweaked OpenSSH to use them directly. This means there will be no additional configuration hoops to jump through to use U2F/FIDO2 security keys.</p>

<p>Hardware backed keys can be generated using "ssh-keygen -t ecdsa-sk" (or "ed25519-sk" if your token supports it). Many tokens require to be touched/tapped to confirm this step.</p>

<p>You'll get a public/private keypair back as usual, except in this case, the private key file does not contain a highly-sensitive private key but instead holds a "key handle" that is used by the security key to derive the real private key at signing time.</p>

<p>So, stealing a copy of the private key file without also stealing your security key (or access to it) should not give the attacker anything. </p>

<p>Once you have generated a key, you can use it normally - i.e. add it to an agent, copy it to your destination's authorized_keys files (assuming they are running -current too), etc. At authentication time, you will be prompted to tap your security key to confirm the signature operation - this makes theft-of-access attacks against security keys more difficult too.</p>

<p>Please test this thoroughly - it's a big change that we want to have stable before the next release.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-November/719945.html" target="_blank" rel="nofollow noopener">DragonFly - git: virtio - Fix LUN scan issue w/ Google Cloud</a></li>
<li><a href="https://0x0f0f0f.github.io/posts/2019/11/really-fast-markov-chains-in-%7E20-lines-of-sh-grep-cut-and-awk/" target="_blank" rel="nofollow noopener">Really fast Markov chains in ~20 lines of sh, grep, cut and awk</a></li>
<li><a href="https://www.freebsdfoundation.org/past-issues/security-3/" target="_blank" rel="nofollow noopener">FreeBSD Journal Sept/Oct 2019</a></li>
<li><a href="https://twitter.com/michaeldexter/status/1201231729228308480" target="_blank" rel="nofollow noopener">Michael Dexter is raising money for Bhyve development</a></li>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=157488907117170" target="_blank" rel="nofollow noopener">syscall call-from verification</a></li>
<li><a href="https://forums.freebsd.org/forums/howtos-and-faqs-moderated.39/" target="_blank" rel="nofollow noopener">FreeBSD Forums Howto Section</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Jeroen - <a href="http://dpaste.com/0PK1EG2#wrap" target="_blank" rel="nofollow noopener">Feedback</a></li>
<li>Savo - <a href="http://dpaste.com/0PZ03B7#wrap" target="_blank" rel="nofollow noopener">pfsense ports</a></li>
<li>Tin - <a href="http://dpaste.com/2GVNCYB#wrap" target="_blank" rel="nofollow noopener">I want to learn C</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0328.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>327: ZFS Rename Repo</title>
  <link>https://www.bsdnow.tv/327</link>
  <guid isPermaLink="false">18bee756-2b2e-45ed-bcf1-403549bf6a32</guid>
  <pubDate>Thu, 05 Dec 2019 07:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/18bee756-2b2e-45ed-bcf1-403549bf6a32.mp3" length="60093881" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We read FreeBSD’s third quarterly status report, OpenBSD on Sparc64, ZoL repo move to OpenZFS, GEOM NOP, keeping NetBSD up-to-date, and more.</itunes:subtitle>
  <itunes:duration>1:23:27</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>&lt;p&gt;We read FreeBSD’s third quarterly status report, OpenBSD on Sparc64, ZoL repo move to OpenZFS, GEOM NOP, keeping NetBSD up-to-date, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2019-07-2019-09.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD third quarterly status report for 2019&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This quarter the reports team has been more active than usual thanks to a better organization: calls for reports and reminders have been sent regularly, reports have been reviewed and merged quickly (I would like to thank debdrup@ in particular for his reviewing work).&lt;/p&gt;

&lt;p&gt;Efficiency could still be improved with the help of our community. In particular, the quarterly team has found that many reports have arrived in the last days before the deadline or even after. I would like to invite the community to follow the guidelines below that can help us sending out the reports sooner.&lt;/p&gt;

&lt;p&gt;Starting from next quarter, all quarterly status reports will be prepared the last month of the quarter itself, instead of the first month after the quarter's end. This means that deadlines for submitting reports will be the 1st of January, April, July and October.&lt;/p&gt;

&lt;p&gt;Next quarter will then be a short one, covering the months of November and December only and the report will probably be out in mid January.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://eerielinux.wordpress.com/2019/10/10/openbsd-on-sparc64-6-0-to-6-5/" target="_blank" rel="nofollow noopener"&gt;OpenBSD on Sparc64&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenBSD, huh? Yes, I usually write about FreeBSD and that’s in fact what I tried installing on the machine first. But I ran into problems with it very early on (never even reached single user mode) and put it aside for later. Since I powered up the SunFire again last month, I needed an OS now and chose OpenBSD for the simple reason that I have it available.&lt;/p&gt;

&lt;p&gt;First I wanted to call this article simply “OpenBSD on SPARC” – but that would have been misleading since OpenBSD used to support 32-bit SPARC processors, too. The platform was just put to rest after the 5.9 release.&lt;/p&gt;

&lt;p&gt;Version 6.0 was the last release of OpenBSD that came on CD-ROM. When I bought it, I thought that I’d never use the SPARC CD. But here was the chance! While it is an obsolete release, it comes with the cryptographic signatures to verify the next release. So the plan is to start at 6.0 as I can trust the original CDs and then update to the latest release. This will also be an opportunity to recap on some of the things that changed over the various versions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://zfsonlinux.topicbox.com/groups/zfs-discuss/T13eedc32607dab41/zol-repo-move-to-openzfs" target="_blank" rel="nofollow noopener"&gt;ZoL repo move to OpenZFS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Because it will contain the ZFS source code for both Linux and FreeBSD, we will rename the "ZFSonLinux" code repository to "OpenZFS".  Specifically, the repo at &lt;a href="http://github.com/ZFSonLinux/zfs" target="_blank" rel="nofollow noopener"&gt;http://github.com/ZFSonLinux/zfs&lt;/a&gt; will be moved to the OpenZFS organization, at &lt;a href="http://github.com/OpenZFS/zfs" target="_blank" rel="nofollow noopener"&gt;http://github.com/OpenZFS/zfs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The next major release of ZFS for Linux and FreeBSD will be "OpenZFS 2.0", and is expected to ship in 2020.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://twitter.com/mcclure111/status/1196557401710837762" target="_blank" rel="nofollow noopener"&gt;Mcclure111 Sun Thread&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A long time ago— like 15 years ago— I worked at Sun Microsystems. The company was nearly dead at the time (it died a couple years later) because they didn't make anything that anyone wanted to buy anymore. So they had a lot of strange ideas about how they'd make their comeback.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://oshogbo.vexillium.org/blog/71/" target="_blank" rel="nofollow noopener"&gt;GEOM NOP&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Sometimes while testing file systems or applications you want to simulate some errors on the disk level. The first time I heard about this need was from Baptiste Daroussin during his presentation at AsiaBSDCon 2016. He mentioned how they had built a test lab with it. The same need was recently discussed during the PGCon 2019, to test a PostgreSQL instance. If you are FreeBSD user, I have great news for you: there is a GEOM provider which allows you to simulate a failing device.&lt;/p&gt;

&lt;p&gt;GNOP allows us to configure transparent providers from existing ones. The first interesting option of it is that we can slice the device into smaller pieces, thanks to the ‘offset option’ and ‘stripsesize’. This allows us to observe how the data on the disk is changing. Let’s assume that we want to observe the changes in the GPT table when the GPT flags are added or removed (for example the bootme flags which are described here). We can use dd every time and analyze it using absolute values from the disks.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://jmmv.dev/2017/02/pkg_comp-2.0-tutorial-netbsd.html" target="_blank" rel="nofollow noopener"&gt;Keeping NetBSD up-to-date with pkg_comp 2.0&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a tutorial to guide you through the shiny new pkg_comp 2.0 on NetBSD.&lt;/p&gt;

&lt;p&gt;Goals: to use pkg_comp 2.0 to build a binary repository of all the packages you are interested in; to keep the repository fresh on a daily basis; and to use that repository with pkgin to maintain your NetBSD system up-to-date and secure.&lt;/p&gt;

&lt;p&gt;This tutorial is specifically targeted at NetBSD but should work on other platforms with some small changes. Expect, at the very least, a macOS-specific tutorial as soon as I create a pkg_comp standalone installer for that platform.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2019-November/720070.html" target="_blank" rel="nofollow noopener"&gt;DragonFly - Radeon Improvements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=7DglP7SbnlA&amp;amp;feature=share" target="_blank" rel="nofollow noopener"&gt;NomadBSD review&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://files.yukiisbo.red/openbsd_claim.png" target="_blank" rel="nofollow noopener"&gt;Spongebob OpenBSD Security Comic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://colorforth.github.io/HOPL.html" target="_blank" rel="nofollow noopener"&gt;Forth : The Early Years&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=pvaPaWyiuLA" target="_blank" rel="nofollow noopener"&gt;LCM+L PDP-7 booting and running UNIX Version 0&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Chris - &lt;a href="http://dpaste.com/284E5BV" target="_blank" rel="nofollow noopener"&gt;Ctrl-T&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://asciinema.org/a/xfSpvPT61Cnd9iRgbfIjT6kYj" target="_blank" rel="nofollow noopener"&gt;Improved Ctrl+t that shows kernel backtrace&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Brian - &lt;a href="http://dpaste.com/05GDK8H#wrap" target="_blank" rel="nofollow noopener"&gt;Migrating NexentaStore to FreeBSD/FreeNAS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Avery - &lt;a href="http://dpaste.com/26KW801#wrap" target="_blank" rel="nofollow noopener"&gt;How to get involved&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0327.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, quarterly status, status report, report, sparc64, sun, geom, nop, gnop, uo-to-date, pkg_comp</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We read FreeBSD’s third quarterly status report, OpenBSD on Sparc64, ZoL repo move to OpenZFS, GEOM NOP, keeping NetBSD up-to-date, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/news/status/report-2019-07-2019-09.html" target="_blank" rel="nofollow noopener">FreeBSD third quarterly status report for 2019</a></h3>

<blockquote>
<p>This quarter the reports team has been more active than usual thanks to a better organization: calls for reports and reminders have been sent regularly, reports have been reviewed and merged quickly (I would like to thank debdrup@ in particular for his reviewing work).</p>

<p>Efficiency could still be improved with the help of our community. In particular, the quarterly team has found that many reports have arrived in the last days before the deadline or even after. I would like to invite the community to follow the guidelines below that can help us sending out the reports sooner.</p>

<p>Starting from next quarter, all quarterly status reports will be prepared the last month of the quarter itself, instead of the first month after the quarter's end. This means that deadlines for submitting reports will be the 1st of January, April, July and October.</p>

<p>Next quarter will then be a short one, covering the months of November and December only and the report will probably be out in mid January.</p>
</blockquote>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2019/10/10/openbsd-on-sparc64-6-0-to-6-5/" target="_blank" rel="nofollow noopener">OpenBSD on Sparc64</a></h3>

<blockquote>
<p>OpenBSD, huh? Yes, I usually write about FreeBSD and that’s in fact what I tried installing on the machine first. But I ran into problems with it very early on (never even reached single user mode) and put it aside for later. Since I powered up the SunFire again last month, I needed an OS now and chose OpenBSD for the simple reason that I have it available.</p>

<p>First I wanted to call this article simply “OpenBSD on SPARC” – but that would have been misleading since OpenBSD used to support 32-bit SPARC processors, too. The platform was just put to rest after the 5.9 release.</p>

<p>Version 6.0 was the last release of OpenBSD that came on CD-ROM. When I bought it, I thought that I’d never use the SPARC CD. But here was the chance! While it is an obsolete release, it comes with the cryptographic signatures to verify the next release. So the plan is to start at 6.0 as I can trust the original CDs and then update to the latest release. This will also be an opportunity to recap on some of the things that changed over the various versions.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://zfsonlinux.topicbox.com/groups/zfs-discuss/T13eedc32607dab41/zol-repo-move-to-openzfs" target="_blank" rel="nofollow noopener">ZoL repo move to OpenZFS</a></h3>

<blockquote>
<p>Because it will contain the ZFS source code for both Linux and FreeBSD, we will rename the "ZFSonLinux" code repository to "OpenZFS".  Specifically, the repo at <a href="http://github.com/ZFSonLinux/zfs" target="_blank" rel="nofollow noopener">http://github.com/ZFSonLinux/zfs</a> will be moved to the OpenZFS organization, at <a href="http://github.com/OpenZFS/zfs" target="_blank" rel="nofollow noopener">http://github.com/OpenZFS/zfs</a>.</p>

<p>The next major release of ZFS for Linux and FreeBSD will be "OpenZFS 2.0", and is expected to ship in 2020.</p>
</blockquote>

<hr>

<h3><a href="https://twitter.com/mcclure111/status/1196557401710837762" target="_blank" rel="nofollow noopener">Mcclure111 Sun Thread</a></h3>

<blockquote>
<p>A long time ago— like 15 years ago— I worked at Sun Microsystems. The company was nearly dead at the time (it died a couple years later) because they didn't make anything that anyone wanted to buy anymore. So they had a lot of strange ideas about how they'd make their comeback.</p>
</blockquote>

<hr>

<h3><a href="https://oshogbo.vexillium.org/blog/71/" target="_blank" rel="nofollow noopener">GEOM NOP</a></h3>

<blockquote>
<p>Sometimes while testing file systems or applications you want to simulate some errors on the disk level. The first time I heard about this need was from Baptiste Daroussin during his presentation at AsiaBSDCon 2016. He mentioned how they had built a test lab with it. The same need was recently discussed during the PGCon 2019, to test a PostgreSQL instance. If you are FreeBSD user, I have great news for you: there is a GEOM provider which allows you to simulate a failing device.</p>

<p>GNOP allows us to configure transparent providers from existing ones. The first interesting option of it is that we can slice the device into smaller pieces, thanks to the ‘offset option’ and ‘stripsesize’. This allows us to observe how the data on the disk is changing. Let’s assume that we want to observe the changes in the GPT table when the GPT flags are added or removed (for example the bootme flags which are described here). We can use dd every time and analyze it using absolute values from the disks.</p>
</blockquote>

<hr>

<h3><a href="https://jmmv.dev/2017/02/pkg_comp-2.0-tutorial-netbsd.html" target="_blank" rel="nofollow noopener">Keeping NetBSD up-to-date with pkg_comp 2.0</a></h3>

<blockquote>
<p>This is a tutorial to guide you through the shiny new pkg_comp 2.0 on NetBSD.</p>

<p>Goals: to use pkg_comp 2.0 to build a binary repository of all the packages you are interested in; to keep the repository fresh on a daily basis; and to use that repository with pkgin to maintain your NetBSD system up-to-date and secure.</p>

<p>This tutorial is specifically targeted at NetBSD but should work on other platforms with some small changes. Expect, at the very least, a macOS-specific tutorial as soon as I create a pkg_comp standalone installer for that platform.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-November/720070.html" target="_blank" rel="nofollow noopener">DragonFly - Radeon Improvements</a></li>
<li><a href="https://www.youtube.com/watch?v=7DglP7SbnlA&amp;feature=share" target="_blank" rel="nofollow noopener">NomadBSD review</a></li>
<li><a href="https://files.yukiisbo.red/openbsd_claim.png" target="_blank" rel="nofollow noopener">Spongebob OpenBSD Security Comic</a></li>
<li><a href="https://colorforth.github.io/HOPL.html" target="_blank" rel="nofollow noopener">Forth : The Early Years</a></li>
<li><a href="https://www.youtube.com/watch?v=pvaPaWyiuLA" target="_blank" rel="nofollow noopener">LCM+L PDP-7 booting and running UNIX Version 0</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Chris - <a href="http://dpaste.com/284E5BV" target="_blank" rel="nofollow noopener">Ctrl-T</a>

<ul>
<li><a href="https://asciinema.org/a/xfSpvPT61Cnd9iRgbfIjT6kYj" target="_blank" rel="nofollow noopener">Improved Ctrl+t that shows kernel backtrace</a></li>
</ul></li>
<li>Brian - <a href="http://dpaste.com/05GDK8H#wrap" target="_blank" rel="nofollow noopener">Migrating NexentaStore to FreeBSD/FreeNAS</a></li>
<li>Avery - <a href="http://dpaste.com/26KW801#wrap" target="_blank" rel="nofollow noopener">How to get involved</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0327.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We read FreeBSD’s third quarterly status report, OpenBSD on Sparc64, ZoL repo move to OpenZFS, GEOM NOP, keeping NetBSD up-to-date, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/news/status/report-2019-07-2019-09.html" target="_blank" rel="nofollow noopener">FreeBSD third quarterly status report for 2019</a></h3>

<blockquote>
<p>This quarter the reports team has been more active than usual thanks to a better organization: calls for reports and reminders have been sent regularly, reports have been reviewed and merged quickly (I would like to thank debdrup@ in particular for his reviewing work).</p>

<p>Efficiency could still be improved with the help of our community. In particular, the quarterly team has found that many reports have arrived in the last days before the deadline or even after. I would like to invite the community to follow the guidelines below that can help us sending out the reports sooner.</p>

<p>Starting from next quarter, all quarterly status reports will be prepared the last month of the quarter itself, instead of the first month after the quarter's end. This means that deadlines for submitting reports will be the 1st of January, April, July and October.</p>

<p>Next quarter will then be a short one, covering the months of November and December only and the report will probably be out in mid January.</p>
</blockquote>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2019/10/10/openbsd-on-sparc64-6-0-to-6-5/" target="_blank" rel="nofollow noopener">OpenBSD on Sparc64</a></h3>

<blockquote>
<p>OpenBSD, huh? Yes, I usually write about FreeBSD and that’s in fact what I tried installing on the machine first. But I ran into problems with it very early on (never even reached single user mode) and put it aside for later. Since I powered up the SunFire again last month, I needed an OS now and chose OpenBSD for the simple reason that I have it available.</p>

<p>First I wanted to call this article simply “OpenBSD on SPARC” – but that would have been misleading since OpenBSD used to support 32-bit SPARC processors, too. The platform was just put to rest after the 5.9 release.</p>

<p>Version 6.0 was the last release of OpenBSD that came on CD-ROM. When I bought it, I thought that I’d never use the SPARC CD. But here was the chance! While it is an obsolete release, it comes with the cryptographic signatures to verify the next release. So the plan is to start at 6.0 as I can trust the original CDs and then update to the latest release. This will also be an opportunity to recap on some of the things that changed over the various versions.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://zfsonlinux.topicbox.com/groups/zfs-discuss/T13eedc32607dab41/zol-repo-move-to-openzfs" target="_blank" rel="nofollow noopener">ZoL repo move to OpenZFS</a></h3>

<blockquote>
<p>Because it will contain the ZFS source code for both Linux and FreeBSD, we will rename the "ZFSonLinux" code repository to "OpenZFS".  Specifically, the repo at <a href="http://github.com/ZFSonLinux/zfs" target="_blank" rel="nofollow noopener">http://github.com/ZFSonLinux/zfs</a> will be moved to the OpenZFS organization, at <a href="http://github.com/OpenZFS/zfs" target="_blank" rel="nofollow noopener">http://github.com/OpenZFS/zfs</a>.</p>

<p>The next major release of ZFS for Linux and FreeBSD will be "OpenZFS 2.0", and is expected to ship in 2020.</p>
</blockquote>

<hr>

<h3><a href="https://twitter.com/mcclure111/status/1196557401710837762" target="_blank" rel="nofollow noopener">Mcclure111 Sun Thread</a></h3>

<blockquote>
<p>A long time ago— like 15 years ago— I worked at Sun Microsystems. The company was nearly dead at the time (it died a couple years later) because they didn't make anything that anyone wanted to buy anymore. So they had a lot of strange ideas about how they'd make their comeback.</p>
</blockquote>

<hr>

<h3><a href="https://oshogbo.vexillium.org/blog/71/" target="_blank" rel="nofollow noopener">GEOM NOP</a></h3>

<blockquote>
<p>Sometimes while testing file systems or applications you want to simulate some errors on the disk level. The first time I heard about this need was from Baptiste Daroussin during his presentation at AsiaBSDCon 2016. He mentioned how they had built a test lab with it. The same need was recently discussed during the PGCon 2019, to test a PostgreSQL instance. If you are FreeBSD user, I have great news for you: there is a GEOM provider which allows you to simulate a failing device.</p>

<p>GNOP allows us to configure transparent providers from existing ones. The first interesting option of it is that we can slice the device into smaller pieces, thanks to the ‘offset option’ and ‘stripsesize’. This allows us to observe how the data on the disk is changing. Let’s assume that we want to observe the changes in the GPT table when the GPT flags are added or removed (for example the bootme flags which are described here). We can use dd every time and analyze it using absolute values from the disks.</p>
</blockquote>

<hr>

<h3><a href="https://jmmv.dev/2017/02/pkg_comp-2.0-tutorial-netbsd.html" target="_blank" rel="nofollow noopener">Keeping NetBSD up-to-date with pkg_comp 2.0</a></h3>

<blockquote>
<p>This is a tutorial to guide you through the shiny new pkg_comp 2.0 on NetBSD.</p>

<p>Goals: to use pkg_comp 2.0 to build a binary repository of all the packages you are interested in; to keep the repository fresh on a daily basis; and to use that repository with pkgin to maintain your NetBSD system up-to-date and secure.</p>

<p>This tutorial is specifically targeted at NetBSD but should work on other platforms with some small changes. Expect, at the very least, a macOS-specific tutorial as soon as I create a pkg_comp standalone installer for that platform.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-November/720070.html" target="_blank" rel="nofollow noopener">DragonFly - Radeon Improvements</a></li>
<li><a href="https://www.youtube.com/watch?v=7DglP7SbnlA&amp;feature=share" target="_blank" rel="nofollow noopener">NomadBSD review</a></li>
<li><a href="https://files.yukiisbo.red/openbsd_claim.png" target="_blank" rel="nofollow noopener">Spongebob OpenBSD Security Comic</a></li>
<li><a href="https://colorforth.github.io/HOPL.html" target="_blank" rel="nofollow noopener">Forth : The Early Years</a></li>
<li><a href="https://www.youtube.com/watch?v=pvaPaWyiuLA" target="_blank" rel="nofollow noopener">LCM+L PDP-7 booting and running UNIX Version 0</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Chris - <a href="http://dpaste.com/284E5BV" target="_blank" rel="nofollow noopener">Ctrl-T</a>

<ul>
<li><a href="https://asciinema.org/a/xfSpvPT61Cnd9iRgbfIjT6kYj" target="_blank" rel="nofollow noopener">Improved Ctrl+t that shows kernel backtrace</a></li>
</ul></li>
<li>Brian - <a href="http://dpaste.com/05GDK8H#wrap" target="_blank" rel="nofollow noopener">Migrating NexentaStore to FreeBSD/FreeNAS</a></li>
<li>Avery - <a href="http://dpaste.com/26KW801#wrap" target="_blank" rel="nofollow noopener">How to get involved</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0327.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>326: Certified BSD</title>
  <link>https://www.bsdnow.tv/326</link>
  <guid isPermaLink="false">4d6f5084-1255-44ce-a255-5f969e18e44d</guid>
  <pubDate>Thu, 28 Nov 2019 07:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4d6f5084-1255-44ce-a255-5f969e18e44d.mp3" length="43280010" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>LPI releases BSD Certification, openzfs trip report, Using FreeBSD with ports, LLDB threading support ready, Linux versus Open Source Unix, and more.</itunes:subtitle>
  <itunes:duration>1:00:06</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>&lt;p&gt;LPI releases BSD Certification, openzfs trip report, Using FreeBSD with ports, LLDB threading support ready, Linux versus Open Source Unix, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.lpi.org/articles/linux-professional-institute-releases-bsd-specialist-certification" target="_blank" rel="nofollow noopener"&gt;Linux Professional Institute Releases BSD Specialist Certification - re BSD Certification Group&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Linux Professional Institute extends its Open Technology certification track with the BSD Specialist Certification. Starting October 30, 2019, BSD Specialist exams will be globally available. The certification was developed in collaboration with the BSD Certification Group which merged with Linux Professional Institute in 2018.&lt;/p&gt;

&lt;p&gt;G. Matthew Rice, the Executive Director of Linux Professional Institute says that "the release of the BSD Specialist certification marks a major milestone for Linux Professional Institute.  With this new credential, we are reaffirming our belief in the value of, and support for, all open source technologies. As much as possible, future credentials and educational programs will include coverage of BSD.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/openzfs-dev-summit-2019/" target="_blank" rel="nofollow noopener"&gt;OpenZFS Trip Report&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The seventh annual OpenZFS Developer Summit took place on November 4th and 5th in San Francisco and brought together a healthy mix of familiar faces and new community participants. Several folks from iXsystems took part in the talks, hacking, and socializing at this amazing annual event. The messages of the event can be summed up as Unification, Refinement, and Ecosystem Tooling.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://eerielinux.wordpress.com/2019/09/12/using-freebsd-with-ports-2-2-tool-assisted-updating/" target="_blank" rel="nofollow noopener"&gt;Using FreeBSD with Ports (2/2): Tool-assisted updating&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Part 1 here: &lt;a href="https://eerielinux.wordpress.com/2019/08/18/using-freebsd-with-ports-1-2-classic-way-with-tools/" target="_blank" rel="nofollow noopener"&gt;https://eerielinux.wordpress.com/2019/08/18/using-freebsd-with-ports-1-2-classic-way-with-tools/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In the previous post I explained why sometimes building your software from ports may make sense on FreeBSD. I also introduced the reader to the old-fashioned way of using tools to make working with ports a bit more convenient.&lt;/p&gt;

&lt;p&gt;In this follow-up post we’re going to take a closer look at portmaster and see how it especially makes updating from ports much, much easier. For people coming here without having read the previous article: What I describe here is not what every FreeBSD admin today should consider good practice (any more)! It can still be useful in special cases, but my main intention is to discuss this for building up the foundation for what you actually should do today.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/lldb_threading_support_now_ready" target="_blank" rel="nofollow noopener"&gt;LLDB Threading support now ready for mainline&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.&lt;/p&gt;

&lt;p&gt;In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues and fixing watchpoint support. Then, I've started working on improving thread support which is taking longer than expected. You can read more about that in my September 2019 report.&lt;/p&gt;

&lt;p&gt;So far the number of issues uncovered while enabling proper threading support has stopped me from merging the work-in-progress patches. However, I've finally reached the point where I believe that the current work can be merged and the remaining problems can be resolved afterwards. More on that and other LLVM-related events happening during the last month in this report.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.adminbyaccident.com/politics/linux-vs-open-source-unix/" target="_blank" rel="nofollow noopener"&gt;Linux VS open source UNIX&lt;/a&gt;&lt;/h3&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=157380442230074&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;Support for Realtek RTL8125 2.5Gb Ethernet controller&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://onezero.medium.com/the-death-of-the-computer-file-doc-43cb028c0506" target="_blank" rel="nofollow noopener"&gt;Computer Files Are Going Extinct&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=4FUub_UtF3c" target="_blank" rel="nofollow noopener"&gt;FreeBSD kernel hacking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/e7cJ7v2lYdE" target="_blank" rel="nofollow noopener"&gt;Modern BSD Computing for Fun on a VAX! Trying to use a VAX in today's world by Jeff Armstrong&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.justjournal.com/users/mbsd/entry/33779" target="_blank" rel="nofollow noopener"&gt;MidnightBSD 1.2 Released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Paulo - &lt;a href="http://dpaste.com/0WQRP43#wrap" target="_blank" rel="nofollow noopener"&gt;Zfs snapshots&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Phillip - &lt;a href="http://dpaste.com/075ZQE1#wrap" target="_blank" rel="nofollow noopener"&gt;GCP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A Listener - &lt;a href="http://dpaste.com/3YJ4119#wrap" target="_blank" rel="nofollow noopener"&gt;Old episodes?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0326.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, certification, openzfs, trip report, ports, llvm, lldb, threading, open source, open source unix,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>LPI releases BSD Certification, openzfs trip report, Using FreeBSD with ports, LLDB threading support ready, Linux versus Open Source Unix, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.lpi.org/articles/linux-professional-institute-releases-bsd-specialist-certification" target="_blank" rel="nofollow noopener">Linux Professional Institute Releases BSD Specialist Certification - re BSD Certification Group</a></h3>

<blockquote>
<p>Linux Professional Institute extends its Open Technology certification track with the BSD Specialist Certification. Starting October 30, 2019, BSD Specialist exams will be globally available. The certification was developed in collaboration with the BSD Certification Group which merged with Linux Professional Institute in 2018.</p>

<p>G. Matthew Rice, the Executive Director of Linux Professional Institute says that "the release of the BSD Specialist certification marks a major milestone for Linux Professional Institute.  With this new credential, we are reaffirming our belief in the value of, and support for, all open source technologies. As much as possible, future credentials and educational programs will include coverage of BSD.”</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/openzfs-dev-summit-2019/" target="_blank" rel="nofollow noopener">OpenZFS Trip Report</a></h3>

<blockquote>
<p>The seventh annual OpenZFS Developer Summit took place on November 4th and 5th in San Francisco and brought together a healthy mix of familiar faces and new community participants. Several folks from iXsystems took part in the talks, hacking, and socializing at this amazing annual event. The messages of the event can be summed up as Unification, Refinement, and Ecosystem Tooling.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://eerielinux.wordpress.com/2019/09/12/using-freebsd-with-ports-2-2-tool-assisted-updating/" target="_blank" rel="nofollow noopener">Using FreeBSD with Ports (2/2): Tool-assisted updating</a></h3>

<ul>
<li>Part 1 here: <a href="https://eerielinux.wordpress.com/2019/08/18/using-freebsd-with-ports-1-2-classic-way-with-tools/" target="_blank" rel="nofollow noopener">https://eerielinux.wordpress.com/2019/08/18/using-freebsd-with-ports-1-2-classic-way-with-tools/</a></li>
</ul>

<blockquote>
<p>In the previous post I explained why sometimes building your software from ports may make sense on FreeBSD. I also introduced the reader to the old-fashioned way of using tools to make working with ports a bit more convenient.</p>

<p>In this follow-up post we’re going to take a closer look at portmaster and see how it especially makes updating from ports much, much easier. For people coming here without having read the previous article: What I describe here is not what every FreeBSD admin today should consider good practice (any more)! It can still be useful in special cases, but my main intention is to discuss this for building up the foundation for what you actually should do today.</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/lldb_threading_support_now_ready" target="_blank" rel="nofollow noopener">LLDB Threading support now ready for mainline</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.</p>

<p>In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues and fixing watchpoint support. Then, I've started working on improving thread support which is taking longer than expected. You can read more about that in my September 2019 report.</p>

<p>So far the number of issues uncovered while enabling proper threading support has stopped me from merging the work-in-progress patches. However, I've finally reached the point where I believe that the current work can be merged and the remaining problems can be resolved afterwards. More on that and other LLVM-related events happening during the last month in this report.</p>
</blockquote>

<hr>

<h3><a href="https://www.adminbyaccident.com/politics/linux-vs-open-source-unix/" target="_blank" rel="nofollow noopener">Linux VS open source UNIX</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=157380442230074&amp;w=2" target="_blank" rel="nofollow noopener">Support for Realtek RTL8125 2.5Gb Ethernet controller</a></li>
<li><a href="https://onezero.medium.com/the-death-of-the-computer-file-doc-43cb028c0506" target="_blank" rel="nofollow noopener">Computer Files Are Going Extinct</a></li>
<li><a href="https://www.youtube.com/watch?v=4FUub_UtF3c" target="_blank" rel="nofollow noopener">FreeBSD kernel hacking</a></li>
<li><a href="https://youtu.be/e7cJ7v2lYdE" target="_blank" rel="nofollow noopener">Modern BSD Computing for Fun on a VAX! Trying to use a VAX in today's world by Jeff Armstrong</a></li>
<li><a href="https://www.justjournal.com/users/mbsd/entry/33779" target="_blank" rel="nofollow noopener">MidnightBSD 1.2 Released</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Paulo - <a href="http://dpaste.com/0WQRP43#wrap" target="_blank" rel="nofollow noopener">Zfs snapshots</a></li>
<li>Phillip - <a href="http://dpaste.com/075ZQE1#wrap" target="_blank" rel="nofollow noopener">GCP</a></li>
<li>A Listener - <a href="http://dpaste.com/3YJ4119#wrap" target="_blank" rel="nofollow noopener">Old episodes?</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0326.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>LPI releases BSD Certification, openzfs trip report, Using FreeBSD with ports, LLDB threading support ready, Linux versus Open Source Unix, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.lpi.org/articles/linux-professional-institute-releases-bsd-specialist-certification" target="_blank" rel="nofollow noopener">Linux Professional Institute Releases BSD Specialist Certification - re BSD Certification Group</a></h3>

<blockquote>
<p>Linux Professional Institute extends its Open Technology certification track with the BSD Specialist Certification. Starting October 30, 2019, BSD Specialist exams will be globally available. The certification was developed in collaboration with the BSD Certification Group which merged with Linux Professional Institute in 2018.</p>

<p>G. Matthew Rice, the Executive Director of Linux Professional Institute says that "the release of the BSD Specialist certification marks a major milestone for Linux Professional Institute.  With this new credential, we are reaffirming our belief in the value of, and support for, all open source technologies. As much as possible, future credentials and educational programs will include coverage of BSD.”</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/openzfs-dev-summit-2019/" target="_blank" rel="nofollow noopener">OpenZFS Trip Report</a></h3>

<blockquote>
<p>The seventh annual OpenZFS Developer Summit took place on November 4th and 5th in San Francisco and brought together a healthy mix of familiar faces and new community participants. Several folks from iXsystems took part in the talks, hacking, and socializing at this amazing annual event. The messages of the event can be summed up as Unification, Refinement, and Ecosystem Tooling.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://eerielinux.wordpress.com/2019/09/12/using-freebsd-with-ports-2-2-tool-assisted-updating/" target="_blank" rel="nofollow noopener">Using FreeBSD with Ports (2/2): Tool-assisted updating</a></h3>

<ul>
<li>Part 1 here: <a href="https://eerielinux.wordpress.com/2019/08/18/using-freebsd-with-ports-1-2-classic-way-with-tools/" target="_blank" rel="nofollow noopener">https://eerielinux.wordpress.com/2019/08/18/using-freebsd-with-ports-1-2-classic-way-with-tools/</a></li>
</ul>

<blockquote>
<p>In the previous post I explained why sometimes building your software from ports may make sense on FreeBSD. I also introduced the reader to the old-fashioned way of using tools to make working with ports a bit more convenient.</p>

<p>In this follow-up post we’re going to take a closer look at portmaster and see how it especially makes updating from ports much, much easier. For people coming here without having read the previous article: What I describe here is not what every FreeBSD admin today should consider good practice (any more)! It can still be useful in special cases, but my main intention is to discuss this for building up the foundation for what you actually should do today.</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/lldb_threading_support_now_ready" target="_blank" rel="nofollow noopener">LLDB Threading support now ready for mainline</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.</p>

<p>In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support, extending NetBSD's ptrace interface to cover more register types and fix compat32 issues and fixing watchpoint support. Then, I've started working on improving thread support which is taking longer than expected. You can read more about that in my September 2019 report.</p>

<p>So far the number of issues uncovered while enabling proper threading support has stopped me from merging the work-in-progress patches. However, I've finally reached the point where I believe that the current work can be merged and the remaining problems can be resolved afterwards. More on that and other LLVM-related events happening during the last month in this report.</p>
</blockquote>

<hr>

<h3><a href="https://www.adminbyaccident.com/politics/linux-vs-open-source-unix/" target="_blank" rel="nofollow noopener">Linux VS open source UNIX</a></h3>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=157380442230074&amp;w=2" target="_blank" rel="nofollow noopener">Support for Realtek RTL8125 2.5Gb Ethernet controller</a></li>
<li><a href="https://onezero.medium.com/the-death-of-the-computer-file-doc-43cb028c0506" target="_blank" rel="nofollow noopener">Computer Files Are Going Extinct</a></li>
<li><a href="https://www.youtube.com/watch?v=4FUub_UtF3c" target="_blank" rel="nofollow noopener">FreeBSD kernel hacking</a></li>
<li><a href="https://youtu.be/e7cJ7v2lYdE" target="_blank" rel="nofollow noopener">Modern BSD Computing for Fun on a VAX! Trying to use a VAX in today's world by Jeff Armstrong</a></li>
<li><a href="https://www.justjournal.com/users/mbsd/entry/33779" target="_blank" rel="nofollow noopener">MidnightBSD 1.2 Released</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Paulo - <a href="http://dpaste.com/0WQRP43#wrap" target="_blank" rel="nofollow noopener">Zfs snapshots</a></li>
<li>Phillip - <a href="http://dpaste.com/075ZQE1#wrap" target="_blank" rel="nofollow noopener">GCP</a></li>
<li>A Listener - <a href="http://dpaste.com/3YJ4119#wrap" target="_blank" rel="nofollow noopener">Old episodes?</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0326.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>325: Cracking Rainbows</title>
  <link>https://www.bsdnow.tv/325</link>
  <guid isPermaLink="false">a971b40e-d33a-44ac-9cf8-dfaf7e4aaff7</guid>
  <pubDate>Thu, 21 Nov 2019 07:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a971b40e-d33a-44ac-9cf8-dfaf7e4aaff7.mp3" length="41526775" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 12.1 is here, A history of Unix before Berkeley, FreeBSD development setup, HardenedBSD 2019 Status Report, DNSSEC, compiling RainbowCrack on OpenBSD, and more.</itunes:subtitle>
  <itunes:duration>57:40</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>&lt;p&gt;FreeBSD 12.1 is here, A history of Unix before Berkeley, FreeBSD development setup, HardenedBSD 2019 Status Report, DNSSEC, compiling RainbowCrack on OpenBSD, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/releases/12.1R/announce.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.1&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Some of the highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BearSSL has been imported to the base system.&lt;/li&gt;
&lt;li&gt;The clang, llvm, lld, lldb, compiler-rt utilities and libc++ have been updated to version 8.0.1.&lt;/li&gt;
&lt;li&gt;OpenSSL has been updated to version 1.1.1d.&lt;/li&gt;
&lt;li&gt;Several userland utility updates.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For a complete list of new features and known problems, please see the online release notes and errata list, available at: &lt;a href="https://www.FreeBSD.org/releases/12.1R/relnotes.html" target="_blank" rel="nofollow noopener"&gt;https://www.FreeBSD.org/releases/12.1R/relnotes.html&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://www.darwinsys.com/history/hist.html" target="_blank" rel="nofollow noopener"&gt;A History of UNIX before Berkeley: UNIX Evolution: 1975-1984.&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Nobody needs to be told that UNIX is popular today. In this article we will show you a little of where it was yesterday and over the past decade. And, without meaning in the least to minimise the incredible contributions of Ken Thompson and Dennis Ritchie, we will bring to light many of the others who worked on early versions, and try to show where some of the key ideas came from, and how they got into the UNIX of today.&lt;/p&gt;

&lt;p&gt;Our title says we are talking about UNIX evolution. Evolution means different things to different people. We use the term loosely, to describe the change over time among the many different UNIX variants in use both inside and outside Bell Labs. Ideas, code, and useful programs seem to have made their way back and forth - like mutant genes - among all the many UNIXes living in the phone company over the decade in question.&lt;/p&gt;

&lt;p&gt;Part One looks at some of the major components of the current UNIX system - the text formatting tools, the compilers and program development tools, and so on. Most of the work described in Part One took place at &lt;code&gt;Research'', a part of Bell Laboratories (now AT&amp;amp;T Bell Laboratories, then as now&lt;/code&gt;the Labs''), and the ancestral home of UNIX. In planned (but not written) later parts, we would have looked at some of the myriad versions of UNIX - there are far more than one might suspect. This includes a look at Columbus and USG and at Berkeley Unix. You'll begin to get a glimpse inside the history of the major streams of development of the system during that time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://adventurist.me/posts/00296" target="_blank" rel="nofollow noopener"&gt;My FreeBSD Development Setup&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I do my FreeBSD development using git, tmux, vim and cscope.&lt;/p&gt;

&lt;p&gt;I keep a FreeBSD fork on my github, I have forked &lt;a href="https://github.com/freebsd/freebsd" target="_blank" rel="nofollow noopener"&gt;https://github.com/freebsd/freebsd&lt;/a&gt; to &lt;a href="https://github.com/adventureloop/freebsd" target="_blank" rel="nofollow noopener"&gt;https://github.com/adventureloop/freebsd&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-19-7-6-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 19.7.6 released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As we are experiencing the Suricata community first hand in Amsterdam we thought to release this version a bit earlier than planned. Included is the latest Suricata 5.0.0 release in the development version. That means later this November we will releasing version 5 to the production version as we finish up tweaking the integration and maybe pick up 5.0.1 as it becomes available.&lt;/p&gt;

&lt;p&gt;LDAP TLS connectivity is now integrated into the system trust store, which ensures that all required root and intermediate certificates will be seen by the connection setup when they have been added to the authorities section. The same is true for trusting self-signed certificates. On top of this, IPsec now supports public key authentication as contributed by Pascal Mathis.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2019-11-09/hardenedbsd-status-report" target="_blank" rel="nofollow noopener"&gt;HardenedBSD November 2019 Status Report.&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We at HardenedBSD have a lot of news to share. On 05 Nov 2019, Oliver Pinter resigned amicably from the project. All of us at HardenedBSD owe Oliver our gratitude and appreciation. This humble project, named by Oliver, was born out of his thesis work and the collaboration with Shawn Webb. Oliver created the HardenedBSD repo on GitHub in April 2013. The HardenedBSD Foundation was formed five years later to carry on this great work. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20191110123908" target="_blank" rel="nofollow noopener"&gt;DNSSEC enabled in default unbound(8) configuration.&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;DNSSEC validation has been enabled in the default unbound.conf(5) in -current. The relevant commits were from Job Snijders (job@)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.howtoforge.com/how-to-install-shopware-with-nginx-and-lets-encrypt-on-freebsd-12/" target="_blank" rel="nofollow noopener"&gt;How to Install Shopware with NGINX and Let's Encrypt on FreeBSD 12&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Shopware is the next generation of open source e-commerce software. Based on bleeding edge technologies like Symfony 3, Doctrine2 and Zend Framework Shopware comes as the perfect platform for your next e-commerce project. This tutorial will walk you through the Shopware Community Edition (CE) installation on FreeBSD 12 system by using NGINX as a web server.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Make sure your system meets the following minimum requirements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Linux-based operating system with NGINX or Apache 2.x (with mod_rewrite) web server installed. &lt;/li&gt;
&lt;li&gt;PHP 5.6.4 or higher with ctype, gd, curl, dom, hash, iconv, zip, json, mbstring, openssl, session, simplexml, xml, zlib, fileinfo, and pdo/mysql extensions. PHP 7.1 or above is strongly recommended.&lt;/li&gt;
&lt;li&gt;MySQL 5.5.0 or higher.&lt;/li&gt;
&lt;li&gt;Possibility to set up cron jobs.&lt;/li&gt;
&lt;li&gt;Minimum 4 GB available hard disk space.&lt;/li&gt;
&lt;li&gt;IonCube Loader version 5.0.0 or higher (optional).&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://cromwell-intl.com/open-source/compiling-rainbowcrack-on-openbsd.html" target="_blank" rel="nofollow noopener"&gt;How to Compile RainbowCrack on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Project RainbowCrack was originally Zhu Shuanglei's implementation, it's not clear to me if the project is still just his or if it's even been maintained for a while. His page seems to have been last updated in August 2007.&lt;/p&gt;

&lt;p&gt;The Project RainbowCrack web page now has just binaries for Windows XP and Linux, both 32-bit and 64-bit versions.&lt;/p&gt;

&lt;p&gt;Earlier versions were available as source code. The version 1.2 source code does not compile on OpenBSD, and in my experience it doesn't compile on Linux, either. It seems to date from 2004 at the earliest, and I think it makes some version-2.4 assumptions about Linux kernel headers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;You might also look at ophcrack, a more modern tool, although it seems to be focused on cracking Windows XP/Vista/7/8/10 password hashes&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Reese - &lt;a href="http://dpaste.com/2RDG9K4#wrap" target="_blank" rel="nofollow noopener"&gt;Amature radio info&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Chris - &lt;a href="http://dpaste.com/2K4T2FQ#wrap" target="_blank" rel="nofollow noopener"&gt;VPN&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Malcolm - &lt;a href="http://dpaste.com/138NEMA" target="_blank" rel="nofollow noopener"&gt;NAT&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0325.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, 12.1, Unix, history, berkeley, OPNsense, development, setup, dev, devel, status report, dnssec, unbound, shopware, let’s encrypt, nginx, rainbowcrack, compiling</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 12.1 is here, A history of Unix before Berkeley, FreeBSD development setup, HardenedBSD 2019 Status Report, DNSSEC, compiling RainbowCrack on OpenBSD, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/12.1R/announce.html" target="_blank" rel="nofollow noopener">FreeBSD 12.1</a></h3>

<ul>
<li><p>Some of the highlights:</p>

<ul>
<li>BearSSL has been imported to the base system.</li>
<li>The clang, llvm, lld, lldb, compiler-rt utilities and libc++ have been updated to version 8.0.1.</li>
<li>OpenSSL has been updated to version 1.1.1d.</li>
<li>Several userland utility updates.</li>
</ul></li>
<li><p>For a complete list of new features and known problems, please see the online release notes and errata list, available at: <a href="https://www.FreeBSD.org/releases/12.1R/relnotes.html" target="_blank" rel="nofollow noopener">https://www.FreeBSD.org/releases/12.1R/relnotes.html</a></p></li>
</ul>

<hr>

<h3><a href="http://www.darwinsys.com/history/hist.html" target="_blank" rel="nofollow noopener">A History of UNIX before Berkeley: UNIX Evolution: 1975-1984.</a></h3>

<blockquote>
<p>Nobody needs to be told that UNIX is popular today. In this article we will show you a little of where it was yesterday and over the past decade. And, without meaning in the least to minimise the incredible contributions of Ken Thompson and Dennis Ritchie, we will bring to light many of the others who worked on early versions, and try to show where some of the key ideas came from, and how they got into the UNIX of today.</p>

<p>Our title says we are talking about UNIX evolution. Evolution means different things to different people. We use the term loosely, to describe the change over time among the many different UNIX variants in use both inside and outside Bell Labs. Ideas, code, and useful programs seem to have made their way back and forth - like mutant genes - among all the many UNIXes living in the phone company over the decade in question.</p>

<p>Part One looks at some of the major components of the current UNIX system - the text formatting tools, the compilers and program development tools, and so on. Most of the work described in Part One took place at <code>Research'', a part of Bell Laboratories (now AT&amp;T Bell Laboratories, then as now</code>the Labs''), and the ancestral home of UNIX. In planned (but not written) later parts, we would have looked at some of the myriad versions of UNIX - there are far more than one might suspect. This includes a look at Columbus and USG and at Berkeley Unix. You'll begin to get a glimpse inside the history of the major streams of development of the system during that time.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://adventurist.me/posts/00296" target="_blank" rel="nofollow noopener">My FreeBSD Development Setup</a></h3>

<blockquote>
<p>I do my FreeBSD development using git, tmux, vim and cscope.</p>

<p>I keep a FreeBSD fork on my github, I have forked <a href="https://github.com/freebsd/freebsd" target="_blank" rel="nofollow noopener">https://github.com/freebsd/freebsd</a> to <a href="https://github.com/adventureloop/freebsd" target="_blank" rel="nofollow noopener">https://github.com/adventureloop/freebsd</a></p>
</blockquote>

<hr>

<h3><a href="https://opnsense.org/opnsense-19-7-6-released/" target="_blank" rel="nofollow noopener">OPNsense 19.7.6 released</a></h3>

<blockquote>
<p>As we are experiencing the Suricata community first hand in Amsterdam we thought to release this version a bit earlier than planned. Included is the latest Suricata 5.0.0 release in the development version. That means later this November we will releasing version 5 to the production version as we finish up tweaking the integration and maybe pick up 5.0.1 as it becomes available.</p>

<p>LDAP TLS connectivity is now integrated into the system trust store, which ensures that all required root and intermediate certificates will be seen by the connection setup when they have been added to the authorities section. The same is true for trusting self-signed certificates. On top of this, IPsec now supports public key authentication as contributed by Pascal Mathis.</p>
</blockquote>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2019-11-09/hardenedbsd-status-report" target="_blank" rel="nofollow noopener">HardenedBSD November 2019 Status Report.</a></h3>

<blockquote>
<p>We at HardenedBSD have a lot of news to share. On 05 Nov 2019, Oliver Pinter resigned amicably from the project. All of us at HardenedBSD owe Oliver our gratitude and appreciation. This humble project, named by Oliver, was born out of his thesis work and the collaboration with Shawn Webb. Oliver created the HardenedBSD repo on GitHub in April 2013. The HardenedBSD Foundation was formed five years later to carry on this great work. </p>
</blockquote>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20191110123908" target="_blank" rel="nofollow noopener">DNSSEC enabled in default unbound(8) configuration.</a></h3>

<blockquote>
<p>DNSSEC validation has been enabled in the default unbound.conf(5) in -current. The relevant commits were from Job Snijders (job@)</p>
</blockquote>

<hr>

<h3><a href="https://www.howtoforge.com/how-to-install-shopware-with-nginx-and-lets-encrypt-on-freebsd-12/" target="_blank" rel="nofollow noopener">How to Install Shopware with NGINX and Let's Encrypt on FreeBSD 12</a></h3>

<blockquote>
<p>Shopware is the next generation of open source e-commerce software. Based on bleeding edge technologies like Symfony 3, Doctrine2 and Zend Framework Shopware comes as the perfect platform for your next e-commerce project. This tutorial will walk you through the Shopware Community Edition (CE) installation on FreeBSD 12 system by using NGINX as a web server.</p>
</blockquote>

<ul>
<li>Requirements</li>
</ul>

<blockquote>
<p>Make sure your system meets the following minimum requirements:</p>

<ul>
<li>Linux-based operating system with NGINX or Apache 2.x (with mod_rewrite) web server installed. </li>
<li>PHP 5.6.4 or higher with ctype, gd, curl, dom, hash, iconv, zip, json, mbstring, openssl, session, simplexml, xml, zlib, fileinfo, and pdo/mysql extensions. PHP 7.1 or above is strongly recommended.</li>
<li>MySQL 5.5.0 or higher.</li>
<li>Possibility to set up cron jobs.</li>
<li>Minimum 4 GB available hard disk space.</li>
<li>IonCube Loader version 5.0.0 or higher (optional).</li>
</ul>
</blockquote>

<hr>

<h3><a href="https://cromwell-intl.com/open-source/compiling-rainbowcrack-on-openbsd.html" target="_blank" rel="nofollow noopener">How to Compile RainbowCrack on OpenBSD</a></h3>

<blockquote>
<p>Project RainbowCrack was originally Zhu Shuanglei's implementation, it's not clear to me if the project is still just his or if it's even been maintained for a while. His page seems to have been last updated in August 2007.</p>

<p>The Project RainbowCrack web page now has just binaries for Windows XP and Linux, both 32-bit and 64-bit versions.</p>

<p>Earlier versions were available as source code. The version 1.2 source code does not compile on OpenBSD, and in my experience it doesn't compile on Linux, either. It seems to date from 2004 at the earliest, and I think it makes some version-2.4 assumptions about Linux kernel headers.</p>
</blockquote>

<ul>
<li>You might also look at ophcrack, a more modern tool, although it seems to be focused on cracking Windows XP/Vista/7/8/10 password hashes</li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Reese - <a href="http://dpaste.com/2RDG9K4#wrap" target="_blank" rel="nofollow noopener">Amature radio info</a></li>
<li>Chris - <a href="http://dpaste.com/2K4T2FQ#wrap" target="_blank" rel="nofollow noopener">VPN</a></li>
<li>Malcolm - <a href="http://dpaste.com/138NEMA" target="_blank" rel="nofollow noopener">NAT</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0325.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 12.1 is here, A history of Unix before Berkeley, FreeBSD development setup, HardenedBSD 2019 Status Report, DNSSEC, compiling RainbowCrack on OpenBSD, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/12.1R/announce.html" target="_blank" rel="nofollow noopener">FreeBSD 12.1</a></h3>

<ul>
<li><p>Some of the highlights:</p>

<ul>
<li>BearSSL has been imported to the base system.</li>
<li>The clang, llvm, lld, lldb, compiler-rt utilities and libc++ have been updated to version 8.0.1.</li>
<li>OpenSSL has been updated to version 1.1.1d.</li>
<li>Several userland utility updates.</li>
</ul></li>
<li><p>For a complete list of new features and known problems, please see the online release notes and errata list, available at: <a href="https://www.FreeBSD.org/releases/12.1R/relnotes.html" target="_blank" rel="nofollow noopener">https://www.FreeBSD.org/releases/12.1R/relnotes.html</a></p></li>
</ul>

<hr>

<h3><a href="http://www.darwinsys.com/history/hist.html" target="_blank" rel="nofollow noopener">A History of UNIX before Berkeley: UNIX Evolution: 1975-1984.</a></h3>

<blockquote>
<p>Nobody needs to be told that UNIX is popular today. In this article we will show you a little of where it was yesterday and over the past decade. And, without meaning in the least to minimise the incredible contributions of Ken Thompson and Dennis Ritchie, we will bring to light many of the others who worked on early versions, and try to show where some of the key ideas came from, and how they got into the UNIX of today.</p>

<p>Our title says we are talking about UNIX evolution. Evolution means different things to different people. We use the term loosely, to describe the change over time among the many different UNIX variants in use both inside and outside Bell Labs. Ideas, code, and useful programs seem to have made their way back and forth - like mutant genes - among all the many UNIXes living in the phone company over the decade in question.</p>

<p>Part One looks at some of the major components of the current UNIX system - the text formatting tools, the compilers and program development tools, and so on. Most of the work described in Part One took place at <code>Research'', a part of Bell Laboratories (now AT&amp;T Bell Laboratories, then as now</code>the Labs''), and the ancestral home of UNIX. In planned (but not written) later parts, we would have looked at some of the myriad versions of UNIX - there are far more than one might suspect. This includes a look at Columbus and USG and at Berkeley Unix. You'll begin to get a glimpse inside the history of the major streams of development of the system during that time.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://adventurist.me/posts/00296" target="_blank" rel="nofollow noopener">My FreeBSD Development Setup</a></h3>

<blockquote>
<p>I do my FreeBSD development using git, tmux, vim and cscope.</p>

<p>I keep a FreeBSD fork on my github, I have forked <a href="https://github.com/freebsd/freebsd" target="_blank" rel="nofollow noopener">https://github.com/freebsd/freebsd</a> to <a href="https://github.com/adventureloop/freebsd" target="_blank" rel="nofollow noopener">https://github.com/adventureloop/freebsd</a></p>
</blockquote>

<hr>

<h3><a href="https://opnsense.org/opnsense-19-7-6-released/" target="_blank" rel="nofollow noopener">OPNsense 19.7.6 released</a></h3>

<blockquote>
<p>As we are experiencing the Suricata community first hand in Amsterdam we thought to release this version a bit earlier than planned. Included is the latest Suricata 5.0.0 release in the development version. That means later this November we will releasing version 5 to the production version as we finish up tweaking the integration and maybe pick up 5.0.1 as it becomes available.</p>

<p>LDAP TLS connectivity is now integrated into the system trust store, which ensures that all required root and intermediate certificates will be seen by the connection setup when they have been added to the authorities section. The same is true for trusting self-signed certificates. On top of this, IPsec now supports public key authentication as contributed by Pascal Mathis.</p>
</blockquote>

<hr>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2019-11-09/hardenedbsd-status-report" target="_blank" rel="nofollow noopener">HardenedBSD November 2019 Status Report.</a></h3>

<blockquote>
<p>We at HardenedBSD have a lot of news to share. On 05 Nov 2019, Oliver Pinter resigned amicably from the project. All of us at HardenedBSD owe Oliver our gratitude and appreciation. This humble project, named by Oliver, was born out of his thesis work and the collaboration with Shawn Webb. Oliver created the HardenedBSD repo on GitHub in April 2013. The HardenedBSD Foundation was formed five years later to carry on this great work. </p>
</blockquote>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20191110123908" target="_blank" rel="nofollow noopener">DNSSEC enabled in default unbound(8) configuration.</a></h3>

<blockquote>
<p>DNSSEC validation has been enabled in the default unbound.conf(5) in -current. The relevant commits were from Job Snijders (job@)</p>
</blockquote>

<hr>

<h3><a href="https://www.howtoforge.com/how-to-install-shopware-with-nginx-and-lets-encrypt-on-freebsd-12/" target="_blank" rel="nofollow noopener">How to Install Shopware with NGINX and Let's Encrypt on FreeBSD 12</a></h3>

<blockquote>
<p>Shopware is the next generation of open source e-commerce software. Based on bleeding edge technologies like Symfony 3, Doctrine2 and Zend Framework Shopware comes as the perfect platform for your next e-commerce project. This tutorial will walk you through the Shopware Community Edition (CE) installation on FreeBSD 12 system by using NGINX as a web server.</p>
</blockquote>

<ul>
<li>Requirements</li>
</ul>

<blockquote>
<p>Make sure your system meets the following minimum requirements:</p>

<ul>
<li>Linux-based operating system with NGINX or Apache 2.x (with mod_rewrite) web server installed. </li>
<li>PHP 5.6.4 or higher with ctype, gd, curl, dom, hash, iconv, zip, json, mbstring, openssl, session, simplexml, xml, zlib, fileinfo, and pdo/mysql extensions. PHP 7.1 or above is strongly recommended.</li>
<li>MySQL 5.5.0 or higher.</li>
<li>Possibility to set up cron jobs.</li>
<li>Minimum 4 GB available hard disk space.</li>
<li>IonCube Loader version 5.0.0 or higher (optional).</li>
</ul>
</blockquote>

<hr>

<h3><a href="https://cromwell-intl.com/open-source/compiling-rainbowcrack-on-openbsd.html" target="_blank" rel="nofollow noopener">How to Compile RainbowCrack on OpenBSD</a></h3>

<blockquote>
<p>Project RainbowCrack was originally Zhu Shuanglei's implementation, it's not clear to me if the project is still just his or if it's even been maintained for a while. His page seems to have been last updated in August 2007.</p>

<p>The Project RainbowCrack web page now has just binaries for Windows XP and Linux, both 32-bit and 64-bit versions.</p>

<p>Earlier versions were available as source code. The version 1.2 source code does not compile on OpenBSD, and in my experience it doesn't compile on Linux, either. It seems to date from 2004 at the earliest, and I think it makes some version-2.4 assumptions about Linux kernel headers.</p>
</blockquote>

<ul>
<li>You might also look at ophcrack, a more modern tool, although it seems to be focused on cracking Windows XP/Vista/7/8/10 password hashes</li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Reese - <a href="http://dpaste.com/2RDG9K4#wrap" target="_blank" rel="nofollow noopener">Amature radio info</a></li>
<li>Chris - <a href="http://dpaste.com/2K4T2FQ#wrap" target="_blank" rel="nofollow noopener">VPN</a></li>
<li>Malcolm - <a href="http://dpaste.com/138NEMA" target="_blank" rel="nofollow noopener">NAT</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0325.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>324: Emergency Space Mode</title>
  <link>https://www.bsdnow.tv/324</link>
  <guid isPermaLink="false">e82a766b-37c4-4d16-896b-6fcfcfdef480</guid>
  <pubDate>Thu, 14 Nov 2019 07:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e82a766b-37c4-4d16-896b-6fcfcfdef480.mp3" length="33490674" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Migrating drives and zpool between hosts, OpenBSD in 2019, Dragonfly’s new zlib and dhcpcd, Batch renaming images and resolution with awk, a rant on the X11 ICCCM selection system, hammer 2 emergency space mode, and more.</itunes:subtitle>
  <itunes:duration>46:30</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>&lt;p&gt;Migrating drives and zpool between hosts, OpenBSD in 2019, Dragonfly’s new zlib and dhcpcd, Batch renaming images and resolution with awk, a rant on the X11 ICCCM selection system, hammer 2 emergency space mode, and more.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2019/10/26/migrating-drives-and-the-zpool-from-one-host-to-another/" target="_blank" rel="nofollow noopener"&gt;Migrating drives and the zpool from one host to another.&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Today is the day.&lt;/p&gt;

&lt;p&gt;Today I move a zpool from an R710 into an R720. The goal: all services on that zpool start running on the new host.&lt;/p&gt;

&lt;p&gt;Fortunately, that zpool is dedicated to jails, more or less. I have done some planning about this, including moving a poudriere on the R710 into a jail.&lt;/p&gt;

&lt;p&gt;Now it is almost noon on Saturday, I am sitting in the basement (just outside the server room), and I’m typing this up.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;In this post:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD 12.0&lt;/li&gt;
&lt;li&gt;Dell R710 (r710-01)&lt;/li&gt;
&lt;li&gt;Dell R720 (r720-01)&lt;/li&gt;
&lt;li&gt;drive caddies from eBay and now I know the difference between SATA and SATAu&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://docs.oracle.com/cd/E19253-01/819-5461/gbchy/index.html" target="_blank" rel="nofollow noopener"&gt;PLEASE READ THIS first: Migrating ZFS Storage Pools&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.habets.se/2019/10/OpenBSD-in-2019.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD in 2019&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve used OpenBSD on and off since 2.1. More back then than in the last 10 years or so though, so I thought I’d try it again.&lt;/p&gt;

&lt;p&gt;What triggered this was me finding a silly bug in GNU cpio that has existed with a “FIXME” comment since at least 1994. I checked OpenBSD to see if it had a related bug, but as expected no it was just fine.&lt;/p&gt;

&lt;p&gt;I don’t quite remember why I stopped using OpenBSD for servers, but I do remember filesystem corruption on “unexpected power disconnections” (even with softdep turned on), which I’ve never really seen on Linux.&lt;/p&gt;

&lt;p&gt;That and that fewer things “just worked” than with Linux, which matters more when I installed more random things than I do now. I’ve become a lot more minimalist. Probably due to less spare time. Life is better when you don’t run things like PHP (not that OpenBSD doesn’t support PHP, just an example) or your own email server with various antispam tooling, and other things.&lt;/p&gt;

&lt;p&gt;This is all experience from running OpenBSD on a server. On my next laptop I intend to try running OpenBSD on the dektop, and will see if that more ad-hoc environment works well. E.g. will gnuradio work? Lack of other-OS VM support may be a problem.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Verdict&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Ouch, that’s a long list of bad stuff. Still, I like it. I’ll continue to run it, and will make sure my stuff continues working on OpenBSD.&lt;/p&gt;

&lt;p&gt;And maybe in a year I’ll have a review of OpenBSD on a laptop.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2019/10/29/23683.html" target="_blank" rel="nofollow noopener"&gt;New zlib, new dhcpcd&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;zlib and dhcpcd are both updated in DragonFly… but my quick perusal of the commits makes it sound like bugfix only; no usage changes needed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;DHCPCD Commit: &lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2019-October/719768.html" target="_blank" rel="nofollow noopener"&gt;http://lists.dragonflybsd.org/pipermail/commits/2019-October/719768.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;ZLIB Commit: &lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2019-October/719772.html" target="_blank" rel="nofollow noopener"&gt;http://lists.dragonflybsd.org/pipermail/commits/2019-October/719772.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://victoria.dev/verbose/batch-renaming-images-including-image-resolution-with-awk/" target="_blank" rel="nofollow noopener"&gt;Batch renaming images, including image resolution, with awk&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The most recent item on my list of “Geeky things I did that made me feel pretty awesome” is an hour’s adventure that culminated in this code:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;$ file IMG* | awk 'BEGIN{a=0} {print substr($1, 1, length($1)-5),a++"_"substr($8,1, length($8)-1)}' | while read fn fr; do echo $(rename -v "s/$fn/img_$fr/g" *); done
IMG_20170808_172653_425.jpg renamed as img_0_4032x3024.jpg
IMG_20170808_173020_267.jpg renamed as img_1_3024x3506.jpg
IMG_20170808_173130_616.jpg renamed as img_2_3024x3779.jpg
IMG_20170808_173221_425.jpg renamed as img_3_3024x3780.jpg
IMG_20170808_173417_059.jpg renamed as img_4_2956x2980.jpg
IMG_20170808_173450_971.jpg renamed as img_5_3024x3024.jpg
IMG_20170808_173536_034.jpg renamed as img_6_4032x3024.jpg
IMG_20170808_173602_732.jpg renamed as img_7_1617x1617.jpg
IMG_20170808_173645_339.jpg renamed as img_8_3024x3780.jpg
IMG_20170909_170146_585.jpg renamed as img_9_3036x3036.jpg
IMG_20170911_211522_543.jpg renamed as img_10_3036x3036.jpg
IMG_20170913_071608_288.jpg renamed as img_11_2760x2760.jpg
IMG_20170913_073205_522.jpg renamed as img_12_2738x2738.jpg
// ... etc etc
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;The last item on the aforementioned list is “TODO: come up with a shorter title for this list.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://www.call-with-current-continuation.org/rants/icccm.txt" target="_blank" rel="nofollow noopener"&gt;I hate the X11 ICCCM selection system, and you should too - A Rant&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;d00d, that document is devilspawn. I've recently spent my nights in pain&lt;br&gt;
implementing the selection mechanism. WHY OH WHY OH WHY? why me?  why did I choose to do this? and what sick evil twisted mind wrote this damn spec? I don't know why I'm working with it, I just wanted to make a useful program.&lt;/p&gt;

&lt;p&gt;I didn't know what I was getting myself in to. Nobody knows until they try it. And once you start, you're unable to stop. You can't stop, if you stop then you haven't completed it to spec. You can't fail on this, it's just a few pages of text, how can that be so hard? So what if they use Atoms for everything. So what if there's no explicit correlation between the target type of a SelectionNotify event and the type of the property it indicates?&lt;/p&gt;

&lt;p&gt;So what if the distinction is ambiguous? So what if the document is littered with such atrocities? It's not the spec's fault, the spec is authoritative. It's obviously YOUR (the implementor's) fault for misunderstanding it. If you didn't misunderstand it, you wouldn't be here complaining about it would you?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2019/10/22/23652.html" target="_blank" rel="nofollow noopener"&gt;HAMMER2 emergency space mode&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As anyone who has been running HAMMER1 or HAMMER2 has noticed, snapshots and copy on write and infinite history can eat a lot of disk space, even if the actual file volume isn’t changing much.  There’s now an ‘emergency mode‘ for HAMMER2, where disk operations can happen even if there isn’t space for the normal history activity.  It’s dangerous, in that the normal protections against data loss if power is cut go away, and snapshots created while in this mode will be mangled.  So definitely don’t leave it on!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/BastilleBSD/status/1186659762458501120" target="_blank" rel="nofollow noopener"&gt;The BastilleBSD community has started work on over 100 automation templates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/10/23/23654.html" target="_blank" rel="nofollow noopener"&gt;PAM perturbed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://teespring.com/stores/openbsd" target="_blank" rel="nofollow noopener"&gt;OpenBSD T-Shirts now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://old.reddit.com/r/freebsd/comments/dlyqtq/fastocloud_opensource_media_service_now_available/" target="_blank" rel="nofollow noopener"&gt;FastoCloud (Opensource Media Service) now available on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.cs.princeton.edu/%7Ebwk/" target="_blank" rel="nofollow noopener"&gt;Unix: A History and a Memoir by Brian Kernighan now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/openbsd_gaming/comments/d6xboo/openbsd_moonlight_game_streaming_client_from_a/" target="_blank" rel="nofollow noopener"&gt;OpenBSD Moonlight game streaming client from a Windows + Nvidia PC&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Tim - &lt;a href="http://dpaste.com/38DNSXT#wrap" target="_blank" rel="nofollow noopener"&gt;Release Notes for Lumina 1.5&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3QJX8G3#wrap" target="_blank" rel="nofollow noopener"&gt;Answer Here&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/316MGVX#wrap" target="_blank" rel="nofollow noopener"&gt;vBSDcon Trip Report&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jacob - &lt;a href="http://dpaste.com/131N05J#wrap" target="_blank" rel="nofollow noopener"&gt;Using terminfo on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0324.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, migrating drive, migrating zpool, zpool, migration, zlib, dhcpcd, awk, batch, renaming, x11, ICCCM, hammer 2, emergency space mode</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Migrating drives and zpool between hosts, OpenBSD in 2019, Dragonfly’s new zlib and dhcpcd, Batch renaming images and resolution with awk, a rant on the X11 ICCCM selection system, hammer 2 emergency space mode, and more.</p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://dan.langille.org/2019/10/26/migrating-drives-and-the-zpool-from-one-host-to-another/" target="_blank" rel="nofollow noopener">Migrating drives and the zpool from one host to another.</a></h3>

<blockquote>
<p>Today is the day.</p>

<p>Today I move a zpool from an R710 into an R720. The goal: all services on that zpool start running on the new host.</p>

<p>Fortunately, that zpool is dedicated to jails, more or less. I have done some planning about this, including moving a poudriere on the R710 into a jail.</p>

<p>Now it is almost noon on Saturday, I am sitting in the basement (just outside the server room), and I’m typing this up.</p>
</blockquote>

<ul>
<li><p>In this post:</p>

<ul>
<li>FreeBSD 12.0</li>
<li>Dell R710 (r710-01)</li>
<li>Dell R720 (r720-01)</li>
<li>drive caddies from eBay and now I know the difference between SATA and SATAu</li>
</ul></li>
<li><p><a href="https://docs.oracle.com/cd/E19253-01/819-5461/gbchy/index.html" target="_blank" rel="nofollow noopener">PLEASE READ THIS first: Migrating ZFS Storage Pools</a></p></li>
</ul>

<hr>

<h3><a href="https://blog.habets.se/2019/10/OpenBSD-in-2019.html" target="_blank" rel="nofollow noopener">OpenBSD in 2019</a></h3>

<blockquote>
<p>I’ve used OpenBSD on and off since 2.1. More back then than in the last 10 years or so though, so I thought I’d try it again.</p>

<p>What triggered this was me finding a silly bug in GNU cpio that has existed with a “FIXME” comment since at least 1994. I checked OpenBSD to see if it had a related bug, but as expected no it was just fine.</p>

<p>I don’t quite remember why I stopped using OpenBSD for servers, but I do remember filesystem corruption on “unexpected power disconnections” (even with softdep turned on), which I’ve never really seen on Linux.</p>

<p>That and that fewer things “just worked” than with Linux, which matters more when I installed more random things than I do now. I’ve become a lot more minimalist. Probably due to less spare time. Life is better when you don’t run things like PHP (not that OpenBSD doesn’t support PHP, just an example) or your own email server with various antispam tooling, and other things.</p>

<p>This is all experience from running OpenBSD on a server. On my next laptop I intend to try running OpenBSD on the dektop, and will see if that more ad-hoc environment works well. E.g. will gnuradio work? Lack of other-OS VM support may be a problem.</p>
</blockquote>

<ul>
<li>Verdict</li>
</ul>

<blockquote>
<p>Ouch, that’s a long list of bad stuff. Still, I like it. I’ll continue to run it, and will make sure my stuff continues working on OpenBSD.</p>

<p>And maybe in a year I’ll have a review of OpenBSD on a laptop.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.dragonflydigest.com/2019/10/29/23683.html" target="_blank" rel="nofollow noopener">New zlib, new dhcpcd</a></h3>

<blockquote>
<p>zlib and dhcpcd are both updated in DragonFly… but my quick perusal of the commits makes it sound like bugfix only; no usage changes needed.</p>
</blockquote>

<ul>
<li>DHCPCD Commit: <a href="http://lists.dragonflybsd.org/pipermail/commits/2019-October/719768.html" target="_blank" rel="nofollow noopener">http://lists.dragonflybsd.org/pipermail/commits/2019-October/719768.html</a></li>
<li>ZLIB Commit: <a href="http://lists.dragonflybsd.org/pipermail/commits/2019-October/719772.html" target="_blank" rel="nofollow noopener">http://lists.dragonflybsd.org/pipermail/commits/2019-October/719772.html</a></li>
</ul>

<hr>

<h3><a href="https://victoria.dev/verbose/batch-renaming-images-including-image-resolution-with-awk/" target="_blank" rel="nofollow noopener">Batch renaming images, including image resolution, with awk</a></h3>

<blockquote>
<p>The most recent item on my list of “Geeky things I did that made me feel pretty awesome” is an hour’s adventure that culminated in this code:</p>
</blockquote>

<pre><code>$ file IMG* | awk 'BEGIN{a=0} {print substr($1, 1, length($1)-5),a++"_"substr($8,1, length($8)-1)}' | while read fn fr; do echo $(rename -v "s/$fn/img_$fr/g" *); done
IMG_20170808_172653_425.jpg renamed as img_0_4032x3024.jpg
IMG_20170808_173020_267.jpg renamed as img_1_3024x3506.jpg
IMG_20170808_173130_616.jpg renamed as img_2_3024x3779.jpg
IMG_20170808_173221_425.jpg renamed as img_3_3024x3780.jpg
IMG_20170808_173417_059.jpg renamed as img_4_2956x2980.jpg
IMG_20170808_173450_971.jpg renamed as img_5_3024x3024.jpg
IMG_20170808_173536_034.jpg renamed as img_6_4032x3024.jpg
IMG_20170808_173602_732.jpg renamed as img_7_1617x1617.jpg
IMG_20170808_173645_339.jpg renamed as img_8_3024x3780.jpg
IMG_20170909_170146_585.jpg renamed as img_9_3036x3036.jpg
IMG_20170911_211522_543.jpg renamed as img_10_3036x3036.jpg
IMG_20170913_071608_288.jpg renamed as img_11_2760x2760.jpg
IMG_20170913_073205_522.jpg renamed as img_12_2738x2738.jpg
// ... etc etc
</code></pre>

<blockquote>
<p>The last item on the aforementioned list is “TODO: come up with a shorter title for this list.”</p>
</blockquote>

<hr>

<h3><a href="http://www.call-with-current-continuation.org/rants/icccm.txt" target="_blank" rel="nofollow noopener">I hate the X11 ICCCM selection system, and you should too - A Rant</a></h3>

<blockquote>
<p>d00d, that document is devilspawn. I've recently spent my nights in pain<br>
implementing the selection mechanism. WHY OH WHY OH WHY? why me?  why did I choose to do this? and what sick evil twisted mind wrote this damn spec? I don't know why I'm working with it, I just wanted to make a useful program.</p>

<p>I didn't know what I was getting myself in to. Nobody knows until they try it. And once you start, you're unable to stop. You can't stop, if you stop then you haven't completed it to spec. You can't fail on this, it's just a few pages of text, how can that be so hard? So what if they use Atoms for everything. So what if there's no explicit correlation between the target type of a SelectionNotify event and the type of the property it indicates?</p>

<p>So what if the distinction is ambiguous? So what if the document is littered with such atrocities? It's not the spec's fault, the spec is authoritative. It's obviously YOUR (the implementor's) fault for misunderstanding it. If you didn't misunderstand it, you wouldn't be here complaining about it would you?</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/10/22/23652.html" target="_blank" rel="nofollow noopener">HAMMER2 emergency space mode</a></h3>

<blockquote>
<p>As anyone who has been running HAMMER1 or HAMMER2 has noticed, snapshots and copy on write and infinite history can eat a lot of disk space, even if the actual file volume isn’t changing much.  There’s now an ‘emergency mode‘ for HAMMER2, where disk operations can happen even if there isn’t space for the normal history activity.  It’s dangerous, in that the normal protections against data loss if power is cut go away, and snapshots created while in this mode will be mangled.  So definitely don’t leave it on!</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/BastilleBSD/status/1186659762458501120" target="_blank" rel="nofollow noopener">The BastilleBSD community has started work on over 100 automation templates</a></li>
<li><a href="https://www.dragonflydigest.com/2019/10/23/23654.html" target="_blank" rel="nofollow noopener">PAM perturbed</a></li>
<li><a href="https://teespring.com/stores/openbsd" target="_blank" rel="nofollow noopener">OpenBSD T-Shirts now available</a></li>
<li><a href="https://old.reddit.com/r/freebsd/comments/dlyqtq/fastocloud_opensource_media_service_now_available/" target="_blank" rel="nofollow noopener">FastoCloud (Opensource Media Service) now available on FreeBSD</a></li>
<li><a href="https://www.cs.princeton.edu/%7Ebwk/" target="_blank" rel="nofollow noopener">Unix: A History and a Memoir by Brian Kernighan now available</a></li>
<li><a href="https://www.reddit.com/r/openbsd_gaming/comments/d6xboo/openbsd_moonlight_game_streaming_client_from_a/" target="_blank" rel="nofollow noopener">OpenBSD Moonlight game streaming client from a Windows + Nvidia PC</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Tim - <a href="http://dpaste.com/38DNSXT#wrap" target="_blank" rel="nofollow noopener">Release Notes for Lumina 1.5</a>

<ul>
<li><a href="http://dpaste.com/3QJX8G3#wrap" target="_blank" rel="nofollow noopener">Answer Here</a></li>
</ul></li>
<li>Brad - <a href="http://dpaste.com/316MGVX#wrap" target="_blank" rel="nofollow noopener">vBSDcon Trip Report</a></li>
<li>Jacob - <a href="http://dpaste.com/131N05J#wrap" target="_blank" rel="nofollow noopener">Using terminfo on FreeBSD</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0324.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Migrating drives and zpool between hosts, OpenBSD in 2019, Dragonfly’s new zlib and dhcpcd, Batch renaming images and resolution with awk, a rant on the X11 ICCCM selection system, hammer 2 emergency space mode, and more.</p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://dan.langille.org/2019/10/26/migrating-drives-and-the-zpool-from-one-host-to-another/" target="_blank" rel="nofollow noopener">Migrating drives and the zpool from one host to another.</a></h3>

<blockquote>
<p>Today is the day.</p>

<p>Today I move a zpool from an R710 into an R720. The goal: all services on that zpool start running on the new host.</p>

<p>Fortunately, that zpool is dedicated to jails, more or less. I have done some planning about this, including moving a poudriere on the R710 into a jail.</p>

<p>Now it is almost noon on Saturday, I am sitting in the basement (just outside the server room), and I’m typing this up.</p>
</blockquote>

<ul>
<li><p>In this post:</p>

<ul>
<li>FreeBSD 12.0</li>
<li>Dell R710 (r710-01)</li>
<li>Dell R720 (r720-01)</li>
<li>drive caddies from eBay and now I know the difference between SATA and SATAu</li>
</ul></li>
<li><p><a href="https://docs.oracle.com/cd/E19253-01/819-5461/gbchy/index.html" target="_blank" rel="nofollow noopener">PLEASE READ THIS first: Migrating ZFS Storage Pools</a></p></li>
</ul>

<hr>

<h3><a href="https://blog.habets.se/2019/10/OpenBSD-in-2019.html" target="_blank" rel="nofollow noopener">OpenBSD in 2019</a></h3>

<blockquote>
<p>I’ve used OpenBSD on and off since 2.1. More back then than in the last 10 years or so though, so I thought I’d try it again.</p>

<p>What triggered this was me finding a silly bug in GNU cpio that has existed with a “FIXME” comment since at least 1994. I checked OpenBSD to see if it had a related bug, but as expected no it was just fine.</p>

<p>I don’t quite remember why I stopped using OpenBSD for servers, but I do remember filesystem corruption on “unexpected power disconnections” (even with softdep turned on), which I’ve never really seen on Linux.</p>

<p>That and that fewer things “just worked” than with Linux, which matters more when I installed more random things than I do now. I’ve become a lot more minimalist. Probably due to less spare time. Life is better when you don’t run things like PHP (not that OpenBSD doesn’t support PHP, just an example) or your own email server with various antispam tooling, and other things.</p>

<p>This is all experience from running OpenBSD on a server. On my next laptop I intend to try running OpenBSD on the dektop, and will see if that more ad-hoc environment works well. E.g. will gnuradio work? Lack of other-OS VM support may be a problem.</p>
</blockquote>

<ul>
<li>Verdict</li>
</ul>

<blockquote>
<p>Ouch, that’s a long list of bad stuff. Still, I like it. I’ll continue to run it, and will make sure my stuff continues working on OpenBSD.</p>

<p>And maybe in a year I’ll have a review of OpenBSD on a laptop.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.dragonflydigest.com/2019/10/29/23683.html" target="_blank" rel="nofollow noopener">New zlib, new dhcpcd</a></h3>

<blockquote>
<p>zlib and dhcpcd are both updated in DragonFly… but my quick perusal of the commits makes it sound like bugfix only; no usage changes needed.</p>
</blockquote>

<ul>
<li>DHCPCD Commit: <a href="http://lists.dragonflybsd.org/pipermail/commits/2019-October/719768.html" target="_blank" rel="nofollow noopener">http://lists.dragonflybsd.org/pipermail/commits/2019-October/719768.html</a></li>
<li>ZLIB Commit: <a href="http://lists.dragonflybsd.org/pipermail/commits/2019-October/719772.html" target="_blank" rel="nofollow noopener">http://lists.dragonflybsd.org/pipermail/commits/2019-October/719772.html</a></li>
</ul>

<hr>

<h3><a href="https://victoria.dev/verbose/batch-renaming-images-including-image-resolution-with-awk/" target="_blank" rel="nofollow noopener">Batch renaming images, including image resolution, with awk</a></h3>

<blockquote>
<p>The most recent item on my list of “Geeky things I did that made me feel pretty awesome” is an hour’s adventure that culminated in this code:</p>
</blockquote>

<pre><code>$ file IMG* | awk 'BEGIN{a=0} {print substr($1, 1, length($1)-5),a++"_"substr($8,1, length($8)-1)}' | while read fn fr; do echo $(rename -v "s/$fn/img_$fr/g" *); done
IMG_20170808_172653_425.jpg renamed as img_0_4032x3024.jpg
IMG_20170808_173020_267.jpg renamed as img_1_3024x3506.jpg
IMG_20170808_173130_616.jpg renamed as img_2_3024x3779.jpg
IMG_20170808_173221_425.jpg renamed as img_3_3024x3780.jpg
IMG_20170808_173417_059.jpg renamed as img_4_2956x2980.jpg
IMG_20170808_173450_971.jpg renamed as img_5_3024x3024.jpg
IMG_20170808_173536_034.jpg renamed as img_6_4032x3024.jpg
IMG_20170808_173602_732.jpg renamed as img_7_1617x1617.jpg
IMG_20170808_173645_339.jpg renamed as img_8_3024x3780.jpg
IMG_20170909_170146_585.jpg renamed as img_9_3036x3036.jpg
IMG_20170911_211522_543.jpg renamed as img_10_3036x3036.jpg
IMG_20170913_071608_288.jpg renamed as img_11_2760x2760.jpg
IMG_20170913_073205_522.jpg renamed as img_12_2738x2738.jpg
// ... etc etc
</code></pre>

<blockquote>
<p>The last item on the aforementioned list is “TODO: come up with a shorter title for this list.”</p>
</blockquote>

<hr>

<h3><a href="http://www.call-with-current-continuation.org/rants/icccm.txt" target="_blank" rel="nofollow noopener">I hate the X11 ICCCM selection system, and you should too - A Rant</a></h3>

<blockquote>
<p>d00d, that document is devilspawn. I've recently spent my nights in pain<br>
implementing the selection mechanism. WHY OH WHY OH WHY? why me?  why did I choose to do this? and what sick evil twisted mind wrote this damn spec? I don't know why I'm working with it, I just wanted to make a useful program.</p>

<p>I didn't know what I was getting myself in to. Nobody knows until they try it. And once you start, you're unable to stop. You can't stop, if you stop then you haven't completed it to spec. You can't fail on this, it's just a few pages of text, how can that be so hard? So what if they use Atoms for everything. So what if there's no explicit correlation between the target type of a SelectionNotify event and the type of the property it indicates?</p>

<p>So what if the distinction is ambiguous? So what if the document is littered with such atrocities? It's not the spec's fault, the spec is authoritative. It's obviously YOUR (the implementor's) fault for misunderstanding it. If you didn't misunderstand it, you wouldn't be here complaining about it would you?</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/10/22/23652.html" target="_blank" rel="nofollow noopener">HAMMER2 emergency space mode</a></h3>

<blockquote>
<p>As anyone who has been running HAMMER1 or HAMMER2 has noticed, snapshots and copy on write and infinite history can eat a lot of disk space, even if the actual file volume isn’t changing much.  There’s now an ‘emergency mode‘ for HAMMER2, where disk operations can happen even if there isn’t space for the normal history activity.  It’s dangerous, in that the normal protections against data loss if power is cut go away, and snapshots created while in this mode will be mangled.  So definitely don’t leave it on!</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/BastilleBSD/status/1186659762458501120" target="_blank" rel="nofollow noopener">The BastilleBSD community has started work on over 100 automation templates</a></li>
<li><a href="https://www.dragonflydigest.com/2019/10/23/23654.html" target="_blank" rel="nofollow noopener">PAM perturbed</a></li>
<li><a href="https://teespring.com/stores/openbsd" target="_blank" rel="nofollow noopener">OpenBSD T-Shirts now available</a></li>
<li><a href="https://old.reddit.com/r/freebsd/comments/dlyqtq/fastocloud_opensource_media_service_now_available/" target="_blank" rel="nofollow noopener">FastoCloud (Opensource Media Service) now available on FreeBSD</a></li>
<li><a href="https://www.cs.princeton.edu/%7Ebwk/" target="_blank" rel="nofollow noopener">Unix: A History and a Memoir by Brian Kernighan now available</a></li>
<li><a href="https://www.reddit.com/r/openbsd_gaming/comments/d6xboo/openbsd_moonlight_game_streaming_client_from_a/" target="_blank" rel="nofollow noopener">OpenBSD Moonlight game streaming client from a Windows + Nvidia PC</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Tim - <a href="http://dpaste.com/38DNSXT#wrap" target="_blank" rel="nofollow noopener">Release Notes for Lumina 1.5</a>

<ul>
<li><a href="http://dpaste.com/3QJX8G3#wrap" target="_blank" rel="nofollow noopener">Answer Here</a></li>
</ul></li>
<li>Brad - <a href="http://dpaste.com/316MGVX#wrap" target="_blank" rel="nofollow noopener">vBSDcon Trip Report</a></li>
<li>Jacob - <a href="http://dpaste.com/131N05J#wrap" target="_blank" rel="nofollow noopener">Using terminfo on FreeBSD</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0324.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>323: OSI Burrito Guy</title>
  <link>https://www.bsdnow.tv/323</link>
  <guid isPermaLink="false">cf54c1fe-70ba-49a3-9b13-1ceb64ab896a</guid>
  <pubDate>Thu, 07 Nov 2019 07:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/cf54c1fe-70ba-49a3-9b13-1ceb64ab896a.mp3" length="35547347" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The earliest Unix code, how to replace fail2ban with blacklistd, OpenBSD crossed 400k commits, how to install Bolt CMS on FreeBSD, optimized hammer2, appeasing the OSI 7-layer burrito guys, and more.</itunes:subtitle>
  <itunes:duration>49:22</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>&lt;p&gt;The earliest Unix code, how to replace fail2ban with blacklistd, OpenBSD crossed 400k commits, how to install Bolt CMS on FreeBSD, optimized hammer2, appeasing the OSI 7-layer burrito guys, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://computerhistory.org/blog/the-earliest-unix-code-an-anniversary-source-code-release/" target="_blank" rel="nofollow noopener"&gt;The Earliest Unix Code: An Anniversary Source Code Release&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;What is it that runs the servers that hold our online world, be it the web or the cloud? What enables the mobile apps that are at the center of increasingly on-demand lives in the developed world and of mobile banking and messaging in the developing world? The answer is the operating system Unix and its many descendants: Linux, Android, BSD Unix, MacOS, iOS—the list goes on and on. Want to glimpse the Unix in your Mac? Open a Terminal window and enter “man roff” to view the Unix manual entry for an early text formatting program that lives within your operating system.&lt;/p&gt;

&lt;p&gt;2019 marks the 50th anniversary of the start of Unix. In the summer of 1969, that same summer that saw humankind’s first steps on the surface of the Moon, computer scientists at the Bell Telephone Laboratories—most centrally Ken Thompson and Dennis Ritchie—began the construction of a new operating system, using a then-aging DEC PDP-7 computer at the labs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.cbc.ca/radio/thecurrent/the-current-for-oct-29-2019-1.5339212/this-man-sent-the-first-online-message-50-years-ago-he-s-since-seen-the-web-s-dark-side-emerge-1.5339244" target="_blank" rel="nofollow noopener"&gt;This man sent the first online message 50 years ago&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;As many of you have heard in the past, the first online message ever sent between two computers was "lo", just over 50 years ago, on Oct. 29, 1969. &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It was supposed to say "log," but the computer sending the message — based at UCLA — crashed before the letter "g" was typed. A computer at Stanford 560 kilometres away was supposed to fill in the remaining characters "in," as in "log in."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The CBC Radio show, “The Current” has a half-hour interview with the man who sent that message, Leonard Kleinrock, distinguished professor of computer science at UCLA&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;"The idea of the network was you could sit at one computer, log on through the network to a remote computer and use its services there,"&lt;/p&gt;

&lt;p&gt;50 years later, the internet has become so ubiquitous that it has almost been rendered invisible. There's hardly an aspect in our daily lives that hasn't been touched and transformed by it.&lt;/p&gt;

&lt;p&gt;Q: Take us back to that day 50 years ago. Did you have the sense that this was going to be something you'd be talking about a half a century later?&lt;/p&gt;

&lt;p&gt;A: Well, yes and no. Four months before that message was sent, there was a press release that came out of UCLA in which it quotes me as describing what my vision for this network would become. Basically what it said is that this network would be always on, always available. Anybody with any device could get on at anytime from any location, and it would be invisible.&lt;/p&gt;

&lt;p&gt;Well, what I missed ... was that this is going to become a social network. People talking to people. Not computers talking to computers, but [the] human element.&lt;/p&gt;

&lt;p&gt;Q: Can you briefly explain what you were working on in that lab? Why were you trying to get computers to actually talk to one another?&lt;/p&gt;

&lt;p&gt;A: As an MIT graduate student, years before, I recognized I was surrounded by computers and I realized there was no effective [or efficient] way for them to communicate. I did my dissertation, my research, on establishing a mathematical theory of how these networks would work. But there was no such network existing. AT&amp;amp;T said it won't work and, even if it does, we want nothing to do with it.&lt;/p&gt;

&lt;p&gt;So I had to wait around for years until the Advanced Research Projects Agency within the Department of Defence decided they needed a network to connect together the computer scientists they were supervising and supporting.&lt;/p&gt;

&lt;p&gt;Q: For all the promise of the internet, it has also developed some dark sides that I'm guessing pioneers like yourselves never anticipated.&lt;/p&gt;

&lt;p&gt;A: We did not. I knew everybody on the internet at that time, and they were all well-behaved and they all believed in an open, shared free network. So we did not put in any security controls.&lt;/p&gt;

&lt;p&gt;When the first spam email occurred, we began to see the dark side emerge as this network reached nefarious people sitting in basements with a high-speed connection, reaching out to millions of people instantaneously, at no cost in time or money, anonymously until all sorts of unpleasant events occurred, which we called the dark side.&lt;/p&gt;

&lt;p&gt;But in those early days, I considered the network to be going through its teenage years. Hacking to spam, annoying kinds of effects. I thought that one day this network would mature and grow up. Well, in fact, it took a turn for the worse when nation states, organized crime and extremists came in and began to abuse the network in severe ways.&lt;/p&gt;

&lt;p&gt;Q: Is there any part of you that regrets giving birth to this?&lt;/p&gt;

&lt;p&gt;A: Absolutely not. The greater good is much more important.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.unitedbsd.com/d/63-how-to-use-blacklistd8-with-npf-as-a-fail2ban-replacement" target="_blank" rel="nofollow noopener"&gt;How to use blacklistd(8) with NPF as a fail2ban replacement&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;blacklistd(8) provides an API that can be used by network daemons to communicate with a packet filter via a daemon to enforce opening and closing ports dynamically based on policy.&lt;/p&gt;

&lt;p&gt;The interface to the packet filter is in /libexec/blacklistd-helper (this is currently designed for npf) and the configuration file (inspired from inetd.conf) is in etc/blacklistd.conf&lt;/p&gt;

&lt;p&gt;Now, blacklistd(8) will require bpfjit(4) (Just-In-Time compiler for Berkeley Packet Filter) in order to properly work, in addition to, naturally, npf(7) as frontend and syslogd(8), as a backend to print diagnostic messages. Also remember npf shall rely on the npflog* virtual network interface to provide logging for tcpdump() to use.&lt;/p&gt;

&lt;p&gt;Unfortunately (dont' ask me why ??) in 8.1 all the required kernel components are still not compiled by default in the GENERIC kernel (though they are in HEAD), and are rather provided as modules. Enabling NPF and blacklistd services would normally result in them being automatically loaded as root, but predictably on securelevel=1 this is not going to happen.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-blacklistd.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD’s handbook chapter on blacklistd&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=157059352620659&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD crossed 400,000 commits&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Sometime in the last week OpenBSD crossed 400,000 commits (*) upon all our repositories since starting at 1995/10/18 08:37:01 Canada/Mountain. That's a lot of commits by a lot of amazing people.&lt;/p&gt;

&lt;p&gt;(*) by one measure.  Since the repository is so large and old, there are a variety of quirks including ChangeLog missing entries and branches not convertible to other repo forms, so measuring is hard.  If you think you've got a great way of measuring, don't be so sure of yourself -- you may have overcounted or undercounted.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Subject to the notes Theo made about under and over counting, FreeBSD should hit 1 million commits (base + ports + docs) some time in 2020&lt;/li&gt;
&lt;li&gt;NetBSD + pkgsrc are approaching 600,000, but of course pkgsrc covers other operating systems too&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.howtoforge.com/how-to-install-bolt-cms-nginx-ssl-on-freebsd-12/" target="_blank" rel="nofollow noopener"&gt;How to Install Bolt CMS with Nginx and Let's Encrypt on FreeBSD 12&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Bolt is a sophisticated, lightweight and simple CMS built with PHP. It is released under the open-source MIT-license and source code is hosted as a public repository on Github. A bolt is a tool for Content Management, which strives to be as simple and straightforward as possible. It is quick to set up, easy to configure, uses elegant templates. Bolt is created using modern open-source libraries and is best suited to build sites in HTML5 with modern markup. In this tutorial, we will go through the Bolt CMS installation on FreeBSD 12 system by using Nginx as a web server, MySQL as a database server, and optionally you can secure the transport layer by using acme.sh client and Let's Encrypt certificate authority to add SSL support.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Requirements&lt;/li&gt;
&lt;li&gt;The system requirements for Bolt are modest, and it should run on any fairly modern web server:

&lt;ul&gt;
&lt;li&gt;PHP version 5.5.9 or higher with the following common PHP extensions: pdo, mysqlnd, pgsql, openssl, curl, gd, intl, json, mbstring, opcache, posix, xml, fileinfo, exif, zip.&lt;/li&gt;
&lt;li&gt;Access to SQLite (which comes bundled with PHP), or MySQL or PostgreSQL.&lt;/li&gt;
&lt;li&gt;Apache with mod_rewrite enabled (.htaccess files) or Nginx (virtual host configuration covered below).&lt;/li&gt;
&lt;li&gt;A minimum of 32MB of memory allocated to PHP.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2019-September/719632.html" target="_blank" rel="nofollow noopener"&gt;hammer2 - Optimize hammer2 support threads and dispatch&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Refactor the XOP groups in order to be able to queue strategy calls, whenever possible, to the same CPU as the issuer.  This optimizes several cases and reduces unnecessary IPI traffic between cores.  The next best thing to do would be to not queue certain XOPs to an H2 support thread at all, but I would like to keep the threads intact for later clustering work.&lt;br&gt;&lt;br&gt;
The best scaling case for this is when one has a large number of user threads doing I/O.  One instance of a single-threaded program on an otherwise idle machine might see a slightly reduction in performance but at the same time we completely avoid unnecessarily spamming all cores in the system on the behalf of a single program, so overhead is also significantly lower.&lt;/p&gt;

&lt;p&gt;This will tend to increase the number of H2 support threads since we need a certain degree of multiplication for domain separation.&lt;/p&gt;

&lt;p&gt;This should significantly increase I/O performance for multi-threaded workloads.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://boston.conman.org/2019/10/17.1" target="_blank" rel="nofollow noopener"&gt;You know, we might as well just run every network service over HTTPS/2 and build another six layers on top of that to appease the OSI 7-layer burrito guys&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I've seen the writing on the wall, and while for now you can configure Firefox not to use DoH, I'm not confident enough to think it will remain that way. To that end, I've finally set up my own DoH server for use at Chez Boca. It only involved setting up my own CA to generate the appropriate certificates, install my CA certificate into Firefox, configure Apache to run over HTTP/2 (THANK YOU SO VERY XXXXX­XX MUCH GOOGLE FOR SHOVING THIS HTTP/2 XXXXX­XXX DOWN OUR THROATS!—no, I'm not bitter) and write a 150 line script that just queries my own local DNS, because, you know, it's more XXXXX­XX secure or some XXXXX­XXX reason like that.&lt;/p&gt;

&lt;p&gt;Sigh.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.princeton.edu/%7Ehos/Mahoney/unixhistory" target="_blank" rel="nofollow noopener"&gt;An Oral History of Unix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://people.freebsd.org/%7Egallatin/talks/euro2019.pdf" target="_blank" rel="nofollow noopener"&gt;NUMA Siloing in the FreeBSD Network Stack [pdf]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PLskKNopggjc6NssLc8GEGSiFYJLYdlTQx" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2019 videos available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/eksffa/status/1188638425567682560" target="_blank" rel="nofollow noopener"&gt;Barbie knows best&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/bob_beck/status/1188226661684301824" target="_blank" rel="nofollow noopener"&gt;For the #OpenBSD #e2k19 attendees.  I did a pre visit today.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/pasha_sh/status/1187877745499561985" target="_blank" rel="nofollow noopener"&gt;Drawer Find&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openbsd.org/papers/asiabsdcon2019-rop-slides.pdf" target="_blank" rel="nofollow noopener"&gt;Slides - Removing ROP Gadgets from OpenBSD - AsiaBSDCon 2019&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bostjan - &lt;a href="http://dpaste.com/1M5MVCX#wrap" target="_blank" rel="nofollow noopener"&gt;Open source doesn't mean secure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Malcolm - &lt;a href="http://dpaste.com/2RFNR94" target="_blank" rel="nofollow noopener"&gt;Allan is Correct.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Michael - &lt;a href="http://dpaste.com/28YW3BB#wrap" target="_blank" rel="nofollow noopener"&gt;FreeNAS inside a Jail&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0323.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, Unix, code, blacklistd, fail2ban, npf, bolt, cms, nginx, lets encrypt, hammer2, OSI, 7 layer, https2 </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The earliest Unix code, how to replace fail2ban with blacklistd, OpenBSD crossed 400k commits, how to install Bolt CMS on FreeBSD, optimized hammer2, appeasing the OSI 7-layer burrito guys, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://computerhistory.org/blog/the-earliest-unix-code-an-anniversary-source-code-release/" target="_blank" rel="nofollow noopener">The Earliest Unix Code: An Anniversary Source Code Release</a></h3>

<blockquote>
<p>What is it that runs the servers that hold our online world, be it the web or the cloud? What enables the mobile apps that are at the center of increasingly on-demand lives in the developed world and of mobile banking and messaging in the developing world? The answer is the operating system Unix and its many descendants: Linux, Android, BSD Unix, MacOS, iOS—the list goes on and on. Want to glimpse the Unix in your Mac? Open a Terminal window and enter “man roff” to view the Unix manual entry for an early text formatting program that lives within your operating system.</p>

<p>2019 marks the 50th anniversary of the start of Unix. In the summer of 1969, that same summer that saw humankind’s first steps on the surface of the Moon, computer scientists at the Bell Telephone Laboratories—most centrally Ken Thompson and Dennis Ritchie—began the construction of a new operating system, using a then-aging DEC PDP-7 computer at the labs.</p>
</blockquote>

<hr>

<h3><a href="https://www.cbc.ca/radio/thecurrent/the-current-for-oct-29-2019-1.5339212/this-man-sent-the-first-online-message-50-years-ago-he-s-since-seen-the-web-s-dark-side-emerge-1.5339244" target="_blank" rel="nofollow noopener">This man sent the first online message 50 years ago</a></h3>

<ul>
<li>As many of you have heard in the past, the first online message ever sent between two computers was "lo", just over 50 years ago, on Oct. 29, 1969. </li>
</ul>

<blockquote>
<p>It was supposed to say "log," but the computer sending the message — based at UCLA — crashed before the letter "g" was typed. A computer at Stanford 560 kilometres away was supposed to fill in the remaining characters "in," as in "log in."</p>
</blockquote>

<ul>
<li>The CBC Radio show, “The Current” has a half-hour interview with the man who sent that message, Leonard Kleinrock, distinguished professor of computer science at UCLA</li>
</ul>

<blockquote>
<p>"The idea of the network was you could sit at one computer, log on through the network to a remote computer and use its services there,"</p>

<p>50 years later, the internet has become so ubiquitous that it has almost been rendered invisible. There's hardly an aspect in our daily lives that hasn't been touched and transformed by it.</p>

<p>Q: Take us back to that day 50 years ago. Did you have the sense that this was going to be something you'd be talking about a half a century later?</p>

<p>A: Well, yes and no. Four months before that message was sent, there was a press release that came out of UCLA in which it quotes me as describing what my vision for this network would become. Basically what it said is that this network would be always on, always available. Anybody with any device could get on at anytime from any location, and it would be invisible.</p>

<p>Well, what I missed ... was that this is going to become a social network. People talking to people. Not computers talking to computers, but [the] human element.</p>

<p>Q: Can you briefly explain what you were working on in that lab? Why were you trying to get computers to actually talk to one another?</p>

<p>A: As an MIT graduate student, years before, I recognized I was surrounded by computers and I realized there was no effective [or efficient] way for them to communicate. I did my dissertation, my research, on establishing a mathematical theory of how these networks would work. But there was no such network existing. AT&amp;T said it won't work and, even if it does, we want nothing to do with it.</p>

<p>So I had to wait around for years until the Advanced Research Projects Agency within the Department of Defence decided they needed a network to connect together the computer scientists they were supervising and supporting.</p>

<p>Q: For all the promise of the internet, it has also developed some dark sides that I'm guessing pioneers like yourselves never anticipated.</p>

<p>A: We did not. I knew everybody on the internet at that time, and they were all well-behaved and they all believed in an open, shared free network. So we did not put in any security controls.</p>

<p>When the first spam email occurred, we began to see the dark side emerge as this network reached nefarious people sitting in basements with a high-speed connection, reaching out to millions of people instantaneously, at no cost in time or money, anonymously until all sorts of unpleasant events occurred, which we called the dark side.</p>

<p>But in those early days, I considered the network to be going through its teenage years. Hacking to spam, annoying kinds of effects. I thought that one day this network would mature and grow up. Well, in fact, it took a turn for the worse when nation states, organized crime and extremists came in and began to abuse the network in severe ways.</p>

<p>Q: Is there any part of you that regrets giving birth to this?</p>

<p>A: Absolutely not. The greater good is much more important.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.unitedbsd.com/d/63-how-to-use-blacklistd8-with-npf-as-a-fail2ban-replacement" target="_blank" rel="nofollow noopener">How to use blacklistd(8) with NPF as a fail2ban replacement</a></h3>

<blockquote>
<p>blacklistd(8) provides an API that can be used by network daemons to communicate with a packet filter via a daemon to enforce opening and closing ports dynamically based on policy.</p>

<p>The interface to the packet filter is in /libexec/blacklistd-helper (this is currently designed for npf) and the configuration file (inspired from inetd.conf) is in etc/blacklistd.conf</p>

<p>Now, blacklistd(8) will require bpfjit(4) (Just-In-Time compiler for Berkeley Packet Filter) in order to properly work, in addition to, naturally, npf(7) as frontend and syslogd(8), as a backend to print diagnostic messages. Also remember npf shall rely on the npflog* virtual network interface to provide logging for tcpdump() to use.</p>

<p>Unfortunately (dont' ask me why ??) in 8.1 all the required kernel components are still not compiled by default in the GENERIC kernel (though they are in HEAD), and are rather provided as modules. Enabling NPF and blacklistd services would normally result in them being automatically loaded as root, but predictably on securelevel=1 this is not going to happen.</p>
</blockquote>

<ul>
<li><a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-blacklistd.html" target="_blank" rel="nofollow noopener">FreeBSD’s handbook chapter on blacklistd</a></li>
</ul>

<hr>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=157059352620659&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD crossed 400,000 commits</a></h3>

<blockquote>
<p>Sometime in the last week OpenBSD crossed 400,000 commits (*) upon all our repositories since starting at 1995/10/18 08:37:01 Canada/Mountain. That's a lot of commits by a lot of amazing people.</p>

<p>(*) by one measure.  Since the repository is so large and old, there are a variety of quirks including ChangeLog missing entries and branches not convertible to other repo forms, so measuring is hard.  If you think you've got a great way of measuring, don't be so sure of yourself -- you may have overcounted or undercounted.</p>
</blockquote>

<ul>
<li>Subject to the notes Theo made about under and over counting, FreeBSD should hit 1 million commits (base + ports + docs) some time in 2020</li>
<li>NetBSD + pkgsrc are approaching 600,000, but of course pkgsrc covers other operating systems too</li>
</ul>

<hr>

<h3><a href="https://www.howtoforge.com/how-to-install-bolt-cms-nginx-ssl-on-freebsd-12/" target="_blank" rel="nofollow noopener">How to Install Bolt CMS with Nginx and Let's Encrypt on FreeBSD 12</a></h3>

<blockquote>
<p>Bolt is a sophisticated, lightweight and simple CMS built with PHP. It is released under the open-source MIT-license and source code is hosted as a public repository on Github. A bolt is a tool for Content Management, which strives to be as simple and straightforward as possible. It is quick to set up, easy to configure, uses elegant templates. Bolt is created using modern open-source libraries and is best suited to build sites in HTML5 with modern markup. In this tutorial, we will go through the Bolt CMS installation on FreeBSD 12 system by using Nginx as a web server, MySQL as a database server, and optionally you can secure the transport layer by using acme.sh client and Let's Encrypt certificate authority to add SSL support.</p>
</blockquote>

<ul>
<li>Requirements</li>
<li>The system requirements for Bolt are modest, and it should run on any fairly modern web server:

<ul>
<li>PHP version 5.5.9 or higher with the following common PHP extensions: pdo, mysqlnd, pgsql, openssl, curl, gd, intl, json, mbstring, opcache, posix, xml, fileinfo, exif, zip.</li>
<li>Access to SQLite (which comes bundled with PHP), or MySQL or PostgreSQL.</li>
<li>Apache with mod_rewrite enabled (.htaccess files) or Nginx (virtual host configuration covered below).</li>
<li>A minimum of 32MB of memory allocated to PHP.</li>
</ul></li>
</ul>

<hr>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-September/719632.html" target="_blank" rel="nofollow noopener">hammer2 - Optimize hammer2 support threads and dispatch</a></h3>

<blockquote>
<p>Refactor the XOP groups in order to be able to queue strategy calls, whenever possible, to the same CPU as the issuer.  This optimizes several cases and reduces unnecessary IPI traffic between cores.  The next best thing to do would be to not queue certain XOPs to an H2 support thread at all, but I would like to keep the threads intact for later clustering work.<br><br>
The best scaling case for this is when one has a large number of user threads doing I/O.  One instance of a single-threaded program on an otherwise idle machine might see a slightly reduction in performance but at the same time we completely avoid unnecessarily spamming all cores in the system on the behalf of a single program, so overhead is also significantly lower.</p>

<p>This will tend to increase the number of H2 support threads since we need a certain degree of multiplication for domain separation.</p>

<p>This should significantly increase I/O performance for multi-threaded workloads.</p>
</blockquote>

<hr>

<h3><a href="http://boston.conman.org/2019/10/17.1" target="_blank" rel="nofollow noopener">You know, we might as well just run every network service over HTTPS/2 and build another six layers on top of that to appease the OSI 7-layer burrito guys</a></h3>

<blockquote>
<p>I've seen the writing on the wall, and while for now you can configure Firefox not to use DoH, I'm not confident enough to think it will remain that way. To that end, I've finally set up my own DoH server for use at Chez Boca. It only involved setting up my own CA to generate the appropriate certificates, install my CA certificate into Firefox, configure Apache to run over HTTP/2 (THANK YOU SO VERY XXXXX­XX MUCH GOOGLE FOR SHOVING THIS HTTP/2 XXXXX­XXX DOWN OUR THROATS!—no, I'm not bitter) and write a 150 line script that just queries my own local DNS, because, you know, it's more XXXXX­XX secure or some XXXXX­XXX reason like that.</p>

<p>Sigh.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.princeton.edu/%7Ehos/Mahoney/unixhistory" target="_blank" rel="nofollow noopener">An Oral History of Unix</a></li>
<li><a href="https://people.freebsd.org/%7Egallatin/talks/euro2019.pdf" target="_blank" rel="nofollow noopener">NUMA Siloing in the FreeBSD Network Stack [pdf]</a></li>
<li><a href="https://www.youtube.com/playlist?list=PLskKNopggjc6NssLc8GEGSiFYJLYdlTQx" target="_blank" rel="nofollow noopener">EuroBSDCon 2019 videos available</a></li>
<li><a href="https://twitter.com/eksffa/status/1188638425567682560" target="_blank" rel="nofollow noopener">Barbie knows best</a></li>
<li><a href="https://twitter.com/bob_beck/status/1188226661684301824" target="_blank" rel="nofollow noopener">For the #OpenBSD #e2k19 attendees.  I did a pre visit today.</a></li>
<li><a href="https://twitter.com/pasha_sh/status/1187877745499561985" target="_blank" rel="nofollow noopener">Drawer Find</a></li>
<li><a href="https://www.openbsd.org/papers/asiabsdcon2019-rop-slides.pdf" target="_blank" rel="nofollow noopener">Slides - Removing ROP Gadgets from OpenBSD - AsiaBSDCon 2019</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Bostjan - <a href="http://dpaste.com/1M5MVCX#wrap" target="_blank" rel="nofollow noopener">Open source doesn't mean secure</a></li>
<li>Malcolm - <a href="http://dpaste.com/2RFNR94" target="_blank" rel="nofollow noopener">Allan is Correct.</a></li>
<li><p>Michael - <a href="http://dpaste.com/28YW3BB#wrap" target="_blank" rel="nofollow noopener">FreeNAS inside a Jail</a></p>

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

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0323.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The earliest Unix code, how to replace fail2ban with blacklistd, OpenBSD crossed 400k commits, how to install Bolt CMS on FreeBSD, optimized hammer2, appeasing the OSI 7-layer burrito guys, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://computerhistory.org/blog/the-earliest-unix-code-an-anniversary-source-code-release/" target="_blank" rel="nofollow noopener">The Earliest Unix Code: An Anniversary Source Code Release</a></h3>

<blockquote>
<p>What is it that runs the servers that hold our online world, be it the web or the cloud? What enables the mobile apps that are at the center of increasingly on-demand lives in the developed world and of mobile banking and messaging in the developing world? The answer is the operating system Unix and its many descendants: Linux, Android, BSD Unix, MacOS, iOS—the list goes on and on. Want to glimpse the Unix in your Mac? Open a Terminal window and enter “man roff” to view the Unix manual entry for an early text formatting program that lives within your operating system.</p>

<p>2019 marks the 50th anniversary of the start of Unix. In the summer of 1969, that same summer that saw humankind’s first steps on the surface of the Moon, computer scientists at the Bell Telephone Laboratories—most centrally Ken Thompson and Dennis Ritchie—began the construction of a new operating system, using a then-aging DEC PDP-7 computer at the labs.</p>
</blockquote>

<hr>

<h3><a href="https://www.cbc.ca/radio/thecurrent/the-current-for-oct-29-2019-1.5339212/this-man-sent-the-first-online-message-50-years-ago-he-s-since-seen-the-web-s-dark-side-emerge-1.5339244" target="_blank" rel="nofollow noopener">This man sent the first online message 50 years ago</a></h3>

<ul>
<li>As many of you have heard in the past, the first online message ever sent between two computers was "lo", just over 50 years ago, on Oct. 29, 1969. </li>
</ul>

<blockquote>
<p>It was supposed to say "log," but the computer sending the message — based at UCLA — crashed before the letter "g" was typed. A computer at Stanford 560 kilometres away was supposed to fill in the remaining characters "in," as in "log in."</p>
</blockquote>

<ul>
<li>The CBC Radio show, “The Current” has a half-hour interview with the man who sent that message, Leonard Kleinrock, distinguished professor of computer science at UCLA</li>
</ul>

<blockquote>
<p>"The idea of the network was you could sit at one computer, log on through the network to a remote computer and use its services there,"</p>

<p>50 years later, the internet has become so ubiquitous that it has almost been rendered invisible. There's hardly an aspect in our daily lives that hasn't been touched and transformed by it.</p>

<p>Q: Take us back to that day 50 years ago. Did you have the sense that this was going to be something you'd be talking about a half a century later?</p>

<p>A: Well, yes and no. Four months before that message was sent, there was a press release that came out of UCLA in which it quotes me as describing what my vision for this network would become. Basically what it said is that this network would be always on, always available. Anybody with any device could get on at anytime from any location, and it would be invisible.</p>

<p>Well, what I missed ... was that this is going to become a social network. People talking to people. Not computers talking to computers, but [the] human element.</p>

<p>Q: Can you briefly explain what you were working on in that lab? Why were you trying to get computers to actually talk to one another?</p>

<p>A: As an MIT graduate student, years before, I recognized I was surrounded by computers and I realized there was no effective [or efficient] way for them to communicate. I did my dissertation, my research, on establishing a mathematical theory of how these networks would work. But there was no such network existing. AT&amp;T said it won't work and, even if it does, we want nothing to do with it.</p>

<p>So I had to wait around for years until the Advanced Research Projects Agency within the Department of Defence decided they needed a network to connect together the computer scientists they were supervising and supporting.</p>

<p>Q: For all the promise of the internet, it has also developed some dark sides that I'm guessing pioneers like yourselves never anticipated.</p>

<p>A: We did not. I knew everybody on the internet at that time, and they were all well-behaved and they all believed in an open, shared free network. So we did not put in any security controls.</p>

<p>When the first spam email occurred, we began to see the dark side emerge as this network reached nefarious people sitting in basements with a high-speed connection, reaching out to millions of people instantaneously, at no cost in time or money, anonymously until all sorts of unpleasant events occurred, which we called the dark side.</p>

<p>But in those early days, I considered the network to be going through its teenage years. Hacking to spam, annoying kinds of effects. I thought that one day this network would mature and grow up. Well, in fact, it took a turn for the worse when nation states, organized crime and extremists came in and began to abuse the network in severe ways.</p>

<p>Q: Is there any part of you that regrets giving birth to this?</p>

<p>A: Absolutely not. The greater good is much more important.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.unitedbsd.com/d/63-how-to-use-blacklistd8-with-npf-as-a-fail2ban-replacement" target="_blank" rel="nofollow noopener">How to use blacklistd(8) with NPF as a fail2ban replacement</a></h3>

<blockquote>
<p>blacklistd(8) provides an API that can be used by network daemons to communicate with a packet filter via a daemon to enforce opening and closing ports dynamically based on policy.</p>

<p>The interface to the packet filter is in /libexec/blacklistd-helper (this is currently designed for npf) and the configuration file (inspired from inetd.conf) is in etc/blacklistd.conf</p>

<p>Now, blacklistd(8) will require bpfjit(4) (Just-In-Time compiler for Berkeley Packet Filter) in order to properly work, in addition to, naturally, npf(7) as frontend and syslogd(8), as a backend to print diagnostic messages. Also remember npf shall rely on the npflog* virtual network interface to provide logging for tcpdump() to use.</p>

<p>Unfortunately (dont' ask me why ??) in 8.1 all the required kernel components are still not compiled by default in the GENERIC kernel (though they are in HEAD), and are rather provided as modules. Enabling NPF and blacklistd services would normally result in them being automatically loaded as root, but predictably on securelevel=1 this is not going to happen.</p>
</blockquote>

<ul>
<li><a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/firewalls-blacklistd.html" target="_blank" rel="nofollow noopener">FreeBSD’s handbook chapter on blacklistd</a></li>
</ul>

<hr>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=157059352620659&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD crossed 400,000 commits</a></h3>

<blockquote>
<p>Sometime in the last week OpenBSD crossed 400,000 commits (*) upon all our repositories since starting at 1995/10/18 08:37:01 Canada/Mountain. That's a lot of commits by a lot of amazing people.</p>

<p>(*) by one measure.  Since the repository is so large and old, there are a variety of quirks including ChangeLog missing entries and branches not convertible to other repo forms, so measuring is hard.  If you think you've got a great way of measuring, don't be so sure of yourself -- you may have overcounted or undercounted.</p>
</blockquote>

<ul>
<li>Subject to the notes Theo made about under and over counting, FreeBSD should hit 1 million commits (base + ports + docs) some time in 2020</li>
<li>NetBSD + pkgsrc are approaching 600,000, but of course pkgsrc covers other operating systems too</li>
</ul>

<hr>

<h3><a href="https://www.howtoforge.com/how-to-install-bolt-cms-nginx-ssl-on-freebsd-12/" target="_blank" rel="nofollow noopener">How to Install Bolt CMS with Nginx and Let's Encrypt on FreeBSD 12</a></h3>

<blockquote>
<p>Bolt is a sophisticated, lightweight and simple CMS built with PHP. It is released under the open-source MIT-license and source code is hosted as a public repository on Github. A bolt is a tool for Content Management, which strives to be as simple and straightforward as possible. It is quick to set up, easy to configure, uses elegant templates. Bolt is created using modern open-source libraries and is best suited to build sites in HTML5 with modern markup. In this tutorial, we will go through the Bolt CMS installation on FreeBSD 12 system by using Nginx as a web server, MySQL as a database server, and optionally you can secure the transport layer by using acme.sh client and Let's Encrypt certificate authority to add SSL support.</p>
</blockquote>

<ul>
<li>Requirements</li>
<li>The system requirements for Bolt are modest, and it should run on any fairly modern web server:

<ul>
<li>PHP version 5.5.9 or higher with the following common PHP extensions: pdo, mysqlnd, pgsql, openssl, curl, gd, intl, json, mbstring, opcache, posix, xml, fileinfo, exif, zip.</li>
<li>Access to SQLite (which comes bundled with PHP), or MySQL or PostgreSQL.</li>
<li>Apache with mod_rewrite enabled (.htaccess files) or Nginx (virtual host configuration covered below).</li>
<li>A minimum of 32MB of memory allocated to PHP.</li>
</ul></li>
</ul>

<hr>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-September/719632.html" target="_blank" rel="nofollow noopener">hammer2 - Optimize hammer2 support threads and dispatch</a></h3>

<blockquote>
<p>Refactor the XOP groups in order to be able to queue strategy calls, whenever possible, to the same CPU as the issuer.  This optimizes several cases and reduces unnecessary IPI traffic between cores.  The next best thing to do would be to not queue certain XOPs to an H2 support thread at all, but I would like to keep the threads intact for later clustering work.<br><br>
The best scaling case for this is when one has a large number of user threads doing I/O.  One instance of a single-threaded program on an otherwise idle machine might see a slightly reduction in performance but at the same time we completely avoid unnecessarily spamming all cores in the system on the behalf of a single program, so overhead is also significantly lower.</p>

<p>This will tend to increase the number of H2 support threads since we need a certain degree of multiplication for domain separation.</p>

<p>This should significantly increase I/O performance for multi-threaded workloads.</p>
</blockquote>

<hr>

<h3><a href="http://boston.conman.org/2019/10/17.1" target="_blank" rel="nofollow noopener">You know, we might as well just run every network service over HTTPS/2 and build another six layers on top of that to appease the OSI 7-layer burrito guys</a></h3>

<blockquote>
<p>I've seen the writing on the wall, and while for now you can configure Firefox not to use DoH, I'm not confident enough to think it will remain that way. To that end, I've finally set up my own DoH server for use at Chez Boca. It only involved setting up my own CA to generate the appropriate certificates, install my CA certificate into Firefox, configure Apache to run over HTTP/2 (THANK YOU SO VERY XXXXX­XX MUCH GOOGLE FOR SHOVING THIS HTTP/2 XXXXX­XXX DOWN OUR THROATS!—no, I'm not bitter) and write a 150 line script that just queries my own local DNS, because, you know, it's more XXXXX­XX secure or some XXXXX­XXX reason like that.</p>

<p>Sigh.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.princeton.edu/%7Ehos/Mahoney/unixhistory" target="_blank" rel="nofollow noopener">An Oral History of Unix</a></li>
<li><a href="https://people.freebsd.org/%7Egallatin/talks/euro2019.pdf" target="_blank" rel="nofollow noopener">NUMA Siloing in the FreeBSD Network Stack [pdf]</a></li>
<li><a href="https://www.youtube.com/playlist?list=PLskKNopggjc6NssLc8GEGSiFYJLYdlTQx" target="_blank" rel="nofollow noopener">EuroBSDCon 2019 videos available</a></li>
<li><a href="https://twitter.com/eksffa/status/1188638425567682560" target="_blank" rel="nofollow noopener">Barbie knows best</a></li>
<li><a href="https://twitter.com/bob_beck/status/1188226661684301824" target="_blank" rel="nofollow noopener">For the #OpenBSD #e2k19 attendees.  I did a pre visit today.</a></li>
<li><a href="https://twitter.com/pasha_sh/status/1187877745499561985" target="_blank" rel="nofollow noopener">Drawer Find</a></li>
<li><a href="https://www.openbsd.org/papers/asiabsdcon2019-rop-slides.pdf" target="_blank" rel="nofollow noopener">Slides - Removing ROP Gadgets from OpenBSD - AsiaBSDCon 2019</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Bostjan - <a href="http://dpaste.com/1M5MVCX#wrap" target="_blank" rel="nofollow noopener">Open source doesn't mean secure</a></li>
<li>Malcolm - <a href="http://dpaste.com/2RFNR94" target="_blank" rel="nofollow noopener">Allan is Correct.</a></li>
<li><p>Michael - <a href="http://dpaste.com/28YW3BB#wrap" target="_blank" rel="nofollow noopener">FreeNAS inside a Jail</a></p>

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

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0323.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>322: Happy Birthday, Unix</title>
  <link>https://www.bsdnow.tv/322</link>
  <guid isPermaLink="false">9f37f100-02f4-4b71-9eeb-3e9fa09f147c</guid>
  <pubDate>Thu, 31 Oct 2019 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9f37f100-02f4-4b71-9eeb-3e9fa09f147c.mp3" length="49383869" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Unix is 50, Hunting down Ken's PDP-7, OpenBSD and OPNSense have new releases, Clarification on what GhostBSD is, sshuttle  - VPN over SSH, and more.</itunes:subtitle>
  <itunes:duration>1:07:30</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>&lt;p&gt;Unix is 50, Hunting down Ken's PDP-7, OpenBSD and OPNSense have new releases, Clarification on what GhostBSD is, sshuttle  - VPN over SSH, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.bell-labs.com/unix50/" target="_blank" rel="nofollow noopener"&gt;Unix is 50&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In the summer of 1969 computer scientists Ken Thompson and Dennis Ritchie created the first implementation of Unix with the goal of designing an elegant and economical operating system for a little-used PDP-7 minicomputer at Bell Labs. That modest project, however, would have a far-reaching legacy. Unix made large-scale networking of diverse computing systems — and the Internet — practical. The Unix team went on to develop the C language, which brought an unprecedented combination of efficiency and expressiveness to programming. Both made computing more "portable". Today, Linux, the most popular descendent of Unix, powers the vast majority of servers, and elements of Unix and Linux are found in most mobile devices. Meanwhile C++ remains one of the most widely used programming languages today. Unix may be a half-century old but its influence is only growing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsdimp.blogspot.com/2019/10/video-footage-of-first-pdp-7-to-run-unix.html" target="_blank" rel="nofollow noopener"&gt;Hunting down Ken's PDP-7: video footage found&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In my prior blog post, I traced Ken's scrounged PDP-7 to SN 34. In this post I'll show that we have actual video footage of that PDP-7 due to an old film from Bell Labs. this gives us almost a minute of footage of the PDP-7 Ken later used to create Unix.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://openbsd.org/66.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.6 Released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Announce: &lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=157132024225971&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;https://marc.info/?l=openbsd-tech&amp;amp;m=157132024225971&amp;amp;w=2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Upgrade Guide: &lt;a href="https://openbsd.org/faq/upgrade66.html" target="_blank" rel="nofollow noopener"&gt;https://openbsd.org/faq/upgrade66.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Changelog: &lt;a href="https://openbsd.org/plus66.html" target="_blank" rel="nofollow noopener"&gt;https://openbsd.org/plus66.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-19-7-5-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 19.7.5 released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Hello friends and followers, Lots of plugin and ports updates this time with a few minor improvements in all core areas. Behind the scenes we are starting to migrate the base system to version&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;12.1 which is supposed to hit the next 20.1 release.  Stay tuned for more infos in the next month or so.&lt;/p&gt;

&lt;p&gt;Here are the full patch notes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;system: show all swap partitions in system information widget&lt;/li&gt;
&lt;li&gt;system: flatten services_get() in preparation for removal&lt;/li&gt;
&lt;li&gt;system: pin Syslog-ng version to specific package name&lt;/li&gt;
&lt;li&gt;system: fix LDAP/StartTLS with user import page&lt;/li&gt;
&lt;li&gt;system: fix a PHP warning on authentication server page&lt;/li&gt;
&lt;li&gt;system: replace most subprocess.call use&lt;/li&gt;
&lt;li&gt;interfaces: fix devd handling of carp devices (contributed by stumbaumr)&lt;/li&gt;
&lt;li&gt;firewall: improve firewall rules inline toggles&lt;/li&gt;
&lt;li&gt;firewall: only allow TCP flags on TCP protocol&lt;/li&gt;
&lt;li&gt;firewall: simplify help text for direction setting&lt;/li&gt;
&lt;li&gt;firewall: make protocol log summary case insensitive&lt;/li&gt;
&lt;li&gt;reporting: ignore malformed flow records&lt;/li&gt;
&lt;li&gt;captive portal: fix type mismatch for timeout read&lt;/li&gt;
&lt;li&gt;dhcp: add note for static lease limitation with lease registration (contributed by Northguy)&lt;/li&gt;
&lt;li&gt;ipsec: add margintime and rekeyfuzz options&lt;/li&gt;
&lt;li&gt;ipsec: clear $dpdline correctly if not set&lt;/li&gt;
&lt;li&gt;ui: fix tokenizer reorder on multiple saves&lt;/li&gt;
&lt;li&gt;plugins: os-acme-client 1.26[1]&lt;/li&gt;
&lt;li&gt;plugins: os-bind will reload bind on record change (contributed by blablup)&lt;/li&gt;
&lt;li&gt;plugins: os-etpro-telemetry minor subprocess.call replacement&lt;/li&gt;
&lt;li&gt;plugins: os-freeradius 1.9.4[2]&lt;/li&gt;
&lt;li&gt;plugins: os-frr 1.12[3]&lt;/li&gt;
&lt;li&gt;plugins: os-haproxy 2.19[4]&lt;/li&gt;
&lt;li&gt;plugins: os-mailtrail 1.2[5]&lt;/li&gt;
&lt;li&gt;plugins: os-postfix 1.11[6]&lt;/li&gt;
&lt;li&gt;plugins: os-rspamd 1.8[7]&lt;/li&gt;
&lt;li&gt;plugins: os-sunnyvalley LibreSSL support (contributed by Sunny Valley Networks)&lt;/li&gt;
&lt;li&gt;plugins: os-telegraf 1.7.6[8]&lt;/li&gt;
&lt;li&gt;plugins: os-theme-cicada 1.21 (contributed by Team Rebellion)&lt;/li&gt;
&lt;li&gt;plugins: os-theme-tukan 1.21 (contributed by Team Rebellion)&lt;/li&gt;
&lt;li&gt;plugins: os-tinc minor subprocess.call replacement&lt;/li&gt;
&lt;li&gt;plugins: os-tor 1.8 adds dormant mode disable option (contributed by Fabian Franz)&lt;/li&gt;
&lt;li&gt;plugins: os-virtualbox 1.0 (contributed by andrewhotlab)&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://ghostbsd.org/node/194" target="_blank" rel="nofollow noopener"&gt;Dealing with the misunderstandings of what is GhostBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Since the release of 19.09, I have seen a lot of misunderstandings on what is GhostBSD and the future of GhostBSD. GhostBSD is based on TrueOS with FreeBSD 12 STABLE with our twist to it. We are still continuing to use TrueOS for OpenRC, and the new package's system for the base system that is built from ports. GhostBSD is becoming a slow-moving rolling release base on the latest TrueOS with FreeBSD 12 STABLE. When FreeBSD 13 STABLE gets released, GhostBSD will be upgraded to TrueOS with FreeBSD 13 STABLE.&lt;/p&gt;

&lt;p&gt;Our official desktop is MATE, which means that the leading developer of GhostBSD does not officially support XFCE. Community releases are maintained by the community and for the community. GhostBSD project will provide help to build and to host the community release. If anyone wants to have a particular desktop supported, it is up to the community. Sure I will help where I can, answer questions and guide new community members that contribute to community release.&lt;/p&gt;

&lt;p&gt;There is some effort going on for Plasma5 desktop. If anyone is interested in helping with XFCE and Plasma5 or in creating another community release, you are well come to contribute. Also, Contribution to the GhostBSD base system, to ports and new ports, and in house software are welcome. We are mostly active on Telegram &lt;a href="https://t.me/ghostbsd" target="_blank" rel="nofollow noopener"&gt;https://t.me/ghostbsd&lt;/a&gt;, but you can also reach us on the forum.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.terminalbytes.com/sshuttle-vpn-over-ssh-vpn-alternative/" target="_blank" rel="nofollow noopener"&gt;SHUTTLE – VPN over SSH | VPN Alternative&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Looking for a lightweight VPN client, but are not ready to spend a monthly recurring amount on a VPN? VPNs can be expensive depending upon the quality of service and amount of privacy you want. A good VPN plan can easily set you back by 10$ a month and even that doesn’t guarantee your privacy. There is no way to be sure whether the VPN is storing your confidential information and traffic logs or not. sshuttle is the answer to your problem it provides VPN over ssh and in this article we’re going to explore this cheap yet powerful alternative to the expensive VPNs. By using open source tools you can control your own privacy.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;VPN over SSH – sshuttle&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;sshuttle is an awesome program that allows you to create a VPN connection from your local machine to any remote server that you have ssh access on. The tunnel established over the ssh connection can then be used to route all your traffic from client machine through the remote machine including all the dns traffic. In the bare bones sshuttle is just a proxy server which runs on the client machine and forwards all the traffic to a ssh tunnel. Since its open source it holds quite a lot of major advantages over traditional VPN.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://www.openssh.com/txt/release-8.1" target="_blank" rel="nofollow noopener"&gt;OpenSSH 8.1 Released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Security&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ssh(1), sshd(8), ssh-add(1), ssh-keygen(1): an exploitable integer overflow bug was found in the private key parsing code for the XMSS key type. This key type is still experimental and support for it is not compiled by default. No user-facing autoconf option exists in portable OpenSSH to enable it. This bug was found by Adam Zabrocki and reported via SecuriTeam's SSD program.&lt;/li&gt;
&lt;li&gt;ssh(1), sshd(8), ssh-agent(1): add protection for private keys at rest in RAM against speculation and memory side-channel attacks like Spectre, Meltdown and Rambleed. This release encrypts private keys when they are not in use with a symmetric key that is derived from a relatively large "prekey" consisting of random data (currently 16KB).&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This release includes a number of changes that may affect existing configurations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ssh-keygen(1): when acting as a CA and signing certificates with an RSA key, default to using the rsa-sha2-512 signature algorithm. Certificates signed by RSA keys will therefore be incompatible with OpenSSH versions prior to 7.2 unless the default is overridden (using "ssh-keygen -t ssh-rsa -s ...").&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;New Features&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ssh(1): Allow %n to be expanded in ProxyCommand strings&lt;/li&gt;
&lt;li&gt;ssh(1), sshd(8): Allow prepending a list of algorithms to the default set by starting the list with the '&lt;sup&gt;'&lt;/sup&gt; character, E.g. "HostKeyAlgorithms &lt;sup&gt;ssh-ed25519"&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;ssh-keygen(1): add an experimental lightweight signature and verification ability. Signatures may be made using regular ssh keys held on disk or stored in a ssh-agent and verified against an authorized_keys-like list of allowed keys. Signatures embed a namespace that prevents confusion and attacks between different usage domains (e.g. files vs email).&lt;/li&gt;
&lt;li&gt;ssh-keygen(1): print key comment when extracting public key from a private key.&lt;/li&gt;
&lt;li&gt;ssh-keygen(1): accept the verbose flag when searching for host keys in known hosts (i.e. "ssh-keygen -vF host") to print the matching host's random-art signature too.&lt;/li&gt;
&lt;li&gt;All: support PKCS8 as an optional format for storage of private keys to disk.  The OpenSSH native key format remains the default, but PKCS8 is a superior format to PEM if interoperability with non-OpenSSH software is required, as it may use a less insecure key derivation function than PEM's.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jmcwhatever/status/1185584719183962112" target="_blank" rel="nofollow noopener"&gt;Say goodbye to the 32 CPU limit in NetBSD/aarch64&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/channel/UCvcdrOSlYOSzOzLjv_n1_GQ/videos" target="_blank" rel="nofollow noopener"&gt;vBSDcon 2019 videos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=3Hfda0Tjqsg&amp;amp;feature=youtu.be" target="_blank" rel="nofollow noopener"&gt;Browse the web in the terminal - W3M&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://netbsd.org/%7Ekamil/GSoC2019.html#slide1" target="_blank" rel="nofollow noopener"&gt;NetBSD 9 and GSoC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PLeF8ZihVdpFegPoAKppaDSoYmsBvpnSZv" target="_blank" rel="nofollow noopener"&gt;BSDCan 2019 Videos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nycbug.org/index?action=view&amp;amp;id=10673" target="_blank" rel="nofollow noopener"&gt;NYC*BUG Install Fest: Nov 6th 18:45 @ Suspenders&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/freebsd-miniconf-at-linux-conf-au-2020-call-for-sessions-now-open/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Miniconf at linux.conf.au 2020 Call for Sessions Now Open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://people.freebsd.org/%7Erodrigo/fosdem20/" target="_blank" rel="nofollow noopener"&gt;FOSDEM 2020 - BSD Devroom Call for Participation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/ed_maste/status/1184865668317007874" target="_blank" rel="nofollow noopener"&gt;University of Cambridge looking for Research Assistants/Associates&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Trenton - &lt;a href="http://dpaste.com/0ZEXNM6#wrap" target="_blank" rel="nofollow noopener"&gt;Beeping Thinkpad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Alex - &lt;a href="http://dpaste.com/1K31A65#wrap" target="_blank" rel="nofollow noopener"&gt;Per user ZFS Datasets&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://reviews.freebsd.org/D2272" target="_blank" rel="nofollow noopener"&gt;Allan’s old patch from 2015&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Javier - &lt;a href="http://dpaste.com/1XX4NNA#wrap" target="_blank" rel="nofollow noopener"&gt;FBSD 12.0 + ZFS + encryption&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0322.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, unix, 50 years unix, pdp 7, pdp, release, opnsense, ghostbsd, sshuttle, vpn, ssh, vpn over ssh, openssh</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Unix is 50, Hunting down Ken's PDP-7, OpenBSD and OPNSense have new releases, Clarification on what GhostBSD is, sshuttle  - VPN over SSH, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.bell-labs.com/unix50/" target="_blank" rel="nofollow noopener">Unix is 50</a></h3>

<blockquote>
<p>In the summer of 1969 computer scientists Ken Thompson and Dennis Ritchie created the first implementation of Unix with the goal of designing an elegant and economical operating system for a little-used PDP-7 minicomputer at Bell Labs. That modest project, however, would have a far-reaching legacy. Unix made large-scale networking of diverse computing systems — and the Internet — practical. The Unix team went on to develop the C language, which brought an unprecedented combination of efficiency and expressiveness to programming. Both made computing more "portable". Today, Linux, the most popular descendent of Unix, powers the vast majority of servers, and elements of Unix and Linux are found in most mobile devices. Meanwhile C++ remains one of the most widely used programming languages today. Unix may be a half-century old but its influence is only growing.</p>
</blockquote>

<hr>

<h3><a href="https://bsdimp.blogspot.com/2019/10/video-footage-of-first-pdp-7-to-run-unix.html" target="_blank" rel="nofollow noopener">Hunting down Ken's PDP-7: video footage found</a></h3>

<blockquote>
<p>In my prior blog post, I traced Ken's scrounged PDP-7 to SN 34. In this post I'll show that we have actual video footage of that PDP-7 due to an old film from Bell Labs. this gives us almost a minute of footage of the PDP-7 Ken later used to create Unix.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://openbsd.org/66.html" target="_blank" rel="nofollow noopener">OpenBSD 6.6 Released</a></h3>

<ul>
<li>Announce: <a href="https://marc.info/?l=openbsd-tech&amp;m=157132024225971&amp;w=2" target="_blank" rel="nofollow noopener">https://marc.info/?l=openbsd-tech&amp;m=157132024225971&amp;w=2</a></li>
<li>Upgrade Guide: <a href="https://openbsd.org/faq/upgrade66.html" target="_blank" rel="nofollow noopener">https://openbsd.org/faq/upgrade66.html</a></li>
<li>Changelog: <a href="https://openbsd.org/plus66.html" target="_blank" rel="nofollow noopener">https://openbsd.org/plus66.html</a></li>
</ul>

<hr>

<h3><a href="https://opnsense.org/opnsense-19-7-5-released/" target="_blank" rel="nofollow noopener">OPNsense 19.7.5 released</a></h3>

<blockquote>
<p>Hello friends and followers, Lots of plugin and ports updates this time with a few minor improvements in all core areas. Behind the scenes we are starting to migrate the base system to version</p>
</blockquote>

<p>12.1 which is supposed to hit the next 20.1 release.  Stay tuned for more infos in the next month or so.</p>

<p>Here are the full patch notes:</p>

<ul>
<li>system: show all swap partitions in system information widget</li>
<li>system: flatten services_get() in preparation for removal</li>
<li>system: pin Syslog-ng version to specific package name</li>
<li>system: fix LDAP/StartTLS with user import page</li>
<li>system: fix a PHP warning on authentication server page</li>
<li>system: replace most subprocess.call use</li>
<li>interfaces: fix devd handling of carp devices (contributed by stumbaumr)</li>
<li>firewall: improve firewall rules inline toggles</li>
<li>firewall: only allow TCP flags on TCP protocol</li>
<li>firewall: simplify help text for direction setting</li>
<li>firewall: make protocol log summary case insensitive</li>
<li>reporting: ignore malformed flow records</li>
<li>captive portal: fix type mismatch for timeout read</li>
<li>dhcp: add note for static lease limitation with lease registration (contributed by Northguy)</li>
<li>ipsec: add margintime and rekeyfuzz options</li>
<li>ipsec: clear $dpdline correctly if not set</li>
<li>ui: fix tokenizer reorder on multiple saves</li>
<li>plugins: os-acme-client 1.26[1]</li>
<li>plugins: os-bind will reload bind on record change (contributed by blablup)</li>
<li>plugins: os-etpro-telemetry minor subprocess.call replacement</li>
<li>plugins: os-freeradius 1.9.4[2]</li>
<li>plugins: os-frr 1.12[3]</li>
<li>plugins: os-haproxy 2.19[4]</li>
<li>plugins: os-mailtrail 1.2[5]</li>
<li>plugins: os-postfix 1.11[6]</li>
<li>plugins: os-rspamd 1.8[7]</li>
<li>plugins: os-sunnyvalley LibreSSL support (contributed by Sunny Valley Networks)</li>
<li>plugins: os-telegraf 1.7.6[8]</li>
<li>plugins: os-theme-cicada 1.21 (contributed by Team Rebellion)</li>
<li>plugins: os-theme-tukan 1.21 (contributed by Team Rebellion)</li>
<li>plugins: os-tinc minor subprocess.call replacement</li>
<li>plugins: os-tor 1.8 adds dormant mode disable option (contributed by Fabian Franz)</li>
<li>plugins: os-virtualbox 1.0 (contributed by andrewhotlab)</li>
</ul>

<hr>

<h3><a href="http://ghostbsd.org/node/194" target="_blank" rel="nofollow noopener">Dealing with the misunderstandings of what is GhostBSD</a></h3>

<blockquote>
<p>Since the release of 19.09, I have seen a lot of misunderstandings on what is GhostBSD and the future of GhostBSD. GhostBSD is based on TrueOS with FreeBSD 12 STABLE with our twist to it. We are still continuing to use TrueOS for OpenRC, and the new package's system for the base system that is built from ports. GhostBSD is becoming a slow-moving rolling release base on the latest TrueOS with FreeBSD 12 STABLE. When FreeBSD 13 STABLE gets released, GhostBSD will be upgraded to TrueOS with FreeBSD 13 STABLE.</p>

<p>Our official desktop is MATE, which means that the leading developer of GhostBSD does not officially support XFCE. Community releases are maintained by the community and for the community. GhostBSD project will provide help to build and to host the community release. If anyone wants to have a particular desktop supported, it is up to the community. Sure I will help where I can, answer questions and guide new community members that contribute to community release.</p>

<p>There is some effort going on for Plasma5 desktop. If anyone is interested in helping with XFCE and Plasma5 or in creating another community release, you are well come to contribute. Also, Contribution to the GhostBSD base system, to ports and new ports, and in house software are welcome. We are mostly active on Telegram <a href="https://t.me/ghostbsd" target="_blank" rel="nofollow noopener">https://t.me/ghostbsd</a>, but you can also reach us on the forum.</p>
</blockquote>

<hr>

<h3><a href="https://www.terminalbytes.com/sshuttle-vpn-over-ssh-vpn-alternative/" target="_blank" rel="nofollow noopener">SHUTTLE – VPN over SSH | VPN Alternative</a></h3>

<blockquote>
<p>Looking for a lightweight VPN client, but are not ready to spend a monthly recurring amount on a VPN? VPNs can be expensive depending upon the quality of service and amount of privacy you want. A good VPN plan can easily set you back by 10$ a month and even that doesn’t guarantee your privacy. There is no way to be sure whether the VPN is storing your confidential information and traffic logs or not. sshuttle is the answer to your problem it provides VPN over ssh and in this article we’re going to explore this cheap yet powerful alternative to the expensive VPNs. By using open source tools you can control your own privacy.</p>
</blockquote>

<ul>
<li>VPN over SSH – sshuttle</li>
</ul>

<blockquote>
<p>sshuttle is an awesome program that allows you to create a VPN connection from your local machine to any remote server that you have ssh access on. The tunnel established over the ssh connection can then be used to route all your traffic from client machine through the remote machine including all the dns traffic. In the bare bones sshuttle is just a proxy server which runs on the client machine and forwards all the traffic to a ssh tunnel. Since its open source it holds quite a lot of major advantages over traditional VPN.</p>
</blockquote>

<hr>

<h3><a href="http://www.openssh.com/txt/release-8.1" target="_blank" rel="nofollow noopener">OpenSSH 8.1 Released</a></h3>

<ul>
<li><p>Security</p>

<ul>
<li>ssh(1), sshd(8), ssh-add(1), ssh-keygen(1): an exploitable integer overflow bug was found in the private key parsing code for the XMSS key type. This key type is still experimental and support for it is not compiled by default. No user-facing autoconf option exists in portable OpenSSH to enable it. This bug was found by Adam Zabrocki and reported via SecuriTeam's SSD program.</li>
<li>ssh(1), sshd(8), ssh-agent(1): add protection for private keys at rest in RAM against speculation and memory side-channel attacks like Spectre, Meltdown and Rambleed. This release encrypts private keys when they are not in use with a symmetric key that is derived from a relatively large "prekey" consisting of random data (currently 16KB).</li>
</ul></li>
<li><p>This release includes a number of changes that may affect existing configurations:</p>

<ul>
<li>ssh-keygen(1): when acting as a CA and signing certificates with an RSA key, default to using the rsa-sha2-512 signature algorithm. Certificates signed by RSA keys will therefore be incompatible with OpenSSH versions prior to 7.2 unless the default is overridden (using "ssh-keygen -t ssh-rsa -s ...").</li>
</ul></li>
<li><p>New Features</p>

<ul>
<li>ssh(1): Allow %n to be expanded in ProxyCommand strings</li>
<li>ssh(1), sshd(8): Allow prepending a list of algorithms to the default set by starting the list with the '<sup>'</sup> character, E.g. "HostKeyAlgorithms <sup>ssh-ed25519"</sup></li>
<li>ssh-keygen(1): add an experimental lightweight signature and verification ability. Signatures may be made using regular ssh keys held on disk or stored in a ssh-agent and verified against an authorized_keys-like list of allowed keys. Signatures embed a namespace that prevents confusion and attacks between different usage domains (e.g. files vs email).</li>
<li>ssh-keygen(1): print key comment when extracting public key from a private key.</li>
<li>ssh-keygen(1): accept the verbose flag when searching for host keys in known hosts (i.e. "ssh-keygen -vF host") to print the matching host's random-art signature too.</li>
<li>All: support PKCS8 as an optional format for storage of private keys to disk.  The OpenSSH native key format remains the default, but PKCS8 is a superior format to PEM if interoperability with non-OpenSSH software is required, as it may use a less insecure key derivation function than PEM's.</li>
</ul></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/jmcwhatever/status/1185584719183962112" target="_blank" rel="nofollow noopener">Say goodbye to the 32 CPU limit in NetBSD/aarch64</a></li>
<li><a href="https://www.youtube.com/channel/UCvcdrOSlYOSzOzLjv_n1_GQ/videos" target="_blank" rel="nofollow noopener">vBSDcon 2019 videos</a></li>
<li><a href="https://www.youtube.com/watch?v=3Hfda0Tjqsg&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">Browse the web in the terminal - W3M</a></li>
<li><a href="http://netbsd.org/%7Ekamil/GSoC2019.html#slide1" target="_blank" rel="nofollow noopener">NetBSD 9 and GSoC</a></li>
<li><a href="https://www.youtube.com/playlist?list=PLeF8ZihVdpFegPoAKppaDSoYmsBvpnSZv" target="_blank" rel="nofollow noopener">BSDCan 2019 Videos</a></li>
<li><a href="https://www.nycbug.org/index?action=view&amp;id=10673" target="_blank" rel="nofollow noopener">NYC*BUG Install Fest: Nov 6th 18:45 @ Suspenders</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/freebsd-miniconf-at-linux-conf-au-2020-call-for-sessions-now-open/" target="_blank" rel="nofollow noopener">FreeBSD Miniconf at linux.conf.au 2020 Call for Sessions Now Open</a></li>
<li><a href="https://people.freebsd.org/%7Erodrigo/fosdem20/" target="_blank" rel="nofollow noopener">FOSDEM 2020 - BSD Devroom Call for Participation</a></li>
<li><a href="https://twitter.com/ed_maste/status/1184865668317007874" target="_blank" rel="nofollow noopener">University of Cambridge looking for Research Assistants/Associates</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Trenton - <a href="http://dpaste.com/0ZEXNM6#wrap" target="_blank" rel="nofollow noopener">Beeping Thinkpad</a></li>
<li>Alex - <a href="http://dpaste.com/1K31A65#wrap" target="_blank" rel="nofollow noopener">Per user ZFS Datasets</a>

<ul>
<li><a href="https://reviews.freebsd.org/D2272" target="_blank" rel="nofollow noopener">Allan’s old patch from 2015</a></li>
</ul></li>
<li>Javier - <a href="http://dpaste.com/1XX4NNA#wrap" target="_blank" rel="nofollow noopener">FBSD 12.0 + ZFS + encryption</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0322.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Unix is 50, Hunting down Ken's PDP-7, OpenBSD and OPNSense have new releases, Clarification on what GhostBSD is, sshuttle  - VPN over SSH, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.bell-labs.com/unix50/" target="_blank" rel="nofollow noopener">Unix is 50</a></h3>

<blockquote>
<p>In the summer of 1969 computer scientists Ken Thompson and Dennis Ritchie created the first implementation of Unix with the goal of designing an elegant and economical operating system for a little-used PDP-7 minicomputer at Bell Labs. That modest project, however, would have a far-reaching legacy. Unix made large-scale networking of diverse computing systems — and the Internet — practical. The Unix team went on to develop the C language, which brought an unprecedented combination of efficiency and expressiveness to programming. Both made computing more "portable". Today, Linux, the most popular descendent of Unix, powers the vast majority of servers, and elements of Unix and Linux are found in most mobile devices. Meanwhile C++ remains one of the most widely used programming languages today. Unix may be a half-century old but its influence is only growing.</p>
</blockquote>

<hr>

<h3><a href="https://bsdimp.blogspot.com/2019/10/video-footage-of-first-pdp-7-to-run-unix.html" target="_blank" rel="nofollow noopener">Hunting down Ken's PDP-7: video footage found</a></h3>

<blockquote>
<p>In my prior blog post, I traced Ken's scrounged PDP-7 to SN 34. In this post I'll show that we have actual video footage of that PDP-7 due to an old film from Bell Labs. this gives us almost a minute of footage of the PDP-7 Ken later used to create Unix.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://openbsd.org/66.html" target="_blank" rel="nofollow noopener">OpenBSD 6.6 Released</a></h3>

<ul>
<li>Announce: <a href="https://marc.info/?l=openbsd-tech&amp;m=157132024225971&amp;w=2" target="_blank" rel="nofollow noopener">https://marc.info/?l=openbsd-tech&amp;m=157132024225971&amp;w=2</a></li>
<li>Upgrade Guide: <a href="https://openbsd.org/faq/upgrade66.html" target="_blank" rel="nofollow noopener">https://openbsd.org/faq/upgrade66.html</a></li>
<li>Changelog: <a href="https://openbsd.org/plus66.html" target="_blank" rel="nofollow noopener">https://openbsd.org/plus66.html</a></li>
</ul>

<hr>

<h3><a href="https://opnsense.org/opnsense-19-7-5-released/" target="_blank" rel="nofollow noopener">OPNsense 19.7.5 released</a></h3>

<blockquote>
<p>Hello friends and followers, Lots of plugin and ports updates this time with a few minor improvements in all core areas. Behind the scenes we are starting to migrate the base system to version</p>
</blockquote>

<p>12.1 which is supposed to hit the next 20.1 release.  Stay tuned for more infos in the next month or so.</p>

<p>Here are the full patch notes:</p>

<ul>
<li>system: show all swap partitions in system information widget</li>
<li>system: flatten services_get() in preparation for removal</li>
<li>system: pin Syslog-ng version to specific package name</li>
<li>system: fix LDAP/StartTLS with user import page</li>
<li>system: fix a PHP warning on authentication server page</li>
<li>system: replace most subprocess.call use</li>
<li>interfaces: fix devd handling of carp devices (contributed by stumbaumr)</li>
<li>firewall: improve firewall rules inline toggles</li>
<li>firewall: only allow TCP flags on TCP protocol</li>
<li>firewall: simplify help text for direction setting</li>
<li>firewall: make protocol log summary case insensitive</li>
<li>reporting: ignore malformed flow records</li>
<li>captive portal: fix type mismatch for timeout read</li>
<li>dhcp: add note for static lease limitation with lease registration (contributed by Northguy)</li>
<li>ipsec: add margintime and rekeyfuzz options</li>
<li>ipsec: clear $dpdline correctly if not set</li>
<li>ui: fix tokenizer reorder on multiple saves</li>
<li>plugins: os-acme-client 1.26[1]</li>
<li>plugins: os-bind will reload bind on record change (contributed by blablup)</li>
<li>plugins: os-etpro-telemetry minor subprocess.call replacement</li>
<li>plugins: os-freeradius 1.9.4[2]</li>
<li>plugins: os-frr 1.12[3]</li>
<li>plugins: os-haproxy 2.19[4]</li>
<li>plugins: os-mailtrail 1.2[5]</li>
<li>plugins: os-postfix 1.11[6]</li>
<li>plugins: os-rspamd 1.8[7]</li>
<li>plugins: os-sunnyvalley LibreSSL support (contributed by Sunny Valley Networks)</li>
<li>plugins: os-telegraf 1.7.6[8]</li>
<li>plugins: os-theme-cicada 1.21 (contributed by Team Rebellion)</li>
<li>plugins: os-theme-tukan 1.21 (contributed by Team Rebellion)</li>
<li>plugins: os-tinc minor subprocess.call replacement</li>
<li>plugins: os-tor 1.8 adds dormant mode disable option (contributed by Fabian Franz)</li>
<li>plugins: os-virtualbox 1.0 (contributed by andrewhotlab)</li>
</ul>

<hr>

<h3><a href="http://ghostbsd.org/node/194" target="_blank" rel="nofollow noopener">Dealing with the misunderstandings of what is GhostBSD</a></h3>

<blockquote>
<p>Since the release of 19.09, I have seen a lot of misunderstandings on what is GhostBSD and the future of GhostBSD. GhostBSD is based on TrueOS with FreeBSD 12 STABLE with our twist to it. We are still continuing to use TrueOS for OpenRC, and the new package's system for the base system that is built from ports. GhostBSD is becoming a slow-moving rolling release base on the latest TrueOS with FreeBSD 12 STABLE. When FreeBSD 13 STABLE gets released, GhostBSD will be upgraded to TrueOS with FreeBSD 13 STABLE.</p>

<p>Our official desktop is MATE, which means that the leading developer of GhostBSD does not officially support XFCE. Community releases are maintained by the community and for the community. GhostBSD project will provide help to build and to host the community release. If anyone wants to have a particular desktop supported, it is up to the community. Sure I will help where I can, answer questions and guide new community members that contribute to community release.</p>

<p>There is some effort going on for Plasma5 desktop. If anyone is interested in helping with XFCE and Plasma5 or in creating another community release, you are well come to contribute. Also, Contribution to the GhostBSD base system, to ports and new ports, and in house software are welcome. We are mostly active on Telegram <a href="https://t.me/ghostbsd" target="_blank" rel="nofollow noopener">https://t.me/ghostbsd</a>, but you can also reach us on the forum.</p>
</blockquote>

<hr>

<h3><a href="https://www.terminalbytes.com/sshuttle-vpn-over-ssh-vpn-alternative/" target="_blank" rel="nofollow noopener">SHUTTLE – VPN over SSH | VPN Alternative</a></h3>

<blockquote>
<p>Looking for a lightweight VPN client, but are not ready to spend a monthly recurring amount on a VPN? VPNs can be expensive depending upon the quality of service and amount of privacy you want. A good VPN plan can easily set you back by 10$ a month and even that doesn’t guarantee your privacy. There is no way to be sure whether the VPN is storing your confidential information and traffic logs or not. sshuttle is the answer to your problem it provides VPN over ssh and in this article we’re going to explore this cheap yet powerful alternative to the expensive VPNs. By using open source tools you can control your own privacy.</p>
</blockquote>

<ul>
<li>VPN over SSH – sshuttle</li>
</ul>

<blockquote>
<p>sshuttle is an awesome program that allows you to create a VPN connection from your local machine to any remote server that you have ssh access on. The tunnel established over the ssh connection can then be used to route all your traffic from client machine through the remote machine including all the dns traffic. In the bare bones sshuttle is just a proxy server which runs on the client machine and forwards all the traffic to a ssh tunnel. Since its open source it holds quite a lot of major advantages over traditional VPN.</p>
</blockquote>

<hr>

<h3><a href="http://www.openssh.com/txt/release-8.1" target="_blank" rel="nofollow noopener">OpenSSH 8.1 Released</a></h3>

<ul>
<li><p>Security</p>

<ul>
<li>ssh(1), sshd(8), ssh-add(1), ssh-keygen(1): an exploitable integer overflow bug was found in the private key parsing code for the XMSS key type. This key type is still experimental and support for it is not compiled by default. No user-facing autoconf option exists in portable OpenSSH to enable it. This bug was found by Adam Zabrocki and reported via SecuriTeam's SSD program.</li>
<li>ssh(1), sshd(8), ssh-agent(1): add protection for private keys at rest in RAM against speculation and memory side-channel attacks like Spectre, Meltdown and Rambleed. This release encrypts private keys when they are not in use with a symmetric key that is derived from a relatively large "prekey" consisting of random data (currently 16KB).</li>
</ul></li>
<li><p>This release includes a number of changes that may affect existing configurations:</p>

<ul>
<li>ssh-keygen(1): when acting as a CA and signing certificates with an RSA key, default to using the rsa-sha2-512 signature algorithm. Certificates signed by RSA keys will therefore be incompatible with OpenSSH versions prior to 7.2 unless the default is overridden (using "ssh-keygen -t ssh-rsa -s ...").</li>
</ul></li>
<li><p>New Features</p>

<ul>
<li>ssh(1): Allow %n to be expanded in ProxyCommand strings</li>
<li>ssh(1), sshd(8): Allow prepending a list of algorithms to the default set by starting the list with the '<sup>'</sup> character, E.g. "HostKeyAlgorithms <sup>ssh-ed25519"</sup></li>
<li>ssh-keygen(1): add an experimental lightweight signature and verification ability. Signatures may be made using regular ssh keys held on disk or stored in a ssh-agent and verified against an authorized_keys-like list of allowed keys. Signatures embed a namespace that prevents confusion and attacks between different usage domains (e.g. files vs email).</li>
<li>ssh-keygen(1): print key comment when extracting public key from a private key.</li>
<li>ssh-keygen(1): accept the verbose flag when searching for host keys in known hosts (i.e. "ssh-keygen -vF host") to print the matching host's random-art signature too.</li>
<li>All: support PKCS8 as an optional format for storage of private keys to disk.  The OpenSSH native key format remains the default, but PKCS8 is a superior format to PEM if interoperability with non-OpenSSH software is required, as it may use a less insecure key derivation function than PEM's.</li>
</ul></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/jmcwhatever/status/1185584719183962112" target="_blank" rel="nofollow noopener">Say goodbye to the 32 CPU limit in NetBSD/aarch64</a></li>
<li><a href="https://www.youtube.com/channel/UCvcdrOSlYOSzOzLjv_n1_GQ/videos" target="_blank" rel="nofollow noopener">vBSDcon 2019 videos</a></li>
<li><a href="https://www.youtube.com/watch?v=3Hfda0Tjqsg&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">Browse the web in the terminal - W3M</a></li>
<li><a href="http://netbsd.org/%7Ekamil/GSoC2019.html#slide1" target="_blank" rel="nofollow noopener">NetBSD 9 and GSoC</a></li>
<li><a href="https://www.youtube.com/playlist?list=PLeF8ZihVdpFegPoAKppaDSoYmsBvpnSZv" target="_blank" rel="nofollow noopener">BSDCan 2019 Videos</a></li>
<li><a href="https://www.nycbug.org/index?action=view&amp;id=10673" target="_blank" rel="nofollow noopener">NYC*BUG Install Fest: Nov 6th 18:45 @ Suspenders</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/freebsd-miniconf-at-linux-conf-au-2020-call-for-sessions-now-open/" target="_blank" rel="nofollow noopener">FreeBSD Miniconf at linux.conf.au 2020 Call for Sessions Now Open</a></li>
<li><a href="https://people.freebsd.org/%7Erodrigo/fosdem20/" target="_blank" rel="nofollow noopener">FOSDEM 2020 - BSD Devroom Call for Participation</a></li>
<li><a href="https://twitter.com/ed_maste/status/1184865668317007874" target="_blank" rel="nofollow noopener">University of Cambridge looking for Research Assistants/Associates</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Trenton - <a href="http://dpaste.com/0ZEXNM6#wrap" target="_blank" rel="nofollow noopener">Beeping Thinkpad</a></li>
<li>Alex - <a href="http://dpaste.com/1K31A65#wrap" target="_blank" rel="nofollow noopener">Per user ZFS Datasets</a>

<ul>
<li><a href="https://reviews.freebsd.org/D2272" target="_blank" rel="nofollow noopener">Allan’s old patch from 2015</a></li>
</ul></li>
<li>Javier - <a href="http://dpaste.com/1XX4NNA#wrap" target="_blank" rel="nofollow noopener">FBSD 12.0 + ZFS + encryption</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0322.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>321: The Robot OS</title>
  <link>https://www.bsdnow.tv/321</link>
  <guid isPermaLink="false">fca983bf-93c9-460f-8c32-3b32663d463d</guid>
  <pubDate>Wed, 23 Oct 2019 23:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/fca983bf-93c9-460f-8c32-3b32663d463d.mp3" length="39796738" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>An interview with Trenton Schulz about his early days with FreeBSD, Robot OS, Qt, and more.</itunes:subtitle>
  <itunes:duration>55:16</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>&lt;p&gt;An interview with Trenton Schulz about his early days with FreeBSD, Robot OS, Qt, and more.&lt;/p&gt;

&lt;h2&gt;Interview - Trenton Schulz - &lt;a href="mailto:freenas@norwegianrockcat.com" target="_blank" rel="nofollow noopener"&gt;freenas@norwegianrockcat.com&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Robot OS on FreeBSD&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;BR:&lt;/strong&gt; Welcome to the show. Can you tell us a little bit about yourself and how you got started with BSD?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AJ:&lt;/strong&gt; You were working for Trolltech (creators of Qt). Was FreeBSD used there and how?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;BR:&lt;/strong&gt; Can you tell us more about the work you are doing with Robot OS on FreeBSD?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AJ:&lt;/strong&gt; Was EuroBSDcon your first BSD conference? How did you like it?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;BR:&lt;/strong&gt; Do you have some tips or advice on how to get started with the BSDs?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AJ:&lt;/strong&gt; Is there anything else you’d like to tell us before we let you go?&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/freebsd-miniconf-at-linux-conf-au-2020-call-for-sessions-now-open/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Miniconf at linux.conf.au 2020 Call for Sessions Now Open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://calagator.org/events/1250476319" target="_blank" rel="nofollow noopener"&gt;Portland BSD Pizza Night: Oct 24th, 19:00 @ Rudy’s Gourmet Pizza&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nycbug.org/index?action=view&amp;amp;id=10673" target="_blank" rel="nofollow noopener"&gt;NYC*BUG Install Fest: Nov 6th 18:45 @ Suspenders &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://people.freebsd.org/%7Erodrigo/fosdem20/" target="_blank" rel="nofollow noopener"&gt;FOSDEM 2020 - BSD Devroom Call for Participation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/ed_maste/status/1184865668317007874" target="_blank" rel="nofollow noopener"&gt;University of Cambridge looking for Research Assistants/Associates&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;br&gt;
    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0321.mp4" type="video/mp4"&gt;&lt;br&gt;
    Your browser does not support the HTML5 video tag.&lt;br&gt;
 Special Guest: Trenton Shulz.&lt;/p&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, unix at 50, unix code, source code, release, Ken Thompson, pdp-7, pdp 7</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>An interview with Trenton Schulz about his early days with FreeBSD, Robot OS, Qt, and more.</p>

<h2>Interview - Trenton Schulz - <a href="mailto:freenas@norwegianrockcat.com" target="_blank" rel="nofollow noopener">freenas@norwegianrockcat.com</a></h2>

<p>Robot OS on FreeBSD</p>

<ul>
<li><strong>BR:</strong> Welcome to the show. Can you tell us a little bit about yourself and how you got started with BSD?</li>
<li><strong>AJ:</strong> You were working for Trolltech (creators of Qt). Was FreeBSD used there and how?</li>
<li><strong>BR:</strong> Can you tell us more about the work you are doing with Robot OS on FreeBSD?</li>
<li><strong>AJ:</strong> Was EuroBSDcon your first BSD conference? How did you like it?</li>
<li><strong>BR:</strong> Do you have some tips or advice on how to get started with the BSDs?</li>
<li><strong>AJ:</strong> Is there anything else you’d like to tell us before we let you go?</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.freebsdfoundation.org/blog/freebsd-miniconf-at-linux-conf-au-2020-call-for-sessions-now-open/" target="_blank" rel="nofollow noopener">FreeBSD Miniconf at linux.conf.au 2020 Call for Sessions Now Open</a></li>
<li><a href="http://calagator.org/events/1250476319" target="_blank" rel="nofollow noopener">Portland BSD Pizza Night: Oct 24th, 19:00 @ Rudy’s Gourmet Pizza</a></li>
<li><a href="https://www.nycbug.org/index?action=view&amp;id=10673" target="_blank" rel="nofollow noopener">NYC*BUG Install Fest: Nov 6th 18:45 @ Suspenders </a></li>
<li><a href="https://people.freebsd.org/%7Erodrigo/fosdem20/" target="_blank" rel="nofollow noopener">FOSDEM 2020 - BSD Devroom Call for Participation</a></li>
<li><a href="https://twitter.com/ed_maste/status/1184865668317007874" target="_blank" rel="nofollow noopener">University of Cambridge looking for Research Assistants/Associates</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0321.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
<p>Special Guest: Trenton Shulz.</p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>An interview with Trenton Schulz about his early days with FreeBSD, Robot OS, Qt, and more.</p>

<h2>Interview - Trenton Schulz - <a href="mailto:freenas@norwegianrockcat.com" target="_blank" rel="nofollow noopener">freenas@norwegianrockcat.com</a></h2>

<p>Robot OS on FreeBSD</p>

<ul>
<li><strong>BR:</strong> Welcome to the show. Can you tell us a little bit about yourself and how you got started with BSD?</li>
<li><strong>AJ:</strong> You were working for Trolltech (creators of Qt). Was FreeBSD used there and how?</li>
<li><strong>BR:</strong> Can you tell us more about the work you are doing with Robot OS on FreeBSD?</li>
<li><strong>AJ:</strong> Was EuroBSDcon your first BSD conference? How did you like it?</li>
<li><strong>BR:</strong> Do you have some tips or advice on how to get started with the BSDs?</li>
<li><strong>AJ:</strong> Is there anything else you’d like to tell us before we let you go?</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.freebsdfoundation.org/blog/freebsd-miniconf-at-linux-conf-au-2020-call-for-sessions-now-open/" target="_blank" rel="nofollow noopener">FreeBSD Miniconf at linux.conf.au 2020 Call for Sessions Now Open</a></li>
<li><a href="http://calagator.org/events/1250476319" target="_blank" rel="nofollow noopener">Portland BSD Pizza Night: Oct 24th, 19:00 @ Rudy’s Gourmet Pizza</a></li>
<li><a href="https://www.nycbug.org/index?action=view&amp;id=10673" target="_blank" rel="nofollow noopener">NYC*BUG Install Fest: Nov 6th 18:45 @ Suspenders </a></li>
<li><a href="https://people.freebsd.org/%7Erodrigo/fosdem20/" target="_blank" rel="nofollow noopener">FOSDEM 2020 - BSD Devroom Call for Participation</a></li>
<li><a href="https://twitter.com/ed_maste/status/1184865668317007874" target="_blank" rel="nofollow noopener">University of Cambridge looking for Research Assistants/Associates</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0321.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
<p>Special Guest: Trenton Shulz.</p>]]>
  </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>&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://unrelenting.technology/articles/FreeBSD-and-custom-firmware-on-the-Google-Pixelbook" target="_blank" rel="nofollow noopener"&gt;FreeBSD and custom firmware on the Google Pixelbook&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD and custom firmware on the Google Pixelbook&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;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..&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;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);&lt;/li&gt;
&lt;li&gt;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);&lt;/li&gt;
&lt;li&gt;with a HiDPI display (and ideally with a good size for exact 2x scaling instead of fractional);&lt;/li&gt;
&lt;li&gt;with USB-C ports;&lt;/li&gt;
&lt;li&gt;without a dGPU, especially without an NVIDIA GPU;&lt;/li&gt;
&lt;li&gt;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);&lt;/li&gt;
&lt;li&gt;supported by FreeBSD of course (\u201csome development required\u201d is okay but I\u2019m not going to write big drivers);&lt;/li&gt;
&lt;li&gt;how about something with open source firmware, that would be fun.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;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!&lt;/p&gt;

&lt;p&gt;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).&lt;/p&gt;

&lt;p&gt;So here it is, my new laptop, a Google Pixelbook.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Pixelbook, FreeBSD, coreboot, EDK2 good.&lt;/p&gt;

&lt;p&gt;Seriously, I have no big words to say, other than just recommending this laptop to FOSS enthusiasts :)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

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

&lt;ul&gt;
&lt;li&gt;Abstract&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Portability&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;General&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Types&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusions and future work&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/solaris/ZFSFullQuotaPerformanceIssue" target="_blank" rel="nofollow noopener"&gt;ZFS performance really does degrade as you approach quota limits&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;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. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In the September meeting notes, I read a very interesting (to me) agenda item: 

&lt;ul&gt;
&lt;li&gt;Relax quota semantics for improved performance (Allan Jude)&lt;/li&gt;
&lt;li&gt;Problem: As you approach quotas, ZFS performance degrades.&lt;/li&gt;
&lt;li&gt;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.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;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).&lt;/p&gt;

&lt;p&gt;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.)&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

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

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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!&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2019/09/24/23540.html" target="_blank" rel="nofollow noopener"&gt;HAMMER2 and fsck for review&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

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

&lt;p&gt;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:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;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@
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

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

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

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

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0320.mp4" type="video/mp4"&gt;
    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" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">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'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.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

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

<blockquote>
<p>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. </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'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).</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'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.)</p>

<p>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.</p>
</blockquote>

<hr>

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

<blockquote>
<p>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.</p>

<p>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.</p>

<p>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.</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" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">Sourcehut makes BSD software better</a></li>
<li><a href="https://github.com/LM-3/chaos" target="_blank" rel="nofollow noopener">Chaosnet for Unx</a></li>
<li><a href="https://cosine.blue/2019-09-06-kakoune.html" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">bhyvearm64: CPU and Memory Virtualization on Armv8.0-A</a></li>
<li><a href="https://www.youtube.com/watch?v=a2m56Yq-EIs" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">GSoC project ideas for pf rule syntax translation</a></li>
<li>Brad - <a href="http://dpaste.com/2SKA9YB#wrap" target="_blank" rel="nofollow noopener">Steam on FreeBSD</a></li>
<li>Ruslan - <a href="http://dpaste.com/0DQM3Q1" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <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.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<h2>Headlines</h2>

<h3><a href="https://unrelenting.technology/articles/FreeBSD-and-custom-firmware-on-the-Google-Pixelbook" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">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'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.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

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

<blockquote>
<p>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. </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'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).</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'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.)</p>

<p>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.</p>
</blockquote>

<hr>

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

<blockquote>
<p>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.</p>

<p>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.</p>

<p>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.</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" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">Sourcehut makes BSD software better</a></li>
<li><a href="https://github.com/LM-3/chaos" target="_blank" rel="nofollow noopener">Chaosnet for Unx</a></li>
<li><a href="https://cosine.blue/2019-09-06-kakoune.html" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">bhyvearm64: CPU and Memory Virtualization on Armv8.0-A</a></li>
<li><a href="https://www.youtube.com/watch?v=a2m56Yq-EIs" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">GSoC project ideas for pf rule syntax translation</a></li>
<li>Brad - <a href="http://dpaste.com/2SKA9YB#wrap" target="_blank" rel="nofollow noopener">Steam on FreeBSD</a></li>
<li>Ruslan - <a href="http://dpaste.com/0DQM3Q1" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <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.
]]>
  </itunes:summary>
</item>
<item>
  <title>319: Lack Rack, Jack</title>
  <link>https://www.bsdnow.tv/319</link>
  <guid isPermaLink="false">19c9942c-0790-4157-af73-31faf1e2b8e4</guid>
  <pubDate>Wed, 09 Oct 2019 23:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/19c9942c-0790-4157-af73-31faf1e2b8e4.mp3" length="48841583" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Causing ZFS corruption for fun, NetBSD Assembly Programming Tutorial, The IKEA Lack Rack for Servers, a new OmniOS Community Edition LTS has been published, List Block Devices on FreeBSD lsblk(8) Style, Project Trident 19.10 available, and more.</itunes:subtitle>
  <itunes:duration>1:07:50</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>&lt;p&gt;Causing ZFS corruption for fun, NetBSD Assembly Programming Tutorial, The IKEA Lack Rack for Servers, a new OmniOS Community Edition LTS has been published, List Block Devices on FreeBSD lsblk(8) Style, Project Trident 19.10 available, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://datto.engineering/post/causing-zfs-corruption" target="_blank" rel="nofollow noopener"&gt;Causing ZFS corruption for fun and profit&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Datto backs up data, a lot of it. At the time of writing Datto has over 500 PB of data stored on ZFS. This count includes both backup appliances that are sent to customer sites, as well as cloud storage servers that are used for secondary and tertiary backup of those appliances. At this scale drive swaps are a daily occurrence, and data corruption is inevitable. How we handle this corruption when it happens determines whether we truly lose data, or successfully restore from secondary backup. In this post we'll be showing you how at Datto we intentionally cause corruption in our testing environments, to ensure we're building software that can properly handle these scenarios.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Causing Corruption&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Since this is a mirror setup, a naive solution to cause corruption would be to randomly dd the same sectors of both /dev/sdb and /dev/sdc. This works, but is equally likely to just overwrite random unused space, or take down the zpool entirely. What we really want is to corrupt a specific snapshot, or even a specific file in that snapshot, to simulate a more realistic minor corruption event. Luckily we have a tool called zdb that lets us view some low level information about datasets.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At the 500 PB scale, it's not a matter of if data corruption will happen but when. Intentionally causing corruption is one of the strategies we use to ensure we're building software that can handle these rare (but inevitable) events.&lt;/p&gt;

&lt;p&gt;To others out there using ZFS: I'm curious to hear how you've solved this problem. We did quite a bit of experimentation with zinject before going with this more brute force method. So I'd be especially interested if you've had luck simply simulating corruption with zinject.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://polprog.net/blog/netbsdasmprog/" target="_blank" rel="nofollow noopener"&gt;NetBSD Assembly Programming Tutorial&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A sparc64 version is also being prepared and will be added when done&lt;/p&gt;

&lt;p&gt;This post describes how to write a simple hello world program in pure assembly on NetBSD/amd64. We will not use (nor link against) libc, nor use gcc to compile it. I will be using GNU as (gas), and therefore the AT&amp;amp;T syntax instead of Intel.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Why assembly?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Why not? Because it's fun to program in assembly directly. Contrary to a popular belief assembly programs aren't always faster than what optimizing compilers produce. Nevertheless it's good to be able to read assembly, especially when debugging C programs&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Due to the nature of the guide, visit the site for the complete breakdown&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://wiki.eth0.nl/index.php/LackRack" target="_blank" rel="nofollow noopener"&gt;The IKEA Lack Rack for Servers&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The LackRack&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;First occurrence on eth0:2010 Winterlan, the LackRack is the ultimate, low-cost, high shininess solution for your modular datacenter-in-the-living-room. Featuring the LACK (side table) from Ikea, the LackRack is an easy-to-implement, exact-fit datacenter building block. It's a little known fact that we have seen Google engineers tinker with Lack tables since way back in 2009.&lt;/p&gt;

&lt;p&gt;The LackRack will certainly make its appearance again this summer at eth0:2010 Summer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Summary&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;When temporarily not in use, multiple LackRacks can be stacked in a space-efficient way without disassembly, unlike competing 19" server racks.&lt;/p&gt;

&lt;p&gt;The LackRack was first seen on eth0:2010 Winterlan in the no-shoe Lounge area. Its low-cost and perfect fit are great for mounting up to 8 U of 19" hardware, such as switches (see below), or perhaps other 19" gear. It's very easy to assemble, and thanks to the design, they are stable enough to hold (for example) 19" switches and you can put your bottle of Club-Mate on top! Multi-shiny LackRack can also be painted to your specific preferences and the airflow is unprecedented!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Howto&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;You can find a howto on buying a LackRack on this page. This includes the proof that a 19" switch can indeed be placed in the LackRack in its natural habitat!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://omniosce.org/article/release-030" target="_blank" rel="nofollow noopener"&gt;OmniOS Community Edition r151030 LTS - Published at May 6, 2019&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The OmniOS Community Edition Association is proud to announce the general availability of OmniOS - r151030.&lt;/p&gt;

&lt;p&gt;OmniOS is published according to a 6-month release cycle, r151030 LTS takes over from r151028, published in November 2018; and since it is a LTS release it also takes over from r151022. The r151030 LTS release will be supported for 3 Years. It is the first LTS release published by the OmniOS CE Association since taking over the reins from OmniTI in 2017. The next LTS release is scheduled for May 2021. The old stable r151026 release is now end-of-life. See the release schedule for further details.&lt;/p&gt;

&lt;p&gt;This is only a small selection of the new features, and bug fixes in the new release; review the release notes for full details.&lt;/p&gt;

&lt;p&gt;If you upgrade from r22 and want to see all new features added since then, make sure to also read the release notes for r24, r26 and r28.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;For full relase notes including upgrade instructions;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://omniosce.org/releasenotes.html" target="_blank" rel="nofollow noopener"&gt;release notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://omniosce.org/upgrade.html" target="_blank" rel="nofollow noopener"&gt;upgrade instructions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://vermaden.wordpress.com/2019/09/27/list-block-devices-on-freebsd-lsblk8-style/" target="_blank" rel="nofollow noopener"&gt;List Block Devices on FreeBSD lsblk(8) Style&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;When I have to work on Linux systems I usually miss many nice FreeBSD tools such as these for example to name the few: sockstat, gstat, top -b -o res, top -m io -o total, usbconfig, rcorder, beadm/bectl, idprio/rtprio,… but sometimes – which rarely happens – Linux has some very useful tool that is not available on FreeBSD. An example of such tool is lsblk(8) that does one thing and does it quite well – lists block devices and their contents. It has some problems like listing a disk that is entirely used under ZFS pool on which lsblk(8) displays two partitions instead of information about ZFS just being there – but we all know how much in some circles the CDDL licensed ZFS is unloved in that GPL world.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Example lsblk(8) output from Linux system:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE   MOUNTPOINT
sr0                           11:0    1  1024M  0 rom
sda                            8:0    0 931.5G  0 disk
|-sda1                         8:1    0   500M  0 part   /boot
`-sda2                         8:2    0   931G  0 part
  |-vg_local-lv_root (dm-0)  253:0    0    50G  0 lvm    /
  |-vg_local-lv_swap (dm-1)  253:1    0  17.7G  0 lvm    [SWAP]
  `-vg_local-lv_home (dm-2)  253:2    0   1.8T  0 lvm    /home
sdc                            8:32   0 232.9G  0 disk
`-sdc1                         8:33   0 232.9G  0 part
  `-md1                        9:1    0 232.9G  0 raid10 /data
sdd                            8:48   0 232.9G  0 disk
`-sdd1                         8:49   0 232.9G  0 part
  `-md1                        9:1    0 232.9G  0 raid10 /data
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;What FreeBSD offers in this department? The camcontrol(8) and geom(8) commands are available. You can also use gpart(8) command to list partitions. Below you will find output of these commands from my single disk laptop. Please note that because of WordPress limitations I need to change all &amp;gt; &amp;lt; characters to ] [ ones in the commands outputs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the article for the rest of the guide&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://project-trident.org/post/2019-10-05_19.10_available/" target="_blank" rel="nofollow noopener"&gt;Project Trident 19.10 Now Available&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a general package update to the CURRENT release repository based upon TrueOS 19.10&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;PACKAGE CHANGES FROM 19.08

&lt;ul&gt;
&lt;li&gt;New Packages: 601&lt;/li&gt;
&lt;li&gt;Deleted Packages: 165&lt;/li&gt;
&lt;li&gt;Updated Packages: 3341&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://imgur.com/gallery/0sG4b1K" target="_blank" rel="nofollow noopener"&gt;NetBSD building tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/4569" target="_blank" rel="nofollow noopener"&gt;Sponsorships open for SNMP Mastery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mail-index.netbsd.org/pkgsrc-users/2019/10/03/msg029485.html" target="_blank" rel="nofollow noopener"&gt;pkgsrc-2019Q3 release announcement (2019-10-03)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dylanaraps/pfetch" target="_blank" rel="nofollow noopener"&gt;pfetch - A simple system information tool written in POSIX sh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://netbsd.org/%7Ekamil/eurobsdcon2019_fuzzing/presentation.html#slide1" target="_blank" rel="nofollow noopener"&gt;Taking NetBSD kernel bug roast to the next level: Kernel Fuzzers (quick A.D. 2019 overview)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://leahneukirchen.org/blog/archive/2019/10/ken-thompson-s-unix-password.html" target="_blank" rel="nofollow noopener"&gt;Cracking Ken Thomson’s password&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Evilham - &lt;a href="http://dpaste.com/2JC85WV" target="_blank" rel="nofollow noopener"&gt;Couple Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Rob - &lt;a href="http://dpaste.com/0SDX9ZX" target="_blank" rel="nofollow noopener"&gt;APU2 alternatives and GPT partition types&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tom - &lt;a href="http://dpaste.com/2B43MY1#wrap" target="_blank" rel="nofollow noopener"&gt;FreeBSD journal article by A. Fengler&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0319.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, Untitled 1interview, zfs, assembly, assembly programming, programming, programming tutorial, ikea, rack, server rack, omnios, omnios lts, lsblk, project trident</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Causing ZFS corruption for fun, NetBSD Assembly Programming Tutorial, The IKEA Lack Rack for Servers, a new OmniOS Community Edition LTS has been published, List Block Devices on FreeBSD lsblk(8) Style, Project Trident 19.10 available, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://datto.engineering/post/causing-zfs-corruption" target="_blank" rel="nofollow noopener">Causing ZFS corruption for fun and profit</a></h3>

<blockquote>
<p>Datto backs up data, a lot of it. At the time of writing Datto has over 500 PB of data stored on ZFS. This count includes both backup appliances that are sent to customer sites, as well as cloud storage servers that are used for secondary and tertiary backup of those appliances. At this scale drive swaps are a daily occurrence, and data corruption is inevitable. How we handle this corruption when it happens determines whether we truly lose data, or successfully restore from secondary backup. In this post we'll be showing you how at Datto we intentionally cause corruption in our testing environments, to ensure we're building software that can properly handle these scenarios.</p>
</blockquote>

<ul>
<li>Causing Corruption</li>
</ul>

<blockquote>
<p>Since this is a mirror setup, a naive solution to cause corruption would be to randomly dd the same sectors of both /dev/sdb and /dev/sdc. This works, but is equally likely to just overwrite random unused space, or take down the zpool entirely. What we really want is to corrupt a specific snapshot, or even a specific file in that snapshot, to simulate a more realistic minor corruption event. Luckily we have a tool called zdb that lets us view some low level information about datasets.</p>
</blockquote>

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

<blockquote>
<p>At the 500 PB scale, it's not a matter of if data corruption will happen but when. Intentionally causing corruption is one of the strategies we use to ensure we're building software that can handle these rare (but inevitable) events.</p>

<p>To others out there using ZFS: I'm curious to hear how you've solved this problem. We did quite a bit of experimentation with zinject before going with this more brute force method. So I'd be especially interested if you've had luck simply simulating corruption with zinject.</p>
</blockquote>

<hr>

<h3><a href="https://polprog.net/blog/netbsdasmprog/" target="_blank" rel="nofollow noopener">NetBSD Assembly Programming Tutorial</a></h3>

<blockquote>
<p>A sparc64 version is also being prepared and will be added when done</p>

<p>This post describes how to write a simple hello world program in pure assembly on NetBSD/amd64. We will not use (nor link against) libc, nor use gcc to compile it. I will be using GNU as (gas), and therefore the AT&amp;T syntax instead of Intel.</p>
</blockquote>

<ul>
<li>Why assembly?</li>
</ul>

<blockquote>
<p>Why not? Because it's fun to program in assembly directly. Contrary to a popular belief assembly programs aren't always faster than what optimizing compilers produce. Nevertheless it's good to be able to read assembly, especially when debugging C programs</p>
</blockquote>

<ul>
<li>Due to the nature of the guide, visit the site for the complete breakdown</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://wiki.eth0.nl/index.php/LackRack" target="_blank" rel="nofollow noopener">The IKEA Lack Rack for Servers</a></h3>

<ul>
<li>The LackRack</li>
</ul>

<blockquote>
<p>First occurrence on eth0:2010 Winterlan, the LackRack is the ultimate, low-cost, high shininess solution for your modular datacenter-in-the-living-room. Featuring the LACK (side table) from Ikea, the LackRack is an easy-to-implement, exact-fit datacenter building block. It's a little known fact that we have seen Google engineers tinker with Lack tables since way back in 2009.</p>

<p>The LackRack will certainly make its appearance again this summer at eth0:2010 Summer.</p>
</blockquote>

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

<blockquote>
<p>When temporarily not in use, multiple LackRacks can be stacked in a space-efficient way without disassembly, unlike competing 19" server racks.</p>

<p>The LackRack was first seen on eth0:2010 Winterlan in the no-shoe Lounge area. Its low-cost and perfect fit are great for mounting up to 8 U of 19" hardware, such as switches (see below), or perhaps other 19" gear. It's very easy to assemble, and thanks to the design, they are stable enough to hold (for example) 19" switches and you can put your bottle of Club-Mate on top! Multi-shiny LackRack can also be painted to your specific preferences and the airflow is unprecedented!</p>
</blockquote>

<ul>
<li>Howto</li>
</ul>

<blockquote>
<p>You can find a howto on buying a LackRack on this page. This includes the proof that a 19" switch can indeed be placed in the LackRack in its natural habitat!</p>
</blockquote>

<hr>

<h3><a href="https://omniosce.org/article/release-030" target="_blank" rel="nofollow noopener">OmniOS Community Edition r151030 LTS - Published at May 6, 2019</a></h3>

<blockquote>
<p>The OmniOS Community Edition Association is proud to announce the general availability of OmniOS - r151030.</p>

<p>OmniOS is published according to a 6-month release cycle, r151030 LTS takes over from r151028, published in November 2018; and since it is a LTS release it also takes over from r151022. The r151030 LTS release will be supported for 3 Years. It is the first LTS release published by the OmniOS CE Association since taking over the reins from OmniTI in 2017. The next LTS release is scheduled for May 2021. The old stable r151026 release is now end-of-life. See the release schedule for further details.</p>

<p>This is only a small selection of the new features, and bug fixes in the new release; review the release notes for full details.</p>

<p>If you upgrade from r22 and want to see all new features added since then, make sure to also read the release notes for r24, r26 and r28.</p>
</blockquote>

<ul>
<li>For full relase notes including upgrade instructions;</li>
<li><a href="https://omniosce.org/releasenotes.html" target="_blank" rel="nofollow noopener">release notes</a></li>
<li><a href="https://omniosce.org/upgrade.html" target="_blank" rel="nofollow noopener">upgrade instructions</a></li>
</ul>

<hr>

<h3><a href="https://vermaden.wordpress.com/2019/09/27/list-block-devices-on-freebsd-lsblk8-style/" target="_blank" rel="nofollow noopener">List Block Devices on FreeBSD lsblk(8) Style</a></h3>

<blockquote>
<p>When I have to work on Linux systems I usually miss many nice FreeBSD tools such as these for example to name the few: sockstat, gstat, top -b -o res, top -m io -o total, usbconfig, rcorder, beadm/bectl, idprio/rtprio,… but sometimes – which rarely happens – Linux has some very useful tool that is not available on FreeBSD. An example of such tool is lsblk(8) that does one thing and does it quite well – lists block devices and their contents. It has some problems like listing a disk that is entirely used under ZFS pool on which lsblk(8) displays two partitions instead of information about ZFS just being there – but we all know how much in some circles the CDDL licensed ZFS is unloved in that GPL world.</p>
</blockquote>

<p>Example lsblk(8) output from Linux system:</p>

<pre><code>$ lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE   MOUNTPOINT
sr0                           11:0    1  1024M  0 rom
sda                            8:0    0 931.5G  0 disk
|-sda1                         8:1    0   500M  0 part   /boot
`-sda2                         8:2    0   931G  0 part
  |-vg_local-lv_root (dm-0)  253:0    0    50G  0 lvm    /
  |-vg_local-lv_swap (dm-1)  253:1    0  17.7G  0 lvm    [SWAP]
  `-vg_local-lv_home (dm-2)  253:2    0   1.8T  0 lvm    /home
sdc                            8:32   0 232.9G  0 disk
`-sdc1                         8:33   0 232.9G  0 part
  `-md1                        9:1    0 232.9G  0 raid10 /data
sdd                            8:48   0 232.9G  0 disk
`-sdd1                         8:49   0 232.9G  0 part
  `-md1                        9:1    0 232.9G  0 raid10 /data
</code></pre>

<blockquote>
<p>What FreeBSD offers in this department? The camcontrol(8) and geom(8) commands are available. You can also use gpart(8) command to list partitions. Below you will find output of these commands from my single disk laptop. Please note that because of WordPress limitations I need to change all &gt; &lt; characters to ] [ ones in the commands outputs.</p>
</blockquote>

<ul>
<li>See the article for the rest of the guide</li>
</ul>

<hr>

<h3><a href="https://project-trident.org/post/2019-10-05_19.10_available/" target="_blank" rel="nofollow noopener">Project Trident 19.10 Now Available</a></h3>

<blockquote>
<p>This is a general package update to the CURRENT release repository based upon TrueOS 19.10</p>
</blockquote>

<ul>
<li>PACKAGE CHANGES FROM 19.08

<ul>
<li>New Packages: 601</li>
<li>Deleted Packages: 165</li>
<li>Updated Packages: 3341</li>
</ul></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://imgur.com/gallery/0sG4b1K" target="_blank" rel="nofollow noopener">NetBSD building tools</a></li>
<li><a href="https://mwl.io/archives/4569" target="_blank" rel="nofollow noopener">Sponsorships open for SNMP Mastery</a></li>
<li><a href="http://mail-index.netbsd.org/pkgsrc-users/2019/10/03/msg029485.html" target="_blank" rel="nofollow noopener">pkgsrc-2019Q3 release announcement (2019-10-03)</a></li>
<li><a href="https://github.com/dylanaraps/pfetch" target="_blank" rel="nofollow noopener">pfetch - A simple system information tool written in POSIX sh</a></li>
<li><a href="https://netbsd.org/%7Ekamil/eurobsdcon2019_fuzzing/presentation.html#slide1" target="_blank" rel="nofollow noopener">Taking NetBSD kernel bug roast to the next level: Kernel Fuzzers (quick A.D. 2019 overview)</a></li>
<li><a href="https://leahneukirchen.org/blog/archive/2019/10/ken-thompson-s-unix-password.html" target="_blank" rel="nofollow noopener">Cracking Ken Thomson’s password</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Evilham - <a href="http://dpaste.com/2JC85WV" target="_blank" rel="nofollow noopener">Couple Questions</a></li>
<li>Rob - <a href="http://dpaste.com/0SDX9ZX" target="_blank" rel="nofollow noopener">APU2 alternatives and GPT partition types</a></li>
<li>Tom - <a href="http://dpaste.com/2B43MY1#wrap" target="_blank" rel="nofollow noopener">FreeBSD journal article by A. Fengler</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0319.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Causing ZFS corruption for fun, NetBSD Assembly Programming Tutorial, The IKEA Lack Rack for Servers, a new OmniOS Community Edition LTS has been published, List Block Devices on FreeBSD lsblk(8) Style, Project Trident 19.10 available, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://datto.engineering/post/causing-zfs-corruption" target="_blank" rel="nofollow noopener">Causing ZFS corruption for fun and profit</a></h3>

<blockquote>
<p>Datto backs up data, a lot of it. At the time of writing Datto has over 500 PB of data stored on ZFS. This count includes both backup appliances that are sent to customer sites, as well as cloud storage servers that are used for secondary and tertiary backup of those appliances. At this scale drive swaps are a daily occurrence, and data corruption is inevitable. How we handle this corruption when it happens determines whether we truly lose data, or successfully restore from secondary backup. In this post we'll be showing you how at Datto we intentionally cause corruption in our testing environments, to ensure we're building software that can properly handle these scenarios.</p>
</blockquote>

<ul>
<li>Causing Corruption</li>
</ul>

<blockquote>
<p>Since this is a mirror setup, a naive solution to cause corruption would be to randomly dd the same sectors of both /dev/sdb and /dev/sdc. This works, but is equally likely to just overwrite random unused space, or take down the zpool entirely. What we really want is to corrupt a specific snapshot, or even a specific file in that snapshot, to simulate a more realistic minor corruption event. Luckily we have a tool called zdb that lets us view some low level information about datasets.</p>
</blockquote>

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

<blockquote>
<p>At the 500 PB scale, it's not a matter of if data corruption will happen but when. Intentionally causing corruption is one of the strategies we use to ensure we're building software that can handle these rare (but inevitable) events.</p>

<p>To others out there using ZFS: I'm curious to hear how you've solved this problem. We did quite a bit of experimentation with zinject before going with this more brute force method. So I'd be especially interested if you've had luck simply simulating corruption with zinject.</p>
</blockquote>

<hr>

<h3><a href="https://polprog.net/blog/netbsdasmprog/" target="_blank" rel="nofollow noopener">NetBSD Assembly Programming Tutorial</a></h3>

<blockquote>
<p>A sparc64 version is also being prepared and will be added when done</p>

<p>This post describes how to write a simple hello world program in pure assembly on NetBSD/amd64. We will not use (nor link against) libc, nor use gcc to compile it. I will be using GNU as (gas), and therefore the AT&amp;T syntax instead of Intel.</p>
</blockquote>

<ul>
<li>Why assembly?</li>
</ul>

<blockquote>
<p>Why not? Because it's fun to program in assembly directly. Contrary to a popular belief assembly programs aren't always faster than what optimizing compilers produce. Nevertheless it's good to be able to read assembly, especially when debugging C programs</p>
</blockquote>

<ul>
<li>Due to the nature of the guide, visit the site for the complete breakdown</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://wiki.eth0.nl/index.php/LackRack" target="_blank" rel="nofollow noopener">The IKEA Lack Rack for Servers</a></h3>

<ul>
<li>The LackRack</li>
</ul>

<blockquote>
<p>First occurrence on eth0:2010 Winterlan, the LackRack is the ultimate, low-cost, high shininess solution for your modular datacenter-in-the-living-room. Featuring the LACK (side table) from Ikea, the LackRack is an easy-to-implement, exact-fit datacenter building block. It's a little known fact that we have seen Google engineers tinker with Lack tables since way back in 2009.</p>

<p>The LackRack will certainly make its appearance again this summer at eth0:2010 Summer.</p>
</blockquote>

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

<blockquote>
<p>When temporarily not in use, multiple LackRacks can be stacked in a space-efficient way without disassembly, unlike competing 19" server racks.</p>

<p>The LackRack was first seen on eth0:2010 Winterlan in the no-shoe Lounge area. Its low-cost and perfect fit are great for mounting up to 8 U of 19" hardware, such as switches (see below), or perhaps other 19" gear. It's very easy to assemble, and thanks to the design, they are stable enough to hold (for example) 19" switches and you can put your bottle of Club-Mate on top! Multi-shiny LackRack can also be painted to your specific preferences and the airflow is unprecedented!</p>
</blockquote>

<ul>
<li>Howto</li>
</ul>

<blockquote>
<p>You can find a howto on buying a LackRack on this page. This includes the proof that a 19" switch can indeed be placed in the LackRack in its natural habitat!</p>
</blockquote>

<hr>

<h3><a href="https://omniosce.org/article/release-030" target="_blank" rel="nofollow noopener">OmniOS Community Edition r151030 LTS - Published at May 6, 2019</a></h3>

<blockquote>
<p>The OmniOS Community Edition Association is proud to announce the general availability of OmniOS - r151030.</p>

<p>OmniOS is published according to a 6-month release cycle, r151030 LTS takes over from r151028, published in November 2018; and since it is a LTS release it also takes over from r151022. The r151030 LTS release will be supported for 3 Years. It is the first LTS release published by the OmniOS CE Association since taking over the reins from OmniTI in 2017. The next LTS release is scheduled for May 2021. The old stable r151026 release is now end-of-life. See the release schedule for further details.</p>

<p>This is only a small selection of the new features, and bug fixes in the new release; review the release notes for full details.</p>

<p>If you upgrade from r22 and want to see all new features added since then, make sure to also read the release notes for r24, r26 and r28.</p>
</blockquote>

<ul>
<li>For full relase notes including upgrade instructions;</li>
<li><a href="https://omniosce.org/releasenotes.html" target="_blank" rel="nofollow noopener">release notes</a></li>
<li><a href="https://omniosce.org/upgrade.html" target="_blank" rel="nofollow noopener">upgrade instructions</a></li>
</ul>

<hr>

<h3><a href="https://vermaden.wordpress.com/2019/09/27/list-block-devices-on-freebsd-lsblk8-style/" target="_blank" rel="nofollow noopener">List Block Devices on FreeBSD lsblk(8) Style</a></h3>

<blockquote>
<p>When I have to work on Linux systems I usually miss many nice FreeBSD tools such as these for example to name the few: sockstat, gstat, top -b -o res, top -m io -o total, usbconfig, rcorder, beadm/bectl, idprio/rtprio,… but sometimes – which rarely happens – Linux has some very useful tool that is not available on FreeBSD. An example of such tool is lsblk(8) that does one thing and does it quite well – lists block devices and their contents. It has some problems like listing a disk that is entirely used under ZFS pool on which lsblk(8) displays two partitions instead of information about ZFS just being there – but we all know how much in some circles the CDDL licensed ZFS is unloved in that GPL world.</p>
</blockquote>

<p>Example lsblk(8) output from Linux system:</p>

<pre><code>$ lsblk
NAME                         MAJ:MIN RM   SIZE RO TYPE   MOUNTPOINT
sr0                           11:0    1  1024M  0 rom
sda                            8:0    0 931.5G  0 disk
|-sda1                         8:1    0   500M  0 part   /boot
`-sda2                         8:2    0   931G  0 part
  |-vg_local-lv_root (dm-0)  253:0    0    50G  0 lvm    /
  |-vg_local-lv_swap (dm-1)  253:1    0  17.7G  0 lvm    [SWAP]
  `-vg_local-lv_home (dm-2)  253:2    0   1.8T  0 lvm    /home
sdc                            8:32   0 232.9G  0 disk
`-sdc1                         8:33   0 232.9G  0 part
  `-md1                        9:1    0 232.9G  0 raid10 /data
sdd                            8:48   0 232.9G  0 disk
`-sdd1                         8:49   0 232.9G  0 part
  `-md1                        9:1    0 232.9G  0 raid10 /data
</code></pre>

<blockquote>
<p>What FreeBSD offers in this department? The camcontrol(8) and geom(8) commands are available. You can also use gpart(8) command to list partitions. Below you will find output of these commands from my single disk laptop. Please note that because of WordPress limitations I need to change all &gt; &lt; characters to ] [ ones in the commands outputs.</p>
</blockquote>

<ul>
<li>See the article for the rest of the guide</li>
</ul>

<hr>

<h3><a href="https://project-trident.org/post/2019-10-05_19.10_available/" target="_blank" rel="nofollow noopener">Project Trident 19.10 Now Available</a></h3>

<blockquote>
<p>This is a general package update to the CURRENT release repository based upon TrueOS 19.10</p>
</blockquote>

<ul>
<li>PACKAGE CHANGES FROM 19.08

<ul>
<li>New Packages: 601</li>
<li>Deleted Packages: 165</li>
<li>Updated Packages: 3341</li>
</ul></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://imgur.com/gallery/0sG4b1K" target="_blank" rel="nofollow noopener">NetBSD building tools</a></li>
<li><a href="https://mwl.io/archives/4569" target="_blank" rel="nofollow noopener">Sponsorships open for SNMP Mastery</a></li>
<li><a href="http://mail-index.netbsd.org/pkgsrc-users/2019/10/03/msg029485.html" target="_blank" rel="nofollow noopener">pkgsrc-2019Q3 release announcement (2019-10-03)</a></li>
<li><a href="https://github.com/dylanaraps/pfetch" target="_blank" rel="nofollow noopener">pfetch - A simple system information tool written in POSIX sh</a></li>
<li><a href="https://netbsd.org/%7Ekamil/eurobsdcon2019_fuzzing/presentation.html#slide1" target="_blank" rel="nofollow noopener">Taking NetBSD kernel bug roast to the next level: Kernel Fuzzers (quick A.D. 2019 overview)</a></li>
<li><a href="https://leahneukirchen.org/blog/archive/2019/10/ken-thompson-s-unix-password.html" target="_blank" rel="nofollow noopener">Cracking Ken Thomson’s password</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Evilham - <a href="http://dpaste.com/2JC85WV" target="_blank" rel="nofollow noopener">Couple Questions</a></li>
<li>Rob - <a href="http://dpaste.com/0SDX9ZX" target="_blank" rel="nofollow noopener">APU2 alternatives and GPT partition types</a></li>
<li>Tom - <a href="http://dpaste.com/2B43MY1#wrap" target="_blank" rel="nofollow noopener">FreeBSD journal article by A. Fengler</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0319.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>318: The TrueNAS Library</title>
  <link>https://www.bsdnow.tv/318</link>
  <guid isPermaLink="false">a53fad97-5df2-4cd3-91a8-e75d5a2f38d7</guid>
  <pubDate>Wed, 02 Oct 2019 23:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a53fad97-5df2-4cd3-91a8-e75d5a2f38d7.mp3" length="33605404" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>DragonFlyBSD vs. FreeBSD vs. Linux benchmark on Ryzen 7, JFK Presidential Library chooses TrueNAS for digital archives, FreeBSD 12.1-beta is available, cool but obscure X11 tools, vBSDcon trip report, Project Trident 12-U7 is available, a couple new Unix artifacts, and more.</itunes:subtitle>
  <itunes:duration>46:40</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>&lt;p&gt;DragonFlyBSD vs. FreeBSD vs. Linux benchmark on Ryzen 7, JFK Presidential Library chooses TrueNAS for digital archives, FreeBSD 12.1-beta is available, cool but obscure X11 tools, vBSDcon trip report, Project Trident 12-U7 is available, a couple new Unix artifacts, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=article&amp;amp;item=bsd-linux-3700x" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD 5.6 vs. FreeBSD 12 vs. Linux - Ryzen 7 3700X&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;For those wondering how well FreeBSD and DragonFlyBSD are handling AMD's new Ryzen 3000 series desktop processors, here are some benchmarks on a Ryzen 7 3700X with MSI MEG X570 GODLIKE where both of these popular BSD operating systems were working out-of-the-box. For some fun mid-week benchmarking, here are those results of FreeBSD 12.0 and DragonFlyBSD 5.6.2 up against openSUSE Tumbleweed and Ubuntu 19.04.&lt;/p&gt;

&lt;p&gt;Back in July I looked at FreeBSD 12 on the Ryzen 9 3900X but at that time at least DragonFlyBSD had troubles booting on that system. When trying out the Ryzen 7 3700X + MSI GODLIKE X570 motherboard on the latest BIOS, everything "just worked" without any compatibility issues for either of these BSDs.&lt;/p&gt;

&lt;p&gt;We've been eager to see how well DragonFlyBSD is performing on these new AMD Zen 2 CPUs with DragonFlyBSD lead developer Matthew Dillon having publicly expressed being impressed by the new AMD Ryzen 3000 series CPUs.&lt;/p&gt;

&lt;p&gt;For comparison to those BSDs, Ubuntu 19.04 and openSUSE Tumbleweed were tested on the same hardware in their out-of-the-box configurations. While Clear Linux is normally the fastest, on this system Clear's power management defaults had caused issues in being unable to detect the Samsung 970 EVO Plus NVMe SSD used for testing and so we left it out this round.&lt;/p&gt;

&lt;p&gt;All of the hardware was the same throughout testing as were the BIOS settings and running the Ryzen 7 3700X at stock speeds. (Any differences in the reported hardware for the system table just come down to differences in what is exposed by each OS for reporting.) All of the BSD/Linux benchmarks on this eight core / sixteen thread processor were run via the Phoronix Test Suite. In the case of FreeBSD 12.0, we benchmarked both with its default LLVM Clang 6.0 compiler as well as with GCC 9.1 so that it would match the GCC compiler being the default on the other operating systems under test.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/jfk-presidential-library-pr/" target="_blank" rel="nofollow noopener"&gt;JFK Presidential Library Chooses iXsystems TrueNAS to Preserve Precious Digital Archives&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;iXsystems is honored to have the TrueNAS® M-Series unified storage selected to store, serve, and protect the entire digital archive for the John F. Kennedy Library Foundation. This is in support of the collection at the John F. Kennedy Presidential Library and Museum (JFK Library). Over the next several years, the Foundation hopes to grow the digital collection from hundreds of terabytes today to cover much more of the Archives at the Kennedy Library. Overall there is a total of 25 million documents, audio recordings, photos, and videos once the project is complete.&lt;/p&gt;

&lt;p&gt;Having first deployed the TrueNAS M50-HA earlier in 2019, the JFK Library has now completed the migration of its existing digital collection and is now in the process of digitizing much of the rest of its vast collection. &lt;/p&gt;

&lt;p&gt;Not only is the catalog of material vast, it is also diverse, with files being copied to the storage system from a variety of sources in numerous file types. To achieve this ambitious goal, the library required a high-end NAS system capable of sharing with a variety of systems throughout the digitization process.  The digital archive will be served from the TrueNAS M50 and made available to both in-person and online visitors.&lt;/p&gt;

&lt;p&gt;With precious material and information comes robust demands. The highly-available TrueNAS M-Series has multiple layers of protection to help keep data safe, including data scrubs, checksums, unlimited snapshots, replication, and more. TrueNAS is also inherently scalable with data shares only limited by the number of drives connected to the pool. Perfect for archival storage, the deployed TrueNAS M50 will grow with the library’s content, easily expanding its storage capacity over time as needed. Supporting a variety of protocols, multi-petabyte scalability in a single share, and anytime, uninterrupted capacity expansion, the TrueNAS M-Series ticked all the right boxes. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=8rFjH5-0Fiw" target="_blank" rel="nofollow noopener"&gt;Youtube Video&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=FreeBSD-12.1-Beta-Released" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.1-beta available&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD 12.0 is already approaching one year old while FreeBSD 12.1 is now on the way as the next installment with various bug/security fixes and other alterations to this BSD operating system.&lt;/p&gt;

&lt;p&gt;FreeBSD 12.1 has many security/bug fixes throughout, no longer enables "-Werror" by default as a compiler flag (Update: This change is just for the GCC 4.2 compiler), has imported BearSSL into the FreeBSD base system as a lightweight TLS/SSL implementation, bzip2recover has been added, and a variety of mostly lower-level changes. More details can be found via the in-progress release notes.&lt;/p&gt;

&lt;p&gt;For those with time to test this weekend, FreeBSD 12.1 Beta 1 is available for all prominent architectures.&lt;/p&gt;

&lt;p&gt;The FreeBSD release team is planning for at least another beta or two and around three release candidates. If all goes well, FreeBSD 12.1 will be out in early November.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2019-September/091533.html" target="_blank" rel="nofollow noopener"&gt;Announcement Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://cyber.dabamos.de/unix/x11/" target="_blank" rel="nofollow noopener"&gt;Cool, but obscure X11 tools.  More suggestions in the source link&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;ASClock&lt;/li&gt;
&lt;li&gt;Free42&lt;/li&gt;
&lt;li&gt;FSV2&lt;/li&gt;
&lt;li&gt;GLXGears&lt;/li&gt;
&lt;li&gt;GMixer&lt;/li&gt;
&lt;li&gt;GVIM&lt;/li&gt;
&lt;li&gt;Micropolis&lt;/li&gt;
&lt;li&gt;Sunclock&lt;/li&gt;
&lt;li&gt;Ted&lt;/li&gt;
&lt;li&gt;TiEmu&lt;/li&gt;
&lt;li&gt;X026&lt;/li&gt;
&lt;li&gt;X48&lt;/li&gt;
&lt;li&gt;XAbacus&lt;/li&gt;
&lt;li&gt;XAntfarm&lt;/li&gt;
&lt;li&gt;XArchiver&lt;/li&gt;
&lt;li&gt;XASCII&lt;/li&gt;
&lt;li&gt;XBiff&lt;/li&gt;
&lt;li&gt;XBill&lt;/li&gt;
&lt;li&gt;XBoard&lt;/li&gt;
&lt;li&gt;XCalc&lt;/li&gt;
&lt;li&gt;XCalendar&lt;/li&gt;
&lt;li&gt;XCHM&lt;/li&gt;
&lt;li&gt;XChomp&lt;/li&gt;
&lt;li&gt;XClipboard&lt;/li&gt;
&lt;li&gt;XClock&lt;/li&gt;
&lt;li&gt;XClock/Cat Clock&lt;/li&gt;
&lt;li&gt;XColorSel&lt;/li&gt;
&lt;li&gt;XConsole&lt;/li&gt;
&lt;li&gt;XDiary&lt;/li&gt;
&lt;li&gt;XEarth&lt;/li&gt;
&lt;li&gt;XEdit&lt;/li&gt;
&lt;li&gt;Xev&lt;/li&gt;
&lt;li&gt;XEyes&lt;/li&gt;
&lt;li&gt;XFontSel&lt;/li&gt;
&lt;li&gt;XGalaga&lt;/li&gt;
&lt;li&gt;XInvaders 3D&lt;/li&gt;
&lt;li&gt;XKill&lt;/li&gt;
&lt;li&gt;XLennart&lt;/li&gt;
&lt;li&gt;XLoad&lt;/li&gt;
&lt;li&gt;XLock&lt;/li&gt;
&lt;li&gt;XLogo&lt;/li&gt;
&lt;li&gt;XMahjongg&lt;/li&gt;
&lt;li&gt;XMan&lt;/li&gt;
&lt;li&gt;XMessage&lt;/li&gt;
&lt;li&gt;XmGrace&lt;/li&gt;
&lt;li&gt;XMixer&lt;/li&gt;
&lt;li&gt;XmMix&lt;/li&gt;
&lt;li&gt;XMore&lt;/li&gt;
&lt;li&gt;XMosaic&lt;/li&gt;
&lt;li&gt;XMOTD&lt;/li&gt;
&lt;li&gt;XMountains&lt;/li&gt;
&lt;li&gt;XNeko&lt;/li&gt;
&lt;li&gt;XOdometer&lt;/li&gt;
&lt;li&gt;XOSView&lt;/li&gt;
&lt;li&gt;Xplore&lt;/li&gt;
&lt;li&gt;XPostIt&lt;/li&gt;
&lt;li&gt;XRoach&lt;/li&gt;
&lt;li&gt;XScreenSaver&lt;/li&gt;
&lt;li&gt;XSnow&lt;/li&gt;
&lt;li&gt;XSpread&lt;/li&gt;
&lt;li&gt;XTerm&lt;/li&gt;
&lt;li&gt;XTide&lt;/li&gt;
&lt;li&gt;Xv&lt;/li&gt;
&lt;li&gt;Xvkbd&lt;/li&gt;
&lt;li&gt;XWPE&lt;/li&gt;
&lt;li&gt;XZoom&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/vbsdcon-2019/" target="_blank" rel="nofollow noopener"&gt;vBSDCon 2019 trip report from iXSystems&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The fourth biennial vBSDCon was held in Reston, VA on September 5th through 7th and attracted attendees and presenters from not only the Washington, DC area, but also Canada, Germany, Kenya, and beyond. While MeetBSD caters to Silicon Valley BSD enthusiasts on even years, vBSDcon caters to East Coast and DC area enthusiasts on odd years. Verisign was again the key sponsor of vBSDcon 2019 but this year made a conscious effort to entrust the organization of the event to a team of community members led by Dan Langille, who you probably know as the lead BSDCan organizer. The result of this shift was a low key but professional event that fostered great conversation and brainstorming at every turn.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://project-trident.org/post/2019-09-21_stable12-u7_available/" target="_blank" rel="nofollow noopener"&gt;Project Trident 12-U7 now available&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Package Summary

&lt;ul&gt;
&lt;li&gt;New Packages: 130&lt;/li&gt;
&lt;li&gt;Deleted Packages: 72&lt;/li&gt;
&lt;li&gt;Updated Packages: 865&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Stable ISO - &lt;a href="https://pkg.project-trident.org/iso/stable/Trident-x64-TOS-12-U7-20190920.iso" target="_blank" rel="nofollow noopener"&gt;https://pkg.project-trident.org/iso/stable/Trident-x64-TOS-12-U7-20190920.iso&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://minnie.tuhs.org//pipermail/tuhs/2019-September/018685.html" target="_blank" rel="nofollow noopener"&gt;A Couple new Unix Artifacts&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I fear we're drifting a bit here and the S/N ratio is dropping a bit w.r.t the actual history of Unix. Please no more on the relative merits of version control systems or alternative text processing systems.&lt;/p&gt;

&lt;p&gt;So I'll try to distract you by saying this. I'm sitting on two artifacts that have recently been given to me:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;by two large organisations&lt;/li&gt;
&lt;li&gt;of great significance to Unix history&lt;/li&gt;
&lt;li&gt;who want me to keep "mum" about them&lt;/li&gt;
&lt;li&gt;as they are going to make announcements about them soon*&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;and I am going slowly crazy as I wait for them to be offically released. Now you have a new topic to talk about :-)&lt;/p&gt;

&lt;p&gt;Cheers, Warren&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;* &lt;em&gt;for some definition of "soon"&lt;/em&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/netbsd-advocacy/2019/09/16/msg000813.html" target="_blank" rel="nofollow noopener"&gt;NetBSD machines at Open Source Conference 2019 Hiroshima&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.hyperbola.info/news/end-of-xorg-support/" target="_blank" rel="nofollow noopener"&gt;Hyperbola a GNU/Linux OS is using OpenBSD's Xenocara&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.talosintelligence.com/careers/freebsd_engineer" target="_blank" rel="nofollow noopener"&gt;Talos is looking for a FreeBSD Engineer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dylanaraps/pure-sh-bible" target="_blank" rel="nofollow noopener"&gt;GitHub - dylanaraps/pure-sh-bible: A collection of pure POSIX sh alternatives to external processes.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/09/23/23523.html" target="_blank" rel="nofollow noopener"&gt;dsynth: you’re building it&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.sigcis.org/pipermail/members-sigcis.org/2019-September/001606.html" target="_blank" rel="nofollow noopener"&gt;Percy Ludgate, the missing link between Babbage’s machine and everything else&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bruce - &lt;a href="http://dpaste.com/147HGP3#wrap" target="_blank" rel="nofollow noopener"&gt;Down the expect rabbithole&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Bruce - &lt;a href="http://dpaste.com/37MNVSW#wrap" target="_blank" rel="nofollow noopener"&gt;Expect (update)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;David - &lt;a href="http://dpaste.com/2SE1YSE" target="_blank" rel="nofollow noopener"&gt;Netgraph answer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mason - &lt;a href="http://dpaste.com/00KKXJM" target="_blank" rel="nofollow noopener"&gt;Beeps?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0318.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, ryzen, ryzen 7, ryzen 7 3700X, amd, benchmark, presidential library, digital archives, digital library, presidential archive, truenas, obscure tools, x11, vbsdcon, trip report, project trident, Unix, Unix artifacts</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>DragonFlyBSD vs. FreeBSD vs. Linux benchmark on Ryzen 7, JFK Presidential Library chooses TrueNAS for digital archives, FreeBSD 12.1-beta is available, cool but obscure X11 tools, vBSDcon trip report, Project Trident 12-U7 is available, a couple new Unix artifacts, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=bsd-linux-3700x" target="_blank" rel="nofollow noopener">DragonFlyBSD 5.6 vs. FreeBSD 12 vs. Linux - Ryzen 7 3700X</a></h3>

<blockquote>
<p>For those wondering how well FreeBSD and DragonFlyBSD are handling AMD's new Ryzen 3000 series desktop processors, here are some benchmarks on a Ryzen 7 3700X with MSI MEG X570 GODLIKE where both of these popular BSD operating systems were working out-of-the-box. For some fun mid-week benchmarking, here are those results of FreeBSD 12.0 and DragonFlyBSD 5.6.2 up against openSUSE Tumbleweed and Ubuntu 19.04.</p>

<p>Back in July I looked at FreeBSD 12 on the Ryzen 9 3900X but at that time at least DragonFlyBSD had troubles booting on that system. When trying out the Ryzen 7 3700X + MSI GODLIKE X570 motherboard on the latest BIOS, everything "just worked" without any compatibility issues for either of these BSDs.</p>

<p>We've been eager to see how well DragonFlyBSD is performing on these new AMD Zen 2 CPUs with DragonFlyBSD lead developer Matthew Dillon having publicly expressed being impressed by the new AMD Ryzen 3000 series CPUs.</p>

<p>For comparison to those BSDs, Ubuntu 19.04 and openSUSE Tumbleweed were tested on the same hardware in their out-of-the-box configurations. While Clear Linux is normally the fastest, on this system Clear's power management defaults had caused issues in being unable to detect the Samsung 970 EVO Plus NVMe SSD used for testing and so we left it out this round.</p>

<p>All of the hardware was the same throughout testing as were the BIOS settings and running the Ryzen 7 3700X at stock speeds. (Any differences in the reported hardware for the system table just come down to differences in what is exposed by each OS for reporting.) All of the BSD/Linux benchmarks on this eight core / sixteen thread processor were run via the Phoronix Test Suite. In the case of FreeBSD 12.0, we benchmarked both with its default LLVM Clang 6.0 compiler as well as with GCC 9.1 so that it would match the GCC compiler being the default on the other operating systems under test.</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/jfk-presidential-library-pr/" target="_blank" rel="nofollow noopener">JFK Presidential Library Chooses iXsystems TrueNAS to Preserve Precious Digital Archives</a></h3>

<blockquote>
<p>iXsystems is honored to have the TrueNAS® M-Series unified storage selected to store, serve, and protect the entire digital archive for the John F. Kennedy Library Foundation. This is in support of the collection at the John F. Kennedy Presidential Library and Museum (JFK Library). Over the next several years, the Foundation hopes to grow the digital collection from hundreds of terabytes today to cover much more of the Archives at the Kennedy Library. Overall there is a total of 25 million documents, audio recordings, photos, and videos once the project is complete.</p>

<p>Having first deployed the TrueNAS M50-HA earlier in 2019, the JFK Library has now completed the migration of its existing digital collection and is now in the process of digitizing much of the rest of its vast collection. </p>

<p>Not only is the catalog of material vast, it is also diverse, with files being copied to the storage system from a variety of sources in numerous file types. To achieve this ambitious goal, the library required a high-end NAS system capable of sharing with a variety of systems throughout the digitization process.  The digital archive will be served from the TrueNAS M50 and made available to both in-person and online visitors.</p>

<p>With precious material and information comes robust demands. The highly-available TrueNAS M-Series has multiple layers of protection to help keep data safe, including data scrubs, checksums, unlimited snapshots, replication, and more. TrueNAS is also inherently scalable with data shares only limited by the number of drives connected to the pool. Perfect for archival storage, the deployed TrueNAS M50 will grow with the library’s content, easily expanding its storage capacity over time as needed. Supporting a variety of protocols, multi-petabyte scalability in a single share, and anytime, uninterrupted capacity expansion, the TrueNAS M-Series ticked all the right boxes. </p>
</blockquote>

<ul>
<li><a href="https://www.youtube.com/watch?v=8rFjH5-0Fiw" target="_blank" rel="nofollow noopener">Youtube Video</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=FreeBSD-12.1-Beta-Released" target="_blank" rel="nofollow noopener">FreeBSD 12.1-beta available</a></h3>

<blockquote>
<p>FreeBSD 12.0 is already approaching one year old while FreeBSD 12.1 is now on the way as the next installment with various bug/security fixes and other alterations to this BSD operating system.</p>

<p>FreeBSD 12.1 has many security/bug fixes throughout, no longer enables "-Werror" by default as a compiler flag (Update: This change is just for the GCC 4.2 compiler), has imported BearSSL into the FreeBSD base system as a lightweight TLS/SSL implementation, bzip2recover has been added, and a variety of mostly lower-level changes. More details can be found via the in-progress release notes.</p>

<p>For those with time to test this weekend, FreeBSD 12.1 Beta 1 is available for all prominent architectures.</p>

<p>The FreeBSD release team is planning for at least another beta or two and around three release candidates. If all goes well, FreeBSD 12.1 will be out in early November.</p>
</blockquote>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2019-September/091533.html" target="_blank" rel="nofollow noopener">Announcement Link</a></li>
</ul>

<hr>

<h3><a href="https://cyber.dabamos.de/unix/x11/" target="_blank" rel="nofollow noopener">Cool, but obscure X11 tools.  More suggestions in the source link</a></h3>

<ul>
<li>ASClock</li>
<li>Free42</li>
<li>FSV2</li>
<li>GLXGears</li>
<li>GMixer</li>
<li>GVIM</li>
<li>Micropolis</li>
<li>Sunclock</li>
<li>Ted</li>
<li>TiEmu</li>
<li>X026</li>
<li>X48</li>
<li>XAbacus</li>
<li>XAntfarm</li>
<li>XArchiver</li>
<li>XASCII</li>
<li>XBiff</li>
<li>XBill</li>
<li>XBoard</li>
<li>XCalc</li>
<li>XCalendar</li>
<li>XCHM</li>
<li>XChomp</li>
<li>XClipboard</li>
<li>XClock</li>
<li>XClock/Cat Clock</li>
<li>XColorSel</li>
<li>XConsole</li>
<li>XDiary</li>
<li>XEarth</li>
<li>XEdit</li>
<li>Xev</li>
<li>XEyes</li>
<li>XFontSel</li>
<li>XGalaga</li>
<li>XInvaders 3D</li>
<li>XKill</li>
<li>XLennart</li>
<li>XLoad</li>
<li>XLock</li>
<li>XLogo</li>
<li>XMahjongg</li>
<li>XMan</li>
<li>XMessage</li>
<li>XmGrace</li>
<li>XMixer</li>
<li>XmMix</li>
<li>XMore</li>
<li>XMosaic</li>
<li>XMOTD</li>
<li>XMountains</li>
<li>XNeko</li>
<li>XOdometer</li>
<li>XOSView</li>
<li>Xplore</li>
<li>XPostIt</li>
<li>XRoach</li>
<li>XScreenSaver</li>
<li>XSnow</li>
<li>XSpread</li>
<li>XTerm</li>
<li>XTide</li>
<li>Xv</li>
<li>Xvkbd</li>
<li>XWPE</li>
<li>XZoom</li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/vbsdcon-2019/" target="_blank" rel="nofollow noopener">vBSDCon 2019 trip report from iXSystems</a></h3>

<blockquote>
<p>The fourth biennial vBSDCon was held in Reston, VA on September 5th through 7th and attracted attendees and presenters from not only the Washington, DC area, but also Canada, Germany, Kenya, and beyond. While MeetBSD caters to Silicon Valley BSD enthusiasts on even years, vBSDcon caters to East Coast and DC area enthusiasts on odd years. Verisign was again the key sponsor of vBSDcon 2019 but this year made a conscious effort to entrust the organization of the event to a team of community members led by Dan Langille, who you probably know as the lead BSDCan organizer. The result of this shift was a low key but professional event that fostered great conversation and brainstorming at every turn.</p>
</blockquote>

<hr>

<h3><a href="https://project-trident.org/post/2019-09-21_stable12-u7_available/" target="_blank" rel="nofollow noopener">Project Trident 12-U7 now available</a></h3>

<ul>
<li>Package Summary

<ul>
<li>New Packages: 130</li>
<li>Deleted Packages: 72</li>
<li>Updated Packages: 865</li>
</ul></li>
<li>Stable ISO - <a href="https://pkg.project-trident.org/iso/stable/Trident-x64-TOS-12-U7-20190920.iso" target="_blank" rel="nofollow noopener">https://pkg.project-trident.org/iso/stable/Trident-x64-TOS-12-U7-20190920.iso</a></li>
</ul>

<hr>

<h3><a href="https://minnie.tuhs.org//pipermail/tuhs/2019-September/018685.html" target="_blank" rel="nofollow noopener">A Couple new Unix Artifacts</a></h3>

<blockquote>
<p>I fear we're drifting a bit here and the S/N ratio is dropping a bit w.r.t the actual history of Unix. Please no more on the relative merits of version control systems or alternative text processing systems.</p>

<p>So I'll try to distract you by saying this. I'm sitting on two artifacts that have recently been given to me:</p>
</blockquote>

<ul>
<li>by two large organisations</li>
<li>of great significance to Unix history</li>
<li>who want me to keep "mum" about them</li>
<li>as they are going to make announcements about them soon*</li>
</ul>

<blockquote>
<p>and I am going slowly crazy as I wait for them to be offically released. Now you have a new topic to talk about :-)</p>

<p>Cheers, Warren</p>
</blockquote>

<p>* <em>for some definition of "soon"</em></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2019/09/16/msg000813.html" target="_blank" rel="nofollow noopener">NetBSD machines at Open Source Conference 2019 Hiroshima</a></li>
<li><a href="https://www.hyperbola.info/news/end-of-xorg-support/" target="_blank" rel="nofollow noopener">Hyperbola a GNU/Linux OS is using OpenBSD's Xenocara</a></li>
<li><a href="https://www.talosintelligence.com/careers/freebsd_engineer" target="_blank" rel="nofollow noopener">Talos is looking for a FreeBSD Engineer</a></li>
<li><a href="https://github.com/dylanaraps/pure-sh-bible" target="_blank" rel="nofollow noopener">GitHub - dylanaraps/pure-sh-bible: A collection of pure POSIX sh alternatives to external processes.</a></li>
<li><a href="https://www.dragonflydigest.com/2019/09/23/23523.html" target="_blank" rel="nofollow noopener">dsynth: you’re building it</a></li>
<li><a href="http://lists.sigcis.org/pipermail/members-sigcis.org/2019-September/001606.html" target="_blank" rel="nofollow noopener">Percy Ludgate, the missing link between Babbage’s machine and everything else</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Bruce - <a href="http://dpaste.com/147HGP3#wrap" target="_blank" rel="nofollow noopener">Down the expect rabbithole</a></li>
<li>Bruce - <a href="http://dpaste.com/37MNVSW#wrap" target="_blank" rel="nofollow noopener">Expect (update)</a></li>
<li>David - <a href="http://dpaste.com/2SE1YSE" target="_blank" rel="nofollow noopener">Netgraph answer</a></li>
<li>Mason - <a href="http://dpaste.com/00KKXJM" target="_blank" rel="nofollow noopener">Beeps?</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0318.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>DragonFlyBSD vs. FreeBSD vs. Linux benchmark on Ryzen 7, JFK Presidential Library chooses TrueNAS for digital archives, FreeBSD 12.1-beta is available, cool but obscure X11 tools, vBSDcon trip report, Project Trident 12-U7 is available, a couple new Unix artifacts, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=bsd-linux-3700x" target="_blank" rel="nofollow noopener">DragonFlyBSD 5.6 vs. FreeBSD 12 vs. Linux - Ryzen 7 3700X</a></h3>

<blockquote>
<p>For those wondering how well FreeBSD and DragonFlyBSD are handling AMD's new Ryzen 3000 series desktop processors, here are some benchmarks on a Ryzen 7 3700X with MSI MEG X570 GODLIKE where both of these popular BSD operating systems were working out-of-the-box. For some fun mid-week benchmarking, here are those results of FreeBSD 12.0 and DragonFlyBSD 5.6.2 up against openSUSE Tumbleweed and Ubuntu 19.04.</p>

<p>Back in July I looked at FreeBSD 12 on the Ryzen 9 3900X but at that time at least DragonFlyBSD had troubles booting on that system. When trying out the Ryzen 7 3700X + MSI GODLIKE X570 motherboard on the latest BIOS, everything "just worked" without any compatibility issues for either of these BSDs.</p>

<p>We've been eager to see how well DragonFlyBSD is performing on these new AMD Zen 2 CPUs with DragonFlyBSD lead developer Matthew Dillon having publicly expressed being impressed by the new AMD Ryzen 3000 series CPUs.</p>

<p>For comparison to those BSDs, Ubuntu 19.04 and openSUSE Tumbleweed were tested on the same hardware in their out-of-the-box configurations. While Clear Linux is normally the fastest, on this system Clear's power management defaults had caused issues in being unable to detect the Samsung 970 EVO Plus NVMe SSD used for testing and so we left it out this round.</p>

<p>All of the hardware was the same throughout testing as were the BIOS settings and running the Ryzen 7 3700X at stock speeds. (Any differences in the reported hardware for the system table just come down to differences in what is exposed by each OS for reporting.) All of the BSD/Linux benchmarks on this eight core / sixteen thread processor were run via the Phoronix Test Suite. In the case of FreeBSD 12.0, we benchmarked both with its default LLVM Clang 6.0 compiler as well as with GCC 9.1 so that it would match the GCC compiler being the default on the other operating systems under test.</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/jfk-presidential-library-pr/" target="_blank" rel="nofollow noopener">JFK Presidential Library Chooses iXsystems TrueNAS to Preserve Precious Digital Archives</a></h3>

<blockquote>
<p>iXsystems is honored to have the TrueNAS® M-Series unified storage selected to store, serve, and protect the entire digital archive for the John F. Kennedy Library Foundation. This is in support of the collection at the John F. Kennedy Presidential Library and Museum (JFK Library). Over the next several years, the Foundation hopes to grow the digital collection from hundreds of terabytes today to cover much more of the Archives at the Kennedy Library. Overall there is a total of 25 million documents, audio recordings, photos, and videos once the project is complete.</p>

<p>Having first deployed the TrueNAS M50-HA earlier in 2019, the JFK Library has now completed the migration of its existing digital collection and is now in the process of digitizing much of the rest of its vast collection. </p>

<p>Not only is the catalog of material vast, it is also diverse, with files being copied to the storage system from a variety of sources in numerous file types. To achieve this ambitious goal, the library required a high-end NAS system capable of sharing with a variety of systems throughout the digitization process.  The digital archive will be served from the TrueNAS M50 and made available to both in-person and online visitors.</p>

<p>With precious material and information comes robust demands. The highly-available TrueNAS M-Series has multiple layers of protection to help keep data safe, including data scrubs, checksums, unlimited snapshots, replication, and more. TrueNAS is also inherently scalable with data shares only limited by the number of drives connected to the pool. Perfect for archival storage, the deployed TrueNAS M50 will grow with the library’s content, easily expanding its storage capacity over time as needed. Supporting a variety of protocols, multi-petabyte scalability in a single share, and anytime, uninterrupted capacity expansion, the TrueNAS M-Series ticked all the right boxes. </p>
</blockquote>

<ul>
<li><a href="https://www.youtube.com/watch?v=8rFjH5-0Fiw" target="_blank" rel="nofollow noopener">Youtube Video</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=FreeBSD-12.1-Beta-Released" target="_blank" rel="nofollow noopener">FreeBSD 12.1-beta available</a></h3>

<blockquote>
<p>FreeBSD 12.0 is already approaching one year old while FreeBSD 12.1 is now on the way as the next installment with various bug/security fixes and other alterations to this BSD operating system.</p>

<p>FreeBSD 12.1 has many security/bug fixes throughout, no longer enables "-Werror" by default as a compiler flag (Update: This change is just for the GCC 4.2 compiler), has imported BearSSL into the FreeBSD base system as a lightweight TLS/SSL implementation, bzip2recover has been added, and a variety of mostly lower-level changes. More details can be found via the in-progress release notes.</p>

<p>For those with time to test this weekend, FreeBSD 12.1 Beta 1 is available for all prominent architectures.</p>

<p>The FreeBSD release team is planning for at least another beta or two and around three release candidates. If all goes well, FreeBSD 12.1 will be out in early November.</p>
</blockquote>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2019-September/091533.html" target="_blank" rel="nofollow noopener">Announcement Link</a></li>
</ul>

<hr>

<h3><a href="https://cyber.dabamos.de/unix/x11/" target="_blank" rel="nofollow noopener">Cool, but obscure X11 tools.  More suggestions in the source link</a></h3>

<ul>
<li>ASClock</li>
<li>Free42</li>
<li>FSV2</li>
<li>GLXGears</li>
<li>GMixer</li>
<li>GVIM</li>
<li>Micropolis</li>
<li>Sunclock</li>
<li>Ted</li>
<li>TiEmu</li>
<li>X026</li>
<li>X48</li>
<li>XAbacus</li>
<li>XAntfarm</li>
<li>XArchiver</li>
<li>XASCII</li>
<li>XBiff</li>
<li>XBill</li>
<li>XBoard</li>
<li>XCalc</li>
<li>XCalendar</li>
<li>XCHM</li>
<li>XChomp</li>
<li>XClipboard</li>
<li>XClock</li>
<li>XClock/Cat Clock</li>
<li>XColorSel</li>
<li>XConsole</li>
<li>XDiary</li>
<li>XEarth</li>
<li>XEdit</li>
<li>Xev</li>
<li>XEyes</li>
<li>XFontSel</li>
<li>XGalaga</li>
<li>XInvaders 3D</li>
<li>XKill</li>
<li>XLennart</li>
<li>XLoad</li>
<li>XLock</li>
<li>XLogo</li>
<li>XMahjongg</li>
<li>XMan</li>
<li>XMessage</li>
<li>XmGrace</li>
<li>XMixer</li>
<li>XmMix</li>
<li>XMore</li>
<li>XMosaic</li>
<li>XMOTD</li>
<li>XMountains</li>
<li>XNeko</li>
<li>XOdometer</li>
<li>XOSView</li>
<li>Xplore</li>
<li>XPostIt</li>
<li>XRoach</li>
<li>XScreenSaver</li>
<li>XSnow</li>
<li>XSpread</li>
<li>XTerm</li>
<li>XTide</li>
<li>Xv</li>
<li>Xvkbd</li>
<li>XWPE</li>
<li>XZoom</li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/vbsdcon-2019/" target="_blank" rel="nofollow noopener">vBSDCon 2019 trip report from iXSystems</a></h3>

<blockquote>
<p>The fourth biennial vBSDCon was held in Reston, VA on September 5th through 7th and attracted attendees and presenters from not only the Washington, DC area, but also Canada, Germany, Kenya, and beyond. While MeetBSD caters to Silicon Valley BSD enthusiasts on even years, vBSDcon caters to East Coast and DC area enthusiasts on odd years. Verisign was again the key sponsor of vBSDcon 2019 but this year made a conscious effort to entrust the organization of the event to a team of community members led by Dan Langille, who you probably know as the lead BSDCan organizer. The result of this shift was a low key but professional event that fostered great conversation and brainstorming at every turn.</p>
</blockquote>

<hr>

<h3><a href="https://project-trident.org/post/2019-09-21_stable12-u7_available/" target="_blank" rel="nofollow noopener">Project Trident 12-U7 now available</a></h3>

<ul>
<li>Package Summary

<ul>
<li>New Packages: 130</li>
<li>Deleted Packages: 72</li>
<li>Updated Packages: 865</li>
</ul></li>
<li>Stable ISO - <a href="https://pkg.project-trident.org/iso/stable/Trident-x64-TOS-12-U7-20190920.iso" target="_blank" rel="nofollow noopener">https://pkg.project-trident.org/iso/stable/Trident-x64-TOS-12-U7-20190920.iso</a></li>
</ul>

<hr>

<h3><a href="https://minnie.tuhs.org//pipermail/tuhs/2019-September/018685.html" target="_blank" rel="nofollow noopener">A Couple new Unix Artifacts</a></h3>

<blockquote>
<p>I fear we're drifting a bit here and the S/N ratio is dropping a bit w.r.t the actual history of Unix. Please no more on the relative merits of version control systems or alternative text processing systems.</p>

<p>So I'll try to distract you by saying this. I'm sitting on two artifacts that have recently been given to me:</p>
</blockquote>

<ul>
<li>by two large organisations</li>
<li>of great significance to Unix history</li>
<li>who want me to keep "mum" about them</li>
<li>as they are going to make announcements about them soon*</li>
</ul>

<blockquote>
<p>and I am going slowly crazy as I wait for them to be offically released. Now you have a new topic to talk about :-)</p>

<p>Cheers, Warren</p>
</blockquote>

<p>* <em>for some definition of "soon"</em></p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2019/09/16/msg000813.html" target="_blank" rel="nofollow noopener">NetBSD machines at Open Source Conference 2019 Hiroshima</a></li>
<li><a href="https://www.hyperbola.info/news/end-of-xorg-support/" target="_blank" rel="nofollow noopener">Hyperbola a GNU/Linux OS is using OpenBSD's Xenocara</a></li>
<li><a href="https://www.talosintelligence.com/careers/freebsd_engineer" target="_blank" rel="nofollow noopener">Talos is looking for a FreeBSD Engineer</a></li>
<li><a href="https://github.com/dylanaraps/pure-sh-bible" target="_blank" rel="nofollow noopener">GitHub - dylanaraps/pure-sh-bible: A collection of pure POSIX sh alternatives to external processes.</a></li>
<li><a href="https://www.dragonflydigest.com/2019/09/23/23523.html" target="_blank" rel="nofollow noopener">dsynth: you’re building it</a></li>
<li><a href="http://lists.sigcis.org/pipermail/members-sigcis.org/2019-September/001606.html" target="_blank" rel="nofollow noopener">Percy Ludgate, the missing link between Babbage’s machine and everything else</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Bruce - <a href="http://dpaste.com/147HGP3#wrap" target="_blank" rel="nofollow noopener">Down the expect rabbithole</a></li>
<li>Bruce - <a href="http://dpaste.com/37MNVSW#wrap" target="_blank" rel="nofollow noopener">Expect (update)</a></li>
<li>David - <a href="http://dpaste.com/2SE1YSE" target="_blank" rel="nofollow noopener">Netgraph answer</a></li>
<li>Mason - <a href="http://dpaste.com/00KKXJM" target="_blank" rel="nofollow noopener">Beeps?</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0318.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>317: Bots Building Jails</title>
  <link>https://www.bsdnow.tv/317</link>
  <guid isPermaLink="false">e26d9711-a9ef-433e-bf8e-90d57030f3e7</guid>
  <pubDate>Thu, 26 Sep 2019 02:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e26d9711-a9ef-433e-bf8e-90d57030f3e7.mp3" length="37879559" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Setting up buildbot in FreeBSD jails, Set up a mail server with OpenSMTPD, Dovecot and Rspamd, OpenBSD amateur packet radio with HamBSD, DragonFlyBSD's HAMMER2 gets fsck, return of startx for users.</itunes:subtitle>
  <itunes:duration>52:36</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>&lt;p&gt;Setting up buildbot in FreeBSD jails, Set up a mail server with OpenSMTPD, Dovecot and Rspamd, OpenBSD amateur packet radio with HamBSD, DragonFlyBSD's HAMMER2 gets fsck, return of startx for users.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://2019.eurobsdcon.org/" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon 2019 Recap&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We’re back from EuroBSDcon in Lillehammer, Norway. It was a great conference with 212 people attending. 2 days of &lt;a href="https://2019.eurobsdcon.org/tutorial-speakers/" target="_blank" rel="nofollow noopener"&gt;tutorials&lt;/a&gt;, parallel to the &lt;a href="https://wiki.freebsd.org/DevSummit/201909" target="_blank" rel="nofollow noopener"&gt;FreeBSD Devsummit&lt;/a&gt;, followed by two days of &lt;a href="https://2019.eurobsdcon.org/program/" target="_blank" rel="nofollow noopener"&gt;talks&lt;/a&gt;. Some speakers uploaded their slides to &lt;a href="https://papers.freebsd.org/2019/eurobsdcon/" target="_blank" rel="nofollow noopener"&gt;papers.freebsd.org&lt;/a&gt; already with more to come.&lt;/p&gt;

&lt;p&gt;The social event was also interesting. We visited an open air museum with building preserved from different time periods. In the older section they had a collection of farm buildings, a church originally built in the 1200s and relocated to the museum, and a school house. In the more modern area, they had houses from 1915, and each decade from 1930 to 1990, plus a “house of the future” as imagined in 2001. Many had open doors to allow you to tour the inside, and some were even “inhabited”. The latter fact gave a much more interactive experience and we could learn additional things about the history of that particular house. The town at the end included a general store, a post office, and more. Then, we all had a nice dinner together in the museum’s restaurant.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The opening keynote by Patricia Aas was very good. Her talk on embedded ethics, from her perspective as someone trying to defend the sanctity of Norwegian elections, and a former developer for the Opera web browser, provided a great deal of insight into the issues. Her points about how the tech community has unleashed a very complex digital work upon people with barely any technical literacy were well taken. Her stories of trying to explain the problems with involving computers in the election process to journalists and politicians struck a chord with many of us, who have had to deal with legislation written by those who do not truly understand the issues with technology.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener"&gt;Setting up buildbot in FreeBSD jails&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In this article, I would like to present a tutorial to set up buildbot, a continuous integration (CI) software (like Jenkins, drone, etc.), making use of FreeBSD’s containerization mechanism "jails". We will cover terminology, rationale for using both buildbot and jails together, and installation steps. At the end, you will have a working buildbot instance using its sample build configuration, ready to play around with your own CI plans (or even CD, it’s very flexible!). Some hints for production-grade installations are given, but the tutorial steps are meant for a test environment (namely a virtual machine). Buildbot’s configuration and detailed concepts are not in scope here.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd/" target="_blank" rel="nofollow noopener"&gt;Setting up a mail server with OpenSMTPD, Dovecot and Rspamd&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Self-hosting and encouraging smaller providers is for the greater good&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;First of all, I was not clear enough about the political consequences of centralizing mail services at Big Mailer Corps.&lt;/p&gt;

&lt;p&gt;It doesn’t make sense for Random Joe, sharing kitten pictures with his family and friends, to build a personal mail infrastructure when multiple Big Mailer Corps offer “for free” an amazing quality of service. They provide him with an e-mail address that is immediately available and which will generally work reliably. It really doesn’t make sense for Random Joe not to go there, and particularly if even techies go there without hesitation, proving it is a sound choice.&lt;/p&gt;

&lt;p&gt;There is nothing wrong with Random Joes using a service that works.&lt;/p&gt;

&lt;p&gt;What is terribly wrong though is the centralization of a communication protocol in the hands of a few commercial companies, EVERY SINGLE ONE OF THEM coming from the same country (currently led by a lunatic who abuses power and probably suffers from NPD), EVERY SINGLE ONE OF THEM having been in the news and/or in a court for random/assorted “unpleasant” behaviors (privacy abuses, eavesdropping, monopoly abuse, sexual or professional harassment, you just name it…), and EVERY SINGLE ONE OF THEM growing user bases that far exceeds the total population of multiple countries combined.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://hambsd.org/" target="_blank" rel="nofollow noopener"&gt;The HamBSD project aims to bring amateur packet radio to OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The HamBSD project aims to bring amateur packet radio to OpenBSD, including support for TCP/IP over AX.25 and APRS tracking/digipeating in the base system.&lt;/p&gt;

&lt;p&gt;HamBSD will not provide a full AX.25 stack but instead only implement support for UI frames. There will be a focus on simplicity, security and readable code.&lt;/p&gt;

&lt;p&gt;The amateur radio community needs a reliable platform for packet radio for use in both leisure and emergency scenarios. It should be expected that the system is stable and resilient (but as yet it is neither).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2019/09/24/23540.html" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD's HAMMER2 Gets Basic FSCK Support&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;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’s now a fsck command, useful if you want a report of data validity rather than any manual repair process.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5554cc8b81fbfcfd347f50be3f3b1b9a54b871b" target="_blank" rel="nofollow noopener"&gt;commit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Add initial fsck support for HAMMER2, although CoW fs doesn't require fsck as a concept. Currently no repairing (no write), just verifying. &lt;/p&gt;

&lt;p&gt;Keep this as a separate command for now.&lt;br&gt;
&lt;a href="https://i.redd.it/vkdss0mtdpo31.jpg" target="_blank" rel="nofollow noopener"&gt;https://i.redd.it/vkdss0mtdpo31.jpg&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20190917091236" target="_blank" rel="nofollow noopener"&gt;The return of startx for users&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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)).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.nycbug.org:8080/pipermail/talk/2019-September/018046.html" target="_blank" rel="nofollow noopener"&gt;Ori Bernstein will be giving the October talk at NYCBUG&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://calagator.org/events/1250476200" target="_blank" rel="nofollow noopener"&gt;BSD Pizza Night: 2019/09/26, 7–9PM, Portland, Oregon, USA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://knoxbug.org/2019-09-30" target="_blank" rel="nofollow noopener"&gt;Nick Wolff : Home Lab Show &amp;amp; Tell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=eWkCjj4_xsk" target="_blank" rel="nofollow noopener"&gt;Installing the Lumina Desktop in DragonflyBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/09/20/23519.html" target="_blank" rel="nofollow noopener"&gt;dhcpcd 8.0.6 added&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bruce - &lt;a href="http://dpaste.com/15ABRRB#wrap" target="_blank" rel="nofollow noopener"&gt;FOSDEM videos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Lars - &lt;a href="http://dpaste.com/1X9FEJJ" target="_blank" rel="nofollow noopener"&gt;Super Cluster of BSD on Rock64Pr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Madhukar - &lt;a href="http://dpaste.com/0TWF1NB#wrap" target="_blank" rel="nofollow noopener"&gt;Question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0317.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, buildbot, jails, opensmtp, dovecot, rspamd, mail, mailserver, amateur radio, amateur packet radio, packet radio, hammer2, filesystem, fsck, file system check, startx</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Setting up buildbot in FreeBSD jails, Set up a mail server with OpenSMTPD, Dovecot and Rspamd, OpenBSD amateur packet radio with HamBSD, DragonFlyBSD's HAMMER2 gets fsck, return of startx for users.</p>

<h2>Headlines</h2>

<h3><a href="https://2019.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDcon 2019 Recap</a></h3>

<blockquote>
<p>We’re back from EuroBSDcon in Lillehammer, Norway. It was a great conference with 212 people attending. 2 days of <a href="https://2019.eurobsdcon.org/tutorial-speakers/" target="_blank" rel="nofollow noopener">tutorials</a>, parallel to the <a href="https://wiki.freebsd.org/DevSummit/201909" target="_blank" rel="nofollow noopener">FreeBSD Devsummit</a>, followed by two days of <a href="https://2019.eurobsdcon.org/program/" target="_blank" rel="nofollow noopener">talks</a>. Some speakers uploaded their slides to <a href="https://papers.freebsd.org/2019/eurobsdcon/" target="_blank" rel="nofollow noopener">papers.freebsd.org</a> already with more to come.</p>

<p>The social event was also interesting. We visited an open air museum with building preserved from different time periods. In the older section they had a collection of farm buildings, a church originally built in the 1200s and relocated to the museum, and a school house. In the more modern area, they had houses from 1915, and each decade from 1930 to 1990, plus a “house of the future” as imagined in 2001. Many had open doors to allow you to tour the inside, and some were even “inhabited”. The latter fact gave a much more interactive experience and we could learn additional things about the history of that particular house. The town at the end included a general store, a post office, and more. Then, we all had a nice dinner together in the museum’s restaurant.</p>
</blockquote>

<ul>
<li>The opening keynote by Patricia Aas was very good. Her talk on embedded ethics, from her perspective as someone trying to defend the sanctity of Norwegian elections, and a former developer for the Opera web browser, provided a great deal of insight into the issues. Her points about how the tech community has unleashed a very complex digital work upon people with barely any technical literacy were well taken. Her stories of trying to explain the problems with involving computers in the election process to journalists and politicians struck a chord with many of us, who have had to deal with legislation written by those who do not truly understand the issues with technology.</li>
</ul>

<hr>

<h3><a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener">Setting up buildbot in FreeBSD jails</a></h3>

<blockquote>
<p>In this article, I would like to present a tutorial to set up buildbot, a continuous integration (CI) software (like Jenkins, drone, etc.), making use of FreeBSD’s containerization mechanism "jails". We will cover terminology, rationale for using both buildbot and jails together, and installation steps. At the end, you will have a working buildbot instance using its sample build configuration, ready to play around with your own CI plans (or even CD, it’s very flexible!). Some hints for production-grade installations are given, but the tutorial steps are meant for a test environment (namely a virtual machine). Buildbot’s configuration and detailed concepts are not in scope here.</p>
</blockquote>

<hr>

<h3><a href="https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd/" target="_blank" rel="nofollow noopener">Setting up a mail server with OpenSMTPD, Dovecot and Rspamd</a></h3>

<ul>
<li>Self-hosting and encouraging smaller providers is for the greater good</li>
</ul>

<blockquote>
<p>First of all, I was not clear enough about the political consequences of centralizing mail services at Big Mailer Corps.</p>

<p>It doesn’t make sense for Random Joe, sharing kitten pictures with his family and friends, to build a personal mail infrastructure when multiple Big Mailer Corps offer “for free” an amazing quality of service. They provide him with an e-mail address that is immediately available and which will generally work reliably. It really doesn’t make sense for Random Joe not to go there, and particularly if even techies go there without hesitation, proving it is a sound choice.</p>

<p>There is nothing wrong with Random Joes using a service that works.</p>

<p>What is terribly wrong though is the centralization of a communication protocol in the hands of a few commercial companies, EVERY SINGLE ONE OF THEM coming from the same country (currently led by a lunatic who abuses power and probably suffers from NPD), EVERY SINGLE ONE OF THEM having been in the news and/or in a court for random/assorted “unpleasant” behaviors (privacy abuses, eavesdropping, monopoly abuse, sexual or professional harassment, you just name it…), and EVERY SINGLE ONE OF THEM growing user bases that far exceeds the total population of multiple countries combined.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://hambsd.org/" target="_blank" rel="nofollow noopener">The HamBSD project aims to bring amateur packet radio to OpenBSD</a></h3>

<blockquote>
<p>The HamBSD project aims to bring amateur packet radio to OpenBSD, including support for TCP/IP over AX.25 and APRS tracking/digipeating in the base system.</p>

<p>HamBSD will not provide a full AX.25 stack but instead only implement support for UI frames. There will be a focus on simplicity, security and readable code.</p>

<p>The amateur radio community needs a reliable platform for packet radio for use in both leisure and emergency scenarios. It should be expected that the system is stable and resilient (but as yet it is neither).</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/09/24/23540.html" target="_blank" rel="nofollow noopener">DragonFlyBSD's HAMMER2 Gets Basic FSCK Support</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’s now a fsck command, useful if you want a report of data validity rather than any manual repair process.</p>
</blockquote>

<ul>
<li><a href="https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5554cc8b81fbfcfd347f50be3f3b1b9a54b871b" target="_blank" rel="nofollow noopener">commit</a></li>
</ul>

<blockquote>
<p>Add initial fsck support for HAMMER2, although CoW fs doesn't require fsck as a concept. Currently no repairing (no write), just verifying. </p>

<p>Keep this as a separate command for now.<br>
<a href="https://i.redd.it/vkdss0mtdpo31.jpg" target="_blank" rel="nofollow noopener">https://i.redd.it/vkdss0mtdpo31.jpg</a></p>

<hr>
</blockquote>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20190917091236" target="_blank" rel="nofollow noopener">The return of startx for users</a></h3>

<blockquote>
<p>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.</p>

<p>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)).</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.nycbug.org:8080/pipermail/talk/2019-September/018046.html" target="_blank" rel="nofollow noopener">Ori Bernstein will be giving the October talk at NYCBUG</a></li>
<li><a href="http://calagator.org/events/1250476200" target="_blank" rel="nofollow noopener">BSD Pizza Night: 2019/09/26, 7–9PM, Portland, Oregon, USA</a></li>
<li><a href="http://knoxbug.org/2019-09-30" target="_blank" rel="nofollow noopener">Nick Wolff : Home Lab Show &amp; Tell</a></li>
<li><a href="https://www.youtube.com/watch?v=eWkCjj4_xsk" target="_blank" rel="nofollow noopener">Installing the Lumina Desktop in DragonflyBSD</a></li>
<li><a href="https://www.dragonflydigest.com/2019/09/20/23519.html" target="_blank" rel="nofollow noopener">dhcpcd 8.0.6 added</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Bruce - <a href="http://dpaste.com/15ABRRB#wrap" target="_blank" rel="nofollow noopener">FOSDEM videos</a></li>
<li>Lars - <a href="http://dpaste.com/1X9FEJJ" target="_blank" rel="nofollow noopener">Super Cluster of BSD on Rock64Pr</a></li>
<li>Madhukar - <a href="http://dpaste.com/0TWF1NB#wrap" target="_blank" rel="nofollow noopener">Question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0317.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Setting up buildbot in FreeBSD jails, Set up a mail server with OpenSMTPD, Dovecot and Rspamd, OpenBSD amateur packet radio with HamBSD, DragonFlyBSD's HAMMER2 gets fsck, return of startx for users.</p>

<h2>Headlines</h2>

<h3><a href="https://2019.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDcon 2019 Recap</a></h3>

<blockquote>
<p>We’re back from EuroBSDcon in Lillehammer, Norway. It was a great conference with 212 people attending. 2 days of <a href="https://2019.eurobsdcon.org/tutorial-speakers/" target="_blank" rel="nofollow noopener">tutorials</a>, parallel to the <a href="https://wiki.freebsd.org/DevSummit/201909" target="_blank" rel="nofollow noopener">FreeBSD Devsummit</a>, followed by two days of <a href="https://2019.eurobsdcon.org/program/" target="_blank" rel="nofollow noopener">talks</a>. Some speakers uploaded their slides to <a href="https://papers.freebsd.org/2019/eurobsdcon/" target="_blank" rel="nofollow noopener">papers.freebsd.org</a> already with more to come.</p>

<p>The social event was also interesting. We visited an open air museum with building preserved from different time periods. In the older section they had a collection of farm buildings, a church originally built in the 1200s and relocated to the museum, and a school house. In the more modern area, they had houses from 1915, and each decade from 1930 to 1990, plus a “house of the future” as imagined in 2001. Many had open doors to allow you to tour the inside, and some were even “inhabited”. The latter fact gave a much more interactive experience and we could learn additional things about the history of that particular house. The town at the end included a general store, a post office, and more. Then, we all had a nice dinner together in the museum’s restaurant.</p>
</blockquote>

<ul>
<li>The opening keynote by Patricia Aas was very good. Her talk on embedded ethics, from her perspective as someone trying to defend the sanctity of Norwegian elections, and a former developer for the Opera web browser, provided a great deal of insight into the issues. Her points about how the tech community has unleashed a very complex digital work upon people with barely any technical literacy were well taken. Her stories of trying to explain the problems with involving computers in the election process to journalists and politicians struck a chord with many of us, who have had to deal with legislation written by those who do not truly understand the issues with technology.</li>
</ul>

<hr>

<h3><a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener">Setting up buildbot in FreeBSD jails</a></h3>

<blockquote>
<p>In this article, I would like to present a tutorial to set up buildbot, a continuous integration (CI) software (like Jenkins, drone, etc.), making use of FreeBSD’s containerization mechanism "jails". We will cover terminology, rationale for using both buildbot and jails together, and installation steps. At the end, you will have a working buildbot instance using its sample build configuration, ready to play around with your own CI plans (or even CD, it’s very flexible!). Some hints for production-grade installations are given, but the tutorial steps are meant for a test environment (namely a virtual machine). Buildbot’s configuration and detailed concepts are not in scope here.</p>
</blockquote>

<hr>

<h3><a href="https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd/" target="_blank" rel="nofollow noopener">Setting up a mail server with OpenSMTPD, Dovecot and Rspamd</a></h3>

<ul>
<li>Self-hosting and encouraging smaller providers is for the greater good</li>
</ul>

<blockquote>
<p>First of all, I was not clear enough about the political consequences of centralizing mail services at Big Mailer Corps.</p>

<p>It doesn’t make sense for Random Joe, sharing kitten pictures with his family and friends, to build a personal mail infrastructure when multiple Big Mailer Corps offer “for free” an amazing quality of service. They provide him with an e-mail address that is immediately available and which will generally work reliably. It really doesn’t make sense for Random Joe not to go there, and particularly if even techies go there without hesitation, proving it is a sound choice.</p>

<p>There is nothing wrong with Random Joes using a service that works.</p>

<p>What is terribly wrong though is the centralization of a communication protocol in the hands of a few commercial companies, EVERY SINGLE ONE OF THEM coming from the same country (currently led by a lunatic who abuses power and probably suffers from NPD), EVERY SINGLE ONE OF THEM having been in the news and/or in a court for random/assorted “unpleasant” behaviors (privacy abuses, eavesdropping, monopoly abuse, sexual or professional harassment, you just name it…), and EVERY SINGLE ONE OF THEM growing user bases that far exceeds the total population of multiple countries combined.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://hambsd.org/" target="_blank" rel="nofollow noopener">The HamBSD project aims to bring amateur packet radio to OpenBSD</a></h3>

<blockquote>
<p>The HamBSD project aims to bring amateur packet radio to OpenBSD, including support for TCP/IP over AX.25 and APRS tracking/digipeating in the base system.</p>

<p>HamBSD will not provide a full AX.25 stack but instead only implement support for UI frames. There will be a focus on simplicity, security and readable code.</p>

<p>The amateur radio community needs a reliable platform for packet radio for use in both leisure and emergency scenarios. It should be expected that the system is stable and resilient (but as yet it is neither).</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/09/24/23540.html" target="_blank" rel="nofollow noopener">DragonFlyBSD's HAMMER2 Gets Basic FSCK Support</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’s now a fsck command, useful if you want a report of data validity rather than any manual repair process.</p>
</blockquote>

<ul>
<li><a href="https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5554cc8b81fbfcfd347f50be3f3b1b9a54b871b" target="_blank" rel="nofollow noopener">commit</a></li>
</ul>

<blockquote>
<p>Add initial fsck support for HAMMER2, although CoW fs doesn't require fsck as a concept. Currently no repairing (no write), just verifying. </p>

<p>Keep this as a separate command for now.<br>
<a href="https://i.redd.it/vkdss0mtdpo31.jpg" target="_blank" rel="nofollow noopener">https://i.redd.it/vkdss0mtdpo31.jpg</a></p>

<hr>
</blockquote>

<h3><a href="http://undeadly.org/cgi?action=article;sid=20190917091236" target="_blank" rel="nofollow noopener">The return of startx for users</a></h3>

<blockquote>
<p>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.</p>

<p>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)).</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.nycbug.org:8080/pipermail/talk/2019-September/018046.html" target="_blank" rel="nofollow noopener">Ori Bernstein will be giving the October talk at NYCBUG</a></li>
<li><a href="http://calagator.org/events/1250476200" target="_blank" rel="nofollow noopener">BSD Pizza Night: 2019/09/26, 7–9PM, Portland, Oregon, USA</a></li>
<li><a href="http://knoxbug.org/2019-09-30" target="_blank" rel="nofollow noopener">Nick Wolff : Home Lab Show &amp; Tell</a></li>
<li><a href="https://www.youtube.com/watch?v=eWkCjj4_xsk" target="_blank" rel="nofollow noopener">Installing the Lumina Desktop in DragonflyBSD</a></li>
<li><a href="https://www.dragonflydigest.com/2019/09/20/23519.html" target="_blank" rel="nofollow noopener">dhcpcd 8.0.6 added</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Bruce - <a href="http://dpaste.com/15ABRRB#wrap" target="_blank" rel="nofollow noopener">FOSDEM videos</a></li>
<li>Lars - <a href="http://dpaste.com/1X9FEJJ" target="_blank" rel="nofollow noopener">Super Cluster of BSD on Rock64Pr</a></li>
<li>Madhukar - <a href="http://dpaste.com/0TWF1NB#wrap" target="_blank" rel="nofollow noopener">Question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0317.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>316: git commit FreeBSD</title>
  <link>https://www.bsdnow.tv/316</link>
  <guid isPermaLink="false">c6ea44fd-cbae-453a-bd88-a35b2b662859</guid>
  <pubDate>Wed, 18 Sep 2019 23:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c6ea44fd-cbae-453a-bd88-a35b2b662859.mp3" length="46851680" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>NetBSD LLVM sanitizers and GDB regression test suite, Ada—The Language of Cost Savings, Homura - a Windows Games Launcher for FreeBSD, FreeBSD core team appoints a WG to explore transition to Git, OpenBSD 6.6 Beta tagged, Project Trident 12-U5 update now available, and more.</itunes:subtitle>
  <itunes:duration>1:05:04</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>&lt;p&gt;NetBSD LLVM sanitizers and GDB regression test suite, Ada—The Language of Cost Savings, Homura - a Windows Games Launcher for FreeBSD, FreeBSD core team appoints a WG to explore transition to Git, OpenBSD 6.6 Beta tagged, Project Trident 12-U5 update now available, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/llvm_santizers_and_gdb_regression" target="_blank" rel="nofollow noopener"&gt;LLVM santizers and GDB regression test suite.&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As NetBSD-9 is branched, I have been asked to finish the LLVM sanitizer integration. This work is now accomplished and with MKLLVM=yes build option (by default off), the distribution will be populated with LLVM files for ASan, TSan, MSan, UBSan, libFuzzer, SafeStack and XRay.&lt;/p&gt;

&lt;p&gt;I have also transplanted basesystem GDB patched to my GDB repository and managed to run the GDB regression test-suite.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;NetBSD distribution changes&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I have enhanced and imported my local MKSANITIZER code that makes whole distribution sanitization possible. Few real bugs were fixed and a number of patches were newly written to reflect the current NetBSD sources state. I have also merged another chunk of the fruits of the GSoC-2018 project with fuzzing the userland (by plusun@).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The following changes were committed to the sources:

&lt;ul&gt;
&lt;li&gt;ab7de18d0283 Cherry-pick upstream compiler-rt patches for LLVM sanitizers&lt;/li&gt;
&lt;li&gt;966c62a34e30 Add LLVM sanitizers in the MKLLVM=yes build&lt;/li&gt;
&lt;li&gt;8367b667adb9 telnetd: Stop defining the same variables concurrently in bss and data&lt;/li&gt;
&lt;li&gt;fe72740f64bf fsck: Stop defining the same variable concurrently in bss and data&lt;/li&gt;
&lt;li&gt;40e89e890d66 Fix build of t_ubsan/t_ubsanxx under MKSANITIZER&lt;/li&gt;
&lt;li&gt;b71326fd7b67 Avoid symbol clashes in tests/usr.bin/id under MKSANITIZER&lt;/li&gt;
&lt;li&gt;c581f2e39fa5 Avoid symbol clashes in fs/nfs/nfsservice under MKSANITIZER&lt;/li&gt;
&lt;li&gt;030a4686a3c6 Avoid symbol clashes in bin/df under MKSANITIZER&lt;/li&gt;
&lt;li&gt;fd9679f6e8b1 Avoid symbol clashes in usr.sbin/ypserv/ypserv under MKSANITIZER&lt;/li&gt;
&lt;li&gt;5df2d7939ce3 Stop defining _rpcsvcdirty in bss and data&lt;/li&gt;
&lt;li&gt;5fafbe8b8f64 Add missing extern declaration of ib_mach_emips in installboot&lt;/li&gt;
&lt;li&gt;d134584be69a Add SANITIZER_RENAME_CLASSES in bsd.prog.mk&lt;/li&gt;
&lt;li&gt;2d00d9b08eae Adapt tests/kernel/t_subr_prf for MKSANITIZER&lt;/li&gt;
&lt;li&gt;ce54363fe452 Ship with sanitizer/lsan_interface.h for GCC 7&lt;/li&gt;
&lt;li&gt;7bd5ee95e9a0 Ship with sanitizer/lsan_interface.h for LLVM 7&lt;/li&gt;
&lt;li&gt;d8671fba7a78 Set NODEBUG for LLVM sanitizers&lt;/li&gt;
&lt;li&gt;242cd44890a2 Add PAXCTL_FLAG rules for MKSANITIZER&lt;/li&gt;
&lt;li&gt;5e80ab99d9ce Avoid symbol clashes in test/rump/modautoload/t_modautoload with sanitizers&lt;/li&gt;
&lt;li&gt;e7ce7ecd9c2a sysctl: Add indirection of symbols to remove clash with sanitizers&lt;/li&gt;
&lt;li&gt;231aea846aba traceroute: Add indirection of symbol to remove clash with sanitizers&lt;/li&gt;
&lt;li&gt;8d85053f487c sockstat: Add indirection of symbols to remove clash with sanitizers&lt;/li&gt;
&lt;li&gt;81b333ab151a netstat: Add indirection of symbols to remove clash with sanitizers&lt;/li&gt;
&lt;li&gt;a472baefefe8 Correct the memset(3)'s third argument in i386 biosdisk.c&lt;/li&gt;
&lt;li&gt;7e4e92115bc3 Add ATF c and c++ tests for TSan, MSan, libFuzzer&lt;/li&gt;
&lt;li&gt;921ddc9bc97c Set NOSANITIZER in i386 ramdisk image&lt;/li&gt;
&lt;li&gt;64361771c78d Enhance MKSANITIZER support&lt;/li&gt;
&lt;li&gt;3b5608f80a2b Define target_not_supported_body() in TSan, MSan and libFuzzer tests&lt;/li&gt;
&lt;li&gt;c27f4619d513 Avoids signedness bit shift in db_get_value()&lt;/li&gt;
&lt;li&gt;680c5b3cc24f Fix LLVM sanitizer build by GCC (HAVE_LLVM=no)&lt;/li&gt;
&lt;li&gt;4ecfbbba2f2a Rework the LLVM compiler_rt build rules&lt;/li&gt;
&lt;li&gt;748813da5547 Correct the build rules of LLVM sanitizers&lt;/li&gt;
&lt;li&gt;20e223156dee Enhance the support of LLVM sanitizers&lt;/li&gt;
&lt;li&gt;0bb38eb2f20d Register syms.extra in LLVM sanitizer .syms files&lt;/li&gt;
&lt;li&gt;Almost all of the mentioned commits were backported to NetBSD-9 and will land 9.0.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/Alexander88207/Homura" target="_blank" rel="nofollow noopener"&gt;Homura - a Windows Games Launcher for FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Inspired by lutris (a Linux gaming platform), we would like to provide a game launcher to play windows games on FreeBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Makes it easier to run games on FreeBSD, by providing the tweaks and dependencies for you&lt;/li&gt;
&lt;li&gt;Dependencies

&lt;ul&gt;
&lt;li&gt;curl&lt;/li&gt;
&lt;li&gt;bash&lt;/li&gt;
&lt;li&gt;p7zip&lt;/li&gt;
&lt;li&gt;zenity&lt;/li&gt;
&lt;li&gt;webfonts&lt;/li&gt;
&lt;li&gt;alsa-utils (Optional)&lt;/li&gt;
&lt;li&gt;winetricks&lt;/li&gt;
&lt;li&gt;vulkan-tools&lt;/li&gt;
&lt;li&gt;mesa-demos&lt;/li&gt;
&lt;li&gt;i386-wine-devel on amd64 or wine-devel on i386&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.electronicdesign.com/embedded-revolution/ada-language-cost-savings" target="_blank" rel="nofollow noopener"&gt;Ada—The Language of Cost Savings?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Many myths surround the Ada programming language, but it continues to be used and evolve at the same time. And while the increased adoption of Ada and SPARK, its provable subset, is slow, it’s noticeable. Ada already addresses more of the features found in found in heavily used embedded languages like C+ and C#. It also tackles problems addressed by upcoming languages like Rust.&lt;/p&gt;

&lt;p&gt;Chris concludes, “Development technologies have a profound impact on one of the largest and most variable costs associated with embedded-system engineering—labor. At a time when on-time system deployment can not only impact customer satisfaction, but access to services revenue streams, engineering team efficiency is at a premium. Our research showed that programming language choices can have significant influence in this area, leading to shorter projects, better schedules and, ultimately, lower development costs. While a variety of factors can influence and dictate language choice, our research showed that Ada’s evolution has made it an increasingly compelling option for engineering organizations, providing both technically and financially sound solution.”&lt;/p&gt;

&lt;p&gt;In general, Ada already makes embedded “programming in the large” much easier by handling issues that aren’t even addressed in other languages. Though these features are often provided by third-party software, it results in inconsistent practices among developers. Ada also supports the gamut of embedded platforms from systems like Arm’s Cortex-M through supercomputers. Learning Ada isn’t as hard as one might think and the benefits can be significant.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2019-04-2019-06.html#FreeBSD-Core-Team" target="_blank" rel="nofollow noopener"&gt;FreeBSD core team appoints a WG to explore transitioning from Subversion to Git.&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The FreeBSD Core Team is the governing body of FreeBSD.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Core approved source commit bits for Doug Moore (dougm), Chuck Silvers (chs), Brandon Bergren (bdragon), and a vendor commit bit for Scott Phillips (scottph).&lt;/p&gt;

&lt;p&gt;The annual developer survey closed on 2019-04-02. Of the 397 developers, 243 took the survey with an average completion time of 12 minutes. The public survey closed on 2019-05-13. It was taken by 3637 users and had a 79% completion rate. A presentation of the survey results took place at BSDCan 2019.&lt;/p&gt;

&lt;p&gt;The core team voted to appoint a working group to explore transitioning our source code 'source of truth' from Subversion to Git. Core asked Ed Maste to chair the group as Ed has been researching this topic for some time. For example, Ed gave a MeetBSD 2018 talk on the topic.&lt;/p&gt;

&lt;p&gt;There is a variety of viewpoints within core regarding where and how to host a Git repository, however core feels that Git is the prudent path forward.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20190810123243" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.6 Beta tagged&lt;/a&gt;&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;CVSROOT:    /cvs
Module name:    src
Changes by:    deraadt@cvs.openbsd.org    2019/08/09 21:56:02

Modified files:
    etc/root : root.mail
    share/mk : sys.mk
    sys/arch/macppc/stand/tbxidata: bsd.tbxi
    sys/conf : newvers.sh
    sys/sys : param.h
    usr.bin/signify: signify.1

Log message:
move to 6.6-beta
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="https://www.openbsd.org/66.html" target="_blank" rel="nofollow noopener"&gt;Preliminary release notes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Improved hardware support, including:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;clang(1) is now provided on powerpc.&lt;/li&gt;
&lt;li&gt;IEEE 802.11 wireless stack improvements:&lt;/li&gt;
&lt;li&gt;Generic network stack improvements:&lt;/li&gt;
&lt;li&gt;Installer improvements:&lt;/li&gt;
&lt;li&gt;Security improvements:&lt;/li&gt;
&lt;li&gt;  + Routing daemons and other userland network improvements&lt;/li&gt;
&lt;li&gt;  + The ntpd(8) daemon now gets and sets the clock in a secure way when booting even when a battery-backed clock is absent.&lt;/li&gt;
&lt;li&gt;  + bgdp(8) improvements&lt;/li&gt;
&lt;li&gt;  + Assorted improvements:&lt;/li&gt;
&lt;li&gt;  + The filesystem buffer cache now more aggressively uses memory outside the DMA region, to improve cache performance on amd64 machines.&lt;/li&gt;
&lt;li&gt;The BER API previously internal to ldap(1), ldapd(8), ypldap(8), and snmpd(8) has been moved into libutil. See ber_read_elements(3).&lt;/li&gt;
&lt;li&gt;Support for specifying boot device in vm.conf(5).&lt;/li&gt;
&lt;li&gt;OpenSMTPD 6.6.0&lt;/li&gt;
&lt;li&gt;LibreSSL 3.0.X&lt;/li&gt;
&lt;li&gt;API and Documentation Enhancements&lt;/li&gt;
&lt;li&gt;Completed the port of RSA_METHOD accessors from the OpenSSL 1.1 API.&lt;/li&gt;
&lt;li&gt;Documented undescribed options and removed unfunctional options description in openssl(1) manual.&lt;/li&gt;
&lt;li&gt;OpenSSH 8.0&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://project-trident.org/post/2019-09-04_stable12-u5_available/" target="_blank" rel="nofollow noopener"&gt;Project Trident 12-U5 update now available&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This is the fifth general package update to the STABLE release repository based upon TrueOS 12-Stable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Package changes from Stable 12-U4&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Package Summary&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New Packages: 20&lt;/li&gt;
&lt;li&gt;Deleted Packages: 24&lt;/li&gt;
&lt;li&gt;Updated Packages: 279&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;New Packages (20)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;artemis (biology/artemis) : 17.0.1.11&lt;/li&gt;
&lt;li&gt;catesc (games/catesc) : 0.6&lt;/li&gt;
&lt;li&gt;dmlc-core (devel/dmlc-core) : 0.3.105&lt;/li&gt;
&lt;li&gt;go-wtf (sysutils/go-wtf) : 0.20.0_1&lt;/li&gt;
&lt;li&gt;instead (games/instead) : 3.3.0_1&lt;/li&gt;
&lt;li&gt;lidarr (net-p2p/lidarr) : 0.6.2.883&lt;/li&gt;
&lt;li&gt;minerbold (games/minerbold) : 1.4&lt;/li&gt;
&lt;li&gt;onnx (math/onnx) : 1.5.0&lt;/li&gt;
&lt;li&gt;openzwave-devel (comms/openzwave-devel) : 1.6.897&lt;/li&gt;
&lt;li&gt;polkit-qt-1 (sysutils/polkit-qt) : 0.113.0_8&lt;/li&gt;
&lt;li&gt;py36-traitsui (graphics/py-traitsui) : 6.1.2&lt;/li&gt;
&lt;li&gt;rubygem-aws-sigv2 (devel/rubygem-aws-sigv2) : 1.0.1&lt;/li&gt;
&lt;li&gt;rubygem-default_value_for32 (devel/rubygem-default_value_for32) : 3.2.0&lt;/li&gt;
&lt;li&gt;rubygem-ffi110 (devel/rubygem-ffi110) : 1.10.0&lt;/li&gt;
&lt;li&gt;rubygem-zeitwerk (devel/rubygem-zeitwerk) : 2.1.9&lt;/li&gt;
&lt;li&gt;sems (net/sems) : 1.7.0.g20190822&lt;/li&gt;
&lt;li&gt;skypat (devel/skypat) : 3.1.1&lt;/li&gt;
&lt;li&gt;tvm (math/tvm) : 0.4.1440&lt;/li&gt;
&lt;li&gt;vavoom (games/vavoom) : 1.33_15&lt;/li&gt;
&lt;li&gt;vavoom-extras (games/vavoom-extras) : 1.30_4&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Deleted Packages (24)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;geeqie (graphics/geeqie) : Unknown reason&lt;/li&gt;
&lt;li&gt;iriverter (multimedia/iriverter) : Unknown reason&lt;/li&gt;
&lt;li&gt;kde5 (x11/kde5) : Unknown reason&lt;/li&gt;
&lt;li&gt;kicad-doc (cad/kicad-doc) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-buildworld (os/buildworld) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland (os/userland) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-base (os/userland-base) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-base-bootstrap (os/userland-base-bootstrap) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-bin (os/userland-bin) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-boot (os/userland-boot) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-conf (os/userland-conf) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-debug (os/userland-debug) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-devtools (os/userland-devtools) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-docs (os/userland-docs) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-lib (os/userland-lib) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-lib32 (os/userland-lib32) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-lib32-development (os/userland-lib32-development) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-rescue (os/userland-rescue) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-sbin (os/userland-sbin) : Unknown reason&lt;/li&gt;
&lt;li&gt;os-nozfs-userland-tests (os/userland-tests) : Unknown reason&lt;/li&gt;
&lt;li&gt;photoprint (print/photoprint) : Unknown reason&lt;/li&gt;
&lt;li&gt;plasma5-plasma (x11/plasma5-plasma) : Unknown reason&lt;/li&gt;
&lt;li&gt;polkit-qt5 (sysutils/polkit-qt) : Unknown reason&lt;/li&gt;
&lt;li&gt;secpanel (security/secpanel) : Unknown reason&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/09/10/23472.html" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD - msdosfs updates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://science.sciencemag.org/content/365/6455/834.full" target="_blank" rel="nofollow noopener"&gt;Stand out as a speaker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://akpoff.com/archive/2019/not_a_review_of_the_lenovo_x1c7.html" target="_blank" rel="nofollow noopener"&gt;Not a review of the 7th Gen X1 Carbon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.tfir.io/2019/08/24/freebsd-meets-linux-at-the-open-source-summit/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Meets Linux At The Open Source Summit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.bi0s.in/2019/08/24/Pwn/VM-Escape/2019-07-29-qemu-vm-escape-cve-2019-14378/" target="_blank" rel="nofollow noopener"&gt;QEMU VM Escape&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/porting_wine_to_amd64_on1" target="_blank" rel="nofollow noopener"&gt;Porting wine to amd64 on NetBSD, third evaluation report.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20190911113856" target="_blank" rel="nofollow noopener"&gt;OpenBSD disabled DoH by default in Firefox&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Reinis - &lt;a href="http://dpaste.com/0SG8630#wrap" target="_blank" rel="nofollow noopener"&gt;GELI with UEFI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mason - &lt;a href="http://dpaste.com/1FQN173" target="_blank" rel="nofollow noopener"&gt;Beeping&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;[CHVT feedback]&lt;br&gt;
DJ - &lt;a href="http://dpaste.com/08M3XNH#wrap" target="_blank" rel="nofollow noopener"&gt;Feedback&lt;/a&gt;&lt;br&gt;
Ben - &lt;a href="http://dpaste.com/274RVCE#wrap" target="_blank" rel="nofollow noopener"&gt;chvt&lt;/a&gt;&lt;br&gt;
Harri - &lt;a href="http://dpaste.com/23R1YMK#wrap" target="_blank" rel="nofollow noopener"&gt;Marc's chvt question&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0316.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, gdb, regression test, llvm, llvm sanitizers, sanitizers, ada, cost savings, homura, windows game, game launcher, core team, git, git transition</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>NetBSD LLVM sanitizers and GDB regression test suite, Ada—The Language of Cost Savings, Homura - a Windows Games Launcher for FreeBSD, FreeBSD core team appoints a WG to explore transition to Git, OpenBSD 6.6 Beta tagged, Project Trident 12-U5 update now available, and more.</p>

<h2>Headlines</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/llvm_santizers_and_gdb_regression" target="_blank" rel="nofollow noopener">LLVM santizers and GDB regression test suite.</a></h3>

<blockquote>
<p>As NetBSD-9 is branched, I have been asked to finish the LLVM sanitizer integration. This work is now accomplished and with MKLLVM=yes build option (by default off), the distribution will be populated with LLVM files for ASan, TSan, MSan, UBSan, libFuzzer, SafeStack and XRay.</p>

<p>I have also transplanted basesystem GDB patched to my GDB repository and managed to run the GDB regression test-suite.</p>
</blockquote>

<ul>
<li>NetBSD distribution changes</li>
</ul>

<blockquote>
<p>I have enhanced and imported my local MKSANITIZER code that makes whole distribution sanitization possible. Few real bugs were fixed and a number of patches were newly written to reflect the current NetBSD sources state. I have also merged another chunk of the fruits of the GSoC-2018 project with fuzzing the userland (by plusun@).</p>
</blockquote>

<ul>
<li>The following changes were committed to the sources:

<ul>
<li>ab7de18d0283 Cherry-pick upstream compiler-rt patches for LLVM sanitizers</li>
<li>966c62a34e30 Add LLVM sanitizers in the MKLLVM=yes build</li>
<li>8367b667adb9 telnetd: Stop defining the same variables concurrently in bss and data</li>
<li>fe72740f64bf fsck: Stop defining the same variable concurrently in bss and data</li>
<li>40e89e890d66 Fix build of t_ubsan/t_ubsanxx under MKSANITIZER</li>
<li>b71326fd7b67 Avoid symbol clashes in tests/usr.bin/id under MKSANITIZER</li>
<li>c581f2e39fa5 Avoid symbol clashes in fs/nfs/nfsservice under MKSANITIZER</li>
<li>030a4686a3c6 Avoid symbol clashes in bin/df under MKSANITIZER</li>
<li>fd9679f6e8b1 Avoid symbol clashes in usr.sbin/ypserv/ypserv under MKSANITIZER</li>
<li>5df2d7939ce3 Stop defining _rpcsvcdirty in bss and data</li>
<li>5fafbe8b8f64 Add missing extern declaration of ib_mach_emips in installboot</li>
<li>d134584be69a Add SANITIZER_RENAME_CLASSES in bsd.prog.mk</li>
<li>2d00d9b08eae Adapt tests/kernel/t_subr_prf for MKSANITIZER</li>
<li>ce54363fe452 Ship with sanitizer/lsan_interface.h for GCC 7</li>
<li>7bd5ee95e9a0 Ship with sanitizer/lsan_interface.h for LLVM 7</li>
<li>d8671fba7a78 Set NODEBUG for LLVM sanitizers</li>
<li>242cd44890a2 Add PAXCTL_FLAG rules for MKSANITIZER</li>
<li>5e80ab99d9ce Avoid symbol clashes in test/rump/modautoload/t_modautoload with sanitizers</li>
<li>e7ce7ecd9c2a sysctl: Add indirection of symbols to remove clash with sanitizers</li>
<li>231aea846aba traceroute: Add indirection of symbol to remove clash with sanitizers</li>
<li>8d85053f487c sockstat: Add indirection of symbols to remove clash with sanitizers</li>
<li>81b333ab151a netstat: Add indirection of symbols to remove clash with sanitizers</li>
<li>a472baefefe8 Correct the memset(3)'s third argument in i386 biosdisk.c</li>
<li>7e4e92115bc3 Add ATF c and c++ tests for TSan, MSan, libFuzzer</li>
<li>921ddc9bc97c Set NOSANITIZER in i386 ramdisk image</li>
<li>64361771c78d Enhance MKSANITIZER support</li>
<li>3b5608f80a2b Define target_not_supported_body() in TSan, MSan and libFuzzer tests</li>
<li>c27f4619d513 Avoids signedness bit shift in db_get_value()</li>
<li>680c5b3cc24f Fix LLVM sanitizer build by GCC (HAVE_LLVM=no)</li>
<li>4ecfbbba2f2a Rework the LLVM compiler_rt build rules</li>
<li>748813da5547 Correct the build rules of LLVM sanitizers</li>
<li>20e223156dee Enhance the support of LLVM sanitizers</li>
<li>0bb38eb2f20d Register syms.extra in LLVM sanitizer .syms files</li>
<li>Almost all of the mentioned commits were backported to NetBSD-9 and will land 9.0.</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://github.com/Alexander88207/Homura" target="_blank" rel="nofollow noopener">Homura - a Windows Games Launcher for FreeBSD</a></h3>

<blockquote>
<p>Inspired by lutris (a Linux gaming platform), we would like to provide a game launcher to play windows games on FreeBSD.</p>
</blockquote>

<ul>
<li>Makes it easier to run games on FreeBSD, by providing the tweaks and dependencies for you</li>
<li>Dependencies

<ul>
<li>curl</li>
<li>bash</li>
<li>p7zip</li>
<li>zenity</li>
<li>webfonts</li>
<li>alsa-utils (Optional)</li>
<li>winetricks</li>
<li>vulkan-tools</li>
<li>mesa-demos</li>
<li>i386-wine-devel on amd64 or wine-devel on i386</li>
</ul></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.electronicdesign.com/embedded-revolution/ada-language-cost-savings" target="_blank" rel="nofollow noopener">Ada—The Language of Cost Savings?</a></h3>

<blockquote>
<p>Many myths surround the Ada programming language, but it continues to be used and evolve at the same time. And while the increased adoption of Ada and SPARK, its provable subset, is slow, it’s noticeable. Ada already addresses more of the features found in found in heavily used embedded languages like C+ and C#. It also tackles problems addressed by upcoming languages like Rust.</p>

<p>Chris concludes, “Development technologies have a profound impact on one of the largest and most variable costs associated with embedded-system engineering—labor. At a time when on-time system deployment can not only impact customer satisfaction, but access to services revenue streams, engineering team efficiency is at a premium. Our research showed that programming language choices can have significant influence in this area, leading to shorter projects, better schedules and, ultimately, lower development costs. While a variety of factors can influence and dictate language choice, our research showed that Ada’s evolution has made it an increasingly compelling option for engineering organizations, providing both technically and financially sound solution.”</p>

<p>In general, Ada already makes embedded “programming in the large” much easier by handling issues that aren’t even addressed in other languages. Though these features are often provided by third-party software, it results in inconsistent practices among developers. Ada also supports the gamut of embedded platforms from systems like Arm’s Cortex-M through supercomputers. Learning Ada isn’t as hard as one might think and the benefits can be significant.</p>
</blockquote>

<hr>

<h3><a href="https://www.freebsd.org/news/status/report-2019-04-2019-06.html#FreeBSD-Core-Team" target="_blank" rel="nofollow noopener">FreeBSD core team appoints a WG to explore transitioning from Subversion to Git.</a></h3>

<ul>
<li>The FreeBSD Core Team is the governing body of FreeBSD.</li>
</ul>

<blockquote>
<p>Core approved source commit bits for Doug Moore (dougm), Chuck Silvers (chs), Brandon Bergren (bdragon), and a vendor commit bit for Scott Phillips (scottph).</p>

<p>The annual developer survey closed on 2019-04-02. Of the 397 developers, 243 took the survey with an average completion time of 12 minutes. The public survey closed on 2019-05-13. It was taken by 3637 users and had a 79% completion rate. A presentation of the survey results took place at BSDCan 2019.</p>

<p>The core team voted to appoint a working group to explore transitioning our source code 'source of truth' from Subversion to Git. Core asked Ed Maste to chair the group as Ed has been researching this topic for some time. For example, Ed gave a MeetBSD 2018 talk on the topic.</p>

<p>There is a variety of viewpoints within core regarding where and how to host a Git repository, however core feels that Git is the prudent path forward.</p>
</blockquote>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20190810123243" target="_blank" rel="nofollow noopener">OpenBSD 6.6 Beta tagged</a></h3>

<pre><code>CVSROOT:    /cvs
Module name:    src
Changes by:    deraadt@cvs.openbsd.org    2019/08/09 21:56:02

Modified files:
    etc/root : root.mail
    share/mk : sys.mk
    sys/arch/macppc/stand/tbxidata: bsd.tbxi
    sys/conf : newvers.sh
    sys/sys : param.h
    usr.bin/signify: signify.1

Log message:
move to 6.6-beta
</code></pre>

<p><a href="https://www.openbsd.org/66.html" target="_blank" rel="nofollow noopener">Preliminary release notes</a></p>

<p>Improved hardware support, including:</p>

<ul>
<li>clang(1) is now provided on powerpc.</li>
<li>IEEE 802.11 wireless stack improvements:</li>
<li>Generic network stack improvements:</li>
<li>Installer improvements:</li>
<li>Security improvements:</li>
<li>  + Routing daemons and other userland network improvements</li>
<li>  + The ntpd(8) daemon now gets and sets the clock in a secure way when booting even when a battery-backed clock is absent.</li>
<li>  + bgdp(8) improvements</li>
<li>  + Assorted improvements:</li>
<li>  + The filesystem buffer cache now more aggressively uses memory outside the DMA region, to improve cache performance on amd64 machines.</li>
<li>The BER API previously internal to ldap(1), ldapd(8), ypldap(8), and snmpd(8) has been moved into libutil. See ber_read_elements(3).</li>
<li>Support for specifying boot device in vm.conf(5).</li>
<li>OpenSMTPD 6.6.0</li>
<li>LibreSSL 3.0.X</li>
<li>API and Documentation Enhancements</li>
<li>Completed the port of RSA_METHOD accessors from the OpenSSL 1.1 API.</li>
<li>Documented undescribed options and removed unfunctional options description in openssl(1) manual.</li>
<li>OpenSSH 8.0</li>
</ul>

<hr>

<h3><a href="https://project-trident.org/post/2019-09-04_stable12-u5_available/" target="_blank" rel="nofollow noopener">Project Trident 12-U5 update now available</a></h3>

<blockquote>
<p>This is the fifth general package update to the STABLE release repository based upon TrueOS 12-Stable.</p>
</blockquote>

<ul>
<li>Package changes from Stable 12-U4</li>
<li><p>Package Summary</p>

<ul>
<li>New Packages: 20</li>
<li>Deleted Packages: 24</li>
<li>Updated Packages: 279</li>
</ul></li>
<li><p>New Packages (20)</p>

<ul>
<li>artemis (biology/artemis) : 17.0.1.11</li>
<li>catesc (games/catesc) : 0.6</li>
<li>dmlc-core (devel/dmlc-core) : 0.3.105</li>
<li>go-wtf (sysutils/go-wtf) : 0.20.0_1</li>
<li>instead (games/instead) : 3.3.0_1</li>
<li>lidarr (net-p2p/lidarr) : 0.6.2.883</li>
<li>minerbold (games/minerbold) : 1.4</li>
<li>onnx (math/onnx) : 1.5.0</li>
<li>openzwave-devel (comms/openzwave-devel) : 1.6.897</li>
<li>polkit-qt-1 (sysutils/polkit-qt) : 0.113.0_8</li>
<li>py36-traitsui (graphics/py-traitsui) : 6.1.2</li>
<li>rubygem-aws-sigv2 (devel/rubygem-aws-sigv2) : 1.0.1</li>
<li>rubygem-default_value_for32 (devel/rubygem-default_value_for32) : 3.2.0</li>
<li>rubygem-ffi110 (devel/rubygem-ffi110) : 1.10.0</li>
<li>rubygem-zeitwerk (devel/rubygem-zeitwerk) : 2.1.9</li>
<li>sems (net/sems) : 1.7.0.g20190822</li>
<li>skypat (devel/skypat) : 3.1.1</li>
<li>tvm (math/tvm) : 0.4.1440</li>
<li>vavoom (games/vavoom) : 1.33_15</li>
<li>vavoom-extras (games/vavoom-extras) : 1.30_4</li>
</ul></li>
<li><p>Deleted Packages (24)</p>

<ul>
<li>geeqie (graphics/geeqie) : Unknown reason</li>
<li>iriverter (multimedia/iriverter) : Unknown reason</li>
<li>kde5 (x11/kde5) : Unknown reason</li>
<li>kicad-doc (cad/kicad-doc) : Unknown reason</li>
<li>os-nozfs-buildworld (os/buildworld) : Unknown reason</li>
<li>os-nozfs-userland (os/userland) : Unknown reason</li>
<li>os-nozfs-userland-base (os/userland-base) : Unknown reason</li>
<li>os-nozfs-userland-base-bootstrap (os/userland-base-bootstrap) : Unknown reason</li>
<li>os-nozfs-userland-bin (os/userland-bin) : Unknown reason</li>
<li>os-nozfs-userland-boot (os/userland-boot) : Unknown reason</li>
<li>os-nozfs-userland-conf (os/userland-conf) : Unknown reason</li>
<li>os-nozfs-userland-debug (os/userland-debug) : Unknown reason</li>
<li>os-nozfs-userland-devtools (os/userland-devtools) : Unknown reason</li>
<li>os-nozfs-userland-docs (os/userland-docs) : Unknown reason</li>
<li>os-nozfs-userland-lib (os/userland-lib) : Unknown reason</li>
<li>os-nozfs-userland-lib32 (os/userland-lib32) : Unknown reason</li>
<li>os-nozfs-userland-lib32-development (os/userland-lib32-development) : Unknown reason</li>
<li>os-nozfs-userland-rescue (os/userland-rescue) : Unknown reason</li>
<li>os-nozfs-userland-sbin (os/userland-sbin) : Unknown reason</li>
<li>os-nozfs-userland-tests (os/userland-tests) : Unknown reason</li>
<li>photoprint (print/photoprint) : Unknown reason</li>
<li>plasma5-plasma (x11/plasma5-plasma) : Unknown reason</li>
<li>polkit-qt5 (sysutils/polkit-qt) : Unknown reason</li>
<li>secpanel (security/secpanel) : Unknown reason</li>
</ul></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2019/09/10/23472.html" target="_blank" rel="nofollow noopener">DragonFlyBSD - msdosfs updates</a></li>
<li><a href="https://science.sciencemag.org/content/365/6455/834.full" target="_blank" rel="nofollow noopener">Stand out as a speaker</a></li>
<li><a href="http://akpoff.com/archive/2019/not_a_review_of_the_lenovo_x1c7.html" target="_blank" rel="nofollow noopener">Not a review of the 7th Gen X1 Carbon</a></li>
<li><a href="https://www.tfir.io/2019/08/24/freebsd-meets-linux-at-the-open-source-summit/" target="_blank" rel="nofollow noopener">FreeBSD Meets Linux At The Open Source Summit</a></li>
<li><a href="https://blog.bi0s.in/2019/08/24/Pwn/VM-Escape/2019-07-29-qemu-vm-escape-cve-2019-14378/" target="_blank" rel="nofollow noopener">QEMU VM Escape</a></li>
<li><a href="http://blog.netbsd.org/tnf/entry/porting_wine_to_amd64_on1" target="_blank" rel="nofollow noopener">Porting wine to amd64 on NetBSD, third evaluation report.</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20190911113856" target="_blank" rel="nofollow noopener">OpenBSD disabled DoH by default in Firefox</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Reinis - <a href="http://dpaste.com/0SG8630#wrap" target="_blank" rel="nofollow noopener">GELI with UEFI</a></li>
<li>Mason - <a href="http://dpaste.com/1FQN173" target="_blank" rel="nofollow noopener">Beeping</a></li>
</ul>

<p>[CHVT feedback]<br>
DJ - <a href="http://dpaste.com/08M3XNH#wrap" target="_blank" rel="nofollow noopener">Feedback</a><br>
Ben - <a href="http://dpaste.com/274RVCE#wrap" target="_blank" rel="nofollow noopener">chvt</a><br>
Harri - <a href="http://dpaste.com/23R1YMK#wrap" target="_blank" rel="nofollow noopener">Marc's chvt question</a></p>

<hr>

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

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0316.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>NetBSD LLVM sanitizers and GDB regression test suite, Ada—The Language of Cost Savings, Homura - a Windows Games Launcher for FreeBSD, FreeBSD core team appoints a WG to explore transition to Git, OpenBSD 6.6 Beta tagged, Project Trident 12-U5 update now available, and more.</p>

<h2>Headlines</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/llvm_santizers_and_gdb_regression" target="_blank" rel="nofollow noopener">LLVM santizers and GDB regression test suite.</a></h3>

<blockquote>
<p>As NetBSD-9 is branched, I have been asked to finish the LLVM sanitizer integration. This work is now accomplished and with MKLLVM=yes build option (by default off), the distribution will be populated with LLVM files for ASan, TSan, MSan, UBSan, libFuzzer, SafeStack and XRay.</p>

<p>I have also transplanted basesystem GDB patched to my GDB repository and managed to run the GDB regression test-suite.</p>
</blockquote>

<ul>
<li>NetBSD distribution changes</li>
</ul>

<blockquote>
<p>I have enhanced and imported my local MKSANITIZER code that makes whole distribution sanitization possible. Few real bugs were fixed and a number of patches were newly written to reflect the current NetBSD sources state. I have also merged another chunk of the fruits of the GSoC-2018 project with fuzzing the userland (by plusun@).</p>
</blockquote>

<ul>
<li>The following changes were committed to the sources:

<ul>
<li>ab7de18d0283 Cherry-pick upstream compiler-rt patches for LLVM sanitizers</li>
<li>966c62a34e30 Add LLVM sanitizers in the MKLLVM=yes build</li>
<li>8367b667adb9 telnetd: Stop defining the same variables concurrently in bss and data</li>
<li>fe72740f64bf fsck: Stop defining the same variable concurrently in bss and data</li>
<li>40e89e890d66 Fix build of t_ubsan/t_ubsanxx under MKSANITIZER</li>
<li>b71326fd7b67 Avoid symbol clashes in tests/usr.bin/id under MKSANITIZER</li>
<li>c581f2e39fa5 Avoid symbol clashes in fs/nfs/nfsservice under MKSANITIZER</li>
<li>030a4686a3c6 Avoid symbol clashes in bin/df under MKSANITIZER</li>
<li>fd9679f6e8b1 Avoid symbol clashes in usr.sbin/ypserv/ypserv under MKSANITIZER</li>
<li>5df2d7939ce3 Stop defining _rpcsvcdirty in bss and data</li>
<li>5fafbe8b8f64 Add missing extern declaration of ib_mach_emips in installboot</li>
<li>d134584be69a Add SANITIZER_RENAME_CLASSES in bsd.prog.mk</li>
<li>2d00d9b08eae Adapt tests/kernel/t_subr_prf for MKSANITIZER</li>
<li>ce54363fe452 Ship with sanitizer/lsan_interface.h for GCC 7</li>
<li>7bd5ee95e9a0 Ship with sanitizer/lsan_interface.h for LLVM 7</li>
<li>d8671fba7a78 Set NODEBUG for LLVM sanitizers</li>
<li>242cd44890a2 Add PAXCTL_FLAG rules for MKSANITIZER</li>
<li>5e80ab99d9ce Avoid symbol clashes in test/rump/modautoload/t_modautoload with sanitizers</li>
<li>e7ce7ecd9c2a sysctl: Add indirection of symbols to remove clash with sanitizers</li>
<li>231aea846aba traceroute: Add indirection of symbol to remove clash with sanitizers</li>
<li>8d85053f487c sockstat: Add indirection of symbols to remove clash with sanitizers</li>
<li>81b333ab151a netstat: Add indirection of symbols to remove clash with sanitizers</li>
<li>a472baefefe8 Correct the memset(3)'s third argument in i386 biosdisk.c</li>
<li>7e4e92115bc3 Add ATF c and c++ tests for TSan, MSan, libFuzzer</li>
<li>921ddc9bc97c Set NOSANITIZER in i386 ramdisk image</li>
<li>64361771c78d Enhance MKSANITIZER support</li>
<li>3b5608f80a2b Define target_not_supported_body() in TSan, MSan and libFuzzer tests</li>
<li>c27f4619d513 Avoids signedness bit shift in db_get_value()</li>
<li>680c5b3cc24f Fix LLVM sanitizer build by GCC (HAVE_LLVM=no)</li>
<li>4ecfbbba2f2a Rework the LLVM compiler_rt build rules</li>
<li>748813da5547 Correct the build rules of LLVM sanitizers</li>
<li>20e223156dee Enhance the support of LLVM sanitizers</li>
<li>0bb38eb2f20d Register syms.extra in LLVM sanitizer .syms files</li>
<li>Almost all of the mentioned commits were backported to NetBSD-9 and will land 9.0.</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://github.com/Alexander88207/Homura" target="_blank" rel="nofollow noopener">Homura - a Windows Games Launcher for FreeBSD</a></h3>

<blockquote>
<p>Inspired by lutris (a Linux gaming platform), we would like to provide a game launcher to play windows games on FreeBSD.</p>
</blockquote>

<ul>
<li>Makes it easier to run games on FreeBSD, by providing the tweaks and dependencies for you</li>
<li>Dependencies

<ul>
<li>curl</li>
<li>bash</li>
<li>p7zip</li>
<li>zenity</li>
<li>webfonts</li>
<li>alsa-utils (Optional)</li>
<li>winetricks</li>
<li>vulkan-tools</li>
<li>mesa-demos</li>
<li>i386-wine-devel on amd64 or wine-devel on i386</li>
</ul></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.electronicdesign.com/embedded-revolution/ada-language-cost-savings" target="_blank" rel="nofollow noopener">Ada—The Language of Cost Savings?</a></h3>

<blockquote>
<p>Many myths surround the Ada programming language, but it continues to be used and evolve at the same time. And while the increased adoption of Ada and SPARK, its provable subset, is slow, it’s noticeable. Ada already addresses more of the features found in found in heavily used embedded languages like C+ and C#. It also tackles problems addressed by upcoming languages like Rust.</p>

<p>Chris concludes, “Development technologies have a profound impact on one of the largest and most variable costs associated with embedded-system engineering—labor. At a time when on-time system deployment can not only impact customer satisfaction, but access to services revenue streams, engineering team efficiency is at a premium. Our research showed that programming language choices can have significant influence in this area, leading to shorter projects, better schedules and, ultimately, lower development costs. While a variety of factors can influence and dictate language choice, our research showed that Ada’s evolution has made it an increasingly compelling option for engineering organizations, providing both technically and financially sound solution.”</p>

<p>In general, Ada already makes embedded “programming in the large” much easier by handling issues that aren’t even addressed in other languages. Though these features are often provided by third-party software, it results in inconsistent practices among developers. Ada also supports the gamut of embedded platforms from systems like Arm’s Cortex-M through supercomputers. Learning Ada isn’t as hard as one might think and the benefits can be significant.</p>
</blockquote>

<hr>

<h3><a href="https://www.freebsd.org/news/status/report-2019-04-2019-06.html#FreeBSD-Core-Team" target="_blank" rel="nofollow noopener">FreeBSD core team appoints a WG to explore transitioning from Subversion to Git.</a></h3>

<ul>
<li>The FreeBSD Core Team is the governing body of FreeBSD.</li>
</ul>

<blockquote>
<p>Core approved source commit bits for Doug Moore (dougm), Chuck Silvers (chs), Brandon Bergren (bdragon), and a vendor commit bit for Scott Phillips (scottph).</p>

<p>The annual developer survey closed on 2019-04-02. Of the 397 developers, 243 took the survey with an average completion time of 12 minutes. The public survey closed on 2019-05-13. It was taken by 3637 users and had a 79% completion rate. A presentation of the survey results took place at BSDCan 2019.</p>

<p>The core team voted to appoint a working group to explore transitioning our source code 'source of truth' from Subversion to Git. Core asked Ed Maste to chair the group as Ed has been researching this topic for some time. For example, Ed gave a MeetBSD 2018 talk on the topic.</p>

<p>There is a variety of viewpoints within core regarding where and how to host a Git repository, however core feels that Git is the prudent path forward.</p>
</blockquote>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20190810123243" target="_blank" rel="nofollow noopener">OpenBSD 6.6 Beta tagged</a></h3>

<pre><code>CVSROOT:    /cvs
Module name:    src
Changes by:    deraadt@cvs.openbsd.org    2019/08/09 21:56:02

Modified files:
    etc/root : root.mail
    share/mk : sys.mk
    sys/arch/macppc/stand/tbxidata: bsd.tbxi
    sys/conf : newvers.sh
    sys/sys : param.h
    usr.bin/signify: signify.1

Log message:
move to 6.6-beta
</code></pre>

<p><a href="https://www.openbsd.org/66.html" target="_blank" rel="nofollow noopener">Preliminary release notes</a></p>

<p>Improved hardware support, including:</p>

<ul>
<li>clang(1) is now provided on powerpc.</li>
<li>IEEE 802.11 wireless stack improvements:</li>
<li>Generic network stack improvements:</li>
<li>Installer improvements:</li>
<li>Security improvements:</li>
<li>  + Routing daemons and other userland network improvements</li>
<li>  + The ntpd(8) daemon now gets and sets the clock in a secure way when booting even when a battery-backed clock is absent.</li>
<li>  + bgdp(8) improvements</li>
<li>  + Assorted improvements:</li>
<li>  + The filesystem buffer cache now more aggressively uses memory outside the DMA region, to improve cache performance on amd64 machines.</li>
<li>The BER API previously internal to ldap(1), ldapd(8), ypldap(8), and snmpd(8) has been moved into libutil. See ber_read_elements(3).</li>
<li>Support for specifying boot device in vm.conf(5).</li>
<li>OpenSMTPD 6.6.0</li>
<li>LibreSSL 3.0.X</li>
<li>API and Documentation Enhancements</li>
<li>Completed the port of RSA_METHOD accessors from the OpenSSL 1.1 API.</li>
<li>Documented undescribed options and removed unfunctional options description in openssl(1) manual.</li>
<li>OpenSSH 8.0</li>
</ul>

<hr>

<h3><a href="https://project-trident.org/post/2019-09-04_stable12-u5_available/" target="_blank" rel="nofollow noopener">Project Trident 12-U5 update now available</a></h3>

<blockquote>
<p>This is the fifth general package update to the STABLE release repository based upon TrueOS 12-Stable.</p>
</blockquote>

<ul>
<li>Package changes from Stable 12-U4</li>
<li><p>Package Summary</p>

<ul>
<li>New Packages: 20</li>
<li>Deleted Packages: 24</li>
<li>Updated Packages: 279</li>
</ul></li>
<li><p>New Packages (20)</p>

<ul>
<li>artemis (biology/artemis) : 17.0.1.11</li>
<li>catesc (games/catesc) : 0.6</li>
<li>dmlc-core (devel/dmlc-core) : 0.3.105</li>
<li>go-wtf (sysutils/go-wtf) : 0.20.0_1</li>
<li>instead (games/instead) : 3.3.0_1</li>
<li>lidarr (net-p2p/lidarr) : 0.6.2.883</li>
<li>minerbold (games/minerbold) : 1.4</li>
<li>onnx (math/onnx) : 1.5.0</li>
<li>openzwave-devel (comms/openzwave-devel) : 1.6.897</li>
<li>polkit-qt-1 (sysutils/polkit-qt) : 0.113.0_8</li>
<li>py36-traitsui (graphics/py-traitsui) : 6.1.2</li>
<li>rubygem-aws-sigv2 (devel/rubygem-aws-sigv2) : 1.0.1</li>
<li>rubygem-default_value_for32 (devel/rubygem-default_value_for32) : 3.2.0</li>
<li>rubygem-ffi110 (devel/rubygem-ffi110) : 1.10.0</li>
<li>rubygem-zeitwerk (devel/rubygem-zeitwerk) : 2.1.9</li>
<li>sems (net/sems) : 1.7.0.g20190822</li>
<li>skypat (devel/skypat) : 3.1.1</li>
<li>tvm (math/tvm) : 0.4.1440</li>
<li>vavoom (games/vavoom) : 1.33_15</li>
<li>vavoom-extras (games/vavoom-extras) : 1.30_4</li>
</ul></li>
<li><p>Deleted Packages (24)</p>

<ul>
<li>geeqie (graphics/geeqie) : Unknown reason</li>
<li>iriverter (multimedia/iriverter) : Unknown reason</li>
<li>kde5 (x11/kde5) : Unknown reason</li>
<li>kicad-doc (cad/kicad-doc) : Unknown reason</li>
<li>os-nozfs-buildworld (os/buildworld) : Unknown reason</li>
<li>os-nozfs-userland (os/userland) : Unknown reason</li>
<li>os-nozfs-userland-base (os/userland-base) : Unknown reason</li>
<li>os-nozfs-userland-base-bootstrap (os/userland-base-bootstrap) : Unknown reason</li>
<li>os-nozfs-userland-bin (os/userland-bin) : Unknown reason</li>
<li>os-nozfs-userland-boot (os/userland-boot) : Unknown reason</li>
<li>os-nozfs-userland-conf (os/userland-conf) : Unknown reason</li>
<li>os-nozfs-userland-debug (os/userland-debug) : Unknown reason</li>
<li>os-nozfs-userland-devtools (os/userland-devtools) : Unknown reason</li>
<li>os-nozfs-userland-docs (os/userland-docs) : Unknown reason</li>
<li>os-nozfs-userland-lib (os/userland-lib) : Unknown reason</li>
<li>os-nozfs-userland-lib32 (os/userland-lib32) : Unknown reason</li>
<li>os-nozfs-userland-lib32-development (os/userland-lib32-development) : Unknown reason</li>
<li>os-nozfs-userland-rescue (os/userland-rescue) : Unknown reason</li>
<li>os-nozfs-userland-sbin (os/userland-sbin) : Unknown reason</li>
<li>os-nozfs-userland-tests (os/userland-tests) : Unknown reason</li>
<li>photoprint (print/photoprint) : Unknown reason</li>
<li>plasma5-plasma (x11/plasma5-plasma) : Unknown reason</li>
<li>polkit-qt5 (sysutils/polkit-qt) : Unknown reason</li>
<li>secpanel (security/secpanel) : Unknown reason</li>
</ul></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2019/09/10/23472.html" target="_blank" rel="nofollow noopener">DragonFlyBSD - msdosfs updates</a></li>
<li><a href="https://science.sciencemag.org/content/365/6455/834.full" target="_blank" rel="nofollow noopener">Stand out as a speaker</a></li>
<li><a href="http://akpoff.com/archive/2019/not_a_review_of_the_lenovo_x1c7.html" target="_blank" rel="nofollow noopener">Not a review of the 7th Gen X1 Carbon</a></li>
<li><a href="https://www.tfir.io/2019/08/24/freebsd-meets-linux-at-the-open-source-summit/" target="_blank" rel="nofollow noopener">FreeBSD Meets Linux At The Open Source Summit</a></li>
<li><a href="https://blog.bi0s.in/2019/08/24/Pwn/VM-Escape/2019-07-29-qemu-vm-escape-cve-2019-14378/" target="_blank" rel="nofollow noopener">QEMU VM Escape</a></li>
<li><a href="http://blog.netbsd.org/tnf/entry/porting_wine_to_amd64_on1" target="_blank" rel="nofollow noopener">Porting wine to amd64 on NetBSD, third evaluation report.</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20190911113856" target="_blank" rel="nofollow noopener">OpenBSD disabled DoH by default in Firefox</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Reinis - <a href="http://dpaste.com/0SG8630#wrap" target="_blank" rel="nofollow noopener">GELI with UEFI</a></li>
<li>Mason - <a href="http://dpaste.com/1FQN173" target="_blank" rel="nofollow noopener">Beeping</a></li>
</ul>

<p>[CHVT feedback]<br>
DJ - <a href="http://dpaste.com/08M3XNH#wrap" target="_blank" rel="nofollow noopener">Feedback</a><br>
Ben - <a href="http://dpaste.com/274RVCE#wrap" target="_blank" rel="nofollow noopener">chvt</a><br>
Harri - <a href="http://dpaste.com/23R1YMK#wrap" target="_blank" rel="nofollow noopener">Marc's chvt question</a></p>

<hr>

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

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0316.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>315: Recapping vBSDcon 2019</title>
  <link>https://www.bsdnow.tv/315</link>
  <guid isPermaLink="false">7b9117e9-57d1-48ae-8ceb-d92cabe2a2bd</guid>
  <pubDate>Thu, 12 Sep 2019 01:45:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/7b9117e9-57d1-48ae-8ceb-d92cabe2a2bd.mp3" length="55391213" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>vBSDcon 2019 recap, Unix at 50, OpenBSD on fan-less Tuxedo InfinityBook, humungus - an hg server, how to configure a network dump in FreeBSD, and more.</itunes:subtitle>
  <itunes:duration>1:16:55</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>&lt;p&gt;vBSDcon 2019 recap, Unix at 50, OpenBSD on fan-less Tuxedo InfinityBook, humungus - an hg server, how to configure a network dump in FreeBSD, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;vBSDcon Recap&lt;/h3&gt;

&lt;p&gt;Allan and Benedict attended vBSDcon 2019, which ended last week.&lt;/p&gt;

&lt;p&gt;It was held again at the Hyatt Regency Reston and the main conference was organized by Dan Langille of BSDCan fame.The two day conference was preceded by a one day FreeBSD hackathon, where FreeBSD developers had the chance to work on patches and PRs. In the evening, a reception was held to welcome attendees and give them a chance to chat and get to know each other over food and drinks.&lt;/p&gt;

&lt;p&gt;The first day of the conference was opened with a Keynote by Paul Vixie about DNS over HTTPS (DoH). He explained how we got to the current state and what challenges (technical and social) this entails.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you missed this talk and are dying to see it, it will also be presented at EuroBSDCon next week&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;John Baldwin followed up by giving an overview of the work on “In-Kernel TLS Framing and Encryption for FreeBSD” &lt;a href="https://www.vbsdcon.com/schedule/2019-09-06.html#talk:132615" target="_blank" rel="nofollow noopener"&gt;abstract&lt;/a&gt; and the recent commit we covered in episode 313.&lt;/p&gt;

&lt;p&gt;Meanwhile, Brian Callahan was giving a separate session in another room about “Learning to (Open)BSD through its porting system: an attendee-driven educational session” where people had the chance to learn about how to create ports for the BSDs.&lt;/p&gt;

&lt;p&gt;David Fullard’s talk about “Transitioning from FreeNAS to FreeBSD” was his first talk at a BSD conference and described how he built his own home NAS setup trying to replicate FreeNAS’ functionality on FreeBSD, and why he transitioned from using an appliance to using vanilla FreeBSD.&lt;/p&gt;

&lt;p&gt;Shawn Webb followed with his overview talk about the “State of the Hardened Union”. &lt;/p&gt;

&lt;p&gt;Benedict’s talk about “Replacing an Oracle Server with FreeBSD, OpenZFS, and PostgreSQL” was well received as people are interested in how we liberated ourselves from the clutches of Oracle without compromising functionality.&lt;/p&gt;

&lt;p&gt;Entertaining and educational at the same time, Michael W. Lucas talk about “Twenty Years in Jail: FreeBSD Jails, Then and Now” closed the first day. Lucas also had a table in the hallway with his various tech and non-tech books for sale.&lt;/p&gt;

&lt;p&gt;People formed small groups and went into town for dinner. Some returned later that night to some work in the hacker lounge or talk amongst fellow BSD enthusiasts. &lt;/p&gt;

&lt;p&gt;Colin Percival was the keynote speaker for the second day and had an in-depth look at “23 years of software side channel attacks”.&lt;/p&gt;

&lt;p&gt;Allan reprised his “ELI5: ZFS Caching” talk explaining how the ZFS adaptive replacement cache (ARC) work and how it can be tuned for various workloads.&lt;/p&gt;

&lt;p&gt;“By the numbers: ZFS Performance Results from Six Operating Systems and Their Derivatives” by Michael Dexter followed with his approach to benchmarking OpenZFS on various platforms.&lt;/p&gt;

&lt;p&gt;Conor Beh was also a new speaker to vBSDcon. His talk was about “FreeBSD at Work: Building Network and Storage Infrastructure with pfSense and FreeNAS”.&lt;/p&gt;

&lt;p&gt;Two OpenBSD talks closed the talk session: Kurt Mosiejczuk with “Care and Feeding of OpenBSD Porters” and Aaron Poffenberger with “Road Warrior Disaster Recovery: Secure, Synchronized, and Backed-up”.&lt;/p&gt;

&lt;p&gt;A dinner and reception was enjoyed by the attendees and gave more time to discuss the talks given and other things until late at night.&lt;/p&gt;

&lt;p&gt;We want to thank the vBSDcon organizers and especially Dan Langille for running such a great conference. We are grateful to Verisign as the main sponsor and The FreeBSD Foundation for sponsoring the tote bags. Thanks to all the speakers and attendees!&lt;/p&gt;

&lt;h3&gt;&lt;a href="https://humungus.tedunangst.com/r/humungus" target="_blank" rel="nofollow noopener"&gt;humungus - an hg server&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Features

&lt;ul&gt;
&lt;li&gt;View changes, files, changesets, etc. Some syntax highlighting.&lt;/li&gt;
&lt;li&gt;Read only.&lt;/li&gt;
&lt;li&gt;Serves multiple repositories.&lt;/li&gt;
&lt;li&gt;Allows cloning via the obvious URL. Supports go get.&lt;/li&gt;
&lt;li&gt;Serves files for downloads.&lt;/li&gt;
&lt;li&gt;Online documentation via mandoc.&lt;/li&gt;
&lt;li&gt;Terminal based admin interface.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://hazardous.org/archive/blog/openbsd/2019/09/02/OpenBSD-on-Infinitybook14" target="_blank" rel="nofollow noopener"&gt;OpenBSD on fan-less Tuxedo InfinityBook 14″ v2.&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The InfinityBook 14” v2 is a fanless 14” notebook. It is an excellent choice for running OpenBSD - but order it with the supported wireless card (see below.).&lt;/p&gt;

&lt;p&gt;I’ve set it up in a dual-boot configuration so that I can switch between Linux and OpenBSD - mainly to spot differences in the drivers. TUXEDO allows a variety of configurations through their webshop.&lt;/p&gt;

&lt;p&gt;The dual boot setup with grub2 and EFI boot will be covered in a separate blogpost. My tests were done with OpenBSD-current - which is as of writing flagged as 6.6-beta.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See Article for breakdown of CPU, Wireless, Video, Webcam, Audio, ACPI, Battery, Touchpad, and MicroSD Card Reader&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://arstechnica.com/gadgets/2019/08/unix-at-50-it-starts-with-a-mainframe-a-gator-and-three-dedicated-researchers/" target="_blank" rel="nofollow noopener"&gt;Unix at 50: How the OS that powered smartphones started from failure&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Maybe its pervasiveness has long obscured its origins. But Unix, the operating system that in one derivative or another powers nearly all smartphones sold worldwide, was born 50 years ago from the failure of an ambitious project that involved titans like Bell Labs, GE, and MIT. Largely the brainchild of a few programmers at Bell Labs, the unlikely story of Unix begins with a meeting on the top floor of an otherwise unremarkable annex at the sprawling Bell Labs complex in Murray Hill, New Jersey.&lt;/p&gt;

&lt;p&gt;It was a bright, cold Monday, the last day of March 1969, and the computer sciences department was hosting distinguished guests: Bill Baker, a Bell Labs vice president, and Ed David, the director of research. Baker was about to pull the plug on Multics (a condensed form of MULTiplexed Information and Computing Service), a software project that the computer sciences department had been working on for four years. Multics was two years overdue, way over budget, and functional only in the loosest possible understanding of the term.&lt;/p&gt;

&lt;p&gt;Trying to put the best spin possible on what was clearly an abject failure, Baker gave a speech in which he claimed that Bell Labs had accomplished everything it was trying to accomplish in Multics and that they no longer needed to work on the project. As Berk Tague, a staffer present at the meeting, later told Princeton University, “Like Vietnam, he declared victory and got out of Multics.”&lt;/p&gt;

&lt;p&gt;Within the department, this announcement was hardly unexpected. The programmers were acutely aware of the various issues with both the scope of the project and the computer they had been asked to build it for.&lt;/p&gt;

&lt;p&gt;Still, it was something to work on, and as long as Bell Labs was working on Multics, they would also have a $7 million mainframe computer to play around with in their spare time. Dennis Ritchie, one of the programmers working on Multics, later said they all felt some stake in the success of the project, even though they knew the odds of that success were exceedingly remote.&lt;/p&gt;

&lt;p&gt;Cancellation of Multics meant the end of the only project that the programmers in the Computer science department had to work on—and it also meant the loss of the only computer in the Computer science department. After the GE 645 mainframe was taken apart and hauled off, the computer science department’s resources were reduced to little more than office supplies and a few terminals.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Some of Allan’s favourite excerpts:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In the early '60s, Bill Ninke, a researcher in acoustics, had demonstrated a rudimentary graphical user interface with a DEC PDP-7 minicomputer. Acoustics still had that computer, but they weren’t using it and had stuck it somewhere out of the way up on the sixth floor.&lt;/p&gt;

&lt;p&gt;And so Thompson, an indefatigable explorer of the labs’ nooks and crannies, finally found that PDP-7 shortly after Davis and Baker cancelled Multics.&lt;/p&gt;

&lt;p&gt;With the rest of the team’s help, Thompson bundled up the various pieces of the PDP-7—a machine about the size of a refrigerator, not counting the terminal—moved it into a closet assigned to the acoustics department, and got it up and running. One way or another, they convinced acoustics to provide space for the computer and also to pay for the not infrequent repairs to it out of that department’s budget.&lt;/p&gt;

&lt;p&gt;McIlroy’s programmers suddenly had a computer, kind of. So during the summer of 1969, Thompson, Ritchie, and Canaday hashed out the basics of a file manager that would run on the PDP-7. This was no simple task. Batch computing—running programs one after the other—rarely required that a computer be able to permanently store information, and many mainframes did not have any permanent storage device (whether a tape or a hard disk) attached to them. But the time-sharing environment that these programmers had fallen in love with required attached storage. And with multiple users connected to the same computer at the same time, the file manager had to be written well enough to keep one user’s files from being written over another user’s. When a file was read, the output from that file had to be sent to the user that was opening it.&lt;/p&gt;

&lt;p&gt;It was a challenge that McIlroy’s team was willing to accept. They had seen the future of computing and wanted to explore it. They knew that Multics was a dead-end, but they had discovered the possibilities opened up by shared development, shared access, and real-time computing. Twenty years later, Ritchie characterized it for Princeton as such: “What we wanted to preserve was not just a good environment in which to do programming, but a system around which a fellowship could form.”&lt;/p&gt;

&lt;p&gt;Eventually when they had the file management system more or less fleshed out conceptually, it came time to actually write the code. The trio—all of whom had terrible handwriting—decided to use the Labs’ dictating service. One of them called up a lab extension and dictated the entire code base into a tape recorder. And thus, some unidentified clerical worker or workers soon had the unenviable task of trying to convert that into a typewritten document.&lt;/p&gt;

&lt;p&gt;Of course, it was done imperfectly. Among various errors, “inode” came back as “eye node,” but the output was still viewed as a decided improvement over their assorted scribbles.&lt;/p&gt;

&lt;p&gt;In August 1969, Thompson’s wife and son went on a three-week vacation to see her family out in Berkeley, and Thompson decided to spend that time writing an assembler, a file editor, and a kernel to manage the PDP-7 processor. This would turn the group’s file manager into a full-fledged operating system. He generously allocated himself one week for each task.&lt;/p&gt;

&lt;p&gt;Thompson finished his tasks more or less on schedule. And by September, the computer science department at Bell Labs had an operating system running on a PDP-7—and it wasn’t Multics.&lt;/p&gt;

&lt;p&gt;By the summer of 1970, the team had attached a tape drive to the PDP-7, and their blossoming OS also had a growing selection of tools for programmers (several of which persist down to this day). But despite the successes, Thompson, Canaday, and Ritchie were still being rebuffed by labs management in their efforts to get a brand-new computer.&lt;/p&gt;

&lt;p&gt;It wasn’t until late 1971 that the computer science department got a truly modern computer. The Unix team had developed several tools designed to automatically format text files for printing over the past year or so. They had done so to simplify the production of documentation for their pet project, but their tools had escaped and were being used by several researchers elsewhere on the top floor. At the same time, the legal department was prepared to spend a fortune on a mainframe program called “AstroText.” Catching wind of this, the Unix crew realized that they could, with only a little effort, upgrade the tools they had written for their own use into something that the legal department could use to prepare patent applications.&lt;/p&gt;

&lt;p&gt;The computer science department pitched lab management on the purchase of a DEC PDP-11 for document production purposes, and Max Mathews offered to pay for the machine out of the acoustics department budget. Finally, management gave in and purchased a computer for the Unix team to play with. Eventually, word leaked out about this operating system, and businesses and institutions with PDP-11s began contacting Bell Labs about their new operating system. The Labs made it available for free—requesting only the cost of postage and media from anyone who wanted a copy.&lt;/p&gt;

&lt;p&gt;The rest has quite literally made tech history.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the link for the rest of the article&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.oshogbo.vexillium.org/blog/68/" target="_blank" rel="nofollow noopener"&gt;How to configure a network dump in FreeBSD?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A network dump might be very useful for collecting kernel crash dumps from embedded machines and machines with a larger amount of RAM then available swap partition size. Besides net dumps we can also try to compress the core dump. However, often this may still not be enough swap to keep whole core dump. In such situation using network dump is a convenient and reliable way for collecting kernel dump.&lt;/p&gt;

&lt;p&gt;So, first, let’s talk a little bit about history. The first implementation of the network dumps was implemented around 2000 for the FreeBSD 4.x as a kernel module. The code was implemented in 2010 with the intention of being part of FreeBSD 9.0. However, the code never landed in FreeBSD. Finally, in 2018 with the commit r333283 by Mark Johnston the netdump client code landed in the FreeBSD. Subsequently, many other commitments were then implemented to add support for the different drivers (for example r333289). The first official release of FreeBSD, which support netdump is FreeBSD 12.0.&lt;/p&gt;

&lt;p&gt;Now, let’s get back to the main topic. How to configure the network dump? Two machines are needed. One machine is to collect core dump, let’s call it server. We will use the second one to send us the core dump - the client. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the link for the rest of the article&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/4530" target="_blank" rel="nofollow noopener"&gt;Sudo Mastery 2nd edition is not out&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://users.utu.fi/kakrind/publications/19/vulnfuzz_camera.pdf" target="_blank" rel="nofollow noopener"&gt;Empirical Notes on the Interaction Between Continuous Kernel Fuzzing and Development&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ozkl/soso" target="_blank" rel="nofollow noopener"&gt;soso&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/gUqcMs0svNU?t=254" target="_blank" rel="nofollow noopener"&gt;GregKH - OpenBSD was right&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gameoftrees.org/faq.html" target="_blank" rel="nofollow noopener"&gt;Game of Trees&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;BostJan - &lt;a href="http://dpaste.com/1ZPCCQY#wrap" target="_blank" rel="nofollow noopener"&gt;Another Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tom - &lt;a href="http://dpaste.com/3ZSCB8N#wrap" target="_blank" rel="nofollow noopener"&gt;PF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;JohnnyK - &lt;a href="http://dpaste.com/3QZQ7Q5#wrap" target="_blank" rel="nofollow noopener"&gt;Changing VT without keys&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0315.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, vBSDcon 2019, fan-less, fanless, tuxedo, infinitybook, tuxedo infinitybook, humungus, hg, hg server, network dump, configure, configuration</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>vBSDcon 2019 recap, Unix at 50, OpenBSD on fan-less Tuxedo InfinityBook, humungus - an hg server, how to configure a network dump in FreeBSD, and more.</p>

<h2>Headlines</h2>

<h3>vBSDcon Recap</h3>

<p>Allan and Benedict attended vBSDcon 2019, which ended last week.</p>

<p>It was held again at the Hyatt Regency Reston and the main conference was organized by Dan Langille of BSDCan fame.The two day conference was preceded by a one day FreeBSD hackathon, where FreeBSD developers had the chance to work on patches and PRs. In the evening, a reception was held to welcome attendees and give them a chance to chat and get to know each other over food and drinks.</p>

<p>The first day of the conference was opened with a Keynote by Paul Vixie about DNS over HTTPS (DoH). He explained how we got to the current state and what challenges (technical and social) this entails.</p>

<ul>
<li>If you missed this talk and are dying to see it, it will also be presented at EuroBSDCon next week</li>
</ul>

<p>John Baldwin followed up by giving an overview of the work on “In-Kernel TLS Framing and Encryption for FreeBSD” <a href="https://www.vbsdcon.com/schedule/2019-09-06.html#talk:132615" target="_blank" rel="nofollow noopener">abstract</a> and the recent commit we covered in episode 313.</p>

<p>Meanwhile, Brian Callahan was giving a separate session in another room about “Learning to (Open)BSD through its porting system: an attendee-driven educational session” where people had the chance to learn about how to create ports for the BSDs.</p>

<p>David Fullard’s talk about “Transitioning from FreeNAS to FreeBSD” was his first talk at a BSD conference and described how he built his own home NAS setup trying to replicate FreeNAS’ functionality on FreeBSD, and why he transitioned from using an appliance to using vanilla FreeBSD.</p>

<p>Shawn Webb followed with his overview talk about the “State of the Hardened Union”. </p>

<p>Benedict’s talk about “Replacing an Oracle Server with FreeBSD, OpenZFS, and PostgreSQL” was well received as people are interested in how we liberated ourselves from the clutches of Oracle without compromising functionality.</p>

<p>Entertaining and educational at the same time, Michael W. Lucas talk about “Twenty Years in Jail: FreeBSD Jails, Then and Now” closed the first day. Lucas also had a table in the hallway with his various tech and non-tech books for sale.</p>

<p>People formed small groups and went into town for dinner. Some returned later that night to some work in the hacker lounge or talk amongst fellow BSD enthusiasts. </p>

<p>Colin Percival was the keynote speaker for the second day and had an in-depth look at “23 years of software side channel attacks”.</p>

<p>Allan reprised his “ELI5: ZFS Caching” talk explaining how the ZFS adaptive replacement cache (ARC) work and how it can be tuned for various workloads.</p>

<p>“By the numbers: ZFS Performance Results from Six Operating Systems and Their Derivatives” by Michael Dexter followed with his approach to benchmarking OpenZFS on various platforms.</p>

<p>Conor Beh was also a new speaker to vBSDcon. His talk was about “FreeBSD at Work: Building Network and Storage Infrastructure with pfSense and FreeNAS”.</p>

<p>Two OpenBSD talks closed the talk session: Kurt Mosiejczuk with “Care and Feeding of OpenBSD Porters” and Aaron Poffenberger with “Road Warrior Disaster Recovery: Secure, Synchronized, and Backed-up”.</p>

<p>A dinner and reception was enjoyed by the attendees and gave more time to discuss the talks given and other things until late at night.</p>

<p>We want to thank the vBSDcon organizers and especially Dan Langille for running such a great conference. We are grateful to Verisign as the main sponsor and The FreeBSD Foundation for sponsoring the tote bags. Thanks to all the speakers and attendees!</p>

<h3><a href="https://humungus.tedunangst.com/r/humungus" target="_blank" rel="nofollow noopener">humungus - an hg server</a></h3>

<ul>
<li>Features

<ul>
<li>View changes, files, changesets, etc. Some syntax highlighting.</li>
<li>Read only.</li>
<li>Serves multiple repositories.</li>
<li>Allows cloning via the obvious URL. Supports go get.</li>
<li>Serves files for downloads.</li>
<li>Online documentation via mandoc.</li>
<li>Terminal based admin interface.</li>
</ul></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://hazardous.org/archive/blog/openbsd/2019/09/02/OpenBSD-on-Infinitybook14" target="_blank" rel="nofollow noopener">OpenBSD on fan-less Tuxedo InfinityBook 14″ v2.</a></h3>

<blockquote>
<p>The InfinityBook 14” v2 is a fanless 14” notebook. It is an excellent choice for running OpenBSD - but order it with the supported wireless card (see below.).</p>

<p>I’ve set it up in a dual-boot configuration so that I can switch between Linux and OpenBSD - mainly to spot differences in the drivers. TUXEDO allows a variety of configurations through their webshop.</p>

<p>The dual boot setup with grub2 and EFI boot will be covered in a separate blogpost. My tests were done with OpenBSD-current - which is as of writing flagged as 6.6-beta.</p>
</blockquote>

<ul>
<li>See Article for breakdown of CPU, Wireless, Video, Webcam, Audio, ACPI, Battery, Touchpad, and MicroSD Card Reader</li>
</ul>

<hr>

<h3><a href="https://arstechnica.com/gadgets/2019/08/unix-at-50-it-starts-with-a-mainframe-a-gator-and-three-dedicated-researchers/" target="_blank" rel="nofollow noopener">Unix at 50: How the OS that powered smartphones started from failure</a></h3>

<blockquote>
<p>Maybe its pervasiveness has long obscured its origins. But Unix, the operating system that in one derivative or another powers nearly all smartphones sold worldwide, was born 50 years ago from the failure of an ambitious project that involved titans like Bell Labs, GE, and MIT. Largely the brainchild of a few programmers at Bell Labs, the unlikely story of Unix begins with a meeting on the top floor of an otherwise unremarkable annex at the sprawling Bell Labs complex in Murray Hill, New Jersey.</p>

<p>It was a bright, cold Monday, the last day of March 1969, and the computer sciences department was hosting distinguished guests: Bill Baker, a Bell Labs vice president, and Ed David, the director of research. Baker was about to pull the plug on Multics (a condensed form of MULTiplexed Information and Computing Service), a software project that the computer sciences department had been working on for four years. Multics was two years overdue, way over budget, and functional only in the loosest possible understanding of the term.</p>

<p>Trying to put the best spin possible on what was clearly an abject failure, Baker gave a speech in which he claimed that Bell Labs had accomplished everything it was trying to accomplish in Multics and that they no longer needed to work on the project. As Berk Tague, a staffer present at the meeting, later told Princeton University, “Like Vietnam, he declared victory and got out of Multics.”</p>

<p>Within the department, this announcement was hardly unexpected. The programmers were acutely aware of the various issues with both the scope of the project and the computer they had been asked to build it for.</p>

<p>Still, it was something to work on, and as long as Bell Labs was working on Multics, they would also have a $7 million mainframe computer to play around with in their spare time. Dennis Ritchie, one of the programmers working on Multics, later said they all felt some stake in the success of the project, even though they knew the odds of that success were exceedingly remote.</p>

<p>Cancellation of Multics meant the end of the only project that the programmers in the Computer science department had to work on—and it also meant the loss of the only computer in the Computer science department. After the GE 645 mainframe was taken apart and hauled off, the computer science department’s resources were reduced to little more than office supplies and a few terminals.</p>
</blockquote>

<ul>
<li>Some of Allan’s favourite excerpts:</li>
</ul>

<blockquote>
<p>In the early '60s, Bill Ninke, a researcher in acoustics, had demonstrated a rudimentary graphical user interface with a DEC PDP-7 minicomputer. Acoustics still had that computer, but they weren’t using it and had stuck it somewhere out of the way up on the sixth floor.</p>

<p>And so Thompson, an indefatigable explorer of the labs’ nooks and crannies, finally found that PDP-7 shortly after Davis and Baker cancelled Multics.</p>

<p>With the rest of the team’s help, Thompson bundled up the various pieces of the PDP-7—a machine about the size of a refrigerator, not counting the terminal—moved it into a closet assigned to the acoustics department, and got it up and running. One way or another, they convinced acoustics to provide space for the computer and also to pay for the not infrequent repairs to it out of that department’s budget.</p>

<p>McIlroy’s programmers suddenly had a computer, kind of. So during the summer of 1969, Thompson, Ritchie, and Canaday hashed out the basics of a file manager that would run on the PDP-7. This was no simple task. Batch computing—running programs one after the other—rarely required that a computer be able to permanently store information, and many mainframes did not have any permanent storage device (whether a tape or a hard disk) attached to them. But the time-sharing environment that these programmers had fallen in love with required attached storage. And with multiple users connected to the same computer at the same time, the file manager had to be written well enough to keep one user’s files from being written over another user’s. When a file was read, the output from that file had to be sent to the user that was opening it.</p>

<p>It was a challenge that McIlroy’s team was willing to accept. They had seen the future of computing and wanted to explore it. They knew that Multics was a dead-end, but they had discovered the possibilities opened up by shared development, shared access, and real-time computing. Twenty years later, Ritchie characterized it for Princeton as such: “What we wanted to preserve was not just a good environment in which to do programming, but a system around which a fellowship could form.”</p>

<p>Eventually when they had the file management system more or less fleshed out conceptually, it came time to actually write the code. The trio—all of whom had terrible handwriting—decided to use the Labs’ dictating service. One of them called up a lab extension and dictated the entire code base into a tape recorder. And thus, some unidentified clerical worker or workers soon had the unenviable task of trying to convert that into a typewritten document.</p>

<p>Of course, it was done imperfectly. Among various errors, “inode” came back as “eye node,” but the output was still viewed as a decided improvement over their assorted scribbles.</p>

<p>In August 1969, Thompson’s wife and son went on a three-week vacation to see her family out in Berkeley, and Thompson decided to spend that time writing an assembler, a file editor, and a kernel to manage the PDP-7 processor. This would turn the group’s file manager into a full-fledged operating system. He generously allocated himself one week for each task.</p>

<p>Thompson finished his tasks more or less on schedule. And by September, the computer science department at Bell Labs had an operating system running on a PDP-7—and it wasn’t Multics.</p>

<p>By the summer of 1970, the team had attached a tape drive to the PDP-7, and their blossoming OS also had a growing selection of tools for programmers (several of which persist down to this day). But despite the successes, Thompson, Canaday, and Ritchie were still being rebuffed by labs management in their efforts to get a brand-new computer.</p>

<p>It wasn’t until late 1971 that the computer science department got a truly modern computer. The Unix team had developed several tools designed to automatically format text files for printing over the past year or so. They had done so to simplify the production of documentation for their pet project, but their tools had escaped and were being used by several researchers elsewhere on the top floor. At the same time, the legal department was prepared to spend a fortune on a mainframe program called “AstroText.” Catching wind of this, the Unix crew realized that they could, with only a little effort, upgrade the tools they had written for their own use into something that the legal department could use to prepare patent applications.</p>

<p>The computer science department pitched lab management on the purchase of a DEC PDP-11 for document production purposes, and Max Mathews offered to pay for the machine out of the acoustics department budget. Finally, management gave in and purchased a computer for the Unix team to play with. Eventually, word leaked out about this operating system, and businesses and institutions with PDP-11s began contacting Bell Labs about their new operating system. The Labs made it available for free—requesting only the cost of postage and media from anyone who wanted a copy.</p>

<p>The rest has quite literally made tech history.</p>
</blockquote>

<ul>
<li>See the link for the rest of the article</li>
</ul>

<hr>

<h3><a href="https://www.oshogbo.vexillium.org/blog/68/" target="_blank" rel="nofollow noopener">How to configure a network dump in FreeBSD?</a></h3>

<blockquote>
<p>A network dump might be very useful for collecting kernel crash dumps from embedded machines and machines with a larger amount of RAM then available swap partition size. Besides net dumps we can also try to compress the core dump. However, often this may still not be enough swap to keep whole core dump. In such situation using network dump is a convenient and reliable way for collecting kernel dump.</p>

<p>So, first, let’s talk a little bit about history. The first implementation of the network dumps was implemented around 2000 for the FreeBSD 4.x as a kernel module. The code was implemented in 2010 with the intention of being part of FreeBSD 9.0. However, the code never landed in FreeBSD. Finally, in 2018 with the commit r333283 by Mark Johnston the netdump client code landed in the FreeBSD. Subsequently, many other commitments were then implemented to add support for the different drivers (for example r333289). The first official release of FreeBSD, which support netdump is FreeBSD 12.0.</p>

<p>Now, let’s get back to the main topic. How to configure the network dump? Two machines are needed. One machine is to collect core dump, let’s call it server. We will use the second one to send us the core dump - the client. </p>
</blockquote>

<ul>
<li>See the link for the rest of the article</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://mwl.io/archives/4530" target="_blank" rel="nofollow noopener">Sudo Mastery 2nd edition is not out</a></li>
<li><a href="http://users.utu.fi/kakrind/publications/19/vulnfuzz_camera.pdf" target="_blank" rel="nofollow noopener">Empirical Notes on the Interaction Between Continuous Kernel Fuzzing and Development</a></li>
<li><a href="https://github.com/ozkl/soso" target="_blank" rel="nofollow noopener">soso</a></li>
<li><a href="https://youtu.be/gUqcMs0svNU?t=254" target="_blank" rel="nofollow noopener">GregKH - OpenBSD was right</a></li>
<li><a href="https://gameoftrees.org/faq.html" target="_blank" rel="nofollow noopener">Game of Trees</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>BostJan - <a href="http://dpaste.com/1ZPCCQY#wrap" target="_blank" rel="nofollow noopener">Another Question</a></li>
<li>Tom - <a href="http://dpaste.com/3ZSCB8N#wrap" target="_blank" rel="nofollow noopener">PF</a></li>
<li>JohnnyK - <a href="http://dpaste.com/3QZQ7Q5#wrap" target="_blank" rel="nofollow noopener">Changing VT without keys</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0315.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>vBSDcon 2019 recap, Unix at 50, OpenBSD on fan-less Tuxedo InfinityBook, humungus - an hg server, how to configure a network dump in FreeBSD, and more.</p>

<h2>Headlines</h2>

<h3>vBSDcon Recap</h3>

<p>Allan and Benedict attended vBSDcon 2019, which ended last week.</p>

<p>It was held again at the Hyatt Regency Reston and the main conference was organized by Dan Langille of BSDCan fame.The two day conference was preceded by a one day FreeBSD hackathon, where FreeBSD developers had the chance to work on patches and PRs. In the evening, a reception was held to welcome attendees and give them a chance to chat and get to know each other over food and drinks.</p>

<p>The first day of the conference was opened with a Keynote by Paul Vixie about DNS over HTTPS (DoH). He explained how we got to the current state and what challenges (technical and social) this entails.</p>

<ul>
<li>If you missed this talk and are dying to see it, it will also be presented at EuroBSDCon next week</li>
</ul>

<p>John Baldwin followed up by giving an overview of the work on “In-Kernel TLS Framing and Encryption for FreeBSD” <a href="https://www.vbsdcon.com/schedule/2019-09-06.html#talk:132615" target="_blank" rel="nofollow noopener">abstract</a> and the recent commit we covered in episode 313.</p>

<p>Meanwhile, Brian Callahan was giving a separate session in another room about “Learning to (Open)BSD through its porting system: an attendee-driven educational session” where people had the chance to learn about how to create ports for the BSDs.</p>

<p>David Fullard’s talk about “Transitioning from FreeNAS to FreeBSD” was his first talk at a BSD conference and described how he built his own home NAS setup trying to replicate FreeNAS’ functionality on FreeBSD, and why he transitioned from using an appliance to using vanilla FreeBSD.</p>

<p>Shawn Webb followed with his overview talk about the “State of the Hardened Union”. </p>

<p>Benedict’s talk about “Replacing an Oracle Server with FreeBSD, OpenZFS, and PostgreSQL” was well received as people are interested in how we liberated ourselves from the clutches of Oracle without compromising functionality.</p>

<p>Entertaining and educational at the same time, Michael W. Lucas talk about “Twenty Years in Jail: FreeBSD Jails, Then and Now” closed the first day. Lucas also had a table in the hallway with his various tech and non-tech books for sale.</p>

<p>People formed small groups and went into town for dinner. Some returned later that night to some work in the hacker lounge or talk amongst fellow BSD enthusiasts. </p>

<p>Colin Percival was the keynote speaker for the second day and had an in-depth look at “23 years of software side channel attacks”.</p>

<p>Allan reprised his “ELI5: ZFS Caching” talk explaining how the ZFS adaptive replacement cache (ARC) work and how it can be tuned for various workloads.</p>

<p>“By the numbers: ZFS Performance Results from Six Operating Systems and Their Derivatives” by Michael Dexter followed with his approach to benchmarking OpenZFS on various platforms.</p>

<p>Conor Beh was also a new speaker to vBSDcon. His talk was about “FreeBSD at Work: Building Network and Storage Infrastructure with pfSense and FreeNAS”.</p>

<p>Two OpenBSD talks closed the talk session: Kurt Mosiejczuk with “Care and Feeding of OpenBSD Porters” and Aaron Poffenberger with “Road Warrior Disaster Recovery: Secure, Synchronized, and Backed-up”.</p>

<p>A dinner and reception was enjoyed by the attendees and gave more time to discuss the talks given and other things until late at night.</p>

<p>We want to thank the vBSDcon organizers and especially Dan Langille for running such a great conference. We are grateful to Verisign as the main sponsor and The FreeBSD Foundation for sponsoring the tote bags. Thanks to all the speakers and attendees!</p>

<h3><a href="https://humungus.tedunangst.com/r/humungus" target="_blank" rel="nofollow noopener">humungus - an hg server</a></h3>

<ul>
<li>Features

<ul>
<li>View changes, files, changesets, etc. Some syntax highlighting.</li>
<li>Read only.</li>
<li>Serves multiple repositories.</li>
<li>Allows cloning via the obvious URL. Supports go get.</li>
<li>Serves files for downloads.</li>
<li>Online documentation via mandoc.</li>
<li>Terminal based admin interface.</li>
</ul></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://hazardous.org/archive/blog/openbsd/2019/09/02/OpenBSD-on-Infinitybook14" target="_blank" rel="nofollow noopener">OpenBSD on fan-less Tuxedo InfinityBook 14″ v2.</a></h3>

<blockquote>
<p>The InfinityBook 14” v2 is a fanless 14” notebook. It is an excellent choice for running OpenBSD - but order it with the supported wireless card (see below.).</p>

<p>I’ve set it up in a dual-boot configuration so that I can switch between Linux and OpenBSD - mainly to spot differences in the drivers. TUXEDO allows a variety of configurations through their webshop.</p>

<p>The dual boot setup with grub2 and EFI boot will be covered in a separate blogpost. My tests were done with OpenBSD-current - which is as of writing flagged as 6.6-beta.</p>
</blockquote>

<ul>
<li>See Article for breakdown of CPU, Wireless, Video, Webcam, Audio, ACPI, Battery, Touchpad, and MicroSD Card Reader</li>
</ul>

<hr>

<h3><a href="https://arstechnica.com/gadgets/2019/08/unix-at-50-it-starts-with-a-mainframe-a-gator-and-three-dedicated-researchers/" target="_blank" rel="nofollow noopener">Unix at 50: How the OS that powered smartphones started from failure</a></h3>

<blockquote>
<p>Maybe its pervasiveness has long obscured its origins. But Unix, the operating system that in one derivative or another powers nearly all smartphones sold worldwide, was born 50 years ago from the failure of an ambitious project that involved titans like Bell Labs, GE, and MIT. Largely the brainchild of a few programmers at Bell Labs, the unlikely story of Unix begins with a meeting on the top floor of an otherwise unremarkable annex at the sprawling Bell Labs complex in Murray Hill, New Jersey.</p>

<p>It was a bright, cold Monday, the last day of March 1969, and the computer sciences department was hosting distinguished guests: Bill Baker, a Bell Labs vice president, and Ed David, the director of research. Baker was about to pull the plug on Multics (a condensed form of MULTiplexed Information and Computing Service), a software project that the computer sciences department had been working on for four years. Multics was two years overdue, way over budget, and functional only in the loosest possible understanding of the term.</p>

<p>Trying to put the best spin possible on what was clearly an abject failure, Baker gave a speech in which he claimed that Bell Labs had accomplished everything it was trying to accomplish in Multics and that they no longer needed to work on the project. As Berk Tague, a staffer present at the meeting, later told Princeton University, “Like Vietnam, he declared victory and got out of Multics.”</p>

<p>Within the department, this announcement was hardly unexpected. The programmers were acutely aware of the various issues with both the scope of the project and the computer they had been asked to build it for.</p>

<p>Still, it was something to work on, and as long as Bell Labs was working on Multics, they would also have a $7 million mainframe computer to play around with in their spare time. Dennis Ritchie, one of the programmers working on Multics, later said they all felt some stake in the success of the project, even though they knew the odds of that success were exceedingly remote.</p>

<p>Cancellation of Multics meant the end of the only project that the programmers in the Computer science department had to work on—and it also meant the loss of the only computer in the Computer science department. After the GE 645 mainframe was taken apart and hauled off, the computer science department’s resources were reduced to little more than office supplies and a few terminals.</p>
</blockquote>

<ul>
<li>Some of Allan’s favourite excerpts:</li>
</ul>

<blockquote>
<p>In the early '60s, Bill Ninke, a researcher in acoustics, had demonstrated a rudimentary graphical user interface with a DEC PDP-7 minicomputer. Acoustics still had that computer, but they weren’t using it and had stuck it somewhere out of the way up on the sixth floor.</p>

<p>And so Thompson, an indefatigable explorer of the labs’ nooks and crannies, finally found that PDP-7 shortly after Davis and Baker cancelled Multics.</p>

<p>With the rest of the team’s help, Thompson bundled up the various pieces of the PDP-7—a machine about the size of a refrigerator, not counting the terminal—moved it into a closet assigned to the acoustics department, and got it up and running. One way or another, they convinced acoustics to provide space for the computer and also to pay for the not infrequent repairs to it out of that department’s budget.</p>

<p>McIlroy’s programmers suddenly had a computer, kind of. So during the summer of 1969, Thompson, Ritchie, and Canaday hashed out the basics of a file manager that would run on the PDP-7. This was no simple task. Batch computing—running programs one after the other—rarely required that a computer be able to permanently store information, and many mainframes did not have any permanent storage device (whether a tape or a hard disk) attached to them. But the time-sharing environment that these programmers had fallen in love with required attached storage. And with multiple users connected to the same computer at the same time, the file manager had to be written well enough to keep one user’s files from being written over another user’s. When a file was read, the output from that file had to be sent to the user that was opening it.</p>

<p>It was a challenge that McIlroy’s team was willing to accept. They had seen the future of computing and wanted to explore it. They knew that Multics was a dead-end, but they had discovered the possibilities opened up by shared development, shared access, and real-time computing. Twenty years later, Ritchie characterized it for Princeton as such: “What we wanted to preserve was not just a good environment in which to do programming, but a system around which a fellowship could form.”</p>

<p>Eventually when they had the file management system more or less fleshed out conceptually, it came time to actually write the code. The trio—all of whom had terrible handwriting—decided to use the Labs’ dictating service. One of them called up a lab extension and dictated the entire code base into a tape recorder. And thus, some unidentified clerical worker or workers soon had the unenviable task of trying to convert that into a typewritten document.</p>

<p>Of course, it was done imperfectly. Among various errors, “inode” came back as “eye node,” but the output was still viewed as a decided improvement over their assorted scribbles.</p>

<p>In August 1969, Thompson’s wife and son went on a three-week vacation to see her family out in Berkeley, and Thompson decided to spend that time writing an assembler, a file editor, and a kernel to manage the PDP-7 processor. This would turn the group’s file manager into a full-fledged operating system. He generously allocated himself one week for each task.</p>

<p>Thompson finished his tasks more or less on schedule. And by September, the computer science department at Bell Labs had an operating system running on a PDP-7—and it wasn’t Multics.</p>

<p>By the summer of 1970, the team had attached a tape drive to the PDP-7, and their blossoming OS also had a growing selection of tools for programmers (several of which persist down to this day). But despite the successes, Thompson, Canaday, and Ritchie were still being rebuffed by labs management in their efforts to get a brand-new computer.</p>

<p>It wasn’t until late 1971 that the computer science department got a truly modern computer. The Unix team had developed several tools designed to automatically format text files for printing over the past year or so. They had done so to simplify the production of documentation for their pet project, but their tools had escaped and were being used by several researchers elsewhere on the top floor. At the same time, the legal department was prepared to spend a fortune on a mainframe program called “AstroText.” Catching wind of this, the Unix crew realized that they could, with only a little effort, upgrade the tools they had written for their own use into something that the legal department could use to prepare patent applications.</p>

<p>The computer science department pitched lab management on the purchase of a DEC PDP-11 for document production purposes, and Max Mathews offered to pay for the machine out of the acoustics department budget. Finally, management gave in and purchased a computer for the Unix team to play with. Eventually, word leaked out about this operating system, and businesses and institutions with PDP-11s began contacting Bell Labs about their new operating system. The Labs made it available for free—requesting only the cost of postage and media from anyone who wanted a copy.</p>

<p>The rest has quite literally made tech history.</p>
</blockquote>

<ul>
<li>See the link for the rest of the article</li>
</ul>

<hr>

<h3><a href="https://www.oshogbo.vexillium.org/blog/68/" target="_blank" rel="nofollow noopener">How to configure a network dump in FreeBSD?</a></h3>

<blockquote>
<p>A network dump might be very useful for collecting kernel crash dumps from embedded machines and machines with a larger amount of RAM then available swap partition size. Besides net dumps we can also try to compress the core dump. However, often this may still not be enough swap to keep whole core dump. In such situation using network dump is a convenient and reliable way for collecting kernel dump.</p>

<p>So, first, let’s talk a little bit about history. The first implementation of the network dumps was implemented around 2000 for the FreeBSD 4.x as a kernel module. The code was implemented in 2010 with the intention of being part of FreeBSD 9.0. However, the code never landed in FreeBSD. Finally, in 2018 with the commit r333283 by Mark Johnston the netdump client code landed in the FreeBSD. Subsequently, many other commitments were then implemented to add support for the different drivers (for example r333289). The first official release of FreeBSD, which support netdump is FreeBSD 12.0.</p>

<p>Now, let’s get back to the main topic. How to configure the network dump? Two machines are needed. One machine is to collect core dump, let’s call it server. We will use the second one to send us the core dump - the client. </p>
</blockquote>

<ul>
<li>See the link for the rest of the article</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://mwl.io/archives/4530" target="_blank" rel="nofollow noopener">Sudo Mastery 2nd edition is not out</a></li>
<li><a href="http://users.utu.fi/kakrind/publications/19/vulnfuzz_camera.pdf" target="_blank" rel="nofollow noopener">Empirical Notes on the Interaction Between Continuous Kernel Fuzzing and Development</a></li>
<li><a href="https://github.com/ozkl/soso" target="_blank" rel="nofollow noopener">soso</a></li>
<li><a href="https://youtu.be/gUqcMs0svNU?t=254" target="_blank" rel="nofollow noopener">GregKH - OpenBSD was right</a></li>
<li><a href="https://gameoftrees.org/faq.html" target="_blank" rel="nofollow noopener">Game of Trees</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>BostJan - <a href="http://dpaste.com/1ZPCCQY#wrap" target="_blank" rel="nofollow noopener">Another Question</a></li>
<li>Tom - <a href="http://dpaste.com/3ZSCB8N#wrap" target="_blank" rel="nofollow noopener">PF</a></li>
<li>JohnnyK - <a href="http://dpaste.com/3QZQ7Q5#wrap" target="_blank" rel="nofollow noopener">Changing VT without keys</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0315.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>314: Swap that Space</title>
  <link>https://www.bsdnow.tv/314</link>
  <guid isPermaLink="false">a98d492a-7c4f-4f70-b6cf-388387042427</guid>
  <pubDate>Wed, 04 Sep 2019 20:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a98d492a-7c4f-4f70-b6cf-388387042427.mp3" length="34897838" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Unix virtual memory when you have no swap space, Dsynth details on Dragonfly, Instant Workstation on FreeBSD, new servers new tech, Experimenting with streaming setups on NetBSD, NetBSD’s progress towards Steam support thanks to GSoC, and more.</itunes:subtitle>
  <itunes:duration>48:28</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>&lt;p&gt;Unix virtual memory when you have no swap space, Dsynth details on Dragonfly, Instant Workstation on FreeBSD, new servers new tech, Experimenting with streaming setups on NetBSD, NetBSD’s progress towards Steam support thanks to GSoC, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/NoSwapConsequence" target="_blank" rel="nofollow noopener"&gt;What has to happen with Unix virtual memory when you have no swap space&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Recently, Artem S. Tashkinov wrote on the Linux kernel mailing list about a Linux problem under memory pressure (via, and threaded here). The specific reproduction instructions involved having low RAM, turning off swap space, and then putting the system under load, and when that happened (emphasis mine):&lt;/p&gt;

&lt;p&gt;Once you hit a situation when opening a new tab requires more RAM than is currently available, the system will stall hard. You will barely be able to move the mouse pointer. Your disk LED will be flashing incessantly (I'm not entirely sure why). [...]&lt;/p&gt;

&lt;p&gt;I'm afraid I have bad news for the people snickering at Linux here; if you're running without swap space, you can probably get any Unix to behave this way under memory pressure. If you can't on your particular Unix, I'd actually say that your Unix is probably not letting you get full use out of your RAM.&lt;/p&gt;

&lt;p&gt;To simplify a bit, we can divide pages of user memory up into anonymous pages and file-backed pages. File-backed pages are what they sound like; they come from some specific file on the filesystem that they can be written out to (if they're dirty) or read back in from. Anonymous pages are not backed by a file, so the only place they can be written out to and read back in from is swap space. Anonymous pages mostly come from dynamic memory allocations and from modifying the program's global variables and data; file backed pages come mostly from mapping files into memory with mmap() and also, crucially, from the code and read-only data of the program.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See link for the rest of the article&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2019/08/27/23398.html" target="_blank" rel="nofollow noopener"&gt;Dsynth details on Dragonfly&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;First, history: DragonFly has had binaries of dports available for download for quite some time.  These were originally built using poudriere, and then using the synth tool put together by John Marino.  Synth worked both to build all software in dports, and as a way to test DragonFly’s SMP capability under extreme load.&lt;/p&gt;

&lt;p&gt;Matthew Dillon is working on a new version, called dsynth.  It is available now but not yet part of the build.  He’s been working quickly on it and there’s plenty more commits than what I have linked here.  It’s already led to finding more high-load fixes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;dsynth&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;DSynth is basically synth written in C, from scratch.  It is designed to give us a bulk builder in base and be friendly to porting and jails down the line (for now its uses chroot's).&lt;/p&gt;

&lt;p&gt;The original synth was written by John R. Marino and its basic flow was used in writing this program, but as it was written in ada no code was directly copied.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The intent is to make dsynth compatible with synth's configuration files and directory structure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This is a work in progress and not yet ready for prime-time.  Pushing so we can get some more eyeballs.  Most of the directives do not yet work (everything, and build works, and 'cleanup' can be used to clean up any dangling mounts).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gitweb.dragonflybsd.org/dragonfly.git/blob/HEAD:/usr.bin/dsynth/dsynth.1" target="_blank" rel="nofollow noopener"&gt;dsynth code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl/freebsd/2019/08/12/instant-workstation.html" target="_blank" rel="nofollow noopener"&gt;Instant Workstation&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Some considerable time ago I wrote up instructions on how to set up a FreeBSD machine with the latest KDE Plasma Desktop. Those instructions, while fairly short (set up X, install the KDE meta-port, .. and that’s it) are a bit fiddly.&lt;/p&gt;

&lt;p&gt;So – prompted slightly by a Twitter exchange recently – I’ve started a mini-sub-project to script the installation of a desktop environment and the bits needed to support it. To give it at least a modicum of UI, dialog(1) is used to ask for an environment to install and a display manager.&lt;/p&gt;

&lt;p&gt;The tricky bits – pointed out to me after I started – are hardware support, although a best-effort is better than having nothing, I think.&lt;/p&gt;

&lt;p&gt;In any case, in a VBox host it’s now down to running a single script and picking Plasma and SDDM to get a usable system for me. Other combinations have not been tested, nor has system-hardware-setup. I’ll probably maintain it for a while and if I have time and energy it’ll be tried with nVidia (those work quite well on FreeBSD) and AMD (not so much, in my experience) graphics cards when I shuffle some machines around.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://raw.githubusercontent.com/adriaandegroot/FreeBSDTools/master/bin/instant-workstation" target="_blank" rel="nofollow noopener"&gt;Here is the script in my GitHub repository with notes-for-myself.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2019/08/26/23396.html" target="_blank" rel="nofollow noopener"&gt;New Servers, new Tech&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Following up on an earlier post, the new servers for DragonFly are in place.   The old 40-core machine used for bulk build, monster, is being retired.  The power efficiency of the new machines is startling.  Incidentally, this is where donations go – infrastructure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2019-August/358271.html" target="_blank" rel="nofollow noopener"&gt;New servers in the colo, monster is being retired&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We have three new servers in the colo now that will be taking most/all bulk package building duties from monster and the two blades (muscles and pkgbox64) that previously did the work.   Monster will be retired.   The new servers are a dual-socket Xeon (sting) and two 3900X based systems (thor and loki) which all together burn only around half the wattage that monster burned (500W vs 1000W) and 3 times the performance.   That's at least a 6:1 improvement in performance efficiency.&lt;/p&gt;

&lt;p&gt;With SSD prices down significantly the new machines have all-SSDs.  These new machines allow us to build dports binary packages for release, master, and staged at the same time and reduces the full-on bulk build times for getting all three done down from 2 weeks to 2 days.  It will allow us to more promptly synchronize updates to ports with dports and get binary packages up sooner.&lt;/p&gt;

&lt;p&gt;Monster, our venerable 48-core quad-socket opteron is being retired.  This was a wonderful dev machine for working on DragonFly's SMP algorithms over the last 6+ years precisely because its inter-core and inter-socket latencies were quite high.  If a SMP algorithm wasn't spot-on, you could feel it.  Over the years DragonFly's performance on monster in doing things like bulk builds increased radically as the SMP algorithms got better and the cores became more and more localized.  This kept monster relevant far longer than I thought it would be.&lt;/p&gt;

&lt;p&gt;But we are at a point now where improvements in efficiency are just too good to ignore.  Monster's quad-socket opteron (4  x 12 core 6168's) pulls 1000W under full load while a single Ryzen 3900X (12 core / 24 thread) in a server configuration pulls only 150W, and is slightly faster on the same workload to boot.&lt;/p&gt;

&lt;p&gt;I would like to thank everyone's generous donations over the last few years!  We burned a few thousand on the new machines (as well as the major SSD upgrades we did to the blades) and made very good use of the money, particularly this year as prices for all major components (RAM, SSDs, CPUs, Mobos, etc) have dropped significantly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dressupgeekout.blogspot.com/2019/08/experimenting-with-streaming-setups-on.html?m=1" target="_blank" rel="nofollow noopener"&gt;Experimenting with streaming setups on NetBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Ever since OBS was successfully ported to NetBSD, I’ve been trying it out, seeing what works and what doesn’t. I’ve only just gotten started, and there’ll definitely be a lot of tweaking going forward.&lt;/p&gt;

&lt;p&gt;Capturing a specific application’s windows seems to work okay. Capturing an entire display works, too. I actually haven’t tried streaming to Twitch or YouTube yet, but in a previous experiment a few weeks ago, I was able to run a FFmpeg command line and that could stream to Twitch mostly OK.&lt;/p&gt;

&lt;p&gt;My laptop combined with my external monitor allows me to have a dual-monitor setup wherein the smaller laptop screen can be my “broadcasting station” while the bigger screen is where all the action takes place. I can make OBS visible on all Xfce workspaces, but keep it tucked away on that display only. Altogether, the setup should let me use the big screen for the fun stuff but I can still monitor everything in the small screen.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=NetBSD-Linux-DRM-Ioctl-GSoC2019" target="_blank" rel="nofollow noopener"&gt;NetBSD Made Progress Thanks To GSoC In Its March Towards Steam Support&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Ultimately the goal is to get Valve's Steam client running on NetBSD using their Linux compatibility layer while the focus the past few months with Google Summer of Code 2019 were supporting the necessary DRM ioctls for allowing Linux software running on NetBSD to be able to tap accelerated graphics support.&lt;/p&gt;

&lt;p&gt;Student developer Surya P spent the summer working on compat_netbsd32 DRM interfaces to allow Direct Rendering Manager using applications running under their Linux compatibility layer.&lt;/p&gt;

&lt;p&gt;These interfaces have been tested and working as well as updating the "suse131" packages in NetBSD to make use of those interfaces. So the necessary interfaces are now in place for Linux software running on NetBSD to be able to use accelerated graphics though Steam itself isn't yet running on NetBSD with this layer.&lt;/p&gt;

&lt;p&gt;Those curious about this DRM ioctl GSoC project can learn more from &lt;a href="https://blog.netbsd.org/tnf/entry/gsoc_2019_report_implementation_of" target="_blank" rel="nofollow noopener"&gt;the NetBSD blog&lt;/a&gt;. NetBSD has also been seeing work this summer on Wayland support and better Wine support to ultimately make this BSD a better desktop operating system and potentially a comparable gaming platform to Linux.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MengTangmu/status/1163265206660694016" target="_blank" rel="nofollow noopener"&gt;FreeBSD in Wellington?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/onewilshire/status/1163792878642114560" target="_blank" rel="nofollow noopener"&gt;FreeBSD on GFE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/onewilshire/status/1166323112620826624" target="_blank" rel="nofollow noopener"&gt;Clarification&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://distrotest.net/" target="_blank" rel="nofollow noopener"&gt;Distrotest.net now with BSDs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fahrplan.events.ccc.de/camp/2019/Fahrplan/events/10334.html" target="_blank" rel="nofollow noopener"&gt;Lecture: Anykernels meet fuzzing NetBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.khoslaventures.com/wp-content/uploads/SunMicrosystem_bus_plan.pdf" target="_blank" rel="nofollow noopener"&gt;Sun Microsystems business plan from 1982 [pdf]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Alan - &lt;a href="http://dpaste.com/1Z8EGTW" target="_blank" rel="nofollow noopener"&gt;Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Rodriguez - &lt;a href="http://dpaste.com/2PZFP4X#wrap" target="_blank" rel="nofollow noopener"&gt;Feedback and a question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jeff - &lt;a href="http://dpaste.com/02ZM6YE#wrap" target="_blank" rel="nofollow noopener"&gt;OpenZFS follow-up, FreeBSD Adventures&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0314.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, virtual memory, swap, swap space, VM, dsynth, workstation, servers, streaming, steam, gsoc</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Unix virtual memory when you have no swap space, Dsynth details on Dragonfly, Instant Workstation on FreeBSD, new servers new tech, Experimenting with streaming setups on NetBSD, NetBSD’s progress towards Steam support thanks to GSoC, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/NoSwapConsequence" target="_blank" rel="nofollow noopener">What has to happen with Unix virtual memory when you have no swap space</a></h3>

<blockquote>
<p>Recently, Artem S. Tashkinov wrote on the Linux kernel mailing list about a Linux problem under memory pressure (via, and threaded here). The specific reproduction instructions involved having low RAM, turning off swap space, and then putting the system under load, and when that happened (emphasis mine):</p>

<p>Once you hit a situation when opening a new tab requires more RAM than is currently available, the system will stall hard. You will barely be able to move the mouse pointer. Your disk LED will be flashing incessantly (I'm not entirely sure why). [...]</p>

<p>I'm afraid I have bad news for the people snickering at Linux here; if you're running without swap space, you can probably get any Unix to behave this way under memory pressure. If you can't on your particular Unix, I'd actually say that your Unix is probably not letting you get full use out of your RAM.</p>

<p>To simplify a bit, we can divide pages of user memory up into anonymous pages and file-backed pages. File-backed pages are what they sound like; they come from some specific file on the filesystem that they can be written out to (if they're dirty) or read back in from. Anonymous pages are not backed by a file, so the only place they can be written out to and read back in from is swap space. Anonymous pages mostly come from dynamic memory allocations and from modifying the program's global variables and data; file backed pages come mostly from mapping files into memory with mmap() and also, crucially, from the code and read-only data of the program.</p>
</blockquote>

<ul>
<li>See link for the rest of the article</li>
</ul>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/08/27/23398.html" target="_blank" rel="nofollow noopener">Dsynth details on Dragonfly</a></h3>

<blockquote>
<p>First, history: DragonFly has had binaries of dports available for download for quite some time.  These were originally built using poudriere, and then using the synth tool put together by John Marino.  Synth worked both to build all software in dports, and as a way to test DragonFly’s SMP capability under extreme load.</p>

<p>Matthew Dillon is working on a new version, called dsynth.  It is available now but not yet part of the build.  He’s been working quickly on it and there’s plenty more commits than what I have linked here.  It’s already led to finding more high-load fixes.</p>
</blockquote>

<ul>
<li>dsynth</li>
</ul>

<blockquote>
<p>DSynth is basically synth written in C, from scratch.  It is designed to give us a bulk builder in base and be friendly to porting and jails down the line (for now its uses chroot's).</p>

<p>The original synth was written by John R. Marino and its basic flow was used in writing this program, but as it was written in ada no code was directly copied.</p>

<ul>
<li><p>The intent is to make dsynth compatible with synth's configuration files and directory structure.</p></li>
<li><p>This is a work in progress and not yet ready for prime-time.  Pushing so we can get some more eyeballs.  Most of the directives do not yet work (everything, and build works, and 'cleanup' can be used to clean up any dangling mounts).</p></li>
</ul>
</blockquote>

<ul>
<li><a href="https://gitweb.dragonflybsd.org/dragonfly.git/blob/HEAD:/usr.bin/dsynth/dsynth.1" target="_blank" rel="nofollow noopener">dsynth code</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://euroquis.nl/freebsd/2019/08/12/instant-workstation.html" target="_blank" rel="nofollow noopener">Instant Workstation</a></h3>

<blockquote>
<p>Some considerable time ago I wrote up instructions on how to set up a FreeBSD machine with the latest KDE Plasma Desktop. Those instructions, while fairly short (set up X, install the KDE meta-port, .. and that’s it) are a bit fiddly.</p>

<p>So – prompted slightly by a Twitter exchange recently – I’ve started a mini-sub-project to script the installation of a desktop environment and the bits needed to support it. To give it at least a modicum of UI, dialog(1) is used to ask for an environment to install and a display manager.</p>

<p>The tricky bits – pointed out to me after I started – are hardware support, although a best-effort is better than having nothing, I think.</p>

<p>In any case, in a VBox host it’s now down to running a single script and picking Plasma and SDDM to get a usable system for me. Other combinations have not been tested, nor has system-hardware-setup. I’ll probably maintain it for a while and if I have time and energy it’ll be tried with nVidia (those work quite well on FreeBSD) and AMD (not so much, in my experience) graphics cards when I shuffle some machines around.</p>
</blockquote>

<ul>
<li><a href="https://raw.githubusercontent.com/adriaandegroot/FreeBSDTools/master/bin/instant-workstation" target="_blank" rel="nofollow noopener">Here is the script in my GitHub repository with notes-for-myself.</a></li>
</ul>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/08/26/23396.html" target="_blank" rel="nofollow noopener">New Servers, new Tech</a></h3>

<blockquote>
<p>Following up on an earlier post, the new servers for DragonFly are in place.   The old 40-core machine used for bulk build, monster, is being retired.  The power efficiency of the new machines is startling.  Incidentally, this is where donations go – infrastructure.</p>
</blockquote>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2019-August/358271.html" target="_blank" rel="nofollow noopener">New servers in the colo, monster is being retired</a></li>
</ul>

<blockquote>
<p>We have three new servers in the colo now that will be taking most/all bulk package building duties from monster and the two blades (muscles and pkgbox64) that previously did the work.   Monster will be retired.   The new servers are a dual-socket Xeon (sting) and two 3900X based systems (thor and loki) which all together burn only around half the wattage that monster burned (500W vs 1000W) and 3 times the performance.   That's at least a 6:1 improvement in performance efficiency.</p>

<p>With SSD prices down significantly the new machines have all-SSDs.  These new machines allow us to build dports binary packages for release, master, and staged at the same time and reduces the full-on bulk build times for getting all three done down from 2 weeks to 2 days.  It will allow us to more promptly synchronize updates to ports with dports and get binary packages up sooner.</p>

<p>Monster, our venerable 48-core quad-socket opteron is being retired.  This was a wonderful dev machine for working on DragonFly's SMP algorithms over the last 6+ years precisely because its inter-core and inter-socket latencies were quite high.  If a SMP algorithm wasn't spot-on, you could feel it.  Over the years DragonFly's performance on monster in doing things like bulk builds increased radically as the SMP algorithms got better and the cores became more and more localized.  This kept monster relevant far longer than I thought it would be.</p>

<p>But we are at a point now where improvements in efficiency are just too good to ignore.  Monster's quad-socket opteron (4  x 12 core 6168's) pulls 1000W under full load while a single Ryzen 3900X (12 core / 24 thread) in a server configuration pulls only 150W, and is slightly faster on the same workload to boot.</p>

<p>I would like to thank everyone's generous donations over the last few years!  We burned a few thousand on the new machines (as well as the major SSD upgrades we did to the blades) and made very good use of the money, particularly this year as prices for all major components (RAM, SSDs, CPUs, Mobos, etc) have dropped significantly.</p>
</blockquote>

<hr>

<h3><a href="https://dressupgeekout.blogspot.com/2019/08/experimenting-with-streaming-setups-on.html?m=1" target="_blank" rel="nofollow noopener">Experimenting with streaming setups on NetBSD</a></h3>

<blockquote>
<p>Ever since OBS was successfully ported to NetBSD, I’ve been trying it out, seeing what works and what doesn’t. I’ve only just gotten started, and there’ll definitely be a lot of tweaking going forward.</p>

<p>Capturing a specific application’s windows seems to work okay. Capturing an entire display works, too. I actually haven’t tried streaming to Twitch or YouTube yet, but in a previous experiment a few weeks ago, I was able to run a FFmpeg command line and that could stream to Twitch mostly OK.</p>

<p>My laptop combined with my external monitor allows me to have a dual-monitor setup wherein the smaller laptop screen can be my “broadcasting station” while the bigger screen is where all the action takes place. I can make OBS visible on all Xfce workspaces, but keep it tucked away on that display only. Altogether, the setup should let me use the big screen for the fun stuff but I can still monitor everything in the small screen.</p>
</blockquote>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=NetBSD-Linux-DRM-Ioctl-GSoC2019" target="_blank" rel="nofollow noopener">NetBSD Made Progress Thanks To GSoC In Its March Towards Steam Support</a></h3>

<blockquote>
<p>Ultimately the goal is to get Valve's Steam client running on NetBSD using their Linux compatibility layer while the focus the past few months with Google Summer of Code 2019 were supporting the necessary DRM ioctls for allowing Linux software running on NetBSD to be able to tap accelerated graphics support.</p>

<p>Student developer Surya P spent the summer working on compat_netbsd32 DRM interfaces to allow Direct Rendering Manager using applications running under their Linux compatibility layer.</p>

<p>These interfaces have been tested and working as well as updating the "suse131" packages in NetBSD to make use of those interfaces. So the necessary interfaces are now in place for Linux software running on NetBSD to be able to use accelerated graphics though Steam itself isn't yet running on NetBSD with this layer.</p>

<p>Those curious about this DRM ioctl GSoC project can learn more from <a href="https://blog.netbsd.org/tnf/entry/gsoc_2019_report_implementation_of" target="_blank" rel="nofollow noopener">the NetBSD blog</a>. NetBSD has also been seeing work this summer on Wayland support and better Wine support to ultimately make this BSD a better desktop operating system and potentially a comparable gaming platform to Linux.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/MengTangmu/status/1163265206660694016" target="_blank" rel="nofollow noopener">FreeBSD in Wellington?</a></li>
<li><a href="https://twitter.com/onewilshire/status/1163792878642114560" target="_blank" rel="nofollow noopener">FreeBSD on GFE</a></li>
<li><a href="https://twitter.com/onewilshire/status/1166323112620826624" target="_blank" rel="nofollow noopener">Clarification</a> </li>
<li><a href="https://distrotest.net/" target="_blank" rel="nofollow noopener">Distrotest.net now with BSDs</a></li>
<li><a href="https://fahrplan.events.ccc.de/camp/2019/Fahrplan/events/10334.html" target="_blank" rel="nofollow noopener">Lecture: Anykernels meet fuzzing NetBSD</a></li>
<li><a href="https://www.khoslaventures.com/wp-content/uploads/SunMicrosystem_bus_plan.pdf" target="_blank" rel="nofollow noopener">Sun Microsystems business plan from 1982 [pdf]</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Alan - <a href="http://dpaste.com/1Z8EGTW" target="_blank" rel="nofollow noopener">Questions</a></li>
<li>Rodriguez - <a href="http://dpaste.com/2PZFP4X#wrap" target="_blank" rel="nofollow noopener">Feedback and a question</a></li>
<li>Jeff - <a href="http://dpaste.com/02ZM6YE#wrap" target="_blank" rel="nofollow noopener">OpenZFS follow-up, FreeBSD Adventures</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0314.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Unix virtual memory when you have no swap space, Dsynth details on Dragonfly, Instant Workstation on FreeBSD, new servers new tech, Experimenting with streaming setups on NetBSD, NetBSD’s progress towards Steam support thanks to GSoC, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/NoSwapConsequence" target="_blank" rel="nofollow noopener">What has to happen with Unix virtual memory when you have no swap space</a></h3>

<blockquote>
<p>Recently, Artem S. Tashkinov wrote on the Linux kernel mailing list about a Linux problem under memory pressure (via, and threaded here). The specific reproduction instructions involved having low RAM, turning off swap space, and then putting the system under load, and when that happened (emphasis mine):</p>

<p>Once you hit a situation when opening a new tab requires more RAM than is currently available, the system will stall hard. You will barely be able to move the mouse pointer. Your disk LED will be flashing incessantly (I'm not entirely sure why). [...]</p>

<p>I'm afraid I have bad news for the people snickering at Linux here; if you're running without swap space, you can probably get any Unix to behave this way under memory pressure. If you can't on your particular Unix, I'd actually say that your Unix is probably not letting you get full use out of your RAM.</p>

<p>To simplify a bit, we can divide pages of user memory up into anonymous pages and file-backed pages. File-backed pages are what they sound like; they come from some specific file on the filesystem that they can be written out to (if they're dirty) or read back in from. Anonymous pages are not backed by a file, so the only place they can be written out to and read back in from is swap space. Anonymous pages mostly come from dynamic memory allocations and from modifying the program's global variables and data; file backed pages come mostly from mapping files into memory with mmap() and also, crucially, from the code and read-only data of the program.</p>
</blockquote>

<ul>
<li>See link for the rest of the article</li>
</ul>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/08/27/23398.html" target="_blank" rel="nofollow noopener">Dsynth details on Dragonfly</a></h3>

<blockquote>
<p>First, history: DragonFly has had binaries of dports available for download for quite some time.  These were originally built using poudriere, and then using the synth tool put together by John Marino.  Synth worked both to build all software in dports, and as a way to test DragonFly’s SMP capability under extreme load.</p>

<p>Matthew Dillon is working on a new version, called dsynth.  It is available now but not yet part of the build.  He’s been working quickly on it and there’s plenty more commits than what I have linked here.  It’s already led to finding more high-load fixes.</p>
</blockquote>

<ul>
<li>dsynth</li>
</ul>

<blockquote>
<p>DSynth is basically synth written in C, from scratch.  It is designed to give us a bulk builder in base and be friendly to porting and jails down the line (for now its uses chroot's).</p>

<p>The original synth was written by John R. Marino and its basic flow was used in writing this program, but as it was written in ada no code was directly copied.</p>

<ul>
<li><p>The intent is to make dsynth compatible with synth's configuration files and directory structure.</p></li>
<li><p>This is a work in progress and not yet ready for prime-time.  Pushing so we can get some more eyeballs.  Most of the directives do not yet work (everything, and build works, and 'cleanup' can be used to clean up any dangling mounts).</p></li>
</ul>
</blockquote>

<ul>
<li><a href="https://gitweb.dragonflybsd.org/dragonfly.git/blob/HEAD:/usr.bin/dsynth/dsynth.1" target="_blank" rel="nofollow noopener">dsynth code</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://euroquis.nl/freebsd/2019/08/12/instant-workstation.html" target="_blank" rel="nofollow noopener">Instant Workstation</a></h3>

<blockquote>
<p>Some considerable time ago I wrote up instructions on how to set up a FreeBSD machine with the latest KDE Plasma Desktop. Those instructions, while fairly short (set up X, install the KDE meta-port, .. and that’s it) are a bit fiddly.</p>

<p>So – prompted slightly by a Twitter exchange recently – I’ve started a mini-sub-project to script the installation of a desktop environment and the bits needed to support it. To give it at least a modicum of UI, dialog(1) is used to ask for an environment to install and a display manager.</p>

<p>The tricky bits – pointed out to me after I started – are hardware support, although a best-effort is better than having nothing, I think.</p>

<p>In any case, in a VBox host it’s now down to running a single script and picking Plasma and SDDM to get a usable system for me. Other combinations have not been tested, nor has system-hardware-setup. I’ll probably maintain it for a while and if I have time and energy it’ll be tried with nVidia (those work quite well on FreeBSD) and AMD (not so much, in my experience) graphics cards when I shuffle some machines around.</p>
</blockquote>

<ul>
<li><a href="https://raw.githubusercontent.com/adriaandegroot/FreeBSDTools/master/bin/instant-workstation" target="_blank" rel="nofollow noopener">Here is the script in my GitHub repository with notes-for-myself.</a></li>
</ul>

<hr>

<h3><a href="https://www.dragonflydigest.com/2019/08/26/23396.html" target="_blank" rel="nofollow noopener">New Servers, new Tech</a></h3>

<blockquote>
<p>Following up on an earlier post, the new servers for DragonFly are in place.   The old 40-core machine used for bulk build, monster, is being retired.  The power efficiency of the new machines is startling.  Incidentally, this is where donations go – infrastructure.</p>
</blockquote>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2019-August/358271.html" target="_blank" rel="nofollow noopener">New servers in the colo, monster is being retired</a></li>
</ul>

<blockquote>
<p>We have three new servers in the colo now that will be taking most/all bulk package building duties from monster and the two blades (muscles and pkgbox64) that previously did the work.   Monster will be retired.   The new servers are a dual-socket Xeon (sting) and two 3900X based systems (thor and loki) which all together burn only around half the wattage that monster burned (500W vs 1000W) and 3 times the performance.   That's at least a 6:1 improvement in performance efficiency.</p>

<p>With SSD prices down significantly the new machines have all-SSDs.  These new machines allow us to build dports binary packages for release, master, and staged at the same time and reduces the full-on bulk build times for getting all three done down from 2 weeks to 2 days.  It will allow us to more promptly synchronize updates to ports with dports and get binary packages up sooner.</p>

<p>Monster, our venerable 48-core quad-socket opteron is being retired.  This was a wonderful dev machine for working on DragonFly's SMP algorithms over the last 6+ years precisely because its inter-core and inter-socket latencies were quite high.  If a SMP algorithm wasn't spot-on, you could feel it.  Over the years DragonFly's performance on monster in doing things like bulk builds increased radically as the SMP algorithms got better and the cores became more and more localized.  This kept monster relevant far longer than I thought it would be.</p>

<p>But we are at a point now where improvements in efficiency are just too good to ignore.  Monster's quad-socket opteron (4  x 12 core 6168's) pulls 1000W under full load while a single Ryzen 3900X (12 core / 24 thread) in a server configuration pulls only 150W, and is slightly faster on the same workload to boot.</p>

<p>I would like to thank everyone's generous donations over the last few years!  We burned a few thousand on the new machines (as well as the major SSD upgrades we did to the blades) and made very good use of the money, particularly this year as prices for all major components (RAM, SSDs, CPUs, Mobos, etc) have dropped significantly.</p>
</blockquote>

<hr>

<h3><a href="https://dressupgeekout.blogspot.com/2019/08/experimenting-with-streaming-setups-on.html?m=1" target="_blank" rel="nofollow noopener">Experimenting with streaming setups on NetBSD</a></h3>

<blockquote>
<p>Ever since OBS was successfully ported to NetBSD, I’ve been trying it out, seeing what works and what doesn’t. I’ve only just gotten started, and there’ll definitely be a lot of tweaking going forward.</p>

<p>Capturing a specific application’s windows seems to work okay. Capturing an entire display works, too. I actually haven’t tried streaming to Twitch or YouTube yet, but in a previous experiment a few weeks ago, I was able to run a FFmpeg command line and that could stream to Twitch mostly OK.</p>

<p>My laptop combined with my external monitor allows me to have a dual-monitor setup wherein the smaller laptop screen can be my “broadcasting station” while the bigger screen is where all the action takes place. I can make OBS visible on all Xfce workspaces, but keep it tucked away on that display only. Altogether, the setup should let me use the big screen for the fun stuff but I can still monitor everything in the small screen.</p>
</blockquote>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=NetBSD-Linux-DRM-Ioctl-GSoC2019" target="_blank" rel="nofollow noopener">NetBSD Made Progress Thanks To GSoC In Its March Towards Steam Support</a></h3>

<blockquote>
<p>Ultimately the goal is to get Valve's Steam client running on NetBSD using their Linux compatibility layer while the focus the past few months with Google Summer of Code 2019 were supporting the necessary DRM ioctls for allowing Linux software running on NetBSD to be able to tap accelerated graphics support.</p>

<p>Student developer Surya P spent the summer working on compat_netbsd32 DRM interfaces to allow Direct Rendering Manager using applications running under their Linux compatibility layer.</p>

<p>These interfaces have been tested and working as well as updating the "suse131" packages in NetBSD to make use of those interfaces. So the necessary interfaces are now in place for Linux software running on NetBSD to be able to use accelerated graphics though Steam itself isn't yet running on NetBSD with this layer.</p>

<p>Those curious about this DRM ioctl GSoC project can learn more from <a href="https://blog.netbsd.org/tnf/entry/gsoc_2019_report_implementation_of" target="_blank" rel="nofollow noopener">the NetBSD blog</a>. NetBSD has also been seeing work this summer on Wayland support and better Wine support to ultimately make this BSD a better desktop operating system and potentially a comparable gaming platform to Linux.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/MengTangmu/status/1163265206660694016" target="_blank" rel="nofollow noopener">FreeBSD in Wellington?</a></li>
<li><a href="https://twitter.com/onewilshire/status/1163792878642114560" target="_blank" rel="nofollow noopener">FreeBSD on GFE</a></li>
<li><a href="https://twitter.com/onewilshire/status/1166323112620826624" target="_blank" rel="nofollow noopener">Clarification</a> </li>
<li><a href="https://distrotest.net/" target="_blank" rel="nofollow noopener">Distrotest.net now with BSDs</a></li>
<li><a href="https://fahrplan.events.ccc.de/camp/2019/Fahrplan/events/10334.html" target="_blank" rel="nofollow noopener">Lecture: Anykernels meet fuzzing NetBSD</a></li>
<li><a href="https://www.khoslaventures.com/wp-content/uploads/SunMicrosystem_bus_plan.pdf" target="_blank" rel="nofollow noopener">Sun Microsystems business plan from 1982 [pdf]</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Alan - <a href="http://dpaste.com/1Z8EGTW" target="_blank" rel="nofollow noopener">Questions</a></li>
<li>Rodriguez - <a href="http://dpaste.com/2PZFP4X#wrap" target="_blank" rel="nofollow noopener">Feedback and a question</a></li>
<li>Jeff - <a href="http://dpaste.com/02ZM6YE#wrap" target="_blank" rel="nofollow noopener">OpenZFS follow-up, FreeBSD Adventures</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0314.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>313: In-Kernel TLS</title>
  <link>https://www.bsdnow.tv/313</link>
  <guid isPermaLink="false">15bbd7ef-a3c7-4996-9751-d37aa7b5a255</guid>
  <pubDate>Thu, 29 Aug 2019 00:30:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/15bbd7ef-a3c7-4996-9751-d37aa7b5a255.mp3" length="39745015" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD on 7th gen Thinkpad X1 Carbon, how to install FreeBSD on a MacBook, Kernel portion of in-kernel TLS (KTLS), Boot Environments on DragonflyBSD, Project Trident Updates, vBSDcon schedule, and more.</itunes:subtitle>
  <itunes:duration>55:12</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>&lt;p&gt;OpenBSD on 7th gen Thinkpad X1 Carbon, how to install FreeBSD on a MacBook, Kernel portion of in-kernel TLS (KTLS), Boot Environments on DragonflyBSD, Project Trident Updates, vBSDcon schedule, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://jcs.org/2019/08/14/x1c7" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the Thinkpad X1 Carbon 7th Gen&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Another year, another ThinkPad X1 Carbon, this time with a Dolby Atmos sound system and a smaller battery.&lt;br&gt;
The seventh generation X1 Carbon isn't much different than the fifth and sixth generations. I opted for the non-vPro Core i5-8265U, 16Gb of RAM, a 512Gb NVMe SSD, and a matte non-touch WQHD display at ~300 nits. A brighter 500-nit 4k display is available, though early reports indicated it severely impacts battery life.&lt;br&gt;
Gone are the microSD card slot on the back and 1mm of overall thickness (from 15.95mm to 14.95mm), but also 6Whr of battery (down to 51Whr) and a little bit of travel in the keyboard and TrackPoint buttons. I still very much like the feel of both of them, so kudos to Lenovo for not going too far down the Apple route of sacrificing performance and usability just for a thinner profile.&lt;br&gt;
On my fifth generation X1 Carbon, I used a vinyl plotter to cut out stickers to cover the webcam, "X1 Carbon" branding from the bottom of the display, the power button LED, and the "ThinkPad" branding from the lower part of the keyboard deck.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See link for the rest of the article&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://lexploit.com/freebsdmacbook1-1-2-1/" target="_blank" rel="nofollow noopener"&gt;How To Install FreeBSD On A MacBook 1,1 or 2,1&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt; FreeBSD Setup For MacBook 1,1 and 2,1&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD with some additional setup can be installed on a MacBook 1,1 or 2,1. This article covers how to do so with FreeBSD 10-12.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Installing&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD can be installed as the only OS on your MacBook if desired. What you should have is:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A Mac OS X 10.4.6-10.7.5 installer. Unofficial versions modified for these MacBooks such as 10.8 also work.&lt;/li&gt;
&lt;li&gt;A blank CD or DVD to burn the FreeBSD image to. Discs simply work best with these older MacBooks.&lt;/li&gt;
&lt;li&gt;An ISO file of FreeBSD for x86. The AMD64 ISO does not boot due to the 32 bit EFI of these MacBooks.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Burn the ISO file to the blank CD or DVD. Once done, make sure it's in your MacBook and then power off the MacBook. Turn it on, and hold down the c key until the FreeBSD disc boots.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;See link for the rest of the guide&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=351522" target="_blank" rel="nofollow noopener"&gt;Patch for review: Kernel portion of in-kernel TLS (KTLS)&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the projects I have been working on for the past several months in conjunction with several other folks is upstreaming work from Netflix to handle some aspects of Transport Layer Security (TLS) in the kernel. In particular, this lets a web server use sendfile() to send static content on HTTPS connections.  There is a lot more detail in the review itself, so I will spare pasting a big wall of text here.  However, I have posted the patch to add the kernel-side of KTLS for review at the URL below.  KTLS also requires other patches to OpenSSL and nginx, but this review is only for the kernel bits.  Patches and reviews for the other bits will follow later.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://reviews.freebsd.org/D21277" target="_blank" rel="nofollow noopener"&gt;https://reviews.freebsd.org/D21277&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/newnix/dfbeadm" target="_blank" rel="nofollow noopener"&gt;DragonFly Boot Enviroments&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a tool inspired by the beadm utility for FreeBSD/Illumos systems that creates and manages ZFS boot environments. This utility in contrast is written from the ground up in C, this should provide better performance, integration, and extensibility than the POSIX sh and awk script it was inspired by. During the time this project has been worked on, beadm has been superseded by bectl on FreeBSD. After hammering out some of the outstanding internal logic issues, I might look at providing a similar interface to the command as bectl.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See link for the rest of the details&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;Project Trident Updates&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://project-trident.org/post/2019-08-15_19.08_available/" target="_blank" rel="nofollow noopener"&gt;19.08 Available&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a general package update to the CURRENT release repository based upon TrueOS 19.08.&lt;br&gt;
Legacy boot ISO functional again&lt;br&gt;
This update includes the FreeBSD fixes for the “vesa” graphics driver for legacy-boot systems. The system can once again be installed on legacy-boot systems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;PACKAGE CHANGES FROM 19.07-U1&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New Packages: 154&lt;/li&gt;
&lt;li&gt;Deleted Packages: 394&lt;/li&gt;
&lt;li&gt;Updated Packages: 4926&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://project-trident.org/post/2019-08-22_stable12-u3_available/" target="_blank" rel="nofollow noopener"&gt;12-U3 Available&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This is the third general package update to the STABLE release repository based upon TrueOS 12-Stable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;PACKAGE CHANGES FROM STABLE 12-U2

&lt;ul&gt;
&lt;li&gt;New Packages: 105&lt;/li&gt;
&lt;li&gt;Deleted Packages: 386&lt;/li&gt;
&lt;li&gt;Updated Packages: 1046&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.vbsdcon.com/schedule/" target="_blank" rel="nofollow noopener"&gt;vBSDcon&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;vBSDcon 2019 will return to the Hyatt Regency in Reston, VA on September 5-7 2019.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.nycbug.org/index?action=view&amp;amp;id=10671" target="_blank" rel="nofollow noopener"&gt;The next NYCBUG meeting will be Sept 4 @ 18:45&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Tom - &lt;a href="http://dpaste.com/1AXXK7G#wrap" target="_blank" rel="nofollow noopener"&gt;Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Michael - &lt;a href="http://dpaste.com/0PNEDYT#wrap" target="_blank" rel="nofollow noopener"&gt;dfbeadm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Bostjan - &lt;a href="http://dpaste.com/1N7T7BR#wrap" target="_blank" rel="nofollow noopener"&gt;Questions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0313.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, thinkpad, x1 carbon, macbook, install, installation, tls, kernel tls, ktls, boot environment, project trident, vbsdcon</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD on 7th gen Thinkpad X1 Carbon, how to install FreeBSD on a MacBook, Kernel portion of in-kernel TLS (KTLS), Boot Environments on DragonflyBSD, Project Trident Updates, vBSDcon schedule, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://jcs.org/2019/08/14/x1c7" target="_blank" rel="nofollow noopener">OpenBSD on the Thinkpad X1 Carbon 7th Gen</a></h3>

<blockquote>
<p>Another year, another ThinkPad X1 Carbon, this time with a Dolby Atmos sound system and a smaller battery.<br>
The seventh generation X1 Carbon isn't much different than the fifth and sixth generations. I opted for the non-vPro Core i5-8265U, 16Gb of RAM, a 512Gb NVMe SSD, and a matte non-touch WQHD display at ~300 nits. A brighter 500-nit 4k display is available, though early reports indicated it severely impacts battery life.<br>
Gone are the microSD card slot on the back and 1mm of overall thickness (from 15.95mm to 14.95mm), but also 6Whr of battery (down to 51Whr) and a little bit of travel in the keyboard and TrackPoint buttons. I still very much like the feel of both of them, so kudos to Lenovo for not going too far down the Apple route of sacrificing performance and usability just for a thinner profile.<br>
On my fifth generation X1 Carbon, I used a vinyl plotter to cut out stickers to cover the webcam, "X1 Carbon" branding from the bottom of the display, the power button LED, and the "ThinkPad" branding from the lower part of the keyboard deck.</p>
</blockquote>

<ul>
<li>See link for the rest of the article</li>
</ul>

<hr>

<h3><a href="http://lexploit.com/freebsdmacbook1-1-2-1/" target="_blank" rel="nofollow noopener">How To Install FreeBSD On A MacBook 1,1 or 2,1</a></h3>

<ul>
<li> FreeBSD Setup For MacBook 1,1 and 2,1</li>
</ul>

<blockquote>
<p>FreeBSD with some additional setup can be installed on a MacBook 1,1 or 2,1. This article covers how to do so with FreeBSD 10-12.</p>
</blockquote>

<ul>
<li>Installing</li>
</ul>

<blockquote>
<p>FreeBSD can be installed as the only OS on your MacBook if desired. What you should have is:</p>
</blockquote>

<ul>
<li>A Mac OS X 10.4.6-10.7.5 installer. Unofficial versions modified for these MacBooks such as 10.8 also work.</li>
<li>A blank CD or DVD to burn the FreeBSD image to. Discs simply work best with these older MacBooks.</li>
<li>An ISO file of FreeBSD for x86. The AMD64 ISO does not boot due to the 32 bit EFI of these MacBooks.</li>
<li><p>Burn the ISO file to the blank CD or DVD. Once done, make sure it's in your MacBook and then power off the MacBook. Turn it on, and hold down the c key until the FreeBSD disc boots.</p>

<ul>
<li>See link for the rest of the guide</li>
</ul></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=351522" target="_blank" rel="nofollow noopener">Patch for review: Kernel portion of in-kernel TLS (KTLS)</a></h3>

<blockquote>
<p>One of the projects I have been working on for the past several months in conjunction with several other folks is upstreaming work from Netflix to handle some aspects of Transport Layer Security (TLS) in the kernel. In particular, this lets a web server use sendfile() to send static content on HTTPS connections.  There is a lot more detail in the review itself, so I will spare pasting a big wall of text here.  However, I have posted the patch to add the kernel-side of KTLS for review at the URL below.  KTLS also requires other patches to OpenSSL and nginx, but this review is only for the kernel bits.  Patches and reviews for the other bits will follow later.</p>
</blockquote>

<ul>
<li><a href="https://reviews.freebsd.org/D21277" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D21277</a></li>
</ul>

<hr>

<h3><a href="https://github.com/newnix/dfbeadm" target="_blank" rel="nofollow noopener">DragonFly Boot Enviroments</a></h3>

<blockquote>
<p>This is a tool inspired by the beadm utility for FreeBSD/Illumos systems that creates and manages ZFS boot environments. This utility in contrast is written from the ground up in C, this should provide better performance, integration, and extensibility than the POSIX sh and awk script it was inspired by. During the time this project has been worked on, beadm has been superseded by bectl on FreeBSD. After hammering out some of the outstanding internal logic issues, I might look at providing a similar interface to the command as bectl.</p>
</blockquote>

<ul>
<li>See link for the rest of the details</li>
</ul>

<hr>

<h3>Project Trident Updates</h3>

<ul>
<li><a href="https://project-trident.org/post/2019-08-15_19.08_available/" target="_blank" rel="nofollow noopener">19.08 Available</a></li>
</ul>

<blockquote>
<p>This is a general package update to the CURRENT release repository based upon TrueOS 19.08.<br>
Legacy boot ISO functional again<br>
This update includes the FreeBSD fixes for the “vesa” graphics driver for legacy-boot systems. The system can once again be installed on legacy-boot systems.</p>
</blockquote>

<ul>
<li><p>PACKAGE CHANGES FROM 19.07-U1</p>

<ul>
<li>New Packages: 154</li>
<li>Deleted Packages: 394</li>
<li>Updated Packages: 4926</li>
</ul></li>
<li><p><a href="https://project-trident.org/post/2019-08-22_stable12-u3_available/" target="_blank" rel="nofollow noopener">12-U3 Available</a></p></li>
</ul>

<blockquote>
<p>This is the third general package update to the STABLE release repository based upon TrueOS 12-Stable.</p>
</blockquote>

<ul>
<li>PACKAGE CHANGES FROM STABLE 12-U2

<ul>
<li>New Packages: 105</li>
<li>Deleted Packages: 386</li>
<li>Updated Packages: 1046</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://www.vbsdcon.com/schedule/" target="_blank" rel="nofollow noopener">vBSDcon</a></h3>

<ul>
<li>vBSDcon 2019 will return to the Hyatt Regency in Reston, VA on September 5-7 2019.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.nycbug.org/index?action=view&amp;id=10671" target="_blank" rel="nofollow noopener">The next NYCBUG meeting will be Sept 4 @ 18:45</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Tom - <a href="http://dpaste.com/1AXXK7G#wrap" target="_blank" rel="nofollow noopener">Questions</a></li>
<li>Michael - <a href="http://dpaste.com/0PNEDYT#wrap" target="_blank" rel="nofollow noopener">dfbeadm</a></li>
<li>Bostjan - <a href="http://dpaste.com/1N7T7BR#wrap" target="_blank" rel="nofollow noopener">Questions</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0313.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD on 7th gen Thinkpad X1 Carbon, how to install FreeBSD on a MacBook, Kernel portion of in-kernel TLS (KTLS), Boot Environments on DragonflyBSD, Project Trident Updates, vBSDcon schedule, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://jcs.org/2019/08/14/x1c7" target="_blank" rel="nofollow noopener">OpenBSD on the Thinkpad X1 Carbon 7th Gen</a></h3>

<blockquote>
<p>Another year, another ThinkPad X1 Carbon, this time with a Dolby Atmos sound system and a smaller battery.<br>
The seventh generation X1 Carbon isn't much different than the fifth and sixth generations. I opted for the non-vPro Core i5-8265U, 16Gb of RAM, a 512Gb NVMe SSD, and a matte non-touch WQHD display at ~300 nits. A brighter 500-nit 4k display is available, though early reports indicated it severely impacts battery life.<br>
Gone are the microSD card slot on the back and 1mm of overall thickness (from 15.95mm to 14.95mm), but also 6Whr of battery (down to 51Whr) and a little bit of travel in the keyboard and TrackPoint buttons. I still very much like the feel of both of them, so kudos to Lenovo for not going too far down the Apple route of sacrificing performance and usability just for a thinner profile.<br>
On my fifth generation X1 Carbon, I used a vinyl plotter to cut out stickers to cover the webcam, "X1 Carbon" branding from the bottom of the display, the power button LED, and the "ThinkPad" branding from the lower part of the keyboard deck.</p>
</blockquote>

<ul>
<li>See link for the rest of the article</li>
</ul>

<hr>

<h3><a href="http://lexploit.com/freebsdmacbook1-1-2-1/" target="_blank" rel="nofollow noopener">How To Install FreeBSD On A MacBook 1,1 or 2,1</a></h3>

<ul>
<li> FreeBSD Setup For MacBook 1,1 and 2,1</li>
</ul>

<blockquote>
<p>FreeBSD with some additional setup can be installed on a MacBook 1,1 or 2,1. This article covers how to do so with FreeBSD 10-12.</p>
</blockquote>

<ul>
<li>Installing</li>
</ul>

<blockquote>
<p>FreeBSD can be installed as the only OS on your MacBook if desired. What you should have is:</p>
</blockquote>

<ul>
<li>A Mac OS X 10.4.6-10.7.5 installer. Unofficial versions modified for these MacBooks such as 10.8 also work.</li>
<li>A blank CD or DVD to burn the FreeBSD image to. Discs simply work best with these older MacBooks.</li>
<li>An ISO file of FreeBSD for x86. The AMD64 ISO does not boot due to the 32 bit EFI of these MacBooks.</li>
<li><p>Burn the ISO file to the blank CD or DVD. Once done, make sure it's in your MacBook and then power off the MacBook. Turn it on, and hold down the c key until the FreeBSD disc boots.</p>

<ul>
<li>See link for the rest of the guide</li>
</ul></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=351522" target="_blank" rel="nofollow noopener">Patch for review: Kernel portion of in-kernel TLS (KTLS)</a></h3>

<blockquote>
<p>One of the projects I have been working on for the past several months in conjunction with several other folks is upstreaming work from Netflix to handle some aspects of Transport Layer Security (TLS) in the kernel. In particular, this lets a web server use sendfile() to send static content on HTTPS connections.  There is a lot more detail in the review itself, so I will spare pasting a big wall of text here.  However, I have posted the patch to add the kernel-side of KTLS for review at the URL below.  KTLS also requires other patches to OpenSSL and nginx, but this review is only for the kernel bits.  Patches and reviews for the other bits will follow later.</p>
</blockquote>

<ul>
<li><a href="https://reviews.freebsd.org/D21277" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D21277</a></li>
</ul>

<hr>

<h3><a href="https://github.com/newnix/dfbeadm" target="_blank" rel="nofollow noopener">DragonFly Boot Enviroments</a></h3>

<blockquote>
<p>This is a tool inspired by the beadm utility for FreeBSD/Illumos systems that creates and manages ZFS boot environments. This utility in contrast is written from the ground up in C, this should provide better performance, integration, and extensibility than the POSIX sh and awk script it was inspired by. During the time this project has been worked on, beadm has been superseded by bectl on FreeBSD. After hammering out some of the outstanding internal logic issues, I might look at providing a similar interface to the command as bectl.</p>
</blockquote>

<ul>
<li>See link for the rest of the details</li>
</ul>

<hr>

<h3>Project Trident Updates</h3>

<ul>
<li><a href="https://project-trident.org/post/2019-08-15_19.08_available/" target="_blank" rel="nofollow noopener">19.08 Available</a></li>
</ul>

<blockquote>
<p>This is a general package update to the CURRENT release repository based upon TrueOS 19.08.<br>
Legacy boot ISO functional again<br>
This update includes the FreeBSD fixes for the “vesa” graphics driver for legacy-boot systems. The system can once again be installed on legacy-boot systems.</p>
</blockquote>

<ul>
<li><p>PACKAGE CHANGES FROM 19.07-U1</p>

<ul>
<li>New Packages: 154</li>
<li>Deleted Packages: 394</li>
<li>Updated Packages: 4926</li>
</ul></li>
<li><p><a href="https://project-trident.org/post/2019-08-22_stable12-u3_available/" target="_blank" rel="nofollow noopener">12-U3 Available</a></p></li>
</ul>

<blockquote>
<p>This is the third general package update to the STABLE release repository based upon TrueOS 12-Stable.</p>
</blockquote>

<ul>
<li>PACKAGE CHANGES FROM STABLE 12-U2

<ul>
<li>New Packages: 105</li>
<li>Deleted Packages: 386</li>
<li>Updated Packages: 1046</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://www.vbsdcon.com/schedule/" target="_blank" rel="nofollow noopener">vBSDcon</a></h3>

<ul>
<li>vBSDcon 2019 will return to the Hyatt Regency in Reston, VA on September 5-7 2019.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.nycbug.org/index?action=view&amp;id=10671" target="_blank" rel="nofollow noopener">The next NYCBUG meeting will be Sept 4 @ 18:45</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Tom - <a href="http://dpaste.com/1AXXK7G#wrap" target="_blank" rel="nofollow noopener">Questions</a></li>
<li>Michael - <a href="http://dpaste.com/0PNEDYT#wrap" target="_blank" rel="nofollow noopener">dfbeadm</a></li>
<li>Bostjan - <a href="http://dpaste.com/1N7T7BR#wrap" target="_blank" rel="nofollow noopener">Questions</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0313.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </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>&lt;p&gt;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.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://triosdevelopers.com/jason.eckert/blog/Entries/2019/6/1_Entry_1.html" target="_blank" rel="nofollow noopener"&gt;The UNIX Philosophy in 2019&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;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:&lt;/p&gt;
&lt;/blockquote&gt;

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

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://uwm.edu/hpc/software-management/" target="_blank" rel="nofollow noopener"&gt;Why Use Package Managers?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Valuable research is often hindered or outright prevented by the inability to install software.  This need not be the case.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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?&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://jcs.org/2019/07/28/ihidev" target="_blank" rel="nofollow noopener"&gt;Touchpad, Interrupted&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;It's been a long journey and it's a technical tale, but here it is.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/porting_wine_to_amd64_on2" target="_blank" rel="nofollow noopener"&gt;Porting wine to amd64 on NetBSD, second evaluation report&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Summary&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;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'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.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/enchancing_syzkaller_support_for_netbsd" target="_blank" rel="nofollow noopener"&gt;Enhancing Syzkaller Support for NetBSD, Part 2&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;

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

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.pine64.org/2019/07/05/july-update-all-about-the-pinebook-pro/" target="_blank" rel="nofollow noopener"&gt;July Update: All about the Pinebook Pro&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;"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."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://morningcoffee.io/killing-a-process-and-all-of-its-descendants.html" target="_blank" rel="nofollow noopener"&gt;Killing a process and all of its descendants&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;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:&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Sending signals to all processes in a session is not trivial with syscalls.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;The answer to the “What happens with orphaned process groups” question is not trivial.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://craigmod.com/essays/fast_software/" target="_blank" rel="nofollow noopener"&gt;Fast Software, the Best Software&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;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.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://vbsdcon.com/registration" target="_blank" rel="nofollow noopener"&gt;Register for vBSDCon 2019, Sept 5-7 in Reston VA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2019.eurobsdcon.org/registration/" target="_blank" rel="nofollow noopener"&gt;Register for EuroBSDCon 2019, Sept 19-22 in Lillehammer, Norway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

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

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0312.mp4" type="video/mp4"&gt;
    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" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">Touchpad, Interrupted</a></h3>

<blockquote>
<p>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.</p>

<p>It's been a long journey and it'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" target="_blank" rel="nofollow noopener">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'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.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/enchancing_syzkaller_support_for_netbsd" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">July Update: All about the Pinebook Pro</a></h3>

<blockquote>
<p>"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."</p>
</blockquote>

<hr>

<h3><a href="http://morningcoffee.io/killing-a-process-and-all-of-its-descendants.html" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">Register for vBSDCon 2019, Sept 5-7 in Reston VA</a></li>
<li><a href="https://2019.eurobsdcon.org/registration/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">FreeNAS Question</a></li>
<li>Marc - <a href="http://dpaste.com/1AKC7A1#wrap" target="_blank" rel="nofollow noopener">Changing VT without function keys?</a></li>
<li>Caleb - <a href="http://dpaste.com/2D6J482#wrap" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <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.
]]>
  </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" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">Touchpad, Interrupted</a></h3>

<blockquote>
<p>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.</p>

<p>It's been a long journey and it'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" target="_blank" rel="nofollow noopener">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'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.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/enchancing_syzkaller_support_for_netbsd" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">July Update: All about the Pinebook Pro</a></h3>

<blockquote>
<p>"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."</p>
</blockquote>

<hr>

<h3><a href="http://morningcoffee.io/killing-a-process-and-all-of-its-descendants.html" target="_blank" rel="nofollow noopener">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/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">Register for vBSDCon 2019, Sept 5-7 in Reston VA</a></li>
<li><a href="https://2019.eurobsdcon.org/registration/" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">FreeNAS Question</a></li>
<li>Marc - <a href="http://dpaste.com/1AKC7A1#wrap" target="_blank" rel="nofollow noopener">Changing VT without function keys?</a></li>
<li>Caleb - <a href="http://dpaste.com/2D6J482#wrap" target="_blank" rel="nofollow noopener">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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <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.
]]>
  </itunes:summary>
</item>
<item>
  <title>311: Conference Gear Breakdown</title>
  <link>https://www.bsdnow.tv/311</link>
  <guid isPermaLink="false">1d57e61a-57d9-4d3b-ac9a-c3a4c061da07</guid>
  <pubDate>Thu, 15 Aug 2019 09:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/1d57e61a-57d9-4d3b-ac9a-c3a4c061da07.mp3" length="52868098" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>
NetBSD 9.0 release process has started, xargs, a tale of two spellcheckers, Adapting TriforceAFL for NetBSD, Exploiting a no-name freebsd kernel vulnerability, and more.</itunes:subtitle>
  <itunes:duration>1:13:25</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>&lt;p&gt;NetBSD 9.0 release process has started, xargs, a tale of two spellcheckers, Adapting TriforceAFL for NetBSD, Exploiting a no-name freebsd kernel vulnerability, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mail-index.netbsd.org/netbsd-announce/2019/07/31/msg000301.html" target="_blank" rel="nofollow noopener"&gt;NetBSD 9.0 release process has started&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;If you have been following source-changes, you may have noticed the creation of the netbsd-9 branch! It has some really exciting items that we worked on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New AArch64 architecture support:

&lt;ul&gt;
&lt;li&gt;Symmetric and asymmetrical multiprocessing support (aka big.LITTLE)&lt;/li&gt;
&lt;li&gt;Support for running 32-bit binaries&lt;/li&gt;
&lt;li&gt;UEFI and ACPI support&lt;/li&gt;
&lt;li&gt;Support for SBSA/SBBR (server-class) hardware.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;The FDT-ization of many ARM boards:

&lt;ul&gt;
&lt;li&gt;the 32-bit GENERIC kernel lists 129 different DTS configurations&lt;/li&gt;
&lt;li&gt;the 64-bit GENERIC64 kernel lists 74 different DTS configurations&lt;/li&gt;
&lt;li&gt;All supported by a single kernel, without requiring per-board configuration.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Graphics driver update, matching Linux 4.4, adding support for up to Kaby Lake based Intel graphics devices.&lt;/li&gt;
&lt;li&gt;ZFS has been updated to a modern version and seen many bugfixes.&lt;/li&gt;
&lt;li&gt;New hardware-accelerated virtualization via NVMM.&lt;/li&gt;
&lt;li&gt;NPF performance improvements and bug fixes. A new lookup algorithm, thmap, is now the default.&lt;/li&gt;
&lt;li&gt;NVMe performance improvements&lt;/li&gt;
&lt;li&gt;Optional kernel ASLR support, and partial kernel ASLR for the default configuration.&lt;/li&gt;
&lt;li&gt;Kernel sanitizers:

&lt;ul&gt;
&lt;li&gt;KLEAK, detecting memory leaks&lt;/li&gt;
&lt;li&gt;KASAN, detecting memory overruns&lt;/li&gt;
&lt;li&gt;KUBSAN, detecting undefined behaviour&lt;/li&gt;
&lt;li&gt;These have been used together with continuous fuzzing via the syzkaller project to find many bugs that were fixed.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;The removal of outdated networking components such as ISDN and all of its drivers&lt;/li&gt;
&lt;li&gt;The installer is now capable of performing GPT UEFI installations.&lt;/li&gt;
&lt;li&gt;Dramatically improved support for userland sanitizers, as well as the option to build all of NetBSD's userland using them for bug-finding.&lt;/li&gt;
&lt;li&gt;Update to graphics userland: Mesa was updated to 18.3.4, and llvmpipe is now available for several architectures, providing 3D graphics even in the absence of a supported GPU.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We try to test NetBSD as best as we can, but your testing can help NetBSD 9.0 a great release. Please test it and let us know of any bugs you find.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Binaries are available at &lt;a href="https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-9/latest/" target="_blank" rel="nofollow noopener"&gt;https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-9/latest/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://medium.com/@aarontharris/xargs-wtf-34d2618286b7" target="_blank" rel="nofollow noopener"&gt;xargs wtf&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;xargs is probably one of the more difficult to understand of the unix command arsenal and of course that just means it’s one of the most useful too.&lt;br&gt;
I discovered a handy trick that I thought was worth a share. Please note there are probably other (better) ways to do this but I did my stackoverflow research and found nothing better.&lt;br&gt;
xargs — at least how I’ve most utilized it — is handy for taking some number of lines as input and doing some work per line. It’s hard to be more specific than that as it does so much else.&lt;br&gt;
It literally took me an hour of piecing together random man pages + tips from 11 year olds on stack overflow, but eventually I produced this gem:&lt;br&gt;
This is an example of how to find files matching a certain pattern and rename each of them. It sounds so trivial (and it is) but it demonstrates some cool tricks in an easy concept.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://bentsukun.ch/posts/pkgsrccon-2019/" target="_blank" rel="nofollow noopener"&gt;PkgSrc: A Tale of Two Spellcheckers&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a transcript of the talk I gave at pkgsrcCon 2019 in Cambridge, UK. It is about spellcheckers, but there are much more general software engineering lessons that we can learn from this case study.&lt;br&gt;
The reason I got into this subject at all was my paternal leave last year, when I finally had some more time to spend working on pkgsrc. It was a tiny item in the enormous TODO file at the top of the source tree (“update enchant to version 2.2”) that made me go into this rabbit hole.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/adapting_triforceafl_for_netbsd_part1" target="_blank" rel="nofollow noopener"&gt;Adapting TriforceAFL for NetBSD, Part 2&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I have been working on adapting TriforceAFL for NetBSD kernel syscall fuzzing. This blog post summarizes the work done until the second evaluation.&lt;br&gt;
For work done during the first coding period, check out this post.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Summary
&amp;gt; So far, the TriforceNetBSDSyscallFuzzer has been made available in the form of a pkgsrc package with the ability to fuzz most of NetBSD syscalls. In the final coding period of GSoC. I plan to analyse the crashes that were found until now. Integrate sanitizers, try and find more bugs and finally wrap up neatly with detailed documentation.
&amp;gt; Last but not least, I would like to thank my mentor, Kamil Rytarowski for helping me through the process and guiding me. It has been a wonderful learning experience so far!&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.synacktiv.com/posts/exploit/exploiting-a-no-name-freebsd-kernel-vulnerability.html" target="_blank" rel="nofollow noopener"&gt;Exploiting a no-name freebsd kernel vulnerability&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A new patch has been recently shipped in FreeBSD kernels to fix a vulnerability (cve-2019-5602) present in the cdrom device. In this post, we will introduce the bug and discuss its exploitation on pre/post-SMEP FreeBSD revisions.
&amp;gt; A closer look at the commit 6bcf6e3 shows that when invoking the CDIOCREADSUBCHANNEL_SYSSPACE ioctl, data are copied with bcopy instead of the copyout primitive. This endows a local attacker belonging to the operator group with an arbitrary write primitive in the kernel memory.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;[Allan and Benedicts Conference Gear Breakdown]&lt;/h3&gt;

&lt;ul&gt;

&lt;li&gt;&lt;p&gt;Benedict’s Gear:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://www.glocalme.com/CA/en-US/cloudsim/g3" target="_blank" rel="nofollow noopener"&gt;GlocalMe G3 Mobile Travel HotSpot and Powerbank&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.mogics.com/3824-2" target="_blank" rel="nofollow noopener"&gt;Mogics Power Bagel&lt;/a&gt;&lt;br&gt;
&lt;a href="https://charbycharge.com/charby-sense-worlds-smartest-auto-cutoff-cable/" target="_blank" rel="nofollow noopener"&gt;Charby Sense Power Cable&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Allan’s Gear:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://smile.amazon.com/gp/product/B013CEGGKI/" target="_blank" rel="nofollow noopener"&gt;Huawei E5770s-320 4G LTE 150 Mbps Mobile WiFi Pro&lt;/a&gt;&lt;br&gt;
&lt;a href="https://smile.amazon.com/dp/B071HJFX27/" target="_blank" rel="nofollow noopener"&gt;AOW Global Data SIM Card for On-Demand 4G LTE Mobile Data in Over 90 Countries&lt;/a&gt;&lt;br&gt;
All my devices charge from USB-C, so that is great&lt;br&gt;
More USB thumb drives than strictly necessary&lt;br&gt;
My Lenovo X270 laptop running FreeBSD 13-current&lt;br&gt;
My 2016 Macbook Pro (a prize from the raffle at vBSDCon 2017) that I use for email and video conferencing to preserve battery on my FreeBSD machine for work&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=L9v4Mg8wi4U&amp;amp;feature=youtu.be" target="_blank" rel="nofollow noopener"&gt;Replacing the Unix tradition (Warning may be rage inducing)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.thanassis.space/remoteserial.html#remoteserial" target="_blank" rel="nofollow noopener"&gt;Installing OpenBSD over remote serial on the AtomicPI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/08/05/23294.html" target="_blank" rel="nofollow noopener"&gt;Zen 2 and DragonFly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.yukiisbo.red/posts/2019/05/improve-docking-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Improve Docking on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vbsdcon.com/registration" target="_blank" rel="nofollow noopener"&gt;Register for vBSDCon 2019, Sept 5-7 in Reston VA. Early bird ends August 15th.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2019.eurobsdcon.org/registration/" target="_blank" rel="nofollow noopener"&gt;Register for EuroBSDCon 2019, Sept 19-22 in Lillehammer, Norway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;JT - &lt;a href="http://dpaste.com/0D7Y31E#wrap" target="_blank" rel="nofollow noopener"&gt;Congrats&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0311.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, xargs, spellchecker, tale, triforceafl, kernel, vulnerability, conference, gear, tools, gadgets, utilities</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>NetBSD 9.0 release process has started, xargs, a tale of two spellcheckers, Adapting TriforceAFL for NetBSD, Exploiting a no-name freebsd kernel vulnerability, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://mail-index.netbsd.org/netbsd-announce/2019/07/31/msg000301.html" target="_blank" rel="nofollow noopener">NetBSD 9.0 release process has started</a></h3>

<blockquote>
<p>If you have been following source-changes, you may have noticed the creation of the netbsd-9 branch! It has some really exciting items that we worked on:</p>

<ul>
<li>New AArch64 architecture support:

<ul>
<li>Symmetric and asymmetrical multiprocessing support (aka big.LITTLE)</li>
<li>Support for running 32-bit binaries</li>
<li>UEFI and ACPI support</li>
<li>Support for SBSA/SBBR (server-class) hardware.</li>
</ul></li>
<li>The FDT-ization of many ARM boards:

<ul>
<li>the 32-bit GENERIC kernel lists 129 different DTS configurations</li>
<li>the 64-bit GENERIC64 kernel lists 74 different DTS configurations</li>
<li>All supported by a single kernel, without requiring per-board configuration.</li>
</ul></li>
<li>Graphics driver update, matching Linux 4.4, adding support for up to Kaby Lake based Intel graphics devices.</li>
<li>ZFS has been updated to a modern version and seen many bugfixes.</li>
<li>New hardware-accelerated virtualization via NVMM.</li>
<li>NPF performance improvements and bug fixes. A new lookup algorithm, thmap, is now the default.</li>
<li>NVMe performance improvements</li>
<li>Optional kernel ASLR support, and partial kernel ASLR for the default configuration.</li>
<li>Kernel sanitizers:

<ul>
<li>KLEAK, detecting memory leaks</li>
<li>KASAN, detecting memory overruns</li>
<li>KUBSAN, detecting undefined behaviour</li>
<li>These have been used together with continuous fuzzing via the syzkaller project to find many bugs that were fixed.</li>
</ul></li>
<li>The removal of outdated networking components such as ISDN and all of its drivers</li>
<li>The installer is now capable of performing GPT UEFI installations.</li>
<li>Dramatically improved support for userland sanitizers, as well as the option to build all of NetBSD's userland using them for bug-finding.</li>
<li>Update to graphics userland: Mesa was updated to 18.3.4, and llvmpipe is now available for several architectures, providing 3D graphics even in the absence of a supported GPU.</li>
</ul>

<p>We try to test NetBSD as best as we can, but your testing can help NetBSD 9.0 a great release. Please test it and let us know of any bugs you find.</p>

<ul>
<li>Binaries are available at <a href="https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-9/latest/" target="_blank" rel="nofollow noopener">https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-9/latest/</a></li>
</ul>
</blockquote>

<hr>

<h3><a href="https://medium.com/@aarontharris/xargs-wtf-34d2618286b7" target="_blank" rel="nofollow noopener">xargs wtf</a></h3>

<blockquote>
<p>xargs is probably one of the more difficult to understand of the unix command arsenal and of course that just means it’s one of the most useful too.<br>
I discovered a handy trick that I thought was worth a share. Please note there are probably other (better) ways to do this but I did my stackoverflow research and found nothing better.<br>
xargs — at least how I’ve most utilized it — is handy for taking some number of lines as input and doing some work per line. It’s hard to be more specific than that as it does so much else.<br>
It literally took me an hour of piecing together random man pages + tips from 11 year olds on stack overflow, but eventually I produced this gem:<br>
This is an example of how to find files matching a certain pattern and rename each of them. It sounds so trivial (and it is) but it demonstrates some cool tricks in an easy concept.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://bentsukun.ch/posts/pkgsrccon-2019/" target="_blank" rel="nofollow noopener">PkgSrc: A Tale of Two Spellcheckers</a></h3>

<blockquote>
<p>This is a transcript of the talk I gave at pkgsrcCon 2019 in Cambridge, UK. It is about spellcheckers, but there are much more general software engineering lessons that we can learn from this case study.<br>
The reason I got into this subject at all was my paternal leave last year, when I finally had some more time to spend working on pkgsrc. It was a tiny item in the enormous TODO file at the top of the source tree (“update enchant to version 2.2”) that made me go into this rabbit hole.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/adapting_triforceafl_for_netbsd_part1" target="_blank" rel="nofollow noopener">Adapting TriforceAFL for NetBSD, Part 2</a></h3>

<blockquote>
<p>I have been working on adapting TriforceAFL for NetBSD kernel syscall fuzzing. This blog post summarizes the work done until the second evaluation.<br>
For work done during the first coding period, check out this post.</p>
</blockquote>

<ul>
<li>Summary
&gt; So far, the TriforceNetBSDSyscallFuzzer has been made available in the form of a pkgsrc package with the ability to fuzz most of NetBSD syscalls. In the final coding period of GSoC. I plan to analyse the crashes that were found until now. Integrate sanitizers, try and find more bugs and finally wrap up neatly with detailed documentation.
&gt; Last but not least, I would like to thank my mentor, Kamil Rytarowski for helping me through the process and guiding me. It has been a wonderful learning experience so far!</li>
</ul>

<hr>

<h3><a href="https://www.synacktiv.com/posts/exploit/exploiting-a-no-name-freebsd-kernel-vulnerability.html" target="_blank" rel="nofollow noopener">Exploiting a no-name freebsd kernel vulnerability</a></h3>

<ul>
<li>A new patch has been recently shipped in FreeBSD kernels to fix a vulnerability (cve-2019-5602) present in the cdrom device. In this post, we will introduce the bug and discuss its exploitation on pre/post-SMEP FreeBSD revisions.
&gt; A closer look at the commit 6bcf6e3 shows that when invoking the CDIOCREADSUBCHANNEL_SYSSPACE ioctl, data are copied with bcopy instead of the copyout primitive. This endows a local attacker belonging to the operator group with an arbitrary write primitive in the kernel memory.</li>
</ul>

<hr>

<h3>[Allan and Benedicts Conference Gear Breakdown]</h3>

<ul>

<li><p>Benedict’s Gear:</p>

<blockquote>
<p><a href="https://www.glocalme.com/CA/en-US/cloudsim/g3" target="_blank" rel="nofollow noopener">GlocalMe G3 Mobile Travel HotSpot and Powerbank</a><br>
<a href="http://www.mogics.com/3824-2" target="_blank" rel="nofollow noopener">Mogics Power Bagel</a><br>
<a href="https://charbycharge.com/charby-sense-worlds-smartest-auto-cutoff-cable/" target="_blank" rel="nofollow noopener">Charby Sense Power Cable</a></p>
</blockquote></li>
<li><p>Allan’s Gear:</p>

<blockquote>
<p><a href="https://smile.amazon.com/gp/product/B013CEGGKI/" target="_blank" rel="nofollow noopener">Huawei E5770s-320 4G LTE 150 Mbps Mobile WiFi Pro</a><br>
<a href="https://smile.amazon.com/dp/B071HJFX27/" target="_blank" rel="nofollow noopener">AOW Global Data SIM Card for On-Demand 4G LTE Mobile Data in Over 90 Countries</a><br>
All my devices charge from USB-C, so that is great<br>
More USB thumb drives than strictly necessary<br>
My Lenovo X270 laptop running FreeBSD 13-current<br>
My 2016 Macbook Pro (a prize from the raffle at vBSDCon 2017) that I use for email and video conferencing to preserve battery on my FreeBSD machine for work</p>
</blockquote></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=L9v4Mg8wi4U&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">Replacing the Unix tradition (Warning may be rage inducing)</a></li>
<li><a href="https://www.thanassis.space/remoteserial.html#remoteserial" target="_blank" rel="nofollow noopener">Installing OpenBSD over remote serial on the AtomicPI</a></li>
<li><a href="https://www.dragonflydigest.com/2019/08/05/23294.html" target="_blank" rel="nofollow noopener">Zen 2 and DragonFly</a></li>
<li><a href="https://blog.yukiisbo.red/posts/2019/05/improve-docking-on-freebsd/" target="_blank" rel="nofollow noopener">Improve Docking on FreeBSD</a></li>
<li><a href="https://vbsdcon.com/registration" target="_blank" rel="nofollow noopener">Register for vBSDCon 2019, Sept 5-7 in Reston VA. Early bird ends August 15th.</a></li>
<li><a href="https://2019.eurobsdcon.org/registration/" target="_blank" rel="nofollow noopener">Register for EuroBSDCon 2019, Sept 19-22 in Lillehammer, Norway</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>JT - <a href="http://dpaste.com/0D7Y31E#wrap" target="_blank" rel="nofollow noopener">Congrats</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0311.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>NetBSD 9.0 release process has started, xargs, a tale of two spellcheckers, Adapting TriforceAFL for NetBSD, Exploiting a no-name freebsd kernel vulnerability, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://mail-index.netbsd.org/netbsd-announce/2019/07/31/msg000301.html" target="_blank" rel="nofollow noopener">NetBSD 9.0 release process has started</a></h3>

<blockquote>
<p>If you have been following source-changes, you may have noticed the creation of the netbsd-9 branch! It has some really exciting items that we worked on:</p>

<ul>
<li>New AArch64 architecture support:

<ul>
<li>Symmetric and asymmetrical multiprocessing support (aka big.LITTLE)</li>
<li>Support for running 32-bit binaries</li>
<li>UEFI and ACPI support</li>
<li>Support for SBSA/SBBR (server-class) hardware.</li>
</ul></li>
<li>The FDT-ization of many ARM boards:

<ul>
<li>the 32-bit GENERIC kernel lists 129 different DTS configurations</li>
<li>the 64-bit GENERIC64 kernel lists 74 different DTS configurations</li>
<li>All supported by a single kernel, without requiring per-board configuration.</li>
</ul></li>
<li>Graphics driver update, matching Linux 4.4, adding support for up to Kaby Lake based Intel graphics devices.</li>
<li>ZFS has been updated to a modern version and seen many bugfixes.</li>
<li>New hardware-accelerated virtualization via NVMM.</li>
<li>NPF performance improvements and bug fixes. A new lookup algorithm, thmap, is now the default.</li>
<li>NVMe performance improvements</li>
<li>Optional kernel ASLR support, and partial kernel ASLR for the default configuration.</li>
<li>Kernel sanitizers:

<ul>
<li>KLEAK, detecting memory leaks</li>
<li>KASAN, detecting memory overruns</li>
<li>KUBSAN, detecting undefined behaviour</li>
<li>These have been used together with continuous fuzzing via the syzkaller project to find many bugs that were fixed.</li>
</ul></li>
<li>The removal of outdated networking components such as ISDN and all of its drivers</li>
<li>The installer is now capable of performing GPT UEFI installations.</li>
<li>Dramatically improved support for userland sanitizers, as well as the option to build all of NetBSD's userland using them for bug-finding.</li>
<li>Update to graphics userland: Mesa was updated to 18.3.4, and llvmpipe is now available for several architectures, providing 3D graphics even in the absence of a supported GPU.</li>
</ul>

<p>We try to test NetBSD as best as we can, but your testing can help NetBSD 9.0 a great release. Please test it and let us know of any bugs you find.</p>

<ul>
<li>Binaries are available at <a href="https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-9/latest/" target="_blank" rel="nofollow noopener">https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-9/latest/</a></li>
</ul>
</blockquote>

<hr>

<h3><a href="https://medium.com/@aarontharris/xargs-wtf-34d2618286b7" target="_blank" rel="nofollow noopener">xargs wtf</a></h3>

<blockquote>
<p>xargs is probably one of the more difficult to understand of the unix command arsenal and of course that just means it’s one of the most useful too.<br>
I discovered a handy trick that I thought was worth a share. Please note there are probably other (better) ways to do this but I did my stackoverflow research and found nothing better.<br>
xargs — at least how I’ve most utilized it — is handy for taking some number of lines as input and doing some work per line. It’s hard to be more specific than that as it does so much else.<br>
It literally took me an hour of piecing together random man pages + tips from 11 year olds on stack overflow, but eventually I produced this gem:<br>
This is an example of how to find files matching a certain pattern and rename each of them. It sounds so trivial (and it is) but it demonstrates some cool tricks in an easy concept.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://bentsukun.ch/posts/pkgsrccon-2019/" target="_blank" rel="nofollow noopener">PkgSrc: A Tale of Two Spellcheckers</a></h3>

<blockquote>
<p>This is a transcript of the talk I gave at pkgsrcCon 2019 in Cambridge, UK. It is about spellcheckers, but there are much more general software engineering lessons that we can learn from this case study.<br>
The reason I got into this subject at all was my paternal leave last year, when I finally had some more time to spend working on pkgsrc. It was a tiny item in the enormous TODO file at the top of the source tree (“update enchant to version 2.2”) that made me go into this rabbit hole.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/adapting_triforceafl_for_netbsd_part1" target="_blank" rel="nofollow noopener">Adapting TriforceAFL for NetBSD, Part 2</a></h3>

<blockquote>
<p>I have been working on adapting TriforceAFL for NetBSD kernel syscall fuzzing. This blog post summarizes the work done until the second evaluation.<br>
For work done during the first coding period, check out this post.</p>
</blockquote>

<ul>
<li>Summary
&gt; So far, the TriforceNetBSDSyscallFuzzer has been made available in the form of a pkgsrc package with the ability to fuzz most of NetBSD syscalls. In the final coding period of GSoC. I plan to analyse the crashes that were found until now. Integrate sanitizers, try and find more bugs and finally wrap up neatly with detailed documentation.
&gt; Last but not least, I would like to thank my mentor, Kamil Rytarowski for helping me through the process and guiding me. It has been a wonderful learning experience so far!</li>
</ul>

<hr>

<h3><a href="https://www.synacktiv.com/posts/exploit/exploiting-a-no-name-freebsd-kernel-vulnerability.html" target="_blank" rel="nofollow noopener">Exploiting a no-name freebsd kernel vulnerability</a></h3>

<ul>
<li>A new patch has been recently shipped in FreeBSD kernels to fix a vulnerability (cve-2019-5602) present in the cdrom device. In this post, we will introduce the bug and discuss its exploitation on pre/post-SMEP FreeBSD revisions.
&gt; A closer look at the commit 6bcf6e3 shows that when invoking the CDIOCREADSUBCHANNEL_SYSSPACE ioctl, data are copied with bcopy instead of the copyout primitive. This endows a local attacker belonging to the operator group with an arbitrary write primitive in the kernel memory.</li>
</ul>

<hr>

<h3>[Allan and Benedicts Conference Gear Breakdown]</h3>

<ul>

<li><p>Benedict’s Gear:</p>

<blockquote>
<p><a href="https://www.glocalme.com/CA/en-US/cloudsim/g3" target="_blank" rel="nofollow noopener">GlocalMe G3 Mobile Travel HotSpot and Powerbank</a><br>
<a href="http://www.mogics.com/3824-2" target="_blank" rel="nofollow noopener">Mogics Power Bagel</a><br>
<a href="https://charbycharge.com/charby-sense-worlds-smartest-auto-cutoff-cable/" target="_blank" rel="nofollow noopener">Charby Sense Power Cable</a></p>
</blockquote></li>
<li><p>Allan’s Gear:</p>

<blockquote>
<p><a href="https://smile.amazon.com/gp/product/B013CEGGKI/" target="_blank" rel="nofollow noopener">Huawei E5770s-320 4G LTE 150 Mbps Mobile WiFi Pro</a><br>
<a href="https://smile.amazon.com/dp/B071HJFX27/" target="_blank" rel="nofollow noopener">AOW Global Data SIM Card for On-Demand 4G LTE Mobile Data in Over 90 Countries</a><br>
All my devices charge from USB-C, so that is great<br>
More USB thumb drives than strictly necessary<br>
My Lenovo X270 laptop running FreeBSD 13-current<br>
My 2016 Macbook Pro (a prize from the raffle at vBSDCon 2017) that I use for email and video conferencing to preserve battery on my FreeBSD machine for work</p>
</blockquote></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=L9v4Mg8wi4U&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">Replacing the Unix tradition (Warning may be rage inducing)</a></li>
<li><a href="https://www.thanassis.space/remoteserial.html#remoteserial" target="_blank" rel="nofollow noopener">Installing OpenBSD over remote serial on the AtomicPI</a></li>
<li><a href="https://www.dragonflydigest.com/2019/08/05/23294.html" target="_blank" rel="nofollow noopener">Zen 2 and DragonFly</a></li>
<li><a href="https://blog.yukiisbo.red/posts/2019/05/improve-docking-on-freebsd/" target="_blank" rel="nofollow noopener">Improve Docking on FreeBSD</a></li>
<li><a href="https://vbsdcon.com/registration" target="_blank" rel="nofollow noopener">Register for vBSDCon 2019, Sept 5-7 in Reston VA. Early bird ends August 15th.</a></li>
<li><a href="https://2019.eurobsdcon.org/registration/" target="_blank" rel="nofollow noopener">Register for EuroBSDCon 2019, Sept 19-22 in Lillehammer, Norway</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>JT - <a href="http://dpaste.com/0D7Y31E#wrap" target="_blank" rel="nofollow noopener">Congrats</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0311.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>310: My New Free NAS</title>
  <link>https://www.bsdnow.tv/310</link>
  <guid isPermaLink="false">11bc3886-8630-42e4-8ce6-a97cfce82f4d</guid>
  <pubDate>Wed, 07 Aug 2019 23:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/11bc3886-8630-42e4-8ce6-a97cfce82f4d.mp3" length="34679977" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>
OPNsense 19.7.1 is out, ZFS on Linux still has annoying issues with ARC size, Hammer2 is now default, NetBSD audio – an application perspective, new FreeNAS Mini, and more. </itunes:subtitle>
  <itunes:duration>48:09</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>&lt;p&gt;OPNsense 19.7.1 is out, ZFS on Linux still has annoying issues with ARC size, Hammer2 is now default, NetBSD audio – an application perspective, new FreeNAS Mini, and more. &lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-19-7-1-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 19.7.1&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We do not wish to keep you from enjoying your summer time, but this&lt;br&gt;
is a recommended security update enriched with reliability fixes for the&lt;br&gt;
new 19.7 series.  Of special note are performance improvements as well&lt;br&gt;
as a fix for a longstanding NAT before IPsec limitation.&lt;/p&gt;

&lt;p&gt;Full patch notes:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;system: do not create automatic copies of existing gateways&lt;/li&gt;
&lt;li&gt;system: do not translate empty tunables descriptions&lt;/li&gt;
&lt;li&gt;system: remove unwanted form action tags&lt;/li&gt;
&lt;li&gt;system: do not include Syslog-ng in rc.freebsd handler&lt;/li&gt;
&lt;li&gt;system: fix manual system log stop/start/restart&lt;/li&gt;
&lt;li&gt;system: scoped IPv6 "%" could confuse mwexecf(), use plain mwexec() instead&lt;/li&gt;
&lt;li&gt;system: allow curl-based downloads to use both trusted and local authorities&lt;/li&gt;
&lt;li&gt;system: fix group privilege print and correctly redirect after edit&lt;/li&gt;
&lt;li&gt;system: use cached address list in referrer check&lt;/li&gt;
&lt;li&gt;system: fix Syslog-ng search stats&lt;/li&gt;
&lt;li&gt;firewall: HTML-escape dynamic entries to display aliases&lt;/li&gt;
&lt;li&gt;firewall: display correct IP version in automatic rules&lt;/li&gt;
&lt;li&gt;firewall: fix a warning while reading empty outbound rules configuration&lt;/li&gt;
&lt;li&gt;firewall: skip illegal log lines in live log&lt;/li&gt;
&lt;li&gt;interfaces: performance improvements for configurations with hundreds of interfaces&lt;/li&gt;
&lt;li&gt;reporting: performance improvements for Python 3 NetFlow aggregator rewrite&lt;/li&gt;
&lt;li&gt;dhcp: move advanced router advertisement options to correct config section&lt;/li&gt;
&lt;li&gt;ipsec: replace global array access with function to ensure side-effect free boot&lt;/li&gt;
&lt;li&gt;ipsec: change DPD action on start to "dpdaction = restart"&lt;/li&gt;
&lt;li&gt;ipsec: remove already default "dpdaction = none" if not set&lt;/li&gt;
&lt;li&gt;ipsec: use interface IP address in local ID when doing NAT before IPsec&lt;/li&gt;
&lt;li&gt;web proxy: fix database reset for Squid 4 by replacing use of ssl_crtd with security_file_certgen&lt;/li&gt;
&lt;li&gt;plugins: os-acme-client 1.24[1]&lt;/li&gt;
&lt;li&gt;plugins: os-bind 1.6[2]&lt;/li&gt;
&lt;li&gt;plugins: os-dnscrypt-proxy 1.5[3]&lt;/li&gt;
&lt;li&gt;plugins: os-frr now restricts characters BGP prefix-list and route-maps[4]&lt;/li&gt;
&lt;li&gt;plugins: os-google-cloud-sdk 1.0[5]&lt;/li&gt;
&lt;li&gt;ports: curl 7.65.3[6]&lt;/li&gt;
&lt;li&gt;ports: monit 5.26.0[7]&lt;/li&gt;
&lt;li&gt;ports: openssh 8.0p1[8]&lt;/li&gt;
&lt;li&gt;ports: php 7.2.20[9]&lt;/li&gt;
&lt;li&gt;ports: python 3.7.4[10]&lt;/li&gt;
&lt;li&gt;ports: sqlite 3.29.0[11]&lt;/li&gt;
&lt;li&gt;ports: squid 4.8[12]&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Stay safe and hydrated, Your OPNsense team&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxARCShrinkage" target="_blank" rel="nofollow noopener"&gt;ZFS on Linux still has annoying issues with ARC size&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;One of the frustrating things about operating ZFS on Linux is that the ARC size is critical but ZFS's auto-tuning of it is opaque and apparently prone to malfunctions, where your ARC will mysteriously shrink drastically and then stick there.&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Linux's regular filesystem disk cache is very predictable; if you do disk IO, the cache will relentlessly grow to use all of your free memory. This sometimes disconcerts people when free reports that there's very little memory actually free, but at least you're getting value from your RAM. This is so reliable and regular that we generally don't think about 'is my system going to use all of my RAM as a disk cache', because the answer is always 'yes'. (The general filesystem cache is also called the page cache.)&lt;/p&gt;

&lt;p&gt;This is unfortunately not the case with the ZFS ARC in ZFS on Linux (and it wasn't necessarily the case even on Solaris). ZFS has both a current size and a 'target size' for the ARC (called 'c' in ZFS statistics). When your system boots this target size starts out as the maximum allowed size for the ARC, but various events afterward can cause it to be reduced (which obviously limits the size of your ARC, since that's its purpose). In practice, this reduction in the target size is both pretty sticky and rather mysterious (as ZFS on Linux doesn't currently expose enough statistics to tell why your ARC target size shrunk in any particular case).&lt;/p&gt;

&lt;p&gt;The net effect is that the ZFS ARC is not infrequently quite shy and hesitant about using memory, in stark contrast to Linux's normal filesystem cache. The default maximum ARC size starts out as only half of your RAM (unlike the regular filesystem cache, which will use all of it), and then it shrinks from there, sometimes very significantly, and once shrunk it only recovers slowly (if at all).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2019-June/718989.html" target="_blank" rel="nofollow noopener"&gt;Hammer2 is now default&lt;/a&gt;&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;commit a49112761c919d42d405ec10252eb0553662c824
Author: Matthew Dillon &amp;lt;dillon at apollo.backplane.com&amp;gt;
Date:   Mon Jun 10 17:53:46 2019 -0700

    installer - Default to HAMMER2

    * Change the installer default from HAMMER1 to HAMMER2.

    * Adjust the nrelease build to print the location of the image files
      when it finishes.

Summary of changes:
 nrelease/Makefile                          |  2 +-
 usr.sbin/installer/dfuibe_installer/flow.c | 20 ++++++++++----------
 2 files changed, 11 insertions(+), 11 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a49112761c919d42d405ec10252eb0553662c824
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://netbsd.org/gallery/presentations/nia/netbsd-audio/" target="_blank" rel="nofollow noopener"&gt;NetBSD audio – an application perspective&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;NetBSD audio – an application perspective ... or, "doing it natively, because we can"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;audio options for NetBSD in pkgsrc&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use NetBSD native audio (sun audio/audioio.h)&lt;/li&gt;
&lt;li&gt;Or OSS emulation layer: Basically a wrapper around sun audio in the kernel. Incomplete and old version, but works for simple stuff&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Many many abstraction layers available:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OpenAL-Soft&lt;/li&gt;
&lt;li&gt;alsa-lib (config file required)&lt;/li&gt;
&lt;li&gt;libao, GStreamer (plugins!)&lt;/li&gt;
&lt;li&gt;PortAudio, SDL&lt;/li&gt;
&lt;li&gt;PulseAudio, JACK&lt;/li&gt;
&lt;li&gt;... lots more!? some obsolete stuff (esd, nas?)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Advantages of using NetBSD audio directly&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Low latency, low CPU usage: Abstraction layers differ in latency (SDL2 vs ALSA/OpenAL)&lt;/li&gt;
&lt;li&gt;Query device information: Is /dev/audio1 a USB microphone or another sound card?&lt;/li&gt;
&lt;li&gt;Avoid bugs from excessive layering&lt;/li&gt;
&lt;li&gt;Nice API, well documented: [nia note: I had no idea how to write audio code. I read a man page and now I do.]&lt;/li&gt;
&lt;li&gt;Your code might work on illumos too&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;[nia note: SDL2 seems very sensitive to the blk_ms sysctl being high or low, with other implementations there seems to be a less noticable difference. I don't know why.]&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/new-freenas-mini-models-release-pr/" target="_blank" rel="nofollow noopener"&gt;New FreeNAS Mini&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Two new FreeNAS Mini systems join the very popular FreeNAS Mini and Mini XL:&lt;/p&gt;

&lt;p&gt;FreeNAS Mini XL+: This powerful 10 Bay platform (8x 3.5” and 1x 2.5” hot-swap, 1x 2.5” internal) includes the latest, compact server technology and provides dual 10GbE ports, 8 CPU cores and 32 GB RAM for high performance workgroups. The Mini XL+ scales beyond 100TB and is ideal for very demanding applications, including hosting virtual machines and multimedia editing. Starting at $1499, the Mini XL+ configured with cache SSD and 80 TB capacity is $4299, and consumes about 100 Watts.&lt;/p&gt;

&lt;p&gt;FreeNAS Mini E: This cost-effective 4 Bay platform provides the resources required for SOHO use with quad GbE ports and 8 GB of RAM. The Mini E is ideal for file sharing, streaming and transcoding video at 1080p. Starting at $749, the Mini E configured with 8 TB capacity is $999, and consumes about 36 Watts.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/source-changes/2019/07/30/msg107671.html" target="_blank" rel="nofollow noopener"&gt;Welcome to NetBSD 9.99.1!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.snailtext.com/posts/berkeley-smorgasbord-part-2.html" target="_blank" rel="nofollow noopener"&gt;Berkeley smorgasbord — part II&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Brt41xnMZqo&amp;amp;list=PLuJmmKtsV1dOTmlImlD9U5j1P1rLxS2V8&amp;amp;index=20&amp;amp;t=0s" target="_blank" rel="nofollow noopener"&gt;dtracing postgres&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://project-trident.org/post/2019-07-30_19.07-u1_available/" target="_blank" rel="nofollow noopener"&gt;Project Trident 19.07-U1 now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.devprojournal.com/technology-trends/operating-systems/need-a-secure-operating-system-take-a-look-at-openbsd/" target="_blank" rel="nofollow noopener"&gt;Need a Secure Operating System? Take a Look at OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Jeff - &lt;a href="http://dpaste.com/2AT7JGP#wrap" target="_blank" rel="nofollow noopener"&gt;OpenZFS Port Testing Feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Malcolm - &lt;a href="http://dpaste.com/1R170D7" target="_blank" rel="nofollow noopener"&gt;Best Practices for Custom Ports&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Michael - &lt;a href="http://dpaste.com/0CERP6R" target="_blank" rel="nofollow noopener"&gt;Little Correction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0310.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords> freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, opnsense, zfs, arc, hammer2, audio, freenas, mini</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OPNsense 19.7.1 is out, ZFS on Linux still has annoying issues with ARC size, Hammer2 is now default, NetBSD audio – an application perspective, new FreeNAS Mini, and more. </p>

<h2>Headlines</h2>

<h3><a href="https://opnsense.org/opnsense-19-7-1-released/" target="_blank" rel="nofollow noopener">OPNsense 19.7.1</a></h3>

<blockquote>
<p>We do not wish to keep you from enjoying your summer time, but this<br>
is a recommended security update enriched with reliability fixes for the<br>
new 19.7 series.  Of special note are performance improvements as well<br>
as a fix for a longstanding NAT before IPsec limitation.</p>

<p>Full patch notes:</p>
</blockquote>

<ul>
<li>system: do not create automatic copies of existing gateways</li>
<li>system: do not translate empty tunables descriptions</li>
<li>system: remove unwanted form action tags</li>
<li>system: do not include Syslog-ng in rc.freebsd handler</li>
<li>system: fix manual system log stop/start/restart</li>
<li>system: scoped IPv6 "%" could confuse mwexecf(), use plain mwexec() instead</li>
<li>system: allow curl-based downloads to use both trusted and local authorities</li>
<li>system: fix group privilege print and correctly redirect after edit</li>
<li>system: use cached address list in referrer check</li>
<li>system: fix Syslog-ng search stats</li>
<li>firewall: HTML-escape dynamic entries to display aliases</li>
<li>firewall: display correct IP version in automatic rules</li>
<li>firewall: fix a warning while reading empty outbound rules configuration</li>
<li>firewall: skip illegal log lines in live log</li>
<li>interfaces: performance improvements for configurations with hundreds of interfaces</li>
<li>reporting: performance improvements for Python 3 NetFlow aggregator rewrite</li>
<li>dhcp: move advanced router advertisement options to correct config section</li>
<li>ipsec: replace global array access with function to ensure side-effect free boot</li>
<li>ipsec: change DPD action on start to "dpdaction = restart"</li>
<li>ipsec: remove already default "dpdaction = none" if not set</li>
<li>ipsec: use interface IP address in local ID when doing NAT before IPsec</li>
<li>web proxy: fix database reset for Squid 4 by replacing use of ssl_crtd with security_file_certgen</li>
<li>plugins: os-acme-client 1.24[1]</li>
<li>plugins: os-bind 1.6[2]</li>
<li>plugins: os-dnscrypt-proxy 1.5[3]</li>
<li>plugins: os-frr now restricts characters BGP prefix-list and route-maps[4]</li>
<li>plugins: os-google-cloud-sdk 1.0[5]</li>
<li>ports: curl 7.65.3[6]</li>
<li>ports: monit 5.26.0[7]</li>
<li>ports: openssh 8.0p1[8]</li>
<li>ports: php 7.2.20[9]</li>
<li>ports: python 3.7.4[10]</li>
<li>ports: sqlite 3.29.0[11]</li>
<li>ports: squid 4.8[12]</li>
</ul>

<blockquote>
<p>Stay safe and hydrated, Your OPNsense team</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxARCShrinkage" target="_blank" rel="nofollow noopener">ZFS on Linux still has annoying issues with ARC size</a></h3>

<p><code>One of the frustrating things about operating ZFS on Linux is that the ARC size is critical but ZFS's auto-tuning of it is opaque and apparently prone to malfunctions, where your ARC will mysteriously shrink drastically and then stick there.</code></p>

<blockquote>
<p>Linux's regular filesystem disk cache is very predictable; if you do disk IO, the cache will relentlessly grow to use all of your free memory. This sometimes disconcerts people when free reports that there's very little memory actually free, but at least you're getting value from your RAM. This is so reliable and regular that we generally don't think about 'is my system going to use all of my RAM as a disk cache', because the answer is always 'yes'. (The general filesystem cache is also called the page cache.)</p>

<p>This is unfortunately not the case with the ZFS ARC in ZFS on Linux (and it wasn't necessarily the case even on Solaris). ZFS has both a current size and a 'target size' for the ARC (called 'c' in ZFS statistics). When your system boots this target size starts out as the maximum allowed size for the ARC, but various events afterward can cause it to be reduced (which obviously limits the size of your ARC, since that's its purpose). In practice, this reduction in the target size is both pretty sticky and rather mysterious (as ZFS on Linux doesn't currently expose enough statistics to tell why your ARC target size shrunk in any particular case).</p>

<p>The net effect is that the ZFS ARC is not infrequently quite shy and hesitant about using memory, in stark contrast to Linux's normal filesystem cache. The default maximum ARC size starts out as only half of your RAM (unlike the regular filesystem cache, which will use all of it), and then it shrinks from there, sometimes very significantly, and once shrunk it only recovers slowly (if at all).</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-June/718989.html" target="_blank" rel="nofollow noopener">Hammer2 is now default</a></h3>

<pre><code>commit a49112761c919d42d405ec10252eb0553662c824
Author: Matthew Dillon &lt;dillon at apollo.backplane.com&gt;
Date:   Mon Jun 10 17:53:46 2019 -0700

    installer - Default to HAMMER2

    * Change the installer default from HAMMER1 to HAMMER2.

    * Adjust the nrelease build to print the location of the image files
      when it finishes.

Summary of changes:
 nrelease/Makefile                          |  2 +-
 usr.sbin/installer/dfuibe_installer/flow.c | 20 ++++++++++----------
 2 files changed, 11 insertions(+), 11 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a49112761c919d42d405ec10252eb0553662c824
</code></pre>

<hr>

<h3><a href="https://netbsd.org/gallery/presentations/nia/netbsd-audio/" target="_blank" rel="nofollow noopener">NetBSD audio – an application perspective</a></h3>

<blockquote>
<p>NetBSD audio – an application perspective ... or, "doing it natively, because we can"</p>
</blockquote>

<ul>
<li><p>audio options for NetBSD in pkgsrc</p>

<ul>
<li>Use NetBSD native audio (sun audio/audioio.h)</li>
<li>Or OSS emulation layer: Basically a wrapper around sun audio in the kernel. Incomplete and old version, but works for simple stuff</li>
</ul></li>
<li><p>Many many abstraction layers available:</p>

<ul>
<li>OpenAL-Soft</li>
<li>alsa-lib (config file required)</li>
<li>libao, GStreamer (plugins!)</li>
<li>PortAudio, SDL</li>
<li>PulseAudio, JACK</li>
<li>... lots more!? some obsolete stuff (esd, nas?)</li>
</ul></li>
<li><p>Advantages of using NetBSD audio directly</p>

<ul>
<li>Low latency, low CPU usage: Abstraction layers differ in latency (SDL2 vs ALSA/OpenAL)</li>
<li>Query device information: Is /dev/audio1 a USB microphone or another sound card?</li>
<li>Avoid bugs from excessive layering</li>
<li>Nice API, well documented: [nia note: I had no idea how to write audio code. I read a man page and now I do.]</li>
<li>Your code might work on illumos too</li>
</ul></li>
<li><p>[nia note: SDL2 seems very sensitive to the blk_ms sysctl being high or low, with other implementations there seems to be a less noticable difference. I don't know why.]</p></li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/new-freenas-mini-models-release-pr/" target="_blank" rel="nofollow noopener">New FreeNAS Mini</a></h3>

<blockquote>
<p>Two new FreeNAS Mini systems join the very popular FreeNAS Mini and Mini XL:</p>

<p>FreeNAS Mini XL+: This powerful 10 Bay platform (8x 3.5” and 1x 2.5” hot-swap, 1x 2.5” internal) includes the latest, compact server technology and provides dual 10GbE ports, 8 CPU cores and 32 GB RAM for high performance workgroups. The Mini XL+ scales beyond 100TB and is ideal for very demanding applications, including hosting virtual machines and multimedia editing. Starting at $1499, the Mini XL+ configured with cache SSD and 80 TB capacity is $4299, and consumes about 100 Watts.</p>

<p>FreeNAS Mini E: This cost-effective 4 Bay platform provides the resources required for SOHO use with quad GbE ports and 8 GB of RAM. The Mini E is ideal for file sharing, streaming and transcoding video at 1080p. Starting at $749, the Mini E configured with 8 TB capacity is $999, and consumes about 36 Watts.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://mail-index.netbsd.org/source-changes/2019/07/30/msg107671.html" target="_blank" rel="nofollow noopener">Welcome to NetBSD 9.99.1!</a></li>
<li><a href="http://blog.snailtext.com/posts/berkeley-smorgasbord-part-2.html" target="_blank" rel="nofollow noopener">Berkeley smorgasbord — part II</a></li>
<li><a href="https://www.youtube.com/watch?v=Brt41xnMZqo&amp;list=PLuJmmKtsV1dOTmlImlD9U5j1P1rLxS2V8&amp;index=20&amp;t=0s" target="_blank" rel="nofollow noopener">dtracing postgres</a></li>
<li><a href="https://project-trident.org/post/2019-07-30_19.07-u1_available/" target="_blank" rel="nofollow noopener">Project Trident 19.07-U1 now available</a></li>
<li><a href="https://www.devprojournal.com/technology-trends/operating-systems/need-a-secure-operating-system-take-a-look-at-openbsd/" target="_blank" rel="nofollow noopener">Need a Secure Operating System? Take a Look at OpenBSD</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Jeff - <a href="http://dpaste.com/2AT7JGP#wrap" target="_blank" rel="nofollow noopener">OpenZFS Port Testing Feedback</a></li>
<li>Malcolm - <a href="http://dpaste.com/1R170D7" target="_blank" rel="nofollow noopener">Best Practices for Custom Ports</a></li>
<li>Michael - <a href="http://dpaste.com/0CERP6R" target="_blank" rel="nofollow noopener">Little Correction</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0310.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OPNsense 19.7.1 is out, ZFS on Linux still has annoying issues with ARC size, Hammer2 is now default, NetBSD audio – an application perspective, new FreeNAS Mini, and more. </p>

<h2>Headlines</h2>

<h3><a href="https://opnsense.org/opnsense-19-7-1-released/" target="_blank" rel="nofollow noopener">OPNsense 19.7.1</a></h3>

<blockquote>
<p>We do not wish to keep you from enjoying your summer time, but this<br>
is a recommended security update enriched with reliability fixes for the<br>
new 19.7 series.  Of special note are performance improvements as well<br>
as a fix for a longstanding NAT before IPsec limitation.</p>

<p>Full patch notes:</p>
</blockquote>

<ul>
<li>system: do not create automatic copies of existing gateways</li>
<li>system: do not translate empty tunables descriptions</li>
<li>system: remove unwanted form action tags</li>
<li>system: do not include Syslog-ng in rc.freebsd handler</li>
<li>system: fix manual system log stop/start/restart</li>
<li>system: scoped IPv6 "%" could confuse mwexecf(), use plain mwexec() instead</li>
<li>system: allow curl-based downloads to use both trusted and local authorities</li>
<li>system: fix group privilege print and correctly redirect after edit</li>
<li>system: use cached address list in referrer check</li>
<li>system: fix Syslog-ng search stats</li>
<li>firewall: HTML-escape dynamic entries to display aliases</li>
<li>firewall: display correct IP version in automatic rules</li>
<li>firewall: fix a warning while reading empty outbound rules configuration</li>
<li>firewall: skip illegal log lines in live log</li>
<li>interfaces: performance improvements for configurations with hundreds of interfaces</li>
<li>reporting: performance improvements for Python 3 NetFlow aggregator rewrite</li>
<li>dhcp: move advanced router advertisement options to correct config section</li>
<li>ipsec: replace global array access with function to ensure side-effect free boot</li>
<li>ipsec: change DPD action on start to "dpdaction = restart"</li>
<li>ipsec: remove already default "dpdaction = none" if not set</li>
<li>ipsec: use interface IP address in local ID when doing NAT before IPsec</li>
<li>web proxy: fix database reset for Squid 4 by replacing use of ssl_crtd with security_file_certgen</li>
<li>plugins: os-acme-client 1.24[1]</li>
<li>plugins: os-bind 1.6[2]</li>
<li>plugins: os-dnscrypt-proxy 1.5[3]</li>
<li>plugins: os-frr now restricts characters BGP prefix-list and route-maps[4]</li>
<li>plugins: os-google-cloud-sdk 1.0[5]</li>
<li>ports: curl 7.65.3[6]</li>
<li>ports: monit 5.26.0[7]</li>
<li>ports: openssh 8.0p1[8]</li>
<li>ports: php 7.2.20[9]</li>
<li>ports: python 3.7.4[10]</li>
<li>ports: sqlite 3.29.0[11]</li>
<li>ports: squid 4.8[12]</li>
</ul>

<blockquote>
<p>Stay safe and hydrated, Your OPNsense team</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/ZFSOnLinuxARCShrinkage" target="_blank" rel="nofollow noopener">ZFS on Linux still has annoying issues with ARC size</a></h3>

<p><code>One of the frustrating things about operating ZFS on Linux is that the ARC size is critical but ZFS's auto-tuning of it is opaque and apparently prone to malfunctions, where your ARC will mysteriously shrink drastically and then stick there.</code></p>

<blockquote>
<p>Linux's regular filesystem disk cache is very predictable; if you do disk IO, the cache will relentlessly grow to use all of your free memory. This sometimes disconcerts people when free reports that there's very little memory actually free, but at least you're getting value from your RAM. This is so reliable and regular that we generally don't think about 'is my system going to use all of my RAM as a disk cache', because the answer is always 'yes'. (The general filesystem cache is also called the page cache.)</p>

<p>This is unfortunately not the case with the ZFS ARC in ZFS on Linux (and it wasn't necessarily the case even on Solaris). ZFS has both a current size and a 'target size' for the ARC (called 'c' in ZFS statistics). When your system boots this target size starts out as the maximum allowed size for the ARC, but various events afterward can cause it to be reduced (which obviously limits the size of your ARC, since that's its purpose). In practice, this reduction in the target size is both pretty sticky and rather mysterious (as ZFS on Linux doesn't currently expose enough statistics to tell why your ARC target size shrunk in any particular case).</p>

<p>The net effect is that the ZFS ARC is not infrequently quite shy and hesitant about using memory, in stark contrast to Linux's normal filesystem cache. The default maximum ARC size starts out as only half of your RAM (unlike the regular filesystem cache, which will use all of it), and then it shrinks from there, sometimes very significantly, and once shrunk it only recovers slowly (if at all).</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-June/718989.html" target="_blank" rel="nofollow noopener">Hammer2 is now default</a></h3>

<pre><code>commit a49112761c919d42d405ec10252eb0553662c824
Author: Matthew Dillon &lt;dillon at apollo.backplane.com&gt;
Date:   Mon Jun 10 17:53:46 2019 -0700

    installer - Default to HAMMER2

    * Change the installer default from HAMMER1 to HAMMER2.

    * Adjust the nrelease build to print the location of the image files
      when it finishes.

Summary of changes:
 nrelease/Makefile                          |  2 +-
 usr.sbin/installer/dfuibe_installer/flow.c | 20 ++++++++++----------
 2 files changed, 11 insertions(+), 11 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/a49112761c919d42d405ec10252eb0553662c824
</code></pre>

<hr>

<h3><a href="https://netbsd.org/gallery/presentations/nia/netbsd-audio/" target="_blank" rel="nofollow noopener">NetBSD audio – an application perspective</a></h3>

<blockquote>
<p>NetBSD audio – an application perspective ... or, "doing it natively, because we can"</p>
</blockquote>

<ul>
<li><p>audio options for NetBSD in pkgsrc</p>

<ul>
<li>Use NetBSD native audio (sun audio/audioio.h)</li>
<li>Or OSS emulation layer: Basically a wrapper around sun audio in the kernel. Incomplete and old version, but works for simple stuff</li>
</ul></li>
<li><p>Many many abstraction layers available:</p>

<ul>
<li>OpenAL-Soft</li>
<li>alsa-lib (config file required)</li>
<li>libao, GStreamer (plugins!)</li>
<li>PortAudio, SDL</li>
<li>PulseAudio, JACK</li>
<li>... lots more!? some obsolete stuff (esd, nas?)</li>
</ul></li>
<li><p>Advantages of using NetBSD audio directly</p>

<ul>
<li>Low latency, low CPU usage: Abstraction layers differ in latency (SDL2 vs ALSA/OpenAL)</li>
<li>Query device information: Is /dev/audio1 a USB microphone or another sound card?</li>
<li>Avoid bugs from excessive layering</li>
<li>Nice API, well documented: [nia note: I had no idea how to write audio code. I read a man page and now I do.]</li>
<li>Your code might work on illumos too</li>
</ul></li>
<li><p>[nia note: SDL2 seems very sensitive to the blk_ms sysctl being high or low, with other implementations there seems to be a less noticable difference. I don't know why.]</p></li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/new-freenas-mini-models-release-pr/" target="_blank" rel="nofollow noopener">New FreeNAS Mini</a></h3>

<blockquote>
<p>Two new FreeNAS Mini systems join the very popular FreeNAS Mini and Mini XL:</p>

<p>FreeNAS Mini XL+: This powerful 10 Bay platform (8x 3.5” and 1x 2.5” hot-swap, 1x 2.5” internal) includes the latest, compact server technology and provides dual 10GbE ports, 8 CPU cores and 32 GB RAM for high performance workgroups. The Mini XL+ scales beyond 100TB and is ideal for very demanding applications, including hosting virtual machines and multimedia editing. Starting at $1499, the Mini XL+ configured with cache SSD and 80 TB capacity is $4299, and consumes about 100 Watts.</p>

<p>FreeNAS Mini E: This cost-effective 4 Bay platform provides the resources required for SOHO use with quad GbE ports and 8 GB of RAM. The Mini E is ideal for file sharing, streaming and transcoding video at 1080p. Starting at $749, the Mini E configured with 8 TB capacity is $999, and consumes about 36 Watts.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://mail-index.netbsd.org/source-changes/2019/07/30/msg107671.html" target="_blank" rel="nofollow noopener">Welcome to NetBSD 9.99.1!</a></li>
<li><a href="http://blog.snailtext.com/posts/berkeley-smorgasbord-part-2.html" target="_blank" rel="nofollow noopener">Berkeley smorgasbord — part II</a></li>
<li><a href="https://www.youtube.com/watch?v=Brt41xnMZqo&amp;list=PLuJmmKtsV1dOTmlImlD9U5j1P1rLxS2V8&amp;index=20&amp;t=0s" target="_blank" rel="nofollow noopener">dtracing postgres</a></li>
<li><a href="https://project-trident.org/post/2019-07-30_19.07-u1_available/" target="_blank" rel="nofollow noopener">Project Trident 19.07-U1 now available</a></li>
<li><a href="https://www.devprojournal.com/technology-trends/operating-systems/need-a-secure-operating-system-take-a-look-at-openbsd/" target="_blank" rel="nofollow noopener">Need a Secure Operating System? Take a Look at OpenBSD</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Jeff - <a href="http://dpaste.com/2AT7JGP#wrap" target="_blank" rel="nofollow noopener">OpenZFS Port Testing Feedback</a></li>
<li>Malcolm - <a href="http://dpaste.com/1R170D7" target="_blank" rel="nofollow noopener">Best Practices for Custom Ports</a></li>
<li>Michael - <a href="http://dpaste.com/0CERP6R" target="_blank" rel="nofollow noopener">Little Correction</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0310.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 309: Get Your Telnet Fix</title>
  <link>https://www.bsdnow.tv/309</link>
  <guid isPermaLink="false">630a645e-fe37-4a56-a2fd-8c51abb5dfe5</guid>
  <pubDate>Wed, 31 Jul 2019 23:45:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/630a645e-fe37-4a56-a2fd-8c51abb5dfe5.mp3" length="34856460" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>
DragonFlyBSD Project colo upgrade, future trends, resuming ZFS send, realtime bandwidth terminal graph visualization, fixing telnet fixes, a chapter from the FBI’s history with OpenBSD, an OpenSSH vulnerability, and more.</itunes:subtitle>
  <itunes:duration>48:24</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>&lt;p&gt;DragonFlyBSD Project Update - colo upgrade, future trends, resuming ZFS send, realtime bandwidth terminal graph visualization, fixing telnet fixes, a chapter from the FBI’s history with OpenBSD and an OpenSSH vuln, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2019-July/358226.html" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD Project Update - colo upgrade, future trends&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;For the last week I've been testing out a replacement for Monster, our 48-core opteron server.  The project will be removing Monster from the colo in a week or two and replacing it with three machines which together will use half the power that Monster did alone.&lt;/p&gt;

&lt;p&gt;The goal is to clear out a little power budget in the colo and to really beef-up our package-building capabilities to reduce the turn-around time needed to test ports syncs and updates to the binary package system.&lt;/p&gt;

&lt;p&gt;Currently we use two blades to do most of the building, plus monster sometimes.  The blades take almost a week (120 hours+) to do a full synth run and monster takes around 27.5 hours.  But we need to do three bulk builds more or less at the same time... one for the release branch, one for the development branch, and one for staging updates.  It just takes too long and its been gnawing at me for a little while.&lt;/p&gt;

&lt;p&gt;Well, Zen 2 to the rescue!  These new CPUs can take ECC, there's actually an IPMI mobo available, and they are fast as hell and cheap for what we get. &lt;/p&gt;

&lt;p&gt;The new machines will be two 3900X based servers, plus a dual-xeon system that I already had at home.   The 3900X's can each do a full synth run in 24.5 hours and the Xeon can do it in around 31 hours.  Monster will be retired.  And the crazy thing about this?  Monster burns 1000W going full bore.  Each of the 3900X servers burns 160W and the Xeon burns 200W.  In otherwords, we are replacing 1000W with only 520W and getting roughly 6x the performance efficiency in the upgrade.  This tell you just how much more power-efficient machines have become in the last 9 years or so. &amp;gt; This upgrade will allow us to do full builds for both release and dev in roughly one day instead of seven days, and do it without interfering with staging work that might be happening at the same time.&lt;/p&gt;

&lt;p&gt;Future trends - DragonFlyBSD has reached a bit of a cross-roads.  With most of the SMP work now essentially complete across the entire system the main project focus is now on supplying reliable binary ports for release and developer branches, DRM  (GPU) support and other UI elements to keep DragonFlyBSD relevant on workstations, and continuing Filesystem work on HAMMER2 to get multi-device and clustering going.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.oshogbo.vexillium.org/blog/66/" target="_blank" rel="nofollow noopener"&gt;Resuming ZFS send&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the amazing functionalities of ZFS is the possibility of sending a whole dataset from one place to another. This mechanism is amazing to create backups of your ZFS based machines. Although, there were some issues with this functionality for a long time when a user sent a big chunk of data. What if you would do that over the network and your connection has disappeared? What if your machine was rebooted as you are sending a snapshot?&lt;/p&gt;

&lt;p&gt;For a very long time, you didn't have any options - you had to send a snapshot from the beginning. Now, this limitation was already bad enough. However, another downside of this approach was that all the data which you already send was thrown away. Therefore, ZFS had to go over all this data and remove them from the dataset. Imagine the terabytes of data which you sent via the network was thrown away because as you were sending the last few bytes, the network went off.&lt;/p&gt;

&lt;p&gt;In this short post, I don't want to go over the whole ZFS snapshot infrastructure (if you think that such a post would be useful, please leave a comment). Now, to get back to the point, this infrastructure is used to clone the datasets. Some time ago a new feature called “Resuming ZFS send” was introduced. That means that if there was some problem with transmitting the dataset from one point to another you could resume it or throw them away. But the point is, that yes, you finally have a choice.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2019-07-19-ttyplot-netstat-openbsd.html" target="_blank" rel="nofollow noopener"&gt;Realtime bandwidth terminal graph visualization&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;If for some reasons you want to visualize your bandwidth traffic on an interface (in or out) in a terminal with a nice graph, here is a small script to do so, involving ttyplot, a nice software making graphics in a terminal.&lt;/p&gt;

&lt;p&gt;The following will works on OpenBSD. You can install ttyplot by pkg_add ttyplot as root, ttyplot package appeared since OpenBSD 6.5.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://flak.tedunangst.com/post/fixing-telnet-fixes" target="_blank" rel="nofollow noopener"&gt;fixing telnet fixes&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;There’s a FreeBSD commit to telnet. fix a couple of snprintf() buffer overflows. It’s received a bit of attention for various reasons, telnet in 2019?, etc. I thought I’d take a look. Here’s a few random observations.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;The first line is indented with spaces while the others use tabs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The correct type for string length is size_t not unsigned int.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;sizeof(char) is always one. There’s no need to multiply by it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you do need to multiply by a size, this is an unsafe pattern.  Use calloc or something similar. (OpenBSD provides reallocarray to avoid zeroing cost of calloc.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Return value of malloc doesn’t need to be cast. In fact, should not be, lest you disguise a warning.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Return value of malloc is not checked for NULL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No reason to cast cp to char * when passing to snprintf. It already is that type. And if it weren’t, what are you doing?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The whole operation could be simplified by using asprintf.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Although unlikely (probably impossible here, but more generally), adding the two source lengths together can overflow, resulting in truncation with an unchecked snprintf call. asprintf avoids this failure case.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://twitter.com/RooneyMcNibNug/status/1152327783055601664" target="_blank" rel="nofollow noopener"&gt;A Chapter from the FBI’s History with OpenBSD and an OpenSSH Vuln&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Earlier this year I FOIAed the FBI for details on allegations of backdoor installed in the IPSEC stack in 2010, originally discussed by OpenBSD devs (&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=129236621626462" target="_blank" rel="nofollow noopener"&gt;https://marc.info/?l=openbsd-tech&amp;amp;m=129236621626462&lt;/a&gt; …) Today, I got an interesting but unexpected responsive record: &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.muckrock.com/foi/united-states-of-america-10/foia-fbi-openbsd-70084/" target="_blank" rel="nofollow noopener"&gt;Freedom of Information Act: FBI: OpenBSD&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/RooneyMcNibNug/FOIA/blob/master/Responsive%20Docs/OpenBSD/FBI_OpenBSD_response_OCRd.pdf" target="_blank" rel="nofollow noopener"&gt;GitHub Repo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/4378" target="_blank" rel="nofollow noopener"&gt;“Sudo Mastery, 2nd Edition” open for tech review&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdnews.com/2019/07/12/freebsd-journal-freebsd-for-makers/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal: FreeBSD for Makers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mail-index.netbsd.org/netbsd-advocacy/2019/07/19/msg000808.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD and NetBSD machines at Open Source Conference 2019 Nagoya&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=zuj9pRNR2oM" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.0: WINE Gaming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.netbsd.org/gallery/presentations/wiz/pkgsrccon2019/index.html#/" target="_blank" rel="nofollow noopener"&gt;Introduction to the Structure and Interpretation of TNF (The NetBSD Foundation)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.vbsdcon.com/" target="_blank" rel="nofollow noopener"&gt;vBSDcon speakers announced&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Pat - &lt;a href="http://dpaste.com/21Y1PRM" target="_blank" rel="nofollow noopener"&gt;NYCBug Aug 7th&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tyler - &lt;a href="http://dpaste.com/3JEVVEF#wrap" target="_blank" rel="nofollow noopener"&gt;SSH keys vs password&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Lars - &lt;a href="http://dpaste.com/0RAFMXZ" target="_blank" rel="nofollow noopener"&gt;Tor-Talk&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0309.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, zfs, send, terminal, bandwidth, graph, realtime, telnet</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>DragonFlyBSD Project Update - colo upgrade, future trends, resuming ZFS send, realtime bandwidth terminal graph visualization, fixing telnet fixes, a chapter from the FBI’s history with OpenBSD and an OpenSSH vuln, and more.</p>

<h2>Headlines</h2>

<h3><a href="http://lists.dragonflybsd.org/pipermail/users/2019-July/358226.html" target="_blank" rel="nofollow noopener">DragonFlyBSD Project Update - colo upgrade, future trends</a></h3>

<blockquote>
<p>For the last week I've been testing out a replacement for Monster, our 48-core opteron server.  The project will be removing Monster from the colo in a week or two and replacing it with three machines which together will use half the power that Monster did alone.</p>

<p>The goal is to clear out a little power budget in the colo and to really beef-up our package-building capabilities to reduce the turn-around time needed to test ports syncs and updates to the binary package system.</p>

<p>Currently we use two blades to do most of the building, plus monster sometimes.  The blades take almost a week (120 hours+) to do a full synth run and monster takes around 27.5 hours.  But we need to do three bulk builds more or less at the same time... one for the release branch, one for the development branch, and one for staging updates.  It just takes too long and its been gnawing at me for a little while.</p>

<p>Well, Zen 2 to the rescue!  These new CPUs can take ECC, there's actually an IPMI mobo available, and they are fast as hell and cheap for what we get. </p>

<p>The new machines will be two 3900X based servers, plus a dual-xeon system that I already had at home.   The 3900X's can each do a full synth run in 24.5 hours and the Xeon can do it in around 31 hours.  Monster will be retired.  And the crazy thing about this?  Monster burns 1000W going full bore.  Each of the 3900X servers burns 160W and the Xeon burns 200W.  In otherwords, we are replacing 1000W with only 520W and getting roughly 6x the performance efficiency in the upgrade.  This tell you just how much more power-efficient machines have become in the last 9 years or so. &gt; This upgrade will allow us to do full builds for both release and dev in roughly one day instead of seven days, and do it without interfering with staging work that might be happening at the same time.</p>

<p>Future trends - DragonFlyBSD has reached a bit of a cross-roads.  With most of the SMP work now essentially complete across the entire system the main project focus is now on supplying reliable binary ports for release and developer branches, DRM  (GPU) support and other UI elements to keep DragonFlyBSD relevant on workstations, and continuing Filesystem work on HAMMER2 to get multi-device and clustering going.</p>
</blockquote>

<hr>

<h3><a href="https://www.oshogbo.vexillium.org/blog/66/" target="_blank" rel="nofollow noopener">Resuming ZFS send</a></h3>

<blockquote>
<p>One of the amazing functionalities of ZFS is the possibility of sending a whole dataset from one place to another. This mechanism is amazing to create backups of your ZFS based machines. Although, there were some issues with this functionality for a long time when a user sent a big chunk of data. What if you would do that over the network and your connection has disappeared? What if your machine was rebooted as you are sending a snapshot?</p>

<p>For a very long time, you didn't have any options - you had to send a snapshot from the beginning. Now, this limitation was already bad enough. However, another downside of this approach was that all the data which you already send was thrown away. Therefore, ZFS had to go over all this data and remove them from the dataset. Imagine the terabytes of data which you sent via the network was thrown away because as you were sending the last few bytes, the network went off.</p>

<p>In this short post, I don't want to go over the whole ZFS snapshot infrastructure (if you think that such a post would be useful, please leave a comment). Now, to get back to the point, this infrastructure is used to clone the datasets. Some time ago a new feature called “Resuming ZFS send” was introduced. That means that if there was some problem with transmitting the dataset from one point to another you could resume it or throw them away. But the point is, that yes, you finally have a choice.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2019-07-19-ttyplot-netstat-openbsd.html" target="_blank" rel="nofollow noopener">Realtime bandwidth terminal graph visualization</a></h3>

<blockquote>
<p>If for some reasons you want to visualize your bandwidth traffic on an interface (in or out) in a terminal with a nice graph, here is a small script to do so, involving ttyplot, a nice software making graphics in a terminal.</p>

<p>The following will works on OpenBSD. You can install ttyplot by pkg_add ttyplot as root, ttyplot package appeared since OpenBSD 6.5.</p>
</blockquote>

<hr>

<h3><a href="https://flak.tedunangst.com/post/fixing-telnet-fixes" target="_blank" rel="nofollow noopener">fixing telnet fixes</a></h3>

<blockquote>
<p>There’s a FreeBSD commit to telnet. fix a couple of snprintf() buffer overflows. It’s received a bit of attention for various reasons, telnet in 2019?, etc. I thought I’d take a look. Here’s a few random observations.</p>

<ol>
<li><p>The first line is indented with spaces while the others use tabs.</p></li>
<li><p>The correct type for string length is size_t not unsigned int.</p></li>
<li><p>sizeof(char) is always one. There’s no need to multiply by it.</p></li>
<li><p>If you do need to multiply by a size, this is an unsafe pattern.  Use calloc or something similar. (OpenBSD provides reallocarray to avoid zeroing cost of calloc.)</p></li>
<li><p>Return value of malloc doesn’t need to be cast. In fact, should not be, lest you disguise a warning.</p></li>
<li><p>Return value of malloc is not checked for NULL.</p></li>
<li><p>No reason to cast cp to char * when passing to snprintf. It already is that type. And if it weren’t, what are you doing?</p></li>
<li><p>The whole operation could be simplified by using asprintf.</p></li>
<li><p>Although unlikely (probably impossible here, but more generally), adding the two source lengths together can overflow, resulting in truncation with an unchecked snprintf call. asprintf avoids this failure case.</p></li>
</ol>
</blockquote>

<hr>

<h3><a href="https://twitter.com/RooneyMcNibNug/status/1152327783055601664" target="_blank" rel="nofollow noopener">A Chapter from the FBI’s History with OpenBSD and an OpenSSH Vuln</a></h3>

<blockquote>
<p>Earlier this year I FOIAed the FBI for details on allegations of backdoor installed in the IPSEC stack in 2010, originally discussed by OpenBSD devs (<a href="https://marc.info/?l=openbsd-tech&amp;m=129236621626462" target="_blank" rel="nofollow noopener">https://marc.info/?l=openbsd-tech&amp;m=129236621626462</a> …) Today, I got an interesting but unexpected responsive record: </p>
</blockquote>

<ul>
<li><a href="https://www.muckrock.com/foi/united-states-of-america-10/foia-fbi-openbsd-70084/" target="_blank" rel="nofollow noopener">Freedom of Information Act: FBI: OpenBSD</a> </li>
<li><a href="https://github.com/RooneyMcNibNug/FOIA/blob/master/Responsive%20Docs/OpenBSD/FBI_OpenBSD_response_OCRd.pdf" target="_blank" rel="nofollow noopener">GitHub Repo</a></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://mwl.io/archives/4378" target="_blank" rel="nofollow noopener">“Sudo Mastery, 2nd Edition” open for tech review</a></li>
<li><a href="https://www.freebsdnews.com/2019/07/12/freebsd-journal-freebsd-for-makers/" target="_blank" rel="nofollow noopener">FreeBSD Journal: FreeBSD for Makers</a></li>
<li><a href="http://mail-index.netbsd.org/netbsd-advocacy/2019/07/19/msg000808.html" target="_blank" rel="nofollow noopener">OpenBSD and NetBSD machines at Open Source Conference 2019 Nagoya</a></li>
<li><a href="https://www.youtube.com/watch?v=zuj9pRNR2oM" target="_blank" rel="nofollow noopener">FreeBSD 12.0: WINE Gaming</a></li>
<li><a href="https://www.netbsd.org/gallery/presentations/wiz/pkgsrccon2019/index.html#/" target="_blank" rel="nofollow noopener">Introduction to the Structure and Interpretation of TNF (The NetBSD Foundation)</a></li>
<li><a href="https://www.vbsdcon.com/" target="_blank" rel="nofollow noopener">vBSDcon speakers announced</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Pat - <a href="http://dpaste.com/21Y1PRM" target="_blank" rel="nofollow noopener">NYCBug Aug 7th</a></li>
<li>Tyler - <a href="http://dpaste.com/3JEVVEF#wrap" target="_blank" rel="nofollow noopener">SSH keys vs password</a></li>
<li>Lars - <a href="http://dpaste.com/0RAFMXZ" target="_blank" rel="nofollow noopener">Tor-Talk</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0309.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>DragonFlyBSD Project Update - colo upgrade, future trends, resuming ZFS send, realtime bandwidth terminal graph visualization, fixing telnet fixes, a chapter from the FBI’s history with OpenBSD and an OpenSSH vuln, and more.</p>

<h2>Headlines</h2>

<h3><a href="http://lists.dragonflybsd.org/pipermail/users/2019-July/358226.html" target="_blank" rel="nofollow noopener">DragonFlyBSD Project Update - colo upgrade, future trends</a></h3>

<blockquote>
<p>For the last week I've been testing out a replacement for Monster, our 48-core opteron server.  The project will be removing Monster from the colo in a week or two and replacing it with three machines which together will use half the power that Monster did alone.</p>

<p>The goal is to clear out a little power budget in the colo and to really beef-up our package-building capabilities to reduce the turn-around time needed to test ports syncs and updates to the binary package system.</p>

<p>Currently we use two blades to do most of the building, plus monster sometimes.  The blades take almost a week (120 hours+) to do a full synth run and monster takes around 27.5 hours.  But we need to do three bulk builds more or less at the same time... one for the release branch, one for the development branch, and one for staging updates.  It just takes too long and its been gnawing at me for a little while.</p>

<p>Well, Zen 2 to the rescue!  These new CPUs can take ECC, there's actually an IPMI mobo available, and they are fast as hell and cheap for what we get. </p>

<p>The new machines will be two 3900X based servers, plus a dual-xeon system that I already had at home.   The 3900X's can each do a full synth run in 24.5 hours and the Xeon can do it in around 31 hours.  Monster will be retired.  And the crazy thing about this?  Monster burns 1000W going full bore.  Each of the 3900X servers burns 160W and the Xeon burns 200W.  In otherwords, we are replacing 1000W with only 520W and getting roughly 6x the performance efficiency in the upgrade.  This tell you just how much more power-efficient machines have become in the last 9 years or so. &gt; This upgrade will allow us to do full builds for both release and dev in roughly one day instead of seven days, and do it without interfering with staging work that might be happening at the same time.</p>

<p>Future trends - DragonFlyBSD has reached a bit of a cross-roads.  With most of the SMP work now essentially complete across the entire system the main project focus is now on supplying reliable binary ports for release and developer branches, DRM  (GPU) support and other UI elements to keep DragonFlyBSD relevant on workstations, and continuing Filesystem work on HAMMER2 to get multi-device and clustering going.</p>
</blockquote>

<hr>

<h3><a href="https://www.oshogbo.vexillium.org/blog/66/" target="_blank" rel="nofollow noopener">Resuming ZFS send</a></h3>

<blockquote>
<p>One of the amazing functionalities of ZFS is the possibility of sending a whole dataset from one place to another. This mechanism is amazing to create backups of your ZFS based machines. Although, there were some issues with this functionality for a long time when a user sent a big chunk of data. What if you would do that over the network and your connection has disappeared? What if your machine was rebooted as you are sending a snapshot?</p>

<p>For a very long time, you didn't have any options - you had to send a snapshot from the beginning. Now, this limitation was already bad enough. However, another downside of this approach was that all the data which you already send was thrown away. Therefore, ZFS had to go over all this data and remove them from the dataset. Imagine the terabytes of data which you sent via the network was thrown away because as you were sending the last few bytes, the network went off.</p>

<p>In this short post, I don't want to go over the whole ZFS snapshot infrastructure (if you think that such a post would be useful, please leave a comment). Now, to get back to the point, this infrastructure is used to clone the datasets. Some time ago a new feature called “Resuming ZFS send” was introduced. That means that if there was some problem with transmitting the dataset from one point to another you could resume it or throw them away. But the point is, that yes, you finally have a choice.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://dataswamp.org/%7Esolene/2019-07-19-ttyplot-netstat-openbsd.html" target="_blank" rel="nofollow noopener">Realtime bandwidth terminal graph visualization</a></h3>

<blockquote>
<p>If for some reasons you want to visualize your bandwidth traffic on an interface (in or out) in a terminal with a nice graph, here is a small script to do so, involving ttyplot, a nice software making graphics in a terminal.</p>

<p>The following will works on OpenBSD. You can install ttyplot by pkg_add ttyplot as root, ttyplot package appeared since OpenBSD 6.5.</p>
</blockquote>

<hr>

<h3><a href="https://flak.tedunangst.com/post/fixing-telnet-fixes" target="_blank" rel="nofollow noopener">fixing telnet fixes</a></h3>

<blockquote>
<p>There’s a FreeBSD commit to telnet. fix a couple of snprintf() buffer overflows. It’s received a bit of attention for various reasons, telnet in 2019?, etc. I thought I’d take a look. Here’s a few random observations.</p>

<ol>
<li><p>The first line is indented with spaces while the others use tabs.</p></li>
<li><p>The correct type for string length is size_t not unsigned int.</p></li>
<li><p>sizeof(char) is always one. There’s no need to multiply by it.</p></li>
<li><p>If you do need to multiply by a size, this is an unsafe pattern.  Use calloc or something similar. (OpenBSD provides reallocarray to avoid zeroing cost of calloc.)</p></li>
<li><p>Return value of malloc doesn’t need to be cast. In fact, should not be, lest you disguise a warning.</p></li>
<li><p>Return value of malloc is not checked for NULL.</p></li>
<li><p>No reason to cast cp to char * when passing to snprintf. It already is that type. And if it weren’t, what are you doing?</p></li>
<li><p>The whole operation could be simplified by using asprintf.</p></li>
<li><p>Although unlikely (probably impossible here, but more generally), adding the two source lengths together can overflow, resulting in truncation with an unchecked snprintf call. asprintf avoids this failure case.</p></li>
</ol>
</blockquote>

<hr>

<h3><a href="https://twitter.com/RooneyMcNibNug/status/1152327783055601664" target="_blank" rel="nofollow noopener">A Chapter from the FBI’s History with OpenBSD and an OpenSSH Vuln</a></h3>

<blockquote>
<p>Earlier this year I FOIAed the FBI for details on allegations of backdoor installed in the IPSEC stack in 2010, originally discussed by OpenBSD devs (<a href="https://marc.info/?l=openbsd-tech&amp;m=129236621626462" target="_blank" rel="nofollow noopener">https://marc.info/?l=openbsd-tech&amp;m=129236621626462</a> …) Today, I got an interesting but unexpected responsive record: </p>
</blockquote>

<ul>
<li><a href="https://www.muckrock.com/foi/united-states-of-america-10/foia-fbi-openbsd-70084/" target="_blank" rel="nofollow noopener">Freedom of Information Act: FBI: OpenBSD</a> </li>
<li><a href="https://github.com/RooneyMcNibNug/FOIA/blob/master/Responsive%20Docs/OpenBSD/FBI_OpenBSD_response_OCRd.pdf" target="_blank" rel="nofollow noopener">GitHub Repo</a></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://mwl.io/archives/4378" target="_blank" rel="nofollow noopener">“Sudo Mastery, 2nd Edition” open for tech review</a></li>
<li><a href="https://www.freebsdnews.com/2019/07/12/freebsd-journal-freebsd-for-makers/" target="_blank" rel="nofollow noopener">FreeBSD Journal: FreeBSD for Makers</a></li>
<li><a href="http://mail-index.netbsd.org/netbsd-advocacy/2019/07/19/msg000808.html" target="_blank" rel="nofollow noopener">OpenBSD and NetBSD machines at Open Source Conference 2019 Nagoya</a></li>
<li><a href="https://www.youtube.com/watch?v=zuj9pRNR2oM" target="_blank" rel="nofollow noopener">FreeBSD 12.0: WINE Gaming</a></li>
<li><a href="https://www.netbsd.org/gallery/presentations/wiz/pkgsrccon2019/index.html#/" target="_blank" rel="nofollow noopener">Introduction to the Structure and Interpretation of TNF (The NetBSD Foundation)</a></li>
<li><a href="https://www.vbsdcon.com/" target="_blank" rel="nofollow noopener">vBSDcon speakers announced</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Pat - <a href="http://dpaste.com/21Y1PRM" target="_blank" rel="nofollow noopener">NYCBug Aug 7th</a></li>
<li>Tyler - <a href="http://dpaste.com/3JEVVEF#wrap" target="_blank" rel="nofollow noopener">SSH keys vs password</a></li>
<li>Lars - <a href="http://dpaste.com/0RAFMXZ" target="_blank" rel="nofollow noopener">Tor-Talk</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0309.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>308: Mumbling with OpenBSD</title>
  <link>https://www.bsdnow.tv/308</link>
  <guid isPermaLink="false">583db96b-f838-461b-a366-c6d49825c5be</guid>
  <pubDate>Wed, 24 Jul 2019 23:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/583db96b-f838-461b-a366-c6d49825c5be.mp3" length="31984767" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Replacing a (silently) failing disk in a ZFS pool, OPNsense 19.7 RC1 released, implementing DRM ioctl support for NetBSD, High quality/low latency VOIP server with umurmur/Mumble on OpenBSD, the PDP-7 where Unix began, LLDB watchpoints, and more.</itunes:subtitle>
  <itunes:duration>44:25</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>&lt;p&gt;Replacing a (silently) failing disk in a ZFS pool, OPNsense 19.7 RC1 released, implementing DRM ioctl support for NetBSD, High quality/low latency VOIP server with umurmur/Mumble on OpenBSD, the PDP-7 where Unix began, LLDB watchpoints, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://imil.net/blog/2019/07/02/Replacing-a-silently-failing-disk-in-a-ZFS-pool/" target="_blank" rel="nofollow noopener"&gt;Replacing a (silently) failing disk in a ZFS pool&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Maybe I can’t read, but I have the feeling that official documentations explain every single corner case for a given tool, except the one you will actually need. My today’s struggle: replacing a disk within a FreeBSD ZFS pool.&lt;br&gt;
What? there’s a shitton of docs on this topic! Are you stupid?&lt;br&gt;
I don’t know, maybe. Yet none covered the process in a simple, straight and complete manner.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-19-7-rc1-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 19.7 RC1 released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Hi there,&lt;br&gt;
For four and a half years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.&lt;br&gt;
We thank all of you for helping test, shape and contribute to the project! We know it would not be the same without you.&lt;br&gt;
Download links, an installation guide[1] and the checksums for the images can be found below as well.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/implementation_of_drm_ioctl_support" target="_blank" rel="nofollow noopener"&gt;Implementation of DRM ioctl Support for NetBSD kernel&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;What is DRM ioctl ?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Ioctls are input/output control system calls and DRM stands for direct rendering manager The DRM layer provides several services to graphics drivers, many of them driven by the application interfaces it provides through libdrm, the library that wraps most of the DRM ioctls. These include vblank event handling, memory management, output management, framebuffer management, command submission &amp;amp; fencing, suspend/resume support, and DMA services.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Native DRM ioctl calls&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;NetBSD was able to make native DRM ioctl calls with hardware rendering once xorg and proper mesa packages where installed. We used the glxinfo and glxgears applications to test this out.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2019-07-04-umurmur.html" target="_blank" rel="nofollow noopener"&gt;High quality / low latency VOIP server with umurmur/Mumble on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Discord users keep telling about their so called discord server, which is not dedicated to them at all. And Discord has a very bad quality and a lot of voice distorsion.&lt;br&gt;
Why not run your very own mumble server with high voice quality and low latency and privacy respect? This is very easy to setup on OpenBSD!&lt;br&gt;
Mumble is an open source voip client, it has a client named Mumble (available on various operating system) and at least Android, the server part is murmur but there is a lightweight server named umurmur. People authentication is done through certificate generated locally and automatically accepted on a server, and the certificate get associated with a nickname. Nobody can pick the same nickname as another person if it’s not the same certificate.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.softwaremill.com/tmwl-june19-js-fetch-api-scheduling-in-spring-thoughts-on-unix-fd54f50ecd64" target="_blank" rel="nofollow noopener"&gt;TMWL June’19 — JS Fetch API, scheduling in Spring, thoughts on Unix&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Unix — going back to the roots&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;From time to time, I like to review my knowledge in a certain area, even when I feel like I know a lot about it already. I go back to the basics and read tutorials, manuals, books or watch interesting videos.&lt;br&gt;
I’ve been using macOS for a couple of years now, previously being a linux user for some (relatively short) time. Both these operating systems have a common ancestor — Unix. While I’m definitely not an expert, I feel quite comfortable using linux &amp;amp; macOS — I understand the concepts behind the system architecture, know a lot of command line tools &amp;amp; navigate through the shell without a hassle. So-called unix philosophy is also close to my heart. I always feel like there’s more I could squeeze out of it.&lt;br&gt;
Recently, I found that book titled “Unix for dummies, 5th edition” which was published back in… 2004. Feels literally like AGES in the computer-related world. However, it was a great shot — the book starts with the basics, providing some brief history of Unix and how it came to life. It talks a lot about the structure of the system and where certain pieces fit (eg. “standard” set of tools), and how to understand permissions and work with files &amp;amp; directories. There’s even a whole chapter about shell-based text editors like Vi and Emacs! Despite the fact that I am familiar with most of these, I could still find some interesting pieces &amp;amp; tools that I either knew existed (but never had a chance to use), or even haven’t ever heard of. And almost all of these are still valid in the modern “incarnations” of Unix’s descendants: Linux and macOS.&lt;br&gt;
The book also talks about networking, surfing the web &amp;amp; working with email. It’s cute to see pictures of those old browsers rendering “ancient” Internet websites, but hey — this is how it looked like no more than fifteen years ago!&lt;br&gt;
I can really recommend this book to anyone working on modern macOS or Linux — you will certainly find some interesting pieces. Especially if you like to go back to the roots from time to time as I do!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://bsdimp.blogspot.com/2019/07/the-pdp-7-where-unix-began.html" target="_blank" rel="nofollow noopener"&gt;ThePDP-7 Where Unix Began&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In preparation for a talk on Seventh Edition Unix this fall, I stumbled upon a service list from DEC for all known PDP-7 machines. From that list, and other sources, I believe that PDP-7 serial number 34 was the original Unix machine.&lt;br&gt;
V0 Unix could run on only one of the PDP-7s. Of the 99 PDP-7s produced, only two had disks. Serial number 14 had an RA01 listed, presumably a disk, though of a different type. In addition to the PDP-7 being obsolete in 1970, no other PDP-7 could run Unix, limiting its appeal outside of Bell Labs. By porting Unix to the PDP-11 in 1970, the group ensured Unix would live on into the future. The PDP-9 and PDP-15 were both upgrades of the PDP-7, so to be fair, PDP-7 Unix did have a natural upgrade path (the PDP-11 out sold the 18 bit systems though ~600,000 to ~1000). Ken Thompson reports in a private email that there were 2 PDP-9s and 1 PDP-15 at Bell Labs that could run a version of the PDP-7 Unix, though those machines were viewed as born obsolete.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/lldb_watchpoints_xstate_in_ptrace" target="_blank" rel="nofollow noopener"&gt;LLDB: watchpoints, XSTATE in ptrace() and core dumps&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.&lt;br&gt;
In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support and lately extending NetBSD's ptrace interface to cover more register types and fix compat32 issues. You can read more about that in my May 2019 report.&lt;br&gt;
In June, I have finally finished the remaining ptrace() work for xstate and got it merged both on NetBSD and LLDB end (meaning it's going to make it into NetBSD 9). I have also worked on debug register support in LLDB, effectively fixing watchpoint support. Once again I had to fight some upstream regressions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://project-trident.org/post/2019-07-12_19.07_available/" target="_blank" rel="nofollow noopener"&gt;Project Trident 19.07 Available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.montanalinux.org/cold-blood-list-of-numbers-201907.html" target="_blank" rel="nofollow noopener"&gt;A list of names from "Cold Blood" -- Any familiar?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/enkiv2/fern" target="_blank" rel="nofollow noopener"&gt;fern: a curses-based mastodon client modeled off usenet news readers &amp;amp; pine, with an emphasis on getting to 'timeline zero'&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20190707065226" target="_blank" rel="nofollow noopener"&gt;OpenBSD Community goes Platinum for 2019!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/07/15/23199.html" target="_blank" rel="nofollow noopener"&gt;tcp keepalive and dports on DragonFly&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Patrick - &lt;a href="http://dpaste.com/1W2HJ04" target="_blank" rel="nofollow noopener"&gt;OpenZFS/ZoL Module from Ports&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/345VM9Y#wrap" target="_blank" rel="nofollow noopener"&gt;Services not starting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Simon - &lt;a href="http://dpaste.com/1B4ZKC8#wrap" target="_blank" rel="nofollow noopener"&gt;Feedback&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0308.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.

 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, zfs, zpool, opnsense, drm, voip, umurmur, mumble, pdp-7, lldp, watchpoints</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Replacing a (silently) failing disk in a ZFS pool, OPNsense 19.7 RC1 released, implementing DRM ioctl support for NetBSD, High quality/low latency VOIP server with umurmur/Mumble on OpenBSD, the PDP-7 where Unix began, LLDB watchpoints, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://imil.net/blog/2019/07/02/Replacing-a-silently-failing-disk-in-a-ZFS-pool/" target="_blank" rel="nofollow noopener">Replacing a (silently) failing disk in a ZFS pool</a></h3>

<blockquote>
<p>Maybe I can’t read, but I have the feeling that official documentations explain every single corner case for a given tool, except the one you will actually need. My today’s struggle: replacing a disk within a FreeBSD ZFS pool.<br>
What? there’s a shitton of docs on this topic! Are you stupid?<br>
I don’t know, maybe. Yet none covered the process in a simple, straight and complete manner.</p>
</blockquote>

<hr>

<h3><a href="https://opnsense.org/opnsense-19-7-rc1-released/" target="_blank" rel="nofollow noopener">OPNsense 19.7 RC1 released</a></h3>

<blockquote>
<p>Hi there,<br>
For four and a half years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.<br>
We thank all of you for helping test, shape and contribute to the project! We know it would not be the same without you.<br>
Download links, an installation guide[1] and the checksums for the images can be found below as well.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/implementation_of_drm_ioctl_support" target="_blank" rel="nofollow noopener">Implementation of DRM ioctl Support for NetBSD kernel</a></h3>

<ul>
<li>What is DRM ioctl ?</li>
</ul>

<blockquote>
<p>Ioctls are input/output control system calls and DRM stands for direct rendering manager The DRM layer provides several services to graphics drivers, many of them driven by the application interfaces it provides through libdrm, the library that wraps most of the DRM ioctls. These include vblank event handling, memory management, output management, framebuffer management, command submission &amp; fencing, suspend/resume support, and DMA services.</p>
</blockquote>

<ul>
<li>Native DRM ioctl calls</li>
</ul>

<blockquote>
<p>NetBSD was able to make native DRM ioctl calls with hardware rendering once xorg and proper mesa packages where installed. We used the glxinfo and glxgears applications to test this out.</p>
</blockquote>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2019-07-04-umurmur.html" target="_blank" rel="nofollow noopener">High quality / low latency VOIP server with umurmur/Mumble on OpenBSD</a></h3>

<blockquote>
<p>Discord users keep telling about their so called discord server, which is not dedicated to them at all. And Discord has a very bad quality and a lot of voice distorsion.<br>
Why not run your very own mumble server with high voice quality and low latency and privacy respect? This is very easy to setup on OpenBSD!<br>
Mumble is an open source voip client, it has a client named Mumble (available on various operating system) and at least Android, the server part is murmur but there is a lightweight server named umurmur. People authentication is done through certificate generated locally and automatically accepted on a server, and the certificate get associated with a nickname. Nobody can pick the same nickname as another person if it’s not the same certificate.</p>
</blockquote>

<hr>

<h3><a href="https://blog.softwaremill.com/tmwl-june19-js-fetch-api-scheduling-in-spring-thoughts-on-unix-fd54f50ecd64" target="_blank" rel="nofollow noopener">TMWL June’19 — JS Fetch API, scheduling in Spring, thoughts on Unix</a></h3>

<ul>
<li>Unix — going back to the roots</li>
</ul>

<blockquote>
<p>From time to time, I like to review my knowledge in a certain area, even when I feel like I know a lot about it already. I go back to the basics and read tutorials, manuals, books or watch interesting videos.<br>
I’ve been using macOS for a couple of years now, previously being a linux user for some (relatively short) time. Both these operating systems have a common ancestor — Unix. While I’m definitely not an expert, I feel quite comfortable using linux &amp; macOS — I understand the concepts behind the system architecture, know a lot of command line tools &amp; navigate through the shell without a hassle. So-called unix philosophy is also close to my heart. I always feel like there’s more I could squeeze out of it.<br>
Recently, I found that book titled “Unix for dummies, 5th edition” which was published back in… 2004. Feels literally like AGES in the computer-related world. However, it was a great shot — the book starts with the basics, providing some brief history of Unix and how it came to life. It talks a lot about the structure of the system and where certain pieces fit (eg. “standard” set of tools), and how to understand permissions and work with files &amp; directories. There’s even a whole chapter about shell-based text editors like Vi and Emacs! Despite the fact that I am familiar with most of these, I could still find some interesting pieces &amp; tools that I either knew existed (but never had a chance to use), or even haven’t ever heard of. And almost all of these are still valid in the modern “incarnations” of Unix’s descendants: Linux and macOS.<br>
The book also talks about networking, surfing the web &amp; working with email. It’s cute to see pictures of those old browsers rendering “ancient” Internet websites, but hey — this is how it looked like no more than fifteen years ago!<br>
I can really recommend this book to anyone working on modern macOS or Linux — you will certainly find some interesting pieces. Especially if you like to go back to the roots from time to time as I do!</p>
</blockquote>

<hr>

<h3><a href="https://bsdimp.blogspot.com/2019/07/the-pdp-7-where-unix-began.html" target="_blank" rel="nofollow noopener">ThePDP-7 Where Unix Began</a></h3>

<blockquote>
<p>In preparation for a talk on Seventh Edition Unix this fall, I stumbled upon a service list from DEC for all known PDP-7 machines. From that list, and other sources, I believe that PDP-7 serial number 34 was the original Unix machine.<br>
V0 Unix could run on only one of the PDP-7s. Of the 99 PDP-7s produced, only two had disks. Serial number 14 had an RA01 listed, presumably a disk, though of a different type. In addition to the PDP-7 being obsolete in 1970, no other PDP-7 could run Unix, limiting its appeal outside of Bell Labs. By porting Unix to the PDP-11 in 1970, the group ensured Unix would live on into the future. The PDP-9 and PDP-15 were both upgrades of the PDP-7, so to be fair, PDP-7 Unix did have a natural upgrade path (the PDP-11 out sold the 18 bit systems though ~600,000 to ~1000). Ken Thompson reports in a private email that there were 2 PDP-9s and 1 PDP-15 at Bell Labs that could run a version of the PDP-7 Unix, though those machines were viewed as born obsolete.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_watchpoints_xstate_in_ptrace" target="_blank" rel="nofollow noopener">LLDB: watchpoints, XSTATE in ptrace() and core dumps</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.<br>
In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support and lately extending NetBSD's ptrace interface to cover more register types and fix compat32 issues. You can read more about that in my May 2019 report.<br>
In June, I have finally finished the remaining ptrace() work for xstate and got it merged both on NetBSD and LLDB end (meaning it's going to make it into NetBSD 9). I have also worked on debug register support in LLDB, effectively fixing watchpoint support. Once again I had to fight some upstream regressions.</p>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://project-trident.org/post/2019-07-12_19.07_available/" target="_blank" rel="nofollow noopener">Project Trident 19.07 Available</a></li>
<li><a href="https://www.montanalinux.org/cold-blood-list-of-numbers-201907.html" target="_blank" rel="nofollow noopener">A list of names from "Cold Blood" -- Any familiar?</a></li>
<li><a href="https://github.com/enkiv2/fern" target="_blank" rel="nofollow noopener">fern: a curses-based mastodon client modeled off usenet news readers &amp; pine, with an emphasis on getting to 'timeline zero'</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20190707065226" target="_blank" rel="nofollow noopener">OpenBSD Community goes Platinum for 2019!</a></li>
<li><a href="https://www.dragonflydigest.com/2019/07/15/23199.html" target="_blank" rel="nofollow noopener">tcp keepalive and dports on DragonFly</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Patrick - <a href="http://dpaste.com/1W2HJ04" target="_blank" rel="nofollow noopener">OpenZFS/ZoL Module from Ports</a></li>
<li>Brad - <a href="http://dpaste.com/345VM9Y#wrap" target="_blank" rel="nofollow noopener">Services not starting</a></li>
<li>Simon - <a href="http://dpaste.com/1B4ZKC8#wrap" target="_blank" rel="nofollow noopener">Feedback</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0308.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Replacing a (silently) failing disk in a ZFS pool, OPNsense 19.7 RC1 released, implementing DRM ioctl support for NetBSD, High quality/low latency VOIP server with umurmur/Mumble on OpenBSD, the PDP-7 where Unix began, LLDB watchpoints, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://imil.net/blog/2019/07/02/Replacing-a-silently-failing-disk-in-a-ZFS-pool/" target="_blank" rel="nofollow noopener">Replacing a (silently) failing disk in a ZFS pool</a></h3>

<blockquote>
<p>Maybe I can’t read, but I have the feeling that official documentations explain every single corner case for a given tool, except the one you will actually need. My today’s struggle: replacing a disk within a FreeBSD ZFS pool.<br>
What? there’s a shitton of docs on this topic! Are you stupid?<br>
I don’t know, maybe. Yet none covered the process in a simple, straight and complete manner.</p>
</blockquote>

<hr>

<h3><a href="https://opnsense.org/opnsense-19-7-rc1-released/" target="_blank" rel="nofollow noopener">OPNsense 19.7 RC1 released</a></h3>

<blockquote>
<p>Hi there,<br>
For four and a half years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.<br>
We thank all of you for helping test, shape and contribute to the project! We know it would not be the same without you.<br>
Download links, an installation guide[1] and the checksums for the images can be found below as well.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/implementation_of_drm_ioctl_support" target="_blank" rel="nofollow noopener">Implementation of DRM ioctl Support for NetBSD kernel</a></h3>

<ul>
<li>What is DRM ioctl ?</li>
</ul>

<blockquote>
<p>Ioctls are input/output control system calls and DRM stands for direct rendering manager The DRM layer provides several services to graphics drivers, many of them driven by the application interfaces it provides through libdrm, the library that wraps most of the DRM ioctls. These include vblank event handling, memory management, output management, framebuffer management, command submission &amp; fencing, suspend/resume support, and DMA services.</p>
</blockquote>

<ul>
<li>Native DRM ioctl calls</li>
</ul>

<blockquote>
<p>NetBSD was able to make native DRM ioctl calls with hardware rendering once xorg and proper mesa packages where installed. We used the glxinfo and glxgears applications to test this out.</p>
</blockquote>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2019-07-04-umurmur.html" target="_blank" rel="nofollow noopener">High quality / low latency VOIP server with umurmur/Mumble on OpenBSD</a></h3>

<blockquote>
<p>Discord users keep telling about their so called discord server, which is not dedicated to them at all. And Discord has a very bad quality and a lot of voice distorsion.<br>
Why not run your very own mumble server with high voice quality and low latency and privacy respect? This is very easy to setup on OpenBSD!<br>
Mumble is an open source voip client, it has a client named Mumble (available on various operating system) and at least Android, the server part is murmur but there is a lightweight server named umurmur. People authentication is done through certificate generated locally and automatically accepted on a server, and the certificate get associated with a nickname. Nobody can pick the same nickname as another person if it’s not the same certificate.</p>
</blockquote>

<hr>

<h3><a href="https://blog.softwaremill.com/tmwl-june19-js-fetch-api-scheduling-in-spring-thoughts-on-unix-fd54f50ecd64" target="_blank" rel="nofollow noopener">TMWL June’19 — JS Fetch API, scheduling in Spring, thoughts on Unix</a></h3>

<ul>
<li>Unix — going back to the roots</li>
</ul>

<blockquote>
<p>From time to time, I like to review my knowledge in a certain area, even when I feel like I know a lot about it already. I go back to the basics and read tutorials, manuals, books or watch interesting videos.<br>
I’ve been using macOS for a couple of years now, previously being a linux user for some (relatively short) time. Both these operating systems have a common ancestor — Unix. While I’m definitely not an expert, I feel quite comfortable using linux &amp; macOS — I understand the concepts behind the system architecture, know a lot of command line tools &amp; navigate through the shell without a hassle. So-called unix philosophy is also close to my heart. I always feel like there’s more I could squeeze out of it.<br>
Recently, I found that book titled “Unix for dummies, 5th edition” which was published back in… 2004. Feels literally like AGES in the computer-related world. However, it was a great shot — the book starts with the basics, providing some brief history of Unix and how it came to life. It talks a lot about the structure of the system and where certain pieces fit (eg. “standard” set of tools), and how to understand permissions and work with files &amp; directories. There’s even a whole chapter about shell-based text editors like Vi and Emacs! Despite the fact that I am familiar with most of these, I could still find some interesting pieces &amp; tools that I either knew existed (but never had a chance to use), or even haven’t ever heard of. And almost all of these are still valid in the modern “incarnations” of Unix’s descendants: Linux and macOS.<br>
The book also talks about networking, surfing the web &amp; working with email. It’s cute to see pictures of those old browsers rendering “ancient” Internet websites, but hey — this is how it looked like no more than fifteen years ago!<br>
I can really recommend this book to anyone working on modern macOS or Linux — you will certainly find some interesting pieces. Especially if you like to go back to the roots from time to time as I do!</p>
</blockquote>

<hr>

<h3><a href="https://bsdimp.blogspot.com/2019/07/the-pdp-7-where-unix-began.html" target="_blank" rel="nofollow noopener">ThePDP-7 Where Unix Began</a></h3>

<blockquote>
<p>In preparation for a talk on Seventh Edition Unix this fall, I stumbled upon a service list from DEC for all known PDP-7 machines. From that list, and other sources, I believe that PDP-7 serial number 34 was the original Unix machine.<br>
V0 Unix could run on only one of the PDP-7s. Of the 99 PDP-7s produced, only two had disks. Serial number 14 had an RA01 listed, presumably a disk, though of a different type. In addition to the PDP-7 being obsolete in 1970, no other PDP-7 could run Unix, limiting its appeal outside of Bell Labs. By porting Unix to the PDP-11 in 1970, the group ensured Unix would live on into the future. The PDP-9 and PDP-15 were both upgrades of the PDP-7, so to be fair, PDP-7 Unix did have a natural upgrade path (the PDP-11 out sold the 18 bit systems though ~600,000 to ~1000). Ken Thompson reports in a private email that there were 2 PDP-9s and 1 PDP-15 at Bell Labs that could run a version of the PDP-7 Unix, though those machines were viewed as born obsolete.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_watchpoints_xstate_in_ptrace" target="_blank" rel="nofollow noopener">LLDB: watchpoints, XSTATE in ptrace() and core dumps</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.<br>
In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support and lately extending NetBSD's ptrace interface to cover more register types and fix compat32 issues. You can read more about that in my May 2019 report.<br>
In June, I have finally finished the remaining ptrace() work for xstate and got it merged both on NetBSD and LLDB end (meaning it's going to make it into NetBSD 9). I have also worked on debug register support in LLDB, effectively fixing watchpoint support. Once again I had to fight some upstream regressions.</p>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://project-trident.org/post/2019-07-12_19.07_available/" target="_blank" rel="nofollow noopener">Project Trident 19.07 Available</a></li>
<li><a href="https://www.montanalinux.org/cold-blood-list-of-numbers-201907.html" target="_blank" rel="nofollow noopener">A list of names from "Cold Blood" -- Any familiar?</a></li>
<li><a href="https://github.com/enkiv2/fern" target="_blank" rel="nofollow noopener">fern: a curses-based mastodon client modeled off usenet news readers &amp; pine, with an emphasis on getting to 'timeline zero'</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20190707065226" target="_blank" rel="nofollow noopener">OpenBSD Community goes Platinum for 2019!</a></li>
<li><a href="https://www.dragonflydigest.com/2019/07/15/23199.html" target="_blank" rel="nofollow noopener">tcp keepalive and dports on DragonFly</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Patrick - <a href="http://dpaste.com/1W2HJ04" target="_blank" rel="nofollow noopener">OpenZFS/ZoL Module from Ports</a></li>
<li>Brad - <a href="http://dpaste.com/345VM9Y#wrap" target="_blank" rel="nofollow noopener">Services not starting</a></li>
<li>Simon - <a href="http://dpaste.com/1B4ZKC8#wrap" target="_blank" rel="nofollow noopener">Feedback</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0308.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>307: Twitching with OpenBSD</title>
  <link>https://www.bsdnow.tv/307</link>
  <guid isPermaLink="false">1bd153c0-be65-44ed-8f12-f73d97e93d8b</guid>
  <pubDate>Thu, 18 Jul 2019 10:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/1bd153c0-be65-44ed-8f12-f73d97e93d8b.mp3" length="36709691" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 11.3 has been released, OpenBSD workstation, write your own fuzzer for the NetBSD kernel, Exploiting FreeBSD-SA-19:02.fd, streaming to twitch using OpenBSD, 3 different ways of dumping hex contents of a file, and more.</itunes:subtitle>
  <itunes:duration>50:59</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>&lt;p&gt;FreeBSD 11.3 has been released, OpenBSD workstation, write your own fuzzer for the NetBSD kernel, Exploiting FreeBSD-SA-19:02.fd, streaming to twitch using OpenBSD, 3 different ways of dumping hex contents of a file, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/releases/11.3R/announce.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.3-RELEASE Announcement&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The FreeBSD Release Engineering Team is pleased to announce the availability of FreeBSD 11.3-RELEASE. This is the fourth release of the stable/11 branch.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Some of the highlights:

&lt;ul&gt;
&lt;li&gt;The clang, llvm, lld, lldb, and compiler-rt utilities as well as libc++ have been updated to upstream version 8.0.0.&lt;/li&gt;
&lt;li&gt;The ELF Tool Chain has been updated to version r3614.&lt;/li&gt;
&lt;li&gt;OpenSSL has been updated to version 1.0.2s.&lt;/li&gt;
&lt;li&gt;The ZFS filesystem has been updated to implement parallel mounting.&lt;/li&gt;
&lt;li&gt;The loader(8) has been updated to extend geli(8) support to all architectures.&lt;/li&gt;
&lt;li&gt;The pkg(8) utility has been updated to version 1.10.5.&lt;/li&gt;
&lt;li&gt;The KDE desktop environment has been updated to version 5.15.3.&lt;/li&gt;
&lt;li&gt;The GNOME desktop environment has been updated to version 3.28.&lt;/li&gt;
&lt;li&gt;The kernel will now log the jail(8) ID when logging a process exit.&lt;/li&gt;
&lt;li&gt;Several feature additions and updates to userland applications.&lt;/li&gt;
&lt;li&gt;Several network driver firmware updates.&lt;/li&gt;
&lt;li&gt;Warnings for features deprecated in future releases will now be printed on all FreeBSD versions.&lt;/li&gt;
&lt;li&gt;Warnings have been added for IPSec algorithms deprecated in RFC 8221.&lt;/li&gt;
&lt;li&gt;Deprecation warnings have been added for weaker algorithms when creating geli(8) providers.&lt;/li&gt;
&lt;li&gt;And more...&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sogubsys.com/openbsd-is-now-my-workstation-operating-system/" target="_blank" rel="nofollow noopener"&gt;OpenBSD Is Now My Workstation&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Why OpenBSD? Simply because it is the best tool for the job for me for my new-to-me Lenovo Thinkpad T420. Additionally, I do care about security and non-bloat in my personal operating systems (business needs can have different priorities, to be clear).&lt;/p&gt;

&lt;p&gt;I will try to detail what my reasons are for going with OpenBSD (instead of GNU/Linux, NetBSD, or FreeBSD of which I’m comfortable using without issue), challenges and frustrations I’ve encountered, and what my opinions are along the way.&lt;/p&gt;

&lt;p&gt;Disclaimer: in this post, I’m speaking about what is my opinion, and I’m not trying to convince you to use OpenBSD or anything else. I don’t truly care, but wanted to share in case it could be useful to you. I do hope you give OpenBSD a shot as your workstation, especially if it has been a while.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A Bit About Me and OpenBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m not new to OpenBSD, to be clear. I’ve been using it off and on for over 20 years. The biggest time in my life was the early 2000s (I was even the Python port maintainer for a bit), where I not only used it for my workstation, but also for production servers and network devices.&lt;/p&gt;

&lt;p&gt;I just haven’t used it as a workstation (outside of a virtual machine) in over 10 years, but have used it for servers. Workstation needs, especially for a primary workstation, are greatly different and the small things end up mattering most.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/write_your_own_fuzzer_for" target="_blank" rel="nofollow noopener"&gt;Write your own fuzzer for NetBSD kernel! [Part 1]&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;How Fuzzing works? The dummy Fuzzer.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The easy way to describe fuzzing is to compare it to the process of unit testing a program, but with different input. This input can be random, or it can be generated in some way that makes it unexpected form standard execution perspective.&lt;/p&gt;

&lt;p&gt;The simplest 'fuzzer' can be written in few lines of bash, by getting N bytes from /dev/rand, and putting them to the program as a parameter.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Coverage and Fuzzing&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;What can be done to make fuzzing more effective? If we think about fuzzing as a process, where we place data into the input of the program (which is a black box), and we can only interact via input, not much more can be done.&lt;/p&gt;

&lt;p&gt;However, programs usually process different inputs at different speeds, which can give us some insight into the program's behavior. During fuzzing, we are trying to crash the program, thus we need additional probes to observe the program's behaviour.&lt;/p&gt;

&lt;p&gt;Additional knowledge about program state can be exploited as a feedback loop for generating new input vectors. Knowledge about the program itself and the structure of input data can also be considered. As an example, if the input data is in the form of HTML, changing characters inside the body will probably cause less problems for the parser than experimenting with headers and HTML tags.&lt;/p&gt;

&lt;p&gt;For open source programs, we can read the source code to know what input takes which execution path. Nonetheless, this might be very time consuming, and it would be much more helpful if this can be automated. As it turns out, this process can be improved by tracing coverage of the execution&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://vbsdcon.com/" target="_blank" rel="nofollow noopener"&gt;vBSDcon - CFP - Call for Papers ends July 19th&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;You can submit your proposal at &lt;a href="https://easychair.org/conferences/?conf=vbsdcon2019" target="_blank" rel="nofollow noopener"&gt;https://easychair.org/conferences/?conf=vbsdcon2019&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The talks will have a very strong technical content bias. Proposals of a business development or marketing nature are not appropriate for this venue.&lt;/p&gt;

&lt;p&gt;If you are doing something interesting with a BSD operating system, please submit a proposal. Whether you are developing a very complex system using BSD as the foundation, or helping others and have a story to tell about how BSD played a role, we want to hear about your experience.  People using BSD as a platform for research are also encouraged to submit a proposal.&lt;/p&gt;

&lt;p&gt;Possible topics include: How we manage a giant installation with respect to handling spam, snd/or sysadmin, and/or networking, Cool new stuff in BSD, Tell us about your project which runs on BSD.&lt;/p&gt;

&lt;p&gt;Both users and developers are encouraged to share their experiences.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://secfault-security.com/blog/FreeBSD-SA-1902.fd.html" target="_blank" rel="nofollow noopener"&gt;Exploiting FreeBSD-SA-19:02.fd&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In February 2019 the FreeBSD project issued an advisory about a possible vulnerability in the handling of file descriptors. UNIX-like systems such as FreeBSD allow to send file descriptors to other processes via UNIX-domain sockets. This can for example be used to pass file access privileges to the receiving process.&lt;/p&gt;

&lt;p&gt;Inside the kernel, file descriptors are used to indirectly reference a C struct which stores the relevant information about the file object. This could for instance include a reference to a vnode which describes the file for the file system, the file type, or the access privileges.&lt;/p&gt;

&lt;p&gt;What really happens if a UNIX-domain socket is used to send a file descriptor to another process is that for the receiving process, inside the kernel a reference to this struct is created. As the new file descriptor is a reference to the same file object, all information is inherited. For instance, this can allow to give another process write access to a file on the drive even if the process owner is normally not able to open the file writable.&lt;/p&gt;

&lt;p&gt;The advisory describes that FreeBSD 12.0 introduced a bug in this mechanism. As the file descriptor information is sent via a socket, the sender and the receiver have to allocate buffers for the procedure. If the receiving buffer is not large enough, the FreeBSD kernel attempts to close the received file descriptors to prevent a leak of these to the sender. However, while the responsible function closes the file descriptor, it fails to release the reference from the file descriptor to the file object. This could cause the reference counter to wrap.&lt;/p&gt;

&lt;p&gt;The advisory further states that the impact of this bug is possibly a local privilege escalation to gain root privileges or a jail escape. However, no proof-of-concept was provided by the advisory authors.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In the next section, the bug itself is analyzed to make a statement about the bug class and a guess about a possible exploitation primitive.&lt;/li&gt;
&lt;li&gt;After that, the bug trigger is addressed.&lt;/li&gt;
&lt;li&gt;It follows a discussion of three imaginable exploitation strategies - including a discussion of why two of these approaches failed.&lt;/li&gt;
&lt;li&gt;In the section before last, the working exploit primitive is discussed. It introduces a (at least to the author’s knowledge) new exploitation technique for these kind of vulnerabilities in FreeBSD. The stabilization of the exploit is addressed, too.&lt;/li&gt;
&lt;li&gt;The last section wraps everything up in a conclusion and points out further steps and challenges.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The privilege escalation is now a piece of cake thanks to a technique used by kingcope, who published a FreeBSD root exploit in 2005, which writes to the file /etc/libmap.conf. This configuration file can be used to hook the loading of dynamic libraries if a program is started. The exploit therefore creates a dynamic library, which copies /bin/sh to another file and sets the suid-bit for the copy. The hooked library is libutil, which is for instance called by su. Therefore, a call to su by the user will afterwards result in a suid copy of /bin/sh.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/%7Esolene/2019-07-06-twitch.html" target="_blank" rel="nofollow noopener"&gt;Streaming to Twitch using OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt; Introduction&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you ever wanted to make a twitch stream from your OpenBSD system, this is now possible, thanks to OpenBSD developer thfr@ who made a wrapper named fauxstream using ffmpeg with relevant parameters.&lt;/p&gt;

&lt;p&gt;The setup is quite easy, it only requires a few steps and searching on Twitch website two informations, hopefully, to ease the process, I found the links for you.&lt;/p&gt;

&lt;p&gt;You will need to make an account on twitch, get your api key (a long string of characters) which should stay secret because it allow anyone having it to stream on your account.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;These same techniques should work for Twitch, YouTube Live, Periscope, Facebook, etc, including the live streaming service ScaleEngine provides free to BSD user groups.&lt;/li&gt;
&lt;li&gt;There is also an open source application called ‘OBS’ or Open Broadcaster Studio. It is in FreeBSD ports and should work on all of the other BSDs as well. It has a GUI and supports compositing and green screening. We use it heavily at ScaleEngine and it is also used at JupiterBroadcasting in place of WireCast, a $1000-per-copy commercial application.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://calagator.org/events/1250475868" target="_blank" rel="nofollow noopener"&gt;Portland BSD Pizza Night - 2019-07-25 19:00 - Rudy's Gourmet Pizza&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://knoxbug.org/2019-07-29" target="_blank" rel="nofollow noopener"&gt;KnoxBUG - Michael W. Lucas : Twenty Years in Jail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ohiolinux.org/call-for-presentations/" target="_blank" rel="nofollow noopener"&gt;Ohio Linuxfest - CFP - Closes August 17th&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://old.reddit.com/r/freebsd/comments/cdx8fp/my_college_nyu_tandon_is_moving_their_cs/" target="_blank" rel="nofollow noopener"&gt;My college (NYU Tandon) is moving their CS department and I saw this on a shelf being moved&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://moopost.blogspot.com/2019/07/3-different-ways-of-dumping-hex.html" target="_blank" rel="nofollow noopener"&gt;3 different ways of dumping hex contents of a file&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Sebastian - &lt;a href="http://dpaste.com/0DRKFH6#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS setup toward ESXi&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Christopher - &lt;a href="http://dpaste.com/2YNN1SH" target="_blank" rel="nofollow noopener"&gt;Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ser - &lt;a href="http://dpaste.com/1F5TMT0#wrap" target="_blank" rel="nofollow noopener"&gt;Bhyve and Microsoft SQL&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0307.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, workstation, streaming, twitch, hex, dump, dumping</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 11.3 has been released, OpenBSD workstation, write your own fuzzer for the NetBSD kernel, Exploiting FreeBSD-SA-19:02.fd, streaming to twitch using OpenBSD, 3 different ways of dumping hex contents of a file, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/11.3R/announce.html" target="_blank" rel="nofollow noopener">FreeBSD 11.3-RELEASE Announcement</a></h3>

<blockquote>
<p>The FreeBSD Release Engineering Team is pleased to announce the availability of FreeBSD 11.3-RELEASE. This is the fourth release of the stable/11 branch.</p>
</blockquote>

<ul>
<li>Some of the highlights:

<ul>
<li>The clang, llvm, lld, lldb, and compiler-rt utilities as well as libc++ have been updated to upstream version 8.0.0.</li>
<li>The ELF Tool Chain has been updated to version r3614.</li>
<li>OpenSSL has been updated to version 1.0.2s.</li>
<li>The ZFS filesystem has been updated to implement parallel mounting.</li>
<li>The loader(8) has been updated to extend geli(8) support to all architectures.</li>
<li>The pkg(8) utility has been updated to version 1.10.5.</li>
<li>The KDE desktop environment has been updated to version 5.15.3.</li>
<li>The GNOME desktop environment has been updated to version 3.28.</li>
<li>The kernel will now log the jail(8) ID when logging a process exit.</li>
<li>Several feature additions and updates to userland applications.</li>
<li>Several network driver firmware updates.</li>
<li>Warnings for features deprecated in future releases will now be printed on all FreeBSD versions.</li>
<li>Warnings have been added for IPSec algorithms deprecated in RFC 8221.</li>
<li>Deprecation warnings have been added for weaker algorithms when creating geli(8) providers.</li>
<li>And more...</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://sogubsys.com/openbsd-is-now-my-workstation-operating-system/" target="_blank" rel="nofollow noopener">OpenBSD Is Now My Workstation</a></h3>

<blockquote>
<p>Why OpenBSD? Simply because it is the best tool for the job for me for my new-to-me Lenovo Thinkpad T420. Additionally, I do care about security and non-bloat in my personal operating systems (business needs can have different priorities, to be clear).</p>

<p>I will try to detail what my reasons are for going with OpenBSD (instead of GNU/Linux, NetBSD, or FreeBSD of which I’m comfortable using without issue), challenges and frustrations I’ve encountered, and what my opinions are along the way.</p>

<p>Disclaimer: in this post, I’m speaking about what is my opinion, and I’m not trying to convince you to use OpenBSD or anything else. I don’t truly care, but wanted to share in case it could be useful to you. I do hope you give OpenBSD a shot as your workstation, especially if it has been a while.</p>
</blockquote>

<ul>
<li>A Bit About Me and OpenBSD</li>
</ul>

<blockquote>
<p>I’m not new to OpenBSD, to be clear. I’ve been using it off and on for over 20 years. The biggest time in my life was the early 2000s (I was even the Python port maintainer for a bit), where I not only used it for my workstation, but also for production servers and network devices.</p>

<p>I just haven’t used it as a workstation (outside of a virtual machine) in over 10 years, but have used it for servers. Workstation needs, especially for a primary workstation, are greatly different and the small things end up mattering most.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/write_your_own_fuzzer_for" target="_blank" rel="nofollow noopener">Write your own fuzzer for NetBSD kernel! [Part 1]</a></h3>

<ul>
<li>How Fuzzing works? The dummy Fuzzer.</li>
</ul>

<blockquote>
<p>The easy way to describe fuzzing is to compare it to the process of unit testing a program, but with different input. This input can be random, or it can be generated in some way that makes it unexpected form standard execution perspective.</p>

<p>The simplest 'fuzzer' can be written in few lines of bash, by getting N bytes from /dev/rand, and putting them to the program as a parameter.</p>
</blockquote>

<ul>
<li>Coverage and Fuzzing</li>
</ul>

<blockquote>
<p>What can be done to make fuzzing more effective? If we think about fuzzing as a process, where we place data into the input of the program (which is a black box), and we can only interact via input, not much more can be done.</p>

<p>However, programs usually process different inputs at different speeds, which can give us some insight into the program's behavior. During fuzzing, we are trying to crash the program, thus we need additional probes to observe the program's behaviour.</p>

<p>Additional knowledge about program state can be exploited as a feedback loop for generating new input vectors. Knowledge about the program itself and the structure of input data can also be considered. As an example, if the input data is in the form of HTML, changing characters inside the body will probably cause less problems for the parser than experimenting with headers and HTML tags.</p>

<p>For open source programs, we can read the source code to know what input takes which execution path. Nonetheless, this might be very time consuming, and it would be much more helpful if this can be automated. As it turns out, this process can be improved by tracing coverage of the execution</p>
</blockquote>

<hr>

<h3><a href="https://vbsdcon.com/" target="_blank" rel="nofollow noopener">vBSDcon - CFP - Call for Papers ends July 19th</a></h3>

<blockquote>
<p>You can submit your proposal at <a href="https://easychair.org/conferences/?conf=vbsdcon2019" target="_blank" rel="nofollow noopener">https://easychair.org/conferences/?conf=vbsdcon2019</a></p>

<p>The talks will have a very strong technical content bias. Proposals of a business development or marketing nature are not appropriate for this venue.</p>

<p>If you are doing something interesting with a BSD operating system, please submit a proposal. Whether you are developing a very complex system using BSD as the foundation, or helping others and have a story to tell about how BSD played a role, we want to hear about your experience.  People using BSD as a platform for research are also encouraged to submit a proposal.</p>

<p>Possible topics include: How we manage a giant installation with respect to handling spam, snd/or sysadmin, and/or networking, Cool new stuff in BSD, Tell us about your project which runs on BSD.</p>

<p>Both users and developers are encouraged to share their experiences.</p>
</blockquote>

<hr>

<h3><a href="https://secfault-security.com/blog/FreeBSD-SA-1902.fd.html" target="_blank" rel="nofollow noopener">Exploiting FreeBSD-SA-19:02.fd</a></h3>

<blockquote>
<p>In February 2019 the FreeBSD project issued an advisory about a possible vulnerability in the handling of file descriptors. UNIX-like systems such as FreeBSD allow to send file descriptors to other processes via UNIX-domain sockets. This can for example be used to pass file access privileges to the receiving process.</p>

<p>Inside the kernel, file descriptors are used to indirectly reference a C struct which stores the relevant information about the file object. This could for instance include a reference to a vnode which describes the file for the file system, the file type, or the access privileges.</p>

<p>What really happens if a UNIX-domain socket is used to send a file descriptor to another process is that for the receiving process, inside the kernel a reference to this struct is created. As the new file descriptor is a reference to the same file object, all information is inherited. For instance, this can allow to give another process write access to a file on the drive even if the process owner is normally not able to open the file writable.</p>

<p>The advisory describes that FreeBSD 12.0 introduced a bug in this mechanism. As the file descriptor information is sent via a socket, the sender and the receiver have to allocate buffers for the procedure. If the receiving buffer is not large enough, the FreeBSD kernel attempts to close the received file descriptors to prevent a leak of these to the sender. However, while the responsible function closes the file descriptor, it fails to release the reference from the file descriptor to the file object. This could cause the reference counter to wrap.</p>

<p>The advisory further states that the impact of this bug is possibly a local privilege escalation to gain root privileges or a jail escape. However, no proof-of-concept was provided by the advisory authors.</p>
</blockquote>

<ul>
<li>In the next section, the bug itself is analyzed to make a statement about the bug class and a guess about a possible exploitation primitive.</li>
<li>After that, the bug trigger is addressed.</li>
<li>It follows a discussion of three imaginable exploitation strategies - including a discussion of why two of these approaches failed.</li>
<li>In the section before last, the working exploit primitive is discussed. It introduces a (at least to the author’s knowledge) new exploitation technique for these kind of vulnerabilities in FreeBSD. The stabilization of the exploit is addressed, too.</li>
<li>The last section wraps everything up in a conclusion and points out further steps and challenges.</li>
</ul>

<blockquote>
<p>The privilege escalation is now a piece of cake thanks to a technique used by kingcope, who published a FreeBSD root exploit in 2005, which writes to the file /etc/libmap.conf. This configuration file can be used to hook the loading of dynamic libraries if a program is started. The exploit therefore creates a dynamic library, which copies /bin/sh to another file and sets the suid-bit for the copy. The hooked library is libutil, which is for instance called by su. Therefore, a call to su by the user will afterwards result in a suid copy of /bin/sh.</p>
</blockquote>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2019-07-06-twitch.html" target="_blank" rel="nofollow noopener">Streaming to Twitch using OpenBSD</a></h3>

<ul>
<li> Introduction</li>
</ul>

<blockquote>
<p>If you ever wanted to make a twitch stream from your OpenBSD system, this is now possible, thanks to OpenBSD developer thfr@ who made a wrapper named fauxstream using ffmpeg with relevant parameters.</p>

<p>The setup is quite easy, it only requires a few steps and searching on Twitch website two informations, hopefully, to ease the process, I found the links for you.</p>

<p>You will need to make an account on twitch, get your api key (a long string of characters) which should stay secret because it allow anyone having it to stream on your account.</p>
</blockquote>

<ul>
<li>These same techniques should work for Twitch, YouTube Live, Periscope, Facebook, etc, including the live streaming service ScaleEngine provides free to BSD user groups.</li>
<li>There is also an open source application called ‘OBS’ or Open Broadcaster Studio. It is in FreeBSD ports and should work on all of the other BSDs as well. It has a GUI and supports compositing and green screening. We use it heavily at ScaleEngine and it is also used at JupiterBroadcasting in place of WireCast, a $1000-per-copy commercial application.</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://calagator.org/events/1250475868" target="_blank" rel="nofollow noopener">Portland BSD Pizza Night - 2019-07-25 19:00 - Rudy's Gourmet Pizza</a></li>
<li><a href="http://knoxbug.org/2019-07-29" target="_blank" rel="nofollow noopener">KnoxBUG - Michael W. Lucas : Twenty Years in Jail</a></li>
<li><a href="https://ohiolinux.org/call-for-presentations/" target="_blank" rel="nofollow noopener">Ohio Linuxfest - CFP - Closes August 17th</a></li>
<li><a href="https://old.reddit.com/r/freebsd/comments/cdx8fp/my_college_nyu_tandon_is_moving_their_cs/" target="_blank" rel="nofollow noopener">My college (NYU Tandon) is moving their CS department and I saw this on a shelf being moved</a></li>
<li><a href="https://moopost.blogspot.com/2019/07/3-different-ways-of-dumping-hex.html" target="_blank" rel="nofollow noopener">3 different ways of dumping hex contents of a file</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Sebastian - <a href="http://dpaste.com/0DRKFH6#wrap" target="_blank" rel="nofollow noopener">ZFS setup toward ESXi</a></li>
<li>Christopher - <a href="http://dpaste.com/2YNN1SH" target="_blank" rel="nofollow noopener">Questions</a></li>
<li>Ser - <a href="http://dpaste.com/1F5TMT0#wrap" target="_blank" rel="nofollow noopener">Bhyve and Microsoft SQL</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0307.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 11.3 has been released, OpenBSD workstation, write your own fuzzer for the NetBSD kernel, Exploiting FreeBSD-SA-19:02.fd, streaming to twitch using OpenBSD, 3 different ways of dumping hex contents of a file, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/11.3R/announce.html" target="_blank" rel="nofollow noopener">FreeBSD 11.3-RELEASE Announcement</a></h3>

<blockquote>
<p>The FreeBSD Release Engineering Team is pleased to announce the availability of FreeBSD 11.3-RELEASE. This is the fourth release of the stable/11 branch.</p>
</blockquote>

<ul>
<li>Some of the highlights:

<ul>
<li>The clang, llvm, lld, lldb, and compiler-rt utilities as well as libc++ have been updated to upstream version 8.0.0.</li>
<li>The ELF Tool Chain has been updated to version r3614.</li>
<li>OpenSSL has been updated to version 1.0.2s.</li>
<li>The ZFS filesystem has been updated to implement parallel mounting.</li>
<li>The loader(8) has been updated to extend geli(8) support to all architectures.</li>
<li>The pkg(8) utility has been updated to version 1.10.5.</li>
<li>The KDE desktop environment has been updated to version 5.15.3.</li>
<li>The GNOME desktop environment has been updated to version 3.28.</li>
<li>The kernel will now log the jail(8) ID when logging a process exit.</li>
<li>Several feature additions and updates to userland applications.</li>
<li>Several network driver firmware updates.</li>
<li>Warnings for features deprecated in future releases will now be printed on all FreeBSD versions.</li>
<li>Warnings have been added for IPSec algorithms deprecated in RFC 8221.</li>
<li>Deprecation warnings have been added for weaker algorithms when creating geli(8) providers.</li>
<li>And more...</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://sogubsys.com/openbsd-is-now-my-workstation-operating-system/" target="_blank" rel="nofollow noopener">OpenBSD Is Now My Workstation</a></h3>

<blockquote>
<p>Why OpenBSD? Simply because it is the best tool for the job for me for my new-to-me Lenovo Thinkpad T420. Additionally, I do care about security and non-bloat in my personal operating systems (business needs can have different priorities, to be clear).</p>

<p>I will try to detail what my reasons are for going with OpenBSD (instead of GNU/Linux, NetBSD, or FreeBSD of which I’m comfortable using without issue), challenges and frustrations I’ve encountered, and what my opinions are along the way.</p>

<p>Disclaimer: in this post, I’m speaking about what is my opinion, and I’m not trying to convince you to use OpenBSD or anything else. I don’t truly care, but wanted to share in case it could be useful to you. I do hope you give OpenBSD a shot as your workstation, especially if it has been a while.</p>
</blockquote>

<ul>
<li>A Bit About Me and OpenBSD</li>
</ul>

<blockquote>
<p>I’m not new to OpenBSD, to be clear. I’ve been using it off and on for over 20 years. The biggest time in my life was the early 2000s (I was even the Python port maintainer for a bit), where I not only used it for my workstation, but also for production servers and network devices.</p>

<p>I just haven’t used it as a workstation (outside of a virtual machine) in over 10 years, but have used it for servers. Workstation needs, especially for a primary workstation, are greatly different and the small things end up mattering most.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/write_your_own_fuzzer_for" target="_blank" rel="nofollow noopener">Write your own fuzzer for NetBSD kernel! [Part 1]</a></h3>

<ul>
<li>How Fuzzing works? The dummy Fuzzer.</li>
</ul>

<blockquote>
<p>The easy way to describe fuzzing is to compare it to the process of unit testing a program, but with different input. This input can be random, or it can be generated in some way that makes it unexpected form standard execution perspective.</p>

<p>The simplest 'fuzzer' can be written in few lines of bash, by getting N bytes from /dev/rand, and putting them to the program as a parameter.</p>
</blockquote>

<ul>
<li>Coverage and Fuzzing</li>
</ul>

<blockquote>
<p>What can be done to make fuzzing more effective? If we think about fuzzing as a process, where we place data into the input of the program (which is a black box), and we can only interact via input, not much more can be done.</p>

<p>However, programs usually process different inputs at different speeds, which can give us some insight into the program's behavior. During fuzzing, we are trying to crash the program, thus we need additional probes to observe the program's behaviour.</p>

<p>Additional knowledge about program state can be exploited as a feedback loop for generating new input vectors. Knowledge about the program itself and the structure of input data can also be considered. As an example, if the input data is in the form of HTML, changing characters inside the body will probably cause less problems for the parser than experimenting with headers and HTML tags.</p>

<p>For open source programs, we can read the source code to know what input takes which execution path. Nonetheless, this might be very time consuming, and it would be much more helpful if this can be automated. As it turns out, this process can be improved by tracing coverage of the execution</p>
</blockquote>

<hr>

<h3><a href="https://vbsdcon.com/" target="_blank" rel="nofollow noopener">vBSDcon - CFP - Call for Papers ends July 19th</a></h3>

<blockquote>
<p>You can submit your proposal at <a href="https://easychair.org/conferences/?conf=vbsdcon2019" target="_blank" rel="nofollow noopener">https://easychair.org/conferences/?conf=vbsdcon2019</a></p>

<p>The talks will have a very strong technical content bias. Proposals of a business development or marketing nature are not appropriate for this venue.</p>

<p>If you are doing something interesting with a BSD operating system, please submit a proposal. Whether you are developing a very complex system using BSD as the foundation, or helping others and have a story to tell about how BSD played a role, we want to hear about your experience.  People using BSD as a platform for research are also encouraged to submit a proposal.</p>

<p>Possible topics include: How we manage a giant installation with respect to handling spam, snd/or sysadmin, and/or networking, Cool new stuff in BSD, Tell us about your project which runs on BSD.</p>

<p>Both users and developers are encouraged to share their experiences.</p>
</blockquote>

<hr>

<h3><a href="https://secfault-security.com/blog/FreeBSD-SA-1902.fd.html" target="_blank" rel="nofollow noopener">Exploiting FreeBSD-SA-19:02.fd</a></h3>

<blockquote>
<p>In February 2019 the FreeBSD project issued an advisory about a possible vulnerability in the handling of file descriptors. UNIX-like systems such as FreeBSD allow to send file descriptors to other processes via UNIX-domain sockets. This can for example be used to pass file access privileges to the receiving process.</p>

<p>Inside the kernel, file descriptors are used to indirectly reference a C struct which stores the relevant information about the file object. This could for instance include a reference to a vnode which describes the file for the file system, the file type, or the access privileges.</p>

<p>What really happens if a UNIX-domain socket is used to send a file descriptor to another process is that for the receiving process, inside the kernel a reference to this struct is created. As the new file descriptor is a reference to the same file object, all information is inherited. For instance, this can allow to give another process write access to a file on the drive even if the process owner is normally not able to open the file writable.</p>

<p>The advisory describes that FreeBSD 12.0 introduced a bug in this mechanism. As the file descriptor information is sent via a socket, the sender and the receiver have to allocate buffers for the procedure. If the receiving buffer is not large enough, the FreeBSD kernel attempts to close the received file descriptors to prevent a leak of these to the sender. However, while the responsible function closes the file descriptor, it fails to release the reference from the file descriptor to the file object. This could cause the reference counter to wrap.</p>

<p>The advisory further states that the impact of this bug is possibly a local privilege escalation to gain root privileges or a jail escape. However, no proof-of-concept was provided by the advisory authors.</p>
</blockquote>

<ul>
<li>In the next section, the bug itself is analyzed to make a statement about the bug class and a guess about a possible exploitation primitive.</li>
<li>After that, the bug trigger is addressed.</li>
<li>It follows a discussion of three imaginable exploitation strategies - including a discussion of why two of these approaches failed.</li>
<li>In the section before last, the working exploit primitive is discussed. It introduces a (at least to the author’s knowledge) new exploitation technique for these kind of vulnerabilities in FreeBSD. The stabilization of the exploit is addressed, too.</li>
<li>The last section wraps everything up in a conclusion and points out further steps and challenges.</li>
</ul>

<blockquote>
<p>The privilege escalation is now a piece of cake thanks to a technique used by kingcope, who published a FreeBSD root exploit in 2005, which writes to the file /etc/libmap.conf. This configuration file can be used to hook the loading of dynamic libraries if a program is started. The exploit therefore creates a dynamic library, which copies /bin/sh to another file and sets the suid-bit for the copy. The hooked library is libutil, which is for instance called by su. Therefore, a call to su by the user will afterwards result in a suid copy of /bin/sh.</p>
</blockquote>

<hr>

<h3><a href="https://dataswamp.org/%7Esolene/2019-07-06-twitch.html" target="_blank" rel="nofollow noopener">Streaming to Twitch using OpenBSD</a></h3>

<ul>
<li> Introduction</li>
</ul>

<blockquote>
<p>If you ever wanted to make a twitch stream from your OpenBSD system, this is now possible, thanks to OpenBSD developer thfr@ who made a wrapper named fauxstream using ffmpeg with relevant parameters.</p>

<p>The setup is quite easy, it only requires a few steps and searching on Twitch website two informations, hopefully, to ease the process, I found the links for you.</p>

<p>You will need to make an account on twitch, get your api key (a long string of characters) which should stay secret because it allow anyone having it to stream on your account.</p>
</blockquote>

<ul>
<li>These same techniques should work for Twitch, YouTube Live, Periscope, Facebook, etc, including the live streaming service ScaleEngine provides free to BSD user groups.</li>
<li>There is also an open source application called ‘OBS’ or Open Broadcaster Studio. It is in FreeBSD ports and should work on all of the other BSDs as well. It has a GUI and supports compositing and green screening. We use it heavily at ScaleEngine and it is also used at JupiterBroadcasting in place of WireCast, a $1000-per-copy commercial application.</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://calagator.org/events/1250475868" target="_blank" rel="nofollow noopener">Portland BSD Pizza Night - 2019-07-25 19:00 - Rudy's Gourmet Pizza</a></li>
<li><a href="http://knoxbug.org/2019-07-29" target="_blank" rel="nofollow noopener">KnoxBUG - Michael W. Lucas : Twenty Years in Jail</a></li>
<li><a href="https://ohiolinux.org/call-for-presentations/" target="_blank" rel="nofollow noopener">Ohio Linuxfest - CFP - Closes August 17th</a></li>
<li><a href="https://old.reddit.com/r/freebsd/comments/cdx8fp/my_college_nyu_tandon_is_moving_their_cs/" target="_blank" rel="nofollow noopener">My college (NYU Tandon) is moving their CS department and I saw this on a shelf being moved</a></li>
<li><a href="https://moopost.blogspot.com/2019/07/3-different-ways-of-dumping-hex.html" target="_blank" rel="nofollow noopener">3 different ways of dumping hex contents of a file</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Sebastian - <a href="http://dpaste.com/0DRKFH6#wrap" target="_blank" rel="nofollow noopener">ZFS setup toward ESXi</a></li>
<li>Christopher - <a href="http://dpaste.com/2YNN1SH" target="_blank" rel="nofollow noopener">Questions</a></li>
<li>Ser - <a href="http://dpaste.com/1F5TMT0#wrap" target="_blank" rel="nofollow noopener">Bhyve and Microsoft SQL</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0307.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>306: Comparing Hammers</title>
  <link>https://www.bsdnow.tv/306</link>
  <guid isPermaLink="false">2e907009-f426-4bbd-a592-d91329f11f0f</guid>
  <pubDate>Thu, 11 Jul 2019 10:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2e907009-f426-4bbd-a592-d91329f11f0f.mp3" length="27620333" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Am5x86 based retro UNIX build log, setting up services in a FreeNAS Jail, first taste of DragonflyBSD, streaming Netflix on NetBSD, NetBSD on the last G4 Mac mini, Hammer vs Hammer2, and more.</itunes:subtitle>
  <itunes:duration>38:21</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>&lt;p&gt;Am5x86 based retro UNIX build log, setting up services in a FreeNAS Jail, first taste of DragonflyBSD, streaming Netflix on NetBSD, NetBSD on the last G4 Mac mini, Hammer vs Hammer2, and more.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://polprog.net/blog/486/" target="_blank" rel="nofollow noopener"&gt;Polprog's Am5x86 based retro UNIX build log&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I have recently acquired an Am5x86 computer, in a surprisingly good condition. This is an ongoing project, check this page often for updates!&lt;/p&gt;

&lt;p&gt;I began by connecting a front panel. The panel came from a different chassis and is slightly too wide, so I had to attach it with a couple of zip-ties. However, that makes it stick out from the PC front at an angle, allowing easy access when the computer sits at the floor - and thats where it is most of the time. It's not that bad, to be honest, and its way easier to access than it would be, if mounted vertically&lt;/p&gt;

&lt;p&gt;There is a mains switch on the front panel because the computer uses an older style power supply. Those power supplies instead of relying on a PSON signal, like modern ATX supplies, run a 4 wire cable to a mains switch. The cable carries live and neutral both ways, and the switch keys in or out the power. The system powers on as soon as the switch is enabled.&lt;/p&gt;

&lt;p&gt;Originally there was no graphics card in it. Since a PC will not boot with out a GPU, I had to find one. The mainboard only has PCI and ISA slots, and all the GPUs I had were AGP. Fortunately, I bought a PCI GPU hoping it would solve my issue...&lt;/p&gt;

&lt;p&gt;However the GPU turned out to be faulty. It took me some time to repair it. I had to repair a broken trace leading to one of the EEPROM pins, and replace a contact in the EEPROM's socket. Then I replaced all the electrolytic capacitors on it, and that fixed it for good.&lt;/p&gt;

&lt;p&gt;Having used up only one of the three PCI slots, I populated the remaining pair with two ethernet cards. I still have a bunch of ISA slots available, but I have nothing to install there. Yet.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the article for the rest of the writeup&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/services-in-freenas-jail/" target="_blank" rel="nofollow noopener"&gt;Setting up services in a FreeNAS Jail&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This piece demonstrates the setup of a server service in a FreeNAS jail and how to share files with a jail using Apache 2.4 as an example. Jails are powerful, self-contained FreeBSD environments with separate network settings, package management, and access to thousands of FreeBSD application packages. Popular packages such as Apache, NGINX, LigHTTPD, MySQL, and PHP can be found and installed with the pkg search and pkg install commands. &lt;/p&gt;

&lt;p&gt;This example shows creating a jail, installing an Apache web server, and setting up a simple web page. &lt;/p&gt;

&lt;p&gt;NOTE: Do not directly attach FreeNAS to an external network (WAN). Use port forwarding, proper firewalls and DDoS protections when using FreeNAS for external web sites. This example demonstrates expanding the functionality of FreeNAS in an isolated LAN environment.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://nanxiao.me/en/first-taste-of-dragonfly-bsd/" target="_blank" rel="nofollow noopener"&gt;First taste of DragonflyBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Last week, I needed to pick a BSD Operating System which supports NUMA to do some testing, so I decided to give Dragonfly BSD a shot. Dragonfly BSDonly can run on X86_64 architecture, which reminds me of Arch Linux, and after some tweaking, I feel Dragonfly BSD may be a “developer-friendly” Operating System, at least for me.&lt;/p&gt;

&lt;p&gt;I mainly use Dragonfly BSD as a server, so I don’t care whether GUI is fancy or not. But I have high requirements of developer tools, i.e., compiler and debugger. The default compiler of Dragonfly BSD is gcc 8.3, and I can also install clang 8.0.0 from package. This means I can test state-of-the-art features of compilers, and it is really important for me. gdb‘s version is 7.6.1, a little lag behind, but still OK.&lt;/p&gt;

&lt;p&gt;Furthermore, the upgradation of Dragonfly BSD is pretty simple and straightforward. I followed document to upgrade my Operating System to 5.6.0 this morning, just copied and pasted, no single error, booted successfully.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.unitedbsd.com/d/68-streaming-netflix-on-netbsd" target="_blank" rel="nofollow noopener"&gt;Streaming Netflix on NetBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Here's a step-by-step guide that allows streaming Netflix media on NetBSD using a intel-haxm accelerated QEMU vm.&lt;/p&gt;

&lt;p&gt;Heads-up! Sound doesn't work, but everything else is fine. Please read the rest of this thread for a solution to this!!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mwl.io/archives/4320" target="_blank" rel="nofollow noopener"&gt;“Sudo Mastery 2nd Edition” cover art reveal&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m about halfway through the new edition of Sudo Mastery. Assuming nothing terrible happens, should have a complete first draft in four to six weeks. Enough stuff has changed in sudo that I need to carefully double-check every single feature. (I’m also horrified by the painfully obsolete versions of sudo shipped in the latest versions of CentOS and Debian, but people running those operating systems are already accustomed to their creaky obsolescence.)&lt;/p&gt;

&lt;p&gt;But the reason for this blog post? I have Eddie Sharam’s glorious cover art. My Patronizers saw it last month, so now the rest of you get a turn.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://tenfourfox.blogspot.com/2019/06/and-now-for-something-completely.html" target="_blank" rel="nofollow noopener"&gt;NetBSD on the last G4 Mac mini&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I'm a big fan of NetBSD. I've run it since 2000 on a Mac IIci (of course it's still running it) and I ran it for several years on a Power Mac 7300 with a G3 card which was the second incarnation of the Floodgap gopher server. Today I also still run it on a MIPS-based Cobalt RaQ 2 and an HP Jornada 690. I think NetBSD is a better match for smaller or underpowered systems than current-day Linux, and is fairly easy to harden and keep secure even though none of these systems are exposed to the outside world.&lt;/p&gt;

&lt;p&gt;Recently I had a need to set up a bridge system that would be fast enough to connect two networks and I happened to have two of the "secret" last-of-the-line 1.5GHz G4 Mac minis sitting on the shelf doing nothing. Yes, they're probably outclassed by later Raspberry Pi models, but I don't have to buy anything and I like putting old hardware to good use.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://phoronix.com/scan.php?page=news_item&amp;amp;px=DragonFlyBSD-5.6-HAMMER2-Perf" target="_blank" rel="nofollow noopener"&gt;Hammer vs Hammer2&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;With the newly released DragonFlyBSD 5.6 there are improvements to its original HAMMER2 file-system to the extent that it's now selected by its installer as the default file-system choice for new installations. Curious how the performance now compares between HAMMER and HAMMER2, here are some initial benchmarks on an NVMe solid-state drive using DragonFlyBSD 5.6.0. &lt;/p&gt;

&lt;p&gt;With a 120GB Toshiba NVMe SSD on an Intel Core i7 8700K system, I ran some benchmarks of DragonFlyBSD 5.6.0 freshly installed with HAMMER2 and then again when returning to the original HAMMER file-system that remains available via its installer. No other changes were made to the setup during testing. &lt;/p&gt;

&lt;p&gt;And then for the more synthetic workloads it was just a mix. But overall HAMMER2 was performing well during the initial testing and great to see it continuing to offer noticeable leads in real-world workloads compared to the aging HAMMER file-system. HAMMER2 also offers better clustering, online deduplication, snapshots, compression, encryption, and many other modern file-system features.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://spin.atomicobject.com/2019/06/16/unix-cli-relational-database/" target="_blank" rel="nofollow noopener"&gt;Unix CLI relational database&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linusakesson.net/programming/tty/index.php" target="_blank" rel="nofollow noopener"&gt;The TTY demystified&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ranger.github.io/" target="_blank" rel="nofollow noopener"&gt;Ranger, a console file manager with VI keybindings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/unix/comments/c6o5ze/some_unix_humor/" target="_blank" rel="nofollow noopener"&gt;Some Unix Humor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-ports-cvs&amp;amp;m=156121732625604&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD -import vulkan-loader for Vulkan API support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://savagedlight.me/2019/06/09/freebsd-zfs-without-drives/" target="_blank" rel="nofollow noopener"&gt;FreeBSD ZFS without drives&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Moritz - &lt;a href="http://dpaste.com/175RRAZ" target="_blank" rel="nofollow noopener"&gt;ARM Builds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dave - &lt;a href="http://dpaste.com/2DYK85B" target="_blank" rel="nofollow noopener"&gt;Videos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Chris - &lt;a href="http://dpaste.com/1B16QVN" target="_blank" rel="nofollow noopener"&gt;Raspberry Pi4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0306.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, Am5x86, freenas, jail, g4, mac, streaming, netflix, hammer</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Am5x86 based retro UNIX build log, setting up services in a FreeNAS Jail, first taste of DragonflyBSD, streaming Netflix on NetBSD, NetBSD on the last G4 Mac mini, Hammer vs Hammer2, and more.</p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://polprog.net/blog/486/" target="_blank" rel="nofollow noopener">Polprog's Am5x86 based retro UNIX build log</a></h3>

<blockquote>
<p>I have recently acquired an Am5x86 computer, in a surprisingly good condition. This is an ongoing project, check this page often for updates!</p>

<p>I began by connecting a front panel. The panel came from a different chassis and is slightly too wide, so I had to attach it with a couple of zip-ties. However, that makes it stick out from the PC front at an angle, allowing easy access when the computer sits at the floor - and thats where it is most of the time. It's not that bad, to be honest, and its way easier to access than it would be, if mounted vertically</p>

<p>There is a mains switch on the front panel because the computer uses an older style power supply. Those power supplies instead of relying on a PSON signal, like modern ATX supplies, run a 4 wire cable to a mains switch. The cable carries live and neutral both ways, and the switch keys in or out the power. The system powers on as soon as the switch is enabled.</p>

<p>Originally there was no graphics card in it. Since a PC will not boot with out a GPU, I had to find one. The mainboard only has PCI and ISA slots, and all the GPUs I had were AGP. Fortunately, I bought a PCI GPU hoping it would solve my issue...</p>

<p>However the GPU turned out to be faulty. It took me some time to repair it. I had to repair a broken trace leading to one of the EEPROM pins, and replace a contact in the EEPROM's socket. Then I replaced all the electrolytic capacitors on it, and that fixed it for good.</p>

<p>Having used up only one of the three PCI slots, I populated the remaining pair with two ethernet cards. I still have a bunch of ISA slots available, but I have nothing to install there. Yet.</p>
</blockquote>

<ul>
<li>See the article for the rest of the writeup</li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/services-in-freenas-jail/" target="_blank" rel="nofollow noopener">Setting up services in a FreeNAS Jail</a></h3>

<blockquote>
<p>This piece demonstrates the setup of a server service in a FreeNAS jail and how to share files with a jail using Apache 2.4 as an example. Jails are powerful, self-contained FreeBSD environments with separate network settings, package management, and access to thousands of FreeBSD application packages. Popular packages such as Apache, NGINX, LigHTTPD, MySQL, and PHP can be found and installed with the pkg search and pkg install commands. </p>

<p>This example shows creating a jail, installing an Apache web server, and setting up a simple web page. </p>

<p>NOTE: Do not directly attach FreeNAS to an external network (WAN). Use port forwarding, proper firewalls and DDoS protections when using FreeNAS for external web sites. This example demonstrates expanding the functionality of FreeNAS in an isolated LAN environment.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://nanxiao.me/en/first-taste-of-dragonfly-bsd/" target="_blank" rel="nofollow noopener">First taste of DragonflyBSD</a></h3>

<blockquote>
<p>Last week, I needed to pick a BSD Operating System which supports NUMA to do some testing, so I decided to give Dragonfly BSD a shot. Dragonfly BSDonly can run on X86_64 architecture, which reminds me of Arch Linux, and after some tweaking, I feel Dragonfly BSD may be a “developer-friendly” Operating System, at least for me.</p>

<p>I mainly use Dragonfly BSD as a server, so I don’t care whether GUI is fancy or not. But I have high requirements of developer tools, i.e., compiler and debugger. The default compiler of Dragonfly BSD is gcc 8.3, and I can also install clang 8.0.0 from package. This means I can test state-of-the-art features of compilers, and it is really important for me. gdb‘s version is 7.6.1, a little lag behind, but still OK.</p>

<p>Furthermore, the upgradation of Dragonfly BSD is pretty simple and straightforward. I followed document to upgrade my Operating System to 5.6.0 this morning, just copied and pasted, no single error, booted successfully.</p>
</blockquote>

<hr>

<h3><a href="https://www.unitedbsd.com/d/68-streaming-netflix-on-netbsd" target="_blank" rel="nofollow noopener">Streaming Netflix on NetBSD</a></h3>

<blockquote>
<p>Here's a step-by-step guide that allows streaming Netflix media on NetBSD using a intel-haxm accelerated QEMU vm.</p>

<p>Heads-up! Sound doesn't work, but everything else is fine. Please read the rest of this thread for a solution to this!!</p>
</blockquote>

<hr>

<h3><a href="https://mwl.io/archives/4320" target="_blank" rel="nofollow noopener">“Sudo Mastery 2nd Edition” cover art reveal</a></h3>

<blockquote>
<p>I’m about halfway through the new edition of Sudo Mastery. Assuming nothing terrible happens, should have a complete first draft in four to six weeks. Enough stuff has changed in sudo that I need to carefully double-check every single feature. (I’m also horrified by the painfully obsolete versions of sudo shipped in the latest versions of CentOS and Debian, but people running those operating systems are already accustomed to their creaky obsolescence.)</p>

<p>But the reason for this blog post? I have Eddie Sharam’s glorious cover art. My Patronizers saw it last month, so now the rest of you get a turn.</p>
</blockquote>

<hr>

<h3><a href="https://tenfourfox.blogspot.com/2019/06/and-now-for-something-completely.html" target="_blank" rel="nofollow noopener">NetBSD on the last G4 Mac mini</a></h3>

<blockquote>
<p>I'm a big fan of NetBSD. I've run it since 2000 on a Mac IIci (of course it's still running it) and I ran it for several years on a Power Mac 7300 with a G3 card which was the second incarnation of the Floodgap gopher server. Today I also still run it on a MIPS-based Cobalt RaQ 2 and an HP Jornada 690. I think NetBSD is a better match for smaller or underpowered systems than current-day Linux, and is fairly easy to harden and keep secure even though none of these systems are exposed to the outside world.</p>

<p>Recently I had a need to set up a bridge system that would be fast enough to connect two networks and I happened to have two of the "secret" last-of-the-line 1.5GHz G4 Mac minis sitting on the shelf doing nothing. Yes, they're probably outclassed by later Raspberry Pi models, but I don't have to buy anything and I like putting old hardware to good use.</p>
</blockquote>

<hr>

<h3><a href="https://phoronix.com/scan.php?page=news_item&amp;px=DragonFlyBSD-5.6-HAMMER2-Perf" target="_blank" rel="nofollow noopener">Hammer vs Hammer2</a></h3>

<blockquote>
<p>With the newly released DragonFlyBSD 5.6 there are improvements to its original HAMMER2 file-system to the extent that it's now selected by its installer as the default file-system choice for new installations. Curious how the performance now compares between HAMMER and HAMMER2, here are some initial benchmarks on an NVMe solid-state drive using DragonFlyBSD 5.6.0. </p>

<p>With a 120GB Toshiba NVMe SSD on an Intel Core i7 8700K system, I ran some benchmarks of DragonFlyBSD 5.6.0 freshly installed with HAMMER2 and then again when returning to the original HAMMER file-system that remains available via its installer. No other changes were made to the setup during testing. </p>

<p>And then for the more synthetic workloads it was just a mix. But overall HAMMER2 was performing well during the initial testing and great to see it continuing to offer noticeable leads in real-world workloads compared to the aging HAMMER file-system. HAMMER2 also offers better clustering, online deduplication, snapshots, compression, encryption, and many other modern file-system features.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://spin.atomicobject.com/2019/06/16/unix-cli-relational-database/" target="_blank" rel="nofollow noopener">Unix CLI relational database</a></li>
<li><a href="https://www.linusakesson.net/programming/tty/index.php" target="_blank" rel="nofollow noopener">The TTY demystified</a></li>
<li><a href="https://ranger.github.io/" target="_blank" rel="nofollow noopener">Ranger, a console file manager with VI keybindings</a></li>
<li><a href="https://www.reddit.com/r/unix/comments/c6o5ze/some_unix_humor/" target="_blank" rel="nofollow noopener">Some Unix Humor</a></li>
<li><a href="https://marc.info/?l=openbsd-ports-cvs&amp;m=156121732625604&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD -import vulkan-loader for Vulkan API support</a></li>
<li><a href="https://savagedlight.me/2019/06/09/freebsd-zfs-without-drives/" target="_blank" rel="nofollow noopener">FreeBSD ZFS without drives</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Moritz - <a href="http://dpaste.com/175RRAZ" target="_blank" rel="nofollow noopener">ARM Builds</a></li>
<li>Dave - <a href="http://dpaste.com/2DYK85B" target="_blank" rel="nofollow noopener">Videos</a></li>
<li>Chris - <a href="http://dpaste.com/1B16QVN" target="_blank" rel="nofollow noopener">Raspberry Pi4</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0306.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Am5x86 based retro UNIX build log, setting up services in a FreeNAS Jail, first taste of DragonflyBSD, streaming Netflix on NetBSD, NetBSD on the last G4 Mac mini, Hammer vs Hammer2, and more.</p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://polprog.net/blog/486/" target="_blank" rel="nofollow noopener">Polprog's Am5x86 based retro UNIX build log</a></h3>

<blockquote>
<p>I have recently acquired an Am5x86 computer, in a surprisingly good condition. This is an ongoing project, check this page often for updates!</p>

<p>I began by connecting a front panel. The panel came from a different chassis and is slightly too wide, so I had to attach it with a couple of zip-ties. However, that makes it stick out from the PC front at an angle, allowing easy access when the computer sits at the floor - and thats where it is most of the time. It's not that bad, to be honest, and its way easier to access than it would be, if mounted vertically</p>

<p>There is a mains switch on the front panel because the computer uses an older style power supply. Those power supplies instead of relying on a PSON signal, like modern ATX supplies, run a 4 wire cable to a mains switch. The cable carries live and neutral both ways, and the switch keys in or out the power. The system powers on as soon as the switch is enabled.</p>

<p>Originally there was no graphics card in it. Since a PC will not boot with out a GPU, I had to find one. The mainboard only has PCI and ISA slots, and all the GPUs I had were AGP. Fortunately, I bought a PCI GPU hoping it would solve my issue...</p>

<p>However the GPU turned out to be faulty. It took me some time to repair it. I had to repair a broken trace leading to one of the EEPROM pins, and replace a contact in the EEPROM's socket. Then I replaced all the electrolytic capacitors on it, and that fixed it for good.</p>

<p>Having used up only one of the three PCI slots, I populated the remaining pair with two ethernet cards. I still have a bunch of ISA slots available, but I have nothing to install there. Yet.</p>
</blockquote>

<ul>
<li>See the article for the rest of the writeup</li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/services-in-freenas-jail/" target="_blank" rel="nofollow noopener">Setting up services in a FreeNAS Jail</a></h3>

<blockquote>
<p>This piece demonstrates the setup of a server service in a FreeNAS jail and how to share files with a jail using Apache 2.4 as an example. Jails are powerful, self-contained FreeBSD environments with separate network settings, package management, and access to thousands of FreeBSD application packages. Popular packages such as Apache, NGINX, LigHTTPD, MySQL, and PHP can be found and installed with the pkg search and pkg install commands. </p>

<p>This example shows creating a jail, installing an Apache web server, and setting up a simple web page. </p>

<p>NOTE: Do not directly attach FreeNAS to an external network (WAN). Use port forwarding, proper firewalls and DDoS protections when using FreeNAS for external web sites. This example demonstrates expanding the functionality of FreeNAS in an isolated LAN environment.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://nanxiao.me/en/first-taste-of-dragonfly-bsd/" target="_blank" rel="nofollow noopener">First taste of DragonflyBSD</a></h3>

<blockquote>
<p>Last week, I needed to pick a BSD Operating System which supports NUMA to do some testing, so I decided to give Dragonfly BSD a shot. Dragonfly BSDonly can run on X86_64 architecture, which reminds me of Arch Linux, and after some tweaking, I feel Dragonfly BSD may be a “developer-friendly” Operating System, at least for me.</p>

<p>I mainly use Dragonfly BSD as a server, so I don’t care whether GUI is fancy or not. But I have high requirements of developer tools, i.e., compiler and debugger. The default compiler of Dragonfly BSD is gcc 8.3, and I can also install clang 8.0.0 from package. This means I can test state-of-the-art features of compilers, and it is really important for me. gdb‘s version is 7.6.1, a little lag behind, but still OK.</p>

<p>Furthermore, the upgradation of Dragonfly BSD is pretty simple and straightforward. I followed document to upgrade my Operating System to 5.6.0 this morning, just copied and pasted, no single error, booted successfully.</p>
</blockquote>

<hr>

<h3><a href="https://www.unitedbsd.com/d/68-streaming-netflix-on-netbsd" target="_blank" rel="nofollow noopener">Streaming Netflix on NetBSD</a></h3>

<blockquote>
<p>Here's a step-by-step guide that allows streaming Netflix media on NetBSD using a intel-haxm accelerated QEMU vm.</p>

<p>Heads-up! Sound doesn't work, but everything else is fine. Please read the rest of this thread for a solution to this!!</p>
</blockquote>

<hr>

<h3><a href="https://mwl.io/archives/4320" target="_blank" rel="nofollow noopener">“Sudo Mastery 2nd Edition” cover art reveal</a></h3>

<blockquote>
<p>I’m about halfway through the new edition of Sudo Mastery. Assuming nothing terrible happens, should have a complete first draft in four to six weeks. Enough stuff has changed in sudo that I need to carefully double-check every single feature. (I’m also horrified by the painfully obsolete versions of sudo shipped in the latest versions of CentOS and Debian, but people running those operating systems are already accustomed to their creaky obsolescence.)</p>

<p>But the reason for this blog post? I have Eddie Sharam’s glorious cover art. My Patronizers saw it last month, so now the rest of you get a turn.</p>
</blockquote>

<hr>

<h3><a href="https://tenfourfox.blogspot.com/2019/06/and-now-for-something-completely.html" target="_blank" rel="nofollow noopener">NetBSD on the last G4 Mac mini</a></h3>

<blockquote>
<p>I'm a big fan of NetBSD. I've run it since 2000 on a Mac IIci (of course it's still running it) and I ran it for several years on a Power Mac 7300 with a G3 card which was the second incarnation of the Floodgap gopher server. Today I also still run it on a MIPS-based Cobalt RaQ 2 and an HP Jornada 690. I think NetBSD is a better match for smaller or underpowered systems than current-day Linux, and is fairly easy to harden and keep secure even though none of these systems are exposed to the outside world.</p>

<p>Recently I had a need to set up a bridge system that would be fast enough to connect two networks and I happened to have two of the "secret" last-of-the-line 1.5GHz G4 Mac minis sitting on the shelf doing nothing. Yes, they're probably outclassed by later Raspberry Pi models, but I don't have to buy anything and I like putting old hardware to good use.</p>
</blockquote>

<hr>

<h3><a href="https://phoronix.com/scan.php?page=news_item&amp;px=DragonFlyBSD-5.6-HAMMER2-Perf" target="_blank" rel="nofollow noopener">Hammer vs Hammer2</a></h3>

<blockquote>
<p>With the newly released DragonFlyBSD 5.6 there are improvements to its original HAMMER2 file-system to the extent that it's now selected by its installer as the default file-system choice for new installations. Curious how the performance now compares between HAMMER and HAMMER2, here are some initial benchmarks on an NVMe solid-state drive using DragonFlyBSD 5.6.0. </p>

<p>With a 120GB Toshiba NVMe SSD on an Intel Core i7 8700K system, I ran some benchmarks of DragonFlyBSD 5.6.0 freshly installed with HAMMER2 and then again when returning to the original HAMMER file-system that remains available via its installer. No other changes were made to the setup during testing. </p>

<p>And then for the more synthetic workloads it was just a mix. But overall HAMMER2 was performing well during the initial testing and great to see it continuing to offer noticeable leads in real-world workloads compared to the aging HAMMER file-system. HAMMER2 also offers better clustering, online deduplication, snapshots, compression, encryption, and many other modern file-system features.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://spin.atomicobject.com/2019/06/16/unix-cli-relational-database/" target="_blank" rel="nofollow noopener">Unix CLI relational database</a></li>
<li><a href="https://www.linusakesson.net/programming/tty/index.php" target="_blank" rel="nofollow noopener">The TTY demystified</a></li>
<li><a href="https://ranger.github.io/" target="_blank" rel="nofollow noopener">Ranger, a console file manager with VI keybindings</a></li>
<li><a href="https://www.reddit.com/r/unix/comments/c6o5ze/some_unix_humor/" target="_blank" rel="nofollow noopener">Some Unix Humor</a></li>
<li><a href="https://marc.info/?l=openbsd-ports-cvs&amp;m=156121732625604&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD -import vulkan-loader for Vulkan API support</a></li>
<li><a href="https://savagedlight.me/2019/06/09/freebsd-zfs-without-drives/" target="_blank" rel="nofollow noopener">FreeBSD ZFS without drives</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Moritz - <a href="http://dpaste.com/175RRAZ" target="_blank" rel="nofollow noopener">ARM Builds</a></li>
<li>Dave - <a href="http://dpaste.com/2DYK85B" target="_blank" rel="nofollow noopener">Videos</a></li>
<li>Chris - <a href="http://dpaste.com/1B16QVN" target="_blank" rel="nofollow noopener">Raspberry Pi4</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0306.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>305: Changing face of Unix</title>
  <link>https://www.bsdnow.tv/305</link>
  <guid isPermaLink="false">3ad52b9d-03b4-4c00-a16f-cc4be091e6ff</guid>
  <pubDate>Wed, 03 Jul 2019 22:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/3ad52b9d-03b4-4c00-a16f-cc4be091e6ff.mp3" length="40433394" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Website protection with OPNsense, FreeBSD Support Pull Request for ZFS-on-Linux, How much has Unix changed, Porting Wine to amd64 on NetBSD, FreeBSD Enterprise 1 PB Storage, the death watch for X11 has started, and more.</itunes:subtitle>
  <itunes:duration>56:09</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>&lt;p&gt;Website protection with OPNsense, FreeBSD Support Pull Request for ZFS-on-Linux, How much has Unix changed, Porting Wine to amd64 on NetBSD, FreeBSD Enterprise 1 PB Storage, the death watch for X11 has started, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://medium.com/@jccwbb/website-protection-with-opnsense-3586a529d487" target="_blank" rel="nofollow noopener"&gt;Website protection with OPNsense&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;with nginx plugin OPNsense become a strong full featured Web Application Firewall (WAF)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The OPNsense security platform can help you to protect your network and your webservers with the nginx plugin addition.&lt;br&gt;
In old days, install an open source firewall was a very trick task, but today it can be done with few clicks (or key strokes). In this article I'll not describe the detailed OPNsense installation process, but you can watch this video that was extracted from my OPNsense course available in Udemy. The video is in portuguese language, but with the translation CC Youtube feature you may be able to follow it without problems (if you don't are a portuguese speaker ofcourse) :-)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;See the article for the rest of the writeup&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/zfsonlinux/zfs/pull/8987" target="_blank" rel="nofollow noopener"&gt;FreeBSD Support Pull Request against the ZFS-on-Linux repo&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This pull request integrates the sysutils/openzfs port’s sources into the upstream ZoL repo
&amp;gt; Adding FreeBSD support to ZoL will make it easier to move changes back and forth between FreeBSD and Linux
&amp;gt; Refactor tree to separate out Linux and FreeBSD specific code
&amp;gt; import FreeBSD's SPL
&amp;gt; add ifdefs in common code where it made more sense to do so than duplicate the code in separate files
&amp;gt; Adapted ZFS Test Suite to run on FreeBSD and all tests that pass on ZoL passing on ZoF&lt;/li&gt;
&lt;li&gt;The plan to officially rename the common repo from ZFSonLinux to OpenZFS was announced at the ZFS Leadership Meeting on June 25th&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=TJwykiJmH0M" target="_blank" rel="nofollow noopener"&gt;Video of Leadership Meeting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.google.com/document/d/1w2jv2XVYFmBVvG1EGf-9A5HBVsjAYoLIFZAnWHhV-BM/edit" target="_blank" rel="nofollow noopener"&gt;Meeting Agenda and Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;This will allow improvements made on one OS to be made available more easily (and more quickly) to the other platforms&lt;/li&gt;
&lt;li&gt;For example, mav@’s recent work:&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=349220" target="_blank" rel="nofollow noopener"&gt;Add wakeup_any(), cheaper version of wakeup_one() for taskqueue(9)&lt;/a&gt;
&amp;gt; As result, on 72-core Xeon v4 machine sequential ZFS write to 12 ZVOLs with 16KB block size spend 34% less time in wakeup_any() and descendants then it was spending in wakeup_one(), and total write throughput increased by ~10% with the same as before CPU usage.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://adventofcomputing.libsyn.com/episode-5-notes-how-much-has-unix-changed" target="_blank" rel="nofollow noopener"&gt;Episode 5 Notes - How much has UNIX changed?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;UNIX-like systems have dominated computing for decades, and with the rise of the internet and mobile devices their reach has become even larger. True, most systems now use more modern OSs like Linux, but how much has the UNIX-like landscape changed since the early days?&lt;br&gt;
So, my question was this: how close is a modern *NIX userland to some of the earliest UNIX releases? To do this I'm going to compare a few key points of a modern Linux system with the earliest UNIX documentation I can get my hands on. The doc I am going to be covering(&lt;a href="https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/UNIX_ProgrammersManual_Nov71.pdf" target="_blank" rel="nofollow noopener"&gt;https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/UNIX_ProgrammersManual_Nov71.pdf&lt;/a&gt;) is from November 1971, predating v1 of the system.&lt;br&gt;
I think the best place to start this comparison is to look at one of the highest-profile parts of the OS, that being the file system. Under the hood modern EXT file systems are completely different from the early UNIX file systems. However, they are still presented in basically the same way, as a heirerarchicat structure of directories with device files. So paths still look identical, and navigating the file system still functions the same. Often used commands like &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;cp&lt;/code&gt;, &lt;code&gt;mv&lt;/code&gt;, &lt;code&gt;du&lt;/code&gt;, and &lt;code&gt;df&lt;/code&gt; function the same. So are &lt;code&gt;mount&lt;/code&gt; and &lt;code&gt;umount&lt;/code&gt;. But, there are some key differences. For instance, &lt;code&gt;cd&lt;/code&gt; didn't exist, yet instead &lt;code&gt;chdir&lt;/code&gt; filled its place. Also, &lt;code&gt;chmod&lt;/code&gt; is somewhat different. Instead of the usual 3-digit octal codes for permissions, this older version only uses 2 digits. Really, that difference is due to the underlying file system using a different permission set than modern systems. For the most part, all the file handling is actually pretty close to a Linux system from 2019.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the article for the rest of the writeup&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/porting_wine_to_amd64_on" target="_blank" rel="nofollow noopener"&gt;Porting Wine to amd64 on NetBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I have been working on porting Wine to amd64 on NetBSD as a GSoC 2019 project. Wine is a compatibility layer which allows running Microsoft Windows applications on POSIX-complaint operating systems. This report provides an overview of the progress of the project during the first coding period.&lt;br&gt;
Initially, when I started working on getting Wine-4.4 to build and run on NetBSD i386 the primary issue that I faced was Wine displaying black windows instead of UI, and this applied to any graphical program I tried running with Wine.&lt;br&gt;
I suspected it , as it is related to graphics, to be an issue with the graphics driver or Xorg. Subsequently, I tried building modular Xorg, and I tried running Wine on it only to realize that Xorg being modular didn't affect it in the least. After having tried a couple of configurations, I realized that trying to hazard out every other probability is going to take an awful lot of time that I didn't have. This motivated me to bisect the repo using git, and find the first version of Wine which failed on NetBSD.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;See the article for the rest of the writeup&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://vermaden.wordpress.com/2019/06/19/freebsd-enterprise-1-pb-storage/?utm_source=discoverbsd" target="_blank" rel="nofollow noopener"&gt;FreeBSD Enterprise 1 PB Storage&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Today FreeBSD operating system turns 26 years old. 19 June is an International FreeBSD Day. This is why I got something special today :). How about using FreeBSD as an Enterprise Storage solution on real hardware? This where FreeBSD shines with all its storage features ZFS included.&lt;br&gt;
Today I will show you how I have built so called Enterprise Storage based on FreeBSD system along with more then 1 PB (Petabyte) of raw capacity.&lt;br&gt;
This project is different. How much storage space can you squeeze from a single 4U system? It turns out a lot! Definitely more then 1 PB (1024 TB) of raw storage space.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the article for the rest of the writeup&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/XDeathwatchStarts" target="_blank" rel="nofollow noopener"&gt;The death watch for the X Window System (aka X11) has probably started&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Once we are done with this we expect X.org to go into hard maintenance mode fairly quickly. The reality is that X.org is basically maintained by us and thus once we stop paying attention to it there is unlikely to be any major new releases coming out and there might even be some bitrot setting in over time. We will keep an eye on it as we will want to ensure X.org stays supportable until the end of the RHEL8 lifecycle at a minimum, but let this be a friendly notice for everyone who rely the work we do maintaining the Linux graphics stack, get onto Wayland, that is where the future is.&lt;br&gt;
I have no idea how true this is about X.org X server maintenance, either now or in the future, but I definitely think it's a sign that developers have started saying this. If Gnome developers feel that X.org is going to be in hard maintenance mode almost immediately, they're probably pretty likely to also put the Gnome code that deals with X into hard maintenance mode. And public Gnome statements about this (and public action or lack of it) provide implicit support for KDE and any other desktop to move in this direction if they want to (and probably create some pressure to do so). I've known that Wayland was the future for some time, but I would still like it to not arrive any time soon.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=2vQXGomKoxA" target="_blank" rel="nofollow noopener"&gt;Porting NetBSD to Risc-V -- Video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/newsflash.html#event20190628:01" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.3RC3 Available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.bunniestudios.com/blog/?p=5590" target="_blank" rel="nofollow noopener"&gt;Open Source Could Be a Casualty of the Trade War&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sdf.org/sdf32/" target="_blank" rel="nofollow noopener"&gt;Celebrate UNIX50 and SDF32&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20190621104048" target="_blank" rel="nofollow noopener"&gt;doas environmental security&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Matt - &lt;a href="http://dpaste.com/1RP09F0#wrap" target="_blank" rel="nofollow noopener"&gt;BSD or Older Hardware&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MJRodriguez - &lt;a href="http://dpaste.com/046SPPB#wrap" target="_blank" rel="nofollow noopener"&gt;Some Playstation news&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Moritz - &lt;a href="http://dpaste.com/1H4PJXW" target="_blank" rel="nofollow noopener"&gt;bhyve VT-x passthrough&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0305.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, opnsense, wine, storage, x11, x windows, risc-v, unix50, sdf32, doas</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Website protection with OPNsense, FreeBSD Support Pull Request for ZFS-on-Linux, How much has Unix changed, Porting Wine to amd64 on NetBSD, FreeBSD Enterprise 1 PB Storage, the death watch for X11 has started, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://medium.com/@jccwbb/website-protection-with-opnsense-3586a529d487" target="_blank" rel="nofollow noopener">Website protection with OPNsense</a></h3>

<ul>
<li>with nginx plugin OPNsense become a strong full featured Web Application Firewall (WAF)</li>
</ul>

<blockquote>
<p>The OPNsense security platform can help you to protect your network and your webservers with the nginx plugin addition.<br>
In old days, install an open source firewall was a very trick task, but today it can be done with few clicks (or key strokes). In this article I'll not describe the detailed OPNsense installation process, but you can watch this video that was extracted from my OPNsense course available in Udemy. The video is in portuguese language, but with the translation CC Youtube feature you may be able to follow it without problems (if you don't are a portuguese speaker ofcourse) :-)</p>

<ul>
<li>See the article for the rest of the writeup</li>
</ul>
</blockquote>

<hr>

<h3><a href="https://github.com/zfsonlinux/zfs/pull/8987" target="_blank" rel="nofollow noopener">FreeBSD Support Pull Request against the ZFS-on-Linux repo</a></h3>

<ul>
<li>This pull request integrates the sysutils/openzfs port’s sources into the upstream ZoL repo
&gt; Adding FreeBSD support to ZoL will make it easier to move changes back and forth between FreeBSD and Linux
&gt; Refactor tree to separate out Linux and FreeBSD specific code
&gt; import FreeBSD's SPL
&gt; add ifdefs in common code where it made more sense to do so than duplicate the code in separate files
&gt; Adapted ZFS Test Suite to run on FreeBSD and all tests that pass on ZoL passing on ZoF</li>
<li>The plan to officially rename the common repo from ZFSonLinux to OpenZFS was announced at the ZFS Leadership Meeting on June 25th</li>
<li><a href="https://www.youtube.com/watch?v=TJwykiJmH0M" target="_blank" rel="nofollow noopener">Video of Leadership Meeting</a></li>
<li><a href="https://docs.google.com/document/d/1w2jv2XVYFmBVvG1EGf-9A5HBVsjAYoLIFZAnWHhV-BM/edit" target="_blank" rel="nofollow noopener">Meeting Agenda and Notes</a></li>
<li>This will allow improvements made on one OS to be made available more easily (and more quickly) to the other platforms</li>
<li>For example, mav@’s recent work:</li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=349220" target="_blank" rel="nofollow noopener">Add wakeup_any(), cheaper version of wakeup_one() for taskqueue(9)</a>
&gt; As result, on 72-core Xeon v4 machine sequential ZFS write to 12 ZVOLs with 16KB block size spend 34% less time in wakeup_any() and descendants then it was spending in wakeup_one(), and total write throughput increased by ~10% with the same as before CPU usage.</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://adventofcomputing.libsyn.com/episode-5-notes-how-much-has-unix-changed" target="_blank" rel="nofollow noopener">Episode 5 Notes - How much has UNIX changed?</a></h3>

<blockquote>
<p>UNIX-like systems have dominated computing for decades, and with the rise of the internet and mobile devices their reach has become even larger. True, most systems now use more modern OSs like Linux, but how much has the UNIX-like landscape changed since the early days?<br>
So, my question was this: how close is a modern *NIX userland to some of the earliest UNIX releases? To do this I'm going to compare a few key points of a modern Linux system with the earliest UNIX documentation I can get my hands on. The doc I am going to be covering(<a href="https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/UNIX_ProgrammersManual_Nov71.pdf" target="_blank" rel="nofollow noopener">https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/UNIX_ProgrammersManual_Nov71.pdf</a>) is from November 1971, predating v1 of the system.<br>
I think the best place to start this comparison is to look at one of the highest-profile parts of the OS, that being the file system. Under the hood modern EXT file systems are completely different from the early UNIX file systems. However, they are still presented in basically the same way, as a heirerarchicat structure of directories with device files. So paths still look identical, and navigating the file system still functions the same. Often used commands like <code>ls</code>, <code>cp</code>, <code>mv</code>, <code>du</code>, and <code>df</code> function the same. So are <code>mount</code> and <code>umount</code>. But, there are some key differences. For instance, <code>cd</code> didn't exist, yet instead <code>chdir</code> filled its place. Also, <code>chmod</code> is somewhat different. Instead of the usual 3-digit octal codes for permissions, this older version only uses 2 digits. Really, that difference is due to the underlying file system using a different permission set than modern systems. For the most part, all the file handling is actually pretty close to a Linux system from 2019.</p>
</blockquote>

<ul>
<li>See the article for the rest of the writeup</li>
</ul>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/porting_wine_to_amd64_on" target="_blank" rel="nofollow noopener">Porting Wine to amd64 on NetBSD</a></h3>

<blockquote>
<p>I have been working on porting Wine to amd64 on NetBSD as a GSoC 2019 project. Wine is a compatibility layer which allows running Microsoft Windows applications on POSIX-complaint operating systems. This report provides an overview of the progress of the project during the first coding period.<br>
Initially, when I started working on getting Wine-4.4 to build and run on NetBSD i386 the primary issue that I faced was Wine displaying black windows instead of UI, and this applied to any graphical program I tried running with Wine.<br>
I suspected it , as it is related to graphics, to be an issue with the graphics driver or Xorg. Subsequently, I tried building modular Xorg, and I tried running Wine on it only to realize that Xorg being modular didn't affect it in the least. After having tried a couple of configurations, I realized that trying to hazard out every other probability is going to take an awful lot of time that I didn't have. This motivated me to bisect the repo using git, and find the first version of Wine which failed on NetBSD.</p>

<ul>
<li>See the article for the rest of the writeup</li>
</ul>
</blockquote>

<hr>

<h3><a href="https://vermaden.wordpress.com/2019/06/19/freebsd-enterprise-1-pb-storage/?utm_source=discoverbsd" target="_blank" rel="nofollow noopener">FreeBSD Enterprise 1 PB Storage</a></h3>

<blockquote>
<p>Today FreeBSD operating system turns 26 years old. 19 June is an International FreeBSD Day. This is why I got something special today :). How about using FreeBSD as an Enterprise Storage solution on real hardware? This where FreeBSD shines with all its storage features ZFS included.<br>
Today I will show you how I have built so called Enterprise Storage based on FreeBSD system along with more then 1 PB (Petabyte) of raw capacity.<br>
This project is different. How much storage space can you squeeze from a single 4U system? It turns out a lot! Definitely more then 1 PB (1024 TB) of raw storage space.</p>
</blockquote>

<ul>
<li>See the article for the rest of the writeup</li>
</ul>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/XDeathwatchStarts" target="_blank" rel="nofollow noopener">The death watch for the X Window System (aka X11) has probably started</a></h3>

<blockquote>
<p>Once we are done with this we expect X.org to go into hard maintenance mode fairly quickly. The reality is that X.org is basically maintained by us and thus once we stop paying attention to it there is unlikely to be any major new releases coming out and there might even be some bitrot setting in over time. We will keep an eye on it as we will want to ensure X.org stays supportable until the end of the RHEL8 lifecycle at a minimum, but let this be a friendly notice for everyone who rely the work we do maintaining the Linux graphics stack, get onto Wayland, that is where the future is.<br>
I have no idea how true this is about X.org X server maintenance, either now or in the future, but I definitely think it's a sign that developers have started saying this. If Gnome developers feel that X.org is going to be in hard maintenance mode almost immediately, they're probably pretty likely to also put the Gnome code that deals with X into hard maintenance mode. And public Gnome statements about this (and public action or lack of it) provide implicit support for KDE and any other desktop to move in this direction if they want to (and probably create some pressure to do so). I've known that Wayland was the future for some time, but I would still like it to not arrive any time soon.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=2vQXGomKoxA" target="_blank" rel="nofollow noopener">Porting NetBSD to Risc-V -- Video</a></li>
<li><a href="https://www.freebsd.org/news/newsflash.html#event20190628:01" target="_blank" rel="nofollow noopener">FreeBSD 11.3RC3 Available</a></li>
<li><a href="https://www.bunniestudios.com/blog/?p=5590" target="_blank" rel="nofollow noopener">Open Source Could Be a Casualty of the Trade War</a></li>
<li><a href="https://sdf.org/sdf32/" target="_blank" rel="nofollow noopener">Celebrate UNIX50 and SDF32</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20190621104048" target="_blank" rel="nofollow noopener">doas environmental security</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Matt - <a href="http://dpaste.com/1RP09F0#wrap" target="_blank" rel="nofollow noopener">BSD or Older Hardware</a></li>
<li>MJRodriguez - <a href="http://dpaste.com/046SPPB#wrap" target="_blank" rel="nofollow noopener">Some Playstation news</a></li>
<li>Moritz - <a href="http://dpaste.com/1H4PJXW" target="_blank" rel="nofollow noopener">bhyve VT-x passthrough</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0305.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Website protection with OPNsense, FreeBSD Support Pull Request for ZFS-on-Linux, How much has Unix changed, Porting Wine to amd64 on NetBSD, FreeBSD Enterprise 1 PB Storage, the death watch for X11 has started, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://medium.com/@jccwbb/website-protection-with-opnsense-3586a529d487" target="_blank" rel="nofollow noopener">Website protection with OPNsense</a></h3>

<ul>
<li>with nginx plugin OPNsense become a strong full featured Web Application Firewall (WAF)</li>
</ul>

<blockquote>
<p>The OPNsense security platform can help you to protect your network and your webservers with the nginx plugin addition.<br>
In old days, install an open source firewall was a very trick task, but today it can be done with few clicks (or key strokes). In this article I'll not describe the detailed OPNsense installation process, but you can watch this video that was extracted from my OPNsense course available in Udemy. The video is in portuguese language, but with the translation CC Youtube feature you may be able to follow it without problems (if you don't are a portuguese speaker ofcourse) :-)</p>

<ul>
<li>See the article for the rest of the writeup</li>
</ul>
</blockquote>

<hr>

<h3><a href="https://github.com/zfsonlinux/zfs/pull/8987" target="_blank" rel="nofollow noopener">FreeBSD Support Pull Request against the ZFS-on-Linux repo</a></h3>

<ul>
<li>This pull request integrates the sysutils/openzfs port’s sources into the upstream ZoL repo
&gt; Adding FreeBSD support to ZoL will make it easier to move changes back and forth between FreeBSD and Linux
&gt; Refactor tree to separate out Linux and FreeBSD specific code
&gt; import FreeBSD's SPL
&gt; add ifdefs in common code where it made more sense to do so than duplicate the code in separate files
&gt; Adapted ZFS Test Suite to run on FreeBSD and all tests that pass on ZoL passing on ZoF</li>
<li>The plan to officially rename the common repo from ZFSonLinux to OpenZFS was announced at the ZFS Leadership Meeting on June 25th</li>
<li><a href="https://www.youtube.com/watch?v=TJwykiJmH0M" target="_blank" rel="nofollow noopener">Video of Leadership Meeting</a></li>
<li><a href="https://docs.google.com/document/d/1w2jv2XVYFmBVvG1EGf-9A5HBVsjAYoLIFZAnWHhV-BM/edit" target="_blank" rel="nofollow noopener">Meeting Agenda and Notes</a></li>
<li>This will allow improvements made on one OS to be made available more easily (and more quickly) to the other platforms</li>
<li>For example, mav@’s recent work:</li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=349220" target="_blank" rel="nofollow noopener">Add wakeup_any(), cheaper version of wakeup_one() for taskqueue(9)</a>
&gt; As result, on 72-core Xeon v4 machine sequential ZFS write to 12 ZVOLs with 16KB block size spend 34% less time in wakeup_any() and descendants then it was spending in wakeup_one(), and total write throughput increased by ~10% with the same as before CPU usage.</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://adventofcomputing.libsyn.com/episode-5-notes-how-much-has-unix-changed" target="_blank" rel="nofollow noopener">Episode 5 Notes - How much has UNIX changed?</a></h3>

<blockquote>
<p>UNIX-like systems have dominated computing for decades, and with the rise of the internet and mobile devices their reach has become even larger. True, most systems now use more modern OSs like Linux, but how much has the UNIX-like landscape changed since the early days?<br>
So, my question was this: how close is a modern *NIX userland to some of the earliest UNIX releases? To do this I'm going to compare a few key points of a modern Linux system with the earliest UNIX documentation I can get my hands on. The doc I am going to be covering(<a href="https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/UNIX_ProgrammersManual_Nov71.pdf" target="_blank" rel="nofollow noopener">https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/UNIX_ProgrammersManual_Nov71.pdf</a>) is from November 1971, predating v1 of the system.<br>
I think the best place to start this comparison is to look at one of the highest-profile parts of the OS, that being the file system. Under the hood modern EXT file systems are completely different from the early UNIX file systems. However, they are still presented in basically the same way, as a heirerarchicat structure of directories with device files. So paths still look identical, and navigating the file system still functions the same. Often used commands like <code>ls</code>, <code>cp</code>, <code>mv</code>, <code>du</code>, and <code>df</code> function the same. So are <code>mount</code> and <code>umount</code>. But, there are some key differences. For instance, <code>cd</code> didn't exist, yet instead <code>chdir</code> filled its place. Also, <code>chmod</code> is somewhat different. Instead of the usual 3-digit octal codes for permissions, this older version only uses 2 digits. Really, that difference is due to the underlying file system using a different permission set than modern systems. For the most part, all the file handling is actually pretty close to a Linux system from 2019.</p>
</blockquote>

<ul>
<li>See the article for the rest of the writeup</li>
</ul>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/porting_wine_to_amd64_on" target="_blank" rel="nofollow noopener">Porting Wine to amd64 on NetBSD</a></h3>

<blockquote>
<p>I have been working on porting Wine to amd64 on NetBSD as a GSoC 2019 project. Wine is a compatibility layer which allows running Microsoft Windows applications on POSIX-complaint operating systems. This report provides an overview of the progress of the project during the first coding period.<br>
Initially, when I started working on getting Wine-4.4 to build and run on NetBSD i386 the primary issue that I faced was Wine displaying black windows instead of UI, and this applied to any graphical program I tried running with Wine.<br>
I suspected it , as it is related to graphics, to be an issue with the graphics driver or Xorg. Subsequently, I tried building modular Xorg, and I tried running Wine on it only to realize that Xorg being modular didn't affect it in the least. After having tried a couple of configurations, I realized that trying to hazard out every other probability is going to take an awful lot of time that I didn't have. This motivated me to bisect the repo using git, and find the first version of Wine which failed on NetBSD.</p>

<ul>
<li>See the article for the rest of the writeup</li>
</ul>
</blockquote>

<hr>

<h3><a href="https://vermaden.wordpress.com/2019/06/19/freebsd-enterprise-1-pb-storage/?utm_source=discoverbsd" target="_blank" rel="nofollow noopener">FreeBSD Enterprise 1 PB Storage</a></h3>

<blockquote>
<p>Today FreeBSD operating system turns 26 years old. 19 June is an International FreeBSD Day. This is why I got something special today :). How about using FreeBSD as an Enterprise Storage solution on real hardware? This where FreeBSD shines with all its storage features ZFS included.<br>
Today I will show you how I have built so called Enterprise Storage based on FreeBSD system along with more then 1 PB (Petabyte) of raw capacity.<br>
This project is different. How much storage space can you squeeze from a single 4U system? It turns out a lot! Definitely more then 1 PB (1024 TB) of raw storage space.</p>
</blockquote>

<ul>
<li>See the article for the rest of the writeup</li>
</ul>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/XDeathwatchStarts" target="_blank" rel="nofollow noopener">The death watch for the X Window System (aka X11) has probably started</a></h3>

<blockquote>
<p>Once we are done with this we expect X.org to go into hard maintenance mode fairly quickly. The reality is that X.org is basically maintained by us and thus once we stop paying attention to it there is unlikely to be any major new releases coming out and there might even be some bitrot setting in over time. We will keep an eye on it as we will want to ensure X.org stays supportable until the end of the RHEL8 lifecycle at a minimum, but let this be a friendly notice for everyone who rely the work we do maintaining the Linux graphics stack, get onto Wayland, that is where the future is.<br>
I have no idea how true this is about X.org X server maintenance, either now or in the future, but I definitely think it's a sign that developers have started saying this. If Gnome developers feel that X.org is going to be in hard maintenance mode almost immediately, they're probably pretty likely to also put the Gnome code that deals with X into hard maintenance mode. And public Gnome statements about this (and public action or lack of it) provide implicit support for KDE and any other desktop to move in this direction if they want to (and probably create some pressure to do so). I've known that Wayland was the future for some time, but I would still like it to not arrive any time soon.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=2vQXGomKoxA" target="_blank" rel="nofollow noopener">Porting NetBSD to Risc-V -- Video</a></li>
<li><a href="https://www.freebsd.org/news/newsflash.html#event20190628:01" target="_blank" rel="nofollow noopener">FreeBSD 11.3RC3 Available</a></li>
<li><a href="https://www.bunniestudios.com/blog/?p=5590" target="_blank" rel="nofollow noopener">Open Source Could Be a Casualty of the Trade War</a></li>
<li><a href="https://sdf.org/sdf32/" target="_blank" rel="nofollow noopener">Celebrate UNIX50 and SDF32</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20190621104048" target="_blank" rel="nofollow noopener">doas environmental security</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Matt - <a href="http://dpaste.com/1RP09F0#wrap" target="_blank" rel="nofollow noopener">BSD or Older Hardware</a></li>
<li>MJRodriguez - <a href="http://dpaste.com/046SPPB#wrap" target="_blank" rel="nofollow noopener">Some Playstation news</a></li>
<li>Moritz - <a href="http://dpaste.com/1H4PJXW" target="_blank" rel="nofollow noopener">bhyve VT-x passthrough</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0305.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>304: Prospering with Vulkan</title>
  <link>https://www.bsdnow.tv/304</link>
  <guid isPermaLink="false">6da25674-3858-4ebc-b4a5-257e1eefcbf4</guid>
  <pubDate>Thu, 27 Jun 2019 03:45:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6da25674-3858-4ebc-b4a5-257e1eefcbf4.mp3" length="45762060" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>DragonflyBSD 5.6 is out, OpenBSD Vulkan Support, bad utmp implementations in glibc and FreeBSD, OpenSSH protects itself against Side Channel attacks, ZFS vs OpenZFS, and more.</itunes:subtitle>
  <itunes:duration>1:03:33</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>&lt;p&gt;DragonflyBSD 5.6 is out, OpenBSD Vulkan Support, bad utmp implementations in glibc and FreeBSD, OpenSSH protects itself against Side Channel attacks, ZFS vs OpenZFS, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflybsd.org/release56" target="_blank" rel="nofollow noopener"&gt;DragonflyBSD 5.6 is out&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Version 5.6.0 released 17 June 2019&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.dragonflydigest.com/2019/06/19/23091.html" target="_blank" rel="nofollow noopener"&gt;Version 5.6.1 released 19 June 2019&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Big-ticket items&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improved VM&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Informal test results showing the changes from 5.4 to 5.6 are available.&lt;/li&gt;
&lt;li&gt;Reduce stalls in the kernel vm_page_alloc() code (vm_page_list_find()).&lt;/li&gt;
&lt;li&gt;Improve page allocation algorithm to avoid re-iterating the same queues as the search is widened.&lt;/li&gt;
&lt;li&gt;Add a vm_page_hash*() API that allows the kernel to do heuristical lockless lookups of VM pages.&lt;/li&gt;
&lt;li&gt;Change vm_hold() and vm_unhold() semantics to not require any spin-locks.&lt;/li&gt;
&lt;li&gt;Change vm_page_wakeup() to not require any spin-locks.&lt;/li&gt;
&lt;li&gt;Change wiring vm_page's no longer manipulates the queue the page is on, saving a lot of overhead. Instead, the page will be removed from its queue only if the pageout demon encounters it. This allows pages to enter and leave the buffer cache quickly.&lt;/li&gt;
&lt;li&gt;Refactor the handling of fictitious pages.&lt;/li&gt;
&lt;li&gt;Remove m-&amp;gt;md.pv_list entirely. VM pages in mappings no longer allocate pv_entry's, saving an enormous amount of memory when multiple processes utilize large shared memory maps (e.g. postgres database cache).&lt;/li&gt;
&lt;li&gt;Refactor vm_object shadowing, disconnecting the backing linkages from the vm_object itself and instead organizing the linkages in a new structure called vm_map_backing which hangs off the vm_map_entry.&lt;/li&gt;
&lt;li&gt;pmap operations now iterate vm_map_backing structures (rather than spin-locked page lists based on the vm_page and pv_entry's), and will test/match operations against the PTE found in the pmap at the requisite location. This doubles VM fault performance on shared pages and reduces the locking overhead for fault and pmap operations.&lt;/li&gt;
&lt;li&gt;Simplify the collapse code, removing most of the original code and replacing it with simpler per-vm_map_entry optimizations to limit the shadow depth.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;DRM&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Major updates to the radeon and ttm (amd support code) drivers. We have not quite gotten the AMD support up to the more modern cards or Ryzen APUs yet, however.&lt;/li&gt;
&lt;li&gt;Improve UEFI framebuffer support.&lt;/li&gt;
&lt;li&gt;A major deadlock has been fixed in the radeon/ttm code.&lt;/li&gt;
&lt;li&gt;Refactor the startup delay designed to avoid conflicts between the i915 driver initialization and X startup.&lt;/li&gt;
&lt;li&gt;Add DRM_IOCTL_GET_PCIINFO to improve mesa/libdrm support.&lt;/li&gt;
&lt;li&gt;Fix excessive wired memory build-ups.&lt;/li&gt;
&lt;li&gt;Fix Linux/DragonFly PAGE_MASK confusion in the DRM code.&lt;/li&gt;
&lt;li&gt;Fix idr_*() API bugs.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HAMMER2&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The filesystem sync code has been rewritten to significantly improve performance.&lt;/li&gt;
&lt;li&gt;Sequential write performance also improved.&lt;/li&gt;
&lt;li&gt;Add simple dependency tracking to prevent directory/file splits during create/rename/remove operations, for better consistency after a crash.&lt;/li&gt;
&lt;li&gt;Refactor the snapshot code to reduce flush latency and to ensure a consistent snapshot.&lt;/li&gt;
&lt;li&gt;Attempt to pipeline the flush code against the frontend, improving flush vs frontend write concurrency.&lt;/li&gt;
&lt;li&gt;Improve umount operation.&lt;/li&gt;
&lt;li&gt;Fix an allocator race that could lead to corruption.&lt;/li&gt;
&lt;li&gt;Numerous other bugs fixed.&lt;/li&gt;
&lt;li&gt;Improve verbosity of CHECK (CRC error) console messages.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=OpenBSD-Vulkan-Support" target="_blank" rel="nofollow noopener"&gt;OpenBSD Vulkan Support&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Somewhat surprisingly, OpenBSD has added the Vulkan library and ICD loader support as their newest port. &lt;br&gt;
This new graphics/vulkan-loader port provides the generic Vulkan library and ICD support that is the common code for Vulkan implementations on the system. This doesn't enable any Vulkan hardware drivers or provide something new not available elsewhere, but is rare seeing Vulkan work among the BSDs. There is also in ports the related components like the SPIR-V headers and tools, glsllang, and the Vulkan tools and validation layers. &lt;br&gt;
This is of limited usefulness, at least for the time being considering OpenBSD like the other BSDs lag behind in their DRM kernel driver support that is ported over from the mainline Linux kernel tree but generally years behind the kernel upstream. Particularly with Vulkan, newer kernel releases are needed for some Vulkan features as well as achieving decent performance. The Vulkan drivers of relevance are the open-source Intel ANV Vulkan driver and Radeon RADV drivers, both of which are in Mesa though we haven't seen any testing results to know how well they would work if at all currently on OpenBSD, but they're at least in Mesa and obviously open-source. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A note: The BSDs are no longer that far behind.&lt;/li&gt;
&lt;li&gt;FreeBSD 12.0 uses DRM from Linux 4.16 (April 2018), and the drm-devel port is based on Linux 5.0 (March 2019)&lt;/li&gt;
&lt;li&gt;OpenBSD -current as of April 2019 uses DRM from Linux 4.19.34
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://davmac.wordpress.com/2019/05/04/bad-utmp-implementations-in-glibc-and-freebsd/" target="_blank" rel="nofollow noopener"&gt;Bad utmp implementations in glibc and freebsd&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I recently released another version – 0.5.0 – of Dinit, the service manager / init system. There were a number of minor improvements, including to the build system (just running “make” or “gmake” should be enough on any of the systems which have a pre-defined configuration, no need to edit mconfig by hand), but the main features of the release were S6-compatible readiness notification, and support for updating the utmp database.&lt;br&gt;
In other words, utmp is a record of who is currently logged in to the system (another file, “wtmp”, records all logins and logouts, as well as, potentially, certain system events such as reboots and time updates). This is a hint at the main motivation for having utmp support in Dinit – I wanted the “who” command to correctly report current logins (and I wanted boot time to be correctly recorded in the wtmp file).&lt;br&gt;
I wondered: If the files consist of fixed-sized records, and are readable by regular users, how is consistency maintained? That is – how can a process ensure that, when it updates the database, it doesn’t conflict with another process also attempting to update the database at the same time? Similarly, how can a process reading an entry from the database be sure that it receives a consistent, full record and not a record which has been partially updated? (after all, POSIX allows that a write(2) call can return without having written all the requested bytes, and I’m not aware of Linux or any of the *BSDs documenting that this cannot happen for regular files). Clearly, some kind of locking is needed; a process that wants to write to or read from the database locks it first, performs its operation, and then unlocks the database. Once again, this happens under the hood, in the implementation of the getutent/pututline functions or their equivalents.&lt;br&gt;
Then I wondered: if a user process is able to lock the utmp file, and this prevents updates, what’s to stop a user process from manually acquiring and then holding such a lock for a long – even practically infinite – duration? This would prevent the database from being updated, and would perhaps even prevent logins/logouts from completing. Unfortunately, the answer is – nothing; and yes, it is possible on different systems to prevent the database from being correctly updated or even to prevent all other users – including root – from logging in to the system.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A good find&lt;/li&gt;
&lt;li&gt;On FreeBSD, even though write(2) can be asynchronous, once the write syscall returns, the data is in the buffer cache (or ARC), and any future read(2) will see that new data even if it has not yet been written to disk.
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://securityboulevard.com/2019/06/openssh-code-gets-an-update-to-protect-against-side-channel-attacks/" target="_blank" rel="nofollow noopener"&gt;OpenSSH gets an update to protect against Side Channel attacks&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Last week, Damien Miller, a Google security researcher, and one of the popular OpenSSH and OpenBSD developers announced an update to the existing OpenSSH code that can help protect against the side-channel attacks that leak sensitive data from computer’s memory. This protection, Miller says, will protect the private keys residing in the RAM against Spectre, Meltdown, Rowhammer, and the latest RAMBleed attack.&lt;br&gt;
SSH private keys can be used by malicious threat actors to connect to remote servers without the need of a password. According to CSO, “The approach used by OpenSSH could be copied by other software projects to protect their own keys and secrets in memory”.&lt;br&gt;
However, if the attacker is successful in extracting the data from a computer or server’s RAM, they will only obtain an encrypted version of an SSH private key, rather than the cleartext version.&lt;br&gt;
In an email to OpenBSD, Miller writes, “this change encrypts private keys when they are not in use with a symmetric key that is derived from a relatively large ‘prekey’ consisting of random data (currently 16KB).”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/zfs-vs-openzfs/" target="_blank" rel="nofollow noopener"&gt;ZFS vs OpenZFS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;You’ve probably heard us say a mix of “ZFS” and “OpenZFS” and an explanation is long-overdue. &lt;br&gt;
From its inception, “ZFS” has referred to the “Zettabyte File System” developed at Sun Microsystems and published under the CDDL Open Source license in 2005 as part of the OpenSolaris operating system. ZFS was revolutionary for completely decoupling the file system from specialized storage hardware and even a specific computer platform. The portable nature and advanced features of ZFS led FreeBSD, Linux, and even Apple developers to start porting ZFS to their operating systems and by 2008, FreeBSD shipped with ZFS in the 7.0 release. For the first time, ZFS empowered users of any budget with enterprise-class scalability and data integrity and management features like checksumming, compression and snapshotting, and those features remain unrivaled at any price to this day. On any ZFS platform, administrators use the zpool and zfs utilities to configure and manage their storage devices and file systems respectively. Both commands employ a user-friendly syntax such as‘zfs create mypool/mydataset’ and I welcome you to watch the appropriately-titled webinar “Why we love ZFS &amp;amp; you should too” or try a completely-graphical ZFS experience with FreeNAS.&lt;br&gt;
Oracle has steadily continued to develop its own proprietary branch of ZFS and Matt Ahrens points out that over 50% of the original OpenSolaris ZFS code has been replaced in OpenZFS with community contributions. This means that there are, sadly, two politically and technologically-incompatible branches of “ZFS” but fortunately, OpenZFS is orders of magnitude more popular thanks to its open nature. The two projects should be referred to as “Oracle ZFS” and “OpenZFS” to distinguish them as development efforts, but the user still types the ‘zfs’ command, which on FreeBSD relies on the ‘zfs.ko’ kernel module. My impression is that the terms of the CDDL license under which the OpenZFS branch of ZFS is published protects its users from any patent and trademark risks. Hopefully, this all helps you distinguish the OpenZFS project from the ZFS technology.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There was further discussion of how the ZFSOnLinux repo will become the OpenZFS repo in the future once it also contains the bits to build on FreeBSD as well during the June 25th ZFS Leadership Meeting. The videos for all of the meetings are available &lt;a href="https://www.youtube.com/channel/UC0IK6Y4Go2KtRueHDiQcxow" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/cperciva/status/1141852451756105729?s=03" target="_blank" rel="nofollow noopener"&gt;How to safely and portably close a file descriptor in a multithreaded process without running into problems with EINTR&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://knoxbug.org/2019-06-27" target="_blank" rel="nofollow noopener"&gt;KnoxBug Meetup June 27th at 6pm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.flying-pie.com/locations/lake-oswego/" target="_blank" rel="nofollow noopener"&gt;BSD Pizza Night, June 27th at 7pm, Flying Pie Pizzeria, 3 Monroe Pkwy, Ste S, Lake Oswego, OR&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://moopost.blogspot.com/2019/06/difference-between-x-and-x.html" target="_blank" rel="nofollow noopener"&gt;Difference between $x and ${x}&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nemil.com/on-software-engineering/beware-engineering-media.html" target="_blank" rel="nofollow noopener"&gt;Beware of Software Engineering Media Sites&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.cloudflare.com/how-verizon-and-a-bgp-optimizer-knocked-large-parts-of-the-internet-offline-today/" target="_blank" rel="nofollow noopener"&gt;How Verizon and a BGP optimizer knocked large parts of the internet offline today&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2019-May/718899.html" target="_blank" rel="nofollow noopener"&gt;DragonflyBSD - MDS mitigation added a while ago&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eurobsdcon.org" target="_blank" rel="nofollow noopener"&gt;Reminder: Register for EuroBSDcon 2019 in Lillehammer, Norway&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Dave - &lt;a href="http://dpaste.com/38233JC" target="_blank" rel="nofollow noopener"&gt;CheriBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Neb - &lt;a href="http://dpaste.com/0B8XKXT#wrap" target="_blank" rel="nofollow noopener"&gt;Hello from Norway&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Lars - &lt;a href="http://dpaste.com/3N85SHR" target="_blank" rel="nofollow noopener"&gt;Ansible tutorial?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0304.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, vm, drm, hammer2, vulkan, openssh, zfs, openzfs,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>DragonflyBSD 5.6 is out, OpenBSD Vulkan Support, bad utmp implementations in glibc and FreeBSD, OpenSSH protects itself against Side Channel attacks, ZFS vs OpenZFS, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release56" target="_blank" rel="nofollow noopener">DragonflyBSD 5.6 is out</a></h3>

<ul>
<li>Version 5.6.0 released 17 June 2019</li>
<li><p><a href="https://www.dragonflydigest.com/2019/06/19/23091.html" target="_blank" rel="nofollow noopener">Version 5.6.1 released 19 June 2019</a></p></li>
<li><p>Big-ticket items</p></li>
<li><p>Improved VM</p>

<ul>
<li>Informal test results showing the changes from 5.4 to 5.6 are available.</li>
<li>Reduce stalls in the kernel vm_page_alloc() code (vm_page_list_find()).</li>
<li>Improve page allocation algorithm to avoid re-iterating the same queues as the search is widened.</li>
<li>Add a vm_page_hash*() API that allows the kernel to do heuristical lockless lookups of VM pages.</li>
<li>Change vm_hold() and vm_unhold() semantics to not require any spin-locks.</li>
<li>Change vm_page_wakeup() to not require any spin-locks.</li>
<li>Change wiring vm_page's no longer manipulates the queue the page is on, saving a lot of overhead. Instead, the page will be removed from its queue only if the pageout demon encounters it. This allows pages to enter and leave the buffer cache quickly.</li>
<li>Refactor the handling of fictitious pages.</li>
<li>Remove m-&gt;md.pv_list entirely. VM pages in mappings no longer allocate pv_entry's, saving an enormous amount of memory when multiple processes utilize large shared memory maps (e.g. postgres database cache).</li>
<li>Refactor vm_object shadowing, disconnecting the backing linkages from the vm_object itself and instead organizing the linkages in a new structure called vm_map_backing which hangs off the vm_map_entry.</li>
<li>pmap operations now iterate vm_map_backing structures (rather than spin-locked page lists based on the vm_page and pv_entry's), and will test/match operations against the PTE found in the pmap at the requisite location. This doubles VM fault performance on shared pages and reduces the locking overhead for fault and pmap operations.</li>
<li>Simplify the collapse code, removing most of the original code and replacing it with simpler per-vm_map_entry optimizations to limit the shadow depth.</li>
</ul></li>
<li><p>DRM</p>

<ul>
<li>Major updates to the radeon and ttm (amd support code) drivers. We have not quite gotten the AMD support up to the more modern cards or Ryzen APUs yet, however.</li>
<li>Improve UEFI framebuffer support.</li>
<li>A major deadlock has been fixed in the radeon/ttm code.</li>
<li>Refactor the startup delay designed to avoid conflicts between the i915 driver initialization and X startup.</li>
<li>Add DRM_IOCTL_GET_PCIINFO to improve mesa/libdrm support.</li>
<li>Fix excessive wired memory build-ups.</li>
<li>Fix Linux/DragonFly PAGE_MASK confusion in the DRM code.</li>
<li>Fix idr_*() API bugs.</li>
</ul></li>
<li><p>HAMMER2</p>

<ul>
<li>The filesystem sync code has been rewritten to significantly improve performance.</li>
<li>Sequential write performance also improved.</li>
<li>Add simple dependency tracking to prevent directory/file splits during create/rename/remove operations, for better consistency after a crash.</li>
<li>Refactor the snapshot code to reduce flush latency and to ensure a consistent snapshot.</li>
<li>Attempt to pipeline the flush code against the frontend, improving flush vs frontend write concurrency.</li>
<li>Improve umount operation.</li>
<li>Fix an allocator race that could lead to corruption.</li>
<li>Numerous other bugs fixed.</li>
<li>Improve verbosity of CHECK (CRC error) console messages.</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=OpenBSD-Vulkan-Support" target="_blank" rel="nofollow noopener">OpenBSD Vulkan Support</a></h3>

<blockquote>
<p>Somewhat surprisingly, OpenBSD has added the Vulkan library and ICD loader support as their newest port. <br>
This new graphics/vulkan-loader port provides the generic Vulkan library and ICD support that is the common code for Vulkan implementations on the system. This doesn't enable any Vulkan hardware drivers or provide something new not available elsewhere, but is rare seeing Vulkan work among the BSDs. There is also in ports the related components like the SPIR-V headers and tools, glsllang, and the Vulkan tools and validation layers. <br>
This is of limited usefulness, at least for the time being considering OpenBSD like the other BSDs lag behind in their DRM kernel driver support that is ported over from the mainline Linux kernel tree but generally years behind the kernel upstream. Particularly with Vulkan, newer kernel releases are needed for some Vulkan features as well as achieving decent performance. The Vulkan drivers of relevance are the open-source Intel ANV Vulkan driver and Radeon RADV drivers, both of which are in Mesa though we haven't seen any testing results to know how well they would work if at all currently on OpenBSD, but they're at least in Mesa and obviously open-source. </p>

<ul>
<li>A note: The BSDs are no longer that far behind.</li>
<li>FreeBSD 12.0 uses DRM from Linux 4.16 (April 2018), and the drm-devel port is based on Linux 5.0 (March 2019)</li>
<li>OpenBSD -current as of April 2019 uses DRM from Linux 4.19.34
***</li>
</ul>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://davmac.wordpress.com/2019/05/04/bad-utmp-implementations-in-glibc-and-freebsd/" target="_blank" rel="nofollow noopener">Bad utmp implementations in glibc and freebsd</a></h3>

<blockquote>
<p>I recently released another version – 0.5.0 – of Dinit, the service manager / init system. There were a number of minor improvements, including to the build system (just running “make” or “gmake” should be enough on any of the systems which have a pre-defined configuration, no need to edit mconfig by hand), but the main features of the release were S6-compatible readiness notification, and support for updating the utmp database.<br>
In other words, utmp is a record of who is currently logged in to the system (another file, “wtmp”, records all logins and logouts, as well as, potentially, certain system events such as reboots and time updates). This is a hint at the main motivation for having utmp support in Dinit – I wanted the “who” command to correctly report current logins (and I wanted boot time to be correctly recorded in the wtmp file).<br>
I wondered: If the files consist of fixed-sized records, and are readable by regular users, how is consistency maintained? That is – how can a process ensure that, when it updates the database, it doesn’t conflict with another process also attempting to update the database at the same time? Similarly, how can a process reading an entry from the database be sure that it receives a consistent, full record and not a record which has been partially updated? (after all, POSIX allows that a write(2) call can return without having written all the requested bytes, and I’m not aware of Linux or any of the *BSDs documenting that this cannot happen for regular files). Clearly, some kind of locking is needed; a process that wants to write to or read from the database locks it first, performs its operation, and then unlocks the database. Once again, this happens under the hood, in the implementation of the getutent/pututline functions or their equivalents.<br>
Then I wondered: if a user process is able to lock the utmp file, and this prevents updates, what’s to stop a user process from manually acquiring and then holding such a lock for a long – even practically infinite – duration? This would prevent the database from being updated, and would perhaps even prevent logins/logouts from completing. Unfortunately, the answer is – nothing; and yes, it is possible on different systems to prevent the database from being correctly updated or even to prevent all other users – including root – from logging in to the system.</p>

<ul>
<li>A good find</li>
<li>On FreeBSD, even though write(2) can be asynchronous, once the write syscall returns, the data is in the buffer cache (or ARC), and any future read(2) will see that new data even if it has not yet been written to disk.
***</li>
</ul>
</blockquote>

<h3><a href="https://securityboulevard.com/2019/06/openssh-code-gets-an-update-to-protect-against-side-channel-attacks/" target="_blank" rel="nofollow noopener">OpenSSH gets an update to protect against Side Channel attacks</a></h3>

<blockquote>
<p>Last week, Damien Miller, a Google security researcher, and one of the popular OpenSSH and OpenBSD developers announced an update to the existing OpenSSH code that can help protect against the side-channel attacks that leak sensitive data from computer’s memory. This protection, Miller says, will protect the private keys residing in the RAM against Spectre, Meltdown, Rowhammer, and the latest RAMBleed attack.<br>
SSH private keys can be used by malicious threat actors to connect to remote servers without the need of a password. According to CSO, “The approach used by OpenSSH could be copied by other software projects to protect their own keys and secrets in memory”.<br>
However, if the attacker is successful in extracting the data from a computer or server’s RAM, they will only obtain an encrypted version of an SSH private key, rather than the cleartext version.<br>
In an email to OpenBSD, Miller writes, “this change encrypts private keys when they are not in use with a symmetric key that is derived from a relatively large ‘prekey’ consisting of random data (currently 16KB).”</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/zfs-vs-openzfs/" target="_blank" rel="nofollow noopener">ZFS vs OpenZFS</a></h3>

<blockquote>
<p>You’ve probably heard us say a mix of “ZFS” and “OpenZFS” and an explanation is long-overdue. <br>
From its inception, “ZFS” has referred to the “Zettabyte File System” developed at Sun Microsystems and published under the CDDL Open Source license in 2005 as part of the OpenSolaris operating system. ZFS was revolutionary for completely decoupling the file system from specialized storage hardware and even a specific computer platform. The portable nature and advanced features of ZFS led FreeBSD, Linux, and even Apple developers to start porting ZFS to their operating systems and by 2008, FreeBSD shipped with ZFS in the 7.0 release. For the first time, ZFS empowered users of any budget with enterprise-class scalability and data integrity and management features like checksumming, compression and snapshotting, and those features remain unrivaled at any price to this day. On any ZFS platform, administrators use the zpool and zfs utilities to configure and manage their storage devices and file systems respectively. Both commands employ a user-friendly syntax such as‘zfs create mypool/mydataset’ and I welcome you to watch the appropriately-titled webinar “Why we love ZFS &amp; you should too” or try a completely-graphical ZFS experience with FreeNAS.<br>
Oracle has steadily continued to develop its own proprietary branch of ZFS and Matt Ahrens points out that over 50% of the original OpenSolaris ZFS code has been replaced in OpenZFS with community contributions. This means that there are, sadly, two politically and technologically-incompatible branches of “ZFS” but fortunately, OpenZFS is orders of magnitude more popular thanks to its open nature. The two projects should be referred to as “Oracle ZFS” and “OpenZFS” to distinguish them as development efforts, but the user still types the ‘zfs’ command, which on FreeBSD relies on the ‘zfs.ko’ kernel module. My impression is that the terms of the CDDL license under which the OpenZFS branch of ZFS is published protects its users from any patent and trademark risks. Hopefully, this all helps you distinguish the OpenZFS project from the ZFS technology.</p>

<ul>
<li>There was further discussion of how the ZFSOnLinux repo will become the OpenZFS repo in the future once it also contains the bits to build on FreeBSD as well during the June 25th ZFS Leadership Meeting. The videos for all of the meetings are available <a href="https://www.youtube.com/channel/UC0IK6Y4Go2KtRueHDiQcxow" target="_blank" rel="nofollow noopener">here</a>
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/cperciva/status/1141852451756105729?s=03" target="_blank" rel="nofollow noopener">How to safely and portably close a file descriptor in a multithreaded process without running into problems with EINTR</a></li>
<li><a href="http://knoxbug.org/2019-06-27" target="_blank" rel="nofollow noopener">KnoxBug Meetup June 27th at 6pm</a></li>
<li><a href="https://www.flying-pie.com/locations/lake-oswego/" target="_blank" rel="nofollow noopener">BSD Pizza Night, June 27th at 7pm, Flying Pie Pizzeria, 3 Monroe Pkwy, Ste S, Lake Oswego, OR</a></li>
<li><a href="https://moopost.blogspot.com/2019/06/difference-between-x-and-x.html" target="_blank" rel="nofollow noopener">Difference between $x and ${x}</a></li>
<li><a href="https://www.nemil.com/on-software-engineering/beware-engineering-media.html" target="_blank" rel="nofollow noopener">Beware of Software Engineering Media Sites</a></li>
<li><a href="https://blog.cloudflare.com/how-verizon-and-a-bgp-optimizer-knocked-large-parts-of-the-internet-offline-today/" target="_blank" rel="nofollow noopener">How Verizon and a BGP optimizer knocked large parts of the internet offline today</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-May/718899.html" target="_blank" rel="nofollow noopener">DragonflyBSD - MDS mitigation added a while ago</a></li>
<li><a href="https://eurobsdcon.org" target="_blank" rel="nofollow noopener">Reminder: Register for EuroBSDcon 2019 in Lillehammer, Norway</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Dave - <a href="http://dpaste.com/38233JC" target="_blank" rel="nofollow noopener">CheriBSD</a></li>
<li>Neb - <a href="http://dpaste.com/0B8XKXT#wrap" target="_blank" rel="nofollow noopener">Hello from Norway</a></li>
<li>Lars - <a href="http://dpaste.com/3N85SHR" target="_blank" rel="nofollow noopener">Ansible tutorial?</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0304.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>DragonflyBSD 5.6 is out, OpenBSD Vulkan Support, bad utmp implementations in glibc and FreeBSD, OpenSSH protects itself against Side Channel attacks, ZFS vs OpenZFS, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release56" target="_blank" rel="nofollow noopener">DragonflyBSD 5.6 is out</a></h3>

<ul>
<li>Version 5.6.0 released 17 June 2019</li>
<li><p><a href="https://www.dragonflydigest.com/2019/06/19/23091.html" target="_blank" rel="nofollow noopener">Version 5.6.1 released 19 June 2019</a></p></li>
<li><p>Big-ticket items</p></li>
<li><p>Improved VM</p>

<ul>
<li>Informal test results showing the changes from 5.4 to 5.6 are available.</li>
<li>Reduce stalls in the kernel vm_page_alloc() code (vm_page_list_find()).</li>
<li>Improve page allocation algorithm to avoid re-iterating the same queues as the search is widened.</li>
<li>Add a vm_page_hash*() API that allows the kernel to do heuristical lockless lookups of VM pages.</li>
<li>Change vm_hold() and vm_unhold() semantics to not require any spin-locks.</li>
<li>Change vm_page_wakeup() to not require any spin-locks.</li>
<li>Change wiring vm_page's no longer manipulates the queue the page is on, saving a lot of overhead. Instead, the page will be removed from its queue only if the pageout demon encounters it. This allows pages to enter and leave the buffer cache quickly.</li>
<li>Refactor the handling of fictitious pages.</li>
<li>Remove m-&gt;md.pv_list entirely. VM pages in mappings no longer allocate pv_entry's, saving an enormous amount of memory when multiple processes utilize large shared memory maps (e.g. postgres database cache).</li>
<li>Refactor vm_object shadowing, disconnecting the backing linkages from the vm_object itself and instead organizing the linkages in a new structure called vm_map_backing which hangs off the vm_map_entry.</li>
<li>pmap operations now iterate vm_map_backing structures (rather than spin-locked page lists based on the vm_page and pv_entry's), and will test/match operations against the PTE found in the pmap at the requisite location. This doubles VM fault performance on shared pages and reduces the locking overhead for fault and pmap operations.</li>
<li>Simplify the collapse code, removing most of the original code and replacing it with simpler per-vm_map_entry optimizations to limit the shadow depth.</li>
</ul></li>
<li><p>DRM</p>

<ul>
<li>Major updates to the radeon and ttm (amd support code) drivers. We have not quite gotten the AMD support up to the more modern cards or Ryzen APUs yet, however.</li>
<li>Improve UEFI framebuffer support.</li>
<li>A major deadlock has been fixed in the radeon/ttm code.</li>
<li>Refactor the startup delay designed to avoid conflicts between the i915 driver initialization and X startup.</li>
<li>Add DRM_IOCTL_GET_PCIINFO to improve mesa/libdrm support.</li>
<li>Fix excessive wired memory build-ups.</li>
<li>Fix Linux/DragonFly PAGE_MASK confusion in the DRM code.</li>
<li>Fix idr_*() API bugs.</li>
</ul></li>
<li><p>HAMMER2</p>

<ul>
<li>The filesystem sync code has been rewritten to significantly improve performance.</li>
<li>Sequential write performance also improved.</li>
<li>Add simple dependency tracking to prevent directory/file splits during create/rename/remove operations, for better consistency after a crash.</li>
<li>Refactor the snapshot code to reduce flush latency and to ensure a consistent snapshot.</li>
<li>Attempt to pipeline the flush code against the frontend, improving flush vs frontend write concurrency.</li>
<li>Improve umount operation.</li>
<li>Fix an allocator race that could lead to corruption.</li>
<li>Numerous other bugs fixed.</li>
<li>Improve verbosity of CHECK (CRC error) console messages.</li>
</ul></li>
</ul>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=OpenBSD-Vulkan-Support" target="_blank" rel="nofollow noopener">OpenBSD Vulkan Support</a></h3>

<blockquote>
<p>Somewhat surprisingly, OpenBSD has added the Vulkan library and ICD loader support as their newest port. <br>
This new graphics/vulkan-loader port provides the generic Vulkan library and ICD support that is the common code for Vulkan implementations on the system. This doesn't enable any Vulkan hardware drivers or provide something new not available elsewhere, but is rare seeing Vulkan work among the BSDs. There is also in ports the related components like the SPIR-V headers and tools, glsllang, and the Vulkan tools and validation layers. <br>
This is of limited usefulness, at least for the time being considering OpenBSD like the other BSDs lag behind in their DRM kernel driver support that is ported over from the mainline Linux kernel tree but generally years behind the kernel upstream. Particularly with Vulkan, newer kernel releases are needed for some Vulkan features as well as achieving decent performance. The Vulkan drivers of relevance are the open-source Intel ANV Vulkan driver and Radeon RADV drivers, both of which are in Mesa though we haven't seen any testing results to know how well they would work if at all currently on OpenBSD, but they're at least in Mesa and obviously open-source. </p>

<ul>
<li>A note: The BSDs are no longer that far behind.</li>
<li>FreeBSD 12.0 uses DRM from Linux 4.16 (April 2018), and the drm-devel port is based on Linux 5.0 (March 2019)</li>
<li>OpenBSD -current as of April 2019 uses DRM from Linux 4.19.34
***</li>
</ul>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://davmac.wordpress.com/2019/05/04/bad-utmp-implementations-in-glibc-and-freebsd/" target="_blank" rel="nofollow noopener">Bad utmp implementations in glibc and freebsd</a></h3>

<blockquote>
<p>I recently released another version – 0.5.0 – of Dinit, the service manager / init system. There were a number of minor improvements, including to the build system (just running “make” or “gmake” should be enough on any of the systems which have a pre-defined configuration, no need to edit mconfig by hand), but the main features of the release were S6-compatible readiness notification, and support for updating the utmp database.<br>
In other words, utmp is a record of who is currently logged in to the system (another file, “wtmp”, records all logins and logouts, as well as, potentially, certain system events such as reboots and time updates). This is a hint at the main motivation for having utmp support in Dinit – I wanted the “who” command to correctly report current logins (and I wanted boot time to be correctly recorded in the wtmp file).<br>
I wondered: If the files consist of fixed-sized records, and are readable by regular users, how is consistency maintained? That is – how can a process ensure that, when it updates the database, it doesn’t conflict with another process also attempting to update the database at the same time? Similarly, how can a process reading an entry from the database be sure that it receives a consistent, full record and not a record which has been partially updated? (after all, POSIX allows that a write(2) call can return without having written all the requested bytes, and I’m not aware of Linux or any of the *BSDs documenting that this cannot happen for regular files). Clearly, some kind of locking is needed; a process that wants to write to or read from the database locks it first, performs its operation, and then unlocks the database. Once again, this happens under the hood, in the implementation of the getutent/pututline functions or their equivalents.<br>
Then I wondered: if a user process is able to lock the utmp file, and this prevents updates, what’s to stop a user process from manually acquiring and then holding such a lock for a long – even practically infinite – duration? This would prevent the database from being updated, and would perhaps even prevent logins/logouts from completing. Unfortunately, the answer is – nothing; and yes, it is possible on different systems to prevent the database from being correctly updated or even to prevent all other users – including root – from logging in to the system.</p>

<ul>
<li>A good find</li>
<li>On FreeBSD, even though write(2) can be asynchronous, once the write syscall returns, the data is in the buffer cache (or ARC), and any future read(2) will see that new data even if it has not yet been written to disk.
***</li>
</ul>
</blockquote>

<h3><a href="https://securityboulevard.com/2019/06/openssh-code-gets-an-update-to-protect-against-side-channel-attacks/" target="_blank" rel="nofollow noopener">OpenSSH gets an update to protect against Side Channel attacks</a></h3>

<blockquote>
<p>Last week, Damien Miller, a Google security researcher, and one of the popular OpenSSH and OpenBSD developers announced an update to the existing OpenSSH code that can help protect against the side-channel attacks that leak sensitive data from computer’s memory. This protection, Miller says, will protect the private keys residing in the RAM against Spectre, Meltdown, Rowhammer, and the latest RAMBleed attack.<br>
SSH private keys can be used by malicious threat actors to connect to remote servers without the need of a password. According to CSO, “The approach used by OpenSSH could be copied by other software projects to protect their own keys and secrets in memory”.<br>
However, if the attacker is successful in extracting the data from a computer or server’s RAM, they will only obtain an encrypted version of an SSH private key, rather than the cleartext version.<br>
In an email to OpenBSD, Miller writes, “this change encrypts private keys when they are not in use with a symmetric key that is derived from a relatively large ‘prekey’ consisting of random data (currently 16KB).”</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/zfs-vs-openzfs/" target="_blank" rel="nofollow noopener">ZFS vs OpenZFS</a></h3>

<blockquote>
<p>You’ve probably heard us say a mix of “ZFS” and “OpenZFS” and an explanation is long-overdue. <br>
From its inception, “ZFS” has referred to the “Zettabyte File System” developed at Sun Microsystems and published under the CDDL Open Source license in 2005 as part of the OpenSolaris operating system. ZFS was revolutionary for completely decoupling the file system from specialized storage hardware and even a specific computer platform. The portable nature and advanced features of ZFS led FreeBSD, Linux, and even Apple developers to start porting ZFS to their operating systems and by 2008, FreeBSD shipped with ZFS in the 7.0 release. For the first time, ZFS empowered users of any budget with enterprise-class scalability and data integrity and management features like checksumming, compression and snapshotting, and those features remain unrivaled at any price to this day. On any ZFS platform, administrators use the zpool and zfs utilities to configure and manage their storage devices and file systems respectively. Both commands employ a user-friendly syntax such as‘zfs create mypool/mydataset’ and I welcome you to watch the appropriately-titled webinar “Why we love ZFS &amp; you should too” or try a completely-graphical ZFS experience with FreeNAS.<br>
Oracle has steadily continued to develop its own proprietary branch of ZFS and Matt Ahrens points out that over 50% of the original OpenSolaris ZFS code has been replaced in OpenZFS with community contributions. This means that there are, sadly, two politically and technologically-incompatible branches of “ZFS” but fortunately, OpenZFS is orders of magnitude more popular thanks to its open nature. The two projects should be referred to as “Oracle ZFS” and “OpenZFS” to distinguish them as development efforts, but the user still types the ‘zfs’ command, which on FreeBSD relies on the ‘zfs.ko’ kernel module. My impression is that the terms of the CDDL license under which the OpenZFS branch of ZFS is published protects its users from any patent and trademark risks. Hopefully, this all helps you distinguish the OpenZFS project from the ZFS technology.</p>

<ul>
<li>There was further discussion of how the ZFSOnLinux repo will become the OpenZFS repo in the future once it also contains the bits to build on FreeBSD as well during the June 25th ZFS Leadership Meeting. The videos for all of the meetings are available <a href="https://www.youtube.com/channel/UC0IK6Y4Go2KtRueHDiQcxow" target="_blank" rel="nofollow noopener">here</a>
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://twitter.com/cperciva/status/1141852451756105729?s=03" target="_blank" rel="nofollow noopener">How to safely and portably close a file descriptor in a multithreaded process without running into problems with EINTR</a></li>
<li><a href="http://knoxbug.org/2019-06-27" target="_blank" rel="nofollow noopener">KnoxBug Meetup June 27th at 6pm</a></li>
<li><a href="https://www.flying-pie.com/locations/lake-oswego/" target="_blank" rel="nofollow noopener">BSD Pizza Night, June 27th at 7pm, Flying Pie Pizzeria, 3 Monroe Pkwy, Ste S, Lake Oswego, OR</a></li>
<li><a href="https://moopost.blogspot.com/2019/06/difference-between-x-and-x.html" target="_blank" rel="nofollow noopener">Difference between $x and ${x}</a></li>
<li><a href="https://www.nemil.com/on-software-engineering/beware-engineering-media.html" target="_blank" rel="nofollow noopener">Beware of Software Engineering Media Sites</a></li>
<li><a href="https://blog.cloudflare.com/how-verizon-and-a-bgp-optimizer-knocked-large-parts-of-the-internet-offline-today/" target="_blank" rel="nofollow noopener">How Verizon and a BGP optimizer knocked large parts of the internet offline today</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2019-May/718899.html" target="_blank" rel="nofollow noopener">DragonflyBSD - MDS mitigation added a while ago</a></li>
<li><a href="https://eurobsdcon.org" target="_blank" rel="nofollow noopener">Reminder: Register for EuroBSDcon 2019 in Lillehammer, Norway</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Dave - <a href="http://dpaste.com/38233JC" target="_blank" rel="nofollow noopener">CheriBSD</a></li>
<li>Neb - <a href="http://dpaste.com/0B8XKXT#wrap" target="_blank" rel="nofollow noopener">Hello from Norway</a></li>
<li>Lars - <a href="http://dpaste.com/3N85SHR" target="_blank" rel="nofollow noopener">Ansible tutorial?</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0304.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>303: OpenZFS in Ports</title>
  <link>https://www.bsdnow.tv/303</link>
  <guid isPermaLink="false">1ed8b630-10c4-44f6-9a48-2ffcb4a8b6fe</guid>
  <pubDate>Wed, 19 Jun 2019 22:30:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/1ed8b630-10c4-44f6-9a48-2ffcb4a8b6fe.mp3" length="37840062" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenZFS-kmod port available, using blacklistd with NPF as fail2ban replacement, ZFS raidz expansion alpha preview 1, audio VU-meter increases CO2 footprint rant, XSAVE and compat32 kernel work for LLDB, where icons for modern X applications come from, and more.</itunes:subtitle>
  <itunes:duration>52:33</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>&lt;p&gt;OpenZFS-kmod port available, using blacklistd with NPF as fail2ban replacement, ZFS raidz expansion alpha preview 1, audio VU-meter increases CO2 footprint rant, XSAVE and compat32 kernel work for LLDB, where icons for modern X applications come from, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freshports.org/sysutils/openzfs-kmod" target="_blank" rel="nofollow noopener"&gt;ZFSonFreeBSD ports renamed OpenZFS&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The ZFS on FreeBSD project has renamed the userland and kernel ports from zol and zol-kmod to openzfs and openzfs-kmod&lt;/li&gt;
&lt;li&gt;The new versions from this week are IOCTL compatible with the command line tools in FreeBSD 12.0, so you can use the old userland with the new kernel module (although obviously not the new features)&lt;/li&gt;
&lt;li&gt;With the renaming it is easier to specify which kernel module you want to load in /boot/loader.conf:
&amp;gt; zfs_load=”YES”&lt;/li&gt;
&lt;li&gt;or
&amp;gt; openzfs_load=”YES”&lt;/li&gt;
&lt;li&gt;To load traditional or the newer version of ZFS&lt;/li&gt;
&lt;li&gt;The kmod still requires FreeBSD 12-stable or 13-current because it depends on the newer crypto support in the kernel for the ZFS native encryption feature. Allan is looking at ways to work around this, but it may not be practical.&lt;/li&gt;
&lt;li&gt;We would like to do an unofficial poll on how people would the userland to co-exist. Add a suffix to the new commands in /usr/local (zfs.new zpool.new or whatever). One idea i’ve had is to move the zfs and zpool commands to /libexec and make /sbin/zfs and /sbin/zpool a switcher script, that will call the base or ports version based on a config file (or just based on if the port is installed)&lt;/li&gt;
&lt;li&gt;For testing purposes, generally you should be fine as long as you don’t run ‘zpool upgrade’, which will make your pool only importable using the newer ZFS.&lt;/li&gt;
&lt;li&gt;For extra safety, you can create a ‘zpool checkpoint’, which will allow you to undo any changes that are made to the pool during your testing with the new openzfs tools. Note: the checkpoint will undo EVERYTHING. So don’t save new data you want to keep.&lt;/li&gt;
&lt;li&gt;Note: Checkpoints disable all freeing operations, to prevent any data from being overwritten so that you can re-import at the checkpoint and undo any operation (including zfs destroy-ing a dataset), so also be careful you don’t run out of space during testing.&lt;/li&gt;
&lt;li&gt;Please test and provide feedback.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.unitedbsd.com/d/63-how-to-use-blacklistd8-with-npf-as-a-fail2ban-replacement" target="_blank" rel="nofollow noopener"&gt;How to use blacklistd(8) with NPF as a fail2ban replacement&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;About blacklistd(8)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;blacklistd(8) provides an API that can be used by network daemons to communicate with a packet filter via a daemon to enforce opening and closing ports dynamically based on policy.&lt;br&gt;
The interface to the packet filter is in /libexec/blacklistd-helper (this is currently designed for npf) and the configuration file (inspired from inetd.conf) is in etc/blacklistd.conf&lt;br&gt;
Now, blacklistd(8) will require bpfjit(4) (Just-In-Time compiler for Berkeley Packet Filter) in order to properly work, in addition to, naturally, npf(7) as frontend and syslogd(8), as a backend to print diagnostic messages. Also remember npf shall rely on the npflog* virtual network interface to provide logging for tcpdump() to use. &lt;br&gt;
Unfortunately (dont' ask me why :P) in 8.1 all the required kernel components are still not compiled by default in the GENERIC kernel (though they are in HEAD), and are rather provided as modules. Enabling NPF and blacklistd services would normally result in them being automatically loaded as root, but predictably on securelevel=1 this is not going to happen&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://github.com/zfsonlinux/zfs/pull/8853" target="_blank" rel="nofollow noopener"&gt;[WIP] raidz expansion, alpha preview 1&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Motivation and Context
&amp;gt; This is a alpha-quality preview of RAID-Z expansion. This feature allows disks to be added one at a time to a RAID-Z group, expanding its capacity incrementally. This feature is especially useful for small pools (typically with only one RAID-Z group), where there isn't sufficient hardware to add capacity by adding a whole new RAID-Z group (typically doubling the number of disks).
&amp;gt; For additional context as well as a design overview, see my short talk from the 2017 OpenZFS Developer Summit: slides video&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://medium.com/@MartinCracauer/bug-rant-running-audio-vu-meter-increases-my-co2-footprint-871d5c1bee5a" target="_blank" rel="nofollow noopener"&gt;Rant: running audio VU-meter increases my CO2 footprint&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A couple months ago I noticed that the monitor on my workstation never power off anymore. Screensaver would go on, but DPMs (to do the poweroff) never kicked in.&lt;br&gt;
I grovels the output of various tools that display DPMS settings, which as usual in Xorg were useless. Everybody said DPMS is on with a timeout. I even wrote my own C program to use every available Xlib API call and even the xscreensaver library calls. (should make it available) No go, everybody says that DPMs is on, enabled and set on a timeout. Didn’t matter whether I let xscreeensaver do the job or just the X11 server.&lt;br&gt;
After a while I noticed that DPMS actually worked between starting my X11 server and starting all my clients. I have a minimal .xinitrc and start the actual session from a script, that is how I could notice. If I used a regular desktop login I wouldn’t have noticed. A server state bug was much more likely than a client bug.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;See the article for the rest...&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/xsave_and_compat32_kernel_work" target="_blank" rel="nofollow noopener"&gt;XSAVE and compat32 kernel work for LLDB&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.&lt;br&gt;
In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support and lately extending NetBSD's ptrace interface to cover more register types. You can read more about that in my Apr 2019 report.&lt;br&gt;
In May, I was primarily continuing the work on new ptrace interface. Besides that, I've found and fixed a bug in ptrace() compat32 code, pushed LLVM buildbot to ‘green’ status and found some upstream LLVM regressions. More below.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ModernXAppIcons" target="_blank" rel="nofollow noopener"&gt;Some things about where icons for modern X applications come from&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;If you have a traditional window manager like fvwm, one of the things it can do is iconify X windows so that they turn into icons on the root window (which would often be called the 'desktop'). Even modern desktop environments that don't iconify programs to the root window (or their desktop) may have per-program icons for running programs in their dock or taskbar. If your window manager or desktop environment can do this, you might reasonably wonder where those icons come from by default.&lt;br&gt;
Although I don't know how it was done in the early days of X, the modern standard for this is part of the Extended Window Manager Hints. In EWMH, applications give the window manager a number of possible icons, generally in different sizes, as ARGB bitmaps (instead of, say, SVG format). The window manager or desktop environment can then pick whichever icon size it likes best, taking into account things like the display resolution and so on, and display it however it wants to (in its original size or scaled up or down).&lt;br&gt;
How this is communicated in specific is through the only good interprocess communication method that X supplies, namely X properties. In the specific case of icons, the _NET_WM_ICON property is what is used, and xprop can display the size information and an ASCII art summary of what each icon looks like. It's also possible to use some additional magic to read out the raw data from _NET_WM_ICON in a useful format; see, for example, this Stackoverflow question and its answers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article;sid=20190605110020" target="_blank" rel="nofollow noopener"&gt;Recent Security Innovations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://imgur.com/a/HbSYtQI" target="_blank" rel="nofollow noopener"&gt;Old Unix books + Solaris&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bitcannon.net/post/pro-desktop/" target="_blank" rel="nofollow noopener"&gt;Pro-Desktop - A Tiling Desktop Environment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.extracheese.org/2010/05/the-tar-pipe.html" target="_blank" rel="nofollow noopener"&gt;The Tar Pipe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.hillelwayne.com/post/intermediate-vim/" target="_blank" rel="nofollow noopener"&gt;At least one vim trick you might not know&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Johnny - &lt;a href="http://dpaste.com/0ZQCQ8Y#wrap" target="_blank" rel="nofollow noopener"&gt;listener feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brian - &lt;a href="http://dpaste.com/1843RNX#wrap" target="_blank" rel="nofollow noopener"&gt;Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mark - &lt;a href="http://dpaste.com/3M83X9G#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS Question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0303.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, zfs, openzfs, blacklistd, raidz, xsave, compat32, awesomewm, vim, npf, </itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenZFS-kmod port available, using blacklistd with NPF as fail2ban replacement, ZFS raidz expansion alpha preview 1, audio VU-meter increases CO2 footprint rant, XSAVE and compat32 kernel work for LLDB, where icons for modern X applications come from, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freshports.org/sysutils/openzfs-kmod" target="_blank" rel="nofollow noopener">ZFSonFreeBSD ports renamed OpenZFS</a></h3>

<ul>
<li>The ZFS on FreeBSD project has renamed the userland and kernel ports from zol and zol-kmod to openzfs and openzfs-kmod</li>
<li>The new versions from this week are IOCTL compatible with the command line tools in FreeBSD 12.0, so you can use the old userland with the new kernel module (although obviously not the new features)</li>
<li>With the renaming it is easier to specify which kernel module you want to load in /boot/loader.conf:
&gt; zfs_load=”YES”</li>
<li>or
&gt; openzfs_load=”YES”</li>
<li>To load traditional or the newer version of ZFS</li>
<li>The kmod still requires FreeBSD 12-stable or 13-current because it depends on the newer crypto support in the kernel for the ZFS native encryption feature. Allan is looking at ways to work around this, but it may not be practical.</li>
<li>We would like to do an unofficial poll on how people would the userland to co-exist. Add a suffix to the new commands in /usr/local (zfs.new zpool.new or whatever). One idea i’ve had is to move the zfs and zpool commands to /libexec and make /sbin/zfs and /sbin/zpool a switcher script, that will call the base or ports version based on a config file (or just based on if the port is installed)</li>
<li>For testing purposes, generally you should be fine as long as you don’t run ‘zpool upgrade’, which will make your pool only importable using the newer ZFS.</li>
<li>For extra safety, you can create a ‘zpool checkpoint’, which will allow you to undo any changes that are made to the pool during your testing with the new openzfs tools. Note: the checkpoint will undo EVERYTHING. So don’t save new data you want to keep.</li>
<li>Note: Checkpoints disable all freeing operations, to prevent any data from being overwritten so that you can re-import at the checkpoint and undo any operation (including zfs destroy-ing a dataset), so also be careful you don’t run out of space during testing.</li>
<li>Please test and provide feedback.</li>
</ul>

<hr>

<h3><a href="https://www.unitedbsd.com/d/63-how-to-use-blacklistd8-with-npf-as-a-fail2ban-replacement" target="_blank" rel="nofollow noopener">How to use blacklistd(8) with NPF as a fail2ban replacement</a></h3>

<ul>
<li>About blacklistd(8)</li>
</ul>

<blockquote>
<p>blacklistd(8) provides an API that can be used by network daemons to communicate with a packet filter via a daemon to enforce opening and closing ports dynamically based on policy.<br>
The interface to the packet filter is in /libexec/blacklistd-helper (this is currently designed for npf) and the configuration file (inspired from inetd.conf) is in etc/blacklistd.conf<br>
Now, blacklistd(8) will require bpfjit(4) (Just-In-Time compiler for Berkeley Packet Filter) in order to properly work, in addition to, naturally, npf(7) as frontend and syslogd(8), as a backend to print diagnostic messages. Also remember npf shall rely on the npflog* virtual network interface to provide logging for tcpdump() to use. <br>
Unfortunately (dont' ask me why :P) in 8.1 all the required kernel components are still not compiled by default in the GENERIC kernel (though they are in HEAD), and are rather provided as modules. Enabling NPF and blacklistd services would normally result in them being automatically loaded as root, but predictably on securelevel=1 this is not going to happen</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://github.com/zfsonlinux/zfs/pull/8853" target="_blank" rel="nofollow noopener">[WIP] raidz expansion, alpha preview 1</a></h3>

<ul>
<li>Motivation and Context
&gt; This is a alpha-quality preview of RAID-Z expansion. This feature allows disks to be added one at a time to a RAID-Z group, expanding its capacity incrementally. This feature is especially useful for small pools (typically with only one RAID-Z group), where there isn't sufficient hardware to add capacity by adding a whole new RAID-Z group (typically doubling the number of disks).
&gt; For additional context as well as a design overview, see my short talk from the 2017 OpenZFS Developer Summit: slides video</li>
</ul>

<hr>

<h3><a href="https://medium.com/@MartinCracauer/bug-rant-running-audio-vu-meter-increases-my-co2-footprint-871d5c1bee5a" target="_blank" rel="nofollow noopener">Rant: running audio VU-meter increases my CO2 footprint</a></h3>

<blockquote>
<p>A couple months ago I noticed that the monitor on my workstation never power off anymore. Screensaver would go on, but DPMs (to do the poweroff) never kicked in.<br>
I grovels the output of various tools that display DPMS settings, which as usual in Xorg were useless. Everybody said DPMS is on with a timeout. I even wrote my own C program to use every available Xlib API call and even the xscreensaver library calls. (should make it available) No go, everybody says that DPMs is on, enabled and set on a timeout. Didn’t matter whether I let xscreeensaver do the job or just the X11 server.<br>
After a while I noticed that DPMS actually worked between starting my X11 server and starting all my clients. I have a minimal .xinitrc and start the actual session from a script, that is how I could notice. If I used a regular desktop login I wouldn’t have noticed. A server state bug was much more likely than a client bug.</p>

<ul>
<li>See the article for the rest...</li>
</ul>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/xsave_and_compat32_kernel_work" target="_blank" rel="nofollow noopener">XSAVE and compat32 kernel work for LLDB</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.<br>
In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support and lately extending NetBSD's ptrace interface to cover more register types. You can read more about that in my Apr 2019 report.<br>
In May, I was primarily continuing the work on new ptrace interface. Besides that, I've found and fixed a bug in ptrace() compat32 code, pushed LLVM buildbot to ‘green’ status and found some upstream LLVM regressions. More below.</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ModernXAppIcons" target="_blank" rel="nofollow noopener">Some things about where icons for modern X applications come from</a></h3>

<blockquote>
<p>If you have a traditional window manager like fvwm, one of the things it can do is iconify X windows so that they turn into icons on the root window (which would often be called the 'desktop'). Even modern desktop environments that don't iconify programs to the root window (or their desktop) may have per-program icons for running programs in their dock or taskbar. If your window manager or desktop environment can do this, you might reasonably wonder where those icons come from by default.<br>
Although I don't know how it was done in the early days of X, the modern standard for this is part of the Extended Window Manager Hints. In EWMH, applications give the window manager a number of possible icons, generally in different sizes, as ARGB bitmaps (instead of, say, SVG format). The window manager or desktop environment can then pick whichever icon size it likes best, taking into account things like the display resolution and so on, and display it however it wants to (in its original size or scaled up or down).<br>
How this is communicated in specific is through the only good interprocess communication method that X supplies, namely X properties. In the specific case of icons, the _NET_WM_ICON property is what is used, and xprop can display the size information and an ASCII art summary of what each icon looks like. It's also possible to use some additional magic to read out the raw data from _NET_WM_ICON in a useful format; see, for example, this Stackoverflow question and its answers.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article;sid=20190605110020" target="_blank" rel="nofollow noopener">Recent Security Innovations</a></li>
<li><a href="https://imgur.com/a/HbSYtQI" target="_blank" rel="nofollow noopener">Old Unix books + Solaris</a></li>
<li><a href="https://bitcannon.net/post/pro-desktop/" target="_blank" rel="nofollow noopener">Pro-Desktop - A Tiling Desktop Environment</a></li>
<li><a href="https://blog.extracheese.org/2010/05/the-tar-pipe.html" target="_blank" rel="nofollow noopener">The Tar Pipe</a></li>
<li><a href="https://www.hillelwayne.com/post/intermediate-vim/" target="_blank" rel="nofollow noopener">At least one vim trick you might not know</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Johnny - <a href="http://dpaste.com/0ZQCQ8Y#wrap" target="_blank" rel="nofollow noopener">listener feedback</a></li>
<li>Brian - <a href="http://dpaste.com/1843RNX#wrap" target="_blank" rel="nofollow noopener">Questions</a></li>
<li>Mark - <a href="http://dpaste.com/3M83X9G#wrap" target="_blank" rel="nofollow noopener">ZFS Question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0303.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenZFS-kmod port available, using blacklistd with NPF as fail2ban replacement, ZFS raidz expansion alpha preview 1, audio VU-meter increases CO2 footprint rant, XSAVE and compat32 kernel work for LLDB, where icons for modern X applications come from, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freshports.org/sysutils/openzfs-kmod" target="_blank" rel="nofollow noopener">ZFSonFreeBSD ports renamed OpenZFS</a></h3>

<ul>
<li>The ZFS on FreeBSD project has renamed the userland and kernel ports from zol and zol-kmod to openzfs and openzfs-kmod</li>
<li>The new versions from this week are IOCTL compatible with the command line tools in FreeBSD 12.0, so you can use the old userland with the new kernel module (although obviously not the new features)</li>
<li>With the renaming it is easier to specify which kernel module you want to load in /boot/loader.conf:
&gt; zfs_load=”YES”</li>
<li>or
&gt; openzfs_load=”YES”</li>
<li>To load traditional or the newer version of ZFS</li>
<li>The kmod still requires FreeBSD 12-stable or 13-current because it depends on the newer crypto support in the kernel for the ZFS native encryption feature. Allan is looking at ways to work around this, but it may not be practical.</li>
<li>We would like to do an unofficial poll on how people would the userland to co-exist. Add a suffix to the new commands in /usr/local (zfs.new zpool.new or whatever). One idea i’ve had is to move the zfs and zpool commands to /libexec and make /sbin/zfs and /sbin/zpool a switcher script, that will call the base or ports version based on a config file (or just based on if the port is installed)</li>
<li>For testing purposes, generally you should be fine as long as you don’t run ‘zpool upgrade’, which will make your pool only importable using the newer ZFS.</li>
<li>For extra safety, you can create a ‘zpool checkpoint’, which will allow you to undo any changes that are made to the pool during your testing with the new openzfs tools. Note: the checkpoint will undo EVERYTHING. So don’t save new data you want to keep.</li>
<li>Note: Checkpoints disable all freeing operations, to prevent any data from being overwritten so that you can re-import at the checkpoint and undo any operation (including zfs destroy-ing a dataset), so also be careful you don’t run out of space during testing.</li>
<li>Please test and provide feedback.</li>
</ul>

<hr>

<h3><a href="https://www.unitedbsd.com/d/63-how-to-use-blacklistd8-with-npf-as-a-fail2ban-replacement" target="_blank" rel="nofollow noopener">How to use blacklistd(8) with NPF as a fail2ban replacement</a></h3>

<ul>
<li>About blacklistd(8)</li>
</ul>

<blockquote>
<p>blacklistd(8) provides an API that can be used by network daemons to communicate with a packet filter via a daemon to enforce opening and closing ports dynamically based on policy.<br>
The interface to the packet filter is in /libexec/blacklistd-helper (this is currently designed for npf) and the configuration file (inspired from inetd.conf) is in etc/blacklistd.conf<br>
Now, blacklistd(8) will require bpfjit(4) (Just-In-Time compiler for Berkeley Packet Filter) in order to properly work, in addition to, naturally, npf(7) as frontend and syslogd(8), as a backend to print diagnostic messages. Also remember npf shall rely on the npflog* virtual network interface to provide logging for tcpdump() to use. <br>
Unfortunately (dont' ask me why :P) in 8.1 all the required kernel components are still not compiled by default in the GENERIC kernel (though they are in HEAD), and are rather provided as modules. Enabling NPF and blacklistd services would normally result in them being automatically loaded as root, but predictably on securelevel=1 this is not going to happen</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://github.com/zfsonlinux/zfs/pull/8853" target="_blank" rel="nofollow noopener">[WIP] raidz expansion, alpha preview 1</a></h3>

<ul>
<li>Motivation and Context
&gt; This is a alpha-quality preview of RAID-Z expansion. This feature allows disks to be added one at a time to a RAID-Z group, expanding its capacity incrementally. This feature is especially useful for small pools (typically with only one RAID-Z group), where there isn't sufficient hardware to add capacity by adding a whole new RAID-Z group (typically doubling the number of disks).
&gt; For additional context as well as a design overview, see my short talk from the 2017 OpenZFS Developer Summit: slides video</li>
</ul>

<hr>

<h3><a href="https://medium.com/@MartinCracauer/bug-rant-running-audio-vu-meter-increases-my-co2-footprint-871d5c1bee5a" target="_blank" rel="nofollow noopener">Rant: running audio VU-meter increases my CO2 footprint</a></h3>

<blockquote>
<p>A couple months ago I noticed that the monitor on my workstation never power off anymore. Screensaver would go on, but DPMs (to do the poweroff) never kicked in.<br>
I grovels the output of various tools that display DPMS settings, which as usual in Xorg were useless. Everybody said DPMS is on with a timeout. I even wrote my own C program to use every available Xlib API call and even the xscreensaver library calls. (should make it available) No go, everybody says that DPMs is on, enabled and set on a timeout. Didn’t matter whether I let xscreeensaver do the job or just the X11 server.<br>
After a while I noticed that DPMS actually worked between starting my X11 server and starting all my clients. I have a minimal .xinitrc and start the actual session from a script, that is how I could notice. If I used a regular desktop login I wouldn’t have noticed. A server state bug was much more likely than a client bug.</p>

<ul>
<li>See the article for the rest...</li>
</ul>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/xsave_and_compat32_kernel_work" target="_blank" rel="nofollow noopener">XSAVE and compat32 kernel work for LLDB</a></h3>

<blockquote>
<p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.<br>
In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support and lately extending NetBSD's ptrace interface to cover more register types. You can read more about that in my Apr 2019 report.<br>
In May, I was primarily continuing the work on new ptrace interface. Besides that, I've found and fixed a bug in ptrace() compat32 code, pushed LLVM buildbot to ‘green’ status and found some upstream LLVM regressions. More below.</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/ModernXAppIcons" target="_blank" rel="nofollow noopener">Some things about where icons for modern X applications come from</a></h3>

<blockquote>
<p>If you have a traditional window manager like fvwm, one of the things it can do is iconify X windows so that they turn into icons on the root window (which would often be called the 'desktop'). Even modern desktop environments that don't iconify programs to the root window (or their desktop) may have per-program icons for running programs in their dock or taskbar. If your window manager or desktop environment can do this, you might reasonably wonder where those icons come from by default.<br>
Although I don't know how it was done in the early days of X, the modern standard for this is part of the Extended Window Manager Hints. In EWMH, applications give the window manager a number of possible icons, generally in different sizes, as ARGB bitmaps (instead of, say, SVG format). The window manager or desktop environment can then pick whichever icon size it likes best, taking into account things like the display resolution and so on, and display it however it wants to (in its original size or scaled up or down).<br>
How this is communicated in specific is through the only good interprocess communication method that X supplies, namely X properties. In the specific case of icons, the _NET_WM_ICON property is what is used, and xprop can display the size information and an ASCII art summary of what each icon looks like. It's also possible to use some additional magic to read out the raw data from _NET_WM_ICON in a useful format; see, for example, this Stackoverflow question and its answers.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article;sid=20190605110020" target="_blank" rel="nofollow noopener">Recent Security Innovations</a></li>
<li><a href="https://imgur.com/a/HbSYtQI" target="_blank" rel="nofollow noopener">Old Unix books + Solaris</a></li>
<li><a href="https://bitcannon.net/post/pro-desktop/" target="_blank" rel="nofollow noopener">Pro-Desktop - A Tiling Desktop Environment</a></li>
<li><a href="https://blog.extracheese.org/2010/05/the-tar-pipe.html" target="_blank" rel="nofollow noopener">The Tar Pipe</a></li>
<li><a href="https://www.hillelwayne.com/post/intermediate-vim/" target="_blank" rel="nofollow noopener">At least one vim trick you might not know</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Johnny - <a href="http://dpaste.com/0ZQCQ8Y#wrap" target="_blank" rel="nofollow noopener">listener feedback</a></li>
<li>Brian - <a href="http://dpaste.com/1843RNX#wrap" target="_blank" rel="nofollow noopener">Questions</a></li>
<li>Mark - <a href="http://dpaste.com/3M83X9G#wrap" target="_blank" rel="nofollow noopener">ZFS Question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0303.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>302: Contention Reduction</title>
  <link>https://www.bsdnow.tv/302</link>
  <guid isPermaLink="false">42938801-0d4a-4cf9-a297-c1eeddac85dc</guid>
  <pubDate>Wed, 12 Jun 2019 23:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/42938801-0d4a-4cf9-a297-c1eeddac85dc.mp3" length="50043425" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>DragonFlyBSD's kernel optimizations pay off, differences between OpenBSD and Linux, NetBSD 2019 Google Summer of Code project list, Reducing that contention, fnaify 1.3 released, vmctl(8): CLI syntax changes, and things that Linux distributions should not do when packaging.</itunes:subtitle>
  <itunes:duration>1:09:30</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>&lt;p&gt;DragonFlyBSD's kernel optimizations pay off, differences between OpenBSD and Linux, NetBSD 2019 Google Summer of Code project list, Reducing that contention, fnaify 1.3 released, vmctl(8): CLI syntax changes, and things that Linux distributions should not do when packaging.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=article&amp;amp;item=dragonfly-55-threadripper&amp;amp;num=1" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD's Kernel Optimizations Are Paying Off&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;DragonFlyBSD lead developer Matthew Dillon has been working on a big VM rework in the name of performance and other kernel improvements recently. Here is a look at how those DragonFlyBSD 5.5-DEVELOPMENT improvements are paying off compared to DragonFlyBSD 5.4 as well as FreeBSD 12 and five Linux distribution releases. With Dillon using an AMD Ryzen Threadripper system, we used that too for this round of BSD vs. Linux performance benchmarks.&lt;br&gt;
The work by Dillon on the VM overhaul and other changes (including more HAMMER2 file-system work) will ultimately culminate with the DragonFlyBSD 5.6 release (well, unless he opts for DragonFlyBSD 6.0 or so). These are benchmarks of the latest DragonFlyBSD 5.5-DEVELOPMENT daily ISO as of this week benchmarked across DragonFlyBSD 5.4.3 stable, FreeBSD 12.0, Ubuntu 19.04, Red Hat Enterprise Linux 8.0, Debian 9.9, Debian Buster, and CentOS 7 1810 as a wide variety of reference points both from newer and older Linux distributions. (As for no Clear Linux reference point for a speedy reference point, it currently has a regression with AMD + Samsung NVMe SSD support on some hardware, including this box, prohibiting the drive from coming up due to a presumed power management issue that is still being resolved.)&lt;br&gt;
With Matthew Dillon doing much of his development on an AMD Ryzen Threadripper system after he last year proclaimed the greatness of these AMD HEDT CPUs, for this round of testing I also used a Ryzen Threadripper 2990WX with 32 cores / 64 threads. Tests of other AMD/Intel hardware with DragonFlyBSD will come as the next stable release is near and all of the kernel work has settled down. For now it's mostly entertaining our own curiosity how well these DragonFlyBSD optimizations are paying off and how it's increasing the competition against FreeBSD 12 and Linux distributions.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://cfenollosa.com/blog/what-are-the-differences-between-openbsd-and-linux.html" target="_blank" rel="nofollow noopener"&gt;What are the differences between OpenBSD and Linux?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Maybe you have been reading recently about the release of OpenBSD 6.5 and wonder, "What are the differences between Linux and OpenBSD?"&lt;br&gt;
I've also been there at some point in the past and these are my conclusions.&lt;br&gt;
They also apply, to some extent, to other BSDs. However, an important disclaimer applies to this article.&lt;br&gt;
This list is aimed at people who are used to Linux and are curious about OpenBSD. It is written to highlight the most important changes from their perspective, not the absolute most important changes from a technical standpoint.&lt;br&gt;
Please bear with me.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A terminal is a terminal is a terminal&lt;/li&gt;
&lt;li&gt;Practical differences&lt;/li&gt;
&lt;li&gt;Security and system administration&lt;/li&gt;
&lt;li&gt;Why philosophical differences matter&lt;/li&gt;
&lt;li&gt;So what do I choose?&lt;/li&gt;
&lt;li&gt;How to try OpenBSD
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/announcing_google_summer_of_code1" target="_blank" rel="nofollow noopener"&gt;NetBSD 2019 Google Summer of Code&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We are very happy to announce The NetBSD Foundation Google Summer of Code 2019 projects:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Akul Abhilash Pillai - Adapting TriforceAFL for NetBSD kernel fuzzing&lt;/li&gt;
&lt;li&gt;Manikishan Ghantasala - Add KNF (NetBSD style) clang-format configuration&lt;/li&gt;
&lt;li&gt;Siddharth Muralee - Enhancing Syzkaller support for NetBSD&lt;/li&gt;
&lt;li&gt;Surya P - Implementation of COMPAT_LINUX and COMPAT_NETBSD32 DRM ioctls support for NetBSD kernel&lt;/li&gt;
&lt;li&gt;Jason High - Incorporation of Argon2 Password Hashing Algorithm into NetBSD&lt;/li&gt;
&lt;li&gt;Saurav Prakash - Porting NetBSD to HummingBoard Pulse&lt;/li&gt;
&lt;li&gt;Naveen Narayanan - Porting WINE to amd64 architecture on NetBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The communiting bonding period - where students get in touch with mentors and community - started yesterday. The coding period will start from May 27 until August 19.&lt;br&gt;
Please welcome all our students and a big good luck to students and mentors! A big thank to Google and The NetBSD Foundation organization mentors and administrators! Looking forward to a great Google Summer of Code!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://www.grenadille.net/post/2019/05/09/Reducing-that-contention" target="_blank" rel="nofollow noopener"&gt;Reducing that contention&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The opening keynote at EuroBSDCon 2016 predicted the future 10 years of BSDs. Amongst all the funny previsions, gnn@FreeBSD said that by 2026 OpenBSD will have its first implementation of SMP. Almost 3 years after this talk, that sounds like a plausible forecast... Why? Where are we? What can we do? Let's dive into the issue!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;State of affairs&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Most of OpenBSD's kernel still runs under a single lock, ze KERNEL_LOCK(). That includes most of the syscalls, most of the interrupt handlers and most of the fault handlers. Most of them, not all of them. Meaning we have collected &amp;amp; fixed bugs while setting up infrastructures and examples. Now this lock remains the principal responsible for the spin % you can observe in top(1) and systat(1).&lt;br&gt;
I believe that we opted for a difficult hike when we decided to start removing this lock from the bottom. As a result many SCSI &amp;amp; Network interrupt handlers as well as all Audio &amp;amp; USB ones can be executed without big lock. On the other hand very few syscalls are already or almost ready to be unlocked, as we incorrectly say. This explains why basic primitives like tsleep(9), csignal() and selwakeup() are only receiving attention now that the top of the Network Stack is running (mostly) without big lock.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Next steps&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In the past years, most of our efforts have been invested into the Network Stack. As I already mentioned it should be ready to be parallelized. However think we should now concentrate on removing the KERNEL_LOCK(), even if the code paths aren't performance critical. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the Article for the rest of the post&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.reddit.com/r/openbsd_gaming/comments/btste9/fnaify_13_released_more_games_are_fnaify_run_now/" target="_blank" rel="nofollow noopener"&gt;fnaify 1.3 released - more games are "fnaify &amp;amp; run" now&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This release finally addresses some of the problems that prevent simple running of several games.&lt;br&gt;
This happens for example when an old FNA.dll library comes with the games that doesn't match the API of our native libraries like SDL2, OpenAL, or MojoShader anymore. Some of those cases can be fixed by simply dropping in a newer FNA.dll. fnaify now asks if FNA 17.12 should be automatically added if a known incompatible FNA version is found. You simply answer yes or no. &lt;/p&gt;

&lt;p&gt;Another blocker happens when the game expects to check the SteamAPI - either from a running Steam process, or a bundled steam_api library. OpenBSD 6.5-current now has steamworks-nosteam in ports, a stub library for Steamworks.NET that prevents games from crashing simply because an API function isn't found. The repo is here. fnaify now finds this library in /usr/local/share/steamstubs and uses it instead of the bundled (full) Steamworks.NET.dll.&lt;br&gt;
This may help with any games that use this layer to interact with the SteamAPI, mostly those that can only be obtained via Steam. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.openbsd.org/faq/current.html#r20190529" target="_blank" rel="nofollow noopener"&gt;vmctl(8): command line syntax changed&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The order of the arguments in the create, start, and stop commands of vmctl(8) has been changed to match a commonly expected style. Manual usage or scripting with vmctl must be adjusted to use the new syntax. &lt;br&gt;
For example, the old syntax looked like this:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# vmctl create disk.qcow2 -s 50G&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The new syntax specifies the command options before the argument:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# vmctl create -s 50G disk.qcow2&lt;/code&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/PackageNameClashProblem" target="_blank" rel="nofollow noopener"&gt;Something that Linux distributions should not do when packaging things&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Right now I am a bit unhappy at Fedora for a specific packaging situation, so let me tell you a little story of what I, as a system administrator, would really like distributions to not do.&lt;br&gt;
For reasons beyond the scope of this blog entry, I run a Prometheus and Grafana setup on both my home and office Fedora Linux machines (among other things, it gives me a place to test out various things involving them). When I set this up, I used the official upstream versions of both, because I needed to match what we are running (or would soon be).&lt;br&gt;
Recently, Fedora decided to package Grafana themselves (as a RPM), and they called this RPM package 'grafana'. Since the two different packages are different versions of the same thing as far as package management tools are concerned, Fedora basically took over the 'grafana' package name from Grafana. This caused my systems to offer to upgrade me from the Grafana.com 'grafana-6.1.5-1' package to the Fedora 'grafana-6.1.6-1.fc29' one, which I actually did after taking reasonable steps to make sure that the Fedora version of 6.1.6 was compatible with the file layouts and so on from the Grafana version of 6.1.5.&lt;br&gt;
Why is this a problem? It's simple. If you're going to take over a package name from the upstream, you should keep up with the upstream releases. If you take over a package name and don't keep up to date or keep up to date only sporadically, you cause all sorts of heartburn for system administrators who use the package. The least annoying future of this situation is that Fedora has abandoned Grafana at 6.1.6 and I am going to 'upgrade' it with the upstream 6.2.1, which will hopefully be a transparent replacement and not blow up in my face. The most annoying future is that Fedora and Grafana keep ping-ponging versions back and forth, which will make 'dnf upgrade' into a minefield (because it will frequently try to give me a 'grafana' upgrade that I don't want and that would be dangerous to accept). And of course this situation turns Fedora version upgrades into their own minefield, since now I risk an upgrade to Fedora 30 actually reverting the 'grafana' package version on me.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.nycbug.org:8080/pipermail/talk/2019-May/017885.html" target="_blank" rel="nofollow noopener"&gt;[talk] ZFS v UFS on APU2 msata SSD with FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.netbsd.org/releases/formal-8/NetBSD-8.1.html" target="_blank" rel="nofollow noopener"&gt;NetBSD 8.1 is out&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ctsrc/lazyboi" target="_blank" rel="nofollow noopener"&gt;lazyboi – the laziest possible way to send raw HTTP POST data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/shapr/markovkeyboard" target="_blank" rel="nofollow noopener"&gt;A Keyboard layout that changes by markov frequency&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://osgameclones.com/" target="_blank" rel="nofollow noopener"&gt;Open Source Game Clones&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eurobsdcon.org" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon program &amp;amp; registration open&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;John - &lt;a href="http://dpaste.com/3YTBQTX#wrap" target="_blank" rel="nofollow noopener"&gt;A segment idea&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Johnny - &lt;a href="http://dpaste.com/3WD0A25#wrap" target="_blank" rel="nofollow noopener"&gt;Audio only format please don't&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Alex - &lt;a href="http://dpaste.com/1RQF4QM#wrap" target="_blank" rel="nofollow noopener"&gt;Thanks and some Linux Snaps vs PBI feedback&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0302.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <content:encoded>
    <![CDATA[<p>DragonFlyBSD's kernel optimizations pay off, differences between OpenBSD and Linux, NetBSD 2019 Google Summer of Code project list, Reducing that contention, fnaify 1.3 released, vmctl(8): CLI syntax changes, and things that Linux distributions should not do when packaging.</p>

<h2>Headlines</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=dragonfly-55-threadripper&amp;num=1" target="_blank" rel="nofollow noopener">DragonFlyBSD's Kernel Optimizations Are Paying Off</a></h3>

<blockquote>
<p>DragonFlyBSD lead developer Matthew Dillon has been working on a big VM rework in the name of performance and other kernel improvements recently. Here is a look at how those DragonFlyBSD 5.5-DEVELOPMENT improvements are paying off compared to DragonFlyBSD 5.4 as well as FreeBSD 12 and five Linux distribution releases. With Dillon using an AMD Ryzen Threadripper system, we used that too for this round of BSD vs. Linux performance benchmarks.<br>
The work by Dillon on the VM overhaul and other changes (including more HAMMER2 file-system work) will ultimately culminate with the DragonFlyBSD 5.6 release (well, unless he opts for DragonFlyBSD 6.0 or so). These are benchmarks of the latest DragonFlyBSD 5.5-DEVELOPMENT daily ISO as of this week benchmarked across DragonFlyBSD 5.4.3 stable, FreeBSD 12.0, Ubuntu 19.04, Red Hat Enterprise Linux 8.0, Debian 9.9, Debian Buster, and CentOS 7 1810 as a wide variety of reference points both from newer and older Linux distributions. (As for no Clear Linux reference point for a speedy reference point, it currently has a regression with AMD + Samsung NVMe SSD support on some hardware, including this box, prohibiting the drive from coming up due to a presumed power management issue that is still being resolved.)<br>
With Matthew Dillon doing much of his development on an AMD Ryzen Threadripper system after he last year proclaimed the greatness of these AMD HEDT CPUs, for this round of testing I also used a Ryzen Threadripper 2990WX with 32 cores / 64 threads. Tests of other AMD/Intel hardware with DragonFlyBSD will come as the next stable release is near and all of the kernel work has settled down. For now it's mostly entertaining our own curiosity how well these DragonFlyBSD optimizations are paying off and how it's increasing the competition against FreeBSD 12 and Linux distributions.</p>

<hr>
</blockquote>

<h3><a href="https://cfenollosa.com/blog/what-are-the-differences-between-openbsd-and-linux.html" target="_blank" rel="nofollow noopener">What are the differences between OpenBSD and Linux?</a></h3>

<blockquote>
<p>Maybe you have been reading recently about the release of OpenBSD 6.5 and wonder, "What are the differences between Linux and OpenBSD?"<br>
I've also been there at some point in the past and these are my conclusions.<br>
They also apply, to some extent, to other BSDs. However, an important disclaimer applies to this article.<br>
This list is aimed at people who are used to Linux and are curious about OpenBSD. It is written to highlight the most important changes from their perspective, not the absolute most important changes from a technical standpoint.<br>
Please bear with me.</p>
</blockquote>

<ul>
<li>A terminal is a terminal is a terminal</li>
<li>Practical differences</li>
<li>Security and system administration</li>
<li>Why philosophical differences matter</li>
<li>So what do I choose?</li>
<li>How to try OpenBSD
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/announcing_google_summer_of_code1" target="_blank" rel="nofollow noopener">NetBSD 2019 Google Summer of Code</a></h3>

<blockquote>
<p>We are very happy to announce The NetBSD Foundation Google Summer of Code 2019 projects:</p>
</blockquote>

<ul>
<li>Akul Abhilash Pillai - Adapting TriforceAFL for NetBSD kernel fuzzing</li>
<li>Manikishan Ghantasala - Add KNF (NetBSD style) clang-format configuration</li>
<li>Siddharth Muralee - Enhancing Syzkaller support for NetBSD</li>
<li>Surya P - Implementation of COMPAT_LINUX and COMPAT_NETBSD32 DRM ioctls support for NetBSD kernel</li>
<li>Jason High - Incorporation of Argon2 Password Hashing Algorithm into NetBSD</li>
<li>Saurav Prakash - Porting NetBSD to HummingBoard Pulse</li>
<li>Naveen Narayanan - Porting WINE to amd64 architecture on NetBSD</li>
</ul>

<blockquote>
<p>The communiting bonding period - where students get in touch with mentors and community - started yesterday. The coding period will start from May 27 until August 19.<br>
Please welcome all our students and a big good luck to students and mentors! A big thank to Google and The NetBSD Foundation organization mentors and administrators! Looking forward to a great Google Summer of Code!</p>
</blockquote>

<hr>

<h3><a href="http://www.grenadille.net/post/2019/05/09/Reducing-that-contention" target="_blank" rel="nofollow noopener">Reducing that contention</a></h3>

<blockquote>
<p>The opening keynote at EuroBSDCon 2016 predicted the future 10 years of BSDs. Amongst all the funny previsions, gnn@FreeBSD said that by 2026 OpenBSD will have its first implementation of SMP. Almost 3 years after this talk, that sounds like a plausible forecast... Why? Where are we? What can we do? Let's dive into the issue!</p>
</blockquote>

<ul>
<li>State of affairs</li>
</ul>

<blockquote>
<p>Most of OpenBSD's kernel still runs under a single lock, ze KERNEL_LOCK(). That includes most of the syscalls, most of the interrupt handlers and most of the fault handlers. Most of them, not all of them. Meaning we have collected &amp; fixed bugs while setting up infrastructures and examples. Now this lock remains the principal responsible for the spin % you can observe in top(1) and systat(1).<br>
I believe that we opted for a difficult hike when we decided to start removing this lock from the bottom. As a result many SCSI &amp; Network interrupt handlers as well as all Audio &amp; USB ones can be executed without big lock. On the other hand very few syscalls are already or almost ready to be unlocked, as we incorrectly say. This explains why basic primitives like tsleep(9), csignal() and selwakeup() are only receiving attention now that the top of the Network Stack is running (mostly) without big lock.</p>
</blockquote>

<ul>
<li>Next steps</li>
</ul>

<blockquote>
<p>In the past years, most of our efforts have been invested into the Network Stack. As I already mentioned it should be ready to be parallelized. However think we should now concentrate on removing the KERNEL_LOCK(), even if the code paths aren't performance critical. </p>
</blockquote>

<ul>
<li>See the Article for the rest of the post</li>
</ul>

<hr>

<h3><a href="https://www.reddit.com/r/openbsd_gaming/comments/btste9/fnaify_13_released_more_games_are_fnaify_run_now/" target="_blank" rel="nofollow noopener">fnaify 1.3 released - more games are "fnaify &amp; run" now</a></h3>

<blockquote>
<p>This release finally addresses some of the problems that prevent simple running of several games.<br>
This happens for example when an old FNA.dll library comes with the games that doesn't match the API of our native libraries like SDL2, OpenAL, or MojoShader anymore. Some of those cases can be fixed by simply dropping in a newer FNA.dll. fnaify now asks if FNA 17.12 should be automatically added if a known incompatible FNA version is found. You simply answer yes or no. </p>

<p>Another blocker happens when the game expects to check the SteamAPI - either from a running Steam process, or a bundled steam_api library. OpenBSD 6.5-current now has steamworks-nosteam in ports, a stub library for Steamworks.NET that prevents games from crashing simply because an API function isn't found. The repo is here. fnaify now finds this library in /usr/local/share/steamstubs and uses it instead of the bundled (full) Steamworks.NET.dll.<br>
This may help with any games that use this layer to interact with the SteamAPI, mostly those that can only be obtained via Steam. </p>
</blockquote>

<h3><a href="https://www.openbsd.org/faq/current.html#r20190529" target="_blank" rel="nofollow noopener">vmctl(8): command line syntax changed</a></h3>

<blockquote>
<p>The order of the arguments in the create, start, and stop commands of vmctl(8) has been changed to match a commonly expected style. Manual usage or scripting with vmctl must be adjusted to use the new syntax. <br>
For example, the old syntax looked like this:</p>
</blockquote>

<p><code># vmctl create disk.qcow2 -s 50G</code></p>

<blockquote>
<p>The new syntax specifies the command options before the argument:</p>
</blockquote>

<p><code># vmctl create -s 50G disk.qcow2</code></p>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/PackageNameClashProblem" target="_blank" rel="nofollow noopener">Something that Linux distributions should not do when packaging things</a></h3>

<blockquote>
<p>Right now I am a bit unhappy at Fedora for a specific packaging situation, so let me tell you a little story of what I, as a system administrator, would really like distributions to not do.<br>
For reasons beyond the scope of this blog entry, I run a Prometheus and Grafana setup on both my home and office Fedora Linux machines (among other things, it gives me a place to test out various things involving them). When I set this up, I used the official upstream versions of both, because I needed to match what we are running (or would soon be).<br>
Recently, Fedora decided to package Grafana themselves (as a RPM), and they called this RPM package 'grafana'. Since the two different packages are different versions of the same thing as far as package management tools are concerned, Fedora basically took over the 'grafana' package name from Grafana. This caused my systems to offer to upgrade me from the Grafana.com 'grafana-6.1.5-1' package to the Fedora 'grafana-6.1.6-1.fc29' one, which I actually did after taking reasonable steps to make sure that the Fedora version of 6.1.6 was compatible with the file layouts and so on from the Grafana version of 6.1.5.<br>
Why is this a problem? It's simple. If you're going to take over a package name from the upstream, you should keep up with the upstream releases. If you take over a package name and don't keep up to date or keep up to date only sporadically, you cause all sorts of heartburn for system administrators who use the package. The least annoying future of this situation is that Fedora has abandoned Grafana at 6.1.6 and I am going to 'upgrade' it with the upstream 6.2.1, which will hopefully be a transparent replacement and not blow up in my face. The most annoying future is that Fedora and Grafana keep ping-ponging versions back and forth, which will make 'dnf upgrade' into a minefield (because it will frequently try to give me a 'grafana' upgrade that I don't want and that would be dangerous to accept). And of course this situation turns Fedora version upgrades into their own minefield, since now I risk an upgrade to Fedora 30 actually reverting the 'grafana' package version on me.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.nycbug.org:8080/pipermail/talk/2019-May/017885.html" target="_blank" rel="nofollow noopener">[talk] ZFS v UFS on APU2 msata SSD with FreeBSD</a></li>
<li><a href="http://www.netbsd.org/releases/formal-8/NetBSD-8.1.html" target="_blank" rel="nofollow noopener">NetBSD 8.1 is out</a></li>
<li><a href="https://github.com/ctsrc/lazyboi" target="_blank" rel="nofollow noopener">lazyboi – the laziest possible way to send raw HTTP POST data</a></li>
<li><a href="https://github.com/shapr/markovkeyboard" target="_blank" rel="nofollow noopener">A Keyboard layout that changes by markov frequency</a></li>
<li><a href="https://osgameclones.com/" target="_blank" rel="nofollow noopener">Open Source Game Clones</a></li>
<li><a href="https://eurobsdcon.org" target="_blank" rel="nofollow noopener">EuroBSDcon program &amp; registration open</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>John - <a href="http://dpaste.com/3YTBQTX#wrap" target="_blank" rel="nofollow noopener">A segment idea</a></li>
<li>Johnny - <a href="http://dpaste.com/3WD0A25#wrap" target="_blank" rel="nofollow noopener">Audio only format please don't</a></li>
<li>Alex - <a href="http://dpaste.com/1RQF4QM#wrap" target="_blank" rel="nofollow noopener">Thanks and some Linux Snaps vs PBI feedback</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0302.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>DragonFlyBSD's kernel optimizations pay off, differences between OpenBSD and Linux, NetBSD 2019 Google Summer of Code project list, Reducing that contention, fnaify 1.3 released, vmctl(8): CLI syntax changes, and things that Linux distributions should not do when packaging.</p>

<h2>Headlines</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=dragonfly-55-threadripper&amp;num=1" target="_blank" rel="nofollow noopener">DragonFlyBSD's Kernel Optimizations Are Paying Off</a></h3>

<blockquote>
<p>DragonFlyBSD lead developer Matthew Dillon has been working on a big VM rework in the name of performance and other kernel improvements recently. Here is a look at how those DragonFlyBSD 5.5-DEVELOPMENT improvements are paying off compared to DragonFlyBSD 5.4 as well as FreeBSD 12 and five Linux distribution releases. With Dillon using an AMD Ryzen Threadripper system, we used that too for this round of BSD vs. Linux performance benchmarks.<br>
The work by Dillon on the VM overhaul and other changes (including more HAMMER2 file-system work) will ultimately culminate with the DragonFlyBSD 5.6 release (well, unless he opts for DragonFlyBSD 6.0 or so). These are benchmarks of the latest DragonFlyBSD 5.5-DEVELOPMENT daily ISO as of this week benchmarked across DragonFlyBSD 5.4.3 stable, FreeBSD 12.0, Ubuntu 19.04, Red Hat Enterprise Linux 8.0, Debian 9.9, Debian Buster, and CentOS 7 1810 as a wide variety of reference points both from newer and older Linux distributions. (As for no Clear Linux reference point for a speedy reference point, it currently has a regression with AMD + Samsung NVMe SSD support on some hardware, including this box, prohibiting the drive from coming up due to a presumed power management issue that is still being resolved.)<br>
With Matthew Dillon doing much of his development on an AMD Ryzen Threadripper system after he last year proclaimed the greatness of these AMD HEDT CPUs, for this round of testing I also used a Ryzen Threadripper 2990WX with 32 cores / 64 threads. Tests of other AMD/Intel hardware with DragonFlyBSD will come as the next stable release is near and all of the kernel work has settled down. For now it's mostly entertaining our own curiosity how well these DragonFlyBSD optimizations are paying off and how it's increasing the competition against FreeBSD 12 and Linux distributions.</p>

<hr>
</blockquote>

<h3><a href="https://cfenollosa.com/blog/what-are-the-differences-between-openbsd-and-linux.html" target="_blank" rel="nofollow noopener">What are the differences between OpenBSD and Linux?</a></h3>

<blockquote>
<p>Maybe you have been reading recently about the release of OpenBSD 6.5 and wonder, "What are the differences between Linux and OpenBSD?"<br>
I've also been there at some point in the past and these are my conclusions.<br>
They also apply, to some extent, to other BSDs. However, an important disclaimer applies to this article.<br>
This list is aimed at people who are used to Linux and are curious about OpenBSD. It is written to highlight the most important changes from their perspective, not the absolute most important changes from a technical standpoint.<br>
Please bear with me.</p>
</blockquote>

<ul>
<li>A terminal is a terminal is a terminal</li>
<li>Practical differences</li>
<li>Security and system administration</li>
<li>Why philosophical differences matter</li>
<li>So what do I choose?</li>
<li>How to try OpenBSD
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/announcing_google_summer_of_code1" target="_blank" rel="nofollow noopener">NetBSD 2019 Google Summer of Code</a></h3>

<blockquote>
<p>We are very happy to announce The NetBSD Foundation Google Summer of Code 2019 projects:</p>
</blockquote>

<ul>
<li>Akul Abhilash Pillai - Adapting TriforceAFL for NetBSD kernel fuzzing</li>
<li>Manikishan Ghantasala - Add KNF (NetBSD style) clang-format configuration</li>
<li>Siddharth Muralee - Enhancing Syzkaller support for NetBSD</li>
<li>Surya P - Implementation of COMPAT_LINUX and COMPAT_NETBSD32 DRM ioctls support for NetBSD kernel</li>
<li>Jason High - Incorporation of Argon2 Password Hashing Algorithm into NetBSD</li>
<li>Saurav Prakash - Porting NetBSD to HummingBoard Pulse</li>
<li>Naveen Narayanan - Porting WINE to amd64 architecture on NetBSD</li>
</ul>

<blockquote>
<p>The communiting bonding period - where students get in touch with mentors and community - started yesterday. The coding period will start from May 27 until August 19.<br>
Please welcome all our students and a big good luck to students and mentors! A big thank to Google and The NetBSD Foundation organization mentors and administrators! Looking forward to a great Google Summer of Code!</p>
</blockquote>

<hr>

<h3><a href="http://www.grenadille.net/post/2019/05/09/Reducing-that-contention" target="_blank" rel="nofollow noopener">Reducing that contention</a></h3>

<blockquote>
<p>The opening keynote at EuroBSDCon 2016 predicted the future 10 years of BSDs. Amongst all the funny previsions, gnn@FreeBSD said that by 2026 OpenBSD will have its first implementation of SMP. Almost 3 years after this talk, that sounds like a plausible forecast... Why? Where are we? What can we do? Let's dive into the issue!</p>
</blockquote>

<ul>
<li>State of affairs</li>
</ul>

<blockquote>
<p>Most of OpenBSD's kernel still runs under a single lock, ze KERNEL_LOCK(). That includes most of the syscalls, most of the interrupt handlers and most of the fault handlers. Most of them, not all of them. Meaning we have collected &amp; fixed bugs while setting up infrastructures and examples. Now this lock remains the principal responsible for the spin % you can observe in top(1) and systat(1).<br>
I believe that we opted for a difficult hike when we decided to start removing this lock from the bottom. As a result many SCSI &amp; Network interrupt handlers as well as all Audio &amp; USB ones can be executed without big lock. On the other hand very few syscalls are already or almost ready to be unlocked, as we incorrectly say. This explains why basic primitives like tsleep(9), csignal() and selwakeup() are only receiving attention now that the top of the Network Stack is running (mostly) without big lock.</p>
</blockquote>

<ul>
<li>Next steps</li>
</ul>

<blockquote>
<p>In the past years, most of our efforts have been invested into the Network Stack. As I already mentioned it should be ready to be parallelized. However think we should now concentrate on removing the KERNEL_LOCK(), even if the code paths aren't performance critical. </p>
</blockquote>

<ul>
<li>See the Article for the rest of the post</li>
</ul>

<hr>

<h3><a href="https://www.reddit.com/r/openbsd_gaming/comments/btste9/fnaify_13_released_more_games_are_fnaify_run_now/" target="_blank" rel="nofollow noopener">fnaify 1.3 released - more games are "fnaify &amp; run" now</a></h3>

<blockquote>
<p>This release finally addresses some of the problems that prevent simple running of several games.<br>
This happens for example when an old FNA.dll library comes with the games that doesn't match the API of our native libraries like SDL2, OpenAL, or MojoShader anymore. Some of those cases can be fixed by simply dropping in a newer FNA.dll. fnaify now asks if FNA 17.12 should be automatically added if a known incompatible FNA version is found. You simply answer yes or no. </p>

<p>Another blocker happens when the game expects to check the SteamAPI - either from a running Steam process, or a bundled steam_api library. OpenBSD 6.5-current now has steamworks-nosteam in ports, a stub library for Steamworks.NET that prevents games from crashing simply because an API function isn't found. The repo is here. fnaify now finds this library in /usr/local/share/steamstubs and uses it instead of the bundled (full) Steamworks.NET.dll.<br>
This may help with any games that use this layer to interact with the SteamAPI, mostly those that can only be obtained via Steam. </p>
</blockquote>

<h3><a href="https://www.openbsd.org/faq/current.html#r20190529" target="_blank" rel="nofollow noopener">vmctl(8): command line syntax changed</a></h3>

<blockquote>
<p>The order of the arguments in the create, start, and stop commands of vmctl(8) has been changed to match a commonly expected style. Manual usage or scripting with vmctl must be adjusted to use the new syntax. <br>
For example, the old syntax looked like this:</p>
</blockquote>

<p><code># vmctl create disk.qcow2 -s 50G</code></p>

<blockquote>
<p>The new syntax specifies the command options before the argument:</p>
</blockquote>

<p><code># vmctl create -s 50G disk.qcow2</code></p>

<hr>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/linux/PackageNameClashProblem" target="_blank" rel="nofollow noopener">Something that Linux distributions should not do when packaging things</a></h3>

<blockquote>
<p>Right now I am a bit unhappy at Fedora for a specific packaging situation, so let me tell you a little story of what I, as a system administrator, would really like distributions to not do.<br>
For reasons beyond the scope of this blog entry, I run a Prometheus and Grafana setup on both my home and office Fedora Linux machines (among other things, it gives me a place to test out various things involving them). When I set this up, I used the official upstream versions of both, because I needed to match what we are running (or would soon be).<br>
Recently, Fedora decided to package Grafana themselves (as a RPM), and they called this RPM package 'grafana'. Since the two different packages are different versions of the same thing as far as package management tools are concerned, Fedora basically took over the 'grafana' package name from Grafana. This caused my systems to offer to upgrade me from the Grafana.com 'grafana-6.1.5-1' package to the Fedora 'grafana-6.1.6-1.fc29' one, which I actually did after taking reasonable steps to make sure that the Fedora version of 6.1.6 was compatible with the file layouts and so on from the Grafana version of 6.1.5.<br>
Why is this a problem? It's simple. If you're going to take over a package name from the upstream, you should keep up with the upstream releases. If you take over a package name and don't keep up to date or keep up to date only sporadically, you cause all sorts of heartburn for system administrators who use the package. The least annoying future of this situation is that Fedora has abandoned Grafana at 6.1.6 and I am going to 'upgrade' it with the upstream 6.2.1, which will hopefully be a transparent replacement and not blow up in my face. The most annoying future is that Fedora and Grafana keep ping-ponging versions back and forth, which will make 'dnf upgrade' into a minefield (because it will frequently try to give me a 'grafana' upgrade that I don't want and that would be dangerous to accept). And of course this situation turns Fedora version upgrades into their own minefield, since now I risk an upgrade to Fedora 30 actually reverting the 'grafana' package version on me.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.nycbug.org:8080/pipermail/talk/2019-May/017885.html" target="_blank" rel="nofollow noopener">[talk] ZFS v UFS on APU2 msata SSD with FreeBSD</a></li>
<li><a href="http://www.netbsd.org/releases/formal-8/NetBSD-8.1.html" target="_blank" rel="nofollow noopener">NetBSD 8.1 is out</a></li>
<li><a href="https://github.com/ctsrc/lazyboi" target="_blank" rel="nofollow noopener">lazyboi – the laziest possible way to send raw HTTP POST data</a></li>
<li><a href="https://github.com/shapr/markovkeyboard" target="_blank" rel="nofollow noopener">A Keyboard layout that changes by markov frequency</a></li>
<li><a href="https://osgameclones.com/" target="_blank" rel="nofollow noopener">Open Source Game Clones</a></li>
<li><a href="https://eurobsdcon.org" target="_blank" rel="nofollow noopener">EuroBSDcon program &amp; registration open</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>John - <a href="http://dpaste.com/3YTBQTX#wrap" target="_blank" rel="nofollow noopener">A segment idea</a></li>
<li>Johnny - <a href="http://dpaste.com/3WD0A25#wrap" target="_blank" rel="nofollow noopener">Audio only format please don't</a></li>
<li>Alex - <a href="http://dpaste.com/1RQF4QM#wrap" target="_blank" rel="nofollow noopener">Thanks and some Linux Snaps vs PBI feedback</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a>
***</li>
</ul>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0302.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>301: GPU Passthrough</title>
  <link>https://www.bsdnow.tv/301</link>
  <guid isPermaLink="false">d11a1228-2ac2-4e13-9d11-7a4c5a2dc0c1</guid>
  <pubDate>Wed, 05 Jun 2019 23:15:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d11a1228-2ac2-4e13-9d11-7a4c5a2dc0c1.mp3" length="32812013" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>GPU passthrough on bhyve, confusion with used/free disk space on ZFS, OmniOS Community Edition, pfSense 2.4.4 Release p3, NetBSD 8.1 RC1, FreeNAS as your Server OS, and more.</itunes:subtitle>
  <itunes:duration>45:34</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>&lt;p&gt;GPU passthrough on bhyve, confusion with used/free disk space on ZFS, OmniOS Community Edition, pfSense 2.4.4 Release p3, NetBSD 8.1 RC1, FreeNAS as your Server OS, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://passthroughpo.st/gpu-passthrough-reported-working-on-bhyve/" target="_blank" rel="nofollow noopener"&gt;GPU Passthrough Reported Working on Bhyve&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Normally we cover news focused on KVM and sometimes Xen, but something very special has happened with their younger cousin in the BSD world, Bhyve.
  For those that don’t know, Bhyve (pronounced bee-hive) is the native hypervisor in FreeBSD. It has many powerful features, but one that’s been a pain point for some years now is VGA passthrough. Consumer GPUs have not been useable until very recently despite limited success with enterprise cards.
  However, Twitter user Michael Yuji found a workaround that enables passing through a consumer card to any *nix system configured to use X11:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;https://twitter.com/michael_yuji/status/1127136891365658625&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;All you have to do is add a line pointing the X server to the Bus ID of the passed card and the VM will boot, with acceleration and everything. He theorizes that this may not be possible on windows because of the way it looks for display devices, but it’s a solid start.
  As soon as development surrounding VGA passthrough matures on Bhyve, it will become a very attractive alternative to more common tools like Hyper-V and Qemu, because it makes many powerful features available in the host system like jails, boot environments, BSD networking, and tight ZFS integration. For example, you could potentially run your Router, NAS, preferred workstation OS and any number of other things in one box, and only have to spin up a single VM because of the flexibility afforded by jails over Linux-based containers.
  The user who found this workaround also announced they’d be writing it up at some point, so stay tuned for details on the process.
  It’s been slow going on Bhyve passthrough development for a while, but this new revelation is encouraging. We’ll be closely monitoring the situation and report on any other happenings.&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://oshogbo.vexillium.org/blog/65/" target="_blank" rel="nofollow noopener"&gt;Confusion with used/free disk space in ZFS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;I use ZFS extensively. ZFS is my favorite file system. I write articles and give lectures about it. I work with it every day. In traditional file systems we use df(1) to determine free space on partitions. We can also use du(1) to count the size of the files in the directory. But it’s different on ZFS and this is the most confusing thing EVER. I always forget which tool reports what disk space usage! Every time somebody asks me, I need to google it. For this reason I decided to document it here - for myself - because if I can’t remember it at least I will not need to google it, as it will be on my blog, but maybe you will also benefit from this blog post if you have the same problem or you are starting your journey with ZFS.&lt;/p&gt;
  
  &lt;p&gt;The understanding of how ZFS is uses space and how to determine which value means what is a crucial thing. I hope thanks to this article I will finally remember it!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://omniosce.org/article/release-030.html" target="_blank" rel="nofollow noopener"&gt;OmniOS Community Edition&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;The OmniOS Community Edition Association is proud to announce the general availability of OmniOS - r151030.
  OmniOS is published according to a 6-month release cycle, r151030 LTS takes over from r151028, published in November 2018; and since it is a LTS release it also takes over from r151022. The r151030 LTS release will be supported for 3 Years. It is the first LTS release published by the OmniOS CE Association since taking over the reins from OmniTI in 2017. The next LTS release is scheduled for May 2021. The old stable r151026 release is now end-of-life. See the release schedule for further details.
  This is only a small selection of the new features, and bug fixes in the new release; review the release notes for full details.
  If you upgrade from r22 and want to see all new features added since then, make sure to also read the release notes for r24, r26 and r28.
  The OmniOS team and the illumos community have been very active in creating new features and improving existing ones over the last 6 months.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.netgate.com/blog/pfsense-2-4-4-release-p3-now-available.html" target="_blank" rel="nofollow noopener"&gt;pfSense 2.4.4 Release p3 is available&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;We are pleased to announce the release of pfSense® software version 2.4.4-p3, now available for new installations and upgrades!
  pfSense software version 2.4.4-p3 is a maintenance release, bringing a number of security enhancements as well as a handful of fixes for issues present in the 2.4.4-p2 release.
  pfSense 2.4.4-RELEASE-p3 updates and installation images are available now!
  To see a complete list of changes and find more detail, see the Release Notes.
  We had hoped to bring you this release a few days earlier, but given the announcement last Tuesday of the Intel Microarchitectural Data Sampling (MDS) issue, we did not have sufficient time to fully incorporate those corrections and properly test for release on Thursday. We felt that it was worth delaying for a few days, rather than making multiple releases within a week.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Upgrade Notes&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Due to the significant nature of the changes in 2.4.4 and later, 
  warnings and error messages, particularly from PHP and package updates, are likely to occur during the upgrade process. In nearly all cases these errors are a harmless side effect of the changes between FreeBSD 11.1 and 11.2 and between PHP 5.6 and PHP 7.2.
  Always take a backup of the firewall configuration prior to any major change to the firewall, such as an upgrade.
  Do not update packages before upgrading pfSense! Either remove all packages or do not update packages before running the upgrade.
  The upgrade will take several minutes to complete. The exact time varies based on download speed, hardware speed, and other factors such installed packages. Be patient during the upgrade and allow the firewall enough time to complete the entire process. After the update packages finish downloading it could take 10-20 minutes or more until the upgrade process ends. The firewall may reboot several times during the upgrade process. Monitor the upgrade from the firewall console for the most accurate view.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.netbsd.org/releases/formal-8/NetBSD-8.1.html" target="_blank" rel="nofollow noopener"&gt;NetBSD 8.1 RC1 is out&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;The NetBSD Project is pleased to announce NetBSD 8.1, the first update of the NetBSD 8 release branch. It represents a selected subset of fixes deemed important for security or stability reasons, as well as new features and enhancements.&lt;/p&gt;
  
  &lt;p&gt;Some highlights of the 8.1 release are:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;x86: Mitigation for INTEL-SA-00233 (MDS)&lt;/li&gt;

&lt;li&gt;Various local user kernel data leaks fixed.&lt;/li&gt;

&lt;li&gt;x86: new rc.conf(5) setting smtoff to disable Simultaneous Multi-Threading&lt;/li&gt;

&lt;li&gt;Various network driver fixes and improvements.&lt;/li&gt;

&lt;li&gt;Fixes for thread local storage (TLS) in position independent executables (PIE).&lt;/li&gt;

&lt;li&gt;Fixes to reproducible builds.&lt;/li&gt;

&lt;li&gt;Fixed a performance regression in tmpfs.&lt;/li&gt;

&lt;li&gt;DRM/KMS improvements.&lt;/li&gt;

&lt;li&gt;bwfm(4) wireless driver for Broadcom FullMAC PCI and USB devices added.&lt;/li&gt;

&lt;li&gt;Various sh(1) fixes.&lt;/li&gt;

&lt;li&gt;mfii(4) SAS driver added.&lt;/li&gt;

&lt;li&gt;hcpcd(8) updated to 7.2.2&lt;/li&gt;

&lt;li&gt;httpd(8) updated.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/freenas-as-your-server-os/" target="_blank" rel="nofollow noopener"&gt;FreeNAS as your Server OS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;What if you could have a server OS that had built in RAID, NAS and SAN functionality, and could manage packages, containers and VMs in a GUI? What if that server OS was also free to download and install? Wouldn’t that be kind of awesome? Wouldn’t that be FreeNAS?
  FreeNAS is the world’s number one, open source storage OS, but it also comes equipped with all the jails, plugins, and VMs you need to run additional server-level services for things like email and web site hosting. File, Block, and even Object storage is all built-in and can be enabled with a few clicks. The ZFS file system scales to more drives than you could ever buy, with no limits for dataset sizes, snapshots, and restores.
  FreeNAS is also 100% FreeBSD. This is the OS used in the Netflix CDN, your PS4, and the basis for iOS. Set up a jail and get started downloading packages like Apache or NGINX for web hosting or Postfix for email service.
  Just released, our new TrueCommand management platform also streamlines alerts and enables multi-system monitoring.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.babaei.net/blog/keep-crashing-daemons-running-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Keep Crashing Daemons Running on FreeBSD&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://old.reddit.com/r/freebsd/comments/btksgf/look_what_i_found_today_my_first_set_of_bsd_cds/" target="_blank" rel="nofollow noopener"&gt;Look what I found today... my first set of BSD CDs...&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://wiki.netbsd.org/security/intel_mds/" target="_blank" rel="nofollow noopener"&gt;NetBSD - Intel MDS&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2019-May/091227.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.3-BETA2 -- Please test!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Anthony - &lt;a href="http://dpaste.com/33S61HH#wrap" target="_blank" rel="nofollow noopener"&gt;Question&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Guntbert - &lt;a href="http://dpaste.com/0NDACM2" target="_blank" rel="nofollow noopener"&gt;Podcast&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Guillaume - &lt;a href="http://dpaste.com/0N3Q9TN" target="_blank" rel="nofollow noopener"&gt;Another suggestion for Ales from Serbia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0301.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, omniOS, pfsense, p3</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>GPU passthrough on bhyve, confusion with used/free disk space on ZFS, OmniOS Community Edition, pfSense 2.4.4 Release p3, NetBSD 8.1 RC1, FreeNAS as your Server OS, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://passthroughpo.st/gpu-passthrough-reported-working-on-bhyve/" target="_blank" rel="nofollow noopener">GPU Passthrough Reported Working on Bhyve</a></h3>

<blockquote>
  <p>Normally we cover news focused on KVM and sometimes Xen, but something very special has happened with their younger cousin in the BSD world, Bhyve.
  For those that don’t know, Bhyve (pronounced bee-hive) is the native hypervisor in FreeBSD. It has many powerful features, but one that’s been a pain point for some years now is VGA passthrough. Consumer GPUs have not been useable until very recently despite limited success with enterprise cards.
  However, Twitter user Michael Yuji found a workaround that enables passing through a consumer card to any *nix system configured to use X11:</p>
</blockquote>

<ul>
<li>https://twitter.com/michael_yuji/status/1127136891365658625</li>
</ul>

<blockquote>
  <p>All you have to do is add a line pointing the X server to the Bus ID of the passed card and the VM will boot, with acceleration and everything. He theorizes that this may not be possible on windows because of the way it looks for display devices, but it’s a solid start.
  As soon as development surrounding VGA passthrough matures on Bhyve, it will become a very attractive alternative to more common tools like Hyper-V and Qemu, because it makes many powerful features available in the host system like jails, boot environments, BSD networking, and tight ZFS integration. For example, you could potentially run your Router, NAS, preferred workstation OS and any number of other things in one box, and only have to spin up a single VM because of the flexibility afforded by jails over Linux-based containers.
  The user who found this workaround also announced they’d be writing it up at some point, so stay tuned for details on the process.
  It’s been slow going on Bhyve passthrough development for a while, but this new revelation is encouraging. We’ll be closely monitoring the situation and report on any other happenings.</p>
  
  <hr>
</blockquote>

<h3><a href="https://oshogbo.vexillium.org/blog/65/" target="_blank" rel="nofollow noopener">Confusion with used/free disk space in ZFS</a></h3>

<blockquote>
  <p>I use ZFS extensively. ZFS is my favorite file system. I write articles and give lectures about it. I work with it every day. In traditional file systems we use df(1) to determine free space on partitions. We can also use du(1) to count the size of the files in the directory. But it’s different on ZFS and this is the most confusing thing EVER. I always forget which tool reports what disk space usage! Every time somebody asks me, I need to google it. For this reason I decided to document it here - for myself - because if I can’t remember it at least I will not need to google it, as it will be on my blog, but maybe you will also benefit from this blog post if you have the same problem or you are starting your journey with ZFS.</p>
  
  <p>The understanding of how ZFS is uses space and how to determine which value means what is a crucial thing. I hope thanks to this article I will finally remember it!</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://omniosce.org/article/release-030.html" target="_blank" rel="nofollow noopener">OmniOS Community Edition</a></h3>

<blockquote>
  <p>The OmniOS Community Edition Association is proud to announce the general availability of OmniOS - r151030.
  OmniOS is published according to a 6-month release cycle, r151030 LTS takes over from r151028, published in November 2018; and since it is a LTS release it also takes over from r151022. The r151030 LTS release will be supported for 3 Years. It is the first LTS release published by the OmniOS CE Association since taking over the reins from OmniTI in 2017. The next LTS release is scheduled for May 2021. The old stable r151026 release is now end-of-life. See the release schedule for further details.
  This is only a small selection of the new features, and bug fixes in the new release; review the release notes for full details.
  If you upgrade from r22 and want to see all new features added since then, make sure to also read the release notes for r24, r26 and r28.
  The OmniOS team and the illumos community have been very active in creating new features and improving existing ones over the last 6 months.</p>
</blockquote>

<hr>

<h3><a href="https://www.netgate.com/blog/pfsense-2-4-4-release-p3-now-available.html" target="_blank" rel="nofollow noopener">pfSense 2.4.4 Release p3 is available</a></h3>

<blockquote>
  <p>We are pleased to announce the release of pfSense® software version 2.4.4-p3, now available for new installations and upgrades!
  pfSense software version 2.4.4-p3 is a maintenance release, bringing a number of security enhancements as well as a handful of fixes for issues present in the 2.4.4-p2 release.
  pfSense 2.4.4-RELEASE-p3 updates and installation images are available now!
  To see a complete list of changes and find more detail, see the Release Notes.
  We had hoped to bring you this release a few days earlier, but given the announcement last Tuesday of the Intel Microarchitectural Data Sampling (MDS) issue, we did not have sufficient time to fully incorporate those corrections and properly test for release on Thursday. We felt that it was worth delaying for a few days, rather than making multiple releases within a week.</p>
</blockquote>

<ul>
<li>Upgrade Notes</li>
</ul>

<blockquote>
  <p>Due to the significant nature of the changes in 2.4.4 and later, 
  warnings and error messages, particularly from PHP and package updates, are likely to occur during the upgrade process. In nearly all cases these errors are a harmless side effect of the changes between FreeBSD 11.1 and 11.2 and between PHP 5.6 and PHP 7.2.
  Always take a backup of the firewall configuration prior to any major change to the firewall, such as an upgrade.
  Do not update packages before upgrading pfSense! Either remove all packages or do not update packages before running the upgrade.
  The upgrade will take several minutes to complete. The exact time varies based on download speed, hardware speed, and other factors such installed packages. Be patient during the upgrade and allow the firewall enough time to complete the entire process. After the update packages finish downloading it could take 10-20 minutes or more until the upgrade process ends. The firewall may reboot several times during the upgrade process. Monitor the upgrade from the firewall console for the most accurate view.</p>
</blockquote>

<hr>

<h3><a href="https://www.netbsd.org/releases/formal-8/NetBSD-8.1.html" target="_blank" rel="nofollow noopener">NetBSD 8.1 RC1 is out</a></h3>

<blockquote>
  <p>The NetBSD Project is pleased to announce NetBSD 8.1, the first update of the NetBSD 8 release branch. It represents a selected subset of fixes deemed important for security or stability reasons, as well as new features and enhancements.</p>
  
  <p>Some highlights of the 8.1 release are:</p>
</blockquote>

<ul>
<li>x86: Mitigation for INTEL-SA-00233 (MDS)</li>

<li>Various local user kernel data leaks fixed.</li>

<li>x86: new rc.conf(5) setting smtoff to disable Simultaneous Multi-Threading</li>

<li>Various network driver fixes and improvements.</li>

<li>Fixes for thread local storage (TLS) in position independent executables (PIE).</li>

<li>Fixes to reproducible builds.</li>

<li>Fixed a performance regression in tmpfs.</li>

<li>DRM/KMS improvements.</li>

<li>bwfm(4) wireless driver for Broadcom FullMAC PCI and USB devices added.</li>

<li>Various sh(1) fixes.</li>

<li>mfii(4) SAS driver added.</li>

<li>hcpcd(8) updated to 7.2.2</li>

<li>httpd(8) updated.</li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/freenas-as-your-server-os/" target="_blank" rel="nofollow noopener">FreeNAS as your Server OS</a></h3>

<blockquote>
  <p>What if you could have a server OS that had built in RAID, NAS and SAN functionality, and could manage packages, containers and VMs in a GUI? What if that server OS was also free to download and install? Wouldn’t that be kind of awesome? Wouldn’t that be FreeNAS?
  FreeNAS is the world’s number one, open source storage OS, but it also comes equipped with all the jails, plugins, and VMs you need to run additional server-level services for things like email and web site hosting. File, Block, and even Object storage is all built-in and can be enabled with a few clicks. The ZFS file system scales to more drives than you could ever buy, with no limits for dataset sizes, snapshots, and restores.
  FreeNAS is also 100% FreeBSD. This is the OS used in the Netflix CDN, your PS4, and the basis for iOS. Set up a jail and get started downloading packages like Apache or NGINX for web hosting or Postfix for email service.
  Just released, our new TrueCommand management platform also streamlines alerts and enables multi-system monitoring.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.babaei.net/blog/keep-crashing-daemons-running-on-freebsd/" target="_blank" rel="nofollow noopener">Keep Crashing Daemons Running on FreeBSD</a></li>

<li><a href="https://old.reddit.com/r/freebsd/comments/btksgf/look_what_i_found_today_my_first_set_of_bsd_cds/" target="_blank" rel="nofollow noopener">Look what I found today... my first set of BSD CDs...</a></li>

<li><a href="https://wiki.netbsd.org/security/intel_mds/" target="_blank" rel="nofollow noopener">NetBSD - Intel MDS</a></li>

<li><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2019-May/091227.html" target="_blank" rel="nofollow noopener">FreeBSD 11.3-BETA2 -- Please test!</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Anthony - <a href="http://dpaste.com/33S61HH#wrap" target="_blank" rel="nofollow noopener">Question</a></li>

<li>Guntbert - <a href="http://dpaste.com/0NDACM2" target="_blank" rel="nofollow noopener">Podcast</a></li>

<li>Guillaume - <a href="http://dpaste.com/0N3Q9TN" target="_blank" rel="nofollow noopener">Another suggestion for Ales from Serbia</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0301.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>GPU passthrough on bhyve, confusion with used/free disk space on ZFS, OmniOS Community Edition, pfSense 2.4.4 Release p3, NetBSD 8.1 RC1, FreeNAS as your Server OS, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://passthroughpo.st/gpu-passthrough-reported-working-on-bhyve/" target="_blank" rel="nofollow noopener">GPU Passthrough Reported Working on Bhyve</a></h3>

<blockquote>
  <p>Normally we cover news focused on KVM and sometimes Xen, but something very special has happened with their younger cousin in the BSD world, Bhyve.
  For those that don’t know, Bhyve (pronounced bee-hive) is the native hypervisor in FreeBSD. It has many powerful features, but one that’s been a pain point for some years now is VGA passthrough. Consumer GPUs have not been useable until very recently despite limited success with enterprise cards.
  However, Twitter user Michael Yuji found a workaround that enables passing through a consumer card to any *nix system configured to use X11:</p>
</blockquote>

<ul>
<li>https://twitter.com/michael_yuji/status/1127136891365658625</li>
</ul>

<blockquote>
  <p>All you have to do is add a line pointing the X server to the Bus ID of the passed card and the VM will boot, with acceleration and everything. He theorizes that this may not be possible on windows because of the way it looks for display devices, but it’s a solid start.
  As soon as development surrounding VGA passthrough matures on Bhyve, it will become a very attractive alternative to more common tools like Hyper-V and Qemu, because it makes many powerful features available in the host system like jails, boot environments, BSD networking, and tight ZFS integration. For example, you could potentially run your Router, NAS, preferred workstation OS and any number of other things in one box, and only have to spin up a single VM because of the flexibility afforded by jails over Linux-based containers.
  The user who found this workaround also announced they’d be writing it up at some point, so stay tuned for details on the process.
  It’s been slow going on Bhyve passthrough development for a while, but this new revelation is encouraging. We’ll be closely monitoring the situation and report on any other happenings.</p>
  
  <hr>
</blockquote>

<h3><a href="https://oshogbo.vexillium.org/blog/65/" target="_blank" rel="nofollow noopener">Confusion with used/free disk space in ZFS</a></h3>

<blockquote>
  <p>I use ZFS extensively. ZFS is my favorite file system. I write articles and give lectures about it. I work with it every day. In traditional file systems we use df(1) to determine free space on partitions. We can also use du(1) to count the size of the files in the directory. But it’s different on ZFS and this is the most confusing thing EVER. I always forget which tool reports what disk space usage! Every time somebody asks me, I need to google it. For this reason I decided to document it here - for myself - because if I can’t remember it at least I will not need to google it, as it will be on my blog, but maybe you will also benefit from this blog post if you have the same problem or you are starting your journey with ZFS.</p>
  
  <p>The understanding of how ZFS is uses space and how to determine which value means what is a crucial thing. I hope thanks to this article I will finally remember it!</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://omniosce.org/article/release-030.html" target="_blank" rel="nofollow noopener">OmniOS Community Edition</a></h3>

<blockquote>
  <p>The OmniOS Community Edition Association is proud to announce the general availability of OmniOS - r151030.
  OmniOS is published according to a 6-month release cycle, r151030 LTS takes over from r151028, published in November 2018; and since it is a LTS release it also takes over from r151022. The r151030 LTS release will be supported for 3 Years. It is the first LTS release published by the OmniOS CE Association since taking over the reins from OmniTI in 2017. The next LTS release is scheduled for May 2021. The old stable r151026 release is now end-of-life. See the release schedule for further details.
  This is only a small selection of the new features, and bug fixes in the new release; review the release notes for full details.
  If you upgrade from r22 and want to see all new features added since then, make sure to also read the release notes for r24, r26 and r28.
  The OmniOS team and the illumos community have been very active in creating new features and improving existing ones over the last 6 months.</p>
</blockquote>

<hr>

<h3><a href="https://www.netgate.com/blog/pfsense-2-4-4-release-p3-now-available.html" target="_blank" rel="nofollow noopener">pfSense 2.4.4 Release p3 is available</a></h3>

<blockquote>
  <p>We are pleased to announce the release of pfSense® software version 2.4.4-p3, now available for new installations and upgrades!
  pfSense software version 2.4.4-p3 is a maintenance release, bringing a number of security enhancements as well as a handful of fixes for issues present in the 2.4.4-p2 release.
  pfSense 2.4.4-RELEASE-p3 updates and installation images are available now!
  To see a complete list of changes and find more detail, see the Release Notes.
  We had hoped to bring you this release a few days earlier, but given the announcement last Tuesday of the Intel Microarchitectural Data Sampling (MDS) issue, we did not have sufficient time to fully incorporate those corrections and properly test for release on Thursday. We felt that it was worth delaying for a few days, rather than making multiple releases within a week.</p>
</blockquote>

<ul>
<li>Upgrade Notes</li>
</ul>

<blockquote>
  <p>Due to the significant nature of the changes in 2.4.4 and later, 
  warnings and error messages, particularly from PHP and package updates, are likely to occur during the upgrade process. In nearly all cases these errors are a harmless side effect of the changes between FreeBSD 11.1 and 11.2 and between PHP 5.6 and PHP 7.2.
  Always take a backup of the firewall configuration prior to any major change to the firewall, such as an upgrade.
  Do not update packages before upgrading pfSense! Either remove all packages or do not update packages before running the upgrade.
  The upgrade will take several minutes to complete. The exact time varies based on download speed, hardware speed, and other factors such installed packages. Be patient during the upgrade and allow the firewall enough time to complete the entire process. After the update packages finish downloading it could take 10-20 minutes or more until the upgrade process ends. The firewall may reboot several times during the upgrade process. Monitor the upgrade from the firewall console for the most accurate view.</p>
</blockquote>

<hr>

<h3><a href="https://www.netbsd.org/releases/formal-8/NetBSD-8.1.html" target="_blank" rel="nofollow noopener">NetBSD 8.1 RC1 is out</a></h3>

<blockquote>
  <p>The NetBSD Project is pleased to announce NetBSD 8.1, the first update of the NetBSD 8 release branch. It represents a selected subset of fixes deemed important for security or stability reasons, as well as new features and enhancements.</p>
  
  <p>Some highlights of the 8.1 release are:</p>
</blockquote>

<ul>
<li>x86: Mitigation for INTEL-SA-00233 (MDS)</li>

<li>Various local user kernel data leaks fixed.</li>

<li>x86: new rc.conf(5) setting smtoff to disable Simultaneous Multi-Threading</li>

<li>Various network driver fixes and improvements.</li>

<li>Fixes for thread local storage (TLS) in position independent executables (PIE).</li>

<li>Fixes to reproducible builds.</li>

<li>Fixed a performance regression in tmpfs.</li>

<li>DRM/KMS improvements.</li>

<li>bwfm(4) wireless driver for Broadcom FullMAC PCI and USB devices added.</li>

<li>Various sh(1) fixes.</li>

<li>mfii(4) SAS driver added.</li>

<li>hcpcd(8) updated to 7.2.2</li>

<li>httpd(8) updated.</li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/freenas-as-your-server-os/" target="_blank" rel="nofollow noopener">FreeNAS as your Server OS</a></h3>

<blockquote>
  <p>What if you could have a server OS that had built in RAID, NAS and SAN functionality, and could manage packages, containers and VMs in a GUI? What if that server OS was also free to download and install? Wouldn’t that be kind of awesome? Wouldn’t that be FreeNAS?
  FreeNAS is the world’s number one, open source storage OS, but it also comes equipped with all the jails, plugins, and VMs you need to run additional server-level services for things like email and web site hosting. File, Block, and even Object storage is all built-in and can be enabled with a few clicks. The ZFS file system scales to more drives than you could ever buy, with no limits for dataset sizes, snapshots, and restores.
  FreeNAS is also 100% FreeBSD. This is the OS used in the Netflix CDN, your PS4, and the basis for iOS. Set up a jail and get started downloading packages like Apache or NGINX for web hosting or Postfix for email service.
  Just released, our new TrueCommand management platform also streamlines alerts and enables multi-system monitoring.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.babaei.net/blog/keep-crashing-daemons-running-on-freebsd/" target="_blank" rel="nofollow noopener">Keep Crashing Daemons Running on FreeBSD</a></li>

<li><a href="https://old.reddit.com/r/freebsd/comments/btksgf/look_what_i_found_today_my_first_set_of_bsd_cds/" target="_blank" rel="nofollow noopener">Look what I found today... my first set of BSD CDs...</a></li>

<li><a href="https://wiki.netbsd.org/security/intel_mds/" target="_blank" rel="nofollow noopener">NetBSD - Intel MDS</a></li>

<li><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2019-May/091227.html" target="_blank" rel="nofollow noopener">FreeBSD 11.3-BETA2 -- Please test!</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Anthony - <a href="http://dpaste.com/33S61HH#wrap" target="_blank" rel="nofollow noopener">Question</a></li>

<li>Guntbert - <a href="http://dpaste.com/0NDACM2" target="_blank" rel="nofollow noopener">Podcast</a></li>

<li>Guillaume - <a href="http://dpaste.com/0N3Q9TN" target="_blank" rel="nofollow noopener">Another suggestion for Ales from Serbia</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0301.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>300: The Big Three</title>
  <link>https://www.bsdnow.tv/300</link>
  <guid isPermaLink="false">f4d00ce6-8060-4be0-9049-570b73a6adbd</guid>
  <pubDate>Thu, 30 May 2019 12:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f4d00ce6-8060-4be0-9049-570b73a6adbd.mp3" length="44983170" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 11.3-beta 1 is out, BSDCan 2019 recap, OpenIndiana 2019.04 is out, Overview of ZFS Pools in FreeNAS, why open source firmware is important for security, a new Opnsense release, wireguard on OpenBSD, and more. </itunes:subtitle>
  <itunes:duration>1:14:06</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>&lt;p&gt;FreeBSD 11.3-beta 1 is out, BSDCan 2019 recap, OpenIndiana 2019.04 is out, Overview of ZFS Pools in FreeNAS, why open source firmware is important for security, a new Opnsense release, wireguard on OpenBSD, and more. &lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2019-May/091210.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.3-b1 is out&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;&lt;a href="https://www.bsdcan.org/2019/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2019 Recap&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We’re back from BSDCan and it was a packed week as always.&lt;/li&gt;

&lt;li&gt;It started with &lt;a href="http://bhyvecon.org/" target="_blank" rel="nofollow noopener"&gt;bhyvecon&lt;/a&gt; on Tuesday. Meanwhile, Benedict spent the whole day in productive meetings: annual FreeBSD Foundation board meeting and FreeBSD Journal editorial board meeting.&lt;/li&gt;

&lt;li&gt;On Wednesday, tutorials for BSDCan started as well as the &lt;a href="https://wiki.freebsd.org/DevSummit/201905" target="_blank" rel="nofollow noopener"&gt;FreeBSD Developer Summit&lt;/a&gt;. In the mornings, there were presentations in the big auditorium, while working groups about networking, failsafe bootcode, development web services, swap space management, and testing/CI were held. Friday had a similar format with an update from the FreeBSD core team and the “have, need, want” session for FreeBSD 13. In the afternoon, there were working groups about translation tools, package base, GSoC/Outreachy, or general hacking. Benedict held his Icinga tutorial in the afternoon with about 15 people attending.
Devsummit presentation slides can be found on the wiki page and video recordings done by &lt;a href="https://www.scaleengine.com/" target="_blank" rel="nofollow noopener"&gt;ScaleEngine&lt;/a&gt; are available on &lt;a href="https://www.youtube.com/channel/UCxLxR_oW-NAmChIcSkAyZGQ" target="_blank" rel="nofollow noopener"&gt;FreeBSD’s youtube channel&lt;/a&gt;.&lt;/li&gt;

&lt;li&gt;The conference program was a good mixture of sysadmin and tech talks across the major BSDs. Benedict saw the following talks: How ZFS snapshots really work by Matt Ahrens, 20 years in Jail by Michael W. Lucas, OpenZFS BOF session, the future of OpenZFS and FreeBSD, MQTT for system administrators by Jan-Piet Mens, and spent the rest of the time in between in the hallway track. &lt;/li&gt;

&lt;li&gt;Photos from the event are available on &lt;a href="https://www.talegraph.com/tales/Qg446T5bKT" target="_blank" rel="nofollow noopener"&gt;Ollivier Robert’s talegraph
&lt;/a&gt; and Diane Bruce’s website for &lt;a href="http://www.db.net/gallery/BSDCan/2019_BSDCan_day_1_web/" target="_blank" rel="nofollow noopener"&gt;day 1&lt;/a&gt;, &lt;a href="http://www.db.net/gallery/BSDCan/2019_FreeBSD_Dev_Summit_day_2_web" target="_blank" rel="nofollow noopener"&gt;day 2&lt;/a&gt;, &lt;a href="http://www.db.net/gallery/BSDCan/2019_BSDCan_day_1_web" target="_blank" rel="nofollow noopener"&gt;conference day 1&lt;/a&gt;, and &lt;a href="http://www.db.net/gallery/BSDCan/2019_BSDCan_day_2_web" target="_blank" rel="nofollow noopener"&gt;conference day 2&lt;/a&gt;.&lt;/li&gt;

&lt;li&gt;Thanks to all the sponsors, supporters, organizers, speakers, and attendees for making this yet another great BSDCan. Next year’s BSDCan will be from June 2 - 6, 2020.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.openindiana.org/2019/05/12/openindiana-hipster-2019-04-is-here/" target="_blank" rel="nofollow noopener"&gt;OpenIndiana 2019.04 is out&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;We have released a new OpenIndiana Hipster snapshot 2019.04. The noticeable changes:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Firefox was updated to 60.6.3 ESR&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Virtualbox packages were added (including guest additions)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Mate was updated to 1.22&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;IPS has received updates from OmniOS CE and Oracle IPS repos, including automatic boot environment naming&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Some OI-specific applications have been ported from Python 2.7/GTK 2 to Python 3.5/GTK 3&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Quick Demo Video: https://www.youtube.com/watch?v=tQ0-fo3XNrg&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/zfs-pools-in-freenas/" target="_blank" rel="nofollow noopener"&gt;Overview of ZFS Pools in FreeNAS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;FreeNAS uses the OpenZFS (ZFS) file system, which handles both disk and volume management. ZFS offers RAID options mirror, stripe, and its own parity distribution called RAIDZ that functions like RAID5 on hardware RAID. The file system is extremely flexible and secure, with various drive combinations, checksums, snapshots, and replication all possible. For a deeper dive on ZFS technology, read the ZFS Primer section of the FreeNAS documentation.&lt;/p&gt;
  
  &lt;p&gt;SUGGEST LAYOUT attempts to balance usable capacity and redundancy by automatically choosing an ideal vdev layout for the number of available disks.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The following vdev layout options are available when creating a pool:


&lt;ul&gt;
&lt;li&gt;Stripe data is shared on two drives, similar to RAID0)&lt;/li&gt;

&lt;li&gt;Mirror copies data on two drives, similar to RAID1 but not limited to 2 disks)&lt;/li&gt;

&lt;li&gt;RAIDZ1 single parity similar to RAID5&lt;/li&gt;

&lt;li&gt;RAIDZ2 double parity similar to RAID6&lt;/li&gt;

&lt;li&gt;RAIDZ3 which uses triple parity and has no RAID equivalent&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.jessfraz.com/post/why-open-source-firmware-is-important-for-security/" target="_blank" rel="nofollow noopener"&gt;Why OpenSource Firmware is Important for Security&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Roots of Trust&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;The goal of the root of trust should be to verify that the software installed in every component of the hardware is the software that was intended. This way you can know without a doubt and verify if hardware has been hacked. Since we have very little to no visibility into the code running in a lot of places in our hardware it is hard to do this. How do we really know that the firmware in a component is not vulnerable or that is doesn’t have any backdoors? Well we can’t. Not unless it was all open source.
  Every cloud and vendor seems to have their own way of doing a root of trust. Microsoft has Cerberus, Google has Titan, and Amazon has Nitro. These seem to assume an explicit amount of trust in the proprietary code (the code we cannot see). This leaves me with not a great feeling. Wouldn’t it be better to be able to use all open source code? Then we could verify without a doubt that the code you can read and build yourself is the same code running on hardware for all the various places we have firmware. We could then verify that a machine was in a correct state without a doubt of it being vulnerable or with a backdoor.
  It makes me wonder what the smaller cloud providers like DigitalOcean or Packet have for a root of trust. Often times we only hear of these projects from the big three or five. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-19-1-8-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;This update addresses several privilege escalation issues in the access control implementation and new memory disclosure issues in Intel CPUs. We would like to thank Arnaud Cordier and Bill Marquette for the top-notch reports and coordination.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Here are the full patch notes:&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;system: address CVE-2019-11816 privilege escalation bugs[1] (reported by Arnaud Cordier)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;system: /etc/hosts generation without interface&lt;em&gt;has&lt;/em&gt;gateway()&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;system: show correct timestamp in config restore save message (contributed by nhirokinet)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;system: list the commands for the pluginctl utility when n+ argument is given&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;system: introduce and use userIsAdmin() helper function instead of checking for 'page-all' privilege directly&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;system: use absolute path in widget ACLs (reported by Netgate)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;system: RRD-related cleanups for less code exposure&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;interfaces: add EN DUID Generation using OPNsense PEN (contributed by Team Rebellion)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;interfaces: replace legacy&lt;em&gt;getall&lt;/em&gt;interface_addresses() usage&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;firewall: fix port validation in aliases with leading / trailing spaces&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;firewall: fix outbound NAT translation display in overview page&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;firewall: prevent CARP outgoing packets from using the configured gateway&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;firewall: use CARP net.inet.carp.demotion to control current demotion in status page&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;firewall: stop live log poller on error result&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;dhcpd: change rule priority to 1 to avoid bogon clash&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;dnsmasq: only admins may edit custom options field&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;firmware: use insecure mode for base and kernel sets when package fingerprints are disabled&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;firmware: add optional device support for base and kernel sets&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;firmware: add Hostcentral mirror (HTTP, Melbourne, Australia)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;ipsec: always reset rightallowany to default when writing configuration&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;lang: say "hola" to Spanish as the newest available GUI language&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;lang: updates for Chinese, Czech, Japanese, German, French, Russian and Portuguese&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;network time: only admins may edit custom options field&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;openvpn: call openvpn&lt;em&gt;refresh&lt;/em&gt;crls() indirectly via plugin_configure() for less code exposure&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;openvpn: only admins may edit custom options field to prevent privilege escalation (reported by Bill Marquette)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;openvpn: remove custom options field from wizard&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;unbound: only admins may edit custom options field&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;wizard: translate typehint as well&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;plugins: os-freeradius 1.9.3 fixes string interpolation in LDAP filters (contributed by theq86)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;plugins: os-nginx 1.12[2]&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;plugins: os-theme-cicada 1.17 (contributed by Team Rebellion)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;plugins: os-theme-tukan 1.17 (contributed by Team Rebellion)&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;src: timezone database information update[3]&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;src: install(1) broken with partially matching relative paths[4]&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;src: microarchitectural Data Sampling (MDS) mitigation[5]&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;ports: ca&lt;em&gt;root&lt;/em&gt;nss 3.44&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;ports: php 7.2.18[6]&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;ports: sqlite 3.28.0[7]&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;ports: strongswan custom XAuth generic patch removed&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.jasper.la/wireguard-on-openbsd.html" target="_blank" rel="nofollow noopener"&gt;wiregaurd on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Earlier this week I imported a port for WireGuard into the OpenBSD ports tree. At the moment we have the userland daemon and the tools available. The in-kernel implementation is only available for Linux. At the time of writing there are packages available for -current.
  Jason A. Donenfeld (WireGuard author) has worked to support OpenBSD in WireGuard and as such his post on ports@ last year got me interested in WireGuard, since then others have toyed with WireGuard on OpenBSD before and as such I've used Ted's article as a reference. Note however that some of the options mentioned there are no longer valid. Also, I'll be using two OpenBSD peers here.
  The setup will be as follows: two OpenBSD peers, of which we'll dub wg1 the server and wg2 the client. The WireGuard service on wg1 is listening on 100.64.4.3:51820.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;WireGuard (cl)aims to be easier to setup and faster than OpenVPN and while I haven't been able to verify the latter, the first is certainly true...once you've figured it out. Most documentation out there is for Linux so I had to figure out the wireguard&lt;em&gt;go service and the tun parameters. But all in all, sure, it's easier. Especially the client configuration on iOS which I didn't cover here because it's essentially pkg&lt;/em&gt;add libqrencode ; cat client.conf | qrencode -t ansiutf8, scan the code with the WireGuard app and you're good to go. What is particularly neat is that WireGuard on iOS supports Always-on.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/SerenityOS/serenity" target="_blank" rel="nofollow noopener"&gt;Serenity OS&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/05/27/22985.html" target="_blank" rel="nofollow noopener"&gt;vkernels vs pmap&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EY6q5dv_B-o" target="_blank" rel="nofollow noopener"&gt;Brian Kernighan interviews Ken Thompson&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/improvements_in_forking_threading_and" target="_blank" rel="nofollow noopener"&gt;Improvements in forking, threading, and signal code&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/05/21/22946.html" target="_blank" rel="nofollow noopener"&gt;DragonFly 5.4.3&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://magazine.odroid.com/article/netbsd-for-the-the-odroid-c2/" target="_blank" rel="nofollow noopener"&gt;NetBSD on the Odroid C2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Paulo - &lt;a href="http://dpaste.com/3VXMGX8" target="_blank" rel="nofollow noopener"&gt;Laptops&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;A Listener - &lt;a href="http://dpaste.com/0SWJNRX#wrap" target="_blank" rel="nofollow noopener"&gt;Thanks&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Bostjan - &lt;a href="http://dpaste.com/35NRF40#wrap" target="_blank" rel="nofollow noopener"&gt;Extend a pool and lower RAM footprint&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0300.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords> freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, bsdcan, zfs, openindiana, freenas, firmware, wireguard</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 11.3-beta 1 is out, BSDCan 2019 recap, OpenIndiana 2019.04 is out, Overview of ZFS Pools in FreeNAS, why open source firmware is important for security, a new Opnsense release, wireguard on OpenBSD, and more. </p>

<h2>Headlines</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2019-May/091210.html" target="_blank" rel="nofollow noopener">FreeBSD 11.3-b1 is out</a></h3>

<h3><a href="https://www.bsdcan.org/2019/" target="_blank" rel="nofollow noopener">BSDCan 2019 Recap</a></h3>

<ul>
<li>We’re back from BSDCan and it was a packed week as always.</li>

<li>It started with <a href="http://bhyvecon.org/" target="_blank" rel="nofollow noopener">bhyvecon</a> on Tuesday. Meanwhile, Benedict spent the whole day in productive meetings: annual FreeBSD Foundation board meeting and FreeBSD Journal editorial board meeting.</li>

<li>On Wednesday, tutorials for BSDCan started as well as the <a href="https://wiki.freebsd.org/DevSummit/201905" target="_blank" rel="nofollow noopener">FreeBSD Developer Summit</a>. In the mornings, there were presentations in the big auditorium, while working groups about networking, failsafe bootcode, development web services, swap space management, and testing/CI were held. Friday had a similar format with an update from the FreeBSD core team and the “have, need, want” session for FreeBSD 13. In the afternoon, there were working groups about translation tools, package base, GSoC/Outreachy, or general hacking. Benedict held his Icinga tutorial in the afternoon with about 15 people attending.
Devsummit presentation slides can be found on the wiki page and video recordings done by <a href="https://www.scaleengine.com/" target="_blank" rel="nofollow noopener">ScaleEngine</a> are available on <a href="https://www.youtube.com/channel/UCxLxR_oW-NAmChIcSkAyZGQ" target="_blank" rel="nofollow noopener">FreeBSD’s youtube channel</a>.</li>

<li>The conference program was a good mixture of sysadmin and tech talks across the major BSDs. Benedict saw the following talks: How ZFS snapshots really work by Matt Ahrens, 20 years in Jail by Michael W. Lucas, OpenZFS BOF session, the future of OpenZFS and FreeBSD, MQTT for system administrators by Jan-Piet Mens, and spent the rest of the time in between in the hallway track. </li>

<li>Photos from the event are available on <a href="https://www.talegraph.com/tales/Qg446T5bKT" target="_blank" rel="nofollow noopener">Ollivier Robert’s talegraph
</a> and Diane Bruce’s website for <a href="http://www.db.net/gallery/BSDCan/2019_BSDCan_day_1_web/" target="_blank" rel="nofollow noopener">day 1</a>, <a href="http://www.db.net/gallery/BSDCan/2019_FreeBSD_Dev_Summit_day_2_web" target="_blank" rel="nofollow noopener">day 2</a>, <a href="http://www.db.net/gallery/BSDCan/2019_BSDCan_day_1_web" target="_blank" rel="nofollow noopener">conference day 1</a>, and <a href="http://www.db.net/gallery/BSDCan/2019_BSDCan_day_2_web" target="_blank" rel="nofollow noopener">conference day 2</a>.</li>

<li>Thanks to all the sponsors, supporters, organizers, speakers, and attendees for making this yet another great BSDCan. Next year’s BSDCan will be from June 2 - 6, 2020.</li>
</ul>

<hr>

<h3><a href="https://www.openindiana.org/2019/05/12/openindiana-hipster-2019-04-is-here/" target="_blank" rel="nofollow noopener">OpenIndiana 2019.04 is out</a></h3>

<blockquote>
  <p>We have released a new OpenIndiana Hipster snapshot 2019.04. The noticeable changes:</p>
</blockquote>

<ul>
<li><p>Firefox was updated to 60.6.3 ESR</p></li>

<li><p>Virtualbox packages were added (including guest additions)</p></li>

<li><p>Mate was updated to 1.22</p></li>

<li><p>IPS has received updates from OmniOS CE and Oracle IPS repos, including automatic boot environment naming</p></li>

<li><p>Some OI-specific applications have been ported from Python 2.7/GTK 2 to Python 3.5/GTK 3</p></li>

<li><p>Quick Demo Video: https://www.youtube.com/watch?v=tQ0-fo3XNrg</p></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.ixsystems.com/blog/zfs-pools-in-freenas/" target="_blank" rel="nofollow noopener">Overview of ZFS Pools in FreeNAS</a></h3>

<blockquote>
  <p>FreeNAS uses the OpenZFS (ZFS) file system, which handles both disk and volume management. ZFS offers RAID options mirror, stripe, and its own parity distribution called RAIDZ that functions like RAID5 on hardware RAID. The file system is extremely flexible and secure, with various drive combinations, checksums, snapshots, and replication all possible. For a deeper dive on ZFS technology, read the ZFS Primer section of the FreeNAS documentation.</p>
  
  <p>SUGGEST LAYOUT attempts to balance usable capacity and redundancy by automatically choosing an ideal vdev layout for the number of available disks.</p>
</blockquote>

<ul>
<li>The following vdev layout options are available when creating a pool:


<ul>
<li>Stripe data is shared on two drives, similar to RAID0)</li>

<li>Mirror copies data on two drives, similar to RAID1 but not limited to 2 disks)</li>

<li>RAIDZ1 single parity similar to RAID5</li>

<li>RAIDZ2 double parity similar to RAID6</li>

<li>RAIDZ3 which uses triple parity and has no RAID equivalent</li></ul>
</li>
</ul>

<hr>

<h3><a href="https://blog.jessfraz.com/post/why-open-source-firmware-is-important-for-security/" target="_blank" rel="nofollow noopener">Why OpenSource Firmware is Important for Security</a></h3>

<ul>
<li>Roots of Trust</li>
</ul>

<blockquote>
  <p>The goal of the root of trust should be to verify that the software installed in every component of the hardware is the software that was intended. This way you can know without a doubt and verify if hardware has been hacked. Since we have very little to no visibility into the code running in a lot of places in our hardware it is hard to do this. How do we really know that the firmware in a component is not vulnerable or that is doesn’t have any backdoors? Well we can’t. Not unless it was all open source.
  Every cloud and vendor seems to have their own way of doing a root of trust. Microsoft has Cerberus, Google has Titan, and Amazon has Nitro. These seem to assume an explicit amount of trust in the proprietary code (the code we cannot see). This leaves me with not a great feeling. Wouldn’t it be better to be able to use all open source code? Then we could verify without a doubt that the code you can read and build yourself is the same code running on hardware for all the various places we have firmware. We could then verify that a machine was in a correct state without a doubt of it being vulnerable or with a backdoor.
  It makes me wonder what the smaller cloud providers like DigitalOcean or Packet have for a root of trust. Often times we only hear of these projects from the big three or five. </p>
</blockquote>

<hr>

<h3><a href="https://opnsense.org/opnsense-19-1-8-released/" target="_blank" rel="nofollow noopener">OPNsense</a></h3>

<blockquote>
  <p>This update addresses several privilege escalation issues in the access control implementation and new memory disclosure issues in Intel CPUs. We would like to thank Arnaud Cordier and Bill Marquette for the top-notch reports and coordination.</p>
</blockquote>

<ul>
<li><p>Here are the full patch notes:</p></li>

<li><p>system: address CVE-2019-11816 privilege escalation bugs[1] (reported by Arnaud Cordier)</p></li>

<li><p>system: /etc/hosts generation without interface<em>has</em>gateway()</p></li>

<li><p>system: show correct timestamp in config restore save message (contributed by nhirokinet)</p></li>

<li><p>system: list the commands for the pluginctl utility when n+ argument is given</p></li>

<li><p>system: introduce and use userIsAdmin() helper function instead of checking for 'page-all' privilege directly</p></li>

<li><p>system: use absolute path in widget ACLs (reported by Netgate)</p></li>

<li><p>system: RRD-related cleanups for less code exposure</p></li>

<li><p>interfaces: add EN DUID Generation using OPNsense PEN (contributed by Team Rebellion)</p></li>

<li><p>interfaces: replace legacy<em>getall</em>interface_addresses() usage</p></li>

<li><p>firewall: fix port validation in aliases with leading / trailing spaces</p></li>

<li><p>firewall: fix outbound NAT translation display in overview page</p></li>

<li><p>firewall: prevent CARP outgoing packets from using the configured gateway</p></li>

<li><p>firewall: use CARP net.inet.carp.demotion to control current demotion in status page</p></li>

<li><p>firewall: stop live log poller on error result</p></li>

<li><p>dhcpd: change rule priority to 1 to avoid bogon clash</p></li>

<li><p>dnsmasq: only admins may edit custom options field</p></li>

<li><p>firmware: use insecure mode for base and kernel sets when package fingerprints are disabled</p></li>

<li><p>firmware: add optional device support for base and kernel sets</p></li>

<li><p>firmware: add Hostcentral mirror (HTTP, Melbourne, Australia)</p></li>

<li><p>ipsec: always reset rightallowany to default when writing configuration</p></li>

<li><p>lang: say "hola" to Spanish as the newest available GUI language</p></li>

<li><p>lang: updates for Chinese, Czech, Japanese, German, French, Russian and Portuguese</p></li>

<li><p>network time: only admins may edit custom options field</p></li>

<li><p>openvpn: call openvpn<em>refresh</em>crls() indirectly via plugin_configure() for less code exposure</p></li>

<li><p>openvpn: only admins may edit custom options field to prevent privilege escalation (reported by Bill Marquette)</p></li>

<li><p>openvpn: remove custom options field from wizard</p></li>

<li><p>unbound: only admins may edit custom options field</p></li>

<li><p>wizard: translate typehint as well</p></li>

<li><p>plugins: os-freeradius 1.9.3 fixes string interpolation in LDAP filters (contributed by theq86)</p></li>

<li><p>plugins: os-nginx 1.12[2]</p></li>

<li><p>plugins: os-theme-cicada 1.17 (contributed by Team Rebellion)</p></li>

<li><p>plugins: os-theme-tukan 1.17 (contributed by Team Rebellion)</p></li>

<li><p>src: timezone database information update[3]</p></li>

<li><p>src: install(1) broken with partially matching relative paths[4]</p></li>

<li><p>src: microarchitectural Data Sampling (MDS) mitigation[5]</p></li>

<li><p>ports: ca<em>root</em>nss 3.44</p></li>

<li><p>ports: php 7.2.18[6]</p></li>

<li><p>ports: sqlite 3.28.0[7]</p></li>

<li><p>ports: strongswan custom XAuth generic patch removed</p></li>
</ul>

<hr>

<h3><a href="https://blog.jasper.la/wireguard-on-openbsd.html" target="_blank" rel="nofollow noopener">wiregaurd on OpenBSD</a></h3>

<blockquote>
  <p>Earlier this week I imported a port for WireGuard into the OpenBSD ports tree. At the moment we have the userland daemon and the tools available. The in-kernel implementation is only available for Linux. At the time of writing there are packages available for -current.
  Jason A. Donenfeld (WireGuard author) has worked to support OpenBSD in WireGuard and as such his post on ports@ last year got me interested in WireGuard, since then others have toyed with WireGuard on OpenBSD before and as such I've used Ted's article as a reference. Note however that some of the options mentioned there are no longer valid. Also, I'll be using two OpenBSD peers here.
  The setup will be as follows: two OpenBSD peers, of which we'll dub wg1 the server and wg2 the client. The WireGuard service on wg1 is listening on 100.64.4.3:51820.</p>
</blockquote>

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

<blockquote>
  <p>WireGuard (cl)aims to be easier to setup and faster than OpenVPN and while I haven't been able to verify the latter, the first is certainly true...once you've figured it out. Most documentation out there is for Linux so I had to figure out the wireguard<em>go service and the tun parameters. But all in all, sure, it's easier. Especially the client configuration on iOS which I didn't cover here because it's essentially pkg</em>add libqrencode ; cat client.conf | qrencode -t ansiutf8, scan the code with the WireGuard app and you're good to go. What is particularly neat is that WireGuard on iOS supports Always-on.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/SerenityOS/serenity" target="_blank" rel="nofollow noopener">Serenity OS</a></li>

<li><a href="https://www.dragonflydigest.com/2019/05/27/22985.html" target="_blank" rel="nofollow noopener">vkernels vs pmap</a></li>

<li><a href="https://www.youtube.com/watch?v=EY6q5dv_B-o" target="_blank" rel="nofollow noopener">Brian Kernighan interviews Ken Thompson</a></li>

<li><a href="http://blog.netbsd.org/tnf/entry/improvements_in_forking_threading_and" target="_blank" rel="nofollow noopener">Improvements in forking, threading, and signal code</a></li>

<li><a href="https://www.dragonflydigest.com/2019/05/21/22946.html" target="_blank" rel="nofollow noopener">DragonFly 5.4.3</a></li>

<li><a href="https://magazine.odroid.com/article/netbsd-for-the-the-odroid-c2/" target="_blank" rel="nofollow noopener">NetBSD on the Odroid C2</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Paulo - <a href="http://dpaste.com/3VXMGX8" target="_blank" rel="nofollow noopener">Laptops</a></li>

<li>A Listener - <a href="http://dpaste.com/0SWJNRX#wrap" target="_blank" rel="nofollow noopener">Thanks</a></li>

<li>Bostjan - <a href="http://dpaste.com/35NRF40#wrap" target="_blank" rel="nofollow noopener">Extend a pool and lower RAM footprint</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0300.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 11.3-beta 1 is out, BSDCan 2019 recap, OpenIndiana 2019.04 is out, Overview of ZFS Pools in FreeNAS, why open source firmware is important for security, a new Opnsense release, wireguard on OpenBSD, and more. </p>

<h2>Headlines</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2019-May/091210.html" target="_blank" rel="nofollow noopener">FreeBSD 11.3-b1 is out</a></h3>

<h3><a href="https://www.bsdcan.org/2019/" target="_blank" rel="nofollow noopener">BSDCan 2019 Recap</a></h3>

<ul>
<li>We’re back from BSDCan and it was a packed week as always.</li>

<li>It started with <a href="http://bhyvecon.org/" target="_blank" rel="nofollow noopener">bhyvecon</a> on Tuesday. Meanwhile, Benedict spent the whole day in productive meetings: annual FreeBSD Foundation board meeting and FreeBSD Journal editorial board meeting.</li>

<li>On Wednesday, tutorials for BSDCan started as well as the <a href="https://wiki.freebsd.org/DevSummit/201905" target="_blank" rel="nofollow noopener">FreeBSD Developer Summit</a>. In the mornings, there were presentations in the big auditorium, while working groups about networking, failsafe bootcode, development web services, swap space management, and testing/CI were held. Friday had a similar format with an update from the FreeBSD core team and the “have, need, want” session for FreeBSD 13. In the afternoon, there were working groups about translation tools, package base, GSoC/Outreachy, or general hacking. Benedict held his Icinga tutorial in the afternoon with about 15 people attending.
Devsummit presentation slides can be found on the wiki page and video recordings done by <a href="https://www.scaleengine.com/" target="_blank" rel="nofollow noopener">ScaleEngine</a> are available on <a href="https://www.youtube.com/channel/UCxLxR_oW-NAmChIcSkAyZGQ" target="_blank" rel="nofollow noopener">FreeBSD’s youtube channel</a>.</li>

<li>The conference program was a good mixture of sysadmin and tech talks across the major BSDs. Benedict saw the following talks: How ZFS snapshots really work by Matt Ahrens, 20 years in Jail by Michael W. Lucas, OpenZFS BOF session, the future of OpenZFS and FreeBSD, MQTT for system administrators by Jan-Piet Mens, and spent the rest of the time in between in the hallway track. </li>

<li>Photos from the event are available on <a href="https://www.talegraph.com/tales/Qg446T5bKT" target="_blank" rel="nofollow noopener">Ollivier Robert’s talegraph
</a> and Diane Bruce’s website for <a href="http://www.db.net/gallery/BSDCan/2019_BSDCan_day_1_web/" target="_blank" rel="nofollow noopener">day 1</a>, <a href="http://www.db.net/gallery/BSDCan/2019_FreeBSD_Dev_Summit_day_2_web" target="_blank" rel="nofollow noopener">day 2</a>, <a href="http://www.db.net/gallery/BSDCan/2019_BSDCan_day_1_web" target="_blank" rel="nofollow noopener">conference day 1</a>, and <a href="http://www.db.net/gallery/BSDCan/2019_BSDCan_day_2_web" target="_blank" rel="nofollow noopener">conference day 2</a>.</li>

<li>Thanks to all the sponsors, supporters, organizers, speakers, and attendees for making this yet another great BSDCan. Next year’s BSDCan will be from June 2 - 6, 2020.</li>
</ul>

<hr>

<h3><a href="https://www.openindiana.org/2019/05/12/openindiana-hipster-2019-04-is-here/" target="_blank" rel="nofollow noopener">OpenIndiana 2019.04 is out</a></h3>

<blockquote>
  <p>We have released a new OpenIndiana Hipster snapshot 2019.04. The noticeable changes:</p>
</blockquote>

<ul>
<li><p>Firefox was updated to 60.6.3 ESR</p></li>

<li><p>Virtualbox packages were added (including guest additions)</p></li>

<li><p>Mate was updated to 1.22</p></li>

<li><p>IPS has received updates from OmniOS CE and Oracle IPS repos, including automatic boot environment naming</p></li>

<li><p>Some OI-specific applications have been ported from Python 2.7/GTK 2 to Python 3.5/GTK 3</p></li>

<li><p>Quick Demo Video: https://www.youtube.com/watch?v=tQ0-fo3XNrg</p></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.ixsystems.com/blog/zfs-pools-in-freenas/" target="_blank" rel="nofollow noopener">Overview of ZFS Pools in FreeNAS</a></h3>

<blockquote>
  <p>FreeNAS uses the OpenZFS (ZFS) file system, which handles both disk and volume management. ZFS offers RAID options mirror, stripe, and its own parity distribution called RAIDZ that functions like RAID5 on hardware RAID. The file system is extremely flexible and secure, with various drive combinations, checksums, snapshots, and replication all possible. For a deeper dive on ZFS technology, read the ZFS Primer section of the FreeNAS documentation.</p>
  
  <p>SUGGEST LAYOUT attempts to balance usable capacity and redundancy by automatically choosing an ideal vdev layout for the number of available disks.</p>
</blockquote>

<ul>
<li>The following vdev layout options are available when creating a pool:


<ul>
<li>Stripe data is shared on two drives, similar to RAID0)</li>

<li>Mirror copies data on two drives, similar to RAID1 but not limited to 2 disks)</li>

<li>RAIDZ1 single parity similar to RAID5</li>

<li>RAIDZ2 double parity similar to RAID6</li>

<li>RAIDZ3 which uses triple parity and has no RAID equivalent</li></ul>
</li>
</ul>

<hr>

<h3><a href="https://blog.jessfraz.com/post/why-open-source-firmware-is-important-for-security/" target="_blank" rel="nofollow noopener">Why OpenSource Firmware is Important for Security</a></h3>

<ul>
<li>Roots of Trust</li>
</ul>

<blockquote>
  <p>The goal of the root of trust should be to verify that the software installed in every component of the hardware is the software that was intended. This way you can know without a doubt and verify if hardware has been hacked. Since we have very little to no visibility into the code running in a lot of places in our hardware it is hard to do this. How do we really know that the firmware in a component is not vulnerable or that is doesn’t have any backdoors? Well we can’t. Not unless it was all open source.
  Every cloud and vendor seems to have their own way of doing a root of trust. Microsoft has Cerberus, Google has Titan, and Amazon has Nitro. These seem to assume an explicit amount of trust in the proprietary code (the code we cannot see). This leaves me with not a great feeling. Wouldn’t it be better to be able to use all open source code? Then we could verify without a doubt that the code you can read and build yourself is the same code running on hardware for all the various places we have firmware. We could then verify that a machine was in a correct state without a doubt of it being vulnerable or with a backdoor.
  It makes me wonder what the smaller cloud providers like DigitalOcean or Packet have for a root of trust. Often times we only hear of these projects from the big three or five. </p>
</blockquote>

<hr>

<h3><a href="https://opnsense.org/opnsense-19-1-8-released/" target="_blank" rel="nofollow noopener">OPNsense</a></h3>

<blockquote>
  <p>This update addresses several privilege escalation issues in the access control implementation and new memory disclosure issues in Intel CPUs. We would like to thank Arnaud Cordier and Bill Marquette for the top-notch reports and coordination.</p>
</blockquote>

<ul>
<li><p>Here are the full patch notes:</p></li>

<li><p>system: address CVE-2019-11816 privilege escalation bugs[1] (reported by Arnaud Cordier)</p></li>

<li><p>system: /etc/hosts generation without interface<em>has</em>gateway()</p></li>

<li><p>system: show correct timestamp in config restore save message (contributed by nhirokinet)</p></li>

<li><p>system: list the commands for the pluginctl utility when n+ argument is given</p></li>

<li><p>system: introduce and use userIsAdmin() helper function instead of checking for 'page-all' privilege directly</p></li>

<li><p>system: use absolute path in widget ACLs (reported by Netgate)</p></li>

<li><p>system: RRD-related cleanups for less code exposure</p></li>

<li><p>interfaces: add EN DUID Generation using OPNsense PEN (contributed by Team Rebellion)</p></li>

<li><p>interfaces: replace legacy<em>getall</em>interface_addresses() usage</p></li>

<li><p>firewall: fix port validation in aliases with leading / trailing spaces</p></li>

<li><p>firewall: fix outbound NAT translation display in overview page</p></li>

<li><p>firewall: prevent CARP outgoing packets from using the configured gateway</p></li>

<li><p>firewall: use CARP net.inet.carp.demotion to control current demotion in status page</p></li>

<li><p>firewall: stop live log poller on error result</p></li>

<li><p>dhcpd: change rule priority to 1 to avoid bogon clash</p></li>

<li><p>dnsmasq: only admins may edit custom options field</p></li>

<li><p>firmware: use insecure mode for base and kernel sets when package fingerprints are disabled</p></li>

<li><p>firmware: add optional device support for base and kernel sets</p></li>

<li><p>firmware: add Hostcentral mirror (HTTP, Melbourne, Australia)</p></li>

<li><p>ipsec: always reset rightallowany to default when writing configuration</p></li>

<li><p>lang: say "hola" to Spanish as the newest available GUI language</p></li>

<li><p>lang: updates for Chinese, Czech, Japanese, German, French, Russian and Portuguese</p></li>

<li><p>network time: only admins may edit custom options field</p></li>

<li><p>openvpn: call openvpn<em>refresh</em>crls() indirectly via plugin_configure() for less code exposure</p></li>

<li><p>openvpn: only admins may edit custom options field to prevent privilege escalation (reported by Bill Marquette)</p></li>

<li><p>openvpn: remove custom options field from wizard</p></li>

<li><p>unbound: only admins may edit custom options field</p></li>

<li><p>wizard: translate typehint as well</p></li>

<li><p>plugins: os-freeradius 1.9.3 fixes string interpolation in LDAP filters (contributed by theq86)</p></li>

<li><p>plugins: os-nginx 1.12[2]</p></li>

<li><p>plugins: os-theme-cicada 1.17 (contributed by Team Rebellion)</p></li>

<li><p>plugins: os-theme-tukan 1.17 (contributed by Team Rebellion)</p></li>

<li><p>src: timezone database information update[3]</p></li>

<li><p>src: install(1) broken with partially matching relative paths[4]</p></li>

<li><p>src: microarchitectural Data Sampling (MDS) mitigation[5]</p></li>

<li><p>ports: ca<em>root</em>nss 3.44</p></li>

<li><p>ports: php 7.2.18[6]</p></li>

<li><p>ports: sqlite 3.28.0[7]</p></li>

<li><p>ports: strongswan custom XAuth generic patch removed</p></li>
</ul>

<hr>

<h3><a href="https://blog.jasper.la/wireguard-on-openbsd.html" target="_blank" rel="nofollow noopener">wiregaurd on OpenBSD</a></h3>

<blockquote>
  <p>Earlier this week I imported a port for WireGuard into the OpenBSD ports tree. At the moment we have the userland daemon and the tools available. The in-kernel implementation is only available for Linux. At the time of writing there are packages available for -current.
  Jason A. Donenfeld (WireGuard author) has worked to support OpenBSD in WireGuard and as such his post on ports@ last year got me interested in WireGuard, since then others have toyed with WireGuard on OpenBSD before and as such I've used Ted's article as a reference. Note however that some of the options mentioned there are no longer valid. Also, I'll be using two OpenBSD peers here.
  The setup will be as follows: two OpenBSD peers, of which we'll dub wg1 the server and wg2 the client. The WireGuard service on wg1 is listening on 100.64.4.3:51820.</p>
</blockquote>

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

<blockquote>
  <p>WireGuard (cl)aims to be easier to setup and faster than OpenVPN and while I haven't been able to verify the latter, the first is certainly true...once you've figured it out. Most documentation out there is for Linux so I had to figure out the wireguard<em>go service and the tun parameters. But all in all, sure, it's easier. Especially the client configuration on iOS which I didn't cover here because it's essentially pkg</em>add libqrencode ; cat client.conf | qrencode -t ansiutf8, scan the code with the WireGuard app and you're good to go. What is particularly neat is that WireGuard on iOS supports Always-on.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/SerenityOS/serenity" target="_blank" rel="nofollow noopener">Serenity OS</a></li>

<li><a href="https://www.dragonflydigest.com/2019/05/27/22985.html" target="_blank" rel="nofollow noopener">vkernels vs pmap</a></li>

<li><a href="https://www.youtube.com/watch?v=EY6q5dv_B-o" target="_blank" rel="nofollow noopener">Brian Kernighan interviews Ken Thompson</a></li>

<li><a href="http://blog.netbsd.org/tnf/entry/improvements_in_forking_threading_and" target="_blank" rel="nofollow noopener">Improvements in forking, threading, and signal code</a></li>

<li><a href="https://www.dragonflydigest.com/2019/05/21/22946.html" target="_blank" rel="nofollow noopener">DragonFly 5.4.3</a></li>

<li><a href="https://magazine.odroid.com/article/netbsd-for-the-the-odroid-c2/" target="_blank" rel="nofollow noopener">NetBSD on the Odroid C2</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Paulo - <a href="http://dpaste.com/3VXMGX8" target="_blank" rel="nofollow noopener">Laptops</a></li>

<li>A Listener - <a href="http://dpaste.com/0SWJNRX#wrap" target="_blank" rel="nofollow noopener">Thanks</a></li>

<li>Bostjan - <a href="http://dpaste.com/35NRF40#wrap" target="_blank" rel="nofollow noopener">Extend a pool and lower RAM footprint</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0300.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>299: The NAS Fleet</title>
  <link>https://www.bsdnow.tv/299</link>
  <guid isPermaLink="false">22eb77a0-e162-4fce-bb37-987c1d34c477</guid>
  <pubDate>Wed, 22 May 2019 14:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/22eb77a0-e162-4fce-bb37-987c1d34c477.mp3" length="32188343" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Running AIX on QEMU on Linux on Windows, your NAS fleet with TrueCommand, Unleashed 1.3 is available, LLDB: CPU register inspection support extension, V7 Unix programs often not written as expected, and more.</itunes:subtitle>
  <itunes:duration>52:47</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>&lt;p&gt;Running AIX on QEMU on Linux on Windows, your NAS fleet with TrueCommand, Unleashed 1.3 is available, LLDB: CPU register inspection support extension, V7 Unix programs often not written as expected, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://virtuallyfun.com/wordpress/2019/04/22/installing-aix-on-qemu/" target="_blank" rel="nofollow noopener"&gt;Running AiX on QEMU on Linux on Windows&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;YES it’s real!
  I’m using the Linux subsystem on Windows, as it’s easier to build this Qemu tree from source. I’m using Debian, but these steps will work on other systems that use Debian as a base.
  first thing first, you need to get your system with the needed pre-requisites to compile
  Great with those in place, now clone Artyom Tarasenko’s source repository
  Since the frame buffer apparently isn’t quite working just yet, I configure for something more like a text mode build.
  Now for me, GCC 7 didn’t build the source cleanly. I had to make a change to the file config-host.mak and remove all references to -Werror. Also I removed the sound hooks, as we won’t need them.
  Now you can build Qemu.
  Okay, all being well you now have a Qemu. Now following the steps from Artyom Tarasenko’s blog post, we can get started on the install!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See article for rest of walkthrough.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/truecommand/" target="_blank" rel="nofollow noopener"&gt;Take Command of Your NAS Fleet with TrueCommand&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Hundreds of thousands of FreeNAS and TrueNAS systems are deployed around the world, with many sites having dozens of systems.  Managing multiple systems individually can be time-consuming. iXsystems has responded to the challenge by creating a “single pane of glass” application to simplify the scaling of data, drive management, and administration of iXsystems NAS platforms. We are proud to introduce TrueCommand.
  TrueCommand is a ZFS-aware management application that manages TrueNAS and FreeNAS systems. 
  The public Beta of TrueCommand is available for download now. TrueCommand can be used with small iXsystems NAS fleets for free. Licenses can be purchased for large-scale deployments and enterprise support.
  TrueCommand expands on the ease of use and power of TrueNAS and FreeNAS systems with multi-system management and reporting.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://lists.31bits.net/archives/devel/2019-April/000052.html" target="_blank" rel="nofollow noopener"&gt;Unleashed 1.3 Released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;This is the fourth release of Unleashed - an operating system fork of illumos.  For more information about Unleashed itself and the download links, see our website.
  As one might expect, this release removes a few things.
  The most notable being the removal of ksh93 along with all its libs.
  As far as libc interfaces are concerned, a number of non-standard functions were removed.  In general, they have been replaced by the standards-compliant versions.  (getgrent&lt;em&gt;r, fgetgrent&lt;/em&gt;r, getgrgid&lt;em&gt;r, getgrnam&lt;/em&gt;r, ttyname&lt;em&gt;r, getlogin&lt;/em&gt;r, shmdt, sigwait, gethostname, putmsg, putpmsg, and getaddrinfo)
  Additionally, wordexp and wordfree have been removed from libc.  Even though they are technically required by POSIX, software doesn't seem to use them. Because of the fragile implementation (shelling out), we took the OpenBSD approach and just removed them.
  The default compilation environment now includes &lt;em&gt;XOPEN&lt;/em&gt;SOURCE=700 and &lt;strong&gt;EXTENSIONS&lt;/strong&gt;.  Additionally, all applications now use 64-bit file offsets, making use of &lt;em&gt;LARGEFILE&lt;/em&gt;SOURCE, &lt;em&gt;LARGEFILE64&lt;/em&gt;SOURCE, and &lt;em&gt;FILE&lt;/em&gt;OFFSET_BITS unnecessary.
  Last but not least, nightly.sh is no more.  In short, to build one simply runs 'make'.  (See README for detailed build instructions.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.unleashed-os.org/why.html" target="_blank" rel="nofollow noopener"&gt;Why Unleashed&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Why did we decide to fork illumos? After all, there are already many illumos distributions available to choose from. We felt we could do better than any of them by taking a more aggressive stance toward compatibility and reducing cruft from code and community interactions alike.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/lldb_extending_cpu_register_inspection" target="_blank" rel="nofollow noopener"&gt;LLDB: extending CPU register inspection support&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.
  In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support and updating NetBSD distribution to LLVM 8 (which is still stalled by unresolved regressions in inline assembly syntax). You can read more about that in my Mar 2019 report.
  In April, my main focus was on fixing and enhancing the support for reading and writing CPU registers. In this report, I'd like to shortly summarize what I have done, what I have learned in the process and what I still need to do.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Future plans&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;My work continues with the two milestones from last month, plus a third that's closely related:
  Add support for FPU registers support for NetBSD/i386 and NetBSD/amd64.
  Support XSAVE, XSAVEOPT, ... registers in core(5) files on NetBSD/amd64.
  Add support for Debug Registers support for NetBSD/i386 and NetBSD/amd64.
  The most important point right now is deciding on the format for passing the remaining registers, and implementing the missing ptrace interface kernel-side. The support for core files should follow using the same format then.
  Userland-side, I will work on adding matching ATF tests for ptrace features and implement LLDB side of support for the new ptrace interface and core file notes. Afterwards, I will start working on improving support for the same things on 32-bit (i386) executables.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/unix/EdV7CodedUnusually" target="_blank" rel="nofollow noopener"&gt;V7 Unix programs are often not written the way you would expect&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Yesterday I wrote that V7 ed read its terminal input in cooked mode a line at a time, which was an efficient, low-CPU design that was important on V7's small and low-power hardware. Then in comments, frankg pointed out that I was wrong about part of that, namely about how ed read its input.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Sidebar: An interesting undocumented ed feature&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Reading this section of the source code for ed taught me that it has an interesting, undocumented, and entirely characteristic little behavior. Officially, ed commands that have you enter new text have that new text terminate by a . on a line by itself:&lt;/p&gt;
  
  &lt;p&gt;In other words, it turns a single line with '.' into an EOF. The consequence of this is that if you type a real EOF at the start of a line, you get the same result, thus saving you one character (you use Control-D instead of '.' plus newline). This is very V7 Unix behavior, including the lack of documentation.&lt;/p&gt;
  
  &lt;p&gt;This is also a natural behavior in one sense. A proper program has to react to EOF here in some way, and it might as well do so by ending the input mode. It's also natural to go on to try reading from the terminal again for subsequent commands; if this was a real and persistent EOF, for example because the pty closed, you'll just get EOF again and eventually quit. V7 ed is slightly unusual here in that it deliberately converts '.' by itself to EOF, instead of signaling this in a different way, but in a way that's also the simplest approach; if you have to have some signal for each case and you're going to treat them the same, you might as well have the same signal for both cases.&lt;/p&gt;
  
  &lt;p&gt;Modern versions of ed appear to faithfully reimplement this convenient behavior, although they don't appear to document it. I haven't checked OpenBSD, but both FreeBSD ed and GNU ed work like this in a quick test. I haven't checked their source code to see if they implement it the same way.&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lteo.net/blog/2019/04/27/carolinacon-15-writing-exploit-resistant-code-with-openbsd/" target="_blank" rel="nofollow noopener"&gt;CarolinaCon 15: Writing Exploit-Resistant Code With OpenBSD&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-pkgbase/2019-April/000396.html" target="_blank" rel="nofollow noopener"&gt;CFT: FreeBSD Package Base&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/05/02/22862.html" target="_blank" rel="nofollow noopener"&gt;Initial FUSE support in DragonFly&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/05/03/22869.html" target="_blank" rel="nofollow noopener"&gt;Two significant bugfixes for 5.4&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://www.reddit.com/r/openbsd/comments/bkb2zk/surprised_this_can_still_run_current/" target="_blank" rel="nofollow noopener"&gt;Libretto 100ct: 166mhz Pentium, 16gb compactflash, 32mb ram running OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;DJ - &lt;a href="http://dpaste.com/0DSYJAH#wrap" target="_blank" rel="nofollow noopener"&gt;Feedback&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Fabian - &lt;a href="http://dpaste.com/2EC7S10#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS ARC&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Caleb - &lt;a href="http://dpaste.com/3ZX177B#wrap" target="_blank" rel="nofollow noopener"&gt;Question&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;A small programming note: After BSDNow episode 300, the podcast will switch to audio-only, using a new higher quality recording and production system. The live stream will likely still include video.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0299.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, aix, qemu, true command, nas, unleashed, lldb, v7</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Running AIX on QEMU on Linux on Windows, your NAS fleet with TrueCommand, Unleashed 1.3 is available, LLDB: CPU register inspection support extension, V7 Unix programs often not written as expected, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://virtuallyfun.com/wordpress/2019/04/22/installing-aix-on-qemu/" target="_blank" rel="nofollow noopener">Running AiX on QEMU on Linux on Windows</a></h3>

<blockquote>
  <p>YES it’s real!
  I’m using the Linux subsystem on Windows, as it’s easier to build this Qemu tree from source. I’m using Debian, but these steps will work on other systems that use Debian as a base.
  first thing first, you need to get your system with the needed pre-requisites to compile
  Great with those in place, now clone Artyom Tarasenko’s source repository
  Since the frame buffer apparently isn’t quite working just yet, I configure for something more like a text mode build.
  Now for me, GCC 7 didn’t build the source cleanly. I had to make a change to the file config-host.mak and remove all references to -Werror. Also I removed the sound hooks, as we won’t need them.
  Now you can build Qemu.
  Okay, all being well you now have a Qemu. Now following the steps from Artyom Tarasenko’s blog post, we can get started on the install!</p>
</blockquote>

<ul>
<li>See article for rest of walkthrough.</li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/truecommand/" target="_blank" rel="nofollow noopener">Take Command of Your NAS Fleet with TrueCommand</a></h3>

<blockquote>
  <p>Hundreds of thousands of FreeNAS and TrueNAS systems are deployed around the world, with many sites having dozens of systems.  Managing multiple systems individually can be time-consuming. iXsystems has responded to the challenge by creating a “single pane of glass” application to simplify the scaling of data, drive management, and administration of iXsystems NAS platforms. We are proud to introduce TrueCommand.
  TrueCommand is a ZFS-aware management application that manages TrueNAS and FreeNAS systems. 
  The public Beta of TrueCommand is available for download now. TrueCommand can be used with small iXsystems NAS fleets for free. Licenses can be purchased for large-scale deployments and enterprise support.
  TrueCommand expands on the ease of use and power of TrueNAS and FreeNAS systems with multi-system management and reporting.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://lists.31bits.net/archives/devel/2019-April/000052.html" target="_blank" rel="nofollow noopener">Unleashed 1.3 Released</a></h3>

<blockquote>
  <p>This is the fourth release of Unleashed - an operating system fork of illumos.  For more information about Unleashed itself and the download links, see our website.
  As one might expect, this release removes a few things.
  The most notable being the removal of ksh93 along with all its libs.
  As far as libc interfaces are concerned, a number of non-standard functions were removed.  In general, they have been replaced by the standards-compliant versions.  (getgrent<em>r, fgetgrent</em>r, getgrgid<em>r, getgrnam</em>r, ttyname<em>r, getlogin</em>r, shmdt, sigwait, gethostname, putmsg, putpmsg, and getaddrinfo)
  Additionally, wordexp and wordfree have been removed from libc.  Even though they are technically required by POSIX, software doesn't seem to use them. Because of the fragile implementation (shelling out), we took the OpenBSD approach and just removed them.
  The default compilation environment now includes <em>XOPEN</em>SOURCE=700 and <strong>EXTENSIONS</strong>.  Additionally, all applications now use 64-bit file offsets, making use of <em>LARGEFILE</em>SOURCE, <em>LARGEFILE64</em>SOURCE, and <em>FILE</em>OFFSET_BITS unnecessary.
  Last but not least, nightly.sh is no more.  In short, to build one simply runs 'make'.  (See README for detailed build instructions.)</p>
</blockquote>

<ul>
<li><a href="https://www.unleashed-os.org/why.html" target="_blank" rel="nofollow noopener">Why Unleashed</a></li>
</ul>

<blockquote>
  <p>Why did we decide to fork illumos? After all, there are already many illumos distributions available to choose from. We felt we could do better than any of them by taking a more aggressive stance toward compatibility and reducing cruft from code and community interactions alike.</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/lldb_extending_cpu_register_inspection" target="_blank" rel="nofollow noopener">LLDB: extending CPU register inspection support</a></h3>

<blockquote>
  <p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.
  In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support and updating NetBSD distribution to LLVM 8 (which is still stalled by unresolved regressions in inline assembly syntax). You can read more about that in my Mar 2019 report.
  In April, my main focus was on fixing and enhancing the support for reading and writing CPU registers. In this report, I'd like to shortly summarize what I have done, what I have learned in the process and what I still need to do.</p>
</blockquote>

<ul>
<li>Future plans</li>
</ul>

<blockquote>
  <p>My work continues with the two milestones from last month, plus a third that's closely related:
  Add support for FPU registers support for NetBSD/i386 and NetBSD/amd64.
  Support XSAVE, XSAVEOPT, ... registers in core(5) files on NetBSD/amd64.
  Add support for Debug Registers support for NetBSD/i386 and NetBSD/amd64.
  The most important point right now is deciding on the format for passing the remaining registers, and implementing the missing ptrace interface kernel-side. The support for core files should follow using the same format then.
  Userland-side, I will work on adding matching ATF tests for ptrace features and implement LLDB side of support for the new ptrace interface and core file notes. Afterwards, I will start working on improving support for the same things on 32-bit (i386) executables.</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/~cks/space/blog/unix/EdV7CodedUnusually" target="_blank" rel="nofollow noopener">V7 Unix programs are often not written the way you would expect</a></h3>

<blockquote>
  <p>Yesterday I wrote that V7 ed read its terminal input in cooked mode a line at a time, which was an efficient, low-CPU design that was important on V7's small and low-power hardware. Then in comments, frankg pointed out that I was wrong about part of that, namely about how ed read its input.</p>
</blockquote>

<ul>
<li>Sidebar: An interesting undocumented ed feature</li>
</ul>

<blockquote>
  <p>Reading this section of the source code for ed taught me that it has an interesting, undocumented, and entirely characteristic little behavior. Officially, ed commands that have you enter new text have that new text terminate by a . on a line by itself:</p>
  
  <p>In other words, it turns a single line with '.' into an EOF. The consequence of this is that if you type a real EOF at the start of a line, you get the same result, thus saving you one character (you use Control-D instead of '.' plus newline). This is very V7 Unix behavior, including the lack of documentation.</p>
  
  <p>This is also a natural behavior in one sense. A proper program has to react to EOF here in some way, and it might as well do so by ending the input mode. It's also natural to go on to try reading from the terminal again for subsequent commands; if this was a real and persistent EOF, for example because the pty closed, you'll just get EOF again and eventually quit. V7 ed is slightly unusual here in that it deliberately converts '.' by itself to EOF, instead of signaling this in a different way, but in a way that's also the simplest approach; if you have to have some signal for each case and you're going to treat them the same, you might as well have the same signal for both cases.</p>
  
  <p>Modern versions of ed appear to faithfully reimplement this convenient behavior, although they don't appear to document it. I haven't checked OpenBSD, but both FreeBSD ed and GNU ed work like this in a quick test. I haven't checked their source code to see if they implement it the same way.</p>
  
  <hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://lteo.net/blog/2019/04/27/carolinacon-15-writing-exploit-resistant-code-with-openbsd/" target="_blank" rel="nofollow noopener">CarolinaCon 15: Writing Exploit-Resistant Code With OpenBSD</a></li>

<li><a href="https://lists.freebsd.org/pipermail/freebsd-pkgbase/2019-April/000396.html" target="_blank" rel="nofollow noopener">CFT: FreeBSD Package Base</a></li>

<li><a href="https://www.dragonflydigest.com/2019/05/02/22862.html" target="_blank" rel="nofollow noopener">Initial FUSE support in DragonFly</a></li>

<li><a href="https://www.dragonflydigest.com/2019/05/03/22869.html" target="_blank" rel="nofollow noopener">Two significant bugfixes for 5.4</a></li>

<li><a href="https://www.reddit.com/r/openbsd/comments/bkb2zk/surprised_this_can_still_run_current/" target="_blank" rel="nofollow noopener">Libretto 100ct: 166mhz Pentium, 16gb compactflash, 32mb ram running OpenBSD</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>DJ - <a href="http://dpaste.com/0DSYJAH#wrap" target="_blank" rel="nofollow noopener">Feedback</a></li>

<li>Fabian - <a href="http://dpaste.com/2EC7S10#wrap" target="_blank" rel="nofollow noopener">ZFS ARC</a></li>

<li>Caleb - <a href="http://dpaste.com/3ZX177B#wrap" target="_blank" rel="nofollow noopener">Question</a></li>

<li>A small programming note: After BSDNow episode 300, the podcast will switch to audio-only, using a new higher quality recording and production system. The live stream will likely still include video.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0299.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Running AIX on QEMU on Linux on Windows, your NAS fleet with TrueCommand, Unleashed 1.3 is available, LLDB: CPU register inspection support extension, V7 Unix programs often not written as expected, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://virtuallyfun.com/wordpress/2019/04/22/installing-aix-on-qemu/" target="_blank" rel="nofollow noopener">Running AiX on QEMU on Linux on Windows</a></h3>

<blockquote>
  <p>YES it’s real!
  I’m using the Linux subsystem on Windows, as it’s easier to build this Qemu tree from source. I’m using Debian, but these steps will work on other systems that use Debian as a base.
  first thing first, you need to get your system with the needed pre-requisites to compile
  Great with those in place, now clone Artyom Tarasenko’s source repository
  Since the frame buffer apparently isn’t quite working just yet, I configure for something more like a text mode build.
  Now for me, GCC 7 didn’t build the source cleanly. I had to make a change to the file config-host.mak and remove all references to -Werror. Also I removed the sound hooks, as we won’t need them.
  Now you can build Qemu.
  Okay, all being well you now have a Qemu. Now following the steps from Artyom Tarasenko’s blog post, we can get started on the install!</p>
</blockquote>

<ul>
<li>See article for rest of walkthrough.</li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/truecommand/" target="_blank" rel="nofollow noopener">Take Command of Your NAS Fleet with TrueCommand</a></h3>

<blockquote>
  <p>Hundreds of thousands of FreeNAS and TrueNAS systems are deployed around the world, with many sites having dozens of systems.  Managing multiple systems individually can be time-consuming. iXsystems has responded to the challenge by creating a “single pane of glass” application to simplify the scaling of data, drive management, and administration of iXsystems NAS platforms. We are proud to introduce TrueCommand.
  TrueCommand is a ZFS-aware management application that manages TrueNAS and FreeNAS systems. 
  The public Beta of TrueCommand is available for download now. TrueCommand can be used with small iXsystems NAS fleets for free. Licenses can be purchased for large-scale deployments and enterprise support.
  TrueCommand expands on the ease of use and power of TrueNAS and FreeNAS systems with multi-system management and reporting.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://lists.31bits.net/archives/devel/2019-April/000052.html" target="_blank" rel="nofollow noopener">Unleashed 1.3 Released</a></h3>

<blockquote>
  <p>This is the fourth release of Unleashed - an operating system fork of illumos.  For more information about Unleashed itself and the download links, see our website.
  As one might expect, this release removes a few things.
  The most notable being the removal of ksh93 along with all its libs.
  As far as libc interfaces are concerned, a number of non-standard functions were removed.  In general, they have been replaced by the standards-compliant versions.  (getgrent<em>r, fgetgrent</em>r, getgrgid<em>r, getgrnam</em>r, ttyname<em>r, getlogin</em>r, shmdt, sigwait, gethostname, putmsg, putpmsg, and getaddrinfo)
  Additionally, wordexp and wordfree have been removed from libc.  Even though they are technically required by POSIX, software doesn't seem to use them. Because of the fragile implementation (shelling out), we took the OpenBSD approach and just removed them.
  The default compilation environment now includes <em>XOPEN</em>SOURCE=700 and <strong>EXTENSIONS</strong>.  Additionally, all applications now use 64-bit file offsets, making use of <em>LARGEFILE</em>SOURCE, <em>LARGEFILE64</em>SOURCE, and <em>FILE</em>OFFSET_BITS unnecessary.
  Last but not least, nightly.sh is no more.  In short, to build one simply runs 'make'.  (See README for detailed build instructions.)</p>
</blockquote>

<ul>
<li><a href="https://www.unleashed-os.org/why.html" target="_blank" rel="nofollow noopener">Why Unleashed</a></li>
</ul>

<blockquote>
  <p>Why did we decide to fork illumos? After all, there are already many illumos distributions available to choose from. We felt we could do better than any of them by taking a more aggressive stance toward compatibility and reducing cruft from code and community interactions alike.</p>
</blockquote>

<hr>

<h3><a href="http://blog.netbsd.org/tnf/entry/lldb_extending_cpu_register_inspection" target="_blank" rel="nofollow noopener">LLDB: extending CPU register inspection support</a></h3>

<blockquote>
  <p>Upstream describes LLDB as a next generation, high-performance debugger. It is built on top of LLVM/Clang toolchain, and features great integration with it. At the moment, it primarily supports debugging C, C++ and ObjC code, and there is interest in extending it to more languages.
  In February, I have started working on LLDB, as contracted by the NetBSD Foundation. So far I've been working on reenabling continuous integration, squashing bugs, improving NetBSD core file support and updating NetBSD distribution to LLVM 8 (which is still stalled by unresolved regressions in inline assembly syntax). You can read more about that in my Mar 2019 report.
  In April, my main focus was on fixing and enhancing the support for reading and writing CPU registers. In this report, I'd like to shortly summarize what I have done, what I have learned in the process and what I still need to do.</p>
</blockquote>

<ul>
<li>Future plans</li>
</ul>

<blockquote>
  <p>My work continues with the two milestones from last month, plus a third that's closely related:
  Add support for FPU registers support for NetBSD/i386 and NetBSD/amd64.
  Support XSAVE, XSAVEOPT, ... registers in core(5) files on NetBSD/amd64.
  Add support for Debug Registers support for NetBSD/i386 and NetBSD/amd64.
  The most important point right now is deciding on the format for passing the remaining registers, and implementing the missing ptrace interface kernel-side. The support for core files should follow using the same format then.
  Userland-side, I will work on adding matching ATF tests for ptrace features and implement LLDB side of support for the new ptrace interface and core file notes. Afterwards, I will start working on improving support for the same things on 32-bit (i386) executables.</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/~cks/space/blog/unix/EdV7CodedUnusually" target="_blank" rel="nofollow noopener">V7 Unix programs are often not written the way you would expect</a></h3>

<blockquote>
  <p>Yesterday I wrote that V7 ed read its terminal input in cooked mode a line at a time, which was an efficient, low-CPU design that was important on V7's small and low-power hardware. Then in comments, frankg pointed out that I was wrong about part of that, namely about how ed read its input.</p>
</blockquote>

<ul>
<li>Sidebar: An interesting undocumented ed feature</li>
</ul>

<blockquote>
  <p>Reading this section of the source code for ed taught me that it has an interesting, undocumented, and entirely characteristic little behavior. Officially, ed commands that have you enter new text have that new text terminate by a . on a line by itself:</p>
  
  <p>In other words, it turns a single line with '.' into an EOF. The consequence of this is that if you type a real EOF at the start of a line, you get the same result, thus saving you one character (you use Control-D instead of '.' plus newline). This is very V7 Unix behavior, including the lack of documentation.</p>
  
  <p>This is also a natural behavior in one sense. A proper program has to react to EOF here in some way, and it might as well do so by ending the input mode. It's also natural to go on to try reading from the terminal again for subsequent commands; if this was a real and persistent EOF, for example because the pty closed, you'll just get EOF again and eventually quit. V7 ed is slightly unusual here in that it deliberately converts '.' by itself to EOF, instead of signaling this in a different way, but in a way that's also the simplest approach; if you have to have some signal for each case and you're going to treat them the same, you might as well have the same signal for both cases.</p>
  
  <p>Modern versions of ed appear to faithfully reimplement this convenient behavior, although they don't appear to document it. I haven't checked OpenBSD, but both FreeBSD ed and GNU ed work like this in a quick test. I haven't checked their source code to see if they implement it the same way.</p>
  
  <hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://lteo.net/blog/2019/04/27/carolinacon-15-writing-exploit-resistant-code-with-openbsd/" target="_blank" rel="nofollow noopener">CarolinaCon 15: Writing Exploit-Resistant Code With OpenBSD</a></li>

<li><a href="https://lists.freebsd.org/pipermail/freebsd-pkgbase/2019-April/000396.html" target="_blank" rel="nofollow noopener">CFT: FreeBSD Package Base</a></li>

<li><a href="https://www.dragonflydigest.com/2019/05/02/22862.html" target="_blank" rel="nofollow noopener">Initial FUSE support in DragonFly</a></li>

<li><a href="https://www.dragonflydigest.com/2019/05/03/22869.html" target="_blank" rel="nofollow noopener">Two significant bugfixes for 5.4</a></li>

<li><a href="https://www.reddit.com/r/openbsd/comments/bkb2zk/surprised_this_can_still_run_current/" target="_blank" rel="nofollow noopener">Libretto 100ct: 166mhz Pentium, 16gb compactflash, 32mb ram running OpenBSD</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>DJ - <a href="http://dpaste.com/0DSYJAH#wrap" target="_blank" rel="nofollow noopener">Feedback</a></li>

<li>Fabian - <a href="http://dpaste.com/2EC7S10#wrap" target="_blank" rel="nofollow noopener">ZFS ARC</a></li>

<li>Caleb - <a href="http://dpaste.com/3ZX177B#wrap" target="_blank" rel="nofollow noopener">Question</a></li>

<li>A small programming note: After BSDNow episode 300, the podcast will switch to audio-only, using a new higher quality recording and production system. The live stream will likely still include video.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0299.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>298: BSD On The Road</title>
  <link>https://www.bsdnow.tv/298</link>
  <guid isPermaLink="false">85a43874-a080-4a57-9fb0-2a0210e9718e</guid>
  <pubDate>Wed, 15 May 2019 23:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/85a43874-a080-4a57-9fb0-2a0210e9718e.mp3" length="31937689" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>36 year old UFS bug fixed, a BSD for the road, automatic upgrades with OpenBSD, DTrace ext2fs support in FreeBSD, Dedicated SSH tunnel user, upgrading VMM VMs to OpenBSD 6.5, and more.</itunes:subtitle>
  <itunes:duration>52:22</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>&lt;p&gt;36 year old UFS bug fixed, a BSD for the road, automatic upgrades with OpenBSD, DTrace ext2fs support in FreeBSD, Dedicated SSH tunnel user, upgrading VMM VMs to OpenBSD 6.5, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=347066" target="_blank" rel="nofollow noopener"&gt;36+ year old bug in FFS/UFS discovered and patched &lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;This update eliminates a kernel stack disclosure bug in UFS/FFS directory entries that is caused by uninitialized directory entry padding written to the disk.&lt;/p&gt;
  
  &lt;ul&gt;
  &lt;li&gt;When the directory entry is written to disk, it is written as a full 32bit entry, and the unused bytes were not initialized, so could possibly contain sensitive data from the kernel stack
  It can be viewed by any user with read access to that directory. Up to 3 bytes of kernel stack are disclosed per file entry, depending on the the amount of padding the kernel needs to pad out the entry to a 32 bit boundary. The offset in the kernel stack that is disclosed is a function of the filename size. Furthermore, if the user can create files in a directory, this 3 byte window can be expanded 3 bytes at a time to a 254 byte window with 75% of the data in that window exposed. The additional exposure is done by removing the entry, creating a new entry with a 4-byte longer name, extracting 3 more bytes by reading the directory, and repeating until a 252 byte name is created.
  This exploit works in part because the area of the kernel stack that is being disclosed is in an area that typically doesn't change that often (perhaps a few times a second on a lightly loaded system), and these file creates and unlinks themselves don't overwrite the area of kernel stack being disclosed.
  It appears that this bug originated with the creation of the Fast File System in 4.1b-BSD (Circa 1982, more than 36 years ago!), and is likely present in every Unix or Unix-like system that uses UFS/FFS. Amazingly, nobody noticed until now.
  This update also adds the -z flag to fsck_ffs to have it scrub the leaked information in the name padding of existing directories. It only needs to be run once on each UFS/FFS filesystem after a patched kernel is installed and running.
  Submitted by: David G. Lawrence &lt;a href="mailto:dg@dglawrence.com" target="_blank" rel="nofollow noopener"&gt;dg@dglawrence.com&lt;/a&gt;&lt;/li&gt;
  
  &lt;li&gt;So a patched kernel will no longer leak this data, and running the &lt;code&gt;fsck_ffs -z&lt;/code&gt; command will erase any leaked data that may exist on your system&lt;/li&gt;
  
  &lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-cvs&amp;amp;m=155699268122858&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD commit with additional detail on mitigations&lt;/a&gt;
  The impact on OpenBSD is very limited:
  1 - such stack bytes can be found in raw-device reads, from group operator. If you can read the raw disks you can undertake other more powerful actions.
  2 - read(2) upon directory fd was disabled July 1997 because I didn't like how grep * would display garbage and mess up the tty, and applying vis(3) for just directory reads seemed silly.  read(2) was changed to return 0 (EOF).  Sep 2016 this was further changed to EISDIR, so you still cannot see the bad bytes.
  3 - In 2013 when guenther adapted the getdents(2) directory-reading system call to 64-bit ino_t, the userland data format changed to 8-byte-alignment, making it incompatible with the 4-byte-alignment UFS on-disk format.  As a result of code refactoring the bad bytes were not copied to userland. Bad bytes will remain in old directories on old filesystems, but nothing makes those bytes user visible.
  There will be no errata or syspatch issued.  I urge other systems which do expose the information to userland to issue errata quickly, since this is a 254 byte infoleak of the stack which is great for ROP-chain building to attack some other bug. Especially if the kernel has no layout/link-order randomization ...&lt;/li&gt;
  &lt;/ul&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://itsfoss.com/nomadbsd/" target="_blank" rel="nofollow noopener"&gt;NomadBSD, a BSD for the Road&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;As regular It’s FOSS readers should know, I like diving into the world of BSDs. Recently, I came across an interesting BSD that is designed to live on a thumb drive. Let’s take a look at NomadBSD.
  NomadBSD is different than most available BSDs. NomadBSD is a live system based on FreeBSD. It comes with automatic hardware detection and an initial config tool. NomadBSD is designed to “be used as a desktop system that works out of the box, but can also be used for data recovery, for educational purposes, or to test FreeBSD’s hardware compatibility.”
  This German BSD comes with an OpenBox-based desktop with the Plank application dock. NomadBSD makes use of the DSB project. DSB stands for “Desktop Suite (for) (Free)BSD” and consists of a collection of programs designed to create a simple and working environment without needing a ton of dependencies to use one tool. DSB is created by Marcel Kaiser one of the lead devs of NomadBSD.
  Just like the original BSD projects, you can contact the NomadBSD developers via a mailing list.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Version 1.2 Released&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;NomadBSD recently released version 1.2 on April 21, 2019. This means that NomadBSD is now based on FreeBSD 12.0-p3. TRIM is now enabled by default. One of the biggest changes is that the initial command-line setup was replaced with a Qt graphical interface. They also added a Qt5 tool to install NomadBSD to your hard drive. A number of fixes were included to improve graphics support. They also added support for creating 32-bit images.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Thoughts on NomadBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;I first discovered NomadBSD back in January when they released 1.2-RC1. At the time, I had been unable to install Project Trident on my laptop and was very frustrated with BSDs. I downloaded NomadBSD and tried it out. I initially ran into issues reaching the desktop, but RC2 fixed that issue. However, I was unable to get on the internet, even though I had an Ethernet cable plugged in. Luckily, I found the wifi manager in the menu and was able to connect to my wifi.
  Overall, my experience with NomadBSD was pleasant. Once I figured out a few things, I was good to go. I hope that NomadBSD is the first of a new generation of BSDs that focus on mobility and ease of use. BSD has conquered the server world, it’s about time they figured out how to be more user-friendly.&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;[OpenBSD automatic&lt;/h3&gt;

&lt;p&gt;upgrade](https://www.tumfatig.net/20190426/openbsd-automatic-upgrade/)&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;OpenBSD 6.5 advertises for an installer improvement: rdsetroot(8) (a build-time tool) is now available for general use. Used in combination with autoinstall.8, it is now really easy to do automatic upgrades of your OpenBSD instances.
  I first manually upgraded my OpenBSD sandbox to 6.5. Once that was done, I could use the stock rdsetroot(8) tool. The plan is quite simple: write an unattended installation response file, insert it to a bsd.rd 6.5 installation image and reboot my other OpenBSD instances using that image.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Extra notes&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;There must be a way to run onetime commands (in the manner of fw_update) to automatically run sysmerge and packages upgrades. As for now, I’d rather do it manually.
  This worked like a charm on two Synology KVM instances using a single sd0 disk, on my Thinkpad X260 using Encrypted root with Keydisk and on a Vultr instance using Encrypted root with passphrase. And BTW, the upgrade on the X260 used the (iwn0) wireless connection.
  I just read that florian@ has released the sysupgrade(8) utility which should be released with OpenBSD 6.6. That will make upgrades even easier! Until then, happy upgrading.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://reviews.freebsd.org/D19848" target="_blank" rel="nofollow noopener"&gt;FreeBSD Dtrace ext2fs Support&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Which logs were replaced by dtrace-probes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Misc printf's under DEBUG macro in the blocks allocation path.&lt;/li&gt;

&lt;li&gt;Different on-disk structures validation errors, now the filesystem will silently return EIO's.&lt;/li&gt;

&lt;li&gt;Misc checksum errors, same as above.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;The only debug macro, which was leaved is EXT2FS&lt;em&gt;PRINT&lt;/em&gt;EXTENTS.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;It is impossible to replace it by dtrace-probes, because the additional logic is required to walk thru file extents.&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;The user still be able to see mount errors in the dmesg in case of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Filesystem features incompatibility.&lt;/li&gt;

&lt;li&gt;Superblock checksum error.&lt;/li&gt;&lt;/ul&gt;

&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dataswamp.org/~solene/2019-04-17-ssh-tunneling.html" target="_blank" rel="nofollow noopener"&gt;Create a dedicated user for ssh tunneling only&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;I use ssh tunneling A LOT, for everything. Yesterday, I removed the public access of my IMAP server, it’s now only available through ssh tunneling to access the daemon listening on localhost. I have plenty of daemons listening only on localhost that I can only reach through a ssh tunnel. If you don’t want to bother with ssh and redirect ports you need, you can also make a VPN (using ssh, openvpn, iked, tinc…) between your system and your server. I tend to avoid setting up VPN for the current use case as it requires more work and more maintenance than running ssh server and a ssh client.
  The last change, for my IMAP server, added an issue. I want my phone to access the IMAP server but I don’t want to connect to my main account from my phone for security reasons. So, I need a dedicated user that will only be allowed to forward ports.
  This is done very easily on OpenBSD.
  The steps are: 1. generate ssh keys for the new user 2. add an user with no password 3. allow public key for port forwarding
  Obviously, you must allow users (or only this one) to make port forwarding in your sshd_config.&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://openbsd.amsterdam/upgrade.html" target="_blank" rel="nofollow noopener"&gt;That was easy. Some info on upgrading VMM VMs to 6.5&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;We're running dedicated vmm(4)/vmd(8) servers to host opinionated VMs.
  OpenBSD 6.5 is released! There are two ways you can upgrade your VM.
  Either do a manual upgrade or leverage autoinstall(8). You can take care of it via the console with vmctl(8).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Upgrade yourself&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;To get connected to the console you need to have access to the host your VM is running on. The same username and public SSH key, as provided for the VM, are used to create a local user on the host.
  When this is done you can use vmctl(8) to manage your VM. The options you have are:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code class="$ vmctl console id``` language-$ vmctl console id```"&gt;```$ vmctl start id [-c]```
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;$ vmctl stop id [-fw]```&lt;/p&gt;

&lt;pre&gt;&lt;code class="-f Forcefully stop the VM without attempting a graceful shutdown.``` language--f Forcefully stop the VM without attempting a graceful shutdown.```"&gt;```-w Wait until the VM has been terminated.```
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;-c Automatically connect to the VM console.```&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;See the Article for the rest of the guide&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://inks.tedunangst.com/l/3791" target="_blank" rel="nofollow noopener"&gt;powerpc64 architecture support in FreeBSD ports&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://twitter.com/ribalinux/status/1117856218251517956" target="_blank" rel="nofollow noopener"&gt;GhostBSD 19.04 overview&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://twitter.com/lattera/status/1119018409575026688" target="_blank" rel="nofollow noopener"&gt;HardenedBSD will have two user selectable ASLR implementations&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=S_aTzXVRRlM&amp;amp;feature=youtu.be" target="_blank" rel="nofollow noopener"&gt;NYCBUG 2016 Talk Shell-Fu Uploaded&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://blog.zarfhome.com/2019/04/what-is-zil-anyway.html" target="_blank" rel="nofollow noopener"&gt;What is ZIL anyway?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Quentin - &lt;a href="http://dpaste.com/0K9PQW9#wrap" target="_blank" rel="nofollow noopener"&gt;Organize an Ada/BSD interview&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;DJ - &lt;a href="http://dpaste.com/3KTQ45G#wrap" target="_blank" rel="nofollow noopener"&gt;Update&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Patrick - &lt;a href="http://dpaste.com/07V6ZJN" target="_blank" rel="nofollow noopener"&gt;Bhyve frontends&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;A small programming note: After BSDNow episode 300, the podcast will switch to audio-only, using a new higher quality recording and production system. The live stream will likely still include video.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0298.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, ssh, nomadbsd, dtrace, ext2, unleashed, vmm</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>36 year old UFS bug fixed, a BSD for the road, automatic upgrades with OpenBSD, DTrace ext2fs support in FreeBSD, Dedicated SSH tunnel user, upgrading VMM VMs to OpenBSD 6.5, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=347066" target="_blank" rel="nofollow noopener">36+ year old bug in FFS/UFS discovered and patched </a></h3>

<blockquote>
  <p>This update eliminates a kernel stack disclosure bug in UFS/FFS directory entries that is caused by uninitialized directory entry padding written to the disk.</p>
  
  <ul>
  <li>When the directory entry is written to disk, it is written as a full 32bit entry, and the unused bytes were not initialized, so could possibly contain sensitive data from the kernel stack
  It can be viewed by any user with read access to that directory. Up to 3 bytes of kernel stack are disclosed per file entry, depending on the the amount of padding the kernel needs to pad out the entry to a 32 bit boundary. The offset in the kernel stack that is disclosed is a function of the filename size. Furthermore, if the user can create files in a directory, this 3 byte window can be expanded 3 bytes at a time to a 254 byte window with 75% of the data in that window exposed. The additional exposure is done by removing the entry, creating a new entry with a 4-byte longer name, extracting 3 more bytes by reading the directory, and repeating until a 252 byte name is created.
  This exploit works in part because the area of the kernel stack that is being disclosed is in an area that typically doesn't change that often (perhaps a few times a second on a lightly loaded system), and these file creates and unlinks themselves don't overwrite the area of kernel stack being disclosed.
  It appears that this bug originated with the creation of the Fast File System in 4.1b-BSD (Circa 1982, more than 36 years ago!), and is likely present in every Unix or Unix-like system that uses UFS/FFS. Amazingly, nobody noticed until now.
  This update also adds the -z flag to fsck_ffs to have it scrub the leaked information in the name padding of existing directories. It only needs to be run once on each UFS/FFS filesystem after a patched kernel is installed and running.
  Submitted by: David G. Lawrence <a href="mailto:dg@dglawrence.com" target="_blank" rel="nofollow noopener">dg@dglawrence.com</a></li>
  
  <li>So a patched kernel will no longer leak this data, and running the <code>fsck_ffs -z</code> command will erase any leaked data that may exist on your system</li>
  
  <li><a href="https://marc.info/?l=openbsd-cvs&amp;m=155699268122858&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD commit with additional detail on mitigations</a>
  The impact on OpenBSD is very limited:
  1 - such stack bytes can be found in raw-device reads, from group operator. If you can read the raw disks you can undertake other more powerful actions.
  2 - read(2) upon directory fd was disabled July 1997 because I didn't like how grep * would display garbage and mess up the tty, and applying vis(3) for just directory reads seemed silly.  read(2) was changed to return 0 (EOF).  Sep 2016 this was further changed to EISDIR, so you still cannot see the bad bytes.
  3 - In 2013 when guenther adapted the getdents(2) directory-reading system call to 64-bit ino_t, the userland data format changed to 8-byte-alignment, making it incompatible with the 4-byte-alignment UFS on-disk format.  As a result of code refactoring the bad bytes were not copied to userland. Bad bytes will remain in old directories on old filesystems, but nothing makes those bytes user visible.
  There will be no errata or syspatch issued.  I urge other systems which do expose the information to userland to issue errata quickly, since this is a 254 byte infoleak of the stack which is great for ROP-chain building to attack some other bug. Especially if the kernel has no layout/link-order randomization ...</li>
  </ul>
  
  <hr>
</blockquote>

<h3><a href="https://itsfoss.com/nomadbsd/" target="_blank" rel="nofollow noopener">NomadBSD, a BSD for the Road</a></h3>

<blockquote>
  <p>As regular It’s FOSS readers should know, I like diving into the world of BSDs. Recently, I came across an interesting BSD that is designed to live on a thumb drive. Let’s take a look at NomadBSD.
  NomadBSD is different than most available BSDs. NomadBSD is a live system based on FreeBSD. It comes with automatic hardware detection and an initial config tool. NomadBSD is designed to “be used as a desktop system that works out of the box, but can also be used for data recovery, for educational purposes, or to test FreeBSD’s hardware compatibility.”
  This German BSD comes with an OpenBox-based desktop with the Plank application dock. NomadBSD makes use of the DSB project. DSB stands for “Desktop Suite (for) (Free)BSD” and consists of a collection of programs designed to create a simple and working environment without needing a ton of dependencies to use one tool. DSB is created by Marcel Kaiser one of the lead devs of NomadBSD.
  Just like the original BSD projects, you can contact the NomadBSD developers via a mailing list.</p>
</blockquote>

<ul>
<li>Version 1.2 Released</li>
</ul>

<blockquote>
  <p>NomadBSD recently released version 1.2 on April 21, 2019. This means that NomadBSD is now based on FreeBSD 12.0-p3. TRIM is now enabled by default. One of the biggest changes is that the initial command-line setup was replaced with a Qt graphical interface. They also added a Qt5 tool to install NomadBSD to your hard drive. A number of fixes were included to improve graphics support. They also added support for creating 32-bit images.</p>
</blockquote>

<ul>
<li>Thoughts on NomadBSD</li>
</ul>

<blockquote>
  <p>I first discovered NomadBSD back in January when they released 1.2-RC1. At the time, I had been unable to install Project Trident on my laptop and was very frustrated with BSDs. I downloaded NomadBSD and tried it out. I initially ran into issues reaching the desktop, but RC2 fixed that issue. However, I was unable to get on the internet, even though I had an Ethernet cable plugged in. Luckily, I found the wifi manager in the menu and was able to connect to my wifi.
  Overall, my experience with NomadBSD was pleasant. Once I figured out a few things, I was good to go. I hope that NomadBSD is the first of a new generation of BSDs that focus on mobility and ease of use. BSD has conquered the server world, it’s about time they figured out how to be more user-friendly.</p>
  
  <hr>
</blockquote>

<h2>News Roundup</h2>

<h3>[OpenBSD automatic</h3>

<p>upgrade](https://www.tumfatig.net/20190426/openbsd-automatic-upgrade/)</p>

<blockquote>
  <p>OpenBSD 6.5 advertises for an installer improvement: rdsetroot(8) (a build-time tool) is now available for general use. Used in combination with autoinstall.8, it is now really easy to do automatic upgrades of your OpenBSD instances.
  I first manually upgraded my OpenBSD sandbox to 6.5. Once that was done, I could use the stock rdsetroot(8) tool. The plan is quite simple: write an unattended installation response file, insert it to a bsd.rd 6.5 installation image and reboot my other OpenBSD instances using that image.</p>
</blockquote>

<ul>
<li>Extra notes</li>
</ul>

<blockquote>
  <p>There must be a way to run onetime commands (in the manner of fw_update) to automatically run sysmerge and packages upgrades. As for now, I’d rather do it manually.
  This worked like a charm on two Synology KVM instances using a single sd0 disk, on my Thinkpad X260 using Encrypted root with Keydisk and on a Vultr instance using Encrypted root with passphrase. And BTW, the upgrade on the X260 used the (iwn0) wireless connection.
  I just read that florian@ has released the sysupgrade(8) utility which should be released with OpenBSD 6.6. That will make upgrades even easier! Until then, happy upgrading.</p>
</blockquote>

<hr>

<h3><a href="https://reviews.freebsd.org/D19848" target="_blank" rel="nofollow noopener">FreeBSD Dtrace ext2fs Support</a></h3>

<ul>
<li><p>Which logs were replaced by dtrace-probes:</p>

<ul>
<li>Misc printf's under DEBUG macro in the blocks allocation path.</li>

<li>Different on-disk structures validation errors, now the filesystem will silently return EIO's.</li>

<li>Misc checksum errors, same as above.</li></ul></li>

<li><p>The only debug macro, which was leaved is EXT2FS<em>PRINT</em>EXTENTS.</p></li>

<li><p>It is impossible to replace it by dtrace-probes, because the additional logic is required to walk thru file extents.</p></li>

<li><p>The user still be able to see mount errors in the dmesg in case of:</p>

<ul>
<li>Filesystem features incompatibility.</li>

<li>Superblock checksum error.</li></ul>

</li>
</ul>

<hr>

<h3><a href="https://dataswamp.org/~solene/2019-04-17-ssh-tunneling.html" target="_blank" rel="nofollow noopener">Create a dedicated user for ssh tunneling only</a></h3>

<blockquote>
  <p>I use ssh tunneling A LOT, for everything. Yesterday, I removed the public access of my IMAP server, it’s now only available through ssh tunneling to access the daemon listening on localhost. I have plenty of daemons listening only on localhost that I can only reach through a ssh tunnel. If you don’t want to bother with ssh and redirect ports you need, you can also make a VPN (using ssh, openvpn, iked, tinc…) between your system and your server. I tend to avoid setting up VPN for the current use case as it requires more work and more maintenance than running ssh server and a ssh client.
  The last change, for my IMAP server, added an issue. I want my phone to access the IMAP server but I don’t want to connect to my main account from my phone for security reasons. So, I need a dedicated user that will only be allowed to forward ports.
  This is done very easily on OpenBSD.
  The steps are: 1. generate ssh keys for the new user 2. add an user with no password 3. allow public key for port forwarding
  Obviously, you must allow users (or only this one) to make port forwarding in your sshd_config.</p>
  
  <hr>
</blockquote>

<h3><a href="https://openbsd.amsterdam/upgrade.html" target="_blank" rel="nofollow noopener">That was easy. Some info on upgrading VMM VMs to 6.5</a></h3>

<blockquote>
  <p>We're running dedicated vmm(4)/vmd(8) servers to host opinionated VMs.
  OpenBSD 6.5 is released! There are two ways you can upgrade your VM.
  Either do a manual upgrade or leverage autoinstall(8). You can take care of it via the console with vmctl(8).</p>
</blockquote>

<ul>
<li>Upgrade yourself</li>
</ul>

<blockquote>
  <p>To get connected to the console you need to have access to the host your VM is running on. The same username and public SSH key, as provided for the VM, are used to create a local user on the host.
  When this is done you can use vmctl(8) to manage your VM. The options you have are:</p>
</blockquote>

<pre><code class="$ vmctl console id``` language-$ vmctl console id```">```$ vmctl start id [-c]```
</code></pre>

<p>$ vmctl stop id [-fw]```</p>

<pre><code class="-f Forcefully stop the VM without attempting a graceful shutdown.``` language--f Forcefully stop the VM without attempting a graceful shutdown.```">```-w Wait until the VM has been terminated.```
</code></pre>

<p>-c Automatically connect to the VM console.```</p>

<ul>
<li>See the Article for the rest of the guide</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://inks.tedunangst.com/l/3791" target="_blank" rel="nofollow noopener">powerpc64 architecture support in FreeBSD ports</a></li>

<li><a href="https://twitter.com/ribalinux/status/1117856218251517956" target="_blank" rel="nofollow noopener">GhostBSD 19.04 overview</a></li>

<li><a href="https://twitter.com/lattera/status/1119018409575026688" target="_blank" rel="nofollow noopener">HardenedBSD will have two user selectable ASLR implementations</a></li>

<li><a href="https://www.youtube.com/watch?v=S_aTzXVRRlM&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">NYCBUG 2016 Talk Shell-Fu Uploaded</a></li>

<li><a href="http://blog.zarfhome.com/2019/04/what-is-zil-anyway.html" target="_blank" rel="nofollow noopener">What is ZIL anyway?</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Quentin - <a href="http://dpaste.com/0K9PQW9#wrap" target="_blank" rel="nofollow noopener">Organize an Ada/BSD interview</a></li>

<li>DJ - <a href="http://dpaste.com/3KTQ45G#wrap" target="_blank" rel="nofollow noopener">Update</a></li>

<li>Patrick - <a href="http://dpaste.com/07V6ZJN" target="_blank" rel="nofollow noopener">Bhyve frontends</a></li>

<li>A small programming note: After BSDNow episode 300, the podcast will switch to audio-only, using a new higher quality recording and production system. The live stream will likely still include video.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0298.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>36 year old UFS bug fixed, a BSD for the road, automatic upgrades with OpenBSD, DTrace ext2fs support in FreeBSD, Dedicated SSH tunnel user, upgrading VMM VMs to OpenBSD 6.5, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=347066" target="_blank" rel="nofollow noopener">36+ year old bug in FFS/UFS discovered and patched </a></h3>

<blockquote>
  <p>This update eliminates a kernel stack disclosure bug in UFS/FFS directory entries that is caused by uninitialized directory entry padding written to the disk.</p>
  
  <ul>
  <li>When the directory entry is written to disk, it is written as a full 32bit entry, and the unused bytes were not initialized, so could possibly contain sensitive data from the kernel stack
  It can be viewed by any user with read access to that directory. Up to 3 bytes of kernel stack are disclosed per file entry, depending on the the amount of padding the kernel needs to pad out the entry to a 32 bit boundary. The offset in the kernel stack that is disclosed is a function of the filename size. Furthermore, if the user can create files in a directory, this 3 byte window can be expanded 3 bytes at a time to a 254 byte window with 75% of the data in that window exposed. The additional exposure is done by removing the entry, creating a new entry with a 4-byte longer name, extracting 3 more bytes by reading the directory, and repeating until a 252 byte name is created.
  This exploit works in part because the area of the kernel stack that is being disclosed is in an area that typically doesn't change that often (perhaps a few times a second on a lightly loaded system), and these file creates and unlinks themselves don't overwrite the area of kernel stack being disclosed.
  It appears that this bug originated with the creation of the Fast File System in 4.1b-BSD (Circa 1982, more than 36 years ago!), and is likely present in every Unix or Unix-like system that uses UFS/FFS. Amazingly, nobody noticed until now.
  This update also adds the -z flag to fsck_ffs to have it scrub the leaked information in the name padding of existing directories. It only needs to be run once on each UFS/FFS filesystem after a patched kernel is installed and running.
  Submitted by: David G. Lawrence <a href="mailto:dg@dglawrence.com" target="_blank" rel="nofollow noopener">dg@dglawrence.com</a></li>
  
  <li>So a patched kernel will no longer leak this data, and running the <code>fsck_ffs -z</code> command will erase any leaked data that may exist on your system</li>
  
  <li><a href="https://marc.info/?l=openbsd-cvs&amp;m=155699268122858&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD commit with additional detail on mitigations</a>
  The impact on OpenBSD is very limited:
  1 - such stack bytes can be found in raw-device reads, from group operator. If you can read the raw disks you can undertake other more powerful actions.
  2 - read(2) upon directory fd was disabled July 1997 because I didn't like how grep * would display garbage and mess up the tty, and applying vis(3) for just directory reads seemed silly.  read(2) was changed to return 0 (EOF).  Sep 2016 this was further changed to EISDIR, so you still cannot see the bad bytes.
  3 - In 2013 when guenther adapted the getdents(2) directory-reading system call to 64-bit ino_t, the userland data format changed to 8-byte-alignment, making it incompatible with the 4-byte-alignment UFS on-disk format.  As a result of code refactoring the bad bytes were not copied to userland. Bad bytes will remain in old directories on old filesystems, but nothing makes those bytes user visible.
  There will be no errata or syspatch issued.  I urge other systems which do expose the information to userland to issue errata quickly, since this is a 254 byte infoleak of the stack which is great for ROP-chain building to attack some other bug. Especially if the kernel has no layout/link-order randomization ...</li>
  </ul>
  
  <hr>
</blockquote>

<h3><a href="https://itsfoss.com/nomadbsd/" target="_blank" rel="nofollow noopener">NomadBSD, a BSD for the Road</a></h3>

<blockquote>
  <p>As regular It’s FOSS readers should know, I like diving into the world of BSDs. Recently, I came across an interesting BSD that is designed to live on a thumb drive. Let’s take a look at NomadBSD.
  NomadBSD is different than most available BSDs. NomadBSD is a live system based on FreeBSD. It comes with automatic hardware detection and an initial config tool. NomadBSD is designed to “be used as a desktop system that works out of the box, but can also be used for data recovery, for educational purposes, or to test FreeBSD’s hardware compatibility.”
  This German BSD comes with an OpenBox-based desktop with the Plank application dock. NomadBSD makes use of the DSB project. DSB stands for “Desktop Suite (for) (Free)BSD” and consists of a collection of programs designed to create a simple and working environment without needing a ton of dependencies to use one tool. DSB is created by Marcel Kaiser one of the lead devs of NomadBSD.
  Just like the original BSD projects, you can contact the NomadBSD developers via a mailing list.</p>
</blockquote>

<ul>
<li>Version 1.2 Released</li>
</ul>

<blockquote>
  <p>NomadBSD recently released version 1.2 on April 21, 2019. This means that NomadBSD is now based on FreeBSD 12.0-p3. TRIM is now enabled by default. One of the biggest changes is that the initial command-line setup was replaced with a Qt graphical interface. They also added a Qt5 tool to install NomadBSD to your hard drive. A number of fixes were included to improve graphics support. They also added support for creating 32-bit images.</p>
</blockquote>

<ul>
<li>Thoughts on NomadBSD</li>
</ul>

<blockquote>
  <p>I first discovered NomadBSD back in January when they released 1.2-RC1. At the time, I had been unable to install Project Trident on my laptop and was very frustrated with BSDs. I downloaded NomadBSD and tried it out. I initially ran into issues reaching the desktop, but RC2 fixed that issue. However, I was unable to get on the internet, even though I had an Ethernet cable plugged in. Luckily, I found the wifi manager in the menu and was able to connect to my wifi.
  Overall, my experience with NomadBSD was pleasant. Once I figured out a few things, I was good to go. I hope that NomadBSD is the first of a new generation of BSDs that focus on mobility and ease of use. BSD has conquered the server world, it’s about time they figured out how to be more user-friendly.</p>
  
  <hr>
</blockquote>

<h2>News Roundup</h2>

<h3>[OpenBSD automatic</h3>

<p>upgrade](https://www.tumfatig.net/20190426/openbsd-automatic-upgrade/)</p>

<blockquote>
  <p>OpenBSD 6.5 advertises for an installer improvement: rdsetroot(8) (a build-time tool) is now available for general use. Used in combination with autoinstall.8, it is now really easy to do automatic upgrades of your OpenBSD instances.
  I first manually upgraded my OpenBSD sandbox to 6.5. Once that was done, I could use the stock rdsetroot(8) tool. The plan is quite simple: write an unattended installation response file, insert it to a bsd.rd 6.5 installation image and reboot my other OpenBSD instances using that image.</p>
</blockquote>

<ul>
<li>Extra notes</li>
</ul>

<blockquote>
  <p>There must be a way to run onetime commands (in the manner of fw_update) to automatically run sysmerge and packages upgrades. As for now, I’d rather do it manually.
  This worked like a charm on two Synology KVM instances using a single sd0 disk, on my Thinkpad X260 using Encrypted root with Keydisk and on a Vultr instance using Encrypted root with passphrase. And BTW, the upgrade on the X260 used the (iwn0) wireless connection.
  I just read that florian@ has released the sysupgrade(8) utility which should be released with OpenBSD 6.6. That will make upgrades even easier! Until then, happy upgrading.</p>
</blockquote>

<hr>

<h3><a href="https://reviews.freebsd.org/D19848" target="_blank" rel="nofollow noopener">FreeBSD Dtrace ext2fs Support</a></h3>

<ul>
<li><p>Which logs were replaced by dtrace-probes:</p>

<ul>
<li>Misc printf's under DEBUG macro in the blocks allocation path.</li>

<li>Different on-disk structures validation errors, now the filesystem will silently return EIO's.</li>

<li>Misc checksum errors, same as above.</li></ul></li>

<li><p>The only debug macro, which was leaved is EXT2FS<em>PRINT</em>EXTENTS.</p></li>

<li><p>It is impossible to replace it by dtrace-probes, because the additional logic is required to walk thru file extents.</p></li>

<li><p>The user still be able to see mount errors in the dmesg in case of:</p>

<ul>
<li>Filesystem features incompatibility.</li>

<li>Superblock checksum error.</li></ul>

</li>
</ul>

<hr>

<h3><a href="https://dataswamp.org/~solene/2019-04-17-ssh-tunneling.html" target="_blank" rel="nofollow noopener">Create a dedicated user for ssh tunneling only</a></h3>

<blockquote>
  <p>I use ssh tunneling A LOT, for everything. Yesterday, I removed the public access of my IMAP server, it’s now only available through ssh tunneling to access the daemon listening on localhost. I have plenty of daemons listening only on localhost that I can only reach through a ssh tunnel. If you don’t want to bother with ssh and redirect ports you need, you can also make a VPN (using ssh, openvpn, iked, tinc…) between your system and your server. I tend to avoid setting up VPN for the current use case as it requires more work and more maintenance than running ssh server and a ssh client.
  The last change, for my IMAP server, added an issue. I want my phone to access the IMAP server but I don’t want to connect to my main account from my phone for security reasons. So, I need a dedicated user that will only be allowed to forward ports.
  This is done very easily on OpenBSD.
  The steps are: 1. generate ssh keys for the new user 2. add an user with no password 3. allow public key for port forwarding
  Obviously, you must allow users (or only this one) to make port forwarding in your sshd_config.</p>
  
  <hr>
</blockquote>

<h3><a href="https://openbsd.amsterdam/upgrade.html" target="_blank" rel="nofollow noopener">That was easy. Some info on upgrading VMM VMs to 6.5</a></h3>

<blockquote>
  <p>We're running dedicated vmm(4)/vmd(8) servers to host opinionated VMs.
  OpenBSD 6.5 is released! There are two ways you can upgrade your VM.
  Either do a manual upgrade or leverage autoinstall(8). You can take care of it via the console with vmctl(8).</p>
</blockquote>

<ul>
<li>Upgrade yourself</li>
</ul>

<blockquote>
  <p>To get connected to the console you need to have access to the host your VM is running on. The same username and public SSH key, as provided for the VM, are used to create a local user on the host.
  When this is done you can use vmctl(8) to manage your VM. The options you have are:</p>
</blockquote>

<pre><code class="$ vmctl console id``` language-$ vmctl console id```">```$ vmctl start id [-c]```
</code></pre>

<p>$ vmctl stop id [-fw]```</p>

<pre><code class="-f Forcefully stop the VM without attempting a graceful shutdown.``` language--f Forcefully stop the VM without attempting a graceful shutdown.```">```-w Wait until the VM has been terminated.```
</code></pre>

<p>-c Automatically connect to the VM console.```</p>

<ul>
<li>See the Article for the rest of the guide</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://inks.tedunangst.com/l/3791" target="_blank" rel="nofollow noopener">powerpc64 architecture support in FreeBSD ports</a></li>

<li><a href="https://twitter.com/ribalinux/status/1117856218251517956" target="_blank" rel="nofollow noopener">GhostBSD 19.04 overview</a></li>

<li><a href="https://twitter.com/lattera/status/1119018409575026688" target="_blank" rel="nofollow noopener">HardenedBSD will have two user selectable ASLR implementations</a></li>

<li><a href="https://www.youtube.com/watch?v=S_aTzXVRRlM&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">NYCBUG 2016 Talk Shell-Fu Uploaded</a></li>

<li><a href="http://blog.zarfhome.com/2019/04/what-is-zil-anyway.html" target="_blank" rel="nofollow noopener">What is ZIL anyway?</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Quentin - <a href="http://dpaste.com/0K9PQW9#wrap" target="_blank" rel="nofollow noopener">Organize an Ada/BSD interview</a></li>

<li>DJ - <a href="http://dpaste.com/3KTQ45G#wrap" target="_blank" rel="nofollow noopener">Update</a></li>

<li>Patrick - <a href="http://dpaste.com/07V6ZJN" target="_blank" rel="nofollow noopener">Bhyve frontends</a></li>

<li>A small programming note: After BSDNow episode 300, the podcast will switch to audio-only, using a new higher quality recording and production system. The live stream will likely still include video.</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0298.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>297: Dragonfly In The Wild</title>
  <link>https://www.bsdnow.tv/297</link>
  <guid isPermaLink="false">b83c5930-57a8-4c27-855a-97b6d88f5f00</guid>
  <pubDate>Thu, 09 May 2019 00:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b83c5930-57a8-4c27-855a-97b6d88f5f00.mp3" length="24677382" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD ZFS vs. ZoL performance, Dragonfly 5.4.2 has been release, containing web services with iocell, Solaris 11.4 SRU8, Problem with SSH Agent forwarding, OpenBSD 6.4 to 6.5 upgrade guide, and more.</itunes:subtitle>
  <itunes:duration>40:16</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>&lt;p&gt;FreeBSD ZFS vs. ZoL performance, Dragonfly 5.4.2 has been release, containing web services with iocell, Solaris 11.4 SRU8, Problem with SSH Agent forwarding, OpenBSD 6.4 to 6.5 upgrade guide, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=article&amp;amp;item=freebsd-zol-april&amp;amp;num=1" target="_blank" rel="nofollow noopener"&gt;FreeBSD ZFS vs. ZoL Performance, Ubuntu ZFS On Linux Reference&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;With iX Systems having released new images of FreeBSD reworked with their ZFS On Linux code that is in development to ultimately replace their existing FreeBSD ZFS support derived from the code originally found in the Illumos source tree, here are some fresh benchmarks looking at the FreeBSD 12 performance of ZFS vs. ZoL vs. UFS and compared to Ubuntu Linux on the same system with EXT4 and ZFS.
  Using an Intel Xeon E3-1275 v6 with ASUS P10S-M WS motherboard, 2 x 8GB DDR4-2400 ECC UDIMMs, and Samsung 970 EVO Plus 500GB NVMe solid-state drive was used for all of this round of testing. Just a single modern NVMe SSD was used for this round of ZFS testing while as the FreeBSD ZoL code matures I'll test on multiple systems using a more diverse range of storage devices.
  FreeBSD 12 ZoL was tested using the iX Systems image and then fresh installs done of FreeBSD 12.0-RELEASE when defaulting to the existing ZFS root file-system support and again when using the aging UFS file-system. Ubuntu 18.04.2 LTS with the Linux 4.18 kernel was used when testing its default EXT4 file-system and then again when using the Ubuntu-ZFS ZoL support. Via the Phoronix Test Suite various BSD/Linux I/O benchmarks were carried out.
  Overall, the FreeBSD ZFS On Linux port is looking good so far and we are looking forward to it hopefully maturing in time for FreeBSD 13.0. Nice job to iX Systems and all of those involved, especially the ZFS On Linux project. Those wanting to help in testing can try the FreeBSD ZoL spins. Stay tuned for more benchmarks and on more diverse hardware as time allows and the FreeBSD ZoL support further matures, but so far at least the performance numbers are in good shape.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflybsd.org/release54/" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD 5.4.2 is out&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2019-April/358160.html" target="_blank" rel="nofollow noopener"&gt;Upgrading guide&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Here's the tag commit, for what has changed from &lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2019-April/718697.html" target="_blank" rel="nofollow noopener"&gt;5.4.1 to 5.4.2&lt;/a&gt;
  The normal ISO and IMG files are available for download and install, plus an uncompressed ISO image for those installing remotely.  I uploaded them to mirror-master.dragonflybsd.org last night so they should be at your local mirror or will be soon.  This version includes Matt's fix for the HAMMER2 corruption bug he identified recently.
  If you have an existing 5.4 system and are running a generic kernel, the normal upgrade process will work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; cd /usr/src
&amp;gt; git pull
&amp;gt; make buildworld.
&amp;gt; make buildkernel.
&amp;gt; make installkernel.
&amp;gt; make installworld
&amp;gt; make upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
  &lt;p&gt;After your next reboot, you can optionally update your rescue system:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; cd /usr/src
&amp;gt; make initrd
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
  &lt;p&gt;As always, make sure your packages are up to date:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; pkg update
&amp;gt; pkg upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://gioarc.me/2017/03/05/containing-web-services-with-iocell/" target="_blank" rel="nofollow noopener"&gt;Containing web services with iocell&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;I'm a huge fan of the FreeBSD jails feature. It is a great system for splitting services into logical units with all the performance of the bare metal system. In fact, this very site runs in its own jail! If this is starting to sound like LXC or Docker, it might surprise you to learn that OS-level virtualization has existed for quite some time. Kudos to the Linux folks for finally getting around to it. 😛 
  If you're interested in the history behind Jails, there is an excellent talk from Papers We Love on the subject: https://www.youtube.com/watch?v=hgN8pCMLI2U&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Getting started&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;There are plenty of options when it comes to setting up the jail system. Ezjail and Iocage seem popular, or you could do things manually. Iocage was recently rewritten in python, but was originally a set of shell scripts. That version has since been forked under the name Iocell, and I think it's pretty neat, so this tutorial will be using Iocell.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;To start, you'll need the following:


&lt;ul&gt;
&lt;li&gt;A FreeBSD install (we'll be using 11.0)&lt;/li&gt;

&lt;li&gt;The iocell package (available as a package, also in the ports tree)&lt;/li&gt;

&lt;li&gt;A ZFS pool for hosting the jails&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Once you have installed iocell and configured your ZFS pool, you'll need to run a few commands before creating your first jail. First, tell iocell which ZFS pool to use by issuing  iocell activate $POOLNAME. Iocell will create a few datasets.&lt;/p&gt;
  
  &lt;p&gt;As you can imagine, your jails are contained within the /iocell/jails dataset. The  /iocell/releases dataset is used for storing the next command we need to run,  iocell fetch. Iocell will ask you which release you'd like to pull down. Since we're running 11.0 on the host, pick 11.0-RELEASE. Iocell will download the necessary txz files and unpack them in /iocell/releases.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See Article for the rest of the walkthrough.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blogs.oracle.com/solaris/announcing-oracle-solaris-114-sru8" target="_blank" rel="nofollow noopener"&gt;Oracle Solaris 11.4 SRU8&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Today we are releasing the SRU 8 for Oracle Solaris 11.4. It is available via 'pkg update' from the support repository or by downloading the SRU from My Oracle Support Doc ID 2433412.1.&lt;/p&gt;
  
  &lt;ul&gt;
  &lt;li&gt;This SRU introduces the following enhancements:
  
  
  &lt;ul&gt;
  &lt;li&gt;Integration of 28060039 introduced an issue where any firmware update/query commands will log eereports and repeated execution of such commands led to faulty/degraded NIC. The issue has been addressed in this SRU.&lt;/li&gt;
  
  &lt;li&gt;UCB (libucb, librpcsoc, libdbm, libtermcap, and libcurses) libraries have been reinstated for Oracle Solaris 11.4&lt;/li&gt;
  
  &lt;li&gt;Re-introduction of the service fc-fabric.&lt;/li&gt;
  
  &lt;li&gt;ibus has been updated to 1.5.19&lt;/li&gt;&lt;/ul&gt;
  &lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The following components have also been updated to address security issues:


&lt;ul&gt;
&lt;li&gt;NTP has been updated to 4.2.8p12&lt;/li&gt;

&lt;li&gt;Firefox has been updated to 60.6.0esr&lt;/li&gt;

&lt;li&gt;BIND has been updated to 9.11.6&lt;/li&gt;

&lt;li&gt;OpenSSL has been updated to 1.0.2r&lt;/li&gt;

&lt;li&gt;MySQL has been updated to 5.6.43 &amp;amp; 5.7.25&lt;/li&gt;

&lt;li&gt;libxml2 has been updated to 2.9.9&lt;/li&gt;

&lt;li&gt;libxslt has been updated to 1.1.33&lt;/li&gt;

&lt;li&gt;Wireshark has been updated to 2.6.7&lt;/li&gt;

&lt;li&gt;ncurses has been updated to 6.1.0.20190105&lt;/li&gt;

&lt;li&gt;Apache Web Server has been updated to 2.4.38&lt;/li&gt;

&lt;li&gt;perl 5.22&lt;/li&gt;

&lt;li&gt;pkg.depot&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://defn.io/2019/04/12/ssh-forwarding/" target="_blank" rel="nofollow noopener"&gt;The Problem with SSH Agent Forwarding&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;After hacking the matrix.org website today, the attacker opened a series of GitHub issues mentioning the flaws he discovered. In one of those issues, he mentions that “complete compromise could have been avoided if developers were prohibited from using [SSH agent forwarding].”
  Here’s what man ssh_config has to say about ForwardAgent:  "Agent forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the agent’s Unix-domain socket) can access the local agent through the forwarded connection. An attacker cannot obtain key material from the agent, however they can perform operations on the keys that enable them to authenticate using the identities loaded into the agent.""
  Simply put: if your jump box is compromised and you use SSH agent forwarding to connect to another machine through it, then you risk also compromising the target machine!
  Instead, you should use either ProxyCommand or ProxyJump (added in OpenSSH 7.3). That way, ssh will forward the TCP connection to the target host via the jump box and the actual connection will be made on your workstation. If someone on the jump box tries to MITM your connection, then you will be warned by ssh.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;[&lt;a href="https://www.openbsd.org/faq/upgrade65.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Upgrade Guide: 6.4 to 6.5&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Start by performing the pre-upgrade steps. Next, boot from the install kernel, bsd.rd: use bootable install media, or place the 6.5 version of bsd.rd in the root of your filesystem and instruct the boot loader to boot this kernel. Once this kernel is booted, choose the (U)pgrade option and follow the prompts. Apply the configuration changes and remove the old files. Finish up by upgrading the packages: pkg_add -u.
  Alternatively, you can use the manual upgrade process.
  You may wish to check the errata page or upgrade to the stable branch to get any post-release fixes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Before rebooting into the install kernel&lt;/li&gt;

&lt;li&gt;Configuration and syntax changes&lt;/li&gt;

&lt;li&gt;Files to remove&lt;/li&gt;

&lt;li&gt;Special packages&lt;/li&gt;

&lt;li&gt;Upgrade without the install kernel&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-announce/2019-April/001873.html" target="_blank" rel="nofollow noopener"&gt;2019 FreeBSD Community Survey&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://blog.seagate.com/craftsman-ship/seagate-shows-dual-actuator-speed-gains-in-real-world-setup/" target="_blank" rel="nofollow noopener"&gt;Seagate runs Mach.2 demo on FreeBSD&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=2KoD-jXjHok&amp;amp;t=7s" target="_blank" rel="nofollow noopener"&gt;FreeBSD: Resizing and Growing Disks&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://old.reddit.com/r/freebsd/comments/bh1abv/loading_49_on_an_old_tandy_4025lx_386_16mb_1gb_hd/" target="_blank" rel="nofollow noopener"&gt;Loading 4.9 on an old Tandy 4025LX - 386, 16MB, 1GB HD. Good old external SCSI CD&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://forums.os108.org/d/6-os108-mate-20190422-released" target="_blank" rel="nofollow noopener"&gt;OS108 MATE 20190422 released&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Casey - &lt;a href="http://dpaste.com/39VJ7NH#wrap" target="_blank" rel="nofollow noopener"&gt;Oklahoma City &amp;amp; James&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Michael - &lt;a href="http://dpaste.com/2VSKEGW#wrap" target="_blank" rel="nofollow noopener"&gt;Question on SAS backplane (camcontrol?)&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Ales - &lt;a href="http://dpaste.com/0AD0HBY#wrap" target="_blank" rel="nofollow noopener"&gt;OpenBSD, FreeNAS, OpenZFS questions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0297.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, ZoL, iocell, Solaris, SSH, forwarding</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD ZFS vs. ZoL performance, Dragonfly 5.4.2 has been release, containing web services with iocell, Solaris 11.4 SRU8, Problem with SSH Agent forwarding, OpenBSD 6.4 to 6.5 upgrade guide, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=freebsd-zol-april&amp;num=1" target="_blank" rel="nofollow noopener">FreeBSD ZFS vs. ZoL Performance, Ubuntu ZFS On Linux Reference</a></h3>

<blockquote>
  <p>With iX Systems having released new images of FreeBSD reworked with their ZFS On Linux code that is in development to ultimately replace their existing FreeBSD ZFS support derived from the code originally found in the Illumos source tree, here are some fresh benchmarks looking at the FreeBSD 12 performance of ZFS vs. ZoL vs. UFS and compared to Ubuntu Linux on the same system with EXT4 and ZFS.
  Using an Intel Xeon E3-1275 v6 with ASUS P10S-M WS motherboard, 2 x 8GB DDR4-2400 ECC UDIMMs, and Samsung 970 EVO Plus 500GB NVMe solid-state drive was used for all of this round of testing. Just a single modern NVMe SSD was used for this round of ZFS testing while as the FreeBSD ZoL code matures I'll test on multiple systems using a more diverse range of storage devices.
  FreeBSD 12 ZoL was tested using the iX Systems image and then fresh installs done of FreeBSD 12.0-RELEASE when defaulting to the existing ZFS root file-system support and again when using the aging UFS file-system. Ubuntu 18.04.2 LTS with the Linux 4.18 kernel was used when testing its default EXT4 file-system and then again when using the Ubuntu-ZFS ZoL support. Via the Phoronix Test Suite various BSD/Linux I/O benchmarks were carried out.
  Overall, the FreeBSD ZFS On Linux port is looking good so far and we are looking forward to it hopefully maturing in time for FreeBSD 13.0. Nice job to iX Systems and all of those involved, especially the ZFS On Linux project. Those wanting to help in testing can try the FreeBSD ZoL spins. Stay tuned for more benchmarks and on more diverse hardware as time allows and the FreeBSD ZoL support further matures, but so far at least the performance numbers are in good shape.</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflybsd.org/release54/" target="_blank" rel="nofollow noopener">DragonFlyBSD 5.4.2 is out</a></h3>

<p><a href="http://lists.dragonflybsd.org/pipermail/users/2019-April/358160.html" target="_blank" rel="nofollow noopener">Upgrading guide</a></p>

<blockquote>
  <p>Here's the tag commit, for what has changed from <a href="http://lists.dragonflybsd.org/pipermail/commits/2019-April/718697.html" target="_blank" rel="nofollow noopener">5.4.1 to 5.4.2</a>
  The normal ISO and IMG files are available for download and install, plus an uncompressed ISO image for those installing remotely.  I uploaded them to mirror-master.dragonflybsd.org last night so they should be at your local mirror or will be soon.  This version includes Matt's fix for the HAMMER2 corruption bug he identified recently.
  If you have an existing 5.4 system and are running a generic kernel, the normal upgrade process will work.</p>
</blockquote>

<pre><code>&gt; cd /usr/src
&gt; git pull
&gt; make buildworld.
&gt; make buildkernel.
&gt; make installkernel.
&gt; make installworld
&gt; make upgrade
</code></pre>

<blockquote>
  <p>After your next reboot, you can optionally update your rescue system:</p>
</blockquote>

<pre><code>&gt; cd /usr/src
&gt; make initrd
</code></pre>

<blockquote>
  <p>As always, make sure your packages are up to date:</p>
</blockquote>

<pre><code>&gt; pkg update
&gt; pkg upgrade
</code></pre>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://gioarc.me/2017/03/05/containing-web-services-with-iocell/" target="_blank" rel="nofollow noopener">Containing web services with iocell</a></h3>

<blockquote>
  <p>I'm a huge fan of the FreeBSD jails feature. It is a great system for splitting services into logical units with all the performance of the bare metal system. In fact, this very site runs in its own jail! If this is starting to sound like LXC or Docker, it might surprise you to learn that OS-level virtualization has existed for quite some time. Kudos to the Linux folks for finally getting around to it. 😛 
  If you're interested in the history behind Jails, there is an excellent talk from Papers We Love on the subject: https://www.youtube.com/watch?v=hgN8pCMLI2U</p>
</blockquote>

<ul>
<li>Getting started</li>
</ul>

<blockquote>
  <p>There are plenty of options when it comes to setting up the jail system. Ezjail and Iocage seem popular, or you could do things manually. Iocage was recently rewritten in python, but was originally a set of shell scripts. That version has since been forked under the name Iocell, and I think it's pretty neat, so this tutorial will be using Iocell.</p>
</blockquote>

<ul>
<li>To start, you'll need the following:


<ul>
<li>A FreeBSD install (we'll be using 11.0)</li>

<li>The iocell package (available as a package, also in the ports tree)</li>

<li>A ZFS pool for hosting the jails</li></ul>
</li>
</ul>

<blockquote>
  <p>Once you have installed iocell and configured your ZFS pool, you'll need to run a few commands before creating your first jail. First, tell iocell which ZFS pool to use by issuing  iocell activate $POOLNAME. Iocell will create a few datasets.</p>
  
  <p>As you can imagine, your jails are contained within the /iocell/jails dataset. The  /iocell/releases dataset is used for storing the next command we need to run,  iocell fetch. Iocell will ask you which release you'd like to pull down. Since we're running 11.0 on the host, pick 11.0-RELEASE. Iocell will download the necessary txz files and unpack them in /iocell/releases.</p>
</blockquote>

<ul>
<li>See Article for the rest of the walkthrough.</li>
</ul>

<hr>

<h3><a href="https://blogs.oracle.com/solaris/announcing-oracle-solaris-114-sru8" target="_blank" rel="nofollow noopener">Oracle Solaris 11.4 SRU8</a></h3>

<blockquote>
  <p>Today we are releasing the SRU 8 for Oracle Solaris 11.4. It is available via 'pkg update' from the support repository or by downloading the SRU from My Oracle Support Doc ID 2433412.1.</p>
  
  <ul>
  <li>This SRU introduces the following enhancements:
  
  
  <ul>
  <li>Integration of 28060039 introduced an issue where any firmware update/query commands will log eereports and repeated execution of such commands led to faulty/degraded NIC. The issue has been addressed in this SRU.</li>
  
  <li>UCB (libucb, librpcsoc, libdbm, libtermcap, and libcurses) libraries have been reinstated for Oracle Solaris 11.4</li>
  
  <li>Re-introduction of the service fc-fabric.</li>
  
  <li>ibus has been updated to 1.5.19</li></ul>
  </li>
  </ul>
</blockquote>

<ul>
<li>The following components have also been updated to address security issues:


<ul>
<li>NTP has been updated to 4.2.8p12</li>

<li>Firefox has been updated to 60.6.0esr</li>

<li>BIND has been updated to 9.11.6</li>

<li>OpenSSL has been updated to 1.0.2r</li>

<li>MySQL has been updated to 5.6.43 &amp; 5.7.25</li>

<li>libxml2 has been updated to 2.9.9</li>

<li>libxslt has been updated to 1.1.33</li>

<li>Wireshark has been updated to 2.6.7</li>

<li>ncurses has been updated to 6.1.0.20190105</li>

<li>Apache Web Server has been updated to 2.4.38</li>

<li>perl 5.22</li>

<li>pkg.depot</li></ul>
</li>
</ul>

<hr>

<h3><a href="https://defn.io/2019/04/12/ssh-forwarding/" target="_blank" rel="nofollow noopener">The Problem with SSH Agent Forwarding</a></h3>

<blockquote>
  <p>After hacking the matrix.org website today, the attacker opened a series of GitHub issues mentioning the flaws he discovered. In one of those issues, he mentions that “complete compromise could have been avoided if developers were prohibited from using [SSH agent forwarding].”
  Here’s what man ssh_config has to say about ForwardAgent:  "Agent forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the agent’s Unix-domain socket) can access the local agent through the forwarded connection. An attacker cannot obtain key material from the agent, however they can perform operations on the keys that enable them to authenticate using the identities loaded into the agent.""
  Simply put: if your jump box is compromised and you use SSH agent forwarding to connect to another machine through it, then you risk also compromising the target machine!
  Instead, you should use either ProxyCommand or ProxyJump (added in OpenSSH 7.3). That way, ssh will forward the TCP connection to the target host via the jump box and the actual connection will be made on your workstation. If someone on the jump box tries to MITM your connection, then you will be warned by ssh.</p>
</blockquote>

<hr>

<h3>[<a href="https://www.openbsd.org/faq/upgrade65.html" target="_blank" rel="nofollow noopener">OpenBSD Upgrade Guide: 6.4 to 6.5</a></h3>

<blockquote>
  <p>Start by performing the pre-upgrade steps. Next, boot from the install kernel, bsd.rd: use bootable install media, or place the 6.5 version of bsd.rd in the root of your filesystem and instruct the boot loader to boot this kernel. Once this kernel is booted, choose the (U)pgrade option and follow the prompts. Apply the configuration changes and remove the old files. Finish up by upgrading the packages: pkg_add -u.
  Alternatively, you can use the manual upgrade process.
  You may wish to check the errata page or upgrade to the stable branch to get any post-release fixes.</p>
</blockquote>

<ul>
<li>Before rebooting into the install kernel</li>

<li>Configuration and syntax changes</li>

<li>Files to remove</li>

<li>Special packages</li>

<li>Upgrade without the install kernel</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2019-April/001873.html" target="_blank" rel="nofollow noopener">2019 FreeBSD Community Survey</a></li>

<li><a href="https://blog.seagate.com/craftsman-ship/seagate-shows-dual-actuator-speed-gains-in-real-world-setup/" target="_blank" rel="nofollow noopener">Seagate runs Mach.2 demo on FreeBSD</a></li>

<li><a href="https://www.youtube.com/watch?v=2KoD-jXjHok&amp;t=7s" target="_blank" rel="nofollow noopener">FreeBSD: Resizing and Growing Disks</a></li>

<li><a href="https://old.reddit.com/r/freebsd/comments/bh1abv/loading_49_on_an_old_tandy_4025lx_386_16mb_1gb_hd/" target="_blank" rel="nofollow noopener">Loading 4.9 on an old Tandy 4025LX - 386, 16MB, 1GB HD. Good old external SCSI CD</a></li>

<li><a href="https://forums.os108.org/d/6-os108-mate-20190422-released" target="_blank" rel="nofollow noopener">OS108 MATE 20190422 released</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Casey - <a href="http://dpaste.com/39VJ7NH#wrap" target="_blank" rel="nofollow noopener">Oklahoma City &amp; James</a></li>

<li>Michael - <a href="http://dpaste.com/2VSKEGW#wrap" target="_blank" rel="nofollow noopener">Question on SAS backplane (camcontrol?)</a></li>

<li>Ales - <a href="http://dpaste.com/0AD0HBY#wrap" target="_blank" rel="nofollow noopener">OpenBSD, FreeNAS, OpenZFS questions</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0297.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD ZFS vs. ZoL performance, Dragonfly 5.4.2 has been release, containing web services with iocell, Solaris 11.4 SRU8, Problem with SSH Agent forwarding, OpenBSD 6.4 to 6.5 upgrade guide, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=freebsd-zol-april&amp;num=1" target="_blank" rel="nofollow noopener">FreeBSD ZFS vs. ZoL Performance, Ubuntu ZFS On Linux Reference</a></h3>

<blockquote>
  <p>With iX Systems having released new images of FreeBSD reworked with their ZFS On Linux code that is in development to ultimately replace their existing FreeBSD ZFS support derived from the code originally found in the Illumos source tree, here are some fresh benchmarks looking at the FreeBSD 12 performance of ZFS vs. ZoL vs. UFS and compared to Ubuntu Linux on the same system with EXT4 and ZFS.
  Using an Intel Xeon E3-1275 v6 with ASUS P10S-M WS motherboard, 2 x 8GB DDR4-2400 ECC UDIMMs, and Samsung 970 EVO Plus 500GB NVMe solid-state drive was used for all of this round of testing. Just a single modern NVMe SSD was used for this round of ZFS testing while as the FreeBSD ZoL code matures I'll test on multiple systems using a more diverse range of storage devices.
  FreeBSD 12 ZoL was tested using the iX Systems image and then fresh installs done of FreeBSD 12.0-RELEASE when defaulting to the existing ZFS root file-system support and again when using the aging UFS file-system. Ubuntu 18.04.2 LTS with the Linux 4.18 kernel was used when testing its default EXT4 file-system and then again when using the Ubuntu-ZFS ZoL support. Via the Phoronix Test Suite various BSD/Linux I/O benchmarks were carried out.
  Overall, the FreeBSD ZFS On Linux port is looking good so far and we are looking forward to it hopefully maturing in time for FreeBSD 13.0. Nice job to iX Systems and all of those involved, especially the ZFS On Linux project. Those wanting to help in testing can try the FreeBSD ZoL spins. Stay tuned for more benchmarks and on more diverse hardware as time allows and the FreeBSD ZoL support further matures, but so far at least the performance numbers are in good shape.</p>
</blockquote>

<hr>

<h3><a href="https://www.dragonflybsd.org/release54/" target="_blank" rel="nofollow noopener">DragonFlyBSD 5.4.2 is out</a></h3>

<p><a href="http://lists.dragonflybsd.org/pipermail/users/2019-April/358160.html" target="_blank" rel="nofollow noopener">Upgrading guide</a></p>

<blockquote>
  <p>Here's the tag commit, for what has changed from <a href="http://lists.dragonflybsd.org/pipermail/commits/2019-April/718697.html" target="_blank" rel="nofollow noopener">5.4.1 to 5.4.2</a>
  The normal ISO and IMG files are available for download and install, plus an uncompressed ISO image for those installing remotely.  I uploaded them to mirror-master.dragonflybsd.org last night so they should be at your local mirror or will be soon.  This version includes Matt's fix for the HAMMER2 corruption bug he identified recently.
  If you have an existing 5.4 system and are running a generic kernel, the normal upgrade process will work.</p>
</blockquote>

<pre><code>&gt; cd /usr/src
&gt; git pull
&gt; make buildworld.
&gt; make buildkernel.
&gt; make installkernel.
&gt; make installworld
&gt; make upgrade
</code></pre>

<blockquote>
  <p>After your next reboot, you can optionally update your rescue system:</p>
</blockquote>

<pre><code>&gt; cd /usr/src
&gt; make initrd
</code></pre>

<blockquote>
  <p>As always, make sure your packages are up to date:</p>
</blockquote>

<pre><code>&gt; pkg update
&gt; pkg upgrade
</code></pre>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://gioarc.me/2017/03/05/containing-web-services-with-iocell/" target="_blank" rel="nofollow noopener">Containing web services with iocell</a></h3>

<blockquote>
  <p>I'm a huge fan of the FreeBSD jails feature. It is a great system for splitting services into logical units with all the performance of the bare metal system. In fact, this very site runs in its own jail! If this is starting to sound like LXC or Docker, it might surprise you to learn that OS-level virtualization has existed for quite some time. Kudos to the Linux folks for finally getting around to it. 😛 
  If you're interested in the history behind Jails, there is an excellent talk from Papers We Love on the subject: https://www.youtube.com/watch?v=hgN8pCMLI2U</p>
</blockquote>

<ul>
<li>Getting started</li>
</ul>

<blockquote>
  <p>There are plenty of options when it comes to setting up the jail system. Ezjail and Iocage seem popular, or you could do things manually. Iocage was recently rewritten in python, but was originally a set of shell scripts. That version has since been forked under the name Iocell, and I think it's pretty neat, so this tutorial will be using Iocell.</p>
</blockquote>

<ul>
<li>To start, you'll need the following:


<ul>
<li>A FreeBSD install (we'll be using 11.0)</li>

<li>The iocell package (available as a package, also in the ports tree)</li>

<li>A ZFS pool for hosting the jails</li></ul>
</li>
</ul>

<blockquote>
  <p>Once you have installed iocell and configured your ZFS pool, you'll need to run a few commands before creating your first jail. First, tell iocell which ZFS pool to use by issuing  iocell activate $POOLNAME. Iocell will create a few datasets.</p>
  
  <p>As you can imagine, your jails are contained within the /iocell/jails dataset. The  /iocell/releases dataset is used for storing the next command we need to run,  iocell fetch. Iocell will ask you which release you'd like to pull down. Since we're running 11.0 on the host, pick 11.0-RELEASE. Iocell will download the necessary txz files and unpack them in /iocell/releases.</p>
</blockquote>

<ul>
<li>See Article for the rest of the walkthrough.</li>
</ul>

<hr>

<h3><a href="https://blogs.oracle.com/solaris/announcing-oracle-solaris-114-sru8" target="_blank" rel="nofollow noopener">Oracle Solaris 11.4 SRU8</a></h3>

<blockquote>
  <p>Today we are releasing the SRU 8 for Oracle Solaris 11.4. It is available via 'pkg update' from the support repository or by downloading the SRU from My Oracle Support Doc ID 2433412.1.</p>
  
  <ul>
  <li>This SRU introduces the following enhancements:
  
  
  <ul>
  <li>Integration of 28060039 introduced an issue where any firmware update/query commands will log eereports and repeated execution of such commands led to faulty/degraded NIC. The issue has been addressed in this SRU.</li>
  
  <li>UCB (libucb, librpcsoc, libdbm, libtermcap, and libcurses) libraries have been reinstated for Oracle Solaris 11.4</li>
  
  <li>Re-introduction of the service fc-fabric.</li>
  
  <li>ibus has been updated to 1.5.19</li></ul>
  </li>
  </ul>
</blockquote>

<ul>
<li>The following components have also been updated to address security issues:


<ul>
<li>NTP has been updated to 4.2.8p12</li>

<li>Firefox has been updated to 60.6.0esr</li>

<li>BIND has been updated to 9.11.6</li>

<li>OpenSSL has been updated to 1.0.2r</li>

<li>MySQL has been updated to 5.6.43 &amp; 5.7.25</li>

<li>libxml2 has been updated to 2.9.9</li>

<li>libxslt has been updated to 1.1.33</li>

<li>Wireshark has been updated to 2.6.7</li>

<li>ncurses has been updated to 6.1.0.20190105</li>

<li>Apache Web Server has been updated to 2.4.38</li>

<li>perl 5.22</li>

<li>pkg.depot</li></ul>
</li>
</ul>

<hr>

<h3><a href="https://defn.io/2019/04/12/ssh-forwarding/" target="_blank" rel="nofollow noopener">The Problem with SSH Agent Forwarding</a></h3>

<blockquote>
  <p>After hacking the matrix.org website today, the attacker opened a series of GitHub issues mentioning the flaws he discovered. In one of those issues, he mentions that “complete compromise could have been avoided if developers were prohibited from using [SSH agent forwarding].”
  Here’s what man ssh_config has to say about ForwardAgent:  "Agent forwarding should be enabled with caution. Users with the ability to bypass file permissions on the remote host (for the agent’s Unix-domain socket) can access the local agent through the forwarded connection. An attacker cannot obtain key material from the agent, however they can perform operations on the keys that enable them to authenticate using the identities loaded into the agent.""
  Simply put: if your jump box is compromised and you use SSH agent forwarding to connect to another machine through it, then you risk also compromising the target machine!
  Instead, you should use either ProxyCommand or ProxyJump (added in OpenSSH 7.3). That way, ssh will forward the TCP connection to the target host via the jump box and the actual connection will be made on your workstation. If someone on the jump box tries to MITM your connection, then you will be warned by ssh.</p>
</blockquote>

<hr>

<h3>[<a href="https://www.openbsd.org/faq/upgrade65.html" target="_blank" rel="nofollow noopener">OpenBSD Upgrade Guide: 6.4 to 6.5</a></h3>

<blockquote>
  <p>Start by performing the pre-upgrade steps. Next, boot from the install kernel, bsd.rd: use bootable install media, or place the 6.5 version of bsd.rd in the root of your filesystem and instruct the boot loader to boot this kernel. Once this kernel is booted, choose the (U)pgrade option and follow the prompts. Apply the configuration changes and remove the old files. Finish up by upgrading the packages: pkg_add -u.
  Alternatively, you can use the manual upgrade process.
  You may wish to check the errata page or upgrade to the stable branch to get any post-release fixes.</p>
</blockquote>

<ul>
<li>Before rebooting into the install kernel</li>

<li>Configuration and syntax changes</li>

<li>Files to remove</li>

<li>Special packages</li>

<li>Upgrade without the install kernel</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2019-April/001873.html" target="_blank" rel="nofollow noopener">2019 FreeBSD Community Survey</a></li>

<li><a href="https://blog.seagate.com/craftsman-ship/seagate-shows-dual-actuator-speed-gains-in-real-world-setup/" target="_blank" rel="nofollow noopener">Seagate runs Mach.2 demo on FreeBSD</a></li>

<li><a href="https://www.youtube.com/watch?v=2KoD-jXjHok&amp;t=7s" target="_blank" rel="nofollow noopener">FreeBSD: Resizing and Growing Disks</a></li>

<li><a href="https://old.reddit.com/r/freebsd/comments/bh1abv/loading_49_on_an_old_tandy_4025lx_386_16mb_1gb_hd/" target="_blank" rel="nofollow noopener">Loading 4.9 on an old Tandy 4025LX - 386, 16MB, 1GB HD. Good old external SCSI CD</a></li>

<li><a href="https://forums.os108.org/d/6-os108-mate-20190422-released" target="_blank" rel="nofollow noopener">OS108 MATE 20190422 released</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Casey - <a href="http://dpaste.com/39VJ7NH#wrap" target="_blank" rel="nofollow noopener">Oklahoma City &amp; James</a></li>

<li>Michael - <a href="http://dpaste.com/2VSKEGW#wrap" target="_blank" rel="nofollow noopener">Question on SAS backplane (camcontrol?)</a></li>

<li>Ales - <a href="http://dpaste.com/0AD0HBY#wrap" target="_blank" rel="nofollow noopener">OpenBSD, FreeNAS, OpenZFS questions</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0297.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>296: It’s Alive: OpenBSD 6.5</title>
  <link>https://www.bsdnow.tv/296</link>
  <guid isPermaLink="false">81313d3c-40f8-49f3-bc58-f34f5dfcf51d</guid>
  <pubDate>Fri, 03 May 2019 13:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/81313d3c-40f8-49f3-bc58-f34f5dfcf51d.mp3" length="37476669" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 6.5 has been released, mount ZFS datasets anywhere, help test upcoming NetBSD 9 branch, LibreSSL 2.9.1 is available, Bail Bond Denied Edition of FreeBSD Mastery: Jails, and one reason ed(1) was a good editor back in the days in this week’s episode.</itunes:subtitle>
  <itunes:duration>1:01:35</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>&lt;p&gt;OpenBSD 6.5 has been released, mount ZFS datasets anywhere, help test upcoming NetBSD 9 branch, LibreSSL 2.9.1 is available, Bail Bond Denied Edition of FreeBSD Mastery: Jails, and one reason ed(1) was a good editor back in the days in this week’s episode.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.openbsd.org/65.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.5 Released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.openbsd.org/plus65.html" target="_blank" rel="nofollow noopener"&gt;Changelog&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://www.openbsd.org/ftp.html" target="_blank" rel="nofollow noopener"&gt;Mirrors&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;6.5 Includes


&lt;ul&gt;
&lt;li&gt;OpenSMTPD 6.5.0&lt;/li&gt;

&lt;li&gt;LibreSSL 2.9.1&lt;/li&gt;

&lt;li&gt;OpenSSH 8.0&lt;/li&gt;

&lt;li&gt;Mandoc 1.14.5&lt;/li&gt;

&lt;li&gt;Xenocara&lt;/li&gt;

&lt;li&gt;LLVM/Clang 7.0.1 (+ patches)&lt;/li&gt;

&lt;li&gt;GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;

&lt;li&gt;Many pre-built packages for each architecture:


&lt;ul&gt;
&lt;li&gt;aarch64: 9654&lt;/li&gt;

&lt;li&gt;amd64: 10602&lt;/li&gt;

&lt;li&gt;i386: 10535&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2019/04/22/mount-your-zfs-datasets-anywhere-you-want/" target="_blank" rel="nofollow noopener"&gt;Mount your ZFS datasets anywhere you want&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;ZFS is very flexible about mountpoints, and there are many features available to provide great flexibility.
  When you create zpool main&lt;em&gt;tank, the default mountpoint is /main&lt;/em&gt;tank.
  You might be happy with that, but you don’t have to be content. You can do magical things.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Some highlights are:


&lt;ul&gt;
&lt;li&gt;mount point can be inherited&lt;/li&gt;

&lt;li&gt;not all filesystems in a zpool need to be mounted&lt;/li&gt;

&lt;li&gt;each filesystem (directory) can have different ZFS characteristics&lt;/li&gt;

&lt;li&gt;In my case, let’s look at this new zpool I created earlier today and I will show you some very simple alternatives. This zpool use NVMe devices which should be faster than SSDs especially when used with multiple concurrent writes. This is my plan: run all the Bacula regression tests concurrently.&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mail-index.netbsd.org/current-users/2019/04/24/msg035645.html" target="_blank" rel="nofollow noopener"&gt;Branch for netbsd 9 upcoming, please help and test -current&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Folks,
  once again we are quite late for branching the next NetBSD release (NetBSD 9).
  Initially planned to happen early in February 2019, we are now approaching May and it is unlikely that the branch will happen before that.
  On the positive side, lots of good things landed in -current in between, like new Mesa, new jemalloc, lots of ZFS improvements - and some of those would be hard to pull up to the branch later.
  On the bad side we saw lots of churn in -current recently, and there is quite  some fallout where we not even have a good overview right now. And this is where  you can help:&lt;/p&gt;
  
  &lt;ul&gt;
  &lt;li&gt;please test -current, on all the various machines you have&lt;/li&gt;
  
  &lt;li&gt;especially interesting would be test results from uncommon architectures
  or strange combinations (like the sparc userland on sparc64 kernel issue
  I ran in yesterday)
  Please test, report success, and file PRs for failures!
  We will likely announce the real branch date on quite short notice, the likely next candidates would be mid may or end of may.
  We may need to do extra steps after the branch (like switch some architectures back to old jemalloc on the branch). However, the less difference between -current and the branch, the easier will the release cycle go.
  Our goal is to have an unprecedented short release cycle this time. But..
  we always say that upfront.&lt;/li&gt;
  &lt;/ul&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-announce&amp;amp;m=155590112606279&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;LibreSSL 2.9.1 Released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;We have released LibreSSL 2.9.1, which will be arriving in the LibreSSL
  directory of your local OpenBSD mirror soon. This is the first stable release
  from the 2.9 series, which is also included with OpenBSD 6.5&lt;/p&gt;
  
  &lt;p&gt;It includes the following changes and improvements from LibreSSL 2.8.x:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;API and Documentation Enhancements&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CRYPTO_LOCK is now automatically initialized, with the legacy
callbacks stubbed for compatibility.&lt;/li&gt;

&lt;li&gt;Added the SM3 hash function from the Chinese standard GB/T 32905-2016.&lt;/li&gt;

&lt;li&gt;Added the SM4 block cipher from the Chinese standard GB/T 32907-2016.&lt;/li&gt;

&lt;li&gt;Added more OPENSSL&lt;em&gt;NO&lt;/em&gt;* macros for compatibility with OpenSSL.&lt;/li&gt;

&lt;li&gt;Partial port of the OpenSSL EC&lt;em&gt;KEY&lt;/em&gt;METHOD API for use by OpenSSH.&lt;/li&gt;

&lt;li&gt;Implemented further missing OpenSSL 1.1 API.&lt;/li&gt;

&lt;li&gt;Added support for XChaCha20 and XChaCha20-Poly1305.&lt;/li&gt;

&lt;li&gt;Added support for AES key wrap constructions via the EVP interface.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Compatibility Changes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added pbkdf2 key derivation support to openssl(1) enc.&lt;/li&gt;

&lt;li&gt;Changed the default digest type of openssl(1) enc to sha256.&lt;/li&gt;

&lt;li&gt;Changed the default digest type of openssl(1) dgst to sha256.&lt;/li&gt;

&lt;li&gt;Changed the default digest type of openssl(1) x509 -fingerprint to sha256.&lt;/li&gt;

&lt;li&gt;Changed the default digest type of openssl(1) crl -fingerprint to sha256.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Testing and Proactive Security&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added extensive interoperability tests between LibreSSL and OpenSSL
1.0 and 1.1.&lt;/li&gt;

&lt;li&gt;Added additional Wycheproof tests and related bug fixes.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Internal Improvements&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simplified sigalgs option processing and handshake signing
algorithm selection.&lt;/li&gt;

&lt;li&gt;Added the ability to use the RSA PSS algorithm for handshake signatures.&lt;/li&gt;

&lt;li&gt;Added bn&lt;em&gt;rand&lt;/em&gt;interval() and use it in code needing ranges of
random bn values.&lt;/li&gt;

&lt;li&gt;Added functionality to derive early, handshake, and application
secrets as per RFC8446.&lt;/li&gt;

&lt;li&gt;Added handshake state machine from RFC8446.&lt;/li&gt;

&lt;li&gt;Removed some ASN.1 related code from libcrypto that had not been
used since around 2000.&lt;/li&gt;

&lt;li&gt;Unexported internal symbols and internalized more record layer structs.&lt;/li&gt;

&lt;li&gt;Removed SHA224 based handshake signatures from consideration for
use in a TLS 1.2 handshake.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Portable Improvements&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Added support for assembly optimizations on 32-bit ARM ELF targets.&lt;/li&gt;

&lt;li&gt;Added support for assembly optimizations on Mingw-w64 targets.&lt;/li&gt;

&lt;li&gt;Improved Android compatibility&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Bug Fixes&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Improved protection against timing side channels in ECDSA signature
generation.&lt;/li&gt;

&lt;li&gt;Coordinate blinding was added to some elliptic curves. This is the
last bit of the work by Brumley et al. to protect against the Portsmash
vulnerability.&lt;/li&gt;

&lt;li&gt;Ensure transcript handshake is always freed with TLS 1.2.&lt;/li&gt;&lt;/ul&gt;

&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;The LibreSSL project continues improvement of the codebase to reflect modern,
  safe programming practices. We welcome feedback and improvements from the
  broader community. Thanks to all of the contributors who helped make this
  release possible.&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://mwl.io/archives/4227" target="_blank" rel="nofollow noopener"&gt;FreeBSD Mastery: Jails – Bail Bond Denied Edition&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;I had a brilliant, hideous idea: to produce a charity edition of FreeBSD Mastery: Jails featuring the cover art I would use if I was imprisoned and did not have access to a real cover artist. (Never mind that I wouldn’t be permitted to release books while in jail: we creative sorts scoff at mere legal and cultural details.)
  I originally wanted to produce my own take on the book’s cover art. My first attempt failed spectacularly.
  I downgraded my expectations and tried again. And again. And again.
  I’m pleased to reveal the final cover for FreeBSD Mastery: Jails–Bail Bond Edition!
  This cover represents the very pinnacle of my artistic talents, and is the result of literally hours of effort.
  But, as this book is available only to the winner of charity fund-raisers, purchase of this tome represents moral supremacy. I recommend flaunting it to your family, coworkers, and all those of lesser character.
  Get your copy by winning the BSDCan 2019 charity auction… or any other other auction-type event I deem worthwhile.
  As far as my moral fiber goes: I have learned that art is hard, and that artists are not paid enough.
  And if I am ever imprisoned, I do hope that you’ll contribute to my bail fund. Otherwise, you’ll get more covers like this one.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/unix/EdDesignedForCookedInput" target="_blank" rel="nofollow noopener"&gt;One reason ed(1) was a good editor back in the days of V7 Unix&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;It is common to describe ed(1) as being line oriented, as opposed to screen oriented editors like vi. This is completely accurate but it is perhaps not a complete enough description for today, because ed is line oriented in a way that is now uncommon. After all, you could say that your shell is line oriented too, and very few people use shells that work and feel the same way ed does.
  The surface difference between most people's shells and ed is that most people's shells have some version of cursor based interactive editing. The deeper difference is that this requires the shell to run in character by character TTY input mode, also called raw mode. By contrast, ed runs in what Unix usually calls cooked mode, where it reads whole lines from the kernel and the kernel handles things like backspace. All of ed's commands are designed so that they work in this line focused way (including being terminated by the end of the line), and as a whole ed's interface makes this whole line input approach natural. In fact I think ed makes it so natural that it's hard to think of things as being any other way. Ed was designed for line at a time input, not just to not be screen oriented.
  This input mode difference is not very important today, but in the days of V7 and serial terminals it made a real difference. In cooked mode, V7 ran very little code when you entered each character; almost everything was deferred until it could be processed in bulk by the kernel, and then handed to ed all in a single line which ed could also process all at once. A version of ed that tried to work in raw mode would have been much more resource intensive, even if it still operated on single lines at a time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-fs/2019-April/027603.html" target="_blank" rel="nofollow noopener"&gt;CFT for FreeBSD ZoL&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://github.com/wilyarti/simple-dns-adblock" target="_blank" rel="nofollow noopener"&gt;Simple DNS Adblock&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://twitter.com/unix_byte/status/1119904828182781958" target="_blank" rel="nofollow noopener"&gt;AT&amp;amp;T Unix PC in 1985&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-cvs&amp;amp;m=155523690813457&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD-current drm at 4.19, includes new support for Intel GPUs like Coffee Lake&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://twitter.com/cfenollosa/status/1122069042083323904" target="_blank" rel="nofollow noopener"&gt;"What are the differences between Linux and OpenBSD?" - Twitter thread&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://mail-index.netbsd.org/pkgsrc-users/2019/04/10/msg028308.html" target="_blank" rel="nofollow noopener"&gt;Announcing the pkgsrc-2019Q1 release (2019-04-10)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/0K2QFTM#wrap" target="_blank" rel="nofollow noopener"&gt;iocage&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Frank - &lt;a href="http://dpaste.com/3110R96#wrap" target="_blank" rel="nofollow noopener"&gt;Video from Level1Tech and a question&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Niall - &lt;a href="http://dpaste.com/0A32XDK#wrap" target="_blank" rel="nofollow noopener"&gt;Revision Control&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0296.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, zfs, libressl, ed, michael lucas, dns, pkgsrc</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 6.5 has been released, mount ZFS datasets anywhere, help test upcoming NetBSD 9 branch, LibreSSL 2.9.1 is available, Bail Bond Denied Edition of FreeBSD Mastery: Jails, and one reason ed(1) was a good editor back in the days in this week’s episode.</p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/65.html" target="_blank" rel="nofollow noopener">OpenBSD 6.5 Released</a></h3>

<ul>
<li><a href="https://www.openbsd.org/plus65.html" target="_blank" rel="nofollow noopener">Changelog</a></li>

<li><a href="https://www.openbsd.org/ftp.html" target="_blank" rel="nofollow noopener">Mirrors</a></li>

<li>6.5 Includes


<ul>
<li>OpenSMTPD 6.5.0</li>

<li>LibreSSL 2.9.1</li>

<li>OpenSSH 8.0</li>

<li>Mandoc 1.14.5</li>

<li>Xenocara</li>

<li>LLVM/Clang 7.0.1 (+ patches)</li>

<li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)</li></ul>
</li>

<li>Many pre-built packages for each architecture:


<ul>
<li>aarch64: 9654</li>

<li>amd64: 10602</li>

<li>i386: 10535</li></ul>
</li>
</ul>

<hr>

<h3><a href="https://dan.langille.org/2019/04/22/mount-your-zfs-datasets-anywhere-you-want/" target="_blank" rel="nofollow noopener">Mount your ZFS datasets anywhere you want</a></h3>

<blockquote>
  <p>ZFS is very flexible about mountpoints, and there are many features available to provide great flexibility.
  When you create zpool main<em>tank, the default mountpoint is /main</em>tank.
  You might be happy with that, but you don’t have to be content. You can do magical things.</p>
</blockquote>

<ul>
<li>Some highlights are:


<ul>
<li>mount point can be inherited</li>

<li>not all filesystems in a zpool need to be mounted</li>

<li>each filesystem (directory) can have different ZFS characteristics</li>

<li>In my case, let’s look at this new zpool I created earlier today and I will show you some very simple alternatives. This zpool use NVMe devices which should be faster than SSDs especially when used with multiple concurrent writes. This is my plan: run all the Bacula regression tests concurrently.</li></ul>
</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/current-users/2019/04/24/msg035645.html" target="_blank" rel="nofollow noopener">Branch for netbsd 9 upcoming, please help and test -current</a></h3>

<blockquote>
  <p>Folks,
  once again we are quite late for branching the next NetBSD release (NetBSD 9).
  Initially planned to happen early in February 2019, we are now approaching May and it is unlikely that the branch will happen before that.
  On the positive side, lots of good things landed in -current in between, like new Mesa, new jemalloc, lots of ZFS improvements - and some of those would be hard to pull up to the branch later.
  On the bad side we saw lots of churn in -current recently, and there is quite  some fallout where we not even have a good overview right now. And this is where  you can help:</p>
  
  <ul>
  <li>please test -current, on all the various machines you have</li>
  
  <li>especially interesting would be test results from uncommon architectures
  or strange combinations (like the sparc userland on sparc64 kernel issue
  I ran in yesterday)
  Please test, report success, and file PRs for failures!
  We will likely announce the real branch date on quite short notice, the likely next candidates would be mid may or end of may.
  We may need to do extra steps after the branch (like switch some architectures back to old jemalloc on the branch). However, the less difference between -current and the branch, the easier will the release cycle go.
  Our goal is to have an unprecedented short release cycle this time. But..
  we always say that upfront.</li>
  </ul>
  
  <hr>
</blockquote>

<h3><a href="https://marc.info/?l=openbsd-announce&amp;m=155590112606279&amp;w=2" target="_blank" rel="nofollow noopener">LibreSSL 2.9.1 Released</a></h3>

<blockquote>
  <p>We have released LibreSSL 2.9.1, which will be arriving in the LibreSSL
  directory of your local OpenBSD mirror soon. This is the first stable release
  from the 2.9 series, which is also included with OpenBSD 6.5</p>
  
  <p>It includes the following changes and improvements from LibreSSL 2.8.x:</p>
</blockquote>

<ul>
<li><p>API and Documentation Enhancements</p>

<ul>
<li>CRYPTO_LOCK is now automatically initialized, with the legacy
callbacks stubbed for compatibility.</li>

<li>Added the SM3 hash function from the Chinese standard GB/T 32905-2016.</li>

<li>Added the SM4 block cipher from the Chinese standard GB/T 32907-2016.</li>

<li>Added more OPENSSL<em>NO</em>* macros for compatibility with OpenSSL.</li>

<li>Partial port of the OpenSSL EC<em>KEY</em>METHOD API for use by OpenSSH.</li>

<li>Implemented further missing OpenSSL 1.1 API.</li>

<li>Added support for XChaCha20 and XChaCha20-Poly1305.</li>

<li>Added support for AES key wrap constructions via the EVP interface.</li></ul></li>

<li><p>Compatibility Changes</p>

<ul>
<li>Added pbkdf2 key derivation support to openssl(1) enc.</li>

<li>Changed the default digest type of openssl(1) enc to sha256.</li>

<li>Changed the default digest type of openssl(1) dgst to sha256.</li>

<li>Changed the default digest type of openssl(1) x509 -fingerprint to sha256.</li>

<li>Changed the default digest type of openssl(1) crl -fingerprint to sha256.</li></ul></li>

<li><p>Testing and Proactive Security</p>

<ul>
<li>Added extensive interoperability tests between LibreSSL and OpenSSL
1.0 and 1.1.</li>

<li>Added additional Wycheproof tests and related bug fixes.</li></ul></li>

<li><p>Internal Improvements</p>

<ul>
<li>Simplified sigalgs option processing and handshake signing
algorithm selection.</li>

<li>Added the ability to use the RSA PSS algorithm for handshake signatures.</li>

<li>Added bn<em>rand</em>interval() and use it in code needing ranges of
random bn values.</li>

<li>Added functionality to derive early, handshake, and application
secrets as per RFC8446.</li>

<li>Added handshake state machine from RFC8446.</li>

<li>Removed some ASN.1 related code from libcrypto that had not been
used since around 2000.</li>

<li>Unexported internal symbols and internalized more record layer structs.</li>

<li>Removed SHA224 based handshake signatures from consideration for
use in a TLS 1.2 handshake.</li></ul></li>

<li><p>Portable Improvements</p>

<ul>
<li>Added support for assembly optimizations on 32-bit ARM ELF targets.</li>

<li>Added support for assembly optimizations on Mingw-w64 targets.</li>

<li>Improved Android compatibility</li></ul></li>

<li><p>Bug Fixes</p>

<ul>
<li>Improved protection against timing side channels in ECDSA signature
generation.</li>

<li>Coordinate blinding was added to some elliptic curves. This is the
last bit of the work by Brumley et al. to protect against the Portsmash
vulnerability.</li>

<li>Ensure transcript handshake is always freed with TLS 1.2.</li></ul>

</li>
</ul>

<blockquote>
  <p>The LibreSSL project continues improvement of the codebase to reflect modern,
  safe programming practices. We welcome feedback and improvements from the
  broader community. Thanks to all of the contributors who helped make this
  release possible.</p>
  
  <hr>
</blockquote>

<h3><a href="https://mwl.io/archives/4227" target="_blank" rel="nofollow noopener">FreeBSD Mastery: Jails – Bail Bond Denied Edition</a></h3>

<blockquote>
  <p>I had a brilliant, hideous idea: to produce a charity edition of FreeBSD Mastery: Jails featuring the cover art I would use if I was imprisoned and did not have access to a real cover artist. (Never mind that I wouldn’t be permitted to release books while in jail: we creative sorts scoff at mere legal and cultural details.)
  I originally wanted to produce my own take on the book’s cover art. My first attempt failed spectacularly.
  I downgraded my expectations and tried again. And again. And again.
  I’m pleased to reveal the final cover for FreeBSD Mastery: Jails–Bail Bond Edition!
  This cover represents the very pinnacle of my artistic talents, and is the result of literally hours of effort.
  But, as this book is available only to the winner of charity fund-raisers, purchase of this tome represents moral supremacy. I recommend flaunting it to your family, coworkers, and all those of lesser character.
  Get your copy by winning the BSDCan 2019 charity auction… or any other other auction-type event I deem worthwhile.
  As far as my moral fiber goes: I have learned that art is hard, and that artists are not paid enough.
  And if I am ever imprisoned, I do hope that you’ll contribute to my bail fund. Otherwise, you’ll get more covers like this one.</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/~cks/space/blog/unix/EdDesignedForCookedInput" target="_blank" rel="nofollow noopener">One reason ed(1) was a good editor back in the days of V7 Unix</a></h3>

<blockquote>
  <p>It is common to describe ed(1) as being line oriented, as opposed to screen oriented editors like vi. This is completely accurate but it is perhaps not a complete enough description for today, because ed is line oriented in a way that is now uncommon. After all, you could say that your shell is line oriented too, and very few people use shells that work and feel the same way ed does.
  The surface difference between most people's shells and ed is that most people's shells have some version of cursor based interactive editing. The deeper difference is that this requires the shell to run in character by character TTY input mode, also called raw mode. By contrast, ed runs in what Unix usually calls cooked mode, where it reads whole lines from the kernel and the kernel handles things like backspace. All of ed's commands are designed so that they work in this line focused way (including being terminated by the end of the line), and as a whole ed's interface makes this whole line input approach natural. In fact I think ed makes it so natural that it's hard to think of things as being any other way. Ed was designed for line at a time input, not just to not be screen oriented.
  This input mode difference is not very important today, but in the days of V7 and serial terminals it made a real difference. In cooked mode, V7 ran very little code when you entered each character; almost everything was deferred until it could be processed in bulk by the kernel, and then handed to ed all in a single line which ed could also process all at once. A version of ed that tried to work in raw mode would have been much more resource intensive, even if it still operated on single lines at a time.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-fs/2019-April/027603.html" target="_blank" rel="nofollow noopener">CFT for FreeBSD ZoL</a></li>

<li><a href="https://github.com/wilyarti/simple-dns-adblock" target="_blank" rel="nofollow noopener">Simple DNS Adblock</a></li>

<li><a href="https://twitter.com/unix_byte/status/1119904828182781958" target="_blank" rel="nofollow noopener">AT&amp;T Unix PC in 1985</a></li>

<li><a href="https://marc.info/?l=openbsd-cvs&amp;m=155523690813457&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD-current drm at 4.19, includes new support for Intel GPUs like Coffee Lake</a></li>

<li><a href="https://twitter.com/cfenollosa/status/1122069042083323904" target="_blank" rel="nofollow noopener">"What are the differences between Linux and OpenBSD?" - Twitter thread</a></li>

<li><a href="http://mail-index.netbsd.org/pkgsrc-users/2019/04/10/msg028308.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc-2019Q1 release (2019-04-10)</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Brad - <a href="http://dpaste.com/0K2QFTM#wrap" target="_blank" rel="nofollow noopener">iocage</a></li>

<li>Frank - <a href="http://dpaste.com/3110R96#wrap" target="_blank" rel="nofollow noopener">Video from Level1Tech and a question</a></li>

<li>Niall - <a href="http://dpaste.com/0A32XDK#wrap" target="_blank" rel="nofollow noopener">Revision Control</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0296.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 6.5 has been released, mount ZFS datasets anywhere, help test upcoming NetBSD 9 branch, LibreSSL 2.9.1 is available, Bail Bond Denied Edition of FreeBSD Mastery: Jails, and one reason ed(1) was a good editor back in the days in this week’s episode.</p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/65.html" target="_blank" rel="nofollow noopener">OpenBSD 6.5 Released</a></h3>

<ul>
<li><a href="https://www.openbsd.org/plus65.html" target="_blank" rel="nofollow noopener">Changelog</a></li>

<li><a href="https://www.openbsd.org/ftp.html" target="_blank" rel="nofollow noopener">Mirrors</a></li>

<li>6.5 Includes


<ul>
<li>OpenSMTPD 6.5.0</li>

<li>LibreSSL 2.9.1</li>

<li>OpenSSH 8.0</li>

<li>Mandoc 1.14.5</li>

<li>Xenocara</li>

<li>LLVM/Clang 7.0.1 (+ patches)</li>

<li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)</li></ul>
</li>

<li>Many pre-built packages for each architecture:


<ul>
<li>aarch64: 9654</li>

<li>amd64: 10602</li>

<li>i386: 10535</li></ul>
</li>
</ul>

<hr>

<h3><a href="https://dan.langille.org/2019/04/22/mount-your-zfs-datasets-anywhere-you-want/" target="_blank" rel="nofollow noopener">Mount your ZFS datasets anywhere you want</a></h3>

<blockquote>
  <p>ZFS is very flexible about mountpoints, and there are many features available to provide great flexibility.
  When you create zpool main<em>tank, the default mountpoint is /main</em>tank.
  You might be happy with that, but you don’t have to be content. You can do magical things.</p>
</blockquote>

<ul>
<li>Some highlights are:


<ul>
<li>mount point can be inherited</li>

<li>not all filesystems in a zpool need to be mounted</li>

<li>each filesystem (directory) can have different ZFS characteristics</li>

<li>In my case, let’s look at this new zpool I created earlier today and I will show you some very simple alternatives. This zpool use NVMe devices which should be faster than SSDs especially when used with multiple concurrent writes. This is my plan: run all the Bacula regression tests concurrently.</li></ul>
</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/current-users/2019/04/24/msg035645.html" target="_blank" rel="nofollow noopener">Branch for netbsd 9 upcoming, please help and test -current</a></h3>

<blockquote>
  <p>Folks,
  once again we are quite late for branching the next NetBSD release (NetBSD 9).
  Initially planned to happen early in February 2019, we are now approaching May and it is unlikely that the branch will happen before that.
  On the positive side, lots of good things landed in -current in between, like new Mesa, new jemalloc, lots of ZFS improvements - and some of those would be hard to pull up to the branch later.
  On the bad side we saw lots of churn in -current recently, and there is quite  some fallout where we not even have a good overview right now. And this is where  you can help:</p>
  
  <ul>
  <li>please test -current, on all the various machines you have</li>
  
  <li>especially interesting would be test results from uncommon architectures
  or strange combinations (like the sparc userland on sparc64 kernel issue
  I ran in yesterday)
  Please test, report success, and file PRs for failures!
  We will likely announce the real branch date on quite short notice, the likely next candidates would be mid may or end of may.
  We may need to do extra steps after the branch (like switch some architectures back to old jemalloc on the branch). However, the less difference between -current and the branch, the easier will the release cycle go.
  Our goal is to have an unprecedented short release cycle this time. But..
  we always say that upfront.</li>
  </ul>
  
  <hr>
</blockquote>

<h3><a href="https://marc.info/?l=openbsd-announce&amp;m=155590112606279&amp;w=2" target="_blank" rel="nofollow noopener">LibreSSL 2.9.1 Released</a></h3>

<blockquote>
  <p>We have released LibreSSL 2.9.1, which will be arriving in the LibreSSL
  directory of your local OpenBSD mirror soon. This is the first stable release
  from the 2.9 series, which is also included with OpenBSD 6.5</p>
  
  <p>It includes the following changes and improvements from LibreSSL 2.8.x:</p>
</blockquote>

<ul>
<li><p>API and Documentation Enhancements</p>

<ul>
<li>CRYPTO_LOCK is now automatically initialized, with the legacy
callbacks stubbed for compatibility.</li>

<li>Added the SM3 hash function from the Chinese standard GB/T 32905-2016.</li>

<li>Added the SM4 block cipher from the Chinese standard GB/T 32907-2016.</li>

<li>Added more OPENSSL<em>NO</em>* macros for compatibility with OpenSSL.</li>

<li>Partial port of the OpenSSL EC<em>KEY</em>METHOD API for use by OpenSSH.</li>

<li>Implemented further missing OpenSSL 1.1 API.</li>

<li>Added support for XChaCha20 and XChaCha20-Poly1305.</li>

<li>Added support for AES key wrap constructions via the EVP interface.</li></ul></li>

<li><p>Compatibility Changes</p>

<ul>
<li>Added pbkdf2 key derivation support to openssl(1) enc.</li>

<li>Changed the default digest type of openssl(1) enc to sha256.</li>

<li>Changed the default digest type of openssl(1) dgst to sha256.</li>

<li>Changed the default digest type of openssl(1) x509 -fingerprint to sha256.</li>

<li>Changed the default digest type of openssl(1) crl -fingerprint to sha256.</li></ul></li>

<li><p>Testing and Proactive Security</p>

<ul>
<li>Added extensive interoperability tests between LibreSSL and OpenSSL
1.0 and 1.1.</li>

<li>Added additional Wycheproof tests and related bug fixes.</li></ul></li>

<li><p>Internal Improvements</p>

<ul>
<li>Simplified sigalgs option processing and handshake signing
algorithm selection.</li>

<li>Added the ability to use the RSA PSS algorithm for handshake signatures.</li>

<li>Added bn<em>rand</em>interval() and use it in code needing ranges of
random bn values.</li>

<li>Added functionality to derive early, handshake, and application
secrets as per RFC8446.</li>

<li>Added handshake state machine from RFC8446.</li>

<li>Removed some ASN.1 related code from libcrypto that had not been
used since around 2000.</li>

<li>Unexported internal symbols and internalized more record layer structs.</li>

<li>Removed SHA224 based handshake signatures from consideration for
use in a TLS 1.2 handshake.</li></ul></li>

<li><p>Portable Improvements</p>

<ul>
<li>Added support for assembly optimizations on 32-bit ARM ELF targets.</li>

<li>Added support for assembly optimizations on Mingw-w64 targets.</li>

<li>Improved Android compatibility</li></ul></li>

<li><p>Bug Fixes</p>

<ul>
<li>Improved protection against timing side channels in ECDSA signature
generation.</li>

<li>Coordinate blinding was added to some elliptic curves. This is the
last bit of the work by Brumley et al. to protect against the Portsmash
vulnerability.</li>

<li>Ensure transcript handshake is always freed with TLS 1.2.</li></ul>

</li>
</ul>

<blockquote>
  <p>The LibreSSL project continues improvement of the codebase to reflect modern,
  safe programming practices. We welcome feedback and improvements from the
  broader community. Thanks to all of the contributors who helped make this
  release possible.</p>
  
  <hr>
</blockquote>

<h3><a href="https://mwl.io/archives/4227" target="_blank" rel="nofollow noopener">FreeBSD Mastery: Jails – Bail Bond Denied Edition</a></h3>

<blockquote>
  <p>I had a brilliant, hideous idea: to produce a charity edition of FreeBSD Mastery: Jails featuring the cover art I would use if I was imprisoned and did not have access to a real cover artist. (Never mind that I wouldn’t be permitted to release books while in jail: we creative sorts scoff at mere legal and cultural details.)
  I originally wanted to produce my own take on the book’s cover art. My first attempt failed spectacularly.
  I downgraded my expectations and tried again. And again. And again.
  I’m pleased to reveal the final cover for FreeBSD Mastery: Jails–Bail Bond Edition!
  This cover represents the very pinnacle of my artistic talents, and is the result of literally hours of effort.
  But, as this book is available only to the winner of charity fund-raisers, purchase of this tome represents moral supremacy. I recommend flaunting it to your family, coworkers, and all those of lesser character.
  Get your copy by winning the BSDCan 2019 charity auction… or any other other auction-type event I deem worthwhile.
  As far as my moral fiber goes: I have learned that art is hard, and that artists are not paid enough.
  And if I am ever imprisoned, I do hope that you’ll contribute to my bail fund. Otherwise, you’ll get more covers like this one.</p>
</blockquote>

<hr>

<h3><a href="https://utcc.utoronto.ca/~cks/space/blog/unix/EdDesignedForCookedInput" target="_blank" rel="nofollow noopener">One reason ed(1) was a good editor back in the days of V7 Unix</a></h3>

<blockquote>
  <p>It is common to describe ed(1) as being line oriented, as opposed to screen oriented editors like vi. This is completely accurate but it is perhaps not a complete enough description for today, because ed is line oriented in a way that is now uncommon. After all, you could say that your shell is line oriented too, and very few people use shells that work and feel the same way ed does.
  The surface difference between most people's shells and ed is that most people's shells have some version of cursor based interactive editing. The deeper difference is that this requires the shell to run in character by character TTY input mode, also called raw mode. By contrast, ed runs in what Unix usually calls cooked mode, where it reads whole lines from the kernel and the kernel handles things like backspace. All of ed's commands are designed so that they work in this line focused way (including being terminated by the end of the line), and as a whole ed's interface makes this whole line input approach natural. In fact I think ed makes it so natural that it's hard to think of things as being any other way. Ed was designed for line at a time input, not just to not be screen oriented.
  This input mode difference is not very important today, but in the days of V7 and serial terminals it made a real difference. In cooked mode, V7 ran very little code when you entered each character; almost everything was deferred until it could be processed in bulk by the kernel, and then handed to ed all in a single line which ed could also process all at once. A version of ed that tried to work in raw mode would have been much more resource intensive, even if it still operated on single lines at a time.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-fs/2019-April/027603.html" target="_blank" rel="nofollow noopener">CFT for FreeBSD ZoL</a></li>

<li><a href="https://github.com/wilyarti/simple-dns-adblock" target="_blank" rel="nofollow noopener">Simple DNS Adblock</a></li>

<li><a href="https://twitter.com/unix_byte/status/1119904828182781958" target="_blank" rel="nofollow noopener">AT&amp;T Unix PC in 1985</a></li>

<li><a href="https://marc.info/?l=openbsd-cvs&amp;m=155523690813457&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD-current drm at 4.19, includes new support for Intel GPUs like Coffee Lake</a></li>

<li><a href="https://twitter.com/cfenollosa/status/1122069042083323904" target="_blank" rel="nofollow noopener">"What are the differences between Linux and OpenBSD?" - Twitter thread</a></li>

<li><a href="http://mail-index.netbsd.org/pkgsrc-users/2019/04/10/msg028308.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc-2019Q1 release (2019-04-10)</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Brad - <a href="http://dpaste.com/0K2QFTM#wrap" target="_blank" rel="nofollow noopener">iocage</a></li>

<li>Frank - <a href="http://dpaste.com/3110R96#wrap" target="_blank" rel="nofollow noopener">Video from Level1Tech and a question</a></li>

<li>Niall - <a href="http://dpaste.com/0A32XDK#wrap" target="_blank" rel="nofollow noopener">Revision Control</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0296.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>295: Fun with funlinkat()</title>
  <link>https://www.bsdnow.tv/295</link>
  <guid isPermaLink="false">f856e52d-1f51-46e1-9dd9-658045523279</guid>
  <pubDate>Thu, 25 Apr 2019 16:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f856e52d-1f51-46e1-9dd9-658045523279.mp3" length="37143014" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Introducing funlinkat(), an OpenBSD Router with AT&amp;T U-Verse, using NetBSD on a raspberry pi, ZFS encryption is still under development, Rump kernel servers and clients tutorial, Snort on OpenBSD 6.4, and more.</itunes:subtitle>
  <itunes:duration>1:01:02</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>&lt;p&gt;Introducing funlinkat(), an OpenBSD Router with AT&amp;amp;T U-Verse, using NetBSD on a raspberry pi, ZFS encryption is still under development, Rump kernel servers and clients tutorial, Snort on OpenBSD 6.4, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://oshogbo.vexillium.org/blog/63/" target="_blank" rel="nofollow noopener"&gt;Introducing funlinkat&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;It turns out, every file you have ever deleted on a unix machine was probably susceptible to a race condition&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;One of the first syscalls which was created in Unix-like systems is unlink. In FreeBSD this syscall is number 10 (source) and in Linux, the number is dependent on the architecture but for most of them is also the tenth syscall (source). This indicated that this is one of the primary syscalls. The unlink syscall is very simple and we provide one single path to the file that we want to remove.
  The “removing file” process itself is very interesting so let’s spend a moment to understand the it. First, by removing the file we are removing a link from the directory to it. In Unix-like systems we can have many links to a single file (hard links). When we remove all links to the file, the file system will mark the blocks used by the file as free (a different file system will behave differently but let’s not jump into a second digression). This is why the process is called unlinking and not “removing file”. While we unlink the file two or three things will happen:&lt;/p&gt;
  
  &lt;ul&gt;
  &lt;li&gt;We will remove an entry in the directory with the filename.&lt;/li&gt;
  
  &lt;li&gt;We will decrease a file reference count (in inode).&lt;/li&gt;
  
  &lt;li&gt;If links go to zero - the file will be removed from the disk (again this doesn't mean that the blocks from the disk will be filled with zeros, though this may happen depending on the file system and configuration. However, in most cases this means that the file system will mark those blocks to as free and use them to write new data later
  This mostly means that “removing file” from a directory is an operation on the directory and not on the file (inode) itself.
  Another interesting subject is what happens if our system will perform only first or second step from the list. This depends on the file system and this is also something we will leave for another time.
  The problem with the unlink and even unlinkat function is that we don’t have any guarantee of which file we really are unlinking.
  
  
  &lt;ul&gt;
  &lt;li&gt;When you delete a file using its name, you have no guarantee that someone has not already deleted the file, or renamed it, and created a new file with the name you are about to delete.
  We have some stats about the file that we want to unlink. We performed some tests. In the same time another process removed our file and recreated it. When we finally try to remove our file it is no longer the same file. It’s a classic race condition.&lt;/li&gt;
  
  &lt;li&gt;Many programs will perform checks before trying to remove a file, to make sure it is the correct file, that you have the correct permissions etc. However this exposes the ‘Time-of-Check / Time-of-Use’ class of bugs. I check if the file I am about to remove is the one I created yesterday, it is, so I call unlink() on it. However, between when I checked the date on the file, and when I call unlink, I, some program I am running, might have updated the file. Or a malicious user might have put some other file at that name, so I would be the one who deleted it.
  In Unix-like operating systems we can get a handle for our file called file - a descriptor. File descriptors guarantee us that all the operations that we will be performing on it are done on the same file (inode). Even if someone was to unlink a number of directories entries, the operating system will not free the structures behind the file descriptor, and we can detect the file that was removed by someone and recreated (or just unlinked). So, for example, we have an alternative functions fstat which allows us to get file status of the given descriptor
  We already know that the file may have many links on the disk which point to the single inode. What happens when we open the file? Simplifying: kernel creates a memory representation of the inode (the inode itself is stored on the disk) called vnode. This single representation is used by all processes to refer the inode to the disk. If in a process we open the same file (inode) using different names (for example through hard links) all those files will be linked to the single vnode. That means that the pathname is not stored in the kernel.
  This is basically the reason why we don’t have a funlink function so that instead of the path we are providing just the file descriptor to the file. If we performed the fdunlink syscall, the kernel wouldn’t know which directory entry you would like to remove. Another problem is more architectural: as we discussed earlier unlinking is really an operation on the directory not on the file (inode) itself, so using funlink(fd) may create some confusion because we are not removing the inode corresponding to the file descriptor, we are performing action on the directory which points to the file.
  After some discussion we decided that the only sensible option for FreeBSD would be to create a funlinkat() function. This syscall would only performs additional sanitary checks if we are removing a directory entry which corresponds to the inode stored which refers to the file descriptor.
  int funlinkat(int dfd, const char *path, int fd, int flags);
  The API above will check if the path opened relative to the dfd points to the same vnode. Thanks to that we removed a race condition because all those sanitary checks are performed in the kernel mode while the file system is locked and there is no possibility to change it.
  The fd parameter may be set to the FD_NONE value which will mean that the sanitary check should not be performed and funlinkat will behave just like unlinkat.
  As you can notice I often refer to the unlink syscall but at the end the APIs looks like unlinkat syscall. It is true that the unlink syscall is very old and kind of deprecated. That said I referred to unlink because it’s just simpler. These days unlink simply uses the same code as unlinkat.&lt;/li&gt;&lt;/ul&gt;
  &lt;/li&gt;
  &lt;/ul&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://jcs.org/2019/03/21/uverse" target="_blank" rel="nofollow noopener"&gt;Using an OpenBSD Router with AT&amp;amp;T U-Verse&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;I upgraded to AT&amp;amp;T's U-verse Gigabit internet service in 2017 and it came with an Arris BGW-210 as the WiFi AP and router. The BGW-210 is not a terrible device, but I already had my own Airport Extreme APs wired throughout my house and an OpenBSD router configured with various things, so I had no use for this device. It's also a potentially-insecure device that I can't upgrade or fully disable remote control over.
  Fully removing the BGW-210 is not possible as we'll see later, but it is possible to remove it from the routing path. This is how I did it with OpenBSD.&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://opensource.com/article/19/3/netbsd-raspberry-pi" target="_blank" rel="nofollow noopener"&gt;How to use NetBSD on a Raspberry Pi&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Do you have an old Raspberry Pi lying around gathering dust, maybe after a recent Pi upgrade? Are you curious about BSD Unix? If you answered "yes" to both of these questions, you'll be pleased to know that the first is the solution to the second, because you can run NetBSD, as far back as the very first release, on a Raspberry Pi.
  BSD is the Berkley Software Distribution of Unix. In fact, it's the only open source Unix with direct lineage back to the original source code written by Dennis Ritchie and Ken Thompson at Bell Labs. Other modern versions are either proprietary (such as AIX and Solaris) or clever re-implementations (such as Minix and GNU/Linux). If you're used to Linux, you'll feel mostly right at home with BSD, but there are plenty of new commands and conventions to discover. If you're still relatively new to open source, trying BSD is a good way to experience a traditional Unix.
  Admittedly, NetBSD isn't an operating system that's perfectly suited for the Pi. It's a minimal install compared to many Linux distributions designed specifically for the Pi, and not all components of recent Pi models are functional under NetBSD yet. However, it's arguably an ideal OS for the older Pi models, since it's lightweight and lovingly maintained. And if nothing else, it's a lot of fun for any die-hard Unix geek to experience another side of the POSIX world.&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/linux/ZFSEncryptionNotReady" target="_blank" rel="nofollow noopener"&gt;ZFS Encryption is still under development (as of March 2019)&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;One of the big upcoming features that a bunch of people are looking forward to in ZFS is natively encrypted filesystems. This is already in the main development tree of ZFS On Linux, will likely propagate to FreeBSD (since FreeBSD ZFS will be based on ZoL), and will make it to Illumos if the Illumos people want to pull it in. People are looking forward to native encryption so much, in fact, that some of them have started using it in ZFS On Linux already, using either the development tip or one of the 0.8.0 release candidate pre-releases (ZoL is up to 0.8.0-rc3 as of now). People either doing this or planning to do this show up on the ZoL mailing list every so often.&lt;/p&gt;
  
  &lt;ul&gt;
  &lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2019-April/090915.html" target="_blank" rel="nofollow noopener"&gt;CFT for FreeBSD + ZoL&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.netbsd.org/docs/rump/sptut.html" target="_blank" rel="nofollow noopener"&gt;Tutorial On Rump Kernel Servers and Clients&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;The rump anykernel architecture allows to run highly componentized kernel code configurations in userspace processes. Coupled with the rump sysproxy facility it is possible to run loosely distributed client-server "mini-operating systems". Since there is minimum configuration and the bootstrap time is measured in milliseconds, these environments are very cheap to set up, use, and tear down on-demand.
  This document acts as a tutorial on how to configure and use unmodified NetBSD kernel drivers as userspace services with utilities available from the NetBSD base system. As part of this, it presents various use cases. One uses the kernel cryptographic disk driver (cgd) to encrypt a partition. Another one demonstrates how to operate an FFS server for editing the contents of a file system even though your user account does not have privileges to use the host's mount() system call. Additionally, using a userspace TCP/IP server with an unmodified web browser is detailed.&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://functionallyparanoid.com/2019/03/18/installing-snort-on-openbsd-6-4/" target="_blank" rel="nofollow noopener"&gt;Installing Snort on OpenBSD 6.4&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;As you may recall from previous posts, I am running an OpenBSD server on an APU2 air-cooled 3 Intel NIC box as my router/firewall for my secure home network.  Given that all of my Internet traffic flows through this box, I thought it would be a cool idea to run an Intrusion Detection System (IDS) on it.  Snort is the big hog of the open source world so I took a peek in the packages directory on one of the mirrors and lo and behold we have the latest &amp;amp; greatest version of Snort available!  Thanks devs!!!
  I did some quick Googling and didn’t find much “modern” howto help out there so, after some trial and error, I have it up and running.  I thought I’d give back in a small way and share a quickie howto for other Googlers out there who are looking for guidance.  Here’s hoping that my title is good enough “SEO” to get you here! &lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://os108.org/" target="_blank" rel="nofollow noopener"&gt;os108&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=tc4ROCJYbm0&amp;amp;feature=youtu.be" target="_blank" rel="nofollow noopener"&gt;AT&amp;amp;T Archives: The UNIX Operating System&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=155407864604288&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;httpd(8): Adapt to industry wide current best security practices&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://codesmithdev.com/quotes-from-a-book-that-bashes-unix/" target="_blank" rel="nofollow noopener"&gt;Quotes From A Book That Bashes Unix&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://github.com/ligurio/openbsd-tests/wiki" target="_blank" rel="nofollow noopener"&gt;OpenBSD QA wiki&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Malcolm - &lt;a href="http://dpaste.com/1AFFTNJ" target="_blank" rel="nofollow noopener"&gt;Laptop Experience : Dell XPS 13&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;DJ - &lt;a href="http://dpaste.com/0V74SZC#wrap" target="_blank" rel="nofollow noopener"&gt;Feedback&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Alex - &lt;a href="http://dpaste.com/1WVV1W7" target="_blank" rel="nofollow noopener"&gt;GhostBSD and Wifi : FIXED&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0295.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Introducing funlinkat(), an OpenBSD Router with AT&amp;T U-Verse, using NetBSD on a raspberry pi, ZFS encryption is still under development, Rump kernel servers and clients tutorial, Snort on OpenBSD 6.4, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://oshogbo.vexillium.org/blog/63/" target="_blank" rel="nofollow noopener">Introducing funlinkat</a></h3>

<ul>
<li>It turns out, every file you have ever deleted on a unix machine was probably susceptible to a race condition</li>
</ul>

<blockquote>
  <p>One of the first syscalls which was created in Unix-like systems is unlink. In FreeBSD this syscall is number 10 (source) and in Linux, the number is dependent on the architecture but for most of them is also the tenth syscall (source). This indicated that this is one of the primary syscalls. The unlink syscall is very simple and we provide one single path to the file that we want to remove.
  The “removing file” process itself is very interesting so let’s spend a moment to understand the it. First, by removing the file we are removing a link from the directory to it. In Unix-like systems we can have many links to a single file (hard links). When we remove all links to the file, the file system will mark the blocks used by the file as free (a different file system will behave differently but let’s not jump into a second digression). This is why the process is called unlinking and not “removing file”. While we unlink the file two or three things will happen:</p>
  
  <ul>
  <li>We will remove an entry in the directory with the filename.</li>
  
  <li>We will decrease a file reference count (in inode).</li>
  
  <li>If links go to zero - the file will be removed from the disk (again this doesn't mean that the blocks from the disk will be filled with zeros, though this may happen depending on the file system and configuration. However, in most cases this means that the file system will mark those blocks to as free and use them to write new data later
  This mostly means that “removing file” from a directory is an operation on the directory and not on the file (inode) itself.
  Another interesting subject is what happens if our system will perform only first or second step from the list. This depends on the file system and this is also something we will leave for another time.
  The problem with the unlink and even unlinkat function is that we don’t have any guarantee of which file we really are unlinking.
  
  
  <ul>
  <li>When you delete a file using its name, you have no guarantee that someone has not already deleted the file, or renamed it, and created a new file with the name you are about to delete.
  We have some stats about the file that we want to unlink. We performed some tests. In the same time another process removed our file and recreated it. When we finally try to remove our file it is no longer the same file. It’s a classic race condition.</li>
  
  <li>Many programs will perform checks before trying to remove a file, to make sure it is the correct file, that you have the correct permissions etc. However this exposes the ‘Time-of-Check / Time-of-Use’ class of bugs. I check if the file I am about to remove is the one I created yesterday, it is, so I call unlink() on it. However, between when I checked the date on the file, and when I call unlink, I, some program I am running, might have updated the file. Or a malicious user might have put some other file at that name, so I would be the one who deleted it.
  In Unix-like operating systems we can get a handle for our file called file - a descriptor. File descriptors guarantee us that all the operations that we will be performing on it are done on the same file (inode). Even if someone was to unlink a number of directories entries, the operating system will not free the structures behind the file descriptor, and we can detect the file that was removed by someone and recreated (or just unlinked). So, for example, we have an alternative functions fstat which allows us to get file status of the given descriptor
  We already know that the file may have many links on the disk which point to the single inode. What happens when we open the file? Simplifying: kernel creates a memory representation of the inode (the inode itself is stored on the disk) called vnode. This single representation is used by all processes to refer the inode to the disk. If in a process we open the same file (inode) using different names (for example through hard links) all those files will be linked to the single vnode. That means that the pathname is not stored in the kernel.
  This is basically the reason why we don’t have a funlink function so that instead of the path we are providing just the file descriptor to the file. If we performed the fdunlink syscall, the kernel wouldn’t know which directory entry you would like to remove. Another problem is more architectural: as we discussed earlier unlinking is really an operation on the directory not on the file (inode) itself, so using funlink(fd) may create some confusion because we are not removing the inode corresponding to the file descriptor, we are performing action on the directory which points to the file.
  After some discussion we decided that the only sensible option for FreeBSD would be to create a funlinkat() function. This syscall would only performs additional sanitary checks if we are removing a directory entry which corresponds to the inode stored which refers to the file descriptor.
  int funlinkat(int dfd, const char *path, int fd, int flags);
  The API above will check if the path opened relative to the dfd points to the same vnode. Thanks to that we removed a race condition because all those sanitary checks are performed in the kernel mode while the file system is locked and there is no possibility to change it.
  The fd parameter may be set to the FD_NONE value which will mean that the sanitary check should not be performed and funlinkat will behave just like unlinkat.
  As you can notice I often refer to the unlink syscall but at the end the APIs looks like unlinkat syscall. It is true that the unlink syscall is very old and kind of deprecated. That said I referred to unlink because it’s just simpler. These days unlink simply uses the same code as unlinkat.</li></ul>
  </li>
  </ul>
  
  <hr>
</blockquote>

<h3><a href="https://jcs.org/2019/03/21/uverse" target="_blank" rel="nofollow noopener">Using an OpenBSD Router with AT&amp;T U-Verse</a></h3>

<blockquote>
  <p>I upgraded to AT&amp;T's U-verse Gigabit internet service in 2017 and it came with an Arris BGW-210 as the WiFi AP and router. The BGW-210 is not a terrible device, but I already had my own Airport Extreme APs wired throughout my house and an OpenBSD router configured with various things, so I had no use for this device. It's also a potentially-insecure device that I can't upgrade or fully disable remote control over.
  Fully removing the BGW-210 is not possible as we'll see later, but it is possible to remove it from the routing path. This is how I did it with OpenBSD.</p>
  
  <hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://opensource.com/article/19/3/netbsd-raspberry-pi" target="_blank" rel="nofollow noopener">How to use NetBSD on a Raspberry Pi</a></h3>

<blockquote>
  <p>Do you have an old Raspberry Pi lying around gathering dust, maybe after a recent Pi upgrade? Are you curious about BSD Unix? If you answered "yes" to both of these questions, you'll be pleased to know that the first is the solution to the second, because you can run NetBSD, as far back as the very first release, on a Raspberry Pi.
  BSD is the Berkley Software Distribution of Unix. In fact, it's the only open source Unix with direct lineage back to the original source code written by Dennis Ritchie and Ken Thompson at Bell Labs. Other modern versions are either proprietary (such as AIX and Solaris) or clever re-implementations (such as Minix and GNU/Linux). If you're used to Linux, you'll feel mostly right at home with BSD, but there are plenty of new commands and conventions to discover. If you're still relatively new to open source, trying BSD is a good way to experience a traditional Unix.
  Admittedly, NetBSD isn't an operating system that's perfectly suited for the Pi. It's a minimal install compared to many Linux distributions designed specifically for the Pi, and not all components of recent Pi models are functional under NetBSD yet. However, it's arguably an ideal OS for the older Pi models, since it's lightweight and lovingly maintained. And if nothing else, it's a lot of fun for any die-hard Unix geek to experience another side of the POSIX world.</p>
  
  <hr>
</blockquote>

<h3><a href="https://utcc.utoronto.ca/~cks/space/blog/linux/ZFSEncryptionNotReady" target="_blank" rel="nofollow noopener">ZFS Encryption is still under development (as of March 2019)</a></h3>

<blockquote>
  <p>One of the big upcoming features that a bunch of people are looking forward to in ZFS is natively encrypted filesystems. This is already in the main development tree of ZFS On Linux, will likely propagate to FreeBSD (since FreeBSD ZFS will be based on ZoL), and will make it to Illumos if the Illumos people want to pull it in. People are looking forward to native encryption so much, in fact, that some of them have started using it in ZFS On Linux already, using either the development tip or one of the 0.8.0 release candidate pre-releases (ZoL is up to 0.8.0-rc3 as of now). People either doing this or planning to do this show up on the ZoL mailing list every so often.</p>
  
  <ul>
  <li><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2019-April/090915.html" target="_blank" rel="nofollow noopener">CFT for FreeBSD + ZoL</a></li>
  </ul>
  
  <hr>
</blockquote>

<h3><a href="https://www.netbsd.org/docs/rump/sptut.html" target="_blank" rel="nofollow noopener">Tutorial On Rump Kernel Servers and Clients</a></h3>

<blockquote>
  <p>The rump anykernel architecture allows to run highly componentized kernel code configurations in userspace processes. Coupled with the rump sysproxy facility it is possible to run loosely distributed client-server "mini-operating systems". Since there is minimum configuration and the bootstrap time is measured in milliseconds, these environments are very cheap to set up, use, and tear down on-demand.
  This document acts as a tutorial on how to configure and use unmodified NetBSD kernel drivers as userspace services with utilities available from the NetBSD base system. As part of this, it presents various use cases. One uses the kernel cryptographic disk driver (cgd) to encrypt a partition. Another one demonstrates how to operate an FFS server for editing the contents of a file system even though your user account does not have privileges to use the host's mount() system call. Additionally, using a userspace TCP/IP server with an unmodified web browser is detailed.</p>
  
  <hr>
</blockquote>

<h3><a href="https://functionallyparanoid.com/2019/03/18/installing-snort-on-openbsd-6-4/" target="_blank" rel="nofollow noopener">Installing Snort on OpenBSD 6.4</a></h3>

<blockquote>
  <p>As you may recall from previous posts, I am running an OpenBSD server on an APU2 air-cooled 3 Intel NIC box as my router/firewall for my secure home network.  Given that all of my Internet traffic flows through this box, I thought it would be a cool idea to run an Intrusion Detection System (IDS) on it.  Snort is the big hog of the open source world so I took a peek in the packages directory on one of the mirrors and lo and behold we have the latest &amp; greatest version of Snort available!  Thanks devs!!!
  I did some quick Googling and didn’t find much “modern” howto help out there so, after some trial and error, I have it up and running.  I thought I’d give back in a small way and share a quickie howto for other Googlers out there who are looking for guidance.  Here’s hoping that my title is good enough “SEO” to get you here! </p>
  
  <hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://os108.org/" target="_blank" rel="nofollow noopener">os108</a></li>

<li><a href="https://www.youtube.com/watch?v=tc4ROCJYbm0&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">AT&amp;T Archives: The UNIX Operating System</a></li>

<li><a href="https://marc.info/?l=openbsd-tech&amp;m=155407864604288&amp;w=2" target="_blank" rel="nofollow noopener">httpd(8): Adapt to industry wide current best security practices</a></li>

<li><a href="https://codesmithdev.com/quotes-from-a-book-that-bashes-unix/" target="_blank" rel="nofollow noopener">Quotes From A Book That Bashes Unix</a></li>

<li><a href="https://github.com/ligurio/openbsd-tests/wiki" target="_blank" rel="nofollow noopener">OpenBSD QA wiki</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Malcolm - <a href="http://dpaste.com/1AFFTNJ" target="_blank" rel="nofollow noopener">Laptop Experience : Dell XPS 13</a></li>

<li>DJ - <a href="http://dpaste.com/0V74SZC#wrap" target="_blank" rel="nofollow noopener">Feedback</a></li>

<li>Alex - <a href="http://dpaste.com/1WVV1W7" target="_blank" rel="nofollow noopener">GhostBSD and Wifi : FIXED</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0295.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Introducing funlinkat(), an OpenBSD Router with AT&amp;T U-Verse, using NetBSD on a raspberry pi, ZFS encryption is still under development, Rump kernel servers and clients tutorial, Snort on OpenBSD 6.4, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://oshogbo.vexillium.org/blog/63/" target="_blank" rel="nofollow noopener">Introducing funlinkat</a></h3>

<ul>
<li>It turns out, every file you have ever deleted on a unix machine was probably susceptible to a race condition</li>
</ul>

<blockquote>
  <p>One of the first syscalls which was created in Unix-like systems is unlink. In FreeBSD this syscall is number 10 (source) and in Linux, the number is dependent on the architecture but for most of them is also the tenth syscall (source). This indicated that this is one of the primary syscalls. The unlink syscall is very simple and we provide one single path to the file that we want to remove.
  The “removing file” process itself is very interesting so let’s spend a moment to understand the it. First, by removing the file we are removing a link from the directory to it. In Unix-like systems we can have many links to a single file (hard links). When we remove all links to the file, the file system will mark the blocks used by the file as free (a different file system will behave differently but let’s not jump into a second digression). This is why the process is called unlinking and not “removing file”. While we unlink the file two or three things will happen:</p>
  
  <ul>
  <li>We will remove an entry in the directory with the filename.</li>
  
  <li>We will decrease a file reference count (in inode).</li>
  
  <li>If links go to zero - the file will be removed from the disk (again this doesn't mean that the blocks from the disk will be filled with zeros, though this may happen depending on the file system and configuration. However, in most cases this means that the file system will mark those blocks to as free and use them to write new data later
  This mostly means that “removing file” from a directory is an operation on the directory and not on the file (inode) itself.
  Another interesting subject is what happens if our system will perform only first or second step from the list. This depends on the file system and this is also something we will leave for another time.
  The problem with the unlink and even unlinkat function is that we don’t have any guarantee of which file we really are unlinking.
  
  
  <ul>
  <li>When you delete a file using its name, you have no guarantee that someone has not already deleted the file, or renamed it, and created a new file with the name you are about to delete.
  We have some stats about the file that we want to unlink. We performed some tests. In the same time another process removed our file and recreated it. When we finally try to remove our file it is no longer the same file. It’s a classic race condition.</li>
  
  <li>Many programs will perform checks before trying to remove a file, to make sure it is the correct file, that you have the correct permissions etc. However this exposes the ‘Time-of-Check / Time-of-Use’ class of bugs. I check if the file I am about to remove is the one I created yesterday, it is, so I call unlink() on it. However, between when I checked the date on the file, and when I call unlink, I, some program I am running, might have updated the file. Or a malicious user might have put some other file at that name, so I would be the one who deleted it.
  In Unix-like operating systems we can get a handle for our file called file - a descriptor. File descriptors guarantee us that all the operations that we will be performing on it are done on the same file (inode). Even if someone was to unlink a number of directories entries, the operating system will not free the structures behind the file descriptor, and we can detect the file that was removed by someone and recreated (or just unlinked). So, for example, we have an alternative functions fstat which allows us to get file status of the given descriptor
  We already know that the file may have many links on the disk which point to the single inode. What happens when we open the file? Simplifying: kernel creates a memory representation of the inode (the inode itself is stored on the disk) called vnode. This single representation is used by all processes to refer the inode to the disk. If in a process we open the same file (inode) using different names (for example through hard links) all those files will be linked to the single vnode. That means that the pathname is not stored in the kernel.
  This is basically the reason why we don’t have a funlink function so that instead of the path we are providing just the file descriptor to the file. If we performed the fdunlink syscall, the kernel wouldn’t know which directory entry you would like to remove. Another problem is more architectural: as we discussed earlier unlinking is really an operation on the directory not on the file (inode) itself, so using funlink(fd) may create some confusion because we are not removing the inode corresponding to the file descriptor, we are performing action on the directory which points to the file.
  After some discussion we decided that the only sensible option for FreeBSD would be to create a funlinkat() function. This syscall would only performs additional sanitary checks if we are removing a directory entry which corresponds to the inode stored which refers to the file descriptor.
  int funlinkat(int dfd, const char *path, int fd, int flags);
  The API above will check if the path opened relative to the dfd points to the same vnode. Thanks to that we removed a race condition because all those sanitary checks are performed in the kernel mode while the file system is locked and there is no possibility to change it.
  The fd parameter may be set to the FD_NONE value which will mean that the sanitary check should not be performed and funlinkat will behave just like unlinkat.
  As you can notice I often refer to the unlink syscall but at the end the APIs looks like unlinkat syscall. It is true that the unlink syscall is very old and kind of deprecated. That said I referred to unlink because it’s just simpler. These days unlink simply uses the same code as unlinkat.</li></ul>
  </li>
  </ul>
  
  <hr>
</blockquote>

<h3><a href="https://jcs.org/2019/03/21/uverse" target="_blank" rel="nofollow noopener">Using an OpenBSD Router with AT&amp;T U-Verse</a></h3>

<blockquote>
  <p>I upgraded to AT&amp;T's U-verse Gigabit internet service in 2017 and it came with an Arris BGW-210 as the WiFi AP and router. The BGW-210 is not a terrible device, but I already had my own Airport Extreme APs wired throughout my house and an OpenBSD router configured with various things, so I had no use for this device. It's also a potentially-insecure device that I can't upgrade or fully disable remote control over.
  Fully removing the BGW-210 is not possible as we'll see later, but it is possible to remove it from the routing path. This is how I did it with OpenBSD.</p>
  
  <hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://opensource.com/article/19/3/netbsd-raspberry-pi" target="_blank" rel="nofollow noopener">How to use NetBSD on a Raspberry Pi</a></h3>

<blockquote>
  <p>Do you have an old Raspberry Pi lying around gathering dust, maybe after a recent Pi upgrade? Are you curious about BSD Unix? If you answered "yes" to both of these questions, you'll be pleased to know that the first is the solution to the second, because you can run NetBSD, as far back as the very first release, on a Raspberry Pi.
  BSD is the Berkley Software Distribution of Unix. In fact, it's the only open source Unix with direct lineage back to the original source code written by Dennis Ritchie and Ken Thompson at Bell Labs. Other modern versions are either proprietary (such as AIX and Solaris) or clever re-implementations (such as Minix and GNU/Linux). If you're used to Linux, you'll feel mostly right at home with BSD, but there are plenty of new commands and conventions to discover. If you're still relatively new to open source, trying BSD is a good way to experience a traditional Unix.
  Admittedly, NetBSD isn't an operating system that's perfectly suited for the Pi. It's a minimal install compared to many Linux distributions designed specifically for the Pi, and not all components of recent Pi models are functional under NetBSD yet. However, it's arguably an ideal OS for the older Pi models, since it's lightweight and lovingly maintained. And if nothing else, it's a lot of fun for any die-hard Unix geek to experience another side of the POSIX world.</p>
  
  <hr>
</blockquote>

<h3><a href="https://utcc.utoronto.ca/~cks/space/blog/linux/ZFSEncryptionNotReady" target="_blank" rel="nofollow noopener">ZFS Encryption is still under development (as of March 2019)</a></h3>

<blockquote>
  <p>One of the big upcoming features that a bunch of people are looking forward to in ZFS is natively encrypted filesystems. This is already in the main development tree of ZFS On Linux, will likely propagate to FreeBSD (since FreeBSD ZFS will be based on ZoL), and will make it to Illumos if the Illumos people want to pull it in. People are looking forward to native encryption so much, in fact, that some of them have started using it in ZFS On Linux already, using either the development tip or one of the 0.8.0 release candidate pre-releases (ZoL is up to 0.8.0-rc3 as of now). People either doing this or planning to do this show up on the ZoL mailing list every so often.</p>
  
  <ul>
  <li><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2019-April/090915.html" target="_blank" rel="nofollow noopener">CFT for FreeBSD + ZoL</a></li>
  </ul>
  
  <hr>
</blockquote>

<h3><a href="https://www.netbsd.org/docs/rump/sptut.html" target="_blank" rel="nofollow noopener">Tutorial On Rump Kernel Servers and Clients</a></h3>

<blockquote>
  <p>The rump anykernel architecture allows to run highly componentized kernel code configurations in userspace processes. Coupled with the rump sysproxy facility it is possible to run loosely distributed client-server "mini-operating systems". Since there is minimum configuration and the bootstrap time is measured in milliseconds, these environments are very cheap to set up, use, and tear down on-demand.
  This document acts as a tutorial on how to configure and use unmodified NetBSD kernel drivers as userspace services with utilities available from the NetBSD base system. As part of this, it presents various use cases. One uses the kernel cryptographic disk driver (cgd) to encrypt a partition. Another one demonstrates how to operate an FFS server for editing the contents of a file system even though your user account does not have privileges to use the host's mount() system call. Additionally, using a userspace TCP/IP server with an unmodified web browser is detailed.</p>
  
  <hr>
</blockquote>

<h3><a href="https://functionallyparanoid.com/2019/03/18/installing-snort-on-openbsd-6-4/" target="_blank" rel="nofollow noopener">Installing Snort on OpenBSD 6.4</a></h3>

<blockquote>
  <p>As you may recall from previous posts, I am running an OpenBSD server on an APU2 air-cooled 3 Intel NIC box as my router/firewall for my secure home network.  Given that all of my Internet traffic flows through this box, I thought it would be a cool idea to run an Intrusion Detection System (IDS) on it.  Snort is the big hog of the open source world so I took a peek in the packages directory on one of the mirrors and lo and behold we have the latest &amp; greatest version of Snort available!  Thanks devs!!!
  I did some quick Googling and didn’t find much “modern” howto help out there so, after some trial and error, I have it up and running.  I thought I’d give back in a small way and share a quickie howto for other Googlers out there who are looking for guidance.  Here’s hoping that my title is good enough “SEO” to get you here! </p>
  
  <hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://os108.org/" target="_blank" rel="nofollow noopener">os108</a></li>

<li><a href="https://www.youtube.com/watch?v=tc4ROCJYbm0&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">AT&amp;T Archives: The UNIX Operating System</a></li>

<li><a href="https://marc.info/?l=openbsd-tech&amp;m=155407864604288&amp;w=2" target="_blank" rel="nofollow noopener">httpd(8): Adapt to industry wide current best security practices</a></li>

<li><a href="https://codesmithdev.com/quotes-from-a-book-that-bashes-unix/" target="_blank" rel="nofollow noopener">Quotes From A Book That Bashes Unix</a></li>

<li><a href="https://github.com/ligurio/openbsd-tests/wiki" target="_blank" rel="nofollow noopener">OpenBSD QA wiki</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Malcolm - <a href="http://dpaste.com/1AFFTNJ" target="_blank" rel="nofollow noopener">Laptop Experience : Dell XPS 13</a></li>

<li>DJ - <a href="http://dpaste.com/0V74SZC#wrap" target="_blank" rel="nofollow noopener">Feedback</a></li>

<li>Alex - <a href="http://dpaste.com/1WVV1W7" target="_blank" rel="nofollow noopener">GhostBSD and Wifi : FIXED</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0295.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>294: The SSH Tarpit</title>
  <link>https://www.bsdnow.tv/294</link>
  <guid isPermaLink="false">b1d75436-414e-48d2-bc93-a09aae8e7d82</guid>
  <pubDate>Thu, 18 Apr 2019 12:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b1d75436-414e-48d2-bc93-a09aae8e7d82.mp3" length="34751503" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>A PI-powered Plan 9 cluster, an SSH tarpit, rdist for when Ansible is too much, falling in love with OpenBSD again, how I created my first FreeBSD port, the Tilde Institute of OpenBSD education and more.</itunes:subtitle>
  <itunes:duration>57: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>&lt;p&gt;A PI-powered Plan 9 cluster, an SSH tarpit, rdist for when Ansible is too much, falling in love with OpenBSD again, how I created my first FreeBSD port, the Tilde Institute of OpenBSD education and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.rs-online.com/designspark/a-pi-powered-plan-9-cluster" target="_blank" rel="nofollow noopener"&gt;A Pi-Powered Plan 9 Cluster&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Plan 9 from Bell Labs comes from the same stable as the UNIX operating system, which of course Linux was designed after, and Apple’s OS X runs on top of a certified UNIX operating system. Just like UNIX, Plan 9 was developed as a research O/S — a vehicle for trying out new concepts — with it building on key UNIX principles and taking the idea of devices are just files even further.
  In this post, we take a quick look at the Plan 9 O/S and some of the notable features, before moving on to the construction of a self-contained 4-node Raspberry Pi cluster that will provide a compact platform for experimentation.&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://nullprogram.com/blog/2019/03/22/" target="_blank" rel="nofollow noopener"&gt;Endlessh: an SSH Tarpit&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;I’m a big fan of tarpits: a network service that intentionally inserts delays in its protocol, slowing down clients by forcing them to wait. This arrests the speed at which a bad actor can attack or probe the host system, and it ties up some of the attacker’s resources that might otherwise be spent attacking another host. When done well, a tarpit imposes more cost on the attacker than the defender.
  The Internet is a very hostile place, and anyone who’s ever stood up an Internet-facing IPv4 host has witnessed the immediate and continuous attacks against their server. I’ve maintained such a server for nearly six years now, and more than 99% of my incoming traffic has ill intent. One part of my defenses has been tarpits in various forms.&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://chargen.one/obsdams/rdist-1-when-ansible-is-too-much" target="_blank" rel="nofollow noopener"&gt;rdist(1) – when Ansible is too much&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;The post written about rdist(1) on johan.huldtgren.com sparked
  us to write one as well. It's a great, underappreciated, tool. And we wanted to show how we wrapped doas(1) around it.
  There are two services in our infrastructure for which we were looking to keep the configuration in sync and to reload the process when the configuration had indeed changed. There is a pair of nsd(8)/unbound(8) hosts and a pair of hosts running relayd(8)/httpd(8) with carp(4) between them.
  We didn't have a requirement to go full configuration management with tools like Ansible or Salt Stack. And there wasn't any interest in building additional logic on top of rsync or repositories. &amp;gt; Enter rdist(1), rdist is a program to maintain identical copies of files over multiple hosts. It preserves the owner, group, mode, and mtime of files if possible and can update programs that are executing.&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://functionallyparanoid.com/2019/03/13/well-its-been-a-while-falling-in-love-with-openbsd-again/" target="_blank" rel="nofollow noopener"&gt;Falling in love with OpenBSD again&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;I was checking the other day and was appalled at how long it has been since I posted here.  I had been working a job during 2018 that had me traveling 3,600 miles by air every week so that is at least a viable excuse.
  So what is my latest project?  I wanted to get something better than the clunky old T500 “freedom laptop” that I could use as my daily driver.  Some background here.  My first paid gig as a programmer was on SunOS 4 (predecessor to Solaris) and Ultrix (on a DEC MicroVAX).  I went from there to a Commodore Amiga (preemptive multitasking in 1985!).  I went from there to OS/2 (I know, patron saint of lost causes) and then finally decided to “sell out” and move to Windows as the path of least resistance in the mid 90’s.
  My wife bought me an iPod literally just as they started working with computers other than Macs and I watched with fascination as Apple made the big gamble and moved away from PowerPC chips to Intel.  That was the beginning of the Apple Fan Boi years for me.  My gateway drug was a G4 MacMini and I managed somehow to get in on the pre-production, developer build of an Intel-based Mac.  I was quite happy on the platform until about three years ago.&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://aikchar.dev/blog/how-i-created-my-first-freebsd-port.html" target="_blank" rel="nofollow noopener"&gt;How I Created My First FreeBSD Port&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;I created my first FreeBSD port recently. I found that FreeBSD didn't have a port for GoCD, which is a continuous integration and continuous deployment (CI/CD) system. This was a great opportunity to learn how to build a FreeBSD port while also contributing back to the community&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://tilde.institute/" target="_blank" rel="nofollow noopener"&gt;The Tilde Institute of OpenBSD Education&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Welcome to tilde.institute! This is an OpenBSD machine whose purpose is to provide a space in the tildeverse for experimentation with and education of the OpenBSD operating system. A variety of editors, shells, and compilers are installed to allow for development in a native OpenBSD environment. OpenBSD's httpd(8) is configured with slowcgi(8) as the fastcgi provider and sqlite3 available. This allows users to experiment with web development using compiled CGI in C, aka the BCHS Stack. In addition to php7.0 and mysql (mariadb) by request, this provides an environment where the development of complex web apps is possible.&lt;/p&gt;
  
  &lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.solobsd.org/index.php/2019/03/26/solobsd-19-03-stable/" target="_blank" rel="nofollow noopener"&gt;SoloBSD 19.03-STABLE&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://docs.google.com/presentation/d/1BbveYtY9IhuPCOLsEafwXMefkiY3REJBYl-opMAKQC0/edit#slide=id.p" target="_blank" rel="nofollow noopener"&gt;WireGuard for NetBSD&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;[NetBSD - Removing PF](https://mail-index.netbsd.org/tech-kern/2019/03/29/msg024883.html
)&lt;/li&gt;

&lt;li&gt;&lt;a href="https://devblogs.microsoft.com/oldnewthing/20190325-00/?p=102359" target="_blank" rel="nofollow noopener"&gt;What does the N in nmake stand for?&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://kottke.org/19/03/a-map-of-the-internet-from-may-1973" target="_blank" rel="nofollow noopener"&gt;A Map of the Internet from May 1973&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="https://hackaday.io/project/164343-nsa-b-gone" target="_blank" rel="nofollow noopener"&gt;NSA-B-Gone : A sketchy hardware security device for your x220&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Jake - &lt;a href="http://dpaste.com/1Y22ZJM" target="_blank" rel="nofollow noopener"&gt;A single jail as a VPN client&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Matt - &lt;a href="http://dpaste.com/2FAFC3A#wrap" target="_blank" rel="nofollow noopener"&gt;Surprising BSD Features&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;cia - &lt;a href="http://dpaste.com/2T4J7G3" target="_blank" rel="nofollow noopener"&gt;Routing and ZFS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0294.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, plan9, ssh, ansible, rdist, wireguard, solobsd, nmake</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>A PI-powered Plan 9 cluster, an SSH tarpit, rdist for when Ansible is too much, falling in love with OpenBSD again, how I created my first FreeBSD port, the Tilde Institute of OpenBSD education and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.rs-online.com/designspark/a-pi-powered-plan-9-cluster" target="_blank" rel="nofollow noopener">A Pi-Powered Plan 9 Cluster</a></h3>

<blockquote>
  <p>Plan 9 from Bell Labs comes from the same stable as the UNIX operating system, which of course Linux was designed after, and Apple’s OS X runs on top of a certified UNIX operating system. Just like UNIX, Plan 9 was developed as a research O/S — a vehicle for trying out new concepts — with it building on key UNIX principles and taking the idea of devices are just files even further.
  In this post, we take a quick look at the Plan 9 O/S and some of the notable features, before moving on to the construction of a self-contained 4-node Raspberry Pi cluster that will provide a compact platform for experimentation.</p>
  
  <hr>
</blockquote>

<h3><a href="https://nullprogram.com/blog/2019/03/22/" target="_blank" rel="nofollow noopener">Endlessh: an SSH Tarpit</a></h3>

<blockquote>
  <p>I’m a big fan of tarpits: a network service that intentionally inserts delays in its protocol, slowing down clients by forcing them to wait. This arrests the speed at which a bad actor can attack or probe the host system, and it ties up some of the attacker’s resources that might otherwise be spent attacking another host. When done well, a tarpit imposes more cost on the attacker than the defender.
  The Internet is a very hostile place, and anyone who’s ever stood up an Internet-facing IPv4 host has witnessed the immediate and continuous attacks against their server. I’ve maintained such a server for nearly six years now, and more than 99% of my incoming traffic has ill intent. One part of my defenses has been tarpits in various forms.</p>
  
  <hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://chargen.one/obsdams/rdist-1-when-ansible-is-too-much" target="_blank" rel="nofollow noopener">rdist(1) – when Ansible is too much</a></h3>

<blockquote>
  <p>The post written about rdist(1) on johan.huldtgren.com sparked
  us to write one as well. It's a great, underappreciated, tool. And we wanted to show how we wrapped doas(1) around it.
  There are two services in our infrastructure for which we were looking to keep the configuration in sync and to reload the process when the configuration had indeed changed. There is a pair of nsd(8)/unbound(8) hosts and a pair of hosts running relayd(8)/httpd(8) with carp(4) between them.
  We didn't have a requirement to go full configuration management with tools like Ansible or Salt Stack. And there wasn't any interest in building additional logic on top of rsync or repositories. &gt; Enter rdist(1), rdist is a program to maintain identical copies of files over multiple hosts. It preserves the owner, group, mode, and mtime of files if possible and can update programs that are executing.</p>
  
  <hr>
</blockquote>

<h3><a href="https://functionallyparanoid.com/2019/03/13/well-its-been-a-while-falling-in-love-with-openbsd-again/" target="_blank" rel="nofollow noopener">Falling in love with OpenBSD again</a></h3>

<blockquote>
  <p>I was checking the other day and was appalled at how long it has been since I posted here.  I had been working a job during 2018 that had me traveling 3,600 miles by air every week so that is at least a viable excuse.
  So what is my latest project?  I wanted to get something better than the clunky old T500 “freedom laptop” that I could use as my daily driver.  Some background here.  My first paid gig as a programmer was on SunOS 4 (predecessor to Solaris) and Ultrix (on a DEC MicroVAX).  I went from there to a Commodore Amiga (preemptive multitasking in 1985!).  I went from there to OS/2 (I know, patron saint of lost causes) and then finally decided to “sell out” and move to Windows as the path of least resistance in the mid 90’s.
  My wife bought me an iPod literally just as they started working with computers other than Macs and I watched with fascination as Apple made the big gamble and moved away from PowerPC chips to Intel.  That was the beginning of the Apple Fan Boi years for me.  My gateway drug was a G4 MacMini and I managed somehow to get in on the pre-production, developer build of an Intel-based Mac.  I was quite happy on the platform until about three years ago.</p>
  
  <hr>
</blockquote>

<h3><a href="https://aikchar.dev/blog/how-i-created-my-first-freebsd-port.html" target="_blank" rel="nofollow noopener">How I Created My First FreeBSD Port</a></h3>

<blockquote>
  <p>I created my first FreeBSD port recently. I found that FreeBSD didn't have a port for GoCD, which is a continuous integration and continuous deployment (CI/CD) system. This was a great opportunity to learn how to build a FreeBSD port while also contributing back to the community</p>
  
  <hr>
</blockquote>

<h3><a href="https://tilde.institute/" target="_blank" rel="nofollow noopener">The Tilde Institute of OpenBSD Education</a></h3>

<blockquote>
  <p>Welcome to tilde.institute! This is an OpenBSD machine whose purpose is to provide a space in the tildeverse for experimentation with and education of the OpenBSD operating system. A variety of editors, shells, and compilers are installed to allow for development in a native OpenBSD environment. OpenBSD's httpd(8) is configured with slowcgi(8) as the fastcgi provider and sqlite3 available. This allows users to experiment with web development using compiled CGI in C, aka the BCHS Stack. In addition to php7.0 and mysql (mariadb) by request, this provides an environment where the development of complex web apps is possible.</p>
  
  <hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.solobsd.org/index.php/2019/03/26/solobsd-19-03-stable/" target="_blank" rel="nofollow noopener">SoloBSD 19.03-STABLE</a></li>

<li><a href="https://docs.google.com/presentation/d/1BbveYtY9IhuPCOLsEafwXMefkiY3REJBYl-opMAKQC0/edit#slide=id.p" target="_blank" rel="nofollow noopener">WireGuard for NetBSD</a></li>

<li>[NetBSD - Removing PF](https://mail-index.netbsd.org/tech-kern/2019/03/29/msg024883.html
)</li>

<li><a href="https://devblogs.microsoft.com/oldnewthing/20190325-00/?p=102359" target="_blank" rel="nofollow noopener">What does the N in nmake stand for?</a></li>

<li><a href="https://kottke.org/19/03/a-map-of-the-internet-from-may-1973" target="_blank" rel="nofollow noopener">A Map of the Internet from May 1973</a></li>

<li><a href="https://hackaday.io/project/164343-nsa-b-gone" target="_blank" rel="nofollow noopener">NSA-B-Gone : A sketchy hardware security device for your x220</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Jake - <a href="http://dpaste.com/1Y22ZJM" target="_blank" rel="nofollow noopener">A single jail as a VPN client</a></li>

<li>Matt - <a href="http://dpaste.com/2FAFC3A#wrap" target="_blank" rel="nofollow noopener">Surprising BSD Features</a></li>

<li>cia - <a href="http://dpaste.com/2T4J7G3" target="_blank" rel="nofollow noopener">Routing and ZFS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0294.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>A PI-powered Plan 9 cluster, an SSH tarpit, rdist for when Ansible is too much, falling in love with OpenBSD again, how I created my first FreeBSD port, the Tilde Institute of OpenBSD education and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.rs-online.com/designspark/a-pi-powered-plan-9-cluster" target="_blank" rel="nofollow noopener">A Pi-Powered Plan 9 Cluster</a></h3>

<blockquote>
  <p>Plan 9 from Bell Labs comes from the same stable as the UNIX operating system, which of course Linux was designed after, and Apple’s OS X runs on top of a certified UNIX operating system. Just like UNIX, Plan 9 was developed as a research O/S — a vehicle for trying out new concepts — with it building on key UNIX principles and taking the idea of devices are just files even further.
  In this post, we take a quick look at the Plan 9 O/S and some of the notable features, before moving on to the construction of a self-contained 4-node Raspberry Pi cluster that will provide a compact platform for experimentation.</p>
  
  <hr>
</blockquote>

<h3><a href="https://nullprogram.com/blog/2019/03/22/" target="_blank" rel="nofollow noopener">Endlessh: an SSH Tarpit</a></h3>

<blockquote>
  <p>I’m a big fan of tarpits: a network service that intentionally inserts delays in its protocol, slowing down clients by forcing them to wait. This arrests the speed at which a bad actor can attack or probe the host system, and it ties up some of the attacker’s resources that might otherwise be spent attacking another host. When done well, a tarpit imposes more cost on the attacker than the defender.
  The Internet is a very hostile place, and anyone who’s ever stood up an Internet-facing IPv4 host has witnessed the immediate and continuous attacks against their server. I’ve maintained such a server for nearly six years now, and more than 99% of my incoming traffic has ill intent. One part of my defenses has been tarpits in various forms.</p>
  
  <hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://chargen.one/obsdams/rdist-1-when-ansible-is-too-much" target="_blank" rel="nofollow noopener">rdist(1) – when Ansible is too much</a></h3>

<blockquote>
  <p>The post written about rdist(1) on johan.huldtgren.com sparked
  us to write one as well. It's a great, underappreciated, tool. And we wanted to show how we wrapped doas(1) around it.
  There are two services in our infrastructure for which we were looking to keep the configuration in sync and to reload the process when the configuration had indeed changed. There is a pair of nsd(8)/unbound(8) hosts and a pair of hosts running relayd(8)/httpd(8) with carp(4) between them.
  We didn't have a requirement to go full configuration management with tools like Ansible or Salt Stack. And there wasn't any interest in building additional logic on top of rsync or repositories. &gt; Enter rdist(1), rdist is a program to maintain identical copies of files over multiple hosts. It preserves the owner, group, mode, and mtime of files if possible and can update programs that are executing.</p>
  
  <hr>
</blockquote>

<h3><a href="https://functionallyparanoid.com/2019/03/13/well-its-been-a-while-falling-in-love-with-openbsd-again/" target="_blank" rel="nofollow noopener">Falling in love with OpenBSD again</a></h3>

<blockquote>
  <p>I was checking the other day and was appalled at how long it has been since I posted here.  I had been working a job during 2018 that had me traveling 3,600 miles by air every week so that is at least a viable excuse.
  So what is my latest project?  I wanted to get something better than the clunky old T500 “freedom laptop” that I could use as my daily driver.  Some background here.  My first paid gig as a programmer was on SunOS 4 (predecessor to Solaris) and Ultrix (on a DEC MicroVAX).  I went from there to a Commodore Amiga (preemptive multitasking in 1985!).  I went from there to OS/2 (I know, patron saint of lost causes) and then finally decided to “sell out” and move to Windows as the path of least resistance in the mid 90’s.
  My wife bought me an iPod literally just as they started working with computers other than Macs and I watched with fascination as Apple made the big gamble and moved away from PowerPC chips to Intel.  That was the beginning of the Apple Fan Boi years for me.  My gateway drug was a G4 MacMini and I managed somehow to get in on the pre-production, developer build of an Intel-based Mac.  I was quite happy on the platform until about three years ago.</p>
  
  <hr>
</blockquote>

<h3><a href="https://aikchar.dev/blog/how-i-created-my-first-freebsd-port.html" target="_blank" rel="nofollow noopener">How I Created My First FreeBSD Port</a></h3>

<blockquote>
  <p>I created my first FreeBSD port recently. I found that FreeBSD didn't have a port for GoCD, which is a continuous integration and continuous deployment (CI/CD) system. This was a great opportunity to learn how to build a FreeBSD port while also contributing back to the community</p>
  
  <hr>
</blockquote>

<h3><a href="https://tilde.institute/" target="_blank" rel="nofollow noopener">The Tilde Institute of OpenBSD Education</a></h3>

<blockquote>
  <p>Welcome to tilde.institute! This is an OpenBSD machine whose purpose is to provide a space in the tildeverse for experimentation with and education of the OpenBSD operating system. A variety of editors, shells, and compilers are installed to allow for development in a native OpenBSD environment. OpenBSD's httpd(8) is configured with slowcgi(8) as the fastcgi provider and sqlite3 available. This allows users to experiment with web development using compiled CGI in C, aka the BCHS Stack. In addition to php7.0 and mysql (mariadb) by request, this provides an environment where the development of complex web apps is possible.</p>
  
  <hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.solobsd.org/index.php/2019/03/26/solobsd-19-03-stable/" target="_blank" rel="nofollow noopener">SoloBSD 19.03-STABLE</a></li>

<li><a href="https://docs.google.com/presentation/d/1BbveYtY9IhuPCOLsEafwXMefkiY3REJBYl-opMAKQC0/edit#slide=id.p" target="_blank" rel="nofollow noopener">WireGuard for NetBSD</a></li>

<li>[NetBSD - Removing PF](https://mail-index.netbsd.org/tech-kern/2019/03/29/msg024883.html
)</li>

<li><a href="https://devblogs.microsoft.com/oldnewthing/20190325-00/?p=102359" target="_blank" rel="nofollow noopener">What does the N in nmake stand for?</a></li>

<li><a href="https://kottke.org/19/03/a-map-of-the-internet-from-may-1973" target="_blank" rel="nofollow noopener">A Map of the Internet from May 1973</a></li>

<li><a href="https://hackaday.io/project/164343-nsa-b-gone" target="_blank" rel="nofollow noopener">NSA-B-Gone : A sketchy hardware security device for your x220</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Jake - <a href="http://dpaste.com/1Y22ZJM" target="_blank" rel="nofollow noopener">A single jail as a VPN client</a></li>

<li>Matt - <a href="http://dpaste.com/2FAFC3A#wrap" target="_blank" rel="nofollow noopener">Surprising BSD Features</a></li>

<li>cia - <a href="http://dpaste.com/2T4J7G3" target="_blank" rel="nofollow noopener">Routing and ZFS</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0294.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>293: Booking Jails</title>
  <link>https://www.bsdnow.tv/293</link>
  <guid isPermaLink="false">ca87df46-31a6-4c71-883e-e34d10e4fd2d</guid>
  <pubDate>Thu, 11 Apr 2019 12:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ca87df46-31a6-4c71-883e-e34d10e4fd2d.mp3" length="46528143" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This week we have a special episode with a Michael W. Lucas interview about his latest jail book that’s been released. We’re talking all things jails, writing, book sponsoring, the upcoming BSDCan 2019 conference, and more.</itunes:subtitle>
  <itunes:duration>1:16: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>&lt;p&gt;This week we have a special episode with a Michael W. Lucas interview about his latest jail book that’s been released. We’re talking all things jails, writing, book sponsoring, the upcoming BSDCan 2019 conference, and more.&lt;/p&gt;

&lt;p&gt;###Interview - Michael W. Lucas  - &lt;a href="mailto:mwl@mwl.io" target="_blank" rel="nofollow noopener"&gt;mwl@mwl.io&lt;/a&gt; / &lt;a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener"&gt;@mwlauthor&lt;/a&gt;&lt;br&gt;
FreeBSD Mastery: Jails&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BR: Welcome back to the show and congratulations on your latest book. How many books did you have to write before you could start on FreeBSD Mastery: Jails?&lt;/li&gt;
&lt;li&gt;AJ: How much research did you have to do about jails?&lt;/li&gt;
&lt;li&gt;BR: The book talks about something called ‘incomplete’ jails. What do you mean by that?&lt;/li&gt;
&lt;li&gt;AJ: There are a lot of jail management frameworks out there. Why did you chose to write about iocage in the book?&lt;/li&gt;
&lt;li&gt;BR: How many jails do you run yourself?&lt;/li&gt;
&lt;li&gt;AJ: Can you tell us a bit about how you handle book sponsorship these days?&lt;/li&gt;
&lt;li&gt;BR: What other books (fiction and non-fiction) are you currently working on?&lt;/li&gt;
&lt;li&gt;AJ: Which talks are you looking forward to attend at the upcoming BSDCan conference?&lt;/li&gt;
&lt;li&gt;BR: How is the BSD user group going?&lt;/li&gt;
&lt;li&gt;AJ: Anything else you’d like to mention before we release you from our interview jail cell?&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0293.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.

 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, jails, iocage, ezjail, books, sudo, bsdcan, gelato, writing, sponsoring, user group</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This week we have a special episode with a Michael W. Lucas interview about his latest jail book that’s been released. We’re talking all things jails, writing, book sponsoring, the upcoming BSDCan 2019 conference, and more.</p>

<p>###Interview - Michael W. Lucas  - <a href="mailto:mwl@mwl.io" target="_blank" rel="nofollow noopener">mwl@mwl.io</a> / <a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener">@mwlauthor</a><br>
FreeBSD Mastery: Jails</p>

<ul>
<li>BR: Welcome back to the show and congratulations on your latest book. How many books did you have to write before you could start on FreeBSD Mastery: Jails?</li>
<li>AJ: How much research did you have to do about jails?</li>
<li>BR: The book talks about something called ‘incomplete’ jails. What do you mean by that?</li>
<li>AJ: There are a lot of jail management frameworks out there. Why did you chose to write about iocage in the book?</li>
<li>BR: How many jails do you run yourself?</li>
<li>AJ: Can you tell us a bit about how you handle book sponsorship these days?</li>
<li>BR: What other books (fiction and non-fiction) are you currently working on?</li>
<li>AJ: Which talks are you looking forward to attend at the upcoming BSDCan conference?</li>
<li>BR: How is the BSD user group going?</li>
<li>AJ: Anything else you’d like to mention before we release you from our interview jail cell?</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0293.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This week we have a special episode with a Michael W. Lucas interview about his latest jail book that’s been released. We’re talking all things jails, writing, book sponsoring, the upcoming BSDCan 2019 conference, and more.</p>

<p>###Interview - Michael W. Lucas  - <a href="mailto:mwl@mwl.io" target="_blank" rel="nofollow noopener">mwl@mwl.io</a> / <a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener">@mwlauthor</a><br>
FreeBSD Mastery: Jails</p>

<ul>
<li>BR: Welcome back to the show and congratulations on your latest book. How many books did you have to write before you could start on FreeBSD Mastery: Jails?</li>
<li>AJ: How much research did you have to do about jails?</li>
<li>BR: The book talks about something called ‘incomplete’ jails. What do you mean by that?</li>
<li>AJ: There are a lot of jail management frameworks out there. Why did you chose to write about iocage in the book?</li>
<li>BR: How many jails do you run yourself?</li>
<li>AJ: Can you tell us a bit about how you handle book sponsorship these days?</li>
<li>BR: What other books (fiction and non-fiction) are you currently working on?</li>
<li>AJ: Which talks are you looking forward to attend at the upcoming BSDCan conference?</li>
<li>BR: How is the BSD user group going?</li>
<li>AJ: Anything else you’d like to mention before we release you from our interview jail cell?</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0293.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>292: AsiaBSDcon 2019 Recap</title>
  <link>https://www.bsdnow.tv/292</link>
  <guid isPermaLink="false">6f743ea3-0e96-445c-a46e-944f1a62450b</guid>
  <pubDate>Thu, 04 Apr 2019 11:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6f743ea3-0e96-445c-a46e-944f1a62450b.mp3" length="54434181" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Q4 2018 status report, the GhostBSD alternative, the coolest 90s laptop, OpenSSH 8.0 with quantum computing resistant keys exchange, project trident: 18.12-U8 is here, and more.</itunes:subtitle>
  <itunes:duration>1:30:25</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>&lt;p&gt;FreeBSD Q4 2018 status report, the GhostBSD alternative, the coolest 90s laptop, OpenSSH 8.0 with quantum computing resistant keys exchange, project trident: 18.12-U8 is here, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://2019.asiabsdcon.org" target="_blank" rel="nofollow noopener"&gt;AsiaBSDcon 2019 recap&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Both Allan and I attended AsiaBSDcon 2019 in Tokyo in mid march. After a couple of days of Tokyo sightseeing and tasting the local food, the conference started with tutorials.&lt;/li&gt;
&lt;li&gt;Benedict gave his tutorial about “BSD-based Systems Monitoring with Icinga2 and OpenSSH”, while Allan ran the FreeBSD developer summit.&lt;/li&gt;
&lt;li&gt;On the next day, Benedict attended the tutorial “writing (network) tests for FreeBSD” held by Kristof Provost. I learned a lot about Kyua, where tests live and how they are executed. I took some notes, which will likely become an article or chapter in the developers handbook about writing tests.&lt;/li&gt;
&lt;li&gt;On the third day, Hiroki Sato officially opened the paper session and then people went into individual talks.&lt;/li&gt;
&lt;li&gt;Benedict attended
&lt;blockquote&gt;
&lt;p&gt;Adventure in DRMland - Or how to write a FreeBSD ARM64 DRM driver by Emmanuel&lt;br&gt;
Vadot&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;powerpc64 architecture support in FreeBSD ports by Piotr Kubaj&lt;br&gt;
Managing System Images with ZFS by Allan Jude&lt;br&gt;
FreeBSD - Improving block I/O compatibility in bhyve by Sergiu Weisz&lt;br&gt;
&lt;a href="https://www.youtube.com/watch?v=7kShjboN6ek" target="_blank" rel="nofollow noopener"&gt;Security Fantasies and Realities for the BSDs by George V.&lt;br&gt;
Neville-Neil&lt;/a&gt;&lt;br&gt;
ZRouter: Remote update of firmware by Hiroki Mori&lt;br&gt;
Improving security of the FreeBSD boot process by Marcin Wojtas&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Allan attended
&lt;blockquote&gt;
&lt;p&gt;Adventures in DRMland by Emmanuel Vadot&lt;br&gt;
Intel HAXM by Kamil Rytarowski&lt;br&gt;
BSD Solutions in Australian NGOs&lt;br&gt;
Container Migration on FreeBSD by Yuhei Takagawa&lt;br&gt;
Security Fantasies and Realities for the BSDs by George Neville-Neil&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ZRouter: Remote update of firmware by Hiroki Mori&lt;br&gt;
Improving security of the FreeBSD boot process by Marcin Wojtas&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;When not in talks, time was spent in the hallway track and conversations would often continue over dinner.&lt;/li&gt;
&lt;li&gt;Stay tuned for announcements about where AsiaBSDcon 2020 will be, as the Tokyo Olympics will likely force some changes for next year. Overall, it was nice to see people at the conference again, listen to talks, and enjoy the hospitality of Japan.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;###&lt;a href="https://lists.freebsd.org/pipermail/freebsd-announce/2019-March/001871.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Quarterly Status Report - Fourth Quarter 2018&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Since we are still on this island among many in this vast ocean of the Internet, we write this message in a bottle to inform you of the work we have finished and what lies ahead of us. These deeds that we have wrought with our minds and hands, they are for all to partake of - in the hopes that anyone of their free will, will join us in making improvements. In todays message the following by no means complete or ordered set of improvements and additions will be covered:&lt;br&gt;
i386 PAE Pagetables for up to 24GB memory support, Continuous Integration efforts, driver updates to ENA and graphics, ARM enhancements such as RochChip, Marvell 8K, and Broadcom support as well as more DTS files, more Capsicum possibilities, as well as pfsync improvements, and many more things that you can read about for yourselves.&lt;br&gt;
Additionally, we bring news from some islands further down stream, namely the nosh project, HardenedBSD, ClonOS, and the Polish BSD User-Group.&lt;br&gt;
We would, selfishly, encourage those of you who give us the good word to please send in your submissions sooner than just before the deadline, and also encourage anyone willing to share the good word to please read the section on which submissions we’re also interested in having.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.linuxinsider.com/story/GhostBSD-A-Solid-Linux-Like-Open-Source-Alternative-85859.html" target="_blank" rel="nofollow noopener"&gt;GhostBSD: A Solid Linux-Like Open Source Alternative&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The subject of this week’s Linux Picks and Pans is a representative of a less well-known computing platform that coexists with Linux as an open source operating system. If you thought that the Linux kernel was the only open source engine for a free OS, think again. BSD (Berkeley Software Distribution) shares many of the same features that make Linux OSes viable alternatives to proprietary computing platforms.&lt;br&gt;
GhostBSD is a user-friendly Linux-like desktop operating system based on TrueOS. TrueOS is, in turn, based on FreeBSD’s development branch. TrueOS’ goal is to combine the stability and security of FreeBSD with a preinstalled GNOME, MATE, Xfce, LXDE or Openbox graphical user interface.&lt;br&gt;
I stumbled on TrueOS while checking out new desktop environments and features in recent new releases of a few obscure Linux distros. Along the way, I discovered that today’s BSD computing family is not the closed source Unix platform the “BSD” name might suggest.&lt;br&gt;
In last week’s Redcore Linux review, I mentioned that the Lumina desktop environment was under development for an upcoming Redcore Linux release. Lumina is being developed primarily for BSD OSes. That led me to circle back to a review I wrote two years ago on Lumina being developed for Linux.&lt;br&gt;
GhostBSD is a pleasant discovery. It has nothing to do with being spooky, either. That goes for both the distro and the open source computing family it exposes.&lt;br&gt;
Keep reading to find out what piqued my excitement about Linux-like GhostBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="http://triosdevelopers.com/jason.eckert/blog/Entries/2019/3/14_SPARCbook_3000ST_-_The_coolest_90s_laptop.html" target="_blank" rel="nofollow noopener"&gt;SPARCbook 3000ST - The coolest 90s laptop&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A few weeks back I managed to pick up an incredibly rare laptop in immaculate condition for $50 on Kijiji: a Tadpole Technologies SPARCbook 3000ST from 1997 (it also came with two other working Pentium laptops from the 1990s).&lt;br&gt;
Sun computers were an expensive desire for many computer geeks in the 1990s, and running UNIX on a SPARC-based laptop was, well, just as cool as it gets. SPARC was an open hardware platform that anyone could make, and Tadpole licensed the Solaris UNIX operating system from Sun for their SPARCbooks. Tadpole essentially made high-end UNIX/VAX workstations on costly, unusual platforms (PowerPC, DEC Alpha, SPARC) but only their SPARCbooks were popular in the high-end UNIX market of the 1990s.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://codesmithdev.com/openssh-8-0-releasing-with-quantum-computing-resistant-keys/" target="_blank" rel="nofollow noopener"&gt;OpenSSH 8.0 Releasing With Quantum Computing Resistant Keys&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenSSH 7.9 came out with a host of bug fixes  last year with few new features, as is to be expected in minor releases. However, recently, Damien Miller has announced that OpenSSH 8.0 is nearly ready to be released. Currently, it’s undergoing testing to ensure compatibility across supported systems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/damienmiller/status/1111416334737244160" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/damienmiller/status/1111416334737244160&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Better Security&lt;br&gt;
Copying filenames with scp will be more secure in OpenSSH 8.0 due to the fact that copying filenames from a remote to local directory will prompt scp to check if the files sent from the server match your request. Otherwise, an attack server would theoretically be able to intercept the request by serving malicious files in place of the ones originally requested. Knowing this, you’re probably better off never using scp anyway.  OpenSSH advises against it:&lt;br&gt;
“The scp protocol is outdated, inflexible and not readily fixed. We recommend the use of more modern protocols like sftp and rsync for file transfer instead.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Interesting new features&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ssh(1): When prompting whether to record a new host key, accept the key fingerprint as a synonym for “yes”. This allows the user to paste a fingerprint obtained out of band at the prompt and have the client do the comparison for you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://project-trident.org/post/2019-03-29_18.12-u8_available/" target="_blank" rel="nofollow noopener"&gt;Project Trident : 18.12-U8 Available&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Thank you all for your patience! Project Trident has finally finished some significant infrastructure updates over the last 2 weeks, and we are pleased to announce that package update 8 for 18.12-RELEASE is now available.&lt;br&gt;
To switch to the new update, you will need to open the “Configuration” tab in the update manager and switch to the new “Trident-release” package repository. You can also perform this transition via the command line by running: sudo sysup --change-train Trident-release&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://sourceforge.net/projects/bsdrp/files/BSD_Router_Project/1.92/" target="_blank" rel="nofollow noopener"&gt;BSD Router Project - Release 1.92&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://registration.eurobsdcon.org/conferences/2019/program/proposals/new" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon - New Proposals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/unix/comments/b1wyde/funny_unix_shirt_ren%C3%A9_magritte_art_parody/" target="_blank" rel="nofollow noopener"&gt;Funny UNIX shirt (René Magritte art parody)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://geoff.greer.fm/2019/03/04/thinkpad-x210/" target="_blank" rel="nofollow noopener"&gt;51NB’s Thinkpad X210&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/03/26/22703.html" target="_blank" rel="nofollow noopener"&gt;DragonFly: No more gcc50&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/4139" target="_blank" rel="nofollow noopener"&gt;“FreeBSD Mastery: Jails” ebook escaping!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://frab.luga.de/en/LIT2019/public/events/68" target="_blank" rel="nofollow noopener"&gt;FreeBSD talk at the Augsburger Linux Info Days (german)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DJ - &lt;a href="http://dpaste.com/3ZRJ5DA#wrap" target="_blank" rel="nofollow noopener"&gt;FuguIta Feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mike - &lt;a href="http://dpaste.com/32TSCH4#wrap" target="_blank" rel="nofollow noopener"&gt;Another Good Show&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Alex - &lt;a href="http://dpaste.com/34ND6BC#wrap" target="_blank" rel="nofollow noopener"&gt;GhostBSD and wifi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0292.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Q4 2018 status report, the GhostBSD alternative, the coolest 90s laptop, OpenSSH 8.0 with quantum computing resistant keys exchange, project trident: 18.12-U8 is here, and more.</p>

<p>##Headlines<br>
###<a href="https://2019.asiabsdcon.org" target="_blank" rel="nofollow noopener">AsiaBSDcon 2019 recap</a></p>

<ul>
<li>Both Allan and I attended AsiaBSDcon 2019 in Tokyo in mid march. After a couple of days of Tokyo sightseeing and tasting the local food, the conference started with tutorials.</li>
<li>Benedict gave his tutorial about “BSD-based Systems Monitoring with Icinga2 and OpenSSH”, while Allan ran the FreeBSD developer summit.</li>
<li>On the next day, Benedict attended the tutorial “writing (network) tests for FreeBSD” held by Kristof Provost. I learned a lot about Kyua, where tests live and how they are executed. I took some notes, which will likely become an article or chapter in the developers handbook about writing tests.</li>
<li>On the third day, Hiroki Sato officially opened the paper session and then people went into individual talks.</li>
<li>Benedict attended
<blockquote>
<p>Adventure in DRMland - Or how to write a FreeBSD ARM64 DRM driver by Emmanuel<br>
Vadot</p>
</blockquote>
</li>
</ul>

<blockquote>
<p>powerpc64 architecture support in FreeBSD ports by Piotr Kubaj<br>
Managing System Images with ZFS by Allan Jude<br>
FreeBSD - Improving block I/O compatibility in bhyve by Sergiu Weisz<br>
<a href="https://www.youtube.com/watch?v=7kShjboN6ek" target="_blank" rel="nofollow noopener">Security Fantasies and Realities for the BSDs by George V.<br>
Neville-Neil</a><br>
ZRouter: Remote update of firmware by Hiroki Mori<br>
Improving security of the FreeBSD boot process by Marcin Wojtas</p>
</blockquote>

<ul>
<li>Allan attended
<blockquote>
<p>Adventures in DRMland by Emmanuel Vadot<br>
Intel HAXM by Kamil Rytarowski<br>
BSD Solutions in Australian NGOs<br>
Container Migration on FreeBSD by Yuhei Takagawa<br>
Security Fantasies and Realities for the BSDs by George Neville-Neil</p>
</blockquote>
</li>
</ul>

<blockquote>
<p>ZRouter: Remote update of firmware by Hiroki Mori<br>
Improving security of the FreeBSD boot process by Marcin Wojtas</p>
</blockquote>

<ul>
<li>When not in talks, time was spent in the hallway track and conversations would often continue over dinner.</li>
<li>Stay tuned for announcements about where AsiaBSDcon 2020 will be, as the Tokyo Olympics will likely force some changes for next year. Overall, it was nice to see people at the conference again, listen to talks, and enjoy the hospitality of Japan.</li>
</ul>

<p>###<a href="https://lists.freebsd.org/pipermail/freebsd-announce/2019-March/001871.html" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report - Fourth Quarter 2018</a></p>

<blockquote>
<p>Since we are still on this island among many in this vast ocean of the Internet, we write this message in a bottle to inform you of the work we have finished and what lies ahead of us. These deeds that we have wrought with our minds and hands, they are for all to partake of - in the hopes that anyone of their free will, will join us in making improvements. In todays message the following by no means complete or ordered set of improvements and additions will be covered:<br>
i386 PAE Pagetables for up to 24GB memory support, Continuous Integration efforts, driver updates to ENA and graphics, ARM enhancements such as RochChip, Marvell 8K, and Broadcom support as well as more DTS files, more Capsicum possibilities, as well as pfsync improvements, and many more things that you can read about for yourselves.<br>
Additionally, we bring news from some islands further down stream, namely the nosh project, HardenedBSD, ClonOS, and the Polish BSD User-Group.<br>
We would, selfishly, encourage those of you who give us the good word to please send in your submissions sooner than just before the deadline, and also encourage anyone willing to share the good word to please read the section on which submissions we’re also interested in having.</p>
</blockquote>

<hr>

<p>###<a href="https://www.linuxinsider.com/story/GhostBSD-A-Solid-Linux-Like-Open-Source-Alternative-85859.html" target="_blank" rel="nofollow noopener">GhostBSD: A Solid Linux-Like Open Source Alternative</a></p>

<blockquote>
<p>The subject of this week’s Linux Picks and Pans is a representative of a less well-known computing platform that coexists with Linux as an open source operating system. If you thought that the Linux kernel was the only open source engine for a free OS, think again. BSD (Berkeley Software Distribution) shares many of the same features that make Linux OSes viable alternatives to proprietary computing platforms.<br>
GhostBSD is a user-friendly Linux-like desktop operating system based on TrueOS. TrueOS is, in turn, based on FreeBSD’s development branch. TrueOS’ goal is to combine the stability and security of FreeBSD with a preinstalled GNOME, MATE, Xfce, LXDE or Openbox graphical user interface.<br>
I stumbled on TrueOS while checking out new desktop environments and features in recent new releases of a few obscure Linux distros. Along the way, I discovered that today’s BSD computing family is not the closed source Unix platform the “BSD” name might suggest.<br>
In last week’s Redcore Linux review, I mentioned that the Lumina desktop environment was under development for an upcoming Redcore Linux release. Lumina is being developed primarily for BSD OSes. That led me to circle back to a review I wrote two years ago on Lumina being developed for Linux.<br>
GhostBSD is a pleasant discovery. It has nothing to do with being spooky, either. That goes for both the distro and the open source computing family it exposes.<br>
Keep reading to find out what piqued my excitement about Linux-like GhostBSD.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="http://triosdevelopers.com/jason.eckert/blog/Entries/2019/3/14_SPARCbook_3000ST_-_The_coolest_90s_laptop.html" target="_blank" rel="nofollow noopener">SPARCbook 3000ST - The coolest 90s laptop</a></p>

<blockquote>
<p>A few weeks back I managed to pick up an incredibly rare laptop in immaculate condition for $50 on Kijiji: a Tadpole Technologies SPARCbook 3000ST from 1997 (it also came with two other working Pentium laptops from the 1990s).<br>
Sun computers were an expensive desire for many computer geeks in the 1990s, and running UNIX on a SPARC-based laptop was, well, just as cool as it gets. SPARC was an open hardware platform that anyone could make, and Tadpole licensed the Solaris UNIX operating system from Sun for their SPARCbooks. Tadpole essentially made high-end UNIX/VAX workstations on costly, unusual platforms (PowerPC, DEC Alpha, SPARC) but only their SPARCbooks were popular in the high-end UNIX market of the 1990s.</p>
</blockquote>

<hr>

<p>###<a href="https://codesmithdev.com/openssh-8-0-releasing-with-quantum-computing-resistant-keys/" target="_blank" rel="nofollow noopener">OpenSSH 8.0 Releasing With Quantum Computing Resistant Keys</a></p>

<blockquote>
<p>OpenSSH 7.9 came out with a host of bug fixes  last year with few new features, as is to be expected in minor releases. However, recently, Damien Miller has announced that OpenSSH 8.0 is nearly ready to be released. Currently, it’s undergoing testing to ensure compatibility across supported systems.</p>
</blockquote>

<ul>
<li><a href="https://twitter.com/damienmiller/status/1111416334737244160" target="_blank" rel="nofollow noopener">https://twitter.com/damienmiller/status/1111416334737244160</a></li>
</ul>

<blockquote>
<p>Better Security<br>
Copying filenames with scp will be more secure in OpenSSH 8.0 due to the fact that copying filenames from a remote to local directory will prompt scp to check if the files sent from the server match your request. Otherwise, an attack server would theoretically be able to intercept the request by serving malicious files in place of the ones originally requested. Knowing this, you’re probably better off never using scp anyway.  OpenSSH advises against it:<br>
“The scp protocol is outdated, inflexible and not readily fixed. We recommend the use of more modern protocols like sftp and rsync for file transfer instead.”</p>
</blockquote>

<ul>
<li>Interesting new features</li>
</ul>

<blockquote>
<p>ssh(1): When prompting whether to record a new host key, accept the key fingerprint as a synonym for “yes”. This allows the user to paste a fingerprint obtained out of band at the prompt and have the client do the comparison for you.</p>
</blockquote>

<hr>

<p>###<a href="https://project-trident.org/post/2019-03-29_18.12-u8_available/" target="_blank" rel="nofollow noopener">Project Trident : 18.12-U8 Available</a></p>

<blockquote>
<p>Thank you all for your patience! Project Trident has finally finished some significant infrastructure updates over the last 2 weeks, and we are pleased to announce that package update 8 for 18.12-RELEASE is now available.<br>
To switch to the new update, you will need to open the “Configuration” tab in the update manager and switch to the new “Trident-release” package repository. You can also perform this transition via the command line by running: sudo sysup --change-train Trident-release</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://sourceforge.net/projects/bsdrp/files/BSD_Router_Project/1.92/" target="_blank" rel="nofollow noopener">BSD Router Project - Release 1.92</a></li>
<li><a href="https://registration.eurobsdcon.org/conferences/2019/program/proposals/new" target="_blank" rel="nofollow noopener">EuroBSDcon - New Proposals</a></li>
<li><a href="https://www.reddit.com/r/unix/comments/b1wyde/funny_unix_shirt_ren%C3%A9_magritte_art_parody/" target="_blank" rel="nofollow noopener">Funny UNIX shirt (René Magritte art parody)</a></li>
<li><a href="https://geoff.greer.fm/2019/03/04/thinkpad-x210/" target="_blank" rel="nofollow noopener">51NB’s Thinkpad X210</a></li>
<li><a href="https://www.dragonflydigest.com/2019/03/26/22703.html" target="_blank" rel="nofollow noopener">DragonFly: No more gcc50</a></li>
<li><a href="https://mwl.io/archives/4139" target="_blank" rel="nofollow noopener">“FreeBSD Mastery: Jails” ebook escaping!</a></li>
<li><a href="https://frab.luga.de/en/LIT2019/public/events/68" target="_blank" rel="nofollow noopener">FreeBSD talk at the Augsburger Linux Info Days (german)</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>DJ - <a href="http://dpaste.com/3ZRJ5DA#wrap" target="_blank" rel="nofollow noopener">FuguIta Feedback</a></li>
<li>Mike - <a href="http://dpaste.com/32TSCH4#wrap" target="_blank" rel="nofollow noopener">Another Good Show</a></li>
<li>Alex - <a href="http://dpaste.com/34ND6BC#wrap" target="_blank" rel="nofollow noopener">GhostBSD and wifi</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0292.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Q4 2018 status report, the GhostBSD alternative, the coolest 90s laptop, OpenSSH 8.0 with quantum computing resistant keys exchange, project trident: 18.12-U8 is here, and more.</p>

<p>##Headlines<br>
###<a href="https://2019.asiabsdcon.org" target="_blank" rel="nofollow noopener">AsiaBSDcon 2019 recap</a></p>

<ul>
<li>Both Allan and I attended AsiaBSDcon 2019 in Tokyo in mid march. After a couple of days of Tokyo sightseeing and tasting the local food, the conference started with tutorials.</li>
<li>Benedict gave his tutorial about “BSD-based Systems Monitoring with Icinga2 and OpenSSH”, while Allan ran the FreeBSD developer summit.</li>
<li>On the next day, Benedict attended the tutorial “writing (network) tests for FreeBSD” held by Kristof Provost. I learned a lot about Kyua, where tests live and how they are executed. I took some notes, which will likely become an article or chapter in the developers handbook about writing tests.</li>
<li>On the third day, Hiroki Sato officially opened the paper session and then people went into individual talks.</li>
<li>Benedict attended
<blockquote>
<p>Adventure in DRMland - Or how to write a FreeBSD ARM64 DRM driver by Emmanuel<br>
Vadot</p>
</blockquote>
</li>
</ul>

<blockquote>
<p>powerpc64 architecture support in FreeBSD ports by Piotr Kubaj<br>
Managing System Images with ZFS by Allan Jude<br>
FreeBSD - Improving block I/O compatibility in bhyve by Sergiu Weisz<br>
<a href="https://www.youtube.com/watch?v=7kShjboN6ek" target="_blank" rel="nofollow noopener">Security Fantasies and Realities for the BSDs by George V.<br>
Neville-Neil</a><br>
ZRouter: Remote update of firmware by Hiroki Mori<br>
Improving security of the FreeBSD boot process by Marcin Wojtas</p>
</blockquote>

<ul>
<li>Allan attended
<blockquote>
<p>Adventures in DRMland by Emmanuel Vadot<br>
Intel HAXM by Kamil Rytarowski<br>
BSD Solutions in Australian NGOs<br>
Container Migration on FreeBSD by Yuhei Takagawa<br>
Security Fantasies and Realities for the BSDs by George Neville-Neil</p>
</blockquote>
</li>
</ul>

<blockquote>
<p>ZRouter: Remote update of firmware by Hiroki Mori<br>
Improving security of the FreeBSD boot process by Marcin Wojtas</p>
</blockquote>

<ul>
<li>When not in talks, time was spent in the hallway track and conversations would often continue over dinner.</li>
<li>Stay tuned for announcements about where AsiaBSDcon 2020 will be, as the Tokyo Olympics will likely force some changes for next year. Overall, it was nice to see people at the conference again, listen to talks, and enjoy the hospitality of Japan.</li>
</ul>

<p>###<a href="https://lists.freebsd.org/pipermail/freebsd-announce/2019-March/001871.html" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Report - Fourth Quarter 2018</a></p>

<blockquote>
<p>Since we are still on this island among many in this vast ocean of the Internet, we write this message in a bottle to inform you of the work we have finished and what lies ahead of us. These deeds that we have wrought with our minds and hands, they are for all to partake of - in the hopes that anyone of their free will, will join us in making improvements. In todays message the following by no means complete or ordered set of improvements and additions will be covered:<br>
i386 PAE Pagetables for up to 24GB memory support, Continuous Integration efforts, driver updates to ENA and graphics, ARM enhancements such as RochChip, Marvell 8K, and Broadcom support as well as more DTS files, more Capsicum possibilities, as well as pfsync improvements, and many more things that you can read about for yourselves.<br>
Additionally, we bring news from some islands further down stream, namely the nosh project, HardenedBSD, ClonOS, and the Polish BSD User-Group.<br>
We would, selfishly, encourage those of you who give us the good word to please send in your submissions sooner than just before the deadline, and also encourage anyone willing to share the good word to please read the section on which submissions we’re also interested in having.</p>
</blockquote>

<hr>

<p>###<a href="https://www.linuxinsider.com/story/GhostBSD-A-Solid-Linux-Like-Open-Source-Alternative-85859.html" target="_blank" rel="nofollow noopener">GhostBSD: A Solid Linux-Like Open Source Alternative</a></p>

<blockquote>
<p>The subject of this week’s Linux Picks and Pans is a representative of a less well-known computing platform that coexists with Linux as an open source operating system. If you thought that the Linux kernel was the only open source engine for a free OS, think again. BSD (Berkeley Software Distribution) shares many of the same features that make Linux OSes viable alternatives to proprietary computing platforms.<br>
GhostBSD is a user-friendly Linux-like desktop operating system based on TrueOS. TrueOS is, in turn, based on FreeBSD’s development branch. TrueOS’ goal is to combine the stability and security of FreeBSD with a preinstalled GNOME, MATE, Xfce, LXDE or Openbox graphical user interface.<br>
I stumbled on TrueOS while checking out new desktop environments and features in recent new releases of a few obscure Linux distros. Along the way, I discovered that today’s BSD computing family is not the closed source Unix platform the “BSD” name might suggest.<br>
In last week’s Redcore Linux review, I mentioned that the Lumina desktop environment was under development for an upcoming Redcore Linux release. Lumina is being developed primarily for BSD OSes. That led me to circle back to a review I wrote two years ago on Lumina being developed for Linux.<br>
GhostBSD is a pleasant discovery. It has nothing to do with being spooky, either. That goes for both the distro and the open source computing family it exposes.<br>
Keep reading to find out what piqued my excitement about Linux-like GhostBSD.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="http://triosdevelopers.com/jason.eckert/blog/Entries/2019/3/14_SPARCbook_3000ST_-_The_coolest_90s_laptop.html" target="_blank" rel="nofollow noopener">SPARCbook 3000ST - The coolest 90s laptop</a></p>

<blockquote>
<p>A few weeks back I managed to pick up an incredibly rare laptop in immaculate condition for $50 on Kijiji: a Tadpole Technologies SPARCbook 3000ST from 1997 (it also came with two other working Pentium laptops from the 1990s).<br>
Sun computers were an expensive desire for many computer geeks in the 1990s, and running UNIX on a SPARC-based laptop was, well, just as cool as it gets. SPARC was an open hardware platform that anyone could make, and Tadpole licensed the Solaris UNIX operating system from Sun for their SPARCbooks. Tadpole essentially made high-end UNIX/VAX workstations on costly, unusual platforms (PowerPC, DEC Alpha, SPARC) but only their SPARCbooks were popular in the high-end UNIX market of the 1990s.</p>
</blockquote>

<hr>

<p>###<a href="https://codesmithdev.com/openssh-8-0-releasing-with-quantum-computing-resistant-keys/" target="_blank" rel="nofollow noopener">OpenSSH 8.0 Releasing With Quantum Computing Resistant Keys</a></p>

<blockquote>
<p>OpenSSH 7.9 came out with a host of bug fixes  last year with few new features, as is to be expected in minor releases. However, recently, Damien Miller has announced that OpenSSH 8.0 is nearly ready to be released. Currently, it’s undergoing testing to ensure compatibility across supported systems.</p>
</blockquote>

<ul>
<li><a href="https://twitter.com/damienmiller/status/1111416334737244160" target="_blank" rel="nofollow noopener">https://twitter.com/damienmiller/status/1111416334737244160</a></li>
</ul>

<blockquote>
<p>Better Security<br>
Copying filenames with scp will be more secure in OpenSSH 8.0 due to the fact that copying filenames from a remote to local directory will prompt scp to check if the files sent from the server match your request. Otherwise, an attack server would theoretically be able to intercept the request by serving malicious files in place of the ones originally requested. Knowing this, you’re probably better off never using scp anyway.  OpenSSH advises against it:<br>
“The scp protocol is outdated, inflexible and not readily fixed. We recommend the use of more modern protocols like sftp and rsync for file transfer instead.”</p>
</blockquote>

<ul>
<li>Interesting new features</li>
</ul>

<blockquote>
<p>ssh(1): When prompting whether to record a new host key, accept the key fingerprint as a synonym for “yes”. This allows the user to paste a fingerprint obtained out of band at the prompt and have the client do the comparison for you.</p>
</blockquote>

<hr>

<p>###<a href="https://project-trident.org/post/2019-03-29_18.12-u8_available/" target="_blank" rel="nofollow noopener">Project Trident : 18.12-U8 Available</a></p>

<blockquote>
<p>Thank you all for your patience! Project Trident has finally finished some significant infrastructure updates over the last 2 weeks, and we are pleased to announce that package update 8 for 18.12-RELEASE is now available.<br>
To switch to the new update, you will need to open the “Configuration” tab in the update manager and switch to the new “Trident-release” package repository. You can also perform this transition via the command line by running: sudo sysup --change-train Trident-release</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://sourceforge.net/projects/bsdrp/files/BSD_Router_Project/1.92/" target="_blank" rel="nofollow noopener">BSD Router Project - Release 1.92</a></li>
<li><a href="https://registration.eurobsdcon.org/conferences/2019/program/proposals/new" target="_blank" rel="nofollow noopener">EuroBSDcon - New Proposals</a></li>
<li><a href="https://www.reddit.com/r/unix/comments/b1wyde/funny_unix_shirt_ren%C3%A9_magritte_art_parody/" target="_blank" rel="nofollow noopener">Funny UNIX shirt (René Magritte art parody)</a></li>
<li><a href="https://geoff.greer.fm/2019/03/04/thinkpad-x210/" target="_blank" rel="nofollow noopener">51NB’s Thinkpad X210</a></li>
<li><a href="https://www.dragonflydigest.com/2019/03/26/22703.html" target="_blank" rel="nofollow noopener">DragonFly: No more gcc50</a></li>
<li><a href="https://mwl.io/archives/4139" target="_blank" rel="nofollow noopener">“FreeBSD Mastery: Jails” ebook escaping!</a></li>
<li><a href="https://frab.luga.de/en/LIT2019/public/events/68" target="_blank" rel="nofollow noopener">FreeBSD talk at the Augsburger Linux Info Days (german)</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>DJ - <a href="http://dpaste.com/3ZRJ5DA#wrap" target="_blank" rel="nofollow noopener">FuguIta Feedback</a></li>
<li>Mike - <a href="http://dpaste.com/32TSCH4#wrap" target="_blank" rel="nofollow noopener">Another Good Show</a></li>
<li>Alex - <a href="http://dpaste.com/34ND6BC#wrap" target="_blank" rel="nofollow noopener">GhostBSD and wifi</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0292.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>291: Storage Changes Software</title>
  <link>https://www.bsdnow.tv/291</link>
  <guid isPermaLink="false">54559ca9-f84f-4e9e-8323-3a5a0919937f</guid>
  <pubDate>Thu, 28 Mar 2019 10:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/54559ca9-f84f-4e9e-8323-3a5a0919937f.mp3" length="43826319" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Storage changing software, what makes Unix special, what you need may be “pipeline +Unix commands”, running a bakery on Emacs and PostgreSQL, the ultimate guide to memorable tech talks, light-weight contexts, and more.</itunes:subtitle>
  <itunes:duration>1:12:44</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>&lt;p&gt;Storage changing software, what makes Unix special, what you need may be “pipeline +Unix commands”, running a bakery on Emacs and PostgreSQL, the ultimate guide to memorable tech talks, light-weight contexts, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://news.gandi.net/en/2019/03/tracking-a-storage-issue-led-to-software-change/" target="_blank" rel="nofollow noopener"&gt;Tracking a storage issue led to software change&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Early last year we completed a massive migration that moved our customers’ hosting data off of a legacy datacenter (that we called FR-SD2) onto several new datacenters (that we call FR-SD3, FR-SD5, and FR-SD6) with much more modern, up-to-date infrastructure.&lt;br&gt;
This migration required several changes in both the software and hardware we use, including switching the operating system on our storage units to FreeBSD.&lt;br&gt;
Currently, we use the NFS protocol to provide storage and export the filesystems on Simple Hosting, our web hosting service, and the FreeBSD kernel includes an NFS server for just this purpose.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Problem&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;While migrating virtual disks of Simple Hosting instances from FR-SD2, we noticed high CPU load spikes on the new storage units.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.softwaredevelopment.site/2019/02/what-makes-unix-special.html" target="_blank" rel="nofollow noopener"&gt;What Makes Unix Special&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Ever since Unix burst onto the scene within the early '70s, observers within the pc world have been fast to put in writing it off as a unusual working system designed by and for knowledgeable programmers. Regardless of their proclamations, Unix refuses to die. Means again in 1985, Stewart Cheifet puzzled if Unix would turn out to be the usual working system of the longer term on the PBS present “The Laptop Chronicles,” though MS-DOS was effectively in its heyday. In 2018, it is clear that Unix actually is the usual working system, not on desktop PCs, however on smartphones and tablets.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What Makes Unix Special?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It is also the usual system for net servers. The actual fact is, hundreds of thousands of individuals all over the world have interacted with Linux and Unix programs daily, most of whom have by no means written a line of code of their lives.&lt;br&gt;
So what makes Unix so beloved by programmers and different techie sorts? Let’s check out a few of issues this working system has going for it. (For some background on Unix, try The Historical past of Unix: From Bell Labs to the iPhone.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://nanxiao.me/en/what-you-need-may-be-pipeline-unix-commands-only/" target="_blank" rel="nofollow noopener"&gt;What you need may be “pipeline +Unix commands” only&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I came across Taco Bell Programming recently, and think this article is worthy to read for every software engineer. The post mentions a scenario which you may consider to use Hadoop to solve but actually xargs may be a simpler and better choice. This reminds me a similar experience: last year a client wanted me to process a data file which has 5 million records. After some investigations, no novel technologies, a concise awk script (less than 10 lines) worked like a charm! What surprised me more is that awk is just a single-thread program, no nifty concurrency involved.&lt;br&gt;
The IT field never lacks “new” technologies: cloud computing, big data, high concurrency, etc. However, the thinkings behind these “fancy” words may date back to the era when Unix arose. Unix command line tools are invaluable treasure. In many cases, picking the right components and using pipeline to glue them can satisfy your requirement perfectly. So spending some time in reviewing Unixcommand line manual instead of chasing state-of-the-art techniques exhaustedly, you may gain more.&lt;br&gt;
BTW, if your data set can be disposed by an awk script, it should not be called “big data”.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://widgetsandshit.com/teddziuba/2010/10/taco-bell-programming.html" target="_blank" rel="nofollow noopener"&gt;Taco Bell Programming&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://bofh.org.uk/2019/02/25/baking-with-emacs/" target="_blank" rel="nofollow noopener"&gt;Running a bakery on Emacs and PostgreSQL&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Just over a year ago now, I finally opened the bakery I’d been dreaming of for years. It’s been a big change in my life, from spending all my time sat in front of a computer, to spending most of it making actual stuff. And stuff that makes people happy, at that. It’s been a huge change, but I can’t think of a single job change that’s ever made me as happy as this one.&lt;br&gt;
One of the big changes that came with going pro was that suddenly I was having to work out how much stuff I needed to mix to fill the orders I needed. On the face of it, this is really simple, just work out how much dough you need, then work out what quantities to mix to make that much dough. Easy. You can do it with a pencil and paper. Or, in traditional bakers’ fashion, by scrawling with your finger on a floured work bench.&lt;br&gt;
And that’s how I coped for a few weeks early on. But I kept making mistakes, which makes for an inconsistent product (bread is very forgiving, you have to work quite hard to make something that isn’t bread, but consistency matters). I needed to automate.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://medium.com/@nnja/the-ultimate-guide-to-memorable-tech-talks-e7c350778d4b" target="_blank" rel="nofollow noopener"&gt;The Ultimate Guide To Memorable Tech Talks&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Imagine this. You’re a woman in a male-dominated field. English is not your first language. Even though you’re confident in your engineering work, the thought of public speaking and being recorded for the world to see absolutely terrifies you.&lt;br&gt;
That was me, five years ago. Since then, I’ve moved into a successful career in Developer Advocacy and spoken at dozens of technical events in the U.S. and worldwide.&lt;br&gt;
I think everyone has the ability to deliver stellar conference talks, which is why I took the time to write this post.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Ultimate Guide&lt;/li&gt;
&lt;li&gt;1: Introduction&lt;/li&gt;
&lt;li&gt;2: Choosing a Topic&lt;/li&gt;
&lt;li&gt;3: Writing a Conference Proposal (or CFP)&lt;/li&gt;
&lt;li&gt;4: Tools of the Trade&lt;/li&gt;
&lt;li&gt;5: Planning and Time Estimation&lt;/li&gt;
&lt;li&gt;6: Writing a Talk&lt;/li&gt;
&lt;li&gt;7: Practice and Delivery&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://people.mpi-sws.org/~druschel/publications/osdi16.pdf" target="_blank" rel="nofollow noopener"&gt;Light-weight Contexts: An OS Abstraction for Safety and Performance (2016)&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Abstract: “We introduce a new OS abstraction—light-weight con-texts (lwCs)—that provides independent units of protection, privilege, and execution state within a process. A process may include several lwCs, each with possibly different views of memory, file descriptors, and access capabilities. lwCs can be used to efficiently implement roll-back (process can return to a prior recorded state),isolated address spaces (lwCs within the process may have different views of memory, e.g., isolating sensitive data from network-facing components or isolating different user sessions), and privilege separation (in-process reference monitors can arbitrate and control access).&lt;br&gt;
lwCs can be implemented efficiently: the overhead of a lwC is proportional to the amount of memory exclusive to the lwC; switching lwCs is quicker than switching kernel threads within the same process. We describe the lwC abstraction and API, and an implementation of lwCs within the FreeBSD 11.0 kernel. Finally, we present an evaluation of common usage patterns, including fast roll-back, session isolation, sensitive data isolation, and in-process reference monitoring, using Apache, nginx, PHP,and OpenSSL.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/BSD-Users-Stockholm/events/259528492/" target="_blank" rel="nofollow noopener"&gt;May 7th - BSD Users Stockholm Meetup #6 &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-virtualization/2019-February/007218.html" target="_blank" rel="nofollow noopener"&gt;sysutils/docker-freebsd: Searching for people to help&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/midnightbsd/status/1104018684748677122" target="_blank" rel="nofollow noopener"&gt;Cat Tax - Ever wonder what Midnight the cat was like?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dwheeler.com/essays/fixing-unix-linux-filenames.html" target="_blank" rel="nofollow noopener"&gt;Fixing Unix/Linux/POSIX Filenames&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chargen.one/h3artbl33d/metasploit-on-openbsd" target="_blank" rel="nofollow noopener"&gt;Metasploit on OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://schmonz.com/2019/01/25/devopsdays-nyc-run-your-own-email-server/slides/#1" target="_blank" rel="nofollow noopener"&gt;Run Your @wn Email Server! with NetBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://johan.huldtgren.com/posts/2019/rdist" target="_blank" rel="nofollow noopener"&gt;rdist(1)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://joecmarshall.com/posts/book-writing-environment/" target="_blank" rel="nofollow noopener"&gt;Writing a Book with Unix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://neowaylabs.github.io/programming/unix-shell-for-data-scientists/" target="_blank" rel="nofollow noopener"&gt;7 Unix Commands Every Data Scientist Should Know&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.regehr.org/archives/1653" target="_blank" rel="nofollow noopener"&gt;Explaining Code using ASCII Art&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/Hackathon/201904" target="_blank" rel="nofollow noopener"&gt;FreeBSD Aberdeen Hackathon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/Hackathon/201906" target="_blank" rel="nofollow noopener"&gt;FreeBSD Vienna Hackathon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Mike - &lt;a href="http://dpaste.com/2405MF1#wrap" target="_blank" rel="nofollow noopener"&gt;FreeBSD Update and Erased EFI files&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Charles - &lt;a href="http://dpaste.com/2WFTXR2#wrap" target="_blank" rel="nofollow noopener"&gt;Volunteer work&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Jake - &lt;a href="http://dpaste.com/1AA6C55" target="_blank" rel="nofollow noopener"&gt;Bhyve Front Ends&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We’ve hit that point where we are running low on your questions, so if you have any questions rolling around in your head that you’ve not thought of to ask yet… send them in!&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0291.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords> freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Storage changing software, what makes Unix special, what you need may be “pipeline +Unix commands”, running a bakery on Emacs and PostgreSQL, the ultimate guide to memorable tech talks, light-weight contexts, and more.</p>

<p>##Headlines</p>

<p>###<a href="https://news.gandi.net/en/2019/03/tracking-a-storage-issue-led-to-software-change/" target="_blank" rel="nofollow noopener">Tracking a storage issue led to software change</a></p>

<blockquote>
<p>Early last year we completed a massive migration that moved our customers’ hosting data off of a legacy datacenter (that we called FR-SD2) onto several new datacenters (that we call FR-SD3, FR-SD5, and FR-SD6) with much more modern, up-to-date infrastructure.<br>
This migration required several changes in both the software and hardware we use, including switching the operating system on our storage units to FreeBSD.<br>
Currently, we use the NFS protocol to provide storage and export the filesystems on Simple Hosting, our web hosting service, and the FreeBSD kernel includes an NFS server for just this purpose.</p>
</blockquote>

<ul>
<li>Problem</li>
</ul>

<blockquote>
<p>While migrating virtual disks of Simple Hosting instances from FR-SD2, we noticed high CPU load spikes on the new storage units.</p>
</blockquote>

<hr>

<p>###<a href="https://www.softwaredevelopment.site/2019/02/what-makes-unix-special.html" target="_blank" rel="nofollow noopener">What Makes Unix Special</a></p>

<blockquote>
<p>Ever since Unix burst onto the scene within the early '70s, observers within the pc world have been fast to put in writing it off as a unusual working system designed by and for knowledgeable programmers. Regardless of their proclamations, Unix refuses to die. Means again in 1985, Stewart Cheifet puzzled if Unix would turn out to be the usual working system of the longer term on the PBS present “The Laptop Chronicles,” though MS-DOS was effectively in its heyday. In 2018, it is clear that Unix actually is the usual working system, not on desktop PCs, however on smartphones and tablets.</p>
</blockquote>

<ul>
<li>What Makes Unix Special?</li>
</ul>

<blockquote>
<p>It is also the usual system for net servers. The actual fact is, hundreds of thousands of individuals all over the world have interacted with Linux and Unix programs daily, most of whom have by no means written a line of code of their lives.<br>
So what makes Unix so beloved by programmers and different techie sorts? Let’s check out a few of issues this working system has going for it. (For some background on Unix, try The Historical past of Unix: From Bell Labs to the iPhone.)</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://nanxiao.me/en/what-you-need-may-be-pipeline-unix-commands-only/" target="_blank" rel="nofollow noopener">What you need may be “pipeline +Unix commands” only</a></p>

<blockquote>
<p>I came across Taco Bell Programming recently, and think this article is worthy to read for every software engineer. The post mentions a scenario which you may consider to use Hadoop to solve but actually xargs may be a simpler and better choice. This reminds me a similar experience: last year a client wanted me to process a data file which has 5 million records. After some investigations, no novel technologies, a concise awk script (less than 10 lines) worked like a charm! What surprised me more is that awk is just a single-thread program, no nifty concurrency involved.<br>
The IT field never lacks “new” technologies: cloud computing, big data, high concurrency, etc. However, the thinkings behind these “fancy” words may date back to the era when Unix arose. Unix command line tools are invaluable treasure. In many cases, picking the right components and using pipeline to glue them can satisfy your requirement perfectly. So spending some time in reviewing Unixcommand line manual instead of chasing state-of-the-art techniques exhaustedly, you may gain more.<br>
BTW, if your data set can be disposed by an awk script, it should not be called “big data”.</p>
</blockquote>

<ul>
<li><a href="http://widgetsandshit.com/teddziuba/2010/10/taco-bell-programming.html" target="_blank" rel="nofollow noopener">Taco Bell Programming</a></li>
</ul>

<hr>

<p>###<a href="https://bofh.org.uk/2019/02/25/baking-with-emacs/" target="_blank" rel="nofollow noopener">Running a bakery on Emacs and PostgreSQL</a></p>

<blockquote>
<p>Just over a year ago now, I finally opened the bakery I’d been dreaming of for years. It’s been a big change in my life, from spending all my time sat in front of a computer, to spending most of it making actual stuff. And stuff that makes people happy, at that. It’s been a huge change, but I can’t think of a single job change that’s ever made me as happy as this one.<br>
One of the big changes that came with going pro was that suddenly I was having to work out how much stuff I needed to mix to fill the orders I needed. On the face of it, this is really simple, just work out how much dough you need, then work out what quantities to mix to make that much dough. Easy. You can do it with a pencil and paper. Or, in traditional bakers’ fashion, by scrawling with your finger on a floured work bench.<br>
And that’s how I coped for a few weeks early on. But I kept making mistakes, which makes for an inconsistent product (bread is very forgiving, you have to work quite hard to make something that isn’t bread, but consistency matters). I needed to automate.</p>
</blockquote>

<hr>

<p>###<a href="https://medium.com/@nnja/the-ultimate-guide-to-memorable-tech-talks-e7c350778d4b" target="_blank" rel="nofollow noopener">The Ultimate Guide To Memorable Tech Talks</a></p>

<blockquote>
<p>Imagine this. You’re a woman in a male-dominated field. English is not your first language. Even though you’re confident in your engineering work, the thought of public speaking and being recorded for the world to see absolutely terrifies you.<br>
That was me, five years ago. Since then, I’ve moved into a successful career in Developer Advocacy and spoken at dozens of technical events in the U.S. and worldwide.<br>
I think everyone has the ability to deliver stellar conference talks, which is why I took the time to write this post.</p>
</blockquote>

<ul>
<li>The Ultimate Guide</li>
<li>1: Introduction</li>
<li>2: Choosing a Topic</li>
<li>3: Writing a Conference Proposal (or CFP)</li>
<li>4: Tools of the Trade</li>
<li>5: Planning and Time Estimation</li>
<li>6: Writing a Talk</li>
<li>7: Practice and Delivery</li>
</ul>

<hr>

<p>###<a href="https://people.mpi-sws.org/~druschel/publications/osdi16.pdf" target="_blank" rel="nofollow noopener">Light-weight Contexts: An OS Abstraction for Safety and Performance (2016)</a></p>

<blockquote>
<p>Abstract: “We introduce a new OS abstraction—light-weight con-texts (lwCs)—that provides independent units of protection, privilege, and execution state within a process. A process may include several lwCs, each with possibly different views of memory, file descriptors, and access capabilities. lwCs can be used to efficiently implement roll-back (process can return to a prior recorded state),isolated address spaces (lwCs within the process may have different views of memory, e.g., isolating sensitive data from network-facing components or isolating different user sessions), and privilege separation (in-process reference monitors can arbitrate and control access).<br>
lwCs can be implemented efficiently: the overhead of a lwC is proportional to the amount of memory exclusive to the lwC; switching lwCs is quicker than switching kernel threads within the same process. We describe the lwC abstraction and API, and an implementation of lwCs within the FreeBSD 11.0 kernel. Finally, we present an evaluation of common usage patterns, including fast roll-back, session isolation, sensitive data isolation, and in-process reference monitoring, using Apache, nginx, PHP,and OpenSSL.”</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/259528492/" target="_blank" rel="nofollow noopener">May 7th - BSD Users Stockholm Meetup #6 </a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-virtualization/2019-February/007218.html" target="_blank" rel="nofollow noopener">sysutils/docker-freebsd: Searching for people to help</a></li>
<li><a href="https://twitter.com/midnightbsd/status/1104018684748677122" target="_blank" rel="nofollow noopener">Cat Tax - Ever wonder what Midnight the cat was like?</a></li>
<li><a href="https://dwheeler.com/essays/fixing-unix-linux-filenames.html" target="_blank" rel="nofollow noopener">Fixing Unix/Linux/POSIX Filenames</a></li>
<li><a href="https://chargen.one/h3artbl33d/metasploit-on-openbsd" target="_blank" rel="nofollow noopener">Metasploit on OpenBSD</a></li>
<li><a href="https://schmonz.com/2019/01/25/devopsdays-nyc-run-your-own-email-server/slides/#1" target="_blank" rel="nofollow noopener">Run Your @wn Email Server! with NetBSD</a></li>
<li><a href="http://johan.huldtgren.com/posts/2019/rdist" target="_blank" rel="nofollow noopener">rdist(1)</a></li>
<li><a href="https://joecmarshall.com/posts/book-writing-environment/" target="_blank" rel="nofollow noopener">Writing a Book with Unix</a></li>
<li><a href="https://neowaylabs.github.io/programming/unix-shell-for-data-scientists/" target="_blank" rel="nofollow noopener">7 Unix Commands Every Data Scientist Should Know</a></li>
<li><a href="https://blog.regehr.org/archives/1653" target="_blank" rel="nofollow noopener">Explaining Code using ASCII Art</a></li>
<li><a href="https://wiki.freebsd.org/Hackathon/201904" target="_blank" rel="nofollow noopener">FreeBSD Aberdeen Hackathon</a></li>
<li><a href="https://wiki.freebsd.org/Hackathon/201906" target="_blank" rel="nofollow noopener">FreeBSD Vienna Hackathon</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>
<p>Mike - <a href="http://dpaste.com/2405MF1#wrap" target="_blank" rel="nofollow noopener">FreeBSD Update and Erased EFI files</a></p>
</li>
<li>
<p>Charles - <a href="http://dpaste.com/2WFTXR2#wrap" target="_blank" rel="nofollow noopener">Volunteer work</a></p>
</li>
<li>
<p>Jake - <a href="http://dpaste.com/1AA6C55" target="_blank" rel="nofollow noopener">Bhyve Front Ends</a></p>
</li>
<li>
<p>We’ve hit that point where we are running low on your questions, so if you have any questions rolling around in your head that you’ve not thought of to ask yet… send them in!</p>
</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0291.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Storage changing software, what makes Unix special, what you need may be “pipeline +Unix commands”, running a bakery on Emacs and PostgreSQL, the ultimate guide to memorable tech talks, light-weight contexts, and more.</p>

<p>##Headlines</p>

<p>###<a href="https://news.gandi.net/en/2019/03/tracking-a-storage-issue-led-to-software-change/" target="_blank" rel="nofollow noopener">Tracking a storage issue led to software change</a></p>

<blockquote>
<p>Early last year we completed a massive migration that moved our customers’ hosting data off of a legacy datacenter (that we called FR-SD2) onto several new datacenters (that we call FR-SD3, FR-SD5, and FR-SD6) with much more modern, up-to-date infrastructure.<br>
This migration required several changes in both the software and hardware we use, including switching the operating system on our storage units to FreeBSD.<br>
Currently, we use the NFS protocol to provide storage and export the filesystems on Simple Hosting, our web hosting service, and the FreeBSD kernel includes an NFS server for just this purpose.</p>
</blockquote>

<ul>
<li>Problem</li>
</ul>

<blockquote>
<p>While migrating virtual disks of Simple Hosting instances from FR-SD2, we noticed high CPU load spikes on the new storage units.</p>
</blockquote>

<hr>

<p>###<a href="https://www.softwaredevelopment.site/2019/02/what-makes-unix-special.html" target="_blank" rel="nofollow noopener">What Makes Unix Special</a></p>

<blockquote>
<p>Ever since Unix burst onto the scene within the early '70s, observers within the pc world have been fast to put in writing it off as a unusual working system designed by and for knowledgeable programmers. Regardless of their proclamations, Unix refuses to die. Means again in 1985, Stewart Cheifet puzzled if Unix would turn out to be the usual working system of the longer term on the PBS present “The Laptop Chronicles,” though MS-DOS was effectively in its heyday. In 2018, it is clear that Unix actually is the usual working system, not on desktop PCs, however on smartphones and tablets.</p>
</blockquote>

<ul>
<li>What Makes Unix Special?</li>
</ul>

<blockquote>
<p>It is also the usual system for net servers. The actual fact is, hundreds of thousands of individuals all over the world have interacted with Linux and Unix programs daily, most of whom have by no means written a line of code of their lives.<br>
So what makes Unix so beloved by programmers and different techie sorts? Let’s check out a few of issues this working system has going for it. (For some background on Unix, try The Historical past of Unix: From Bell Labs to the iPhone.)</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://nanxiao.me/en/what-you-need-may-be-pipeline-unix-commands-only/" target="_blank" rel="nofollow noopener">What you need may be “pipeline +Unix commands” only</a></p>

<blockquote>
<p>I came across Taco Bell Programming recently, and think this article is worthy to read for every software engineer. The post mentions a scenario which you may consider to use Hadoop to solve but actually xargs may be a simpler and better choice. This reminds me a similar experience: last year a client wanted me to process a data file which has 5 million records. After some investigations, no novel technologies, a concise awk script (less than 10 lines) worked like a charm! What surprised me more is that awk is just a single-thread program, no nifty concurrency involved.<br>
The IT field never lacks “new” technologies: cloud computing, big data, high concurrency, etc. However, the thinkings behind these “fancy” words may date back to the era when Unix arose. Unix command line tools are invaluable treasure. In many cases, picking the right components and using pipeline to glue them can satisfy your requirement perfectly. So spending some time in reviewing Unixcommand line manual instead of chasing state-of-the-art techniques exhaustedly, you may gain more.<br>
BTW, if your data set can be disposed by an awk script, it should not be called “big data”.</p>
</blockquote>

<ul>
<li><a href="http://widgetsandshit.com/teddziuba/2010/10/taco-bell-programming.html" target="_blank" rel="nofollow noopener">Taco Bell Programming</a></li>
</ul>

<hr>

<p>###<a href="https://bofh.org.uk/2019/02/25/baking-with-emacs/" target="_blank" rel="nofollow noopener">Running a bakery on Emacs and PostgreSQL</a></p>

<blockquote>
<p>Just over a year ago now, I finally opened the bakery I’d been dreaming of for years. It’s been a big change in my life, from spending all my time sat in front of a computer, to spending most of it making actual stuff. And stuff that makes people happy, at that. It’s been a huge change, but I can’t think of a single job change that’s ever made me as happy as this one.<br>
One of the big changes that came with going pro was that suddenly I was having to work out how much stuff I needed to mix to fill the orders I needed. On the face of it, this is really simple, just work out how much dough you need, then work out what quantities to mix to make that much dough. Easy. You can do it with a pencil and paper. Or, in traditional bakers’ fashion, by scrawling with your finger on a floured work bench.<br>
And that’s how I coped for a few weeks early on. But I kept making mistakes, which makes for an inconsistent product (bread is very forgiving, you have to work quite hard to make something that isn’t bread, but consistency matters). I needed to automate.</p>
</blockquote>

<hr>

<p>###<a href="https://medium.com/@nnja/the-ultimate-guide-to-memorable-tech-talks-e7c350778d4b" target="_blank" rel="nofollow noopener">The Ultimate Guide To Memorable Tech Talks</a></p>

<blockquote>
<p>Imagine this. You’re a woman in a male-dominated field. English is not your first language. Even though you’re confident in your engineering work, the thought of public speaking and being recorded for the world to see absolutely terrifies you.<br>
That was me, five years ago. Since then, I’ve moved into a successful career in Developer Advocacy and spoken at dozens of technical events in the U.S. and worldwide.<br>
I think everyone has the ability to deliver stellar conference talks, which is why I took the time to write this post.</p>
</blockquote>

<ul>
<li>The Ultimate Guide</li>
<li>1: Introduction</li>
<li>2: Choosing a Topic</li>
<li>3: Writing a Conference Proposal (or CFP)</li>
<li>4: Tools of the Trade</li>
<li>5: Planning and Time Estimation</li>
<li>6: Writing a Talk</li>
<li>7: Practice and Delivery</li>
</ul>

<hr>

<p>###<a href="https://people.mpi-sws.org/~druschel/publications/osdi16.pdf" target="_blank" rel="nofollow noopener">Light-weight Contexts: An OS Abstraction for Safety and Performance (2016)</a></p>

<blockquote>
<p>Abstract: “We introduce a new OS abstraction—light-weight con-texts (lwCs)—that provides independent units of protection, privilege, and execution state within a process. A process may include several lwCs, each with possibly different views of memory, file descriptors, and access capabilities. lwCs can be used to efficiently implement roll-back (process can return to a prior recorded state),isolated address spaces (lwCs within the process may have different views of memory, e.g., isolating sensitive data from network-facing components or isolating different user sessions), and privilege separation (in-process reference monitors can arbitrate and control access).<br>
lwCs can be implemented efficiently: the overhead of a lwC is proportional to the amount of memory exclusive to the lwC; switching lwCs is quicker than switching kernel threads within the same process. We describe the lwC abstraction and API, and an implementation of lwCs within the FreeBSD 11.0 kernel. Finally, we present an evaluation of common usage patterns, including fast roll-back, session isolation, sensitive data isolation, and in-process reference monitoring, using Apache, nginx, PHP,and OpenSSL.”</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/259528492/" target="_blank" rel="nofollow noopener">May 7th - BSD Users Stockholm Meetup #6 </a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-virtualization/2019-February/007218.html" target="_blank" rel="nofollow noopener">sysutils/docker-freebsd: Searching for people to help</a></li>
<li><a href="https://twitter.com/midnightbsd/status/1104018684748677122" target="_blank" rel="nofollow noopener">Cat Tax - Ever wonder what Midnight the cat was like?</a></li>
<li><a href="https://dwheeler.com/essays/fixing-unix-linux-filenames.html" target="_blank" rel="nofollow noopener">Fixing Unix/Linux/POSIX Filenames</a></li>
<li><a href="https://chargen.one/h3artbl33d/metasploit-on-openbsd" target="_blank" rel="nofollow noopener">Metasploit on OpenBSD</a></li>
<li><a href="https://schmonz.com/2019/01/25/devopsdays-nyc-run-your-own-email-server/slides/#1" target="_blank" rel="nofollow noopener">Run Your @wn Email Server! with NetBSD</a></li>
<li><a href="http://johan.huldtgren.com/posts/2019/rdist" target="_blank" rel="nofollow noopener">rdist(1)</a></li>
<li><a href="https://joecmarshall.com/posts/book-writing-environment/" target="_blank" rel="nofollow noopener">Writing a Book with Unix</a></li>
<li><a href="https://neowaylabs.github.io/programming/unix-shell-for-data-scientists/" target="_blank" rel="nofollow noopener">7 Unix Commands Every Data Scientist Should Know</a></li>
<li><a href="https://blog.regehr.org/archives/1653" target="_blank" rel="nofollow noopener">Explaining Code using ASCII Art</a></li>
<li><a href="https://wiki.freebsd.org/Hackathon/201904" target="_blank" rel="nofollow noopener">FreeBSD Aberdeen Hackathon</a></li>
<li><a href="https://wiki.freebsd.org/Hackathon/201906" target="_blank" rel="nofollow noopener">FreeBSD Vienna Hackathon</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>
<p>Mike - <a href="http://dpaste.com/2405MF1#wrap" target="_blank" rel="nofollow noopener">FreeBSD Update and Erased EFI files</a></p>
</li>
<li>
<p>Charles - <a href="http://dpaste.com/2WFTXR2#wrap" target="_blank" rel="nofollow noopener">Volunteer work</a></p>
</li>
<li>
<p>Jake - <a href="http://dpaste.com/1AA6C55" target="_blank" rel="nofollow noopener">Bhyve Front Ends</a></p>
</li>
<li>
<p>We’ve hit that point where we are running low on your questions, so if you have any questions rolling around in your head that you’ve not thought of to ask yet… send them in!</p>
</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0291.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>290: Timestamped Notes</title>
  <link>https://www.bsdnow.tv/290</link>
  <guid isPermaLink="false">75bc6dda-ec5d-45fe-adf3-2afde9a7f099</guid>
  <pubDate>Thu, 21 Mar 2019 10:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/75bc6dda-ec5d-45fe-adf3-2afde9a7f099.mp3" length="30199731" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD on Cavium ThunderX, looking at NetBSD as an OpenBSD user, taking time-stamped notes in vim, OpenBSD 6.5 has been tagged, FreeBSD and NetBSD in GSoC 2019, SecBSD: an UNIX-like OS for Hackers, and more.</itunes:subtitle>
  <itunes:duration>50:01</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>&lt;p&gt;FreeBSD on Cavium ThunderX, looking at NetBSD as an OpenBSD user, taking time-stamped notes in vim, OpenBSD 6.5 has been tagged, FreeBSD and NetBSD in GSoC 2019, SecBSD: an UNIX-like OS for Hackers, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://eerielinux.wordpress.com/2019/02/25/armd-and-dangerous-freebsd-on-cavium-thunderx-aarch64/" target="_blank" rel="nofollow noopener"&gt;ARM’d and dangerous: FreeBSD on Cavium ThunderX (aarch64)&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;While I don’t remember for how many years I’ve had an interest in CPU architectures that could be an alternative to AMD64, I know pretty well when I started proposing to test 64-bit ARM at work. It was shortly after the disaster named Spectre / Meltdown that I first dug out server-class ARM hardware and asked whether we should get one such server and run some tests with it.&lt;br&gt;
While the answer wasn’t a clear “no” it also wasn’t exactly “yes”. I tried again a few times over the course of 2018 and each time I presented some more points why I thought it might be a good thing to test this. But still I wasn’t able to get a positive answer. Finally in January 2019 year I got a definitive answer – and it was “yes, go ahead”! The fact that Amazon had just presented their Graviton ARM Processor may have helped the decision.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.tumfatig.net/20190301/looking-at-netbsd-from-an-openbsd-user-perspective/" target="_blank" rel="nofollow noopener"&gt;Looking at NetBSD from an OpenBSD user perspective&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I use to use NetBSD quite a lot. From 2.0 to 6.99. But for some reasons, I stopped using it about 2012, in favor of OpenBSD. Reading on the new 8 release, I wanted to see if all the things I didn’t like on NetBSD were gone. Here is a personal Pros / Cons list. No Troll, hopefully. Just trying to be objective.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What I liked (pros)&lt;/li&gt;
&lt;li&gt;Things I didn’t like (cons)&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;So that was it. I didn’t spend more than 30 minutes of it. But I didn’t want to spend more time on it. I did stop using NetBSD because of the need to compile each and every packages ; it was in the early days of pkgin. I also didn’t like the way system maintenance was to be done. OpenBSD’s 6-months release seemed far more easy to manage. I still think NetBSD is a great OS. But I believe you have to spent more time on it than you would have to do with OpenBSD.&lt;br&gt;
That said, I’ll keep using my Puffy OS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://www.codesections.com/blog/vim-timestamped/" target="_blank" rel="nofollow noopener"&gt;Using Vim to take time-stamped notes&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I frequently find myself needing to take time-stamped notes. Specifically, I’ll be in a call, meeting, or interview and need to take notes that show how long it’s been since the meeting started.&lt;br&gt;
My first thought was that there’s be a plugin to add time stamps, but a quick search didn’t turn anything up. However, I little digging did turn up the fact that vim has the built-in ability to tell time.&lt;br&gt;
This means that writing a bit of vimscript to insert a time stamp is pretty easy. After a bit of fiddling, I came up with something that serves my needs, and I decided it might be useful enough to others to be worth sharing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/bsdjhb/meetings" target="_blank" rel="nofollow noopener"&gt;John Baldwin’s notes on bhyve meetings&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20190228062751" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.5-beta has been tagged&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s that time of year again; Theo (deraadt@) has just tagged 6.5-beta. A good reminder for us all run an extra test install and see if your favorite port still works as you expect.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;CVSROOT: /cvs&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Module name: src&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Changes by: deraadt@cvs.openbsd.org 2019/02/26 15:24:41&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Modified files:&lt;/code&gt;&lt;br&gt;
&lt;code&gt;etc/root : root.mail&lt;/code&gt;&lt;br&gt;
&lt;code&gt;share/mk : sys.mk&lt;/code&gt;&lt;br&gt;
&lt;code&gt;sys/conf : newvers.sh&lt;/code&gt;&lt;br&gt;
&lt;code&gt;sys/sys : ktrace.h param.h&lt;/code&gt;&lt;br&gt;
&lt;code&gt;usr.bin/signify: signify.1&lt;/code&gt;&lt;br&gt;
&lt;code&gt;sys/arch/macppc/stand/tbxidata: bsd.tbxi&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Log message:&lt;/code&gt;&lt;br&gt;
&lt;code&gt;crank to 6.5-beta&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://blog.netbsd.org/tnf/entry/the_netbsd_foundation_participating_in" target="_blank" rel="nofollow noopener"&gt;The NetBSD Foundation participating in Google Summer of Code 2019&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For the 4th year in a row and for the 13th time The NetBSD Foundation will participate in Google Summer of Code 2019!&lt;br&gt;
If you are a student and would like to learn more about Google Summer of Code please go to the Google Summer of Code homepage.&lt;br&gt;
You can find a list of projects in Google Summer of Code project proposals in the wiki.&lt;br&gt;
Do not hesitate to get in touch with us via #netbsd-code IRC channel on Freenode and via NetBSD mailing lists!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://discoverbsd.com/p/d83c2c66dc" target="_blank" rel="nofollow noopener"&gt;SecBSD: an UNIX-like OS for Hackers&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SecBSD is an UNIX-like operating system focused on computer security based on OpenBSD. Designed for security testing, hacking and vulnerability assessment, it uses full disk encryption and ProtonVPN + OpenVPN by default.&lt;br&gt;
A security BSD enviroment for security researchers, penetration testers, bug hunters and cybersecurity experts. Developed by Dark Intelligence Team for private use and will be public release coming soon.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://why-openbsd.rocks/fact/" target="_blank" rel="nofollow noopener"&gt;Why OpenBSD Rocks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.etalabs.net/sh_tricks.html" target="_blank" rel="nofollow noopener"&gt;Rich’s sh (POSIX shell) tricks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opensource.com/article/19/2/drinking-coffee-awk" target="_blank" rel="nofollow noopener"&gt;Drinking coffee with AWK&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/AMEE/8XX-rfc" target="_blank" rel="nofollow noopener"&gt;Civilisational HTTP Error Codes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.midnightbsd.org/news/" target="_blank" rel="nofollow noopener"&gt;MidnightBSD Roadmap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gist.github.com/murachue/531ed3ca201ab4155d22442272d92ed2#file-201902140007-txt" target="_blank" rel="nofollow noopener"&gt;NetBSD on Nintendo64&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nullprogram.com/blog/2018/09/20/" target="_blank" rel="nofollow noopener"&gt;From Vimperator to Tridactyl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Russell - &lt;a href="http://dpaste.com/3QRYM70#wrap" target="_blank" rel="nofollow noopener"&gt;BSD Now Question :: ZFS &amp;amp; FreeNAS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Alan - &lt;a href="http://dpaste.com/1KQZPN6" target="_blank" rel="nofollow noopener"&gt;Tutorial, install ARM *BSD with no other BSD box pls&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Johnny - &lt;a href="http://dpaste.com/2ZKRC2A" target="_blank" rel="nofollow noopener"&gt;New section to add to the show&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0290.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD on Cavium ThunderX, looking at NetBSD as an OpenBSD user, taking time-stamped notes in vim, OpenBSD 6.5 has been tagged, FreeBSD and NetBSD in GSoC 2019, SecBSD: an UNIX-like OS for Hackers, and more.</p>

<p>##Headlines<br>
###<a href="https://eerielinux.wordpress.com/2019/02/25/armd-and-dangerous-freebsd-on-cavium-thunderx-aarch64/" target="_blank" rel="nofollow noopener">ARM’d and dangerous: FreeBSD on Cavium ThunderX (aarch64)</a></p>

<blockquote>
<p>While I don’t remember for how many years I’ve had an interest in CPU architectures that could be an alternative to AMD64, I know pretty well when I started proposing to test 64-bit ARM at work. It was shortly after the disaster named Spectre / Meltdown that I first dug out server-class ARM hardware and asked whether we should get one such server and run some tests with it.<br>
While the answer wasn’t a clear “no” it also wasn’t exactly “yes”. I tried again a few times over the course of 2018 and each time I presented some more points why I thought it might be a good thing to test this. But still I wasn’t able to get a positive answer. Finally in January 2019 year I got a definitive answer – and it was “yes, go ahead”! The fact that Amazon had just presented their Graviton ARM Processor may have helped the decision.</p>
</blockquote>

<hr>

<p>###<a href="https://www.tumfatig.net/20190301/looking-at-netbsd-from-an-openbsd-user-perspective/" target="_blank" rel="nofollow noopener">Looking at NetBSD from an OpenBSD user perspective</a></p>

<blockquote>
<p>I use to use NetBSD quite a lot. From 2.0 to 6.99. But for some reasons, I stopped using it about 2012, in favor of OpenBSD. Reading on the new 8 release, I wanted to see if all the things I didn’t like on NetBSD were gone. Here is a personal Pros / Cons list. No Troll, hopefully. Just trying to be objective.</p>
</blockquote>

<ul>
<li>What I liked (pros)</li>
<li>Things I didn’t like (cons)</li>
<li>Conclusion</li>
</ul>

<blockquote>
<p>So that was it. I didn’t spend more than 30 minutes of it. But I didn’t want to spend more time on it. I did stop using NetBSD because of the need to compile each and every packages ; it was in the early days of pkgin. I also didn’t like the way system maintenance was to be done. OpenBSD’s 6-months release seemed far more easy to manage. I still think NetBSD is a great OS. But I believe you have to spent more time on it than you would have to do with OpenBSD.<br>
That said, I’ll keep using my Puffy OS.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://www.codesections.com/blog/vim-timestamped/" target="_blank" rel="nofollow noopener">Using Vim to take time-stamped notes</a></p>

<blockquote>
<p>I frequently find myself needing to take time-stamped notes. Specifically, I’ll be in a call, meeting, or interview and need to take notes that show how long it’s been since the meeting started.<br>
My first thought was that there’s be a plugin to add time stamps, but a quick search didn’t turn anything up. However, I little digging did turn up the fact that vim has the built-in ability to tell time.<br>
This means that writing a bit of vimscript to insert a time stamp is pretty easy. After a bit of fiddling, I came up with something that serves my needs, and I decided it might be useful enough to others to be worth sharing.</p>
</blockquote>

<ul>
<li><a href="https://github.com/bsdjhb/meetings" target="_blank" rel="nofollow noopener">John Baldwin’s notes on bhyve meetings</a></li>
</ul>

<hr>

<p>###<a href="https://www.undeadly.org/cgi?action=article;sid=20190228062751" target="_blank" rel="nofollow noopener">OpenBSD 6.5-beta has been tagged</a></p>

<blockquote>
<p>It’s that time of year again; Theo (deraadt@) has just tagged 6.5-beta. A good reminder for us all run an extra test install and see if your favorite port still works as you expect.</p>
</blockquote>

<p><code>CVSROOT: /cvs</code><br>
<code>Module name: src</code><br>
<code>Changes by: deraadt@cvs.openbsd.org 2019/02/26 15:24:41</code><br>
<code></code><br>
<code>Modified files:</code><br>
<code>etc/root : root.mail</code><br>
<code>share/mk : sys.mk</code><br>
<code>sys/conf : newvers.sh</code><br>
<code>sys/sys : ktrace.h param.h</code><br>
<code>usr.bin/signify: signify.1</code><br>
<code>sys/arch/macppc/stand/tbxidata: bsd.tbxi</code><br>
<code></code><br>
<code>Log message:</code><br>
<code>crank to 6.5-beta</code><br>
<code></code></p>

<hr>

<p>###<a href="https://blog.netbsd.org/tnf/entry/the_netbsd_foundation_participating_in" target="_blank" rel="nofollow noopener">The NetBSD Foundation participating in Google Summer of Code 2019</a></p>

<blockquote>
<p>For the 4th year in a row and for the 13th time The NetBSD Foundation will participate in Google Summer of Code 2019!<br>
If you are a student and would like to learn more about Google Summer of Code please go to the Google Summer of Code homepage.<br>
You can find a list of projects in Google Summer of Code project proposals in the wiki.<br>
Do not hesitate to get in touch with us via #netbsd-code IRC channel on Freenode and via NetBSD mailing lists!</p>
</blockquote>

<hr>

<p>###<a href="https://discoverbsd.com/p/d83c2c66dc" target="_blank" rel="nofollow noopener">SecBSD: an UNIX-like OS for Hackers</a></p>

<blockquote>
<p>SecBSD is an UNIX-like operating system focused on computer security based on OpenBSD. Designed for security testing, hacking and vulnerability assessment, it uses full disk encryption and ProtonVPN + OpenVPN by default.<br>
A security BSD enviroment for security researchers, penetration testers, bug hunters and cybersecurity experts. Developed by Dark Intelligence Team for private use and will be public release coming soon.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://why-openbsd.rocks/fact/" target="_blank" rel="nofollow noopener">Why OpenBSD Rocks</a></li>
<li><a href="http://www.etalabs.net/sh_tricks.html" target="_blank" rel="nofollow noopener">Rich’s sh (POSIX shell) tricks</a></li>
<li><a href="https://opensource.com/article/19/2/drinking-coffee-awk" target="_blank" rel="nofollow noopener">Drinking coffee with AWK</a></li>
<li><a href="https://github.com/AMEE/8XX-rfc" target="_blank" rel="nofollow noopener">Civilisational HTTP Error Codes</a></li>
<li><a href="https://www.midnightbsd.org/news/" target="_blank" rel="nofollow noopener">MidnightBSD Roadmap</a></li>
<li><a href="https://gist.github.com/murachue/531ed3ca201ab4155d22442272d92ed2#file-201902140007-txt" target="_blank" rel="nofollow noopener">NetBSD on Nintendo64</a></li>
<li><a href="https://nullprogram.com/blog/2018/09/20/" target="_blank" rel="nofollow noopener">From Vimperator to Tridactyl</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Russell - <a href="http://dpaste.com/3QRYM70#wrap" target="_blank" rel="nofollow noopener">BSD Now Question :: ZFS &amp; FreeNAS</a></li>
<li>Alan - <a href="http://dpaste.com/1KQZPN6" target="_blank" rel="nofollow noopener">Tutorial, install ARM *BSD with no other BSD box pls</a></li>
<li>Johnny - <a href="http://dpaste.com/2ZKRC2A" target="_blank" rel="nofollow noopener">New section to add to the show</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0290.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD on Cavium ThunderX, looking at NetBSD as an OpenBSD user, taking time-stamped notes in vim, OpenBSD 6.5 has been tagged, FreeBSD and NetBSD in GSoC 2019, SecBSD: an UNIX-like OS for Hackers, and more.</p>

<p>##Headlines<br>
###<a href="https://eerielinux.wordpress.com/2019/02/25/armd-and-dangerous-freebsd-on-cavium-thunderx-aarch64/" target="_blank" rel="nofollow noopener">ARM’d and dangerous: FreeBSD on Cavium ThunderX (aarch64)</a></p>

<blockquote>
<p>While I don’t remember for how many years I’ve had an interest in CPU architectures that could be an alternative to AMD64, I know pretty well when I started proposing to test 64-bit ARM at work. It was shortly after the disaster named Spectre / Meltdown that I first dug out server-class ARM hardware and asked whether we should get one such server and run some tests with it.<br>
While the answer wasn’t a clear “no” it also wasn’t exactly “yes”. I tried again a few times over the course of 2018 and each time I presented some more points why I thought it might be a good thing to test this. But still I wasn’t able to get a positive answer. Finally in January 2019 year I got a definitive answer – and it was “yes, go ahead”! The fact that Amazon had just presented their Graviton ARM Processor may have helped the decision.</p>
</blockquote>

<hr>

<p>###<a href="https://www.tumfatig.net/20190301/looking-at-netbsd-from-an-openbsd-user-perspective/" target="_blank" rel="nofollow noopener">Looking at NetBSD from an OpenBSD user perspective</a></p>

<blockquote>
<p>I use to use NetBSD quite a lot. From 2.0 to 6.99. But for some reasons, I stopped using it about 2012, in favor of OpenBSD. Reading on the new 8 release, I wanted to see if all the things I didn’t like on NetBSD were gone. Here is a personal Pros / Cons list. No Troll, hopefully. Just trying to be objective.</p>
</blockquote>

<ul>
<li>What I liked (pros)</li>
<li>Things I didn’t like (cons)</li>
<li>Conclusion</li>
</ul>

<blockquote>
<p>So that was it. I didn’t spend more than 30 minutes of it. But I didn’t want to spend more time on it. I did stop using NetBSD because of the need to compile each and every packages ; it was in the early days of pkgin. I also didn’t like the way system maintenance was to be done. OpenBSD’s 6-months release seemed far more easy to manage. I still think NetBSD is a great OS. But I believe you have to spent more time on it than you would have to do with OpenBSD.<br>
That said, I’ll keep using my Puffy OS.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://www.codesections.com/blog/vim-timestamped/" target="_blank" rel="nofollow noopener">Using Vim to take time-stamped notes</a></p>

<blockquote>
<p>I frequently find myself needing to take time-stamped notes. Specifically, I’ll be in a call, meeting, or interview and need to take notes that show how long it’s been since the meeting started.<br>
My first thought was that there’s be a plugin to add time stamps, but a quick search didn’t turn anything up. However, I little digging did turn up the fact that vim has the built-in ability to tell time.<br>
This means that writing a bit of vimscript to insert a time stamp is pretty easy. After a bit of fiddling, I came up with something that serves my needs, and I decided it might be useful enough to others to be worth sharing.</p>
</blockquote>

<ul>
<li><a href="https://github.com/bsdjhb/meetings" target="_blank" rel="nofollow noopener">John Baldwin’s notes on bhyve meetings</a></li>
</ul>

<hr>

<p>###<a href="https://www.undeadly.org/cgi?action=article;sid=20190228062751" target="_blank" rel="nofollow noopener">OpenBSD 6.5-beta has been tagged</a></p>

<blockquote>
<p>It’s that time of year again; Theo (deraadt@) has just tagged 6.5-beta. A good reminder for us all run an extra test install and see if your favorite port still works as you expect.</p>
</blockquote>

<p><code>CVSROOT: /cvs</code><br>
<code>Module name: src</code><br>
<code>Changes by: deraadt@cvs.openbsd.org 2019/02/26 15:24:41</code><br>
<code></code><br>
<code>Modified files:</code><br>
<code>etc/root : root.mail</code><br>
<code>share/mk : sys.mk</code><br>
<code>sys/conf : newvers.sh</code><br>
<code>sys/sys : ktrace.h param.h</code><br>
<code>usr.bin/signify: signify.1</code><br>
<code>sys/arch/macppc/stand/tbxidata: bsd.tbxi</code><br>
<code></code><br>
<code>Log message:</code><br>
<code>crank to 6.5-beta</code><br>
<code></code></p>

<hr>

<p>###<a href="https://blog.netbsd.org/tnf/entry/the_netbsd_foundation_participating_in" target="_blank" rel="nofollow noopener">The NetBSD Foundation participating in Google Summer of Code 2019</a></p>

<blockquote>
<p>For the 4th year in a row and for the 13th time The NetBSD Foundation will participate in Google Summer of Code 2019!<br>
If you are a student and would like to learn more about Google Summer of Code please go to the Google Summer of Code homepage.<br>
You can find a list of projects in Google Summer of Code project proposals in the wiki.<br>
Do not hesitate to get in touch with us via #netbsd-code IRC channel on Freenode and via NetBSD mailing lists!</p>
</blockquote>

<hr>

<p>###<a href="https://discoverbsd.com/p/d83c2c66dc" target="_blank" rel="nofollow noopener">SecBSD: an UNIX-like OS for Hackers</a></p>

<blockquote>
<p>SecBSD is an UNIX-like operating system focused on computer security based on OpenBSD. Designed for security testing, hacking and vulnerability assessment, it uses full disk encryption and ProtonVPN + OpenVPN by default.<br>
A security BSD enviroment for security researchers, penetration testers, bug hunters and cybersecurity experts. Developed by Dark Intelligence Team for private use and will be public release coming soon.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://why-openbsd.rocks/fact/" target="_blank" rel="nofollow noopener">Why OpenBSD Rocks</a></li>
<li><a href="http://www.etalabs.net/sh_tricks.html" target="_blank" rel="nofollow noopener">Rich’s sh (POSIX shell) tricks</a></li>
<li><a href="https://opensource.com/article/19/2/drinking-coffee-awk" target="_blank" rel="nofollow noopener">Drinking coffee with AWK</a></li>
<li><a href="https://github.com/AMEE/8XX-rfc" target="_blank" rel="nofollow noopener">Civilisational HTTP Error Codes</a></li>
<li><a href="https://www.midnightbsd.org/news/" target="_blank" rel="nofollow noopener">MidnightBSD Roadmap</a></li>
<li><a href="https://gist.github.com/murachue/531ed3ca201ab4155d22442272d92ed2#file-201902140007-txt" target="_blank" rel="nofollow noopener">NetBSD on Nintendo64</a></li>
<li><a href="https://nullprogram.com/blog/2018/09/20/" target="_blank" rel="nofollow noopener">From Vimperator to Tridactyl</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Russell - <a href="http://dpaste.com/3QRYM70#wrap" target="_blank" rel="nofollow noopener">BSD Now Question :: ZFS &amp; FreeNAS</a></li>
<li>Alan - <a href="http://dpaste.com/1KQZPN6" target="_blank" rel="nofollow noopener">Tutorial, install ARM *BSD with no other BSD box pls</a></li>
<li>Johnny - <a href="http://dpaste.com/2ZKRC2A" target="_blank" rel="nofollow noopener">New section to add to the show</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0290.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>289: Microkernel Failure</title>
  <link>https://www.bsdnow.tv/289</link>
  <guid isPermaLink="false">eb6d59df-4b39-453b-93ca-18a6934e4e16</guid>
  <pubDate>Thu, 14 Mar 2019 19:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/eb6d59df-4b39-453b-93ca-18a6934e4e16.mp3" length="36815600" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>A kernel of failure, IPv6 fragmentation vulnerability in OpenBSD’s pf, a guide to the terminal, using a Yubikey for SSH public key authentication, FreeBSD desktop series, and more. </itunes:subtitle>
  <itunes:duration>1:01: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>&lt;p&gt;A kernel of failure, IPv6 fragmentation vulnerability in OpenBSD’s pf, a guide to the terminal, using a Yubikey for SSH public key authentication, FreeBSD desktop series, and more. &lt;/p&gt;

&lt;p&gt;##Headlines&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://tedium.co/2019/02/28/ibm-workplace-os-taligent-history/" target="_blank" rel="nofollow noopener"&gt;A Kernel Of Failure -&lt;br&gt;
How IBM bet big on the microkernel being the next big thing in operating systems back in the ’90s—and spent billions with little to show for it.&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Today in Tedium: In the early 1990s, we had no idea where the computer industry was going, what the next generation would look like, or even what the driving factor would be. All the developers back then knew is that the operating systems available in server rooms or on desktop computers simply weren’t good enough, and that the next generation needed to be better—a lot better. This was easier said than done, but this problem for some reason seemed to rack the brains of one company more than any other: IBM. Throughout the decade, the company was associated with more overwrought thinking about operating systems than any other, with little to show for it in the end. The problem? It might have gotten caught up in kernel madness. Today’s Tedium explains IBM’s odd operating system fixation, and the belly flops it created.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.synacktiv.com/ressources/Synacktiv_OpenBSD_PacketFilter_CVE-2019-5597_ipv6_frag.pdf" target="_blank" rel="nofollow noopener"&gt;CVE-2019-5597IPv6 fragmentation vulnerability in OpenBSD Packet Filter&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Packet Filter is OpenBSD’s  service for filtering network traffic and performing Network Address Translation. Packet Filter is also capable of normalizing and conditioning TCP/IP traffic, as well as providing bandwidth control and packet prioritization.&lt;br&gt;
Packet Filter has been a part of the GENERIC kernel since OpenBSD 5.0.Because other BSD variants import part of OpenBSD code, Packet Filter is also shipped with at least the following distributions that are affected in a lesser extent:  FreeBSD, pfSense, OPNSense, Solaris.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Note that other distributions may also contain Packet Filter but due to the imported version they might not be vulnerable. This advisory covers the latest OpenBSD’s Packet Filter. For specific details about other distributions, please refer to the advisory of the affected product.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Kristof Provost, who maintains the port of pf in FreeBSD added a &lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=344793" target="_blank" rel="nofollow noopener"&gt;test for the vulnerability in FreeBSD head&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://www.lucasfcosta.com/2019/02/10/terminal-guide-2019.html" target="_blank" rel="nofollow noopener"&gt;How I’m still not using GUIs in 2019: A guide to the terminal&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;TL;DR: Here are my dotfiles. Use them and have fun.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;GUIs are bloatware. I’ve said it before. However, rather than just complaining about IDEs I’d like to provide an understandable guide to a much better alternative: the terminal.&lt;br&gt;
IDE stands for Integrated Development Environment. This might be an accurate term, but when it comes to a real integrated development environment, the terminal is a lot better.&lt;br&gt;
In this post, I’ll walk you through everything you need to start making your terminal a complete development environment: how to edit text efficiently, configure its appearance, run and combine a myriad of programs, and dynamically create, resize and close tabs and windows.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Don’t forget rule number one.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Whenever in doubt, read the manual.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://undeadly.org/cgi?action=article;sid=20190302235509" target="_blank" rel="nofollow noopener"&gt;Using a Yubikey as smartcard for SSH public key authentication&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;SSH is an awesome tool. Logging into other machines securely is so pervasive to us sysadmins nowadays that few of us think about what’s going on underneath. Even more so once you start using the more advanced features such as the ssh-agent, agent-forwarding and ProxyJump. When doing so, care must be taken in order to not compromise one’s logins or ssh keys.&lt;br&gt;
You might have heard of Yubikeys.&lt;br&gt;
These are USB authentication devices that support several different modes: they can be used for OTP (One Time Password) authentication, they can store OpenPGP keys, be a 2-factor authentication token and they can act as a SmartCard.&lt;br&gt;
In OpenBSD, you can use them for Login (with login_yubikey(8)) with OTP since 2012, and there are many descriptions available(1) how to set this up.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###The 18 Part FreeBSD Desktop Series by Vermaden&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/03/29/freebsd-desktop-part-1-simplified-boot/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 1 – Simplified Boot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/04/11/freebsd-desktop-part-2-install/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 2 – Install (FreeBSD 11)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/11/20/freebsd-desktop-part-2-1-install-freebsd-12/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 2.1 – Install FreeBSD 12&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/05/22/freebsd-desktop-part-3-x11-window-system/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 3 – X11 Window System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/06/15/freebsd-desktop-part-4-key-components-window-manager/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 4 – Key Components – Window Manager&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/06/16/freebsd-desktop-part-5-key-components-status-bar/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 5 – Key Components – Status Bar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/06/21/freebsd-desktop-part-6-key-components-task-bar/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 6 – Key Components – Task Bar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/06/21/freebsd-desktop-part-7-key-components-wallpaper-handling/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 7 – Key Components – Wallpaper Handling&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/06/21/freebsd-desktop-part-8-key-components-application-launcher/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 8 – Key Components – Application Launcher&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/06/22/freebsd-desktop-part-9-key-components-keyboard-mouse-shortcuts/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 9 – Key Components – Keyboard/Mouse Shortcuts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/06/23/freebsd-desktop-part-10-key-components-locking-solution/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 10 – Key Components – Locking Solution&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/06/28/freebsd-desktop-part-11-key-components-blue-light-spectrum-suppress/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 11 – Key Components – Blue Light Spectrum Suppress&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/07/01/freebsd-desktop-part-12-configuration-openbox/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 12 – Configuration – Openbox&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/07/05/freebsd-desktop-part-13-configuration-dzen2/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 13 – Configuration – Dzen2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/07/11/freebsd-desktop-part-14-configuration-tint2/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 14 – Configuration – Tint2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/08/18/freebsd-desktop-part-15-configuration-fonts-frameworks/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 15 – Configuration – Fonts &amp;amp; Frameworks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/09/19/freebsd-desktop-part-16-configuration-pause-any-application/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 16 – Configuration – Pause Any Application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/10/11/freebsd-desktop-part-17-automount-removable-media/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop – Part 17 – Automount Removable Media&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dataswamp.org/~solene/2019-02-18-drist-1.04.html" target="_blank" rel="nofollow noopener"&gt;Drist with persistent SSH&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://meetings.aaas.org/arpanet-livestream/" target="_blank" rel="nofollow noopener"&gt;ARPANET: Celebrating 50 Years Since “LO”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nuclear.mutantstargoat.com/sw/termtris/" target="_blank" rel="nofollow noopener"&gt;Termtris - a tetris game for ANSI/VT220 terminals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/billziss-gh/pmci" target="_blank" rel="nofollow noopener"&gt;Poor Man’s CI - Hosted CI for BSD with shell scripting and duct tape&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://yeokhengmeng.com/2018/07/why-i-use-the-ibm-model-m-keyboard-that-is-older-than-me/" target="_blank" rel="nofollow noopener"&gt;Why I use the IBM Model M keyboard that is older than me?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openbsd.org/papers/florian_slaacd_bsdcan2018.pdf" target="_blank" rel="nofollow noopener"&gt;A privilege separated and sandboxed IPv6 Stateless Address AutoConfiguration Daemon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://niftylettuce.com/posts/google-free-android-setup/#google-free-android-setup" target="_blank" rel="nofollow noopener"&gt;Google-free Android Setup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/BSD-Users-Stockholm/events/259528492/" target="_blank" rel="nofollow noopener"&gt;BSD Users Stockholm Meetup #6&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sijmen - &lt;a href="http://dpaste.com/1K3ZXB2#wrap" target="_blank" rel="nofollow noopener"&gt;Hi, and a Sunday afternoon toy project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Clint - &lt;a href="http://dpaste.com/24QF6J1" target="_blank" rel="nofollow noopener"&gt;Tuning ZFS for NVME&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;James - &lt;a href="http://dpaste.com/04SDXH9" target="_blank" rel="nofollow noopener"&gt;Show question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0289.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>A kernel of failure, IPv6 fragmentation vulnerability in OpenBSD’s pf, a guide to the terminal, using a Yubikey for SSH public key authentication, FreeBSD desktop series, and more. </p>

<p>##Headlines</p>

<p>###<a href="https://tedium.co/2019/02/28/ibm-workplace-os-taligent-history/" target="_blank" rel="nofollow noopener">A Kernel Of Failure -<br>
How IBM bet big on the microkernel being the next big thing in operating systems back in the ’90s—and spent billions with little to show for it.</a></p>

<blockquote>
<p>Today in Tedium: In the early 1990s, we had no idea where the computer industry was going, what the next generation would look like, or even what the driving factor would be. All the developers back then knew is that the operating systems available in server rooms or on desktop computers simply weren’t good enough, and that the next generation needed to be better—a lot better. This was easier said than done, but this problem for some reason seemed to rack the brains of one company more than any other: IBM. Throughout the decade, the company was associated with more overwrought thinking about operating systems than any other, with little to show for it in the end. The problem? It might have gotten caught up in kernel madness. Today’s Tedium explains IBM’s odd operating system fixation, and the belly flops it created.</p>
</blockquote>

<hr>

<p>###<a href="https://www.synacktiv.com/ressources/Synacktiv_OpenBSD_PacketFilter_CVE-2019-5597_ipv6_frag.pdf" target="_blank" rel="nofollow noopener">CVE-2019-5597IPv6 fragmentation vulnerability in OpenBSD Packet Filter</a></p>

<blockquote>
<p>Packet Filter is OpenBSD’s  service for filtering network traffic and performing Network Address Translation. Packet Filter is also capable of normalizing and conditioning TCP/IP traffic, as well as providing bandwidth control and packet prioritization.<br>
Packet Filter has been a part of the GENERIC kernel since OpenBSD 5.0.Because other BSD variants import part of OpenBSD code, Packet Filter is also shipped with at least the following distributions that are affected in a lesser extent:  FreeBSD, pfSense, OPNSense, Solaris.</p>
</blockquote>

<blockquote>
<p>Note that other distributions may also contain Packet Filter but due to the imported version they might not be vulnerable. This advisory covers the latest OpenBSD’s Packet Filter. For specific details about other distributions, please refer to the advisory of the affected product.</p>
</blockquote>

<ul>
<li>Kristof Provost, who maintains the port of pf in FreeBSD added a <a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=344793" target="_blank" rel="nofollow noopener">test for the vulnerability in FreeBSD head</a>.</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://www.lucasfcosta.com/2019/02/10/terminal-guide-2019.html" target="_blank" rel="nofollow noopener">How I’m still not using GUIs in 2019: A guide to the terminal</a></p>

<blockquote>
<p>TL;DR: Here are my dotfiles. Use them and have fun.</p>
</blockquote>

<blockquote>
<p>GUIs are bloatware. I’ve said it before. However, rather than just complaining about IDEs I’d like to provide an understandable guide to a much better alternative: the terminal.<br>
IDE stands for Integrated Development Environment. This might be an accurate term, but when it comes to a real integrated development environment, the terminal is a lot better.<br>
In this post, I’ll walk you through everything you need to start making your terminal a complete development environment: how to edit text efficiently, configure its appearance, run and combine a myriad of programs, and dynamically create, resize and close tabs and windows.</p>
</blockquote>

<ul>
<li>Don’t forget rule number one.</li>
</ul>

<blockquote>
<p>Whenever in doubt, read the manual.</p>
</blockquote>

<hr>

<p>###<a href="https://undeadly.org/cgi?action=article;sid=20190302235509" target="_blank" rel="nofollow noopener">Using a Yubikey as smartcard for SSH public key authentication</a></p>

<blockquote>
<p>SSH is an awesome tool. Logging into other machines securely is so pervasive to us sysadmins nowadays that few of us think about what’s going on underneath. Even more so once you start using the more advanced features such as the ssh-agent, agent-forwarding and ProxyJump. When doing so, care must be taken in order to not compromise one’s logins or ssh keys.<br>
You might have heard of Yubikeys.<br>
These are USB authentication devices that support several different modes: they can be used for OTP (One Time Password) authentication, they can store OpenPGP keys, be a 2-factor authentication token and they can act as a SmartCard.<br>
In OpenBSD, you can use them for Login (with login_yubikey(8)) with OTP since 2012, and there are many descriptions available(1) how to set this up.</p>
</blockquote>

<hr>

<p>###The 18 Part FreeBSD Desktop Series by Vermaden</p>

<ul>
<li><a href="https://vermaden.wordpress.com/2018/03/29/freebsd-desktop-part-1-simplified-boot/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 1 – Simplified Boot</a></li>
<li><a href="https://vermaden.wordpress.com/2018/04/11/freebsd-desktop-part-2-install/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 2 – Install (FreeBSD 11)</a></li>
<li><a href="https://vermaden.wordpress.com/2018/11/20/freebsd-desktop-part-2-1-install-freebsd-12/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 2.1 – Install FreeBSD 12</a></li>
<li><a href="https://vermaden.wordpress.com/2018/05/22/freebsd-desktop-part-3-x11-window-system/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 3 – X11 Window System</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/15/freebsd-desktop-part-4-key-components-window-manager/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 4 – Key Components – Window Manager</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/16/freebsd-desktop-part-5-key-components-status-bar/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 5 – Key Components – Status Bar</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/21/freebsd-desktop-part-6-key-components-task-bar/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 6 – Key Components – Task Bar</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/21/freebsd-desktop-part-7-key-components-wallpaper-handling/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 7 – Key Components – Wallpaper Handling</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/21/freebsd-desktop-part-8-key-components-application-launcher/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 8 – Key Components – Application Launcher</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/22/freebsd-desktop-part-9-key-components-keyboard-mouse-shortcuts/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 9 – Key Components – Keyboard/Mouse Shortcuts</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/23/freebsd-desktop-part-10-key-components-locking-solution/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 10 – Key Components – Locking Solution</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/28/freebsd-desktop-part-11-key-components-blue-light-spectrum-suppress/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 11 – Key Components – Blue Light Spectrum Suppress</a></li>
<li><a href="https://vermaden.wordpress.com/2018/07/01/freebsd-desktop-part-12-configuration-openbox/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 12 – Configuration – Openbox</a></li>
<li><a href="https://vermaden.wordpress.com/2018/07/05/freebsd-desktop-part-13-configuration-dzen2/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 13 – Configuration – Dzen2</a></li>
<li><a href="https://vermaden.wordpress.com/2018/07/11/freebsd-desktop-part-14-configuration-tint2/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 14 – Configuration – Tint2</a></li>
<li><a href="https://vermaden.wordpress.com/2018/08/18/freebsd-desktop-part-15-configuration-fonts-frameworks/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 15 – Configuration – Fonts &amp; Frameworks</a></li>
<li><a href="https://vermaden.wordpress.com/2018/09/19/freebsd-desktop-part-16-configuration-pause-any-application/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 16 – Configuration – Pause Any Application</a></li>
<li><a href="https://vermaden.wordpress.com/2018/10/11/freebsd-desktop-part-17-automount-removable-media/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 17 – Automount Removable Media</a></li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://dataswamp.org/~solene/2019-02-18-drist-1.04.html" target="_blank" rel="nofollow noopener">Drist with persistent SSH</a></li>
<li><a href="https://meetings.aaas.org/arpanet-livestream/" target="_blank" rel="nofollow noopener">ARPANET: Celebrating 50 Years Since “LO”</a></li>
<li><a href="http://nuclear.mutantstargoat.com/sw/termtris/" target="_blank" rel="nofollow noopener">Termtris - a tetris game for ANSI/VT220 terminals</a></li>
<li><a href="https://github.com/billziss-gh/pmci" target="_blank" rel="nofollow noopener">Poor Man’s CI - Hosted CI for BSD with shell scripting and duct tape</a></li>
<li><a href="http://yeokhengmeng.com/2018/07/why-i-use-the-ibm-model-m-keyboard-that-is-older-than-me/" target="_blank" rel="nofollow noopener">Why I use the IBM Model M keyboard that is older than me?</a></li>
<li><a href="https://www.openbsd.org/papers/florian_slaacd_bsdcan2018.pdf" target="_blank" rel="nofollow noopener">A privilege separated and sandboxed IPv6 Stateless Address AutoConfiguration Daemon</a></li>
<li><a href="https://niftylettuce.com/posts/google-free-android-setup/#google-free-android-setup" target="_blank" rel="nofollow noopener">Google-free Android Setup</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/259528492/" target="_blank" rel="nofollow noopener">BSD Users Stockholm Meetup #6</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Sijmen - <a href="http://dpaste.com/1K3ZXB2#wrap" target="_blank" rel="nofollow noopener">Hi, and a Sunday afternoon toy project</a></li>
<li>Clint - <a href="http://dpaste.com/24QF6J1" target="_blank" rel="nofollow noopener">Tuning ZFS for NVME</a></li>
<li>James - <a href="http://dpaste.com/04SDXH9" target="_blank" rel="nofollow noopener">Show question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0289.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>A kernel of failure, IPv6 fragmentation vulnerability in OpenBSD’s pf, a guide to the terminal, using a Yubikey for SSH public key authentication, FreeBSD desktop series, and more. </p>

<p>##Headlines</p>

<p>###<a href="https://tedium.co/2019/02/28/ibm-workplace-os-taligent-history/" target="_blank" rel="nofollow noopener">A Kernel Of Failure -<br>
How IBM bet big on the microkernel being the next big thing in operating systems back in the ’90s—and spent billions with little to show for it.</a></p>

<blockquote>
<p>Today in Tedium: In the early 1990s, we had no idea where the computer industry was going, what the next generation would look like, or even what the driving factor would be. All the developers back then knew is that the operating systems available in server rooms or on desktop computers simply weren’t good enough, and that the next generation needed to be better—a lot better. This was easier said than done, but this problem for some reason seemed to rack the brains of one company more than any other: IBM. Throughout the decade, the company was associated with more overwrought thinking about operating systems than any other, with little to show for it in the end. The problem? It might have gotten caught up in kernel madness. Today’s Tedium explains IBM’s odd operating system fixation, and the belly flops it created.</p>
</blockquote>

<hr>

<p>###<a href="https://www.synacktiv.com/ressources/Synacktiv_OpenBSD_PacketFilter_CVE-2019-5597_ipv6_frag.pdf" target="_blank" rel="nofollow noopener">CVE-2019-5597IPv6 fragmentation vulnerability in OpenBSD Packet Filter</a></p>

<blockquote>
<p>Packet Filter is OpenBSD’s  service for filtering network traffic and performing Network Address Translation. Packet Filter is also capable of normalizing and conditioning TCP/IP traffic, as well as providing bandwidth control and packet prioritization.<br>
Packet Filter has been a part of the GENERIC kernel since OpenBSD 5.0.Because other BSD variants import part of OpenBSD code, Packet Filter is also shipped with at least the following distributions that are affected in a lesser extent:  FreeBSD, pfSense, OPNSense, Solaris.</p>
</blockquote>

<blockquote>
<p>Note that other distributions may also contain Packet Filter but due to the imported version they might not be vulnerable. This advisory covers the latest OpenBSD’s Packet Filter. For specific details about other distributions, please refer to the advisory of the affected product.</p>
</blockquote>

<ul>
<li>Kristof Provost, who maintains the port of pf in FreeBSD added a <a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=344793" target="_blank" rel="nofollow noopener">test for the vulnerability in FreeBSD head</a>.</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://www.lucasfcosta.com/2019/02/10/terminal-guide-2019.html" target="_blank" rel="nofollow noopener">How I’m still not using GUIs in 2019: A guide to the terminal</a></p>

<blockquote>
<p>TL;DR: Here are my dotfiles. Use them and have fun.</p>
</blockquote>

<blockquote>
<p>GUIs are bloatware. I’ve said it before. However, rather than just complaining about IDEs I’d like to provide an understandable guide to a much better alternative: the terminal.<br>
IDE stands for Integrated Development Environment. This might be an accurate term, but when it comes to a real integrated development environment, the terminal is a lot better.<br>
In this post, I’ll walk you through everything you need to start making your terminal a complete development environment: how to edit text efficiently, configure its appearance, run and combine a myriad of programs, and dynamically create, resize and close tabs and windows.</p>
</blockquote>

<ul>
<li>Don’t forget rule number one.</li>
</ul>

<blockquote>
<p>Whenever in doubt, read the manual.</p>
</blockquote>

<hr>

<p>###<a href="https://undeadly.org/cgi?action=article;sid=20190302235509" target="_blank" rel="nofollow noopener">Using a Yubikey as smartcard for SSH public key authentication</a></p>

<blockquote>
<p>SSH is an awesome tool. Logging into other machines securely is so pervasive to us sysadmins nowadays that few of us think about what’s going on underneath. Even more so once you start using the more advanced features such as the ssh-agent, agent-forwarding and ProxyJump. When doing so, care must be taken in order to not compromise one’s logins or ssh keys.<br>
You might have heard of Yubikeys.<br>
These are USB authentication devices that support several different modes: they can be used for OTP (One Time Password) authentication, they can store OpenPGP keys, be a 2-factor authentication token and they can act as a SmartCard.<br>
In OpenBSD, you can use them for Login (with login_yubikey(8)) with OTP since 2012, and there are many descriptions available(1) how to set this up.</p>
</blockquote>

<hr>

<p>###The 18 Part FreeBSD Desktop Series by Vermaden</p>

<ul>
<li><a href="https://vermaden.wordpress.com/2018/03/29/freebsd-desktop-part-1-simplified-boot/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 1 – Simplified Boot</a></li>
<li><a href="https://vermaden.wordpress.com/2018/04/11/freebsd-desktop-part-2-install/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 2 – Install (FreeBSD 11)</a></li>
<li><a href="https://vermaden.wordpress.com/2018/11/20/freebsd-desktop-part-2-1-install-freebsd-12/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 2.1 – Install FreeBSD 12</a></li>
<li><a href="https://vermaden.wordpress.com/2018/05/22/freebsd-desktop-part-3-x11-window-system/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 3 – X11 Window System</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/15/freebsd-desktop-part-4-key-components-window-manager/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 4 – Key Components – Window Manager</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/16/freebsd-desktop-part-5-key-components-status-bar/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 5 – Key Components – Status Bar</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/21/freebsd-desktop-part-6-key-components-task-bar/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 6 – Key Components – Task Bar</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/21/freebsd-desktop-part-7-key-components-wallpaper-handling/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 7 – Key Components – Wallpaper Handling</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/21/freebsd-desktop-part-8-key-components-application-launcher/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 8 – Key Components – Application Launcher</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/22/freebsd-desktop-part-9-key-components-keyboard-mouse-shortcuts/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 9 – Key Components – Keyboard/Mouse Shortcuts</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/23/freebsd-desktop-part-10-key-components-locking-solution/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 10 – Key Components – Locking Solution</a></li>
<li><a href="https://vermaden.wordpress.com/2018/06/28/freebsd-desktop-part-11-key-components-blue-light-spectrum-suppress/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 11 – Key Components – Blue Light Spectrum Suppress</a></li>
<li><a href="https://vermaden.wordpress.com/2018/07/01/freebsd-desktop-part-12-configuration-openbox/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 12 – Configuration – Openbox</a></li>
<li><a href="https://vermaden.wordpress.com/2018/07/05/freebsd-desktop-part-13-configuration-dzen2/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 13 – Configuration – Dzen2</a></li>
<li><a href="https://vermaden.wordpress.com/2018/07/11/freebsd-desktop-part-14-configuration-tint2/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 14 – Configuration – Tint2</a></li>
<li><a href="https://vermaden.wordpress.com/2018/08/18/freebsd-desktop-part-15-configuration-fonts-frameworks/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 15 – Configuration – Fonts &amp; Frameworks</a></li>
<li><a href="https://vermaden.wordpress.com/2018/09/19/freebsd-desktop-part-16-configuration-pause-any-application/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 16 – Configuration – Pause Any Application</a></li>
<li><a href="https://vermaden.wordpress.com/2018/10/11/freebsd-desktop-part-17-automount-removable-media/" target="_blank" rel="nofollow noopener">FreeBSD Desktop – Part 17 – Automount Removable Media</a></li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://dataswamp.org/~solene/2019-02-18-drist-1.04.html" target="_blank" rel="nofollow noopener">Drist with persistent SSH</a></li>
<li><a href="https://meetings.aaas.org/arpanet-livestream/" target="_blank" rel="nofollow noopener">ARPANET: Celebrating 50 Years Since “LO”</a></li>
<li><a href="http://nuclear.mutantstargoat.com/sw/termtris/" target="_blank" rel="nofollow noopener">Termtris - a tetris game for ANSI/VT220 terminals</a></li>
<li><a href="https://github.com/billziss-gh/pmci" target="_blank" rel="nofollow noopener">Poor Man’s CI - Hosted CI for BSD with shell scripting and duct tape</a></li>
<li><a href="http://yeokhengmeng.com/2018/07/why-i-use-the-ibm-model-m-keyboard-that-is-older-than-me/" target="_blank" rel="nofollow noopener">Why I use the IBM Model M keyboard that is older than me?</a></li>
<li><a href="https://www.openbsd.org/papers/florian_slaacd_bsdcan2018.pdf" target="_blank" rel="nofollow noopener">A privilege separated and sandboxed IPv6 Stateless Address AutoConfiguration Daemon</a></li>
<li><a href="https://niftylettuce.com/posts/google-free-android-setup/#google-free-android-setup" target="_blank" rel="nofollow noopener">Google-free Android Setup</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/259528492/" target="_blank" rel="nofollow noopener">BSD Users Stockholm Meetup #6</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Sijmen - <a href="http://dpaste.com/1K3ZXB2#wrap" target="_blank" rel="nofollow noopener">Hi, and a Sunday afternoon toy project</a></li>
<li>Clint - <a href="http://dpaste.com/24QF6J1" target="_blank" rel="nofollow noopener">Tuning ZFS for NVME</a></li>
<li>James - <a href="http://dpaste.com/04SDXH9" target="_blank" rel="nofollow noopener">Show question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0289.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>288: Turing Complete Sed</title>
  <link>https://www.bsdnow.tv/288</link>
  <guid isPermaLink="false">be2ff33e-e797-4fb6-9448-c715d7068e66</guid>
  <pubDate>Thu, 07 Mar 2019 10:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/be2ff33e-e797-4fb6-9448-c715d7068e66.mp3" length="35693457" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Software will never fix Spectre-type bugs, a proof that sed is Turing complete, managed jails using Bastille, new version of netdata, using grep with /dev/null, using GMail with mutt, and more.</itunes:subtitle>
  <itunes:duration>59:10</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>&lt;p&gt;Software will never fix Spectre-type bugs, a proof that sed is Turing complete, managed jails using Bastille, new version of netdata, using grep with /dev/null, using GMail with mutt, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://arstechnica.com/gadgets/2019/02/google-software-is-never-going-to-be-able-to-fix-spectre-type-bugs/" target="_blank" rel="nofollow noopener"&gt;Google: Software is never going to be able to fix Spectre-type bugs&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://arxiv.org/pdf/1902.05178.pdf" target="_blank" rel="nofollow noopener"&gt;Spectre is here to stay: An analysis of side-channels and speculative execution&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Researchers from Google investigating the scope and impact of the Spectre attack have published a paper asserting that Spectre-like vulnerabilities are likely to be a continued feature of processors and, further, that software-based techniques for protecting against them will impose a high performance cost. And whatever the cost, the researchers continue, the software will be inadequate—some Spectre flaws don’t appear to have any effective software-based defense. As such, Spectre is going to be a continued feature of the computing landscape, with no straightforward resolution.&lt;br&gt;
The discovery and development of the Meltdown and Spectre attacks was undoubtedly the big security story of 2018. First revealed last January, new variants and related discoveries were made throughout the rest of the year. Both attacks rely on discrepancies between the theoretical architectural behavior of a processor—the documented behavior that programmers depend on and write their programs against—and the real behavior of implementations.&lt;br&gt;
Specifically, modern processors all perform speculative execution; they make assumptions about, for example, a value being read from memory or whether an if condition is true or false, and they allow their execution to run ahead based on these assumptions. If the assumptions are correct, the speculated results are kept; if it isn’t, the speculated results are discarded and the processor redoes the calculation. Speculative execution is not an architectural feature of the processor; it’s a feature of implementations, and so it’s supposed to be entirely invisible to running programs. When the processor discards the bad speculation, it should be as if the speculation never even happened.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://catonmat.net/proof-that-sed-is-turing-complete" target="_blank" rel="nofollow noopener"&gt;A proof that Unix utility sed is Turing complete&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Many people are surprised when they hear that sed is Turing complete. How come a text filtering program is Turing complete, they wonder. Turns out sed is a tiny assembly language that has a comparison operation, a branching operation and a temporary buffer. These operations make sed Turing complete.&lt;br&gt;
I first learned about this from Christophe Blaess. His proof is by construction – he wrote a Turing machine in sed (download turing.sed). As any programming language that can implement a Turing machine is Turing complete we must conclude that sed is also Turing complete.&lt;br&gt;
Christophe offers his own introduction to Turing machines and a description of how his sed implementation works in his article Implementation of a Turing Machine as a sed Script.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Christophe isn’t the first person to realize that sed is almost a general purpose programming language. People have written tetris, sokoban and many other programs in sed. Take a look at these:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://catonmat.net/ftp/sed/sedtris.sed" target="_blank" rel="nofollow noopener"&gt;Tetris&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://catonmat.net/ftp/sed/sokoban.sed" target="_blank" rel="nofollow noopener"&gt;Sokoban (game)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://catonmat.net/ftp/sed/dc.sed" target="_blank" rel="nofollow noopener"&gt;Calculator&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://bastillebsd.org/" target="_blank" rel="nofollow noopener"&gt;Bastille helps you quickly create and manage FreeBSD Jails.&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Bastille helps you quickly create and manage FreeBSD Jails.&lt;br&gt;
Jails are extremely lightweight containers that provide a full-featured UNIX-like operating system inside. These containers can be used for software development, rapid testing, and secure production Internet services.&lt;br&gt;
Bastille provides an interface to create, manage and destroy these secure virtualized environments.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Current version: 0.3.20190204-beta.&lt;/li&gt;
&lt;li&gt;Shell Script Source here: &lt;a href="https://github.com/BastilleBSD/bastille/blob/master/usr/local/bin/bastille" target="_blank" rel="nofollow noopener"&gt;https://github.com/BastilleBSD/bastille/blob/master/usr/local/bin/bastille&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://github.com/netdata/netdata/releases" target="_blank" rel="nofollow noopener"&gt;netdata v1.12 released&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Netdata is distributed, real-time, performance and health monitoring for systems and applications. It is a highly optimized monitoring agent you install on all your systems and containers.&lt;br&gt;
Netdata provides unparalleled insights, in real-time, of everything happening on the systems it runs (including web servers, databases, applications), using highly interactive web dashboards. It can run autonomously, without any third party components, or it can be integrated to existing monitoring tool chains (Prometheus, Graphite, OpenTSDB, Kafka, Grafana, etc).&lt;br&gt;
Netdata is fast and efficient, designed to permanently run on all systems (physical &amp;amp; virtual servers, containers, IoT devices), without disrupting their core function.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Patch release 1.12.1 contains 22 bug fixes and 8 improvements.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/unix/GrepDevNull" target="_blank" rel="nofollow noopener"&gt;Using grep with /dev/null, an old Unix trick&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Every so often I will find myself writing a grep invocation like this:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;find .... -exec grep &amp;lt;something&amp;gt; /dev/null '{}' '+'&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The peculiar presence of /dev/null here is an old Unix trick that is designed to force grep to always print out file names, even if your find only matches one file, by always insuring that grep has at least two files as arguments. You can wind up wanting to do the same thing with a direct use of grep if you’re not certain how many files your wildcard may match.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://smalldata.tech/blog/2016/09/10/gmail-with-mutt" target="_blank" rel="nofollow noopener"&gt;USING GMAIL WITH MUTT&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I recently switched to using mutt for email and while setting up mutt to use imap is pretty straightforward, this tutorial will also document some advanced concepts such as encrypting your account password and sending emails from a different From address.&lt;br&gt;
This tutorial assumes that you have some familiarity with using mutt and have installed it with sidebar support (sudo apt-get install mutt-patched for the ubuntu folks) and are comfortable with editing your muttrc.&lt;br&gt;
If you would just like to skip to the end, my mutt configuration file can be found &lt;a href="https://github.com/wheresvic/vic-config/blob/master/mutt/muttrc" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.levenez.com/unix/" target="_blank" rel="nofollow noopener"&gt;An Extensive UNIX Timeline&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://garbage.fm/episodes/47" target="_blank" rel="nofollow noopener"&gt;Garbage.fm - OEF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/02/22/22586.html" target="_blank" rel="nofollow noopener"&gt;brk() to sbrk()&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2019/02/20/22566.html" target="_blank" rel="nofollow noopener"&gt;Fred models, found again&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ieeexplore.ieee.org/document/8541105" target="_blank" rel="nofollow noopener"&gt;Kafe: Can OS Kernels Forward Packets Fast Enough for Software Routers?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://meetings.aaas.org/arpanet-livestream/" target="_blank" rel="nofollow noopener"&gt;ARPANET: Celebrating 50 Years Since “LO”&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pablo - &lt;a href="http://dpaste.com/2BXMP7M" target="_blank" rel="nofollow noopener"&gt;Topic suggestion: FreeBSD on a Laptop as daily driver&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ron - &lt;a href="http://dpaste.com/16Y2HSR#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS on the fly compression and seek&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dave - &lt;a href="http://dpaste.com/123AANV#wrap" target="_blank" rel="nofollow noopener"&gt;two zpool, or not two zpool, that is the question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0288.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.

 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Software will never fix Spectre-type bugs, a proof that sed is Turing complete, managed jails using Bastille, new version of netdata, using grep with /dev/null, using GMail with mutt, and more.</p>

<p>##Headlines<br>
###<a href="https://arstechnica.com/gadgets/2019/02/google-software-is-never-going-to-be-able-to-fix-spectre-type-bugs/" target="_blank" rel="nofollow noopener">Google: Software is never going to be able to fix Spectre-type bugs</a></p>

<ul>
<li><a href="https://arxiv.org/pdf/1902.05178.pdf" target="_blank" rel="nofollow noopener">Spectre is here to stay: An analysis of side-channels and speculative execution</a></li>
</ul>

<blockquote>
<p>Researchers from Google investigating the scope and impact of the Spectre attack have published a paper asserting that Spectre-like vulnerabilities are likely to be a continued feature of processors and, further, that software-based techniques for protecting against them will impose a high performance cost. And whatever the cost, the researchers continue, the software will be inadequate—some Spectre flaws don’t appear to have any effective software-based defense. As such, Spectre is going to be a continued feature of the computing landscape, with no straightforward resolution.<br>
The discovery and development of the Meltdown and Spectre attacks was undoubtedly the big security story of 2018. First revealed last January, new variants and related discoveries were made throughout the rest of the year. Both attacks rely on discrepancies between the theoretical architectural behavior of a processor—the documented behavior that programmers depend on and write their programs against—and the real behavior of implementations.<br>
Specifically, modern processors all perform speculative execution; they make assumptions about, for example, a value being read from memory or whether an if condition is true or false, and they allow their execution to run ahead based on these assumptions. If the assumptions are correct, the speculated results are kept; if it isn’t, the speculated results are discarded and the processor redoes the calculation. Speculative execution is not an architectural feature of the processor; it’s a feature of implementations, and so it’s supposed to be entirely invisible to running programs. When the processor discards the bad speculation, it should be as if the speculation never even happened.</p>
</blockquote>

<hr>

<p>###<a href="https://catonmat.net/proof-that-sed-is-turing-complete" target="_blank" rel="nofollow noopener">A proof that Unix utility sed is Turing complete</a></p>

<blockquote>
<p>Many people are surprised when they hear that sed is Turing complete. How come a text filtering program is Turing complete, they wonder. Turns out sed is a tiny assembly language that has a comparison operation, a branching operation and a temporary buffer. These operations make sed Turing complete.<br>
I first learned about this from Christophe Blaess. His proof is by construction – he wrote a Turing machine in sed (download turing.sed). As any programming language that can implement a Turing machine is Turing complete we must conclude that sed is also Turing complete.<br>
Christophe offers his own introduction to Turing machines and a description of how his sed implementation works in his article Implementation of a Turing Machine as a sed Script.</p>
</blockquote>

<blockquote>
<p>Christophe isn’t the first person to realize that sed is almost a general purpose programming language. People have written tetris, sokoban and many other programs in sed. Take a look at these:</p>
</blockquote>

<ul>
<li><a href="https://catonmat.net/ftp/sed/sedtris.sed" target="_blank" rel="nofollow noopener">Tetris</a></li>
<li><a href="https://catonmat.net/ftp/sed/sokoban.sed" target="_blank" rel="nofollow noopener">Sokoban (game)</a></li>
<li><a href="https://catonmat.net/ftp/sed/dc.sed" target="_blank" rel="nofollow noopener">Calculator</a></li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://bastillebsd.org/" target="_blank" rel="nofollow noopener">Bastille helps you quickly create and manage FreeBSD Jails.</a></p>

<blockquote>
<p>Bastille helps you quickly create and manage FreeBSD Jails.<br>
Jails are extremely lightweight containers that provide a full-featured UNIX-like operating system inside. These containers can be used for software development, rapid testing, and secure production Internet services.<br>
Bastille provides an interface to create, manage and destroy these secure virtualized environments.</p>
</blockquote>

<ul>
<li>Current version: 0.3.20190204-beta.</li>
<li>Shell Script Source here: <a href="https://github.com/BastilleBSD/bastille/blob/master/usr/local/bin/bastille" target="_blank" rel="nofollow noopener">https://github.com/BastilleBSD/bastille/blob/master/usr/local/bin/bastille</a></li>
</ul>

<hr>

<p>###<a href="https://github.com/netdata/netdata/releases" target="_blank" rel="nofollow noopener">netdata v1.12 released</a></p>

<blockquote>
<p>Netdata is distributed, real-time, performance and health monitoring for systems and applications. It is a highly optimized monitoring agent you install on all your systems and containers.<br>
Netdata provides unparalleled insights, in real-time, of everything happening on the systems it runs (including web servers, databases, applications), using highly interactive web dashboards. It can run autonomously, without any third party components, or it can be integrated to existing monitoring tool chains (Prometheus, Graphite, OpenTSDB, Kafka, Grafana, etc).<br>
Netdata is fast and efficient, designed to permanently run on all systems (physical &amp; virtual servers, containers, IoT devices), without disrupting their core function.</p>
</blockquote>

<ul>
<li>Patch release 1.12.1 contains 22 bug fixes and 8 improvements.</li>
</ul>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/unix/GrepDevNull" target="_blank" rel="nofollow noopener">Using grep with /dev/null, an old Unix trick</a></p>

<blockquote>
<p>Every so often I will find myself writing a grep invocation like this:</p>
</blockquote>

<p><code>find .... -exec grep &lt;something&gt; /dev/null '{}' '+'</code></p>

<blockquote>
<p>The peculiar presence of /dev/null here is an old Unix trick that is designed to force grep to always print out file names, even if your find only matches one file, by always insuring that grep has at least two files as arguments. You can wind up wanting to do the same thing with a direct use of grep if you’re not certain how many files your wildcard may match.</p>
</blockquote>

<hr>

<p>###<a href="https://smalldata.tech/blog/2016/09/10/gmail-with-mutt" target="_blank" rel="nofollow noopener">USING GMAIL WITH MUTT</a></p>

<blockquote>
<p>I recently switched to using mutt for email and while setting up mutt to use imap is pretty straightforward, this tutorial will also document some advanced concepts such as encrypting your account password and sending emails from a different From address.<br>
This tutorial assumes that you have some familiarity with using mutt and have installed it with sidebar support (sudo apt-get install mutt-patched for the ubuntu folks) and are comfortable with editing your muttrc.<br>
If you would just like to skip to the end, my mutt configuration file can be found <a href="https://github.com/wheresvic/vic-config/blob/master/mutt/muttrc" target="_blank" rel="nofollow noopener">here</a>.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.levenez.com/unix/" target="_blank" rel="nofollow noopener">An Extensive UNIX Timeline</a></li>
<li><a href="https://garbage.fm/episodes/47" target="_blank" rel="nofollow noopener">Garbage.fm - OEF</a></li>
<li><a href="https://www.dragonflydigest.com/2019/02/22/22586.html" target="_blank" rel="nofollow noopener">brk() to sbrk()</a></li>
<li><a href="https://www.dragonflydigest.com/2019/02/20/22566.html" target="_blank" rel="nofollow noopener">Fred models, found again</a></li>
<li><a href="https://ieeexplore.ieee.org/document/8541105" target="_blank" rel="nofollow noopener">Kafe: Can OS Kernels Forward Packets Fast Enough for Software Routers?</a></li>
<li><a href="https://meetings.aaas.org/arpanet-livestream/" target="_blank" rel="nofollow noopener">ARPANET: Celebrating 50 Years Since “LO”</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Pablo - <a href="http://dpaste.com/2BXMP7M" target="_blank" rel="nofollow noopener">Topic suggestion: FreeBSD on a Laptop as daily driver</a></li>
<li>Ron - <a href="http://dpaste.com/16Y2HSR#wrap" target="_blank" rel="nofollow noopener">ZFS on the fly compression and seek</a></li>
<li>Dave - <a href="http://dpaste.com/123AANV#wrap" target="_blank" rel="nofollow noopener">two zpool, or not two zpool, that is the question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0288.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Software will never fix Spectre-type bugs, a proof that sed is Turing complete, managed jails using Bastille, new version of netdata, using grep with /dev/null, using GMail with mutt, and more.</p>

<p>##Headlines<br>
###<a href="https://arstechnica.com/gadgets/2019/02/google-software-is-never-going-to-be-able-to-fix-spectre-type-bugs/" target="_blank" rel="nofollow noopener">Google: Software is never going to be able to fix Spectre-type bugs</a></p>

<ul>
<li><a href="https://arxiv.org/pdf/1902.05178.pdf" target="_blank" rel="nofollow noopener">Spectre is here to stay: An analysis of side-channels and speculative execution</a></li>
</ul>

<blockquote>
<p>Researchers from Google investigating the scope and impact of the Spectre attack have published a paper asserting that Spectre-like vulnerabilities are likely to be a continued feature of processors and, further, that software-based techniques for protecting against them will impose a high performance cost. And whatever the cost, the researchers continue, the software will be inadequate—some Spectre flaws don’t appear to have any effective software-based defense. As such, Spectre is going to be a continued feature of the computing landscape, with no straightforward resolution.<br>
The discovery and development of the Meltdown and Spectre attacks was undoubtedly the big security story of 2018. First revealed last January, new variants and related discoveries were made throughout the rest of the year. Both attacks rely on discrepancies between the theoretical architectural behavior of a processor—the documented behavior that programmers depend on and write their programs against—and the real behavior of implementations.<br>
Specifically, modern processors all perform speculative execution; they make assumptions about, for example, a value being read from memory or whether an if condition is true or false, and they allow their execution to run ahead based on these assumptions. If the assumptions are correct, the speculated results are kept; if it isn’t, the speculated results are discarded and the processor redoes the calculation. Speculative execution is not an architectural feature of the processor; it’s a feature of implementations, and so it’s supposed to be entirely invisible to running programs. When the processor discards the bad speculation, it should be as if the speculation never even happened.</p>
</blockquote>

<hr>

<p>###<a href="https://catonmat.net/proof-that-sed-is-turing-complete" target="_blank" rel="nofollow noopener">A proof that Unix utility sed is Turing complete</a></p>

<blockquote>
<p>Many people are surprised when they hear that sed is Turing complete. How come a text filtering program is Turing complete, they wonder. Turns out sed is a tiny assembly language that has a comparison operation, a branching operation and a temporary buffer. These operations make sed Turing complete.<br>
I first learned about this from Christophe Blaess. His proof is by construction – he wrote a Turing machine in sed (download turing.sed). As any programming language that can implement a Turing machine is Turing complete we must conclude that sed is also Turing complete.<br>
Christophe offers his own introduction to Turing machines and a description of how his sed implementation works in his article Implementation of a Turing Machine as a sed Script.</p>
</blockquote>

<blockquote>
<p>Christophe isn’t the first person to realize that sed is almost a general purpose programming language. People have written tetris, sokoban and many other programs in sed. Take a look at these:</p>
</blockquote>

<ul>
<li><a href="https://catonmat.net/ftp/sed/sedtris.sed" target="_blank" rel="nofollow noopener">Tetris</a></li>
<li><a href="https://catonmat.net/ftp/sed/sokoban.sed" target="_blank" rel="nofollow noopener">Sokoban (game)</a></li>
<li><a href="https://catonmat.net/ftp/sed/dc.sed" target="_blank" rel="nofollow noopener">Calculator</a></li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://bastillebsd.org/" target="_blank" rel="nofollow noopener">Bastille helps you quickly create and manage FreeBSD Jails.</a></p>

<blockquote>
<p>Bastille helps you quickly create and manage FreeBSD Jails.<br>
Jails are extremely lightweight containers that provide a full-featured UNIX-like operating system inside. These containers can be used for software development, rapid testing, and secure production Internet services.<br>
Bastille provides an interface to create, manage and destroy these secure virtualized environments.</p>
</blockquote>

<ul>
<li>Current version: 0.3.20190204-beta.</li>
<li>Shell Script Source here: <a href="https://github.com/BastilleBSD/bastille/blob/master/usr/local/bin/bastille" target="_blank" rel="nofollow noopener">https://github.com/BastilleBSD/bastille/blob/master/usr/local/bin/bastille</a></li>
</ul>

<hr>

<p>###<a href="https://github.com/netdata/netdata/releases" target="_blank" rel="nofollow noopener">netdata v1.12 released</a></p>

<blockquote>
<p>Netdata is distributed, real-time, performance and health monitoring for systems and applications. It is a highly optimized monitoring agent you install on all your systems and containers.<br>
Netdata provides unparalleled insights, in real-time, of everything happening on the systems it runs (including web servers, databases, applications), using highly interactive web dashboards. It can run autonomously, without any third party components, or it can be integrated to existing monitoring tool chains (Prometheus, Graphite, OpenTSDB, Kafka, Grafana, etc).<br>
Netdata is fast and efficient, designed to permanently run on all systems (physical &amp; virtual servers, containers, IoT devices), without disrupting their core function.</p>
</blockquote>

<ul>
<li>Patch release 1.12.1 contains 22 bug fixes and 8 improvements.</li>
</ul>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/unix/GrepDevNull" target="_blank" rel="nofollow noopener">Using grep with /dev/null, an old Unix trick</a></p>

<blockquote>
<p>Every so often I will find myself writing a grep invocation like this:</p>
</blockquote>

<p><code>find .... -exec grep &lt;something&gt; /dev/null '{}' '+'</code></p>

<blockquote>
<p>The peculiar presence of /dev/null here is an old Unix trick that is designed to force grep to always print out file names, even if your find only matches one file, by always insuring that grep has at least two files as arguments. You can wind up wanting to do the same thing with a direct use of grep if you’re not certain how many files your wildcard may match.</p>
</blockquote>

<hr>

<p>###<a href="https://smalldata.tech/blog/2016/09/10/gmail-with-mutt" target="_blank" rel="nofollow noopener">USING GMAIL WITH MUTT</a></p>

<blockquote>
<p>I recently switched to using mutt for email and while setting up mutt to use imap is pretty straightforward, this tutorial will also document some advanced concepts such as encrypting your account password and sending emails from a different From address.<br>
This tutorial assumes that you have some familiarity with using mutt and have installed it with sidebar support (sudo apt-get install mutt-patched for the ubuntu folks) and are comfortable with editing your muttrc.<br>
If you would just like to skip to the end, my mutt configuration file can be found <a href="https://github.com/wheresvic/vic-config/blob/master/mutt/muttrc" target="_blank" rel="nofollow noopener">here</a>.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.levenez.com/unix/" target="_blank" rel="nofollow noopener">An Extensive UNIX Timeline</a></li>
<li><a href="https://garbage.fm/episodes/47" target="_blank" rel="nofollow noopener">Garbage.fm - OEF</a></li>
<li><a href="https://www.dragonflydigest.com/2019/02/22/22586.html" target="_blank" rel="nofollow noopener">brk() to sbrk()</a></li>
<li><a href="https://www.dragonflydigest.com/2019/02/20/22566.html" target="_blank" rel="nofollow noopener">Fred models, found again</a></li>
<li><a href="https://ieeexplore.ieee.org/document/8541105" target="_blank" rel="nofollow noopener">Kafe: Can OS Kernels Forward Packets Fast Enough for Software Routers?</a></li>
<li><a href="https://meetings.aaas.org/arpanet-livestream/" target="_blank" rel="nofollow noopener">ARPANET: Celebrating 50 Years Since “LO”</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Pablo - <a href="http://dpaste.com/2BXMP7M" target="_blank" rel="nofollow noopener">Topic suggestion: FreeBSD on a Laptop as daily driver</a></li>
<li>Ron - <a href="http://dpaste.com/16Y2HSR#wrap" target="_blank" rel="nofollow noopener">ZFS on the fly compression and seek</a></li>
<li>Dave - <a href="http://dpaste.com/123AANV#wrap" target="_blank" rel="nofollow noopener">two zpool, or not two zpool, that is the question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0288.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>287: rc.d in NetBSD</title>
  <link>https://www.bsdnow.tv/287</link>
  <guid isPermaLink="false">e66ab35a-1745-4485-a2c3-142c6c471df0</guid>
  <pubDate>Thu, 28 Feb 2019 12:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e66ab35a-1745-4485-a2c3-142c6c471df0.mp3" length="36387926" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Design and Implementation of NetBSD’s rc.d system, first impressions of Project Trident 18.12, PXE booting a FreeBSD disk image, middle mouse button pasting, NetBSD gains hardware accelerated virtualization, and more.</itunes:subtitle>
  <itunes:duration>1:00:20</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>&lt;p&gt;Design and Implementation of NetBSD’s rc.d system, first impressions of Project Trident 18.12, PXE booting a FreeBSD disk image, middle mouse button pasting, NetBSD gains hardware accelerated virtualization, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://www.usenix.org/legacy/events/usenix01/freenix01/full_papers/mewburn/mewburn_html/index.html" target="_blank" rel="nofollow noopener"&gt;The Design and Implementation of the NetBSD rc.d system&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Abstract&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In this paper I cover the design and implementation of the rc.d system start-up mechanism in NetBSD 1.5, which replaced the monolithic /etc/rc start-up file inherited from 4.4BSD. Topics covered include a history of various UNIX start-up mechanisms (including NetBSD prior to 1.5), design considerations that evolved over six years of discussions, implementation details, an examination of the human issues that occurred during the design and implementation, as well as future directions for the system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;NetBSD recently converted from the traditional 4.4BSD monolithic /etc/rc start-up script to an /etc/rc.d mechanism, where there is a separate script to manage each service or daemon, and these scripts are executed in a specific order at system boot.&lt;br&gt;
This paper covers the motivation, design and implementation of the rc.d system; from the history of what NetBSD had before to the system that NetBSD 1.5 shipped with in December 2000, as well as future directions.&lt;br&gt;
The changes were contentious and generated some of the liveliest discussions about any feature change ever made in NetBSD. Parts of those discussions will be covered to provide insight into some of the design and implementation decisions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;History&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There is great diversity in the system start-up mechanisms used by various UNIX variants. A few of the more pertinent schemes are detailed below. As NetBSD is derived from 4.4BSD, it follows that a description of the latter’s method is relevant. Solaris’ start-up method is also detailed, as it is the most common System V UNIX variant.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://distrowatch.com/weekly.php?issue=20190211#trident" target="_blank" rel="nofollow noopener"&gt;First impressions of Project Trident 18.12&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Project Trident (hereafter referred to as Trident) is a desktop operating system based on TrueOS. Trident takes the rolling base platform of TrueOS, which is in turn based on FreeBSD’s development branch, and combines it with the Lumina desktop environment.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;+Installing&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The debut release of Trident is available as a 4.1GB download that can be burned to a disc or transferred to a USB thumb drive. Booting from the Trident media brings up a graphical interface and automatically launches the project’s system installer. Down the left side of the display there are buttons we can click to show hardware information and configuration options. These buttons let us know if our wireless card and video card are compatible with Trident and give us a chance to change our preferred language and keyboard layout. At the bottom of the screen we find buttons that will open a terminal or shutdown the computer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Early impressions&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Trident boots to a graphical login screen where we can sign into the Lumina desktop or a minimal Fluxbox session. Lumina, by default, uses Fluxbox as its window manager. The Lumina desktop places its panel along the bottom of the screen and an application menu sits in the bottom-left corner. On the desktop we find icons for opening the software manager, launching the Falkon web browser, running the VLC media player, opening the Control Panel and adjusting the Lumina theme.&lt;br&gt;
The application menu has an unusual and compact layout. The menu shows just a search box and buttons for browsing applications, opening a file manager, accessing desktop settings and signing out. To see what applications are available we can click the Browse Applications entry, which opens a window in the menu where we can scroll through installed programs. This is a bit awkward since the display window is small and only shows a few items at a time.&lt;br&gt;
Early on I found it is possible to swap out the default “Start menu” with an alternative “Application menu” through the Panels configuration tool. This alternative menu offers a classic tree-style application menu. I found the latter menu easier to navigate as it expands to show all the applications in a selected category.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusions&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I have a lot of mixed feelings and impressions when it comes to Trident. On the one hand, the operating system has some great technology under the hook. It has cutting edge packages from the FreeBSD ecosystem, we have easy access to ZFS, boot environments, and lots of open source packages. Hardware support, at least on my physical workstation, was solid and the Lumina desktop is flexible.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://blog.cochard.me/2019/02/pxe-booting-of-freebsd-disk-image.html" target="_blank" rel="nofollow noopener"&gt;PXE booting of a FreeBSD disk image&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I had to set up a regression and network performance lab. This lab will be managed by a Jenkins, but the first step is to understand how to boot a FreeBSD disk by PXE. This article explains a simple way of doing it.&lt;br&gt;
For information, all these steps were done using 2 PC Engines APU2 (upgraded with latest BIOS for iPXE support), so it’s a headless (serial port only, this can be IPMI SoL with different hardware) .&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;THE BIG PICTURE&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Before explaining all steps and command line, here is the &lt;a href="https://1.bp.blogspot.com/-SCUJAjowhYw/XG-b-qWGuXI/AAAAAAAAmXw/SVXHDC9hsMwZNB2P5glsZx0iFoCE9SAXQCLcBGAs/s1600/PXE%2Band%2BFreeBSD%2Bmfs%2Bimage.png" target="_blank" rel="nofollow noopener"&gt;full big picture&lt;/a&gt; of the final process.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/unix/MouseMovementAndPaste" target="_blank" rel="nofollow noopener"&gt;Why I like middle mouse button paste in xterm so much&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In my entry about how touchpads are not mice, I mused that one of the things I should do on my laptop was insure that I had a keyboard binding for paste, since middle mouse button is one of the harder multi-finger gestures to land on a touchpad. Kurt Mosiejczuk recently left a comment there where they said:&lt;br&gt;
Shift-Insert is a keyboard equivalent for paste that is in default xterm (at least OpenBSD xterm, and putty on Windows too). I use that most of the time now as it seems less… trigger-happy than right click paste.&lt;br&gt;
This sparked some thoughts, because I can’t imagine giving up middle mouse paste if I have a real choice. I had earlier seen shift-insert mentioned in other commentary on my entry and so have tried a bit to use it on my laptop, and it hasn’t really felt great even there; on my desktops, it’s even less appealing (I tried shift-insert out there to confirm that it did work in my set of wacky X resources).&lt;br&gt;
In thinking about why this is, I came to the obvious realization about why all of this is so. I like middle mouse button paste in normal usage because it’s so convenient, because almost all of the time my hand is already on the mouse. And the reason my hand is already on the mouse is because I’ve just used the mouse to shift focus to the window I want to paste into. Even on my laptop, my right hand is usually away from the keyboard as I move the mouse pointer on the touchpad, making shift-Insert at least somewhat awkward.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="http://m00nbsd.net/4e0798b7f2620c965d0dd9d6a7a2f296.html" target="_blank" rel="nofollow noopener"&gt;NetBSD Gains Hardware Accelerated Virtualization&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NetBSD Virtual Machine Monitor&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;NVMM provides hardware-accelerated virtualization support for NetBSD. It is made of an ~MI frontend, to which MD backends can be plugged. A virtualization API is shipped via libnvmm, that allows to easily create and manage virtual machines via NVMM. Two additional components are shipped as demonstrators, toyvirt and smallkern: the former is a toy virtualizer, that executes in a VM the 64bit ELF binary given as argument, the latter is an example of such binary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.solobsd.org/index.php/2019/02/11/solobsd-19-02-stable/" target="_blank" rel="nofollow noopener"&gt;SoloBSD 19.02-STABLE&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://project-trident.org/post/2019-02-20_18.12-u5_available/" target="_blank" rel="nofollow noopener"&gt;Project Trident 18.12-U5 available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/4076" target="_blank" rel="nofollow noopener"&gt;“Sudo Mastery, Second Edition” and Cover Art&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/mksanitizer_bug_detector_software_integration" target="_blank" rel="nofollow noopener"&gt;MKSANITIZER - bug detector software integration with the NetBSD userland&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://old.reddit.com/r/unix/comments/aplxjf/darn_kids_nowadays_back_in_my_day_we_drew_rude/" target="_blank" rel="nofollow noopener"&gt;Darn kids nowadays… back in my day we drew rude symbols like normal people.&lt;/a&gt;  {{top two comments}}&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.shellcheck.net/" target="_blank" rel="nofollow noopener"&gt;ShellCheck&lt;br&gt;
finds bugs in your shell scripts.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=JuHpABL46a8" target="_blank" rel="nofollow noopener"&gt;Old School Sean - A history of UNIX&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ales - &lt;a href="http://dpaste.com/3T8VTDJ" target="_blank" rel="nofollow noopener"&gt;OpenBSD, FreeNAS, OpenZFS questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Malcolm - &lt;a href="http://dpaste.com/2X63H8Q" target="_blank" rel="nofollow noopener"&gt;Thoughts on Pgsql + ZFS thread?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/02DCADV#wrap" target="_blank" rel="nofollow noopener"&gt;Boot Environments in FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0287.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Design and Implementation of NetBSD’s rc.d system, first impressions of Project Trident 18.12, PXE booting a FreeBSD disk image, middle mouse button pasting, NetBSD gains hardware accelerated virtualization, and more.</p>

<p>##Headlines<br>
###<a href="https://www.usenix.org/legacy/events/usenix01/freenix01/full_papers/mewburn/mewburn_html/index.html" target="_blank" rel="nofollow noopener">The Design and Implementation of the NetBSD rc.d system</a></p>

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

<blockquote>
<p>In this paper I cover the design and implementation of the rc.d system start-up mechanism in NetBSD 1.5, which replaced the monolithic /etc/rc start-up file inherited from 4.4BSD. Topics covered include a history of various UNIX start-up mechanisms (including NetBSD prior to 1.5), design considerations that evolved over six years of discussions, implementation details, an examination of the human issues that occurred during the design and implementation, as well as future directions for the system.</p>
</blockquote>

<ul>
<li>Introduction</li>
</ul>

<blockquote>
<p>NetBSD recently converted from the traditional 4.4BSD monolithic /etc/rc start-up script to an /etc/rc.d mechanism, where there is a separate script to manage each service or daemon, and these scripts are executed in a specific order at system boot.<br>
This paper covers the motivation, design and implementation of the rc.d system; from the history of what NetBSD had before to the system that NetBSD 1.5 shipped with in December 2000, as well as future directions.<br>
The changes were contentious and generated some of the liveliest discussions about any feature change ever made in NetBSD. Parts of those discussions will be covered to provide insight into some of the design and implementation decisions.</p>
</blockquote>

<ul>
<li>History</li>
</ul>

<blockquote>
<p>There is great diversity in the system start-up mechanisms used by various UNIX variants. A few of the more pertinent schemes are detailed below. As NetBSD is derived from 4.4BSD, it follows that a description of the latter’s method is relevant. Solaris’ start-up method is also detailed, as it is the most common System V UNIX variant.</p>
</blockquote>

<hr>

<p>###<a href="https://distrowatch.com/weekly.php?issue=20190211#trident" target="_blank" rel="nofollow noopener">First impressions of Project Trident 18.12</a></p>

<blockquote>
<p>Project Trident (hereafter referred to as Trident) is a desktop operating system based on TrueOS. Trident takes the rolling base platform of TrueOS, which is in turn based on FreeBSD’s development branch, and combines it with the Lumina desktop environment.</p>
</blockquote>

<p>+Installing</p>

<blockquote>
<p>The debut release of Trident is available as a 4.1GB download that can be burned to a disc or transferred to a USB thumb drive. Booting from the Trident media brings up a graphical interface and automatically launches the project’s system installer. Down the left side of the display there are buttons we can click to show hardware information and configuration options. These buttons let us know if our wireless card and video card are compatible with Trident and give us a chance to change our preferred language and keyboard layout. At the bottom of the screen we find buttons that will open a terminal or shutdown the computer.</p>
</blockquote>

<ul>
<li>Early impressions</li>
</ul>

<blockquote>
<p>Trident boots to a graphical login screen where we can sign into the Lumina desktop or a minimal Fluxbox session. Lumina, by default, uses Fluxbox as its window manager. The Lumina desktop places its panel along the bottom of the screen and an application menu sits in the bottom-left corner. On the desktop we find icons for opening the software manager, launching the Falkon web browser, running the VLC media player, opening the Control Panel and adjusting the Lumina theme.<br>
The application menu has an unusual and compact layout. The menu shows just a search box and buttons for browsing applications, opening a file manager, accessing desktop settings and signing out. To see what applications are available we can click the Browse Applications entry, which opens a window in the menu where we can scroll through installed programs. This is a bit awkward since the display window is small and only shows a few items at a time.<br>
Early on I found it is possible to swap out the default “Start menu” with an alternative “Application menu” through the Panels configuration tool. This alternative menu offers a classic tree-style application menu. I found the latter menu easier to navigate as it expands to show all the applications in a selected category.</p>
</blockquote>

<ul>
<li>Conclusions</li>
</ul>

<blockquote>
<p>I have a lot of mixed feelings and impressions when it comes to Trident. On the one hand, the operating system has some great technology under the hook. It has cutting edge packages from the FreeBSD ecosystem, we have easy access to ZFS, boot environments, and lots of open source packages. Hardware support, at least on my physical workstation, was solid and the Lumina desktop is flexible.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://blog.cochard.me/2019/02/pxe-booting-of-freebsd-disk-image.html" target="_blank" rel="nofollow noopener">PXE booting of a FreeBSD disk image</a></p>

<blockquote>
<p>I had to set up a regression and network performance lab. This lab will be managed by a Jenkins, but the first step is to understand how to boot a FreeBSD disk by PXE. This article explains a simple way of doing it.<br>
For information, all these steps were done using 2 PC Engines APU2 (upgraded with latest BIOS for iPXE support), so it’s a headless (serial port only, this can be IPMI SoL with different hardware) .</p>
</blockquote>

<ul>
<li>THE BIG PICTURE</li>
</ul>

<blockquote>
<p>Before explaining all steps and command line, here is the <a href="https://1.bp.blogspot.com/-SCUJAjowhYw/XG-b-qWGuXI/AAAAAAAAmXw/SVXHDC9hsMwZNB2P5glsZx0iFoCE9SAXQCLcBGAs/s1600/PXE%2Band%2BFreeBSD%2Bmfs%2Bimage.png" target="_blank" rel="nofollow noopener">full big picture</a> of the final process.</p>
</blockquote>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/unix/MouseMovementAndPaste" target="_blank" rel="nofollow noopener">Why I like middle mouse button paste in xterm so much</a></p>

<blockquote>
<p>In my entry about how touchpads are not mice, I mused that one of the things I should do on my laptop was insure that I had a keyboard binding for paste, since middle mouse button is one of the harder multi-finger gestures to land on a touchpad. Kurt Mosiejczuk recently left a comment there where they said:<br>
Shift-Insert is a keyboard equivalent for paste that is in default xterm (at least OpenBSD xterm, and putty on Windows too). I use that most of the time now as it seems less… trigger-happy than right click paste.<br>
This sparked some thoughts, because I can’t imagine giving up middle mouse paste if I have a real choice. I had earlier seen shift-insert mentioned in other commentary on my entry and so have tried a bit to use it on my laptop, and it hasn’t really felt great even there; on my desktops, it’s even less appealing (I tried shift-insert out there to confirm that it did work in my set of wacky X resources).<br>
In thinking about why this is, I came to the obvious realization about why all of this is so. I like middle mouse button paste in normal usage because it’s so convenient, because almost all of the time my hand is already on the mouse. And the reason my hand is already on the mouse is because I’ve just used the mouse to shift focus to the window I want to paste into. Even on my laptop, my right hand is usually away from the keyboard as I move the mouse pointer on the touchpad, making shift-Insert at least somewhat awkward.</p>
</blockquote>

<hr>

<p>###<a href="http://m00nbsd.net/4e0798b7f2620c965d0dd9d6a7a2f296.html" target="_blank" rel="nofollow noopener">NetBSD Gains Hardware Accelerated Virtualization</a></p>

<ul>
<li>NetBSD Virtual Machine Monitor</li>
</ul>

<blockquote>
<p>NVMM provides hardware-accelerated virtualization support for NetBSD. It is made of an ~MI frontend, to which MD backends can be plugged. A virtualization API is shipped via libnvmm, that allows to easily create and manage virtual machines via NVMM. Two additional components are shipped as demonstrators, toyvirt and smallkern: the former is a toy virtualizer, that executes in a VM the 64bit ELF binary given as argument, the latter is an example of such binary.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.solobsd.org/index.php/2019/02/11/solobsd-19-02-stable/" target="_blank" rel="nofollow noopener">SoloBSD 19.02-STABLE</a></li>
<li><a href="https://project-trident.org/post/2019-02-20_18.12-u5_available/" target="_blank" rel="nofollow noopener">Project Trident 18.12-U5 available</a></li>
<li><a href="https://mwl.io/archives/4076" target="_blank" rel="nofollow noopener">“Sudo Mastery, Second Edition” and Cover Art</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/mksanitizer_bug_detector_software_integration" target="_blank" rel="nofollow noopener">MKSANITIZER - bug detector software integration with the NetBSD userland</a></li>
<li><a href="https://old.reddit.com/r/unix/comments/aplxjf/darn_kids_nowadays_back_in_my_day_we_drew_rude/" target="_blank" rel="nofollow noopener">Darn kids nowadays… back in my day we drew rude symbols like normal people.</a>  {{top two comments}}</li>
<li><a href="https://www.shellcheck.net/" target="_blank" rel="nofollow noopener">ShellCheck<br>
finds bugs in your shell scripts.</a></li>
<li><a href="https://www.youtube.com/watch?v=JuHpABL46a8" target="_blank" rel="nofollow noopener">Old School Sean - A history of UNIX</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Ales - <a href="http://dpaste.com/3T8VTDJ" target="_blank" rel="nofollow noopener">OpenBSD, FreeNAS, OpenZFS questions</a></li>
<li>Malcolm - <a href="http://dpaste.com/2X63H8Q" target="_blank" rel="nofollow noopener">Thoughts on Pgsql + ZFS thread?</a></li>
<li>Brad - <a href="http://dpaste.com/02DCADV#wrap" target="_blank" rel="nofollow noopener">Boot Environments in FreeBSD</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0287.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Design and Implementation of NetBSD’s rc.d system, first impressions of Project Trident 18.12, PXE booting a FreeBSD disk image, middle mouse button pasting, NetBSD gains hardware accelerated virtualization, and more.</p>

<p>##Headlines<br>
###<a href="https://www.usenix.org/legacy/events/usenix01/freenix01/full_papers/mewburn/mewburn_html/index.html" target="_blank" rel="nofollow noopener">The Design and Implementation of the NetBSD rc.d system</a></p>

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

<blockquote>
<p>In this paper I cover the design and implementation of the rc.d system start-up mechanism in NetBSD 1.5, which replaced the monolithic /etc/rc start-up file inherited from 4.4BSD. Topics covered include a history of various UNIX start-up mechanisms (including NetBSD prior to 1.5), design considerations that evolved over six years of discussions, implementation details, an examination of the human issues that occurred during the design and implementation, as well as future directions for the system.</p>
</blockquote>

<ul>
<li>Introduction</li>
</ul>

<blockquote>
<p>NetBSD recently converted from the traditional 4.4BSD monolithic /etc/rc start-up script to an /etc/rc.d mechanism, where there is a separate script to manage each service or daemon, and these scripts are executed in a specific order at system boot.<br>
This paper covers the motivation, design and implementation of the rc.d system; from the history of what NetBSD had before to the system that NetBSD 1.5 shipped with in December 2000, as well as future directions.<br>
The changes were contentious and generated some of the liveliest discussions about any feature change ever made in NetBSD. Parts of those discussions will be covered to provide insight into some of the design and implementation decisions.</p>
</blockquote>

<ul>
<li>History</li>
</ul>

<blockquote>
<p>There is great diversity in the system start-up mechanisms used by various UNIX variants. A few of the more pertinent schemes are detailed below. As NetBSD is derived from 4.4BSD, it follows that a description of the latter’s method is relevant. Solaris’ start-up method is also detailed, as it is the most common System V UNIX variant.</p>
</blockquote>

<hr>

<p>###<a href="https://distrowatch.com/weekly.php?issue=20190211#trident" target="_blank" rel="nofollow noopener">First impressions of Project Trident 18.12</a></p>

<blockquote>
<p>Project Trident (hereafter referred to as Trident) is a desktop operating system based on TrueOS. Trident takes the rolling base platform of TrueOS, which is in turn based on FreeBSD’s development branch, and combines it with the Lumina desktop environment.</p>
</blockquote>

<p>+Installing</p>

<blockquote>
<p>The debut release of Trident is available as a 4.1GB download that can be burned to a disc or transferred to a USB thumb drive. Booting from the Trident media brings up a graphical interface and automatically launches the project’s system installer. Down the left side of the display there are buttons we can click to show hardware information and configuration options. These buttons let us know if our wireless card and video card are compatible with Trident and give us a chance to change our preferred language and keyboard layout. At the bottom of the screen we find buttons that will open a terminal or shutdown the computer.</p>
</blockquote>

<ul>
<li>Early impressions</li>
</ul>

<blockquote>
<p>Trident boots to a graphical login screen where we can sign into the Lumina desktop or a minimal Fluxbox session. Lumina, by default, uses Fluxbox as its window manager. The Lumina desktop places its panel along the bottom of the screen and an application menu sits in the bottom-left corner. On the desktop we find icons for opening the software manager, launching the Falkon web browser, running the VLC media player, opening the Control Panel and adjusting the Lumina theme.<br>
The application menu has an unusual and compact layout. The menu shows just a search box and buttons for browsing applications, opening a file manager, accessing desktop settings and signing out. To see what applications are available we can click the Browse Applications entry, which opens a window in the menu where we can scroll through installed programs. This is a bit awkward since the display window is small and only shows a few items at a time.<br>
Early on I found it is possible to swap out the default “Start menu” with an alternative “Application menu” through the Panels configuration tool. This alternative menu offers a classic tree-style application menu. I found the latter menu easier to navigate as it expands to show all the applications in a selected category.</p>
</blockquote>

<ul>
<li>Conclusions</li>
</ul>

<blockquote>
<p>I have a lot of mixed feelings and impressions when it comes to Trident. On the one hand, the operating system has some great technology under the hook. It has cutting edge packages from the FreeBSD ecosystem, we have easy access to ZFS, boot environments, and lots of open source packages. Hardware support, at least on my physical workstation, was solid and the Lumina desktop is flexible.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://blog.cochard.me/2019/02/pxe-booting-of-freebsd-disk-image.html" target="_blank" rel="nofollow noopener">PXE booting of a FreeBSD disk image</a></p>

<blockquote>
<p>I had to set up a regression and network performance lab. This lab will be managed by a Jenkins, but the first step is to understand how to boot a FreeBSD disk by PXE. This article explains a simple way of doing it.<br>
For information, all these steps were done using 2 PC Engines APU2 (upgraded with latest BIOS for iPXE support), so it’s a headless (serial port only, this can be IPMI SoL with different hardware) .</p>
</blockquote>

<ul>
<li>THE BIG PICTURE</li>
</ul>

<blockquote>
<p>Before explaining all steps and command line, here is the <a href="https://1.bp.blogspot.com/-SCUJAjowhYw/XG-b-qWGuXI/AAAAAAAAmXw/SVXHDC9hsMwZNB2P5glsZx0iFoCE9SAXQCLcBGAs/s1600/PXE%2Band%2BFreeBSD%2Bmfs%2Bimage.png" target="_blank" rel="nofollow noopener">full big picture</a> of the final process.</p>
</blockquote>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/unix/MouseMovementAndPaste" target="_blank" rel="nofollow noopener">Why I like middle mouse button paste in xterm so much</a></p>

<blockquote>
<p>In my entry about how touchpads are not mice, I mused that one of the things I should do on my laptop was insure that I had a keyboard binding for paste, since middle mouse button is one of the harder multi-finger gestures to land on a touchpad. Kurt Mosiejczuk recently left a comment there where they said:<br>
Shift-Insert is a keyboard equivalent for paste that is in default xterm (at least OpenBSD xterm, and putty on Windows too). I use that most of the time now as it seems less… trigger-happy than right click paste.<br>
This sparked some thoughts, because I can’t imagine giving up middle mouse paste if I have a real choice. I had earlier seen shift-insert mentioned in other commentary on my entry and so have tried a bit to use it on my laptop, and it hasn’t really felt great even there; on my desktops, it’s even less appealing (I tried shift-insert out there to confirm that it did work in my set of wacky X resources).<br>
In thinking about why this is, I came to the obvious realization about why all of this is so. I like middle mouse button paste in normal usage because it’s so convenient, because almost all of the time my hand is already on the mouse. And the reason my hand is already on the mouse is because I’ve just used the mouse to shift focus to the window I want to paste into. Even on my laptop, my right hand is usually away from the keyboard as I move the mouse pointer on the touchpad, making shift-Insert at least somewhat awkward.</p>
</blockquote>

<hr>

<p>###<a href="http://m00nbsd.net/4e0798b7f2620c965d0dd9d6a7a2f296.html" target="_blank" rel="nofollow noopener">NetBSD Gains Hardware Accelerated Virtualization</a></p>

<ul>
<li>NetBSD Virtual Machine Monitor</li>
</ul>

<blockquote>
<p>NVMM provides hardware-accelerated virtualization support for NetBSD. It is made of an ~MI frontend, to which MD backends can be plugged. A virtualization API is shipped via libnvmm, that allows to easily create and manage virtual machines via NVMM. Two additional components are shipped as demonstrators, toyvirt and smallkern: the former is a toy virtualizer, that executes in a VM the 64bit ELF binary given as argument, the latter is an example of such binary.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.solobsd.org/index.php/2019/02/11/solobsd-19-02-stable/" target="_blank" rel="nofollow noopener">SoloBSD 19.02-STABLE</a></li>
<li><a href="https://project-trident.org/post/2019-02-20_18.12-u5_available/" target="_blank" rel="nofollow noopener">Project Trident 18.12-U5 available</a></li>
<li><a href="https://mwl.io/archives/4076" target="_blank" rel="nofollow noopener">“Sudo Mastery, Second Edition” and Cover Art</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/mksanitizer_bug_detector_software_integration" target="_blank" rel="nofollow noopener">MKSANITIZER - bug detector software integration with the NetBSD userland</a></li>
<li><a href="https://old.reddit.com/r/unix/comments/aplxjf/darn_kids_nowadays_back_in_my_day_we_drew_rude/" target="_blank" rel="nofollow noopener">Darn kids nowadays… back in my day we drew rude symbols like normal people.</a>  {{top two comments}}</li>
<li><a href="https://www.shellcheck.net/" target="_blank" rel="nofollow noopener">ShellCheck<br>
finds bugs in your shell scripts.</a></li>
<li><a href="https://www.youtube.com/watch?v=JuHpABL46a8" target="_blank" rel="nofollow noopener">Old School Sean - A history of UNIX</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Ales - <a href="http://dpaste.com/3T8VTDJ" target="_blank" rel="nofollow noopener">OpenBSD, FreeNAS, OpenZFS questions</a></li>
<li>Malcolm - <a href="http://dpaste.com/2X63H8Q" target="_blank" rel="nofollow noopener">Thoughts on Pgsql + ZFS thread?</a></li>
<li>Brad - <a href="http://dpaste.com/02DCADV#wrap" target="_blank" rel="nofollow noopener">Boot Environments in FreeBSD</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0287.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>286: Old Machine Revival</title>
  <link>https://www.bsdnow.tv/286</link>
  <guid isPermaLink="false">d6eb1003-7d6d-447e-bd77-68ae1e60c19d</guid>
  <pubDate>Thu, 21 Feb 2019 16:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d6eb1003-7d6d-447e-bd77-68ae1e60c19d.mp3" length="47545588" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Adding glue to a desktop environment, flashing the BIOS on a PC Engine, revive a Cisco IDS into a capable OpenBSD computer, An OpenBSD WindowMaker desktop, RealTime data compression, the love for pipes, and more. </itunes:subtitle>
  <itunes:duration>1:18:56</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>&lt;p&gt;Adding glue to a desktop environment, flashing the BIOS on a PC Engine, revive a Cisco IDS into a capable OpenBSD computer, An OpenBSD WindowMaker desktop, RealTime data compression, the love for pipes, and more. &lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://venam.nixers.net/blog/unix/2019/01/07/win-automation.html" target="_blank" rel="nofollow noopener"&gt;Adding Glue To a Desktop Environment&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In this article we will put some light on a lot of tools used in the world of Unix desktop environment customization, particularly regarding wmctrl, wmutils, xev, xtruss, xwininfo, xprop, xdotools, xdo, sxhkd, xbindkeys, speckeysd, xchainkeys, alttab, triggerhappy, gTile, gidmgr, keynav, and more. If those don’t make sense then this article will help. Let’s hope this can open your mind to new possibilities.&lt;br&gt;
With that in mind we can wonder if what’s actually needed from a window manager, presentation and operation, can be split up and complemented with other tools. We can also start thinking laterally, the communication and interaction between the different components of the environment. We have the freedom to do so because the X protocol is transparent and components usually implement many standards for interfacing between windows. It’s like gluing parts together to create a desktop environment.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The tools we’ll talk about fall into one of those categories:&lt;/li&gt;
&lt;li&gt;Debugging&lt;/li&gt;
&lt;li&gt;Window manipulation&lt;/li&gt;
&lt;li&gt;Simulation of interaction&lt;/li&gt;
&lt;li&gt;Extended manipulation&lt;/li&gt;
&lt;li&gt;Hotkey daemon&lt;/li&gt;
&lt;li&gt;Layout manager&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://github.com/lattera/articles/blob/master/hardware/apu/2019-02-05_flashing_bios/article.md" target="_blank" rel="nofollow noopener"&gt;Flashing the BIOS on the PC Engines APU4c4&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I absolutely love the PC Engines APU devices. I use them for testing HardenedBSD experimental features in more constrained 64-bit environments and firewalls.  Their USB and mSATA ports have a few quirks, and I bumped up against a major quirk that required flashing a different BIOS as a workaround. This article details the hacky way in which I went about doing that.&lt;br&gt;
What prompted this article is that something in either the CAM or GEOM layer in FreeBSD 11.2 caused the mSATA to hang, preventing file writes. OPNsense 18.7 uses FreeBSD 11.1 whereas the recently-released OPNsense 19.1 uses HardenedBSD 11.2 (based on FreeBSD 11.2). I reached out to PC Engines directly, and they let me know that the issue is a known BIOS issue. Flashing the “legacy” BIOS series would provide me with a working system.&lt;br&gt;
It also just so happens that a new “legacy” BIOS version was just released which turns on ECC mode for the RAM. So, I get a working OPNsense install AND ECC RAM! I’ll have one bird for dinner, the other for dessert.&lt;br&gt;
Though I’m using an APU4, these instructions should work for the other APU devices. The BIOS ROM download URLs should be changed to reflect the device you’re targeting along with the BIOS version you wish to deploy.&lt;br&gt;
SPECIAL NOTE: There be dragons! I’m primarily writing this article to document the procedure for my own purposes. My memory tends to be pretty faulty these days. So, if something goes wrong, please do not hold me responsible. You’re the one at the keyboard. ;)&lt;br&gt;
VERY SPECIAL NOTE: We’ll use the mSATA drive for swap space, just in case. Should the swap space be used, it will destroy whatever is on the disk.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://komlositech.wordpress.com/2018/12/30/revive-a-cisco-ids-into-a-capable-openbsd-firewall/" target="_blank" rel="nofollow noopener"&gt;Revive a Cisco IDS into a capable OpenBSD computer!&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Even though Cisco equipment is very capable, it tends to become End-of-Life before you can say “planned obsolescence”. Websites become bigger, bandwidths increase, and as a side effect of those “improvements”, routers, firewalls, and in this case, intrusion prevention systems get old quicker and quicker.&lt;br&gt;
Apparently, this was also the case for the Cisco IDS-4215 Intrusion Detection Sensor that I was given a few months ago.&lt;br&gt;
I’m not too proud to admit that at first, I didn’t care about the machine itself, but rather about the add-on PCI network card with 4 Fast Ethernet interfaces. The sensor has obviously seen better days, as it had a broken front panel and needed some cleaning, but upon a closer inspection under the hood  (which is held closed by the 4 screws on top), this IDS consists of an embedded Celeron PC with two onboard Ethernet cards, a 2.5″ IDE hard disk, a CF card, and 2 PCI expansion slots (more on them later). Oh, and don’t forget the nasty server-grade fan, which pushed very little air for the noise it was making.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.tumfatig.net/20190215/an-openbsd-desktop-using-windowmaker/?utm_source=discoverbsd" target="_blank" rel="nofollow noopener"&gt;An OpenBSD desktop using WindowMaker&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Since I started using *N?X, I’ve regularly used WindowMaker. I’ve always liked the look and feel, the dock system and the dockapps. It may look a bit oldish nowadays. And that’s enough to try to change this. So here it is, a 2019 flavored WindowMaker Desktop, running on OpenBSD 6.4/amd64.&lt;br&gt;
This configuration uses the Nord color-scheme, the Adapta-Nokto-Eta GTK theme and the Moblin Unofficial Icons icon set. I did remove applications icons. I just don’t need them on the bottom of the screen as I heavily use “F11” to pop-up the windows list. To be able to do that and keep the dockapps, I tweaked my ~/GNUstep/Defaults/WMWindowAttributes and created a ~/GNUstep/Library/WindowMaker/Themes/Nord.themed/style.&lt;br&gt;
And here it is, the NeXT OpenBSD Desktop!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://fastcompression.blogspot.com/2019/01/opaque-types-and-static-allocation.html" target="_blank" rel="nofollow noopener"&gt;RealTime Data Compression&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In a previous episode, we’ve seen that it is possible to create opaque types. However, creation and destruction of such type must be delegated to some dedicated functions, which themselves rely on dynamic allocation mechanisms.&lt;br&gt;
Sometimes, it can be convenient to bypass the heap, and all its malloc() / free() shenanigans. Pushing a structure onto the stack, or within thread-local storage, are natural capabilities offered by a normal struct. It can be desirable at times.&lt;br&gt;
The previously described opaque type is so secret that it has no size, hence is not suitable for such scenario.&lt;br&gt;
Fortunately, static opaque types are possible.&lt;br&gt;
The main idea is to create a “shell type”, with a known size and an alignment, able to host the target (private) structure.&lt;br&gt;
For safer maintenance, the shell type and the target structure must be kept in sync, by using typically a static assert. It will ensure that the shell type is always large enough to host the target structure. This check is important to automatically detect future evolution of the target structure.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://blog.jessfraz.com/post/for-the-love-of-pipes/" target="_blank" rel="nofollow noopener"&gt;For the Love of Pipes&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;My top used shell command is |. This is called a pipe.&lt;br&gt;
In brief, the | allows for the output of one program (on the left) to become the input of another program (on the right). It is a way of connecting two commands together.&lt;br&gt;
According to &lt;a href="http://doc.cat-v.org/unix/pipes/" target="_blank" rel="nofollow noopener"&gt;doc.cat-v.org/unix/pipes/&lt;/a&gt;, the origin of pipes came long before Unix. Pipes can be traced back to this note from Doug McIlroy in 1964&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://scontent-iad3-1.xx.fbcdn.net/v/t1.0-9/52532824_10216880223150142_5567720793346932736_n.jpg?_nc_cat=100&amp;amp;_nc_ht=scontent-iad3-1.xx&amp;amp;oh=f4de0999bd268725b39969435c1e2d82&amp;amp;oe=5D23255E" target="_blank" rel="nofollow noopener"&gt;Installation Notes for NetBSD/i386 0.9&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://coypu.sdf.org/porting-zig.html" target="_blank" rel="nofollow noopener"&gt;Porting Zig to NetBSD - a fun, speedy port&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jarun/nnn/blob/master/README.md" target="_blank" rel="nofollow noopener"&gt;NNN - Tiny, lightning fast, feature-packed file manager Release v2.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/aioobe/eta" target="_blank" rel="nofollow noopener"&gt;eta - A tool for monitoring progress and ETA of an arbitrary process&lt;br&gt;
&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=OxB70pg5Tsg&amp;amp;feature=share" target="_blank" rel="nofollow noopener"&gt;A FreeBSD User Tries Out…NetBSD 8.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.grenadille.net/post/2019/02/18/Faster-vlan%284%29-forwarding" target="_blank" rel="nofollow noopener"&gt;Faster vlan(4) forwarding?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fuguita.org/" target="_blank" rel="nofollow noopener"&gt;FuguIta - OpenBSD 6.4 Live System&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chargen.one/steve/adding-name-based-hosting-to-nginx-on-openbsd-with-acme-client" target="_blank" rel="nofollow noopener"&gt;Adding Name-based hosting To Nginx on OpenBSD with Acme-Client&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://polprog.net/blog/netbsd-hax/" target="_blank" rel="nofollow noopener"&gt;HOWTO set up QEMU with HAXM acceleration on NetBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/current-users/2019/02/07/msg035054.html" target="_blank" rel="nofollow noopener"&gt;README: gcc 7 switch coming to a port near you!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##BUG Calendar&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ChiBUG, Chicago, USA: &lt;a href="https://chibug.org/" target="_blank" rel="nofollow noopener"&gt;Tuesday, February 26th 18:00 at the Oak Park Library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CharmBUG, Baltimore, USA: &lt;a href="https://www.meetup.com/CharmBUG/" target="_blank" rel="nofollow noopener"&gt;Wednesday, February 27, 2019&lt;br&gt;
19:30 at Columbia Ale House&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;NYC*BUG, New York, USA: &lt;a href="https://www.nycbug.org/index" target="_blank" rel="nofollow noopener"&gt;Wednesday, March 6, 2019 18:45 at Suspenders&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;KnoxBUG, Knoxville, USA: &lt;a href="http://knoxbug.org" target="_blank" rel="nofollow noopener"&gt;Monday, February 25, 2019 - 18:00 at iX Systems offices &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;BSDPL, Warsaw,  Poland: &lt;a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener"&gt;February 28, 2019 18:15 - 21:00 at Wheel Systems Office&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sam - &lt;a href="http://dpaste.com/2NP4VGE#wrap" target="_blank" rel="nofollow noopener"&gt;Customizing OpenBSD ports source code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Frank - &lt;a href="http://dpaste.com/1EHYHQ1#wrap" target="_blank" rel="nofollow noopener"&gt;Rivalry Linux &amp;amp; BSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Zach - &lt;a href="http://dpaste.com/13GGAED" target="_blank" rel="nofollow noopener"&gt;mysql/mariadb tuning&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;


    &lt;source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0286.mp4" type="video/mp4"&gt;
    Your browser does not support the HTML5 video tag.
 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Adding glue to a desktop environment, flashing the BIOS on a PC Engine, revive a Cisco IDS into a capable OpenBSD computer, An OpenBSD WindowMaker desktop, RealTime data compression, the love for pipes, and more. </p>

<p>##Headlines<br>
###<a href="https://venam.nixers.net/blog/unix/2019/01/07/win-automation.html" target="_blank" rel="nofollow noopener">Adding Glue To a Desktop Environment</a></p>

<blockquote>
<p>In this article we will put some light on a lot of tools used in the world of Unix desktop environment customization, particularly regarding wmctrl, wmutils, xev, xtruss, xwininfo, xprop, xdotools, xdo, sxhkd, xbindkeys, speckeysd, xchainkeys, alttab, triggerhappy, gTile, gidmgr, keynav, and more. If those don’t make sense then this article will help. Let’s hope this can open your mind to new possibilities.<br>
With that in mind we can wonder if what’s actually needed from a window manager, presentation and operation, can be split up and complemented with other tools. We can also start thinking laterally, the communication and interaction between the different components of the environment. We have the freedom to do so because the X protocol is transparent and components usually implement many standards for interfacing between windows. It’s like gluing parts together to create a desktop environment.</p>
</blockquote>

<ul>
<li>The tools we’ll talk about fall into one of those categories:</li>
<li>Debugging</li>
<li>Window manipulation</li>
<li>Simulation of interaction</li>
<li>Extended manipulation</li>
<li>Hotkey daemon</li>
<li>Layout manager</li>
</ul>

<hr>

<p>###<a href="https://github.com/lattera/articles/blob/master/hardware/apu/2019-02-05_flashing_bios/article.md" target="_blank" rel="nofollow noopener">Flashing the BIOS on the PC Engines APU4c4</a></p>

<blockquote>
<p>I absolutely love the PC Engines APU devices. I use them for testing HardenedBSD experimental features in more constrained 64-bit environments and firewalls.  Their USB and mSATA ports have a few quirks, and I bumped up against a major quirk that required flashing a different BIOS as a workaround. This article details the hacky way in which I went about doing that.<br>
What prompted this article is that something in either the CAM or GEOM layer in FreeBSD 11.2 caused the mSATA to hang, preventing file writes. OPNsense 18.7 uses FreeBSD 11.1 whereas the recently-released OPNsense 19.1 uses HardenedBSD 11.2 (based on FreeBSD 11.2). I reached out to PC Engines directly, and they let me know that the issue is a known BIOS issue. Flashing the “legacy” BIOS series would provide me with a working system.<br>
It also just so happens that a new “legacy” BIOS version was just released which turns on ECC mode for the RAM. So, I get a working OPNsense install AND ECC RAM! I’ll have one bird for dinner, the other for dessert.<br>
Though I’m using an APU4, these instructions should work for the other APU devices. The BIOS ROM download URLs should be changed to reflect the device you’re targeting along with the BIOS version you wish to deploy.<br>
SPECIAL NOTE: There be dragons! I’m primarily writing this article to document the procedure for my own purposes. My memory tends to be pretty faulty these days. So, if something goes wrong, please do not hold me responsible. You’re the one at the keyboard. ;)<br>
VERY SPECIAL NOTE: We’ll use the mSATA drive for swap space, just in case. Should the swap space be used, it will destroy whatever is on the disk.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://komlositech.wordpress.com/2018/12/30/revive-a-cisco-ids-into-a-capable-openbsd-firewall/" target="_blank" rel="nofollow noopener">Revive a Cisco IDS into a capable OpenBSD computer!</a></p>

<blockquote>
<p>Even though Cisco equipment is very capable, it tends to become End-of-Life before you can say “planned obsolescence”. Websites become bigger, bandwidths increase, and as a side effect of those “improvements”, routers, firewalls, and in this case, intrusion prevention systems get old quicker and quicker.<br>
Apparently, this was also the case for the Cisco IDS-4215 Intrusion Detection Sensor that I was given a few months ago.<br>
I’m not too proud to admit that at first, I didn’t care about the machine itself, but rather about the add-on PCI network card with 4 Fast Ethernet interfaces. The sensor has obviously seen better days, as it had a broken front panel and needed some cleaning, but upon a closer inspection under the hood  (which is held closed by the 4 screws on top), this IDS consists of an embedded Celeron PC with two onboard Ethernet cards, a 2.5″ IDE hard disk, a CF card, and 2 PCI expansion slots (more on them later). Oh, and don’t forget the nasty server-grade fan, which pushed very little air for the noise it was making.</p>
</blockquote>

<hr>

<p>###<a href="https://www.tumfatig.net/20190215/an-openbsd-desktop-using-windowmaker/?utm_source=discoverbsd" target="_blank" rel="nofollow noopener">An OpenBSD desktop using WindowMaker</a></p>

<blockquote>
<p>Since I started using *N?X, I’ve regularly used WindowMaker. I’ve always liked the look and feel, the dock system and the dockapps. It may look a bit oldish nowadays. And that’s enough to try to change this. So here it is, a 2019 flavored WindowMaker Desktop, running on OpenBSD 6.4/amd64.<br>
This configuration uses the Nord color-scheme, the Adapta-Nokto-Eta GTK theme and the Moblin Unofficial Icons icon set. I did remove applications icons. I just don’t need them on the bottom of the screen as I heavily use “F11” to pop-up the windows list. To be able to do that and keep the dockapps, I tweaked my ~/GNUstep/Defaults/WMWindowAttributes and created a ~/GNUstep/Library/WindowMaker/Themes/Nord.themed/style.<br>
And here it is, the NeXT OpenBSD Desktop!</p>
</blockquote>

<hr>

<p>###<a href="https://fastcompression.blogspot.com/2019/01/opaque-types-and-static-allocation.html" target="_blank" rel="nofollow noopener">RealTime Data Compression</a></p>

<blockquote>
<p>In a previous episode, we’ve seen that it is possible to create opaque types. However, creation and destruction of such type must be delegated to some dedicated functions, which themselves rely on dynamic allocation mechanisms.<br>
Sometimes, it can be convenient to bypass the heap, and all its malloc() / free() shenanigans. Pushing a structure onto the stack, or within thread-local storage, are natural capabilities offered by a normal struct. It can be desirable at times.<br>
The previously described opaque type is so secret that it has no size, hence is not suitable for such scenario.<br>
Fortunately, static opaque types are possible.<br>
The main idea is to create a “shell type”, with a known size and an alignment, able to host the target (private) structure.<br>
For safer maintenance, the shell type and the target structure must be kept in sync, by using typically a static assert. It will ensure that the shell type is always large enough to host the target structure. This check is important to automatically detect future evolution of the target structure.</p>
</blockquote>

<hr>

<p>###<a href="https://blog.jessfraz.com/post/for-the-love-of-pipes/" target="_blank" rel="nofollow noopener">For the Love of Pipes</a></p>

<blockquote>
<p>My top used shell command is |. This is called a pipe.<br>
In brief, the | allows for the output of one program (on the left) to become the input of another program (on the right). It is a way of connecting two commands together.<br>
According to <a href="http://doc.cat-v.org/unix/pipes/" target="_blank" rel="nofollow noopener">doc.cat-v.org/unix/pipes/</a>, the origin of pipes came long before Unix. Pipes can be traced back to this note from Doug McIlroy in 1964</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://scontent-iad3-1.xx.fbcdn.net/v/t1.0-9/52532824_10216880223150142_5567720793346932736_n.jpg?_nc_cat=100&amp;_nc_ht=scontent-iad3-1.xx&amp;oh=f4de0999bd268725b39969435c1e2d82&amp;oe=5D23255E" target="_blank" rel="nofollow noopener">Installation Notes for NetBSD/i386 0.9</a></li>
<li><a href="http://coypu.sdf.org/porting-zig.html" target="_blank" rel="nofollow noopener">Porting Zig to NetBSD - a fun, speedy port</a></li>
<li><a href="https://github.com/jarun/nnn/blob/master/README.md" target="_blank" rel="nofollow noopener">NNN - Tiny, lightning fast, feature-packed file manager Release v2.3</a></li>
<li><a href="https://github.com/aioobe/eta" target="_blank" rel="nofollow noopener">eta - A tool for monitoring progress and ETA of an arbitrary process<br>
</a></li>
<li><a href="https://www.youtube.com/watch?v=OxB70pg5Tsg&amp;feature=share" target="_blank" rel="nofollow noopener">A FreeBSD User Tries Out…NetBSD 8.0</a></li>
<li><a href="http://www.grenadille.net/post/2019/02/18/Faster-vlan%284%29-forwarding" target="_blank" rel="nofollow noopener">Faster vlan(4) forwarding?</a></li>
<li><a href="http://fuguita.org/" target="_blank" rel="nofollow noopener">FuguIta - OpenBSD 6.4 Live System</a></li>
<li><a href="https://chargen.one/steve/adding-name-based-hosting-to-nginx-on-openbsd-with-acme-client" target="_blank" rel="nofollow noopener">Adding Name-based hosting To Nginx on OpenBSD with Acme-Client</a></li>
<li><a href="http://polprog.net/blog/netbsd-hax/" target="_blank" rel="nofollow noopener">HOWTO set up QEMU with HAXM acceleration on NetBSD</a></li>
<li><a href="https://mail-index.netbsd.org/current-users/2019/02/07/msg035054.html" target="_blank" rel="nofollow noopener">README: gcc 7 switch coming to a port near you!</a></li>
</ul>

<hr>

<p>##BUG Calendar</p>

<ul>
<li>ChiBUG, Chicago, USA: <a href="https://chibug.org/" target="_blank" rel="nofollow noopener">Tuesday, February 26th 18:00 at the Oak Park Library</a></li>
<li>CharmBUG, Baltimore, USA: <a href="https://www.meetup.com/CharmBUG/" target="_blank" rel="nofollow noopener">Wednesday, February 27, 2019<br>
19:30 at Columbia Ale House</a></li>
<li>NYC*BUG, New York, USA: <a href="https://www.nycbug.org/index" target="_blank" rel="nofollow noopener">Wednesday, March 6, 2019 18:45 at Suspenders</a></li>
<li>KnoxBUG, Knoxville, USA: <a href="http://knoxbug.org" target="_blank" rel="nofollow noopener">Monday, February 25, 2019 - 18:00 at iX Systems offices </a></li>
<li>BSDPL, Warsaw,  Poland: <a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">February 28, 2019 18:15 - 21:00 at Wheel Systems Office</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Sam - <a href="http://dpaste.com/2NP4VGE#wrap" target="_blank" rel="nofollow noopener">Customizing OpenBSD ports source code</a></li>
<li>Frank - <a href="http://dpaste.com/1EHYHQ1#wrap" target="_blank" rel="nofollow noopener">Rivalry Linux &amp; BSD</a></li>
<li>Zach - <a href="http://dpaste.com/13GGAED" target="_blank" rel="nofollow noopener">mysql/mariadb tuning</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0286.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Adding glue to a desktop environment, flashing the BIOS on a PC Engine, revive a Cisco IDS into a capable OpenBSD computer, An OpenBSD WindowMaker desktop, RealTime data compression, the love for pipes, and more. </p>

<p>##Headlines<br>
###<a href="https://venam.nixers.net/blog/unix/2019/01/07/win-automation.html" target="_blank" rel="nofollow noopener">Adding Glue To a Desktop Environment</a></p>

<blockquote>
<p>In this article we will put some light on a lot of tools used in the world of Unix desktop environment customization, particularly regarding wmctrl, wmutils, xev, xtruss, xwininfo, xprop, xdotools, xdo, sxhkd, xbindkeys, speckeysd, xchainkeys, alttab, triggerhappy, gTile, gidmgr, keynav, and more. If those don’t make sense then this article will help. Let’s hope this can open your mind to new possibilities.<br>
With that in mind we can wonder if what’s actually needed from a window manager, presentation and operation, can be split up and complemented with other tools. We can also start thinking laterally, the communication and interaction between the different components of the environment. We have the freedom to do so because the X protocol is transparent and components usually implement many standards for interfacing between windows. It’s like gluing parts together to create a desktop environment.</p>
</blockquote>

<ul>
<li>The tools we’ll talk about fall into one of those categories:</li>
<li>Debugging</li>
<li>Window manipulation</li>
<li>Simulation of interaction</li>
<li>Extended manipulation</li>
<li>Hotkey daemon</li>
<li>Layout manager</li>
</ul>

<hr>

<p>###<a href="https://github.com/lattera/articles/blob/master/hardware/apu/2019-02-05_flashing_bios/article.md" target="_blank" rel="nofollow noopener">Flashing the BIOS on the PC Engines APU4c4</a></p>

<blockquote>
<p>I absolutely love the PC Engines APU devices. I use them for testing HardenedBSD experimental features in more constrained 64-bit environments and firewalls.  Their USB and mSATA ports have a few quirks, and I bumped up against a major quirk that required flashing a different BIOS as a workaround. This article details the hacky way in which I went about doing that.<br>
What prompted this article is that something in either the CAM or GEOM layer in FreeBSD 11.2 caused the mSATA to hang, preventing file writes. OPNsense 18.7 uses FreeBSD 11.1 whereas the recently-released OPNsense 19.1 uses HardenedBSD 11.2 (based on FreeBSD 11.2). I reached out to PC Engines directly, and they let me know that the issue is a known BIOS issue. Flashing the “legacy” BIOS series would provide me with a working system.<br>
It also just so happens that a new “legacy” BIOS version was just released which turns on ECC mode for the RAM. So, I get a working OPNsense install AND ECC RAM! I’ll have one bird for dinner, the other for dessert.<br>
Though I’m using an APU4, these instructions should work for the other APU devices. The BIOS ROM download URLs should be changed to reflect the device you’re targeting along with the BIOS version you wish to deploy.<br>
SPECIAL NOTE: There be dragons! I’m primarily writing this article to document the procedure for my own purposes. My memory tends to be pretty faulty these days. So, if something goes wrong, please do not hold me responsible. You’re the one at the keyboard. ;)<br>
VERY SPECIAL NOTE: We’ll use the mSATA drive for swap space, just in case. Should the swap space be used, it will destroy whatever is on the disk.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://komlositech.wordpress.com/2018/12/30/revive-a-cisco-ids-into-a-capable-openbsd-firewall/" target="_blank" rel="nofollow noopener">Revive a Cisco IDS into a capable OpenBSD computer!</a></p>

<blockquote>
<p>Even though Cisco equipment is very capable, it tends to become End-of-Life before you can say “planned obsolescence”. Websites become bigger, bandwidths increase, and as a side effect of those “improvements”, routers, firewalls, and in this case, intrusion prevention systems get old quicker and quicker.<br>
Apparently, this was also the case for the Cisco IDS-4215 Intrusion Detection Sensor that I was given a few months ago.<br>
I’m not too proud to admit that at first, I didn’t care about the machine itself, but rather about the add-on PCI network card with 4 Fast Ethernet interfaces. The sensor has obviously seen better days, as it had a broken front panel and needed some cleaning, but upon a closer inspection under the hood  (which is held closed by the 4 screws on top), this IDS consists of an embedded Celeron PC with two onboard Ethernet cards, a 2.5″ IDE hard disk, a CF card, and 2 PCI expansion slots (more on them later). Oh, and don’t forget the nasty server-grade fan, which pushed very little air for the noise it was making.</p>
</blockquote>

<hr>

<p>###<a href="https://www.tumfatig.net/20190215/an-openbsd-desktop-using-windowmaker/?utm_source=discoverbsd" target="_blank" rel="nofollow noopener">An OpenBSD desktop using WindowMaker</a></p>

<blockquote>
<p>Since I started using *N?X, I’ve regularly used WindowMaker. I’ve always liked the look and feel, the dock system and the dockapps. It may look a bit oldish nowadays. And that’s enough to try to change this. So here it is, a 2019 flavored WindowMaker Desktop, running on OpenBSD 6.4/amd64.<br>
This configuration uses the Nord color-scheme, the Adapta-Nokto-Eta GTK theme and the Moblin Unofficial Icons icon set. I did remove applications icons. I just don’t need them on the bottom of the screen as I heavily use “F11” to pop-up the windows list. To be able to do that and keep the dockapps, I tweaked my ~/GNUstep/Defaults/WMWindowAttributes and created a ~/GNUstep/Library/WindowMaker/Themes/Nord.themed/style.<br>
And here it is, the NeXT OpenBSD Desktop!</p>
</blockquote>

<hr>

<p>###<a href="https://fastcompression.blogspot.com/2019/01/opaque-types-and-static-allocation.html" target="_blank" rel="nofollow noopener">RealTime Data Compression</a></p>

<blockquote>
<p>In a previous episode, we’ve seen that it is possible to create opaque types. However, creation and destruction of such type must be delegated to some dedicated functions, which themselves rely on dynamic allocation mechanisms.<br>
Sometimes, it can be convenient to bypass the heap, and all its malloc() / free() shenanigans. Pushing a structure onto the stack, or within thread-local storage, are natural capabilities offered by a normal struct. It can be desirable at times.<br>
The previously described opaque type is so secret that it has no size, hence is not suitable for such scenario.<br>
Fortunately, static opaque types are possible.<br>
The main idea is to create a “shell type”, with a known size and an alignment, able to host the target (private) structure.<br>
For safer maintenance, the shell type and the target structure must be kept in sync, by using typically a static assert. It will ensure that the shell type is always large enough to host the target structure. This check is important to automatically detect future evolution of the target structure.</p>
</blockquote>

<hr>

<p>###<a href="https://blog.jessfraz.com/post/for-the-love-of-pipes/" target="_blank" rel="nofollow noopener">For the Love of Pipes</a></p>

<blockquote>
<p>My top used shell command is |. This is called a pipe.<br>
In brief, the | allows for the output of one program (on the left) to become the input of another program (on the right). It is a way of connecting two commands together.<br>
According to <a href="http://doc.cat-v.org/unix/pipes/" target="_blank" rel="nofollow noopener">doc.cat-v.org/unix/pipes/</a>, the origin of pipes came long before Unix. Pipes can be traced back to this note from Doug McIlroy in 1964</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://scontent-iad3-1.xx.fbcdn.net/v/t1.0-9/52532824_10216880223150142_5567720793346932736_n.jpg?_nc_cat=100&amp;_nc_ht=scontent-iad3-1.xx&amp;oh=f4de0999bd268725b39969435c1e2d82&amp;oe=5D23255E" target="_blank" rel="nofollow noopener">Installation Notes for NetBSD/i386 0.9</a></li>
<li><a href="http://coypu.sdf.org/porting-zig.html" target="_blank" rel="nofollow noopener">Porting Zig to NetBSD - a fun, speedy port</a></li>
<li><a href="https://github.com/jarun/nnn/blob/master/README.md" target="_blank" rel="nofollow noopener">NNN - Tiny, lightning fast, feature-packed file manager Release v2.3</a></li>
<li><a href="https://github.com/aioobe/eta" target="_blank" rel="nofollow noopener">eta - A tool for monitoring progress and ETA of an arbitrary process<br>
</a></li>
<li><a href="https://www.youtube.com/watch?v=OxB70pg5Tsg&amp;feature=share" target="_blank" rel="nofollow noopener">A FreeBSD User Tries Out…NetBSD 8.0</a></li>
<li><a href="http://www.grenadille.net/post/2019/02/18/Faster-vlan%284%29-forwarding" target="_blank" rel="nofollow noopener">Faster vlan(4) forwarding?</a></li>
<li><a href="http://fuguita.org/" target="_blank" rel="nofollow noopener">FuguIta - OpenBSD 6.4 Live System</a></li>
<li><a href="https://chargen.one/steve/adding-name-based-hosting-to-nginx-on-openbsd-with-acme-client" target="_blank" rel="nofollow noopener">Adding Name-based hosting To Nginx on OpenBSD with Acme-Client</a></li>
<li><a href="http://polprog.net/blog/netbsd-hax/" target="_blank" rel="nofollow noopener">HOWTO set up QEMU with HAXM acceleration on NetBSD</a></li>
<li><a href="https://mail-index.netbsd.org/current-users/2019/02/07/msg035054.html" target="_blank" rel="nofollow noopener">README: gcc 7 switch coming to a port near you!</a></li>
</ul>

<hr>

<p>##BUG Calendar</p>

<ul>
<li>ChiBUG, Chicago, USA: <a href="https://chibug.org/" target="_blank" rel="nofollow noopener">Tuesday, February 26th 18:00 at the Oak Park Library</a></li>
<li>CharmBUG, Baltimore, USA: <a href="https://www.meetup.com/CharmBUG/" target="_blank" rel="nofollow noopener">Wednesday, February 27, 2019<br>
19:30 at Columbia Ale House</a></li>
<li>NYC*BUG, New York, USA: <a href="https://www.nycbug.org/index" target="_blank" rel="nofollow noopener">Wednesday, March 6, 2019 18:45 at Suspenders</a></li>
<li>KnoxBUG, Knoxville, USA: <a href="http://knoxbug.org" target="_blank" rel="nofollow noopener">Monday, February 25, 2019 - 18:00 at iX Systems offices </a></li>
<li>BSDPL, Warsaw,  Poland: <a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">February 28, 2019 18:15 - 21:00 at Wheel Systems Office</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Sam - <a href="http://dpaste.com/2NP4VGE#wrap" target="_blank" rel="nofollow noopener">Customizing OpenBSD ports source code</a></li>
<li>Frank - <a href="http://dpaste.com/1EHYHQ1#wrap" target="_blank" rel="nofollow noopener">Rivalry Linux &amp; BSD</a></li>
<li>Zach - <a href="http://dpaste.com/13GGAED" target="_blank" rel="nofollow noopener">mysql/mariadb tuning</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>


    <source src="http://201406.jb-dl.cdn.scaleengine.net/bsdnow/2019/bsd-0286.mp4" type="video/mp4">
    Your browser does not support the HTML5 video tag.
]]>
  </itunes:summary>
</item>
<item>
  <title>285: BSD Strategy</title>
  <link>https://www.bsdnow.tv/285</link>
  <guid isPermaLink="false">b54701c7-6556-42b3-804d-79a1bf9c6bbe</guid>
  <pubDate>Thu, 14 Feb 2019 10:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b54701c7-6556-42b3-804d-79a1bf9c6bbe.mp3" length="41912862" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Strategic thinking to keep FreeBSD relevant, reflecting on the soul of a new machine, 10GbE Benchmarks On Nine Linux Distros and FreeBSD, NetBSD integrating LLVM sanitizers in base, FreeNAS 11.2 distrowatch review, and more.</itunes:subtitle>
  <itunes:duration>1:09:32</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>&lt;p&gt;Strategic thinking to keep FreeBSD relevant, reflecting on the soul of a new machine, 10GbE Benchmarks On Nine Linux Distros and FreeBSD, NetBSD integrating LLVM sanitizers in base, FreeNAS 11.2 distrowatch review, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="http://www.leidinger.net/blog/2019/01/27/strategic-thinking-or-what-i-think-what-we-need-to-do-to-keep-freebsd-relevant/" target="_blank" rel="nofollow noopener"&gt;Strategic thinking, or what I think what we need to do to keep FreeBSD relevant&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Since I participate in the FreeBSD project there are from time to time some voices which say FreeBSD is dead, Linux is the way to go. Most of the time those voices are trolls, or people which do not really know what FreeBSD has to offer. Sometimes those voices wear blinders, they only see their own little world (were Linux just works fine) and do not see the big picture (like e.g. competition stimulates business, …) or even dare to look what FreeBSD has to offer.&lt;br&gt;
Sometimes those voices raise a valid concern, and it is up to the FreeBSD project to filter out what would be beneficial. Recently there were some mails on the FreeBSD lists in the sense of “What about going into direction X?”. Some people just had the opinion that we should stay where we are. In my opinion this is similarly bad to blindly saying FreeBSD is dead and following the masses. It would mean stagnation. We should not hold people back in exploring new / different directions. Someone wants to write a kernel module in (a subset of) C++ or in Rust… well, go ahead, give it a try, we can put it into the Ports Collection and let people get experience with it.&lt;br&gt;
This discussion on the mailinglists also triggered some kind of “where do we see us in the next years” / strategic thinking reflection. What I present here, is my very own opinion about things we in the FreeBSD project should look at, to stay relevant in the long term. To be able to put that into scope, I need to clarify what “relevant” means in this case.&lt;br&gt;
FreeBSD is currently used by companies like Netflix, NetApp, Cisco, Juniper, and many others as a base for products or services. It is also used by end‐users as a work‐horse (e.g. mailservers, webservers, …). Staying relevant means in this context, to provide something which the user base is interested in to use and which makes it more easy / fast for the user base to deliver whatever they want or need to deliver than with another kind of system. And this in terms of time to market of a solution (time to deliver a service like a web‐/mail‐/whatever‐server or product), and in terms of performance (which not only means speed, but also security and reliability and …) of the solution.&lt;br&gt;
I have categorized the list of items I think are important into (new) code/features, docs, polishing and project infrastructure. Links in the following usually point to documentation/HOWTOs/experiences for/with FreeBSD, and not to the canonical entry points of the projects or technologies. In a few cases the links point to an explanation in the wikipedia or to the website of the topic in question.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="http://dtrace.org/blogs/bmc/2019/02/10/reflecting-on-the-soul-of-a-new-machine/" target="_blank" rel="nofollow noopener"&gt;Reflecting on The Soul of a New Machine&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Long ago as an undergraduate, I found myself back home on a break from school, bored and with eyes wandering idly across a family bookshelf. At school, I had started to find a calling in computing systems, and now in the den, an old book suddenly caught my eye: Tracy Kidder’s The Soul of a New Machine. Taking it off the shelf, the book grabbed me from its first descriptions of Tom West, captivating me with the epic tale of the development of the Eagle at Data General. I — like so many before and after me — found the book to be life changing: by telling the stories of the people behind the machine, the book showed the creative passion among engineers that might otherwise appear anodyne, inspiring me to chart a course that might one day allow me to make a similar mark.&lt;br&gt;
Since reading it over two decades ago, I have recommended The Soul of a Machine at essentially every opportunity, believing that it is a part of computing’s literary foundation — that it should be considered our Odyssey. Recently, I suggested it as beach reading to Jess Frazelle, and apparently with perfect timing: when I saw the book at the top of her vacation pile, I knew a fuse had been lit. I was delighted (though not at all surprised) to see Jess livetweet her admiration of the book, starting with the compelling prose, the lucid technical explanations and the visceral anecdotes — but then moving on to the deeper technical inspiration she found in the book. And as she reached the book’s crescendo, Jess felt its full power, causing her to reflect on the nature of engineering motivation.&lt;br&gt;
Excited to see the effect of the book on Jess, I experienced a kind of reflected recommendation: I was inspired to (re-)read my own recommendation! Shortly after I started reading, I began to realize that (contrary to what I had been telling myself over the years!) I had not re-read the book in full since that first reading so many years ago. Rather, over the years I had merely revisited those sections that I remembered fondly. On the one hand, these sections are singular: the saga of engineers debugging a nasty I-cache data corruption issue; the young engineer who implements the simulator in an impossibly short amount of time because no one wanted to tell him that he was being impossibly ambitious; the engineer who, frustrated with a nanosecond-scale timing problem in the ALU that he designed, moved to a commune in Vermont, claiming a desire to deal with “no unit of time shorter than a season”. But by limiting myself to these passages, I was succumbing to the selection bias of my much younger self; re-reading the book now from start to finish has given new parts depth and meaning. Aspects that were more abstract to me as an undergraduate — from the organizational rivalries and absurdities of the industry to the complexities of West’s character and the tribulations of the team down the stretch — are now deeply evocative of concrete episodes of my own career.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See Article for rest…&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://www.phoronix.com/scan.php?page=article&amp;amp;item=10gbe-linux-freebsd12&amp;amp;num=1" target="_blank" rel="nofollow noopener"&gt;Out-Of-The-Box 10GbE Network Benchmarks On Nine Linux Distributions Plus FreeBSD 12&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Last week I started running some fresh 10GbE Linux networking performance benchmarks across a few different Linux distributions. That testing has now been extended to cover nine Linux distributions plus FreeBSD 12.0 to compare the out-of-the-box networking performance.&lt;br&gt;
Tested this round alongside FreeBSD 12.0 was Antergos 19.1, CentOS 7, Clear Linux, Debian 9.6, Fedora Server 29, openSUSE Leap 15.0, openSUSE Tumbleweed, Ubuntu 18.04.1 LTS, and Ubuntu 18.10.&lt;br&gt;
All of the tests were done with a Tyan S7106 1U server featuring two Intel Xeon Gold 6138 CPUs, 96GB of DDR4 system memory, and Samsung 970 EVO SSD. For the 10GbE connectivity on this server was an add-in HP NC523SFP PCIe adapter providing two 10Gb SPF+ ports using a QLogic 8214 controller.&lt;br&gt;
Originally the plan as well was to include Windows Server 2016/2019. Unfortunately the QLogic driver download site was malfunctioning since Cavium’s acquisition of the company and the other Windows Server 2016 driver options not panning out and there not being a Windows Server 2019 option. So sadly that Windows testing was thwarted so I since started testing over with a Mellanox Connectx-2 10GbE NIC, which is well supported on Windows Server and so that testing is ongoing for the next article of Windows vs. Linux 10 Gigabit network performance plus some “tuned” Linux networking results too.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://blog.netbsd.org/tnf/entry/integration_of_the_llvm_sanitziers" target="_blank" rel="nofollow noopener"&gt;Integration of the LLVM sanitizers with the NetBSD base system&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Over the past month I’ve merged the LLVM compiler-rt sanitizers (LLVM svn r350590) with the base system. I’ve also managed to get a functional set of Makefile rules to build all of them, namely:&lt;br&gt;
ASan, UBSan, TSan, MSan, libFuzzer, SafeStack, XRay.&lt;br&gt;
In all supported variations and modes that are supported by the original LLVM compiler-rt package.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://distrowatch.com/weekly.php?issue=20190204#freenas" target="_blank" rel="nofollow noopener"&gt;Distrowatch FreeNAS 11.2 review&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The project’s latest release is FreeNAS 11.2 and, at first, I nearly overlooked the new version because it appeared to be a minor point release. However, a lot of work went into the new version and 11.2 offers a lot of changes when compared next to 11.1, “including a major revamp of the web interface, support for self-encrypting drives, and new, backwards-compatible REST and WebSocket APIs. This update also introduces iocage for improved plugins and jails management and simplified plugin development.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gist.github.com/zeising/5d2402d92b4cf421c7402d663b2d9e41" target="_blank" rel="nofollow noopener"&gt;Instructions for installing rEFInd to dual boot a computer with FreeBSD and windows (and possibly other OSes as well).&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.unitedbsd.com/d/12-netbsd-desktop-pt-6-vi1-editor-tmux-and-unicode-term" target="_blank" rel="nofollow noopener"&gt;NetBSD desktop pt.6: “vi(1) editor, tmux and unicode $TERM”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.geekrant.org/2005/04/01/unix-flowers/" target="_blank" rel="nofollow noopener"&gt;Unix flowers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://oshogbo.vexillium.org/blog/62/" target="_blank" rel="nofollow noopener"&gt;FreeBSD upgrade procedure using GPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chargen.one/steve/backups-on-chargen-one" target="_blank" rel="nofollow noopener"&gt;Pull-based Backups using OpenBSD base*&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ozaki-r/netbsd-src/tree/wireguard" target="_blank" rel="nofollow noopener"&gt;Developing WireGuard for NetBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://zfs.datto.com/" target="_blank" rel="nofollow noopener"&gt;OpenZFS User Conference, April 18-19, Norwalk CT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://knoxbug.org/2019-02-25" target="_blank" rel="nofollow noopener"&gt;KnoxBug Feb 25th&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jake - &lt;a href="http://dpaste.com/3X7KVVX#wrap" target="_blank" rel="nofollow noopener"&gt;C Programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Farhan - &lt;a href="http://dpaste.com/067WW0P" target="_blank" rel="nofollow noopener"&gt;Explanation of rtadvd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Nelson - &lt;a href="http://dpaste.com/2BYGFSV" target="_blank" rel="nofollow noopener"&gt;Bug Bounties on Open-Source Software&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Strategic thinking to keep FreeBSD relevant, reflecting on the soul of a new machine, 10GbE Benchmarks On Nine Linux Distros and FreeBSD, NetBSD integrating LLVM sanitizers in base, FreeNAS 11.2 distrowatch review, and more.</p>

<p>##Headlines<br>
###<a href="http://www.leidinger.net/blog/2019/01/27/strategic-thinking-or-what-i-think-what-we-need-to-do-to-keep-freebsd-relevant/" target="_blank" rel="nofollow noopener">Strategic thinking, or what I think what we need to do to keep FreeBSD relevant</a></p>

<blockquote>
<p>Since I participate in the FreeBSD project there are from time to time some voices which say FreeBSD is dead, Linux is the way to go. Most of the time those voices are trolls, or people which do not really know what FreeBSD has to offer. Sometimes those voices wear blinders, they only see their own little world (were Linux just works fine) and do not see the big picture (like e.g. competition stimulates business, …) or even dare to look what FreeBSD has to offer.<br>
Sometimes those voices raise a valid concern, and it is up to the FreeBSD project to filter out what would be beneficial. Recently there were some mails on the FreeBSD lists in the sense of “What about going into direction X?”. Some people just had the opinion that we should stay where we are. In my opinion this is similarly bad to blindly saying FreeBSD is dead and following the masses. It would mean stagnation. We should not hold people back in exploring new / different directions. Someone wants to write a kernel module in (a subset of) C++ or in Rust… well, go ahead, give it a try, we can put it into the Ports Collection and let people get experience with it.<br>
This discussion on the mailinglists also triggered some kind of “where do we see us in the next years” / strategic thinking reflection. What I present here, is my very own opinion about things we in the FreeBSD project should look at, to stay relevant in the long term. To be able to put that into scope, I need to clarify what “relevant” means in this case.<br>
FreeBSD is currently used by companies like Netflix, NetApp, Cisco, Juniper, and many others as a base for products or services. It is also used by end‐users as a work‐horse (e.g. mailservers, webservers, …). Staying relevant means in this context, to provide something which the user base is interested in to use and which makes it more easy / fast for the user base to deliver whatever they want or need to deliver than with another kind of system. And this in terms of time to market of a solution (time to deliver a service like a web‐/mail‐/whatever‐server or product), and in terms of performance (which not only means speed, but also security and reliability and …) of the solution.<br>
I have categorized the list of items I think are important into (new) code/features, docs, polishing and project infrastructure. Links in the following usually point to documentation/HOWTOs/experiences for/with FreeBSD, and not to the canonical entry points of the projects or technologies. In a few cases the links point to an explanation in the wikipedia or to the website of the topic in question.</p>
</blockquote>

<hr>

<p>###<a href="http://dtrace.org/blogs/bmc/2019/02/10/reflecting-on-the-soul-of-a-new-machine/" target="_blank" rel="nofollow noopener">Reflecting on The Soul of a New Machine</a></p>

<blockquote>
<p>Long ago as an undergraduate, I found myself back home on a break from school, bored and with eyes wandering idly across a family bookshelf. At school, I had started to find a calling in computing systems, and now in the den, an old book suddenly caught my eye: Tracy Kidder’s The Soul of a New Machine. Taking it off the shelf, the book grabbed me from its first descriptions of Tom West, captivating me with the epic tale of the development of the Eagle at Data General. I — like so many before and after me — found the book to be life changing: by telling the stories of the people behind the machine, the book showed the creative passion among engineers that might otherwise appear anodyne, inspiring me to chart a course that might one day allow me to make a similar mark.<br>
Since reading it over two decades ago, I have recommended The Soul of a Machine at essentially every opportunity, believing that it is a part of computing’s literary foundation — that it should be considered our Odyssey. Recently, I suggested it as beach reading to Jess Frazelle, and apparently with perfect timing: when I saw the book at the top of her vacation pile, I knew a fuse had been lit. I was delighted (though not at all surprised) to see Jess livetweet her admiration of the book, starting with the compelling prose, the lucid technical explanations and the visceral anecdotes — but then moving on to the deeper technical inspiration she found in the book. And as she reached the book’s crescendo, Jess felt its full power, causing her to reflect on the nature of engineering motivation.<br>
Excited to see the effect of the book on Jess, I experienced a kind of reflected recommendation: I was inspired to (re-)read my own recommendation! Shortly after I started reading, I began to realize that (contrary to what I had been telling myself over the years!) I had not re-read the book in full since that first reading so many years ago. Rather, over the years I had merely revisited those sections that I remembered fondly. On the one hand, these sections are singular: the saga of engineers debugging a nasty I-cache data corruption issue; the young engineer who implements the simulator in an impossibly short amount of time because no one wanted to tell him that he was being impossibly ambitious; the engineer who, frustrated with a nanosecond-scale timing problem in the ALU that he designed, moved to a commune in Vermont, claiming a desire to deal with “no unit of time shorter than a season”. But by limiting myself to these passages, I was succumbing to the selection bias of my much younger self; re-reading the book now from start to finish has given new parts depth and meaning. Aspects that were more abstract to me as an undergraduate — from the organizational rivalries and absurdities of the industry to the complexities of West’s character and the tribulations of the team down the stretch — are now deeply evocative of concrete episodes of my own career.</p>
</blockquote>

<ul>
<li>See Article for rest…</li>
</ul>

<hr>

<p>##News Roundup</p>

<p>###<a href="https://www.phoronix.com/scan.php?page=article&amp;item=10gbe-linux-freebsd12&amp;num=1" target="_blank" rel="nofollow noopener">Out-Of-The-Box 10GbE Network Benchmarks On Nine Linux Distributions Plus FreeBSD 12</a></p>

<blockquote>
<p>Last week I started running some fresh 10GbE Linux networking performance benchmarks across a few different Linux distributions. That testing has now been extended to cover nine Linux distributions plus FreeBSD 12.0 to compare the out-of-the-box networking performance.<br>
Tested this round alongside FreeBSD 12.0 was Antergos 19.1, CentOS 7, Clear Linux, Debian 9.6, Fedora Server 29, openSUSE Leap 15.0, openSUSE Tumbleweed, Ubuntu 18.04.1 LTS, and Ubuntu 18.10.<br>
All of the tests were done with a Tyan S7106 1U server featuring two Intel Xeon Gold 6138 CPUs, 96GB of DDR4 system memory, and Samsung 970 EVO SSD. For the 10GbE connectivity on this server was an add-in HP NC523SFP PCIe adapter providing two 10Gb SPF+ ports using a QLogic 8214 controller.<br>
Originally the plan as well was to include Windows Server 2016/2019. Unfortunately the QLogic driver download site was malfunctioning since Cavium’s acquisition of the company and the other Windows Server 2016 driver options not panning out and there not being a Windows Server 2019 option. So sadly that Windows testing was thwarted so I since started testing over with a Mellanox Connectx-2 10GbE NIC, which is well supported on Windows Server and so that testing is ongoing for the next article of Windows vs. Linux 10 Gigabit network performance plus some “tuned” Linux networking results too.</p>
</blockquote>

<hr>

<p>###<a href="https://blog.netbsd.org/tnf/entry/integration_of_the_llvm_sanitziers" target="_blank" rel="nofollow noopener">Integration of the LLVM sanitizers with the NetBSD base system</a></p>

<blockquote>
<p>Over the past month I’ve merged the LLVM compiler-rt sanitizers (LLVM svn r350590) with the base system. I’ve also managed to get a functional set of Makefile rules to build all of them, namely:<br>
ASan, UBSan, TSan, MSan, libFuzzer, SafeStack, XRay.<br>
In all supported variations and modes that are supported by the original LLVM compiler-rt package.</p>
</blockquote>

<hr>

<p>###<a href="https://distrowatch.com/weekly.php?issue=20190204#freenas" target="_blank" rel="nofollow noopener">Distrowatch FreeNAS 11.2 review</a></p>

<blockquote>
<p>The project’s latest release is FreeNAS 11.2 and, at first, I nearly overlooked the new version because it appeared to be a minor point release. However, a lot of work went into the new version and 11.2 offers a lot of changes when compared next to 11.1, “including a major revamp of the web interface, support for self-encrypting drives, and new, backwards-compatible REST and WebSocket APIs. This update also introduces iocage for improved plugins and jails management and simplified plugin development.”</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://gist.github.com/zeising/5d2402d92b4cf421c7402d663b2d9e41" target="_blank" rel="nofollow noopener">Instructions for installing rEFInd to dual boot a computer with FreeBSD and windows (and possibly other OSes as well).</a></li>
<li><a href="https://www.unitedbsd.com/d/12-netbsd-desktop-pt-6-vi1-editor-tmux-and-unicode-term" target="_blank" rel="nofollow noopener">NetBSD desktop pt.6: “vi(1) editor, tmux and unicode $TERM”</a></li>
<li><a href="https://www.geekrant.org/2005/04/01/unix-flowers/" target="_blank" rel="nofollow noopener">Unix flowers</a></li>
<li><a href="https://oshogbo.vexillium.org/blog/62/" target="_blank" rel="nofollow noopener">FreeBSD upgrade procedure using GPT</a></li>
<li><a href="https://chargen.one/steve/backups-on-chargen-one" target="_blank" rel="nofollow noopener">Pull-based Backups using OpenBSD base*</a></li>
<li><a href="https://github.com/ozaki-r/netbsd-src/tree/wireguard" target="_blank" rel="nofollow noopener">Developing WireGuard for NetBSD</a></li>
<li><a href="https://zfs.datto.com/" target="_blank" rel="nofollow noopener">OpenZFS User Conference, April 18-19, Norwalk CT</a></li>
<li><a href="http://knoxbug.org/2019-02-25" target="_blank" rel="nofollow noopener">KnoxBug Feb 25th</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Jake - <a href="http://dpaste.com/3X7KVVX#wrap" target="_blank" rel="nofollow noopener">C Programming</a></li>
<li>Farhan - <a href="http://dpaste.com/067WW0P" target="_blank" rel="nofollow noopener">Explanation of rtadvd</a></li>
<li>Nelson - <a href="http://dpaste.com/2BYGFSV" target="_blank" rel="nofollow noopener">Bug Bounties on Open-Source Software</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Strategic thinking to keep FreeBSD relevant, reflecting on the soul of a new machine, 10GbE Benchmarks On Nine Linux Distros and FreeBSD, NetBSD integrating LLVM sanitizers in base, FreeNAS 11.2 distrowatch review, and more.</p>

<p>##Headlines<br>
###<a href="http://www.leidinger.net/blog/2019/01/27/strategic-thinking-or-what-i-think-what-we-need-to-do-to-keep-freebsd-relevant/" target="_blank" rel="nofollow noopener">Strategic thinking, or what I think what we need to do to keep FreeBSD relevant</a></p>

<blockquote>
<p>Since I participate in the FreeBSD project there are from time to time some voices which say FreeBSD is dead, Linux is the way to go. Most of the time those voices are trolls, or people which do not really know what FreeBSD has to offer. Sometimes those voices wear blinders, they only see their own little world (were Linux just works fine) and do not see the big picture (like e.g. competition stimulates business, …) or even dare to look what FreeBSD has to offer.<br>
Sometimes those voices raise a valid concern, and it is up to the FreeBSD project to filter out what would be beneficial. Recently there were some mails on the FreeBSD lists in the sense of “What about going into direction X?”. Some people just had the opinion that we should stay where we are. In my opinion this is similarly bad to blindly saying FreeBSD is dead and following the masses. It would mean stagnation. We should not hold people back in exploring new / different directions. Someone wants to write a kernel module in (a subset of) C++ or in Rust… well, go ahead, give it a try, we can put it into the Ports Collection and let people get experience with it.<br>
This discussion on the mailinglists also triggered some kind of “where do we see us in the next years” / strategic thinking reflection. What I present here, is my very own opinion about things we in the FreeBSD project should look at, to stay relevant in the long term. To be able to put that into scope, I need to clarify what “relevant” means in this case.<br>
FreeBSD is currently used by companies like Netflix, NetApp, Cisco, Juniper, and many others as a base for products or services. It is also used by end‐users as a work‐horse (e.g. mailservers, webservers, …). Staying relevant means in this context, to provide something which the user base is interested in to use and which makes it more easy / fast for the user base to deliver whatever they want or need to deliver than with another kind of system. And this in terms of time to market of a solution (time to deliver a service like a web‐/mail‐/whatever‐server or product), and in terms of performance (which not only means speed, but also security and reliability and …) of the solution.<br>
I have categorized the list of items I think are important into (new) code/features, docs, polishing and project infrastructure. Links in the following usually point to documentation/HOWTOs/experiences for/with FreeBSD, and not to the canonical entry points of the projects or technologies. In a few cases the links point to an explanation in the wikipedia or to the website of the topic in question.</p>
</blockquote>

<hr>

<p>###<a href="http://dtrace.org/blogs/bmc/2019/02/10/reflecting-on-the-soul-of-a-new-machine/" target="_blank" rel="nofollow noopener">Reflecting on The Soul of a New Machine</a></p>

<blockquote>
<p>Long ago as an undergraduate, I found myself back home on a break from school, bored and with eyes wandering idly across a family bookshelf. At school, I had started to find a calling in computing systems, and now in the den, an old book suddenly caught my eye: Tracy Kidder’s The Soul of a New Machine. Taking it off the shelf, the book grabbed me from its first descriptions of Tom West, captivating me with the epic tale of the development of the Eagle at Data General. I — like so many before and after me — found the book to be life changing: by telling the stories of the people behind the machine, the book showed the creative passion among engineers that might otherwise appear anodyne, inspiring me to chart a course that might one day allow me to make a similar mark.<br>
Since reading it over two decades ago, I have recommended The Soul of a Machine at essentially every opportunity, believing that it is a part of computing’s literary foundation — that it should be considered our Odyssey. Recently, I suggested it as beach reading to Jess Frazelle, and apparently with perfect timing: when I saw the book at the top of her vacation pile, I knew a fuse had been lit. I was delighted (though not at all surprised) to see Jess livetweet her admiration of the book, starting with the compelling prose, the lucid technical explanations and the visceral anecdotes — but then moving on to the deeper technical inspiration she found in the book. And as she reached the book’s crescendo, Jess felt its full power, causing her to reflect on the nature of engineering motivation.<br>
Excited to see the effect of the book on Jess, I experienced a kind of reflected recommendation: I was inspired to (re-)read my own recommendation! Shortly after I started reading, I began to realize that (contrary to what I had been telling myself over the years!) I had not re-read the book in full since that first reading so many years ago. Rather, over the years I had merely revisited those sections that I remembered fondly. On the one hand, these sections are singular: the saga of engineers debugging a nasty I-cache data corruption issue; the young engineer who implements the simulator in an impossibly short amount of time because no one wanted to tell him that he was being impossibly ambitious; the engineer who, frustrated with a nanosecond-scale timing problem in the ALU that he designed, moved to a commune in Vermont, claiming a desire to deal with “no unit of time shorter than a season”. But by limiting myself to these passages, I was succumbing to the selection bias of my much younger self; re-reading the book now from start to finish has given new parts depth and meaning. Aspects that were more abstract to me as an undergraduate — from the organizational rivalries and absurdities of the industry to the complexities of West’s character and the tribulations of the team down the stretch — are now deeply evocative of concrete episodes of my own career.</p>
</blockquote>

<ul>
<li>See Article for rest…</li>
</ul>

<hr>

<p>##News Roundup</p>

<p>###<a href="https://www.phoronix.com/scan.php?page=article&amp;item=10gbe-linux-freebsd12&amp;num=1" target="_blank" rel="nofollow noopener">Out-Of-The-Box 10GbE Network Benchmarks On Nine Linux Distributions Plus FreeBSD 12</a></p>

<blockquote>
<p>Last week I started running some fresh 10GbE Linux networking performance benchmarks across a few different Linux distributions. That testing has now been extended to cover nine Linux distributions plus FreeBSD 12.0 to compare the out-of-the-box networking performance.<br>
Tested this round alongside FreeBSD 12.0 was Antergos 19.1, CentOS 7, Clear Linux, Debian 9.6, Fedora Server 29, openSUSE Leap 15.0, openSUSE Tumbleweed, Ubuntu 18.04.1 LTS, and Ubuntu 18.10.<br>
All of the tests were done with a Tyan S7106 1U server featuring two Intel Xeon Gold 6138 CPUs, 96GB of DDR4 system memory, and Samsung 970 EVO SSD. For the 10GbE connectivity on this server was an add-in HP NC523SFP PCIe adapter providing two 10Gb SPF+ ports using a QLogic 8214 controller.<br>
Originally the plan as well was to include Windows Server 2016/2019. Unfortunately the QLogic driver download site was malfunctioning since Cavium’s acquisition of the company and the other Windows Server 2016 driver options not panning out and there not being a Windows Server 2019 option. So sadly that Windows testing was thwarted so I since started testing over with a Mellanox Connectx-2 10GbE NIC, which is well supported on Windows Server and so that testing is ongoing for the next article of Windows vs. Linux 10 Gigabit network performance plus some “tuned” Linux networking results too.</p>
</blockquote>

<hr>

<p>###<a href="https://blog.netbsd.org/tnf/entry/integration_of_the_llvm_sanitziers" target="_blank" rel="nofollow noopener">Integration of the LLVM sanitizers with the NetBSD base system</a></p>

<blockquote>
<p>Over the past month I’ve merged the LLVM compiler-rt sanitizers (LLVM svn r350590) with the base system. I’ve also managed to get a functional set of Makefile rules to build all of them, namely:<br>
ASan, UBSan, TSan, MSan, libFuzzer, SafeStack, XRay.<br>
In all supported variations and modes that are supported by the original LLVM compiler-rt package.</p>
</blockquote>

<hr>

<p>###<a href="https://distrowatch.com/weekly.php?issue=20190204#freenas" target="_blank" rel="nofollow noopener">Distrowatch FreeNAS 11.2 review</a></p>

<blockquote>
<p>The project’s latest release is FreeNAS 11.2 and, at first, I nearly overlooked the new version because it appeared to be a minor point release. However, a lot of work went into the new version and 11.2 offers a lot of changes when compared next to 11.1, “including a major revamp of the web interface, support for self-encrypting drives, and new, backwards-compatible REST and WebSocket APIs. This update also introduces iocage for improved plugins and jails management and simplified plugin development.”</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://gist.github.com/zeising/5d2402d92b4cf421c7402d663b2d9e41" target="_blank" rel="nofollow noopener">Instructions for installing rEFInd to dual boot a computer with FreeBSD and windows (and possibly other OSes as well).</a></li>
<li><a href="https://www.unitedbsd.com/d/12-netbsd-desktop-pt-6-vi1-editor-tmux-and-unicode-term" target="_blank" rel="nofollow noopener">NetBSD desktop pt.6: “vi(1) editor, tmux and unicode $TERM”</a></li>
<li><a href="https://www.geekrant.org/2005/04/01/unix-flowers/" target="_blank" rel="nofollow noopener">Unix flowers</a></li>
<li><a href="https://oshogbo.vexillium.org/blog/62/" target="_blank" rel="nofollow noopener">FreeBSD upgrade procedure using GPT</a></li>
<li><a href="https://chargen.one/steve/backups-on-chargen-one" target="_blank" rel="nofollow noopener">Pull-based Backups using OpenBSD base*</a></li>
<li><a href="https://github.com/ozaki-r/netbsd-src/tree/wireguard" target="_blank" rel="nofollow noopener">Developing WireGuard for NetBSD</a></li>
<li><a href="https://zfs.datto.com/" target="_blank" rel="nofollow noopener">OpenZFS User Conference, April 18-19, Norwalk CT</a></li>
<li><a href="http://knoxbug.org/2019-02-25" target="_blank" rel="nofollow noopener">KnoxBug Feb 25th</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Jake - <a href="http://dpaste.com/3X7KVVX#wrap" target="_blank" rel="nofollow noopener">C Programming</a></li>
<li>Farhan - <a href="http://dpaste.com/067WW0P" target="_blank" rel="nofollow noopener">Explanation of rtadvd</a></li>
<li>Nelson - <a href="http://dpaste.com/2BYGFSV" target="_blank" rel="nofollow noopener">Bug Bounties on Open-Source Software</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>284: FOSDEM 2019</title>
  <link>https://www.bsdnow.tv/284</link>
  <guid isPermaLink="false">9e51096d-3e53-490c-8603-827a76d73758</guid>
  <pubDate>Thu, 07 Feb 2019 11:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9e51096d-3e53-490c-8603-827a76d73758.mp3" length="35850359" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We recap FOSDEM 2019, FreeBSD Foundation January update, OPNsense 19.1 released, the hardware-assisted virtualization challenge, ZFS and GPL terror, ClonOS 19.01-RELEASE, and more.</itunes:subtitle>
  <itunes:duration>59:26</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>&lt;p&gt;We recap FOSDEM 2019, FreeBSD Foundation January update, OPNsense 19.1 released, the hardware-assisted virtualization challenge, ZFS and GPL terror, ClonOS 19.01-RELEASE, and more.&lt;/p&gt;

Headlines

&lt;h3&gt;&lt;a href="https://fosdem.org/2019/schedule/" target="_blank" rel="nofollow noopener"&gt;FOSDEM 2019 Recap&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Allan and I were at FOSDEM 2019 in Brussels, Belgium over the weekend.&lt;/li&gt;
&lt;li&gt;On the Friday before, we held a FreeBSD Devsummit in a hotel conference room, with 25 people attending. We talked about various topics of interest to the project. You can find the &lt;a href="https://wiki.freebsd.org/Devsummit/201902" target="_blank" rel="nofollow noopener"&gt;notes on the wiki page&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Saturday was the first day of FOSDEM. The FreeBSD Project had a table next to the Illumos Project again. A lot of people visited our table, asked questions, or just said “Hi, I watch &lt;a href="http://BSDNow.tv" target="_blank" rel="nofollow noopener"&gt;BSDNow.tv&lt;/a&gt; every week”. We handed out a lot of stickers, pens, swag, and flyers. There was also a full day &lt;a href="https://twitter.com/fosdembsd" target="_blank" rel="nofollow noopener"&gt;BSD devroom&lt;/a&gt;, with a &lt;a href="https://fosdem.org/2019/schedule/track/bsd/" target="_blank" rel="nofollow noopener"&gt;variety of talks&lt;/a&gt; that were well attended.&lt;/li&gt;
&lt;li&gt;In the main conference track, Allan held a &lt;a href="https://fosdem.org/2019/schedule/event/zfs_caching/" target="_blank" rel="nofollow noopener"&gt;talk explaining how the ZFS ARC works&lt;/a&gt;. A lot of people attended the talk and had more questions afterwards. Another well attended talk was by Jonathan Looney about &lt;a href="https://fosdem.org/2019/schedule/event/netflix_freebsd/" target="_blank" rel="nofollow noopener"&gt;Netflix and FreeBSD&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Sunday was another day in the same format, but no bsd devroom. A lot of people visited our table, developers and users alike. A lot of meeting and greeting went on.&lt;/li&gt;
&lt;li&gt;Overall, FOSDEM was a great success with FreeBSD showing a lot of presence. Thanks to all the people who attended and talked to us. Special thanks to the people who helped out at the FreeBSD table and Rodrigo Osorio for running the BSD devroom again.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-january-2019/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation Update, January 2019&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Dear FreeBSD Community Member,&lt;br&gt;
Happy New Year! It’s always exciting starting the new year with ambitious plans to support FreeBSD in new and existing areas. We achieved our fundraising goal for 2018, so we plan on funding a lot of work this year! Though it’s the new year, this newsletter highlights some of the work we accomplished in December. We also put together a list of technologies and features we are considering supporting, and are looking for feedback on what users want to help inform our 2019 development plans.  Our advocacy and education efforts are in full swing as we prepare for upcoming conferences including FOSDEM, SANOG33, and SCaLE.&lt;br&gt;
Finally, we created a year-end video to talk about the work we did in 2018. That in itself was an endeavor, so please take a few minutes to watch it! We’re working on improving the methods we use to inform the community on the work we are doing to support the Project, and are always open to feedback. Now, sit back, grab a refreshing beverage, and enjoy our newsletter!&lt;br&gt;
Happy reading!!&lt;br&gt;
Deb&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://forum.opnsense.org/index.php?topic=11398.0" target="_blank" rel="nofollow noopener"&gt;OPNsense 19.1 released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;For more than four years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.&lt;br&gt;
The 19.1 release, nicknamed “Inspiring Iguana”, consists of a total of 620 individual changes since 18.7 came out 6 months ago, spread out over 12 intermediate releases including the recent release candidates. That is the average of 2 stable releases per month, security updates and important bug fixes included! If we had to pick a few highlights it would be: The firewall alias API is finally in place. The migration to HardenedBSD 11.2 has been completed. 2FA now works with a remote LDAP / local TOTP combination. And the OpenVPN client export was rewritten for full API support as well.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;These are the most prominent changes since version 18.7:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;fully functional firewall alias API&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;PIE firewall shaper support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;firewall NAT rule logging support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2FA via LDAP-TOTP combination&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;WPAD / PAC and parent proxy support in the web proxy&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;P12 certificate export with custom passwords&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dpinger is now the default gateway monitor&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ET Pro Telemetry edition plugin[2]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;extended IPv6 DUID support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dnsmasq DNSSEC support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OpenVPN client export API&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Realtek NIC driver version 1.95&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;HardenedBSD 11.2, LibreSSL 2.7&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Unbound 1.8, Suricata 4.1&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Phalcon 3.4, Perl 5.28&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;firmware health check extended to cover all OS files, HTTPS mirror default&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;updates are browser cache-safe regarding CSS and JavaScript assets&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;collapsible side bar menu in the default theme&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;language updates for Chinese, Czech, French, German, Japanese, Portuguese and Russian&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;API backup export, Bind, Hardware widget, Nginx, Ntopng, VnStat and Dnscrypt-proxy plugins&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Here are the full changes against version 19.1-RC2:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ipsec: add firewall interface as soon as phase 1 is enabled&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ipsec: phase 1 selection GUI JavaScript compatibility fix&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;monit: widget improvements and bug fix (contributed by Frank Brendel)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ui: fix regression in single host or network subnet select in static pages&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;plugins: os-frr 1.7 updates OSFP outbound rules (contributed by Fabian Franz)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;plugins: os-telegraf 1.7.4 fixes packet filter input&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;plugins: os-theme-rebellion 1.8.2 adds image colour invert&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;plugins: os-vnstat 1.1[3]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;plugins: os-zabbix-agent now uses Zabbix version 4.0&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;src: revert mmc_calculate_clock() as HS200/HS400 support breaks legacy support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;src: update sqlite3-3.20.0 to sqlite3-3.26.0[4]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;src: import tzdata 2018h, 2018i[5]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;src: avoid unsynchronized updates to kn_status[6]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ports: ca_root_nss 3.42&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ports: dhcp6c 20190128 prevent rawops double-free (contributed by Team Rebellion)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ports: sudo patch to fix listpw=never[7]&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/the_hardware_assisted_virtualization_challenge" target="_blank" rel="nofollow noopener"&gt;The hardware-assisted virtualization challenge&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Over two years ago, I made a pledge to use NetBSD as my sole OS and only operating system, and to resist booting into any other OS until I had implemented hardware-accelerated virtualization in the NetBSD kernel (the equivalent of Linux’ KVM, or Hyper-V).&lt;br&gt;
Today, I am here to report: Mission Accomplished!&lt;br&gt;
It’s been a long road, but we now have hardware-accelerated virtualization in the kernel! And while I had only initially planned to get Oracle VirtualBox working, I have with the help of the Intel HAXM engine (the same backend used for virtualization in Android Studio) and a qemu frontend, successfully managed to boot a range of mainstream operating systems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://eerielinux.wordpress.com/2019/01/28/zfs-and-gpl-terror-how-much-freedom-is-there-in-linux/" target="_blank" rel="nofollow noopener"&gt;ZFS and GPL terror: How much freedom is there in Linux?&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;ZFS – the undesirable guest&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ZFS is todays most advanced filesystem. It originated on the Solaris operating system and thanks to Sun’s decision to open it up, we have it available on quite a number of Unix-like operating systems. That’s just great! Great for everyone.&lt;br&gt;
For everyone? Nope. There are people out there who don’t like ZFS. Which is totally fine, they don’t need to use it after all. But worse: There are people who actively hate ZFS and think that others should not use it. Ok, it’s nothing new that some random guys on the net are acting like assholes, trying to tell you what you must not do, right? Whoever has been online for more than a couple of days probably already got used to it. Unfortunately its still worse: One such spoilsport is Greg Kroah-Hartman, Linux guru and informal second-in-command after Linus Torvalds.&lt;br&gt;
There have been some attempts to defend the stance of this kernel developer. One was to point at the fact that the “ZFS on Linux” (ZoL) port uses two kernel functions, __kernel_fpu_begin() and __kernel_fpu_end(), which have been deprecated for a very long time and that it makes sense to finally get rid of them since nothing in-kernel uses it anymore. Nobody is going to argue against that. The problem becomes clear by looking at the bigger picture, though:&lt;br&gt;
The need for functions doing just what the old ones did has of course not vanished. The functions have been replaced with other ones. And those ones are deliberately made GPL-only. Yes, that’s right: There’s no technical reason whatsoever! It’s purely ideology – and it’s a terrible one.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://clonos.tekroutine.com/" target="_blank" rel="nofollow noopener"&gt;ClonOS 19.01-RELEASE&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;ClonOS is a turnkey Open Source platform based on FreeBSD and the CBSD framework. ClonOS offers a complete web UI for easily controlling, deploying and managing FreeBSD jails containers and Bhyve/Xen hyperviser virtual environments.&lt;br&gt;
ClonOS is currently the only platform available which allow both Xen and Bhyve hypervisor to coexist on the same host. Being a FreeBSD base platform, ClonOS ability to create and manage jails allows you to run FreeBSD applications without losing performance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Features:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;easy management via web UI interface&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;live Bhyve migration [coming soon, roadmap]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bhyve management (create, delete VM)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Xen management (create, delete VM) [coming soon, roadmap]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;connection to the “physical” guest console via VNC from the browser or directly&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Real time system monitoring&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;access to load statistics through SQLite3 and beanstalkd&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;support for ZFS features (cloning, snapshots)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;import/export of virtual environments&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;public repository with virtual machine templates&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;puppet-based helpers for configuring popular services&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ClonOS is a free open-source FreeBSD-based platform for virtual environments creation and management. In the core:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;FreeBSD OS as hoster platform&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;bhyve(8) as hypervisor engine&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Xen as hypervisor engine&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;vale(4) as Virtual Ethernet Switch&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;jail(8) as container engine&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CBSD Project as management tools&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Puppet as configuration management&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.undeadly.org/cgi?action=article;sid=20190128061321" target="_blank" rel="nofollow noopener"&gt;Florian Obser on unwind(8)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/commandline/comments/amq947/a_low_tech_sms_gateway_for_fun_and_no_profit/" target="_blank" rel="nofollow noopener"&gt;A low tech SMS gateway for fun and no profit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fosdem.org/2019/schedule/event/netflix_freebsd/attachments/slides/3103/export/events/attachments/netflix_freebsd/slides/3103/FOSDEM_2019_Netflix_and_FreeBSD.pdf" target="_blank" rel="nofollow noopener"&gt;Netflix and FreeBSD : Using Open Source to Deliver Streaming Video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/lonkamikaze/powerdxx/releases/tag/0.4.0" target="_blank" rel="nofollow noopener"&gt;powerd++ 0.4.0 release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.infoq.com/presentations/os-rust" target="_blank" rel="nofollow noopener"&gt;Is it time to rewrite the operating system in Rust?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/changeset/base/343673" target="_blank" rel="nofollow noopener"&gt;Small change, big effect&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/BSD-Users-Stockholm/events/257281738/" target="_blank" rel="nofollow noopener"&gt;Swedish BSD Meetup, Feb 19, 2019&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/en-US/Polish-BSD-User-Group/events/zkhlnqyzdbsb/" target="_blank" rel="nofollow noopener"&gt;Polish BSD User Group Meetup, Feb 21, 2019&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Casey - &lt;a href="http://dpaste.com/2MA7HRV#wrap" target="_blank" rel="nofollow noopener"&gt;Cool new Digital Ocean Feature&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Morgan - &lt;a href="http://dpaste.com/1QDAMYJ#wrap" target="_blank" rel="nofollow noopener"&gt;Jail w/differnet version of FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/2XG5KXN#wrap" target="_blank" rel="nofollow noopener"&gt;FreeBSD Installer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We recap FOSDEM 2019, FreeBSD Foundation January update, OPNsense 19.1 released, the hardware-assisted virtualization challenge, ZFS and GPL terror, ClonOS 19.01-RELEASE, and more.</p>

Headlines

<h3><a href="https://fosdem.org/2019/schedule/" target="_blank" rel="nofollow noopener">FOSDEM 2019 Recap</a></h3>

<ul>
<li>Allan and I were at FOSDEM 2019 in Brussels, Belgium over the weekend.</li>
<li>On the Friday before, we held a FreeBSD Devsummit in a hotel conference room, with 25 people attending. We talked about various topics of interest to the project. You can find the <a href="https://wiki.freebsd.org/Devsummit/201902" target="_blank" rel="nofollow noopener">notes on the wiki page</a>.</li>
<li>Saturday was the first day of FOSDEM. The FreeBSD Project had a table next to the Illumos Project again. A lot of people visited our table, asked questions, or just said “Hi, I watch <a href="http://BSDNow.tv" target="_blank" rel="nofollow noopener">BSDNow.tv</a> every week”. We handed out a lot of stickers, pens, swag, and flyers. There was also a full day <a href="https://twitter.com/fosdembsd" target="_blank" rel="nofollow noopener">BSD devroom</a>, with a <a href="https://fosdem.org/2019/schedule/track/bsd/" target="_blank" rel="nofollow noopener">variety of talks</a> that were well attended.</li>
<li>In the main conference track, Allan held a <a href="https://fosdem.org/2019/schedule/event/zfs_caching/" target="_blank" rel="nofollow noopener">talk explaining how the ZFS ARC works</a>. A lot of people attended the talk and had more questions afterwards. Another well attended talk was by Jonathan Looney about <a href="https://fosdem.org/2019/schedule/event/netflix_freebsd/" target="_blank" rel="nofollow noopener">Netflix and FreeBSD</a>.</li>
<li>Sunday was another day in the same format, but no bsd devroom. A lot of people visited our table, developers and users alike. A lot of meeting and greeting went on.</li>
<li>Overall, FOSDEM was a great success with FreeBSD showing a lot of presence. Thanks to all the people who attended and talked to us. Special thanks to the people who helped out at the FreeBSD table and Rodrigo Osorio for running the BSD devroom again.</li>
</ul>

<h3><a href="https://www.freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-january-2019/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Update, January 2019</a></h3>

<blockquote>
<p>Dear FreeBSD Community Member,<br>
Happy New Year! It’s always exciting starting the new year with ambitious plans to support FreeBSD in new and existing areas. We achieved our fundraising goal for 2018, so we plan on funding a lot of work this year! Though it’s the new year, this newsletter highlights some of the work we accomplished in December. We also put together a list of technologies and features we are considering supporting, and are looking for feedback on what users want to help inform our 2019 development plans.  Our advocacy and education efforts are in full swing as we prepare for upcoming conferences including FOSDEM, SANOG33, and SCaLE.<br>
Finally, we created a year-end video to talk about the work we did in 2018. That in itself was an endeavor, so please take a few minutes to watch it! We’re working on improving the methods we use to inform the community on the work we are doing to support the Project, and are always open to feedback. Now, sit back, grab a refreshing beverage, and enjoy our newsletter!<br>
Happy reading!!<br>
Deb</p>
</blockquote>

<hr>

<h3><a href="https://forum.opnsense.org/index.php?topic=11398.0" target="_blank" rel="nofollow noopener">OPNsense 19.1 released</a></h3>

<blockquote>
<p>For more than four years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.<br>
The 19.1 release, nicknamed “Inspiring Iguana”, consists of a total of 620 individual changes since 18.7 came out 6 months ago, spread out over 12 intermediate releases including the recent release candidates. That is the average of 2 stable releases per month, security updates and important bug fixes included! If we had to pick a few highlights it would be: The firewall alias API is finally in place. The migration to HardenedBSD 11.2 has been completed. 2FA now works with a remote LDAP / local TOTP combination. And the OpenVPN client export was rewritten for full API support as well.</p>
</blockquote>

<ul>
<li>
<p>These are the most prominent changes since version 18.7:</p>
</li>
<li>
<p>fully functional firewall alias API</p>
</li>
<li>
<p>PIE firewall shaper support</p>
</li>
<li>
<p>firewall NAT rule logging support</p>
</li>
<li>
<p>2FA via LDAP-TOTP combination</p>
</li>
<li>
<p>WPAD / PAC and parent proxy support in the web proxy</p>
</li>
<li>
<p>P12 certificate export with custom passwords</p>
</li>
<li>
<p>Dpinger is now the default gateway monitor</p>
</li>
<li>
<p>ET Pro Telemetry edition plugin[2]</p>
</li>
<li>
<p>extended IPv6 DUID support</p>
</li>
<li>
<p>Dnsmasq DNSSEC support</p>
</li>
<li>
<p>OpenVPN client export API</p>
</li>
<li>
<p>Realtek NIC driver version 1.95</p>
</li>
<li>
<p>HardenedBSD 11.2, LibreSSL 2.7</p>
</li>
<li>
<p>Unbound 1.8, Suricata 4.1</p>
</li>
<li>
<p>Phalcon 3.4, Perl 5.28</p>
</li>
<li>
<p>firmware health check extended to cover all OS files, HTTPS mirror default</p>
</li>
<li>
<p>updates are browser cache-safe regarding CSS and JavaScript assets</p>
</li>
<li>
<p>collapsible side bar menu in the default theme</p>
</li>
<li>
<p>language updates for Chinese, Czech, French, German, Japanese, Portuguese and Russian</p>
</li>
<li>
<p>API backup export, Bind, Hardware widget, Nginx, Ntopng, VnStat and Dnscrypt-proxy plugins</p>
</li>
<li>
<p>Here are the full changes against version 19.1-RC2:</p>
</li>
<li>
<p>ipsec: add firewall interface as soon as phase 1 is enabled</p>
</li>
<li>
<p>ipsec: phase 1 selection GUI JavaScript compatibility fix</p>
</li>
<li>
<p>monit: widget improvements and bug fix (contributed by Frank Brendel)</p>
</li>
<li>
<p>ui: fix regression in single host or network subnet select in static pages</p>
</li>
<li>
<p>plugins: os-frr 1.7 updates OSFP outbound rules (contributed by Fabian Franz)</p>
</li>
<li>
<p>plugins: os-telegraf 1.7.4 fixes packet filter input</p>
</li>
<li>
<p>plugins: os-theme-rebellion 1.8.2 adds image colour invert</p>
</li>
<li>
<p>plugins: os-vnstat 1.1[3]</p>
</li>
<li>
<p>plugins: os-zabbix-agent now uses Zabbix version 4.0</p>
</li>
<li>
<p>src: revert mmc_calculate_clock() as HS200/HS400 support breaks legacy support</p>
</li>
<li>
<p>src: update sqlite3-3.20.0 to sqlite3-3.26.0[4]</p>
</li>
<li>
<p>src: import tzdata 2018h, 2018i[5]</p>
</li>
<li>
<p>src: avoid unsynchronized updates to kn_status[6]</p>
</li>
<li>
<p>ports: ca_root_nss 3.42</p>
</li>
<li>
<p>ports: dhcp6c 20190128 prevent rawops double-free (contributed by Team Rebellion)</p>
</li>
<li>
<p>ports: sudo patch to fix listpw=never[7]</p>
</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/the_hardware_assisted_virtualization_challenge" target="_blank" rel="nofollow noopener">The hardware-assisted virtualization challenge</a></h3>

<blockquote>
<p>Over two years ago, I made a pledge to use NetBSD as my sole OS and only operating system, and to resist booting into any other OS until I had implemented hardware-accelerated virtualization in the NetBSD kernel (the equivalent of Linux’ KVM, or Hyper-V).<br>
Today, I am here to report: Mission Accomplished!<br>
It’s been a long road, but we now have hardware-accelerated virtualization in the kernel! And while I had only initially planned to get Oracle VirtualBox working, I have with the help of the Intel HAXM engine (the same backend used for virtualization in Android Studio) and a qemu frontend, successfully managed to boot a range of mainstream operating systems.</p>
</blockquote>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2019/01/28/zfs-and-gpl-terror-how-much-freedom-is-there-in-linux/" target="_blank" rel="nofollow noopener">ZFS and GPL terror: How much freedom is there in Linux?</a></h3>

<ul>
<li>ZFS – the undesirable guest</li>
</ul>

<blockquote>
<p>ZFS is todays most advanced filesystem. It originated on the Solaris operating system and thanks to Sun’s decision to open it up, we have it available on quite a number of Unix-like operating systems. That’s just great! Great for everyone.<br>
For everyone? Nope. There are people out there who don’t like ZFS. Which is totally fine, they don’t need to use it after all. But worse: There are people who actively hate ZFS and think that others should not use it. Ok, it’s nothing new that some random guys on the net are acting like assholes, trying to tell you what you must not do, right? Whoever has been online for more than a couple of days probably already got used to it. Unfortunately its still worse: One such spoilsport is Greg Kroah-Hartman, Linux guru and informal second-in-command after Linus Torvalds.<br>
There have been some attempts to defend the stance of this kernel developer. One was to point at the fact that the “ZFS on Linux” (ZoL) port uses two kernel functions, __kernel_fpu_begin() and __kernel_fpu_end(), which have been deprecated for a very long time and that it makes sense to finally get rid of them since nothing in-kernel uses it anymore. Nobody is going to argue against that. The problem becomes clear by looking at the bigger picture, though:<br>
The need for functions doing just what the old ones did has of course not vanished. The functions have been replaced with other ones. And those ones are deliberately made GPL-only. Yes, that’s right: There’s no technical reason whatsoever! It’s purely ideology – and it’s a terrible one.</p>
</blockquote>

<hr>

<h3><a href="https://clonos.tekroutine.com/" target="_blank" rel="nofollow noopener">ClonOS 19.01-RELEASE</a></h3>

<blockquote>
<p>ClonOS is a turnkey Open Source platform based on FreeBSD and the CBSD framework. ClonOS offers a complete web UI for easily controlling, deploying and managing FreeBSD jails containers and Bhyve/Xen hyperviser virtual environments.<br>
ClonOS is currently the only platform available which allow both Xen and Bhyve hypervisor to coexist on the same host. Being a FreeBSD base platform, ClonOS ability to create and manage jails allows you to run FreeBSD applications without losing performance.</p>
</blockquote>

<ul>
<li>
<p>Features:</p>
</li>
<li>
<p>easy management via web UI interface</p>
</li>
<li>
<p>live Bhyve migration [coming soon, roadmap]</p>
</li>
<li>
<p>Bhyve management (create, delete VM)</p>
</li>
<li>
<p>Xen management (create, delete VM) [coming soon, roadmap]</p>
</li>
<li>
<p>connection to the “physical” guest console via VNC from the browser or directly</p>
</li>
<li>
<p>Real time system monitoring</p>
</li>
<li>
<p>access to load statistics through SQLite3 and beanstalkd</p>
</li>
<li>
<p>support for ZFS features (cloning, snapshots)</p>
</li>
<li>
<p>import/export of virtual environments</p>
</li>
<li>
<p>public repository with virtual machine templates</p>
</li>
<li>
<p>puppet-based helpers for configuring popular services</p>
</li>
<li>
<p>ClonOS is a free open-source FreeBSD-based platform for virtual environments creation and management. In the core:</p>
</li>
<li>
<p>FreeBSD OS as hoster platform</p>
</li>
<li>
<p>bhyve(8) as hypervisor engine</p>
</li>
<li>
<p>Xen as hypervisor engine</p>
</li>
<li>
<p>vale(4) as Virtual Ethernet Switch</p>
</li>
<li>
<p>jail(8) as container engine</p>
</li>
<li>
<p>CBSD Project as management tools</p>
</li>
<li>
<p>Puppet as configuration management</p>
</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20190128061321" target="_blank" rel="nofollow noopener">Florian Obser on unwind(8)</a></li>
<li><a href="https://www.reddit.com/r/commandline/comments/amq947/a_low_tech_sms_gateway_for_fun_and_no_profit/" target="_blank" rel="nofollow noopener">A low tech SMS gateway for fun and no profit</a></li>
<li><a href="https://fosdem.org/2019/schedule/event/netflix_freebsd/attachments/slides/3103/export/events/attachments/netflix_freebsd/slides/3103/FOSDEM_2019_Netflix_and_FreeBSD.pdf" target="_blank" rel="nofollow noopener">Netflix and FreeBSD : Using Open Source to Deliver Streaming Video</a></li>
<li><a href="https://github.com/lonkamikaze/powerdxx/releases/tag/0.4.0" target="_blank" rel="nofollow noopener">powerd++ 0.4.0 release</a></li>
<li><a href="https://www.infoq.com/presentations/os-rust" target="_blank" rel="nofollow noopener">Is it time to rewrite the operating system in Rust?</a></li>
<li><a href="https://svnweb.freebsd.org/changeset/base/343673" target="_blank" rel="nofollow noopener">Small change, big effect</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/257281738/" target="_blank" rel="nofollow noopener">Swedish BSD Meetup, Feb 19, 2019</a></li>
<li><a href="https://www.meetup.com/en-US/Polish-BSD-User-Group/events/zkhlnqyzdbsb/" target="_blank" rel="nofollow noopener">Polish BSD User Group Meetup, Feb 21, 2019</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Casey - <a href="http://dpaste.com/2MA7HRV#wrap" target="_blank" rel="nofollow noopener">Cool new Digital Ocean Feature</a></li>
<li>Morgan - <a href="http://dpaste.com/1QDAMYJ#wrap" target="_blank" rel="nofollow noopener">Jail w/differnet version of FreeBSD</a></li>
<li>Brad - <a href="http://dpaste.com/2XG5KXN#wrap" target="_blank" rel="nofollow noopener">FreeBSD Installer</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We recap FOSDEM 2019, FreeBSD Foundation January update, OPNsense 19.1 released, the hardware-assisted virtualization challenge, ZFS and GPL terror, ClonOS 19.01-RELEASE, and more.</p>

Headlines

<h3><a href="https://fosdem.org/2019/schedule/" target="_blank" rel="nofollow noopener">FOSDEM 2019 Recap</a></h3>

<ul>
<li>Allan and I were at FOSDEM 2019 in Brussels, Belgium over the weekend.</li>
<li>On the Friday before, we held a FreeBSD Devsummit in a hotel conference room, with 25 people attending. We talked about various topics of interest to the project. You can find the <a href="https://wiki.freebsd.org/Devsummit/201902" target="_blank" rel="nofollow noopener">notes on the wiki page</a>.</li>
<li>Saturday was the first day of FOSDEM. The FreeBSD Project had a table next to the Illumos Project again. A lot of people visited our table, asked questions, or just said “Hi, I watch <a href="http://BSDNow.tv" target="_blank" rel="nofollow noopener">BSDNow.tv</a> every week”. We handed out a lot of stickers, pens, swag, and flyers. There was also a full day <a href="https://twitter.com/fosdembsd" target="_blank" rel="nofollow noopener">BSD devroom</a>, with a <a href="https://fosdem.org/2019/schedule/track/bsd/" target="_blank" rel="nofollow noopener">variety of talks</a> that were well attended.</li>
<li>In the main conference track, Allan held a <a href="https://fosdem.org/2019/schedule/event/zfs_caching/" target="_blank" rel="nofollow noopener">talk explaining how the ZFS ARC works</a>. A lot of people attended the talk and had more questions afterwards. Another well attended talk was by Jonathan Looney about <a href="https://fosdem.org/2019/schedule/event/netflix_freebsd/" target="_blank" rel="nofollow noopener">Netflix and FreeBSD</a>.</li>
<li>Sunday was another day in the same format, but no bsd devroom. A lot of people visited our table, developers and users alike. A lot of meeting and greeting went on.</li>
<li>Overall, FOSDEM was a great success with FreeBSD showing a lot of presence. Thanks to all the people who attended and talked to us. Special thanks to the people who helped out at the FreeBSD table and Rodrigo Osorio for running the BSD devroom again.</li>
</ul>

<h3><a href="https://www.freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-january-2019/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Update, January 2019</a></h3>

<blockquote>
<p>Dear FreeBSD Community Member,<br>
Happy New Year! It’s always exciting starting the new year with ambitious plans to support FreeBSD in new and existing areas. We achieved our fundraising goal for 2018, so we plan on funding a lot of work this year! Though it’s the new year, this newsletter highlights some of the work we accomplished in December. We also put together a list of technologies and features we are considering supporting, and are looking for feedback on what users want to help inform our 2019 development plans.  Our advocacy and education efforts are in full swing as we prepare for upcoming conferences including FOSDEM, SANOG33, and SCaLE.<br>
Finally, we created a year-end video to talk about the work we did in 2018. That in itself was an endeavor, so please take a few minutes to watch it! We’re working on improving the methods we use to inform the community on the work we are doing to support the Project, and are always open to feedback. Now, sit back, grab a refreshing beverage, and enjoy our newsletter!<br>
Happy reading!!<br>
Deb</p>
</blockquote>

<hr>

<h3><a href="https://forum.opnsense.org/index.php?topic=11398.0" target="_blank" rel="nofollow noopener">OPNsense 19.1 released</a></h3>

<blockquote>
<p>For more than four years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, HardenedBSD security, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.<br>
The 19.1 release, nicknamed “Inspiring Iguana”, consists of a total of 620 individual changes since 18.7 came out 6 months ago, spread out over 12 intermediate releases including the recent release candidates. That is the average of 2 stable releases per month, security updates and important bug fixes included! If we had to pick a few highlights it would be: The firewall alias API is finally in place. The migration to HardenedBSD 11.2 has been completed. 2FA now works with a remote LDAP / local TOTP combination. And the OpenVPN client export was rewritten for full API support as well.</p>
</blockquote>

<ul>
<li>
<p>These are the most prominent changes since version 18.7:</p>
</li>
<li>
<p>fully functional firewall alias API</p>
</li>
<li>
<p>PIE firewall shaper support</p>
</li>
<li>
<p>firewall NAT rule logging support</p>
</li>
<li>
<p>2FA via LDAP-TOTP combination</p>
</li>
<li>
<p>WPAD / PAC and parent proxy support in the web proxy</p>
</li>
<li>
<p>P12 certificate export with custom passwords</p>
</li>
<li>
<p>Dpinger is now the default gateway monitor</p>
</li>
<li>
<p>ET Pro Telemetry edition plugin[2]</p>
</li>
<li>
<p>extended IPv6 DUID support</p>
</li>
<li>
<p>Dnsmasq DNSSEC support</p>
</li>
<li>
<p>OpenVPN client export API</p>
</li>
<li>
<p>Realtek NIC driver version 1.95</p>
</li>
<li>
<p>HardenedBSD 11.2, LibreSSL 2.7</p>
</li>
<li>
<p>Unbound 1.8, Suricata 4.1</p>
</li>
<li>
<p>Phalcon 3.4, Perl 5.28</p>
</li>
<li>
<p>firmware health check extended to cover all OS files, HTTPS mirror default</p>
</li>
<li>
<p>updates are browser cache-safe regarding CSS and JavaScript assets</p>
</li>
<li>
<p>collapsible side bar menu in the default theme</p>
</li>
<li>
<p>language updates for Chinese, Czech, French, German, Japanese, Portuguese and Russian</p>
</li>
<li>
<p>API backup export, Bind, Hardware widget, Nginx, Ntopng, VnStat and Dnscrypt-proxy plugins</p>
</li>
<li>
<p>Here are the full changes against version 19.1-RC2:</p>
</li>
<li>
<p>ipsec: add firewall interface as soon as phase 1 is enabled</p>
</li>
<li>
<p>ipsec: phase 1 selection GUI JavaScript compatibility fix</p>
</li>
<li>
<p>monit: widget improvements and bug fix (contributed by Frank Brendel)</p>
</li>
<li>
<p>ui: fix regression in single host or network subnet select in static pages</p>
</li>
<li>
<p>plugins: os-frr 1.7 updates OSFP outbound rules (contributed by Fabian Franz)</p>
</li>
<li>
<p>plugins: os-telegraf 1.7.4 fixes packet filter input</p>
</li>
<li>
<p>plugins: os-theme-rebellion 1.8.2 adds image colour invert</p>
</li>
<li>
<p>plugins: os-vnstat 1.1[3]</p>
</li>
<li>
<p>plugins: os-zabbix-agent now uses Zabbix version 4.0</p>
</li>
<li>
<p>src: revert mmc_calculate_clock() as HS200/HS400 support breaks legacy support</p>
</li>
<li>
<p>src: update sqlite3-3.20.0 to sqlite3-3.26.0[4]</p>
</li>
<li>
<p>src: import tzdata 2018h, 2018i[5]</p>
</li>
<li>
<p>src: avoid unsynchronized updates to kn_status[6]</p>
</li>
<li>
<p>ports: ca_root_nss 3.42</p>
</li>
<li>
<p>ports: dhcp6c 20190128 prevent rawops double-free (contributed by Team Rebellion)</p>
</li>
<li>
<p>ports: sudo patch to fix listpw=never[7]</p>
</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/the_hardware_assisted_virtualization_challenge" target="_blank" rel="nofollow noopener">The hardware-assisted virtualization challenge</a></h3>

<blockquote>
<p>Over two years ago, I made a pledge to use NetBSD as my sole OS and only operating system, and to resist booting into any other OS until I had implemented hardware-accelerated virtualization in the NetBSD kernel (the equivalent of Linux’ KVM, or Hyper-V).<br>
Today, I am here to report: Mission Accomplished!<br>
It’s been a long road, but we now have hardware-accelerated virtualization in the kernel! And while I had only initially planned to get Oracle VirtualBox working, I have with the help of the Intel HAXM engine (the same backend used for virtualization in Android Studio) and a qemu frontend, successfully managed to boot a range of mainstream operating systems.</p>
</blockquote>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2019/01/28/zfs-and-gpl-terror-how-much-freedom-is-there-in-linux/" target="_blank" rel="nofollow noopener">ZFS and GPL terror: How much freedom is there in Linux?</a></h3>

<ul>
<li>ZFS – the undesirable guest</li>
</ul>

<blockquote>
<p>ZFS is todays most advanced filesystem. It originated on the Solaris operating system and thanks to Sun’s decision to open it up, we have it available on quite a number of Unix-like operating systems. That’s just great! Great for everyone.<br>
For everyone? Nope. There are people out there who don’t like ZFS. Which is totally fine, they don’t need to use it after all. But worse: There are people who actively hate ZFS and think that others should not use it. Ok, it’s nothing new that some random guys on the net are acting like assholes, trying to tell you what you must not do, right? Whoever has been online for more than a couple of days probably already got used to it. Unfortunately its still worse: One such spoilsport is Greg Kroah-Hartman, Linux guru and informal second-in-command after Linus Torvalds.<br>
There have been some attempts to defend the stance of this kernel developer. One was to point at the fact that the “ZFS on Linux” (ZoL) port uses two kernel functions, __kernel_fpu_begin() and __kernel_fpu_end(), which have been deprecated for a very long time and that it makes sense to finally get rid of them since nothing in-kernel uses it anymore. Nobody is going to argue against that. The problem becomes clear by looking at the bigger picture, though:<br>
The need for functions doing just what the old ones did has of course not vanished. The functions have been replaced with other ones. And those ones are deliberately made GPL-only. Yes, that’s right: There’s no technical reason whatsoever! It’s purely ideology – and it’s a terrible one.</p>
</blockquote>

<hr>

<h3><a href="https://clonos.tekroutine.com/" target="_blank" rel="nofollow noopener">ClonOS 19.01-RELEASE</a></h3>

<blockquote>
<p>ClonOS is a turnkey Open Source platform based on FreeBSD and the CBSD framework. ClonOS offers a complete web UI for easily controlling, deploying and managing FreeBSD jails containers and Bhyve/Xen hyperviser virtual environments.<br>
ClonOS is currently the only platform available which allow both Xen and Bhyve hypervisor to coexist on the same host. Being a FreeBSD base platform, ClonOS ability to create and manage jails allows you to run FreeBSD applications without losing performance.</p>
</blockquote>

<ul>
<li>
<p>Features:</p>
</li>
<li>
<p>easy management via web UI interface</p>
</li>
<li>
<p>live Bhyve migration [coming soon, roadmap]</p>
</li>
<li>
<p>Bhyve management (create, delete VM)</p>
</li>
<li>
<p>Xen management (create, delete VM) [coming soon, roadmap]</p>
</li>
<li>
<p>connection to the “physical” guest console via VNC from the browser or directly</p>
</li>
<li>
<p>Real time system monitoring</p>
</li>
<li>
<p>access to load statistics through SQLite3 and beanstalkd</p>
</li>
<li>
<p>support for ZFS features (cloning, snapshots)</p>
</li>
<li>
<p>import/export of virtual environments</p>
</li>
<li>
<p>public repository with virtual machine templates</p>
</li>
<li>
<p>puppet-based helpers for configuring popular services</p>
</li>
<li>
<p>ClonOS is a free open-source FreeBSD-based platform for virtual environments creation and management. In the core:</p>
</li>
<li>
<p>FreeBSD OS as hoster platform</p>
</li>
<li>
<p>bhyve(8) as hypervisor engine</p>
</li>
<li>
<p>Xen as hypervisor engine</p>
</li>
<li>
<p>vale(4) as Virtual Ethernet Switch</p>
</li>
<li>
<p>jail(8) as container engine</p>
</li>
<li>
<p>CBSD Project as management tools</p>
</li>
<li>
<p>Puppet as configuration management</p>
</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.undeadly.org/cgi?action=article;sid=20190128061321" target="_blank" rel="nofollow noopener">Florian Obser on unwind(8)</a></li>
<li><a href="https://www.reddit.com/r/commandline/comments/amq947/a_low_tech_sms_gateway_for_fun_and_no_profit/" target="_blank" rel="nofollow noopener">A low tech SMS gateway for fun and no profit</a></li>
<li><a href="https://fosdem.org/2019/schedule/event/netflix_freebsd/attachments/slides/3103/export/events/attachments/netflix_freebsd/slides/3103/FOSDEM_2019_Netflix_and_FreeBSD.pdf" target="_blank" rel="nofollow noopener">Netflix and FreeBSD : Using Open Source to Deliver Streaming Video</a></li>
<li><a href="https://github.com/lonkamikaze/powerdxx/releases/tag/0.4.0" target="_blank" rel="nofollow noopener">powerd++ 0.4.0 release</a></li>
<li><a href="https://www.infoq.com/presentations/os-rust" target="_blank" rel="nofollow noopener">Is it time to rewrite the operating system in Rust?</a></li>
<li><a href="https://svnweb.freebsd.org/changeset/base/343673" target="_blank" rel="nofollow noopener">Small change, big effect</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/257281738/" target="_blank" rel="nofollow noopener">Swedish BSD Meetup, Feb 19, 2019</a></li>
<li><a href="https://www.meetup.com/en-US/Polish-BSD-User-Group/events/zkhlnqyzdbsb/" target="_blank" rel="nofollow noopener">Polish BSD User Group Meetup, Feb 21, 2019</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Casey - <a href="http://dpaste.com/2MA7HRV#wrap" target="_blank" rel="nofollow noopener">Cool new Digital Ocean Feature</a></li>
<li>Morgan - <a href="http://dpaste.com/1QDAMYJ#wrap" target="_blank" rel="nofollow noopener">Jail w/differnet version of FreeBSD</a></li>
<li>Brad - <a href="http://dpaste.com/2XG5KXN#wrap" target="_blank" rel="nofollow noopener">FreeBSD Installer</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>283: Graphical Interface-View</title>
  <link>https://www.bsdnow.tv/283</link>
  <guid isPermaLink="false">e11d6e25-000c-4424-b4fa-cda93c336f73</guid>
  <pubDate>Thu, 31 Jan 2019 11:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e11d6e25-000c-4424-b4fa-cda93c336f73.mp3" length="28233037" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We’re at FOSDEM 2019 this week having fun. We’d never leave you in a lurch, so we have recorded an interview with Niclas Zeising of the FreeBSD graphics team for you. Enjoy. </itunes:subtitle>
  <itunes:duration>46:44</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>&lt;p&gt;We’re at FOSDEM 2019 this week having fun. We’d never leave you in a lurch, so we have recorded an interview with Niclas Zeising of the FreeBSD graphics team for you. Enjoy. &lt;/p&gt;

&lt;p&gt;##Interview - Niclas Zeising - &lt;a href="mailto:zeising@FreeBSD.org" target="_blank" rel="nofollow noopener"&gt;zeising@FreeBSD.org&lt;/a&gt; / &lt;a href="https://twitter.com/niclaszeising" target="_blank" rel="nofollow noopener"&gt;@niclaszeising&lt;/a&gt;&lt;br&gt;
Interview topic: FreeBSD Graphics Stack&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BR: Welcome Niclas. Since this is your first time on BSDNow, can you tell us a bit about yourself and how you started with Unix/BSD?&lt;/li&gt;
&lt;li&gt;AJ: What made you start working in the FreeBSD graphics stack?&lt;/li&gt;
&lt;li&gt;BR: What is the current status with the FreeBSD graphics stack?&lt;/li&gt;
&lt;li&gt;AJ: What challenges do you face in the FreeBSD graphics stack?&lt;/li&gt;
&lt;li&gt;BR: How many people are working in the graphics team and what kind of help do you need there?&lt;/li&gt;
&lt;li&gt;AJ: You’re also involved in FreeBSD ports and held a poudriere tutorial at last years EuroBSDcon. What kind of feedback did you get and will you give that tutorial again?&lt;/li&gt;
&lt;li&gt;BR: You’ve been organizing the Stockholm BSD user group meeting. Can you tell us a bit about that, what’s involved, how is it structured?&lt;/li&gt;
&lt;li&gt;AJ: What conferences do you go to where people could talk to you?&lt;/li&gt;
&lt;li&gt;BR: Is there anything else you’d like to mention before we let you go?&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Casey - &lt;a href="http://dpaste.com/33XCN5X#wrap" target="_blank" rel="nofollow noopener"&gt;TrueOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Troels - &lt;a href="http://dpaste.com/31M2SN6" target="_blank" rel="nofollow noopener"&gt;zfs send vs zfs send -R&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;matclarke - &lt;a href="http://dpaste.com/16WDCW0" target="_blank" rel="nofollow noopener"&gt;Orphaned packages&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We’re at FOSDEM 2019 this week having fun. We’d never leave you in a lurch, so we have recorded an interview with Niclas Zeising of the FreeBSD graphics team for you. Enjoy. </p>

<p>##Interview - Niclas Zeising - <a href="mailto:zeising@FreeBSD.org" target="_blank" rel="nofollow noopener">zeising@FreeBSD.org</a> / <a href="https://twitter.com/niclaszeising" target="_blank" rel="nofollow noopener">@niclaszeising</a><br>
Interview topic: FreeBSD Graphics Stack</p>

<ul>
<li>BR: Welcome Niclas. Since this is your first time on BSDNow, can you tell us a bit about yourself and how you started with Unix/BSD?</li>
<li>AJ: What made you start working in the FreeBSD graphics stack?</li>
<li>BR: What is the current status with the FreeBSD graphics stack?</li>
<li>AJ: What challenges do you face in the FreeBSD graphics stack?</li>
<li>BR: How many people are working in the graphics team and what kind of help do you need there?</li>
<li>AJ: You’re also involved in FreeBSD ports and held a poudriere tutorial at last years EuroBSDcon. What kind of feedback did you get and will you give that tutorial again?</li>
<li>BR: You’ve been organizing the Stockholm BSD user group meeting. Can you tell us a bit about that, what’s involved, how is it structured?</li>
<li>AJ: What conferences do you go to where people could talk to you?</li>
<li>BR: Is there anything else you’d like to mention before we let you go?</li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Casey - <a href="http://dpaste.com/33XCN5X#wrap" target="_blank" rel="nofollow noopener">TrueOS</a></li>
<li>Troels - <a href="http://dpaste.com/31M2SN6" target="_blank" rel="nofollow noopener">zfs send vs zfs send -R</a></li>
<li>matclarke - <a href="http://dpaste.com/16WDCW0" target="_blank" rel="nofollow noopener">Orphaned packages</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We’re at FOSDEM 2019 this week having fun. We’d never leave you in a lurch, so we have recorded an interview with Niclas Zeising of the FreeBSD graphics team for you. Enjoy. </p>

<p>##Interview - Niclas Zeising - <a href="mailto:zeising@FreeBSD.org" target="_blank" rel="nofollow noopener">zeising@FreeBSD.org</a> / <a href="https://twitter.com/niclaszeising" target="_blank" rel="nofollow noopener">@niclaszeising</a><br>
Interview topic: FreeBSD Graphics Stack</p>

<ul>
<li>BR: Welcome Niclas. Since this is your first time on BSDNow, can you tell us a bit about yourself and how you started with Unix/BSD?</li>
<li>AJ: What made you start working in the FreeBSD graphics stack?</li>
<li>BR: What is the current status with the FreeBSD graphics stack?</li>
<li>AJ: What challenges do you face in the FreeBSD graphics stack?</li>
<li>BR: How many people are working in the graphics team and what kind of help do you need there?</li>
<li>AJ: You’re also involved in FreeBSD ports and held a poudriere tutorial at last years EuroBSDcon. What kind of feedback did you get and will you give that tutorial again?</li>
<li>BR: You’ve been organizing the Stockholm BSD user group meeting. Can you tell us a bit about that, what’s involved, how is it structured?</li>
<li>AJ: What conferences do you go to where people could talk to you?</li>
<li>BR: Is there anything else you’d like to mention before we let you go?</li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Casey - <a href="http://dpaste.com/33XCN5X#wrap" target="_blank" rel="nofollow noopener">TrueOS</a></li>
<li>Troels - <a href="http://dpaste.com/31M2SN6" target="_blank" rel="nofollow noopener">zfs send vs zfs send -R</a></li>
<li>matclarke - <a href="http://dpaste.com/16WDCW0" target="_blank" rel="nofollow noopener">Orphaned packages</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>282: Open the Rsync</title>
  <link>https://www.bsdnow.tv/282</link>
  <guid isPermaLink="false">081a14d7-ba00-43d2-9be7-ea1a189ed2e2</guid>
  <pubDate>Thu, 24 Jan 2019 11:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/081a14d7-ba00-43d2-9be7-ea1a189ed2e2.mp3" length="36986923" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Project Trident 18.12 released, Spotifyd on NetBSD, OPNsense 18.7.10 is available, Ultra EPYC AMD Powered Sun Ultra 24 Workstation, OpenRsync, LLD porting to NetBSD, and more.</itunes:subtitle>
  <itunes:duration>1:01:20</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>&lt;p&gt;Project Trident 18.12 released, Spotifyd on NetBSD, OPNsense 18.7.10 is available, Ultra EPYC AMD Powered Sun Ultra 24 Workstation, OpenRsync, LLD porting to NetBSD, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://2019.asiabsdcon.org/cfp.html.en" target="_blank" rel="nofollow noopener"&gt;AsiaBSDCon 2019 Call for Papers&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You have until Jan 30th to submit&lt;/li&gt;
&lt;li&gt;Full paper requirement is relaxed a bit this year (this year ONLY!) due to the short submission window. You don’t need all 10-12 pages, but it is still preferred.&lt;/li&gt;
&lt;li&gt;Send a message to &lt;a href="mailto:secretary@asiabsdcon.org" target="_blank" rel="nofollow noopener"&gt;secretary@asiabsdcon.org&lt;/a&gt; with your proposal. Could be either for a talk or a tutorial.&lt;/li&gt;
&lt;li&gt;Two days of tutorials/devsummit and two days of conference during Sakura season in Tokyo, Japan&lt;/li&gt;
&lt;li&gt;The conference is also looking for sponsors&lt;/li&gt;
&lt;li&gt;If accepted, flight and hotel is paid for by the conference&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="http://project-trident.org/post/2019-01-15_18.12-release_available/" target="_blank" rel="nofollow noopener"&gt;Project Trident 18.12 Released&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tridentproject" target="_blank" rel="nofollow noopener"&gt;Twitter account if you want to keep up on project news&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/TridentProject/status/1086010032662237185" target="_blank" rel="nofollow noopener"&gt;Screenshots&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://t.me/ProjectTrident" target="_blank" rel="nofollow noopener"&gt;Project Trident Community Telegram Channel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://distrowatch.com/?newsid=10442" target="_blank" rel="nofollow noopener"&gt;DistroWatch Page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://linuxactionnews.com/89?t=395" target="_blank" rel="nofollow noopener"&gt;LinuxActionNews Review&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=QjiR1KiacrQ" target="_blank" rel="nofollow noopener"&gt;RoboNuggie’s in depth review&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://atomicules.co.uk/2019/01/17/Building-Spotifyd-on-NetBSD.html" target="_blank" rel="nofollow noopener"&gt;Building Spotifyd on NetBSD&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;These are the steps I went through to build and run Spotifyd (this commit at the time of writing) on NetBSD AMD64. It’s a Spotify Connect client so it means I still need to control Spotify from another device (typically my phone), but the audio is played through my desktop… which is where my speakers and headphones are plugged in - it means I don’t have to unplug stuff and re-plug into my phone, work laptop, etc. This is 100% a “good enough for now solution” for me; I have had a quick play with the Go based microcontroller from spotcontrol and that allows a completely NetBSD only experience (although it is just an example application so doesn’t provide many features - great as a basis to build on though).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://opnsense.org/opnsense-18-7-10-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 18.7.10 released&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;2019 means 19.1 is almost here. In the meantime accept this small&lt;br&gt;
incremental update with goodies such as Suricata 4.1, custom passwords&lt;br&gt;
for P12 certificate export as well as fresh fixes in the FreeBSD base.&lt;br&gt;
A lot of cleanups went into this update to make sure there will be a&lt;br&gt;
smooth transition to 19.1-RC for you early birds. We expect RC1 in 1-2&lt;br&gt;
weeks and the final 19.1 on January 29.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.servethehome.com/introducing-the-ultra-epyc-amd-powered-sun-ultra-24-workstation/" target="_blank" rel="nofollow noopener"&gt;Introducing the Ultra EPYC AMD Powered Sun Ultra 24 Workstation&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A few weeks ago, I got an itch to build a workstation with AMD EPYC. There are a few constraints. First, I needed a higher-clock part. Second, I knew the whole build would be focused more on being an ultra high-end workstation rather than simply utilizing gaming components. With that, I decided it was time to hit on a bit of nostalgia for our readers. Mainly, I wanted to do an homage to Sun Microsystems. Sun made the server gear that the industry ran on for years, and as a fun fact, if you go behind the 1 Hacker Way sign at Facebook’s campus, they left the Sun Microsystems logo. Seeing that made me wonder if we could do an ultimate AMD EPYC build in a Sun Microsystems workstation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://github.com/kristapsdz/openrsync" target="_blank" rel="nofollow noopener"&gt;OpenRsync&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a clean-room implementation of rsync with a BSD (ISC) license. It is designed to be compatible with a modern rsync (3.1.3 is used for testing). It currently compiles and runs only on OpenBSD.&lt;br&gt;
This project is still very new and very fast-moving.&lt;br&gt;
It’s not ready for wide-spread testing. Or even narrow-spread beyond getting all of the bits to work. It’s not ready for strong attention. Or really any attention but by careful programming.&lt;br&gt;
Many have asked about portability. We’re just not there yet, folks. But don’t worry, the system is easily portable. The hard part for porters is matching OpenBSD’s pledge and unveil.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://blog.netbsd.org/tnf/entry/the_first_report_on_lld" target="_blank" rel="nofollow noopener"&gt;The first report on LLD porting&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;LLD is the link editor (linker) component of Clang toolchain. Its main advantage over GNU ld is much lower memory footprint, and linking speed. It is of specific interest to me since currently 8 GiB of memory are insufficient to link LLVM statically (which is the upstream default).&lt;br&gt;
The first goal of LLD porting is to ensure that LLD can produce working NetBSD executables, and be used to build LLVM itself. Then, it is desirable to look into trying to build additional NetBSD components, and eventually into replacing /usr/bin/ld entirely with lld.&lt;br&gt;
In this report, I would like to shortly summarize the issues I have found so far trying to use LLD on NetBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://euroquis.nl/bobulate/?p=2044" target="_blank" rel="nofollow noopener"&gt;Ring in the new&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s the second week of 2019 already, which means I’m curious what Nate is going to do with his series This week in usability … reset the numbering from week 1? That series is a great read, to keep up with all the little things that change in KDE source each week — aside from the release notes.&lt;br&gt;
For the big ticket items of KDE on FreeBSD, you should read this blog instead.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In ports this week (mostly KDE, some unrelated):&lt;/li&gt;
&lt;li&gt;KDE Plasma has been updated to the latest release, 5.14.5.&lt;/li&gt;
&lt;li&gt;KDE Applications 18.12.1 were released today, so we’re right on top of them.&lt;/li&gt;
&lt;li&gt;Marble was fixed for FreeBSD-running-on-Power9.&lt;/li&gt;
&lt;li&gt;Musescore caught up on 18 months of releases.&lt;/li&gt;
&lt;li&gt;Phonon updated to 4.10.1, along with its backends.&lt;/li&gt;
&lt;li&gt;And in development, Qt WebEngine 5.12 has been prepared in the incongruously-named plasma-5.13 branch in Area51; that does contain all the latest bits described above, as well.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://nomadbsd.org/index.html" target="_blank" rel="nofollow noopener"&gt;NomadBSD 1.2-RC1 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/q5sys/status/1086443533681209350" target="_blank" rel="nofollow noopener"&gt;ZFS - The First Enterprise Blockchain&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflybsd.org/docs/user/Powersave/?updated" target="_blank" rel="nofollow noopener"&gt;Powersaving with DragonFly laptop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tests.reproducible-builds.org/netbsd/netbsd.html" target="_blank" rel="nofollow noopener"&gt;NetBSD reaches 100% reproducable builds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://old.reddit.com/r/freebsd/comments/ahs53y/bhyve_web_interface/" target="_blank" rel="nofollow noopener"&gt;Potential Bhyve Web Interface?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/openbsd_gaming/comments/adi9sm/libgdx_proof_of_concept_on_openbsd_slay_the_spire/" target="_blank" rel="nofollow noopener"&gt;LibGDX proof of concept on OpenBSD&lt;/a&gt; - &lt;a href="https://youtu.be/F1loBeHKJt4" target="_blank" rel="nofollow noopener"&gt;Video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.pgcli.com/launching-litecli.html" target="_blank" rel="nofollow noopener"&gt;LiteCLI is a user-friendly CommandLine client for SQLite database&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PL94E35692EB9D36F3" target="_blank" rel="nofollow noopener"&gt;In honor of Donald Knuth’s 81 birthday Stanford uploaded 111 lectures on Youtube&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3Q4F6C2" target="_blank" rel="nofollow noopener"&gt;Portland BSD Pizza Night - 2018-01-31 19:00 - Sweet Heart Pizza&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/BSD-Users-Stockholm/events/257281738/" target="_blank" rel="nofollow noopener"&gt;Stockholm BSD February meetup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener"&gt;Polish BSD User Group: Jan 25 18:15 - 21:00&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2019.asiabsdcon.org/cfp.html.en" target="_blank" rel="nofollow noopener"&gt;AsiaBSDcon 2019 CfP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Greg - &lt;a href="http://dpaste.com/3A6T4HN" target="_blank" rel="nofollow noopener"&gt;VLANs and jails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tara - &lt;a href="http://dpaste.com/1X1E3XS#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS on removable disks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Casey - &lt;a href="http://dpaste.com/08HZ6FP#wrap" target="_blank" rel="nofollow noopener"&gt;Interview with Kirk McKusick&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, spotifyd, opnsense, kde, openrsync</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Project Trident 18.12 released, Spotifyd on NetBSD, OPNsense 18.7.10 is available, Ultra EPYC AMD Powered Sun Ultra 24 Workstation, OpenRsync, LLD porting to NetBSD, and more.</p>

<p>##Headlines</p>

<p>###<a href="https://2019.asiabsdcon.org/cfp.html.en" target="_blank" rel="nofollow noopener">AsiaBSDCon 2019 Call for Papers</a></p>

<ul>
<li>You have until Jan 30th to submit</li>
<li>Full paper requirement is relaxed a bit this year (this year ONLY!) due to the short submission window. You don’t need all 10-12 pages, but it is still preferred.</li>
<li>Send a message to <a href="mailto:secretary@asiabsdcon.org" target="_blank" rel="nofollow noopener">secretary@asiabsdcon.org</a> with your proposal. Could be either for a talk or a tutorial.</li>
<li>Two days of tutorials/devsummit and two days of conference during Sakura season in Tokyo, Japan</li>
<li>The conference is also looking for sponsors</li>
<li>If accepted, flight and hotel is paid for by the conference</li>
</ul>

<hr>

<p>###<a href="http://project-trident.org/post/2019-01-15_18.12-release_available/" target="_blank" rel="nofollow noopener">Project Trident 18.12 Released</a></p>

<ul>
<li><a href="https://twitter.com/tridentproject" target="_blank" rel="nofollow noopener">Twitter account if you want to keep up on project news</a></li>
<li><a href="https://twitter.com/TridentProject/status/1086010032662237185" target="_blank" rel="nofollow noopener">Screenshots</a></li>
<li><a href="https://t.me/ProjectTrident" target="_blank" rel="nofollow noopener">Project Trident Community Telegram Channel</a></li>
<li><a href="https://distrowatch.com/?newsid=10442" target="_blank" rel="nofollow noopener">DistroWatch Page</a></li>
<li><a href="https://linuxactionnews.com/89?t=395" target="_blank" rel="nofollow noopener">LinuxActionNews Review</a></li>
<li><a href="https://www.youtube.com/watch?v=QjiR1KiacrQ" target="_blank" rel="nofollow noopener">RoboNuggie’s in depth review</a></li>
</ul>

<hr>

<p>###<a href="https://atomicules.co.uk/2019/01/17/Building-Spotifyd-on-NetBSD.html" target="_blank" rel="nofollow noopener">Building Spotifyd on NetBSD</a></p>

<blockquote>
<p>These are the steps I went through to build and run Spotifyd (this commit at the time of writing) on NetBSD AMD64. It’s a Spotify Connect client so it means I still need to control Spotify from another device (typically my phone), but the audio is played through my desktop… which is where my speakers and headphones are plugged in - it means I don’t have to unplug stuff and re-plug into my phone, work laptop, etc. This is 100% a “good enough for now solution” for me; I have had a quick play with the Go based microcontroller from spotcontrol and that allows a completely NetBSD only experience (although it is just an example application so doesn’t provide many features - great as a basis to build on though).</p>
</blockquote>

<hr>

<p>##News Roundup</p>

<p>###<a href="https://opnsense.org/opnsense-18-7-10-released/" target="_blank" rel="nofollow noopener">OPNsense 18.7.10 released</a></p>

<blockquote>
<p>2019 means 19.1 is almost here. In the meantime accept this small<br>
incremental update with goodies such as Suricata 4.1, custom passwords<br>
for P12 certificate export as well as fresh fixes in the FreeBSD base.<br>
A lot of cleanups went into this update to make sure there will be a<br>
smooth transition to 19.1-RC for you early birds. We expect RC1 in 1-2<br>
weeks and the final 19.1 on January 29.</p>
</blockquote>

<hr>

<p>###<a href="https://www.servethehome.com/introducing-the-ultra-epyc-amd-powered-sun-ultra-24-workstation/" target="_blank" rel="nofollow noopener">Introducing the Ultra EPYC AMD Powered Sun Ultra 24 Workstation</a></p>

<blockquote>
<p>A few weeks ago, I got an itch to build a workstation with AMD EPYC. There are a few constraints. First, I needed a higher-clock part. Second, I knew the whole build would be focused more on being an ultra high-end workstation rather than simply utilizing gaming components. With that, I decided it was time to hit on a bit of nostalgia for our readers. Mainly, I wanted to do an homage to Sun Microsystems. Sun made the server gear that the industry ran on for years, and as a fun fact, if you go behind the 1 Hacker Way sign at Facebook’s campus, they left the Sun Microsystems logo. Seeing that made me wonder if we could do an ultimate AMD EPYC build in a Sun Microsystems workstation.</p>
</blockquote>

<hr>

<p>###<a href="https://github.com/kristapsdz/openrsync" target="_blank" rel="nofollow noopener">OpenRsync</a></p>

<blockquote>
<p>This is a clean-room implementation of rsync with a BSD (ISC) license. It is designed to be compatible with a modern rsync (3.1.3 is used for testing). It currently compiles and runs only on OpenBSD.<br>
This project is still very new and very fast-moving.<br>
It’s not ready for wide-spread testing. Or even narrow-spread beyond getting all of the bits to work. It’s not ready for strong attention. Or really any attention but by careful programming.<br>
Many have asked about portability. We’re just not there yet, folks. But don’t worry, the system is easily portable. The hard part for porters is matching OpenBSD’s pledge and unveil.</p>
</blockquote>

<hr>

<p>###<a href="https://blog.netbsd.org/tnf/entry/the_first_report_on_lld" target="_blank" rel="nofollow noopener">The first report on LLD porting</a></p>

<blockquote>
<p>LLD is the link editor (linker) component of Clang toolchain. Its main advantage over GNU ld is much lower memory footprint, and linking speed. It is of specific interest to me since currently 8 GiB of memory are insufficient to link LLVM statically (which is the upstream default).<br>
The first goal of LLD porting is to ensure that LLD can produce working NetBSD executables, and be used to build LLVM itself. Then, it is desirable to look into trying to build additional NetBSD components, and eventually into replacing /usr/bin/ld entirely with lld.<br>
In this report, I would like to shortly summarize the issues I have found so far trying to use LLD on NetBSD.</p>
</blockquote>

<hr>

<p>###<a href="https://euroquis.nl/bobulate/?p=2044" target="_blank" rel="nofollow noopener">Ring in the new</a></p>

<blockquote>
<p>It’s the second week of 2019 already, which means I’m curious what Nate is going to do with his series This week in usability … reset the numbering from week 1? That series is a great read, to keep up with all the little things that change in KDE source each week — aside from the release notes.<br>
For the big ticket items of KDE on FreeBSD, you should read this blog instead.</p>
</blockquote>

<ul>
<li>In ports this week (mostly KDE, some unrelated):</li>
<li>KDE Plasma has been updated to the latest release, 5.14.5.</li>
<li>KDE Applications 18.12.1 were released today, so we’re right on top of them.</li>
<li>Marble was fixed for FreeBSD-running-on-Power9.</li>
<li>Musescore caught up on 18 months of releases.</li>
<li>Phonon updated to 4.10.1, along with its backends.</li>
<li>And in development, Qt WebEngine 5.12 has been prepared in the incongruously-named plasma-5.13 branch in Area51; that does contain all the latest bits described above, as well.</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="http://nomadbsd.org/index.html" target="_blank" rel="nofollow noopener">NomadBSD 1.2-RC1 Released</a></li>
<li><a href="https://twitter.com/q5sys/status/1086443533681209350" target="_blank" rel="nofollow noopener">ZFS - The First Enterprise Blockchain</a></li>
<li><a href="https://www.dragonflybsd.org/docs/user/Powersave/?updated" target="_blank" rel="nofollow noopener">Powersaving with DragonFly laptop</a></li>
<li><a href="https://tests.reproducible-builds.org/netbsd/netbsd.html" target="_blank" rel="nofollow noopener">NetBSD reaches 100% reproducable builds</a></li>
<li><a href="https://old.reddit.com/r/freebsd/comments/ahs53y/bhyve_web_interface/" target="_blank" rel="nofollow noopener">Potential Bhyve Web Interface?</a></li>
<li><a href="https://www.reddit.com/r/openbsd_gaming/comments/adi9sm/libgdx_proof_of_concept_on_openbsd_slay_the_spire/" target="_blank" rel="nofollow noopener">LibGDX proof of concept on OpenBSD</a> - <a href="https://youtu.be/F1loBeHKJt4" target="_blank" rel="nofollow noopener">Video</a></li>
<li><a href="https://www.pgcli.com/launching-litecli.html" target="_blank" rel="nofollow noopener">LiteCLI is a user-friendly CommandLine client for SQLite database</a></li>
<li><a href="https://www.youtube.com/playlist?list=PL94E35692EB9D36F3" target="_blank" rel="nofollow noopener">In honor of Donald Knuth’s 81 birthday Stanford uploaded 111 lectures on Youtube</a></li>
<li><a href="http://dpaste.com/3Q4F6C2" target="_blank" rel="nofollow noopener">Portland BSD Pizza Night - 2018-01-31 19:00 - Sweet Heart Pizza</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/257281738/" target="_blank" rel="nofollow noopener">Stockholm BSD February meetup</a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">Polish BSD User Group: Jan 25 18:15 - 21:00</a></li>
<li><a href="https://2019.asiabsdcon.org/cfp.html.en" target="_blank" rel="nofollow noopener">AsiaBSDcon 2019 CfP</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Greg - <a href="http://dpaste.com/3A6T4HN" target="_blank" rel="nofollow noopener">VLANs and jails</a></li>
<li>Tara - <a href="http://dpaste.com/1X1E3XS#wrap" target="_blank" rel="nofollow noopener">ZFS on removable disks</a></li>
<li>Casey - <a href="http://dpaste.com/08HZ6FP#wrap" target="_blank" rel="nofollow noopener">Interview with Kirk McKusick</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Project Trident 18.12 released, Spotifyd on NetBSD, OPNsense 18.7.10 is available, Ultra EPYC AMD Powered Sun Ultra 24 Workstation, OpenRsync, LLD porting to NetBSD, and more.</p>

<p>##Headlines</p>

<p>###<a href="https://2019.asiabsdcon.org/cfp.html.en" target="_blank" rel="nofollow noopener">AsiaBSDCon 2019 Call for Papers</a></p>

<ul>
<li>You have until Jan 30th to submit</li>
<li>Full paper requirement is relaxed a bit this year (this year ONLY!) due to the short submission window. You don’t need all 10-12 pages, but it is still preferred.</li>
<li>Send a message to <a href="mailto:secretary@asiabsdcon.org" target="_blank" rel="nofollow noopener">secretary@asiabsdcon.org</a> with your proposal. Could be either for a talk or a tutorial.</li>
<li>Two days of tutorials/devsummit and two days of conference during Sakura season in Tokyo, Japan</li>
<li>The conference is also looking for sponsors</li>
<li>If accepted, flight and hotel is paid for by the conference</li>
</ul>

<hr>

<p>###<a href="http://project-trident.org/post/2019-01-15_18.12-release_available/" target="_blank" rel="nofollow noopener">Project Trident 18.12 Released</a></p>

<ul>
<li><a href="https://twitter.com/tridentproject" target="_blank" rel="nofollow noopener">Twitter account if you want to keep up on project news</a></li>
<li><a href="https://twitter.com/TridentProject/status/1086010032662237185" target="_blank" rel="nofollow noopener">Screenshots</a></li>
<li><a href="https://t.me/ProjectTrident" target="_blank" rel="nofollow noopener">Project Trident Community Telegram Channel</a></li>
<li><a href="https://distrowatch.com/?newsid=10442" target="_blank" rel="nofollow noopener">DistroWatch Page</a></li>
<li><a href="https://linuxactionnews.com/89?t=395" target="_blank" rel="nofollow noopener">LinuxActionNews Review</a></li>
<li><a href="https://www.youtube.com/watch?v=QjiR1KiacrQ" target="_blank" rel="nofollow noopener">RoboNuggie’s in depth review</a></li>
</ul>

<hr>

<p>###<a href="https://atomicules.co.uk/2019/01/17/Building-Spotifyd-on-NetBSD.html" target="_blank" rel="nofollow noopener">Building Spotifyd on NetBSD</a></p>

<blockquote>
<p>These are the steps I went through to build and run Spotifyd (this commit at the time of writing) on NetBSD AMD64. It’s a Spotify Connect client so it means I still need to control Spotify from another device (typically my phone), but the audio is played through my desktop… which is where my speakers and headphones are plugged in - it means I don’t have to unplug stuff and re-plug into my phone, work laptop, etc. This is 100% a “good enough for now solution” for me; I have had a quick play with the Go based microcontroller from spotcontrol and that allows a completely NetBSD only experience (although it is just an example application so doesn’t provide many features - great as a basis to build on though).</p>
</blockquote>

<hr>

<p>##News Roundup</p>

<p>###<a href="https://opnsense.org/opnsense-18-7-10-released/" target="_blank" rel="nofollow noopener">OPNsense 18.7.10 released</a></p>

<blockquote>
<p>2019 means 19.1 is almost here. In the meantime accept this small<br>
incremental update with goodies such as Suricata 4.1, custom passwords<br>
for P12 certificate export as well as fresh fixes in the FreeBSD base.<br>
A lot of cleanups went into this update to make sure there will be a<br>
smooth transition to 19.1-RC for you early birds. We expect RC1 in 1-2<br>
weeks and the final 19.1 on January 29.</p>
</blockquote>

<hr>

<p>###<a href="https://www.servethehome.com/introducing-the-ultra-epyc-amd-powered-sun-ultra-24-workstation/" target="_blank" rel="nofollow noopener">Introducing the Ultra EPYC AMD Powered Sun Ultra 24 Workstation</a></p>

<blockquote>
<p>A few weeks ago, I got an itch to build a workstation with AMD EPYC. There are a few constraints. First, I needed a higher-clock part. Second, I knew the whole build would be focused more on being an ultra high-end workstation rather than simply utilizing gaming components. With that, I decided it was time to hit on a bit of nostalgia for our readers. Mainly, I wanted to do an homage to Sun Microsystems. Sun made the server gear that the industry ran on for years, and as a fun fact, if you go behind the 1 Hacker Way sign at Facebook’s campus, they left the Sun Microsystems logo. Seeing that made me wonder if we could do an ultimate AMD EPYC build in a Sun Microsystems workstation.</p>
</blockquote>

<hr>

<p>###<a href="https://github.com/kristapsdz/openrsync" target="_blank" rel="nofollow noopener">OpenRsync</a></p>

<blockquote>
<p>This is a clean-room implementation of rsync with a BSD (ISC) license. It is designed to be compatible with a modern rsync (3.1.3 is used for testing). It currently compiles and runs only on OpenBSD.<br>
This project is still very new and very fast-moving.<br>
It’s not ready for wide-spread testing. Or even narrow-spread beyond getting all of the bits to work. It’s not ready for strong attention. Or really any attention but by careful programming.<br>
Many have asked about portability. We’re just not there yet, folks. But don’t worry, the system is easily portable. The hard part for porters is matching OpenBSD’s pledge and unveil.</p>
</blockquote>

<hr>

<p>###<a href="https://blog.netbsd.org/tnf/entry/the_first_report_on_lld" target="_blank" rel="nofollow noopener">The first report on LLD porting</a></p>

<blockquote>
<p>LLD is the link editor (linker) component of Clang toolchain. Its main advantage over GNU ld is much lower memory footprint, and linking speed. It is of specific interest to me since currently 8 GiB of memory are insufficient to link LLVM statically (which is the upstream default).<br>
The first goal of LLD porting is to ensure that LLD can produce working NetBSD executables, and be used to build LLVM itself. Then, it is desirable to look into trying to build additional NetBSD components, and eventually into replacing /usr/bin/ld entirely with lld.<br>
In this report, I would like to shortly summarize the issues I have found so far trying to use LLD on NetBSD.</p>
</blockquote>

<hr>

<p>###<a href="https://euroquis.nl/bobulate/?p=2044" target="_blank" rel="nofollow noopener">Ring in the new</a></p>

<blockquote>
<p>It’s the second week of 2019 already, which means I’m curious what Nate is going to do with his series This week in usability … reset the numbering from week 1? That series is a great read, to keep up with all the little things that change in KDE source each week — aside from the release notes.<br>
For the big ticket items of KDE on FreeBSD, you should read this blog instead.</p>
</blockquote>

<ul>
<li>In ports this week (mostly KDE, some unrelated):</li>
<li>KDE Plasma has been updated to the latest release, 5.14.5.</li>
<li>KDE Applications 18.12.1 were released today, so we’re right on top of them.</li>
<li>Marble was fixed for FreeBSD-running-on-Power9.</li>
<li>Musescore caught up on 18 months of releases.</li>
<li>Phonon updated to 4.10.1, along with its backends.</li>
<li>And in development, Qt WebEngine 5.12 has been prepared in the incongruously-named plasma-5.13 branch in Area51; that does contain all the latest bits described above, as well.</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="http://nomadbsd.org/index.html" target="_blank" rel="nofollow noopener">NomadBSD 1.2-RC1 Released</a></li>
<li><a href="https://twitter.com/q5sys/status/1086443533681209350" target="_blank" rel="nofollow noopener">ZFS - The First Enterprise Blockchain</a></li>
<li><a href="https://www.dragonflybsd.org/docs/user/Powersave/?updated" target="_blank" rel="nofollow noopener">Powersaving with DragonFly laptop</a></li>
<li><a href="https://tests.reproducible-builds.org/netbsd/netbsd.html" target="_blank" rel="nofollow noopener">NetBSD reaches 100% reproducable builds</a></li>
<li><a href="https://old.reddit.com/r/freebsd/comments/ahs53y/bhyve_web_interface/" target="_blank" rel="nofollow noopener">Potential Bhyve Web Interface?</a></li>
<li><a href="https://www.reddit.com/r/openbsd_gaming/comments/adi9sm/libgdx_proof_of_concept_on_openbsd_slay_the_spire/" target="_blank" rel="nofollow noopener">LibGDX proof of concept on OpenBSD</a> - <a href="https://youtu.be/F1loBeHKJt4" target="_blank" rel="nofollow noopener">Video</a></li>
<li><a href="https://www.pgcli.com/launching-litecli.html" target="_blank" rel="nofollow noopener">LiteCLI is a user-friendly CommandLine client for SQLite database</a></li>
<li><a href="https://www.youtube.com/playlist?list=PL94E35692EB9D36F3" target="_blank" rel="nofollow noopener">In honor of Donald Knuth’s 81 birthday Stanford uploaded 111 lectures on Youtube</a></li>
<li><a href="http://dpaste.com/3Q4F6C2" target="_blank" rel="nofollow noopener">Portland BSD Pizza Night - 2018-01-31 19:00 - Sweet Heart Pizza</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/257281738/" target="_blank" rel="nofollow noopener">Stockholm BSD February meetup</a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">Polish BSD User Group: Jan 25 18:15 - 21:00</a></li>
<li><a href="https://2019.asiabsdcon.org/cfp.html.en" target="_blank" rel="nofollow noopener">AsiaBSDcon 2019 CfP</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Greg - <a href="http://dpaste.com/3A6T4HN" target="_blank" rel="nofollow noopener">VLANs and jails</a></li>
<li>Tara - <a href="http://dpaste.com/1X1E3XS#wrap" target="_blank" rel="nofollow noopener">ZFS on removable disks</a></li>
<li>Casey - <a href="http://dpaste.com/08HZ6FP#wrap" target="_blank" rel="nofollow noopener">Interview with Kirk McKusick</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>281: EPYC Server Battle</title>
  <link>https://www.bsdnow.tv/281</link>
  <guid isPermaLink="false">62f301ee-57b8-4f10-8736-3660f78074a8</guid>
  <pubDate>Thu, 17 Jan 2019 10:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/62f301ee-57b8-4f10-8736-3660f78074a8.mp3" length="50507863" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>SCP client vulnerabilities, BSDs vs Linux benchmarks on a Tyan EPYC Server, fame for the Unix inventors, Die IPv4, GhostBSD 18.12 released, Unix in pictures, and more.</itunes:subtitle>
  <itunes:duration>1:23:52</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>&lt;p&gt;SCP client vulnerabilities, BSDs vs Linux benchmarks on a Tyan EPYC Server, fame for the Unix inventors, Die IPv4, GhostBSD 18.12 released, Unix in pictures, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://sintonen.fi/advisories/scp-client-multiple-vulnerabilities.txt" target="_blank" rel="nofollow noopener"&gt;scp client multiple vulnerabilities&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Overview&lt;/li&gt;
&lt;li&gt;SCP clients from multiple vendors are susceptible to a malicious scp server performing&lt;br&gt;
unauthorized changes to target directory and/or client output manipulation.&lt;/li&gt;
&lt;li&gt;Description&lt;/li&gt;
&lt;li&gt;Many scp clients fail to verify if the objects returned by the scp server match those&lt;br&gt;
it asked for. This issue dates back to 1983 and rcp, on which scp is based. A separate&lt;br&gt;
flaw in the client allows the target directory attributes to be changed arbitrarily.&lt;br&gt;
Finally, two vulnerabilities in clients may allow server to spoof the client output.&lt;/li&gt;
&lt;li&gt;Impact&lt;/li&gt;
&lt;li&gt;Malicious scp server can write arbitrary files to scp target directory, change the&lt;br&gt;
target directory permissions and to spoof the client output.&lt;/li&gt;
&lt;li&gt;Details&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The discovered vulnerabilities, described in more detail below, enables the attack&lt;br&gt;
described here in brief.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;The attacker controlled server or Man-in-the-Middle(*) attack drops .bash_aliases file to victim’s home directory when the victim performs scp operation from the server. The transfer of extra files is hidden by sending ANSI control sequences via stderr. For example:&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;user@local:~$ scp user@remote:readme.txt .&lt;/code&gt;&lt;br&gt;
&lt;code&gt;readme.txt 100% 494 1.6KB/s 00:00&lt;/code&gt;&lt;br&gt;
&lt;code&gt;user@local:~$&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Once the victim launches a new shell, the malicious commands in .bash_aliases get executed.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;*) Man-in-the-Middle attack does require the victim to accept the wrong host fingerprint.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.phoronix.com/scan.php?page=article&amp;amp;item=dfly-freebsd-tyanamd&amp;amp;num=1" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.0 vs. DragonFlyBSD 5.4 vs. TrueOS 18.12 vs. Linux On A Tyan EPYC Server&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Last month when running FreeBSD 12.0 benchmarks on a 2P EPYC server I wasn’t able to run any side-by-side benchmarks with the new DragonFlyBSD 5.4 as this BSD was crashing during the boot process on that board. But fortunately on another AMD EPYC server available, the EPYC 1P TYAN Transport SX TN70A-B8026, DragonFlyBSD 5.4.1 runs fine. So for this first round of BSD benchmarking in 2019 are tests of FreeBSD 11.2, FreeBSD 12.0, DragonFlyBSD 5.4.1, the new TrueOS 18.12, and a few Linux distributions (CentOS 7, Ubuntu 18.04.1 LTS, and Clear Linux) on this EPYC 7601 server in a variety of workloads.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;DragonFlyBSD 5.4.1 ran fine on this Tyan server and could boot fine unlike the issue encountered on the Dell PowerEdge R7425 for this particular BSD. But on the Tyan server, DragonFlyBSD 5.2.2 wouldn’t boot so only this latest DragonFlyBSD release series was used as part of the comparison.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A summary of the operating systems tested for this EPYC 7601 OS benchmark comparison included:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;DragonFlyBSD 5.4.1 - The latest release of Matthew Dillon’s operating system while using the HAMMER2 file-system and GCC 8.1 compiler that is now the default system compiler for this BSD.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;FreeBSD 11.2 - The previous stable release of FreeBSD. Installed with a ZFS file-system.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;FreeBSD 12.0 - The latest stable release of FreeBSD and installed with its ZFS option.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;TrueOS 18.12 - The latest release of the iX systems’ FreeBSD derivative. TrueOS 18.12 is based on FreeBSD 13.0-CURRENT and uses ZFS by default and was using the Clang 7.0.1 compiler compared to Clang 6.0.1 on FreeBSD 12.0.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CentOS Linux 7 - The latest EL7 operating system performance.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ubuntu 18.04.1 LTS - The latest Ubuntu Long Term Support release.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Clear Linux 27120 - The latest rolling release as of testing out of Intel’s Open-Source Technology Center. Clear Linux often reflects as close to the gold standard for performance as possible with its insanely tuned software stack for offering optimal performance on x86_64 performance for generally showing best what the hardware is capable of.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Throughout all of this testing, the Tyan 2U server was kept to its same configuration of an AMD EPYC 7601 (32 cores / 64 threads) at stock speeds, 8 x 16GB DDR4-2666 ECC memory, and 280GB Intel Optane 900p SSD benchmarks.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://www.engadget.com/2019/01/08/national-inventors-hall-of-fame-class-of-2019/" target="_blank" rel="nofollow noopener"&gt;National Inventors Hall of Fame honors creators of Unix&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Dennis Ritchie (Posthumous) and Ken Thompson: UNIX Operating System&lt;br&gt;
Thompson and Ritchie’s creation of the UNIX operating system and the C programming language were pivotal developments in the progress of computer science. Today, 50 years after its beginnings, UNIX and UNIX-like systems continue to run machinery from supercomputers to smartphones. The UNIX operating system remains the basis of much of the world’s computing infrastructure, and C language – written to simplify the development of UNIX – is one of the most widely used languages today.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://ungleich.ch/en-us/cms/blog/2019/01/09/die-ipv4-die/" target="_blank" rel="nofollow noopener"&gt;Die IPV4, Die&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Imagine, it is 2019. Easy, ha? Imagine, it is 2019 and you want to turn off IPv4. Like, off off. Really off. Not disabling IPv6, but disabling IPv4.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Two steps back&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;You might be coming here wondering, why would anybody want to do what we are asking to be done. Well, it is dead simple: We are running data centers (like Data Center Light) with a lot of IPv6 only equipment. There simply is no need for IPv4. So why would we want to have it enabled?&lt;br&gt;
Also, here at ungleich, we defined 2019 as the year to move away from IPv4.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The challenge&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Do you like puzzles? Competitions? Challenges? Hacking? Well. If ANY of this is of your interest, here is a real challenge for you:&lt;br&gt;
We offer a 100 CHF (roughly 100 USD) for anyone who can give us a detailed description of how to turn IPv4 completely off in an operating system and allowing it to communicate with IPv6 only. This should obviously include a tiny proof that your operating system is really unable to use IPv4 at all. Just flushing IPv4 addresses and keeping the IPv4 stack loaded, does not count.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="http://www.ghostbsd.org/18.12_release_announcement" target="_blank" rel="nofollow noopener"&gt;GhostBSD 18.12 released&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;GhostBSD 18.12 is an updated iso of GhostBSD 18.10 with some little changes to the live DVD/USB and with updated packages.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What has changed since 18.10&lt;/li&gt;
&lt;li&gt;removed default call of kernel modules for AMD and Intel&lt;/li&gt;
&lt;li&gt;replaced octopkg by software-station&lt;/li&gt;
&lt;li&gt;added back gop hacks to the live system&lt;/li&gt;
&lt;li&gt;added ghostbsd-drivers and ghostbsd-utils&lt;/li&gt;
&lt;li&gt;we updated the packages to the latest build&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://threader.app/thread/1083054050315243521" target="_blank" rel="nofollow noopener"&gt;And Now for a laugh : #unixinpictures&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.jwz.org/blog/2019/01/we-are-now-closer-to-the-y2038-bug-than-the-y2k-bug/" target="_blank" rel="nofollow noopener"&gt;We are now closer to the Y2038 bug than the Y2K bug&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://old.reddit.com/r/openbsd/comments/ae6b77/openbsd_enterprise_use/" target="_blank" rel="nofollow noopener"&gt;OpenBSD Enterprise use&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://old.reddit.com/r/unix/comments/af0kij/note_the_whole_book_series_in_the_background/" target="_blank" rel="nofollow noopener"&gt;AT&amp;amp;T Unix Books&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://oshogbo.vexillium.org/blog/54/" target="_blank" rel="nofollow noopener"&gt;Process title and missing memory space&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.os2museum.com/wp/the-history-of-a-security-hole/" target="_blank" rel="nofollow noopener"&gt;The History of a Security Hole&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.geoghegan.ca/unbound-adblock.html" target="_blank" rel="nofollow noopener"&gt;unbound-adblock: The ultimate network adblocker!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/wheelsystems/nvlist" target="_blank" rel="nofollow noopener"&gt;FreeBSD’s name/value pairs library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/unix/PidRollover" target="_blank" rel="nofollow noopener"&gt;Pid Rollover&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.cambus.net/booting-openbsd-kernels-in-efi-mode-with-qemu/" target="_blank" rel="nofollow noopener"&gt;Booting OpenBSD kernels in EFI mode with QEMU&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-cvs&amp;amp;m=154715734504845&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD CVS commit: Make mincore lie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bsdcan.org/2019/papers.php" target="_blank" rel="nofollow noopener"&gt;BSDCan 2019 CfP ending January 19 - Submit!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.eventbrite.com/e/zfs-user-conference-2019-tickets-54530403906" target="_blank" rel="nofollow noopener"&gt;OpenZFS User Conference - April 18-19&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/journal/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal is a free publication now&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chris - &lt;a href="http://dpaste.com/101P5HA" target="_blank" rel="nofollow noopener"&gt;Boot environments and SSDs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jonathan - &lt;a href="http://dpaste.com/0YTPYV4" target="_blank" rel="nofollow noopener"&gt;Bytes issued during a zpool scrub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Bostjan - &lt;a href="http://dpaste.com/0Q97J7H#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS Record Size and my mistakes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <content:encoded>
    <![CDATA[<p>SCP client vulnerabilities, BSDs vs Linux benchmarks on a Tyan EPYC Server, fame for the Unix inventors, Die IPv4, GhostBSD 18.12 released, Unix in pictures, and more.</p>

<p>##Headlines<br>
###<a href="https://sintonen.fi/advisories/scp-client-multiple-vulnerabilities.txt" target="_blank" rel="nofollow noopener">scp client multiple vulnerabilities</a></p>

<ul>
<li>Overview</li>
<li>SCP clients from multiple vendors are susceptible to a malicious scp server performing<br>
unauthorized changes to target directory and/or client output manipulation.</li>
<li>Description</li>
<li>Many scp clients fail to verify if the objects returned by the scp server match those<br>
it asked for. This issue dates back to 1983 and rcp, on which scp is based. A separate<br>
flaw in the client allows the target directory attributes to be changed arbitrarily.<br>
Finally, two vulnerabilities in clients may allow server to spoof the client output.</li>
<li>Impact</li>
<li>Malicious scp server can write arbitrary files to scp target directory, change the<br>
target directory permissions and to spoof the client output.</li>
<li>Details</li>
</ul>

<blockquote>
<p>The discovered vulnerabilities, described in more detail below, enables the attack<br>
described here in brief.</p>
</blockquote>

<ul>
<li>
<ol>
<li>The attacker controlled server or Man-in-the-Middle(*) attack drops .bash_aliases file to victim’s home directory when the victim performs scp operation from the server. The transfer of extra files is hidden by sending ANSI control sequences via stderr. For example:</li>
</ol>
</li>
</ul>

<p><code>user@local:~$ scp user@remote:readme.txt .</code><br>
<code>readme.txt 100% 494 1.6KB/s 00:00</code><br>
<code>user@local:~$</code></p>

<ul>
<li>
<ol>
<li>Once the victim launches a new shell, the malicious commands in .bash_aliases get executed.</li>
</ol>
</li>
<li>*) Man-in-the-Middle attack does require the victim to accept the wrong host fingerprint.</li>
</ul>

<hr>

<p>###<a href="https://www.phoronix.com/scan.php?page=article&amp;item=dfly-freebsd-tyanamd&amp;num=1" target="_blank" rel="nofollow noopener">FreeBSD 12.0 vs. DragonFlyBSD 5.4 vs. TrueOS 18.12 vs. Linux On A Tyan EPYC Server</a></p>

<blockquote>
<p>Last month when running FreeBSD 12.0 benchmarks on a 2P EPYC server I wasn’t able to run any side-by-side benchmarks with the new DragonFlyBSD 5.4 as this BSD was crashing during the boot process on that board. But fortunately on another AMD EPYC server available, the EPYC 1P TYAN Transport SX TN70A-B8026, DragonFlyBSD 5.4.1 runs fine. So for this first round of BSD benchmarking in 2019 are tests of FreeBSD 11.2, FreeBSD 12.0, DragonFlyBSD 5.4.1, the new TrueOS 18.12, and a few Linux distributions (CentOS 7, Ubuntu 18.04.1 LTS, and Clear Linux) on this EPYC 7601 server in a variety of workloads.</p>
</blockquote>

<blockquote>
<p>DragonFlyBSD 5.4.1 ran fine on this Tyan server and could boot fine unlike the issue encountered on the Dell PowerEdge R7425 for this particular BSD. But on the Tyan server, DragonFlyBSD 5.2.2 wouldn’t boot so only this latest DragonFlyBSD release series was used as part of the comparison.</p>
</blockquote>

<ul>
<li>
<p>A summary of the operating systems tested for this EPYC 7601 OS benchmark comparison included:</p>
</li>
<li>
<p>DragonFlyBSD 5.4.1 - The latest release of Matthew Dillon’s operating system while using the HAMMER2 file-system and GCC 8.1 compiler that is now the default system compiler for this BSD.</p>
</li>
<li>
<p>FreeBSD 11.2 - The previous stable release of FreeBSD. Installed with a ZFS file-system.</p>
</li>
<li>
<p>FreeBSD 12.0 - The latest stable release of FreeBSD and installed with its ZFS option.</p>
</li>
<li>
<p>TrueOS 18.12 - The latest release of the iX systems’ FreeBSD derivative. TrueOS 18.12 is based on FreeBSD 13.0-CURRENT and uses ZFS by default and was using the Clang 7.0.1 compiler compared to Clang 6.0.1 on FreeBSD 12.0.</p>
</li>
<li>
<p>CentOS Linux 7 - The latest EL7 operating system performance.</p>
</li>
<li>
<p>Ubuntu 18.04.1 LTS - The latest Ubuntu Long Term Support release.</p>
</li>
<li>
<p>Clear Linux 27120 - The latest rolling release as of testing out of Intel’s Open-Source Technology Center. Clear Linux often reflects as close to the gold standard for performance as possible with its insanely tuned software stack for offering optimal performance on x86_64 performance for generally showing best what the hardware is capable of.</p>
</li>
</ul>

<blockquote>
<p>Throughout all of this testing, the Tyan 2U server was kept to its same configuration of an AMD EPYC 7601 (32 cores / 64 threads) at stock speeds, 8 x 16GB DDR4-2666 ECC memory, and 280GB Intel Optane 900p SSD benchmarks.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://www.engadget.com/2019/01/08/national-inventors-hall-of-fame-class-of-2019/" target="_blank" rel="nofollow noopener">National Inventors Hall of Fame honors creators of Unix</a></p>

<blockquote>
<p>Dennis Ritchie (Posthumous) and Ken Thompson: UNIX Operating System<br>
Thompson and Ritchie’s creation of the UNIX operating system and the C programming language were pivotal developments in the progress of computer science. Today, 50 years after its beginnings, UNIX and UNIX-like systems continue to run machinery from supercomputers to smartphones. The UNIX operating system remains the basis of much of the world’s computing infrastructure, and C language – written to simplify the development of UNIX – is one of the most widely used languages today.</p>
</blockquote>

<hr>

<p>###<a href="https://ungleich.ch/en-us/cms/blog/2019/01/09/die-ipv4-die/" target="_blank" rel="nofollow noopener">Die IPV4, Die</a></p>

<blockquote>
<p>Imagine, it is 2019. Easy, ha? Imagine, it is 2019 and you want to turn off IPv4. Like, off off. Really off. Not disabling IPv6, but disabling IPv4.</p>
</blockquote>

<ul>
<li>Two steps back</li>
</ul>

<blockquote>
<p>You might be coming here wondering, why would anybody want to do what we are asking to be done. Well, it is dead simple: We are running data centers (like Data Center Light) with a lot of IPv6 only equipment. There simply is no need for IPv4. So why would we want to have it enabled?<br>
Also, here at ungleich, we defined 2019 as the year to move away from IPv4.</p>
</blockquote>

<ul>
<li>The challenge</li>
</ul>

<blockquote>
<p>Do you like puzzles? Competitions? Challenges? Hacking? Well. If ANY of this is of your interest, here is a real challenge for you:<br>
We offer a 100 CHF (roughly 100 USD) for anyone who can give us a detailed description of how to turn IPv4 completely off in an operating system and allowing it to communicate with IPv6 only. This should obviously include a tiny proof that your operating system is really unable to use IPv4 at all. Just flushing IPv4 addresses and keeping the IPv4 stack loaded, does not count.</p>
</blockquote>

<hr>

<p>###<a href="http://www.ghostbsd.org/18.12_release_announcement" target="_blank" rel="nofollow noopener">GhostBSD 18.12 released</a></p>

<blockquote>
<p>GhostBSD 18.12 is an updated iso of GhostBSD 18.10 with some little changes to the live DVD/USB and with updated packages.</p>
</blockquote>

<ul>
<li>What has changed since 18.10</li>
<li>removed default call of kernel modules for AMD and Intel</li>
<li>replaced octopkg by software-station</li>
<li>added back gop hacks to the live system</li>
<li>added ghostbsd-drivers and ghostbsd-utils</li>
<li>we updated the packages to the latest build</li>
</ul>

<hr>

<p>###<a href="https://threader.app/thread/1083054050315243521" target="_blank" rel="nofollow noopener">And Now for a laugh : #unixinpictures</a></p>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.jwz.org/blog/2019/01/we-are-now-closer-to-the-y2038-bug-than-the-y2k-bug/" target="_blank" rel="nofollow noopener">We are now closer to the Y2038 bug than the Y2K bug</a></li>
<li><a href="https://old.reddit.com/r/openbsd/comments/ae6b77/openbsd_enterprise_use/" target="_blank" rel="nofollow noopener">OpenBSD Enterprise use</a></li>
<li><a href="https://old.reddit.com/r/unix/comments/af0kij/note_the_whole_book_series_in_the_background/" target="_blank" rel="nofollow noopener">AT&amp;T Unix Books</a></li>
<li><a href="https://oshogbo.vexillium.org/blog/54/" target="_blank" rel="nofollow noopener">Process title and missing memory space</a></li>
<li><a href="http://www.os2museum.com/wp/the-history-of-a-security-hole/" target="_blank" rel="nofollow noopener">The History of a Security Hole</a></li>
<li><a href="https://www.geoghegan.ca/unbound-adblock.html" target="_blank" rel="nofollow noopener">unbound-adblock: The ultimate network adblocker!</a></li>
<li><a href="https://github.com/wheelsystems/nvlist" target="_blank" rel="nofollow noopener">FreeBSD’s name/value pairs library</a></li>
<li><a href="https://utcc.utoronto.ca/~cks/space/blog/unix/PidRollover" target="_blank" rel="nofollow noopener">Pid Rollover</a></li>
<li><a href="https://www.cambus.net/booting-openbsd-kernels-in-efi-mode-with-qemu/" target="_blank" rel="nofollow noopener">Booting OpenBSD kernels in EFI mode with QEMU</a></li>
<li><a href="https://marc.info/?l=openbsd-cvs&amp;m=154715734504845&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD CVS commit: Make mincore lie</a></li>
<li><a href="http://www.bsdcan.org/2019/papers.php" target="_blank" rel="nofollow noopener">BSDCan 2019 CfP ending January 19 - Submit!</a></li>
<li><a href="https://www.eventbrite.com/e/zfs-user-conference-2019-tickets-54530403906" target="_blank" rel="nofollow noopener">OpenZFS User Conference - April 18-19</a></li>
<li><a href="https://www.freebsdfoundation.org/journal/" target="_blank" rel="nofollow noopener">FreeBSD Journal is a free publication now</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Chris - <a href="http://dpaste.com/101P5HA" target="_blank" rel="nofollow noopener">Boot environments and SSDs</a></li>
<li>Jonathan - <a href="http://dpaste.com/0YTPYV4" target="_blank" rel="nofollow noopener">Bytes issued during a zpool scrub</a></li>
<li>Bostjan - <a href="http://dpaste.com/0Q97J7H#wrap" target="_blank" rel="nofollow noopener">ZFS Record Size and my mistakes</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>SCP client vulnerabilities, BSDs vs Linux benchmarks on a Tyan EPYC Server, fame for the Unix inventors, Die IPv4, GhostBSD 18.12 released, Unix in pictures, and more.</p>

<p>##Headlines<br>
###<a href="https://sintonen.fi/advisories/scp-client-multiple-vulnerabilities.txt" target="_blank" rel="nofollow noopener">scp client multiple vulnerabilities</a></p>

<ul>
<li>Overview</li>
<li>SCP clients from multiple vendors are susceptible to a malicious scp server performing<br>
unauthorized changes to target directory and/or client output manipulation.</li>
<li>Description</li>
<li>Many scp clients fail to verify if the objects returned by the scp server match those<br>
it asked for. This issue dates back to 1983 and rcp, on which scp is based. A separate<br>
flaw in the client allows the target directory attributes to be changed arbitrarily.<br>
Finally, two vulnerabilities in clients may allow server to spoof the client output.</li>
<li>Impact</li>
<li>Malicious scp server can write arbitrary files to scp target directory, change the<br>
target directory permissions and to spoof the client output.</li>
<li>Details</li>
</ul>

<blockquote>
<p>The discovered vulnerabilities, described in more detail below, enables the attack<br>
described here in brief.</p>
</blockquote>

<ul>
<li>
<ol>
<li>The attacker controlled server or Man-in-the-Middle(*) attack drops .bash_aliases file to victim’s home directory when the victim performs scp operation from the server. The transfer of extra files is hidden by sending ANSI control sequences via stderr. For example:</li>
</ol>
</li>
</ul>

<p><code>user@local:~$ scp user@remote:readme.txt .</code><br>
<code>readme.txt 100% 494 1.6KB/s 00:00</code><br>
<code>user@local:~$</code></p>

<ul>
<li>
<ol>
<li>Once the victim launches a new shell, the malicious commands in .bash_aliases get executed.</li>
</ol>
</li>
<li>*) Man-in-the-Middle attack does require the victim to accept the wrong host fingerprint.</li>
</ul>

<hr>

<p>###<a href="https://www.phoronix.com/scan.php?page=article&amp;item=dfly-freebsd-tyanamd&amp;num=1" target="_blank" rel="nofollow noopener">FreeBSD 12.0 vs. DragonFlyBSD 5.4 vs. TrueOS 18.12 vs. Linux On A Tyan EPYC Server</a></p>

<blockquote>
<p>Last month when running FreeBSD 12.0 benchmarks on a 2P EPYC server I wasn’t able to run any side-by-side benchmarks with the new DragonFlyBSD 5.4 as this BSD was crashing during the boot process on that board. But fortunately on another AMD EPYC server available, the EPYC 1P TYAN Transport SX TN70A-B8026, DragonFlyBSD 5.4.1 runs fine. So for this first round of BSD benchmarking in 2019 are tests of FreeBSD 11.2, FreeBSD 12.0, DragonFlyBSD 5.4.1, the new TrueOS 18.12, and a few Linux distributions (CentOS 7, Ubuntu 18.04.1 LTS, and Clear Linux) on this EPYC 7601 server in a variety of workloads.</p>
</blockquote>

<blockquote>
<p>DragonFlyBSD 5.4.1 ran fine on this Tyan server and could boot fine unlike the issue encountered on the Dell PowerEdge R7425 for this particular BSD. But on the Tyan server, DragonFlyBSD 5.2.2 wouldn’t boot so only this latest DragonFlyBSD release series was used as part of the comparison.</p>
</blockquote>

<ul>
<li>
<p>A summary of the operating systems tested for this EPYC 7601 OS benchmark comparison included:</p>
</li>
<li>
<p>DragonFlyBSD 5.4.1 - The latest release of Matthew Dillon’s operating system while using the HAMMER2 file-system and GCC 8.1 compiler that is now the default system compiler for this BSD.</p>
</li>
<li>
<p>FreeBSD 11.2 - The previous stable release of FreeBSD. Installed with a ZFS file-system.</p>
</li>
<li>
<p>FreeBSD 12.0 - The latest stable release of FreeBSD and installed with its ZFS option.</p>
</li>
<li>
<p>TrueOS 18.12 - The latest release of the iX systems’ FreeBSD derivative. TrueOS 18.12 is based on FreeBSD 13.0-CURRENT and uses ZFS by default and was using the Clang 7.0.1 compiler compared to Clang 6.0.1 on FreeBSD 12.0.</p>
</li>
<li>
<p>CentOS Linux 7 - The latest EL7 operating system performance.</p>
</li>
<li>
<p>Ubuntu 18.04.1 LTS - The latest Ubuntu Long Term Support release.</p>
</li>
<li>
<p>Clear Linux 27120 - The latest rolling release as of testing out of Intel’s Open-Source Technology Center. Clear Linux often reflects as close to the gold standard for performance as possible with its insanely tuned software stack for offering optimal performance on x86_64 performance for generally showing best what the hardware is capable of.</p>
</li>
</ul>

<blockquote>
<p>Throughout all of this testing, the Tyan 2U server was kept to its same configuration of an AMD EPYC 7601 (32 cores / 64 threads) at stock speeds, 8 x 16GB DDR4-2666 ECC memory, and 280GB Intel Optane 900p SSD benchmarks.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://www.engadget.com/2019/01/08/national-inventors-hall-of-fame-class-of-2019/" target="_blank" rel="nofollow noopener">National Inventors Hall of Fame honors creators of Unix</a></p>

<blockquote>
<p>Dennis Ritchie (Posthumous) and Ken Thompson: UNIX Operating System<br>
Thompson and Ritchie’s creation of the UNIX operating system and the C programming language were pivotal developments in the progress of computer science. Today, 50 years after its beginnings, UNIX and UNIX-like systems continue to run machinery from supercomputers to smartphones. The UNIX operating system remains the basis of much of the world’s computing infrastructure, and C language – written to simplify the development of UNIX – is one of the most widely used languages today.</p>
</blockquote>

<hr>

<p>###<a href="https://ungleich.ch/en-us/cms/blog/2019/01/09/die-ipv4-die/" target="_blank" rel="nofollow noopener">Die IPV4, Die</a></p>

<blockquote>
<p>Imagine, it is 2019. Easy, ha? Imagine, it is 2019 and you want to turn off IPv4. Like, off off. Really off. Not disabling IPv6, but disabling IPv4.</p>
</blockquote>

<ul>
<li>Two steps back</li>
</ul>

<blockquote>
<p>You might be coming here wondering, why would anybody want to do what we are asking to be done. Well, it is dead simple: We are running data centers (like Data Center Light) with a lot of IPv6 only equipment. There simply is no need for IPv4. So why would we want to have it enabled?<br>
Also, here at ungleich, we defined 2019 as the year to move away from IPv4.</p>
</blockquote>

<ul>
<li>The challenge</li>
</ul>

<blockquote>
<p>Do you like puzzles? Competitions? Challenges? Hacking? Well. If ANY of this is of your interest, here is a real challenge for you:<br>
We offer a 100 CHF (roughly 100 USD) for anyone who can give us a detailed description of how to turn IPv4 completely off in an operating system and allowing it to communicate with IPv6 only. This should obviously include a tiny proof that your operating system is really unable to use IPv4 at all. Just flushing IPv4 addresses and keeping the IPv4 stack loaded, does not count.</p>
</blockquote>

<hr>

<p>###<a href="http://www.ghostbsd.org/18.12_release_announcement" target="_blank" rel="nofollow noopener">GhostBSD 18.12 released</a></p>

<blockquote>
<p>GhostBSD 18.12 is an updated iso of GhostBSD 18.10 with some little changes to the live DVD/USB and with updated packages.</p>
</blockquote>

<ul>
<li>What has changed since 18.10</li>
<li>removed default call of kernel modules for AMD and Intel</li>
<li>replaced octopkg by software-station</li>
<li>added back gop hacks to the live system</li>
<li>added ghostbsd-drivers and ghostbsd-utils</li>
<li>we updated the packages to the latest build</li>
</ul>

<hr>

<p>###<a href="https://threader.app/thread/1083054050315243521" target="_blank" rel="nofollow noopener">And Now for a laugh : #unixinpictures</a></p>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.jwz.org/blog/2019/01/we-are-now-closer-to-the-y2038-bug-than-the-y2k-bug/" target="_blank" rel="nofollow noopener">We are now closer to the Y2038 bug than the Y2K bug</a></li>
<li><a href="https://old.reddit.com/r/openbsd/comments/ae6b77/openbsd_enterprise_use/" target="_blank" rel="nofollow noopener">OpenBSD Enterprise use</a></li>
<li><a href="https://old.reddit.com/r/unix/comments/af0kij/note_the_whole_book_series_in_the_background/" target="_blank" rel="nofollow noopener">AT&amp;T Unix Books</a></li>
<li><a href="https://oshogbo.vexillium.org/blog/54/" target="_blank" rel="nofollow noopener">Process title and missing memory space</a></li>
<li><a href="http://www.os2museum.com/wp/the-history-of-a-security-hole/" target="_blank" rel="nofollow noopener">The History of a Security Hole</a></li>
<li><a href="https://www.geoghegan.ca/unbound-adblock.html" target="_blank" rel="nofollow noopener">unbound-adblock: The ultimate network adblocker!</a></li>
<li><a href="https://github.com/wheelsystems/nvlist" target="_blank" rel="nofollow noopener">FreeBSD’s name/value pairs library</a></li>
<li><a href="https://utcc.utoronto.ca/~cks/space/blog/unix/PidRollover" target="_blank" rel="nofollow noopener">Pid Rollover</a></li>
<li><a href="https://www.cambus.net/booting-openbsd-kernels-in-efi-mode-with-qemu/" target="_blank" rel="nofollow noopener">Booting OpenBSD kernels in EFI mode with QEMU</a></li>
<li><a href="https://marc.info/?l=openbsd-cvs&amp;m=154715734504845&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD CVS commit: Make mincore lie</a></li>
<li><a href="http://www.bsdcan.org/2019/papers.php" target="_blank" rel="nofollow noopener">BSDCan 2019 CfP ending January 19 - Submit!</a></li>
<li><a href="https://www.eventbrite.com/e/zfs-user-conference-2019-tickets-54530403906" target="_blank" rel="nofollow noopener">OpenZFS User Conference - April 18-19</a></li>
<li><a href="https://www.freebsdfoundation.org/journal/" target="_blank" rel="nofollow noopener">FreeBSD Journal is a free publication now</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Chris - <a href="http://dpaste.com/101P5HA" target="_blank" rel="nofollow noopener">Boot environments and SSDs</a></li>
<li>Jonathan - <a href="http://dpaste.com/0YTPYV4" target="_blank" rel="nofollow noopener">Bytes issued during a zpool scrub</a></li>
<li>Bostjan - <a href="http://dpaste.com/0Q97J7H#wrap" target="_blank" rel="nofollow noopener">ZFS Record Size and my mistakes</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 280: FOSS Clothing | BSD Now 280</title>
  <link>https://www.bsdnow.tv/280</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-3132</guid>
  <pubDate>Thu, 10 Jan 2019 03:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/bad2a854-7f51-4ff6-84a9-7c324c5cf277.mp3" length="31619268" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>A EULA in FOSS clothing, NetBSD with more LLVM support, Thoughts on FreeBSD 12.0, FreeBSD Performance against Windows and Linux on Xeon, Microsoft shipping NetBSD, and more.</itunes:subtitle>
  <itunes:duration>52:23</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>&lt;p&gt;A EULA in FOSS clothing, NetBSD with more LLVM support, Thoughts on FreeBSD 12.0, FreeBSD Performance against Windows and Linux on Xeon, Microsoft shipping NetBSD, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://dtrace.org/blogs/bmc/2018/12/16/a-eula-in-foss-clothing/" target="_blank" rel="nofollow noopener"&gt;A EULA in FOSS clothing?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;There was a tremendous amount of reaction to and discussion about &lt;a href="http://dtrace.org/blogs/bmc/2018/12/14/open-source-confronts-its-midlife-crisis/" target="_blank" rel="nofollow noopener"&gt;my blog entry on the midlife crisis in open source&lt;/a&gt;. As part of this discussion on HN, Jay Kreps of Confluent took the time to write a &lt;a href="https://news.ycombinator.com/item?id=18687498#18689179" target="_blank" rel="nofollow noopener"&gt;detailed response&lt;/a&gt; — which he shortly thereafter elevated into a &lt;a href="https://medium.com/@jaykreps/a-quick-comment-on-bryan-cantrills-blog-on-licensing-8dccee41d9e6" target="_blank" rel="nofollow noopener"&gt;blog entry&lt;/a&gt;.&lt;/blockquote&gt;

&lt;blockquote&gt;Let me be clear that I hold Jay in high regard, as both a software engineer and an entrepreneur — and I appreciate the time he took to write a thoughtful response. That said, there are aspects of his response that I found troubling enough to closely re-read the Confluent Community License — and that in turn has led me to a deeply disturbing realization about what is potentially going on here.&lt;/blockquote&gt;

&lt;blockquote&gt;To GitHub: Assuming that this is in fact a EULA, I think it is perilous to allow EULAs to sit in public repositories. It’s one thing to have one click through to accept a license (though again, that itself is dubious), but to say that a git clone is an implicit acceptance of a contract that happens to be sitting somewhere in the repository beggars belief. With efforts like &lt;a href="http://choosealicense.com" target="_blank" rel="nofollow noopener"&gt;choosealicense.com&lt;/a&gt;, GitHub has been a model in guiding projects with respect to licensing; it would be helpful for GitHub’s counsel to weigh in on their view of this new strain of source-available proprietary software and the degree to which it comes into conflict with GitHub’s own terms of service.&lt;/blockquote&gt;

&lt;blockquote&gt;To foundations concerned with software liberties, including the Apache Foundation, the Linux Foundation, the Free Software Foundation, the Electronic Frontier Foundation, the Open Source Initiative, and the Software Freedom Conservancy: the open source community needs your legal review on this! I don’t think I’m being too alarmist when I say that this is potentially a dangerous new precedent being set; it would be very helpful to have your lawyers offer their perspectives on this, even if they disagree with one another. We seem to be in some terrible new era of frankenlicenses, where the worst of proprietary licenses are bolted on to the goodwill created by open source licenses; we need your legal voices before these creatures destroy the village!&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;NetBSD and LLVM&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/netbsd_entering_2019_with_more" target="_blank" rel="nofollow noopener"&gt;NetBSD entering 2019 with more complete LLVM support&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;I’m recently helping the NetBSD developers to improve the support for this operating system in various LLVM components. As you can read in my previous report, I’ve been focusing on fixing build and test failures for the purpose of improving the buildbot coverage.
Previously, I’ve resolved test failures in LLVM, Clang, LLD, libunwind, openmp and partially libc++. During the remainder of the month, I’ve been working on the remaining libc++ test failures, improving the NetBSD clang driver and helping Kamil Rytarowski with compiler-rt.&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/the_process_of_upstreaming_support" target="_blank" rel="nofollow noopener"&gt;The process of upstreaming support to LLVM sanitizers has been finalized&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;I’ve finished the process of upstreaming patches to LLVM sanitizers (almost 2000LOC of local code) and submitted to upstream new improvements for the NetBSD support. Today out of the box (in unpatched version) we have support for a variety of compiler-rt LLVM features: ASan (finds unauthorized memory access), UBSan (finds unspecified code semantics), TSan (finds threading bugs), MSan (finds uninitialized memory use), SafeStack (double stack hardening), Profile (code coverage), XRay (dynamic code tracing); while other ones such as Scudo (hardened allocator) or DFSan (generic data flow sanitizer) are not far away from completeness.
The NetBSD support is no longer visibly lacking behind Linux in sanitizers, although there are still failing tests on NetBSD that are not observed on Linux. On the other hand there are features working on NetBSD that are not functional on Linux, like sanitizing programs during early initialization process of OS (this is caused by /proc dependency on Linux that is mounted by startup programs, while NetBSD relies on sysctl(3) interfaces that is always available).&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://distrowatch.com/weekly.php?issue=20190107#freebsd" target="_blank" rel="nofollow noopener"&gt;Thoughts on FreeBSD 12.0&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;Playing with FreeBSD with past week I don’t feel as though there were any big surprises or changes in this release compared to FreeBSD 11. In typical FreeBSD fashion, progress tends to be evolutionary rather than revolutionary, and this release feels like a polished and improved incremental step forward. I like that the installer handles both UFS and ZFS guided partitioning now and in a friendly manner. In the past I had trouble getting FreeBSD’s boot menu to work with boot environments, but that has been fixed for this release.
I like the security options in the installer too. These are not new, but I think worth mentioning. FreeBSD, unlike most Linux distributions, offers several low-level security options (like hiding other users’ processes and randomizing PIDs) and I like having these presented at install time. It’s harder for people to attack what they cannot see, or predict, and FreeBSD optionally makes these little adjustment for us.
Something which stands out about FreeBSD, compared to most Linux distributions I run, is that FreeBSD rarely holds the user’s hand, but also rarely surprises the user. This means there is more reading to do up front and new users may struggle to get used to editing configuration files in a text editor. But FreeBSD rarely does anything unless told to do it. Updates rarely change the system’s behaviour, working technology rarely gets swapped out for something new, the system and its applications never crashed during my trial. Everything was rock solid. The operating system may seem like a minimal, blank slate to new users, but it’s wonderfully dependable and predictable in my experience.
I probably wouldn’t recommend FreeBSD for desktop use. It’s close relative, GhostBSD, ships with a friendly desktop and does special work to make end user applications run smoothly. But for people who want to run servers, possible for years without change or issues, FreeBSD is a great option. It’s also an attractive choice, in my opinion, for people who like to build their system from the ground up, like you would with Debian’s server install or Arch Linux. Apart from the base tools and documentation, there is nothing on a FreeBSD system apart from what we put on it.&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=article&amp;amp;item=freebsd-12-windows&amp;amp;num=1" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.0 Performance Against Windows &amp;amp; Linux On An Intel Xeon Server&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;Last week I posted benchmarks of Windows Server 2019 against various Linux distributions using a Tyan dual socket Intel Xeon server. In this article are some complementary results when adding in the performance of FreeBSD 11.2 against the new FreeBSD 12.0 stable release for this leading BSD operating system. As some fun benchmarks to end out 2018, here are the results of FreeBSD 11.2/12.0 (including an additional run when using GCC rather than Clang) up against Windows Server and several enterprise-ready Linux distributions.
While FreeBSD 12.0 had picked up just one win of the Windows/Linux comparisons run, the FreeBSD performance is moving in the right direction. FreeBSD 12.0 was certainly faster than FreeBSD 11.2 on this dual Intel Xeon Scalable server based on a Tyan 1U platform. Meanwhile, to no surprise given the data last week, Clear Linux was by far the fastest out-of-the-box operating system tested.
I did run some extra benchmarks on FreeBSD 11.2/12.0 with this hardware: in total I ran 120 benchmarks for these BSD tests. Of the 120 tests, there were just 15 cases where FreeBSD 11.2 was faster than 12.0. Seeing FreeBSD 12.0 faster than 11.2 nearly 90% of the time is an accomplishment and usually with other operating systems we see more of a mixed bag on new releases with not such solidly better performance. It was also great seeing the competitive performance out of FreeBSD when using the Clang compiler for the source-based tests compared to the GCC8 performance. Additional data available via this &lt;a href="http://OpenBenchmarking.org" target="_blank" rel="nofollow noopener"&gt;OpenBenchmarking.org&lt;/a&gt; result file.&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://fogey.com/contemplating/?p=1023" target="_blank" rel="nofollow noopener"&gt;How NetBSD came to be shipped by Microsoft&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://webcache.googleusercontent.com/search?q=cache:5XwAm5tvJ4AJ:fogey.com/contemplating/%3Fp%3D1023+&amp;amp;cd=1&amp;amp;hl=en&amp;amp;ct=clnk&amp;amp;gl=us" target="_blank" rel="nofollow noopener"&gt;Google cache in case the site is down&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;In 2000, Joe Britt, Matt Hershenson and Andy Rubin formed Danger Incorporated. Danger developed the world’s first recognizable smartphone, the Danger HipTop. T-Mobile sold the first HipTop under the brand name Sidekick in October of 2002.
Danger had a well developed kernel that had been designed and built in house. The kernel came to be viewed as not a core intellectual property and Danger started a search for a replacement. For business reasons, mostly to do with legal concerns over the Gnu Public License, Danger rejected Linux and began to consider BSD Unix as a replacement for the kernel.
In 2006 I was hired by Mike Chen, the manager of the kernel development group to investigate the feasibility of replacing the Danger kernel with a BSD kernel, to select the version of BSD to use, to develop a prototype and to develop the plan for adapting BSD to Danger’s requirements.
NetBSD was easily the best choice among the BSD variations at the time because it had well developed cross development tools. It was easy to use a NetBSD desktop running an Intel release to cross compile a NetBSD kernel and runtime for a device running an ARM processor. (Those interested in mailing list archaeology might be amused to investigate NetBSD technical mailing list for mail from picovex, particularly from Bucky Katz at picovex.)
We began product development on the specific prototype of the phone that would become the Sidekick LX2009 in 2007 and contracts for the phone were written with T-Mobile. We were about half way through the two year development cycle when Microsoft purchased Danger in 2008.
Microsoft would have preferred to ship the Sidekick running Windows/CE rather than NetBSD, but a schedule analysis performed by me, and another by an independent outside contractor, indicated that doing so would result in unacceptable delay.&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://lists.31bits.net/archives/devel/2018-December/000033.html" target="_blank" rel="nofollow noopener"&gt;Unleashed 1.2 Released&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://media.ccc.de/v/35c3-9647-taming_the_chaos_can_we_build_systems_that_actually_work" target="_blank" rel="nofollow noopener"&gt;35th CCC - Taming the Chaos: Can we build systems that actually work? &lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://rachelbythebay.com/w/2018/12/30/v6/" target="_blank" rel="nofollow noopener"&gt;Potholes to avoid when migrating to IPv6&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://www.jwz.org/blog/2018/12/xscreensaver-5-41/" target="_blank" rel="nofollow noopener"&gt;XScreenSaver 5.42&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://hackertarget.com/ssh-examples-tunnels/" target="_blank" rel="nofollow noopener"&gt;SSH Examples and Tunnels&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://old.reddit.com/r/freebsd/comments/abevqa/mbuf9_request_for_comment/" target="_blank" rel="nofollow noopener"&gt;Help request - mbuf(9) - request for comment&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://www.zdnet.com/article/nsa-to-release-a-free-reverse-engineering-tool/" target="_blank" rel="nofollow noopener"&gt;NSA to release free Reverse Engineering Tool&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://blog.grem.de/sysadmin/FreeBSD-On-rpi3-With-crochet-2018-10-27-18-00.html" target="_blank" rel="nofollow noopener"&gt;Running FreeBSD on a Raspberry Pi3 using a custom image created with crochet and poudriere&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
    &lt;li&gt;Dries - &lt;a href="http://dpaste.com/2DCEJD6#wrap" target="_blank" rel="nofollow noopener"&gt;Lets talk a bit about VIMAGE jails&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;ohb - &lt;a href="http://dpaste.com/1EGDSKQ#wrap" target="_blank" rel="nofollow noopener"&gt;Question About ZFS Root Dataset&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Micah - &lt;a href="http://dpaste.com/3TK2JWF#wrap" target="_blank" rel="nofollow noopener"&gt;Active-Active NAS Sync recommendations&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
    &lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, EULA, github, llvm, microsoft, sidekick, danger, CCC, xscreensaver, ssh, nsa</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>A EULA in FOSS clothing, NetBSD with more LLVM support, Thoughts on FreeBSD 12.0, FreeBSD Performance against Windows and Linux on Xeon, Microsoft shipping NetBSD, and more.</p>

<h2>Headlines</h2>

<h3><a href="http://dtrace.org/blogs/bmc/2018/12/16/a-eula-in-foss-clothing/" target="_blank" rel="nofollow noopener">A EULA in FOSS clothing?</a></h3>

<blockquote>There was a tremendous amount of reaction to and discussion about <a href="http://dtrace.org/blogs/bmc/2018/12/14/open-source-confronts-its-midlife-crisis/" target="_blank" rel="nofollow noopener">my blog entry on the midlife crisis in open source</a>. As part of this discussion on HN, Jay Kreps of Confluent took the time to write a <a href="https://news.ycombinator.com/item?id=18687498#18689179" target="_blank" rel="nofollow noopener">detailed response</a> — which he shortly thereafter elevated into a <a href="https://medium.com/@jaykreps/a-quick-comment-on-bryan-cantrills-blog-on-licensing-8dccee41d9e6" target="_blank" rel="nofollow noopener">blog entry</a>.</blockquote>

<blockquote>Let me be clear that I hold Jay in high regard, as both a software engineer and an entrepreneur — and I appreciate the time he took to write a thoughtful response. That said, there are aspects of his response that I found troubling enough to closely re-read the Confluent Community License — and that in turn has led me to a deeply disturbing realization about what is potentially going on here.</blockquote>

<blockquote>To GitHub: Assuming that this is in fact a EULA, I think it is perilous to allow EULAs to sit in public repositories. It’s one thing to have one click through to accept a license (though again, that itself is dubious), but to say that a git clone is an implicit acceptance of a contract that happens to be sitting somewhere in the repository beggars belief. With efforts like <a href="http://choosealicense.com" target="_blank" rel="nofollow noopener">choosealicense.com</a>, GitHub has been a model in guiding projects with respect to licensing; it would be helpful for GitHub’s counsel to weigh in on their view of this new strain of source-available proprietary software and the degree to which it comes into conflict with GitHub’s own terms of service.</blockquote>

<blockquote>To foundations concerned with software liberties, including the Apache Foundation, the Linux Foundation, the Free Software Foundation, the Electronic Frontier Foundation, the Open Source Initiative, and the Software Freedom Conservancy: the open source community needs your legal review on this! I don’t think I’m being too alarmist when I say that this is potentially a dangerous new precedent being set; it would be very helpful to have your lawyers offer their perspectives on this, even if they disagree with one another. We seem to be in some terrible new era of frankenlicenses, where the worst of proprietary licenses are bolted on to the goodwill created by open source licenses; we need your legal voices before these creatures destroy the village!</blockquote>

<hr>

<h3>NetBSD and LLVM</h3>

<p><a href="https://blog.netbsd.org/tnf/entry/netbsd_entering_2019_with_more" target="_blank" rel="nofollow noopener">NetBSD entering 2019 with more complete LLVM support</a></p>

<blockquote>I’m recently helping the NetBSD developers to improve the support for this operating system in various LLVM components. As you can read in my previous report, I’ve been focusing on fixing build and test failures for the purpose of improving the buildbot coverage.
Previously, I’ve resolved test failures in LLVM, Clang, LLD, libunwind, openmp and partially libc++. During the remainder of the month, I’ve been working on the remaining libc++ test failures, improving the NetBSD clang driver and helping Kamil Rytarowski with compiler-rt.</blockquote>

<p><a href="https://blog.netbsd.org/tnf/entry/the_process_of_upstreaming_support" target="_blank" rel="nofollow noopener">The process of upstreaming support to LLVM sanitizers has been finalized</a></p>

<blockquote>I’ve finished the process of upstreaming patches to LLVM sanitizers (almost 2000LOC of local code) and submitted to upstream new improvements for the NetBSD support. Today out of the box (in unpatched version) we have support for a variety of compiler-rt LLVM features: ASan (finds unauthorized memory access), UBSan (finds unspecified code semantics), TSan (finds threading bugs), MSan (finds uninitialized memory use), SafeStack (double stack hardening), Profile (code coverage), XRay (dynamic code tracing); while other ones such as Scudo (hardened allocator) or DFSan (generic data flow sanitizer) are not far away from completeness.
The NetBSD support is no longer visibly lacking behind Linux in sanitizers, although there are still failing tests on NetBSD that are not observed on Linux. On the other hand there are features working on NetBSD that are not functional on Linux, like sanitizing programs during early initialization process of OS (this is caused by /proc dependency on Linux that is mounted by startup programs, while NetBSD relies on sysctl(3) interfaces that is always available).</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://distrowatch.com/weekly.php?issue=20190107#freebsd" target="_blank" rel="nofollow noopener">Thoughts on FreeBSD 12.0</a></h3>

<blockquote>Playing with FreeBSD with past week I don’t feel as though there were any big surprises or changes in this release compared to FreeBSD 11. In typical FreeBSD fashion, progress tends to be evolutionary rather than revolutionary, and this release feels like a polished and improved incremental step forward. I like that the installer handles both UFS and ZFS guided partitioning now and in a friendly manner. In the past I had trouble getting FreeBSD’s boot menu to work with boot environments, but that has been fixed for this release.
I like the security options in the installer too. These are not new, but I think worth mentioning. FreeBSD, unlike most Linux distributions, offers several low-level security options (like hiding other users’ processes and randomizing PIDs) and I like having these presented at install time. It’s harder for people to attack what they cannot see, or predict, and FreeBSD optionally makes these little adjustment for us.
Something which stands out about FreeBSD, compared to most Linux distributions I run, is that FreeBSD rarely holds the user’s hand, but also rarely surprises the user. This means there is more reading to do up front and new users may struggle to get used to editing configuration files in a text editor. But FreeBSD rarely does anything unless told to do it. Updates rarely change the system’s behaviour, working technology rarely gets swapped out for something new, the system and its applications never crashed during my trial. Everything was rock solid. The operating system may seem like a minimal, blank slate to new users, but it’s wonderfully dependable and predictable in my experience.
I probably wouldn’t recommend FreeBSD for desktop use. It’s close relative, GhostBSD, ships with a friendly desktop and does special work to make end user applications run smoothly. But for people who want to run servers, possible for years without change or issues, FreeBSD is a great option. It’s also an attractive choice, in my opinion, for people who like to build their system from the ground up, like you would with Debian’s server install or Arch Linux. Apart from the base tools and documentation, there is nothing on a FreeBSD system apart from what we put on it.</blockquote>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=freebsd-12-windows&amp;num=1" target="_blank" rel="nofollow noopener">FreeBSD 12.0 Performance Against Windows &amp; Linux On An Intel Xeon Server</a></h3>

<blockquote>Last week I posted benchmarks of Windows Server 2019 against various Linux distributions using a Tyan dual socket Intel Xeon server. In this article are some complementary results when adding in the performance of FreeBSD 11.2 against the new FreeBSD 12.0 stable release for this leading BSD operating system. As some fun benchmarks to end out 2018, here are the results of FreeBSD 11.2/12.0 (including an additional run when using GCC rather than Clang) up against Windows Server and several enterprise-ready Linux distributions.
While FreeBSD 12.0 had picked up just one win of the Windows/Linux comparisons run, the FreeBSD performance is moving in the right direction. FreeBSD 12.0 was certainly faster than FreeBSD 11.2 on this dual Intel Xeon Scalable server based on a Tyan 1U platform. Meanwhile, to no surprise given the data last week, Clear Linux was by far the fastest out-of-the-box operating system tested.
I did run some extra benchmarks on FreeBSD 11.2/12.0 with this hardware: in total I ran 120 benchmarks for these BSD tests. Of the 120 tests, there were just 15 cases where FreeBSD 11.2 was faster than 12.0. Seeing FreeBSD 12.0 faster than 11.2 nearly 90% of the time is an accomplishment and usually with other operating systems we see more of a mixed bag on new releases with not such solidly better performance. It was also great seeing the competitive performance out of FreeBSD when using the Clang compiler for the source-based tests compared to the GCC8 performance. Additional data available via this <a href="http://OpenBenchmarking.org" target="_blank" rel="nofollow noopener">OpenBenchmarking.org</a> result file.</blockquote>

<hr>

<h3><a href="http://fogey.com/contemplating/?p=1023" target="_blank" rel="nofollow noopener">How NetBSD came to be shipped by Microsoft</a></h3>

<p><a href="https://webcache.googleusercontent.com/search?q=cache:5XwAm5tvJ4AJ:fogey.com/contemplating/%3Fp%3D1023+&amp;cd=1&amp;hl=en&amp;ct=clnk&amp;gl=us" target="_blank" rel="nofollow noopener">Google cache in case the site is down</a></p>

<blockquote>In 2000, Joe Britt, Matt Hershenson and Andy Rubin formed Danger Incorporated. Danger developed the world’s first recognizable smartphone, the Danger HipTop. T-Mobile sold the first HipTop under the brand name Sidekick in October of 2002.
Danger had a well developed kernel that had been designed and built in house. The kernel came to be viewed as not a core intellectual property and Danger started a search for a replacement. For business reasons, mostly to do with legal concerns over the Gnu Public License, Danger rejected Linux and began to consider BSD Unix as a replacement for the kernel.
In 2006 I was hired by Mike Chen, the manager of the kernel development group to investigate the feasibility of replacing the Danger kernel with a BSD kernel, to select the version of BSD to use, to develop a prototype and to develop the plan for adapting BSD to Danger’s requirements.
NetBSD was easily the best choice among the BSD variations at the time because it had well developed cross development tools. It was easy to use a NetBSD desktop running an Intel release to cross compile a NetBSD kernel and runtime for a device running an ARM processor. (Those interested in mailing list archaeology might be amused to investigate NetBSD technical mailing list for mail from picovex, particularly from Bucky Katz at picovex.)
We began product development on the specific prototype of the phone that would become the Sidekick LX2009 in 2007 and contracts for the phone were written with T-Mobile. We were about half way through the two year development cycle when Microsoft purchased Danger in 2008.
Microsoft would have preferred to ship the Sidekick running Windows/CE rather than NetBSD, but a schedule analysis performed by me, and another by an independent outside contractor, indicated that doing so would result in unacceptable delay.</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
    <li><a href="http://lists.31bits.net/archives/devel/2018-December/000033.html" target="_blank" rel="nofollow noopener">Unleashed 1.2 Released</a></li>
    <li><a href="https://media.ccc.de/v/35c3-9647-taming_the_chaos_can_we_build_systems_that_actually_work" target="_blank" rel="nofollow noopener">35th CCC - Taming the Chaos: Can we build systems that actually work? </a></li>
    <li><a href="https://rachelbythebay.com/w/2018/12/30/v6/" target="_blank" rel="nofollow noopener">Potholes to avoid when migrating to IPv6</a></li>
    <li><a href="https://www.jwz.org/blog/2018/12/xscreensaver-5-41/" target="_blank" rel="nofollow noopener">XScreenSaver 5.42</a></li>
    <li><a href="https://hackertarget.com/ssh-examples-tunnels/" target="_blank" rel="nofollow noopener">SSH Examples and Tunnels</a></li>
    <li><a href="https://old.reddit.com/r/freebsd/comments/abevqa/mbuf9_request_for_comment/" target="_blank" rel="nofollow noopener">Help request - mbuf(9) - request for comment</a></li>
    <li><a href="https://www.zdnet.com/article/nsa-to-release-a-free-reverse-engineering-tool/" target="_blank" rel="nofollow noopener">NSA to release free Reverse Engineering Tool</a></li>
    <li><a href="https://blog.grem.de/sysadmin/FreeBSD-On-rpi3-With-crochet-2018-10-27-18-00.html" target="_blank" rel="nofollow noopener">Running FreeBSD on a Raspberry Pi3 using a custom image created with crochet and poudriere</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
    <li>Dries - <a href="http://dpaste.com/2DCEJD6#wrap" target="_blank" rel="nofollow noopener">Lets talk a bit about VIMAGE jails</a></li>
    <li>ohb - <a href="http://dpaste.com/1EGDSKQ#wrap" target="_blank" rel="nofollow noopener">Question About ZFS Root Dataset</a></li>
    <li>Micah - <a href="http://dpaste.com/3TK2JWF#wrap" target="_blank" rel="nofollow noopener">Active-Active NAS Sync recommendations</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>A EULA in FOSS clothing, NetBSD with more LLVM support, Thoughts on FreeBSD 12.0, FreeBSD Performance against Windows and Linux on Xeon, Microsoft shipping NetBSD, and more.</p>

<h2>Headlines</h2>

<h3><a href="http://dtrace.org/blogs/bmc/2018/12/16/a-eula-in-foss-clothing/" target="_blank" rel="nofollow noopener">A EULA in FOSS clothing?</a></h3>

<blockquote>There was a tremendous amount of reaction to and discussion about <a href="http://dtrace.org/blogs/bmc/2018/12/14/open-source-confronts-its-midlife-crisis/" target="_blank" rel="nofollow noopener">my blog entry on the midlife crisis in open source</a>. As part of this discussion on HN, Jay Kreps of Confluent took the time to write a <a href="https://news.ycombinator.com/item?id=18687498#18689179" target="_blank" rel="nofollow noopener">detailed response</a> — which he shortly thereafter elevated into a <a href="https://medium.com/@jaykreps/a-quick-comment-on-bryan-cantrills-blog-on-licensing-8dccee41d9e6" target="_blank" rel="nofollow noopener">blog entry</a>.</blockquote>

<blockquote>Let me be clear that I hold Jay in high regard, as both a software engineer and an entrepreneur — and I appreciate the time he took to write a thoughtful response. That said, there are aspects of his response that I found troubling enough to closely re-read the Confluent Community License — and that in turn has led me to a deeply disturbing realization about what is potentially going on here.</blockquote>

<blockquote>To GitHub: Assuming that this is in fact a EULA, I think it is perilous to allow EULAs to sit in public repositories. It’s one thing to have one click through to accept a license (though again, that itself is dubious), but to say that a git clone is an implicit acceptance of a contract that happens to be sitting somewhere in the repository beggars belief. With efforts like <a href="http://choosealicense.com" target="_blank" rel="nofollow noopener">choosealicense.com</a>, GitHub has been a model in guiding projects with respect to licensing; it would be helpful for GitHub’s counsel to weigh in on their view of this new strain of source-available proprietary software and the degree to which it comes into conflict with GitHub’s own terms of service.</blockquote>

<blockquote>To foundations concerned with software liberties, including the Apache Foundation, the Linux Foundation, the Free Software Foundation, the Electronic Frontier Foundation, the Open Source Initiative, and the Software Freedom Conservancy: the open source community needs your legal review on this! I don’t think I’m being too alarmist when I say that this is potentially a dangerous new precedent being set; it would be very helpful to have your lawyers offer their perspectives on this, even if they disagree with one another. We seem to be in some terrible new era of frankenlicenses, where the worst of proprietary licenses are bolted on to the goodwill created by open source licenses; we need your legal voices before these creatures destroy the village!</blockquote>

<hr>

<h3>NetBSD and LLVM</h3>

<p><a href="https://blog.netbsd.org/tnf/entry/netbsd_entering_2019_with_more" target="_blank" rel="nofollow noopener">NetBSD entering 2019 with more complete LLVM support</a></p>

<blockquote>I’m recently helping the NetBSD developers to improve the support for this operating system in various LLVM components. As you can read in my previous report, I’ve been focusing on fixing build and test failures for the purpose of improving the buildbot coverage.
Previously, I’ve resolved test failures in LLVM, Clang, LLD, libunwind, openmp and partially libc++. During the remainder of the month, I’ve been working on the remaining libc++ test failures, improving the NetBSD clang driver and helping Kamil Rytarowski with compiler-rt.</blockquote>

<p><a href="https://blog.netbsd.org/tnf/entry/the_process_of_upstreaming_support" target="_blank" rel="nofollow noopener">The process of upstreaming support to LLVM sanitizers has been finalized</a></p>

<blockquote>I’ve finished the process of upstreaming patches to LLVM sanitizers (almost 2000LOC of local code) and submitted to upstream new improvements for the NetBSD support. Today out of the box (in unpatched version) we have support for a variety of compiler-rt LLVM features: ASan (finds unauthorized memory access), UBSan (finds unspecified code semantics), TSan (finds threading bugs), MSan (finds uninitialized memory use), SafeStack (double stack hardening), Profile (code coverage), XRay (dynamic code tracing); while other ones such as Scudo (hardened allocator) or DFSan (generic data flow sanitizer) are not far away from completeness.
The NetBSD support is no longer visibly lacking behind Linux in sanitizers, although there are still failing tests on NetBSD that are not observed on Linux. On the other hand there are features working on NetBSD that are not functional on Linux, like sanitizing programs during early initialization process of OS (this is caused by /proc dependency on Linux that is mounted by startup programs, while NetBSD relies on sysctl(3) interfaces that is always available).</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://distrowatch.com/weekly.php?issue=20190107#freebsd" target="_blank" rel="nofollow noopener">Thoughts on FreeBSD 12.0</a></h3>

<blockquote>Playing with FreeBSD with past week I don’t feel as though there were any big surprises or changes in this release compared to FreeBSD 11. In typical FreeBSD fashion, progress tends to be evolutionary rather than revolutionary, and this release feels like a polished and improved incremental step forward. I like that the installer handles both UFS and ZFS guided partitioning now and in a friendly manner. In the past I had trouble getting FreeBSD’s boot menu to work with boot environments, but that has been fixed for this release.
I like the security options in the installer too. These are not new, but I think worth mentioning. FreeBSD, unlike most Linux distributions, offers several low-level security options (like hiding other users’ processes and randomizing PIDs) and I like having these presented at install time. It’s harder for people to attack what they cannot see, or predict, and FreeBSD optionally makes these little adjustment for us.
Something which stands out about FreeBSD, compared to most Linux distributions I run, is that FreeBSD rarely holds the user’s hand, but also rarely surprises the user. This means there is more reading to do up front and new users may struggle to get used to editing configuration files in a text editor. But FreeBSD rarely does anything unless told to do it. Updates rarely change the system’s behaviour, working technology rarely gets swapped out for something new, the system and its applications never crashed during my trial. Everything was rock solid. The operating system may seem like a minimal, blank slate to new users, but it’s wonderfully dependable and predictable in my experience.
I probably wouldn’t recommend FreeBSD for desktop use. It’s close relative, GhostBSD, ships with a friendly desktop and does special work to make end user applications run smoothly. But for people who want to run servers, possible for years without change or issues, FreeBSD is a great option. It’s also an attractive choice, in my opinion, for people who like to build their system from the ground up, like you would with Debian’s server install or Arch Linux. Apart from the base tools and documentation, there is nothing on a FreeBSD system apart from what we put on it.</blockquote>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=article&amp;item=freebsd-12-windows&amp;num=1" target="_blank" rel="nofollow noopener">FreeBSD 12.0 Performance Against Windows &amp; Linux On An Intel Xeon Server</a></h3>

<blockquote>Last week I posted benchmarks of Windows Server 2019 against various Linux distributions using a Tyan dual socket Intel Xeon server. In this article are some complementary results when adding in the performance of FreeBSD 11.2 against the new FreeBSD 12.0 stable release for this leading BSD operating system. As some fun benchmarks to end out 2018, here are the results of FreeBSD 11.2/12.0 (including an additional run when using GCC rather than Clang) up against Windows Server and several enterprise-ready Linux distributions.
While FreeBSD 12.0 had picked up just one win of the Windows/Linux comparisons run, the FreeBSD performance is moving in the right direction. FreeBSD 12.0 was certainly faster than FreeBSD 11.2 on this dual Intel Xeon Scalable server based on a Tyan 1U platform. Meanwhile, to no surprise given the data last week, Clear Linux was by far the fastest out-of-the-box operating system tested.
I did run some extra benchmarks on FreeBSD 11.2/12.0 with this hardware: in total I ran 120 benchmarks for these BSD tests. Of the 120 tests, there were just 15 cases where FreeBSD 11.2 was faster than 12.0. Seeing FreeBSD 12.0 faster than 11.2 nearly 90% of the time is an accomplishment and usually with other operating systems we see more of a mixed bag on new releases with not such solidly better performance. It was also great seeing the competitive performance out of FreeBSD when using the Clang compiler for the source-based tests compared to the GCC8 performance. Additional data available via this <a href="http://OpenBenchmarking.org" target="_blank" rel="nofollow noopener">OpenBenchmarking.org</a> result file.</blockquote>

<hr>

<h3><a href="http://fogey.com/contemplating/?p=1023" target="_blank" rel="nofollow noopener">How NetBSD came to be shipped by Microsoft</a></h3>

<p><a href="https://webcache.googleusercontent.com/search?q=cache:5XwAm5tvJ4AJ:fogey.com/contemplating/%3Fp%3D1023+&amp;cd=1&amp;hl=en&amp;ct=clnk&amp;gl=us" target="_blank" rel="nofollow noopener">Google cache in case the site is down</a></p>

<blockquote>In 2000, Joe Britt, Matt Hershenson and Andy Rubin formed Danger Incorporated. Danger developed the world’s first recognizable smartphone, the Danger HipTop. T-Mobile sold the first HipTop under the brand name Sidekick in October of 2002.
Danger had a well developed kernel that had been designed and built in house. The kernel came to be viewed as not a core intellectual property and Danger started a search for a replacement. For business reasons, mostly to do with legal concerns over the Gnu Public License, Danger rejected Linux and began to consider BSD Unix as a replacement for the kernel.
In 2006 I was hired by Mike Chen, the manager of the kernel development group to investigate the feasibility of replacing the Danger kernel with a BSD kernel, to select the version of BSD to use, to develop a prototype and to develop the plan for adapting BSD to Danger’s requirements.
NetBSD was easily the best choice among the BSD variations at the time because it had well developed cross development tools. It was easy to use a NetBSD desktop running an Intel release to cross compile a NetBSD kernel and runtime for a device running an ARM processor. (Those interested in mailing list archaeology might be amused to investigate NetBSD technical mailing list for mail from picovex, particularly from Bucky Katz at picovex.)
We began product development on the specific prototype of the phone that would become the Sidekick LX2009 in 2007 and contracts for the phone were written with T-Mobile. We were about half way through the two year development cycle when Microsoft purchased Danger in 2008.
Microsoft would have preferred to ship the Sidekick running Windows/CE rather than NetBSD, but a schedule analysis performed by me, and another by an independent outside contractor, indicated that doing so would result in unacceptable delay.</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
    <li><a href="http://lists.31bits.net/archives/devel/2018-December/000033.html" target="_blank" rel="nofollow noopener">Unleashed 1.2 Released</a></li>
    <li><a href="https://media.ccc.de/v/35c3-9647-taming_the_chaos_can_we_build_systems_that_actually_work" target="_blank" rel="nofollow noopener">35th CCC - Taming the Chaos: Can we build systems that actually work? </a></li>
    <li><a href="https://rachelbythebay.com/w/2018/12/30/v6/" target="_blank" rel="nofollow noopener">Potholes to avoid when migrating to IPv6</a></li>
    <li><a href="https://www.jwz.org/blog/2018/12/xscreensaver-5-41/" target="_blank" rel="nofollow noopener">XScreenSaver 5.42</a></li>
    <li><a href="https://hackertarget.com/ssh-examples-tunnels/" target="_blank" rel="nofollow noopener">SSH Examples and Tunnels</a></li>
    <li><a href="https://old.reddit.com/r/freebsd/comments/abevqa/mbuf9_request_for_comment/" target="_blank" rel="nofollow noopener">Help request - mbuf(9) - request for comment</a></li>
    <li><a href="https://www.zdnet.com/article/nsa-to-release-a-free-reverse-engineering-tool/" target="_blank" rel="nofollow noopener">NSA to release free Reverse Engineering Tool</a></li>
    <li><a href="https://blog.grem.de/sysadmin/FreeBSD-On-rpi3-With-crochet-2018-10-27-18-00.html" target="_blank" rel="nofollow noopener">Running FreeBSD on a Raspberry Pi3 using a custom image created with crochet and poudriere</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
    <li>Dries - <a href="http://dpaste.com/2DCEJD6#wrap" target="_blank" rel="nofollow noopener">Lets talk a bit about VIMAGE jails</a></li>
    <li>ohb - <a href="http://dpaste.com/1EGDSKQ#wrap" target="_blank" rel="nofollow noopener">Question About ZFS Root Dataset</a></li>
    <li>Micah - <a href="http://dpaste.com/3TK2JWF#wrap" target="_blank" rel="nofollow noopener">Active-Active NAS Sync recommendations</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 279: Future of ZFS | BSD Now 279</title>
  <link>https://www.bsdnow.tv/279</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-3093</guid>
  <pubDate>Thu, 03 Jan 2019 11:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c90e3b38-be68-44fd-97cf-211579e33682.mp3" length="56197307" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>&lt;span style="font-weight: 400;"&gt;The future of ZFS in FreeBSD, we pick highlights from the FreeBSD quarterly status report, flying with the raven, modern KDE on FreeBSD, many ways to launch FreeBSD in EC2, GOG installers on NetBSD, and more.&lt;/span&gt;</itunes:subtitle>
  <itunes:duration>1:33:21</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>&lt;p&gt;&lt;span&gt;The future of ZFS in FreeBSD, we pick highlights from the FreeBSD quarterly status report, flying with the raven, modern KDE on FreeBSD, many ways to launch FreeBSD in EC2, GOG installers on NetBSD, and more.&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-December/072422.html" target="_blank" rel="nofollow noopener"&gt;The future of ZFS in FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;The sources for FreeBSD’s ZFS support are currently taken directly from Illumos with local ifdefs to support the peculiarities of FreeBSD where the Solaris Portability Layer (SPL) shims fall short. FreeBSD has regularly pulled changes from Illumos and tried to push back any bug fixes and new features done in the context of FreeBSD. In the past few years the vast majority of new development in ZFS has taken place in DelphixOS and zfsonlinux (ZoL). Earlier this year Delphix announced that they will be moving to ZoL: &lt;a href="https://www.delphix.com/blog/kickoff-future-eko-2018" target="_blank" rel="nofollow noopener"&gt;https://www.delphix.com/blog/kickoff-future-eko-2018&lt;/a&gt; This shift means that there will be little to no net new development of Illumos. While working through the git history of ZoL I have also discovered that many races and locking bugs have been fixed in ZoL and never made it back to Illumos and thus FreeBSD. This state of affairs has led to a general agreement among the stakeholders that I have spoken to that it makes sense to rebase FreeBSD’s ZFS on ZoL. Brian Behlendorf has graciously encouraged me to add FreeBSD support directly to ZoL &lt;a href="https://github.com/zfsonfreebsd/ZoF" target="_blank" rel="nofollow noopener"&gt;https://github.com/zfsonfreebsd/ZoF&lt;/a&gt; so that we might all have a single shared code base.
A port for ZoF can be found at &lt;a href="https://github.com/miwi-fbsd/zof-port" target="_blank" rel="nofollow noopener"&gt;https://github.com/miwi-fbsd/zof-port&lt;/a&gt; Before it can be committed some additional functionality needs to be added to the FreeBSD opencrypto framework. These can be found at &lt;a href="https://reviews.freebsd.org/D18520" target="_blank" rel="nofollow noopener"&gt;https://reviews.freebsd.org/D18520&lt;/a&gt;
This port will provide FreeBSD users with multi modifier protection, project quotas, encrypted datasets, allocation classes, vectorized raidz, vectorized checksums, and various command line improvements.&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2018-01-2018-09.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Quarterly Status Update&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;With FreeBSD having gone all the way to 12, it is perhaps useful to take a look back at all the things that have been accomplished, in terms of many visible changes, as well as all the things that happen behind the scenes to ensure that FreeBSD continues to offer an alternative in both design, implementation, and execution.
The things you can look forward to reading about are too numerous to summarize, but cover just about everything from finalizing releases, administrative work, optimizations and depessimizations, features added and fixed, and many areas of improvement that might just surprise you a little.
Please have a cup of coffee, tea, hot cocoa, or other beverage of choice, and enjoy this culmulative set of reports covering everything that’s been done since October, 2017.
—Daniel Ebdrup&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://eerielinux.wordpress.com/2018/11/30/one-year-of-flying-with-the-raven-ready-for-the-desktop/" target="_blank" rel="nofollow noopener"&gt;One year of flying with the Raven: Ready for the Desktop?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;It has been a little over one year now that I’m with the Ravenports project. Time to reflect my involvement, my expectations and hopes.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Ravenports&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;Ravenports is a universal packaging framework for *nix operating systems. For the user it provides easy access to binary packages of common software for multiple platforms. It has been the long-lasting champion on Repology’s top 10 repositories regarding package freshness (rarely dropping below 96 percent while all other projects keep below 90!).&lt;/blockquote&gt;

&lt;blockquote&gt;For the porter it offers a well-designed and elegant means of writing cross-platform buildsheets that allow building the same version of the software with (completely or mostly) the same compile-time configuration on different operating systems or distributions.&lt;/blockquote&gt;

&lt;blockquote&gt;And for the developer it means a real-world project that’s written in modern Ada (ravenadm) and C (pkg) – as well as some Perl for support scripts and make. Things feel very optimized and fast. Not being a programmer though, I cannot really say anything about the actual code and thus leave it to the interested reader’s judgement.&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl/bobulate/?p=2040" target="_blank" rel="nofollow noopener"&gt;Modern KDE on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;New stuff in the official FreeBSD repositories! The X11 team has landed a newer version of libinput, opening up the way for KDE Plasma 5.14 in ports. That’s a pretty big update and it may frighten people with a new wallpaper.
What this means is that the graphical stack is once again on-par with what Plasma upstream expects, and we can get back to chasing releases as soon as they happen, rather than gnashing our teeth at missing dependencies. The KDE-FreeBSD CI servers are in the process of being upgraded to 12-STABLE, and we’re integrating with the new experimental CI systems as well. This means we are chasing sensibly-modern systems (13-CURRENT is out of scope).&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://www.daemonology.net/blog/2018-12-26-the-many-ways-to-launch-FreeBSD-in-EC2.html" target="_blank" rel="nofollow noopener"&gt;The many ways to launch FreeBSD in EC2&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;Talking to FreeBSD users recently, I became aware that while I’ve created a lot of tools, I haven’t done a very good job of explaining how, and more importantly when to use them. So for all of the EC2-curious FreeBSD users out there: Here are the many ways to launch and configure FreeBSD in EC2 — ranging from the simplest to the most complicated (but most powerful):&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Launch FreeBSD and SSH in&lt;/li&gt;
    &lt;li&gt;Launch FreeBSD and provide user-data&lt;/li&gt;
    &lt;li&gt;Use the AMI Builder to create a customized FreeBSD AMI&lt;/li&gt;
    &lt;li&gt;Build a FreeBSD AMI from a modified FreeBSD source tree&lt;/li&gt;
    &lt;li&gt;Build your own disk image&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;I hope I’ve provided tools which help you to run FreeBSD in EC2, no matter how common or unusual your needs are. If you find my work useful, please consider supporting my work in this area; while this is both something I enjoy working on and something which is useful for my day job (Tarsnap, my online backup service), having support would make it easier for me to prioritize FreeBSD/EC2 issues over other projects.&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dressupgeekout.blogspot.com/2018/12/using-gogcom-installers-for-linux-on.html" target="_blank" rel="nofollow noopener"&gt;Using the GOG.com installers for Linux, on NetBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;&lt;a href="http://GOG.com" target="_blank" rel="nofollow noopener"&gt;GOG.com&lt;/a&gt; prefers that you use their GOG Galaxy desktop app to download, install and manage all of your GOG games. But customers always have the option to install the game on their own terms, with a platform-specific installer.
GOG offers these installers for Mac, Windows and/or Linux, depending on which platforms the game is available for.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;The installers truly are platform-specific:&lt;/li&gt;
    &lt;li&gt;macOS games are distributed in a standard .pkg&lt;/li&gt;
    &lt;li&gt;Windows games are distributed in a setup wizard .exe&lt;/li&gt;
    &lt;li&gt;Linux games are distributed in a goofy shell archive&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;Of course, none of those are NetBSD. So, if I wanted to even attempt to play a game distributed by &lt;a href="http://GOG.com" target="_blank" rel="nofollow noopener"&gt;GOG.com&lt;/a&gt; on NetBSD, which one should I pick? The obvious choice is the Linux installer, since Linux is the most similar to NetBSD, right? Au contraire! In practice, I found that it is easier to download the Windows installer.&lt;/blockquote&gt;

&lt;blockquote&gt;Here’s what I mean. For example, I ported the open source version of Aquaria to pkgsrc, but that package is only the game’s engine, not the multimedia data. The multimedia data is still copyrighted. Therefore, you need to get it from somewhere else. GOG is usually a good choice, because they distribute their games without DRM. And as mentioned earlier, picking the Linux installer seemed like a natural choice.&lt;/blockquote&gt;

&lt;blockquote&gt;Now, actually PLAYING the games on NetBSD is a separate matter entirely. The game I’ve got here, though, my current obsession Pyre, is built with MonoGame and therefore could theoretically work on NetBSD, too, with the help of a library called FNA and a script for OpenBSD called fnaify. I do hope to create a pkgsrc package for FNA and port the fnaify script to NetBSD at some point.&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href="https://corecursive.com/024-software-as-a-reflection-of-values-with-bryan-cantrill/" target="_blank" rel="nofollow noopener"&gt;Software as a Reflection of Values With Bryan Cantrill&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://dtrace.org/blogs/bmc/2018/02/03/talks/" target="_blank" rel="nofollow noopener"&gt;Collection of bmc talks, updated 2018&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-bugs&amp;amp;m=154529364730319&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;wump: incorrect wumpus movement probability&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://venshare.com/debugging-rust-with-vscode-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Debugging Rust with VSCode on FreeBSD&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/12/27/smb-cifs-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;SMB/CIFS on FreeBSD&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://old.reddit.com/r/freebsd/comments/aaihdk/bsd_tattoo/" target="_blank" rel="nofollow noopener"&gt;BSD Tattoo&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://mail-index.netbsd.org/pkgsrc-users/2018/12/30/msg027871.html" target="_blank" rel="nofollow noopener"&gt;pkgsrc-2018Q4 branch announcement&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://https.www.google.com.tedunangst.com/flak/post/toying-with-wireguard-on-openbsd" target="_blank" rel="nofollow noopener"&gt;toying with wireguard on openbsd&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=154627230907954&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;new USB audio class v2.0 driver&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ZvSSHtRv5Mg" target="_blank" rel="nofollow noopener"&gt;Todd Mortimer Removing ROP Gadgets from OpenBSD EuroBSDCon 2018&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://www.openbsd.org/65.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.5 release page is online&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://twitter.com/jschauma/status/1071069217968013313?s=03" target="_blank" rel="nofollow noopener"&gt;shell access to historical Unix versions in your browser&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
    &lt;li&gt;Brad - &lt;a href="http://dpaste.com/2CVAF1E#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS Features and Upgrades&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Andre - &lt;a href="http://dpaste.com/1XXFPHN#wrap" target="_blank" rel="nofollow noopener"&gt;Splitting ZFS array&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Michael - &lt;a href="http://dpaste.com/2S8GFD0#wrap" target="_blank" rel="nofollow noopener"&gt;Priority/nice value for Jails?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
    &lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>Bryan Cantrill,BSD,DragonflyBSD,EC2,freebsd,GOG,guide,hardenedbsd,howto,Interview,kde,NetBSD,OpenBSD,raven,ravenports,ROP Gadgets,Trident,trueos,tutorial</itunes:keywords>
  <content:encoded>
    <![CDATA[<p><span>The future of ZFS in FreeBSD, we pick highlights from the FreeBSD quarterly status report, flying with the raven, modern KDE on FreeBSD, many ways to launch FreeBSD in EC2, GOG installers on NetBSD, and more.</span></p>

<h2>Headlines</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-December/072422.html" target="_blank" rel="nofollow noopener">The future of ZFS in FreeBSD</a></h3>

<blockquote>The sources for FreeBSD’s ZFS support are currently taken directly from Illumos with local ifdefs to support the peculiarities of FreeBSD where the Solaris Portability Layer (SPL) shims fall short. FreeBSD has regularly pulled changes from Illumos and tried to push back any bug fixes and new features done in the context of FreeBSD. In the past few years the vast majority of new development in ZFS has taken place in DelphixOS and zfsonlinux (ZoL). Earlier this year Delphix announced that they will be moving to ZoL: <a href="https://www.delphix.com/blog/kickoff-future-eko-2018" target="_blank" rel="nofollow noopener">https://www.delphix.com/blog/kickoff-future-eko-2018</a> This shift means that there will be little to no net new development of Illumos. While working through the git history of ZoL I have also discovered that many races and locking bugs have been fixed in ZoL and never made it back to Illumos and thus FreeBSD. This state of affairs has led to a general agreement among the stakeholders that I have spoken to that it makes sense to rebase FreeBSD’s ZFS on ZoL. Brian Behlendorf has graciously encouraged me to add FreeBSD support directly to ZoL <a href="https://github.com/zfsonfreebsd/ZoF" target="_blank" rel="nofollow noopener">https://github.com/zfsonfreebsd/ZoF</a> so that we might all have a single shared code base.
A port for ZoF can be found at <a href="https://github.com/miwi-fbsd/zof-port" target="_blank" rel="nofollow noopener">https://github.com/miwi-fbsd/zof-port</a> Before it can be committed some additional functionality needs to be added to the FreeBSD opencrypto framework. These can be found at <a href="https://reviews.freebsd.org/D18520" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D18520</a>
This port will provide FreeBSD users with multi modifier protection, project quotas, encrypted datasets, allocation classes, vectorized raidz, vectorized checksums, and various command line improvements.</blockquote>

<hr>

<h3><a href="https://www.freebsd.org/news/status/report-2018-01-2018-09.html" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Update</a></h3>

<blockquote>With FreeBSD having gone all the way to 12, it is perhaps useful to take a look back at all the things that have been accomplished, in terms of many visible changes, as well as all the things that happen behind the scenes to ensure that FreeBSD continues to offer an alternative in both design, implementation, and execution.
The things you can look forward to reading about are too numerous to summarize, but cover just about everything from finalizing releases, administrative work, optimizations and depessimizations, features added and fixed, and many areas of improvement that might just surprise you a little.
Please have a cup of coffee, tea, hot cocoa, or other beverage of choice, and enjoy this culmulative set of reports covering everything that’s been done since October, 2017.
—Daniel Ebdrup</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://eerielinux.wordpress.com/2018/11/30/one-year-of-flying-with-the-raven-ready-for-the-desktop/" target="_blank" rel="nofollow noopener">One year of flying with the Raven: Ready for the Desktop?</a></h3>

<blockquote>It has been a little over one year now that I’m with the Ravenports project. Time to reflect my involvement, my expectations and hopes.</blockquote>

<ul>
    <li>Ravenports</li>
</ul>

<blockquote>Ravenports is a universal packaging framework for *nix operating systems. For the user it provides easy access to binary packages of common software for multiple platforms. It has been the long-lasting champion on Repology’s top 10 repositories regarding package freshness (rarely dropping below 96 percent while all other projects keep below 90!).</blockquote>

<blockquote>For the porter it offers a well-designed and elegant means of writing cross-platform buildsheets that allow building the same version of the software with (completely or mostly) the same compile-time configuration on different operating systems or distributions.</blockquote>

<blockquote>And for the developer it means a real-world project that’s written in modern Ada (ravenadm) and C (pkg) – as well as some Perl for support scripts and make. Things feel very optimized and fast. Not being a programmer though, I cannot really say anything about the actual code and thus leave it to the interested reader’s judgement.</blockquote>

<hr>

<h3><a href="https://euroquis.nl/bobulate/?p=2040" target="_blank" rel="nofollow noopener">Modern KDE on FreeBSD</a></h3>

<blockquote>New stuff in the official FreeBSD repositories! The X11 team has landed a newer version of libinput, opening up the way for KDE Plasma 5.14 in ports. That’s a pretty big update and it may frighten people with a new wallpaper.
What this means is that the graphical stack is once again on-par with what Plasma upstream expects, and we can get back to chasing releases as soon as they happen, rather than gnashing our teeth at missing dependencies. The KDE-FreeBSD CI servers are in the process of being upgraded to 12-STABLE, and we’re integrating with the new experimental CI systems as well. This means we are chasing sensibly-modern systems (13-CURRENT is out of scope).</blockquote>

<hr>

<h3><a href="http://www.daemonology.net/blog/2018-12-26-the-many-ways-to-launch-FreeBSD-in-EC2.html" target="_blank" rel="nofollow noopener">The many ways to launch FreeBSD in EC2</a></h3>

<blockquote>Talking to FreeBSD users recently, I became aware that while I’ve created a lot of tools, I haven’t done a very good job of explaining how, and more importantly when to use them. So for all of the EC2-curious FreeBSD users out there: Here are the many ways to launch and configure FreeBSD in EC2 — ranging from the simplest to the most complicated (but most powerful):</blockquote>

<ul>
    <li>Launch FreeBSD and SSH in</li>
    <li>Launch FreeBSD and provide user-data</li>
    <li>Use the AMI Builder to create a customized FreeBSD AMI</li>
    <li>Build a FreeBSD AMI from a modified FreeBSD source tree</li>
    <li>Build your own disk image</li>
</ul>

<blockquote>I hope I’ve provided tools which help you to run FreeBSD in EC2, no matter how common or unusual your needs are. If you find my work useful, please consider supporting my work in this area; while this is both something I enjoy working on and something which is useful for my day job (Tarsnap, my online backup service), having support would make it easier for me to prioritize FreeBSD/EC2 issues over other projects.</blockquote>

<hr>

<h3><a href="https://dressupgeekout.blogspot.com/2018/12/using-gogcom-installers-for-linux-on.html" target="_blank" rel="nofollow noopener">Using the GOG.com installers for Linux, on NetBSD</a></h3>

<blockquote><a href="http://GOG.com" target="_blank" rel="nofollow noopener">GOG.com</a> prefers that you use their GOG Galaxy desktop app to download, install and manage all of your GOG games. But customers always have the option to install the game on their own terms, with a platform-specific installer.
GOG offers these installers for Mac, Windows and/or Linux, depending on which platforms the game is available for.</blockquote>

<ul>
    <li>The installers truly are platform-specific:</li>
    <li>macOS games are distributed in a standard .pkg</li>
    <li>Windows games are distributed in a setup wizard .exe</li>
    <li>Linux games are distributed in a goofy shell archive</li>
</ul>

<blockquote>Of course, none of those are NetBSD. So, if I wanted to even attempt to play a game distributed by <a href="http://GOG.com" target="_blank" rel="nofollow noopener">GOG.com</a> on NetBSD, which one should I pick? The obvious choice is the Linux installer, since Linux is the most similar to NetBSD, right? Au contraire! In practice, I found that it is easier to download the Windows installer.</blockquote>

<blockquote>Here’s what I mean. For example, I ported the open source version of Aquaria to pkgsrc, but that package is only the game’s engine, not the multimedia data. The multimedia data is still copyrighted. Therefore, you need to get it from somewhere else. GOG is usually a good choice, because they distribute their games without DRM. And as mentioned earlier, picking the Linux installer seemed like a natural choice.</blockquote>

<blockquote>Now, actually PLAYING the games on NetBSD is a separate matter entirely. The game I’ve got here, though, my current obsession Pyre, is built with MonoGame and therefore could theoretically work on NetBSD, too, with the help of a library called FNA and a script for OpenBSD called fnaify. I do hope to create a pkgsrc package for FNA and port the fnaify script to NetBSD at some point.</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
    <li><a href="https://corecursive.com/024-software-as-a-reflection-of-values-with-bryan-cantrill/" target="_blank" rel="nofollow noopener">Software as a Reflection of Values With Bryan Cantrill</a></li>
    <li><a href="http://dtrace.org/blogs/bmc/2018/02/03/talks/" target="_blank" rel="nofollow noopener">Collection of bmc talks, updated 2018</a></li>
    <li><a href="https://marc.info/?l=openbsd-bugs&amp;m=154529364730319&amp;w=2" target="_blank" rel="nofollow noopener">wump: incorrect wumpus movement probability</a></li>
    <li><a href="https://venshare.com/debugging-rust-with-vscode-on-freebsd/" target="_blank" rel="nofollow noopener">Debugging Rust with VSCode on FreeBSD</a></li>
    <li><a href="https://vermaden.wordpress.com/2018/12/27/smb-cifs-on-freebsd/" target="_blank" rel="nofollow noopener">SMB/CIFS on FreeBSD</a></li>
    <li><a href="https://old.reddit.com/r/freebsd/comments/aaihdk/bsd_tattoo/" target="_blank" rel="nofollow noopener">BSD Tattoo</a></li>
    <li><a href="https://mail-index.netbsd.org/pkgsrc-users/2018/12/30/msg027871.html" target="_blank" rel="nofollow noopener">pkgsrc-2018Q4 branch announcement</a></li>
    <li><a href="https://https.www.google.com.tedunangst.com/flak/post/toying-with-wireguard-on-openbsd" target="_blank" rel="nofollow noopener">toying with wireguard on openbsd</a></li>
    <li><a href="https://marc.info/?l=openbsd-tech&amp;m=154627230907954&amp;w=2" target="_blank" rel="nofollow noopener">new USB audio class v2.0 driver</a></li>
    <li><a href="https://www.youtube.com/watch?v=ZvSSHtRv5Mg" target="_blank" rel="nofollow noopener">Todd Mortimer Removing ROP Gadgets from OpenBSD EuroBSDCon 2018</a></li>
    <li><a href="https://www.openbsd.org/65.html" target="_blank" rel="nofollow noopener">OpenBSD 6.5 release page is online</a></li>
    <li><a href="https://twitter.com/jschauma/status/1071069217968013313?s=03" target="_blank" rel="nofollow noopener">shell access to historical Unix versions in your browser</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
    <li>Brad - <a href="http://dpaste.com/2CVAF1E#wrap" target="_blank" rel="nofollow noopener">ZFS Features and Upgrades</a></li>
    <li>Andre - <a href="http://dpaste.com/1XXFPHN#wrap" target="_blank" rel="nofollow noopener">Splitting ZFS array</a></li>
    <li>Michael - <a href="http://dpaste.com/2S8GFD0#wrap" target="_blank" rel="nofollow noopener">Priority/nice value for Jails?</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p><span>The future of ZFS in FreeBSD, we pick highlights from the FreeBSD quarterly status report, flying with the raven, modern KDE on FreeBSD, many ways to launch FreeBSD in EC2, GOG installers on NetBSD, and more.</span></p>

<h2>Headlines</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-December/072422.html" target="_blank" rel="nofollow noopener">The future of ZFS in FreeBSD</a></h3>

<blockquote>The sources for FreeBSD’s ZFS support are currently taken directly from Illumos with local ifdefs to support the peculiarities of FreeBSD where the Solaris Portability Layer (SPL) shims fall short. FreeBSD has regularly pulled changes from Illumos and tried to push back any bug fixes and new features done in the context of FreeBSD. In the past few years the vast majority of new development in ZFS has taken place in DelphixOS and zfsonlinux (ZoL). Earlier this year Delphix announced that they will be moving to ZoL: <a href="https://www.delphix.com/blog/kickoff-future-eko-2018" target="_blank" rel="nofollow noopener">https://www.delphix.com/blog/kickoff-future-eko-2018</a> This shift means that there will be little to no net new development of Illumos. While working through the git history of ZoL I have also discovered that many races and locking bugs have been fixed in ZoL and never made it back to Illumos and thus FreeBSD. This state of affairs has led to a general agreement among the stakeholders that I have spoken to that it makes sense to rebase FreeBSD’s ZFS on ZoL. Brian Behlendorf has graciously encouraged me to add FreeBSD support directly to ZoL <a href="https://github.com/zfsonfreebsd/ZoF" target="_blank" rel="nofollow noopener">https://github.com/zfsonfreebsd/ZoF</a> so that we might all have a single shared code base.
A port for ZoF can be found at <a href="https://github.com/miwi-fbsd/zof-port" target="_blank" rel="nofollow noopener">https://github.com/miwi-fbsd/zof-port</a> Before it can be committed some additional functionality needs to be added to the FreeBSD opencrypto framework. These can be found at <a href="https://reviews.freebsd.org/D18520" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D18520</a>
This port will provide FreeBSD users with multi modifier protection, project quotas, encrypted datasets, allocation classes, vectorized raidz, vectorized checksums, and various command line improvements.</blockquote>

<hr>

<h3><a href="https://www.freebsd.org/news/status/report-2018-01-2018-09.html" target="_blank" rel="nofollow noopener">FreeBSD Quarterly Status Update</a></h3>

<blockquote>With FreeBSD having gone all the way to 12, it is perhaps useful to take a look back at all the things that have been accomplished, in terms of many visible changes, as well as all the things that happen behind the scenes to ensure that FreeBSD continues to offer an alternative in both design, implementation, and execution.
The things you can look forward to reading about are too numerous to summarize, but cover just about everything from finalizing releases, administrative work, optimizations and depessimizations, features added and fixed, and many areas of improvement that might just surprise you a little.
Please have a cup of coffee, tea, hot cocoa, or other beverage of choice, and enjoy this culmulative set of reports covering everything that’s been done since October, 2017.
—Daniel Ebdrup</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://eerielinux.wordpress.com/2018/11/30/one-year-of-flying-with-the-raven-ready-for-the-desktop/" target="_blank" rel="nofollow noopener">One year of flying with the Raven: Ready for the Desktop?</a></h3>

<blockquote>It has been a little over one year now that I’m with the Ravenports project. Time to reflect my involvement, my expectations and hopes.</blockquote>

<ul>
    <li>Ravenports</li>
</ul>

<blockquote>Ravenports is a universal packaging framework for *nix operating systems. For the user it provides easy access to binary packages of common software for multiple platforms. It has been the long-lasting champion on Repology’s top 10 repositories regarding package freshness (rarely dropping below 96 percent while all other projects keep below 90!).</blockquote>

<blockquote>For the porter it offers a well-designed and elegant means of writing cross-platform buildsheets that allow building the same version of the software with (completely or mostly) the same compile-time configuration on different operating systems or distributions.</blockquote>

<blockquote>And for the developer it means a real-world project that’s written in modern Ada (ravenadm) and C (pkg) – as well as some Perl for support scripts and make. Things feel very optimized and fast. Not being a programmer though, I cannot really say anything about the actual code and thus leave it to the interested reader’s judgement.</blockquote>

<hr>

<h3><a href="https://euroquis.nl/bobulate/?p=2040" target="_blank" rel="nofollow noopener">Modern KDE on FreeBSD</a></h3>

<blockquote>New stuff in the official FreeBSD repositories! The X11 team has landed a newer version of libinput, opening up the way for KDE Plasma 5.14 in ports. That’s a pretty big update and it may frighten people with a new wallpaper.
What this means is that the graphical stack is once again on-par with what Plasma upstream expects, and we can get back to chasing releases as soon as they happen, rather than gnashing our teeth at missing dependencies. The KDE-FreeBSD CI servers are in the process of being upgraded to 12-STABLE, and we’re integrating with the new experimental CI systems as well. This means we are chasing sensibly-modern systems (13-CURRENT is out of scope).</blockquote>

<hr>

<h3><a href="http://www.daemonology.net/blog/2018-12-26-the-many-ways-to-launch-FreeBSD-in-EC2.html" target="_blank" rel="nofollow noopener">The many ways to launch FreeBSD in EC2</a></h3>

<blockquote>Talking to FreeBSD users recently, I became aware that while I’ve created a lot of tools, I haven’t done a very good job of explaining how, and more importantly when to use them. So for all of the EC2-curious FreeBSD users out there: Here are the many ways to launch and configure FreeBSD in EC2 — ranging from the simplest to the most complicated (but most powerful):</blockquote>

<ul>
    <li>Launch FreeBSD and SSH in</li>
    <li>Launch FreeBSD and provide user-data</li>
    <li>Use the AMI Builder to create a customized FreeBSD AMI</li>
    <li>Build a FreeBSD AMI from a modified FreeBSD source tree</li>
    <li>Build your own disk image</li>
</ul>

<blockquote>I hope I’ve provided tools which help you to run FreeBSD in EC2, no matter how common or unusual your needs are. If you find my work useful, please consider supporting my work in this area; while this is both something I enjoy working on and something which is useful for my day job (Tarsnap, my online backup service), having support would make it easier for me to prioritize FreeBSD/EC2 issues over other projects.</blockquote>

<hr>

<h3><a href="https://dressupgeekout.blogspot.com/2018/12/using-gogcom-installers-for-linux-on.html" target="_blank" rel="nofollow noopener">Using the GOG.com installers for Linux, on NetBSD</a></h3>

<blockquote><a href="http://GOG.com" target="_blank" rel="nofollow noopener">GOG.com</a> prefers that you use their GOG Galaxy desktop app to download, install and manage all of your GOG games. But customers always have the option to install the game on their own terms, with a platform-specific installer.
GOG offers these installers for Mac, Windows and/or Linux, depending on which platforms the game is available for.</blockquote>

<ul>
    <li>The installers truly are platform-specific:</li>
    <li>macOS games are distributed in a standard .pkg</li>
    <li>Windows games are distributed in a setup wizard .exe</li>
    <li>Linux games are distributed in a goofy shell archive</li>
</ul>

<blockquote>Of course, none of those are NetBSD. So, if I wanted to even attempt to play a game distributed by <a href="http://GOG.com" target="_blank" rel="nofollow noopener">GOG.com</a> on NetBSD, which one should I pick? The obvious choice is the Linux installer, since Linux is the most similar to NetBSD, right? Au contraire! In practice, I found that it is easier to download the Windows installer.</blockquote>

<blockquote>Here’s what I mean. For example, I ported the open source version of Aquaria to pkgsrc, but that package is only the game’s engine, not the multimedia data. The multimedia data is still copyrighted. Therefore, you need to get it from somewhere else. GOG is usually a good choice, because they distribute their games without DRM. And as mentioned earlier, picking the Linux installer seemed like a natural choice.</blockquote>

<blockquote>Now, actually PLAYING the games on NetBSD is a separate matter entirely. The game I’ve got here, though, my current obsession Pyre, is built with MonoGame and therefore could theoretically work on NetBSD, too, with the help of a library called FNA and a script for OpenBSD called fnaify. I do hope to create a pkgsrc package for FNA and port the fnaify script to NetBSD at some point.</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
    <li><a href="https://corecursive.com/024-software-as-a-reflection-of-values-with-bryan-cantrill/" target="_blank" rel="nofollow noopener">Software as a Reflection of Values With Bryan Cantrill</a></li>
    <li><a href="http://dtrace.org/blogs/bmc/2018/02/03/talks/" target="_blank" rel="nofollow noopener">Collection of bmc talks, updated 2018</a></li>
    <li><a href="https://marc.info/?l=openbsd-bugs&amp;m=154529364730319&amp;w=2" target="_blank" rel="nofollow noopener">wump: incorrect wumpus movement probability</a></li>
    <li><a href="https://venshare.com/debugging-rust-with-vscode-on-freebsd/" target="_blank" rel="nofollow noopener">Debugging Rust with VSCode on FreeBSD</a></li>
    <li><a href="https://vermaden.wordpress.com/2018/12/27/smb-cifs-on-freebsd/" target="_blank" rel="nofollow noopener">SMB/CIFS on FreeBSD</a></li>
    <li><a href="https://old.reddit.com/r/freebsd/comments/aaihdk/bsd_tattoo/" target="_blank" rel="nofollow noopener">BSD Tattoo</a></li>
    <li><a href="https://mail-index.netbsd.org/pkgsrc-users/2018/12/30/msg027871.html" target="_blank" rel="nofollow noopener">pkgsrc-2018Q4 branch announcement</a></li>
    <li><a href="https://https.www.google.com.tedunangst.com/flak/post/toying-with-wireguard-on-openbsd" target="_blank" rel="nofollow noopener">toying with wireguard on openbsd</a></li>
    <li><a href="https://marc.info/?l=openbsd-tech&amp;m=154627230907954&amp;w=2" target="_blank" rel="nofollow noopener">new USB audio class v2.0 driver</a></li>
    <li><a href="https://www.youtube.com/watch?v=ZvSSHtRv5Mg" target="_blank" rel="nofollow noopener">Todd Mortimer Removing ROP Gadgets from OpenBSD EuroBSDCon 2018</a></li>
    <li><a href="https://www.openbsd.org/65.html" target="_blank" rel="nofollow noopener">OpenBSD 6.5 release page is online</a></li>
    <li><a href="https://twitter.com/jschauma/status/1071069217968013313?s=03" target="_blank" rel="nofollow noopener">shell access to historical Unix versions in your browser</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
    <li>Brad - <a href="http://dpaste.com/2CVAF1E#wrap" target="_blank" rel="nofollow noopener">ZFS Features and Upgrades</a></li>
    <li>Andre - <a href="http://dpaste.com/1XXFPHN#wrap" target="_blank" rel="nofollow noopener">Splitting ZFS array</a></li>
    <li>Michael - <a href="http://dpaste.com/2S8GFD0#wrap" target="_blank" rel="nofollow noopener">Priority/nice value for Jails?</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 278: The Real McCoy | BSD Now 278</title>
  <link>https://www.bsdnow.tv/278</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-3070</guid>
  <pubDate>Thu, 27 Dec 2018 04:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/20a1a3d9-9553-4eb3-a462-eb6f41b4fa5c.mp3" length="29982521" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We sat down at BSDCan 2018 to interview Kirk McKusick about various topics ranging about the early years of Berkeley Unix, his continuing work on UFS, the governance of FreeBSD, and more.</itunes:subtitle>
  <itunes:duration>49:39</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>&lt;p&gt;We sat down at BSDCan 2018 to interview Kirk McKusick about various topics ranging about the early years of Berkeley Unix, his continuing work on UFS, the governance of FreeBSD, and more.&lt;/p&gt;

&lt;p&gt;##Interview - Kirk McKusick - &lt;a href="mailto:mckusick@mckusick.com" target="_blank" rel="nofollow noopener"&gt;mckusick@mckusick.com&lt;/a&gt;&lt;br&gt;
25 years of FreeBSD&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How Kirk got started in BSD, at the very beginning&lt;/li&gt;
&lt;li&gt;Predicting the Future&lt;/li&gt;
&lt;li&gt;How the code and community grew&lt;/li&gt;
&lt;li&gt;The leadership of the project, and how it changed over time&lt;/li&gt;
&lt;li&gt;UFS over the years (reading disks from 1982 in 2018)&lt;/li&gt;
&lt;li&gt;Conferences&lt;/li&gt;
&lt;li&gt;The rise and fall of Linux&lt;/li&gt;
&lt;li&gt;The resurgence of FreeBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;We want to extend a big thank you to the entire BSD community for making this show possible, and to all of our viewers for watching and providing the feedback that makes this show successful. We wish you all a happy and prosperous new year, and we’ll see you next week.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We sat down at BSDCan 2018 to interview Kirk McKusick about various topics ranging about the early years of Berkeley Unix, his continuing work on UFS, the governance of FreeBSD, and more.</p>

<p>##Interview - Kirk McKusick - <a href="mailto:mckusick@mckusick.com" target="_blank" rel="nofollow noopener">mckusick@mckusick.com</a><br>
25 years of FreeBSD</p>

<ul>
<li>How Kirk got started in BSD, at the very beginning</li>
<li>Predicting the Future</li>
<li>How the code and community grew</li>
<li>The leadership of the project, and how it changed over time</li>
<li>UFS over the years (reading disks from 1982 in 2018)</li>
<li>Conferences</li>
<li>The rise and fall of Linux</li>
<li>The resurgence of FreeBSD</li>
</ul>

<hr>

<p>We want to extend a big thank you to the entire BSD community for making this show possible, and to all of our viewers for watching and providing the feedback that makes this show successful. We wish you all a happy and prosperous new year, and we’ll see you next week.</p>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We sat down at BSDCan 2018 to interview Kirk McKusick about various topics ranging about the early years of Berkeley Unix, his continuing work on UFS, the governance of FreeBSD, and more.</p>

<p>##Interview - Kirk McKusick - <a href="mailto:mckusick@mckusick.com" target="_blank" rel="nofollow noopener">mckusick@mckusick.com</a><br>
25 years of FreeBSD</p>

<ul>
<li>How Kirk got started in BSD, at the very beginning</li>
<li>Predicting the Future</li>
<li>How the code and community grew</li>
<li>The leadership of the project, and how it changed over time</li>
<li>UFS over the years (reading disks from 1982 in 2018)</li>
<li>Conferences</li>
<li>The rise and fall of Linux</li>
<li>The resurgence of FreeBSD</li>
</ul>

<hr>

<p>We want to extend a big thank you to the entire BSD community for making this show possible, and to all of our viewers for watching and providing the feedback that makes this show successful. We wish you all a happy and prosperous new year, and we’ll see you next week.</p>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 277: Nmap Level Up | BSD Now 277</title>
  <link>https://www.bsdnow.tv/277</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-3058</guid>
  <pubDate>Mon, 24 Dec 2018 11:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d08b7671-6fa3-4a12-864e-9a65603b79ee.mp3" length="46042591" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The Open Source midlife crisis, Donald Knuth The Yoda of Silicon Valley, Certbot For OpenBSD's httpd, how to upgrade FreeBSD from 11 to 12, level up your nmap game, NetBSD desktop, and more.</itunes:subtitle>
  <itunes:duration>1:16:25</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>&lt;p&gt;The Open Source midlife crisis, Donald Knuth The Yoda of Silicon Valley, Certbot For OpenBSD's httpd, how to upgrade FreeBSD from 11 to 12, level up your nmap game, NetBSD desktop, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="http://dtrace.org/blogs/bmc/2018/12/14/open-source-confronts-its-midlife-crisis/" target="_blank" rel="nofollow noopener"&gt;Open Source Confronts its midlife crisis&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Midlife is tough: the idealism of youth has faded, as has inevitably some of its fitness and vigor. At the same time, the responsibilities of adulthood have grown. Making things more challenging, while you are navigating the turbulence of teenagers, your own parents are likely entering life’s twilight, needing help in new ways from their adult children. By midlife, in addition to the singular joys of life, you have also likely experienced its terrible sorrows: death, heartbreak, betrayal. Taken together, the fading of youth, the growth in responsibility and the endurance of misfortune can lead to cynicism or (worse) drastic and poorly thought-out choices. Add in a little fear of mortality and some existential dread, and you have the stuff of which midlife crises are made…&lt;br&gt;
I raise this not because of my own adventures at midlife, but because it is clear to me that open source — now several decades old and fully adult — is going through its own midlife crisis. This has long been in the making: for years, I (and others) have been critical of service providers’ parasitic relationship with open source, as cloud service providers turn open source software into a service offering without giving back to the communities upon which they implicitly depend. At the same time, open source has been (rightfully) entirely unsympathetic to the proprietary software models that have been burned to the ground — but also seemingly oblivious as to the larger economic waves that have buoyed them.&lt;br&gt;
So it seemed like only a matter of time before the companies built around open source software would have to confront their own crisis of confidence: open source business models are really tough, selling software-as-a-service is one of the most natural of them, the cloud service providers are really good at it — and their commercial appetites seem boundless. And, like a new cherry red two-seater sports car next to a minivan in a suburban driveway, some open source companies are dealing with this crisis exceptionally poorly: they are trying to restrict the way that their open source software can be used. These companies want it both ways: they want the advantages of open source — the community, the positivity, the energy, the adoption, the downloads — but they also want to enjoy the fruits of proprietary software companies in software lock-in and its monopolistic rents. If this were entirely transparent (that is, if some bits were merely being made explicitly proprietary), it would be fine: we could accept these companies as essentially proprietary software companies, albeit with an open source loss-leader. But instead, these companies are trying to license their way into this self-contradictory world: continuing to claim to be entirely open source, but perverting the license under which portions of that source are available. Most gallingly, they are doing this by hijacking open source nomenclature. Of these, the laughably named commons clause is the worst offender (it is plainly designed to be confused with the purely virtuous creative commons), but others (including CockroachDB’s Community License, MongoDB’s Server Side Public License, and Confluent’s Community License) are little better. And in particular, as it apparently needs to be said: no, “community” is not the opposite of “open source” — please stop sullying its good name by attaching it to licenses that are deliberately not open source! But even if they were more aptly named (e.g. “the restricted clause” or “the controlled use license” or — perhaps most honest of all — “the please-don’t-put-me-out-of-business-during-the-next-reInvent-keynote clause”), these licenses suffer from a serious problem: they are almost certainly asserting rights that the copyright holder doesn’t in fact have.&lt;br&gt;
If I sell you a book that I wrote, I can restrict your right to read it aloud for an audience, or sell a translation, or write a sequel; these restrictions are rights afforded the copyright holder. I cannot, however, tell you that you can’t put the book on the same bookshelf as that of my rival, or that you can’t read the book while flying a particular airline I dislike, or that you aren’t allowed to read the book and also work for a company that competes with mine. (Lest you think that last example absurd, that’s almost verbatim the language in the new Confluent Community (sic) License.) I personally think that none of these licenses would withstand a court challenge, but I also don’t think it will come to that: because the vendors behind these licenses will surely fear that they wouldn’t survive litigation, they will deliberately avoid inviting such challenges. In some ways, this netherworld is even worse, as the license becomes a vessel for unverifiable fear of arbitrary liability.&lt;br&gt;
let me put this to you as directly as possible: cloud services providers are emphatically not going to license your proprietary software. I mean, you knew that, right? The whole premise with your proprietary license is that you are finding that there is no way to compete with the operational dominance of the cloud services providers; did you really believe that those same dominant cloud services providers can’t simply reimplement your LDAP integration or whatever? The cloud services providers are currently reproprietarizing all of computing — they are making their own CPUs for crying out loud! — reimplementing the bits of your software that they need in the name of the service that their customers want (and will pay for!) won’t even move the needle in terms of their effort.&lt;br&gt;
Worse than all of this (and the reason why this madness needs to stop): licenses that are vague with respect to permitted use are corporate toxin. Any company that has been through an acquisition can speak of the peril of the due diligence license audit: the acquiring entity is almost always deep pocketed and (not unrelatedly) risk averse; the last thing that any company wants is for a deal to go sideways because of concern over unbounded liability to some third-party knuckle-head. So companies that engage in license tomfoolery are doing worse than merely not solving their own problem: they are potentially poisoning the wellspring of their own community.&lt;br&gt;
in the end, open source will survive its midlife questioning just as people in midlife get through theirs: by returning to its core values and by finding rejuvenation in its communities. Indeed, we can all find solace in the fact that while life is finite, our values and our communities survive us — and that our engagement with them is our most important legacy.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the article for the rest&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.nytimes.com/2018/12/17/science/donald-knuth-computers-algorithms-programming.html" target="_blank" rel="nofollow noopener"&gt;Donald Knuth - The Yoda of Silicon Valley&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For half a century, the Stanford computer scientist Donald Knuth, who bears a slight resemblance to Yoda — albeit standing 6-foot-4 and wearing glasses — has reigned as the spirit-guide of the algorithmic realm.&lt;br&gt;
He is the author of “The Art of Computer Programming,” a continuing four-volume opus that is his life’s work. The first volume debuted in 1968, and the collected volumes (sold as a boxed set for about $250) were included by American Scientist in 2013 on its list of books that shaped the last century of science — alongside a special edition of “The Autobiography of Charles Darwin,” Tom Wolfe’s “The Right Stuff,” Rachel Carson’s “Silent Spring” and monographs by Albert Einstein, John von Neumann and Richard Feynman.&lt;br&gt;
With more than one million copies in print, “The Art of Computer Programming” is the Bible of its field. “Like an actual bible, it is long and comprehensive; no other book is as comprehensive,” said Peter Norvig, a director of research at Google. After 652 pages, volume one closes with a blurb on the back cover from Bill Gates: “You should definitely send me a résumé if you can read the whole thing.”&lt;br&gt;
The volume opens with an excerpt from “McCall’s Cookbook”:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;Here is your book, the one your thousands of letters have asked us to publish. It has taken us years to do, checking and rechecking countless recipes to bring you only the best, only the interesting, only the perfect.&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Inside are algorithms, the recipes that feed the digital age — although, as Dr. Knuth likes to point out, algorithms can also be found on Babylonian tablets from 3,800 years ago. He is an esteemed algorithmist; his name is attached to some of the field’s most important specimens, such as the Knuth-Morris-Pratt string-searching algorithm. Devised in 1970, it finds all occurrences of a given word or pattern of letters in a text — for instance, when you hit Command+F to search for a keyword in a document.&lt;br&gt;
Now 80, Dr. Knuth usually dresses like the youthful geek he was when he embarked on this odyssey: long-sleeved T-shirt under a short-sleeved T-shirt, with jeans, at least at this time of year. In those early days, he worked close to the machine, writing “in the raw,” tinkering with the zeros and ones.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the article for the rest&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://dev.to/nabbisen/lets-encrypt-certbot-for-openbsds-httpd-3ofd" target="_blank" rel="nofollow noopener"&gt;Let’s Encrypt: Certbot For OpenBSD’s httpd&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Intro&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Let’s Encrypt is “a free, automated, and open Certificate Authority”.&lt;br&gt;
Certbot is “an easy-to-use automatic client that fetches and deploys SSL/TLS certificates for your web server”, well known as “the official Let’s Encrypt client”.&lt;br&gt;
I remember well how excited I felt when I read Let’s Encrypt’s “Our First Certificate Is Now Live” in 2015.&lt;br&gt;
How wonderful the goal of them is; it’s to “give people the digital certificates they need in order to enable HTTPS (SSL/TLS) for websites, for free” “to create a more secure and privacy-respecting Web”!&lt;br&gt;
Since this year, they have begun to support even ACME v2 and Wildcard Certificate!&lt;br&gt;
Well, in OpenBSD as well as other operating systems, it’s easy and comfortable to have their big help 😊&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Environment&lt;/li&gt;
&lt;li&gt;OS: OpenBSD 6.4 amd64&lt;/li&gt;
&lt;li&gt;Web Server: OpenBSD’s httpd&lt;/li&gt;
&lt;li&gt;Certification: Let’s Encrypt with Certbot 0.27&lt;/li&gt;
&lt;li&gt;Reference: OpenBSD’s httpd&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.cyberciti.biz/open-source/freebsd-12-released-here-is-how-to-upgrade-freebsd/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12 released: Here is how to upgrade FreeBSD 11 to 12&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The FreeBSD project announces the availability of FreeBSD 12.0-RELEASE. It is the first release of the stable/12 branch. The new version comes with updated software and features for a wild variety of architectures. The latest release provides performance improvements and better support for FreeBSD jails and more. One can benefit greatly using an upgraded version of FreeBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD 12.0 supports amd64, i386, powerpc, powerpc64, powerpcspe, sparc64, armv6, armv7, and aarch64 architectures. One can run it on a standalone server or desktop system. Another option is to run it on Raspberry PI computer. FreeBSD 12 also runs on popular cloud service providers such as AWS EC2/Lightsail or Google compute VM.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;New features and highlights:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OpenSSL version 1.1.1a (LTS)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OpenSSH server 7.8p1&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Unbound server 1.8.1&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Clang and co 6.0.1&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The FreeBSD installer supports EFI+GELI as an installation option&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;VIMAGE FreeBSD kernel configuration option has been enabled by default. VIMAGE was the main reason I custom compiled FreeBSD for the last few years. No more custom compile for me.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Graphics drivers for modern ATI/AMD and Intel graphics cards are now available in the FreeBSD ports collection&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ZFS has been updated to include new sysctl(s), vfs.zfs.arc_min_prefetch_ms and vfs.zfs.arc_min_prescient_prefetch_ms, which improve performance of the zpool scrub subcommand&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The pf packet filter is now usable within a jail using vnet&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;KDE updated to version 5.12.5&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The NFS version 4.1 includes pNFS server support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Perl 5.26.2&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The default PAGER now defaults to less for most commands&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The dd utility has been updated to add the status=progress option to match GNU/Linux dd command to show progress bar while running dd&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;FreeBSD now supports ext4 for read/write operation&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Python 2.7&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;much more&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://zwischenzugs.com/2018/11/25/six-ways-to-level-up-your-nmap-game/" target="_blank" rel="nofollow noopener"&gt;Six Ways to Level Up Your nmap Game&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;nmap is a network exploration tool and security / port scanner.&lt;br&gt;
If you’ve heard of it, and you’re like me, you’ve most likely used it like this:&lt;br&gt;
ie, you’ve pointed it at an IP address and observed the output which tells you the open ports on a host.&lt;br&gt;
I used nmap like this for years, but only recently grokked the manual to see what else it could do. Here’s a quick look and some of the more useful things I found out.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Scan a Network&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Scan All Ports&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Get service versions&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Use -A for more data&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Find out what nmap is up to&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Script your own scans with NSE&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###[NetBSD Desktop]&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://unitedbsd.com/t/netbsd-desktop-part-1-manual-netbsd-installation-on-gpt-uefi/284" target="_blank" rel="nofollow noopener"&gt;Part 1: Manual NetBSD installation on GPT/UEFI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://unitedbsd.com/t/netbsd-desktop-pt-2-set-up-wireless-networking-on-netbsd-with-wpa-supplicant-and-dhcpcd/281" target="_blank" rel="nofollow noopener"&gt;NetBSD desktop pt.2: Set up wireless networking on NetBSD with wpa_supplicant and dhcpcd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://unitedbsd.com/t/netbsd-desktop-pt-3-simple-stateful-firewall-with-npf/286" target="_blank" rel="nofollow noopener"&gt;Part 3: Simple stateful firewall with NPF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://unitedbsd.com/t/netbsd-desktop-pt-4-the-x-display-manager-xdm/292" target="_blank" rel="nofollow noopener"&gt;Part 4: 4: The X Display Manager (XDM)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://unitedbsd.com/t/netbsd-desktop-pt-5-automounting-with-berkeley-am-utils/294/3" target="_blank" rel="nofollow noopener"&gt;Part 5: automounting with Berkeley am-utils&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-December/072422.html" target="_blank" rel="nofollow noopener"&gt;Call For Testing: ZFS on FreeBSD Project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2018/12/18/22223.html" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD 5.4.1 release within a week&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.bunniestudios.com/blog/?p=5421" target="_blank" rel="nofollow noopener"&gt;You Can’t Opt Out of the Patent System. That’s Why Patent Pandas Was Created!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://yggdrasil-network.github.io/2018/12/12/announcing-v0-3.html" target="_blank" rel="nofollow noopener"&gt;Announcing Yggdrasil Network v0.3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ziprecruiter.com/c/The-Good-Seed/Job/OpenBSD-Network-Engineer/-in-Los-Angeles,CA?jobid=35a52212-57d4d705" target="_blank" rel="nofollow noopener"&gt;OpenBSD Network Engineer Job listing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://itsfoss.com/freebsd-12-release/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.0 Stable Version Released!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bsdsec.net/articles/libressl-2-9-0-released" target="_blank" rel="nofollow noopener"&gt;LibreSSL 2.9.0 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Nq8sLqtzCEQ" target="_blank" rel="nofollow noopener"&gt;Live stream test: Sgi Octane light bar repair / soldering!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.sophimail.com/configure-freebsd-email-server-using-postfix-dovecot-mysql-spamassassin/" target="_blank" rel="nofollow noopener"&gt;Configure a FreeBSD Email Server Using Postfix, Dovecot, MySQL, DAVICAL and SpamAssassin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.obligd.com/posts/berkeley-smorgasbord.html" target="_blank" rel="nofollow noopener"&gt;Berkeley smorgasbord&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fosdem.org/2019/schedule/track/bsd/" target="_blank" rel="nofollow noopener"&gt;FOSDEM BSD Devroom schedule&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Warren - &lt;a href="http://dpaste.com/1V1XS01#wrap" target="_blank" rel="nofollow noopener"&gt;Ep.273: OpenZFS on OS X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;cogoman - &lt;a href="http://dpaste.com/0P0MWFC#wrap" target="_blank" rel="nofollow noopener"&gt;tarsnap security and using SSDs in raid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Andrew - &lt;a href="http://dpaste.com/3H9M5M0" target="_blank" rel="nofollow noopener"&gt;Portland BSD Pizza Night&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, Donald Knuth, LetsEncrypt, Certbot, nmap, patent, yggdrasil, libressl</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Open Source midlife crisis, Donald Knuth The Yoda of Silicon Valley, Certbot For OpenBSD's httpd, how to upgrade FreeBSD from 11 to 12, level up your nmap game, NetBSD desktop, and more.</p>

<p>##Headlines<br>
###<a href="http://dtrace.org/blogs/bmc/2018/12/14/open-source-confronts-its-midlife-crisis/" target="_blank" rel="nofollow noopener">Open Source Confronts its midlife crisis</a></p>

<blockquote>
<p>Midlife is tough: the idealism of youth has faded, as has inevitably some of its fitness and vigor. At the same time, the responsibilities of adulthood have grown. Making things more challenging, while you are navigating the turbulence of teenagers, your own parents are likely entering life’s twilight, needing help in new ways from their adult children. By midlife, in addition to the singular joys of life, you have also likely experienced its terrible sorrows: death, heartbreak, betrayal. Taken together, the fading of youth, the growth in responsibility and the endurance of misfortune can lead to cynicism or (worse) drastic and poorly thought-out choices. Add in a little fear of mortality and some existential dread, and you have the stuff of which midlife crises are made…<br>
I raise this not because of my own adventures at midlife, but because it is clear to me that open source — now several decades old and fully adult — is going through its own midlife crisis. This has long been in the making: for years, I (and others) have been critical of service providers’ parasitic relationship with open source, as cloud service providers turn open source software into a service offering without giving back to the communities upon which they implicitly depend. At the same time, open source has been (rightfully) entirely unsympathetic to the proprietary software models that have been burned to the ground — but also seemingly oblivious as to the larger economic waves that have buoyed them.<br>
So it seemed like only a matter of time before the companies built around open source software would have to confront their own crisis of confidence: open source business models are really tough, selling software-as-a-service is one of the most natural of them, the cloud service providers are really good at it — and their commercial appetites seem boundless. And, like a new cherry red two-seater sports car next to a minivan in a suburban driveway, some open source companies are dealing with this crisis exceptionally poorly: they are trying to restrict the way that their open source software can be used. These companies want it both ways: they want the advantages of open source — the community, the positivity, the energy, the adoption, the downloads — but they also want to enjoy the fruits of proprietary software companies in software lock-in and its monopolistic rents. If this were entirely transparent (that is, if some bits were merely being made explicitly proprietary), it would be fine: we could accept these companies as essentially proprietary software companies, albeit with an open source loss-leader. But instead, these companies are trying to license their way into this self-contradictory world: continuing to claim to be entirely open source, but perverting the license under which portions of that source are available. Most gallingly, they are doing this by hijacking open source nomenclature. Of these, the laughably named commons clause is the worst offender (it is plainly designed to be confused with the purely virtuous creative commons), but others (including CockroachDB’s Community License, MongoDB’s Server Side Public License, and Confluent’s Community License) are little better. And in particular, as it apparently needs to be said: no, “community” is not the opposite of “open source” — please stop sullying its good name by attaching it to licenses that are deliberately not open source! But even if they were more aptly named (e.g. “the restricted clause” or “the controlled use license” or — perhaps most honest of all — “the please-don’t-put-me-out-of-business-during-the-next-reInvent-keynote clause”), these licenses suffer from a serious problem: they are almost certainly asserting rights that the copyright holder doesn’t in fact have.<br>
If I sell you a book that I wrote, I can restrict your right to read it aloud for an audience, or sell a translation, or write a sequel; these restrictions are rights afforded the copyright holder. I cannot, however, tell you that you can’t put the book on the same bookshelf as that of my rival, or that you can’t read the book while flying a particular airline I dislike, or that you aren’t allowed to read the book and also work for a company that competes with mine. (Lest you think that last example absurd, that’s almost verbatim the language in the new Confluent Community (sic) License.) I personally think that none of these licenses would withstand a court challenge, but I also don’t think it will come to that: because the vendors behind these licenses will surely fear that they wouldn’t survive litigation, they will deliberately avoid inviting such challenges. In some ways, this netherworld is even worse, as the license becomes a vessel for unverifiable fear of arbitrary liability.<br>
let me put this to you as directly as possible: cloud services providers are emphatically not going to license your proprietary software. I mean, you knew that, right? The whole premise with your proprietary license is that you are finding that there is no way to compete with the operational dominance of the cloud services providers; did you really believe that those same dominant cloud services providers can’t simply reimplement your LDAP integration or whatever? The cloud services providers are currently reproprietarizing all of computing — they are making their own CPUs for crying out loud! — reimplementing the bits of your software that they need in the name of the service that their customers want (and will pay for!) won’t even move the needle in terms of their effort.<br>
Worse than all of this (and the reason why this madness needs to stop): licenses that are vague with respect to permitted use are corporate toxin. Any company that has been through an acquisition can speak of the peril of the due diligence license audit: the acquiring entity is almost always deep pocketed and (not unrelatedly) risk averse; the last thing that any company wants is for a deal to go sideways because of concern over unbounded liability to some third-party knuckle-head. So companies that engage in license tomfoolery are doing worse than merely not solving their own problem: they are potentially poisoning the wellspring of their own community.<br>
in the end, open source will survive its midlife questioning just as people in midlife get through theirs: by returning to its core values and by finding rejuvenation in its communities. Indeed, we can all find solace in the fact that while life is finite, our values and our communities survive us — and that our engagement with them is our most important legacy.</p>
</blockquote>

<ul>
<li>See the article for the rest</li>
</ul>

<hr>

<p>###<a href="https://www.nytimes.com/2018/12/17/science/donald-knuth-computers-algorithms-programming.html" target="_blank" rel="nofollow noopener">Donald Knuth - The Yoda of Silicon Valley</a></p>

<blockquote>
<p>For half a century, the Stanford computer scientist Donald Knuth, who bears a slight resemblance to Yoda — albeit standing 6-foot-4 and wearing glasses — has reigned as the spirit-guide of the algorithmic realm.<br>
He is the author of “The Art of Computer Programming,” a continuing four-volume opus that is his life’s work. The first volume debuted in 1968, and the collected volumes (sold as a boxed set for about $250) were included by American Scientist in 2013 on its list of books that shaped the last century of science — alongside a special edition of “The Autobiography of Charles Darwin,” Tom Wolfe’s “The Right Stuff,” Rachel Carson’s “Silent Spring” and monographs by Albert Einstein, John von Neumann and Richard Feynman.<br>
With more than one million copies in print, “The Art of Computer Programming” is the Bible of its field. “Like an actual bible, it is long and comprehensive; no other book is as comprehensive,” said Peter Norvig, a director of research at Google. After 652 pages, volume one closes with a blurb on the back cover from Bill Gates: “You should definitely send me a résumé if you can read the whole thing.”<br>
The volume opens with an excerpt from “McCall’s Cookbook”:</p>
</blockquote>

<p><code>Here is your book, the one your thousands of letters have asked us to publish. It has taken us years to do, checking and rechecking countless recipes to bring you only the best, only the interesting, only the perfect.</code></p>

<blockquote>
<p>Inside are algorithms, the recipes that feed the digital age — although, as Dr. Knuth likes to point out, algorithms can also be found on Babylonian tablets from 3,800 years ago. He is an esteemed algorithmist; his name is attached to some of the field’s most important specimens, such as the Knuth-Morris-Pratt string-searching algorithm. Devised in 1970, it finds all occurrences of a given word or pattern of letters in a text — for instance, when you hit Command+F to search for a keyword in a document.<br>
Now 80, Dr. Knuth usually dresses like the youthful geek he was when he embarked on this odyssey: long-sleeved T-shirt under a short-sleeved T-shirt, with jeans, at least at this time of year. In those early days, he worked close to the machine, writing “in the raw,” tinkering with the zeros and ones.</p>
</blockquote>

<ul>
<li>See the article for the rest</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://dev.to/nabbisen/lets-encrypt-certbot-for-openbsds-httpd-3ofd" target="_blank" rel="nofollow noopener">Let’s Encrypt: Certbot For OpenBSD’s httpd</a></p>

<ul>
<li>Intro</li>
</ul>

<blockquote>
<p>Let’s Encrypt is “a free, automated, and open Certificate Authority”.<br>
Certbot is “an easy-to-use automatic client that fetches and deploys SSL/TLS certificates for your web server”, well known as “the official Let’s Encrypt client”.<br>
I remember well how excited I felt when I read Let’s Encrypt’s “Our First Certificate Is Now Live” in 2015.<br>
How wonderful the goal of them is; it’s to “give people the digital certificates they need in order to enable HTTPS (SSL/TLS) for websites, for free” “to create a more secure and privacy-respecting Web”!<br>
Since this year, they have begun to support even ACME v2 and Wildcard Certificate!<br>
Well, in OpenBSD as well as other operating systems, it’s easy and comfortable to have their big help 😊</p>
</blockquote>

<ul>
<li>Environment</li>
<li>OS: OpenBSD 6.4 amd64</li>
<li>Web Server: OpenBSD’s httpd</li>
<li>Certification: Let’s Encrypt with Certbot 0.27</li>
<li>Reference: OpenBSD’s httpd</li>
</ul>

<hr>

<p>###<a href="https://www.cyberciti.biz/open-source/freebsd-12-released-here-is-how-to-upgrade-freebsd/" target="_blank" rel="nofollow noopener">FreeBSD 12 released: Here is how to upgrade FreeBSD 11 to 12</a></p>

<blockquote>
<p>The FreeBSD project announces the availability of FreeBSD 12.0-RELEASE. It is the first release of the stable/12 branch. The new version comes with updated software and features for a wild variety of architectures. The latest release provides performance improvements and better support for FreeBSD jails and more. One can benefit greatly using an upgraded version of FreeBSD.</p>
</blockquote>

<blockquote>
<p>FreeBSD 12.0 supports amd64, i386, powerpc, powerpc64, powerpcspe, sparc64, armv6, armv7, and aarch64 architectures. One can run it on a standalone server or desktop system. Another option is to run it on Raspberry PI computer. FreeBSD 12 also runs on popular cloud service providers such as AWS EC2/Lightsail or Google compute VM.</p>
</blockquote>

<ul>
<li>
<p>New features and highlights:</p>
</li>
<li>
<p>OpenSSL version 1.1.1a (LTS)</p>
</li>
<li>
<p>OpenSSH server 7.8p1</p>
</li>
<li>
<p>Unbound server 1.8.1</p>
</li>
<li>
<p>Clang and co 6.0.1</p>
</li>
<li>
<p>The FreeBSD installer supports EFI+GELI as an installation option</p>
</li>
<li>
<p>VIMAGE FreeBSD kernel configuration option has been enabled by default. VIMAGE was the main reason I custom compiled FreeBSD for the last few years. No more custom compile for me.</p>
</li>
<li>
<p>Graphics drivers for modern ATI/AMD and Intel graphics cards are now available in the FreeBSD ports collection</p>
</li>
<li>
<p>ZFS has been updated to include new sysctl(s), vfs.zfs.arc_min_prefetch_ms and vfs.zfs.arc_min_prescient_prefetch_ms, which improve performance of the zpool scrub subcommand</p>
</li>
<li>
<p>The pf packet filter is now usable within a jail using vnet</p>
</li>
<li>
<p>KDE updated to version 5.12.5</p>
</li>
<li>
<p>The NFS version 4.1 includes pNFS server support</p>
</li>
<li>
<p>Perl 5.26.2</p>
</li>
<li>
<p>The default PAGER now defaults to less for most commands</p>
</li>
<li>
<p>The dd utility has been updated to add the status=progress option to match GNU/Linux dd command to show progress bar while running dd</p>
</li>
<li>
<p>FreeBSD now supports ext4 for read/write operation</p>
</li>
<li>
<p>Python 2.7</p>
</li>
<li>
<p>much more</p>
</li>
</ul>

<hr>

<p>###<a href="https://zwischenzugs.com/2018/11/25/six-ways-to-level-up-your-nmap-game/" target="_blank" rel="nofollow noopener">Six Ways to Level Up Your nmap Game</a></p>

<blockquote>
<p>nmap is a network exploration tool and security / port scanner.<br>
If you’ve heard of it, and you’re like me, you’ve most likely used it like this:<br>
ie, you’ve pointed it at an IP address and observed the output which tells you the open ports on a host.<br>
I used nmap like this for years, but only recently grokked the manual to see what else it could do. Here’s a quick look and some of the more useful things I found out.</p>
</blockquote>

<ul>
<li>
<ol>
<li>Scan a Network</li>
</ol>
</li>
<li>
<ol>
<li>Scan All Ports</li>
</ol>
</li>
<li>
<ol>
<li>Get service versions</li>
</ol>
</li>
<li>
<ol>
<li>Use -A for more data</li>
</ol>
</li>
<li>
<ol>
<li>Find out what nmap is up to</li>
</ol>
</li>
<li>
<ol>
<li>Script your own scans with NSE</li>
</ol>
</li>
</ul>

<hr>

<p>###[NetBSD Desktop]</p>

<ul>
<li><a href="https://unitedbsd.com/t/netbsd-desktop-part-1-manual-netbsd-installation-on-gpt-uefi/284" target="_blank" rel="nofollow noopener">Part 1: Manual NetBSD installation on GPT/UEFI</a></li>
<li><a href="https://unitedbsd.com/t/netbsd-desktop-pt-2-set-up-wireless-networking-on-netbsd-with-wpa-supplicant-and-dhcpcd/281" target="_blank" rel="nofollow noopener">NetBSD desktop pt.2: Set up wireless networking on NetBSD with wpa_supplicant and dhcpcd</a></li>
<li><a href="https://unitedbsd.com/t/netbsd-desktop-pt-3-simple-stateful-firewall-with-npf/286" target="_blank" rel="nofollow noopener">Part 3: Simple stateful firewall with NPF</a></li>
<li><a href="https://unitedbsd.com/t/netbsd-desktop-pt-4-the-x-display-manager-xdm/292" target="_blank" rel="nofollow noopener">Part 4: 4: The X Display Manager (XDM)</a></li>
<li><a href="https://unitedbsd.com/t/netbsd-desktop-pt-5-automounting-with-berkeley-am-utils/294/3" target="_blank" rel="nofollow noopener">Part 5: automounting with Berkeley am-utils</a></li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-December/072422.html" target="_blank" rel="nofollow noopener">Call For Testing: ZFS on FreeBSD Project</a></li>
<li><a href="https://www.dragonflydigest.com/2018/12/18/22223.html" target="_blank" rel="nofollow noopener">DragonFlyBSD 5.4.1 release within a week</a></li>
<li><a href="https://www.bunniestudios.com/blog/?p=5421" target="_blank" rel="nofollow noopener">You Can’t Opt Out of the Patent System. That’s Why Patent Pandas Was Created!</a></li>
<li><a href="https://yggdrasil-network.github.io/2018/12/12/announcing-v0-3.html" target="_blank" rel="nofollow noopener">Announcing Yggdrasil Network v0.3</a></li>
<li><a href="https://www.ziprecruiter.com/c/The-Good-Seed/Job/OpenBSD-Network-Engineer/-in-Los-Angeles,CA?jobid=35a52212-57d4d705" target="_blank" rel="nofollow noopener">OpenBSD Network Engineer Job listing</a></li>
<li><a href="https://itsfoss.com/freebsd-12-release/" target="_blank" rel="nofollow noopener">FreeBSD 12.0 Stable Version Released!</a></li>
<li><a href="http://bsdsec.net/articles/libressl-2-9-0-released" target="_blank" rel="nofollow noopener">LibreSSL 2.9.0 released</a></li>
<li><a href="https://www.youtube.com/watch?v=Nq8sLqtzCEQ" target="_blank" rel="nofollow noopener">Live stream test: Sgi Octane light bar repair / soldering!</a></li>
<li><a href="https://www.sophimail.com/configure-freebsd-email-server-using-postfix-dovecot-mysql-spamassassin/" target="_blank" rel="nofollow noopener">Configure a FreeBSD Email Server Using Postfix, Dovecot, MySQL, DAVICAL and SpamAssassin</a></li>
<li><a href="http://blog.obligd.com/posts/berkeley-smorgasbord.html" target="_blank" rel="nofollow noopener">Berkeley smorgasbord</a></li>
<li><a href="https://fosdem.org/2019/schedule/track/bsd/" target="_blank" rel="nofollow noopener">FOSDEM BSD Devroom schedule</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Warren - <a href="http://dpaste.com/1V1XS01#wrap" target="_blank" rel="nofollow noopener">Ep.273: OpenZFS on OS X</a></li>
<li>cogoman - <a href="http://dpaste.com/0P0MWFC#wrap" target="_blank" rel="nofollow noopener">tarsnap security and using SSDs in raid</a></li>
<li>Andrew - <a href="http://dpaste.com/3H9M5M0" target="_blank" rel="nofollow noopener">Portland BSD Pizza Night</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Open Source midlife crisis, Donald Knuth The Yoda of Silicon Valley, Certbot For OpenBSD's httpd, how to upgrade FreeBSD from 11 to 12, level up your nmap game, NetBSD desktop, and more.</p>

<p>##Headlines<br>
###<a href="http://dtrace.org/blogs/bmc/2018/12/14/open-source-confronts-its-midlife-crisis/" target="_blank" rel="nofollow noopener">Open Source Confronts its midlife crisis</a></p>

<blockquote>
<p>Midlife is tough: the idealism of youth has faded, as has inevitably some of its fitness and vigor. At the same time, the responsibilities of adulthood have grown. Making things more challenging, while you are navigating the turbulence of teenagers, your own parents are likely entering life’s twilight, needing help in new ways from their adult children. By midlife, in addition to the singular joys of life, you have also likely experienced its terrible sorrows: death, heartbreak, betrayal. Taken together, the fading of youth, the growth in responsibility and the endurance of misfortune can lead to cynicism or (worse) drastic and poorly thought-out choices. Add in a little fear of mortality and some existential dread, and you have the stuff of which midlife crises are made…<br>
I raise this not because of my own adventures at midlife, but because it is clear to me that open source — now several decades old and fully adult — is going through its own midlife crisis. This has long been in the making: for years, I (and others) have been critical of service providers’ parasitic relationship with open source, as cloud service providers turn open source software into a service offering without giving back to the communities upon which they implicitly depend. At the same time, open source has been (rightfully) entirely unsympathetic to the proprietary software models that have been burned to the ground — but also seemingly oblivious as to the larger economic waves that have buoyed them.<br>
So it seemed like only a matter of time before the companies built around open source software would have to confront their own crisis of confidence: open source business models are really tough, selling software-as-a-service is one of the most natural of them, the cloud service providers are really good at it — and their commercial appetites seem boundless. And, like a new cherry red two-seater sports car next to a minivan in a suburban driveway, some open source companies are dealing with this crisis exceptionally poorly: they are trying to restrict the way that their open source software can be used. These companies want it both ways: they want the advantages of open source — the community, the positivity, the energy, the adoption, the downloads — but they also want to enjoy the fruits of proprietary software companies in software lock-in and its monopolistic rents. If this were entirely transparent (that is, if some bits were merely being made explicitly proprietary), it would be fine: we could accept these companies as essentially proprietary software companies, albeit with an open source loss-leader. But instead, these companies are trying to license their way into this self-contradictory world: continuing to claim to be entirely open source, but perverting the license under which portions of that source are available. Most gallingly, they are doing this by hijacking open source nomenclature. Of these, the laughably named commons clause is the worst offender (it is plainly designed to be confused with the purely virtuous creative commons), but others (including CockroachDB’s Community License, MongoDB’s Server Side Public License, and Confluent’s Community License) are little better. And in particular, as it apparently needs to be said: no, “community” is not the opposite of “open source” — please stop sullying its good name by attaching it to licenses that are deliberately not open source! But even if they were more aptly named (e.g. “the restricted clause” or “the controlled use license” or — perhaps most honest of all — “the please-don’t-put-me-out-of-business-during-the-next-reInvent-keynote clause”), these licenses suffer from a serious problem: they are almost certainly asserting rights that the copyright holder doesn’t in fact have.<br>
If I sell you a book that I wrote, I can restrict your right to read it aloud for an audience, or sell a translation, or write a sequel; these restrictions are rights afforded the copyright holder. I cannot, however, tell you that you can’t put the book on the same bookshelf as that of my rival, or that you can’t read the book while flying a particular airline I dislike, or that you aren’t allowed to read the book and also work for a company that competes with mine. (Lest you think that last example absurd, that’s almost verbatim the language in the new Confluent Community (sic) License.) I personally think that none of these licenses would withstand a court challenge, but I also don’t think it will come to that: because the vendors behind these licenses will surely fear that they wouldn’t survive litigation, they will deliberately avoid inviting such challenges. In some ways, this netherworld is even worse, as the license becomes a vessel for unverifiable fear of arbitrary liability.<br>
let me put this to you as directly as possible: cloud services providers are emphatically not going to license your proprietary software. I mean, you knew that, right? The whole premise with your proprietary license is that you are finding that there is no way to compete with the operational dominance of the cloud services providers; did you really believe that those same dominant cloud services providers can’t simply reimplement your LDAP integration or whatever? The cloud services providers are currently reproprietarizing all of computing — they are making their own CPUs for crying out loud! — reimplementing the bits of your software that they need in the name of the service that their customers want (and will pay for!) won’t even move the needle in terms of their effort.<br>
Worse than all of this (and the reason why this madness needs to stop): licenses that are vague with respect to permitted use are corporate toxin. Any company that has been through an acquisition can speak of the peril of the due diligence license audit: the acquiring entity is almost always deep pocketed and (not unrelatedly) risk averse; the last thing that any company wants is for a deal to go sideways because of concern over unbounded liability to some third-party knuckle-head. So companies that engage in license tomfoolery are doing worse than merely not solving their own problem: they are potentially poisoning the wellspring of their own community.<br>
in the end, open source will survive its midlife questioning just as people in midlife get through theirs: by returning to its core values and by finding rejuvenation in its communities. Indeed, we can all find solace in the fact that while life is finite, our values and our communities survive us — and that our engagement with them is our most important legacy.</p>
</blockquote>

<ul>
<li>See the article for the rest</li>
</ul>

<hr>

<p>###<a href="https://www.nytimes.com/2018/12/17/science/donald-knuth-computers-algorithms-programming.html" target="_blank" rel="nofollow noopener">Donald Knuth - The Yoda of Silicon Valley</a></p>

<blockquote>
<p>For half a century, the Stanford computer scientist Donald Knuth, who bears a slight resemblance to Yoda — albeit standing 6-foot-4 and wearing glasses — has reigned as the spirit-guide of the algorithmic realm.<br>
He is the author of “The Art of Computer Programming,” a continuing four-volume opus that is his life’s work. The first volume debuted in 1968, and the collected volumes (sold as a boxed set for about $250) were included by American Scientist in 2013 on its list of books that shaped the last century of science — alongside a special edition of “The Autobiography of Charles Darwin,” Tom Wolfe’s “The Right Stuff,” Rachel Carson’s “Silent Spring” and monographs by Albert Einstein, John von Neumann and Richard Feynman.<br>
With more than one million copies in print, “The Art of Computer Programming” is the Bible of its field. “Like an actual bible, it is long and comprehensive; no other book is as comprehensive,” said Peter Norvig, a director of research at Google. After 652 pages, volume one closes with a blurb on the back cover from Bill Gates: “You should definitely send me a résumé if you can read the whole thing.”<br>
The volume opens with an excerpt from “McCall’s Cookbook”:</p>
</blockquote>

<p><code>Here is your book, the one your thousands of letters have asked us to publish. It has taken us years to do, checking and rechecking countless recipes to bring you only the best, only the interesting, only the perfect.</code></p>

<blockquote>
<p>Inside are algorithms, the recipes that feed the digital age — although, as Dr. Knuth likes to point out, algorithms can also be found on Babylonian tablets from 3,800 years ago. He is an esteemed algorithmist; his name is attached to some of the field’s most important specimens, such as the Knuth-Morris-Pratt string-searching algorithm. Devised in 1970, it finds all occurrences of a given word or pattern of letters in a text — for instance, when you hit Command+F to search for a keyword in a document.<br>
Now 80, Dr. Knuth usually dresses like the youthful geek he was when he embarked on this odyssey: long-sleeved T-shirt under a short-sleeved T-shirt, with jeans, at least at this time of year. In those early days, he worked close to the machine, writing “in the raw,” tinkering with the zeros and ones.</p>
</blockquote>

<ul>
<li>See the article for the rest</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://dev.to/nabbisen/lets-encrypt-certbot-for-openbsds-httpd-3ofd" target="_blank" rel="nofollow noopener">Let’s Encrypt: Certbot For OpenBSD’s httpd</a></p>

<ul>
<li>Intro</li>
</ul>

<blockquote>
<p>Let’s Encrypt is “a free, automated, and open Certificate Authority”.<br>
Certbot is “an easy-to-use automatic client that fetches and deploys SSL/TLS certificates for your web server”, well known as “the official Let’s Encrypt client”.<br>
I remember well how excited I felt when I read Let’s Encrypt’s “Our First Certificate Is Now Live” in 2015.<br>
How wonderful the goal of them is; it’s to “give people the digital certificates they need in order to enable HTTPS (SSL/TLS) for websites, for free” “to create a more secure and privacy-respecting Web”!<br>
Since this year, they have begun to support even ACME v2 and Wildcard Certificate!<br>
Well, in OpenBSD as well as other operating systems, it’s easy and comfortable to have their big help 😊</p>
</blockquote>

<ul>
<li>Environment</li>
<li>OS: OpenBSD 6.4 amd64</li>
<li>Web Server: OpenBSD’s httpd</li>
<li>Certification: Let’s Encrypt with Certbot 0.27</li>
<li>Reference: OpenBSD’s httpd</li>
</ul>

<hr>

<p>###<a href="https://www.cyberciti.biz/open-source/freebsd-12-released-here-is-how-to-upgrade-freebsd/" target="_blank" rel="nofollow noopener">FreeBSD 12 released: Here is how to upgrade FreeBSD 11 to 12</a></p>

<blockquote>
<p>The FreeBSD project announces the availability of FreeBSD 12.0-RELEASE. It is the first release of the stable/12 branch. The new version comes with updated software and features for a wild variety of architectures. The latest release provides performance improvements and better support for FreeBSD jails and more. One can benefit greatly using an upgraded version of FreeBSD.</p>
</blockquote>

<blockquote>
<p>FreeBSD 12.0 supports amd64, i386, powerpc, powerpc64, powerpcspe, sparc64, armv6, armv7, and aarch64 architectures. One can run it on a standalone server or desktop system. Another option is to run it on Raspberry PI computer. FreeBSD 12 also runs on popular cloud service providers such as AWS EC2/Lightsail or Google compute VM.</p>
</blockquote>

<ul>
<li>
<p>New features and highlights:</p>
</li>
<li>
<p>OpenSSL version 1.1.1a (LTS)</p>
</li>
<li>
<p>OpenSSH server 7.8p1</p>
</li>
<li>
<p>Unbound server 1.8.1</p>
</li>
<li>
<p>Clang and co 6.0.1</p>
</li>
<li>
<p>The FreeBSD installer supports EFI+GELI as an installation option</p>
</li>
<li>
<p>VIMAGE FreeBSD kernel configuration option has been enabled by default. VIMAGE was the main reason I custom compiled FreeBSD for the last few years. No more custom compile for me.</p>
</li>
<li>
<p>Graphics drivers for modern ATI/AMD and Intel graphics cards are now available in the FreeBSD ports collection</p>
</li>
<li>
<p>ZFS has been updated to include new sysctl(s), vfs.zfs.arc_min_prefetch_ms and vfs.zfs.arc_min_prescient_prefetch_ms, which improve performance of the zpool scrub subcommand</p>
</li>
<li>
<p>The pf packet filter is now usable within a jail using vnet</p>
</li>
<li>
<p>KDE updated to version 5.12.5</p>
</li>
<li>
<p>The NFS version 4.1 includes pNFS server support</p>
</li>
<li>
<p>Perl 5.26.2</p>
</li>
<li>
<p>The default PAGER now defaults to less for most commands</p>
</li>
<li>
<p>The dd utility has been updated to add the status=progress option to match GNU/Linux dd command to show progress bar while running dd</p>
</li>
<li>
<p>FreeBSD now supports ext4 for read/write operation</p>
</li>
<li>
<p>Python 2.7</p>
</li>
<li>
<p>much more</p>
</li>
</ul>

<hr>

<p>###<a href="https://zwischenzugs.com/2018/11/25/six-ways-to-level-up-your-nmap-game/" target="_blank" rel="nofollow noopener">Six Ways to Level Up Your nmap Game</a></p>

<blockquote>
<p>nmap is a network exploration tool and security / port scanner.<br>
If you’ve heard of it, and you’re like me, you’ve most likely used it like this:<br>
ie, you’ve pointed it at an IP address and observed the output which tells you the open ports on a host.<br>
I used nmap like this for years, but only recently grokked the manual to see what else it could do. Here’s a quick look and some of the more useful things I found out.</p>
</blockquote>

<ul>
<li>
<ol>
<li>Scan a Network</li>
</ol>
</li>
<li>
<ol>
<li>Scan All Ports</li>
</ol>
</li>
<li>
<ol>
<li>Get service versions</li>
</ol>
</li>
<li>
<ol>
<li>Use -A for more data</li>
</ol>
</li>
<li>
<ol>
<li>Find out what nmap is up to</li>
</ol>
</li>
<li>
<ol>
<li>Script your own scans with NSE</li>
</ol>
</li>
</ul>

<hr>

<p>###[NetBSD Desktop]</p>

<ul>
<li><a href="https://unitedbsd.com/t/netbsd-desktop-part-1-manual-netbsd-installation-on-gpt-uefi/284" target="_blank" rel="nofollow noopener">Part 1: Manual NetBSD installation on GPT/UEFI</a></li>
<li><a href="https://unitedbsd.com/t/netbsd-desktop-pt-2-set-up-wireless-networking-on-netbsd-with-wpa-supplicant-and-dhcpcd/281" target="_blank" rel="nofollow noopener">NetBSD desktop pt.2: Set up wireless networking on NetBSD with wpa_supplicant and dhcpcd</a></li>
<li><a href="https://unitedbsd.com/t/netbsd-desktop-pt-3-simple-stateful-firewall-with-npf/286" target="_blank" rel="nofollow noopener">Part 3: Simple stateful firewall with NPF</a></li>
<li><a href="https://unitedbsd.com/t/netbsd-desktop-pt-4-the-x-display-manager-xdm/292" target="_blank" rel="nofollow noopener">Part 4: 4: The X Display Manager (XDM)</a></li>
<li><a href="https://unitedbsd.com/t/netbsd-desktop-pt-5-automounting-with-berkeley-am-utils/294/3" target="_blank" rel="nofollow noopener">Part 5: automounting with Berkeley am-utils</a></li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-December/072422.html" target="_blank" rel="nofollow noopener">Call For Testing: ZFS on FreeBSD Project</a></li>
<li><a href="https://www.dragonflydigest.com/2018/12/18/22223.html" target="_blank" rel="nofollow noopener">DragonFlyBSD 5.4.1 release within a week</a></li>
<li><a href="https://www.bunniestudios.com/blog/?p=5421" target="_blank" rel="nofollow noopener">You Can’t Opt Out of the Patent System. That’s Why Patent Pandas Was Created!</a></li>
<li><a href="https://yggdrasil-network.github.io/2018/12/12/announcing-v0-3.html" target="_blank" rel="nofollow noopener">Announcing Yggdrasil Network v0.3</a></li>
<li><a href="https://www.ziprecruiter.com/c/The-Good-Seed/Job/OpenBSD-Network-Engineer/-in-Los-Angeles,CA?jobid=35a52212-57d4d705" target="_blank" rel="nofollow noopener">OpenBSD Network Engineer Job listing</a></li>
<li><a href="https://itsfoss.com/freebsd-12-release/" target="_blank" rel="nofollow noopener">FreeBSD 12.0 Stable Version Released!</a></li>
<li><a href="http://bsdsec.net/articles/libressl-2-9-0-released" target="_blank" rel="nofollow noopener">LibreSSL 2.9.0 released</a></li>
<li><a href="https://www.youtube.com/watch?v=Nq8sLqtzCEQ" target="_blank" rel="nofollow noopener">Live stream test: Sgi Octane light bar repair / soldering!</a></li>
<li><a href="https://www.sophimail.com/configure-freebsd-email-server-using-postfix-dovecot-mysql-spamassassin/" target="_blank" rel="nofollow noopener">Configure a FreeBSD Email Server Using Postfix, Dovecot, MySQL, DAVICAL and SpamAssassin</a></li>
<li><a href="http://blog.obligd.com/posts/berkeley-smorgasbord.html" target="_blank" rel="nofollow noopener">Berkeley smorgasbord</a></li>
<li><a href="https://fosdem.org/2019/schedule/track/bsd/" target="_blank" rel="nofollow noopener">FOSDEM BSD Devroom schedule</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Warren - <a href="http://dpaste.com/1V1XS01#wrap" target="_blank" rel="nofollow noopener">Ep.273: OpenZFS on OS X</a></li>
<li>cogoman - <a href="http://dpaste.com/0P0MWFC#wrap" target="_blank" rel="nofollow noopener">tarsnap security and using SSDs in raid</a></li>
<li>Andrew - <a href="http://dpaste.com/3H9M5M0" target="_blank" rel="nofollow noopener">Portland BSD Pizza Night</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 276: Ho, Ho, Ho - 12.0 | BSD Now 276</title>
  <link>https://www.bsdnow.tv/276</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-3028</guid>
  <pubDate>Thu, 13 Dec 2018 04:15:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9e174552-285e-4d49-9120-830715479ac5.mp3" length="42596758" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 12.0 is finally here, partly-cloudy IPsec VPN, KLEAK with NetBSD, How to create synth repos, GhostBSD author interview, and more.</itunes:subtitle>
  <itunes:duration>1:10: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>&lt;p&gt;FreeBSD 12.0 is finally here, partly-cloudy IPsec VPN, KLEAK with NetBSD, How to create synth repos, GhostBSD author interview, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://www.freebsd.org/releases/12.0R/relnotes.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.0 is available&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;After a long release cycle, the wait is over: FreeBSD 12.0 is now officially available.&lt;/li&gt;
&lt;li&gt;We’ve picked a few interesting things to cover in the show, make sure to read the full &lt;a href="https://www.freebsd.org/releases/12.0R/relnotes.html" target="_blank" rel="nofollow noopener"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Userland:&lt;br&gt;
Group permissions on /dev/acpi have been changed to allow users in the operator GID to invoke acpiconf(8) to suspend the system.&lt;br&gt;
The default devfs.rules(5) configuration has been updated to allow mount_fusefs(8) with jail(8).&lt;br&gt;
The default PAGER now defaults to less(1) for most commands.&lt;br&gt;
The newsyslog(8) utility has been updated to reject configuration entries that specify setuid(2) or executable log files.&lt;br&gt;
The WITH_REPRODUCIBLE_BUILD src.conf(5) knob has been enabled by default.&lt;br&gt;
A new src.conf(5) knob, WITH_RETPOLINE, has been added to enable the retpoline mitigation for userland builds.&lt;br&gt;
Userland applications:&lt;br&gt;
The dtrace(1) utility has been updated to support if and else statements.&lt;br&gt;
The legacy gdb(1) utility included in the base system is now installed to /usr/libexec for use with crashinfo(8). The gdbserver and gdbtui utilities are no longer installed. For interactive debugging, lldb(1) or a modern version of gdb(1) from devel/gdb should be used. A new src.conf(5) knob, WITHOUT_GDB_LIBEXEC has been added to disable building gdb(1). The gdb(1) utility is still installed in /usr/bin on sparc64.&lt;br&gt;
The setfacl(1) utility has been updated to include a new flag, -R, used to operate recursively on directories.&lt;br&gt;
The geli(8) utility has been updated to provide support for initializing multiple providers at once when they use the same passphrase and/or key.&lt;br&gt;
The dd(1) utility has been updated to add the status=progress option, which prints the status of its operation on a single line once per second, similar to GNU dd(1).&lt;br&gt;
The date(1) utility has been updated to include a new flag, -I, which prints its output in ISO 8601 formatting.&lt;br&gt;
The bectl(8) utility has been added, providing an administrative interface for managing ZFS boot environments, similar to sysutils/beadm.&lt;br&gt;
The bhyve(8) utility has been updated to add a new subcommand to the -l and -s flags, help, which when used, prints a list of supported LPC and PCI devices, respectively.&lt;br&gt;
The tftp(1) utility has been updated to change the default transfer mode from ASCII to binary.&lt;br&gt;
The chown(8) utility has been updated to prevent overflow of UID or GID arguments where the argument exceeded UID_MAX or GID_MAX, respectively.&lt;br&gt;
Kernel:&lt;br&gt;
The ACPI subsystem has been updated to implement Device object types for ACPI 6.0 support, required for some Dell, Inc. Poweredge™ AMD® Epyc™ systems.&lt;br&gt;
The amdsmn(4) and amdtemp(4) drivers have been updated to attach to AMD® Ryzen 2™ host bridges.&lt;br&gt;
The amdtemp(4) driver has been updated to fix temperature reporting for AMD® 2990WX CPUs.&lt;br&gt;
Kernel Configuration:&lt;br&gt;
The VIMAGE kernel configuration option has been enabled by default.&lt;br&gt;
The dumpon(8) utility has been updated to add support for compressed kernel crash dumps when the kernel configuration file includes the GZIO option. See rc.conf(5) and dumpon(8) for additional information.&lt;br&gt;
The NUMA option has been enabled by default in the amd64 GENERIC and MINIMAL kernel configurations.&lt;br&gt;
Device Drivers:&lt;br&gt;
The random(4) driver has been updated to remove the Yarrow algorithm. The Fortuna algorithm remains the default, and now only, available algorithm.&lt;br&gt;
The vt(4) driver has been updated with performance improvements, drawing text at rates ranging from 2- to 6-times faster.&lt;br&gt;
Deprecated Drivers:&lt;br&gt;
The lmc(4) driver has been removed.&lt;br&gt;
The ixgb(4) driver has been removed.&lt;br&gt;
The nxge(4) driver has been removed.&lt;br&gt;
The vxge(4) driver has been removed.&lt;br&gt;
The jedec_ts(4) driver has been removed in 12.0-RELEASE, and its functionality replaced by jedec_dimm(4).&lt;br&gt;
The DRM driver for modern graphics chipsets has been marked deprecated and marked for removal in FreeBSD 13. The DRM kernel modules are available from graphics/drm-stable-kmod or graphics/drm-legacy-kmod in the Ports Collection as well as via pkg(8). Additionally, the kernel modules have been added to the lua loader.conf(5) module_blacklist, as installation from the Ports Collection or pkg(8) is strongly recommended.&lt;br&gt;
The following drivers have been deprecated in FreeBSD 12.0, and not present in FreeBSD 13.0: ae(4), de(4), ed(4), ep(4), ex(4), fe(4), pcn(4), sf(4), sn(4), tl(4), tx(4), txp(4), vx(4), wb(4), xe(4)&lt;br&gt;
Storage:&lt;br&gt;
The UFS/FFS filesystem has been updated to support check hashes to cylinder-group maps. Support for check hashes is available only for UFS2.&lt;br&gt;
The UFS/FFS filesystem has been updated to consolidate TRIM/BIO_DELETE commands, reducing read/write requests due to fewer TRIM messages being sent simultaneously.&lt;br&gt;
TRIM consolidation support has been enabled by default in the UFS/FFS filesystem. TRIM consolidation can be disabled by setting the vfs.ffs.dotrimcons sysctl(8) to 0, or adding vfs.ffs.dotrimcons=0 to sysctl.conf(5).&lt;br&gt;
NFS:&lt;br&gt;
The NFS version 4.1 server has been updated to include pNFS server support.&lt;br&gt;
ZFS:&lt;br&gt;
ZFS has been updated to include new sysctl(8)s, vfs.zfs.arc_min_prefetch_ms and vfs.zfs.arc_min_prescient_prefetch_ms, which improve performance of the zpool(8) scrub subcommand.&lt;br&gt;
The new spacemap_v2 zpool feature has been added. This provides more efficient encoding of spacemaps, especially for full vdev spacemaps.&lt;br&gt;
The large_dnode zpool feature been imported, allowing better compatibility with pools created under ZFS-on-Linux 0.7.x&lt;br&gt;
Many bug fixes have been applied to the device removal feature. This feature allows you to remove a non-redundant or mirror vdev from a pool by relocating its data to other vdevs.&lt;br&gt;
Includes the fix for PR 229614 that could cause processes to hang in zil_commit()&lt;br&gt;
Boot Loader Changes:&lt;br&gt;
The lua loader(8) has been updated to detect a list of installed kernels to boot.&lt;br&gt;
The loader(8) has been updated to support geli(8) for all architectures and all disk-like devices.&lt;br&gt;
The loader(8) has been updated to add support for loading Intel® microcode updates early during the boot process.&lt;/p&gt;
&lt;p&gt;Networking:&lt;br&gt;
The pf(4) packet filter is now usable within a jail(8) using vnet(9).&lt;br&gt;
The pf(4) packet filter has been updated to use rmlock(9) instead of rwlock(9), resulting in significant performance improvements.&lt;br&gt;
The SO_REUSEPORT_LB option has been added to the network stack, allowing multiple programs or threads to bind to the same port, and incoming connections load balanced using a hash function.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Again, read the release notes for a full list, check out the &lt;a href="https://www.freebsd.org/releases/12.0R/errata.html" target="_blank" rel="nofollow noopener"&gt;errata notices&lt;/a&gt;. A big THANKS to the entire release engineering team and all developers involved in the release, much appreciated!&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.adminbyaccident.com/politics/abandon-linux-move-freebsd-illumos/" target="_blank" rel="nofollow noopener"&gt;Abandon Linux. Move to FreeBSD or Illumos&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you use GNU/Linux and you are only on opensource, you may be doing it wrong. Here’s why.&lt;br&gt;
Is your company based on opensource based software only? Do you have a bunch of developers hitting some kind of server you have installed for them to “do their thing”? Being it for economical reasons (remember to donate), being it for philosophycal ones, you may have skipped good alternatives. The BSD’s and Illumos.&lt;br&gt;
I bet you are running some sort of Debian, openSuSE or CentOS. It’s very discouraging having entered into the IT field recently and discover many of the people you meet do not even recognise the name BSD. Naming Solaris seems like naming the evil itself. The problem being many do not know why. They can’t point anything specific other than it’s fading out. This has recently shown strong when Oracle officials have stated development for new features has ceased and almost 90 % of developers for Solaris have been layed off. AIX seems alien to almost everybody unless you have a white beard. And all this is silly.&lt;br&gt;
And here’s why. You are certainly missing two important features that FreeBSD and Illumos derivatives are enjoying. A full virtualization technology, much better and fully developed compared to the LXC containers in the Linux world, such as Jails on BSD, Zones in Solaris/Illumos, and the great ZFS file system which both share.&lt;br&gt;
You have probably heard of a new Linux filesystem named Btrfs, which by the way, development has been dropped from the Red Hat side. Trying to emulate ZFS, Oracle started developing Btrfs file system before they acquired Sun (the original developer of ZFS), and SuSE joined the effort as well as Red Hat. It is not as well developed as ZFS and it hasn’t been tested in production environments as extensively as the former has. That leaves some uncertainty on using it or not. Red Hat leaving it aside does add some more. Although some organizations have used it with various grades of success.&lt;br&gt;
But why is this anyhow interesting for a sysadmin or any organization? Well… FreeBSD (descendant of Berkeley UNIX) and SmartOS (based on Illumos) aglutinate some features that make administration easier, safer, faster and more reliable. The dream of any systems administrator.&lt;br&gt;
To start, the ZFS filesystem combines the typical filesystem with a volume manager. It includes protection against corruption, snapshots and copy-on-write clones, as well as volume manager.&lt;br&gt;
Jails is another interesting piece of technology. Linux folks usually associate this as a sort of chroot. It isn’t. It is somehow inspired by it but as you may know you can escape from a chroot environment with a blink of an eye. Jails are not called jails casually. The name has a purpose. Contain processes and programs within a defined and totally controlled environment. Jails appeared first in FreeBSD in the year 2000. Solaris Zones debuted on 2005 (now called containers) are the now proprietary version of those.&lt;br&gt;
There are some other technologies on Linux such as Btrfs or Docker. But they have some caveats. Btrfs hasn’t been fully developed yet and it’s hasn’t been proved as much in production environments as ZFS has. And some problems have arisen recently although the developers are pushing the envelope. At some time they will match ZFS capabilities for sure. Docker is growing exponentially and it’s one of the cool technologies of modern times. The caveat is, as before, the development of this technology hasn’t been fully developed. Unlike other virtualization technologies this is not a kernel playing on top of another kernel. This is virtualization at the OS level, meaning differentiated environments can coexist on a single host, “hitting” the same unique kernel which controls and shares the resources. The problem comes when you put Docker on top of any other virtualization technology such as KVM or Xen. It breaks the purpose of it and has a performance penalty.&lt;br&gt;
I have arrived into the IT field with very little knowledge, that is true. But what I see strikes me. Working in a bank has allowed me to see a big production environment that needs the highest of the availability and reliability. This is, sometimes, achieved by bruteforce. And it’s legitime and adequate. Redundancy has a reason and a purpose for example. But some other times it looks, it feels, like killing flies with cannons. More hardware, more virtual machines, more people, more of this, more of that. They can afford it, so they try to maintain the cost low but at the end of the day there is a chunky budget to back operations.&lt;br&gt;
But here comes reality. You’re not a bank and you need to squeeze your investment as much as possible. By using FreeBSD jails you can avoid the performance penalty of KVM or Xen virtualization. Do you use VMWare or Hyper-V? You can avoid both and gain in performance. Not only that, control and manageability are equal as before, and sometimes easier to administer. There are four ways to operate them which can be divided in two categories. Hardcore and Human Being. For the Hardcore use the FreeBSD handbook and investigate as much as you can. For the Human Being way there are three options to use. Ezjail, Iocage and CBSD which are frameworks or programs as you may call to manage jails. I personally use Iocage but I have also used Ezjail.&lt;br&gt;
How can you use jails on your benefit? Ever tried to configure some new software and failed miserably? You can have three different jails running at the same time with different configurations. Want to try a new configuration in a production piece of hardware without applying it on the final users? You can do that with a small jail while the production environment is on in another bigger, chunkier jail.&lt;br&gt;
Want to divide the hardware as a replica of the division of the team/s you are working with? Want to sell virtual machines with bare metal performance? Do you want to isolate some piece of critical software or even data in a more controlled environment? Do you have different clients and you want to use the same hardware but you want to avoid them seeing each other at the same time you maintain performance and reliability?&lt;br&gt;
Are you a developer and you have to have reliable and portable snapshots of your work? Do you want to try new options-designs without breaking your previous work, in a timeless fashion? You can work on something, clone the jail and apply the new ideas on the project in a matter of seconds. You can stop there, export the filesystem snapshot containing all the environment and all your work and place it on a thumbdrive to later import it on a big production system. Want to change that image properties such as the network stack interface and ip? This is just one command away from you.&lt;br&gt;
But what properties can you assign to a jail and how can I manage them you may be wondering. Hostname, disk quota, i/o, memory, cpu limits, network isolation, network virtualization, snapshots and the manage of those, migration and root privilege isolation to name a few. You can also clone them and import and export them between different systems. Some of these things because of ZFS. Iocage is a python program to manage jails and it takes profit from ZFS advantages.&lt;br&gt;
But FreeBSD is not Linux you may say. No it is not. There are no run levels. The systemd factor is out of this equation. This is so since the begginning. Ever wondered where did vi come from? The TCP/IP stack? Your beloved macOS from Apple? All this is coming from the FreeBSD project. If you are used to Linux your adaptation period with any BSD will be short, very short. You will almost feel at home. Used to packaged software using yum or apt-get? No worries. With pkgng, the package management tool used in FreeBSD has almost 27.000 compiled packages for you to use. Almost all software found on any of the important GNU/Linux distros can be found here. Java, Python, C, C++, Clang, GCC, Javascript frameworks, Ruby, PHP, MySQL and the major forks, etc. All this opensource software, and much more, is available at your fingertips.&lt;br&gt;
I am a developer and… frankly my time is money and I appreciate both much more than dealing with systems configuration, etc. You can set a VM using VMWare or VirtualBox and play with barebones FreeBSD or you can use TrueOS (a derivative) which comes in a server version and a desktop oriented one. The latter will be easier for you to play with. You may be doing this already with Linux. There is a third and very sensible option. FreeNAS, developed by iXSystems. It is FreeBSD based and offers all these technologies with a GUI. VMWare, Hyper-V? Nowadays you can get your hands off the CLI and get a decent, usable, nice GUI.&lt;br&gt;
You say you play on the cloud. The major players already include FreeBSD in their offerings. You can find it in Amazon AWS or Azure (with official Microsoft support contracts too!). You can also find it in DigitalOcean and other hosting providers. There is no excuse. You can use it at home, at the office, with old or new hardware and in the cloud as well. You can even pay for a support contract to use it. Joyent, the developers of SmartOS have their own cloud with different locations around the globe. Have a look on them too.&lt;br&gt;
If you want the original of ZFS and zones you may think of Solaris. But it’s fading away. But it really isn’t. When Oracle bouth Sun many people ran away in an stampide fashion. Some of the good folks working at Sun founded new projects. One of these is Illumos. Joyent is a company formed by people who developed these technologies. They are a cloud operator, have been recently bought by Samsung and have a very competent team of people providing great tech solutions. They have developed an OS, called SmartOS (based on Illumos) with all these features. The source from this goes back to the early days of UNIX. Do you remember the days of OpenSolaris when Sun opensourced the crown jewels? There you have it. A modern opensource UNIX operating system with the roots in their original place and the head planted on today’s needs.&lt;br&gt;
In conclusion. If you are on GNU/Linux and you only use opensource software you may be doing it wrong. And missing goodies you may need and like. Once you put your hands on them, trust me, you won’t look back. And if you have some “old fashioned” admins who know Solaris, you can bring them to a new profitable and exciting life with both systems.&lt;br&gt;
Still not convinced? Would you have ever imagined Microsoft supporting Linux? Even loving it? They do love now FreeBSD. And not only that, they provide their own image in the Azure Cloud and you can get Microsoft support, payed support if you want to use the platform on Azure. Ain’t it… surprising? Convincing at all?&lt;br&gt;
PS: I haven’t mentioned both softwares, FreeBSD and SmartOS do have a Linux translation layer. This means you can run Linux binaries on them and the program won’t cough at all. Since the ABI stays stable the only thing you need to run a Linux binary is a translation between the different system calls and the libraries. Remember POSIX? Choose your poison and enjoy it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://bradackerman.com/posts/2018-12-05-bsd-cloudy-vpn/" target="_blank" rel="nofollow noopener"&gt;A partly-cloudy IPsec VPN&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Audience&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m assuming that readers have at least a basic knowledge of TCP/IP networking and some UNIX or UNIX-like systems, but not necessarily OpenBSD or FreeBSD. This post will therefore be light on details that aren’t OS specific and are likely to be encountered in normal use (e.g., how to use vi or another text editor.) For more information on these topics, read Absolute FreeBSD (3ed.) by Michael W. Lucas.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Overview&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m redoing my DigitalOcean virtual machines (which they call droplets). My requirements are:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;VPN&lt;/li&gt;
&lt;li&gt;Road-warrior access, so I can use private network resources from anywhere.&lt;/li&gt;
&lt;li&gt;A site-to-site VPN, extending my home network to my VPSes.&lt;/li&gt;
&lt;li&gt;Hosting for public and private network services.&lt;/li&gt;
&lt;li&gt;A proxy service to provide a public IP address to services hosted at home.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The last item is on the list because I don’t actually have a public IP address at home; my firewall’s external address is in the RFC 1918 space, and the entire apartment building shares a single public IPv4 address.1 (IPv6? Don’t I wish.) The end-state network will include one OpenBSD droplet providing firewall, router, and VPN services; and one FreeBSD droplet hosting multiple jailed services.&lt;br&gt;
I’ll be providing access via these droplets to a NextCloud instance at home. A simple NAT on the DO router droplet isn’t going to work, because packets going from home to the internet would exit through the apartment building’s connection and not through the VPN. It’s possible that I could do work around this issue with packet tagging using the pf firewall, but HAProxy is simple to configure and unlikely to result in hard-to-debug problems. relayd is also an option, but doesn’t have the TLS parsing abilities of HAProxy, which I’ll be using later on.&lt;br&gt;
Since this system includes jails running on a VPS, and they’ve got RFC 1918 addresses, I want them reachable from my home network. Once that’s done, I can access the private address space from anywhere through a VPN connection to the cloudy router.&lt;br&gt;
The VPN itself will be of the IPsec variety. IPsec is the traditional enterprise VPN standard, and is even used for classified applications, but has a (somewhat-deserved) reputation for complexity, but recent versions of OpenBSD turn down the difficulty by quite a bit.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The end-state network should look like: &lt;a href="https://d33wubrfki0l68.cloudfront.net/0ccf46fb057e0d50923209bb2e2af0122637e72d/e714e/201812-cloudy/endstate.svg" target="_blank" rel="nofollow noopener"&gt;https://d33wubrfki0l68.cloudfront.net/0ccf46fb057e0d50923209bb2e2af0122637e72d/e714e/201812-cloudy/endstate.svg&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This VPN both separates internal network traffic from public traffic and uses encryption to prevent interception or tampering.&lt;br&gt;
Once traffic has been encrypted, decrypting it without the key would, as Bruce Schneier once put it, require a computer built from something other than matter that occupies something other than space. Dyson spheres and a frakton of causality violation would possibly work, as would mathemagical technology that alters the local calendar such that P=NP.2 Black-bag jobs and/or suborning cloud provider employees doesn’t quite have that guarantee of impossibility, however. If you have serious security requirements, you’ll need to do better than a random blog entry.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://netbsd.org/gallery/presentations/maxv/kleak.pdf" target="_blank" rel="nofollow noopener"&gt;KLEAK: Practical Kernel Memory Disclosure Detection&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Modern operating systems such as NetBSD, macOS, and Windows isolate their kernel from userspace programs to increase fault tolerance and to protect against malicious manipulations [10]. User space programs have to call into the kernel to request resources, via system calls or ioctls. This communication between user space and kernel space crosses a security boundary. Kernel memory disclosures - also known as kernel information leaks - denote the inadvertent copying of uninitialized bytes from kernel space to user space.  Such disclosed memory may contain cryptographic keys, information about the kernel memory layout, or other forms of secret data. Even though kernel memory disclosures do not allow direct exploitation of a system, they lay the ground for it.&lt;br&gt;
We introduce KLEAK, a simple approach to dynamically detect kernel information leaks. Simply said, KLEAK utilizes a rudimentary form of taint tracking: it taints kernel memory with marker values, lets the data travel through the kernel and scans the buffers exchanged between the kernel and the user space for these marker values. By using compiler instrumentation and rotating the markers at regular intervals, KLEAK significantly reduces the number of false positives, and is able to yield relevant results with little effort.&lt;br&gt;
Our  approach is practically feasible as we prove with an implementation for the NetBSD kernel. A small performance penalty is introduced, but the system remains usable. In addition to implementing KLEAK in the NetBSD kernel, we applied our approach to FreeBSD 11.2. In total,  we detected 21 previously unknown kernel memory disclosures in NetBSD-current and FreeBSD 11.2, which were fixed subsequently. As a follow-up, the projects’ developers manually audited related kernel areas and identified dozens of other kernel memory disclosures.&lt;br&gt;
The remainder of this paper is structured as follows. Section II discusses the bug class of kernel memory disclosures. Section III presents KLEAK to dynamically detect instances of this bug class. Section IV discusses the results of applying KLEAK to NetBSD-current and FreeBSD 11.2. Section V reviews prior research. Finally, Section VI concludes this paper.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.dragonflybsd.org/docs/howtos/How_To_Create_Official_Synth_Repo/" target="_blank" rel="nofollow noopener"&gt;How To Create Official Synth Repo&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;System Environment&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Make sure /usr/dports is updated and that it contains no cruft (git pull; git status). Remove any cruft.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Make sure your ‘synth’ is up-to-date ‘pkg upgrade synth’. If you already updated your system you may have to build synth from scratch, from /usr/dports/ports-mgmt/synth.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Make sure /etc/make.conf is clean.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Update /usr/src to the current master, make sure there is no cruft in it&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Do a full buildworld, buildkernel, installkernel and installworld&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Reboot&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After the reboot, before proceeding, run ‘uname -a’ and make sure you are now on the desired release or development kernel.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Synth Environment&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;/usr/local/etc/synth/ contains the synth configuration. It should contain a synth.ini file (you may have to rename the template), and you will have to create or edit a LiveSystem-make.conf file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;System requirements are hefty. Just linking chromium alone eats at least 30GB, for example. Concurrent c++ compiles can eat up to 2GB per process. We recommend at least 100GB of SSD based swap space and 300GB of free space on the filesystem.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;synth.ini should contain this. Plus modify the builders and jobs to suit your system. With 128G of ram, 30/30 or 40/25 works well. If you have 32G of ram, maybe 8/8 or less.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;; Take care when hand editing!&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;[Global Configuration]&lt;/code&gt;&lt;br&gt;
&lt;code&gt;profile_selected= LiveSystem&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;[LiveSystem]&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Operating_system= DragonFly&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Directory_packages= /build/synth/live_packages&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Directory_repository= /build/synth/live_packages/All&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Directory_portsdir= /build/synth/dports&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Directory_options= /build/synth/options&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Directory_distfiles= /usr/distfiles&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Directory_buildbase= /build/synth/build&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Directory_logs= /build/synth/logs&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Directory_ccache= disabled&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Directory_system= /&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Number_of_builders= 30&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Max_jobs_per_builder= 30&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Tmpfs_workdir= true&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Tmpfs_localbase= true&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Display_with_ncurses= true&lt;/code&gt;&lt;br&gt;
&lt;code&gt;leverage_prebuilt= false&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;LiveSystem-make.conf should contain one line to restrict licensing to only what is allowed to be built as a binary package:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;LICENSES_ACCEPTED= NONE&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Make sure there is no other cruft in /usr/local/etc/synth/&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the example above, the synth working dirs are in “/build/synth”. Make sure the base directories exist. Clean out any cruft for a fresh build from-scratch:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;rm -rf /build/synth/live_packages/*&lt;/code&gt;&lt;br&gt;
&lt;code&gt;rm -rf /build/synth/logs&lt;/code&gt;&lt;br&gt;
&lt;code&gt;mkdir /build/synth/logs&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Run synth everything. I recommend doing this in a ‘screen’ session in case you lose your ssh session (assuming you are ssh’d into the build machine).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;(optionally start a screen session)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;synth everything&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A full synth build takes over 24 hours to run on a 48-core box, around 12 hours to run on a 64-core box. On a 4-core/8-thread box it will take at least 3 days. There will be times when swap space is heavily used. If you have not run synth before, monitor your memory and swap loads to make sure you have configured the jobs properly. If you are overloading the system, you may have to ^C the synth run, reduce the jobs, and start it again. It will pick up where it left off.&lt;/li&gt;
&lt;li&gt;When synth finishes, let it rebuild the database. You then have a working binary repo.&lt;/li&gt;
&lt;li&gt;It is usually a good idea to run synth several times to pick up any stuff it couldn’t build the first time. Each of these incremental runs may take a few hours, depending on what it tries to build.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.freebsdbytes.com/2018/11/interview-eric-turgeon-founder-maintainer-ghostbsd/" target="_blank" rel="nofollow noopener"&gt;Interview with founder and maintainer of GhostBSD, Eric Turgeon&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Thanks you Eric for taking part. To start off, could you  tell us a little about yourself, just a bit of background?&lt;/li&gt;
&lt;li&gt;How did you become interested in open source?&lt;/li&gt;
&lt;li&gt;When and how did you get interested in the BSD operating systems?&lt;/li&gt;
&lt;li&gt;On your Twitter profile, you state that you are an automation engineer at iXsystems. Can you share what you do in your day-to-day job?&lt;/li&gt;
&lt;li&gt;You are the founder and project lead of GhostBSD. Could you describe GhostBSD to those who have never used it or never heard of it?&lt;/li&gt;
&lt;li&gt;Developing an operating system is not a small thing. What made you decide to start the GhostBSD project and not join another “desktop FreeBSD” related project, such as PC-BSD and DesktopBSD at the time?&lt;/li&gt;
&lt;li&gt;How did you get to the name GhostBSD? Did you consider any other names?&lt;/li&gt;
&lt;li&gt;You recently released GhostBSD 18.10? What’s new in that version and what are the key features? What has changed since GhostBSD 11.1?&lt;/li&gt;
&lt;li&gt;The current version is 18.10. Will the next version be 19.04 (like Ubuntu’s version numbering), or is a new version released after the next stable TrueOS release&lt;/li&gt;
&lt;li&gt;Can you tell us something about the development team? Is it yourself, or are there other core team members? I think I saw two other developers on your Github project page.&lt;/li&gt;
&lt;li&gt;How about the relationship with the community? Is it possible for a community member to contribute, and how are those contributions handled?&lt;/li&gt;
&lt;li&gt;What was the biggest challenge during development?&lt;/li&gt;
&lt;li&gt;If you had to pick one feature readers should check out in GhostBSD, what is it and why?&lt;/li&gt;
&lt;li&gt;What is the relationship between iXsystems and the GhostBSD project? Or is GhostBSD a hobby project that you run separately from your work at iXsystems?&lt;/li&gt;
&lt;li&gt;What is the relationship between GhostBSD and TrueOS? Is GhostBSD TrueOS with the MATE desktop on top, or are there other modifications, additions, and differences?&lt;/li&gt;
&lt;li&gt;Where does GhostBSD go from here? What are your plans for 2019?&lt;/li&gt;
&lt;li&gt;Is there anything else that wasn’t asked or that you want to share?&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/gonzoua/status/1071252700023508993" target="_blank" rel="nofollow noopener"&gt;dialog(1) script to select audio output on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.obligd.com/posts/erlang-otp-on-openbsd.html" target="_blank" rel="nofollow noopener"&gt;Erlang otp on OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://oshogbo.vexillium.org/blog/57/" target="_blank" rel="nofollow noopener"&gt;Capsicum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.grem.de/sysadmin/FreeBSD-On-rpi3-With-crochet-2018-10-27-18-00.html" target="_blank" rel="nofollow noopener"&gt;https://blog.grem.de/sysadmin/FreeBSD-On-rpi3-With-crochet-2018-10-27-18-00.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/introduction_to_%C2%B5ubsan_a_clean" target="_blank" rel="nofollow noopener"&gt;Introduction to µUBSan - a clean-room reimplementation of the Undefined Behavior Sanitizer runtime&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pkgsrc.org/pkgsrcCon/2018/talks.html" target="_blank" rel="nofollow noopener"&gt;pkgsrcCon 2018 in Berlin - Videos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freebsddesktop.github.io/2018/12/08/drm-kmod-primer.html" target="_blank" rel="nofollow noopener"&gt;Getting started with drm-kmod&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Malcolm - &lt;a href="http://dpaste.com/28PYSGK" target="_blank" rel="nofollow noopener"&gt;Show segment idea&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Fraser - &lt;a href="http://dpaste.com/38W3PRB" target="_blank" rel="nofollow noopener"&gt;Question: FreeBSD official binary package options&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Harri - &lt;a href="http://dpaste.com/3SENZ7H#wrap" target="_blank" rel="nofollow noopener"&gt;BSD Magazine&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, Illumos, IPSec, VPN, OpenBGPD, KLEAK, Synth</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 12.0 is finally here, partly-cloudy IPsec VPN, KLEAK with NetBSD, How to create synth repos, GhostBSD author interview, and more.</p>

<p>##Headlines<br>
###<a href="https://www.freebsd.org/releases/12.0R/relnotes.html" target="_blank" rel="nofollow noopener">FreeBSD 12.0 is available</a></p>

<ul>
<li>After a long release cycle, the wait is over: FreeBSD 12.0 is now officially available.</li>
<li>We’ve picked a few interesting things to cover in the show, make sure to read the full <a href="https://www.freebsd.org/releases/12.0R/relnotes.html" target="_blank" rel="nofollow noopener">Release Notes</a></li>
</ul>

<blockquote>
<p>Userland:<br>
Group permissions on /dev/acpi have been changed to allow users in the operator GID to invoke acpiconf(8) to suspend the system.<br>
The default devfs.rules(5) configuration has been updated to allow mount_fusefs(8) with jail(8).<br>
The default PAGER now defaults to less(1) for most commands.<br>
The newsyslog(8) utility has been updated to reject configuration entries that specify setuid(2) or executable log files.<br>
The WITH_REPRODUCIBLE_BUILD src.conf(5) knob has been enabled by default.<br>
A new src.conf(5) knob, WITH_RETPOLINE, has been added to enable the retpoline mitigation for userland builds.<br>
Userland applications:<br>
The dtrace(1) utility has been updated to support if and else statements.<br>
The legacy gdb(1) utility included in the base system is now installed to /usr/libexec for use with crashinfo(8). The gdbserver and gdbtui utilities are no longer installed. For interactive debugging, lldb(1) or a modern version of gdb(1) from devel/gdb should be used. A new src.conf(5) knob, WITHOUT_GDB_LIBEXEC has been added to disable building gdb(1). The gdb(1) utility is still installed in /usr/bin on sparc64.<br>
The setfacl(1) utility has been updated to include a new flag, -R, used to operate recursively on directories.<br>
The geli(8) utility has been updated to provide support for initializing multiple providers at once when they use the same passphrase and/or key.<br>
The dd(1) utility has been updated to add the status=progress option, which prints the status of its operation on a single line once per second, similar to GNU dd(1).<br>
The date(1) utility has been updated to include a new flag, -I, which prints its output in ISO 8601 formatting.<br>
The bectl(8) utility has been added, providing an administrative interface for managing ZFS boot environments, similar to sysutils/beadm.<br>
The bhyve(8) utility has been updated to add a new subcommand to the -l and -s flags, help, which when used, prints a list of supported LPC and PCI devices, respectively.<br>
The tftp(1) utility has been updated to change the default transfer mode from ASCII to binary.<br>
The chown(8) utility has been updated to prevent overflow of UID or GID arguments where the argument exceeded UID_MAX or GID_MAX, respectively.<br>
Kernel:<br>
The ACPI subsystem has been updated to implement Device object types for ACPI 6.0 support, required for some Dell, Inc. Poweredge™ AMD® Epyc™ systems.<br>
The amdsmn(4) and amdtemp(4) drivers have been updated to attach to AMD® Ryzen 2™ host bridges.<br>
The amdtemp(4) driver has been updated to fix temperature reporting for AMD® 2990WX CPUs.<br>
Kernel Configuration:<br>
The VIMAGE kernel configuration option has been enabled by default.<br>
The dumpon(8) utility has been updated to add support for compressed kernel crash dumps when the kernel configuration file includes the GZIO option. See rc.conf(5) and dumpon(8) for additional information.<br>
The NUMA option has been enabled by default in the amd64 GENERIC and MINIMAL kernel configurations.<br>
Device Drivers:<br>
The random(4) driver has been updated to remove the Yarrow algorithm. The Fortuna algorithm remains the default, and now only, available algorithm.<br>
The vt(4) driver has been updated with performance improvements, drawing text at rates ranging from 2- to 6-times faster.<br>
Deprecated Drivers:<br>
The lmc(4) driver has been removed.<br>
The ixgb(4) driver has been removed.<br>
The nxge(4) driver has been removed.<br>
The vxge(4) driver has been removed.<br>
The jedec_ts(4) driver has been removed in 12.0-RELEASE, and its functionality replaced by jedec_dimm(4).<br>
The DRM driver for modern graphics chipsets has been marked deprecated and marked for removal in FreeBSD 13. The DRM kernel modules are available from graphics/drm-stable-kmod or graphics/drm-legacy-kmod in the Ports Collection as well as via pkg(8). Additionally, the kernel modules have been added to the lua loader.conf(5) module_blacklist, as installation from the Ports Collection or pkg(8) is strongly recommended.<br>
The following drivers have been deprecated in FreeBSD 12.0, and not present in FreeBSD 13.0: ae(4), de(4), ed(4), ep(4), ex(4), fe(4), pcn(4), sf(4), sn(4), tl(4), tx(4), txp(4), vx(4), wb(4), xe(4)<br>
Storage:<br>
The UFS/FFS filesystem has been updated to support check hashes to cylinder-group maps. Support for check hashes is available only for UFS2.<br>
The UFS/FFS filesystem has been updated to consolidate TRIM/BIO_DELETE commands, reducing read/write requests due to fewer TRIM messages being sent simultaneously.<br>
TRIM consolidation support has been enabled by default in the UFS/FFS filesystem. TRIM consolidation can be disabled by setting the vfs.ffs.dotrimcons sysctl(8) to 0, or adding vfs.ffs.dotrimcons=0 to sysctl.conf(5).<br>
NFS:<br>
The NFS version 4.1 server has been updated to include pNFS server support.<br>
ZFS:<br>
ZFS has been updated to include new sysctl(8)s, vfs.zfs.arc_min_prefetch_ms and vfs.zfs.arc_min_prescient_prefetch_ms, which improve performance of the zpool(8) scrub subcommand.<br>
The new spacemap_v2 zpool feature has been added. This provides more efficient encoding of spacemaps, especially for full vdev spacemaps.<br>
The large_dnode zpool feature been imported, allowing better compatibility with pools created under ZFS-on-Linux 0.7.x<br>
Many bug fixes have been applied to the device removal feature. This feature allows you to remove a non-redundant or mirror vdev from a pool by relocating its data to other vdevs.<br>
Includes the fix for PR 229614 that could cause processes to hang in zil_commit()<br>
Boot Loader Changes:<br>
The lua loader(8) has been updated to detect a list of installed kernels to boot.<br>
The loader(8) has been updated to support geli(8) for all architectures and all disk-like devices.<br>
The loader(8) has been updated to add support for loading Intel® microcode updates early during the boot process.</p>
<p>Networking:<br>
The pf(4) packet filter is now usable within a jail(8) using vnet(9).<br>
The pf(4) packet filter has been updated to use rmlock(9) instead of rwlock(9), resulting in significant performance improvements.<br>
The SO_REUSEPORT_LB option has been added to the network stack, allowing multiple programs or threads to bind to the same port, and incoming connections load balanced using a hash function.</p>
</blockquote>

<ul>
<li>Again, read the release notes for a full list, check out the <a href="https://www.freebsd.org/releases/12.0R/errata.html" target="_blank" rel="nofollow noopener">errata notices</a>. A big THANKS to the entire release engineering team and all developers involved in the release, much appreciated!</li>
</ul>

<hr>

<p>###<a href="https://www.adminbyaccident.com/politics/abandon-linux-move-freebsd-illumos/" target="_blank" rel="nofollow noopener">Abandon Linux. Move to FreeBSD or Illumos</a></p>

<blockquote>
<p>If you use GNU/Linux and you are only on opensource, you may be doing it wrong. Here’s why.<br>
Is your company based on opensource based software only? Do you have a bunch of developers hitting some kind of server you have installed for them to “do their thing”? Being it for economical reasons (remember to donate), being it for philosophycal ones, you may have skipped good alternatives. The BSD’s and Illumos.<br>
I bet you are running some sort of Debian, openSuSE or CentOS. It’s very discouraging having entered into the IT field recently and discover many of the people you meet do not even recognise the name BSD. Naming Solaris seems like naming the evil itself. The problem being many do not know why. They can’t point anything specific other than it’s fading out. This has recently shown strong when Oracle officials have stated development for new features has ceased and almost 90 % of developers for Solaris have been layed off. AIX seems alien to almost everybody unless you have a white beard. And all this is silly.<br>
And here’s why. You are certainly missing two important features that FreeBSD and Illumos derivatives are enjoying. A full virtualization technology, much better and fully developed compared to the LXC containers in the Linux world, such as Jails on BSD, Zones in Solaris/Illumos, and the great ZFS file system which both share.<br>
You have probably heard of a new Linux filesystem named Btrfs, which by the way, development has been dropped from the Red Hat side. Trying to emulate ZFS, Oracle started developing Btrfs file system before they acquired Sun (the original developer of ZFS), and SuSE joined the effort as well as Red Hat. It is not as well developed as ZFS and it hasn’t been tested in production environments as extensively as the former has. That leaves some uncertainty on using it or not. Red Hat leaving it aside does add some more. Although some organizations have used it with various grades of success.<br>
But why is this anyhow interesting for a sysadmin or any organization? Well… FreeBSD (descendant of Berkeley UNIX) and SmartOS (based on Illumos) aglutinate some features that make administration easier, safer, faster and more reliable. The dream of any systems administrator.<br>
To start, the ZFS filesystem combines the typical filesystem with a volume manager. It includes protection against corruption, snapshots and copy-on-write clones, as well as volume manager.<br>
Jails is another interesting piece of technology. Linux folks usually associate this as a sort of chroot. It isn’t. It is somehow inspired by it but as you may know you can escape from a chroot environment with a blink of an eye. Jails are not called jails casually. The name has a purpose. Contain processes and programs within a defined and totally controlled environment. Jails appeared first in FreeBSD in the year 2000. Solaris Zones debuted on 2005 (now called containers) are the now proprietary version of those.<br>
There are some other technologies on Linux such as Btrfs or Docker. But they have some caveats. Btrfs hasn’t been fully developed yet and it’s hasn’t been proved as much in production environments as ZFS has. And some problems have arisen recently although the developers are pushing the envelope. At some time they will match ZFS capabilities for sure. Docker is growing exponentially and it’s one of the cool technologies of modern times. The caveat is, as before, the development of this technology hasn’t been fully developed. Unlike other virtualization technologies this is not a kernel playing on top of another kernel. This is virtualization at the OS level, meaning differentiated environments can coexist on a single host, “hitting” the same unique kernel which controls and shares the resources. The problem comes when you put Docker on top of any other virtualization technology such as KVM or Xen. It breaks the purpose of it and has a performance penalty.<br>
I have arrived into the IT field with very little knowledge, that is true. But what I see strikes me. Working in a bank has allowed me to see a big production environment that needs the highest of the availability and reliability. This is, sometimes, achieved by bruteforce. And it’s legitime and adequate. Redundancy has a reason and a purpose for example. But some other times it looks, it feels, like killing flies with cannons. More hardware, more virtual machines, more people, more of this, more of that. They can afford it, so they try to maintain the cost low but at the end of the day there is a chunky budget to back operations.<br>
But here comes reality. You’re not a bank and you need to squeeze your investment as much as possible. By using FreeBSD jails you can avoid the performance penalty of KVM or Xen virtualization. Do you use VMWare or Hyper-V? You can avoid both and gain in performance. Not only that, control and manageability are equal as before, and sometimes easier to administer. There are four ways to operate them which can be divided in two categories. Hardcore and Human Being. For the Hardcore use the FreeBSD handbook and investigate as much as you can. For the Human Being way there are three options to use. Ezjail, Iocage and CBSD which are frameworks or programs as you may call to manage jails. I personally use Iocage but I have also used Ezjail.<br>
How can you use jails on your benefit? Ever tried to configure some new software and failed miserably? You can have three different jails running at the same time with different configurations. Want to try a new configuration in a production piece of hardware without applying it on the final users? You can do that with a small jail while the production environment is on in another bigger, chunkier jail.<br>
Want to divide the hardware as a replica of the division of the team/s you are working with? Want to sell virtual machines with bare metal performance? Do you want to isolate some piece of critical software or even data in a more controlled environment? Do you have different clients and you want to use the same hardware but you want to avoid them seeing each other at the same time you maintain performance and reliability?<br>
Are you a developer and you have to have reliable and portable snapshots of your work? Do you want to try new options-designs without breaking your previous work, in a timeless fashion? You can work on something, clone the jail and apply the new ideas on the project in a matter of seconds. You can stop there, export the filesystem snapshot containing all the environment and all your work and place it on a thumbdrive to later import it on a big production system. Want to change that image properties such as the network stack interface and ip? This is just one command away from you.<br>
But what properties can you assign to a jail and how can I manage them you may be wondering. Hostname, disk quota, i/o, memory, cpu limits, network isolation, network virtualization, snapshots and the manage of those, migration and root privilege isolation to name a few. You can also clone them and import and export them between different systems. Some of these things because of ZFS. Iocage is a python program to manage jails and it takes profit from ZFS advantages.<br>
But FreeBSD is not Linux you may say. No it is not. There are no run levels. The systemd factor is out of this equation. This is so since the begginning. Ever wondered where did vi come from? The TCP/IP stack? Your beloved macOS from Apple? All this is coming from the FreeBSD project. If you are used to Linux your adaptation period with any BSD will be short, very short. You will almost feel at home. Used to packaged software using yum or apt-get? No worries. With pkgng, the package management tool used in FreeBSD has almost 27.000 compiled packages for you to use. Almost all software found on any of the important GNU/Linux distros can be found here. Java, Python, C, C++, Clang, GCC, Javascript frameworks, Ruby, PHP, MySQL and the major forks, etc. All this opensource software, and much more, is available at your fingertips.<br>
I am a developer and… frankly my time is money and I appreciate both much more than dealing with systems configuration, etc. You can set a VM using VMWare or VirtualBox and play with barebones FreeBSD or you can use TrueOS (a derivative) which comes in a server version and a desktop oriented one. The latter will be easier for you to play with. You may be doing this already with Linux. There is a third and very sensible option. FreeNAS, developed by iXSystems. It is FreeBSD based and offers all these technologies with a GUI. VMWare, Hyper-V? Nowadays you can get your hands off the CLI and get a decent, usable, nice GUI.<br>
You say you play on the cloud. The major players already include FreeBSD in their offerings. You can find it in Amazon AWS or Azure (with official Microsoft support contracts too!). You can also find it in DigitalOcean and other hosting providers. There is no excuse. You can use it at home, at the office, with old or new hardware and in the cloud as well. You can even pay for a support contract to use it. Joyent, the developers of SmartOS have their own cloud with different locations around the globe. Have a look on them too.<br>
If you want the original of ZFS and zones you may think of Solaris. But it’s fading away. But it really isn’t. When Oracle bouth Sun many people ran away in an stampide fashion. Some of the good folks working at Sun founded new projects. One of these is Illumos. Joyent is a company formed by people who developed these technologies. They are a cloud operator, have been recently bought by Samsung and have a very competent team of people providing great tech solutions. They have developed an OS, called SmartOS (based on Illumos) with all these features. The source from this goes back to the early days of UNIX. Do you remember the days of OpenSolaris when Sun opensourced the crown jewels? There you have it. A modern opensource UNIX operating system with the roots in their original place and the head planted on today’s needs.<br>
In conclusion. If you are on GNU/Linux and you only use opensource software you may be doing it wrong. And missing goodies you may need and like. Once you put your hands on them, trust me, you won’t look back. And if you have some “old fashioned” admins who know Solaris, you can bring them to a new profitable and exciting life with both systems.<br>
Still not convinced? Would you have ever imagined Microsoft supporting Linux? Even loving it? They do love now FreeBSD. And not only that, they provide their own image in the Azure Cloud and you can get Microsoft support, payed support if you want to use the platform on Azure. Ain’t it… surprising? Convincing at all?<br>
PS: I haven’t mentioned both softwares, FreeBSD and SmartOS do have a Linux translation layer. This means you can run Linux binaries on them and the program won’t cough at all. Since the ABI stays stable the only thing you need to run a Linux binary is a translation between the different system calls and the libraries. Remember POSIX? Choose your poison and enjoy it.</p>
</blockquote>

<hr>

<p>###<a href="https://bradackerman.com/posts/2018-12-05-bsd-cloudy-vpn/" target="_blank" rel="nofollow noopener">A partly-cloudy IPsec VPN</a></p>

<ul>
<li>Audience</li>
</ul>

<blockquote>
<p>I’m assuming that readers have at least a basic knowledge of TCP/IP networking and some UNIX or UNIX-like systems, but not necessarily OpenBSD or FreeBSD. This post will therefore be light on details that aren’t OS specific and are likely to be encountered in normal use (e.g., how to use vi or another text editor.) For more information on these topics, read Absolute FreeBSD (3ed.) by Michael W. Lucas.</p>
</blockquote>

<ul>
<li>Overview</li>
</ul>

<blockquote>
<p>I’m redoing my DigitalOcean virtual machines (which they call droplets). My requirements are:</p>
</blockquote>

<ul>
<li>VPN</li>
<li>Road-warrior access, so I can use private network resources from anywhere.</li>
<li>A site-to-site VPN, extending my home network to my VPSes.</li>
<li>Hosting for public and private network services.</li>
<li>A proxy service to provide a public IP address to services hosted at home.</li>
</ul>

<blockquote>
<p>The last item is on the list because I don’t actually have a public IP address at home; my firewall’s external address is in the RFC 1918 space, and the entire apartment building shares a single public IPv4 address.1 (IPv6? Don’t I wish.) The end-state network will include one OpenBSD droplet providing firewall, router, and VPN services; and one FreeBSD droplet hosting multiple jailed services.<br>
I’ll be providing access via these droplets to a NextCloud instance at home. A simple NAT on the DO router droplet isn’t going to work, because packets going from home to the internet would exit through the apartment building’s connection and not through the VPN. It’s possible that I could do work around this issue with packet tagging using the pf firewall, but HAProxy is simple to configure and unlikely to result in hard-to-debug problems. relayd is also an option, but doesn’t have the TLS parsing abilities of HAProxy, which I’ll be using later on.<br>
Since this system includes jails running on a VPS, and they’ve got RFC 1918 addresses, I want them reachable from my home network. Once that’s done, I can access the private address space from anywhere through a VPN connection to the cloudy router.<br>
The VPN itself will be of the IPsec variety. IPsec is the traditional enterprise VPN standard, and is even used for classified applications, but has a (somewhat-deserved) reputation for complexity, but recent versions of OpenBSD turn down the difficulty by quite a bit.</p>
</blockquote>

<ul>
<li>The end-state network should look like: <a href="https://d33wubrfki0l68.cloudfront.net/0ccf46fb057e0d50923209bb2e2af0122637e72d/e714e/201812-cloudy/endstate.svg" target="_blank" rel="nofollow noopener">https://d33wubrfki0l68.cloudfront.net/0ccf46fb057e0d50923209bb2e2af0122637e72d/e714e/201812-cloudy/endstate.svg</a></li>
</ul>

<blockquote>
<p>This VPN both separates internal network traffic from public traffic and uses encryption to prevent interception or tampering.<br>
Once traffic has been encrypted, decrypting it without the key would, as Bruce Schneier once put it, require a computer built from something other than matter that occupies something other than space. Dyson spheres and a frakton of causality violation would possibly work, as would mathemagical technology that alters the local calendar such that P=NP.2 Black-bag jobs and/or suborning cloud provider employees doesn’t quite have that guarantee of impossibility, however. If you have serious security requirements, you’ll need to do better than a random blog entry.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://netbsd.org/gallery/presentations/maxv/kleak.pdf" target="_blank" rel="nofollow noopener">KLEAK: Practical Kernel Memory Disclosure Detection</a></p>

<blockquote>
<p>Modern operating systems such as NetBSD, macOS, and Windows isolate their kernel from userspace programs to increase fault tolerance and to protect against malicious manipulations [10]. User space programs have to call into the kernel to request resources, via system calls or ioctls. This communication between user space and kernel space crosses a security boundary. Kernel memory disclosures - also known as kernel information leaks - denote the inadvertent copying of uninitialized bytes from kernel space to user space.  Such disclosed memory may contain cryptographic keys, information about the kernel memory layout, or other forms of secret data. Even though kernel memory disclosures do not allow direct exploitation of a system, they lay the ground for it.<br>
We introduce KLEAK, a simple approach to dynamically detect kernel information leaks. Simply said, KLEAK utilizes a rudimentary form of taint tracking: it taints kernel memory with marker values, lets the data travel through the kernel and scans the buffers exchanged between the kernel and the user space for these marker values. By using compiler instrumentation and rotating the markers at regular intervals, KLEAK significantly reduces the number of false positives, and is able to yield relevant results with little effort.<br>
Our  approach is practically feasible as we prove with an implementation for the NetBSD kernel. A small performance penalty is introduced, but the system remains usable. In addition to implementing KLEAK in the NetBSD kernel, we applied our approach to FreeBSD 11.2. In total,  we detected 21 previously unknown kernel memory disclosures in NetBSD-current and FreeBSD 11.2, which were fixed subsequently. As a follow-up, the projects’ developers manually audited related kernel areas and identified dozens of other kernel memory disclosures.<br>
The remainder of this paper is structured as follows. Section II discusses the bug class of kernel memory disclosures. Section III presents KLEAK to dynamically detect instances of this bug class. Section IV discusses the results of applying KLEAK to NetBSD-current and FreeBSD 11.2. Section V reviews prior research. Finally, Section VI concludes this paper.</p>
</blockquote>

<hr>

<p>###<a href="https://www.dragonflybsd.org/docs/howtos/How_To_Create_Official_Synth_Repo/" target="_blank" rel="nofollow noopener">How To Create Official Synth Repo</a></p>

<ul>
<li>
<p>System Environment</p>
</li>
<li>
<p>Make sure /usr/dports is updated and that it contains no cruft (git pull; git status). Remove any cruft.</p>
</li>
<li>
<p>Make sure your ‘synth’ is up-to-date ‘pkg upgrade synth’. If you already updated your system you may have to build synth from scratch, from /usr/dports/ports-mgmt/synth.</p>
</li>
<li>
<p>Make sure /etc/make.conf is clean.</p>
</li>
<li>
<p>Update /usr/src to the current master, make sure there is no cruft in it</p>
</li>
<li>
<p>Do a full buildworld, buildkernel, installkernel and installworld</p>
</li>
<li>
<p>Reboot</p>
</li>
<li>
<p>After the reboot, before proceeding, run ‘uname -a’ and make sure you are now on the desired release or development kernel.</p>
</li>
<li>
<p>Synth Environment</p>
</li>
<li>
<p>/usr/local/etc/synth/ contains the synth configuration. It should contain a synth.ini file (you may have to rename the template), and you will have to create or edit a LiveSystem-make.conf file.</p>
</li>
<li>
<p>System requirements are hefty. Just linking chromium alone eats at least 30GB, for example. Concurrent c++ compiles can eat up to 2GB per process. We recommend at least 100GB of SSD based swap space and 300GB of free space on the filesystem.</p>
</li>
<li>
<p>synth.ini should contain this. Plus modify the builders and jobs to suit your system. With 128G of ram, 30/30 or 40/25 works well. If you have 32G of ram, maybe 8/8 or less.</p>
</li>
</ul>

<p><code>; Take care when hand editing!</code><br>
<code></code><br>
<code>[Global Configuration]</code><br>
<code>profile_selected= LiveSystem</code><br>
<code></code><br>
<code>[LiveSystem]</code><br>
<code>Operating_system= DragonFly</code><br>
<code>Directory_packages= /build/synth/live_packages</code><br>
<code>Directory_repository= /build/synth/live_packages/All</code><br>
<code>Directory_portsdir= /build/synth/dports</code><br>
<code>Directory_options= /build/synth/options</code><br>
<code>Directory_distfiles= /usr/distfiles</code><br>
<code>Directory_buildbase= /build/synth/build</code><br>
<code>Directory_logs= /build/synth/logs</code><br>
<code>Directory_ccache= disabled</code><br>
<code>Directory_system= /</code><br>
<code>Number_of_builders= 30</code><br>
<code>Max_jobs_per_builder= 30</code><br>
<code>Tmpfs_workdir= true</code><br>
<code>Tmpfs_localbase= true</code><br>
<code>Display_with_ncurses= true</code><br>
<code>leverage_prebuilt= false</code></p>

<ul>
<li>LiveSystem-make.conf should contain one line to restrict licensing to only what is allowed to be built as a binary package:</li>
</ul>

<p><code>LICENSES_ACCEPTED= NONE</code></p>

<ul>
<li>
<p>Make sure there is no other cruft in /usr/local/etc/synth/</p>
</li>
<li>
<p>In the example above, the synth working dirs are in “/build/synth”. Make sure the base directories exist. Clean out any cruft for a fresh build from-scratch:</p>
</li>
</ul>

<p><code>rm -rf /build/synth/live_packages/*</code><br>
<code>rm -rf /build/synth/logs</code><br>
<code>mkdir /build/synth/logs</code></p>

<ul>
<li>Run synth everything. I recommend doing this in a ‘screen’ session in case you lose your ssh session (assuming you are ssh’d into the build machine).</li>
</ul>

<p><code>(optionally start a screen session)</code><br>
<code>synth everything</code></p>

<ul>
<li>A full synth build takes over 24 hours to run on a 48-core box, around 12 hours to run on a 64-core box. On a 4-core/8-thread box it will take at least 3 days. There will be times when swap space is heavily used. If you have not run synth before, monitor your memory and swap loads to make sure you have configured the jobs properly. If you are overloading the system, you may have to ^C the synth run, reduce the jobs, and start it again. It will pick up where it left off.</li>
<li>When synth finishes, let it rebuild the database. You then have a working binary repo.</li>
<li>It is usually a good idea to run synth several times to pick up any stuff it couldn’t build the first time. Each of these incremental runs may take a few hours, depending on what it tries to build.</li>
</ul>

<hr>

<p>###<a href="https://www.freebsdbytes.com/2018/11/interview-eric-turgeon-founder-maintainer-ghostbsd/" target="_blank" rel="nofollow noopener">Interview with founder and maintainer of GhostBSD, Eric Turgeon</a></p>

<ul>
<li>Thanks you Eric for taking part. To start off, could you  tell us a little about yourself, just a bit of background?</li>
<li>How did you become interested in open source?</li>
<li>When and how did you get interested in the BSD operating systems?</li>
<li>On your Twitter profile, you state that you are an automation engineer at iXsystems. Can you share what you do in your day-to-day job?</li>
<li>You are the founder and project lead of GhostBSD. Could you describe GhostBSD to those who have never used it or never heard of it?</li>
<li>Developing an operating system is not a small thing. What made you decide to start the GhostBSD project and not join another “desktop FreeBSD” related project, such as PC-BSD and DesktopBSD at the time?</li>
<li>How did you get to the name GhostBSD? Did you consider any other names?</li>
<li>You recently released GhostBSD 18.10? What’s new in that version and what are the key features? What has changed since GhostBSD 11.1?</li>
<li>The current version is 18.10. Will the next version be 19.04 (like Ubuntu’s version numbering), or is a new version released after the next stable TrueOS release</li>
<li>Can you tell us something about the development team? Is it yourself, or are there other core team members? I think I saw two other developers on your Github project page.</li>
<li>How about the relationship with the community? Is it possible for a community member to contribute, and how are those contributions handled?</li>
<li>What was the biggest challenge during development?</li>
<li>If you had to pick one feature readers should check out in GhostBSD, what is it and why?</li>
<li>What is the relationship between iXsystems and the GhostBSD project? Or is GhostBSD a hobby project that you run separately from your work at iXsystems?</li>
<li>What is the relationship between GhostBSD and TrueOS? Is GhostBSD TrueOS with the MATE desktop on top, or are there other modifications, additions, and differences?</li>
<li>Where does GhostBSD go from here? What are your plans for 2019?</li>
<li>Is there anything else that wasn’t asked or that you want to share?</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://twitter.com/gonzoua/status/1071252700023508993" target="_blank" rel="nofollow noopener">dialog(1) script to select audio output on FreeBSD</a></li>
<li><a href="http://blog.obligd.com/posts/erlang-otp-on-openbsd.html" target="_blank" rel="nofollow noopener">Erlang otp on OpenBSD</a></li>
<li><a href="https://oshogbo.vexillium.org/blog/57/" target="_blank" rel="nofollow noopener">Capsicum</a></li>
<li><a href="https://blog.grem.de/sysadmin/FreeBSD-On-rpi3-With-crochet-2018-10-27-18-00.html" target="_blank" rel="nofollow noopener">https://blog.grem.de/sysadmin/FreeBSD-On-rpi3-With-crochet-2018-10-27-18-00.html</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/introduction_to_%C2%B5ubsan_a_clean" target="_blank" rel="nofollow noopener">Introduction to µUBSan - a clean-room reimplementation of the Undefined Behavior Sanitizer runtime</a></li>
<li><a href="https://pkgsrc.org/pkgsrcCon/2018/talks.html" target="_blank" rel="nofollow noopener">pkgsrcCon 2018 in Berlin - Videos</a></li>
<li><a href="https://freebsddesktop.github.io/2018/12/08/drm-kmod-primer.html" target="_blank" rel="nofollow noopener">Getting started with drm-kmod</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Malcolm - <a href="http://dpaste.com/28PYSGK" target="_blank" rel="nofollow noopener">Show segment idea</a></li>
<li>Fraser - <a href="http://dpaste.com/38W3PRB" target="_blank" rel="nofollow noopener">Question: FreeBSD official binary package options</a></li>
<li>Harri - <a href="http://dpaste.com/3SENZ7H#wrap" target="_blank" rel="nofollow noopener">BSD Magazine</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 12.0 is finally here, partly-cloudy IPsec VPN, KLEAK with NetBSD, How to create synth repos, GhostBSD author interview, and more.</p>

<p>##Headlines<br>
###<a href="https://www.freebsd.org/releases/12.0R/relnotes.html" target="_blank" rel="nofollow noopener">FreeBSD 12.0 is available</a></p>

<ul>
<li>After a long release cycle, the wait is over: FreeBSD 12.0 is now officially available.</li>
<li>We’ve picked a few interesting things to cover in the show, make sure to read the full <a href="https://www.freebsd.org/releases/12.0R/relnotes.html" target="_blank" rel="nofollow noopener">Release Notes</a></li>
</ul>

<blockquote>
<p>Userland:<br>
Group permissions on /dev/acpi have been changed to allow users in the operator GID to invoke acpiconf(8) to suspend the system.<br>
The default devfs.rules(5) configuration has been updated to allow mount_fusefs(8) with jail(8).<br>
The default PAGER now defaults to less(1) for most commands.<br>
The newsyslog(8) utility has been updated to reject configuration entries that specify setuid(2) or executable log files.<br>
The WITH_REPRODUCIBLE_BUILD src.conf(5) knob has been enabled by default.<br>
A new src.conf(5) knob, WITH_RETPOLINE, has been added to enable the retpoline mitigation for userland builds.<br>
Userland applications:<br>
The dtrace(1) utility has been updated to support if and else statements.<br>
The legacy gdb(1) utility included in the base system is now installed to /usr/libexec for use with crashinfo(8). The gdbserver and gdbtui utilities are no longer installed. For interactive debugging, lldb(1) or a modern version of gdb(1) from devel/gdb should be used. A new src.conf(5) knob, WITHOUT_GDB_LIBEXEC has been added to disable building gdb(1). The gdb(1) utility is still installed in /usr/bin on sparc64.<br>
The setfacl(1) utility has been updated to include a new flag, -R, used to operate recursively on directories.<br>
The geli(8) utility has been updated to provide support for initializing multiple providers at once when they use the same passphrase and/or key.<br>
The dd(1) utility has been updated to add the status=progress option, which prints the status of its operation on a single line once per second, similar to GNU dd(1).<br>
The date(1) utility has been updated to include a new flag, -I, which prints its output in ISO 8601 formatting.<br>
The bectl(8) utility has been added, providing an administrative interface for managing ZFS boot environments, similar to sysutils/beadm.<br>
The bhyve(8) utility has been updated to add a new subcommand to the -l and -s flags, help, which when used, prints a list of supported LPC and PCI devices, respectively.<br>
The tftp(1) utility has been updated to change the default transfer mode from ASCII to binary.<br>
The chown(8) utility has been updated to prevent overflow of UID or GID arguments where the argument exceeded UID_MAX or GID_MAX, respectively.<br>
Kernel:<br>
The ACPI subsystem has been updated to implement Device object types for ACPI 6.0 support, required for some Dell, Inc. Poweredge™ AMD® Epyc™ systems.<br>
The amdsmn(4) and amdtemp(4) drivers have been updated to attach to AMD® Ryzen 2™ host bridges.<br>
The amdtemp(4) driver has been updated to fix temperature reporting for AMD® 2990WX CPUs.<br>
Kernel Configuration:<br>
The VIMAGE kernel configuration option has been enabled by default.<br>
The dumpon(8) utility has been updated to add support for compressed kernel crash dumps when the kernel configuration file includes the GZIO option. See rc.conf(5) and dumpon(8) for additional information.<br>
The NUMA option has been enabled by default in the amd64 GENERIC and MINIMAL kernel configurations.<br>
Device Drivers:<br>
The random(4) driver has been updated to remove the Yarrow algorithm. The Fortuna algorithm remains the default, and now only, available algorithm.<br>
The vt(4) driver has been updated with performance improvements, drawing text at rates ranging from 2- to 6-times faster.<br>
Deprecated Drivers:<br>
The lmc(4) driver has been removed.<br>
The ixgb(4) driver has been removed.<br>
The nxge(4) driver has been removed.<br>
The vxge(4) driver has been removed.<br>
The jedec_ts(4) driver has been removed in 12.0-RELEASE, and its functionality replaced by jedec_dimm(4).<br>
The DRM driver for modern graphics chipsets has been marked deprecated and marked for removal in FreeBSD 13. The DRM kernel modules are available from graphics/drm-stable-kmod or graphics/drm-legacy-kmod in the Ports Collection as well as via pkg(8). Additionally, the kernel modules have been added to the lua loader.conf(5) module_blacklist, as installation from the Ports Collection or pkg(8) is strongly recommended.<br>
The following drivers have been deprecated in FreeBSD 12.0, and not present in FreeBSD 13.0: ae(4), de(4), ed(4), ep(4), ex(4), fe(4), pcn(4), sf(4), sn(4), tl(4), tx(4), txp(4), vx(4), wb(4), xe(4)<br>
Storage:<br>
The UFS/FFS filesystem has been updated to support check hashes to cylinder-group maps. Support for check hashes is available only for UFS2.<br>
The UFS/FFS filesystem has been updated to consolidate TRIM/BIO_DELETE commands, reducing read/write requests due to fewer TRIM messages being sent simultaneously.<br>
TRIM consolidation support has been enabled by default in the UFS/FFS filesystem. TRIM consolidation can be disabled by setting the vfs.ffs.dotrimcons sysctl(8) to 0, or adding vfs.ffs.dotrimcons=0 to sysctl.conf(5).<br>
NFS:<br>
The NFS version 4.1 server has been updated to include pNFS server support.<br>
ZFS:<br>
ZFS has been updated to include new sysctl(8)s, vfs.zfs.arc_min_prefetch_ms and vfs.zfs.arc_min_prescient_prefetch_ms, which improve performance of the zpool(8) scrub subcommand.<br>
The new spacemap_v2 zpool feature has been added. This provides more efficient encoding of spacemaps, especially for full vdev spacemaps.<br>
The large_dnode zpool feature been imported, allowing better compatibility with pools created under ZFS-on-Linux 0.7.x<br>
Many bug fixes have been applied to the device removal feature. This feature allows you to remove a non-redundant or mirror vdev from a pool by relocating its data to other vdevs.<br>
Includes the fix for PR 229614 that could cause processes to hang in zil_commit()<br>
Boot Loader Changes:<br>
The lua loader(8) has been updated to detect a list of installed kernels to boot.<br>
The loader(8) has been updated to support geli(8) for all architectures and all disk-like devices.<br>
The loader(8) has been updated to add support for loading Intel® microcode updates early during the boot process.</p>
<p>Networking:<br>
The pf(4) packet filter is now usable within a jail(8) using vnet(9).<br>
The pf(4) packet filter has been updated to use rmlock(9) instead of rwlock(9), resulting in significant performance improvements.<br>
The SO_REUSEPORT_LB option has been added to the network stack, allowing multiple programs or threads to bind to the same port, and incoming connections load balanced using a hash function.</p>
</blockquote>

<ul>
<li>Again, read the release notes for a full list, check out the <a href="https://www.freebsd.org/releases/12.0R/errata.html" target="_blank" rel="nofollow noopener">errata notices</a>. A big THANKS to the entire release engineering team and all developers involved in the release, much appreciated!</li>
</ul>

<hr>

<p>###<a href="https://www.adminbyaccident.com/politics/abandon-linux-move-freebsd-illumos/" target="_blank" rel="nofollow noopener">Abandon Linux. Move to FreeBSD or Illumos</a></p>

<blockquote>
<p>If you use GNU/Linux and you are only on opensource, you may be doing it wrong. Here’s why.<br>
Is your company based on opensource based software only? Do you have a bunch of developers hitting some kind of server you have installed for them to “do their thing”? Being it for economical reasons (remember to donate), being it for philosophycal ones, you may have skipped good alternatives. The BSD’s and Illumos.<br>
I bet you are running some sort of Debian, openSuSE or CentOS. It’s very discouraging having entered into the IT field recently and discover many of the people you meet do not even recognise the name BSD. Naming Solaris seems like naming the evil itself. The problem being many do not know why. They can’t point anything specific other than it’s fading out. This has recently shown strong when Oracle officials have stated development for new features has ceased and almost 90 % of developers for Solaris have been layed off. AIX seems alien to almost everybody unless you have a white beard. And all this is silly.<br>
And here’s why. You are certainly missing two important features that FreeBSD and Illumos derivatives are enjoying. A full virtualization technology, much better and fully developed compared to the LXC containers in the Linux world, such as Jails on BSD, Zones in Solaris/Illumos, and the great ZFS file system which both share.<br>
You have probably heard of a new Linux filesystem named Btrfs, which by the way, development has been dropped from the Red Hat side. Trying to emulate ZFS, Oracle started developing Btrfs file system before they acquired Sun (the original developer of ZFS), and SuSE joined the effort as well as Red Hat. It is not as well developed as ZFS and it hasn’t been tested in production environments as extensively as the former has. That leaves some uncertainty on using it or not. Red Hat leaving it aside does add some more. Although some organizations have used it with various grades of success.<br>
But why is this anyhow interesting for a sysadmin or any organization? Well… FreeBSD (descendant of Berkeley UNIX) and SmartOS (based on Illumos) aglutinate some features that make administration easier, safer, faster and more reliable. The dream of any systems administrator.<br>
To start, the ZFS filesystem combines the typical filesystem with a volume manager. It includes protection against corruption, snapshots and copy-on-write clones, as well as volume manager.<br>
Jails is another interesting piece of technology. Linux folks usually associate this as a sort of chroot. It isn’t. It is somehow inspired by it but as you may know you can escape from a chroot environment with a blink of an eye. Jails are not called jails casually. The name has a purpose. Contain processes and programs within a defined and totally controlled environment. Jails appeared first in FreeBSD in the year 2000. Solaris Zones debuted on 2005 (now called containers) are the now proprietary version of those.<br>
There are some other technologies on Linux such as Btrfs or Docker. But they have some caveats. Btrfs hasn’t been fully developed yet and it’s hasn’t been proved as much in production environments as ZFS has. And some problems have arisen recently although the developers are pushing the envelope. At some time they will match ZFS capabilities for sure. Docker is growing exponentially and it’s one of the cool technologies of modern times. The caveat is, as before, the development of this technology hasn’t been fully developed. Unlike other virtualization technologies this is not a kernel playing on top of another kernel. This is virtualization at the OS level, meaning differentiated environments can coexist on a single host, “hitting” the same unique kernel which controls and shares the resources. The problem comes when you put Docker on top of any other virtualization technology such as KVM or Xen. It breaks the purpose of it and has a performance penalty.<br>
I have arrived into the IT field with very little knowledge, that is true. But what I see strikes me. Working in a bank has allowed me to see a big production environment that needs the highest of the availability and reliability. This is, sometimes, achieved by bruteforce. And it’s legitime and adequate. Redundancy has a reason and a purpose for example. But some other times it looks, it feels, like killing flies with cannons. More hardware, more virtual machines, more people, more of this, more of that. They can afford it, so they try to maintain the cost low but at the end of the day there is a chunky budget to back operations.<br>
But here comes reality. You’re not a bank and you need to squeeze your investment as much as possible. By using FreeBSD jails you can avoid the performance penalty of KVM or Xen virtualization. Do you use VMWare or Hyper-V? You can avoid both and gain in performance. Not only that, control and manageability are equal as before, and sometimes easier to administer. There are four ways to operate them which can be divided in two categories. Hardcore and Human Being. For the Hardcore use the FreeBSD handbook and investigate as much as you can. For the Human Being way there are three options to use. Ezjail, Iocage and CBSD which are frameworks or programs as you may call to manage jails. I personally use Iocage but I have also used Ezjail.<br>
How can you use jails on your benefit? Ever tried to configure some new software and failed miserably? You can have three different jails running at the same time with different configurations. Want to try a new configuration in a production piece of hardware without applying it on the final users? You can do that with a small jail while the production environment is on in another bigger, chunkier jail.<br>
Want to divide the hardware as a replica of the division of the team/s you are working with? Want to sell virtual machines with bare metal performance? Do you want to isolate some piece of critical software or even data in a more controlled environment? Do you have different clients and you want to use the same hardware but you want to avoid them seeing each other at the same time you maintain performance and reliability?<br>
Are you a developer and you have to have reliable and portable snapshots of your work? Do you want to try new options-designs without breaking your previous work, in a timeless fashion? You can work on something, clone the jail and apply the new ideas on the project in a matter of seconds. You can stop there, export the filesystem snapshot containing all the environment and all your work and place it on a thumbdrive to later import it on a big production system. Want to change that image properties such as the network stack interface and ip? This is just one command away from you.<br>
But what properties can you assign to a jail and how can I manage them you may be wondering. Hostname, disk quota, i/o, memory, cpu limits, network isolation, network virtualization, snapshots and the manage of those, migration and root privilege isolation to name a few. You can also clone them and import and export them between different systems. Some of these things because of ZFS. Iocage is a python program to manage jails and it takes profit from ZFS advantages.<br>
But FreeBSD is not Linux you may say. No it is not. There are no run levels. The systemd factor is out of this equation. This is so since the begginning. Ever wondered where did vi come from? The TCP/IP stack? Your beloved macOS from Apple? All this is coming from the FreeBSD project. If you are used to Linux your adaptation period with any BSD will be short, very short. You will almost feel at home. Used to packaged software using yum or apt-get? No worries. With pkgng, the package management tool used in FreeBSD has almost 27.000 compiled packages for you to use. Almost all software found on any of the important GNU/Linux distros can be found here. Java, Python, C, C++, Clang, GCC, Javascript frameworks, Ruby, PHP, MySQL and the major forks, etc. All this opensource software, and much more, is available at your fingertips.<br>
I am a developer and… frankly my time is money and I appreciate both much more than dealing with systems configuration, etc. You can set a VM using VMWare or VirtualBox and play with barebones FreeBSD or you can use TrueOS (a derivative) which comes in a server version and a desktop oriented one. The latter will be easier for you to play with. You may be doing this already with Linux. There is a third and very sensible option. FreeNAS, developed by iXSystems. It is FreeBSD based and offers all these technologies with a GUI. VMWare, Hyper-V? Nowadays you can get your hands off the CLI and get a decent, usable, nice GUI.<br>
You say you play on the cloud. The major players already include FreeBSD in their offerings. You can find it in Amazon AWS or Azure (with official Microsoft support contracts too!). You can also find it in DigitalOcean and other hosting providers. There is no excuse. You can use it at home, at the office, with old or new hardware and in the cloud as well. You can even pay for a support contract to use it. Joyent, the developers of SmartOS have their own cloud with different locations around the globe. Have a look on them too.<br>
If you want the original of ZFS and zones you may think of Solaris. But it’s fading away. But it really isn’t. When Oracle bouth Sun many people ran away in an stampide fashion. Some of the good folks working at Sun founded new projects. One of these is Illumos. Joyent is a company formed by people who developed these technologies. They are a cloud operator, have been recently bought by Samsung and have a very competent team of people providing great tech solutions. They have developed an OS, called SmartOS (based on Illumos) with all these features. The source from this goes back to the early days of UNIX. Do you remember the days of OpenSolaris when Sun opensourced the crown jewels? There you have it. A modern opensource UNIX operating system with the roots in their original place and the head planted on today’s needs.<br>
In conclusion. If you are on GNU/Linux and you only use opensource software you may be doing it wrong. And missing goodies you may need and like. Once you put your hands on them, trust me, you won’t look back. And if you have some “old fashioned” admins who know Solaris, you can bring them to a new profitable and exciting life with both systems.<br>
Still not convinced? Would you have ever imagined Microsoft supporting Linux? Even loving it? They do love now FreeBSD. And not only that, they provide their own image in the Azure Cloud and you can get Microsoft support, payed support if you want to use the platform on Azure. Ain’t it… surprising? Convincing at all?<br>
PS: I haven’t mentioned both softwares, FreeBSD and SmartOS do have a Linux translation layer. This means you can run Linux binaries on them and the program won’t cough at all. Since the ABI stays stable the only thing you need to run a Linux binary is a translation between the different system calls and the libraries. Remember POSIX? Choose your poison and enjoy it.</p>
</blockquote>

<hr>

<p>###<a href="https://bradackerman.com/posts/2018-12-05-bsd-cloudy-vpn/" target="_blank" rel="nofollow noopener">A partly-cloudy IPsec VPN</a></p>

<ul>
<li>Audience</li>
</ul>

<blockquote>
<p>I’m assuming that readers have at least a basic knowledge of TCP/IP networking and some UNIX or UNIX-like systems, but not necessarily OpenBSD or FreeBSD. This post will therefore be light on details that aren’t OS specific and are likely to be encountered in normal use (e.g., how to use vi or another text editor.) For more information on these topics, read Absolute FreeBSD (3ed.) by Michael W. Lucas.</p>
</blockquote>

<ul>
<li>Overview</li>
</ul>

<blockquote>
<p>I’m redoing my DigitalOcean virtual machines (which they call droplets). My requirements are:</p>
</blockquote>

<ul>
<li>VPN</li>
<li>Road-warrior access, so I can use private network resources from anywhere.</li>
<li>A site-to-site VPN, extending my home network to my VPSes.</li>
<li>Hosting for public and private network services.</li>
<li>A proxy service to provide a public IP address to services hosted at home.</li>
</ul>

<blockquote>
<p>The last item is on the list because I don’t actually have a public IP address at home; my firewall’s external address is in the RFC 1918 space, and the entire apartment building shares a single public IPv4 address.1 (IPv6? Don’t I wish.) The end-state network will include one OpenBSD droplet providing firewall, router, and VPN services; and one FreeBSD droplet hosting multiple jailed services.<br>
I’ll be providing access via these droplets to a NextCloud instance at home. A simple NAT on the DO router droplet isn’t going to work, because packets going from home to the internet would exit through the apartment building’s connection and not through the VPN. It’s possible that I could do work around this issue with packet tagging using the pf firewall, but HAProxy is simple to configure and unlikely to result in hard-to-debug problems. relayd is also an option, but doesn’t have the TLS parsing abilities of HAProxy, which I’ll be using later on.<br>
Since this system includes jails running on a VPS, and they’ve got RFC 1918 addresses, I want them reachable from my home network. Once that’s done, I can access the private address space from anywhere through a VPN connection to the cloudy router.<br>
The VPN itself will be of the IPsec variety. IPsec is the traditional enterprise VPN standard, and is even used for classified applications, but has a (somewhat-deserved) reputation for complexity, but recent versions of OpenBSD turn down the difficulty by quite a bit.</p>
</blockquote>

<ul>
<li>The end-state network should look like: <a href="https://d33wubrfki0l68.cloudfront.net/0ccf46fb057e0d50923209bb2e2af0122637e72d/e714e/201812-cloudy/endstate.svg" target="_blank" rel="nofollow noopener">https://d33wubrfki0l68.cloudfront.net/0ccf46fb057e0d50923209bb2e2af0122637e72d/e714e/201812-cloudy/endstate.svg</a></li>
</ul>

<blockquote>
<p>This VPN both separates internal network traffic from public traffic and uses encryption to prevent interception or tampering.<br>
Once traffic has been encrypted, decrypting it without the key would, as Bruce Schneier once put it, require a computer built from something other than matter that occupies something other than space. Dyson spheres and a frakton of causality violation would possibly work, as would mathemagical technology that alters the local calendar such that P=NP.2 Black-bag jobs and/or suborning cloud provider employees doesn’t quite have that guarantee of impossibility, however. If you have serious security requirements, you’ll need to do better than a random blog entry.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://netbsd.org/gallery/presentations/maxv/kleak.pdf" target="_blank" rel="nofollow noopener">KLEAK: Practical Kernel Memory Disclosure Detection</a></p>

<blockquote>
<p>Modern operating systems such as NetBSD, macOS, and Windows isolate their kernel from userspace programs to increase fault tolerance and to protect against malicious manipulations [10]. User space programs have to call into the kernel to request resources, via system calls or ioctls. This communication between user space and kernel space crosses a security boundary. Kernel memory disclosures - also known as kernel information leaks - denote the inadvertent copying of uninitialized bytes from kernel space to user space.  Such disclosed memory may contain cryptographic keys, information about the kernel memory layout, or other forms of secret data. Even though kernel memory disclosures do not allow direct exploitation of a system, they lay the ground for it.<br>
We introduce KLEAK, a simple approach to dynamically detect kernel information leaks. Simply said, KLEAK utilizes a rudimentary form of taint tracking: it taints kernel memory with marker values, lets the data travel through the kernel and scans the buffers exchanged between the kernel and the user space for these marker values. By using compiler instrumentation and rotating the markers at regular intervals, KLEAK significantly reduces the number of false positives, and is able to yield relevant results with little effort.<br>
Our  approach is practically feasible as we prove with an implementation for the NetBSD kernel. A small performance penalty is introduced, but the system remains usable. In addition to implementing KLEAK in the NetBSD kernel, we applied our approach to FreeBSD 11.2. In total,  we detected 21 previously unknown kernel memory disclosures in NetBSD-current and FreeBSD 11.2, which were fixed subsequently. As a follow-up, the projects’ developers manually audited related kernel areas and identified dozens of other kernel memory disclosures.<br>
The remainder of this paper is structured as follows. Section II discusses the bug class of kernel memory disclosures. Section III presents KLEAK to dynamically detect instances of this bug class. Section IV discusses the results of applying KLEAK to NetBSD-current and FreeBSD 11.2. Section V reviews prior research. Finally, Section VI concludes this paper.</p>
</blockquote>

<hr>

<p>###<a href="https://www.dragonflybsd.org/docs/howtos/How_To_Create_Official_Synth_Repo/" target="_blank" rel="nofollow noopener">How To Create Official Synth Repo</a></p>

<ul>
<li>
<p>System Environment</p>
</li>
<li>
<p>Make sure /usr/dports is updated and that it contains no cruft (git pull; git status). Remove any cruft.</p>
</li>
<li>
<p>Make sure your ‘synth’ is up-to-date ‘pkg upgrade synth’. If you already updated your system you may have to build synth from scratch, from /usr/dports/ports-mgmt/synth.</p>
</li>
<li>
<p>Make sure /etc/make.conf is clean.</p>
</li>
<li>
<p>Update /usr/src to the current master, make sure there is no cruft in it</p>
</li>
<li>
<p>Do a full buildworld, buildkernel, installkernel and installworld</p>
</li>
<li>
<p>Reboot</p>
</li>
<li>
<p>After the reboot, before proceeding, run ‘uname -a’ and make sure you are now on the desired release or development kernel.</p>
</li>
<li>
<p>Synth Environment</p>
</li>
<li>
<p>/usr/local/etc/synth/ contains the synth configuration. It should contain a synth.ini file (you may have to rename the template), and you will have to create or edit a LiveSystem-make.conf file.</p>
</li>
<li>
<p>System requirements are hefty. Just linking chromium alone eats at least 30GB, for example. Concurrent c++ compiles can eat up to 2GB per process. We recommend at least 100GB of SSD based swap space and 300GB of free space on the filesystem.</p>
</li>
<li>
<p>synth.ini should contain this. Plus modify the builders and jobs to suit your system. With 128G of ram, 30/30 or 40/25 works well. If you have 32G of ram, maybe 8/8 or less.</p>
</li>
</ul>

<p><code>; Take care when hand editing!</code><br>
<code></code><br>
<code>[Global Configuration]</code><br>
<code>profile_selected= LiveSystem</code><br>
<code></code><br>
<code>[LiveSystem]</code><br>
<code>Operating_system= DragonFly</code><br>
<code>Directory_packages= /build/synth/live_packages</code><br>
<code>Directory_repository= /build/synth/live_packages/All</code><br>
<code>Directory_portsdir= /build/synth/dports</code><br>
<code>Directory_options= /build/synth/options</code><br>
<code>Directory_distfiles= /usr/distfiles</code><br>
<code>Directory_buildbase= /build/synth/build</code><br>
<code>Directory_logs= /build/synth/logs</code><br>
<code>Directory_ccache= disabled</code><br>
<code>Directory_system= /</code><br>
<code>Number_of_builders= 30</code><br>
<code>Max_jobs_per_builder= 30</code><br>
<code>Tmpfs_workdir= true</code><br>
<code>Tmpfs_localbase= true</code><br>
<code>Display_with_ncurses= true</code><br>
<code>leverage_prebuilt= false</code></p>

<ul>
<li>LiveSystem-make.conf should contain one line to restrict licensing to only what is allowed to be built as a binary package:</li>
</ul>

<p><code>LICENSES_ACCEPTED= NONE</code></p>

<ul>
<li>
<p>Make sure there is no other cruft in /usr/local/etc/synth/</p>
</li>
<li>
<p>In the example above, the synth working dirs are in “/build/synth”. Make sure the base directories exist. Clean out any cruft for a fresh build from-scratch:</p>
</li>
</ul>

<p><code>rm -rf /build/synth/live_packages/*</code><br>
<code>rm -rf /build/synth/logs</code><br>
<code>mkdir /build/synth/logs</code></p>

<ul>
<li>Run synth everything. I recommend doing this in a ‘screen’ session in case you lose your ssh session (assuming you are ssh’d into the build machine).</li>
</ul>

<p><code>(optionally start a screen session)</code><br>
<code>synth everything</code></p>

<ul>
<li>A full synth build takes over 24 hours to run on a 48-core box, around 12 hours to run on a 64-core box. On a 4-core/8-thread box it will take at least 3 days. There will be times when swap space is heavily used. If you have not run synth before, monitor your memory and swap loads to make sure you have configured the jobs properly. If you are overloading the system, you may have to ^C the synth run, reduce the jobs, and start it again. It will pick up where it left off.</li>
<li>When synth finishes, let it rebuild the database. You then have a working binary repo.</li>
<li>It is usually a good idea to run synth several times to pick up any stuff it couldn’t build the first time. Each of these incremental runs may take a few hours, depending on what it tries to build.</li>
</ul>

<hr>

<p>###<a href="https://www.freebsdbytes.com/2018/11/interview-eric-turgeon-founder-maintainer-ghostbsd/" target="_blank" rel="nofollow noopener">Interview with founder and maintainer of GhostBSD, Eric Turgeon</a></p>

<ul>
<li>Thanks you Eric for taking part. To start off, could you  tell us a little about yourself, just a bit of background?</li>
<li>How did you become interested in open source?</li>
<li>When and how did you get interested in the BSD operating systems?</li>
<li>On your Twitter profile, you state that you are an automation engineer at iXsystems. Can you share what you do in your day-to-day job?</li>
<li>You are the founder and project lead of GhostBSD. Could you describe GhostBSD to those who have never used it or never heard of it?</li>
<li>Developing an operating system is not a small thing. What made you decide to start the GhostBSD project and not join another “desktop FreeBSD” related project, such as PC-BSD and DesktopBSD at the time?</li>
<li>How did you get to the name GhostBSD? Did you consider any other names?</li>
<li>You recently released GhostBSD 18.10? What’s new in that version and what are the key features? What has changed since GhostBSD 11.1?</li>
<li>The current version is 18.10. Will the next version be 19.04 (like Ubuntu’s version numbering), or is a new version released after the next stable TrueOS release</li>
<li>Can you tell us something about the development team? Is it yourself, or are there other core team members? I think I saw two other developers on your Github project page.</li>
<li>How about the relationship with the community? Is it possible for a community member to contribute, and how are those contributions handled?</li>
<li>What was the biggest challenge during development?</li>
<li>If you had to pick one feature readers should check out in GhostBSD, what is it and why?</li>
<li>What is the relationship between iXsystems and the GhostBSD project? Or is GhostBSD a hobby project that you run separately from your work at iXsystems?</li>
<li>What is the relationship between GhostBSD and TrueOS? Is GhostBSD TrueOS with the MATE desktop on top, or are there other modifications, additions, and differences?</li>
<li>Where does GhostBSD go from here? What are your plans for 2019?</li>
<li>Is there anything else that wasn’t asked or that you want to share?</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://twitter.com/gonzoua/status/1071252700023508993" target="_blank" rel="nofollow noopener">dialog(1) script to select audio output on FreeBSD</a></li>
<li><a href="http://blog.obligd.com/posts/erlang-otp-on-openbsd.html" target="_blank" rel="nofollow noopener">Erlang otp on OpenBSD</a></li>
<li><a href="https://oshogbo.vexillium.org/blog/57/" target="_blank" rel="nofollow noopener">Capsicum</a></li>
<li><a href="https://blog.grem.de/sysadmin/FreeBSD-On-rpi3-With-crochet-2018-10-27-18-00.html" target="_blank" rel="nofollow noopener">https://blog.grem.de/sysadmin/FreeBSD-On-rpi3-With-crochet-2018-10-27-18-00.html</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/introduction_to_%C2%B5ubsan_a_clean" target="_blank" rel="nofollow noopener">Introduction to µUBSan - a clean-room reimplementation of the Undefined Behavior Sanitizer runtime</a></li>
<li><a href="https://pkgsrc.org/pkgsrcCon/2018/talks.html" target="_blank" rel="nofollow noopener">pkgsrcCon 2018 in Berlin - Videos</a></li>
<li><a href="https://freebsddesktop.github.io/2018/12/08/drm-kmod-primer.html" target="_blank" rel="nofollow noopener">Getting started with drm-kmod</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Malcolm - <a href="http://dpaste.com/28PYSGK" target="_blank" rel="nofollow noopener">Show segment idea</a></li>
<li>Fraser - <a href="http://dpaste.com/38W3PRB" target="_blank" rel="nofollow noopener">Question: FreeBSD official binary package options</a></li>
<li>Harri - <a href="http://dpaste.com/3SENZ7H#wrap" target="_blank" rel="nofollow noopener">BSD Magazine</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 275: OpenBSD in Stereo | BSD Now 275</title>
  <link>https://www.bsdnow.tv/275</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2997</guid>
  <pubDate>Sun, 09 Dec 2018 04:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/233f4bf5-4bc3-453e-9e99-c78b18a453e0.mp3" length="51110355" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>DragonflyBSD 5.4 has been released, down the Gopher hole with OpenBSD, OpenBSD in stereo with VFIO, BSD/OS the best candidate for legally tested open source Unix, OpenBGPD adds diversity to the routing server landscape, and more.</itunes:subtitle>
  <itunes:duration>1:24:52</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>&lt;p&gt;DragonflyBSD 5.4 has been released, down the Gopher hole with OpenBSD, OpenBSD in stereo with VFIO, BSD/OS the best candidate for legally tested open source Unix, OpenBGPD adds diversity to the routing server landscape, and more.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflybsd.org/release54/" target="_blank" rel="nofollow noopener"&gt;DragonflyBSD 5.4 released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;DragonFly version 5.4 brings a new system compiler in GCC 8, improved NUMA support, a large of number network and virtual machine driver updates, and updates to video support. This release is 64-bit only, as with previous releases.
The details of all commits between the 5.2 and 5.4 branches are available in the associated commit messages for 5.4.0rc and 5.4.0.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Big-ticket items&lt;/li&gt;
    &lt;li&gt;Much better support for asymmetric NUMA (Non-Uniform Memory Access) configurations. In particular, both the memory subsystem and the scheduler now understand the Threadripper 2990WX’s architecture. The scheduler will prioritize CPU nodes with direct-attached memory and the memory subsystem will normalize memory queues for CPU nodes without direct-attached memory (which improves cache locality on those CPUs).&lt;/li&gt;
    &lt;li&gt;Incremental performance work. DragonFly as a whole is very SMP friendly. The type of performance work we are doing now mostly revolves around improving fairness for shared-vs-exclusive lock clashes, reducing cache ping-ponging due to non-contending SMP locks (i.e. massive use of shared locks on shared resources), and so forth.&lt;/li&gt;
    &lt;li&gt;Major updates to dports brings us to within a week or two of FreeBSD’s ports as of this writing, in particular major updates to chromium, and making the whole mess work with gcc-8.&lt;/li&gt;
    &lt;li&gt;Major rewriting of the tty clist code and the tty locking code, significantly improving concurrency across multiple ttys and ptys.&lt;/li&gt;
    &lt;li&gt;GCC 8&lt;/li&gt;
    &lt;li&gt;DragonFly now ships with GCC 8.0, and runs as the default compiler. It is also now used for building dports.&lt;/li&gt;
    &lt;li&gt;GCC 4.7.4 and GCC 5.4.1 are still installed. 4.7.4 is our backup compiler, and 5.4.1 is still there to ensure a smooth transition, but should generally not be used. buildworld builds all three by default to ensure maximum compatibility.&lt;/li&gt;
    &lt;li&gt;Many passes through world sources were made to address various warnings and errors the new GCC brought with it.&lt;/li&gt;
    &lt;li&gt;HAMMER2&lt;/li&gt;
    &lt;li&gt;HAMMER2 is recommended as the default root filesystem in non-clustered mode.&lt;/li&gt;
    &lt;li&gt;Clustered support is not yet available.&lt;/li&gt;
    &lt;li&gt;Increased bulkfree cache to reduce the number of iterations required.&lt;/li&gt;
    &lt;li&gt;Fixed numerous bugs.&lt;/li&gt;
    &lt;li&gt;Improved support on low-memory machines.&lt;/li&gt;
    &lt;li&gt;Significant pre-work on the XOP API to help support future networked operations.&lt;/li&gt;
    &lt;li&gt;Details&lt;/li&gt;
    &lt;li&gt;Checksums
&lt;code&gt;MD5 (dfly-x86_64-5.4.0_REL.img) = 7277d7cffc92837c7d1c5dd11a11b98f&lt;/code&gt;
&lt;code&gt;MD5 (dfly-x86_64-5.4.0_REL.iso) = 6da7abf036fe9267479837b3c3078408&lt;/code&gt;
&lt;code&gt;MD5 (dfly-x86_64-5.4.0_REL.img.bz2) = a77a072c864f4b72fd56b4250c983ff1&lt;/code&gt;
&lt;code&gt;MD5 (dfly-x86_64-5.4.0_REL.iso.bz2) = 4dbfec6ccfc1d59c5049455db914d499&lt;/code&gt;&lt;/li&gt;
    &lt;li&gt;Downloads Links&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;DragonFly BSD is 64-bit only, as announced during the 3.8 release.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;USB: dfly-x86_64-5.4.0_REL.img as bzip2 file&lt;/li&gt;
    &lt;li&gt;ISO: dfly-x86_64-5.4.0_REL.iso as bzip2 file&lt;/li&gt;
    &lt;li&gt;Uncompressed ISO: dfly-x86_64-5.4.0_REL.iso (For use with VPS providers as an install image.)&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://cryogenix.net/gophernicus.html" target="_blank" rel="nofollow noopener"&gt;Down the Gopher hole with OpenBSD, Gophernicus, and TLS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;In the early 2000s I thought I had seen the worst of the web - Java applets, Macromedia (&amp;gt;Adobe) Flash, animated GIFs, javascript snow that kept you warm in the winter by burning out your CPU, and so on. For a time we learned from these mistakes, and started putting the burden on the server-side - then with improvements in javascript engines we started abusing it again with JSON/AJAX and it all went down hill from there.&lt;/blockquote&gt;

&lt;blockquote&gt;Like cloud computing, blockchains, machine learning and a tonne of other a la mode technologies around today - most users and service providers don’t need websites that consume 1GB of memory processing JS and downloading 50MB of compressed data just to read Alice’s one-page travel blog or Bob’s notes on porting NetBSD to his blood-pressure monitor.&lt;/blockquote&gt;

&lt;blockquote&gt;Before the HTTP web we relied on Prestel/Minitel style systems, BBS systems, and arguably the most accessible of all - Gopher! Gopher was similar to the locally accessed AmigaGuide format, in that it allowed users to search and retrieve documents interactively, with links and cross-references. Its efficiency and distraction-free nature make it attractive to those who are tired of the invasive, clickbait, ad-filled, javascript-laden web2/3.x. But enough complaining and evangelism - here’s how to get your own Gopher Hole!&lt;/blockquote&gt;

&lt;blockquote&gt;Gophernicus is a modern gopher daemon which aims to be secure (although it still uses inetd -_-); it’s even in OpenBSD ports so at least we can rely on it to be reasonably audited.&lt;/blockquote&gt;

&lt;blockquote&gt;If you need a starting point with Gopher, SDF-EU’s wiki has a good article here.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href="https://sdfeu.org/w/tutorials:gopher" target="_blank" rel="nofollow noopener"&gt;https://sdfeu.org/w/tutorials:gopher&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;Finally, if you don’t like gopher(1) - there’s always lynx(1) or NCSA Mosaic!&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href="https://cryogenix.net/NCSA_Mosaic_OpenBSD.html" target="_blank" rel="nofollow noopener"&gt;https://cryogenix.net/NCSA_Mosaic_OpenBSD.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;I’ve added TLS support to Gophernicus so you don’t need to use stunnel anymore. The code is ugly and unpolished though so I wouldn’t recommend for production use.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href="https://github.com/0x16h/gophernicus" target="_blank" rel="nofollow noopener"&gt;https://github.com/0x16h/gophernicus&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://github.com/0x16h/gophernicus/blob/master/INSTALL.openbsd" target="_blank" rel="nofollow noopener"&gt;https://github.com/0x16h/gophernicus/blob/master/INSTALL.openbsd&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://jcs.org/2018/11/12/vfio" target="_blank" rel="nofollow noopener"&gt;OpenBSD in Stereo with Linux VFIO&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;I use a Huawei Matebook X as my primary OpenBSD laptop and one aspect of its hardware support has always been lacking: audio never played out of the right-side speaker. The speaker did actually work, but only in Windows and only after the Realtek Dolby Atmos audio driver from Huawei was installed. Under OpenBSD and Linux, and even Windows with the default Intel sound driver, audio only ever played out of the left speaker.
Now, after some extensive reverse engineering and debugging with the help of VFIO on Linux, I finally have audio playing out of both speakers on OpenBSD.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;VFIO&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The Linux kernel has functionality called VFIO which enables direct access to a physical device (like a PCI card) from userspace, usually passing it to an emulator like QEMU.
To my surprise, these days, it seems to be primarily by gamers who boot Linux, then use QEMU to run a game in Windows and use VFIO to pass the computer’s GPU device through to Windows.
By using Linux and VFIO, I was able to boot Windows 10 inside of QEMU and pass my laptop’s PCI audio device through to Windows, allowing the Realtek audio drivers to natively control the audio device. Combined with QEMU’s tracing functionality, I was able to get a log of all PCI I/O between Windows and the PCI audio device.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Using VFIO&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;To use VFIO to pass-through a PCI device, it first needs to be stubbed out so the Linux kernel’s default drivers don’t attach to it. GRUB can be configured to instruct the kernel to ignore the PCI audio device (8086:9d71) and explicitly enable the Intel IOMMU driver by adding the following to /etc/default/grub and running update-grub
With the audio device stubbed out, a new VFIO device can be created from it
Then the VFIO device (00:1f.3) can be passed to QEMU
I was using my own build of QEMU for this, due to some custom logging I needed (more on that later), but the default QEMU package should work fine. The events.txt was a file of all VFIO events I wanted logged (which was all of them).
Since I was frequently killing QEMU and restarting it, Windows 10 wanted to go through its unexpected shutdown routine each time (and would sometimes just fail to boot again). To avoid this and to get a consistent set of logs each time, I used qemu-img to take a snapshot of a base image first, then boot QEMU with that snapshot. The snapshot just gets thrown away the next time qemu-img is run and Windows always starts from a consistent state.
QEMU will now log each VFIO event which gets saved to a debug-output file.
With a full log of all PCI I/O activity from Windows, I compared it to the output from OpenBSD and tried to find the magic register writes that enabled the second speaker. After days of combing through the logs and annotating them by looking up hex values in the documentation, diffing runtime register values, and even brute-forcing it by mechanically duplicating all PCI I/O activity in the OpenBSD driver, nothing would activate the right speaker.
One strange thing that I noticed was if I booted Windows 10 in QEMU and it activated the speaker, then booted OpenBSD in QEMU without resetting the PCI device’s power in-between (as a normal system reboot would do), both speakers worked in OpenBSD and the configuration that the HDA controller presented was different, even without any changes in OpenBSD.&lt;/blockquote&gt;

&lt;blockquote&gt;A Primer on Intel HDA
Most modern computers with integrated sound chips use an Intel High Definition Audio (HDA) Controller device, with one or more codecs (like the Realtek ALC269) hanging off of it. These codecs do the actual audio processing and communicate with DACs and ADCs to send digital audio to the connected speakers, or read analog audio from a microphone and convert it to a digital input stream. In my Huawei Matebook X, this is done through a Realtek ALC298 codec.
On OpenBSD, these HDA controllers are supported by the azalia(4) driver, with all of the per-codec details in the lengthy azalia_codec.c file. This file has grown quite large with lots of codec- and machine-specific quirks to route things properly, toggle various GPIO pins, and unmute speakers that are for some reason muted by default.
The azalia driver talks to the HDA controller and sets up various buffers and then walks the list of codecs. Each codec supports a number of widget nodes which can be interconnected in various ways. Some of these nodes can be reconfigured on the fly to do things like turning a microphone port into a headphone port.
The newer Huawei Matebook X Pro released a few months ago is also plagued with this speaker problem, although it has four speakers and only two work by default. A fix is being proposed for the Linux kernel which just reconfigures those widget pins in the Intel HDA driver. Unfortunately no pin reconfiguration is enough to fix my Matebook X with its two speakers.
While reading more documentation on the HDA, I realized there was a lot more activity going on than I was able to see through the PCI tracing.
For speed and efficiency, HDA controllers use a DMA engine to transfer audio streams as well as the commands from the OS driver to the codecs. In the output above, the CORBWP=0; size=256 and RIRBRP=0, size=256 indicate the setup of the CORB (Command Output Ring Buffer) and RIRB (Response Input Ring Buffer) each with 256 entries. The HDA driver allocates a DMA address and then writes it to the two CORBLBASE and CORBUBASE registers, and again for the RIRB.
When the driver wants to send a command to a codec, such as CORB_GET_PARAMETER with a parameter of COP_VOLUME_KNOB_CAPABILITIES, it encodes the codec address, the node index, the command verb, and the parameter, and then writes that value to the CORB ring at the address it set up with the controller at initialization time (CORBLBASE/CORBUBASE) plus the offset of the ring index. Once the command is on the ring, it does a PCI write to the CORBWP register, advancing it by one. This lets the controller know a new command is queued, which it then acts on and writes the response value on the RIRB ring at the same position as the command (but at the RIRB’s DMA address). It then generates an interrupt, telling the driver to read the new RIRBWP value and process the new results.
Since the actual command contents and responses are handled through DMA writes and reads, these important values weren’t showing up in the VFIO PCI trace output that I had gathered. Time to hack QEMU.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Logging DMA Memory Values in QEMU&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;Since DMA activity wouldn’t show up through QEMU’s VFIO tracing and I obviously couldn’t get Windows to dump these values like I could in OpenBSD, I could make QEMU recognize the PCI write to the CORBWP register as an indication that a command has just been written to the CORB ring.
My custom hack in QEMU adds some HDA awareness to remember the CORB and RIRB DMA addresses as they get programmed in the controller. Then any time a PCI write to the CORBWP register is done, QEMU fetches the new CORB command from DMA memory, decodes it into the codec address, node address, command, and parameter, and prints it out. When a PCI read of the RIRBWP register is requested, QEMU reads the response and prints the corresponding CORB command that it stored earlier.
With this hack in place, I now had a full log of all CORB commands and RIRB responses sent to and read from the codec:
An early version of this patch left me stumped for a few days because, even after submitting all of the same CORB commands in OpenBSD, the second speaker still didn’t work. It wasn’t until re-reading the HDA spec that I realized the Windows driver was submitting more than one command at a time, writing multiple CORB entries and writing a CORBWP value that was advanced by two. This required turning my CORB/RIRB reading into a for loop, reading each new command and response between the new CORBWP/RIRBWP value and the one previously seen.
Sure enough, the magic commands to enable the second speaker were sent in these periods where it submitted more than one command at a time.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Minimizing the Magic&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The full log of VFIO PCI activity from the Windows driver was over 65,000 lines and contained 3,150 CORB commands, which is a lot to sort through. It took me a couple more days to reduce that down to a small subset that was actually required to activate the second speaker, and that could only be done through trial and error:&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Boot OpenBSD with the full list of CORB commands in the azalia driver&lt;/li&gt;
    &lt;li&gt;Comment out a group of them&lt;/li&gt;
    &lt;li&gt;Compile kernel and install it, halt the QEMU guest&lt;/li&gt;
    &lt;li&gt;Suspend and wake the laptop, resetting PCI power to the audio device to reset the speaker/Dolby initialization and ensure the previous run isn’t influencing the current test (I’m guessing there is an easier to way to reset PCI power than suspending the laptop, but oh well)&lt;/li&gt;
    &lt;li&gt;Start QEMU, boot OpenBSD with the new kernel&lt;/li&gt;
    &lt;li&gt;Play an MP3 with mpg123 which has alternating left- and right-channel audio and listen for both channels to play&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;This required a dozen or so iterations because sometimes I’d comment out too many commands and the right speaker would stop working. Other times the combination of commands would hang the controller and it wouldn’t process any further commands. At one point the combination of commands actually flipped the channels around so the right channel audio was playing through the left speaker.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;The Result&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;After about a week of this routine, I ended up with a list of 662 CORB commands that are needed to get the second speaker working. Based on the number of repeated-but-slightly-different values written with the 0x500 and 0x400 commands, I’m guessing this is some kind of training data and that this is doing the full Dolby/Atmos system initialization, not just turning on the second speaker, but I could be completely wrong.
In any case, the stereo sound from OpenBSD is wonderful now and I can finally stop downmixing everything to mono to play from the left speaker. In case you ever need to do this, sndiod can be run with -c 0:0 to reduce the channels to one.
Due to the massive size of the code needed for this quirk, I’m not sure if I’ll be committing it upstream in OpenBSD or just saving it for my own tree. But at least now the hardware support chart for my Matebook is all yeses for the things I care about.
I’ve also updated the Linux bug report that I opened before venturing down this path, hoping one of the maintainers of that HDA code that works at Intel or Realtek knew of a solution I could just port to OpenBSD. I’m curious to see what they’ll do with it.&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://virtuallyfun.com/wordpress/2018/11/26/why-bsd-os-is-the-best-candidate-for-being-the-only-tested-legally-open-unix/" target="_blank" rel="nofollow noopener"&gt;Why BSD/OS is the best candidate for being the only tested legally open UNIX&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
    &lt;li&gt;Introduction&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The UNIX® system is an old operating system, possibly older than many of the readers of this post. However, despite its age, it still has not been open sourced completely. In this post, I will try to detail which parts of which UNIX systems have not yet been open sourced. I will focus on the legal situation in Germany in particular, taking it representative of European law in general – albeit that is a stretch, knowing the diversity of European jurisdictions. Please note that familiarity with basic terms of copyright law is assumed.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Ancient UNIX&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The term “Ancient UNIX” refers to the versions of UNIX up to and including Seventh Edition UNIX (1979) including the 32V port to the VAX. Ancient UNIX was created at Bell Laboratories, a subsidiary of AT&amp;amp;T at the time. It was later transferred of the AT&amp;amp;T UNIX Support Group, then AT&amp;amp;T Information Systems and finally the AT&amp;amp;T subsidiary UNIX System Laboratories, Inc. (USL). The legal situation differs between the United States of America and Germany.
In a ruling as part of the UNIX System Laboratories, Inc. v. Berkeley Software Design, Inc. (USL v. BSDi) case, a U.S. court found that USL had no copyright to the Seventh Edition UNIX system and 32V – arguably, by extension, all earlier versions of Ancient UNIX as well – because USL/AT&amp;amp;T had failed to affix copyright notices and could not demonstrate a trade secret. Due to the obsessive tendency of U.S. courts to consider themselves bound to precedents (cf. the infamous Pierson v. Post case), it can be reasonably expected that this ruling would be honored and applied in subsequent cases. Thus under U.S. law, Ancient UNIX can be safely assumed to belong in the public domain.
The situation differs in Germany. Unlike the U.S., copyright never needed registration in order to exist. Computer programs are works in the sense of the German 1965 Act on Copyright and Related Rights (Copyright Act, henceforth CopyA) as per CopyA § 2(1) no. 1. Even prior to the amendment of CopyA § 2(1) to include computer programs, computer programs have been recognized as copyrightable works by the German Supreme Court (BGHZ 112, 264 Betriebssystem, no. 19); CopyA § 137d(1) rightly clarifies that. The copyright holder at 1979 would still have been USL via Bell Labs and AT&amp;amp;T. Copyright of computer programs is transferred to the employer upon creation under CopyA § 69(1).
Note that this does not affect expiry (Daniel Kaboth/Benjamin Spies, commentary on CopyA §§ 69a‒69g, in: Hartwig Ahlberg/Horst-Peter Götting (eds.), Urheberrecht: UrhG, KUG, VerlG, VGG, Kommentar, 4th ed., C. H. Beck, 2018, no. 16 ad CopyA § 69b; cf. Bundestag-Drucksache [BT-Drs.] 12/4022, p. 10). Expiry occurs 70 years after the death of the (co-)author that died most recently as per CopyA § 65(1) and 64; this has been the case since at least the 1960s, meaning there is no way for copyright to have expired already (old version, as per Bundesgesetzblatt Part I No. 51 of September 16, 1965, pp. 1273‒1294).
In Germany, private international law applies the so-called “Territorialitätsprinzip” for intellectual property rights. This means that the effect of an intellectual property right is limited to the territory of a state (Anne Lauber-Rönsberg, KollisionsR, in: Hartwig Ahlberg/Horst-Peter Götting (eds.), ibid., pp. 2241 et seqq., no. 4). Additionally, the “Schutzlandprinzip” applies; this means that protection of intellectual property follows the lex loci protectionis, i.e. the law of the country for which protection is sought (BGH GRUR 2015, 264 HiHotel II, no. 25; BGH GRUR 2003, 328 Sender Felsberg, no. 24), albeit this is criticized in parts of doctrine (Lauber-Rönsberg, ibid., no. 10). The “Schutzlandprinzip” requires that the existence of an intellectual property right be verified as well (BGH ZUM 2016, 522 Wagenfeld-Leuchte II, no. 19).
Thus, in Germany, copyright on Ancient UNIX is still alive and well. Who has it, though? A ruling by the U.S. Court of Appeals, Tenth Circuit, in the case of The SCO Group, Inc. v. Novell, Inc. (SCO v. Novell) in the U.S. made clear that Novell owns the rights to System V – thus presumably UNIX System III as well – and Ancient UNIX, though SCO acquired enough rights to develop UnixWare/OpenServer (Ruling 10-4122 [D.C. No. 2:04-CV-00139-TS], pp. 19 et seq.). Novell itself was purchased by the Attachmate Group, which was in turn acquired by the COBOL vendor Micro Focus. Therefore, the rights to SVRX and – outside the U.S. – are with Micro Focus right now. If all you care about is the U.S., you can stop reading about Ancient UNIX here.
So how does the Caldera license factor into all of this? For some context, the license was issued January 23, 2002 and covers Ancient UNIX (V1 through V7 including 32V), specifically excluding System III and System V. Caldera, Inc. was founded in 1994. The Santa Cruz Operation, Inc. sold its rights to UNIX to Caldera in 2001, renamed itself to Tarantella Inc. and Caldera renamed itself The SCO Group. Nemo plus iuris ad alium transferre potest quam ipse habet; no one can transfer more rights than he has. The question now becomes whether Caldera had the rights to issue the Caldera license.
I’ve noted it above but it needs restating: Foreign decisions are not necessarily accepted in Germany due to the “Territorialitätsprinzip” and “Schutzlandprinzip” – however, I will be citing a U.S. ruling for its assessment of the facts for the sake of simplicity. As per ruling 10-4122, “The district court found the parties intended for SCO to serve as Novell’s agent with respect to the old SVRX licenses and the only portion of the UNIX business transferred outright under the APA [asset purchase agreement] was the ability to exploit and further develop the newer UnixWare system. SCO was able to protect that business because it was able to copyright its own improvements to the system. The only reason to protect the earlier UNIX code would be to protect the existing SVRX licenses, and the court concluded Novell retained ultimate control over that portion of the business under the APA.” The relevant agreements consist of multiple pieces:
the base Asset Purchase Agreement “APA” (Part I)
the base Asset Purchase Agreement “APA” (Part II)
the Operating Agremeent and Amendment 1 to the APA
the Amendment 2 to the APA
The APA dates September 19, 1995, from before the Caldera license. Caldera cannot possibly have acquired rights that The Santa Cruz Operation, Inc. itself never had. Furthermore, I’ve failed to find any mention of Ancient UNIX; all that is transferred is rights to SVRX. Overall, I believe that the U.S. courts’ assesment of the facts represents the situation accurately. Thus for all intents and purposes, UNIX up to and including System V remained with Novell/Attachmate/Micro Focus. Caldera therefore never had any rights to Ancient UNIX, which means it never had the rights to issue the Caldera license. The Caldera license is null and void – in the U.S. because the copyright has been lost due to formalities, everywhere else because Caldera never had the rights to issue it.
The first step to truly freeing UNIX would this be to get Micro Focus to re-issue the Caldera license for Ancient UNIX, ideally it would now also include System III and System V.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;BSD/OS&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;Another operating system near UNIX is of interest. The USL v. BSDi lawsuit includes two parties: USL, which we have seen above, and Berkeley Software Design, Inc. BSDi sold BSD/386 (later BSD/OS), which was a derivative of 4.4BSD. The software parts of the BSDi company were acquired by Wind River Systems, whereas the hardware parts went to iXsystems. Copyright is not disputed there, though Wind River Systems ceased selling BSD/OS products 15 years ago, in 2003. In addition, Wind River System let their trademark on BSD expire, though this is without consequence for copyright.
BSD/OS is notable in the sense that it powered much of early internet infrastructure. Traces of its legacy can still be found on Richard Stevens’ FAQ.
To truly make UNIX history free, BSD/OS would arguably also need to see a source code release. BSD/OS at least in its earliest releases under BSDi would ship with source code, though under a non-free license, far from BSD or even GPL licensing.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;System V&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The fate of System V as a whole is difficult to determine. Various licenses have been granted to a number of vendors (Dell UNIX comes to mind; HP for HP-UX, IBM for AIX, SGI UNIX, etc.). Sun released OpenSolaris – notoriously, Oracle closed the source to Solaris again after its release –, which is a System V Release 4 descendant. However, this means nothing for the copyright or licensing status of System V itself. Presumably, the rights with System V still remain with Novell (now Micro Focus): SCO managed to sublicense rights to develop and sell UnixWare/OpenServer, themselves System V/III descendants, to unXis, Inc. (now known as Xinuos, Inc.), which implies that Xinuos is not the copyright holder of System V.
Obviously, to free UNIX, System V and its entire family of descendants would also need to be open sourced. However, I expect tremendous resistance on part of all the companies mentioned. As noted in the “Ancient UNIX” section, Micro Focus alone would probably be sufficient to release System V, though this would mean nothing for the other commercial System V derivatives.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Newer Research UNIX&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The fate of Bell Labs would be a different one; it would go on to be purchased by Lucent, now part of Nokia. After commercial UNIX got separated out to USL, Research UNIX would continue to exist inside of Bell Labs. Research UNIX V8, V9 and V10 were not quite released by Alcatel-Lucent USA Inc. and Nokia in 2017.
However, this is merely a notice that the companies involved will not assert their copyrights only with respect to any non-commercial usage of the code. It is still not possible, over 30 years later, to freely use the V8 code.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Conclusion
In the U.S., Ancient UNIX is freely available. People located everywhere else, however, are unable to legally obtain UNIX code for any of the systems mentioned above. The exception being BSD/OS, assuming a purchase of a legitimate copy of the source code CD. This is deeply unsatisfying and I implore all involved companies to consider open sourcing (preferably under a BSD-style license) their code older than a decade, if nothing else, then at least for the sake of historical purposes. I would like to encourage everybody reading this to consider reaching out to Micro Focus and Wind River Systems about System V and BSD/OS, respectively. Perhaps the masses can change their minds.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;A small note about patents: Some technologies used in newer iterations of the UNIX system (in particular the System V derivatives) may be encumbered with software patents. An open source license will not help against patent infringement claims. However, the patents on anything used in the historical operating systems will certainly have expired by now. In addition, European readers can ignore this entirely – software patents just aren’t a thing.&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://labs.ripe.net/Members/claudio_jeker/openbgpd-adding-diversity-to-route-server-landscape" target="_blank" rel="nofollow noopener"&gt;OpenBGPD - Adding Diversity to the Route Server Landscape&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
    &lt;li&gt;Introduction&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;As of last year, there was effectively only a single solution in the Route Server vendor market: the BIRD Internet routing daemon. &lt;a href="http://NIC.CZ" target="_blank" rel="nofollow noopener"&gt;NIC.CZ&lt;/a&gt; (the organisation developing BIRD) has done fantastic work on maintaining their BGP-4 implementation, however, it’s not healthy to have virtually every Internet Exchange Point (IXP) in the RIPE NCC service region depend on a single open source project. The current situation can be compared to the state of the DNS root nameservers back in 2002 - their dependence on the BIND nameserver daemon and the resulting development of NSD as an alternative by NLnet, in cooperation with the RIPE NCC.
OpenBGPD used to be one of the most popular Route Server implementations until the early 2010s. OpenBGPD’s main problem was that its performance couldn’t keep up with the Internet’s growth, so it lost market share. An analysis by Job Snijders suggested that a modernised OpenBGPD distribution would be a most viable option to regain diversity on the Route Server level.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Missing features in OpenBGPD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The following main missing features were identified in OpenBGPD:&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Performance&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;In previous versions of OpenBGPD, the filtering performance didn’t allow proper filtering of all EBGP sessions. Current best practice at IXP Route Servers is to carefully evaluate and validate of all routes learned from EBGP peers. The OpenBGPD ruleset required to do correct filtering (in many deployment scenarios) was simply too lengthy - and negatively impacted service performance during configuration reloads. While filtering performance is the biggest bottleneck, general improvements to the Routing Information Base were also made to improve scalability. IXP Route Servers with a few hundred peering sessions are commonplace and adding new sessions shouldn’t impact the Route Servers’ service to other peers. We found that performance was the most pressing issue that needed to be tackled.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Lack of RPKI Origin Validation&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;As we’ve seen, Internet operators are moving to adopt RPKI based BGP Origin Validation. While it was theoretically possible to emulate RFC 6811-style Origin Validation in previous versions of OpenBGPD, the required configuration wasn’t optimised for performance and wasn’t user friendly. We believe that BGP Origin Validation should be as easy as possible - this requires BGP-4 vendors to implement native, optimised routines for Origin Validation. Of course, enabling Origin Validation shouldn’t have an impact on performance either when processing BGP updates or when updating the Route Origin Authorisation (ROA) table itself.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Portability&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;OpenBGPD is an integral part of OpenBSD, but IXPs may prefer to run their services infrastructure on an operating system of their choice. Making sure that there’s a portable OpenBGPD version which follows the OpenBSD project release cycle will give IXPs this option.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Development steps&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;By addressing the issues mentioned above, we could bring back OpenBGPD as a viable Route Server implementation.
Since I was one of the core OpenBGPD developers, I was asked if I wanted to pick up this project again. Thanks to the funding from the RIPE NCC Project Fund, this was possible. Starting in June 2018, I worked full time on this important community project. Over the last few months, many of the problems are already addressed and are now part of the OpenBSD 6.4 release. So far, 154 commits were made to OpenBGPD during the 6.4 development cycle - around 8% of all commits ever to OpenBGPD! This shows that due to funding and dedicated resources, a lot of work could be pushed into the latest release of OpenBGPD.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;OpenBGPD 6.4&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The OpenBGPD version, as part of OpenBSD 6.4 release, demonstrates great progress. Even though there have been many changes to the core of OpenBGPD, the released version is as solid and reliable as previous releases and the many bug fixes and improvements make this the best OpenBGPD release so far. The changes in the filter language allow users to write more efficient rulesets while the introduction of RPKI origination validation fixes an important missing feature. For IXPs, OpenBGPD now is an alternative again. There are still open issues, but the gap is closing!&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Feature highlights&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;The following changes should be highlighted:&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Introduction of background soft-reconfiguration on config reload. Running the soft-reconfiguration task in the background allows for new updates and withdraws to be processed at the same time. This improves convergence time - one of the key metrics for Route Servers.&lt;/li&gt;
    &lt;li&gt;BGP Origin Validation when a roa-set is configured Every EBGP route announcement is validated against the locally configured VRP table entries. Depending on the validation process’s outcome, the validation state is set to valid, invalid or not found. The filter language has been extended to allow checking for the origin validation state, and thanks to this, it is possible to deny invalid prefixes or regard valid prefixes different to the ones that aren’t found. The roa-set table is read from the configuration file and updated during configuration reloads. On production systems reloading the roa-set and applying it to all prefixes is done in a couple of seconds.&lt;/li&gt;
    &lt;li&gt;Fast prefix-set lookups In OpenBSD 6.3 prefix-sets got introduced in OpenBGPD. A prefix-set combines many prefix lookups into a single filter rule. The original implementation wasn’t optimised but now a fast trie lookup is used. Thanks to this, large IRR DB prefix tables can now be implemented efficiently.&lt;/li&gt;
    &lt;li&gt;Introduction of as-sets Similar to prefix-sets, as-sets help group many AS numbers into a single lookup. Thanks to this, large IRR DB origin AS tables can be implemented efficiently.
Introduction of origin-sets&lt;/li&gt;
    &lt;li&gt;Looking at the configurations of Route Servers doing full filtering, it was noticed that a common lookup was binding a prefix to an origin AS - similar to how a roa-set is used for RPKI. These origin-set tables are used to extend the IRR prefix lookup and generated from alternative sources.&lt;/li&gt;
    &lt;li&gt;Improving third party tools&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;Users can only benefit from the changes introduced in OpenBGPD 6.4 when the surrounding 3rd party tools are adjusted accordingly. Two opensource projects such as bgpq3 and arouteserver are frequently used by network operators and IXPs to generate BGP configurations. Thanks to our contributions to those projects, we were able to get them ready for all the new features in OpenBGPD.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;bgpq3 was extended to create as-set and prefix-set tables based on IRR DB entries. This is replacing the old way of doing the same with a large amount of filter rules. Thanks to the quick response from the bgpq3 maintainer, it was possible to ship OpenBSD 6.4 with a bgpq3 package that includes all the new features.&lt;/li&gt;
    &lt;li&gt;arouteserver was adjusted to implement RPKI roa-set, as-set, prefix-set, and origin-set to generate a much better-performing configurations for the 6.4 version. With the v0.20.0 release of arouteserver, IXPs are able to generate an OpenBGPD configuration which is a ton faster but also implements the new functionalities. Looking at YYCIX (the resident IXP in Calgary, Canada) the ruleset generated by arouteserver was reduced from 370,000 rules to well under 6,000 rules. This resulted in the initial convergence time dropping from over 1 hour to less than 2 minutes, and subsequent configuration reloads are hitless and no longer noticeable.&lt;/li&gt;
    &lt;li&gt;What still needs to be done&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;A sizeable chunk of work still left on the table is the rework of the RIB data structures in OpenBGPD - these haven’t been changed since the initial design of OpenBGPD in 2003. There’s currently ongoing work (in small steps, to avoid jeopardising the stability of OpenBGPD) to modernise these data-structures. The goal is to provide better decoupling of the filter step from storing RIB database changes, to pave the way to multi-threaded operations at a later point.&lt;/blockquote&gt;

&lt;ul&gt;
    &lt;li&gt;Looking forward&lt;/li&gt;
    &lt;li&gt;Job Snijders oversaw this year’s fundraising and project management, he adds:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;It’s been incredibly productive to create an environment where a core developer is allowed to work full time on the OpenBGPD code base. However, it’s important to note there still is room for a number of new features to help improve its operational capabilities (such as BMP, RFC 7313, ADD_PATH, etc). It’d be beneficial to the Internet community at large if we can extend Claudio Jeker’s involvement for another year. Open source software doesn’t grow on trees! Strategic investments are the only way to keep OpenBGPD’s roadmap aligned with Internet growth and operator requirements.&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2018-November/718130.html" target="_blank" rel="nofollow noopener"&gt;DragonFly - git: annotated tag v5.5.0 created&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Qvj7Mkr13d8" target="_blank" rel="nofollow noopener"&gt;Torchlight 2 on NetBSD&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://www.usenix.org/system/files/login/articles/login_dec14_03_dawidek.pdf" target="_blank" rel="nofollow noopener"&gt;Older, but still good USENIX Login Article on Capsicum&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://github.com/myfreeweb/capsicumizer" target="_blank" rel="nofollow noopener"&gt;The Super Capsicumizer 9000&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://www.noc-ps.com/" target="_blank" rel="nofollow noopener"&gt;Dedicated and Virtual Server PXE provisioning tool&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://cirrus-ci.org/guide/FreeBSD/" target="_blank" rel="nofollow noopener"&gt;Cirrus CI have announced FreeBSD support&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="https://twitter.com/astr0baby/status/1065353771952336897" target="_blank" rel="nofollow noopener"&gt;NetBSD PineBook Gameplay&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.bsdcan.org/2019/papers.php" target="_blank" rel="nofollow noopener"&gt;BSDCan 2019 CfP is out&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Allan’s first ZFS array, Zulu, turned 7 years old on Nov 29th&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
    &lt;li&gt;Malcom - &lt;a href="http://dpaste.com/35TNNX4" target="_blank" rel="nofollow noopener"&gt;Installing Drivers in Development&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Samir - &lt;a href="http://dpaste.com/2RCB37Y#wrap" target="_blank" rel="nofollow noopener"&gt;Introduction to ZFS&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Newnix - &lt;a href="http://dpaste.com/01YJ4EB#wrap" target="_blank" rel="nofollow noopener"&gt;Drive Failures&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
    &lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, Gopher, Linux VFIO, OpenBGPD, Capsicum, Pinebook</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>DragonflyBSD 5.4 has been released, down the Gopher hole with OpenBSD, OpenBSD in stereo with VFIO, BSD/OS the best candidate for legally tested open source Unix, OpenBGPD adds diversity to the routing server landscape, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release54/" target="_blank" rel="nofollow noopener">DragonflyBSD 5.4 released</a></h3>

<blockquote>DragonFly version 5.4 brings a new system compiler in GCC 8, improved NUMA support, a large of number network and virtual machine driver updates, and updates to video support. This release is 64-bit only, as with previous releases.
The details of all commits between the 5.2 and 5.4 branches are available in the associated commit messages for 5.4.0rc and 5.4.0.</blockquote>

<ul>
    <li>Big-ticket items</li>
    <li>Much better support for asymmetric NUMA (Non-Uniform Memory Access) configurations. In particular, both the memory subsystem and the scheduler now understand the Threadripper 2990WX’s architecture. The scheduler will prioritize CPU nodes with direct-attached memory and the memory subsystem will normalize memory queues for CPU nodes without direct-attached memory (which improves cache locality on those CPUs).</li>
    <li>Incremental performance work. DragonFly as a whole is very SMP friendly. The type of performance work we are doing now mostly revolves around improving fairness for shared-vs-exclusive lock clashes, reducing cache ping-ponging due to non-contending SMP locks (i.e. massive use of shared locks on shared resources), and so forth.</li>
    <li>Major updates to dports brings us to within a week or two of FreeBSD’s ports as of this writing, in particular major updates to chromium, and making the whole mess work with gcc-8.</li>
    <li>Major rewriting of the tty clist code and the tty locking code, significantly improving concurrency across multiple ttys and ptys.</li>
    <li>GCC 8</li>
    <li>DragonFly now ships with GCC 8.0, and runs as the default compiler. It is also now used for building dports.</li>
    <li>GCC 4.7.4 and GCC 5.4.1 are still installed. 4.7.4 is our backup compiler, and 5.4.1 is still there to ensure a smooth transition, but should generally not be used. buildworld builds all three by default to ensure maximum compatibility.</li>
    <li>Many passes through world sources were made to address various warnings and errors the new GCC brought with it.</li>
    <li>HAMMER2</li>
    <li>HAMMER2 is recommended as the default root filesystem in non-clustered mode.</li>
    <li>Clustered support is not yet available.</li>
    <li>Increased bulkfree cache to reduce the number of iterations required.</li>
    <li>Fixed numerous bugs.</li>
    <li>Improved support on low-memory machines.</li>
    <li>Significant pre-work on the XOP API to help support future networked operations.</li>
    <li>Details</li>
    <li>Checksums
<code>MD5 (dfly-x86_64-5.4.0_REL.img) = 7277d7cffc92837c7d1c5dd11a11b98f</code>
<code>MD5 (dfly-x86_64-5.4.0_REL.iso) = 6da7abf036fe9267479837b3c3078408</code>
<code>MD5 (dfly-x86_64-5.4.0_REL.img.bz2) = a77a072c864f4b72fd56b4250c983ff1</code>
<code>MD5 (dfly-x86_64-5.4.0_REL.iso.bz2) = 4dbfec6ccfc1d59c5049455db914d499</code></li>
    <li>Downloads Links</li>
</ul>

<blockquote>DragonFly BSD is 64-bit only, as announced during the 3.8 release.</blockquote>

<ul>
    <li>USB: dfly-x86_64-5.4.0_REL.img as bzip2 file</li>
    <li>ISO: dfly-x86_64-5.4.0_REL.iso as bzip2 file</li>
    <li>Uncompressed ISO: dfly-x86_64-5.4.0_REL.iso (For use with VPS providers as an install image.)</li>
</ul>

<hr>

<h3><a href="https://cryogenix.net/gophernicus.html" target="_blank" rel="nofollow noopener">Down the Gopher hole with OpenBSD, Gophernicus, and TLS</a></h3>

<blockquote>In the early 2000s I thought I had seen the worst of the web - Java applets, Macromedia (&gt;Adobe) Flash, animated GIFs, javascript snow that kept you warm in the winter by burning out your CPU, and so on. For a time we learned from these mistakes, and started putting the burden on the server-side - then with improvements in javascript engines we started abusing it again with JSON/AJAX and it all went down hill from there.</blockquote>

<blockquote>Like cloud computing, blockchains, machine learning and a tonne of other a la mode technologies around today - most users and service providers don’t need websites that consume 1GB of memory processing JS and downloading 50MB of compressed data just to read Alice’s one-page travel blog or Bob’s notes on porting NetBSD to his blood-pressure monitor.</blockquote>

<blockquote>Before the HTTP web we relied on Prestel/Minitel style systems, BBS systems, and arguably the most accessible of all - Gopher! Gopher was similar to the locally accessed AmigaGuide format, in that it allowed users to search and retrieve documents interactively, with links and cross-references. Its efficiency and distraction-free nature make it attractive to those who are tired of the invasive, clickbait, ad-filled, javascript-laden web2/3.x. But enough complaining and evangelism - here’s how to get your own Gopher Hole!</blockquote>

<blockquote>Gophernicus is a modern gopher daemon which aims to be secure (although it still uses inetd -_-); it’s even in OpenBSD ports so at least we can rely on it to be reasonably audited.</blockquote>

<blockquote>If you need a starting point with Gopher, SDF-EU’s wiki has a good article here.</blockquote>

<ul>
    <li><a href="https://sdfeu.org/w/tutorials:gopher" target="_blank" rel="nofollow noopener">https://sdfeu.org/w/tutorials:gopher</a></li>
</ul>

<blockquote>Finally, if you don’t like gopher(1) - there’s always lynx(1) or NCSA Mosaic!</blockquote>

<ul>
    <li><a href="https://cryogenix.net/NCSA_Mosaic_OpenBSD.html" target="_blank" rel="nofollow noopener">https://cryogenix.net/NCSA_Mosaic_OpenBSD.html</a></li>
</ul>

<blockquote>I’ve added TLS support to Gophernicus so you don’t need to use stunnel anymore. The code is ugly and unpolished though so I wouldn’t recommend for production use.</blockquote>

<ul>
    <li><a href="https://github.com/0x16h/gophernicus" target="_blank" rel="nofollow noopener">https://github.com/0x16h/gophernicus</a></li>
    <li><a href="https://github.com/0x16h/gophernicus/blob/master/INSTALL.openbsd" target="_blank" rel="nofollow noopener">https://github.com/0x16h/gophernicus/blob/master/INSTALL.openbsd</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2018/11/12/vfio" target="_blank" rel="nofollow noopener">OpenBSD in Stereo with Linux VFIO</a></h3>

<blockquote>I use a Huawei Matebook X as my primary OpenBSD laptop and one aspect of its hardware support has always been lacking: audio never played out of the right-side speaker. The speaker did actually work, but only in Windows and only after the Realtek Dolby Atmos audio driver from Huawei was installed. Under OpenBSD and Linux, and even Windows with the default Intel sound driver, audio only ever played out of the left speaker.
Now, after some extensive reverse engineering and debugging with the help of VFIO on Linux, I finally have audio playing out of both speakers on OpenBSD.</blockquote>

<ul>
    <li>VFIO</li>
</ul>

<blockquote>The Linux kernel has functionality called VFIO which enables direct access to a physical device (like a PCI card) from userspace, usually passing it to an emulator like QEMU.
To my surprise, these days, it seems to be primarily by gamers who boot Linux, then use QEMU to run a game in Windows and use VFIO to pass the computer’s GPU device through to Windows.
By using Linux and VFIO, I was able to boot Windows 10 inside of QEMU and pass my laptop’s PCI audio device through to Windows, allowing the Realtek audio drivers to natively control the audio device. Combined with QEMU’s tracing functionality, I was able to get a log of all PCI I/O between Windows and the PCI audio device.</blockquote>

<ul>
    <li>Using VFIO</li>
</ul>

<blockquote>To use VFIO to pass-through a PCI device, it first needs to be stubbed out so the Linux kernel’s default drivers don’t attach to it. GRUB can be configured to instruct the kernel to ignore the PCI audio device (8086:9d71) and explicitly enable the Intel IOMMU driver by adding the following to /etc/default/grub and running update-grub
With the audio device stubbed out, a new VFIO device can be created from it
Then the VFIO device (00:1f.3) can be passed to QEMU
I was using my own build of QEMU for this, due to some custom logging I needed (more on that later), but the default QEMU package should work fine. The events.txt was a file of all VFIO events I wanted logged (which was all of them).
Since I was frequently killing QEMU and restarting it, Windows 10 wanted to go through its unexpected shutdown routine each time (and would sometimes just fail to boot again). To avoid this and to get a consistent set of logs each time, I used qemu-img to take a snapshot of a base image first, then boot QEMU with that snapshot. The snapshot just gets thrown away the next time qemu-img is run and Windows always starts from a consistent state.
QEMU will now log each VFIO event which gets saved to a debug-output file.
With a full log of all PCI I/O activity from Windows, I compared it to the output from OpenBSD and tried to find the magic register writes that enabled the second speaker. After days of combing through the logs and annotating them by looking up hex values in the documentation, diffing runtime register values, and even brute-forcing it by mechanically duplicating all PCI I/O activity in the OpenBSD driver, nothing would activate the right speaker.
One strange thing that I noticed was if I booted Windows 10 in QEMU and it activated the speaker, then booted OpenBSD in QEMU without resetting the PCI device’s power in-between (as a normal system reboot would do), both speakers worked in OpenBSD and the configuration that the HDA controller presented was different, even without any changes in OpenBSD.</blockquote>

<blockquote>A Primer on Intel HDA
Most modern computers with integrated sound chips use an Intel High Definition Audio (HDA) Controller device, with one or more codecs (like the Realtek ALC269) hanging off of it. These codecs do the actual audio processing and communicate with DACs and ADCs to send digital audio to the connected speakers, or read analog audio from a microphone and convert it to a digital input stream. In my Huawei Matebook X, this is done through a Realtek ALC298 codec.
On OpenBSD, these HDA controllers are supported by the azalia(4) driver, with all of the per-codec details in the lengthy azalia_codec.c file. This file has grown quite large with lots of codec- and machine-specific quirks to route things properly, toggle various GPIO pins, and unmute speakers that are for some reason muted by default.
The azalia driver talks to the HDA controller and sets up various buffers and then walks the list of codecs. Each codec supports a number of widget nodes which can be interconnected in various ways. Some of these nodes can be reconfigured on the fly to do things like turning a microphone port into a headphone port.
The newer Huawei Matebook X Pro released a few months ago is also plagued with this speaker problem, although it has four speakers and only two work by default. A fix is being proposed for the Linux kernel which just reconfigures those widget pins in the Intel HDA driver. Unfortunately no pin reconfiguration is enough to fix my Matebook X with its two speakers.
While reading more documentation on the HDA, I realized there was a lot more activity going on than I was able to see through the PCI tracing.
For speed and efficiency, HDA controllers use a DMA engine to transfer audio streams as well as the commands from the OS driver to the codecs. In the output above, the CORBWP=0; size=256 and RIRBRP=0, size=256 indicate the setup of the CORB (Command Output Ring Buffer) and RIRB (Response Input Ring Buffer) each with 256 entries. The HDA driver allocates a DMA address and then writes it to the two CORBLBASE and CORBUBASE registers, and again for the RIRB.
When the driver wants to send a command to a codec, such as CORB_GET_PARAMETER with a parameter of COP_VOLUME_KNOB_CAPABILITIES, it encodes the codec address, the node index, the command verb, and the parameter, and then writes that value to the CORB ring at the address it set up with the controller at initialization time (CORBLBASE/CORBUBASE) plus the offset of the ring index. Once the command is on the ring, it does a PCI write to the CORBWP register, advancing it by one. This lets the controller know a new command is queued, which it then acts on and writes the response value on the RIRB ring at the same position as the command (but at the RIRB’s DMA address). It then generates an interrupt, telling the driver to read the new RIRBWP value and process the new results.
Since the actual command contents and responses are handled through DMA writes and reads, these important values weren’t showing up in the VFIO PCI trace output that I had gathered. Time to hack QEMU.</blockquote>

<ul>
    <li>Logging DMA Memory Values in QEMU</li>
</ul>

<blockquote>Since DMA activity wouldn’t show up through QEMU’s VFIO tracing and I obviously couldn’t get Windows to dump these values like I could in OpenBSD, I could make QEMU recognize the PCI write to the CORBWP register as an indication that a command has just been written to the CORB ring.
My custom hack in QEMU adds some HDA awareness to remember the CORB and RIRB DMA addresses as they get programmed in the controller. Then any time a PCI write to the CORBWP register is done, QEMU fetches the new CORB command from DMA memory, decodes it into the codec address, node address, command, and parameter, and prints it out. When a PCI read of the RIRBWP register is requested, QEMU reads the response and prints the corresponding CORB command that it stored earlier.
With this hack in place, I now had a full log of all CORB commands and RIRB responses sent to and read from the codec:
An early version of this patch left me stumped for a few days because, even after submitting all of the same CORB commands in OpenBSD, the second speaker still didn’t work. It wasn’t until re-reading the HDA spec that I realized the Windows driver was submitting more than one command at a time, writing multiple CORB entries and writing a CORBWP value that was advanced by two. This required turning my CORB/RIRB reading into a for loop, reading each new command and response between the new CORBWP/RIRBWP value and the one previously seen.
Sure enough, the magic commands to enable the second speaker were sent in these periods where it submitted more than one command at a time.</blockquote>

<ul>
    <li>Minimizing the Magic</li>
</ul>

<blockquote>The full log of VFIO PCI activity from the Windows driver was over 65,000 lines and contained 3,150 CORB commands, which is a lot to sort through. It took me a couple more days to reduce that down to a small subset that was actually required to activate the second speaker, and that could only be done through trial and error:</blockquote>

<ul>
    <li>Boot OpenBSD with the full list of CORB commands in the azalia driver</li>
    <li>Comment out a group of them</li>
    <li>Compile kernel and install it, halt the QEMU guest</li>
    <li>Suspend and wake the laptop, resetting PCI power to the audio device to reset the speaker/Dolby initialization and ensure the previous run isn’t influencing the current test (I’m guessing there is an easier to way to reset PCI power than suspending the laptop, but oh well)</li>
    <li>Start QEMU, boot OpenBSD with the new kernel</li>
    <li>Play an MP3 with mpg123 which has alternating left- and right-channel audio and listen for both channels to play</li>
</ul>

<blockquote>This required a dozen or so iterations because sometimes I’d comment out too many commands and the right speaker would stop working. Other times the combination of commands would hang the controller and it wouldn’t process any further commands. At one point the combination of commands actually flipped the channels around so the right channel audio was playing through the left speaker.</blockquote>

<ul>
    <li>The Result</li>
</ul>

<blockquote>After about a week of this routine, I ended up with a list of 662 CORB commands that are needed to get the second speaker working. Based on the number of repeated-but-slightly-different values written with the 0x500 and 0x400 commands, I’m guessing this is some kind of training data and that this is doing the full Dolby/Atmos system initialization, not just turning on the second speaker, but I could be completely wrong.
In any case, the stereo sound from OpenBSD is wonderful now and I can finally stop downmixing everything to mono to play from the left speaker. In case you ever need to do this, sndiod can be run with -c 0:0 to reduce the channels to one.
Due to the massive size of the code needed for this quirk, I’m not sure if I’ll be committing it upstream in OpenBSD or just saving it for my own tree. But at least now the hardware support chart for my Matebook is all yeses for the things I care about.
I’ve also updated the Linux bug report that I opened before venturing down this path, hoping one of the maintainers of that HDA code that works at Intel or Realtek knew of a solution I could just port to OpenBSD. I’m curious to see what they’ll do with it.</blockquote>

<hr>

<h3><a href="https://virtuallyfun.com/wordpress/2018/11/26/why-bsd-os-is-the-best-candidate-for-being-the-only-tested-legally-open-unix/" target="_blank" rel="nofollow noopener">Why BSD/OS is the best candidate for being the only tested legally open UNIX</a></h3>

<ul>
    <li>Introduction</li>
</ul>

<blockquote>The UNIX® system is an old operating system, possibly older than many of the readers of this post. However, despite its age, it still has not been open sourced completely. In this post, I will try to detail which parts of which UNIX systems have not yet been open sourced. I will focus on the legal situation in Germany in particular, taking it representative of European law in general – albeit that is a stretch, knowing the diversity of European jurisdictions. Please note that familiarity with basic terms of copyright law is assumed.</blockquote>

<ul>
    <li>Ancient UNIX</li>
</ul>

<blockquote>The term “Ancient UNIX” refers to the versions of UNIX up to and including Seventh Edition UNIX (1979) including the 32V port to the VAX. Ancient UNIX was created at Bell Laboratories, a subsidiary of AT&amp;T at the time. It was later transferred of the AT&amp;T UNIX Support Group, then AT&amp;T Information Systems and finally the AT&amp;T subsidiary UNIX System Laboratories, Inc. (USL). The legal situation differs between the United States of America and Germany.
In a ruling as part of the UNIX System Laboratories, Inc. v. Berkeley Software Design, Inc. (USL v. BSDi) case, a U.S. court found that USL had no copyright to the Seventh Edition UNIX system and 32V – arguably, by extension, all earlier versions of Ancient UNIX as well – because USL/AT&amp;T had failed to affix copyright notices and could not demonstrate a trade secret. Due to the obsessive tendency of U.S. courts to consider themselves bound to precedents (cf. the infamous Pierson v. Post case), it can be reasonably expected that this ruling would be honored and applied in subsequent cases. Thus under U.S. law, Ancient UNIX can be safely assumed to belong in the public domain.
The situation differs in Germany. Unlike the U.S., copyright never needed registration in order to exist. Computer programs are works in the sense of the German 1965 Act on Copyright and Related Rights (Copyright Act, henceforth CopyA) as per CopyA § 2(1) no. 1. Even prior to the amendment of CopyA § 2(1) to include computer programs, computer programs have been recognized as copyrightable works by the German Supreme Court (BGHZ 112, 264 Betriebssystem, no. 19); CopyA § 137d(1) rightly clarifies that. The copyright holder at 1979 would still have been USL via Bell Labs and AT&amp;T. Copyright of computer programs is transferred to the employer upon creation under CopyA § 69(1).
Note that this does not affect expiry (Daniel Kaboth/Benjamin Spies, commentary on CopyA §§ 69a‒69g, in: Hartwig Ahlberg/Horst-Peter Götting (eds.), Urheberrecht: UrhG, KUG, VerlG, VGG, Kommentar, 4th ed., C. H. Beck, 2018, no. 16 ad CopyA § 69b; cf. Bundestag-Drucksache [BT-Drs.] 12/4022, p. 10). Expiry occurs 70 years after the death of the (co-)author that died most recently as per CopyA § 65(1) and 64; this has been the case since at least the 1960s, meaning there is no way for copyright to have expired already (old version, as per Bundesgesetzblatt Part I No. 51 of September 16, 1965, pp. 1273‒1294).
In Germany, private international law applies the so-called “Territorialitätsprinzip” for intellectual property rights. This means that the effect of an intellectual property right is limited to the territory of a state (Anne Lauber-Rönsberg, KollisionsR, in: Hartwig Ahlberg/Horst-Peter Götting (eds.), ibid., pp. 2241 et seqq., no. 4). Additionally, the “Schutzlandprinzip” applies; this means that protection of intellectual property follows the lex loci protectionis, i.e. the law of the country for which protection is sought (BGH GRUR 2015, 264 HiHotel II, no. 25; BGH GRUR 2003, 328 Sender Felsberg, no. 24), albeit this is criticized in parts of doctrine (Lauber-Rönsberg, ibid., no. 10). The “Schutzlandprinzip” requires that the existence of an intellectual property right be verified as well (BGH ZUM 2016, 522 Wagenfeld-Leuchte II, no. 19).
Thus, in Germany, copyright on Ancient UNIX is still alive and well. Who has it, though? A ruling by the U.S. Court of Appeals, Tenth Circuit, in the case of The SCO Group, Inc. v. Novell, Inc. (SCO v. Novell) in the U.S. made clear that Novell owns the rights to System V – thus presumably UNIX System III as well – and Ancient UNIX, though SCO acquired enough rights to develop UnixWare/OpenServer (Ruling 10-4122 [D.C. No. 2:04-CV-00139-TS], pp. 19 et seq.). Novell itself was purchased by the Attachmate Group, which was in turn acquired by the COBOL vendor Micro Focus. Therefore, the rights to SVRX and – outside the U.S. – are with Micro Focus right now. If all you care about is the U.S., you can stop reading about Ancient UNIX here.
So how does the Caldera license factor into all of this? For some context, the license was issued January 23, 2002 and covers Ancient UNIX (V1 through V7 including 32V), specifically excluding System III and System V. Caldera, Inc. was founded in 1994. The Santa Cruz Operation, Inc. sold its rights to UNIX to Caldera in 2001, renamed itself to Tarantella Inc. and Caldera renamed itself The SCO Group. Nemo plus iuris ad alium transferre potest quam ipse habet; no one can transfer more rights than he has. The question now becomes whether Caldera had the rights to issue the Caldera license.
I’ve noted it above but it needs restating: Foreign decisions are not necessarily accepted in Germany due to the “Territorialitätsprinzip” and “Schutzlandprinzip” – however, I will be citing a U.S. ruling for its assessment of the facts for the sake of simplicity. As per ruling 10-4122, “The district court found the parties intended for SCO to serve as Novell’s agent with respect to the old SVRX licenses and the only portion of the UNIX business transferred outright under the APA [asset purchase agreement] was the ability to exploit and further develop the newer UnixWare system. SCO was able to protect that business because it was able to copyright its own improvements to the system. The only reason to protect the earlier UNIX code would be to protect the existing SVRX licenses, and the court concluded Novell retained ultimate control over that portion of the business under the APA.” The relevant agreements consist of multiple pieces:
the base Asset Purchase Agreement “APA” (Part I)
the base Asset Purchase Agreement “APA” (Part II)
the Operating Agremeent and Amendment 1 to the APA
the Amendment 2 to the APA
The APA dates September 19, 1995, from before the Caldera license. Caldera cannot possibly have acquired rights that The Santa Cruz Operation, Inc. itself never had. Furthermore, I’ve failed to find any mention of Ancient UNIX; all that is transferred is rights to SVRX. Overall, I believe that the U.S. courts’ assesment of the facts represents the situation accurately. Thus for all intents and purposes, UNIX up to and including System V remained with Novell/Attachmate/Micro Focus. Caldera therefore never had any rights to Ancient UNIX, which means it never had the rights to issue the Caldera license. The Caldera license is null and void – in the U.S. because the copyright has been lost due to formalities, everywhere else because Caldera never had the rights to issue it.
The first step to truly freeing UNIX would this be to get Micro Focus to re-issue the Caldera license for Ancient UNIX, ideally it would now also include System III and System V.</blockquote>

<ul>
    <li>BSD/OS</li>
</ul>

<blockquote>Another operating system near UNIX is of interest. The USL v. BSDi lawsuit includes two parties: USL, which we have seen above, and Berkeley Software Design, Inc. BSDi sold BSD/386 (later BSD/OS), which was a derivative of 4.4BSD. The software parts of the BSDi company were acquired by Wind River Systems, whereas the hardware parts went to iXsystems. Copyright is not disputed there, though Wind River Systems ceased selling BSD/OS products 15 years ago, in 2003. In addition, Wind River System let their trademark on BSD expire, though this is without consequence for copyright.
BSD/OS is notable in the sense that it powered much of early internet infrastructure. Traces of its legacy can still be found on Richard Stevens’ FAQ.
To truly make UNIX history free, BSD/OS would arguably also need to see a source code release. BSD/OS at least in its earliest releases under BSDi would ship with source code, though under a non-free license, far from BSD or even GPL licensing.</blockquote>

<ul>
    <li>System V</li>
</ul>

<blockquote>The fate of System V as a whole is difficult to determine. Various licenses have been granted to a number of vendors (Dell UNIX comes to mind; HP for HP-UX, IBM for AIX, SGI UNIX, etc.). Sun released OpenSolaris – notoriously, Oracle closed the source to Solaris again after its release –, which is a System V Release 4 descendant. However, this means nothing for the copyright or licensing status of System V itself. Presumably, the rights with System V still remain with Novell (now Micro Focus): SCO managed to sublicense rights to develop and sell UnixWare/OpenServer, themselves System V/III descendants, to unXis, Inc. (now known as Xinuos, Inc.), which implies that Xinuos is not the copyright holder of System V.
Obviously, to free UNIX, System V and its entire family of descendants would also need to be open sourced. However, I expect tremendous resistance on part of all the companies mentioned. As noted in the “Ancient UNIX” section, Micro Focus alone would probably be sufficient to release System V, though this would mean nothing for the other commercial System V derivatives.</blockquote>

<ul>
    <li>Newer Research UNIX</li>
</ul>

<blockquote>The fate of Bell Labs would be a different one; it would go on to be purchased by Lucent, now part of Nokia. After commercial UNIX got separated out to USL, Research UNIX would continue to exist inside of Bell Labs. Research UNIX V8, V9 and V10 were not quite released by Alcatel-Lucent USA Inc. and Nokia in 2017.
However, this is merely a notice that the companies involved will not assert their copyrights only with respect to any non-commercial usage of the code. It is still not possible, over 30 years later, to freely use the V8 code.</blockquote>

<ul>
    <li>Conclusion
In the U.S., Ancient UNIX is freely available. People located everywhere else, however, are unable to legally obtain UNIX code for any of the systems mentioned above. The exception being BSD/OS, assuming a purchase of a legitimate copy of the source code CD. This is deeply unsatisfying and I implore all involved companies to consider open sourcing (preferably under a BSD-style license) their code older than a decade, if nothing else, then at least for the sake of historical purposes. I would like to encourage everybody reading this to consider reaching out to Micro Focus and Wind River Systems about System V and BSD/OS, respectively. Perhaps the masses can change their minds.</li>
</ul>

<blockquote>A small note about patents: Some technologies used in newer iterations of the UNIX system (in particular the System V derivatives) may be encumbered with software patents. An open source license will not help against patent infringement claims. However, the patents on anything used in the historical operating systems will certainly have expired by now. In addition, European readers can ignore this entirely – software patents just aren’t a thing.</blockquote>

<hr>

<h3><a href="https://labs.ripe.net/Members/claudio_jeker/openbgpd-adding-diversity-to-route-server-landscape" target="_blank" rel="nofollow noopener">OpenBGPD - Adding Diversity to the Route Server Landscape</a></h3>

<ul>
    <li>Introduction</li>
</ul>

<blockquote>As of last year, there was effectively only a single solution in the Route Server vendor market: the BIRD Internet routing daemon. <a href="http://NIC.CZ" target="_blank" rel="nofollow noopener">NIC.CZ</a> (the organisation developing BIRD) has done fantastic work on maintaining their BGP-4 implementation, however, it’s not healthy to have virtually every Internet Exchange Point (IXP) in the RIPE NCC service region depend on a single open source project. The current situation can be compared to the state of the DNS root nameservers back in 2002 - their dependence on the BIND nameserver daemon and the resulting development of NSD as an alternative by NLnet, in cooperation with the RIPE NCC.
OpenBGPD used to be one of the most popular Route Server implementations until the early 2010s. OpenBGPD’s main problem was that its performance couldn’t keep up with the Internet’s growth, so it lost market share. An analysis by Job Snijders suggested that a modernised OpenBGPD distribution would be a most viable option to regain diversity on the Route Server level.</blockquote>

<ul>
    <li>Missing features in OpenBGPD</li>
</ul>

<blockquote>The following main missing features were identified in OpenBGPD:</blockquote>

<ul>
    <li>Performance</li>
</ul>

<blockquote>In previous versions of OpenBGPD, the filtering performance didn’t allow proper filtering of all EBGP sessions. Current best practice at IXP Route Servers is to carefully evaluate and validate of all routes learned from EBGP peers. The OpenBGPD ruleset required to do correct filtering (in many deployment scenarios) was simply too lengthy - and negatively impacted service performance during configuration reloads. While filtering performance is the biggest bottleneck, general improvements to the Routing Information Base were also made to improve scalability. IXP Route Servers with a few hundred peering sessions are commonplace and adding new sessions shouldn’t impact the Route Servers’ service to other peers. We found that performance was the most pressing issue that needed to be tackled.</blockquote>

<ul>
    <li>Lack of RPKI Origin Validation</li>
</ul>

<blockquote>As we’ve seen, Internet operators are moving to adopt RPKI based BGP Origin Validation. While it was theoretically possible to emulate RFC 6811-style Origin Validation in previous versions of OpenBGPD, the required configuration wasn’t optimised for performance and wasn’t user friendly. We believe that BGP Origin Validation should be as easy as possible - this requires BGP-4 vendors to implement native, optimised routines for Origin Validation. Of course, enabling Origin Validation shouldn’t have an impact on performance either when processing BGP updates or when updating the Route Origin Authorisation (ROA) table itself.</blockquote>

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

<blockquote>OpenBGPD is an integral part of OpenBSD, but IXPs may prefer to run their services infrastructure on an operating system of their choice. Making sure that there’s a portable OpenBGPD version which follows the OpenBSD project release cycle will give IXPs this option.</blockquote>

<ul>
    <li>Development steps</li>
</ul>

<blockquote>By addressing the issues mentioned above, we could bring back OpenBGPD as a viable Route Server implementation.
Since I was one of the core OpenBGPD developers, I was asked if I wanted to pick up this project again. Thanks to the funding from the RIPE NCC Project Fund, this was possible. Starting in June 2018, I worked full time on this important community project. Over the last few months, many of the problems are already addressed and are now part of the OpenBSD 6.4 release. So far, 154 commits were made to OpenBGPD during the 6.4 development cycle - around 8% of all commits ever to OpenBGPD! This shows that due to funding and dedicated resources, a lot of work could be pushed into the latest release of OpenBGPD.</blockquote>

<ul>
    <li>OpenBGPD 6.4</li>
</ul>

<blockquote>The OpenBGPD version, as part of OpenBSD 6.4 release, demonstrates great progress. Even though there have been many changes to the core of OpenBGPD, the released version is as solid and reliable as previous releases and the many bug fixes and improvements make this the best OpenBGPD release so far. The changes in the filter language allow users to write more efficient rulesets while the introduction of RPKI origination validation fixes an important missing feature. For IXPs, OpenBGPD now is an alternative again. There are still open issues, but the gap is closing!</blockquote>

<ul>
    <li>Feature highlights</li>
</ul>

<blockquote>The following changes should be highlighted:</blockquote>

<ul>
    <li>Introduction of background soft-reconfiguration on config reload. Running the soft-reconfiguration task in the background allows for new updates and withdraws to be processed at the same time. This improves convergence time - one of the key metrics for Route Servers.</li>
    <li>BGP Origin Validation when a roa-set is configured Every EBGP route announcement is validated against the locally configured VRP table entries. Depending on the validation process’s outcome, the validation state is set to valid, invalid or not found. The filter language has been extended to allow checking for the origin validation state, and thanks to this, it is possible to deny invalid prefixes or regard valid prefixes different to the ones that aren’t found. The roa-set table is read from the configuration file and updated during configuration reloads. On production systems reloading the roa-set and applying it to all prefixes is done in a couple of seconds.</li>
    <li>Fast prefix-set lookups In OpenBSD 6.3 prefix-sets got introduced in OpenBGPD. A prefix-set combines many prefix lookups into a single filter rule. The original implementation wasn’t optimised but now a fast trie lookup is used. Thanks to this, large IRR DB prefix tables can now be implemented efficiently.</li>
    <li>Introduction of as-sets Similar to prefix-sets, as-sets help group many AS numbers into a single lookup. Thanks to this, large IRR DB origin AS tables can be implemented efficiently.
Introduction of origin-sets</li>
    <li>Looking at the configurations of Route Servers doing full filtering, it was noticed that a common lookup was binding a prefix to an origin AS - similar to how a roa-set is used for RPKI. These origin-set tables are used to extend the IRR prefix lookup and generated from alternative sources.</li>
    <li>Improving third party tools</li>
</ul>

<blockquote>Users can only benefit from the changes introduced in OpenBGPD 6.4 when the surrounding 3rd party tools are adjusted accordingly. Two opensource projects such as bgpq3 and arouteserver are frequently used by network operators and IXPs to generate BGP configurations. Thanks to our contributions to those projects, we were able to get them ready for all the new features in OpenBGPD.</blockquote>

<ul>
    <li>bgpq3 was extended to create as-set and prefix-set tables based on IRR DB entries. This is replacing the old way of doing the same with a large amount of filter rules. Thanks to the quick response from the bgpq3 maintainer, it was possible to ship OpenBSD 6.4 with a bgpq3 package that includes all the new features.</li>
    <li>arouteserver was adjusted to implement RPKI roa-set, as-set, prefix-set, and origin-set to generate a much better-performing configurations for the 6.4 version. With the v0.20.0 release of arouteserver, IXPs are able to generate an OpenBGPD configuration which is a ton faster but also implements the new functionalities. Looking at YYCIX (the resident IXP in Calgary, Canada) the ruleset generated by arouteserver was reduced from 370,000 rules to well under 6,000 rules. This resulted in the initial convergence time dropping from over 1 hour to less than 2 minutes, and subsequent configuration reloads are hitless and no longer noticeable.</li>
    <li>What still needs to be done</li>
</ul>

<blockquote>A sizeable chunk of work still left on the table is the rework of the RIB data structures in OpenBGPD - these haven’t been changed since the initial design of OpenBGPD in 2003. There’s currently ongoing work (in small steps, to avoid jeopardising the stability of OpenBGPD) to modernise these data-structures. The goal is to provide better decoupling of the filter step from storing RIB database changes, to pave the way to multi-threaded operations at a later point.</blockquote>

<ul>
    <li>Looking forward</li>
    <li>Job Snijders oversaw this year’s fundraising and project management, he adds:</li>
</ul>

<blockquote>It’s been incredibly productive to create an environment where a core developer is allowed to work full time on the OpenBGPD code base. However, it’s important to note there still is room for a number of new features to help improve its operational capabilities (such as BMP, RFC 7313, ADD_PATH, etc). It’d be beneficial to the Internet community at large if we can extend Claudio Jeker’s involvement for another year. Open source software doesn’t grow on trees! Strategic investments are the only way to keep OpenBGPD’s roadmap aligned with Internet growth and operator requirements.</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
    <li><a href="http://lists.dragonflybsd.org/pipermail/commits/2018-November/718130.html" target="_blank" rel="nofollow noopener">DragonFly - git: annotated tag v5.5.0 created</a></li>
    <li><a href="https://www.youtube.com/watch?v=Qvj7Mkr13d8" target="_blank" rel="nofollow noopener">Torchlight 2 on NetBSD</a></li>
    <li><a href="https://www.usenix.org/system/files/login/articles/login_dec14_03_dawidek.pdf" target="_blank" rel="nofollow noopener">Older, but still good USENIX Login Article on Capsicum</a></li>
    <li><a href="https://github.com/myfreeweb/capsicumizer" target="_blank" rel="nofollow noopener">The Super Capsicumizer 9000</a></li>
    <li><a href="https://www.noc-ps.com/" target="_blank" rel="nofollow noopener">Dedicated and Virtual Server PXE provisioning tool</a></li>
    <li><a href="https://cirrus-ci.org/guide/FreeBSD/" target="_blank" rel="nofollow noopener">Cirrus CI have announced FreeBSD support</a></li>
    <li><a href="https://twitter.com/astr0baby/status/1065353771952336897" target="_blank" rel="nofollow noopener">NetBSD PineBook Gameplay</a></li>
    <li><a href="http://www.bsdcan.org/2019/papers.php" target="_blank" rel="nofollow noopener">BSDCan 2019 CfP is out</a></li>
    <li>Allan’s first ZFS array, Zulu, turned 7 years old on Nov 29th</li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
    <li>Malcom - <a href="http://dpaste.com/35TNNX4" target="_blank" rel="nofollow noopener">Installing Drivers in Development</a></li>
    <li>Samir - <a href="http://dpaste.com/2RCB37Y#wrap" target="_blank" rel="nofollow noopener">Introduction to ZFS</a></li>
    <li>Newnix - <a href="http://dpaste.com/01YJ4EB#wrap" target="_blank" rel="nofollow noopener">Drive Failures</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>DragonflyBSD 5.4 has been released, down the Gopher hole with OpenBSD, OpenBSD in stereo with VFIO, BSD/OS the best candidate for legally tested open source Unix, OpenBGPD adds diversity to the routing server landscape, and more.</p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release54/" target="_blank" rel="nofollow noopener">DragonflyBSD 5.4 released</a></h3>

<blockquote>DragonFly version 5.4 brings a new system compiler in GCC 8, improved NUMA support, a large of number network and virtual machine driver updates, and updates to video support. This release is 64-bit only, as with previous releases.
The details of all commits between the 5.2 and 5.4 branches are available in the associated commit messages for 5.4.0rc and 5.4.0.</blockquote>

<ul>
    <li>Big-ticket items</li>
    <li>Much better support for asymmetric NUMA (Non-Uniform Memory Access) configurations. In particular, both the memory subsystem and the scheduler now understand the Threadripper 2990WX’s architecture. The scheduler will prioritize CPU nodes with direct-attached memory and the memory subsystem will normalize memory queues for CPU nodes without direct-attached memory (which improves cache locality on those CPUs).</li>
    <li>Incremental performance work. DragonFly as a whole is very SMP friendly. The type of performance work we are doing now mostly revolves around improving fairness for shared-vs-exclusive lock clashes, reducing cache ping-ponging due to non-contending SMP locks (i.e. massive use of shared locks on shared resources), and so forth.</li>
    <li>Major updates to dports brings us to within a week or two of FreeBSD’s ports as of this writing, in particular major updates to chromium, and making the whole mess work with gcc-8.</li>
    <li>Major rewriting of the tty clist code and the tty locking code, significantly improving concurrency across multiple ttys and ptys.</li>
    <li>GCC 8</li>
    <li>DragonFly now ships with GCC 8.0, and runs as the default compiler. It is also now used for building dports.</li>
    <li>GCC 4.7.4 and GCC 5.4.1 are still installed. 4.7.4 is our backup compiler, and 5.4.1 is still there to ensure a smooth transition, but should generally not be used. buildworld builds all three by default to ensure maximum compatibility.</li>
    <li>Many passes through world sources were made to address various warnings and errors the new GCC brought with it.</li>
    <li>HAMMER2</li>
    <li>HAMMER2 is recommended as the default root filesystem in non-clustered mode.</li>
    <li>Clustered support is not yet available.</li>
    <li>Increased bulkfree cache to reduce the number of iterations required.</li>
    <li>Fixed numerous bugs.</li>
    <li>Improved support on low-memory machines.</li>
    <li>Significant pre-work on the XOP API to help support future networked operations.</li>
    <li>Details</li>
    <li>Checksums
<code>MD5 (dfly-x86_64-5.4.0_REL.img) = 7277d7cffc92837c7d1c5dd11a11b98f</code>
<code>MD5 (dfly-x86_64-5.4.0_REL.iso) = 6da7abf036fe9267479837b3c3078408</code>
<code>MD5 (dfly-x86_64-5.4.0_REL.img.bz2) = a77a072c864f4b72fd56b4250c983ff1</code>
<code>MD5 (dfly-x86_64-5.4.0_REL.iso.bz2) = 4dbfec6ccfc1d59c5049455db914d499</code></li>
    <li>Downloads Links</li>
</ul>

<blockquote>DragonFly BSD is 64-bit only, as announced during the 3.8 release.</blockquote>

<ul>
    <li>USB: dfly-x86_64-5.4.0_REL.img as bzip2 file</li>
    <li>ISO: dfly-x86_64-5.4.0_REL.iso as bzip2 file</li>
    <li>Uncompressed ISO: dfly-x86_64-5.4.0_REL.iso (For use with VPS providers as an install image.)</li>
</ul>

<hr>

<h3><a href="https://cryogenix.net/gophernicus.html" target="_blank" rel="nofollow noopener">Down the Gopher hole with OpenBSD, Gophernicus, and TLS</a></h3>

<blockquote>In the early 2000s I thought I had seen the worst of the web - Java applets, Macromedia (&gt;Adobe) Flash, animated GIFs, javascript snow that kept you warm in the winter by burning out your CPU, and so on. For a time we learned from these mistakes, and started putting the burden on the server-side - then with improvements in javascript engines we started abusing it again with JSON/AJAX and it all went down hill from there.</blockquote>

<blockquote>Like cloud computing, blockchains, machine learning and a tonne of other a la mode technologies around today - most users and service providers don’t need websites that consume 1GB of memory processing JS and downloading 50MB of compressed data just to read Alice’s one-page travel blog or Bob’s notes on porting NetBSD to his blood-pressure monitor.</blockquote>

<blockquote>Before the HTTP web we relied on Prestel/Minitel style systems, BBS systems, and arguably the most accessible of all - Gopher! Gopher was similar to the locally accessed AmigaGuide format, in that it allowed users to search and retrieve documents interactively, with links and cross-references. Its efficiency and distraction-free nature make it attractive to those who are tired of the invasive, clickbait, ad-filled, javascript-laden web2/3.x. But enough complaining and evangelism - here’s how to get your own Gopher Hole!</blockquote>

<blockquote>Gophernicus is a modern gopher daemon which aims to be secure (although it still uses inetd -_-); it’s even in OpenBSD ports so at least we can rely on it to be reasonably audited.</blockquote>

<blockquote>If you need a starting point with Gopher, SDF-EU’s wiki has a good article here.</blockquote>

<ul>
    <li><a href="https://sdfeu.org/w/tutorials:gopher" target="_blank" rel="nofollow noopener">https://sdfeu.org/w/tutorials:gopher</a></li>
</ul>

<blockquote>Finally, if you don’t like gopher(1) - there’s always lynx(1) or NCSA Mosaic!</blockquote>

<ul>
    <li><a href="https://cryogenix.net/NCSA_Mosaic_OpenBSD.html" target="_blank" rel="nofollow noopener">https://cryogenix.net/NCSA_Mosaic_OpenBSD.html</a></li>
</ul>

<blockquote>I’ve added TLS support to Gophernicus so you don’t need to use stunnel anymore. The code is ugly and unpolished though so I wouldn’t recommend for production use.</blockquote>

<ul>
    <li><a href="https://github.com/0x16h/gophernicus" target="_blank" rel="nofollow noopener">https://github.com/0x16h/gophernicus</a></li>
    <li><a href="https://github.com/0x16h/gophernicus/blob/master/INSTALL.openbsd" target="_blank" rel="nofollow noopener">https://github.com/0x16h/gophernicus/blob/master/INSTALL.openbsd</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2018/11/12/vfio" target="_blank" rel="nofollow noopener">OpenBSD in Stereo with Linux VFIO</a></h3>

<blockquote>I use a Huawei Matebook X as my primary OpenBSD laptop and one aspect of its hardware support has always been lacking: audio never played out of the right-side speaker. The speaker did actually work, but only in Windows and only after the Realtek Dolby Atmos audio driver from Huawei was installed. Under OpenBSD and Linux, and even Windows with the default Intel sound driver, audio only ever played out of the left speaker.
Now, after some extensive reverse engineering and debugging with the help of VFIO on Linux, I finally have audio playing out of both speakers on OpenBSD.</blockquote>

<ul>
    <li>VFIO</li>
</ul>

<blockquote>The Linux kernel has functionality called VFIO which enables direct access to a physical device (like a PCI card) from userspace, usually passing it to an emulator like QEMU.
To my surprise, these days, it seems to be primarily by gamers who boot Linux, then use QEMU to run a game in Windows and use VFIO to pass the computer’s GPU device through to Windows.
By using Linux and VFIO, I was able to boot Windows 10 inside of QEMU and pass my laptop’s PCI audio device through to Windows, allowing the Realtek audio drivers to natively control the audio device. Combined with QEMU’s tracing functionality, I was able to get a log of all PCI I/O between Windows and the PCI audio device.</blockquote>

<ul>
    <li>Using VFIO</li>
</ul>

<blockquote>To use VFIO to pass-through a PCI device, it first needs to be stubbed out so the Linux kernel’s default drivers don’t attach to it. GRUB can be configured to instruct the kernel to ignore the PCI audio device (8086:9d71) and explicitly enable the Intel IOMMU driver by adding the following to /etc/default/grub and running update-grub
With the audio device stubbed out, a new VFIO device can be created from it
Then the VFIO device (00:1f.3) can be passed to QEMU
I was using my own build of QEMU for this, due to some custom logging I needed (more on that later), but the default QEMU package should work fine. The events.txt was a file of all VFIO events I wanted logged (which was all of them).
Since I was frequently killing QEMU and restarting it, Windows 10 wanted to go through its unexpected shutdown routine each time (and would sometimes just fail to boot again). To avoid this and to get a consistent set of logs each time, I used qemu-img to take a snapshot of a base image first, then boot QEMU with that snapshot. The snapshot just gets thrown away the next time qemu-img is run and Windows always starts from a consistent state.
QEMU will now log each VFIO event which gets saved to a debug-output file.
With a full log of all PCI I/O activity from Windows, I compared it to the output from OpenBSD and tried to find the magic register writes that enabled the second speaker. After days of combing through the logs and annotating them by looking up hex values in the documentation, diffing runtime register values, and even brute-forcing it by mechanically duplicating all PCI I/O activity in the OpenBSD driver, nothing would activate the right speaker.
One strange thing that I noticed was if I booted Windows 10 in QEMU and it activated the speaker, then booted OpenBSD in QEMU without resetting the PCI device’s power in-between (as a normal system reboot would do), both speakers worked in OpenBSD and the configuration that the HDA controller presented was different, even without any changes in OpenBSD.</blockquote>

<blockquote>A Primer on Intel HDA
Most modern computers with integrated sound chips use an Intel High Definition Audio (HDA) Controller device, with one or more codecs (like the Realtek ALC269) hanging off of it. These codecs do the actual audio processing and communicate with DACs and ADCs to send digital audio to the connected speakers, or read analog audio from a microphone and convert it to a digital input stream. In my Huawei Matebook X, this is done through a Realtek ALC298 codec.
On OpenBSD, these HDA controllers are supported by the azalia(4) driver, with all of the per-codec details in the lengthy azalia_codec.c file. This file has grown quite large with lots of codec- and machine-specific quirks to route things properly, toggle various GPIO pins, and unmute speakers that are for some reason muted by default.
The azalia driver talks to the HDA controller and sets up various buffers and then walks the list of codecs. Each codec supports a number of widget nodes which can be interconnected in various ways. Some of these nodes can be reconfigured on the fly to do things like turning a microphone port into a headphone port.
The newer Huawei Matebook X Pro released a few months ago is also plagued with this speaker problem, although it has four speakers and only two work by default. A fix is being proposed for the Linux kernel which just reconfigures those widget pins in the Intel HDA driver. Unfortunately no pin reconfiguration is enough to fix my Matebook X with its two speakers.
While reading more documentation on the HDA, I realized there was a lot more activity going on than I was able to see through the PCI tracing.
For speed and efficiency, HDA controllers use a DMA engine to transfer audio streams as well as the commands from the OS driver to the codecs. In the output above, the CORBWP=0; size=256 and RIRBRP=0, size=256 indicate the setup of the CORB (Command Output Ring Buffer) and RIRB (Response Input Ring Buffer) each with 256 entries. The HDA driver allocates a DMA address and then writes it to the two CORBLBASE and CORBUBASE registers, and again for the RIRB.
When the driver wants to send a command to a codec, such as CORB_GET_PARAMETER with a parameter of COP_VOLUME_KNOB_CAPABILITIES, it encodes the codec address, the node index, the command verb, and the parameter, and then writes that value to the CORB ring at the address it set up with the controller at initialization time (CORBLBASE/CORBUBASE) plus the offset of the ring index. Once the command is on the ring, it does a PCI write to the CORBWP register, advancing it by one. This lets the controller know a new command is queued, which it then acts on and writes the response value on the RIRB ring at the same position as the command (but at the RIRB’s DMA address). It then generates an interrupt, telling the driver to read the new RIRBWP value and process the new results.
Since the actual command contents and responses are handled through DMA writes and reads, these important values weren’t showing up in the VFIO PCI trace output that I had gathered. Time to hack QEMU.</blockquote>

<ul>
    <li>Logging DMA Memory Values in QEMU</li>
</ul>

<blockquote>Since DMA activity wouldn’t show up through QEMU’s VFIO tracing and I obviously couldn’t get Windows to dump these values like I could in OpenBSD, I could make QEMU recognize the PCI write to the CORBWP register as an indication that a command has just been written to the CORB ring.
My custom hack in QEMU adds some HDA awareness to remember the CORB and RIRB DMA addresses as they get programmed in the controller. Then any time a PCI write to the CORBWP register is done, QEMU fetches the new CORB command from DMA memory, decodes it into the codec address, node address, command, and parameter, and prints it out. When a PCI read of the RIRBWP register is requested, QEMU reads the response and prints the corresponding CORB command that it stored earlier.
With this hack in place, I now had a full log of all CORB commands and RIRB responses sent to and read from the codec:
An early version of this patch left me stumped for a few days because, even after submitting all of the same CORB commands in OpenBSD, the second speaker still didn’t work. It wasn’t until re-reading the HDA spec that I realized the Windows driver was submitting more than one command at a time, writing multiple CORB entries and writing a CORBWP value that was advanced by two. This required turning my CORB/RIRB reading into a for loop, reading each new command and response between the new CORBWP/RIRBWP value and the one previously seen.
Sure enough, the magic commands to enable the second speaker were sent in these periods where it submitted more than one command at a time.</blockquote>

<ul>
    <li>Minimizing the Magic</li>
</ul>

<blockquote>The full log of VFIO PCI activity from the Windows driver was over 65,000 lines and contained 3,150 CORB commands, which is a lot to sort through. It took me a couple more days to reduce that down to a small subset that was actually required to activate the second speaker, and that could only be done through trial and error:</blockquote>

<ul>
    <li>Boot OpenBSD with the full list of CORB commands in the azalia driver</li>
    <li>Comment out a group of them</li>
    <li>Compile kernel and install it, halt the QEMU guest</li>
    <li>Suspend and wake the laptop, resetting PCI power to the audio device to reset the speaker/Dolby initialization and ensure the previous run isn’t influencing the current test (I’m guessing there is an easier to way to reset PCI power than suspending the laptop, but oh well)</li>
    <li>Start QEMU, boot OpenBSD with the new kernel</li>
    <li>Play an MP3 with mpg123 which has alternating left- and right-channel audio and listen for both channels to play</li>
</ul>

<blockquote>This required a dozen or so iterations because sometimes I’d comment out too many commands and the right speaker would stop working. Other times the combination of commands would hang the controller and it wouldn’t process any further commands. At one point the combination of commands actually flipped the channels around so the right channel audio was playing through the left speaker.</blockquote>

<ul>
    <li>The Result</li>
</ul>

<blockquote>After about a week of this routine, I ended up with a list of 662 CORB commands that are needed to get the second speaker working. Based on the number of repeated-but-slightly-different values written with the 0x500 and 0x400 commands, I’m guessing this is some kind of training data and that this is doing the full Dolby/Atmos system initialization, not just turning on the second speaker, but I could be completely wrong.
In any case, the stereo sound from OpenBSD is wonderful now and I can finally stop downmixing everything to mono to play from the left speaker. In case you ever need to do this, sndiod can be run with -c 0:0 to reduce the channels to one.
Due to the massive size of the code needed for this quirk, I’m not sure if I’ll be committing it upstream in OpenBSD or just saving it for my own tree. But at least now the hardware support chart for my Matebook is all yeses for the things I care about.
I’ve also updated the Linux bug report that I opened before venturing down this path, hoping one of the maintainers of that HDA code that works at Intel or Realtek knew of a solution I could just port to OpenBSD. I’m curious to see what they’ll do with it.</blockquote>

<hr>

<h3><a href="https://virtuallyfun.com/wordpress/2018/11/26/why-bsd-os-is-the-best-candidate-for-being-the-only-tested-legally-open-unix/" target="_blank" rel="nofollow noopener">Why BSD/OS is the best candidate for being the only tested legally open UNIX</a></h3>

<ul>
    <li>Introduction</li>
</ul>

<blockquote>The UNIX® system is an old operating system, possibly older than many of the readers of this post. However, despite its age, it still has not been open sourced completely. In this post, I will try to detail which parts of which UNIX systems have not yet been open sourced. I will focus on the legal situation in Germany in particular, taking it representative of European law in general – albeit that is a stretch, knowing the diversity of European jurisdictions. Please note that familiarity with basic terms of copyright law is assumed.</blockquote>

<ul>
    <li>Ancient UNIX</li>
</ul>

<blockquote>The term “Ancient UNIX” refers to the versions of UNIX up to and including Seventh Edition UNIX (1979) including the 32V port to the VAX. Ancient UNIX was created at Bell Laboratories, a subsidiary of AT&amp;T at the time. It was later transferred of the AT&amp;T UNIX Support Group, then AT&amp;T Information Systems and finally the AT&amp;T subsidiary UNIX System Laboratories, Inc. (USL). The legal situation differs between the United States of America and Germany.
In a ruling as part of the UNIX System Laboratories, Inc. v. Berkeley Software Design, Inc. (USL v. BSDi) case, a U.S. court found that USL had no copyright to the Seventh Edition UNIX system and 32V – arguably, by extension, all earlier versions of Ancient UNIX as well – because USL/AT&amp;T had failed to affix copyright notices and could not demonstrate a trade secret. Due to the obsessive tendency of U.S. courts to consider themselves bound to precedents (cf. the infamous Pierson v. Post case), it can be reasonably expected that this ruling would be honored and applied in subsequent cases. Thus under U.S. law, Ancient UNIX can be safely assumed to belong in the public domain.
The situation differs in Germany. Unlike the U.S., copyright never needed registration in order to exist. Computer programs are works in the sense of the German 1965 Act on Copyright and Related Rights (Copyright Act, henceforth CopyA) as per CopyA § 2(1) no. 1. Even prior to the amendment of CopyA § 2(1) to include computer programs, computer programs have been recognized as copyrightable works by the German Supreme Court (BGHZ 112, 264 Betriebssystem, no. 19); CopyA § 137d(1) rightly clarifies that. The copyright holder at 1979 would still have been USL via Bell Labs and AT&amp;T. Copyright of computer programs is transferred to the employer upon creation under CopyA § 69(1).
Note that this does not affect expiry (Daniel Kaboth/Benjamin Spies, commentary on CopyA §§ 69a‒69g, in: Hartwig Ahlberg/Horst-Peter Götting (eds.), Urheberrecht: UrhG, KUG, VerlG, VGG, Kommentar, 4th ed., C. H. Beck, 2018, no. 16 ad CopyA § 69b; cf. Bundestag-Drucksache [BT-Drs.] 12/4022, p. 10). Expiry occurs 70 years after the death of the (co-)author that died most recently as per CopyA § 65(1) and 64; this has been the case since at least the 1960s, meaning there is no way for copyright to have expired already (old version, as per Bundesgesetzblatt Part I No. 51 of September 16, 1965, pp. 1273‒1294).
In Germany, private international law applies the so-called “Territorialitätsprinzip” for intellectual property rights. This means that the effect of an intellectual property right is limited to the territory of a state (Anne Lauber-Rönsberg, KollisionsR, in: Hartwig Ahlberg/Horst-Peter Götting (eds.), ibid., pp. 2241 et seqq., no. 4). Additionally, the “Schutzlandprinzip” applies; this means that protection of intellectual property follows the lex loci protectionis, i.e. the law of the country for which protection is sought (BGH GRUR 2015, 264 HiHotel II, no. 25; BGH GRUR 2003, 328 Sender Felsberg, no. 24), albeit this is criticized in parts of doctrine (Lauber-Rönsberg, ibid., no. 10). The “Schutzlandprinzip” requires that the existence of an intellectual property right be verified as well (BGH ZUM 2016, 522 Wagenfeld-Leuchte II, no. 19).
Thus, in Germany, copyright on Ancient UNIX is still alive and well. Who has it, though? A ruling by the U.S. Court of Appeals, Tenth Circuit, in the case of The SCO Group, Inc. v. Novell, Inc. (SCO v. Novell) in the U.S. made clear that Novell owns the rights to System V – thus presumably UNIX System III as well – and Ancient UNIX, though SCO acquired enough rights to develop UnixWare/OpenServer (Ruling 10-4122 [D.C. No. 2:04-CV-00139-TS], pp. 19 et seq.). Novell itself was purchased by the Attachmate Group, which was in turn acquired by the COBOL vendor Micro Focus. Therefore, the rights to SVRX and – outside the U.S. – are with Micro Focus right now. If all you care about is the U.S., you can stop reading about Ancient UNIX here.
So how does the Caldera license factor into all of this? For some context, the license was issued January 23, 2002 and covers Ancient UNIX (V1 through V7 including 32V), specifically excluding System III and System V. Caldera, Inc. was founded in 1994. The Santa Cruz Operation, Inc. sold its rights to UNIX to Caldera in 2001, renamed itself to Tarantella Inc. and Caldera renamed itself The SCO Group. Nemo plus iuris ad alium transferre potest quam ipse habet; no one can transfer more rights than he has. The question now becomes whether Caldera had the rights to issue the Caldera license.
I’ve noted it above but it needs restating: Foreign decisions are not necessarily accepted in Germany due to the “Territorialitätsprinzip” and “Schutzlandprinzip” – however, I will be citing a U.S. ruling for its assessment of the facts for the sake of simplicity. As per ruling 10-4122, “The district court found the parties intended for SCO to serve as Novell’s agent with respect to the old SVRX licenses and the only portion of the UNIX business transferred outright under the APA [asset purchase agreement] was the ability to exploit and further develop the newer UnixWare system. SCO was able to protect that business because it was able to copyright its own improvements to the system. The only reason to protect the earlier UNIX code would be to protect the existing SVRX licenses, and the court concluded Novell retained ultimate control over that portion of the business under the APA.” The relevant agreements consist of multiple pieces:
the base Asset Purchase Agreement “APA” (Part I)
the base Asset Purchase Agreement “APA” (Part II)
the Operating Agremeent and Amendment 1 to the APA
the Amendment 2 to the APA
The APA dates September 19, 1995, from before the Caldera license. Caldera cannot possibly have acquired rights that The Santa Cruz Operation, Inc. itself never had. Furthermore, I’ve failed to find any mention of Ancient UNIX; all that is transferred is rights to SVRX. Overall, I believe that the U.S. courts’ assesment of the facts represents the situation accurately. Thus for all intents and purposes, UNIX up to and including System V remained with Novell/Attachmate/Micro Focus. Caldera therefore never had any rights to Ancient UNIX, which means it never had the rights to issue the Caldera license. The Caldera license is null and void – in the U.S. because the copyright has been lost due to formalities, everywhere else because Caldera never had the rights to issue it.
The first step to truly freeing UNIX would this be to get Micro Focus to re-issue the Caldera license for Ancient UNIX, ideally it would now also include System III and System V.</blockquote>

<ul>
    <li>BSD/OS</li>
</ul>

<blockquote>Another operating system near UNIX is of interest. The USL v. BSDi lawsuit includes two parties: USL, which we have seen above, and Berkeley Software Design, Inc. BSDi sold BSD/386 (later BSD/OS), which was a derivative of 4.4BSD. The software parts of the BSDi company were acquired by Wind River Systems, whereas the hardware parts went to iXsystems. Copyright is not disputed there, though Wind River Systems ceased selling BSD/OS products 15 years ago, in 2003. In addition, Wind River System let their trademark on BSD expire, though this is without consequence for copyright.
BSD/OS is notable in the sense that it powered much of early internet infrastructure. Traces of its legacy can still be found on Richard Stevens’ FAQ.
To truly make UNIX history free, BSD/OS would arguably also need to see a source code release. BSD/OS at least in its earliest releases under BSDi would ship with source code, though under a non-free license, far from BSD or even GPL licensing.</blockquote>

<ul>
    <li>System V</li>
</ul>

<blockquote>The fate of System V as a whole is difficult to determine. Various licenses have been granted to a number of vendors (Dell UNIX comes to mind; HP for HP-UX, IBM for AIX, SGI UNIX, etc.). Sun released OpenSolaris – notoriously, Oracle closed the source to Solaris again after its release –, which is a System V Release 4 descendant. However, this means nothing for the copyright or licensing status of System V itself. Presumably, the rights with System V still remain with Novell (now Micro Focus): SCO managed to sublicense rights to develop and sell UnixWare/OpenServer, themselves System V/III descendants, to unXis, Inc. (now known as Xinuos, Inc.), which implies that Xinuos is not the copyright holder of System V.
Obviously, to free UNIX, System V and its entire family of descendants would also need to be open sourced. However, I expect tremendous resistance on part of all the companies mentioned. As noted in the “Ancient UNIX” section, Micro Focus alone would probably be sufficient to release System V, though this would mean nothing for the other commercial System V derivatives.</blockquote>

<ul>
    <li>Newer Research UNIX</li>
</ul>

<blockquote>The fate of Bell Labs would be a different one; it would go on to be purchased by Lucent, now part of Nokia. After commercial UNIX got separated out to USL, Research UNIX would continue to exist inside of Bell Labs. Research UNIX V8, V9 and V10 were not quite released by Alcatel-Lucent USA Inc. and Nokia in 2017.
However, this is merely a notice that the companies involved will not assert their copyrights only with respect to any non-commercial usage of the code. It is still not possible, over 30 years later, to freely use the V8 code.</blockquote>

<ul>
    <li>Conclusion
In the U.S., Ancient UNIX is freely available. People located everywhere else, however, are unable to legally obtain UNIX code for any of the systems mentioned above. The exception being BSD/OS, assuming a purchase of a legitimate copy of the source code CD. This is deeply unsatisfying and I implore all involved companies to consider open sourcing (preferably under a BSD-style license) their code older than a decade, if nothing else, then at least for the sake of historical purposes. I would like to encourage everybody reading this to consider reaching out to Micro Focus and Wind River Systems about System V and BSD/OS, respectively. Perhaps the masses can change their minds.</li>
</ul>

<blockquote>A small note about patents: Some technologies used in newer iterations of the UNIX system (in particular the System V derivatives) may be encumbered with software patents. An open source license will not help against patent infringement claims. However, the patents on anything used in the historical operating systems will certainly have expired by now. In addition, European readers can ignore this entirely – software patents just aren’t a thing.</blockquote>

<hr>

<h3><a href="https://labs.ripe.net/Members/claudio_jeker/openbgpd-adding-diversity-to-route-server-landscape" target="_blank" rel="nofollow noopener">OpenBGPD - Adding Diversity to the Route Server Landscape</a></h3>

<ul>
    <li>Introduction</li>
</ul>

<blockquote>As of last year, there was effectively only a single solution in the Route Server vendor market: the BIRD Internet routing daemon. <a href="http://NIC.CZ" target="_blank" rel="nofollow noopener">NIC.CZ</a> (the organisation developing BIRD) has done fantastic work on maintaining their BGP-4 implementation, however, it’s not healthy to have virtually every Internet Exchange Point (IXP) in the RIPE NCC service region depend on a single open source project. The current situation can be compared to the state of the DNS root nameservers back in 2002 - their dependence on the BIND nameserver daemon and the resulting development of NSD as an alternative by NLnet, in cooperation with the RIPE NCC.
OpenBGPD used to be one of the most popular Route Server implementations until the early 2010s. OpenBGPD’s main problem was that its performance couldn’t keep up with the Internet’s growth, so it lost market share. An analysis by Job Snijders suggested that a modernised OpenBGPD distribution would be a most viable option to regain diversity on the Route Server level.</blockquote>

<ul>
    <li>Missing features in OpenBGPD</li>
</ul>

<blockquote>The following main missing features were identified in OpenBGPD:</blockquote>

<ul>
    <li>Performance</li>
</ul>

<blockquote>In previous versions of OpenBGPD, the filtering performance didn’t allow proper filtering of all EBGP sessions. Current best practice at IXP Route Servers is to carefully evaluate and validate of all routes learned from EBGP peers. The OpenBGPD ruleset required to do correct filtering (in many deployment scenarios) was simply too lengthy - and negatively impacted service performance during configuration reloads. While filtering performance is the biggest bottleneck, general improvements to the Routing Information Base were also made to improve scalability. IXP Route Servers with a few hundred peering sessions are commonplace and adding new sessions shouldn’t impact the Route Servers’ service to other peers. We found that performance was the most pressing issue that needed to be tackled.</blockquote>

<ul>
    <li>Lack of RPKI Origin Validation</li>
</ul>

<blockquote>As we’ve seen, Internet operators are moving to adopt RPKI based BGP Origin Validation. While it was theoretically possible to emulate RFC 6811-style Origin Validation in previous versions of OpenBGPD, the required configuration wasn’t optimised for performance and wasn’t user friendly. We believe that BGP Origin Validation should be as easy as possible - this requires BGP-4 vendors to implement native, optimised routines for Origin Validation. Of course, enabling Origin Validation shouldn’t have an impact on performance either when processing BGP updates or when updating the Route Origin Authorisation (ROA) table itself.</blockquote>

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

<blockquote>OpenBGPD is an integral part of OpenBSD, but IXPs may prefer to run their services infrastructure on an operating system of their choice. Making sure that there’s a portable OpenBGPD version which follows the OpenBSD project release cycle will give IXPs this option.</blockquote>

<ul>
    <li>Development steps</li>
</ul>

<blockquote>By addressing the issues mentioned above, we could bring back OpenBGPD as a viable Route Server implementation.
Since I was one of the core OpenBGPD developers, I was asked if I wanted to pick up this project again. Thanks to the funding from the RIPE NCC Project Fund, this was possible. Starting in June 2018, I worked full time on this important community project. Over the last few months, many of the problems are already addressed and are now part of the OpenBSD 6.4 release. So far, 154 commits were made to OpenBGPD during the 6.4 development cycle - around 8% of all commits ever to OpenBGPD! This shows that due to funding and dedicated resources, a lot of work could be pushed into the latest release of OpenBGPD.</blockquote>

<ul>
    <li>OpenBGPD 6.4</li>
</ul>

<blockquote>The OpenBGPD version, as part of OpenBSD 6.4 release, demonstrates great progress. Even though there have been many changes to the core of OpenBGPD, the released version is as solid and reliable as previous releases and the many bug fixes and improvements make this the best OpenBGPD release so far. The changes in the filter language allow users to write more efficient rulesets while the introduction of RPKI origination validation fixes an important missing feature. For IXPs, OpenBGPD now is an alternative again. There are still open issues, but the gap is closing!</blockquote>

<ul>
    <li>Feature highlights</li>
</ul>

<blockquote>The following changes should be highlighted:</blockquote>

<ul>
    <li>Introduction of background soft-reconfiguration on config reload. Running the soft-reconfiguration task in the background allows for new updates and withdraws to be processed at the same time. This improves convergence time - one of the key metrics for Route Servers.</li>
    <li>BGP Origin Validation when a roa-set is configured Every EBGP route announcement is validated against the locally configured VRP table entries. Depending on the validation process’s outcome, the validation state is set to valid, invalid or not found. The filter language has been extended to allow checking for the origin validation state, and thanks to this, it is possible to deny invalid prefixes or regard valid prefixes different to the ones that aren’t found. The roa-set table is read from the configuration file and updated during configuration reloads. On production systems reloading the roa-set and applying it to all prefixes is done in a couple of seconds.</li>
    <li>Fast prefix-set lookups In OpenBSD 6.3 prefix-sets got introduced in OpenBGPD. A prefix-set combines many prefix lookups into a single filter rule. The original implementation wasn’t optimised but now a fast trie lookup is used. Thanks to this, large IRR DB prefix tables can now be implemented efficiently.</li>
    <li>Introduction of as-sets Similar to prefix-sets, as-sets help group many AS numbers into a single lookup. Thanks to this, large IRR DB origin AS tables can be implemented efficiently.
Introduction of origin-sets</li>
    <li>Looking at the configurations of Route Servers doing full filtering, it was noticed that a common lookup was binding a prefix to an origin AS - similar to how a roa-set is used for RPKI. These origin-set tables are used to extend the IRR prefix lookup and generated from alternative sources.</li>
    <li>Improving third party tools</li>
</ul>

<blockquote>Users can only benefit from the changes introduced in OpenBGPD 6.4 when the surrounding 3rd party tools are adjusted accordingly. Two opensource projects such as bgpq3 and arouteserver are frequently used by network operators and IXPs to generate BGP configurations. Thanks to our contributions to those projects, we were able to get them ready for all the new features in OpenBGPD.</blockquote>

<ul>
    <li>bgpq3 was extended to create as-set and prefix-set tables based on IRR DB entries. This is replacing the old way of doing the same with a large amount of filter rules. Thanks to the quick response from the bgpq3 maintainer, it was possible to ship OpenBSD 6.4 with a bgpq3 package that includes all the new features.</li>
    <li>arouteserver was adjusted to implement RPKI roa-set, as-set, prefix-set, and origin-set to generate a much better-performing configurations for the 6.4 version. With the v0.20.0 release of arouteserver, IXPs are able to generate an OpenBGPD configuration which is a ton faster but also implements the new functionalities. Looking at YYCIX (the resident IXP in Calgary, Canada) the ruleset generated by arouteserver was reduced from 370,000 rules to well under 6,000 rules. This resulted in the initial convergence time dropping from over 1 hour to less than 2 minutes, and subsequent configuration reloads are hitless and no longer noticeable.</li>
    <li>What still needs to be done</li>
</ul>

<blockquote>A sizeable chunk of work still left on the table is the rework of the RIB data structures in OpenBGPD - these haven’t been changed since the initial design of OpenBGPD in 2003. There’s currently ongoing work (in small steps, to avoid jeopardising the stability of OpenBGPD) to modernise these data-structures. The goal is to provide better decoupling of the filter step from storing RIB database changes, to pave the way to multi-threaded operations at a later point.</blockquote>

<ul>
    <li>Looking forward</li>
    <li>Job Snijders oversaw this year’s fundraising and project management, he adds:</li>
</ul>

<blockquote>It’s been incredibly productive to create an environment where a core developer is allowed to work full time on the OpenBGPD code base. However, it’s important to note there still is room for a number of new features to help improve its operational capabilities (such as BMP, RFC 7313, ADD_PATH, etc). It’d be beneficial to the Internet community at large if we can extend Claudio Jeker’s involvement for another year. Open source software doesn’t grow on trees! Strategic investments are the only way to keep OpenBGPD’s roadmap aligned with Internet growth and operator requirements.</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
    <li><a href="http://lists.dragonflybsd.org/pipermail/commits/2018-November/718130.html" target="_blank" rel="nofollow noopener">DragonFly - git: annotated tag v5.5.0 created</a></li>
    <li><a href="https://www.youtube.com/watch?v=Qvj7Mkr13d8" target="_blank" rel="nofollow noopener">Torchlight 2 on NetBSD</a></li>
    <li><a href="https://www.usenix.org/system/files/login/articles/login_dec14_03_dawidek.pdf" target="_blank" rel="nofollow noopener">Older, but still good USENIX Login Article on Capsicum</a></li>
    <li><a href="https://github.com/myfreeweb/capsicumizer" target="_blank" rel="nofollow noopener">The Super Capsicumizer 9000</a></li>
    <li><a href="https://www.noc-ps.com/" target="_blank" rel="nofollow noopener">Dedicated and Virtual Server PXE provisioning tool</a></li>
    <li><a href="https://cirrus-ci.org/guide/FreeBSD/" target="_blank" rel="nofollow noopener">Cirrus CI have announced FreeBSD support</a></li>
    <li><a href="https://twitter.com/astr0baby/status/1065353771952336897" target="_blank" rel="nofollow noopener">NetBSD PineBook Gameplay</a></li>
    <li><a href="http://www.bsdcan.org/2019/papers.php" target="_blank" rel="nofollow noopener">BSDCan 2019 CfP is out</a></li>
    <li>Allan’s first ZFS array, Zulu, turned 7 years old on Nov 29th</li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
    <li>Malcom - <a href="http://dpaste.com/35TNNX4" target="_blank" rel="nofollow noopener">Installing Drivers in Development</a></li>
    <li>Samir - <a href="http://dpaste.com/2RCB37Y#wrap" target="_blank" rel="nofollow noopener">Introduction to ZFS</a></li>
    <li>Newnix - <a href="http://dpaste.com/01YJ4EB#wrap" target="_blank" rel="nofollow noopener">Drive Failures</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 274: Language: Assembly | BSD Now 274</title>
  <link>https://www.bsdnow.tv/274</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2962</guid>
  <pubDate>Thu, 29 Nov 2018 02:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/64460b53-258b-484d-be91-f4b60eac299f.mp3" length="38828711" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Assembly language on OpenBSD, using bhyve for FreeBSD development, FreeBSD Gaming, FreeBSD for Thanksgiving, no space left on Dragonfly’s hammer2, and more.</itunes:subtitle>
  <itunes:duration>1:04:24</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>&lt;p&gt;Assembly language on OpenBSD, using bhyve for FreeBSD development, FreeBSD Gaming, FreeBSD for Thanksgiving, no space left on Dragonfly’s hammer2, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://cryogenix.net/OpenBSD_assembly.html" target="_blank" rel="nofollow noopener"&gt;Assembly language on OpenBSD amd64+arm64&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a short introduction to assembly language programming on OpenBSD/amd64+arm64. Because of security features in the kernel, I have had to rethink a series of tutorials covering Aarch64 assembly language on OpenBSD, and therefore this will serve as a placeholder-cum-reminder.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenBSD, like many UNIX and unix-like operating systems, now uses the Executable and Linkable Format (ELF) for its binary libraries and executables. Although the structure of this format is beyond the scope of this short introduction, it is necessary for me to explain part of one of the headers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Within the program header there are sections known as PT_NOTE that OpenBSD and other systems use to distinguish their ELF executables - OpenBSD looks for this section to check if it should attempt to execute the program or not.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Our first program: in C!&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s often a good idea to prototype your assembly programs in a high level language such as C - it can then double up as both a set of notes and a working program that you can debug and compile into assembly language to compare with your own asm code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the article for the rest on:&lt;/li&gt;
&lt;li&gt;Our first program: in x86-64 Asm (AT&amp;amp;T/GAS syntax)&lt;/li&gt;
&lt;li&gt;Our first program: in inline x86-64 assembly&lt;/li&gt;
&lt;li&gt;Our first program: in x86-64 asm (NASM syntax)&lt;/li&gt;
&lt;li&gt;Our first program: in ARMv8 AArch64 assembly&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://bsdjhb.blogspot.com/2018/10/using-bhyve-for-freebsd-development.html" target="_blank" rel="nofollow noopener"&gt;Using bhyve for FreeBSD Development&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Hypervisor&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The bhyve hypervisor requires a 64-bit x86 processor with hardware support for virtualization.  This requirement allows for a simple, clean hypervisor implementation, but it does require a fairly recent&lt;br&gt;
processor.  The current hypervisor requires an Intel processor, but there is an active development branch with support for AMD processors.&lt;br&gt;
The hypervisor itself contains both user and kernel components.  The kernel driver is contained in the vmm.ko module and can be loaded either at boot from the boot loader or at runtime.  It must&lt;br&gt;
be loaded before any guests can be created.  When a guest is created, the kernel driver creates a device file in /dev/vmm which is used by the user programs to interact with the guest.&lt;br&gt;
The primary user component is the bhyve(8) program.  It constructs the emulated device tree in the guest and provides the implementation for most of the emulated devices.  It also calls the kernel driver to execute the guest.  Note that the guest always executes inside the driver itself, so guest execution time in the host is counted as system time in the bhyve process.&lt;br&gt;
Currently, bhyve does not provide a system firmware interface to the guest (neither BIOS nor UEFI).  Instead, a user program running on the host is used to perform boot time operations including loading the guest operating system kernel into the guest’s memory and setting the initial guest state so that the guest begins execution at the kernel’s entry point.  For FreeBSD guests, the bhyveload(8) program can be used to load the kernel and prepare the guest for execution.  Support for some other operating systems is available via the grub2-bhyve program which is available via the sysutils/grub2-bhyve port or as a prebuilt package.&lt;br&gt;
The bhyveload(8) program in FreeBSD 10.0 only supports 64-bit guests.  Support for 32-bit guests will be included in FreeBSD 10.1.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;See the article for the very technical breakdown of the following:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Network Setup&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bridged Configuration&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Private Network with NAT&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Using dnsmasq with a Private Network&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Running Guests via &lt;a href="http://vmrun.sh" target="_blank" rel="nofollow noopener"&gt;vmrun.sh&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configuring Guests&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Using a bhyve Guest as a Target&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Conclusion&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The bhyve hypervisor is a nice addition to a FreeBSD developer’s toolbox.  Guests can be used both to develop new features and to test merges to stable branches.  The hypervisor has a wide variety of uses beyond developing FreeBSD as well.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://oshogbo.vexillium.org/blog/58/" target="_blank" rel="nofollow noopener"&gt;Games on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What do all programmers like to do after work? Ok, what do most programers like to do after work? The answer is simple: play a good game! Recently at the Polish BSD User Group meetup mulander was telling us how you can play games on OpenBSD. Today let’s discuss how this looks in the FreeBSD world using the “server only” operating system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;XNA based games&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the ways of playing natively is to play indie games which use XNA. XNA is a framework from Microsoft which uses .NET, for creating games. Fortunately, in the BSD world we have Mono, an open source implementation of Microsoft’s .NET Framework which you can use to run games. There is also FNA framework which is a reimplementation of XNA which allows you to run the games under Linux. Thomas Frohwein, from OpenBSD, prepared a script, fnaify. Fnaify translate all dependencies used by an FNA game to OpenBSD dependencies.&lt;br&gt;
I decided to port the script to FreeBSD. The script is using /bin/sh which in the case of OpenBSD is a Korn Shell.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I didn’t test it with many games, but I don’t see any reason why it shouldn’t work with all the games tested by the OpenBSD guys. For example, with:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Cryptark&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rouge Legacy&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Apotheon&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Escape Goat&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bastion&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CrossCode&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Atom Zombie Smasher&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open-Source games&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In FreeBSD and OpenBSD we also will find popular games which were open sourced. For example, I spend a lot of time playing in Quake 3 Arena on my FreeBSD machine. You can very simply install it using pkg: &lt;code&gt;# pkg install ioquake3&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Then move the files for the skins and maps to the .ioquake3 directory from your copy of Quake. In the past I also played UrbanTerror which is a fully open source shooter based on the Quake 3 Arena engine. It’s is also very easy to install it from ports: &lt;code&gt;# pkg install iourbanterror&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;In the ports tree in the games directory you can find over 1000 directories, many of them with fully implemented games. I didn’t test many games in this category, but you can find some interesting titles like:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;openxcom (Open-source re-implementation of the original X-Com)&lt;/li&gt;
&lt;li&gt;openjazz (Free re-implementation of the Jazz Jackrabbit™ game engine)&lt;/li&gt;
&lt;li&gt;corsixth (Open source re-implementation of Theme Hospital)&lt;/li&gt;
&lt;li&gt;quake2&lt;/li&gt;
&lt;li&gt;openra (Red Alert)&lt;/li&gt;
&lt;li&gt;openrct2 (Open source re-implementation of RollerCoaster Tycoon 2)&lt;/li&gt;
&lt;li&gt;openmw (Open source engine reimplementation of the game Morrowind)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;All those titles are simply installed through the packages. In that case I don’t think FreeBSD has any difference from OpenBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Wine&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the big advantages of FreeBSD over OpenBSD is that FreeBSD supports wine. Wine allows you to run Windows applications under other operating systems (including mac). If you are a FreeBSD 11 user, you can simply fetch wine from packages: &lt;code&gt;# pkg install i386-wine&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;To run Windows games, you need to have a 32-bit wine because most of the games on Windows are built on 32-bits (maybe this has changed – I don’t play so much these days). In my case, because I run FreeBSD-CURRENT I needed to build wine from ports. It wasn’t nice, but it also wasn’t unpleasant. The whole step-by-step building process of a wine from ports can be found here.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Summary&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As you can see there are many titles available for *BSDs. Thanks to the FNA and fnaify, OpenBSD and FreeBSD can work with indie games which use the XNA framework. There are many interesting games implemented using this framework. Open source is not only for big server machines, and there are many re-implementations of popular games like Theme Hospital or RollerCoaster Tycoon 2. The biggest market is still enabled through wine, although its creates a lot of problems to run the games. Also, if you are an OpenBSD user only this option is not available for you. Please also note that we didn’t discuss any other emulators besides wine. In OpenBSD and FreeBSD there are many of them for GameBoy, SNES, NeoGeo and other games consoles.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://bwidawsk.net/blog/index.php/2018/11/freebsd-for-thanksgiving/" target="_blank" rel="nofollow noopener"&gt;FreeBSD For Thanksgiving&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve been working on FreeBSD for Intel for almost 6 months now. In the world of programmers, I am considered an old dog, and these 6 months have been all about learning new tricks. Luckily, I’ve found myself in a remarkably inclusive and receptive community whose patience seems plentiful. As I get ready to take some time off for the holidays, and move into that retrospective time of year, I thought I’d beat the rush a bit and update on the progress&lt;br&gt;
Earlier this year, I decided to move from architect of the Linux graphics driver into a more nebulous role of FreeBSD enabling. I was excited, but also uncertain if I was making the right decision.&lt;br&gt;
Earlier this half, I decided some general work in power management was highly important and began working there. I attended BSDCam (handsome guy on the right), and led a session on Power Management. I was honored to be able to lead this kind of effort.&lt;br&gt;
Earlier this quarter, I put the first round of my patches up for review, implementing suspend-to-idle. I have some rougher patches to handle s0ix support when suspending-to-idle. I gave a talk MeetBSD about our team’s work.&lt;br&gt;
Earlier this month, I noticed that FreeBSD doesn’t have an implementation for Intel Speed Shift (HWPstates), and I started working on that.&lt;br&gt;
Earlier this week, I was promoted from a lowly mentee committer to a full src committer.&lt;br&gt;
Earlier today, I decided to relegate my Linux laptop to the role of my backup machine, and I am writing this from my Dell XPS13 running FreeBSD&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;vandamme 13.0-CURRENT FreeBSD 13.0-CURRENT #45 881fee072ff(hwp)-dirty: Mon Nov 19 16:19:32 PST 2018 bwidawsk@vandamme:/usr/home/bwidawsk/usr/obj/usr/home/bwidawsk/usr/src/amd64.amd64/sys/DEVMACHINE amd64&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;6 months later, I feel a lot less uncertain about making the right decision. In fact, I think both opportunities would be great, and I’m thankful this Thanksgiving that this is my life and career. I have more plans and things I want to get done. I’m looking forward to being thankful again next year.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.garyshood.com/hammer2-space/" target="_blank" rel="nofollow noopener"&gt;hammer2: no space left on device on Dragonfly BSD&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Issue&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;hammer2 does not actually delete a file when you rm or unlink it. Since recovery of the file is possible (this is the design of hammer2), there will still be an entry taking up data. It’s similar to how git works.&lt;br&gt;
Even with 75% usage listed here, the filesystem could still have filled up. If you are using it as your root filesystem, then attempts to clean up data may fail. If the kernel panics over this, you will see something like this.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Fix&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you have a recent enough version of the rescue ramdisk installed, on bootup you can press ‘r’ and access the rescue ramdisk. Your provider will have to offer some sort of remote interface for interacting with the operating system before it boots, like VNC or IPMI. You can then mount your filesystem using:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;[root@ ~]# mkdir /tmp/fs&lt;/code&gt;&lt;br&gt;
&lt;code&gt;[root@ ~]# mount_hammer2 -o local /dev/vbd0s1a /tmp/fs&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you receive an error that /sbin/hammer2 is not found, then your rescue ramdisk is not up to date enough. In that scenario, download the latest 5.2 iso from &lt;a href="http://dragonflybsd.org" target="_blank" rel="nofollow noopener"&gt;dragonflybsd.org&lt;/a&gt; and boot from the cd-rom on your virtual machine or physical device. Just login as root instead of installer.&lt;br&gt;
If the mount does succeed, then all you have to do is run the following twice:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;[root@ ~]# /sbin/hammer2 bulkfree /tmp/fs&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you do not have enough memory on your machine, you may need to mount swap. Add your swap partition to the /etc/fstab and then do:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;[root@ ~]# swapon -a&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Once you have ran the bulkfree command twice, the usage reported by df -h will be correct. However, there is a chance on reboot that a core dump will be placed in /var/crash/ so be prepared to have plenty of space free in case that happens. You should also delete any files you can and run the bulkfree operation twice afterwards to clear up additional space.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1S9NMZA" target="_blank" rel="nofollow noopener"&gt;BSD Pizza Night - Portland&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3T0AB7M" target="_blank" rel="nofollow noopener"&gt;bsd@35c3: …the place for you…*NIX!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://project-trident.org/download/" target="_blank" rel="nofollow noopener"&gt;Project Trident PreRelease Image now available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dataswamp.org/~solene/2018-11-09-stardew-valley.html" target="_blank" rel="nofollow noopener"&gt;Play Stardew Valley on OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/charlesdaniels/gmixerctl" target="_blank" rel="nofollow noopener"&gt;GUI Wrapper for OpenBSD mixerctl&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/q5sys/qtv/" target="_blank" rel="nofollow noopener"&gt;qtv - QuickTextViewer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ron - &lt;a href="http://dpaste.com/16XT6PQ#wrap" target="_blank" rel="nofollow noopener"&gt;Ideas for feedback section&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Paulo - &lt;a href="http://dpaste.com/0BEE730" target="_blank" rel="nofollow noopener"&gt;SDIO Firmware&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dan - &lt;a href="http://dpaste.com/3Q7DERN#wrap" target="_blank" rel="nofollow noopener"&gt;Some fun ZFS questions about labels&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, gaming, assembly language, hammer2</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Assembly language on OpenBSD, using bhyve for FreeBSD development, FreeBSD Gaming, FreeBSD for Thanksgiving, no space left on Dragonfly’s hammer2, and more.</p>

<p>##Headlines<br>
###<a href="https://cryogenix.net/OpenBSD_assembly.html" target="_blank" rel="nofollow noopener">Assembly language on OpenBSD amd64+arm64</a></p>

<blockquote>
<p>This is a short introduction to assembly language programming on OpenBSD/amd64+arm64. Because of security features in the kernel, I have had to rethink a series of tutorials covering Aarch64 assembly language on OpenBSD, and therefore this will serve as a placeholder-cum-reminder.</p>
</blockquote>

<blockquote>
<p>OpenBSD, like many UNIX and unix-like operating systems, now uses the Executable and Linkable Format (ELF) for its binary libraries and executables. Although the structure of this format is beyond the scope of this short introduction, it is necessary for me to explain part of one of the headers.</p>
</blockquote>

<blockquote>
<p>Within the program header there are sections known as PT_NOTE that OpenBSD and other systems use to distinguish their ELF executables - OpenBSD looks for this section to check if it should attempt to execute the program or not.</p>
</blockquote>

<ul>
<li>Our first program: in C!</li>
</ul>

<blockquote>
<p>It’s often a good idea to prototype your assembly programs in a high level language such as C - it can then double up as both a set of notes and a working program that you can debug and compile into assembly language to compare with your own asm code.</p>
</blockquote>

<ul>
<li>See the article for the rest on:</li>
<li>Our first program: in x86-64 Asm (AT&amp;T/GAS syntax)</li>
<li>Our first program: in inline x86-64 assembly</li>
<li>Our first program: in x86-64 asm (NASM syntax)</li>
<li>Our first program: in ARMv8 AArch64 assembly</li>
</ul>

<hr>

<p>###<a href="https://bsdjhb.blogspot.com/2018/10/using-bhyve-for-freebsd-development.html" target="_blank" rel="nofollow noopener">Using bhyve for FreeBSD Development</a></p>

<ul>
<li>The Hypervisor</li>
</ul>

<blockquote>
<p>The bhyve hypervisor requires a 64-bit x86 processor with hardware support for virtualization.  This requirement allows for a simple, clean hypervisor implementation, but it does require a fairly recent<br>
processor.  The current hypervisor requires an Intel processor, but there is an active development branch with support for AMD processors.<br>
The hypervisor itself contains both user and kernel components.  The kernel driver is contained in the vmm.ko module and can be loaded either at boot from the boot loader or at runtime.  It must<br>
be loaded before any guests can be created.  When a guest is created, the kernel driver creates a device file in /dev/vmm which is used by the user programs to interact with the guest.<br>
The primary user component is the bhyve(8) program.  It constructs the emulated device tree in the guest and provides the implementation for most of the emulated devices.  It also calls the kernel driver to execute the guest.  Note that the guest always executes inside the driver itself, so guest execution time in the host is counted as system time in the bhyve process.<br>
Currently, bhyve does not provide a system firmware interface to the guest (neither BIOS nor UEFI).  Instead, a user program running on the host is used to perform boot time operations including loading the guest operating system kernel into the guest’s memory and setting the initial guest state so that the guest begins execution at the kernel’s entry point.  For FreeBSD guests, the bhyveload(8) program can be used to load the kernel and prepare the guest for execution.  Support for some other operating systems is available via the grub2-bhyve program which is available via the sysutils/grub2-bhyve port or as a prebuilt package.<br>
The bhyveload(8) program in FreeBSD 10.0 only supports 64-bit guests.  Support for 32-bit guests will be included in FreeBSD 10.1.</p>
</blockquote>

<ul>
<li>
<p>See the article for the very technical breakdown of the following:</p>
</li>
<li>
<p>Network Setup</p>
</li>
<li>
<p>Bridged Configuration</p>
</li>
<li>
<p>Private Network with NAT</p>
</li>
<li>
<p>Using dnsmasq with a Private Network</p>
</li>
<li>
<p>Running Guests via <a href="http://vmrun.sh" target="_blank" rel="nofollow noopener">vmrun.sh</a></p>
</li>
<li>
<p>Configuring Guests</p>
</li>
<li>
<p>Using a bhyve Guest as a Target</p>
</li>
<li>
<p>Conclusion</p>
</li>
</ul>

<blockquote>
<p>The bhyve hypervisor is a nice addition to a FreeBSD developer’s toolbox.  Guests can be used both to develop new features and to test merges to stable branches.  The hypervisor has a wide variety of uses beyond developing FreeBSD as well.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://oshogbo.vexillium.org/blog/58/" target="_blank" rel="nofollow noopener">Games on FreeBSD</a></p>

<blockquote>
<p>What do all programmers like to do after work? Ok, what do most programers like to do after work? The answer is simple: play a good game! Recently at the Polish BSD User Group meetup mulander was telling us how you can play games on OpenBSD. Today let’s discuss how this looks in the FreeBSD world using the “server only” operating system.</p>
</blockquote>

<ul>
<li>XNA based games</li>
</ul>

<blockquote>
<p>One of the ways of playing natively is to play indie games which use XNA. XNA is a framework from Microsoft which uses .NET, for creating games. Fortunately, in the BSD world we have Mono, an open source implementation of Microsoft’s .NET Framework which you can use to run games. There is also FNA framework which is a reimplementation of XNA which allows you to run the games under Linux. Thomas Frohwein, from OpenBSD, prepared a script, fnaify. Fnaify translate all dependencies used by an FNA game to OpenBSD dependencies.<br>
I decided to port the script to FreeBSD. The script is using /bin/sh which in the case of OpenBSD is a Korn Shell.</p>
</blockquote>

<blockquote>
<p>I didn’t test it with many games, but I don’t see any reason why it shouldn’t work with all the games tested by the OpenBSD guys. For example, with:</p>
</blockquote>

<ul>
<li>
<p>Cryptark</p>
</li>
<li>
<p>Rouge Legacy</p>
</li>
<li>
<p>Apotheon</p>
</li>
<li>
<p>Escape Goat</p>
</li>
<li>
<p>Bastion</p>
</li>
<li>
<p>CrossCode</p>
</li>
<li>
<p>Atom Zombie Smasher</p>
</li>
<li>
<p>Open-Source games</p>
</li>
</ul>

<blockquote>
<p>In FreeBSD and OpenBSD we also will find popular games which were open sourced. For example, I spend a lot of time playing in Quake 3 Arena on my FreeBSD machine. You can very simply install it using pkg: <code># pkg install ioquake3</code></p>
</blockquote>

<blockquote>
<p>Then move the files for the skins and maps to the .ioquake3 directory from your copy of Quake. In the past I also played UrbanTerror which is a fully open source shooter based on the Quake 3 Arena engine. It’s is also very easy to install it from ports: <code># pkg install iourbanterror</code></p>
</blockquote>

<blockquote>
<p>In the ports tree in the games directory you can find over 1000 directories, many of them with fully implemented games. I didn’t test many games in this category, but you can find some interesting titles like:</p>
</blockquote>

<ul>
<li>openxcom (Open-source re-implementation of the original X-Com)</li>
<li>openjazz (Free re-implementation of the Jazz Jackrabbit™ game engine)</li>
<li>corsixth (Open source re-implementation of Theme Hospital)</li>
<li>quake2</li>
<li>openra (Red Alert)</li>
<li>openrct2 (Open source re-implementation of RollerCoaster Tycoon 2)</li>
<li>openmw (Open source engine reimplementation of the game Morrowind)</li>
</ul>

<blockquote>
<p>All those titles are simply installed through the packages. In that case I don’t think FreeBSD has any difference from OpenBSD.</p>
</blockquote>

<ul>
<li>Wine</li>
</ul>

<blockquote>
<p>One of the big advantages of FreeBSD over OpenBSD is that FreeBSD supports wine. Wine allows you to run Windows applications under other operating systems (including mac). If you are a FreeBSD 11 user, you can simply fetch wine from packages: <code># pkg install i386-wine</code></p>
</blockquote>

<blockquote>
<p>To run Windows games, you need to have a 32-bit wine because most of the games on Windows are built on 32-bits (maybe this has changed – I don’t play so much these days). In my case, because I run FreeBSD-CURRENT I needed to build wine from ports. It wasn’t nice, but it also wasn’t unpleasant. The whole step-by-step building process of a wine from ports can be found here.</p>
</blockquote>

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

<blockquote>
<p>As you can see there are many titles available for *BSDs. Thanks to the FNA and fnaify, OpenBSD and FreeBSD can work with indie games which use the XNA framework. There are many interesting games implemented using this framework. Open source is not only for big server machines, and there are many re-implementations of popular games like Theme Hospital or RollerCoaster Tycoon 2. The biggest market is still enabled through wine, although its creates a lot of problems to run the games. Also, if you are an OpenBSD user only this option is not available for you. Please also note that we didn’t discuss any other emulators besides wine. In OpenBSD and FreeBSD there are many of them for GameBoy, SNES, NeoGeo and other games consoles.</p>
</blockquote>

<hr>

<p>###<a href="https://bwidawsk.net/blog/index.php/2018/11/freebsd-for-thanksgiving/" target="_blank" rel="nofollow noopener">FreeBSD For Thanksgiving</a></p>

<blockquote>
<p>I’ve been working on FreeBSD for Intel for almost 6 months now. In the world of programmers, I am considered an old dog, and these 6 months have been all about learning new tricks. Luckily, I’ve found myself in a remarkably inclusive and receptive community whose patience seems plentiful. As I get ready to take some time off for the holidays, and move into that retrospective time of year, I thought I’d beat the rush a bit and update on the progress<br>
Earlier this year, I decided to move from architect of the Linux graphics driver into a more nebulous role of FreeBSD enabling. I was excited, but also uncertain if I was making the right decision.<br>
Earlier this half, I decided some general work in power management was highly important and began working there. I attended BSDCam (handsome guy on the right), and led a session on Power Management. I was honored to be able to lead this kind of effort.<br>
Earlier this quarter, I put the first round of my patches up for review, implementing suspend-to-idle. I have some rougher patches to handle s0ix support when suspending-to-idle. I gave a talk MeetBSD about our team’s work.<br>
Earlier this month, I noticed that FreeBSD doesn’t have an implementation for Intel Speed Shift (HWPstates), and I started working on that.<br>
Earlier this week, I was promoted from a lowly mentee committer to a full src committer.<br>
Earlier today, I decided to relegate my Linux laptop to the role of my backup machine, and I am writing this from my Dell XPS13 running FreeBSD</p>
</blockquote>

<p><code>vandamme 13.0-CURRENT FreeBSD 13.0-CURRENT #45 881fee072ff(hwp)-dirty: Mon Nov 19 16:19:32 PST 2018 bwidawsk@vandamme:/usr/home/bwidawsk/usr/obj/usr/home/bwidawsk/usr/src/amd64.amd64/sys/DEVMACHINE amd64</code></p>

<blockquote>
<p>6 months later, I feel a lot less uncertain about making the right decision. In fact, I think both opportunities would be great, and I’m thankful this Thanksgiving that this is my life and career. I have more plans and things I want to get done. I’m looking forward to being thankful again next year.</p>
</blockquote>

<hr>

<p>###<a href="https://www.garyshood.com/hammer2-space/" target="_blank" rel="nofollow noopener">hammer2: no space left on device on Dragonfly BSD</a></p>

<ul>
<li>The Issue</li>
</ul>

<blockquote>
<p>hammer2 does not actually delete a file when you rm or unlink it. Since recovery of the file is possible (this is the design of hammer2), there will still be an entry taking up data. It’s similar to how git works.<br>
Even with 75% usage listed here, the filesystem could still have filled up. If you are using it as your root filesystem, then attempts to clean up data may fail. If the kernel panics over this, you will see something like this.</p>
</blockquote>

<ul>
<li>The Fix</li>
</ul>

<blockquote>
<p>If you have a recent enough version of the rescue ramdisk installed, on bootup you can press ‘r’ and access the rescue ramdisk. Your provider will have to offer some sort of remote interface for interacting with the operating system before it boots, like VNC or IPMI. You can then mount your filesystem using:</p>
</blockquote>

<p><code>[root@ ~]# mkdir /tmp/fs</code><br>
<code>[root@ ~]# mount_hammer2 -o local /dev/vbd0s1a /tmp/fs</code></p>

<blockquote>
<p>If you receive an error that /sbin/hammer2 is not found, then your rescue ramdisk is not up to date enough. In that scenario, download the latest 5.2 iso from <a href="http://dragonflybsd.org" target="_blank" rel="nofollow noopener">dragonflybsd.org</a> and boot from the cd-rom on your virtual machine or physical device. Just login as root instead of installer.<br>
If the mount does succeed, then all you have to do is run the following twice:</p>
</blockquote>

<p><code>[root@ ~]# /sbin/hammer2 bulkfree /tmp/fs</code></p>

<blockquote>
<p>If you do not have enough memory on your machine, you may need to mount swap. Add your swap partition to the /etc/fstab and then do:</p>
</blockquote>

<p><code>[root@ ~]# swapon -a</code></p>

<blockquote>
<p>Once you have ran the bulkfree command twice, the usage reported by df -h will be correct. However, there is a chance on reboot that a core dump will be placed in /var/crash/ so be prepared to have plenty of space free in case that happens. You should also delete any files you can and run the bulkfree operation twice afterwards to clear up additional space.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="http://dpaste.com/1S9NMZA" target="_blank" rel="nofollow noopener">BSD Pizza Night - Portland</a></li>
<li><a href="http://dpaste.com/3T0AB7M" target="_blank" rel="nofollow noopener">bsd@35c3: …the place for you…*NIX!</a></li>
<li><a href="http://project-trident.org/download/" target="_blank" rel="nofollow noopener">Project Trident PreRelease Image now available</a></li>
<li><a href="https://dataswamp.org/~solene/2018-11-09-stardew-valley.html" target="_blank" rel="nofollow noopener">Play Stardew Valley on OpenBSD</a></li>
<li><a href="https://github.com/charlesdaniels/gmixerctl" target="_blank" rel="nofollow noopener">GUI Wrapper for OpenBSD mixerctl</a></li>
<li><a href="https://github.com/q5sys/qtv/" target="_blank" rel="nofollow noopener">qtv - QuickTextViewer</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Ron - <a href="http://dpaste.com/16XT6PQ#wrap" target="_blank" rel="nofollow noopener">Ideas for feedback section</a></li>
<li>Paulo - <a href="http://dpaste.com/0BEE730" target="_blank" rel="nofollow noopener">SDIO Firmware</a></li>
<li>Dan - <a href="http://dpaste.com/3Q7DERN#wrap" target="_blank" rel="nofollow noopener">Some fun ZFS questions about labels</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Assembly language on OpenBSD, using bhyve for FreeBSD development, FreeBSD Gaming, FreeBSD for Thanksgiving, no space left on Dragonfly’s hammer2, and more.</p>

<p>##Headlines<br>
###<a href="https://cryogenix.net/OpenBSD_assembly.html" target="_blank" rel="nofollow noopener">Assembly language on OpenBSD amd64+arm64</a></p>

<blockquote>
<p>This is a short introduction to assembly language programming on OpenBSD/amd64+arm64. Because of security features in the kernel, I have had to rethink a series of tutorials covering Aarch64 assembly language on OpenBSD, and therefore this will serve as a placeholder-cum-reminder.</p>
</blockquote>

<blockquote>
<p>OpenBSD, like many UNIX and unix-like operating systems, now uses the Executable and Linkable Format (ELF) for its binary libraries and executables. Although the structure of this format is beyond the scope of this short introduction, it is necessary for me to explain part of one of the headers.</p>
</blockquote>

<blockquote>
<p>Within the program header there are sections known as PT_NOTE that OpenBSD and other systems use to distinguish their ELF executables - OpenBSD looks for this section to check if it should attempt to execute the program or not.</p>
</blockquote>

<ul>
<li>Our first program: in C!</li>
</ul>

<blockquote>
<p>It’s often a good idea to prototype your assembly programs in a high level language such as C - it can then double up as both a set of notes and a working program that you can debug and compile into assembly language to compare with your own asm code.</p>
</blockquote>

<ul>
<li>See the article for the rest on:</li>
<li>Our first program: in x86-64 Asm (AT&amp;T/GAS syntax)</li>
<li>Our first program: in inline x86-64 assembly</li>
<li>Our first program: in x86-64 asm (NASM syntax)</li>
<li>Our first program: in ARMv8 AArch64 assembly</li>
</ul>

<hr>

<p>###<a href="https://bsdjhb.blogspot.com/2018/10/using-bhyve-for-freebsd-development.html" target="_blank" rel="nofollow noopener">Using bhyve for FreeBSD Development</a></p>

<ul>
<li>The Hypervisor</li>
</ul>

<blockquote>
<p>The bhyve hypervisor requires a 64-bit x86 processor with hardware support for virtualization.  This requirement allows for a simple, clean hypervisor implementation, but it does require a fairly recent<br>
processor.  The current hypervisor requires an Intel processor, but there is an active development branch with support for AMD processors.<br>
The hypervisor itself contains both user and kernel components.  The kernel driver is contained in the vmm.ko module and can be loaded either at boot from the boot loader or at runtime.  It must<br>
be loaded before any guests can be created.  When a guest is created, the kernel driver creates a device file in /dev/vmm which is used by the user programs to interact with the guest.<br>
The primary user component is the bhyve(8) program.  It constructs the emulated device tree in the guest and provides the implementation for most of the emulated devices.  It also calls the kernel driver to execute the guest.  Note that the guest always executes inside the driver itself, so guest execution time in the host is counted as system time in the bhyve process.<br>
Currently, bhyve does not provide a system firmware interface to the guest (neither BIOS nor UEFI).  Instead, a user program running on the host is used to perform boot time operations including loading the guest operating system kernel into the guest’s memory and setting the initial guest state so that the guest begins execution at the kernel’s entry point.  For FreeBSD guests, the bhyveload(8) program can be used to load the kernel and prepare the guest for execution.  Support for some other operating systems is available via the grub2-bhyve program which is available via the sysutils/grub2-bhyve port or as a prebuilt package.<br>
The bhyveload(8) program in FreeBSD 10.0 only supports 64-bit guests.  Support for 32-bit guests will be included in FreeBSD 10.1.</p>
</blockquote>

<ul>
<li>
<p>See the article for the very technical breakdown of the following:</p>
</li>
<li>
<p>Network Setup</p>
</li>
<li>
<p>Bridged Configuration</p>
</li>
<li>
<p>Private Network with NAT</p>
</li>
<li>
<p>Using dnsmasq with a Private Network</p>
</li>
<li>
<p>Running Guests via <a href="http://vmrun.sh" target="_blank" rel="nofollow noopener">vmrun.sh</a></p>
</li>
<li>
<p>Configuring Guests</p>
</li>
<li>
<p>Using a bhyve Guest as a Target</p>
</li>
<li>
<p>Conclusion</p>
</li>
</ul>

<blockquote>
<p>The bhyve hypervisor is a nice addition to a FreeBSD developer’s toolbox.  Guests can be used both to develop new features and to test merges to stable branches.  The hypervisor has a wide variety of uses beyond developing FreeBSD as well.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://oshogbo.vexillium.org/blog/58/" target="_blank" rel="nofollow noopener">Games on FreeBSD</a></p>

<blockquote>
<p>What do all programmers like to do after work? Ok, what do most programers like to do after work? The answer is simple: play a good game! Recently at the Polish BSD User Group meetup mulander was telling us how you can play games on OpenBSD. Today let’s discuss how this looks in the FreeBSD world using the “server only” operating system.</p>
</blockquote>

<ul>
<li>XNA based games</li>
</ul>

<blockquote>
<p>One of the ways of playing natively is to play indie games which use XNA. XNA is a framework from Microsoft which uses .NET, for creating games. Fortunately, in the BSD world we have Mono, an open source implementation of Microsoft’s .NET Framework which you can use to run games. There is also FNA framework which is a reimplementation of XNA which allows you to run the games under Linux. Thomas Frohwein, from OpenBSD, prepared a script, fnaify. Fnaify translate all dependencies used by an FNA game to OpenBSD dependencies.<br>
I decided to port the script to FreeBSD. The script is using /bin/sh which in the case of OpenBSD is a Korn Shell.</p>
</blockquote>

<blockquote>
<p>I didn’t test it with many games, but I don’t see any reason why it shouldn’t work with all the games tested by the OpenBSD guys. For example, with:</p>
</blockquote>

<ul>
<li>
<p>Cryptark</p>
</li>
<li>
<p>Rouge Legacy</p>
</li>
<li>
<p>Apotheon</p>
</li>
<li>
<p>Escape Goat</p>
</li>
<li>
<p>Bastion</p>
</li>
<li>
<p>CrossCode</p>
</li>
<li>
<p>Atom Zombie Smasher</p>
</li>
<li>
<p>Open-Source games</p>
</li>
</ul>

<blockquote>
<p>In FreeBSD and OpenBSD we also will find popular games which were open sourced. For example, I spend a lot of time playing in Quake 3 Arena on my FreeBSD machine. You can very simply install it using pkg: <code># pkg install ioquake3</code></p>
</blockquote>

<blockquote>
<p>Then move the files for the skins and maps to the .ioquake3 directory from your copy of Quake. In the past I also played UrbanTerror which is a fully open source shooter based on the Quake 3 Arena engine. It’s is also very easy to install it from ports: <code># pkg install iourbanterror</code></p>
</blockquote>

<blockquote>
<p>In the ports tree in the games directory you can find over 1000 directories, many of them with fully implemented games. I didn’t test many games in this category, but you can find some interesting titles like:</p>
</blockquote>

<ul>
<li>openxcom (Open-source re-implementation of the original X-Com)</li>
<li>openjazz (Free re-implementation of the Jazz Jackrabbit™ game engine)</li>
<li>corsixth (Open source re-implementation of Theme Hospital)</li>
<li>quake2</li>
<li>openra (Red Alert)</li>
<li>openrct2 (Open source re-implementation of RollerCoaster Tycoon 2)</li>
<li>openmw (Open source engine reimplementation of the game Morrowind)</li>
</ul>

<blockquote>
<p>All those titles are simply installed through the packages. In that case I don’t think FreeBSD has any difference from OpenBSD.</p>
</blockquote>

<ul>
<li>Wine</li>
</ul>

<blockquote>
<p>One of the big advantages of FreeBSD over OpenBSD is that FreeBSD supports wine. Wine allows you to run Windows applications under other operating systems (including mac). If you are a FreeBSD 11 user, you can simply fetch wine from packages: <code># pkg install i386-wine</code></p>
</blockquote>

<blockquote>
<p>To run Windows games, you need to have a 32-bit wine because most of the games on Windows are built on 32-bits (maybe this has changed – I don’t play so much these days). In my case, because I run FreeBSD-CURRENT I needed to build wine from ports. It wasn’t nice, but it also wasn’t unpleasant. The whole step-by-step building process of a wine from ports can be found here.</p>
</blockquote>

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

<blockquote>
<p>As you can see there are many titles available for *BSDs. Thanks to the FNA and fnaify, OpenBSD and FreeBSD can work with indie games which use the XNA framework. There are many interesting games implemented using this framework. Open source is not only for big server machines, and there are many re-implementations of popular games like Theme Hospital or RollerCoaster Tycoon 2. The biggest market is still enabled through wine, although its creates a lot of problems to run the games. Also, if you are an OpenBSD user only this option is not available for you. Please also note that we didn’t discuss any other emulators besides wine. In OpenBSD and FreeBSD there are many of them for GameBoy, SNES, NeoGeo and other games consoles.</p>
</blockquote>

<hr>

<p>###<a href="https://bwidawsk.net/blog/index.php/2018/11/freebsd-for-thanksgiving/" target="_blank" rel="nofollow noopener">FreeBSD For Thanksgiving</a></p>

<blockquote>
<p>I’ve been working on FreeBSD for Intel for almost 6 months now. In the world of programmers, I am considered an old dog, and these 6 months have been all about learning new tricks. Luckily, I’ve found myself in a remarkably inclusive and receptive community whose patience seems plentiful. As I get ready to take some time off for the holidays, and move into that retrospective time of year, I thought I’d beat the rush a bit and update on the progress<br>
Earlier this year, I decided to move from architect of the Linux graphics driver into a more nebulous role of FreeBSD enabling. I was excited, but also uncertain if I was making the right decision.<br>
Earlier this half, I decided some general work in power management was highly important and began working there. I attended BSDCam (handsome guy on the right), and led a session on Power Management. I was honored to be able to lead this kind of effort.<br>
Earlier this quarter, I put the first round of my patches up for review, implementing suspend-to-idle. I have some rougher patches to handle s0ix support when suspending-to-idle. I gave a talk MeetBSD about our team’s work.<br>
Earlier this month, I noticed that FreeBSD doesn’t have an implementation for Intel Speed Shift (HWPstates), and I started working on that.<br>
Earlier this week, I was promoted from a lowly mentee committer to a full src committer.<br>
Earlier today, I decided to relegate my Linux laptop to the role of my backup machine, and I am writing this from my Dell XPS13 running FreeBSD</p>
</blockquote>

<p><code>vandamme 13.0-CURRENT FreeBSD 13.0-CURRENT #45 881fee072ff(hwp)-dirty: Mon Nov 19 16:19:32 PST 2018 bwidawsk@vandamme:/usr/home/bwidawsk/usr/obj/usr/home/bwidawsk/usr/src/amd64.amd64/sys/DEVMACHINE amd64</code></p>

<blockquote>
<p>6 months later, I feel a lot less uncertain about making the right decision. In fact, I think both opportunities would be great, and I’m thankful this Thanksgiving that this is my life and career. I have more plans and things I want to get done. I’m looking forward to being thankful again next year.</p>
</blockquote>

<hr>

<p>###<a href="https://www.garyshood.com/hammer2-space/" target="_blank" rel="nofollow noopener">hammer2: no space left on device on Dragonfly BSD</a></p>

<ul>
<li>The Issue</li>
</ul>

<blockquote>
<p>hammer2 does not actually delete a file when you rm or unlink it. Since recovery of the file is possible (this is the design of hammer2), there will still be an entry taking up data. It’s similar to how git works.<br>
Even with 75% usage listed here, the filesystem could still have filled up. If you are using it as your root filesystem, then attempts to clean up data may fail. If the kernel panics over this, you will see something like this.</p>
</blockquote>

<ul>
<li>The Fix</li>
</ul>

<blockquote>
<p>If you have a recent enough version of the rescue ramdisk installed, on bootup you can press ‘r’ and access the rescue ramdisk. Your provider will have to offer some sort of remote interface for interacting with the operating system before it boots, like VNC or IPMI. You can then mount your filesystem using:</p>
</blockquote>

<p><code>[root@ ~]# mkdir /tmp/fs</code><br>
<code>[root@ ~]# mount_hammer2 -o local /dev/vbd0s1a /tmp/fs</code></p>

<blockquote>
<p>If you receive an error that /sbin/hammer2 is not found, then your rescue ramdisk is not up to date enough. In that scenario, download the latest 5.2 iso from <a href="http://dragonflybsd.org" target="_blank" rel="nofollow noopener">dragonflybsd.org</a> and boot from the cd-rom on your virtual machine or physical device. Just login as root instead of installer.<br>
If the mount does succeed, then all you have to do is run the following twice:</p>
</blockquote>

<p><code>[root@ ~]# /sbin/hammer2 bulkfree /tmp/fs</code></p>

<blockquote>
<p>If you do not have enough memory on your machine, you may need to mount swap. Add your swap partition to the /etc/fstab and then do:</p>
</blockquote>

<p><code>[root@ ~]# swapon -a</code></p>

<blockquote>
<p>Once you have ran the bulkfree command twice, the usage reported by df -h will be correct. However, there is a chance on reboot that a core dump will be placed in /var/crash/ so be prepared to have plenty of space free in case that happens. You should also delete any files you can and run the bulkfree operation twice afterwards to clear up additional space.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="http://dpaste.com/1S9NMZA" target="_blank" rel="nofollow noopener">BSD Pizza Night - Portland</a></li>
<li><a href="http://dpaste.com/3T0AB7M" target="_blank" rel="nofollow noopener">bsd@35c3: …the place for you…*NIX!</a></li>
<li><a href="http://project-trident.org/download/" target="_blank" rel="nofollow noopener">Project Trident PreRelease Image now available</a></li>
<li><a href="https://dataswamp.org/~solene/2018-11-09-stardew-valley.html" target="_blank" rel="nofollow noopener">Play Stardew Valley on OpenBSD</a></li>
<li><a href="https://github.com/charlesdaniels/gmixerctl" target="_blank" rel="nofollow noopener">GUI Wrapper for OpenBSD mixerctl</a></li>
<li><a href="https://github.com/q5sys/qtv/" target="_blank" rel="nofollow noopener">qtv - QuickTextViewer</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Ron - <a href="http://dpaste.com/16XT6PQ#wrap" target="_blank" rel="nofollow noopener">Ideas for feedback section</a></li>
<li>Paulo - <a href="http://dpaste.com/0BEE730" target="_blank" rel="nofollow noopener">SDIO Firmware</a></li>
<li>Dan - <a href="http://dpaste.com/3Q7DERN#wrap" target="_blank" rel="nofollow noopener">Some fun ZFS questions about labels</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 273: A Thoughtful Episode | BSD Now 273</title>
  <link>https://www.bsdnow.tv/273</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2927</guid>
  <pubDate>Fri, 23 Nov 2018 02:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/19a116b3-098d-40a2-bf74-28c99f8023e1.mp3" length="44912747" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Thoughts on NetBSD 8.0, Monitoring love for a GigaBit OpenBSD firewall, cat’s source history, X.org root permission bug, thoughts on OpenBSD as a desktop, and NomadBSD review.</itunes:subtitle>
  <itunes:duration>1:14:32</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>&lt;p&gt;Thoughts on NetBSD 8.0, Monitoring love for a GigaBit OpenBSD firewall, cat’s source history, X.org root permission bug, thoughts on OpenBSD as a desktop, and NomadBSD review.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://distrowatch.com/weekly.php?issue=20181119#netbsd" target="_blank" rel="nofollow noopener"&gt;Some thoughts on NetBSD 8.0&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;NetBSD is a highly portable operating system which can be run on dozens of different hardware architectures. The operating system’s clean and minimal design allow it to be run in all sorts of environments, ranging from embedded devices, to servers, to workstations. While the base operating system is minimal, NetBSD users have access to a large repository of binary packages and a ports tree which I will touch upon later.&lt;br&gt;
I last tried NetBSD 7.0 about three years ago and decided it was time to test drive the operating system again. In the past three years NetBSD has introduced a few new features, many of them security enhancements. For example, NetBSD now supports write exclusive-or execute (W^X) protection and address space layout randomization (ASLR) to protect programs against common attacks. NetBSD 8.0 also includes USB3 support and the ability to work with ZFS storage volumes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Early impressions&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Since I had set up NetBSD with a Full install and enabled xdm during the setup process, the operating system booted to a graphical login screen. From here we can sign into our account. The login screen does not provide options to shut down or restart the computer. Logging into our account brings up the twm window manager and provides a virtual terminal, courtesy of xterm. There is a panel that provides a method for logging out of the window manager. The twm environment is sparse, fast and devoid of distractions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Software management&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;NetBSD ships with a fairly standard collection of command line tools and manual pages, but otherwise it is a fairly minimal platform. If we want to run network services, have access to a web browser, or use a word processor we are going to need to install more software. There are two main approaches to installing new packages. The first, and easier approach, is to use the pkgin package manager. The pkgin utility works much the same way APT or DNF work in the Linux world, or as pkg works on FreeBSD. We can search for software by name, install or remove items. I found pkgin worked well, though its output can be terse. My only complaint with pkgin is that it does not handle “close enough” package names. For example, if I tried to run “pkgin install vlc” or “pkgin install firefox” I would quickly be told these items did not exist. But a more forgiving package manager will realize items like vlc2 or firefox45 are available and offer to install those.&lt;br&gt;
The pkgin tool installs new programs in the /usr/pkg/bin directory. Depending on your configuration and shell, this location may not be in your user’s path, and it will be helpful to adjust your PATH variable accordingly.&lt;br&gt;
The other common approach to acquiring new software is to use the pkgsrc framework. I have talked about using pkgsrc before and I will skip the details. Basically, we can download a collection of recipes for building popular open source software and run a command to download and install these items from their source code. Using pkgsrc basically gives us the same software as using pkgin would, but with some added flexibility on the options we use.&lt;br&gt;
Once new software has been installed, it may need to be enabled and activated, particularly if it uses (or is) a background service. New items can be enabled in the /etc/rc.conf file and started or stopped using the service command. This works about the same as the service command on FreeBSD and most non-systemd Linux distributions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Hardware&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I found that, when logged into the twm environment, NetBSD used about 130MB of RAM. This included kernel memory and all active memory. A fresh, Full install used up 1.5GB of disk space. I generally found NetBSD ran well in both VirtualBox and on my desktop computer. The system was quick and stable. I did have trouble getting a higher screen resolution in both environments. NetBSD does not offer VirtualBox add-on modules. There are NetBSD patches for VirtualBox out there, but there is some manual work involved in getting them working. When running on my desktop computer I think the resolution issue was one of finding and dealing with the correct video driver. Screen resolution aside, NetBSD performed well and detected all my hardware.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Personal projects&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Since NetBSD provides users with a small, core operating system without many utilities if we want to use NetBSD for something we need to have a project in mind. I had four mini projects in mind I wanted to try this week: install a desktop environment, enable file sharing for computers on the local network, test multimedia (video, audio and YouTube capabilities), and set up a ZFS volume for storage.&lt;br&gt;
I began with the desktop. Specifically, I followed the same tutorial I used three years ago to try to set up the Xfce desktop. While Xfce and its supporting services installed, I was unable to get a working desktop out of the experience. I could get the Xfce window manager working, but not the entire session. This tutorial worked beautifully with NetBSD 7.0, but not with version 8.0. Undeterred, I switched gears and installed Fluxbox instead. This gave me a slightly more powerful graphical environment than what I had before with twm while maintaining performance. Fluxbox ran without any problems, though its application menu was automatically populated with many programs which were not actually installed.&lt;br&gt;
Next, I tried installing a few multimedia applications to play audio and video files. Here I ran into a couple of interesting problems. I found the music players I installed would play audio files, but the audio was quite slow. It always sounded like a cassette tape dragging. When I tried to play a video, the entire graphical session would crash, taking me back to the login screen. When I installed Firefox, I found I could play YouTube videos, and the video played smoothly, but again the audio was unusually slow.&lt;br&gt;
I set up two methods of sharing files on the local network: OpenSSH and FTP. NetBSD basically gives us OpenSSH for free at install time and I added an FTP server through the pkgin package manager which worked beautifully with its default configuration.&lt;br&gt;
I experimented with ZFS support a little, just enough to confirm I could create and access ZFS volumes. ZFS seems to work on NetBSD just as well, and with the same basic features, as it does on FreeBSD and mainstream Linux distributions. I think this is a good feature for the portable operating system to have since it means we can stick NetBSD on nearly any networked computer and use it as a NAS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusions&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;NetBSD, like its close cousins (FreeBSD and OpenBSD) does not do a lot of hand holding or automation. It offers a foundation that will run on most CPUs and we can choose to build on that foundation. I mention this because, on its own, NetBSD does not do much. If we want to get something out of it, we need to be willing to build on its foundation - we need a project. This is important to keep in mind as I think going into NetBSD and thinking, “Oh I’ll just explore around and expand on this as I go,” will likely lead to disappointment. I recommend figuring out what you want to do before installing NetBSD and making sure the required tools are available in the operating system’s repositories.&lt;br&gt;
Some of the projects I embarked on this week (using ZFS and setting up file sharing) worked well. Others, like getting multimedia support and a full-featured desktop, did not. Given more time, I’m sure I could find a suitable desktop to install (along with the required documentation to get it and its services running), or customize one based on one of the available window managers. However, any full featured desktop is going to require some manual work. Media support was not great. The right players and codecs were there, but I was not able to get audio to play smoothly.&lt;br&gt;
My main complaint with NetBSD relates to my struggle to get some features working to my satisfaction: the documentation is scattered. There are four different sections of the project’s website for documentation (FAQs, The Guide, manual pages and the wiki). Whatever we are looking for is likely to be in one of those, but which one? Or, just as likely, the tutorial we want is not there, but is on a forum or blog somewhere. I found that the documentation provided was often thin, more of a quick reference to remind people how something works rather than a full explanation.&lt;br&gt;
As an example, I found a couple of documents relating to setting up a firewall. One dealt with networking NetBSD on a LAN, another explored IPv6 support, but neither gave an overview on syntax or a basic guide to blocking all but one or two ports. It seemed like that information should already be known, or picked up elsewhere.&lt;br&gt;
Newcomers are likely to be a bit confused by software management guides for the same reason. Some pages refer to using a tool called pkg_add, others use pkgsrc and its make utility, others mention pkgin. Ultimately, these tools each give approximately the same result, but work differently and yet are mentioned almost interchangeably. I have used NetBSD before a few times and could stumble through these guides, but new users are likely to come away confused.&lt;br&gt;
One quirk of NetBSD, which may be a security feature or an inconvenience, depending on one’s point of view, is super user programs are not included in regular users’ paths. This means we need to change our path if we want to be able to run programs typically used by root. For example, shutdown and mount are not in regular users’ paths by default. This made checking some things tricky for me.&lt;br&gt;
Ultimately though, NetBSD is not famous for its convenience or features so much as its flexibility. The operating system will run on virtually any processor and should work almost identically across multiple platforms. That gives NetBSD users a good deal of consistency across a range of hardware and the chance to experiment with a member of the Unix family on hardware that might not be compatible with Linux or the other BSDs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://tech.mangot.com/blog/2018/11/08/showing-a-gigabit-openbsd-firewall-some-monitoring-love/" target="_blank" rel="nofollow noopener"&gt;Showing a Gigabit OpenBSD Firewall Some Monitoring Love&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I have a pretty long history of running my home servers or firewalls on “exotic” hardware. At first, it was Sun Microsystem hardware, then it moved to the excellent Soekris line, with some cool single board computers thrown in the mix. Recently I’ve been running OpenBSD Octeon on the Ubiquiti Edge Router Lite, an amazing little piece of kit at an amazing price point.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Upgrade Time!&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This setup has served me for some time and I’ve been extremely happy with it. But, in the #firstworldproblems category, I recently upgraded the household to the amazing Gigabit fibre offering from Sonic. A great problem to have, but also too much of a problem for the little Edge Router Lite (ERL).&lt;br&gt;
The way the OpenBSD PF firewall works, it’s only able to process packets on a single core. Not a problem for the dual-core 500 MHz ERL when you’re pushing under ~200 Mbps, but more of a problem when you’re trying to push 1000 Mbps.&lt;br&gt;
I needed something that was faster on a per core basis but still satisfied my usual firewall requirements. Loosely:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;small form factor&lt;/li&gt;
&lt;li&gt;fan-less&lt;/li&gt;
&lt;li&gt;multiple Intel Ethernet ports (good driver support)&lt;/li&gt;
&lt;li&gt;low power consumption&lt;/li&gt;
&lt;li&gt;not your regular off-the-shelf kit&lt;/li&gt;
&lt;li&gt;relatively inexpensive&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After evaluating a LOT of different options I settled on the Protectli Vault FW2B. With the specs required for the firewall (2 GB RAM and 8 GB drive) it comes in at a mere $239 USD! Installation of OpenBSD 6.4 was pretty straight forward, with the only problem I had was Etcher did not want to recognize the ‘.fs’ extension on the install image as bootable image. I quickly fixed this with good old Unix dd(1) on the Mac. Everything else was incredibly smooth.&lt;br&gt;
After loading the same rulesets on my new install, the results were fantastic!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Now that the machine was up and running (and fast!), I wanted to know what it was doing. Over the years, I’ve always relied on the venerable pfstat software to give me an overview of my traffic, blocked packets, etc. It looks like this:&lt;br&gt;
As you can see it’s based on RRDtool, which was simply incredible in its time. Having worked on monitoring almost continuously for almost the past decade, I wanted to see if we could re-implement the same functionality using more modern tools as RRDtool and pfstat definitely have their limitations. This might be an opportunity to learn some new things as well.&lt;br&gt;
I came across pf-graphite which seemed to be a great start! He had everything I needed and I added a few more stats from the detailed interface statistics and the ability for the code to exit for running from cron(8), which is a bit more OpenBSD style. I added code for sending to some SaaS metrics platforms but ultimately stuck with straight Graphite. One important thing to note was to use the Graphite pickle port (2004) instead of the default plaintext port for submission. Also you will need to set a loginterface in your ‘pf.conf’.&lt;br&gt;
A bit of tweaking with Graphite and Grafana, and I had a pretty darn good recreation of my original PF stats dashboard!&lt;br&gt;
As you can see it’s based on RRDtool, which was simply incredible in its time. Having worked on monitoring almost continuously for almost the past decade, I wanted to see if we could re-implement the same functionality using more modern tools as RRDtool and pfstat definitely have their limitations. This might be an opportunity to learn some new things as well.&lt;br&gt;
I came across pf-graphite which seemed to be a great start! He had everything I needed and I added a few more stats from the detailed interface statistics and the ability for the code to exit for running from cron(8), which is a bit more OpenBSD style. I added code for sending to some SaaS metrics platforms but ultimately stuck with straight Graphite. One important thing to note was to use the Graphite pickle port (2004) instead of the default plaintext port for submission. Also you will need to set a loginterface in your ‘pf.conf’.&lt;br&gt;
A bit of tweaking with Graphite and Grafana, and I had a pretty darn good recreation of my original PF stats dashboard!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;###&lt;a href="https://twobithistory.org/2018/11/12/cat.html" target="_blank" rel="nofollow noopener"&gt;The Source History of Cat&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I once had a debate with members of my extended family about whether a computer science degree is a degree worth pursuing. I was in college at the time and trying to decide whether I should major in computer science. My aunt and a cousin of mine believed that I shouldn’t. They conceded that knowing how to program is of course a useful and lucrative thing, but they argued that the field of computer science advances so quickly that everything I learned would almost immediately be outdated. Better to pick up programming on the side and instead major in a field like economics or physics where the basic principles would be applicable throughout my lifetime.&lt;br&gt;
I knew that my aunt and cousin were wrong and decided to major in computer science. (Sorry, aunt and cousin!) It is easy to see why the average person might believe that a field like computer science, or a profession like software engineering, completely reinvents itself every few years. We had personal computers, then the web, then phones, then machine learning… technology is always changing, so surely all the underlying principles and techniques change too. Of course, the amazing thing is how little actually changes. Most people, I’m sure, would be stunned to know just how old some of the important software on their computer really is. I’m not talking about flashy application software, admittedly—my copy of Firefox, the program I probably use the most on my computer, is not even two weeks old. But, if you pull up the manual page for something like grep, you will see that it has not been updated since 2010 (at least on MacOS). And the original version of grep was written in 1974, which in the computing world was back when dinosaurs roamed Silicon Valley. People (and programs) still depend on grep every day.&lt;br&gt;
My aunt and cousin thought of computer technology as a series of increasingly elaborate sand castles supplanting one another after each high tide clears the beach. The reality, at least in many areas, is that we steadily accumulate programs that have solved problems. We might have to occasionally modify these programs to avoid software rot, but otherwise they can be left alone.  grep is a simple program that solves a still-relevant problem, so it survives. Most application programming is done at a very high level, atop a pyramid of much older code solving much older problems. The ideas and concepts of 30 or 40 years ago, far from being obsolete today, have in many cases been embodied in software that you can still find installed on your laptop.&lt;br&gt;
I thought it would be interesting to take a look at one such old program and see how much it had changed since it was first written. cat is maybe the simplest of all the Unix utilities, so I’m going to use it as my example. Ken Thompson wrote the original implementation of cat in 1969. If I were to tell somebody that I have a program on my computer from 1969, would that be accurate? How much has cat really evolved over the decades? How old is the software on our computers?&lt;br&gt;
Thanks to repositories like this one, we can see exactly how cat has evolved since 1969. I’m going to focus on implementations of cat that are ancestors of the implementation I have on my Macbook. You will see, as we trace cat from the first versions of Unix down to the cat in MacOS today, that the program has been rewritten more times than you might expect—but it ultimately works more or less the same way it did fifty years ago.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Research Unix&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Ken Thompson and Dennis Ritchie began writing Unix on a PDP 7. This was in 1969, before C, so all of the early Unix software was written in PDP 7 assembly. The exact flavor of assembly they used was unique to Unix, since Ken Thompson wrote his own assembler that added some features on top of the assembler provided by DEC, the PDP 7’s manufacturer. Thompson’s changes are all documented in the original Unix Programmer’s Manual under the entry for as, the assembler.&lt;br&gt;
The first implementation of cat is thus in PDP 7 assembly. I’ve added comments that try to explain what each instruction is doing, but the program is still difficult to follow unless you understand some of the extensions Thompson made while writing his assembler. There are two important ones. First, the ; character can be used to separate multiple statements on the same line. It appears that this was used most often to put system call arguments on the same line as the sys instruction. Second, Thompson added support for “temporary labels” using the digits 0 through 9. These are labels that can be reused throughout a program, thus being, according to the Unix Programmer’s Manual, “less taxing both on the imagination of the programmer and on the symbol space of the assembler.” From any given instruction, you can refer to the next or most recent temporary label n using nf and nb respectively. For example, if you have some code in a block labeled 1:, you can jump back to that block from further down by using the instruction jmp 1b. (But you cannot jump forward to that block from above without using jmp 1f instead.)&lt;br&gt;
The most interesting thing about this first version of cat is that it contains two names we should recognize. There is a block of instructions labeled getc and a block of instructions labeled putc, demonstrating that these names are older than the C standard library. The first version of cat actually contained implementations of both functions. The implementations buffered input so that reads and writes were not done a character at a time.&lt;br&gt;
The first version of cat did not last long. Ken Thompson and Dennis Ritchie were able to persuade Bell Labs to buy them a PDP 11 so that they could continue to expand and improve Unix. The PDP 11 had a different instruction set, so cat had to be rewritten. I’ve marked up this second version of cat with comments as well. It uses new assembler mnemonics for the new instruction set and takes advantage of the PDP 11’s various addressing modes. (If you are confused by the parentheses and dollar signs in the source code, those are used to indicate different addressing modes.) But it also leverages the  ; character and temporary labels just like the first version of cat, meaning that these features must have been retained when as was adapted for the PDP 11.&lt;br&gt;
The second version of cat is significantly simpler than the first. It is also more “Unix-y” in that it doesn’t just expect a list of filename arguments—it will, when given no arguments, read from stdin, which is what cat still does today. You can also give this version of cat an argument of - to indicate that it should read from stdin.&lt;br&gt;
In 1973, in preparation for the release of the Fourth Edition of Unix, much of Unix was rewritten in C. But cat does not seem to have been rewritten in C until a while after that. The first C implementation of cat only shows up in the Seventh Edition of Unix. This implementation is really fun to look through because it is so simple. Of all the implementations to follow, this one most resembles the idealized cat used as a pedagogic demonstration in K&amp;amp;R C. The heart of the program is the classic two-liner:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;while ((c = getc(fi)) != EOF)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;putchar(c);&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There is of course quite a bit more code than that, but the extra code is mostly there to ensure that you aren’t reading and writing to the same file. The other interesting thing to note is that this implementation of cat only recognized one flag, -u. The -u flag could be used to avoid buffering input and output, which cat would otherwise do in blocks of 512 bytes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;BSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After the Seventh Edition, Unix spawned all sorts of derivatives and offshoots. MacOS is built on top of Darwin, which in turn is derived from the Berkeley Software Distribution (BSD), so BSD is the Unix offshoot we are most interested in. BSD was originally just a collection of useful programs and add-ons for Unix, but it eventually became a complete operating system. BSD seems to have relied on the original cat implementation up until the fourth BSD release, known as 4BSD, when support was added for a whole slew of new flags. The 4BSD implementation of cat is clearly derived from the original implementation, though it adds a new function to implement the behavior triggered by the new flags. The naming conventions already used in the file were adhered to—the fflg variable, used to mark whether input was being read from stdin or a file, was joined by nflg, bflg, vflg, sflg, eflg, and  tflg, all there to record whether or not each new flag was supplied in the invocation of the program. These were the last command-line flags added to  cat; the man page for cat today lists these flags and no others, at least on Mac OS. 4BSD was released in 1980, so this set of flags is 38 years old.&lt;br&gt;
cat would be entirely rewritten a final time for BSD Net/2, which was, among other things, an attempt to avoid licensing issues by replacing all AT&amp;amp;T Unix-derived code with new code. BSD Net/2 was released in 1991. This final rewrite of cat was done by Kevin Fall, who graduated from Berkeley in 1988 and spent the next year working as a staff member at the Computer Systems Research Group (CSRG). Fall told me that a list of Unix utilities still implemented using AT&amp;amp;T code was put up on a wall at CSRG and staff were told to pick the utilities they wanted to reimplement. Fall picked cat and  mknod. The cat implementation bundled with MacOS today is built from a source file that still bears his name at the very top. His version of cat, even though it is a relatively trivial program, is today used by millions.&lt;br&gt;
Fall’s original implementation of cat is much longer than anything we have seen so far. Other than support for a -? help flag, it adds nothing in the way of new functionality. Conceptually, it is very similar to the 4BSD implementation. It is only longer because Fall separates the implementation into a “raw” mode and a “cooked” mode. The “raw” mode is cat classic; it prints a file character for character. The “cooked” mode is cat with all the 4BSD command-line options. The distinction makes sense but it also pads out the implementation so that it seems more complex at first glance than it actually is. There is also a fancy error handling function at the end of the file that further adds to its length.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;MacOS&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The very first release of Mac OS X thus includes an implementation of cat pulled from the NetBSD project. So the first Mac OS X implementation of cat is Kevin Fall’s cat. The only thing that had changed over the intervening decade was that Fall’s error-handling function err() was removed and the err() function made available by err.h was used in its place. err.h is a BSD extension to the C standard library.&lt;br&gt;
The NetBSD implementation of cat was later swapped out for FreeBSD’s implementation of cat. According to Wikipedia, Apple began using FreeBSD instead of NetBSD in Mac OS X 10.3 (Panther). But the Mac OS X implementation of cat, according to Apple’s own open source releases, was not replaced until Mac OS X 10.5 (Leopard) was released in 2007. The FreeBSD implementation that Apple swapped in for the Leopard release is the same implementation on Apple computers today. As of 2018, the implementation has not been updated or changed at all since 2007.&lt;br&gt;
So the Mac OS cat is old. As it happens, it is actually two years older than its 2007 appearance in MacOS X would suggest. This 2005 change, which is visible in FreeBSD’s Github mirror, was the last change made to FreeBSD’s cat before Apple pulled it into Mac OS X. So the Mac OS X cat implementation, which has not been kept in sync with FreeBSD’s cat implementation, is officially 13 years old. There’s a larger debate to be had about how much software can change before it really counts as the same software; in this case, the source file has not changed at all since 2005.&lt;br&gt;
The cat implementation used by Mac OS today is not that different from the implementation that Fall wrote for the 1991 BSD Net/2 release. The biggest difference is that a whole new function was added to provide Unix domain socket support. At some point, a FreeBSD developer also seems to have decided that Fall’s raw_args() function and cook_args() should be combined into a single function called scanfiles(). Otherwise, the heart of the program is still Fall’s code.&lt;br&gt;
I asked Fall how he felt about having written the cat implementation now used by millions of Apple users, either directly or indirectly through some program that relies on cat being present. Fall, who is now a consultant and a co-author of the most recent editions of TCP/IP Illustrated, says that he is surprised when people get such a thrill out of learning about his work on cat. Fall has had a long career in computing and has worked on many high-profile projects, but it seems that many people still get most excited about the six months of work he put into rewriting cat in 1989.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Hundred-Year-Old Program&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In the grand scheme of things, computers are not an old invention. We’re used to hundred-year-old photographs or even hundred-year-old camera footage. But computer programs are in a different category—they’re high-tech and new. At least, they are now. As the computing industry matures, will we someday find ourselves using programs that approach the hundred-year-old mark?&lt;br&gt;
Computer hardware will presumably change enough that we won’t be able to take an executable compiled today and run it on hardware a century from now. Perhaps advances in programming language design will also mean that nobody will understand C in the future and cat will have long since been rewritten in another language. (Though C has already been around for fifty years, and it doesn’t look like it is about to be replaced any time soon.) But barring all that, why not just keep using the cat we have forever?&lt;br&gt;
I think the history of cat shows that some ideas in computer science are in fact very durable. Indeed, with cat, both the idea and the program itself are old. It may not be accurate to say that the cat on my computer is from 1969. But I could make a case for saying that the cat on my computer is from 1989, when Fall wrote his implementation of cat. Lots of other software is just as ancient. So maybe we shouldn’t think of computer science and software development primarily as fields that disrupt the status quo and invent new things. Our computer systems are built out of historical artifacts. At some point, we may all spend more time trying to understand and maintain those historical artifacts than we spend writing new code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://www.bleepingcomputer.com/news/security/trivial-bug-in-xorg-gives-root-permission-on-linux-and-bsd-systems/" target="_blank" rel="nofollow noopener"&gt;Trivial Bug in X.Org Gives Root Permission on Linux and BSD Systems&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A vulnerability that is trivial to exploit allows privilege escalation to root level on Linux and BSD distributions using &lt;a href="http://X.Org" target="_blank" rel="nofollow noopener"&gt;X.Org&lt;/a&gt; server, the open source implementation of the X Window System that offers the graphical environment.&lt;br&gt;
The flaw is now identified as CVE-2018-14665 (credited to security researcher Narendra Shinde). It has been present in xorg-server for two years, since version 1.19.0 and is exploitable by a limited user as long as the X server runs with elevated permissions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Privilege escalation and arbitrary file overwrite&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;An advisory on Thursday describes the problem as an “incorrect command-line parameter validation” that also allows an attacker to overwrite arbitrary files.&lt;br&gt;
Privilege escalation can be accomplished via the -modulepath argument by setting an insecure path to modules loaded by the &lt;a href="http://X.org" target="_blank" rel="nofollow noopener"&gt;X.org&lt;/a&gt; server. Arbitrary file overwrite is possible through the -logfile argument, because of improper verification when parsing the option.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Bug could have been avoided in OpenBSD 6.4&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenBSD, the free and open-source operating system with a strong focus on security, uses xorg. On October 18, the project released version 6.4 of the OS, affected by CVE-2018-14665. This could have been avoided, though.&lt;br&gt;
Theo de Raadt, founder and leader of the OpenBSD project, says that X maintainer knew about the problem since at least October 11. For some reason, the OpenBSD developers received the message one hour before the public announcement this Thursday, a week after their new OS release.&lt;br&gt;
“As yet we don’t have answers about why our X maintainer (on the X security team) and his team provided information to other projects (some who don’t even ship with this new X server) but chose to not give us a heads-up which could have saved all the new 6.4 users a lot of grief,” Raadt says.&lt;br&gt;
Had OpenBSD developers known about the bug before the release, they could have taken steps to mitigate the problem or delay the launch for a week or two.&lt;br&gt;
To remedy the problem, the OpenBSD project provides a source code patch, which requires compiling and rebuilding the X server.&lt;br&gt;
As a temporary solution, users can disable the Xorg binary by running the following command:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;chmod u-s /usr/X11R6/bin/Xorg&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Trivial exploitation&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;CVE-2018-14665 does not help compromise systems, but it is useful in the following stages of an attack.&lt;br&gt;
Leveraging it after gaining access to a vulnerable machine is fairly easy. Matthew Hickey, co-founder, and head of Hacker House security outfit created and published an exploit, saying that it can be triggered from a remote SSH session.&lt;br&gt;
Three hours after the public announcement of the security gap, Daemon Security CEO Michael Shirk replied with one line that overwrote shadow files on the system. Hickey did one better and fit the entire local privilege escalation exploit in one line.&lt;br&gt;
Apart from OpenBSD, other operating systems affected by the bug include Debian and Ubuntu, Fedora and its downstream distro  Red Hat Enterprise Linux along with its community-supported counterpart CentOS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://blog.gsora.xyz/openbsd-on-the-desktop-some-thoughts/" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the Desktop: some thoughts&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve been using OpenBSD on my ThinkPad X230 for some weeks now, and the experience has been peculiar in some ways.&lt;br&gt;
The OS itself in my opinion is not ready for widespread desktop usage, and the development team is not trying to push it in the throat of anybody who wants a Windows or macOS alternative.&lt;br&gt;
You need to understand a little bit of how *NIX systems work, because you’ll use CLI more than UI.&lt;br&gt;
That’s not necessarily bad, and I’m sure I learned a trick or two that could translate easily to Linux or macOS.&lt;br&gt;
Their development process is purely based on developers that love to contribute and hack around, just because it’s fun.&lt;br&gt;
Even the mailing list is a cool place to hang on!&lt;br&gt;
Code correctness and security are a must, nothing gets committed if it doesn’t get reviewed thoroughly first - nowadays the first two properties should be enforced in every major operating system.&lt;br&gt;
I like the idea of a platform that continually evolves.&lt;br&gt;
pledge(2) and unveil(2) are the proof that with a little effort, you can secure existing software better than ever.&lt;br&gt;
I like the “sensible defaults” approach, having an OS ready to be used - UI included if you selected it during the setup process - is great.&lt;br&gt;
Just install a browser and you’re ready to go.&lt;br&gt;
Manual pages on OpenBSD are real manuals, not an extension of the “–help” command found in most CLI softwares.&lt;br&gt;
They help you understand inner workings of the operating system, no internet connection needed.&lt;br&gt;
There are some trade-offs, too.&lt;br&gt;
Performance is not first-class, mostly because of all the security mitigations and checks done at runtime3.&lt;br&gt;
I write Go code in neovim, and sometimes you can feel a slight slowdown when you’re compiling and editing multiple files at the same time, but usually I can’t notice any meaningful difference.&lt;br&gt;
Browsers are a different matter though, you can definitely feel something differs from the experience you can have on mainstream operating systems.&lt;br&gt;
But again, trade-offs.&lt;br&gt;
To use OpenBSD on the desktop you must be ready to sacrifice some of the goodies of mainstream OSes, but if you’re searching for a zen place to do your computing stuff, it’s the best you can get right now.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://distrowatch.com/weekly.php?issue=20180813#nomadbsd" target="_blank" rel="nofollow noopener"&gt;Review: NomadBSD 1.1&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the most recent additions to the DistroWatch database is NomadBSD. According to the NomadBSD website: “NomadBSD is a 64-bit live system for USB flash drives, based on FreeBSD. Together with automatic hardware detection and setup, it is configured to be used as a desktop system that works out of the box, but can also be used for data recovery.”&lt;br&gt;
The latest release of NomadBSD (or simply “Nomad”, as I will refer to the project in this review) is version 1.1. It is based on FreeBSD 11.2 and is offered in two builds, one for generic personal computers and one for Macbooks. The release announcement mentions version 1.1 offers improved video driver support for Intel and AMD cards. The operating system ships with Octopkg for graphical package management and the system should automatically detect, and work with, VirtualBox environments.&lt;br&gt;
Nomad 1.1 is available as a 2GB download, which we then decompress to produce a 4GB file which can be written to a USB thumb drive. There is no optical media build of Nomad as it is designed to be run entirely from the USB drive, and write data persistently to the drive, rather than simply being installed from the USB media.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Initial setup&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Booting from the USB drive brings up a series of text-based menus which ask us to configure key parts of the operating system. We are asked to select our time zone, keyboard layout, keyboard model, keyboard mapping and our preferred language. While we can select options from a list, the options tend to be short and cryptic. Rather than “English (US)”, for example, we might be given “en_US”. We are also asked to create a password for the root user account and another one for a regular user which is called “nomad”. We can then select which shell nomad will use. The default is zsh, but there are plenty of other options, including csh and bash. We have the option of encrypting our user’s home directory.&lt;br&gt;
I feel it is important to point out that these settings, and nomad’s home directory, are stored on the USB drive. The options and settings we select will not be saved to our local hard drive and our configuration choices will not affect other operating systems already installed on our computer. At the end, the configuration wizard asks if we want to run the BSDstats service. This option is not explained at all, but it contacts BSDstats to provide some basic statistics on BSD users.&lt;br&gt;
The system then takes a few minutes to apply its changes to the USB drive and automatically reboots the computer. While running the initial setup wizard, I had nearly identical experiences when running Nomad on a physical computer and running the operating system in a VirtualBox virtual machine. However, after the initial setup process was over, I had quite different experiences depending on the environment so I want to divide my experiences into two different sections.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Physical desktop computer&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At first, Nomad failed to boot on my desktop computer. From the operating system’s boot loader, I enabled Safe Mode which allowed Nomad to boot. At that point, Nomad was able to start up, but would only display a text console. The desktop environment failed to start when running in Safe Mode.&lt;br&gt;
Networking was also disabled by default and I had to enable a network interface and DHCP address assignment to connect to the Internet. Instructions for enabling networking can be found in FreeBSD’s Handbook. Once we are on-line we can use the pkg command line package manager to install and update software. Had the desktop environment worked then the Octopkg graphical package manager would also be available to make browsing and installing software a point-n-click experience.&lt;br&gt;
Had I been able to run the desktop for prolonged amounts of time I could have made use of such pre-installed items as the Firefox web browser, the VLC media player, LibreOffice and Thunderbird. Nomad offers a fairly small collection of desktop applications, but what is there is mostly popular, capable software.&lt;br&gt;
When running the operating system I noted that, with one user logged in, Nomad only runs 15 processes with the default configuration. These processes require less than 100MB of RAM, and the whole system fits comfortably on a 4GB USB drive.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusions&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Ultimately using Nomad was not a practical option for me. The operating system did not work well with my hardware, or the virtual environment. In the virtual machine, Nomad crashed consistently after just a few minutes of uptime. On the desktop computer, I could not get a desktop environment to run. The command line tools worked well, and the system performed tasks very quickly, but a command line only environment is not well suited to my workflow.&lt;br&gt;
I like the idea of what NomadBSD is offering. There are not many live desktop flavours of FreeBSD, apart from GhostBSD. It was nice to see developers trying to make a FreeBSD-based, plug-and-go operating system that would offer a desktop and persistent storage. I suspect the system would work and perform its stated functions on different hardware, but in my case my experiment was necessarily short lived.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://oshogbo.vexillium.org/blog/50/" target="_blank" rel="nofollow noopener"&gt;FreeBSD lockless algorithm - seq&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/bob-beck/libtls/blob/master/TUTORIAL.md" target="_blank" rel="nofollow noopener"&gt;Happy Bob’s Libtls tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://chown.me/blog/locking-openbsd-when-sleeping.html" target="_blank" rel="nofollow noopener"&gt;Locking OpenBSD when it’s sleeping&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.geoghegan.ca/serviio.html" target="_blank" rel="nofollow noopener"&gt;iio - The OpenBSD Way&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsdboy.ml/blog/installing-hugo-and-hosting-on-openbsd.html" target="_blank" rel="nofollow noopener"&gt;Installing Hugo and Hosting Website on OpenBSD Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.osorio.me/post.php?idpost=1" target="_blank" rel="nofollow noopener"&gt;Fosdem 2019 reminder: BSD devroom CfP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=4gOoPxGKKjA&amp;amp;feature=youtu.be" target="_blank" rel="nofollow noopener"&gt;OpenBGPD, gotta go fast! - Claudio Jeker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://project-trident.org/post/2018-11-10_rc3-available/" target="_blank" rel="nofollow noopener"&gt;Project Trident RC3 available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-announce/2018-November/001849.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 10.4 EOL&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd.network/@ephemeris/101073578346815313" target="_blank" rel="nofollow noopener"&gt;Play “Crazy Train” through your APU2 speaker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tobias - &lt;a href="http://dpaste.com/174WGEY#wrap" target="_blank" rel="nofollow noopener"&gt;Satisfying my storage hunger and wallet pains&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Lasse - &lt;a href="http://dpaste.com/1QBMH73" target="_blank" rel="nofollow noopener"&gt;Question regarding FreeBSD backups&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlangille" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/dlangille&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dan.langille.org/" target="_blank" rel="nofollow noopener"&gt;https://dan.langille.org/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;/li&gt;&lt;br&gt;
&lt;/ul&gt;&lt;br&gt;
&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, cat, Firewall, x.org, vulnerability, nomadbsd, OpenBGPD, Hugo, Fosdem, iio</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Thoughts on NetBSD 8.0, Monitoring love for a GigaBit OpenBSD firewall, cat’s source history, X.org root permission bug, thoughts on OpenBSD as a desktop, and NomadBSD review.</p>

<p>##Headlines<br>
###<a href="https://distrowatch.com/weekly.php?issue=20181119#netbsd" target="_blank" rel="nofollow noopener">Some thoughts on NetBSD 8.0</a></p>

<blockquote>
<p>NetBSD is a highly portable operating system which can be run on dozens of different hardware architectures. The operating system’s clean and minimal design allow it to be run in all sorts of environments, ranging from embedded devices, to servers, to workstations. While the base operating system is minimal, NetBSD users have access to a large repository of binary packages and a ports tree which I will touch upon later.<br>
I last tried NetBSD 7.0 about three years ago and decided it was time to test drive the operating system again. In the past three years NetBSD has introduced a few new features, many of them security enhancements. For example, NetBSD now supports write exclusive-or execute (W^X) protection and address space layout randomization (ASLR) to protect programs against common attacks. NetBSD 8.0 also includes USB3 support and the ability to work with ZFS storage volumes.</p>
</blockquote>

<ul>
<li>Early impressions</li>
</ul>

<blockquote>
<p>Since I had set up NetBSD with a Full install and enabled xdm during the setup process, the operating system booted to a graphical login screen. From here we can sign into our account. The login screen does not provide options to shut down or restart the computer. Logging into our account brings up the twm window manager and provides a virtual terminal, courtesy of xterm. There is a panel that provides a method for logging out of the window manager. The twm environment is sparse, fast and devoid of distractions.</p>
</blockquote>

<ul>
<li>Software management</li>
</ul>

<blockquote>
<p>NetBSD ships with a fairly standard collection of command line tools and manual pages, but otherwise it is a fairly minimal platform. If we want to run network services, have access to a web browser, or use a word processor we are going to need to install more software. There are two main approaches to installing new packages. The first, and easier approach, is to use the pkgin package manager. The pkgin utility works much the same way APT or DNF work in the Linux world, or as pkg works on FreeBSD. We can search for software by name, install or remove items. I found pkgin worked well, though its output can be terse. My only complaint with pkgin is that it does not handle “close enough” package names. For example, if I tried to run “pkgin install vlc” or “pkgin install firefox” I would quickly be told these items did not exist. But a more forgiving package manager will realize items like vlc2 or firefox45 are available and offer to install those.<br>
The pkgin tool installs new programs in the /usr/pkg/bin directory. Depending on your configuration and shell, this location may not be in your user’s path, and it will be helpful to adjust your PATH variable accordingly.<br>
The other common approach to acquiring new software is to use the pkgsrc framework. I have talked about using pkgsrc before and I will skip the details. Basically, we can download a collection of recipes for building popular open source software and run a command to download and install these items from their source code. Using pkgsrc basically gives us the same software as using pkgin would, but with some added flexibility on the options we use.<br>
Once new software has been installed, it may need to be enabled and activated, particularly if it uses (or is) a background service. New items can be enabled in the /etc/rc.conf file and started or stopped using the service command. This works about the same as the service command on FreeBSD and most non-systemd Linux distributions.</p>
</blockquote>

<ul>
<li>Hardware</li>
</ul>

<blockquote>
<p>I found that, when logged into the twm environment, NetBSD used about 130MB of RAM. This included kernel memory and all active memory. A fresh, Full install used up 1.5GB of disk space. I generally found NetBSD ran well in both VirtualBox and on my desktop computer. The system was quick and stable. I did have trouble getting a higher screen resolution in both environments. NetBSD does not offer VirtualBox add-on modules. There are NetBSD patches for VirtualBox out there, but there is some manual work involved in getting them working. When running on my desktop computer I think the resolution issue was one of finding and dealing with the correct video driver. Screen resolution aside, NetBSD performed well and detected all my hardware.</p>
</blockquote>

<ul>
<li>Personal projects</li>
</ul>

<blockquote>
<p>Since NetBSD provides users with a small, core operating system without many utilities if we want to use NetBSD for something we need to have a project in mind. I had four mini projects in mind I wanted to try this week: install a desktop environment, enable file sharing for computers on the local network, test multimedia (video, audio and YouTube capabilities), and set up a ZFS volume for storage.<br>
I began with the desktop. Specifically, I followed the same tutorial I used three years ago to try to set up the Xfce desktop. While Xfce and its supporting services installed, I was unable to get a working desktop out of the experience. I could get the Xfce window manager working, but not the entire session. This tutorial worked beautifully with NetBSD 7.0, but not with version 8.0. Undeterred, I switched gears and installed Fluxbox instead. This gave me a slightly more powerful graphical environment than what I had before with twm while maintaining performance. Fluxbox ran without any problems, though its application menu was automatically populated with many programs which were not actually installed.<br>
Next, I tried installing a few multimedia applications to play audio and video files. Here I ran into a couple of interesting problems. I found the music players I installed would play audio files, but the audio was quite slow. It always sounded like a cassette tape dragging. When I tried to play a video, the entire graphical session would crash, taking me back to the login screen. When I installed Firefox, I found I could play YouTube videos, and the video played smoothly, but again the audio was unusually slow.<br>
I set up two methods of sharing files on the local network: OpenSSH and FTP. NetBSD basically gives us OpenSSH for free at install time and I added an FTP server through the pkgin package manager which worked beautifully with its default configuration.<br>
I experimented with ZFS support a little, just enough to confirm I could create and access ZFS volumes. ZFS seems to work on NetBSD just as well, and with the same basic features, as it does on FreeBSD and mainstream Linux distributions. I think this is a good feature for the portable operating system to have since it means we can stick NetBSD on nearly any networked computer and use it as a NAS.</p>
</blockquote>

<ul>
<li>Conclusions</li>
</ul>

<blockquote>
<p>NetBSD, like its close cousins (FreeBSD and OpenBSD) does not do a lot of hand holding or automation. It offers a foundation that will run on most CPUs and we can choose to build on that foundation. I mention this because, on its own, NetBSD does not do much. If we want to get something out of it, we need to be willing to build on its foundation - we need a project. This is important to keep in mind as I think going into NetBSD and thinking, “Oh I’ll just explore around and expand on this as I go,” will likely lead to disappointment. I recommend figuring out what you want to do before installing NetBSD and making sure the required tools are available in the operating system’s repositories.<br>
Some of the projects I embarked on this week (using ZFS and setting up file sharing) worked well. Others, like getting multimedia support and a full-featured desktop, did not. Given more time, I’m sure I could find a suitable desktop to install (along with the required documentation to get it and its services running), or customize one based on one of the available window managers. However, any full featured desktop is going to require some manual work. Media support was not great. The right players and codecs were there, but I was not able to get audio to play smoothly.<br>
My main complaint with NetBSD relates to my struggle to get some features working to my satisfaction: the documentation is scattered. There are four different sections of the project’s website for documentation (FAQs, The Guide, manual pages and the wiki). Whatever we are looking for is likely to be in one of those, but which one? Or, just as likely, the tutorial we want is not there, but is on a forum or blog somewhere. I found that the documentation provided was often thin, more of a quick reference to remind people how something works rather than a full explanation.<br>
As an example, I found a couple of documents relating to setting up a firewall. One dealt with networking NetBSD on a LAN, another explored IPv6 support, but neither gave an overview on syntax or a basic guide to blocking all but one or two ports. It seemed like that information should already be known, or picked up elsewhere.<br>
Newcomers are likely to be a bit confused by software management guides for the same reason. Some pages refer to using a tool called pkg_add, others use pkgsrc and its make utility, others mention pkgin. Ultimately, these tools each give approximately the same result, but work differently and yet are mentioned almost interchangeably. I have used NetBSD before a few times and could stumble through these guides, but new users are likely to come away confused.<br>
One quirk of NetBSD, which may be a security feature or an inconvenience, depending on one’s point of view, is super user programs are not included in regular users’ paths. This means we need to change our path if we want to be able to run programs typically used by root. For example, shutdown and mount are not in regular users’ paths by default. This made checking some things tricky for me.<br>
Ultimately though, NetBSD is not famous for its convenience or features so much as its flexibility. The operating system will run on virtually any processor and should work almost identically across multiple platforms. That gives NetBSD users a good deal of consistency across a range of hardware and the chance to experiment with a member of the Unix family on hardware that might not be compatible with Linux or the other BSDs.</p>
</blockquote>

<hr>

<p>###<a href="https://tech.mangot.com/blog/2018/11/08/showing-a-gigabit-openbsd-firewall-some-monitoring-love/" target="_blank" rel="nofollow noopener">Showing a Gigabit OpenBSD Firewall Some Monitoring Love</a></p>

<blockquote>
<p>I have a pretty long history of running my home servers or firewalls on “exotic” hardware. At first, it was Sun Microsystem hardware, then it moved to the excellent Soekris line, with some cool single board computers thrown in the mix. Recently I’ve been running OpenBSD Octeon on the Ubiquiti Edge Router Lite, an amazing little piece of kit at an amazing price point.</p>
</blockquote>

<ul>
<li>Upgrade Time!</li>
</ul>

<blockquote>
<p>This setup has served me for some time and I’ve been extremely happy with it. But, in the #firstworldproblems category, I recently upgraded the household to the amazing Gigabit fibre offering from Sonic. A great problem to have, but also too much of a problem for the little Edge Router Lite (ERL).<br>
The way the OpenBSD PF firewall works, it’s only able to process packets on a single core. Not a problem for the dual-core 500 MHz ERL when you’re pushing under ~200 Mbps, but more of a problem when you’re trying to push 1000 Mbps.<br>
I needed something that was faster on a per core basis but still satisfied my usual firewall requirements. Loosely:</p>
</blockquote>

<ul>
<li>small form factor</li>
<li>fan-less</li>
<li>multiple Intel Ethernet ports (good driver support)</li>
<li>low power consumption</li>
<li>not your regular off-the-shelf kit</li>
<li>relatively inexpensive</li>
</ul>

<blockquote>
<p>After evaluating a LOT of different options I settled on the Protectli Vault FW2B. With the specs required for the firewall (2 GB RAM and 8 GB drive) it comes in at a mere $239 USD! Installation of OpenBSD 6.4 was pretty straight forward, with the only problem I had was Etcher did not want to recognize the ‘.fs’ extension on the install image as bootable image. I quickly fixed this with good old Unix dd(1) on the Mac. Everything else was incredibly smooth.<br>
After loading the same rulesets on my new install, the results were fantastic!</p>
</blockquote>

<ul>
<li>Monitoring</li>
</ul>

<blockquote>
<p>Now that the machine was up and running (and fast!), I wanted to know what it was doing. Over the years, I’ve always relied on the venerable pfstat software to give me an overview of my traffic, blocked packets, etc. It looks like this:<br>
As you can see it’s based on RRDtool, which was simply incredible in its time. Having worked on monitoring almost continuously for almost the past decade, I wanted to see if we could re-implement the same functionality using more modern tools as RRDtool and pfstat definitely have their limitations. This might be an opportunity to learn some new things as well.<br>
I came across pf-graphite which seemed to be a great start! He had everything I needed and I added a few more stats from the detailed interface statistics and the ability for the code to exit for running from cron(8), which is a bit more OpenBSD style. I added code for sending to some SaaS metrics platforms but ultimately stuck with straight Graphite. One important thing to note was to use the Graphite pickle port (2004) instead of the default plaintext port for submission. Also you will need to set a loginterface in your ‘pf.conf’.<br>
A bit of tweaking with Graphite and Grafana, and I had a pretty darn good recreation of my original PF stats dashboard!<br>
As you can see it’s based on RRDtool, which was simply incredible in its time. Having worked on monitoring almost continuously for almost the past decade, I wanted to see if we could re-implement the same functionality using more modern tools as RRDtool and pfstat definitely have their limitations. This might be an opportunity to learn some new things as well.<br>
I came across pf-graphite which seemed to be a great start! He had everything I needed and I added a few more stats from the detailed interface statistics and the ability for the code to exit for running from cron(8), which is a bit more OpenBSD style. I added code for sending to some SaaS metrics platforms but ultimately stuck with straight Graphite. One important thing to note was to use the Graphite pickle port (2004) instead of the default plaintext port for submission. Also you will need to set a loginterface in your ‘pf.conf’.<br>
A bit of tweaking with Graphite and Grafana, and I had a pretty darn good recreation of my original PF stats dashboard!</p>
</blockquote>

<p>###<a href="https://twobithistory.org/2018/11/12/cat.html" target="_blank" rel="nofollow noopener">The Source History of Cat</a></p>

<blockquote>
<p>I once had a debate with members of my extended family about whether a computer science degree is a degree worth pursuing. I was in college at the time and trying to decide whether I should major in computer science. My aunt and a cousin of mine believed that I shouldn’t. They conceded that knowing how to program is of course a useful and lucrative thing, but they argued that the field of computer science advances so quickly that everything I learned would almost immediately be outdated. Better to pick up programming on the side and instead major in a field like economics or physics where the basic principles would be applicable throughout my lifetime.<br>
I knew that my aunt and cousin were wrong and decided to major in computer science. (Sorry, aunt and cousin!) It is easy to see why the average person might believe that a field like computer science, or a profession like software engineering, completely reinvents itself every few years. We had personal computers, then the web, then phones, then machine learning… technology is always changing, so surely all the underlying principles and techniques change too. Of course, the amazing thing is how little actually changes. Most people, I’m sure, would be stunned to know just how old some of the important software on their computer really is. I’m not talking about flashy application software, admittedly—my copy of Firefox, the program I probably use the most on my computer, is not even two weeks old. But, if you pull up the manual page for something like grep, you will see that it has not been updated since 2010 (at least on MacOS). And the original version of grep was written in 1974, which in the computing world was back when dinosaurs roamed Silicon Valley. People (and programs) still depend on grep every day.<br>
My aunt and cousin thought of computer technology as a series of increasingly elaborate sand castles supplanting one another after each high tide clears the beach. The reality, at least in many areas, is that we steadily accumulate programs that have solved problems. We might have to occasionally modify these programs to avoid software rot, but otherwise they can be left alone.  grep is a simple program that solves a still-relevant problem, so it survives. Most application programming is done at a very high level, atop a pyramid of much older code solving much older problems. The ideas and concepts of 30 or 40 years ago, far from being obsolete today, have in many cases been embodied in software that you can still find installed on your laptop.<br>
I thought it would be interesting to take a look at one such old program and see how much it had changed since it was first written. cat is maybe the simplest of all the Unix utilities, so I’m going to use it as my example. Ken Thompson wrote the original implementation of cat in 1969. If I were to tell somebody that I have a program on my computer from 1969, would that be accurate? How much has cat really evolved over the decades? How old is the software on our computers?<br>
Thanks to repositories like this one, we can see exactly how cat has evolved since 1969. I’m going to focus on implementations of cat that are ancestors of the implementation I have on my Macbook. You will see, as we trace cat from the first versions of Unix down to the cat in MacOS today, that the program has been rewritten more times than you might expect—but it ultimately works more or less the same way it did fifty years ago.</p>
</blockquote>

<ul>
<li>Research Unix</li>
</ul>

<blockquote>
<p>Ken Thompson and Dennis Ritchie began writing Unix on a PDP 7. This was in 1969, before C, so all of the early Unix software was written in PDP 7 assembly. The exact flavor of assembly they used was unique to Unix, since Ken Thompson wrote his own assembler that added some features on top of the assembler provided by DEC, the PDP 7’s manufacturer. Thompson’s changes are all documented in the original Unix Programmer’s Manual under the entry for as, the assembler.<br>
The first implementation of cat is thus in PDP 7 assembly. I’ve added comments that try to explain what each instruction is doing, but the program is still difficult to follow unless you understand some of the extensions Thompson made while writing his assembler. There are two important ones. First, the ; character can be used to separate multiple statements on the same line. It appears that this was used most often to put system call arguments on the same line as the sys instruction. Second, Thompson added support for “temporary labels” using the digits 0 through 9. These are labels that can be reused throughout a program, thus being, according to the Unix Programmer’s Manual, “less taxing both on the imagination of the programmer and on the symbol space of the assembler.” From any given instruction, you can refer to the next or most recent temporary label n using nf and nb respectively. For example, if you have some code in a block labeled 1:, you can jump back to that block from further down by using the instruction jmp 1b. (But you cannot jump forward to that block from above without using jmp 1f instead.)<br>
The most interesting thing about this first version of cat is that it contains two names we should recognize. There is a block of instructions labeled getc and a block of instructions labeled putc, demonstrating that these names are older than the C standard library. The first version of cat actually contained implementations of both functions. The implementations buffered input so that reads and writes were not done a character at a time.<br>
The first version of cat did not last long. Ken Thompson and Dennis Ritchie were able to persuade Bell Labs to buy them a PDP 11 so that they could continue to expand and improve Unix. The PDP 11 had a different instruction set, so cat had to be rewritten. I’ve marked up this second version of cat with comments as well. It uses new assembler mnemonics for the new instruction set and takes advantage of the PDP 11’s various addressing modes. (If you are confused by the parentheses and dollar signs in the source code, those are used to indicate different addressing modes.) But it also leverages the  ; character and temporary labels just like the first version of cat, meaning that these features must have been retained when as was adapted for the PDP 11.<br>
The second version of cat is significantly simpler than the first. It is also more “Unix-y” in that it doesn’t just expect a list of filename arguments—it will, when given no arguments, read from stdin, which is what cat still does today. You can also give this version of cat an argument of - to indicate that it should read from stdin.<br>
In 1973, in preparation for the release of the Fourth Edition of Unix, much of Unix was rewritten in C. But cat does not seem to have been rewritten in C until a while after that. The first C implementation of cat only shows up in the Seventh Edition of Unix. This implementation is really fun to look through because it is so simple. Of all the implementations to follow, this one most resembles the idealized cat used as a pedagogic demonstration in K&amp;R C. The heart of the program is the classic two-liner:</p>
</blockquote>

<p><code>while ((c = getc(fi)) != EOF)</code><br>
<code>putchar(c);</code></p>

<blockquote>
<p>There is of course quite a bit more code than that, but the extra code is mostly there to ensure that you aren’t reading and writing to the same file. The other interesting thing to note is that this implementation of cat only recognized one flag, -u. The -u flag could be used to avoid buffering input and output, which cat would otherwise do in blocks of 512 bytes.</p>
</blockquote>

<ul>
<li>BSD</li>
</ul>

<blockquote>
<p>After the Seventh Edition, Unix spawned all sorts of derivatives and offshoots. MacOS is built on top of Darwin, which in turn is derived from the Berkeley Software Distribution (BSD), so BSD is the Unix offshoot we are most interested in. BSD was originally just a collection of useful programs and add-ons for Unix, but it eventually became a complete operating system. BSD seems to have relied on the original cat implementation up until the fourth BSD release, known as 4BSD, when support was added for a whole slew of new flags. The 4BSD implementation of cat is clearly derived from the original implementation, though it adds a new function to implement the behavior triggered by the new flags. The naming conventions already used in the file were adhered to—the fflg variable, used to mark whether input was being read from stdin or a file, was joined by nflg, bflg, vflg, sflg, eflg, and  tflg, all there to record whether or not each new flag was supplied in the invocation of the program. These were the last command-line flags added to  cat; the man page for cat today lists these flags and no others, at least on Mac OS. 4BSD was released in 1980, so this set of flags is 38 years old.<br>
cat would be entirely rewritten a final time for BSD Net/2, which was, among other things, an attempt to avoid licensing issues by replacing all AT&amp;T Unix-derived code with new code. BSD Net/2 was released in 1991. This final rewrite of cat was done by Kevin Fall, who graduated from Berkeley in 1988 and spent the next year working as a staff member at the Computer Systems Research Group (CSRG). Fall told me that a list of Unix utilities still implemented using AT&amp;T code was put up on a wall at CSRG and staff were told to pick the utilities they wanted to reimplement. Fall picked cat and  mknod. The cat implementation bundled with MacOS today is built from a source file that still bears his name at the very top. His version of cat, even though it is a relatively trivial program, is today used by millions.<br>
Fall’s original implementation of cat is much longer than anything we have seen so far. Other than support for a -? help flag, it adds nothing in the way of new functionality. Conceptually, it is very similar to the 4BSD implementation. It is only longer because Fall separates the implementation into a “raw” mode and a “cooked” mode. The “raw” mode is cat classic; it prints a file character for character. The “cooked” mode is cat with all the 4BSD command-line options. The distinction makes sense but it also pads out the implementation so that it seems more complex at first glance than it actually is. There is also a fancy error handling function at the end of the file that further adds to its length.</p>
</blockquote>

<ul>
<li>MacOS</li>
</ul>

<blockquote>
<p>The very first release of Mac OS X thus includes an implementation of cat pulled from the NetBSD project. So the first Mac OS X implementation of cat is Kevin Fall’s cat. The only thing that had changed over the intervening decade was that Fall’s error-handling function err() was removed and the err() function made available by err.h was used in its place. err.h is a BSD extension to the C standard library.<br>
The NetBSD implementation of cat was later swapped out for FreeBSD’s implementation of cat. According to Wikipedia, Apple began using FreeBSD instead of NetBSD in Mac OS X 10.3 (Panther). But the Mac OS X implementation of cat, according to Apple’s own open source releases, was not replaced until Mac OS X 10.5 (Leopard) was released in 2007. The FreeBSD implementation that Apple swapped in for the Leopard release is the same implementation on Apple computers today. As of 2018, the implementation has not been updated or changed at all since 2007.<br>
So the Mac OS cat is old. As it happens, it is actually two years older than its 2007 appearance in MacOS X would suggest. This 2005 change, which is visible in FreeBSD’s Github mirror, was the last change made to FreeBSD’s cat before Apple pulled it into Mac OS X. So the Mac OS X cat implementation, which has not been kept in sync with FreeBSD’s cat implementation, is officially 13 years old. There’s a larger debate to be had about how much software can change before it really counts as the same software; in this case, the source file has not changed at all since 2005.<br>
The cat implementation used by Mac OS today is not that different from the implementation that Fall wrote for the 1991 BSD Net/2 release. The biggest difference is that a whole new function was added to provide Unix domain socket support. At some point, a FreeBSD developer also seems to have decided that Fall’s raw_args() function and cook_args() should be combined into a single function called scanfiles(). Otherwise, the heart of the program is still Fall’s code.<br>
I asked Fall how he felt about having written the cat implementation now used by millions of Apple users, either directly or indirectly through some program that relies on cat being present. Fall, who is now a consultant and a co-author of the most recent editions of TCP/IP Illustrated, says that he is surprised when people get such a thrill out of learning about his work on cat. Fall has had a long career in computing and has worked on many high-profile projects, but it seems that many people still get most excited about the six months of work he put into rewriting cat in 1989.</p>
</blockquote>

<ul>
<li>The Hundred-Year-Old Program</li>
</ul>

<blockquote>
<p>In the grand scheme of things, computers are not an old invention. We’re used to hundred-year-old photographs or even hundred-year-old camera footage. But computer programs are in a different category—they’re high-tech and new. At least, they are now. As the computing industry matures, will we someday find ourselves using programs that approach the hundred-year-old mark?<br>
Computer hardware will presumably change enough that we won’t be able to take an executable compiled today and run it on hardware a century from now. Perhaps advances in programming language design will also mean that nobody will understand C in the future and cat will have long since been rewritten in another language. (Though C has already been around for fifty years, and it doesn’t look like it is about to be replaced any time soon.) But barring all that, why not just keep using the cat we have forever?<br>
I think the history of cat shows that some ideas in computer science are in fact very durable. Indeed, with cat, both the idea and the program itself are old. It may not be accurate to say that the cat on my computer is from 1969. But I could make a case for saying that the cat on my computer is from 1989, when Fall wrote his implementation of cat. Lots of other software is just as ancient. So maybe we shouldn’t think of computer science and software development primarily as fields that disrupt the status quo and invent new things. Our computer systems are built out of historical artifacts. At some point, we may all spend more time trying to understand and maintain those historical artifacts than we spend writing new code.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://www.bleepingcomputer.com/news/security/trivial-bug-in-xorg-gives-root-permission-on-linux-and-bsd-systems/" target="_blank" rel="nofollow noopener">Trivial Bug in X.Org Gives Root Permission on Linux and BSD Systems</a></p>

<blockquote>
<p>A vulnerability that is trivial to exploit allows privilege escalation to root level on Linux and BSD distributions using <a href="http://X.Org" target="_blank" rel="nofollow noopener">X.Org</a> server, the open source implementation of the X Window System that offers the graphical environment.<br>
The flaw is now identified as CVE-2018-14665 (credited to security researcher Narendra Shinde). It has been present in xorg-server for two years, since version 1.19.0 and is exploitable by a limited user as long as the X server runs with elevated permissions.</p>
</blockquote>

<ul>
<li>Privilege escalation and arbitrary file overwrite</li>
</ul>

<blockquote>
<p>An advisory on Thursday describes the problem as an “incorrect command-line parameter validation” that also allows an attacker to overwrite arbitrary files.<br>
Privilege escalation can be accomplished via the -modulepath argument by setting an insecure path to modules loaded by the <a href="http://X.org" target="_blank" rel="nofollow noopener">X.org</a> server. Arbitrary file overwrite is possible through the -logfile argument, because of improper verification when parsing the option.</p>
</blockquote>

<ul>
<li>Bug could have been avoided in OpenBSD 6.4</li>
</ul>

<blockquote>
<p>OpenBSD, the free and open-source operating system with a strong focus on security, uses xorg. On October 18, the project released version 6.4 of the OS, affected by CVE-2018-14665. This could have been avoided, though.<br>
Theo de Raadt, founder and leader of the OpenBSD project, says that X maintainer knew about the problem since at least October 11. For some reason, the OpenBSD developers received the message one hour before the public announcement this Thursday, a week after their new OS release.<br>
“As yet we don’t have answers about why our X maintainer (on the X security team) and his team provided information to other projects (some who don’t even ship with this new X server) but chose to not give us a heads-up which could have saved all the new 6.4 users a lot of grief,” Raadt says.<br>
Had OpenBSD developers known about the bug before the release, they could have taken steps to mitigate the problem or delay the launch for a week or two.<br>
To remedy the problem, the OpenBSD project provides a source code patch, which requires compiling and rebuilding the X server.<br>
As a temporary solution, users can disable the Xorg binary by running the following command:</p>
</blockquote>

<p><code>chmod u-s /usr/X11R6/bin/Xorg</code></p>

<ul>
<li>Trivial exploitation</li>
</ul>

<blockquote>
<p>CVE-2018-14665 does not help compromise systems, but it is useful in the following stages of an attack.<br>
Leveraging it after gaining access to a vulnerable machine is fairly easy. Matthew Hickey, co-founder, and head of Hacker House security outfit created and published an exploit, saying that it can be triggered from a remote SSH session.<br>
Three hours after the public announcement of the security gap, Daemon Security CEO Michael Shirk replied with one line that overwrote shadow files on the system. Hickey did one better and fit the entire local privilege escalation exploit in one line.<br>
Apart from OpenBSD, other operating systems affected by the bug include Debian and Ubuntu, Fedora and its downstream distro  Red Hat Enterprise Linux along with its community-supported counterpart CentOS.</p>
</blockquote>

<hr>

<p>###<a href="https://blog.gsora.xyz/openbsd-on-the-desktop-some-thoughts/" target="_blank" rel="nofollow noopener">OpenBSD on the Desktop: some thoughts</a></p>

<blockquote>
<p>I’ve been using OpenBSD on my ThinkPad X230 for some weeks now, and the experience has been peculiar in some ways.<br>
The OS itself in my opinion is not ready for widespread desktop usage, and the development team is not trying to push it in the throat of anybody who wants a Windows or macOS alternative.<br>
You need to understand a little bit of how *NIX systems work, because you’ll use CLI more than UI.<br>
That’s not necessarily bad, and I’m sure I learned a trick or two that could translate easily to Linux or macOS.<br>
Their development process is purely based on developers that love to contribute and hack around, just because it’s fun.<br>
Even the mailing list is a cool place to hang on!<br>
Code correctness and security are a must, nothing gets committed if it doesn’t get reviewed thoroughly first - nowadays the first two properties should be enforced in every major operating system.<br>
I like the idea of a platform that continually evolves.<br>
pledge(2) and unveil(2) are the proof that with a little effort, you can secure existing software better than ever.<br>
I like the “sensible defaults” approach, having an OS ready to be used - UI included if you selected it during the setup process - is great.<br>
Just install a browser and you’re ready to go.<br>
Manual pages on OpenBSD are real manuals, not an extension of the “–help” command found in most CLI softwares.<br>
They help you understand inner workings of the operating system, no internet connection needed.<br>
There are some trade-offs, too.<br>
Performance is not first-class, mostly because of all the security mitigations and checks done at runtime3.<br>
I write Go code in neovim, and sometimes you can feel a slight slowdown when you’re compiling and editing multiple files at the same time, but usually I can’t notice any meaningful difference.<br>
Browsers are a different matter though, you can definitely feel something differs from the experience you can have on mainstream operating systems.<br>
But again, trade-offs.<br>
To use OpenBSD on the desktop you must be ready to sacrifice some of the goodies of mainstream OSes, but if you’re searching for a zen place to do your computing stuff, it’s the best you can get right now.</p>
</blockquote>

<hr>

<p>###<a href="https://distrowatch.com/weekly.php?issue=20180813#nomadbsd" target="_blank" rel="nofollow noopener">Review: NomadBSD 1.1</a></p>

<blockquote>
<p>One of the most recent additions to the DistroWatch database is NomadBSD. According to the NomadBSD website: “NomadBSD is a 64-bit live system for USB flash drives, based on FreeBSD. Together with automatic hardware detection and setup, it is configured to be used as a desktop system that works out of the box, but can also be used for data recovery.”<br>
The latest release of NomadBSD (or simply “Nomad”, as I will refer to the project in this review) is version 1.1. It is based on FreeBSD 11.2 and is offered in two builds, one for generic personal computers and one for Macbooks. The release announcement mentions version 1.1 offers improved video driver support for Intel and AMD cards. The operating system ships with Octopkg for graphical package management and the system should automatically detect, and work with, VirtualBox environments.<br>
Nomad 1.1 is available as a 2GB download, which we then decompress to produce a 4GB file which can be written to a USB thumb drive. There is no optical media build of Nomad as it is designed to be run entirely from the USB drive, and write data persistently to the drive, rather than simply being installed from the USB media.</p>
</blockquote>

<ul>
<li>Initial setup</li>
</ul>

<blockquote>
<p>Booting from the USB drive brings up a series of text-based menus which ask us to configure key parts of the operating system. We are asked to select our time zone, keyboard layout, keyboard model, keyboard mapping and our preferred language. While we can select options from a list, the options tend to be short and cryptic. Rather than “English (US)”, for example, we might be given “en_US”. We are also asked to create a password for the root user account and another one for a regular user which is called “nomad”. We can then select which shell nomad will use. The default is zsh, but there are plenty of other options, including csh and bash. We have the option of encrypting our user’s home directory.<br>
I feel it is important to point out that these settings, and nomad’s home directory, are stored on the USB drive. The options and settings we select will not be saved to our local hard drive and our configuration choices will not affect other operating systems already installed on our computer. At the end, the configuration wizard asks if we want to run the BSDstats service. This option is not explained at all, but it contacts BSDstats to provide some basic statistics on BSD users.<br>
The system then takes a few minutes to apply its changes to the USB drive and automatically reboots the computer. While running the initial setup wizard, I had nearly identical experiences when running Nomad on a physical computer and running the operating system in a VirtualBox virtual machine. However, after the initial setup process was over, I had quite different experiences depending on the environment so I want to divide my experiences into two different sections.</p>
</blockquote>

<ul>
<li>Physical desktop computer</li>
</ul>

<blockquote>
<p>At first, Nomad failed to boot on my desktop computer. From the operating system’s boot loader, I enabled Safe Mode which allowed Nomad to boot. At that point, Nomad was able to start up, but would only display a text console. The desktop environment failed to start when running in Safe Mode.<br>
Networking was also disabled by default and I had to enable a network interface and DHCP address assignment to connect to the Internet. Instructions for enabling networking can be found in FreeBSD’s Handbook. Once we are on-line we can use the pkg command line package manager to install and update software. Had the desktop environment worked then the Octopkg graphical package manager would also be available to make browsing and installing software a point-n-click experience.<br>
Had I been able to run the desktop for prolonged amounts of time I could have made use of such pre-installed items as the Firefox web browser, the VLC media player, LibreOffice and Thunderbird. Nomad offers a fairly small collection of desktop applications, but what is there is mostly popular, capable software.<br>
When running the operating system I noted that, with one user logged in, Nomad only runs 15 processes with the default configuration. These processes require less than 100MB of RAM, and the whole system fits comfortably on a 4GB USB drive.</p>
</blockquote>

<ul>
<li>Conclusions</li>
</ul>

<blockquote>
<p>Ultimately using Nomad was not a practical option for me. The operating system did not work well with my hardware, or the virtual environment. In the virtual machine, Nomad crashed consistently after just a few minutes of uptime. On the desktop computer, I could not get a desktop environment to run. The command line tools worked well, and the system performed tasks very quickly, but a command line only environment is not well suited to my workflow.<br>
I like the idea of what NomadBSD is offering. There are not many live desktop flavours of FreeBSD, apart from GhostBSD. It was nice to see developers trying to make a FreeBSD-based, plug-and-go operating system that would offer a desktop and persistent storage. I suspect the system would work and perform its stated functions on different hardware, but in my case my experiment was necessarily short lived.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://oshogbo.vexillium.org/blog/50/" target="_blank" rel="nofollow noopener">FreeBSD lockless algorithm - seq</a></li>
<li><a href="https://github.com/bob-beck/libtls/blob/master/TUTORIAL.md" target="_blank" rel="nofollow noopener">Happy Bob’s Libtls tutorial</a></li>
<li><a href="https://chown.me/blog/locking-openbsd-when-sleeping.html" target="_blank" rel="nofollow noopener">Locking OpenBSD when it’s sleeping</a></li>
<li><a href="https://www.geoghegan.ca/serviio.html" target="_blank" rel="nofollow noopener">iio - The OpenBSD Way</a></li>
<li><a href="https://bsdboy.ml/blog/installing-hugo-and-hosting-on-openbsd.html" target="_blank" rel="nofollow noopener">Installing Hugo and Hosting Website on OpenBSD Server</a></li>
<li><a href="http://blog.osorio.me/post.php?idpost=1" target="_blank" rel="nofollow noopener">Fosdem 2019 reminder: BSD devroom CfP</a></li>
<li><a href="https://www.youtube.com/watch?v=4gOoPxGKKjA&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">OpenBGPD, gotta go fast! - Claudio Jeker</a></li>
<li><a href="http://project-trident.org/post/2018-11-10_rc3-available/" target="_blank" rel="nofollow noopener">Project Trident RC3 available</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2018-November/001849.html" target="_blank" rel="nofollow noopener">FreeBSD 10.4 EOL</a></li>
<li><a href="https://bsd.network/@ephemeris/101073578346815313" target="_blank" rel="nofollow noopener">Play “Crazy Train” through your APU2 speaker</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Tobias - <a href="http://dpaste.com/174WGEY#wrap" target="_blank" rel="nofollow noopener">Satisfying my storage hunger and wallet pains</a></li>
<li>Lasse - <a href="http://dpaste.com/1QBMH73" target="_blank" rel="nofollow noopener">Question regarding FreeBSD backups</a>
<ul>
<li><a href="https://twitter.com/dlangille" target="_blank" rel="nofollow noopener">https://twitter.com/dlangille</a></li>
<li><a href="https://dan.langille.org/" target="_blank" rel="nofollow noopener">https://dan.langille.org/</a></li>
</ul>

</li><br>
</ul><br>
<hr>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Thoughts on NetBSD 8.0, Monitoring love for a GigaBit OpenBSD firewall, cat’s source history, X.org root permission bug, thoughts on OpenBSD as a desktop, and NomadBSD review.</p>

<p>##Headlines<br>
###<a href="https://distrowatch.com/weekly.php?issue=20181119#netbsd" target="_blank" rel="nofollow noopener">Some thoughts on NetBSD 8.0</a></p>

<blockquote>
<p>NetBSD is a highly portable operating system which can be run on dozens of different hardware architectures. The operating system’s clean and minimal design allow it to be run in all sorts of environments, ranging from embedded devices, to servers, to workstations. While the base operating system is minimal, NetBSD users have access to a large repository of binary packages and a ports tree which I will touch upon later.<br>
I last tried NetBSD 7.0 about three years ago and decided it was time to test drive the operating system again. In the past three years NetBSD has introduced a few new features, many of them security enhancements. For example, NetBSD now supports write exclusive-or execute (W^X) protection and address space layout randomization (ASLR) to protect programs against common attacks. NetBSD 8.0 also includes USB3 support and the ability to work with ZFS storage volumes.</p>
</blockquote>

<ul>
<li>Early impressions</li>
</ul>

<blockquote>
<p>Since I had set up NetBSD with a Full install and enabled xdm during the setup process, the operating system booted to a graphical login screen. From here we can sign into our account. The login screen does not provide options to shut down or restart the computer. Logging into our account brings up the twm window manager and provides a virtual terminal, courtesy of xterm. There is a panel that provides a method for logging out of the window manager. The twm environment is sparse, fast and devoid of distractions.</p>
</blockquote>

<ul>
<li>Software management</li>
</ul>

<blockquote>
<p>NetBSD ships with a fairly standard collection of command line tools and manual pages, but otherwise it is a fairly minimal platform. If we want to run network services, have access to a web browser, or use a word processor we are going to need to install more software. There are two main approaches to installing new packages. The first, and easier approach, is to use the pkgin package manager. The pkgin utility works much the same way APT or DNF work in the Linux world, or as pkg works on FreeBSD. We can search for software by name, install or remove items. I found pkgin worked well, though its output can be terse. My only complaint with pkgin is that it does not handle “close enough” package names. For example, if I tried to run “pkgin install vlc” or “pkgin install firefox” I would quickly be told these items did not exist. But a more forgiving package manager will realize items like vlc2 or firefox45 are available and offer to install those.<br>
The pkgin tool installs new programs in the /usr/pkg/bin directory. Depending on your configuration and shell, this location may not be in your user’s path, and it will be helpful to adjust your PATH variable accordingly.<br>
The other common approach to acquiring new software is to use the pkgsrc framework. I have talked about using pkgsrc before and I will skip the details. Basically, we can download a collection of recipes for building popular open source software and run a command to download and install these items from their source code. Using pkgsrc basically gives us the same software as using pkgin would, but with some added flexibility on the options we use.<br>
Once new software has been installed, it may need to be enabled and activated, particularly if it uses (or is) a background service. New items can be enabled in the /etc/rc.conf file and started or stopped using the service command. This works about the same as the service command on FreeBSD and most non-systemd Linux distributions.</p>
</blockquote>

<ul>
<li>Hardware</li>
</ul>

<blockquote>
<p>I found that, when logged into the twm environment, NetBSD used about 130MB of RAM. This included kernel memory and all active memory. A fresh, Full install used up 1.5GB of disk space. I generally found NetBSD ran well in both VirtualBox and on my desktop computer. The system was quick and stable. I did have trouble getting a higher screen resolution in both environments. NetBSD does not offer VirtualBox add-on modules. There are NetBSD patches for VirtualBox out there, but there is some manual work involved in getting them working. When running on my desktop computer I think the resolution issue was one of finding and dealing with the correct video driver. Screen resolution aside, NetBSD performed well and detected all my hardware.</p>
</blockquote>

<ul>
<li>Personal projects</li>
</ul>

<blockquote>
<p>Since NetBSD provides users with a small, core operating system without many utilities if we want to use NetBSD for something we need to have a project in mind. I had four mini projects in mind I wanted to try this week: install a desktop environment, enable file sharing for computers on the local network, test multimedia (video, audio and YouTube capabilities), and set up a ZFS volume for storage.<br>
I began with the desktop. Specifically, I followed the same tutorial I used three years ago to try to set up the Xfce desktop. While Xfce and its supporting services installed, I was unable to get a working desktop out of the experience. I could get the Xfce window manager working, but not the entire session. This tutorial worked beautifully with NetBSD 7.0, but not with version 8.0. Undeterred, I switched gears and installed Fluxbox instead. This gave me a slightly more powerful graphical environment than what I had before with twm while maintaining performance. Fluxbox ran without any problems, though its application menu was automatically populated with many programs which were not actually installed.<br>
Next, I tried installing a few multimedia applications to play audio and video files. Here I ran into a couple of interesting problems. I found the music players I installed would play audio files, but the audio was quite slow. It always sounded like a cassette tape dragging. When I tried to play a video, the entire graphical session would crash, taking me back to the login screen. When I installed Firefox, I found I could play YouTube videos, and the video played smoothly, but again the audio was unusually slow.<br>
I set up two methods of sharing files on the local network: OpenSSH and FTP. NetBSD basically gives us OpenSSH for free at install time and I added an FTP server through the pkgin package manager which worked beautifully with its default configuration.<br>
I experimented with ZFS support a little, just enough to confirm I could create and access ZFS volumes. ZFS seems to work on NetBSD just as well, and with the same basic features, as it does on FreeBSD and mainstream Linux distributions. I think this is a good feature for the portable operating system to have since it means we can stick NetBSD on nearly any networked computer and use it as a NAS.</p>
</blockquote>

<ul>
<li>Conclusions</li>
</ul>

<blockquote>
<p>NetBSD, like its close cousins (FreeBSD and OpenBSD) does not do a lot of hand holding or automation. It offers a foundation that will run on most CPUs and we can choose to build on that foundation. I mention this because, on its own, NetBSD does not do much. If we want to get something out of it, we need to be willing to build on its foundation - we need a project. This is important to keep in mind as I think going into NetBSD and thinking, “Oh I’ll just explore around and expand on this as I go,” will likely lead to disappointment. I recommend figuring out what you want to do before installing NetBSD and making sure the required tools are available in the operating system’s repositories.<br>
Some of the projects I embarked on this week (using ZFS and setting up file sharing) worked well. Others, like getting multimedia support and a full-featured desktop, did not. Given more time, I’m sure I could find a suitable desktop to install (along with the required documentation to get it and its services running), or customize one based on one of the available window managers. However, any full featured desktop is going to require some manual work. Media support was not great. The right players and codecs were there, but I was not able to get audio to play smoothly.<br>
My main complaint with NetBSD relates to my struggle to get some features working to my satisfaction: the documentation is scattered. There are four different sections of the project’s website for documentation (FAQs, The Guide, manual pages and the wiki). Whatever we are looking for is likely to be in one of those, but which one? Or, just as likely, the tutorial we want is not there, but is on a forum or blog somewhere. I found that the documentation provided was often thin, more of a quick reference to remind people how something works rather than a full explanation.<br>
As an example, I found a couple of documents relating to setting up a firewall. One dealt with networking NetBSD on a LAN, another explored IPv6 support, but neither gave an overview on syntax or a basic guide to blocking all but one or two ports. It seemed like that information should already be known, or picked up elsewhere.<br>
Newcomers are likely to be a bit confused by software management guides for the same reason. Some pages refer to using a tool called pkg_add, others use pkgsrc and its make utility, others mention pkgin. Ultimately, these tools each give approximately the same result, but work differently and yet are mentioned almost interchangeably. I have used NetBSD before a few times and could stumble through these guides, but new users are likely to come away confused.<br>
One quirk of NetBSD, which may be a security feature or an inconvenience, depending on one’s point of view, is super user programs are not included in regular users’ paths. This means we need to change our path if we want to be able to run programs typically used by root. For example, shutdown and mount are not in regular users’ paths by default. This made checking some things tricky for me.<br>
Ultimately though, NetBSD is not famous for its convenience or features so much as its flexibility. The operating system will run on virtually any processor and should work almost identically across multiple platforms. That gives NetBSD users a good deal of consistency across a range of hardware and the chance to experiment with a member of the Unix family on hardware that might not be compatible with Linux or the other BSDs.</p>
</blockquote>

<hr>

<p>###<a href="https://tech.mangot.com/blog/2018/11/08/showing-a-gigabit-openbsd-firewall-some-monitoring-love/" target="_blank" rel="nofollow noopener">Showing a Gigabit OpenBSD Firewall Some Monitoring Love</a></p>

<blockquote>
<p>I have a pretty long history of running my home servers or firewalls on “exotic” hardware. At first, it was Sun Microsystem hardware, then it moved to the excellent Soekris line, with some cool single board computers thrown in the mix. Recently I’ve been running OpenBSD Octeon on the Ubiquiti Edge Router Lite, an amazing little piece of kit at an amazing price point.</p>
</blockquote>

<ul>
<li>Upgrade Time!</li>
</ul>

<blockquote>
<p>This setup has served me for some time and I’ve been extremely happy with it. But, in the #firstworldproblems category, I recently upgraded the household to the amazing Gigabit fibre offering from Sonic. A great problem to have, but also too much of a problem for the little Edge Router Lite (ERL).<br>
The way the OpenBSD PF firewall works, it’s only able to process packets on a single core. Not a problem for the dual-core 500 MHz ERL when you’re pushing under ~200 Mbps, but more of a problem when you’re trying to push 1000 Mbps.<br>
I needed something that was faster on a per core basis but still satisfied my usual firewall requirements. Loosely:</p>
</blockquote>

<ul>
<li>small form factor</li>
<li>fan-less</li>
<li>multiple Intel Ethernet ports (good driver support)</li>
<li>low power consumption</li>
<li>not your regular off-the-shelf kit</li>
<li>relatively inexpensive</li>
</ul>

<blockquote>
<p>After evaluating a LOT of different options I settled on the Protectli Vault FW2B. With the specs required for the firewall (2 GB RAM and 8 GB drive) it comes in at a mere $239 USD! Installation of OpenBSD 6.4 was pretty straight forward, with the only problem I had was Etcher did not want to recognize the ‘.fs’ extension on the install image as bootable image. I quickly fixed this with good old Unix dd(1) on the Mac. Everything else was incredibly smooth.<br>
After loading the same rulesets on my new install, the results were fantastic!</p>
</blockquote>

<ul>
<li>Monitoring</li>
</ul>

<blockquote>
<p>Now that the machine was up and running (and fast!), I wanted to know what it was doing. Over the years, I’ve always relied on the venerable pfstat software to give me an overview of my traffic, blocked packets, etc. It looks like this:<br>
As you can see it’s based on RRDtool, which was simply incredible in its time. Having worked on monitoring almost continuously for almost the past decade, I wanted to see if we could re-implement the same functionality using more modern tools as RRDtool and pfstat definitely have their limitations. This might be an opportunity to learn some new things as well.<br>
I came across pf-graphite which seemed to be a great start! He had everything I needed and I added a few more stats from the detailed interface statistics and the ability for the code to exit for running from cron(8), which is a bit more OpenBSD style. I added code for sending to some SaaS metrics platforms but ultimately stuck with straight Graphite. One important thing to note was to use the Graphite pickle port (2004) instead of the default plaintext port for submission. Also you will need to set a loginterface in your ‘pf.conf’.<br>
A bit of tweaking with Graphite and Grafana, and I had a pretty darn good recreation of my original PF stats dashboard!<br>
As you can see it’s based on RRDtool, which was simply incredible in its time. Having worked on monitoring almost continuously for almost the past decade, I wanted to see if we could re-implement the same functionality using more modern tools as RRDtool and pfstat definitely have their limitations. This might be an opportunity to learn some new things as well.<br>
I came across pf-graphite which seemed to be a great start! He had everything I needed and I added a few more stats from the detailed interface statistics and the ability for the code to exit for running from cron(8), which is a bit more OpenBSD style. I added code for sending to some SaaS metrics platforms but ultimately stuck with straight Graphite. One important thing to note was to use the Graphite pickle port (2004) instead of the default plaintext port for submission. Also you will need to set a loginterface in your ‘pf.conf’.<br>
A bit of tweaking with Graphite and Grafana, and I had a pretty darn good recreation of my original PF stats dashboard!</p>
</blockquote>

<p>###<a href="https://twobithistory.org/2018/11/12/cat.html" target="_blank" rel="nofollow noopener">The Source History of Cat</a></p>

<blockquote>
<p>I once had a debate with members of my extended family about whether a computer science degree is a degree worth pursuing. I was in college at the time and trying to decide whether I should major in computer science. My aunt and a cousin of mine believed that I shouldn’t. They conceded that knowing how to program is of course a useful and lucrative thing, but they argued that the field of computer science advances so quickly that everything I learned would almost immediately be outdated. Better to pick up programming on the side and instead major in a field like economics or physics where the basic principles would be applicable throughout my lifetime.<br>
I knew that my aunt and cousin were wrong and decided to major in computer science. (Sorry, aunt and cousin!) It is easy to see why the average person might believe that a field like computer science, or a profession like software engineering, completely reinvents itself every few years. We had personal computers, then the web, then phones, then machine learning… technology is always changing, so surely all the underlying principles and techniques change too. Of course, the amazing thing is how little actually changes. Most people, I’m sure, would be stunned to know just how old some of the important software on their computer really is. I’m not talking about flashy application software, admittedly—my copy of Firefox, the program I probably use the most on my computer, is not even two weeks old. But, if you pull up the manual page for something like grep, you will see that it has not been updated since 2010 (at least on MacOS). And the original version of grep was written in 1974, which in the computing world was back when dinosaurs roamed Silicon Valley. People (and programs) still depend on grep every day.<br>
My aunt and cousin thought of computer technology as a series of increasingly elaborate sand castles supplanting one another after each high tide clears the beach. The reality, at least in many areas, is that we steadily accumulate programs that have solved problems. We might have to occasionally modify these programs to avoid software rot, but otherwise they can be left alone.  grep is a simple program that solves a still-relevant problem, so it survives. Most application programming is done at a very high level, atop a pyramid of much older code solving much older problems. The ideas and concepts of 30 or 40 years ago, far from being obsolete today, have in many cases been embodied in software that you can still find installed on your laptop.<br>
I thought it would be interesting to take a look at one such old program and see how much it had changed since it was first written. cat is maybe the simplest of all the Unix utilities, so I’m going to use it as my example. Ken Thompson wrote the original implementation of cat in 1969. If I were to tell somebody that I have a program on my computer from 1969, would that be accurate? How much has cat really evolved over the decades? How old is the software on our computers?<br>
Thanks to repositories like this one, we can see exactly how cat has evolved since 1969. I’m going to focus on implementations of cat that are ancestors of the implementation I have on my Macbook. You will see, as we trace cat from the first versions of Unix down to the cat in MacOS today, that the program has been rewritten more times than you might expect—but it ultimately works more or less the same way it did fifty years ago.</p>
</blockquote>

<ul>
<li>Research Unix</li>
</ul>

<blockquote>
<p>Ken Thompson and Dennis Ritchie began writing Unix on a PDP 7. This was in 1969, before C, so all of the early Unix software was written in PDP 7 assembly. The exact flavor of assembly they used was unique to Unix, since Ken Thompson wrote his own assembler that added some features on top of the assembler provided by DEC, the PDP 7’s manufacturer. Thompson’s changes are all documented in the original Unix Programmer’s Manual under the entry for as, the assembler.<br>
The first implementation of cat is thus in PDP 7 assembly. I’ve added comments that try to explain what each instruction is doing, but the program is still difficult to follow unless you understand some of the extensions Thompson made while writing his assembler. There are two important ones. First, the ; character can be used to separate multiple statements on the same line. It appears that this was used most often to put system call arguments on the same line as the sys instruction. Second, Thompson added support for “temporary labels” using the digits 0 through 9. These are labels that can be reused throughout a program, thus being, according to the Unix Programmer’s Manual, “less taxing both on the imagination of the programmer and on the symbol space of the assembler.” From any given instruction, you can refer to the next or most recent temporary label n using nf and nb respectively. For example, if you have some code in a block labeled 1:, you can jump back to that block from further down by using the instruction jmp 1b. (But you cannot jump forward to that block from above without using jmp 1f instead.)<br>
The most interesting thing about this first version of cat is that it contains two names we should recognize. There is a block of instructions labeled getc and a block of instructions labeled putc, demonstrating that these names are older than the C standard library. The first version of cat actually contained implementations of both functions. The implementations buffered input so that reads and writes were not done a character at a time.<br>
The first version of cat did not last long. Ken Thompson and Dennis Ritchie were able to persuade Bell Labs to buy them a PDP 11 so that they could continue to expand and improve Unix. The PDP 11 had a different instruction set, so cat had to be rewritten. I’ve marked up this second version of cat with comments as well. It uses new assembler mnemonics for the new instruction set and takes advantage of the PDP 11’s various addressing modes. (If you are confused by the parentheses and dollar signs in the source code, those are used to indicate different addressing modes.) But it also leverages the  ; character and temporary labels just like the first version of cat, meaning that these features must have been retained when as was adapted for the PDP 11.<br>
The second version of cat is significantly simpler than the first. It is also more “Unix-y” in that it doesn’t just expect a list of filename arguments—it will, when given no arguments, read from stdin, which is what cat still does today. You can also give this version of cat an argument of - to indicate that it should read from stdin.<br>
In 1973, in preparation for the release of the Fourth Edition of Unix, much of Unix was rewritten in C. But cat does not seem to have been rewritten in C until a while after that. The first C implementation of cat only shows up in the Seventh Edition of Unix. This implementation is really fun to look through because it is so simple. Of all the implementations to follow, this one most resembles the idealized cat used as a pedagogic demonstration in K&amp;R C. The heart of the program is the classic two-liner:</p>
</blockquote>

<p><code>while ((c = getc(fi)) != EOF)</code><br>
<code>putchar(c);</code></p>

<blockquote>
<p>There is of course quite a bit more code than that, but the extra code is mostly there to ensure that you aren’t reading and writing to the same file. The other interesting thing to note is that this implementation of cat only recognized one flag, -u. The -u flag could be used to avoid buffering input and output, which cat would otherwise do in blocks of 512 bytes.</p>
</blockquote>

<ul>
<li>BSD</li>
</ul>

<blockquote>
<p>After the Seventh Edition, Unix spawned all sorts of derivatives and offshoots. MacOS is built on top of Darwin, which in turn is derived from the Berkeley Software Distribution (BSD), so BSD is the Unix offshoot we are most interested in. BSD was originally just a collection of useful programs and add-ons for Unix, but it eventually became a complete operating system. BSD seems to have relied on the original cat implementation up until the fourth BSD release, known as 4BSD, when support was added for a whole slew of new flags. The 4BSD implementation of cat is clearly derived from the original implementation, though it adds a new function to implement the behavior triggered by the new flags. The naming conventions already used in the file were adhered to—the fflg variable, used to mark whether input was being read from stdin or a file, was joined by nflg, bflg, vflg, sflg, eflg, and  tflg, all there to record whether or not each new flag was supplied in the invocation of the program. These were the last command-line flags added to  cat; the man page for cat today lists these flags and no others, at least on Mac OS. 4BSD was released in 1980, so this set of flags is 38 years old.<br>
cat would be entirely rewritten a final time for BSD Net/2, which was, among other things, an attempt to avoid licensing issues by replacing all AT&amp;T Unix-derived code with new code. BSD Net/2 was released in 1991. This final rewrite of cat was done by Kevin Fall, who graduated from Berkeley in 1988 and spent the next year working as a staff member at the Computer Systems Research Group (CSRG). Fall told me that a list of Unix utilities still implemented using AT&amp;T code was put up on a wall at CSRG and staff were told to pick the utilities they wanted to reimplement. Fall picked cat and  mknod. The cat implementation bundled with MacOS today is built from a source file that still bears his name at the very top. His version of cat, even though it is a relatively trivial program, is today used by millions.<br>
Fall’s original implementation of cat is much longer than anything we have seen so far. Other than support for a -? help flag, it adds nothing in the way of new functionality. Conceptually, it is very similar to the 4BSD implementation. It is only longer because Fall separates the implementation into a “raw” mode and a “cooked” mode. The “raw” mode is cat classic; it prints a file character for character. The “cooked” mode is cat with all the 4BSD command-line options. The distinction makes sense but it also pads out the implementation so that it seems more complex at first glance than it actually is. There is also a fancy error handling function at the end of the file that further adds to its length.</p>
</blockquote>

<ul>
<li>MacOS</li>
</ul>

<blockquote>
<p>The very first release of Mac OS X thus includes an implementation of cat pulled from the NetBSD project. So the first Mac OS X implementation of cat is Kevin Fall’s cat. The only thing that had changed over the intervening decade was that Fall’s error-handling function err() was removed and the err() function made available by err.h was used in its place. err.h is a BSD extension to the C standard library.<br>
The NetBSD implementation of cat was later swapped out for FreeBSD’s implementation of cat. According to Wikipedia, Apple began using FreeBSD instead of NetBSD in Mac OS X 10.3 (Panther). But the Mac OS X implementation of cat, according to Apple’s own open source releases, was not replaced until Mac OS X 10.5 (Leopard) was released in 2007. The FreeBSD implementation that Apple swapped in for the Leopard release is the same implementation on Apple computers today. As of 2018, the implementation has not been updated or changed at all since 2007.<br>
So the Mac OS cat is old. As it happens, it is actually two years older than its 2007 appearance in MacOS X would suggest. This 2005 change, which is visible in FreeBSD’s Github mirror, was the last change made to FreeBSD’s cat before Apple pulled it into Mac OS X. So the Mac OS X cat implementation, which has not been kept in sync with FreeBSD’s cat implementation, is officially 13 years old. There’s a larger debate to be had about how much software can change before it really counts as the same software; in this case, the source file has not changed at all since 2005.<br>
The cat implementation used by Mac OS today is not that different from the implementation that Fall wrote for the 1991 BSD Net/2 release. The biggest difference is that a whole new function was added to provide Unix domain socket support. At some point, a FreeBSD developer also seems to have decided that Fall’s raw_args() function and cook_args() should be combined into a single function called scanfiles(). Otherwise, the heart of the program is still Fall’s code.<br>
I asked Fall how he felt about having written the cat implementation now used by millions of Apple users, either directly or indirectly through some program that relies on cat being present. Fall, who is now a consultant and a co-author of the most recent editions of TCP/IP Illustrated, says that he is surprised when people get such a thrill out of learning about his work on cat. Fall has had a long career in computing and has worked on many high-profile projects, but it seems that many people still get most excited about the six months of work he put into rewriting cat in 1989.</p>
</blockquote>

<ul>
<li>The Hundred-Year-Old Program</li>
</ul>

<blockquote>
<p>In the grand scheme of things, computers are not an old invention. We’re used to hundred-year-old photographs or even hundred-year-old camera footage. But computer programs are in a different category—they’re high-tech and new. At least, they are now. As the computing industry matures, will we someday find ourselves using programs that approach the hundred-year-old mark?<br>
Computer hardware will presumably change enough that we won’t be able to take an executable compiled today and run it on hardware a century from now. Perhaps advances in programming language design will also mean that nobody will understand C in the future and cat will have long since been rewritten in another language. (Though C has already been around for fifty years, and it doesn’t look like it is about to be replaced any time soon.) But barring all that, why not just keep using the cat we have forever?<br>
I think the history of cat shows that some ideas in computer science are in fact very durable. Indeed, with cat, both the idea and the program itself are old. It may not be accurate to say that the cat on my computer is from 1969. But I could make a case for saying that the cat on my computer is from 1989, when Fall wrote his implementation of cat. Lots of other software is just as ancient. So maybe we shouldn’t think of computer science and software development primarily as fields that disrupt the status quo and invent new things. Our computer systems are built out of historical artifacts. At some point, we may all spend more time trying to understand and maintain those historical artifacts than we spend writing new code.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://www.bleepingcomputer.com/news/security/trivial-bug-in-xorg-gives-root-permission-on-linux-and-bsd-systems/" target="_blank" rel="nofollow noopener">Trivial Bug in X.Org Gives Root Permission on Linux and BSD Systems</a></p>

<blockquote>
<p>A vulnerability that is trivial to exploit allows privilege escalation to root level on Linux and BSD distributions using <a href="http://X.Org" target="_blank" rel="nofollow noopener">X.Org</a> server, the open source implementation of the X Window System that offers the graphical environment.<br>
The flaw is now identified as CVE-2018-14665 (credited to security researcher Narendra Shinde). It has been present in xorg-server for two years, since version 1.19.0 and is exploitable by a limited user as long as the X server runs with elevated permissions.</p>
</blockquote>

<ul>
<li>Privilege escalation and arbitrary file overwrite</li>
</ul>

<blockquote>
<p>An advisory on Thursday describes the problem as an “incorrect command-line parameter validation” that also allows an attacker to overwrite arbitrary files.<br>
Privilege escalation can be accomplished via the -modulepath argument by setting an insecure path to modules loaded by the <a href="http://X.org" target="_blank" rel="nofollow noopener">X.org</a> server. Arbitrary file overwrite is possible through the -logfile argument, because of improper verification when parsing the option.</p>
</blockquote>

<ul>
<li>Bug could have been avoided in OpenBSD 6.4</li>
</ul>

<blockquote>
<p>OpenBSD, the free and open-source operating system with a strong focus on security, uses xorg. On October 18, the project released version 6.4 of the OS, affected by CVE-2018-14665. This could have been avoided, though.<br>
Theo de Raadt, founder and leader of the OpenBSD project, says that X maintainer knew about the problem since at least October 11. For some reason, the OpenBSD developers received the message one hour before the public announcement this Thursday, a week after their new OS release.<br>
“As yet we don’t have answers about why our X maintainer (on the X security team) and his team provided information to other projects (some who don’t even ship with this new X server) but chose to not give us a heads-up which could have saved all the new 6.4 users a lot of grief,” Raadt says.<br>
Had OpenBSD developers known about the bug before the release, they could have taken steps to mitigate the problem or delay the launch for a week or two.<br>
To remedy the problem, the OpenBSD project provides a source code patch, which requires compiling and rebuilding the X server.<br>
As a temporary solution, users can disable the Xorg binary by running the following command:</p>
</blockquote>

<p><code>chmod u-s /usr/X11R6/bin/Xorg</code></p>

<ul>
<li>Trivial exploitation</li>
</ul>

<blockquote>
<p>CVE-2018-14665 does not help compromise systems, but it is useful in the following stages of an attack.<br>
Leveraging it after gaining access to a vulnerable machine is fairly easy. Matthew Hickey, co-founder, and head of Hacker House security outfit created and published an exploit, saying that it can be triggered from a remote SSH session.<br>
Three hours after the public announcement of the security gap, Daemon Security CEO Michael Shirk replied with one line that overwrote shadow files on the system. Hickey did one better and fit the entire local privilege escalation exploit in one line.<br>
Apart from OpenBSD, other operating systems affected by the bug include Debian and Ubuntu, Fedora and its downstream distro  Red Hat Enterprise Linux along with its community-supported counterpart CentOS.</p>
</blockquote>

<hr>

<p>###<a href="https://blog.gsora.xyz/openbsd-on-the-desktop-some-thoughts/" target="_blank" rel="nofollow noopener">OpenBSD on the Desktop: some thoughts</a></p>

<blockquote>
<p>I’ve been using OpenBSD on my ThinkPad X230 for some weeks now, and the experience has been peculiar in some ways.<br>
The OS itself in my opinion is not ready for widespread desktop usage, and the development team is not trying to push it in the throat of anybody who wants a Windows or macOS alternative.<br>
You need to understand a little bit of how *NIX systems work, because you’ll use CLI more than UI.<br>
That’s not necessarily bad, and I’m sure I learned a trick or two that could translate easily to Linux or macOS.<br>
Their development process is purely based on developers that love to contribute and hack around, just because it’s fun.<br>
Even the mailing list is a cool place to hang on!<br>
Code correctness and security are a must, nothing gets committed if it doesn’t get reviewed thoroughly first - nowadays the first two properties should be enforced in every major operating system.<br>
I like the idea of a platform that continually evolves.<br>
pledge(2) and unveil(2) are the proof that with a little effort, you can secure existing software better than ever.<br>
I like the “sensible defaults” approach, having an OS ready to be used - UI included if you selected it during the setup process - is great.<br>
Just install a browser and you’re ready to go.<br>
Manual pages on OpenBSD are real manuals, not an extension of the “–help” command found in most CLI softwares.<br>
They help you understand inner workings of the operating system, no internet connection needed.<br>
There are some trade-offs, too.<br>
Performance is not first-class, mostly because of all the security mitigations and checks done at runtime3.<br>
I write Go code in neovim, and sometimes you can feel a slight slowdown when you’re compiling and editing multiple files at the same time, but usually I can’t notice any meaningful difference.<br>
Browsers are a different matter though, you can definitely feel something differs from the experience you can have on mainstream operating systems.<br>
But again, trade-offs.<br>
To use OpenBSD on the desktop you must be ready to sacrifice some of the goodies of mainstream OSes, but if you’re searching for a zen place to do your computing stuff, it’s the best you can get right now.</p>
</blockquote>

<hr>

<p>###<a href="https://distrowatch.com/weekly.php?issue=20180813#nomadbsd" target="_blank" rel="nofollow noopener">Review: NomadBSD 1.1</a></p>

<blockquote>
<p>One of the most recent additions to the DistroWatch database is NomadBSD. According to the NomadBSD website: “NomadBSD is a 64-bit live system for USB flash drives, based on FreeBSD. Together with automatic hardware detection and setup, it is configured to be used as a desktop system that works out of the box, but can also be used for data recovery.”<br>
The latest release of NomadBSD (or simply “Nomad”, as I will refer to the project in this review) is version 1.1. It is based on FreeBSD 11.2 and is offered in two builds, one for generic personal computers and one for Macbooks. The release announcement mentions version 1.1 offers improved video driver support for Intel and AMD cards. The operating system ships with Octopkg for graphical package management and the system should automatically detect, and work with, VirtualBox environments.<br>
Nomad 1.1 is available as a 2GB download, which we then decompress to produce a 4GB file which can be written to a USB thumb drive. There is no optical media build of Nomad as it is designed to be run entirely from the USB drive, and write data persistently to the drive, rather than simply being installed from the USB media.</p>
</blockquote>

<ul>
<li>Initial setup</li>
</ul>

<blockquote>
<p>Booting from the USB drive brings up a series of text-based menus which ask us to configure key parts of the operating system. We are asked to select our time zone, keyboard layout, keyboard model, keyboard mapping and our preferred language. While we can select options from a list, the options tend to be short and cryptic. Rather than “English (US)”, for example, we might be given “en_US”. We are also asked to create a password for the root user account and another one for a regular user which is called “nomad”. We can then select which shell nomad will use. The default is zsh, but there are plenty of other options, including csh and bash. We have the option of encrypting our user’s home directory.<br>
I feel it is important to point out that these settings, and nomad’s home directory, are stored on the USB drive. The options and settings we select will not be saved to our local hard drive and our configuration choices will not affect other operating systems already installed on our computer. At the end, the configuration wizard asks if we want to run the BSDstats service. This option is not explained at all, but it contacts BSDstats to provide some basic statistics on BSD users.<br>
The system then takes a few minutes to apply its changes to the USB drive and automatically reboots the computer. While running the initial setup wizard, I had nearly identical experiences when running Nomad on a physical computer and running the operating system in a VirtualBox virtual machine. However, after the initial setup process was over, I had quite different experiences depending on the environment so I want to divide my experiences into two different sections.</p>
</blockquote>

<ul>
<li>Physical desktop computer</li>
</ul>

<blockquote>
<p>At first, Nomad failed to boot on my desktop computer. From the operating system’s boot loader, I enabled Safe Mode which allowed Nomad to boot. At that point, Nomad was able to start up, but would only display a text console. The desktop environment failed to start when running in Safe Mode.<br>
Networking was also disabled by default and I had to enable a network interface and DHCP address assignment to connect to the Internet. Instructions for enabling networking can be found in FreeBSD’s Handbook. Once we are on-line we can use the pkg command line package manager to install and update software. Had the desktop environment worked then the Octopkg graphical package manager would also be available to make browsing and installing software a point-n-click experience.<br>
Had I been able to run the desktop for prolonged amounts of time I could have made use of such pre-installed items as the Firefox web browser, the VLC media player, LibreOffice and Thunderbird. Nomad offers a fairly small collection of desktop applications, but what is there is mostly popular, capable software.<br>
When running the operating system I noted that, with one user logged in, Nomad only runs 15 processes with the default configuration. These processes require less than 100MB of RAM, and the whole system fits comfortably on a 4GB USB drive.</p>
</blockquote>

<ul>
<li>Conclusions</li>
</ul>

<blockquote>
<p>Ultimately using Nomad was not a practical option for me. The operating system did not work well with my hardware, or the virtual environment. In the virtual machine, Nomad crashed consistently after just a few minutes of uptime. On the desktop computer, I could not get a desktop environment to run. The command line tools worked well, and the system performed tasks very quickly, but a command line only environment is not well suited to my workflow.<br>
I like the idea of what NomadBSD is offering. There are not many live desktop flavours of FreeBSD, apart from GhostBSD. It was nice to see developers trying to make a FreeBSD-based, plug-and-go operating system that would offer a desktop and persistent storage. I suspect the system would work and perform its stated functions on different hardware, but in my case my experiment was necessarily short lived.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://oshogbo.vexillium.org/blog/50/" target="_blank" rel="nofollow noopener">FreeBSD lockless algorithm - seq</a></li>
<li><a href="https://github.com/bob-beck/libtls/blob/master/TUTORIAL.md" target="_blank" rel="nofollow noopener">Happy Bob’s Libtls tutorial</a></li>
<li><a href="https://chown.me/blog/locking-openbsd-when-sleeping.html" target="_blank" rel="nofollow noopener">Locking OpenBSD when it’s sleeping</a></li>
<li><a href="https://www.geoghegan.ca/serviio.html" target="_blank" rel="nofollow noopener">iio - The OpenBSD Way</a></li>
<li><a href="https://bsdboy.ml/blog/installing-hugo-and-hosting-on-openbsd.html" target="_blank" rel="nofollow noopener">Installing Hugo and Hosting Website on OpenBSD Server</a></li>
<li><a href="http://blog.osorio.me/post.php?idpost=1" target="_blank" rel="nofollow noopener">Fosdem 2019 reminder: BSD devroom CfP</a></li>
<li><a href="https://www.youtube.com/watch?v=4gOoPxGKKjA&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">OpenBGPD, gotta go fast! - Claudio Jeker</a></li>
<li><a href="http://project-trident.org/post/2018-11-10_rc3-available/" target="_blank" rel="nofollow noopener">Project Trident RC3 available</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2018-November/001849.html" target="_blank" rel="nofollow noopener">FreeBSD 10.4 EOL</a></li>
<li><a href="https://bsd.network/@ephemeris/101073578346815313" target="_blank" rel="nofollow noopener">Play “Crazy Train” through your APU2 speaker</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Tobias - <a href="http://dpaste.com/174WGEY#wrap" target="_blank" rel="nofollow noopener">Satisfying my storage hunger and wallet pains</a></li>
<li>Lasse - <a href="http://dpaste.com/1QBMH73" target="_blank" rel="nofollow noopener">Question regarding FreeBSD backups</a>
<ul>
<li><a href="https://twitter.com/dlangille" target="_blank" rel="nofollow noopener">https://twitter.com/dlangille</a></li>
<li><a href="https://dan.langille.org/" target="_blank" rel="nofollow noopener">https://dan.langille.org/</a></li>
</ul>

</li><br>
</ul><br>
<hr>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 272: Detain the bhyve | BSD Now 272</title>
  <link>https://www.bsdnow.tv/272</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2899</guid>
  <pubDate>Thu, 15 Nov 2018 13:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/23422ca9-e188-4755-aaf1-295422643d21.mp3" length="41375491" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Byproducts of reading OpenBSD’s netcat code, learnings from porting your own projects to FreeBSD, OpenBSD’s unveil(), NetBSD’s Virtual Machine Monitor, what 'dependency' means in Unix init systems, jailing bhyve, and more.</itunes:subtitle>
  <itunes:duration>1:08:39</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>&lt;p&gt;Byproducts of reading OpenBSD’s netcat code, learnings from porting your own projects to FreeBSD, OpenBSD’s unveil(), NetBSD’s Virtual Machine Monitor, what 'dependency' means in Unix init systems, jailing bhyve, and more.&lt;br&gt;
&lt;/p&gt;&lt;p&gt;##Headlines&lt;br&gt; ###&lt;a href="https://nanxiao.me/en/the-byproducts-of-reading-openbsd-netcat-code/" target="_blank" rel="nofollow noopener"&gt;The byproducts of reading OpenBSD netcat code&lt;/a&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;When I took part in a training last year, I heard about netcat for the first time. During that class, the tutor showed some hacks and tricks of using netcat which appealed to me and motivated me to learn the guts of it. Fortunately, in the past 2 months, I was not so busy that I can spend my spare time to dive into OpenBSD‘s netcat source code, and got abundant byproducts during this process.&lt;br&gt; (1) Brush up socket programming. I wrote my first network application more than 10 years ago, and always think the socket APIs are marvelous. Just ~10 functions (socket, bind, listen, accept…) with some IO multiplexing buddies (select, poll, epoll…) connect the whole world, wonderful! From that time, I developed a habit that is when touching a new programming language, network programming is an essential exercise. Even though I don’t write socket related code now, reading netcat socket code indeed refresh my knowledge and teach me new stuff.&lt;br&gt; (2) Write a tutorial about netcat. I am mediocre programmer and will forget things when I don’t use it for a long time. So I just take notes of what I think is useful. IMHO, this “tutorial” doesn’t really mean teach others something, but just a journal which I can refer when I need in the future.&lt;br&gt; (3) Submit patches to netcat. During reading code, I also found bugs and some enhancements. Though trivial contributions to OpenBSD, I am still happy and enjoy it.&lt;br&gt; (4) Implement a C++ encapsulation of libtls. OpenBSD‘s netcat supports tls/ssl connection, but it needs you take full care of resource management (memory, socket, etc), otherwise a small mistake can lead to resource leak which is fatal for long-live applications (In fact, the two bugs I reported to OpenBSD are all related resource leak). Therefore I develop a simple C++ library which wraps the libtls and hope it can free developer from this troublesome problem and put more energy in application logic part.&lt;br&gt; Long story to short, reading classical source code is a rewarding process, and you can consider to try it yourself.&lt;/p&gt; &lt;/blockquote&gt; &lt;hr&gt; &lt;p&gt;###&lt;a href="https://github.com/shlomif/what-i-learned-from-porting-to-freebsd#what-i-learned-from-porting-my-projects-to-freebsd" target="_blank" rel="nofollow noopener"&gt;What I learned from porting my projects to FreeBSD&lt;/a&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Introduction&lt;/li&gt; &lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;I set up a local FreeBSD VirtualBox VM to test something, and it seems to work very well. Due to the novelty factor, I decided to get my software projects to build and pass the tests there.&lt;/p&gt; &lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;The Projects&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;&lt;a href="https://github.com/shlomif/shlomif-computer-settings/" target="_blank" rel="nofollow noopener"&gt;https://github.com/shlomif/shlomif-computer-settings/&lt;/a&gt; (my dotfiles).&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;&lt;a href="https://web-cpan.shlomifish.org/latemp/" target="_blank" rel="nofollow noopener"&gt;https://web-cpan.shlomifish.org/latemp/&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;&lt;a href="https://fc-solve.shlomifish.org/" target="_blank" rel="nofollow noopener"&gt;https://fc-solve.shlomifish.org/&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;&lt;a href="https://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/" target="_blank" rel="nofollow noopener"&gt;https://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;&lt;a href="https://better-scm.shlomifish.org/source/" target="_blank" rel="nofollow noopener"&gt;https://better-scm.shlomifish.org/source/&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;&lt;a href="http://perl-begin.org/source/" target="_blank" rel="nofollow noopener"&gt;http://perl-begin.org/source/&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;&lt;a href="https://www.shlomifish.org/meta/site-source/" target="_blank" rel="nofollow noopener"&gt;https://www.shlomifish.org/meta/site-source/&lt;/a&gt;&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Written using a mix of C, Perl 5, Python, Ruby, GNU Bash, XML, CMake, XSLT, XHTML5, XHTML1.1, Website META Language, JavaScript and more.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Work fine on several Linux distributions and have &lt;a href="https://en.wikipedia.org/wiki/Travis_CI" target="_blank" rel="nofollow noopener"&gt;https://en.wikipedia.org/wiki/Travis_CI&lt;/a&gt; using Ubuntu 14.04 hosts&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Some pass builds and tests on AppVeyor/Win64&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;What I Learned:&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;FreeBSD on VBox has become very reliable&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Some executables on FreeBSD are in /usr/local/bin instead of /usr/bin&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;make on FreeBSD is not GNU make&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;m4 on FreeBSD is not compatible with GNU m4&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Some CPAN Modules fail to install using local-lib there&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;DocBook/XSL Does Not Live Under /usr/share/sgml&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;FreeBSD’s grep does not have a “-P” flag by default&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;FreeBSD has no “nproc” command&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Conclusion:&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;It is easier to port a shell than a shell script. — Larry Wall&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;I ran into some cases where my scriptology was lacking and suboptimal, even for my own personal use, and fixed them.&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;hr&gt; &lt;p&gt;##News Roundup&lt;br&gt; ###&lt;a href="https://lwn.net/Articles/767137/" target="_blank" rel="nofollow noopener"&gt;OpenBSD’s unveil()&lt;/a&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;One of the key aspects of hardening the user-space side of an operating system is to provide mechanisms for restricting which parts of the filesystem hierarchy a given process can access. Linux has a number of mechanisms of varying capability and complexity for this purpose, but other kernels have taken a different approach. Over the last few months, OpenBSD has inaugurated a new system call named unveil() for this type of hardening that differs significantly from the mechanisms found in Linux.&lt;br&gt; The value of restricting access to the filesystem, from a security point of view, is fairly obvious. A compromised process cannot exfiltrate data that it cannot read, and it cannot corrupt files that it cannot write. Preventing unwanted access is, of course, the purpose of the permissions bits attached to every file, but permissions fall short in an important way: just because a particular user has access to a given file does not necessarily imply that every program run by that user should also have access to that file. There is no reason why your PDF viewer should be able to read your SSH keys, for example. Relying on just the permission bits makes it easy for a compromised process to access files that have nothing to do with that process’s actual job.&lt;br&gt; In a Linux system, there are many ways of trying to restrict that access; that is one of the purposes behind the Linux security module (LSM) architecture, for example. The SELinux LSM uses a complex matrix of labels and roles to make access-control decisions. The AppArmor LSM, instead, uses a relatively simple table of permissible pathnames associated with each application; that approach was highly controversial when AppArmor was first merged, and is still looked down upon by some security developers. Mount namespaces can be used to create a special view of the filesystem hierarchy for a set of processes, rendering much of that hierarchy invisible and, thus, inaccessible. The seccomp mechanism can be used to make decisions on attempts by a process to access files, but that approach is complex and error-prone. Yet another approach can be seen in the Qubes OS distribution, which runs applications in virtual machines to strictly control what they can access.&lt;br&gt; Compared to many of the options found in Linux, unveil() is an exercise in simplicity. This system call, introduced in July, has this prototype:&lt;/p&gt; &lt;/blockquote&gt; &lt;p&gt;&lt;code&gt;int unveil(const char *path, const char *permissions);&lt;/code&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;A process that has never called unveil() has full access to the filesystem hierarchy, modulo the usual file permissions and any restrictions that may have been applied by calling pledge(). Calling unveil() for the first time will “drop a veil” across the entire filesystem, rendering the whole thing invisible to the process, with one exception: the file or directory hierarchy starting at path will be accessible with the given permissions. The permissions string can contain any of “r” for read access, “w” for write, “x” for execute, and “c” for the ability to create or remove the path.&lt;br&gt; Subsequent calls to unveil() will make other parts of the filesystem hierarchy accessible; the unveil() system call itself still has access to the entire hierarchy, so there is no problem with unveiling distinct subtrees that are, until the call is made, invisible to the process. If one unveil() call applies to a subtree of a hierarchy unveiled by another call, the permissions associated with the more specific call apply.&lt;br&gt; Calling unveil() with both arguments as null will block any further calls, setting the current view of the filesystem in stone. Calls to unveil() can also be blocked using pledge(). Either way, once the view of the filesystem has been set up appropriately, it is possible to lock it so that the process cannot expand its access in the future should it be taken over and turn hostile.&lt;br&gt; unveil() thus looks a bit like AppArmor, in that it is a path-based mechanism for restricting access to files. In either case, one must first study the program in question to gain a solid understanding of which files it needs to access before closing things down, or the program is likely to break. One significant difference (beyond the other sorts of behavior that AppArmor can control) is that AppArmor’s permissions are stored in an external policy file, while unveil() calls are made by the application itself. That approach keeps the access rules tightly tied to the application and easy for the developers to modify, but it also makes it harder for system administrators to change them without having to rebuild the application from source.&lt;br&gt; One can certainly aim a number of criticisms at unveil() — all of the complaints that have been leveled at path-based access control and more. But the simplicity of unveil() brings a certain kind of utility, as can be seen in the large number of OpenBSD applications that are being modified to use it. OpenBSD is gaining a base level of protection against unintended program behavior; while it is arguably possible to protect a Linux system to a much greater extent, the complexity of the mechanisms involved keeps that from happening in a lot of real-world deployments. There is a certain kind of virtue to simplicity in security mechanisms.&lt;/p&gt; &lt;/blockquote&gt; &lt;hr&gt; &lt;p&gt;###&lt;a href="http://m00nbsd.net/4e0798b7f2620c965d0dd9d6a7a2f296.html" target="_blank" rel="nofollow noopener"&gt;NetBSD Virtual Machine Monitor (NVVM)&lt;/a&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;NetBSD Virtual Machine Monitor&lt;/li&gt; &lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;The NVMM driver provides hardware-accelerated virtualization support on NetBSD. It is made of an ~MI frontend, to which MD backends can be plugged. A virtualization API is provided in libnvmm, that allows to easily create and manage virtual machines via NVMM. Two additional components are shipped as demonstrators, toyvirt and smallkern: the former is a toy virtualizer, that executes in a VM the 64bit ELF binary given as argument, the latter is an example of such binary.&lt;/p&gt; &lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;Download&lt;/li&gt; &lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;The source code of NVMM, plus the associated tools, can be downloaded here.&lt;/p&gt; &lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;Technical details&lt;/li&gt; &lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;NVMM can support up to 128 virtual machines, each having a maximum of 256 VCPUs and 4GB of RAM.&lt;br&gt; Each virtual machine is granted access to most of the CPU registers: the GPRs (obviously), the Segment Registers, the Control Registers, the Debug Registers, the FPU (x87 and SSE), and several MSRs.&lt;br&gt; Events can be injected in the virtual machines, to emulate device interrupts. A delay mechanism is used, and allows VMM software to schedule the interrupt right when the VCPU can receive it. NMIs can be injected as well, and use a similar mechanism.&lt;br&gt; The host must always be x86_64, but the guest has no constraint on the mode, so it can be x86_32, PAE, real mode, and so on.&lt;br&gt; The TSC of each VCPU is always re-based on the host CPU it is executing on, and is therefore guaranteed to increase regardless of the host CPU. However, it may not increase monotonically, because it is not possible to fully hide the host effects on the guest during #VMEXITs.&lt;br&gt; When there are more VCPUs than the host TLB can deal with, NVMM uses a shared ASID, and flushes the shared-ASID VCPUs on each VM switch.&lt;br&gt; The different intercepts are configured in such a way that they cover everything that needs to be emulated. In particular, the LAPIC can be emulated by VMM software, by intercepting reads/writes to the LAPIC page in memory, and monitoring changes to CR8 in the exit state.&lt;/p&gt; &lt;/blockquote&gt; &lt;hr&gt; &lt;p&gt;###&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/sysadmin/InitDependencyUnclear" target="_blank" rel="nofollow noopener"&gt;What ‘dependency’ means in Unix init systems is underspecified (utoronto.ca)&lt;/a&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;I was reading Davin McCall’s On the vagaries of init systems (via) when I ran across the following, about the relationship between various daemons (services, etc):&lt;br&gt; I do not see any compelling reason for having ordering relationships without actual dependency, as both Nosh and Systemd provide for. In comparison, Dinit’s dependencies also imply an ordering, which obviates the need to list a dependency twice in the service description.&lt;br&gt; Well, this may be an easy one but it depends on what an init system means by ‘dependency’. Let’s consider ®syslog and the SSH daemon. I want the syslog daemon to be started before the SSH daemon is started, so that the SSH daemon can log things to it from the beginning. However, I very much do not want the SSH daemon to not be started (or to be shut down) if the syslog daemon fails to start or later fails. If syslog fails, I still want the SSH daemon to be there so that I can perhaps SSH in to the machine and fix the problem.&lt;br&gt; This is generally true of almost all daemons; I want them to start after syslog, so that they can syslog things, but I almost never want them to not be running if syslog failed. (And if for some reason syslog is not configured to start, I want enabling and starting, say, SSH, to also enable and start the syslog daemon.)&lt;br&gt; In general, there are three different relationships between services that I tend to encounter:&lt;/p&gt; &lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;a hard requirement, where service B is useless or dangerous without service A. For instance, many NFS v2 and NFS v3 daemons basically don’t function without the RPC portmapper alive and active. On any number of systems, firewall rules being in place are a hard requirement to start most network services; you would rather your network services not start at all than that they start without your defenses in place.&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;a want, where service B wants service A to be running before B starts up, and service A should be started even if it wouldn’t otherwise be, but the failure of A still leaves B functional. Many daemons want the syslog daemon to be started before they start but will run without it, and often you want them to do so so that at least some of the system works even if there is, say, a corrupt syslog configuration file that causes the daemon to error out on start. (But some environments want to hard-fail if they can’t collect security related logging information, so they might make rsyslogd a requirement instead of a want.)&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;an ordering, where if service A is going to be started, B wants to start after it (or before it), but B isn’t otherwise calling for A to be started. We have some of these in our systems, where we need NFS mounts done before cron starts and runs people’s @reboot jobs but neither cron nor NFS mounts exactly or explicitly want each other. (The system as a whole wants both, but that’s a different thing.)&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;Given these different relationships and the implications for what the init system should do in different situations, talking about ‘dependency’ in it systems is kind of underspecified. What sort of dependency? What happens if one service doesn’t start or fails later?&lt;br&gt; My impression is that generally people pick a want relationship as the default meaning for init system ‘dependency’. Usually this is fine; most services aren’t actively dangerous if one of their declared dependencies fails to start, and it’s generally harmless on any particular system to force a want instead of an ordering relationship because you’re going to be starting everything anyway.&lt;/p&gt; &lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;(In my example, you might as well say that cron on the systems in question wants NFS mounts. There is no difference in practice; we already always want to do NFS mounts and start cron.)&lt;/li&gt; &lt;/ul&gt; &lt;hr&gt; &lt;p&gt;###&lt;a href="https://github.com/lattera/articles/blob/master/freebsd/2018-10-27_jailed_bhyve/article.md" target="_blank" rel="nofollow noopener"&gt;Jailing The bhyve Hypervisor&lt;/a&gt;&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;As FreeBSD nears the final 12.0-RELEASE release engineering cycles, I’d like to take a moment to document a cool new feature coming in 12: jailed bhyve.&lt;br&gt; You may notice that I use HardenedBSD instead of FreeBSD in this article. There is no functional difference in bhyve on HardenedBSD versus bhyve on FreeBSD. The only difference between HardenedBSD and FreeBSD is the aditional security offered by HardenedBSD.&lt;br&gt; The steps I outline here work for both FreeBSD and HardenedBSD. These are the bare minimum steps, no extra work needed for either FreeBSD or HardenedBSD.&lt;/p&gt; &lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;A Gentle History Lesson&lt;/li&gt; &lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;At work in my spare time, I’m helping develop a malware lab. Due to the nature of the beast, we would like to use bhyve on HardenedBSD. Starting with HardenedBSD 12, non-Cross-DSO CFI, SafeStack, Capsicum, ASLR, and strict W&lt;sup&gt;X&lt;/sup&gt; are all applied to bhyve, making it an extremely hardened hypervisor.&lt;br&gt; So, the work to support jailed bhyve is sponsored by both HardenedBSD and my employer. We’ve also jointly worked on other bhyve hardening features, like protecting the VM’s address space using guard pages (mmap(…, MAP_GUARD, …)). Further work is being done in a project called “malhyve.” Only those modifications to bhyve/malhyve that make sense to upstream will be upstreamed.&lt;/p&gt; &lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;Initial Setup&lt;/li&gt; &lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;We will not go through the process of creating the jail’s filesystem. That process is documented in the FreeBSD Handbook. For UEFI guests, you will need to install the uefi-edk2-bhyve package inside the jail.&lt;br&gt; I network these jails with traditional jail networking. I have tested vnet jails with this setup, and that works fine, too. However, there is no real need to hook the jail up to any network so long as bhyve can access the tap device. In some cases, the VM might not need networking, in which case you can use a network-less VM in a network-less jail.&lt;br&gt; By default, access to the kernel side of bhyve is disabled within jails. We need to set allow.vmm in our jail.conf entry for the bhyve jail.&lt;/p&gt; &lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt; &lt;p&gt;We will use the following in our jail, so we will need to set up devfs(8) rules for them:&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;A ZFS volume&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;A null-modem device (nmdm(4))&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;UEFI GOP (no devfs rule, but IP assigned to the jail)&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;A tap device&lt;/p&gt; &lt;/li&gt; &lt;li&gt; &lt;p&gt;Conclusion&lt;/p&gt; &lt;/li&gt; &lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;The bhyve hypervisor works great within a jail. When combined with HardenedBSD, bhyve is extremely hardened:&lt;/p&gt; &lt;/blockquote&gt; &lt;ul&gt; &lt;li&gt;PaX ASLR is fully applied due to compilation as a Position-Independent Executable (HardenedBSD enhancement)&lt;/li&gt; &lt;li&gt;PaX NOEXEC is fully applied (strict W&lt;sup&gt;X)&lt;/sup&gt; (HardenedBSD enhancement)&lt;/li&gt; &lt;li&gt;Non-Cross-DSO CFI is fully applied (HardenedBSD enhancement)&lt;/li&gt; &lt;li&gt;Full RELRO (RELRO + BIND_NOW) is fully applied (HardenedBSD enhancement)&lt;/li&gt; &lt;li&gt;SafeStack is applied to the application (HardenedBSD enhancement)&lt;/li&gt; &lt;li&gt;Jailed (FreeBSD feature written by HardenedBSD)&lt;/li&gt; &lt;li&gt;Virtual memory protected with guard pages (FreeBSD feature written by HardenedBSD)&lt;/li&gt; &lt;li&gt;Capsicum is fully applied (FreeBSD feature)&lt;/li&gt; &lt;/ul&gt; &lt;blockquote&gt; &lt;p&gt;Bad guys are going to have a hard time breaking out of the userland components of bhyve on HardenedBSD. :)&lt;/p&gt; &lt;/blockquote&gt; &lt;hr&gt; &lt;p&gt;##Beastie Bits&lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;a href="https://www.ghostbsd.org/18.10_release_announcement" target="_blank" rel="nofollow noopener"&gt;GhostBSD 18.10 has been released&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://project-trident.org/post/2018-11-10_rc3-available/" target="_blank" rel="nofollow noopener"&gt;Project Trident RC3 has been released&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20181022130631" target="_blank" rel="nofollow noopener"&gt;The OpenBSD Foundation receives the first Silver contribution from a single individual&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.echothrust.com/blogs/monitoring-pf-logs-gource" target="_blank" rel="nofollow noopener"&gt;Monitoring pf logs gource&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://twitter.com/zmcgrew/status/1055682596812730368" target="_blank" rel="nofollow noopener"&gt;NetBSD on the RISC-V is alive&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=154050351216908&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;The X hole&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://mail-index.netbsd.org/pkgsrc-users/2018/10/05/msg027525.html" target="_blank" rel="nofollow noopener"&gt;Announcing the pkgsrc-2018Q3 release (2018-10-05)&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://an.undulating.space/post/180927-er_alternate_firmware_benchmarks/" target="_blank" rel="nofollow noopener"&gt;NAT performance on EdgeRouter X and Lite with EdgeOS, OpenBSD, and OpenWRT&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://www.princeton.edu/~hos/mike/transcripts/thompson.htm" target="_blank" rel="nofollow noopener"&gt;UNIX (as we know it) might not have existed without Mrs. Thompson&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://www.freepizza.io/" target="_blank" rel="nofollow noopener"&gt;Free Pizza for your dev events&lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="https://calagator.org/events/1250474530" target="_blank" rel="nofollow noopener"&gt;Portland BSD Pizza Night: Nov 29th 7pm&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;hr&gt; &lt;p&gt;##Feedback/Questions&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Dennis - &lt;a href="http://dpaste.com/36JB7EC#wrap" target="_blank" rel="nofollow noopener"&gt;Core developers leaving illumOS?&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Ben - &lt;a href="http://dpaste.com/1R36Z32#wrap" target="_blank" rel="nofollow noopener"&gt;Jumping from snapshot to snapshot&lt;/a&gt;&lt;/li&gt; &lt;li&gt;Ias - &lt;a href="http://dpaste.com/1CC86MX" target="_blank" rel="nofollow noopener"&gt;Question about ZFS snapshots&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;hr&gt; &lt;ul&gt; &lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; &lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, bhyve, jail, netcat, unveil, NVVM, 18.10, rc3</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Byproducts of reading OpenBSD’s netcat code, learnings from porting your own projects to FreeBSD, OpenBSD’s unveil(), NetBSD’s Virtual Machine Monitor, what 'dependency' means in Unix init systems, jailing bhyve, and more.<br>
</p><p>##Headlines<br> ###<a href="https://nanxiao.me/en/the-byproducts-of-reading-openbsd-netcat-code/" target="_blank" rel="nofollow noopener">The byproducts of reading OpenBSD netcat code</a></p> <blockquote> <p>When I took part in a training last year, I heard about netcat for the first time. During that class, the tutor showed some hacks and tricks of using netcat which appealed to me and motivated me to learn the guts of it. Fortunately, in the past 2 months, I was not so busy that I can spend my spare time to dive into OpenBSD‘s netcat source code, and got abundant byproducts during this process.<br> (1) Brush up socket programming. I wrote my first network application more than 10 years ago, and always think the socket APIs are marvelous. Just ~10 functions (socket, bind, listen, accept…) with some IO multiplexing buddies (select, poll, epoll…) connect the whole world, wonderful! From that time, I developed a habit that is when touching a new programming language, network programming is an essential exercise. Even though I don’t write socket related code now, reading netcat socket code indeed refresh my knowledge and teach me new stuff.<br> (2) Write a tutorial about netcat. I am mediocre programmer and will forget things when I don’t use it for a long time. So I just take notes of what I think is useful. IMHO, this “tutorial” doesn’t really mean teach others something, but just a journal which I can refer when I need in the future.<br> (3) Submit patches to netcat. During reading code, I also found bugs and some enhancements. Though trivial contributions to OpenBSD, I am still happy and enjoy it.<br> (4) Implement a C++ encapsulation of libtls. OpenBSD‘s netcat supports tls/ssl connection, but it needs you take full care of resource management (memory, socket, etc), otherwise a small mistake can lead to resource leak which is fatal for long-live applications (In fact, the two bugs I reported to OpenBSD are all related resource leak). Therefore I develop a simple C++ library which wraps the libtls and hope it can free developer from this troublesome problem and put more energy in application logic part.<br> Long story to short, reading classical source code is a rewarding process, and you can consider to try it yourself.</p> </blockquote> <hr> <p>###<a href="https://github.com/shlomif/what-i-learned-from-porting-to-freebsd#what-i-learned-from-porting-my-projects-to-freebsd" target="_blank" rel="nofollow noopener">What I learned from porting my projects to FreeBSD</a></p> <ul> <li>Introduction</li> </ul> <blockquote> <p>I set up a local FreeBSD VirtualBox VM to test something, and it seems to work very well. Due to the novelty factor, I decided to get my software projects to build and pass the tests there.</p> </blockquote> <ul> <li> <p>The Projects</p> </li> <li> <p><a href="https://github.com/shlomif/shlomif-computer-settings/" target="_blank" rel="nofollow noopener">https://github.com/shlomif/shlomif-computer-settings/</a> (my dotfiles).</p> </li> <li> <p><a href="https://web-cpan.shlomifish.org/latemp/" target="_blank" rel="nofollow noopener">https://web-cpan.shlomifish.org/latemp/</a></p> </li> <li> <p><a href="https://fc-solve.shlomifish.org/" target="_blank" rel="nofollow noopener">https://fc-solve.shlomifish.org/</a></p> </li> <li> <p><a href="https://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/" target="_blank" rel="nofollow noopener">https://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/</a></p> </li> <li> <p><a href="https://better-scm.shlomifish.org/source/" target="_blank" rel="nofollow noopener">https://better-scm.shlomifish.org/source/</a></p> </li> <li> <p><a href="http://perl-begin.org/source/" target="_blank" rel="nofollow noopener">http://perl-begin.org/source/</a></p> </li> <li> <p><a href="https://www.shlomifish.org/meta/site-source/" target="_blank" rel="nofollow noopener">https://www.shlomifish.org/meta/site-source/</a></p> </li> <li> <p>Written using a mix of C, Perl 5, Python, Ruby, GNU Bash, XML, CMake, XSLT, XHTML5, XHTML1.1, Website META Language, JavaScript and more.</p> </li> <li> <p>Work fine on several Linux distributions and have <a href="https://en.wikipedia.org/wiki/Travis_CI" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/Travis_CI</a> using Ubuntu 14.04 hosts</p> </li> <li> <p>Some pass builds and tests on AppVeyor/Win64</p> </li> <li> <p>What I Learned:</p> </li> <li> <p>FreeBSD on VBox has become very reliable</p> </li> <li> <p>Some executables on FreeBSD are in /usr/local/bin instead of /usr/bin</p> </li> <li> <p>make on FreeBSD is not GNU make</p> </li> <li> <p>m4 on FreeBSD is not compatible with GNU m4</p> </li> <li> <p>Some CPAN Modules fail to install using local-lib there</p> </li> <li> <p>DocBook/XSL Does Not Live Under /usr/share/sgml</p> </li> <li> <p>FreeBSD’s grep does not have a “-P” flag by default</p> </li> <li> <p>FreeBSD has no “nproc” command</p> </li> <li> <p>Conclusion:</p> </li> <li> <p>It is easier to port a shell than a shell script. — Larry Wall</p> </li> <li> <p>I ran into some cases where my scriptology was lacking and suboptimal, even for my own personal use, and fixed them.</p> </li> </ul> <hr> <p>##News Roundup<br> ###<a href="https://lwn.net/Articles/767137/" target="_blank" rel="nofollow noopener">OpenBSD’s unveil()</a></p> <blockquote> <p>One of the key aspects of hardening the user-space side of an operating system is to provide mechanisms for restricting which parts of the filesystem hierarchy a given process can access. Linux has a number of mechanisms of varying capability and complexity for this purpose, but other kernels have taken a different approach. Over the last few months, OpenBSD has inaugurated a new system call named unveil() for this type of hardening that differs significantly from the mechanisms found in Linux.<br> The value of restricting access to the filesystem, from a security point of view, is fairly obvious. A compromised process cannot exfiltrate data that it cannot read, and it cannot corrupt files that it cannot write. Preventing unwanted access is, of course, the purpose of the permissions bits attached to every file, but permissions fall short in an important way: just because a particular user has access to a given file does not necessarily imply that every program run by that user should also have access to that file. There is no reason why your PDF viewer should be able to read your SSH keys, for example. Relying on just the permission bits makes it easy for a compromised process to access files that have nothing to do with that process’s actual job.<br> In a Linux system, there are many ways of trying to restrict that access; that is one of the purposes behind the Linux security module (LSM) architecture, for example. The SELinux LSM uses a complex matrix of labels and roles to make access-control decisions. The AppArmor LSM, instead, uses a relatively simple table of permissible pathnames associated with each application; that approach was highly controversial when AppArmor was first merged, and is still looked down upon by some security developers. Mount namespaces can be used to create a special view of the filesystem hierarchy for a set of processes, rendering much of that hierarchy invisible and, thus, inaccessible. The seccomp mechanism can be used to make decisions on attempts by a process to access files, but that approach is complex and error-prone. Yet another approach can be seen in the Qubes OS distribution, which runs applications in virtual machines to strictly control what they can access.<br> Compared to many of the options found in Linux, unveil() is an exercise in simplicity. This system call, introduced in July, has this prototype:</p> </blockquote> <p><code>int unveil(const char *path, const char *permissions);</code></p> <blockquote> <p>A process that has never called unveil() has full access to the filesystem hierarchy, modulo the usual file permissions and any restrictions that may have been applied by calling pledge(). Calling unveil() for the first time will “drop a veil” across the entire filesystem, rendering the whole thing invisible to the process, with one exception: the file or directory hierarchy starting at path will be accessible with the given permissions. The permissions string can contain any of “r” for read access, “w” for write, “x” for execute, and “c” for the ability to create or remove the path.<br> Subsequent calls to unveil() will make other parts of the filesystem hierarchy accessible; the unveil() system call itself still has access to the entire hierarchy, so there is no problem with unveiling distinct subtrees that are, until the call is made, invisible to the process. If one unveil() call applies to a subtree of a hierarchy unveiled by another call, the permissions associated with the more specific call apply.<br> Calling unveil() with both arguments as null will block any further calls, setting the current view of the filesystem in stone. Calls to unveil() can also be blocked using pledge(). Either way, once the view of the filesystem has been set up appropriately, it is possible to lock it so that the process cannot expand its access in the future should it be taken over and turn hostile.<br> unveil() thus looks a bit like AppArmor, in that it is a path-based mechanism for restricting access to files. In either case, one must first study the program in question to gain a solid understanding of which files it needs to access before closing things down, or the program is likely to break. One significant difference (beyond the other sorts of behavior that AppArmor can control) is that AppArmor’s permissions are stored in an external policy file, while unveil() calls are made by the application itself. That approach keeps the access rules tightly tied to the application and easy for the developers to modify, but it also makes it harder for system administrators to change them without having to rebuild the application from source.<br> One can certainly aim a number of criticisms at unveil() — all of the complaints that have been leveled at path-based access control and more. But the simplicity of unveil() brings a certain kind of utility, as can be seen in the large number of OpenBSD applications that are being modified to use it. OpenBSD is gaining a base level of protection against unintended program behavior; while it is arguably possible to protect a Linux system to a much greater extent, the complexity of the mechanisms involved keeps that from happening in a lot of real-world deployments. There is a certain kind of virtue to simplicity in security mechanisms.</p> </blockquote> <hr> <p>###<a href="http://m00nbsd.net/4e0798b7f2620c965d0dd9d6a7a2f296.html" target="_blank" rel="nofollow noopener">NetBSD Virtual Machine Monitor (NVVM)</a></p> <ul> <li>NetBSD Virtual Machine Monitor</li> </ul> <blockquote> <p>The NVMM driver provides hardware-accelerated virtualization support on NetBSD. It is made of an ~MI frontend, to which MD backends can be plugged. A virtualization API is provided in libnvmm, that allows to easily create and manage virtual machines via NVMM. Two additional components are shipped as demonstrators, toyvirt and smallkern: the former is a toy virtualizer, that executes in a VM the 64bit ELF binary given as argument, the latter is an example of such binary.</p> </blockquote> <ul> <li>Download</li> </ul> <blockquote> <p>The source code of NVMM, plus the associated tools, can be downloaded here.</p> </blockquote> <ul> <li>Technical details</li> </ul> <blockquote> <p>NVMM can support up to 128 virtual machines, each having a maximum of 256 VCPUs and 4GB of RAM.<br> Each virtual machine is granted access to most of the CPU registers: the GPRs (obviously), the Segment Registers, the Control Registers, the Debug Registers, the FPU (x87 and SSE), and several MSRs.<br> Events can be injected in the virtual machines, to emulate device interrupts. A delay mechanism is used, and allows VMM software to schedule the interrupt right when the VCPU can receive it. NMIs can be injected as well, and use a similar mechanism.<br> The host must always be x86_64, but the guest has no constraint on the mode, so it can be x86_32, PAE, real mode, and so on.<br> The TSC of each VCPU is always re-based on the host CPU it is executing on, and is therefore guaranteed to increase regardless of the host CPU. However, it may not increase monotonically, because it is not possible to fully hide the host effects on the guest during #VMEXITs.<br> When there are more VCPUs than the host TLB can deal with, NVMM uses a shared ASID, and flushes the shared-ASID VCPUs on each VM switch.<br> The different intercepts are configured in such a way that they cover everything that needs to be emulated. In particular, the LAPIC can be emulated by VMM software, by intercepting reads/writes to the LAPIC page in memory, and monitoring changes to CR8 in the exit state.</p> </blockquote> <hr> <p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/sysadmin/InitDependencyUnclear" target="_blank" rel="nofollow noopener">What ‘dependency’ means in Unix init systems is underspecified (utoronto.ca)</a></p> <blockquote> <p>I was reading Davin McCall’s On the vagaries of init systems (via) when I ran across the following, about the relationship between various daemons (services, etc):<br> I do not see any compelling reason for having ordering relationships without actual dependency, as both Nosh and Systemd provide for. In comparison, Dinit’s dependencies also imply an ordering, which obviates the need to list a dependency twice in the service description.<br> Well, this may be an easy one but it depends on what an init system means by ‘dependency’. Let’s consider ®syslog and the SSH daemon. I want the syslog daemon to be started before the SSH daemon is started, so that the SSH daemon can log things to it from the beginning. However, I very much do not want the SSH daemon to not be started (or to be shut down) if the syslog daemon fails to start or later fails. If syslog fails, I still want the SSH daemon to be there so that I can perhaps SSH in to the machine and fix the problem.<br> This is generally true of almost all daemons; I want them to start after syslog, so that they can syslog things, but I almost never want them to not be running if syslog failed. (And if for some reason syslog is not configured to start, I want enabling and starting, say, SSH, to also enable and start the syslog daemon.)<br> In general, there are three different relationships between services that I tend to encounter:</p> </blockquote> <ul> <li> <p>a hard requirement, where service B is useless or dangerous without service A. For instance, many NFS v2 and NFS v3 daemons basically don’t function without the RPC portmapper alive and active. On any number of systems, firewall rules being in place are a hard requirement to start most network services; you would rather your network services not start at all than that they start without your defenses in place.</p> </li> <li> <p>a want, where service B wants service A to be running before B starts up, and service A should be started even if it wouldn’t otherwise be, but the failure of A still leaves B functional. Many daemons want the syslog daemon to be started before they start but will run without it, and often you want them to do so so that at least some of the system works even if there is, say, a corrupt syslog configuration file that causes the daemon to error out on start. (But some environments want to hard-fail if they can’t collect security related logging information, so they might make rsyslogd a requirement instead of a want.)</p> </li> <li> <p>an ordering, where if service A is going to be started, B wants to start after it (or before it), but B isn’t otherwise calling for A to be started. We have some of these in our systems, where we need NFS mounts done before cron starts and runs people’s @reboot jobs but neither cron nor NFS mounts exactly or explicitly want each other. (The system as a whole wants both, but that’s a different thing.)</p> </li> </ul> <blockquote> <p>Given these different relationships and the implications for what the init system should do in different situations, talking about ‘dependency’ in it systems is kind of underspecified. What sort of dependency? What happens if one service doesn’t start or fails later?<br> My impression is that generally people pick a want relationship as the default meaning for init system ‘dependency’. Usually this is fine; most services aren’t actively dangerous if one of their declared dependencies fails to start, and it’s generally harmless on any particular system to force a want instead of an ordering relationship because you’re going to be starting everything anyway.</p> </blockquote> <ul> <li>(In my example, you might as well say that cron on the systems in question wants NFS mounts. There is no difference in practice; we already always want to do NFS mounts and start cron.)</li> </ul> <hr> <p>###<a href="https://github.com/lattera/articles/blob/master/freebsd/2018-10-27_jailed_bhyve/article.md" target="_blank" rel="nofollow noopener">Jailing The bhyve Hypervisor</a></p> <blockquote> <p>As FreeBSD nears the final 12.0-RELEASE release engineering cycles, I’d like to take a moment to document a cool new feature coming in 12: jailed bhyve.<br> You may notice that I use HardenedBSD instead of FreeBSD in this article. There is no functional difference in bhyve on HardenedBSD versus bhyve on FreeBSD. The only difference between HardenedBSD and FreeBSD is the aditional security offered by HardenedBSD.<br> The steps I outline here work for both FreeBSD and HardenedBSD. These are the bare minimum steps, no extra work needed for either FreeBSD or HardenedBSD.</p> </blockquote> <ul> <li>A Gentle History Lesson</li> </ul> <blockquote> <p>At work in my spare time, I’m helping develop a malware lab. Due to the nature of the beast, we would like to use bhyve on HardenedBSD. Starting with HardenedBSD 12, non-Cross-DSO CFI, SafeStack, Capsicum, ASLR, and strict W<sup>X</sup> are all applied to bhyve, making it an extremely hardened hypervisor.<br> So, the work to support jailed bhyve is sponsored by both HardenedBSD and my employer. We’ve also jointly worked on other bhyve hardening features, like protecting the VM’s address space using guard pages (mmap(…, MAP_GUARD, …)). Further work is being done in a project called “malhyve.” Only those modifications to bhyve/malhyve that make sense to upstream will be upstreamed.</p> </blockquote> <ul> <li>Initial Setup</li> </ul> <blockquote> <p>We will not go through the process of creating the jail’s filesystem. That process is documented in the FreeBSD Handbook. For UEFI guests, you will need to install the uefi-edk2-bhyve package inside the jail.<br> I network these jails with traditional jail networking. I have tested vnet jails with this setup, and that works fine, too. However, there is no real need to hook the jail up to any network so long as bhyve can access the tap device. In some cases, the VM might not need networking, in which case you can use a network-less VM in a network-less jail.<br> By default, access to the kernel side of bhyve is disabled within jails. We need to set allow.vmm in our jail.conf entry for the bhyve jail.</p> </blockquote> <ul> <li> <p>We will use the following in our jail, so we will need to set up devfs(8) rules for them:</p> </li> <li> <p>A ZFS volume</p> </li> <li> <p>A null-modem device (nmdm(4))</p> </li> <li> <p>UEFI GOP (no devfs rule, but IP assigned to the jail)</p> </li> <li> <p>A tap device</p> </li> <li> <p>Conclusion</p> </li> </ul> <blockquote> <p>The bhyve hypervisor works great within a jail. When combined with HardenedBSD, bhyve is extremely hardened:</p> </blockquote> <ul> <li>PaX ASLR is fully applied due to compilation as a Position-Independent Executable (HardenedBSD enhancement)</li> <li>PaX NOEXEC is fully applied (strict W<sup>X)</sup> (HardenedBSD enhancement)</li> <li>Non-Cross-DSO CFI is fully applied (HardenedBSD enhancement)</li> <li>Full RELRO (RELRO + BIND_NOW) is fully applied (HardenedBSD enhancement)</li> <li>SafeStack is applied to the application (HardenedBSD enhancement)</li> <li>Jailed (FreeBSD feature written by HardenedBSD)</li> <li>Virtual memory protected with guard pages (FreeBSD feature written by HardenedBSD)</li> <li>Capsicum is fully applied (FreeBSD feature)</li> </ul> <blockquote> <p>Bad guys are going to have a hard time breaking out of the userland components of bhyve on HardenedBSD. :)</p> </blockquote> <hr> <p>##Beastie Bits</p> <ul> <li><a href="https://www.ghostbsd.org/18.10_release_announcement" target="_blank" rel="nofollow noopener">GhostBSD 18.10 has been released</a></li> <li><a href="http://project-trident.org/post/2018-11-10_rc3-available/" target="_blank" rel="nofollow noopener">Project Trident RC3 has been released</a></li> <li><a href="https://undeadly.org/cgi?action=article;sid=20181022130631" target="_blank" rel="nofollow noopener">The OpenBSD Foundation receives the first Silver contribution from a single individual</a></li> <li><a href="http://www.echothrust.com/blogs/monitoring-pf-logs-gource" target="_blank" rel="nofollow noopener">Monitoring pf logs gource</a></li> <li><a href="https://twitter.com/zmcgrew/status/1055682596812730368" target="_blank" rel="nofollow noopener">NetBSD on the RISC-V is alive</a></li> <li><a href="https://marc.info/?l=openbsd-tech&amp;m=154050351216908&amp;w=2" target="_blank" rel="nofollow noopener">The X hole</a></li> <li><a href="http://mail-index.netbsd.org/pkgsrc-users/2018/10/05/msg027525.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc-2018Q3 release (2018-10-05)</a></li> <li><a href="https://an.undulating.space/post/180927-er_alternate_firmware_benchmarks/" target="_blank" rel="nofollow noopener">NAT performance on EdgeRouter X and Lite with EdgeOS, OpenBSD, and OpenWRT</a></li> <li><a href="https://www.princeton.edu/~hos/mike/transcripts/thompson.htm" target="_blank" rel="nofollow noopener">UNIX (as we know it) might not have existed without Mrs. Thompson</a></li> <li><a href="https://www.freepizza.io/" target="_blank" rel="nofollow noopener">Free Pizza for your dev events</a></li> <li><a href="https://calagator.org/events/1250474530" target="_blank" rel="nofollow noopener">Portland BSD Pizza Night: Nov 29th 7pm</a></li> </ul> <hr> <p>##Feedback/Questions</p> <ul> <li>Dennis - <a href="http://dpaste.com/36JB7EC#wrap" target="_blank" rel="nofollow noopener">Core developers leaving illumOS?</a></li> <li>Ben - <a href="http://dpaste.com/1R36Z32#wrap" target="_blank" rel="nofollow noopener">Jumping from snapshot to snapshot</a></li> <li>Ias - <a href="http://dpaste.com/1CC86MX" target="_blank" rel="nofollow noopener">Question about ZFS snapshots</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li> </ul> <hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Byproducts of reading OpenBSD’s netcat code, learnings from porting your own projects to FreeBSD, OpenBSD’s unveil(), NetBSD’s Virtual Machine Monitor, what 'dependency' means in Unix init systems, jailing bhyve, and more.<br>
</p><p>##Headlines<br> ###<a href="https://nanxiao.me/en/the-byproducts-of-reading-openbsd-netcat-code/" target="_blank" rel="nofollow noopener">The byproducts of reading OpenBSD netcat code</a></p> <blockquote> <p>When I took part in a training last year, I heard about netcat for the first time. During that class, the tutor showed some hacks and tricks of using netcat which appealed to me and motivated me to learn the guts of it. Fortunately, in the past 2 months, I was not so busy that I can spend my spare time to dive into OpenBSD‘s netcat source code, and got abundant byproducts during this process.<br> (1) Brush up socket programming. I wrote my first network application more than 10 years ago, and always think the socket APIs are marvelous. Just ~10 functions (socket, bind, listen, accept…) with some IO multiplexing buddies (select, poll, epoll…) connect the whole world, wonderful! From that time, I developed a habit that is when touching a new programming language, network programming is an essential exercise. Even though I don’t write socket related code now, reading netcat socket code indeed refresh my knowledge and teach me new stuff.<br> (2) Write a tutorial about netcat. I am mediocre programmer and will forget things when I don’t use it for a long time. So I just take notes of what I think is useful. IMHO, this “tutorial” doesn’t really mean teach others something, but just a journal which I can refer when I need in the future.<br> (3) Submit patches to netcat. During reading code, I also found bugs and some enhancements. Though trivial contributions to OpenBSD, I am still happy and enjoy it.<br> (4) Implement a C++ encapsulation of libtls. OpenBSD‘s netcat supports tls/ssl connection, but it needs you take full care of resource management (memory, socket, etc), otherwise a small mistake can lead to resource leak which is fatal for long-live applications (In fact, the two bugs I reported to OpenBSD are all related resource leak). Therefore I develop a simple C++ library which wraps the libtls and hope it can free developer from this troublesome problem and put more energy in application logic part.<br> Long story to short, reading classical source code is a rewarding process, and you can consider to try it yourself.</p> </blockquote> <hr> <p>###<a href="https://github.com/shlomif/what-i-learned-from-porting-to-freebsd#what-i-learned-from-porting-my-projects-to-freebsd" target="_blank" rel="nofollow noopener">What I learned from porting my projects to FreeBSD</a></p> <ul> <li>Introduction</li> </ul> <blockquote> <p>I set up a local FreeBSD VirtualBox VM to test something, and it seems to work very well. Due to the novelty factor, I decided to get my software projects to build and pass the tests there.</p> </blockquote> <ul> <li> <p>The Projects</p> </li> <li> <p><a href="https://github.com/shlomif/shlomif-computer-settings/" target="_blank" rel="nofollow noopener">https://github.com/shlomif/shlomif-computer-settings/</a> (my dotfiles).</p> </li> <li> <p><a href="https://web-cpan.shlomifish.org/latemp/" target="_blank" rel="nofollow noopener">https://web-cpan.shlomifish.org/latemp/</a></p> </li> <li> <p><a href="https://fc-solve.shlomifish.org/" target="_blank" rel="nofollow noopener">https://fc-solve.shlomifish.org/</a></p> </li> <li> <p><a href="https://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/" target="_blank" rel="nofollow noopener">https://www.shlomifish.org/open-source/projects/black-hole-solitaire-solver/</a></p> </li> <li> <p><a href="https://better-scm.shlomifish.org/source/" target="_blank" rel="nofollow noopener">https://better-scm.shlomifish.org/source/</a></p> </li> <li> <p><a href="http://perl-begin.org/source/" target="_blank" rel="nofollow noopener">http://perl-begin.org/source/</a></p> </li> <li> <p><a href="https://www.shlomifish.org/meta/site-source/" target="_blank" rel="nofollow noopener">https://www.shlomifish.org/meta/site-source/</a></p> </li> <li> <p>Written using a mix of C, Perl 5, Python, Ruby, GNU Bash, XML, CMake, XSLT, XHTML5, XHTML1.1, Website META Language, JavaScript and more.</p> </li> <li> <p>Work fine on several Linux distributions and have <a href="https://en.wikipedia.org/wiki/Travis_CI" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/Travis_CI</a> using Ubuntu 14.04 hosts</p> </li> <li> <p>Some pass builds and tests on AppVeyor/Win64</p> </li> <li> <p>What I Learned:</p> </li> <li> <p>FreeBSD on VBox has become very reliable</p> </li> <li> <p>Some executables on FreeBSD are in /usr/local/bin instead of /usr/bin</p> </li> <li> <p>make on FreeBSD is not GNU make</p> </li> <li> <p>m4 on FreeBSD is not compatible with GNU m4</p> </li> <li> <p>Some CPAN Modules fail to install using local-lib there</p> </li> <li> <p>DocBook/XSL Does Not Live Under /usr/share/sgml</p> </li> <li> <p>FreeBSD’s grep does not have a “-P” flag by default</p> </li> <li> <p>FreeBSD has no “nproc” command</p> </li> <li> <p>Conclusion:</p> </li> <li> <p>It is easier to port a shell than a shell script. — Larry Wall</p> </li> <li> <p>I ran into some cases where my scriptology was lacking and suboptimal, even for my own personal use, and fixed them.</p> </li> </ul> <hr> <p>##News Roundup<br> ###<a href="https://lwn.net/Articles/767137/" target="_blank" rel="nofollow noopener">OpenBSD’s unveil()</a></p> <blockquote> <p>One of the key aspects of hardening the user-space side of an operating system is to provide mechanisms for restricting which parts of the filesystem hierarchy a given process can access. Linux has a number of mechanisms of varying capability and complexity for this purpose, but other kernels have taken a different approach. Over the last few months, OpenBSD has inaugurated a new system call named unveil() for this type of hardening that differs significantly from the mechanisms found in Linux.<br> The value of restricting access to the filesystem, from a security point of view, is fairly obvious. A compromised process cannot exfiltrate data that it cannot read, and it cannot corrupt files that it cannot write. Preventing unwanted access is, of course, the purpose of the permissions bits attached to every file, but permissions fall short in an important way: just because a particular user has access to a given file does not necessarily imply that every program run by that user should also have access to that file. There is no reason why your PDF viewer should be able to read your SSH keys, for example. Relying on just the permission bits makes it easy for a compromised process to access files that have nothing to do with that process’s actual job.<br> In a Linux system, there are many ways of trying to restrict that access; that is one of the purposes behind the Linux security module (LSM) architecture, for example. The SELinux LSM uses a complex matrix of labels and roles to make access-control decisions. The AppArmor LSM, instead, uses a relatively simple table of permissible pathnames associated with each application; that approach was highly controversial when AppArmor was first merged, and is still looked down upon by some security developers. Mount namespaces can be used to create a special view of the filesystem hierarchy for a set of processes, rendering much of that hierarchy invisible and, thus, inaccessible. The seccomp mechanism can be used to make decisions on attempts by a process to access files, but that approach is complex and error-prone. Yet another approach can be seen in the Qubes OS distribution, which runs applications in virtual machines to strictly control what they can access.<br> Compared to many of the options found in Linux, unveil() is an exercise in simplicity. This system call, introduced in July, has this prototype:</p> </blockquote> <p><code>int unveil(const char *path, const char *permissions);</code></p> <blockquote> <p>A process that has never called unveil() has full access to the filesystem hierarchy, modulo the usual file permissions and any restrictions that may have been applied by calling pledge(). Calling unveil() for the first time will “drop a veil” across the entire filesystem, rendering the whole thing invisible to the process, with one exception: the file or directory hierarchy starting at path will be accessible with the given permissions. The permissions string can contain any of “r” for read access, “w” for write, “x” for execute, and “c” for the ability to create or remove the path.<br> Subsequent calls to unveil() will make other parts of the filesystem hierarchy accessible; the unveil() system call itself still has access to the entire hierarchy, so there is no problem with unveiling distinct subtrees that are, until the call is made, invisible to the process. If one unveil() call applies to a subtree of a hierarchy unveiled by another call, the permissions associated with the more specific call apply.<br> Calling unveil() with both arguments as null will block any further calls, setting the current view of the filesystem in stone. Calls to unveil() can also be blocked using pledge(). Either way, once the view of the filesystem has been set up appropriately, it is possible to lock it so that the process cannot expand its access in the future should it be taken over and turn hostile.<br> unveil() thus looks a bit like AppArmor, in that it is a path-based mechanism for restricting access to files. In either case, one must first study the program in question to gain a solid understanding of which files it needs to access before closing things down, or the program is likely to break. One significant difference (beyond the other sorts of behavior that AppArmor can control) is that AppArmor’s permissions are stored in an external policy file, while unveil() calls are made by the application itself. That approach keeps the access rules tightly tied to the application and easy for the developers to modify, but it also makes it harder for system administrators to change them without having to rebuild the application from source.<br> One can certainly aim a number of criticisms at unveil() — all of the complaints that have been leveled at path-based access control and more. But the simplicity of unveil() brings a certain kind of utility, as can be seen in the large number of OpenBSD applications that are being modified to use it. OpenBSD is gaining a base level of protection against unintended program behavior; while it is arguably possible to protect a Linux system to a much greater extent, the complexity of the mechanisms involved keeps that from happening in a lot of real-world deployments. There is a certain kind of virtue to simplicity in security mechanisms.</p> </blockquote> <hr> <p>###<a href="http://m00nbsd.net/4e0798b7f2620c965d0dd9d6a7a2f296.html" target="_blank" rel="nofollow noopener">NetBSD Virtual Machine Monitor (NVVM)</a></p> <ul> <li>NetBSD Virtual Machine Monitor</li> </ul> <blockquote> <p>The NVMM driver provides hardware-accelerated virtualization support on NetBSD. It is made of an ~MI frontend, to which MD backends can be plugged. A virtualization API is provided in libnvmm, that allows to easily create and manage virtual machines via NVMM. Two additional components are shipped as demonstrators, toyvirt and smallkern: the former is a toy virtualizer, that executes in a VM the 64bit ELF binary given as argument, the latter is an example of such binary.</p> </blockquote> <ul> <li>Download</li> </ul> <blockquote> <p>The source code of NVMM, plus the associated tools, can be downloaded here.</p> </blockquote> <ul> <li>Technical details</li> </ul> <blockquote> <p>NVMM can support up to 128 virtual machines, each having a maximum of 256 VCPUs and 4GB of RAM.<br> Each virtual machine is granted access to most of the CPU registers: the GPRs (obviously), the Segment Registers, the Control Registers, the Debug Registers, the FPU (x87 and SSE), and several MSRs.<br> Events can be injected in the virtual machines, to emulate device interrupts. A delay mechanism is used, and allows VMM software to schedule the interrupt right when the VCPU can receive it. NMIs can be injected as well, and use a similar mechanism.<br> The host must always be x86_64, but the guest has no constraint on the mode, so it can be x86_32, PAE, real mode, and so on.<br> The TSC of each VCPU is always re-based on the host CPU it is executing on, and is therefore guaranteed to increase regardless of the host CPU. However, it may not increase monotonically, because it is not possible to fully hide the host effects on the guest during #VMEXITs.<br> When there are more VCPUs than the host TLB can deal with, NVMM uses a shared ASID, and flushes the shared-ASID VCPUs on each VM switch.<br> The different intercepts are configured in such a way that they cover everything that needs to be emulated. In particular, the LAPIC can be emulated by VMM software, by intercepting reads/writes to the LAPIC page in memory, and monitoring changes to CR8 in the exit state.</p> </blockquote> <hr> <p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/sysadmin/InitDependencyUnclear" target="_blank" rel="nofollow noopener">What ‘dependency’ means in Unix init systems is underspecified (utoronto.ca)</a></p> <blockquote> <p>I was reading Davin McCall’s On the vagaries of init systems (via) when I ran across the following, about the relationship between various daemons (services, etc):<br> I do not see any compelling reason for having ordering relationships without actual dependency, as both Nosh and Systemd provide for. In comparison, Dinit’s dependencies also imply an ordering, which obviates the need to list a dependency twice in the service description.<br> Well, this may be an easy one but it depends on what an init system means by ‘dependency’. Let’s consider ®syslog and the SSH daemon. I want the syslog daemon to be started before the SSH daemon is started, so that the SSH daemon can log things to it from the beginning. However, I very much do not want the SSH daemon to not be started (or to be shut down) if the syslog daemon fails to start or later fails. If syslog fails, I still want the SSH daemon to be there so that I can perhaps SSH in to the machine and fix the problem.<br> This is generally true of almost all daemons; I want them to start after syslog, so that they can syslog things, but I almost never want them to not be running if syslog failed. (And if for some reason syslog is not configured to start, I want enabling and starting, say, SSH, to also enable and start the syslog daemon.)<br> In general, there are three different relationships between services that I tend to encounter:</p> </blockquote> <ul> <li> <p>a hard requirement, where service B is useless or dangerous without service A. For instance, many NFS v2 and NFS v3 daemons basically don’t function without the RPC portmapper alive and active. On any number of systems, firewall rules being in place are a hard requirement to start most network services; you would rather your network services not start at all than that they start without your defenses in place.</p> </li> <li> <p>a want, where service B wants service A to be running before B starts up, and service A should be started even if it wouldn’t otherwise be, but the failure of A still leaves B functional. Many daemons want the syslog daemon to be started before they start but will run without it, and often you want them to do so so that at least some of the system works even if there is, say, a corrupt syslog configuration file that causes the daemon to error out on start. (But some environments want to hard-fail if they can’t collect security related logging information, so they might make rsyslogd a requirement instead of a want.)</p> </li> <li> <p>an ordering, where if service A is going to be started, B wants to start after it (or before it), but B isn’t otherwise calling for A to be started. We have some of these in our systems, where we need NFS mounts done before cron starts and runs people’s @reboot jobs but neither cron nor NFS mounts exactly or explicitly want each other. (The system as a whole wants both, but that’s a different thing.)</p> </li> </ul> <blockquote> <p>Given these different relationships and the implications for what the init system should do in different situations, talking about ‘dependency’ in it systems is kind of underspecified. What sort of dependency? What happens if one service doesn’t start or fails later?<br> My impression is that generally people pick a want relationship as the default meaning for init system ‘dependency’. Usually this is fine; most services aren’t actively dangerous if one of their declared dependencies fails to start, and it’s generally harmless on any particular system to force a want instead of an ordering relationship because you’re going to be starting everything anyway.</p> </blockquote> <ul> <li>(In my example, you might as well say that cron on the systems in question wants NFS mounts. There is no difference in practice; we already always want to do NFS mounts and start cron.)</li> </ul> <hr> <p>###<a href="https://github.com/lattera/articles/blob/master/freebsd/2018-10-27_jailed_bhyve/article.md" target="_blank" rel="nofollow noopener">Jailing The bhyve Hypervisor</a></p> <blockquote> <p>As FreeBSD nears the final 12.0-RELEASE release engineering cycles, I’d like to take a moment to document a cool new feature coming in 12: jailed bhyve.<br> You may notice that I use HardenedBSD instead of FreeBSD in this article. There is no functional difference in bhyve on HardenedBSD versus bhyve on FreeBSD. The only difference between HardenedBSD and FreeBSD is the aditional security offered by HardenedBSD.<br> The steps I outline here work for both FreeBSD and HardenedBSD. These are the bare minimum steps, no extra work needed for either FreeBSD or HardenedBSD.</p> </blockquote> <ul> <li>A Gentle History Lesson</li> </ul> <blockquote> <p>At work in my spare time, I’m helping develop a malware lab. Due to the nature of the beast, we would like to use bhyve on HardenedBSD. Starting with HardenedBSD 12, non-Cross-DSO CFI, SafeStack, Capsicum, ASLR, and strict W<sup>X</sup> are all applied to bhyve, making it an extremely hardened hypervisor.<br> So, the work to support jailed bhyve is sponsored by both HardenedBSD and my employer. We’ve also jointly worked on other bhyve hardening features, like protecting the VM’s address space using guard pages (mmap(…, MAP_GUARD, …)). Further work is being done in a project called “malhyve.” Only those modifications to bhyve/malhyve that make sense to upstream will be upstreamed.</p> </blockquote> <ul> <li>Initial Setup</li> </ul> <blockquote> <p>We will not go through the process of creating the jail’s filesystem. That process is documented in the FreeBSD Handbook. For UEFI guests, you will need to install the uefi-edk2-bhyve package inside the jail.<br> I network these jails with traditional jail networking. I have tested vnet jails with this setup, and that works fine, too. However, there is no real need to hook the jail up to any network so long as bhyve can access the tap device. In some cases, the VM might not need networking, in which case you can use a network-less VM in a network-less jail.<br> By default, access to the kernel side of bhyve is disabled within jails. We need to set allow.vmm in our jail.conf entry for the bhyve jail.</p> </blockquote> <ul> <li> <p>We will use the following in our jail, so we will need to set up devfs(8) rules for them:</p> </li> <li> <p>A ZFS volume</p> </li> <li> <p>A null-modem device (nmdm(4))</p> </li> <li> <p>UEFI GOP (no devfs rule, but IP assigned to the jail)</p> </li> <li> <p>A tap device</p> </li> <li> <p>Conclusion</p> </li> </ul> <blockquote> <p>The bhyve hypervisor works great within a jail. When combined with HardenedBSD, bhyve is extremely hardened:</p> </blockquote> <ul> <li>PaX ASLR is fully applied due to compilation as a Position-Independent Executable (HardenedBSD enhancement)</li> <li>PaX NOEXEC is fully applied (strict W<sup>X)</sup> (HardenedBSD enhancement)</li> <li>Non-Cross-DSO CFI is fully applied (HardenedBSD enhancement)</li> <li>Full RELRO (RELRO + BIND_NOW) is fully applied (HardenedBSD enhancement)</li> <li>SafeStack is applied to the application (HardenedBSD enhancement)</li> <li>Jailed (FreeBSD feature written by HardenedBSD)</li> <li>Virtual memory protected with guard pages (FreeBSD feature written by HardenedBSD)</li> <li>Capsicum is fully applied (FreeBSD feature)</li> </ul> <blockquote> <p>Bad guys are going to have a hard time breaking out of the userland components of bhyve on HardenedBSD. :)</p> </blockquote> <hr> <p>##Beastie Bits</p> <ul> <li><a href="https://www.ghostbsd.org/18.10_release_announcement" target="_blank" rel="nofollow noopener">GhostBSD 18.10 has been released</a></li> <li><a href="http://project-trident.org/post/2018-11-10_rc3-available/" target="_blank" rel="nofollow noopener">Project Trident RC3 has been released</a></li> <li><a href="https://undeadly.org/cgi?action=article;sid=20181022130631" target="_blank" rel="nofollow noopener">The OpenBSD Foundation receives the first Silver contribution from a single individual</a></li> <li><a href="http://www.echothrust.com/blogs/monitoring-pf-logs-gource" target="_blank" rel="nofollow noopener">Monitoring pf logs gource</a></li> <li><a href="https://twitter.com/zmcgrew/status/1055682596812730368" target="_blank" rel="nofollow noopener">NetBSD on the RISC-V is alive</a></li> <li><a href="https://marc.info/?l=openbsd-tech&amp;m=154050351216908&amp;w=2" target="_blank" rel="nofollow noopener">The X hole</a></li> <li><a href="http://mail-index.netbsd.org/pkgsrc-users/2018/10/05/msg027525.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc-2018Q3 release (2018-10-05)</a></li> <li><a href="https://an.undulating.space/post/180927-er_alternate_firmware_benchmarks/" target="_blank" rel="nofollow noopener">NAT performance on EdgeRouter X and Lite with EdgeOS, OpenBSD, and OpenWRT</a></li> <li><a href="https://www.princeton.edu/~hos/mike/transcripts/thompson.htm" target="_blank" rel="nofollow noopener">UNIX (as we know it) might not have existed without Mrs. Thompson</a></li> <li><a href="https://www.freepizza.io/" target="_blank" rel="nofollow noopener">Free Pizza for your dev events</a></li> <li><a href="https://calagator.org/events/1250474530" target="_blank" rel="nofollow noopener">Portland BSD Pizza Night: Nov 29th 7pm</a></li> </ul> <hr> <p>##Feedback/Questions</p> <ul> <li>Dennis - <a href="http://dpaste.com/36JB7EC#wrap" target="_blank" rel="nofollow noopener">Core developers leaving illumOS?</a></li> <li>Ben - <a href="http://dpaste.com/1R36Z32#wrap" target="_blank" rel="nofollow noopener">Jumping from snapshot to snapshot</a></li> <li>Ias - <a href="http://dpaste.com/1CC86MX" target="_blank" rel="nofollow noopener">Question about ZFS snapshots</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li> </ul> <hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 271: Automatic Drive Tests | BSD Now 271</title>
  <link>https://www.bsdnow.tv/271</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2867</guid>
  <pubDate>Thu, 08 Nov 2018 04:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/79038ba2-cb6e-4b71-8bcb-83141df434c3.mp3" length="40996081" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>MidnightBSD 1.0 released, MeetBSD review, EuroBSDcon trip reports, DNS over TLS in FreeBSD 12, Upgrading OpenBSD with Ansible, how to use smartd to run tests on your drives automatically, and more.</itunes:subtitle>
  <itunes:duration>1:08:01</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>&lt;p&gt;MidnightBSD 1.0 released, MeetBSD review, EuroBSDcon trip reports, DNS over TLS in FreeBSD 12, Upgrading OpenBSD with Ansible, how to use smartd to run tests on your drives automatically, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://www.midnightbsd.org/news/" target="_blank" rel="nofollow noopener"&gt;MidnightBSD 1.0 now available&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m happy to announce the availability of MidnightBSD 1.0 for amd64 and i386. Over the years, many ambitious goals were set for our 1.0 release. As it approached, it was clear we wouldn’t be able to accomplish all of them. This release is more of a natural progression rather than a groundbreaking event. It includes many updates to the base system, improvements to the package manager, an updated compiler, and tools.&lt;br&gt;
Of particular note, you can now boot off of ZFS and use NVME SSDs and some AMD Radeon graphics cards support acceleration. AMD Ryzen support has greatly improved in this release. We also have added bhyve from FreeBSD.&lt;br&gt;
The 1.0 release is finally available. Still building packages for i386 and plan to do an amd64 package build later in the week. The single largest issue with the release process has been the web server performance. The CPU is overloaded and has been at solid 100% for several days. The server has a core i7 7700 in it. I’m trying to figure out what to buy as an upgrade so that we don’t continue to have this issue going forward. As it’s actually blocked in multiple processes, a 6 or 8 core chip might be an improvement for the workload…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Download links: &lt;a href="https://www.midnightbsd.org/download/" target="_blank" rel="nofollow noopener"&gt;https://www.midnightbsd.org/download/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?time_continue=33&amp;amp;v=-rlk2wFsjJ4" target="_blank" rel="nofollow noopener"&gt;https://www.youtube.com/watch?time_continue=33&amp;amp;v=-rlk2wFsjJ4&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://linuxunplugged.com/articles/meetbsd2018" target="_blank" rel="nofollow noopener"&gt;MeetBSD Review&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;MeetBSD 2018 took place at the sprawling Intel Santa Clara campus. The venue itself felt more like an olive branch than a simple friendly gesture by Intel. In truth it felt like a bit of an apology. You get the subtle sense they feel bad about how the BSD’s were treated with the Meltdown and Specter flaws. In fact, you may be right to think they felt a bit sorry towards the entire open source community.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;MeetBSD 2018&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At most massive venues the parking is the first concern, not so here - in fact that was rather straightforward. No, the real challenge is navigating the buildings. Luckily I had help from navigator extraordinaire, Hadea, who located the correct building, SC12 quickly. Finding the entrance took a moment or two though. The lobby itself was converted by iXsystems efficiently into the MeetBSD expo hall, clean, efficient and roomy with registration, some seating, and an extra conference room for on-on-one sessions. On day two sponsor booths were also setup. All who showed up on day one were warmly greeted with badges, lanyards and goodies by Denise and her friendly team.&lt;br&gt;
Like every great BSD event, plenty of food was made available. And as always they make it look effortless. These events showcase iXsystem’s inherent generosity toward its community; with breakfast items in the back of the main auditorium room in the morning, boxed lunches, fruit and cookies at lunch time, and snacks for the rest of the day. But just in case your still hungry, there is a pizza meetup in another Intel room after day one and two.&lt;br&gt;
MeetBSD leverages it’s realistically small crowd size on day one. The morning starts off with introductions of the entire group, the mic is passed around the room.&lt;br&gt;
The group is a good mix of pros in the industry (such as Juniper, Intel, Ebay, Groupon, Cisco, etc), iX staff, and a few enthusiast. Lots of people with a focus or passion for networking. And, of course, some friendly Linux bashing went down for good measure, always followed by a good natured chuckle.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;MeetBSD Gives me The Feels&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I find that I am subtly unnerved at this venue, and at lunch I saw it clearly. I have always had a strong geek radar, allowing me to navigate a new area (like Berkeley for MeetBSD of 2016, or even SCALE earlier this year in Pasadena), and in a glance I can see who is from my conference and who isn’t. This means it is easy, nearly effortless to know who to greet with a smile and a wave. These are MY people. Here at the Intel campus though it is different. The drive in alone reveals behemoth complexes all with well known tech names prominently displayed. This is Silicon Valley, and all of these people look like MY people. So much for knowing who’s from my conference. Thank goodness for those infamous BSD horns. None-the-less I am struck by how massive these tech giants are. And Intel is one of the largest of those giants, and see the physical reminders of this fact brought home the significance that they had opened their doors, wifi, and bathrooms to the BSD community.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###[EuroBSDcon 2018 Trip Reports]&lt;br&gt;
&lt;a href="https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-joseph-mingrone/" target="_blank" rel="nofollow noopener"&gt;https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-joseph-mingrone/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-vinicius-zavam/" target="_blank" rel="nofollow noopener"&gt;https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-vinicius-zavam/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-emmanuel-vadot/" target="_blank" rel="nofollow noopener"&gt;https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-emmanuel-vadot/&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://blog.des.no/2018/10/dns-over-tls-in-freebsd-12/" target="_blank" rel="nofollow noopener"&gt;DNS over TLS in FreeBSD 12&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;With the arrival of OpenSSL 1.1.1, an upgraded Unbound, and some changes to the setup and init scripts, FreeBSD 12.0, currently in beta, now supports DNS over TLS out of the box.&lt;br&gt;
DNS over TLS is just what it sounds like: DNS over TCP, but wrapped in a TLS session. It encrypts your requests and the server’s replies, and optionally allows you to verify the identity of the server. The advantages are protection against eavesdropping and manipulation of your DNS traffic; the drawbacks are a slight performance degradation and potential firewall traversal issues, as it runs over a non-standard port (TCP port 853) which may be blocked on some networks. Let’s take a look at how to set it up.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We’ve seen how to set up Unbound—specifically, the local_unbound service in FreeBSD 12.0—to use DNS over TLS instead of plain UDP or TCP, using Cloudflare’s public DNS service as an example. We’ve looked at the performance impact, and at how to ensure (and verify) that Unbound validates the server certificate to prevent man-in-the-middle attacks.&lt;br&gt;
The question that remains is whether it is all worth it. There is undeniably a performance hit, though this may improve with TLS 1.3. More importantly, there are currently very few DNS-over-TLS providers—only one, really, since Quad9 filter their responses—and you have to weigh the advantage of encrypting your DNS traffic against the disadvantage of sending it all to a single organization. I can’t answer that question for you, but I can tell you that the parameters are evolving quickly, and if your answer is negative today, it may not remain so for long. More providers will appear. Performance will improve with TLS 1.3 and QUIC. Within a year or two, running DNS over TLS may very well become the rule rather than the experimental exception.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://chown.me/blog/upgrading-openbsd-with-ansible.html" target="_blank" rel="nofollow noopener"&gt;Upgrading OpenBSD with Ansible&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;My router runs OpenBSD -current&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A few months ago, I needed software that had just hit the ports tree. I didn’t want to wait for the next release, so I upgraded my router to use -current. Since then, I’ve continued running -current, which means upgrading to a newer snapshot every so often. Running -current is great, but the process of updating to a newer snapshot was cumbersome. Initially, I had to plug in a serial cable and then reboot into bsd.rd, hit enter ten times, then reboot, run sysmerge and update packages.&lt;br&gt;
I eventually switched to upobsd to be able to upgrade without the need for a serial connection. The process was better, but still tiresome. Usually, I would prepare the special version of bsd.rd, boot on bsd.rd, and do something like wash the dishes in the meantime. After about ten minutes, I would dry my hands and then go back to my workstation to see whether the bsd.rd part had finished so I could run sysmerge and pkg_add, and then return to the dishes while it upgraded packages.&lt;br&gt;
Out of laziness, I thought: “I should automate this,” but what happened instead is that I simply didn’t upgrade that machine very often. (Yes, laziness). With my router out of commission, life is very dull, because it is my gateway to the Internet. Even services hosted at my place (like my Mastodon instance) are not reachable when the router is down because I use multiple VLANs (so I need the router to jump across VLANs).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Ansible Reboot Module&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I recently got a new job, and one of my first tasks was auditing the Ansible roles written by my predecessors. In one role, the machine rebooted and they used the wait_for_connection module to wait for it to come back up. That sounded quite hackish to me, so out of curiosity, I tried to determine whether there was a better way. I also thought I might be able to use something similar to further automate my OpenBSD upgrades, and wanted to assess the cleanliness of this method. ;-)&lt;br&gt;
I learned that with the then-upcoming 2.7 Ansible release, a proper reboot module would be included. I went to the docs, which stated that for a certain parameter:&lt;br&gt;
I took this to mean that there was no support for OpenBSD. I looked at the code and, indeed, there was not. However, I believed that it wouldn’t be too hard to add it. I added the missing pieces for OpenBSD, tested it on my poor Pine64 and then submitted it upstream. After a quick back and forth, the module’s author merged it into devel (having a friend working at Red Hat helped the process, merci Cyril !) A couple days later, the release engineer merged it into stable-2.7.&lt;br&gt;
I proceeded to actually write the playbook, and then I hit a bug. The parameter reboot_timeout was not recognized by Ansible. This feature would definitely be useful on a slow machine (such as the Pine64 and its dying SD card). Again, my fix was merged into master by the module’s author and then merged into stable-2.7. 2.7.1 will be the first release to feature these fixes, but if you use OpenBSD -current, you already have access to them. I backported the patches when I updated ansible.&lt;br&gt;
Fun fact about Ansible and reboots: “The win_reboot module was […] included with Ansible 2.1,” while for unix systems it wasn’t added until 2.7. :D For more details, you can read the module’s author blog article.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The explanations&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Ansible runs my script on the remote host to fetch the sets. It creates an answer file from the template and then gives it to upobsd. Once upobsd has created the kernel, Ansible copies it in place of /bsd on the host. The router reboots and boots on /bsd, which is upobsd’s bsd.rd. The installer runs in auto_update mode. Once it comes back from bsd.rd land, it archives the kernel and finishes by upgrading all the packages.&lt;br&gt;
It also supports upgrading without fetching the sets ahead of time. For instance, I upgrade this way on my Pine64 because if I cared about speed, I wouldn’t use this weak computer with its dying SD card. For this case, I just comment out the path_sets variable and Ansible instead creates an answer file that will instruct the installer to fetch the sets from the designated mirror.&lt;br&gt;
I’ve been archiving my kernels for a few years. It’s a nice way to fill up / keep a history of my upgrades. If I spot a regression, I can try a previous kernel … which may not work with the then-desynchronized userland, but that’s another story.&lt;br&gt;
sysmerge already runs with rc.sysmerge in batch mode and sends the result by email. I don’t think there’s merit to running it again in the playbook. The only perk would be discovering in the terminal whether any files need to be manually merged, rather than reading exactly the same output in the email.&lt;br&gt;
Initially, I used the openbsd_pkg module, but it doesn’t work on -current just before a release because pkg_add automatically looks for pub/OpenBSD/${release}/packages/${arch} (which is empty). I wrote and tested this playbook while 6.4 was around the corner, so I switched to command to be able to pass the -Dsnap parameter.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The result&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m very happy with the playbook! It performs the upgrade with as little intervention as possible and minimal downtime. \o/&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://dan.langille.org/2018/11/04/using-smartd-to-automatically-run-tests-on-your-drives/" target="_blank" rel="nofollow noopener"&gt;Using smartd to automatically run tests on your drives&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Those programs can “control and monitor storage systems using the Self-Monitoring, Analysis and Reporting Technology System (SMART) built into most modern ATA/SATA, SCSI/SAS and NVMe disks. In many cases, these utilities will provide advanced warning of disk degradation and failure.” See the smartmontools website for more information.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;NOTE: “Due to OS-specific issues and also depending on the different state of smartmontools development on the platforms, device support is not the same for all OS platforms.” – use the documentation for your OS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I first started using smartd in March 2010 (according to that blog post, that’s when I still writing on both The FreeBSD Diary and this blog). Back then, and until recently, all I did was start smartd. As far as I can tell, all it did was send daily status messages via the FreeBSD periodic tools. I would set my drive devices via daily_status_smart_devices in /etc/periodic.conf and the daily status reports would include drive health information.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Two types of tests&lt;/li&gt;
&lt;li&gt;My original abandoned attempt&lt;/li&gt;
&lt;li&gt;How do you prove it works?&lt;/li&gt;
&lt;li&gt;Looking at the test results&lt;/li&gt;
&lt;li&gt;Failed drive to the rescue&lt;/li&gt;
&lt;li&gt;smartd.conf I am using&lt;/li&gt;
&lt;li&gt;supernews&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/3833" target="_blank" rel="nofollow noopener"&gt;Decent Pics of “Relayd &amp;amp; Httpd Mastery” signature&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/0xUID/status/1051208357850345472?s=20" target="_blank" rel="nofollow noopener"&gt;A Unix Shell poster from 1983&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/UNIX-historians/" target="_blank" rel="nofollow noopener"&gt;Cambridge UNIX historians (Cambridge, United Kingdom)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hackmd.io/Yv46aOjTS0eYk0m4YLXOTw#" target="_blank" rel="nofollow noopener"&gt;Goals for FreeBSD 13&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/september-october-2018-issue-of-the-freebsd-journal-now-available/" target="_blank" rel="nofollow noopener"&gt;September/October 2018 Issue of the FreeBSD Journal Now Available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/using_acme_sh_for_let" target="_blank" rel="nofollow noopener"&gt;Using acme.sh for Let’s Encrypt certificates on pkgsrc.org servers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jonwillia.ms/2018/09/23/anycast-dns-openbsd" target="_blank" rel="nofollow noopener"&gt;Deploying Anycast DNS Using OpenBSD and BGP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dataswamp.org/~solene/2017-03-17-integrity.html" target="_blank" rel="nofollow noopener"&gt;How to check your data integrity?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Raymond - &lt;a href="http://dpaste.com/0KNXTJF" target="_blank" rel="nofollow noopener"&gt;MeetBSD California&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Dev Summit Videos: &lt;a href="https://www.youtube.com/playlist?list=PLb87fdKUIo8TNG6f94xo9_W-XXrEbqgWI" target="_blank" rel="nofollow noopener"&gt;https://www.youtube.com/playlist?list=PLb87fdKUIo8TNG6f94xo9_W-XXrEbqgWI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Conference Videos: &lt;a href="https://www.youtube.com/playlist?list=PLb87fdKUIo8Q41aoPE6vssP-uF4dxk86b" target="_blank" rel="nofollow noopener"&gt;https://www.youtube.com/playlist?list=PLb87fdKUIo8Q41aoPE6vssP-uF4dxk86b&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Conference videos are still being processed, the rest should appear over the next few weeks.&lt;/li&gt;
&lt;/ul&gt;

&lt;/li&gt;&lt;br&gt;
&lt;li&gt;Greg - &lt;a href="http://dpaste.com/1W29RSK" target="_blank" rel="nofollow noopener"&gt;Stable vs Release&lt;/a&gt;&lt;/li&gt;&lt;br&gt;
&lt;li&gt;Mjrodriguez - &lt;a href="http://dpaste.com/2XKMR6B#wrap" target="_blank" rel="nofollow noopener"&gt;Open/FreeBSD support for Single Board computers&lt;/a&gt;&lt;/li&gt;&lt;br&gt;
&lt;/ul&gt;&lt;br&gt;
&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, midnightbsd, eurobsdcon, ansible, dns</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>MidnightBSD 1.0 released, MeetBSD review, EuroBSDcon trip reports, DNS over TLS in FreeBSD 12, Upgrading OpenBSD with Ansible, how to use smartd to run tests on your drives automatically, and more.</p>

<p>##Headlines<br>
###<a href="https://www.midnightbsd.org/news/" target="_blank" rel="nofollow noopener">MidnightBSD 1.0 now available</a></p>

<blockquote>
<p>I’m happy to announce the availability of MidnightBSD 1.0 for amd64 and i386. Over the years, many ambitious goals were set for our 1.0 release. As it approached, it was clear we wouldn’t be able to accomplish all of them. This release is more of a natural progression rather than a groundbreaking event. It includes many updates to the base system, improvements to the package manager, an updated compiler, and tools.<br>
Of particular note, you can now boot off of ZFS and use NVME SSDs and some AMD Radeon graphics cards support acceleration. AMD Ryzen support has greatly improved in this release. We also have added bhyve from FreeBSD.<br>
The 1.0 release is finally available. Still building packages for i386 and plan to do an amd64 package build later in the week. The single largest issue with the release process has been the web server performance. The CPU is overloaded and has been at solid 100% for several days. The server has a core i7 7700 in it. I’m trying to figure out what to buy as an upgrade so that we don’t continue to have this issue going forward. As it’s actually blocked in multiple processes, a 6 or 8 core chip might be an improvement for the workload…</p>
</blockquote>

<ul>
<li>Download links: <a href="https://www.midnightbsd.org/download/" target="_blank" rel="nofollow noopener">https://www.midnightbsd.org/download/</a></li>
<li><a href="https://www.youtube.com/watch?time_continue=33&amp;v=-rlk2wFsjJ4" target="_blank" rel="nofollow noopener">https://www.youtube.com/watch?time_continue=33&amp;v=-rlk2wFsjJ4</a></li>
</ul>

<hr>

<p>###<a href="https://linuxunplugged.com/articles/meetbsd2018" target="_blank" rel="nofollow noopener">MeetBSD Review</a></p>

<blockquote>
<p>MeetBSD 2018 took place at the sprawling Intel Santa Clara campus. The venue itself felt more like an olive branch than a simple friendly gesture by Intel. In truth it felt like a bit of an apology. You get the subtle sense they feel bad about how the BSD’s were treated with the Meltdown and Specter flaws. In fact, you may be right to think they felt a bit sorry towards the entire open source community.</p>
</blockquote>

<ul>
<li>MeetBSD 2018</li>
</ul>

<blockquote>
<p>At most massive venues the parking is the first concern, not so here - in fact that was rather straightforward. No, the real challenge is navigating the buildings. Luckily I had help from navigator extraordinaire, Hadea, who located the correct building, SC12 quickly. Finding the entrance took a moment or two though. The lobby itself was converted by iXsystems efficiently into the MeetBSD expo hall, clean, efficient and roomy with registration, some seating, and an extra conference room for on-on-one sessions. On day two sponsor booths were also setup. All who showed up on day one were warmly greeted with badges, lanyards and goodies by Denise and her friendly team.<br>
Like every great BSD event, plenty of food was made available. And as always they make it look effortless. These events showcase iXsystem’s inherent generosity toward its community; with breakfast items in the back of the main auditorium room in the morning, boxed lunches, fruit and cookies at lunch time, and snacks for the rest of the day. But just in case your still hungry, there is a pizza meetup in another Intel room after day one and two.<br>
MeetBSD leverages it’s realistically small crowd size on day one. The morning starts off with introductions of the entire group, the mic is passed around the room.<br>
The group is a good mix of pros in the industry (such as Juniper, Intel, Ebay, Groupon, Cisco, etc), iX staff, and a few enthusiast. Lots of people with a focus or passion for networking. And, of course, some friendly Linux bashing went down for good measure, always followed by a good natured chuckle.</p>
</blockquote>

<ul>
<li>MeetBSD Gives me The Feels</li>
</ul>

<blockquote>
<p>I find that I am subtly unnerved at this venue, and at lunch I saw it clearly. I have always had a strong geek radar, allowing me to navigate a new area (like Berkeley for MeetBSD of 2016, or even SCALE earlier this year in Pasadena), and in a glance I can see who is from my conference and who isn’t. This means it is easy, nearly effortless to know who to greet with a smile and a wave. These are MY people. Here at the Intel campus though it is different. The drive in alone reveals behemoth complexes all with well known tech names prominently displayed. This is Silicon Valley, and all of these people look like MY people. So much for knowing who’s from my conference. Thank goodness for those infamous BSD horns. None-the-less I am struck by how massive these tech giants are. And Intel is one of the largest of those giants, and see the physical reminders of this fact brought home the significance that they had opened their doors, wifi, and bathrooms to the BSD community.</p>
</blockquote>

<hr>

<p>###[EuroBSDcon 2018 Trip Reports]<br>
<a href="https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-joseph-mingrone/" target="_blank" rel="nofollow noopener">https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-joseph-mingrone/</a><br>
<a href="https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-vinicius-zavam/" target="_blank" rel="nofollow noopener">https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-vinicius-zavam/</a><br>
<a href="https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-emmanuel-vadot/" target="_blank" rel="nofollow noopener">https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-emmanuel-vadot/</a></p>

<hr>

<p>##News Roundup<br>
###<a href="https://blog.des.no/2018/10/dns-over-tls-in-freebsd-12/" target="_blank" rel="nofollow noopener">DNS over TLS in FreeBSD 12</a></p>

<blockquote>
<p>With the arrival of OpenSSL 1.1.1, an upgraded Unbound, and some changes to the setup and init scripts, FreeBSD 12.0, currently in beta, now supports DNS over TLS out of the box.<br>
DNS over TLS is just what it sounds like: DNS over TCP, but wrapped in a TLS session. It encrypts your requests and the server’s replies, and optionally allows you to verify the identity of the server. The advantages are protection against eavesdropping and manipulation of your DNS traffic; the drawbacks are a slight performance degradation and potential firewall traversal issues, as it runs over a non-standard port (TCP port 853) which may be blocked on some networks. Let’s take a look at how to set it up.</p>
</blockquote>

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

<blockquote>
<p>We’ve seen how to set up Unbound—specifically, the local_unbound service in FreeBSD 12.0—to use DNS over TLS instead of plain UDP or TCP, using Cloudflare’s public DNS service as an example. We’ve looked at the performance impact, and at how to ensure (and verify) that Unbound validates the server certificate to prevent man-in-the-middle attacks.<br>
The question that remains is whether it is all worth it. There is undeniably a performance hit, though this may improve with TLS 1.3. More importantly, there are currently very few DNS-over-TLS providers—only one, really, since Quad9 filter their responses—and you have to weigh the advantage of encrypting your DNS traffic against the disadvantage of sending it all to a single organization. I can’t answer that question for you, but I can tell you that the parameters are evolving quickly, and if your answer is negative today, it may not remain so for long. More providers will appear. Performance will improve with TLS 1.3 and QUIC. Within a year or two, running DNS over TLS may very well become the rule rather than the experimental exception.</p>
</blockquote>

<hr>

<p>###<a href="https://chown.me/blog/upgrading-openbsd-with-ansible.html" target="_blank" rel="nofollow noopener">Upgrading OpenBSD with Ansible</a></p>

<ul>
<li>My router runs OpenBSD -current</li>
</ul>

<blockquote>
<p>A few months ago, I needed software that had just hit the ports tree. I didn’t want to wait for the next release, so I upgraded my router to use -current. Since then, I’ve continued running -current, which means upgrading to a newer snapshot every so often. Running -current is great, but the process of updating to a newer snapshot was cumbersome. Initially, I had to plug in a serial cable and then reboot into bsd.rd, hit enter ten times, then reboot, run sysmerge and update packages.<br>
I eventually switched to upobsd to be able to upgrade without the need for a serial connection. The process was better, but still tiresome. Usually, I would prepare the special version of bsd.rd, boot on bsd.rd, and do something like wash the dishes in the meantime. After about ten minutes, I would dry my hands and then go back to my workstation to see whether the bsd.rd part had finished so I could run sysmerge and pkg_add, and then return to the dishes while it upgraded packages.<br>
Out of laziness, I thought: “I should automate this,” but what happened instead is that I simply didn’t upgrade that machine very often. (Yes, laziness). With my router out of commission, life is very dull, because it is my gateway to the Internet. Even services hosted at my place (like my Mastodon instance) are not reachable when the router is down because I use multiple VLANs (so I need the router to jump across VLANs).</p>
</blockquote>

<ul>
<li>Ansible Reboot Module</li>
</ul>

<blockquote>
<p>I recently got a new job, and one of my first tasks was auditing the Ansible roles written by my predecessors. In one role, the machine rebooted and they used the wait_for_connection module to wait for it to come back up. That sounded quite hackish to me, so out of curiosity, I tried to determine whether there was a better way. I also thought I might be able to use something similar to further automate my OpenBSD upgrades, and wanted to assess the cleanliness of this method. ;-)<br>
I learned that with the then-upcoming 2.7 Ansible release, a proper reboot module would be included. I went to the docs, which stated that for a certain parameter:<br>
I took this to mean that there was no support for OpenBSD. I looked at the code and, indeed, there was not. However, I believed that it wouldn’t be too hard to add it. I added the missing pieces for OpenBSD, tested it on my poor Pine64 and then submitted it upstream. After a quick back and forth, the module’s author merged it into devel (having a friend working at Red Hat helped the process, merci Cyril !) A couple days later, the release engineer merged it into stable-2.7.<br>
I proceeded to actually write the playbook, and then I hit a bug. The parameter reboot_timeout was not recognized by Ansible. This feature would definitely be useful on a slow machine (such as the Pine64 and its dying SD card). Again, my fix was merged into master by the module’s author and then merged into stable-2.7. 2.7.1 will be the first release to feature these fixes, but if you use OpenBSD -current, you already have access to them. I backported the patches when I updated ansible.<br>
Fun fact about Ansible and reboots: “The win_reboot module was […] included with Ansible 2.1,” while for unix systems it wasn’t added until 2.7. :D For more details, you can read the module’s author blog article.</p>
</blockquote>

<ul>
<li>The explanations</li>
</ul>

<blockquote>
<p>Ansible runs my script on the remote host to fetch the sets. It creates an answer file from the template and then gives it to upobsd. Once upobsd has created the kernel, Ansible copies it in place of /bsd on the host. The router reboots and boots on /bsd, which is upobsd’s bsd.rd. The installer runs in auto_update mode. Once it comes back from bsd.rd land, it archives the kernel and finishes by upgrading all the packages.<br>
It also supports upgrading without fetching the sets ahead of time. For instance, I upgrade this way on my Pine64 because if I cared about speed, I wouldn’t use this weak computer with its dying SD card. For this case, I just comment out the path_sets variable and Ansible instead creates an answer file that will instruct the installer to fetch the sets from the designated mirror.<br>
I’ve been archiving my kernels for a few years. It’s a nice way to fill up / keep a history of my upgrades. If I spot a regression, I can try a previous kernel … which may not work with the then-desynchronized userland, but that’s another story.<br>
sysmerge already runs with rc.sysmerge in batch mode and sends the result by email. I don’t think there’s merit to running it again in the playbook. The only perk would be discovering in the terminal whether any files need to be manually merged, rather than reading exactly the same output in the email.<br>
Initially, I used the openbsd_pkg module, but it doesn’t work on -current just before a release because pkg_add automatically looks for pub/OpenBSD/${release}/packages/${arch} (which is empty). I wrote and tested this playbook while 6.4 was around the corner, so I switched to command to be able to pass the -Dsnap parameter.</p>
</blockquote>

<ul>
<li>The result</li>
</ul>

<blockquote>
<p>I’m very happy with the playbook! It performs the upgrade with as little intervention as possible and minimal downtime. \o/</p>
</blockquote>

<hr>

<p>###<a href="https://dan.langille.org/2018/11/04/using-smartd-to-automatically-run-tests-on-your-drives/" target="_blank" rel="nofollow noopener">Using smartd to automatically run tests on your drives</a></p>

<blockquote>
<p>Those programs can “control and monitor storage systems using the Self-Monitoring, Analysis and Reporting Technology System (SMART) built into most modern ATA/SATA, SCSI/SAS and NVMe disks. In many cases, these utilities will provide advanced warning of disk degradation and failure.” See the smartmontools website for more information.</p>
</blockquote>

<blockquote>
<p>NOTE: “Due to OS-specific issues and also depending on the different state of smartmontools development on the platforms, device support is not the same for all OS platforms.” – use the documentation for your OS.</p>
</blockquote>

<blockquote>
<p>I first started using smartd in March 2010 (according to that blog post, that’s when I still writing on both The FreeBSD Diary and this blog). Back then, and until recently, all I did was start smartd. As far as I can tell, all it did was send daily status messages via the FreeBSD periodic tools. I would set my drive devices via daily_status_smart_devices in /etc/periodic.conf and the daily status reports would include drive health information.</p>
</blockquote>

<ul>
<li>Two types of tests</li>
<li>My original abandoned attempt</li>
<li>How do you prove it works?</li>
<li>Looking at the test results</li>
<li>Failed drive to the rescue</li>
<li>smartd.conf I am using</li>
<li>supernews</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://mwl.io/archives/3833" target="_blank" rel="nofollow noopener">Decent Pics of “Relayd &amp; Httpd Mastery” signature</a></li>
<li><a href="https://twitter.com/0xUID/status/1051208357850345472?s=20" target="_blank" rel="nofollow noopener">A Unix Shell poster from 1983</a></li>
<li><a href="https://www.meetup.com/UNIX-historians/" target="_blank" rel="nofollow noopener">Cambridge UNIX historians (Cambridge, United Kingdom)</a></li>
<li><a href="https://hackmd.io/Yv46aOjTS0eYk0m4YLXOTw#" target="_blank" rel="nofollow noopener">Goals for FreeBSD 13</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/september-october-2018-issue-of-the-freebsd-journal-now-available/" target="_blank" rel="nofollow noopener">September/October 2018 Issue of the FreeBSD Journal Now Available</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/using_acme_sh_for_let" target="_blank" rel="nofollow noopener">Using acme.sh for Let’s Encrypt certificates on pkgsrc.org servers</a></li>
<li><a href="https://jonwillia.ms/2018/09/23/anycast-dns-openbsd" target="_blank" rel="nofollow noopener">Deploying Anycast DNS Using OpenBSD and BGP</a></li>
<li><a href="https://dataswamp.org/~solene/2017-03-17-integrity.html" target="_blank" rel="nofollow noopener">How to check your data integrity?</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Raymond - <a href="http://dpaste.com/0KNXTJF" target="_blank" rel="nofollow noopener">MeetBSD California</a>
<ul>
<li>Dev Summit Videos: <a href="https://www.youtube.com/playlist?list=PLb87fdKUIo8TNG6f94xo9_W-XXrEbqgWI" target="_blank" rel="nofollow noopener">https://www.youtube.com/playlist?list=PLb87fdKUIo8TNG6f94xo9_W-XXrEbqgWI</a></li>
<li>Conference Videos: <a href="https://www.youtube.com/playlist?list=PLb87fdKUIo8Q41aoPE6vssP-uF4dxk86b" target="_blank" rel="nofollow noopener">https://www.youtube.com/playlist?list=PLb87fdKUIo8Q41aoPE6vssP-uF4dxk86b</a></li>
<li>Conference videos are still being processed, the rest should appear over the next few weeks.</li>
</ul>

</li><br>
<li>Greg - <a href="http://dpaste.com/1W29RSK" target="_blank" rel="nofollow noopener">Stable vs Release</a></li><br>
<li>Mjrodriguez - <a href="http://dpaste.com/2XKMR6B#wrap" target="_blank" rel="nofollow noopener">Open/FreeBSD support for Single Board computers</a></li><br>
</ul><br>
<hr>

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

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>MidnightBSD 1.0 released, MeetBSD review, EuroBSDcon trip reports, DNS over TLS in FreeBSD 12, Upgrading OpenBSD with Ansible, how to use smartd to run tests on your drives automatically, and more.</p>

<p>##Headlines<br>
###<a href="https://www.midnightbsd.org/news/" target="_blank" rel="nofollow noopener">MidnightBSD 1.0 now available</a></p>

<blockquote>
<p>I’m happy to announce the availability of MidnightBSD 1.0 for amd64 and i386. Over the years, many ambitious goals were set for our 1.0 release. As it approached, it was clear we wouldn’t be able to accomplish all of them. This release is more of a natural progression rather than a groundbreaking event. It includes many updates to the base system, improvements to the package manager, an updated compiler, and tools.<br>
Of particular note, you can now boot off of ZFS and use NVME SSDs and some AMD Radeon graphics cards support acceleration. AMD Ryzen support has greatly improved in this release. We also have added bhyve from FreeBSD.<br>
The 1.0 release is finally available. Still building packages for i386 and plan to do an amd64 package build later in the week. The single largest issue with the release process has been the web server performance. The CPU is overloaded and has been at solid 100% for several days. The server has a core i7 7700 in it. I’m trying to figure out what to buy as an upgrade so that we don’t continue to have this issue going forward. As it’s actually blocked in multiple processes, a 6 or 8 core chip might be an improvement for the workload…</p>
</blockquote>

<ul>
<li>Download links: <a href="https://www.midnightbsd.org/download/" target="_blank" rel="nofollow noopener">https://www.midnightbsd.org/download/</a></li>
<li><a href="https://www.youtube.com/watch?time_continue=33&amp;v=-rlk2wFsjJ4" target="_blank" rel="nofollow noopener">https://www.youtube.com/watch?time_continue=33&amp;v=-rlk2wFsjJ4</a></li>
</ul>

<hr>

<p>###<a href="https://linuxunplugged.com/articles/meetbsd2018" target="_blank" rel="nofollow noopener">MeetBSD Review</a></p>

<blockquote>
<p>MeetBSD 2018 took place at the sprawling Intel Santa Clara campus. The venue itself felt more like an olive branch than a simple friendly gesture by Intel. In truth it felt like a bit of an apology. You get the subtle sense they feel bad about how the BSD’s were treated with the Meltdown and Specter flaws. In fact, you may be right to think they felt a bit sorry towards the entire open source community.</p>
</blockquote>

<ul>
<li>MeetBSD 2018</li>
</ul>

<blockquote>
<p>At most massive venues the parking is the first concern, not so here - in fact that was rather straightforward. No, the real challenge is navigating the buildings. Luckily I had help from navigator extraordinaire, Hadea, who located the correct building, SC12 quickly. Finding the entrance took a moment or two though. The lobby itself was converted by iXsystems efficiently into the MeetBSD expo hall, clean, efficient and roomy with registration, some seating, and an extra conference room for on-on-one sessions. On day two sponsor booths were also setup. All who showed up on day one were warmly greeted with badges, lanyards and goodies by Denise and her friendly team.<br>
Like every great BSD event, plenty of food was made available. And as always they make it look effortless. These events showcase iXsystem’s inherent generosity toward its community; with breakfast items in the back of the main auditorium room in the morning, boxed lunches, fruit and cookies at lunch time, and snacks for the rest of the day. But just in case your still hungry, there is a pizza meetup in another Intel room after day one and two.<br>
MeetBSD leverages it’s realistically small crowd size on day one. The morning starts off with introductions of the entire group, the mic is passed around the room.<br>
The group is a good mix of pros in the industry (such as Juniper, Intel, Ebay, Groupon, Cisco, etc), iX staff, and a few enthusiast. Lots of people with a focus or passion for networking. And, of course, some friendly Linux bashing went down for good measure, always followed by a good natured chuckle.</p>
</blockquote>

<ul>
<li>MeetBSD Gives me The Feels</li>
</ul>

<blockquote>
<p>I find that I am subtly unnerved at this venue, and at lunch I saw it clearly. I have always had a strong geek radar, allowing me to navigate a new area (like Berkeley for MeetBSD of 2016, or even SCALE earlier this year in Pasadena), and in a glance I can see who is from my conference and who isn’t. This means it is easy, nearly effortless to know who to greet with a smile and a wave. These are MY people. Here at the Intel campus though it is different. The drive in alone reveals behemoth complexes all with well known tech names prominently displayed. This is Silicon Valley, and all of these people look like MY people. So much for knowing who’s from my conference. Thank goodness for those infamous BSD horns. None-the-less I am struck by how massive these tech giants are. And Intel is one of the largest of those giants, and see the physical reminders of this fact brought home the significance that they had opened their doors, wifi, and bathrooms to the BSD community.</p>
</blockquote>

<hr>

<p>###[EuroBSDcon 2018 Trip Reports]<br>
<a href="https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-joseph-mingrone/" target="_blank" rel="nofollow noopener">https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-joseph-mingrone/</a><br>
<a href="https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-vinicius-zavam/" target="_blank" rel="nofollow noopener">https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-vinicius-zavam/</a><br>
<a href="https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-emmanuel-vadot/" target="_blank" rel="nofollow noopener">https://www.freebsdfoundation.org/blog/eurobsd-2018-trip-report-emmanuel-vadot/</a></p>

<hr>

<p>##News Roundup<br>
###<a href="https://blog.des.no/2018/10/dns-over-tls-in-freebsd-12/" target="_blank" rel="nofollow noopener">DNS over TLS in FreeBSD 12</a></p>

<blockquote>
<p>With the arrival of OpenSSL 1.1.1, an upgraded Unbound, and some changes to the setup and init scripts, FreeBSD 12.0, currently in beta, now supports DNS over TLS out of the box.<br>
DNS over TLS is just what it sounds like: DNS over TCP, but wrapped in a TLS session. It encrypts your requests and the server’s replies, and optionally allows you to verify the identity of the server. The advantages are protection against eavesdropping and manipulation of your DNS traffic; the drawbacks are a slight performance degradation and potential firewall traversal issues, as it runs over a non-standard port (TCP port 853) which may be blocked on some networks. Let’s take a look at how to set it up.</p>
</blockquote>

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

<blockquote>
<p>We’ve seen how to set up Unbound—specifically, the local_unbound service in FreeBSD 12.0—to use DNS over TLS instead of plain UDP or TCP, using Cloudflare’s public DNS service as an example. We’ve looked at the performance impact, and at how to ensure (and verify) that Unbound validates the server certificate to prevent man-in-the-middle attacks.<br>
The question that remains is whether it is all worth it. There is undeniably a performance hit, though this may improve with TLS 1.3. More importantly, there are currently very few DNS-over-TLS providers—only one, really, since Quad9 filter their responses—and you have to weigh the advantage of encrypting your DNS traffic against the disadvantage of sending it all to a single organization. I can’t answer that question for you, but I can tell you that the parameters are evolving quickly, and if your answer is negative today, it may not remain so for long. More providers will appear. Performance will improve with TLS 1.3 and QUIC. Within a year or two, running DNS over TLS may very well become the rule rather than the experimental exception.</p>
</blockquote>

<hr>

<p>###<a href="https://chown.me/blog/upgrading-openbsd-with-ansible.html" target="_blank" rel="nofollow noopener">Upgrading OpenBSD with Ansible</a></p>

<ul>
<li>My router runs OpenBSD -current</li>
</ul>

<blockquote>
<p>A few months ago, I needed software that had just hit the ports tree. I didn’t want to wait for the next release, so I upgraded my router to use -current. Since then, I’ve continued running -current, which means upgrading to a newer snapshot every so often. Running -current is great, but the process of updating to a newer snapshot was cumbersome. Initially, I had to plug in a serial cable and then reboot into bsd.rd, hit enter ten times, then reboot, run sysmerge and update packages.<br>
I eventually switched to upobsd to be able to upgrade without the need for a serial connection. The process was better, but still tiresome. Usually, I would prepare the special version of bsd.rd, boot on bsd.rd, and do something like wash the dishes in the meantime. After about ten minutes, I would dry my hands and then go back to my workstation to see whether the bsd.rd part had finished so I could run sysmerge and pkg_add, and then return to the dishes while it upgraded packages.<br>
Out of laziness, I thought: “I should automate this,” but what happened instead is that I simply didn’t upgrade that machine very often. (Yes, laziness). With my router out of commission, life is very dull, because it is my gateway to the Internet. Even services hosted at my place (like my Mastodon instance) are not reachable when the router is down because I use multiple VLANs (so I need the router to jump across VLANs).</p>
</blockquote>

<ul>
<li>Ansible Reboot Module</li>
</ul>

<blockquote>
<p>I recently got a new job, and one of my first tasks was auditing the Ansible roles written by my predecessors. In one role, the machine rebooted and they used the wait_for_connection module to wait for it to come back up. That sounded quite hackish to me, so out of curiosity, I tried to determine whether there was a better way. I also thought I might be able to use something similar to further automate my OpenBSD upgrades, and wanted to assess the cleanliness of this method. ;-)<br>
I learned that with the then-upcoming 2.7 Ansible release, a proper reboot module would be included. I went to the docs, which stated that for a certain parameter:<br>
I took this to mean that there was no support for OpenBSD. I looked at the code and, indeed, there was not. However, I believed that it wouldn’t be too hard to add it. I added the missing pieces for OpenBSD, tested it on my poor Pine64 and then submitted it upstream. After a quick back and forth, the module’s author merged it into devel (having a friend working at Red Hat helped the process, merci Cyril !) A couple days later, the release engineer merged it into stable-2.7.<br>
I proceeded to actually write the playbook, and then I hit a bug. The parameter reboot_timeout was not recognized by Ansible. This feature would definitely be useful on a slow machine (such as the Pine64 and its dying SD card). Again, my fix was merged into master by the module’s author and then merged into stable-2.7. 2.7.1 will be the first release to feature these fixes, but if you use OpenBSD -current, you already have access to them. I backported the patches when I updated ansible.<br>
Fun fact about Ansible and reboots: “The win_reboot module was […] included with Ansible 2.1,” while for unix systems it wasn’t added until 2.7. :D For more details, you can read the module’s author blog article.</p>
</blockquote>

<ul>
<li>The explanations</li>
</ul>

<blockquote>
<p>Ansible runs my script on the remote host to fetch the sets. It creates an answer file from the template and then gives it to upobsd. Once upobsd has created the kernel, Ansible copies it in place of /bsd on the host. The router reboots and boots on /bsd, which is upobsd’s bsd.rd. The installer runs in auto_update mode. Once it comes back from bsd.rd land, it archives the kernel and finishes by upgrading all the packages.<br>
It also supports upgrading without fetching the sets ahead of time. For instance, I upgrade this way on my Pine64 because if I cared about speed, I wouldn’t use this weak computer with its dying SD card. For this case, I just comment out the path_sets variable and Ansible instead creates an answer file that will instruct the installer to fetch the sets from the designated mirror.<br>
I’ve been archiving my kernels for a few years. It’s a nice way to fill up / keep a history of my upgrades. If I spot a regression, I can try a previous kernel … which may not work with the then-desynchronized userland, but that’s another story.<br>
sysmerge already runs with rc.sysmerge in batch mode and sends the result by email. I don’t think there’s merit to running it again in the playbook. The only perk would be discovering in the terminal whether any files need to be manually merged, rather than reading exactly the same output in the email.<br>
Initially, I used the openbsd_pkg module, but it doesn’t work on -current just before a release because pkg_add automatically looks for pub/OpenBSD/${release}/packages/${arch} (which is empty). I wrote and tested this playbook while 6.4 was around the corner, so I switched to command to be able to pass the -Dsnap parameter.</p>
</blockquote>

<ul>
<li>The result</li>
</ul>

<blockquote>
<p>I’m very happy with the playbook! It performs the upgrade with as little intervention as possible and minimal downtime. \o/</p>
</blockquote>

<hr>

<p>###<a href="https://dan.langille.org/2018/11/04/using-smartd-to-automatically-run-tests-on-your-drives/" target="_blank" rel="nofollow noopener">Using smartd to automatically run tests on your drives</a></p>

<blockquote>
<p>Those programs can “control and monitor storage systems using the Self-Monitoring, Analysis and Reporting Technology System (SMART) built into most modern ATA/SATA, SCSI/SAS and NVMe disks. In many cases, these utilities will provide advanced warning of disk degradation and failure.” See the smartmontools website for more information.</p>
</blockquote>

<blockquote>
<p>NOTE: “Due to OS-specific issues and also depending on the different state of smartmontools development on the platforms, device support is not the same for all OS platforms.” – use the documentation for your OS.</p>
</blockquote>

<blockquote>
<p>I first started using smartd in March 2010 (according to that blog post, that’s when I still writing on both The FreeBSD Diary and this blog). Back then, and until recently, all I did was start smartd. As far as I can tell, all it did was send daily status messages via the FreeBSD periodic tools. I would set my drive devices via daily_status_smart_devices in /etc/periodic.conf and the daily status reports would include drive health information.</p>
</blockquote>

<ul>
<li>Two types of tests</li>
<li>My original abandoned attempt</li>
<li>How do you prove it works?</li>
<li>Looking at the test results</li>
<li>Failed drive to the rescue</li>
<li>smartd.conf I am using</li>
<li>supernews</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://mwl.io/archives/3833" target="_blank" rel="nofollow noopener">Decent Pics of “Relayd &amp; Httpd Mastery” signature</a></li>
<li><a href="https://twitter.com/0xUID/status/1051208357850345472?s=20" target="_blank" rel="nofollow noopener">A Unix Shell poster from 1983</a></li>
<li><a href="https://www.meetup.com/UNIX-historians/" target="_blank" rel="nofollow noopener">Cambridge UNIX historians (Cambridge, United Kingdom)</a></li>
<li><a href="https://hackmd.io/Yv46aOjTS0eYk0m4YLXOTw#" target="_blank" rel="nofollow noopener">Goals for FreeBSD 13</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/september-october-2018-issue-of-the-freebsd-journal-now-available/" target="_blank" rel="nofollow noopener">September/October 2018 Issue of the FreeBSD Journal Now Available</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/using_acme_sh_for_let" target="_blank" rel="nofollow noopener">Using acme.sh for Let’s Encrypt certificates on pkgsrc.org servers</a></li>
<li><a href="https://jonwillia.ms/2018/09/23/anycast-dns-openbsd" target="_blank" rel="nofollow noopener">Deploying Anycast DNS Using OpenBSD and BGP</a></li>
<li><a href="https://dataswamp.org/~solene/2017-03-17-integrity.html" target="_blank" rel="nofollow noopener">How to check your data integrity?</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Raymond - <a href="http://dpaste.com/0KNXTJF" target="_blank" rel="nofollow noopener">MeetBSD California</a>
<ul>
<li>Dev Summit Videos: <a href="https://www.youtube.com/playlist?list=PLb87fdKUIo8TNG6f94xo9_W-XXrEbqgWI" target="_blank" rel="nofollow noopener">https://www.youtube.com/playlist?list=PLb87fdKUIo8TNG6f94xo9_W-XXrEbqgWI</a></li>
<li>Conference Videos: <a href="https://www.youtube.com/playlist?list=PLb87fdKUIo8Q41aoPE6vssP-uF4dxk86b" target="_blank" rel="nofollow noopener">https://www.youtube.com/playlist?list=PLb87fdKUIo8Q41aoPE6vssP-uF4dxk86b</a></li>
<li>Conference videos are still being processed, the rest should appear over the next few weeks.</li>
</ul>

</li><br>
<li>Greg - <a href="http://dpaste.com/1W29RSK" target="_blank" rel="nofollow noopener">Stable vs Release</a></li><br>
<li>Mjrodriguez - <a href="http://dpaste.com/2XKMR6B#wrap" target="_blank" rel="nofollow noopener">Open/FreeBSD support for Single Board computers</a></li><br>
</ul><br>
<hr>

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

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 270: Ghostly Releases | BSD Now 270</title>
  <link>https://www.bsdnow.tv/270</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2822</guid>
  <pubDate>Thu, 01 Nov 2018 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/83e21562-2f8c-4810-b4c6-0e8f3e36f95b.mp3" length="41653876" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 6.4 released, GhostBSD RC2 released, MeetBSD - the ultimate hallway track, DragonflyBSD desktop on a Thinkpad, Porting keybase to NetBSD, OpenSSH 7.9, and draft-ietf-6man-ipv6only-flag in FreeBSD.</itunes:subtitle>
  <itunes:duration>1:09:07</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>&lt;p&gt;OpenBSD 6.4 released, GhostBSD RC2 released, MeetBSD - the ultimate hallway track, DragonflyBSD desktop on a Thinkpad, Porting keybase to NetBSD, OpenSSH 7.9, and draft-ietf-6man-ipv6only-flag in FreeBSD.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://www.openbsd.org/64.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.4 released&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.openbsd.org/plus64.html" target="_blank" rel="nofollow noopener"&gt;See a detailed log of changes between the 6.3 and 6.4 releases.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openbsd.org/ftp.html" target="_blank" rel="nofollow noopener"&gt;See the information on the FTP page for a list of mirror machines.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openbsd.org/errata64.html" target="_blank" rel="nofollow noopener"&gt;Have a look at the 6.4 errata page for a list of bugs and workarounds.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;signify(1) pubkeys for this release:&lt;/li&gt;
&lt;li&gt;base: RWQq6XmS4eDAcQW4KsT5Ka0KwTQp2JMOP9V/DR4HTVOL5Bc0D7LeuPwA&lt;/li&gt;
&lt;li&gt;fw:   RWRoBbjnosJ/39llpve1XaNIrrQND4knG+jSBeIUYU8x4WNkxz6a2K97&lt;/li&gt;
&lt;li&gt;pkg:  RWRF5TTY+LoN/51QD5kM2hKDtMTzycQBBPmPYhyQEb1+4pff/H6fh/kA&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.ghostbsd.org/18.10_RC2_release_announcement" target="_blank" rel="nofollow noopener"&gt;GhostBSD 18.10 RC2 Announced&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This second release candidate of GhostBSD 18.10 is the second official release of GhostBSD with TrueOS under the hood. The official desktop of GhostBSD is MATE. However, in the future, there might be an XFCE community release, but for now, there is no community release yet.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;What has changed since RC1&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Removed drm-stable-kmod and we will let users installed the propper drm-*-kmod&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Douglas Joachin added libva-intel-driver libva-vdpau-driver  to supports accelerated some video driver for Intel&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Issues that got fixed&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bug #70 Cannot run Octopi, missing libgksu error.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bug #71 LibreOffice doesn’t start because of missing libcurl.so.4&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bug #72 libarchive is a missing dependency&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Again thanks to iXsystems, TrueOS, Joe Maloney, Kris Moore, Ken Moore, Martin Wilke, Neville Goddard, Vester “Vic” Thacker, Douglas Joachim, Alex Lyakhov, Yetkin Degirmenci and many more who helped to make the transition from FreeBSD to TrueOS smoother.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Updating from RC1 to RC2:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;sudo pkg update -f&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;sudo pkg install -f libarchive curl libgksu&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;sudo pkg upgrade&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Where to download:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;All images checksum, hybrid ISO(DVD, USB) and torrent are available here: &lt;a href="https://www.ghostbsd.org/download" target="_blank" rel="nofollow noopener"&gt;https://www.ghostbsd.org/download&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;[ScreenShots]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.ghostbsd.org/sites/default/files/Screenshot_at_2018-10-20_13-22-41.png" target="_blank" rel="nofollow noopener"&gt;https://www.ghostbsd.org/sites/default/files/Screenshot_at_2018-10-20_13-22-41.png&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://www.ghostbsd.org/sites/default/files/Screenshot_at_2018-10-20_13-27-26.png" target="_blank" rel="nofollow noopener"&gt;https://www.ghostbsd.org/sites/default/files/Screenshot_at_2018-10-20_13-27-26.png&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.openssh.com/txt/release-7.9" target="_blank" rel="nofollow noopener"&gt;OpenSSH 7.9 has been released and it has support for OpenSSL 1.1&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Changes since OpenSSH 7.8
=========================

This is primarily a bugfix release.

New Features
------------
 * ssh(1), sshd(8): allow most port numbers to be specified using
   service names from getservbyname(3) (typically /etc/services).
 * ssh(1): allow the IdentityAgent configuration directive to accept
   environment variable names. This supports the use of multiple
   agent sockets without needing to use fixed paths.
 * sshd(8): support signalling sessions via the SSH protocol.
   A limited subset of signals is supported and only for login or
   command sessions (i.e. not subsystems) that were not subject to
   a forced command via authorized_keys or sshd_config. bz#1424
 * ssh(1): support "ssh -Q sig" to list supported signature options.
   Also "ssh -Q help" to show the full set of supported queries.
 * ssh(1), sshd(8): add a CASignatureAlgorithms option for the
   client and server configs to allow control over which signature
   formats are allowed for CAs to sign certificates. For example,
   this allows banning CAs that sign certificates using the RSA-SHA1
   signature algorithm.
 * sshd(8), ssh-keygen(1): allow key revocation lists (KRLs) to
   revoke keys specified by SHA256 hash.
 * ssh-keygen(1): allow creation of key revocation lists directly
   from base64-encoded SHA256 fingerprints. This supports revoking
   keys using only the information contained in sshd(8)
   authentication log messages.

Bugfixes
--------

 * ssh(1), ssh-keygen(1): avoid spurious "invalid format" errors when
   attempting to load PEM private keys while using an incorrect
   passphrase. bz#2901
 * sshd(8): when a channel closed message is received from a client,
   close the stderr file descriptor at the same time stdout is
   closed. This avoids stuck processes if they were waiting for
   stderr to close and were insensitive to stdin/out closing. bz#2863
 * ssh(1): allow ForwardX11Timeout=0 to disable the untrusted X11
   forwarding timeout and support X11 forwarding indefinitely.
   Previously the behaviour of ForwardX11Timeout=0 was undefined.
 * sshd(8): when compiled with GSSAPI support, cache supported method
   OIDs regardless of whether GSSAPI authentication is enabled in the
   main section of sshd_config. This avoids sandbox violations if
   GSSAPI authentication was later enabled in a Match block. bz#2107
 * sshd(8): do not fail closed when configured with a text key
   revocation list that contains a too-short key. bz#2897
 * ssh(1): treat connections with ProxyJump specified the same as
   ones with a ProxyCommand set with regards to hostname
   canonicalisation (i.e. don't try to canonicalise the hostname
   unless CanonicalizeHostname is set to 'always'). bz#2896
 * ssh(1): fix regression in OpenSSH 7.8 that could prevent public-
   key authentication using certificates hosted in a ssh-agent(1)
   or against sshd(8) from OpenSSH &amp;lt;7.8.

Portability
-----------

 * All: support building against the openssl-1.1 API (releases 1.1.0g
   and later). The openssl-1.0 API will remain supported at least
   until OpenSSL terminates security patch support for that API version.
 * sshd(8): allow the futex(2) syscall in the Linux seccomp sandbox;
   apparently required by some glibc/OpenSSL combinations.
 * sshd(8): handle getgrouplist(3) returning more than
   _SC_NGROUPS_MAX groups. Some platforms consider this limit more
   as a guideline.
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://www.ixsystems.com/blog/meetbsd-2018/" target="_blank" rel="nofollow noopener"&gt;MeetBSD 2018: The Ultimate Hallway Track&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Founded in Poland in 2007 and first hosted in California in 2008, MeetBSD combines formal talks with UnConference activities to provide a level of interactivity not found at any other BSD conference. The character of each MeetBSD is determined largely by its venue, ranging from Hacker Dojo in 2010 to Intel’s Santa Clara headquarters this year. The Intel SC12 building provided a beautiful auditorium and sponsors’ room, plus a cafeteria for the Friday night social event and the Saturday night FreeBSD 25th Anniversary Celebration. The formal nature of the auditorium motivated the formation of MeetBSD’s first independent Program Committee and public Call for Participation. Together these resulted in a backbone of talks presented by speakers from the USA, Canada, and Poland, combined with UnConference activities tailored to the space.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;MeetBSD Day 0&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Day Zero of MeetBSD was a FreeBSD Developer/Vendor Summit hosted in the same auditorium where the talks would take place. Like the conference itself, this event featured a mix of scheduled talks and interactive sessions. The scheduled talks were LWPMFS: LightWeight Persistent Memory Filesystem by Ravi Pokala, Evaluating GIT for FreeBSD by Ed Maste, and NUMA by Mark Johnston. Ed’s overview of the advantages and disadvantages of using Git for FreeBSD development was of the most interest to users and developers, and the discussion continued into the following two days.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;MeetBSD Day 1&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The first official day of MeetBSD 2018 was kicked off with introductions led by emcee JT Pennington and a keynote, “Using TrueOS to boot-strap your FreeBSD-based project” by Kris Moore. Kris described a new JSON-based release infrastructure that he has exercised with FreeBSD, TrueOS, and FreeNAS. Kris’ talk was followed by “Intel &amp;amp; FreeBSD: Better Together” by Ben Widawsky, the FreeBSD program lead at Intel, who gave an overview of Intel’s past and current efforts supporting FreeBSD. Next came lunch, followed by Kamil Rytarowski’s “Bug detecting software in the NetBSD userland: MKSANITIZER”. This was followed by 5-Minute Lightning Talks, Andrew Fengler’s “FreeBSD: What to (Not) Monitor”, and an OpenZFS Panel Discussion featuring OpenZFS experts Michael W. Lucas, Allan Jude, Alexander Motin, Pawel Dawidek, and Dan Langille. Day one concluded with a social event at the Intel cafeteria where the discussions continued into the night.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;MeetBSD Day 2&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Day Two of MeetBSD 2018 kicked off with a keynote by Michael W. Lucas entitled “Why BSD?”, where Michael detailed what makes the BSD community different and why it attracts us all. This was followed by Dr. Kirk McKusick’s “The Early Days of BSD” talk, which was followed by “DTrace/dwatch in Production” by Devin Teske. After lunch, we enjoyed “A Curmudgeon’s Language Selection Criteria: Why I Don’t Write Everything in Go, Rust, Elixir, etc” by G. Clifford Williams and, “Best practices of sandboxing applications with Capsicum” by Mariusz Zaborski. I then hosted a Virtualization Panel Discussion that featured eight developers from FreeBSD, OpenBSD, and NetBSD. We then split up for Breakout Sessions and the one on Bloomberg’s controversial article on backdoored Supermicro systems was fascinating given the experts present, all of whom were skeptical of the feasibility of the attack. The day wrapped up with a final talk, “Tales of a Daemontown Performance Peddler: Why ‘it depends’ and what you can do about it” by Nick Principe, followed by the FreeBSD 25th Anniversary Celebration.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Putting the “meet” in MeetBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I confess the other organizers and I were nervous about how well one large auditorium would suit a BSD event but the flexible personal space it gave everyone allowed for countless meetings and heated hacking that often brought about immediate results. I watched people take ideas through several iterations with the help and input of obvious and unexpected experts, all of whom were within reach. Not having to pick up and leave for a talk in another room organically resulted in essentially a series of mini hackathons that none of us anticipated but were delighted to witness, taking the “hallway track” to a whole new level. The mix of formal and UnConference activities at MeetBSD is certain to evolve. Thank you to everyone who participated with questions, Lightning Talks, and Panel participation. A huge thanks to our sponsors, including Intel for both hosting and sponsoring MeetBSD California 2018, Western Digital, Supermicro, Verisign, Jupiter Broadcasting, the FreeBSD Foundation, Bank of America Merrill Lynch, the NetBSD Foundation, and the team at iXsystems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;See you at MeetBSD 2020!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://panoramacircle.com/2018/10/07/setup-dragonflybsd-with-a-desktop-on-real-hardware-thinkpad-t410/" target="_blank" rel="nofollow noopener"&gt;Setup DragonflyBSD with a desktop on real hardware ThinkPad T410&lt;/a&gt;&lt;br&gt;
+&lt;a href="https://youtu.be/p4KwssNY82Q" target="_blank" rel="nofollow noopener"&gt;Video Demo&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Linux has become too mainstream and standard BSD is a common thing now? How about DragonflyBSD which was created as a fork of FreeBSD 4.8 in conflict over system internals. This tutorial will show how to install it and set up a user-oriented desktop. It should work with DragonflyBSD, FreeBSD and probably all BSDs.&lt;br&gt;
Some background: BSD was is ultimately derived from UNIX back in the days. It is not Linux even though it is similar in many ways because Linux was designed to follow UNIX principles. Seeing is believing, so check out the video of the install!&lt;br&gt;
I did try two BSD distros before called GhostBSD and TrueOS and you can check out my short reviews. DragonflyBSD comes like FreeBSD bare bones and requires some work to get a desktop running.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Download image file and burn to USB drive or DVD&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;First installation&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Setting up the system and installing a desktop&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Inside the desktop&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install some more programs&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;How to enable sound?&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Let’s play some free games&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Setup WiFi&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Power mode settings&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;More to do?&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;You can check out this blog post if you want a much more detailed tutorial. If you don’t mind standard BSD, get the GhostBSD distro instead which comes with a ready-made desktop xcfe or mate and many functional presets.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A small summary of what we got on the upside:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Free and open source operating system with a long history&lt;/li&gt;
&lt;li&gt;Drivers worked fine including Ethernet, WiFi, video 2D &amp;amp; 3D, audio, etc&lt;/li&gt;
&lt;li&gt;Hammer2 advanced file system&lt;/li&gt;
&lt;li&gt;You are very unique if you use this OS fork&lt;/li&gt;
&lt;/ul&gt;

&lt;/li&gt;&lt;br&gt;
&lt;li&gt;

&lt;p&gt;Some downsides:&lt;/p&gt;

&lt;/li&gt;&lt;br&gt;
&lt;li&gt;

&lt;p&gt;Less driver and direct app support than Linux&lt;/p&gt;

&lt;/li&gt;&lt;br&gt;
&lt;li&gt;

&lt;p&gt;Installer and desktop have some traps and quirks and require work&lt;/p&gt;

&lt;/li&gt;&lt;br&gt;
&lt;/ul&gt;&lt;br&gt;
&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://dressupgeekout.blogspot.com/2018/10/porting-keybase-to-netbsd.html" target="_blank" rel="nofollow noopener"&gt;Porting Keybase to NetBSD&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Keybase significantly simplifies the whole keypair/PGP thing and makes what is usually a confusing, difficult experience actually rather pleasant. At its heart is an open-source command line utility that does all of the heavy cryptographic lifting. But it’s also hooked up to the network of all other Keybase users, so you don’t have to work very hard to maintain big keychains. Pretty cool!&lt;br&gt;
So, this evening, I tried to get it to all work on NetBSD.&lt;br&gt;
The Keybase client code base is, in my opinion, not very well architected… there exist many different Keybase clients (command line apps, desktop apps, mobile apps) and for some reason the code for all of them are seemingly in this single repository, without even using Git submodules. Not sure what that’s about.&lt;br&gt;
Anyway, “go build”-ing the command line program (it’s written in Go) failed immediately because there’s some platform-specific code that just does not seem to recognize that NetBSD exists (but they do for FreeBSD and OpenBSD). Looks like the Keybase developers maintain a Golang wrapper around struct proc, which of course is different from OS to OS. So I literally just copypasted the OpenBSD wrapper, renamed it to “NetBSD”, and the build basically succeeded from there! This is of course super janky and untrustworthy, but it seems to Mostly Just Work…&lt;br&gt;
I forked the GitHub repo, you can see the diff on top of keybase 2.7.3 here: bccaaf3096a&lt;br&gt;
Eventually I ended up with a ~/go/bin/keybase which launches just fine. Meaning, I can main() okay. But the moment you try to do anything interesting, it looks super scary:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;charlotte@sakuracity:~/go/bin ./keybase login
▶ WARNING Running in devel mode
▶ INFO Forking background server with pid=12932
▶ ERROR unexpected error in Login: API network error: doRetry failed,
attempts: 1, timeout 5s, last err: Get
http://localhost:3000/_/api/1.0/merkle/path.json?last=3784314&amp;amp;load_deleted=1&amp;amp;load_reset_chain=1&amp;amp;poll=10&amp;amp;sig_hints_low=3&amp;amp;uid=38ae1dfa49cd6831ea2fdade5c5d0519:
dial tcp [::1]:3000: connect: connection refused
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;There’s a few things about this error message that stuck out to me:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Forking a background server? What?&lt;/li&gt;
&lt;li&gt;It’s trying to connect to localhost? That must be the server that doesn’t work …&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Unfortunately, this nonfunctional “background server” sticks around even when a command as simple as ‘login’ command just failed:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;charlotte@sakuracity:~/go/bin ps 12932
  PID TTY STAT    TIME COMMAND
  12932 ?   Ssl  0:00.21 ./keybase --debug --log-file
  /home/charlotte/.cache/keybase.devel/keybase.service.log service --chdir
  /home/charlotte/.config/keybase.devel --auto-forked 
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m not exactly sure what the intended purpose of the “background server” even is, but fortunately we can kill it and even tell the keybase command to not even spawn one:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;charlotte@sakuracity:~/go/bin ./keybase help advanced | grep -- --standalone
   --standalone                         Use the client without any daemon support.
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;And then we can fix wanting to connect to localhost by specifying an expected Keybase API server – how about the one hosted at &lt;a href="https://keybase.io" target="_blank" rel="nofollow noopener"&gt;https://keybase.io&lt;/a&gt;?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;charlotte@sakuracity:~/go/bin ./keybase help advanced | grep -- --server
   --server, -s                         Specify server API.
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Basically, what I’m trying to say is that if you specify both of these options, the keybase command does what I expect on NetBSD:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;charlotte@sakuracity:~/go/bin ./keybase --standalone -s https://keybase.io login
▶ WARNING Running in devel mode
Please enter the Keybase passphrase for dressupgeekout (6+ characters): 

charlotte@sakuracity:~/go/bin ./keybase --standalone -s https://keybase.io id dressupgeekout
▶ WARNING Running in devel mode
▶ INFO Identifying dressupgeekout
✔ public key fingerprint: 7873 DA50 A786 9A3F 1662 3A17 20BD 8739 E82C 7F2F
✔ "dressupgeekout" on github:
https://gist.github.com/0471c7918d254425835bf5e1b4bcda00 [cached 2018-10-11
20:55:21 PDT]
✔ "dressupgeekout" on reddit:
https://www.reddit.com/r/KeybaseProofs/comments/9ng5qm/my_keybase_proof_redditdressupgeekout/
[cached 2018-10-11 20:55:21 PDT]
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=339929" target="_blank" rel="nofollow noopener"&gt;Initial implementation of draft-ietf-6man-ipv6only-flag&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;This change defines the RA "6" (IPv6-Only) flag which routers
may advertise, kernel logic to check if all routers on a link
have the flag set and accordingly update a per-interface flag.

If all routers agree that it is an IPv6-only link, ether_output_frame(),
based on the interface flag, will filter out all ETHERTYPE_IP/ARP
frames, drop them, and return EAFNOSUPPORT to upper layers.

The change also updates ndp to show the "6" flag, ifconfig to
display the IPV6_ONLY nd6 flag if set, and rtadvd to allow
announcing the flag.

Further changes to tcpdump (contrib code) are availble and will
be upstreamed.

Tested the code (slightly earlier version) with 2 FreeBSD
IPv6 routers, a FreeBSD laptop on ethernet as well as wifi,
and with Win10 and OSX clients (which did not fall over with
the "6" flag set but not understood).

We may also want to (a) implement and RX filter, and (b) over
time enahnce user space to, say, stop dhclient from running
when the interface flag is set.  Also we might want to start
IPv6 before IPv4 in the future.

All the code is hidden under the EXPERIMENTAL option and not
compiled by default as the draft is a work-in-progress and
we cannot rely on the fact that IANA will assign the bits
as requested by the draft and hence they may change.

Dear 6man, you have running code.

Discussed with: Bob Hinden, Brian E Carpenter
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dan.langille.org/2018/10/02/running-freebsd-on-osx-using-xhyve-a-port-of-bhyve/" target="_blank" rel="nofollow noopener"&gt;Running FreeBSD on macOS via xhyve&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/3841" target="_blank" rel="nofollow noopener"&gt;Auction Winners&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/vedetta-com/vedetta/blob/master/src/usr/local/share/doc/vedetta/OpenSSH_Principals.md" target="_blank" rel="nofollow noopener"&gt;OpenSSH Principals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20181018160645" target="_blank" rel="nofollow noopener"&gt;OpenBSD Foundation gets a second Iridium donation from Handshake&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/netbsd-advocacy/2018/10/10/msg000786.html" target="_blank" rel="nofollow noopener"&gt;NetBSD machines at Open Source Conference 2018 Kagawa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/3818" target="_blank" rel="nofollow noopener"&gt;Absolute FreeBSD now shipping!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://h3artbl33d.nl/blog/nextcloud-on-openbsd" target="_blank" rel="nofollow noopener"&gt;NextCloud on OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/newsflash.html#event20181027:01" target="_blank" rel="nofollow noopener"&gt;FreeBSD 12.0-BETA2 Available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/gvnn3/status/1049347862541344771" target="_blank" rel="nofollow noopener"&gt;DTrace on Windows ported from FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/36DFQ1S" target="_blank" rel="nofollow noopener"&gt;HELBUG fall 2018 meeting scheduled - Thursday the 15th of November&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://translate.google.com/translate?hl=de&amp;amp;sl=de&amp;amp;tl=en&amp;amp;u=https%3A%2F%2Ftickets.events.ccc.de%2F35c3%2Fintro%2F" target="_blank" rel="nofollow noopener"&gt;35C3 pre-sale has started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/BSD-Users-Stockholm/events/254235663/" target="_blank" rel="nofollow noopener"&gt;Stockholm BSD User Meeting: Tuesday Nov 13, 18:00 - 21:30  &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener"&gt;Polish BSD User Group: Thursday Nov 15, 18:30 - 21:00 &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Greg - &lt;a href="http://dpaste.com/1WA54CC" target="_blank" rel="nofollow noopener"&gt;Interview suggestion for the show&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Nelson - &lt;a href="http://dpaste.com/21KKF7Q#wrap" target="_blank" rel="nofollow noopener"&gt;Ghostscript vulnerabilities&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Allison - &lt;a href="http://dpaste.com/3K6D7ST" target="_blank" rel="nofollow noopener"&gt;Ports and GCC&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd,openbsd,netbsd,dragonflybsd,trueos,trident,hardenedbsd,tutorial,howto,guide,bsd,interview,ghostbsd,keybase,openssh,openssl</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 6.4 released, GhostBSD RC2 released, MeetBSD - the ultimate hallway track, DragonflyBSD desktop on a Thinkpad, Porting keybase to NetBSD, OpenSSH 7.9, and draft-ietf-6man-ipv6only-flag in FreeBSD.</p>

<p>##Headlines<br>
###<a href="https://www.openbsd.org/64.html" target="_blank" rel="nofollow noopener">OpenBSD 6.4 released</a></p>

<ul>
<li><a href="https://www.openbsd.org/plus64.html" target="_blank" rel="nofollow noopener">See a detailed log of changes between the 6.3 and 6.4 releases.</a></li>
<li><a href="https://www.openbsd.org/ftp.html" target="_blank" rel="nofollow noopener">See the information on the FTP page for a list of mirror machines.</a></li>
<li><a href="https://www.openbsd.org/errata64.html" target="_blank" rel="nofollow noopener">Have a look at the 6.4 errata page for a list of bugs and workarounds.</a></li>
<li>signify(1) pubkeys for this release:</li>
<li>base: RWQq6XmS4eDAcQW4KsT5Ka0KwTQp2JMOP9V/DR4HTVOL5Bc0D7LeuPwA</li>
<li>fw:   RWRoBbjnosJ/39llpve1XaNIrrQND4knG+jSBeIUYU8x4WNkxz6a2K97</li>
<li>pkg:  RWRF5TTY+LoN/51QD5kM2hKDtMTzycQBBPmPYhyQEb1+4pff/H6fh/kA</li>
</ul>

<hr>

<p>###<a href="https://www.ghostbsd.org/18.10_RC2_release_announcement" target="_blank" rel="nofollow noopener">GhostBSD 18.10 RC2 Announced</a></p>

<blockquote>
<p>This second release candidate of GhostBSD 18.10 is the second official release of GhostBSD with TrueOS under the hood. The official desktop of GhostBSD is MATE. However, in the future, there might be an XFCE community release, but for now, there is no community release yet.</p>
</blockquote>

<ul>
<li>
<p>What has changed since RC1</p>
</li>
<li>
<p>Removed drm-stable-kmod and we will let users installed the propper drm-*-kmod</p>
</li>
<li>
<p>Douglas Joachin added libva-intel-driver libva-vdpau-driver  to supports accelerated some video driver for Intel</p>
</li>
<li>
<p>Issues that got fixed</p>
</li>
<li>
<p>Bug #70 Cannot run Octopi, missing libgksu error.</p>
</li>
<li>
<p>Bug #71 LibreOffice doesn’t start because of missing libcurl.so.4</p>
</li>
<li>
<p>Bug #72 libarchive is a missing dependency</p>
</li>
</ul>

<blockquote>
<p>Again thanks to iXsystems, TrueOS, Joe Maloney, Kris Moore, Ken Moore, Martin Wilke, Neville Goddard, Vester “Vic” Thacker, Douglas Joachim, Alex Lyakhov, Yetkin Degirmenci and many more who helped to make the transition from FreeBSD to TrueOS smoother.</p>
</blockquote>

<ul>
<li>
<p>Updating from RC1 to RC2:</p>
</li>
<li>
<p>sudo pkg update -f</p>
</li>
<li>
<p>sudo pkg install -f libarchive curl libgksu</p>
</li>
<li>
<p>sudo pkg upgrade</p>
</li>
<li>
<p>Where to download:</p>
</li>
<li>
<p>All images checksum, hybrid ISO(DVD, USB) and torrent are available here: <a href="https://www.ghostbsd.org/download" target="_blank" rel="nofollow noopener">https://www.ghostbsd.org/download</a></p>
</li>
<li>
<p>[ScreenShots]</p>
</li>
<li>
<p><a href="https://www.ghostbsd.org/sites/default/files/Screenshot_at_2018-10-20_13-22-41.png" target="_blank" rel="nofollow noopener">https://www.ghostbsd.org/sites/default/files/Screenshot_at_2018-10-20_13-22-41.png</a></p>
</li>
<li>
<p><a href="https://www.ghostbsd.org/sites/default/files/Screenshot_at_2018-10-20_13-27-26.png" target="_blank" rel="nofollow noopener">https://www.ghostbsd.org/sites/default/files/Screenshot_at_2018-10-20_13-27-26.png</a></p>
</li>
</ul>

<hr>

<p>###<a href="https://www.openssh.com/txt/release-7.9" target="_blank" rel="nofollow noopener">OpenSSH 7.9 has been released and it has support for OpenSSL 1.1</a></p>

<pre><code>Changes since OpenSSH 7.8
=========================

This is primarily a bugfix release.

New Features
------------
 * ssh(1), sshd(8): allow most port numbers to be specified using
   service names from getservbyname(3) (typically /etc/services).
 * ssh(1): allow the IdentityAgent configuration directive to accept
   environment variable names. This supports the use of multiple
   agent sockets without needing to use fixed paths.
 * sshd(8): support signalling sessions via the SSH protocol.
   A limited subset of signals is supported and only for login or
   command sessions (i.e. not subsystems) that were not subject to
   a forced command via authorized_keys or sshd_config. bz#1424
 * ssh(1): support "ssh -Q sig" to list supported signature options.
   Also "ssh -Q help" to show the full set of supported queries.
 * ssh(1), sshd(8): add a CASignatureAlgorithms option for the
   client and server configs to allow control over which signature
   formats are allowed for CAs to sign certificates. For example,
   this allows banning CAs that sign certificates using the RSA-SHA1
   signature algorithm.
 * sshd(8), ssh-keygen(1): allow key revocation lists (KRLs) to
   revoke keys specified by SHA256 hash.
 * ssh-keygen(1): allow creation of key revocation lists directly
   from base64-encoded SHA256 fingerprints. This supports revoking
   keys using only the information contained in sshd(8)
   authentication log messages.

Bugfixes
--------

 * ssh(1), ssh-keygen(1): avoid spurious "invalid format" errors when
   attempting to load PEM private keys while using an incorrect
   passphrase. bz#2901
 * sshd(8): when a channel closed message is received from a client,
   close the stderr file descriptor at the same time stdout is
   closed. This avoids stuck processes if they were waiting for
   stderr to close and were insensitive to stdin/out closing. bz#2863
 * ssh(1): allow ForwardX11Timeout=0 to disable the untrusted X11
   forwarding timeout and support X11 forwarding indefinitely.
   Previously the behaviour of ForwardX11Timeout=0 was undefined.
 * sshd(8): when compiled with GSSAPI support, cache supported method
   OIDs regardless of whether GSSAPI authentication is enabled in the
   main section of sshd_config. This avoids sandbox violations if
   GSSAPI authentication was later enabled in a Match block. bz#2107
 * sshd(8): do not fail closed when configured with a text key
   revocation list that contains a too-short key. bz#2897
 * ssh(1): treat connections with ProxyJump specified the same as
   ones with a ProxyCommand set with regards to hostname
   canonicalisation (i.e. don't try to canonicalise the hostname
   unless CanonicalizeHostname is set to 'always'). bz#2896
 * ssh(1): fix regression in OpenSSH 7.8 that could prevent public-
   key authentication using certificates hosted in a ssh-agent(1)
   or against sshd(8) from OpenSSH &lt;7.8.

Portability
-----------

 * All: support building against the openssl-1.1 API (releases 1.1.0g
   and later). The openssl-1.0 API will remain supported at least
   until OpenSSL terminates security patch support for that API version.
 * sshd(8): allow the futex(2) syscall in the Linux seccomp sandbox;
   apparently required by some glibc/OpenSSL combinations.
 * sshd(8): handle getgrouplist(3) returning more than
   _SC_NGROUPS_MAX groups. Some platforms consider this limit more
   as a guideline.
</code></pre>

<hr>

<p>##News Roundup</p>

<p>###<a href="https://www.ixsystems.com/blog/meetbsd-2018/" target="_blank" rel="nofollow noopener">MeetBSD 2018: The Ultimate Hallway Track</a></p>

<blockquote>
<p>Founded in Poland in 2007 and first hosted in California in 2008, MeetBSD combines formal talks with UnConference activities to provide a level of interactivity not found at any other BSD conference. The character of each MeetBSD is determined largely by its venue, ranging from Hacker Dojo in 2010 to Intel’s Santa Clara headquarters this year. The Intel SC12 building provided a beautiful auditorium and sponsors’ room, plus a cafeteria for the Friday night social event and the Saturday night FreeBSD 25th Anniversary Celebration. The formal nature of the auditorium motivated the formation of MeetBSD’s first independent Program Committee and public Call for Participation. Together these resulted in a backbone of talks presented by speakers from the USA, Canada, and Poland, combined with UnConference activities tailored to the space.</p>
</blockquote>

<ul>
<li>MeetBSD Day 0</li>
</ul>

<blockquote>
<p>Day Zero of MeetBSD was a FreeBSD Developer/Vendor Summit hosted in the same auditorium where the talks would take place. Like the conference itself, this event featured a mix of scheduled talks and interactive sessions. The scheduled talks were LWPMFS: LightWeight Persistent Memory Filesystem by Ravi Pokala, Evaluating GIT for FreeBSD by Ed Maste, and NUMA by Mark Johnston. Ed’s overview of the advantages and disadvantages of using Git for FreeBSD development was of the most interest to users and developers, and the discussion continued into the following two days.</p>
</blockquote>

<ul>
<li>MeetBSD Day 1</li>
</ul>

<blockquote>
<p>The first official day of MeetBSD 2018 was kicked off with introductions led by emcee JT Pennington and a keynote, “Using TrueOS to boot-strap your FreeBSD-based project” by Kris Moore. Kris described a new JSON-based release infrastructure that he has exercised with FreeBSD, TrueOS, and FreeNAS. Kris’ talk was followed by “Intel &amp; FreeBSD: Better Together” by Ben Widawsky, the FreeBSD program lead at Intel, who gave an overview of Intel’s past and current efforts supporting FreeBSD. Next came lunch, followed by Kamil Rytarowski’s “Bug detecting software in the NetBSD userland: MKSANITIZER”. This was followed by 5-Minute Lightning Talks, Andrew Fengler’s “FreeBSD: What to (Not) Monitor”, and an OpenZFS Panel Discussion featuring OpenZFS experts Michael W. Lucas, Allan Jude, Alexander Motin, Pawel Dawidek, and Dan Langille. Day one concluded with a social event at the Intel cafeteria where the discussions continued into the night.</p>
</blockquote>

<ul>
<li>MeetBSD Day 2</li>
</ul>

<blockquote>
<p>Day Two of MeetBSD 2018 kicked off with a keynote by Michael W. Lucas entitled “Why BSD?”, where Michael detailed what makes the BSD community different and why it attracts us all. This was followed by Dr. Kirk McKusick’s “The Early Days of BSD” talk, which was followed by “DTrace/dwatch in Production” by Devin Teske. After lunch, we enjoyed “A Curmudgeon’s Language Selection Criteria: Why I Don’t Write Everything in Go, Rust, Elixir, etc” by G. Clifford Williams and, “Best practices of sandboxing applications with Capsicum” by Mariusz Zaborski. I then hosted a Virtualization Panel Discussion that featured eight developers from FreeBSD, OpenBSD, and NetBSD. We then split up for Breakout Sessions and the one on Bloomberg’s controversial article on backdoored Supermicro systems was fascinating given the experts present, all of whom were skeptical of the feasibility of the attack. The day wrapped up with a final talk, “Tales of a Daemontown Performance Peddler: Why ‘it depends’ and what you can do about it” by Nick Principe, followed by the FreeBSD 25th Anniversary Celebration.</p>
</blockquote>

<ul>
<li>Putting the “meet” in MeetBSD</li>
</ul>

<blockquote>
<p>I confess the other organizers and I were nervous about how well one large auditorium would suit a BSD event but the flexible personal space it gave everyone allowed for countless meetings and heated hacking that often brought about immediate results. I watched people take ideas through several iterations with the help and input of obvious and unexpected experts, all of whom were within reach. Not having to pick up and leave for a talk in another room organically resulted in essentially a series of mini hackathons that none of us anticipated but were delighted to witness, taking the “hallway track” to a whole new level. The mix of formal and UnConference activities at MeetBSD is certain to evolve. Thank you to everyone who participated with questions, Lightning Talks, and Panel participation. A huge thanks to our sponsors, including Intel for both hosting and sponsoring MeetBSD California 2018, Western Digital, Supermicro, Verisign, Jupiter Broadcasting, the FreeBSD Foundation, Bank of America Merrill Lynch, the NetBSD Foundation, and the team at iXsystems.</p>
</blockquote>

<blockquote>
<p>See you at MeetBSD 2020!</p>
</blockquote>

<hr>

<p>###<a href="https://panoramacircle.com/2018/10/07/setup-dragonflybsd-with-a-desktop-on-real-hardware-thinkpad-t410/" target="_blank" rel="nofollow noopener">Setup DragonflyBSD with a desktop on real hardware ThinkPad T410</a><br>
+<a href="https://youtu.be/p4KwssNY82Q" target="_blank" rel="nofollow noopener">Video Demo</a></p>

<blockquote>
<p>Linux has become too mainstream and standard BSD is a common thing now? How about DragonflyBSD which was created as a fork of FreeBSD 4.8 in conflict over system internals. This tutorial will show how to install it and set up a user-oriented desktop. It should work with DragonflyBSD, FreeBSD and probably all BSDs.<br>
Some background: BSD was is ultimately derived from UNIX back in the days. It is not Linux even though it is similar in many ways because Linux was designed to follow UNIX principles. Seeing is believing, so check out the video of the install!<br>
I did try two BSD distros before called GhostBSD and TrueOS and you can check out my short reviews. DragonflyBSD comes like FreeBSD bare bones and requires some work to get a desktop running.</p>
</blockquote>

<ul>
<li>
<p>Download image file and burn to USB drive or DVD</p>
</li>
<li>
<p>First installation</p>
</li>
<li>
<p>Setting up the system and installing a desktop</p>
</li>
<li>
<p>Inside the desktop</p>
</li>
<li>
<p>Install some more programs</p>
</li>
<li>
<p>How to enable sound?</p>
</li>
<li>
<p>Let’s play some free games</p>
</li>
<li>
<p>Setup WiFi</p>
</li>
<li>
<p>Power mode settings</p>
</li>
<li>
<p>More to do?</p>
</li>
</ul>

<blockquote>
<p>You can check out this blog post if you want a much more detailed tutorial. If you don’t mind standard BSD, get the GhostBSD distro instead which comes with a ready-made desktop xcfe or mate and many functional presets.</p>
</blockquote>

<ul>
<li>
<p>A small summary of what we got on the upside:</p>
<ul>
<li>Free and open source operating system with a long history</li>
<li>Drivers worked fine including Ethernet, WiFi, video 2D &amp; 3D, audio, etc</li>
<li>Hammer2 advanced file system</li>
<li>You are very unique if you use this OS fork</li>
</ul>

</li><br>
<li>

<p>Some downsides:</p>

</li><br>
<li>

<p>Less driver and direct app support than Linux</p>

</li><br>
<li>

<p>Installer and desktop have some traps and quirks and require work</p>

</li><br>
</ul><br>
<hr>

<p>###<a href="https://dressupgeekout.blogspot.com/2018/10/porting-keybase-to-netbsd.html" target="_blank" rel="nofollow noopener">Porting Keybase to NetBSD</a></p>

<blockquote>
<p>Keybase significantly simplifies the whole keypair/PGP thing and makes what is usually a confusing, difficult experience actually rather pleasant. At its heart is an open-source command line utility that does all of the heavy cryptographic lifting. But it’s also hooked up to the network of all other Keybase users, so you don’t have to work very hard to maintain big keychains. Pretty cool!<br>
So, this evening, I tried to get it to all work on NetBSD.<br>
The Keybase client code base is, in my opinion, not very well architected… there exist many different Keybase clients (command line apps, desktop apps, mobile apps) and for some reason the code for all of them are seemingly in this single repository, without even using Git submodules. Not sure what that’s about.<br>
Anyway, “go build”-ing the command line program (it’s written in Go) failed immediately because there’s some platform-specific code that just does not seem to recognize that NetBSD exists (but they do for FreeBSD and OpenBSD). Looks like the Keybase developers maintain a Golang wrapper around struct proc, which of course is different from OS to OS. So I literally just copypasted the OpenBSD wrapper, renamed it to “NetBSD”, and the build basically succeeded from there! This is of course super janky and untrustworthy, but it seems to Mostly Just Work…<br>
I forked the GitHub repo, you can see the diff on top of keybase 2.7.3 here: bccaaf3096a<br>
Eventually I ended up with a ~/go/bin/keybase which launches just fine. Meaning, I can main() okay. But the moment you try to do anything interesting, it looks super scary:</p>
</blockquote>

<pre><code>charlotte@sakuracity:~/go/bin ./keybase login
▶ WARNING Running in devel mode
▶ INFO Forking background server with pid=12932
▶ ERROR unexpected error in Login: API network error: doRetry failed,
attempts: 1, timeout 5s, last err: Get
http://localhost:3000/_/api/1.0/merkle/path.json?last=3784314&amp;load_deleted=1&amp;load_reset_chain=1&amp;poll=10&amp;sig_hints_low=3&amp;uid=38ae1dfa49cd6831ea2fdade5c5d0519:
dial tcp [::1]:3000: connect: connection refused
</code></pre>

<blockquote>
<p>There’s a few things about this error message that stuck out to me:</p>
</blockquote>

<ul>
<li>Forking a background server? What?</li>
<li>It’s trying to connect to localhost? That must be the server that doesn’t work …</li>
</ul>

<blockquote>
<p>Unfortunately, this nonfunctional “background server” sticks around even when a command as simple as ‘login’ command just failed:</p>
</blockquote>

<pre><code>charlotte@sakuracity:~/go/bin ps 12932
  PID TTY STAT    TIME COMMAND
  12932 ?   Ssl  0:00.21 ./keybase --debug --log-file
  /home/charlotte/.cache/keybase.devel/keybase.service.log service --chdir
  /home/charlotte/.config/keybase.devel --auto-forked 
</code></pre>

<blockquote>
<p>I’m not exactly sure what the intended purpose of the “background server” even is, but fortunately we can kill it and even tell the keybase command to not even spawn one:</p>
</blockquote>

<pre><code>charlotte@sakuracity:~/go/bin ./keybase help advanced | grep -- --standalone
   --standalone                         Use the client without any daemon support.
</code></pre>

<blockquote>
<p>And then we can fix wanting to connect to localhost by specifying an expected Keybase API server – how about the one hosted at <a href="https://keybase.io" target="_blank" rel="nofollow noopener">https://keybase.io</a>?</p>
</blockquote>

<pre><code>charlotte@sakuracity:~/go/bin ./keybase help advanced | grep -- --server
   --server, -s                         Specify server API.
</code></pre>

<blockquote>
<p>Basically, what I’m trying to say is that if you specify both of these options, the keybase command does what I expect on NetBSD:</p>
</blockquote>

<pre><code>charlotte@sakuracity:~/go/bin ./keybase --standalone -s https://keybase.io login
▶ WARNING Running in devel mode
Please enter the Keybase passphrase for dressupgeekout (6+ characters): 

charlotte@sakuracity:~/go/bin ./keybase --standalone -s https://keybase.io id dressupgeekout
▶ WARNING Running in devel mode
▶ INFO Identifying dressupgeekout
✔ public key fingerprint: 7873 DA50 A786 9A3F 1662 3A17 20BD 8739 E82C 7F2F
✔ "dressupgeekout" on github:
https://gist.github.com/0471c7918d254425835bf5e1b4bcda00 [cached 2018-10-11
20:55:21 PDT]
✔ "dressupgeekout" on reddit:
https://www.reddit.com/r/KeybaseProofs/comments/9ng5qm/my_keybase_proof_redditdressupgeekout/
[cached 2018-10-11 20:55:21 PDT]
</code></pre>

<hr>

<p>###<a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=339929" target="_blank" rel="nofollow noopener">Initial implementation of draft-ietf-6man-ipv6only-flag</a></p>

<pre><code>This change defines the RA "6" (IPv6-Only) flag which routers
may advertise, kernel logic to check if all routers on a link
have the flag set and accordingly update a per-interface flag.

If all routers agree that it is an IPv6-only link, ether_output_frame(),
based on the interface flag, will filter out all ETHERTYPE_IP/ARP
frames, drop them, and return EAFNOSUPPORT to upper layers.

The change also updates ndp to show the "6" flag, ifconfig to
display the IPV6_ONLY nd6 flag if set, and rtadvd to allow
announcing the flag.

Further changes to tcpdump (contrib code) are availble and will
be upstreamed.

Tested the code (slightly earlier version) with 2 FreeBSD
IPv6 routers, a FreeBSD laptop on ethernet as well as wifi,
and with Win10 and OSX clients (which did not fall over with
the "6" flag set but not understood).

We may also want to (a) implement and RX filter, and (b) over
time enahnce user space to, say, stop dhclient from running
when the interface flag is set.  Also we might want to start
IPv6 before IPv4 in the future.

All the code is hidden under the EXPERIMENTAL option and not
compiled by default as the draft is a work-in-progress and
we cannot rely on the fact that IANA will assign the bits
as requested by the draft and hence they may change.

Dear 6man, you have running code.

Discussed with: Bob Hinden, Brian E Carpenter
</code></pre>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://dan.langille.org/2018/10/02/running-freebsd-on-osx-using-xhyve-a-port-of-bhyve/" target="_blank" rel="nofollow noopener">Running FreeBSD on macOS via xhyve</a></li>
<li><a href="https://mwl.io/archives/3841" target="_blank" rel="nofollow noopener">Auction Winners</a></li>
<li><a href="https://github.com/vedetta-com/vedetta/blob/master/src/usr/local/share/doc/vedetta/OpenSSH_Principals.md" target="_blank" rel="nofollow noopener">OpenSSH Principals</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20181018160645" target="_blank" rel="nofollow noopener">OpenBSD Foundation gets a second Iridium donation from Handshake</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2018/10/10/msg000786.html" target="_blank" rel="nofollow noopener">NetBSD machines at Open Source Conference 2018 Kagawa</a></li>
<li><a href="https://mwl.io/archives/3818" target="_blank" rel="nofollow noopener">Absolute FreeBSD now shipping!</a></li>
<li><a href="https://h3artbl33d.nl/blog/nextcloud-on-openbsd" target="_blank" rel="nofollow noopener">NextCloud on OpenBSD</a></li>
<li><a href="https://www.freebsd.org/news/newsflash.html#event20181027:01" target="_blank" rel="nofollow noopener">FreeBSD 12.0-BETA2 Available</a></li>
<li><a href="https://twitter.com/gvnn3/status/1049347862541344771" target="_blank" rel="nofollow noopener">DTrace on Windows ported from FreeBSD</a></li>
<li><a href="http://dpaste.com/36DFQ1S" target="_blank" rel="nofollow noopener">HELBUG fall 2018 meeting scheduled - Thursday the 15th of November</a></li>
<li><a href="https://translate.google.com/translate?hl=de&amp;sl=de&amp;tl=en&amp;u=https%3A%2F%2Ftickets.events.ccc.de%2F35c3%2Fintro%2F" target="_blank" rel="nofollow noopener">35C3 pre-sale has started</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/254235663/" target="_blank" rel="nofollow noopener">Stockholm BSD User Meeting: Tuesday Nov 13, 18:00 - 21:30  </a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">Polish BSD User Group: Thursday Nov 15, 18:30 - 21:00 </a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Greg - <a href="http://dpaste.com/1WA54CC" target="_blank" rel="nofollow noopener">Interview suggestion for the show</a></li>
<li>Nelson - <a href="http://dpaste.com/21KKF7Q#wrap" target="_blank" rel="nofollow noopener">Ghostscript vulnerabilities</a></li>
<li>Allison - <a href="http://dpaste.com/3K6D7ST" target="_blank" rel="nofollow noopener">Ports and GCC</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 6.4 released, GhostBSD RC2 released, MeetBSD - the ultimate hallway track, DragonflyBSD desktop on a Thinkpad, Porting keybase to NetBSD, OpenSSH 7.9, and draft-ietf-6man-ipv6only-flag in FreeBSD.</p>

<p>##Headlines<br>
###<a href="https://www.openbsd.org/64.html" target="_blank" rel="nofollow noopener">OpenBSD 6.4 released</a></p>

<ul>
<li><a href="https://www.openbsd.org/plus64.html" target="_blank" rel="nofollow noopener">See a detailed log of changes between the 6.3 and 6.4 releases.</a></li>
<li><a href="https://www.openbsd.org/ftp.html" target="_blank" rel="nofollow noopener">See the information on the FTP page for a list of mirror machines.</a></li>
<li><a href="https://www.openbsd.org/errata64.html" target="_blank" rel="nofollow noopener">Have a look at the 6.4 errata page for a list of bugs and workarounds.</a></li>
<li>signify(1) pubkeys for this release:</li>
<li>base: RWQq6XmS4eDAcQW4KsT5Ka0KwTQp2JMOP9V/DR4HTVOL5Bc0D7LeuPwA</li>
<li>fw:   RWRoBbjnosJ/39llpve1XaNIrrQND4knG+jSBeIUYU8x4WNkxz6a2K97</li>
<li>pkg:  RWRF5TTY+LoN/51QD5kM2hKDtMTzycQBBPmPYhyQEb1+4pff/H6fh/kA</li>
</ul>

<hr>

<p>###<a href="https://www.ghostbsd.org/18.10_RC2_release_announcement" target="_blank" rel="nofollow noopener">GhostBSD 18.10 RC2 Announced</a></p>

<blockquote>
<p>This second release candidate of GhostBSD 18.10 is the second official release of GhostBSD with TrueOS under the hood. The official desktop of GhostBSD is MATE. However, in the future, there might be an XFCE community release, but for now, there is no community release yet.</p>
</blockquote>

<ul>
<li>
<p>What has changed since RC1</p>
</li>
<li>
<p>Removed drm-stable-kmod and we will let users installed the propper drm-*-kmod</p>
</li>
<li>
<p>Douglas Joachin added libva-intel-driver libva-vdpau-driver  to supports accelerated some video driver for Intel</p>
</li>
<li>
<p>Issues that got fixed</p>
</li>
<li>
<p>Bug #70 Cannot run Octopi, missing libgksu error.</p>
</li>
<li>
<p>Bug #71 LibreOffice doesn’t start because of missing libcurl.so.4</p>
</li>
<li>
<p>Bug #72 libarchive is a missing dependency</p>
</li>
</ul>

<blockquote>
<p>Again thanks to iXsystems, TrueOS, Joe Maloney, Kris Moore, Ken Moore, Martin Wilke, Neville Goddard, Vester “Vic” Thacker, Douglas Joachim, Alex Lyakhov, Yetkin Degirmenci and many more who helped to make the transition from FreeBSD to TrueOS smoother.</p>
</blockquote>

<ul>
<li>
<p>Updating from RC1 to RC2:</p>
</li>
<li>
<p>sudo pkg update -f</p>
</li>
<li>
<p>sudo pkg install -f libarchive curl libgksu</p>
</li>
<li>
<p>sudo pkg upgrade</p>
</li>
<li>
<p>Where to download:</p>
</li>
<li>
<p>All images checksum, hybrid ISO(DVD, USB) and torrent are available here: <a href="https://www.ghostbsd.org/download" target="_blank" rel="nofollow noopener">https://www.ghostbsd.org/download</a></p>
</li>
<li>
<p>[ScreenShots]</p>
</li>
<li>
<p><a href="https://www.ghostbsd.org/sites/default/files/Screenshot_at_2018-10-20_13-22-41.png" target="_blank" rel="nofollow noopener">https://www.ghostbsd.org/sites/default/files/Screenshot_at_2018-10-20_13-22-41.png</a></p>
</li>
<li>
<p><a href="https://www.ghostbsd.org/sites/default/files/Screenshot_at_2018-10-20_13-27-26.png" target="_blank" rel="nofollow noopener">https://www.ghostbsd.org/sites/default/files/Screenshot_at_2018-10-20_13-27-26.png</a></p>
</li>
</ul>

<hr>

<p>###<a href="https://www.openssh.com/txt/release-7.9" target="_blank" rel="nofollow noopener">OpenSSH 7.9 has been released and it has support for OpenSSL 1.1</a></p>

<pre><code>Changes since OpenSSH 7.8
=========================

This is primarily a bugfix release.

New Features
------------
 * ssh(1), sshd(8): allow most port numbers to be specified using
   service names from getservbyname(3) (typically /etc/services).
 * ssh(1): allow the IdentityAgent configuration directive to accept
   environment variable names. This supports the use of multiple
   agent sockets without needing to use fixed paths.
 * sshd(8): support signalling sessions via the SSH protocol.
   A limited subset of signals is supported and only for login or
   command sessions (i.e. not subsystems) that were not subject to
   a forced command via authorized_keys or sshd_config. bz#1424
 * ssh(1): support "ssh -Q sig" to list supported signature options.
   Also "ssh -Q help" to show the full set of supported queries.
 * ssh(1), sshd(8): add a CASignatureAlgorithms option for the
   client and server configs to allow control over which signature
   formats are allowed for CAs to sign certificates. For example,
   this allows banning CAs that sign certificates using the RSA-SHA1
   signature algorithm.
 * sshd(8), ssh-keygen(1): allow key revocation lists (KRLs) to
   revoke keys specified by SHA256 hash.
 * ssh-keygen(1): allow creation of key revocation lists directly
   from base64-encoded SHA256 fingerprints. This supports revoking
   keys using only the information contained in sshd(8)
   authentication log messages.

Bugfixes
--------

 * ssh(1), ssh-keygen(1): avoid spurious "invalid format" errors when
   attempting to load PEM private keys while using an incorrect
   passphrase. bz#2901
 * sshd(8): when a channel closed message is received from a client,
   close the stderr file descriptor at the same time stdout is
   closed. This avoids stuck processes if they were waiting for
   stderr to close and were insensitive to stdin/out closing. bz#2863
 * ssh(1): allow ForwardX11Timeout=0 to disable the untrusted X11
   forwarding timeout and support X11 forwarding indefinitely.
   Previously the behaviour of ForwardX11Timeout=0 was undefined.
 * sshd(8): when compiled with GSSAPI support, cache supported method
   OIDs regardless of whether GSSAPI authentication is enabled in the
   main section of sshd_config. This avoids sandbox violations if
   GSSAPI authentication was later enabled in a Match block. bz#2107
 * sshd(8): do not fail closed when configured with a text key
   revocation list that contains a too-short key. bz#2897
 * ssh(1): treat connections with ProxyJump specified the same as
   ones with a ProxyCommand set with regards to hostname
   canonicalisation (i.e. don't try to canonicalise the hostname
   unless CanonicalizeHostname is set to 'always'). bz#2896
 * ssh(1): fix regression in OpenSSH 7.8 that could prevent public-
   key authentication using certificates hosted in a ssh-agent(1)
   or against sshd(8) from OpenSSH &lt;7.8.

Portability
-----------

 * All: support building against the openssl-1.1 API (releases 1.1.0g
   and later). The openssl-1.0 API will remain supported at least
   until OpenSSL terminates security patch support for that API version.
 * sshd(8): allow the futex(2) syscall in the Linux seccomp sandbox;
   apparently required by some glibc/OpenSSL combinations.
 * sshd(8): handle getgrouplist(3) returning more than
   _SC_NGROUPS_MAX groups. Some platforms consider this limit more
   as a guideline.
</code></pre>

<hr>

<p>##News Roundup</p>

<p>###<a href="https://www.ixsystems.com/blog/meetbsd-2018/" target="_blank" rel="nofollow noopener">MeetBSD 2018: The Ultimate Hallway Track</a></p>

<blockquote>
<p>Founded in Poland in 2007 and first hosted in California in 2008, MeetBSD combines formal talks with UnConference activities to provide a level of interactivity not found at any other BSD conference. The character of each MeetBSD is determined largely by its venue, ranging from Hacker Dojo in 2010 to Intel’s Santa Clara headquarters this year. The Intel SC12 building provided a beautiful auditorium and sponsors’ room, plus a cafeteria for the Friday night social event and the Saturday night FreeBSD 25th Anniversary Celebration. The formal nature of the auditorium motivated the formation of MeetBSD’s first independent Program Committee and public Call for Participation. Together these resulted in a backbone of talks presented by speakers from the USA, Canada, and Poland, combined with UnConference activities tailored to the space.</p>
</blockquote>

<ul>
<li>MeetBSD Day 0</li>
</ul>

<blockquote>
<p>Day Zero of MeetBSD was a FreeBSD Developer/Vendor Summit hosted in the same auditorium where the talks would take place. Like the conference itself, this event featured a mix of scheduled talks and interactive sessions. The scheduled talks were LWPMFS: LightWeight Persistent Memory Filesystem by Ravi Pokala, Evaluating GIT for FreeBSD by Ed Maste, and NUMA by Mark Johnston. Ed’s overview of the advantages and disadvantages of using Git for FreeBSD development was of the most interest to users and developers, and the discussion continued into the following two days.</p>
</blockquote>

<ul>
<li>MeetBSD Day 1</li>
</ul>

<blockquote>
<p>The first official day of MeetBSD 2018 was kicked off with introductions led by emcee JT Pennington and a keynote, “Using TrueOS to boot-strap your FreeBSD-based project” by Kris Moore. Kris described a new JSON-based release infrastructure that he has exercised with FreeBSD, TrueOS, and FreeNAS. Kris’ talk was followed by “Intel &amp; FreeBSD: Better Together” by Ben Widawsky, the FreeBSD program lead at Intel, who gave an overview of Intel’s past and current efforts supporting FreeBSD. Next came lunch, followed by Kamil Rytarowski’s “Bug detecting software in the NetBSD userland: MKSANITIZER”. This was followed by 5-Minute Lightning Talks, Andrew Fengler’s “FreeBSD: What to (Not) Monitor”, and an OpenZFS Panel Discussion featuring OpenZFS experts Michael W. Lucas, Allan Jude, Alexander Motin, Pawel Dawidek, and Dan Langille. Day one concluded with a social event at the Intel cafeteria where the discussions continued into the night.</p>
</blockquote>

<ul>
<li>MeetBSD Day 2</li>
</ul>

<blockquote>
<p>Day Two of MeetBSD 2018 kicked off with a keynote by Michael W. Lucas entitled “Why BSD?”, where Michael detailed what makes the BSD community different and why it attracts us all. This was followed by Dr. Kirk McKusick’s “The Early Days of BSD” talk, which was followed by “DTrace/dwatch in Production” by Devin Teske. After lunch, we enjoyed “A Curmudgeon’s Language Selection Criteria: Why I Don’t Write Everything in Go, Rust, Elixir, etc” by G. Clifford Williams and, “Best practices of sandboxing applications with Capsicum” by Mariusz Zaborski. I then hosted a Virtualization Panel Discussion that featured eight developers from FreeBSD, OpenBSD, and NetBSD. We then split up for Breakout Sessions and the one on Bloomberg’s controversial article on backdoored Supermicro systems was fascinating given the experts present, all of whom were skeptical of the feasibility of the attack. The day wrapped up with a final talk, “Tales of a Daemontown Performance Peddler: Why ‘it depends’ and what you can do about it” by Nick Principe, followed by the FreeBSD 25th Anniversary Celebration.</p>
</blockquote>

<ul>
<li>Putting the “meet” in MeetBSD</li>
</ul>

<blockquote>
<p>I confess the other organizers and I were nervous about how well one large auditorium would suit a BSD event but the flexible personal space it gave everyone allowed for countless meetings and heated hacking that often brought about immediate results. I watched people take ideas through several iterations with the help and input of obvious and unexpected experts, all of whom were within reach. Not having to pick up and leave for a talk in another room organically resulted in essentially a series of mini hackathons that none of us anticipated but were delighted to witness, taking the “hallway track” to a whole new level. The mix of formal and UnConference activities at MeetBSD is certain to evolve. Thank you to everyone who participated with questions, Lightning Talks, and Panel participation. A huge thanks to our sponsors, including Intel for both hosting and sponsoring MeetBSD California 2018, Western Digital, Supermicro, Verisign, Jupiter Broadcasting, the FreeBSD Foundation, Bank of America Merrill Lynch, the NetBSD Foundation, and the team at iXsystems.</p>
</blockquote>

<blockquote>
<p>See you at MeetBSD 2020!</p>
</blockquote>

<hr>

<p>###<a href="https://panoramacircle.com/2018/10/07/setup-dragonflybsd-with-a-desktop-on-real-hardware-thinkpad-t410/" target="_blank" rel="nofollow noopener">Setup DragonflyBSD with a desktop on real hardware ThinkPad T410</a><br>
+<a href="https://youtu.be/p4KwssNY82Q" target="_blank" rel="nofollow noopener">Video Demo</a></p>

<blockquote>
<p>Linux has become too mainstream and standard BSD is a common thing now? How about DragonflyBSD which was created as a fork of FreeBSD 4.8 in conflict over system internals. This tutorial will show how to install it and set up a user-oriented desktop. It should work with DragonflyBSD, FreeBSD and probably all BSDs.<br>
Some background: BSD was is ultimately derived from UNIX back in the days. It is not Linux even though it is similar in many ways because Linux was designed to follow UNIX principles. Seeing is believing, so check out the video of the install!<br>
I did try two BSD distros before called GhostBSD and TrueOS and you can check out my short reviews. DragonflyBSD comes like FreeBSD bare bones and requires some work to get a desktop running.</p>
</blockquote>

<ul>
<li>
<p>Download image file and burn to USB drive or DVD</p>
</li>
<li>
<p>First installation</p>
</li>
<li>
<p>Setting up the system and installing a desktop</p>
</li>
<li>
<p>Inside the desktop</p>
</li>
<li>
<p>Install some more programs</p>
</li>
<li>
<p>How to enable sound?</p>
</li>
<li>
<p>Let’s play some free games</p>
</li>
<li>
<p>Setup WiFi</p>
</li>
<li>
<p>Power mode settings</p>
</li>
<li>
<p>More to do?</p>
</li>
</ul>

<blockquote>
<p>You can check out this blog post if you want a much more detailed tutorial. If you don’t mind standard BSD, get the GhostBSD distro instead which comes with a ready-made desktop xcfe or mate and many functional presets.</p>
</blockquote>

<ul>
<li>
<p>A small summary of what we got on the upside:</p>
<ul>
<li>Free and open source operating system with a long history</li>
<li>Drivers worked fine including Ethernet, WiFi, video 2D &amp; 3D, audio, etc</li>
<li>Hammer2 advanced file system</li>
<li>You are very unique if you use this OS fork</li>
</ul>

</li><br>
<li>

<p>Some downsides:</p>

</li><br>
<li>

<p>Less driver and direct app support than Linux</p>

</li><br>
<li>

<p>Installer and desktop have some traps and quirks and require work</p>

</li><br>
</ul><br>
<hr>

<p>###<a href="https://dressupgeekout.blogspot.com/2018/10/porting-keybase-to-netbsd.html" target="_blank" rel="nofollow noopener">Porting Keybase to NetBSD</a></p>

<blockquote>
<p>Keybase significantly simplifies the whole keypair/PGP thing and makes what is usually a confusing, difficult experience actually rather pleasant. At its heart is an open-source command line utility that does all of the heavy cryptographic lifting. But it’s also hooked up to the network of all other Keybase users, so you don’t have to work very hard to maintain big keychains. Pretty cool!<br>
So, this evening, I tried to get it to all work on NetBSD.<br>
The Keybase client code base is, in my opinion, not very well architected… there exist many different Keybase clients (command line apps, desktop apps, mobile apps) and for some reason the code for all of them are seemingly in this single repository, without even using Git submodules. Not sure what that’s about.<br>
Anyway, “go build”-ing the command line program (it’s written in Go) failed immediately because there’s some platform-specific code that just does not seem to recognize that NetBSD exists (but they do for FreeBSD and OpenBSD). Looks like the Keybase developers maintain a Golang wrapper around struct proc, which of course is different from OS to OS. So I literally just copypasted the OpenBSD wrapper, renamed it to “NetBSD”, and the build basically succeeded from there! This is of course super janky and untrustworthy, but it seems to Mostly Just Work…<br>
I forked the GitHub repo, you can see the diff on top of keybase 2.7.3 here: bccaaf3096a<br>
Eventually I ended up with a ~/go/bin/keybase which launches just fine. Meaning, I can main() okay. But the moment you try to do anything interesting, it looks super scary:</p>
</blockquote>

<pre><code>charlotte@sakuracity:~/go/bin ./keybase login
▶ WARNING Running in devel mode
▶ INFO Forking background server with pid=12932
▶ ERROR unexpected error in Login: API network error: doRetry failed,
attempts: 1, timeout 5s, last err: Get
http://localhost:3000/_/api/1.0/merkle/path.json?last=3784314&amp;load_deleted=1&amp;load_reset_chain=1&amp;poll=10&amp;sig_hints_low=3&amp;uid=38ae1dfa49cd6831ea2fdade5c5d0519:
dial tcp [::1]:3000: connect: connection refused
</code></pre>

<blockquote>
<p>There’s a few things about this error message that stuck out to me:</p>
</blockquote>

<ul>
<li>Forking a background server? What?</li>
<li>It’s trying to connect to localhost? That must be the server that doesn’t work …</li>
</ul>

<blockquote>
<p>Unfortunately, this nonfunctional “background server” sticks around even when a command as simple as ‘login’ command just failed:</p>
</blockquote>

<pre><code>charlotte@sakuracity:~/go/bin ps 12932
  PID TTY STAT    TIME COMMAND
  12932 ?   Ssl  0:00.21 ./keybase --debug --log-file
  /home/charlotte/.cache/keybase.devel/keybase.service.log service --chdir
  /home/charlotte/.config/keybase.devel --auto-forked 
</code></pre>

<blockquote>
<p>I’m not exactly sure what the intended purpose of the “background server” even is, but fortunately we can kill it and even tell the keybase command to not even spawn one:</p>
</blockquote>

<pre><code>charlotte@sakuracity:~/go/bin ./keybase help advanced | grep -- --standalone
   --standalone                         Use the client without any daemon support.
</code></pre>

<blockquote>
<p>And then we can fix wanting to connect to localhost by specifying an expected Keybase API server – how about the one hosted at <a href="https://keybase.io" target="_blank" rel="nofollow noopener">https://keybase.io</a>?</p>
</blockquote>

<pre><code>charlotte@sakuracity:~/go/bin ./keybase help advanced | grep -- --server
   --server, -s                         Specify server API.
</code></pre>

<blockquote>
<p>Basically, what I’m trying to say is that if you specify both of these options, the keybase command does what I expect on NetBSD:</p>
</blockquote>

<pre><code>charlotte@sakuracity:~/go/bin ./keybase --standalone -s https://keybase.io login
▶ WARNING Running in devel mode
Please enter the Keybase passphrase for dressupgeekout (6+ characters): 

charlotte@sakuracity:~/go/bin ./keybase --standalone -s https://keybase.io id dressupgeekout
▶ WARNING Running in devel mode
▶ INFO Identifying dressupgeekout
✔ public key fingerprint: 7873 DA50 A786 9A3F 1662 3A17 20BD 8739 E82C 7F2F
✔ "dressupgeekout" on github:
https://gist.github.com/0471c7918d254425835bf5e1b4bcda00 [cached 2018-10-11
20:55:21 PDT]
✔ "dressupgeekout" on reddit:
https://www.reddit.com/r/KeybaseProofs/comments/9ng5qm/my_keybase_proof_redditdressupgeekout/
[cached 2018-10-11 20:55:21 PDT]
</code></pre>

<hr>

<p>###<a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=339929" target="_blank" rel="nofollow noopener">Initial implementation of draft-ietf-6man-ipv6only-flag</a></p>

<pre><code>This change defines the RA "6" (IPv6-Only) flag which routers
may advertise, kernel logic to check if all routers on a link
have the flag set and accordingly update a per-interface flag.

If all routers agree that it is an IPv6-only link, ether_output_frame(),
based on the interface flag, will filter out all ETHERTYPE_IP/ARP
frames, drop them, and return EAFNOSUPPORT to upper layers.

The change also updates ndp to show the "6" flag, ifconfig to
display the IPV6_ONLY nd6 flag if set, and rtadvd to allow
announcing the flag.

Further changes to tcpdump (contrib code) are availble and will
be upstreamed.

Tested the code (slightly earlier version) with 2 FreeBSD
IPv6 routers, a FreeBSD laptop on ethernet as well as wifi,
and with Win10 and OSX clients (which did not fall over with
the "6" flag set but not understood).

We may also want to (a) implement and RX filter, and (b) over
time enahnce user space to, say, stop dhclient from running
when the interface flag is set.  Also we might want to start
IPv6 before IPv4 in the future.

All the code is hidden under the EXPERIMENTAL option and not
compiled by default as the draft is a work-in-progress and
we cannot rely on the fact that IANA will assign the bits
as requested by the draft and hence they may change.

Dear 6man, you have running code.

Discussed with: Bob Hinden, Brian E Carpenter
</code></pre>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://dan.langille.org/2018/10/02/running-freebsd-on-osx-using-xhyve-a-port-of-bhyve/" target="_blank" rel="nofollow noopener">Running FreeBSD on macOS via xhyve</a></li>
<li><a href="https://mwl.io/archives/3841" target="_blank" rel="nofollow noopener">Auction Winners</a></li>
<li><a href="https://github.com/vedetta-com/vedetta/blob/master/src/usr/local/share/doc/vedetta/OpenSSH_Principals.md" target="_blank" rel="nofollow noopener">OpenSSH Principals</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20181018160645" target="_blank" rel="nofollow noopener">OpenBSD Foundation gets a second Iridium donation from Handshake</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2018/10/10/msg000786.html" target="_blank" rel="nofollow noopener">NetBSD machines at Open Source Conference 2018 Kagawa</a></li>
<li><a href="https://mwl.io/archives/3818" target="_blank" rel="nofollow noopener">Absolute FreeBSD now shipping!</a></li>
<li><a href="https://h3artbl33d.nl/blog/nextcloud-on-openbsd" target="_blank" rel="nofollow noopener">NextCloud on OpenBSD</a></li>
<li><a href="https://www.freebsd.org/news/newsflash.html#event20181027:01" target="_blank" rel="nofollow noopener">FreeBSD 12.0-BETA2 Available</a></li>
<li><a href="https://twitter.com/gvnn3/status/1049347862541344771" target="_blank" rel="nofollow noopener">DTrace on Windows ported from FreeBSD</a></li>
<li><a href="http://dpaste.com/36DFQ1S" target="_blank" rel="nofollow noopener">HELBUG fall 2018 meeting scheduled - Thursday the 15th of November</a></li>
<li><a href="https://translate.google.com/translate?hl=de&amp;sl=de&amp;tl=en&amp;u=https%3A%2F%2Ftickets.events.ccc.de%2F35c3%2Fintro%2F" target="_blank" rel="nofollow noopener">35C3 pre-sale has started</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/254235663/" target="_blank" rel="nofollow noopener">Stockholm BSD User Meeting: Tuesday Nov 13, 18:00 - 21:30  </a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">Polish BSD User Group: Thursday Nov 15, 18:30 - 21:00 </a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Greg - <a href="http://dpaste.com/1WA54CC" target="_blank" rel="nofollow noopener">Interview suggestion for the show</a></li>
<li>Nelson - <a href="http://dpaste.com/21KKF7Q#wrap" target="_blank" rel="nofollow noopener">Ghostscript vulnerabilities</a></li>
<li>Allison - <a href="http://dpaste.com/3K6D7ST" target="_blank" rel="nofollow noopener">Ports and GCC</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 269: Tiny Daemon Lib | BSD Now 269</title>
  <link>https://www.bsdnow.tv/269</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2747</guid>
  <pubDate>Wed, 24 Oct 2018 05:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5cd889a3-fdea-4394-a3e4-69aaa37d9ee0.mp3" length="53176544" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Foundation September Update, tiny C lib for programming Unix daemons, EuroBSDcon trip reports, GhostBSD tested on real hardware, and a BSD auth module for duress.</itunes:subtitle>
  <itunes:duration>1:28:19</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>&lt;p&gt;FreeBSD Foundation September Update, tiny C lib for programming Unix daemons, EuroBSDcon trip reports, GhostBSD tested on real hardware, and a BSD auth module for duress.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://www.freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-september-2018/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation Update, September 2018&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MESSAGE FROM THE EXECUTIVE DIRECTOR&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Dear FreeBSD Community Member, It is hard to believe that September is over. The Foundation team had a busy month promoting FreeBSD all over the globe, bug fixing in preparation for 12.0, and setting plans in motion to kick off our 4th quarter fundraising and advocacy efforts. Take a minute to see what we’ve been up to and please consider making a donation to help us continue our efforts supporting FreeBSD!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;September 2018 Development Projects Update&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In preparation for the release of FreeBSD 12.0, I have been working on investigating and fixing a backlog of kernel bug reports.  Of course, this kind of work is never finished, and we will continue to make progress after the release.  In the past couple of months I have fixed a combination of long-standing issues and recent regressions.  Of note are a pair of UNIX domain socket bugs which had been affecting various applications for years.  In particular, Chromium tabs would frequently hang unless a workaround was manually applied to the system, and the bug had started affecting recent versions of Firefox as well.  Fixing these issues gave me an opportunity to revisit and extend our regression testing for UNIX sockets, which, in turn, resulted in some related bugs being identified and fixed.&lt;br&gt;
Of late I have also been investigating reports of issues with ZFS, particularly, those reported on FreeBSD 11.2.  A number of regressions, including a kernel memory leak and issues with ARC reclamation, have already been fixed for 12.0; investigation of other reports is ongoing. Those who closely follow FreeBSD-CURRENT know that some exciting work to improve memory usage on NUMA systems is now enabled by default.  As is usually the case when new code is deployed in a diverse array of systems and workloads, a number of problems since have been identified. We are working on resolving them as soon as possible to ensure the quality of the release.&lt;br&gt;
I’m passionate about maintaining FreeBSD’s stability and dependability as it continues to expand and grow new features, and I’m grateful to the FreeBSD Foundation for sponsoring this work.  We depend on users to report problems to the mailing lists and via the bug tracker, so please try running the 12.0 candidate builds and help us make 12.0 a great release.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Fundraising Update: Supporting the Project&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s officially Fall here at Foundation headquarters and we’re heading full-steam into our final fundraising campaign of the year. We couldn’t even have begun to reach our funding goal of $1.25 million dollars without the support from the companies who have partnered with us this year. Thank you to Verisign for becoming a Silver Partner. They now join a growing list of companies like Xiplink, NetApp, Microsoft, Tarsnap, VMware, and NeoSmart Technologies that are stepping up and showing their commitment to FreeBSD!&lt;br&gt;
Funding from commercial users like these and individual users like yourself, help us continue our efforts of supporting critical areas of FreeBSD such as:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Operating System Improvements: Providing staff to immediately respond to urgent problems and implement new features and functionality allowing for the innovation and stability you’ve come to rely on.&lt;/li&gt;
&lt;li&gt;Security: Providing engineering resources to bolster the capacity and responsiveness of the Security team providing your users with piece of mind when security issues arise.&lt;/li&gt;
&lt;li&gt;Release Engineering: Continue providing a full-time release engineer, resulting in timely and reliable releases you can plan around.&lt;/li&gt;
&lt;li&gt;Quality Assurance: Improving and increasing test coverage, continuous integration, and automated testing with a full-time software engineer to ensure you receive the highest quality, secure, and reliable operating system.&lt;/li&gt;
&lt;li&gt;New User Experience: Improving the process and documentation for getting new people involved with FreeBSD, and supporting those people as they become integrated into the FreeBSD Community providing the resources you may need to get new folks up to speed.&lt;/li&gt;
&lt;li&gt;Training: Supporting more FreeBSD training for undergraduates, graduates, and postgraduates. Growing the community means reaching people and catching their interest in systems software as early as possible and providing you with a bigger pool of candidates with the FreeBSD skills you’re looking for.&lt;/li&gt;
&lt;li&gt;Face-to-Face Opportunities: Facilitating collaboration among members of the community, and building connections throughout the industry to support a healthy and growing ecosystem and make it easier for you to find resources when questions emerge .&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We can continue the above work, if we meet our goal this year!&lt;br&gt;
If your company uses FreeBSD, please consider joining our growing list of 2018 partners. If you haven’t made your donation yet, please consider donating today. We are indebted to the individual donors, and companies listed above who have already shown their commitment to open source.&lt;br&gt;
Thank you for supporting FreeBSD and the Foundation!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;September 2018 Release Engineering Update&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The FreeBSD Release Engineering team continued working on the upcoming 12.0 RELEASE.  At present, the 12.0 schedule had been adjusted by one week to allow for necessary works-in-progress to be completed.&lt;br&gt;
Of note, one of the works-in-progress includes updating OpenSSL from 1.0.2 to 1.1.1, in order to avoid breaking the application binary interface (ABI) on an established stable branch.&lt;br&gt;
Due to the level of non-trivial intrusiveness that had already been discovered and addressed in a project branch of the repository, it is possible (but not yet definite) that the schedule will need to be adjusted by another week to allow more time for larger and related updates for this particular update.&lt;br&gt;
Should the 12.0-RELEASE schedule need to be adjusted at any time during the release cycle, the schedule on the FreeBSD project website will be updated accordingly.  The current schedule is available at:&lt;br&gt;
&lt;a href="https://www.freebsd.org/releases/12.0R/schedule.html" target="_blank" rel="nofollow noopener"&gt;https://www.freebsd.org/releases/12.0R/schedule.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;BSDCam 2018 Trip Report: Marie Helene Kvello-Aune&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’d like to start by thanking the FreeBSD Foundation for sponsoring my trip to BSDCam(bridge) 2018. I wouldn’t have managed to attend otherwise. I’ve used FreeBSD in both personal and professional deployments since the year 2000, and over the last few years I have become more involved with development and documentation.&lt;br&gt;
I arrived in Gatwick, London at midnight. On Monday, August 13,  I took the train to Cambridge, and decided to do some touristy activities as I walked from the train station to Churchill College. I ran into Allan outside the hotel right before the sky decided it was time for a heavy rainfall. Monday was mostly spent settling in, recouping after travel, and hanging out with Allan, Brad, Will and Andy later in the afternoon/evening. Read more…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Continuous Integration Update&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The FreeBSD Foundation has sponsored the development of the Project’s continuous integration system, available at &lt;a href="https://ci.FreeBSD.org" target="_blank" rel="nofollow noopener"&gt;https://ci.FreeBSD.org&lt;/a&gt;, since June. Over the summer, we improved both the software and hardware infrastructure, and also added some new jobs for extending test coverage of the -CURRENT and -STABLE branches. Following are some highlights.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;New Hardware&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The Foundation purchased 4 new build machines for scaling up the computation power for the various test jobs. These newer, faster machines substantially speed up the time it takes to test amd64 builds, so that failing changes can be identified more quickly. Also, in August, we received a donation of 2 PINE A64-LTS boards from &lt;a href="http://PINE64.org" target="_blank" rel="nofollow noopener"&gt;PINE64.org&lt;/a&gt;, which will be put in the hardware test lab as one part of the continuous tests.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;CI Staging Environment&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We used hardware from a previous generation CI system to build a staging environment for the CI infrastructure, which is available at&lt;br&gt;
&lt;a href="https://ci-dev.freebsd.org" target="_blank" rel="nofollow noopener"&gt;https://ci-dev.freebsd.org&lt;/a&gt;. It executes the configurations and scripts from the “staging” branch of the FreeBSD-CI repository, and the development feature branches. We also use it to experiment with the new version of the jenkins server and plugins. Having a staging environment avoids affecting the production CI environment, reducing downtime.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Mail Notification&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In July, we turned on failure notification for all the kernel and world build jobs. Committers will receive email containing the build information and failure log to inform them of possible problems with their modification on certain architectures. For amd64 of the -CURRENT branch, we also enabled the notification on failing regression test cases. Currently mail is sent only to the individual committers, but with help from postmaster team, we have created a dev-ci mailing list and will soon be also sending notifications there.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;New Test Job&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In August, we updated the embedded script of the virtual machine image. Originally it only executed pre-defined tests, but now this behavior can be modified by the data on the attached disk. This mechanism is used for adding new ZFS tests jobs. We are also working on analyzing and fixing the failing and skipped test cases.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Work in Progress&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In August and September, we had two developer summits, one in Cambridge, UK and one in Bucharest, Romania. In these meetings, we discussed running special tests, such as ztest,  which need a longer run time. We also planned the network testing for TCP/IP stack&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://chaoticlab.io/c/c++/unix/2018/10/01/daemonize.html" target="_blank" rel="nofollow noopener"&gt;Daemonize - a Tiny C Library for Programming the UNIX Daemons&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Whatever they say, writing System-V style UNIX daemons is hard. One has to follow many rules to make a daemon process behave correctly on diverse UNIX flavours. Moreover, debugging such a code might be somewhat tricky. On the other hand, the process of daemon initialisation is rigid and well defined so the corresponding code has to be written and debugged once and later can be reused countless number of times.&lt;br&gt;
Developers of BSD UNIX were very aware of this, as there a C library function daemon() was available starting from version 4.4. The function, although non-standard, is present on many UNIXes. Unfortunately, it does not follow all the required steps to reliably run a process in the background on systems which follow System-V semantics (e.g. Linux). The details are available at the corresponding Linux man page. The main problem here, as I understand it, is that daemon() does not use the double-forking technique to avoid the situation when zombie processes appear.&lt;br&gt;
Whenever I encounter a problem like this one, I know it is time to write a tiny C library which solves it. This is exactly how ‘daemonize’ was born (GitHub mirror). The library consists of only two files which are meant to be integrated into the source tree of your project. Recently I have updated the library and realised that it would be good to describe how to use it on this site.&lt;br&gt;
If for some reason you want to make a Windows service, I have a battle tested template code for you as well.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;System-V Daemon Initialisation Procedure&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;To make discussion clear we shall quote the steps which have to be performed during a daemon initialisation (according to daemon(7) manual page on Linux). I do it to demonstrate that this task is more tricky than one might expect.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;So, here we go:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Close all open file descriptors except standard input, output, and error (i.e. the first three file descriptors 0, 1, 2). This ensures that no accidentally passed file descriptor stays around in the daemon process. On Linux, this is best implemented by iterating through /proc/self/fd, with a fallback of iterating from file descriptor 3 to the value returned by getrlimit() for RLIMIT_NOFILE.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Reset all signal handlers to their default. This is best done by iterating through the available signals up to the limit of _NSIG and resetting them to SIG_DFL.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Reset the signal mask using sigprocmask().&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sanitize the environment block, removing or resetting environment variables that might negatively impact daemon runtime.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Call fork(), to create a background process.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the child, call setsid() to detach from any terminal and create an independent session.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the child, call fork() again, to ensure that the daemon can never re-acquire a terminal again.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Call exit() in the first child, so that only the second child (the actual daemon process) stays around. This ensures that the daemon process is re-parented to init/PID 1, as all daemons should be.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the daemon process, connect /dev/null to standard input, output, and error.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the daemon process, reset the umask to 0, so that the file modes passed to open(), mkdir() and suchlike directly control the access mode of the created files and directories.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the daemon process, change the current directory to the root directory (/), in order to avoid that the daemon involuntarily blocks mount points from being unmounted.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the daemon process, write the daemon PID (as returned by getpid()) to a PID file, for example /run/foobar.pid (for a hypothetical daemon “foobar”) to ensure that the daemon cannot be started more than once. This must be implemented in race-free fashion so that the PID file is only updated when it is verified at the same time that the PID previously stored in the PID file no longer exists or belongs to a foreign process.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the daemon process, drop privileges, if possible and applicable.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From the daemon process, notify the original process started that initialization is complete. This can be implemented via an unnamed pipe or similar communication channel that is created before the first fork() and hence available in both the original and the daemon process.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Call exit() in the original process. The process that invoked the daemon must be able to rely on that this exit() happens after initialization is complete and all external communication channels are established and accessible.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The discussed library does most of the above-mentioned initialisation steps as it becomes immediately evident that implementation details for some of them heavily dependent on the internal logic of an application itself, so it is not possible to implement them in a universal library. I believe it is not a flaw, though, as the missed parts are safe to implement in an application code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Library’s Application Programming Interface&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The generic programming interface was loosely modelled after above-mentioned BSD’s daemon() function. The library provides two user available functions (one is, in fact, implemented on top of the other) as well as a set of flags to control a daemon creation behaviour.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The objective of the library is to hide all the trickery of programming a daemon so you could concentrate on the more creative parts of your application. I hope it does this well.&lt;br&gt;
If you are not only interested in writing a daemon, but also want to make yourself familiar with the techniques which are used to accomplish that, the source code is available. Moreover, I would advise anyone, who starts developing for a UNIX environment to do that, as it shows many intricacies of programming for these platforms.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://blog.netbsd.org/tnf/entry/eurobsdcon_2018" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2018 travel report and obligatory pics&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This was my first big BSD conference. We also planned - planned might be a big word - thought about doing a devsummit on Friday. Since the people who were in charge of that had a change of plans, I was sure it’d go horribly wrong.&lt;br&gt;
The day before the devsummit and still in the wrong country, I mentioned the hours and venue on the wiki, and booked a reservation for a restaurant.&lt;br&gt;
It turns out that everything was totally fine, and since the devsummit was at the conference venue (that was having tutorials that day), they even had signs pointing at the room we were given. Thanks EuroBSDCon conference organizers!&lt;br&gt;
At the devsummit, we spent some time hacking. A few people came with “travel laptops” without access to anything, like Riastradh, so I gave him access to my own laptop. This didn’t hold very long and I kinda forgot about it, but for a few moments he had access to a NetBSD source tree and an 8 thread, 16GB RAM machine with which to build things.&lt;br&gt;
We had a short introduction and I suggested we take some pictures, so here’s the ones we got. A few people were concerned about privacy, so they’re not pictured. We had small team to hold the camera :-)&lt;br&gt;
At the actual conference days, I stayed at the speaker hotel with the other speakers. I’ve attempted to make conversation with some visibly FreeBSD/OpenBSD people, but didn’t have plans to talk about anything, so there was a lot of just following people silently.&lt;br&gt;
Perhaps for the next conference I’ll prepare a list of questions to random BSD people and then very obviously grab a piece of paper and ask, “what was…”, read a bit from it, and say, “your latest kernel panic?”, I’m sure it’ll be a great conversation starter.&lt;br&gt;
At the conference itself, was pretty cool to have folks like Kirk McKusick give first person accounts of some past events (Kirk gave a talk about governance at FreeBSD), or the second keynote by Ron Broersma.&lt;br&gt;
My own talk was hastily prepared, it was difficult to bring the topic together into a coherent talk. Nevertheless, I managed to talk about stuff for a while 40 minutes, though usually I skip over so many details that I have trouble putting together a sufficiently long talk.&lt;br&gt;
I mentioned some of my coolest bugs to solve (I should probably make a separate article about some!). A few people asked for the slides after the talk, so I guess it wasn’t totally incoherent.&lt;br&gt;
It was really fun to meet some of my favourite NetBSD people. I got to show off my now fairly well working laptop (it took a lot of work by all of us!).&lt;br&gt;
After the conference I came back with a conference cold, and it took a few days to recover from it. Hopefully I didn’t infect too many people on the way back.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://panoramacircle.com/2018/09/23/ghostbsd-tested-on-real-hardware-t410-better-than-trueos/" target="_blank" rel="nofollow noopener"&gt;GhostBSD tested on real hardware T410 – better than TrueOS?&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You might have heard about FreeBSD which is ultimately derived from UNIX back in the days. It is not Linux even though it is similar in many ways because Linux was designed to follow UNIX principles. Seeing is believing, so check out the video of the install and some apps as well!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Nowadays if you want some of that BSD on your personal desktop how to go about? Well there is a full package or distro called GhostBSD which is based on FreeBSD current with a Mate or XFCE desktop preconfigured. I did try another package called TrueOS before and you can check out my blog post as well.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Let’s give it a try on my Lenovo ThinkPad T410. You can download the latest version from &lt;a href="http://ghostbsd.org" target="_blank" rel="nofollow noopener"&gt;ghostbsd.org&lt;/a&gt;. Creating a bootable USB drive was surprisingly difficult as rufus did not work and created a corrupted drive. You have to follow this procedure under Windows: download the 2.5GB .iso file and rename the extension to .img. Download Win32 Disk imager and burn the img file to an USB drive and boot from it. You will be able to start a live session and use the onboard setup to install GhostBSD unto a disk.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I did encounter some bugs or quirks along the way. The installer failed the first time for some unknown reason but worked on the second attempt. The first boot stopped upon initialization of the USB3 ports (the T410 does not have USB3) but I could use some ‘exit’ command line magic to continue. The second boot worked fine. Audio was only available through headphones, not speakers but that could partially be fixed using the command line again. Lot’s of installed apps did not show up in the start menu and on goes the quirks list.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Overall it is still better than TrueOS for me because drivers did work very well and I could address most of the existing bugs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;On the upside:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Free and open source FreeBSD package ready to go&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Mate or XFCE desktop (Mate is the only option for daily builds)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Drivers work fine including LAN, WiFi, video 2D &amp;amp; 3D, audio, etc&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;UFS or ZFS advanced file systems available&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Some downsides:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Less driver and direct app support than Linux&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Installer and desktop have some quirks and bugs&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;App-store is cumbersome, inferior to TrueOS&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/eurobsdcon_2018_and_netbsd_sanitizers" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2018 and NetBSD sanitizers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20181002175838" target="_blank" rel="nofollow noopener"&gt;New mandoc feature: -T html -O toc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.geeklan.co.uk/?p=2307" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon 2018&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://oshogbo.vexillium.org/blog/55/" target="_blank" rel="nofollow noopener"&gt;Polish BSD User Group&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://garbage.fm/episodes/43" target="_blank" rel="nofollow noopener"&gt;garbage[43]: What year is it?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://thedemoat50.org/" target="_blank" rel="nofollow noopener"&gt;The Demo @ 50&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/tG8R5SQGPck?t=660" target="_blank" rel="nofollow noopener"&gt;Microsoft ports DTrace from FreeBSD to Windows 10&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/openbsd" target="_blank" rel="nofollow noopener"&gt;OpenBSD joins Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://roy.marples.name/blog/netbsd-curses-ripoffline-improvements" target="_blank" rel="nofollow noopener"&gt;NetBSD curses ripoffline improvements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2018-October/089717.html" target="_blank" rel="nofollow noopener"&gt;FCP-0101: Deprecating most 10/100 Ethernet drivers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/tech-pkg/2018/10/05/msg020326.html" target="_blank" rel="nofollow noopener"&gt;Announcing the pkgsrc-2018Q3 release&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.netzbasis.de/openbsd/vmd-debian/index.html" target="_blank" rel="nofollow noopener"&gt;Debian on OpenBSD vmd (without qemu or another debian system)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jcs/login_duress" target="_blank" rel="nofollow noopener"&gt;A BSD authentication module for duress passwords (Joshua Stein)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/oshogbovx/status/1019334534935007232?s=03" target="_blank" rel="nofollow noopener"&gt;Disk Price/Performance Analysis&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DJ - &lt;a href="http://dpaste.com/0YV8WC6#wrap" target="_blank" rel="nofollow noopener"&gt;Zombie ZFS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Josua - &lt;a href="http://dpaste.com/25B1EA8" target="_blank" rel="nofollow noopener"&gt;arm tier 1? how to approach it&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;-Gamah - &lt;a href="http://dpaste.com/2SMSGPB" target="_blank" rel="nofollow noopener"&gt;5ghz&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, ghostbsd, eurobsdcon, daemon</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Foundation September Update, tiny C lib for programming Unix daemons, EuroBSDcon trip reports, GhostBSD tested on real hardware, and a BSD auth module for duress.</p>

<p>##Headlines<br>
###<a href="https://www.freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-september-2018/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Update, September 2018</a></p>

<ul>
<li>MESSAGE FROM THE EXECUTIVE DIRECTOR</li>
</ul>

<blockquote>
<p>Dear FreeBSD Community Member, It is hard to believe that September is over. The Foundation team had a busy month promoting FreeBSD all over the globe, bug fixing in preparation for 12.0, and setting plans in motion to kick off our 4th quarter fundraising and advocacy efforts. Take a minute to see what we’ve been up to and please consider making a donation to help us continue our efforts supporting FreeBSD!</p>
</blockquote>

<ul>
<li>September 2018 Development Projects Update</li>
</ul>

<blockquote>
<p>In preparation for the release of FreeBSD 12.0, I have been working on investigating and fixing a backlog of kernel bug reports.  Of course, this kind of work is never finished, and we will continue to make progress after the release.  In the past couple of months I have fixed a combination of long-standing issues and recent regressions.  Of note are a pair of UNIX domain socket bugs which had been affecting various applications for years.  In particular, Chromium tabs would frequently hang unless a workaround was manually applied to the system, and the bug had started affecting recent versions of Firefox as well.  Fixing these issues gave me an opportunity to revisit and extend our regression testing for UNIX sockets, which, in turn, resulted in some related bugs being identified and fixed.<br>
Of late I have also been investigating reports of issues with ZFS, particularly, those reported on FreeBSD 11.2.  A number of regressions, including a kernel memory leak and issues with ARC reclamation, have already been fixed for 12.0; investigation of other reports is ongoing. Those who closely follow FreeBSD-CURRENT know that some exciting work to improve memory usage on NUMA systems is now enabled by default.  As is usually the case when new code is deployed in a diverse array of systems and workloads, a number of problems since have been identified. We are working on resolving them as soon as possible to ensure the quality of the release.<br>
I’m passionate about maintaining FreeBSD’s stability and dependability as it continues to expand and grow new features, and I’m grateful to the FreeBSD Foundation for sponsoring this work.  We depend on users to report problems to the mailing lists and via the bug tracker, so please try running the 12.0 candidate builds and help us make 12.0 a great release.</p>
</blockquote>

<ul>
<li>Fundraising Update: Supporting the Project</li>
</ul>

<blockquote>
<p>It’s officially Fall here at Foundation headquarters and we’re heading full-steam into our final fundraising campaign of the year. We couldn’t even have begun to reach our funding goal of $1.25 million dollars without the support from the companies who have partnered with us this year. Thank you to Verisign for becoming a Silver Partner. They now join a growing list of companies like Xiplink, NetApp, Microsoft, Tarsnap, VMware, and NeoSmart Technologies that are stepping up and showing their commitment to FreeBSD!<br>
Funding from commercial users like these and individual users like yourself, help us continue our efforts of supporting critical areas of FreeBSD such as:</p>
</blockquote>

<ul>
<li>Operating System Improvements: Providing staff to immediately respond to urgent problems and implement new features and functionality allowing for the innovation and stability you’ve come to rely on.</li>
<li>Security: Providing engineering resources to bolster the capacity and responsiveness of the Security team providing your users with piece of mind when security issues arise.</li>
<li>Release Engineering: Continue providing a full-time release engineer, resulting in timely and reliable releases you can plan around.</li>
<li>Quality Assurance: Improving and increasing test coverage, continuous integration, and automated testing with a full-time software engineer to ensure you receive the highest quality, secure, and reliable operating system.</li>
<li>New User Experience: Improving the process and documentation for getting new people involved with FreeBSD, and supporting those people as they become integrated into the FreeBSD Community providing the resources you may need to get new folks up to speed.</li>
<li>Training: Supporting more FreeBSD training for undergraduates, graduates, and postgraduates. Growing the community means reaching people and catching their interest in systems software as early as possible and providing you with a bigger pool of candidates with the FreeBSD skills you’re looking for.</li>
<li>Face-to-Face Opportunities: Facilitating collaboration among members of the community, and building connections throughout the industry to support a healthy and growing ecosystem and make it easier for you to find resources when questions emerge .</li>
</ul>

<blockquote>
<p>We can continue the above work, if we meet our goal this year!<br>
If your company uses FreeBSD, please consider joining our growing list of 2018 partners. If you haven’t made your donation yet, please consider donating today. We are indebted to the individual donors, and companies listed above who have already shown their commitment to open source.<br>
Thank you for supporting FreeBSD and the Foundation!</p>
</blockquote>

<ul>
<li>September 2018 Release Engineering Update</li>
</ul>

<blockquote>
<p>The FreeBSD Release Engineering team continued working on the upcoming 12.0 RELEASE.  At present, the 12.0 schedule had been adjusted by one week to allow for necessary works-in-progress to be completed.<br>
Of note, one of the works-in-progress includes updating OpenSSL from 1.0.2 to 1.1.1, in order to avoid breaking the application binary interface (ABI) on an established stable branch.<br>
Due to the level of non-trivial intrusiveness that had already been discovered and addressed in a project branch of the repository, it is possible (but not yet definite) that the schedule will need to be adjusted by another week to allow more time for larger and related updates for this particular update.<br>
Should the 12.0-RELEASE schedule need to be adjusted at any time during the release cycle, the schedule on the FreeBSD project website will be updated accordingly.  The current schedule is available at:<br>
<a href="https://www.freebsd.org/releases/12.0R/schedule.html" target="_blank" rel="nofollow noopener">https://www.freebsd.org/releases/12.0R/schedule.html</a></p>
</blockquote>

<ul>
<li>BSDCam 2018 Trip Report: Marie Helene Kvello-Aune</li>
</ul>

<blockquote>
<p>I’d like to start by thanking the FreeBSD Foundation for sponsoring my trip to BSDCam(bridge) 2018. I wouldn’t have managed to attend otherwise. I’ve used FreeBSD in both personal and professional deployments since the year 2000, and over the last few years I have become more involved with development and documentation.<br>
I arrived in Gatwick, London at midnight. On Monday, August 13,  I took the train to Cambridge, and decided to do some touristy activities as I walked from the train station to Churchill College. I ran into Allan outside the hotel right before the sky decided it was time for a heavy rainfall. Monday was mostly spent settling in, recouping after travel, and hanging out with Allan, Brad, Will and Andy later in the afternoon/evening. Read more…</p>
</blockquote>

<ul>
<li>Continuous Integration Update</li>
</ul>

<blockquote>
<p>The FreeBSD Foundation has sponsored the development of the Project’s continuous integration system, available at <a href="https://ci.FreeBSD.org" target="_blank" rel="nofollow noopener">https://ci.FreeBSD.org</a>, since June. Over the summer, we improved both the software and hardware infrastructure, and also added some new jobs for extending test coverage of the -CURRENT and -STABLE branches. Following are some highlights.</p>
</blockquote>

<ul>
<li>New Hardware</li>
</ul>

<blockquote>
<p>The Foundation purchased 4 new build machines for scaling up the computation power for the various test jobs. These newer, faster machines substantially speed up the time it takes to test amd64 builds, so that failing changes can be identified more quickly. Also, in August, we received a donation of 2 PINE A64-LTS boards from <a href="http://PINE64.org" target="_blank" rel="nofollow noopener">PINE64.org</a>, which will be put in the hardware test lab as one part of the continuous tests.</p>
</blockquote>

<ul>
<li>CI Staging Environment</li>
</ul>

<blockquote>
<p>We used hardware from a previous generation CI system to build a staging environment for the CI infrastructure, which is available at<br>
<a href="https://ci-dev.freebsd.org" target="_blank" rel="nofollow noopener">https://ci-dev.freebsd.org</a>. It executes the configurations and scripts from the “staging” branch of the FreeBSD-CI repository, and the development feature branches. We also use it to experiment with the new version of the jenkins server and plugins. Having a staging environment avoids affecting the production CI environment, reducing downtime.</p>
</blockquote>

<ul>
<li>Mail Notification</li>
</ul>

<blockquote>
<p>In July, we turned on failure notification for all the kernel and world build jobs. Committers will receive email containing the build information and failure log to inform them of possible problems with their modification on certain architectures. For amd64 of the -CURRENT branch, we also enabled the notification on failing regression test cases. Currently mail is sent only to the individual committers, but with help from postmaster team, we have created a dev-ci mailing list and will soon be also sending notifications there.</p>
</blockquote>

<ul>
<li>New Test Job</li>
</ul>

<blockquote>
<p>In August, we updated the embedded script of the virtual machine image. Originally it only executed pre-defined tests, but now this behavior can be modified by the data on the attached disk. This mechanism is used for adding new ZFS tests jobs. We are also working on analyzing and fixing the failing and skipped test cases.</p>
</blockquote>

<ul>
<li>Work in Progress</li>
</ul>

<blockquote>
<p>In August and September, we had two developer summits, one in Cambridge, UK and one in Bucharest, Romania. In these meetings, we discussed running special tests, such as ztest,  which need a longer run time. We also planned the network testing for TCP/IP stack</p>
</blockquote>

<hr>

<p>###<a href="https://chaoticlab.io/c/c++/unix/2018/10/01/daemonize.html" target="_blank" rel="nofollow noopener">Daemonize - a Tiny C Library for Programming the UNIX Daemons</a></p>

<blockquote>
<p>Whatever they say, writing System-V style UNIX daemons is hard. One has to follow many rules to make a daemon process behave correctly on diverse UNIX flavours. Moreover, debugging such a code might be somewhat tricky. On the other hand, the process of daemon initialisation is rigid and well defined so the corresponding code has to be written and debugged once and later can be reused countless number of times.<br>
Developers of BSD UNIX were very aware of this, as there a C library function daemon() was available starting from version 4.4. The function, although non-standard, is present on many UNIXes. Unfortunately, it does not follow all the required steps to reliably run a process in the background on systems which follow System-V semantics (e.g. Linux). The details are available at the corresponding Linux man page. The main problem here, as I understand it, is that daemon() does not use the double-forking technique to avoid the situation when zombie processes appear.<br>
Whenever I encounter a problem like this one, I know it is time to write a tiny C library which solves it. This is exactly how ‘daemonize’ was born (GitHub mirror). The library consists of only two files which are meant to be integrated into the source tree of your project. Recently I have updated the library and realised that it would be good to describe how to use it on this site.<br>
If for some reason you want to make a Windows service, I have a battle tested template code for you as well.</p>
</blockquote>

<ul>
<li>System-V Daemon Initialisation Procedure</li>
</ul>

<blockquote>
<p>To make discussion clear we shall quote the steps which have to be performed during a daemon initialisation (according to daemon(7) manual page on Linux). I do it to demonstrate that this task is more tricky than one might expect.</p>
</blockquote>

<ul>
<li>
<p>So, here we go:</p>
</li>
<li>
<p>Close all open file descriptors except standard input, output, and error (i.e. the first three file descriptors 0, 1, 2). This ensures that no accidentally passed file descriptor stays around in the daemon process. On Linux, this is best implemented by iterating through /proc/self/fd, with a fallback of iterating from file descriptor 3 to the value returned by getrlimit() for RLIMIT_NOFILE.</p>
</li>
<li>
<p>Reset all signal handlers to their default. This is best done by iterating through the available signals up to the limit of _NSIG and resetting them to SIG_DFL.</p>
</li>
<li>
<p>Reset the signal mask using sigprocmask().</p>
</li>
<li>
<p>Sanitize the environment block, removing or resetting environment variables that might negatively impact daemon runtime.</p>
</li>
<li>
<p>Call fork(), to create a background process.</p>
</li>
<li>
<p>In the child, call setsid() to detach from any terminal and create an independent session.</p>
</li>
<li>
<p>In the child, call fork() again, to ensure that the daemon can never re-acquire a terminal again.</p>
</li>
<li>
<p>Call exit() in the first child, so that only the second child (the actual daemon process) stays around. This ensures that the daemon process is re-parented to init/PID 1, as all daemons should be.</p>
</li>
<li>
<p>In the daemon process, connect /dev/null to standard input, output, and error.</p>
</li>
<li>
<p>In the daemon process, reset the umask to 0, so that the file modes passed to open(), mkdir() and suchlike directly control the access mode of the created files and directories.</p>
</li>
<li>
<p>In the daemon process, change the current directory to the root directory (/), in order to avoid that the daemon involuntarily blocks mount points from being unmounted.</p>
</li>
<li>
<p>In the daemon process, write the daemon PID (as returned by getpid()) to a PID file, for example /run/foobar.pid (for a hypothetical daemon “foobar”) to ensure that the daemon cannot be started more than once. This must be implemented in race-free fashion so that the PID file is only updated when it is verified at the same time that the PID previously stored in the PID file no longer exists or belongs to a foreign process.</p>
</li>
<li>
<p>In the daemon process, drop privileges, if possible and applicable.</p>
</li>
<li>
<p>From the daemon process, notify the original process started that initialization is complete. This can be implemented via an unnamed pipe or similar communication channel that is created before the first fork() and hence available in both the original and the daemon process.</p>
</li>
<li>
<p>Call exit() in the original process. The process that invoked the daemon must be able to rely on that this exit() happens after initialization is complete and all external communication channels are established and accessible.</p>
</li>
</ul>

<blockquote>
<p>The discussed library does most of the above-mentioned initialisation steps as it becomes immediately evident that implementation details for some of them heavily dependent on the internal logic of an application itself, so it is not possible to implement them in a universal library. I believe it is not a flaw, though, as the missed parts are safe to implement in an application code.</p>
</blockquote>

<ul>
<li>The Library’s Application Programming Interface</li>
</ul>

<blockquote>
<p>The generic programming interface was loosely modelled after above-mentioned BSD’s daemon() function. The library provides two user available functions (one is, in fact, implemented on top of the other) as well as a set of flags to control a daemon creation behaviour.</p>
</blockquote>

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

<blockquote>
<p>The objective of the library is to hide all the trickery of programming a daemon so you could concentrate on the more creative parts of your application. I hope it does this well.<br>
If you are not only interested in writing a daemon, but also want to make yourself familiar with the techniques which are used to accomplish that, the source code is available. Moreover, I would advise anyone, who starts developing for a UNIX environment to do that, as it shows many intricacies of programming for these platforms.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://blog.netbsd.org/tnf/entry/eurobsdcon_2018" target="_blank" rel="nofollow noopener">EuroBSDCon 2018 travel report and obligatory pics</a></p>

<blockquote>
<p>This was my first big BSD conference. We also planned - planned might be a big word - thought about doing a devsummit on Friday. Since the people who were in charge of that had a change of plans, I was sure it’d go horribly wrong.<br>
The day before the devsummit and still in the wrong country, I mentioned the hours and venue on the wiki, and booked a reservation for a restaurant.<br>
It turns out that everything was totally fine, and since the devsummit was at the conference venue (that was having tutorials that day), they even had signs pointing at the room we were given. Thanks EuroBSDCon conference organizers!<br>
At the devsummit, we spent some time hacking. A few people came with “travel laptops” without access to anything, like Riastradh, so I gave him access to my own laptop. This didn’t hold very long and I kinda forgot about it, but for a few moments he had access to a NetBSD source tree and an 8 thread, 16GB RAM machine with which to build things.<br>
We had a short introduction and I suggested we take some pictures, so here’s the ones we got. A few people were concerned about privacy, so they’re not pictured. We had small team to hold the camera :-)<br>
At the actual conference days, I stayed at the speaker hotel with the other speakers. I’ve attempted to make conversation with some visibly FreeBSD/OpenBSD people, but didn’t have plans to talk about anything, so there was a lot of just following people silently.<br>
Perhaps for the next conference I’ll prepare a list of questions to random BSD people and then very obviously grab a piece of paper and ask, “what was…”, read a bit from it, and say, “your latest kernel panic?”, I’m sure it’ll be a great conversation starter.<br>
At the conference itself, was pretty cool to have folks like Kirk McKusick give first person accounts of some past events (Kirk gave a talk about governance at FreeBSD), or the second keynote by Ron Broersma.<br>
My own talk was hastily prepared, it was difficult to bring the topic together into a coherent talk. Nevertheless, I managed to talk about stuff for a while 40 minutes, though usually I skip over so many details that I have trouble putting together a sufficiently long talk.<br>
I mentioned some of my coolest bugs to solve (I should probably make a separate article about some!). A few people asked for the slides after the talk, so I guess it wasn’t totally incoherent.<br>
It was really fun to meet some of my favourite NetBSD people. I got to show off my now fairly well working laptop (it took a lot of work by all of us!).<br>
After the conference I came back with a conference cold, and it took a few days to recover from it. Hopefully I didn’t infect too many people on the way back.</p>
</blockquote>

<hr>

<p>###<a href="https://panoramacircle.com/2018/09/23/ghostbsd-tested-on-real-hardware-t410-better-than-trueos/" target="_blank" rel="nofollow noopener">GhostBSD tested on real hardware T410 – better than TrueOS?</a></p>

<blockquote>
<p>You might have heard about FreeBSD which is ultimately derived from UNIX back in the days. It is not Linux even though it is similar in many ways because Linux was designed to follow UNIX principles. Seeing is believing, so check out the video of the install and some apps as well!</p>
</blockquote>

<blockquote>
<p>Nowadays if you want some of that BSD on your personal desktop how to go about? Well there is a full package or distro called GhostBSD which is based on FreeBSD current with a Mate or XFCE desktop preconfigured. I did try another package called TrueOS before and you can check out my blog post as well.</p>
</blockquote>

<blockquote>
<p>Let’s give it a try on my Lenovo ThinkPad T410. You can download the latest version from <a href="http://ghostbsd.org" target="_blank" rel="nofollow noopener">ghostbsd.org</a>. Creating a bootable USB drive was surprisingly difficult as rufus did not work and created a corrupted drive. You have to follow this procedure under Windows: download the 2.5GB .iso file and rename the extension to .img. Download Win32 Disk imager and burn the img file to an USB drive and boot from it. You will be able to start a live session and use the onboard setup to install GhostBSD unto a disk.</p>
</blockquote>

<blockquote>
<p>I did encounter some bugs or quirks along the way. The installer failed the first time for some unknown reason but worked on the second attempt. The first boot stopped upon initialization of the USB3 ports (the T410 does not have USB3) but I could use some ‘exit’ command line magic to continue. The second boot worked fine. Audio was only available through headphones, not speakers but that could partially be fixed using the command line again. Lot’s of installed apps did not show up in the start menu and on goes the quirks list.</p>
</blockquote>

<blockquote>
<p>Overall it is still better than TrueOS for me because drivers did work very well and I could address most of the existing bugs.</p>
</blockquote>

<ul>
<li>
<p>On the upside:</p>
</li>
<li>
<p>Free and open source FreeBSD package ready to go</p>
</li>
<li>
<p>Mate or XFCE desktop (Mate is the only option for daily builds)</p>
</li>
<li>
<p>Drivers work fine including LAN, WiFi, video 2D &amp; 3D, audio, etc</p>
</li>
<li>
<p>UFS or ZFS advanced file systems available</p>
</li>
<li>
<p>Some downsides:</p>
</li>
<li>
<p>Less driver and direct app support than Linux</p>
</li>
<li>
<p>Installer and desktop have some quirks and bugs</p>
</li>
<li>
<p>App-store is cumbersome, inferior to TrueOS</p>
</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/eurobsdcon_2018_and_netbsd_sanitizers" target="_blank" rel="nofollow noopener">EuroBSDCon 2018 and NetBSD sanitizers</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20181002175838" target="_blank" rel="nofollow noopener">New mandoc feature: -T html -O toc</a></li>
<li><a href="https://www.geeklan.co.uk/?p=2307" target="_blank" rel="nofollow noopener">EuroBSDcon 2018</a></li>
<li><a href="https://oshogbo.vexillium.org/blog/55/" target="_blank" rel="nofollow noopener">Polish BSD User Group</a></li>
<li><a href="https://garbage.fm/episodes/43" target="_blank" rel="nofollow noopener">garbage[43]: What year is it?</a></li>
<li><a href="https://thedemoat50.org/" target="_blank" rel="nofollow noopener">The Demo @ 50</a></li>
<li><a href="https://youtu.be/tG8R5SQGPck?t=660" target="_blank" rel="nofollow noopener">Microsoft ports DTrace from FreeBSD to Windows 10</a></li>
<li><a href="https://twitter.com/openbsd" target="_blank" rel="nofollow noopener">OpenBSD joins Twitter</a></li>
<li><a href="https://roy.marples.name/blog/netbsd-curses-ripoffline-improvements" target="_blank" rel="nofollow noopener">NetBSD curses ripoffline improvements</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2018-October/089717.html" target="_blank" rel="nofollow noopener">FCP-0101: Deprecating most 10/100 Ethernet drivers</a></li>
<li><a href="https://mail-index.netbsd.org/tech-pkg/2018/10/05/msg020326.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc-2018Q3 release</a></li>
<li><a href="http://www.netzbasis.de/openbsd/vmd-debian/index.html" target="_blank" rel="nofollow noopener">Debian on OpenBSD vmd (without qemu or another debian system)</a></li>
<li><a href="https://github.com/jcs/login_duress" target="_blank" rel="nofollow noopener">A BSD authentication module for duress passwords (Joshua Stein)</a></li>
<li><a href="https://twitter.com/oshogbovx/status/1019334534935007232?s=03" target="_blank" rel="nofollow noopener">Disk Price/Performance Analysis</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>DJ - <a href="http://dpaste.com/0YV8WC6#wrap" target="_blank" rel="nofollow noopener">Zombie ZFS</a></li>
<li>Josua - <a href="http://dpaste.com/25B1EA8" target="_blank" rel="nofollow noopener">arm tier 1? how to approach it</a></li>
<li>-Gamah - <a href="http://dpaste.com/2SMSGPB" target="_blank" rel="nofollow noopener">5ghz</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Foundation September Update, tiny C lib for programming Unix daemons, EuroBSDcon trip reports, GhostBSD tested on real hardware, and a BSD auth module for duress.</p>

<p>##Headlines<br>
###<a href="https://www.freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-september-2018/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Update, September 2018</a></p>

<ul>
<li>MESSAGE FROM THE EXECUTIVE DIRECTOR</li>
</ul>

<blockquote>
<p>Dear FreeBSD Community Member, It is hard to believe that September is over. The Foundation team had a busy month promoting FreeBSD all over the globe, bug fixing in preparation for 12.0, and setting plans in motion to kick off our 4th quarter fundraising and advocacy efforts. Take a minute to see what we’ve been up to and please consider making a donation to help us continue our efforts supporting FreeBSD!</p>
</blockquote>

<ul>
<li>September 2018 Development Projects Update</li>
</ul>

<blockquote>
<p>In preparation for the release of FreeBSD 12.0, I have been working on investigating and fixing a backlog of kernel bug reports.  Of course, this kind of work is never finished, and we will continue to make progress after the release.  In the past couple of months I have fixed a combination of long-standing issues and recent regressions.  Of note are a pair of UNIX domain socket bugs which had been affecting various applications for years.  In particular, Chromium tabs would frequently hang unless a workaround was manually applied to the system, and the bug had started affecting recent versions of Firefox as well.  Fixing these issues gave me an opportunity to revisit and extend our regression testing for UNIX sockets, which, in turn, resulted in some related bugs being identified and fixed.<br>
Of late I have also been investigating reports of issues with ZFS, particularly, those reported on FreeBSD 11.2.  A number of regressions, including a kernel memory leak and issues with ARC reclamation, have already been fixed for 12.0; investigation of other reports is ongoing. Those who closely follow FreeBSD-CURRENT know that some exciting work to improve memory usage on NUMA systems is now enabled by default.  As is usually the case when new code is deployed in a diverse array of systems and workloads, a number of problems since have been identified. We are working on resolving them as soon as possible to ensure the quality of the release.<br>
I’m passionate about maintaining FreeBSD’s stability and dependability as it continues to expand and grow new features, and I’m grateful to the FreeBSD Foundation for sponsoring this work.  We depend on users to report problems to the mailing lists and via the bug tracker, so please try running the 12.0 candidate builds and help us make 12.0 a great release.</p>
</blockquote>

<ul>
<li>Fundraising Update: Supporting the Project</li>
</ul>

<blockquote>
<p>It’s officially Fall here at Foundation headquarters and we’re heading full-steam into our final fundraising campaign of the year. We couldn’t even have begun to reach our funding goal of $1.25 million dollars without the support from the companies who have partnered with us this year. Thank you to Verisign for becoming a Silver Partner. They now join a growing list of companies like Xiplink, NetApp, Microsoft, Tarsnap, VMware, and NeoSmart Technologies that are stepping up and showing their commitment to FreeBSD!<br>
Funding from commercial users like these and individual users like yourself, help us continue our efforts of supporting critical areas of FreeBSD such as:</p>
</blockquote>

<ul>
<li>Operating System Improvements: Providing staff to immediately respond to urgent problems and implement new features and functionality allowing for the innovation and stability you’ve come to rely on.</li>
<li>Security: Providing engineering resources to bolster the capacity and responsiveness of the Security team providing your users with piece of mind when security issues arise.</li>
<li>Release Engineering: Continue providing a full-time release engineer, resulting in timely and reliable releases you can plan around.</li>
<li>Quality Assurance: Improving and increasing test coverage, continuous integration, and automated testing with a full-time software engineer to ensure you receive the highest quality, secure, and reliable operating system.</li>
<li>New User Experience: Improving the process and documentation for getting new people involved with FreeBSD, and supporting those people as they become integrated into the FreeBSD Community providing the resources you may need to get new folks up to speed.</li>
<li>Training: Supporting more FreeBSD training for undergraduates, graduates, and postgraduates. Growing the community means reaching people and catching their interest in systems software as early as possible and providing you with a bigger pool of candidates with the FreeBSD skills you’re looking for.</li>
<li>Face-to-Face Opportunities: Facilitating collaboration among members of the community, and building connections throughout the industry to support a healthy and growing ecosystem and make it easier for you to find resources when questions emerge .</li>
</ul>

<blockquote>
<p>We can continue the above work, if we meet our goal this year!<br>
If your company uses FreeBSD, please consider joining our growing list of 2018 partners. If you haven’t made your donation yet, please consider donating today. We are indebted to the individual donors, and companies listed above who have already shown their commitment to open source.<br>
Thank you for supporting FreeBSD and the Foundation!</p>
</blockquote>

<ul>
<li>September 2018 Release Engineering Update</li>
</ul>

<blockquote>
<p>The FreeBSD Release Engineering team continued working on the upcoming 12.0 RELEASE.  At present, the 12.0 schedule had been adjusted by one week to allow for necessary works-in-progress to be completed.<br>
Of note, one of the works-in-progress includes updating OpenSSL from 1.0.2 to 1.1.1, in order to avoid breaking the application binary interface (ABI) on an established stable branch.<br>
Due to the level of non-trivial intrusiveness that had already been discovered and addressed in a project branch of the repository, it is possible (but not yet definite) that the schedule will need to be adjusted by another week to allow more time for larger and related updates for this particular update.<br>
Should the 12.0-RELEASE schedule need to be adjusted at any time during the release cycle, the schedule on the FreeBSD project website will be updated accordingly.  The current schedule is available at:<br>
<a href="https://www.freebsd.org/releases/12.0R/schedule.html" target="_blank" rel="nofollow noopener">https://www.freebsd.org/releases/12.0R/schedule.html</a></p>
</blockquote>

<ul>
<li>BSDCam 2018 Trip Report: Marie Helene Kvello-Aune</li>
</ul>

<blockquote>
<p>I’d like to start by thanking the FreeBSD Foundation for sponsoring my trip to BSDCam(bridge) 2018. I wouldn’t have managed to attend otherwise. I’ve used FreeBSD in both personal and professional deployments since the year 2000, and over the last few years I have become more involved with development and documentation.<br>
I arrived in Gatwick, London at midnight. On Monday, August 13,  I took the train to Cambridge, and decided to do some touristy activities as I walked from the train station to Churchill College. I ran into Allan outside the hotel right before the sky decided it was time for a heavy rainfall. Monday was mostly spent settling in, recouping after travel, and hanging out with Allan, Brad, Will and Andy later in the afternoon/evening. Read more…</p>
</blockquote>

<ul>
<li>Continuous Integration Update</li>
</ul>

<blockquote>
<p>The FreeBSD Foundation has sponsored the development of the Project’s continuous integration system, available at <a href="https://ci.FreeBSD.org" target="_blank" rel="nofollow noopener">https://ci.FreeBSD.org</a>, since June. Over the summer, we improved both the software and hardware infrastructure, and also added some new jobs for extending test coverage of the -CURRENT and -STABLE branches. Following are some highlights.</p>
</blockquote>

<ul>
<li>New Hardware</li>
</ul>

<blockquote>
<p>The Foundation purchased 4 new build machines for scaling up the computation power for the various test jobs. These newer, faster machines substantially speed up the time it takes to test amd64 builds, so that failing changes can be identified more quickly. Also, in August, we received a donation of 2 PINE A64-LTS boards from <a href="http://PINE64.org" target="_blank" rel="nofollow noopener">PINE64.org</a>, which will be put in the hardware test lab as one part of the continuous tests.</p>
</blockquote>

<ul>
<li>CI Staging Environment</li>
</ul>

<blockquote>
<p>We used hardware from a previous generation CI system to build a staging environment for the CI infrastructure, which is available at<br>
<a href="https://ci-dev.freebsd.org" target="_blank" rel="nofollow noopener">https://ci-dev.freebsd.org</a>. It executes the configurations and scripts from the “staging” branch of the FreeBSD-CI repository, and the development feature branches. We also use it to experiment with the new version of the jenkins server and plugins. Having a staging environment avoids affecting the production CI environment, reducing downtime.</p>
</blockquote>

<ul>
<li>Mail Notification</li>
</ul>

<blockquote>
<p>In July, we turned on failure notification for all the kernel and world build jobs. Committers will receive email containing the build information and failure log to inform them of possible problems with their modification on certain architectures. For amd64 of the -CURRENT branch, we also enabled the notification on failing regression test cases. Currently mail is sent only to the individual committers, but with help from postmaster team, we have created a dev-ci mailing list and will soon be also sending notifications there.</p>
</blockquote>

<ul>
<li>New Test Job</li>
</ul>

<blockquote>
<p>In August, we updated the embedded script of the virtual machine image. Originally it only executed pre-defined tests, but now this behavior can be modified by the data on the attached disk. This mechanism is used for adding new ZFS tests jobs. We are also working on analyzing and fixing the failing and skipped test cases.</p>
</blockquote>

<ul>
<li>Work in Progress</li>
</ul>

<blockquote>
<p>In August and September, we had two developer summits, one in Cambridge, UK and one in Bucharest, Romania. In these meetings, we discussed running special tests, such as ztest,  which need a longer run time. We also planned the network testing for TCP/IP stack</p>
</blockquote>

<hr>

<p>###<a href="https://chaoticlab.io/c/c++/unix/2018/10/01/daemonize.html" target="_blank" rel="nofollow noopener">Daemonize - a Tiny C Library for Programming the UNIX Daemons</a></p>

<blockquote>
<p>Whatever they say, writing System-V style UNIX daemons is hard. One has to follow many rules to make a daemon process behave correctly on diverse UNIX flavours. Moreover, debugging such a code might be somewhat tricky. On the other hand, the process of daemon initialisation is rigid and well defined so the corresponding code has to be written and debugged once and later can be reused countless number of times.<br>
Developers of BSD UNIX were very aware of this, as there a C library function daemon() was available starting from version 4.4. The function, although non-standard, is present on many UNIXes. Unfortunately, it does not follow all the required steps to reliably run a process in the background on systems which follow System-V semantics (e.g. Linux). The details are available at the corresponding Linux man page. The main problem here, as I understand it, is that daemon() does not use the double-forking technique to avoid the situation when zombie processes appear.<br>
Whenever I encounter a problem like this one, I know it is time to write a tiny C library which solves it. This is exactly how ‘daemonize’ was born (GitHub mirror). The library consists of only two files which are meant to be integrated into the source tree of your project. Recently I have updated the library and realised that it would be good to describe how to use it on this site.<br>
If for some reason you want to make a Windows service, I have a battle tested template code for you as well.</p>
</blockquote>

<ul>
<li>System-V Daemon Initialisation Procedure</li>
</ul>

<blockquote>
<p>To make discussion clear we shall quote the steps which have to be performed during a daemon initialisation (according to daemon(7) manual page on Linux). I do it to demonstrate that this task is more tricky than one might expect.</p>
</blockquote>

<ul>
<li>
<p>So, here we go:</p>
</li>
<li>
<p>Close all open file descriptors except standard input, output, and error (i.e. the first three file descriptors 0, 1, 2). This ensures that no accidentally passed file descriptor stays around in the daemon process. On Linux, this is best implemented by iterating through /proc/self/fd, with a fallback of iterating from file descriptor 3 to the value returned by getrlimit() for RLIMIT_NOFILE.</p>
</li>
<li>
<p>Reset all signal handlers to their default. This is best done by iterating through the available signals up to the limit of _NSIG and resetting them to SIG_DFL.</p>
</li>
<li>
<p>Reset the signal mask using sigprocmask().</p>
</li>
<li>
<p>Sanitize the environment block, removing or resetting environment variables that might negatively impact daemon runtime.</p>
</li>
<li>
<p>Call fork(), to create a background process.</p>
</li>
<li>
<p>In the child, call setsid() to detach from any terminal and create an independent session.</p>
</li>
<li>
<p>In the child, call fork() again, to ensure that the daemon can never re-acquire a terminal again.</p>
</li>
<li>
<p>Call exit() in the first child, so that only the second child (the actual daemon process) stays around. This ensures that the daemon process is re-parented to init/PID 1, as all daemons should be.</p>
</li>
<li>
<p>In the daemon process, connect /dev/null to standard input, output, and error.</p>
</li>
<li>
<p>In the daemon process, reset the umask to 0, so that the file modes passed to open(), mkdir() and suchlike directly control the access mode of the created files and directories.</p>
</li>
<li>
<p>In the daemon process, change the current directory to the root directory (/), in order to avoid that the daemon involuntarily blocks mount points from being unmounted.</p>
</li>
<li>
<p>In the daemon process, write the daemon PID (as returned by getpid()) to a PID file, for example /run/foobar.pid (for a hypothetical daemon “foobar”) to ensure that the daemon cannot be started more than once. This must be implemented in race-free fashion so that the PID file is only updated when it is verified at the same time that the PID previously stored in the PID file no longer exists or belongs to a foreign process.</p>
</li>
<li>
<p>In the daemon process, drop privileges, if possible and applicable.</p>
</li>
<li>
<p>From the daemon process, notify the original process started that initialization is complete. This can be implemented via an unnamed pipe or similar communication channel that is created before the first fork() and hence available in both the original and the daemon process.</p>
</li>
<li>
<p>Call exit() in the original process. The process that invoked the daemon must be able to rely on that this exit() happens after initialization is complete and all external communication channels are established and accessible.</p>
</li>
</ul>

<blockquote>
<p>The discussed library does most of the above-mentioned initialisation steps as it becomes immediately evident that implementation details for some of them heavily dependent on the internal logic of an application itself, so it is not possible to implement them in a universal library. I believe it is not a flaw, though, as the missed parts are safe to implement in an application code.</p>
</blockquote>

<ul>
<li>The Library’s Application Programming Interface</li>
</ul>

<blockquote>
<p>The generic programming interface was loosely modelled after above-mentioned BSD’s daemon() function. The library provides two user available functions (one is, in fact, implemented on top of the other) as well as a set of flags to control a daemon creation behaviour.</p>
</blockquote>

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

<blockquote>
<p>The objective of the library is to hide all the trickery of programming a daemon so you could concentrate on the more creative parts of your application. I hope it does this well.<br>
If you are not only interested in writing a daemon, but also want to make yourself familiar with the techniques which are used to accomplish that, the source code is available. Moreover, I would advise anyone, who starts developing for a UNIX environment to do that, as it shows many intricacies of programming for these platforms.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://blog.netbsd.org/tnf/entry/eurobsdcon_2018" target="_blank" rel="nofollow noopener">EuroBSDCon 2018 travel report and obligatory pics</a></p>

<blockquote>
<p>This was my first big BSD conference. We also planned - planned might be a big word - thought about doing a devsummit on Friday. Since the people who were in charge of that had a change of plans, I was sure it’d go horribly wrong.<br>
The day before the devsummit and still in the wrong country, I mentioned the hours and venue on the wiki, and booked a reservation for a restaurant.<br>
It turns out that everything was totally fine, and since the devsummit was at the conference venue (that was having tutorials that day), they even had signs pointing at the room we were given. Thanks EuroBSDCon conference organizers!<br>
At the devsummit, we spent some time hacking. A few people came with “travel laptops” without access to anything, like Riastradh, so I gave him access to my own laptop. This didn’t hold very long and I kinda forgot about it, but for a few moments he had access to a NetBSD source tree and an 8 thread, 16GB RAM machine with which to build things.<br>
We had a short introduction and I suggested we take some pictures, so here’s the ones we got. A few people were concerned about privacy, so they’re not pictured. We had small team to hold the camera :-)<br>
At the actual conference days, I stayed at the speaker hotel with the other speakers. I’ve attempted to make conversation with some visibly FreeBSD/OpenBSD people, but didn’t have plans to talk about anything, so there was a lot of just following people silently.<br>
Perhaps for the next conference I’ll prepare a list of questions to random BSD people and then very obviously grab a piece of paper and ask, “what was…”, read a bit from it, and say, “your latest kernel panic?”, I’m sure it’ll be a great conversation starter.<br>
At the conference itself, was pretty cool to have folks like Kirk McKusick give first person accounts of some past events (Kirk gave a talk about governance at FreeBSD), or the second keynote by Ron Broersma.<br>
My own talk was hastily prepared, it was difficult to bring the topic together into a coherent talk. Nevertheless, I managed to talk about stuff for a while 40 minutes, though usually I skip over so many details that I have trouble putting together a sufficiently long talk.<br>
I mentioned some of my coolest bugs to solve (I should probably make a separate article about some!). A few people asked for the slides after the talk, so I guess it wasn’t totally incoherent.<br>
It was really fun to meet some of my favourite NetBSD people. I got to show off my now fairly well working laptop (it took a lot of work by all of us!).<br>
After the conference I came back with a conference cold, and it took a few days to recover from it. Hopefully I didn’t infect too many people on the way back.</p>
</blockquote>

<hr>

<p>###<a href="https://panoramacircle.com/2018/09/23/ghostbsd-tested-on-real-hardware-t410-better-than-trueos/" target="_blank" rel="nofollow noopener">GhostBSD tested on real hardware T410 – better than TrueOS?</a></p>

<blockquote>
<p>You might have heard about FreeBSD which is ultimately derived from UNIX back in the days. It is not Linux even though it is similar in many ways because Linux was designed to follow UNIX principles. Seeing is believing, so check out the video of the install and some apps as well!</p>
</blockquote>

<blockquote>
<p>Nowadays if you want some of that BSD on your personal desktop how to go about? Well there is a full package or distro called GhostBSD which is based on FreeBSD current with a Mate or XFCE desktop preconfigured. I did try another package called TrueOS before and you can check out my blog post as well.</p>
</blockquote>

<blockquote>
<p>Let’s give it a try on my Lenovo ThinkPad T410. You can download the latest version from <a href="http://ghostbsd.org" target="_blank" rel="nofollow noopener">ghostbsd.org</a>. Creating a bootable USB drive was surprisingly difficult as rufus did not work and created a corrupted drive. You have to follow this procedure under Windows: download the 2.5GB .iso file and rename the extension to .img. Download Win32 Disk imager and burn the img file to an USB drive and boot from it. You will be able to start a live session and use the onboard setup to install GhostBSD unto a disk.</p>
</blockquote>

<blockquote>
<p>I did encounter some bugs or quirks along the way. The installer failed the first time for some unknown reason but worked on the second attempt. The first boot stopped upon initialization of the USB3 ports (the T410 does not have USB3) but I could use some ‘exit’ command line magic to continue. The second boot worked fine. Audio was only available through headphones, not speakers but that could partially be fixed using the command line again. Lot’s of installed apps did not show up in the start menu and on goes the quirks list.</p>
</blockquote>

<blockquote>
<p>Overall it is still better than TrueOS for me because drivers did work very well and I could address most of the existing bugs.</p>
</blockquote>

<ul>
<li>
<p>On the upside:</p>
</li>
<li>
<p>Free and open source FreeBSD package ready to go</p>
</li>
<li>
<p>Mate or XFCE desktop (Mate is the only option for daily builds)</p>
</li>
<li>
<p>Drivers work fine including LAN, WiFi, video 2D &amp; 3D, audio, etc</p>
</li>
<li>
<p>UFS or ZFS advanced file systems available</p>
</li>
<li>
<p>Some downsides:</p>
</li>
<li>
<p>Less driver and direct app support than Linux</p>
</li>
<li>
<p>Installer and desktop have some quirks and bugs</p>
</li>
<li>
<p>App-store is cumbersome, inferior to TrueOS</p>
</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/eurobsdcon_2018_and_netbsd_sanitizers" target="_blank" rel="nofollow noopener">EuroBSDCon 2018 and NetBSD sanitizers</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20181002175838" target="_blank" rel="nofollow noopener">New mandoc feature: -T html -O toc</a></li>
<li><a href="https://www.geeklan.co.uk/?p=2307" target="_blank" rel="nofollow noopener">EuroBSDcon 2018</a></li>
<li><a href="https://oshogbo.vexillium.org/blog/55/" target="_blank" rel="nofollow noopener">Polish BSD User Group</a></li>
<li><a href="https://garbage.fm/episodes/43" target="_blank" rel="nofollow noopener">garbage[43]: What year is it?</a></li>
<li><a href="https://thedemoat50.org/" target="_blank" rel="nofollow noopener">The Demo @ 50</a></li>
<li><a href="https://youtu.be/tG8R5SQGPck?t=660" target="_blank" rel="nofollow noopener">Microsoft ports DTrace from FreeBSD to Windows 10</a></li>
<li><a href="https://twitter.com/openbsd" target="_blank" rel="nofollow noopener">OpenBSD joins Twitter</a></li>
<li><a href="https://roy.marples.name/blog/netbsd-curses-ripoffline-improvements" target="_blank" rel="nofollow noopener">NetBSD curses ripoffline improvements</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2018-October/089717.html" target="_blank" rel="nofollow noopener">FCP-0101: Deprecating most 10/100 Ethernet drivers</a></li>
<li><a href="https://mail-index.netbsd.org/tech-pkg/2018/10/05/msg020326.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc-2018Q3 release</a></li>
<li><a href="http://www.netzbasis.de/openbsd/vmd-debian/index.html" target="_blank" rel="nofollow noopener">Debian on OpenBSD vmd (without qemu or another debian system)</a></li>
<li><a href="https://github.com/jcs/login_duress" target="_blank" rel="nofollow noopener">A BSD authentication module for duress passwords (Joshua Stein)</a></li>
<li><a href="https://twitter.com/oshogbovx/status/1019334534935007232?s=03" target="_blank" rel="nofollow noopener">Disk Price/Performance Analysis</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>DJ - <a href="http://dpaste.com/0YV8WC6#wrap" target="_blank" rel="nofollow noopener">Zombie ZFS</a></li>
<li>Josua - <a href="http://dpaste.com/25B1EA8" target="_blank" rel="nofollow noopener">arm tier 1? how to approach it</a></li>
<li>-Gamah - <a href="http://dpaste.com/2SMSGPB" target="_blank" rel="nofollow noopener">5ghz</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 268: Netcat Demystified | BSD Now 268</title>
  <link>https://www.bsdnow.tv/268</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2721</guid>
  <pubDate>Wed, 17 Oct 2018 01:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/78b4306b-b0ac-4221-b4f4-60d2bde9628e.mp3" length="40587288" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>6 metrics for zpool performance, 2FA with ssh on OpenBSD, ZFS maintaining file type information in dirs, everything old is new again, netcat demystified, and more.</itunes:subtitle>
  <itunes:duration>1:07:20</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>&lt;p&gt;6 metrics for zpool performance, 2FA with ssh on OpenBSD, ZFS maintaining file type information in dirs, everything old is new again, netcat demystified, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://www.ixsystems.com/blog/zfs-pool-performance-1/" target="_blank" rel="nofollow noopener"&gt;Six Metrics for Measuring ZFS Pool Performance Part 1&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The layout of a ZFS storage pool has a significant impact on system performance under various workloads. Given the importance of picking the right configuration for your workload and the fact that making changes to an in-use ZFS pool is far from trivial, it is important for an administrator to understand the mechanics of pool performance when designing a storage system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;To quantify pool performance, we will consider six primary metrics:&lt;/li&gt;
&lt;li&gt;Read I/O operations per second (IOPS)&lt;/li&gt;
&lt;li&gt;Write IOPS&lt;/li&gt;
&lt;li&gt;Streaming read speed&lt;/li&gt;
&lt;li&gt;Streaming write speed&lt;/li&gt;
&lt;li&gt;Storage space efficiency (usable capacity after parity versus total raw capacity)&lt;/li&gt;
&lt;li&gt;Fault tolerance (maximum number of drives that can fail before data loss)&lt;/li&gt;
&lt;li&gt;For the sake of comparison, we’ll use an example system with 12 drives, each one sized at 6TB, and say that each drive does 100MB/s streaming reads and writes and can do 250 read and write IOPS. We will visualize how the data is spread across the drives by writing 12 multi-colored blocks, shown below. The blocks are written to the pool starting with the brown block on the left (number one), and working our way to the pink block on the right (number 12).&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Note that when we calculate data rates and IOPS values for the example system, they are only approximations. Many other factors can impact pool access speeds for better (compression, caching) or worse (poor CPU performance, not enough memory).&lt;br&gt;
There is no single configuration that maximizes all six metrics. Like so many things in life, our objective is to find an appropriate balance of the metrics to match a target workload. For example, a cold-storage backup system will likely want a pool configuration that emphasizes usable storage space and fault tolerance over the other data-rate focused metrics.&lt;br&gt;
Let’s start with a quick review of ZFS storage pools before diving into specific configuration options. ZFS storage pools are comprised of one or more virtual devices, or vdevs. Each vdev is comprised of one or more storage providers, typically physical hard disks. All disk-level redundancy is configured at the vdev level. That is, the RAID layout is set on each vdev as opposed to on the storage pool. Data written to the storage pool is then striped across all the vdevs. Because pool data is striped across the vdevs, the loss of any one vdev means total pool failure. This is perhaps the single most important fact to keep in mind when designing a ZFS storage system. We will circle back to this point in the next post, but keep it in mind as we go through the vdev configuration options.&lt;br&gt;
Because storage pools are made up of one or more vdevs with the pool data striped over the top, we’ll take a look at pool configuration in terms of various vdev configurations. There are three basic vdev configurations: striping, mirroring, and RAIDZ (which itself has three different varieties). The first section will cover striped and mirrored vdevs in this post; the second post will cover RAIDZ and some example scenarios.&lt;br&gt;
A striped vdev is the simplest configuration. Each vdev consists of a single disk with no redundancy. When several of these single-disk, striped vdevs are combined into a single storage pool, the total usable storage space would be the sum of all the drives. When you write data to a pool made of striped vdevs, the data is broken into small chunks called “blocks” and distributed across all the disks in the pool. The blocks are written in “round-robin” sequence, meaning after all the disks receive one row of blocks, called a stripe, it loops back around and writes another stripe under the first. A striped pool has excellent performance and storage space efficiency, but absolutely zero fault tolerance. If even a single drive in the pool fails, the entire pool will fail and all data stored on that pool will be lost.&lt;br&gt;
The excellent performance of a striped pool comes from the fact that all of the disks can work independently for all read and write operations. If you have a bunch of small read or write operations (IOPS), each disk can work independently to fetch the next block. For streaming reads and writes, each disk can fetch the next block in line synchronized with its neighbors. For example, if a given disk is fetching block n, its neighbor to the left can be fetching block n-1, and its neighbor to the right can be fetching block n+1. Therefore, the speed of all read and write operations as well as the quantity of read and write operations (IOPS) on a striped pool will scale with the number of vdevs. Note here that I said the speeds and IOPS scale with the number of vdevs rather than the number of drives; there’s a reason for this and we’ll cover it in the next post when we discuss RAID-Z.&lt;br&gt;
Here’s a summary of the total pool performance (where N is the number of disks in the pool):&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;N-wide striped:&lt;/li&gt;
&lt;li&gt;Read IOPS: N * Read IOPS of a single drive&lt;/li&gt;
&lt;li&gt;Write IOPS: N * Write IOPS of a single drive&lt;/li&gt;
&lt;li&gt;Streaming read speed: N * Streaming read speed of a single drive&lt;/li&gt;
&lt;li&gt;Streaming write speed: N * Streaming write speed of a single drive&lt;/li&gt;
&lt;li&gt;Storage space efficiency: 100%&lt;/li&gt;
&lt;li&gt;Fault tolerance: None!&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Let’s apply this to our example system, configured with a 12-wide striped pool:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;12-wide striped:&lt;/li&gt;
&lt;li&gt;Read IOPS: 3000&lt;/li&gt;
&lt;li&gt;Write IOPS: 3000&lt;/li&gt;
&lt;li&gt;Streaming read speed: 1200 MB/s&lt;/li&gt;
&lt;li&gt;Streaming write speed: 1200 MB/s&lt;/li&gt;
&lt;li&gt;Storage space efficiency: 72 TB&lt;/li&gt;
&lt;li&gt;Fault tolerance: None!&lt;/li&gt;
&lt;li&gt;Below is a visual depiction of our 12 rainbow blocks written to this pool configuration:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The blocks are simply striped across the 12 disks in the pool. The LBA column on the left stands for “Logical Block Address”. If we treat each disk as a column in an array, each LBA would be a row. It’s also easy to see that if any single disk fails, we would be missing a color in the rainbow and our data would be incomplete. While this configuration has fantastic read and write speeds and can handle a ton of IOPS, the data stored on the pool is very vulnerable. This configuration is not recommended unless you’re comfortable losing all of your pool’s data whenever any single drive fails.&lt;br&gt;
A mirrored vdev consists of two or more disks. A mirrored vdev stores an exact copy of all the data written to it on each one of its drives. Traditional RAID-1 mirrors usually only support two drive mirrors, but ZFS allows for more drives per mirror to increase redundancy and fault tolerance. All disks in a mirrored vdev have to fail for the vdev, and thus the whole pool, to fail. Total storage space will be equal to the size of a single drive in the vdev. If you’re using mismatched drive sizes in your mirrors, the total size will be that of the smallest drive in the mirror.&lt;br&gt;
Streaming read speeds and read IOPS on a mirrored vdev will be faster than write speeds and IOPS. When reading from a mirrored vdev, the drives can “divide and conquer” the operations, similar to what we saw above in the striped pool. This is because each drive in the mirror has an identical copy of the data. For write operations, all of the drives need to write a copy of the data, so the mirrored vdev will be limited to the streaming write speed and IOPS of a single disk.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Here’s a summary:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;N-way mirror:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Read IOPS: N * Read IOPS of a single drive&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Write IOPS: Write IOPS of a single drive&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Streaming read speed: N * Streaming read speed of a single drive&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Streaming write speed: Streaming write speed of a single drive&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Storage space efficiency: 50% for 2-way, 33% for 3-way, 25% for 4-way, etc. [(N-1)/N]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fault tolerance: 1 disk per vdev for 2-way, 2 for 3-way, 3 for 4-way, etc. [N-1]&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;For our first example configuration, let’s do something ridiculous and create a 12-way mirror. ZFS supports this kind of thing, but your management probably will not.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;1x 12-way mirror:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Read IOPS: 3000&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Write IOPS: 250&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Streaming read speed: 1200 MB/s&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Streaming write speed: 100 MB/s&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Storage space efficiency: 8.3% (6 TB)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fault tolerance: 11&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As we can clearly see from the diagram, every single disk in the vdev gets a full copy of our rainbow data. The chainlink icons between the disk labels in the column headers indicate the disks are part of a single vdev. We can lose up to 11 disks in this vdev and still have a complete rainbow. Of course, the data takes up far too much room on the pool, occupying a full 12 LBAs in the data array.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Obviously, this is far from the best use of 12 drives. Let’s do something a little more practical and configure the pool with the ZFS equivalent of RAID-10. We’ll configure six 2-way mirror vdevs. ZFS will stripe the data across all 6 of the vdevs. We can use the work we did in the striped vdev section to determine how the pool as a whole will behave. Let’s first calculate the performance per vdev, then we can work on the full pool:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;1x 2-way mirror:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Read IOPS: 500&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Write IOPS: 250&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Streaming read speed: 200 MB/s&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Streaming write speed: 100 MB/s&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Storage space efficiency: 50% (6 TB)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fault tolerance: 1&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Now we can pretend we have 6 drives with the performance statistics listed above and run them through our striped vdev performance calculator to get the total pool’s performance:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;6x 2-way mirror:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Read IOPS: 3000&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Write IOPS: 1500&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Streaming read speed: 3000 MB/s&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Streaming write speed: 1500 MB/s&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Storage space efficiency: 50% (36 TB)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fault tolerance: 1 per vdev, 6 total&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Again, we will examine the configuration from a visual perspective:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Each vdev gets a block of data and ZFS writes that data to all of (or in this case, both of) the disks in the mirror. As long as we have at least one functional disk in each vdev, we can retrieve our rainbow. As before, the chain link icons denote the disks are part of a single vdev. This configuration emphasizes performance over raw capacity but doesn’t totally disregard fault tolerance as our striped pool did. It’s a very popular configuration for systems that need a lot of fast I/O. Let’s look at one more example configuration using four 3-way mirrors. We’ll skip the individual vdev performance calculation and go straight to the full pool:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;4x 3-way mirror:&lt;/li&gt;
&lt;li&gt;Read IOPS: 3000&lt;/li&gt;
&lt;li&gt;Write IOPS: 1000&lt;/li&gt;
&lt;li&gt;Streaming read speed: 3000 MB/s&lt;/li&gt;
&lt;li&gt;Streaming write speed: 400 MB/s&lt;/li&gt;
&lt;li&gt;Storage space efficiency: 33% (24 TB)&lt;/li&gt;
&lt;li&gt;Fault tolerance: 2 per vdev, 8 total&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;While we have sacrificed some write performance and capacity, the pool is now extremely fault tolerant. This configuration is probably not practical for most applications and it would make more sense to use lower fault tolerance and set up an offsite backup system.&lt;br&gt;
Striped and mirrored vdevs are fantastic for access speed performance, but they either leave you with no redundancy whatsoever or impose at least a 50% penalty on the total usable space of your pool. In the next post, we will cover RAIDZ, which lets you keep data redundancy without sacrificing as much storage space efficiency. We’ll also look at some example workload scenarios and decide which layout would be the best fit for each.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://chown.me/blog/2FA-with-ssh-on-OpenBSD.html" target="_blank" rel="nofollow noopener"&gt;2FA with ssh on OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Five years ago I wrote about using a yubikey on OpenBSD. The only problem with doing this is that there’s no validation server available on OpenBSD, so you need to use a different OTP slot for each machine. (You don’t want to risk a replay attack if someone succeeds in capturing an OTP on one machine, right?) Yubikey has two OTP slots per device, so you would need a yubikey for every two machines with which you’d like to use it. You could use a bastion—and use only one yubikey—but I don’t like the SPOF aspect of a bastion. YMMV.&lt;br&gt;
After I played with TOTP, I wanted to use them as a 2FA for ssh. At the time of writing, we can’t do that using only the tools in base. This article focuses on OpenBSD; if you use another operating system, here are two handy links.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;SEED CONFIGURATION&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The first thing we need to do is to install the software which will be used to verify the OTPs we submit.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# pkg_add login_oath&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We need to create a secret - aka, the seed - that will be used to calculate the Time-based One-Time Passwords. We should make sure no one can read or change it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;$ openssl rand -hex 20 &amp;gt; ~/.totp-key&lt;/code&gt;&lt;br&gt;
&lt;code&gt;$ chmod 400 ~/.totp-key&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Now we have a hexadecimal key, but apps usually want a base32 secret. I initially wrote a small script to do the conversion.&lt;br&gt;
While writing this article, I took the opportunity to improve it. When I initially wrote this utility for my use, python-qrcode hadn’t yet been imported to the OpenBSD ports/packages system. It’s easy to install now, so let’s use it.&lt;br&gt;
Here’s the improved version. It will ask for the hex key and output the secret as a base32-encoded string, both with and without spacing so you can copy-paste it into your password manager or easily retype it. It will then ask for the information needed to generate a QR code. Adding our new OTP secret to any mobile app using the QR code will be super easy!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;SYSTEM CONFIGURATION&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We can now move to the configuration of the system to put our new TOTP to use. As you might guess, it’s going to be quite close to what we did with the yubikey.&lt;br&gt;
We need to tweak login.conf. Be careful and keep a root shell open at all times. The few times I broke my OpenBSD were because I messed with login.conf without showing enough care.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;SSHD CONFIGURATION&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Again, keeping a root shell around decreases the risk of losing access to the system and being locked outside.&lt;br&gt;
A good standard is to use PasswordAuthentication no and to use public key only. Except… have a guess what the P stands for in TOTP. Yes, congrats, you guessed it!&lt;br&gt;
We need to switch to PasswordAuthentication yes. However, if we made this change alone, sshd would then accept a public key OR a password (which are TOTP because of our login.conf). 2FA uses both at the same time.&lt;br&gt;
To inform sshd we intend to use both, we need to set AuthenticationMethods publickey,password. This way, the user trying to login will first need to perform the traditional publickey authentication. Once that’s done, ssh will prompt for a password and the user will need to submit a valid TOTP for the system.&lt;br&gt;
We could do this the other way around, but I think bots could try passwords, wasting resources. Evaluated in this order, failing to provide a public key leads to sshd immediately declining your attempt.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;IMPROVING SECURITY WITHOUT IMPACTING UX&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;My phone has a long enough password that most of the time, I fail to type it correctly on the first try. Of course, if I had to unlock my phone, launch my TOTP app and use my keyboard to enter what I see on my phone’s screen, I would quickly disable 2FA.&lt;br&gt;
To find a balance, I have whitelisted certain IP addresses and users. If I connect from a particular IP address or as a specific user, I don’t want to go through 2FA. For some users, I might not even enable 2FA.&lt;br&gt;
To sum up, we covered how to create a seed, how to perform a hexadecimal to base32 conversion and how to create a QR code for mobile applications. We configured the login system with login.conf so that ssh authentication uses the TOTP login system, and we told sshd to ask for both the public key and the Time-based One-Time Password. Now you should be all set to use two-factor ssh authentication on OpenBSD!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSAndDirectoryDType" target="_blank" rel="nofollow noopener"&gt;How ZFS maintains file type information in directories&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;As an aside in yesterday’s history of file type information being available in Unix directories, I mentioned that it was possible for a filesystem to support this even though its Unix didn’t. By supporting it, I mean that the filesystem maintains this information in its on disk format for directories, even though the rest of the kernel will never ask for it. This is what ZFS does.&lt;br&gt;
The easiest way to see that ZFS does this is to use zdb to dump a directory. I’m going to do this on an OmniOS machine, to make it more convincing, and it turns out that this has some interesting results. Since this is OmniOS, we don’t have the convenience of just naming a directory in zdb, so let’s find the root directory of a filesystem, starting from dnode 1 (as seen before).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# zdb -dddd fs3-corestaff-01/h/281 1&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Dataset [....]&lt;/code&gt;&lt;br&gt;
&lt;code&gt;[...]&lt;/code&gt;&lt;br&gt;
&lt;code&gt;microzap: 512 bytes, 4 entries&lt;/code&gt;&lt;br&gt;
&lt;code&gt;[...]&lt;/code&gt;&lt;br&gt;
&lt;code&gt;ROOT = 3&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;# zdb -dddd fs3-corestaff-01/h/281 3&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Object lvl iblk dblk dsize lsize %full type&lt;/code&gt;&lt;br&gt;
&lt;code&gt;3 1 16K 1K 8K 1K 100.00 ZFS directory&lt;/code&gt;&lt;br&gt;
&lt;code&gt;[...]&lt;/code&gt;&lt;br&gt;
&lt;code&gt;microzap: 1024 bytes, 8 entries&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;RESTORED = 4396504 (type: Directory)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;ckstst = 12017 (type: not specified)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;ckstst3 = 25069 (type: Directory)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;.demo-file = 5832188 (type: Regular File)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;.peergroup = 12590 (type: not specified)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;cks = 5 (type: not specified)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;cksimap1 = 5247832 (type: Directory)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;.diskuse = 12016 (type: not specified)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;ckstst2 = 12535 (type: not specified)&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This is actually an old filesystem (it dates from Solaris 10 and has been transferred around with ‘zfs send | zfs recv’ since then), but various home directories for real and test users have been created in it over time (you can probably guess which one is the oldest one). Sufficiently old directories and files have no file type information, but more recent ones have this information, including .demo-file, which I made just now so this would have an entry that was a regular file with type information.&lt;br&gt;
Once I dug into it, this turned out to be a change introduced (or activated) in ZFS filesystem version 2, which is described in ‘zfs upgrade -v’ as ‘enhanced directory entries’. As an actual change in (Open)Solaris, it dates from mid 2007, although I’m not sure what Solaris release it made it into. The upshot is that if you made your ZFS filesystem any time in the last decade, you’ll have this file type information in your directories.&lt;br&gt;
How ZFS stores this file type information is interesting and clever, especially when it comes to backwards compatibility. I’ll start by quoting the comment from zfs_znode.h:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;/*&lt;/code&gt;&lt;br&gt;
&lt;code&gt;* The directory entry has the type (currently unused on&lt;/code&gt;&lt;br&gt;
&lt;code&gt;* Solaris) in the top 4 bits, and the object number in&lt;/code&gt;&lt;br&gt;
&lt;code&gt;* the low 48 bits. The "middle" 12 bits are unused.&lt;/code&gt;&lt;br&gt;
&lt;code&gt;*/&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In yesterday’s entry I said that Unix directory entries need to store at least the filename and the inode number of the file. What ZFS is doing here is reusing the 64 bit field used for the ‘inode’ (the ZFS dnode number) to also store the file type, because it knows that object numbers have only a limited range. This also makes old directory entries compatible, by making type 0 (all 4 bits 0) mean ‘not specified’. Since old directory entries only stored the object number and the object number is 48 bits or less, the higher bits are guaranteed to be all zero.&lt;br&gt;
The reason this needed a new ZFS filesystem version is now clear. If you tried to read directory entries with file type information on a version of ZFS that didn’t know about them, the old version would likely see crazy (and non-existent) object numbers and nothing would work. In order to even read a ‘file type in directory entries’ filesystem, you need to know to only look at the low 48 bits of the object number field in directory entries.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://euroquis.nl/bobulate/?p=1976" target="_blank" rel="nofollow noopener"&gt;Everything old is new again&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Just because KDE4-era software has been deprecated by the KDE-FreeBSD team in the official ports-repository, doesn’t mean we don’t care for it while we still need to. KDE4 was released on January 11th, 2008 — I still have the T-shirt — which was a very different C++ world than what we now live in. Much of the code pre-dates the availability of C&lt;ins&gt;11 — certainly the availability of compilers with C&lt;/ins&gt;11 support. The language has changed a great deal in those ten years since the original release.&lt;br&gt;
The platforms we run KDE code on have, too — FreeBSD 12 is a long way from the FreeBSD 6 or 7 that were current at release (although at the time, I was more into OpenSolaris). In particular, since then the FreeBSD world has switched over to Clang, and FreeBSD current is experimenting with Clang 7. So we’re seeing KDE4-era code being built, and running, on FreeBSD 12 with Clang 7. That’s a platform with a very different idea of what constitutes correct code, than what the code was originally written for. (Not quite as big a difference as Helio’s KDE1 efforts, though)&lt;br&gt;
So, while we’re counting down to removing KDE4 from the FreeBSD ports tree, we’re also going through and fixing it to work with Clang 7, which defaults to a newer C++ standard and which is quite picky about some things. Some time in the distant past, when pointers were integers and NULL was zero, there was some confusion about booleans. So there’s lots of code that does list.contains(element) &amp;gt; 0 … this must have been a trick before booleans were a supported type in all our compilers. In any case it breaks with Clang 7, since contains() returns a QBool which converts to a nullptr (when false) which isn’t comparable to the integer 0. Suffice to say I’ve spent more time reading KDE4-era code this month, than in the past two years.&lt;br&gt;
However, work is proceeding apace, so if you really really want to, you can still get your old-school kicks on a new platform. Because we care about packaging things right, even when we want to get rid of it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://nanxiao.gitbooks.io/openbsd-netcat-demystified/" target="_blank" rel="nofollow noopener"&gt;OpenBSD netcat demystified&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Owing to its versatile functionalities, netcat earns the reputation as “TCP/IP Swiss army knife”. For example, you can create a simple chat app using netcat:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;(1) Open a terminal and input following command:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;# nc -l 3003&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This means a netcat process will listen on 3003 port in this machine (the IP address of current machine is 192.168.35.176).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;(2) Connect aforemontioned netcat process in another machine, and send a greeting:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;# nc 192.168.35.176 3003&lt;/code&gt;&lt;br&gt;
&lt;code&gt;hello&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Then in the first machine’s terminal, you will see the “hello” text:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# nc -l 3003&lt;/code&gt;&lt;br&gt;
&lt;code&gt;hello&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A primitive chatroom is built successfully. Very cool! Isn’t it? I think many people can’t wait to explore more features of netcatnow. If you are among them, congratulations! This tutorial may be the correct place for you.&lt;br&gt;
In the following parts, I will delve into OpenBSD’s netcatcode to give a detailed anatomy of it. The reason of picking OpenBSD’s netcat rather than others’ is because its code repository is small (~2000 lines of code) and neat. Furthermore, I also hope this little book can assist you learn more socket programming knowledge not just grasping usage of netcat.&lt;br&gt;
We’re all set. Let’s go!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.geeklan.co.uk/files/eurobsdcon2018.pdf" target="_blank" rel="nofollow noopener"&gt;What’s in store for NetBSD 9.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/netbsd-advocacy/2018/09/25/msg000783.html" target="_blank" rel="nofollow noopener"&gt;NetBSD machines at Open Source Conference 2018 Hiroshima&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://vincentdelft.be/post/post_20180922" target="_blank" rel="nofollow noopener"&gt;nmctl adapted with limited privileges: nmctl-0.6.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/submit-your-work-check-out-scale-17x-and-fosdem-19-cfps/" target="_blank" rel="nofollow noopener"&gt;Submit Your Work: Check out SCALE 17x and FOSDEM ’19 CFPs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openbsd.org/64.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.4 site is up! (with a partial list of new features)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.blackcatenterprises.us/using-alpine-to-read-your-email/" target="_blank" rel="nofollow noopener"&gt;Using Alpine to Read Your Email on OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Morgan - &lt;a href="http://dpaste.com/0EXPWQK#wrap" target="_blank" rel="nofollow noopener"&gt;Send/Receive to Manage Fragmentation?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ryan - &lt;a href="http://dpaste.com/0B6C0Y0" target="_blank" rel="nofollow noopener"&gt;ZFS and mmap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Marcus - &lt;a href="http://dpaste.com/1DT26S8#wrap" target="_blank" rel="nofollow noopener"&gt;Linux Compat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ben - &lt;a href="http://dpaste.com/20GTHZE#wrap" target="_blank" rel="nofollow noopener"&gt;Multiple Pools&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, netcat, kde yubikey, 2fa, ssh, zfs, performance</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>6 metrics for zpool performance, 2FA with ssh on OpenBSD, ZFS maintaining file type information in dirs, everything old is new again, netcat demystified, and more.</p>

<p>##Headlines<br>
###<a href="https://www.ixsystems.com/blog/zfs-pool-performance-1/" target="_blank" rel="nofollow noopener">Six Metrics for Measuring ZFS Pool Performance Part 1</a></p>

<blockquote>
<p>The layout of a ZFS storage pool has a significant impact on system performance under various workloads. Given the importance of picking the right configuration for your workload and the fact that making changes to an in-use ZFS pool is far from trivial, it is important for an administrator to understand the mechanics of pool performance when designing a storage system.</p>
</blockquote>

<ul>
<li>To quantify pool performance, we will consider six primary metrics:</li>
<li>Read I/O operations per second (IOPS)</li>
<li>Write IOPS</li>
<li>Streaming read speed</li>
<li>Streaming write speed</li>
<li>Storage space efficiency (usable capacity after parity versus total raw capacity)</li>
<li>Fault tolerance (maximum number of drives that can fail before data loss)</li>
<li>For the sake of comparison, we’ll use an example system with 12 drives, each one sized at 6TB, and say that each drive does 100MB/s streaming reads and writes and can do 250 read and write IOPS. We will visualize how the data is spread across the drives by writing 12 multi-colored blocks, shown below. The blocks are written to the pool starting with the brown block on the left (number one), and working our way to the pink block on the right (number 12).</li>
</ul>

<blockquote>
<p>Note that when we calculate data rates and IOPS values for the example system, they are only approximations. Many other factors can impact pool access speeds for better (compression, caching) or worse (poor CPU performance, not enough memory).<br>
There is no single configuration that maximizes all six metrics. Like so many things in life, our objective is to find an appropriate balance of the metrics to match a target workload. For example, a cold-storage backup system will likely want a pool configuration that emphasizes usable storage space and fault tolerance over the other data-rate focused metrics.<br>
Let’s start with a quick review of ZFS storage pools before diving into specific configuration options. ZFS storage pools are comprised of one or more virtual devices, or vdevs. Each vdev is comprised of one or more storage providers, typically physical hard disks. All disk-level redundancy is configured at the vdev level. That is, the RAID layout is set on each vdev as opposed to on the storage pool. Data written to the storage pool is then striped across all the vdevs. Because pool data is striped across the vdevs, the loss of any one vdev means total pool failure. This is perhaps the single most important fact to keep in mind when designing a ZFS storage system. We will circle back to this point in the next post, but keep it in mind as we go through the vdev configuration options.<br>
Because storage pools are made up of one or more vdevs with the pool data striped over the top, we’ll take a look at pool configuration in terms of various vdev configurations. There are three basic vdev configurations: striping, mirroring, and RAIDZ (which itself has three different varieties). The first section will cover striped and mirrored vdevs in this post; the second post will cover RAIDZ and some example scenarios.<br>
A striped vdev is the simplest configuration. Each vdev consists of a single disk with no redundancy. When several of these single-disk, striped vdevs are combined into a single storage pool, the total usable storage space would be the sum of all the drives. When you write data to a pool made of striped vdevs, the data is broken into small chunks called “blocks” and distributed across all the disks in the pool. The blocks are written in “round-robin” sequence, meaning after all the disks receive one row of blocks, called a stripe, it loops back around and writes another stripe under the first. A striped pool has excellent performance and storage space efficiency, but absolutely zero fault tolerance. If even a single drive in the pool fails, the entire pool will fail and all data stored on that pool will be lost.<br>
The excellent performance of a striped pool comes from the fact that all of the disks can work independently for all read and write operations. If you have a bunch of small read or write operations (IOPS), each disk can work independently to fetch the next block. For streaming reads and writes, each disk can fetch the next block in line synchronized with its neighbors. For example, if a given disk is fetching block n, its neighbor to the left can be fetching block n-1, and its neighbor to the right can be fetching block n+1. Therefore, the speed of all read and write operations as well as the quantity of read and write operations (IOPS) on a striped pool will scale with the number of vdevs. Note here that I said the speeds and IOPS scale with the number of vdevs rather than the number of drives; there’s a reason for this and we’ll cover it in the next post when we discuss RAID-Z.<br>
Here’s a summary of the total pool performance (where N is the number of disks in the pool):</p>
</blockquote>

<ul>
<li>N-wide striped:</li>
<li>Read IOPS: N * Read IOPS of a single drive</li>
<li>Write IOPS: N * Write IOPS of a single drive</li>
<li>Streaming read speed: N * Streaming read speed of a single drive</li>
<li>Streaming write speed: N * Streaming write speed of a single drive</li>
<li>Storage space efficiency: 100%</li>
<li>Fault tolerance: None!</li>
</ul>

<blockquote>
<p>Let’s apply this to our example system, configured with a 12-wide striped pool:</p>
</blockquote>

<ul>
<li>12-wide striped:</li>
<li>Read IOPS: 3000</li>
<li>Write IOPS: 3000</li>
<li>Streaming read speed: 1200 MB/s</li>
<li>Streaming write speed: 1200 MB/s</li>
<li>Storage space efficiency: 72 TB</li>
<li>Fault tolerance: None!</li>
<li>Below is a visual depiction of our 12 rainbow blocks written to this pool configuration:</li>
</ul>

<blockquote>
<p>The blocks are simply striped across the 12 disks in the pool. The LBA column on the left stands for “Logical Block Address”. If we treat each disk as a column in an array, each LBA would be a row. It’s also easy to see that if any single disk fails, we would be missing a color in the rainbow and our data would be incomplete. While this configuration has fantastic read and write speeds and can handle a ton of IOPS, the data stored on the pool is very vulnerable. This configuration is not recommended unless you’re comfortable losing all of your pool’s data whenever any single drive fails.<br>
A mirrored vdev consists of two or more disks. A mirrored vdev stores an exact copy of all the data written to it on each one of its drives. Traditional RAID-1 mirrors usually only support two drive mirrors, but ZFS allows for more drives per mirror to increase redundancy and fault tolerance. All disks in a mirrored vdev have to fail for the vdev, and thus the whole pool, to fail. Total storage space will be equal to the size of a single drive in the vdev. If you’re using mismatched drive sizes in your mirrors, the total size will be that of the smallest drive in the mirror.<br>
Streaming read speeds and read IOPS on a mirrored vdev will be faster than write speeds and IOPS. When reading from a mirrored vdev, the drives can “divide and conquer” the operations, similar to what we saw above in the striped pool. This is because each drive in the mirror has an identical copy of the data. For write operations, all of the drives need to write a copy of the data, so the mirrored vdev will be limited to the streaming write speed and IOPS of a single disk.</p>
</blockquote>

<blockquote>
<p>Here’s a summary:</p>
</blockquote>

<ul>
<li>
<p>N-way mirror:</p>
</li>
<li>
<p>Read IOPS: N * Read IOPS of a single drive</p>
</li>
<li>
<p>Write IOPS: Write IOPS of a single drive</p>
</li>
<li>
<p>Streaming read speed: N * Streaming read speed of a single drive</p>
</li>
<li>
<p>Streaming write speed: Streaming write speed of a single drive</p>
</li>
<li>
<p>Storage space efficiency: 50% for 2-way, 33% for 3-way, 25% for 4-way, etc. [(N-1)/N]</p>
</li>
<li>
<p>Fault tolerance: 1 disk per vdev for 2-way, 2 for 3-way, 3 for 4-way, etc. [N-1]</p>
</li>
<li>
<p>For our first example configuration, let’s do something ridiculous and create a 12-way mirror. ZFS supports this kind of thing, but your management probably will not.</p>
</li>
<li>
<p>1x 12-way mirror:</p>
</li>
<li>
<p>Read IOPS: 3000</p>
</li>
<li>
<p>Write IOPS: 250</p>
</li>
<li>
<p>Streaming read speed: 1200 MB/s</p>
</li>
<li>
<p>Streaming write speed: 100 MB/s</p>
</li>
<li>
<p>Storage space efficiency: 8.3% (6 TB)</p>
</li>
<li>
<p>Fault tolerance: 11</p>
</li>
</ul>

<blockquote>
<p>As we can clearly see from the diagram, every single disk in the vdev gets a full copy of our rainbow data. The chainlink icons between the disk labels in the column headers indicate the disks are part of a single vdev. We can lose up to 11 disks in this vdev and still have a complete rainbow. Of course, the data takes up far too much room on the pool, occupying a full 12 LBAs in the data array.</p>
</blockquote>

<blockquote>
<p>Obviously, this is far from the best use of 12 drives. Let’s do something a little more practical and configure the pool with the ZFS equivalent of RAID-10. We’ll configure six 2-way mirror vdevs. ZFS will stripe the data across all 6 of the vdevs. We can use the work we did in the striped vdev section to determine how the pool as a whole will behave. Let’s first calculate the performance per vdev, then we can work on the full pool:</p>
</blockquote>

<ul>
<li>
<p>1x 2-way mirror:</p>
</li>
<li>
<p>Read IOPS: 500</p>
</li>
<li>
<p>Write IOPS: 250</p>
</li>
<li>
<p>Streaming read speed: 200 MB/s</p>
</li>
<li>
<p>Streaming write speed: 100 MB/s</p>
</li>
<li>
<p>Storage space efficiency: 50% (6 TB)</p>
</li>
<li>
<p>Fault tolerance: 1</p>
</li>
<li>
<p>Now we can pretend we have 6 drives with the performance statistics listed above and run them through our striped vdev performance calculator to get the total pool’s performance:</p>
</li>
<li>
<p>6x 2-way mirror:</p>
</li>
<li>
<p>Read IOPS: 3000</p>
</li>
<li>
<p>Write IOPS: 1500</p>
</li>
<li>
<p>Streaming read speed: 3000 MB/s</p>
</li>
<li>
<p>Streaming write speed: 1500 MB/s</p>
</li>
<li>
<p>Storage space efficiency: 50% (36 TB)</p>
</li>
<li>
<p>Fault tolerance: 1 per vdev, 6 total</p>
</li>
<li>
<p>Again, we will examine the configuration from a visual perspective:</p>
</li>
</ul>

<blockquote>
<p>Each vdev gets a block of data and ZFS writes that data to all of (or in this case, both of) the disks in the mirror. As long as we have at least one functional disk in each vdev, we can retrieve our rainbow. As before, the chain link icons denote the disks are part of a single vdev. This configuration emphasizes performance over raw capacity but doesn’t totally disregard fault tolerance as our striped pool did. It’s a very popular configuration for systems that need a lot of fast I/O. Let’s look at one more example configuration using four 3-way mirrors. We’ll skip the individual vdev performance calculation and go straight to the full pool:</p>
</blockquote>

<ul>
<li>4x 3-way mirror:</li>
<li>Read IOPS: 3000</li>
<li>Write IOPS: 1000</li>
<li>Streaming read speed: 3000 MB/s</li>
<li>Streaming write speed: 400 MB/s</li>
<li>Storage space efficiency: 33% (24 TB)</li>
<li>Fault tolerance: 2 per vdev, 8 total</li>
</ul>

<blockquote>
<p>While we have sacrificed some write performance and capacity, the pool is now extremely fault tolerant. This configuration is probably not practical for most applications and it would make more sense to use lower fault tolerance and set up an offsite backup system.<br>
Striped and mirrored vdevs are fantastic for access speed performance, but they either leave you with no redundancy whatsoever or impose at least a 50% penalty on the total usable space of your pool. In the next post, we will cover RAIDZ, which lets you keep data redundancy without sacrificing as much storage space efficiency. We’ll also look at some example workload scenarios and decide which layout would be the best fit for each.</p>
</blockquote>

<hr>

<p>###<a href="https://chown.me/blog/2FA-with-ssh-on-OpenBSD.html" target="_blank" rel="nofollow noopener">2FA with ssh on OpenBSD</a></p>

<blockquote>
<p>Five years ago I wrote about using a yubikey on OpenBSD. The only problem with doing this is that there’s no validation server available on OpenBSD, so you need to use a different OTP slot for each machine. (You don’t want to risk a replay attack if someone succeeds in capturing an OTP on one machine, right?) Yubikey has two OTP slots per device, so you would need a yubikey for every two machines with which you’d like to use it. You could use a bastion—and use only one yubikey—but I don’t like the SPOF aspect of a bastion. YMMV.<br>
After I played with TOTP, I wanted to use them as a 2FA for ssh. At the time of writing, we can’t do that using only the tools in base. This article focuses on OpenBSD; if you use another operating system, here are two handy links.</p>
</blockquote>

<ul>
<li>SEED CONFIGURATION</li>
</ul>

<blockquote>
<p>The first thing we need to do is to install the software which will be used to verify the OTPs we submit.</p>
</blockquote>

<p><code># pkg_add login_oath</code></p>

<blockquote>
<p>We need to create a secret - aka, the seed - that will be used to calculate the Time-based One-Time Passwords. We should make sure no one can read or change it.</p>
</blockquote>

<p><code>$ openssl rand -hex 20 &gt; ~/.totp-key</code><br>
<code>$ chmod 400 ~/.totp-key</code></p>

<blockquote>
<p>Now we have a hexadecimal key, but apps usually want a base32 secret. I initially wrote a small script to do the conversion.<br>
While writing this article, I took the opportunity to improve it. When I initially wrote this utility for my use, python-qrcode hadn’t yet been imported to the OpenBSD ports/packages system. It’s easy to install now, so let’s use it.<br>
Here’s the improved version. It will ask for the hex key and output the secret as a base32-encoded string, both with and without spacing so you can copy-paste it into your password manager or easily retype it. It will then ask for the information needed to generate a QR code. Adding our new OTP secret to any mobile app using the QR code will be super easy!</p>
</blockquote>

<ul>
<li>SYSTEM CONFIGURATION</li>
</ul>

<blockquote>
<p>We can now move to the configuration of the system to put our new TOTP to use. As you might guess, it’s going to be quite close to what we did with the yubikey.<br>
We need to tweak login.conf. Be careful and keep a root shell open at all times. The few times I broke my OpenBSD were because I messed with login.conf without showing enough care.</p>
</blockquote>

<ul>
<li>SSHD CONFIGURATION</li>
</ul>

<blockquote>
<p>Again, keeping a root shell around decreases the risk of losing access to the system and being locked outside.<br>
A good standard is to use PasswordAuthentication no and to use public key only. Except… have a guess what the P stands for in TOTP. Yes, congrats, you guessed it!<br>
We need to switch to PasswordAuthentication yes. However, if we made this change alone, sshd would then accept a public key OR a password (which are TOTP because of our login.conf). 2FA uses both at the same time.<br>
To inform sshd we intend to use both, we need to set AuthenticationMethods publickey,password. This way, the user trying to login will first need to perform the traditional publickey authentication. Once that’s done, ssh will prompt for a password and the user will need to submit a valid TOTP for the system.<br>
We could do this the other way around, but I think bots could try passwords, wasting resources. Evaluated in this order, failing to provide a public key leads to sshd immediately declining your attempt.</p>
</blockquote>

<ul>
<li>IMPROVING SECURITY WITHOUT IMPACTING UX</li>
</ul>

<blockquote>
<p>My phone has a long enough password that most of the time, I fail to type it correctly on the first try. Of course, if I had to unlock my phone, launch my TOTP app and use my keyboard to enter what I see on my phone’s screen, I would quickly disable 2FA.<br>
To find a balance, I have whitelisted certain IP addresses and users. If I connect from a particular IP address or as a specific user, I don’t want to go through 2FA. For some users, I might not even enable 2FA.<br>
To sum up, we covered how to create a seed, how to perform a hexadecimal to base32 conversion and how to create a QR code for mobile applications. We configured the login system with login.conf so that ssh authentication uses the TOTP login system, and we told sshd to ask for both the public key and the Time-based One-Time Password. Now you should be all set to use two-factor ssh authentication on OpenBSD!</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSAndDirectoryDType" target="_blank" rel="nofollow noopener">How ZFS maintains file type information in directories</a></p>

<blockquote>
<p>As an aside in yesterday’s history of file type information being available in Unix directories, I mentioned that it was possible for a filesystem to support this even though its Unix didn’t. By supporting it, I mean that the filesystem maintains this information in its on disk format for directories, even though the rest of the kernel will never ask for it. This is what ZFS does.<br>
The easiest way to see that ZFS does this is to use zdb to dump a directory. I’m going to do this on an OmniOS machine, to make it more convincing, and it turns out that this has some interesting results. Since this is OmniOS, we don’t have the convenience of just naming a directory in zdb, so let’s find the root directory of a filesystem, starting from dnode 1 (as seen before).</p>
</blockquote>

<p><code># zdb -dddd fs3-corestaff-01/h/281 1</code><br>
<code>Dataset [....]</code><br>
<code>[...]</code><br>
<code>microzap: 512 bytes, 4 entries</code><br>
<code>[...]</code><br>
<code>ROOT = 3</code><br>
<code></code><br>
<code># zdb -dddd fs3-corestaff-01/h/281 3</code><br>
<code>Object lvl iblk dblk dsize lsize %full type</code><br>
<code>3 1 16K 1K 8K 1K 100.00 ZFS directory</code><br>
<code>[...]</code><br>
<code>microzap: 1024 bytes, 8 entries</code><br>
<code></code><br>
<code>RESTORED = 4396504 (type: Directory)</code><br>
<code>ckstst = 12017 (type: not specified)</code><br>
<code>ckstst3 = 25069 (type: Directory)</code><br>
<code>.demo-file = 5832188 (type: Regular File)</code><br>
<code>.peergroup = 12590 (type: not specified)</code><br>
<code>cks = 5 (type: not specified)</code><br>
<code>cksimap1 = 5247832 (type: Directory)</code><br>
<code>.diskuse = 12016 (type: not specified)</code><br>
<code>ckstst2 = 12535 (type: not specified)</code></p>

<blockquote>
<p>This is actually an old filesystem (it dates from Solaris 10 and has been transferred around with ‘zfs send | zfs recv’ since then), but various home directories for real and test users have been created in it over time (you can probably guess which one is the oldest one). Sufficiently old directories and files have no file type information, but more recent ones have this information, including .demo-file, which I made just now so this would have an entry that was a regular file with type information.<br>
Once I dug into it, this turned out to be a change introduced (or activated) in ZFS filesystem version 2, which is described in ‘zfs upgrade -v’ as ‘enhanced directory entries’. As an actual change in (Open)Solaris, it dates from mid 2007, although I’m not sure what Solaris release it made it into. The upshot is that if you made your ZFS filesystem any time in the last decade, you’ll have this file type information in your directories.<br>
How ZFS stores this file type information is interesting and clever, especially when it comes to backwards compatibility. I’ll start by quoting the comment from zfs_znode.h:</p>
</blockquote>

<p><code>/*</code><br>
<code>* The directory entry has the type (currently unused on</code><br>
<code>* Solaris) in the top 4 bits, and the object number in</code><br>
<code>* the low 48 bits. The "middle" 12 bits are unused.</code><br>
<code>*/</code></p>

<blockquote>
<p>In yesterday’s entry I said that Unix directory entries need to store at least the filename and the inode number of the file. What ZFS is doing here is reusing the 64 bit field used for the ‘inode’ (the ZFS dnode number) to also store the file type, because it knows that object numbers have only a limited range. This also makes old directory entries compatible, by making type 0 (all 4 bits 0) mean ‘not specified’. Since old directory entries only stored the object number and the object number is 48 bits or less, the higher bits are guaranteed to be all zero.<br>
The reason this needed a new ZFS filesystem version is now clear. If you tried to read directory entries with file type information on a version of ZFS that didn’t know about them, the old version would likely see crazy (and non-existent) object numbers and nothing would work. In order to even read a ‘file type in directory entries’ filesystem, you need to know to only look at the low 48 bits of the object number field in directory entries.</p>
</blockquote>

<hr>

<p>###<a href="https://euroquis.nl/bobulate/?p=1976" target="_blank" rel="nofollow noopener">Everything old is new again</a></p>

<blockquote>
<p>Just because KDE4-era software has been deprecated by the KDE-FreeBSD team in the official ports-repository, doesn’t mean we don’t care for it while we still need to. KDE4 was released on January 11th, 2008 — I still have the T-shirt — which was a very different C++ world than what we now live in. Much of the code pre-dates the availability of C<ins>11 — certainly the availability of compilers with C</ins>11 support. The language has changed a great deal in those ten years since the original release.<br>
The platforms we run KDE code on have, too — FreeBSD 12 is a long way from the FreeBSD 6 or 7 that were current at release (although at the time, I was more into OpenSolaris). In particular, since then the FreeBSD world has switched over to Clang, and FreeBSD current is experimenting with Clang 7. So we’re seeing KDE4-era code being built, and running, on FreeBSD 12 with Clang 7. That’s a platform with a very different idea of what constitutes correct code, than what the code was originally written for. (Not quite as big a difference as Helio’s KDE1 efforts, though)<br>
So, while we’re counting down to removing KDE4 from the FreeBSD ports tree, we’re also going through and fixing it to work with Clang 7, which defaults to a newer C++ standard and which is quite picky about some things. Some time in the distant past, when pointers were integers and NULL was zero, there was some confusion about booleans. So there’s lots of code that does list.contains(element) &gt; 0 … this must have been a trick before booleans were a supported type in all our compilers. In any case it breaks with Clang 7, since contains() returns a QBool which converts to a nullptr (when false) which isn’t comparable to the integer 0. Suffice to say I’ve spent more time reading KDE4-era code this month, than in the past two years.<br>
However, work is proceeding apace, so if you really really want to, you can still get your old-school kicks on a new platform. Because we care about packaging things right, even when we want to get rid of it.</p>
</blockquote>

<hr>

<p>###<a href="https://nanxiao.gitbooks.io/openbsd-netcat-demystified/" target="_blank" rel="nofollow noopener">OpenBSD netcat demystified</a></p>

<blockquote>
<p>Owing to its versatile functionalities, netcat earns the reputation as “TCP/IP Swiss army knife”. For example, you can create a simple chat app using netcat:</p>
</blockquote>

<ul>
<li>(1) Open a terminal and input following command:</li>
</ul>

<p><code># nc -l 3003</code></p>

<blockquote>
<p>This means a netcat process will listen on 3003 port in this machine (the IP address of current machine is 192.168.35.176).</p>
</blockquote>

<ul>
<li>(2) Connect aforemontioned netcat process in another machine, and send a greeting:</li>
</ul>

<p><code># nc 192.168.35.176 3003</code><br>
<code>hello</code></p>

<blockquote>
<p>Then in the first machine’s terminal, you will see the “hello” text:</p>
</blockquote>

<p><code># nc -l 3003</code><br>
<code>hello</code></p>

<blockquote>
<p>A primitive chatroom is built successfully. Very cool! Isn’t it? I think many people can’t wait to explore more features of netcatnow. If you are among them, congratulations! This tutorial may be the correct place for you.<br>
In the following parts, I will delve into OpenBSD’s netcatcode to give a detailed anatomy of it. The reason of picking OpenBSD’s netcat rather than others’ is because its code repository is small (~2000 lines of code) and neat. Furthermore, I also hope this little book can assist you learn more socket programming knowledge not just grasping usage of netcat.<br>
We’re all set. Let’s go!</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.geeklan.co.uk/files/eurobsdcon2018.pdf" target="_blank" rel="nofollow noopener">What’s in store for NetBSD 9.0</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2018/09/25/msg000783.html" target="_blank" rel="nofollow noopener">NetBSD machines at Open Source Conference 2018 Hiroshima</a></li>
<li><a href="http://vincentdelft.be/post/post_20180922" target="_blank" rel="nofollow noopener">nmctl adapted with limited privileges: nmctl-0.6.0</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/submit-your-work-check-out-scale-17x-and-fosdem-19-cfps/" target="_blank" rel="nofollow noopener">Submit Your Work: Check out SCALE 17x and FOSDEM ’19 CFPs</a></li>
<li><a href="https://www.openbsd.org/64.html" target="_blank" rel="nofollow noopener">OpenBSD 6.4 site is up! (with a partial list of new features)</a></li>
<li><a href="https://www.blackcatenterprises.us/using-alpine-to-read-your-email/" target="_blank" rel="nofollow noopener">Using Alpine to Read Your Email on OpenBSD</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Morgan - <a href="http://dpaste.com/0EXPWQK#wrap" target="_blank" rel="nofollow noopener">Send/Receive to Manage Fragmentation?</a></li>
<li>Ryan - <a href="http://dpaste.com/0B6C0Y0" target="_blank" rel="nofollow noopener">ZFS and mmap</a></li>
<li>Marcus - <a href="http://dpaste.com/1DT26S8#wrap" target="_blank" rel="nofollow noopener">Linux Compat</a></li>
<li>Ben - <a href="http://dpaste.com/20GTHZE#wrap" target="_blank" rel="nofollow noopener">Multiple Pools</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>6 metrics for zpool performance, 2FA with ssh on OpenBSD, ZFS maintaining file type information in dirs, everything old is new again, netcat demystified, and more.</p>

<p>##Headlines<br>
###<a href="https://www.ixsystems.com/blog/zfs-pool-performance-1/" target="_blank" rel="nofollow noopener">Six Metrics for Measuring ZFS Pool Performance Part 1</a></p>

<blockquote>
<p>The layout of a ZFS storage pool has a significant impact on system performance under various workloads. Given the importance of picking the right configuration for your workload and the fact that making changes to an in-use ZFS pool is far from trivial, it is important for an administrator to understand the mechanics of pool performance when designing a storage system.</p>
</blockquote>

<ul>
<li>To quantify pool performance, we will consider six primary metrics:</li>
<li>Read I/O operations per second (IOPS)</li>
<li>Write IOPS</li>
<li>Streaming read speed</li>
<li>Streaming write speed</li>
<li>Storage space efficiency (usable capacity after parity versus total raw capacity)</li>
<li>Fault tolerance (maximum number of drives that can fail before data loss)</li>
<li>For the sake of comparison, we’ll use an example system with 12 drives, each one sized at 6TB, and say that each drive does 100MB/s streaming reads and writes and can do 250 read and write IOPS. We will visualize how the data is spread across the drives by writing 12 multi-colored blocks, shown below. The blocks are written to the pool starting with the brown block on the left (number one), and working our way to the pink block on the right (number 12).</li>
</ul>

<blockquote>
<p>Note that when we calculate data rates and IOPS values for the example system, they are only approximations. Many other factors can impact pool access speeds for better (compression, caching) or worse (poor CPU performance, not enough memory).<br>
There is no single configuration that maximizes all six metrics. Like so many things in life, our objective is to find an appropriate balance of the metrics to match a target workload. For example, a cold-storage backup system will likely want a pool configuration that emphasizes usable storage space and fault tolerance over the other data-rate focused metrics.<br>
Let’s start with a quick review of ZFS storage pools before diving into specific configuration options. ZFS storage pools are comprised of one or more virtual devices, or vdevs. Each vdev is comprised of one or more storage providers, typically physical hard disks. All disk-level redundancy is configured at the vdev level. That is, the RAID layout is set on each vdev as opposed to on the storage pool. Data written to the storage pool is then striped across all the vdevs. Because pool data is striped across the vdevs, the loss of any one vdev means total pool failure. This is perhaps the single most important fact to keep in mind when designing a ZFS storage system. We will circle back to this point in the next post, but keep it in mind as we go through the vdev configuration options.<br>
Because storage pools are made up of one or more vdevs with the pool data striped over the top, we’ll take a look at pool configuration in terms of various vdev configurations. There are three basic vdev configurations: striping, mirroring, and RAIDZ (which itself has three different varieties). The first section will cover striped and mirrored vdevs in this post; the second post will cover RAIDZ and some example scenarios.<br>
A striped vdev is the simplest configuration. Each vdev consists of a single disk with no redundancy. When several of these single-disk, striped vdevs are combined into a single storage pool, the total usable storage space would be the sum of all the drives. When you write data to a pool made of striped vdevs, the data is broken into small chunks called “blocks” and distributed across all the disks in the pool. The blocks are written in “round-robin” sequence, meaning after all the disks receive one row of blocks, called a stripe, it loops back around and writes another stripe under the first. A striped pool has excellent performance and storage space efficiency, but absolutely zero fault tolerance. If even a single drive in the pool fails, the entire pool will fail and all data stored on that pool will be lost.<br>
The excellent performance of a striped pool comes from the fact that all of the disks can work independently for all read and write operations. If you have a bunch of small read or write operations (IOPS), each disk can work independently to fetch the next block. For streaming reads and writes, each disk can fetch the next block in line synchronized with its neighbors. For example, if a given disk is fetching block n, its neighbor to the left can be fetching block n-1, and its neighbor to the right can be fetching block n+1. Therefore, the speed of all read and write operations as well as the quantity of read and write operations (IOPS) on a striped pool will scale with the number of vdevs. Note here that I said the speeds and IOPS scale with the number of vdevs rather than the number of drives; there’s a reason for this and we’ll cover it in the next post when we discuss RAID-Z.<br>
Here’s a summary of the total pool performance (where N is the number of disks in the pool):</p>
</blockquote>

<ul>
<li>N-wide striped:</li>
<li>Read IOPS: N * Read IOPS of a single drive</li>
<li>Write IOPS: N * Write IOPS of a single drive</li>
<li>Streaming read speed: N * Streaming read speed of a single drive</li>
<li>Streaming write speed: N * Streaming write speed of a single drive</li>
<li>Storage space efficiency: 100%</li>
<li>Fault tolerance: None!</li>
</ul>

<blockquote>
<p>Let’s apply this to our example system, configured with a 12-wide striped pool:</p>
</blockquote>

<ul>
<li>12-wide striped:</li>
<li>Read IOPS: 3000</li>
<li>Write IOPS: 3000</li>
<li>Streaming read speed: 1200 MB/s</li>
<li>Streaming write speed: 1200 MB/s</li>
<li>Storage space efficiency: 72 TB</li>
<li>Fault tolerance: None!</li>
<li>Below is a visual depiction of our 12 rainbow blocks written to this pool configuration:</li>
</ul>

<blockquote>
<p>The blocks are simply striped across the 12 disks in the pool. The LBA column on the left stands for “Logical Block Address”. If we treat each disk as a column in an array, each LBA would be a row. It’s also easy to see that if any single disk fails, we would be missing a color in the rainbow and our data would be incomplete. While this configuration has fantastic read and write speeds and can handle a ton of IOPS, the data stored on the pool is very vulnerable. This configuration is not recommended unless you’re comfortable losing all of your pool’s data whenever any single drive fails.<br>
A mirrored vdev consists of two or more disks. A mirrored vdev stores an exact copy of all the data written to it on each one of its drives. Traditional RAID-1 mirrors usually only support two drive mirrors, but ZFS allows for more drives per mirror to increase redundancy and fault tolerance. All disks in a mirrored vdev have to fail for the vdev, and thus the whole pool, to fail. Total storage space will be equal to the size of a single drive in the vdev. If you’re using mismatched drive sizes in your mirrors, the total size will be that of the smallest drive in the mirror.<br>
Streaming read speeds and read IOPS on a mirrored vdev will be faster than write speeds and IOPS. When reading from a mirrored vdev, the drives can “divide and conquer” the operations, similar to what we saw above in the striped pool. This is because each drive in the mirror has an identical copy of the data. For write operations, all of the drives need to write a copy of the data, so the mirrored vdev will be limited to the streaming write speed and IOPS of a single disk.</p>
</blockquote>

<blockquote>
<p>Here’s a summary:</p>
</blockquote>

<ul>
<li>
<p>N-way mirror:</p>
</li>
<li>
<p>Read IOPS: N * Read IOPS of a single drive</p>
</li>
<li>
<p>Write IOPS: Write IOPS of a single drive</p>
</li>
<li>
<p>Streaming read speed: N * Streaming read speed of a single drive</p>
</li>
<li>
<p>Streaming write speed: Streaming write speed of a single drive</p>
</li>
<li>
<p>Storage space efficiency: 50% for 2-way, 33% for 3-way, 25% for 4-way, etc. [(N-1)/N]</p>
</li>
<li>
<p>Fault tolerance: 1 disk per vdev for 2-way, 2 for 3-way, 3 for 4-way, etc. [N-1]</p>
</li>
<li>
<p>For our first example configuration, let’s do something ridiculous and create a 12-way mirror. ZFS supports this kind of thing, but your management probably will not.</p>
</li>
<li>
<p>1x 12-way mirror:</p>
</li>
<li>
<p>Read IOPS: 3000</p>
</li>
<li>
<p>Write IOPS: 250</p>
</li>
<li>
<p>Streaming read speed: 1200 MB/s</p>
</li>
<li>
<p>Streaming write speed: 100 MB/s</p>
</li>
<li>
<p>Storage space efficiency: 8.3% (6 TB)</p>
</li>
<li>
<p>Fault tolerance: 11</p>
</li>
</ul>

<blockquote>
<p>As we can clearly see from the diagram, every single disk in the vdev gets a full copy of our rainbow data. The chainlink icons between the disk labels in the column headers indicate the disks are part of a single vdev. We can lose up to 11 disks in this vdev and still have a complete rainbow. Of course, the data takes up far too much room on the pool, occupying a full 12 LBAs in the data array.</p>
</blockquote>

<blockquote>
<p>Obviously, this is far from the best use of 12 drives. Let’s do something a little more practical and configure the pool with the ZFS equivalent of RAID-10. We’ll configure six 2-way mirror vdevs. ZFS will stripe the data across all 6 of the vdevs. We can use the work we did in the striped vdev section to determine how the pool as a whole will behave. Let’s first calculate the performance per vdev, then we can work on the full pool:</p>
</blockquote>

<ul>
<li>
<p>1x 2-way mirror:</p>
</li>
<li>
<p>Read IOPS: 500</p>
</li>
<li>
<p>Write IOPS: 250</p>
</li>
<li>
<p>Streaming read speed: 200 MB/s</p>
</li>
<li>
<p>Streaming write speed: 100 MB/s</p>
</li>
<li>
<p>Storage space efficiency: 50% (6 TB)</p>
</li>
<li>
<p>Fault tolerance: 1</p>
</li>
<li>
<p>Now we can pretend we have 6 drives with the performance statistics listed above and run them through our striped vdev performance calculator to get the total pool’s performance:</p>
</li>
<li>
<p>6x 2-way mirror:</p>
</li>
<li>
<p>Read IOPS: 3000</p>
</li>
<li>
<p>Write IOPS: 1500</p>
</li>
<li>
<p>Streaming read speed: 3000 MB/s</p>
</li>
<li>
<p>Streaming write speed: 1500 MB/s</p>
</li>
<li>
<p>Storage space efficiency: 50% (36 TB)</p>
</li>
<li>
<p>Fault tolerance: 1 per vdev, 6 total</p>
</li>
<li>
<p>Again, we will examine the configuration from a visual perspective:</p>
</li>
</ul>

<blockquote>
<p>Each vdev gets a block of data and ZFS writes that data to all of (or in this case, both of) the disks in the mirror. As long as we have at least one functional disk in each vdev, we can retrieve our rainbow. As before, the chain link icons denote the disks are part of a single vdev. This configuration emphasizes performance over raw capacity but doesn’t totally disregard fault tolerance as our striped pool did. It’s a very popular configuration for systems that need a lot of fast I/O. Let’s look at one more example configuration using four 3-way mirrors. We’ll skip the individual vdev performance calculation and go straight to the full pool:</p>
</blockquote>

<ul>
<li>4x 3-way mirror:</li>
<li>Read IOPS: 3000</li>
<li>Write IOPS: 1000</li>
<li>Streaming read speed: 3000 MB/s</li>
<li>Streaming write speed: 400 MB/s</li>
<li>Storage space efficiency: 33% (24 TB)</li>
<li>Fault tolerance: 2 per vdev, 8 total</li>
</ul>

<blockquote>
<p>While we have sacrificed some write performance and capacity, the pool is now extremely fault tolerant. This configuration is probably not practical for most applications and it would make more sense to use lower fault tolerance and set up an offsite backup system.<br>
Striped and mirrored vdevs are fantastic for access speed performance, but they either leave you with no redundancy whatsoever or impose at least a 50% penalty on the total usable space of your pool. In the next post, we will cover RAIDZ, which lets you keep data redundancy without sacrificing as much storage space efficiency. We’ll also look at some example workload scenarios and decide which layout would be the best fit for each.</p>
</blockquote>

<hr>

<p>###<a href="https://chown.me/blog/2FA-with-ssh-on-OpenBSD.html" target="_blank" rel="nofollow noopener">2FA with ssh on OpenBSD</a></p>

<blockquote>
<p>Five years ago I wrote about using a yubikey on OpenBSD. The only problem with doing this is that there’s no validation server available on OpenBSD, so you need to use a different OTP slot for each machine. (You don’t want to risk a replay attack if someone succeeds in capturing an OTP on one machine, right?) Yubikey has two OTP slots per device, so you would need a yubikey for every two machines with which you’d like to use it. You could use a bastion—and use only one yubikey—but I don’t like the SPOF aspect of a bastion. YMMV.<br>
After I played with TOTP, I wanted to use them as a 2FA for ssh. At the time of writing, we can’t do that using only the tools in base. This article focuses on OpenBSD; if you use another operating system, here are two handy links.</p>
</blockquote>

<ul>
<li>SEED CONFIGURATION</li>
</ul>

<blockquote>
<p>The first thing we need to do is to install the software which will be used to verify the OTPs we submit.</p>
</blockquote>

<p><code># pkg_add login_oath</code></p>

<blockquote>
<p>We need to create a secret - aka, the seed - that will be used to calculate the Time-based One-Time Passwords. We should make sure no one can read or change it.</p>
</blockquote>

<p><code>$ openssl rand -hex 20 &gt; ~/.totp-key</code><br>
<code>$ chmod 400 ~/.totp-key</code></p>

<blockquote>
<p>Now we have a hexadecimal key, but apps usually want a base32 secret. I initially wrote a small script to do the conversion.<br>
While writing this article, I took the opportunity to improve it. When I initially wrote this utility for my use, python-qrcode hadn’t yet been imported to the OpenBSD ports/packages system. It’s easy to install now, so let’s use it.<br>
Here’s the improved version. It will ask for the hex key and output the secret as a base32-encoded string, both with and without spacing so you can copy-paste it into your password manager or easily retype it. It will then ask for the information needed to generate a QR code. Adding our new OTP secret to any mobile app using the QR code will be super easy!</p>
</blockquote>

<ul>
<li>SYSTEM CONFIGURATION</li>
</ul>

<blockquote>
<p>We can now move to the configuration of the system to put our new TOTP to use. As you might guess, it’s going to be quite close to what we did with the yubikey.<br>
We need to tweak login.conf. Be careful and keep a root shell open at all times. The few times I broke my OpenBSD were because I messed with login.conf without showing enough care.</p>
</blockquote>

<ul>
<li>SSHD CONFIGURATION</li>
</ul>

<blockquote>
<p>Again, keeping a root shell around decreases the risk of losing access to the system and being locked outside.<br>
A good standard is to use PasswordAuthentication no and to use public key only. Except… have a guess what the P stands for in TOTP. Yes, congrats, you guessed it!<br>
We need to switch to PasswordAuthentication yes. However, if we made this change alone, sshd would then accept a public key OR a password (which are TOTP because of our login.conf). 2FA uses both at the same time.<br>
To inform sshd we intend to use both, we need to set AuthenticationMethods publickey,password. This way, the user trying to login will first need to perform the traditional publickey authentication. Once that’s done, ssh will prompt for a password and the user will need to submit a valid TOTP for the system.<br>
We could do this the other way around, but I think bots could try passwords, wasting resources. Evaluated in this order, failing to provide a public key leads to sshd immediately declining your attempt.</p>
</blockquote>

<ul>
<li>IMPROVING SECURITY WITHOUT IMPACTING UX</li>
</ul>

<blockquote>
<p>My phone has a long enough password that most of the time, I fail to type it correctly on the first try. Of course, if I had to unlock my phone, launch my TOTP app and use my keyboard to enter what I see on my phone’s screen, I would quickly disable 2FA.<br>
To find a balance, I have whitelisted certain IP addresses and users. If I connect from a particular IP address or as a specific user, I don’t want to go through 2FA. For some users, I might not even enable 2FA.<br>
To sum up, we covered how to create a seed, how to perform a hexadecimal to base32 conversion and how to create a QR code for mobile applications. We configured the login system with login.conf so that ssh authentication uses the TOTP login system, and we told sshd to ask for both the public key and the Time-based One-Time Password. Now you should be all set to use two-factor ssh authentication on OpenBSD!</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSAndDirectoryDType" target="_blank" rel="nofollow noopener">How ZFS maintains file type information in directories</a></p>

<blockquote>
<p>As an aside in yesterday’s history of file type information being available in Unix directories, I mentioned that it was possible for a filesystem to support this even though its Unix didn’t. By supporting it, I mean that the filesystem maintains this information in its on disk format for directories, even though the rest of the kernel will never ask for it. This is what ZFS does.<br>
The easiest way to see that ZFS does this is to use zdb to dump a directory. I’m going to do this on an OmniOS machine, to make it more convincing, and it turns out that this has some interesting results. Since this is OmniOS, we don’t have the convenience of just naming a directory in zdb, so let’s find the root directory of a filesystem, starting from dnode 1 (as seen before).</p>
</blockquote>

<p><code># zdb -dddd fs3-corestaff-01/h/281 1</code><br>
<code>Dataset [....]</code><br>
<code>[...]</code><br>
<code>microzap: 512 bytes, 4 entries</code><br>
<code>[...]</code><br>
<code>ROOT = 3</code><br>
<code></code><br>
<code># zdb -dddd fs3-corestaff-01/h/281 3</code><br>
<code>Object lvl iblk dblk dsize lsize %full type</code><br>
<code>3 1 16K 1K 8K 1K 100.00 ZFS directory</code><br>
<code>[...]</code><br>
<code>microzap: 1024 bytes, 8 entries</code><br>
<code></code><br>
<code>RESTORED = 4396504 (type: Directory)</code><br>
<code>ckstst = 12017 (type: not specified)</code><br>
<code>ckstst3 = 25069 (type: Directory)</code><br>
<code>.demo-file = 5832188 (type: Regular File)</code><br>
<code>.peergroup = 12590 (type: not specified)</code><br>
<code>cks = 5 (type: not specified)</code><br>
<code>cksimap1 = 5247832 (type: Directory)</code><br>
<code>.diskuse = 12016 (type: not specified)</code><br>
<code>ckstst2 = 12535 (type: not specified)</code></p>

<blockquote>
<p>This is actually an old filesystem (it dates from Solaris 10 and has been transferred around with ‘zfs send | zfs recv’ since then), but various home directories for real and test users have been created in it over time (you can probably guess which one is the oldest one). Sufficiently old directories and files have no file type information, but more recent ones have this information, including .demo-file, which I made just now so this would have an entry that was a regular file with type information.<br>
Once I dug into it, this turned out to be a change introduced (or activated) in ZFS filesystem version 2, which is described in ‘zfs upgrade -v’ as ‘enhanced directory entries’. As an actual change in (Open)Solaris, it dates from mid 2007, although I’m not sure what Solaris release it made it into. The upshot is that if you made your ZFS filesystem any time in the last decade, you’ll have this file type information in your directories.<br>
How ZFS stores this file type information is interesting and clever, especially when it comes to backwards compatibility. I’ll start by quoting the comment from zfs_znode.h:</p>
</blockquote>

<p><code>/*</code><br>
<code>* The directory entry has the type (currently unused on</code><br>
<code>* Solaris) in the top 4 bits, and the object number in</code><br>
<code>* the low 48 bits. The "middle" 12 bits are unused.</code><br>
<code>*/</code></p>

<blockquote>
<p>In yesterday’s entry I said that Unix directory entries need to store at least the filename and the inode number of the file. What ZFS is doing here is reusing the 64 bit field used for the ‘inode’ (the ZFS dnode number) to also store the file type, because it knows that object numbers have only a limited range. This also makes old directory entries compatible, by making type 0 (all 4 bits 0) mean ‘not specified’. Since old directory entries only stored the object number and the object number is 48 bits or less, the higher bits are guaranteed to be all zero.<br>
The reason this needed a new ZFS filesystem version is now clear. If you tried to read directory entries with file type information on a version of ZFS that didn’t know about them, the old version would likely see crazy (and non-existent) object numbers and nothing would work. In order to even read a ‘file type in directory entries’ filesystem, you need to know to only look at the low 48 bits of the object number field in directory entries.</p>
</blockquote>

<hr>

<p>###<a href="https://euroquis.nl/bobulate/?p=1976" target="_blank" rel="nofollow noopener">Everything old is new again</a></p>

<blockquote>
<p>Just because KDE4-era software has been deprecated by the KDE-FreeBSD team in the official ports-repository, doesn’t mean we don’t care for it while we still need to. KDE4 was released on January 11th, 2008 — I still have the T-shirt — which was a very different C++ world than what we now live in. Much of the code pre-dates the availability of C<ins>11 — certainly the availability of compilers with C</ins>11 support. The language has changed a great deal in those ten years since the original release.<br>
The platforms we run KDE code on have, too — FreeBSD 12 is a long way from the FreeBSD 6 or 7 that were current at release (although at the time, I was more into OpenSolaris). In particular, since then the FreeBSD world has switched over to Clang, and FreeBSD current is experimenting with Clang 7. So we’re seeing KDE4-era code being built, and running, on FreeBSD 12 with Clang 7. That’s a platform with a very different idea of what constitutes correct code, than what the code was originally written for. (Not quite as big a difference as Helio’s KDE1 efforts, though)<br>
So, while we’re counting down to removing KDE4 from the FreeBSD ports tree, we’re also going through and fixing it to work with Clang 7, which defaults to a newer C++ standard and which is quite picky about some things. Some time in the distant past, when pointers were integers and NULL was zero, there was some confusion about booleans. So there’s lots of code that does list.contains(element) &gt; 0 … this must have been a trick before booleans were a supported type in all our compilers. In any case it breaks with Clang 7, since contains() returns a QBool which converts to a nullptr (when false) which isn’t comparable to the integer 0. Suffice to say I’ve spent more time reading KDE4-era code this month, than in the past two years.<br>
However, work is proceeding apace, so if you really really want to, you can still get your old-school kicks on a new platform. Because we care about packaging things right, even when we want to get rid of it.</p>
</blockquote>

<hr>

<p>###<a href="https://nanxiao.gitbooks.io/openbsd-netcat-demystified/" target="_blank" rel="nofollow noopener">OpenBSD netcat demystified</a></p>

<blockquote>
<p>Owing to its versatile functionalities, netcat earns the reputation as “TCP/IP Swiss army knife”. For example, you can create a simple chat app using netcat:</p>
</blockquote>

<ul>
<li>(1) Open a terminal and input following command:</li>
</ul>

<p><code># nc -l 3003</code></p>

<blockquote>
<p>This means a netcat process will listen on 3003 port in this machine (the IP address of current machine is 192.168.35.176).</p>
</blockquote>

<ul>
<li>(2) Connect aforemontioned netcat process in another machine, and send a greeting:</li>
</ul>

<p><code># nc 192.168.35.176 3003</code><br>
<code>hello</code></p>

<blockquote>
<p>Then in the first machine’s terminal, you will see the “hello” text:</p>
</blockquote>

<p><code># nc -l 3003</code><br>
<code>hello</code></p>

<blockquote>
<p>A primitive chatroom is built successfully. Very cool! Isn’t it? I think many people can’t wait to explore more features of netcatnow. If you are among them, congratulations! This tutorial may be the correct place for you.<br>
In the following parts, I will delve into OpenBSD’s netcatcode to give a detailed anatomy of it. The reason of picking OpenBSD’s netcat rather than others’ is because its code repository is small (~2000 lines of code) and neat. Furthermore, I also hope this little book can assist you learn more socket programming knowledge not just grasping usage of netcat.<br>
We’re all set. Let’s go!</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.geeklan.co.uk/files/eurobsdcon2018.pdf" target="_blank" rel="nofollow noopener">What’s in store for NetBSD 9.0</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2018/09/25/msg000783.html" target="_blank" rel="nofollow noopener">NetBSD machines at Open Source Conference 2018 Hiroshima</a></li>
<li><a href="http://vincentdelft.be/post/post_20180922" target="_blank" rel="nofollow noopener">nmctl adapted with limited privileges: nmctl-0.6.0</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/submit-your-work-check-out-scale-17x-and-fosdem-19-cfps/" target="_blank" rel="nofollow noopener">Submit Your Work: Check out SCALE 17x and FOSDEM ’19 CFPs</a></li>
<li><a href="https://www.openbsd.org/64.html" target="_blank" rel="nofollow noopener">OpenBSD 6.4 site is up! (with a partial list of new features)</a></li>
<li><a href="https://www.blackcatenterprises.us/using-alpine-to-read-your-email/" target="_blank" rel="nofollow noopener">Using Alpine to Read Your Email on OpenBSD</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Morgan - <a href="http://dpaste.com/0EXPWQK#wrap" target="_blank" rel="nofollow noopener">Send/Receive to Manage Fragmentation?</a></li>
<li>Ryan - <a href="http://dpaste.com/0B6C0Y0" target="_blank" rel="nofollow noopener">ZFS and mmap</a></li>
<li>Marcus - <a href="http://dpaste.com/1DT26S8#wrap" target="_blank" rel="nofollow noopener">Linux Compat</a></li>
<li>Ben - <a href="http://dpaste.com/20GTHZE#wrap" target="_blank" rel="nofollow noopener">Multiple Pools</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 267: Absolute FreeBSD | BSD Now 267</title>
  <link>https://www.bsdnow.tv/267</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2689</guid>
  <pubDate>Wed, 10 Oct 2018 06:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/065b608e-9204-46f2-a689-63ccf08c58a2.mp3" length="40763471" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We have a long interview with fiction and non-fiction author Michael W. Lucas for you this week as well as questions from the audience.</itunes:subtitle>
  <itunes:duration>1:07:38</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>&lt;p&gt;We have a long interview with fiction and non-fiction author Michael W. Lucas for you this week as well as questions from the audience.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
##Interview - Michael W. Lucas - &lt;a href="mailto:mwlucas@michaelwlucas.com" target="_blank" rel="nofollow noopener"&gt;mwlucas@michaelwlucas.com&lt;/a&gt; / &lt;a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener"&gt;@mwlauthor&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BR: [Welcome Back]&lt;/li&gt;
&lt;li&gt;AJ: What have you been doing since last we talked to you [ed, ssh, and af3e]&lt;/li&gt;
&lt;li&gt;BR: Tell us more about AF3e&lt;/li&gt;
&lt;li&gt;AJ: How did the first Absolute FreeBSD come about?&lt;/li&gt;
&lt;li&gt;BR: Do you have anything special planned for MeetBSD?&lt;/li&gt;
&lt;li&gt;AJ: What are you working on now? [FM:Jails, Git sync Murder]&lt;/li&gt;
&lt;li&gt;BR: What are your plans for next year?&lt;/li&gt;
&lt;li&gt;AJ: How has SEMIBug been going?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Auction at &lt;a href="https://mwl.io" target="_blank" rel="nofollow noopener"&gt;https://mwl.io&lt;/a&gt;&lt;br&gt;
Patreon Link:&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Paul - &lt;a href="http://dpaste.com/0Q6C25T#wrap" target="_blank" rel="nofollow noopener"&gt;Recent bhyve related videos (daemon)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Michael - &lt;a href="http://dpaste.com/1YTR9FZ" target="_blank" rel="nofollow noopener"&gt;freebsd-update question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Sigflup - &lt;a href="http://dpaste.com/3799BBX#wrap" target="_blank" rel="nofollow noopener"&gt;pkg file search&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd,openbsd,netbsd,dragonflybsd,trueos,trident,hardenedbsd,tutorial,howto,guide,bsd,interview,netcat,kde yubikey,2fa,ssh,zfs,performance</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We have a long interview with fiction and non-fiction author Michael W. Lucas for you this week as well as questions from the audience.</p>

<p>##Headlines<br>
##Interview - Michael W. Lucas - <a href="mailto:mwlucas@michaelwlucas.com" target="_blank" rel="nofollow noopener">mwlucas@michaelwlucas.com</a> / <a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener">@mwlauthor</a></p>

<ul>
<li>BR: [Welcome Back]</li>
<li>AJ: What have you been doing since last we talked to you [ed, ssh, and af3e]</li>
<li>BR: Tell us more about AF3e</li>
<li>AJ: How did the first Absolute FreeBSD come about?</li>
<li>BR: Do you have anything special planned for MeetBSD?</li>
<li>AJ: What are you working on now? [FM:Jails, Git sync Murder]</li>
<li>BR: What are your plans for next year?</li>
<li>AJ: How has SEMIBug been going?</li>
</ul>

<p>Auction at <a href="https://mwl.io" target="_blank" rel="nofollow noopener">https://mwl.io</a><br>
Patreon Link:</p>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Paul - <a href="http://dpaste.com/0Q6C25T#wrap" target="_blank" rel="nofollow noopener">Recent bhyve related videos (daemon)</a></li>
<li>Michael - <a href="http://dpaste.com/1YTR9FZ" target="_blank" rel="nofollow noopener">freebsd-update question</a></li>
<li>Sigflup - <a href="http://dpaste.com/3799BBX#wrap" target="_blank" rel="nofollow noopener">pkg file search</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We have a long interview with fiction and non-fiction author Michael W. Lucas for you this week as well as questions from the audience.</p>

<p>##Headlines<br>
##Interview - Michael W. Lucas - <a href="mailto:mwlucas@michaelwlucas.com" target="_blank" rel="nofollow noopener">mwlucas@michaelwlucas.com</a> / <a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener">@mwlauthor</a></p>

<ul>
<li>BR: [Welcome Back]</li>
<li>AJ: What have you been doing since last we talked to you [ed, ssh, and af3e]</li>
<li>BR: Tell us more about AF3e</li>
<li>AJ: How did the first Absolute FreeBSD come about?</li>
<li>BR: Do you have anything special planned for MeetBSD?</li>
<li>AJ: What are you working on now? [FM:Jails, Git sync Murder]</li>
<li>BR: What are your plans for next year?</li>
<li>AJ: How has SEMIBug been going?</li>
</ul>

<p>Auction at <a href="https://mwl.io" target="_blank" rel="nofollow noopener">https://mwl.io</a><br>
Patreon Link:</p>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Paul - <a href="http://dpaste.com/0Q6C25T#wrap" target="_blank" rel="nofollow noopener">Recent bhyve related videos (daemon)</a></li>
<li>Michael - <a href="http://dpaste.com/1YTR9FZ" target="_blank" rel="nofollow noopener">freebsd-update question</a></li>
<li>Sigflup - <a href="http://dpaste.com/3799BBX#wrap" target="_blank" rel="nofollow noopener">pkg file search</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 266: File Type History | BSD Now 266</title>
  <link>https://www.bsdnow.tv/266</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2661</guid>
  <pubDate>Wed, 03 Oct 2018 13:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/04e29e6e-69af-4d6a-9e57-2caa87aaeb48.mp3" length="45192669" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Running OpenBSD/NetBSD on FreeBSD using grub2-bhyve, vermaden’s FreeBSD story, thoughts on OpenBSD on the desktop, history of file type info in Unix dirs, Multiboot a Pinebook KDE neon image, and more.</itunes:subtitle>
  <itunes:duration>1:15:00</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>&lt;p&gt;Running OpenBSD/NetBSD on FreeBSD using grub2-bhyve, vermaden’s FreeBSD story, thoughts on OpenBSD on the desktop, history of file type info in Unix dirs, Multiboot a Pinebook KDE neon image, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://oshogbo.vexillium.org/blog/53/" target="_blank" rel="nofollow noopener"&gt;OpenBSD/NetBSD on FreeBSD using grub2-bhyve&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When I was writing a blog post about the process title, I needed a couple of virtual machines with OpenBSD, NetBSD, and Ubuntu. Before that day I mainly used FreeBSD and Windows with bhyve. I spent some time trying to set up an OpenBSD using bhyve and UEFI as described here. I had numerous problems trying to use it, and this was the day I discovered the grub2-bhyve tool, and I love it!&lt;br&gt;
The grub2-bhyve allows you to load a kernel using GRUB bootloader. GRUB supports most of the operating systems with a standard configuration, so exactly the same method can be used to install NetBSD or Ubuntu. First, let’s install grub2-bhyve on our FreeBSD box:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# pkg install grub2-bhyve&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To run grub2-bhyve we need to provide at least the name of the VM. In bhyve, if the memsize is not specified the default VM is created with 256MB of the memory.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# grub-bhyve test&lt;/code&gt;&lt;br&gt;
&lt;code&gt;GNU GRUB version 2.00&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Minimal BASH-like line editing is supported. For the first word, TAB lists possible command&lt;/code&gt;&lt;br&gt;
&lt;code&gt;completions. Anywhere else TAB lists possible device or file completions.&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;grub&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;After running grub-bhyve command we will enter the GRUB loader. If we type the ls command, we will see all the available devices. In the case of the grub2-bhyve there is one additional device called “(host)” that is always available and allows the host filesystem to be accessed. We can list files under that device.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;grub&amp;gt; ls&lt;/code&gt;&lt;br&gt;
&lt;code&gt;(host)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;grub&amp;gt; ls (host)/&lt;/code&gt;&lt;br&gt;
&lt;code&gt;libexec/ bin/ usr/ bhyve/ compat/ tank/ etc/ boot/ net/ entropy proc/ lib/ root/ sys/ mnt/ rescue/ tmp/ home/ sbin/ media/ jail/ COPYRIGHT var/ dev/&lt;/code&gt;&lt;br&gt;
&lt;code&gt;grub&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To exit console simply type ‘reboot’. I would like to install my new operating system under a ZVOL &lt;code&gt;ztank/bhyve/post&lt;/code&gt;. On another terminal, we create:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# zfs create -V 10G ztank/bhyve/post&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you don’t use ZFS for some crazy reason you can also create a raw blob using the truncate(1) command.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# truncate -s 10G post.img&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I recommend installing an operating system from the disk image (installXX.fs for OpenBSD and NetBSD-X.X-amd64-install.img for NetBSD). Now we need to create a device map for a GRUB.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;cat &amp;gt; /tmp/post.map &amp;lt;&amp;lt; EOF&lt;/code&gt;&lt;br&gt;
&lt;code&gt;(hd0) /directory/to/disk/image&lt;/code&gt;&lt;br&gt;
&lt;code&gt;(hd1) /dev/zvol/ztank/bhyve/post&lt;/code&gt;&lt;br&gt;
&lt;code&gt;EOF&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The mapping files describe the names for files in the GRUB. In our case under hd0 we will have an installation image and in hd1 we will have our ZVOL/blob. You can also try to use an ISO image then instead of using hd0 device name use a cd0. When we will run the grub-bhyve command we will see two additional devices.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# grub-bhyve -m /tmp/post.map post&lt;/code&gt;&lt;br&gt;
&lt;code&gt;grub&amp;gt; ls&lt;/code&gt;&lt;br&gt;
&lt;code&gt;(hd0) (hd0,msdos4) (hd0,msdos1) (hd0,openbsd9) (hd0,openbsd1) (hd1) (host)&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The hd0 (in this example OpenBSD image) contains multiple partitions. We can check what is on it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;grub&amp;gt; ls (hd0,msdos4)/&lt;/code&gt;&lt;br&gt;
&lt;code&gt;boot bsd 6.4/ etc/&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;And this is the partition that contains a kernel. Now we can set a root device, load an OpenBSD kernel and boot:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;grub&amp;gt; set root=(hd0,msdos4)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;grub&amp;gt; kopenbsd -h com0 -r sd0a /bsd&lt;/code&gt;&lt;br&gt;
&lt;code&gt;grub&amp;gt; boot&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;After that, we can run bhyve virtual machine. In my case it is:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# bhyve -c 1 -w -u -H \&lt;/code&gt;&lt;br&gt;
&lt;code&gt;-s 0,amd_hostbridge \&lt;/code&gt;&lt;br&gt;
&lt;code&gt;-s 3,ahci-hd,/directory/to/disk/image \&lt;/code&gt;&lt;br&gt;
&lt;code&gt;-s 4,ahci-hd,/dev/zvol/ztank/bhyve/post \&lt;/code&gt;&lt;br&gt;
&lt;code&gt;-s 31,lpc -l com1,stdio \&lt;/code&gt;&lt;br&gt;
&lt;code&gt;post&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Unfortunately explaining the whole bhyve(8)  command line is beyond this article. After installing the operating system remove hd0 from the mapping file and the image from the bhyve(8) command. If you don’t want to type all those GRUB commands, you can simply redirect them to the standard input.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;cat &amp;lt;&amp;lt; EOF | grub-bhyve -m /tmp/post.map -M 512 post&lt;/code&gt;&lt;br&gt;
&lt;code&gt;set root=(hd0,4)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;kopenbsd -h com0 -r sd0a /bsd&lt;/code&gt;&lt;br&gt;
&lt;code&gt;boot&lt;/code&gt;&lt;br&gt;
&lt;code&gt;EOF&lt;/code&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://vermaden.wordpress.com/2018/09/07/my-freebsd-story/" target="_blank" rel="nofollow noopener"&gt;My FreeBSD Story&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;My first devices/computers/consoles (not at the same time) that I remember were Atari 2600 and Pegasus console which was hardware clone of the Nintendo NES.&lt;br&gt;
Back then I did not even knew that it was Atari 2600 as I referred to it as Video Computer System … and I did not even knew any english by then. It took me about two decades to get to know (by accident) that this Video Computer System was Atari 2600&lt;br&gt;
Then I got AMIGA 600 computer (or should I say my parents bought it for me) which served both for playing computer games and also other activities for the first time. AMIGA is the computer that had the greatest influence on me, as it was the first time I studied the books about Amiga Workbench operating system and learned commands from Amiga Shell terminal. I loved the idea of Ram Disk icon/directory on the desktop that allowed me to transparently put any things in system memory. I still miss that concept on today’s desktop systems … and I still remember how dismal I was when I watched Amiga Deathbed Vigil movie.&lt;br&gt;
At the end of 1998 I got my first PC that of course came with Windows and that computer served both as gaming machine and as well as typical tool. One time I dig into the internals with Windows Registry (which left me disgusted by its concepts and implementation) and its limited command line interface provided by CMD.EXE executable. I remember that the heart of this box was not the CPU or the motherboard but the graphics accelerator – the legendary 3Dfx Voodoo card. This company (3Dfx) – their attitude and philosophy – also left solid fingerprint on my way. Like AMIGA did.&lt;br&gt;
After ‘migration’ from AMIGA to PC it never again ‘felt right’. The games were cool but the Windows system was horrible. Time has passed and different Windows versions and hardware modifications took place. Windows XP felt really heavy at that time, not to mention Windows 2000 for example with even bigger hardware requirements. I also do not understand all the hate about Windows ME. It crashed with the same frequency as Windows 98 or later Windows 98 Second Edition but maybe my hardware was different ??&lt;br&gt;
I do not have any ‘mine’ screenshots from that period as I lost all my 40 GB (huge then) drive of data when I moved/resized the partition with Partition Magic to get some more space from the less filled C: drive. That day I learned hard that “there are people who do backups and people who will do backups”. I never lost data again as I had multiple copies of my data, but the same as Netheril fall the lost data was was gone forever.&lt;br&gt;
I always followed various alternatives which led me to try Linux in 2003, after reading about various distributions philosophies I decided to run Slackware Linux with KDE 3. My buddy used Aurox Linux by then (one of the few Linux distributions from Poland) and encouraged me to do the same – especially in the context of fixing possible problems as he already knew it and also as he recently dumped Windows system. But Slackware sounded like a better idea so I took that path instead. At first I dual booted between Windows XP and Slackware Linux cause I had everything worked out on the Windows world while I often felt helpless in the Linux world, so I would reboot into Windows to play some games or find a solution for Linux problem if that was required. I remember how strange the concept of dual clipboards (PRIMARY and SECONDARY) was for me by then. I was amazed why ‘so much better’ system as Linux (at least marketed that way) needs a system tray program to literally manage the clipboard. On Windows it was obvious, you do [CTRL]+[C] to copy and [CTRL]+[V] to paste things, but on Linux there (no I know its X11 feature) there were two clipboards that were synchronized by this little system tray program from KDE 3. It was also unthinkable for me that I will ‘lost’ contents of last/recent [CTRL]+[C] operation if I close the application from which the copy was made. I settled down a little on Slackware but not for long. I really did not liked manual dependency management for packages for example. Also KDE 3 was really ugly and despite trying all possible options I was not able to tweak it into something nice looking.&lt;br&gt;
After half a year on Slackware I checked the Linux distributions again and decided to try Gentoo Linux. I definitely agree with the image below which visualizes Gentoo Linux experience, especially when You install it for he first time ??&lt;br&gt;
Of course I went with the most hardcore version with self building Stage 1 (compiler and toolchain) which was horrible idea at that time because compilation on slow single core machine took forever … but after many hours I got Gentoo installed. I now have to decide which desktop environment to use. I have read a lot of good news about Fluxbox at that time so this is what I tried. It was very weird experience (to create everything in GUI from scratch) but very pleasant one. That recalled me the times of AMIGA … but Linux came in the way too much often. The more I dig into Gentoo Linux the more I read that lots of Gentoo features are based on FreeBSD solutions. Gentoo Portage is a clone of FreeBSD Ports. That ‘central’ /etc/rc.conf system configuration file concept was taken from FreeBSD as well. So I started to gather information about FreeBSD. The (then) FreeBSD website or FreeBSD Ports site (still) felt little outdated to say the least but that did not discouraged me.&lt;br&gt;
Somewhere in 2005 I installed FreeBSD 5.4 on my computer. The beginnings were hard, like the earlier step with Gentoo but similarly like Gentoo the FreeBSD project came with a lot of great documentation. While Gentoo documentation is concentrated within various Gentoo Wiki sites the FreeBSD project comes with ‘official’ documentation in the form of Handbook and FAQ. I remember my first questions at the now nonexistent &lt;a href="http://BSDForums.org" target="_blank" rel="nofollow noopener"&gt;BSDForums.org&lt;/a&gt; site – for example one of the first ones – how to scroll the terminal output in the plain console. I now know that I had to push Scroll Lock button but it was something totally new for me.&lt;br&gt;
Why FreeBSD and not OpenBSD or NetBSD? Probably because Gentoo based most their concepts on the FreeBSD solutions, so that led me to FreeBSD instead of the other BSD operating systems. Currently I still use FreeBSD but I keep an steady eye on the OpenBSD, HardenedBSD and DragonFly BSD solutions and improvements.&lt;br&gt;
As the migration path from Linux to FreeBSD is a lot easier – all configuration files from /home can be just copied – the migration was quite fast easy. I again had the Fluxbox configuration which I used on the Gentoo. Now – on FreeBSD – it started to fell even more like AMIGA times. Everything is/has been well thought and had its place and reason. The documentation was good and the FreeBSD Community was second to none.&lt;br&gt;
After 15 years of using various Windows, UNIX (macOS/AIX/HP-UX/Solaris/OpenSolaris/Illumos/FreeBSD/OpenBSD/NetBSD) and UNIX-like (Linux) systems I always come to conclusion that FreeBSD is the system that sucks least. And sucks least with each release and one day I will write why FreeBSD is such great operating system … if I already haven’t&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://blog.gsora.xyz/openbsd-on-the-desktop-some-thoughts/" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the Desktop: some thoughts&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve been using OpenBSD on my ThinkPad X230 for some weeks now, and the experience has been peculiar in some ways.&lt;br&gt;
The OS itself in my opinion is not ready for widespread desktop usage, and the development team is not trying to push it in the throat of anybody who wants a Windows or macOS alternative. You need to understand a little bit of how *NIX systems work, because you’ll use CLI more than UI. That’s not necessarily bad, and I’m sure I learned a trick or two that could translate easily to Linux or macOS. Their development process is purely based on developers that love to contribute and hack around, just because it’s fun. Even the mailing list is a cool place to hang on! Code correctness and security are a must, nothing gets committed if it doesn’t get reviewed thoroughly first - nowadays the first two properties should be enforced in every major operating system.&lt;br&gt;
I like the idea of a platform that continually evolves. pledge(2) and unveil(2) are the proof that with a little effort, you can secure existing software better than ever.&lt;br&gt;
I like the “sensible defaults” approach, having an OS ready to be used - UI included if you selected it during the setup process - is great.&lt;br&gt;
Just install a browser and you’re ready to go.&lt;br&gt;
Manual pages on OpenBSD are real manuals, not an extension of the “–help” command found in most CLI softwares. They help you understand inner workings of the operating system, no internet connection needed. There are some trade-offs, too.&lt;br&gt;
Performance is not first-class, mostly because of all the security mitigations and checks done at runtime.&lt;br&gt;
I write Go code in neovim, and sometimes you can feel a slight slowdown when you’re compiling and editing multiple files at the same time, but usually I can’t notice any meaningful difference. Browsers are a different matter though, you can definitely feel something differs from the experience you can have on mainstream operating systems. But again, trade-offs.&lt;br&gt;
To use OpenBSD on the desktop you must be ready to sacrifice some of the goodies of mainstream OSes, but if you’re searching for a zen place to do your computing stuff, it’s the best you can get right now.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/unix/DirectoryDTypeHistory" target="_blank" rel="nofollow noopener"&gt;The history of file type information being available in Unix directories&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The two things that Unix directory entries absolutely have to have are the name of the directory entry and its ‘inode’, by which we generically mean some stable kernel identifier for the file that will persist if it gets renamed, linked to other directories, and so on. Unsurprisingly, directory entries have had these since the days when you read the raw bytes of directories with read(), and for a long time that was all they had; if you wanted more than the name and the inode number, you had to stat() the file, not just read the directory. Then, well, I’ll quote myself from an old entry on a find optimization:&lt;br&gt;
[…], Unix filesystem developers realized that it was very common for programs reading directories to need to know a bit more about directory entries than just their names, especially their file types (find is the obvious case, but also consider things like ‘ls -F’). Given that the type of an active inode never changes, it’s possible to embed this information straight in the directory entry and then return this to user level, and that’s what developers did; on some systems, readdir(3) will now return directory entries with an additional d_type field that has the directory entry’s type.&lt;br&gt;
On Twitter, I recently grumbled about Illumos not having this d_type field. The ensuing conversation wound up with me curious about exactly where d_type came from and how far back it went. The answer turns out to be a bit surprising due to there being two sides of d_type.&lt;br&gt;
On the kernel side, d_type appears to have shown up in 4.4 BSD. The 4.4 BSD /usr/src/sys/dirent.h has a struct dirent that has a d_type field, but the field isn’t documented in either the comments in the file or in the getdirentries(2) manpage; both of those admit only to the traditional BSD dirent fields. This 4.4 BSD d_type was carried through to things that inherited from 4.4 BSD (Lite), specifically FreeBSD, but it continued to be undocumented for at least a while.&lt;br&gt;
(In FreeBSD, the most convenient history I can find is here, and the d_type field is present in sys/dirent.h as far back as FreeBSD 2.0, which seems to be as far as the repo goes for releases.)&lt;br&gt;
Documentation for d_type appeared in the getdirentries(2) manpage in FreeBSD 2.2.0, where the manpage itself claims to have been updated on May 3rd 1995 (cf). In FreeBSD, this appears to have been part of merging 4.4 BSD ‘Lite2’, which seems to have been done in 1997. I stumbled over a repo of UCB BSD commit history, and in it the documentation appears in this May 3rd 1995 change, which at least has the same date. It appears that FreeBSD 2.2.0 was released some time in 1997, which is when this would have appeared in an official release.&lt;br&gt;
In Linux, it seems that a dirent structure with a d_type member appeared only just before 2.4.0, which was released at the start of 2001. Linux took this long because the d_type field only appeared in the 64-bit ‘large file support’ version of the dirent structure, and so was only return by the new 64-bit getdents64() system call. This would have been a few years after FreeBSD officially documented d_type, and probably many years after it was actually available if you peeked at the structure definition.&lt;br&gt;
As far as I can tell, d_type is present on Linux, FreeBSD, OpenBSD, NetBSD, Dragonfly BSD, and Darwin (aka MacOS or OS X). It’s not present on Solaris and thus Illumos. As far as other commercial Unixes go, you’re on your own; all the links to manpages for things like AIX from my old entry on the remaining Unixes appear to have rotted away.&lt;br&gt;
Sidebar: The filesystem also matters on modern Unixes&lt;br&gt;
Even if your Unix supports d_type in directory entries, it doesn’t mean that it’s supported by the filesystem of any specific directory. As far as I know, every Unix with d_type support has support for it in their normal local filesystems, but it’s not guaranteed to be in all filesystems, especially non-Unix ones like FAT32. Your code should always be prepared to deal with a file type of DT_UNKNOWN.&lt;br&gt;
It’s also possible to have things the other way around, where you have a filesystem with support for file type information in directories that’s on a Unix that doesn’t support it. There are a number of plausible reasons for this to happen, but they’re either obvious or beyond the scope of this entry.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://euroquis.nl/bobulate/?p=1979" target="_blank" rel="nofollow noopener"&gt;Multiboot Pinebook KDE neon&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Recently a KDE neon image for the Pinebook was announced. There is a new image, with a handful of fixes, which the KDE Plasma team has been working on over the past week and a half.&lt;br&gt;
Here’s a picture of my Pinebook running KDE neon — watching Panic! At the Disco’s High Hopes — sitting in front of my monitor that’s hooked up to one of my openSUSE systems. There are still some errata, and watching video sucks up battery, but for hacking on documentation from my hammock in the garden, or doing IRC meetings it’s a really nice machine.&lt;br&gt;
But one of the neat things about running KDE neon off of an SD card on the Pinebook is that it’s portable — that SD card can move around. So let’s talk about multiboot in the sense of “booting the same OS storage medium in different hardware units” rather than “booting different OS from a medium in a single hardware unit”. On these little ARM boards, u-boot does all the heavy lifting early in the boot process. So to re-use the KDE neon Pinebook image on another ARM board, the u-boot blocks need to be replaced.&lt;br&gt;
I have the u-boot from a Pine64 image (I forget what) lying around, 1015 blocks of 1024 bytes, which I can dd over the u-boot blocks on the SD card, dd bs=1k conv=notrunc,sync if=uboot.img of=/dev/da0 seek=8, and then the same SD card, with the filesystem and data from the Pinebook, will boot on the Pine64 board. Of course, to move the SD card back again, I need to restore the Pinebook u-boot blocks.&lt;br&gt;
Here’s a picture of my Pineboard (the base is a piece of the garden fence, it’s Douglas pine, with 4mm threaded rods acting as the corner posts for my Pine64 mini-rack), with power and network and a serial console attached, along with the serial console output of the same.&lt;br&gt;
The nice thing here is that the same software stack runs on the Pine64 but then has a wired network — which in turn means that if I switch on the other boards in that mini-rack, I’ve got a distcc-capable cluster for fast development, and vast NFS storage (served from ZFS on my FreeBSD machines) for source. I can develop in a high(er) powered environment, and then swap the card around into the Pinebook for testing-on-the-go.&lt;br&gt;
So to sum up: you can multiboot the KDE neon Pinebook image on other Pine64 hardware (i.e. the Pine64 board). To do so, you need to swap around u-boot blocks. The blocks can be picked out of an image built for each board, and then a particular image (e.g. the latest KDE neon Pinebook) can be run on either board.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2018-September/357883.html" target="_blank" rel="nofollow noopener"&gt;Unexpected benefit with Ryzen – reducing power for build server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/3758" target="_blank" rel="nofollow noopener"&gt;Happy #CIDRDay!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/3771" target="_blank" rel="nofollow noopener"&gt;Absolute FreeBSD 3e ship date&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.mug.org/" target="_blank" rel="nofollow noopener"&gt;MWL FreeBSD talk @ October 9th 2018 - MUG Meeting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ixsystems.com/blog/meetbsd-2018-countdown/" target="_blank" rel="nofollow noopener"&gt;MeetBSD Oct 19-20&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-September/014218.html" target="_blank" rel="nofollow noopener"&gt;October’s London *BSD meetup - 9th Oct 2018&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.bsd.nrw/" target="_blank" rel="nofollow noopener"&gt;NRW BUG Meeting at Trivago Oct. 9&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.socruel.nu/misc/eurobsdcon-2018.html" target="_blank" rel="nofollow noopener"&gt;Lars Wittebrood blogs about his visit to EuroBSDCon 2018&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180925075334" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon 2018 OpenBSD slides available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2018.eurobsdcon.org/talks-speakers/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon conference site has most slides as well&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/3T9M2QC#wrap" target="_blank" rel="nofollow noopener"&gt;Unmounted ZFS sends&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Niclas - &lt;a href="http://dpaste.com/11TKDK2" target="_blank" rel="nofollow noopener"&gt;Report from a Meetup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ghislain - &lt;a href="http://dpaste.com/2790GC6" target="_blank" rel="nofollow noopener"&gt;Bhyve not used?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Shane - &lt;a href="http://dpaste.com/1P055SQ" target="_blank" rel="nofollow noopener"&gt;zpool history and snapshots&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, Ryzen, Pinebook, KDE Neon, bhyve, desktop</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Running OpenBSD/NetBSD on FreeBSD using grub2-bhyve, vermaden’s FreeBSD story, thoughts on OpenBSD on the desktop, history of file type info in Unix dirs, Multiboot a Pinebook KDE neon image, and more.</p>

<p>##Headlines<br>
###<a href="https://oshogbo.vexillium.org/blog/53/" target="_blank" rel="nofollow noopener">OpenBSD/NetBSD on FreeBSD using grub2-bhyve</a></p>

<blockquote>
<p>When I was writing a blog post about the process title, I needed a couple of virtual machines with OpenBSD, NetBSD, and Ubuntu. Before that day I mainly used FreeBSD and Windows with bhyve. I spent some time trying to set up an OpenBSD using bhyve and UEFI as described here. I had numerous problems trying to use it, and this was the day I discovered the grub2-bhyve tool, and I love it!<br>
The grub2-bhyve allows you to load a kernel using GRUB bootloader. GRUB supports most of the operating systems with a standard configuration, so exactly the same method can be used to install NetBSD or Ubuntu. First, let’s install grub2-bhyve on our FreeBSD box:</p>
</blockquote>

<p><code># pkg install grub2-bhyve</code></p>

<blockquote>
<p>To run grub2-bhyve we need to provide at least the name of the VM. In bhyve, if the memsize is not specified the default VM is created with 256MB of the memory.</p>
</blockquote>

<p><code># grub-bhyve test</code><br>
<code>GNU GRUB version 2.00</code><br>
<code>Minimal BASH-like line editing is supported. For the first word, TAB lists possible command</code><br>
<code>completions. Anywhere else TAB lists possible device or file completions.</code><br>
<code></code><br>
<code></code><br>
<code>grub&gt;</code></p>

<blockquote>
<p>After running grub-bhyve command we will enter the GRUB loader. If we type the ls command, we will see all the available devices. In the case of the grub2-bhyve there is one additional device called “(host)” that is always available and allows the host filesystem to be accessed. We can list files under that device.</p>
</blockquote>

<p><code>grub&gt; ls</code><br>
<code>(host)</code><br>
<code>grub&gt; ls (host)/</code><br>
<code>libexec/ bin/ usr/ bhyve/ compat/ tank/ etc/ boot/ net/ entropy proc/ lib/ root/ sys/ mnt/ rescue/ tmp/ home/ sbin/ media/ jail/ COPYRIGHT var/ dev/</code><br>
<code>grub&gt;</code></p>

<blockquote>
<p>To exit console simply type ‘reboot’. I would like to install my new operating system under a ZVOL <code>ztank/bhyve/post</code>. On another terminal, we create:</p>
</blockquote>

<p><code># zfs create -V 10G ztank/bhyve/post</code></p>

<blockquote>
<p>If you don’t use ZFS for some crazy reason you can also create a raw blob using the truncate(1) command.</p>
</blockquote>

<p><code># truncate -s 10G post.img</code></p>

<blockquote>
<p>I recommend installing an operating system from the disk image (installXX.fs for OpenBSD and NetBSD-X.X-amd64-install.img for NetBSD). Now we need to create a device map for a GRUB.</p>
</blockquote>

<p><code>cat &gt; /tmp/post.map &lt;&lt; EOF</code><br>
<code>(hd0) /directory/to/disk/image</code><br>
<code>(hd1) /dev/zvol/ztank/bhyve/post</code><br>
<code>EOF</code></p>

<blockquote>
<p>The mapping files describe the names for files in the GRUB. In our case under hd0 we will have an installation image and in hd1 we will have our ZVOL/blob. You can also try to use an ISO image then instead of using hd0 device name use a cd0. When we will run the grub-bhyve command we will see two additional devices.</p>
</blockquote>

<p><code># grub-bhyve -m /tmp/post.map post</code><br>
<code>grub&gt; ls</code><br>
<code>(hd0) (hd0,msdos4) (hd0,msdos1) (hd0,openbsd9) (hd0,openbsd1) (hd1) (host)</code></p>

<blockquote>
<p>The hd0 (in this example OpenBSD image) contains multiple partitions. We can check what is on it.</p>
</blockquote>

<p><code>grub&gt; ls (hd0,msdos4)/</code><br>
<code>boot bsd 6.4/ etc/</code></p>

<blockquote>
<p>And this is the partition that contains a kernel. Now we can set a root device, load an OpenBSD kernel and boot:</p>
</blockquote>

<p><code>grub&gt; set root=(hd0,msdos4)</code><br>
<code>grub&gt; kopenbsd -h com0 -r sd0a /bsd</code><br>
<code>grub&gt; boot</code></p>

<blockquote>
<p>After that, we can run bhyve virtual machine. In my case it is:</p>
</blockquote>

<p><code># bhyve -c 1 -w -u -H \</code><br>
<code>-s 0,amd_hostbridge \</code><br>
<code>-s 3,ahci-hd,/directory/to/disk/image \</code><br>
<code>-s 4,ahci-hd,/dev/zvol/ztank/bhyve/post \</code><br>
<code>-s 31,lpc -l com1,stdio \</code><br>
<code>post</code></p>

<blockquote>
<p>Unfortunately explaining the whole bhyve(8)  command line is beyond this article. After installing the operating system remove hd0 from the mapping file and the image from the bhyve(8) command. If you don’t want to type all those GRUB commands, you can simply redirect them to the standard input.</p>
</blockquote>

<p><code>cat &lt;&lt; EOF | grub-bhyve -m /tmp/post.map -M 512 post</code><br>
<code>set root=(hd0,4)</code><br>
<code>kopenbsd -h com0 -r sd0a /bsd</code><br>
<code>boot</code><br>
<code>EOF</code></p>

<hr>

<p>###<a href="https://vermaden.wordpress.com/2018/09/07/my-freebsd-story/" target="_blank" rel="nofollow noopener">My FreeBSD Story</a></p>

<blockquote>
<p>My first devices/computers/consoles (not at the same time) that I remember were Atari 2600 and Pegasus console which was hardware clone of the Nintendo NES.<br>
Back then I did not even knew that it was Atari 2600 as I referred to it as Video Computer System … and I did not even knew any english by then. It took me about two decades to get to know (by accident) that this Video Computer System was Atari 2600<br>
Then I got AMIGA 600 computer (or should I say my parents bought it for me) which served both for playing computer games and also other activities for the first time. AMIGA is the computer that had the greatest influence on me, as it was the first time I studied the books about Amiga Workbench operating system and learned commands from Amiga Shell terminal. I loved the idea of Ram Disk icon/directory on the desktop that allowed me to transparently put any things in system memory. I still miss that concept on today’s desktop systems … and I still remember how dismal I was when I watched Amiga Deathbed Vigil movie.<br>
At the end of 1998 I got my first PC that of course came with Windows and that computer served both as gaming machine and as well as typical tool. One time I dig into the internals with Windows Registry (which left me disgusted by its concepts and implementation) and its limited command line interface provided by CMD.EXE executable. I remember that the heart of this box was not the CPU or the motherboard but the graphics accelerator – the legendary 3Dfx Voodoo card. This company (3Dfx) – their attitude and philosophy – also left solid fingerprint on my way. Like AMIGA did.<br>
After ‘migration’ from AMIGA to PC it never again ‘felt right’. The games were cool but the Windows system was horrible. Time has passed and different Windows versions and hardware modifications took place. Windows XP felt really heavy at that time, not to mention Windows 2000 for example with even bigger hardware requirements. I also do not understand all the hate about Windows ME. It crashed with the same frequency as Windows 98 or later Windows 98 Second Edition but maybe my hardware was different ??<br>
I do not have any ‘mine’ screenshots from that period as I lost all my 40 GB (huge then) drive of data when I moved/resized the partition with Partition Magic to get some more space from the less filled C: drive. That day I learned hard that “there are people who do backups and people who will do backups”. I never lost data again as I had multiple copies of my data, but the same as Netheril fall the lost data was was gone forever.<br>
I always followed various alternatives which led me to try Linux in 2003, after reading about various distributions philosophies I decided to run Slackware Linux with KDE 3. My buddy used Aurox Linux by then (one of the few Linux distributions from Poland) and encouraged me to do the same – especially in the context of fixing possible problems as he already knew it and also as he recently dumped Windows system. But Slackware sounded like a better idea so I took that path instead. At first I dual booted between Windows XP and Slackware Linux cause I had everything worked out on the Windows world while I often felt helpless in the Linux world, so I would reboot into Windows to play some games or find a solution for Linux problem if that was required. I remember how strange the concept of dual clipboards (PRIMARY and SECONDARY) was for me by then. I was amazed why ‘so much better’ system as Linux (at least marketed that way) needs a system tray program to literally manage the clipboard. On Windows it was obvious, you do [CTRL]+[C] to copy and [CTRL]+[V] to paste things, but on Linux there (no I know its X11 feature) there were two clipboards that were synchronized by this little system tray program from KDE 3. It was also unthinkable for me that I will ‘lost’ contents of last/recent [CTRL]+[C] operation if I close the application from which the copy was made. I settled down a little on Slackware but not for long. I really did not liked manual dependency management for packages for example. Also KDE 3 was really ugly and despite trying all possible options I was not able to tweak it into something nice looking.<br>
After half a year on Slackware I checked the Linux distributions again and decided to try Gentoo Linux. I definitely agree with the image below which visualizes Gentoo Linux experience, especially when You install it for he first time ??<br>
Of course I went with the most hardcore version with self building Stage 1 (compiler and toolchain) which was horrible idea at that time because compilation on slow single core machine took forever … but after many hours I got Gentoo installed. I now have to decide which desktop environment to use. I have read a lot of good news about Fluxbox at that time so this is what I tried. It was very weird experience (to create everything in GUI from scratch) but very pleasant one. That recalled me the times of AMIGA … but Linux came in the way too much often. The more I dig into Gentoo Linux the more I read that lots of Gentoo features are based on FreeBSD solutions. Gentoo Portage is a clone of FreeBSD Ports. That ‘central’ /etc/rc.conf system configuration file concept was taken from FreeBSD as well. So I started to gather information about FreeBSD. The (then) FreeBSD website or FreeBSD Ports site (still) felt little outdated to say the least but that did not discouraged me.<br>
Somewhere in 2005 I installed FreeBSD 5.4 on my computer. The beginnings were hard, like the earlier step with Gentoo but similarly like Gentoo the FreeBSD project came with a lot of great documentation. While Gentoo documentation is concentrated within various Gentoo Wiki sites the FreeBSD project comes with ‘official’ documentation in the form of Handbook and FAQ. I remember my first questions at the now nonexistent <a href="http://BSDForums.org" target="_blank" rel="nofollow noopener">BSDForums.org</a> site – for example one of the first ones – how to scroll the terminal output in the plain console. I now know that I had to push Scroll Lock button but it was something totally new for me.<br>
Why FreeBSD and not OpenBSD or NetBSD? Probably because Gentoo based most their concepts on the FreeBSD solutions, so that led me to FreeBSD instead of the other BSD operating systems. Currently I still use FreeBSD but I keep an steady eye on the OpenBSD, HardenedBSD and DragonFly BSD solutions and improvements.<br>
As the migration path from Linux to FreeBSD is a lot easier – all configuration files from /home can be just copied – the migration was quite fast easy. I again had the Fluxbox configuration which I used on the Gentoo. Now – on FreeBSD – it started to fell even more like AMIGA times. Everything is/has been well thought and had its place and reason. The documentation was good and the FreeBSD Community was second to none.<br>
After 15 years of using various Windows, UNIX (macOS/AIX/HP-UX/Solaris/OpenSolaris/Illumos/FreeBSD/OpenBSD/NetBSD) and UNIX-like (Linux) systems I always come to conclusion that FreeBSD is the system that sucks least. And sucks least with each release and one day I will write why FreeBSD is such great operating system … if I already haven’t</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://blog.gsora.xyz/openbsd-on-the-desktop-some-thoughts/" target="_blank" rel="nofollow noopener">OpenBSD on the Desktop: some thoughts</a></p>

<blockquote>
<p>I’ve been using OpenBSD on my ThinkPad X230 for some weeks now, and the experience has been peculiar in some ways.<br>
The OS itself in my opinion is not ready for widespread desktop usage, and the development team is not trying to push it in the throat of anybody who wants a Windows or macOS alternative. You need to understand a little bit of how *NIX systems work, because you’ll use CLI more than UI. That’s not necessarily bad, and I’m sure I learned a trick or two that could translate easily to Linux or macOS. Their development process is purely based on developers that love to contribute and hack around, just because it’s fun. Even the mailing list is a cool place to hang on! Code correctness and security are a must, nothing gets committed if it doesn’t get reviewed thoroughly first - nowadays the first two properties should be enforced in every major operating system.<br>
I like the idea of a platform that continually evolves. pledge(2) and unveil(2) are the proof that with a little effort, you can secure existing software better than ever.<br>
I like the “sensible defaults” approach, having an OS ready to be used - UI included if you selected it during the setup process - is great.<br>
Just install a browser and you’re ready to go.<br>
Manual pages on OpenBSD are real manuals, not an extension of the “–help” command found in most CLI softwares. They help you understand inner workings of the operating system, no internet connection needed. There are some trade-offs, too.<br>
Performance is not first-class, mostly because of all the security mitigations and checks done at runtime.<br>
I write Go code in neovim, and sometimes you can feel a slight slowdown when you’re compiling and editing multiple files at the same time, but usually I can’t notice any meaningful difference. Browsers are a different matter though, you can definitely feel something differs from the experience you can have on mainstream operating systems. But again, trade-offs.<br>
To use OpenBSD on the desktop you must be ready to sacrifice some of the goodies of mainstream OSes, but if you’re searching for a zen place to do your computing stuff, it’s the best you can get right now.</p>
</blockquote>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/unix/DirectoryDTypeHistory" target="_blank" rel="nofollow noopener">The history of file type information being available in Unix directories</a></p>

<blockquote>
<p>The two things that Unix directory entries absolutely have to have are the name of the directory entry and its ‘inode’, by which we generically mean some stable kernel identifier for the file that will persist if it gets renamed, linked to other directories, and so on. Unsurprisingly, directory entries have had these since the days when you read the raw bytes of directories with read(), and for a long time that was all they had; if you wanted more than the name and the inode number, you had to stat() the file, not just read the directory. Then, well, I’ll quote myself from an old entry on a find optimization:<br>
[…], Unix filesystem developers realized that it was very common for programs reading directories to need to know a bit more about directory entries than just their names, especially their file types (find is the obvious case, but also consider things like ‘ls -F’). Given that the type of an active inode never changes, it’s possible to embed this information straight in the directory entry and then return this to user level, and that’s what developers did; on some systems, readdir(3) will now return directory entries with an additional d_type field that has the directory entry’s type.<br>
On Twitter, I recently grumbled about Illumos not having this d_type field. The ensuing conversation wound up with me curious about exactly where d_type came from and how far back it went. The answer turns out to be a bit surprising due to there being two sides of d_type.<br>
On the kernel side, d_type appears to have shown up in 4.4 BSD. The 4.4 BSD /usr/src/sys/dirent.h has a struct dirent that has a d_type field, but the field isn’t documented in either the comments in the file or in the getdirentries(2) manpage; both of those admit only to the traditional BSD dirent fields. This 4.4 BSD d_type was carried through to things that inherited from 4.4 BSD (Lite), specifically FreeBSD, but it continued to be undocumented for at least a while.<br>
(In FreeBSD, the most convenient history I can find is here, and the d_type field is present in sys/dirent.h as far back as FreeBSD 2.0, which seems to be as far as the repo goes for releases.)<br>
Documentation for d_type appeared in the getdirentries(2) manpage in FreeBSD 2.2.0, where the manpage itself claims to have been updated on May 3rd 1995 (cf). In FreeBSD, this appears to have been part of merging 4.4 BSD ‘Lite2’, which seems to have been done in 1997. I stumbled over a repo of UCB BSD commit history, and in it the documentation appears in this May 3rd 1995 change, which at least has the same date. It appears that FreeBSD 2.2.0 was released some time in 1997, which is when this would have appeared in an official release.<br>
In Linux, it seems that a dirent structure with a d_type member appeared only just before 2.4.0, which was released at the start of 2001. Linux took this long because the d_type field only appeared in the 64-bit ‘large file support’ version of the dirent structure, and so was only return by the new 64-bit getdents64() system call. This would have been a few years after FreeBSD officially documented d_type, and probably many years after it was actually available if you peeked at the structure definition.<br>
As far as I can tell, d_type is present on Linux, FreeBSD, OpenBSD, NetBSD, Dragonfly BSD, and Darwin (aka MacOS or OS X). It’s not present on Solaris and thus Illumos. As far as other commercial Unixes go, you’re on your own; all the links to manpages for things like AIX from my old entry on the remaining Unixes appear to have rotted away.<br>
Sidebar: The filesystem also matters on modern Unixes<br>
Even if your Unix supports d_type in directory entries, it doesn’t mean that it’s supported by the filesystem of any specific directory. As far as I know, every Unix with d_type support has support for it in their normal local filesystems, but it’s not guaranteed to be in all filesystems, especially non-Unix ones like FAT32. Your code should always be prepared to deal with a file type of DT_UNKNOWN.<br>
It’s also possible to have things the other way around, where you have a filesystem with support for file type information in directories that’s on a Unix that doesn’t support it. There are a number of plausible reasons for this to happen, but they’re either obvious or beyond the scope of this entry.</p>
</blockquote>

<hr>

<p>###<a href="https://euroquis.nl/bobulate/?p=1979" target="_blank" rel="nofollow noopener">Multiboot Pinebook KDE neon</a></p>

<blockquote>
<p>Recently a KDE neon image for the Pinebook was announced. There is a new image, with a handful of fixes, which the KDE Plasma team has been working on over the past week and a half.<br>
Here’s a picture of my Pinebook running KDE neon — watching Panic! At the Disco’s High Hopes — sitting in front of my monitor that’s hooked up to one of my openSUSE systems. There are still some errata, and watching video sucks up battery, but for hacking on documentation from my hammock in the garden, or doing IRC meetings it’s a really nice machine.<br>
But one of the neat things about running KDE neon off of an SD card on the Pinebook is that it’s portable — that SD card can move around. So let’s talk about multiboot in the sense of “booting the same OS storage medium in different hardware units” rather than “booting different OS from a medium in a single hardware unit”. On these little ARM boards, u-boot does all the heavy lifting early in the boot process. So to re-use the KDE neon Pinebook image on another ARM board, the u-boot blocks need to be replaced.<br>
I have the u-boot from a Pine64 image (I forget what) lying around, 1015 blocks of 1024 bytes, which I can dd over the u-boot blocks on the SD card, dd bs=1k conv=notrunc,sync if=uboot.img of=/dev/da0 seek=8, and then the same SD card, with the filesystem and data from the Pinebook, will boot on the Pine64 board. Of course, to move the SD card back again, I need to restore the Pinebook u-boot blocks.<br>
Here’s a picture of my Pineboard (the base is a piece of the garden fence, it’s Douglas pine, with 4mm threaded rods acting as the corner posts for my Pine64 mini-rack), with power and network and a serial console attached, along with the serial console output of the same.<br>
The nice thing here is that the same software stack runs on the Pine64 but then has a wired network — which in turn means that if I switch on the other boards in that mini-rack, I’ve got a distcc-capable cluster for fast development, and vast NFS storage (served from ZFS on my FreeBSD machines) for source. I can develop in a high(er) powered environment, and then swap the card around into the Pinebook for testing-on-the-go.<br>
So to sum up: you can multiboot the KDE neon Pinebook image on other Pine64 hardware (i.e. the Pine64 board). To do so, you need to swap around u-boot blocks. The blocks can be picked out of an image built for each board, and then a particular image (e.g. the latest KDE neon Pinebook) can be run on either board.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2018-September/357883.html" target="_blank" rel="nofollow noopener">Unexpected benefit with Ryzen – reducing power for build server</a></li>
<li><a href="https://mwl.io/archives/3758" target="_blank" rel="nofollow noopener">Happy #CIDRDay!</a></li>
<li><a href="https://mwl.io/archives/3771" target="_blank" rel="nofollow noopener">Absolute FreeBSD 3e ship date</a></li>
<li><a href="http://www.mug.org/" target="_blank" rel="nofollow noopener">MWL FreeBSD talk @ October 9th 2018 - MUG Meeting</a></li>
<li><a href="https://www.ixsystems.com/blog/meetbsd-2018-countdown/" target="_blank" rel="nofollow noopener">MeetBSD Oct 19-20</a></li>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-September/014218.html" target="_blank" rel="nofollow noopener">October’s London *BSD meetup - 9th Oct 2018</a></li>
<li><a href="https://www.bsd.nrw/" target="_blank" rel="nofollow noopener">NRW BUG Meeting at Trivago Oct. 9</a></li>
<li><a href="https://blog.socruel.nu/misc/eurobsdcon-2018.html" target="_blank" rel="nofollow noopener">Lars Wittebrood blogs about his visit to EuroBSDCon 2018</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180925075334" target="_blank" rel="nofollow noopener">EuroBSDcon 2018 OpenBSD slides available</a></li>
<li><a href="https://2018.eurobsdcon.org/talks-speakers/" target="_blank" rel="nofollow noopener">EuroBSDCon conference site has most slides as well</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Brad - <a href="http://dpaste.com/3T9M2QC#wrap" target="_blank" rel="nofollow noopener">Unmounted ZFS sends</a></li>
<li>Niclas - <a href="http://dpaste.com/11TKDK2" target="_blank" rel="nofollow noopener">Report from a Meetup</a></li>
<li>Ghislain - <a href="http://dpaste.com/2790GC6" target="_blank" rel="nofollow noopener">Bhyve not used?</a></li>
<li>Shane - <a href="http://dpaste.com/1P055SQ" target="_blank" rel="nofollow noopener">zpool history and snapshots</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Running OpenBSD/NetBSD on FreeBSD using grub2-bhyve, vermaden’s FreeBSD story, thoughts on OpenBSD on the desktop, history of file type info in Unix dirs, Multiboot a Pinebook KDE neon image, and more.</p>

<p>##Headlines<br>
###<a href="https://oshogbo.vexillium.org/blog/53/" target="_blank" rel="nofollow noopener">OpenBSD/NetBSD on FreeBSD using grub2-bhyve</a></p>

<blockquote>
<p>When I was writing a blog post about the process title, I needed a couple of virtual machines with OpenBSD, NetBSD, and Ubuntu. Before that day I mainly used FreeBSD and Windows with bhyve. I spent some time trying to set up an OpenBSD using bhyve and UEFI as described here. I had numerous problems trying to use it, and this was the day I discovered the grub2-bhyve tool, and I love it!<br>
The grub2-bhyve allows you to load a kernel using GRUB bootloader. GRUB supports most of the operating systems with a standard configuration, so exactly the same method can be used to install NetBSD or Ubuntu. First, let’s install grub2-bhyve on our FreeBSD box:</p>
</blockquote>

<p><code># pkg install grub2-bhyve</code></p>

<blockquote>
<p>To run grub2-bhyve we need to provide at least the name of the VM. In bhyve, if the memsize is not specified the default VM is created with 256MB of the memory.</p>
</blockquote>

<p><code># grub-bhyve test</code><br>
<code>GNU GRUB version 2.00</code><br>
<code>Minimal BASH-like line editing is supported. For the first word, TAB lists possible command</code><br>
<code>completions. Anywhere else TAB lists possible device or file completions.</code><br>
<code></code><br>
<code></code><br>
<code>grub&gt;</code></p>

<blockquote>
<p>After running grub-bhyve command we will enter the GRUB loader. If we type the ls command, we will see all the available devices. In the case of the grub2-bhyve there is one additional device called “(host)” that is always available and allows the host filesystem to be accessed. We can list files under that device.</p>
</blockquote>

<p><code>grub&gt; ls</code><br>
<code>(host)</code><br>
<code>grub&gt; ls (host)/</code><br>
<code>libexec/ bin/ usr/ bhyve/ compat/ tank/ etc/ boot/ net/ entropy proc/ lib/ root/ sys/ mnt/ rescue/ tmp/ home/ sbin/ media/ jail/ COPYRIGHT var/ dev/</code><br>
<code>grub&gt;</code></p>

<blockquote>
<p>To exit console simply type ‘reboot’. I would like to install my new operating system under a ZVOL <code>ztank/bhyve/post</code>. On another terminal, we create:</p>
</blockquote>

<p><code># zfs create -V 10G ztank/bhyve/post</code></p>

<blockquote>
<p>If you don’t use ZFS for some crazy reason you can also create a raw blob using the truncate(1) command.</p>
</blockquote>

<p><code># truncate -s 10G post.img</code></p>

<blockquote>
<p>I recommend installing an operating system from the disk image (installXX.fs for OpenBSD and NetBSD-X.X-amd64-install.img for NetBSD). Now we need to create a device map for a GRUB.</p>
</blockquote>

<p><code>cat &gt; /tmp/post.map &lt;&lt; EOF</code><br>
<code>(hd0) /directory/to/disk/image</code><br>
<code>(hd1) /dev/zvol/ztank/bhyve/post</code><br>
<code>EOF</code></p>

<blockquote>
<p>The mapping files describe the names for files in the GRUB. In our case under hd0 we will have an installation image and in hd1 we will have our ZVOL/blob. You can also try to use an ISO image then instead of using hd0 device name use a cd0. When we will run the grub-bhyve command we will see two additional devices.</p>
</blockquote>

<p><code># grub-bhyve -m /tmp/post.map post</code><br>
<code>grub&gt; ls</code><br>
<code>(hd0) (hd0,msdos4) (hd0,msdos1) (hd0,openbsd9) (hd0,openbsd1) (hd1) (host)</code></p>

<blockquote>
<p>The hd0 (in this example OpenBSD image) contains multiple partitions. We can check what is on it.</p>
</blockquote>

<p><code>grub&gt; ls (hd0,msdos4)/</code><br>
<code>boot bsd 6.4/ etc/</code></p>

<blockquote>
<p>And this is the partition that contains a kernel. Now we can set a root device, load an OpenBSD kernel and boot:</p>
</blockquote>

<p><code>grub&gt; set root=(hd0,msdos4)</code><br>
<code>grub&gt; kopenbsd -h com0 -r sd0a /bsd</code><br>
<code>grub&gt; boot</code></p>

<blockquote>
<p>After that, we can run bhyve virtual machine. In my case it is:</p>
</blockquote>

<p><code># bhyve -c 1 -w -u -H \</code><br>
<code>-s 0,amd_hostbridge \</code><br>
<code>-s 3,ahci-hd,/directory/to/disk/image \</code><br>
<code>-s 4,ahci-hd,/dev/zvol/ztank/bhyve/post \</code><br>
<code>-s 31,lpc -l com1,stdio \</code><br>
<code>post</code></p>

<blockquote>
<p>Unfortunately explaining the whole bhyve(8)  command line is beyond this article. After installing the operating system remove hd0 from the mapping file and the image from the bhyve(8) command. If you don’t want to type all those GRUB commands, you can simply redirect them to the standard input.</p>
</blockquote>

<p><code>cat &lt;&lt; EOF | grub-bhyve -m /tmp/post.map -M 512 post</code><br>
<code>set root=(hd0,4)</code><br>
<code>kopenbsd -h com0 -r sd0a /bsd</code><br>
<code>boot</code><br>
<code>EOF</code></p>

<hr>

<p>###<a href="https://vermaden.wordpress.com/2018/09/07/my-freebsd-story/" target="_blank" rel="nofollow noopener">My FreeBSD Story</a></p>

<blockquote>
<p>My first devices/computers/consoles (not at the same time) that I remember were Atari 2600 and Pegasus console which was hardware clone of the Nintendo NES.<br>
Back then I did not even knew that it was Atari 2600 as I referred to it as Video Computer System … and I did not even knew any english by then. It took me about two decades to get to know (by accident) that this Video Computer System was Atari 2600<br>
Then I got AMIGA 600 computer (or should I say my parents bought it for me) which served both for playing computer games and also other activities for the first time. AMIGA is the computer that had the greatest influence on me, as it was the first time I studied the books about Amiga Workbench operating system and learned commands from Amiga Shell terminal. I loved the idea of Ram Disk icon/directory on the desktop that allowed me to transparently put any things in system memory. I still miss that concept on today’s desktop systems … and I still remember how dismal I was when I watched Amiga Deathbed Vigil movie.<br>
At the end of 1998 I got my first PC that of course came with Windows and that computer served both as gaming machine and as well as typical tool. One time I dig into the internals with Windows Registry (which left me disgusted by its concepts and implementation) and its limited command line interface provided by CMD.EXE executable. I remember that the heart of this box was not the CPU or the motherboard but the graphics accelerator – the legendary 3Dfx Voodoo card. This company (3Dfx) – their attitude and philosophy – also left solid fingerprint on my way. Like AMIGA did.<br>
After ‘migration’ from AMIGA to PC it never again ‘felt right’. The games were cool but the Windows system was horrible. Time has passed and different Windows versions and hardware modifications took place. Windows XP felt really heavy at that time, not to mention Windows 2000 for example with even bigger hardware requirements. I also do not understand all the hate about Windows ME. It crashed with the same frequency as Windows 98 or later Windows 98 Second Edition but maybe my hardware was different ??<br>
I do not have any ‘mine’ screenshots from that period as I lost all my 40 GB (huge then) drive of data when I moved/resized the partition with Partition Magic to get some more space from the less filled C: drive. That day I learned hard that “there are people who do backups and people who will do backups”. I never lost data again as I had multiple copies of my data, but the same as Netheril fall the lost data was was gone forever.<br>
I always followed various alternatives which led me to try Linux in 2003, after reading about various distributions philosophies I decided to run Slackware Linux with KDE 3. My buddy used Aurox Linux by then (one of the few Linux distributions from Poland) and encouraged me to do the same – especially in the context of fixing possible problems as he already knew it and also as he recently dumped Windows system. But Slackware sounded like a better idea so I took that path instead. At first I dual booted between Windows XP and Slackware Linux cause I had everything worked out on the Windows world while I often felt helpless in the Linux world, so I would reboot into Windows to play some games or find a solution for Linux problem if that was required. I remember how strange the concept of dual clipboards (PRIMARY and SECONDARY) was for me by then. I was amazed why ‘so much better’ system as Linux (at least marketed that way) needs a system tray program to literally manage the clipboard. On Windows it was obvious, you do [CTRL]+[C] to copy and [CTRL]+[V] to paste things, but on Linux there (no I know its X11 feature) there were two clipboards that were synchronized by this little system tray program from KDE 3. It was also unthinkable for me that I will ‘lost’ contents of last/recent [CTRL]+[C] operation if I close the application from which the copy was made. I settled down a little on Slackware but not for long. I really did not liked manual dependency management for packages for example. Also KDE 3 was really ugly and despite trying all possible options I was not able to tweak it into something nice looking.<br>
After half a year on Slackware I checked the Linux distributions again and decided to try Gentoo Linux. I definitely agree with the image below which visualizes Gentoo Linux experience, especially when You install it for he first time ??<br>
Of course I went with the most hardcore version with self building Stage 1 (compiler and toolchain) which was horrible idea at that time because compilation on slow single core machine took forever … but after many hours I got Gentoo installed. I now have to decide which desktop environment to use. I have read a lot of good news about Fluxbox at that time so this is what I tried. It was very weird experience (to create everything in GUI from scratch) but very pleasant one. That recalled me the times of AMIGA … but Linux came in the way too much often. The more I dig into Gentoo Linux the more I read that lots of Gentoo features are based on FreeBSD solutions. Gentoo Portage is a clone of FreeBSD Ports. That ‘central’ /etc/rc.conf system configuration file concept was taken from FreeBSD as well. So I started to gather information about FreeBSD. The (then) FreeBSD website or FreeBSD Ports site (still) felt little outdated to say the least but that did not discouraged me.<br>
Somewhere in 2005 I installed FreeBSD 5.4 on my computer. The beginnings were hard, like the earlier step with Gentoo but similarly like Gentoo the FreeBSD project came with a lot of great documentation. While Gentoo documentation is concentrated within various Gentoo Wiki sites the FreeBSD project comes with ‘official’ documentation in the form of Handbook and FAQ. I remember my first questions at the now nonexistent <a href="http://BSDForums.org" target="_blank" rel="nofollow noopener">BSDForums.org</a> site – for example one of the first ones – how to scroll the terminal output in the plain console. I now know that I had to push Scroll Lock button but it was something totally new for me.<br>
Why FreeBSD and not OpenBSD or NetBSD? Probably because Gentoo based most their concepts on the FreeBSD solutions, so that led me to FreeBSD instead of the other BSD operating systems. Currently I still use FreeBSD but I keep an steady eye on the OpenBSD, HardenedBSD and DragonFly BSD solutions and improvements.<br>
As the migration path from Linux to FreeBSD is a lot easier – all configuration files from /home can be just copied – the migration was quite fast easy. I again had the Fluxbox configuration which I used on the Gentoo. Now – on FreeBSD – it started to fell even more like AMIGA times. Everything is/has been well thought and had its place and reason. The documentation was good and the FreeBSD Community was second to none.<br>
After 15 years of using various Windows, UNIX (macOS/AIX/HP-UX/Solaris/OpenSolaris/Illumos/FreeBSD/OpenBSD/NetBSD) and UNIX-like (Linux) systems I always come to conclusion that FreeBSD is the system that sucks least. And sucks least with each release and one day I will write why FreeBSD is such great operating system … if I already haven’t</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://blog.gsora.xyz/openbsd-on-the-desktop-some-thoughts/" target="_blank" rel="nofollow noopener">OpenBSD on the Desktop: some thoughts</a></p>

<blockquote>
<p>I’ve been using OpenBSD on my ThinkPad X230 for some weeks now, and the experience has been peculiar in some ways.<br>
The OS itself in my opinion is not ready for widespread desktop usage, and the development team is not trying to push it in the throat of anybody who wants a Windows or macOS alternative. You need to understand a little bit of how *NIX systems work, because you’ll use CLI more than UI. That’s not necessarily bad, and I’m sure I learned a trick or two that could translate easily to Linux or macOS. Their development process is purely based on developers that love to contribute and hack around, just because it’s fun. Even the mailing list is a cool place to hang on! Code correctness and security are a must, nothing gets committed if it doesn’t get reviewed thoroughly first - nowadays the first two properties should be enforced in every major operating system.<br>
I like the idea of a platform that continually evolves. pledge(2) and unveil(2) are the proof that with a little effort, you can secure existing software better than ever.<br>
I like the “sensible defaults” approach, having an OS ready to be used - UI included if you selected it during the setup process - is great.<br>
Just install a browser and you’re ready to go.<br>
Manual pages on OpenBSD are real manuals, not an extension of the “–help” command found in most CLI softwares. They help you understand inner workings of the operating system, no internet connection needed. There are some trade-offs, too.<br>
Performance is not first-class, mostly because of all the security mitigations and checks done at runtime.<br>
I write Go code in neovim, and sometimes you can feel a slight slowdown when you’re compiling and editing multiple files at the same time, but usually I can’t notice any meaningful difference. Browsers are a different matter though, you can definitely feel something differs from the experience you can have on mainstream operating systems. But again, trade-offs.<br>
To use OpenBSD on the desktop you must be ready to sacrifice some of the goodies of mainstream OSes, but if you’re searching for a zen place to do your computing stuff, it’s the best you can get right now.</p>
</blockquote>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/unix/DirectoryDTypeHistory" target="_blank" rel="nofollow noopener">The history of file type information being available in Unix directories</a></p>

<blockquote>
<p>The two things that Unix directory entries absolutely have to have are the name of the directory entry and its ‘inode’, by which we generically mean some stable kernel identifier for the file that will persist if it gets renamed, linked to other directories, and so on. Unsurprisingly, directory entries have had these since the days when you read the raw bytes of directories with read(), and for a long time that was all they had; if you wanted more than the name and the inode number, you had to stat() the file, not just read the directory. Then, well, I’ll quote myself from an old entry on a find optimization:<br>
[…], Unix filesystem developers realized that it was very common for programs reading directories to need to know a bit more about directory entries than just their names, especially their file types (find is the obvious case, but also consider things like ‘ls -F’). Given that the type of an active inode never changes, it’s possible to embed this information straight in the directory entry and then return this to user level, and that’s what developers did; on some systems, readdir(3) will now return directory entries with an additional d_type field that has the directory entry’s type.<br>
On Twitter, I recently grumbled about Illumos not having this d_type field. The ensuing conversation wound up with me curious about exactly where d_type came from and how far back it went. The answer turns out to be a bit surprising due to there being two sides of d_type.<br>
On the kernel side, d_type appears to have shown up in 4.4 BSD. The 4.4 BSD /usr/src/sys/dirent.h has a struct dirent that has a d_type field, but the field isn’t documented in either the comments in the file or in the getdirentries(2) manpage; both of those admit only to the traditional BSD dirent fields. This 4.4 BSD d_type was carried through to things that inherited from 4.4 BSD (Lite), specifically FreeBSD, but it continued to be undocumented for at least a while.<br>
(In FreeBSD, the most convenient history I can find is here, and the d_type field is present in sys/dirent.h as far back as FreeBSD 2.0, which seems to be as far as the repo goes for releases.)<br>
Documentation for d_type appeared in the getdirentries(2) manpage in FreeBSD 2.2.0, where the manpage itself claims to have been updated on May 3rd 1995 (cf). In FreeBSD, this appears to have been part of merging 4.4 BSD ‘Lite2’, which seems to have been done in 1997. I stumbled over a repo of UCB BSD commit history, and in it the documentation appears in this May 3rd 1995 change, which at least has the same date. It appears that FreeBSD 2.2.0 was released some time in 1997, which is when this would have appeared in an official release.<br>
In Linux, it seems that a dirent structure with a d_type member appeared only just before 2.4.0, which was released at the start of 2001. Linux took this long because the d_type field only appeared in the 64-bit ‘large file support’ version of the dirent structure, and so was only return by the new 64-bit getdents64() system call. This would have been a few years after FreeBSD officially documented d_type, and probably many years after it was actually available if you peeked at the structure definition.<br>
As far as I can tell, d_type is present on Linux, FreeBSD, OpenBSD, NetBSD, Dragonfly BSD, and Darwin (aka MacOS or OS X). It’s not present on Solaris and thus Illumos. As far as other commercial Unixes go, you’re on your own; all the links to manpages for things like AIX from my old entry on the remaining Unixes appear to have rotted away.<br>
Sidebar: The filesystem also matters on modern Unixes<br>
Even if your Unix supports d_type in directory entries, it doesn’t mean that it’s supported by the filesystem of any specific directory. As far as I know, every Unix with d_type support has support for it in their normal local filesystems, but it’s not guaranteed to be in all filesystems, especially non-Unix ones like FAT32. Your code should always be prepared to deal with a file type of DT_UNKNOWN.<br>
It’s also possible to have things the other way around, where you have a filesystem with support for file type information in directories that’s on a Unix that doesn’t support it. There are a number of plausible reasons for this to happen, but they’re either obvious or beyond the scope of this entry.</p>
</blockquote>

<hr>

<p>###<a href="https://euroquis.nl/bobulate/?p=1979" target="_blank" rel="nofollow noopener">Multiboot Pinebook KDE neon</a></p>

<blockquote>
<p>Recently a KDE neon image for the Pinebook was announced. There is a new image, with a handful of fixes, which the KDE Plasma team has been working on over the past week and a half.<br>
Here’s a picture of my Pinebook running KDE neon — watching Panic! At the Disco’s High Hopes — sitting in front of my monitor that’s hooked up to one of my openSUSE systems. There are still some errata, and watching video sucks up battery, but for hacking on documentation from my hammock in the garden, or doing IRC meetings it’s a really nice machine.<br>
But one of the neat things about running KDE neon off of an SD card on the Pinebook is that it’s portable — that SD card can move around. So let’s talk about multiboot in the sense of “booting the same OS storage medium in different hardware units” rather than “booting different OS from a medium in a single hardware unit”. On these little ARM boards, u-boot does all the heavy lifting early in the boot process. So to re-use the KDE neon Pinebook image on another ARM board, the u-boot blocks need to be replaced.<br>
I have the u-boot from a Pine64 image (I forget what) lying around, 1015 blocks of 1024 bytes, which I can dd over the u-boot blocks on the SD card, dd bs=1k conv=notrunc,sync if=uboot.img of=/dev/da0 seek=8, and then the same SD card, with the filesystem and data from the Pinebook, will boot on the Pine64 board. Of course, to move the SD card back again, I need to restore the Pinebook u-boot blocks.<br>
Here’s a picture of my Pineboard (the base is a piece of the garden fence, it’s Douglas pine, with 4mm threaded rods acting as the corner posts for my Pine64 mini-rack), with power and network and a serial console attached, along with the serial console output of the same.<br>
The nice thing here is that the same software stack runs on the Pine64 but then has a wired network — which in turn means that if I switch on the other boards in that mini-rack, I’ve got a distcc-capable cluster for fast development, and vast NFS storage (served from ZFS on my FreeBSD machines) for source. I can develop in a high(er) powered environment, and then swap the card around into the Pinebook for testing-on-the-go.<br>
So to sum up: you can multiboot the KDE neon Pinebook image on other Pine64 hardware (i.e. the Pine64 board). To do so, you need to swap around u-boot blocks. The blocks can be picked out of an image built for each board, and then a particular image (e.g. the latest KDE neon Pinebook) can be run on either board.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2018-September/357883.html" target="_blank" rel="nofollow noopener">Unexpected benefit with Ryzen – reducing power for build server</a></li>
<li><a href="https://mwl.io/archives/3758" target="_blank" rel="nofollow noopener">Happy #CIDRDay!</a></li>
<li><a href="https://mwl.io/archives/3771" target="_blank" rel="nofollow noopener">Absolute FreeBSD 3e ship date</a></li>
<li><a href="http://www.mug.org/" target="_blank" rel="nofollow noopener">MWL FreeBSD talk @ October 9th 2018 - MUG Meeting</a></li>
<li><a href="https://www.ixsystems.com/blog/meetbsd-2018-countdown/" target="_blank" rel="nofollow noopener">MeetBSD Oct 19-20</a></li>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-September/014218.html" target="_blank" rel="nofollow noopener">October’s London *BSD meetup - 9th Oct 2018</a></li>
<li><a href="https://www.bsd.nrw/" target="_blank" rel="nofollow noopener">NRW BUG Meeting at Trivago Oct. 9</a></li>
<li><a href="https://blog.socruel.nu/misc/eurobsdcon-2018.html" target="_blank" rel="nofollow noopener">Lars Wittebrood blogs about his visit to EuroBSDCon 2018</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180925075334" target="_blank" rel="nofollow noopener">EuroBSDcon 2018 OpenBSD slides available</a></li>
<li><a href="https://2018.eurobsdcon.org/talks-speakers/" target="_blank" rel="nofollow noopener">EuroBSDCon conference site has most slides as well</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Brad - <a href="http://dpaste.com/3T9M2QC#wrap" target="_blank" rel="nofollow noopener">Unmounted ZFS sends</a></li>
<li>Niclas - <a href="http://dpaste.com/11TKDK2" target="_blank" rel="nofollow noopener">Report from a Meetup</a></li>
<li>Ghislain - <a href="http://dpaste.com/2790GC6" target="_blank" rel="nofollow noopener">Bhyve not used?</a></li>
<li>Shane - <a href="http://dpaste.com/1P055SQ" target="_blank" rel="nofollow noopener">zpool history and snapshots</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 265: Software Disenchantment | BSD Now 265</title>
  <link>https://www.bsdnow.tv/265</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2631</guid>
  <pubDate>Thu, 27 Sep 2018 04:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/01bccaf7-cfe6-48d1-90e8-8fd66badaeb6.mp3" length="61339126" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We report from our experiences at EuroBSDcon, disenchant software, LLVM 7.0.0 has been released, Thinkpad BIOS update options, HardenedBSD Foundation announced, and ZFS send vs. rsync.</itunes:subtitle>
  <itunes:duration>1:41:55</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>&lt;p&gt;We report from our experiences at EuroBSDcon, disenchant software, LLVM 7.0.0 has been released, Thinkpad BIOS update options, HardenedBSD Foundation announced, and ZFS send vs. rsync.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;/p&gt;

&lt;p&gt;###[FreeBSD DevSummit &amp;amp; EuroBSDcon 2018 in Romania]&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your hosts are back from EuroBSDcon 2018 held in Bucharest, Romania this year. The first two days of the conference are used for tutorials and devsummits (FreeBSD and NetBSD), while the last two are for talks.&lt;/li&gt;
&lt;li&gt;Although Benedict organized the devsummit in large parts, he did not attend it this year. He held his Ansible tutorial in the morning of the first day, followed by Niclas Zeising’s new ports and poudriere tutorial (which had a record attendance). It was intended for beginners that had never used poudriere before and those who wanted to create their first port. The tutorial was well received and Niclas already has ideas for extending it for future conferences.&lt;/li&gt;
&lt;li&gt;On the second day, Benedict took Kirk McKusick’s “An Introduction to the FreeBSD Open-Source Operating System” tutorial, held as a one full day class this year. Although it was reduced in content, it went into enough depth of many areas of the kernel and operating system to spark many questions from attendees. Clearly, this is a good start into kernel programming as Kirk provides enough material and backstories to understand why certain things are implemented as they are.&lt;/li&gt;
&lt;li&gt;Olivier Robert took [&lt;a href="https://www.talegraph.com/tales/l2o9ltrvsE" target="_blank" rel="nofollow noopener"&gt;https://www.talegraph.com/tales/l2o9ltrvsE&lt;/a&gt;](pictures from the devsummit) and created a nice gallery out of it.&lt;/li&gt;
&lt;li&gt;Devsummit evenings saw dinners at two restaurants that allowed developers to spend some time talking over food and drinks.&lt;/li&gt;
&lt;li&gt;The conference opened on the next day with the opening session held by Mihai Carabas. He introduced the first keynote speaker, a colleague of his who presented “Lightweight virtualization with LightVM and Unikraft”.&lt;/li&gt;
&lt;li&gt;Benedict helped out at the FreeBSD Foundation sponsor table and talked to people. He saw the following talks in between:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Selfhosting as an alternative to the public cloud (by Albert Dengg)&lt;br&gt;
Using Boot Environments at Scale (by Allan Jude)&lt;br&gt;
Livepatching FreeBSD kernel (by Maciej Grochowski)&lt;br&gt;
FreeBSD: What to (Not) Monitor (by Andrew Fengler)&lt;br&gt;
FreeBSD Graphics (by Niclas Zeising)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Allan spent a lot of time talking to people and helping track down issues they were having, in addition to attending many talks:
&lt;blockquote&gt;
&lt;p&gt;Hacking together a FreeBSD presentation streaming box – For as little as possible (by Tom Jones)&lt;br&gt;
Introduction of FreeBSD in new environments (by Baptiste Daroussin)&lt;br&gt;
Keynote: Some computing and networking historical perspectives (by Ron Broersma)&lt;br&gt;
Livepatching FreeBSD kernel (by Maciej Grochowski)&lt;br&gt;
FreeBSD: What to (Not) Monitor (by Andrew Fengler)&lt;br&gt;
Being a BSD user (by Roller Angel)&lt;br&gt;
From “Hello World” to the VFS Layer: building a beadm for DragonFly BSD (by Michael Voight)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;We also met the winner of our Power Bagel raffle from &lt;a href="http://www.bsdnow.tv/episodes/2018_07_25-2_8_because_computers" target="_blank" rel="nofollow noopener"&gt;Episode 2^8&lt;/a&gt;. He received the item in the meantime and had it with him at the conference, providing a power outlet to charge other people’s devices.&lt;/li&gt;
&lt;li&gt;During the closing session, &lt;a href="https://twitter.com/groffthebsdgoat" target="_blank" rel="nofollow noopener"&gt;GroffTheBSDGoat&lt;/a&gt; was handed over to Deb Goodkin, who will bring the little guy to the &lt;a href="https://ghc.anitab.org/" target="_blank" rel="nofollow noopener"&gt;Grace Hopper Celebration of Women in Computing conference&lt;/a&gt; and then to &lt;a href="http://meetbsd.com" target="_blank" rel="nofollow noopener"&gt;MeetBSD&lt;/a&gt; later this year. It was also revealed that next year’s EuroBSDcon will be held in Lillehammer, Norway.&lt;/li&gt;
&lt;li&gt;Thanks to all the speakers, helpers, sponsors, organizers, and attendees for making it a successful conferences. There were no talks recorded this year, but the slides will be uploaded to the &lt;a href="http://eurobsdcon.org" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon website&lt;/a&gt; in a couple of weeks. The &lt;a href="https://www.openbsd.org/events.html#eurobsdcon2018" target="_blank" rel="nofollow noopener"&gt;OpenBSD talks&lt;/a&gt; are already available, so check them out.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;###&lt;a href="http://tonsky.me/blog/disenchantment/" target="_blank" rel="nofollow noopener"&gt;Software disenchantment&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve been programming for 15 years now. Recently our industry’s lack of care for efficiency, simplicity, and excellence started really getting to me, to the point of me getting depressed by my own career and the IT in general.&lt;br&gt;
Modern cars work, let’s say for the sake of argument, at 98% of what’s physically possible with the current engine design. Modern buildings use just enough material to fulfill their function and stay safe under the given conditions. All planes converged to the optimal size/form/load and basically look the same.&lt;br&gt;
Only in software, it’s fine if a program runs at 1% or even 0.01% of the possible performance. Everybody just seems to be ok with it. People are often even proud about how much inefficient it is, as in “why should we worry, computers are fast enough”:&lt;br&gt;
@tveastman: I have a Python program I run every day, it takes 1.5 seconds. I spent six hours re-writing it in rust, now it takes 0.06 seconds. That efficiency improvement means I’ll make my time back in 41 years, 24 days :-)&lt;br&gt;
You’ve probably heard this mantra: “programmer time is more expensive than computer time”. What it means basically is that we’re wasting computers at an unprecedented scale. Would you buy a car if it eats 100 liters per 100 kilometers? How about 1000 liters? With computers, we do that all the time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Everything is unbearably slow&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Look around: our portable computers are thousands of times more powerful than the ones that brought man to the moon. Yet every other webpage struggles to maintain a smooth 60fps scroll on the latest top-of-the-line MacBook Pro. I can comfortably play games, watch 4K videos but not scroll web pages? How is it ok?&lt;br&gt;
Google Inbox, a web app written by Google, running in Chrome browser also by Google, takes 13 seconds to open moderately-sized emails:&lt;br&gt;
It also animates empty white boxes instead of showing their content because it’s the only way anything can be animated on a webpage with decent performance. No, decent doesn’t mean 60fps, it’s rather “as fast as this web page could possibly go”. I’m dying to see web community answer when 120Hz displays become mainstream. Shit barely hits 60Hz already.&lt;br&gt;
Windows 10 takes 30 minutes to update. What could it possibly be doing for that long? That much time is enough to fully format my SSD drive, download a fresh build and install it like 5 times in a row.&lt;br&gt;
Pavel Fatin: Typing in editor is a relatively simple process, so even 286 PCs were able to provide a rather fluid typing experience.&lt;br&gt;
Modern text editors have higher latency than 42-year-old Emacs. Text editors! What can be simpler? On each keystroke, all you have to do is update tiny rectangular region and modern text editors can’t do that in 16ms. It’s a lot of time. A LOT. A 3D game can fill the whole screen with hundreds of thousands (!!!) of polygons in the same 16ms and also process input, recalculate the world and dynamically load/unload resources. How come?&lt;br&gt;
As a general trend, we’re not getting faster software with more features. We’re getting faster hardware that runs slower software with the same features. Everything works way below the possible speed. Ever wonder why your phone needs 30 to 60 seconds to boot? Why can’t it boot, say, in one second? There are no physical limitations to that. I would love to see that. I would love to see limits reached and explored, utilizing every last bit of performance we can get for something meaningful in a meaningful way.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Everything is HUUUUGE&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;And then there’s bloat. Web apps could open up to 10× faster if you just simply block all ads. Google begs everyone to stop shooting themselves in their feet with AMP initiative—a technology solution to a problem that doesn’t need any technology, just a little bit of common sense. If you remove bloat, the web becomes crazy fast. How smart do you have to be to understand that?&lt;br&gt;
Android system with no apps takes almost 6 Gb. Just think for a second how obscenely HUGE that number is. What’s in there, HD movies? I guess it’s basically code: kernel, drivers. Some string and resources too, sure, but those can’t be big. So, how many drivers do you need for a phone?&lt;br&gt;
Windows 95 was 30Mb. Today we have web pages heavier than that! Windows 10 is 4Gb, which is 133 times as big. But is it 133 times as superior? I mean, functionally they are basically the same. Yes, we have Cortana, but I doubt it takes 3970 Mb. But whatever Windows 10 is, is Android really 150% of that?&lt;br&gt;
Google keyboard app routinely eats 150 Mb. Is an app that draws 30 keys on a screen really five times more complex than the whole Windows 95? Google app, which is basically just a package for Google Web Search, is 350 Mb! Google Play Services, which I do not use (I don’t buy books, music or videos there)—300 Mb that just sit there and which I’m unable to delete.&lt;br&gt;
All that leaves me around 1 Gb for my photos after I install all the essential (social, chats, maps, taxi, banks etc) apps. And that’s with no games and no music at all! Remember times when an OS, apps and all your data fit on a floppy?&lt;br&gt;
Your desktop todo app is probably written in Electron and thus has userland driver for Xbox 360 controller in it, can render 3d graphics and play audio and take photos with your web camera.&lt;br&gt;
A simple text chat is notorious for its load speed and memory consumption. Yes, you really have to count Slack in as a resource-heavy application. I mean, chatroom and barebones text editor, those are supposed to be two of the less demanding apps in the whole world. Welcome to 2018.&lt;br&gt;
At least it works, you might say. Well, bigger doesn’t imply better. Bigger means someone has lost control. Bigger means we don’t know what’s going on. Bigger means complexity tax, performance tax, reliability tax. This is not the norm and should not become the norm. Overweight apps should mean a red flag. They should mean run away scared.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Better world manifesto&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I want to see progress. I want change. I want state-of-the-art in software engineering to improve, not just stand still. I don’t want to reinvent the same stuff over and over, less performant and more bloated each time. I want something to believe in, a worthy end goal, a future better than what we have today, and I want a community of engineers who share that vision.&lt;br&gt;
What we have today is not progress. We barely meet business goals with poor tools applied over the top. We’re stuck in local optima and nobody wants to move out. It’s not even a good place, it’s bloated and inefficient. We just somehow got used to it.&lt;br&gt;
So I want to call it out: where we are today is bullshit. As engineers, we can, and should, and will do better. We can have better tools, we can build better apps, faster, more predictable, more reliable, using fewer resources (orders of magnitude fewer!). We need to understand deeply what are we doing and why. We need to deliver: reliably, predictably, with topmost quality. We can—and should–take pride in our work. Not just “given what we had…”—no buts!&lt;br&gt;
I hope I’m not alone at this. I hope there are people out there who want to do the same. I’d appreciate if we at least start talking about how absurdly bad our current situation in the software industry is. And then we maybe figure out how to get out.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://lists.llvm.org/pipermail/llvm-announce/2018-September/000080.html" target="_blank" rel="nofollow noopener"&gt;[llvm-announce] LLVM 7.0.0 Release&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;I am pleased to announce that LLVM 7 is now available.

Get it here: https://llvm.org/releases/download.html#7.0.0

The release contains the work on trunk up to SVN revision 338536 plus
work on the release branch. It is the result of the community's work
over the past six months, including: function multiversioning in Clang
with the 'target' attribute for ELF-based x86/x86_64 targets, improved
PCH support in clang-cl, preliminary DWARF v5 support, basic support
for OpenMP 4.5 offloading to NVPTX, OpenCL C++ support, MSan, X-Ray
and libFuzzer support for FreeBSD, early UBSan, X-Ray and libFuzzer
support for OpenBSD, UBSan checks for implicit conversions, many
long-tail compatibility issues fixed in lld which is now production
ready for ELF, COFF and MinGW, new tools llvm-exegesis, llvm-mca and
diagtool. And as usual, many optimizations, improved diagnostics, and
bug fixes.

For more details, see the release notes:
https://llvm.org/releases/7.0.0/docs/ReleaseNotes.html
https://llvm.org/releases/7.0.0/tools/clang/docs/ReleaseNotes.html
https://llvm.org/releases/7.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html
https://llvm.org/releases/7.0.0/tools/lld/docs/ReleaseNotes.html

Thanks to everyone who helped with filing, fixing, and code reviewing
for the release-blocking bugs!

Special thanks to the release testers and packagers: Bero
Rosenkränzer, Brian Cain, Dimitry Andric, Jonas Hahnfeld, Lei Huang
Michał Górny, Sylvestre Ledru, Takumi Nakamura, and Vedant Kumar.

For questions or comments about the release, please contact the
community on the mailing lists. Onwards to LLVM 8!

Cheers,
Hans
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://blog.raveland.org/post/thinkpad_update_bios/" target="_blank" rel="nofollow noopener"&gt;Update your Thinkpad’s bios with Linux or OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get your new bios&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At first, go to the Lenovo website and download your new bios:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Go to lenovo support&lt;/li&gt;
&lt;li&gt;Use the search bar to find your product (example for me, x270)&lt;/li&gt;
&lt;li&gt;Choose the right product (if necessary) and click search&lt;/li&gt;
&lt;li&gt;On the right side, click on Update Your System&lt;/li&gt;
&lt;li&gt;Click on BIOS/UEFI&lt;/li&gt;
&lt;li&gt;Choose *BIOS Update (Bootable CD) for Windows *&lt;/li&gt;
&lt;li&gt;Download&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For me the file is called like this : r0iuj25wd.iso&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Extract bios update&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Now you will need to install geteltorito.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;With OpenBSD:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;$ doas pkg_add geteltorito&lt;/code&gt;&lt;br&gt;
&lt;code&gt;quirks-3.7 signed on 2018-09-09T13:15:19Z&lt;/code&gt;&lt;br&gt;
&lt;code&gt;geteltorito-0.6: ok&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;With Debian:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;$ sudo apt-get install genisoimage&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Now we will extract the bios update :&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;$ geteltorito -o bios_update.img r0iuj25wd.iso&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Booting catalog starts at sector: 20&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Manufacturer of CD: NERO BURNING ROM VER 12&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Image architecture: x86&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Boot media type is: harddisk&lt;/code&gt;&lt;br&gt;
&lt;code&gt;El Torito image starts at sector 27 and has 43008 sector(s) of 512 Bytes&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Image has been written to file "bios_update.img".&lt;/code&gt;&lt;br&gt;
&lt;code&gt;This will create a file called bios_update.img.&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Put the image on an USB key&lt;/li&gt;
&lt;li&gt;CAREFULL : on my computer, my USB key is sda1 on Linux and sd1 on OpenBSD.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Please check twice on your computer the name of your USB key.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;With OpenBSD :&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;$ doas dd if=bios_update.img of=/dev/rsd1c&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;With Linux :&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;$ sudo dd if=bios_update.img of=/dev/sda&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Now all you need is to reboot, to boot on your USB key and follow the instructions. Enjoy 😉&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://hardenedbsd.org/article/shawn-webb/2018-09-17/announcing-hardenedbsd-foundation" target="_blank" rel="nofollow noopener"&gt;Announcing The HardenedBSD Foundation&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In June of 2018, we announced our intent to become a not-for-profit, tax-exempt 501©(3) organization in the United States. It took a dedicated team months of work behind-the-scenes to make that happen. On 06 September 2018, HardenedBSD Foundation Corp was granted 501©(3) status, from which point all US-based persons making donations can deduct the donation from their taxes.&lt;br&gt;
We are grateful for those who contribute to HardenedBSD in whatever way they can. Thank you for making HardenedBSD possible. We look forward to a bright future, driven by a helpful and positive community.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSSendRecvVsRsync" target="_blank" rel="nofollow noopener"&gt;How you migrate ZFS filesystems matters&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you want to move a ZFS filesystem around from one host to another, you have two general approaches; you can use ‘zfs send’ and ‘zfs receive’, or you can use a user level copying tool such as rsync (or ‘tar -cf | tar -xf’, or any number of similar options). Until recently, I had considered these two approaches to be more or less equivalent apart from their convenience and speed (which generally tilted in favour of ‘zfs send’). It turns out that this is not necessarily the case and there are situations where you will want one instead of the other.&lt;br&gt;
We have had two generations of ZFS fileservers so far, the Solaris ones and the OmniOS ones. When we moved from the first generation to the second generation, we migrated filesystems across using ‘zfs send’, including the filesystem with my home directory in it (we did this for various reasons). Recently I discovered that some old things in my filesystem didn’t have file type information in their directory entries. ZFS has been adding file type information to directories for a long time, but not quite as long as my home directory has been on ZFS.&lt;br&gt;
This illustrates an important difference between the ‘zfs send’ approach and the rsync approach, which is that zfs send doesn’t update or change at least some ZFS on-disk data structures, in the way that re-writing them from scratch from user level does. There are both positives and negatives to this, and a certain amount of rewriting does happen even in the ‘zfs send’ case (for example, all of the block pointers get changed, and ZFS will re-compress your data as applicable).&lt;br&gt;
I knew that in theory you had to copy things at the user level if you wanted to make sure that your ZFS filesystem and everything in it was fully up to date with the latest ZFS features. But I didn’t expect to hit a situation where it mattered in practice until, well, I did. Now I suspect that old files on our old filesystems may be partially missing a number of things, and I’m wondering how much of the various changes in ‘zfs upgrade -v’ apply even to old data.&lt;br&gt;
(I’d run into this sort of general thing before when I looked into ext3 to ext4 conversion on Linux.)&lt;br&gt;
With all that said, I doubt this will change our plans for migrating our ZFS filesystems in the future (to our third generation fileservers). ZFS sending and receiving is just too convenient, too fast and too reliable to give up. Rsync isn’t bad, but it’s not the same, and so we only use it when we have to (when we’re moving only some of the people in a filesystem instead of all of them, for example).&lt;br&gt;
PS: I was going to try to say something about what ‘zfs send’ did and didn’t update, but having looked briefly at the code I’ve concluded that I need to do more research before running my keyboard off. In the mean time, you can read the OpenZFS wiki page on ZFS send and receive, which has plenty of juicy technical details.&lt;br&gt;
PPS: Since eliminating all-zero blocks is a form of compression, you can turn zero-filled files into sparse files through a ZFS send/receive if the destination has compression enabled. As far as I know, genuine sparse files on the source will stay sparse through a ZFS send/receive even if they’re sent to a destination with compression off.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/BSD-Users-Stockholm/events/254235663/" target="_blank" rel="nofollow noopener"&gt;BSD Users Stockholm Meetup #4: Tuesday, November 13, 2018 at 18:00&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener"&gt;BSD Poland User Group: Next Meeting: October 11, 2018, 18:15 - 21:15 at Warsaw University of Technology&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180915112028" target="_blank" rel="nofollow noopener"&gt;n2k18 Hackathon report: Ken Westerback (krw@) on disklabel(8) work, dhclient(8) progress&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.xenproject.org/archives/html/mirageos-devel/2018-09/msg00013.html" target="_blank" rel="nofollow noopener"&gt;Running MirageOS Unikernels on OpenBSD in vmm (Now Works)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180910070407" target="_blank" rel="nofollow noopener"&gt;vmm(4) gets support for qcow2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://oshogbo.vexillium.org/blog/52/" target="_blank" rel="nofollow noopener"&gt;MeetBSD and SecurityBsides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/cperciva/status/1041433506453155840" target="_blank" rel="nofollow noopener"&gt;Colin Percival reduced FreeBSD startup time from 10627ms (11.2) to 4738ms (12.0)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-announce/2018-September/001842.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.1 end-of-life&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/KnoxBUG-BSD-Linux-and-FOSS-Users-Unite/events/254759084" target="_blank" rel="nofollow noopener"&gt;KnoxBug: Monday, October 1, 2018 at 18:00: Real-world Performance Advantages of NVDIMM and NVMe: Case Study with OpenZFS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Todd - &lt;a href="http://dpaste.com/2QZEZPA" target="_blank" rel="nofollow noopener"&gt;2 Nics, 1 bhyve and a jail cell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Thomas - &lt;a href="http://dpaste.com/3SFM1YP#wrap" target="_blank" rel="nofollow noopener"&gt;Deep Dive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Morgan - &lt;a href="http://dpaste.com/07EK4RK#wrap" target="_blank" rel="nofollow noopener"&gt;Send/Receive to Manage Fragmentation?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dominik - &lt;a href="http://dpaste.com/0SZJ0V4#wrap" target="_blank" rel="nofollow noopener"&gt;hierarchical jails -&amp;gt; networking&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, ZFS rsync, Thinkpad, BIOS, LLVM, eurobsdcon, trip report, conference, bsd conference</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We report from our experiences at EuroBSDcon, disenchant software, LLVM 7.0.0 has been released, Thinkpad BIOS update options, HardenedBSD Foundation announced, and ZFS send vs. rsync.</p>

<p>##Headlines</p>

<p>###[FreeBSD DevSummit &amp; EuroBSDcon 2018 in Romania]</p>

<ul>
<li>Your hosts are back from EuroBSDcon 2018 held in Bucharest, Romania this year. The first two days of the conference are used for tutorials and devsummits (FreeBSD and NetBSD), while the last two are for talks.</li>
<li>Although Benedict organized the devsummit in large parts, he did not attend it this year. He held his Ansible tutorial in the morning of the first day, followed by Niclas Zeising’s new ports and poudriere tutorial (which had a record attendance). It was intended for beginners that had never used poudriere before and those who wanted to create their first port. The tutorial was well received and Niclas already has ideas for extending it for future conferences.</li>
<li>On the second day, Benedict took Kirk McKusick’s “An Introduction to the FreeBSD Open-Source Operating System” tutorial, held as a one full day class this year. Although it was reduced in content, it went into enough depth of many areas of the kernel and operating system to spark many questions from attendees. Clearly, this is a good start into kernel programming as Kirk provides enough material and backstories to understand why certain things are implemented as they are.</li>
<li>Olivier Robert took [<a href="https://www.talegraph.com/tales/l2o9ltrvsE" target="_blank" rel="nofollow noopener">https://www.talegraph.com/tales/l2o9ltrvsE</a>](pictures from the devsummit) and created a nice gallery out of it.</li>
<li>Devsummit evenings saw dinners at two restaurants that allowed developers to spend some time talking over food and drinks.</li>
<li>The conference opened on the next day with the opening session held by Mihai Carabas. He introduced the first keynote speaker, a colleague of his who presented “Lightweight virtualization with LightVM and Unikraft”.</li>
<li>Benedict helped out at the FreeBSD Foundation sponsor table and talked to people. He saw the following talks in between:</li>
</ul>

<blockquote>
<p>Selfhosting as an alternative to the public cloud (by Albert Dengg)<br>
Using Boot Environments at Scale (by Allan Jude)<br>
Livepatching FreeBSD kernel (by Maciej Grochowski)<br>
FreeBSD: What to (Not) Monitor (by Andrew Fengler)<br>
FreeBSD Graphics (by Niclas Zeising)</p>
</blockquote>

<ul>
<li>Allan spent a lot of time talking to people and helping track down issues they were having, in addition to attending many talks:
<blockquote>
<p>Hacking together a FreeBSD presentation streaming box – For as little as possible (by Tom Jones)<br>
Introduction of FreeBSD in new environments (by Baptiste Daroussin)<br>
Keynote: Some computing and networking historical perspectives (by Ron Broersma)<br>
Livepatching FreeBSD kernel (by Maciej Grochowski)<br>
FreeBSD: What to (Not) Monitor (by Andrew Fengler)<br>
Being a BSD user (by Roller Angel)<br>
From “Hello World” to the VFS Layer: building a beadm for DragonFly BSD (by Michael Voight)</p>
</blockquote>
</li>
<li>We also met the winner of our Power Bagel raffle from <a href="http://www.bsdnow.tv/episodes/2018_07_25-2_8_because_computers" target="_blank" rel="nofollow noopener">Episode 2^8</a>. He received the item in the meantime and had it with him at the conference, providing a power outlet to charge other people’s devices.</li>
<li>During the closing session, <a href="https://twitter.com/groffthebsdgoat" target="_blank" rel="nofollow noopener">GroffTheBSDGoat</a> was handed over to Deb Goodkin, who will bring the little guy to the <a href="https://ghc.anitab.org/" target="_blank" rel="nofollow noopener">Grace Hopper Celebration of Women in Computing conference</a> and then to <a href="http://meetbsd.com" target="_blank" rel="nofollow noopener">MeetBSD</a> later this year. It was also revealed that next year’s EuroBSDcon will be held in Lillehammer, Norway.</li>
<li>Thanks to all the speakers, helpers, sponsors, organizers, and attendees for making it a successful conferences. There were no talks recorded this year, but the slides will be uploaded to the <a href="http://eurobsdcon.org" target="_blank" rel="nofollow noopener">EuroBSDcon website</a> in a couple of weeks. The <a href="https://www.openbsd.org/events.html#eurobsdcon2018" target="_blank" rel="nofollow noopener">OpenBSD talks</a> are already available, so check them out.</li>
</ul>

<p>###<a href="http://tonsky.me/blog/disenchantment/" target="_blank" rel="nofollow noopener">Software disenchantment</a></p>

<blockquote>
<p>I’ve been programming for 15 years now. Recently our industry’s lack of care for efficiency, simplicity, and excellence started really getting to me, to the point of me getting depressed by my own career and the IT in general.<br>
Modern cars work, let’s say for the sake of argument, at 98% of what’s physically possible with the current engine design. Modern buildings use just enough material to fulfill their function and stay safe under the given conditions. All planes converged to the optimal size/form/load and basically look the same.<br>
Only in software, it’s fine if a program runs at 1% or even 0.01% of the possible performance. Everybody just seems to be ok with it. People are often even proud about how much inefficient it is, as in “why should we worry, computers are fast enough”:<br>
@tveastman: I have a Python program I run every day, it takes 1.5 seconds. I spent six hours re-writing it in rust, now it takes 0.06 seconds. That efficiency improvement means I’ll make my time back in 41 years, 24 days :-)<br>
You’ve probably heard this mantra: “programmer time is more expensive than computer time”. What it means basically is that we’re wasting computers at an unprecedented scale. Would you buy a car if it eats 100 liters per 100 kilometers? How about 1000 liters? With computers, we do that all the time.</p>
</blockquote>

<ul>
<li>Everything is unbearably slow</li>
</ul>

<blockquote>
<p>Look around: our portable computers are thousands of times more powerful than the ones that brought man to the moon. Yet every other webpage struggles to maintain a smooth 60fps scroll on the latest top-of-the-line MacBook Pro. I can comfortably play games, watch 4K videos but not scroll web pages? How is it ok?<br>
Google Inbox, a web app written by Google, running in Chrome browser also by Google, takes 13 seconds to open moderately-sized emails:<br>
It also animates empty white boxes instead of showing their content because it’s the only way anything can be animated on a webpage with decent performance. No, decent doesn’t mean 60fps, it’s rather “as fast as this web page could possibly go”. I’m dying to see web community answer when 120Hz displays become mainstream. Shit barely hits 60Hz already.<br>
Windows 10 takes 30 minutes to update. What could it possibly be doing for that long? That much time is enough to fully format my SSD drive, download a fresh build and install it like 5 times in a row.<br>
Pavel Fatin: Typing in editor is a relatively simple process, so even 286 PCs were able to provide a rather fluid typing experience.<br>
Modern text editors have higher latency than 42-year-old Emacs. Text editors! What can be simpler? On each keystroke, all you have to do is update tiny rectangular region and modern text editors can’t do that in 16ms. It’s a lot of time. A LOT. A 3D game can fill the whole screen with hundreds of thousands (!!!) of polygons in the same 16ms and also process input, recalculate the world and dynamically load/unload resources. How come?<br>
As a general trend, we’re not getting faster software with more features. We’re getting faster hardware that runs slower software with the same features. Everything works way below the possible speed. Ever wonder why your phone needs 30 to 60 seconds to boot? Why can’t it boot, say, in one second? There are no physical limitations to that. I would love to see that. I would love to see limits reached and explored, utilizing every last bit of performance we can get for something meaningful in a meaningful way.</p>
</blockquote>

<ul>
<li>Everything is HUUUUGE</li>
</ul>

<blockquote>
<p>And then there’s bloat. Web apps could open up to 10× faster if you just simply block all ads. Google begs everyone to stop shooting themselves in their feet with AMP initiative—a technology solution to a problem that doesn’t need any technology, just a little bit of common sense. If you remove bloat, the web becomes crazy fast. How smart do you have to be to understand that?<br>
Android system with no apps takes almost 6 Gb. Just think for a second how obscenely HUGE that number is. What’s in there, HD movies? I guess it’s basically code: kernel, drivers. Some string and resources too, sure, but those can’t be big. So, how many drivers do you need for a phone?<br>
Windows 95 was 30Mb. Today we have web pages heavier than that! Windows 10 is 4Gb, which is 133 times as big. But is it 133 times as superior? I mean, functionally they are basically the same. Yes, we have Cortana, but I doubt it takes 3970 Mb. But whatever Windows 10 is, is Android really 150% of that?<br>
Google keyboard app routinely eats 150 Mb. Is an app that draws 30 keys on a screen really five times more complex than the whole Windows 95? Google app, which is basically just a package for Google Web Search, is 350 Mb! Google Play Services, which I do not use (I don’t buy books, music or videos there)—300 Mb that just sit there and which I’m unable to delete.<br>
All that leaves me around 1 Gb for my photos after I install all the essential (social, chats, maps, taxi, banks etc) apps. And that’s with no games and no music at all! Remember times when an OS, apps and all your data fit on a floppy?<br>
Your desktop todo app is probably written in Electron and thus has userland driver for Xbox 360 controller in it, can render 3d graphics and play audio and take photos with your web camera.<br>
A simple text chat is notorious for its load speed and memory consumption. Yes, you really have to count Slack in as a resource-heavy application. I mean, chatroom and barebones text editor, those are supposed to be two of the less demanding apps in the whole world. Welcome to 2018.<br>
At least it works, you might say. Well, bigger doesn’t imply better. Bigger means someone has lost control. Bigger means we don’t know what’s going on. Bigger means complexity tax, performance tax, reliability tax. This is not the norm and should not become the norm. Overweight apps should mean a red flag. They should mean run away scared.</p>
</blockquote>

<ul>
<li>Better world manifesto</li>
</ul>

<blockquote>
<p>I want to see progress. I want change. I want state-of-the-art in software engineering to improve, not just stand still. I don’t want to reinvent the same stuff over and over, less performant and more bloated each time. I want something to believe in, a worthy end goal, a future better than what we have today, and I want a community of engineers who share that vision.<br>
What we have today is not progress. We barely meet business goals with poor tools applied over the top. We’re stuck in local optima and nobody wants to move out. It’s not even a good place, it’s bloated and inefficient. We just somehow got used to it.<br>
So I want to call it out: where we are today is bullshit. As engineers, we can, and should, and will do better. We can have better tools, we can build better apps, faster, more predictable, more reliable, using fewer resources (orders of magnitude fewer!). We need to understand deeply what are we doing and why. We need to deliver: reliably, predictably, with topmost quality. We can—and should–take pride in our work. Not just “given what we had…”—no buts!<br>
I hope I’m not alone at this. I hope there are people out there who want to do the same. I’d appreciate if we at least start talking about how absurdly bad our current situation in the software industry is. And then we maybe figure out how to get out.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://lists.llvm.org/pipermail/llvm-announce/2018-September/000080.html" target="_blank" rel="nofollow noopener">[llvm-announce] LLVM 7.0.0 Release</a></p>

<pre><code>I am pleased to announce that LLVM 7 is now available.

Get it here: https://llvm.org/releases/download.html#7.0.0

The release contains the work on trunk up to SVN revision 338536 plus
work on the release branch. It is the result of the community's work
over the past six months, including: function multiversioning in Clang
with the 'target' attribute for ELF-based x86/x86_64 targets, improved
PCH support in clang-cl, preliminary DWARF v5 support, basic support
for OpenMP 4.5 offloading to NVPTX, OpenCL C++ support, MSan, X-Ray
and libFuzzer support for FreeBSD, early UBSan, X-Ray and libFuzzer
support for OpenBSD, UBSan checks for implicit conversions, many
long-tail compatibility issues fixed in lld which is now production
ready for ELF, COFF and MinGW, new tools llvm-exegesis, llvm-mca and
diagtool. And as usual, many optimizations, improved diagnostics, and
bug fixes.

For more details, see the release notes:
https://llvm.org/releases/7.0.0/docs/ReleaseNotes.html
https://llvm.org/releases/7.0.0/tools/clang/docs/ReleaseNotes.html
https://llvm.org/releases/7.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html
https://llvm.org/releases/7.0.0/tools/lld/docs/ReleaseNotes.html

Thanks to everyone who helped with filing, fixing, and code reviewing
for the release-blocking bugs!

Special thanks to the release testers and packagers: Bero
Rosenkränzer, Brian Cain, Dimitry Andric, Jonas Hahnfeld, Lei Huang
Michał Górny, Sylvestre Ledru, Takumi Nakamura, and Vedant Kumar.

For questions or comments about the release, please contact the
community on the mailing lists. Onwards to LLVM 8!

Cheers,
Hans
</code></pre>

<hr>

<p>###<a href="https://blog.raveland.org/post/thinkpad_update_bios/" target="_blank" rel="nofollow noopener">Update your Thinkpad’s bios with Linux or OpenBSD</a></p>

<ul>
<li>Get your new bios</li>
</ul>

<blockquote>
<p>At first, go to the Lenovo website and download your new bios:</p>
</blockquote>

<ul>
<li>Go to lenovo support</li>
<li>Use the search bar to find your product (example for me, x270)</li>
<li>Choose the right product (if necessary) and click search</li>
<li>On the right side, click on Update Your System</li>
<li>Click on BIOS/UEFI</li>
<li>Choose *BIOS Update (Bootable CD) for Windows *</li>
<li>Download</li>
</ul>

<blockquote>
<p>For me the file is called like this : r0iuj25wd.iso</p>
</blockquote>

<ul>
<li>Extract bios update</li>
</ul>

<blockquote>
<p>Now you will need to install geteltorito.</p>
</blockquote>

<ul>
<li>With OpenBSD:</li>
</ul>

<p><code>$ doas pkg_add geteltorito</code><br>
<code>quirks-3.7 signed on 2018-09-09T13:15:19Z</code><br>
<code>geteltorito-0.6: ok</code></p>

<ul>
<li>With Debian:</li>
</ul>

<p><code>$ sudo apt-get install genisoimage</code></p>

<ul>
<li>Now we will extract the bios update :</li>
</ul>

<p><code>$ geteltorito -o bios_update.img r0iuj25wd.iso</code><br>
<code>Booting catalog starts at sector: 20</code><br>
<code>Manufacturer of CD: NERO BURNING ROM VER 12</code><br>
<code>Image architecture: x86</code><br>
<code>Boot media type is: harddisk</code><br>
<code>El Torito image starts at sector 27 and has 43008 sector(s) of 512 Bytes</code><br>
<code></code><br>
<code>Image has been written to file "bios_update.img".</code><br>
<code>This will create a file called bios_update.img.</code></p>

<ul>
<li>Put the image on an USB key</li>
<li>CAREFULL : on my computer, my USB key is sda1 on Linux and sd1 on OpenBSD.</li>
</ul>

<blockquote>
<p>Please check twice on your computer the name of your USB key.</p>
</blockquote>

<ul>
<li>With OpenBSD :</li>
</ul>

<p><code>$ doas dd if=bios_update.img of=/dev/rsd1c</code></p>

<ul>
<li>With Linux :</li>
</ul>

<p><code>$ sudo dd if=bios_update.img of=/dev/sda</code></p>

<blockquote>
<p>Now all you need is to reboot, to boot on your USB key and follow the instructions. Enjoy 😉</p>
</blockquote>

<hr>

<p>###<a href="https://hardenedbsd.org/article/shawn-webb/2018-09-17/announcing-hardenedbsd-foundation" target="_blank" rel="nofollow noopener">Announcing The HardenedBSD Foundation</a></p>

<blockquote>
<p>In June of 2018, we announced our intent to become a not-for-profit, tax-exempt 501©(3) organization in the United States. It took a dedicated team months of work behind-the-scenes to make that happen. On 06 September 2018, HardenedBSD Foundation Corp was granted 501©(3) status, from which point all US-based persons making donations can deduct the donation from their taxes.<br>
We are grateful for those who contribute to HardenedBSD in whatever way they can. Thank you for making HardenedBSD possible. We look forward to a bright future, driven by a helpful and positive community.</p>
</blockquote>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSSendRecvVsRsync" target="_blank" rel="nofollow noopener">How you migrate ZFS filesystems matters</a></p>

<blockquote>
<p>If you want to move a ZFS filesystem around from one host to another, you have two general approaches; you can use ‘zfs send’ and ‘zfs receive’, or you can use a user level copying tool such as rsync (or ‘tar -cf | tar -xf’, or any number of similar options). Until recently, I had considered these two approaches to be more or less equivalent apart from their convenience and speed (which generally tilted in favour of ‘zfs send’). It turns out that this is not necessarily the case and there are situations where you will want one instead of the other.<br>
We have had two generations of ZFS fileservers so far, the Solaris ones and the OmniOS ones. When we moved from the first generation to the second generation, we migrated filesystems across using ‘zfs send’, including the filesystem with my home directory in it (we did this for various reasons). Recently I discovered that some old things in my filesystem didn’t have file type information in their directory entries. ZFS has been adding file type information to directories for a long time, but not quite as long as my home directory has been on ZFS.<br>
This illustrates an important difference between the ‘zfs send’ approach and the rsync approach, which is that zfs send doesn’t update or change at least some ZFS on-disk data structures, in the way that re-writing them from scratch from user level does. There are both positives and negatives to this, and a certain amount of rewriting does happen even in the ‘zfs send’ case (for example, all of the block pointers get changed, and ZFS will re-compress your data as applicable).<br>
I knew that in theory you had to copy things at the user level if you wanted to make sure that your ZFS filesystem and everything in it was fully up to date with the latest ZFS features. But I didn’t expect to hit a situation where it mattered in practice until, well, I did. Now I suspect that old files on our old filesystems may be partially missing a number of things, and I’m wondering how much of the various changes in ‘zfs upgrade -v’ apply even to old data.<br>
(I’d run into this sort of general thing before when I looked into ext3 to ext4 conversion on Linux.)<br>
With all that said, I doubt this will change our plans for migrating our ZFS filesystems in the future (to our third generation fileservers). ZFS sending and receiving is just too convenient, too fast and too reliable to give up. Rsync isn’t bad, but it’s not the same, and so we only use it when we have to (when we’re moving only some of the people in a filesystem instead of all of them, for example).<br>
PS: I was going to try to say something about what ‘zfs send’ did and didn’t update, but having looked briefly at the code I’ve concluded that I need to do more research before running my keyboard off. In the mean time, you can read the OpenZFS wiki page on ZFS send and receive, which has plenty of juicy technical details.<br>
PPS: Since eliminating all-zero blocks is a form of compression, you can turn zero-filled files into sparse files through a ZFS send/receive if the destination has compression enabled. As far as I know, genuine sparse files on the source will stay sparse through a ZFS send/receive even if they’re sent to a destination with compression off.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/254235663/" target="_blank" rel="nofollow noopener">BSD Users Stockholm Meetup #4: Tuesday, November 13, 2018 at 18:00</a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">BSD Poland User Group: Next Meeting: October 11, 2018, 18:15 - 21:15 at Warsaw University of Technology</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180915112028" target="_blank" rel="nofollow noopener">n2k18 Hackathon report: Ken Westerback (krw@) on disklabel(8) work, dhclient(8) progress</a></li>
<li><a href="https://lists.xenproject.org/archives/html/mirageos-devel/2018-09/msg00013.html" target="_blank" rel="nofollow noopener">Running MirageOS Unikernels on OpenBSD in vmm (Now Works)</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180910070407" target="_blank" rel="nofollow noopener">vmm(4) gets support for qcow2</a></li>
<li><a href="https://oshogbo.vexillium.org/blog/52/" target="_blank" rel="nofollow noopener">MeetBSD and SecurityBsides</a></li>
<li><a href="https://twitter.com/cperciva/status/1041433506453155840" target="_blank" rel="nofollow noopener">Colin Percival reduced FreeBSD startup time from 10627ms (11.2) to 4738ms (12.0)</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2018-September/001842.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1 end-of-life</a></li>
<li><a href="https://www.meetup.com/KnoxBUG-BSD-Linux-and-FOSS-Users-Unite/events/254759084" target="_blank" rel="nofollow noopener">KnoxBug: Monday, October 1, 2018 at 18:00: Real-world Performance Advantages of NVDIMM and NVMe: Case Study with OpenZFS</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Todd - <a href="http://dpaste.com/2QZEZPA" target="_blank" rel="nofollow noopener">2 Nics, 1 bhyve and a jail cell</a></li>
<li>Thomas - <a href="http://dpaste.com/3SFM1YP#wrap" target="_blank" rel="nofollow noopener">Deep Dive</a></li>
<li>Morgan - <a href="http://dpaste.com/07EK4RK#wrap" target="_blank" rel="nofollow noopener">Send/Receive to Manage Fragmentation?</a></li>
<li>Dominik - <a href="http://dpaste.com/0SZJ0V4#wrap" target="_blank" rel="nofollow noopener">hierarchical jails -&gt; networking</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We report from our experiences at EuroBSDcon, disenchant software, LLVM 7.0.0 has been released, Thinkpad BIOS update options, HardenedBSD Foundation announced, and ZFS send vs. rsync.</p>

<p>##Headlines</p>

<p>###[FreeBSD DevSummit &amp; EuroBSDcon 2018 in Romania]</p>

<ul>
<li>Your hosts are back from EuroBSDcon 2018 held in Bucharest, Romania this year. The first two days of the conference are used for tutorials and devsummits (FreeBSD and NetBSD), while the last two are for talks.</li>
<li>Although Benedict organized the devsummit in large parts, he did not attend it this year. He held his Ansible tutorial in the morning of the first day, followed by Niclas Zeising’s new ports and poudriere tutorial (which had a record attendance). It was intended for beginners that had never used poudriere before and those who wanted to create their first port. The tutorial was well received and Niclas already has ideas for extending it for future conferences.</li>
<li>On the second day, Benedict took Kirk McKusick’s “An Introduction to the FreeBSD Open-Source Operating System” tutorial, held as a one full day class this year. Although it was reduced in content, it went into enough depth of many areas of the kernel and operating system to spark many questions from attendees. Clearly, this is a good start into kernel programming as Kirk provides enough material and backstories to understand why certain things are implemented as they are.</li>
<li>Olivier Robert took [<a href="https://www.talegraph.com/tales/l2o9ltrvsE" target="_blank" rel="nofollow noopener">https://www.talegraph.com/tales/l2o9ltrvsE</a>](pictures from the devsummit) and created a nice gallery out of it.</li>
<li>Devsummit evenings saw dinners at two restaurants that allowed developers to spend some time talking over food and drinks.</li>
<li>The conference opened on the next day with the opening session held by Mihai Carabas. He introduced the first keynote speaker, a colleague of his who presented “Lightweight virtualization with LightVM and Unikraft”.</li>
<li>Benedict helped out at the FreeBSD Foundation sponsor table and talked to people. He saw the following talks in between:</li>
</ul>

<blockquote>
<p>Selfhosting as an alternative to the public cloud (by Albert Dengg)<br>
Using Boot Environments at Scale (by Allan Jude)<br>
Livepatching FreeBSD kernel (by Maciej Grochowski)<br>
FreeBSD: What to (Not) Monitor (by Andrew Fengler)<br>
FreeBSD Graphics (by Niclas Zeising)</p>
</blockquote>

<ul>
<li>Allan spent a lot of time talking to people and helping track down issues they were having, in addition to attending many talks:
<blockquote>
<p>Hacking together a FreeBSD presentation streaming box – For as little as possible (by Tom Jones)<br>
Introduction of FreeBSD in new environments (by Baptiste Daroussin)<br>
Keynote: Some computing and networking historical perspectives (by Ron Broersma)<br>
Livepatching FreeBSD kernel (by Maciej Grochowski)<br>
FreeBSD: What to (Not) Monitor (by Andrew Fengler)<br>
Being a BSD user (by Roller Angel)<br>
From “Hello World” to the VFS Layer: building a beadm for DragonFly BSD (by Michael Voight)</p>
</blockquote>
</li>
<li>We also met the winner of our Power Bagel raffle from <a href="http://www.bsdnow.tv/episodes/2018_07_25-2_8_because_computers" target="_blank" rel="nofollow noopener">Episode 2^8</a>. He received the item in the meantime and had it with him at the conference, providing a power outlet to charge other people’s devices.</li>
<li>During the closing session, <a href="https://twitter.com/groffthebsdgoat" target="_blank" rel="nofollow noopener">GroffTheBSDGoat</a> was handed over to Deb Goodkin, who will bring the little guy to the <a href="https://ghc.anitab.org/" target="_blank" rel="nofollow noopener">Grace Hopper Celebration of Women in Computing conference</a> and then to <a href="http://meetbsd.com" target="_blank" rel="nofollow noopener">MeetBSD</a> later this year. It was also revealed that next year’s EuroBSDcon will be held in Lillehammer, Norway.</li>
<li>Thanks to all the speakers, helpers, sponsors, organizers, and attendees for making it a successful conferences. There were no talks recorded this year, but the slides will be uploaded to the <a href="http://eurobsdcon.org" target="_blank" rel="nofollow noopener">EuroBSDcon website</a> in a couple of weeks. The <a href="https://www.openbsd.org/events.html#eurobsdcon2018" target="_blank" rel="nofollow noopener">OpenBSD talks</a> are already available, so check them out.</li>
</ul>

<p>###<a href="http://tonsky.me/blog/disenchantment/" target="_blank" rel="nofollow noopener">Software disenchantment</a></p>

<blockquote>
<p>I’ve been programming for 15 years now. Recently our industry’s lack of care for efficiency, simplicity, and excellence started really getting to me, to the point of me getting depressed by my own career and the IT in general.<br>
Modern cars work, let’s say for the sake of argument, at 98% of what’s physically possible with the current engine design. Modern buildings use just enough material to fulfill their function and stay safe under the given conditions. All planes converged to the optimal size/form/load and basically look the same.<br>
Only in software, it’s fine if a program runs at 1% or even 0.01% of the possible performance. Everybody just seems to be ok with it. People are often even proud about how much inefficient it is, as in “why should we worry, computers are fast enough”:<br>
@tveastman: I have a Python program I run every day, it takes 1.5 seconds. I spent six hours re-writing it in rust, now it takes 0.06 seconds. That efficiency improvement means I’ll make my time back in 41 years, 24 days :-)<br>
You’ve probably heard this mantra: “programmer time is more expensive than computer time”. What it means basically is that we’re wasting computers at an unprecedented scale. Would you buy a car if it eats 100 liters per 100 kilometers? How about 1000 liters? With computers, we do that all the time.</p>
</blockquote>

<ul>
<li>Everything is unbearably slow</li>
</ul>

<blockquote>
<p>Look around: our portable computers are thousands of times more powerful than the ones that brought man to the moon. Yet every other webpage struggles to maintain a smooth 60fps scroll on the latest top-of-the-line MacBook Pro. I can comfortably play games, watch 4K videos but not scroll web pages? How is it ok?<br>
Google Inbox, a web app written by Google, running in Chrome browser also by Google, takes 13 seconds to open moderately-sized emails:<br>
It also animates empty white boxes instead of showing their content because it’s the only way anything can be animated on a webpage with decent performance. No, decent doesn’t mean 60fps, it’s rather “as fast as this web page could possibly go”. I’m dying to see web community answer when 120Hz displays become mainstream. Shit barely hits 60Hz already.<br>
Windows 10 takes 30 minutes to update. What could it possibly be doing for that long? That much time is enough to fully format my SSD drive, download a fresh build and install it like 5 times in a row.<br>
Pavel Fatin: Typing in editor is a relatively simple process, so even 286 PCs were able to provide a rather fluid typing experience.<br>
Modern text editors have higher latency than 42-year-old Emacs. Text editors! What can be simpler? On each keystroke, all you have to do is update tiny rectangular region and modern text editors can’t do that in 16ms. It’s a lot of time. A LOT. A 3D game can fill the whole screen with hundreds of thousands (!!!) of polygons in the same 16ms and also process input, recalculate the world and dynamically load/unload resources. How come?<br>
As a general trend, we’re not getting faster software with more features. We’re getting faster hardware that runs slower software with the same features. Everything works way below the possible speed. Ever wonder why your phone needs 30 to 60 seconds to boot? Why can’t it boot, say, in one second? There are no physical limitations to that. I would love to see that. I would love to see limits reached and explored, utilizing every last bit of performance we can get for something meaningful in a meaningful way.</p>
</blockquote>

<ul>
<li>Everything is HUUUUGE</li>
</ul>

<blockquote>
<p>And then there’s bloat. Web apps could open up to 10× faster if you just simply block all ads. Google begs everyone to stop shooting themselves in their feet with AMP initiative—a technology solution to a problem that doesn’t need any technology, just a little bit of common sense. If you remove bloat, the web becomes crazy fast. How smart do you have to be to understand that?<br>
Android system with no apps takes almost 6 Gb. Just think for a second how obscenely HUGE that number is. What’s in there, HD movies? I guess it’s basically code: kernel, drivers. Some string and resources too, sure, but those can’t be big. So, how many drivers do you need for a phone?<br>
Windows 95 was 30Mb. Today we have web pages heavier than that! Windows 10 is 4Gb, which is 133 times as big. But is it 133 times as superior? I mean, functionally they are basically the same. Yes, we have Cortana, but I doubt it takes 3970 Mb. But whatever Windows 10 is, is Android really 150% of that?<br>
Google keyboard app routinely eats 150 Mb. Is an app that draws 30 keys on a screen really five times more complex than the whole Windows 95? Google app, which is basically just a package for Google Web Search, is 350 Mb! Google Play Services, which I do not use (I don’t buy books, music or videos there)—300 Mb that just sit there and which I’m unable to delete.<br>
All that leaves me around 1 Gb for my photos after I install all the essential (social, chats, maps, taxi, banks etc) apps. And that’s with no games and no music at all! Remember times when an OS, apps and all your data fit on a floppy?<br>
Your desktop todo app is probably written in Electron and thus has userland driver for Xbox 360 controller in it, can render 3d graphics and play audio and take photos with your web camera.<br>
A simple text chat is notorious for its load speed and memory consumption. Yes, you really have to count Slack in as a resource-heavy application. I mean, chatroom and barebones text editor, those are supposed to be two of the less demanding apps in the whole world. Welcome to 2018.<br>
At least it works, you might say. Well, bigger doesn’t imply better. Bigger means someone has lost control. Bigger means we don’t know what’s going on. Bigger means complexity tax, performance tax, reliability tax. This is not the norm and should not become the norm. Overweight apps should mean a red flag. They should mean run away scared.</p>
</blockquote>

<ul>
<li>Better world manifesto</li>
</ul>

<blockquote>
<p>I want to see progress. I want change. I want state-of-the-art in software engineering to improve, not just stand still. I don’t want to reinvent the same stuff over and over, less performant and more bloated each time. I want something to believe in, a worthy end goal, a future better than what we have today, and I want a community of engineers who share that vision.<br>
What we have today is not progress. We barely meet business goals with poor tools applied over the top. We’re stuck in local optima and nobody wants to move out. It’s not even a good place, it’s bloated and inefficient. We just somehow got used to it.<br>
So I want to call it out: where we are today is bullshit. As engineers, we can, and should, and will do better. We can have better tools, we can build better apps, faster, more predictable, more reliable, using fewer resources (orders of magnitude fewer!). We need to understand deeply what are we doing and why. We need to deliver: reliably, predictably, with topmost quality. We can—and should–take pride in our work. Not just “given what we had…”—no buts!<br>
I hope I’m not alone at this. I hope there are people out there who want to do the same. I’d appreciate if we at least start talking about how absurdly bad our current situation in the software industry is. And then we maybe figure out how to get out.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://lists.llvm.org/pipermail/llvm-announce/2018-September/000080.html" target="_blank" rel="nofollow noopener">[llvm-announce] LLVM 7.0.0 Release</a></p>

<pre><code>I am pleased to announce that LLVM 7 is now available.

Get it here: https://llvm.org/releases/download.html#7.0.0

The release contains the work on trunk up to SVN revision 338536 plus
work on the release branch. It is the result of the community's work
over the past six months, including: function multiversioning in Clang
with the 'target' attribute for ELF-based x86/x86_64 targets, improved
PCH support in clang-cl, preliminary DWARF v5 support, basic support
for OpenMP 4.5 offloading to NVPTX, OpenCL C++ support, MSan, X-Ray
and libFuzzer support for FreeBSD, early UBSan, X-Ray and libFuzzer
support for OpenBSD, UBSan checks for implicit conversions, many
long-tail compatibility issues fixed in lld which is now production
ready for ELF, COFF and MinGW, new tools llvm-exegesis, llvm-mca and
diagtool. And as usual, many optimizations, improved diagnostics, and
bug fixes.

For more details, see the release notes:
https://llvm.org/releases/7.0.0/docs/ReleaseNotes.html
https://llvm.org/releases/7.0.0/tools/clang/docs/ReleaseNotes.html
https://llvm.org/releases/7.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html
https://llvm.org/releases/7.0.0/tools/lld/docs/ReleaseNotes.html

Thanks to everyone who helped with filing, fixing, and code reviewing
for the release-blocking bugs!

Special thanks to the release testers and packagers: Bero
Rosenkränzer, Brian Cain, Dimitry Andric, Jonas Hahnfeld, Lei Huang
Michał Górny, Sylvestre Ledru, Takumi Nakamura, and Vedant Kumar.

For questions or comments about the release, please contact the
community on the mailing lists. Onwards to LLVM 8!

Cheers,
Hans
</code></pre>

<hr>

<p>###<a href="https://blog.raveland.org/post/thinkpad_update_bios/" target="_blank" rel="nofollow noopener">Update your Thinkpad’s bios with Linux or OpenBSD</a></p>

<ul>
<li>Get your new bios</li>
</ul>

<blockquote>
<p>At first, go to the Lenovo website and download your new bios:</p>
</blockquote>

<ul>
<li>Go to lenovo support</li>
<li>Use the search bar to find your product (example for me, x270)</li>
<li>Choose the right product (if necessary) and click search</li>
<li>On the right side, click on Update Your System</li>
<li>Click on BIOS/UEFI</li>
<li>Choose *BIOS Update (Bootable CD) for Windows *</li>
<li>Download</li>
</ul>

<blockquote>
<p>For me the file is called like this : r0iuj25wd.iso</p>
</blockquote>

<ul>
<li>Extract bios update</li>
</ul>

<blockquote>
<p>Now you will need to install geteltorito.</p>
</blockquote>

<ul>
<li>With OpenBSD:</li>
</ul>

<p><code>$ doas pkg_add geteltorito</code><br>
<code>quirks-3.7 signed on 2018-09-09T13:15:19Z</code><br>
<code>geteltorito-0.6: ok</code></p>

<ul>
<li>With Debian:</li>
</ul>

<p><code>$ sudo apt-get install genisoimage</code></p>

<ul>
<li>Now we will extract the bios update :</li>
</ul>

<p><code>$ geteltorito -o bios_update.img r0iuj25wd.iso</code><br>
<code>Booting catalog starts at sector: 20</code><br>
<code>Manufacturer of CD: NERO BURNING ROM VER 12</code><br>
<code>Image architecture: x86</code><br>
<code>Boot media type is: harddisk</code><br>
<code>El Torito image starts at sector 27 and has 43008 sector(s) of 512 Bytes</code><br>
<code></code><br>
<code>Image has been written to file "bios_update.img".</code><br>
<code>This will create a file called bios_update.img.</code></p>

<ul>
<li>Put the image on an USB key</li>
<li>CAREFULL : on my computer, my USB key is sda1 on Linux and sd1 on OpenBSD.</li>
</ul>

<blockquote>
<p>Please check twice on your computer the name of your USB key.</p>
</blockquote>

<ul>
<li>With OpenBSD :</li>
</ul>

<p><code>$ doas dd if=bios_update.img of=/dev/rsd1c</code></p>

<ul>
<li>With Linux :</li>
</ul>

<p><code>$ sudo dd if=bios_update.img of=/dev/sda</code></p>

<blockquote>
<p>Now all you need is to reboot, to boot on your USB key and follow the instructions. Enjoy 😉</p>
</blockquote>

<hr>

<p>###<a href="https://hardenedbsd.org/article/shawn-webb/2018-09-17/announcing-hardenedbsd-foundation" target="_blank" rel="nofollow noopener">Announcing The HardenedBSD Foundation</a></p>

<blockquote>
<p>In June of 2018, we announced our intent to become a not-for-profit, tax-exempt 501©(3) organization in the United States. It took a dedicated team months of work behind-the-scenes to make that happen. On 06 September 2018, HardenedBSD Foundation Corp was granted 501©(3) status, from which point all US-based persons making donations can deduct the donation from their taxes.<br>
We are grateful for those who contribute to HardenedBSD in whatever way they can. Thank you for making HardenedBSD possible. We look forward to a bright future, driven by a helpful and positive community.</p>
</blockquote>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSSendRecvVsRsync" target="_blank" rel="nofollow noopener">How you migrate ZFS filesystems matters</a></p>

<blockquote>
<p>If you want to move a ZFS filesystem around from one host to another, you have two general approaches; you can use ‘zfs send’ and ‘zfs receive’, or you can use a user level copying tool such as rsync (or ‘tar -cf | tar -xf’, or any number of similar options). Until recently, I had considered these two approaches to be more or less equivalent apart from their convenience and speed (which generally tilted in favour of ‘zfs send’). It turns out that this is not necessarily the case and there are situations where you will want one instead of the other.<br>
We have had two generations of ZFS fileservers so far, the Solaris ones and the OmniOS ones. When we moved from the first generation to the second generation, we migrated filesystems across using ‘zfs send’, including the filesystem with my home directory in it (we did this for various reasons). Recently I discovered that some old things in my filesystem didn’t have file type information in their directory entries. ZFS has been adding file type information to directories for a long time, but not quite as long as my home directory has been on ZFS.<br>
This illustrates an important difference between the ‘zfs send’ approach and the rsync approach, which is that zfs send doesn’t update or change at least some ZFS on-disk data structures, in the way that re-writing them from scratch from user level does. There are both positives and negatives to this, and a certain amount of rewriting does happen even in the ‘zfs send’ case (for example, all of the block pointers get changed, and ZFS will re-compress your data as applicable).<br>
I knew that in theory you had to copy things at the user level if you wanted to make sure that your ZFS filesystem and everything in it was fully up to date with the latest ZFS features. But I didn’t expect to hit a situation where it mattered in practice until, well, I did. Now I suspect that old files on our old filesystems may be partially missing a number of things, and I’m wondering how much of the various changes in ‘zfs upgrade -v’ apply even to old data.<br>
(I’d run into this sort of general thing before when I looked into ext3 to ext4 conversion on Linux.)<br>
With all that said, I doubt this will change our plans for migrating our ZFS filesystems in the future (to our third generation fileservers). ZFS sending and receiving is just too convenient, too fast and too reliable to give up. Rsync isn’t bad, but it’s not the same, and so we only use it when we have to (when we’re moving only some of the people in a filesystem instead of all of them, for example).<br>
PS: I was going to try to say something about what ‘zfs send’ did and didn’t update, but having looked briefly at the code I’ve concluded that I need to do more research before running my keyboard off. In the mean time, you can read the OpenZFS wiki page on ZFS send and receive, which has plenty of juicy technical details.<br>
PPS: Since eliminating all-zero blocks is a form of compression, you can turn zero-filled files into sparse files through a ZFS send/receive if the destination has compression enabled. As far as I know, genuine sparse files on the source will stay sparse through a ZFS send/receive even if they’re sent to a destination with compression off.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/254235663/" target="_blank" rel="nofollow noopener">BSD Users Stockholm Meetup #4: Tuesday, November 13, 2018 at 18:00</a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">BSD Poland User Group: Next Meeting: October 11, 2018, 18:15 - 21:15 at Warsaw University of Technology</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180915112028" target="_blank" rel="nofollow noopener">n2k18 Hackathon report: Ken Westerback (krw@) on disklabel(8) work, dhclient(8) progress</a></li>
<li><a href="https://lists.xenproject.org/archives/html/mirageos-devel/2018-09/msg00013.html" target="_blank" rel="nofollow noopener">Running MirageOS Unikernels on OpenBSD in vmm (Now Works)</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180910070407" target="_blank" rel="nofollow noopener">vmm(4) gets support for qcow2</a></li>
<li><a href="https://oshogbo.vexillium.org/blog/52/" target="_blank" rel="nofollow noopener">MeetBSD and SecurityBsides</a></li>
<li><a href="https://twitter.com/cperciva/status/1041433506453155840" target="_blank" rel="nofollow noopener">Colin Percival reduced FreeBSD startup time from 10627ms (11.2) to 4738ms (12.0)</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2018-September/001842.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1 end-of-life</a></li>
<li><a href="https://www.meetup.com/KnoxBUG-BSD-Linux-and-FOSS-Users-Unite/events/254759084" target="_blank" rel="nofollow noopener">KnoxBug: Monday, October 1, 2018 at 18:00: Real-world Performance Advantages of NVDIMM and NVMe: Case Study with OpenZFS</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Todd - <a href="http://dpaste.com/2QZEZPA" target="_blank" rel="nofollow noopener">2 Nics, 1 bhyve and a jail cell</a></li>
<li>Thomas - <a href="http://dpaste.com/3SFM1YP#wrap" target="_blank" rel="nofollow noopener">Deep Dive</a></li>
<li>Morgan - <a href="http://dpaste.com/07EK4RK#wrap" target="_blank" rel="nofollow noopener">Send/Receive to Manage Fragmentation?</a></li>
<li>Dominik - <a href="http://dpaste.com/0SZJ0V4#wrap" target="_blank" rel="nofollow noopener">hierarchical jails -&gt; networking</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 264: Optimized-out | BSD Now 264</title>
  <link>https://www.bsdnow.tv/264</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2594</guid>
  <pubDate>Thu, 20 Sep 2018 01:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/870be997-e69a-4290-b287-0465a463522d.mp3" length="43367569" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD and DragonflyBSD benchmarks on AMD’s Threadripper, NetBSD 7.2 has been released, optimized out DTrace kernel symbols, stuck UEFI bootloaders, why ed is not a good editor today, tell your BSD story, and more.</itunes:subtitle>
  <itunes:duration>1:11:58</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>&lt;p&gt;FreeBSD and DragonflyBSD benchmarks on AMD’s Threadripper, NetBSD 7.2 has been released, optimized out DTrace kernel symbols, stuck UEFI bootloaders, why ed is not a good editor today, tell your BSD story, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://www.phoronix.com/scan.php?page=article&amp;amp;item=bsd-threadripper-2990wx&amp;amp;num=1" target="_blank" rel="nofollow noopener"&gt;FreeBSD &amp;amp; DragonFlyBSD Put Up A Strong Fight On AMD’s Threadripper 2990WX, Benchmarks Against Linux&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The past two weeks I have been delivering a great deal of AMD Threadripper 2990WX benchmarks on Linux as well as some against Windows and Windows Server. But recently I got around to trying out some of the BSD operating systems on this 32-core / 64-thread processor to see how they would run and to see whether they would have similar scaling issues or not like we’ve seen on the Windows side against Linux. In this article are FreeBSD and DragonFlyBSD benchmarks with the X399 + 2990WX compared to a few Linux distributions.&lt;br&gt;
The BSDs I focused my testing on were FreeBSD 11.2-STABLE and 12.0-CURRENT/ALPHA1 (the version in development) as well as iX System’s TrueOS that is tracking FreeBSD 12.0-CURRENT. Also included were DragonFlyBSD, with FreeBSD and DragonFlyBSD being tied as my favorite operating systems when it comes to the BSDs. When it came to FreeBSD 11.2-STABLE and 12.0-ALPHA1 on the Threadripper 2990WX, it worked out surprisingly well. I encountered no real issues during my two days of benchmarking on FreeBSD (and TrueOS). It was a great experience and FreeBSD was happy to exploit the 64 threads on the system.&lt;br&gt;
DragonFlyBSD was a bit of a different story… Last week when I started this BSD testing I tried DragonFly 5.2.2 as the latest stable release as well as a DragonFlyBSD 5.3 development snapshot from last week: both failed to boot in either BIOS or UEFI modes.&lt;br&gt;
But then a few days ago DragonFlyBSD lead developer Matthew Dillon bought himself a 2990WX platform. He made the necessary changes to get DragonFlyBSD 5.3 working and he ended up finding really great performance and potential out of the platform. So I tried the latest DragonFlyBSD 5.3 daily ISO on 22 August and indeed it now booted successfully and we were off to the races. Thus there are some DragonFlyBSD 5.3 benchmarks included in this article too.&lt;br&gt;
Just hours ago, Matthew Dillon landed some 2990WX topology and scheduler enhancements but that fell out of the scope of when DragonFly was installed on this system. But over the weekend or so I plan to re-test DragonFlyBSD 5.3 and see how those optimizations affect the overall 2990WX performance now on that BSD. DragonFlyBSD 5.4 stable should certainly be an interesting release on several fronts!&lt;br&gt;
With FreeBSD 11.2-STABLE and 12.0-ALPHA1 I ran benchmarks when using their stock compiler (LLVM Clang 6.0) as well as GCC 7.3 obtained via GCC 7.3. That was done to rule out compiler differences in benchmarking against the GCC-based Linux distributions. On DragonFlyBSD 5.3 it defaults to the GCC 5.4.1 but via pkg I also did a secondary run when upgraded to GCC 7.3.&lt;br&gt;
The hardware and BIOS/UEFI settings were maintained the same throughout the entire benchmarking process. The system was made up of the AMD Ryzen Threadripper 2990WX at stock speeds, the ASUS ROG ZENITH EXTREME motherboard, 4 x 8GB DDR4-3200MHz memory, Samsung 970 EVO 500GB NVMe SSD, and Radeon RX Vega 56 graphics card.&lt;br&gt;
All of these Linux vs. BSD benchmarks were carried out in a fully-automated and reproducible manner using the open-source Phoronix Test Suite benchmarking framework.&lt;br&gt;
While for the last of today’s BSD vs. Linux benchmarking on the Threadripper 2990WX, the Linux distributions came out slightly ahead of FreeBSD and DragonFlyBSD with GCC (another test having issues with Clang 6.0 on the BSDs).&lt;br&gt;
Overall, I was quite taken away by the BSD performance on the Threadripper 2990WX – particularly FreeBSD. In a surprising number of benchmarks, the BSDs were outperforming the tested Linux distributions though often by incredibly thin margins. Still, quite an accomplishment for these BSD operating systems and considering how much better Linux is already doing than Windows 10 / Windows Server on this 32-core / 64-thread processor. Then again, the BSDs like Linux have a long history of running on high core/thread-count systems, super computers, and other HPC environments.&lt;br&gt;
It will be interesting to see how much faster DragonFlyBSD can run given today’s commit to its kernel with scheduler and topology improvements for the 2990WX. Those additional DragonFlyBSD benchmarks will be published in the coming days once they are completed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.netbsd.org/releases/formal-7/NetBSD-7.2.html" target="_blank" rel="nofollow noopener"&gt;NetBSD 7.2 released&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The NetBSD Project is pleased to announce NetBSD 7.2, the second feature update of the NetBSD 7 release branch. It represents a selected subset of fixes deemed important for security or stability reasons, as well as new features and enhancements.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;General Security Note&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;The NetBSD 7.2 release is a maintenance release of the netbsd-7 branch, which had it's first major release, NetBSD 7.0 in September 2015. A lot of security features have been added to later NetBSD versions, and for new installations we highly recommend using our latest release, NetBSD 8.0 instead.&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some highlights of the 7.2 release are:&lt;/li&gt;
&lt;li&gt;Support for USB 3.0.&lt;/li&gt;
&lt;li&gt;Enhancements to the Linux emulation subsystem.&lt;/li&gt;
&lt;li&gt;Fixes in binary compatibility for ancient NetBSD executables.&lt;/li&gt;
&lt;li&gt;iwm(4) driver for Intel Wireless 726x, 316x, 826x and 416x series added.&lt;/li&gt;
&lt;li&gt;Support for Raspberry Pi 3 added.&lt;/li&gt;
&lt;li&gt;Fix interrupt setup on Hyper-V VMs with Legacy Network Adapter.&lt;/li&gt;
&lt;li&gt;SVR4 and IBCS2 compatibility subsystems have been disabled by default (besides IBCS2 on VAX). These subsystems also do not auto-load their modules any more.&lt;/li&gt;
&lt;li&gt;Various USB stability enhancements.&lt;/li&gt;
&lt;li&gt;Numerous bug fixes and stability improvements.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Complete source and binaries for NetBSD 7.2 are available for download at many sites around the world. A list of download sites providing FTP, AnonCVS, SUP, and other services may be found at &lt;a href="https://www.NetBSD.org/mirrors/" target="_blank" rel="nofollow noopener"&gt;https://www.NetBSD.org/mirrors/&lt;/a&gt;. We encourage users who wish to install via ISO or USB disk images to download via BitTorrent by using the torrent files supplied in the images area. A list of hashes for the NetBSD 7.2 distribution has been signed with the well-connected PGP key for the NetBSD Security Officer: &lt;a href="https://cdn.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-7.2_hashes.asc" target="_blank" rel="nofollow noopener"&gt;https://cdn.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-7.2_hashes.asc&lt;/a&gt;&lt;br&gt;
NetBSD is free. All of the code is under non-restrictive licenses, and may be used without paying royalties to anyone. Free support services are available via our mailing lists and website. Commercial support is available from a variety of sources. More extensive information on NetBSD is available from our website:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://farhan.codes/2018/08/16/including-optimized-out-kernel-symbols-in-dtrace-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Including optimized-out kernel symbols in dtrace on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Have you ever had dtrace(1) on FreeBSD fail to list a probe that should exist in the kernel? This is because Clang will optimize-out some functions. The result is ctfconvert(1) will not generate debugging symbols that dtrace(1) uses to identify probes. I have a quick solution to getting those probes visible to dtrace(1).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;In my case, I was trying to instrument on ieee80211_ioctl_get80211, whose sister function ieee80211_ioctl_set80211 has a dtrace(1) probe in the generic FreeBSD 11 and 12 kernels. Both functions are located in /usr/src/sys/net80211/ieee80211_ioctl.c.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;My first attempt was to add to /etc/make.conf as follows and recompile the kernel.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;CFLAGS+=-O0 and -fno-inline-functions&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This failed to produce the dtrace(1) probe. Several other attempts failed and I was getting inconsistent compilation results (Is it me or is ieee80211_ioctl.c compiled with different flags if NO_CLEAN=1 is set?). When I manually compiled the object file by copying the compilation line for the object file and adding -O0 -fno-inline-functions, nm(1) on both the object file and kernel demonstrated that the symbol was present. I installed the kernel, rebooted and it was listed as a dtrace probe. Great!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;But as I continued to debug my WiFi driver (oh yeah, I’m very slowly extending rtwn(4)), I found myself rebuilding the kernel several times and frequently rebooting. Why not do this across the entire kernel?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;After hacking around, my solution was to modify the build scripts. My solution was to edit /usr/src/sys/conf/kern.pre.mk and modify all optimization level 2 to optimization level 0. The following is my diff(1) on FreeBSD 12.0-CURRENT.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A few thoughts:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This seems like a hack rather than a long-term solution. Either the problem is with the hard-coded optimization flags, or the inability to overwrite them in all places in make.conf.&lt;br&gt;
Removing optimizations is only something I would do in a non-production kernel, so its as if I have to choose between optimizations for a production kernel or having dtrace probes. But dtrace explicitly markets itself as not impactful on production.&lt;br&gt;
Using the dtrace pony as your featured image on WordPress does not render properly and must be rotated and modified. Blame Bryan Cantrill.&lt;br&gt;
If you have a better solution, please let me know and I will update the article, but this works for me!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.neelc.org/freebsd-uefi-on-asus-motherboards/" target="_blank" rel="nofollow noopener"&gt;FreeBSD: UEFI Bootloader stuck on BootCurrent/BootOrder/BootInfo on Asus Motherboards (and fix!)&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Starting with FreeBSD CURRENT from about a few weeks of posting date, but including FreeBSD 12 alpha releases (not related to DEC Alpha), I noticed one thing: When I boot FreeBSD from UEFI on a homebuilt desktop with a Asus H87M-E motherboard, and have Root on ZFS, the bootloader gets stuck on lines like BootCurrent, BootOrder, and  BootInfo. This issue occurs when I try to boot directly to  efi\boot\bootx64.efi.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;One person had a similar issue on a Asus H87I-PLUS motherboard. This issue may or may not exist on other Asus motherboards, desktops, or laptops. This may be specific to Asus motherboards for Intel’s Haswell, but may also exist on newer systems (e.g. Skylake) or older (e.g. Ivy Bridge) with Asus motherboards, as well as Asus desktops or laptops.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;There are two solutions to this problem:&lt;/li&gt;
&lt;li&gt;Use Legacy BIOS mode instead of UEFI mode&lt;/li&gt;
&lt;li&gt;Install a FreeBSD UEFI Boot entry&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Keep in mind that I am not going to talk about this issue and third-party UEFI boot managers such as rEFInd here.&lt;br&gt;
The first option is rather straightforward: you need to make sure your computer has “Secure Boot” disabled and “Legacy Boot” or “CSM” enabled. Then, you need to make sure FreeBSD is installed in BIOS mode. However, this solution is (in my opinion) suboptimal. Why? Because:&lt;br&gt;
You won’t be able to use hard drives bigger than 2TB&lt;br&gt;
You are limited to MBR Partitioning on Asus motherboards with UEFI as Asus motherboards refuse to boot GPT partitioned disks in BIOS mode&lt;br&gt;
Legacy BIOS mode may not exist on future computers or motherboards (although those systems may not have this issue, and this issue may get fixed by then)&lt;br&gt;
The second option, however, is less straightforward, but will let you keep UEFI. Many UEFI systems, including affected Asus motherboards described here, include a boot manager built into the UEFI. FreeBSD includes a tool called efibootmgr to manage this, similar to the similarly-named tool in Linux, but with a different syntax.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/unix/EdNoLongerGoodEditor" target="_blank" rel="nofollow noopener"&gt;Why ed(1) is not a good editor today&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ll start with my tweet:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;Heretical Unix opinion time: ed(1) may be the 'standard Unix editor', but it is not a particularly good editor outside of a limited environment that almost never applies today.&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There is a certain portion of Unixdom that really likes ed(1), the ‘standard Unix editor’. Having actually used ed for a not insignificant amount of time (although it was the friendlier ‘UofT ed’ variant), I have some reactions to what I feel is sometimes overzealous praise of it. One of these is what I tweeted.&lt;br&gt;
The fundamental limitation of ed is that it is what I call an indirect manipulation interface, in contrast to the explicit manipulation interfaces of screen editors like vi and graphical editors like sam (which are generally lumped together as ‘visual’ editors, so called because they actually show you the text you’re editing). When you edit text in ed, you have some problems that you don’t have in visual editors; you have to maintain in your head the context of what the text looks like (and where you are in it), you have to figure out how to address portions of that text in order to modify them, and finally you have to think about how your edit commands will change the context. Copious use of ed’s p command can help with the first problem, but nothing really deals with the other two. In order to use ed, you basically have to simulate parts of ed in your head.&lt;br&gt;
Ed is a great editor in situations where the editor explicitly presenting this context is a very expensive or outright impossible operation. Ed works great on real teletypes, for example, or over extremely slow links where you want to send and receive as little data as possible (and on real teletypes you have some amount of context in the form of an actual printout that you can look back at). Back in the old days of Unix, this described a fairly large number of situations; you had actual teletypes, you had slow dialup links (and later slow, high latency network links), and you had slow and heavily overloaded systems.&lt;br&gt;
However, that’s no longer the situation today (at least almost all of the time). Modern systems and links can easily support visual editors that continually show you the context of the text and generally let you more or less directly manipulate it (whether that is through cursoring around it or using a mouse). Such editors are easier and faster to use, and they leave you with more brainpower free to think about things like the program you’re writing (which is the important thing).&lt;br&gt;
If you can use a visual editor, ed is not a particularly good editor to use instead; you will probably spend a lot of effort (and some amount of time) on doing by hand something that the visual editor will do for you. If you are very practiced at ed, maybe this partly goes away, but I maintain that you are still working harder than you need to be.&lt;br&gt;
The people who say that ed is a quite powerful editor are correct; ed is quite capable (although sadly limited by only editing a single file). It’s just that it’s also a pain to use.&lt;br&gt;
(They’re also correct that ed is the foundation of many other things in Unix, including sed and vi. But that doesn’t mean that the best way to learn or understand those things is to learn and use ed.)&lt;br&gt;
This doesn’t make ed a useless, vestigial thing on modern Unix, though. There are uses for ed in non-interactive editing, for example. But on modern Unix, ed is a specialized tool, much like dc. It’s worth knowing that ed is there and roughly what it can do, but it’s probably not worth learning how to use it before you need it. And you’re unlikely to ever be in a situation where it’s the best choice for interactive editing (and if you are, something has generally gone wrong).&lt;br&gt;
(But if you enjoy exploring the obscure corners of Unix, sure, go for it. Learn dc too, because it’s interesting in its own way and, like ed, it’s one of those classical old Unix programs.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/DavieDavieDave/status/1040359656864903169" target="_blank" rel="nofollow noopener"&gt;Is there any interest in a #BSD user group in #Montreal?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.bsdjobs.com/people/hi.html" target="_blank" rel="nofollow noopener"&gt;Tell your BSD story&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/finishing_leftover_tasks_from_google" target="_blank" rel="nofollow noopener"&gt;Finishing leftover tasks from Google Summer of Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180906072459" target="_blank" rel="nofollow noopener"&gt;Fuzzing the OpenBSD Kernel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.nycbug.org/pipermail/talk/2018-August/017692.html" target="_blank" rel="nofollow noopener"&gt;ARM - any Tier-1 *BSD options?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Chris - &lt;a href="http://dpaste.com/2Y6XBYN" target="_blank" rel="nofollow noopener"&gt;byhve question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Paulo - &lt;a href="http://dpaste.com/1A88F2W" target="_blank" rel="nofollow noopener"&gt;Topic suggestion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Bostjan - &lt;a href="http://dpaste.com/140ZHZD#wrap" target="_blank" rel="nofollow noopener"&gt;How data gets to disk&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD and DragonflyBSD benchmarks on AMD’s Threadripper, NetBSD 7.2 has been released, optimized out DTrace kernel symbols, stuck UEFI bootloaders, why ed is not a good editor today, tell your BSD story, and more.</p>

<p>##Headlines<br>
###<a href="https://www.phoronix.com/scan.php?page=article&amp;item=bsd-threadripper-2990wx&amp;num=1" target="_blank" rel="nofollow noopener">FreeBSD &amp; DragonFlyBSD Put Up A Strong Fight On AMD’s Threadripper 2990WX, Benchmarks Against Linux</a></p>

<blockquote>
<p>The past two weeks I have been delivering a great deal of AMD Threadripper 2990WX benchmarks on Linux as well as some against Windows and Windows Server. But recently I got around to trying out some of the BSD operating systems on this 32-core / 64-thread processor to see how they would run and to see whether they would have similar scaling issues or not like we’ve seen on the Windows side against Linux. In this article are FreeBSD and DragonFlyBSD benchmarks with the X399 + 2990WX compared to a few Linux distributions.<br>
The BSDs I focused my testing on were FreeBSD 11.2-STABLE and 12.0-CURRENT/ALPHA1 (the version in development) as well as iX System’s TrueOS that is tracking FreeBSD 12.0-CURRENT. Also included were DragonFlyBSD, with FreeBSD and DragonFlyBSD being tied as my favorite operating systems when it comes to the BSDs. When it came to FreeBSD 11.2-STABLE and 12.0-ALPHA1 on the Threadripper 2990WX, it worked out surprisingly well. I encountered no real issues during my two days of benchmarking on FreeBSD (and TrueOS). It was a great experience and FreeBSD was happy to exploit the 64 threads on the system.<br>
DragonFlyBSD was a bit of a different story… Last week when I started this BSD testing I tried DragonFly 5.2.2 as the latest stable release as well as a DragonFlyBSD 5.3 development snapshot from last week: both failed to boot in either BIOS or UEFI modes.<br>
But then a few days ago DragonFlyBSD lead developer Matthew Dillon bought himself a 2990WX platform. He made the necessary changes to get DragonFlyBSD 5.3 working and he ended up finding really great performance and potential out of the platform. So I tried the latest DragonFlyBSD 5.3 daily ISO on 22 August and indeed it now booted successfully and we were off to the races. Thus there are some DragonFlyBSD 5.3 benchmarks included in this article too.<br>
Just hours ago, Matthew Dillon landed some 2990WX topology and scheduler enhancements but that fell out of the scope of when DragonFly was installed on this system. But over the weekend or so I plan to re-test DragonFlyBSD 5.3 and see how those optimizations affect the overall 2990WX performance now on that BSD. DragonFlyBSD 5.4 stable should certainly be an interesting release on several fronts!<br>
With FreeBSD 11.2-STABLE and 12.0-ALPHA1 I ran benchmarks when using their stock compiler (LLVM Clang 6.0) as well as GCC 7.3 obtained via GCC 7.3. That was done to rule out compiler differences in benchmarking against the GCC-based Linux distributions. On DragonFlyBSD 5.3 it defaults to the GCC 5.4.1 but via pkg I also did a secondary run when upgraded to GCC 7.3.<br>
The hardware and BIOS/UEFI settings were maintained the same throughout the entire benchmarking process. The system was made up of the AMD Ryzen Threadripper 2990WX at stock speeds, the ASUS ROG ZENITH EXTREME motherboard, 4 x 8GB DDR4-3200MHz memory, Samsung 970 EVO 500GB NVMe SSD, and Radeon RX Vega 56 graphics card.<br>
All of these Linux vs. BSD benchmarks were carried out in a fully-automated and reproducible manner using the open-source Phoronix Test Suite benchmarking framework.<br>
While for the last of today’s BSD vs. Linux benchmarking on the Threadripper 2990WX, the Linux distributions came out slightly ahead of FreeBSD and DragonFlyBSD with GCC (another test having issues with Clang 6.0 on the BSDs).<br>
Overall, I was quite taken away by the BSD performance on the Threadripper 2990WX – particularly FreeBSD. In a surprising number of benchmarks, the BSDs were outperforming the tested Linux distributions though often by incredibly thin margins. Still, quite an accomplishment for these BSD operating systems and considering how much better Linux is already doing than Windows 10 / Windows Server on this 32-core / 64-thread processor. Then again, the BSDs like Linux have a long history of running on high core/thread-count systems, super computers, and other HPC environments.<br>
It will be interesting to see how much faster DragonFlyBSD can run given today’s commit to its kernel with scheduler and topology improvements for the 2990WX. Those additional DragonFlyBSD benchmarks will be published in the coming days once they are completed.</p>
</blockquote>

<hr>

<p>###<a href="https://www.netbsd.org/releases/formal-7/NetBSD-7.2.html" target="_blank" rel="nofollow noopener">NetBSD 7.2 released</a></p>

<blockquote>
<p>The NetBSD Project is pleased to announce NetBSD 7.2, the second feature update of the NetBSD 7 release branch. It represents a selected subset of fixes deemed important for security or stability reasons, as well as new features and enhancements.</p>
</blockquote>

<ul>
<li>General Security Note</li>
</ul>

<p><code>The NetBSD 7.2 release is a maintenance release of the netbsd-7 branch, which had it's first major release, NetBSD 7.0 in September 2015. A lot of security features have been added to later NetBSD versions, and for new installations we highly recommend using our latest release, NetBSD 8.0 instead.</code></p>

<ul>
<li>Some highlights of the 7.2 release are:</li>
<li>Support for USB 3.0.</li>
<li>Enhancements to the Linux emulation subsystem.</li>
<li>Fixes in binary compatibility for ancient NetBSD executables.</li>
<li>iwm(4) driver for Intel Wireless 726x, 316x, 826x and 416x series added.</li>
<li>Support for Raspberry Pi 3 added.</li>
<li>Fix interrupt setup on Hyper-V VMs with Legacy Network Adapter.</li>
<li>SVR4 and IBCS2 compatibility subsystems have been disabled by default (besides IBCS2 on VAX). These subsystems also do not auto-load their modules any more.</li>
<li>Various USB stability enhancements.</li>
<li>Numerous bug fixes and stability improvements.</li>
</ul>

<blockquote>
<p>Complete source and binaries for NetBSD 7.2 are available for download at many sites around the world. A list of download sites providing FTP, AnonCVS, SUP, and other services may be found at <a href="https://www.NetBSD.org/mirrors/" target="_blank" rel="nofollow noopener">https://www.NetBSD.org/mirrors/</a>. We encourage users who wish to install via ISO or USB disk images to download via BitTorrent by using the torrent files supplied in the images area. A list of hashes for the NetBSD 7.2 distribution has been signed with the well-connected PGP key for the NetBSD Security Officer: <a href="https://cdn.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-7.2_hashes.asc" target="_blank" rel="nofollow noopener">https://cdn.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-7.2_hashes.asc</a><br>
NetBSD is free. All of the code is under non-restrictive licenses, and may be used without paying royalties to anyone. Free support services are available via our mailing lists and website. Commercial support is available from a variety of sources. More extensive information on NetBSD is available from our website:</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://farhan.codes/2018/08/16/including-optimized-out-kernel-symbols-in-dtrace-on-freebsd/" target="_blank" rel="nofollow noopener">Including optimized-out kernel symbols in dtrace on FreeBSD</a></p>

<blockquote>
<p>Have you ever had dtrace(1) on FreeBSD fail to list a probe that should exist in the kernel? This is because Clang will optimize-out some functions. The result is ctfconvert(1) will not generate debugging symbols that dtrace(1) uses to identify probes. I have a quick solution to getting those probes visible to dtrace(1).</p>
</blockquote>

<blockquote>
<p>In my case, I was trying to instrument on ieee80211_ioctl_get80211, whose sister function ieee80211_ioctl_set80211 has a dtrace(1) probe in the generic FreeBSD 11 and 12 kernels. Both functions are located in /usr/src/sys/net80211/ieee80211_ioctl.c.</p>
</blockquote>

<blockquote>
<p>My first attempt was to add to /etc/make.conf as follows and recompile the kernel.</p>
</blockquote>

<p><code>CFLAGS+=-O0 and -fno-inline-functions</code></p>

<blockquote>
<p>This failed to produce the dtrace(1) probe. Several other attempts failed and I was getting inconsistent compilation results (Is it me or is ieee80211_ioctl.c compiled with different flags if NO_CLEAN=1 is set?). When I manually compiled the object file by copying the compilation line for the object file and adding -O0 -fno-inline-functions, nm(1) on both the object file and kernel demonstrated that the symbol was present. I installed the kernel, rebooted and it was listed as a dtrace probe. Great!</p>
</blockquote>

<blockquote>
<p>But as I continued to debug my WiFi driver (oh yeah, I’m very slowly extending rtwn(4)), I found myself rebuilding the kernel several times and frequently rebooting. Why not do this across the entire kernel?</p>
</blockquote>

<blockquote>
<p>After hacking around, my solution was to modify the build scripts. My solution was to edit /usr/src/sys/conf/kern.pre.mk and modify all optimization level 2 to optimization level 0. The following is my diff(1) on FreeBSD 12.0-CURRENT.</p>
</blockquote>

<ul>
<li>A few thoughts:</li>
</ul>

<blockquote>
<p>This seems like a hack rather than a long-term solution. Either the problem is with the hard-coded optimization flags, or the inability to overwrite them in all places in make.conf.<br>
Removing optimizations is only something I would do in a non-production kernel, so its as if I have to choose between optimizations for a production kernel or having dtrace probes. But dtrace explicitly markets itself as not impactful on production.<br>
Using the dtrace pony as your featured image on WordPress does not render properly and must be rotated and modified. Blame Bryan Cantrill.<br>
If you have a better solution, please let me know and I will update the article, but this works for me!</p>
</blockquote>

<hr>

<p>###<a href="https://www.neelc.org/freebsd-uefi-on-asus-motherboards/" target="_blank" rel="nofollow noopener">FreeBSD: UEFI Bootloader stuck on BootCurrent/BootOrder/BootInfo on Asus Motherboards (and fix!)</a></p>

<blockquote>
<p>Starting with FreeBSD CURRENT from about a few weeks of posting date, but including FreeBSD 12 alpha releases (not related to DEC Alpha), I noticed one thing: When I boot FreeBSD from UEFI on a homebuilt desktop with a Asus H87M-E motherboard, and have Root on ZFS, the bootloader gets stuck on lines like BootCurrent, BootOrder, and  BootInfo. This issue occurs when I try to boot directly to  efi\boot\bootx64.efi.</p>
</blockquote>

<blockquote>
<p>One person had a similar issue on a Asus H87I-PLUS motherboard. This issue may or may not exist on other Asus motherboards, desktops, or laptops. This may be specific to Asus motherboards for Intel’s Haswell, but may also exist on newer systems (e.g. Skylake) or older (e.g. Ivy Bridge) with Asus motherboards, as well as Asus desktops or laptops.</p>
</blockquote>

<ul>
<li>There are two solutions to this problem:</li>
<li>Use Legacy BIOS mode instead of UEFI mode</li>
<li>Install a FreeBSD UEFI Boot entry</li>
</ul>

<blockquote>
<p>Keep in mind that I am not going to talk about this issue and third-party UEFI boot managers such as rEFInd here.<br>
The first option is rather straightforward: you need to make sure your computer has “Secure Boot” disabled and “Legacy Boot” or “CSM” enabled. Then, you need to make sure FreeBSD is installed in BIOS mode. However, this solution is (in my opinion) suboptimal. Why? Because:<br>
You won’t be able to use hard drives bigger than 2TB<br>
You are limited to MBR Partitioning on Asus motherboards with UEFI as Asus motherboards refuse to boot GPT partitioned disks in BIOS mode<br>
Legacy BIOS mode may not exist on future computers or motherboards (although those systems may not have this issue, and this issue may get fixed by then)<br>
The second option, however, is less straightforward, but will let you keep UEFI. Many UEFI systems, including affected Asus motherboards described here, include a boot manager built into the UEFI. FreeBSD includes a tool called efibootmgr to manage this, similar to the similarly-named tool in Linux, but with a different syntax.</p>
</blockquote>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/unix/EdNoLongerGoodEditor" target="_blank" rel="nofollow noopener">Why ed(1) is not a good editor today</a></p>

<blockquote>
<p>I’ll start with my tweet:</p>
</blockquote>

<p><code>Heretical Unix opinion time: ed(1) may be the 'standard Unix editor', but it is not a particularly good editor outside of a limited environment that almost never applies today.</code></p>

<blockquote>
<p>There is a certain portion of Unixdom that really likes ed(1), the ‘standard Unix editor’. Having actually used ed for a not insignificant amount of time (although it was the friendlier ‘UofT ed’ variant), I have some reactions to what I feel is sometimes overzealous praise of it. One of these is what I tweeted.<br>
The fundamental limitation of ed is that it is what I call an indirect manipulation interface, in contrast to the explicit manipulation interfaces of screen editors like vi and graphical editors like sam (which are generally lumped together as ‘visual’ editors, so called because they actually show you the text you’re editing). When you edit text in ed, you have some problems that you don’t have in visual editors; you have to maintain in your head the context of what the text looks like (and where you are in it), you have to figure out how to address portions of that text in order to modify them, and finally you have to think about how your edit commands will change the context. Copious use of ed’s p command can help with the first problem, but nothing really deals with the other two. In order to use ed, you basically have to simulate parts of ed in your head.<br>
Ed is a great editor in situations where the editor explicitly presenting this context is a very expensive or outright impossible operation. Ed works great on real teletypes, for example, or over extremely slow links where you want to send and receive as little data as possible (and on real teletypes you have some amount of context in the form of an actual printout that you can look back at). Back in the old days of Unix, this described a fairly large number of situations; you had actual teletypes, you had slow dialup links (and later slow, high latency network links), and you had slow and heavily overloaded systems.<br>
However, that’s no longer the situation today (at least almost all of the time). Modern systems and links can easily support visual editors that continually show you the context of the text and generally let you more or less directly manipulate it (whether that is through cursoring around it or using a mouse). Such editors are easier and faster to use, and they leave you with more brainpower free to think about things like the program you’re writing (which is the important thing).<br>
If you can use a visual editor, ed is not a particularly good editor to use instead; you will probably spend a lot of effort (and some amount of time) on doing by hand something that the visual editor will do for you. If you are very practiced at ed, maybe this partly goes away, but I maintain that you are still working harder than you need to be.<br>
The people who say that ed is a quite powerful editor are correct; ed is quite capable (although sadly limited by only editing a single file). It’s just that it’s also a pain to use.<br>
(They’re also correct that ed is the foundation of many other things in Unix, including sed and vi. But that doesn’t mean that the best way to learn or understand those things is to learn and use ed.)<br>
This doesn’t make ed a useless, vestigial thing on modern Unix, though. There are uses for ed in non-interactive editing, for example. But on modern Unix, ed is a specialized tool, much like dc. It’s worth knowing that ed is there and roughly what it can do, but it’s probably not worth learning how to use it before you need it. And you’re unlikely to ever be in a situation where it’s the best choice for interactive editing (and if you are, something has generally gone wrong).<br>
(But if you enjoy exploring the obscure corners of Unix, sure, go for it. Learn dc too, because it’s interesting in its own way and, like ed, it’s one of those classical old Unix programs.)</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://twitter.com/DavieDavieDave/status/1040359656864903169" target="_blank" rel="nofollow noopener">Is there any interest in a #BSD user group in #Montreal?</a></li>
<li><a href="https://www.bsdjobs.com/people/hi.html" target="_blank" rel="nofollow noopener">Tell your BSD story</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/finishing_leftover_tasks_from_google" target="_blank" rel="nofollow noopener">Finishing leftover tasks from Google Summer of Code</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180906072459" target="_blank" rel="nofollow noopener">Fuzzing the OpenBSD Kernel</a></li>
<li><a href="http://lists.nycbug.org/pipermail/talk/2018-August/017692.html" target="_blank" rel="nofollow noopener">ARM - any Tier-1 *BSD options?</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Chris - <a href="http://dpaste.com/2Y6XBYN" target="_blank" rel="nofollow noopener">byhve question</a></li>
<li>Paulo - <a href="http://dpaste.com/1A88F2W" target="_blank" rel="nofollow noopener">Topic suggestion</a></li>
<li>Bostjan - <a href="http://dpaste.com/140ZHZD#wrap" target="_blank" rel="nofollow noopener">How data gets to disk</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD and DragonflyBSD benchmarks on AMD’s Threadripper, NetBSD 7.2 has been released, optimized out DTrace kernel symbols, stuck UEFI bootloaders, why ed is not a good editor today, tell your BSD story, and more.</p>

<p>##Headlines<br>
###<a href="https://www.phoronix.com/scan.php?page=article&amp;item=bsd-threadripper-2990wx&amp;num=1" target="_blank" rel="nofollow noopener">FreeBSD &amp; DragonFlyBSD Put Up A Strong Fight On AMD’s Threadripper 2990WX, Benchmarks Against Linux</a></p>

<blockquote>
<p>The past two weeks I have been delivering a great deal of AMD Threadripper 2990WX benchmarks on Linux as well as some against Windows and Windows Server. But recently I got around to trying out some of the BSD operating systems on this 32-core / 64-thread processor to see how they would run and to see whether they would have similar scaling issues or not like we’ve seen on the Windows side against Linux. In this article are FreeBSD and DragonFlyBSD benchmarks with the X399 + 2990WX compared to a few Linux distributions.<br>
The BSDs I focused my testing on were FreeBSD 11.2-STABLE and 12.0-CURRENT/ALPHA1 (the version in development) as well as iX System’s TrueOS that is tracking FreeBSD 12.0-CURRENT. Also included were DragonFlyBSD, with FreeBSD and DragonFlyBSD being tied as my favorite operating systems when it comes to the BSDs. When it came to FreeBSD 11.2-STABLE and 12.0-ALPHA1 on the Threadripper 2990WX, it worked out surprisingly well. I encountered no real issues during my two days of benchmarking on FreeBSD (and TrueOS). It was a great experience and FreeBSD was happy to exploit the 64 threads on the system.<br>
DragonFlyBSD was a bit of a different story… Last week when I started this BSD testing I tried DragonFly 5.2.2 as the latest stable release as well as a DragonFlyBSD 5.3 development snapshot from last week: both failed to boot in either BIOS or UEFI modes.<br>
But then a few days ago DragonFlyBSD lead developer Matthew Dillon bought himself a 2990WX platform. He made the necessary changes to get DragonFlyBSD 5.3 working and he ended up finding really great performance and potential out of the platform. So I tried the latest DragonFlyBSD 5.3 daily ISO on 22 August and indeed it now booted successfully and we were off to the races. Thus there are some DragonFlyBSD 5.3 benchmarks included in this article too.<br>
Just hours ago, Matthew Dillon landed some 2990WX topology and scheduler enhancements but that fell out of the scope of when DragonFly was installed on this system. But over the weekend or so I plan to re-test DragonFlyBSD 5.3 and see how those optimizations affect the overall 2990WX performance now on that BSD. DragonFlyBSD 5.4 stable should certainly be an interesting release on several fronts!<br>
With FreeBSD 11.2-STABLE and 12.0-ALPHA1 I ran benchmarks when using their stock compiler (LLVM Clang 6.0) as well as GCC 7.3 obtained via GCC 7.3. That was done to rule out compiler differences in benchmarking against the GCC-based Linux distributions. On DragonFlyBSD 5.3 it defaults to the GCC 5.4.1 but via pkg I also did a secondary run when upgraded to GCC 7.3.<br>
The hardware and BIOS/UEFI settings were maintained the same throughout the entire benchmarking process. The system was made up of the AMD Ryzen Threadripper 2990WX at stock speeds, the ASUS ROG ZENITH EXTREME motherboard, 4 x 8GB DDR4-3200MHz memory, Samsung 970 EVO 500GB NVMe SSD, and Radeon RX Vega 56 graphics card.<br>
All of these Linux vs. BSD benchmarks were carried out in a fully-automated and reproducible manner using the open-source Phoronix Test Suite benchmarking framework.<br>
While for the last of today’s BSD vs. Linux benchmarking on the Threadripper 2990WX, the Linux distributions came out slightly ahead of FreeBSD and DragonFlyBSD with GCC (another test having issues with Clang 6.0 on the BSDs).<br>
Overall, I was quite taken away by the BSD performance on the Threadripper 2990WX – particularly FreeBSD. In a surprising number of benchmarks, the BSDs were outperforming the tested Linux distributions though often by incredibly thin margins. Still, quite an accomplishment for these BSD operating systems and considering how much better Linux is already doing than Windows 10 / Windows Server on this 32-core / 64-thread processor. Then again, the BSDs like Linux have a long history of running on high core/thread-count systems, super computers, and other HPC environments.<br>
It will be interesting to see how much faster DragonFlyBSD can run given today’s commit to its kernel with scheduler and topology improvements for the 2990WX. Those additional DragonFlyBSD benchmarks will be published in the coming days once they are completed.</p>
</blockquote>

<hr>

<p>###<a href="https://www.netbsd.org/releases/formal-7/NetBSD-7.2.html" target="_blank" rel="nofollow noopener">NetBSD 7.2 released</a></p>

<blockquote>
<p>The NetBSD Project is pleased to announce NetBSD 7.2, the second feature update of the NetBSD 7 release branch. It represents a selected subset of fixes deemed important for security or stability reasons, as well as new features and enhancements.</p>
</blockquote>

<ul>
<li>General Security Note</li>
</ul>

<p><code>The NetBSD 7.2 release is a maintenance release of the netbsd-7 branch, which had it's first major release, NetBSD 7.0 in September 2015. A lot of security features have been added to later NetBSD versions, and for new installations we highly recommend using our latest release, NetBSD 8.0 instead.</code></p>

<ul>
<li>Some highlights of the 7.2 release are:</li>
<li>Support for USB 3.0.</li>
<li>Enhancements to the Linux emulation subsystem.</li>
<li>Fixes in binary compatibility for ancient NetBSD executables.</li>
<li>iwm(4) driver for Intel Wireless 726x, 316x, 826x and 416x series added.</li>
<li>Support for Raspberry Pi 3 added.</li>
<li>Fix interrupt setup on Hyper-V VMs with Legacy Network Adapter.</li>
<li>SVR4 and IBCS2 compatibility subsystems have been disabled by default (besides IBCS2 on VAX). These subsystems also do not auto-load their modules any more.</li>
<li>Various USB stability enhancements.</li>
<li>Numerous bug fixes and stability improvements.</li>
</ul>

<blockquote>
<p>Complete source and binaries for NetBSD 7.2 are available for download at many sites around the world. A list of download sites providing FTP, AnonCVS, SUP, and other services may be found at <a href="https://www.NetBSD.org/mirrors/" target="_blank" rel="nofollow noopener">https://www.NetBSD.org/mirrors/</a>. We encourage users who wish to install via ISO or USB disk images to download via BitTorrent by using the torrent files supplied in the images area. A list of hashes for the NetBSD 7.2 distribution has been signed with the well-connected PGP key for the NetBSD Security Officer: <a href="https://cdn.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-7.2_hashes.asc" target="_blank" rel="nofollow noopener">https://cdn.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-7.2_hashes.asc</a><br>
NetBSD is free. All of the code is under non-restrictive licenses, and may be used without paying royalties to anyone. Free support services are available via our mailing lists and website. Commercial support is available from a variety of sources. More extensive information on NetBSD is available from our website:</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://farhan.codes/2018/08/16/including-optimized-out-kernel-symbols-in-dtrace-on-freebsd/" target="_blank" rel="nofollow noopener">Including optimized-out kernel symbols in dtrace on FreeBSD</a></p>

<blockquote>
<p>Have you ever had dtrace(1) on FreeBSD fail to list a probe that should exist in the kernel? This is because Clang will optimize-out some functions. The result is ctfconvert(1) will not generate debugging symbols that dtrace(1) uses to identify probes. I have a quick solution to getting those probes visible to dtrace(1).</p>
</blockquote>

<blockquote>
<p>In my case, I was trying to instrument on ieee80211_ioctl_get80211, whose sister function ieee80211_ioctl_set80211 has a dtrace(1) probe in the generic FreeBSD 11 and 12 kernels. Both functions are located in /usr/src/sys/net80211/ieee80211_ioctl.c.</p>
</blockquote>

<blockquote>
<p>My first attempt was to add to /etc/make.conf as follows and recompile the kernel.</p>
</blockquote>

<p><code>CFLAGS+=-O0 and -fno-inline-functions</code></p>

<blockquote>
<p>This failed to produce the dtrace(1) probe. Several other attempts failed and I was getting inconsistent compilation results (Is it me or is ieee80211_ioctl.c compiled with different flags if NO_CLEAN=1 is set?). When I manually compiled the object file by copying the compilation line for the object file and adding -O0 -fno-inline-functions, nm(1) on both the object file and kernel demonstrated that the symbol was present. I installed the kernel, rebooted and it was listed as a dtrace probe. Great!</p>
</blockquote>

<blockquote>
<p>But as I continued to debug my WiFi driver (oh yeah, I’m very slowly extending rtwn(4)), I found myself rebuilding the kernel several times and frequently rebooting. Why not do this across the entire kernel?</p>
</blockquote>

<blockquote>
<p>After hacking around, my solution was to modify the build scripts. My solution was to edit /usr/src/sys/conf/kern.pre.mk and modify all optimization level 2 to optimization level 0. The following is my diff(1) on FreeBSD 12.0-CURRENT.</p>
</blockquote>

<ul>
<li>A few thoughts:</li>
</ul>

<blockquote>
<p>This seems like a hack rather than a long-term solution. Either the problem is with the hard-coded optimization flags, or the inability to overwrite them in all places in make.conf.<br>
Removing optimizations is only something I would do in a non-production kernel, so its as if I have to choose between optimizations for a production kernel or having dtrace probes. But dtrace explicitly markets itself as not impactful on production.<br>
Using the dtrace pony as your featured image on WordPress does not render properly and must be rotated and modified. Blame Bryan Cantrill.<br>
If you have a better solution, please let me know and I will update the article, but this works for me!</p>
</blockquote>

<hr>

<p>###<a href="https://www.neelc.org/freebsd-uefi-on-asus-motherboards/" target="_blank" rel="nofollow noopener">FreeBSD: UEFI Bootloader stuck on BootCurrent/BootOrder/BootInfo on Asus Motherboards (and fix!)</a></p>

<blockquote>
<p>Starting with FreeBSD CURRENT from about a few weeks of posting date, but including FreeBSD 12 alpha releases (not related to DEC Alpha), I noticed one thing: When I boot FreeBSD from UEFI on a homebuilt desktop with a Asus H87M-E motherboard, and have Root on ZFS, the bootloader gets stuck on lines like BootCurrent, BootOrder, and  BootInfo. This issue occurs when I try to boot directly to  efi\boot\bootx64.efi.</p>
</blockquote>

<blockquote>
<p>One person had a similar issue on a Asus H87I-PLUS motherboard. This issue may or may not exist on other Asus motherboards, desktops, or laptops. This may be specific to Asus motherboards for Intel’s Haswell, but may also exist on newer systems (e.g. Skylake) or older (e.g. Ivy Bridge) with Asus motherboards, as well as Asus desktops or laptops.</p>
</blockquote>

<ul>
<li>There are two solutions to this problem:</li>
<li>Use Legacy BIOS mode instead of UEFI mode</li>
<li>Install a FreeBSD UEFI Boot entry</li>
</ul>

<blockquote>
<p>Keep in mind that I am not going to talk about this issue and third-party UEFI boot managers such as rEFInd here.<br>
The first option is rather straightforward: you need to make sure your computer has “Secure Boot” disabled and “Legacy Boot” or “CSM” enabled. Then, you need to make sure FreeBSD is installed in BIOS mode. However, this solution is (in my opinion) suboptimal. Why? Because:<br>
You won’t be able to use hard drives bigger than 2TB<br>
You are limited to MBR Partitioning on Asus motherboards with UEFI as Asus motherboards refuse to boot GPT partitioned disks in BIOS mode<br>
Legacy BIOS mode may not exist on future computers or motherboards (although those systems may not have this issue, and this issue may get fixed by then)<br>
The second option, however, is less straightforward, but will let you keep UEFI. Many UEFI systems, including affected Asus motherboards described here, include a boot manager built into the UEFI. FreeBSD includes a tool called efibootmgr to manage this, similar to the similarly-named tool in Linux, but with a different syntax.</p>
</blockquote>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/unix/EdNoLongerGoodEditor" target="_blank" rel="nofollow noopener">Why ed(1) is not a good editor today</a></p>

<blockquote>
<p>I’ll start with my tweet:</p>
</blockquote>

<p><code>Heretical Unix opinion time: ed(1) may be the 'standard Unix editor', but it is not a particularly good editor outside of a limited environment that almost never applies today.</code></p>

<blockquote>
<p>There is a certain portion of Unixdom that really likes ed(1), the ‘standard Unix editor’. Having actually used ed for a not insignificant amount of time (although it was the friendlier ‘UofT ed’ variant), I have some reactions to what I feel is sometimes overzealous praise of it. One of these is what I tweeted.<br>
The fundamental limitation of ed is that it is what I call an indirect manipulation interface, in contrast to the explicit manipulation interfaces of screen editors like vi and graphical editors like sam (which are generally lumped together as ‘visual’ editors, so called because they actually show you the text you’re editing). When you edit text in ed, you have some problems that you don’t have in visual editors; you have to maintain in your head the context of what the text looks like (and where you are in it), you have to figure out how to address portions of that text in order to modify them, and finally you have to think about how your edit commands will change the context. Copious use of ed’s p command can help with the first problem, but nothing really deals with the other two. In order to use ed, you basically have to simulate parts of ed in your head.<br>
Ed is a great editor in situations where the editor explicitly presenting this context is a very expensive or outright impossible operation. Ed works great on real teletypes, for example, or over extremely slow links where you want to send and receive as little data as possible (and on real teletypes you have some amount of context in the form of an actual printout that you can look back at). Back in the old days of Unix, this described a fairly large number of situations; you had actual teletypes, you had slow dialup links (and later slow, high latency network links), and you had slow and heavily overloaded systems.<br>
However, that’s no longer the situation today (at least almost all of the time). Modern systems and links can easily support visual editors that continually show you the context of the text and generally let you more or less directly manipulate it (whether that is through cursoring around it or using a mouse). Such editors are easier and faster to use, and they leave you with more brainpower free to think about things like the program you’re writing (which is the important thing).<br>
If you can use a visual editor, ed is not a particularly good editor to use instead; you will probably spend a lot of effort (and some amount of time) on doing by hand something that the visual editor will do for you. If you are very practiced at ed, maybe this partly goes away, but I maintain that you are still working harder than you need to be.<br>
The people who say that ed is a quite powerful editor are correct; ed is quite capable (although sadly limited by only editing a single file). It’s just that it’s also a pain to use.<br>
(They’re also correct that ed is the foundation of many other things in Unix, including sed and vi. But that doesn’t mean that the best way to learn or understand those things is to learn and use ed.)<br>
This doesn’t make ed a useless, vestigial thing on modern Unix, though. There are uses for ed in non-interactive editing, for example. But on modern Unix, ed is a specialized tool, much like dc. It’s worth knowing that ed is there and roughly what it can do, but it’s probably not worth learning how to use it before you need it. And you’re unlikely to ever be in a situation where it’s the best choice for interactive editing (and if you are, something has generally gone wrong).<br>
(But if you enjoy exploring the obscure corners of Unix, sure, go for it. Learn dc too, because it’s interesting in its own way and, like ed, it’s one of those classical old Unix programs.)</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://twitter.com/DavieDavieDave/status/1040359656864903169" target="_blank" rel="nofollow noopener">Is there any interest in a #BSD user group in #Montreal?</a></li>
<li><a href="https://www.bsdjobs.com/people/hi.html" target="_blank" rel="nofollow noopener">Tell your BSD story</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/finishing_leftover_tasks_from_google" target="_blank" rel="nofollow noopener">Finishing leftover tasks from Google Summer of Code</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180906072459" target="_blank" rel="nofollow noopener">Fuzzing the OpenBSD Kernel</a></li>
<li><a href="http://lists.nycbug.org/pipermail/talk/2018-August/017692.html" target="_blank" rel="nofollow noopener">ARM - any Tier-1 *BSD options?</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Chris - <a href="http://dpaste.com/2Y6XBYN" target="_blank" rel="nofollow noopener">byhve question</a></li>
<li>Paulo - <a href="http://dpaste.com/1A88F2W" target="_blank" rel="nofollow noopener">Topic suggestion</a></li>
<li>Bostjan - <a href="http://dpaste.com/140ZHZD#wrap" target="_blank" rel="nofollow noopener">How data gets to disk</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 263: Encrypt That Pool | BSD Now 263</title>
  <link>https://www.bsdnow.tv/263</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2528</guid>
  <pubDate>Fri, 07 Sep 2018 14:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c8edc035-36d5-4699-a081-43c1e08686bf.mp3" length="38437869" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Mitigating Spectre/Meltdown on HP Proliant servers, omniOS installation setup, debugging a memory corruption issue on OpenBSD, CfT for OpenZFS native encryption, Asigra TrueNAS backup appliance shown at VMworld, NetBSD 6 EoL, and more.</itunes:subtitle>
  <itunes:duration>1:03:45</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>&lt;p&gt;Mitigating Spectre/Meltdown on HP Proliant servers, omniOS installation setup, debugging a memory corruption issue on OpenBSD, CfT for OpenZFS native encryption, Asigra TrueNAS backup appliance shown at VMworld, NetBSD 6 EoL, and more.&lt;br&gt;
&lt;/p&gt;&lt;hr&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://www.adminbyaccident.com/freebsd/how-to-freebsd/how-to-mitigate-spectre-and-meltdown-on-an-hp-proliant-server-with-freebsd/" target="_blank" rel="nofollow noopener"&gt;How to mitigate Spectre and Meltdown on an HP Proliant server with FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;As recently announced in a previous article I wanted to write a couple of guides on how to mitigate Spectre and Meltdown vulnerabilities in GNU/Linux and UNIX environments. It is always a good and I hope a standard practice to have your systems patched and if they aren’t for whatever the reason (that legacy thing you’re carrying on for ages) you may take the necessary extra steps to protect your environment. I never planned to do any article on patching anything. Nowadays it’s a no brainer and operating systems have provided the necessary tools for this to be easy and as smooth as possible. So why this article?&lt;br&gt;
Spectre and Meltdown are both hardware vulnerabilities. Major ones. They are meaningful for several reasons among them the world wide impact since they affect Intel and AMD systems which are ubiquitous. And second because patching hardware is not as easy, for the manufacturer and for the users or administrators in charge of the systems. There is still no known exploit around left out in the open hitting servers or desktops anywhere. The question is not if it will ever happen. The question is when will it happen. And it may be sooner than later. This is why big companies, governments and people in charge of big deployments are patching or have already patched their systems. But have you done it to your system? I know you have a firewall. Have you thought about CVE-2018-3639? This particular one could make your browser being a vector to get into your system. So, no, there is no reason to skip this.&lt;br&gt;
Patching these set of vulnerabilities implies some more steps and concerns than updating the operating system. If you are a regular Windows user I find rare you to be here and many of the things you will read may be foreign to you. I am not planning to do a guide on Windows systems since I believe someone else has or will do it and will do it better than me since I am not a pro Windows user. However there is one basic and common thing for all OS’s when dealing with Spectre and Meltdown and that is a microcode update is necessary for the OS patches to effectively work.&lt;br&gt;
What is microcode? You can read the Wikipedia article but in short it is basically a layer of code that allows chip manufacturers to deal with modifications on the hardware they’ve produced and the operating systems that will manage that hardware. Since there’s been some issues (namely Spectre and Meltdown) Intel and AMD respectively have released a series of microcode updates to address those problems. First series did come with serious problems and some regressions, to the point GNU/Linux producers stopped releasing the microcode updates through their release channels for updates and placed the ball on Intel’s roof. Patching fast does always include risks, specially when dealing with hardware. OS vendors have resumed their microcode update releases so all seems to be fine now.&lt;br&gt;
In order to update the microcode we’re faced with two options. Download the most recent BIOS release from our vendor, provided it patches the Spectre and Meltdown vulnerabilities, or patch it from the OS. If your hardware vendor has decided not to provide support on your hardware you are forced to use the latter solution. Yes, you can still keep your hardware. They usually come accompanied with a “release notes” file where there are some explanatory notes on what is fixed, what is new, etc. To make the search easy for you a news site collected the vendors list and linked the right support pages for anyone to look. In some scenarios it would be desirable not to replace the whole BIOS but just update the microcode from the OS side. In my case I should update an HP Proliant ML110 G7 box and the download link for that would be this.&lt;br&gt;
Instead of using the full blown BIOS update path we’ll use the inner utilities to patch Spectre and Meltdown on FreeBSD. So let’s put our hands on it&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the article for the technical breakdown&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://eerielinux.wordpress.com/2018/08/25/a-look-beyond-the-bsd-teacup-omnios-installation/" target="_blank" rel="nofollow noopener"&gt;A look beyond the BSD teacup: OmniOS installation&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Five years ago I wrote a post about taking a look beyond the Linux teacup. I was an Arch Linux user back then and since there were projects like ArchBSD (called PacBSD today) and Arch Hurd, I decided to take a look at and write about them. Things have changed. Today I’m a happy FreeBSD user, but it’s time again to take a look beyond the teacup of operating systems that I’m familiar with.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Why Illumos / OmniOS?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There are a couple of reasons. The Solaris derivatives are the other big community in the *nix family besides Linux and the BSDs and we hadn’t met so far. Working with ZFS on FreeBSD, I now and then I read messages that contain a reference to Illumos which certainly helps to keep up the awareness. Of course there has also been a bit of curiosity – what might the OS be like that grew ZFS?&lt;br&gt;
Also the Ravenports project that I participate in planned to support Solaris/Illumos right from the beginning. I wanted to at least be somewhat “prepared” when support for that platform would finally land. So I did a little research on the various derivatives available and settled on the one that I had heard a talk about at last year’s conference of the German Unix Users Group: “OmniOS – Solaris for the Rest of Us”. I would have chosen SmartOS as I admire what Bryan Cantrill does but for getting to know Illumos I prefer a traditional installation over a run-from-RAM system.&lt;br&gt;
Of course FreeBSD is not run by corporations, especially when compared to the state of Linux. And when it comes to sponsoring, OpenBSD also takes the money… When it comes to FreeBSD developers, there’s probably some truth to the claim that some of them are using macOS as their desktop systems while OpenBSD devs are more likely to develop on their OS of choice. But then there’s the statement that “every innovation in the past decade comes from Solaris”. Bhyve alone proves this wrong. But let’s be honest: Two of the major technologies that make FreeBSD a great platform today – ZFS and DTrace – actually do come from Solaris. PAM originates there and a more modern way of managing services as well. Also you hear good things about their zones and a lot of small utilities in general.&lt;br&gt;
In the end it was a lack of time that made me cheat and go down the easiest road: Create a Vagrantfile and just pull a VM image of the net that someone else had prepared… This worked to just make sure that the Raven packages work on OmniOS. I was determined to return, though – someday. You know how things go: “someday” is a pretty common alias for “probably never, actually.”&lt;br&gt;
But then I heard about a forum post on the BSDNow! podcast. The title “Initial OmniOS impressions by a BSD user” caught my attention. I read that it was written by somebody who had used FreeBSD for years but loathed the new Code of Conduct enough to leave. I also oppose the Conduct and have made that pretty clear in my February post [ ! -z ${COC} ] &amp;amp;&amp;amp; exit 1. As stated there, I have stayed with my favorite OS and continue to advocate it. I decided to stop reading the post and try things out on my own instead. Now I’ve finally found the time to do so.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What’s next?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;That’s it for part one. In part two I’ll try to make the system useful. So far I have run into a problem that I haven’t been able to solve. But I have some time now to figure things out for the next post. Let’s see if I manage to get it working or if I have to report failure!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://wiki.freebsd.org/Memory" target="_blank" rel="nofollow noopener"&gt;What are all these types of memory in top(1)?&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Earlier this week I convinced Mark Johnston, one of the FreeBSD VM experts to update a page on the FreeBSD wiki that I saw was being referenced on stackoverflow and similar sites&lt;/li&gt;
&lt;li&gt;Mark updated the explanations to be more correct, and to include more technical detail for inquiring minds&lt;/li&gt;
&lt;li&gt;He also added the new type that appeared in FreeBSD somewhat recently&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Active - Contains memory “actively” (recently) being used by applications&lt;br&gt;
Inactive - Contains memory that has not been touched recently, or was released from the Buffer Cache&lt;br&gt;
Laundry - Contains memory that Inactive but still potentially contains useful data that needs to be stored before this memory can be used again&lt;br&gt;
Wired - Memory that cannot be swapped out, including the kernel, network stack, and the ZFS ARC&lt;br&gt;
Buf - Buffer Cache, used my UFS and most filesystems except ZFS (which uses the ARC)&lt;br&gt;
Free - Memory that is immediately available for use by the rest of the system&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://nanxiao.me/en/openbsd-saves-me-again-debug-a-memory-corruption-issue/" target="_blank" rel="nofollow noopener"&gt;OpenBSD saves me again! — Debug a memory corruption issue&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Yesterday, I came across a third-part library issue, which crashes at allocating memory:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;Program terminated with signal SIGSEGV, Segmentation fault.&lt;/code&gt;&lt;br&gt;
&lt;code&gt;#0 0x00007f594a5a9b6b in _int_malloc () from /usr/lib/libc.so.6&lt;/code&gt;&lt;br&gt;
&lt;code&gt;(gdb) bt&lt;/code&gt;&lt;br&gt;
&lt;code&gt;#0 0x00007f594a5a9b6b in _int_malloc () from /usr/lib/libc.so.6&lt;/code&gt;&lt;br&gt;
&lt;code&gt;#1 0x00007f594a5ab503 in malloc () from /usr/lib/libc.so.6&lt;/code&gt;&lt;br&gt;
&lt;code&gt;#2 0x00007f594b13f159 in operator new (sz=5767168) at /build/gcc/src/gcc/libstdc++-v3/libsupc++/new_op.cc:50&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It is obvious that the memory tags are corrupted, but who is the murder? Since the library involves a lot of maths computation, it is not an easy task to grasp the code quickly. So I need to find another way:&lt;br&gt;
(1) Open all warnings during compilation: -Wall. Nothing found.&lt;br&gt;
(2) Use valgrind, but unfortunately, valgrind crashes itself:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;valgrind: the 'impossible' happened:&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Killed by fatal signal&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;host stacktrace:&lt;/code&gt;&lt;br&gt;
&lt;code&gt;==43326== at 0x58053139: get_bszB_as_is (m_mallocfree.c:303)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;==43326== by 0x58053139: get_bszB (m_mallocfree.c:315)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;==43326== by 0x58053139: vgPlain_arena_malloc (m_mallocfree.c:1799)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;==43326== by 0x5800BA84: vgMemCheck_new_block (mc_malloc_wrappers.c:372)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;==43326== by 0x5800BD39: vgMemCheck___builtin_vec_new (mc_malloc_wrappers.c:427)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;==43326== by 0x5809F785: do_client_request (scheduler.c:1866)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;==43326== by 0x5809F785: vgPlain_scheduler (scheduler.c:1433)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;==43326== by 0x580AED50: thread_wrapper (syswrap-linux.c:103)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;==43326== by 0x580AED50: run_a_thread_NORETURN (syswrap-linux.c:156)&lt;/code&gt;&lt;br&gt;
&lt;code&gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;sched status:&lt;/code&gt;&lt;br&gt;
&lt;code&gt;running_tid=1&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;(3) Change compiler, use clang instead of gcc, and hope it can give me some clues. Still no effect.&lt;br&gt;
(4) Switch Operating System from Linux to OpenBSD, the program crashes again. But this time, it tells me where the memory corruption occurs:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;Program terminated with signal SIGSEGV, Segmentation fault.&lt;/code&gt;&lt;br&gt;
&lt;code&gt;#0 0x000014b07f01e52d in addMod (r=&amp;lt;error reading variable&amp;gt;, a=4693443247995522, b=28622907746665631,&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I figure out the issue quickly, and not bother to understand the whole code. OpenBSD saves me again, thanks!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070832.html" target="_blank" rel="nofollow noopener"&gt;Native Encryption for ZFS on FreeBSD (Call for Testing)&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;To anyone with an interest in native encryption in ZFS please test the projects/zfs-crypto-merge-0820 branch in my freebsd repo: &lt;a href="https://github.com/mattmacy/networking.git" target="_blank" rel="nofollow noopener"&gt;https://github.com/mattmacy/networking.git&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;git clone https://github.com/mattmacy/networking.git -b projects/zfs-crypto-merge-0820&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The UI is quite close to the Oracle Solaris ZFS crypto with minor differences for specifying key location.&lt;br&gt;
Please note that once a feature is enabled on a pool it can’t be disabled. This means that if you enable encryption support on a pool you will never be able to import it in to a ZFS without encryption support. For this reason I would strongly advise against using this on any pool that can’t be easily replaced until this change has made its way in to HEAD after the freeze has been lifted.&lt;br&gt;
By way of background the original ZoL commit can be found at:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/zfsonlinux/zfs/pull/5769/commits/5aef9bedc801830264428c64cd2242d1b786fd49" target="_blank" rel="nofollow noopener"&gt;https://github.com/zfsonlinux/zfs/pull/5769/commits/5aef9bedc801830264428c64cd2242d1b786fd49&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.ixsystems.com/blog/vmworld2018/" target="_blank" rel="nofollow noopener"&gt;VMworld 2018: Showcasing Hybrid Cloud, Persistent Memory and the Asigra TrueNAS Backup Appliance&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;During its last year in Las Vegas before moving back to San Francisco, VMworld was abuzz with all the popular buzzwords, but the key focus was on supporting a more agile approach to hybrid cloud.&lt;br&gt;
Surveys of IT stakeholders and analysts agree that most businesses have multiple clouds spanning both public cloud providers and private data centers. While the exact numbers vary, well over half of businesses have a hybrid cloud strategy consisting of at least three different clouds.&lt;br&gt;
This focus on hybrid cloud provided the perfect timing for our announcement that iXsystems and Asigra are partnering to deliver the Asigra TrueNAS Backup Appliance, which combines Asigra Cloud Backup software backed by TrueNAS storage. Asigra TrueNAS Backup Appliances provide a self-healing and ransomware-resistent OpenZFS backup repository in your private cloud. The appliance can simultaneously be used as general-purpose file, block, and object storage. How does this tie in with the hybrid cloud? The Asigra Cloud Backup software can backup data from public cloud repositories – G Suite, Office 365, Salesforce, etc. – as well as intelligently move backed-up data to the public cloud for long-term retention.&lt;br&gt;
Another major theme at the technical sessions was persistent memory, as vSphere 6.7 added support for persistent memory – either as a storage tier or virtualized and presented to a guest OS. As detailed in our blog post from SNIA’s Persistent Memory Summit 2018, persistent memory is rapidly becoming mainstream. Persistent memory bridges the gap between memory and flash storage – providing near-memory latency storage that persists across reboots or power loss. vSphere allows both legacy and persistent memory-aware applications to leverage this ultra-fast storage tier. We were excited to show off our newly-introduced TrueNAS M-Series at VMworld, as all TrueNAS M40 and M50 models leverage NVDIMM persistent memory technology to provide a super-fast write cache, or SLOG, without any of the limitations of Flash technology.&lt;br&gt;
The iXsystems booth’s theme was “Enterprise Storage, Open Source Economics”. iXsystems leverages the power of Open Source software, combined with our enterprise-class hardware and support, to provide incredibly low TCO storage for virtualization environments. Our TrueNAS unified storage and server offerings are an ideal solution for your organization’s private cloud infrastructure. Combined with VMware NSX Hybrid Connect – formerly known as VMware Hybrid Cloud Extension – you can seamlessly shift running systems into a public cloud environment for a true hybrid cloud solution.&lt;br&gt;
Another special treat at this year’s booth was iXsystems Vice President of Engineering Kris Moore giving demos of an early version of “Project TrueView”, a single-pane of glass management solution for administration of multiple FreeNAS and TrueNAS systems. In addition to simplified administration and enhanced monitoring, Project TrueView will also provide Role-Based Access Control for finer-grained permissions management. A beta version of Project TrueView is expected to be available at the end of this year.&lt;br&gt;
Overall, we had a great week at VMworld 2018 with lots of good conversations with customers, press, analysts, and future customers about TrueNAS, the Asigra TrueNAS Backup Appliance, iXsystems servers, Project TrueView, and more – our booth was more popular than ever!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://blog.netbsd.org/tnf/entry/end_of_life_for_netbsd1" target="_blank" rel="nofollow noopener"&gt;End of life for NetBSD 6.x&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In keeping with NetBSD’s policy of supporting only the latest (8.x) and next most recent (7.x) major branches, the recent release of NetBSD 8.0 marks the end of life for NetBSD 6.x. As in the past, a month of overlapping support has been provided in order to ease the migration to newer releases.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;As of now, the following branches are no longer maintained:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;netbsd-6-1&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;netbsd-6-0&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;netbsd-6&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This means:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;There will be no more pullups to those branches (even for security issues)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;There will be no security advisories made for any those branches&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The existing 6.x releases on &lt;a href="http://ftp.NetBSD.org" target="_blank" rel="nofollow noopener"&gt;ftp.NetBSD.org&lt;/a&gt; will be moved into /pub/NetBSD-archive/&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;May NetBSD 8.0 serve you well! (And if it doesn’t, please submit a PR!)&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://imgur.com/a/fkzTwYm" target="_blank" rel="nofollow noopener"&gt;Blast from the past: OpenBSD 3.7 CD artwork&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/romanzolotarev/status/1030345831751270400" target="_blank" rel="nofollow noopener"&gt;People are asking about scale of BSD projects. Let’s figure it out…&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/3642" target="_blank" rel="nofollow noopener"&gt;Tuesday, 21 August 18: me, on ed(1), at SemiBUG&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180813133939" target="_blank" rel="nofollow noopener"&gt;arm64 gains RETGUARD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fosdem.org/2019/news/2018-08-10-call-for-participation/" target="_blank" rel="nofollow noopener"&gt;Call for participation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/FreeBSD-UPB/bhyvearm64-utils" target="_blank" rel="nofollow noopener"&gt;FreeBSD-UPB/bhyvearm64-utils&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Eric - &lt;a href="http://dpaste.com/2GY2S6T#wrap" target="_blank" rel="nofollow noopener"&gt;FreeNAS for Vacation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Patrick - &lt;a href="http://dpaste.com/347WCR3" target="_blank" rel="nofollow noopener"&gt;Long Live Unix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jason - &lt;a href="http://dpaste.com/1B7E8F5#wrap" target="_blank" rel="nofollow noopener"&gt;Jason - Full MP3 Recordings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Bostjan - &lt;a href="http://dpaste.com/34AQNSE#wrap" target="_blank" rel="nofollow noopener"&gt;Question about jails and kernel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd,openbsd,netbsd,dragonflybsd,trueos,trident,hardenedbsd,tutorial,howto,guide,bsd,interview,vmworld,spectre,asigra</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Mitigating Spectre/Meltdown on HP Proliant servers, omniOS installation setup, debugging a memory corruption issue on OpenBSD, CfT for OpenZFS native encryption, Asigra TrueNAS backup appliance shown at VMworld, NetBSD 6 EoL, and more.<br>
</p><hr>

<p>##Headlines<br>
###<a href="https://www.adminbyaccident.com/freebsd/how-to-freebsd/how-to-mitigate-spectre-and-meltdown-on-an-hp-proliant-server-with-freebsd/" target="_blank" rel="nofollow noopener">How to mitigate Spectre and Meltdown on an HP Proliant server with FreeBSD</a></p>

<blockquote>
<p>As recently announced in a previous article I wanted to write a couple of guides on how to mitigate Spectre and Meltdown vulnerabilities in GNU/Linux and UNIX environments. It is always a good and I hope a standard practice to have your systems patched and if they aren’t for whatever the reason (that legacy thing you’re carrying on for ages) you may take the necessary extra steps to protect your environment. I never planned to do any article on patching anything. Nowadays it’s a no brainer and operating systems have provided the necessary tools for this to be easy and as smooth as possible. So why this article?<br>
Spectre and Meltdown are both hardware vulnerabilities. Major ones. They are meaningful for several reasons among them the world wide impact since they affect Intel and AMD systems which are ubiquitous. And second because patching hardware is not as easy, for the manufacturer and for the users or administrators in charge of the systems. There is still no known exploit around left out in the open hitting servers or desktops anywhere. The question is not if it will ever happen. The question is when will it happen. And it may be sooner than later. This is why big companies, governments and people in charge of big deployments are patching or have already patched their systems. But have you done it to your system? I know you have a firewall. Have you thought about CVE-2018-3639? This particular one could make your browser being a vector to get into your system. So, no, there is no reason to skip this.<br>
Patching these set of vulnerabilities implies some more steps and concerns than updating the operating system. If you are a regular Windows user I find rare you to be here and many of the things you will read may be foreign to you. I am not planning to do a guide on Windows systems since I believe someone else has or will do it and will do it better than me since I am not a pro Windows user. However there is one basic and common thing for all OS’s when dealing with Spectre and Meltdown and that is a microcode update is necessary for the OS patches to effectively work.<br>
What is microcode? You can read the Wikipedia article but in short it is basically a layer of code that allows chip manufacturers to deal with modifications on the hardware they’ve produced and the operating systems that will manage that hardware. Since there’s been some issues (namely Spectre and Meltdown) Intel and AMD respectively have released a series of microcode updates to address those problems. First series did come with serious problems and some regressions, to the point GNU/Linux producers stopped releasing the microcode updates through their release channels for updates and placed the ball on Intel’s roof. Patching fast does always include risks, specially when dealing with hardware. OS vendors have resumed their microcode update releases so all seems to be fine now.<br>
In order to update the microcode we’re faced with two options. Download the most recent BIOS release from our vendor, provided it patches the Spectre and Meltdown vulnerabilities, or patch it from the OS. If your hardware vendor has decided not to provide support on your hardware you are forced to use the latter solution. Yes, you can still keep your hardware. They usually come accompanied with a “release notes” file where there are some explanatory notes on what is fixed, what is new, etc. To make the search easy for you a news site collected the vendors list and linked the right support pages for anyone to look. In some scenarios it would be desirable not to replace the whole BIOS but just update the microcode from the OS side. In my case I should update an HP Proliant ML110 G7 box and the download link for that would be this.<br>
Instead of using the full blown BIOS update path we’ll use the inner utilities to patch Spectre and Meltdown on FreeBSD. So let’s put our hands on it</p>
</blockquote>

<ul>
<li>See the article for the technical breakdown</li>
</ul>

<hr>

<p>###<a href="https://eerielinux.wordpress.com/2018/08/25/a-look-beyond-the-bsd-teacup-omnios-installation/" target="_blank" rel="nofollow noopener">A look beyond the BSD teacup: OmniOS installation</a></p>

<blockquote>
<p>Five years ago I wrote a post about taking a look beyond the Linux teacup. I was an Arch Linux user back then and since there were projects like ArchBSD (called PacBSD today) and Arch Hurd, I decided to take a look at and write about them. Things have changed. Today I’m a happy FreeBSD user, but it’s time again to take a look beyond the teacup of operating systems that I’m familiar with.</p>
</blockquote>

<ul>
<li>Why Illumos / OmniOS?</li>
</ul>

<blockquote>
<p>There are a couple of reasons. The Solaris derivatives are the other big community in the *nix family besides Linux and the BSDs and we hadn’t met so far. Working with ZFS on FreeBSD, I now and then I read messages that contain a reference to Illumos which certainly helps to keep up the awareness. Of course there has also been a bit of curiosity – what might the OS be like that grew ZFS?<br>
Also the Ravenports project that I participate in planned to support Solaris/Illumos right from the beginning. I wanted to at least be somewhat “prepared” when support for that platform would finally land. So I did a little research on the various derivatives available and settled on the one that I had heard a talk about at last year’s conference of the German Unix Users Group: “OmniOS – Solaris for the Rest of Us”. I would have chosen SmartOS as I admire what Bryan Cantrill does but for getting to know Illumos I prefer a traditional installation over a run-from-RAM system.<br>
Of course FreeBSD is not run by corporations, especially when compared to the state of Linux. And when it comes to sponsoring, OpenBSD also takes the money… When it comes to FreeBSD developers, there’s probably some truth to the claim that some of them are using macOS as their desktop systems while OpenBSD devs are more likely to develop on their OS of choice. But then there’s the statement that “every innovation in the past decade comes from Solaris”. Bhyve alone proves this wrong. But let’s be honest: Two of the major technologies that make FreeBSD a great platform today – ZFS and DTrace – actually do come from Solaris. PAM originates there and a more modern way of managing services as well. Also you hear good things about their zones and a lot of small utilities in general.<br>
In the end it was a lack of time that made me cheat and go down the easiest road: Create a Vagrantfile and just pull a VM image of the net that someone else had prepared… This worked to just make sure that the Raven packages work on OmniOS. I was determined to return, though – someday. You know how things go: “someday” is a pretty common alias for “probably never, actually.”<br>
But then I heard about a forum post on the BSDNow! podcast. The title “Initial OmniOS impressions by a BSD user” caught my attention. I read that it was written by somebody who had used FreeBSD for years but loathed the new Code of Conduct enough to leave. I also oppose the Conduct and have made that pretty clear in my February post [ ! -z ${COC} ] &amp;&amp; exit 1. As stated there, I have stayed with my favorite OS and continue to advocate it. I decided to stop reading the post and try things out on my own instead. Now I’ve finally found the time to do so.</p>
</blockquote>

<ul>
<li>What’s next?</li>
</ul>

<blockquote>
<p>That’s it for part one. In part two I’ll try to make the system useful. So far I have run into a problem that I haven’t been able to solve. But I have some time now to figure things out for the next post. Let’s see if I manage to get it working or if I have to report failure!</p>
</blockquote>

<hr>

<p>###<a href="https://wiki.freebsd.org/Memory" target="_blank" rel="nofollow noopener">What are all these types of memory in top(1)?</a></p>

<ul>
<li>Earlier this week I convinced Mark Johnston, one of the FreeBSD VM experts to update a page on the FreeBSD wiki that I saw was being referenced on stackoverflow and similar sites</li>
<li>Mark updated the explanations to be more correct, and to include more technical detail for inquiring minds</li>
<li>He also added the new type that appeared in FreeBSD somewhat recently</li>
</ul>

<blockquote>
<p>Active - Contains memory “actively” (recently) being used by applications<br>
Inactive - Contains memory that has not been touched recently, or was released from the Buffer Cache<br>
Laundry - Contains memory that Inactive but still potentially contains useful data that needs to be stored before this memory can be used again<br>
Wired - Memory that cannot be swapped out, including the kernel, network stack, and the ZFS ARC<br>
Buf - Buffer Cache, used my UFS and most filesystems except ZFS (which uses the ARC)<br>
Free - Memory that is immediately available for use by the rest of the system</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://nanxiao.me/en/openbsd-saves-me-again-debug-a-memory-corruption-issue/" target="_blank" rel="nofollow noopener">OpenBSD saves me again! — Debug a memory corruption issue</a></p>

<blockquote>
<p>Yesterday, I came across a third-part library issue, which crashes at allocating memory:</p>
</blockquote>

<p><code>Program terminated with signal SIGSEGV, Segmentation fault.</code><br>
<code>#0 0x00007f594a5a9b6b in _int_malloc () from /usr/lib/libc.so.6</code><br>
<code>(gdb) bt</code><br>
<code>#0 0x00007f594a5a9b6b in _int_malloc () from /usr/lib/libc.so.6</code><br>
<code>#1 0x00007f594a5ab503 in malloc () from /usr/lib/libc.so.6</code><br>
<code>#2 0x00007f594b13f159 in operator new (sz=5767168) at /build/gcc/src/gcc/libstdc++-v3/libsupc++/new_op.cc:50</code></p>

<blockquote>
<p>It is obvious that the memory tags are corrupted, but who is the murder? Since the library involves a lot of maths computation, it is not an easy task to grasp the code quickly. So I need to find another way:<br>
(1) Open all warnings during compilation: -Wall. Nothing found.<br>
(2) Use valgrind, but unfortunately, valgrind crashes itself:</p>
</blockquote>

<p><code>valgrind: the 'impossible' happened:</code><br>
<code>Killed by fatal signal</code><br>
<code></code><br>
<code>host stacktrace:</code><br>
<code>==43326== at 0x58053139: get_bszB_as_is (m_mallocfree.c:303)</code><br>
<code>==43326== by 0x58053139: get_bszB (m_mallocfree.c:315)</code><br>
<code>==43326== by 0x58053139: vgPlain_arena_malloc (m_mallocfree.c:1799)</code><br>
<code>==43326== by 0x5800BA84: vgMemCheck_new_block (mc_malloc_wrappers.c:372)</code><br>
<code>==43326== by 0x5800BD39: vgMemCheck___builtin_vec_new (mc_malloc_wrappers.c:427)</code><br>
<code>==43326== by 0x5809F785: do_client_request (scheduler.c:1866)</code><br>
<code>==43326== by 0x5809F785: vgPlain_scheduler (scheduler.c:1433)</code><br>
<code>==43326== by 0x580AED50: thread_wrapper (syswrap-linux.c:103)</code><br>
<code>==43326== by 0x580AED50: run_a_thread_NORETURN (syswrap-linux.c:156)</code><br>
<code></code><br>
<code>sched status:</code><br>
<code>running_tid=1</code></p>

<blockquote>
<p>(3) Change compiler, use clang instead of gcc, and hope it can give me some clues. Still no effect.<br>
(4) Switch Operating System from Linux to OpenBSD, the program crashes again. But this time, it tells me where the memory corruption occurs:</p>
</blockquote>

<p><code>Program terminated with signal SIGSEGV, Segmentation fault.</code><br>
<code>#0 0x000014b07f01e52d in addMod (r=&lt;error reading variable&gt;, a=4693443247995522, b=28622907746665631,</code></p>

<blockquote>
<p>I figure out the issue quickly, and not bother to understand the whole code. OpenBSD saves me again, thanks!</p>
</blockquote>

<hr>

<p>###<a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070832.html" target="_blank" rel="nofollow noopener">Native Encryption for ZFS on FreeBSD (Call for Testing)</a></p>

<blockquote>
<p>To anyone with an interest in native encryption in ZFS please test the projects/zfs-crypto-merge-0820 branch in my freebsd repo: <a href="https://github.com/mattmacy/networking.git" target="_blank" rel="nofollow noopener">https://github.com/mattmacy/networking.git</a></p>
</blockquote>

<p><code>git clone https://github.com/mattmacy/networking.git -b projects/zfs-crypto-merge-0820</code></p>

<blockquote>
<p>The UI is quite close to the Oracle Solaris ZFS crypto with minor differences for specifying key location.<br>
Please note that once a feature is enabled on a pool it can’t be disabled. This means that if you enable encryption support on a pool you will never be able to import it in to a ZFS without encryption support. For this reason I would strongly advise against using this on any pool that can’t be easily replaced until this change has made its way in to HEAD after the freeze has been lifted.<br>
By way of background the original ZoL commit can be found at:</p>
</blockquote>

<ul>
<li><a href="https://github.com/zfsonlinux/zfs/pull/5769/commits/5aef9bedc801830264428c64cd2242d1b786fd49" target="_blank" rel="nofollow noopener">https://github.com/zfsonlinux/zfs/pull/5769/commits/5aef9bedc801830264428c64cd2242d1b786fd49</a></li>
</ul>

<hr>

<p>###<a href="https://www.ixsystems.com/blog/vmworld2018/" target="_blank" rel="nofollow noopener">VMworld 2018: Showcasing Hybrid Cloud, Persistent Memory and the Asigra TrueNAS Backup Appliance</a></p>

<blockquote>
<p>During its last year in Las Vegas before moving back to San Francisco, VMworld was abuzz with all the popular buzzwords, but the key focus was on supporting a more agile approach to hybrid cloud.<br>
Surveys of IT stakeholders and analysts agree that most businesses have multiple clouds spanning both public cloud providers and private data centers. While the exact numbers vary, well over half of businesses have a hybrid cloud strategy consisting of at least three different clouds.<br>
This focus on hybrid cloud provided the perfect timing for our announcement that iXsystems and Asigra are partnering to deliver the Asigra TrueNAS Backup Appliance, which combines Asigra Cloud Backup software backed by TrueNAS storage. Asigra TrueNAS Backup Appliances provide a self-healing and ransomware-resistent OpenZFS backup repository in your private cloud. The appliance can simultaneously be used as general-purpose file, block, and object storage. How does this tie in with the hybrid cloud? The Asigra Cloud Backup software can backup data from public cloud repositories – G Suite, Office 365, Salesforce, etc. – as well as intelligently move backed-up data to the public cloud for long-term retention.<br>
Another major theme at the technical sessions was persistent memory, as vSphere 6.7 added support for persistent memory – either as a storage tier or virtualized and presented to a guest OS. As detailed in our blog post from SNIA’s Persistent Memory Summit 2018, persistent memory is rapidly becoming mainstream. Persistent memory bridges the gap between memory and flash storage – providing near-memory latency storage that persists across reboots or power loss. vSphere allows both legacy and persistent memory-aware applications to leverage this ultra-fast storage tier. We were excited to show off our newly-introduced TrueNAS M-Series at VMworld, as all TrueNAS M40 and M50 models leverage NVDIMM persistent memory technology to provide a super-fast write cache, or SLOG, without any of the limitations of Flash technology.<br>
The iXsystems booth’s theme was “Enterprise Storage, Open Source Economics”. iXsystems leverages the power of Open Source software, combined with our enterprise-class hardware and support, to provide incredibly low TCO storage for virtualization environments. Our TrueNAS unified storage and server offerings are an ideal solution for your organization’s private cloud infrastructure. Combined with VMware NSX Hybrid Connect – formerly known as VMware Hybrid Cloud Extension – you can seamlessly shift running systems into a public cloud environment for a true hybrid cloud solution.<br>
Another special treat at this year’s booth was iXsystems Vice President of Engineering Kris Moore giving demos of an early version of “Project TrueView”, a single-pane of glass management solution for administration of multiple FreeNAS and TrueNAS systems. In addition to simplified administration and enhanced monitoring, Project TrueView will also provide Role-Based Access Control for finer-grained permissions management. A beta version of Project TrueView is expected to be available at the end of this year.<br>
Overall, we had a great week at VMworld 2018 with lots of good conversations with customers, press, analysts, and future customers about TrueNAS, the Asigra TrueNAS Backup Appliance, iXsystems servers, Project TrueView, and more – our booth was more popular than ever!</p>
</blockquote>

<hr>

<p>###<a href="https://blog.netbsd.org/tnf/entry/end_of_life_for_netbsd1" target="_blank" rel="nofollow noopener">End of life for NetBSD 6.x</a></p>

<blockquote>
<p>In keeping with NetBSD’s policy of supporting only the latest (8.x) and next most recent (7.x) major branches, the recent release of NetBSD 8.0 marks the end of life for NetBSD 6.x. As in the past, a month of overlapping support has been provided in order to ease the migration to newer releases.</p>
</blockquote>

<ul>
<li>
<p>As of now, the following branches are no longer maintained:</p>
</li>
<li>
<p>netbsd-6-1</p>
</li>
<li>
<p>netbsd-6-0</p>
</li>
<li>
<p>netbsd-6</p>
</li>
<li>
<p>This means:</p>
</li>
<li>
<p>There will be no more pullups to those branches (even for security issues)</p>
</li>
<li>
<p>There will be no security advisories made for any those branches</p>
</li>
<li>
<p>The existing 6.x releases on <a href="http://ftp.NetBSD.org" target="_blank" rel="nofollow noopener">ftp.NetBSD.org</a> will be moved into /pub/NetBSD-archive/</p>
</li>
<li>
<p>May NetBSD 8.0 serve you well! (And if it doesn’t, please submit a PR!)</p>
</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://imgur.com/a/fkzTwYm" target="_blank" rel="nofollow noopener">Blast from the past: OpenBSD 3.7 CD artwork</a></li>
<li><a href="https://twitter.com/romanzolotarev/status/1030345831751270400" target="_blank" rel="nofollow noopener">People are asking about scale of BSD projects. Let’s figure it out…</a></li>
<li><a href="https://mwl.io/archives/3642" target="_blank" rel="nofollow noopener">Tuesday, 21 August 18: me, on ed(1), at SemiBUG</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180813133939" target="_blank" rel="nofollow noopener">arm64 gains RETGUARD</a></li>
<li><a href="https://fosdem.org/2019/news/2018-08-10-call-for-participation/" target="_blank" rel="nofollow noopener">Call for participation</a></li>
<li><a href="https://github.com/FreeBSD-UPB/bhyvearm64-utils" target="_blank" rel="nofollow noopener">FreeBSD-UPB/bhyvearm64-utils</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Eric - <a href="http://dpaste.com/2GY2S6T#wrap" target="_blank" rel="nofollow noopener">FreeNAS for Vacation</a></li>
<li>Patrick - <a href="http://dpaste.com/347WCR3" target="_blank" rel="nofollow noopener">Long Live Unix</a></li>
<li>Jason - <a href="http://dpaste.com/1B7E8F5#wrap" target="_blank" rel="nofollow noopener">Jason - Full MP3 Recordings</a></li>
<li>Bostjan - <a href="http://dpaste.com/34AQNSE#wrap" target="_blank" rel="nofollow noopener">Question about jails and kernel</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Mitigating Spectre/Meltdown on HP Proliant servers, omniOS installation setup, debugging a memory corruption issue on OpenBSD, CfT for OpenZFS native encryption, Asigra TrueNAS backup appliance shown at VMworld, NetBSD 6 EoL, and more.<br>
</p><hr>

<p>##Headlines<br>
###<a href="https://www.adminbyaccident.com/freebsd/how-to-freebsd/how-to-mitigate-spectre-and-meltdown-on-an-hp-proliant-server-with-freebsd/" target="_blank" rel="nofollow noopener">How to mitigate Spectre and Meltdown on an HP Proliant server with FreeBSD</a></p>

<blockquote>
<p>As recently announced in a previous article I wanted to write a couple of guides on how to mitigate Spectre and Meltdown vulnerabilities in GNU/Linux and UNIX environments. It is always a good and I hope a standard practice to have your systems patched and if they aren’t for whatever the reason (that legacy thing you’re carrying on for ages) you may take the necessary extra steps to protect your environment. I never planned to do any article on patching anything. Nowadays it’s a no brainer and operating systems have provided the necessary tools for this to be easy and as smooth as possible. So why this article?<br>
Spectre and Meltdown are both hardware vulnerabilities. Major ones. They are meaningful for several reasons among them the world wide impact since they affect Intel and AMD systems which are ubiquitous. And second because patching hardware is not as easy, for the manufacturer and for the users or administrators in charge of the systems. There is still no known exploit around left out in the open hitting servers or desktops anywhere. The question is not if it will ever happen. The question is when will it happen. And it may be sooner than later. This is why big companies, governments and people in charge of big deployments are patching or have already patched their systems. But have you done it to your system? I know you have a firewall. Have you thought about CVE-2018-3639? This particular one could make your browser being a vector to get into your system. So, no, there is no reason to skip this.<br>
Patching these set of vulnerabilities implies some more steps and concerns than updating the operating system. If you are a regular Windows user I find rare you to be here and many of the things you will read may be foreign to you. I am not planning to do a guide on Windows systems since I believe someone else has or will do it and will do it better than me since I am not a pro Windows user. However there is one basic and common thing for all OS’s when dealing with Spectre and Meltdown and that is a microcode update is necessary for the OS patches to effectively work.<br>
What is microcode? You can read the Wikipedia article but in short it is basically a layer of code that allows chip manufacturers to deal with modifications on the hardware they’ve produced and the operating systems that will manage that hardware. Since there’s been some issues (namely Spectre and Meltdown) Intel and AMD respectively have released a series of microcode updates to address those problems. First series did come with serious problems and some regressions, to the point GNU/Linux producers stopped releasing the microcode updates through their release channels for updates and placed the ball on Intel’s roof. Patching fast does always include risks, specially when dealing with hardware. OS vendors have resumed their microcode update releases so all seems to be fine now.<br>
In order to update the microcode we’re faced with two options. Download the most recent BIOS release from our vendor, provided it patches the Spectre and Meltdown vulnerabilities, or patch it from the OS. If your hardware vendor has decided not to provide support on your hardware you are forced to use the latter solution. Yes, you can still keep your hardware. They usually come accompanied with a “release notes” file where there are some explanatory notes on what is fixed, what is new, etc. To make the search easy for you a news site collected the vendors list and linked the right support pages for anyone to look. In some scenarios it would be desirable not to replace the whole BIOS but just update the microcode from the OS side. In my case I should update an HP Proliant ML110 G7 box and the download link for that would be this.<br>
Instead of using the full blown BIOS update path we’ll use the inner utilities to patch Spectre and Meltdown on FreeBSD. So let’s put our hands on it</p>
</blockquote>

<ul>
<li>See the article for the technical breakdown</li>
</ul>

<hr>

<p>###<a href="https://eerielinux.wordpress.com/2018/08/25/a-look-beyond-the-bsd-teacup-omnios-installation/" target="_blank" rel="nofollow noopener">A look beyond the BSD teacup: OmniOS installation</a></p>

<blockquote>
<p>Five years ago I wrote a post about taking a look beyond the Linux teacup. I was an Arch Linux user back then and since there were projects like ArchBSD (called PacBSD today) and Arch Hurd, I decided to take a look at and write about them. Things have changed. Today I’m a happy FreeBSD user, but it’s time again to take a look beyond the teacup of operating systems that I’m familiar with.</p>
</blockquote>

<ul>
<li>Why Illumos / OmniOS?</li>
</ul>

<blockquote>
<p>There are a couple of reasons. The Solaris derivatives are the other big community in the *nix family besides Linux and the BSDs and we hadn’t met so far. Working with ZFS on FreeBSD, I now and then I read messages that contain a reference to Illumos which certainly helps to keep up the awareness. Of course there has also been a bit of curiosity – what might the OS be like that grew ZFS?<br>
Also the Ravenports project that I participate in planned to support Solaris/Illumos right from the beginning. I wanted to at least be somewhat “prepared” when support for that platform would finally land. So I did a little research on the various derivatives available and settled on the one that I had heard a talk about at last year’s conference of the German Unix Users Group: “OmniOS – Solaris for the Rest of Us”. I would have chosen SmartOS as I admire what Bryan Cantrill does but for getting to know Illumos I prefer a traditional installation over a run-from-RAM system.<br>
Of course FreeBSD is not run by corporations, especially when compared to the state of Linux. And when it comes to sponsoring, OpenBSD also takes the money… When it comes to FreeBSD developers, there’s probably some truth to the claim that some of them are using macOS as their desktop systems while OpenBSD devs are more likely to develop on their OS of choice. But then there’s the statement that “every innovation in the past decade comes from Solaris”. Bhyve alone proves this wrong. But let’s be honest: Two of the major technologies that make FreeBSD a great platform today – ZFS and DTrace – actually do come from Solaris. PAM originates there and a more modern way of managing services as well. Also you hear good things about their zones and a lot of small utilities in general.<br>
In the end it was a lack of time that made me cheat and go down the easiest road: Create a Vagrantfile and just pull a VM image of the net that someone else had prepared… This worked to just make sure that the Raven packages work on OmniOS. I was determined to return, though – someday. You know how things go: “someday” is a pretty common alias for “probably never, actually.”<br>
But then I heard about a forum post on the BSDNow! podcast. The title “Initial OmniOS impressions by a BSD user” caught my attention. I read that it was written by somebody who had used FreeBSD for years but loathed the new Code of Conduct enough to leave. I also oppose the Conduct and have made that pretty clear in my February post [ ! -z ${COC} ] &amp;&amp; exit 1. As stated there, I have stayed with my favorite OS and continue to advocate it. I decided to stop reading the post and try things out on my own instead. Now I’ve finally found the time to do so.</p>
</blockquote>

<ul>
<li>What’s next?</li>
</ul>

<blockquote>
<p>That’s it for part one. In part two I’ll try to make the system useful. So far I have run into a problem that I haven’t been able to solve. But I have some time now to figure things out for the next post. Let’s see if I manage to get it working or if I have to report failure!</p>
</blockquote>

<hr>

<p>###<a href="https://wiki.freebsd.org/Memory" target="_blank" rel="nofollow noopener">What are all these types of memory in top(1)?</a></p>

<ul>
<li>Earlier this week I convinced Mark Johnston, one of the FreeBSD VM experts to update a page on the FreeBSD wiki that I saw was being referenced on stackoverflow and similar sites</li>
<li>Mark updated the explanations to be more correct, and to include more technical detail for inquiring minds</li>
<li>He also added the new type that appeared in FreeBSD somewhat recently</li>
</ul>

<blockquote>
<p>Active - Contains memory “actively” (recently) being used by applications<br>
Inactive - Contains memory that has not been touched recently, or was released from the Buffer Cache<br>
Laundry - Contains memory that Inactive but still potentially contains useful data that needs to be stored before this memory can be used again<br>
Wired - Memory that cannot be swapped out, including the kernel, network stack, and the ZFS ARC<br>
Buf - Buffer Cache, used my UFS and most filesystems except ZFS (which uses the ARC)<br>
Free - Memory that is immediately available for use by the rest of the system</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://nanxiao.me/en/openbsd-saves-me-again-debug-a-memory-corruption-issue/" target="_blank" rel="nofollow noopener">OpenBSD saves me again! — Debug a memory corruption issue</a></p>

<blockquote>
<p>Yesterday, I came across a third-part library issue, which crashes at allocating memory:</p>
</blockquote>

<p><code>Program terminated with signal SIGSEGV, Segmentation fault.</code><br>
<code>#0 0x00007f594a5a9b6b in _int_malloc () from /usr/lib/libc.so.6</code><br>
<code>(gdb) bt</code><br>
<code>#0 0x00007f594a5a9b6b in _int_malloc () from /usr/lib/libc.so.6</code><br>
<code>#1 0x00007f594a5ab503 in malloc () from /usr/lib/libc.so.6</code><br>
<code>#2 0x00007f594b13f159 in operator new (sz=5767168) at /build/gcc/src/gcc/libstdc++-v3/libsupc++/new_op.cc:50</code></p>

<blockquote>
<p>It is obvious that the memory tags are corrupted, but who is the murder? Since the library involves a lot of maths computation, it is not an easy task to grasp the code quickly. So I need to find another way:<br>
(1) Open all warnings during compilation: -Wall. Nothing found.<br>
(2) Use valgrind, but unfortunately, valgrind crashes itself:</p>
</blockquote>

<p><code>valgrind: the 'impossible' happened:</code><br>
<code>Killed by fatal signal</code><br>
<code></code><br>
<code>host stacktrace:</code><br>
<code>==43326== at 0x58053139: get_bszB_as_is (m_mallocfree.c:303)</code><br>
<code>==43326== by 0x58053139: get_bszB (m_mallocfree.c:315)</code><br>
<code>==43326== by 0x58053139: vgPlain_arena_malloc (m_mallocfree.c:1799)</code><br>
<code>==43326== by 0x5800BA84: vgMemCheck_new_block (mc_malloc_wrappers.c:372)</code><br>
<code>==43326== by 0x5800BD39: vgMemCheck___builtin_vec_new (mc_malloc_wrappers.c:427)</code><br>
<code>==43326== by 0x5809F785: do_client_request (scheduler.c:1866)</code><br>
<code>==43326== by 0x5809F785: vgPlain_scheduler (scheduler.c:1433)</code><br>
<code>==43326== by 0x580AED50: thread_wrapper (syswrap-linux.c:103)</code><br>
<code>==43326== by 0x580AED50: run_a_thread_NORETURN (syswrap-linux.c:156)</code><br>
<code></code><br>
<code>sched status:</code><br>
<code>running_tid=1</code></p>

<blockquote>
<p>(3) Change compiler, use clang instead of gcc, and hope it can give me some clues. Still no effect.<br>
(4) Switch Operating System from Linux to OpenBSD, the program crashes again. But this time, it tells me where the memory corruption occurs:</p>
</blockquote>

<p><code>Program terminated with signal SIGSEGV, Segmentation fault.</code><br>
<code>#0 0x000014b07f01e52d in addMod (r=&lt;error reading variable&gt;, a=4693443247995522, b=28622907746665631,</code></p>

<blockquote>
<p>I figure out the issue quickly, and not bother to understand the whole code. OpenBSD saves me again, thanks!</p>
</blockquote>

<hr>

<p>###<a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070832.html" target="_blank" rel="nofollow noopener">Native Encryption for ZFS on FreeBSD (Call for Testing)</a></p>

<blockquote>
<p>To anyone with an interest in native encryption in ZFS please test the projects/zfs-crypto-merge-0820 branch in my freebsd repo: <a href="https://github.com/mattmacy/networking.git" target="_blank" rel="nofollow noopener">https://github.com/mattmacy/networking.git</a></p>
</blockquote>

<p><code>git clone https://github.com/mattmacy/networking.git -b projects/zfs-crypto-merge-0820</code></p>

<blockquote>
<p>The UI is quite close to the Oracle Solaris ZFS crypto with minor differences for specifying key location.<br>
Please note that once a feature is enabled on a pool it can’t be disabled. This means that if you enable encryption support on a pool you will never be able to import it in to a ZFS without encryption support. For this reason I would strongly advise against using this on any pool that can’t be easily replaced until this change has made its way in to HEAD after the freeze has been lifted.<br>
By way of background the original ZoL commit can be found at:</p>
</blockquote>

<ul>
<li><a href="https://github.com/zfsonlinux/zfs/pull/5769/commits/5aef9bedc801830264428c64cd2242d1b786fd49" target="_blank" rel="nofollow noopener">https://github.com/zfsonlinux/zfs/pull/5769/commits/5aef9bedc801830264428c64cd2242d1b786fd49</a></li>
</ul>

<hr>

<p>###<a href="https://www.ixsystems.com/blog/vmworld2018/" target="_blank" rel="nofollow noopener">VMworld 2018: Showcasing Hybrid Cloud, Persistent Memory and the Asigra TrueNAS Backup Appliance</a></p>

<blockquote>
<p>During its last year in Las Vegas before moving back to San Francisco, VMworld was abuzz with all the popular buzzwords, but the key focus was on supporting a more agile approach to hybrid cloud.<br>
Surveys of IT stakeholders and analysts agree that most businesses have multiple clouds spanning both public cloud providers and private data centers. While the exact numbers vary, well over half of businesses have a hybrid cloud strategy consisting of at least three different clouds.<br>
This focus on hybrid cloud provided the perfect timing for our announcement that iXsystems and Asigra are partnering to deliver the Asigra TrueNAS Backup Appliance, which combines Asigra Cloud Backup software backed by TrueNAS storage. Asigra TrueNAS Backup Appliances provide a self-healing and ransomware-resistent OpenZFS backup repository in your private cloud. The appliance can simultaneously be used as general-purpose file, block, and object storage. How does this tie in with the hybrid cloud? The Asigra Cloud Backup software can backup data from public cloud repositories – G Suite, Office 365, Salesforce, etc. – as well as intelligently move backed-up data to the public cloud for long-term retention.<br>
Another major theme at the technical sessions was persistent memory, as vSphere 6.7 added support for persistent memory – either as a storage tier or virtualized and presented to a guest OS. As detailed in our blog post from SNIA’s Persistent Memory Summit 2018, persistent memory is rapidly becoming mainstream. Persistent memory bridges the gap between memory and flash storage – providing near-memory latency storage that persists across reboots or power loss. vSphere allows both legacy and persistent memory-aware applications to leverage this ultra-fast storage tier. We were excited to show off our newly-introduced TrueNAS M-Series at VMworld, as all TrueNAS M40 and M50 models leverage NVDIMM persistent memory technology to provide a super-fast write cache, or SLOG, without any of the limitations of Flash technology.<br>
The iXsystems booth’s theme was “Enterprise Storage, Open Source Economics”. iXsystems leverages the power of Open Source software, combined with our enterprise-class hardware and support, to provide incredibly low TCO storage for virtualization environments. Our TrueNAS unified storage and server offerings are an ideal solution for your organization’s private cloud infrastructure. Combined with VMware NSX Hybrid Connect – formerly known as VMware Hybrid Cloud Extension – you can seamlessly shift running systems into a public cloud environment for a true hybrid cloud solution.<br>
Another special treat at this year’s booth was iXsystems Vice President of Engineering Kris Moore giving demos of an early version of “Project TrueView”, a single-pane of glass management solution for administration of multiple FreeNAS and TrueNAS systems. In addition to simplified administration and enhanced monitoring, Project TrueView will also provide Role-Based Access Control for finer-grained permissions management. A beta version of Project TrueView is expected to be available at the end of this year.<br>
Overall, we had a great week at VMworld 2018 with lots of good conversations with customers, press, analysts, and future customers about TrueNAS, the Asigra TrueNAS Backup Appliance, iXsystems servers, Project TrueView, and more – our booth was more popular than ever!</p>
</blockquote>

<hr>

<p>###<a href="https://blog.netbsd.org/tnf/entry/end_of_life_for_netbsd1" target="_blank" rel="nofollow noopener">End of life for NetBSD 6.x</a></p>

<blockquote>
<p>In keeping with NetBSD’s policy of supporting only the latest (8.x) and next most recent (7.x) major branches, the recent release of NetBSD 8.0 marks the end of life for NetBSD 6.x. As in the past, a month of overlapping support has been provided in order to ease the migration to newer releases.</p>
</blockquote>

<ul>
<li>
<p>As of now, the following branches are no longer maintained:</p>
</li>
<li>
<p>netbsd-6-1</p>
</li>
<li>
<p>netbsd-6-0</p>
</li>
<li>
<p>netbsd-6</p>
</li>
<li>
<p>This means:</p>
</li>
<li>
<p>There will be no more pullups to those branches (even for security issues)</p>
</li>
<li>
<p>There will be no security advisories made for any those branches</p>
</li>
<li>
<p>The existing 6.x releases on <a href="http://ftp.NetBSD.org" target="_blank" rel="nofollow noopener">ftp.NetBSD.org</a> will be moved into /pub/NetBSD-archive/</p>
</li>
<li>
<p>May NetBSD 8.0 serve you well! (And if it doesn’t, please submit a PR!)</p>
</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://imgur.com/a/fkzTwYm" target="_blank" rel="nofollow noopener">Blast from the past: OpenBSD 3.7 CD artwork</a></li>
<li><a href="https://twitter.com/romanzolotarev/status/1030345831751270400" target="_blank" rel="nofollow noopener">People are asking about scale of BSD projects. Let’s figure it out…</a></li>
<li><a href="https://mwl.io/archives/3642" target="_blank" rel="nofollow noopener">Tuesday, 21 August 18: me, on ed(1), at SemiBUG</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180813133939" target="_blank" rel="nofollow noopener">arm64 gains RETGUARD</a></li>
<li><a href="https://fosdem.org/2019/news/2018-08-10-call-for-participation/" target="_blank" rel="nofollow noopener">Call for participation</a></li>
<li><a href="https://github.com/FreeBSD-UPB/bhyvearm64-utils" target="_blank" rel="nofollow noopener">FreeBSD-UPB/bhyvearm64-utils</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Eric - <a href="http://dpaste.com/2GY2S6T#wrap" target="_blank" rel="nofollow noopener">FreeNAS for Vacation</a></li>
<li>Patrick - <a href="http://dpaste.com/347WCR3" target="_blank" rel="nofollow noopener">Long Live Unix</a></li>
<li>Jason - <a href="http://dpaste.com/1B7E8F5#wrap" target="_blank" rel="nofollow noopener">Jason - Full MP3 Recordings</a></li>
<li>Bostjan - <a href="http://dpaste.com/34AQNSE#wrap" target="_blank" rel="nofollow noopener">Question about jails and kernel</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 262: OpenBSD Surfacing | BSD Now 262</title>
  <link>https://www.bsdnow.tv/262</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2521</guid>
  <pubDate>Thu, 06 Sep 2018 05:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6aa244ea-c5e6-4c69-b8a9-aac9c652d4e1.mp3" length="44187309" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD on Microsoft Surface Go, FreeBSD Foundation August Update, What’s taking so long with Project Trident, pkgsrc config file versioning, and MacOS remnants in ZFS code.</itunes:subtitle>
  <itunes:duration>1:13:20</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>&lt;p&gt;OpenBSD on Microsoft Surface Go, FreeBSD Foundation August Update, What’s taking so long with Project Trident, pkgsrc config file versioning, and MacOS remnants in ZFS code.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://jcs.org/2018/08/31/surface_go" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the Microsoft Surface Go&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For some reason I like small laptops and the constraints they place on me (as long as they’re still usable). I used a Dell Mini 9 for a long time back in the netbook days and was recently using an 11" MacBook Air as my primary development machine for many years. Recently Microsoft announced a smaller, cheaper version of its Surface tablets called Surface Go which piqued my interest.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Hardware&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The Surface Go is available in two hardware configurations: one with 4Gb of RAM and a 64Gb eMMC, and another with 8Gb of RAM with a 128Gb NVMe SSD. (I went with the latter.) Both ship with an Intel Pentium Gold 4415Y processor which is not very fast, but it’s certainly usable.&lt;br&gt;
The tablet measures 9.65" across, 6.9" tall, and 0.3" thick. Its 10" diagonal 3:2 touchscreen is covered with Gorilla Glass and has a resolution of 1800x1200. The bezel is quite large, especially for such a small screen, but it makes sense on a device that is meant to be held, to avoid accidental screen touches.&lt;br&gt;
The keyboard and touchpad are located on a separate, removable slab called the Surface Go Signature Type Cover which is sold separately. I opted for the “cobalt blue” cover which has a soft, cloth-like alcantara material. The cover attaches magnetically along the bottom edge of the device and presents USB-attached keyboard and touchpad devices. When the cover is folded up against the screen, it sends an ACPI sleep signal and is held to the screen magnetically. During normal use, the cover can be positioned flat on a surface or slightly raised up about 3/4" near the screen for better ergonomics. When using the device as a tablet, the cover can be rotated behind the screen which causes it to automatically stop sending keyboard and touchpad events until it is rotated back around.&lt;br&gt;
The keyboard has a decent amount of key travel and a good layout, with Home/End/Page Up/Page Down being accessible via Fn+Left/Right/Up/Down but also dedicated Home/End/Page Up/Page Down keys on the F9-F12 keys which I find quite useful since the keyboard layout is somewhat small. By default, the F1-F12 keys do not send F1-F12 key codes and Fn must be used, either held down temporarily or Fn pressed by itself to enable Fn-lock which annoyingly keeps the bright Fn LED illuminated. The keys are backlit with three levels of adjustment, handled by the keyboard itself with the F7 key.&lt;br&gt;
The touchpad on the Type Cover is a Windows Precision Touchpad connected via USB HID. It has a decent click feel but when the cover is angled up instead of flat on a surface, it sounds a bit hollow and cheap.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Surface Go Pen&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The touchscreen is powered by an Elantech chip connected via HID-over-i2c, which also supports pen input. A Surface Pen digitizer is available separately from Microsoft and comes in the same colors as the Type Covers. The pen works without any pairing necessary, though the top button on it works over Bluetooth so it requires pairing to use. Either way, the pen requires an AAAA battery inside it to operate. The Surface Pen can attach magnetically to the left side of the screen when not in use.&lt;br&gt;
A kickstand can swing out behind the display to use the tablet in a laptop form factor, which can adjust to any angle up to about 170 degrees. The kickstand stays firmly in place wherever it is positioned, which also means it requires a bit of force to pull it out when initially placing the Surface Go on a desk.&lt;br&gt;
Along the top of the display are a power button and physical volume rocker buttons. Along the right side are the 3.5mm headphone jack, USB-C port, power port, and microSD card slot located behind the kickstand.&lt;br&gt;
Charging can be done via USB-C or the dedicated charge port, which accommodates a magnetically-attached, thin barrel similar to Apple’s first generation MagSafe adapter. The charging cable has a white LED that glows when connected, which is kind of annoying since it’s near the mid-line of the screen rather than down by the keyboard. Unlike Apple’s MagSafe, the indicator light does not indicate whether the battery is charged or not. The barrel charger plug can be placed up or down, but in either direction I find it puts an awkward strain on the power cable coming out of it due to the vertical position of the port.&lt;br&gt;
Wireless connectivity is provided by a Qualcomm Atheros QCA6174 802.11ac chip which also provides Bluetooth connectivity.&lt;br&gt;
Most of the sensors on the device such as the gyroscope and ambient light sensor are connected behind an Intel Sensor Hub PCI device, which provides some power savings as the host CPU doesn’t have to poll the sensors all the time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Firmware&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The Surface Go’s BIOS/firmware menu can be entered by holding down the Volume Up button, then pressing and releasing the Power button, and releasing Volume Up when the menu appears. Secure Boot as well as various hardware components can be disabled in this menu. Boot order can also be adjusted. A temporary boot menu can be brought up the same way but using Volume Down instead.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-august-2018/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation Update, August 2018&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MESSAGE FROM THE EXECUTIVE DIRECTOR&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Dear FreeBSD Community Member,&lt;br&gt;
It’s been a busy summer for the Foundation. From traveling around the globe spreading the word about FreeBSD to bringing on new team members to improve the Project’s Continuous Integration work, we’re very excited about what we’ve accomplished. Take a minute to check out the latest updates within our Foundation sponsored projects; read more about our advocacy efforts in Bangladesh and community building in Cambridge; don’t miss upcoming Travel Grant deadlines, and new Developer Summits; and be sure to find out how your support will ensure our progress continues into 2019.&lt;br&gt;
We can’t do this without you! Happy reading!! Deb&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;August 2018 Development Projects Update&lt;/li&gt;
&lt;li&gt;Fundraising Update: Supporting the Project&lt;/li&gt;
&lt;li&gt;August 2018 Release Engineering Update&lt;/li&gt;
&lt;li&gt;BSDCam 2018 Recap&lt;/li&gt;
&lt;li&gt;October 2018 FreeBSD Developer Summit Call for Participation&lt;/li&gt;
&lt;li&gt;SANOG32 and COSCUP 2018 Recap&lt;/li&gt;
&lt;li&gt;MeetBSD 2018 Travel Grant Application Deadline: September 7&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="http://project-trident.org/post/2018-09-04_what_is_taking_so_long/" target="_blank" rel="nofollow noopener"&gt;Project Trident: What’s taking so long?&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is taking so long?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The short answer is that it’s complicated.&lt;br&gt;
Project Trident is quite literally a test of the new TrueOS build system. As expected, there have been quite a few bugs, undocumented features, and other optional bits that we discovered we needed that were not initially present. All of these things have to be addressed and retested in a constant back and forth process.&lt;br&gt;
While Ken and JT are both experienced developers, neither has done this kind of release engineering before. JT has done some release engineering back in his Linux days, but the TrueOS and FreeBSD build system is very different. Both Ken and JT are learning a completely new way of building a FreeBSD/TrueOS distribution. Please keep in mind that no one has used this new TrueOS build system before, so Ken and JT want to not only provide a good Trident release, but also provide a model or template for other potential TrueOS distributions too!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Where are we now?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Through perseverance, trial and error, and a lot of head-scratching we have reached the point of having successful builds. It took a while to get there, but now we are simply working out a few bugs with the new installer that Ken wrote as well as finding and fixing all the new Xorg configuration options which recently landed in FreeBSD. We also found that a number of services have been removed or replaced between TrueOS 18.03 and 18.06 so we are needing to adjust what we consider the “base” services for the desktop. All of these issues are being resolved and we are continually rebuilding and pulling in new patches from TrueOS as soon as they are committed.&lt;br&gt;
In the meantime we have made an early BETA release of Trident available to the users in our Telegram Channel for those who want to help out in testing these early versions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Do you foresee any other delays?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At the moment we are doing many iterations of testing and tweaking the install ISO and package configurations in order to ensure that all the critical functionality works out-of-box (networking, sound, video, basic apps, etc). While we do not foresee any other major delays, sometimes things happen that our outside of our control. For an example, one of the recent delays that hit recently was completely unexpected: we had a hard drive failure on our build server. Up until recently, The aptly named “Poseidon” build server was running a Micron m500dc drive, but that drive is now constantly reporting errors. Despite ordering a replacement Western Digital Blue SSD several weeks ago, we just received it this past week. The drive is now installed with the builder back to full functionality, but we did lose many precious days with the delay.&lt;br&gt;
The build server for Project Trident is very similar to the one that JT donated to the TrueOS project. JT had another DL580 G7, so he donated one to the Trident Project for their build server. Poseidon also has 256GB RAM (64 x 4GB sticks) which is a smidge higher than what the TrueOS builder has.&lt;br&gt;
Since we are talking about hardware, we probably should address another question we get often, “What Hardware are the devs testing on?” So let’s go ahead and answer that one now.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Developer Hardware&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;JT: His main test box is a custom-built Intel i7 7700K system running 32GB RAM, dual Intel Optane 900P drives, and an Nvidia 1070 GTX with four 4K Acer Monitors. He also uses a Lenovo x250 ThinkPad alongside a desk full of x230t and x220 ThinkPads. One of which he gave away at SouthEast LinuxFest this year, which you can read about here.  However it’s not done there, being a complete hardware hoarder, JT also tests on several Intel NUCs and his second laptop a Fujitsu t904, not to mention a Plethora of HP DL580 servers, a DL980 server, and a stack of BL485c, BL460c, and BL490c Blades in his HP c7000 and c3000 Bladecenter chassis. (Maybe it’s time for an intervention for his hardware collecting habits)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ken: For a laptop, he primarily uses a 3rd generation X1 Carbon, but also has an old Eee PC T101MT Netbook (dual core 1GHz, 2GB of memory) which he uses for verifying how well Trident works on low-end hardware. As far as workstations go, his office computer is an Intel i7 with an NVIDIA Geforce GTX 960 running three 4K monitors and he has a couple other custom-built workstations (1 AMD, 1 Intel+NVIDIA) at his home. Generally he assembled random workstations based on hardware that was given to him or that he could acquire cheap.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tim: is using a third gen X1 Carbon and a custom built desktop with an Intel Core i5-4440 CPU, 16 GiB RAM, Nvidia GeForce GTX 750 Ti, and a RealTek 8168 / 8111 network card.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Rod: Rod uses… No one knows what Rod uses, It’s kinda like how many licks does it take to get to the center of a Tootsie-Roll Tootsie-Pop… the world may just never know.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###NetBSD GSoC: pkgsrc config file versioning&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A series of reports from the course of the summer on this Google Summer of Code project&lt;/li&gt;
&lt;li&gt;The goal of the project is to integrate with a VCS (Version Control System) to make managing local changes to config files for packages easier&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files" target="_blank" rel="nofollow noopener"&gt;GSoC 2018 Reports: Configuration files versioning in pkgsrc, Part 1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Packages may install code (both machine executable code and interpreted programs), documentation and manual pages, source headers, shared libraries and other resources such as graphic elements, sounds, fonts, document templates, translations and configuration files, or a combination of them.&lt;br&gt;
Configuration files are usually the means through which the behaviour of software without a user interface is specified. This covers parts of the operating systems, network daemons and programs in general that don’t come with an interactive graphical or textual interface as the principal mean for setting options.&lt;br&gt;
System wide configuration for operating system software tends to be kept under /etc, while configuration for software installed via pkgsrc ends up under LOCALBASE/etc (e.g., /usr/pkg/etc).&lt;br&gt;
Software packaged as part of pkgsrc provides example configuration files, if any, which usually get extracted to LOCALBASE/share/examples/PKGBASE/.&lt;br&gt;
Don’t worry: automatic merging is disabled by default, set $VCSAUTOMERGE to enable it.&lt;br&gt;
In order to avoid breakage, installed configuration is backed up first in the VCS, separating user-modified files from files that have been already automatically merged in the past, in order to allow the administrator to easily restore the last manually edited file in case of breakage.&lt;br&gt;
VCS functionality only applies to configuration files, not to rc.d scripts, and only if the environment variable $NOVCS is unset.&lt;br&gt;
The version control system to be used as a backend can be set through $VCS. It default to RCS, the Revision Control System, which works only locally and doesn’t support atomic transactions.&lt;br&gt;
Other backends such as CVS are supported and more will come; these, being used at the explicit request of the administrator, need to be already installed and placed in a directory part of $PATH.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files1" target="_blank" rel="nofollow noopener"&gt;GSoC 2018 Reports: Configuration files versioning in pkgsrc, part 2: remote repositories (git and CVS)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;pkgsrc is now able to deploy configuration from packages being installed from a remote, site-specific vcs repository.&lt;br&gt;
User modified files are always tracked even if automerge functionality is not enabled, and a new tool, pkgconftrack(1), exists to manually store user changes made outside of package upgrade time.&lt;br&gt;
Version Control software is executed as the same user running pkg_add or make install, unless the user is “root”. In this case, a separate, unprivileged user, pkgvcsconf, gets created with its own home directory and a working login shell (but no password). The home directory is not strictly necessary, it exists to facilitate migrations betweens repositories and vcs changes; it also serves to store keys used to access remote repositories.&lt;br&gt;
Using git instead of rcs is simply done by setting VCS=git in pkg_install.conf&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files2" target="_blank" rel="nofollow noopener"&gt;GSoC 2018 Reports: Configuration files versioning in pkgsrc, part 3: remote repositories (SVN and Mercurial)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files3" target="_blank" rel="nofollow noopener"&gt;GSoC 2018 Reports: Configuration files versioning in pkgsrc, part 4: configuration deployment, pkgtools and future improvements&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Support for configuration tracking is in scripts, pkginstall scripts, that get built into binary packages and are run by pkg_add upon installation. The idea behind the proposal suggested that users of the new feature should be able to store revisions of their installed configuration files, and of package-provided default, both in local or remote repositories. With this capability in place, it doesn’t take much to make the scripts “pull” configuration from a VCS repository at installation time.&lt;br&gt;
That’s what setting VCSCONFPULL=yes in pkg_install.conf after having enabled VCSTRACK_CONF does: You are free to use official, third party prebuilt packages that have no customization in them, enable these options, and point pkgsrc to a private conf repository. If it contains custom configuration for the software you are installing, an attempt will be made to use it and install it on your system. If it fails, pkginstall will fall back to using the defaults that come inside the package. RC scripts are always deployed from the binary package, if existing and PKG_RCD_SCRIPTS=yes in pkg_install.conf or the environment.&lt;br&gt;
This will be part of packages, not a separate solution like configuration management tools. It doesn’t support running scripts on the target system to customize the installation, it doesn’t come with its domain-specific language, it won’t run as a daemon or require remote logins to work. It’s quite limited in scope, but you can define a ROLE for your system in pkg_install.conf or in the environment, and pkgsrc will look for configuration you or your organization crafted for such a role (e.g., public, standalone webserver vs reverse proxy or node in a database cluster)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSDTypeAndMacOS" target="_blank" rel="nofollow noopener"&gt;A little bit of the one-time MacOS version still lingers in ZFS&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Once upon a time, Apple came very close to releasing ZFS as part of MacOS. Apple did this work in its own copy of the ZFS source base (as far as I know), but the people in Sun knew about it and it turns out that even today there is one little lingering sign of this hoped-for and perhaps prepared-for ZFS port in the ZFS source code. Well, sort of, because it’s not quite in code.&lt;br&gt;
Lurking in the function that reads ZFS directories to turn (ZFS) directory entries into the filesystem independent format that the kernel wants is the following comment:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;objnum = ZFS_DIRENT_OBJ(zap.za_first_integer);&lt;/code&gt;&lt;br&gt;
&lt;code&gt;/*&lt;/code&gt;&lt;br&gt;
&lt;code&gt;* MacOS X can extract the object type here such as:&lt;/code&gt;&lt;br&gt;
&lt;code&gt;* uint8_t type = ZFS_DIRENT_TYPE(zap.za_first_integer);&lt;/code&gt;&lt;br&gt;
&lt;code&gt;*/&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Specifically, this is in zfs_readdir in zfs_vnops.c .&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ZFS maintains file type information in directories. This information can’t be used on Solaris (and thus Illumos), where the overall kernel doesn’t have this in its filesystem independent directory entry format, but it could have been on MacOS (‘Darwin’), because MacOS is among the Unixes that support d_type. The comment itself dates all the way back to this 2007 commit, which includes the change ‘reserve bits in directory entry for file type’, which created the whole setup for this.&lt;br&gt;
I don’t know if this file type support was added specifically to help out Apple’s MacOS X port of ZFS, but it’s certainly possible, and in 2007 it seems likely that this port was at least on the minds of ZFS developers. It’s interesting but understandable that FreeBSD didn’t seem to have influenced them in the same way, at least as far as comments in the source code go; this file type support is equally useful for FreeBSD, and the FreeBSD ZFS port dates to 2007 too (per this announcement).&lt;br&gt;
Regardless of the exact reason that ZFS picked up maintaining file type information in directory entries, it’s quite useful for people on both FreeBSD and Linux that it does so. File type information is useful for any number of things and ZFS filesystems can (and do) provide this information on those Unixes, which helps make ZFS feel like a truly first class filesystem, one that supports all of the expected general system features.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://trafyx.com/?p=2551" target="_blank" rel="nofollow noopener"&gt;Mac-like FreeBSD Laptop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/08/21/syncthing-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Syncthing on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vermaden.wordpress.com/2018/08/24/new-zfs-boot-environments-tool/" target="_blank" rel="nofollow noopener"&gt;New ZFS Boot Environments Tool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://anadoxin.org/blog/my-systems-time-was-so-wrong-that-even-ntpd-didnt-work.html" target="_blank" rel="nofollow noopener"&gt;My system’s time was so wrong, that even ntpd didn’t work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openssh.com/releasenotes.html#7.8" target="_blank" rel="nofollow noopener"&gt;OpenSSH 7.8/7.8p1 (2018-08-24)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2018.eurobsdcon.org/registration/" target="_blank" rel="nofollow noopener"&gt;EuroBSD (Sept 20-23rd) registration Early Bird Period is coming to an end&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetbsd.com/" target="_blank" rel="nofollow noopener"&gt;MeetBSD (Oct 18-20th) is coming up fast, hurry up and register!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2019.asiabsdcon.org/" target="_blank" rel="nofollow noopener"&gt;AsiaBSDcon 2019 Dates&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Will - &lt;a href="http://dpaste.com/2EQMHXV" target="_blank" rel="nofollow noopener"&gt;Kudos and a Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Peter - &lt;a href="http://dpaste.com/2N6DC6P#wrap" target="_blank" rel="nofollow noopener"&gt;Fanless Computers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ron - &lt;a href="http://dpaste.com/0MRG11V#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS disk clone or replace or something&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Bostjan - &lt;a href="http://dpaste.com/16B1WDB" target="_blank" rel="nofollow noopener"&gt;ZFS Record Size&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD on Microsoft Surface Go, FreeBSD Foundation August Update, What’s taking so long with Project Trident, pkgsrc config file versioning, and MacOS remnants in ZFS code.</p>

<p>##Headlines<br>
###<a href="https://jcs.org/2018/08/31/surface_go" target="_blank" rel="nofollow noopener">OpenBSD on the Microsoft Surface Go</a></p>

<blockquote>
<p>For some reason I like small laptops and the constraints they place on me (as long as they’re still usable). I used a Dell Mini 9 for a long time back in the netbook days and was recently using an 11" MacBook Air as my primary development machine for many years. Recently Microsoft announced a smaller, cheaper version of its Surface tablets called Surface Go which piqued my interest.</p>
</blockquote>

<ul>
<li>Hardware</li>
</ul>

<blockquote>
<p>The Surface Go is available in two hardware configurations: one with 4Gb of RAM and a 64Gb eMMC, and another with 8Gb of RAM with a 128Gb NVMe SSD. (I went with the latter.) Both ship with an Intel Pentium Gold 4415Y processor which is not very fast, but it’s certainly usable.<br>
The tablet measures 9.65" across, 6.9" tall, and 0.3" thick. Its 10" diagonal 3:2 touchscreen is covered with Gorilla Glass and has a resolution of 1800x1200. The bezel is quite large, especially for such a small screen, but it makes sense on a device that is meant to be held, to avoid accidental screen touches.<br>
The keyboard and touchpad are located on a separate, removable slab called the Surface Go Signature Type Cover which is sold separately. I opted for the “cobalt blue” cover which has a soft, cloth-like alcantara material. The cover attaches magnetically along the bottom edge of the device and presents USB-attached keyboard and touchpad devices. When the cover is folded up against the screen, it sends an ACPI sleep signal and is held to the screen magnetically. During normal use, the cover can be positioned flat on a surface or slightly raised up about 3/4" near the screen for better ergonomics. When using the device as a tablet, the cover can be rotated behind the screen which causes it to automatically stop sending keyboard and touchpad events until it is rotated back around.<br>
The keyboard has a decent amount of key travel and a good layout, with Home/End/Page Up/Page Down being accessible via Fn+Left/Right/Up/Down but also dedicated Home/End/Page Up/Page Down keys on the F9-F12 keys which I find quite useful since the keyboard layout is somewhat small. By default, the F1-F12 keys do not send F1-F12 key codes and Fn must be used, either held down temporarily or Fn pressed by itself to enable Fn-lock which annoyingly keeps the bright Fn LED illuminated. The keys are backlit with three levels of adjustment, handled by the keyboard itself with the F7 key.<br>
The touchpad on the Type Cover is a Windows Precision Touchpad connected via USB HID. It has a decent click feel but when the cover is angled up instead of flat on a surface, it sounds a bit hollow and cheap.</p>
</blockquote>

<ul>
<li>Surface Go Pen</li>
</ul>

<blockquote>
<p>The touchscreen is powered by an Elantech chip connected via HID-over-i2c, which also supports pen input. A Surface Pen digitizer is available separately from Microsoft and comes in the same colors as the Type Covers. The pen works without any pairing necessary, though the top button on it works over Bluetooth so it requires pairing to use. Either way, the pen requires an AAAA battery inside it to operate. The Surface Pen can attach magnetically to the left side of the screen when not in use.<br>
A kickstand can swing out behind the display to use the tablet in a laptop form factor, which can adjust to any angle up to about 170 degrees. The kickstand stays firmly in place wherever it is positioned, which also means it requires a bit of force to pull it out when initially placing the Surface Go on a desk.<br>
Along the top of the display are a power button and physical volume rocker buttons. Along the right side are the 3.5mm headphone jack, USB-C port, power port, and microSD card slot located behind the kickstand.<br>
Charging can be done via USB-C or the dedicated charge port, which accommodates a magnetically-attached, thin barrel similar to Apple’s first generation MagSafe adapter. The charging cable has a white LED that glows when connected, which is kind of annoying since it’s near the mid-line of the screen rather than down by the keyboard. Unlike Apple’s MagSafe, the indicator light does not indicate whether the battery is charged or not. The barrel charger plug can be placed up or down, but in either direction I find it puts an awkward strain on the power cable coming out of it due to the vertical position of the port.<br>
Wireless connectivity is provided by a Qualcomm Atheros QCA6174 802.11ac chip which also provides Bluetooth connectivity.<br>
Most of the sensors on the device such as the gyroscope and ambient light sensor are connected behind an Intel Sensor Hub PCI device, which provides some power savings as the host CPU doesn’t have to poll the sensors all the time.</p>
</blockquote>

<ul>
<li>Firmware</li>
</ul>

<blockquote>
<p>The Surface Go’s BIOS/firmware menu can be entered by holding down the Volume Up button, then pressing and releasing the Power button, and releasing Volume Up when the menu appears. Secure Boot as well as various hardware components can be disabled in this menu. Boot order can also be adjusted. A temporary boot menu can be brought up the same way but using Volume Down instead.</p>
</blockquote>

<hr>

<p>###<a href="https://www.freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-august-2018/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Update, August 2018</a></p>

<ul>
<li>MESSAGE FROM THE EXECUTIVE DIRECTOR</li>
</ul>

<blockquote>
<p>Dear FreeBSD Community Member,<br>
It’s been a busy summer for the Foundation. From traveling around the globe spreading the word about FreeBSD to bringing on new team members to improve the Project’s Continuous Integration work, we’re very excited about what we’ve accomplished. Take a minute to check out the latest updates within our Foundation sponsored projects; read more about our advocacy efforts in Bangladesh and community building in Cambridge; don’t miss upcoming Travel Grant deadlines, and new Developer Summits; and be sure to find out how your support will ensure our progress continues into 2019.<br>
We can’t do this without you! Happy reading!! Deb</p>
</blockquote>

<ul>
<li>August 2018 Development Projects Update</li>
<li>Fundraising Update: Supporting the Project</li>
<li>August 2018 Release Engineering Update</li>
<li>BSDCam 2018 Recap</li>
<li>October 2018 FreeBSD Developer Summit Call for Participation</li>
<li>SANOG32 and COSCUP 2018 Recap</li>
<li>MeetBSD 2018 Travel Grant Application Deadline: September 7</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="http://project-trident.org/post/2018-09-04_what_is_taking_so_long/" target="_blank" rel="nofollow noopener">Project Trident: What’s taking so long?</a></p>

<ul>
<li>What is taking so long?</li>
</ul>

<blockquote>
<p>The short answer is that it’s complicated.<br>
Project Trident is quite literally a test of the new TrueOS build system. As expected, there have been quite a few bugs, undocumented features, and other optional bits that we discovered we needed that were not initially present. All of these things have to be addressed and retested in a constant back and forth process.<br>
While Ken and JT are both experienced developers, neither has done this kind of release engineering before. JT has done some release engineering back in his Linux days, but the TrueOS and FreeBSD build system is very different. Both Ken and JT are learning a completely new way of building a FreeBSD/TrueOS distribution. Please keep in mind that no one has used this new TrueOS build system before, so Ken and JT want to not only provide a good Trident release, but also provide a model or template for other potential TrueOS distributions too!</p>
</blockquote>

<ul>
<li>Where are we now?</li>
</ul>

<blockquote>
<p>Through perseverance, trial and error, and a lot of head-scratching we have reached the point of having successful builds. It took a while to get there, but now we are simply working out a few bugs with the new installer that Ken wrote as well as finding and fixing all the new Xorg configuration options which recently landed in FreeBSD. We also found that a number of services have been removed or replaced between TrueOS 18.03 and 18.06 so we are needing to adjust what we consider the “base” services for the desktop. All of these issues are being resolved and we are continually rebuilding and pulling in new patches from TrueOS as soon as they are committed.<br>
In the meantime we have made an early BETA release of Trident available to the users in our Telegram Channel for those who want to help out in testing these early versions.</p>
</blockquote>

<ul>
<li>Do you foresee any other delays?</li>
</ul>

<blockquote>
<p>At the moment we are doing many iterations of testing and tweaking the install ISO and package configurations in order to ensure that all the critical functionality works out-of-box (networking, sound, video, basic apps, etc). While we do not foresee any other major delays, sometimes things happen that our outside of our control. For an example, one of the recent delays that hit recently was completely unexpected: we had a hard drive failure on our build server. Up until recently, The aptly named “Poseidon” build server was running a Micron m500dc drive, but that drive is now constantly reporting errors. Despite ordering a replacement Western Digital Blue SSD several weeks ago, we just received it this past week. The drive is now installed with the builder back to full functionality, but we did lose many precious days with the delay.<br>
The build server for Project Trident is very similar to the one that JT donated to the TrueOS project. JT had another DL580 G7, so he donated one to the Trident Project for their build server. Poseidon also has 256GB RAM (64 x 4GB sticks) which is a smidge higher than what the TrueOS builder has.<br>
Since we are talking about hardware, we probably should address another question we get often, “What Hardware are the devs testing on?” So let’s go ahead and answer that one now.</p>
</blockquote>

<ul>
<li>
<p>Developer Hardware</p>
</li>
<li>
<p>JT: His main test box is a custom-built Intel i7 7700K system running 32GB RAM, dual Intel Optane 900P drives, and an Nvidia 1070 GTX with four 4K Acer Monitors. He also uses a Lenovo x250 ThinkPad alongside a desk full of x230t and x220 ThinkPads. One of which he gave away at SouthEast LinuxFest this year, which you can read about here.  However it’s not done there, being a complete hardware hoarder, JT also tests on several Intel NUCs and his second laptop a Fujitsu t904, not to mention a Plethora of HP DL580 servers, a DL980 server, and a stack of BL485c, BL460c, and BL490c Blades in his HP c7000 and c3000 Bladecenter chassis. (Maybe it’s time for an intervention for his hardware collecting habits)</p>
</li>
<li>
<p>Ken: For a laptop, he primarily uses a 3rd generation X1 Carbon, but also has an old Eee PC T101MT Netbook (dual core 1GHz, 2GB of memory) which he uses for verifying how well Trident works on low-end hardware. As far as workstations go, his office computer is an Intel i7 with an NVIDIA Geforce GTX 960 running three 4K monitors and he has a couple other custom-built workstations (1 AMD, 1 Intel+NVIDIA) at his home. Generally he assembled random workstations based on hardware that was given to him or that he could acquire cheap.</p>
</li>
<li>
<p>Tim: is using a third gen X1 Carbon and a custom built desktop with an Intel Core i5-4440 CPU, 16 GiB RAM, Nvidia GeForce GTX 750 Ti, and a RealTek 8168 / 8111 network card.</p>
</li>
<li>
<p>Rod: Rod uses… No one knows what Rod uses, It’s kinda like how many licks does it take to get to the center of a Tootsie-Roll Tootsie-Pop… the world may just never know.</p>
</li>
</ul>

<hr>

<p>###NetBSD GSoC: pkgsrc config file versioning</p>

<ul>
<li>A series of reports from the course of the summer on this Google Summer of Code project</li>
<li>The goal of the project is to integrate with a VCS (Version Control System) to make managing local changes to config files for packages easier</li>
<li><a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files" target="_blank" rel="nofollow noopener">GSoC 2018 Reports: Configuration files versioning in pkgsrc, Part 1</a></li>
</ul>

<blockquote>
<p>Packages may install code (both machine executable code and interpreted programs), documentation and manual pages, source headers, shared libraries and other resources such as graphic elements, sounds, fonts, document templates, translations and configuration files, or a combination of them.<br>
Configuration files are usually the means through which the behaviour of software without a user interface is specified. This covers parts of the operating systems, network daemons and programs in general that don’t come with an interactive graphical or textual interface as the principal mean for setting options.<br>
System wide configuration for operating system software tends to be kept under /etc, while configuration for software installed via pkgsrc ends up under LOCALBASE/etc (e.g., /usr/pkg/etc).<br>
Software packaged as part of pkgsrc provides example configuration files, if any, which usually get extracted to LOCALBASE/share/examples/PKGBASE/.<br>
Don’t worry: automatic merging is disabled by default, set $VCSAUTOMERGE to enable it.<br>
In order to avoid breakage, installed configuration is backed up first in the VCS, separating user-modified files from files that have been already automatically merged in the past, in order to allow the administrator to easily restore the last manually edited file in case of breakage.<br>
VCS functionality only applies to configuration files, not to rc.d scripts, and only if the environment variable $NOVCS is unset.<br>
The version control system to be used as a backend can be set through $VCS. It default to RCS, the Revision Control System, which works only locally and doesn’t support atomic transactions.<br>
Other backends such as CVS are supported and more will come; these, being used at the explicit request of the administrator, need to be already installed and placed in a directory part of $PATH.</p>
</blockquote>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files1" target="_blank" rel="nofollow noopener">GSoC 2018 Reports: Configuration files versioning in pkgsrc, part 2: remote repositories (git and CVS)</a></li>
</ul>

<blockquote>
<p>pkgsrc is now able to deploy configuration from packages being installed from a remote, site-specific vcs repository.<br>
User modified files are always tracked even if automerge functionality is not enabled, and a new tool, pkgconftrack(1), exists to manually store user changes made outside of package upgrade time.<br>
Version Control software is executed as the same user running pkg_add or make install, unless the user is “root”. In this case, a separate, unprivileged user, pkgvcsconf, gets created with its own home directory and a working login shell (but no password). The home directory is not strictly necessary, it exists to facilitate migrations betweens repositories and vcs changes; it also serves to store keys used to access remote repositories.<br>
Using git instead of rcs is simply done by setting VCS=git in pkg_install.conf</p>
</blockquote>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files2" target="_blank" rel="nofollow noopener">GSoC 2018 Reports: Configuration files versioning in pkgsrc, part 3: remote repositories (SVN and Mercurial)</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files3" target="_blank" rel="nofollow noopener">GSoC 2018 Reports: Configuration files versioning in pkgsrc, part 4: configuration deployment, pkgtools and future improvements</a></li>
</ul>

<blockquote>
<p>Support for configuration tracking is in scripts, pkginstall scripts, that get built into binary packages and are run by pkg_add upon installation. The idea behind the proposal suggested that users of the new feature should be able to store revisions of their installed configuration files, and of package-provided default, both in local or remote repositories. With this capability in place, it doesn’t take much to make the scripts “pull” configuration from a VCS repository at installation time.<br>
That’s what setting VCSCONFPULL=yes in pkg_install.conf after having enabled VCSTRACK_CONF does: You are free to use official, third party prebuilt packages that have no customization in them, enable these options, and point pkgsrc to a private conf repository. If it contains custom configuration for the software you are installing, an attempt will be made to use it and install it on your system. If it fails, pkginstall will fall back to using the defaults that come inside the package. RC scripts are always deployed from the binary package, if existing and PKG_RCD_SCRIPTS=yes in pkg_install.conf or the environment.<br>
This will be part of packages, not a separate solution like configuration management tools. It doesn’t support running scripts on the target system to customize the installation, it doesn’t come with its domain-specific language, it won’t run as a daemon or require remote logins to work. It’s quite limited in scope, but you can define a ROLE for your system in pkg_install.conf or in the environment, and pkgsrc will look for configuration you or your organization crafted for such a role (e.g., public, standalone webserver vs reverse proxy or node in a database cluster)</p>
</blockquote>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSDTypeAndMacOS" target="_blank" rel="nofollow noopener">A little bit of the one-time MacOS version still lingers in ZFS</a></p>

<blockquote>
<p>Once upon a time, Apple came very close to releasing ZFS as part of MacOS. Apple did this work in its own copy of the ZFS source base (as far as I know), but the people in Sun knew about it and it turns out that even today there is one little lingering sign of this hoped-for and perhaps prepared-for ZFS port in the ZFS source code. Well, sort of, because it’s not quite in code.<br>
Lurking in the function that reads ZFS directories to turn (ZFS) directory entries into the filesystem independent format that the kernel wants is the following comment:</p>
</blockquote>

<p><code>objnum = ZFS_DIRENT_OBJ(zap.za_first_integer);</code><br>
<code>/*</code><br>
<code>* MacOS X can extract the object type here such as:</code><br>
<code>* uint8_t type = ZFS_DIRENT_TYPE(zap.za_first_integer);</code><br>
<code>*/</code></p>

<ul>
<li>Specifically, this is in zfs_readdir in zfs_vnops.c .</li>
</ul>

<blockquote>
<p>ZFS maintains file type information in directories. This information can’t be used on Solaris (and thus Illumos), where the overall kernel doesn’t have this in its filesystem independent directory entry format, but it could have been on MacOS (‘Darwin’), because MacOS is among the Unixes that support d_type. The comment itself dates all the way back to this 2007 commit, which includes the change ‘reserve bits in directory entry for file type’, which created the whole setup for this.<br>
I don’t know if this file type support was added specifically to help out Apple’s MacOS X port of ZFS, but it’s certainly possible, and in 2007 it seems likely that this port was at least on the minds of ZFS developers. It’s interesting but understandable that FreeBSD didn’t seem to have influenced them in the same way, at least as far as comments in the source code go; this file type support is equally useful for FreeBSD, and the FreeBSD ZFS port dates to 2007 too (per this announcement).<br>
Regardless of the exact reason that ZFS picked up maintaining file type information in directory entries, it’s quite useful for people on both FreeBSD and Linux that it does so. File type information is useful for any number of things and ZFS filesystems can (and do) provide this information on those Unixes, which helps make ZFS feel like a truly first class filesystem, one that supports all of the expected general system features.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="http://trafyx.com/?p=2551" target="_blank" rel="nofollow noopener">Mac-like FreeBSD Laptop</a></li>
<li><a href="https://vermaden.wordpress.com/2018/08/21/syncthing-on-freebsd/" target="_blank" rel="nofollow noopener">Syncthing on FreeBSD</a></li>
<li><a href="https://vermaden.wordpress.com/2018/08/24/new-zfs-boot-environments-tool/" target="_blank" rel="nofollow noopener">New ZFS Boot Environments Tool</a></li>
<li><a href="http://anadoxin.org/blog/my-systems-time-was-so-wrong-that-even-ntpd-didnt-work.html" target="_blank" rel="nofollow noopener">My system’s time was so wrong, that even ntpd didn’t work</a></li>
<li><a href="https://www.openssh.com/releasenotes.html#7.8" target="_blank" rel="nofollow noopener">OpenSSH 7.8/7.8p1 (2018-08-24)</a></li>
<li><a href="https://2018.eurobsdcon.org/registration/" target="_blank" rel="nofollow noopener">EuroBSD (Sept 20-23rd) registration Early Bird Period is coming to an end</a></li>
<li><a href="https://www.meetbsd.com/" target="_blank" rel="nofollow noopener">MeetBSD (Oct 18-20th) is coming up fast, hurry up and register!</a></li>
<li><a href="https://2019.asiabsdcon.org/" target="_blank" rel="nofollow noopener">AsiaBSDcon 2019 Dates</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Will - <a href="http://dpaste.com/2EQMHXV" target="_blank" rel="nofollow noopener">Kudos and a Question</a></li>
<li>Peter - <a href="http://dpaste.com/2N6DC6P#wrap" target="_blank" rel="nofollow noopener">Fanless Computers</a></li>
<li>Ron - <a href="http://dpaste.com/0MRG11V#wrap" target="_blank" rel="nofollow noopener">ZFS disk clone or replace or something</a></li>
<li>Bostjan - <a href="http://dpaste.com/16B1WDB" target="_blank" rel="nofollow noopener">ZFS Record Size</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD on Microsoft Surface Go, FreeBSD Foundation August Update, What’s taking so long with Project Trident, pkgsrc config file versioning, and MacOS remnants in ZFS code.</p>

<p>##Headlines<br>
###<a href="https://jcs.org/2018/08/31/surface_go" target="_blank" rel="nofollow noopener">OpenBSD on the Microsoft Surface Go</a></p>

<blockquote>
<p>For some reason I like small laptops and the constraints they place on me (as long as they’re still usable). I used a Dell Mini 9 for a long time back in the netbook days and was recently using an 11" MacBook Air as my primary development machine for many years. Recently Microsoft announced a smaller, cheaper version of its Surface tablets called Surface Go which piqued my interest.</p>
</blockquote>

<ul>
<li>Hardware</li>
</ul>

<blockquote>
<p>The Surface Go is available in two hardware configurations: one with 4Gb of RAM and a 64Gb eMMC, and another with 8Gb of RAM with a 128Gb NVMe SSD. (I went with the latter.) Both ship with an Intel Pentium Gold 4415Y processor which is not very fast, but it’s certainly usable.<br>
The tablet measures 9.65" across, 6.9" tall, and 0.3" thick. Its 10" diagonal 3:2 touchscreen is covered with Gorilla Glass and has a resolution of 1800x1200. The bezel is quite large, especially for such a small screen, but it makes sense on a device that is meant to be held, to avoid accidental screen touches.<br>
The keyboard and touchpad are located on a separate, removable slab called the Surface Go Signature Type Cover which is sold separately. I opted for the “cobalt blue” cover which has a soft, cloth-like alcantara material. The cover attaches magnetically along the bottom edge of the device and presents USB-attached keyboard and touchpad devices. When the cover is folded up against the screen, it sends an ACPI sleep signal and is held to the screen magnetically. During normal use, the cover can be positioned flat on a surface or slightly raised up about 3/4" near the screen for better ergonomics. When using the device as a tablet, the cover can be rotated behind the screen which causes it to automatically stop sending keyboard and touchpad events until it is rotated back around.<br>
The keyboard has a decent amount of key travel and a good layout, with Home/End/Page Up/Page Down being accessible via Fn+Left/Right/Up/Down but also dedicated Home/End/Page Up/Page Down keys on the F9-F12 keys which I find quite useful since the keyboard layout is somewhat small. By default, the F1-F12 keys do not send F1-F12 key codes and Fn must be used, either held down temporarily or Fn pressed by itself to enable Fn-lock which annoyingly keeps the bright Fn LED illuminated. The keys are backlit with three levels of adjustment, handled by the keyboard itself with the F7 key.<br>
The touchpad on the Type Cover is a Windows Precision Touchpad connected via USB HID. It has a decent click feel but when the cover is angled up instead of flat on a surface, it sounds a bit hollow and cheap.</p>
</blockquote>

<ul>
<li>Surface Go Pen</li>
</ul>

<blockquote>
<p>The touchscreen is powered by an Elantech chip connected via HID-over-i2c, which also supports pen input. A Surface Pen digitizer is available separately from Microsoft and comes in the same colors as the Type Covers. The pen works without any pairing necessary, though the top button on it works over Bluetooth so it requires pairing to use. Either way, the pen requires an AAAA battery inside it to operate. The Surface Pen can attach magnetically to the left side of the screen when not in use.<br>
A kickstand can swing out behind the display to use the tablet in a laptop form factor, which can adjust to any angle up to about 170 degrees. The kickstand stays firmly in place wherever it is positioned, which also means it requires a bit of force to pull it out when initially placing the Surface Go on a desk.<br>
Along the top of the display are a power button and physical volume rocker buttons. Along the right side are the 3.5mm headphone jack, USB-C port, power port, and microSD card slot located behind the kickstand.<br>
Charging can be done via USB-C or the dedicated charge port, which accommodates a magnetically-attached, thin barrel similar to Apple’s first generation MagSafe adapter. The charging cable has a white LED that glows when connected, which is kind of annoying since it’s near the mid-line of the screen rather than down by the keyboard. Unlike Apple’s MagSafe, the indicator light does not indicate whether the battery is charged or not. The barrel charger plug can be placed up or down, but in either direction I find it puts an awkward strain on the power cable coming out of it due to the vertical position of the port.<br>
Wireless connectivity is provided by a Qualcomm Atheros QCA6174 802.11ac chip which also provides Bluetooth connectivity.<br>
Most of the sensors on the device such as the gyroscope and ambient light sensor are connected behind an Intel Sensor Hub PCI device, which provides some power savings as the host CPU doesn’t have to poll the sensors all the time.</p>
</blockquote>

<ul>
<li>Firmware</li>
</ul>

<blockquote>
<p>The Surface Go’s BIOS/firmware menu can be entered by holding down the Volume Up button, then pressing and releasing the Power button, and releasing Volume Up when the menu appears. Secure Boot as well as various hardware components can be disabled in this menu. Boot order can also be adjusted. A temporary boot menu can be brought up the same way but using Volume Down instead.</p>
</blockquote>

<hr>

<p>###<a href="https://www.freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-august-2018/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Update, August 2018</a></p>

<ul>
<li>MESSAGE FROM THE EXECUTIVE DIRECTOR</li>
</ul>

<blockquote>
<p>Dear FreeBSD Community Member,<br>
It’s been a busy summer for the Foundation. From traveling around the globe spreading the word about FreeBSD to bringing on new team members to improve the Project’s Continuous Integration work, we’re very excited about what we’ve accomplished. Take a minute to check out the latest updates within our Foundation sponsored projects; read more about our advocacy efforts in Bangladesh and community building in Cambridge; don’t miss upcoming Travel Grant deadlines, and new Developer Summits; and be sure to find out how your support will ensure our progress continues into 2019.<br>
We can’t do this without you! Happy reading!! Deb</p>
</blockquote>

<ul>
<li>August 2018 Development Projects Update</li>
<li>Fundraising Update: Supporting the Project</li>
<li>August 2018 Release Engineering Update</li>
<li>BSDCam 2018 Recap</li>
<li>October 2018 FreeBSD Developer Summit Call for Participation</li>
<li>SANOG32 and COSCUP 2018 Recap</li>
<li>MeetBSD 2018 Travel Grant Application Deadline: September 7</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="http://project-trident.org/post/2018-09-04_what_is_taking_so_long/" target="_blank" rel="nofollow noopener">Project Trident: What’s taking so long?</a></p>

<ul>
<li>What is taking so long?</li>
</ul>

<blockquote>
<p>The short answer is that it’s complicated.<br>
Project Trident is quite literally a test of the new TrueOS build system. As expected, there have been quite a few bugs, undocumented features, and other optional bits that we discovered we needed that were not initially present. All of these things have to be addressed and retested in a constant back and forth process.<br>
While Ken and JT are both experienced developers, neither has done this kind of release engineering before. JT has done some release engineering back in his Linux days, but the TrueOS and FreeBSD build system is very different. Both Ken and JT are learning a completely new way of building a FreeBSD/TrueOS distribution. Please keep in mind that no one has used this new TrueOS build system before, so Ken and JT want to not only provide a good Trident release, but also provide a model or template for other potential TrueOS distributions too!</p>
</blockquote>

<ul>
<li>Where are we now?</li>
</ul>

<blockquote>
<p>Through perseverance, trial and error, and a lot of head-scratching we have reached the point of having successful builds. It took a while to get there, but now we are simply working out a few bugs with the new installer that Ken wrote as well as finding and fixing all the new Xorg configuration options which recently landed in FreeBSD. We also found that a number of services have been removed or replaced between TrueOS 18.03 and 18.06 so we are needing to adjust what we consider the “base” services for the desktop. All of these issues are being resolved and we are continually rebuilding and pulling in new patches from TrueOS as soon as they are committed.<br>
In the meantime we have made an early BETA release of Trident available to the users in our Telegram Channel for those who want to help out in testing these early versions.</p>
</blockquote>

<ul>
<li>Do you foresee any other delays?</li>
</ul>

<blockquote>
<p>At the moment we are doing many iterations of testing and tweaking the install ISO and package configurations in order to ensure that all the critical functionality works out-of-box (networking, sound, video, basic apps, etc). While we do not foresee any other major delays, sometimes things happen that our outside of our control. For an example, one of the recent delays that hit recently was completely unexpected: we had a hard drive failure on our build server. Up until recently, The aptly named “Poseidon” build server was running a Micron m500dc drive, but that drive is now constantly reporting errors. Despite ordering a replacement Western Digital Blue SSD several weeks ago, we just received it this past week. The drive is now installed with the builder back to full functionality, but we did lose many precious days with the delay.<br>
The build server for Project Trident is very similar to the one that JT donated to the TrueOS project. JT had another DL580 G7, so he donated one to the Trident Project for their build server. Poseidon also has 256GB RAM (64 x 4GB sticks) which is a smidge higher than what the TrueOS builder has.<br>
Since we are talking about hardware, we probably should address another question we get often, “What Hardware are the devs testing on?” So let’s go ahead and answer that one now.</p>
</blockquote>

<ul>
<li>
<p>Developer Hardware</p>
</li>
<li>
<p>JT: His main test box is a custom-built Intel i7 7700K system running 32GB RAM, dual Intel Optane 900P drives, and an Nvidia 1070 GTX with four 4K Acer Monitors. He also uses a Lenovo x250 ThinkPad alongside a desk full of x230t and x220 ThinkPads. One of which he gave away at SouthEast LinuxFest this year, which you can read about here.  However it’s not done there, being a complete hardware hoarder, JT also tests on several Intel NUCs and his second laptop a Fujitsu t904, not to mention a Plethora of HP DL580 servers, a DL980 server, and a stack of BL485c, BL460c, and BL490c Blades in his HP c7000 and c3000 Bladecenter chassis. (Maybe it’s time for an intervention for his hardware collecting habits)</p>
</li>
<li>
<p>Ken: For a laptop, he primarily uses a 3rd generation X1 Carbon, but also has an old Eee PC T101MT Netbook (dual core 1GHz, 2GB of memory) which he uses for verifying how well Trident works on low-end hardware. As far as workstations go, his office computer is an Intel i7 with an NVIDIA Geforce GTX 960 running three 4K monitors and he has a couple other custom-built workstations (1 AMD, 1 Intel+NVIDIA) at his home. Generally he assembled random workstations based on hardware that was given to him or that he could acquire cheap.</p>
</li>
<li>
<p>Tim: is using a third gen X1 Carbon and a custom built desktop with an Intel Core i5-4440 CPU, 16 GiB RAM, Nvidia GeForce GTX 750 Ti, and a RealTek 8168 / 8111 network card.</p>
</li>
<li>
<p>Rod: Rod uses… No one knows what Rod uses, It’s kinda like how many licks does it take to get to the center of a Tootsie-Roll Tootsie-Pop… the world may just never know.</p>
</li>
</ul>

<hr>

<p>###NetBSD GSoC: pkgsrc config file versioning</p>

<ul>
<li>A series of reports from the course of the summer on this Google Summer of Code project</li>
<li>The goal of the project is to integrate with a VCS (Version Control System) to make managing local changes to config files for packages easier</li>
<li><a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files" target="_blank" rel="nofollow noopener">GSoC 2018 Reports: Configuration files versioning in pkgsrc, Part 1</a></li>
</ul>

<blockquote>
<p>Packages may install code (both machine executable code and interpreted programs), documentation and manual pages, source headers, shared libraries and other resources such as graphic elements, sounds, fonts, document templates, translations and configuration files, or a combination of them.<br>
Configuration files are usually the means through which the behaviour of software without a user interface is specified. This covers parts of the operating systems, network daemons and programs in general that don’t come with an interactive graphical or textual interface as the principal mean for setting options.<br>
System wide configuration for operating system software tends to be kept under /etc, while configuration for software installed via pkgsrc ends up under LOCALBASE/etc (e.g., /usr/pkg/etc).<br>
Software packaged as part of pkgsrc provides example configuration files, if any, which usually get extracted to LOCALBASE/share/examples/PKGBASE/.<br>
Don’t worry: automatic merging is disabled by default, set $VCSAUTOMERGE to enable it.<br>
In order to avoid breakage, installed configuration is backed up first in the VCS, separating user-modified files from files that have been already automatically merged in the past, in order to allow the administrator to easily restore the last manually edited file in case of breakage.<br>
VCS functionality only applies to configuration files, not to rc.d scripts, and only if the environment variable $NOVCS is unset.<br>
The version control system to be used as a backend can be set through $VCS. It default to RCS, the Revision Control System, which works only locally and doesn’t support atomic transactions.<br>
Other backends such as CVS are supported and more will come; these, being used at the explicit request of the administrator, need to be already installed and placed in a directory part of $PATH.</p>
</blockquote>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files1" target="_blank" rel="nofollow noopener">GSoC 2018 Reports: Configuration files versioning in pkgsrc, part 2: remote repositories (git and CVS)</a></li>
</ul>

<blockquote>
<p>pkgsrc is now able to deploy configuration from packages being installed from a remote, site-specific vcs repository.<br>
User modified files are always tracked even if automerge functionality is not enabled, and a new tool, pkgconftrack(1), exists to manually store user changes made outside of package upgrade time.<br>
Version Control software is executed as the same user running pkg_add or make install, unless the user is “root”. In this case, a separate, unprivileged user, pkgvcsconf, gets created with its own home directory and a working login shell (but no password). The home directory is not strictly necessary, it exists to facilitate migrations betweens repositories and vcs changes; it also serves to store keys used to access remote repositories.<br>
Using git instead of rcs is simply done by setting VCS=git in pkg_install.conf</p>
</blockquote>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files2" target="_blank" rel="nofollow noopener">GSoC 2018 Reports: Configuration files versioning in pkgsrc, part 3: remote repositories (SVN and Mercurial)</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files3" target="_blank" rel="nofollow noopener">GSoC 2018 Reports: Configuration files versioning in pkgsrc, part 4: configuration deployment, pkgtools and future improvements</a></li>
</ul>

<blockquote>
<p>Support for configuration tracking is in scripts, pkginstall scripts, that get built into binary packages and are run by pkg_add upon installation. The idea behind the proposal suggested that users of the new feature should be able to store revisions of their installed configuration files, and of package-provided default, both in local or remote repositories. With this capability in place, it doesn’t take much to make the scripts “pull” configuration from a VCS repository at installation time.<br>
That’s what setting VCSCONFPULL=yes in pkg_install.conf after having enabled VCSTRACK_CONF does: You are free to use official, third party prebuilt packages that have no customization in them, enable these options, and point pkgsrc to a private conf repository. If it contains custom configuration for the software you are installing, an attempt will be made to use it and install it on your system. If it fails, pkginstall will fall back to using the defaults that come inside the package. RC scripts are always deployed from the binary package, if existing and PKG_RCD_SCRIPTS=yes in pkg_install.conf or the environment.<br>
This will be part of packages, not a separate solution like configuration management tools. It doesn’t support running scripts on the target system to customize the installation, it doesn’t come with its domain-specific language, it won’t run as a daemon or require remote logins to work. It’s quite limited in scope, but you can define a ROLE for your system in pkg_install.conf or in the environment, and pkgsrc will look for configuration you or your organization crafted for such a role (e.g., public, standalone webserver vs reverse proxy or node in a database cluster)</p>
</blockquote>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSDTypeAndMacOS" target="_blank" rel="nofollow noopener">A little bit of the one-time MacOS version still lingers in ZFS</a></p>

<blockquote>
<p>Once upon a time, Apple came very close to releasing ZFS as part of MacOS. Apple did this work in its own copy of the ZFS source base (as far as I know), but the people in Sun knew about it and it turns out that even today there is one little lingering sign of this hoped-for and perhaps prepared-for ZFS port in the ZFS source code. Well, sort of, because it’s not quite in code.<br>
Lurking in the function that reads ZFS directories to turn (ZFS) directory entries into the filesystem independent format that the kernel wants is the following comment:</p>
</blockquote>

<p><code>objnum = ZFS_DIRENT_OBJ(zap.za_first_integer);</code><br>
<code>/*</code><br>
<code>* MacOS X can extract the object type here such as:</code><br>
<code>* uint8_t type = ZFS_DIRENT_TYPE(zap.za_first_integer);</code><br>
<code>*/</code></p>

<ul>
<li>Specifically, this is in zfs_readdir in zfs_vnops.c .</li>
</ul>

<blockquote>
<p>ZFS maintains file type information in directories. This information can’t be used on Solaris (and thus Illumos), where the overall kernel doesn’t have this in its filesystem independent directory entry format, but it could have been on MacOS (‘Darwin’), because MacOS is among the Unixes that support d_type. The comment itself dates all the way back to this 2007 commit, which includes the change ‘reserve bits in directory entry for file type’, which created the whole setup for this.<br>
I don’t know if this file type support was added specifically to help out Apple’s MacOS X port of ZFS, but it’s certainly possible, and in 2007 it seems likely that this port was at least on the minds of ZFS developers. It’s interesting but understandable that FreeBSD didn’t seem to have influenced them in the same way, at least as far as comments in the source code go; this file type support is equally useful for FreeBSD, and the FreeBSD ZFS port dates to 2007 too (per this announcement).<br>
Regardless of the exact reason that ZFS picked up maintaining file type information in directory entries, it’s quite useful for people on both FreeBSD and Linux that it does so. File type information is useful for any number of things and ZFS filesystems can (and do) provide this information on those Unixes, which helps make ZFS feel like a truly first class filesystem, one that supports all of the expected general system features.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="http://trafyx.com/?p=2551" target="_blank" rel="nofollow noopener">Mac-like FreeBSD Laptop</a></li>
<li><a href="https://vermaden.wordpress.com/2018/08/21/syncthing-on-freebsd/" target="_blank" rel="nofollow noopener">Syncthing on FreeBSD</a></li>
<li><a href="https://vermaden.wordpress.com/2018/08/24/new-zfs-boot-environments-tool/" target="_blank" rel="nofollow noopener">New ZFS Boot Environments Tool</a></li>
<li><a href="http://anadoxin.org/blog/my-systems-time-was-so-wrong-that-even-ntpd-didnt-work.html" target="_blank" rel="nofollow noopener">My system’s time was so wrong, that even ntpd didn’t work</a></li>
<li><a href="https://www.openssh.com/releasenotes.html#7.8" target="_blank" rel="nofollow noopener">OpenSSH 7.8/7.8p1 (2018-08-24)</a></li>
<li><a href="https://2018.eurobsdcon.org/registration/" target="_blank" rel="nofollow noopener">EuroBSD (Sept 20-23rd) registration Early Bird Period is coming to an end</a></li>
<li><a href="https://www.meetbsd.com/" target="_blank" rel="nofollow noopener">MeetBSD (Oct 18-20th) is coming up fast, hurry up and register!</a></li>
<li><a href="https://2019.asiabsdcon.org/" target="_blank" rel="nofollow noopener">AsiaBSDcon 2019 Dates</a></li>
</ul>

<hr>

<p>##Feedback/Questions</p>

<ul>
<li>Will - <a href="http://dpaste.com/2EQMHXV" target="_blank" rel="nofollow noopener">Kudos and a Question</a></li>
<li>Peter - <a href="http://dpaste.com/2N6DC6P#wrap" target="_blank" rel="nofollow noopener">Fanless Computers</a></li>
<li>Ron - <a href="http://dpaste.com/0MRG11V#wrap" target="_blank" rel="nofollow noopener">ZFS disk clone or replace or something</a></li>
<li>Bostjan - <a href="http://dpaste.com/16B1WDB" target="_blank" rel="nofollow noopener">ZFS Record Size</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 261: FreeBSDcon Flashback | BSD Now 261</title>
  <link>https://www.bsdnow.tv/261</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2488</guid>
  <pubDate>Thu, 30 Aug 2018 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9bf2ff39-f045-4c19-8416-f1a6da6d3f84.mp3" length="65719133" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Insight into TrueOS and Trident, stop evildoers with pf-badhost, Flashback to FreeBSDcon ‘99, OpenBSD’s measures against TLBleed, play Morrowind on OpenBSD in 5 steps, DragonflyBSD developers shocked at Threadripper performance, and more.</itunes:subtitle>
  <itunes:duration>1:49:13</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>&lt;p&gt;Insight into TrueOS and Trident, stop evildoers with pf-badhost, Flashback to FreeBSDcon ‘99, OpenBSD’s measures against TLBleed, play Morrowind on OpenBSD in 5 steps, DragonflyBSD developers shocked at Threadripper performance, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://itsfoss.com/project-trident-interview/" target="_blank" rel="nofollow noopener"&gt;An Insight into the Future of TrueOS BSD and Project Trident&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Last month, TrueOS announced that they would be spinning off their desktop offering. The team behind the new project, named Project Trident, have been working furiously towards their first release. They did take a few minutes to answer some of our question about Project Trident and TrueOS. I would like to thank JT and Ken for taking the time to compile these answers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It’s FOSS: What is Project Trident?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Project Trident: Project Trident is the continuation of the TrueOS Desktop. Essentially, it is the continuation of the primary “TrueOS software” that people have been using for the past 2 years. The continuing evolution of the entire TrueOS project has reached a stage where it became necessary to reorganize the project. To understand this change, it is important to know the history of the TrueOS project.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Originally, Kris Moore created PC-BSD. This was a Desktop release of FreeBSD focused on providing a simple and user-friendly graphical experience for FreeBSD. PC-BSD grew and matured over many years. During the evolution of PC-BSD, many users began asking for a server focused version of the software. Kris agreed, and TrueOS was born as a scaled down server version of PC-BSD. In late 2016, more contributors and growth resulted in significant changes to the PC-BSD codebase. Because the new development was so markedly different from the original PC-BSD design, it was decided to rebrand the project.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;TrueOS was chosen as the name for this new direction for PC-BSD as the project had grown beyond providing only a graphical front to FreeBSD and was beginning to make fundamental changes to the FreeBSD operating system. One of these changes was moving PC-BSD from being based on each FreeBSD Release to TrueOS being based on the active and less outdated FreeBSD Current. Other major changes are using OpenRC for service management and being more aggressive about addressing long-standing issues with the FreeBSD release process. TrueOS moved toward a rolling release cycle, twice a year, which tested and merged FreeBSD changes directly from the developer instead of waiting months or even years for the FreeBSD review process to finish. TrueOS also deprecated and removed obsolete technology much more regularly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;As the TrueOS Project grew, the developers found these changes were needed by other FreeBSD-based projects. These projects began expressing interest in using TrueOS rather than FreeBSD as the base for their project. This demonstrated that TrueOS needed to again evolve into a distribution framework for any BSD project to use. This allows port maintainers and source developers from any BSD project to pool their resources and use the same source repositories while allowing every distribution to still customize, build, and release their own self-contained project. The result is a natural split of the traditional TrueOS team. There were now naturally two teams in the TrueOS project: those working on the build infrastructure and FreeBSD enhancements – the “core” part of the project, and those working on end-user experience and utility – the “desktop” part of the project.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;When the decision was made to formally split the projects, the obvious question that arose was what to call the “Desktop” project. As TrueOS was already positioned to be a BSD distribution platform, the developers agreed the desktop side should pick a new name. There were other considerations too, one notable being that we were concerned that if we continued to call the desktop project “TrueOS Desktop”, it would prevent people from considering TrueOS as the basis for their distribution because of misconceptions that TrueOS was a desktop-focused OS. It also helps to “level the playing field” for other desktop distributions like GhostBSD so that TrueOS is not viewed as having a single “blessed” desktop version.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It’s FOSS: What features will TrueOS add to the FreeBSD base?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Project Trident: TrueOS has already added a number of features to FreeBSD:&lt;br&gt;
OpenRC replaces rc.d for service management&lt;br&gt;
LibreSSL in base&lt;br&gt;
Root NSS certificates out-of-box&lt;br&gt;
Scriptable installations (pc-sysinstall)&lt;br&gt;
The full list of changes can be seen on the TrueOS repository (&lt;a href="https://github.com/trueos/trueos/blob/trueos-master/README.md" target="_blank" rel="nofollow noopener"&gt;https://github.com/trueos/trueos/blob/trueos-master/README.md&lt;/a&gt;). This list does change quite regularly as FreeBSD development itself changes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It’s FOSS: I understand that TrueOS will have a new feature that will make creating a desktop spin of TrueOS very easy. Could you explain that new feature?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Project Trident: Historically, one of the biggest hurdles for creating a desktop version of FreeBSD is that the build options for packages are tuned for servers rather than desktops. This means a desktop distribution cannot use the pre-built packages from FreeBSD and must build, use, and maintain a custom package repository. Maintaining a fork of the FreeBSD ports tree is no trivial task. TrueOS has created a full distribution framework so now all it takes to create a custom build of FreeBSD is a single JSON manifest file. There is now a single “source of truth” for the source and ports repositories that is maintained by the TrueOS team and regularly tagged with “stable” build markers. All projects can use this framework, which makes updates trivial.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It’s FOSS: Do you think that the new focus of TrueOS will lead to the creation of more desktop-centered BSDs?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Project Trident: That is the hope. Historically, creating a desktop-centered BSD has required a lot of specialized knowledge. Not only do most people not have this knowledge, but many do not even know what they need to learn until they start troubleshooting. TrueOS is trying to drastically simplify this process to enable the wider Open Source community to experiment, contribute, and enjoy BSD-based projects.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It’s FOSS: What is going to happen to TrueOS Pico? Will Project Trident have ARM support?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Project Trident: Project Trident will be dependent on TrueOS for ARM support. The developers have talked about the possibility of supporting ARM64 and RISC-V architectures, but it is not possible at the current time. If more Open Source contributors want to help develop ARM and RISC-V support, the TrueOS project is definitely willing to help test and integrate that code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It’s FOSS: What does this change (splitting Trus OS into Project Trident) mean for the Lumina desktop environment?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Project Trident: Long-term, almost nothing. Lumina is still the desktop environment for Project Trident and will continue to be developed and enhanced alongside Project Trident just as it was for TrueOS. Short-term, we will be delaying the release of Lumina 2.0 and will release an updated version of the 1.x branch (1.5.0) instead. This is simply due to all the extra overhead to get Project Trident up and running. When things settle down into a rhythm, the development of Lumina will pick up once again.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It’s FOSS: Are you planning on including any desktop environments besides Lumina?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Project Trident: While Lumina is included by default, all of the other popular desktop environments will be available in the package repo exactly as they had been before.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It’s FOSS: Any plans to include Steam to increase the userbase?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Project Trident: Steam is still unavailable natively on FreeBSD, so we do not have any plans to ship it out of the box currently. In the meantime, we highly recommend installing the Windows version of Steam through the PlayOnBSD utility.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It’s FOSS: What will happen to the AppCafe?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Project Trident: The AppCafe is the name of the graphical interface for the “pkg” utility integrated into the SysAdm client created by TrueOS. This hasn’t changed. SysAdm, the graphical client, and by extension AppCafe are still available for all TrueOS-based distributions to use.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It’s FOSS: Does Project Trident have any corporate sponsors lined up? If not, would you be open to it or would you prefer that it be community supported?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Project Trident: iXsystems is the first corporate sponsor of Project Trident and we are always open to other sponsorships as well. We would prefer smaller individual contributions from the community, but we understand that larger project needs or special-purpose goals are much more difficult to achieve without allowing larger corporate sponsorships as well. In either case, Project Trident is always looking out for the best interests of the community and will not allow intrusive or harmful code to enter the project even if a company or individual tries to make that code part of a sponsorship deal.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It’s FOSS: BSD always seems to be lagging in terms of support for newer devices. Will TrueOS be able to remedy that with a quicker release cycle?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Project Trident: Yes! That was a primary reason for TrueOS to start tracking the CURRENT branch of FreeBSD in 2016. This allows for the changes that FreeBSD developers are making, including new hardware support, to be available much sooner than if we followed the FreeBSD release cycle.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It’s FOSS: Do you have any idea when Project Trident will have its first release?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Project Trident: Right now we are targeting a late August release date. This is because Project Trident is “kicking the wheels” on the new TrueOS distribution system. We want to ensure everything is working smoothly before we release. Going forward, we plan on having regular package updates every week or two for the end-user packages and a new release of Trident with an updated OS version every 6 months. This will follow the TrueOS release schedule with a small time offset.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.geoghegan.ca/pfbadhost.html" target="_blank" rel="nofollow noopener"&gt;pf-badhost: Stop the evil doers in their tracks!&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;pf-badhost is a simple, easy to use badhost blocker that uses the power of the pf firewall to block many of the internet’s biggest irritants. Annoyances such as ssh bruteforcers are largely eliminated. Shodan scans and bots looking for webservers to abuse are stopped dead in their tracks. When used to filter outbound traffic, pf-badhost blocks many seedy, spooky malware containing and/or compromised webhosts.&lt;br&gt;
Filtering performance is exceptional, as the badhost list is stored in a pf table. To quote the OpenBSD FAQ page regarding tables: “the lookup time on a table holding 50,000 addresses is only slightly more than for one holding 50 addresses.”&lt;br&gt;
pf-badhost is simple and powerful. The blocklists are pulled from quality, trusted sources. The ‘Firehol’, ‘Emerging Threats’ and ‘Binary Defense’ block lists are used as they are popular, regularly updated lists of the internet’s most egregious offenders. The &lt;a href="http://pf-badhost.sh" target="_blank" rel="nofollow noopener"&gt;pf-badhost.sh&lt;/a&gt; script can easily be expanded to use additional or alternate blocklists.&lt;br&gt;
pf-badhost works best when used in conjunction with unbound-adblock for the ultimate badhost blocking.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Notes:&lt;/li&gt;
&lt;li&gt;If you are trying to run pf-badhost on a LAN or are using NAT, you will want to add a rule to your pf.conf appearing BEFORE the pf-badhost rules allowing traffic to and from your local subnet so that you can still access your gateway and any DNS servers.&lt;/li&gt;
&lt;li&gt;Conversely, adding a line to &lt;a href="http://pf-badhost.sh" target="_blank" rel="nofollow noopener"&gt;pf-badhost.sh&lt;/a&gt; that removes your subnet range from the &amp;lt;pfbadhost&amp;gt; table should also work. Just make sure you choose a subnet range / CIDR block that is actually in the list. 192.168.0.0/16, 172.16.0.0/12 and 10.0.0.0/8 are the most common home/office subnet ranges.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;DigitalOcean&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://do.co/bsdnow" target="_blank" rel="nofollow noopener"&gt;https://do.co/bsdnow&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="http://edition.cnn.com/TECH/computing/9911/01/freebsd.con99.idg/" target="_blank" rel="nofollow noopener"&gt;FLASHBACK: FreeBSDCon’99: Fans of Linux’s lesser-known sibling gather for the first time&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD, a port of BSD Unix to Intel, has been around almost as long as Linux has – but without the media hype. Its developer and user community recently got a chance to get together for the first time, and they did it in the city where BSD – the Berkeley Software Distribution – was born some 25 years ago.&lt;br&gt;
October 17, 1999 marked a milestone in the history of FreeBSD – the first FreeBSD conference was held in the city where it all began, Berkeley, CA. Over 300 developers, users, and interested parties attended from around the globe.&lt;br&gt;
This was easily 50 percent more people than the conference organizers had expected. This first conference was meant to be a gathering mostly for developers and FreeBSD advocates. The turnout was surprisingly (and gratifyingly) large.&lt;br&gt;
In fact, attendance exceeded expectations so much that, for instance, Kirk McKusick had to add a second, identical tutorial on FreeBSD internals, because it was impossible for everyone to attend the first!&lt;br&gt;
But for a first-ever conference, I was impressed by how smoothly everything seemed to go. Sessions started on time, and the sessions I attended were well-run; nothing seemed to be too cold, dark, loud, late, or off-center.&lt;br&gt;
Of course, the best part about a conference such as this one is the opportunity to meet with other people who share similar interests. Lunches and breaks were a good time to meet people, as was the Tuesday night beer bash.&lt;br&gt;
The Wednesday night reception was of a type unusual for the technical conferences I usually attend – a three-hour Hornblower dinner cruise on San Francisco Bay. Not only did we all enjoy excellent food and company, but we all got to go up on deck and watch the lights of San Francisco and Berkeley as we drifted by. Although it’s nice when a conference attracts thousands of attendees, there are some things that can only be done with smaller groups of people; this was one of them.&lt;br&gt;
In short, this was a tiny conference, but a well-run one.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Sessions&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Although it was a relatively small conference, the number and quality of the sessions belied the size. Each of the three days of the conference featured a different keynote speaker. In addition to Jordan Hubbard, Jeremy Allison spoke on “Samba Futures” on day two, and Brian Behlendorf gave a talk on “FreeBSD and Apache: A Perfect Combo” to start off the third day.&lt;br&gt;
The conference sessions themselves were divided into six tracks: advocacy, business, development, networking, security, and panels. The panels track featured three different panels, made up of three different slices of the community: the FreeBSD core team, a press panel, and a prominent user panel with representatives from such prominent commercial users as Yahoo! and USWest.&lt;br&gt;
I was especially interested in Apple Computer’s talk in the development track. Wilfredo Sanchez, technical lead for open source projects at Apple (no, that’s not an oxymoron!) spoke about Apple’s Darwin project, the company’s operating system road map, and the role of BSD (and, specifically, FreeBSD) in Apple’s plans.&lt;br&gt;
Apple and Unix have had a long and uneasy history, from the Lisa through the A/UX project to today. Personally, I’m very optimistic about the chances for the Darwin project to succeed. Apple’s core OS kernel team has chosen FreeBSD as its reference platform. I’m looking forward to what this partnership will bring to both sides.&lt;br&gt;
Other development track sessions included in-depth tutorials on writing device drivers, basics of the Vinum Volume Manager, Fibre Channel, development models (the open repository model), and the FreeBSD Documentation Project (FDP). If you’re interested in contributing to the FreeBSD project, the FDP is a good place to start.&lt;br&gt;
Advocacy sessions included “How One Person Can Make a Difference” (a timeless topic that would find a home at any technical conference!) and “Starting and Managing A User Group” (trials and tribulations as well as rewards).&lt;br&gt;
The business track featured speakers from three commercial users of FreeBSD: Cybernet, USWest, and Applix. Applix presented its port of Applixware Office for FreeBSD and explained how Applix has taken the core services of Applixware into open source.&lt;br&gt;
Commercial applications and open source were once a rare combination; we can only hope the trend away from that state of affairs will continue.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Commercial use of FreeBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The use of FreeBSD in embedded applications is increasing as well – and it is increasing at the same rate that hardware power is. These days, even inexpensive systems are able to run a BSD kernel.&lt;br&gt;
The BSD license and the solid TCP/IP stack prove significant enticements to this market as well. (Unlike the GNU Public License, the BSD license does not require that vendors make derivative works open source.)&lt;br&gt;
Companies such as USWest and Verio use FreeBSD for a wide variety of different Internet services.&lt;br&gt;
Yahoo! and Hotmail are examples of companies that use FreeBSD extensively for more specific purposes. Yahoo!, for example, has many hundreds of FreeBSD boxes, and Hotmail has almost 2000 FreeBSD machines at its data center in the San Francisco Bay area.&lt;br&gt;
Hotmail is owned by Microsoft, so the fact that it runs FreeBSD is a secret. Don’t tell anyone…&lt;br&gt;
When asked to comment on the increasing commercial interest in BSD, Hubbard said that FreeBSD is learning the Red Hat lesson. “Walnut Creek and others with business interests in FreeBSD have learned a few things from the Red Hat IPO,” he said, “and nobody is just sitting around now, content with business as usual. It’s clearly business as unusual in the open source world today.”&lt;br&gt;
Hubbard had also singled out some of BSD’s commercial partners, such as Whistle Communications, for praise in his opening day keynote. These partners play a key role in moving the project forward, he said, by contributing various enhancements and major new systems, such as Netgraph, as well as by contributing paid employee time spent on FreeBSD.&lt;br&gt;
Even short FreeBSD-related contacts can yield good results, Hubbard said. An example of this is the new jail() security code introduced in FreeBSD 3.x and 4.0, which was contributed by R &amp;amp; D Associates. A number of ISPs are also now donating the hardware and bandwidth that allows the project to provide more resource mirrors and experimental development sites.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See you next year&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;And speaking of corporate sponsors, thanks go to Walnut Creek for sponsoring the conference, and to Yahoo! for covering all the expenses involved in bringing the entire FreeBSD core team to Berkeley.&lt;br&gt;
As a fan of FreeBSD, I’m happy to see that the project has finally produced a conference. It was time: many of the 16 core team members had been working together on a regular basis for nearly seven years without actually meeting face to face.&lt;br&gt;
It’s been an interesting year for open source projects. I’m looking forward to the next year – and the next BSD conference – to be even better.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=153504937925732&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD Recommends: Disable SMT/Hyperthreading in all Intel BIOSes&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Two recently disclosed hardware bugs affected Intel cpus:

     - TLBleed

     - T1TF (the name "Foreshadow" refers to 1 of 3 aspects of this
             bug, more aspects are surely on the way)

Solving these bugs requires new cpu microcode, a coding workaround,
*AND* the disabling of SMT / Hyperthreading.

SMT is fundamentally broken because it shares resources between the two
cpu instances and those shared resources lack security differentiators.
Some of these side channel attacks aren't trivial, but we can expect
most of them to eventually work and leak kernel or cross-VM memory in
common usage circumstances, even such as javascript directly in a
browser.

There will be more hardware bugs and artifacts disclosed.  Due to the
way SMT interacts with speculative execution on Intel cpus, I expect SMT
to exacerbate most of the future problems.

A few months back, I urged people to disable hyperthreading on all
Intel cpus.  I need to repeat that:

    DISABLE HYPERTHREADING ON ALL YOUR INTEL MACHINES IN THE BIOS.

Also, update your BIOS firmware, if you can.

OpenBSD -current (and therefore 6.4) will not use hyperthreading if it
is enabled, and will update the cpu microcode if possible.

But what about 6.2 and 6.3?

The situation is very complex, continually evolving, and is taking too
much manpower away from other tasks.  Furthermore, Intel isn't telling
us what is coming next, and are doing a terrible job by not publically
documenting what operating systems must do to resolve the problems.  We
are having to do research by reading other operating systems.  There is
no time left to backport the changes -- we will not be issuing a
complete set of errata and syspatches against 6.2 and 6.3 because it is
turning into a distraction.

Rather than working on every required patch for 6.2/6.3, we will
re-focus manpower and make sure 6.4 contains the best solutions
possible.

So please try take responsibility for your own machines: Disable SMT in
the BIOS menu, and upgrade your BIOS if you can.

I'm going to spend my money at a more trustworthy vendor in the future.
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://medium.com/@enzuru/get-morrowind-running-on-openbsd-in-5-simple-steps-b65e20f3f0c" target="_blank" rel="nofollow noopener"&gt;Get Morrowind running on OpenBSD in 5 simple steps&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This article contains brief instructions on how to get one of the greatest Western RPGs of all time, The Elder Scrolls III: Morrowind, running on OpenBSD using the OpenMW open source engine recreation. These instructions were tested on a ThinkPad X1 Carbon Gen 3. The information was adapted from this OpenMW forum thread: &lt;a href="https://forum.openmw.org/viewtopic.php?t=3510" target="_blank" rel="nofollow noopener"&gt;https://forum.openmw.org/viewtopic.php?t=3510&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Purchase and download the DRM-free version from GOG (also considered the best version due to the high quality PDF guide that it comes with): &lt;a href="https://www.gog.com/game/the_elder_scrolls_iii_morrowind_goty_edition" target="_blank" rel="nofollow noopener"&gt;https://www.gog.com/game/the_elder_scrolls_iii_morrowind_goty_edition&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Install the required packages built from the ports tree as root. openmw is the recreated game engine, and innoextract is how we will get the game data files out of the win32 executable.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;pkg_add openmw innoextract&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Move the file from GOG setup_tes_morrowind_goty_2.0.0.7.exe into its own directory morrowind/ due to innoextract’s default behaviour of extracting into the current directory. Then type:&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;innoextract setup_tes_morrowind_goty_2.0.0.7.exe&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Type openmw-wizard and follow the straightforward instructions. Note that you have a pre-existing installation, and select the morrowind/app/Data Files folder that innoextract extracted.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Type in openmw-launcher, toggle the settings to your preferences, and then hit play!&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://twitter.com/allanjude/status/1034647571124367360" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/allanjude/status/1034647571124367360&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://euroquis.nl/bobulate/?p=1937" target="_blank" rel="nofollow noopener"&gt;My First Clang Bug&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Part of the role of being a packager is compiling lots (and lots) of packages. That means compiling lots of code from interesting places and in a variety of styles. In my opinion, being a good packager also means providing feedback to upstream when things are bad. That means filing upstream bugs when possible, and upstreaming patches.&lt;br&gt;
One of the “exciting” moments in packaging is when tools change. So each and every major CMake update is an exercise in recompiling 2400 or more packages and adjusting bits and pieces. When a software project was last released in 2013, adjusting it to modern tools can become quite a chore (e.g. Squid Report Generator). CMake is excellent for maintaining backwards compatibility, generally accommodating old software with new policies. The most recent 3.12 release candidate had three issues filed from the FreeBSD side, all from fallout with older software.  I consider the hours put into good bug reports, part of being a good citizen of the Free Software world.&lt;br&gt;
My most interesting bug this week, though, came from one line of code somewhere in Kleopatra: Q_UNUSED(gpgagent_data);&lt;br&gt;
That one line triggered a really peculiar link error in KDE’s FreeBSD CI system. Yup … telling the compiler something is unused made it fall over. Commenting out that line got rid of the link error, but introduced a warning about an unused function. Working with KDE-PIM’s Volker Krause, we whittled the problem down to a six-line example program — two lines if you don’t care much for coding style. I’m glad, at that point, that I could throw it over the hedge to the LLVM team with some explanatory text. Watching the process on their side reminds me ever-so-strongly of how things work in KDE (or FreeBSD for that matter): Bugzilla, Phabricator, and git combine to be an effective workflow for developers (perhaps less so for end-users).&lt;br&gt;
Today I got a note saying that the issue had been resolved. So brief a time for a bug. Live fast. Get squashed young.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=Threadripper-2990WX-DragonFly" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD Now Runs On The Threadripper 2990WX, Developer Shocked At Performance&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Last week I carried out some tests of BSD vs. Linux on the new 32-core / 64-thread Threadripper 2990WX. I tested FreeBSD 11, FreeBSD 12, and TrueOS – those benchmarks will be published in the next few days. I tried DragonFlyBSD, but at the time it wouldn’t boot with this AMD HEDT processor. But now the latest DragonFlyBSD development kernel can handle the 2990WX and the lead DragonFly developer calls this new processor “a real beast” and is stunned by its performance potential.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;When I tried last week, the DragonFlyBSD 5.2.2 stable release nor DragonFlyBSD 5.3 daily snapshot would boot on the 2990WX. But it turns out Matthew Dillon, the lead developer of DragonFlyBSD, picked up a rig and has it running now. So in time for the next 5.4 stable release or those using the daily snapshots can have this 32-core / 64-thread Zen+ CPU running on this operating system long ago forked from FreeBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;In announcing his success in bringing up the 2990WX under DragonFlyBSD, which required a few minor changes, he shared his performance thoughts and hopes for the rig. “The cpu is a real beast, packing 32 cores and 64 threads. It blows away our dual-core Xeon to the tune of being +50% faster in concurrent compile tests, and it also blows away our older 4-socket Opteron (which we call ‘Monster’) by about the same margin. It’s an impressive CPU. For now the new beast is going to be used to help us improve I/O performance through the filesystem, further SMP work (but DFly scales pretty well to 64 threads already), and perhaps some driver to work to support the 10gbe on the mobo.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Dillon shared some results on the system as well. " The Threadripper 2990WX is a beast. It is at &lt;em&gt;least&lt;/em&gt; 50% faster than both the quad socket opteron and the dual socket Xeon system I tested against. The primary limitation for the 2990WX is likely its 4 channels of DDR4 memory, and like all Zen and Zen+ CPUs, memory performance matters more than CPU frequency (and costs almost no power to pump up the performance). That said, it still blow away a dual-socket Xeon with 3x the number of memory channels. That is impressive!"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The well known BSD developer also added, “This puts the 2990WX at par efficiency vs a dual-socket Xeon system, and better than the dual-socket Xeon with slower memory and a power cap. This is VERY impressive. I should note that the 2990WX is more specialized with its asymetric NUMA architecture and 32 cores. I think the sweet spot in terms of CPU pricing and efficiency is likely going to be with the 2950X (16-cores/32-threads). It is clear that the 2990WX (32-cores/64-threads) will max out 4-channel memory bandwidth for many workloads, making it a more specialized part. But still awesome…This thing is an incredible beast, I’m glad I got it.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;While I have the FreeBSD vs. Linux benchmarks from a few days ago, it looks like now on my ever growing TODO list will be re-trying out the newest DragonFlyBSD daily snapshot for seeing how the performance compares in the mix. Stay tuned for the numbers that should be in the next day or two.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180810075449" target="_blank" rel="nofollow noopener"&gt;X11 on really small devices&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180810131231" target="_blank" rel="nofollow noopener"&gt;mandoc-1.14.4 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.netgate.com/blog/pfSense-book-available-to-everyone.html" target="_blank" rel="nofollow noopener"&gt;The pfSense Book is now available to everyone&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/3619" target="_blank" rel="nofollow noopener"&gt;MWL: Burn it down! Burn it all down!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/begriffs/obsd" target="_blank" rel="nofollow noopener"&gt;Configuring OpenBSD: System and user config files for a more pleasant laptop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-18:08.tcp.asc" target="_blank" rel="nofollow noopener"&gt;FreeBSD Security Advisory: Resource exhaustion in TCP reassembly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://discoverbsd.com/p/92d80d1497" target="_blank" rel="nofollow noopener"&gt;OpenBSD Foundation gets first 2018 Iridium donation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=337653" target="_blank" rel="nofollow noopener"&gt;New ZFS commit solves issue a few users reported in the feedback segment&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/TridentProject/status/1034620476553867264" target="_blank" rel="nofollow noopener"&gt;Project Trident should have a beta release by the end of next week&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/BSD-Users-Stockholm/events/253447019/" target="_blank" rel="nofollow noopener"&gt;Reminder about Stockholm BUG: September 5, 17:30-22:00&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener"&gt;BSD-PL User Group: September 13, 18:30-21:00&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Malcom - &lt;a href="http://dpaste.com/15VVVCP" target="_blank" rel="nofollow noopener"&gt;Having different routes per interface&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Bostjan - &lt;a href="http://dpaste.com/1Q14C6H#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS and integrity of data&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Michael - &lt;a href="http://dpaste.com/2JD17BP#wrap" target="_blank" rel="nofollow noopener"&gt;Suggestion for Monitoring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Barry - &lt;a href="http://dpaste.com/2GJ3RMG#wrap" target="_blank" rel="nofollow noopener"&gt;Feedback&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, Hyperthreading, TLBleed, T1TF, Foreshadow, pf-badhost, Threadripper, X11</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Insight into TrueOS and Trident, stop evildoers with pf-badhost, Flashback to FreeBSDcon ‘99, OpenBSD’s measures against TLBleed, play Morrowind on OpenBSD in 5 steps, DragonflyBSD developers shocked at Threadripper performance, and more.</p>

<p>##Headlines<br>
###<a href="https://itsfoss.com/project-trident-interview/" target="_blank" rel="nofollow noopener">An Insight into the Future of TrueOS BSD and Project Trident</a></p>

<blockquote>
<p>Last month, TrueOS announced that they would be spinning off their desktop offering. The team behind the new project, named Project Trident, have been working furiously towards their first release. They did take a few minutes to answer some of our question about Project Trident and TrueOS. I would like to thank JT and Ken for taking the time to compile these answers.</p>
</blockquote>

<ul>
<li>It’s FOSS: What is Project Trident?</li>
</ul>

<blockquote>
<p>Project Trident: Project Trident is the continuation of the TrueOS Desktop. Essentially, it is the continuation of the primary “TrueOS software” that people have been using for the past 2 years. The continuing evolution of the entire TrueOS project has reached a stage where it became necessary to reorganize the project. To understand this change, it is important to know the history of the TrueOS project.</p>
</blockquote>

<blockquote>
<p>Originally, Kris Moore created PC-BSD. This was a Desktop release of FreeBSD focused on providing a simple and user-friendly graphical experience for FreeBSD. PC-BSD grew and matured over many years. During the evolution of PC-BSD, many users began asking for a server focused version of the software. Kris agreed, and TrueOS was born as a scaled down server version of PC-BSD. In late 2016, more contributors and growth resulted in significant changes to the PC-BSD codebase. Because the new development was so markedly different from the original PC-BSD design, it was decided to rebrand the project.</p>
</blockquote>

<blockquote>
<p>TrueOS was chosen as the name for this new direction for PC-BSD as the project had grown beyond providing only a graphical front to FreeBSD and was beginning to make fundamental changes to the FreeBSD operating system. One of these changes was moving PC-BSD from being based on each FreeBSD Release to TrueOS being based on the active and less outdated FreeBSD Current. Other major changes are using OpenRC for service management and being more aggressive about addressing long-standing issues with the FreeBSD release process. TrueOS moved toward a rolling release cycle, twice a year, which tested and merged FreeBSD changes directly from the developer instead of waiting months or even years for the FreeBSD review process to finish. TrueOS also deprecated and removed obsolete technology much more regularly.</p>
</blockquote>

<blockquote>
<p>As the TrueOS Project grew, the developers found these changes were needed by other FreeBSD-based projects. These projects began expressing interest in using TrueOS rather than FreeBSD as the base for their project. This demonstrated that TrueOS needed to again evolve into a distribution framework for any BSD project to use. This allows port maintainers and source developers from any BSD project to pool their resources and use the same source repositories while allowing every distribution to still customize, build, and release their own self-contained project. The result is a natural split of the traditional TrueOS team. There were now naturally two teams in the TrueOS project: those working on the build infrastructure and FreeBSD enhancements – the “core” part of the project, and those working on end-user experience and utility – the “desktop” part of the project.</p>
</blockquote>

<blockquote>
<p>When the decision was made to formally split the projects, the obvious question that arose was what to call the “Desktop” project. As TrueOS was already positioned to be a BSD distribution platform, the developers agreed the desktop side should pick a new name. There were other considerations too, one notable being that we were concerned that if we continued to call the desktop project “TrueOS Desktop”, it would prevent people from considering TrueOS as the basis for their distribution because of misconceptions that TrueOS was a desktop-focused OS. It also helps to “level the playing field” for other desktop distributions like GhostBSD so that TrueOS is not viewed as having a single “blessed” desktop version.</p>
</blockquote>

<ul>
<li>It’s FOSS: What features will TrueOS add to the FreeBSD base?</li>
</ul>

<blockquote>
<p>Project Trident: TrueOS has already added a number of features to FreeBSD:<br>
OpenRC replaces rc.d for service management<br>
LibreSSL in base<br>
Root NSS certificates out-of-box<br>
Scriptable installations (pc-sysinstall)<br>
The full list of changes can be seen on the TrueOS repository (<a href="https://github.com/trueos/trueos/blob/trueos-master/README.md" target="_blank" rel="nofollow noopener">https://github.com/trueos/trueos/blob/trueos-master/README.md</a>). This list does change quite regularly as FreeBSD development itself changes.</p>
</blockquote>

<ul>
<li>It’s FOSS: I understand that TrueOS will have a new feature that will make creating a desktop spin of TrueOS very easy. Could you explain that new feature?</li>
</ul>

<blockquote>
<p>Project Trident: Historically, one of the biggest hurdles for creating a desktop version of FreeBSD is that the build options for packages are tuned for servers rather than desktops. This means a desktop distribution cannot use the pre-built packages from FreeBSD and must build, use, and maintain a custom package repository. Maintaining a fork of the FreeBSD ports tree is no trivial task. TrueOS has created a full distribution framework so now all it takes to create a custom build of FreeBSD is a single JSON manifest file. There is now a single “source of truth” for the source and ports repositories that is maintained by the TrueOS team and regularly tagged with “stable” build markers. All projects can use this framework, which makes updates trivial.</p>
</blockquote>

<ul>
<li>It’s FOSS: Do you think that the new focus of TrueOS will lead to the creation of more desktop-centered BSDs?</li>
</ul>

<blockquote>
<p>Project Trident: That is the hope. Historically, creating a desktop-centered BSD has required a lot of specialized knowledge. Not only do most people not have this knowledge, but many do not even know what they need to learn until they start troubleshooting. TrueOS is trying to drastically simplify this process to enable the wider Open Source community to experiment, contribute, and enjoy BSD-based projects.</p>
</blockquote>

<ul>
<li>It’s FOSS: What is going to happen to TrueOS Pico? Will Project Trident have ARM support?</li>
</ul>

<blockquote>
<p>Project Trident: Project Trident will be dependent on TrueOS for ARM support. The developers have talked about the possibility of supporting ARM64 and RISC-V architectures, but it is not possible at the current time. If more Open Source contributors want to help develop ARM and RISC-V support, the TrueOS project is definitely willing to help test and integrate that code.</p>
</blockquote>

<ul>
<li>It’s FOSS: What does this change (splitting Trus OS into Project Trident) mean for the Lumina desktop environment?</li>
</ul>

<blockquote>
<p>Project Trident: Long-term, almost nothing. Lumina is still the desktop environment for Project Trident and will continue to be developed and enhanced alongside Project Trident just as it was for TrueOS. Short-term, we will be delaying the release of Lumina 2.0 and will release an updated version of the 1.x branch (1.5.0) instead. This is simply due to all the extra overhead to get Project Trident up and running. When things settle down into a rhythm, the development of Lumina will pick up once again.</p>
</blockquote>

<ul>
<li>It’s FOSS: Are you planning on including any desktop environments besides Lumina?</li>
</ul>

<blockquote>
<p>Project Trident: While Lumina is included by default, all of the other popular desktop environments will be available in the package repo exactly as they had been before.</p>
</blockquote>

<ul>
<li>It’s FOSS: Any plans to include Steam to increase the userbase?</li>
</ul>

<blockquote>
<p>Project Trident: Steam is still unavailable natively on FreeBSD, so we do not have any plans to ship it out of the box currently. In the meantime, we highly recommend installing the Windows version of Steam through the PlayOnBSD utility.</p>
</blockquote>

<ul>
<li>It’s FOSS: What will happen to the AppCafe?</li>
</ul>

<blockquote>
<p>Project Trident: The AppCafe is the name of the graphical interface for the “pkg” utility integrated into the SysAdm client created by TrueOS. This hasn’t changed. SysAdm, the graphical client, and by extension AppCafe are still available for all TrueOS-based distributions to use.</p>
</blockquote>

<ul>
<li>It’s FOSS: Does Project Trident have any corporate sponsors lined up? If not, would you be open to it or would you prefer that it be community supported?</li>
</ul>

<blockquote>
<p>Project Trident: iXsystems is the first corporate sponsor of Project Trident and we are always open to other sponsorships as well. We would prefer smaller individual contributions from the community, but we understand that larger project needs or special-purpose goals are much more difficult to achieve without allowing larger corporate sponsorships as well. In either case, Project Trident is always looking out for the best interests of the community and will not allow intrusive or harmful code to enter the project even if a company or individual tries to make that code part of a sponsorship deal.</p>
</blockquote>

<ul>
<li>It’s FOSS: BSD always seems to be lagging in terms of support for newer devices. Will TrueOS be able to remedy that with a quicker release cycle?</li>
</ul>

<blockquote>
<p>Project Trident: Yes! That was a primary reason for TrueOS to start tracking the CURRENT branch of FreeBSD in 2016. This allows for the changes that FreeBSD developers are making, including new hardware support, to be available much sooner than if we followed the FreeBSD release cycle.</p>
</blockquote>

<ul>
<li>It’s FOSS: Do you have any idea when Project Trident will have its first release?</li>
</ul>

<blockquote>
<p>Project Trident: Right now we are targeting a late August release date. This is because Project Trident is “kicking the wheels” on the new TrueOS distribution system. We want to ensure everything is working smoothly before we release. Going forward, we plan on having regular package updates every week or two for the end-user packages and a new release of Trident with an updated OS version every 6 months. This will follow the TrueOS release schedule with a small time offset.</p>
</blockquote>

<hr>

<p>###<a href="https://www.geoghegan.ca/pfbadhost.html" target="_blank" rel="nofollow noopener">pf-badhost: Stop the evil doers in their tracks!</a></p>

<blockquote>
<p>pf-badhost is a simple, easy to use badhost blocker that uses the power of the pf firewall to block many of the internet’s biggest irritants. Annoyances such as ssh bruteforcers are largely eliminated. Shodan scans and bots looking for webservers to abuse are stopped dead in their tracks. When used to filter outbound traffic, pf-badhost blocks many seedy, spooky malware containing and/or compromised webhosts.<br>
Filtering performance is exceptional, as the badhost list is stored in a pf table. To quote the OpenBSD FAQ page regarding tables: “the lookup time on a table holding 50,000 addresses is only slightly more than for one holding 50 addresses.”<br>
pf-badhost is simple and powerful. The blocklists are pulled from quality, trusted sources. The ‘Firehol’, ‘Emerging Threats’ and ‘Binary Defense’ block lists are used as they are popular, regularly updated lists of the internet’s most egregious offenders. The <a href="http://pf-badhost.sh" target="_blank" rel="nofollow noopener">pf-badhost.sh</a> script can easily be expanded to use additional or alternate blocklists.<br>
pf-badhost works best when used in conjunction with unbound-adblock for the ultimate badhost blocking.</p>
</blockquote>

<ul>
<li>Notes:</li>
<li>If you are trying to run pf-badhost on a LAN or are using NAT, you will want to add a rule to your pf.conf appearing BEFORE the pf-badhost rules allowing traffic to and from your local subnet so that you can still access your gateway and any DNS servers.</li>
<li>Conversely, adding a line to <a href="http://pf-badhost.sh" target="_blank" rel="nofollow noopener">pf-badhost.sh</a> that removes your subnet range from the &lt;pfbadhost&gt; table should also work. Just make sure you choose a subnet range / CIDR block that is actually in the list. 192.168.0.0/16, 172.16.0.0/12 and 10.0.0.0/8 are the most common home/office subnet ranges.</li>
</ul>

<hr>

<p><strong>DigitalOcean</strong><br>
<a href="https://do.co/bsdnow" target="_blank" rel="nofollow noopener">https://do.co/bsdnow</a></p>

<p>###<a href="http://edition.cnn.com/TECH/computing/9911/01/freebsd.con99.idg/" target="_blank" rel="nofollow noopener">FLASHBACK: FreeBSDCon’99: Fans of Linux’s lesser-known sibling gather for the first time</a></p>

<blockquote>
<p>FreeBSD, a port of BSD Unix to Intel, has been around almost as long as Linux has – but without the media hype. Its developer and user community recently got a chance to get together for the first time, and they did it in the city where BSD – the Berkeley Software Distribution – was born some 25 years ago.<br>
October 17, 1999 marked a milestone in the history of FreeBSD – the first FreeBSD conference was held in the city where it all began, Berkeley, CA. Over 300 developers, users, and interested parties attended from around the globe.<br>
This was easily 50 percent more people than the conference organizers had expected. This first conference was meant to be a gathering mostly for developers and FreeBSD advocates. The turnout was surprisingly (and gratifyingly) large.<br>
In fact, attendance exceeded expectations so much that, for instance, Kirk McKusick had to add a second, identical tutorial on FreeBSD internals, because it was impossible for everyone to attend the first!<br>
But for a first-ever conference, I was impressed by how smoothly everything seemed to go. Sessions started on time, and the sessions I attended were well-run; nothing seemed to be too cold, dark, loud, late, or off-center.<br>
Of course, the best part about a conference such as this one is the opportunity to meet with other people who share similar interests. Lunches and breaks were a good time to meet people, as was the Tuesday night beer bash.<br>
The Wednesday night reception was of a type unusual for the technical conferences I usually attend – a three-hour Hornblower dinner cruise on San Francisco Bay. Not only did we all enjoy excellent food and company, but we all got to go up on deck and watch the lights of San Francisco and Berkeley as we drifted by. Although it’s nice when a conference attracts thousands of attendees, there are some things that can only be done with smaller groups of people; this was one of them.<br>
In short, this was a tiny conference, but a well-run one.</p>
</blockquote>

<ul>
<li>Sessions</li>
</ul>

<blockquote>
<p>Although it was a relatively small conference, the number and quality of the sessions belied the size. Each of the three days of the conference featured a different keynote speaker. In addition to Jordan Hubbard, Jeremy Allison spoke on “Samba Futures” on day two, and Brian Behlendorf gave a talk on “FreeBSD and Apache: A Perfect Combo” to start off the third day.<br>
The conference sessions themselves were divided into six tracks: advocacy, business, development, networking, security, and panels. The panels track featured three different panels, made up of three different slices of the community: the FreeBSD core team, a press panel, and a prominent user panel with representatives from such prominent commercial users as Yahoo! and USWest.<br>
I was especially interested in Apple Computer’s talk in the development track. Wilfredo Sanchez, technical lead for open source projects at Apple (no, that’s not an oxymoron!) spoke about Apple’s Darwin project, the company’s operating system road map, and the role of BSD (and, specifically, FreeBSD) in Apple’s plans.<br>
Apple and Unix have had a long and uneasy history, from the Lisa through the A/UX project to today. Personally, I’m very optimistic about the chances for the Darwin project to succeed. Apple’s core OS kernel team has chosen FreeBSD as its reference platform. I’m looking forward to what this partnership will bring to both sides.<br>
Other development track sessions included in-depth tutorials on writing device drivers, basics of the Vinum Volume Manager, Fibre Channel, development models (the open repository model), and the FreeBSD Documentation Project (FDP). If you’re interested in contributing to the FreeBSD project, the FDP is a good place to start.<br>
Advocacy sessions included “How One Person Can Make a Difference” (a timeless topic that would find a home at any technical conference!) and “Starting and Managing A User Group” (trials and tribulations as well as rewards).<br>
The business track featured speakers from three commercial users of FreeBSD: Cybernet, USWest, and Applix. Applix presented its port of Applixware Office for FreeBSD and explained how Applix has taken the core services of Applixware into open source.<br>
Commercial applications and open source were once a rare combination; we can only hope the trend away from that state of affairs will continue.</p>
</blockquote>

<ul>
<li>Commercial use of FreeBSD</li>
</ul>

<blockquote>
<p>The use of FreeBSD in embedded applications is increasing as well – and it is increasing at the same rate that hardware power is. These days, even inexpensive systems are able to run a BSD kernel.<br>
The BSD license and the solid TCP/IP stack prove significant enticements to this market as well. (Unlike the GNU Public License, the BSD license does not require that vendors make derivative works open source.)<br>
Companies such as USWest and Verio use FreeBSD for a wide variety of different Internet services.<br>
Yahoo! and Hotmail are examples of companies that use FreeBSD extensively for more specific purposes. Yahoo!, for example, has many hundreds of FreeBSD boxes, and Hotmail has almost 2000 FreeBSD machines at its data center in the San Francisco Bay area.<br>
Hotmail is owned by Microsoft, so the fact that it runs FreeBSD is a secret. Don’t tell anyone…<br>
When asked to comment on the increasing commercial interest in BSD, Hubbard said that FreeBSD is learning the Red Hat lesson. “Walnut Creek and others with business interests in FreeBSD have learned a few things from the Red Hat IPO,” he said, “and nobody is just sitting around now, content with business as usual. It’s clearly business as unusual in the open source world today.”<br>
Hubbard had also singled out some of BSD’s commercial partners, such as Whistle Communications, for praise in his opening day keynote. These partners play a key role in moving the project forward, he said, by contributing various enhancements and major new systems, such as Netgraph, as well as by contributing paid employee time spent on FreeBSD.<br>
Even short FreeBSD-related contacts can yield good results, Hubbard said. An example of this is the new jail() security code introduced in FreeBSD 3.x and 4.0, which was contributed by R &amp; D Associates. A number of ISPs are also now donating the hardware and bandwidth that allows the project to provide more resource mirrors and experimental development sites.</p>
</blockquote>

<ul>
<li>See you next year</li>
</ul>

<blockquote>
<p>And speaking of corporate sponsors, thanks go to Walnut Creek for sponsoring the conference, and to Yahoo! for covering all the expenses involved in bringing the entire FreeBSD core team to Berkeley.<br>
As a fan of FreeBSD, I’m happy to see that the project has finally produced a conference. It was time: many of the 16 core team members had been working together on a regular basis for nearly seven years without actually meeting face to face.<br>
It’s been an interesting year for open source projects. I’m looking forward to the next year – and the next BSD conference – to be even better.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://marc.info/?l=openbsd-tech&amp;m=153504937925732&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD Recommends: Disable SMT/Hyperthreading in all Intel BIOSes</a></p>

<pre><code>Two recently disclosed hardware bugs affected Intel cpus:

     - TLBleed

     - T1TF (the name "Foreshadow" refers to 1 of 3 aspects of this
             bug, more aspects are surely on the way)

Solving these bugs requires new cpu microcode, a coding workaround,
*AND* the disabling of SMT / Hyperthreading.

SMT is fundamentally broken because it shares resources between the two
cpu instances and those shared resources lack security differentiators.
Some of these side channel attacks aren't trivial, but we can expect
most of them to eventually work and leak kernel or cross-VM memory in
common usage circumstances, even such as javascript directly in a
browser.

There will be more hardware bugs and artifacts disclosed.  Due to the
way SMT interacts with speculative execution on Intel cpus, I expect SMT
to exacerbate most of the future problems.

A few months back, I urged people to disable hyperthreading on all
Intel cpus.  I need to repeat that:

    DISABLE HYPERTHREADING ON ALL YOUR INTEL MACHINES IN THE BIOS.

Also, update your BIOS firmware, if you can.

OpenBSD -current (and therefore 6.4) will not use hyperthreading if it
is enabled, and will update the cpu microcode if possible.

But what about 6.2 and 6.3?

The situation is very complex, continually evolving, and is taking too
much manpower away from other tasks.  Furthermore, Intel isn't telling
us what is coming next, and are doing a terrible job by not publically
documenting what operating systems must do to resolve the problems.  We
are having to do research by reading other operating systems.  There is
no time left to backport the changes -- we will not be issuing a
complete set of errata and syspatches against 6.2 and 6.3 because it is
turning into a distraction.

Rather than working on every required patch for 6.2/6.3, we will
re-focus manpower and make sure 6.4 contains the best solutions
possible.

So please try take responsibility for your own machines: Disable SMT in
the BIOS menu, and upgrade your BIOS if you can.

I'm going to spend my money at a more trustworthy vendor in the future.
</code></pre>

<hr>

<p>###<a href="https://medium.com/@enzuru/get-morrowind-running-on-openbsd-in-5-simple-steps-b65e20f3f0c" target="_blank" rel="nofollow noopener">Get Morrowind running on OpenBSD in 5 simple steps</a></p>

<blockquote>
<p>This article contains brief instructions on how to get one of the greatest Western RPGs of all time, The Elder Scrolls III: Morrowind, running on OpenBSD using the OpenMW open source engine recreation. These instructions were tested on a ThinkPad X1 Carbon Gen 3. The information was adapted from this OpenMW forum thread: <a href="https://forum.openmw.org/viewtopic.php?t=3510" target="_blank" rel="nofollow noopener">https://forum.openmw.org/viewtopic.php?t=3510</a></p>
</blockquote>

<ul>
<li>
<ol>
<li>Purchase and download the DRM-free version from GOG (also considered the best version due to the high quality PDF guide that it comes with): <a href="https://www.gog.com/game/the_elder_scrolls_iii_morrowind_goty_edition" target="_blank" rel="nofollow noopener">https://www.gog.com/game/the_elder_scrolls_iii_morrowind_goty_edition</a></li>
</ol>
</li>
<li>
<ol>
<li>Install the required packages built from the ports tree as root. openmw is the recreated game engine, and innoextract is how we will get the game data files out of the win32 executable.</li>
</ol>
</li>
</ul>

<p><code>pkg_add openmw innoextract</code></p>

<ul>
<li>
<ol>
<li>Move the file from GOG setup_tes_morrowind_goty_2.0.0.7.exe into its own directory morrowind/ due to innoextract’s default behaviour of extracting into the current directory. Then type:</li>
</ol>
</li>
</ul>

<p><code>innoextract setup_tes_morrowind_goty_2.0.0.7.exe</code></p>

<ul>
<li>
<ol>
<li>Type openmw-wizard and follow the straightforward instructions. Note that you have a pre-existing installation, and select the morrowind/app/Data Files folder that innoextract extracted.</li>
</ol>
</li>
<li>
<ol>
<li>Type in openmw-launcher, toggle the settings to your preferences, and then hit play!</li>
</ol>
</li>
</ul>

<hr>

<p><strong>iXsystems</strong><br>
<a href="https://twitter.com/allanjude/status/1034647571124367360" target="_blank" rel="nofollow noopener">https://twitter.com/allanjude/status/1034647571124367360</a></p>

<p>###<a href="https://euroquis.nl/bobulate/?p=1937" target="_blank" rel="nofollow noopener">My First Clang Bug</a></p>

<blockquote>
<p>Part of the role of being a packager is compiling lots (and lots) of packages. That means compiling lots of code from interesting places and in a variety of styles. In my opinion, being a good packager also means providing feedback to upstream when things are bad. That means filing upstream bugs when possible, and upstreaming patches.<br>
One of the “exciting” moments in packaging is when tools change. So each and every major CMake update is an exercise in recompiling 2400 or more packages and adjusting bits and pieces. When a software project was last released in 2013, adjusting it to modern tools can become quite a chore (e.g. Squid Report Generator). CMake is excellent for maintaining backwards compatibility, generally accommodating old software with new policies. The most recent 3.12 release candidate had three issues filed from the FreeBSD side, all from fallout with older software.  I consider the hours put into good bug reports, part of being a good citizen of the Free Software world.<br>
My most interesting bug this week, though, came from one line of code somewhere in Kleopatra: Q_UNUSED(gpgagent_data);<br>
That one line triggered a really peculiar link error in KDE’s FreeBSD CI system. Yup … telling the compiler something is unused made it fall over. Commenting out that line got rid of the link error, but introduced a warning about an unused function. Working with KDE-PIM’s Volker Krause, we whittled the problem down to a six-line example program — two lines if you don’t care much for coding style. I’m glad, at that point, that I could throw it over the hedge to the LLVM team with some explanatory text. Watching the process on their side reminds me ever-so-strongly of how things work in KDE (or FreeBSD for that matter): Bugzilla, Phabricator, and git combine to be an effective workflow for developers (perhaps less so for end-users).<br>
Today I got a note saying that the issue had been resolved. So brief a time for a bug. Live fast. Get squashed young.</p>
</blockquote>

<hr>

<p>###<a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=Threadripper-2990WX-DragonFly" target="_blank" rel="nofollow noopener">DragonFlyBSD Now Runs On The Threadripper 2990WX, Developer Shocked At Performance</a></p>

<blockquote>
<p>Last week I carried out some tests of BSD vs. Linux on the new 32-core / 64-thread Threadripper 2990WX. I tested FreeBSD 11, FreeBSD 12, and TrueOS – those benchmarks will be published in the next few days. I tried DragonFlyBSD, but at the time it wouldn’t boot with this AMD HEDT processor. But now the latest DragonFlyBSD development kernel can handle the 2990WX and the lead DragonFly developer calls this new processor “a real beast” and is stunned by its performance potential.</p>
</blockquote>

<blockquote>
<p>When I tried last week, the DragonFlyBSD 5.2.2 stable release nor DragonFlyBSD 5.3 daily snapshot would boot on the 2990WX. But it turns out Matthew Dillon, the lead developer of DragonFlyBSD, picked up a rig and has it running now. So in time for the next 5.4 stable release or those using the daily snapshots can have this 32-core / 64-thread Zen+ CPU running on this operating system long ago forked from FreeBSD.</p>
</blockquote>

<blockquote>
<p>In announcing his success in bringing up the 2990WX under DragonFlyBSD, which required a few minor changes, he shared his performance thoughts and hopes for the rig. “The cpu is a real beast, packing 32 cores and 64 threads. It blows away our dual-core Xeon to the tune of being +50% faster in concurrent compile tests, and it also blows away our older 4-socket Opteron (which we call ‘Monster’) by about the same margin. It’s an impressive CPU. For now the new beast is going to be used to help us improve I/O performance through the filesystem, further SMP work (but DFly scales pretty well to 64 threads already), and perhaps some driver to work to support the 10gbe on the mobo.”</p>
</blockquote>

<blockquote>
<p>Dillon shared some results on the system as well. " The Threadripper 2990WX is a beast. It is at <em>least</em> 50% faster than both the quad socket opteron and the dual socket Xeon system I tested against. The primary limitation for the 2990WX is likely its 4 channels of DDR4 memory, and like all Zen and Zen+ CPUs, memory performance matters more than CPU frequency (and costs almost no power to pump up the performance). That said, it still blow away a dual-socket Xeon with 3x the number of memory channels. That is impressive!"</p>
</blockquote>

<blockquote>
<p>The well known BSD developer also added, “This puts the 2990WX at par efficiency vs a dual-socket Xeon system, and better than the dual-socket Xeon with slower memory and a power cap. This is VERY impressive. I should note that the 2990WX is more specialized with its asymetric NUMA architecture and 32 cores. I think the sweet spot in terms of CPU pricing and efficiency is likely going to be with the 2950X (16-cores/32-threads). It is clear that the 2990WX (32-cores/64-threads) will max out 4-channel memory bandwidth for many workloads, making it a more specialized part. But still awesome…This thing is an incredible beast, I’m glad I got it.”</p>
</blockquote>

<blockquote>
<p>While I have the FreeBSD vs. Linux benchmarks from a few days ago, it looks like now on my ever growing TODO list will be re-trying out the newest DragonFlyBSD daily snapshot for seeing how the performance compares in the mix. Stay tuned for the numbers that should be in the next day or two.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180810075449" target="_blank" rel="nofollow noopener">X11 on really small devices</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180810131231" target="_blank" rel="nofollow noopener">mandoc-1.14.4 released</a></li>
<li><a href="https://www.netgate.com/blog/pfSense-book-available-to-everyone.html" target="_blank" rel="nofollow noopener">The pfSense Book is now available to everyone</a></li>
<li><a href="https://mwl.io/archives/3619" target="_blank" rel="nofollow noopener">MWL: Burn it down! Burn it all down!</a></li>
<li><a href="https://github.com/begriffs/obsd" target="_blank" rel="nofollow noopener">Configuring OpenBSD: System and user config files for a more pleasant laptop</a></li>
<li><a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-18:08.tcp.asc" target="_blank" rel="nofollow noopener">FreeBSD Security Advisory: Resource exhaustion in TCP reassembly</a></li>
<li><a href="https://discoverbsd.com/p/92d80d1497" target="_blank" rel="nofollow noopener">OpenBSD Foundation gets first 2018 Iridium donation</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=337653" target="_blank" rel="nofollow noopener">New ZFS commit solves issue a few users reported in the feedback segment</a></li>
<li><a href="https://twitter.com/TridentProject/status/1034620476553867264" target="_blank" rel="nofollow noopener">Project Trident should have a beta release by the end of next week</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/253447019/" target="_blank" rel="nofollow noopener">Reminder about Stockholm BUG: September 5, 17:30-22:00</a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">BSD-PL User Group: September 13, 18:30-21:00</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>Malcom - <a href="http://dpaste.com/15VVVCP" target="_blank" rel="nofollow noopener">Having different routes per interface</a></li>
<li>Bostjan - <a href="http://dpaste.com/1Q14C6H#wrap" target="_blank" rel="nofollow noopener">ZFS and integrity of data</a></li>
<li>Michael - <a href="http://dpaste.com/2JD17BP#wrap" target="_blank" rel="nofollow noopener">Suggestion for Monitoring</a></li>
<li>Barry - <a href="http://dpaste.com/2GJ3RMG#wrap" target="_blank" rel="nofollow noopener">Feedback</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Insight into TrueOS and Trident, stop evildoers with pf-badhost, Flashback to FreeBSDcon ‘99, OpenBSD’s measures against TLBleed, play Morrowind on OpenBSD in 5 steps, DragonflyBSD developers shocked at Threadripper performance, and more.</p>

<p>##Headlines<br>
###<a href="https://itsfoss.com/project-trident-interview/" target="_blank" rel="nofollow noopener">An Insight into the Future of TrueOS BSD and Project Trident</a></p>

<blockquote>
<p>Last month, TrueOS announced that they would be spinning off their desktop offering. The team behind the new project, named Project Trident, have been working furiously towards their first release. They did take a few minutes to answer some of our question about Project Trident and TrueOS. I would like to thank JT and Ken for taking the time to compile these answers.</p>
</blockquote>

<ul>
<li>It’s FOSS: What is Project Trident?</li>
</ul>

<blockquote>
<p>Project Trident: Project Trident is the continuation of the TrueOS Desktop. Essentially, it is the continuation of the primary “TrueOS software” that people have been using for the past 2 years. The continuing evolution of the entire TrueOS project has reached a stage where it became necessary to reorganize the project. To understand this change, it is important to know the history of the TrueOS project.</p>
</blockquote>

<blockquote>
<p>Originally, Kris Moore created PC-BSD. This was a Desktop release of FreeBSD focused on providing a simple and user-friendly graphical experience for FreeBSD. PC-BSD grew and matured over many years. During the evolution of PC-BSD, many users began asking for a server focused version of the software. Kris agreed, and TrueOS was born as a scaled down server version of PC-BSD. In late 2016, more contributors and growth resulted in significant changes to the PC-BSD codebase. Because the new development was so markedly different from the original PC-BSD design, it was decided to rebrand the project.</p>
</blockquote>

<blockquote>
<p>TrueOS was chosen as the name for this new direction for PC-BSD as the project had grown beyond providing only a graphical front to FreeBSD and was beginning to make fundamental changes to the FreeBSD operating system. One of these changes was moving PC-BSD from being based on each FreeBSD Release to TrueOS being based on the active and less outdated FreeBSD Current. Other major changes are using OpenRC for service management and being more aggressive about addressing long-standing issues with the FreeBSD release process. TrueOS moved toward a rolling release cycle, twice a year, which tested and merged FreeBSD changes directly from the developer instead of waiting months or even years for the FreeBSD review process to finish. TrueOS also deprecated and removed obsolete technology much more regularly.</p>
</blockquote>

<blockquote>
<p>As the TrueOS Project grew, the developers found these changes were needed by other FreeBSD-based projects. These projects began expressing interest in using TrueOS rather than FreeBSD as the base for their project. This demonstrated that TrueOS needed to again evolve into a distribution framework for any BSD project to use. This allows port maintainers and source developers from any BSD project to pool their resources and use the same source repositories while allowing every distribution to still customize, build, and release their own self-contained project. The result is a natural split of the traditional TrueOS team. There were now naturally two teams in the TrueOS project: those working on the build infrastructure and FreeBSD enhancements – the “core” part of the project, and those working on end-user experience and utility – the “desktop” part of the project.</p>
</blockquote>

<blockquote>
<p>When the decision was made to formally split the projects, the obvious question that arose was what to call the “Desktop” project. As TrueOS was already positioned to be a BSD distribution platform, the developers agreed the desktop side should pick a new name. There were other considerations too, one notable being that we were concerned that if we continued to call the desktop project “TrueOS Desktop”, it would prevent people from considering TrueOS as the basis for their distribution because of misconceptions that TrueOS was a desktop-focused OS. It also helps to “level the playing field” for other desktop distributions like GhostBSD so that TrueOS is not viewed as having a single “blessed” desktop version.</p>
</blockquote>

<ul>
<li>It’s FOSS: What features will TrueOS add to the FreeBSD base?</li>
</ul>

<blockquote>
<p>Project Trident: TrueOS has already added a number of features to FreeBSD:<br>
OpenRC replaces rc.d for service management<br>
LibreSSL in base<br>
Root NSS certificates out-of-box<br>
Scriptable installations (pc-sysinstall)<br>
The full list of changes can be seen on the TrueOS repository (<a href="https://github.com/trueos/trueos/blob/trueos-master/README.md" target="_blank" rel="nofollow noopener">https://github.com/trueos/trueos/blob/trueos-master/README.md</a>). This list does change quite regularly as FreeBSD development itself changes.</p>
</blockquote>

<ul>
<li>It’s FOSS: I understand that TrueOS will have a new feature that will make creating a desktop spin of TrueOS very easy. Could you explain that new feature?</li>
</ul>

<blockquote>
<p>Project Trident: Historically, one of the biggest hurdles for creating a desktop version of FreeBSD is that the build options for packages are tuned for servers rather than desktops. This means a desktop distribution cannot use the pre-built packages from FreeBSD and must build, use, and maintain a custom package repository. Maintaining a fork of the FreeBSD ports tree is no trivial task. TrueOS has created a full distribution framework so now all it takes to create a custom build of FreeBSD is a single JSON manifest file. There is now a single “source of truth” for the source and ports repositories that is maintained by the TrueOS team and regularly tagged with “stable” build markers. All projects can use this framework, which makes updates trivial.</p>
</blockquote>

<ul>
<li>It’s FOSS: Do you think that the new focus of TrueOS will lead to the creation of more desktop-centered BSDs?</li>
</ul>

<blockquote>
<p>Project Trident: That is the hope. Historically, creating a desktop-centered BSD has required a lot of specialized knowledge. Not only do most people not have this knowledge, but many do not even know what they need to learn until they start troubleshooting. TrueOS is trying to drastically simplify this process to enable the wider Open Source community to experiment, contribute, and enjoy BSD-based projects.</p>
</blockquote>

<ul>
<li>It’s FOSS: What is going to happen to TrueOS Pico? Will Project Trident have ARM support?</li>
</ul>

<blockquote>
<p>Project Trident: Project Trident will be dependent on TrueOS for ARM support. The developers have talked about the possibility of supporting ARM64 and RISC-V architectures, but it is not possible at the current time. If more Open Source contributors want to help develop ARM and RISC-V support, the TrueOS project is definitely willing to help test and integrate that code.</p>
</blockquote>

<ul>
<li>It’s FOSS: What does this change (splitting Trus OS into Project Trident) mean for the Lumina desktop environment?</li>
</ul>

<blockquote>
<p>Project Trident: Long-term, almost nothing. Lumina is still the desktop environment for Project Trident and will continue to be developed and enhanced alongside Project Trident just as it was for TrueOS. Short-term, we will be delaying the release of Lumina 2.0 and will release an updated version of the 1.x branch (1.5.0) instead. This is simply due to all the extra overhead to get Project Trident up and running. When things settle down into a rhythm, the development of Lumina will pick up once again.</p>
</blockquote>

<ul>
<li>It’s FOSS: Are you planning on including any desktop environments besides Lumina?</li>
</ul>

<blockquote>
<p>Project Trident: While Lumina is included by default, all of the other popular desktop environments will be available in the package repo exactly as they had been before.</p>
</blockquote>

<ul>
<li>It’s FOSS: Any plans to include Steam to increase the userbase?</li>
</ul>

<blockquote>
<p>Project Trident: Steam is still unavailable natively on FreeBSD, so we do not have any plans to ship it out of the box currently. In the meantime, we highly recommend installing the Windows version of Steam through the PlayOnBSD utility.</p>
</blockquote>

<ul>
<li>It’s FOSS: What will happen to the AppCafe?</li>
</ul>

<blockquote>
<p>Project Trident: The AppCafe is the name of the graphical interface for the “pkg” utility integrated into the SysAdm client created by TrueOS. This hasn’t changed. SysAdm, the graphical client, and by extension AppCafe are still available for all TrueOS-based distributions to use.</p>
</blockquote>

<ul>
<li>It’s FOSS: Does Project Trident have any corporate sponsors lined up? If not, would you be open to it or would you prefer that it be community supported?</li>
</ul>

<blockquote>
<p>Project Trident: iXsystems is the first corporate sponsor of Project Trident and we are always open to other sponsorships as well. We would prefer smaller individual contributions from the community, but we understand that larger project needs or special-purpose goals are much more difficult to achieve without allowing larger corporate sponsorships as well. In either case, Project Trident is always looking out for the best interests of the community and will not allow intrusive or harmful code to enter the project even if a company or individual tries to make that code part of a sponsorship deal.</p>
</blockquote>

<ul>
<li>It’s FOSS: BSD always seems to be lagging in terms of support for newer devices. Will TrueOS be able to remedy that with a quicker release cycle?</li>
</ul>

<blockquote>
<p>Project Trident: Yes! That was a primary reason for TrueOS to start tracking the CURRENT branch of FreeBSD in 2016. This allows for the changes that FreeBSD developers are making, including new hardware support, to be available much sooner than if we followed the FreeBSD release cycle.</p>
</blockquote>

<ul>
<li>It’s FOSS: Do you have any idea when Project Trident will have its first release?</li>
</ul>

<blockquote>
<p>Project Trident: Right now we are targeting a late August release date. This is because Project Trident is “kicking the wheels” on the new TrueOS distribution system. We want to ensure everything is working smoothly before we release. Going forward, we plan on having regular package updates every week or two for the end-user packages and a new release of Trident with an updated OS version every 6 months. This will follow the TrueOS release schedule with a small time offset.</p>
</blockquote>

<hr>

<p>###<a href="https://www.geoghegan.ca/pfbadhost.html" target="_blank" rel="nofollow noopener">pf-badhost: Stop the evil doers in their tracks!</a></p>

<blockquote>
<p>pf-badhost is a simple, easy to use badhost blocker that uses the power of the pf firewall to block many of the internet’s biggest irritants. Annoyances such as ssh bruteforcers are largely eliminated. Shodan scans and bots looking for webservers to abuse are stopped dead in their tracks. When used to filter outbound traffic, pf-badhost blocks many seedy, spooky malware containing and/or compromised webhosts.<br>
Filtering performance is exceptional, as the badhost list is stored in a pf table. To quote the OpenBSD FAQ page regarding tables: “the lookup time on a table holding 50,000 addresses is only slightly more than for one holding 50 addresses.”<br>
pf-badhost is simple and powerful. The blocklists are pulled from quality, trusted sources. The ‘Firehol’, ‘Emerging Threats’ and ‘Binary Defense’ block lists are used as they are popular, regularly updated lists of the internet’s most egregious offenders. The <a href="http://pf-badhost.sh" target="_blank" rel="nofollow noopener">pf-badhost.sh</a> script can easily be expanded to use additional or alternate blocklists.<br>
pf-badhost works best when used in conjunction with unbound-adblock for the ultimate badhost blocking.</p>
</blockquote>

<ul>
<li>Notes:</li>
<li>If you are trying to run pf-badhost on a LAN or are using NAT, you will want to add a rule to your pf.conf appearing BEFORE the pf-badhost rules allowing traffic to and from your local subnet so that you can still access your gateway and any DNS servers.</li>
<li>Conversely, adding a line to <a href="http://pf-badhost.sh" target="_blank" rel="nofollow noopener">pf-badhost.sh</a> that removes your subnet range from the &lt;pfbadhost&gt; table should also work. Just make sure you choose a subnet range / CIDR block that is actually in the list. 192.168.0.0/16, 172.16.0.0/12 and 10.0.0.0/8 are the most common home/office subnet ranges.</li>
</ul>

<hr>

<p><strong>DigitalOcean</strong><br>
<a href="https://do.co/bsdnow" target="_blank" rel="nofollow noopener">https://do.co/bsdnow</a></p>

<p>###<a href="http://edition.cnn.com/TECH/computing/9911/01/freebsd.con99.idg/" target="_blank" rel="nofollow noopener">FLASHBACK: FreeBSDCon’99: Fans of Linux’s lesser-known sibling gather for the first time</a></p>

<blockquote>
<p>FreeBSD, a port of BSD Unix to Intel, has been around almost as long as Linux has – but without the media hype. Its developer and user community recently got a chance to get together for the first time, and they did it in the city where BSD – the Berkeley Software Distribution – was born some 25 years ago.<br>
October 17, 1999 marked a milestone in the history of FreeBSD – the first FreeBSD conference was held in the city where it all began, Berkeley, CA. Over 300 developers, users, and interested parties attended from around the globe.<br>
This was easily 50 percent more people than the conference organizers had expected. This first conference was meant to be a gathering mostly for developers and FreeBSD advocates. The turnout was surprisingly (and gratifyingly) large.<br>
In fact, attendance exceeded expectations so much that, for instance, Kirk McKusick had to add a second, identical tutorial on FreeBSD internals, because it was impossible for everyone to attend the first!<br>
But for a first-ever conference, I was impressed by how smoothly everything seemed to go. Sessions started on time, and the sessions I attended were well-run; nothing seemed to be too cold, dark, loud, late, or off-center.<br>
Of course, the best part about a conference such as this one is the opportunity to meet with other people who share similar interests. Lunches and breaks were a good time to meet people, as was the Tuesday night beer bash.<br>
The Wednesday night reception was of a type unusual for the technical conferences I usually attend – a three-hour Hornblower dinner cruise on San Francisco Bay. Not only did we all enjoy excellent food and company, but we all got to go up on deck and watch the lights of San Francisco and Berkeley as we drifted by. Although it’s nice when a conference attracts thousands of attendees, there are some things that can only be done with smaller groups of people; this was one of them.<br>
In short, this was a tiny conference, but a well-run one.</p>
</blockquote>

<ul>
<li>Sessions</li>
</ul>

<blockquote>
<p>Although it was a relatively small conference, the number and quality of the sessions belied the size. Each of the three days of the conference featured a different keynote speaker. In addition to Jordan Hubbard, Jeremy Allison spoke on “Samba Futures” on day two, and Brian Behlendorf gave a talk on “FreeBSD and Apache: A Perfect Combo” to start off the third day.<br>
The conference sessions themselves were divided into six tracks: advocacy, business, development, networking, security, and panels. The panels track featured three different panels, made up of three different slices of the community: the FreeBSD core team, a press panel, and a prominent user panel with representatives from such prominent commercial users as Yahoo! and USWest.<br>
I was especially interested in Apple Computer’s talk in the development track. Wilfredo Sanchez, technical lead for open source projects at Apple (no, that’s not an oxymoron!) spoke about Apple’s Darwin project, the company’s operating system road map, and the role of BSD (and, specifically, FreeBSD) in Apple’s plans.<br>
Apple and Unix have had a long and uneasy history, from the Lisa through the A/UX project to today. Personally, I’m very optimistic about the chances for the Darwin project to succeed. Apple’s core OS kernel team has chosen FreeBSD as its reference platform. I’m looking forward to what this partnership will bring to both sides.<br>
Other development track sessions included in-depth tutorials on writing device drivers, basics of the Vinum Volume Manager, Fibre Channel, development models (the open repository model), and the FreeBSD Documentation Project (FDP). If you’re interested in contributing to the FreeBSD project, the FDP is a good place to start.<br>
Advocacy sessions included “How One Person Can Make a Difference” (a timeless topic that would find a home at any technical conference!) and “Starting and Managing A User Group” (trials and tribulations as well as rewards).<br>
The business track featured speakers from three commercial users of FreeBSD: Cybernet, USWest, and Applix. Applix presented its port of Applixware Office for FreeBSD and explained how Applix has taken the core services of Applixware into open source.<br>
Commercial applications and open source were once a rare combination; we can only hope the trend away from that state of affairs will continue.</p>
</blockquote>

<ul>
<li>Commercial use of FreeBSD</li>
</ul>

<blockquote>
<p>The use of FreeBSD in embedded applications is increasing as well – and it is increasing at the same rate that hardware power is. These days, even inexpensive systems are able to run a BSD kernel.<br>
The BSD license and the solid TCP/IP stack prove significant enticements to this market as well. (Unlike the GNU Public License, the BSD license does not require that vendors make derivative works open source.)<br>
Companies such as USWest and Verio use FreeBSD for a wide variety of different Internet services.<br>
Yahoo! and Hotmail are examples of companies that use FreeBSD extensively for more specific purposes. Yahoo!, for example, has many hundreds of FreeBSD boxes, and Hotmail has almost 2000 FreeBSD machines at its data center in the San Francisco Bay area.<br>
Hotmail is owned by Microsoft, so the fact that it runs FreeBSD is a secret. Don’t tell anyone…<br>
When asked to comment on the increasing commercial interest in BSD, Hubbard said that FreeBSD is learning the Red Hat lesson. “Walnut Creek and others with business interests in FreeBSD have learned a few things from the Red Hat IPO,” he said, “and nobody is just sitting around now, content with business as usual. It’s clearly business as unusual in the open source world today.”<br>
Hubbard had also singled out some of BSD’s commercial partners, such as Whistle Communications, for praise in his opening day keynote. These partners play a key role in moving the project forward, he said, by contributing various enhancements and major new systems, such as Netgraph, as well as by contributing paid employee time spent on FreeBSD.<br>
Even short FreeBSD-related contacts can yield good results, Hubbard said. An example of this is the new jail() security code introduced in FreeBSD 3.x and 4.0, which was contributed by R &amp; D Associates. A number of ISPs are also now donating the hardware and bandwidth that allows the project to provide more resource mirrors and experimental development sites.</p>
</blockquote>

<ul>
<li>See you next year</li>
</ul>

<blockquote>
<p>And speaking of corporate sponsors, thanks go to Walnut Creek for sponsoring the conference, and to Yahoo! for covering all the expenses involved in bringing the entire FreeBSD core team to Berkeley.<br>
As a fan of FreeBSD, I’m happy to see that the project has finally produced a conference. It was time: many of the 16 core team members had been working together on a regular basis for nearly seven years without actually meeting face to face.<br>
It’s been an interesting year for open source projects. I’m looking forward to the next year – and the next BSD conference – to be even better.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://marc.info/?l=openbsd-tech&amp;m=153504937925732&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD Recommends: Disable SMT/Hyperthreading in all Intel BIOSes</a></p>

<pre><code>Two recently disclosed hardware bugs affected Intel cpus:

     - TLBleed

     - T1TF (the name "Foreshadow" refers to 1 of 3 aspects of this
             bug, more aspects are surely on the way)

Solving these bugs requires new cpu microcode, a coding workaround,
*AND* the disabling of SMT / Hyperthreading.

SMT is fundamentally broken because it shares resources between the two
cpu instances and those shared resources lack security differentiators.
Some of these side channel attacks aren't trivial, but we can expect
most of them to eventually work and leak kernel or cross-VM memory in
common usage circumstances, even such as javascript directly in a
browser.

There will be more hardware bugs and artifacts disclosed.  Due to the
way SMT interacts with speculative execution on Intel cpus, I expect SMT
to exacerbate most of the future problems.

A few months back, I urged people to disable hyperthreading on all
Intel cpus.  I need to repeat that:

    DISABLE HYPERTHREADING ON ALL YOUR INTEL MACHINES IN THE BIOS.

Also, update your BIOS firmware, if you can.

OpenBSD -current (and therefore 6.4) will not use hyperthreading if it
is enabled, and will update the cpu microcode if possible.

But what about 6.2 and 6.3?

The situation is very complex, continually evolving, and is taking too
much manpower away from other tasks.  Furthermore, Intel isn't telling
us what is coming next, and are doing a terrible job by not publically
documenting what operating systems must do to resolve the problems.  We
are having to do research by reading other operating systems.  There is
no time left to backport the changes -- we will not be issuing a
complete set of errata and syspatches against 6.2 and 6.3 because it is
turning into a distraction.

Rather than working on every required patch for 6.2/6.3, we will
re-focus manpower and make sure 6.4 contains the best solutions
possible.

So please try take responsibility for your own machines: Disable SMT in
the BIOS menu, and upgrade your BIOS if you can.

I'm going to spend my money at a more trustworthy vendor in the future.
</code></pre>

<hr>

<p>###<a href="https://medium.com/@enzuru/get-morrowind-running-on-openbsd-in-5-simple-steps-b65e20f3f0c" target="_blank" rel="nofollow noopener">Get Morrowind running on OpenBSD in 5 simple steps</a></p>

<blockquote>
<p>This article contains brief instructions on how to get one of the greatest Western RPGs of all time, The Elder Scrolls III: Morrowind, running on OpenBSD using the OpenMW open source engine recreation. These instructions were tested on a ThinkPad X1 Carbon Gen 3. The information was adapted from this OpenMW forum thread: <a href="https://forum.openmw.org/viewtopic.php?t=3510" target="_blank" rel="nofollow noopener">https://forum.openmw.org/viewtopic.php?t=3510</a></p>
</blockquote>

<ul>
<li>
<ol>
<li>Purchase and download the DRM-free version from GOG (also considered the best version due to the high quality PDF guide that it comes with): <a href="https://www.gog.com/game/the_elder_scrolls_iii_morrowind_goty_edition" target="_blank" rel="nofollow noopener">https://www.gog.com/game/the_elder_scrolls_iii_morrowind_goty_edition</a></li>
</ol>
</li>
<li>
<ol>
<li>Install the required packages built from the ports tree as root. openmw is the recreated game engine, and innoextract is how we will get the game data files out of the win32 executable.</li>
</ol>
</li>
</ul>

<p><code>pkg_add openmw innoextract</code></p>

<ul>
<li>
<ol>
<li>Move the file from GOG setup_tes_morrowind_goty_2.0.0.7.exe into its own directory morrowind/ due to innoextract’s default behaviour of extracting into the current directory. Then type:</li>
</ol>
</li>
</ul>

<p><code>innoextract setup_tes_morrowind_goty_2.0.0.7.exe</code></p>

<ul>
<li>
<ol>
<li>Type openmw-wizard and follow the straightforward instructions. Note that you have a pre-existing installation, and select the morrowind/app/Data Files folder that innoextract extracted.</li>
</ol>
</li>
<li>
<ol>
<li>Type in openmw-launcher, toggle the settings to your preferences, and then hit play!</li>
</ol>
</li>
</ul>

<hr>

<p><strong>iXsystems</strong><br>
<a href="https://twitter.com/allanjude/status/1034647571124367360" target="_blank" rel="nofollow noopener">https://twitter.com/allanjude/status/1034647571124367360</a></p>

<p>###<a href="https://euroquis.nl/bobulate/?p=1937" target="_blank" rel="nofollow noopener">My First Clang Bug</a></p>

<blockquote>
<p>Part of the role of being a packager is compiling lots (and lots) of packages. That means compiling lots of code from interesting places and in a variety of styles. In my opinion, being a good packager also means providing feedback to upstream when things are bad. That means filing upstream bugs when possible, and upstreaming patches.<br>
One of the “exciting” moments in packaging is when tools change. So each and every major CMake update is an exercise in recompiling 2400 or more packages and adjusting bits and pieces. When a software project was last released in 2013, adjusting it to modern tools can become quite a chore (e.g. Squid Report Generator). CMake is excellent for maintaining backwards compatibility, generally accommodating old software with new policies. The most recent 3.12 release candidate had three issues filed from the FreeBSD side, all from fallout with older software.  I consider the hours put into good bug reports, part of being a good citizen of the Free Software world.<br>
My most interesting bug this week, though, came from one line of code somewhere in Kleopatra: Q_UNUSED(gpgagent_data);<br>
That one line triggered a really peculiar link error in KDE’s FreeBSD CI system. Yup … telling the compiler something is unused made it fall over. Commenting out that line got rid of the link error, but introduced a warning about an unused function. Working with KDE-PIM’s Volker Krause, we whittled the problem down to a six-line example program — two lines if you don’t care much for coding style. I’m glad, at that point, that I could throw it over the hedge to the LLVM team with some explanatory text. Watching the process on their side reminds me ever-so-strongly of how things work in KDE (or FreeBSD for that matter): Bugzilla, Phabricator, and git combine to be an effective workflow for developers (perhaps less so for end-users).<br>
Today I got a note saying that the issue had been resolved. So brief a time for a bug. Live fast. Get squashed young.</p>
</blockquote>

<hr>

<p>###<a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=Threadripper-2990WX-DragonFly" target="_blank" rel="nofollow noopener">DragonFlyBSD Now Runs On The Threadripper 2990WX, Developer Shocked At Performance</a></p>

<blockquote>
<p>Last week I carried out some tests of BSD vs. Linux on the new 32-core / 64-thread Threadripper 2990WX. I tested FreeBSD 11, FreeBSD 12, and TrueOS – those benchmarks will be published in the next few days. I tried DragonFlyBSD, but at the time it wouldn’t boot with this AMD HEDT processor. But now the latest DragonFlyBSD development kernel can handle the 2990WX and the lead DragonFly developer calls this new processor “a real beast” and is stunned by its performance potential.</p>
</blockquote>

<blockquote>
<p>When I tried last week, the DragonFlyBSD 5.2.2 stable release nor DragonFlyBSD 5.3 daily snapshot would boot on the 2990WX. But it turns out Matthew Dillon, the lead developer of DragonFlyBSD, picked up a rig and has it running now. So in time for the next 5.4 stable release or those using the daily snapshots can have this 32-core / 64-thread Zen+ CPU running on this operating system long ago forked from FreeBSD.</p>
</blockquote>

<blockquote>
<p>In announcing his success in bringing up the 2990WX under DragonFlyBSD, which required a few minor changes, he shared his performance thoughts and hopes for the rig. “The cpu is a real beast, packing 32 cores and 64 threads. It blows away our dual-core Xeon to the tune of being +50% faster in concurrent compile tests, and it also blows away our older 4-socket Opteron (which we call ‘Monster’) by about the same margin. It’s an impressive CPU. For now the new beast is going to be used to help us improve I/O performance through the filesystem, further SMP work (but DFly scales pretty well to 64 threads already), and perhaps some driver to work to support the 10gbe on the mobo.”</p>
</blockquote>

<blockquote>
<p>Dillon shared some results on the system as well. " The Threadripper 2990WX is a beast. It is at <em>least</em> 50% faster than both the quad socket opteron and the dual socket Xeon system I tested against. The primary limitation for the 2990WX is likely its 4 channels of DDR4 memory, and like all Zen and Zen+ CPUs, memory performance matters more than CPU frequency (and costs almost no power to pump up the performance). That said, it still blow away a dual-socket Xeon with 3x the number of memory channels. That is impressive!"</p>
</blockquote>

<blockquote>
<p>The well known BSD developer also added, “This puts the 2990WX at par efficiency vs a dual-socket Xeon system, and better than the dual-socket Xeon with slower memory and a power cap. This is VERY impressive. I should note that the 2990WX is more specialized with its asymetric NUMA architecture and 32 cores. I think the sweet spot in terms of CPU pricing and efficiency is likely going to be with the 2950X (16-cores/32-threads). It is clear that the 2990WX (32-cores/64-threads) will max out 4-channel memory bandwidth for many workloads, making it a more specialized part. But still awesome…This thing is an incredible beast, I’m glad I got it.”</p>
</blockquote>

<blockquote>
<p>While I have the FreeBSD vs. Linux benchmarks from a few days ago, it looks like now on my ever growing TODO list will be re-trying out the newest DragonFlyBSD daily snapshot for seeing how the performance compares in the mix. Stay tuned for the numbers that should be in the next day or two.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180810075449" target="_blank" rel="nofollow noopener">X11 on really small devices</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180810131231" target="_blank" rel="nofollow noopener">mandoc-1.14.4 released</a></li>
<li><a href="https://www.netgate.com/blog/pfSense-book-available-to-everyone.html" target="_blank" rel="nofollow noopener">The pfSense Book is now available to everyone</a></li>
<li><a href="https://mwl.io/archives/3619" target="_blank" rel="nofollow noopener">MWL: Burn it down! Burn it all down!</a></li>
<li><a href="https://github.com/begriffs/obsd" target="_blank" rel="nofollow noopener">Configuring OpenBSD: System and user config files for a more pleasant laptop</a></li>
<li><a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-18:08.tcp.asc" target="_blank" rel="nofollow noopener">FreeBSD Security Advisory: Resource exhaustion in TCP reassembly</a></li>
<li><a href="https://discoverbsd.com/p/92d80d1497" target="_blank" rel="nofollow noopener">OpenBSD Foundation gets first 2018 Iridium donation</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=337653" target="_blank" rel="nofollow noopener">New ZFS commit solves issue a few users reported in the feedback segment</a></li>
<li><a href="https://twitter.com/TridentProject/status/1034620476553867264" target="_blank" rel="nofollow noopener">Project Trident should have a beta release by the end of next week</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/253447019/" target="_blank" rel="nofollow noopener">Reminder about Stockholm BUG: September 5, 17:30-22:00</a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">BSD-PL User Group: September 13, 18:30-21:00</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>Malcom - <a href="http://dpaste.com/15VVVCP" target="_blank" rel="nofollow noopener">Having different routes per interface</a></li>
<li>Bostjan - <a href="http://dpaste.com/1Q14C6H#wrap" target="_blank" rel="nofollow noopener">ZFS and integrity of data</a></li>
<li>Michael - <a href="http://dpaste.com/2JD17BP#wrap" target="_blank" rel="nofollow noopener">Suggestion for Monitoring</a></li>
<li>Barry - <a href="http://dpaste.com/2GJ3RMG#wrap" target="_blank" rel="nofollow noopener">Feedback</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 260: Hacking Tour of Europe | BSD Now 260</title>
  <link>https://www.bsdnow.tv/260</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2463</guid>
  <pubDate>Thu, 23 Aug 2018 05:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a3504e6e-2e15-4430-8917-d6a8782b461e.mp3" length="48332197" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Trip reports from the Essen Hackathon and BSDCam, CfT: ZFS native encryption and UFS trim consolidation, ZFS performance benchmarks on a FreeBSD server, how to port your OS to EC2, Vint Cerf about traceability, Remote Access console to an RPi3 running FreeBSD, and more.</itunes:subtitle>
  <itunes:duration>1:20:14</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>&lt;p&gt;Trip reports from the Essen Hackathon and BSDCam, CfT: ZFS native encryption and UFS trim consolidation, ZFS performance benchmarks on a FreeBSD server, how to port your OS to EC2, Vint Cerf about traceability, Remote Access console to an RPi3 running FreeBSD, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://wiki.freebsd.org/DevSummit/201808Hackathon" target="_blank" rel="nofollow noopener"&gt;Essen Hackathon &amp;amp; BSDCam 2018 trip report&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allan and Benedict met at FRA airport and then headed to the Air Rail terminal for our train to Essen where the Hackathon would happen over the weekend of Aug 10 - 12, 2018. Once there, we did not have to wait long until other early-arrivals would show up and soon we had about 10 people gathered for lunch. After buying some take-out pizzas and bringing it back to the Linuxhotel (there was a training still going on there so we could not get into our rooms yet), we sat in the sunny park and talked. More and more people arrived and soon, people started hacking on their laptops. Some people would not arrive until a few hours before midnight, but we already had a record appearance of 20 people in total.&lt;/li&gt;
&lt;li&gt;On Saturday, we gathered everyone in one of the seminar rooms that had rooms and chairs for us. After some organizational infos, we did an introductory round and Benedict wrote down on the whiteboard what people were interested in. It was not long until groups formed to talk about SSL in base, weird ZFS scrubs that would go over 100% completion (fixed now). Other people started working on ports, fixing bugs, or wrote documentation. The day ended in a &lt;a href="https://twitter.com/bsdbcr" target="_blank" rel="nofollow noopener"&gt;BBQ in the Linuxhotel park&lt;/a&gt;, which was well received by everyone.&lt;/li&gt;
&lt;li&gt;On Sunday, after attendees packed up their luggage and stored it in the seminar room, we continued hacking until lunchtime. After a quick group picture, we headed to a local restaurant for the social event (which was not open on Saturday, otherwise we would have had it then). In the afternoon, most people departed, a good half of them were heading for BSDCam.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://freshbsd.org/search?q=Essen+hackathon" target="_blank" rel="nofollow noopener"&gt;Commits from the hackathon (the ones from 2018)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Overall, the hackathon was well received by attendees and a lot of them liked the fact that it was close to another BSD gathering so they could nicely combine the two. Also, people thought about doing their own hackathon in the future, which is an exciting prospect. Thanks to all who attended, helped out here and there when needed. Special Thanks to &lt;a href="https://www.netzkommune.de/" target="_blank" rel="nofollow noopener"&gt;Netzkommune GmbH&lt;/a&gt; for sponsoring the social event and the &lt;a href="http://linuxhotel.de/" target="_blank" rel="nofollow noopener"&gt;Linuxhotel&lt;/a&gt; for having us.&lt;/li&gt;
&lt;li&gt;Benedict was having a regular work day on Monday after coming back from the hackathon, but flew out to Heathrow on Tuesday. Allan was in London a day earlier and arrived a couple of hours before Benedict in Cambridge. He headed for the Computer Lab even though the main event would not start until Wednesday. Most people gathered at the Maypole pub on Tuesday evening for welcomes, food and drinks.&lt;/li&gt;
&lt;li&gt;On Wednesday, a lot of people met in the breakfast room of Churchill College where most people were staying and went to the Computer Lab, which served as the main venue for BSDCam, together. The morning was spend with introductions and collecting what most people were interested in talking. This unconference style has worked well in the past and soon we had 10 main sessions together for the rest of this and the following two days (&lt;a href="https://bsdcam.cl.cam.ac.uk/" target="_blank" rel="nofollow noopener"&gt;full schedule&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Most sessions took notes, which you can find on the &lt;a href="https://wiki.freebsd.org/DevSummit/201808" target="_blank" rel="nofollow noopener"&gt;FreeBSD wiki&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;On Thursday evening, we had a nice formal dinner at Trinity Hall.&lt;/li&gt;
&lt;li&gt;BSDCam 2018 was a great success with a lot of fruitful discussions and planning sessions. We thank the organizers for BSDCam for making it happen.&lt;/li&gt;
&lt;li&gt;A special mentions goes out to Robert Watson and his family. Even though he was not there, he had a good reason to miss it: they had their first child born at the beginning of the week. Congratulations and best wishes to all three of them!&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070832.html" target="_blank" rel="nofollow noopener"&gt;Call for Testing: ZFS Native Encryption for FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A port of the ZoL (ZFS-on-Linux) feature that provides native crypto support for ZFS is ready for testing on FreeBSD&lt;/li&gt;
&lt;li&gt;Most of the porting was done by &lt;a href="mailto:sef@freebsd.org" target="_blank" rel="nofollow noopener"&gt;sef@freebsd.org&lt;/a&gt; (Sean Eric Fagan)&lt;/li&gt;
&lt;li&gt;The original ZoL commit is here: &lt;a href="https://github.com/zfsonlinux/zfs/pull/5769/commits/5aef9bedc801830264428c64cd2242d1b786fd49" target="_blank" rel="nofollow noopener"&gt;https://github.com/zfsonlinux/zfs/pull/5769/commits/5aef9bedc801830264428c64cd2242d1b786fd49&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;For an overview, see Tom Caputi’s presentation from the OpenZFS Developers Summit in 2016&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://youtu.be/frnLiXclAMo" target="_blank" rel="nofollow noopener"&gt;https://youtu.be/frnLiXclAMo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Slides: &lt;a href="https://drive.google.com/file/d/0B5hUzsxe4cdmU3ZTRXNxa2JIaDQ/view?usp=sharing" target="_blank" rel="nofollow noopener"&gt;https://drive.google.com/file/d/0B5hUzsxe4cdmU3ZTRXNxa2JIaDQ/view?usp=sharing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;WARNING: test in VMs or with spare disks etc, pools created with this code, or upgraded to this version, will no longer be importable on systems that do not support this feature. The on-disk format or other things may change before the final version, so you will likely have to ‘zfs send | zfs recv’ the data on to a new pool&lt;/li&gt;
&lt;li&gt;Thanks for testing to help this feature land in FreeBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070797.html" target="_blank" rel="nofollow noopener"&gt;Call for Testing: UFS TRIM Consolidation&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kirk Mckusick posts to the FreeBSD mailing list looking for testers for the new UFS TRIM Consolidation code&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;When deleting files on filesystems that are stored on flash-memory (solid-state) disk drives, the filesystem notifies the underlying disk of the blocks that it is no longer using. The notification allows the drive to avoid saving these blocks when it needs to flash (zero out) one of its flash pages. These notifications of no-longer-being-used blocks are referred to as TRIM notifications. In FreeBSD these TRIM notifications are sent from the filesystem to the drive using the BIO_DELETE command.&lt;br&gt;
Until now, the filesystem would send a separate message to the drive for each block of the file that was deleted. Each Gigabyte of file size resulted in over 3000 TRIM messages being sent to the drive. This burst of messages can overwhelm the drive’s task queue causing multiple second delays for read and write requests.&lt;br&gt;
This implementation collects runs of contiguous blocks in the file and then consolodates them into a single BIO_DELETE command to the drive. The BIO_DELETE command describes the run of blocks as a single large block being deleted. Each Gigabyte of file size can result in as few as two BIO_DELETE commands and is typically less than ten.  Though these larger BIO_DELETE commands take longer to run, they do not clog the drive task queue, so read and write commands can intersperse effectively with them.&lt;br&gt;
Though this new feature has been throughly reviewed and tested, it is being added disabled by default so as to minimize the possibility of disrupting the upcoming 12.0 release. It can be enabled by running ``sysctl vfs.ffs.dotrimcons=1’’. Users are encouraged to test it. If no problems arise, we will consider requesting that it be enabled by default for 12.0.&lt;br&gt;
This support is off by default, but I am hoping that I can get enough testing to ensure that it (a) works, and (b) is helpful that it will be reasonable to have it turned on by default in 12.0. The cutoff for turning it on by default in 12.0 is September 19th. So I am requesting your testing feedback in the near-term. Please let me know if you have managed to use it successfully (or not) and also if it provided any performance difference (good or bad).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;To enable TRIM consolidation use `sysctl vfs.ffs.dotrimcons=1’&lt;/li&gt;
&lt;li&gt;There is also a diff that adds additional statistics: &lt;a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070798.html" target="_blank" rel="nofollow noopener"&gt;https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070798.html&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;You can also watch the volume and latency of BIO_DELETE commands by running &lt;code&gt;gstat&lt;/code&gt; with the -d flag&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://aravindh.net/post/zfs_performance/" target="_blank" rel="nofollow noopener"&gt;ZFS performance&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Aravindh Sampathkumar, a Performance Engineer and Sysadmin posts some simple benchmarks he did on a new ZFS server&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This is NOT an all-in post about ZFS performance. I built a FreeBSD+ZFS file server recently at work to serve as an offsite backup server. I wanted to run a few synthetic workloads on it and look at how it fares from performance perspective. Mostly for curiosity and learning purposes.&lt;br&gt;
As stated in the notes about building this server, performance was not one of the priorities, as this server will never face our active workload. What I care about from this server is its ability to work with rsync and keep the data synchronised with our primary storage server. With that context, I ran a few write tests to see how good our solution is and what to expect from it in terms of performance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The article then uses FIO to do some benchmarks.&lt;/li&gt;
&lt;li&gt;As the author did, make sure you match the FIO block size to the ZFS record size to avoid write amplification. Either tune FIO or adjust the recordsize property in ZFS&lt;/li&gt;
&lt;li&gt;You also want to consider compression and cache effects&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Write Performance: Incompressible: 1600-2600 MB/s, Compressible: 2500-6600 MB/s&lt;br&gt;
Another over 1200 MB/s is enough to keep your 10 gigabit network saturated&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The increased latency that is seen with higher number of writers working, may be the result of the ZFS backpressure system (the write throttle). There is some tuning that can be done there. Specifically, since this machine has 768 GB of ram, you might allow more than 4GB of dirty data, which would mean you’d be able to write larger batches and not have to push back while you wait for a transaction group to flush when dealing with gigabytes/sec of writes&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="http://www.daemonology.net/blog/2018-07-14-port-OS-to-EC2.html" target="_blank" rel="nofollow noopener"&gt;How to port your OS to EC2&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Colin Percival reflects on his FreeBSD on EC2 maintainership efforts in his blog:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve been the maintainer of the FreeBSD/EC2 platform for about 7.5 years now, and as far as “running things in virtual machines” goes, that remains the only operating system and the only cloud which I work on. That said, from time to time I get questions from people who want to port other operating systems into EC2, and being a member of the open source community, I do my best to help them. I realized a few days ago that rather than replying to emails one by one it would be more efficient to post something publicly; so — for the benefit of the dozen or so people who want to port operating systems to run in EC2, and the curiosity of maybe a thousand more people who use EC2 but will never build AMIs themselves — here’s a rough guide to building EC2 images.&lt;br&gt;
Before we can talk about building images, there are some things you need:&lt;br&gt;
Your OS needs to run on x86 hardware. 64-bit (“amd64”, “x86-64”) is ideal, but I’ve managed to run 32-bit FreeBSD on “64-bit” EC2 instances so at least in some cases that’s not strictly necessary.&lt;br&gt;
You almost certainly want to have drivers for Xen block devices (for all of the pre-Nitro EC2 instances) or for NVMe disks (for the most recent EC2 instances). Theoretically you could make do without these since there’s some ATA emulation available for bootstrapping, but if you want to do any disk I/O after the kernel finishes booting you’ll want to have a disk driver.&lt;br&gt;
Similarly, you need support for the Xen network interface (older instances), Intel 10 GbE SR-IOV networking (some newer but pre-Nitro instances), or Amazon’s “ENA” network adapters (on Nitro instances), unless you plan on having instances which don’t communicate over the network. The ENA driver is probably the hardest thing to port, since as far as I know there’s no way to get your hands on the hardware directly, and it’s very difficult to do any debugging in EC2 without having a working network.&lt;br&gt;
Finally, the obvious: You need to have an AWS account, and appropriate API access keys.&lt;br&gt;
Building a disk image&lt;/p&gt;
&lt;p&gt;Building an AMI&lt;br&gt;
I wrote a simple tool for converting disk images into EC2 instances: bsdec2-image-upload. It uploads a disk image to Amazon S3; makes an API call to import that disk image into an EBS volume; creates a snapshot of that volume; then registers an EC2 AMI using that snapshot.&lt;br&gt;
To use bsdec2-image-upload, you’ll first need to create an S3 bucket for it to use as a staging area. You can call it anything you like, but I recommend that you&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Create it in a “nearby” region (for performance reasons), and&lt;br&gt;
Set an S3 “lifecycle policy” which deletes objects automatically after 1 day (since bsdec2-image-upload doesn’t clean up the S3 bucket, and those objects are useless once you’ve finished creating an AMI).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Boot configuration&lt;br&gt;
Odds are that your instance started booting and got as far as the boot loader launching the kernel, but at some point after that things went sideways. Now we start the iterative process of building disk images, turning them into AMIs, launching said AMIs, and seeing where they break. Some things you’ll probably run into here:&lt;br&gt;
EC2 instances have two types of console available to them: A serial console and an VGA console. (Or rather, emulated serial and emulated VGA.) If you can have your kernel output go to both consoles, I recommend doing that. If you have to pick one, the serial console (which shows up as the “System Log” in EC2) is probably more useful than the VGA console (which shows up as “instance screenshot”) since it lets you see more than one screen of logs at once; but there’s a catch: Due to some bizarre breakage in EC2 — which I’ve been complaining about for ten years — the serial console is very “laggy”. If you find that you’re not getting any output, wait five minutes and try again.&lt;br&gt;
You may need to tell your kernel where to find the root filesystem. On FreeBSD we build our disk images using GPT labels, so we simply need to specify in /etc/fstab that the root filesystem is on /dev/gpt/rootfs; but if you can’t do this, you’ll probably need to have different AMIs for Nitro instances vs. non-Nitro instances since Xen block devices will typically show up with different device names from NVMe disks. On FreeBSD, I also needed to set the vfs.root.mountfrom kernel environment variable for a while; this also is no longer needed on FreeBSD but something similar may be needed on other systems.&lt;br&gt;
You’ll need to enable networking, using DHCP. On FreeBSD, this means placing ifconfig_DEFAULT=“SYNCDHCP” into /etc/rc.conf; other systems will have other ways of specifying network parameters, and it may be necessary to specify a setting for the Xen network device, Intel SR-IOV network, and the Amazon ENA interface so that you’ll have the necessary configuration across all EC2 instance types. (On FreeBSD, ifconfig_DEFAULT takes care of specifying the network settings which should apply for whatever network interface the kernel finds at boot time.)&lt;br&gt;
You’ll almost certainly want to turn on SSH, so that you can connect into newly launched instances and make use of them. Don’t worry about setting a password or creating a user to SSH into yet — we’ll take care of that later.&lt;br&gt;
EC2 configuration&lt;br&gt;
Now it’s time to make the AMI behave like an EC2 instance. To this end, I prepared a set of rc.d scripts for FreeBSD. Most importantly, they&lt;br&gt;
Print the SSH host keys to the console, so that you can veriy that they are correct when you first SSH in. (Remember, Verifying SSH host keys is more important than flossing every day.)&lt;br&gt;
Download the SSH public key you want to use for logging in, and create an account (by default, “ec2-user”) with that key set up for you.&lt;br&gt;
Fetch EC2 user-data and process it via configinit to allow you to configure the system as part of the process of launching it.&lt;br&gt;
If your OS has an rc system derived from NetBSD’s rc.d, you may be able to use these scripts without any changes by simply installing them and enabling them in /etc/rc.conf; otherwise you may need to write your own scripts using mine as a model.&lt;br&gt;
Firstboot scripts&lt;br&gt;
A feature I added to FreeBSD a few years ago is the concept of “firstboot” scripts: These startup scripts are only run the first time a system boots. The aforementioned configinit and SSH key fetching scripts are flagged this way — so if your OS doesn’t support the “firstboot” keyword on rc.d scripts you’ll need to hack around that — but EC2 instances also ship with other scripts set to run on the first boot:&lt;br&gt;
FreeBSD Update will fetch and install security and critical errata updates, and then reboot the system if necessary.&lt;br&gt;
The UFS filesystem on the “boot disk” will be automatically expanded to the full size of the disk — this makes it possible to specify a larger size of disk at EC2 instance launch time.&lt;br&gt;
Third-party packages will be automatically fetched and installed, according to a list in /etc/rc.conf. This is most useful if configinit is used to edit /etc/rc.conf, since it allows you to specify packages to install via the EC2 user-data.&lt;br&gt;
While none of these are strictly necessary, I find them to be extremely useful and highly recommend implementing similar functionality in your systems.&lt;br&gt;
Support my work!&lt;br&gt;
I hope you find this useful, or at very least interesting. Please consider supporting my work in this area; while I’m happy to contribute my time to supporting open source software, it would be nice if I had money coming in which I could use to cover incidental expenses (e.g., conference travel) so that I didn’t end up paying to contribute to FreeBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Digital Ocean&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://do.co/bsdnow" target="_blank" rel="nofollow noopener"&gt;https://do.co/bsdnow&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://cacm.acm.org/magazines/2018/8/229771-traceability/fulltext" target="_blank" rel="nofollow noopener"&gt;Traceability, by Vint Cerf&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A recent article from the August issue of the Communications of the ACM, for your contemplation:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At a recent workshop on cybersecurity in the U.K., a primary topic of consideration was how to preserve the freedom and openness of the Internet while protecting against the harmful behaviors that have emerged in this global medium. That this is a significant challenge cannot be overstated. The bad behaviors range from social network bullying and misinformation to email spam, distributed denial of service attacks, direct cyberattacks against infrastructure, malware propagation, identity theft, and a host of other ills requiring a wide range of technical and legal considerations. That these harmful behaviors can and do cross international boundaries only makes it more difficult to fashion effective responses.&lt;br&gt;
In other columns, I have argued for better software development tools to reduce the common mistakes that lead to vulnerabilities that are exploited. Here, I want to focus on another aspect of response related to law enforcement and tracking down perpetrators. Of course, not all harms are (or perhaps are not yet) illegal, but discovering those who cause them may still be warranted. The recent adoption and implementation of the General Data Protection Regulation (GDPR) in the European Union creates an interesting tension because it highlights the importance and value of privacy while those who do direct or indirect harm must be tracked down and their identities discovered.&lt;br&gt;
In passing, I mention that cryptography has sometimes been blamed for protecting the identity or actions of criminals but it is also a tool for protecting privacy. Arguments have been made for “back doors” to cryptographic systems but I am of the opinion that such proposals carry extremely high risk to privacy and safety. It is not my intent to argue this question in this column.&lt;br&gt;
What is of interest to me is a concept to which I was introduced at the Ditchley workshop, specifically, differential traceability. The ability to trace bad actors to bring them to justice seems to me an important goal in a civilized society. The tension with privacy protection leads to the idea that only under appropriate conditions can privacy be violated. By way of example, consider license plates on cars. They are usually arbitrary identifiers and special authority is needed to match them with the car owners (unless, of course, they are vanity plates like mine: “Cerfsup”). This is an example of differential traceability; the police department has the authority to demand ownership information from the Department of Motor Vehicles that issues the license plates. Ordinary citizens do not have this authority.&lt;br&gt;
In the Internet environment there are a variety of identifiers associated with users (including corporate users). Domain names, IP addresses, email addresses, and public cryptography keys are examples among many others. Some of these identifiers are dynamic and thus ambiguous. For example, IP addresses are not always permanent and may change (for example, temporary IP addresses assigned at Wi-Fi hotspots) or may be ambiguous in the case of Network Address Translation. Information about the time of assignment and the party to whom an IP address was assigned may be needed to identify an individual user. There has been considerable debate and even a recent court case regarding requirements to register users in domain name WHOIS databases in the context of the adoption of GDPR. If we are to accomplish the simultaneous objectives of protecting privacy while apprehending those engaged in harmful or criminal behavior on the Internet, we must find some balance between conflicting but desirable outcomes.&lt;br&gt;
This suggests to me that the notion of traceability under (internationally?) agreed circumstances (that is, differential traceability) might be a fruitful concept to explore. In most societies today, it is accepted that we must be identifiable to appropriate authorities under certain conditions (consider border crossings, traffic violation stops as examples). While there are conditions under which apparent anonymity is desirable and even justifiable (whistle-blowing, for example) absolute anonymity is actually quite difficult to achieve (another point made at the Ditchley workshop) and might not be absolutely desirable given the misbehaviors apparent anonymity invites. I expect this is a controversial conclusion and I look forward to subsequent discussion.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://blackdot.be/2018/08/remote-access-console-using-raspberry-pi-3b-and-freebsd/" target="_blank" rel="nofollow noopener"&gt;Remote Access Console using FreeBSD on an RPi3&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Our friend, and FOSDEM Booth Neighbour, Jorge, has posted a tutorial on how he created a remote access console for his SmartOS server and other machines in his homelab&lt;/li&gt;
&lt;li&gt;Parts:&lt;/li&gt;
&lt;li&gt;Raspberry Pi 3 B+&lt;/li&gt;
&lt;li&gt;NavoLabs micro POE Hat&lt;/li&gt;
&lt;li&gt;FT4232H  based USB-to-RS232 (4x) adapter&lt;/li&gt;
&lt;li&gt;Official Raspberry Pi case (optional)&lt;/li&gt;
&lt;li&gt;Heat-sink kit (optional)&lt;/li&gt;
&lt;li&gt;USB-to-TTL adaptor (optional)&lt;/li&gt;
&lt;li&gt;Sandisk 16Gb microSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For the software I ended up using conserver. Below is a very brief tutorial on how to set everything up. I assume you have basic unix skills.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Get an RPi3 image, make some minor modifications for RPi3+, and write it to the USB stick&lt;/li&gt;
&lt;li&gt;Configure FreeBSD on the RPi3
&lt;ul&gt;
&lt;li&gt;Load the ‘muge’ Ethernet Driver&lt;/li&gt;
&lt;li&gt;Load USB serial support&lt;/li&gt;
&lt;li&gt;Load the FTDI driver&lt;/li&gt;
&lt;li&gt;Enable SSHd and Conserver&lt;/li&gt;
&lt;li&gt;Configure Conserver&lt;/li&gt;
&lt;li&gt;Setup log rotation&lt;/li&gt;
&lt;li&gt;Start Conserver&lt;/li&gt;
&lt;/ul&gt;

&lt;/li&gt;&lt;br&gt;
&lt;li&gt;And you’re good to go&lt;/li&gt;&lt;br&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A small bonus script I wrote to turn on the 2nd LED on the rPI once the system is booted, it will then blink the LED if someone is connected to any of the consoles.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;There is also a followup post with some additional tips: &lt;a href="https://blackdot.be/2018/08/freebsd-uart-and-raspberry-pi-3-b/" target="_blank" rel="nofollow noopener"&gt;https://blackdot.be/2018/08/freebsd-uart-and-raspberry-pi-3-b/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/ungleich/status/1031501391792156673" target="_blank" rel="nofollow noopener"&gt;Annual Penguin Races&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.mcternan.me.uk/mscgen/" target="_blank" rel="nofollow noopener"&gt;Mscgen - Message Sequence Chart generator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reviews.freebsd.org/D16723" target="_blank" rel="nofollow noopener"&gt;This patch makes FreeBSD boot 500 - 800ms faster, please test on your hardware&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=338059" target="_blank" rel="nofollow noopener"&gt;FreeBSD’s arc4random() replaced with OpenBSD ChaCha20 implementation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/freebsdfndation/status/1031590348768915456" target="_blank" rel="nofollow noopener"&gt;MeetBSD Devsummit open for registrations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mwl.io/archives/3654" target="_blank" rel="nofollow noopener"&gt;New Podcast interview with Michael W. Lucas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;##Feedback/Questions&lt;br&gt;
We need more feedback emails. Please write to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Additionally, we are considering a new segment to be added to the end of the show (to make it skippable), where we have a ~15 minute deep dive on a topic. Some initial ideas are on the Virtual Memory subsystem, the Scheduler, Capsicum, and GEOM. What topics would you like to get very detailed explanations of? Many of the explanations may have accompanying graphics, and not be very suitable for audio only listeners, that is why we are planning to put it at the very end of the episode.&lt;/p&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, zfs, performance, encryption, remote access, rpi3, raspberry pi</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Trip reports from the Essen Hackathon and BSDCam, CfT: ZFS native encryption and UFS trim consolidation, ZFS performance benchmarks on a FreeBSD server, how to port your OS to EC2, Vint Cerf about traceability, Remote Access console to an RPi3 running FreeBSD, and more.</p>

<p>##Headlines<br>
###<a href="https://wiki.freebsd.org/DevSummit/201808Hackathon" target="_blank" rel="nofollow noopener">Essen Hackathon &amp; BSDCam 2018 trip report</a></p>

<ul>
<li>Allan and Benedict met at FRA airport and then headed to the Air Rail terminal for our train to Essen where the Hackathon would happen over the weekend of Aug 10 - 12, 2018. Once there, we did not have to wait long until other early-arrivals would show up and soon we had about 10 people gathered for lunch. After buying some take-out pizzas and bringing it back to the Linuxhotel (there was a training still going on there so we could not get into our rooms yet), we sat in the sunny park and talked. More and more people arrived and soon, people started hacking on their laptops. Some people would not arrive until a few hours before midnight, but we already had a record appearance of 20 people in total.</li>
<li>On Saturday, we gathered everyone in one of the seminar rooms that had rooms and chairs for us. After some organizational infos, we did an introductory round and Benedict wrote down on the whiteboard what people were interested in. It was not long until groups formed to talk about SSL in base, weird ZFS scrubs that would go over 100% completion (fixed now). Other people started working on ports, fixing bugs, or wrote documentation. The day ended in a <a href="https://twitter.com/bsdbcr" target="_blank" rel="nofollow noopener">BBQ in the Linuxhotel park</a>, which was well received by everyone.</li>
<li>On Sunday, after attendees packed up their luggage and stored it in the seminar room, we continued hacking until lunchtime. After a quick group picture, we headed to a local restaurant for the social event (which was not open on Saturday, otherwise we would have had it then). In the afternoon, most people departed, a good half of them were heading for BSDCam.</li>
<li><a href="http://freshbsd.org/search?q=Essen+hackathon" target="_blank" rel="nofollow noopener">Commits from the hackathon (the ones from 2018)</a></li>
<li>Overall, the hackathon was well received by attendees and a lot of them liked the fact that it was close to another BSD gathering so they could nicely combine the two. Also, people thought about doing their own hackathon in the future, which is an exciting prospect. Thanks to all who attended, helped out here and there when needed. Special Thanks to <a href="https://www.netzkommune.de/" target="_blank" rel="nofollow noopener">Netzkommune GmbH</a> for sponsoring the social event and the <a href="http://linuxhotel.de/" target="_blank" rel="nofollow noopener">Linuxhotel</a> for having us.</li>
<li>Benedict was having a regular work day on Monday after coming back from the hackathon, but flew out to Heathrow on Tuesday. Allan was in London a day earlier and arrived a couple of hours before Benedict in Cambridge. He headed for the Computer Lab even though the main event would not start until Wednesday. Most people gathered at the Maypole pub on Tuesday evening for welcomes, food and drinks.</li>
<li>On Wednesday, a lot of people met in the breakfast room of Churchill College where most people were staying and went to the Computer Lab, which served as the main venue for BSDCam, together. The morning was spend with introductions and collecting what most people were interested in talking. This unconference style has worked well in the past and soon we had 10 main sessions together for the rest of this and the following two days (<a href="https://bsdcam.cl.cam.ac.uk/" target="_blank" rel="nofollow noopener">full schedule</a>).</li>
<li>Most sessions took notes, which you can find on the <a href="https://wiki.freebsd.org/DevSummit/201808" target="_blank" rel="nofollow noopener">FreeBSD wiki</a>.</li>
<li>On Thursday evening, we had a nice formal dinner at Trinity Hall.</li>
<li>BSDCam 2018 was a great success with a lot of fruitful discussions and planning sessions. We thank the organizers for BSDCam for making it happen.</li>
<li>A special mentions goes out to Robert Watson and his family. Even though he was not there, he had a good reason to miss it: they had their first child born at the beginning of the week. Congratulations and best wishes to all three of them!</li>
</ul>

<hr>

<p>###<a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070832.html" target="_blank" rel="nofollow noopener">Call for Testing: ZFS Native Encryption for FreeBSD</a></p>

<ul>
<li>A port of the ZoL (ZFS-on-Linux) feature that provides native crypto support for ZFS is ready for testing on FreeBSD</li>
<li>Most of the porting was done by <a href="mailto:sef@freebsd.org" target="_blank" rel="nofollow noopener">sef@freebsd.org</a> (Sean Eric Fagan)</li>
<li>The original ZoL commit is here: <a href="https://github.com/zfsonlinux/zfs/pull/5769/commits/5aef9bedc801830264428c64cd2242d1b786fd49" target="_blank" rel="nofollow noopener">https://github.com/zfsonlinux/zfs/pull/5769/commits/5aef9bedc801830264428c64cd2242d1b786fd49</a></li>
<li>For an overview, see Tom Caputi’s presentation from the OpenZFS Developers Summit in 2016</li>
<li>Video: <a href="https://youtu.be/frnLiXclAMo" target="_blank" rel="nofollow noopener">https://youtu.be/frnLiXclAMo</a></li>
<li>Slides: <a href="https://drive.google.com/file/d/0B5hUzsxe4cdmU3ZTRXNxa2JIaDQ/view?usp=sharing" target="_blank" rel="nofollow noopener">https://drive.google.com/file/d/0B5hUzsxe4cdmU3ZTRXNxa2JIaDQ/view?usp=sharing</a></li>
<li>WARNING: test in VMs or with spare disks etc, pools created with this code, or upgraded to this version, will no longer be importable on systems that do not support this feature. The on-disk format or other things may change before the final version, so you will likely have to ‘zfs send | zfs recv’ the data on to a new pool</li>
<li>Thanks for testing to help this feature land in FreeBSD</li>
</ul>

<hr>

<p><strong>iXsystems</strong></p>

<p>###<a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070797.html" target="_blank" rel="nofollow noopener">Call for Testing: UFS TRIM Consolidation</a></p>

<ul>
<li>Kirk Mckusick posts to the FreeBSD mailing list looking for testers for the new UFS TRIM Consolidation code</li>
</ul>

<blockquote>
<p>When deleting files on filesystems that are stored on flash-memory (solid-state) disk drives, the filesystem notifies the underlying disk of the blocks that it is no longer using. The notification allows the drive to avoid saving these blocks when it needs to flash (zero out) one of its flash pages. These notifications of no-longer-being-used blocks are referred to as TRIM notifications. In FreeBSD these TRIM notifications are sent from the filesystem to the drive using the BIO_DELETE command.<br>
Until now, the filesystem would send a separate message to the drive for each block of the file that was deleted. Each Gigabyte of file size resulted in over 3000 TRIM messages being sent to the drive. This burst of messages can overwhelm the drive’s task queue causing multiple second delays for read and write requests.<br>
This implementation collects runs of contiguous blocks in the file and then consolodates them into a single BIO_DELETE command to the drive. The BIO_DELETE command describes the run of blocks as a single large block being deleted. Each Gigabyte of file size can result in as few as two BIO_DELETE commands and is typically less than ten.  Though these larger BIO_DELETE commands take longer to run, they do not clog the drive task queue, so read and write commands can intersperse effectively with them.<br>
Though this new feature has been throughly reviewed and tested, it is being added disabled by default so as to minimize the possibility of disrupting the upcoming 12.0 release. It can be enabled by running ``sysctl vfs.ffs.dotrimcons=1’’. Users are encouraged to test it. If no problems arise, we will consider requesting that it be enabled by default for 12.0.<br>
This support is off by default, but I am hoping that I can get enough testing to ensure that it (a) works, and (b) is helpful that it will be reasonable to have it turned on by default in 12.0. The cutoff for turning it on by default in 12.0 is September 19th. So I am requesting your testing feedback in the near-term. Please let me know if you have managed to use it successfully (or not) and also if it provided any performance difference (good or bad).</p>
</blockquote>

<ul>
<li>To enable TRIM consolidation use `sysctl vfs.ffs.dotrimcons=1’</li>
<li>There is also a diff that adds additional statistics: <a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070798.html" target="_blank" rel="nofollow noopener">https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070798.html</a></li>
<li>You can also watch the volume and latency of BIO_DELETE commands by running <code>gstat</code> with the -d flag</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://aravindh.net/post/zfs_performance/" target="_blank" rel="nofollow noopener">ZFS performance</a></p>

<ul>
<li>Aravindh Sampathkumar, a Performance Engineer and Sysadmin posts some simple benchmarks he did on a new ZFS server</li>
</ul>

<blockquote>
<p>This is NOT an all-in post about ZFS performance. I built a FreeBSD+ZFS file server recently at work to serve as an offsite backup server. I wanted to run a few synthetic workloads on it and look at how it fares from performance perspective. Mostly for curiosity and learning purposes.<br>
As stated in the notes about building this server, performance was not one of the priorities, as this server will never face our active workload. What I care about from this server is its ability to work with rsync and keep the data synchronised with our primary storage server. With that context, I ran a few write tests to see how good our solution is and what to expect from it in terms of performance.</p>
</blockquote>

<ul>
<li>The article then uses FIO to do some benchmarks.</li>
<li>As the author did, make sure you match the FIO block size to the ZFS record size to avoid write amplification. Either tune FIO or adjust the recordsize property in ZFS</li>
<li>You also want to consider compression and cache effects</li>
</ul>

<blockquote>
<p>Write Performance: Incompressible: 1600-2600 MB/s, Compressible: 2500-6600 MB/s<br>
Another over 1200 MB/s is enough to keep your 10 gigabit network saturated</p>
</blockquote>

<ul>
<li>The increased latency that is seen with higher number of writers working, may be the result of the ZFS backpressure system (the write throttle). There is some tuning that can be done there. Specifically, since this machine has 768 GB of ram, you might allow more than 4GB of dirty data, which would mean you’d be able to write larger batches and not have to push back while you wait for a transaction group to flush when dealing with gigabytes/sec of writes</li>
</ul>

<hr>

<p>###<a href="http://www.daemonology.net/blog/2018-07-14-port-OS-to-EC2.html" target="_blank" rel="nofollow noopener">How to port your OS to EC2</a></p>

<ul>
<li>Colin Percival reflects on his FreeBSD on EC2 maintainership efforts in his blog:</li>
</ul>

<blockquote>
<p>I’ve been the maintainer of the FreeBSD/EC2 platform for about 7.5 years now, and as far as “running things in virtual machines” goes, that remains the only operating system and the only cloud which I work on. That said, from time to time I get questions from people who want to port other operating systems into EC2, and being a member of the open source community, I do my best to help them. I realized a few days ago that rather than replying to emails one by one it would be more efficient to post something publicly; so — for the benefit of the dozen or so people who want to port operating systems to run in EC2, and the curiosity of maybe a thousand more people who use EC2 but will never build AMIs themselves — here’s a rough guide to building EC2 images.<br>
Before we can talk about building images, there are some things you need:<br>
Your OS needs to run on x86 hardware. 64-bit (“amd64”, “x86-64”) is ideal, but I’ve managed to run 32-bit FreeBSD on “64-bit” EC2 instances so at least in some cases that’s not strictly necessary.<br>
You almost certainly want to have drivers for Xen block devices (for all of the pre-Nitro EC2 instances) or for NVMe disks (for the most recent EC2 instances). Theoretically you could make do without these since there’s some ATA emulation available for bootstrapping, but if you want to do any disk I/O after the kernel finishes booting you’ll want to have a disk driver.<br>
Similarly, you need support for the Xen network interface (older instances), Intel 10 GbE SR-IOV networking (some newer but pre-Nitro instances), or Amazon’s “ENA” network adapters (on Nitro instances), unless you plan on having instances which don’t communicate over the network. The ENA driver is probably the hardest thing to port, since as far as I know there’s no way to get your hands on the hardware directly, and it’s very difficult to do any debugging in EC2 without having a working network.<br>
Finally, the obvious: You need to have an AWS account, and appropriate API access keys.<br>
Building a disk image</p>
<p>Building an AMI<br>
I wrote a simple tool for converting disk images into EC2 instances: bsdec2-image-upload. It uploads a disk image to Amazon S3; makes an API call to import that disk image into an EBS volume; creates a snapshot of that volume; then registers an EC2 AMI using that snapshot.<br>
To use bsdec2-image-upload, you’ll first need to create an S3 bucket for it to use as a staging area. You can call it anything you like, but I recommend that you</p>
</blockquote>

<blockquote>
<p>Create it in a “nearby” region (for performance reasons), and<br>
Set an S3 “lifecycle policy” which deletes objects automatically after 1 day (since bsdec2-image-upload doesn’t clean up the S3 bucket, and those objects are useless once you’ve finished creating an AMI).</p>
</blockquote>

<blockquote>
<p>Boot configuration<br>
Odds are that your instance started booting and got as far as the boot loader launching the kernel, but at some point after that things went sideways. Now we start the iterative process of building disk images, turning them into AMIs, launching said AMIs, and seeing where they break. Some things you’ll probably run into here:<br>
EC2 instances have two types of console available to them: A serial console and an VGA console. (Or rather, emulated serial and emulated VGA.) If you can have your kernel output go to both consoles, I recommend doing that. If you have to pick one, the serial console (which shows up as the “System Log” in EC2) is probably more useful than the VGA console (which shows up as “instance screenshot”) since it lets you see more than one screen of logs at once; but there’s a catch: Due to some bizarre breakage in EC2 — which I’ve been complaining about for ten years — the serial console is very “laggy”. If you find that you’re not getting any output, wait five minutes and try again.<br>
You may need to tell your kernel where to find the root filesystem. On FreeBSD we build our disk images using GPT labels, so we simply need to specify in /etc/fstab that the root filesystem is on /dev/gpt/rootfs; but if you can’t do this, you’ll probably need to have different AMIs for Nitro instances vs. non-Nitro instances since Xen block devices will typically show up with different device names from NVMe disks. On FreeBSD, I also needed to set the vfs.root.mountfrom kernel environment variable for a while; this also is no longer needed on FreeBSD but something similar may be needed on other systems.<br>
You’ll need to enable networking, using DHCP. On FreeBSD, this means placing ifconfig_DEFAULT=“SYNCDHCP” into /etc/rc.conf; other systems will have other ways of specifying network parameters, and it may be necessary to specify a setting for the Xen network device, Intel SR-IOV network, and the Amazon ENA interface so that you’ll have the necessary configuration across all EC2 instance types. (On FreeBSD, ifconfig_DEFAULT takes care of specifying the network settings which should apply for whatever network interface the kernel finds at boot time.)<br>
You’ll almost certainly want to turn on SSH, so that you can connect into newly launched instances and make use of them. Don’t worry about setting a password or creating a user to SSH into yet — we’ll take care of that later.<br>
EC2 configuration<br>
Now it’s time to make the AMI behave like an EC2 instance. To this end, I prepared a set of rc.d scripts for FreeBSD. Most importantly, they<br>
Print the SSH host keys to the console, so that you can veriy that they are correct when you first SSH in. (Remember, Verifying SSH host keys is more important than flossing every day.)<br>
Download the SSH public key you want to use for logging in, and create an account (by default, “ec2-user”) with that key set up for you.<br>
Fetch EC2 user-data and process it via configinit to allow you to configure the system as part of the process of launching it.<br>
If your OS has an rc system derived from NetBSD’s rc.d, you may be able to use these scripts without any changes by simply installing them and enabling them in /etc/rc.conf; otherwise you may need to write your own scripts using mine as a model.<br>
Firstboot scripts<br>
A feature I added to FreeBSD a few years ago is the concept of “firstboot” scripts: These startup scripts are only run the first time a system boots. The aforementioned configinit and SSH key fetching scripts are flagged this way — so if your OS doesn’t support the “firstboot” keyword on rc.d scripts you’ll need to hack around that — but EC2 instances also ship with other scripts set to run on the first boot:<br>
FreeBSD Update will fetch and install security and critical errata updates, and then reboot the system if necessary.<br>
The UFS filesystem on the “boot disk” will be automatically expanded to the full size of the disk — this makes it possible to specify a larger size of disk at EC2 instance launch time.<br>
Third-party packages will be automatically fetched and installed, according to a list in /etc/rc.conf. This is most useful if configinit is used to edit /etc/rc.conf, since it allows you to specify packages to install via the EC2 user-data.<br>
While none of these are strictly necessary, I find them to be extremely useful and highly recommend implementing similar functionality in your systems.<br>
Support my work!<br>
I hope you find this useful, or at very least interesting. Please consider supporting my work in this area; while I’m happy to contribute my time to supporting open source software, it would be nice if I had money coming in which I could use to cover incidental expenses (e.g., conference travel) so that I didn’t end up paying to contribute to FreeBSD.</p>
</blockquote>

<hr>

<p><strong>Digital Ocean</strong><br>
<a href="https://do.co/bsdnow" target="_blank" rel="nofollow noopener">https://do.co/bsdnow</a></p>

<p>###<a href="https://cacm.acm.org/magazines/2018/8/229771-traceability/fulltext" target="_blank" rel="nofollow noopener">Traceability, by Vint Cerf</a></p>

<ul>
<li>A recent article from the August issue of the Communications of the ACM, for your contemplation:</li>
</ul>

<blockquote>
<p>At a recent workshop on cybersecurity in the U.K., a primary topic of consideration was how to preserve the freedom and openness of the Internet while protecting against the harmful behaviors that have emerged in this global medium. That this is a significant challenge cannot be overstated. The bad behaviors range from social network bullying and misinformation to email spam, distributed denial of service attacks, direct cyberattacks against infrastructure, malware propagation, identity theft, and a host of other ills requiring a wide range of technical and legal considerations. That these harmful behaviors can and do cross international boundaries only makes it more difficult to fashion effective responses.<br>
In other columns, I have argued for better software development tools to reduce the common mistakes that lead to vulnerabilities that are exploited. Here, I want to focus on another aspect of response related to law enforcement and tracking down perpetrators. Of course, not all harms are (or perhaps are not yet) illegal, but discovering those who cause them may still be warranted. The recent adoption and implementation of the General Data Protection Regulation (GDPR) in the European Union creates an interesting tension because it highlights the importance and value of privacy while those who do direct or indirect harm must be tracked down and their identities discovered.<br>
In passing, I mention that cryptography has sometimes been blamed for protecting the identity or actions of criminals but it is also a tool for protecting privacy. Arguments have been made for “back doors” to cryptographic systems but I am of the opinion that such proposals carry extremely high risk to privacy and safety. It is not my intent to argue this question in this column.<br>
What is of interest to me is a concept to which I was introduced at the Ditchley workshop, specifically, differential traceability. The ability to trace bad actors to bring them to justice seems to me an important goal in a civilized society. The tension with privacy protection leads to the idea that only under appropriate conditions can privacy be violated. By way of example, consider license plates on cars. They are usually arbitrary identifiers and special authority is needed to match them with the car owners (unless, of course, they are vanity plates like mine: “Cerfsup”). This is an example of differential traceability; the police department has the authority to demand ownership information from the Department of Motor Vehicles that issues the license plates. Ordinary citizens do not have this authority.<br>
In the Internet environment there are a variety of identifiers associated with users (including corporate users). Domain names, IP addresses, email addresses, and public cryptography keys are examples among many others. Some of these identifiers are dynamic and thus ambiguous. For example, IP addresses are not always permanent and may change (for example, temporary IP addresses assigned at Wi-Fi hotspots) or may be ambiguous in the case of Network Address Translation. Information about the time of assignment and the party to whom an IP address was assigned may be needed to identify an individual user. There has been considerable debate and even a recent court case regarding requirements to register users in domain name WHOIS databases in the context of the adoption of GDPR. If we are to accomplish the simultaneous objectives of protecting privacy while apprehending those engaged in harmful or criminal behavior on the Internet, we must find some balance between conflicting but desirable outcomes.<br>
This suggests to me that the notion of traceability under (internationally?) agreed circumstances (that is, differential traceability) might be a fruitful concept to explore. In most societies today, it is accepted that we must be identifiable to appropriate authorities under certain conditions (consider border crossings, traffic violation stops as examples). While there are conditions under which apparent anonymity is desirable and even justifiable (whistle-blowing, for example) absolute anonymity is actually quite difficult to achieve (another point made at the Ditchley workshop) and might not be absolutely desirable given the misbehaviors apparent anonymity invites. I expect this is a controversial conclusion and I look forward to subsequent discussion.</p>
</blockquote>

<hr>

<p>###<a href="https://blackdot.be/2018/08/remote-access-console-using-raspberry-pi-3b-and-freebsd/" target="_blank" rel="nofollow noopener">Remote Access Console using FreeBSD on an RPi3</a></p>

<ul>
<li>Our friend, and FOSDEM Booth Neighbour, Jorge, has posted a tutorial on how he created a remote access console for his SmartOS server and other machines in his homelab</li>
<li>Parts:</li>
<li>Raspberry Pi 3 B+</li>
<li>NavoLabs micro POE Hat</li>
<li>FT4232H  based USB-to-RS232 (4x) adapter</li>
<li>Official Raspberry Pi case (optional)</li>
<li>Heat-sink kit (optional)</li>
<li>USB-to-TTL adaptor (optional)</li>
<li>Sandisk 16Gb microSD</li>
</ul>

<blockquote>
<p>For the software I ended up using conserver. Below is a very brief tutorial on how to set everything up. I assume you have basic unix skills.</p>
</blockquote>

<ul>
<li>Get an RPi3 image, make some minor modifications for RPi3+, and write it to the USB stick</li>
<li>Configure FreeBSD on the RPi3
<ul>
<li>Load the ‘muge’ Ethernet Driver</li>
<li>Load USB serial support</li>
<li>Load the FTDI driver</li>
<li>Enable SSHd and Conserver</li>
<li>Configure Conserver</li>
<li>Setup log rotation</li>
<li>Start Conserver</li>
</ul>

</li><br>
<li>And you’re good to go</li><br>
</ul>

<blockquote>
<p>A small bonus script I wrote to turn on the 2nd LED on the rPI once the system is booted, it will then blink the LED if someone is connected to any of the consoles.</p>
</blockquote>

<ul>
<li>There is also a followup post with some additional tips: <a href="https://blackdot.be/2018/08/freebsd-uart-and-raspberry-pi-3-b/" target="_blank" rel="nofollow noopener">https://blackdot.be/2018/08/freebsd-uart-and-raspberry-pi-3-b/</a></li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://twitter.com/ungleich/status/1031501391792156673" target="_blank" rel="nofollow noopener">Annual Penguin Races</a></li>
<li><a href="http://www.mcternan.me.uk/mscgen/" target="_blank" rel="nofollow noopener">Mscgen - Message Sequence Chart generator</a></li>
<li><a href="https://reviews.freebsd.org/D16723" target="_blank" rel="nofollow noopener">This patch makes FreeBSD boot 500 - 800ms faster, please test on your hardware</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=338059" target="_blank" rel="nofollow noopener">FreeBSD’s arc4random() replaced with OpenBSD ChaCha20 implementation</a></li>
<li><a href="https://twitter.com/freebsdfndation/status/1031590348768915456" target="_blank" rel="nofollow noopener">MeetBSD Devsummit open for registrations</a></li>
<li><a href="https://mwl.io/archives/3654" target="_blank" rel="nofollow noopener">New Podcast interview with Michael W. Lucas</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions<br>
We need more feedback emails. Please write to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<p>Additionally, we are considering a new segment to be added to the end of the show (to make it skippable), where we have a ~15 minute deep dive on a topic. Some initial ideas are on the Virtual Memory subsystem, the Scheduler, Capsicum, and GEOM. What topics would you like to get very detailed explanations of? Many of the explanations may have accompanying graphics, and not be very suitable for audio only listeners, that is why we are planning to put it at the very end of the episode.</p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Trip reports from the Essen Hackathon and BSDCam, CfT: ZFS native encryption and UFS trim consolidation, ZFS performance benchmarks on a FreeBSD server, how to port your OS to EC2, Vint Cerf about traceability, Remote Access console to an RPi3 running FreeBSD, and more.</p>

<p>##Headlines<br>
###<a href="https://wiki.freebsd.org/DevSummit/201808Hackathon" target="_blank" rel="nofollow noopener">Essen Hackathon &amp; BSDCam 2018 trip report</a></p>

<ul>
<li>Allan and Benedict met at FRA airport and then headed to the Air Rail terminal for our train to Essen where the Hackathon would happen over the weekend of Aug 10 - 12, 2018. Once there, we did not have to wait long until other early-arrivals would show up and soon we had about 10 people gathered for lunch. After buying some take-out pizzas and bringing it back to the Linuxhotel (there was a training still going on there so we could not get into our rooms yet), we sat in the sunny park and talked. More and more people arrived and soon, people started hacking on their laptops. Some people would not arrive until a few hours before midnight, but we already had a record appearance of 20 people in total.</li>
<li>On Saturday, we gathered everyone in one of the seminar rooms that had rooms and chairs for us. After some organizational infos, we did an introductory round and Benedict wrote down on the whiteboard what people were interested in. It was not long until groups formed to talk about SSL in base, weird ZFS scrubs that would go over 100% completion (fixed now). Other people started working on ports, fixing bugs, or wrote documentation. The day ended in a <a href="https://twitter.com/bsdbcr" target="_blank" rel="nofollow noopener">BBQ in the Linuxhotel park</a>, which was well received by everyone.</li>
<li>On Sunday, after attendees packed up their luggage and stored it in the seminar room, we continued hacking until lunchtime. After a quick group picture, we headed to a local restaurant for the social event (which was not open on Saturday, otherwise we would have had it then). In the afternoon, most people departed, a good half of them were heading for BSDCam.</li>
<li><a href="http://freshbsd.org/search?q=Essen+hackathon" target="_blank" rel="nofollow noopener">Commits from the hackathon (the ones from 2018)</a></li>
<li>Overall, the hackathon was well received by attendees and a lot of them liked the fact that it was close to another BSD gathering so they could nicely combine the two. Also, people thought about doing their own hackathon in the future, which is an exciting prospect. Thanks to all who attended, helped out here and there when needed. Special Thanks to <a href="https://www.netzkommune.de/" target="_blank" rel="nofollow noopener">Netzkommune GmbH</a> for sponsoring the social event and the <a href="http://linuxhotel.de/" target="_blank" rel="nofollow noopener">Linuxhotel</a> for having us.</li>
<li>Benedict was having a regular work day on Monday after coming back from the hackathon, but flew out to Heathrow on Tuesday. Allan was in London a day earlier and arrived a couple of hours before Benedict in Cambridge. He headed for the Computer Lab even though the main event would not start until Wednesday. Most people gathered at the Maypole pub on Tuesday evening for welcomes, food and drinks.</li>
<li>On Wednesday, a lot of people met in the breakfast room of Churchill College where most people were staying and went to the Computer Lab, which served as the main venue for BSDCam, together. The morning was spend with introductions and collecting what most people were interested in talking. This unconference style has worked well in the past and soon we had 10 main sessions together for the rest of this and the following two days (<a href="https://bsdcam.cl.cam.ac.uk/" target="_blank" rel="nofollow noopener">full schedule</a>).</li>
<li>Most sessions took notes, which you can find on the <a href="https://wiki.freebsd.org/DevSummit/201808" target="_blank" rel="nofollow noopener">FreeBSD wiki</a>.</li>
<li>On Thursday evening, we had a nice formal dinner at Trinity Hall.</li>
<li>BSDCam 2018 was a great success with a lot of fruitful discussions and planning sessions. We thank the organizers for BSDCam for making it happen.</li>
<li>A special mentions goes out to Robert Watson and his family. Even though he was not there, he had a good reason to miss it: they had their first child born at the beginning of the week. Congratulations and best wishes to all three of them!</li>
</ul>

<hr>

<p>###<a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070832.html" target="_blank" rel="nofollow noopener">Call for Testing: ZFS Native Encryption for FreeBSD</a></p>

<ul>
<li>A port of the ZoL (ZFS-on-Linux) feature that provides native crypto support for ZFS is ready for testing on FreeBSD</li>
<li>Most of the porting was done by <a href="mailto:sef@freebsd.org" target="_blank" rel="nofollow noopener">sef@freebsd.org</a> (Sean Eric Fagan)</li>
<li>The original ZoL commit is here: <a href="https://github.com/zfsonlinux/zfs/pull/5769/commits/5aef9bedc801830264428c64cd2242d1b786fd49" target="_blank" rel="nofollow noopener">https://github.com/zfsonlinux/zfs/pull/5769/commits/5aef9bedc801830264428c64cd2242d1b786fd49</a></li>
<li>For an overview, see Tom Caputi’s presentation from the OpenZFS Developers Summit in 2016</li>
<li>Video: <a href="https://youtu.be/frnLiXclAMo" target="_blank" rel="nofollow noopener">https://youtu.be/frnLiXclAMo</a></li>
<li>Slides: <a href="https://drive.google.com/file/d/0B5hUzsxe4cdmU3ZTRXNxa2JIaDQ/view?usp=sharing" target="_blank" rel="nofollow noopener">https://drive.google.com/file/d/0B5hUzsxe4cdmU3ZTRXNxa2JIaDQ/view?usp=sharing</a></li>
<li>WARNING: test in VMs or with spare disks etc, pools created with this code, or upgraded to this version, will no longer be importable on systems that do not support this feature. The on-disk format or other things may change before the final version, so you will likely have to ‘zfs send | zfs recv’ the data on to a new pool</li>
<li>Thanks for testing to help this feature land in FreeBSD</li>
</ul>

<hr>

<p><strong>iXsystems</strong></p>

<p>###<a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070797.html" target="_blank" rel="nofollow noopener">Call for Testing: UFS TRIM Consolidation</a></p>

<ul>
<li>Kirk Mckusick posts to the FreeBSD mailing list looking for testers for the new UFS TRIM Consolidation code</li>
</ul>

<blockquote>
<p>When deleting files on filesystems that are stored on flash-memory (solid-state) disk drives, the filesystem notifies the underlying disk of the blocks that it is no longer using. The notification allows the drive to avoid saving these blocks when it needs to flash (zero out) one of its flash pages. These notifications of no-longer-being-used blocks are referred to as TRIM notifications. In FreeBSD these TRIM notifications are sent from the filesystem to the drive using the BIO_DELETE command.<br>
Until now, the filesystem would send a separate message to the drive for each block of the file that was deleted. Each Gigabyte of file size resulted in over 3000 TRIM messages being sent to the drive. This burst of messages can overwhelm the drive’s task queue causing multiple second delays for read and write requests.<br>
This implementation collects runs of contiguous blocks in the file and then consolodates them into a single BIO_DELETE command to the drive. The BIO_DELETE command describes the run of blocks as a single large block being deleted. Each Gigabyte of file size can result in as few as two BIO_DELETE commands and is typically less than ten.  Though these larger BIO_DELETE commands take longer to run, they do not clog the drive task queue, so read and write commands can intersperse effectively with them.<br>
Though this new feature has been throughly reviewed and tested, it is being added disabled by default so as to minimize the possibility of disrupting the upcoming 12.0 release. It can be enabled by running ``sysctl vfs.ffs.dotrimcons=1’’. Users are encouraged to test it. If no problems arise, we will consider requesting that it be enabled by default for 12.0.<br>
This support is off by default, but I am hoping that I can get enough testing to ensure that it (a) works, and (b) is helpful that it will be reasonable to have it turned on by default in 12.0. The cutoff for turning it on by default in 12.0 is September 19th. So I am requesting your testing feedback in the near-term. Please let me know if you have managed to use it successfully (or not) and also if it provided any performance difference (good or bad).</p>
</blockquote>

<ul>
<li>To enable TRIM consolidation use `sysctl vfs.ffs.dotrimcons=1’</li>
<li>There is also a diff that adds additional statistics: <a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070798.html" target="_blank" rel="nofollow noopener">https://lists.freebsd.org/pipermail/freebsd-current/2018-August/070798.html</a></li>
<li>You can also watch the volume and latency of BIO_DELETE commands by running <code>gstat</code> with the -d flag</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://aravindh.net/post/zfs_performance/" target="_blank" rel="nofollow noopener">ZFS performance</a></p>

<ul>
<li>Aravindh Sampathkumar, a Performance Engineer and Sysadmin posts some simple benchmarks he did on a new ZFS server</li>
</ul>

<blockquote>
<p>This is NOT an all-in post about ZFS performance. I built a FreeBSD+ZFS file server recently at work to serve as an offsite backup server. I wanted to run a few synthetic workloads on it and look at how it fares from performance perspective. Mostly for curiosity and learning purposes.<br>
As stated in the notes about building this server, performance was not one of the priorities, as this server will never face our active workload. What I care about from this server is its ability to work with rsync and keep the data synchronised with our primary storage server. With that context, I ran a few write tests to see how good our solution is and what to expect from it in terms of performance.</p>
</blockquote>

<ul>
<li>The article then uses FIO to do some benchmarks.</li>
<li>As the author did, make sure you match the FIO block size to the ZFS record size to avoid write amplification. Either tune FIO or adjust the recordsize property in ZFS</li>
<li>You also want to consider compression and cache effects</li>
</ul>

<blockquote>
<p>Write Performance: Incompressible: 1600-2600 MB/s, Compressible: 2500-6600 MB/s<br>
Another over 1200 MB/s is enough to keep your 10 gigabit network saturated</p>
</blockquote>

<ul>
<li>The increased latency that is seen with higher number of writers working, may be the result of the ZFS backpressure system (the write throttle). There is some tuning that can be done there. Specifically, since this machine has 768 GB of ram, you might allow more than 4GB of dirty data, which would mean you’d be able to write larger batches and not have to push back while you wait for a transaction group to flush when dealing with gigabytes/sec of writes</li>
</ul>

<hr>

<p>###<a href="http://www.daemonology.net/blog/2018-07-14-port-OS-to-EC2.html" target="_blank" rel="nofollow noopener">How to port your OS to EC2</a></p>

<ul>
<li>Colin Percival reflects on his FreeBSD on EC2 maintainership efforts in his blog:</li>
</ul>

<blockquote>
<p>I’ve been the maintainer of the FreeBSD/EC2 platform for about 7.5 years now, and as far as “running things in virtual machines” goes, that remains the only operating system and the only cloud which I work on. That said, from time to time I get questions from people who want to port other operating systems into EC2, and being a member of the open source community, I do my best to help them. I realized a few days ago that rather than replying to emails one by one it would be more efficient to post something publicly; so — for the benefit of the dozen or so people who want to port operating systems to run in EC2, and the curiosity of maybe a thousand more people who use EC2 but will never build AMIs themselves — here’s a rough guide to building EC2 images.<br>
Before we can talk about building images, there are some things you need:<br>
Your OS needs to run on x86 hardware. 64-bit (“amd64”, “x86-64”) is ideal, but I’ve managed to run 32-bit FreeBSD on “64-bit” EC2 instances so at least in some cases that’s not strictly necessary.<br>
You almost certainly want to have drivers for Xen block devices (for all of the pre-Nitro EC2 instances) or for NVMe disks (for the most recent EC2 instances). Theoretically you could make do without these since there’s some ATA emulation available for bootstrapping, but if you want to do any disk I/O after the kernel finishes booting you’ll want to have a disk driver.<br>
Similarly, you need support for the Xen network interface (older instances), Intel 10 GbE SR-IOV networking (some newer but pre-Nitro instances), or Amazon’s “ENA” network adapters (on Nitro instances), unless you plan on having instances which don’t communicate over the network. The ENA driver is probably the hardest thing to port, since as far as I know there’s no way to get your hands on the hardware directly, and it’s very difficult to do any debugging in EC2 without having a working network.<br>
Finally, the obvious: You need to have an AWS account, and appropriate API access keys.<br>
Building a disk image</p>
<p>Building an AMI<br>
I wrote a simple tool for converting disk images into EC2 instances: bsdec2-image-upload. It uploads a disk image to Amazon S3; makes an API call to import that disk image into an EBS volume; creates a snapshot of that volume; then registers an EC2 AMI using that snapshot.<br>
To use bsdec2-image-upload, you’ll first need to create an S3 bucket for it to use as a staging area. You can call it anything you like, but I recommend that you</p>
</blockquote>

<blockquote>
<p>Create it in a “nearby” region (for performance reasons), and<br>
Set an S3 “lifecycle policy” which deletes objects automatically after 1 day (since bsdec2-image-upload doesn’t clean up the S3 bucket, and those objects are useless once you’ve finished creating an AMI).</p>
</blockquote>

<blockquote>
<p>Boot configuration<br>
Odds are that your instance started booting and got as far as the boot loader launching the kernel, but at some point after that things went sideways. Now we start the iterative process of building disk images, turning them into AMIs, launching said AMIs, and seeing where they break. Some things you’ll probably run into here:<br>
EC2 instances have two types of console available to them: A serial console and an VGA console. (Or rather, emulated serial and emulated VGA.) If you can have your kernel output go to both consoles, I recommend doing that. If you have to pick one, the serial console (which shows up as the “System Log” in EC2) is probably more useful than the VGA console (which shows up as “instance screenshot”) since it lets you see more than one screen of logs at once; but there’s a catch: Due to some bizarre breakage in EC2 — which I’ve been complaining about for ten years — the serial console is very “laggy”. If you find that you’re not getting any output, wait five minutes and try again.<br>
You may need to tell your kernel where to find the root filesystem. On FreeBSD we build our disk images using GPT labels, so we simply need to specify in /etc/fstab that the root filesystem is on /dev/gpt/rootfs; but if you can’t do this, you’ll probably need to have different AMIs for Nitro instances vs. non-Nitro instances since Xen block devices will typically show up with different device names from NVMe disks. On FreeBSD, I also needed to set the vfs.root.mountfrom kernel environment variable for a while; this also is no longer needed on FreeBSD but something similar may be needed on other systems.<br>
You’ll need to enable networking, using DHCP. On FreeBSD, this means placing ifconfig_DEFAULT=“SYNCDHCP” into /etc/rc.conf; other systems will have other ways of specifying network parameters, and it may be necessary to specify a setting for the Xen network device, Intel SR-IOV network, and the Amazon ENA interface so that you’ll have the necessary configuration across all EC2 instance types. (On FreeBSD, ifconfig_DEFAULT takes care of specifying the network settings which should apply for whatever network interface the kernel finds at boot time.)<br>
You’ll almost certainly want to turn on SSH, so that you can connect into newly launched instances and make use of them. Don’t worry about setting a password or creating a user to SSH into yet — we’ll take care of that later.<br>
EC2 configuration<br>
Now it’s time to make the AMI behave like an EC2 instance. To this end, I prepared a set of rc.d scripts for FreeBSD. Most importantly, they<br>
Print the SSH host keys to the console, so that you can veriy that they are correct when you first SSH in. (Remember, Verifying SSH host keys is more important than flossing every day.)<br>
Download the SSH public key you want to use for logging in, and create an account (by default, “ec2-user”) with that key set up for you.<br>
Fetch EC2 user-data and process it via configinit to allow you to configure the system as part of the process of launching it.<br>
If your OS has an rc system derived from NetBSD’s rc.d, you may be able to use these scripts without any changes by simply installing them and enabling them in /etc/rc.conf; otherwise you may need to write your own scripts using mine as a model.<br>
Firstboot scripts<br>
A feature I added to FreeBSD a few years ago is the concept of “firstboot” scripts: These startup scripts are only run the first time a system boots. The aforementioned configinit and SSH key fetching scripts are flagged this way — so if your OS doesn’t support the “firstboot” keyword on rc.d scripts you’ll need to hack around that — but EC2 instances also ship with other scripts set to run on the first boot:<br>
FreeBSD Update will fetch and install security and critical errata updates, and then reboot the system if necessary.<br>
The UFS filesystem on the “boot disk” will be automatically expanded to the full size of the disk — this makes it possible to specify a larger size of disk at EC2 instance launch time.<br>
Third-party packages will be automatically fetched and installed, according to a list in /etc/rc.conf. This is most useful if configinit is used to edit /etc/rc.conf, since it allows you to specify packages to install via the EC2 user-data.<br>
While none of these are strictly necessary, I find them to be extremely useful and highly recommend implementing similar functionality in your systems.<br>
Support my work!<br>
I hope you find this useful, or at very least interesting. Please consider supporting my work in this area; while I’m happy to contribute my time to supporting open source software, it would be nice if I had money coming in which I could use to cover incidental expenses (e.g., conference travel) so that I didn’t end up paying to contribute to FreeBSD.</p>
</blockquote>

<hr>

<p><strong>Digital Ocean</strong><br>
<a href="https://do.co/bsdnow" target="_blank" rel="nofollow noopener">https://do.co/bsdnow</a></p>

<p>###<a href="https://cacm.acm.org/magazines/2018/8/229771-traceability/fulltext" target="_blank" rel="nofollow noopener">Traceability, by Vint Cerf</a></p>

<ul>
<li>A recent article from the August issue of the Communications of the ACM, for your contemplation:</li>
</ul>

<blockquote>
<p>At a recent workshop on cybersecurity in the U.K., a primary topic of consideration was how to preserve the freedom and openness of the Internet while protecting against the harmful behaviors that have emerged in this global medium. That this is a significant challenge cannot be overstated. The bad behaviors range from social network bullying and misinformation to email spam, distributed denial of service attacks, direct cyberattacks against infrastructure, malware propagation, identity theft, and a host of other ills requiring a wide range of technical and legal considerations. That these harmful behaviors can and do cross international boundaries only makes it more difficult to fashion effective responses.<br>
In other columns, I have argued for better software development tools to reduce the common mistakes that lead to vulnerabilities that are exploited. Here, I want to focus on another aspect of response related to law enforcement and tracking down perpetrators. Of course, not all harms are (or perhaps are not yet) illegal, but discovering those who cause them may still be warranted. The recent adoption and implementation of the General Data Protection Regulation (GDPR) in the European Union creates an interesting tension because it highlights the importance and value of privacy while those who do direct or indirect harm must be tracked down and their identities discovered.<br>
In passing, I mention that cryptography has sometimes been blamed for protecting the identity or actions of criminals but it is also a tool for protecting privacy. Arguments have been made for “back doors” to cryptographic systems but I am of the opinion that such proposals carry extremely high risk to privacy and safety. It is not my intent to argue this question in this column.<br>
What is of interest to me is a concept to which I was introduced at the Ditchley workshop, specifically, differential traceability. The ability to trace bad actors to bring them to justice seems to me an important goal in a civilized society. The tension with privacy protection leads to the idea that only under appropriate conditions can privacy be violated. By way of example, consider license plates on cars. They are usually arbitrary identifiers and special authority is needed to match them with the car owners (unless, of course, they are vanity plates like mine: “Cerfsup”). This is an example of differential traceability; the police department has the authority to demand ownership information from the Department of Motor Vehicles that issues the license plates. Ordinary citizens do not have this authority.<br>
In the Internet environment there are a variety of identifiers associated with users (including corporate users). Domain names, IP addresses, email addresses, and public cryptography keys are examples among many others. Some of these identifiers are dynamic and thus ambiguous. For example, IP addresses are not always permanent and may change (for example, temporary IP addresses assigned at Wi-Fi hotspots) or may be ambiguous in the case of Network Address Translation. Information about the time of assignment and the party to whom an IP address was assigned may be needed to identify an individual user. There has been considerable debate and even a recent court case regarding requirements to register users in domain name WHOIS databases in the context of the adoption of GDPR. If we are to accomplish the simultaneous objectives of protecting privacy while apprehending those engaged in harmful or criminal behavior on the Internet, we must find some balance between conflicting but desirable outcomes.<br>
This suggests to me that the notion of traceability under (internationally?) agreed circumstances (that is, differential traceability) might be a fruitful concept to explore. In most societies today, it is accepted that we must be identifiable to appropriate authorities under certain conditions (consider border crossings, traffic violation stops as examples). While there are conditions under which apparent anonymity is desirable and even justifiable (whistle-blowing, for example) absolute anonymity is actually quite difficult to achieve (another point made at the Ditchley workshop) and might not be absolutely desirable given the misbehaviors apparent anonymity invites. I expect this is a controversial conclusion and I look forward to subsequent discussion.</p>
</blockquote>

<hr>

<p>###<a href="https://blackdot.be/2018/08/remote-access-console-using-raspberry-pi-3b-and-freebsd/" target="_blank" rel="nofollow noopener">Remote Access Console using FreeBSD on an RPi3</a></p>

<ul>
<li>Our friend, and FOSDEM Booth Neighbour, Jorge, has posted a tutorial on how he created a remote access console for his SmartOS server and other machines in his homelab</li>
<li>Parts:</li>
<li>Raspberry Pi 3 B+</li>
<li>NavoLabs micro POE Hat</li>
<li>FT4232H  based USB-to-RS232 (4x) adapter</li>
<li>Official Raspberry Pi case (optional)</li>
<li>Heat-sink kit (optional)</li>
<li>USB-to-TTL adaptor (optional)</li>
<li>Sandisk 16Gb microSD</li>
</ul>

<blockquote>
<p>For the software I ended up using conserver. Below is a very brief tutorial on how to set everything up. I assume you have basic unix skills.</p>
</blockquote>

<ul>
<li>Get an RPi3 image, make some minor modifications for RPi3+, and write it to the USB stick</li>
<li>Configure FreeBSD on the RPi3
<ul>
<li>Load the ‘muge’ Ethernet Driver</li>
<li>Load USB serial support</li>
<li>Load the FTDI driver</li>
<li>Enable SSHd and Conserver</li>
<li>Configure Conserver</li>
<li>Setup log rotation</li>
<li>Start Conserver</li>
</ul>

</li><br>
<li>And you’re good to go</li><br>
</ul>

<blockquote>
<p>A small bonus script I wrote to turn on the 2nd LED on the rPI once the system is booted, it will then blink the LED if someone is connected to any of the consoles.</p>
</blockquote>

<ul>
<li>There is also a followup post with some additional tips: <a href="https://blackdot.be/2018/08/freebsd-uart-and-raspberry-pi-3-b/" target="_blank" rel="nofollow noopener">https://blackdot.be/2018/08/freebsd-uart-and-raspberry-pi-3-b/</a></li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://twitter.com/ungleich/status/1031501391792156673" target="_blank" rel="nofollow noopener">Annual Penguin Races</a></li>
<li><a href="http://www.mcternan.me.uk/mscgen/" target="_blank" rel="nofollow noopener">Mscgen - Message Sequence Chart generator</a></li>
<li><a href="https://reviews.freebsd.org/D16723" target="_blank" rel="nofollow noopener">This patch makes FreeBSD boot 500 - 800ms faster, please test on your hardware</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=338059" target="_blank" rel="nofollow noopener">FreeBSD’s arc4random() replaced with OpenBSD ChaCha20 implementation</a></li>
<li><a href="https://twitter.com/freebsdfndation/status/1031590348768915456" target="_blank" rel="nofollow noopener">MeetBSD Devsummit open for registrations</a></li>
<li><a href="https://mwl.io/archives/3654" target="_blank" rel="nofollow noopener">New Podcast interview with Michael W. Lucas</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions<br>
We need more feedback emails. Please write to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>

<p>Additionally, we are considering a new segment to be added to the end of the show (to make it skippable), where we have a ~15 minute deep dive on a topic. Some initial ideas are on the Virtual Memory subsystem, the Scheduler, Capsicum, and GEOM. What topics would you like to get very detailed explanations of? Many of the explanations may have accompanying graphics, and not be very suitable for audio only listeners, that is why we are planning to put it at the very end of the episode.</p>

<hr>

<ul>
<li>Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 259: Long Live Unix | BSD Now 259</title>
  <link>https://www.bsdnow.tv/259</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2433</guid>
  <pubDate>Thu, 16 Aug 2018 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f1dc9150-bd92-4004-9643-095d9da96886.mp3" length="64748796" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The strange birth and long life of Unix, FreeBSD jail with a single public IP, EuroBSDcon 2018 talks and schedule, OpenBSD on G4 iBook, PAM template user, ZFS file server, and reflections on one year of OpenBSD use.</itunes:subtitle>
  <itunes:duration>1:47:36</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>&lt;p&gt;The strange birth and long life of Unix, FreeBSD jail with a single public IP, EuroBSDcon 2018 talks and schedule, OpenBSD on G4 iBook, PAM template user, ZFS file server, and reflections on one year of OpenBSD use.&lt;/p&gt;

&lt;h3&gt;Picking the contest winner&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Vincent&lt;/li&gt;
&lt;li&gt;Bostjan&lt;/li&gt;
&lt;li&gt;Andrew&lt;/li&gt;
&lt;li&gt;Klaus-Hendrik&lt;/li&gt;
&lt;li&gt;Will&lt;/li&gt;
&lt;li&gt;Toby&lt;/li&gt;
&lt;li&gt;Johnny&lt;/li&gt;
&lt;li&gt;David&lt;/li&gt;
&lt;li&gt;manfrom&lt;/li&gt;
&lt;li&gt;Niclas&lt;/li&gt;
&lt;li&gt;Gary&lt;/li&gt;
&lt;li&gt;Eddy&lt;/li&gt;
&lt;li&gt;Bruce&lt;/li&gt;
&lt;li&gt;Lizz&lt;/li&gt;
&lt;li&gt;Jim&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://www.random.org/integers/?num=1&amp;amp;min=0&amp;amp;max=15&amp;amp;col=1&amp;amp;base=10&amp;amp;format=html&amp;amp;rnd=new" target="_blank" rel="nofollow noopener"&gt;Random number generator&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://spectrum.ieee.org/tech-history/cyberspace/the-strange-birth-and-long-life-of-unix" target="_blank" rel="nofollow noopener"&gt;The Strange Birth and Long Life of Unix&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;They say that when one door closes on you, another opens. People generally offer this bit of wisdom just to lend some solace after a misfortune. But sometimes it’s actually true. It certainly was for Ken Thompson and the late Dennis Ritchie, two of the greats of 20th-century information technology, when they created the Unix operating system, now considered one of the most inspiring and influential pieces of software ever written.&lt;br&gt;
A door had slammed shut for Thompson and Ritchie in March of 1969, when their employer, the American Telephone &amp;amp; Telegraph Co., withdrew from a collaborative project with the Massachusetts Institute of Technology and General Electric to create an interactive time-sharing system called Multics, which stood for “Multiplexed Information and Computing Service.” Time-sharing, a technique that lets multiple people use a single computer simultaneously, had been invented only a decade earlier. Multics was to combine time-sharing with other technological advances of the era, allowing users to phone a computer from remote terminals and then read e-mail, edit documents, run calculations, and so forth. It was to be a great leap forward from the way computers were mostly being used, with people tediously preparing and submitting batch jobs on punch cards to be run one by one.&lt;br&gt;
Over five years, AT&amp;amp;T invested millions in the Multics project, purchasing a GE-645 mainframe computer and dedicating to the effort many of the top researchers at the company’s renowned Bell Telephone Laboratories—­including Thompson and Ritchie, Joseph F. Ossanna, Stuart Feldman, M. Douglas McIlroy, and the late Robert Morris. But the new system was too ambitious, and it fell troublingly behind schedule. In the end, AT&amp;amp;T’s corporate leaders decided to pull the plug.&lt;br&gt;
After AT&amp;amp;T’s departure from the Multics project, managers at Bell Labs, in Murray Hill, N.J., became reluctant to allow any further work on computer operating systems, leaving some researchers there very frustrated. Although Multics hadn’t met many of its objectives, it had, as Ritchie later recalled, provided them with a “convenient interactive computing service, a good environment in which to do programming, [and] a system around which a fellowship could form.” Suddenly, it was gone.&lt;br&gt;
With heavy hearts, the researchers returned to using their old batch system. At such an inauspicious moment, with management dead set against the idea, it surely would have seemed foolhardy to continue designing computer operating systems. But that’s exactly what Thompson, Ritchie, and many of their Bell Labs colleagues did. Now, some 40 years later, we should be thankful that these programmers ignored their bosses and continued their labor of love, which gave the world Unix, one of the greatest computer operating systems of all time.&lt;br&gt;
The rogue project began in earnest when Thompson, Ritchie, and a third Bell Labs colleague, Rudd Canaday, began to sketch out on paper the design for a file system. Thompson then wrote the basics of a new operating system for the lab’s GE-645 mainframe. But with the Multics project ended, so too was the need for the GE-645. Thompson realized that any further programming he did on it was likely to go nowhere, so he dropped the effort.&lt;br&gt;
Thompson had passed some of his time after the demise of Multics writing a computer game called Space Travel, which simulated all the major bodies in the solar system along with a spaceship that could fly around them. Written for the GE-645, Space Travel was clunky to play—and expensive: roughly US $75 a game for the CPU time. Hunting around, Thompson came across a dusty PDP-7, a minicomputer built by Digital Equipment Corp. that some of his Bell Labs colleagues had purchased earlier for a circuit-analysis project. Thompson rewrote Space Travel to run on it.&lt;br&gt;
And with that little programming exercise, a second door cracked ajar. It was to swing wide open during the summer of 1969 when Thompson’s wife, Bonnie, spent a month visiting his parents to show off their newborn son. Thompson took advantage of his temporary bachelor existence to write a good chunk of what would become the Unix operating system for the discarded PDP‑7. The name Unix stems from a joke one of Thompson’s colleagues made: Because the new operating system supported only one user (Thompson), he saw it as an emasculated version of Multics and dubbed it “Un-multiplexed Information and Computing Service,” or Unics. The name later morphed into Unix.&lt;br&gt;
Initially, Thompson used the GE-645 to compose and compile the software, which he then downloaded to the PDP‑7. But he soon weaned himself from the mainframe, and by the end of 1969 he was able to write operating-system code on the PDP-7 itself. That was a step in the right direction. But Thompson and the others helping him knew that the PDP‑7, which was already obsolete, would not be able to sustain their skunkworks for long. They also knew that the lab’s management wasn’t about to allow any more research on operating systems.&lt;br&gt;
So Thompson and Ritchie got crea­tive. They formulated a proposal to their bosses to buy one of DEC’s newer minicomputers, a PDP-11, but couched the request in especially palatable terms. They said they were aiming to create tools for editing and formatting text, what you might call a word-processing system today. The fact that they would also have to write an operating system for the new machine to support the editor and text formatter was almost a footnote.&lt;br&gt;
Management took the bait, and an order for a PDP-11 was placed in May 1970. The machine itself arrived soon after, although the disk drives for it took more than six months to appear. During the interim, Thompson, Ritchie, and others continued to develop Unix on the PDP-7. After the PDP-11’s disks were installed, the researchers moved their increasingly complex operating system over to the new machine. Next they brought over the roff text formatter written by Ossanna and derived from the runoff program, which had been used in an earlier time-sharing system.&lt;br&gt;
Unix was put to its first real-world test within Bell Labs when three typists from AT&amp;amp;T’s patents department began using it to write, edit, and format patent applications. It was a hit. The patent department adopted the system wholeheartedly, which gave the researchers enough credibility to convince management to purchase another machine—a newer and more powerful PDP-11 model—allowing their stealth work on Unix to continue.&lt;br&gt;
During its earliest days, Unix evolved constantly, so the idea of issuing named versions or releases seemed inappropriate. But the researchers did issue new editions of the programmer’s manual periodically, and the early Unix systems were named after each such edition. The first edition of the manual was completed in November 1971.&lt;br&gt;
So what did the first edition of Unix offer that made it so great? For one thing, the system provided a hierarchical file system, which allowed something we all now take for granted: Files could be placed in directories—or equivalently, folders—that in turn could be put within other directories. Each file could contain no more than 64 kilobytes, and its name could be no more than six characters long. These restrictions seem awkwardly limiting now, but at the time they appeared perfectly adequate.&lt;br&gt;
Although Unix was ostensibly created for word processing, the only editor available in 1971 was the line-oriented ed. Today, ed is still the only editor guaranteed to be present on all Unix systems. Apart from the text-processing and general system applications, the first edition of Unix included games such as blackjack, chess, and tic-tac-toe. For the system administrator, there were tools to dump and restore disk images to magnetic tape, to read and write paper tapes, and to create, check, mount, and unmount removable disk packs.&lt;br&gt;
Most important, the system offered an interactive environment that by this time allowed time-sharing, so several people could use a single machine at once. Various programming languages were available to them, including BASIC, Fortran, the scripting of Unix commands, assembly language, and B. The last of these, a descendant of a BCPL (Basic Combined Programming Language), ultimately evolved into the immensely popular C language, which Ritchie created while also working on Unix.&lt;br&gt;
The first edition of Unix let programmers call 34 different low-level routines built into the operating system. It’s a testament to the system’s enduring nature that nearly all of these system calls are still available—and still heavily used—on modern Unix and Linux systems four decades on. For its time, first-­edition Unix provided a remarkably powerful environment for software development. Yet it contained just 4200 lines of code at its heart and occupied a measly 16 KB of main memory when it ran.&lt;br&gt;
Unix’s great influence can be traced in part to its elegant design, simplicity, portability, and serendipitous timing. But perhaps even more important was the devoted user community that soon grew up around it. And that came about only by an accident of its unique history.&lt;br&gt;
The story goes like this: For years Unix remained nothing more than a Bell Labs research project, but by 1973 its authors felt the system was mature enough for them to present a paper on its design and implementation at a symposium of the Association for Computing Machinery. That paper was published in 1974 in the Communications of the ACM. Its appearance brought a flurry of requests for copies of the software.&lt;br&gt;
This put AT&amp;amp;T in a bind. In 1956, AT&amp;amp;T had agreed to a U.S government consent decree that prevented the company from selling products not directly related to telephones and telecommunications, in return for its legal monopoly status in running the country’s long-distance phone service. So Unix could not be sold as a product. Instead, AT&amp;amp;T released the Unix source code under license to anyone who asked, charging only a nominal fee. The critical wrinkle here was that the consent decree prevented AT&amp;amp;T from supporting Unix. Indeed, for many years Bell Labs researchers proudly displayed their Unix policy at conferences with a slide that read, “No advertising, no support, no bug fixes, payment in advance.”&lt;br&gt;
With no other channels of support available to them, early Unix adopters banded together for mutual assistance, forming a loose network of user groups all over the world. They had the source code, which helped. And they didn’t view Unix as a standard software product, because nobody seemed to be looking after it. So these early Unix users themselves set about fixing bugs, writing new tools, and generally improving the system as they saw fit.&lt;br&gt;
The Usenix user group acted as a clearinghouse for the exchange of Unix software in the United States. People could send in magnetic tapes with new software or fixes to the system and get back tapes with the software and fixes that Usenix had received from others. In Australia, the University of New South Wales and the University of Sydney produced a more robust version of Unix, the Australian Unix Share Accounting Method, which could cope with larger numbers of concurrent users and offered better performance.&lt;br&gt;
By the mid-1970s, the environment of sharing that had sprung up around Unix resembled the open-source movement so prevalent today. Users far and wide were enthusiastically enhancing the system, and many of their improvements were being fed back to Bell Labs for incorporation in future releases. But as Unix became more popular, AT&amp;amp;T’s lawyers began looking harder at what various licensees were doing with their systems.&lt;br&gt;
One person who caught their eye was John Lions, a computer scientist then teaching at the University of New South Wales, in Australia. In 1977, he published what was probably the most famous computing book of the time, A Commentary on the Unix Operating System, which contained an annotated listing of the central source code for Unix.&lt;br&gt;
Unix’s licensing conditions allowed for the exchange of source code, and initially, Lions’s book was sold to licensees. But by 1979, AT&amp;amp;T’s lawyers had clamped down on the book’s distribution and use in academic classes. The anti­authoritarian Unix community reacted as you might expect, and samizdat copies of the book spread like wildfire. Many of us have nearly unreadable nth-­generation photocopies of the original book.&lt;br&gt;
End runs around AT&amp;amp;T’s lawyers indeed became the norm—even at Bell Labs. For example, between the release of the sixth edition of Unix in 1975 and the seventh edition in 1979, Thompson collected dozens of important bug fixes to the system, coming both from within and outside of Bell Labs. He wanted these to filter out to the existing Unix user base, but the company’s lawyers felt that this would constitute a form of support and balked at their release. Nevertheless, those bug fixes soon became widely distributed through unofficial channels. For instance, Lou Katz, the founding president of Usenix, received a phone call one day telling him that if he went down to a certain spot on Mountain Avenue (where Bell Labs was located) at 2 p.m., he would find something of interest. Sure enough, Katz found a magnetic tape with the bug fixes, which were rapidly in the hands of countless users.&lt;br&gt;
By the end of the 1970s, Unix, which had started a decade earlier as a reaction against the loss of a comfortable programming environment, was growing like a weed throughout academia and the IT industry. Unix would flower in the early 1980s before reaching the height of its popularity in the early 1990s.&lt;br&gt;
For many reasons, Unix has since given way to other commercial and noncommercial systems. But its legacy, that of an elegant, well-designed, comfortable environment for software development, lives on. In recognition of their accomplishment, Thompson and Ritchie were given the Japan Prize earlier this year, adding to a collection of honors that includes the United States’ National Medal of Technology and Innovation and the Association of Computing Machinery’s Turing Award. Many other, often very personal, tributes to Ritchie and his enormous influence on computing were widely shared after his death this past October.&lt;br&gt;
Unix is indeed one of the most influential operating systems ever invented. Its direct descendants now number in the hundreds. On one side of the family tree are various versions of Unix proper, which began to be commercialized in the 1980s after the Bell System monopoly was broken up, freeing AT&amp;amp;T from the stipulations of the 1956 consent decree. On the other side are various Unix-like operating systems derived from the version of Unix developed at the University of California, Berkeley, including the one Apple uses today on its computers, OS X. I say “Unix-like” because the developers of the Berkeley Software Distribution (BSD) Unix on which these systems were based worked hard to remove all the original AT&amp;amp;T code so that their software and its descendants would be freely distributable.&lt;br&gt;
The effectiveness of those efforts were, however, called into question when the AT&amp;amp;T subsidiary Unix System Laboratories filed suit against Berkeley Software Design and the Regents of the University of California in 1992 over intellectual property rights to this software. The university in turn filed a counterclaim against AT&amp;amp;T for breaches to the license it provided AT&amp;amp;T for the use of code developed at Berkeley. The ensuing legal quagmire slowed the development of free Unix-like clones, including 386BSD, which was designed for the Intel 386 chip, the CPU then found in many IBM PCs.&lt;br&gt;
Had this operating system been available at the time, Linus Torvalds says he probably wouldn’t have created Linux, an open-source Unix-like operating system he developed from scratch for PCs in the early 1990s. Linux has carried the Unix baton forward into the 21st century, powering a wide range of digital gadgets including wireless routers, televisions, desktop PCs, and Android smartphones. It even runs some supercomputers.&lt;br&gt;
Although AT&amp;amp;T quickly settled its legal disputes with Berkeley Software Design and the University of California, legal wrangling over intellectual property claims to various parts of Unix and Linux have continued over the years, often involving byzantine corporate relations. By 2004, no fewer than five major lawsuits had been filed. Just this past August, a software company called the TSG Group (formerly known as the SCO Group), lost a bid in court to claim ownership of Unix copyrights that Novell had acquired when it purchased the Unix System Laboratories from AT&amp;amp;T in 1993.&lt;br&gt;
As a programmer and Unix historian, I can’t help but find all this legal sparring a bit sad. From the very start, the authors and users of Unix worked as best they could to build and share, even if that meant defying authority. That outpouring of selflessness stands in sharp contrast to the greed that has driven subsequent legal battles over the ownership of Unix.&lt;br&gt;
The world of computer hardware and software moves forward startlingly fast. For IT professionals, the rapid pace of change is typically a wonderful thing. But it makes us susceptible to the loss of our own history, including important lessons from the past. To address this issue in a small way, in 1995 I started a mailing list of old-time Unix ­aficionados. That effort morphed into the Unix Heritage Society. Our goal is not only to save the history of Unix but also to collect and curate these old systems and, where possible, bring them back to life. With help from many talented members of this society, I was able to restore much of the old Unix software to working order, including Ritchie’s first C compiler from 1972 and the first Unix system to be written in C, dating from 1973.&lt;br&gt;
One holy grail that eluded us for a long time was the first edition of Unix in any form, electronic or otherwise. Then, in 2006, Al Kossow from the Computer History Museum, in Mountain View, Calif., unearthed a printed study of Unix dated 1972, which not only covered the internal workings of Unix but also included a complete assembly listing of the kernel, the main component of this operating system. This was an amazing find—like discovering an old Ford Model T collecting dust in a corner of a barn. But we didn’t just want to admire the chrome work from afar. We wanted to see the thing run again.&lt;br&gt;
In 2008, Tim Newsham, an independent programmer in Hawaii, and I assembled a team of like-minded Unix enthusiasts and set out to bring this ancient system back from the dead. The work was technically arduous and often frustrating, but in the end, we had a copy of the first edition of Unix running on an emulated PDP-11/20. We sent out messages announcing our success to all those we thought would be interested. Thompson, always succinct, simply replied, “Amazing.” Indeed, his brainchild was amazing, and I’ve been happy to do what I can to make it, and the story behind it, better known.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Digital Ocean&lt;/strong&gt;&lt;br&gt;
&lt;a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener"&gt;http://do.co/bsdnow&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://www.davd.eu/posts-freebsd-jails-with-a-single-public-ip-address/" target="_blank" rel="nofollow noopener"&gt;FreeBSD jails with a single public IP address&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Jails in FreeBSD provide a simple yet flexible way to set up a proper server layout. In the most setups the actual server only acts as the host system for the jails while the applications themselves run within those independent containers. Traditionally every jail has it’s own IP for the user to be able to address the individual services. But if you’re still using IPv4 this might get you in trouble as the most hosters don’t offer more than one single public IP address per server.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Create the internal network&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In this case NAT (“Network Address Translation”) is a good way to expose services in different jails using the same IP address.&lt;br&gt;
First, let’s create an internal network (“NAT network”) at 192.168.0.0/24. You could generally use any private IPv4 address space as specified in RFC 1918. Here’s an overview: &lt;a href="https://en.wikipedia.org/wiki/Private_network" target="_blank" rel="nofollow noopener"&gt;https://en.wikipedia.org/wiki/Private_network&lt;/a&gt;. Using pf, FreeBSD’s firewall, we will map requests on different ports of the same public IP address to our individual jails as well as provide network access to the jails themselves.&lt;br&gt;
First let’s check which network devices are available. In my case there’s em0 which provides connectivity to the internet and lo0, the local loopback device.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code class="language-em0:"&gt;  options=209b&amp;lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC&amp;gt;
  [...]
  inet 172.31.1.100 netmask 0xffffff00 broadcast 172.31.1.255
  nd6 options=23&amp;lt;PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL&amp;gt;
  media: Ethernet autoselect (1000baseT &amp;lt;full-duplex&amp;gt;)
  status: active

lo0: flags=8049&amp;lt;UP,LOOPBACK,RUNNING,MULTICAST&amp;gt; metric 0 mtu 16384
  options=600003&amp;lt;RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6&amp;gt;
  inet6 ::1 prefixlen 128
  inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
  inet 127.0.0.1 netmask 0xff000000
  nd6 options=21&amp;lt;PERFORMNUD,AUTO_LINKLOCAL&amp;gt;```

&amp;gt; For our internal network, we create a cloned loopback device called lo1. Therefore we need to customize the /etc/rc.conf file, adding the following two lines:

```cloned_interfaces="lo1"
ipv4_addrs_lo1="192.168.0.1-9/29"```

&amp;gt; This defines a /29 network, offering IP addresses for a maximum of 6 jails:

```ipcalc 192.168.0.1/29
Address:   192.168.0.1          11000000.10101000.00000000.00000 001
Netmask:   255.255.255.248 = 29 11111111.11111111.11111111.11111 000
Wildcard:  0.0.0.7              00000000.00000000.00000000.00000 111
=&amp;gt;
Network:   192.168.0.0/29       11000000.10101000.00000000.00000 000
HostMin:   192.168.0.1          11000000.10101000.00000000.00000 001
HostMax:   192.168.0.6          11000000.10101000.00000000.00000 110
Broadcast: 192.168.0.7          11000000.10101000.00000000.00000 111
Hosts/Net: 6                     Class C, Private Internet```

&amp;gt; Then we need to restart the network. Please be aware of currently active SSH sessions as they might be dropped during restart. It’s a good moment to ensure you have KVM access to that server ;-)

```service netif restart```

&amp;gt; After reconnecting, our newly created loopback device is active:

```lo1: flags=8049&amp;lt;UP,LOOPBACK,RUNNING,MULTICAST&amp;gt; metric 0 mtu 16384
  options=600003&amp;lt;RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6&amp;gt;
  inet 192.168.0.1 netmask 0xfffffff8
  inet 192.168.0.2 netmask 0xffffffff
  inet 192.168.0.3 netmask 0xffffffff
  inet 192.168.0.4 netmask 0xffffffff
  inet 192.168.0.5 netmask 0xffffffff
  inet 192.168.0.6 netmask 0xffffffff
  inet 192.168.0.7 netmask 0xffffffff
  inet 192.168.0.8 netmask 0xffffffff
  inet 192.168.0.9 netmask 0xffffffff
  nd6 options=29&amp;lt;PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL&amp;gt;```

+ Setting up

&amp;gt; pf part of the FreeBSD base system, so we only have to configure and enable it. By this moment you should already have a clue of which services you want to expose. If this is not the case, just fix that file later on. In my example configuration, I have a jail running a webserver and another jail running a mailserver:

 +  Public IP address
```IP_PUB="1.2.3.4"```

 +  Packet normalization
```scrub in all```

 +  Allow outbound connections from within the jails
```nat on em0 from lo1:network to any -&amp;gt; (em0)```

 +  webserver jail at 192.168.0.2
```rdr on em0 proto tcp from any to $IP_PUB port 443 -&amp;gt; 192.168.0.2```

 + just an example in case you want to redirect to another port within your jail
```rdr on em0 proto tcp from any to $IP_PUB port 80 -&amp;gt; 192.168.0.2 port 8080```

 + mailserver jail at 192.168.0.3
```rdr on em0 proto tcp from any to $IP_PUB port 25 -&amp;gt; 192.168.0.3```
```rdr on em0 proto tcp from any to $IP_PUB port 587 -&amp;gt; 192.168.0.3```
```rdr on em0 proto tcp from any to $IP_PUB port 143 -&amp;gt; 192.168.0.3```
```rdr on em0 proto tcp from any to $IP_PUB port 993 -&amp;gt; 192.168.0.3```

&amp;gt; Now just enable pf like this (which is the equivalent of adding pf_enable=YES to /etc/rc.conf):

```sysrc pf_enable="YES"```

&amp;gt; and start it:

```service pf start```

+ Install ezjail

&amp;gt; Ezjail is a collection of scripts by erdgeist that allow you to easily manage your jails.

```pkg install ezjail```

&amp;gt; As an alternative, you could install ezjail from the ports tree. Now we need to set up the basejail which contains the shared base system for our jails. In fact, every jail that you create get’s will use that basejail to symlink directories related to the base system like /bin and /sbin. This can be accomplished by running

```ezjail-admin install```

&amp;gt; In the next step, we’ll copy the /etc/resolv.conf file from our host to the newjail, which is the template for newly created jails (the parts that are not provided by basejail), to ensure that domain resolution will work properly within our jails later on:

```cp /etc/resolv.conf /usr/jails/newjail/etc/```

&amp;gt; Last but not least, we enable ezjail and start it:

```sysrc ezjail_enable="YES"```
```service ezjail start```

+ Create a jail

&amp;gt; Creating a jail is as easy as it could probably be:

```ezjail-admin create webserver 192.168.0.2```
```ezjail-admin start webserver```

&amp;gt; Now you can access your jail using:

```ezjail-admin console webserver```

&amp;gt; Each jail contains a vanilla FreeBSD installation.

+ Deploy services

&amp;gt; Now you can spin up as many jails as you want to set up your services like web, mail or file shares. You should take care not to enable sshd within your jails, because that would cause problems with the service’s IP bindings. But this is not a problem, just SSH to the host and enter your jail using ezjail-admin console.
***

###[EuroBSDcon 2018 Talks &amp;amp; Schedule](https://2018.eurobsdcon.org/talks-schedule/)
***




##News Roundup
###[OpenBSD on an iBook G4](https://bobstechsite.com/openbsd-on-an-ibook-g4/)
&amp;gt; I've mentioned on social media and on the BTS podcast a few times that I wanted to try installing OpenBSD onto an old "snow white" iBook G4 I acquired last summer to see if I could make it a useful machine again in the year 2018.  This particular eBay purchase came with a 14" 1024x768 TFT screen, 1.07GHz PowerPC G4 processor, 1.5GB RAM, 100GB of HDD space and an ATI Radeon 9200 graphics card with 32 MB of SDRAM. The optical drive, ethernet port, battery &amp;amp; USB slots are also fully-functional. The only thing that doesn't work is the CMOS battery, but that's not unexpected for a device that was originally released in 2004.

+ Initial experiments

&amp;gt; This iBook originally arrived at my door running Apple Mac OSX Leopard and came with the original install disk, the iLife &amp;amp; iWork suites for 2008, various instruction manuals, a working power cable and a spare keyboard. As you'll see in the pictures I took for this post the characters on the buttons have started to wear away from 14 years of intensive use, but the replacement needs a very good clean before I decide to swap it in!

&amp;gt; After spending some time exploring the last version of OSX to support the IBM PowerPC processor architecture I tried to see if the hardware was capable of modern computing with Linux. Something I knew ahead of trying this was that the WiFi adapter was unlikely to work because it's a highly proprietary component designed by Apple to work specifically with OSX and nothing else, but I figured I could probably use a wireless USB dongle later to get around this limitation.

&amp;gt; Unfortunately I found that no recent versions of mainstream Linux distributions would boot off this machine. Debian has dropped support 32-bit PowerPC architectures and the PowerPC variants of Ubuntu 16.04 LTS (vanilla, MATE and Lubuntu) wouldn't even boot the installer! The only distribution I could reliably install on the hardware was Lubuntu 14.04 LTS.

&amp;gt; Unfortunately I'm not the biggest fan of the LXDE desktop for regular work and a lot of ported applications were old and broken because it clearly wasn't being maintained by people that use the hardware anymore. Ubuntu 14.04 is also approaching the end of its support life in early 2019, so this limited solution also has a limited shelf-life.

+ Over to BSD

&amp;gt; I discussed this problem with a few people on Mastodon and it was pointed out to me that OSX is built on the Darwin kernel, which happens to be a variant of BSD. NetBSD and OpenBSD fans in particular convinced me that their communities still saw the value of supporting these old pieces of kit and that I should give BSD a try.

&amp;gt; So yesterday evening I finally downloaded the "macppc" version of OpenBSD 6.3 with no idea what to expect. I hoped for the best but feared the worst because my last experience with this operating system was trying out PC-BSD in 2008 and discovering with disappointment that it didn't support any of the hardware on my Toshiba laptop.

&amp;gt; When I initially booted OpenBSD I was a little surprised to find the login screen provided no visual feedback when I typed in my password, but I can understand the security reasons for doing that. The initial desktop environment that was loaded was very basic. All I could see was a console output window, a terminal and a desktop switcher in the X11 environment the system had loaded.

&amp;gt; After a little Googling I found this blog post had some fantastic instructions to follow for the post-installation steps: https://sohcahtoa.org.uk/openbsd.html. I did have to adjust them slightly though because my iBook only has 1.5GB RAM and not every package that page suggests is available on macppc by default. You can see a full list here: https://ftp.openbsd.org/pub/OpenBSD/6.3/packages/powerpc/.

+ Final thoughts

&amp;gt; I was really impressed with the performance of OpenBSD's "macppc" port. It boots much faster than OSX Leopard on the same hardware and unlike Lubuntu 14.04 it doesn't randomly hang for no reason or crash if you launch something demanding like the GIMP.

&amp;gt; I was pleased to see that the command line tools I'm used to using on Linux have been ported across too. OpenBSD also had no issues with me performing basic desktop tasks on XFCE like browsing the web with NetSurf, playing audio files with VLC and editing images with the GIMP. Limited gaming is also theoretically possible if you're willing to build them (or an emulator) from source with SDL support.

&amp;gt; If I wanted to use this system for heavy duty work then I'd probably be inclined to run key applications like LibreOffice on a Raspberry Pi and then connect my iBook G4 to those using VNC or an SSH connection with X11 forwarding. BSD is UNIX after all, so using my ancient laptop as a dumb terminal should work reasonably well.

&amp;gt; In summary I was impressed with OpenBSD and its ability to breathe new life into this old Apple Mac. I'm genuinely excited about the idea of trying BSD with other devices on my network such as an old Asus Eee PC 900 netbook and at least one of the many Raspberry Pi devices I use. Whether I go the whole hog and replace Fedora on my main production laptop though remains to be seen!

***

###[The template user with PAM and login(1)](http://oshogbo.vexillium.org/blog/48)
&amp;gt; When you build a new service (or an appliance) you need your users to be able to configure it from the command line. To accomplish this you can create system accounts for all registered users in your service and assign them a special login shell which provides such limited functionality. This can be painful if you have a dynamic user database.
&amp;gt; Another challenge is authentication via remote services such as RADIUS. How can we implement  services when we authenticate through it and log into it as a different user? Furthermore, imagine a scenario when RADIUS decides on which account we have the right to access by sending an additional attribute.
&amp;gt; To address these two problems we can use a "template" user. Any of the PAM modules can set the value of the PAM_USER item. The value of this item will be used to determine which account we want to login. Only the "template" user must exist on the local password database, but the credential check can be omitted by the module.
&amp;gt; This functionality exists in the login(1) used by FreeBSD, HardenedBSD, DragonFlyBSD and illumos. The functionality doesn't exist in the login(1) used in NetBSD, and OpenBSD doesn't support PAM modules at all. In addition what  is also noteworthy is that such functionality was also in the OpenSSH but they decided to remove it and call it a security vulnerability (CVE 2015-6563). I can see how some people may have seen it that way, that’s why I recommend reading this article from an OpenPAM author and a FreeBSD security officer at the time.
&amp;gt; Knowing the background let's take a look at an example.

```PAM_EXTERN int
pam_sm_authenticate(pam_handle_t *pamh, int flags __unused,
    int argc __unused, const char *argv[] __unused)
{
        const char *user, *password;
        int err;

        err = pam_get_user(pamh, &amp;amp;user, NULL);
        if (err != PAM_SUCCESS)
                return (err);

        err = pam_get_authtok(pamh, PAM_AUTHTOK, &amp;amp;password, NULL);
        if (err == PAM_CONV_ERR)
                return (err);
        if (err != PAM_SUCCESS)
                return (PAM_AUTH_ERR);

        err = authenticate(user, password);
        if (err != PAM_SUCCESS) {
                return (err);
        }

        return (pam_set_item(pamh, PAM_USER, "template"));
}
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;In the listing above we have an example of a PAM module. The pam_get_user(3) provides a username. The pam_get_authtok(3) shows us a secret given by the user. Both functions allow us to give an optional prompt which should be shown to the user. The authenticate function is our crafted function which authenticates the user. In our first scenario we wanted to keep all users in an external database. If authentication is successful we then switch to a template user which has  a shell set up for a script allowing us to configure the machine. In our second scenario the authenticate function authenticates the user in RADIUS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Another step is to add our PAM module to the /etc/pam.d/system or to the /etc/pam.d/login configuration:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;auth sufficient pam_template.so no_warn allow_local&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Unfortunately the description of all these options goes beyond this article - if you would like to know more about it you can find them in the PAM manual. The last thing we need to do is to add our template user to the system which  you can do by the adduser(8) command or just simply modifying the /etc/master.passwd file and use pwd_mkdb(8) program:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;$ tail -n /etc/master.passwd&lt;/code&gt;&lt;br&gt;
&lt;code&gt;template:*:1000:1000::0:0:User &amp;amp;:/:/usr/local/bin/templatesh&lt;/code&gt;&lt;br&gt;
&lt;code&gt;$ sudo pwd_mkdb /etc/master.passwd&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;As you can see,the template user can be locked and we still can use it in our PAM module (the * character after login).&lt;br&gt;
I would like to thank Dag-Erling Smørgrav for pointing this functionality out to me when I was looking for it some time ago.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.ixsystems.com/blog/vmworld2018-countdown/" target="_blank" rel="nofollow noopener"&gt;iXsystems @ VMWorld&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://aravindh.net/posts/zfs_fileserver/" target="_blank" rel="nofollow noopener"&gt;ZFS file server&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What is the need?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At work, we run a compute cluster that uses an Isilon cluster as primary NAS storage. Excluding snapshots, we have about 200TB of research data, some of them in compressed formats, and others not. We needed an offsite backup file server that would constantly mirror our primary NAS and serve as a quick recovery source in case of a data loss in the the primary NAS. This offsite file server would be passive - will never face the wrath of the primary cluster workload.&lt;br&gt;
In addition to the role of a passive backup server, this solution would take on some passive report generation workloads as an ideal way of offloading some work from the primary NAS. The passive work is read-only.&lt;br&gt;
The backup server would keep snapshots in a best effort basis dating back to 10 years. However, this data on this backup server would be archived to tapes periodically.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A simple guidance of priorities:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Data integrity &amp;gt; Cost of solution &amp;gt; Storage capacity &amp;gt; Performance.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Why not enterprise NAS? NetApp FAS or EMC Isilon or the like?&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We decided that enterprise grade NAS like NetAPP FAS or EMC Isilon are prohibitively expensive and an overkill for our needs.&lt;br&gt;
An open source &amp;amp; cheaper alternative to enterprise grade filesystem with the level of durability we expect turned up to be ZFS. We’re already spoilt from using snapshots by a clever Copy-on-Write Filesystem(WAFL) by NetApp. ZFS providing snapshots in almost identical way was a big influence in the choice. This is also why we did not consider just a CentOS box with the default XFS filesystem.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD vs Debian for ZFS&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a backup server, a long-term solution. Stability and reliability are key requirements. ZFS on Linux may be popular at this time, but there is a lot of churn around its development, which means there is a higher probability of bugs like this to occur. We’re not looking for cutting edge features here. Perhaps, Linux would be considered in the future.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD + ZFS&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We already utilize FreeBSD and OpenBSD for infrastructure services and we have nothing but praises for the stability that the BSDs have provided us. We’d gladly use FreeBSD and OpenBSD wherever possible.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Okay, ZFS, but why not FreeNAS?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;IMHO, FreeNAS provides a integrated GUI management tool over FreeBSD for a novice user to setup and configure FreeBSD, ZFS, Jails and many other features. But, this user facing abstraction adds an extra layer of complexity to maintain that is just not worth it in simpler use cases like ours. For someone that appreciates the commandline interface, and understands FreeBSD enough to administer it, plain FreeBSD + ZFS is simpler and more robust than FreeNAS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Specifications&lt;/li&gt;
&lt;li&gt;Lenovo SR630 Rackserver&lt;/li&gt;
&lt;li&gt;2 X Intel Xeon silver 4110 CPUs&lt;/li&gt;
&lt;li&gt;768 GB of DDR4 ECC 2666 MHz RAM&lt;/li&gt;
&lt;li&gt;4 port SAS card configured in passthrough mode(JBOD)&lt;/li&gt;
&lt;li&gt;Intel network card with 10 Gb SFP+ ports&lt;/li&gt;
&lt;li&gt;128GB M.2 SSD for use as boot drive&lt;/li&gt;
&lt;li&gt;2 X HGST 4U60 JBOD&lt;/li&gt;
&lt;li&gt;120(2 X 60) X 10TB SAS disks&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://nanxiao.me/en/reflection-on-one-year-usage-of-openbsd/" target="_blank" rel="nofollow noopener"&gt;Reflection on one-year usage of OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I have used OpenBSD for more than one year, and it is time to give a summary of the experience:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;(1) What do I get from OpenBSD?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;a) A good UNIX tutorial. When I am curious about some UNIXcommands’ implementation, I will refer to OpenBSD source code, and I actually gain something every time. E.g., refresh socket programming skills from nc; know how to process file efficiently from cat.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;b) A better test bed. Although my work focus on developing programs on Linux, I will try to compile and run applications on OpenBSD if it is possible. One reason is OpenBSD usually gives more helpful warnings. E.g., hint like this:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;......&lt;/code&gt;&lt;br&gt;
&lt;code&gt;warning: sprintf() is often misused, please use snprintf()&lt;/code&gt;&lt;br&gt;
&lt;code&gt;......&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Or you can refer this post which I wrote before. The other is sometimes program run well on Linux may crash on OpenBSD, and OpenBSD can help you find hidden bugs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;c) Some handy tools. E.g. I find tcpbench is useful, so I ported it into Linux for my own usage (project is here).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;(2) What I give back to OpenBSD?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;a) Patches. Although most of them are trivial modifications, they are still my contributions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;b) Write blog posts to share experience about using OpenBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;c) Develop programs for OpenBSD/*BSD: lscpu and free.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;d) Porting programs into OpenBSD: E.g., I find google/benchmark is a nifty tool, but lacks OpenBSD support, I submitted PR and it is accepted. So you can use google/benchmark on OpenBSD now.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Generally speaking, the time invested on OpenBSD is rewarding. If you are still hesitating, why not give a shot?&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/BSD-Users-Stockholm/events/253447019/" target="_blank" rel="nofollow noopener"&gt;BSD Users Stockholm Meetup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PLeF8ZihVdpFfkICtA2HFsZecdC28_mrQh" target="_blank" rel="nofollow noopener"&gt;BSDCan 2018 Playlist&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://forum.opnsense.org/index.php?PHPSESSID=hvuv2kg4js2nlfpm73ut5ro8p2&amp;amp;topic=9280.0" target="_blank" rel="nofollow noopener"&gt;OPNsense 18.7 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/WLgdJwd5zcQ" target="_blank" rel="nofollow noopener"&gt;Testing TrueOS (FreeBSD derivative) on real hardware ThinkPad T410&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-jobs/2018-July/000946.html" target="_blank" rel="nofollow noopener"&gt;Kernel Hacker Wanted!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/changeset/base/337411" target="_blank" rel="nofollow noopener"&gt;Replace a pair of 8-bit writes to VGA memory with a single 16-bit write&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/changeset/base/337229" target="_blank" rel="nofollow noopener"&gt;Reduce taskq and context-switch cost of zio pipe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reviews.freebsd.org/D16606" target="_blank" rel="nofollow noopener"&gt;Proposed FreeBSD Memory Management change, expected to improve ZFS ARC interactions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Anian_Z - &lt;a href="http://dpaste.com/093FC8R#wrap" target="_blank" rel="nofollow noopener"&gt;Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Robert - &lt;a href="http://dpaste.com/0GG7Q2A#wrap" target="_blank" rel="nofollow noopener"&gt;Pool question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Lain - &lt;a href="http://dpaste.com/2BWPX9C" target="_blank" rel="nofollow noopener"&gt;Congratulations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Thomas - &lt;a href="http://dpaste.com/25NGAP3#wrap" target="_blank" rel="nofollow noopener"&gt;L2arc&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd,openbsd,netbsd,dragonflybsd,trueos,trident,hardenedbsd,tutorial,howto,guide,bsd,interview,eurobsdcon,pam,zfs</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The strange birth and long life of Unix, FreeBSD jail with a single public IP, EuroBSDcon 2018 talks and schedule, OpenBSD on G4 iBook, PAM template user, ZFS file server, and reflections on one year of OpenBSD use.</p>

<h3>Picking the contest winner</h3>

<ol>
<li>Vincent</li>
<li>Bostjan</li>
<li>Andrew</li>
<li>Klaus-Hendrik</li>
<li>Will</li>
<li>Toby</li>
<li>Johnny</li>
<li>David</li>
<li>manfrom</li>
<li>Niclas</li>
<li>Gary</li>
<li>Eddy</li>
<li>Bruce</li>
<li>Lizz</li>
<li>Jim</li>
</ol>

<p><a href="https://www.random.org/integers/?num=1&amp;min=0&amp;max=15&amp;col=1&amp;base=10&amp;format=html&amp;rnd=new" target="_blank" rel="nofollow noopener">Random number generator</a></p>

<p>##Headlines<br>
###<a href="https://spectrum.ieee.org/tech-history/cyberspace/the-strange-birth-and-long-life-of-unix" target="_blank" rel="nofollow noopener">The Strange Birth and Long Life of Unix</a></p>

<blockquote>
<p>They say that when one door closes on you, another opens. People generally offer this bit of wisdom just to lend some solace after a misfortune. But sometimes it’s actually true. It certainly was for Ken Thompson and the late Dennis Ritchie, two of the greats of 20th-century information technology, when they created the Unix operating system, now considered one of the most inspiring and influential pieces of software ever written.<br>
A door had slammed shut for Thompson and Ritchie in March of 1969, when their employer, the American Telephone &amp; Telegraph Co., withdrew from a collaborative project with the Massachusetts Institute of Technology and General Electric to create an interactive time-sharing system called Multics, which stood for “Multiplexed Information and Computing Service.” Time-sharing, a technique that lets multiple people use a single computer simultaneously, had been invented only a decade earlier. Multics was to combine time-sharing with other technological advances of the era, allowing users to phone a computer from remote terminals and then read e-mail, edit documents, run calculations, and so forth. It was to be a great leap forward from the way computers were mostly being used, with people tediously preparing and submitting batch jobs on punch cards to be run one by one.<br>
Over five years, AT&amp;T invested millions in the Multics project, purchasing a GE-645 mainframe computer and dedicating to the effort many of the top researchers at the company’s renowned Bell Telephone Laboratories—­including Thompson and Ritchie, Joseph F. Ossanna, Stuart Feldman, M. Douglas McIlroy, and the late Robert Morris. But the new system was too ambitious, and it fell troublingly behind schedule. In the end, AT&amp;T’s corporate leaders decided to pull the plug.<br>
After AT&amp;T’s departure from the Multics project, managers at Bell Labs, in Murray Hill, N.J., became reluctant to allow any further work on computer operating systems, leaving some researchers there very frustrated. Although Multics hadn’t met many of its objectives, it had, as Ritchie later recalled, provided them with a “convenient interactive computing service, a good environment in which to do programming, [and] a system around which a fellowship could form.” Suddenly, it was gone.<br>
With heavy hearts, the researchers returned to using their old batch system. At such an inauspicious moment, with management dead set against the idea, it surely would have seemed foolhardy to continue designing computer operating systems. But that’s exactly what Thompson, Ritchie, and many of their Bell Labs colleagues did. Now, some 40 years later, we should be thankful that these programmers ignored their bosses and continued their labor of love, which gave the world Unix, one of the greatest computer operating systems of all time.<br>
The rogue project began in earnest when Thompson, Ritchie, and a third Bell Labs colleague, Rudd Canaday, began to sketch out on paper the design for a file system. Thompson then wrote the basics of a new operating system for the lab’s GE-645 mainframe. But with the Multics project ended, so too was the need for the GE-645. Thompson realized that any further programming he did on it was likely to go nowhere, so he dropped the effort.<br>
Thompson had passed some of his time after the demise of Multics writing a computer game called Space Travel, which simulated all the major bodies in the solar system along with a spaceship that could fly around them. Written for the GE-645, Space Travel was clunky to play—and expensive: roughly US $75 a game for the CPU time. Hunting around, Thompson came across a dusty PDP-7, a minicomputer built by Digital Equipment Corp. that some of his Bell Labs colleagues had purchased earlier for a circuit-analysis project. Thompson rewrote Space Travel to run on it.<br>
And with that little programming exercise, a second door cracked ajar. It was to swing wide open during the summer of 1969 when Thompson’s wife, Bonnie, spent a month visiting his parents to show off their newborn son. Thompson took advantage of his temporary bachelor existence to write a good chunk of what would become the Unix operating system for the discarded PDP‑7. The name Unix stems from a joke one of Thompson’s colleagues made: Because the new operating system supported only one user (Thompson), he saw it as an emasculated version of Multics and dubbed it “Un-multiplexed Information and Computing Service,” or Unics. The name later morphed into Unix.<br>
Initially, Thompson used the GE-645 to compose and compile the software, which he then downloaded to the PDP‑7. But he soon weaned himself from the mainframe, and by the end of 1969 he was able to write operating-system code on the PDP-7 itself. That was a step in the right direction. But Thompson and the others helping him knew that the PDP‑7, which was already obsolete, would not be able to sustain their skunkworks for long. They also knew that the lab’s management wasn’t about to allow any more research on operating systems.<br>
So Thompson and Ritchie got crea­tive. They formulated a proposal to their bosses to buy one of DEC’s newer minicomputers, a PDP-11, but couched the request in especially palatable terms. They said they were aiming to create tools for editing and formatting text, what you might call a word-processing system today. The fact that they would also have to write an operating system for the new machine to support the editor and text formatter was almost a footnote.<br>
Management took the bait, and an order for a PDP-11 was placed in May 1970. The machine itself arrived soon after, although the disk drives for it took more than six months to appear. During the interim, Thompson, Ritchie, and others continued to develop Unix on the PDP-7. After the PDP-11’s disks were installed, the researchers moved their increasingly complex operating system over to the new machine. Next they brought over the roff text formatter written by Ossanna and derived from the runoff program, which had been used in an earlier time-sharing system.<br>
Unix was put to its first real-world test within Bell Labs when three typists from AT&amp;T’s patents department began using it to write, edit, and format patent applications. It was a hit. The patent department adopted the system wholeheartedly, which gave the researchers enough credibility to convince management to purchase another machine—a newer and more powerful PDP-11 model—allowing their stealth work on Unix to continue.<br>
During its earliest days, Unix evolved constantly, so the idea of issuing named versions or releases seemed inappropriate. But the researchers did issue new editions of the programmer’s manual periodically, and the early Unix systems were named after each such edition. The first edition of the manual was completed in November 1971.<br>
So what did the first edition of Unix offer that made it so great? For one thing, the system provided a hierarchical file system, which allowed something we all now take for granted: Files could be placed in directories—or equivalently, folders—that in turn could be put within other directories. Each file could contain no more than 64 kilobytes, and its name could be no more than six characters long. These restrictions seem awkwardly limiting now, but at the time they appeared perfectly adequate.<br>
Although Unix was ostensibly created for word processing, the only editor available in 1971 was the line-oriented ed. Today, ed is still the only editor guaranteed to be present on all Unix systems. Apart from the text-processing and general system applications, the first edition of Unix included games such as blackjack, chess, and tic-tac-toe. For the system administrator, there were tools to dump and restore disk images to magnetic tape, to read and write paper tapes, and to create, check, mount, and unmount removable disk packs.<br>
Most important, the system offered an interactive environment that by this time allowed time-sharing, so several people could use a single machine at once. Various programming languages were available to them, including BASIC, Fortran, the scripting of Unix commands, assembly language, and B. The last of these, a descendant of a BCPL (Basic Combined Programming Language), ultimately evolved into the immensely popular C language, which Ritchie created while also working on Unix.<br>
The first edition of Unix let programmers call 34 different low-level routines built into the operating system. It’s a testament to the system’s enduring nature that nearly all of these system calls are still available—and still heavily used—on modern Unix and Linux systems four decades on. For its time, first-­edition Unix provided a remarkably powerful environment for software development. Yet it contained just 4200 lines of code at its heart and occupied a measly 16 KB of main memory when it ran.<br>
Unix’s great influence can be traced in part to its elegant design, simplicity, portability, and serendipitous timing. But perhaps even more important was the devoted user community that soon grew up around it. And that came about only by an accident of its unique history.<br>
The story goes like this: For years Unix remained nothing more than a Bell Labs research project, but by 1973 its authors felt the system was mature enough for them to present a paper on its design and implementation at a symposium of the Association for Computing Machinery. That paper was published in 1974 in the Communications of the ACM. Its appearance brought a flurry of requests for copies of the software.<br>
This put AT&amp;T in a bind. In 1956, AT&amp;T had agreed to a U.S government consent decree that prevented the company from selling products not directly related to telephones and telecommunications, in return for its legal monopoly status in running the country’s long-distance phone service. So Unix could not be sold as a product. Instead, AT&amp;T released the Unix source code under license to anyone who asked, charging only a nominal fee. The critical wrinkle here was that the consent decree prevented AT&amp;T from supporting Unix. Indeed, for many years Bell Labs researchers proudly displayed their Unix policy at conferences with a slide that read, “No advertising, no support, no bug fixes, payment in advance.”<br>
With no other channels of support available to them, early Unix adopters banded together for mutual assistance, forming a loose network of user groups all over the world. They had the source code, which helped. And they didn’t view Unix as a standard software product, because nobody seemed to be looking after it. So these early Unix users themselves set about fixing bugs, writing new tools, and generally improving the system as they saw fit.<br>
The Usenix user group acted as a clearinghouse for the exchange of Unix software in the United States. People could send in magnetic tapes with new software or fixes to the system and get back tapes with the software and fixes that Usenix had received from others. In Australia, the University of New South Wales and the University of Sydney produced a more robust version of Unix, the Australian Unix Share Accounting Method, which could cope with larger numbers of concurrent users and offered better performance.<br>
By the mid-1970s, the environment of sharing that had sprung up around Unix resembled the open-source movement so prevalent today. Users far and wide were enthusiastically enhancing the system, and many of their improvements were being fed back to Bell Labs for incorporation in future releases. But as Unix became more popular, AT&amp;T’s lawyers began looking harder at what various licensees were doing with their systems.<br>
One person who caught their eye was John Lions, a computer scientist then teaching at the University of New South Wales, in Australia. In 1977, he published what was probably the most famous computing book of the time, A Commentary on the Unix Operating System, which contained an annotated listing of the central source code for Unix.<br>
Unix’s licensing conditions allowed for the exchange of source code, and initially, Lions’s book was sold to licensees. But by 1979, AT&amp;T’s lawyers had clamped down on the book’s distribution and use in academic classes. The anti­authoritarian Unix community reacted as you might expect, and samizdat copies of the book spread like wildfire. Many of us have nearly unreadable nth-­generation photocopies of the original book.<br>
End runs around AT&amp;T’s lawyers indeed became the norm—even at Bell Labs. For example, between the release of the sixth edition of Unix in 1975 and the seventh edition in 1979, Thompson collected dozens of important bug fixes to the system, coming both from within and outside of Bell Labs. He wanted these to filter out to the existing Unix user base, but the company’s lawyers felt that this would constitute a form of support and balked at their release. Nevertheless, those bug fixes soon became widely distributed through unofficial channels. For instance, Lou Katz, the founding president of Usenix, received a phone call one day telling him that if he went down to a certain spot on Mountain Avenue (where Bell Labs was located) at 2 p.m., he would find something of interest. Sure enough, Katz found a magnetic tape with the bug fixes, which were rapidly in the hands of countless users.<br>
By the end of the 1970s, Unix, which had started a decade earlier as a reaction against the loss of a comfortable programming environment, was growing like a weed throughout academia and the IT industry. Unix would flower in the early 1980s before reaching the height of its popularity in the early 1990s.<br>
For many reasons, Unix has since given way to other commercial and noncommercial systems. But its legacy, that of an elegant, well-designed, comfortable environment for software development, lives on. In recognition of their accomplishment, Thompson and Ritchie were given the Japan Prize earlier this year, adding to a collection of honors that includes the United States’ National Medal of Technology and Innovation and the Association of Computing Machinery’s Turing Award. Many other, often very personal, tributes to Ritchie and his enormous influence on computing were widely shared after his death this past October.<br>
Unix is indeed one of the most influential operating systems ever invented. Its direct descendants now number in the hundreds. On one side of the family tree are various versions of Unix proper, which began to be commercialized in the 1980s after the Bell System monopoly was broken up, freeing AT&amp;T from the stipulations of the 1956 consent decree. On the other side are various Unix-like operating systems derived from the version of Unix developed at the University of California, Berkeley, including the one Apple uses today on its computers, OS X. I say “Unix-like” because the developers of the Berkeley Software Distribution (BSD) Unix on which these systems were based worked hard to remove all the original AT&amp;T code so that their software and its descendants would be freely distributable.<br>
The effectiveness of those efforts were, however, called into question when the AT&amp;T subsidiary Unix System Laboratories filed suit against Berkeley Software Design and the Regents of the University of California in 1992 over intellectual property rights to this software. The university in turn filed a counterclaim against AT&amp;T for breaches to the license it provided AT&amp;T for the use of code developed at Berkeley. The ensuing legal quagmire slowed the development of free Unix-like clones, including 386BSD, which was designed for the Intel 386 chip, the CPU then found in many IBM PCs.<br>
Had this operating system been available at the time, Linus Torvalds says he probably wouldn’t have created Linux, an open-source Unix-like operating system he developed from scratch for PCs in the early 1990s. Linux has carried the Unix baton forward into the 21st century, powering a wide range of digital gadgets including wireless routers, televisions, desktop PCs, and Android smartphones. It even runs some supercomputers.<br>
Although AT&amp;T quickly settled its legal disputes with Berkeley Software Design and the University of California, legal wrangling over intellectual property claims to various parts of Unix and Linux have continued over the years, often involving byzantine corporate relations. By 2004, no fewer than five major lawsuits had been filed. Just this past August, a software company called the TSG Group (formerly known as the SCO Group), lost a bid in court to claim ownership of Unix copyrights that Novell had acquired when it purchased the Unix System Laboratories from AT&amp;T in 1993.<br>
As a programmer and Unix historian, I can’t help but find all this legal sparring a bit sad. From the very start, the authors and users of Unix worked as best they could to build and share, even if that meant defying authority. That outpouring of selflessness stands in sharp contrast to the greed that has driven subsequent legal battles over the ownership of Unix.<br>
The world of computer hardware and software moves forward startlingly fast. For IT professionals, the rapid pace of change is typically a wonderful thing. But it makes us susceptible to the loss of our own history, including important lessons from the past. To address this issue in a small way, in 1995 I started a mailing list of old-time Unix ­aficionados. That effort morphed into the Unix Heritage Society. Our goal is not only to save the history of Unix but also to collect and curate these old systems and, where possible, bring them back to life. With help from many talented members of this society, I was able to restore much of the old Unix software to working order, including Ritchie’s first C compiler from 1972 and the first Unix system to be written in C, dating from 1973.<br>
One holy grail that eluded us for a long time was the first edition of Unix in any form, electronic or otherwise. Then, in 2006, Al Kossow from the Computer History Museum, in Mountain View, Calif., unearthed a printed study of Unix dated 1972, which not only covered the internal workings of Unix but also included a complete assembly listing of the kernel, the main component of this operating system. This was an amazing find—like discovering an old Ford Model T collecting dust in a corner of a barn. But we didn’t just want to admire the chrome work from afar. We wanted to see the thing run again.<br>
In 2008, Tim Newsham, an independent programmer in Hawaii, and I assembled a team of like-minded Unix enthusiasts and set out to bring this ancient system back from the dead. The work was technically arduous and often frustrating, but in the end, we had a copy of the first edition of Unix running on an emulated PDP-11/20. We sent out messages announcing our success to all those we thought would be interested. Thompson, always succinct, simply replied, “Amazing.” Indeed, his brainchild was amazing, and I’ve been happy to do what I can to make it, and the story behind it, better known.</p>
</blockquote>

<hr>

<p><strong>Digital Ocean</strong><br>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">http://do.co/bsdnow</a></p>

<p>###<a href="https://www.davd.eu/posts-freebsd-jails-with-a-single-public-ip-address/" target="_blank" rel="nofollow noopener">FreeBSD jails with a single public IP address</a></p>

<blockquote>
<p>Jails in FreeBSD provide a simple yet flexible way to set up a proper server layout. In the most setups the actual server only acts as the host system for the jails while the applications themselves run within those independent containers. Traditionally every jail has it’s own IP for the user to be able to address the individual services. But if you’re still using IPv4 this might get you in trouble as the most hosters don’t offer more than one single public IP address per server.</p>
</blockquote>

<ul>
<li>Create the internal network</li>
</ul>

<blockquote>
<p>In this case NAT (“Network Address Translation”) is a good way to expose services in different jails using the same IP address.<br>
First, let’s create an internal network (“NAT network”) at 192.168.0.0/24. You could generally use any private IPv4 address space as specified in RFC 1918. Here’s an overview: <a href="https://en.wikipedia.org/wiki/Private_network" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/Private_network</a>. Using pf, FreeBSD’s firewall, we will map requests on different ports of the same public IP address to our individual jails as well as provide network access to the jails themselves.<br>
First let’s check which network devices are available. In my case there’s em0 which provides connectivity to the internet and lo0, the local loopback device.</p>
</blockquote>

<pre><code class="language-em0:">  options=209b&lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC&gt;
  [...]
  inet 172.31.1.100 netmask 0xffffff00 broadcast 172.31.1.255
  nd6 options=23&lt;PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL&gt;
  media: Ethernet autoselect (1000baseT &lt;full-duplex&gt;)
  status: active

lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; metric 0 mtu 16384
  options=600003&lt;RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6&gt;
  inet6 ::1 prefixlen 128
  inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
  inet 127.0.0.1 netmask 0xff000000
  nd6 options=21&lt;PERFORMNUD,AUTO_LINKLOCAL&gt;```

&gt; For our internal network, we create a cloned loopback device called lo1. Therefore we need to customize the /etc/rc.conf file, adding the following two lines:

```cloned_interfaces="lo1"
ipv4_addrs_lo1="192.168.0.1-9/29"```

&gt; This defines a /29 network, offering IP addresses for a maximum of 6 jails:

```ipcalc 192.168.0.1/29
Address:   192.168.0.1          11000000.10101000.00000000.00000 001
Netmask:   255.255.255.248 = 29 11111111.11111111.11111111.11111 000
Wildcard:  0.0.0.7              00000000.00000000.00000000.00000 111
=&gt;
Network:   192.168.0.0/29       11000000.10101000.00000000.00000 000
HostMin:   192.168.0.1          11000000.10101000.00000000.00000 001
HostMax:   192.168.0.6          11000000.10101000.00000000.00000 110
Broadcast: 192.168.0.7          11000000.10101000.00000000.00000 111
Hosts/Net: 6                     Class C, Private Internet```

&gt; Then we need to restart the network. Please be aware of currently active SSH sessions as they might be dropped during restart. It’s a good moment to ensure you have KVM access to that server ;-)

```service netif restart```

&gt; After reconnecting, our newly created loopback device is active:

```lo1: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; metric 0 mtu 16384
  options=600003&lt;RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6&gt;
  inet 192.168.0.1 netmask 0xfffffff8
  inet 192.168.0.2 netmask 0xffffffff
  inet 192.168.0.3 netmask 0xffffffff
  inet 192.168.0.4 netmask 0xffffffff
  inet 192.168.0.5 netmask 0xffffffff
  inet 192.168.0.6 netmask 0xffffffff
  inet 192.168.0.7 netmask 0xffffffff
  inet 192.168.0.8 netmask 0xffffffff
  inet 192.168.0.9 netmask 0xffffffff
  nd6 options=29&lt;PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL&gt;```

+ Setting up

&gt; pf part of the FreeBSD base system, so we only have to configure and enable it. By this moment you should already have a clue of which services you want to expose. If this is not the case, just fix that file later on. In my example configuration, I have a jail running a webserver and another jail running a mailserver:

 +  Public IP address
```IP_PUB="1.2.3.4"```

 +  Packet normalization
```scrub in all```

 +  Allow outbound connections from within the jails
```nat on em0 from lo1:network to any -&gt; (em0)```

 +  webserver jail at 192.168.0.2
```rdr on em0 proto tcp from any to $IP_PUB port 443 -&gt; 192.168.0.2```

 + just an example in case you want to redirect to another port within your jail
```rdr on em0 proto tcp from any to $IP_PUB port 80 -&gt; 192.168.0.2 port 8080```

 + mailserver jail at 192.168.0.3
```rdr on em0 proto tcp from any to $IP_PUB port 25 -&gt; 192.168.0.3```
```rdr on em0 proto tcp from any to $IP_PUB port 587 -&gt; 192.168.0.3```
```rdr on em0 proto tcp from any to $IP_PUB port 143 -&gt; 192.168.0.3```
```rdr on em0 proto tcp from any to $IP_PUB port 993 -&gt; 192.168.0.3```

&gt; Now just enable pf like this (which is the equivalent of adding pf_enable=YES to /etc/rc.conf):

```sysrc pf_enable="YES"```

&gt; and start it:

```service pf start```

+ Install ezjail

&gt; Ezjail is a collection of scripts by erdgeist that allow you to easily manage your jails.

```pkg install ezjail```

&gt; As an alternative, you could install ezjail from the ports tree. Now we need to set up the basejail which contains the shared base system for our jails. In fact, every jail that you create get’s will use that basejail to symlink directories related to the base system like /bin and /sbin. This can be accomplished by running

```ezjail-admin install```

&gt; In the next step, we’ll copy the /etc/resolv.conf file from our host to the newjail, which is the template for newly created jails (the parts that are not provided by basejail), to ensure that domain resolution will work properly within our jails later on:

```cp /etc/resolv.conf /usr/jails/newjail/etc/```

&gt; Last but not least, we enable ezjail and start it:

```sysrc ezjail_enable="YES"```
```service ezjail start```

+ Create a jail

&gt; Creating a jail is as easy as it could probably be:

```ezjail-admin create webserver 192.168.0.2```
```ezjail-admin start webserver```

&gt; Now you can access your jail using:

```ezjail-admin console webserver```

&gt; Each jail contains a vanilla FreeBSD installation.

+ Deploy services

&gt; Now you can spin up as many jails as you want to set up your services like web, mail or file shares. You should take care not to enable sshd within your jails, because that would cause problems with the service’s IP bindings. But this is not a problem, just SSH to the host and enter your jail using ezjail-admin console.
***

###[EuroBSDcon 2018 Talks &amp; Schedule](https://2018.eurobsdcon.org/talks-schedule/)
***




##News Roundup
###[OpenBSD on an iBook G4](https://bobstechsite.com/openbsd-on-an-ibook-g4/)
&gt; I've mentioned on social media and on the BTS podcast a few times that I wanted to try installing OpenBSD onto an old "snow white" iBook G4 I acquired last summer to see if I could make it a useful machine again in the year 2018.  This particular eBay purchase came with a 14" 1024x768 TFT screen, 1.07GHz PowerPC G4 processor, 1.5GB RAM, 100GB of HDD space and an ATI Radeon 9200 graphics card with 32 MB of SDRAM. The optical drive, ethernet port, battery &amp; USB slots are also fully-functional. The only thing that doesn't work is the CMOS battery, but that's not unexpected for a device that was originally released in 2004.

+ Initial experiments

&gt; This iBook originally arrived at my door running Apple Mac OSX Leopard and came with the original install disk, the iLife &amp; iWork suites for 2008, various instruction manuals, a working power cable and a spare keyboard. As you'll see in the pictures I took for this post the characters on the buttons have started to wear away from 14 years of intensive use, but the replacement needs a very good clean before I decide to swap it in!

&gt; After spending some time exploring the last version of OSX to support the IBM PowerPC processor architecture I tried to see if the hardware was capable of modern computing with Linux. Something I knew ahead of trying this was that the WiFi adapter was unlikely to work because it's a highly proprietary component designed by Apple to work specifically with OSX and nothing else, but I figured I could probably use a wireless USB dongle later to get around this limitation.

&gt; Unfortunately I found that no recent versions of mainstream Linux distributions would boot off this machine. Debian has dropped support 32-bit PowerPC architectures and the PowerPC variants of Ubuntu 16.04 LTS (vanilla, MATE and Lubuntu) wouldn't even boot the installer! The only distribution I could reliably install on the hardware was Lubuntu 14.04 LTS.

&gt; Unfortunately I'm not the biggest fan of the LXDE desktop for regular work and a lot of ported applications were old and broken because it clearly wasn't being maintained by people that use the hardware anymore. Ubuntu 14.04 is also approaching the end of its support life in early 2019, so this limited solution also has a limited shelf-life.

+ Over to BSD

&gt; I discussed this problem with a few people on Mastodon and it was pointed out to me that OSX is built on the Darwin kernel, which happens to be a variant of BSD. NetBSD and OpenBSD fans in particular convinced me that their communities still saw the value of supporting these old pieces of kit and that I should give BSD a try.

&gt; So yesterday evening I finally downloaded the "macppc" version of OpenBSD 6.3 with no idea what to expect. I hoped for the best but feared the worst because my last experience with this operating system was trying out PC-BSD in 2008 and discovering with disappointment that it didn't support any of the hardware on my Toshiba laptop.

&gt; When I initially booted OpenBSD I was a little surprised to find the login screen provided no visual feedback when I typed in my password, but I can understand the security reasons for doing that. The initial desktop environment that was loaded was very basic. All I could see was a console output window, a terminal and a desktop switcher in the X11 environment the system had loaded.

&gt; After a little Googling I found this blog post had some fantastic instructions to follow for the post-installation steps: https://sohcahtoa.org.uk/openbsd.html. I did have to adjust them slightly though because my iBook only has 1.5GB RAM and not every package that page suggests is available on macppc by default. You can see a full list here: https://ftp.openbsd.org/pub/OpenBSD/6.3/packages/powerpc/.

+ Final thoughts

&gt; I was really impressed with the performance of OpenBSD's "macppc" port. It boots much faster than OSX Leopard on the same hardware and unlike Lubuntu 14.04 it doesn't randomly hang for no reason or crash if you launch something demanding like the GIMP.

&gt; I was pleased to see that the command line tools I'm used to using on Linux have been ported across too. OpenBSD also had no issues with me performing basic desktop tasks on XFCE like browsing the web with NetSurf, playing audio files with VLC and editing images with the GIMP. Limited gaming is also theoretically possible if you're willing to build them (or an emulator) from source with SDL support.

&gt; If I wanted to use this system for heavy duty work then I'd probably be inclined to run key applications like LibreOffice on a Raspberry Pi and then connect my iBook G4 to those using VNC or an SSH connection with X11 forwarding. BSD is UNIX after all, so using my ancient laptop as a dumb terminal should work reasonably well.

&gt; In summary I was impressed with OpenBSD and its ability to breathe new life into this old Apple Mac. I'm genuinely excited about the idea of trying BSD with other devices on my network such as an old Asus Eee PC 900 netbook and at least one of the many Raspberry Pi devices I use. Whether I go the whole hog and replace Fedora on my main production laptop though remains to be seen!

***

###[The template user with PAM and login(1)](http://oshogbo.vexillium.org/blog/48)
&gt; When you build a new service (or an appliance) you need your users to be able to configure it from the command line. To accomplish this you can create system accounts for all registered users in your service and assign them a special login shell which provides such limited functionality. This can be painful if you have a dynamic user database.
&gt; Another challenge is authentication via remote services such as RADIUS. How can we implement  services when we authenticate through it and log into it as a different user? Furthermore, imagine a scenario when RADIUS decides on which account we have the right to access by sending an additional attribute.
&gt; To address these two problems we can use a "template" user. Any of the PAM modules can set the value of the PAM_USER item. The value of this item will be used to determine which account we want to login. Only the "template" user must exist on the local password database, but the credential check can be omitted by the module.
&gt; This functionality exists in the login(1) used by FreeBSD, HardenedBSD, DragonFlyBSD and illumos. The functionality doesn't exist in the login(1) used in NetBSD, and OpenBSD doesn't support PAM modules at all. In addition what  is also noteworthy is that such functionality was also in the OpenSSH but they decided to remove it and call it a security vulnerability (CVE 2015-6563). I can see how some people may have seen it that way, that’s why I recommend reading this article from an OpenPAM author and a FreeBSD security officer at the time.
&gt; Knowing the background let's take a look at an example.

```PAM_EXTERN int
pam_sm_authenticate(pam_handle_t *pamh, int flags __unused,
    int argc __unused, const char *argv[] __unused)
{
        const char *user, *password;
        int err;

        err = pam_get_user(pamh, &amp;user, NULL);
        if (err != PAM_SUCCESS)
                return (err);

        err = pam_get_authtok(pamh, PAM_AUTHTOK, &amp;password, NULL);
        if (err == PAM_CONV_ERR)
                return (err);
        if (err != PAM_SUCCESS)
                return (PAM_AUTH_ERR);

        err = authenticate(user, password);
        if (err != PAM_SUCCESS) {
                return (err);
        }

        return (pam_set_item(pamh, PAM_USER, "template"));
}
</code></pre>

<blockquote>
<p>In the listing above we have an example of a PAM module. The pam_get_user(3) provides a username. The pam_get_authtok(3) shows us a secret given by the user. Both functions allow us to give an optional prompt which should be shown to the user. The authenticate function is our crafted function which authenticates the user. In our first scenario we wanted to keep all users in an external database. If authentication is successful we then switch to a template user which has  a shell set up for a script allowing us to configure the machine. In our second scenario the authenticate function authenticates the user in RADIUS.</p>
</blockquote>

<blockquote>
<p>Another step is to add our PAM module to the /etc/pam.d/system or to the /etc/pam.d/login configuration:</p>
</blockquote>

<p><code>auth sufficient pam_template.so no_warn allow_local</code></p>

<blockquote>
<p>Unfortunately the description of all these options goes beyond this article - if you would like to know more about it you can find them in the PAM manual. The last thing we need to do is to add our template user to the system which  you can do by the adduser(8) command or just simply modifying the /etc/master.passwd file and use pwd_mkdb(8) program:</p>
</blockquote>

<p><code>$ tail -n /etc/master.passwd</code><br>
<code>template:*:1000:1000::0:0:User &amp;:/:/usr/local/bin/templatesh</code><br>
<code>$ sudo pwd_mkdb /etc/master.passwd</code></p>

<blockquote>
<p>As you can see,the template user can be locked and we still can use it in our PAM module (the * character after login).<br>
I would like to thank Dag-Erling Smørgrav for pointing this functionality out to me when I was looking for it some time ago.</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong><br>
<a href="https://www.ixsystems.com/blog/vmworld2018-countdown/" target="_blank" rel="nofollow noopener">iXsystems @ VMWorld</a></p>

<p>###<a href="https://aravindh.net/posts/zfs_fileserver/" target="_blank" rel="nofollow noopener">ZFS file server</a></p>

<ul>
<li>What is the need?</li>
</ul>

<blockquote>
<p>At work, we run a compute cluster that uses an Isilon cluster as primary NAS storage. Excluding snapshots, we have about 200TB of research data, some of them in compressed formats, and others not. We needed an offsite backup file server that would constantly mirror our primary NAS and serve as a quick recovery source in case of a data loss in the the primary NAS. This offsite file server would be passive - will never face the wrath of the primary cluster workload.<br>
In addition to the role of a passive backup server, this solution would take on some passive report generation workloads as an ideal way of offloading some work from the primary NAS. The passive work is read-only.<br>
The backup server would keep snapshots in a best effort basis dating back to 10 years. However, this data on this backup server would be archived to tapes periodically.</p>
</blockquote>

<ul>
<li>
<p>A simple guidance of priorities:</p>
</li>
<li>
<p>Data integrity &gt; Cost of solution &gt; Storage capacity &gt; Performance.</p>
</li>
<li>
<p>Why not enterprise NAS? NetApp FAS or EMC Isilon or the like?</p>
</li>
</ul>

<blockquote>
<p>We decided that enterprise grade NAS like NetAPP FAS or EMC Isilon are prohibitively expensive and an overkill for our needs.<br>
An open source &amp; cheaper alternative to enterprise grade filesystem with the level of durability we expect turned up to be ZFS. We’re already spoilt from using snapshots by a clever Copy-on-Write Filesystem(WAFL) by NetApp. ZFS providing snapshots in almost identical way was a big influence in the choice. This is also why we did not consider just a CentOS box with the default XFS filesystem.</p>
</blockquote>

<ul>
<li>FreeBSD vs Debian for ZFS</li>
</ul>

<blockquote>
<p>This is a backup server, a long-term solution. Stability and reliability are key requirements. ZFS on Linux may be popular at this time, but there is a lot of churn around its development, which means there is a higher probability of bugs like this to occur. We’re not looking for cutting edge features here. Perhaps, Linux would be considered in the future.</p>
</blockquote>

<ul>
<li>FreeBSD + ZFS</li>
</ul>

<blockquote>
<p>We already utilize FreeBSD and OpenBSD for infrastructure services and we have nothing but praises for the stability that the BSDs have provided us. We’d gladly use FreeBSD and OpenBSD wherever possible.</p>
</blockquote>

<ul>
<li>Okay, ZFS, but why not FreeNAS?</li>
</ul>

<blockquote>
<p>IMHO, FreeNAS provides a integrated GUI management tool over FreeBSD for a novice user to setup and configure FreeBSD, ZFS, Jails and many other features. But, this user facing abstraction adds an extra layer of complexity to maintain that is just not worth it in simpler use cases like ours. For someone that appreciates the commandline interface, and understands FreeBSD enough to administer it, plain FreeBSD + ZFS is simpler and more robust than FreeNAS.</p>
</blockquote>

<ul>
<li>Specifications</li>
<li>Lenovo SR630 Rackserver</li>
<li>2 X Intel Xeon silver 4110 CPUs</li>
<li>768 GB of DDR4 ECC 2666 MHz RAM</li>
<li>4 port SAS card configured in passthrough mode(JBOD)</li>
<li>Intel network card with 10 Gb SFP+ ports</li>
<li>128GB M.2 SSD for use as boot drive</li>
<li>2 X HGST 4U60 JBOD</li>
<li>120(2 X 60) X 10TB SAS disks</li>
</ul>

<hr>

<p>###<a href="https://nanxiao.me/en/reflection-on-one-year-usage-of-openbsd/" target="_blank" rel="nofollow noopener">Reflection on one-year usage of OpenBSD</a></p>

<blockquote>
<p>I have used OpenBSD for more than one year, and it is time to give a summary of the experience:</p>
</blockquote>

<ul>
<li>(1) What do I get from OpenBSD?</li>
</ul>

<blockquote>
<p>a) A good UNIX tutorial. When I am curious about some UNIXcommands’ implementation, I will refer to OpenBSD source code, and I actually gain something every time. E.g., refresh socket programming skills from nc; know how to process file efficiently from cat.</p>
</blockquote>

<blockquote>
<p>b) A better test bed. Although my work focus on developing programs on Linux, I will try to compile and run applications on OpenBSD if it is possible. One reason is OpenBSD usually gives more helpful warnings. E.g., hint like this:</p>
</blockquote>

<p><code>......</code><br>
<code>warning: sprintf() is often misused, please use snprintf()</code><br>
<code>......</code></p>

<blockquote>
<p>Or you can refer this post which I wrote before. The other is sometimes program run well on Linux may crash on OpenBSD, and OpenBSD can help you find hidden bugs.</p>
</blockquote>

<blockquote>
<p>c) Some handy tools. E.g. I find tcpbench is useful, so I ported it into Linux for my own usage (project is here).</p>
</blockquote>

<ul>
<li>(2) What I give back to OpenBSD?</li>
</ul>

<blockquote>
<p>a) Patches. Although most of them are trivial modifications, they are still my contributions.</p>
</blockquote>

<blockquote>
<p>b) Write blog posts to share experience about using OpenBSD.</p>
</blockquote>

<blockquote>
<p>c) Develop programs for OpenBSD/*BSD: lscpu and free.</p>
</blockquote>

<blockquote>
<p>d) Porting programs into OpenBSD: E.g., I find google/benchmark is a nifty tool, but lacks OpenBSD support, I submitted PR and it is accepted. So you can use google/benchmark on OpenBSD now.</p>
</blockquote>

<ul>
<li>Generally speaking, the time invested on OpenBSD is rewarding. If you are still hesitating, why not give a shot?</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/253447019/" target="_blank" rel="nofollow noopener">BSD Users Stockholm Meetup</a></li>
<li><a href="https://www.youtube.com/playlist?list=PLeF8ZihVdpFfkICtA2HFsZecdC28_mrQh" target="_blank" rel="nofollow noopener">BSDCan 2018 Playlist</a></li>
<li><a href="https://forum.opnsense.org/index.php?PHPSESSID=hvuv2kg4js2nlfpm73ut5ro8p2&amp;topic=9280.0" target="_blank" rel="nofollow noopener">OPNsense 18.7 released</a></li>
<li><a href="https://youtu.be/WLgdJwd5zcQ" target="_blank" rel="nofollow noopener">Testing TrueOS (FreeBSD derivative) on real hardware ThinkPad T410</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-jobs/2018-July/000946.html" target="_blank" rel="nofollow noopener">Kernel Hacker Wanted!</a></li>
<li><a href="https://svnweb.freebsd.org/changeset/base/337411" target="_blank" rel="nofollow noopener">Replace a pair of 8-bit writes to VGA memory with a single 16-bit write</a></li>
<li><a href="https://svnweb.freebsd.org/changeset/base/337229" target="_blank" rel="nofollow noopener">Reduce taskq and context-switch cost of zio pipe</a></li>
<li><a href="https://reviews.freebsd.org/D16606" target="_blank" rel="nofollow noopener">Proposed FreeBSD Memory Management change, expected to improve ZFS ARC interactions</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>Anian_Z - <a href="http://dpaste.com/093FC8R#wrap" target="_blank" rel="nofollow noopener">Question</a></li>
<li>Robert - <a href="http://dpaste.com/0GG7Q2A#wrap" target="_blank" rel="nofollow noopener">Pool question</a></li>
<li>Lain - <a href="http://dpaste.com/2BWPX9C" target="_blank" rel="nofollow noopener">Congratulations</a></li>
<li>Thomas - <a href="http://dpaste.com/25NGAP3#wrap" target="_blank" rel="nofollow noopener">L2arc</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The strange birth and long life of Unix, FreeBSD jail with a single public IP, EuroBSDcon 2018 talks and schedule, OpenBSD on G4 iBook, PAM template user, ZFS file server, and reflections on one year of OpenBSD use.</p>

<h3>Picking the contest winner</h3>

<ol>
<li>Vincent</li>
<li>Bostjan</li>
<li>Andrew</li>
<li>Klaus-Hendrik</li>
<li>Will</li>
<li>Toby</li>
<li>Johnny</li>
<li>David</li>
<li>manfrom</li>
<li>Niclas</li>
<li>Gary</li>
<li>Eddy</li>
<li>Bruce</li>
<li>Lizz</li>
<li>Jim</li>
</ol>

<p><a href="https://www.random.org/integers/?num=1&amp;min=0&amp;max=15&amp;col=1&amp;base=10&amp;format=html&amp;rnd=new" target="_blank" rel="nofollow noopener">Random number generator</a></p>

<p>##Headlines<br>
###<a href="https://spectrum.ieee.org/tech-history/cyberspace/the-strange-birth-and-long-life-of-unix" target="_blank" rel="nofollow noopener">The Strange Birth and Long Life of Unix</a></p>

<blockquote>
<p>They say that when one door closes on you, another opens. People generally offer this bit of wisdom just to lend some solace after a misfortune. But sometimes it’s actually true. It certainly was for Ken Thompson and the late Dennis Ritchie, two of the greats of 20th-century information technology, when they created the Unix operating system, now considered one of the most inspiring and influential pieces of software ever written.<br>
A door had slammed shut for Thompson and Ritchie in March of 1969, when their employer, the American Telephone &amp; Telegraph Co., withdrew from a collaborative project with the Massachusetts Institute of Technology and General Electric to create an interactive time-sharing system called Multics, which stood for “Multiplexed Information and Computing Service.” Time-sharing, a technique that lets multiple people use a single computer simultaneously, had been invented only a decade earlier. Multics was to combine time-sharing with other technological advances of the era, allowing users to phone a computer from remote terminals and then read e-mail, edit documents, run calculations, and so forth. It was to be a great leap forward from the way computers were mostly being used, with people tediously preparing and submitting batch jobs on punch cards to be run one by one.<br>
Over five years, AT&amp;T invested millions in the Multics project, purchasing a GE-645 mainframe computer and dedicating to the effort many of the top researchers at the company’s renowned Bell Telephone Laboratories—­including Thompson and Ritchie, Joseph F. Ossanna, Stuart Feldman, M. Douglas McIlroy, and the late Robert Morris. But the new system was too ambitious, and it fell troublingly behind schedule. In the end, AT&amp;T’s corporate leaders decided to pull the plug.<br>
After AT&amp;T’s departure from the Multics project, managers at Bell Labs, in Murray Hill, N.J., became reluctant to allow any further work on computer operating systems, leaving some researchers there very frustrated. Although Multics hadn’t met many of its objectives, it had, as Ritchie later recalled, provided them with a “convenient interactive computing service, a good environment in which to do programming, [and] a system around which a fellowship could form.” Suddenly, it was gone.<br>
With heavy hearts, the researchers returned to using their old batch system. At such an inauspicious moment, with management dead set against the idea, it surely would have seemed foolhardy to continue designing computer operating systems. But that’s exactly what Thompson, Ritchie, and many of their Bell Labs colleagues did. Now, some 40 years later, we should be thankful that these programmers ignored their bosses and continued their labor of love, which gave the world Unix, one of the greatest computer operating systems of all time.<br>
The rogue project began in earnest when Thompson, Ritchie, and a third Bell Labs colleague, Rudd Canaday, began to sketch out on paper the design for a file system. Thompson then wrote the basics of a new operating system for the lab’s GE-645 mainframe. But with the Multics project ended, so too was the need for the GE-645. Thompson realized that any further programming he did on it was likely to go nowhere, so he dropped the effort.<br>
Thompson had passed some of his time after the demise of Multics writing a computer game called Space Travel, which simulated all the major bodies in the solar system along with a spaceship that could fly around them. Written for the GE-645, Space Travel was clunky to play—and expensive: roughly US $75 a game for the CPU time. Hunting around, Thompson came across a dusty PDP-7, a minicomputer built by Digital Equipment Corp. that some of his Bell Labs colleagues had purchased earlier for a circuit-analysis project. Thompson rewrote Space Travel to run on it.<br>
And with that little programming exercise, a second door cracked ajar. It was to swing wide open during the summer of 1969 when Thompson’s wife, Bonnie, spent a month visiting his parents to show off their newborn son. Thompson took advantage of his temporary bachelor existence to write a good chunk of what would become the Unix operating system for the discarded PDP‑7. The name Unix stems from a joke one of Thompson’s colleagues made: Because the new operating system supported only one user (Thompson), he saw it as an emasculated version of Multics and dubbed it “Un-multiplexed Information and Computing Service,” or Unics. The name later morphed into Unix.<br>
Initially, Thompson used the GE-645 to compose and compile the software, which he then downloaded to the PDP‑7. But he soon weaned himself from the mainframe, and by the end of 1969 he was able to write operating-system code on the PDP-7 itself. That was a step in the right direction. But Thompson and the others helping him knew that the PDP‑7, which was already obsolete, would not be able to sustain their skunkworks for long. They also knew that the lab’s management wasn’t about to allow any more research on operating systems.<br>
So Thompson and Ritchie got crea­tive. They formulated a proposal to their bosses to buy one of DEC’s newer minicomputers, a PDP-11, but couched the request in especially palatable terms. They said they were aiming to create tools for editing and formatting text, what you might call a word-processing system today. The fact that they would also have to write an operating system for the new machine to support the editor and text formatter was almost a footnote.<br>
Management took the bait, and an order for a PDP-11 was placed in May 1970. The machine itself arrived soon after, although the disk drives for it took more than six months to appear. During the interim, Thompson, Ritchie, and others continued to develop Unix on the PDP-7. After the PDP-11’s disks were installed, the researchers moved their increasingly complex operating system over to the new machine. Next they brought over the roff text formatter written by Ossanna and derived from the runoff program, which had been used in an earlier time-sharing system.<br>
Unix was put to its first real-world test within Bell Labs when three typists from AT&amp;T’s patents department began using it to write, edit, and format patent applications. It was a hit. The patent department adopted the system wholeheartedly, which gave the researchers enough credibility to convince management to purchase another machine—a newer and more powerful PDP-11 model—allowing their stealth work on Unix to continue.<br>
During its earliest days, Unix evolved constantly, so the idea of issuing named versions or releases seemed inappropriate. But the researchers did issue new editions of the programmer’s manual periodically, and the early Unix systems were named after each such edition. The first edition of the manual was completed in November 1971.<br>
So what did the first edition of Unix offer that made it so great? For one thing, the system provided a hierarchical file system, which allowed something we all now take for granted: Files could be placed in directories—or equivalently, folders—that in turn could be put within other directories. Each file could contain no more than 64 kilobytes, and its name could be no more than six characters long. These restrictions seem awkwardly limiting now, but at the time they appeared perfectly adequate.<br>
Although Unix was ostensibly created for word processing, the only editor available in 1971 was the line-oriented ed. Today, ed is still the only editor guaranteed to be present on all Unix systems. Apart from the text-processing and general system applications, the first edition of Unix included games such as blackjack, chess, and tic-tac-toe. For the system administrator, there were tools to dump and restore disk images to magnetic tape, to read and write paper tapes, and to create, check, mount, and unmount removable disk packs.<br>
Most important, the system offered an interactive environment that by this time allowed time-sharing, so several people could use a single machine at once. Various programming languages were available to them, including BASIC, Fortran, the scripting of Unix commands, assembly language, and B. The last of these, a descendant of a BCPL (Basic Combined Programming Language), ultimately evolved into the immensely popular C language, which Ritchie created while also working on Unix.<br>
The first edition of Unix let programmers call 34 different low-level routines built into the operating system. It’s a testament to the system’s enduring nature that nearly all of these system calls are still available—and still heavily used—on modern Unix and Linux systems four decades on. For its time, first-­edition Unix provided a remarkably powerful environment for software development. Yet it contained just 4200 lines of code at its heart and occupied a measly 16 KB of main memory when it ran.<br>
Unix’s great influence can be traced in part to its elegant design, simplicity, portability, and serendipitous timing. But perhaps even more important was the devoted user community that soon grew up around it. And that came about only by an accident of its unique history.<br>
The story goes like this: For years Unix remained nothing more than a Bell Labs research project, but by 1973 its authors felt the system was mature enough for them to present a paper on its design and implementation at a symposium of the Association for Computing Machinery. That paper was published in 1974 in the Communications of the ACM. Its appearance brought a flurry of requests for copies of the software.<br>
This put AT&amp;T in a bind. In 1956, AT&amp;T had agreed to a U.S government consent decree that prevented the company from selling products not directly related to telephones and telecommunications, in return for its legal monopoly status in running the country’s long-distance phone service. So Unix could not be sold as a product. Instead, AT&amp;T released the Unix source code under license to anyone who asked, charging only a nominal fee. The critical wrinkle here was that the consent decree prevented AT&amp;T from supporting Unix. Indeed, for many years Bell Labs researchers proudly displayed their Unix policy at conferences with a slide that read, “No advertising, no support, no bug fixes, payment in advance.”<br>
With no other channels of support available to them, early Unix adopters banded together for mutual assistance, forming a loose network of user groups all over the world. They had the source code, which helped. And they didn’t view Unix as a standard software product, because nobody seemed to be looking after it. So these early Unix users themselves set about fixing bugs, writing new tools, and generally improving the system as they saw fit.<br>
The Usenix user group acted as a clearinghouse for the exchange of Unix software in the United States. People could send in magnetic tapes with new software or fixes to the system and get back tapes with the software and fixes that Usenix had received from others. In Australia, the University of New South Wales and the University of Sydney produced a more robust version of Unix, the Australian Unix Share Accounting Method, which could cope with larger numbers of concurrent users and offered better performance.<br>
By the mid-1970s, the environment of sharing that had sprung up around Unix resembled the open-source movement so prevalent today. Users far and wide were enthusiastically enhancing the system, and many of their improvements were being fed back to Bell Labs for incorporation in future releases. But as Unix became more popular, AT&amp;T’s lawyers began looking harder at what various licensees were doing with their systems.<br>
One person who caught their eye was John Lions, a computer scientist then teaching at the University of New South Wales, in Australia. In 1977, he published what was probably the most famous computing book of the time, A Commentary on the Unix Operating System, which contained an annotated listing of the central source code for Unix.<br>
Unix’s licensing conditions allowed for the exchange of source code, and initially, Lions’s book was sold to licensees. But by 1979, AT&amp;T’s lawyers had clamped down on the book’s distribution and use in academic classes. The anti­authoritarian Unix community reacted as you might expect, and samizdat copies of the book spread like wildfire. Many of us have nearly unreadable nth-­generation photocopies of the original book.<br>
End runs around AT&amp;T’s lawyers indeed became the norm—even at Bell Labs. For example, between the release of the sixth edition of Unix in 1975 and the seventh edition in 1979, Thompson collected dozens of important bug fixes to the system, coming both from within and outside of Bell Labs. He wanted these to filter out to the existing Unix user base, but the company’s lawyers felt that this would constitute a form of support and balked at their release. Nevertheless, those bug fixes soon became widely distributed through unofficial channels. For instance, Lou Katz, the founding president of Usenix, received a phone call one day telling him that if he went down to a certain spot on Mountain Avenue (where Bell Labs was located) at 2 p.m., he would find something of interest. Sure enough, Katz found a magnetic tape with the bug fixes, which were rapidly in the hands of countless users.<br>
By the end of the 1970s, Unix, which had started a decade earlier as a reaction against the loss of a comfortable programming environment, was growing like a weed throughout academia and the IT industry. Unix would flower in the early 1980s before reaching the height of its popularity in the early 1990s.<br>
For many reasons, Unix has since given way to other commercial and noncommercial systems. But its legacy, that of an elegant, well-designed, comfortable environment for software development, lives on. In recognition of their accomplishment, Thompson and Ritchie were given the Japan Prize earlier this year, adding to a collection of honors that includes the United States’ National Medal of Technology and Innovation and the Association of Computing Machinery’s Turing Award. Many other, often very personal, tributes to Ritchie and his enormous influence on computing were widely shared after his death this past October.<br>
Unix is indeed one of the most influential operating systems ever invented. Its direct descendants now number in the hundreds. On one side of the family tree are various versions of Unix proper, which began to be commercialized in the 1980s after the Bell System monopoly was broken up, freeing AT&amp;T from the stipulations of the 1956 consent decree. On the other side are various Unix-like operating systems derived from the version of Unix developed at the University of California, Berkeley, including the one Apple uses today on its computers, OS X. I say “Unix-like” because the developers of the Berkeley Software Distribution (BSD) Unix on which these systems were based worked hard to remove all the original AT&amp;T code so that their software and its descendants would be freely distributable.<br>
The effectiveness of those efforts were, however, called into question when the AT&amp;T subsidiary Unix System Laboratories filed suit against Berkeley Software Design and the Regents of the University of California in 1992 over intellectual property rights to this software. The university in turn filed a counterclaim against AT&amp;T for breaches to the license it provided AT&amp;T for the use of code developed at Berkeley. The ensuing legal quagmire slowed the development of free Unix-like clones, including 386BSD, which was designed for the Intel 386 chip, the CPU then found in many IBM PCs.<br>
Had this operating system been available at the time, Linus Torvalds says he probably wouldn’t have created Linux, an open-source Unix-like operating system he developed from scratch for PCs in the early 1990s. Linux has carried the Unix baton forward into the 21st century, powering a wide range of digital gadgets including wireless routers, televisions, desktop PCs, and Android smartphones. It even runs some supercomputers.<br>
Although AT&amp;T quickly settled its legal disputes with Berkeley Software Design and the University of California, legal wrangling over intellectual property claims to various parts of Unix and Linux have continued over the years, often involving byzantine corporate relations. By 2004, no fewer than five major lawsuits had been filed. Just this past August, a software company called the TSG Group (formerly known as the SCO Group), lost a bid in court to claim ownership of Unix copyrights that Novell had acquired when it purchased the Unix System Laboratories from AT&amp;T in 1993.<br>
As a programmer and Unix historian, I can’t help but find all this legal sparring a bit sad. From the very start, the authors and users of Unix worked as best they could to build and share, even if that meant defying authority. That outpouring of selflessness stands in sharp contrast to the greed that has driven subsequent legal battles over the ownership of Unix.<br>
The world of computer hardware and software moves forward startlingly fast. For IT professionals, the rapid pace of change is typically a wonderful thing. But it makes us susceptible to the loss of our own history, including important lessons from the past. To address this issue in a small way, in 1995 I started a mailing list of old-time Unix ­aficionados. That effort morphed into the Unix Heritage Society. Our goal is not only to save the history of Unix but also to collect and curate these old systems and, where possible, bring them back to life. With help from many talented members of this society, I was able to restore much of the old Unix software to working order, including Ritchie’s first C compiler from 1972 and the first Unix system to be written in C, dating from 1973.<br>
One holy grail that eluded us for a long time was the first edition of Unix in any form, electronic or otherwise. Then, in 2006, Al Kossow from the Computer History Museum, in Mountain View, Calif., unearthed a printed study of Unix dated 1972, which not only covered the internal workings of Unix but also included a complete assembly listing of the kernel, the main component of this operating system. This was an amazing find—like discovering an old Ford Model T collecting dust in a corner of a barn. But we didn’t just want to admire the chrome work from afar. We wanted to see the thing run again.<br>
In 2008, Tim Newsham, an independent programmer in Hawaii, and I assembled a team of like-minded Unix enthusiasts and set out to bring this ancient system back from the dead. The work was technically arduous and often frustrating, but in the end, we had a copy of the first edition of Unix running on an emulated PDP-11/20. We sent out messages announcing our success to all those we thought would be interested. Thompson, always succinct, simply replied, “Amazing.” Indeed, his brainchild was amazing, and I’ve been happy to do what I can to make it, and the story behind it, better known.</p>
</blockquote>

<hr>

<p><strong>Digital Ocean</strong><br>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">http://do.co/bsdnow</a></p>

<p>###<a href="https://www.davd.eu/posts-freebsd-jails-with-a-single-public-ip-address/" target="_blank" rel="nofollow noopener">FreeBSD jails with a single public IP address</a></p>

<blockquote>
<p>Jails in FreeBSD provide a simple yet flexible way to set up a proper server layout. In the most setups the actual server only acts as the host system for the jails while the applications themselves run within those independent containers. Traditionally every jail has it’s own IP for the user to be able to address the individual services. But if you’re still using IPv4 this might get you in trouble as the most hosters don’t offer more than one single public IP address per server.</p>
</blockquote>

<ul>
<li>Create the internal network</li>
</ul>

<blockquote>
<p>In this case NAT (“Network Address Translation”) is a good way to expose services in different jails using the same IP address.<br>
First, let’s create an internal network (“NAT network”) at 192.168.0.0/24. You could generally use any private IPv4 address space as specified in RFC 1918. Here’s an overview: <a href="https://en.wikipedia.org/wiki/Private_network" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/Private_network</a>. Using pf, FreeBSD’s firewall, we will map requests on different ports of the same public IP address to our individual jails as well as provide network access to the jails themselves.<br>
First let’s check which network devices are available. In my case there’s em0 which provides connectivity to the internet and lo0, the local loopback device.</p>
</blockquote>

<pre><code class="language-em0:">  options=209b&lt;RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC&gt;
  [...]
  inet 172.31.1.100 netmask 0xffffff00 broadcast 172.31.1.255
  nd6 options=23&lt;PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL&gt;
  media: Ethernet autoselect (1000baseT &lt;full-duplex&gt;)
  status: active

lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; metric 0 mtu 16384
  options=600003&lt;RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6&gt;
  inet6 ::1 prefixlen 128
  inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
  inet 127.0.0.1 netmask 0xff000000
  nd6 options=21&lt;PERFORMNUD,AUTO_LINKLOCAL&gt;```

&gt; For our internal network, we create a cloned loopback device called lo1. Therefore we need to customize the /etc/rc.conf file, adding the following two lines:

```cloned_interfaces="lo1"
ipv4_addrs_lo1="192.168.0.1-9/29"```

&gt; This defines a /29 network, offering IP addresses for a maximum of 6 jails:

```ipcalc 192.168.0.1/29
Address:   192.168.0.1          11000000.10101000.00000000.00000 001
Netmask:   255.255.255.248 = 29 11111111.11111111.11111111.11111 000
Wildcard:  0.0.0.7              00000000.00000000.00000000.00000 111
=&gt;
Network:   192.168.0.0/29       11000000.10101000.00000000.00000 000
HostMin:   192.168.0.1          11000000.10101000.00000000.00000 001
HostMax:   192.168.0.6          11000000.10101000.00000000.00000 110
Broadcast: 192.168.0.7          11000000.10101000.00000000.00000 111
Hosts/Net: 6                     Class C, Private Internet```

&gt; Then we need to restart the network. Please be aware of currently active SSH sessions as they might be dropped during restart. It’s a good moment to ensure you have KVM access to that server ;-)

```service netif restart```

&gt; After reconnecting, our newly created loopback device is active:

```lo1: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; metric 0 mtu 16384
  options=600003&lt;RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6&gt;
  inet 192.168.0.1 netmask 0xfffffff8
  inet 192.168.0.2 netmask 0xffffffff
  inet 192.168.0.3 netmask 0xffffffff
  inet 192.168.0.4 netmask 0xffffffff
  inet 192.168.0.5 netmask 0xffffffff
  inet 192.168.0.6 netmask 0xffffffff
  inet 192.168.0.7 netmask 0xffffffff
  inet 192.168.0.8 netmask 0xffffffff
  inet 192.168.0.9 netmask 0xffffffff
  nd6 options=29&lt;PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL&gt;```

+ Setting up

&gt; pf part of the FreeBSD base system, so we only have to configure and enable it. By this moment you should already have a clue of which services you want to expose. If this is not the case, just fix that file later on. In my example configuration, I have a jail running a webserver and another jail running a mailserver:

 +  Public IP address
```IP_PUB="1.2.3.4"```

 +  Packet normalization
```scrub in all```

 +  Allow outbound connections from within the jails
```nat on em0 from lo1:network to any -&gt; (em0)```

 +  webserver jail at 192.168.0.2
```rdr on em0 proto tcp from any to $IP_PUB port 443 -&gt; 192.168.0.2```

 + just an example in case you want to redirect to another port within your jail
```rdr on em0 proto tcp from any to $IP_PUB port 80 -&gt; 192.168.0.2 port 8080```

 + mailserver jail at 192.168.0.3
```rdr on em0 proto tcp from any to $IP_PUB port 25 -&gt; 192.168.0.3```
```rdr on em0 proto tcp from any to $IP_PUB port 587 -&gt; 192.168.0.3```
```rdr on em0 proto tcp from any to $IP_PUB port 143 -&gt; 192.168.0.3```
```rdr on em0 proto tcp from any to $IP_PUB port 993 -&gt; 192.168.0.3```

&gt; Now just enable pf like this (which is the equivalent of adding pf_enable=YES to /etc/rc.conf):

```sysrc pf_enable="YES"```

&gt; and start it:

```service pf start```

+ Install ezjail

&gt; Ezjail is a collection of scripts by erdgeist that allow you to easily manage your jails.

```pkg install ezjail```

&gt; As an alternative, you could install ezjail from the ports tree. Now we need to set up the basejail which contains the shared base system for our jails. In fact, every jail that you create get’s will use that basejail to symlink directories related to the base system like /bin and /sbin. This can be accomplished by running

```ezjail-admin install```

&gt; In the next step, we’ll copy the /etc/resolv.conf file from our host to the newjail, which is the template for newly created jails (the parts that are not provided by basejail), to ensure that domain resolution will work properly within our jails later on:

```cp /etc/resolv.conf /usr/jails/newjail/etc/```

&gt; Last but not least, we enable ezjail and start it:

```sysrc ezjail_enable="YES"```
```service ezjail start```

+ Create a jail

&gt; Creating a jail is as easy as it could probably be:

```ezjail-admin create webserver 192.168.0.2```
```ezjail-admin start webserver```

&gt; Now you can access your jail using:

```ezjail-admin console webserver```

&gt; Each jail contains a vanilla FreeBSD installation.

+ Deploy services

&gt; Now you can spin up as many jails as you want to set up your services like web, mail or file shares. You should take care not to enable sshd within your jails, because that would cause problems with the service’s IP bindings. But this is not a problem, just SSH to the host and enter your jail using ezjail-admin console.
***

###[EuroBSDcon 2018 Talks &amp; Schedule](https://2018.eurobsdcon.org/talks-schedule/)
***




##News Roundup
###[OpenBSD on an iBook G4](https://bobstechsite.com/openbsd-on-an-ibook-g4/)
&gt; I've mentioned on social media and on the BTS podcast a few times that I wanted to try installing OpenBSD onto an old "snow white" iBook G4 I acquired last summer to see if I could make it a useful machine again in the year 2018.  This particular eBay purchase came with a 14" 1024x768 TFT screen, 1.07GHz PowerPC G4 processor, 1.5GB RAM, 100GB of HDD space and an ATI Radeon 9200 graphics card with 32 MB of SDRAM. The optical drive, ethernet port, battery &amp; USB slots are also fully-functional. The only thing that doesn't work is the CMOS battery, but that's not unexpected for a device that was originally released in 2004.

+ Initial experiments

&gt; This iBook originally arrived at my door running Apple Mac OSX Leopard and came with the original install disk, the iLife &amp; iWork suites for 2008, various instruction manuals, a working power cable and a spare keyboard. As you'll see in the pictures I took for this post the characters on the buttons have started to wear away from 14 years of intensive use, but the replacement needs a very good clean before I decide to swap it in!

&gt; After spending some time exploring the last version of OSX to support the IBM PowerPC processor architecture I tried to see if the hardware was capable of modern computing with Linux. Something I knew ahead of trying this was that the WiFi adapter was unlikely to work because it's a highly proprietary component designed by Apple to work specifically with OSX and nothing else, but I figured I could probably use a wireless USB dongle later to get around this limitation.

&gt; Unfortunately I found that no recent versions of mainstream Linux distributions would boot off this machine. Debian has dropped support 32-bit PowerPC architectures and the PowerPC variants of Ubuntu 16.04 LTS (vanilla, MATE and Lubuntu) wouldn't even boot the installer! The only distribution I could reliably install on the hardware was Lubuntu 14.04 LTS.

&gt; Unfortunately I'm not the biggest fan of the LXDE desktop for regular work and a lot of ported applications were old and broken because it clearly wasn't being maintained by people that use the hardware anymore. Ubuntu 14.04 is also approaching the end of its support life in early 2019, so this limited solution also has a limited shelf-life.

+ Over to BSD

&gt; I discussed this problem with a few people on Mastodon and it was pointed out to me that OSX is built on the Darwin kernel, which happens to be a variant of BSD. NetBSD and OpenBSD fans in particular convinced me that their communities still saw the value of supporting these old pieces of kit and that I should give BSD a try.

&gt; So yesterday evening I finally downloaded the "macppc" version of OpenBSD 6.3 with no idea what to expect. I hoped for the best but feared the worst because my last experience with this operating system was trying out PC-BSD in 2008 and discovering with disappointment that it didn't support any of the hardware on my Toshiba laptop.

&gt; When I initially booted OpenBSD I was a little surprised to find the login screen provided no visual feedback when I typed in my password, but I can understand the security reasons for doing that. The initial desktop environment that was loaded was very basic. All I could see was a console output window, a terminal and a desktop switcher in the X11 environment the system had loaded.

&gt; After a little Googling I found this blog post had some fantastic instructions to follow for the post-installation steps: https://sohcahtoa.org.uk/openbsd.html. I did have to adjust them slightly though because my iBook only has 1.5GB RAM and not every package that page suggests is available on macppc by default. You can see a full list here: https://ftp.openbsd.org/pub/OpenBSD/6.3/packages/powerpc/.

+ Final thoughts

&gt; I was really impressed with the performance of OpenBSD's "macppc" port. It boots much faster than OSX Leopard on the same hardware and unlike Lubuntu 14.04 it doesn't randomly hang for no reason or crash if you launch something demanding like the GIMP.

&gt; I was pleased to see that the command line tools I'm used to using on Linux have been ported across too. OpenBSD also had no issues with me performing basic desktop tasks on XFCE like browsing the web with NetSurf, playing audio files with VLC and editing images with the GIMP. Limited gaming is also theoretically possible if you're willing to build them (or an emulator) from source with SDL support.

&gt; If I wanted to use this system for heavy duty work then I'd probably be inclined to run key applications like LibreOffice on a Raspberry Pi and then connect my iBook G4 to those using VNC or an SSH connection with X11 forwarding. BSD is UNIX after all, so using my ancient laptop as a dumb terminal should work reasonably well.

&gt; In summary I was impressed with OpenBSD and its ability to breathe new life into this old Apple Mac. I'm genuinely excited about the idea of trying BSD with other devices on my network such as an old Asus Eee PC 900 netbook and at least one of the many Raspberry Pi devices I use. Whether I go the whole hog and replace Fedora on my main production laptop though remains to be seen!

***

###[The template user with PAM and login(1)](http://oshogbo.vexillium.org/blog/48)
&gt; When you build a new service (or an appliance) you need your users to be able to configure it from the command line. To accomplish this you can create system accounts for all registered users in your service and assign them a special login shell which provides such limited functionality. This can be painful if you have a dynamic user database.
&gt; Another challenge is authentication via remote services such as RADIUS. How can we implement  services when we authenticate through it and log into it as a different user? Furthermore, imagine a scenario when RADIUS decides on which account we have the right to access by sending an additional attribute.
&gt; To address these two problems we can use a "template" user. Any of the PAM modules can set the value of the PAM_USER item. The value of this item will be used to determine which account we want to login. Only the "template" user must exist on the local password database, but the credential check can be omitted by the module.
&gt; This functionality exists in the login(1) used by FreeBSD, HardenedBSD, DragonFlyBSD and illumos. The functionality doesn't exist in the login(1) used in NetBSD, and OpenBSD doesn't support PAM modules at all. In addition what  is also noteworthy is that such functionality was also in the OpenSSH but they decided to remove it and call it a security vulnerability (CVE 2015-6563). I can see how some people may have seen it that way, that’s why I recommend reading this article from an OpenPAM author and a FreeBSD security officer at the time.
&gt; Knowing the background let's take a look at an example.

```PAM_EXTERN int
pam_sm_authenticate(pam_handle_t *pamh, int flags __unused,
    int argc __unused, const char *argv[] __unused)
{
        const char *user, *password;
        int err;

        err = pam_get_user(pamh, &amp;user, NULL);
        if (err != PAM_SUCCESS)
                return (err);

        err = pam_get_authtok(pamh, PAM_AUTHTOK, &amp;password, NULL);
        if (err == PAM_CONV_ERR)
                return (err);
        if (err != PAM_SUCCESS)
                return (PAM_AUTH_ERR);

        err = authenticate(user, password);
        if (err != PAM_SUCCESS) {
                return (err);
        }

        return (pam_set_item(pamh, PAM_USER, "template"));
}
</code></pre>

<blockquote>
<p>In the listing above we have an example of a PAM module. The pam_get_user(3) provides a username. The pam_get_authtok(3) shows us a secret given by the user. Both functions allow us to give an optional prompt which should be shown to the user. The authenticate function is our crafted function which authenticates the user. In our first scenario we wanted to keep all users in an external database. If authentication is successful we then switch to a template user which has  a shell set up for a script allowing us to configure the machine. In our second scenario the authenticate function authenticates the user in RADIUS.</p>
</blockquote>

<blockquote>
<p>Another step is to add our PAM module to the /etc/pam.d/system or to the /etc/pam.d/login configuration:</p>
</blockquote>

<p><code>auth sufficient pam_template.so no_warn allow_local</code></p>

<blockquote>
<p>Unfortunately the description of all these options goes beyond this article - if you would like to know more about it you can find them in the PAM manual. The last thing we need to do is to add our template user to the system which  you can do by the adduser(8) command or just simply modifying the /etc/master.passwd file and use pwd_mkdb(8) program:</p>
</blockquote>

<p><code>$ tail -n /etc/master.passwd</code><br>
<code>template:*:1000:1000::0:0:User &amp;:/:/usr/local/bin/templatesh</code><br>
<code>$ sudo pwd_mkdb /etc/master.passwd</code></p>

<blockquote>
<p>As you can see,the template user can be locked and we still can use it in our PAM module (the * character after login).<br>
I would like to thank Dag-Erling Smørgrav for pointing this functionality out to me when I was looking for it some time ago.</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong><br>
<a href="https://www.ixsystems.com/blog/vmworld2018-countdown/" target="_blank" rel="nofollow noopener">iXsystems @ VMWorld</a></p>

<p>###<a href="https://aravindh.net/posts/zfs_fileserver/" target="_blank" rel="nofollow noopener">ZFS file server</a></p>

<ul>
<li>What is the need?</li>
</ul>

<blockquote>
<p>At work, we run a compute cluster that uses an Isilon cluster as primary NAS storage. Excluding snapshots, we have about 200TB of research data, some of them in compressed formats, and others not. We needed an offsite backup file server that would constantly mirror our primary NAS and serve as a quick recovery source in case of a data loss in the the primary NAS. This offsite file server would be passive - will never face the wrath of the primary cluster workload.<br>
In addition to the role of a passive backup server, this solution would take on some passive report generation workloads as an ideal way of offloading some work from the primary NAS. The passive work is read-only.<br>
The backup server would keep snapshots in a best effort basis dating back to 10 years. However, this data on this backup server would be archived to tapes periodically.</p>
</blockquote>

<ul>
<li>
<p>A simple guidance of priorities:</p>
</li>
<li>
<p>Data integrity &gt; Cost of solution &gt; Storage capacity &gt; Performance.</p>
</li>
<li>
<p>Why not enterprise NAS? NetApp FAS or EMC Isilon or the like?</p>
</li>
</ul>

<blockquote>
<p>We decided that enterprise grade NAS like NetAPP FAS or EMC Isilon are prohibitively expensive and an overkill for our needs.<br>
An open source &amp; cheaper alternative to enterprise grade filesystem with the level of durability we expect turned up to be ZFS. We’re already spoilt from using snapshots by a clever Copy-on-Write Filesystem(WAFL) by NetApp. ZFS providing snapshots in almost identical way was a big influence in the choice. This is also why we did not consider just a CentOS box with the default XFS filesystem.</p>
</blockquote>

<ul>
<li>FreeBSD vs Debian for ZFS</li>
</ul>

<blockquote>
<p>This is a backup server, a long-term solution. Stability and reliability are key requirements. ZFS on Linux may be popular at this time, but there is a lot of churn around its development, which means there is a higher probability of bugs like this to occur. We’re not looking for cutting edge features here. Perhaps, Linux would be considered in the future.</p>
</blockquote>

<ul>
<li>FreeBSD + ZFS</li>
</ul>

<blockquote>
<p>We already utilize FreeBSD and OpenBSD for infrastructure services and we have nothing but praises for the stability that the BSDs have provided us. We’d gladly use FreeBSD and OpenBSD wherever possible.</p>
</blockquote>

<ul>
<li>Okay, ZFS, but why not FreeNAS?</li>
</ul>

<blockquote>
<p>IMHO, FreeNAS provides a integrated GUI management tool over FreeBSD for a novice user to setup and configure FreeBSD, ZFS, Jails and many other features. But, this user facing abstraction adds an extra layer of complexity to maintain that is just not worth it in simpler use cases like ours. For someone that appreciates the commandline interface, and understands FreeBSD enough to administer it, plain FreeBSD + ZFS is simpler and more robust than FreeNAS.</p>
</blockquote>

<ul>
<li>Specifications</li>
<li>Lenovo SR630 Rackserver</li>
<li>2 X Intel Xeon silver 4110 CPUs</li>
<li>768 GB of DDR4 ECC 2666 MHz RAM</li>
<li>4 port SAS card configured in passthrough mode(JBOD)</li>
<li>Intel network card with 10 Gb SFP+ ports</li>
<li>128GB M.2 SSD for use as boot drive</li>
<li>2 X HGST 4U60 JBOD</li>
<li>120(2 X 60) X 10TB SAS disks</li>
</ul>

<hr>

<p>###<a href="https://nanxiao.me/en/reflection-on-one-year-usage-of-openbsd/" target="_blank" rel="nofollow noopener">Reflection on one-year usage of OpenBSD</a></p>

<blockquote>
<p>I have used OpenBSD for more than one year, and it is time to give a summary of the experience:</p>
</blockquote>

<ul>
<li>(1) What do I get from OpenBSD?</li>
</ul>

<blockquote>
<p>a) A good UNIX tutorial. When I am curious about some UNIXcommands’ implementation, I will refer to OpenBSD source code, and I actually gain something every time. E.g., refresh socket programming skills from nc; know how to process file efficiently from cat.</p>
</blockquote>

<blockquote>
<p>b) A better test bed. Although my work focus on developing programs on Linux, I will try to compile and run applications on OpenBSD if it is possible. One reason is OpenBSD usually gives more helpful warnings. E.g., hint like this:</p>
</blockquote>

<p><code>......</code><br>
<code>warning: sprintf() is often misused, please use snprintf()</code><br>
<code>......</code></p>

<blockquote>
<p>Or you can refer this post which I wrote before. The other is sometimes program run well on Linux may crash on OpenBSD, and OpenBSD can help you find hidden bugs.</p>
</blockquote>

<blockquote>
<p>c) Some handy tools. E.g. I find tcpbench is useful, so I ported it into Linux for my own usage (project is here).</p>
</blockquote>

<ul>
<li>(2) What I give back to OpenBSD?</li>
</ul>

<blockquote>
<p>a) Patches. Although most of them are trivial modifications, they are still my contributions.</p>
</blockquote>

<blockquote>
<p>b) Write blog posts to share experience about using OpenBSD.</p>
</blockquote>

<blockquote>
<p>c) Develop programs for OpenBSD/*BSD: lscpu and free.</p>
</blockquote>

<blockquote>
<p>d) Porting programs into OpenBSD: E.g., I find google/benchmark is a nifty tool, but lacks OpenBSD support, I submitted PR and it is accepted. So you can use google/benchmark on OpenBSD now.</p>
</blockquote>

<ul>
<li>Generally speaking, the time invested on OpenBSD is rewarding. If you are still hesitating, why not give a shot?</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/253447019/" target="_blank" rel="nofollow noopener">BSD Users Stockholm Meetup</a></li>
<li><a href="https://www.youtube.com/playlist?list=PLeF8ZihVdpFfkICtA2HFsZecdC28_mrQh" target="_blank" rel="nofollow noopener">BSDCan 2018 Playlist</a></li>
<li><a href="https://forum.opnsense.org/index.php?PHPSESSID=hvuv2kg4js2nlfpm73ut5ro8p2&amp;topic=9280.0" target="_blank" rel="nofollow noopener">OPNsense 18.7 released</a></li>
<li><a href="https://youtu.be/WLgdJwd5zcQ" target="_blank" rel="nofollow noopener">Testing TrueOS (FreeBSD derivative) on real hardware ThinkPad T410</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-jobs/2018-July/000946.html" target="_blank" rel="nofollow noopener">Kernel Hacker Wanted!</a></li>
<li><a href="https://svnweb.freebsd.org/changeset/base/337411" target="_blank" rel="nofollow noopener">Replace a pair of 8-bit writes to VGA memory with a single 16-bit write</a></li>
<li><a href="https://svnweb.freebsd.org/changeset/base/337229" target="_blank" rel="nofollow noopener">Reduce taskq and context-switch cost of zio pipe</a></li>
<li><a href="https://reviews.freebsd.org/D16606" target="_blank" rel="nofollow noopener">Proposed FreeBSD Memory Management change, expected to improve ZFS ARC interactions</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>Anian_Z - <a href="http://dpaste.com/093FC8R#wrap" target="_blank" rel="nofollow noopener">Question</a></li>
<li>Robert - <a href="http://dpaste.com/0GG7Q2A#wrap" target="_blank" rel="nofollow noopener">Pool question</a></li>
<li>Lain - <a href="http://dpaste.com/2BWPX9C" target="_blank" rel="nofollow noopener">Congratulations</a></li>
<li>Thomas - <a href="http://dpaste.com/25NGAP3#wrap" target="_blank" rel="nofollow noopener">L2arc</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 258: OS Foundations | BSD Now 258</title>
  <link>https://www.bsdnow.tv/258</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2390</guid>
  <pubDate>Wed, 08 Aug 2018 01:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2975f51c-21d4-41df-bae9-4e3616147a50.mp3" length="52903277" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD Foundation July Newsletter, a bunch of BSDCan trip reports, HardenedBSD Foundation status, FreeBSD and OSPFd, ZFS disk structure overview, and more Spectre mitigations in OpenBSD.</itunes:subtitle>
  <itunes:duration>1:27:52</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>&lt;p&gt;FreeBSD Foundation July Newsletter, a bunch of BSDCan trip reports, HardenedBSD Foundation status, FreeBSD and OSPFd, ZFS disk structure overview, and more Spectre mitigations in OpenBSD.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://www.freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-july-2018/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation Update, July 2018&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MESSAGE FROM THE EXECUTIVE DIRECTOR&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We’re in the middle of summer here, in Boulder, CO. While the days are typically hot, they can also be quite unpredictable. Thanks to the Rocky Mountains, waking up to 50-degree (~10 C) foggy weather is not surprising. In spite of the unpredictable weather, many of us took some vacation this month. Whether it was extending the Fourth of July celebration,  spending time with family, or relaxing and enjoying the summer weather, we appreciated our time off, while still managing to accomplish a lot!&lt;br&gt;
In this newsletter, Glen Barber enlightens us about the upcoming 12.0 release. I gave a recap of OSCON, that Ed Maste and I attended, and Mark Johnston explains the work on his improved microcode loading project, that we are funding. Finally, Anne Dickison gives us a rundown on upcoming events and information on submitting a talk for MeetBSD.&lt;br&gt;
Your support helps us continue this work. Please consider making a donation today. We can’t do it without you. Happy reading!!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;June 2018 Development Projects Update&lt;/li&gt;
&lt;li&gt;Fundraising Update: Supporting the Project&lt;/li&gt;
&lt;li&gt;July 2018 Release Engineering Update&lt;/li&gt;
&lt;li&gt;OSCON 2018 Recap&lt;/li&gt;
&lt;li&gt;Submit Your Work: MeetBSD 2018&lt;/li&gt;
&lt;li&gt;FreeBSD Discount for 2018 SNIA Developer Conference&lt;/li&gt;
&lt;li&gt;EuroBSDcon 2018 Travel Grant Application Deadline: August 2&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;###BSDCan Trip Reports&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-constantin-stan/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2018 Trip Report: Constantin Stan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-danilo-g-baio/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2018 Trip Report: Danilo G. Baio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-rodrigo-osorio/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2018 Trip Report: Rodrigo Osorio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-dhananjay-balan/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2018 Trip Report: Dhananjay Balan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-kyle-evans/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2018 Trip Report: Kyle Evans&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://blog.haraschak.com/freebsd-and-ospfd/" target="_blank" rel="nofollow noopener"&gt;FreeBSD and OSPFd&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;With FreeBSD jails deployed around the world, static routing was getting a bit out of hand. Plus, when I needed to move a jail from one data center to another, I would have to update routing tables across multiple sites. Not ideal. Enter dynamic routing…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;OSPF (open shortest path first) is an internal dynamic routing protocol that provides the autonomy that I needed and it’s fairly easy to setup. This article does not cover configuration of VPN links, ZFS, or Freebsd jails, however it’s recommended that you use seperate ZFS datasets per jail so that migration between hosts can be done with zfs send &amp;amp; receive.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;In this scenario, we have five FreeBSD servers in two different data centers. Each physical server runs anywhere between three to ten jails. When jails are deployed, they are assigned a /32 IP on lo2. From here, pf handles inbound port forwarding and outbound NAT. Links between each server are provided by OpenVPN TAP interfaces. (I used TAP to pass layer 2 traffic. I seem to remember that I needed TAP interfaces due to needing GRE tunnels on top of TUN interfaces to get OSPF to communicate. I’ve heard TAP is slower than TUN so I may revisit this.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;In this example, we will use 172.16.2.0/24 as the range for OpenVPN P2P links and 172.16.3.0/24 as the range of IPs available for assignment to each jail. Previously, when deploying a jail, I assigned IPs based on the following groups:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;Server 1: 172.16.3.0/28&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Server 2: 172.16.3.16/28&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Server 3: 172.16.3.32/28&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Server 4: 172.16.3.48/28&lt;/code&gt;&lt;br&gt;
&lt;code&gt;Server 5: 172.16.3.64/28&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When statically routing, this made routing tables a bit smaller and easier to manage. However, when I needed to migrate a jail to a new host, I had to add a new /32 to all routing tables. Now, with OSPF, this is no longer an issue, nor is it required.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;To get started, first we install the Quagga package.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The two configuration files needed to get OSPFv2 running are /usr/local/etc/quagga/zebra.conf and /usr/local/etc/quagga/ospfd.conf.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Starting with zebra.conf, we’ll define the hostname and a management password.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Second, we will populate the ospfd.conf file.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To break this down:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;service advanced-vty allows you to skip the en or enable command. Since I’m the only one who uses this service, it’s one less command to type.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ip ospf authentication message-digest and ip ospf message-diget-key… ignores non-authenticated OSPF communication. This is useful when communicating over the WAN and to prevent a replay attack. Since I’m using a VPN to communicate, I could exclude these.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;passive-interface default turns off the active communication of OSPF messages on all interfaces except for the interfaces listed as no passive-interface [interface name]. Since my ospf communication needs to leverage the VPNs, this prevents the servers from trying to send ospf data out the WAN interface (a firewall would work too).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;network 172.16.2.0/23 area 0.0.0.0 lists a supernet of both 172.16.2.0/24 and 172.16.3.0/24. This ensures routes for the jails are advertised along with the P2P links used by OpenVPN. The OpenVPN links are not required but can provide another IP to access your server if one of the links goes down. (See the suggested tasks below).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;At this point, we can enable the services in rc.conf.local and start them.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We bind the management interface to 127.0.0.1 so that it’s only accessable to local telnet sessions. If you want to access this service remotely, you can bind to a remotely accessable IP. Remember telnet is not secure. If you need remote access, use a VPN.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To manage the services, you can telnet to your host’s localhost address.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use 2604 for the ospf service.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Remember, this is accessible by non-root users so set a good password.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSBroadDiskStructure" target="_blank" rel="nofollow noopener"&gt;A broad overview of how ZFS is structured on disk&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When I wrote yesterday’s entry, it became clear that I didn’t understand as much about how ZFS is structured on disk (and that this matters, since I thought that ZFS copy on write updates updated a lot more than they do). So today I want to write down my new broad understanding of how this works. (All of this can be dug out of the old, draft ZFS on-disk format specification, but that spec is written in a very detailed way and things aren’t always immediately clear from it.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Almost everything in ZFS is in DMU object. All objects are defined by a dnode, and object dnodes are almost always grouped together in an object set. Object sets are themselves DMU objects; they store dnodes as basically a giant array in a ‘file’, which uses data blocks and indirect blocks and so on, just like anything else. Within a single object set, dnodes have an object number, which is the index of their position in the object set’s array of dnodes. (Because an object number is just the index of the object’s dnode in its object set’s array of dnodes, object numbers are basically always going to be duplicated between object sets (and they’re always relative to an object set). For instance, pretty much every object set is going to have an object number ten, although not all object sets may have enough objects that they have an object number ten thousand. One corollary of this is that if you ask zdb to tell you about a given object number, you have to tell zdb what object set you’re talking about. Usually you do this by telling zdb which ZFS filesystem or dataset you mean.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Each ZFS filesystem has its own object set for objects (and thus dnodes) used in the filesystem. As I discovered yesterday, every ZFS filesystem has a directory hierarchy and it may go many levels deep, but all of this directory hierarchy refers to directories and files using their object number.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;ZFS organizes and keeps track of filesystems, clones, and snapshots through the DSL (Dataset and Snapshot Layer). The DSL has all sorts of things; DSL directories, DSL datasets, and so on, all of which are objects and many of which refer to object sets (for example, every ZFS filesystem must refer to its current object set somehow). All of these DSL objects are themselves stored as dnodes in another object set, the Meta Object Set, which the uberblock points to. To my surprise, object sets are not stored in the MOS (and as a result do not have ‘object numbers’). Object sets are always referred to directly, without indirection, using a block pointer to the object set’s dnode.  (I think object sets are referred to directly so that snapshots can freeze their object set very simply.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The DSL directories and datasets for your pool’s set of filesystems form a tree themselves (each filesystem has a DSL directory and at least one DSL dataset). However, just like in ZFS filesystems, all of the objects in this second tree refer to each other indirectly, by their MOS object number. Just as with files in ZFS filesystems, this level of indirection limits the amount of copy on write updates that ZFS had to do when something changes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;PS: If you want to examine MOS objects with zdb, I think you do it with something like ‘zdb -vvv -d ssddata 1’, which will get you object number 1 of the MOS, which is the MOS object directory. If you want to ask zdb about an object in the pool’s root filesystem, use ‘zdb -vvv -d ssddata/ 1’. You can tell which one you’re getting depending on what zdb prints out. If it says ‘Dataset mos [META]’ you’re looking at objects from the MOS; if it says ‘Dataset ssddata [ZPL]’, you’re looking at the pool’s root filesystem (where object number 1 is the ZFS master node).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;PPS: I was going to write up what changed on a filesystem write, but then I realized that I didn’t know how blocks being allocated and freed are reflected in pool structures. So I’ll just say that I think that ignoring free space management, only four DMU objects get updated; the file itself, the filesystem’s object set, the filesystem’s DSL dataset object, and the MOS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;(As usual, doing the research to write this up taught me things that I didn’t know about ZFS.)&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Digital Ocean&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://hardenedbsd.org/article/shawn-webb/2018-07-11/mid-july-hardenedbsd-foundation-status" target="_blank" rel="nofollow noopener"&gt;HardenedBSD Foundation Status&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;On 09 July 2018, the HardenedBSD Foundation Board of Directors held the kick-off meeting to start organizing the Foundation. The following people attended the kick-off meeting:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Shawn Webb (in person)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;George Saylor (in person)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Ben Welch (in person)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Virginia Suydan (in person)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Ben La Monica (phone)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Dean Freeman (phone)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;ol&gt;
&lt;li&gt;Christian Severt (phone)&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We discussed the very first steps that need to be taken to organize the HardenedBSD Foundation as a 501©(3) not-for-profit organization in the US. We determined we could file a 1023EZ instead of the full-blown 1023. This will help speed the process up drastically.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The steps are laid out as follows:&lt;/li&gt;
&lt;li&gt;Register a Post Office Box (PO Box) (completed on 10 Jul 2018).&lt;/li&gt;
&lt;li&gt;Register The HardenedBSD Foundation as a tax-exempt nonstock corporation in the state of Maryland (started on 10 Jul 2018, submitted on 18 Jul 2018, granted 20 Jul 2018).&lt;/li&gt;
&lt;li&gt;Obtain a federal tax ID (obtained 20 Jul 2018).&lt;/li&gt;
&lt;li&gt;Close the current bank account and create a new one using the federal tax ID (completed on 20 Jul 2018).&lt;/li&gt;
&lt;li&gt;File the 1023EZ paperwork with the federal government (started on 20 Jul 2018).&lt;/li&gt;
&lt;li&gt;Hire an attorney to help draft the organization bylaws.&lt;/li&gt;
&lt;li&gt;Each of the steps must be done serially and in order.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We added Christian Severt, who is on Emerald Onion’s Board of Directors, to the HardenedBSD Foundation Board of Directors as an advisor. He was foundational in getting Emerald Onion their 501©(3) tax-exempt, not-for-profit status and has really good insight. Additionally, he’s going to help HardenedBSD coordinate hosting services, figuring out the best deals for us.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;We promoted George Saylor to Vice President and changed Shawn Webb’s title to President and Director. This is to help resolve potential concerns both the state and federal agencies might have with an organization having only a single President role.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;We hope to be granted our 501©(3) status before the end of the year, though that may be subject to change. We are excited for the formation of the HardenedBSD Foundation, which will open up new opportunities not otherwise available to HardenedBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://undeadly.org/cgi?action=article;sid=20180724072257" target="_blank" rel="nofollow noopener"&gt;More mitigations against speculative execution vulnerabilities&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Philip Guenther (guenther@) and Bryan Steele (brynet@) have added more mitigations against speculative execution CPU vulnerabilities on the amd64 platform.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code class="language-For"&gt;
CVSROOT:    /cvs
Module name:    src
Changes by: guenther@cvs.openbsd.org    2018/07/23 11:54:04

Modified files:
    sys/arch/amd64/amd64: locore.S 
    sys/arch/amd64/include: asm.h cpufunc.h frameasm.h 

Log message:
Do "Return stack refilling", based on the "Return stack underflow" discussion
and its associated appendix at https://support.google.com/faqs/answer/7625886
This should address at least some cases of "SpectreRSB" and earlier
Spectre variants; more commits to follow.

The refilling is done in the enter-kernel-from-userspace and
return-to-userspace-from-kernel paths, making sure to do it before
unblocking interrupts so that a successive interrupt can't get the
CPU to C code without doing this refill.  Per the link above, it
also does it immediately after mwait, apparently in case the low-power
CPU states of idle-via-mwait flush the RSB.

ok mlarkin@ deraadt@```

+ and:

```CVSROOT: /cvs
Module name:    src
Changes by: guenther@cvs.openbsd.org    2018/07/23 20:42:25

Modified files:
    sys/arch/amd64/amd64: locore.S vector.S vmm_support.S 
    sys/arch/amd64/include: asm.h cpufunc.h 

Log message:
Also do RSB refilling when context switching, after vmexits, and
when vmlaunch or vmresume fails.

Follow the lead of clang and the intel recommendation and do an lfence
after the pause in the speculation-stop path for retpoline, RSB refill,
and meltover ASM bits.

ok kettenis@ deraadt@```

+ "Mitigation G-2" for AMD processors:

```CVSROOT: /cvs
Module name:    src
Changes by: brynet@cvs.openbsd.org  2018/07/23 17:25:03

Modified files:
    sys/arch/amd64/amd64: identcpu.c 
    sys/arch/amd64/include: specialreg.h 

Log message:
Add "Mitigation G-2" per AMD's Whitepaper "Software Techniques for
Managing Speculation on AMD Processors"

By setting MSR C001_1029[1]=1, LFENCE becomes a dispatch serializing
instruction.

Tested on AMD FX-4100 "Bulldozer", and Linux guest in SVM vmd(8)

ok deraadt@ mlarkin@```
***


##Beastie Bits
+ [HardenedBSD will stop supporting 10-STABLE on 10 August 2018](https://groups.google.com/a/hardenedbsd.org/forum/#!topic/users/xvU0g-g1l5U)
+ [GSoC 2018 Reports: Integrate libFuzzer with the Basesystem, Part 2](https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_integrate_libfuzzer1)
+ [ZFS Boot Environments at PBUG](https://vermaden.wordpress.com/2018/07/30/zfs-boot-environments-at-pbug/)
+ [Second Editions versus the Publishing Business](https://blather.michaelwlucas.com/archives/3229)
+ [Theo de Raadt on "unveil(2) usage in base"](https://undeadly.org/cgi?action=article;sid=20180728063716)
+ [rtadvd(8) has been replaced by rad(8)](https://undeadly.org/cgi?action=article;sid=20180724072205)
+ [BSD Users Stockholm Meetup #3](https://www.meetup.com/BSD-Users-Stockholm/events/253447019/)
+ [Changes to NetBSD release support policy](https://blog.netbsd.org/tnf/entry/changes_to_netbsd_release_support)
+ [The future of HAMMER1](http://lists.dragonflybsd.org/pipermail/users/2018-July/357832.html)
***

**Tarsnap**

##Feedback/Questions
+ Rodriguez - [A Question](http://dpaste.com/0Y1B75Q#wrap)
+ Shane - [About ZFS Mostly](http://dpaste.com/32YGNBY#wrap)
+ Leif - [ZFS less than 8gb](http://dpaste.com/2GY6HHC#wrap)
+ Wayne - [ZFS vs EMC](http://dpaste.com/17PSCXC#wrap)
***

- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [feedback@bsdnow.tv](mailto:feedback@bsdnow.tv)
&lt;/code&gt;&lt;/pre&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, spectre, ospfd, zfs</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD Foundation July Newsletter, a bunch of BSDCan trip reports, HardenedBSD Foundation status, FreeBSD and OSPFd, ZFS disk structure overview, and more Spectre mitigations in OpenBSD.</p>

<p>##Headlines<br>
###<a href="https://www.freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-july-2018/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Update, July 2018</a></p>

<ul>
<li>MESSAGE FROM THE EXECUTIVE DIRECTOR</li>
</ul>

<blockquote>
<p>We’re in the middle of summer here, in Boulder, CO. While the days are typically hot, they can also be quite unpredictable. Thanks to the Rocky Mountains, waking up to 50-degree (~10 C) foggy weather is not surprising. In spite of the unpredictable weather, many of us took some vacation this month. Whether it was extending the Fourth of July celebration,  spending time with family, or relaxing and enjoying the summer weather, we appreciated our time off, while still managing to accomplish a lot!<br>
In this newsletter, Glen Barber enlightens us about the upcoming 12.0 release. I gave a recap of OSCON, that Ed Maste and I attended, and Mark Johnston explains the work on his improved microcode loading project, that we are funding. Finally, Anne Dickison gives us a rundown on upcoming events and information on submitting a talk for MeetBSD.<br>
Your support helps us continue this work. Please consider making a donation today. We can’t do it without you. Happy reading!!</p>
</blockquote>

<ul>
<li>June 2018 Development Projects Update</li>
<li>Fundraising Update: Supporting the Project</li>
<li>July 2018 Release Engineering Update</li>
<li>OSCON 2018 Recap</li>
<li>Submit Your Work: MeetBSD 2018</li>
<li>FreeBSD Discount for 2018 SNIA Developer Conference</li>
<li>EuroBSDcon 2018 Travel Grant Application Deadline: August 2</li>
</ul>

<hr>

<p><strong>iXsystems</strong></p>

<p>###BSDCan Trip Reports</p>

<ul>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-constantin-stan/" target="_blank" rel="nofollow noopener">BSDCan 2018 Trip Report: Constantin Stan</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-danilo-g-baio/" target="_blank" rel="nofollow noopener">BSDCan 2018 Trip Report: Danilo G. Baio</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-rodrigo-osorio/" target="_blank" rel="nofollow noopener">BSDCan 2018 Trip Report: Rodrigo Osorio</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-dhananjay-balan/" target="_blank" rel="nofollow noopener">BSDCan 2018 Trip Report: Dhananjay Balan</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-kyle-evans/" target="_blank" rel="nofollow noopener">BSDCan 2018 Trip Report: Kyle Evans</a></li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://blog.haraschak.com/freebsd-and-ospfd/" target="_blank" rel="nofollow noopener">FreeBSD and OSPFd</a></p>

<blockquote>
<p>With FreeBSD jails deployed around the world, static routing was getting a bit out of hand. Plus, when I needed to move a jail from one data center to another, I would have to update routing tables across multiple sites. Not ideal. Enter dynamic routing…</p>
</blockquote>

<blockquote>
<p>OSPF (open shortest path first) is an internal dynamic routing protocol that provides the autonomy that I needed and it’s fairly easy to setup. This article does not cover configuration of VPN links, ZFS, or Freebsd jails, however it’s recommended that you use seperate ZFS datasets per jail so that migration between hosts can be done with zfs send &amp; receive.</p>
</blockquote>

<blockquote>
<p>In this scenario, we have five FreeBSD servers in two different data centers. Each physical server runs anywhere between three to ten jails. When jails are deployed, they are assigned a /32 IP on lo2. From here, pf handles inbound port forwarding and outbound NAT. Links between each server are provided by OpenVPN TAP interfaces. (I used TAP to pass layer 2 traffic. I seem to remember that I needed TAP interfaces due to needing GRE tunnels on top of TUN interfaces to get OSPF to communicate. I’ve heard TAP is slower than TUN so I may revisit this.)</p>
</blockquote>

<blockquote>
<p>In this example, we will use 172.16.2.0/24 as the range for OpenVPN P2P links and 172.16.3.0/24 as the range of IPs available for assignment to each jail. Previously, when deploying a jail, I assigned IPs based on the following groups:</p>
</blockquote>

<p><code>Server 1: 172.16.3.0/28</code><br>
<code>Server 2: 172.16.3.16/28</code><br>
<code>Server 3: 172.16.3.32/28</code><br>
<code>Server 4: 172.16.3.48/28</code><br>
<code>Server 5: 172.16.3.64/28</code></p>

<blockquote>
<p>When statically routing, this made routing tables a bit smaller and easier to manage. However, when I needed to migrate a jail to a new host, I had to add a new /32 to all routing tables. Now, with OSPF, this is no longer an issue, nor is it required.</p>
</blockquote>

<ul>
<li>
<p>To get started, first we install the Quagga package.</p>
</li>
<li>
<p>The two configuration files needed to get OSPFv2 running are /usr/local/etc/quagga/zebra.conf and /usr/local/etc/quagga/ospfd.conf.</p>
</li>
<li>
<p>Starting with zebra.conf, we’ll define the hostname and a management password.</p>
</li>
<li>
<p>Second, we will populate the ospfd.conf file.</p>
</li>
<li>
<p>To break this down:</p>
</li>
<li>
<p>service advanced-vty allows you to skip the en or enable command. Since I’m the only one who uses this service, it’s one less command to type.</p>
</li>
<li>
<p>ip ospf authentication message-digest and ip ospf message-diget-key… ignores non-authenticated OSPF communication. This is useful when communicating over the WAN and to prevent a replay attack. Since I’m using a VPN to communicate, I could exclude these.</p>
</li>
<li>
<p>passive-interface default turns off the active communication of OSPF messages on all interfaces except for the interfaces listed as no passive-interface [interface name]. Since my ospf communication needs to leverage the VPNs, this prevents the servers from trying to send ospf data out the WAN interface (a firewall would work too).</p>
</li>
<li>
<p>network 172.16.2.0/23 area 0.0.0.0 lists a supernet of both 172.16.2.0/24 and 172.16.3.0/24. This ensures routes for the jails are advertised along with the P2P links used by OpenVPN. The OpenVPN links are not required but can provide another IP to access your server if one of the links goes down. (See the suggested tasks below).</p>
</li>
<li>
<p>At this point, we can enable the services in rc.conf.local and start them.</p>
</li>
<li>
<p>We bind the management interface to 127.0.0.1 so that it’s only accessable to local telnet sessions. If you want to access this service remotely, you can bind to a remotely accessable IP. Remember telnet is not secure. If you need remote access, use a VPN.</p>
</li>
<li>
<p>To manage the services, you can telnet to your host’s localhost address.</p>
</li>
<li>
<p>Use 2604 for the ospf service.</p>
</li>
<li>
<p>Remember, this is accessible by non-root users so set a good password.</p>
</li>
</ul>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSBroadDiskStructure" target="_blank" rel="nofollow noopener">A broad overview of how ZFS is structured on disk</a></p>

<blockquote>
<p>When I wrote yesterday’s entry, it became clear that I didn’t understand as much about how ZFS is structured on disk (and that this matters, since I thought that ZFS copy on write updates updated a lot more than they do). So today I want to write down my new broad understanding of how this works. (All of this can be dug out of the old, draft ZFS on-disk format specification, but that spec is written in a very detailed way and things aren’t always immediately clear from it.)</p>
</blockquote>

<blockquote>
<p>Almost everything in ZFS is in DMU object. All objects are defined by a dnode, and object dnodes are almost always grouped together in an object set. Object sets are themselves DMU objects; they store dnodes as basically a giant array in a ‘file’, which uses data blocks and indirect blocks and so on, just like anything else. Within a single object set, dnodes have an object number, which is the index of their position in the object set’s array of dnodes. (Because an object number is just the index of the object’s dnode in its object set’s array of dnodes, object numbers are basically always going to be duplicated between object sets (and they’re always relative to an object set). For instance, pretty much every object set is going to have an object number ten, although not all object sets may have enough objects that they have an object number ten thousand. One corollary of this is that if you ask zdb to tell you about a given object number, you have to tell zdb what object set you’re talking about. Usually you do this by telling zdb which ZFS filesystem or dataset you mean.)</p>
</blockquote>

<blockquote>
<p>Each ZFS filesystem has its own object set for objects (and thus dnodes) used in the filesystem. As I discovered yesterday, every ZFS filesystem has a directory hierarchy and it may go many levels deep, but all of this directory hierarchy refers to directories and files using their object number.</p>
</blockquote>

<blockquote>
<p>ZFS organizes and keeps track of filesystems, clones, and snapshots through the DSL (Dataset and Snapshot Layer). The DSL has all sorts of things; DSL directories, DSL datasets, and so on, all of which are objects and many of which refer to object sets (for example, every ZFS filesystem must refer to its current object set somehow). All of these DSL objects are themselves stored as dnodes in another object set, the Meta Object Set, which the uberblock points to. To my surprise, object sets are not stored in the MOS (and as a result do not have ‘object numbers’). Object sets are always referred to directly, without indirection, using a block pointer to the object set’s dnode.  (I think object sets are referred to directly so that snapshots can freeze their object set very simply.)</p>
</blockquote>

<blockquote>
<p>The DSL directories and datasets for your pool’s set of filesystems form a tree themselves (each filesystem has a DSL directory and at least one DSL dataset). However, just like in ZFS filesystems, all of the objects in this second tree refer to each other indirectly, by their MOS object number. Just as with files in ZFS filesystems, this level of indirection limits the amount of copy on write updates that ZFS had to do when something changes.</p>
</blockquote>

<blockquote>
<p>PS: If you want to examine MOS objects with zdb, I think you do it with something like ‘zdb -vvv -d ssddata 1’, which will get you object number 1 of the MOS, which is the MOS object directory. If you want to ask zdb about an object in the pool’s root filesystem, use ‘zdb -vvv -d ssddata/ 1’. You can tell which one you’re getting depending on what zdb prints out. If it says ‘Dataset mos [META]’ you’re looking at objects from the MOS; if it says ‘Dataset ssddata [ZPL]’, you’re looking at the pool’s root filesystem (where object number 1 is the ZFS master node).</p>
</blockquote>

<blockquote>
<p>PPS: I was going to write up what changed on a filesystem write, but then I realized that I didn’t know how blocks being allocated and freed are reflected in pool structures. So I’ll just say that I think that ignoring free space management, only four DMU objects get updated; the file itself, the filesystem’s object set, the filesystem’s DSL dataset object, and the MOS.</p>
</blockquote>

<ul>
<li>(As usual, doing the research to write this up taught me things that I didn’t know about ZFS.)</li>
</ul>

<hr>

<p><strong>Digital Ocean</strong></p>

<p>###<a href="https://hardenedbsd.org/article/shawn-webb/2018-07-11/mid-july-hardenedbsd-foundation-status" target="_blank" rel="nofollow noopener">HardenedBSD Foundation Status</a></p>

<blockquote>
<p>On 09 July 2018, the HardenedBSD Foundation Board of Directors held the kick-off meeting to start organizing the Foundation. The following people attended the kick-off meeting:</p>
</blockquote>

<ul>
<li>
<ol>
<li>Shawn Webb (in person)</li>
</ol>
</li>
<li>
<ol>
<li>George Saylor (in person)</li>
</ol>
</li>
<li>
<ol>
<li>Ben Welch (in person)</li>
</ol>
</li>
<li>
<ol>
<li>Virginia Suydan (in person)</li>
</ol>
</li>
<li>
<ol>
<li>Ben La Monica (phone)</li>
</ol>
</li>
<li>
<ol>
<li>Dean Freeman (phone)</li>
</ol>
</li>
<li>
<ol>
<li>Christian Severt (phone)</li>
</ol>
</li>
</ul>

<blockquote>
<p>We discussed the very first steps that need to be taken to organize the HardenedBSD Foundation as a 501©(3) not-for-profit organization in the US. We determined we could file a 1023EZ instead of the full-blown 1023. This will help speed the process up drastically.</p>
</blockquote>

<ul>
<li>The steps are laid out as follows:</li>
<li>Register a Post Office Box (PO Box) (completed on 10 Jul 2018).</li>
<li>Register The HardenedBSD Foundation as a tax-exempt nonstock corporation in the state of Maryland (started on 10 Jul 2018, submitted on 18 Jul 2018, granted 20 Jul 2018).</li>
<li>Obtain a federal tax ID (obtained 20 Jul 2018).</li>
<li>Close the current bank account and create a new one using the federal tax ID (completed on 20 Jul 2018).</li>
<li>File the 1023EZ paperwork with the federal government (started on 20 Jul 2018).</li>
<li>Hire an attorney to help draft the organization bylaws.</li>
<li>Each of the steps must be done serially and in order.</li>
</ul>

<blockquote>
<p>We added Christian Severt, who is on Emerald Onion’s Board of Directors, to the HardenedBSD Foundation Board of Directors as an advisor. He was foundational in getting Emerald Onion their 501©(3) tax-exempt, not-for-profit status and has really good insight. Additionally, he’s going to help HardenedBSD coordinate hosting services, figuring out the best deals for us.</p>
</blockquote>

<blockquote>
<p>We promoted George Saylor to Vice President and changed Shawn Webb’s title to President and Director. This is to help resolve potential concerns both the state and federal agencies might have with an organization having only a single President role.</p>
</blockquote>

<blockquote>
<p>We hope to be granted our 501©(3) status before the end of the year, though that may be subject to change. We are excited for the formation of the HardenedBSD Foundation, which will open up new opportunities not otherwise available to HardenedBSD.</p>
</blockquote>

<hr>

<p>###<a href="https://undeadly.org/cgi?action=article;sid=20180724072257" target="_blank" rel="nofollow noopener">More mitigations against speculative execution vulnerabilities</a></p>

<blockquote>
<p>Philip Guenther (guenther@) and Bryan Steele (brynet@) have added more mitigations against speculative execution CPU vulnerabilities on the amd64 platform.</p>
</blockquote>

<pre><code class="language-For">
CVSROOT:    /cvs
Module name:    src
Changes by: guenther@cvs.openbsd.org    2018/07/23 11:54:04

Modified files:
    sys/arch/amd64/amd64: locore.S 
    sys/arch/amd64/include: asm.h cpufunc.h frameasm.h 

Log message:
Do "Return stack refilling", based on the "Return stack underflow" discussion
and its associated appendix at https://support.google.com/faqs/answer/7625886
This should address at least some cases of "SpectreRSB" and earlier
Spectre variants; more commits to follow.

The refilling is done in the enter-kernel-from-userspace and
return-to-userspace-from-kernel paths, making sure to do it before
unblocking interrupts so that a successive interrupt can't get the
CPU to C code without doing this refill.  Per the link above, it
also does it immediately after mwait, apparently in case the low-power
CPU states of idle-via-mwait flush the RSB.

ok mlarkin@ deraadt@```

+ and:

```CVSROOT: /cvs
Module name:    src
Changes by: guenther@cvs.openbsd.org    2018/07/23 20:42:25

Modified files:
    sys/arch/amd64/amd64: locore.S vector.S vmm_support.S 
    sys/arch/amd64/include: asm.h cpufunc.h 

Log message:
Also do RSB refilling when context switching, after vmexits, and
when vmlaunch or vmresume fails.

Follow the lead of clang and the intel recommendation and do an lfence
after the pause in the speculation-stop path for retpoline, RSB refill,
and meltover ASM bits.

ok kettenis@ deraadt@```

+ "Mitigation G-2" for AMD processors:

```CVSROOT: /cvs
Module name:    src
Changes by: brynet@cvs.openbsd.org  2018/07/23 17:25:03

Modified files:
    sys/arch/amd64/amd64: identcpu.c 
    sys/arch/amd64/include: specialreg.h 

Log message:
Add "Mitigation G-2" per AMD's Whitepaper "Software Techniques for
Managing Speculation on AMD Processors"

By setting MSR C001_1029[1]=1, LFENCE becomes a dispatch serializing
instruction.

Tested on AMD FX-4100 "Bulldozer", and Linux guest in SVM vmd(8)

ok deraadt@ mlarkin@```
***


##Beastie Bits
+ [HardenedBSD will stop supporting 10-STABLE on 10 August 2018](https://groups.google.com/a/hardenedbsd.org/forum/#!topic/users/xvU0g-g1l5U)
+ [GSoC 2018 Reports: Integrate libFuzzer with the Basesystem, Part 2](https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_integrate_libfuzzer1)
+ [ZFS Boot Environments at PBUG](https://vermaden.wordpress.com/2018/07/30/zfs-boot-environments-at-pbug/)
+ [Second Editions versus the Publishing Business](https://blather.michaelwlucas.com/archives/3229)
+ [Theo de Raadt on "unveil(2) usage in base"](https://undeadly.org/cgi?action=article;sid=20180728063716)
+ [rtadvd(8) has been replaced by rad(8)](https://undeadly.org/cgi?action=article;sid=20180724072205)
+ [BSD Users Stockholm Meetup #3](https://www.meetup.com/BSD-Users-Stockholm/events/253447019/)
+ [Changes to NetBSD release support policy](https://blog.netbsd.org/tnf/entry/changes_to_netbsd_release_support)
+ [The future of HAMMER1](http://lists.dragonflybsd.org/pipermail/users/2018-July/357832.html)
***

**Tarsnap**

##Feedback/Questions
+ Rodriguez - [A Question](http://dpaste.com/0Y1B75Q#wrap)
+ Shane - [About ZFS Mostly](http://dpaste.com/32YGNBY#wrap)
+ Leif - [ZFS less than 8gb](http://dpaste.com/2GY6HHC#wrap)
+ Wayne - [ZFS vs EMC](http://dpaste.com/17PSCXC#wrap)
***

- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [feedback@bsdnow.tv](mailto:feedback@bsdnow.tv)
</code></pre>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD Foundation July Newsletter, a bunch of BSDCan trip reports, HardenedBSD Foundation status, FreeBSD and OSPFd, ZFS disk structure overview, and more Spectre mitigations in OpenBSD.</p>

<p>##Headlines<br>
###<a href="https://www.freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-july-2018/" target="_blank" rel="nofollow noopener">FreeBSD Foundation Update, July 2018</a></p>

<ul>
<li>MESSAGE FROM THE EXECUTIVE DIRECTOR</li>
</ul>

<blockquote>
<p>We’re in the middle of summer here, in Boulder, CO. While the days are typically hot, they can also be quite unpredictable. Thanks to the Rocky Mountains, waking up to 50-degree (~10 C) foggy weather is not surprising. In spite of the unpredictable weather, many of us took some vacation this month. Whether it was extending the Fourth of July celebration,  spending time with family, or relaxing and enjoying the summer weather, we appreciated our time off, while still managing to accomplish a lot!<br>
In this newsletter, Glen Barber enlightens us about the upcoming 12.0 release. I gave a recap of OSCON, that Ed Maste and I attended, and Mark Johnston explains the work on his improved microcode loading project, that we are funding. Finally, Anne Dickison gives us a rundown on upcoming events and information on submitting a talk for MeetBSD.<br>
Your support helps us continue this work. Please consider making a donation today. We can’t do it without you. Happy reading!!</p>
</blockquote>

<ul>
<li>June 2018 Development Projects Update</li>
<li>Fundraising Update: Supporting the Project</li>
<li>July 2018 Release Engineering Update</li>
<li>OSCON 2018 Recap</li>
<li>Submit Your Work: MeetBSD 2018</li>
<li>FreeBSD Discount for 2018 SNIA Developer Conference</li>
<li>EuroBSDcon 2018 Travel Grant Application Deadline: August 2</li>
</ul>

<hr>

<p><strong>iXsystems</strong></p>

<p>###BSDCan Trip Reports</p>

<ul>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-constantin-stan/" target="_blank" rel="nofollow noopener">BSDCan 2018 Trip Report: Constantin Stan</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-danilo-g-baio/" target="_blank" rel="nofollow noopener">BSDCan 2018 Trip Report: Danilo G. Baio</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-rodrigo-osorio/" target="_blank" rel="nofollow noopener">BSDCan 2018 Trip Report: Rodrigo Osorio</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-dhananjay-balan/" target="_blank" rel="nofollow noopener">BSDCan 2018 Trip Report: Dhananjay Balan</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-kyle-evans/" target="_blank" rel="nofollow noopener">BSDCan 2018 Trip Report: Kyle Evans</a></li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://blog.haraschak.com/freebsd-and-ospfd/" target="_blank" rel="nofollow noopener">FreeBSD and OSPFd</a></p>

<blockquote>
<p>With FreeBSD jails deployed around the world, static routing was getting a bit out of hand. Plus, when I needed to move a jail from one data center to another, I would have to update routing tables across multiple sites. Not ideal. Enter dynamic routing…</p>
</blockquote>

<blockquote>
<p>OSPF (open shortest path first) is an internal dynamic routing protocol that provides the autonomy that I needed and it’s fairly easy to setup. This article does not cover configuration of VPN links, ZFS, or Freebsd jails, however it’s recommended that you use seperate ZFS datasets per jail so that migration between hosts can be done with zfs send &amp; receive.</p>
</blockquote>

<blockquote>
<p>In this scenario, we have five FreeBSD servers in two different data centers. Each physical server runs anywhere between three to ten jails. When jails are deployed, they are assigned a /32 IP on lo2. From here, pf handles inbound port forwarding and outbound NAT. Links between each server are provided by OpenVPN TAP interfaces. (I used TAP to pass layer 2 traffic. I seem to remember that I needed TAP interfaces due to needing GRE tunnels on top of TUN interfaces to get OSPF to communicate. I’ve heard TAP is slower than TUN so I may revisit this.)</p>
</blockquote>

<blockquote>
<p>In this example, we will use 172.16.2.0/24 as the range for OpenVPN P2P links and 172.16.3.0/24 as the range of IPs available for assignment to each jail. Previously, when deploying a jail, I assigned IPs based on the following groups:</p>
</blockquote>

<p><code>Server 1: 172.16.3.0/28</code><br>
<code>Server 2: 172.16.3.16/28</code><br>
<code>Server 3: 172.16.3.32/28</code><br>
<code>Server 4: 172.16.3.48/28</code><br>
<code>Server 5: 172.16.3.64/28</code></p>

<blockquote>
<p>When statically routing, this made routing tables a bit smaller and easier to manage. However, when I needed to migrate a jail to a new host, I had to add a new /32 to all routing tables. Now, with OSPF, this is no longer an issue, nor is it required.</p>
</blockquote>

<ul>
<li>
<p>To get started, first we install the Quagga package.</p>
</li>
<li>
<p>The two configuration files needed to get OSPFv2 running are /usr/local/etc/quagga/zebra.conf and /usr/local/etc/quagga/ospfd.conf.</p>
</li>
<li>
<p>Starting with zebra.conf, we’ll define the hostname and a management password.</p>
</li>
<li>
<p>Second, we will populate the ospfd.conf file.</p>
</li>
<li>
<p>To break this down:</p>
</li>
<li>
<p>service advanced-vty allows you to skip the en or enable command. Since I’m the only one who uses this service, it’s one less command to type.</p>
</li>
<li>
<p>ip ospf authentication message-digest and ip ospf message-diget-key… ignores non-authenticated OSPF communication. This is useful when communicating over the WAN and to prevent a replay attack. Since I’m using a VPN to communicate, I could exclude these.</p>
</li>
<li>
<p>passive-interface default turns off the active communication of OSPF messages on all interfaces except for the interfaces listed as no passive-interface [interface name]. Since my ospf communication needs to leverage the VPNs, this prevents the servers from trying to send ospf data out the WAN interface (a firewall would work too).</p>
</li>
<li>
<p>network 172.16.2.0/23 area 0.0.0.0 lists a supernet of both 172.16.2.0/24 and 172.16.3.0/24. This ensures routes for the jails are advertised along with the P2P links used by OpenVPN. The OpenVPN links are not required but can provide another IP to access your server if one of the links goes down. (See the suggested tasks below).</p>
</li>
<li>
<p>At this point, we can enable the services in rc.conf.local and start them.</p>
</li>
<li>
<p>We bind the management interface to 127.0.0.1 so that it’s only accessable to local telnet sessions. If you want to access this service remotely, you can bind to a remotely accessable IP. Remember telnet is not secure. If you need remote access, use a VPN.</p>
</li>
<li>
<p>To manage the services, you can telnet to your host’s localhost address.</p>
</li>
<li>
<p>Use 2604 for the ospf service.</p>
</li>
<li>
<p>Remember, this is accessible by non-root users so set a good password.</p>
</li>
</ul>

<hr>

<p>###<a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSBroadDiskStructure" target="_blank" rel="nofollow noopener">A broad overview of how ZFS is structured on disk</a></p>

<blockquote>
<p>When I wrote yesterday’s entry, it became clear that I didn’t understand as much about how ZFS is structured on disk (and that this matters, since I thought that ZFS copy on write updates updated a lot more than they do). So today I want to write down my new broad understanding of how this works. (All of this can be dug out of the old, draft ZFS on-disk format specification, but that spec is written in a very detailed way and things aren’t always immediately clear from it.)</p>
</blockquote>

<blockquote>
<p>Almost everything in ZFS is in DMU object. All objects are defined by a dnode, and object dnodes are almost always grouped together in an object set. Object sets are themselves DMU objects; they store dnodes as basically a giant array in a ‘file’, which uses data blocks and indirect blocks and so on, just like anything else. Within a single object set, dnodes have an object number, which is the index of their position in the object set’s array of dnodes. (Because an object number is just the index of the object’s dnode in its object set’s array of dnodes, object numbers are basically always going to be duplicated between object sets (and they’re always relative to an object set). For instance, pretty much every object set is going to have an object number ten, although not all object sets may have enough objects that they have an object number ten thousand. One corollary of this is that if you ask zdb to tell you about a given object number, you have to tell zdb what object set you’re talking about. Usually you do this by telling zdb which ZFS filesystem or dataset you mean.)</p>
</blockquote>

<blockquote>
<p>Each ZFS filesystem has its own object set for objects (and thus dnodes) used in the filesystem. As I discovered yesterday, every ZFS filesystem has a directory hierarchy and it may go many levels deep, but all of this directory hierarchy refers to directories and files using their object number.</p>
</blockquote>

<blockquote>
<p>ZFS organizes and keeps track of filesystems, clones, and snapshots through the DSL (Dataset and Snapshot Layer). The DSL has all sorts of things; DSL directories, DSL datasets, and so on, all of which are objects and many of which refer to object sets (for example, every ZFS filesystem must refer to its current object set somehow). All of these DSL objects are themselves stored as dnodes in another object set, the Meta Object Set, which the uberblock points to. To my surprise, object sets are not stored in the MOS (and as a result do not have ‘object numbers’). Object sets are always referred to directly, without indirection, using a block pointer to the object set’s dnode.  (I think object sets are referred to directly so that snapshots can freeze their object set very simply.)</p>
</blockquote>

<blockquote>
<p>The DSL directories and datasets for your pool’s set of filesystems form a tree themselves (each filesystem has a DSL directory and at least one DSL dataset). However, just like in ZFS filesystems, all of the objects in this second tree refer to each other indirectly, by their MOS object number. Just as with files in ZFS filesystems, this level of indirection limits the amount of copy on write updates that ZFS had to do when something changes.</p>
</blockquote>

<blockquote>
<p>PS: If you want to examine MOS objects with zdb, I think you do it with something like ‘zdb -vvv -d ssddata 1’, which will get you object number 1 of the MOS, which is the MOS object directory. If you want to ask zdb about an object in the pool’s root filesystem, use ‘zdb -vvv -d ssddata/ 1’. You can tell which one you’re getting depending on what zdb prints out. If it says ‘Dataset mos [META]’ you’re looking at objects from the MOS; if it says ‘Dataset ssddata [ZPL]’, you’re looking at the pool’s root filesystem (where object number 1 is the ZFS master node).</p>
</blockquote>

<blockquote>
<p>PPS: I was going to write up what changed on a filesystem write, but then I realized that I didn’t know how blocks being allocated and freed are reflected in pool structures. So I’ll just say that I think that ignoring free space management, only four DMU objects get updated; the file itself, the filesystem’s object set, the filesystem’s DSL dataset object, and the MOS.</p>
</blockquote>

<ul>
<li>(As usual, doing the research to write this up taught me things that I didn’t know about ZFS.)</li>
</ul>

<hr>

<p><strong>Digital Ocean</strong></p>

<p>###<a href="https://hardenedbsd.org/article/shawn-webb/2018-07-11/mid-july-hardenedbsd-foundation-status" target="_blank" rel="nofollow noopener">HardenedBSD Foundation Status</a></p>

<blockquote>
<p>On 09 July 2018, the HardenedBSD Foundation Board of Directors held the kick-off meeting to start organizing the Foundation. The following people attended the kick-off meeting:</p>
</blockquote>

<ul>
<li>
<ol>
<li>Shawn Webb (in person)</li>
</ol>
</li>
<li>
<ol>
<li>George Saylor (in person)</li>
</ol>
</li>
<li>
<ol>
<li>Ben Welch (in person)</li>
</ol>
</li>
<li>
<ol>
<li>Virginia Suydan (in person)</li>
</ol>
</li>
<li>
<ol>
<li>Ben La Monica (phone)</li>
</ol>
</li>
<li>
<ol>
<li>Dean Freeman (phone)</li>
</ol>
</li>
<li>
<ol>
<li>Christian Severt (phone)</li>
</ol>
</li>
</ul>

<blockquote>
<p>We discussed the very first steps that need to be taken to organize the HardenedBSD Foundation as a 501©(3) not-for-profit organization in the US. We determined we could file a 1023EZ instead of the full-blown 1023. This will help speed the process up drastically.</p>
</blockquote>

<ul>
<li>The steps are laid out as follows:</li>
<li>Register a Post Office Box (PO Box) (completed on 10 Jul 2018).</li>
<li>Register The HardenedBSD Foundation as a tax-exempt nonstock corporation in the state of Maryland (started on 10 Jul 2018, submitted on 18 Jul 2018, granted 20 Jul 2018).</li>
<li>Obtain a federal tax ID (obtained 20 Jul 2018).</li>
<li>Close the current bank account and create a new one using the federal tax ID (completed on 20 Jul 2018).</li>
<li>File the 1023EZ paperwork with the federal government (started on 20 Jul 2018).</li>
<li>Hire an attorney to help draft the organization bylaws.</li>
<li>Each of the steps must be done serially and in order.</li>
</ul>

<blockquote>
<p>We added Christian Severt, who is on Emerald Onion’s Board of Directors, to the HardenedBSD Foundation Board of Directors as an advisor. He was foundational in getting Emerald Onion their 501©(3) tax-exempt, not-for-profit status and has really good insight. Additionally, he’s going to help HardenedBSD coordinate hosting services, figuring out the best deals for us.</p>
</blockquote>

<blockquote>
<p>We promoted George Saylor to Vice President and changed Shawn Webb’s title to President and Director. This is to help resolve potential concerns both the state and federal agencies might have with an organization having only a single President role.</p>
</blockquote>

<blockquote>
<p>We hope to be granted our 501©(3) status before the end of the year, though that may be subject to change. We are excited for the formation of the HardenedBSD Foundation, which will open up new opportunities not otherwise available to HardenedBSD.</p>
</blockquote>

<hr>

<p>###<a href="https://undeadly.org/cgi?action=article;sid=20180724072257" target="_blank" rel="nofollow noopener">More mitigations against speculative execution vulnerabilities</a></p>

<blockquote>
<p>Philip Guenther (guenther@) and Bryan Steele (brynet@) have added more mitigations against speculative execution CPU vulnerabilities on the amd64 platform.</p>
</blockquote>

<pre><code class="language-For">
CVSROOT:    /cvs
Module name:    src
Changes by: guenther@cvs.openbsd.org    2018/07/23 11:54:04

Modified files:
    sys/arch/amd64/amd64: locore.S 
    sys/arch/amd64/include: asm.h cpufunc.h frameasm.h 

Log message:
Do "Return stack refilling", based on the "Return stack underflow" discussion
and its associated appendix at https://support.google.com/faqs/answer/7625886
This should address at least some cases of "SpectreRSB" and earlier
Spectre variants; more commits to follow.

The refilling is done in the enter-kernel-from-userspace and
return-to-userspace-from-kernel paths, making sure to do it before
unblocking interrupts so that a successive interrupt can't get the
CPU to C code without doing this refill.  Per the link above, it
also does it immediately after mwait, apparently in case the low-power
CPU states of idle-via-mwait flush the RSB.

ok mlarkin@ deraadt@```

+ and:

```CVSROOT: /cvs
Module name:    src
Changes by: guenther@cvs.openbsd.org    2018/07/23 20:42:25

Modified files:
    sys/arch/amd64/amd64: locore.S vector.S vmm_support.S 
    sys/arch/amd64/include: asm.h cpufunc.h 

Log message:
Also do RSB refilling when context switching, after vmexits, and
when vmlaunch or vmresume fails.

Follow the lead of clang and the intel recommendation and do an lfence
after the pause in the speculation-stop path for retpoline, RSB refill,
and meltover ASM bits.

ok kettenis@ deraadt@```

+ "Mitigation G-2" for AMD processors:

```CVSROOT: /cvs
Module name:    src
Changes by: brynet@cvs.openbsd.org  2018/07/23 17:25:03

Modified files:
    sys/arch/amd64/amd64: identcpu.c 
    sys/arch/amd64/include: specialreg.h 

Log message:
Add "Mitigation G-2" per AMD's Whitepaper "Software Techniques for
Managing Speculation on AMD Processors"

By setting MSR C001_1029[1]=1, LFENCE becomes a dispatch serializing
instruction.

Tested on AMD FX-4100 "Bulldozer", and Linux guest in SVM vmd(8)

ok deraadt@ mlarkin@```
***


##Beastie Bits
+ [HardenedBSD will stop supporting 10-STABLE on 10 August 2018](https://groups.google.com/a/hardenedbsd.org/forum/#!topic/users/xvU0g-g1l5U)
+ [GSoC 2018 Reports: Integrate libFuzzer with the Basesystem, Part 2](https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_integrate_libfuzzer1)
+ [ZFS Boot Environments at PBUG](https://vermaden.wordpress.com/2018/07/30/zfs-boot-environments-at-pbug/)
+ [Second Editions versus the Publishing Business](https://blather.michaelwlucas.com/archives/3229)
+ [Theo de Raadt on "unveil(2) usage in base"](https://undeadly.org/cgi?action=article;sid=20180728063716)
+ [rtadvd(8) has been replaced by rad(8)](https://undeadly.org/cgi?action=article;sid=20180724072205)
+ [BSD Users Stockholm Meetup #3](https://www.meetup.com/BSD-Users-Stockholm/events/253447019/)
+ [Changes to NetBSD release support policy](https://blog.netbsd.org/tnf/entry/changes_to_netbsd_release_support)
+ [The future of HAMMER1](http://lists.dragonflybsd.org/pipermail/users/2018-July/357832.html)
***

**Tarsnap**

##Feedback/Questions
+ Rodriguez - [A Question](http://dpaste.com/0Y1B75Q#wrap)
+ Shane - [About ZFS Mostly](http://dpaste.com/32YGNBY#wrap)
+ Leif - [ZFS less than 8gb](http://dpaste.com/2GY6HHC#wrap)
+ Wayne - [ZFS vs EMC](http://dpaste.com/17PSCXC#wrap)
***

- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [feedback@bsdnow.tv](mailto:feedback@bsdnow.tv)
</code></pre>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 257: Great NetBSD 8 | BSD Now 257</title>
  <link>https://www.bsdnow.tv/257</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2354</guid>
  <pubDate>Thu, 02 Aug 2018 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/7928575b-6648-4fac-ba50-4d24e56a7b9b.mp3" length="50094426" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>NetBSD 8.0 available, FreeBSD on Scaleway’s ARM64 VPS, encrypted backups with OpenBSD, Dragonfly server storage upgrade, zpool checkpoints, g2k18 hackathon reports, and more.</itunes:subtitle>
  <itunes:duration>1:23:11</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>&lt;p&gt;NetBSD 8.0 available, FreeBSD on Scaleway’s ARM64 VPS, encrypted backups with OpenBSD, Dragonfly server storage upgrade, zpool checkpoints, g2k18 hackathon reports, and more.&lt;br&gt;
&lt;/p&gt;&lt;hr&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://www.netbsd.org/releases/formal-8/NetBSD-8.0.html" target="_blank" rel="nofollow noopener"&gt;NetBSD v8.0 Released&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The NetBSD Project is pleased to announce NetBSD 8.0, the sixteenth major release of the NetBSD operating system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;This release brings stability improvements, hundreds of bug fixes, and many new features.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Some highlights of the NetBSD 8.0 release are:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;USB stack rework, USB3 support added.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In-kernel audio mixer (audio_system(9)).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Reproducible builds (MKREPRO, see mk.conf(5)).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Full userland debug information (MKDEBUG, see mk.conf(5)) available. While most install media do not come with them (for size reasons), the debug and xdebug sets can be downloaded and extracted as needed later. They provide full symbol information for all base system and X binaries and libraries and allow better error reporting and (userland) crash analysis.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;PaX MPROTECT (W^X) memory protection enforced by default on some architectures with fine-grained memory protection and suitable ELF formats: i386, amd64, evbarm, landisk.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;PaX ASLR (Address Space Layout Randomization) enabled by default on: i386, amd64, evbarm, landisk, sparc64.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Position independent executables by default for userland on: i386, amd64, arm, m68k, mips, sh3, sparc64.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A new socket layer can(4) has been added for communication of devices on a CAN bus.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A special pseudo interface ipsecif(4) for route-based VPNs has been added.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Parts of the network stack have been made MP-safe. The kernel option NET_MPSAFE is required to enable this.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Hardening of the network stack in general.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Various WAPBL (the NetBSD file system “log” option) stability and performance improvements.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Specific to i386 and amd64 CPUs:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Meltdown mitigation: SVS (Separate Virtual Space), enabled by default.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SpectreV2 mitigation: retpoline (support in gcc), used by default for kernels. Other hardware mitigations are also available.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SpectreV4 mitigations available for Intel and AMD.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;PopSS workaround: user access to debug registers is turned off by default.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lazy FPU saving disabled on vulnerable Intel CPUs (“eagerfpu”).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;SMAP support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Improvement and hardening of the memory layout: W^X, fewer writable pages, better consistency, better performance.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(U)EFI bootloader.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Many evbarm kernels now use FDT (flat device tree) information (loadable at boot time from an external file) for device configuration, the number of kernels has decreased but the number of boards has vastly increased.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lots of updates to 3rd party software included:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GCC 5.5 with support for Address Sanitizer and Undefined Behavior Sanitizer&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GDB 7.12&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GNU binutils 2.27&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Clang/LLVM 3.8.1&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OpenSSH 7.6&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OpenSSL 1.0.2k&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;mdocml 1.14.1&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;acpica 20170303&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;ntp 4.2.8p11-o&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;dhcpcd 7.0.6&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Lua 5.3.4&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://community.online.net/t/freebsd-on-arm64/6678" target="_blank" rel="nofollow noopener"&gt;Running FreeBSD on the ARM64 VPS from Scaleway&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve been thinking about this 6 since 2017, but only yesterday signed up for an account and played around with the ARM64 offering.&lt;br&gt;
Turns out it’s pretty great! KVM boots into UEFI, there’s a local VirtIO disk attached, no NBD junk required. So we can definitely run FreeBSD.&lt;br&gt;
I managed to “depenguinate” a running instance, the notes are below. Would be great if Scaleway offered an official image instead :wink:&lt;br&gt;
For some reason, unlike on x86 4, mounting additional volumes is not allowed 4 on ARM64 instances. So we’ll have to move the running Linux to a ramdisk using pivot_root and then we can do whatever to our one and only disk.&lt;br&gt;
Spin up an instance with Ubuntu Zesty and ssh in.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Prepare the system and change the root to a tmpfs:&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;apt install gdisk
mount -t tmpfs tmpfs /tmp
cp -r /bin /sbin /etc /dev /root /home /lib /run /usr /var /tmp
mkdir /tmp/proc /tmp/sys /tmp/oldroot
mount /dev/vda /tmp/oldroot
mount --make-rprivate /
pivot_root /tmp /tmp/oldroot
for i in dev proc sys run; do mount --move /oldroot/$i /$i; done
systemctl daemon-reload
systemctl restart sshd
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Now reconnect to ssh from a second terminal (note: rm the connection file if you use ControlPersist in ssh config), then exit the old session. Kill the old sshd process, restart or stop the rest of the stuff using the old disk:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;pkill -f notty
sed -ibak 's/RefuseManualStart.*$//g' /lib/systemd/system/dbus.service
systemctl daemon-reload
systemctl restart dbus
systemctl daemon-reexec
systemctl stop user@0 ntp cron systemd-logind
systemctl restart systemd-journald systemd-udevd
pkill agetty
pkill rsyslogd
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Check that nothing is touching /oldroot:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;lsof | grep oldroot
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;There will probably be an old dbus-daemon, kill it.&lt;br&gt;
And finally, unmount the old root and overwrite the hard disk with a memstick image:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;umount -R /oldroot
wget https://download.freebsd.org/ftp/snapshots/arm64/aarch64/ISO-IMAGES/12.0/FreeBSD-12.0-CURRENT-arm64-aarch64-20180719-r336479-mini-memstick.img.xz
xzcat FreeBSD-12.0-CURRENT-arm64-aarch64-20180719-r336479-mini-memstick.img.xz | dd if=/dev/stdin of=/dev/vda bs=1M
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;(Look for the newest snapshot, don’t copy paste the July 19 link above if you’re reading this in the future. Actually maybe use a release instead of CURRENT…)&lt;br&gt;
Now, fix the GPT: move the secondary table to the end of the disk and resize the table.&lt;br&gt;
It’s important to resize here, as FreeBSD does not do that and silently creates partitions that won’t persist across reboots&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;gdisk /dev/vda
x
e
s
4
w
y
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And reboot. (You might actually want to hard reboot here: for some reason on the first reboot from Linux, pressing the any-key to enter the prompt in the loader hangs the console for me.)&lt;/p&gt;

&lt;p&gt;I didn’t have to go into the ESC menu and choose the local disk in the boot manager, it seems to boot from disk automatically.&lt;/p&gt;

&lt;p&gt;Now we’re in the FreeBSD EFI loader.&lt;br&gt;
For some reason, the (recently fixed? 2) serial autodetection from EFI is not working correctly. Or something.&lt;br&gt;
So you don’t get console output by default.&lt;br&gt;
To fix, you have to run these commands in the boot loader command prompt:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;set console=comconsole,efi
boot
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Ignore the warning about comconsole not being a valid console.&lt;br&gt;
Since there’s at least one (efi) that the loader thinks is valid, it sets the whole variable.)&lt;/p&gt;

&lt;p&gt;(UPD: shouldn’t be necessary in the next snapshot)&lt;/p&gt;

&lt;p&gt;Now it’s a regular installation process!&lt;br&gt;
When asked about partitioning, choose Shell, and manually add a partition and set up a root filesystem:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;gpart add -t freebsd-zfs -a 4k -l zroot vtbd0
zpool create -R /mnt -O mountpoint=none -O atime=off zroot /dev/gpt/zroot
zfs create -o canmount=off -o mountpoint=none zroot/ROOT
zfs create -o mountpoint=/ zroot/ROOT/default
zfs create -o mountpoint=/usr zroot/ROOT/default/usr
zfs create -o mountpoint=/var zroot/ROOT/default/var
zfs create -o mountpoint=/var/log zroot/ROOT/default/var/log
zfs create -o mountpoint=/usr/home zroot/home
zpool set bootfs=zroot/ROOT/default zroot
exit
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;(In this example, I set up ZFS with a beadm-compatible layout which allows me to use Boot Environments.)&lt;/p&gt;

&lt;p&gt;In the post-install chroot shell, fix some configs like so:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;echo 'zfs_load="YES"' &amp;gt;&amp;gt; /boot/loader.conf
echo 'console="comconsole,efi"' &amp;gt;&amp;gt; /boot/loader.conf
echo 'vfs.zfs.arc_max="512M"' &amp;gt;&amp;gt; /boot/loader.conf
sysrc zfs_enable=YES
exit
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;(Yeah, for some reason, the loader does not load zfs.ko’s dependency opensolaris.ko automatically here. idk what even. It does on my desktop and laptop.)&lt;/p&gt;

&lt;p&gt;Now you can reboot into the installed system!!&lt;/p&gt;

&lt;p&gt;Here’s how you can set up IPv6 (and root’s ssh key) auto configuration on boot:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Pkg bootstrap
pkg install curl
curl https://raw.githubusercontent.com/scaleway/image-tools/master/bases/overlay-common/usr/local/bin/scw-metadata &amp;gt; /usr/local/bin/scw-metadata
chmod +x /usr/local/bin/scw-metadata
echo '#\!/bin/sh' &amp;gt; /etc/rc.local
echo 'PATH=/usr/local/bin:$PATH' &amp;gt;&amp;gt; /etc/rc.local
echo 'eval $(scw-metadata)' &amp;gt;&amp;gt; /etc/rc.local
echo 'echo $SSH_PUBLIC_KEYS_0_KEY &amp;gt; /root/.ssh/authorized_keys' &amp;gt;&amp;gt; /etc/rc.local
echo 'chmod 0400 /root/.ssh/authorized_keys' &amp;gt;&amp;gt; /etc/rc.local
echo 'ifconfig vtnet0 inet6 $IPV6_ADDRESS/$IPV6_NETMASK' &amp;gt;&amp;gt; /etc/rc.local
echo 'route -6 add default $IPV6_GATEWAY' &amp;gt;&amp;gt; /etc/rc.local
mkdir /run
mkdir /root/.ssh
sh /etc/rc.local
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;And to fix incoming TCP connections, configure the DHCP client to change the broadcast address:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;echo 'interface "vtnet0" { supersede broadcast-address 255.255.255.255; }' &amp;gt;&amp;gt; /etc/dhclient.conf&lt;/code&gt;&lt;br&gt;
&lt;code&gt;killall dhclient&lt;/code&gt;&lt;br&gt;
&lt;code&gt;dhclient vtnet0&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Other random notes:&lt;/li&gt;
&lt;li&gt;keep in mind that -CURRENT snapshots come with a debugging kernel by default, which limits syscall performance by a lot, you might want to build your own 2 with config GENERIC-NODEBUG&lt;/li&gt;
&lt;li&gt;also disable heavy malloc debugging features by running ln -s ‘abort:false,junk:false’ /etc/malloc.conf (yes that’s storing config in a symlink)&lt;/li&gt;
&lt;li&gt;you can reuse the installer’s partition for swap&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;** Digital Ocean **&lt;br&gt;
&lt;a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener"&gt;http://do.co/bsdnow&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://dataswamp.org/~solene/2018-06-26-openbsd-easy-backup.html" target="_blank" rel="nofollow noopener"&gt;Easy encrypted backups on OpenBSD with base tools&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Today’s topic is “Encrypted backups” using only OpenBSD base tools. I am planning to write a bigger article later about backups but it’s a wide topic with a lot of software to cover and a lot of explanations about the differents uses cases, needs, issues an solutions. Here I will stick on explaining how to make reliable backups for an OpenBSD system (my laptop).&lt;br&gt;
What we need is the dump command (see man 8 dump for its man page). It’s an utility to make a backup for a filesystem, it can only make a backup of one filesystem at a time. On my laptop I only backup /home partition so this solution is suitable for me while still being easy.&lt;br&gt;
Dump can do incremental backups, it means that it will only save what changed since the last backup of lower level. If you do not understand this, please refer to the dump man page.&lt;br&gt;
What is very interesting with dump is that it honors nodump flag which is an extended attribute of a FFS filesystem. One can use the command chflags nodump /home/solene/Downloads to tells dump not do save that folder (under some circumstances). By default, dump will not save thoses files, EXCEPT for a level 0 backup.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Important features of this backup solution:&lt;/li&gt;
&lt;li&gt;save files with attributes, permissions and flags&lt;/li&gt;
&lt;li&gt;can recreate a partition from a dump, restore files interactively, from a list or from its inode number (useful when you have files in lost+found)&lt;/li&gt;
&lt;li&gt;one dump = one file&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;My process is to make a huge dump of level 0 and keep it on a remote server, then, once a week I make a level 1 backup which will contain everything changed since the last dump of level 0, and everyday I do a level 2 backup of my files. The level 2 will contain latest files and the files changing a lot, which are often the most interesting. The level 1 backup is important because it will offload a lot of changes for the level 2.&lt;br&gt;
Let me explain: let says my full backup is 60 GB, full of pictures, sources files, GUI applications data files etc… A level 1 backup will contain every new picture, new projects, new GUI files etc… since the full backup, which will produce bigger and bigger dump over time, usually it is only 100 MB to 1GB. As I don’t add new pictures everyday or use new software everyday, the level 2 will take care of most littles changes to my data, like source code edited, little works on files etc… The level 2 backup is really small, I try to keep it under 50 MB so I can easily send it on my remote server everyday.&lt;br&gt;
One could you more dump level, up to level 9, but keep in mind that those are incremental. In my case, if I need to restore all my partition, I will need to use level 0, 1 and 2 to get up to latest backup state. If you want to restore a file deleted a few days ago, you need to remember in which level its latest version is.&lt;br&gt;
History note: dump was designed to be used with magnetic tapes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the article for the remainder of the article&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2018-July/357809.html" target="_blank" rel="nofollow noopener"&gt;Status of DFly server storage upgrades (Matt Dillon)&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Last month we did some storage upgrades, particularly of internet-facing machines for package and OS distribution.  Yesterday we did a number of additional upgrades, described below.  All using funds generously donated by everyone!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The main repository server received a 2TB SSD to replace the HDDs it was using before.  This will improve access to a number of things maintained by this server, including the mail archives, and gives the main repo server more breathing room for repository expansion.  Space was at a premium before.  Now there’s plenty.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Monster, the quad socket opteron which we currently use as the database builder and repository that we export to our public grok service (&lt;a href="http://grok.dragonflybsd.org" target="_blank" rel="nofollow noopener"&gt;grok.dragonflybsd.org&lt;/a&gt;) received a 512G SSD to add swap space for swapcache, to help cache the grok meta-data.  It now has 600GB of swapcache configured.  Over the next few weeks we will also be changing the grok updates to ping-pong between the two 4TB data drives it received in the last upgrade so we can do concurrent updates and web accesses without them tripping over each other performance-wise.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The main developer box, Leaf, received a 2TB SSD and we are currently in the midst of migrating all the developer accounts in /home and /build from its old HDDs to its new SSD.  This machine serves developer repos, developer web stuff, our home page and wiki, etc, so those will become snappier as well.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Hard drives are becoming real dinosaurs.  We still have a few left from the old days but in terms of active use the only HDDs we feel we really need to keep now are the ones we use for backups and grok data, owing to the amount of storage needed for those functions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Five years ago when we received the blade server that now sits in the colo, we had a small 256G SSD for root on every blade, and everything else used HDDs.  To make things operate smoothly, most of that 256G root SSD was assigned to swapcache (200G of it, in fact, in most cases).  Even just 2 years ago replacing all those HDDs with SSDs, even just the ones being used to actively serve data and support developers, would have been cost prohibitive.  But today it isn’t and the only HDDs we really need anywhere are for backups or certain very large bits of bulk data (aka the grok source repository and index).  The way things are going, even the backup drives will probably become SSDs over the next two years.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###iX ad spot&lt;br&gt;
&lt;a href="https://www.ixsystems.com/blog/oscon2018/" target="_blank" rel="nofollow noopener"&gt;OSCON 2018 Recap&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="http://oshogbo.vexillium.org/blog/46/" target="_blank" rel="nofollow noopener"&gt;zpool checkpoints&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In March, to FreeBSD landed a very interesting feature called ‘zpool checkpoints’. Before we jump straight into the topic, let’s take a step back and look at another ZFS feature called ‘snapshot’. Snapshot allows us to create an image of our single file systems. This gives us the option to modify data on the dataset without the fear of losing some data.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;A very good example of how to use ZFS snapshot is during an upgrade of database schema. Let us consider a situation where we have a few scripts which change our schema. Sometimes we are unable to upgrade in one transaction (for example, when we attempt to alter a table and then update it in single transaction). If our database is on dataset, we can just snapshot it, and if something goes wrong, simply rollback the file system to its previous state.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The problem with snapshot is that it works only on a single dataset. If we added some dataset, we wouldn’t then be able to create the snapshot which would rollback that operation. The same with changing the attributes of a dataset. If we change the compression on the dataset, we cannot rollback it. We would need to change that manually.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Another interesting problem involves upgrading the whole operating system when we upgrade system with a new ZFS version. What if we start upgrading our dataset and our kernel begins to crash? (If you use FreeBSD, I doubt you will ever have had that experience but still…). If we rollback to the old kernel, there is a chance the dataset will stop working because the new kernel doesn’t know how to use the new features.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Zpool checkpoints is the solution to all those problems. Instead of taking a single snapshot of the dataset, we can now take a snapshot of the whole pool. That means we will not only rollback the data but also all the metadata. If we rewind to the checkpoint, all our ZFS properties will be rolled back; the upgrade will be rolledback, and even the creation/deletion of the dataset, and the snapshot, will be rolledback.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Zpool Checkpoint has introduced a few simple functions:&lt;/li&gt;
&lt;li&gt;For a creating checkpoint:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;zpool checkpoint &amp;lt;pool&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rollbacks state to checkpoint and remove the checkpoint:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;zpool import -- rewind-to-checkpoint &amp;lt;pool&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mount the pool read only - this does not rollback the data:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;zpool import --read-only=on --rewind-to-checkpoint&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Remove the checkpoint&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;zpool checkpoint --discard &amp;lt;pool&amp;gt; or zpool checkpoint -d &amp;lt;pool&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;With this powerful feature we need to remember some safety rules:&lt;/li&gt;
&lt;li&gt;Scrub will work only on data that isn’t in checkpool.&lt;/li&gt;
&lt;li&gt;You can’t remove vdev if you have a checkpoint.&lt;/li&gt;
&lt;li&gt;You can’t split mirror.&lt;/li&gt;
&lt;li&gt;Reguid will not work either.&lt;/li&gt;
&lt;li&gt;Create a checkpoint when one of the disks is removed…&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For me, this feature is incredibly useful, especially when upgrading an operating system, or when I need to experiment with additional data sets. If you speak Polish, I have some additional information for you. During the first Polish BSD user group meeting, I had the opportunity to give a short talk about this feature. Here you find the video of that talk, and here is the slideshow.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I would like to offer my thanks to Serapheim Dimitropoulos for developing this feature, and for being so kind in sharing with me so many of its intricacies. If you are interested in knowing more about the technical details of this feature, you should check out Serapheim’s blog, and his video about checkpoints.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###g2k18 Reports&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180728110010" target="_blank" rel="nofollow noopener"&gt;g2k18 hackathon report: Ingo Schwarze on sed(1) bugfixing with Martijn van Duren, and about other small userland stuff&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180726184322" target="_blank" rel="nofollow noopener"&gt;g2k18 hackathon report: Kenneth Westerback on dhcpd(8) fixes, disklabel(8) refactoring and more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180716193511" target="_blank" rel="nofollow noopener"&gt;g2k18 Hackathon Report: Marc Espie on ports and packages progress&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180716202456" target="_blank" rel="nofollow noopener"&gt;g2k18 hackathon report: Antoine Jacoutot on porting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180717074543" target="_blank" rel="nofollow noopener"&gt;g2k18 hackathon report: Matthieu Herrb on font caches and xenodm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180718060313" target="_blank" rel="nofollow noopener"&gt;g2k18 hackathon report: Florian Obser on rtadvd(8) -&amp;gt; rad(8) progress (actually, rewrite)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180719100833" target="_blank" rel="nofollow noopener"&gt;g2k18 Hackathon Report: Klemens Nanni on improvements to route(8), pfctl(8), and mount(2)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180721053002" target="_blank" rel="nofollow noopener"&gt;g2k18 hackathon report: Carlos Cardenas on vmm/vmd progress, LACP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180721053011" target="_blank" rel="nofollow noopener"&gt;g2k18 hackathon report: Claudio Jeker on OpenBGPD developments&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://i.imgur.com/3t3cJF6.jpg" target="_blank" rel="nofollow noopener"&gt;Picture of the last day of the g2k18 hackathon in Ljubljana, Slovenia&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.geeklan.co.uk/?p=2266" target="_blank" rel="nofollow noopener"&gt;Something blogged (on pkgsrcCon 2018)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files" target="_blank" rel="nofollow noopener"&gt;GSoC 2018 Reports: Configuration files versioning in pkgsrc, Part 1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd.network/@mulander/100390180499807877" target="_blank" rel="nofollow noopener"&gt;There should be a global ‘awareness’ week for developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener"&gt;Polish BSD User Group – Upcoming Meeting: Aug 9th 2018&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ukopenbsdusers.saneusergroup.org.uk/pipermail/uk-openbsd-users/2018-July/000430.html" target="_blank" rel="nofollow noopener"&gt;London BSD User Group – Upcoming Meeting: Aug 14th 2018&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://whyzfsisbetter.com/" target="_blank" rel="nofollow noopener"&gt;Phillip Smith’s collection of reasons why ZFS is better so that he does not have to repeat&lt;br&gt;
himself all the time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2018.eurobsdcon.org/registration-is-open/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2018: Sept 20-23rd in Romania – Register NOW!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetbsd.com/call-for-papers/" target="_blank" rel="nofollow noopener"&gt;MeetBSD 2018: Oct 19-20 in Santa Clara, California. Call for Papers closes on Aug 12&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dale - &lt;a href="http://dpaste.com/1K452Y7#wrap" target="_blank" rel="nofollow noopener"&gt;L2ARC recommendations &amp;amp; drive age question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Todd - &lt;a href="http://dpaste.com/0WWHZ3E#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS &amp;amp; S3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;efraim - &lt;a href="http://dpaste.com/36YP39B#wrap" target="_blank" rel="nofollow noopener"&gt;License Poem&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Henrick - &lt;a href="http://dpaste.com/21D1KWA#wrap" target="_blank" rel="nofollow noopener"&gt;Yet another ZFS question&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, arm64, encrypted backups, zpool checkpoints, g2k18 reports</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>NetBSD 8.0 available, FreeBSD on Scaleway’s ARM64 VPS, encrypted backups with OpenBSD, Dragonfly server storage upgrade, zpool checkpoints, g2k18 hackathon reports, and more.<br>
</p><hr>

<p>##Headlines<br>
###<a href="https://www.netbsd.org/releases/formal-8/NetBSD-8.0.html" target="_blank" rel="nofollow noopener">NetBSD v8.0 Released</a></p>

<blockquote>
<p>The NetBSD Project is pleased to announce NetBSD 8.0, the sixteenth major release of the NetBSD operating system.</p>
</blockquote>

<blockquote>
<p>This release brings stability improvements, hundreds of bug fixes, and many new features.</p>
</blockquote>

<ul>
<li>
<p>Some highlights of the NetBSD 8.0 release are:</p>
</li>
<li>
<p>USB stack rework, USB3 support added.</p>
</li>
<li>
<p>In-kernel audio mixer (audio_system(9)).</p>
</li>
<li>
<p>Reproducible builds (MKREPRO, see mk.conf(5)).</p>
</li>
<li>
<p>Full userland debug information (MKDEBUG, see mk.conf(5)) available. While most install media do not come with them (for size reasons), the debug and xdebug sets can be downloaded and extracted as needed later. They provide full symbol information for all base system and X binaries and libraries and allow better error reporting and (userland) crash analysis.</p>
</li>
<li>
<p>PaX MPROTECT (W^X) memory protection enforced by default on some architectures with fine-grained memory protection and suitable ELF formats: i386, amd64, evbarm, landisk.</p>
</li>
<li>
<p>PaX ASLR (Address Space Layout Randomization) enabled by default on: i386, amd64, evbarm, landisk, sparc64.</p>
</li>
<li>
<p>Position independent executables by default for userland on: i386, amd64, arm, m68k, mips, sh3, sparc64.</p>
</li>
<li>
<p>A new socket layer can(4) has been added for communication of devices on a CAN bus.</p>
</li>
<li>
<p>A special pseudo interface ipsecif(4) for route-based VPNs has been added.</p>
</li>
<li>
<p>Parts of the network stack have been made MP-safe. The kernel option NET_MPSAFE is required to enable this.</p>
</li>
<li>
<p>Hardening of the network stack in general.</p>
</li>
<li>
<p>Various WAPBL (the NetBSD file system “log” option) stability and performance improvements.</p>
</li>
<li>
<p>Specific to i386 and amd64 CPUs:</p>
</li>
<li>
<p>Meltdown mitigation: SVS (Separate Virtual Space), enabled by default.</p>
</li>
<li>
<p>SpectreV2 mitigation: retpoline (support in gcc), used by default for kernels. Other hardware mitigations are also available.</p>
</li>
<li>
<p>SpectreV4 mitigations available for Intel and AMD.</p>
</li>
<li>
<p>PopSS workaround: user access to debug registers is turned off by default.</p>
</li>
<li>
<p>Lazy FPU saving disabled on vulnerable Intel CPUs (“eagerfpu”).</p>
</li>
<li>
<p>SMAP support.</p>
</li>
<li>
<p>Improvement and hardening of the memory layout: W^X, fewer writable pages, better consistency, better performance.</p>
</li>
<li>
<p>(U)EFI bootloader.</p>
</li>
<li>
<p>Many evbarm kernels now use FDT (flat device tree) information (loadable at boot time from an external file) for device configuration, the number of kernels has decreased but the number of boards has vastly increased.</p>
</li>
<li>
<p>Lots of updates to 3rd party software included:</p>
</li>
<li>
<p>GCC 5.5 with support for Address Sanitizer and Undefined Behavior Sanitizer</p>
</li>
<li>
<p>GDB 7.12</p>
</li>
<li>
<p>GNU binutils 2.27</p>
</li>
<li>
<p>Clang/LLVM 3.8.1</p>
</li>
<li>
<p>OpenSSH 7.6</p>
</li>
<li>
<p>OpenSSL 1.0.2k</p>
</li>
<li>
<p>mdocml 1.14.1</p>
</li>
<li>
<p>acpica 20170303</p>
</li>
<li>
<p>ntp 4.2.8p11-o</p>
</li>
<li>
<p>dhcpcd 7.0.6</p>
</li>
<li>
<p>Lua 5.3.4</p>
</li>
</ul>

<hr>

<p>###<a href="https://community.online.net/t/freebsd-on-arm64/6678" target="_blank" rel="nofollow noopener">Running FreeBSD on the ARM64 VPS from Scaleway</a></p>

<blockquote>
<p>I’ve been thinking about this 6 since 2017, but only yesterday signed up for an account and played around with the ARM64 offering.<br>
Turns out it’s pretty great! KVM boots into UEFI, there’s a local VirtIO disk attached, no NBD junk required. So we can definitely run FreeBSD.<br>
I managed to “depenguinate” a running instance, the notes are below. Would be great if Scaleway offered an official image instead :wink:<br>
For some reason, unlike on x86 4, mounting additional volumes is not allowed 4 on ARM64 instances. So we’ll have to move the running Linux to a ramdisk using pivot_root and then we can do whatever to our one and only disk.<br>
Spin up an instance with Ubuntu Zesty and ssh in.</p>
</blockquote>

<ul>
<li>Prepare the system and change the root to a tmpfs:</li>
</ul>

<pre><code>apt install gdisk
mount -t tmpfs tmpfs /tmp
cp -r /bin /sbin /etc /dev /root /home /lib /run /usr /var /tmp
mkdir /tmp/proc /tmp/sys /tmp/oldroot
mount /dev/vda /tmp/oldroot
mount --make-rprivate /
pivot_root /tmp /tmp/oldroot
for i in dev proc sys run; do mount --move /oldroot/$i /$i; done
systemctl daemon-reload
systemctl restart sshd
</code></pre>

<blockquote>
<p>Now reconnect to ssh from a second terminal (note: rm the connection file if you use ControlPersist in ssh config), then exit the old session. Kill the old sshd process, restart or stop the rest of the stuff using the old disk:</p>
</blockquote>

<pre><code>pkill -f notty
sed -ibak 's/RefuseManualStart.*$//g' /lib/systemd/system/dbus.service
systemctl daemon-reload
systemctl restart dbus
systemctl daemon-reexec
systemctl stop user@0 ntp cron systemd-logind
systemctl restart systemd-journald systemd-udevd
pkill agetty
pkill rsyslogd
</code></pre>

<blockquote>
<p>Check that nothing is touching /oldroot:</p>
</blockquote>

<pre><code>lsof | grep oldroot
</code></pre>

<blockquote>
<p>There will probably be an old dbus-daemon, kill it.<br>
And finally, unmount the old root and overwrite the hard disk with a memstick image:</p>
</blockquote>

<pre><code>umount -R /oldroot
wget https://download.freebsd.org/ftp/snapshots/arm64/aarch64/ISO-IMAGES/12.0/FreeBSD-12.0-CURRENT-arm64-aarch64-20180719-r336479-mini-memstick.img.xz
xzcat FreeBSD-12.0-CURRENT-arm64-aarch64-20180719-r336479-mini-memstick.img.xz | dd if=/dev/stdin of=/dev/vda bs=1M
</code></pre>

<blockquote>
<p>(Look for the newest snapshot, don’t copy paste the July 19 link above if you’re reading this in the future. Actually maybe use a release instead of CURRENT…)<br>
Now, fix the GPT: move the secondary table to the end of the disk and resize the table.<br>
It’s important to resize here, as FreeBSD does not do that and silently creates partitions that won’t persist across reboots</p>
</blockquote>

<pre><code>gdisk /dev/vda
x
e
s
4
w
y
</code></pre>

<p>And reboot. (You might actually want to hard reboot here: for some reason on the first reboot from Linux, pressing the any-key to enter the prompt in the loader hangs the console for me.)</p>

<p>I didn’t have to go into the ESC menu and choose the local disk in the boot manager, it seems to boot from disk automatically.</p>

<p>Now we’re in the FreeBSD EFI loader.<br>
For some reason, the (recently fixed? 2) serial autodetection from EFI is not working correctly. Or something.<br>
So you don’t get console output by default.<br>
To fix, you have to run these commands in the boot loader command prompt:</p>

<pre><code>set console=comconsole,efi
boot
</code></pre>

<p>Ignore the warning about comconsole not being a valid console.<br>
Since there’s at least one (efi) that the loader thinks is valid, it sets the whole variable.)</p>

<p>(UPD: shouldn’t be necessary in the next snapshot)</p>

<p>Now it’s a regular installation process!<br>
When asked about partitioning, choose Shell, and manually add a partition and set up a root filesystem:</p>

<pre><code>gpart add -t freebsd-zfs -a 4k -l zroot vtbd0
zpool create -R /mnt -O mountpoint=none -O atime=off zroot /dev/gpt/zroot
zfs create -o canmount=off -o mountpoint=none zroot/ROOT
zfs create -o mountpoint=/ zroot/ROOT/default
zfs create -o mountpoint=/usr zroot/ROOT/default/usr
zfs create -o mountpoint=/var zroot/ROOT/default/var
zfs create -o mountpoint=/var/log zroot/ROOT/default/var/log
zfs create -o mountpoint=/usr/home zroot/home
zpool set bootfs=zroot/ROOT/default zroot
exit
</code></pre>

<p>(In this example, I set up ZFS with a beadm-compatible layout which allows me to use Boot Environments.)</p>

<p>In the post-install chroot shell, fix some configs like so:</p>

<pre><code>echo 'zfs_load="YES"' &gt;&gt; /boot/loader.conf
echo 'console="comconsole,efi"' &gt;&gt; /boot/loader.conf
echo 'vfs.zfs.arc_max="512M"' &gt;&gt; /boot/loader.conf
sysrc zfs_enable=YES
exit
</code></pre>

<p>(Yeah, for some reason, the loader does not load zfs.ko’s dependency opensolaris.ko automatically here. idk what even. It does on my desktop and laptop.)</p>

<p>Now you can reboot into the installed system!!</p>

<p>Here’s how you can set up IPv6 (and root’s ssh key) auto configuration on boot:</p>

<pre><code>Pkg bootstrap
pkg install curl
curl https://raw.githubusercontent.com/scaleway/image-tools/master/bases/overlay-common/usr/local/bin/scw-metadata &gt; /usr/local/bin/scw-metadata
chmod +x /usr/local/bin/scw-metadata
echo '#\!/bin/sh' &gt; /etc/rc.local
echo 'PATH=/usr/local/bin:$PATH' &gt;&gt; /etc/rc.local
echo 'eval $(scw-metadata)' &gt;&gt; /etc/rc.local
echo 'echo $SSH_PUBLIC_KEYS_0_KEY &gt; /root/.ssh/authorized_keys' &gt;&gt; /etc/rc.local
echo 'chmod 0400 /root/.ssh/authorized_keys' &gt;&gt; /etc/rc.local
echo 'ifconfig vtnet0 inet6 $IPV6_ADDRESS/$IPV6_NETMASK' &gt;&gt; /etc/rc.local
echo 'route -6 add default $IPV6_GATEWAY' &gt;&gt; /etc/rc.local
mkdir /run
mkdir /root/.ssh
sh /etc/rc.local
</code></pre>

<blockquote>
<p>And to fix incoming TCP connections, configure the DHCP client to change the broadcast address:</p>
</blockquote>

<p><code>echo 'interface "vtnet0" { supersede broadcast-address 255.255.255.255; }' &gt;&gt; /etc/dhclient.conf</code><br>
<code>killall dhclient</code><br>
<code>dhclient vtnet0</code></p>

<ul>
<li>Other random notes:</li>
<li>keep in mind that -CURRENT snapshots come with a debugging kernel by default, which limits syscall performance by a lot, you might want to build your own 2 with config GENERIC-NODEBUG</li>
<li>also disable heavy malloc debugging features by running ln -s ‘abort:false,junk:false’ /etc/malloc.conf (yes that’s storing config in a symlink)</li>
<li>you can reuse the installer’s partition for swap</li>
</ul>

<hr>

<p>** Digital Ocean **<br>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">http://do.co/bsdnow</a></p>

<p>###<a href="https://dataswamp.org/~solene/2018-06-26-openbsd-easy-backup.html" target="_blank" rel="nofollow noopener">Easy encrypted backups on OpenBSD with base tools</a></p>

<blockquote>
<p>Today’s topic is “Encrypted backups” using only OpenBSD base tools. I am planning to write a bigger article later about backups but it’s a wide topic with a lot of software to cover and a lot of explanations about the differents uses cases, needs, issues an solutions. Here I will stick on explaining how to make reliable backups for an OpenBSD system (my laptop).<br>
What we need is the dump command (see man 8 dump for its man page). It’s an utility to make a backup for a filesystem, it can only make a backup of one filesystem at a time. On my laptop I only backup /home partition so this solution is suitable for me while still being easy.<br>
Dump can do incremental backups, it means that it will only save what changed since the last backup of lower level. If you do not understand this, please refer to the dump man page.<br>
What is very interesting with dump is that it honors nodump flag which is an extended attribute of a FFS filesystem. One can use the command chflags nodump /home/solene/Downloads to tells dump not do save that folder (under some circumstances). By default, dump will not save thoses files, EXCEPT for a level 0 backup.</p>
</blockquote>

<ul>
<li>Important features of this backup solution:</li>
<li>save files with attributes, permissions and flags</li>
<li>can recreate a partition from a dump, restore files interactively, from a list or from its inode number (useful when you have files in lost+found)</li>
<li>one dump = one file</li>
</ul>

<blockquote>
<p>My process is to make a huge dump of level 0 and keep it on a remote server, then, once a week I make a level 1 backup which will contain everything changed since the last dump of level 0, and everyday I do a level 2 backup of my files. The level 2 will contain latest files and the files changing a lot, which are often the most interesting. The level 1 backup is important because it will offload a lot of changes for the level 2.<br>
Let me explain: let says my full backup is 60 GB, full of pictures, sources files, GUI applications data files etc… A level 1 backup will contain every new picture, new projects, new GUI files etc… since the full backup, which will produce bigger and bigger dump over time, usually it is only 100 MB to 1GB. As I don’t add new pictures everyday or use new software everyday, the level 2 will take care of most littles changes to my data, like source code edited, little works on files etc… The level 2 backup is really small, I try to keep it under 50 MB so I can easily send it on my remote server everyday.<br>
One could you more dump level, up to level 9, but keep in mind that those are incremental. In my case, if I need to restore all my partition, I will need to use level 0, 1 and 2 to get up to latest backup state. If you want to restore a file deleted a few days ago, you need to remember in which level its latest version is.<br>
History note: dump was designed to be used with magnetic tapes.</p>
</blockquote>

<ul>
<li>See the article for the remainder of the article</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="http://lists.dragonflybsd.org/pipermail/users/2018-July/357809.html" target="_blank" rel="nofollow noopener">Status of DFly server storage upgrades (Matt Dillon)</a></p>

<blockquote>
<p>Last month we did some storage upgrades, particularly of internet-facing machines for package and OS distribution.  Yesterday we did a number of additional upgrades, described below.  All using funds generously donated by everyone!</p>
</blockquote>

<blockquote>
<p>The main repository server received a 2TB SSD to replace the HDDs it was using before.  This will improve access to a number of things maintained by this server, including the mail archives, and gives the main repo server more breathing room for repository expansion.  Space was at a premium before.  Now there’s plenty.</p>
</blockquote>

<blockquote>
<p>Monster, the quad socket opteron which we currently use as the database builder and repository that we export to our public grok service (<a href="http://grok.dragonflybsd.org" target="_blank" rel="nofollow noopener">grok.dragonflybsd.org</a>) received a 512G SSD to add swap space for swapcache, to help cache the grok meta-data.  It now has 600GB of swapcache configured.  Over the next few weeks we will also be changing the grok updates to ping-pong between the two 4TB data drives it received in the last upgrade so we can do concurrent updates and web accesses without them tripping over each other performance-wise.</p>
</blockquote>

<blockquote>
<p>The main developer box, Leaf, received a 2TB SSD and we are currently in the midst of migrating all the developer accounts in /home and /build from its old HDDs to its new SSD.  This machine serves developer repos, developer web stuff, our home page and wiki, etc, so those will become snappier as well.</p>
</blockquote>

<blockquote>
<p>Hard drives are becoming real dinosaurs.  We still have a few left from the old days but in terms of active use the only HDDs we feel we really need to keep now are the ones we use for backups and grok data, owing to the amount of storage needed for those functions.</p>
</blockquote>

<blockquote>
<p>Five years ago when we received the blade server that now sits in the colo, we had a small 256G SSD for root on every blade, and everything else used HDDs.  To make things operate smoothly, most of that 256G root SSD was assigned to swapcache (200G of it, in fact, in most cases).  Even just 2 years ago replacing all those HDDs with SSDs, even just the ones being used to actively serve data and support developers, would have been cost prohibitive.  But today it isn’t and the only HDDs we really need anywhere are for backups or certain very large bits of bulk data (aka the grok source repository and index).  The way things are going, even the backup drives will probably become SSDs over the next two years.</p>
</blockquote>

<hr>

<p>###iX ad spot<br>
<a href="https://www.ixsystems.com/blog/oscon2018/" target="_blank" rel="nofollow noopener">OSCON 2018 Recap</a></p>

<hr>

<p>###<a href="http://oshogbo.vexillium.org/blog/46/" target="_blank" rel="nofollow noopener">zpool checkpoints</a></p>

<blockquote>
<p>In March, to FreeBSD landed a very interesting feature called ‘zpool checkpoints’. Before we jump straight into the topic, let’s take a step back and look at another ZFS feature called ‘snapshot’. Snapshot allows us to create an image of our single file systems. This gives us the option to modify data on the dataset without the fear of losing some data.</p>
</blockquote>

<blockquote>
<p>A very good example of how to use ZFS snapshot is during an upgrade of database schema. Let us consider a situation where we have a few scripts which change our schema. Sometimes we are unable to upgrade in one transaction (for example, when we attempt to alter a table and then update it in single transaction). If our database is on dataset, we can just snapshot it, and if something goes wrong, simply rollback the file system to its previous state.</p>
</blockquote>

<blockquote>
<p>The problem with snapshot is that it works only on a single dataset. If we added some dataset, we wouldn’t then be able to create the snapshot which would rollback that operation. The same with changing the attributes of a dataset. If we change the compression on the dataset, we cannot rollback it. We would need to change that manually.</p>
</blockquote>

<blockquote>
<p>Another interesting problem involves upgrading the whole operating system when we upgrade system with a new ZFS version. What if we start upgrading our dataset and our kernel begins to crash? (If you use FreeBSD, I doubt you will ever have had that experience but still…). If we rollback to the old kernel, there is a chance the dataset will stop working because the new kernel doesn’t know how to use the new features.</p>
</blockquote>

<blockquote>
<p>Zpool checkpoints is the solution to all those problems. Instead of taking a single snapshot of the dataset, we can now take a snapshot of the whole pool. That means we will not only rollback the data but also all the metadata. If we rewind to the checkpoint, all our ZFS properties will be rolled back; the upgrade will be rolledback, and even the creation/deletion of the dataset, and the snapshot, will be rolledback.</p>
</blockquote>

<ul>
<li>Zpool Checkpoint has introduced a few simple functions:</li>
<li>For a creating checkpoint:</li>
</ul>

<p><code>zpool checkpoint &lt;pool&gt;</code></p>

<ul>
<li>Rollbacks state to checkpoint and remove the checkpoint:</li>
</ul>

<p><code>zpool import -- rewind-to-checkpoint &lt;pool&gt;</code></p>

<ul>
<li>Mount the pool read only - this does not rollback the data:</li>
</ul>

<p><code>zpool import --read-only=on --rewind-to-checkpoint</code></p>

<ul>
<li>Remove the checkpoint</li>
</ul>

<p><code>zpool checkpoint --discard &lt;pool&gt; or zpool checkpoint -d &lt;pool&gt;</code></p>

<ul>
<li>With this powerful feature we need to remember some safety rules:</li>
<li>Scrub will work only on data that isn’t in checkpool.</li>
<li>You can’t remove vdev if you have a checkpoint.</li>
<li>You can’t split mirror.</li>
<li>Reguid will not work either.</li>
<li>Create a checkpoint when one of the disks is removed…</li>
</ul>

<blockquote>
<p>For me, this feature is incredibly useful, especially when upgrading an operating system, or when I need to experiment with additional data sets. If you speak Polish, I have some additional information for you. During the first Polish BSD user group meeting, I had the opportunity to give a short talk about this feature. Here you find the video of that talk, and here is the slideshow.</p>
</blockquote>

<blockquote>
<p>I would like to offer my thanks to Serapheim Dimitropoulos for developing this feature, and for being so kind in sharing with me so many of its intricacies. If you are interested in knowing more about the technical details of this feature, you should check out Serapheim’s blog, and his video about checkpoints.</p>
</blockquote>

<hr>

<p>###g2k18 Reports</p>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180728110010" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Ingo Schwarze on sed(1) bugfixing with Martijn van Duren, and about other small userland stuff</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180726184322" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Kenneth Westerback on dhcpd(8) fixes, disklabel(8) refactoring and more</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180716193511" target="_blank" rel="nofollow noopener">g2k18 Hackathon Report: Marc Espie on ports and packages progress</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180716202456" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Antoine Jacoutot on porting</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180717074543" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Matthieu Herrb on font caches and xenodm</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180718060313" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Florian Obser on rtadvd(8) -&gt; rad(8) progress (actually, rewrite)</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180719100833" target="_blank" rel="nofollow noopener">g2k18 Hackathon Report: Klemens Nanni on improvements to route(8), pfctl(8), and mount(2)</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180721053002" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Carlos Cardenas on vmm/vmd progress, LACP</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180721053011" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Claudio Jeker on OpenBGPD developments</a></li>
<li><a href="https://i.imgur.com/3t3cJF6.jpg" target="_blank" rel="nofollow noopener">Picture of the last day of the g2k18 hackathon in Ljubljana, Slovenia</a></li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.geeklan.co.uk/?p=2266" target="_blank" rel="nofollow noopener">Something blogged (on pkgsrcCon 2018)</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files" target="_blank" rel="nofollow noopener">GSoC 2018 Reports: Configuration files versioning in pkgsrc, Part 1</a></li>
<li><a href="https://bsd.network/@mulander/100390180499807877" target="_blank" rel="nofollow noopener">There should be a global ‘awareness’ week for developers</a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">Polish BSD User Group – Upcoming Meeting: Aug 9th 2018</a></li>
<li><a href="http://ukopenbsdusers.saneusergroup.org.uk/pipermail/uk-openbsd-users/2018-July/000430.html" target="_blank" rel="nofollow noopener">London BSD User Group – Upcoming Meeting: Aug 14th 2018</a></li>
<li><a href="http://whyzfsisbetter.com/" target="_blank" rel="nofollow noopener">Phillip Smith’s collection of reasons why ZFS is better so that he does not have to repeat<br>
himself all the time</a></li>
<li><a href="https://2018.eurobsdcon.org/registration-is-open/" target="_blank" rel="nofollow noopener">EuroBSDCon 2018: Sept 20-23rd in Romania – Register NOW!</a></li>
<li><a href="https://www.meetbsd.com/call-for-papers/" target="_blank" rel="nofollow noopener">MeetBSD 2018: Oct 19-20 in Santa Clara, California. Call for Papers closes on Aug 12</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>Dale - <a href="http://dpaste.com/1K452Y7#wrap" target="_blank" rel="nofollow noopener">L2ARC recommendations &amp; drive age question</a></li>
<li>Todd - <a href="http://dpaste.com/0WWHZ3E#wrap" target="_blank" rel="nofollow noopener">ZFS &amp; S3</a></li>
<li>efraim - <a href="http://dpaste.com/36YP39B#wrap" target="_blank" rel="nofollow noopener">License Poem</a></li>
<li>Henrick - <a href="http://dpaste.com/21D1KWA#wrap" target="_blank" rel="nofollow noopener">Yet another ZFS question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>NetBSD 8.0 available, FreeBSD on Scaleway’s ARM64 VPS, encrypted backups with OpenBSD, Dragonfly server storage upgrade, zpool checkpoints, g2k18 hackathon reports, and more.<br>
</p><hr>

<p>##Headlines<br>
###<a href="https://www.netbsd.org/releases/formal-8/NetBSD-8.0.html" target="_blank" rel="nofollow noopener">NetBSD v8.0 Released</a></p>

<blockquote>
<p>The NetBSD Project is pleased to announce NetBSD 8.0, the sixteenth major release of the NetBSD operating system.</p>
</blockquote>

<blockquote>
<p>This release brings stability improvements, hundreds of bug fixes, and many new features.</p>
</blockquote>

<ul>
<li>
<p>Some highlights of the NetBSD 8.0 release are:</p>
</li>
<li>
<p>USB stack rework, USB3 support added.</p>
</li>
<li>
<p>In-kernel audio mixer (audio_system(9)).</p>
</li>
<li>
<p>Reproducible builds (MKREPRO, see mk.conf(5)).</p>
</li>
<li>
<p>Full userland debug information (MKDEBUG, see mk.conf(5)) available. While most install media do not come with them (for size reasons), the debug and xdebug sets can be downloaded and extracted as needed later. They provide full symbol information for all base system and X binaries and libraries and allow better error reporting and (userland) crash analysis.</p>
</li>
<li>
<p>PaX MPROTECT (W^X) memory protection enforced by default on some architectures with fine-grained memory protection and suitable ELF formats: i386, amd64, evbarm, landisk.</p>
</li>
<li>
<p>PaX ASLR (Address Space Layout Randomization) enabled by default on: i386, amd64, evbarm, landisk, sparc64.</p>
</li>
<li>
<p>Position independent executables by default for userland on: i386, amd64, arm, m68k, mips, sh3, sparc64.</p>
</li>
<li>
<p>A new socket layer can(4) has been added for communication of devices on a CAN bus.</p>
</li>
<li>
<p>A special pseudo interface ipsecif(4) for route-based VPNs has been added.</p>
</li>
<li>
<p>Parts of the network stack have been made MP-safe. The kernel option NET_MPSAFE is required to enable this.</p>
</li>
<li>
<p>Hardening of the network stack in general.</p>
</li>
<li>
<p>Various WAPBL (the NetBSD file system “log” option) stability and performance improvements.</p>
</li>
<li>
<p>Specific to i386 and amd64 CPUs:</p>
</li>
<li>
<p>Meltdown mitigation: SVS (Separate Virtual Space), enabled by default.</p>
</li>
<li>
<p>SpectreV2 mitigation: retpoline (support in gcc), used by default for kernels. Other hardware mitigations are also available.</p>
</li>
<li>
<p>SpectreV4 mitigations available for Intel and AMD.</p>
</li>
<li>
<p>PopSS workaround: user access to debug registers is turned off by default.</p>
</li>
<li>
<p>Lazy FPU saving disabled on vulnerable Intel CPUs (“eagerfpu”).</p>
</li>
<li>
<p>SMAP support.</p>
</li>
<li>
<p>Improvement and hardening of the memory layout: W^X, fewer writable pages, better consistency, better performance.</p>
</li>
<li>
<p>(U)EFI bootloader.</p>
</li>
<li>
<p>Many evbarm kernels now use FDT (flat device tree) information (loadable at boot time from an external file) for device configuration, the number of kernels has decreased but the number of boards has vastly increased.</p>
</li>
<li>
<p>Lots of updates to 3rd party software included:</p>
</li>
<li>
<p>GCC 5.5 with support for Address Sanitizer and Undefined Behavior Sanitizer</p>
</li>
<li>
<p>GDB 7.12</p>
</li>
<li>
<p>GNU binutils 2.27</p>
</li>
<li>
<p>Clang/LLVM 3.8.1</p>
</li>
<li>
<p>OpenSSH 7.6</p>
</li>
<li>
<p>OpenSSL 1.0.2k</p>
</li>
<li>
<p>mdocml 1.14.1</p>
</li>
<li>
<p>acpica 20170303</p>
</li>
<li>
<p>ntp 4.2.8p11-o</p>
</li>
<li>
<p>dhcpcd 7.0.6</p>
</li>
<li>
<p>Lua 5.3.4</p>
</li>
</ul>

<hr>

<p>###<a href="https://community.online.net/t/freebsd-on-arm64/6678" target="_blank" rel="nofollow noopener">Running FreeBSD on the ARM64 VPS from Scaleway</a></p>

<blockquote>
<p>I’ve been thinking about this 6 since 2017, but only yesterday signed up for an account and played around with the ARM64 offering.<br>
Turns out it’s pretty great! KVM boots into UEFI, there’s a local VirtIO disk attached, no NBD junk required. So we can definitely run FreeBSD.<br>
I managed to “depenguinate” a running instance, the notes are below. Would be great if Scaleway offered an official image instead :wink:<br>
For some reason, unlike on x86 4, mounting additional volumes is not allowed 4 on ARM64 instances. So we’ll have to move the running Linux to a ramdisk using pivot_root and then we can do whatever to our one and only disk.<br>
Spin up an instance with Ubuntu Zesty and ssh in.</p>
</blockquote>

<ul>
<li>Prepare the system and change the root to a tmpfs:</li>
</ul>

<pre><code>apt install gdisk
mount -t tmpfs tmpfs /tmp
cp -r /bin /sbin /etc /dev /root /home /lib /run /usr /var /tmp
mkdir /tmp/proc /tmp/sys /tmp/oldroot
mount /dev/vda /tmp/oldroot
mount --make-rprivate /
pivot_root /tmp /tmp/oldroot
for i in dev proc sys run; do mount --move /oldroot/$i /$i; done
systemctl daemon-reload
systemctl restart sshd
</code></pre>

<blockquote>
<p>Now reconnect to ssh from a second terminal (note: rm the connection file if you use ControlPersist in ssh config), then exit the old session. Kill the old sshd process, restart or stop the rest of the stuff using the old disk:</p>
</blockquote>

<pre><code>pkill -f notty
sed -ibak 's/RefuseManualStart.*$//g' /lib/systemd/system/dbus.service
systemctl daemon-reload
systemctl restart dbus
systemctl daemon-reexec
systemctl stop user@0 ntp cron systemd-logind
systemctl restart systemd-journald systemd-udevd
pkill agetty
pkill rsyslogd
</code></pre>

<blockquote>
<p>Check that nothing is touching /oldroot:</p>
</blockquote>

<pre><code>lsof | grep oldroot
</code></pre>

<blockquote>
<p>There will probably be an old dbus-daemon, kill it.<br>
And finally, unmount the old root and overwrite the hard disk with a memstick image:</p>
</blockquote>

<pre><code>umount -R /oldroot
wget https://download.freebsd.org/ftp/snapshots/arm64/aarch64/ISO-IMAGES/12.0/FreeBSD-12.0-CURRENT-arm64-aarch64-20180719-r336479-mini-memstick.img.xz
xzcat FreeBSD-12.0-CURRENT-arm64-aarch64-20180719-r336479-mini-memstick.img.xz | dd if=/dev/stdin of=/dev/vda bs=1M
</code></pre>

<blockquote>
<p>(Look for the newest snapshot, don’t copy paste the July 19 link above if you’re reading this in the future. Actually maybe use a release instead of CURRENT…)<br>
Now, fix the GPT: move the secondary table to the end of the disk and resize the table.<br>
It’s important to resize here, as FreeBSD does not do that and silently creates partitions that won’t persist across reboots</p>
</blockquote>

<pre><code>gdisk /dev/vda
x
e
s
4
w
y
</code></pre>

<p>And reboot. (You might actually want to hard reboot here: for some reason on the first reboot from Linux, pressing the any-key to enter the prompt in the loader hangs the console for me.)</p>

<p>I didn’t have to go into the ESC menu and choose the local disk in the boot manager, it seems to boot from disk automatically.</p>

<p>Now we’re in the FreeBSD EFI loader.<br>
For some reason, the (recently fixed? 2) serial autodetection from EFI is not working correctly. Or something.<br>
So you don’t get console output by default.<br>
To fix, you have to run these commands in the boot loader command prompt:</p>

<pre><code>set console=comconsole,efi
boot
</code></pre>

<p>Ignore the warning about comconsole not being a valid console.<br>
Since there’s at least one (efi) that the loader thinks is valid, it sets the whole variable.)</p>

<p>(UPD: shouldn’t be necessary in the next snapshot)</p>

<p>Now it’s a regular installation process!<br>
When asked about partitioning, choose Shell, and manually add a partition and set up a root filesystem:</p>

<pre><code>gpart add -t freebsd-zfs -a 4k -l zroot vtbd0
zpool create -R /mnt -O mountpoint=none -O atime=off zroot /dev/gpt/zroot
zfs create -o canmount=off -o mountpoint=none zroot/ROOT
zfs create -o mountpoint=/ zroot/ROOT/default
zfs create -o mountpoint=/usr zroot/ROOT/default/usr
zfs create -o mountpoint=/var zroot/ROOT/default/var
zfs create -o mountpoint=/var/log zroot/ROOT/default/var/log
zfs create -o mountpoint=/usr/home zroot/home
zpool set bootfs=zroot/ROOT/default zroot
exit
</code></pre>

<p>(In this example, I set up ZFS with a beadm-compatible layout which allows me to use Boot Environments.)</p>

<p>In the post-install chroot shell, fix some configs like so:</p>

<pre><code>echo 'zfs_load="YES"' &gt;&gt; /boot/loader.conf
echo 'console="comconsole,efi"' &gt;&gt; /boot/loader.conf
echo 'vfs.zfs.arc_max="512M"' &gt;&gt; /boot/loader.conf
sysrc zfs_enable=YES
exit
</code></pre>

<p>(Yeah, for some reason, the loader does not load zfs.ko’s dependency opensolaris.ko automatically here. idk what even. It does on my desktop and laptop.)</p>

<p>Now you can reboot into the installed system!!</p>

<p>Here’s how you can set up IPv6 (and root’s ssh key) auto configuration on boot:</p>

<pre><code>Pkg bootstrap
pkg install curl
curl https://raw.githubusercontent.com/scaleway/image-tools/master/bases/overlay-common/usr/local/bin/scw-metadata &gt; /usr/local/bin/scw-metadata
chmod +x /usr/local/bin/scw-metadata
echo '#\!/bin/sh' &gt; /etc/rc.local
echo 'PATH=/usr/local/bin:$PATH' &gt;&gt; /etc/rc.local
echo 'eval $(scw-metadata)' &gt;&gt; /etc/rc.local
echo 'echo $SSH_PUBLIC_KEYS_0_KEY &gt; /root/.ssh/authorized_keys' &gt;&gt; /etc/rc.local
echo 'chmod 0400 /root/.ssh/authorized_keys' &gt;&gt; /etc/rc.local
echo 'ifconfig vtnet0 inet6 $IPV6_ADDRESS/$IPV6_NETMASK' &gt;&gt; /etc/rc.local
echo 'route -6 add default $IPV6_GATEWAY' &gt;&gt; /etc/rc.local
mkdir /run
mkdir /root/.ssh
sh /etc/rc.local
</code></pre>

<blockquote>
<p>And to fix incoming TCP connections, configure the DHCP client to change the broadcast address:</p>
</blockquote>

<p><code>echo 'interface "vtnet0" { supersede broadcast-address 255.255.255.255; }' &gt;&gt; /etc/dhclient.conf</code><br>
<code>killall dhclient</code><br>
<code>dhclient vtnet0</code></p>

<ul>
<li>Other random notes:</li>
<li>keep in mind that -CURRENT snapshots come with a debugging kernel by default, which limits syscall performance by a lot, you might want to build your own 2 with config GENERIC-NODEBUG</li>
<li>also disable heavy malloc debugging features by running ln -s ‘abort:false,junk:false’ /etc/malloc.conf (yes that’s storing config in a symlink)</li>
<li>you can reuse the installer’s partition for swap</li>
</ul>

<hr>

<p>** Digital Ocean **<br>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">http://do.co/bsdnow</a></p>

<p>###<a href="https://dataswamp.org/~solene/2018-06-26-openbsd-easy-backup.html" target="_blank" rel="nofollow noopener">Easy encrypted backups on OpenBSD with base tools</a></p>

<blockquote>
<p>Today’s topic is “Encrypted backups” using only OpenBSD base tools. I am planning to write a bigger article later about backups but it’s a wide topic with a lot of software to cover and a lot of explanations about the differents uses cases, needs, issues an solutions. Here I will stick on explaining how to make reliable backups for an OpenBSD system (my laptop).<br>
What we need is the dump command (see man 8 dump for its man page). It’s an utility to make a backup for a filesystem, it can only make a backup of one filesystem at a time. On my laptop I only backup /home partition so this solution is suitable for me while still being easy.<br>
Dump can do incremental backups, it means that it will only save what changed since the last backup of lower level. If you do not understand this, please refer to the dump man page.<br>
What is very interesting with dump is that it honors nodump flag which is an extended attribute of a FFS filesystem. One can use the command chflags nodump /home/solene/Downloads to tells dump not do save that folder (under some circumstances). By default, dump will not save thoses files, EXCEPT for a level 0 backup.</p>
</blockquote>

<ul>
<li>Important features of this backup solution:</li>
<li>save files with attributes, permissions and flags</li>
<li>can recreate a partition from a dump, restore files interactively, from a list or from its inode number (useful when you have files in lost+found)</li>
<li>one dump = one file</li>
</ul>

<blockquote>
<p>My process is to make a huge dump of level 0 and keep it on a remote server, then, once a week I make a level 1 backup which will contain everything changed since the last dump of level 0, and everyday I do a level 2 backup of my files. The level 2 will contain latest files and the files changing a lot, which are often the most interesting. The level 1 backup is important because it will offload a lot of changes for the level 2.<br>
Let me explain: let says my full backup is 60 GB, full of pictures, sources files, GUI applications data files etc… A level 1 backup will contain every new picture, new projects, new GUI files etc… since the full backup, which will produce bigger and bigger dump over time, usually it is only 100 MB to 1GB. As I don’t add new pictures everyday or use new software everyday, the level 2 will take care of most littles changes to my data, like source code edited, little works on files etc… The level 2 backup is really small, I try to keep it under 50 MB so I can easily send it on my remote server everyday.<br>
One could you more dump level, up to level 9, but keep in mind that those are incremental. In my case, if I need to restore all my partition, I will need to use level 0, 1 and 2 to get up to latest backup state. If you want to restore a file deleted a few days ago, you need to remember in which level its latest version is.<br>
History note: dump was designed to be used with magnetic tapes.</p>
</blockquote>

<ul>
<li>See the article for the remainder of the article</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="http://lists.dragonflybsd.org/pipermail/users/2018-July/357809.html" target="_blank" rel="nofollow noopener">Status of DFly server storage upgrades (Matt Dillon)</a></p>

<blockquote>
<p>Last month we did some storage upgrades, particularly of internet-facing machines for package and OS distribution.  Yesterday we did a number of additional upgrades, described below.  All using funds generously donated by everyone!</p>
</blockquote>

<blockquote>
<p>The main repository server received a 2TB SSD to replace the HDDs it was using before.  This will improve access to a number of things maintained by this server, including the mail archives, and gives the main repo server more breathing room for repository expansion.  Space was at a premium before.  Now there’s plenty.</p>
</blockquote>

<blockquote>
<p>Monster, the quad socket opteron which we currently use as the database builder and repository that we export to our public grok service (<a href="http://grok.dragonflybsd.org" target="_blank" rel="nofollow noopener">grok.dragonflybsd.org</a>) received a 512G SSD to add swap space for swapcache, to help cache the grok meta-data.  It now has 600GB of swapcache configured.  Over the next few weeks we will also be changing the grok updates to ping-pong between the two 4TB data drives it received in the last upgrade so we can do concurrent updates and web accesses without them tripping over each other performance-wise.</p>
</blockquote>

<blockquote>
<p>The main developer box, Leaf, received a 2TB SSD and we are currently in the midst of migrating all the developer accounts in /home and /build from its old HDDs to its new SSD.  This machine serves developer repos, developer web stuff, our home page and wiki, etc, so those will become snappier as well.</p>
</blockquote>

<blockquote>
<p>Hard drives are becoming real dinosaurs.  We still have a few left from the old days but in terms of active use the only HDDs we feel we really need to keep now are the ones we use for backups and grok data, owing to the amount of storage needed for those functions.</p>
</blockquote>

<blockquote>
<p>Five years ago when we received the blade server that now sits in the colo, we had a small 256G SSD for root on every blade, and everything else used HDDs.  To make things operate smoothly, most of that 256G root SSD was assigned to swapcache (200G of it, in fact, in most cases).  Even just 2 years ago replacing all those HDDs with SSDs, even just the ones being used to actively serve data and support developers, would have been cost prohibitive.  But today it isn’t and the only HDDs we really need anywhere are for backups or certain very large bits of bulk data (aka the grok source repository and index).  The way things are going, even the backup drives will probably become SSDs over the next two years.</p>
</blockquote>

<hr>

<p>###iX ad spot<br>
<a href="https://www.ixsystems.com/blog/oscon2018/" target="_blank" rel="nofollow noopener">OSCON 2018 Recap</a></p>

<hr>

<p>###<a href="http://oshogbo.vexillium.org/blog/46/" target="_blank" rel="nofollow noopener">zpool checkpoints</a></p>

<blockquote>
<p>In March, to FreeBSD landed a very interesting feature called ‘zpool checkpoints’. Before we jump straight into the topic, let’s take a step back and look at another ZFS feature called ‘snapshot’. Snapshot allows us to create an image of our single file systems. This gives us the option to modify data on the dataset without the fear of losing some data.</p>
</blockquote>

<blockquote>
<p>A very good example of how to use ZFS snapshot is during an upgrade of database schema. Let us consider a situation where we have a few scripts which change our schema. Sometimes we are unable to upgrade in one transaction (for example, when we attempt to alter a table and then update it in single transaction). If our database is on dataset, we can just snapshot it, and if something goes wrong, simply rollback the file system to its previous state.</p>
</blockquote>

<blockquote>
<p>The problem with snapshot is that it works only on a single dataset. If we added some dataset, we wouldn’t then be able to create the snapshot which would rollback that operation. The same with changing the attributes of a dataset. If we change the compression on the dataset, we cannot rollback it. We would need to change that manually.</p>
</blockquote>

<blockquote>
<p>Another interesting problem involves upgrading the whole operating system when we upgrade system with a new ZFS version. What if we start upgrading our dataset and our kernel begins to crash? (If you use FreeBSD, I doubt you will ever have had that experience but still…). If we rollback to the old kernel, there is a chance the dataset will stop working because the new kernel doesn’t know how to use the new features.</p>
</blockquote>

<blockquote>
<p>Zpool checkpoints is the solution to all those problems. Instead of taking a single snapshot of the dataset, we can now take a snapshot of the whole pool. That means we will not only rollback the data but also all the metadata. If we rewind to the checkpoint, all our ZFS properties will be rolled back; the upgrade will be rolledback, and even the creation/deletion of the dataset, and the snapshot, will be rolledback.</p>
</blockquote>

<ul>
<li>Zpool Checkpoint has introduced a few simple functions:</li>
<li>For a creating checkpoint:</li>
</ul>

<p><code>zpool checkpoint &lt;pool&gt;</code></p>

<ul>
<li>Rollbacks state to checkpoint and remove the checkpoint:</li>
</ul>

<p><code>zpool import -- rewind-to-checkpoint &lt;pool&gt;</code></p>

<ul>
<li>Mount the pool read only - this does not rollback the data:</li>
</ul>

<p><code>zpool import --read-only=on --rewind-to-checkpoint</code></p>

<ul>
<li>Remove the checkpoint</li>
</ul>

<p><code>zpool checkpoint --discard &lt;pool&gt; or zpool checkpoint -d &lt;pool&gt;</code></p>

<ul>
<li>With this powerful feature we need to remember some safety rules:</li>
<li>Scrub will work only on data that isn’t in checkpool.</li>
<li>You can’t remove vdev if you have a checkpoint.</li>
<li>You can’t split mirror.</li>
<li>Reguid will not work either.</li>
<li>Create a checkpoint when one of the disks is removed…</li>
</ul>

<blockquote>
<p>For me, this feature is incredibly useful, especially when upgrading an operating system, or when I need to experiment with additional data sets. If you speak Polish, I have some additional information for you. During the first Polish BSD user group meeting, I had the opportunity to give a short talk about this feature. Here you find the video of that talk, and here is the slideshow.</p>
</blockquote>

<blockquote>
<p>I would like to offer my thanks to Serapheim Dimitropoulos for developing this feature, and for being so kind in sharing with me so many of its intricacies. If you are interested in knowing more about the technical details of this feature, you should check out Serapheim’s blog, and his video about checkpoints.</p>
</blockquote>

<hr>

<p>###g2k18 Reports</p>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180728110010" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Ingo Schwarze on sed(1) bugfixing with Martijn van Duren, and about other small userland stuff</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180726184322" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Kenneth Westerback on dhcpd(8) fixes, disklabel(8) refactoring and more</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180716193511" target="_blank" rel="nofollow noopener">g2k18 Hackathon Report: Marc Espie on ports and packages progress</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180716202456" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Antoine Jacoutot on porting</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180717074543" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Matthieu Herrb on font caches and xenodm</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180718060313" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Florian Obser on rtadvd(8) -&gt; rad(8) progress (actually, rewrite)</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180719100833" target="_blank" rel="nofollow noopener">g2k18 Hackathon Report: Klemens Nanni on improvements to route(8), pfctl(8), and mount(2)</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180721053002" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Carlos Cardenas on vmm/vmd progress, LACP</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180721053011" target="_blank" rel="nofollow noopener">g2k18 hackathon report: Claudio Jeker on OpenBGPD developments</a></li>
<li><a href="https://i.imgur.com/3t3cJF6.jpg" target="_blank" rel="nofollow noopener">Picture of the last day of the g2k18 hackathon in Ljubljana, Slovenia</a></li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.geeklan.co.uk/?p=2266" target="_blank" rel="nofollow noopener">Something blogged (on pkgsrcCon 2018)</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/gsoc_2018_reports_configuration_files" target="_blank" rel="nofollow noopener">GSoC 2018 Reports: Configuration files versioning in pkgsrc, Part 1</a></li>
<li><a href="https://bsd.network/@mulander/100390180499807877" target="_blank" rel="nofollow noopener">There should be a global ‘awareness’ week for developers</a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">Polish BSD User Group – Upcoming Meeting: Aug 9th 2018</a></li>
<li><a href="http://ukopenbsdusers.saneusergroup.org.uk/pipermail/uk-openbsd-users/2018-July/000430.html" target="_blank" rel="nofollow noopener">London BSD User Group – Upcoming Meeting: Aug 14th 2018</a></li>
<li><a href="http://whyzfsisbetter.com/" target="_blank" rel="nofollow noopener">Phillip Smith’s collection of reasons why ZFS is better so that he does not have to repeat<br>
himself all the time</a></li>
<li><a href="https://2018.eurobsdcon.org/registration-is-open/" target="_blank" rel="nofollow noopener">EuroBSDCon 2018: Sept 20-23rd in Romania – Register NOW!</a></li>
<li><a href="https://www.meetbsd.com/call-for-papers/" target="_blank" rel="nofollow noopener">MeetBSD 2018: Oct 19-20 in Santa Clara, California. Call for Papers closes on Aug 12</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>Dale - <a href="http://dpaste.com/1K452Y7#wrap" target="_blank" rel="nofollow noopener">L2ARC recommendations &amp; drive age question</a></li>
<li>Todd - <a href="http://dpaste.com/0WWHZ3E#wrap" target="_blank" rel="nofollow noopener">ZFS &amp; S3</a></li>
<li>efraim - <a href="http://dpaste.com/36YP39B#wrap" target="_blank" rel="nofollow noopener">License Poem</a></li>
<li>Henrick - <a href="http://dpaste.com/21D1KWA#wrap" target="_blank" rel="nofollow noopener">Yet another ZFS question</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 256: Because Computers | BSD Now 2^8</title>
  <link>https://www.bsdnow.tv/256</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2304</guid>
  <pubDate>Wed, 25 Jul 2018 01:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d5ca53c5-7144-4ce4-9189-591a8ac5767b.mp3" length="63008930" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD ULE vs. Linux CFS, OpenBSD on Tuxedo InfinityBook, how zfs diff reports filenames efficiently, why choose FreeBSD over Linux, PS4 double free exploit, OpenBSD’s wifi autojoin, and FreeBSD jails the hard way.</itunes:subtitle>
  <itunes:duration>1:44:42</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>&lt;p&gt;FreeBSD ULE vs. Linux CFS, OpenBSD on Tuxedo InfinityBook, how zfs diff reports filenames efficiently, why choose FreeBSD over Linux, PS4 double free exploit, OpenBSD’s wifi autojoin, and FreeBSD jails the hard way.&lt;/p&gt;

&lt;h2&gt;Win&lt;/h2&gt;

&lt;p&gt;Celebrate our 256th episode with us. You can win a Mogics Power Bagel (not sponsored).&lt;/p&gt;

&lt;p&gt;To enter, go find the 4 episodes we did in December of 2017. In the opening, find the 4 letters in the bookshelf behind me. They spell different words in each of the 4 episodes. Send us these words in order to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt; with the subject “bsdnow256” until August 8th, 2018 18:00 UTC and we’ll randomly draw the winner on the live show. We’ll then contact you to ship the item.&lt;br&gt;
Only one item to win. All decisions are final. Better luck next time.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;Battle of the Schedulers: FreeBSD ULE vs. Linux CFS&lt;/h3&gt;

&lt;p&gt;Introduction&lt;br&gt;
This paper analyzes the impact on application performance of the design and implementation choices made in two widely used open-source schedulers: ULE, the default FreeBSD scheduler, and CFS, the default Linux scheduler. We compare ULE and CFS in otherwise identical circumstances. We have ported ULE to Linux, and use it to schedule all threads that are normally scheduled by CFS. We compare the performance of a large suite of applications on the modified kernel running ULE and on the standard Linux kernel running CFS. The observed performance differences are solely the result of scheduling decisions, and do not reflect differences in other subsystems between FreeBSD and Linux. There is no overall winner. On many workloads the two schedulers perform similarly, but for some workloads there are significant and even surprising differences. ULE may cause starvation, even when executing a single application with identical threads, but this starvation may actually lead to better application performance for some workloads. The more complex load balancing mechanism of CFS reacts more quickly to workload changes, but ULE achieves better load balance in the long run.&lt;br&gt;
Operating system kernel schedulers are responsible for maintaining high utilization of hardware resources (CPU cores, memory, I/O devices) while providing fast response time to latency-sensitive applications. They have to react to workload changes, and handle large numbers of cores and threads with minimal overhead [12]. This paper provides a comparison between the default schedulers of two of the most widely deployed open-source operating systems: the Completely Fair Scheduler (CFS) used in Linux, and the ULE scheduler used in FreeBSD. Our goal is not to declare an overall winner.&lt;br&gt;
In fact, we find that for some workloads ULE is better and for others CFS is better. Instead, our goal is to illustrate how differences in the design and the implementation of the two schedulers are reflected in application performance under different workloads. ULE and CFS are both designed to schedule large numbers of threads on large multicore machines. Scalability considerations have led both schedulers to adopt per-core run-queues. On a context switch, a core accesses only its local run-queue to find the next thread to run. Periodically and at select times, e.g., when a thread wakes up, both ULE and CFS perform load balancing, i.e., they try to balance the amount of work waiting in the run-queues of different cores.&lt;br&gt;
ULE and CFS, however, differ greatly in their design and implementation choices. FreeBSD ULE is a simple scheduler (2,950 lines of code in FreeBSD 11.1), while Linux CFS is much more complex (17,900 lines of code in the latest LTS Linux kernel, Linux 4.9). FreeBSD run-queues are FIFO. For load balancing, FreeBSD strives to even out the number of threads per core. In Linux, a core decides which thread to run next based on prior execution time, priority, and perceived cache behavior of the threads in its runqueue. Instead of evening out the number of threads between cores, Linux strives to even out the average amount of pending work.&lt;/p&gt;

&lt;p&gt;Performance analysis&lt;br&gt;
We now analyze the impact of the per-core scheduling on the performance of 37 applications. We define “performance” as follows: for database workloads and NAS applications, we compare the number of operations per second, and for the other applications we compare “execution time”. The higher the “performance”, the better a scheduler performs. Figure 5 presents the performance difference between CFS and ULE on a single core, with percentages above 0 meaning that the application executes faster with ULE than CFS.&lt;br&gt;
Overall, the scheduler has little influence on most workloads. Indeed, most applications use threads that all perform the same work, thus both CFS and ULE endup scheduling all of the threads in a round-robin fashion. The average performance difference is 1.5%, in favor of ULE. Still, scimark is 36% slower on ULE than CFS, and apache is 40% faster on ULE than CFS. Scimark is a single-threaded Java application. It launches one compute thread, and the Java runtime executes other Java system threads in the background (for the garbage collector, I/O, etc.).&lt;br&gt;
When the application is executed with ULE, the compute thread can be delayed, because Java system threads are considered interactive and get priority over the computation thread. The apache workload consists of two applications: the main server (httpd) running 100 threads, and ab, a single-threaded load injector.&lt;br&gt;
The performance difference between ULE and CFS is explained by different choices regarding thread preemption. In ULE, full preemption is disabled, while CFS preempts the running thread when the thread that has just been woken up has a vruntime that is much smaller than the vruntime of the currently executing thread (1ms difference in practice). In CFS, ab is preempted 2 million times during the benchmark, while it never preempted with ULE.&lt;br&gt;
This behavior is explained as follows: ab starts by sending 100 requests to the httpd server, and then waits for the server to answer. When ab is woken up, it checks which requests have been processed and sends new requests to the server. Since ab is single-threaded, all requests sent to the server are sent sequentially. In ULE, ab is able to send as many new requests as it has received responses. In CFS, every request sent by ab wakes up a httpd thread, which preempts ab.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
Scheduling threads on a multicore machine is hard. In this paper, we perform a fair comparison of the design choices of two widely used schedulers: the ULE scheduler from FreeBSD and CFS from Linux. We show that they behave differently even on simple workloads, and that no scheduler performs better than the other on all workloads.&lt;/p&gt;

&lt;h3&gt;OpenBSD 6.3 on Tuxedo InfinityBook&lt;/h3&gt;

&lt;p&gt;Disclaimer:&lt;br&gt;
I came across the Tuxedo Computers InfinityBook last year at the Open! Conference where Tuxedo had a small booth. Previously they came to my attention since they’re a member of the OSB Alliance on whose board I’m a member. Furthermore Tuxedo Computers are a sponsor of the OSBAR which I’m part of the organizational team.&lt;/p&gt;

&lt;p&gt;OpenBSD on the Tuxedo InfinityBook&lt;br&gt;
I’ve asked the guys over at Tuxedo Computers whether they would be interested to have some tests with *BSD done and that I could test drive one of their machines and give feedback on what works and what does not - and possibly look into it.+&lt;/p&gt;

&lt;p&gt;Within a few weeks they shipped me a machine and last week the InfinityBook Pro 14” arrived. Awesome. Thanks already to the folks at Tuxedo Computers. The machine arrived accompanied by lot’s of swag :)&lt;/p&gt;

&lt;p&gt;The InfinityBook is a very nice machine and allows a wide range of configuration. The configuration that was shipped to me:&lt;/p&gt;

&lt;p&gt;Intel Core i7-8550U&lt;br&gt;
1x 16GB RAM 2400Mhz Crucial Ballistix Sport LT&lt;br&gt;
250 GB Samsung 860 EVO (M.2 SATAIII)&lt;/p&gt;

&lt;p&gt;I used a USB-stick to boot install63.fs and re-installed the machine with OpenBSD. Full dmesg.&lt;/p&gt;

&lt;p&gt;The installation went flawlessly, the needed intel firmware is being installed after installation automatically via fw_update(1).&lt;/p&gt;

&lt;p&gt;Out of the box the graphics works and once installed the machine presents the login.&lt;/p&gt;

&lt;p&gt;Video&lt;br&gt;
When X starts the display is turned off for some reason. You will need to hit fn+f12 (the key with the moon on it) then the display will go on. Aside from that little nit, X works just fine and presents one the expected resolution.&lt;/p&gt;

&lt;p&gt;External video is working just fine as well. Either via hdmi output or via the mini displayport connector.&lt;/p&gt;

&lt;p&gt;The buttons for adjusting brightness (fn+f8 and fn+f9) are not working. Instead one has to use wsconsctl(8) to adjust the brightness.&lt;/p&gt;

&lt;p&gt;Networking&lt;br&gt;
The infinityBook has built-in ethernet, driven by re(4) And for the wireless interface the iwm(4) driver is being used. Both work as expected.&lt;/p&gt;

&lt;p&gt;ACPI&lt;br&gt;
Neither suspend nor hibernate work. Reporting of battery status is bogus as well. Some of the keyboard function keys work:&lt;/p&gt;

&lt;p&gt;LCD on/off works (fn+f2)&lt;br&gt;
Keyboard backlight dimming works (fn+f4)&lt;br&gt;
Volume (fn+f5 / fn+f6) works&lt;/p&gt;

&lt;p&gt;Sound&lt;br&gt;
The azalia chipset is being used for audio processing. Works as expected, volume can be controlled via buttons (fn+f5, fn+f6) or via mixerctl.&lt;/p&gt;

&lt;p&gt;Touchpad&lt;br&gt;
Can be controlled via wsconsctl(8).&lt;br&gt;
So far I must say, that the InfinityBook makes a nice machine - and I’m enjoying working with it.&lt;/p&gt;

&lt;p&gt;iXsystems&lt;br&gt;
iXsystems - Its all NAS&lt;/p&gt;

&lt;h3&gt;How ZFS makes things like ‘zfs diff’ report filenames efficiently&lt;/h3&gt;

&lt;p&gt;As a copy on write (file)system, ZFS can use the transaction group (txg) numbers that are embedded in ZFS block pointers to efficiently find the differences between two txgs; this is used in, for example, ZFS bookmarks. However, as I noted at the end of my entry on block pointers, this doesn’t give us a filesystem level difference; instead, it essentially gives us a list of inodes (okay, dnodes) that changed.&lt;br&gt;
In theory, turning an inode or dnode number into the path to a file is an expensive operation; you basically have to search the entire filesystem until you find it. In practice, if you’ve ever run ‘zfs diff’, you’ve likely noticed that it runs pretty fast. Nor is this the only place that ZFS quickly turns dnode numbers into full paths, as it comes up in ‘zpool status’ reports about permanent errors. At one level, zfs diff and zpool status do this so rapidly because they ask the ZFS code in the kernel to do it for them. At another level, the question is how the kernel’s ZFS code can be so fast.&lt;br&gt;
The interesting and surprising answer is that ZFS cheats, in a way that makes things very fast when it works and almost always works in normal filesystems and with normal usage patterns. The cheat is that ZFS dnodes record their parent’s object number.&lt;br&gt;
If you’re familiar with the twists and turns of Unix filesystems, you’re now wondering how ZFS deals with hardlinks, which can cause a file to be in several directories at once and so have several parents (and then it can be removed from some of the directories). The answer is that ZFS doesn’t; a dnode only ever tracks a single parent, and ZFS accepts that this parent information can be inaccurate. I’ll quote the comment in zfs_obj_to_pobj:&lt;br&gt;
When a link is removed [the file’s] parent pointer is not changed and will be invalid. There are two cases where a link is removed but the file stays around, when it goes to the delete queue and when there are additional links.&lt;br&gt;
Before I get into the details, I want to say that I appreciate the brute force elegance of this cheat. The practical reality is that most Unix files today don’t have extra hardlinks, and when they do most hardlinks are done in ways that won’t break ZFS’s parent stuff. The result is that ZFS has picked an efficient implementation that works almost all of the time; in my opinion, the great benefit we get from having it around are more than worth the infrequent cases where it fails or malfunctions. Both zfs diff and having filenames show up in zpool status permanent error reports are very useful (and there may be other cases where this gets used).&lt;br&gt;
The current details are that any time you hardlink a file to somewhere or rename it, ZFS updates the file’s parent to point to the new directory. Often this will wind up with a correct parent even after all of the dust settles; for example, a common pattern is to write a file to an initial location, hardlink it to its final destination, and then remove the initial location version. In this case, the parent will be correct and you’ll get the right name.&lt;/p&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;What is FreeBSD? Why Should You Choose It Over Linux?&lt;/h3&gt;

&lt;p&gt;Not too long ago I wondered if and in what situations FreeBSD could be faster than Linux and we received a good amount of informative feedback. So far, Linux rules the desktop space and FreeBSD rules the server space.&lt;/p&gt;

&lt;p&gt;In the meantime, though, what exactly is FreeBSD? And at what times should you choose it over a GNU/Linux installation? Let’s tackle these questions.&lt;/p&gt;

&lt;p&gt;FreeBSD is a free and open source derivative of BSD (Berkeley Software Distribution) with a focus on speed, stability, security, and consistency, among other features. It has been developed and maintained by a large community ever since its initial release many years ago on November 1, 1993.&lt;/p&gt;

&lt;p&gt;BSD is the version of UNIX® that was developed at the University of California in Berkeley. And being a free and open source version, “Free” being a prefix to BSD is a no-brainer.&lt;/p&gt;

&lt;p&gt;What’s FreeBSD Good For?&lt;/p&gt;

&lt;p&gt;FreeBSD offers a plethora of advanced features and even boasts some not available in some commercial Operating Systems. It makes an excellent Internet and Intranet server thanks to its robust network services that allow it to maximize memory and work with heavy loads to deliver and maintain good response times for thousands of simultaneous user processes.&lt;/p&gt;

&lt;p&gt;FreeBSD runs a huge number of applications with ease. At the moment, it has over 32,000 ported applications and libraries with support for desktop, server, and embedded environments. with that being said, let me also add that FreeBSD is excellent for working with advanced embedded platforms. Mail and web appliances, timer servers, routers, MIPS hardware platforms, etc. You name it!&lt;/p&gt;

&lt;p&gt;FreeBSD is available to install in several ways and there are directions to follow for any method you want to use; be it via CD-ROM, over a network using NFS or FTP, or DVD.&lt;/p&gt;

&lt;p&gt;FreeBSD is easy to contribute to and all you have to do is to locate the section of the FreeBSD code base to modify and carefully do a neat job. Potential contributors are also free to improve on its artwork and documentation, among other project aspects.&lt;/p&gt;

&lt;p&gt;FreeBSD is backed by the FreeBSD Foundation, a non-profit organization that you can contribute to financially and all direct contributions are tax deductible.&lt;/p&gt;

&lt;p&gt;FreeBSD’s license allows users to incorporate the use of proprietary software which is ideal for companies interested in generating revenues. Netflix, for example, could cite this as one of the reasons for using FreeBSD servers.&lt;/p&gt;

&lt;p&gt;Why Should You Choose It over Linux?&lt;/p&gt;

&lt;p&gt;From what I’ve gathered about both FreeBSD and Linux, FreeBSD has a better performance on servers than Linux does. Yes, its packaged applications are configured to offer better a performance than Linux and it is usually running fewer services by default, there really isn’t a way to certify which is faster because the answer is dependent on the running hardware and applications and how the system is tuned.&lt;/p&gt;

&lt;p&gt;FreeBSD is reportedly more secure than Linux because of the way the whole project is developed and maintained.&lt;/p&gt;

&lt;p&gt;Unlike with Linux, the FreeBSD project is controlled by a large community of developers around the world who fall into any of these categories; core team, contributors, and committers.&lt;/p&gt;

&lt;p&gt;FreeBSD is much easier to learn and use because there aren’t a thousand and one distros to choose from with different package managers, DEs, etc.&lt;/p&gt;

&lt;p&gt;FreeBSD is more convenient to contribute to because it is the entire OS that is preserved and not just the kernel and a repo as is the case with Linux. You can easily access all of its versions since they are sorted by release numbers.&lt;/p&gt;

&lt;p&gt;Apart from the many documentations and guides that you can find online, FreeBSD has a single official documentation wherein you can find the solution to virtually any issue you will come across. So, you’re sure to find it resourceful.&lt;/p&gt;

&lt;p&gt;FreeBSD has close to no software issues compared to Linux because it has Java, is capable of running Windows programs using Wine, and can run .NET programs using Mono.&lt;/p&gt;

&lt;p&gt;FreeBSD’s ports/packages system allows you to compile software with specific configurations, thereby avoiding conflicting dependency and version issues.&lt;/p&gt;

&lt;p&gt;Both the FreeBSD and GNU/Linux project are always receiving updates. The platform you decide to go with is largely dependent on what you want to use it for, your technical know-how, willingness to learn new stuff, and ultimately your preference.&lt;br&gt;
What is your take on the topic? For what reasons would you choose FreeBSD over Linux if you would? Let us know what you think about both platforms in the comments section below.&lt;/p&gt;

&lt;h3&gt;PS4 5.05 BPF Double Free Kernel Exploit Writeup&lt;/h3&gt;

&lt;p&gt;Introduction&lt;br&gt;
Welcome to the 5.0x kernel exploit write-up. A few months ago, a kernel vulnerability was discovered by qwertyoruiopz and an exploit was released for BPF which involved crafting an out-of-bounds (OOB) write via use-after-free (UAF) due to the lack of proper locking. It was a fun bug, and a very trivial exploit. Sony then removed the write functionality from BPF, so that exploit was patched. However, the core issue still remained (being the lack of locking). A very similar race condition still exists in BPF past 4.55, which we will go into detail below on. The full source of the exploit can be found here.&lt;br&gt;
This bug is no longer accessible however past 5.05 firmware, because the BPF driver has finally been blocked from unprivileged processes - WebKit can no longer open it. Sony also introduced a new security mitigation in 5.0x firmwares to prevent the stack pointer from pointing into user space, however we’ll go more in detail on this a bit further down.&lt;/p&gt;

&lt;p&gt;Assumptions&lt;br&gt;
Some assumptions are made of the reader’s knowledge for the writeup. The avid reader should have a basic understanding of how memory allocators work - more specifically, how malloc() and free() allocate and deallocate memory respectively. They should also be aware that devices can be issued commands concurrently, as in, one command could be received while another one is being processed via threading. An understanding of C, x86, and exploitation basics is also very helpful, though not necessarily required.&lt;/p&gt;

&lt;p&gt;Background&lt;br&gt;
This section contains some helpful information to those newer to exploitation, or are unfamiliar with device drivers, or various exploit techniques such as heap spraying and race conditions. Feel free to skip to the “A Tale of Two Free()'s” section if you’re already familiar with this material.&lt;/p&gt;

&lt;p&gt;What Are Drivers?&lt;br&gt;
There are a few ways that applications can directly communicate with the operating system. One of which is system calls, which there are over 600 of in the PS4 kernel, ~500 of which are FreeBSD - the rest are Sony-implemented. Another method is through something called “Device Drivers”. Drivers are typically used to bridge the gap between software and hardware devices (usb drives, keyboard/mouse, webcams, etc) - though they can also be used just for software purposes.&lt;br&gt;
There are a few operations that a userland application can perform on a driver (if it has sufficient permissions) to interface with it after opening it. In some instances, one can read from it, write to it, or in some cases, issue more complex commands to it via the ioctl() system call. The handlers for these commands are implemented in kernel space - this is important, because any bugs that could be exploited in an ioctl handler can be used as a privilege escalation straight to ring0 - typically the most privileged state.&lt;br&gt;
Drivers are often the more weaker points of an operating system for attackers, because sometimes these drivers are written by developers who don’t understand how the kernel works, or the drivers are older and thus not wise to newer attack methods.&lt;/p&gt;

&lt;p&gt;The BPF Device Driver&lt;br&gt;
If we take a look around inside of WebKit’s sandbox, we’ll find a /dev directory. While this may seem like the root device driver path, it’s a lie. Many of the drivers that the PS4 has are not exposed to this directory, but rather only ones that are needed for WebKit’s operation (for the most part). For some reason though, BPF (aka. the “Berkely Packet Filter”) device is not only exposed to WebKit’s sandbox - it also has the privileges to open the device as R/W. This is very odd, because on most systems this driver is root-only (and for good reason). If you want to read more into this, refer to my previous write-up with 4.55FW.&lt;/p&gt;

&lt;p&gt;What Are Packet Filters?&lt;br&gt;
Below is an excerpt from the 4.55 bpfwrite writeup.&lt;br&gt;
Since the bug is directly in the filter system, it is important to know the basics of what packet filters are. Filters are essentially sets of pseudo-instructions that are parsed by bpf_filter() (which are ran when packets are received). While the pseudo-instruction set is fairly minimal, it allows you to do things like perform basic arithmetic operations and copy values around inside it’s buffer. Breaking down the BPF VM in it’s entirety is far beyond the scope of this write-up, just know that the code produced by it is ran in kernel mode - this is why read/write access to /dev/bpf should be privileged.&lt;/p&gt;

&lt;p&gt;Race Conditions&lt;br&gt;
Race conditions occur when two processes/threads try to access a shared resource at the same time without mutual exclusion. The problem was ultimately solved by introducing concepts such as the “mutex” or “lock”. The idea is when one thread/process tries to access a resource, it will first acquire a lock, access it, then unlock it once it’s finished. If another thread/process tries to access it while the other has the lock, it will wait until the other thread is finished. This works fairly well - when it’s used properly.&lt;br&gt;
Locking is hard to get right, especially when you try to implement fine-grained locking for performance. One single instruction or line of code outside the locking window could introduce a race condition. Not all race conditions are exploitable, but some are (such as this one) - and they can give an attacker very powerful bugs to work with.&lt;/p&gt;

&lt;p&gt;Heap Spraying&lt;br&gt;
The process of heap spraying is fairly simple - allocate a bunch of memory and fill it with controlled data in a loop and pray your allocation doesn’t get stolen from underneath you. It’s a very useful technique when exploiting something such as a use-after-free(), as you can use it to get controlled data into your target object’s backing memory.&lt;br&gt;
By extension, it’s useful to do this for a double free() as well, because once we have a stale reference, we can use a heap spray to control the data. Since the object will be marked “free” - the allocator will eventually provide us with control over this memory, even though something else is still using it. That is, unless, something else has already stolen the pointer from you and corrupts it - then you’ll likely get a system crash, and that’s no fun. This is one factor that adds to the variance of exploits, and typically, the smaller the object, the more likely this is to happen.&lt;/p&gt;

&lt;p&gt;Follow the link to read more of the article&lt;br&gt;
DigitalOcean&lt;br&gt;
&lt;a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener"&gt;http://do.co/bsdnow&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;OpenBSD gains Wi-Fi “auto-join”&lt;/h3&gt;

&lt;p&gt;In a change which is bound to be welcomed widely, -current has gained “auto-join” for Wi-Fi networks. Peter Hessler (phessler@) has been working on this for quite some time and he wrote about it in his p2k18 hackathon report. He has committed the work from the g2k18 hackathon in Ljubljana:&lt;/p&gt;

&lt;p&gt;CVSROOT:    /cvs&lt;br&gt;
Module name:    src&lt;br&gt;
Changes by: &lt;a href="mailto:phessler@cvs.openbsd.org" target="_blank" rel="nofollow noopener"&gt;phessler@cvs.openbsd.org&lt;/a&gt;    2018/07/11 14:18:09&lt;/p&gt;

&lt;p&gt;Modified files:&lt;br&gt;
    sbin/ifconfig  : ifconfig.8 ifconfig.c &lt;br&gt;
    sys/net80211   : ieee80211_ioctl.c ieee80211_ioctl.h &lt;br&gt;
                     ieee80211_node.c ieee80211_node.h &lt;br&gt;
                     ieee80211_var.h &lt;/p&gt;

&lt;p&gt;Log message:&lt;br&gt;
Introduce 'auto-join' to the wifi 802.11 stack.&lt;/p&gt;

&lt;p&gt;This allows a system to remember which ESSIDs it wants to connect to, any&lt;br&gt;
relevant security configuration, and switch to it when the network we are&lt;br&gt;
currently connected to is no longer available.&lt;br&gt;
Works when connecting and switching between WPA2/WPA1/WEP/clear encryptions.&lt;/p&gt;

&lt;p&gt;example hostname.if:&lt;br&gt;
join home wpakey password&lt;br&gt;
join work wpakey mekmitasdigoat&lt;br&gt;
join open-lounge&lt;br&gt;
join cafe wpakey cafe2018&lt;br&gt;
join "wepnetwork" nwkey "12345"&lt;br&gt;
dhcp&lt;br&gt;
inet6 autoconf&lt;br&gt;
up&lt;/p&gt;

&lt;p&gt;OK stsp@ reyk@&lt;br&gt;
and enthusiasm from every hackroom I've been in for the last 3 years&lt;br&gt;
The usage should be clear from the commit message, but basically you ‘join’ all the networks you want to auto-join as you would previously use ‘nwid’ to connect to one specific network. Then the kernel will join the network that’s actually in range and do the rest automagically for you. When you move out of range of that network you lose connectivity until you come in range of the original (where things will continue to work as you’ve been used to) or one of the other networks (where you will associate and then get a new lease).&lt;/p&gt;

&lt;p&gt;Thanks to Peter for working on this feature - something many a Wi-Fi using OpenBSD user will be able to benefit from.&lt;/p&gt;

&lt;h3&gt;FreeBSD Jails the hard way&lt;/h3&gt;

&lt;p&gt;There are many great options for managing FreeBSD Jails. iocage, warden and ez-jail aim to streamline the process and make it quick an easy to get going. But sometimes the tools built right into the OS are overlooked.&lt;/p&gt;

&lt;p&gt;This post goes over what is involved in creating and managing jails using only the tools built into FreeBSD.&lt;/p&gt;

&lt;p&gt;For this guide, I’m going to be putting my jails in /usr/local/jails.&lt;/p&gt;

&lt;p&gt;I’ll start with a very simple, isolated jail. Then I’ll go over how to use ZFS snapshots, and lastly nullfs mounts to share the FreeBSD base files with multiple jails.&lt;/p&gt;

&lt;p&gt;I’ll also show some examples of how to use the templating power of jail.conf to apply similar settings to all your jails.&lt;/p&gt;

&lt;p&gt;Full Jail&lt;br&gt;
Make a directory for the jail, or a zfs dataset if you prefer.&lt;br&gt;
Download the FreeBSD base files, and any other parts of FreeBSD you want. In this example I’ll include the 32 bit libraries as well.&lt;br&gt;
Update your FreeBSD base install.&lt;br&gt;
Verify your download. We’re downloading these archives over FTP after all, we should confirm that this download is valid and not tampered with. The freebsd-update IDS command verifies the installation using a PGP key which is in your base system, which was presumably installed with an ISO that you verified using the FreeBSD signed checksums. Admittedly this step is a bit of paranoia, but I think it’s prudent.&lt;br&gt;
Make sure you jail has the right timezone and dns servers and a hostname in rc.conf.&lt;br&gt;
Edit jail.conf with the details about your jail.&lt;br&gt;
Start and login to your jail.&lt;br&gt;
11 commands and a config file, but this is the most tedious way to make a jail. With a little bit of templating it can be even easier. So I’ll start by making a template. Making a template is basically the same as steps 1, 2 and 3 above, but with a different destination folder, I’ll condense them here.&lt;/p&gt;

&lt;p&gt;Creating a template&lt;br&gt;
Create a template or a ZFS dataset. If you’d like to use the zfs clone method of deploying templates, you’ll need to create a zfs dataset instead of a folder.&lt;br&gt;
Update your template with freebsd-update.&lt;br&gt;
Verify your install&lt;br&gt;
And that’s it, now you have a fully up to date jail template. If you’ve made this template with zfs, you can easily deploy it using zfs snapshots.&lt;/p&gt;

&lt;p&gt;Deploying a template with ZFS snapshots&lt;br&gt;
Create a snapshot. My last freebsd-update to my template brought it to patch level 17, so I’ll call my snapshot p10.&lt;br&gt;
Clone the snapshot to a new jail.&lt;br&gt;
Configure the jail hostname.&lt;br&gt;
Add the jail definition to jail.conf, make sure you have the global jail settings from jail.conf listed in the fulljail example.&lt;br&gt;
Start the jail.&lt;br&gt;
The downside with the zfs approach is that each jail is now a fully independent, and if you need to update your jails, you have to update them all individually. By sharing a template using nullfs mounts you can have only one copy of the base system that only needs to be updated once.&lt;/p&gt;

&lt;p&gt;Follow the link to see the rest of the article about&lt;br&gt;
Thin jails using NullFS mounts&lt;br&gt;
Simplifying jail.conf&lt;br&gt;
Hopefully this has helped you understand the process of how to create and manage FreeBSD jails without tools that abstract away all the details. Those tools are often quite useful, but there is always benefit in learning to do things the hard way. And in this case, the hard way doesn’t seem to be that hard after all.&lt;/p&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;Meetup in Zurich #4, July edition (July 19) – Which you likely missed, but now you know to look for the August edition!&lt;br&gt;
The next two BSD-PL User group meetings in Warsaw have been scheduled for July 30th and Aug 9th @ 1830 CEST – Submit your topic proposals now&lt;br&gt;
Linux Geek Books - Humble Bundle&lt;br&gt;
Extend loader(8) geli support to all architectures and all disk-like devices&lt;br&gt;
Upgrading from a bootpool to a single encrypted pool – skip the gptzfsboot part, and manually update your EFI partition with loader.efi&lt;br&gt;
The pkgsrc 2018Q2 for Illumos is available with 18500+ binary packages&lt;br&gt;
NetBSD ARM64 Images Available with SMP for RPi3 / NanoPi / Pine64 Boards&lt;br&gt;
Recently released CDE 2.3.0 running on Tribblix (Illumos)&lt;br&gt;
An Interview With Tech &amp;amp; Science Fiction Author Michael W Lucas&lt;br&gt;
A reminder : MeetBSD CFP&lt;br&gt;
EuroBSDCon talk acceptances have gone out, and once the tutorials are confirmed, registration will open. That will likely have happened by time you see this episode, so go register! See you in Romania&lt;br&gt;
Tarsnap&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;Wilyarti - Adblocked on FreeBSD Continued…&lt;br&gt;
Andrew - A Question and a Story&lt;br&gt;
Matthew - Thanks&lt;br&gt;
Brian - PCI-E Controller&lt;br&gt;
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt; &lt;/p&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, ule, cfs, tuxedo, infinitybook, ps4, jails</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD ULE vs. Linux CFS, OpenBSD on Tuxedo InfinityBook, how zfs diff reports filenames efficiently, why choose FreeBSD over Linux, PS4 double free exploit, OpenBSD’s wifi autojoin, and FreeBSD jails the hard way.</p>

<h2>Win</h2>

<p>Celebrate our 256th episode with us. You can win a Mogics Power Bagel (not sponsored).</p>

<p>To enter, go find the 4 episodes we did in December of 2017. In the opening, find the 4 letters in the bookshelf behind me. They spell different words in each of the 4 episodes. Send us these words in order to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a> with the subject “bsdnow256” until August 8th, 2018 18:00 UTC and we’ll randomly draw the winner on the live show. We’ll then contact you to ship the item.<br>
Only one item to win. All decisions are final. Better luck next time.</p>

<h2>Headlines</h2>

<h3>Battle of the Schedulers: FreeBSD ULE vs. Linux CFS</h3>

<p>Introduction<br>
This paper analyzes the impact on application performance of the design and implementation choices made in two widely used open-source schedulers: ULE, the default FreeBSD scheduler, and CFS, the default Linux scheduler. We compare ULE and CFS in otherwise identical circumstances. We have ported ULE to Linux, and use it to schedule all threads that are normally scheduled by CFS. We compare the performance of a large suite of applications on the modified kernel running ULE and on the standard Linux kernel running CFS. The observed performance differences are solely the result of scheduling decisions, and do not reflect differences in other subsystems between FreeBSD and Linux. There is no overall winner. On many workloads the two schedulers perform similarly, but for some workloads there are significant and even surprising differences. ULE may cause starvation, even when executing a single application with identical threads, but this starvation may actually lead to better application performance for some workloads. The more complex load balancing mechanism of CFS reacts more quickly to workload changes, but ULE achieves better load balance in the long run.<br>
Operating system kernel schedulers are responsible for maintaining high utilization of hardware resources (CPU cores, memory, I/O devices) while providing fast response time to latency-sensitive applications. They have to react to workload changes, and handle large numbers of cores and threads with minimal overhead [12]. This paper provides a comparison between the default schedulers of two of the most widely deployed open-source operating systems: the Completely Fair Scheduler (CFS) used in Linux, and the ULE scheduler used in FreeBSD. Our goal is not to declare an overall winner.<br>
In fact, we find that for some workloads ULE is better and for others CFS is better. Instead, our goal is to illustrate how differences in the design and the implementation of the two schedulers are reflected in application performance under different workloads. ULE and CFS are both designed to schedule large numbers of threads on large multicore machines. Scalability considerations have led both schedulers to adopt per-core run-queues. On a context switch, a core accesses only its local run-queue to find the next thread to run. Periodically and at select times, e.g., when a thread wakes up, both ULE and CFS perform load balancing, i.e., they try to balance the amount of work waiting in the run-queues of different cores.<br>
ULE and CFS, however, differ greatly in their design and implementation choices. FreeBSD ULE is a simple scheduler (2,950 lines of code in FreeBSD 11.1), while Linux CFS is much more complex (17,900 lines of code in the latest LTS Linux kernel, Linux 4.9). FreeBSD run-queues are FIFO. For load balancing, FreeBSD strives to even out the number of threads per core. In Linux, a core decides which thread to run next based on prior execution time, priority, and perceived cache behavior of the threads in its runqueue. Instead of evening out the number of threads between cores, Linux strives to even out the average amount of pending work.</p>

<p>Performance analysis<br>
We now analyze the impact of the per-core scheduling on the performance of 37 applications. We define “performance” as follows: for database workloads and NAS applications, we compare the number of operations per second, and for the other applications we compare “execution time”. The higher the “performance”, the better a scheduler performs. Figure 5 presents the performance difference between CFS and ULE on a single core, with percentages above 0 meaning that the application executes faster with ULE than CFS.<br>
Overall, the scheduler has little influence on most workloads. Indeed, most applications use threads that all perform the same work, thus both CFS and ULE endup scheduling all of the threads in a round-robin fashion. The average performance difference is 1.5%, in favor of ULE. Still, scimark is 36% slower on ULE than CFS, and apache is 40% faster on ULE than CFS. Scimark is a single-threaded Java application. It launches one compute thread, and the Java runtime executes other Java system threads in the background (for the garbage collector, I/O, etc.).<br>
When the application is executed with ULE, the compute thread can be delayed, because Java system threads are considered interactive and get priority over the computation thread. The apache workload consists of two applications: the main server (httpd) running 100 threads, and ab, a single-threaded load injector.<br>
The performance difference between ULE and CFS is explained by different choices regarding thread preemption. In ULE, full preemption is disabled, while CFS preempts the running thread when the thread that has just been woken up has a vruntime that is much smaller than the vruntime of the currently executing thread (1ms difference in practice). In CFS, ab is preempted 2 million times during the benchmark, while it never preempted with ULE.<br>
This behavior is explained as follows: ab starts by sending 100 requests to the httpd server, and then waits for the server to answer. When ab is woken up, it checks which requests have been processed and sends new requests to the server. Since ab is single-threaded, all requests sent to the server are sent sequentially. In ULE, ab is able to send as many new requests as it has received responses. In CFS, every request sent by ab wakes up a httpd thread, which preempts ab.</p>

<p>Conclusion<br>
Scheduling threads on a multicore machine is hard. In this paper, we perform a fair comparison of the design choices of two widely used schedulers: the ULE scheduler from FreeBSD and CFS from Linux. We show that they behave differently even on simple workloads, and that no scheduler performs better than the other on all workloads.</p>

<h3>OpenBSD 6.3 on Tuxedo InfinityBook</h3>

<p>Disclaimer:<br>
I came across the Tuxedo Computers InfinityBook last year at the Open! Conference where Tuxedo had a small booth. Previously they came to my attention since they’re a member of the OSB Alliance on whose board I’m a member. Furthermore Tuxedo Computers are a sponsor of the OSBAR which I’m part of the organizational team.</p>

<p>OpenBSD on the Tuxedo InfinityBook<br>
I’ve asked the guys over at Tuxedo Computers whether they would be interested to have some tests with *BSD done and that I could test drive one of their machines and give feedback on what works and what does not - and possibly look into it.+</p>

<p>Within a few weeks they shipped me a machine and last week the InfinityBook Pro 14” arrived. Awesome. Thanks already to the folks at Tuxedo Computers. The machine arrived accompanied by lot’s of swag :)</p>

<p>The InfinityBook is a very nice machine and allows a wide range of configuration. The configuration that was shipped to me:</p>

<p>Intel Core i7-8550U<br>
1x 16GB RAM 2400Mhz Crucial Ballistix Sport LT<br>
250 GB Samsung 860 EVO (M.2 SATAIII)</p>

<p>I used a USB-stick to boot install63.fs and re-installed the machine with OpenBSD. Full dmesg.</p>

<p>The installation went flawlessly, the needed intel firmware is being installed after installation automatically via fw_update(1).</p>

<p>Out of the box the graphics works and once installed the machine presents the login.</p>

<p>Video<br>
When X starts the display is turned off for some reason. You will need to hit fn+f12 (the key with the moon on it) then the display will go on. Aside from that little nit, X works just fine and presents one the expected resolution.</p>

<p>External video is working just fine as well. Either via hdmi output or via the mini displayport connector.</p>

<p>The buttons for adjusting brightness (fn+f8 and fn+f9) are not working. Instead one has to use wsconsctl(8) to adjust the brightness.</p>

<p>Networking<br>
The infinityBook has built-in ethernet, driven by re(4) And for the wireless interface the iwm(4) driver is being used. Both work as expected.</p>

<p>ACPI<br>
Neither suspend nor hibernate work. Reporting of battery status is bogus as well. Some of the keyboard function keys work:</p>

<p>LCD on/off works (fn+f2)<br>
Keyboard backlight dimming works (fn+f4)<br>
Volume (fn+f5 / fn+f6) works</p>

<p>Sound<br>
The azalia chipset is being used for audio processing. Works as expected, volume can be controlled via buttons (fn+f5, fn+f6) or via mixerctl.</p>

<p>Touchpad<br>
Can be controlled via wsconsctl(8).<br>
So far I must say, that the InfinityBook makes a nice machine - and I’m enjoying working with it.</p>

<p>iXsystems<br>
iXsystems - Its all NAS</p>

<h3>How ZFS makes things like ‘zfs diff’ report filenames efficiently</h3>

<p>As a copy on write (file)system, ZFS can use the transaction group (txg) numbers that are embedded in ZFS block pointers to efficiently find the differences between two txgs; this is used in, for example, ZFS bookmarks. However, as I noted at the end of my entry on block pointers, this doesn’t give us a filesystem level difference; instead, it essentially gives us a list of inodes (okay, dnodes) that changed.<br>
In theory, turning an inode or dnode number into the path to a file is an expensive operation; you basically have to search the entire filesystem until you find it. In practice, if you’ve ever run ‘zfs diff’, you’ve likely noticed that it runs pretty fast. Nor is this the only place that ZFS quickly turns dnode numbers into full paths, as it comes up in ‘zpool status’ reports about permanent errors. At one level, zfs diff and zpool status do this so rapidly because they ask the ZFS code in the kernel to do it for them. At another level, the question is how the kernel’s ZFS code can be so fast.<br>
The interesting and surprising answer is that ZFS cheats, in a way that makes things very fast when it works and almost always works in normal filesystems and with normal usage patterns. The cheat is that ZFS dnodes record their parent’s object number.<br>
If you’re familiar with the twists and turns of Unix filesystems, you’re now wondering how ZFS deals with hardlinks, which can cause a file to be in several directories at once and so have several parents (and then it can be removed from some of the directories). The answer is that ZFS doesn’t; a dnode only ever tracks a single parent, and ZFS accepts that this parent information can be inaccurate. I’ll quote the comment in zfs_obj_to_pobj:<br>
When a link is removed [the file’s] parent pointer is not changed and will be invalid. There are two cases where a link is removed but the file stays around, when it goes to the delete queue and when there are additional links.<br>
Before I get into the details, I want to say that I appreciate the brute force elegance of this cheat. The practical reality is that most Unix files today don’t have extra hardlinks, and when they do most hardlinks are done in ways that won’t break ZFS’s parent stuff. The result is that ZFS has picked an efficient implementation that works almost all of the time; in my opinion, the great benefit we get from having it around are more than worth the infrequent cases where it fails or malfunctions. Both zfs diff and having filenames show up in zpool status permanent error reports are very useful (and there may be other cases where this gets used).<br>
The current details are that any time you hardlink a file to somewhere or rename it, ZFS updates the file’s parent to point to the new directory. Often this will wind up with a correct parent even after all of the dust settles; for example, a common pattern is to write a file to an initial location, hardlink it to its final destination, and then remove the initial location version. In this case, the parent will be correct and you’ll get the right name.</p>

<h2>News Roundup</h2>

<h3>What is FreeBSD? Why Should You Choose It Over Linux?</h3>

<p>Not too long ago I wondered if and in what situations FreeBSD could be faster than Linux and we received a good amount of informative feedback. So far, Linux rules the desktop space and FreeBSD rules the server space.</p>

<p>In the meantime, though, what exactly is FreeBSD? And at what times should you choose it over a GNU/Linux installation? Let’s tackle these questions.</p>

<p>FreeBSD is a free and open source derivative of BSD (Berkeley Software Distribution) with a focus on speed, stability, security, and consistency, among other features. It has been developed and maintained by a large community ever since its initial release many years ago on November 1, 1993.</p>

<p>BSD is the version of UNIX® that was developed at the University of California in Berkeley. And being a free and open source version, “Free” being a prefix to BSD is a no-brainer.</p>

<p>What’s FreeBSD Good For?</p>

<p>FreeBSD offers a plethora of advanced features and even boasts some not available in some commercial Operating Systems. It makes an excellent Internet and Intranet server thanks to its robust network services that allow it to maximize memory and work with heavy loads to deliver and maintain good response times for thousands of simultaneous user processes.</p>

<p>FreeBSD runs a huge number of applications with ease. At the moment, it has over 32,000 ported applications and libraries with support for desktop, server, and embedded environments. with that being said, let me also add that FreeBSD is excellent for working with advanced embedded platforms. Mail and web appliances, timer servers, routers, MIPS hardware platforms, etc. You name it!</p>

<p>FreeBSD is available to install in several ways and there are directions to follow for any method you want to use; be it via CD-ROM, over a network using NFS or FTP, or DVD.</p>

<p>FreeBSD is easy to contribute to and all you have to do is to locate the section of the FreeBSD code base to modify and carefully do a neat job. Potential contributors are also free to improve on its artwork and documentation, among other project aspects.</p>

<p>FreeBSD is backed by the FreeBSD Foundation, a non-profit organization that you can contribute to financially and all direct contributions are tax deductible.</p>

<p>FreeBSD’s license allows users to incorporate the use of proprietary software which is ideal for companies interested in generating revenues. Netflix, for example, could cite this as one of the reasons for using FreeBSD servers.</p>

<p>Why Should You Choose It over Linux?</p>

<p>From what I’ve gathered about both FreeBSD and Linux, FreeBSD has a better performance on servers than Linux does. Yes, its packaged applications are configured to offer better a performance than Linux and it is usually running fewer services by default, there really isn’t a way to certify which is faster because the answer is dependent on the running hardware and applications and how the system is tuned.</p>

<p>FreeBSD is reportedly more secure than Linux because of the way the whole project is developed and maintained.</p>

<p>Unlike with Linux, the FreeBSD project is controlled by a large community of developers around the world who fall into any of these categories; core team, contributors, and committers.</p>

<p>FreeBSD is much easier to learn and use because there aren’t a thousand and one distros to choose from with different package managers, DEs, etc.</p>

<p>FreeBSD is more convenient to contribute to because it is the entire OS that is preserved and not just the kernel and a repo as is the case with Linux. You can easily access all of its versions since they are sorted by release numbers.</p>

<p>Apart from the many documentations and guides that you can find online, FreeBSD has a single official documentation wherein you can find the solution to virtually any issue you will come across. So, you’re sure to find it resourceful.</p>

<p>FreeBSD has close to no software issues compared to Linux because it has Java, is capable of running Windows programs using Wine, and can run .NET programs using Mono.</p>

<p>FreeBSD’s ports/packages system allows you to compile software with specific configurations, thereby avoiding conflicting dependency and version issues.</p>

<p>Both the FreeBSD and GNU/Linux project are always receiving updates. The platform you decide to go with is largely dependent on what you want to use it for, your technical know-how, willingness to learn new stuff, and ultimately your preference.<br>
What is your take on the topic? For what reasons would you choose FreeBSD over Linux if you would? Let us know what you think about both platforms in the comments section below.</p>

<h3>PS4 5.05 BPF Double Free Kernel Exploit Writeup</h3>

<p>Introduction<br>
Welcome to the 5.0x kernel exploit write-up. A few months ago, a kernel vulnerability was discovered by qwertyoruiopz and an exploit was released for BPF which involved crafting an out-of-bounds (OOB) write via use-after-free (UAF) due to the lack of proper locking. It was a fun bug, and a very trivial exploit. Sony then removed the write functionality from BPF, so that exploit was patched. However, the core issue still remained (being the lack of locking). A very similar race condition still exists in BPF past 4.55, which we will go into detail below on. The full source of the exploit can be found here.<br>
This bug is no longer accessible however past 5.05 firmware, because the BPF driver has finally been blocked from unprivileged processes - WebKit can no longer open it. Sony also introduced a new security mitigation in 5.0x firmwares to prevent the stack pointer from pointing into user space, however we’ll go more in detail on this a bit further down.</p>

<p>Assumptions<br>
Some assumptions are made of the reader’s knowledge for the writeup. The avid reader should have a basic understanding of how memory allocators work - more specifically, how malloc() and free() allocate and deallocate memory respectively. They should also be aware that devices can be issued commands concurrently, as in, one command could be received while another one is being processed via threading. An understanding of C, x86, and exploitation basics is also very helpful, though not necessarily required.</p>

<p>Background<br>
This section contains some helpful information to those newer to exploitation, or are unfamiliar with device drivers, or various exploit techniques such as heap spraying and race conditions. Feel free to skip to the “A Tale of Two Free()'s” section if you’re already familiar with this material.</p>

<p>What Are Drivers?<br>
There are a few ways that applications can directly communicate with the operating system. One of which is system calls, which there are over 600 of in the PS4 kernel, ~500 of which are FreeBSD - the rest are Sony-implemented. Another method is through something called “Device Drivers”. Drivers are typically used to bridge the gap between software and hardware devices (usb drives, keyboard/mouse, webcams, etc) - though they can also be used just for software purposes.<br>
There are a few operations that a userland application can perform on a driver (if it has sufficient permissions) to interface with it after opening it. In some instances, one can read from it, write to it, or in some cases, issue more complex commands to it via the ioctl() system call. The handlers for these commands are implemented in kernel space - this is important, because any bugs that could be exploited in an ioctl handler can be used as a privilege escalation straight to ring0 - typically the most privileged state.<br>
Drivers are often the more weaker points of an operating system for attackers, because sometimes these drivers are written by developers who don’t understand how the kernel works, or the drivers are older and thus not wise to newer attack methods.</p>

<p>The BPF Device Driver<br>
If we take a look around inside of WebKit’s sandbox, we’ll find a /dev directory. While this may seem like the root device driver path, it’s a lie. Many of the drivers that the PS4 has are not exposed to this directory, but rather only ones that are needed for WebKit’s operation (for the most part). For some reason though, BPF (aka. the “Berkely Packet Filter”) device is not only exposed to WebKit’s sandbox - it also has the privileges to open the device as R/W. This is very odd, because on most systems this driver is root-only (and for good reason). If you want to read more into this, refer to my previous write-up with 4.55FW.</p>

<p>What Are Packet Filters?<br>
Below is an excerpt from the 4.55 bpfwrite writeup.<br>
Since the bug is directly in the filter system, it is important to know the basics of what packet filters are. Filters are essentially sets of pseudo-instructions that are parsed by bpf_filter() (which are ran when packets are received). While the pseudo-instruction set is fairly minimal, it allows you to do things like perform basic arithmetic operations and copy values around inside it’s buffer. Breaking down the BPF VM in it’s entirety is far beyond the scope of this write-up, just know that the code produced by it is ran in kernel mode - this is why read/write access to /dev/bpf should be privileged.</p>

<p>Race Conditions<br>
Race conditions occur when two processes/threads try to access a shared resource at the same time without mutual exclusion. The problem was ultimately solved by introducing concepts such as the “mutex” or “lock”. The idea is when one thread/process tries to access a resource, it will first acquire a lock, access it, then unlock it once it’s finished. If another thread/process tries to access it while the other has the lock, it will wait until the other thread is finished. This works fairly well - when it’s used properly.<br>
Locking is hard to get right, especially when you try to implement fine-grained locking for performance. One single instruction or line of code outside the locking window could introduce a race condition. Not all race conditions are exploitable, but some are (such as this one) - and they can give an attacker very powerful bugs to work with.</p>

<p>Heap Spraying<br>
The process of heap spraying is fairly simple - allocate a bunch of memory and fill it with controlled data in a loop and pray your allocation doesn’t get stolen from underneath you. It’s a very useful technique when exploiting something such as a use-after-free(), as you can use it to get controlled data into your target object’s backing memory.<br>
By extension, it’s useful to do this for a double free() as well, because once we have a stale reference, we can use a heap spray to control the data. Since the object will be marked “free” - the allocator will eventually provide us with control over this memory, even though something else is still using it. That is, unless, something else has already stolen the pointer from you and corrupts it - then you’ll likely get a system crash, and that’s no fun. This is one factor that adds to the variance of exploits, and typically, the smaller the object, the more likely this is to happen.</p>

<p>Follow the link to read more of the article<br>
DigitalOcean<br>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">http://do.co/bsdnow</a></p>

<h3>OpenBSD gains Wi-Fi “auto-join”</h3>

<p>In a change which is bound to be welcomed widely, -current has gained “auto-join” for Wi-Fi networks. Peter Hessler (phessler@) has been working on this for quite some time and he wrote about it in his p2k18 hackathon report. He has committed the work from the g2k18 hackathon in Ljubljana:</p>

<p>CVSROOT:    /cvs<br>
Module name:    src<br>
Changes by: <a href="mailto:phessler@cvs.openbsd.org" target="_blank" rel="nofollow noopener">phessler@cvs.openbsd.org</a>    2018/07/11 14:18:09</p>

<p>Modified files:<br>
    sbin/ifconfig  : ifconfig.8 ifconfig.c <br>
    sys/net80211   : ieee80211_ioctl.c ieee80211_ioctl.h <br>
                     ieee80211_node.c ieee80211_node.h <br>
                     ieee80211_var.h </p>

<p>Log message:<br>
Introduce 'auto-join' to the wifi 802.11 stack.</p>

<p>This allows a system to remember which ESSIDs it wants to connect to, any<br>
relevant security configuration, and switch to it when the network we are<br>
currently connected to is no longer available.<br>
Works when connecting and switching between WPA2/WPA1/WEP/clear encryptions.</p>

<p>example hostname.if:<br>
join home wpakey password<br>
join work wpakey mekmitasdigoat<br>
join open-lounge<br>
join cafe wpakey cafe2018<br>
join "wepnetwork" nwkey "12345"<br>
dhcp<br>
inet6 autoconf<br>
up</p>

<p>OK stsp@ reyk@<br>
and enthusiasm from every hackroom I've been in for the last 3 years<br>
The usage should be clear from the commit message, but basically you ‘join’ all the networks you want to auto-join as you would previously use ‘nwid’ to connect to one specific network. Then the kernel will join the network that’s actually in range and do the rest automagically for you. When you move out of range of that network you lose connectivity until you come in range of the original (where things will continue to work as you’ve been used to) or one of the other networks (where you will associate and then get a new lease).</p>

<p>Thanks to Peter for working on this feature - something many a Wi-Fi using OpenBSD user will be able to benefit from.</p>

<h3>FreeBSD Jails the hard way</h3>

<p>There are many great options for managing FreeBSD Jails. iocage, warden and ez-jail aim to streamline the process and make it quick an easy to get going. But sometimes the tools built right into the OS are overlooked.</p>

<p>This post goes over what is involved in creating and managing jails using only the tools built into FreeBSD.</p>

<p>For this guide, I’m going to be putting my jails in /usr/local/jails.</p>

<p>I’ll start with a very simple, isolated jail. Then I’ll go over how to use ZFS snapshots, and lastly nullfs mounts to share the FreeBSD base files with multiple jails.</p>

<p>I’ll also show some examples of how to use the templating power of jail.conf to apply similar settings to all your jails.</p>

<p>Full Jail<br>
Make a directory for the jail, or a zfs dataset if you prefer.<br>
Download the FreeBSD base files, and any other parts of FreeBSD you want. In this example I’ll include the 32 bit libraries as well.<br>
Update your FreeBSD base install.<br>
Verify your download. We’re downloading these archives over FTP after all, we should confirm that this download is valid and not tampered with. The freebsd-update IDS command verifies the installation using a PGP key which is in your base system, which was presumably installed with an ISO that you verified using the FreeBSD signed checksums. Admittedly this step is a bit of paranoia, but I think it’s prudent.<br>
Make sure you jail has the right timezone and dns servers and a hostname in rc.conf.<br>
Edit jail.conf with the details about your jail.<br>
Start and login to your jail.<br>
11 commands and a config file, but this is the most tedious way to make a jail. With a little bit of templating it can be even easier. So I’ll start by making a template. Making a template is basically the same as steps 1, 2 and 3 above, but with a different destination folder, I’ll condense them here.</p>

<p>Creating a template<br>
Create a template or a ZFS dataset. If you’d like to use the zfs clone method of deploying templates, you’ll need to create a zfs dataset instead of a folder.<br>
Update your template with freebsd-update.<br>
Verify your install<br>
And that’s it, now you have a fully up to date jail template. If you’ve made this template with zfs, you can easily deploy it using zfs snapshots.</p>

<p>Deploying a template with ZFS snapshots<br>
Create a snapshot. My last freebsd-update to my template brought it to patch level 17, so I’ll call my snapshot p10.<br>
Clone the snapshot to a new jail.<br>
Configure the jail hostname.<br>
Add the jail definition to jail.conf, make sure you have the global jail settings from jail.conf listed in the fulljail example.<br>
Start the jail.<br>
The downside with the zfs approach is that each jail is now a fully independent, and if you need to update your jails, you have to update them all individually. By sharing a template using nullfs mounts you can have only one copy of the base system that only needs to be updated once.</p>

<p>Follow the link to see the rest of the article about<br>
Thin jails using NullFS mounts<br>
Simplifying jail.conf<br>
Hopefully this has helped you understand the process of how to create and manage FreeBSD jails without tools that abstract away all the details. Those tools are often quite useful, but there is always benefit in learning to do things the hard way. And in this case, the hard way doesn’t seem to be that hard after all.</p>

<h2>Beastie Bits</h2>

<p>Meetup in Zurich #4, July edition (July 19) – Which you likely missed, but now you know to look for the August edition!<br>
The next two BSD-PL User group meetings in Warsaw have been scheduled for July 30th and Aug 9th @ 1830 CEST – Submit your topic proposals now<br>
Linux Geek Books - Humble Bundle<br>
Extend loader(8) geli support to all architectures and all disk-like devices<br>
Upgrading from a bootpool to a single encrypted pool – skip the gptzfsboot part, and manually update your EFI partition with loader.efi<br>
The pkgsrc 2018Q2 for Illumos is available with 18500+ binary packages<br>
NetBSD ARM64 Images Available with SMP for RPi3 / NanoPi / Pine64 Boards<br>
Recently released CDE 2.3.0 running on Tribblix (Illumos)<br>
An Interview With Tech &amp; Science Fiction Author Michael W Lucas<br>
A reminder : MeetBSD CFP<br>
EuroBSDCon talk acceptances have gone out, and once the tutorials are confirmed, registration will open. That will likely have happened by time you see this episode, so go register! See you in Romania<br>
Tarsnap</p>

<h2>Feedback/Questions</h2>

<p>Wilyarti - Adblocked on FreeBSD Continued…<br>
Andrew - A Question and a Story<br>
Matthew - Thanks<br>
Brian - PCI-E Controller<br>
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD ULE vs. Linux CFS, OpenBSD on Tuxedo InfinityBook, how zfs diff reports filenames efficiently, why choose FreeBSD over Linux, PS4 double free exploit, OpenBSD’s wifi autojoin, and FreeBSD jails the hard way.</p>

<h2>Win</h2>

<p>Celebrate our 256th episode with us. You can win a Mogics Power Bagel (not sponsored).</p>

<p>To enter, go find the 4 episodes we did in December of 2017. In the opening, find the 4 letters in the bookshelf behind me. They spell different words in each of the 4 episodes. Send us these words in order to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a> with the subject “bsdnow256” until August 8th, 2018 18:00 UTC and we’ll randomly draw the winner on the live show. We’ll then contact you to ship the item.<br>
Only one item to win. All decisions are final. Better luck next time.</p>

<h2>Headlines</h2>

<h3>Battle of the Schedulers: FreeBSD ULE vs. Linux CFS</h3>

<p>Introduction<br>
This paper analyzes the impact on application performance of the design and implementation choices made in two widely used open-source schedulers: ULE, the default FreeBSD scheduler, and CFS, the default Linux scheduler. We compare ULE and CFS in otherwise identical circumstances. We have ported ULE to Linux, and use it to schedule all threads that are normally scheduled by CFS. We compare the performance of a large suite of applications on the modified kernel running ULE and on the standard Linux kernel running CFS. The observed performance differences are solely the result of scheduling decisions, and do not reflect differences in other subsystems between FreeBSD and Linux. There is no overall winner. On many workloads the two schedulers perform similarly, but for some workloads there are significant and even surprising differences. ULE may cause starvation, even when executing a single application with identical threads, but this starvation may actually lead to better application performance for some workloads. The more complex load balancing mechanism of CFS reacts more quickly to workload changes, but ULE achieves better load balance in the long run.<br>
Operating system kernel schedulers are responsible for maintaining high utilization of hardware resources (CPU cores, memory, I/O devices) while providing fast response time to latency-sensitive applications. They have to react to workload changes, and handle large numbers of cores and threads with minimal overhead [12]. This paper provides a comparison between the default schedulers of two of the most widely deployed open-source operating systems: the Completely Fair Scheduler (CFS) used in Linux, and the ULE scheduler used in FreeBSD. Our goal is not to declare an overall winner.<br>
In fact, we find that for some workloads ULE is better and for others CFS is better. Instead, our goal is to illustrate how differences in the design and the implementation of the two schedulers are reflected in application performance under different workloads. ULE and CFS are both designed to schedule large numbers of threads on large multicore machines. Scalability considerations have led both schedulers to adopt per-core run-queues. On a context switch, a core accesses only its local run-queue to find the next thread to run. Periodically and at select times, e.g., when a thread wakes up, both ULE and CFS perform load balancing, i.e., they try to balance the amount of work waiting in the run-queues of different cores.<br>
ULE and CFS, however, differ greatly in their design and implementation choices. FreeBSD ULE is a simple scheduler (2,950 lines of code in FreeBSD 11.1), while Linux CFS is much more complex (17,900 lines of code in the latest LTS Linux kernel, Linux 4.9). FreeBSD run-queues are FIFO. For load balancing, FreeBSD strives to even out the number of threads per core. In Linux, a core decides which thread to run next based on prior execution time, priority, and perceived cache behavior of the threads in its runqueue. Instead of evening out the number of threads between cores, Linux strives to even out the average amount of pending work.</p>

<p>Performance analysis<br>
We now analyze the impact of the per-core scheduling on the performance of 37 applications. We define “performance” as follows: for database workloads and NAS applications, we compare the number of operations per second, and for the other applications we compare “execution time”. The higher the “performance”, the better a scheduler performs. Figure 5 presents the performance difference between CFS and ULE on a single core, with percentages above 0 meaning that the application executes faster with ULE than CFS.<br>
Overall, the scheduler has little influence on most workloads. Indeed, most applications use threads that all perform the same work, thus both CFS and ULE endup scheduling all of the threads in a round-robin fashion. The average performance difference is 1.5%, in favor of ULE. Still, scimark is 36% slower on ULE than CFS, and apache is 40% faster on ULE than CFS. Scimark is a single-threaded Java application. It launches one compute thread, and the Java runtime executes other Java system threads in the background (for the garbage collector, I/O, etc.).<br>
When the application is executed with ULE, the compute thread can be delayed, because Java system threads are considered interactive and get priority over the computation thread. The apache workload consists of two applications: the main server (httpd) running 100 threads, and ab, a single-threaded load injector.<br>
The performance difference between ULE and CFS is explained by different choices regarding thread preemption. In ULE, full preemption is disabled, while CFS preempts the running thread when the thread that has just been woken up has a vruntime that is much smaller than the vruntime of the currently executing thread (1ms difference in practice). In CFS, ab is preempted 2 million times during the benchmark, while it never preempted with ULE.<br>
This behavior is explained as follows: ab starts by sending 100 requests to the httpd server, and then waits for the server to answer. When ab is woken up, it checks which requests have been processed and sends new requests to the server. Since ab is single-threaded, all requests sent to the server are sent sequentially. In ULE, ab is able to send as many new requests as it has received responses. In CFS, every request sent by ab wakes up a httpd thread, which preempts ab.</p>

<p>Conclusion<br>
Scheduling threads on a multicore machine is hard. In this paper, we perform a fair comparison of the design choices of two widely used schedulers: the ULE scheduler from FreeBSD and CFS from Linux. We show that they behave differently even on simple workloads, and that no scheduler performs better than the other on all workloads.</p>

<h3>OpenBSD 6.3 on Tuxedo InfinityBook</h3>

<p>Disclaimer:<br>
I came across the Tuxedo Computers InfinityBook last year at the Open! Conference where Tuxedo had a small booth. Previously they came to my attention since they’re a member of the OSB Alliance on whose board I’m a member. Furthermore Tuxedo Computers are a sponsor of the OSBAR which I’m part of the organizational team.</p>

<p>OpenBSD on the Tuxedo InfinityBook<br>
I’ve asked the guys over at Tuxedo Computers whether they would be interested to have some tests with *BSD done and that I could test drive one of their machines and give feedback on what works and what does not - and possibly look into it.+</p>

<p>Within a few weeks they shipped me a machine and last week the InfinityBook Pro 14” arrived. Awesome. Thanks already to the folks at Tuxedo Computers. The machine arrived accompanied by lot’s of swag :)</p>

<p>The InfinityBook is a very nice machine and allows a wide range of configuration. The configuration that was shipped to me:</p>

<p>Intel Core i7-8550U<br>
1x 16GB RAM 2400Mhz Crucial Ballistix Sport LT<br>
250 GB Samsung 860 EVO (M.2 SATAIII)</p>

<p>I used a USB-stick to boot install63.fs and re-installed the machine with OpenBSD. Full dmesg.</p>

<p>The installation went flawlessly, the needed intel firmware is being installed after installation automatically via fw_update(1).</p>

<p>Out of the box the graphics works and once installed the machine presents the login.</p>

<p>Video<br>
When X starts the display is turned off for some reason. You will need to hit fn+f12 (the key with the moon on it) then the display will go on. Aside from that little nit, X works just fine and presents one the expected resolution.</p>

<p>External video is working just fine as well. Either via hdmi output or via the mini displayport connector.</p>

<p>The buttons for adjusting brightness (fn+f8 and fn+f9) are not working. Instead one has to use wsconsctl(8) to adjust the brightness.</p>

<p>Networking<br>
The infinityBook has built-in ethernet, driven by re(4) And for the wireless interface the iwm(4) driver is being used. Both work as expected.</p>

<p>ACPI<br>
Neither suspend nor hibernate work. Reporting of battery status is bogus as well. Some of the keyboard function keys work:</p>

<p>LCD on/off works (fn+f2)<br>
Keyboard backlight dimming works (fn+f4)<br>
Volume (fn+f5 / fn+f6) works</p>

<p>Sound<br>
The azalia chipset is being used for audio processing. Works as expected, volume can be controlled via buttons (fn+f5, fn+f6) or via mixerctl.</p>

<p>Touchpad<br>
Can be controlled via wsconsctl(8).<br>
So far I must say, that the InfinityBook makes a nice machine - and I’m enjoying working with it.</p>

<p>iXsystems<br>
iXsystems - Its all NAS</p>

<h3>How ZFS makes things like ‘zfs diff’ report filenames efficiently</h3>

<p>As a copy on write (file)system, ZFS can use the transaction group (txg) numbers that are embedded in ZFS block pointers to efficiently find the differences between two txgs; this is used in, for example, ZFS bookmarks. However, as I noted at the end of my entry on block pointers, this doesn’t give us a filesystem level difference; instead, it essentially gives us a list of inodes (okay, dnodes) that changed.<br>
In theory, turning an inode or dnode number into the path to a file is an expensive operation; you basically have to search the entire filesystem until you find it. In practice, if you’ve ever run ‘zfs diff’, you’ve likely noticed that it runs pretty fast. Nor is this the only place that ZFS quickly turns dnode numbers into full paths, as it comes up in ‘zpool status’ reports about permanent errors. At one level, zfs diff and zpool status do this so rapidly because they ask the ZFS code in the kernel to do it for them. At another level, the question is how the kernel’s ZFS code can be so fast.<br>
The interesting and surprising answer is that ZFS cheats, in a way that makes things very fast when it works and almost always works in normal filesystems and with normal usage patterns. The cheat is that ZFS dnodes record their parent’s object number.<br>
If you’re familiar with the twists and turns of Unix filesystems, you’re now wondering how ZFS deals with hardlinks, which can cause a file to be in several directories at once and so have several parents (and then it can be removed from some of the directories). The answer is that ZFS doesn’t; a dnode only ever tracks a single parent, and ZFS accepts that this parent information can be inaccurate. I’ll quote the comment in zfs_obj_to_pobj:<br>
When a link is removed [the file’s] parent pointer is not changed and will be invalid. There are two cases where a link is removed but the file stays around, when it goes to the delete queue and when there are additional links.<br>
Before I get into the details, I want to say that I appreciate the brute force elegance of this cheat. The practical reality is that most Unix files today don’t have extra hardlinks, and when they do most hardlinks are done in ways that won’t break ZFS’s parent stuff. The result is that ZFS has picked an efficient implementation that works almost all of the time; in my opinion, the great benefit we get from having it around are more than worth the infrequent cases where it fails or malfunctions. Both zfs diff and having filenames show up in zpool status permanent error reports are very useful (and there may be other cases where this gets used).<br>
The current details are that any time you hardlink a file to somewhere or rename it, ZFS updates the file’s parent to point to the new directory. Often this will wind up with a correct parent even after all of the dust settles; for example, a common pattern is to write a file to an initial location, hardlink it to its final destination, and then remove the initial location version. In this case, the parent will be correct and you’ll get the right name.</p>

<h2>News Roundup</h2>

<h3>What is FreeBSD? Why Should You Choose It Over Linux?</h3>

<p>Not too long ago I wondered if and in what situations FreeBSD could be faster than Linux and we received a good amount of informative feedback. So far, Linux rules the desktop space and FreeBSD rules the server space.</p>

<p>In the meantime, though, what exactly is FreeBSD? And at what times should you choose it over a GNU/Linux installation? Let’s tackle these questions.</p>

<p>FreeBSD is a free and open source derivative of BSD (Berkeley Software Distribution) with a focus on speed, stability, security, and consistency, among other features. It has been developed and maintained by a large community ever since its initial release many years ago on November 1, 1993.</p>

<p>BSD is the version of UNIX® that was developed at the University of California in Berkeley. And being a free and open source version, “Free” being a prefix to BSD is a no-brainer.</p>

<p>What’s FreeBSD Good For?</p>

<p>FreeBSD offers a plethora of advanced features and even boasts some not available in some commercial Operating Systems. It makes an excellent Internet and Intranet server thanks to its robust network services that allow it to maximize memory and work with heavy loads to deliver and maintain good response times for thousands of simultaneous user processes.</p>

<p>FreeBSD runs a huge number of applications with ease. At the moment, it has over 32,000 ported applications and libraries with support for desktop, server, and embedded environments. with that being said, let me also add that FreeBSD is excellent for working with advanced embedded platforms. Mail and web appliances, timer servers, routers, MIPS hardware platforms, etc. You name it!</p>

<p>FreeBSD is available to install in several ways and there are directions to follow for any method you want to use; be it via CD-ROM, over a network using NFS or FTP, or DVD.</p>

<p>FreeBSD is easy to contribute to and all you have to do is to locate the section of the FreeBSD code base to modify and carefully do a neat job. Potential contributors are also free to improve on its artwork and documentation, among other project aspects.</p>

<p>FreeBSD is backed by the FreeBSD Foundation, a non-profit organization that you can contribute to financially and all direct contributions are tax deductible.</p>

<p>FreeBSD’s license allows users to incorporate the use of proprietary software which is ideal for companies interested in generating revenues. Netflix, for example, could cite this as one of the reasons for using FreeBSD servers.</p>

<p>Why Should You Choose It over Linux?</p>

<p>From what I’ve gathered about both FreeBSD and Linux, FreeBSD has a better performance on servers than Linux does. Yes, its packaged applications are configured to offer better a performance than Linux and it is usually running fewer services by default, there really isn’t a way to certify which is faster because the answer is dependent on the running hardware and applications and how the system is tuned.</p>

<p>FreeBSD is reportedly more secure than Linux because of the way the whole project is developed and maintained.</p>

<p>Unlike with Linux, the FreeBSD project is controlled by a large community of developers around the world who fall into any of these categories; core team, contributors, and committers.</p>

<p>FreeBSD is much easier to learn and use because there aren’t a thousand and one distros to choose from with different package managers, DEs, etc.</p>

<p>FreeBSD is more convenient to contribute to because it is the entire OS that is preserved and not just the kernel and a repo as is the case with Linux. You can easily access all of its versions since they are sorted by release numbers.</p>

<p>Apart from the many documentations and guides that you can find online, FreeBSD has a single official documentation wherein you can find the solution to virtually any issue you will come across. So, you’re sure to find it resourceful.</p>

<p>FreeBSD has close to no software issues compared to Linux because it has Java, is capable of running Windows programs using Wine, and can run .NET programs using Mono.</p>

<p>FreeBSD’s ports/packages system allows you to compile software with specific configurations, thereby avoiding conflicting dependency and version issues.</p>

<p>Both the FreeBSD and GNU/Linux project are always receiving updates. The platform you decide to go with is largely dependent on what you want to use it for, your technical know-how, willingness to learn new stuff, and ultimately your preference.<br>
What is your take on the topic? For what reasons would you choose FreeBSD over Linux if you would? Let us know what you think about both platforms in the comments section below.</p>

<h3>PS4 5.05 BPF Double Free Kernel Exploit Writeup</h3>

<p>Introduction<br>
Welcome to the 5.0x kernel exploit write-up. A few months ago, a kernel vulnerability was discovered by qwertyoruiopz and an exploit was released for BPF which involved crafting an out-of-bounds (OOB) write via use-after-free (UAF) due to the lack of proper locking. It was a fun bug, and a very trivial exploit. Sony then removed the write functionality from BPF, so that exploit was patched. However, the core issue still remained (being the lack of locking). A very similar race condition still exists in BPF past 4.55, which we will go into detail below on. The full source of the exploit can be found here.<br>
This bug is no longer accessible however past 5.05 firmware, because the BPF driver has finally been blocked from unprivileged processes - WebKit can no longer open it. Sony also introduced a new security mitigation in 5.0x firmwares to prevent the stack pointer from pointing into user space, however we’ll go more in detail on this a bit further down.</p>

<p>Assumptions<br>
Some assumptions are made of the reader’s knowledge for the writeup. The avid reader should have a basic understanding of how memory allocators work - more specifically, how malloc() and free() allocate and deallocate memory respectively. They should also be aware that devices can be issued commands concurrently, as in, one command could be received while another one is being processed via threading. An understanding of C, x86, and exploitation basics is also very helpful, though not necessarily required.</p>

<p>Background<br>
This section contains some helpful information to those newer to exploitation, or are unfamiliar with device drivers, or various exploit techniques such as heap spraying and race conditions. Feel free to skip to the “A Tale of Two Free()'s” section if you’re already familiar with this material.</p>

<p>What Are Drivers?<br>
There are a few ways that applications can directly communicate with the operating system. One of which is system calls, which there are over 600 of in the PS4 kernel, ~500 of which are FreeBSD - the rest are Sony-implemented. Another method is through something called “Device Drivers”. Drivers are typically used to bridge the gap between software and hardware devices (usb drives, keyboard/mouse, webcams, etc) - though they can also be used just for software purposes.<br>
There are a few operations that a userland application can perform on a driver (if it has sufficient permissions) to interface with it after opening it. In some instances, one can read from it, write to it, or in some cases, issue more complex commands to it via the ioctl() system call. The handlers for these commands are implemented in kernel space - this is important, because any bugs that could be exploited in an ioctl handler can be used as a privilege escalation straight to ring0 - typically the most privileged state.<br>
Drivers are often the more weaker points of an operating system for attackers, because sometimes these drivers are written by developers who don’t understand how the kernel works, or the drivers are older and thus not wise to newer attack methods.</p>

<p>The BPF Device Driver<br>
If we take a look around inside of WebKit’s sandbox, we’ll find a /dev directory. While this may seem like the root device driver path, it’s a lie. Many of the drivers that the PS4 has are not exposed to this directory, but rather only ones that are needed for WebKit’s operation (for the most part). For some reason though, BPF (aka. the “Berkely Packet Filter”) device is not only exposed to WebKit’s sandbox - it also has the privileges to open the device as R/W. This is very odd, because on most systems this driver is root-only (and for good reason). If you want to read more into this, refer to my previous write-up with 4.55FW.</p>

<p>What Are Packet Filters?<br>
Below is an excerpt from the 4.55 bpfwrite writeup.<br>
Since the bug is directly in the filter system, it is important to know the basics of what packet filters are. Filters are essentially sets of pseudo-instructions that are parsed by bpf_filter() (which are ran when packets are received). While the pseudo-instruction set is fairly minimal, it allows you to do things like perform basic arithmetic operations and copy values around inside it’s buffer. Breaking down the BPF VM in it’s entirety is far beyond the scope of this write-up, just know that the code produced by it is ran in kernel mode - this is why read/write access to /dev/bpf should be privileged.</p>

<p>Race Conditions<br>
Race conditions occur when two processes/threads try to access a shared resource at the same time without mutual exclusion. The problem was ultimately solved by introducing concepts such as the “mutex” or “lock”. The idea is when one thread/process tries to access a resource, it will first acquire a lock, access it, then unlock it once it’s finished. If another thread/process tries to access it while the other has the lock, it will wait until the other thread is finished. This works fairly well - when it’s used properly.<br>
Locking is hard to get right, especially when you try to implement fine-grained locking for performance. One single instruction or line of code outside the locking window could introduce a race condition. Not all race conditions are exploitable, but some are (such as this one) - and they can give an attacker very powerful bugs to work with.</p>

<p>Heap Spraying<br>
The process of heap spraying is fairly simple - allocate a bunch of memory and fill it with controlled data in a loop and pray your allocation doesn’t get stolen from underneath you. It’s a very useful technique when exploiting something such as a use-after-free(), as you can use it to get controlled data into your target object’s backing memory.<br>
By extension, it’s useful to do this for a double free() as well, because once we have a stale reference, we can use a heap spray to control the data. Since the object will be marked “free” - the allocator will eventually provide us with control over this memory, even though something else is still using it. That is, unless, something else has already stolen the pointer from you and corrupts it - then you’ll likely get a system crash, and that’s no fun. This is one factor that adds to the variance of exploits, and typically, the smaller the object, the more likely this is to happen.</p>

<p>Follow the link to read more of the article<br>
DigitalOcean<br>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">http://do.co/bsdnow</a></p>

<h3>OpenBSD gains Wi-Fi “auto-join”</h3>

<p>In a change which is bound to be welcomed widely, -current has gained “auto-join” for Wi-Fi networks. Peter Hessler (phessler@) has been working on this for quite some time and he wrote about it in his p2k18 hackathon report. He has committed the work from the g2k18 hackathon in Ljubljana:</p>

<p>CVSROOT:    /cvs<br>
Module name:    src<br>
Changes by: <a href="mailto:phessler@cvs.openbsd.org" target="_blank" rel="nofollow noopener">phessler@cvs.openbsd.org</a>    2018/07/11 14:18:09</p>

<p>Modified files:<br>
    sbin/ifconfig  : ifconfig.8 ifconfig.c <br>
    sys/net80211   : ieee80211_ioctl.c ieee80211_ioctl.h <br>
                     ieee80211_node.c ieee80211_node.h <br>
                     ieee80211_var.h </p>

<p>Log message:<br>
Introduce 'auto-join' to the wifi 802.11 stack.</p>

<p>This allows a system to remember which ESSIDs it wants to connect to, any<br>
relevant security configuration, and switch to it when the network we are<br>
currently connected to is no longer available.<br>
Works when connecting and switching between WPA2/WPA1/WEP/clear encryptions.</p>

<p>example hostname.if:<br>
join home wpakey password<br>
join work wpakey mekmitasdigoat<br>
join open-lounge<br>
join cafe wpakey cafe2018<br>
join "wepnetwork" nwkey "12345"<br>
dhcp<br>
inet6 autoconf<br>
up</p>

<p>OK stsp@ reyk@<br>
and enthusiasm from every hackroom I've been in for the last 3 years<br>
The usage should be clear from the commit message, but basically you ‘join’ all the networks you want to auto-join as you would previously use ‘nwid’ to connect to one specific network. Then the kernel will join the network that’s actually in range and do the rest automagically for you. When you move out of range of that network you lose connectivity until you come in range of the original (where things will continue to work as you’ve been used to) or one of the other networks (where you will associate and then get a new lease).</p>

<p>Thanks to Peter for working on this feature - something many a Wi-Fi using OpenBSD user will be able to benefit from.</p>

<h3>FreeBSD Jails the hard way</h3>

<p>There are many great options for managing FreeBSD Jails. iocage, warden and ez-jail aim to streamline the process and make it quick an easy to get going. But sometimes the tools built right into the OS are overlooked.</p>

<p>This post goes over what is involved in creating and managing jails using only the tools built into FreeBSD.</p>

<p>For this guide, I’m going to be putting my jails in /usr/local/jails.</p>

<p>I’ll start with a very simple, isolated jail. Then I’ll go over how to use ZFS snapshots, and lastly nullfs mounts to share the FreeBSD base files with multiple jails.</p>

<p>I’ll also show some examples of how to use the templating power of jail.conf to apply similar settings to all your jails.</p>

<p>Full Jail<br>
Make a directory for the jail, or a zfs dataset if you prefer.<br>
Download the FreeBSD base files, and any other parts of FreeBSD you want. In this example I’ll include the 32 bit libraries as well.<br>
Update your FreeBSD base install.<br>
Verify your download. We’re downloading these archives over FTP after all, we should confirm that this download is valid and not tampered with. The freebsd-update IDS command verifies the installation using a PGP key which is in your base system, which was presumably installed with an ISO that you verified using the FreeBSD signed checksums. Admittedly this step is a bit of paranoia, but I think it’s prudent.<br>
Make sure you jail has the right timezone and dns servers and a hostname in rc.conf.<br>
Edit jail.conf with the details about your jail.<br>
Start and login to your jail.<br>
11 commands and a config file, but this is the most tedious way to make a jail. With a little bit of templating it can be even easier. So I’ll start by making a template. Making a template is basically the same as steps 1, 2 and 3 above, but with a different destination folder, I’ll condense them here.</p>

<p>Creating a template<br>
Create a template or a ZFS dataset. If you’d like to use the zfs clone method of deploying templates, you’ll need to create a zfs dataset instead of a folder.<br>
Update your template with freebsd-update.<br>
Verify your install<br>
And that’s it, now you have a fully up to date jail template. If you’ve made this template with zfs, you can easily deploy it using zfs snapshots.</p>

<p>Deploying a template with ZFS snapshots<br>
Create a snapshot. My last freebsd-update to my template brought it to patch level 17, so I’ll call my snapshot p10.<br>
Clone the snapshot to a new jail.<br>
Configure the jail hostname.<br>
Add the jail definition to jail.conf, make sure you have the global jail settings from jail.conf listed in the fulljail example.<br>
Start the jail.<br>
The downside with the zfs approach is that each jail is now a fully independent, and if you need to update your jails, you have to update them all individually. By sharing a template using nullfs mounts you can have only one copy of the base system that only needs to be updated once.</p>

<p>Follow the link to see the rest of the article about<br>
Thin jails using NullFS mounts<br>
Simplifying jail.conf<br>
Hopefully this has helped you understand the process of how to create and manage FreeBSD jails without tools that abstract away all the details. Those tools are often quite useful, but there is always benefit in learning to do things the hard way. And in this case, the hard way doesn’t seem to be that hard after all.</p>

<h2>Beastie Bits</h2>

<p>Meetup in Zurich #4, July edition (July 19) – Which you likely missed, but now you know to look for the August edition!<br>
The next two BSD-PL User group meetings in Warsaw have been scheduled for July 30th and Aug 9th @ 1830 CEST – Submit your topic proposals now<br>
Linux Geek Books - Humble Bundle<br>
Extend loader(8) geli support to all architectures and all disk-like devices<br>
Upgrading from a bootpool to a single encrypted pool – skip the gptzfsboot part, and manually update your EFI partition with loader.efi<br>
The pkgsrc 2018Q2 for Illumos is available with 18500+ binary packages<br>
NetBSD ARM64 Images Available with SMP for RPi3 / NanoPi / Pine64 Boards<br>
Recently released CDE 2.3.0 running on Tribblix (Illumos)<br>
An Interview With Tech &amp; Science Fiction Author Michael W Lucas<br>
A reminder : MeetBSD CFP<br>
EuroBSDCon talk acceptances have gone out, and once the tutorials are confirmed, registration will open. That will likely have happened by time you see this episode, so go register! See you in Romania<br>
Tarsnap</p>

<h2>Feedback/Questions</h2>

<p>Wilyarti - Adblocked on FreeBSD Continued…<br>
Andrew - A Question and a Story<br>
Matthew - Thanks<br>
Brian - PCI-E Controller<br>
Send questions, comments, show ideas/topics, or stories you want mentioned on the show to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></p>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 255: What Are You Pointing At | BSD Now 255</title>
  <link>https://www.bsdnow.tv/255</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2267</guid>
  <pubDate>Wed, 18 Jul 2018 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ca9b19c1-e202-45d6-ac45-d0048a734c45.mp3" length="48457846" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>What ZFS blockpointers are, zero-day rewards offered, KDE on FreeBSD status, new FreeBSD core team, NetBSD WiFi refresh, poor man’s CI, and the power of Ctrl+T.</itunes:subtitle>
  <itunes:duration>1:20:27</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>&lt;p&gt;What ZFS blockpointers are, zero-day rewards offered, KDE on FreeBSD status, new FreeBSD core team, NetBSD WiFi refresh, poor man’s CI, and the power of Ctrl+T.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSBlockPointers" target="_blank" rel="nofollow noopener"&gt;What ZFS block pointers are and what’s in them&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve mentioned ZFS block pointers in the past; for example, when I wrote about some details of ZFS DVAs, I said that DVAs are embedded in block pointers. But I’ve never really looked carefully at what is in block pointers and what that means and implies for ZFS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The very simple way to describe a ZFS block pointer is that it’s what ZFS uses in places where other filesystems would simply put a block number. Just like block numbers but unlike things like ZFS dnodes, a block pointer isn’t a separate on-disk entity; instead it’s an on disk data format and an in memory structure that shows up in other things. To quote from the (draft and old) ZFS on-disk specification (PDF):&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;A block pointer (blkptr_t) is a 128 byte ZFS structure used to physically locate, verify, and describe blocks of data on disk.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Block pointers are embedded in any ZFS on disk structure that points directly to other disk blocks, both for data and metadata. For instance, the dnode for a file contains block pointers that refer to either its data blocks (if it’s small enough) or indirect blocks, as I saw in this entry. However, as I discovered when I paid attention, most things in ZFS only point to dnodes indirectly, by giving their object number (either in a ZFS filesystem or in pool-wide metadata).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;So what’s in a block pointer itself? You can find the technical details for modern ZFS in spa.h, so I’m going to give a sort of summary. A regular block pointer contains:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;various metadata and flags about what the block pointer is for and what parts of it mean, including what type of object it points to.&lt;/li&gt;
&lt;li&gt;Up to three DVAs that say where to actually find the data on disk. There can be more than one DVA because you may have set the copies property to 2 or 3, or this may be metadata (which normally has two copies and may have more for sufficiently important metadata).&lt;/li&gt;
&lt;li&gt;The logical size (size before compression) and ‘physical’ size (the nominal size after compression) of the disk block. The physical size can do odd things and is not necessarily the asize (allocated size) for the DVA(s).&lt;/li&gt;
&lt;li&gt;The txgs that the block was born in, both logically and physically (the physical txg is apparently for dva[0]). The physical txg was added with ZFS deduplication but apparently also shows up in vdev removal.&lt;/li&gt;
&lt;li&gt;The checksum of the data the block pointer describes. This checksum implicitly covers the entire logical size of the data, and as a result you must read all of the data in order to verify it. This can be an issue on raidz vdevs or if the block had to use gang blocks.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Just like basically everything else in ZFS, block pointers don’t have an explicit checksum of their contents. Instead they’re implicitly covered by the checksum of whatever they’re embedded in; the block pointers in a dnode are covered by the overall checksum of the dnode, for example. Block pointers must include a checksum for the data they point to because such data is ‘out of line’ for the containing object.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;(The block pointers in a dnode don’t necessarily point straight to data. If there’s more than a bit of data in whatever the dnode covers, the dnode’s block pointers will instead point to some level of indirect block, which itself has some number of block pointers.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;There is a special type of block pointer called an embedded block pointer. Embedded block pointers directly contain up to 112 bytes of data; apart from the data, they contain only the metadata fields and a logical birth txg. As with conventional block pointers, this data is implicitly covered by the checksum of the containing object.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Since block pointers directly contain the address of things on disk (in the form of DVAs), they have to change any time that address changes, which means any time ZFS does its copy on write thing. This forces a change in whatever contains the block pointer, which in turn ripples up to another block pointer (whatever points to said containing thing), and so on until we eventually reach the Meta Object Set and the uberblock. How this works is a bit complicated, but ZFS is designed to generally make this a relatively shallow change with not many levels of things involved (as I discovered recently).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;As far as I understand things, the logical birth txg of a block pointer is the transaction group in which the block pointer was allocated. Because of ZFS’s copy on write principle, this means that nothing underneath the block pointer has been updated or changed since that txg; if something changed, it would have been written to a new place on disk, which would have forced a change in at least one DVA and thus a ripple of updates that would update the logical birth txg.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;However, this doesn’t quite mean what I used to think it meant because of ZFS’s level of indirection. If you change a file by writing data to it, you will change some of the file’s block pointers, updating their logical birth txg, and you will change the file’s dnode. However, you won’t change any block pointers and thus any logical birth txgs for the filesystem directory the file is in (or anything else up the directory tree), because the directory refers to the file through its object number, not by directly pointing to its dnode. You can still use logical birth txgs to efficiently find changes from one txg to another, but you won’t necessarily get a filesystem level view of these changes; instead, as far as I can see, you will basically get a view of what object(s) in a filesystem changed (effectively, what inode numbers changed).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;(ZFS has an interesting hack to make things like ‘zfs diff’ work far more efficiently than you would expect in light of this, but that’s going to take yet another entry to cover.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.bleepingcomputer.com/news/security/rewards-of-up-to-500-000-offered-for-freebsd-openbsd-netbsd-linux-zero-days/" target="_blank" rel="nofollow noopener"&gt;Rewards of Up to $500,000 Offered for FreeBSD, OpenBSD, NetBSD, Linux Zero-Days&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Exploit broker Zerodium is offering rewards of up to $500,000 for zero-days in UNIX-based operating systems like OpenBSD, FreeBSD, NetBSD, but also for Linux distros such as Ubuntu, CentOS, Debian, and Tails.&lt;br&gt;
The offer, first advertised via Twitter earlier this week, is available as part of the company’s latest zero-day acquisition drive. Zerodium is known for buying zero-days and selling them to government agencies and law enforcement.&lt;br&gt;
The company runs a regular zero-day acquisition program through its website, but it often holds special drives with more substantial rewards when it needs zero-days of a specific category.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;BSD zero-day rewards will be on par with Linux payouts&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The US-based company held a previous drive with increased rewards for Linux zero-days in February, with rewards going as high as $45,000.&lt;br&gt;
In another zero-day acquisition drive announced on Twitter this week, the company said it was looking again for Linux zero-days, but also for exploits targeting BSD systems. This time around, rewards can go up to $500,000, for the right exploit.&lt;br&gt;
Zerodium told Bleeping Computer they’ll be aligning the temporary rewards for BSD systems with their usual payouts for Linux distros.&lt;br&gt;
The company’s usual payouts for Linux privilege escalation exploits can range from $10,000 to $30,000. Local privilege escalation (LPE) rewards can even reach $100,000 for “an exploit with an exceptional quality and coverage,” such as, for example, a Linux kernel exploit affecting all major distributions.&lt;br&gt;
Payouts for Linux remote code execution (RCE) exploits can bring in from $50,000 to $500,000 depending on the targeted software/service and its market share. The highest rewards are usually awarded for LPEs and RCEs affecting CentOS and Ubuntu distros.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Zero-day price varies based on exploitation chain&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The acquisition price of a submitted zero-day is directly tied to its requirements in terms of user interaction (no click, one click, two clicks, etc.), Zerodium said.&lt;br&gt;
Other factors include the exploit reliability, its success rate, the number of vulnerabilities chained together for the final exploit to work (more chained bugs means more chances for the exploit to break unexpectedly), and the OS configuration needed for the exploit to work (exploits are valued more if they work against default OS configs).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Zero-days in servers “can reach exceptional amounts”&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;“Price difference between systems is mostly driven by market shares,” Zerodium founder Chaouki Bekrar told Bleeping Computer via email.&lt;br&gt;
Asked about the logic behind these acquisition drives that pay increased rewards, Bekrar told Bleeping Computer the following:&lt;br&gt;
"Our aim is to always have, at any time, two or more fully functional exploits for every major software, hardware, or operating systems, meaning that from time to time we would promote a specific software/system on our social media to acquire new codes and strengthen our existing capabilities or extend them.”&lt;br&gt;
“We may also react to customers’ requests and their operational needs,” Bekrar said.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It’s becoming a crowded market&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Since Zerodium drew everyone’s attention to the exploit brokerage market in 2015, the market has gotten more and more crowded, but also more sleazy, with some companies being accused of selling zero-days to government agencies in countries with oppressive or dictatorial regimes, where they are often used against political oponents, journalists, and dissidents, instead of going after real criminals.&lt;br&gt;
The latest company who broke into the zero-day brokerage market is Crowdfense, who recently launched an acquisition program with prizes of $10 million, of which it already paid $4.5 million to researchers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://twitter.com/Zerodium/status/1012007051466162177" target="_blank" rel="nofollow noopener"&gt;Twitter Announcement&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Digital Ocean&lt;/strong&gt;&lt;br&gt;
&lt;a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener"&gt;http://do.co/bsdnow&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://euroquis.nl/bobulate/?p=1915" target="_blank" rel="nofollow noopener"&gt;KDE on FreeBSD – June 2018&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The KDE-FreeBSD team (a half-dozen hardy individuals, with varying backgrounds and varying degrees of involvement depending on how employment is doing) has a status message in the #kde-freebsd channel on freenode. Right now it looks like this:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;http://FreeBSD.kde.org | Bleeding edge 
http://FreeBSD.kde.org/area51.php | Released: Qt 5.10.1, KDE SC 4.14.3, KF5 5.46.0, Applications 18.04.1, Plasma-5.12.5, Kdevelop-5.2.1, Digikam-5.9.0
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s been a while since I wrote about KDE on FreeBSD, what with Calamares and third-party software happening as well. We’re better at keeping the IRC topic up-to-date than a lot of other sources of information (e.g. the FreeBSD quarterly reports, or the f.k.o website, which I’ll just dash off and update after writing this).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In no particular order:&lt;/li&gt;
&lt;li&gt;Qt 5.10 is here, in a FrankenEngine incarnation: we still use WebEnging from Qt 5.9 because — like I’ve said before — WebEngine is such a gigantic pain in the butt to update with all the necessary patches to get it to compile.&lt;/li&gt;
&lt;li&gt;Our collection of downstream patches to Qt 5.10 is growing, slowly. None of them are upstreamable (e.g. libressl support) though.&lt;/li&gt;
&lt;li&gt;KDE Frameworks releases are generally pushed to ports within a week or two of release. Actually, now that there is a bigger stack of KDE software in FreeBSD ports the updates take longer because we have to do exp-runs.&lt;/li&gt;
&lt;li&gt;Similarly, Applications and Plasma releases are reasonably up-to-date. We dodged a bullet by not jumping on Plasma 5.13 right away, I see. Tobias is the person doing almost all of the drudge-work of these updates, he deserves a pint of something in Vienna this summer.&lt;/li&gt;
&lt;li&gt;The &lt;a href="http://freebsd.kde.org" target="_blank" rel="nofollow noopener"&gt;freebsd.kde.org&lt;/a&gt; website has been slightly updated; it was terribly out-of-date.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;So we’re mostly-up-to-date, and mostly all packaged up and ready to go. Much of my day is spent in VMs packaged by other people, but it’s good to have a full KDE developer environment outside of them as well. (PS. Gotta hand it to Tomasz for &lt;a href="https://www.angrycane.com.br/wp-content/uploads/2018/06/download_flamingo_and_display.txt" target="_blank" rel="nofollow noopener"&gt;the amazing application for downloading and displaying a flamingo&lt;/a&gt; … niche usecases FTW)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://lists.freebsd.org/pipermail/freebsd-announce/2018-July/001836.html" target="_blank" rel="nofollow noopener"&gt;New FreeBSD Core Team Elected&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Active committers to the project have elected your tenth FreeBSD Core&lt;br&gt;
Team.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Allan Jude (allanjude)&lt;/li&gt;
&lt;li&gt;Benedict Reuschling (bcr)&lt;/li&gt;
&lt;li&gt;Brooks Davis (brooks)&lt;/li&gt;
&lt;li&gt;Hiroki Sato (hrs)&lt;/li&gt;
&lt;li&gt;Jeff Roberson (jeff)&lt;/li&gt;
&lt;li&gt;John Baldwin (jhb)&lt;/li&gt;
&lt;li&gt;Kris Moore (kmoore)&lt;/li&gt;
&lt;li&gt;Sean Chittenden (seanc)&lt;/li&gt;
&lt;li&gt;Warner Losh (imp)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Let’s extend our gratitude to the outgoing Core Team members:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Baptiste Daroussin (bapt)&lt;/li&gt;
&lt;li&gt;Benno Rice (benno)&lt;/li&gt;
&lt;li&gt;Ed Maste (emaste)&lt;/li&gt;
&lt;li&gt;George V. Neville-Neil (gnn)&lt;/li&gt;
&lt;li&gt;Matthew Seaman (matthew)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Matthew, after having served as the Core Team Secretary for the past&lt;br&gt;
four years, will be stepping down from that role.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The Core Team would also like to thank Dag-Erling Smørgrav for running a&lt;br&gt;
flawless election.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;To read about the responsibilities of the Core Team, refer to &lt;a href="https://www.freebsd.org/administration.html#t-core" target="_blank" rel="nofollow noopener"&gt;https://www.freebsd.org/administration.html#t-core&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://mail-index.netbsd.org/tech-net/2018/06/26/msg006943.html" target="_blank" rel="nofollow noopener"&gt;NetBSD WiFi refresh&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The NetBSD Foundation is pleased to announce a summer 2018 contract with Philip Nelson (phil%&lt;a href="http://NetBSD.org" target="_blank" rel="nofollow noopener"&gt;NetBSD.org&lt;/a&gt;@localhost) to update the IEEE 802.11 stack basing the update on the FreeBSD current code.  The goals of the project are:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Minimizing the differences between the FreeBSD and NetBSD IEEE 802.11 stack so future updates are easier.&lt;/li&gt;
&lt;li&gt;Adding support for the newer protocols 801.11/N and 802.11/AC.&lt;/li&gt;
&lt;li&gt;Improving SMP support in the IEEE 802.11 stack.&lt;/li&gt;
&lt;li&gt;Adding Virtual Access Point (VAP) support.&lt;/li&gt;
&lt;li&gt;Updating as many NIC drivers as time permits for the updated IEEE 802.11 stack and VAP changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Status reports will be posted to tech-net%&lt;a href="http://NetBSD.org" target="_blank" rel="nofollow noopener"&gt;NetBSD.org&lt;/a&gt;@localhost every other week&lt;br&gt;
while the contract is active.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://github.com/billziss-gh/pmci" target="_blank" rel="nofollow noopener"&gt;Poor Man’s CI - Hosted CI for BSD with shell scripting and duct tape&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Poor Man’s CI (PMCI - Poor Man’s Continuous Integration) is a collection of scripts that taken together work as a simple CI solution that runs on Google Cloud. While there are many advanced hosted CI systems today, and many of them are free for open source projects, none of them seem to offer a solution for the BSD operating systems (FreeBSD, NetBSD, OpenBSD, etc.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The architecture of Poor Man’s CI is system agnostic. However in the implementation provided in this repository the only supported systems are FreeBSD and NetBSD. Support for additional systems is possible.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Poor Man’s CI runs on the Google Cloud. It is possible to set it up so that the service fits within the Google Cloud “Always Free” limits. In doing so the provided CI is not only hosted, but is also free! (Disclaimer: I am not affiliated with Google and do not otherwise endorse their products.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;ARCHITECTURE&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A CI solution listens for “commit” (or more usually “push”) events, builds the associated repository at the appropriate place in its history and reports the results. Poor Man’s CI implements this very basic CI scenario using a simple architecture, which we present in this section.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Poor Man’s CI consists of the following components and their interactions:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Controller: Controls the overall process of accepting GitHub push events and starting builds. The Controller runs in the Cloud Functions environment and is implemented by the files in the controller source directory. It consists of the following components:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Listener: Listens for GitHub push events and posts them as work messages to the workq PubSub.&lt;/li&gt;
&lt;li&gt;Dispatcher: Receives work messages from the workq PubSub and a free instance name from the Builder Pool. It instantiates a builder instance named name in the Compute Engine environment and passes it the link of a repository to build.&lt;/li&gt;
&lt;li&gt;Collector: Receives done messages from the doneq PubSub and posts the freed instance name back to the Builder Pool.&lt;/li&gt;
&lt;/ul&gt;

&lt;/li&gt;&lt;br&gt;
&lt;li&gt;

&lt;p&gt;PubSub Topics:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;workq: Transports work messages that contain the link of the repository to build.&lt;/li&gt;
&lt;li&gt;poolq: Implements the Builder Pool, which contains the name’s of available builder instances. To acquire a builder name, pull a message from the poolq. To release a builder name, post it back into the poolq.&lt;/li&gt;
&lt;li&gt;doneq: Transports done messages (builder instance terminate and delete events). These message contain the name of freed builder instances.&lt;/li&gt;
&lt;/ul&gt;

&lt;/li&gt;&lt;br&gt;
&lt;li&gt;

&lt;p&gt;builder: A builder is a Compute Engine instance that performs a build of a repository and shuts down when the build is complete. A builder is instantiated from a VM image and a startx (startup-exit) script.&lt;/p&gt;

&lt;/li&gt;&lt;br&gt;
&lt;li&gt;

&lt;p&gt;Build Logs: A Storage bucket that contains the logs of builds performed by builder instances.&lt;/p&gt;

&lt;/li&gt;&lt;br&gt;
&lt;li&gt;

&lt;p&gt;Logging Sink: A Logging Sink captures builder instance terminate and delete events and posts them into the doneq.&lt;/p&gt;

&lt;/li&gt;&lt;br&gt;
&lt;li&gt;

&lt;p&gt;BUGS&lt;/p&gt;

&lt;/li&gt;&lt;br&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The Builder Pool is currently implemented as a PubSub; messages in the PubSub contain the names of available builder instances. Unfortunately a PubSub retains its messages for a maximum of 7 days. It is therefore possible that messages will be discarded and that your PMCI deployment will suddenly find itself out of builder instances. If this happens you can reseed the Builder Pool by running the commands below. However this is a serious BUG that should be fixed. For a related discussion see &lt;a href="https://tinyurl.com/ybkycuub" target="_blank" rel="nofollow noopener"&gt;https://tinyurl.com/ybkycuub&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;$ ./pmci queue_post poolq builder0&lt;/code&gt;&lt;br&gt;
&lt;code&gt;# ./pmci queue_post poolq builder1&lt;/code&gt;&lt;br&gt;
&lt;code&gt;# ... repeat for as many builders as you want&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The Dispatcher is implemented as a Retry Background Cloud Function. It accepts work messages from the workq and attempts to pull a free name from the poolq. If that fails it returns an error, which instructs the infrastructure to retry. Because the infrastructure does not provide any retry controls, this currently happens immediately and the Dispatcher spins unproductively. This is currently mitigated by a “sleep” (setTimeout), but the Cloud Functions system still counts the Function as running and charges it accordingly. While this fits within the “Always Free” limits, it is something that should eventually be fixed (perhaps by the PubSub team). For a related discussion see &lt;a href="https://tinyurl.com/yb2vbwfd" target="_blank" rel="nofollow noopener"&gt;https://tinyurl.com/yb2vbwfd&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://blog.danielisz.org/2018/06/21/the-power-of-ctrlt/" target="_blank" rel="nofollow noopener"&gt;The Power of Ctrl-T&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Did you know that you can check what a process is doing by pressing CTRL+T?&lt;br&gt;
Has it happened to you before that you were waiting for something to be finished that can take a lot of time, but there is no easy way to check the status. Like a dd, cp, mv and many others. All you have to do is press CTRL+T where the process is running.  This will output what’s happening and will not interrupt or mess with it in any way. This causes the operating system to output the SIGINFO signal.&lt;br&gt;
On FreeBSD it looks like this:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;ping pingtest.com
PING pingtest.com (5.22.149.135): 56 data bytes
64 bytes from 5.22.149.135: icmp_seq=0 ttl=51 time=86.232 ms
64 bytes from 5.22.149.135: icmp_seq=1 ttl=51 time=85.477 ms
64 bytes from 5.22.149.135: icmp_seq=2 ttl=51 time=85.493 ms
64 bytes from 5.22.149.135: icmp_seq=3 ttl=51 time=85.211 ms
64 bytes from 5.22.149.135: icmp_seq=4 ttl=51 time=86.002 ms
load: 1.12 cmd: ping 94371 [select] 4.70r 0.00u 0.00s 0% 2500k
5/5 packets received (100.0%) 85.211 min / 85.683 avg / 86.232 max
64 bytes from 5.22.149.135: icmp_seq=5 ttl=51 time=85.725 ms
64 bytes from 5.22.149.135: icmp_seq=6 ttl=51 time=85.510 ms
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;As you can see it not only outputs the name of the running command but the following parameters as well:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;94371 – PID
4.70r – since when is the process running
0.00u – user time
0.00s – system time
0% – CPU usage
2500k – resident set size of the process or RSS
``

&amp;gt; An even better example is with the following cp command:

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;cp FreeBSD-11.1-RELEASE-amd64-dvd1.iso /dev/null&lt;br&gt;
load: 0.99 cmd: cp 94412 [runnable] 1.61r 0.00u 0.39s 3% 3100k&lt;br&gt;
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&amp;gt; /dev/null 15%&lt;br&gt;
load: 0.91 cmd: cp 94412 [runnable] 2.91r 0.00u 0.80s 6% 3104k&lt;br&gt;
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&amp;gt; /dev/null 32%&lt;br&gt;
load: 0.91 cmd: cp 94412 [runnable] 4.20r 0.00u 1.23s 9% 3104k&lt;br&gt;
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&amp;gt; /dev/null 49%&lt;br&gt;
load: 0.91 cmd: cp 94412 [runnable] 5.43r 0.00u 1.64s 11% 3104k&lt;br&gt;
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&amp;gt; /dev/null 64%&lt;br&gt;
load: 1.07 cmd: cp 94412 [runnable] 6.65r 0.00u 2.05s 13% 3104k&lt;br&gt;
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&amp;gt; /dev/null 79%&lt;br&gt;
load: 1.07 cmd: cp 94412 [runnable] 7.87r 0.00u 2.43s 15% 3104k&lt;br&gt;
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&amp;gt; /dev/null 95%&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
&amp;gt; I prcessed CTRL+T six times.  Without that, all the output would have been is the first line.

&amp;gt; Another example how the process is changing states:

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;wget &lt;a href="https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-dvd1.iso" target="_blank" rel="nofollow noopener"&gt;https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-dvd1.iso&lt;/a&gt;&lt;br&gt;
–2018-06-17 18:47:48– &lt;a href="https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-dvd1.iso" target="_blank" rel="nofollow noopener"&gt;https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-dvd1.iso&lt;/a&gt;&lt;br&gt;
Resolving &lt;a href="http://download.freebsd.org" target="_blank" rel="nofollow noopener"&gt;download.freebsd.org&lt;/a&gt; (&lt;a href="http://download.freebsd.org" target="_blank" rel="nofollow noopener"&gt;download.freebsd.org&lt;/a&gt;)… 96.47.72.72, 2610:1c1:1:606c::15:0&lt;br&gt;
Connecting to &lt;a href="http://download.freebsd.org" target="_blank" rel="nofollow noopener"&gt;download.freebsd.org&lt;/a&gt; (&lt;a href="http://download.freebsd.org" target="_blank" rel="nofollow noopener"&gt;download.freebsd.org&lt;/a&gt;)|96.47.72.72|:443… connected.&lt;br&gt;
HTTP request sent, awaiting response… 200 OK&lt;br&gt;
Length: 3348465664 (3.1G) [application/octet-stream]&lt;br&gt;
Saving to: ‘FreeBSD-11.1-RELEASE-amd64-dvd1.iso’&lt;/p&gt;

&lt;p&gt;FreeBSD-11.1-RELEASE-amd64-dvd1.iso 1%[&amp;gt; ] 41.04M 527KB/s eta 26m 49sload: 4.95 cmd: wget 10152 waiting 0.48u 0.72s&lt;br&gt;
FreeBSD-11.1-RELEASE-amd64-dvd1.iso 1%[&amp;gt; ] 49.41M 659KB/s eta 25m 29sload: 12.64 cmd: wget 10152 waiting 0.55u 0.85s&lt;br&gt;
FreeBSD-11.1-RELEASE-amd64-dvd1.iso 2%[=&amp;gt; ] 75.58M 6.31MB/s eta 20m 6s load: 11.71 cmd: wget 10152 running 0.73u 1.19s&lt;br&gt;
FreeBSD-11.1-RELEASE-amd64-dvd1.iso 2%[=&amp;gt; ] 85.63M 6.83MB/s eta 18m 58sload: 11.71 cmd: wget 10152 waiting 0.80u 1.32s&lt;br&gt;
FreeBSD-11.1-RELEASE-amd64-dvd1.iso 14%[==============&amp;gt; ] 460.23M 7.01MB/s eta 9m 0s 1&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
&amp;gt; The bad news is that CTRl+T doesn’t work with Linux kernel, but you can use it on MacOS/OS-X:

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;—&amp;gt; Fetching distfiles for gmp&lt;br&gt;
—&amp;gt; Attempting to fetch gmp-6.1.2.tar.bz2 from &lt;a href="https://distfiles.macports.org/gmp" target="_blank" rel="nofollow noopener"&gt;https://distfiles.macports.org/gmp&lt;/a&gt;&lt;br&gt;
—&amp;gt; Verifying checksums for gmp&lt;br&gt;
—&amp;gt; Extracting gmp&lt;br&gt;
—&amp;gt; Applying patches to gmp&lt;br&gt;
—&amp;gt; Configuring gmp&lt;br&gt;
load: 2.81 cmd: clang 74287 running 0.31u 0.28s&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
&amp;gt; PS: If I recall correctly Feld showed me CTRL+T, thank you!

***


##Beastie Bits
+ [Half billion tries for a HAMMER2 bug](http://lists.dragonflybsd.org/pipermail/commits/2018-May/672263.html)
+ OpenBSD with various Desktops
 + [OpenBSD 6.3 running twm window manager](https://youtu.be/v6XeC5wU2s4)
 + [OpenBSD 6.3 jwm and rox desktop](https://youtu.be/jlSK2oi7CBc)
 + [OpenBSD 6.3 cwm youtube video](https://youtu.be/mgqNyrP2CPs)
+ [pf: Increase default state table size](https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=336221)
***

**Tarsnap**

##Feedback/Questions
+ Ben Sims - [Full feed?](http://dpaste.com/3XVH91T#wrap)
+ Scott - [Questions and Comments](http://dpaste.com/08P34YN#wrap)
+ Troels - [Features of FreeBSD 11.2 that deserve a mention](http://dpaste.com/3DDPEC2#wrap)
+ [Fred - Show Ideas](http://dpaste.com/296ZA0P#wrap)
***

- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [feedback@bsdnow.tv](mailto:feedback@bsdnow.tv)
***

***

iXsystems [It's all NAS](https://www.ixsystems.com/blog/its-all-nas/)
&lt;/code&gt;&lt;/pre&gt; 
</description>
  <itunes:keywords>freebsd,openbsd,netbsd,dragonflybsd,trueos,trident,hardenedbsd,tutorial,howto,guide,bsd,interview,kde,zfs</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>What ZFS blockpointers are, zero-day rewards offered, KDE on FreeBSD status, new FreeBSD core team, NetBSD WiFi refresh, poor man’s CI, and the power of Ctrl+T.</p>

<p>##Headlines<br>
###<a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSBlockPointers" target="_blank" rel="nofollow noopener">What ZFS block pointers are and what’s in them</a></p>

<blockquote>
<p>I’ve mentioned ZFS block pointers in the past; for example, when I wrote about some details of ZFS DVAs, I said that DVAs are embedded in block pointers. But I’ve never really looked carefully at what is in block pointers and what that means and implies for ZFS.</p>
</blockquote>

<blockquote>
<p>The very simple way to describe a ZFS block pointer is that it’s what ZFS uses in places where other filesystems would simply put a block number. Just like block numbers but unlike things like ZFS dnodes, a block pointer isn’t a separate on-disk entity; instead it’s an on disk data format and an in memory structure that shows up in other things. To quote from the (draft and old) ZFS on-disk specification (PDF):</p>
</blockquote>

<blockquote>
<p>A block pointer (blkptr_t) is a 128 byte ZFS structure used to physically locate, verify, and describe blocks of data on disk.</p>
</blockquote>

<blockquote>
<p>Block pointers are embedded in any ZFS on disk structure that points directly to other disk blocks, both for data and metadata. For instance, the dnode for a file contains block pointers that refer to either its data blocks (if it’s small enough) or indirect blocks, as I saw in this entry. However, as I discovered when I paid attention, most things in ZFS only point to dnodes indirectly, by giving their object number (either in a ZFS filesystem or in pool-wide metadata).</p>
</blockquote>

<blockquote>
<p>So what’s in a block pointer itself? You can find the technical details for modern ZFS in spa.h, so I’m going to give a sort of summary. A regular block pointer contains:</p>
</blockquote>

<ul>
<li>various metadata and flags about what the block pointer is for and what parts of it mean, including what type of object it points to.</li>
<li>Up to three DVAs that say where to actually find the data on disk. There can be more than one DVA because you may have set the copies property to 2 or 3, or this may be metadata (which normally has two copies and may have more for sufficiently important metadata).</li>
<li>The logical size (size before compression) and ‘physical’ size (the nominal size after compression) of the disk block. The physical size can do odd things and is not necessarily the asize (allocated size) for the DVA(s).</li>
<li>The txgs that the block was born in, both logically and physically (the physical txg is apparently for dva[0]). The physical txg was added with ZFS deduplication but apparently also shows up in vdev removal.</li>
<li>The checksum of the data the block pointer describes. This checksum implicitly covers the entire logical size of the data, and as a result you must read all of the data in order to verify it. This can be an issue on raidz vdevs or if the block had to use gang blocks.</li>
</ul>

<blockquote>
<p>Just like basically everything else in ZFS, block pointers don’t have an explicit checksum of their contents. Instead they’re implicitly covered by the checksum of whatever they’re embedded in; the block pointers in a dnode are covered by the overall checksum of the dnode, for example. Block pointers must include a checksum for the data they point to because such data is ‘out of line’ for the containing object.</p>
</blockquote>

<blockquote>
<p>(The block pointers in a dnode don’t necessarily point straight to data. If there’s more than a bit of data in whatever the dnode covers, the dnode’s block pointers will instead point to some level of indirect block, which itself has some number of block pointers.)</p>
</blockquote>

<blockquote>
<p>There is a special type of block pointer called an embedded block pointer. Embedded block pointers directly contain up to 112 bytes of data; apart from the data, they contain only the metadata fields and a logical birth txg. As with conventional block pointers, this data is implicitly covered by the checksum of the containing object.</p>
</blockquote>

<blockquote>
<p>Since block pointers directly contain the address of things on disk (in the form of DVAs), they have to change any time that address changes, which means any time ZFS does its copy on write thing. This forces a change in whatever contains the block pointer, which in turn ripples up to another block pointer (whatever points to said containing thing), and so on until we eventually reach the Meta Object Set and the uberblock. How this works is a bit complicated, but ZFS is designed to generally make this a relatively shallow change with not many levels of things involved (as I discovered recently).</p>
</blockquote>

<blockquote>
<p>As far as I understand things, the logical birth txg of a block pointer is the transaction group in which the block pointer was allocated. Because of ZFS’s copy on write principle, this means that nothing underneath the block pointer has been updated or changed since that txg; if something changed, it would have been written to a new place on disk, which would have forced a change in at least one DVA and thus a ripple of updates that would update the logical birth txg.</p>
</blockquote>

<blockquote>
<p>However, this doesn’t quite mean what I used to think it meant because of ZFS’s level of indirection. If you change a file by writing data to it, you will change some of the file’s block pointers, updating their logical birth txg, and you will change the file’s dnode. However, you won’t change any block pointers and thus any logical birth txgs for the filesystem directory the file is in (or anything else up the directory tree), because the directory refers to the file through its object number, not by directly pointing to its dnode. You can still use logical birth txgs to efficiently find changes from one txg to another, but you won’t necessarily get a filesystem level view of these changes; instead, as far as I can see, you will basically get a view of what object(s) in a filesystem changed (effectively, what inode numbers changed).</p>
</blockquote>

<blockquote>
<p>(ZFS has an interesting hack to make things like ‘zfs diff’ work far more efficiently than you would expect in light of this, but that’s going to take yet another entry to cover.)</p>
</blockquote>

<hr>

<p>###<a href="https://www.bleepingcomputer.com/news/security/rewards-of-up-to-500-000-offered-for-freebsd-openbsd-netbsd-linux-zero-days/" target="_blank" rel="nofollow noopener">Rewards of Up to $500,000 Offered for FreeBSD, OpenBSD, NetBSD, Linux Zero-Days</a></p>

<blockquote>
<p>Exploit broker Zerodium is offering rewards of up to $500,000 for zero-days in UNIX-based operating systems like OpenBSD, FreeBSD, NetBSD, but also for Linux distros such as Ubuntu, CentOS, Debian, and Tails.<br>
The offer, first advertised via Twitter earlier this week, is available as part of the company’s latest zero-day acquisition drive. Zerodium is known for buying zero-days and selling them to government agencies and law enforcement.<br>
The company runs a regular zero-day acquisition program through its website, but it often holds special drives with more substantial rewards when it needs zero-days of a specific category.</p>
</blockquote>

<ul>
<li>BSD zero-day rewards will be on par with Linux payouts</li>
</ul>

<blockquote>
<p>The US-based company held a previous drive with increased rewards for Linux zero-days in February, with rewards going as high as $45,000.<br>
In another zero-day acquisition drive announced on Twitter this week, the company said it was looking again for Linux zero-days, but also for exploits targeting BSD systems. This time around, rewards can go up to $500,000, for the right exploit.<br>
Zerodium told Bleeping Computer they’ll be aligning the temporary rewards for BSD systems with their usual payouts for Linux distros.<br>
The company’s usual payouts for Linux privilege escalation exploits can range from $10,000 to $30,000. Local privilege escalation (LPE) rewards can even reach $100,000 for “an exploit with an exceptional quality and coverage,” such as, for example, a Linux kernel exploit affecting all major distributions.<br>
Payouts for Linux remote code execution (RCE) exploits can bring in from $50,000 to $500,000 depending on the targeted software/service and its market share. The highest rewards are usually awarded for LPEs and RCEs affecting CentOS and Ubuntu distros.</p>
</blockquote>

<ul>
<li>Zero-day price varies based on exploitation chain</li>
</ul>

<blockquote>
<p>The acquisition price of a submitted zero-day is directly tied to its requirements in terms of user interaction (no click, one click, two clicks, etc.), Zerodium said.<br>
Other factors include the exploit reliability, its success rate, the number of vulnerabilities chained together for the final exploit to work (more chained bugs means more chances for the exploit to break unexpectedly), and the OS configuration needed for the exploit to work (exploits are valued more if they work against default OS configs).</p>
</blockquote>

<ul>
<li>Zero-days in servers “can reach exceptional amounts”</li>
</ul>

<blockquote>
<p>“Price difference between systems is mostly driven by market shares,” Zerodium founder Chaouki Bekrar told Bleeping Computer via email.<br>
Asked about the logic behind these acquisition drives that pay increased rewards, Bekrar told Bleeping Computer the following:<br>
"Our aim is to always have, at any time, two or more fully functional exploits for every major software, hardware, or operating systems, meaning that from time to time we would promote a specific software/system on our social media to acquire new codes and strengthen our existing capabilities or extend them.”<br>
“We may also react to customers’ requests and their operational needs,” Bekrar said.</p>
</blockquote>

<ul>
<li>It’s becoming a crowded market</li>
</ul>

<blockquote>
<p>Since Zerodium drew everyone’s attention to the exploit brokerage market in 2015, the market has gotten more and more crowded, but also more sleazy, with some companies being accused of selling zero-days to government agencies in countries with oppressive or dictatorial regimes, where they are often used against political oponents, journalists, and dissidents, instead of going after real criminals.<br>
The latest company who broke into the zero-day brokerage market is Crowdfense, who recently launched an acquisition program with prizes of $10 million, of which it already paid $4.5 million to researchers.</p>
</blockquote>

<p><a href="https://twitter.com/Zerodium/status/1012007051466162177" target="_blank" rel="nofollow noopener">Twitter Announcement</a></p>

<hr>

<p><strong>Digital Ocean</strong><br>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">http://do.co/bsdnow</a></p>

<p>###<a href="https://euroquis.nl/bobulate/?p=1915" target="_blank" rel="nofollow noopener">KDE on FreeBSD – June 2018</a></p>

<blockquote>
<p>The KDE-FreeBSD team (a half-dozen hardy individuals, with varying backgrounds and varying degrees of involvement depending on how employment is doing) has a status message in the #kde-freebsd channel on freenode. Right now it looks like this:</p>
</blockquote>

<pre><code>http://FreeBSD.kde.org | Bleeding edge 
http://FreeBSD.kde.org/area51.php | Released: Qt 5.10.1, KDE SC 4.14.3, KF5 5.46.0, Applications 18.04.1, Plasma-5.12.5, Kdevelop-5.2.1, Digikam-5.9.0
</code></pre>

<blockquote>
<p>It’s been a while since I wrote about KDE on FreeBSD, what with Calamares and third-party software happening as well. We’re better at keeping the IRC topic up-to-date than a lot of other sources of information (e.g. the FreeBSD quarterly reports, or the f.k.o website, which I’ll just dash off and update after writing this).</p>
</blockquote>

<ul>
<li>In no particular order:</li>
<li>Qt 5.10 is here, in a FrankenEngine incarnation: we still use WebEnging from Qt 5.9 because — like I’ve said before — WebEngine is such a gigantic pain in the butt to update with all the necessary patches to get it to compile.</li>
<li>Our collection of downstream patches to Qt 5.10 is growing, slowly. None of them are upstreamable (e.g. libressl support) though.</li>
<li>KDE Frameworks releases are generally pushed to ports within a week or two of release. Actually, now that there is a bigger stack of KDE software in FreeBSD ports the updates take longer because we have to do exp-runs.</li>
<li>Similarly, Applications and Plasma releases are reasonably up-to-date. We dodged a bullet by not jumping on Plasma 5.13 right away, I see. Tobias is the person doing almost all of the drudge-work of these updates, he deserves a pint of something in Vienna this summer.</li>
<li>The <a href="http://freebsd.kde.org" target="_blank" rel="nofollow noopener">freebsd.kde.org</a> website has been slightly updated; it was terribly out-of-date.</li>
</ul>

<blockquote>
<p>So we’re mostly-up-to-date, and mostly all packaged up and ready to go. Much of my day is spent in VMs packaged by other people, but it’s good to have a full KDE developer environment outside of them as well. (PS. Gotta hand it to Tomasz for <a href="https://www.angrycane.com.br/wp-content/uploads/2018/06/download_flamingo_and_display.txt" target="_blank" rel="nofollow noopener">the amazing application for downloading and displaying a flamingo</a> … niche usecases FTW)</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://lists.freebsd.org/pipermail/freebsd-announce/2018-July/001836.html" target="_blank" rel="nofollow noopener">New FreeBSD Core Team Elected</a></p>

<blockquote>
<p>Active committers to the project have elected your tenth FreeBSD Core<br>
Team.</p>
</blockquote>

<ul>
<li>Allan Jude (allanjude)</li>
<li>Benedict Reuschling (bcr)</li>
<li>Brooks Davis (brooks)</li>
<li>Hiroki Sato (hrs)</li>
<li>Jeff Roberson (jeff)</li>
<li>John Baldwin (jhb)</li>
<li>Kris Moore (kmoore)</li>
<li>Sean Chittenden (seanc)</li>
<li>Warner Losh (imp)</li>
</ul>

<blockquote>
<p>Let’s extend our gratitude to the outgoing Core Team members:</p>
</blockquote>

<ul>
<li>Baptiste Daroussin (bapt)</li>
<li>Benno Rice (benno)</li>
<li>Ed Maste (emaste)</li>
<li>George V. Neville-Neil (gnn)</li>
<li>Matthew Seaman (matthew)</li>
</ul>

<blockquote>
<p>Matthew, after having served as the Core Team Secretary for the past<br>
four years, will be stepping down from that role.</p>
</blockquote>

<blockquote>
<p>The Core Team would also like to thank Dag-Erling Smørgrav for running a<br>
flawless election.</p>
</blockquote>

<ul>
<li>To read about the responsibilities of the Core Team, refer to <a href="https://www.freebsd.org/administration.html#t-core" target="_blank" rel="nofollow noopener">https://www.freebsd.org/administration.html#t-core</a>.</li>
</ul>

<hr>

<p>###<a href="https://mail-index.netbsd.org/tech-net/2018/06/26/msg006943.html" target="_blank" rel="nofollow noopener">NetBSD WiFi refresh</a></p>

<blockquote>
<p>The NetBSD Foundation is pleased to announce a summer 2018 contract with Philip Nelson (phil%<a href="http://NetBSD.org" target="_blank" rel="nofollow noopener">NetBSD.org</a>@localhost) to update the IEEE 802.11 stack basing the update on the FreeBSD current code.  The goals of the project are:</p>
</blockquote>

<ul>
<li>Minimizing the differences between the FreeBSD and NetBSD IEEE 802.11 stack so future updates are easier.</li>
<li>Adding support for the newer protocols 801.11/N and 802.11/AC.</li>
<li>Improving SMP support in the IEEE 802.11 stack.</li>
<li>Adding Virtual Access Point (VAP) support.</li>
<li>Updating as many NIC drivers as time permits for the updated IEEE 802.11 stack and VAP changes.</li>
</ul>

<blockquote>
<p>Status reports will be posted to tech-net%<a href="http://NetBSD.org" target="_blank" rel="nofollow noopener">NetBSD.org</a>@localhost every other week<br>
while the contract is active.</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong></p>

<p>###<a href="https://github.com/billziss-gh/pmci" target="_blank" rel="nofollow noopener">Poor Man’s CI - Hosted CI for BSD with shell scripting and duct tape</a></p>

<blockquote>
<p>Poor Man’s CI (PMCI - Poor Man’s Continuous Integration) is a collection of scripts that taken together work as a simple CI solution that runs on Google Cloud. While there are many advanced hosted CI systems today, and many of them are free for open source projects, none of them seem to offer a solution for the BSD operating systems (FreeBSD, NetBSD, OpenBSD, etc.)</p>
</blockquote>

<blockquote>
<p>The architecture of Poor Man’s CI is system agnostic. However in the implementation provided in this repository the only supported systems are FreeBSD and NetBSD. Support for additional systems is possible.</p>
</blockquote>

<blockquote>
<p>Poor Man’s CI runs on the Google Cloud. It is possible to set it up so that the service fits within the Google Cloud “Always Free” limits. In doing so the provided CI is not only hosted, but is also free! (Disclaimer: I am not affiliated with Google and do not otherwise endorse their products.)</p>
</blockquote>

<ul>
<li>ARCHITECTURE</li>
</ul>

<blockquote>
<p>A CI solution listens for “commit” (or more usually “push”) events, builds the associated repository at the appropriate place in its history and reports the results. Poor Man’s CI implements this very basic CI scenario using a simple architecture, which we present in this section.</p>
</blockquote>

<ul>
<li>
<p>Poor Man’s CI consists of the following components and their interactions:</p>
</li>
<li>
<p>Controller: Controls the overall process of accepting GitHub push events and starting builds. The Controller runs in the Cloud Functions environment and is implemented by the files in the controller source directory. It consists of the following components:</p>
<ul>
<li>Listener: Listens for GitHub push events and posts them as work messages to the workq PubSub.</li>
<li>Dispatcher: Receives work messages from the workq PubSub and a free instance name from the Builder Pool. It instantiates a builder instance named name in the Compute Engine environment and passes it the link of a repository to build.</li>
<li>Collector: Receives done messages from the doneq PubSub and posts the freed instance name back to the Builder Pool.</li>
</ul>

</li><br>
<li>

<p>PubSub Topics:</p>

<ul>
<li>workq: Transports work messages that contain the link of the repository to build.</li>
<li>poolq: Implements the Builder Pool, which contains the name’s of available builder instances. To acquire a builder name, pull a message from the poolq. To release a builder name, post it back into the poolq.</li>
<li>doneq: Transports done messages (builder instance terminate and delete events). These message contain the name of freed builder instances.</li>
</ul>

</li><br>
<li>

<p>builder: A builder is a Compute Engine instance that performs a build of a repository and shuts down when the build is complete. A builder is instantiated from a VM image and a startx (startup-exit) script.</p>

</li><br>
<li>

<p>Build Logs: A Storage bucket that contains the logs of builds performed by builder instances.</p>

</li><br>
<li>

<p>Logging Sink: A Logging Sink captures builder instance terminate and delete events and posts them into the doneq.</p>

</li><br>
<li>

<p>BUGS</p>

</li><br>
</ul>

<blockquote>
<p>The Builder Pool is currently implemented as a PubSub; messages in the PubSub contain the names of available builder instances. Unfortunately a PubSub retains its messages for a maximum of 7 days. It is therefore possible that messages will be discarded and that your PMCI deployment will suddenly find itself out of builder instances. If this happens you can reseed the Builder Pool by running the commands below. However this is a serious BUG that should be fixed. For a related discussion see <a href="https://tinyurl.com/ybkycuub" target="_blank" rel="nofollow noopener">https://tinyurl.com/ybkycuub</a>.</p>
</blockquote>

<p><code>$ ./pmci queue_post poolq builder0</code><br>
<code># ./pmci queue_post poolq builder1</code><br>
<code># ... repeat for as many builders as you want</code></p>

<blockquote>
<p>The Dispatcher is implemented as a Retry Background Cloud Function. It accepts work messages from the workq and attempts to pull a free name from the poolq. If that fails it returns an error, which instructs the infrastructure to retry. Because the infrastructure does not provide any retry controls, this currently happens immediately and the Dispatcher spins unproductively. This is currently mitigated by a “sleep” (setTimeout), but the Cloud Functions system still counts the Function as running and charges it accordingly. While this fits within the “Always Free” limits, it is something that should eventually be fixed (perhaps by the PubSub team). For a related discussion see <a href="https://tinyurl.com/yb2vbwfd" target="_blank" rel="nofollow noopener">https://tinyurl.com/yb2vbwfd</a>.</p>
</blockquote>

<hr>

<p>###<a href="https://blog.danielisz.org/2018/06/21/the-power-of-ctrlt/" target="_blank" rel="nofollow noopener">The Power of Ctrl-T</a></p>

<blockquote>
<p>Did you know that you can check what a process is doing by pressing CTRL+T?<br>
Has it happened to you before that you were waiting for something to be finished that can take a lot of time, but there is no easy way to check the status. Like a dd, cp, mv and many others. All you have to do is press CTRL+T where the process is running.  This will output what’s happening and will not interrupt or mess with it in any way. This causes the operating system to output the SIGINFO signal.<br>
On FreeBSD it looks like this:</p>
</blockquote>

<pre><code>ping pingtest.com
PING pingtest.com (5.22.149.135): 56 data bytes
64 bytes from 5.22.149.135: icmp_seq=0 ttl=51 time=86.232 ms
64 bytes from 5.22.149.135: icmp_seq=1 ttl=51 time=85.477 ms
64 bytes from 5.22.149.135: icmp_seq=2 ttl=51 time=85.493 ms
64 bytes from 5.22.149.135: icmp_seq=3 ttl=51 time=85.211 ms
64 bytes from 5.22.149.135: icmp_seq=4 ttl=51 time=86.002 ms
load: 1.12 cmd: ping 94371 [select] 4.70r 0.00u 0.00s 0% 2500k
5/5 packets received (100.0%) 85.211 min / 85.683 avg / 86.232 max
64 bytes from 5.22.149.135: icmp_seq=5 ttl=51 time=85.725 ms
64 bytes from 5.22.149.135: icmp_seq=6 ttl=51 time=85.510 ms
</code></pre>

<blockquote>
<p>As you can see it not only outputs the name of the running command but the following parameters as well:</p>
</blockquote>

<pre><code>94371 – PID
4.70r – since when is the process running
0.00u – user time
0.00s – system time
0% – CPU usage
2500k – resident set size of the process or RSS
``

&gt; An even better example is with the following cp command:

</code></pre>

<p>cp FreeBSD-11.1-RELEASE-amd64-dvd1.iso /dev/null<br>
load: 0.99 cmd: cp 94412 [runnable] 1.61r 0.00u 0.39s 3% 3100k<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&gt; /dev/null 15%<br>
load: 0.91 cmd: cp 94412 [runnable] 2.91r 0.00u 0.80s 6% 3104k<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&gt; /dev/null 32%<br>
load: 0.91 cmd: cp 94412 [runnable] 4.20r 0.00u 1.23s 9% 3104k<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&gt; /dev/null 49%<br>
load: 0.91 cmd: cp 94412 [runnable] 5.43r 0.00u 1.64s 11% 3104k<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&gt; /dev/null 64%<br>
load: 1.07 cmd: cp 94412 [runnable] 6.65r 0.00u 2.05s 13% 3104k<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&gt; /dev/null 79%<br>
load: 1.07 cmd: cp 94412 [runnable] 7.87r 0.00u 2.43s 15% 3104k<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&gt; /dev/null 95%</p>

<pre><code>
&gt; I prcessed CTRL+T six times.  Without that, all the output would have been is the first line.

&gt; Another example how the process is changing states:

</code></pre>

<p>wget <a href="https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-dvd1.iso" target="_blank" rel="nofollow noopener">https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-dvd1.iso</a><br>
–2018-06-17 18:47:48– <a href="https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-dvd1.iso" target="_blank" rel="nofollow noopener">https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-dvd1.iso</a><br>
Resolving <a href="http://download.freebsd.org" target="_blank" rel="nofollow noopener">download.freebsd.org</a> (<a href="http://download.freebsd.org" target="_blank" rel="nofollow noopener">download.freebsd.org</a>)… 96.47.72.72, 2610:1c1:1:606c::15:0<br>
Connecting to <a href="http://download.freebsd.org" target="_blank" rel="nofollow noopener">download.freebsd.org</a> (<a href="http://download.freebsd.org" target="_blank" rel="nofollow noopener">download.freebsd.org</a>)|96.47.72.72|:443… connected.<br>
HTTP request sent, awaiting response… 200 OK<br>
Length: 3348465664 (3.1G) [application/octet-stream]<br>
Saving to: ‘FreeBSD-11.1-RELEASE-amd64-dvd1.iso’</p>

<p>FreeBSD-11.1-RELEASE-amd64-dvd1.iso 1%[&gt; ] 41.04M 527KB/s eta 26m 49sload: 4.95 cmd: wget 10152 waiting 0.48u 0.72s<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso 1%[&gt; ] 49.41M 659KB/s eta 25m 29sload: 12.64 cmd: wget 10152 waiting 0.55u 0.85s<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso 2%[=&gt; ] 75.58M 6.31MB/s eta 20m 6s load: 11.71 cmd: wget 10152 running 0.73u 1.19s<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso 2%[=&gt; ] 85.63M 6.83MB/s eta 18m 58sload: 11.71 cmd: wget 10152 waiting 0.80u 1.32s<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso 14%[==============&gt; ] 460.23M 7.01MB/s eta 9m 0s 1</p>

<pre><code>
&gt; The bad news is that CTRl+T doesn’t work with Linux kernel, but you can use it on MacOS/OS-X:

</code></pre>

<p>—&gt; Fetching distfiles for gmp<br>
—&gt; Attempting to fetch gmp-6.1.2.tar.bz2 from <a href="https://distfiles.macports.org/gmp" target="_blank" rel="nofollow noopener">https://distfiles.macports.org/gmp</a><br>
—&gt; Verifying checksums for gmp<br>
—&gt; Extracting gmp<br>
—&gt; Applying patches to gmp<br>
—&gt; Configuring gmp<br>
load: 2.81 cmd: clang 74287 running 0.31u 0.28s</p>

<pre><code>
&gt; PS: If I recall correctly Feld showed me CTRL+T, thank you!

***


##Beastie Bits
+ [Half billion tries for a HAMMER2 bug](http://lists.dragonflybsd.org/pipermail/commits/2018-May/672263.html)
+ OpenBSD with various Desktops
 + [OpenBSD 6.3 running twm window manager](https://youtu.be/v6XeC5wU2s4)
 + [OpenBSD 6.3 jwm and rox desktop](https://youtu.be/jlSK2oi7CBc)
 + [OpenBSD 6.3 cwm youtube video](https://youtu.be/mgqNyrP2CPs)
+ [pf: Increase default state table size](https://svnweb.freebsd.org/base?view=revision&amp;revision=336221)
***

**Tarsnap**

##Feedback/Questions
+ Ben Sims - [Full feed?](http://dpaste.com/3XVH91T#wrap)
+ Scott - [Questions and Comments](http://dpaste.com/08P34YN#wrap)
+ Troels - [Features of FreeBSD 11.2 that deserve a mention](http://dpaste.com/3DDPEC2#wrap)
+ [Fred - Show Ideas](http://dpaste.com/296ZA0P#wrap)
***

- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [feedback@bsdnow.tv](mailto:feedback@bsdnow.tv)
***

***

iXsystems [It's all NAS](https://www.ixsystems.com/blog/its-all-nas/)
</code></pre>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>What ZFS blockpointers are, zero-day rewards offered, KDE on FreeBSD status, new FreeBSD core team, NetBSD WiFi refresh, poor man’s CI, and the power of Ctrl+T.</p>

<p>##Headlines<br>
###<a href="https://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSBlockPointers" target="_blank" rel="nofollow noopener">What ZFS block pointers are and what’s in them</a></p>

<blockquote>
<p>I’ve mentioned ZFS block pointers in the past; for example, when I wrote about some details of ZFS DVAs, I said that DVAs are embedded in block pointers. But I’ve never really looked carefully at what is in block pointers and what that means and implies for ZFS.</p>
</blockquote>

<blockquote>
<p>The very simple way to describe a ZFS block pointer is that it’s what ZFS uses in places where other filesystems would simply put a block number. Just like block numbers but unlike things like ZFS dnodes, a block pointer isn’t a separate on-disk entity; instead it’s an on disk data format and an in memory structure that shows up in other things. To quote from the (draft and old) ZFS on-disk specification (PDF):</p>
</blockquote>

<blockquote>
<p>A block pointer (blkptr_t) is a 128 byte ZFS structure used to physically locate, verify, and describe blocks of data on disk.</p>
</blockquote>

<blockquote>
<p>Block pointers are embedded in any ZFS on disk structure that points directly to other disk blocks, both for data and metadata. For instance, the dnode for a file contains block pointers that refer to either its data blocks (if it’s small enough) or indirect blocks, as I saw in this entry. However, as I discovered when I paid attention, most things in ZFS only point to dnodes indirectly, by giving their object number (either in a ZFS filesystem or in pool-wide metadata).</p>
</blockquote>

<blockquote>
<p>So what’s in a block pointer itself? You can find the technical details for modern ZFS in spa.h, so I’m going to give a sort of summary. A regular block pointer contains:</p>
</blockquote>

<ul>
<li>various metadata and flags about what the block pointer is for and what parts of it mean, including what type of object it points to.</li>
<li>Up to three DVAs that say where to actually find the data on disk. There can be more than one DVA because you may have set the copies property to 2 or 3, or this may be metadata (which normally has two copies and may have more for sufficiently important metadata).</li>
<li>The logical size (size before compression) and ‘physical’ size (the nominal size after compression) of the disk block. The physical size can do odd things and is not necessarily the asize (allocated size) for the DVA(s).</li>
<li>The txgs that the block was born in, both logically and physically (the physical txg is apparently for dva[0]). The physical txg was added with ZFS deduplication but apparently also shows up in vdev removal.</li>
<li>The checksum of the data the block pointer describes. This checksum implicitly covers the entire logical size of the data, and as a result you must read all of the data in order to verify it. This can be an issue on raidz vdevs or if the block had to use gang blocks.</li>
</ul>

<blockquote>
<p>Just like basically everything else in ZFS, block pointers don’t have an explicit checksum of their contents. Instead they’re implicitly covered by the checksum of whatever they’re embedded in; the block pointers in a dnode are covered by the overall checksum of the dnode, for example. Block pointers must include a checksum for the data they point to because such data is ‘out of line’ for the containing object.</p>
</blockquote>

<blockquote>
<p>(The block pointers in a dnode don’t necessarily point straight to data. If there’s more than a bit of data in whatever the dnode covers, the dnode’s block pointers will instead point to some level of indirect block, which itself has some number of block pointers.)</p>
</blockquote>

<blockquote>
<p>There is a special type of block pointer called an embedded block pointer. Embedded block pointers directly contain up to 112 bytes of data; apart from the data, they contain only the metadata fields and a logical birth txg. As with conventional block pointers, this data is implicitly covered by the checksum of the containing object.</p>
</blockquote>

<blockquote>
<p>Since block pointers directly contain the address of things on disk (in the form of DVAs), they have to change any time that address changes, which means any time ZFS does its copy on write thing. This forces a change in whatever contains the block pointer, which in turn ripples up to another block pointer (whatever points to said containing thing), and so on until we eventually reach the Meta Object Set and the uberblock. How this works is a bit complicated, but ZFS is designed to generally make this a relatively shallow change with not many levels of things involved (as I discovered recently).</p>
</blockquote>

<blockquote>
<p>As far as I understand things, the logical birth txg of a block pointer is the transaction group in which the block pointer was allocated. Because of ZFS’s copy on write principle, this means that nothing underneath the block pointer has been updated or changed since that txg; if something changed, it would have been written to a new place on disk, which would have forced a change in at least one DVA and thus a ripple of updates that would update the logical birth txg.</p>
</blockquote>

<blockquote>
<p>However, this doesn’t quite mean what I used to think it meant because of ZFS’s level of indirection. If you change a file by writing data to it, you will change some of the file’s block pointers, updating their logical birth txg, and you will change the file’s dnode. However, you won’t change any block pointers and thus any logical birth txgs for the filesystem directory the file is in (or anything else up the directory tree), because the directory refers to the file through its object number, not by directly pointing to its dnode. You can still use logical birth txgs to efficiently find changes from one txg to another, but you won’t necessarily get a filesystem level view of these changes; instead, as far as I can see, you will basically get a view of what object(s) in a filesystem changed (effectively, what inode numbers changed).</p>
</blockquote>

<blockquote>
<p>(ZFS has an interesting hack to make things like ‘zfs diff’ work far more efficiently than you would expect in light of this, but that’s going to take yet another entry to cover.)</p>
</blockquote>

<hr>

<p>###<a href="https://www.bleepingcomputer.com/news/security/rewards-of-up-to-500-000-offered-for-freebsd-openbsd-netbsd-linux-zero-days/" target="_blank" rel="nofollow noopener">Rewards of Up to $500,000 Offered for FreeBSD, OpenBSD, NetBSD, Linux Zero-Days</a></p>

<blockquote>
<p>Exploit broker Zerodium is offering rewards of up to $500,000 for zero-days in UNIX-based operating systems like OpenBSD, FreeBSD, NetBSD, but also for Linux distros such as Ubuntu, CentOS, Debian, and Tails.<br>
The offer, first advertised via Twitter earlier this week, is available as part of the company’s latest zero-day acquisition drive. Zerodium is known for buying zero-days and selling them to government agencies and law enforcement.<br>
The company runs a regular zero-day acquisition program through its website, but it often holds special drives with more substantial rewards when it needs zero-days of a specific category.</p>
</blockquote>

<ul>
<li>BSD zero-day rewards will be on par with Linux payouts</li>
</ul>

<blockquote>
<p>The US-based company held a previous drive with increased rewards for Linux zero-days in February, with rewards going as high as $45,000.<br>
In another zero-day acquisition drive announced on Twitter this week, the company said it was looking again for Linux zero-days, but also for exploits targeting BSD systems. This time around, rewards can go up to $500,000, for the right exploit.<br>
Zerodium told Bleeping Computer they’ll be aligning the temporary rewards for BSD systems with their usual payouts for Linux distros.<br>
The company’s usual payouts for Linux privilege escalation exploits can range from $10,000 to $30,000. Local privilege escalation (LPE) rewards can even reach $100,000 for “an exploit with an exceptional quality and coverage,” such as, for example, a Linux kernel exploit affecting all major distributions.<br>
Payouts for Linux remote code execution (RCE) exploits can bring in from $50,000 to $500,000 depending on the targeted software/service and its market share. The highest rewards are usually awarded for LPEs and RCEs affecting CentOS and Ubuntu distros.</p>
</blockquote>

<ul>
<li>Zero-day price varies based on exploitation chain</li>
</ul>

<blockquote>
<p>The acquisition price of a submitted zero-day is directly tied to its requirements in terms of user interaction (no click, one click, two clicks, etc.), Zerodium said.<br>
Other factors include the exploit reliability, its success rate, the number of vulnerabilities chained together for the final exploit to work (more chained bugs means more chances for the exploit to break unexpectedly), and the OS configuration needed for the exploit to work (exploits are valued more if they work against default OS configs).</p>
</blockquote>

<ul>
<li>Zero-days in servers “can reach exceptional amounts”</li>
</ul>

<blockquote>
<p>“Price difference between systems is mostly driven by market shares,” Zerodium founder Chaouki Bekrar told Bleeping Computer via email.<br>
Asked about the logic behind these acquisition drives that pay increased rewards, Bekrar told Bleeping Computer the following:<br>
"Our aim is to always have, at any time, two or more fully functional exploits for every major software, hardware, or operating systems, meaning that from time to time we would promote a specific software/system on our social media to acquire new codes and strengthen our existing capabilities or extend them.”<br>
“We may also react to customers’ requests and their operational needs,” Bekrar said.</p>
</blockquote>

<ul>
<li>It’s becoming a crowded market</li>
</ul>

<blockquote>
<p>Since Zerodium drew everyone’s attention to the exploit brokerage market in 2015, the market has gotten more and more crowded, but also more sleazy, with some companies being accused of selling zero-days to government agencies in countries with oppressive or dictatorial regimes, where they are often used against political oponents, journalists, and dissidents, instead of going after real criminals.<br>
The latest company who broke into the zero-day brokerage market is Crowdfense, who recently launched an acquisition program with prizes of $10 million, of which it already paid $4.5 million to researchers.</p>
</blockquote>

<p><a href="https://twitter.com/Zerodium/status/1012007051466162177" target="_blank" rel="nofollow noopener">Twitter Announcement</a></p>

<hr>

<p><strong>Digital Ocean</strong><br>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">http://do.co/bsdnow</a></p>

<p>###<a href="https://euroquis.nl/bobulate/?p=1915" target="_blank" rel="nofollow noopener">KDE on FreeBSD – June 2018</a></p>

<blockquote>
<p>The KDE-FreeBSD team (a half-dozen hardy individuals, with varying backgrounds and varying degrees of involvement depending on how employment is doing) has a status message in the #kde-freebsd channel on freenode. Right now it looks like this:</p>
</blockquote>

<pre><code>http://FreeBSD.kde.org | Bleeding edge 
http://FreeBSD.kde.org/area51.php | Released: Qt 5.10.1, KDE SC 4.14.3, KF5 5.46.0, Applications 18.04.1, Plasma-5.12.5, Kdevelop-5.2.1, Digikam-5.9.0
</code></pre>

<blockquote>
<p>It’s been a while since I wrote about KDE on FreeBSD, what with Calamares and third-party software happening as well. We’re better at keeping the IRC topic up-to-date than a lot of other sources of information (e.g. the FreeBSD quarterly reports, or the f.k.o website, which I’ll just dash off and update after writing this).</p>
</blockquote>

<ul>
<li>In no particular order:</li>
<li>Qt 5.10 is here, in a FrankenEngine incarnation: we still use WebEnging from Qt 5.9 because — like I’ve said before — WebEngine is such a gigantic pain in the butt to update with all the necessary patches to get it to compile.</li>
<li>Our collection of downstream patches to Qt 5.10 is growing, slowly. None of them are upstreamable (e.g. libressl support) though.</li>
<li>KDE Frameworks releases are generally pushed to ports within a week or two of release. Actually, now that there is a bigger stack of KDE software in FreeBSD ports the updates take longer because we have to do exp-runs.</li>
<li>Similarly, Applications and Plasma releases are reasonably up-to-date. We dodged a bullet by not jumping on Plasma 5.13 right away, I see. Tobias is the person doing almost all of the drudge-work of these updates, he deserves a pint of something in Vienna this summer.</li>
<li>The <a href="http://freebsd.kde.org" target="_blank" rel="nofollow noopener">freebsd.kde.org</a> website has been slightly updated; it was terribly out-of-date.</li>
</ul>

<blockquote>
<p>So we’re mostly-up-to-date, and mostly all packaged up and ready to go. Much of my day is spent in VMs packaged by other people, but it’s good to have a full KDE developer environment outside of them as well. (PS. Gotta hand it to Tomasz for <a href="https://www.angrycane.com.br/wp-content/uploads/2018/06/download_flamingo_and_display.txt" target="_blank" rel="nofollow noopener">the amazing application for downloading and displaying a flamingo</a> … niche usecases FTW)</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="https://lists.freebsd.org/pipermail/freebsd-announce/2018-July/001836.html" target="_blank" rel="nofollow noopener">New FreeBSD Core Team Elected</a></p>

<blockquote>
<p>Active committers to the project have elected your tenth FreeBSD Core<br>
Team.</p>
</blockquote>

<ul>
<li>Allan Jude (allanjude)</li>
<li>Benedict Reuschling (bcr)</li>
<li>Brooks Davis (brooks)</li>
<li>Hiroki Sato (hrs)</li>
<li>Jeff Roberson (jeff)</li>
<li>John Baldwin (jhb)</li>
<li>Kris Moore (kmoore)</li>
<li>Sean Chittenden (seanc)</li>
<li>Warner Losh (imp)</li>
</ul>

<blockquote>
<p>Let’s extend our gratitude to the outgoing Core Team members:</p>
</blockquote>

<ul>
<li>Baptiste Daroussin (bapt)</li>
<li>Benno Rice (benno)</li>
<li>Ed Maste (emaste)</li>
<li>George V. Neville-Neil (gnn)</li>
<li>Matthew Seaman (matthew)</li>
</ul>

<blockquote>
<p>Matthew, after having served as the Core Team Secretary for the past<br>
four years, will be stepping down from that role.</p>
</blockquote>

<blockquote>
<p>The Core Team would also like to thank Dag-Erling Smørgrav for running a<br>
flawless election.</p>
</blockquote>

<ul>
<li>To read about the responsibilities of the Core Team, refer to <a href="https://www.freebsd.org/administration.html#t-core" target="_blank" rel="nofollow noopener">https://www.freebsd.org/administration.html#t-core</a>.</li>
</ul>

<hr>

<p>###<a href="https://mail-index.netbsd.org/tech-net/2018/06/26/msg006943.html" target="_blank" rel="nofollow noopener">NetBSD WiFi refresh</a></p>

<blockquote>
<p>The NetBSD Foundation is pleased to announce a summer 2018 contract with Philip Nelson (phil%<a href="http://NetBSD.org" target="_blank" rel="nofollow noopener">NetBSD.org</a>@localhost) to update the IEEE 802.11 stack basing the update on the FreeBSD current code.  The goals of the project are:</p>
</blockquote>

<ul>
<li>Minimizing the differences between the FreeBSD and NetBSD IEEE 802.11 stack so future updates are easier.</li>
<li>Adding support for the newer protocols 801.11/N and 802.11/AC.</li>
<li>Improving SMP support in the IEEE 802.11 stack.</li>
<li>Adding Virtual Access Point (VAP) support.</li>
<li>Updating as many NIC drivers as time permits for the updated IEEE 802.11 stack and VAP changes.</li>
</ul>

<blockquote>
<p>Status reports will be posted to tech-net%<a href="http://NetBSD.org" target="_blank" rel="nofollow noopener">NetBSD.org</a>@localhost every other week<br>
while the contract is active.</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong></p>

<p>###<a href="https://github.com/billziss-gh/pmci" target="_blank" rel="nofollow noopener">Poor Man’s CI - Hosted CI for BSD with shell scripting and duct tape</a></p>

<blockquote>
<p>Poor Man’s CI (PMCI - Poor Man’s Continuous Integration) is a collection of scripts that taken together work as a simple CI solution that runs on Google Cloud. While there are many advanced hosted CI systems today, and many of them are free for open source projects, none of them seem to offer a solution for the BSD operating systems (FreeBSD, NetBSD, OpenBSD, etc.)</p>
</blockquote>

<blockquote>
<p>The architecture of Poor Man’s CI is system agnostic. However in the implementation provided in this repository the only supported systems are FreeBSD and NetBSD. Support for additional systems is possible.</p>
</blockquote>

<blockquote>
<p>Poor Man’s CI runs on the Google Cloud. It is possible to set it up so that the service fits within the Google Cloud “Always Free” limits. In doing so the provided CI is not only hosted, but is also free! (Disclaimer: I am not affiliated with Google and do not otherwise endorse their products.)</p>
</blockquote>

<ul>
<li>ARCHITECTURE</li>
</ul>

<blockquote>
<p>A CI solution listens for “commit” (or more usually “push”) events, builds the associated repository at the appropriate place in its history and reports the results. Poor Man’s CI implements this very basic CI scenario using a simple architecture, which we present in this section.</p>
</blockquote>

<ul>
<li>
<p>Poor Man’s CI consists of the following components and their interactions:</p>
</li>
<li>
<p>Controller: Controls the overall process of accepting GitHub push events and starting builds. The Controller runs in the Cloud Functions environment and is implemented by the files in the controller source directory. It consists of the following components:</p>
<ul>
<li>Listener: Listens for GitHub push events and posts them as work messages to the workq PubSub.</li>
<li>Dispatcher: Receives work messages from the workq PubSub and a free instance name from the Builder Pool. It instantiates a builder instance named name in the Compute Engine environment and passes it the link of a repository to build.</li>
<li>Collector: Receives done messages from the doneq PubSub and posts the freed instance name back to the Builder Pool.</li>
</ul>

</li><br>
<li>

<p>PubSub Topics:</p>

<ul>
<li>workq: Transports work messages that contain the link of the repository to build.</li>
<li>poolq: Implements the Builder Pool, which contains the name’s of available builder instances. To acquire a builder name, pull a message from the poolq. To release a builder name, post it back into the poolq.</li>
<li>doneq: Transports done messages (builder instance terminate and delete events). These message contain the name of freed builder instances.</li>
</ul>

</li><br>
<li>

<p>builder: A builder is a Compute Engine instance that performs a build of a repository and shuts down when the build is complete. A builder is instantiated from a VM image and a startx (startup-exit) script.</p>

</li><br>
<li>

<p>Build Logs: A Storage bucket that contains the logs of builds performed by builder instances.</p>

</li><br>
<li>

<p>Logging Sink: A Logging Sink captures builder instance terminate and delete events and posts them into the doneq.</p>

</li><br>
<li>

<p>BUGS</p>

</li><br>
</ul>

<blockquote>
<p>The Builder Pool is currently implemented as a PubSub; messages in the PubSub contain the names of available builder instances. Unfortunately a PubSub retains its messages for a maximum of 7 days. It is therefore possible that messages will be discarded and that your PMCI deployment will suddenly find itself out of builder instances. If this happens you can reseed the Builder Pool by running the commands below. However this is a serious BUG that should be fixed. For a related discussion see <a href="https://tinyurl.com/ybkycuub" target="_blank" rel="nofollow noopener">https://tinyurl.com/ybkycuub</a>.</p>
</blockquote>

<p><code>$ ./pmci queue_post poolq builder0</code><br>
<code># ./pmci queue_post poolq builder1</code><br>
<code># ... repeat for as many builders as you want</code></p>

<blockquote>
<p>The Dispatcher is implemented as a Retry Background Cloud Function. It accepts work messages from the workq and attempts to pull a free name from the poolq. If that fails it returns an error, which instructs the infrastructure to retry. Because the infrastructure does not provide any retry controls, this currently happens immediately and the Dispatcher spins unproductively. This is currently mitigated by a “sleep” (setTimeout), but the Cloud Functions system still counts the Function as running and charges it accordingly. While this fits within the “Always Free” limits, it is something that should eventually be fixed (perhaps by the PubSub team). For a related discussion see <a href="https://tinyurl.com/yb2vbwfd" target="_blank" rel="nofollow noopener">https://tinyurl.com/yb2vbwfd</a>.</p>
</blockquote>

<hr>

<p>###<a href="https://blog.danielisz.org/2018/06/21/the-power-of-ctrlt/" target="_blank" rel="nofollow noopener">The Power of Ctrl-T</a></p>

<blockquote>
<p>Did you know that you can check what a process is doing by pressing CTRL+T?<br>
Has it happened to you before that you were waiting for something to be finished that can take a lot of time, but there is no easy way to check the status. Like a dd, cp, mv and many others. All you have to do is press CTRL+T where the process is running.  This will output what’s happening and will not interrupt or mess with it in any way. This causes the operating system to output the SIGINFO signal.<br>
On FreeBSD it looks like this:</p>
</blockquote>

<pre><code>ping pingtest.com
PING pingtest.com (5.22.149.135): 56 data bytes
64 bytes from 5.22.149.135: icmp_seq=0 ttl=51 time=86.232 ms
64 bytes from 5.22.149.135: icmp_seq=1 ttl=51 time=85.477 ms
64 bytes from 5.22.149.135: icmp_seq=2 ttl=51 time=85.493 ms
64 bytes from 5.22.149.135: icmp_seq=3 ttl=51 time=85.211 ms
64 bytes from 5.22.149.135: icmp_seq=4 ttl=51 time=86.002 ms
load: 1.12 cmd: ping 94371 [select] 4.70r 0.00u 0.00s 0% 2500k
5/5 packets received (100.0%) 85.211 min / 85.683 avg / 86.232 max
64 bytes from 5.22.149.135: icmp_seq=5 ttl=51 time=85.725 ms
64 bytes from 5.22.149.135: icmp_seq=6 ttl=51 time=85.510 ms
</code></pre>

<blockquote>
<p>As you can see it not only outputs the name of the running command but the following parameters as well:</p>
</blockquote>

<pre><code>94371 – PID
4.70r – since when is the process running
0.00u – user time
0.00s – system time
0% – CPU usage
2500k – resident set size of the process or RSS
``

&gt; An even better example is with the following cp command:

</code></pre>

<p>cp FreeBSD-11.1-RELEASE-amd64-dvd1.iso /dev/null<br>
load: 0.99 cmd: cp 94412 [runnable] 1.61r 0.00u 0.39s 3% 3100k<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&gt; /dev/null 15%<br>
load: 0.91 cmd: cp 94412 [runnable] 2.91r 0.00u 0.80s 6% 3104k<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&gt; /dev/null 32%<br>
load: 0.91 cmd: cp 94412 [runnable] 4.20r 0.00u 1.23s 9% 3104k<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&gt; /dev/null 49%<br>
load: 0.91 cmd: cp 94412 [runnable] 5.43r 0.00u 1.64s 11% 3104k<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&gt; /dev/null 64%<br>
load: 1.07 cmd: cp 94412 [runnable] 6.65r 0.00u 2.05s 13% 3104k<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&gt; /dev/null 79%<br>
load: 1.07 cmd: cp 94412 [runnable] 7.87r 0.00u 2.43s 15% 3104k<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso -&gt; /dev/null 95%</p>

<pre><code>
&gt; I prcessed CTRL+T six times.  Without that, all the output would have been is the first line.

&gt; Another example how the process is changing states:

</code></pre>

<p>wget <a href="https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-dvd1.iso" target="_blank" rel="nofollow noopener">https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-dvd1.iso</a><br>
–2018-06-17 18:47:48– <a href="https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-dvd1.iso" target="_blank" rel="nofollow noopener">https://download.freebsd.org/ftp/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-dvd1.iso</a><br>
Resolving <a href="http://download.freebsd.org" target="_blank" rel="nofollow noopener">download.freebsd.org</a> (<a href="http://download.freebsd.org" target="_blank" rel="nofollow noopener">download.freebsd.org</a>)… 96.47.72.72, 2610:1c1:1:606c::15:0<br>
Connecting to <a href="http://download.freebsd.org" target="_blank" rel="nofollow noopener">download.freebsd.org</a> (<a href="http://download.freebsd.org" target="_blank" rel="nofollow noopener">download.freebsd.org</a>)|96.47.72.72|:443… connected.<br>
HTTP request sent, awaiting response… 200 OK<br>
Length: 3348465664 (3.1G) [application/octet-stream]<br>
Saving to: ‘FreeBSD-11.1-RELEASE-amd64-dvd1.iso’</p>

<p>FreeBSD-11.1-RELEASE-amd64-dvd1.iso 1%[&gt; ] 41.04M 527KB/s eta 26m 49sload: 4.95 cmd: wget 10152 waiting 0.48u 0.72s<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso 1%[&gt; ] 49.41M 659KB/s eta 25m 29sload: 12.64 cmd: wget 10152 waiting 0.55u 0.85s<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso 2%[=&gt; ] 75.58M 6.31MB/s eta 20m 6s load: 11.71 cmd: wget 10152 running 0.73u 1.19s<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso 2%[=&gt; ] 85.63M 6.83MB/s eta 18m 58sload: 11.71 cmd: wget 10152 waiting 0.80u 1.32s<br>
FreeBSD-11.1-RELEASE-amd64-dvd1.iso 14%[==============&gt; ] 460.23M 7.01MB/s eta 9m 0s 1</p>

<pre><code>
&gt; The bad news is that CTRl+T doesn’t work with Linux kernel, but you can use it on MacOS/OS-X:

</code></pre>

<p>—&gt; Fetching distfiles for gmp<br>
—&gt; Attempting to fetch gmp-6.1.2.tar.bz2 from <a href="https://distfiles.macports.org/gmp" target="_blank" rel="nofollow noopener">https://distfiles.macports.org/gmp</a><br>
—&gt; Verifying checksums for gmp<br>
—&gt; Extracting gmp<br>
—&gt; Applying patches to gmp<br>
—&gt; Configuring gmp<br>
load: 2.81 cmd: clang 74287 running 0.31u 0.28s</p>

<pre><code>
&gt; PS: If I recall correctly Feld showed me CTRL+T, thank you!

***


##Beastie Bits
+ [Half billion tries for a HAMMER2 bug](http://lists.dragonflybsd.org/pipermail/commits/2018-May/672263.html)
+ OpenBSD with various Desktops
 + [OpenBSD 6.3 running twm window manager](https://youtu.be/v6XeC5wU2s4)
 + [OpenBSD 6.3 jwm and rox desktop](https://youtu.be/jlSK2oi7CBc)
 + [OpenBSD 6.3 cwm youtube video](https://youtu.be/mgqNyrP2CPs)
+ [pf: Increase default state table size](https://svnweb.freebsd.org/base?view=revision&amp;revision=336221)
***

**Tarsnap**

##Feedback/Questions
+ Ben Sims - [Full feed?](http://dpaste.com/3XVH91T#wrap)
+ Scott - [Questions and Comments](http://dpaste.com/08P34YN#wrap)
+ Troels - [Features of FreeBSD 11.2 that deserve a mention](http://dpaste.com/3DDPEC2#wrap)
+ [Fred - Show Ideas](http://dpaste.com/296ZA0P#wrap)
***

- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [feedback@bsdnow.tv](mailto:feedback@bsdnow.tv)
***

***

iXsystems [It's all NAS](https://www.ixsystems.com/blog/its-all-nas/)
</code></pre>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 254: Bare the OS | BSD Now 254</title>
  <link>https://www.bsdnow.tv/254</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2259</guid>
  <pubDate>Thu, 12 Jul 2018 11:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d28fb670-e841-4f88-b58f-768d8876f126.mp3" length="54900530" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Control flow integrity with HardenedBSD, fixing bufferbloat with OpenBSD’s pf, Bareos Backup Server on FreeBSD, MeetBSD CfP, crypto simplified interface, twitter gems, interesting BSD commits, and more.</itunes:subtitle>
  <itunes:duration>1:31:23</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>&lt;p&gt;Control flow integrity with HardenedBSD, fixing bufferbloat with OpenBSD’s pf, Bareos Backup Server on FreeBSD, MeetBSD CfP, crypto simplified interface, twitter gems, interesting BSD commits, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://vermaden.wordpress.com/2018/06/07/silent-fanless-freebsd-desktop-server/" target="_blank" rel="nofollow noopener"&gt;Silent Fanless FreeBSD Desktop/Server&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Today I will write about silent fanless FreeBSD desktop or server computer … or NAS … or you name it, it can have multa##Headlines&lt;br&gt;
###&lt;a href="https://github.com/lattera/articles/blob/master/hardenedbsd/2018-05-26_cross-dso-cfi/article.md" target="_blank" rel="nofollow noopener"&gt;Cross-DSO CFI in HardenedBSD&lt;/a&gt;&lt;br&gt;
Control Flow Integrity, or CFI, raises the bar for attackers aiming to hijack control flow and execute arbitrary code. The llvm compiler toolchain, included and used by default in HardenedBSD 12-CURRENT/amd64, supports forward-edge CFI. Backward-edge CFI support is gained via a tangential feature called SafeStack. Cross-DSO CFI builds upon ASLR and PaX NOEXEC for effectiveness.&lt;br&gt;
HardenedBSD supports non-Cross-DSO CFI in base for 12-CURRENT/amd64 and has it enabled for a few individual ports. The term “non-Cross-DSO CFI” means that CFI is enabled for code within an application’s codebase, but not for the shared libraries it depends on. Supporting non-Cross-DSO CFI is an important initial milestone for supporting Cross-DSO CFI, or CFI applied to both shared libraries and applications.&lt;br&gt;
This article discusses where HardenedBSD stands with regards to Cross-DSO CFI in base. We have made a lot of progress, yet we’re not even half-way there.&lt;br&gt;
Brace yourself: This article is going to be full of references to “Cross-DSO CFI.” Make a drinking game out of it. Or don’t. It’s your call. ;)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Using More llvm Toolchain Components&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;CFI requires compiling source files with Link-Time Optimization (LTO). I remembered hearing a few years back that llvm developers were able to compile the entirety of FreeBSD’s source code with LTO. Compiling with LTO produces intermediate object files as LLVM IR bitcode instead of ELF objects.&lt;br&gt;
In March of 2017, we started compiling all applications with LTO and non-Cross-DSO CFI. This also enabled ld.lld as the default linker in base since CFI requires lld. Commit f38b51668efcd53b8146789010611a4632cafade made the switch to ld.lld as the default linker while enabling non-Cross-DSO CFI at the same time.&lt;br&gt;
Building libraries in base requires applications like ar, ranlib, nm, and objdump. In FreeBSD 12-CURRENT, ar and ranlib are known as “BSD ar” and “BSD ranlib.” In fact, ar and ranlib are the same applications. One is hardlinked to another and the application changes behavior depending on arvgv[0] ending in “ranlib”. The ar, nm, and objdump used in FreeBSD do not support LLVM IR bitcode object files.&lt;br&gt;
In preparation for Cross-DSO CFI support, commit fe4bb0104fc75c7216a6dafe2d7db0e3f5fe8257 in October 2017 saw HardenedBSD switching ar, ranlib, nm, and objdump to their respective llvm components. The llvm versions due support LLVM IR bitcode object files (surprise!) There has been some fallout in the ports tree and we’ve added LLVM_AR_UNSAFE and friends to help transition those ports that dislike llvm-ar, llvm-ranlib, llvm-nm, and llvm-objdump.&lt;br&gt;
With ld.lld, llvm-ar, llvm-ranlib, llvm-nm, and llvm-objdump the default, HardenedBSD has effectively switched to a full llvm compiler toolchain in 12-CURRENT/amd64.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Building Libraries With LTO&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The primary 12-CURRENT development branch in HardenedBSD (hardened/current/master) only builds applications with LTO as mentioned in the secion above. My first attempt at building all static and shared libraries failed due to issues within llvm itself.&lt;br&gt;
I reported these issues to FreeBSD. Ed Maste (emaste@), Dimitry Andric (dim@), and llvm’s Rafael Espindola expertly helped address these issues. Various commits within the llvm project by Rafael fully and quickly resolved the issues brought up privately in emails.&lt;br&gt;
With llvm fixed, I could now build nearly every library in base with LTO. I noticed, however, that if I kept non-Cross-DSO CFI and SafeStack enabled, all applications would segfault. Even simplistic applications like /bin/ls.&lt;br&gt;
Disabling both non-Cross-DSO CFI and SafeStack, but keeping LTO produced a fully functioning world! I have spent the last few months figuring out why enabling either non-Cross-DSO CFI or SafeStack caused issues. This brings us to today.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Sanitizers in FreeBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD brought in all the files required for SafeStack and CFI. When compiling with SafeStack, llvm statically links a full sanitization framework into the application. FreeBSD includes a full copy of the sanitization framework in SafeStack, including the common C++ sanization namespaces. Thus, libclang_rt.safestack included code meant to be shared among all the sanitizers, not just SafeStack.&lt;br&gt;
I had naively taken a brute-force approach to setting up the libclang_rt.cfi static library. I copied the Makefile from libclang_rt.safestack and used that as a template for libclang_rt.cfi. This approach was incorrect due to breaking the One Definition Rule (ODR). Essentially, I ended up including a duplicate copy of the C++ classes and sanitizer runtime if both CFI and SafeStack were used.&lt;br&gt;
In my Cross-DSO CFI development VM, I now have SafeStack disabled across-the-board and am only compiling in CFI. As of 26 May 2018, an LTO-ified world (libs + apps) works in my limited testing. /bin/ls does not crash anymore! The second major milestone for Cross-DSO CFI has now been reached.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Known Issues And Limitations&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There are a few known issues and regressions. Note that this list of known issues essentially also constitutes a “work-in-progress” and every known issue will be fixed prior to the official launch of Cross-DSO CFI.&lt;br&gt;
It seems llvm does not like statically compiling applications with LTO that have a mixture of C and C++ code. /sbin/devd is one of these applications. As such, when Cross-DSO CFI is enabled, devd is compiled as a Position-Independent Executable (PIE). Doing this breaks UFS systems where /usr is on a separate partition. We are currently looking into solving this issue to allow devd to be statically compiled again.&lt;br&gt;
NO_SHARED is now unset in the tools build stage (aka, bootstrap-tools, cross-tools). This is related to the static compilation issue above. Unsetting NO_SHARED for to tools build stage is only a band-aid until we can resolve static compliation with LTO.&lt;br&gt;
One goal of our Cross-DSO CFI integration work is to be able to support the cfi-icall scheme when dlopen(3) and dlsym(3)/dlfunc(3) is used. This means the runtime linker (RTLD), must be enhanced to know and care about the CFI runtime. This enhancement is not currently implemented, but is planned.&lt;br&gt;
When Cross-DSO CFI is enabled, SafeStack is disabled. This is because compiling with Cross-DSO CFI brings in a second copy of the sanitizer runtime, violating the One Definition Rule (ODR). Resolving this issue should be straightforward: Unify the sanitizer runtime into a single common library that both Cross-DSO CFI and SafeStack can link against.  When the installed world has Cross-DSO CFI enabled, performing a buildworld with Cross-DSO CFI disabled fails. This is somewhat related to the static compilation issue described above.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Current Status&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve managed to get a Cross-DSO CFI world booting on bare metal (my development laptop) and in a VM. Some applications failed to work. Curiously, Firefox still worked (which also means xorg works).&lt;br&gt;
I’m now working through the known issues list, researching and learning.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Future Work&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Fixing pretty much everything in the “Known Issues And Limitations” section. ;P&lt;br&gt;
I need to create a static library that includes only a single copy of the common sanitizer framework code. Applications compiled with CFI or SafeStack will then only have a single copy of the framework.&lt;br&gt;
Next I will need to integrate support in the RTLD for Cross-DSO CFI. Applications with the cfi-icall scheme enabled that call functions resolved through dlsym(3) currently crash due to the lack of RTLD support. I need to make a design decision as to whether to only support adding cfi-icall whitelist entries only with dlfunc(3) or to also whitelist cfi-icall entries with the more widely used dlsym(3).&lt;br&gt;
There’s likely more items in the “TODO” bucket that I am not currently aware of. I’m treading in uncharted territory. I have no firm ETA for any bit of this work. We may gain Cross-DSO CFI support in 2018, but it’s looking like it will be later in either 2019 or 2020.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I have been working on Cross-DSO CFI support in HardenedBSD for a little over a year now. A lot of progress is being made, yet there’s still some major hurdles to overcome. This work has already helped improve llvm and I hope more commits upstream to both FreeBSD and llvm will happen.&lt;br&gt;
We’re getting closer to being able to send out a preliminary Call For Testing (CFT). At the very least, I would like to solve the static linking issues prior to publishing the CFT. Expect it to be published before the end of 2018.&lt;br&gt;
I would like to thank Ed Maste, Dimitry Andric, and Rafael Espindola for their help, guidance, and support.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;br&gt;
FreeNAS 11.2-BETAs are starting to appear&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://vermaden.wordpress.com/2018/05/01/bareos-backup-server-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Bareos Backup Server on FreeBSD&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Ever heard about Bareos? Probably heard about Bacula. Read what is the difference here – Why Bareos forked from Bacula?&lt;br&gt;
Bareos (Backup Archiving Recovery Open Sourced) is a network based open source backup solution. It is 100% open source fork of the backup project from &lt;a href="http://bacula.org" target="_blank" rel="nofollow noopener"&gt;bacula.org&lt;/a&gt; site. The fork is in development since late 2010 and it has a lot of new features. The source is published on github and licensed under AGPLv3 license. Bareos supports ‘Always Incremental backup which is interesting especially for users with big data. The time and network capacity consuming full backups only have to be taken once. Bareos comes with WebUI for administration tasks and restore file browser. Bareos can backup data to disk and to tape drives as well as tape libraries. It supports compression and encryption both hardware-based (like on LTO tape drives) and software-based. You can also get professional services and support from Bareos as well as Bareos subscription service that provides you access to special quality assured installation packages.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I started my sysadmin job with backup system as one of the new responsibilities, so it will be like going back to the roots. As I look on the ‘backup’ market it is more and more popular – especially in cloud oriented environments – to implement various levels of protection like GOLD, SILVER and BRONZE for example. They of course have different retention times, number of backups kept, different RTO and RPO. Below is a example implementation of BRONZE level backups in Bareos. I used 3 groups of A, B and C with FULL backup starting on DAY 0 (A group), DAY 1 (B group) and DAY 2 (C group).&lt;br&gt;
This way you still have FULL backups quite often and with 3 groups you can balance the network load. I for the days that we will not be doing FULL backups we will be doing DIFFERENTIAL backups. People often confuse them with INCREMENTAL backups. The difference is that DIFFERENTIAL backups are always against FULL backup, so its always ‘one level of combining’. INCREMENTAL ones are done against last done backup TYPE, so its possible to have 100+ levels of combining against 99 earlier INCREMENTAL backups and the 1 FULL backup. That is why I prefer DIFFERENTIAL ones here, faster recovery. That is all backups is about generally, recovery, some people/companies tend to forget that.&lt;br&gt;
The implementation of BRONZE in these three groups is not perfect, but ‘does the job’. I also made ‘simulation’ how these group will overlap at the end/beginning of the month, here is the result.&lt;br&gt;
Not bad for my taste.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Today I will show you how to install and configure Bareos Server based on FreeBSD operating system. It will be the most simplified setup with all services on single machine:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;bareos-dir&lt;/li&gt;
&lt;li&gt;bareos-sd&lt;/li&gt;
&lt;li&gt;bareos-webui&lt;/li&gt;
&lt;li&gt;bareos-fd&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I also assume that in order to provide storage space for the backup data itself You would mount resources from external NFS shares.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;To get in touch with Bareos terminology and technology check their great Manual in HTML or PDF version depending which format You prefer for reading documentation. Also their FAQ provides a lot of needed answers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Also this diagram may be useful for You to get some grip into the Bareos world.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;System&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As every system needs to have its name we will use latin word closest to backup here – replica – for our FreeBSD system hostname. The install would be generally the same as in the FreeBSD Desktop – Part 2 – Install article. Here is our installed FreeBSD system with login prompt.&lt;/p&gt;
&lt;/blockquote&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Control flow integrity with HardenedBSD, fixing bufferbloat with OpenBSD’s pf, Bareos Backup Server on FreeBSD, MeetBSD CfP, crypto simplified interface, twitter gems, interesting BSD commits, and more.</p>

<p>##Headlines<br>
###<a href="https://vermaden.wordpress.com/2018/06/07/silent-fanless-freebsd-desktop-server/" target="_blank" rel="nofollow noopener">Silent Fanless FreeBSD Desktop/Server</a></p>

<blockquote>
<p>Today I will write about silent fanless FreeBSD desktop or server computer … or NAS … or you name it, it can have multa##Headlines<br>
###<a href="https://github.com/lattera/articles/blob/master/hardenedbsd/2018-05-26_cross-dso-cfi/article.md" target="_blank" rel="nofollow noopener">Cross-DSO CFI in HardenedBSD</a><br>
Control Flow Integrity, or CFI, raises the bar for attackers aiming to hijack control flow and execute arbitrary code. The llvm compiler toolchain, included and used by default in HardenedBSD 12-CURRENT/amd64, supports forward-edge CFI. Backward-edge CFI support is gained via a tangential feature called SafeStack. Cross-DSO CFI builds upon ASLR and PaX NOEXEC for effectiveness.<br>
HardenedBSD supports non-Cross-DSO CFI in base for 12-CURRENT/amd64 and has it enabled for a few individual ports. The term “non-Cross-DSO CFI” means that CFI is enabled for code within an application’s codebase, but not for the shared libraries it depends on. Supporting non-Cross-DSO CFI is an important initial milestone for supporting Cross-DSO CFI, or CFI applied to both shared libraries and applications.<br>
This article discusses where HardenedBSD stands with regards to Cross-DSO CFI in base. We have made a lot of progress, yet we’re not even half-way there.<br>
Brace yourself: This article is going to be full of references to “Cross-DSO CFI.” Make a drinking game out of it. Or don’t. It’s your call. ;)</p>
</blockquote>

<ul>
<li>Using More llvm Toolchain Components</li>
</ul>

<blockquote>
<p>CFI requires compiling source files with Link-Time Optimization (LTO). I remembered hearing a few years back that llvm developers were able to compile the entirety of FreeBSD’s source code with LTO. Compiling with LTO produces intermediate object files as LLVM IR bitcode instead of ELF objects.<br>
In March of 2017, we started compiling all applications with LTO and non-Cross-DSO CFI. This also enabled ld.lld as the default linker in base since CFI requires lld. Commit f38b51668efcd53b8146789010611a4632cafade made the switch to ld.lld as the default linker while enabling non-Cross-DSO CFI at the same time.<br>
Building libraries in base requires applications like ar, ranlib, nm, and objdump. In FreeBSD 12-CURRENT, ar and ranlib are known as “BSD ar” and “BSD ranlib.” In fact, ar and ranlib are the same applications. One is hardlinked to another and the application changes behavior depending on arvgv[0] ending in “ranlib”. The ar, nm, and objdump used in FreeBSD do not support LLVM IR bitcode object files.<br>
In preparation for Cross-DSO CFI support, commit fe4bb0104fc75c7216a6dafe2d7db0e3f5fe8257 in October 2017 saw HardenedBSD switching ar, ranlib, nm, and objdump to their respective llvm components. The llvm versions due support LLVM IR bitcode object files (surprise!) There has been some fallout in the ports tree and we’ve added LLVM_AR_UNSAFE and friends to help transition those ports that dislike llvm-ar, llvm-ranlib, llvm-nm, and llvm-objdump.<br>
With ld.lld, llvm-ar, llvm-ranlib, llvm-nm, and llvm-objdump the default, HardenedBSD has effectively switched to a full llvm compiler toolchain in 12-CURRENT/amd64.</p>
</blockquote>

<ul>
<li>Building Libraries With LTO</li>
</ul>

<blockquote>
<p>The primary 12-CURRENT development branch in HardenedBSD (hardened/current/master) only builds applications with LTO as mentioned in the secion above. My first attempt at building all static and shared libraries failed due to issues within llvm itself.<br>
I reported these issues to FreeBSD. Ed Maste (emaste@), Dimitry Andric (dim@), and llvm’s Rafael Espindola expertly helped address these issues. Various commits within the llvm project by Rafael fully and quickly resolved the issues brought up privately in emails.<br>
With llvm fixed, I could now build nearly every library in base with LTO. I noticed, however, that if I kept non-Cross-DSO CFI and SafeStack enabled, all applications would segfault. Even simplistic applications like /bin/ls.<br>
Disabling both non-Cross-DSO CFI and SafeStack, but keeping LTO produced a fully functioning world! I have spent the last few months figuring out why enabling either non-Cross-DSO CFI or SafeStack caused issues. This brings us to today.</p>
</blockquote>

<ul>
<li>The Sanitizers in FreeBSD</li>
</ul>

<blockquote>
<p>FreeBSD brought in all the files required for SafeStack and CFI. When compiling with SafeStack, llvm statically links a full sanitization framework into the application. FreeBSD includes a full copy of the sanitization framework in SafeStack, including the common C++ sanization namespaces. Thus, libclang_rt.safestack included code meant to be shared among all the sanitizers, not just SafeStack.<br>
I had naively taken a brute-force approach to setting up the libclang_rt.cfi static library. I copied the Makefile from libclang_rt.safestack and used that as a template for libclang_rt.cfi. This approach was incorrect due to breaking the One Definition Rule (ODR). Essentially, I ended up including a duplicate copy of the C++ classes and sanitizer runtime if both CFI and SafeStack were used.<br>
In my Cross-DSO CFI development VM, I now have SafeStack disabled across-the-board and am only compiling in CFI. As of 26 May 2018, an LTO-ified world (libs + apps) works in my limited testing. /bin/ls does not crash anymore! The second major milestone for Cross-DSO CFI has now been reached.</p>
</blockquote>

<ul>
<li>Known Issues And Limitations</li>
</ul>

<blockquote>
<p>There are a few known issues and regressions. Note that this list of known issues essentially also constitutes a “work-in-progress” and every known issue will be fixed prior to the official launch of Cross-DSO CFI.<br>
It seems llvm does not like statically compiling applications with LTO that have a mixture of C and C++ code. /sbin/devd is one of these applications. As such, when Cross-DSO CFI is enabled, devd is compiled as a Position-Independent Executable (PIE). Doing this breaks UFS systems where /usr is on a separate partition. We are currently looking into solving this issue to allow devd to be statically compiled again.<br>
NO_SHARED is now unset in the tools build stage (aka, bootstrap-tools, cross-tools). This is related to the static compilation issue above. Unsetting NO_SHARED for to tools build stage is only a band-aid until we can resolve static compliation with LTO.<br>
One goal of our Cross-DSO CFI integration work is to be able to support the cfi-icall scheme when dlopen(3) and dlsym(3)/dlfunc(3) is used. This means the runtime linker (RTLD), must be enhanced to know and care about the CFI runtime. This enhancement is not currently implemented, but is planned.<br>
When Cross-DSO CFI is enabled, SafeStack is disabled. This is because compiling with Cross-DSO CFI brings in a second copy of the sanitizer runtime, violating the One Definition Rule (ODR). Resolving this issue should be straightforward: Unify the sanitizer runtime into a single common library that both Cross-DSO CFI and SafeStack can link against.  When the installed world has Cross-DSO CFI enabled, performing a buildworld with Cross-DSO CFI disabled fails. This is somewhat related to the static compilation issue described above.</p>
</blockquote>

<ul>
<li>Current Status</li>
</ul>

<blockquote>
<p>I’ve managed to get a Cross-DSO CFI world booting on bare metal (my development laptop) and in a VM. Some applications failed to work. Curiously, Firefox still worked (which also means xorg works).<br>
I’m now working through the known issues list, researching and learning.</p>
</blockquote>

<ul>
<li>Future Work</li>
</ul>

<blockquote>
<p>Fixing pretty much everything in the “Known Issues And Limitations” section. ;P<br>
I need to create a static library that includes only a single copy of the common sanitizer framework code. Applications compiled with CFI or SafeStack will then only have a single copy of the framework.<br>
Next I will need to integrate support in the RTLD for Cross-DSO CFI. Applications with the cfi-icall scheme enabled that call functions resolved through dlsym(3) currently crash due to the lack of RTLD support. I need to make a design decision as to whether to only support adding cfi-icall whitelist entries only with dlfunc(3) or to also whitelist cfi-icall entries with the more widely used dlsym(3).<br>
There’s likely more items in the “TODO” bucket that I am not currently aware of. I’m treading in uncharted territory. I have no firm ETA for any bit of this work. We may gain Cross-DSO CFI support in 2018, but it’s looking like it will be later in either 2019 or 2020.</p>
</blockquote>

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

<blockquote>
<p>I have been working on Cross-DSO CFI support in HardenedBSD for a little over a year now. A lot of progress is being made, yet there’s still some major hurdles to overcome. This work has already helped improve llvm and I hope more commits upstream to both FreeBSD and llvm will happen.<br>
We’re getting closer to being able to send out a preliminary Call For Testing (CFT). At the very least, I would like to solve the static linking issues prior to publishing the CFT. Expect it to be published before the end of 2018.<br>
I would like to thank Ed Maste, Dimitry Andric, and Rafael Espindola for their help, guidance, and support.</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong><br>
FreeNAS 11.2-BETAs are starting to appear</p>

<p>###<a href="https://vermaden.wordpress.com/2018/05/01/bareos-backup-server-on-freebsd/" target="_blank" rel="nofollow noopener">Bareos Backup Server on FreeBSD</a></p>

<blockquote>
<p>Ever heard about Bareos? Probably heard about Bacula. Read what is the difference here – Why Bareos forked from Bacula?<br>
Bareos (Backup Archiving Recovery Open Sourced) is a network based open source backup solution. It is 100% open source fork of the backup project from <a href="http://bacula.org" target="_blank" rel="nofollow noopener">bacula.org</a> site. The fork is in development since late 2010 and it has a lot of new features. The source is published on github and licensed under AGPLv3 license. Bareos supports ‘Always Incremental backup which is interesting especially for users with big data. The time and network capacity consuming full backups only have to be taken once. Bareos comes with WebUI for administration tasks and restore file browser. Bareos can backup data to disk and to tape drives as well as tape libraries. It supports compression and encryption both hardware-based (like on LTO tape drives) and software-based. You can also get professional services and support from Bareos as well as Bareos subscription service that provides you access to special quality assured installation packages.</p>
</blockquote>

<blockquote>
<p>I started my sysadmin job with backup system as one of the new responsibilities, so it will be like going back to the roots. As I look on the ‘backup’ market it is more and more popular – especially in cloud oriented environments – to implement various levels of protection like GOLD, SILVER and BRONZE for example. They of course have different retention times, number of backups kept, different RTO and RPO. Below is a example implementation of BRONZE level backups in Bareos. I used 3 groups of A, B and C with FULL backup starting on DAY 0 (A group), DAY 1 (B group) and DAY 2 (C group).<br>
This way you still have FULL backups quite often and with 3 groups you can balance the network load. I for the days that we will not be doing FULL backups we will be doing DIFFERENTIAL backups. People often confuse them with INCREMENTAL backups. The difference is that DIFFERENTIAL backups are always against FULL backup, so its always ‘one level of combining’. INCREMENTAL ones are done against last done backup TYPE, so its possible to have 100+ levels of combining against 99 earlier INCREMENTAL backups and the 1 FULL backup. That is why I prefer DIFFERENTIAL ones here, faster recovery. That is all backups is about generally, recovery, some people/companies tend to forget that.<br>
The implementation of BRONZE in these three groups is not perfect, but ‘does the job’. I also made ‘simulation’ how these group will overlap at the end/beginning of the month, here is the result.<br>
Not bad for my taste.</p>
</blockquote>

<blockquote>
<p>Today I will show you how to install and configure Bareos Server based on FreeBSD operating system. It will be the most simplified setup with all services on single machine:</p>
</blockquote>

<ul>
<li>bareos-dir</li>
<li>bareos-sd</li>
<li>bareos-webui</li>
<li>bareos-fd</li>
</ul>

<blockquote>
<p>I also assume that in order to provide storage space for the backup data itself You would mount resources from external NFS shares.</p>
</blockquote>

<blockquote>
<p>To get in touch with Bareos terminology and technology check their great Manual in HTML or PDF version depending which format You prefer for reading documentation. Also their FAQ provides a lot of needed answers.</p>
</blockquote>

<blockquote>
<p>Also this diagram may be useful for You to get some grip into the Bareos world.</p>
</blockquote>

<ul>
<li>System</li>
</ul>

<blockquote>
<p>As every system needs to have its name we will use latin word closest to backup here – replica – for our FreeBSD system hostname. The install would be generally the same as in the FreeBSD Desktop – Part 2 – Install article. Here is our installed FreeBSD system with login prompt.</p>
</blockquote>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Control flow integrity with HardenedBSD, fixing bufferbloat with OpenBSD’s pf, Bareos Backup Server on FreeBSD, MeetBSD CfP, crypto simplified interface, twitter gems, interesting BSD commits, and more.</p>

<p>##Headlines<br>
###<a href="https://vermaden.wordpress.com/2018/06/07/silent-fanless-freebsd-desktop-server/" target="_blank" rel="nofollow noopener">Silent Fanless FreeBSD Desktop/Server</a></p>

<blockquote>
<p>Today I will write about silent fanless FreeBSD desktop or server computer … or NAS … or you name it, it can have multa##Headlines<br>
###<a href="https://github.com/lattera/articles/blob/master/hardenedbsd/2018-05-26_cross-dso-cfi/article.md" target="_blank" rel="nofollow noopener">Cross-DSO CFI in HardenedBSD</a><br>
Control Flow Integrity, or CFI, raises the bar for attackers aiming to hijack control flow and execute arbitrary code. The llvm compiler toolchain, included and used by default in HardenedBSD 12-CURRENT/amd64, supports forward-edge CFI. Backward-edge CFI support is gained via a tangential feature called SafeStack. Cross-DSO CFI builds upon ASLR and PaX NOEXEC for effectiveness.<br>
HardenedBSD supports non-Cross-DSO CFI in base for 12-CURRENT/amd64 and has it enabled for a few individual ports. The term “non-Cross-DSO CFI” means that CFI is enabled for code within an application’s codebase, but not for the shared libraries it depends on. Supporting non-Cross-DSO CFI is an important initial milestone for supporting Cross-DSO CFI, or CFI applied to both shared libraries and applications.<br>
This article discusses where HardenedBSD stands with regards to Cross-DSO CFI in base. We have made a lot of progress, yet we’re not even half-way there.<br>
Brace yourself: This article is going to be full of references to “Cross-DSO CFI.” Make a drinking game out of it. Or don’t. It’s your call. ;)</p>
</blockquote>

<ul>
<li>Using More llvm Toolchain Components</li>
</ul>

<blockquote>
<p>CFI requires compiling source files with Link-Time Optimization (LTO). I remembered hearing a few years back that llvm developers were able to compile the entirety of FreeBSD’s source code with LTO. Compiling with LTO produces intermediate object files as LLVM IR bitcode instead of ELF objects.<br>
In March of 2017, we started compiling all applications with LTO and non-Cross-DSO CFI. This also enabled ld.lld as the default linker in base since CFI requires lld. Commit f38b51668efcd53b8146789010611a4632cafade made the switch to ld.lld as the default linker while enabling non-Cross-DSO CFI at the same time.<br>
Building libraries in base requires applications like ar, ranlib, nm, and objdump. In FreeBSD 12-CURRENT, ar and ranlib are known as “BSD ar” and “BSD ranlib.” In fact, ar and ranlib are the same applications. One is hardlinked to another and the application changes behavior depending on arvgv[0] ending in “ranlib”. The ar, nm, and objdump used in FreeBSD do not support LLVM IR bitcode object files.<br>
In preparation for Cross-DSO CFI support, commit fe4bb0104fc75c7216a6dafe2d7db0e3f5fe8257 in October 2017 saw HardenedBSD switching ar, ranlib, nm, and objdump to their respective llvm components. The llvm versions due support LLVM IR bitcode object files (surprise!) There has been some fallout in the ports tree and we’ve added LLVM_AR_UNSAFE and friends to help transition those ports that dislike llvm-ar, llvm-ranlib, llvm-nm, and llvm-objdump.<br>
With ld.lld, llvm-ar, llvm-ranlib, llvm-nm, and llvm-objdump the default, HardenedBSD has effectively switched to a full llvm compiler toolchain in 12-CURRENT/amd64.</p>
</blockquote>

<ul>
<li>Building Libraries With LTO</li>
</ul>

<blockquote>
<p>The primary 12-CURRENT development branch in HardenedBSD (hardened/current/master) only builds applications with LTO as mentioned in the secion above. My first attempt at building all static and shared libraries failed due to issues within llvm itself.<br>
I reported these issues to FreeBSD. Ed Maste (emaste@), Dimitry Andric (dim@), and llvm’s Rafael Espindola expertly helped address these issues. Various commits within the llvm project by Rafael fully and quickly resolved the issues brought up privately in emails.<br>
With llvm fixed, I could now build nearly every library in base with LTO. I noticed, however, that if I kept non-Cross-DSO CFI and SafeStack enabled, all applications would segfault. Even simplistic applications like /bin/ls.<br>
Disabling both non-Cross-DSO CFI and SafeStack, but keeping LTO produced a fully functioning world! I have spent the last few months figuring out why enabling either non-Cross-DSO CFI or SafeStack caused issues. This brings us to today.</p>
</blockquote>

<ul>
<li>The Sanitizers in FreeBSD</li>
</ul>

<blockquote>
<p>FreeBSD brought in all the files required for SafeStack and CFI. When compiling with SafeStack, llvm statically links a full sanitization framework into the application. FreeBSD includes a full copy of the sanitization framework in SafeStack, including the common C++ sanization namespaces. Thus, libclang_rt.safestack included code meant to be shared among all the sanitizers, not just SafeStack.<br>
I had naively taken a brute-force approach to setting up the libclang_rt.cfi static library. I copied the Makefile from libclang_rt.safestack and used that as a template for libclang_rt.cfi. This approach was incorrect due to breaking the One Definition Rule (ODR). Essentially, I ended up including a duplicate copy of the C++ classes and sanitizer runtime if both CFI and SafeStack were used.<br>
In my Cross-DSO CFI development VM, I now have SafeStack disabled across-the-board and am only compiling in CFI. As of 26 May 2018, an LTO-ified world (libs + apps) works in my limited testing. /bin/ls does not crash anymore! The second major milestone for Cross-DSO CFI has now been reached.</p>
</blockquote>

<ul>
<li>Known Issues And Limitations</li>
</ul>

<blockquote>
<p>There are a few known issues and regressions. Note that this list of known issues essentially also constitutes a “work-in-progress” and every known issue will be fixed prior to the official launch of Cross-DSO CFI.<br>
It seems llvm does not like statically compiling applications with LTO that have a mixture of C and C++ code. /sbin/devd is one of these applications. As such, when Cross-DSO CFI is enabled, devd is compiled as a Position-Independent Executable (PIE). Doing this breaks UFS systems where /usr is on a separate partition. We are currently looking into solving this issue to allow devd to be statically compiled again.<br>
NO_SHARED is now unset in the tools build stage (aka, bootstrap-tools, cross-tools). This is related to the static compilation issue above. Unsetting NO_SHARED for to tools build stage is only a band-aid until we can resolve static compliation with LTO.<br>
One goal of our Cross-DSO CFI integration work is to be able to support the cfi-icall scheme when dlopen(3) and dlsym(3)/dlfunc(3) is used. This means the runtime linker (RTLD), must be enhanced to know and care about the CFI runtime. This enhancement is not currently implemented, but is planned.<br>
When Cross-DSO CFI is enabled, SafeStack is disabled. This is because compiling with Cross-DSO CFI brings in a second copy of the sanitizer runtime, violating the One Definition Rule (ODR). Resolving this issue should be straightforward: Unify the sanitizer runtime into a single common library that both Cross-DSO CFI and SafeStack can link against.  When the installed world has Cross-DSO CFI enabled, performing a buildworld with Cross-DSO CFI disabled fails. This is somewhat related to the static compilation issue described above.</p>
</blockquote>

<ul>
<li>Current Status</li>
</ul>

<blockquote>
<p>I’ve managed to get a Cross-DSO CFI world booting on bare metal (my development laptop) and in a VM. Some applications failed to work. Curiously, Firefox still worked (which also means xorg works).<br>
I’m now working through the known issues list, researching and learning.</p>
</blockquote>

<ul>
<li>Future Work</li>
</ul>

<blockquote>
<p>Fixing pretty much everything in the “Known Issues And Limitations” section. ;P<br>
I need to create a static library that includes only a single copy of the common sanitizer framework code. Applications compiled with CFI or SafeStack will then only have a single copy of the framework.<br>
Next I will need to integrate support in the RTLD for Cross-DSO CFI. Applications with the cfi-icall scheme enabled that call functions resolved through dlsym(3) currently crash due to the lack of RTLD support. I need to make a design decision as to whether to only support adding cfi-icall whitelist entries only with dlfunc(3) or to also whitelist cfi-icall entries with the more widely used dlsym(3).<br>
There’s likely more items in the “TODO” bucket that I am not currently aware of. I’m treading in uncharted territory. I have no firm ETA for any bit of this work. We may gain Cross-DSO CFI support in 2018, but it’s looking like it will be later in either 2019 or 2020.</p>
</blockquote>

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

<blockquote>
<p>I have been working on Cross-DSO CFI support in HardenedBSD for a little over a year now. A lot of progress is being made, yet there’s still some major hurdles to overcome. This work has already helped improve llvm and I hope more commits upstream to both FreeBSD and llvm will happen.<br>
We’re getting closer to being able to send out a preliminary Call For Testing (CFT). At the very least, I would like to solve the static linking issues prior to publishing the CFT. Expect it to be published before the end of 2018.<br>
I would like to thank Ed Maste, Dimitry Andric, and Rafael Espindola for their help, guidance, and support.</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong><br>
FreeNAS 11.2-BETAs are starting to appear</p>

<p>###<a href="https://vermaden.wordpress.com/2018/05/01/bareos-backup-server-on-freebsd/" target="_blank" rel="nofollow noopener">Bareos Backup Server on FreeBSD</a></p>

<blockquote>
<p>Ever heard about Bareos? Probably heard about Bacula. Read what is the difference here – Why Bareos forked from Bacula?<br>
Bareos (Backup Archiving Recovery Open Sourced) is a network based open source backup solution. It is 100% open source fork of the backup project from <a href="http://bacula.org" target="_blank" rel="nofollow noopener">bacula.org</a> site. The fork is in development since late 2010 and it has a lot of new features. The source is published on github and licensed under AGPLv3 license. Bareos supports ‘Always Incremental backup which is interesting especially for users with big data. The time and network capacity consuming full backups only have to be taken once. Bareos comes with WebUI for administration tasks and restore file browser. Bareos can backup data to disk and to tape drives as well as tape libraries. It supports compression and encryption both hardware-based (like on LTO tape drives) and software-based. You can also get professional services and support from Bareos as well as Bareos subscription service that provides you access to special quality assured installation packages.</p>
</blockquote>

<blockquote>
<p>I started my sysadmin job with backup system as one of the new responsibilities, so it will be like going back to the roots. As I look on the ‘backup’ market it is more and more popular – especially in cloud oriented environments – to implement various levels of protection like GOLD, SILVER and BRONZE for example. They of course have different retention times, number of backups kept, different RTO and RPO. Below is a example implementation of BRONZE level backups in Bareos. I used 3 groups of A, B and C with FULL backup starting on DAY 0 (A group), DAY 1 (B group) and DAY 2 (C group).<br>
This way you still have FULL backups quite often and with 3 groups you can balance the network load. I for the days that we will not be doing FULL backups we will be doing DIFFERENTIAL backups. People often confuse them with INCREMENTAL backups. The difference is that DIFFERENTIAL backups are always against FULL backup, so its always ‘one level of combining’. INCREMENTAL ones are done against last done backup TYPE, so its possible to have 100+ levels of combining against 99 earlier INCREMENTAL backups and the 1 FULL backup. That is why I prefer DIFFERENTIAL ones here, faster recovery. That is all backups is about generally, recovery, some people/companies tend to forget that.<br>
The implementation of BRONZE in these three groups is not perfect, but ‘does the job’. I also made ‘simulation’ how these group will overlap at the end/beginning of the month, here is the result.<br>
Not bad for my taste.</p>
</blockquote>

<blockquote>
<p>Today I will show you how to install and configure Bareos Server based on FreeBSD operating system. It will be the most simplified setup with all services on single machine:</p>
</blockquote>

<ul>
<li>bareos-dir</li>
<li>bareos-sd</li>
<li>bareos-webui</li>
<li>bareos-fd</li>
</ul>

<blockquote>
<p>I also assume that in order to provide storage space for the backup data itself You would mount resources from external NFS shares.</p>
</blockquote>

<blockquote>
<p>To get in touch with Bareos terminology and technology check their great Manual in HTML or PDF version depending which format You prefer for reading documentation. Also their FAQ provides a lot of needed answers.</p>
</blockquote>

<blockquote>
<p>Also this diagram may be useful for You to get some grip into the Bareos world.</p>
</blockquote>

<ul>
<li>System</li>
</ul>

<blockquote>
<p>As every system needs to have its name we will use latin word closest to backup here – replica – for our FreeBSD system hostname. The install would be generally the same as in the FreeBSD Desktop – Part 2 – Install article. Here is our installed FreeBSD system with login prompt.</p>
</blockquote>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 253: Silence of the Fans | BSD Now 253</title>
  <link>https://www.bsdnow.tv/253</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2208</guid>
  <pubDate>Thu, 05 Jul 2018 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f597f732-405b-4f10-8d40-c00315bd064b.mp3" length="52181883" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Fanless server setup with FreeBSD, NetBSD on pinebooks, another BSDCan trip report, transparent network audio, MirBSD's Korn Shell on Plan9, static site generators on OpenBSD, and more.</itunes:subtitle>
  <itunes:duration>1:26:51</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>&lt;p&gt;Fanless server setup with FreeBSD, NetBSD on pinebooks, another BSDCan trip report, transparent network audio, MirBSD's Korn Shell on Plan9, static site generators on OpenBSD, and more.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://vermaden.wordpress.com/2018/06/07/silent-fanless-freebsd-desktop-server/" target="_blank" rel="nofollow noopener"&gt;Silent Fanless FreeBSD Desktop/Server&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Today I will write about silent fanless FreeBSD desktop or server computer … or NAS … or you name it, it can have multiple purposes. It also very low power solution, which also means that it will not overheat. Silent means no fans at all, even for the PSU. The format of the system should also be brought to minimum, so Mini-ITX seems best solution here.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I have chosen Intel based solutions as they are very low power (6-10W), if you prefer AMD (as I often do) the closest solution in comparable price and power is Biostar A68N-2100 motherboard with AMD E1-2100 CPU and 9W power. Of course AMD has even more low power SoC solutions but finding the Mini-ITX motherboard with decent price is not an easy task. For comparison Intel has lots of such solutions below 6W whose can be nicely filtered on the &lt;a href="http://ark.intel.com" target="_blank" rel="nofollow noopener"&gt;ark.intel.com&lt;/a&gt; page. Pity that AMD does not provide such filtration for their products. I also chosen AES instructions as storage encryption (GELI on FreeBSD) today seems as obvious as HTTPS for the web pages.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://vermaden.files.wordpress.com/2018/06/itx-mobo.jpg" target="_blank" rel="nofollow noopener"&gt;Here is how the system look powered up and working&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This motherboard uses Intel J3355 SoC which uses 10W and has AES instructions. It has two cores at your disposal but it also supports VT-x and EPT extensions so you can even run Bhyve on it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Components&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Now, an example system would look like that one below, here are the components with their prices.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;$49  CPU/Motherboard ASRock J3355B-ITX Mini-ITX&lt;/li&gt;
&lt;li&gt;$14  RAM Crucial 4 GB DDR3L 1.35V (low power)&lt;/li&gt;
&lt;li&gt;$17  PSU 12V 160W Pico (internal)&lt;/li&gt;
&lt;li&gt;$11  PSU 12V 96W FSP (external)&lt;/li&gt;
&lt;li&gt;$5  USB 2.0 Drive 16 GB ADATA&lt;/li&gt;
&lt;li&gt;$4  USB Wireless 802.11n&lt;/li&gt;
&lt;li&gt;$100  TOTAL&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The PSU 12V 160W Pico (internal) and PSU 12V 96W FSP can be purchased on &lt;a href="http://aliexpress.com" target="_blank" rel="nofollow noopener"&gt;aliexpress.com&lt;/a&gt; or &lt;a href="http://ebay.com" target="_blank" rel="nofollow noopener"&gt;ebay.com&lt;/a&gt; for example, at least I got them there.  Here is the 12V 160W Pico (internal) PSU and its optional additional cables to power the optional HDDs. If course its one SATA power and one MOLEX power so additional MOLEX-SATA power adapter for about 1$ would be needed. Here is the 12V 96W FSP (external) PSU without the power cord.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;This gives as total silent fanless system price of about $120. Its about ONE TENTH OF THE COST of the cheapest FreeNAS hardware solution available – the FreeNAS Mini (Diskless) costs $1156 also without disks.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;You can put plain FreeBSD on top of it or Solaris/Illumos distribution OmniOSce which is server oriented. You can use prebuilt NAS solution based on FreeBSD like FreeNAS, NAS4Free, ZFSguru or even Solaris/Illumos based storage with napp-it appliance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://blog.netbsd.org/tnf/entry/pinebook" target="_blank" rel="nofollow noopener"&gt;An annotated look at a NetBSD Pinebook’s startup&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pinebook is an affordable 64-bit ARM notebook. Today we’re going to take a look at the kernel output at startup and talk about what hardware support is available on NetBSD.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jmcwhatever/status/998258710496628736/photo/1" target="_blank" rel="nofollow noopener"&gt;Photo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Pinebook comes with 2GB RAM standard. A small amount of this is reserved by the kernel and framebuffer.&lt;/li&gt;
&lt;li&gt;NetBSD uses flattened device-tree (FDT) to enumerate devices on all Allwinner based SoCs. On a running system, you can inspect the device tree using the ofctl(8) utility:&lt;/li&gt;
&lt;li&gt;Pinebook’s Allwinner A64 processor is based on the ARM Cortex-A53. It is designed to run at frequencies up to 1.2GHz.&lt;/li&gt;
&lt;li&gt;The A64 is a quad core design. NetBSD’s aarch64 pmap does not yet support SMP, so three cores are disabled for now.&lt;/li&gt;
&lt;li&gt;The interrupt controller is a standard ARM GIC-400 design.&lt;/li&gt;
&lt;li&gt;Clock drivers for managing PLLs, module clock dividers, clock gating, software resets, etc. Information about the clock tree is exported in the hw.clk sysctl namespace (root access required to read these values).&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;# sysctl hw.clk.sun50ia64ccu0.mmc2
hw.clk.sun50ia64ccu0.mmc2.rate = 200000000
hw.clk.sun50ia64ccu0.mmc2.parent = pll_periph0_2x
hw.clk.sun50ia64ccu0.mmc2.parent_domain = sun50ia64ccu0
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Digital Ocean&lt;/strong&gt;&lt;br&gt;
&lt;a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener"&gt;http://do.co/bsdnow&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-mark-johnston/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2018 Trip Report: Mark Johnston&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;BSDCan is a highlight of my summers: the ability to have face-to-face conversations with fellow developers and contributors is invaluable and always helps refresh my enthusiasm for FreeBSD.  While in a perfect world we would all be able to communicate effectively over the Internet, it’s often noted that locking a group of developers together in a room can be a very efficient way to make progress on projects that otherwise get strung out over time, and to me this is one of the principal functions of BSD conferences.  In my case I was able to fix some kgdb bugs that had been hindering me for months; get some opinions on the design of a feature I’ve been working on for FreeBSD 12.0; hear about some ongoing usage of code that I’ve worked on; and do some pair-debugging of an issue that has been affecting another developer.&lt;br&gt;
As is tradition, on Tuesday night I dropped off my things at the university residence where I was staying, and headed straight to the Royal Oak.  This year it didn’t seem quite as packed with BSD developers, but I did meet several long-time colleagues and get a chance to catch up.  In particular, I chatted with Justin Hibbits and got to hear about the bring-up of FreeBSD on POWER9, a new CPU family released by IBM.  Justin was able to acquire a workstation based upon this CPU, which is a great motivator for getting FreeBSD into shape on that platform.  POWER9 also has some promise in the server market, so it’s important for FreeBSD to be a viable OS choice there.&lt;br&gt;
Wednesday morning saw the beginning of the two-day FreeBSD developer summit, which precedes the conference proper.  Gordon Tetlow led the summit and did an excellent job organizing things and keeping to the schedule.  The first presentation was by Deb Goodkin of the FreeBSD Foundation, who gave an overview of the Foundation’s role and activities. After Deb’s presentation, present members of the FreeBSD core team discussed the work they had done over the past two years, as well as open tasks that would be handed over to the new core team upon completion of the ongoing election.  Finally, Marius Strobl rounded off the day’s presentations by discussing the state and responsibilities of FreeBSD’s release engineering team.&lt;br&gt;
One side discussion of interest to me was around the notion of tightening integration with our Bugzilla instance; at moment we do not have any good means to mark a given bug as blocking a release, making it easy for bugs to slip into releases and thus lowering our overall quality.  With FreeBSD 12.0 upon us, I plan to help with the triage and fixes for known regressions before the release process begins.&lt;br&gt;
After a break, the rest of the morning was devoted to plans for features in upcoming FreeBSD releases.  This is one of my favorite discussion topics and typically takes the form of have/need/want, where developers collectively list features that they’ve developed and intend to upstream (have), features that they are missing (need), and nice-to-have features (want).  This year, instead of the usual format, we listed features that are intended to ship in FreeBSD 12.0.  The compiled list ended up being quite ambitious given how close we are to the beginning of the release cycle, but many individual developers (including myself) have signed up to deliver work.  I’m hopeful that most, if not all of it, will make it into the release.&lt;br&gt;
After lunch, I attended a discussion led by Matt Ahrens and Alexander Motin on OpenZFS.  Of particular interest to me were some observations made regarding the relative quantity and quality of contributions made by different “camps” of OpenZFS users (illumos, FreeBSD and ZoL), and their respective track records of upstreaming enhancements to the OpenZFS project. In part due to the high pace of changes in ZoL, the definition of “upstream” for ZFS has become murky, and of late ZFS changes have been ported directly from ZoL.  Alexander discussed some known problems with ZFS on FreeBSD that have been discovered through performance testing.  While I’m not familiar with ZFS internals, Alexander noted that ZFS’ write path has poor SMP scalability on FreeBSD owing to some limitations in a certain kernel API called taskqueue(9).  I would like to explore this problem further and perhaps integrate a relatively new alternative interface which should perform better.&lt;br&gt;
Friday and Saturday were, of course, taken up by BSDCan talks.  Friday’s keynote was by Benno Rice, who provided some history of UNIX boot systems as a precursor to some discussion of systemd and the difficulties presented by a user and developer community that actively resist change.  The rest of the morning was consumed by talks and passed by quickly. First was Colin Percival’s detailed examination of where the FreeBSD kernel spends time during boot, together with an overview of some infrastructure he added to track boot times. He also provided a list of improvements that have been made since he started taking measurements, and some areas we can further improve.  Colin’s existing work in this area has already brought about substantial reductions in boot time; amusingly, one of the remaining large delays comes from the keyboard driver, which contains a workaround for old PS/2 keyboards.  While there seems to be general agreement that the workaround is probably no longer needed on most systems, the lingering uncertainty around this prevents us from removing the workaround.  This is, sadly, a fairly typical example of an OS maintenance burden, and underscores the need to carefully document hardware bug workarounds.  After this talk, I got to see some rather novel demonstrations of system tracing using dwatch, a new utility by Devin Teske, which aims to provide a user-friendly interface to DTrace.  After lunch, I attended talks on netdump, a protocol for transmitting kernel dumps over a network after the system has panicked, and on a VPC implementation for FreeBSD.  After the talks ended, I headed yet again to the hacker lounge and had some fruitful discussions on early microcode loading (one of my features for FreeBSD 12.0). These led me to reconsider some aspects of my approach and saved me a lot of time.  Finally, I continued my debugging session from Wednesday with help from a couple of other developers.&lt;br&gt;
Saturday’s talks included a very thorough account by Li-Wen Hsu of his work in organizing a BSD conference in Taipei last year.  As one of the attendees, I had felt that the conference had gone quite smoothly and was taken aback by the number of details and pitfalls that Li-Wen enumerated during his talk. This was followed by an excellent talk by Baptiste Daroussin on the difficulties one encounters when deploying FreeBSD in new environments. Baptiste offered criticisms of a number of aspects of FreeBSD, some of which hit close to home as they involved portions of the system that I’ve worked on.&lt;br&gt;
At the conclusion of the talks, we all gathered in the main lecture hall, where Dan led a traditional and quite lively auction for charity.  I managed to snag a Pine64 board and will be getting FreeBSD installed on it the first chance I get.  At the end of the auction, we all headed to ByWard for dinner, concluding yet another BSDCan.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Thanks to Mark for sharing his experiences at this years BSDCan&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://undeadly.org/cgi?action=article&amp;amp;sid=20180410063454" target="_blank" rel="nofollow noopener"&gt;Transparent network audio with mpd &amp;amp; sndiod&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Landry Breuil (landry@ when wearing his developer hat) wrote in…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;I've been a huge fan of MPD over the years to centralize my audio collection, and i've been using it with the http output to stream the music as a radio on the computer i'm currently using…

audio_output {
       type            "sndio"
       name            "Local speakers"
       mixer_type      "software"
}
audio_output {
       type            "httpd"
       name            "HTTP stream"
       mixer_type      "software"
       encoder         "vorbis"
       port            "8000"
       format          "44100:16:2"
}
this setup worked for years, allows me to stream my home radio to $work by tunnelling the port 8000 over ssh via LocalForward, but that still has some issues:

a distinct timing gap between the 'local output' (ie the speakers connected to the machine where MPD is running) and the 'http output' caused by the time it takes to reencode the stream, which is ugly when you walk through the house and have a 15s delay
sometimes mplayer as a client doesn't detect the pauses in the stream and needs to be restarted
i need to configure/start a client on each computer and point it at the sound server url (can do via gmpc shoutcast client plugin…)
it's not that elegant to reencode the stream, and it wastes cpu cycles
So the current scheme is:

mpd -&amp;gt; http output -&amp;gt; network -&amp;gt; mplayer -&amp;gt; sndiod on remote machine
|
-&amp;gt; sndio output -&amp;gt; sndiod on soundserver
Fiddling a little bit with mpd outputs and reading the sndio output driver, i remembered sndiod has native network support… and the mpd sndio output allows you to specify a device (it uses SIO_DEVANY by default).

So in the end, it's super easy to:

enable network support in sndio on the remote machine i want the audio to play by adding -L&amp;lt;local ip&amp;gt; to sndiod_flags (i have two audio devices, with an input coming from the webcam):
sndiod_flags="-L10.246.200.10 -f rsnd/0 -f rsnd/1"
open pf on port 11025 from the sound server ip:
pass in proto tcp from 10.246.200.1 to any port 11025
configure a new output in mpd:
audio_output {
       type            "sndio"
       name            "sndio on renton"
       device          "snd@10.246.200.10/0"
       mixer_type      "software"
}
and enable the new output in mpd:
$mpc enable 2
Output 1 (Local speakers) is disabled
Output 2 (sndio on renton) is enabled
Output 3 (HTTP stream) is disabled
Results in a big win: no gap anymore with the local speakers, no reencoding, no need to configure a client to play the stream, and i can still probably reproduce the same scheme over ssh from $work using a RemoteForward.

mpd -&amp;gt; sndio output 2 -&amp;gt; network -&amp;gt; sndiod on remote machine
|
-&amp;gt; sndio output 1 -&amp;gt; sndiod on soundserver
Thanks ratchov@ for sndiod :)
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.mirbsd.org/permalinks/wlog-10_e20180415-tg.htm" target="_blank" rel="nofollow noopener"&gt;MirBSD’s Korn Shell on Plan9 Jehanne&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Let start by saying that I’m not really a C programmer.&lt;br&gt;
My last public contribution to a POSIX C program was a little improvement to the Snort’s react module back in 2008.&lt;br&gt;
So while I know the C language well enough, I do not know anything about the subtleness of the standard library and I have little experience with POSIX semantics.&lt;br&gt;
This is not a big issue with Plan 9, since the C library and compiler are not standard anyway, but with Jehanne (a Plan 9 derivative of my own) I want to build a simple, loosely coupled, system that can actually run useful free software ported from UNIX.&lt;br&gt;
So I ported RedHat’s newlib to Jehanne on top of a new system library I wrote, LibPOSIX, that provides the necessary emulations. I wrote several test, checking they run the same on Linux and Jehanne, and then I begun looking for a real-world, battle tested, application to port first.&lt;br&gt;
I approached MirBSD’s Korn Shell for several reason:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;it is simple, powerful and well written&lt;/li&gt;
&lt;li&gt;it has been ported to several different operating systems&lt;/li&gt;
&lt;li&gt;it has few dependencies&lt;/li&gt;
&lt;li&gt;it’s the default shell in Android, so it’s really battle tested&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I was very confident. I had read the POSIX standard after all! And I had a test suite!&lt;br&gt;
I remember, I thought “Given newlib, how hard can it be?”&lt;br&gt;
The porting begun on September 1, 2017. It was completed by tg on January 5, 2018. 125 nights later.&lt;br&gt;
Turn out, my POSIX emulation was badly broken. Not just because of the usual bugs that any piece of C can have: I didn’t understood most POSIX semantics at all!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://www.romanzolotarev.com/ssg.html" target="_blank" rel="nofollow noopener"&gt;Static site generator with rsync and lowdown on OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;ssg is a tiny POSIX-compliant shell script with few dependencies:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;lowdown(1) to parse markdown,&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;rsync(1) to copy temporary files, and&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;entr(1) to watch file changes.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It generates Markdown articles to a static website.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;It copies the current directory to a temporary on in /tmp skipping .* and _*, renders all Markdown articles to HTML, generates RSS feed based on links from index.html, extracts the first &amp;lt;h1&amp;gt; tag from every article to generate a sitemap and use it as a page title, then wraps articles with a single HTML template, copies everything from the temporary directory to $DOCS/&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Why not Jekyll or “$X”?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;ssg is one hundred times smaller than Jekyll.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ssg and its dependencies are about 800KB combined. Compare that to 78MB of ruby with Jekyll and all the gems. So ssg can be installed in just few seconds on almost any Unix-like operating system.&lt;br&gt;
Obviously, ssg is tailored for my needs, it has all features I need and only those I use.&lt;br&gt;
Keeping ssg helps you to master your Unix-shell skills: awk, grep, sed, sh, cut, tr. As a web developer you work with lots of text: code and data. So you better master these wonderful tools.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Performance&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;100 pps. On modern computers ssg generates a hundred pages per second. Half of a time for markdown rendering and another half for wrapping articles into the template. I heard good static site generators work—twice as fast—at 200 pps, so there’s lots of performance that can be gained. ;)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.quora.com/Why-does-FreeBSD-have-virtually-no-0-desktop-market-share/answer/Terry-Lambert" target="_blank" rel="nofollow noopener"&gt;Why does FreeBSD have virtually no (0%) desktop market share?&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Because someone made a horrible design decision back in 1984.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In absolute fairness to those involved, it was an understandable decision, both from a research perspective, and from an economic perspective, although likely not, from a technology perspective.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Why and what.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The decision was taken because the X Window System was intended to run on cheap hardware, and, at the time, that meant reduced functionality in the end-point device with the physical display attached to it.&lt;br&gt;
At the same time, another force was acting to also limit X displays to display services only, rather than rolling in both window management and specific widget instances for common operational paradigms.&lt;br&gt;
Mostly, common operational paradigms didn’t really exist for windowing systems because they also simply didn’t exist at the time, and no one really knew how people were going to use the things, and so researchers didn’t want to commit future research to a set of hard constraints.&lt;br&gt;
So a decision was made: separate the display services from the application at the lowest level of graphics primitives currently in use at the time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The ramifications of this were pretty staggering.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;First, it guaranteed that all higher level graphics would live on the host side of the X protocol, instead of on the display device side of the protocol.&lt;br&gt;
Despite a good understanding of Moore’s law, and the fact that, since no X Terminals existed at the time as hardware, but were instead running as emulations on workstations that had sufficient capability, this put the higher level GUI object libraries — referred to as “widgets” — in host libraries linked into the applications.&lt;br&gt;
Second, it guaranteed that display organization and management paradigms would also live on the host side of the protocol — assumed, in contradiction to the previous decision, to be running on the workstation.&lt;br&gt;
But, presumably, at some point, as lightweight X Terminals became available, to migrate to a particular host computer managing compute resource login/access services.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Between these early decisions reigned chaos.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Specifically, the consequences of these decisions have been with us ever since:&lt;br&gt;
Look-and-feel are a consequence of the toolkit chosen by the application programmer, rather than a user decision which applies universally to all applications.&lt;br&gt;
You could call this “lack of a theme”, and — although I personally despise the idea of customizing or “theming” desktops — this meant that one paradigm chosen by the user would not apply universally across all applications, no matter who had written them.&lt;br&gt;
Window management style is a preference.&lt;br&gt;
You could call this a more radical version of “theming” — which you will remember, I despise — but a consequence to this is that training is not universal across personnel using such systems, nor is it transferrable.&lt;br&gt;
In other words, I can’t send someone to a class, and have them come back and use the computers in the office as a tool, with the computer itself — and the elements not specific to the application itself — disappearing into the background.&lt;br&gt;
Both of these ultimately render an X-based system unsuitable for desktops.&lt;br&gt;
I can’t pay once for training. Training that I do pay for does not easily and naturally translate between applications. Each new version may radically alter the desktop management paradigm into unrecognizability.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Is there hope for the future?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Well, the Linux community has been working on something called Wayland, and it is very promising…&lt;br&gt;
…In the same way X was “very promising” in 1984, because, unfortunately, they are making exactly the same mistakes X made in 1984, rather than correcting them, now that we have 20/20 hindsight, and know what a mature widget library should look like.&lt;br&gt;
So Wayland is screwing up again.&lt;br&gt;
But hey, it only took us, what, 25 years to get from X in 1987 to Wayland in in 2012.&lt;br&gt;
Maybe if we try again in 2037, we can get to where Windows was in 1995.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/FranckPachot/status/1012606253338591232" target="_blank" rel="nofollow noopener"&gt;New washing machine comes with 7 pages of open source licenses!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.bsdjobs.com/" target="_blank" rel="nofollow noopener"&gt;BSD Jobs Site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/wp-content/uploads/2018/05/FreeBSD-Foundation-May-2018-Update.pdf" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation Update, May 2018&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://freebsdjournal.org/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal looking for book reviewers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ramsdenj.com/2018/05/29/zedenv-zfs-boot-environment-manager.html" target="_blank" rel="nofollow noopener"&gt;zedenv ZFS Boot Environment Manager&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Wouter - &lt;a href="http://dpaste.com/28959CK#wrap" target="_blank" rel="nofollow noopener"&gt;Feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Efraim - &lt;a href="http://dpaste.com/2RZ16K8#wrap" target="_blank" rel="nofollow noopener"&gt;OS Suggestion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;kevr - &lt;a href="http://dpaste.com/2PX7KSP#wrap" target="_blank" rel="nofollow noopener"&gt;Raspberry Pi2/FreeBSD/Router on a Stick&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Vanja - &lt;a href="http://dpaste.com/0ARSVWE#wrap" target="_blank" rel="nofollow noopener"&gt;Interview Suggestion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, tutorial, howto, guide, bsd, interview, MirBSD, korn shell, Plan9 Jehanne, sndiod, bsdcan, PineBook</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Fanless server setup with FreeBSD, NetBSD on pinebooks, another BSDCan trip report, transparent network audio, MirBSD's Korn Shell on Plan9, static site generators on OpenBSD, and more.</p>

<p>##Headlines<br>
###<a href="https://vermaden.wordpress.com/2018/06/07/silent-fanless-freebsd-desktop-server/" target="_blank" rel="nofollow noopener">Silent Fanless FreeBSD Desktop/Server</a></p>

<blockquote>
<p>Today I will write about silent fanless FreeBSD desktop or server computer … or NAS … or you name it, it can have multiple purposes. It also very low power solution, which also means that it will not overheat. Silent means no fans at all, even for the PSU. The format of the system should also be brought to minimum, so Mini-ITX seems best solution here.</p>
</blockquote>

<blockquote>
<p>I have chosen Intel based solutions as they are very low power (6-10W), if you prefer AMD (as I often do) the closest solution in comparable price and power is Biostar A68N-2100 motherboard with AMD E1-2100 CPU and 9W power. Of course AMD has even more low power SoC solutions but finding the Mini-ITX motherboard with decent price is not an easy task. For comparison Intel has lots of such solutions below 6W whose can be nicely filtered on the <a href="http://ark.intel.com" target="_blank" rel="nofollow noopener">ark.intel.com</a> page. Pity that AMD does not provide such filtration for their products. I also chosen AES instructions as storage encryption (GELI on FreeBSD) today seems as obvious as HTTPS for the web pages.</p>
</blockquote>

<ul>
<li><a href="https://vermaden.files.wordpress.com/2018/06/itx-mobo.jpg" target="_blank" rel="nofollow noopener">Here is how the system look powered up and working</a></li>
</ul>

<blockquote>
<p>This motherboard uses Intel J3355 SoC which uses 10W and has AES instructions. It has two cores at your disposal but it also supports VT-x and EPT extensions so you can even run Bhyve on it.</p>
</blockquote>

<ul>
<li>Components</li>
</ul>

<blockquote>
<p>Now, an example system would look like that one below, here are the components with their prices.</p>
</blockquote>

<ul>
<li>$49  CPU/Motherboard ASRock J3355B-ITX Mini-ITX</li>
<li>$14  RAM Crucial 4 GB DDR3L 1.35V (low power)</li>
<li>$17  PSU 12V 160W Pico (internal)</li>
<li>$11  PSU 12V 96W FSP (external)</li>
<li>$5  USB 2.0 Drive 16 GB ADATA</li>
<li>$4  USB Wireless 802.11n</li>
<li>$100  TOTAL</li>
</ul>

<blockquote>
<p>The PSU 12V 160W Pico (internal) and PSU 12V 96W FSP can be purchased on <a href="http://aliexpress.com" target="_blank" rel="nofollow noopener">aliexpress.com</a> or <a href="http://ebay.com" target="_blank" rel="nofollow noopener">ebay.com</a> for example, at least I got them there.  Here is the 12V 160W Pico (internal) PSU and its optional additional cables to power the optional HDDs. If course its one SATA power and one MOLEX power so additional MOLEX-SATA power adapter for about 1$ would be needed. Here is the 12V 96W FSP (external) PSU without the power cord.</p>
</blockquote>

<blockquote>
<p>This gives as total silent fanless system price of about $120. Its about ONE TENTH OF THE COST of the cheapest FreeNAS hardware solution available – the FreeNAS Mini (Diskless) costs $1156 also without disks.</p>
</blockquote>

<blockquote>
<p>You can put plain FreeBSD on top of it or Solaris/Illumos distribution OmniOSce which is server oriented. You can use prebuilt NAS solution based on FreeBSD like FreeNAS, NAS4Free, ZFSguru or even Solaris/Illumos based storage with napp-it appliance.</p>
</blockquote>

<hr>

<p>###<a href="https://blog.netbsd.org/tnf/entry/pinebook" target="_blank" rel="nofollow noopener">An annotated look at a NetBSD Pinebook’s startup</a></p>

<ul>
<li>Pinebook is an affordable 64-bit ARM notebook. Today we’re going to take a look at the kernel output at startup and talk about what hardware support is available on NetBSD.</li>
<li><a href="https://twitter.com/jmcwhatever/status/998258710496628736/photo/1" target="_blank" rel="nofollow noopener">Photo</a></li>
<li>Pinebook comes with 2GB RAM standard. A small amount of this is reserved by the kernel and framebuffer.</li>
<li>NetBSD uses flattened device-tree (FDT) to enumerate devices on all Allwinner based SoCs. On a running system, you can inspect the device tree using the ofctl(8) utility:</li>
<li>Pinebook’s Allwinner A64 processor is based on the ARM Cortex-A53. It is designed to run at frequencies up to 1.2GHz.</li>
<li>The A64 is a quad core design. NetBSD’s aarch64 pmap does not yet support SMP, so three cores are disabled for now.</li>
<li>The interrupt controller is a standard ARM GIC-400 design.</li>
<li>Clock drivers for managing PLLs, module clock dividers, clock gating, software resets, etc. Information about the clock tree is exported in the hw.clk sysctl namespace (root access required to read these values).</li>
</ul>

<pre><code># sysctl hw.clk.sun50ia64ccu0.mmc2
hw.clk.sun50ia64ccu0.mmc2.rate = 200000000
hw.clk.sun50ia64ccu0.mmc2.parent = pll_periph0_2x
hw.clk.sun50ia64ccu0.mmc2.parent_domain = sun50ia64ccu0
</code></pre>

<hr>

<p><strong>Digital Ocean</strong><br>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">http://do.co/bsdnow</a></p>

<p>###<a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-mark-johnston/" target="_blank" rel="nofollow noopener">BSDCan 2018 Trip Report: Mark Johnston</a></p>

<blockquote>
<p>BSDCan is a highlight of my summers: the ability to have face-to-face conversations with fellow developers and contributors is invaluable and always helps refresh my enthusiasm for FreeBSD.  While in a perfect world we would all be able to communicate effectively over the Internet, it’s often noted that locking a group of developers together in a room can be a very efficient way to make progress on projects that otherwise get strung out over time, and to me this is one of the principal functions of BSD conferences.  In my case I was able to fix some kgdb bugs that had been hindering me for months; get some opinions on the design of a feature I’ve been working on for FreeBSD 12.0; hear about some ongoing usage of code that I’ve worked on; and do some pair-debugging of an issue that has been affecting another developer.<br>
As is tradition, on Tuesday night I dropped off my things at the university residence where I was staying, and headed straight to the Royal Oak.  This year it didn’t seem quite as packed with BSD developers, but I did meet several long-time colleagues and get a chance to catch up.  In particular, I chatted with Justin Hibbits and got to hear about the bring-up of FreeBSD on POWER9, a new CPU family released by IBM.  Justin was able to acquire a workstation based upon this CPU, which is a great motivator for getting FreeBSD into shape on that platform.  POWER9 also has some promise in the server market, so it’s important for FreeBSD to be a viable OS choice there.<br>
Wednesday morning saw the beginning of the two-day FreeBSD developer summit, which precedes the conference proper.  Gordon Tetlow led the summit and did an excellent job organizing things and keeping to the schedule.  The first presentation was by Deb Goodkin of the FreeBSD Foundation, who gave an overview of the Foundation’s role and activities. After Deb’s presentation, present members of the FreeBSD core team discussed the work they had done over the past two years, as well as open tasks that would be handed over to the new core team upon completion of the ongoing election.  Finally, Marius Strobl rounded off the day’s presentations by discussing the state and responsibilities of FreeBSD’s release engineering team.<br>
One side discussion of interest to me was around the notion of tightening integration with our Bugzilla instance; at moment we do not have any good means to mark a given bug as blocking a release, making it easy for bugs to slip into releases and thus lowering our overall quality.  With FreeBSD 12.0 upon us, I plan to help with the triage and fixes for known regressions before the release process begins.<br>
After a break, the rest of the morning was devoted to plans for features in upcoming FreeBSD releases.  This is one of my favorite discussion topics and typically takes the form of have/need/want, where developers collectively list features that they’ve developed and intend to upstream (have), features that they are missing (need), and nice-to-have features (want).  This year, instead of the usual format, we listed features that are intended to ship in FreeBSD 12.0.  The compiled list ended up being quite ambitious given how close we are to the beginning of the release cycle, but many individual developers (including myself) have signed up to deliver work.  I’m hopeful that most, if not all of it, will make it into the release.<br>
After lunch, I attended a discussion led by Matt Ahrens and Alexander Motin on OpenZFS.  Of particular interest to me were some observations made regarding the relative quantity and quality of contributions made by different “camps” of OpenZFS users (illumos, FreeBSD and ZoL), and their respective track records of upstreaming enhancements to the OpenZFS project. In part due to the high pace of changes in ZoL, the definition of “upstream” for ZFS has become murky, and of late ZFS changes have been ported directly from ZoL.  Alexander discussed some known problems with ZFS on FreeBSD that have been discovered through performance testing.  While I’m not familiar with ZFS internals, Alexander noted that ZFS’ write path has poor SMP scalability on FreeBSD owing to some limitations in a certain kernel API called taskqueue(9).  I would like to explore this problem further and perhaps integrate a relatively new alternative interface which should perform better.<br>
Friday and Saturday were, of course, taken up by BSDCan talks.  Friday’s keynote was by Benno Rice, who provided some history of UNIX boot systems as a precursor to some discussion of systemd and the difficulties presented by a user and developer community that actively resist change.  The rest of the morning was consumed by talks and passed by quickly. First was Colin Percival’s detailed examination of where the FreeBSD kernel spends time during boot, together with an overview of some infrastructure he added to track boot times. He also provided a list of improvements that have been made since he started taking measurements, and some areas we can further improve.  Colin’s existing work in this area has already brought about substantial reductions in boot time; amusingly, one of the remaining large delays comes from the keyboard driver, which contains a workaround for old PS/2 keyboards.  While there seems to be general agreement that the workaround is probably no longer needed on most systems, the lingering uncertainty around this prevents us from removing the workaround.  This is, sadly, a fairly typical example of an OS maintenance burden, and underscores the need to carefully document hardware bug workarounds.  After this talk, I got to see some rather novel demonstrations of system tracing using dwatch, a new utility by Devin Teske, which aims to provide a user-friendly interface to DTrace.  After lunch, I attended talks on netdump, a protocol for transmitting kernel dumps over a network after the system has panicked, and on a VPC implementation for FreeBSD.  After the talks ended, I headed yet again to the hacker lounge and had some fruitful discussions on early microcode loading (one of my features for FreeBSD 12.0). These led me to reconsider some aspects of my approach and saved me a lot of time.  Finally, I continued my debugging session from Wednesday with help from a couple of other developers.<br>
Saturday’s talks included a very thorough account by Li-Wen Hsu of his work in organizing a BSD conference in Taipei last year.  As one of the attendees, I had felt that the conference had gone quite smoothly and was taken aback by the number of details and pitfalls that Li-Wen enumerated during his talk. This was followed by an excellent talk by Baptiste Daroussin on the difficulties one encounters when deploying FreeBSD in new environments. Baptiste offered criticisms of a number of aspects of FreeBSD, some of which hit close to home as they involved portions of the system that I’ve worked on.<br>
At the conclusion of the talks, we all gathered in the main lecture hall, where Dan led a traditional and quite lively auction for charity.  I managed to snag a Pine64 board and will be getting FreeBSD installed on it the first chance I get.  At the end of the auction, we all headed to ByWard for dinner, concluding yet another BSDCan.</p>
</blockquote>

<ul>
<li>Thanks to Mark for sharing his experiences at this years BSDCan</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://undeadly.org/cgi?action=article&amp;sid=20180410063454" target="_blank" rel="nofollow noopener">Transparent network audio with mpd &amp; sndiod</a></p>

<blockquote>
<p>Landry Breuil (landry@ when wearing his developer hat) wrote in…</p>
</blockquote>

<pre><code>I've been a huge fan of MPD over the years to centralize my audio collection, and i've been using it with the http output to stream the music as a radio on the computer i'm currently using…

audio_output {
       type            "sndio"
       name            "Local speakers"
       mixer_type      "software"
}
audio_output {
       type            "httpd"
       name            "HTTP stream"
       mixer_type      "software"
       encoder         "vorbis"
       port            "8000"
       format          "44100:16:2"
}
this setup worked for years, allows me to stream my home radio to $work by tunnelling the port 8000 over ssh via LocalForward, but that still has some issues:

a distinct timing gap between the 'local output' (ie the speakers connected to the machine where MPD is running) and the 'http output' caused by the time it takes to reencode the stream, which is ugly when you walk through the house and have a 15s delay
sometimes mplayer as a client doesn't detect the pauses in the stream and needs to be restarted
i need to configure/start a client on each computer and point it at the sound server url (can do via gmpc shoutcast client plugin…)
it's not that elegant to reencode the stream, and it wastes cpu cycles
So the current scheme is:

mpd -&gt; http output -&gt; network -&gt; mplayer -&gt; sndiod on remote machine
|
-&gt; sndio output -&gt; sndiod on soundserver
Fiddling a little bit with mpd outputs and reading the sndio output driver, i remembered sndiod has native network support… and the mpd sndio output allows you to specify a device (it uses SIO_DEVANY by default).

So in the end, it's super easy to:

enable network support in sndio on the remote machine i want the audio to play by adding -L&lt;local ip&gt; to sndiod_flags (i have two audio devices, with an input coming from the webcam):
sndiod_flags="-L10.246.200.10 -f rsnd/0 -f rsnd/1"
open pf on port 11025 from the sound server ip:
pass in proto tcp from 10.246.200.1 to any port 11025
configure a new output in mpd:
audio_output {
       type            "sndio"
       name            "sndio on renton"
       device          "snd@10.246.200.10/0"
       mixer_type      "software"
}
and enable the new output in mpd:
$mpc enable 2
Output 1 (Local speakers) is disabled
Output 2 (sndio on renton) is enabled
Output 3 (HTTP stream) is disabled
Results in a big win: no gap anymore with the local speakers, no reencoding, no need to configure a client to play the stream, and i can still probably reproduce the same scheme over ssh from $work using a RemoteForward.

mpd -&gt; sndio output 2 -&gt; network -&gt; sndiod on remote machine
|
-&gt; sndio output 1 -&gt; sndiod on soundserver
Thanks ratchov@ for sndiod :)
</code></pre>

<hr>

<p>###<a href="https://www.mirbsd.org/permalinks/wlog-10_e20180415-tg.htm" target="_blank" rel="nofollow noopener">MirBSD’s Korn Shell on Plan9 Jehanne</a></p>

<blockquote>
<p>Let start by saying that I’m not really a C programmer.<br>
My last public contribution to a POSIX C program was a little improvement to the Snort’s react module back in 2008.<br>
So while I know the C language well enough, I do not know anything about the subtleness of the standard library and I have little experience with POSIX semantics.<br>
This is not a big issue with Plan 9, since the C library and compiler are not standard anyway, but with Jehanne (a Plan 9 derivative of my own) I want to build a simple, loosely coupled, system that can actually run useful free software ported from UNIX.<br>
So I ported RedHat’s newlib to Jehanne on top of a new system library I wrote, LibPOSIX, that provides the necessary emulations. I wrote several test, checking they run the same on Linux and Jehanne, and then I begun looking for a real-world, battle tested, application to port first.<br>
I approached MirBSD’s Korn Shell for several reason:</p>
</blockquote>

<ul>
<li>it is simple, powerful and well written</li>
<li>it has been ported to several different operating systems</li>
<li>it has few dependencies</li>
<li>it’s the default shell in Android, so it’s really battle tested</li>
</ul>

<blockquote>
<p>I was very confident. I had read the POSIX standard after all! And I had a test suite!<br>
I remember, I thought “Given newlib, how hard can it be?”<br>
The porting begun on September 1, 2017. It was completed by tg on January 5, 2018. 125 nights later.<br>
Turn out, my POSIX emulation was badly broken. Not just because of the usual bugs that any piece of C can have: I didn’t understood most POSIX semantics at all!</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong></p>

<p>###<a href="https://www.romanzolotarev.com/ssg.html" target="_blank" rel="nofollow noopener">Static site generator with rsync and lowdown on OpenBSD</a></p>

<ul>
<li>
<p>ssg is a tiny POSIX-compliant shell script with few dependencies:</p>
</li>
<li>
<p>lowdown(1) to parse markdown,</p>
</li>
<li>
<p>rsync(1) to copy temporary files, and</p>
</li>
<li>
<p>entr(1) to watch file changes.</p>
</li>
<li>
<p>It generates Markdown articles to a static website.</p>
</li>
<li>
<p>It copies the current directory to a temporary on in /tmp skipping .* and _*, renders all Markdown articles to HTML, generates RSS feed based on links from index.html, extracts the first &lt;h1&gt; tag from every article to generate a sitemap and use it as a page title, then wraps articles with a single HTML template, copies everything from the temporary directory to $DOCS/</p>
</li>
</ul>

<blockquote>
<p>Why not Jekyll or “$X”?</p>
</blockquote>

<ul>
<li>ssg is one hundred times smaller than Jekyll.</li>
</ul>

<blockquote>
<p>ssg and its dependencies are about 800KB combined. Compare that to 78MB of ruby with Jekyll and all the gems. So ssg can be installed in just few seconds on almost any Unix-like operating system.<br>
Obviously, ssg is tailored for my needs, it has all features I need and only those I use.<br>
Keeping ssg helps you to master your Unix-shell skills: awk, grep, sed, sh, cut, tr. As a web developer you work with lots of text: code and data. So you better master these wonderful tools.</p>
</blockquote>

<ul>
<li>Performance</li>
</ul>

<blockquote>
<p>100 pps. On modern computers ssg generates a hundred pages per second. Half of a time for markdown rendering and another half for wrapping articles into the template. I heard good static site generators work—twice as fast—at 200 pps, so there’s lots of performance that can be gained. ;)</p>
</blockquote>

<hr>

<p>###<a href="https://www.quora.com/Why-does-FreeBSD-have-virtually-no-0-desktop-market-share/answer/Terry-Lambert" target="_blank" rel="nofollow noopener">Why does FreeBSD have virtually no (0%) desktop market share?</a></p>

<ul>
<li>Because someone made a horrible design decision back in 1984.</li>
</ul>

<blockquote>
<p>In absolute fairness to those involved, it was an understandable decision, both from a research perspective, and from an economic perspective, although likely not, from a technology perspective.</p>
</blockquote>

<ul>
<li>Why and what.</li>
</ul>

<blockquote>
<p>The decision was taken because the X Window System was intended to run on cheap hardware, and, at the time, that meant reduced functionality in the end-point device with the physical display attached to it.<br>
At the same time, another force was acting to also limit X displays to display services only, rather than rolling in both window management and specific widget instances for common operational paradigms.<br>
Mostly, common operational paradigms didn’t really exist for windowing systems because they also simply didn’t exist at the time, and no one really knew how people were going to use the things, and so researchers didn’t want to commit future research to a set of hard constraints.<br>
So a decision was made: separate the display services from the application at the lowest level of graphics primitives currently in use at the time.</p>
</blockquote>

<ul>
<li>The ramifications of this were pretty staggering.</li>
</ul>

<blockquote>
<p>First, it guaranteed that all higher level graphics would live on the host side of the X protocol, instead of on the display device side of the protocol.<br>
Despite a good understanding of Moore’s law, and the fact that, since no X Terminals existed at the time as hardware, but were instead running as emulations on workstations that had sufficient capability, this put the higher level GUI object libraries — referred to as “widgets” — in host libraries linked into the applications.<br>
Second, it guaranteed that display organization and management paradigms would also live on the host side of the protocol — assumed, in contradiction to the previous decision, to be running on the workstation.<br>
But, presumably, at some point, as lightweight X Terminals became available, to migrate to a particular host computer managing compute resource login/access services.</p>
</blockquote>

<ul>
<li>Between these early decisions reigned chaos.</li>
</ul>

<blockquote>
<p>Specifically, the consequences of these decisions have been with us ever since:<br>
Look-and-feel are a consequence of the toolkit chosen by the application programmer, rather than a user decision which applies universally to all applications.<br>
You could call this “lack of a theme”, and — although I personally despise the idea of customizing or “theming” desktops — this meant that one paradigm chosen by the user would not apply universally across all applications, no matter who had written them.<br>
Window management style is a preference.<br>
You could call this a more radical version of “theming” — which you will remember, I despise — but a consequence to this is that training is not universal across personnel using such systems, nor is it transferrable.<br>
In other words, I can’t send someone to a class, and have them come back and use the computers in the office as a tool, with the computer itself — and the elements not specific to the application itself — disappearing into the background.<br>
Both of these ultimately render an X-based system unsuitable for desktops.<br>
I can’t pay once for training. Training that I do pay for does not easily and naturally translate between applications. Each new version may radically alter the desktop management paradigm into unrecognizability.</p>
</blockquote>

<ul>
<li>Is there hope for the future?</li>
</ul>

<blockquote>
<p>Well, the Linux community has been working on something called Wayland, and it is very promising…<br>
…In the same way X was “very promising” in 1984, because, unfortunately, they are making exactly the same mistakes X made in 1984, rather than correcting them, now that we have 20/20 hindsight, and know what a mature widget library should look like.<br>
So Wayland is screwing up again.<br>
But hey, it only took us, what, 25 years to get from X in 1987 to Wayland in in 2012.<br>
Maybe if we try again in 2037, we can get to where Windows was in 1995.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://twitter.com/FranckPachot/status/1012606253338591232" target="_blank" rel="nofollow noopener">New washing machine comes with 7 pages of open source licenses!</a></li>
<li><a href="https://www.bsdjobs.com/" target="_blank" rel="nofollow noopener">BSD Jobs Site</a></li>
<li><a href="https://www.freebsdfoundation.org/wp-content/uploads/2018/05/FreeBSD-Foundation-May-2018-Update.pdf" target="_blank" rel="nofollow noopener">FreeBSD Foundation Update, May 2018</a></li>
<li><a href="http://freebsdjournal.org/" target="_blank" rel="nofollow noopener">FreeBSD Journal looking for book reviewers</a></li>
<li><a href="https://ramsdenj.com/2018/05/29/zedenv-zfs-boot-environment-manager.html" target="_blank" rel="nofollow noopener">zedenv ZFS Boot Environment Manager</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>Wouter - <a href="http://dpaste.com/28959CK#wrap" target="_blank" rel="nofollow noopener">Feedback</a></li>
<li>Efraim - <a href="http://dpaste.com/2RZ16K8#wrap" target="_blank" rel="nofollow noopener">OS Suggestion</a></li>
<li>kevr - <a href="http://dpaste.com/2PX7KSP#wrap" target="_blank" rel="nofollow noopener">Raspberry Pi2/FreeBSD/Router on a Stick</a></li>
<li>Vanja - <a href="http://dpaste.com/0ARSVWE#wrap" target="_blank" rel="nofollow noopener">Interview Suggestion</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Fanless server setup with FreeBSD, NetBSD on pinebooks, another BSDCan trip report, transparent network audio, MirBSD's Korn Shell on Plan9, static site generators on OpenBSD, and more.</p>

<p>##Headlines<br>
###<a href="https://vermaden.wordpress.com/2018/06/07/silent-fanless-freebsd-desktop-server/" target="_blank" rel="nofollow noopener">Silent Fanless FreeBSD Desktop/Server</a></p>

<blockquote>
<p>Today I will write about silent fanless FreeBSD desktop or server computer … or NAS … or you name it, it can have multiple purposes. It also very low power solution, which also means that it will not overheat. Silent means no fans at all, even for the PSU. The format of the system should also be brought to minimum, so Mini-ITX seems best solution here.</p>
</blockquote>

<blockquote>
<p>I have chosen Intel based solutions as they are very low power (6-10W), if you prefer AMD (as I often do) the closest solution in comparable price and power is Biostar A68N-2100 motherboard with AMD E1-2100 CPU and 9W power. Of course AMD has even more low power SoC solutions but finding the Mini-ITX motherboard with decent price is not an easy task. For comparison Intel has lots of such solutions below 6W whose can be nicely filtered on the <a href="http://ark.intel.com" target="_blank" rel="nofollow noopener">ark.intel.com</a> page. Pity that AMD does not provide such filtration for their products. I also chosen AES instructions as storage encryption (GELI on FreeBSD) today seems as obvious as HTTPS for the web pages.</p>
</blockquote>

<ul>
<li><a href="https://vermaden.files.wordpress.com/2018/06/itx-mobo.jpg" target="_blank" rel="nofollow noopener">Here is how the system look powered up and working</a></li>
</ul>

<blockquote>
<p>This motherboard uses Intel J3355 SoC which uses 10W and has AES instructions. It has two cores at your disposal but it also supports VT-x and EPT extensions so you can even run Bhyve on it.</p>
</blockquote>

<ul>
<li>Components</li>
</ul>

<blockquote>
<p>Now, an example system would look like that one below, here are the components with their prices.</p>
</blockquote>

<ul>
<li>$49  CPU/Motherboard ASRock J3355B-ITX Mini-ITX</li>
<li>$14  RAM Crucial 4 GB DDR3L 1.35V (low power)</li>
<li>$17  PSU 12V 160W Pico (internal)</li>
<li>$11  PSU 12V 96W FSP (external)</li>
<li>$5  USB 2.0 Drive 16 GB ADATA</li>
<li>$4  USB Wireless 802.11n</li>
<li>$100  TOTAL</li>
</ul>

<blockquote>
<p>The PSU 12V 160W Pico (internal) and PSU 12V 96W FSP can be purchased on <a href="http://aliexpress.com" target="_blank" rel="nofollow noopener">aliexpress.com</a> or <a href="http://ebay.com" target="_blank" rel="nofollow noopener">ebay.com</a> for example, at least I got them there.  Here is the 12V 160W Pico (internal) PSU and its optional additional cables to power the optional HDDs. If course its one SATA power and one MOLEX power so additional MOLEX-SATA power adapter for about 1$ would be needed. Here is the 12V 96W FSP (external) PSU without the power cord.</p>
</blockquote>

<blockquote>
<p>This gives as total silent fanless system price of about $120. Its about ONE TENTH OF THE COST of the cheapest FreeNAS hardware solution available – the FreeNAS Mini (Diskless) costs $1156 also without disks.</p>
</blockquote>

<blockquote>
<p>You can put plain FreeBSD on top of it or Solaris/Illumos distribution OmniOSce which is server oriented. You can use prebuilt NAS solution based on FreeBSD like FreeNAS, NAS4Free, ZFSguru or even Solaris/Illumos based storage with napp-it appliance.</p>
</blockquote>

<hr>

<p>###<a href="https://blog.netbsd.org/tnf/entry/pinebook" target="_blank" rel="nofollow noopener">An annotated look at a NetBSD Pinebook’s startup</a></p>

<ul>
<li>Pinebook is an affordable 64-bit ARM notebook. Today we’re going to take a look at the kernel output at startup and talk about what hardware support is available on NetBSD.</li>
<li><a href="https://twitter.com/jmcwhatever/status/998258710496628736/photo/1" target="_blank" rel="nofollow noopener">Photo</a></li>
<li>Pinebook comes with 2GB RAM standard. A small amount of this is reserved by the kernel and framebuffer.</li>
<li>NetBSD uses flattened device-tree (FDT) to enumerate devices on all Allwinner based SoCs. On a running system, you can inspect the device tree using the ofctl(8) utility:</li>
<li>Pinebook’s Allwinner A64 processor is based on the ARM Cortex-A53. It is designed to run at frequencies up to 1.2GHz.</li>
<li>The A64 is a quad core design. NetBSD’s aarch64 pmap does not yet support SMP, so three cores are disabled for now.</li>
<li>The interrupt controller is a standard ARM GIC-400 design.</li>
<li>Clock drivers for managing PLLs, module clock dividers, clock gating, software resets, etc. Information about the clock tree is exported in the hw.clk sysctl namespace (root access required to read these values).</li>
</ul>

<pre><code># sysctl hw.clk.sun50ia64ccu0.mmc2
hw.clk.sun50ia64ccu0.mmc2.rate = 200000000
hw.clk.sun50ia64ccu0.mmc2.parent = pll_periph0_2x
hw.clk.sun50ia64ccu0.mmc2.parent_domain = sun50ia64ccu0
</code></pre>

<hr>

<p><strong>Digital Ocean</strong><br>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">http://do.co/bsdnow</a></p>

<p>###<a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-trip-report-mark-johnston/" target="_blank" rel="nofollow noopener">BSDCan 2018 Trip Report: Mark Johnston</a></p>

<blockquote>
<p>BSDCan is a highlight of my summers: the ability to have face-to-face conversations with fellow developers and contributors is invaluable and always helps refresh my enthusiasm for FreeBSD.  While in a perfect world we would all be able to communicate effectively over the Internet, it’s often noted that locking a group of developers together in a room can be a very efficient way to make progress on projects that otherwise get strung out over time, and to me this is one of the principal functions of BSD conferences.  In my case I was able to fix some kgdb bugs that had been hindering me for months; get some opinions on the design of a feature I’ve been working on for FreeBSD 12.0; hear about some ongoing usage of code that I’ve worked on; and do some pair-debugging of an issue that has been affecting another developer.<br>
As is tradition, on Tuesday night I dropped off my things at the university residence where I was staying, and headed straight to the Royal Oak.  This year it didn’t seem quite as packed with BSD developers, but I did meet several long-time colleagues and get a chance to catch up.  In particular, I chatted with Justin Hibbits and got to hear about the bring-up of FreeBSD on POWER9, a new CPU family released by IBM.  Justin was able to acquire a workstation based upon this CPU, which is a great motivator for getting FreeBSD into shape on that platform.  POWER9 also has some promise in the server market, so it’s important for FreeBSD to be a viable OS choice there.<br>
Wednesday morning saw the beginning of the two-day FreeBSD developer summit, which precedes the conference proper.  Gordon Tetlow led the summit and did an excellent job organizing things and keeping to the schedule.  The first presentation was by Deb Goodkin of the FreeBSD Foundation, who gave an overview of the Foundation’s role and activities. After Deb’s presentation, present members of the FreeBSD core team discussed the work they had done over the past two years, as well as open tasks that would be handed over to the new core team upon completion of the ongoing election.  Finally, Marius Strobl rounded off the day’s presentations by discussing the state and responsibilities of FreeBSD’s release engineering team.<br>
One side discussion of interest to me was around the notion of tightening integration with our Bugzilla instance; at moment we do not have any good means to mark a given bug as blocking a release, making it easy for bugs to slip into releases and thus lowering our overall quality.  With FreeBSD 12.0 upon us, I plan to help with the triage and fixes for known regressions before the release process begins.<br>
After a break, the rest of the morning was devoted to plans for features in upcoming FreeBSD releases.  This is one of my favorite discussion topics and typically takes the form of have/need/want, where developers collectively list features that they’ve developed and intend to upstream (have), features that they are missing (need), and nice-to-have features (want).  This year, instead of the usual format, we listed features that are intended to ship in FreeBSD 12.0.  The compiled list ended up being quite ambitious given how close we are to the beginning of the release cycle, but many individual developers (including myself) have signed up to deliver work.  I’m hopeful that most, if not all of it, will make it into the release.<br>
After lunch, I attended a discussion led by Matt Ahrens and Alexander Motin on OpenZFS.  Of particular interest to me were some observations made regarding the relative quantity and quality of contributions made by different “camps” of OpenZFS users (illumos, FreeBSD and ZoL), and their respective track records of upstreaming enhancements to the OpenZFS project. In part due to the high pace of changes in ZoL, the definition of “upstream” for ZFS has become murky, and of late ZFS changes have been ported directly from ZoL.  Alexander discussed some known problems with ZFS on FreeBSD that have been discovered through performance testing.  While I’m not familiar with ZFS internals, Alexander noted that ZFS’ write path has poor SMP scalability on FreeBSD owing to some limitations in a certain kernel API called taskqueue(9).  I would like to explore this problem further and perhaps integrate a relatively new alternative interface which should perform better.<br>
Friday and Saturday were, of course, taken up by BSDCan talks.  Friday’s keynote was by Benno Rice, who provided some history of UNIX boot systems as a precursor to some discussion of systemd and the difficulties presented by a user and developer community that actively resist change.  The rest of the morning was consumed by talks and passed by quickly. First was Colin Percival’s detailed examination of where the FreeBSD kernel spends time during boot, together with an overview of some infrastructure he added to track boot times. He also provided a list of improvements that have been made since he started taking measurements, and some areas we can further improve.  Colin’s existing work in this area has already brought about substantial reductions in boot time; amusingly, one of the remaining large delays comes from the keyboard driver, which contains a workaround for old PS/2 keyboards.  While there seems to be general agreement that the workaround is probably no longer needed on most systems, the lingering uncertainty around this prevents us from removing the workaround.  This is, sadly, a fairly typical example of an OS maintenance burden, and underscores the need to carefully document hardware bug workarounds.  After this talk, I got to see some rather novel demonstrations of system tracing using dwatch, a new utility by Devin Teske, which aims to provide a user-friendly interface to DTrace.  After lunch, I attended talks on netdump, a protocol for transmitting kernel dumps over a network after the system has panicked, and on a VPC implementation for FreeBSD.  After the talks ended, I headed yet again to the hacker lounge and had some fruitful discussions on early microcode loading (one of my features for FreeBSD 12.0). These led me to reconsider some aspects of my approach and saved me a lot of time.  Finally, I continued my debugging session from Wednesday with help from a couple of other developers.<br>
Saturday’s talks included a very thorough account by Li-Wen Hsu of his work in organizing a BSD conference in Taipei last year.  As one of the attendees, I had felt that the conference had gone quite smoothly and was taken aback by the number of details and pitfalls that Li-Wen enumerated during his talk. This was followed by an excellent talk by Baptiste Daroussin on the difficulties one encounters when deploying FreeBSD in new environments. Baptiste offered criticisms of a number of aspects of FreeBSD, some of which hit close to home as they involved portions of the system that I’ve worked on.<br>
At the conclusion of the talks, we all gathered in the main lecture hall, where Dan led a traditional and quite lively auction for charity.  I managed to snag a Pine64 board and will be getting FreeBSD installed on it the first chance I get.  At the end of the auction, we all headed to ByWard for dinner, concluding yet another BSDCan.</p>
</blockquote>

<ul>
<li>Thanks to Mark for sharing his experiences at this years BSDCan</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://undeadly.org/cgi?action=article&amp;sid=20180410063454" target="_blank" rel="nofollow noopener">Transparent network audio with mpd &amp; sndiod</a></p>

<blockquote>
<p>Landry Breuil (landry@ when wearing his developer hat) wrote in…</p>
</blockquote>

<pre><code>I've been a huge fan of MPD over the years to centralize my audio collection, and i've been using it with the http output to stream the music as a radio on the computer i'm currently using…

audio_output {
       type            "sndio"
       name            "Local speakers"
       mixer_type      "software"
}
audio_output {
       type            "httpd"
       name            "HTTP stream"
       mixer_type      "software"
       encoder         "vorbis"
       port            "8000"
       format          "44100:16:2"
}
this setup worked for years, allows me to stream my home radio to $work by tunnelling the port 8000 over ssh via LocalForward, but that still has some issues:

a distinct timing gap between the 'local output' (ie the speakers connected to the machine where MPD is running) and the 'http output' caused by the time it takes to reencode the stream, which is ugly when you walk through the house and have a 15s delay
sometimes mplayer as a client doesn't detect the pauses in the stream and needs to be restarted
i need to configure/start a client on each computer and point it at the sound server url (can do via gmpc shoutcast client plugin…)
it's not that elegant to reencode the stream, and it wastes cpu cycles
So the current scheme is:

mpd -&gt; http output -&gt; network -&gt; mplayer -&gt; sndiod on remote machine
|
-&gt; sndio output -&gt; sndiod on soundserver
Fiddling a little bit with mpd outputs and reading the sndio output driver, i remembered sndiod has native network support… and the mpd sndio output allows you to specify a device (it uses SIO_DEVANY by default).

So in the end, it's super easy to:

enable network support in sndio on the remote machine i want the audio to play by adding -L&lt;local ip&gt; to sndiod_flags (i have two audio devices, with an input coming from the webcam):
sndiod_flags="-L10.246.200.10 -f rsnd/0 -f rsnd/1"
open pf on port 11025 from the sound server ip:
pass in proto tcp from 10.246.200.1 to any port 11025
configure a new output in mpd:
audio_output {
       type            "sndio"
       name            "sndio on renton"
       device          "snd@10.246.200.10/0"
       mixer_type      "software"
}
and enable the new output in mpd:
$mpc enable 2
Output 1 (Local speakers) is disabled
Output 2 (sndio on renton) is enabled
Output 3 (HTTP stream) is disabled
Results in a big win: no gap anymore with the local speakers, no reencoding, no need to configure a client to play the stream, and i can still probably reproduce the same scheme over ssh from $work using a RemoteForward.

mpd -&gt; sndio output 2 -&gt; network -&gt; sndiod on remote machine
|
-&gt; sndio output 1 -&gt; sndiod on soundserver
Thanks ratchov@ for sndiod :)
</code></pre>

<hr>

<p>###<a href="https://www.mirbsd.org/permalinks/wlog-10_e20180415-tg.htm" target="_blank" rel="nofollow noopener">MirBSD’s Korn Shell on Plan9 Jehanne</a></p>

<blockquote>
<p>Let start by saying that I’m not really a C programmer.<br>
My last public contribution to a POSIX C program was a little improvement to the Snort’s react module back in 2008.<br>
So while I know the C language well enough, I do not know anything about the subtleness of the standard library and I have little experience with POSIX semantics.<br>
This is not a big issue with Plan 9, since the C library and compiler are not standard anyway, but with Jehanne (a Plan 9 derivative of my own) I want to build a simple, loosely coupled, system that can actually run useful free software ported from UNIX.<br>
So I ported RedHat’s newlib to Jehanne on top of a new system library I wrote, LibPOSIX, that provides the necessary emulations. I wrote several test, checking they run the same on Linux and Jehanne, and then I begun looking for a real-world, battle tested, application to port first.<br>
I approached MirBSD’s Korn Shell for several reason:</p>
</blockquote>

<ul>
<li>it is simple, powerful and well written</li>
<li>it has been ported to several different operating systems</li>
<li>it has few dependencies</li>
<li>it’s the default shell in Android, so it’s really battle tested</li>
</ul>

<blockquote>
<p>I was very confident. I had read the POSIX standard after all! And I had a test suite!<br>
I remember, I thought “Given newlib, how hard can it be?”<br>
The porting begun on September 1, 2017. It was completed by tg on January 5, 2018. 125 nights later.<br>
Turn out, my POSIX emulation was badly broken. Not just because of the usual bugs that any piece of C can have: I didn’t understood most POSIX semantics at all!</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong></p>

<p>###<a href="https://www.romanzolotarev.com/ssg.html" target="_blank" rel="nofollow noopener">Static site generator with rsync and lowdown on OpenBSD</a></p>

<ul>
<li>
<p>ssg is a tiny POSIX-compliant shell script with few dependencies:</p>
</li>
<li>
<p>lowdown(1) to parse markdown,</p>
</li>
<li>
<p>rsync(1) to copy temporary files, and</p>
</li>
<li>
<p>entr(1) to watch file changes.</p>
</li>
<li>
<p>It generates Markdown articles to a static website.</p>
</li>
<li>
<p>It copies the current directory to a temporary on in /tmp skipping .* and _*, renders all Markdown articles to HTML, generates RSS feed based on links from index.html, extracts the first &lt;h1&gt; tag from every article to generate a sitemap and use it as a page title, then wraps articles with a single HTML template, copies everything from the temporary directory to $DOCS/</p>
</li>
</ul>

<blockquote>
<p>Why not Jekyll or “$X”?</p>
</blockquote>

<ul>
<li>ssg is one hundred times smaller than Jekyll.</li>
</ul>

<blockquote>
<p>ssg and its dependencies are about 800KB combined. Compare that to 78MB of ruby with Jekyll and all the gems. So ssg can be installed in just few seconds on almost any Unix-like operating system.<br>
Obviously, ssg is tailored for my needs, it has all features I need and only those I use.<br>
Keeping ssg helps you to master your Unix-shell skills: awk, grep, sed, sh, cut, tr. As a web developer you work with lots of text: code and data. So you better master these wonderful tools.</p>
</blockquote>

<ul>
<li>Performance</li>
</ul>

<blockquote>
<p>100 pps. On modern computers ssg generates a hundred pages per second. Half of a time for markdown rendering and another half for wrapping articles into the template. I heard good static site generators work—twice as fast—at 200 pps, so there’s lots of performance that can be gained. ;)</p>
</blockquote>

<hr>

<p>###<a href="https://www.quora.com/Why-does-FreeBSD-have-virtually-no-0-desktop-market-share/answer/Terry-Lambert" target="_blank" rel="nofollow noopener">Why does FreeBSD have virtually no (0%) desktop market share?</a></p>

<ul>
<li>Because someone made a horrible design decision back in 1984.</li>
</ul>

<blockquote>
<p>In absolute fairness to those involved, it was an understandable decision, both from a research perspective, and from an economic perspective, although likely not, from a technology perspective.</p>
</blockquote>

<ul>
<li>Why and what.</li>
</ul>

<blockquote>
<p>The decision was taken because the X Window System was intended to run on cheap hardware, and, at the time, that meant reduced functionality in the end-point device with the physical display attached to it.<br>
At the same time, another force was acting to also limit X displays to display services only, rather than rolling in both window management and specific widget instances for common operational paradigms.<br>
Mostly, common operational paradigms didn’t really exist for windowing systems because they also simply didn’t exist at the time, and no one really knew how people were going to use the things, and so researchers didn’t want to commit future research to a set of hard constraints.<br>
So a decision was made: separate the display services from the application at the lowest level of graphics primitives currently in use at the time.</p>
</blockquote>

<ul>
<li>The ramifications of this were pretty staggering.</li>
</ul>

<blockquote>
<p>First, it guaranteed that all higher level graphics would live on the host side of the X protocol, instead of on the display device side of the protocol.<br>
Despite a good understanding of Moore’s law, and the fact that, since no X Terminals existed at the time as hardware, but were instead running as emulations on workstations that had sufficient capability, this put the higher level GUI object libraries — referred to as “widgets” — in host libraries linked into the applications.<br>
Second, it guaranteed that display organization and management paradigms would also live on the host side of the protocol — assumed, in contradiction to the previous decision, to be running on the workstation.<br>
But, presumably, at some point, as lightweight X Terminals became available, to migrate to a particular host computer managing compute resource login/access services.</p>
</blockquote>

<ul>
<li>Between these early decisions reigned chaos.</li>
</ul>

<blockquote>
<p>Specifically, the consequences of these decisions have been with us ever since:<br>
Look-and-feel are a consequence of the toolkit chosen by the application programmer, rather than a user decision which applies universally to all applications.<br>
You could call this “lack of a theme”, and — although I personally despise the idea of customizing or “theming” desktops — this meant that one paradigm chosen by the user would not apply universally across all applications, no matter who had written them.<br>
Window management style is a preference.<br>
You could call this a more radical version of “theming” — which you will remember, I despise — but a consequence to this is that training is not universal across personnel using such systems, nor is it transferrable.<br>
In other words, I can’t send someone to a class, and have them come back and use the computers in the office as a tool, with the computer itself — and the elements not specific to the application itself — disappearing into the background.<br>
Both of these ultimately render an X-based system unsuitable for desktops.<br>
I can’t pay once for training. Training that I do pay for does not easily and naturally translate between applications. Each new version may radically alter the desktop management paradigm into unrecognizability.</p>
</blockquote>

<ul>
<li>Is there hope for the future?</li>
</ul>

<blockquote>
<p>Well, the Linux community has been working on something called Wayland, and it is very promising…<br>
…In the same way X was “very promising” in 1984, because, unfortunately, they are making exactly the same mistakes X made in 1984, rather than correcting them, now that we have 20/20 hindsight, and know what a mature widget library should look like.<br>
So Wayland is screwing up again.<br>
But hey, it only took us, what, 25 years to get from X in 1987 to Wayland in in 2012.<br>
Maybe if we try again in 2037, we can get to where Windows was in 1995.</p>
</blockquote>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://twitter.com/FranckPachot/status/1012606253338591232" target="_blank" rel="nofollow noopener">New washing machine comes with 7 pages of open source licenses!</a></li>
<li><a href="https://www.bsdjobs.com/" target="_blank" rel="nofollow noopener">BSD Jobs Site</a></li>
<li><a href="https://www.freebsdfoundation.org/wp-content/uploads/2018/05/FreeBSD-Foundation-May-2018-Update.pdf" target="_blank" rel="nofollow noopener">FreeBSD Foundation Update, May 2018</a></li>
<li><a href="http://freebsdjournal.org/" target="_blank" rel="nofollow noopener">FreeBSD Journal looking for book reviewers</a></li>
<li><a href="https://ramsdenj.com/2018/05/29/zedenv-zfs-boot-environment-manager.html" target="_blank" rel="nofollow noopener">zedenv ZFS Boot Environment Manager</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>Wouter - <a href="http://dpaste.com/28959CK#wrap" target="_blank" rel="nofollow noopener">Feedback</a></li>
<li>Efraim - <a href="http://dpaste.com/2RZ16K8#wrap" target="_blank" rel="nofollow noopener">OS Suggestion</a></li>
<li>kevr - <a href="http://dpaste.com/2PX7KSP#wrap" target="_blank" rel="nofollow noopener">Raspberry Pi2/FreeBSD/Router on a Stick</a></li>
<li>Vanja - <a href="http://dpaste.com/0ARSVWE#wrap" target="_blank" rel="nofollow noopener">Interview Suggestion</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 252: Goes to 11.2 | BSD Now 252</title>
  <link>https://www.bsdnow.tv/252</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2170</guid>
  <pubDate>Thu, 28 Jun 2018 03:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ee4c7eca-8ae4-44bc-965b-9631a9d99865.mp3" length="56727001" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 11.2 has been released, setting up an MTA behind Tor, running pfsense on DigitalOcean, one year of C, using OpenBGPD to announce VM networks, the power to serve, and a BSDCan trip report.</itunes:subtitle>
  <itunes:duration>1:34:26</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>&lt;p&gt;FreeBSD 11.2 has been released, setting up an MTA behind Tor, running pfsense on DigitalOcean, one year of C, using OpenBGPD to announce VM networks, the power to serve, and a BSDCan trip report.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://www.freebsd.org/releases/11.2R/announce.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.2-RELEASE Available&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD 11.2 was released today (June 27th) and is ready for download&lt;/li&gt;
&lt;li&gt;Highlights:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenSSH has been updated to version 7.5p1.&lt;br&gt;
OpenSSL has been updated to version 1.0.2o.&lt;br&gt;
The clang, llvm, lldb and compiler-rt utilities have been updated to version 6.0.0.&lt;br&gt;
The libarchive(3) library has been updated to version 3.3.2.&lt;br&gt;
The libxo(3) library has been updated to version 0.9.0.&lt;br&gt;
Major Device driver updates to:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;cxgbe(4) – Chelsio 10/25/40/50/100 gigabit NICs – version 1.16.63.0 supports T4, T5 and T6&lt;/li&gt;
&lt;li&gt;ixl(4) – Intel 10 and 40 gigabit NICs, updated to version 1.9.9-k&lt;/li&gt;
&lt;li&gt;ng_pppoe(4) – driver has been updated to add support for user-supplied Host-Uniq tags&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;New drivers:&lt;br&gt;
+ drm-next-kmod driver supporting integrated Intel graphics with the i915 driver.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;mlx5io(4) – a new IOCTL interface for Mellanox ConnectX-4 and ConnectX-5 10/20/25/40/50/56/100 gigabit NICs&lt;/li&gt;
&lt;li&gt;ocs_fc(4) – Emulex Fibre Channel 8/16/32 gigabit Host Adapters&lt;/li&gt;
&lt;li&gt;smartpqi(4) – HP Gen10 Smart Array Controller Family&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The newsyslog(8) utility has been updated to support RFC5424-compliant messages when rotating system logs&lt;br&gt;
The diskinfo(8) utility has been updated to include two new flags, -s which displays the disk identity (usually the serial number), and -p which displays the physical path to the disk in a storage controller.&lt;br&gt;
The top(1) utility has been updated to allow filtering on multiple user names when the    -U flag is used&lt;br&gt;
The umount(8) utility has been updated to include a new flag, -N, which is used to forcefully unmount an NFS mounted filesystem.&lt;br&gt;
The ps(1) utility has been updated to display if a process is running with capsicum(4) capability mode, indicated by the flag ‘C’&lt;br&gt;
The service(8) utility has been updated to include a new flag, -j, which is used to interact with services running within a jail(8). The argument to -j can be either the name or numeric jail ID&lt;br&gt;
The mlx5tool(8) utility has been added, which is used to manage Connect-X 4 and Connect-X 5 devices supported by mlx5io(4).&lt;br&gt;
The ifconfig(8) utility has been updated to include a random option, which when used with the ether option, generates a random MAC address for an interface.&lt;br&gt;
The dwatch(1) utility has been introduced&lt;br&gt;
The efibootmgr(8) utility has been added, which is used to manipulate the EFI boot manager.&lt;br&gt;
The etdump(1) utility has been added, which is used to view El Torito boot catalog information.&lt;br&gt;
The linux(4) ABI compatibility layer has been updated to include support for musl consumers.&lt;br&gt;
The fdescfs(5) filesystem has been updated to support Linux®-specific fd(4) /dev/fd and /proc/self/fd behavior&lt;br&gt;
Support for virtio_console(4) has been added to bhyve(4).&lt;br&gt;
The length of GELI passphrases entered when booting a system with encrypted disks is now hidden by default. See the configuration options in geli(8) to restore the previous behavior.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In addition to the usual CD/DVD ISO, Memstick, and prebuilt VM images (raw, qcow2, vhd, and vmdk), FreeBSD 11.2 is also available on:
&lt;ul&gt;
&lt;li&gt;Amazon EC2&lt;/li&gt;
&lt;li&gt;Google Compute Engine&lt;/li&gt;
&lt;li&gt;Hashicorp/Atlas Vagrant&lt;/li&gt;
&lt;li&gt;Microsoft Azure&lt;/li&gt;
&lt;/ul&gt;

&lt;/li&gt;&lt;br&gt;
&lt;li&gt;In addition to a generic ARM64 image for devices like the Pine64 and Raspberry Pi 3, specific images are provided for:

&lt;ul&gt;
&lt;li&gt;GUMSTIX&lt;/li&gt;
&lt;li&gt;BANANAPI&lt;/li&gt;
&lt;li&gt;BEAGLEBONE&lt;/li&gt;
&lt;li&gt;CUBIEBOARD&lt;/li&gt;
&lt;li&gt;CUBIEBOARD2&lt;/li&gt;
&lt;li&gt;CUBOX-HUMMINGBOARD&lt;/li&gt;
&lt;li&gt;RASPBERRY PI 2&lt;/li&gt;
&lt;li&gt;PANDABOARD&lt;/li&gt;
&lt;li&gt;WANDBOARD&lt;/li&gt;
&lt;/ul&gt;

&lt;/li&gt;&lt;br&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/releases/11.2R/relnotes.html" target="_blank" rel="nofollow noopener"&gt;Full Release Notes&lt;/a&gt;&lt;/li&gt;&lt;br&gt;
&lt;/ul&gt;&lt;br&gt;
&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://github.com/lattera/articles/blob/master/opsec/2018-05-08_torified_mta/article.md" target="_blank" rel="nofollow noopener"&gt;Setting up an MTA Behind Tor&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This article will document how to set up OpenSMTPD behind a fully Tor-ified network. Given that Tor’s DNS resolver code does not support MX record lookups, care must be taken for setting up an MTA behind a fully Tor-ified network. OpenSMTPD was chosen because it was easy to modify to force it to fall back to A/AAAA lookups when MX lookups failed with a DNS result code of NOTIMP (4).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Note that as of 08 May 2018, the OpenSMTPD project is planning a configuration file language change. The proposed change has not landed. Once it does, this article will be updated to reflect both the old language and new.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The reason to use an MTA behing a fully Tor-ified network is to be able to support email behind the .onion TLD. This setup will only allow us to send and receive email to and from the .onion TLD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Requirements:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A fully Tor-ified network&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;HardenedBSD as the operating system&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A server (or VM) running HardenedBSD behind the fully Tor-ified network.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;/usr/ports is empty&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Or is already pre-populated with the HardenedBSD Ports tree&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Why use HardenedBSD? We get all the features of FreeBSD (ZFS, DTrace, bhyve, and jails) with enhanced security through exploit mitigations and system hardening. Tor has a very unique threat landscape and using a hardened ecosystem is crucial to mitigating risks and threats.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Also note that this article reflects how I’ve set up my MTA. I’ve included configuration files verbatim. You will need to replace the text that refers to my .onion domain with yours.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;On 08 May 2018, HardenedBSD’s version of OpenSMTPD just gained support for running an MTA behind Tor. The package repositories do not yet contain the patch, so we will compile OpenSMTPD from ports.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Steps&lt;/li&gt;
&lt;li&gt;Installation&lt;/li&gt;
&lt;li&gt;Generating Cryptographic Key Material&lt;/li&gt;
&lt;li&gt;Tor Configuration&lt;/li&gt;
&lt;li&gt;OpenSMTPD Configuration&lt;/li&gt;
&lt;li&gt;Dovecot Configuration&lt;/li&gt;
&lt;li&gt;Testing your configuration&lt;/li&gt;
&lt;li&gt;Optional: Webmail Access&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://www.forbes.com/sites/forbestechcouncil/2018/06/21/strings-attached-knowing-when-and-when-not-to-accept-vc-funding/#30f9f18f46ec" target="_blank" rel="nofollow noopener"&gt;https://www.forbes.com/sites/forbestechcouncil/2018/06/21/strings-attached-knowing-when-and-when-not-to-accept-vc-funding/#30f9f18f46ec&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.ixsystems.com/blog/self-2018-recap/" target="_blank" rel="nofollow noopener"&gt;https://www.ixsystems.com/blog/self-2018-recap/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://squigly.blogspot.com/2018/02/running-pfsense-on-digitalocean-droplet.html" target="_blank" rel="nofollow noopener"&gt;Running pfSense on a Digital Ocean Droplet&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I love pfSense (and opnSense, no discrimination here). I use it for just about anything, from homelab to large scale deployments and I’ll give out on any fancy &amp;lt;enter brand name fw appliance here&amp;gt; for a pfSense setup on a decent hardware.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I also love DigitalOcean, if you ever used them, you know why, if you never did, head over and try, you’ll understand why.&lt;br&gt;
&amp;lt;shameless plug: head over to &lt;a href="http://JupiterBroadcasting.com" target="_blank" rel="nofollow noopener"&gt;JupiterBroadcasting.com&lt;/a&gt;, the &lt;em&gt;best&lt;/em&gt; technology content out there, they have coupon codes to get you started with DO&amp;gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Unfortunately, while DO offers tremendous amount of useful distros and applications, pfSense isn’t one of them. But, where there’s a will, there’s a way, and here’s how to get pfSense up and running on DO so you can have it as the gatekeeper to your kingdom.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Start by creating a FreeBSD droplet, choose your droplet size (for modest setups, I find the 5$ to be quite awesome):&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;There are many useful things you can do with pfSense on your droplet, from OpenVPN, squid, firewalling, fancy routing, url filtering, dns black listing and much much more.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;One note though, before we wrap up:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;You have two ways to initiate the initial setup wizard of the web-configurator:&lt;br&gt;
Spin up another droplet, log into it and browse your way to the INTERNAL ip address of the internal NIC you’ve set up. This is the long and tedious way, but it’s also somewhat safer  as it eliminates the small window of risk the second method poses.&lt;br&gt;
or&lt;br&gt;
Once your  WAN address is all setup, your pfSense is ready to accept https connection to start the initial web-configurator setup.&lt;br&gt;
Thing is, there’s a default, well known set of credential to this initial wizard (admin:pfsense), so, there is a slight window of opportunity that someone can swoop in (assuming they know you’ve installed pfsense + your wan IP address + the exact time window between setting up the WAN interface and completing the wizard) and do &amp;lt;enter scary thing here&amp;gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I leave it up to you which of the path you’d like to go, either way, once you’re done with the web-configurator wizard, you’ll have a shiny new pfSense installation at your disposal running on your favorite VPS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Hopefully this was helpful for someone, I hope to get a similar post soon detailing how to get FreeNAS up and running on DO.&lt;br&gt;
Many thanks to Tubsta and his blogpost as well as to Allan Jude, Kris Moore and Benedict Reuschling for their AWESOME and inspiring podcast, BSD Now.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="http://floooh.github.io/2018/06/02/one-year-of-c.html" target="_blank" rel="nofollow noopener"&gt;One year of C&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s now nearly a year that I started writing non-trivial amounts of C code again (the first sokol_gfx.h commit was on the 14-Jul-2017), so I guess it’s time for a little retrospective.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;In the beginning it was more of an experiment: I wanted to see how much I would miss some of the more useful C++ features (for instance namespaces, function overloading, ‘simple’ template code for containers, …), and whether it is possible to write non-trivial codebases in C without going mad.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Here are all the github projects I wrote in C:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;sokol: a slowly growing set of platform-abstraction headers&lt;/li&gt;
&lt;li&gt;sokol-samples - examples for Sokol&lt;/li&gt;
&lt;li&gt;chips - 8-bit chip emulators&lt;/li&gt;
&lt;li&gt;chips-test - tests and examples for the chip- emulators, including some complete home computer emulators (minus sound)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;All in all these are around 32k lines of code (not including 3rd party code like flextGL and HandmadeMath). I think I wrote more C code in the recent 10 months than any other language.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;So one thing seems to be clear: yes, it’s possible to write a non-trivial amount of C code that does something useful without going mad (and it’s even quite enjoyable I might add).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Here’s a few things I learned:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Pick the right language for a problem&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;C is a perfect match for WebAssembly&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;C99 is a huge improvement over C89&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The dangers of pointers and explicit memory management are overrated&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Less Boilerplate Code&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Less Language Feature ‘Anxiety’&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Conclusion&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;All in all my “C experiment” is a success. For a lot of problems, picking C over C++ may be the better choice since C is a much simpler language (btw, did you notice how there are hardly any books, conferences or discussions about C despite being a fairly popular language? Apart from the neverending bickering about undefined behaviour from the compiler people of course ;) There simply isn’t much to discuss about a language that can be learned in an afternoon.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I don’t like some of the old POSIX or Linux APIs as much as the next guy (e.g. ioctl(), the socket API or some of the CRT library functions), but that’s an API design problem, not a language problem. It’s possible to build friendly C APIs with a bit of care and thinking, especially when C99’s designated initialization can be used (C++ should really make sure that the full C99 language can be used from inside C++ instead of continuing to wander off into an entirely different direction).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://empt1e.blogspot.com/2018/06/configuring-openbgpd-to-announce-vms.html" target="_blank" rel="nofollow noopener"&gt;Configuring OpenBGPD to announce VM’s virtual networks&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We use BGP quite heavily at work, and even though I’m not interacting with that directly, it feels like it’s something very useful to learn at least on some basic level. The most effective and fun way of learning technology is finding some practical application, so I decided to see if it could help to improve networking management for my Virtual Machines.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;My setup is fairly simple: I have a host that runs bhyve VMs and I have a desktop system from where I ssh to VMs, both hosts run FreeBSD. All VMs are connected to each other through a bridge and have a common network 10.0.1/24. The point of this exercise is to be able to ssh to these VMs from desktop without adding static routes and without adding vmhost’s external interfaces to the VMs bridge.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve installed openbgpd on both hosts and configured it like this:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;vmhost: /usr/local/etc/bgpd.conf
AS 65002
router-id 192.168.87.48
fib-update no

network 10.0.1.1/24

neighbor 192.168.87.41 {
    descr "desktop"
    remote-as 65001
}
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Here, router-id is set vmhost’s IP address in my home network (192.168.87/24), fib-update no is set to forbid routing table update, which I initially set for testing, but keeping it as vmhost is not supposed to learn new routes from desktop anyway. network announces my VMs network and neighbor describes my desktop box. Now the desktop box:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;desktop: /usr/local/etc/bgpd.conf
AS 65001
router-id 192.168.87.41
fib-update yes

neighbor 192.168.87.48 {                                                                                                                                                                                           
        descr "vmhost"                                                                                                                                                                                             
        remote-as 65002                                                                                                                                                                                            
}
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;It’s pretty similar to vmhost’s bgpd.conf, but no networks are announced here, and fib-update is set to yes because the whole point is to get VM routes added. Both hosts have to have the openbgpd service enabled:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;/etc/rc.conf.local
openbgpd_enable="YES"
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As mentioned already, similar result could be achieved without using BGP by using either static routes or bridging interfaces differently, but the purpose of this exercise is to get some basic hands-on experience with BGP. Right now I’m looking into extending my setup in order to try more complex BGP schema. I’m thinking about adding some software switches in front of my VMs or maybe adding a second VM host (if budget allows). You’re welcome to comment if you have some ideas how to extend this setup for educational purposes in the context of BGP and networking.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;As a side note, I really like openbgpd so far. Its configuration file format is clean and simple, documentation is good, error and information messages are clear, and CLI has intuitive syntax.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Digital Ocean&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://nocomplexity.com/the-power-to-serve/" target="_blank" rel="nofollow noopener"&gt;The Power to Serve&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;All people within the IT Industry should known where the slogan “The Power To Serve” is exposed every day to millions of people. But maybe too much wishful thinking from me. But without “The Power To Serve” the IT industry today will look totally different. Companies like Apple, Juniper, Cisco and even WatsApp would not exist in their current form.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I provide IT architecture services to make your complex IT landscape manageable and I love to solve complex security and privacy challenges. Complex challenges where people, processes and systems are heavily interrelated. For this knowledge intensive work I often run some IT experiments. When you run experiments nowadays you have a choice:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Rent some cloud based services or&lt;/li&gt;
&lt;li&gt;DIY (Do IT Yourself) on premise&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Running your own developments experiments on your own infrastructure can be time consuming. However smart automation saves time and money. And by creating your own CICD pipeline (Continuous Integration, Continuous Deployment) you stay on top of core infrastructure developments. Even hands-on. Knowing how things work from a technical ‘hands-on’ perspective gives great advantages when it comes to solving complex business IT problems. Making a clear distinguish between a business problem or IT problem is useless. Business and IT problems are related. Sometimes causal related, but more often indirect by one or more non linear feedback loops. Almost every business depends of IT systems. Bad IT means often that your customers will leave your business.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the things of FeeBSD for me is still FreeBSD Jails. In 2015 I had luck to attend to a presentation of the legendary hacker Poul-Henning Kamp . Check his BSD bio to see what he has done for the FreeBSD community! FreeBSD jails are a light way to visualize your system without enormous overhead. Now that the development on Linux for LXD/LXD is more mature (lxd is the next generation system container manager on linux) there is finally again an alternative for a nice chroot Linux based system again. At least when you do not need the overhead and management complexity that comes with Kubernetes or Docker.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD means control and quality for me. When there is an open source package I need, I want to install it from source. It gives me more control and always some extra knowledge on how things work. So no precompiled binaries for me on my BSD systems! If a build on FreeBSD fails most of the time this is an alert regarding the quality for me.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;If a complex OSS package is not available at all in the FreeBSD ports collection there should be a reason for it. Is it really that nobody on the world wants to do this dirty maintenance work? Or is there another cause that running this software on FreeBSD is not possible…There are currently 32644 ports available on FreeBSD. So all the major programming language, databases and middleware libraries are present. The FreeBSD organization is a mature organization and since this is one of the largest OSS projects worldwide learning how this community manages to keep innovation and creates and maintains software is a good entrance for learning how complex IT systems function.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD is of course BSD licensed. It worked well! There is still a strong community with lots of strong commercial sponsors around the community. Of course: sometimes a GPL license makes more sense. So beside FreeBSD I also love GPL software and the rationale and principles behind it. So my hope is that maybe within the next 25 years the hard battle between BSD vs GPL churches will be more rationalized and normalized. Principles are good, but as all good IT architects know: With good principles alone you never make a good system. So use requirements and not only principles to figure out what OSS license fits your project. There is never one size fits all.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;June 19, 1993 was the day the official name for FreeBSD was agreed upon. So this blog is written to celebrate 25th anniversary of FreeBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###Dave’s BSDCan trip report&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;So far, only one person has bothered to send in a BSDCan trip report. Our warmest thanks to Dave for doing his part.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Hello guys! During the last show, you asked for a trip report regarding BSDCan 2018.&lt;br&gt;
This was my first time attending BSDCan. However, BSDCan was my second BSD conference overall, my first being vBSDCon 2017 in Reston, VA.&lt;br&gt;
Arriving early Thursday evening and after checking into the hotel, I headed straight to the Red Lion for the registration, picked up my badge and swag and then headed towards the ‘DMS’ building for the newbies talk. The only thing is, I couldn’t find the DMS building! Fortunately I found a BSDCan veteran who was heading there themselves. My only suggestion is to include the full building name and address on the BSDCan web site, or even a link to Google maps to help out with the navigation. The on-campus street maps didn’t have ‘DMS’ written on them anywhere. But I digress.&lt;br&gt;
Once I made it to the newbies talk hosted by Dan Langille and Michael W Lucas, it highlighted places to meet, an overview of what is happening, details about the ‘BSDCan widow/widower tours’ and most importantly, the 6-2-1 rule!&lt;br&gt;
The following morning, we were present with tea/coffee, muffins and other goodies to help prepare us for the day ahead.&lt;br&gt;
The first talk, “The Tragedy of systemd” covered what systemd did wrong and how the BSD community could improve on the ideas behind it.&lt;br&gt;
With the exception of Michael W Lucas, SSH Key Management and Kirk McKusick, The Evolution of FreeBSD Governance talk, I pretty much attended all of the ZFS talks including the lunchtime BoF session, hosted by Allan Jude. Coming from FreeNAS and being involved in the community, this is where my main interest and motivation lies. Since then I have been able to share some of that information with the FreeNAS community forums and chatroom.&lt;br&gt;
I also attended the “Speculating about Intel” lunchtime BoF session hosted by Theo de Raddt, which proved to be “interesting”.&lt;br&gt;
The talks ended with the wrap up session with a few words from Dan, covering the record attendance and made very clear there “was no cabal”. Followed by the the handing over of Groff the BSD goat to a new owner, thank you’s from the FreeBSD Foundation to various community committers and maintainers, finally ending with the charity auction, where a things like a Canadian $20 bill sold for $40, a signed FreeBSD Foundation shirt originally worn by George Neville-Neil, a lost laptop charger, Michael’s used gelato spoon, various books, the last cookie and more importantly, the second to last cookie!&lt;br&gt;
After the auction, we all headed to the Red Lion for food and drinks, sponsored by iXsystems.&lt;br&gt;
I would like to thank the BSDCan organizers, speakers and sponsors for a great conference. I will certainly hope to attend next year!&lt;br&gt;
Regards,&lt;br&gt;
Dave (aka m0nkey_)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Thanks to Dave for sharing his experiences with us and our viewers&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-advocacy/2008-August/003674.html" target="_blank" rel="nofollow noopener"&gt;Robert Watson (from 2008) on how much FreeBSD is in Mac OS X &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://aloiskraus.wordpress.com/2018/06/16/why-skylakex-cpus-are-sometimes-50-slower-how-intel-has-broken-existing-code/" target="_blank" rel="nofollow noopener"&gt;Why Intel Skylake CPUs are sometimes 50% slower than older CPUs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lobste.rs/s/bos5cr/practical_unix_manuals_mdoc" target="_blank" rel="nofollow noopener"&gt;Kristaps Dzonsons is looking for somebody to maintain this as mentioned at this link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/freebsd/comments/87rru4/formatting_floppy_disks_in_a_usb_floppy_disk_drive/" target="_blank" rel="nofollow noopener"&gt;camcontrol(8) saves the day again! Formatting floppy disks in a USB floppy disk drive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/openbsd_gaming/comments/898ey5/32_great_indie_games_now_playable_on_current_7/" target="_blank" rel="nofollow noopener"&gt;32+ great indie games now playable on OpenBSD -current; 7 currently on sale!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener"&gt;Warsaw BSD User Group. June 27 2018 18:30-21:00, Wheel Systems Office, Aleje Jerozolimskie 178, Warsaw&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ron - &lt;a href="http://dpaste.com/2B6CWDM#wrap" target="_blank" rel="nofollow noopener"&gt;Adding a disk to ZFS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Marshall - &lt;a href="http://dpaste.com/2W7VD6K#wrap" target="_blank" rel="nofollow noopener"&gt;zfs question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Thomas - &lt;a href="http://dpaste.com/1FS7534#wrap" target="_blank" rel="nofollow noopener"&gt;Allan, the myth perpetuator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ross - &lt;a href="http://dpaste.com/1HWQWB6#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS IO stats per dataset&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, trident, hardenedbsd, tutorial, howto, guide, bsd, interview, OpenBGPD, MTA, TOR, pfsense</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 11.2 has been released, setting up an MTA behind Tor, running pfsense on DigitalOcean, one year of C, using OpenBGPD to announce VM networks, the power to serve, and a BSDCan trip report.</p>

<p>##Headlines<br>
###<a href="https://www.freebsd.org/releases/11.2R/announce.html" target="_blank" rel="nofollow noopener">FreeBSD 11.2-RELEASE Available</a></p>

<ul>
<li>FreeBSD 11.2 was released today (June 27th) and is ready for download</li>
<li>Highlights:</li>
</ul>

<blockquote>
<p>OpenSSH has been updated to version 7.5p1.<br>
OpenSSL has been updated to version 1.0.2o.<br>
The clang, llvm, lldb and compiler-rt utilities have been updated to version 6.0.0.<br>
The libarchive(3) library has been updated to version 3.3.2.<br>
The libxo(3) library has been updated to version 0.9.0.<br>
Major Device driver updates to:</p>
</blockquote>

<ul>
<li>cxgbe(4) – Chelsio 10/25/40/50/100 gigabit NICs – version 1.16.63.0 supports T4, T5 and T6</li>
<li>ixl(4) – Intel 10 and 40 gigabit NICs, updated to version 1.9.9-k</li>
<li>ng_pppoe(4) – driver has been updated to add support for user-supplied Host-Uniq tags</li>
</ul>

<blockquote>
<p>New drivers:<br>
+ drm-next-kmod driver supporting integrated Intel graphics with the i915 driver.</p>
</blockquote>

<ul>
<li>mlx5io(4) – a new IOCTL interface for Mellanox ConnectX-4 and ConnectX-5 10/20/25/40/50/56/100 gigabit NICs</li>
<li>ocs_fc(4) – Emulex Fibre Channel 8/16/32 gigabit Host Adapters</li>
<li>smartpqi(4) – HP Gen10 Smart Array Controller Family</li>
</ul>

<blockquote>
<p>The newsyslog(8) utility has been updated to support RFC5424-compliant messages when rotating system logs<br>
The diskinfo(8) utility has been updated to include two new flags, -s which displays the disk identity (usually the serial number), and -p which displays the physical path to the disk in a storage controller.<br>
The top(1) utility has been updated to allow filtering on multiple user names when the    -U flag is used<br>
The umount(8) utility has been updated to include a new flag, -N, which is used to forcefully unmount an NFS mounted filesystem.<br>
The ps(1) utility has been updated to display if a process is running with capsicum(4) capability mode, indicated by the flag ‘C’<br>
The service(8) utility has been updated to include a new flag, -j, which is used to interact with services running within a jail(8). The argument to -j can be either the name or numeric jail ID<br>
The mlx5tool(8) utility has been added, which is used to manage Connect-X 4 and Connect-X 5 devices supported by mlx5io(4).<br>
The ifconfig(8) utility has been updated to include a random option, which when used with the ether option, generates a random MAC address for an interface.<br>
The dwatch(1) utility has been introduced<br>
The efibootmgr(8) utility has been added, which is used to manipulate the EFI boot manager.<br>
The etdump(1) utility has been added, which is used to view El Torito boot catalog information.<br>
The linux(4) ABI compatibility layer has been updated to include support for musl consumers.<br>
The fdescfs(5) filesystem has been updated to support Linux®-specific fd(4) /dev/fd and /proc/self/fd behavior<br>
Support for virtio_console(4) has been added to bhyve(4).<br>
The length of GELI passphrases entered when booting a system with encrypted disks is now hidden by default. See the configuration options in geli(8) to restore the previous behavior.</p>
</blockquote>

<ul>
<li>In addition to the usual CD/DVD ISO, Memstick, and prebuilt VM images (raw, qcow2, vhd, and vmdk), FreeBSD 11.2 is also available on:
<ul>
<li>Amazon EC2</li>
<li>Google Compute Engine</li>
<li>Hashicorp/Atlas Vagrant</li>
<li>Microsoft Azure</li>
</ul>

</li><br>
<li>In addition to a generic ARM64 image for devices like the Pine64 and Raspberry Pi 3, specific images are provided for:

<ul>
<li>GUMSTIX</li>
<li>BANANAPI</li>
<li>BEAGLEBONE</li>
<li>CUBIEBOARD</li>
<li>CUBIEBOARD2</li>
<li>CUBOX-HUMMINGBOARD</li>
<li>RASPBERRY PI 2</li>
<li>PANDABOARD</li>
<li>WANDBOARD</li>
</ul>

</li><br>
<li><a href="https://www.freebsd.org/releases/11.2R/relnotes.html" target="_blank" rel="nofollow noopener">Full Release Notes</a></li><br>
</ul><br>
<hr>

<p>###<a href="https://github.com/lattera/articles/blob/master/opsec/2018-05-08_torified_mta/article.md" target="_blank" rel="nofollow noopener">Setting up an MTA Behind Tor</a></p>

<blockquote>
<p>This article will document how to set up OpenSMTPD behind a fully Tor-ified network. Given that Tor’s DNS resolver code does not support MX record lookups, care must be taken for setting up an MTA behind a fully Tor-ified network. OpenSMTPD was chosen because it was easy to modify to force it to fall back to A/AAAA lookups when MX lookups failed with a DNS result code of NOTIMP (4).</p>
</blockquote>

<blockquote>
<p>Note that as of 08 May 2018, the OpenSMTPD project is planning a configuration file language change. The proposed change has not landed. Once it does, this article will be updated to reflect both the old language and new.</p>
</blockquote>

<blockquote>
<p>The reason to use an MTA behing a fully Tor-ified network is to be able to support email behind the .onion TLD. This setup will only allow us to send and receive email to and from the .onion TLD.</p>
</blockquote>

<ul>
<li>
<p>Requirements:</p>
</li>
<li>
<p>A fully Tor-ified network</p>
</li>
<li>
<p>HardenedBSD as the operating system</p>
</li>
<li>
<p>A server (or VM) running HardenedBSD behind the fully Tor-ified network.</p>
</li>
<li>
<p>/usr/ports is empty</p>
</li>
<li>
<p>Or is already pre-populated with the HardenedBSD Ports tree</p>
</li>
<li>
<p>Why use HardenedBSD? We get all the features of FreeBSD (ZFS, DTrace, bhyve, and jails) with enhanced security through exploit mitigations and system hardening. Tor has a very unique threat landscape and using a hardened ecosystem is crucial to mitigating risks and threats.</p>
</li>
</ul>

<blockquote>
<p>Also note that this article reflects how I’ve set up my MTA. I’ve included configuration files verbatim. You will need to replace the text that refers to my .onion domain with yours.</p>
</blockquote>

<blockquote>
<p>On 08 May 2018, HardenedBSD’s version of OpenSMTPD just gained support for running an MTA behind Tor. The package repositories do not yet contain the patch, so we will compile OpenSMTPD from ports.</p>
</blockquote>

<ul>
<li>Steps</li>
<li>Installation</li>
<li>Generating Cryptographic Key Material</li>
<li>Tor Configuration</li>
<li>OpenSMTPD Configuration</li>
<li>Dovecot Configuration</li>
<li>Testing your configuration</li>
<li>Optional: Webmail Access</li>
</ul>

<hr>

<p><strong>iXsystems</strong><br>
<a href="https://www.forbes.com/sites/forbestechcouncil/2018/06/21/strings-attached-knowing-when-and-when-not-to-accept-vc-funding/#30f9f18f46ec" target="_blank" rel="nofollow noopener">https://www.forbes.com/sites/forbestechcouncil/2018/06/21/strings-attached-knowing-when-and-when-not-to-accept-vc-funding/#30f9f18f46ec</a><br>
<a href="https://www.ixsystems.com/blog/self-2018-recap/" target="_blank" rel="nofollow noopener">https://www.ixsystems.com/blog/self-2018-recap/</a></p>

<p>###<a href="https://squigly.blogspot.com/2018/02/running-pfsense-on-digitalocean-droplet.html" target="_blank" rel="nofollow noopener">Running pfSense on a Digital Ocean Droplet</a></p>

<blockquote>
<p>I love pfSense (and opnSense, no discrimination here). I use it for just about anything, from homelab to large scale deployments and I’ll give out on any fancy &lt;enter brand name fw appliance here&gt; for a pfSense setup on a decent hardware.</p>
</blockquote>

<blockquote>
<p>I also love DigitalOcean, if you ever used them, you know why, if you never did, head over and try, you’ll understand why.<br>
&lt;shameless plug: head over to <a href="http://JupiterBroadcasting.com" target="_blank" rel="nofollow noopener">JupiterBroadcasting.com</a>, the <em>best</em> technology content out there, they have coupon codes to get you started with DO&gt;.</p>
</blockquote>

<blockquote>
<p>Unfortunately, while DO offers tremendous amount of useful distros and applications, pfSense isn’t one of them. But, where there’s a will, there’s a way, and here’s how to get pfSense up and running on DO so you can have it as the gatekeeper to your kingdom.</p>
</blockquote>

<blockquote>
<p>Start by creating a FreeBSD droplet, choose your droplet size (for modest setups, I find the 5$ to be quite awesome):</p>
</blockquote>

<blockquote>
<p>There are many useful things you can do with pfSense on your droplet, from OpenVPN, squid, firewalling, fancy routing, url filtering, dns black listing and much much more.</p>
</blockquote>

<ul>
<li>One note though, before we wrap up:</li>
</ul>

<blockquote>
<p>You have two ways to initiate the initial setup wizard of the web-configurator:<br>
Spin up another droplet, log into it and browse your way to the INTERNAL ip address of the internal NIC you’ve set up. This is the long and tedious way, but it’s also somewhat safer  as it eliminates the small window of risk the second method poses.<br>
or<br>
Once your  WAN address is all setup, your pfSense is ready to accept https connection to start the initial web-configurator setup.<br>
Thing is, there’s a default, well known set of credential to this initial wizard (admin:pfsense), so, there is a slight window of opportunity that someone can swoop in (assuming they know you’ve installed pfsense + your wan IP address + the exact time window between setting up the WAN interface and completing the wizard) and do &lt;enter scary thing here&gt;.</p>
</blockquote>

<blockquote>
<p>I leave it up to you which of the path you’d like to go, either way, once you’re done with the web-configurator wizard, you’ll have a shiny new pfSense installation at your disposal running on your favorite VPS.</p>
</blockquote>

<blockquote>
<p>Hopefully this was helpful for someone, I hope to get a similar post soon detailing how to get FreeNAS up and running on DO.<br>
Many thanks to Tubsta and his blogpost as well as to Allan Jude, Kris Moore and Benedict Reuschling for their AWESOME and inspiring podcast, BSD Now.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="http://floooh.github.io/2018/06/02/one-year-of-c.html" target="_blank" rel="nofollow noopener">One year of C</a></p>

<blockquote>
<p>It’s now nearly a year that I started writing non-trivial amounts of C code again (the first sokol_gfx.h commit was on the 14-Jul-2017), so I guess it’s time for a little retrospective.</p>
</blockquote>

<blockquote>
<p>In the beginning it was more of an experiment: I wanted to see how much I would miss some of the more useful C++ features (for instance namespaces, function overloading, ‘simple’ template code for containers, …), and whether it is possible to write non-trivial codebases in C without going mad.</p>
</blockquote>

<blockquote>
<p>Here are all the github projects I wrote in C:</p>
</blockquote>

<ul>
<li>sokol: a slowly growing set of platform-abstraction headers</li>
<li>sokol-samples - examples for Sokol</li>
<li>chips - 8-bit chip emulators</li>
<li>chips-test - tests and examples for the chip- emulators, including some complete home computer emulators (minus sound)</li>
</ul>

<blockquote>
<p>All in all these are around 32k lines of code (not including 3rd party code like flextGL and HandmadeMath). I think I wrote more C code in the recent 10 months than any other language.</p>
</blockquote>

<blockquote>
<p>So one thing seems to be clear: yes, it’s possible to write a non-trivial amount of C code that does something useful without going mad (and it’s even quite enjoyable I might add).</p>
</blockquote>

<ul>
<li>
<p>Here’s a few things I learned:</p>
</li>
<li>
<p>Pick the right language for a problem</p>
</li>
<li>
<p>C is a perfect match for WebAssembly</p>
</li>
<li>
<p>C99 is a huge improvement over C89</p>
</li>
<li>
<p>The dangers of pointers and explicit memory management are overrated</p>
</li>
<li>
<p>Less Boilerplate Code</p>
</li>
<li>
<p>Less Language Feature ‘Anxiety’</p>
</li>
<li>
<p>Conclusion</p>
</li>
</ul>

<blockquote>
<p>All in all my “C experiment” is a success. For a lot of problems, picking C over C++ may be the better choice since C is a much simpler language (btw, did you notice how there are hardly any books, conferences or discussions about C despite being a fairly popular language? Apart from the neverending bickering about undefined behaviour from the compiler people of course ;) There simply isn’t much to discuss about a language that can be learned in an afternoon.</p>
</blockquote>

<blockquote>
<p>I don’t like some of the old POSIX or Linux APIs as much as the next guy (e.g. ioctl(), the socket API or some of the CRT library functions), but that’s an API design problem, not a language problem. It’s possible to build friendly C APIs with a bit of care and thinking, especially when C99’s designated initialization can be used (C++ should really make sure that the full C99 language can be used from inside C++ instead of continuing to wander off into an entirely different direction).</p>
</blockquote>

<hr>

<p>###<a href="https://empt1e.blogspot.com/2018/06/configuring-openbgpd-to-announce-vms.html" target="_blank" rel="nofollow noopener">Configuring OpenBGPD to announce VM’s virtual networks</a></p>

<blockquote>
<p>We use BGP quite heavily at work, and even though I’m not interacting with that directly, it feels like it’s something very useful to learn at least on some basic level. The most effective and fun way of learning technology is finding some practical application, so I decided to see if it could help to improve networking management for my Virtual Machines.</p>
</blockquote>

<blockquote>
<p>My setup is fairly simple: I have a host that runs bhyve VMs and I have a desktop system from where I ssh to VMs, both hosts run FreeBSD. All VMs are connected to each other through a bridge and have a common network 10.0.1/24. The point of this exercise is to be able to ssh to these VMs from desktop without adding static routes and without adding vmhost’s external interfaces to the VMs bridge.</p>
</blockquote>

<blockquote>
<p>I’ve installed openbgpd on both hosts and configured it like this:</p>
</blockquote>

<pre><code>vmhost: /usr/local/etc/bgpd.conf
AS 65002
router-id 192.168.87.48
fib-update no

network 10.0.1.1/24

neighbor 192.168.87.41 {
    descr "desktop"
    remote-as 65001
}
</code></pre>

<blockquote>
<p>Here, router-id is set vmhost’s IP address in my home network (192.168.87/24), fib-update no is set to forbid routing table update, which I initially set for testing, but keeping it as vmhost is not supposed to learn new routes from desktop anyway. network announces my VMs network and neighbor describes my desktop box. Now the desktop box:</p>
</blockquote>

<pre><code>desktop: /usr/local/etc/bgpd.conf
AS 65001
router-id 192.168.87.41
fib-update yes

neighbor 192.168.87.48 {                                                                                                                                                                                           
        descr "vmhost"                                                                                                                                                                                             
        remote-as 65002                                                                                                                                                                                            
}
</code></pre>

<blockquote>
<p>It’s pretty similar to vmhost’s bgpd.conf, but no networks are announced here, and fib-update is set to yes because the whole point is to get VM routes added. Both hosts have to have the openbgpd service enabled:</p>
</blockquote>

<pre><code>/etc/rc.conf.local
openbgpd_enable="YES"
</code></pre>

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

<blockquote>
<p>As mentioned already, similar result could be achieved without using BGP by using either static routes or bridging interfaces differently, but the purpose of this exercise is to get some basic hands-on experience with BGP. Right now I’m looking into extending my setup in order to try more complex BGP schema. I’m thinking about adding some software switches in front of my VMs or maybe adding a second VM host (if budget allows). You’re welcome to comment if you have some ideas how to extend this setup for educational purposes in the context of BGP and networking.</p>
</blockquote>

<blockquote>
<p>As a side note, I really like openbgpd so far. Its configuration file format is clean and simple, documentation is good, error and information messages are clear, and CLI has intuitive syntax.</p>
</blockquote>

<hr>

<p><strong>Digital Ocean</strong></p>

<p>###<a href="https://nocomplexity.com/the-power-to-serve/" target="_blank" rel="nofollow noopener">The Power to Serve</a></p>

<blockquote>
<p>All people within the IT Industry should known where the slogan “The Power To Serve” is exposed every day to millions of people. But maybe too much wishful thinking from me. But without “The Power To Serve” the IT industry today will look totally different. Companies like Apple, Juniper, Cisco and even WatsApp would not exist in their current form.</p>
</blockquote>

<blockquote>
<p>I provide IT architecture services to make your complex IT landscape manageable and I love to solve complex security and privacy challenges. Complex challenges where people, processes and systems are heavily interrelated. For this knowledge intensive work I often run some IT experiments. When you run experiments nowadays you have a choice:</p>
</blockquote>

<ul>
<li>Rent some cloud based services or</li>
<li>DIY (Do IT Yourself) on premise</li>
</ul>

<blockquote>
<p>Running your own developments experiments on your own infrastructure can be time consuming. However smart automation saves time and money. And by creating your own CICD pipeline (Continuous Integration, Continuous Deployment) you stay on top of core infrastructure developments. Even hands-on. Knowing how things work from a technical ‘hands-on’ perspective gives great advantages when it comes to solving complex business IT problems. Making a clear distinguish between a business problem or IT problem is useless. Business and IT problems are related. Sometimes causal related, but more often indirect by one or more non linear feedback loops. Almost every business depends of IT systems. Bad IT means often that your customers will leave your business.</p>
</blockquote>

<blockquote>
<p>One of the things of FeeBSD for me is still FreeBSD Jails. In 2015 I had luck to attend to a presentation of the legendary hacker Poul-Henning Kamp . Check his BSD bio to see what he has done for the FreeBSD community! FreeBSD jails are a light way to visualize your system without enormous overhead. Now that the development on Linux for LXD/LXD is more mature (lxd is the next generation system container manager on linux) there is finally again an alternative for a nice chroot Linux based system again. At least when you do not need the overhead and management complexity that comes with Kubernetes or Docker.</p>
</blockquote>

<blockquote>
<p>FreeBSD means control and quality for me. When there is an open source package I need, I want to install it from source. It gives me more control and always some extra knowledge on how things work. So no precompiled binaries for me on my BSD systems! If a build on FreeBSD fails most of the time this is an alert regarding the quality for me.</p>
</blockquote>

<blockquote>
<p>If a complex OSS package is not available at all in the FreeBSD ports collection there should be a reason for it. Is it really that nobody on the world wants to do this dirty maintenance work? Or is there another cause that running this software on FreeBSD is not possible…There are currently 32644 ports available on FreeBSD. So all the major programming language, databases and middleware libraries are present. The FreeBSD organization is a mature organization and since this is one of the largest OSS projects worldwide learning how this community manages to keep innovation and creates and maintains software is a good entrance for learning how complex IT systems function.</p>
</blockquote>

<blockquote>
<p>FreeBSD is of course BSD licensed. It worked well! There is still a strong community with lots of strong commercial sponsors around the community. Of course: sometimes a GPL license makes more sense. So beside FreeBSD I also love GPL software and the rationale and principles behind it. So my hope is that maybe within the next 25 years the hard battle between BSD vs GPL churches will be more rationalized and normalized. Principles are good, but as all good IT architects know: With good principles alone you never make a good system. So use requirements and not only principles to figure out what OSS license fits your project. There is never one size fits all.</p>
</blockquote>

<blockquote>
<p>June 19, 1993 was the day the official name for FreeBSD was agreed upon. So this blog is written to celebrate 25th anniversary of FreeBSD.</p>
</blockquote>

<hr>

<p>###Dave’s BSDCan trip report</p>

<ul>
<li>So far, only one person has bothered to send in a BSDCan trip report. Our warmest thanks to Dave for doing his part.</li>
</ul>

<blockquote>
<p>Hello guys! During the last show, you asked for a trip report regarding BSDCan 2018.<br>
This was my first time attending BSDCan. However, BSDCan was my second BSD conference overall, my first being vBSDCon 2017 in Reston, VA.<br>
Arriving early Thursday evening and after checking into the hotel, I headed straight to the Red Lion for the registration, picked up my badge and swag and then headed towards the ‘DMS’ building for the newbies talk. The only thing is, I couldn’t find the DMS building! Fortunately I found a BSDCan veteran who was heading there themselves. My only suggestion is to include the full building name and address on the BSDCan web site, or even a link to Google maps to help out with the navigation. The on-campus street maps didn’t have ‘DMS’ written on them anywhere. But I digress.<br>
Once I made it to the newbies talk hosted by Dan Langille and Michael W Lucas, it highlighted places to meet, an overview of what is happening, details about the ‘BSDCan widow/widower tours’ and most importantly, the 6-2-1 rule!<br>
The following morning, we were present with tea/coffee, muffins and other goodies to help prepare us for the day ahead.<br>
The first talk, “The Tragedy of systemd” covered what systemd did wrong and how the BSD community could improve on the ideas behind it.<br>
With the exception of Michael W Lucas, SSH Key Management and Kirk McKusick, The Evolution of FreeBSD Governance talk, I pretty much attended all of the ZFS talks including the lunchtime BoF session, hosted by Allan Jude. Coming from FreeNAS and being involved in the community, this is where my main interest and motivation lies. Since then I have been able to share some of that information with the FreeNAS community forums and chatroom.<br>
I also attended the “Speculating about Intel” lunchtime BoF session hosted by Theo de Raddt, which proved to be “interesting”.<br>
The talks ended with the wrap up session with a few words from Dan, covering the record attendance and made very clear there “was no cabal”. Followed by the the handing over of Groff the BSD goat to a new owner, thank you’s from the FreeBSD Foundation to various community committers and maintainers, finally ending with the charity auction, where a things like a Canadian $20 bill sold for $40, a signed FreeBSD Foundation shirt originally worn by George Neville-Neil, a lost laptop charger, Michael’s used gelato spoon, various books, the last cookie and more importantly, the second to last cookie!<br>
After the auction, we all headed to the Red Lion for food and drinks, sponsored by iXsystems.<br>
I would like to thank the BSDCan organizers, speakers and sponsors for a great conference. I will certainly hope to attend next year!<br>
Regards,<br>
Dave (aka m0nkey_)</p>
</blockquote>

<ul>
<li>Thanks to Dave for sharing his experiences with us and our viewers</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-advocacy/2008-August/003674.html" target="_blank" rel="nofollow noopener">Robert Watson (from 2008) on how much FreeBSD is in Mac OS X </a></li>
<li><a href="https://aloiskraus.wordpress.com/2018/06/16/why-skylakex-cpus-are-sometimes-50-slower-how-intel-has-broken-existing-code/" target="_blank" rel="nofollow noopener">Why Intel Skylake CPUs are sometimes 50% slower than older CPUs</a></li>
<li><a href="https://lobste.rs/s/bos5cr/practical_unix_manuals_mdoc" target="_blank" rel="nofollow noopener">Kristaps Dzonsons is looking for somebody to maintain this as mentioned at this link</a></li>
<li><a href="https://www.reddit.com/r/freebsd/comments/87rru4/formatting_floppy_disks_in_a_usb_floppy_disk_drive/" target="_blank" rel="nofollow noopener">camcontrol(8) saves the day again! Formatting floppy disks in a USB floppy disk drive</a></li>
<li><a href="https://www.reddit.com/r/openbsd_gaming/comments/898ey5/32_great_indie_games_now_playable_on_current_7/" target="_blank" rel="nofollow noopener">32+ great indie games now playable on OpenBSD -current; 7 currently on sale!</a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">Warsaw BSD User Group. June 27 2018 18:30-21:00, Wheel Systems Office, Aleje Jerozolimskie 178, Warsaw</a></li>
</ul>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>Ron - <a href="http://dpaste.com/2B6CWDM#wrap" target="_blank" rel="nofollow noopener">Adding a disk to ZFS</a></li>
<li>Marshall - <a href="http://dpaste.com/2W7VD6K#wrap" target="_blank" rel="nofollow noopener">zfs question</a></li>
<li>Thomas - <a href="http://dpaste.com/1FS7534#wrap" target="_blank" rel="nofollow noopener">Allan, the myth perpetuator</a></li>
<li>Ross - <a href="http://dpaste.com/1HWQWB6#wrap" target="_blank" rel="nofollow noopener">ZFS IO stats per dataset</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 11.2 has been released, setting up an MTA behind Tor, running pfsense on DigitalOcean, one year of C, using OpenBGPD to announce VM networks, the power to serve, and a BSDCan trip report.</p>

<p>##Headlines<br>
###<a href="https://www.freebsd.org/releases/11.2R/announce.html" target="_blank" rel="nofollow noopener">FreeBSD 11.2-RELEASE Available</a></p>

<ul>
<li>FreeBSD 11.2 was released today (June 27th) and is ready for download</li>
<li>Highlights:</li>
</ul>

<blockquote>
<p>OpenSSH has been updated to version 7.5p1.<br>
OpenSSL has been updated to version 1.0.2o.<br>
The clang, llvm, lldb and compiler-rt utilities have been updated to version 6.0.0.<br>
The libarchive(3) library has been updated to version 3.3.2.<br>
The libxo(3) library has been updated to version 0.9.0.<br>
Major Device driver updates to:</p>
</blockquote>

<ul>
<li>cxgbe(4) – Chelsio 10/25/40/50/100 gigabit NICs – version 1.16.63.0 supports T4, T5 and T6</li>
<li>ixl(4) – Intel 10 and 40 gigabit NICs, updated to version 1.9.9-k</li>
<li>ng_pppoe(4) – driver has been updated to add support for user-supplied Host-Uniq tags</li>
</ul>

<blockquote>
<p>New drivers:<br>
+ drm-next-kmod driver supporting integrated Intel graphics with the i915 driver.</p>
</blockquote>

<ul>
<li>mlx5io(4) – a new IOCTL interface for Mellanox ConnectX-4 and ConnectX-5 10/20/25/40/50/56/100 gigabit NICs</li>
<li>ocs_fc(4) – Emulex Fibre Channel 8/16/32 gigabit Host Adapters</li>
<li>smartpqi(4) – HP Gen10 Smart Array Controller Family</li>
</ul>

<blockquote>
<p>The newsyslog(8) utility has been updated to support RFC5424-compliant messages when rotating system logs<br>
The diskinfo(8) utility has been updated to include two new flags, -s which displays the disk identity (usually the serial number), and -p which displays the physical path to the disk in a storage controller.<br>
The top(1) utility has been updated to allow filtering on multiple user names when the    -U flag is used<br>
The umount(8) utility has been updated to include a new flag, -N, which is used to forcefully unmount an NFS mounted filesystem.<br>
The ps(1) utility has been updated to display if a process is running with capsicum(4) capability mode, indicated by the flag ‘C’<br>
The service(8) utility has been updated to include a new flag, -j, which is used to interact with services running within a jail(8). The argument to -j can be either the name or numeric jail ID<br>
The mlx5tool(8) utility has been added, which is used to manage Connect-X 4 and Connect-X 5 devices supported by mlx5io(4).<br>
The ifconfig(8) utility has been updated to include a random option, which when used with the ether option, generates a random MAC address for an interface.<br>
The dwatch(1) utility has been introduced<br>
The efibootmgr(8) utility has been added, which is used to manipulate the EFI boot manager.<br>
The etdump(1) utility has been added, which is used to view El Torito boot catalog information.<br>
The linux(4) ABI compatibility layer has been updated to include support for musl consumers.<br>
The fdescfs(5) filesystem has been updated to support Linux®-specific fd(4) /dev/fd and /proc/self/fd behavior<br>
Support for virtio_console(4) has been added to bhyve(4).<br>
The length of GELI passphrases entered when booting a system with encrypted disks is now hidden by default. See the configuration options in geli(8) to restore the previous behavior.</p>
</blockquote>

<ul>
<li>In addition to the usual CD/DVD ISO, Memstick, and prebuilt VM images (raw, qcow2, vhd, and vmdk), FreeBSD 11.2 is also available on:
<ul>
<li>Amazon EC2</li>
<li>Google Compute Engine</li>
<li>Hashicorp/Atlas Vagrant</li>
<li>Microsoft Azure</li>
</ul>

</li><br>
<li>In addition to a generic ARM64 image for devices like the Pine64 and Raspberry Pi 3, specific images are provided for:

<ul>
<li>GUMSTIX</li>
<li>BANANAPI</li>
<li>BEAGLEBONE</li>
<li>CUBIEBOARD</li>
<li>CUBIEBOARD2</li>
<li>CUBOX-HUMMINGBOARD</li>
<li>RASPBERRY PI 2</li>
<li>PANDABOARD</li>
<li>WANDBOARD</li>
</ul>

</li><br>
<li><a href="https://www.freebsd.org/releases/11.2R/relnotes.html" target="_blank" rel="nofollow noopener">Full Release Notes</a></li><br>
</ul><br>
<hr>

<p>###<a href="https://github.com/lattera/articles/blob/master/opsec/2018-05-08_torified_mta/article.md" target="_blank" rel="nofollow noopener">Setting up an MTA Behind Tor</a></p>

<blockquote>
<p>This article will document how to set up OpenSMTPD behind a fully Tor-ified network. Given that Tor’s DNS resolver code does not support MX record lookups, care must be taken for setting up an MTA behind a fully Tor-ified network. OpenSMTPD was chosen because it was easy to modify to force it to fall back to A/AAAA lookups when MX lookups failed with a DNS result code of NOTIMP (4).</p>
</blockquote>

<blockquote>
<p>Note that as of 08 May 2018, the OpenSMTPD project is planning a configuration file language change. The proposed change has not landed. Once it does, this article will be updated to reflect both the old language and new.</p>
</blockquote>

<blockquote>
<p>The reason to use an MTA behing a fully Tor-ified network is to be able to support email behind the .onion TLD. This setup will only allow us to send and receive email to and from the .onion TLD.</p>
</blockquote>

<ul>
<li>
<p>Requirements:</p>
</li>
<li>
<p>A fully Tor-ified network</p>
</li>
<li>
<p>HardenedBSD as the operating system</p>
</li>
<li>
<p>A server (or VM) running HardenedBSD behind the fully Tor-ified network.</p>
</li>
<li>
<p>/usr/ports is empty</p>
</li>
<li>
<p>Or is already pre-populated with the HardenedBSD Ports tree</p>
</li>
<li>
<p>Why use HardenedBSD? We get all the features of FreeBSD (ZFS, DTrace, bhyve, and jails) with enhanced security through exploit mitigations and system hardening. Tor has a very unique threat landscape and using a hardened ecosystem is crucial to mitigating risks and threats.</p>
</li>
</ul>

<blockquote>
<p>Also note that this article reflects how I’ve set up my MTA. I’ve included configuration files verbatim. You will need to replace the text that refers to my .onion domain with yours.</p>
</blockquote>

<blockquote>
<p>On 08 May 2018, HardenedBSD’s version of OpenSMTPD just gained support for running an MTA behind Tor. The package repositories do not yet contain the patch, so we will compile OpenSMTPD from ports.</p>
</blockquote>

<ul>
<li>Steps</li>
<li>Installation</li>
<li>Generating Cryptographic Key Material</li>
<li>Tor Configuration</li>
<li>OpenSMTPD Configuration</li>
<li>Dovecot Configuration</li>
<li>Testing your configuration</li>
<li>Optional: Webmail Access</li>
</ul>

<hr>

<p><strong>iXsystems</strong><br>
<a href="https://www.forbes.com/sites/forbestechcouncil/2018/06/21/strings-attached-knowing-when-and-when-not-to-accept-vc-funding/#30f9f18f46ec" target="_blank" rel="nofollow noopener">https://www.forbes.com/sites/forbestechcouncil/2018/06/21/strings-attached-knowing-when-and-when-not-to-accept-vc-funding/#30f9f18f46ec</a><br>
<a href="https://www.ixsystems.com/blog/self-2018-recap/" target="_blank" rel="nofollow noopener">https://www.ixsystems.com/blog/self-2018-recap/</a></p>

<p>###<a href="https://squigly.blogspot.com/2018/02/running-pfsense-on-digitalocean-droplet.html" target="_blank" rel="nofollow noopener">Running pfSense on a Digital Ocean Droplet</a></p>

<blockquote>
<p>I love pfSense (and opnSense, no discrimination here). I use it for just about anything, from homelab to large scale deployments and I’ll give out on any fancy &lt;enter brand name fw appliance here&gt; for a pfSense setup on a decent hardware.</p>
</blockquote>

<blockquote>
<p>I also love DigitalOcean, if you ever used them, you know why, if you never did, head over and try, you’ll understand why.<br>
&lt;shameless plug: head over to <a href="http://JupiterBroadcasting.com" target="_blank" rel="nofollow noopener">JupiterBroadcasting.com</a>, the <em>best</em> technology content out there, they have coupon codes to get you started with DO&gt;.</p>
</blockquote>

<blockquote>
<p>Unfortunately, while DO offers tremendous amount of useful distros and applications, pfSense isn’t one of them. But, where there’s a will, there’s a way, and here’s how to get pfSense up and running on DO so you can have it as the gatekeeper to your kingdom.</p>
</blockquote>

<blockquote>
<p>Start by creating a FreeBSD droplet, choose your droplet size (for modest setups, I find the 5$ to be quite awesome):</p>
</blockquote>

<blockquote>
<p>There are many useful things you can do with pfSense on your droplet, from OpenVPN, squid, firewalling, fancy routing, url filtering, dns black listing and much much more.</p>
</blockquote>

<ul>
<li>One note though, before we wrap up:</li>
</ul>

<blockquote>
<p>You have two ways to initiate the initial setup wizard of the web-configurator:<br>
Spin up another droplet, log into it and browse your way to the INTERNAL ip address of the internal NIC you’ve set up. This is the long and tedious way, but it’s also somewhat safer  as it eliminates the small window of risk the second method poses.<br>
or<br>
Once your  WAN address is all setup, your pfSense is ready to accept https connection to start the initial web-configurator setup.<br>
Thing is, there’s a default, well known set of credential to this initial wizard (admin:pfsense), so, there is a slight window of opportunity that someone can swoop in (assuming they know you’ve installed pfsense + your wan IP address + the exact time window between setting up the WAN interface and completing the wizard) and do &lt;enter scary thing here&gt;.</p>
</blockquote>

<blockquote>
<p>I leave it up to you which of the path you’d like to go, either way, once you’re done with the web-configurator wizard, you’ll have a shiny new pfSense installation at your disposal running on your favorite VPS.</p>
</blockquote>

<blockquote>
<p>Hopefully this was helpful for someone, I hope to get a similar post soon detailing how to get FreeNAS up and running on DO.<br>
Many thanks to Tubsta and his blogpost as well as to Allan Jude, Kris Moore and Benedict Reuschling for their AWESOME and inspiring podcast, BSD Now.</p>
</blockquote>

<hr>

<p>##News Roundup<br>
###<a href="http://floooh.github.io/2018/06/02/one-year-of-c.html" target="_blank" rel="nofollow noopener">One year of C</a></p>

<blockquote>
<p>It’s now nearly a year that I started writing non-trivial amounts of C code again (the first sokol_gfx.h commit was on the 14-Jul-2017), so I guess it’s time for a little retrospective.</p>
</blockquote>

<blockquote>
<p>In the beginning it was more of an experiment: I wanted to see how much I would miss some of the more useful C++ features (for instance namespaces, function overloading, ‘simple’ template code for containers, …), and whether it is possible to write non-trivial codebases in C without going mad.</p>
</blockquote>

<blockquote>
<p>Here are all the github projects I wrote in C:</p>
</blockquote>

<ul>
<li>sokol: a slowly growing set of platform-abstraction headers</li>
<li>sokol-samples - examples for Sokol</li>
<li>chips - 8-bit chip emulators</li>
<li>chips-test - tests and examples for the chip- emulators, including some complete home computer emulators (minus sound)</li>
</ul>

<blockquote>
<p>All in all these are around 32k lines of code (not including 3rd party code like flextGL and HandmadeMath). I think I wrote more C code in the recent 10 months than any other language.</p>
</blockquote>

<blockquote>
<p>So one thing seems to be clear: yes, it’s possible to write a non-trivial amount of C code that does something useful without going mad (and it’s even quite enjoyable I might add).</p>
</blockquote>

<ul>
<li>
<p>Here’s a few things I learned:</p>
</li>
<li>
<p>Pick the right language for a problem</p>
</li>
<li>
<p>C is a perfect match for WebAssembly</p>
</li>
<li>
<p>C99 is a huge improvement over C89</p>
</li>
<li>
<p>The dangers of pointers and explicit memory management are overrated</p>
</li>
<li>
<p>Less Boilerplate Code</p>
</li>
<li>
<p>Less Language Feature ‘Anxiety’</p>
</li>
<li>
<p>Conclusion</p>
</li>
</ul>

<blockquote>
<p>All in all my “C experiment” is a success. For a lot of problems, picking C over C++ may be the better choice since C is a much simpler language (btw, did you notice how there are hardly any books, conferences or discussions about C despite being a fairly popular language? Apart from the neverending bickering about undefined behaviour from the compiler people of course ;) There simply isn’t much to discuss about a language that can be learned in an afternoon.</p>
</blockquote>

<blockquote>
<p>I don’t like some of the old POSIX or Linux APIs as much as the next guy (e.g. ioctl(), the socket API or some of the CRT library functions), but that’s an API design problem, not a language problem. It’s possible to build friendly C APIs with a bit of care and thinking, especially when C99’s designated initialization can be used (C++ should really make sure that the full C99 language can be used from inside C++ instead of continuing to wander off into an entirely different direction).</p>
</blockquote>

<hr>

<p>###<a href="https://empt1e.blogspot.com/2018/06/configuring-openbgpd-to-announce-vms.html" target="_blank" rel="nofollow noopener">Configuring OpenBGPD to announce VM’s virtual networks</a></p>

<blockquote>
<p>We use BGP quite heavily at work, and even though I’m not interacting with that directly, it feels like it’s something very useful to learn at least on some basic level. The most effective and fun way of learning technology is finding some practical application, so I decided to see if it could help to improve networking management for my Virtual Machines.</p>
</blockquote>

<blockquote>
<p>My setup is fairly simple: I have a host that runs bhyve VMs and I have a desktop system from where I ssh to VMs, both hosts run FreeBSD. All VMs are connected to each other through a bridge and have a common network 10.0.1/24. The point of this exercise is to be able to ssh to these VMs from desktop without adding static routes and without adding vmhost’s external interfaces to the VMs bridge.</p>
</blockquote>

<blockquote>
<p>I’ve installed openbgpd on both hosts and configured it like this:</p>
</blockquote>

<pre><code>vmhost: /usr/local/etc/bgpd.conf
AS 65002
router-id 192.168.87.48
fib-update no

network 10.0.1.1/24

neighbor 192.168.87.41 {
    descr "desktop"
    remote-as 65001
}
</code></pre>

<blockquote>
<p>Here, router-id is set vmhost’s IP address in my home network (192.168.87/24), fib-update no is set to forbid routing table update, which I initially set for testing, but keeping it as vmhost is not supposed to learn new routes from desktop anyway. network announces my VMs network and neighbor describes my desktop box. Now the desktop box:</p>
</blockquote>

<pre><code>desktop: /usr/local/etc/bgpd.conf
AS 65001
router-id 192.168.87.41
fib-update yes

neighbor 192.168.87.48 {                                                                                                                                                                                           
        descr "vmhost"                                                                                                                                                                                             
        remote-as 65002                                                                                                                                                                                            
}
</code></pre>

<blockquote>
<p>It’s pretty similar to vmhost’s bgpd.conf, but no networks are announced here, and fib-update is set to yes because the whole point is to get VM routes added. Both hosts have to have the openbgpd service enabled:</p>
</blockquote>

<pre><code>/etc/rc.conf.local
openbgpd_enable="YES"
</code></pre>

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

<blockquote>
<p>As mentioned already, similar result could be achieved without using BGP by using either static routes or bridging interfaces differently, but the purpose of this exercise is to get some basic hands-on experience with BGP. Right now I’m looking into extending my setup in order to try more complex BGP schema. I’m thinking about adding some software switches in front of my VMs or maybe adding a second VM host (if budget allows). You’re welcome to comment if you have some ideas how to extend this setup for educational purposes in the context of BGP and networking.</p>
</blockquote>

<blockquote>
<p>As a side note, I really like openbgpd so far. Its configuration file format is clean and simple, documentation is good, error and information messages are clear, and CLI has intuitive syntax.</p>
</blockquote>

<hr>

<p><strong>Digital Ocean</strong></p>

<p>###<a href="https://nocomplexity.com/the-power-to-serve/" target="_blank" rel="nofollow noopener">The Power to Serve</a></p>

<blockquote>
<p>All people within the IT Industry should known where the slogan “The Power To Serve” is exposed every day to millions of people. But maybe too much wishful thinking from me. But without “The Power To Serve” the IT industry today will look totally different. Companies like Apple, Juniper, Cisco and even WatsApp would not exist in their current form.</p>
</blockquote>

<blockquote>
<p>I provide IT architecture services to make your complex IT landscape manageable and I love to solve complex security and privacy challenges. Complex challenges where people, processes and systems are heavily interrelated. For this knowledge intensive work I often run some IT experiments. When you run experiments nowadays you have a choice:</p>
</blockquote>

<ul>
<li>Rent some cloud based services or</li>
<li>DIY (Do IT Yourself) on premise</li>
</ul>

<blockquote>
<p>Running your own developments experiments on your own infrastructure can be time consuming. However smart automation saves time and money. And by creating your own CICD pipeline (Continuous Integration, Continuous Deployment) you stay on top of core infrastructure developments. Even hands-on. Knowing how things work from a technical ‘hands-on’ perspective gives great advantages when it comes to solving complex business IT problems. Making a clear distinguish between a business problem or IT problem is useless. Business and IT problems are related. Sometimes causal related, but more often indirect by one or more non linear feedback loops. Almost every business depends of IT systems. Bad IT means often that your customers will leave your business.</p>
</blockquote>

<blockquote>
<p>One of the things of FeeBSD for me is still FreeBSD Jails. In 2015 I had luck to attend to a presentation of the legendary hacker Poul-Henning Kamp . Check his BSD bio to see what he has done for the FreeBSD community! FreeBSD jails are a light way to visualize your system without enormous overhead. Now that the development on Linux for LXD/LXD is more mature (lxd is the next generation system container manager on linux) there is finally again an alternative for a nice chroot Linux based system again. At least when you do not need the overhead and management complexity that comes with Kubernetes or Docker.</p>
</blockquote>

<blockquote>
<p>FreeBSD means control and quality for me. When there is an open source package I need, I want to install it from source. It gives me more control and always some extra knowledge on how things work. So no precompiled binaries for me on my BSD systems! If a build on FreeBSD fails most of the time this is an alert regarding the quality for me.</p>
</blockquote>

<blockquote>
<p>If a complex OSS package is not available at all in the FreeBSD ports collection there should be a reason for it. Is it really that nobody on the world wants to do this dirty maintenance work? Or is there another cause that running this software on FreeBSD is not possible…There are currently 32644 ports available on FreeBSD. So all the major programming language, databases and middleware libraries are present. The FreeBSD organization is a mature organization and since this is one of the largest OSS projects worldwide learning how this community manages to keep innovation and creates and maintains software is a good entrance for learning how complex IT systems function.</p>
</blockquote>

<blockquote>
<p>FreeBSD is of course BSD licensed. It worked well! There is still a strong community with lots of strong commercial sponsors around the community. Of course: sometimes a GPL license makes more sense. So beside FreeBSD I also love GPL software and the rationale and principles behind it. So my hope is that maybe within the next 25 years the hard battle between BSD vs GPL churches will be more rationalized and normalized. Principles are good, but as all good IT architects know: With good principles alone you never make a good system. So use requirements and not only principles to figure out what OSS license fits your project. There is never one size fits all.</p>
</blockquote>

<blockquote>
<p>June 19, 1993 was the day the official name for FreeBSD was agreed upon. So this blog is written to celebrate 25th anniversary of FreeBSD.</p>
</blockquote>

<hr>

<p>###Dave’s BSDCan trip report</p>

<ul>
<li>So far, only one person has bothered to send in a BSDCan trip report. Our warmest thanks to Dave for doing his part.</li>
</ul>

<blockquote>
<p>Hello guys! During the last show, you asked for a trip report regarding BSDCan 2018.<br>
This was my first time attending BSDCan. However, BSDCan was my second BSD conference overall, my first being vBSDCon 2017 in Reston, VA.<br>
Arriving early Thursday evening and after checking into the hotel, I headed straight to the Red Lion for the registration, picked up my badge and swag and then headed towards the ‘DMS’ building for the newbies talk. The only thing is, I couldn’t find the DMS building! Fortunately I found a BSDCan veteran who was heading there themselves. My only suggestion is to include the full building name and address on the BSDCan web site, or even a link to Google maps to help out with the navigation. The on-campus street maps didn’t have ‘DMS’ written on them anywhere. But I digress.<br>
Once I made it to the newbies talk hosted by Dan Langille and Michael W Lucas, it highlighted places to meet, an overview of what is happening, details about the ‘BSDCan widow/widower tours’ and most importantly, the 6-2-1 rule!<br>
The following morning, we were present with tea/coffee, muffins and other goodies to help prepare us for the day ahead.<br>
The first talk, “The Tragedy of systemd” covered what systemd did wrong and how the BSD community could improve on the ideas behind it.<br>
With the exception of Michael W Lucas, SSH Key Management and Kirk McKusick, The Evolution of FreeBSD Governance talk, I pretty much attended all of the ZFS talks including the lunchtime BoF session, hosted by Allan Jude. Coming from FreeNAS and being involved in the community, this is where my main interest and motivation lies. Since then I have been able to share some of that information with the FreeNAS community forums and chatroom.<br>
I also attended the “Speculating about Intel” lunchtime BoF session hosted by Theo de Raddt, which proved to be “interesting”.<br>
The talks ended with the wrap up session with a few words from Dan, covering the record attendance and made very clear there “was no cabal”. Followed by the the handing over of Groff the BSD goat to a new owner, thank you’s from the FreeBSD Foundation to various community committers and maintainers, finally ending with the charity auction, where a things like a Canadian $20 bill sold for $40, a signed FreeBSD Foundation shirt originally worn by George Neville-Neil, a lost laptop charger, Michael’s used gelato spoon, various books, the last cookie and more importantly, the second to last cookie!<br>
After the auction, we all headed to the Red Lion for food and drinks, sponsored by iXsystems.<br>
I would like to thank the BSDCan organizers, speakers and sponsors for a great conference. I will certainly hope to attend next year!<br>
Regards,<br>
Dave (aka m0nkey_)</p>
</blockquote>

<ul>
<li>Thanks to Dave for sharing his experiences with us and our viewers</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-advocacy/2008-August/003674.html" target="_blank" rel="nofollow noopener">Robert Watson (from 2008) on how much FreeBSD is in Mac OS X </a></li>
<li><a href="https://aloiskraus.wordpress.com/2018/06/16/why-skylakex-cpus-are-sometimes-50-slower-how-intel-has-broken-existing-code/" target="_blank" rel="nofollow noopener">Why Intel Skylake CPUs are sometimes 50% slower than older CPUs</a></li>
<li><a href="https://lobste.rs/s/bos5cr/practical_unix_manuals_mdoc" target="_blank" rel="nofollow noopener">Kristaps Dzonsons is looking for somebody to maintain this as mentioned at this link</a></li>
<li><a href="https://www.reddit.com/r/freebsd/comments/87rru4/formatting_floppy_disks_in_a_usb_floppy_disk_drive/" target="_blank" rel="nofollow noopener">camcontrol(8) saves the day again! Formatting floppy disks in a USB floppy disk drive</a></li>
<li><a href="https://www.reddit.com/r/openbsd_gaming/comments/898ey5/32_great_indie_games_now_playable_on_current_7/" target="_blank" rel="nofollow noopener">32+ great indie games now playable on OpenBSD -current; 7 currently on sale!</a></li>
<li><a href="https://bsd-pl.org/en" target="_blank" rel="nofollow noopener">Warsaw BSD User Group. June 27 2018 18:30-21:00, Wheel Systems Office, Aleje Jerozolimskie 178, Warsaw</a></li>
</ul>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>Ron - <a href="http://dpaste.com/2B6CWDM#wrap" target="_blank" rel="nofollow noopener">Adding a disk to ZFS</a></li>
<li>Marshall - <a href="http://dpaste.com/2W7VD6K#wrap" target="_blank" rel="nofollow noopener">zfs question</a></li>
<li>Thomas - <a href="http://dpaste.com/1FS7534#wrap" target="_blank" rel="nofollow noopener">Allan, the myth perpetuator</a></li>
<li>Ross - <a href="http://dpaste.com/1HWQWB6#wrap" target="_blank" rel="nofollow noopener">ZFS IO stats per dataset</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 251: Crypto HAMMER | BSD Now 251</title>
  <link>https://www.bsdnow.tv/251</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2136</guid>
  <pubDate>Thu, 21 Jun 2018 05:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/034d5002-639f-4744-a773-9c000ce91d1c.mp3" length="53300210" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>DragonflyBSD’s hammer1 encrypted master/slave setup, second part of our BSDCan recap, NomadBSD 1.1-RC1 available, OpenBSD adds an LDAP client to base, FreeBSD gets pNFS support, Intel FPU Speculation Vulnerability confirmed, and what some Unix command names mean.</itunes:subtitle>
  <itunes:duration>1:28:43</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>&lt;p&gt;DragonflyBSD’s hammer1 encrypted master/slave setup, second part of our BSDCan recap, NomadBSD 1.1-RC1 available, OpenBSD adds an LDAP client to base, FreeBSD gets pNFS support, Intel FPU Speculation Vulnerability confirmed, and what some Unix command names mean.&lt;/p&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://www.reddit.com/r/dragonflybsd/comments/8riwtx/towards_a_hammer1_masterslave_encrypted_setup/" target="_blank" rel="nofollow noopener"&gt;DragonflyBSD: Towards a HAMMER1 master/slave encrypted setup with LUKS&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I just wanted to share my experience with setting up DragonFly master/slave HAMMER1 PFS’s on top of LUKS&lt;br&gt;
So after a long time using an Synology for my NFS needs, I decided it was time to rethink my setup a little since I had several issues with it :&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;You cannot run NFS on top of encrypted partitions easily&lt;/li&gt;
&lt;li&gt;I suspect I am having some some data corruption (bitrot) on the ext4 filesystem&lt;/li&gt;
&lt;li&gt;the NIC was stcuk to 100 Mbps instead of 1 Gbps even after swapping cables, switches, you name it&lt;/li&gt;
&lt;li&gt;It’s proprietary&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I have been playing with DragonFly in the past and knew about HAMMER, now I just had the perfect excuse to actually use it in production :) After setting up the OS, creating the LUKS partition and HAMMER FS was easy :&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;kdload dm&lt;/code&gt;&lt;br&gt;
&lt;code&gt;cryptsetup luksFormat /dev/serno/&amp;lt;id1&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;cryptsetup luksOpen /dev/serno/&amp;lt;id1&amp;gt; fort_knox&lt;/code&gt;&lt;br&gt;
&lt;code&gt;newfs_hammer -L hammer1_secure_master /dev/mapper/fort_knox&lt;/code&gt;&lt;br&gt;
&lt;code&gt;cryptsetup luksFormat /dev/serno/&amp;lt;id2&amp;gt;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;cryptsetup luksOpen /dev/serno/&amp;lt;id2&amp;gt; fort_knox_slave&lt;/code&gt;&lt;br&gt;
&lt;code&gt;newfs_hammer -L hammer1_secure_slave /dev/mapper/fort_knox_slave&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mount the 2 drives :&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;mount /dev/mapper/fort_knox /fort_knox&lt;/code&gt;&lt;br&gt;
&lt;code&gt;mount /dev/mapper_fort_know_slave /fort_knox_slave&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You can now put your data under /fort_knox&lt;br&gt;
Now, off to setting up the replication, first get the shared-uuid of /fort_knox&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;hammer pfs-status /fort_knox&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Create a PFS slave “linked” to the master&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;hammer pfs-slave /fort_knox_slave/pfs/slave shared-uuid=f9e7cc0d-eb59-10e3-a5b5-01e6e7cefc12&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;And then stream your data to the slave PFS !&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;hammer mirror-stream /fort_knox /fort_knox_slave/pfs/slave&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;After that, setting NFS is fairly trivial even though I had problem with the /etc/exports syntax which is different than Linux&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;There’s a few things I wish would be better though but nothing too problematic or without workarounds :&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Cannot unlock LUKS partitions at boot time afaik (Acceptable tradeoff for the added security LUKS gives me vs my old Synology setup) but this force me to run a script to unlock LUKS, mount hammer and start mirror-stream at each boot&lt;/li&gt;
&lt;li&gt;No S1/S3 sleep so I made a script to shutdown the system when there’s no network neighborgs to serve the NFS&lt;/li&gt;
&lt;li&gt;As my system isn’t online 24/7 for energy reasons, I guess will have to run hammer cleanup myself from time to time&lt;/li&gt;
&lt;li&gt;Some uncertainty because hey, it’s kind of exotic but exciting too :)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Overall, I am happy, HAMMER1 and PFS are looking really good, DragonFly is a neat Unix and the community is super friendly (Matthew Dillon actually provided me with a kernel patch to fix the broken ACPI on the PC holding this setup, many thanks!), the system is still a “work in progress” but it is already serving my files as I write this post.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Let’s see in 6 months how it goes in the longer run !&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Helpful resources : &lt;a href="https://www.dragonflybsd.org/docs/how_to_implement_hammer_pseudo_file_system__40___pfs___41___slave_mirroring_from_pfs_master/" target="_blank" rel="nofollow noopener"&gt;https://www.dragonflybsd.org/docs/how_to_implement_hammer_pseudo_file_system__40___pfs___41___slave_mirroring_from_pfs_master/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###BSDCan 2018 Recap&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;As promised, here is our second part of our BSDCan report, covering the conference proper. The last tutorials/devsummit of that day lead directly into the conference, as people could pick up their registration packs at the Red Lion and have a drink with fellow BSD folks.&lt;/li&gt;
&lt;li&gt;Allan and I were there only briefly, as we wanted to get back to the “Newcomers orientation and mentorship” session lead by Michael W. Lucas. This session is intended for people that are new to BSDCan (maybe their first BSD conference ever?) and may have questions. Michael explained everything from the 6-2-1 rule (hours of sleep, meals per day, and number of showers that attendees should have at a minimum), to the partner and widowers program (lead by his wife Liz), to the sessions that people should not miss (opening, closing, and hallway track). Old-time BSDCan folks were asked to stand up so that people can recognize them and ask them any questions they might have during the conferences. The session was well attended. Afterwards, people went for dinner in groups, a big one lead by Michael Lucas to his favorite Shawarma place, followed by gelato (of course). This allowed newbies to mingle over dinner and ice cream, creating a welcoming atmosphere.&lt;/li&gt;
&lt;li&gt;The next day, after Dan Langille opened the conference, Benno Rice gave the keynote presentation about “The Tragedy of Systemd”.&lt;/li&gt;
&lt;li&gt;Benedict went to the following talks:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;“Automating Network Infrastructures with Ansible on FreeBSD” in the DevSummit track. A good talk that connected well with his Ansible tutorial and even allowed some discussions among participants.&lt;br&gt;
“All along the dwatch tower”: Devin delivered a well prepared talk. I first thought that the number of slides would not fit into the time slot, but she even managed to give a demo of her work, which was well received. The dwatch tool she wrote should make it easy for people to get started with DTrace without learning too much about the syntax at first. The visualizations were certainly nice to see, combining different tools together in a new way.&lt;br&gt;
ZFS BoF, lead by Allan and Matthew Ahrens&lt;br&gt;
SSH Key Management by Michael W. Lucas. Yet another great talk where I learned a lot. I did not get to the SSH CA chapter in the new SSH Mastery book, so this was a good way to wet my appetite for it and motivated me to look into creating one for the cluster that I’m managing.&lt;br&gt;
The rest of the day was spent at the FreeBSD Foundation table, talking to various folks. Then, Allan and I had an interview with Kirk McKusick for National FreeBSD Day, then we had a core meeting, followed by a core dinner.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Day 2:
&lt;blockquote&gt;
&lt;p&gt;“Flexible Disk Use in OpenZFS”: Matthew Ahrens talking about the feature he is implementing to expand a RAID-Z with a single disk, as well as device removal.&lt;br&gt;
Allan’s talk about his efforts to implement ZSTD in OpenZFS as another compression algorithm. I liked his overview slides with the numbers comparing the algorithms for their effectiveness and his personal story about the sometimes rocky road to get the feature implemented.&lt;br&gt;
“zrepl - ZFS replication” by Christian Schwarz, was well prepared and even had a demo to show what his snapshot replication tool can do. We covered it on the show before and people can find it under sysutils/zrepl. Feedback and help is welcome.&lt;br&gt;
“The Evolution of FreeBSD Governance” by Kirk McKusick was yet another great talk by him covering the early days of FreeBSD until today, detailing some of the progress and challenges the project faced over the years in terms of leadership and governance. This is an ongoing process that everyone in the community should participate in to keep the project healthy and infused with fresh blood.&lt;br&gt;
Closing session and auction were funny and great as always.&lt;br&gt;
All in all, yet another amazing BSDCan. Thank you Dan Langille and your organizing team for making it happen! Well done.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Digital Ocean&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="http://nomadbsd.org/index.html#rel1.1-rc1" target="_blank" rel="nofollow noopener"&gt;NomadBSD 1.1-RC1 Released&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The first – and hopefully final – release candidate of NomadBSD 1.1 is available!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Changes&lt;/li&gt;
&lt;li&gt;The base system has been upgraded to FreeBSD 11.2-RC3&lt;/li&gt;
&lt;li&gt;EFI booting has been fixed.&lt;/li&gt;
&lt;li&gt;Support for modern Intel GPUs has been added.&lt;/li&gt;
&lt;li&gt;Support for installing packages has been added.&lt;/li&gt;
&lt;li&gt;Improved setup menu.&lt;/li&gt;
&lt;li&gt;More software packages:&lt;/li&gt;
&lt;li&gt;benchmarks/bonnie++&lt;/li&gt;
&lt;li&gt;DSBDisplaySettings&lt;/li&gt;
&lt;li&gt;DSBExec&lt;/li&gt;
&lt;li&gt;DSBSu&lt;/li&gt;
&lt;li&gt;mail/thunderbird&lt;/li&gt;
&lt;li&gt;net/mosh&lt;/li&gt;
&lt;li&gt;ports-mgmt/octopkg&lt;/li&gt;
&lt;li&gt;print/qpdfview&lt;/li&gt;
&lt;li&gt;security/nmap&lt;/li&gt;
&lt;li&gt;sysutils/ddrescue&lt;/li&gt;
&lt;li&gt;sysutils/fusefs-hfsfuse&lt;/li&gt;
&lt;li&gt;sysutils/fusefs-sshfs&lt;/li&gt;
&lt;li&gt;sysutils/sleuthkit&lt;/li&gt;
&lt;li&gt;www/lynx&lt;/li&gt;
&lt;li&gt;x11-wm/compton&lt;/li&gt;
&lt;li&gt;x11/xev&lt;/li&gt;
&lt;li&gt;x11/xterm&lt;/li&gt;
&lt;li&gt;Many improvements and bugfixes&lt;br&gt;
The image and instructions can be found &lt;a href="http://nomadbsd.org/download.html" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://undeadly.org/cgi?action=article;sid=20180616115514" target="_blank" rel="nofollow noopener"&gt;LDAP client added to -current&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;CVSROOT:    /cvs
Module name:    src
Changes by: reyk@cvs.openbsd.org    2018/06/13 09:45:58

Log message:
    Import ldap(1), a simple ldap search client.
    We have an ldapd(8) server and ypldap in base, so it makes sense to
    have a simple LDAP client without depending on the OpenLDAP package.
    This tool can be used in an ssh(1) AuthorizedKeysCommand script.
    
    With feedback from many including millert@ schwarze@ gilles@ dlg@ jsing@
    
    OK deraadt@
    
    Status:
    
    Vendor Tag: reyk
    Release Tags:   ldap_20180613
    
    N src/usr.bin/ldap/Makefile
    N src/usr.bin/ldap/aldap.c
    N src/usr.bin/ldap/aldap.h
    N src/usr.bin/ldap/ber.c
    N src/usr.bin/ldap/ber.h
    N src/usr.bin/ldap/ldap.1
    N src/usr.bin/ldap/ldapclient.c
    N src/usr.bin/ldap/log.c
    N src/usr.bin/ldap/log.h
    
    No conflicts created by this import
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://undeadly.org/cgi?action=article;sid=20180614064341" target="_blank" rel="nofollow noopener"&gt;Intel® FPU Speculation Vulnerability Confirmed&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Earlier this month, Philip Guenther (guenther@) &lt;a href="https://marc.info/?l=openbsd-cvs&amp;amp;m=152818076013158&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;committed&lt;/a&gt; (to amd64 -current) a change from lazy to semi-eager FPU switching to mitigate against rumored FPU state leakage in Intel® CPUs.&lt;/li&gt;
&lt;li&gt;Theo de Raadt (deraadt@) discussed this in &lt;a href="https://undeadly.org/cgi?action=article;sid=20180611101817" target="_blank" rel="nofollow noopener"&gt;his BSDCan 2018 session&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Using information disclosed in Theo’s talk, &lt;a href="https://twitter.com/cperciva/status/1007010583244230656" target="_blank" rel="nofollow noopener"&gt;Colin Percival&lt;/a&gt; developed a proof-of-concept exploit in around 5 hours. This seems to have prompted an early end to an embargo (in which OpenBSD was not involved), and the &lt;a href="https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00145.html" target="_blank" rel="nofollow noopener"&gt;official announcement&lt;/a&gt; of the vulnerability.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=335072" target="_blank" rel="nofollow noopener"&gt;FPU change in FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;Summary:

System software may utilize the Lazy FP state restore technique to delay the restoring of state until an instruction operating on that state is actually executed by the new process. Systems using Intel® Core-based microprocessors may potentially allow a local process to infer data utilizing Lazy FP state restore from another process through a speculative execution side channel.

Description:

System software may opt to utilize Lazy FP state restore instead of eager save and restore of the state upon a context switch. Lazy restored states are potentially vulnerable to exploits where one process may infer register values of other processes through a speculative execution side channel that infers their value.

    ·    CVSS - 4.3 Medium CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Affected Products:

Intel® Core-based microprocessors.

Recommendations:

If an XSAVE-enabled feature is disabled, then we recommend either its state component bitmap in the extended control register (XCR0) is set to 0 (e.g. XCR0[bit 2]=0 for AVX, XCR0[bits 7:5]=0 for AVX512) or the corresponding register states of the feature should be cleared prior to being disabled. Also for relevant states (e.g. x87, SSE, AVX, etc.), Intel recommends system software developers utilize Eager FP state restore in lieu of Lazy FP state restore.

Acknowledgements:

Intel would like to thank Julian Stecklina from Amazon Germany, Thomas Prescher from Cyberus Technology GmbH (https://www.cyberus-technology.de/), Zdenek Sojka from SYSGO AG (http://sysgo.com), and Colin Percival for reporting this issue and working with us on coordinated disclosure.
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;br&gt;
iX Ad Spot&lt;br&gt;
###&lt;a href="https://www.ixsystems.com/blog/bsdcan-2018-recap/" target="_blank" rel="nofollow noopener"&gt;iX Systems - BSDCan 2018 Recap&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=335012" target="_blank" rel="nofollow noopener"&gt;FreeBSD gets pNFS support&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Merge the pNFS server code from projects/pnfs-planb-server into head.

This code merge adds a pNFS service to the NFSv4.1 server. Although it is
a large commit it should not affect behaviour for a non-pNFS NFS server.
Some documentation on how this works can be found at:
Merge the pN http://people.freebsd.org/~rmacklem/pnfs-planb-setup.txt
and will hopefully be turned into a proper document soon.
This is a merge of the kernel code. Userland and man page changes will
come soon, once the dust settles on this merge.
It has passed a "make universe", so I hope it will not cause build problems.
It also adds NFSv4.1 server support for the "current stateid".

Here is a brief overview of the pNFS service:
A pNFS service separates the Read/Write operations from all the other NFSv4.1
Metadata operations. It is hoped that this separation allows a pNFS service
to be configured that exceeds the limits of a single NFS server for either
storage capacity and/or I/O bandwidth.
It is possible to configure mirroring within the data servers (DSs) so that
the data storage file for an MDS file will be mirrored on two or more of
the DSs.
When this is used, failure of a DS will not stop the pNFS service and a
failed DS can be recovered once repaired while the pNFS service continues
to operate.  Although two way mirroring would be the norm, it is possible
to set a mirroring level of up to four or the number of DSs, whichever is
less.
The Metadata server will always be a single point of failure,
just as a single NFS server is.

A Plan B pNFS service consists of a single MetaData Server (MDS) and K
Data Servers (DS), all of which are recent FreeBSD systems.
Clients will mount the MDS as they would a single NFS server.
When files are created, the MDS creates a file tree identical to what a
single NFS server creates, except that all the regular (VREG) files will
be empty. As such, if you look at the exported tree on the MDS directly
on the MDS server (not via an NFS mount), the files will all be of size 0.
Each of these files will also have two extended attributes in the system
attribute name space:
pnfsd.dsfile - This extended attrbute stores the information that
    the MDS needs to find the data storage file(s) on DS(s) for this file.
pnfsd.dsattr - This extended attribute stores the Size, AccessTime, ModifyTime
    and Change attributes for the file, so that the MDS doesn't need to
    acquire the attributes from the DS for every Getattr operation.
For each regular (VREG) file, the MDS creates a data storage file on one
(or more if mirroring is enabled) of the DSs in one of the "dsNN"
subdirectories.  The name of this file is the file handle
of the file on the MDS in hexadecimal so that the name is unique.
The DSs use subdirectories named "ds0" to "dsN" so that no one directory
gets too large. The value of "N" is set via the sysctl vfs.nfsd.dsdirsize
on the MDS, with the default being 20.
For production servers that will store a lot of files, this value should
probably be much larger.
It can be increased when the "nfsd" daemon is not running on the MDS,
once the "dsK" directories are created.

For pNFS aware NFSv4.1 clients, the FreeBSD server will return two pieces
of information to the client that allows it to do I/O directly to the DS.
DeviceInfo - This is relatively static information that defines what a DS
             is. The critical bits of information returned by the FreeBSD
             server is the IP address of the DS and, for the Flexible
             File layout, that NFSv4.1 is to be used and that it is
             "tightly coupled".
             There is a "deviceid" which identifies the DeviceInfo.
Layout     - This is per file and can be recalled by the server when it
             is no longer valid. For the FreeBSD server, there is support
             for two types of layout, call File and Flexible File layout.
             Both allow the client to do I/O on the DS via NFSv4.1 I/O
             operations. The Flexible File layout is a more recent variant
             that allows specification of mirrors, where the client is
             expected to do writes to all mirrors to maintain them in a
             consistent state. The Flexible File layout also allows the
             client to report I/O errors for a DS back to the MDS.
             The Flexible File layout supports two variants referred to as
             "tightly coupled" vs "loosely coupled". The FreeBSD server always
             uses the "tightly coupled" variant where the client uses the
             same credentials to do I/O on the DS as it would on the MDS.
             For the "loosely coupled" variant, the layout specifies a
             synthetic user/group that the client uses to do I/O on the DS.
             The FreeBSD server does not do striping and always returns
             layouts for the entire file. The critical information in a layout
             is Read vs Read/Writea and DeviceID(s) that identify which
             DS(s) the data is stored on.

At this time, the MDS generates File Layout layouts to NFSv4.1 clients
that know how to do pNFS for the non-mirrored DS case unless the sysctl
vfs.nfsd.default_flexfile is set non-zero, in which case Flexible File
layouts are generated.
The mirrored DS configuration always generates Flexible File layouts.
For NFS clients that do not support NFSv4.1 pNFS, all I/O operations
are done against the MDS which acts as a proxy for the appropriate DS(s).
When the MDS receives an I/O RPC, it will do the RPC on the DS as a proxy.
If the DS is on the same machine, the MDS/DS will do the RPC on the DS as
a proxy and so on, until the machine runs out of some resource, such as
session slots or mbufs.
As such, DSs must be separate systems from the MDS.

***

###[What does {some strange unix command name} stand for?](http://www.unixguide.net/unix/faq/1.3.shtml)

+ awk = "Aho Weinberger and Kernighan" 
+ grep = "Global Regular Expression Print" 
+ fgrep = "Fixed GREP". 
+ egrep = "Extended GREP" 
+ cat = "CATenate" 
+ gecos = "General Electric Comprehensive Operating Supervisor" 
+ nroff = "New ROFF" 
+ troff = "Typesetter new ROFF" 
+ tee = T 
+ bss = "Block Started by Symbol
+ biff = "BIFF" 
+ rc (as in ".cshrc" or "/etc/rc") = "RunCom" 
+ Don Libes' book "Life with Unix" contains lots more of these 
tidbits. 
***

##Beastie Bits
+ [RetroBSD: Unix for microcontrollers](http://retrobsd.org/wiki/doku.php)
+ [On the matter of OpenBSD breaking embargos (KRACK)](https://marc.info/?l=openbsd-tech&amp;amp;m=152910536208954&amp;amp;w=2)
+ [Theo's Basement Computer Paradise (1998)](https://zeus.theos.com/deraadt/hosts.html)
+ [Airport Extreme runs NetBSD](https://jcs.org/2018/06/12/airport_ssh)
+ [What UNIX shell could have been](https://rain-1.github.io/shell-2.html)

***
Tarsnap ad
***

##Feedback/Questions
+ We need more feedback and questions. Please email feedback@bsdnow.tv 
+ Also, many of you owe us BSDCan trip reports! We have shared what our experience at BSDCan was like, but we want to hear about yours. What can we do better next year? What was it like being there for the first time?
+ [Jason writes in](https://slexy.org/view/s205jU58X2)
    + https://www.wheelsystems.com/en/products/wheel-fudo-psm/
+ [June 19th was National FreeBSD Day](https://twitter.com/search?src=typd&amp;amp;q=%23FreeBSDDay)
***

- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [feedback@bsdnow.tv](mailto:feedback@bsdnow.tv)
***

&lt;/code&gt;&lt;/pre&gt; 
</description>
  <itunes:keywords>freebsd,openbsd,netbsd,dragonflybsd,trueos,trident,hardenedbsd,tutorial,howto,guide,bsd,interview,hammer,Intel,NomadBSD,LDAP,pNFS,RetroBSD</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>DragonflyBSD’s hammer1 encrypted master/slave setup, second part of our BSDCan recap, NomadBSD 1.1-RC1 available, OpenBSD adds an LDAP client to base, FreeBSD gets pNFS support, Intel FPU Speculation Vulnerability confirmed, and what some Unix command names mean.</p>

<p>##Headlines<br>
###<a href="https://www.reddit.com/r/dragonflybsd/comments/8riwtx/towards_a_hammer1_masterslave_encrypted_setup/" target="_blank" rel="nofollow noopener">DragonflyBSD: Towards a HAMMER1 master/slave encrypted setup with LUKS</a></p>

<blockquote>
<p>I just wanted to share my experience with setting up DragonFly master/slave HAMMER1 PFS’s on top of LUKS<br>
So after a long time using an Synology for my NFS needs, I decided it was time to rethink my setup a little since I had several issues with it :</p>
</blockquote>

<ul>
<li>You cannot run NFS on top of encrypted partitions easily</li>
<li>I suspect I am having some some data corruption (bitrot) on the ext4 filesystem</li>
<li>the NIC was stcuk to 100 Mbps instead of 1 Gbps even after swapping cables, switches, you name it</li>
<li>It’s proprietary</li>
</ul>

<blockquote>
<p>I have been playing with DragonFly in the past and knew about HAMMER, now I just had the perfect excuse to actually use it in production :) After setting up the OS, creating the LUKS partition and HAMMER FS was easy :</p>
</blockquote>

<p><code>kdload dm</code><br>
<code>cryptsetup luksFormat /dev/serno/&lt;id1&gt;</code><br>
<code>cryptsetup luksOpen /dev/serno/&lt;id1&gt; fort_knox</code><br>
<code>newfs_hammer -L hammer1_secure_master /dev/mapper/fort_knox</code><br>
<code>cryptsetup luksFormat /dev/serno/&lt;id2&gt;</code><br>
<code>cryptsetup luksOpen /dev/serno/&lt;id2&gt; fort_knox_slave</code><br>
<code>newfs_hammer -L hammer1_secure_slave /dev/mapper/fort_knox_slave</code></p>

<ul>
<li>Mount the 2 drives :</li>
</ul>

<p><code>mount /dev/mapper/fort_knox /fort_knox</code><br>
<code>mount /dev/mapper_fort_know_slave /fort_knox_slave</code></p>

<blockquote>
<p>You can now put your data under /fort_knox<br>
Now, off to setting up the replication, first get the shared-uuid of /fort_knox</p>
</blockquote>

<p><code>hammer pfs-status /fort_knox</code></p>

<blockquote>
<p>Create a PFS slave “linked” to the master</p>
</blockquote>

<p><code>hammer pfs-slave /fort_knox_slave/pfs/slave shared-uuid=f9e7cc0d-eb59-10e3-a5b5-01e6e7cefc12</code></p>

<blockquote>
<p>And then stream your data to the slave PFS !</p>
</blockquote>

<p><code>hammer mirror-stream /fort_knox /fort_knox_slave/pfs/slave</code></p>

<blockquote>
<p>After that, setting NFS is fairly trivial even though I had problem with the /etc/exports syntax which is different than Linux</p>
</blockquote>

<blockquote>
<p>There’s a few things I wish would be better though but nothing too problematic or without workarounds :</p>
</blockquote>

<ul>
<li>Cannot unlock LUKS partitions at boot time afaik (Acceptable tradeoff for the added security LUKS gives me vs my old Synology setup) but this force me to run a script to unlock LUKS, mount hammer and start mirror-stream at each boot</li>
<li>No S1/S3 sleep so I made a script to shutdown the system when there’s no network neighborgs to serve the NFS</li>
<li>As my system isn’t online 24/7 for energy reasons, I guess will have to run hammer cleanup myself from time to time</li>
<li>Some uncertainty because hey, it’s kind of exotic but exciting too :)</li>
</ul>

<blockquote>
<p>Overall, I am happy, HAMMER1 and PFS are looking really good, DragonFly is a neat Unix and the community is super friendly (Matthew Dillon actually provided me with a kernel patch to fix the broken ACPI on the PC holding this setup, many thanks!), the system is still a “work in progress” but it is already serving my files as I write this post.</p>
</blockquote>

<blockquote>
<p>Let’s see in 6 months how it goes in the longer run !</p>
</blockquote>

<ul>
<li>Helpful resources : <a href="https://www.dragonflybsd.org/docs/how_to_implement_hammer_pseudo_file_system__40___pfs___41___slave_mirroring_from_pfs_master/" target="_blank" rel="nofollow noopener">https://www.dragonflybsd.org/docs/how_to_implement_hammer_pseudo_file_system__40___pfs___41___slave_mirroring_from_pfs_master/</a></li>
</ul>

<hr>

<p>###BSDCan 2018 Recap</p>

<ul>
<li>As promised, here is our second part of our BSDCan report, covering the conference proper. The last tutorials/devsummit of that day lead directly into the conference, as people could pick up their registration packs at the Red Lion and have a drink with fellow BSD folks.</li>
<li>Allan and I were there only briefly, as we wanted to get back to the “Newcomers orientation and mentorship” session lead by Michael W. Lucas. This session is intended for people that are new to BSDCan (maybe their first BSD conference ever?) and may have questions. Michael explained everything from the 6-2-1 rule (hours of sleep, meals per day, and number of showers that attendees should have at a minimum), to the partner and widowers program (lead by his wife Liz), to the sessions that people should not miss (opening, closing, and hallway track). Old-time BSDCan folks were asked to stand up so that people can recognize them and ask them any questions they might have during the conferences. The session was well attended. Afterwards, people went for dinner in groups, a big one lead by Michael Lucas to his favorite Shawarma place, followed by gelato (of course). This allowed newbies to mingle over dinner and ice cream, creating a welcoming atmosphere.</li>
<li>The next day, after Dan Langille opened the conference, Benno Rice gave the keynote presentation about “The Tragedy of Systemd”.</li>
<li>Benedict went to the following talks:</li>
</ul>

<blockquote>
<p>“Automating Network Infrastructures with Ansible on FreeBSD” in the DevSummit track. A good talk that connected well with his Ansible tutorial and even allowed some discussions among participants.<br>
“All along the dwatch tower”: Devin delivered a well prepared talk. I first thought that the number of slides would not fit into the time slot, but she even managed to give a demo of her work, which was well received. The dwatch tool she wrote should make it easy for people to get started with DTrace without learning too much about the syntax at first. The visualizations were certainly nice to see, combining different tools together in a new way.<br>
ZFS BoF, lead by Allan and Matthew Ahrens<br>
SSH Key Management by Michael W. Lucas. Yet another great talk where I learned a lot. I did not get to the SSH CA chapter in the new SSH Mastery book, so this was a good way to wet my appetite for it and motivated me to look into creating one for the cluster that I’m managing.<br>
The rest of the day was spent at the FreeBSD Foundation table, talking to various folks. Then, Allan and I had an interview with Kirk McKusick for National FreeBSD Day, then we had a core meeting, followed by a core dinner.</p>
</blockquote>

<ul>
<li>Day 2:
<blockquote>
<p>“Flexible Disk Use in OpenZFS”: Matthew Ahrens talking about the feature he is implementing to expand a RAID-Z with a single disk, as well as device removal.<br>
Allan’s talk about his efforts to implement ZSTD in OpenZFS as another compression algorithm. I liked his overview slides with the numbers comparing the algorithms for their effectiveness and his personal story about the sometimes rocky road to get the feature implemented.<br>
“zrepl - ZFS replication” by Christian Schwarz, was well prepared and even had a demo to show what his snapshot replication tool can do. We covered it on the show before and people can find it under sysutils/zrepl. Feedback and help is welcome.<br>
“The Evolution of FreeBSD Governance” by Kirk McKusick was yet another great talk by him covering the early days of FreeBSD until today, detailing some of the progress and challenges the project faced over the years in terms of leadership and governance. This is an ongoing process that everyone in the community should participate in to keep the project healthy and infused with fresh blood.<br>
Closing session and auction were funny and great as always.<br>
All in all, yet another amazing BSDCan. Thank you Dan Langille and your organizing team for making it happen! Well done.</p>
</blockquote>
</li>
</ul>

<hr>

<p><strong>Digital Ocean</strong></p>

<p>###<a href="http://nomadbsd.org/index.html#rel1.1-rc1" target="_blank" rel="nofollow noopener">NomadBSD 1.1-RC1 Released</a></p>

<blockquote>
<p>The first – and hopefully final – release candidate of NomadBSD 1.1 is available!</p>
</blockquote>

<ul>
<li>Changes</li>
<li>The base system has been upgraded to FreeBSD 11.2-RC3</li>
<li>EFI booting has been fixed.</li>
<li>Support for modern Intel GPUs has been added.</li>
<li>Support for installing packages has been added.</li>
<li>Improved setup menu.</li>
<li>More software packages:</li>
<li>benchmarks/bonnie++</li>
<li>DSBDisplaySettings</li>
<li>DSBExec</li>
<li>DSBSu</li>
<li>mail/thunderbird</li>
<li>net/mosh</li>
<li>ports-mgmt/octopkg</li>
<li>print/qpdfview</li>
<li>security/nmap</li>
<li>sysutils/ddrescue</li>
<li>sysutils/fusefs-hfsfuse</li>
<li>sysutils/fusefs-sshfs</li>
<li>sysutils/sleuthkit</li>
<li>www/lynx</li>
<li>x11-wm/compton</li>
<li>x11/xev</li>
<li>x11/xterm</li>
<li>Many improvements and bugfixes<br>
The image and instructions can be found <a href="http://nomadbsd.org/download.html" target="_blank" rel="nofollow noopener">here</a>.</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://undeadly.org/cgi?action=article;sid=20180616115514" target="_blank" rel="nofollow noopener">LDAP client added to -current</a></p>

<pre><code>CVSROOT:    /cvs
Module name:    src
Changes by: reyk@cvs.openbsd.org    2018/06/13 09:45:58

Log message:
    Import ldap(1), a simple ldap search client.
    We have an ldapd(8) server and ypldap in base, so it makes sense to
    have a simple LDAP client without depending on the OpenLDAP package.
    This tool can be used in an ssh(1) AuthorizedKeysCommand script.
    
    With feedback from many including millert@ schwarze@ gilles@ dlg@ jsing@
    
    OK deraadt@
    
    Status:
    
    Vendor Tag: reyk
    Release Tags:   ldap_20180613
    
    N src/usr.bin/ldap/Makefile
    N src/usr.bin/ldap/aldap.c
    N src/usr.bin/ldap/aldap.h
    N src/usr.bin/ldap/ber.c
    N src/usr.bin/ldap/ber.h
    N src/usr.bin/ldap/ldap.1
    N src/usr.bin/ldap/ldapclient.c
    N src/usr.bin/ldap/log.c
    N src/usr.bin/ldap/log.h
    
    No conflicts created by this import
</code></pre>

<hr>

<p>###<a href="https://undeadly.org/cgi?action=article;sid=20180614064341" target="_blank" rel="nofollow noopener">Intel® FPU Speculation Vulnerability Confirmed</a></p>

<ul>
<li>Earlier this month, Philip Guenther (guenther@) <a href="https://marc.info/?l=openbsd-cvs&amp;m=152818076013158&amp;w=2" target="_blank" rel="nofollow noopener">committed</a> (to amd64 -current) a change from lazy to semi-eager FPU switching to mitigate against rumored FPU state leakage in Intel® CPUs.</li>
<li>Theo de Raadt (deraadt@) discussed this in <a href="https://undeadly.org/cgi?action=article;sid=20180611101817" target="_blank" rel="nofollow noopener">his BSDCan 2018 session</a>.</li>
<li>Using information disclosed in Theo’s talk, <a href="https://twitter.com/cperciva/status/1007010583244230656" target="_blank" rel="nofollow noopener">Colin Percival</a> developed a proof-of-concept exploit in around 5 hours. This seems to have prompted an early end to an embargo (in which OpenBSD was not involved), and the <a href="https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00145.html" target="_blank" rel="nofollow noopener">official announcement</a> of the vulnerability.</li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=335072" target="_blank" rel="nofollow noopener">FPU change in FreeBSD</a></li>
</ul>

<pre><code>Summary:

System software may utilize the Lazy FP state restore technique to delay the restoring of state until an instruction operating on that state is actually executed by the new process. Systems using Intel® Core-based microprocessors may potentially allow a local process to infer data utilizing Lazy FP state restore from another process through a speculative execution side channel.

Description:

System software may opt to utilize Lazy FP state restore instead of eager save and restore of the state upon a context switch. Lazy restored states are potentially vulnerable to exploits where one process may infer register values of other processes through a speculative execution side channel that infers their value.

    ·    CVSS - 4.3 Medium CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Affected Products:

Intel® Core-based microprocessors.

Recommendations:

If an XSAVE-enabled feature is disabled, then we recommend either its state component bitmap in the extended control register (XCR0) is set to 0 (e.g. XCR0[bit 2]=0 for AVX, XCR0[bits 7:5]=0 for AVX512) or the corresponding register states of the feature should be cleared prior to being disabled. Also for relevant states (e.g. x87, SSE, AVX, etc.), Intel recommends system software developers utilize Eager FP state restore in lieu of Lazy FP state restore.

Acknowledgements:

Intel would like to thank Julian Stecklina from Amazon Germany, Thomas Prescher from Cyberus Technology GmbH (https://www.cyberus-technology.de/), Zdenek Sojka from SYSGO AG (http://sysgo.com), and Colin Percival for reporting this issue and working with us on coordinated disclosure.
</code></pre>

<hr>

<p><strong>iXsystems</strong><br>
iX Ad Spot<br>
###<a href="https://www.ixsystems.com/blog/bsdcan-2018-recap/" target="_blank" rel="nofollow noopener">iX Systems - BSDCan 2018 Recap</a></p>

<p>###<a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=335012" target="_blank" rel="nofollow noopener">FreeBSD gets pNFS support</a></p>

<pre><code>Merge the pNFS server code from projects/pnfs-planb-server into head.

This code merge adds a pNFS service to the NFSv4.1 server. Although it is
a large commit it should not affect behaviour for a non-pNFS NFS server.
Some documentation on how this works can be found at:
Merge the pN http://people.freebsd.org/~rmacklem/pnfs-planb-setup.txt
and will hopefully be turned into a proper document soon.
This is a merge of the kernel code. Userland and man page changes will
come soon, once the dust settles on this merge.
It has passed a "make universe", so I hope it will not cause build problems.
It also adds NFSv4.1 server support for the "current stateid".

Here is a brief overview of the pNFS service:
A pNFS service separates the Read/Write operations from all the other NFSv4.1
Metadata operations. It is hoped that this separation allows a pNFS service
to be configured that exceeds the limits of a single NFS server for either
storage capacity and/or I/O bandwidth.
It is possible to configure mirroring within the data servers (DSs) so that
the data storage file for an MDS file will be mirrored on two or more of
the DSs.
When this is used, failure of a DS will not stop the pNFS service and a
failed DS can be recovered once repaired while the pNFS service continues
to operate.  Although two way mirroring would be the norm, it is possible
to set a mirroring level of up to four or the number of DSs, whichever is
less.
The Metadata server will always be a single point of failure,
just as a single NFS server is.

A Plan B pNFS service consists of a single MetaData Server (MDS) and K
Data Servers (DS), all of which are recent FreeBSD systems.
Clients will mount the MDS as they would a single NFS server.
When files are created, the MDS creates a file tree identical to what a
single NFS server creates, except that all the regular (VREG) files will
be empty. As such, if you look at the exported tree on the MDS directly
on the MDS server (not via an NFS mount), the files will all be of size 0.
Each of these files will also have two extended attributes in the system
attribute name space:
pnfsd.dsfile - This extended attrbute stores the information that
    the MDS needs to find the data storage file(s) on DS(s) for this file.
pnfsd.dsattr - This extended attribute stores the Size, AccessTime, ModifyTime
    and Change attributes for the file, so that the MDS doesn't need to
    acquire the attributes from the DS for every Getattr operation.
For each regular (VREG) file, the MDS creates a data storage file on one
(or more if mirroring is enabled) of the DSs in one of the "dsNN"
subdirectories.  The name of this file is the file handle
of the file on the MDS in hexadecimal so that the name is unique.
The DSs use subdirectories named "ds0" to "dsN" so that no one directory
gets too large. The value of "N" is set via the sysctl vfs.nfsd.dsdirsize
on the MDS, with the default being 20.
For production servers that will store a lot of files, this value should
probably be much larger.
It can be increased when the "nfsd" daemon is not running on the MDS,
once the "dsK" directories are created.

For pNFS aware NFSv4.1 clients, the FreeBSD server will return two pieces
of information to the client that allows it to do I/O directly to the DS.
DeviceInfo - This is relatively static information that defines what a DS
             is. The critical bits of information returned by the FreeBSD
             server is the IP address of the DS and, for the Flexible
             File layout, that NFSv4.1 is to be used and that it is
             "tightly coupled".
             There is a "deviceid" which identifies the DeviceInfo.
Layout     - This is per file and can be recalled by the server when it
             is no longer valid. For the FreeBSD server, there is support
             for two types of layout, call File and Flexible File layout.
             Both allow the client to do I/O on the DS via NFSv4.1 I/O
             operations. The Flexible File layout is a more recent variant
             that allows specification of mirrors, where the client is
             expected to do writes to all mirrors to maintain them in a
             consistent state. The Flexible File layout also allows the
             client to report I/O errors for a DS back to the MDS.
             The Flexible File layout supports two variants referred to as
             "tightly coupled" vs "loosely coupled". The FreeBSD server always
             uses the "tightly coupled" variant where the client uses the
             same credentials to do I/O on the DS as it would on the MDS.
             For the "loosely coupled" variant, the layout specifies a
             synthetic user/group that the client uses to do I/O on the DS.
             The FreeBSD server does not do striping and always returns
             layouts for the entire file. The critical information in a layout
             is Read vs Read/Writea and DeviceID(s) that identify which
             DS(s) the data is stored on.

At this time, the MDS generates File Layout layouts to NFSv4.1 clients
that know how to do pNFS for the non-mirrored DS case unless the sysctl
vfs.nfsd.default_flexfile is set non-zero, in which case Flexible File
layouts are generated.
The mirrored DS configuration always generates Flexible File layouts.
For NFS clients that do not support NFSv4.1 pNFS, all I/O operations
are done against the MDS which acts as a proxy for the appropriate DS(s).
When the MDS receives an I/O RPC, it will do the RPC on the DS as a proxy.
If the DS is on the same machine, the MDS/DS will do the RPC on the DS as
a proxy and so on, until the machine runs out of some resource, such as
session slots or mbufs.
As such, DSs must be separate systems from the MDS.

***

###[What does {some strange unix command name} stand for?](http://www.unixguide.net/unix/faq/1.3.shtml)

+ awk = "Aho Weinberger and Kernighan" 
+ grep = "Global Regular Expression Print" 
+ fgrep = "Fixed GREP". 
+ egrep = "Extended GREP" 
+ cat = "CATenate" 
+ gecos = "General Electric Comprehensive Operating Supervisor" 
+ nroff = "New ROFF" 
+ troff = "Typesetter new ROFF" 
+ tee = T 
+ bss = "Block Started by Symbol
+ biff = "BIFF" 
+ rc (as in ".cshrc" or "/etc/rc") = "RunCom" 
+ Don Libes' book "Life with Unix" contains lots more of these 
tidbits. 
***

##Beastie Bits
+ [RetroBSD: Unix for microcontrollers](http://retrobsd.org/wiki/doku.php)
+ [On the matter of OpenBSD breaking embargos (KRACK)](https://marc.info/?l=openbsd-tech&amp;m=152910536208954&amp;w=2)
+ [Theo's Basement Computer Paradise (1998)](https://zeus.theos.com/deraadt/hosts.html)
+ [Airport Extreme runs NetBSD](https://jcs.org/2018/06/12/airport_ssh)
+ [What UNIX shell could have been](https://rain-1.github.io/shell-2.html)

***
Tarsnap ad
***

##Feedback/Questions
+ We need more feedback and questions. Please email feedback@bsdnow.tv 
+ Also, many of you owe us BSDCan trip reports! We have shared what our experience at BSDCan was like, but we want to hear about yours. What can we do better next year? What was it like being there for the first time?
+ [Jason writes in](https://slexy.org/view/s205jU58X2)
    + https://www.wheelsystems.com/en/products/wheel-fudo-psm/
+ [June 19th was National FreeBSD Day](https://twitter.com/search?src=typd&amp;q=%23FreeBSDDay)
***

- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [feedback@bsdnow.tv](mailto:feedback@bsdnow.tv)
***

</code></pre>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>DragonflyBSD’s hammer1 encrypted master/slave setup, second part of our BSDCan recap, NomadBSD 1.1-RC1 available, OpenBSD adds an LDAP client to base, FreeBSD gets pNFS support, Intel FPU Speculation Vulnerability confirmed, and what some Unix command names mean.</p>

<p>##Headlines<br>
###<a href="https://www.reddit.com/r/dragonflybsd/comments/8riwtx/towards_a_hammer1_masterslave_encrypted_setup/" target="_blank" rel="nofollow noopener">DragonflyBSD: Towards a HAMMER1 master/slave encrypted setup with LUKS</a></p>

<blockquote>
<p>I just wanted to share my experience with setting up DragonFly master/slave HAMMER1 PFS’s on top of LUKS<br>
So after a long time using an Synology for my NFS needs, I decided it was time to rethink my setup a little since I had several issues with it :</p>
</blockquote>

<ul>
<li>You cannot run NFS on top of encrypted partitions easily</li>
<li>I suspect I am having some some data corruption (bitrot) on the ext4 filesystem</li>
<li>the NIC was stcuk to 100 Mbps instead of 1 Gbps even after swapping cables, switches, you name it</li>
<li>It’s proprietary</li>
</ul>

<blockquote>
<p>I have been playing with DragonFly in the past and knew about HAMMER, now I just had the perfect excuse to actually use it in production :) After setting up the OS, creating the LUKS partition and HAMMER FS was easy :</p>
</blockquote>

<p><code>kdload dm</code><br>
<code>cryptsetup luksFormat /dev/serno/&lt;id1&gt;</code><br>
<code>cryptsetup luksOpen /dev/serno/&lt;id1&gt; fort_knox</code><br>
<code>newfs_hammer -L hammer1_secure_master /dev/mapper/fort_knox</code><br>
<code>cryptsetup luksFormat /dev/serno/&lt;id2&gt;</code><br>
<code>cryptsetup luksOpen /dev/serno/&lt;id2&gt; fort_knox_slave</code><br>
<code>newfs_hammer -L hammer1_secure_slave /dev/mapper/fort_knox_slave</code></p>

<ul>
<li>Mount the 2 drives :</li>
</ul>

<p><code>mount /dev/mapper/fort_knox /fort_knox</code><br>
<code>mount /dev/mapper_fort_know_slave /fort_knox_slave</code></p>

<blockquote>
<p>You can now put your data under /fort_knox<br>
Now, off to setting up the replication, first get the shared-uuid of /fort_knox</p>
</blockquote>

<p><code>hammer pfs-status /fort_knox</code></p>

<blockquote>
<p>Create a PFS slave “linked” to the master</p>
</blockquote>

<p><code>hammer pfs-slave /fort_knox_slave/pfs/slave shared-uuid=f9e7cc0d-eb59-10e3-a5b5-01e6e7cefc12</code></p>

<blockquote>
<p>And then stream your data to the slave PFS !</p>
</blockquote>

<p><code>hammer mirror-stream /fort_knox /fort_knox_slave/pfs/slave</code></p>

<blockquote>
<p>After that, setting NFS is fairly trivial even though I had problem with the /etc/exports syntax which is different than Linux</p>
</blockquote>

<blockquote>
<p>There’s a few things I wish would be better though but nothing too problematic or without workarounds :</p>
</blockquote>

<ul>
<li>Cannot unlock LUKS partitions at boot time afaik (Acceptable tradeoff for the added security LUKS gives me vs my old Synology setup) but this force me to run a script to unlock LUKS, mount hammer and start mirror-stream at each boot</li>
<li>No S1/S3 sleep so I made a script to shutdown the system when there’s no network neighborgs to serve the NFS</li>
<li>As my system isn’t online 24/7 for energy reasons, I guess will have to run hammer cleanup myself from time to time</li>
<li>Some uncertainty because hey, it’s kind of exotic but exciting too :)</li>
</ul>

<blockquote>
<p>Overall, I am happy, HAMMER1 and PFS are looking really good, DragonFly is a neat Unix and the community is super friendly (Matthew Dillon actually provided me with a kernel patch to fix the broken ACPI on the PC holding this setup, many thanks!), the system is still a “work in progress” but it is already serving my files as I write this post.</p>
</blockquote>

<blockquote>
<p>Let’s see in 6 months how it goes in the longer run !</p>
</blockquote>

<ul>
<li>Helpful resources : <a href="https://www.dragonflybsd.org/docs/how_to_implement_hammer_pseudo_file_system__40___pfs___41___slave_mirroring_from_pfs_master/" target="_blank" rel="nofollow noopener">https://www.dragonflybsd.org/docs/how_to_implement_hammer_pseudo_file_system__40___pfs___41___slave_mirroring_from_pfs_master/</a></li>
</ul>

<hr>

<p>###BSDCan 2018 Recap</p>

<ul>
<li>As promised, here is our second part of our BSDCan report, covering the conference proper. The last tutorials/devsummit of that day lead directly into the conference, as people could pick up their registration packs at the Red Lion and have a drink with fellow BSD folks.</li>
<li>Allan and I were there only briefly, as we wanted to get back to the “Newcomers orientation and mentorship” session lead by Michael W. Lucas. This session is intended for people that are new to BSDCan (maybe their first BSD conference ever?) and may have questions. Michael explained everything from the 6-2-1 rule (hours of sleep, meals per day, and number of showers that attendees should have at a minimum), to the partner and widowers program (lead by his wife Liz), to the sessions that people should not miss (opening, closing, and hallway track). Old-time BSDCan folks were asked to stand up so that people can recognize them and ask them any questions they might have during the conferences. The session was well attended. Afterwards, people went for dinner in groups, a big one lead by Michael Lucas to his favorite Shawarma place, followed by gelato (of course). This allowed newbies to mingle over dinner and ice cream, creating a welcoming atmosphere.</li>
<li>The next day, after Dan Langille opened the conference, Benno Rice gave the keynote presentation about “The Tragedy of Systemd”.</li>
<li>Benedict went to the following talks:</li>
</ul>

<blockquote>
<p>“Automating Network Infrastructures with Ansible on FreeBSD” in the DevSummit track. A good talk that connected well with his Ansible tutorial and even allowed some discussions among participants.<br>
“All along the dwatch tower”: Devin delivered a well prepared talk. I first thought that the number of slides would not fit into the time slot, but she even managed to give a demo of her work, which was well received. The dwatch tool she wrote should make it easy for people to get started with DTrace without learning too much about the syntax at first. The visualizations were certainly nice to see, combining different tools together in a new way.<br>
ZFS BoF, lead by Allan and Matthew Ahrens<br>
SSH Key Management by Michael W. Lucas. Yet another great talk where I learned a lot. I did not get to the SSH CA chapter in the new SSH Mastery book, so this was a good way to wet my appetite for it and motivated me to look into creating one for the cluster that I’m managing.<br>
The rest of the day was spent at the FreeBSD Foundation table, talking to various folks. Then, Allan and I had an interview with Kirk McKusick for National FreeBSD Day, then we had a core meeting, followed by a core dinner.</p>
</blockquote>

<ul>
<li>Day 2:
<blockquote>
<p>“Flexible Disk Use in OpenZFS”: Matthew Ahrens talking about the feature he is implementing to expand a RAID-Z with a single disk, as well as device removal.<br>
Allan’s talk about his efforts to implement ZSTD in OpenZFS as another compression algorithm. I liked his overview slides with the numbers comparing the algorithms for their effectiveness and his personal story about the sometimes rocky road to get the feature implemented.<br>
“zrepl - ZFS replication” by Christian Schwarz, was well prepared and even had a demo to show what his snapshot replication tool can do. We covered it on the show before and people can find it under sysutils/zrepl. Feedback and help is welcome.<br>
“The Evolution of FreeBSD Governance” by Kirk McKusick was yet another great talk by him covering the early days of FreeBSD until today, detailing some of the progress and challenges the project faced over the years in terms of leadership and governance. This is an ongoing process that everyone in the community should participate in to keep the project healthy and infused with fresh blood.<br>
Closing session and auction were funny and great as always.<br>
All in all, yet another amazing BSDCan. Thank you Dan Langille and your organizing team for making it happen! Well done.</p>
</blockquote>
</li>
</ul>

<hr>

<p><strong>Digital Ocean</strong></p>

<p>###<a href="http://nomadbsd.org/index.html#rel1.1-rc1" target="_blank" rel="nofollow noopener">NomadBSD 1.1-RC1 Released</a></p>

<blockquote>
<p>The first – and hopefully final – release candidate of NomadBSD 1.1 is available!</p>
</blockquote>

<ul>
<li>Changes</li>
<li>The base system has been upgraded to FreeBSD 11.2-RC3</li>
<li>EFI booting has been fixed.</li>
<li>Support for modern Intel GPUs has been added.</li>
<li>Support for installing packages has been added.</li>
<li>Improved setup menu.</li>
<li>More software packages:</li>
<li>benchmarks/bonnie++</li>
<li>DSBDisplaySettings</li>
<li>DSBExec</li>
<li>DSBSu</li>
<li>mail/thunderbird</li>
<li>net/mosh</li>
<li>ports-mgmt/octopkg</li>
<li>print/qpdfview</li>
<li>security/nmap</li>
<li>sysutils/ddrescue</li>
<li>sysutils/fusefs-hfsfuse</li>
<li>sysutils/fusefs-sshfs</li>
<li>sysutils/sleuthkit</li>
<li>www/lynx</li>
<li>x11-wm/compton</li>
<li>x11/xev</li>
<li>x11/xterm</li>
<li>Many improvements and bugfixes<br>
The image and instructions can be found <a href="http://nomadbsd.org/download.html" target="_blank" rel="nofollow noopener">here</a>.</li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://undeadly.org/cgi?action=article;sid=20180616115514" target="_blank" rel="nofollow noopener">LDAP client added to -current</a></p>

<pre><code>CVSROOT:    /cvs
Module name:    src
Changes by: reyk@cvs.openbsd.org    2018/06/13 09:45:58

Log message:
    Import ldap(1), a simple ldap search client.
    We have an ldapd(8) server and ypldap in base, so it makes sense to
    have a simple LDAP client without depending on the OpenLDAP package.
    This tool can be used in an ssh(1) AuthorizedKeysCommand script.
    
    With feedback from many including millert@ schwarze@ gilles@ dlg@ jsing@
    
    OK deraadt@
    
    Status:
    
    Vendor Tag: reyk
    Release Tags:   ldap_20180613
    
    N src/usr.bin/ldap/Makefile
    N src/usr.bin/ldap/aldap.c
    N src/usr.bin/ldap/aldap.h
    N src/usr.bin/ldap/ber.c
    N src/usr.bin/ldap/ber.h
    N src/usr.bin/ldap/ldap.1
    N src/usr.bin/ldap/ldapclient.c
    N src/usr.bin/ldap/log.c
    N src/usr.bin/ldap/log.h
    
    No conflicts created by this import
</code></pre>

<hr>

<p>###<a href="https://undeadly.org/cgi?action=article;sid=20180614064341" target="_blank" rel="nofollow noopener">Intel® FPU Speculation Vulnerability Confirmed</a></p>

<ul>
<li>Earlier this month, Philip Guenther (guenther@) <a href="https://marc.info/?l=openbsd-cvs&amp;m=152818076013158&amp;w=2" target="_blank" rel="nofollow noopener">committed</a> (to amd64 -current) a change from lazy to semi-eager FPU switching to mitigate against rumored FPU state leakage in Intel® CPUs.</li>
<li>Theo de Raadt (deraadt@) discussed this in <a href="https://undeadly.org/cgi?action=article;sid=20180611101817" target="_blank" rel="nofollow noopener">his BSDCan 2018 session</a>.</li>
<li>Using information disclosed in Theo’s talk, <a href="https://twitter.com/cperciva/status/1007010583244230656" target="_blank" rel="nofollow noopener">Colin Percival</a> developed a proof-of-concept exploit in around 5 hours. This seems to have prompted an early end to an embargo (in which OpenBSD was not involved), and the <a href="https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00145.html" target="_blank" rel="nofollow noopener">official announcement</a> of the vulnerability.</li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=335072" target="_blank" rel="nofollow noopener">FPU change in FreeBSD</a></li>
</ul>

<pre><code>Summary:

System software may utilize the Lazy FP state restore technique to delay the restoring of state until an instruction operating on that state is actually executed by the new process. Systems using Intel® Core-based microprocessors may potentially allow a local process to infer data utilizing Lazy FP state restore from another process through a speculative execution side channel.

Description:

System software may opt to utilize Lazy FP state restore instead of eager save and restore of the state upon a context switch. Lazy restored states are potentially vulnerable to exploits where one process may infer register values of other processes through a speculative execution side channel that infers their value.

    ·    CVSS - 4.3 Medium CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
Affected Products:

Intel® Core-based microprocessors.

Recommendations:

If an XSAVE-enabled feature is disabled, then we recommend either its state component bitmap in the extended control register (XCR0) is set to 0 (e.g. XCR0[bit 2]=0 for AVX, XCR0[bits 7:5]=0 for AVX512) or the corresponding register states of the feature should be cleared prior to being disabled. Also for relevant states (e.g. x87, SSE, AVX, etc.), Intel recommends system software developers utilize Eager FP state restore in lieu of Lazy FP state restore.

Acknowledgements:

Intel would like to thank Julian Stecklina from Amazon Germany, Thomas Prescher from Cyberus Technology GmbH (https://www.cyberus-technology.de/), Zdenek Sojka from SYSGO AG (http://sysgo.com), and Colin Percival for reporting this issue and working with us on coordinated disclosure.
</code></pre>

<hr>

<p><strong>iXsystems</strong><br>
iX Ad Spot<br>
###<a href="https://www.ixsystems.com/blog/bsdcan-2018-recap/" target="_blank" rel="nofollow noopener">iX Systems - BSDCan 2018 Recap</a></p>

<p>###<a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=335012" target="_blank" rel="nofollow noopener">FreeBSD gets pNFS support</a></p>

<pre><code>Merge the pNFS server code from projects/pnfs-planb-server into head.

This code merge adds a pNFS service to the NFSv4.1 server. Although it is
a large commit it should not affect behaviour for a non-pNFS NFS server.
Some documentation on how this works can be found at:
Merge the pN http://people.freebsd.org/~rmacklem/pnfs-planb-setup.txt
and will hopefully be turned into a proper document soon.
This is a merge of the kernel code. Userland and man page changes will
come soon, once the dust settles on this merge.
It has passed a "make universe", so I hope it will not cause build problems.
It also adds NFSv4.1 server support for the "current stateid".

Here is a brief overview of the pNFS service:
A pNFS service separates the Read/Write operations from all the other NFSv4.1
Metadata operations. It is hoped that this separation allows a pNFS service
to be configured that exceeds the limits of a single NFS server for either
storage capacity and/or I/O bandwidth.
It is possible to configure mirroring within the data servers (DSs) so that
the data storage file for an MDS file will be mirrored on two or more of
the DSs.
When this is used, failure of a DS will not stop the pNFS service and a
failed DS can be recovered once repaired while the pNFS service continues
to operate.  Although two way mirroring would be the norm, it is possible
to set a mirroring level of up to four or the number of DSs, whichever is
less.
The Metadata server will always be a single point of failure,
just as a single NFS server is.

A Plan B pNFS service consists of a single MetaData Server (MDS) and K
Data Servers (DS), all of which are recent FreeBSD systems.
Clients will mount the MDS as they would a single NFS server.
When files are created, the MDS creates a file tree identical to what a
single NFS server creates, except that all the regular (VREG) files will
be empty. As such, if you look at the exported tree on the MDS directly
on the MDS server (not via an NFS mount), the files will all be of size 0.
Each of these files will also have two extended attributes in the system
attribute name space:
pnfsd.dsfile - This extended attrbute stores the information that
    the MDS needs to find the data storage file(s) on DS(s) for this file.
pnfsd.dsattr - This extended attribute stores the Size, AccessTime, ModifyTime
    and Change attributes for the file, so that the MDS doesn't need to
    acquire the attributes from the DS for every Getattr operation.
For each regular (VREG) file, the MDS creates a data storage file on one
(or more if mirroring is enabled) of the DSs in one of the "dsNN"
subdirectories.  The name of this file is the file handle
of the file on the MDS in hexadecimal so that the name is unique.
The DSs use subdirectories named "ds0" to "dsN" so that no one directory
gets too large. The value of "N" is set via the sysctl vfs.nfsd.dsdirsize
on the MDS, with the default being 20.
For production servers that will store a lot of files, this value should
probably be much larger.
It can be increased when the "nfsd" daemon is not running on the MDS,
once the "dsK" directories are created.

For pNFS aware NFSv4.1 clients, the FreeBSD server will return two pieces
of information to the client that allows it to do I/O directly to the DS.
DeviceInfo - This is relatively static information that defines what a DS
             is. The critical bits of information returned by the FreeBSD
             server is the IP address of the DS and, for the Flexible
             File layout, that NFSv4.1 is to be used and that it is
             "tightly coupled".
             There is a "deviceid" which identifies the DeviceInfo.
Layout     - This is per file and can be recalled by the server when it
             is no longer valid. For the FreeBSD server, there is support
             for two types of layout, call File and Flexible File layout.
             Both allow the client to do I/O on the DS via NFSv4.1 I/O
             operations. The Flexible File layout is a more recent variant
             that allows specification of mirrors, where the client is
             expected to do writes to all mirrors to maintain them in a
             consistent state. The Flexible File layout also allows the
             client to report I/O errors for a DS back to the MDS.
             The Flexible File layout supports two variants referred to as
             "tightly coupled" vs "loosely coupled". The FreeBSD server always
             uses the "tightly coupled" variant where the client uses the
             same credentials to do I/O on the DS as it would on the MDS.
             For the "loosely coupled" variant, the layout specifies a
             synthetic user/group that the client uses to do I/O on the DS.
             The FreeBSD server does not do striping and always returns
             layouts for the entire file. The critical information in a layout
             is Read vs Read/Writea and DeviceID(s) that identify which
             DS(s) the data is stored on.

At this time, the MDS generates File Layout layouts to NFSv4.1 clients
that know how to do pNFS for the non-mirrored DS case unless the sysctl
vfs.nfsd.default_flexfile is set non-zero, in which case Flexible File
layouts are generated.
The mirrored DS configuration always generates Flexible File layouts.
For NFS clients that do not support NFSv4.1 pNFS, all I/O operations
are done against the MDS which acts as a proxy for the appropriate DS(s).
When the MDS receives an I/O RPC, it will do the RPC on the DS as a proxy.
If the DS is on the same machine, the MDS/DS will do the RPC on the DS as
a proxy and so on, until the machine runs out of some resource, such as
session slots or mbufs.
As such, DSs must be separate systems from the MDS.

***

###[What does {some strange unix command name} stand for?](http://www.unixguide.net/unix/faq/1.3.shtml)

+ awk = "Aho Weinberger and Kernighan" 
+ grep = "Global Regular Expression Print" 
+ fgrep = "Fixed GREP". 
+ egrep = "Extended GREP" 
+ cat = "CATenate" 
+ gecos = "General Electric Comprehensive Operating Supervisor" 
+ nroff = "New ROFF" 
+ troff = "Typesetter new ROFF" 
+ tee = T 
+ bss = "Block Started by Symbol
+ biff = "BIFF" 
+ rc (as in ".cshrc" or "/etc/rc") = "RunCom" 
+ Don Libes' book "Life with Unix" contains lots more of these 
tidbits. 
***

##Beastie Bits
+ [RetroBSD: Unix for microcontrollers](http://retrobsd.org/wiki/doku.php)
+ [On the matter of OpenBSD breaking embargos (KRACK)](https://marc.info/?l=openbsd-tech&amp;m=152910536208954&amp;w=2)
+ [Theo's Basement Computer Paradise (1998)](https://zeus.theos.com/deraadt/hosts.html)
+ [Airport Extreme runs NetBSD](https://jcs.org/2018/06/12/airport_ssh)
+ [What UNIX shell could have been](https://rain-1.github.io/shell-2.html)

***
Tarsnap ad
***

##Feedback/Questions
+ We need more feedback and questions. Please email feedback@bsdnow.tv 
+ Also, many of you owe us BSDCan trip reports! We have shared what our experience at BSDCan was like, but we want to hear about yours. What can we do better next year? What was it like being there for the first time?
+ [Jason writes in](https://slexy.org/view/s205jU58X2)
    + https://www.wheelsystems.com/en/products/wheel-fudo-psm/
+ [June 19th was National FreeBSD Day](https://twitter.com/search?src=typd&amp;q=%23FreeBSDDay)
***

- Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [feedback@bsdnow.tv](mailto:feedback@bsdnow.tv)
***

</code></pre>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 250: BSDCan 2018 Recap | BSD Now 250</title>
  <link>https://www.bsdnow.tv/250</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2107</guid>
  <pubDate>Thu, 14 Jun 2018 07:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4a856940-c133-4d38-98e6-88d80a82c29a.mp3" length="60891452" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>TrueOS becoming a downstream fork with Trident, our BSDCan 2018 recap, HardenedBSD Foundation founding efforts, VPN with OpenIKED on OpenBSD, FreeBSD on a System76 Galago Pro, and hardware accelerated crypto on Octeons.</itunes:subtitle>
  <itunes:duration>1:41:10</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>&lt;p&gt;TrueOS becoming a downstream fork with Trident, our BSDCan 2018 recap, HardenedBSD Foundation founding efforts, VPN with OpenIKED on OpenBSD, FreeBSD on a System76 Galago Pro, and hardware accelerated crypto on Octeons.&lt;/p&gt;

&lt;p&gt;##Headlines##&lt;br&gt;
###&lt;a href="https://www.trueos.org/blog/trueosdownstream/" target="_blank" rel="nofollow noopener"&gt;TrueOS to Focus on Core Operating System&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The TrueOS Project has some big plans in the works, and we want to take a minute and share them with you. Many have come to know TrueOS as the “graphical FreeBSD” that makes things easy for newcomers to the BSDs. Today we’re announcing that TrueOS is shifting our focus a bit to become a cutting-edge operating system that keeps all of the stability that you know and love from ZFS (OpenZFS) and FreeBSD, and adds additional features to create a fresh, innovative operating system. Our goal is to create a core-centric operating system that is modular, functional, and perfect for do-it-yourselfers and advanced users alike.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;TrueOS will become a downstream fork that will build on FreeBSD by integrating new software technologies like OpenRC and LibreSSL. Work has already begun which allows TrueOS to be used as a base platform for other projects, including JSON-based manifests, integrated Poudriere / pkg tools and much more. We’re planning on a six month release cycle to keep development moving and fresh, allowing us to bring you hot new features to ZFS, bhyve and related tools in a timely manner. This makes TrueOS the perfect fit to serve as the basis for building other distributions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Some of you are probably asking yourselves “But what if I want to have a graphical desktop?” Don’t worry! We’re making sure that everyone who knows and loves the legacy desktop version of TrueOS will be able to continue using a FreeBSD-based, graphical operating system in the future. For instance, if you want to add KDE, just use sudo pkg install kde and voila! You have your new shiny desktop. Easy right? This allows us to get back to our roots of being a desktop agnostic operating system. If you want to add a new desktop environment, you get to pick the one that best suits your use.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;We know that some of you will still be looking for an out-of-the-box solution similar to legacy PC-BSD and TrueOS. We’re happy to announce that Project Trident will take over graphical FreeBSD development going forward. Not much is going to change in that regard other than a new name! You’ll still have Lumina Desktop as a lightweight and feature-rich desktop environment and tons of utilities from the legacy TrueOS toolchain like sysadm and AppCafe. There will be migration paths available for those that would like to move to other FreeBSD-based distributions like Project Trident or GhostBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;We look forward to this new chapter for TrueOS and hope you will give the new edition a spin! Tell us what you think about the new changes by leaving us a comment. Don’t forget you can ask us questions on our Twitter and be a part of our community by joining the new TrueOS Forums when they go live in about a week. Thanks for being a loyal fan of TrueOS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;###&lt;a href="http://project-trident.org/faq" target="_blank" rel="nofollow noopener"&gt;Project Trident FAQ&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Q: Why did you pick the name “Project Trident”?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A: We were looking for a name that was unique, yet would still relate to the BSD community. Since Beastie (the FreeBSD mascot) is always pictured with a trident, it felt like that would be a great name.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: Where can users go for technical support?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A: At the moment, Project Trident will continue sharing the TrueOS community forums and Telegram channels. We are currently evaluating dedicated options for support channels in the future.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: Can I help contribute to the project?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A: We are always looking for developers who want to join the project. If you’re not a developer you can still help, as a community project we will be more reliant on contributions from the community in the form of how-to guides and other user-centric documentation and support systems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: How is the project supported financially?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A: Project Trident is sponsored by the community, from both individuals and corporations. iXsystems has stepped up as the first enterprise-level sponsor of the project, and has been instrumental in getting Project Trident up and running. Please visit the Sponsors page to see all the current sponsors.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: How can I help support the project financially?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A: Several methods exist, from one time or recurring donations via Paypal to limited time swag t-shirt campaigns during the year. We are also looking into more alternative methods of support, so please visit the Sponsors page to see all the current methods of sponsorship.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: Will there be any transparency of the financial donations and expenditures?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A: Yes, we will be totally open with how much money comes into the project and what it is spent on. Due to concerns of privacy, we will not identify individuals and their donation amounts unless they specifically request to be identified. We will release a monthly overview in/out ledger, so that community members can see where their money is going.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Relationship with TrueOS&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Project Trident does have very close ties to the TrueOS project, since most of the original Project Trident developers were once part of the TrueOS project before it became a distribution platform. For users of the TrueOS desktop, we have some additional questions and answers below.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Q: Do we need to be at a certain TrueOS install level/release to upgrade?&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A: As long as you have a TrueOS system which has been updated to at least the 18.03 release you should be able to just perform a system update to be automatically upgraded to Project Trident.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: Which members moved from TrueOS to Project Trident?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A: Project Trident is being led by prior members of the TrueOS desktop team. Ken and JT (development), Tim (documentation) and Rod (Community/Support). Since Project Trident is a community-first project, we look forward to working with new members of the team.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://www.bsdcan.org/2018" target="_blank" rel="nofollow noopener"&gt;BSDCan&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BSDCan finished Saturday last week&lt;/li&gt;
&lt;li&gt;It started with the GoatBoF on Tuesday at the Royal Oak Pub, where people had a chance to meet and greet. Benedict could not attend due to an all-day FreeBSD Foundation meeting and and even FreeBSD Journal Editorial Board meeting.&lt;/li&gt;
&lt;li&gt;The FreeBSD devsummit was held the next two days in parallel to the tutorials. Gordon Tetlow, who organized the devsummit, opened the devsummit. Deb Goodkin from the FreeBSD Foundation gave the first talk with a Foundation update, highlighting current and future efforts. Li-Wen Hsu is now employed by the Foundation to assist in QA work (Jenkins, CI/CD) and Gordon Tetlow has a part-time contract to help secteam as their secretary.&lt;/li&gt;
&lt;li&gt;Next, the FreeBSD core team (among them Allan and Benedict) gave a talk about what has happened this last term. With a core election currently running, some of these items will carry over to the next core team, but there were also some finished ones like the FCP process and FreeBSD members initiative. People in the audience asked questions on various topics of interest.&lt;/li&gt;
&lt;li&gt;After the coffee break, the release engineering team gave a talk about their efforts in terms of making releases happen in time and good quality.&lt;/li&gt;
&lt;li&gt;Benedict had to give his Ansible tutorial in the afternoon, which had roughly 15 people attending. Most of them beginners, we could get some good discussions going and I also learned a few new tricks. The overall feedback was positive and one even asked what I’m going to teach next year.&lt;/li&gt;
&lt;li&gt;The second day of the FreeBSD devsummit began with Gordon Tetlow giving an insight into the FreeBSD Security team (aka secteam). He gave a overview of secteam members and responsibilities, explaining the process based on a long past advisory. Developers were encouraged to help out secteam. NDAs and proper disclosure of vulnerabilities were also discussed, and the audience had some feedback and questions.&lt;/li&gt;
&lt;li&gt;When the coffee break was over, the FreeBSD 12.0 planning session happened. A &lt;a href="https://wiki.freebsd.org/DevSummit/201806/HaveNeedWant12" target="_blank" rel="nofollow noopener"&gt;Google doc&lt;/a&gt; served as a collaborative way of gathering features and things left to do. People signed up for it or were volunteered. Some features won’t make it into 12.0 as they are not 100% ready for prime time and need a few more rounds of testing and bugfixing. Still, 12.0 will have some compelling features.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://theta360.com/s/xuR4ogsjGmu584JJju0vUaTA" target="_blank" rel="nofollow noopener"&gt;A 360° group picture&lt;/a&gt; was taken after lunch, and then people split up into the working groups for the afternoon or started hacking in the UofO Henderson residence.&lt;/li&gt;
&lt;li&gt;Benedict and Allan both attended the OpenZFS working group, lead by Matt Ahrens. He presented the completed and outstanding work in FreeBSD, without spoiling too much of the ZFS presentations of various people that happened later at the conference.&lt;/li&gt;
&lt;li&gt;Benedict joined the boot code session a bit late (hallway track is the reason) when most things seem to have already been discussed.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.talegraph.com/tales/WmObSRejzT" target="_blank" rel="nofollow noopener"&gt;BSDCan 2018 — Ottawa (In Pictures)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://photos.google.com/share/AF1QipPv_eOz9z-e8R23DkSEcMLF9ivl8est0H4k0lkAoIdY0Jgsn4eyKT54fPyy4EukCw?key=RmJoNS1uOHU2djRDdzZxNGM4ZEY1dFVKamhCNThR" target="_blank" rel="nofollow noopener"&gt;iXsystems Photos from BSDCan 2018&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="https://hardenedbsd.org/article/shawn-webb/2018-06-09/june-hardenedbsd-foundation-update" target="_blank" rel="nofollow noopener"&gt;June HardenedBSD Foundation Update&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We at HardenedBSD are working towards starting up a 501©(3) not-for-profit organization in the USA. Setting up this organization will allow future donations to be tax deductible. We’ve made progress and would like to share with you the current state of affairs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;We have identified, sent invitations out, and received acceptance letters from six people who will serve on the HardenedBSD Foundation Board of Directors. You can find their bios below. In the latter half of June 2018 or the beginning half of July 2018, we will meet for the first time as a board and formally begin the process of creating the documentation needed to submit to the local, state, and federal tax services.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Here’s a brief introduction to those who will serve on the board:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;W. Dean Freeman (Advisor): Dean has ten years of professional experience with deploying and security Unix and networking systems, including assessing systems security for government certification and assessing the efficacy of security products. He was introduced to Unix via FreeBSD 2.2.8 on an ISP shell account as a teenager. Formerly, he was the Snort port maintainer for FreeBSD while working in the Sourcefire VRT, and has contributed entropy-related patches to the FreeBSD and HardenedBSD projects – a topic on which he presented at vBSDCon 2017.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ben La Monica (Advisor): Ben is a Senior Technology Manager of Software Engineering at Morningstar, Inc and has been developing software for over 15 years in a variety of languages. He advocates open source software and enjoys tinkering with electronics and home automation.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;George Saylor (Advisor): George is a Technical Directory at G2, Inc. Mr. Saylor has over 28 years of information systems and security experience in a broad range of disciplines. His core focus areas are automation and standards in the event correlation space as well as penetration and exploitation of computer systems. Mr Saylor was also a co-founder of the OpenSCAP project.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Virginia Suydan (Accountant and general administrator): Accountant and general administrator for the HardenedBSD Foundation. She has worked with Shawn Webb for tax and accounting purposes for over six years.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Shawn Webb (Director): Co-founder of HardenedBSD and all-around infosec wonk. He has worked and played in the infosec industry, doing both offensive and defensive research, for around fifteen years. He loves open source technologies and likes to frustrate the bad guys.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ben Welch (Advisor): Ben is currently a Security Engineer at G2, Inc. He graduated from Pennsylvania College of Technology with a Bachelors in Information Assurance and Security. Ben likes long walks, beaches, candlelight dinners, and attending various conferences like BSides and ShmooCon.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://medium.com/@cmacrae/your-own-vpn-with-openiked-openbsd-13d7abd3d1d4" target="_blank" rel="nofollow noopener"&gt;Your own VPN with OpenIKED &amp;amp; OpenBSD&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Remote connectivity to your home network is something I think a lot of people find desirable. Over the years, I’ve just established an SSH tunnel and use it as a SOCKS proxy, sending my traffic through that. It’s a nice solution for a “poor man’s VPN”, but it can be a bit clunky, and it’s not great having to expose SSH to the world, even if you make sure to lock everything down &lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I set out the other day to finally do it properly. I’d come across this great post by Gordon Turner: &lt;a href="https://blog.gordonturner.com/2018/02/25/openbsd-6-2-vpn-endpoint-for-ios-and-macos/" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.2 VPN Endpoint for iOS and macOS&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Whilst it was exactly what I was looking for, it outlined how to set up an L2TP VPN. Really, I wanted IKEv2 for performance and security reasons (I won’t elaborate on this here, if you’re curious about the differences, there’s a lot of content out on the web explaining this).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The client systems I’d be using have native support for IKEv2 (iOS, macOS, other BSD systems). But, I couldn’t find any tutorials in the same vein.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;So, let’s get stuck in!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A quick note ✍️&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This guide will walk through the set up of an IKEv2 VPN using OpenIKED on OpenBSD. It will detail a “road warrior” configuration, and use a PSK (pre-shared-key) for authentication. I’m sure it can be easily adapted to work on any other platforms that OpenIKED is available on, but keep in mind my steps are specifically for OpenBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Server Configuration&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As with all my home infrastructure, I crafted this set-up declaratively. So, I had the deployment of the VM setup in Terraform (deployed on my private Triton cluster), and wrote the configuration in Ansible, then tied them together using radekg/terraform-provisioner-ansible.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the reasons I love Ansible is that its syntax is very simplistic, yet expressive. As such, I feel it fits very well into explaining these steps with snippets of the playbook I wrote.  I’ll link the full playbook a bit further down for those interested.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See the full article for the information on:&lt;/li&gt;
&lt;li&gt;sysctl parameters&lt;/li&gt;
&lt;li&gt;The naughty list (optional)&lt;/li&gt;
&lt;li&gt;Configure the VPN network interface&lt;/li&gt;
&lt;li&gt;Configure the firewall&lt;/li&gt;
&lt;li&gt;Configure the iked service&lt;/li&gt;
&lt;li&gt;Gateway configuration&lt;/li&gt;
&lt;li&gt;Client configuration&lt;/li&gt;
&lt;li&gt;Troubleshooting&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;DigitalOcean&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://corrupted.io/2018/05/15/system76-free-bsd.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD on a System76 Galago Pro&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Hey all, It’s been a while since I last posted but I thought I would hammer something out here. My most recent purchase was a System76 Galago Pro. I thought, afer playing with POP! OS a bit, is there any reason I couldn’t get BSD on this thing. Turns out the answer is no, no there isnt and it works pretty decently.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;To get some accounting stuff out of the way I tested this all on FreeBSD Head and 11.1, and all of it is valid as of May 10, 2018. Head is a fast moving target so some of this is only bound to improve.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;The hardware&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Intel Core i5 Gen 8&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;UHD Graphics 620&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;16 GB DDR4 Ram&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;RTL8411B PCI Express Card Reader&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;RTL8111 Gigabit ethernet controller&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Intel HD Audio&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Samsung SSD 960 PRO 512GB NVMe&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The caveats&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There are a few things that I cant seem to make work straight out of the box, and that is the SD Card reader, the backlight, and the audio is a bit finicky. Also the trackpad doesn’t respond to two finger scrolling. The wiki is mostly up to date, there are a few edits that need to be made still but there is a bug where I cant register an account yet so I haven’t made all the changes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Processor&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It works like any other Intel processor. Pstates and throttling work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Graphics&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The boot menu sets itself to what looks like 1024x768, but works as you expect in a tiny window. The text console does the full 3200x1800 resolution, but the text is ultra tiny. There isnt a font for the console that covers hidpi screens yet. As for X Windows it requres the drm-kmod-next package. Once installed follow the directions from the package and it works with almost no fuss. I have it running on X with full intel acceleration, but it is running at it’s full 3200x1800 resolution, to scale that down just do xrandr --output eDP-1 --scale 0.5x0.5 it will blow it up to roughly 200%. Due to limitations with X windows and hidpi it is harder to get more granular.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Intel Wireless 8265&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The wireless uses the iwm module, as of right now it does not seem to automagically load right now. Adding iwm_load=“YES” will cause the module to load on boot and kldload iwm&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Battery&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I seem to be getting about 5 hours out of the battery, but everything reports out of the box as expected. I could get more by throttling the CPU down speed wise.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Overall impression&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It is a pretty decent experience. While not as polished as a Thinkpad there is a lot of potential with a bit of work and polishing. The laptop itself is not bad, the keyboard is responsive. The build quality is pretty solid. My only real complaint is the trackpad is stiff to click and sort of tiny. They seem to be a bit indifferent to non linux OSes running on the gear but that isnt anything new. I wont have any problems using it and is enough that when I work through this laptop, but I’m not sure at this stage if my next machine will be a System76 laptop, but they have impressed me enough to put them in the running when I go to look for my next portable machine but it hasn’t yet replaced the hole left in my heart by lenovo messing with the thinkpad.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://undeadly.org/cgi?action=article;sid=20180418073437" target="_blank" rel="nofollow noopener"&gt;Hardware accelerated AES/HMAC-SHA on octeons&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;In this commit, visa@ submitted code (disabled for now) to use built-in acceleration on octeon CPUs, much like AESNI for x86s.

I decided to test tcpbench(1) and IPsec, before and after updating and enabling the octcrypto(4) driver.

I didn't capture detailed perf stats from before the update, I had heard someone say that Edgerouter Lite boxes would only do some 6MBit/s over ipsec, so I set up a really simple ipsec.conf with ike esp from A to B leading to a policy of

esp tunnel from A to B spi 0xdeadbeef auth hmac-sha2-256 enc aes
going from one ERL to another (I collect octeons, so I have a bunch to test with) and let tcpbench run for a while on it. My numbers hovered around 7Mbit/s, which coincided with what I've heard, and also that most of the CPU gets used while doing it.
Then I edited /sys/arch/octeon/conf/GENERIC, removed the # from octcrypto0 at mainbus0 and recompiled. Booted into the new kernel and got a octcrypto0 line in dmesg, and it was time to rock the ipsec tunnel again. The crypto algorithm and HMAC used by default on ipsec coincides nicely with the list of accelerated functions provided by the driver.

Before we get to tunnel traffic numbers, just one quick look at what systat pigs says while the ipsec is running at full steam:

     PID USER        NAME                 CPU     20\    40\    60\    80\  100\
   58917 root        crypto             52.25 #################
   42636 root        softnet            42.48 ##############
                     (idle)             29.74 #########
    1059 root        tcpbench           24.22 #######
   67777 root        crynlk             19.58 ######
So this indicates that the load from doing ipsec and generating the traffic is somewhat nicely evened out over the two cores in the Edgerouter, and there's even some CPU left unused, which means I can actually ssh into it and have it usable. I have had it running for almost 2 days now, moving some 2.1TB over the tunnel.
Now for the new and improved performance numbers:

   204452123        4740752       37.402  100.00% 
Conn:   1 Mbps:       37.402 Peak Mbps:       58.870 Avg Mbps:       37.402
   204453149        4692968       36.628  100.00% 
Conn:   1 Mbps:       36.628 Peak Mbps:       58.870 Avg Mbps:       36.628
   204454167        5405552       42.480  100.00% 
Conn:   1 Mbps:       42.480 Peak Mbps:       58.870 Avg Mbps:       42.480
   204455188        5202496       40.804  100.00% 
Conn:   1 Mbps:       40.804 Peak Mbps:       58.870 Avg Mbps:       40.804
   204456194        5062208       40.256  100.00% 
Conn:   1 Mbps:       40.256 Peak Mbps:       58.870 Avg Mbps:       40.256

The tcpbench numbers fluctuate up and down a bit, but the output is nice enough to actually keep tabs on the peak values. Peaking to 58.8MBit/s! Of course, as you can see, the average is lower but nice anyhow.

A manyfold increase in performance, which is good enough in itself, but also moves the throughput from a speed that would make a poor but cheap gateway to something actually useful and decent for many home network speeds. Biggest problem after this gets enabled will be that my options to buy cheap used ERLs diminish.
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.etinc.com/122/Using-FreeBSD-Text-Dumps" target="_blank" rel="nofollow noopener"&gt;Using FreeBSD Text Dumps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=334391" target="_blank" rel="nofollow noopener"&gt;llvm’s lld now the default linker for amd64 on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/3194" target="_blank" rel="nofollow noopener"&gt;Author Discoverability&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openbsd.org/papers/BeckPledgeUnveilBSDCan2018.pdf" target="_blank" rel="nofollow noopener"&gt;Pledge and Unveil in OpenBSD {pdf}&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2018.eurobsdcon.org/call-for-papers/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2018 CFP Closes June 17, hurry up and get your submissions in&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2018.eurobsdcon.org/paul-schenkeveld-travel-grant/" target="_blank" rel="nofollow noopener"&gt;Just want to attend, but need help getting to the conference? Applications for the Paul Schenkeveld travel grant accepted until June 15th&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Casey - &lt;a href="http://dpaste.com/2H42V7W#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS on Digital Ocean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jürgen - &lt;a href="http://dpaste.com/3N7ZN8C#wrap" target="_blank" rel="nofollow noopener"&gt;A Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kevin - &lt;a href="http://dpaste.com/231CY5Z#wrap" target="_blank" rel="nofollow noopener"&gt;Failover best practice&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dennis - &lt;a href="http://dpaste.com/1QPNB25#wrap" target="_blank" rel="nofollow noopener"&gt;SQL&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, OpenIKED, HardenedBSD, Trident, Project Trident, bsdcan</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>TrueOS becoming a downstream fork with Trident, our BSDCan 2018 recap, HardenedBSD Foundation founding efforts, VPN with OpenIKED on OpenBSD, FreeBSD on a System76 Galago Pro, and hardware accelerated crypto on Octeons.</p>

<p>##Headlines##<br>
###<a href="https://www.trueos.org/blog/trueosdownstream/" target="_blank" rel="nofollow noopener">TrueOS to Focus on Core Operating System</a></p>

<blockquote>
<p>The TrueOS Project has some big plans in the works, and we want to take a minute and share them with you. Many have come to know TrueOS as the “graphical FreeBSD” that makes things easy for newcomers to the BSDs. Today we’re announcing that TrueOS is shifting our focus a bit to become a cutting-edge operating system that keeps all of the stability that you know and love from ZFS (OpenZFS) and FreeBSD, and adds additional features to create a fresh, innovative operating system. Our goal is to create a core-centric operating system that is modular, functional, and perfect for do-it-yourselfers and advanced users alike.</p>
</blockquote>

<blockquote>
<p>TrueOS will become a downstream fork that will build on FreeBSD by integrating new software technologies like OpenRC and LibreSSL. Work has already begun which allows TrueOS to be used as a base platform for other projects, including JSON-based manifests, integrated Poudriere / pkg tools and much more. We’re planning on a six month release cycle to keep development moving and fresh, allowing us to bring you hot new features to ZFS, bhyve and related tools in a timely manner. This makes TrueOS the perfect fit to serve as the basis for building other distributions.</p>
</blockquote>

<blockquote>
<p>Some of you are probably asking yourselves “But what if I want to have a graphical desktop?” Don’t worry! We’re making sure that everyone who knows and loves the legacy desktop version of TrueOS will be able to continue using a FreeBSD-based, graphical operating system in the future. For instance, if you want to add KDE, just use sudo pkg install kde and voila! You have your new shiny desktop. Easy right? This allows us to get back to our roots of being a desktop agnostic operating system. If you want to add a new desktop environment, you get to pick the one that best suits your use.</p>
</blockquote>

<blockquote>
<p>We know that some of you will still be looking for an out-of-the-box solution similar to legacy PC-BSD and TrueOS. We’re happy to announce that Project Trident will take over graphical FreeBSD development going forward. Not much is going to change in that regard other than a new name! You’ll still have Lumina Desktop as a lightweight and feature-rich desktop environment and tons of utilities from the legacy TrueOS toolchain like sysadm and AppCafe. There will be migration paths available for those that would like to move to other FreeBSD-based distributions like Project Trident or GhostBSD.</p>
</blockquote>

<blockquote>
<p>We look forward to this new chapter for TrueOS and hope you will give the new edition a spin! Tell us what you think about the new changes by leaving us a comment. Don’t forget you can ask us questions on our Twitter and be a part of our community by joining the new TrueOS Forums when they go live in about a week. Thanks for being a loyal fan of TrueOS.</p>
</blockquote>

<p>###<a href="http://project-trident.org/faq" target="_blank" rel="nofollow noopener">Project Trident FAQ</a></p>

<ul>
<li>Q: Why did you pick the name “Project Trident”?</li>
</ul>

<blockquote>
<p>A: We were looking for a name that was unique, yet would still relate to the BSD community. Since Beastie (the FreeBSD mascot) is always pictured with a trident, it felt like that would be a great name.</p>
</blockquote>

<ul>
<li>Q: Where can users go for technical support?</li>
</ul>

<blockquote>
<p>A: At the moment, Project Trident will continue sharing the TrueOS community forums and Telegram channels. We are currently evaluating dedicated options for support channels in the future.</p>
</blockquote>

<ul>
<li>Q: Can I help contribute to the project?</li>
</ul>

<blockquote>
<p>A: We are always looking for developers who want to join the project. If you’re not a developer you can still help, as a community project we will be more reliant on contributions from the community in the form of how-to guides and other user-centric documentation and support systems.</p>
</blockquote>

<ul>
<li>Q: How is the project supported financially?</li>
</ul>

<blockquote>
<p>A: Project Trident is sponsored by the community, from both individuals and corporations. iXsystems has stepped up as the first enterprise-level sponsor of the project, and has been instrumental in getting Project Trident up and running. Please visit the Sponsors page to see all the current sponsors.</p>
</blockquote>

<ul>
<li>Q: How can I help support the project financially?</li>
</ul>

<blockquote>
<p>A: Several methods exist, from one time or recurring donations via Paypal to limited time swag t-shirt campaigns during the year. We are also looking into more alternative methods of support, so please visit the Sponsors page to see all the current methods of sponsorship.</p>
</blockquote>

<ul>
<li>Q: Will there be any transparency of the financial donations and expenditures?</li>
</ul>

<blockquote>
<p>A: Yes, we will be totally open with how much money comes into the project and what it is spent on. Due to concerns of privacy, we will not identify individuals and their donation amounts unless they specifically request to be identified. We will release a monthly overview in/out ledger, so that community members can see where their money is going.</p>
</blockquote>

<ul>
<li>
<p>Relationship with TrueOS</p>
</li>
<li>
<p>Project Trident does have very close ties to the TrueOS project, since most of the original Project Trident developers were once part of the TrueOS project before it became a distribution platform. For users of the TrueOS desktop, we have some additional questions and answers below.</p>
</li>
<li>
<p>Q: Do we need to be at a certain TrueOS install level/release to upgrade?</p>
</li>
</ul>

<blockquote>
<p>A: As long as you have a TrueOS system which has been updated to at least the 18.03 release you should be able to just perform a system update to be automatically upgraded to Project Trident.</p>
</blockquote>

<ul>
<li>Q: Which members moved from TrueOS to Project Trident?</li>
</ul>

<blockquote>
<p>A: Project Trident is being led by prior members of the TrueOS desktop team. Ken and JT (development), Tim (documentation) and Rod (Community/Support). Since Project Trident is a community-first project, we look forward to working with new members of the team.</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong></p>

<p>###<a href="https://www.bsdcan.org/2018" target="_blank" rel="nofollow noopener">BSDCan</a></p>

<ul>
<li>BSDCan finished Saturday last week</li>
<li>It started with the GoatBoF on Tuesday at the Royal Oak Pub, where people had a chance to meet and greet. Benedict could not attend due to an all-day FreeBSD Foundation meeting and and even FreeBSD Journal Editorial Board meeting.</li>
<li>The FreeBSD devsummit was held the next two days in parallel to the tutorials. Gordon Tetlow, who organized the devsummit, opened the devsummit. Deb Goodkin from the FreeBSD Foundation gave the first talk with a Foundation update, highlighting current and future efforts. Li-Wen Hsu is now employed by the Foundation to assist in QA work (Jenkins, CI/CD) and Gordon Tetlow has a part-time contract to help secteam as their secretary.</li>
<li>Next, the FreeBSD core team (among them Allan and Benedict) gave a talk about what has happened this last term. With a core election currently running, some of these items will carry over to the next core team, but there were also some finished ones like the FCP process and FreeBSD members initiative. People in the audience asked questions on various topics of interest.</li>
<li>After the coffee break, the release engineering team gave a talk about their efforts in terms of making releases happen in time and good quality.</li>
<li>Benedict had to give his Ansible tutorial in the afternoon, which had roughly 15 people attending. Most of them beginners, we could get some good discussions going and I also learned a few new tricks. The overall feedback was positive and one even asked what I’m going to teach next year.</li>
<li>The second day of the FreeBSD devsummit began with Gordon Tetlow giving an insight into the FreeBSD Security team (aka secteam). He gave a overview of secteam members and responsibilities, explaining the process based on a long past advisory. Developers were encouraged to help out secteam. NDAs and proper disclosure of vulnerabilities were also discussed, and the audience had some feedback and questions.</li>
<li>When the coffee break was over, the FreeBSD 12.0 planning session happened. A <a href="https://wiki.freebsd.org/DevSummit/201806/HaveNeedWant12" target="_blank" rel="nofollow noopener">Google doc</a> served as a collaborative way of gathering features and things left to do. People signed up for it or were volunteered. Some features won’t make it into 12.0 as they are not 100% ready for prime time and need a few more rounds of testing and bugfixing. Still, 12.0 will have some compelling features.</li>
<li><a href="https://theta360.com/s/xuR4ogsjGmu584JJju0vUaTA" target="_blank" rel="nofollow noopener">A 360° group picture</a> was taken after lunch, and then people split up into the working groups for the afternoon or started hacking in the UofO Henderson residence.</li>
<li>Benedict and Allan both attended the OpenZFS working group, lead by Matt Ahrens. He presented the completed and outstanding work in FreeBSD, without spoiling too much of the ZFS presentations of various people that happened later at the conference.</li>
<li>Benedict joined the boot code session a bit late (hallway track is the reason) when most things seem to have already been discussed.</li>
<li><a href="https://www.talegraph.com/tales/WmObSRejzT" target="_blank" rel="nofollow noopener">BSDCan 2018 — Ottawa (In Pictures)</a></li>
<li><a href="https://photos.google.com/share/AF1QipPv_eOz9z-e8R23DkSEcMLF9ivl8est0H4k0lkAoIdY0Jgsn4eyKT54fPyy4EukCw?key=RmJoNS1uOHU2djRDdzZxNGM4ZEY1dFVKamhCNThR" target="_blank" rel="nofollow noopener">iXsystems Photos from BSDCan 2018</a></li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://hardenedbsd.org/article/shawn-webb/2018-06-09/june-hardenedbsd-foundation-update" target="_blank" rel="nofollow noopener">June HardenedBSD Foundation Update</a></p>

<blockquote>
<p>We at HardenedBSD are working towards starting up a 501©(3) not-for-profit organization in the USA. Setting up this organization will allow future donations to be tax deductible. We’ve made progress and would like to share with you the current state of affairs.</p>
</blockquote>

<blockquote>
<p>We have identified, sent invitations out, and received acceptance letters from six people who will serve on the HardenedBSD Foundation Board of Directors. You can find their bios below. In the latter half of June 2018 or the beginning half of July 2018, we will meet for the first time as a board and formally begin the process of creating the documentation needed to submit to the local, state, and federal tax services.</p>
</blockquote>

<blockquote>
<p>Here’s a brief introduction to those who will serve on the board:</p>
</blockquote>

<ul>
<li>
<p>W. Dean Freeman (Advisor): Dean has ten years of professional experience with deploying and security Unix and networking systems, including assessing systems security for government certification and assessing the efficacy of security products. He was introduced to Unix via FreeBSD 2.2.8 on an ISP shell account as a teenager. Formerly, he was the Snort port maintainer for FreeBSD while working in the Sourcefire VRT, and has contributed entropy-related patches to the FreeBSD and HardenedBSD projects – a topic on which he presented at vBSDCon 2017.</p>
</li>
<li>
<p>Ben La Monica (Advisor): Ben is a Senior Technology Manager of Software Engineering at Morningstar, Inc and has been developing software for over 15 years in a variety of languages. He advocates open source software and enjoys tinkering with electronics and home automation.</p>
</li>
<li>
<p>George Saylor (Advisor): George is a Technical Directory at G2, Inc. Mr. Saylor has over 28 years of information systems and security experience in a broad range of disciplines. His core focus areas are automation and standards in the event correlation space as well as penetration and exploitation of computer systems. Mr Saylor was also a co-founder of the OpenSCAP project.</p>
</li>
<li>
<p>Virginia Suydan (Accountant and general administrator): Accountant and general administrator for the HardenedBSD Foundation. She has worked with Shawn Webb for tax and accounting purposes for over six years.</p>
</li>
<li>
<p>Shawn Webb (Director): Co-founder of HardenedBSD and all-around infosec wonk. He has worked and played in the infosec industry, doing both offensive and defensive research, for around fifteen years. He loves open source technologies and likes to frustrate the bad guys.</p>
</li>
<li>
<p>Ben Welch (Advisor): Ben is currently a Security Engineer at G2, Inc. He graduated from Pennsylvania College of Technology with a Bachelors in Information Assurance and Security. Ben likes long walks, beaches, candlelight dinners, and attending various conferences like BSides and ShmooCon.</p>
</li>
</ul>

<hr>

<p>###<a href="https://medium.com/@cmacrae/your-own-vpn-with-openiked-openbsd-13d7abd3d1d4" target="_blank" rel="nofollow noopener">Your own VPN with OpenIKED &amp; OpenBSD</a></p>

<blockquote>
<p>Remote connectivity to your home network is something I think a lot of people find desirable. Over the years, I’ve just established an SSH tunnel and use it as a SOCKS proxy, sending my traffic through that. It’s a nice solution for a “poor man’s VPN”, but it can be a bit clunky, and it’s not great having to expose SSH to the world, even if you make sure to lock everything down </p>
</blockquote>

<blockquote>
<p>I set out the other day to finally do it properly. I’d come across this great post by Gordon Turner: <a href="https://blog.gordonturner.com/2018/02/25/openbsd-6-2-vpn-endpoint-for-ios-and-macos/" target="_blank" rel="nofollow noopener">OpenBSD 6.2 VPN Endpoint for iOS and macOS</a></p>
</blockquote>

<blockquote>
<p>Whilst it was exactly what I was looking for, it outlined how to set up an L2TP VPN. Really, I wanted IKEv2 for performance and security reasons (I won’t elaborate on this here, if you’re curious about the differences, there’s a lot of content out on the web explaining this).</p>
</blockquote>

<blockquote>
<p>The client systems I’d be using have native support for IKEv2 (iOS, macOS, other BSD systems). But, I couldn’t find any tutorials in the same vein.</p>
</blockquote>

<blockquote>
<p>So, let’s get stuck in!</p>
</blockquote>

<ul>
<li>A quick note ✍️</li>
</ul>

<blockquote>
<p>This guide will walk through the set up of an IKEv2 VPN using OpenIKED on OpenBSD. It will detail a “road warrior” configuration, and use a PSK (pre-shared-key) for authentication. I’m sure it can be easily adapted to work on any other platforms that OpenIKED is available on, but keep in mind my steps are specifically for OpenBSD.</p>
</blockquote>

<ul>
<li>Server Configuration</li>
</ul>

<blockquote>
<p>As with all my home infrastructure, I crafted this set-up declaratively. So, I had the deployment of the VM setup in Terraform (deployed on my private Triton cluster), and wrote the configuration in Ansible, then tied them together using radekg/terraform-provisioner-ansible.</p>
</blockquote>

<blockquote>
<p>One of the reasons I love Ansible is that its syntax is very simplistic, yet expressive. As such, I feel it fits very well into explaining these steps with snippets of the playbook I wrote.  I’ll link the full playbook a bit further down for those interested.</p>
</blockquote>

<ul>
<li>See the full article for the information on:</li>
<li>sysctl parameters</li>
<li>The naughty list (optional)</li>
<li>Configure the VPN network interface</li>
<li>Configure the firewall</li>
<li>Configure the iked service</li>
<li>Gateway configuration</li>
<li>Client configuration</li>
<li>Troubleshooting</li>
</ul>

<hr>

<p><strong>DigitalOcean</strong></p>

<p>###<a href="https://corrupted.io/2018/05/15/system76-free-bsd.html" target="_blank" rel="nofollow noopener">FreeBSD on a System76 Galago Pro</a></p>

<blockquote>
<p>Hey all, It’s been a while since I last posted but I thought I would hammer something out here. My most recent purchase was a System76 Galago Pro. I thought, afer playing with POP! OS a bit, is there any reason I couldn’t get BSD on this thing. Turns out the answer is no, no there isnt and it works pretty decently.</p>
</blockquote>

<blockquote>
<p>To get some accounting stuff out of the way I tested this all on FreeBSD Head and 11.1, and all of it is valid as of May 10, 2018. Head is a fast moving target so some of this is only bound to improve.</p>
</blockquote>

<ul>
<li>
<p>The hardware</p>
</li>
<li>
<p>Intel Core i5 Gen 8</p>
</li>
<li>
<p>UHD Graphics 620</p>
</li>
<li>
<p>16 GB DDR4 Ram</p>
</li>
<li>
<p>RTL8411B PCI Express Card Reader</p>
</li>
<li>
<p>RTL8111 Gigabit ethernet controller</p>
</li>
<li>
<p>Intel HD Audio</p>
</li>
<li>
<p>Samsung SSD 960 PRO 512GB NVMe</p>
</li>
<li>
<p>The caveats</p>
</li>
</ul>

<blockquote>
<p>There are a few things that I cant seem to make work straight out of the box, and that is the SD Card reader, the backlight, and the audio is a bit finicky. Also the trackpad doesn’t respond to two finger scrolling. The wiki is mostly up to date, there are a few edits that need to be made still but there is a bug where I cant register an account yet so I haven’t made all the changes.</p>
</blockquote>

<ul>
<li>Processor</li>
</ul>

<blockquote>
<p>It works like any other Intel processor. Pstates and throttling work.</p>
</blockquote>

<ul>
<li>Graphics</li>
</ul>

<blockquote>
<p>The boot menu sets itself to what looks like 1024x768, but works as you expect in a tiny window. The text console does the full 3200x1800 resolution, but the text is ultra tiny. There isnt a font for the console that covers hidpi screens yet. As for X Windows it requres the drm-kmod-next package. Once installed follow the directions from the package and it works with almost no fuss. I have it running on X with full intel acceleration, but it is running at it’s full 3200x1800 resolution, to scale that down just do xrandr --output eDP-1 --scale 0.5x0.5 it will blow it up to roughly 200%. Due to limitations with X windows and hidpi it is harder to get more granular.</p>
</blockquote>

<ul>
<li>Intel Wireless 8265</li>
</ul>

<blockquote>
<p>The wireless uses the iwm module, as of right now it does not seem to automagically load right now. Adding iwm_load=“YES” will cause the module to load on boot and kldload iwm</p>
</blockquote>

<ul>
<li>Battery</li>
</ul>

<blockquote>
<p>I seem to be getting about 5 hours out of the battery, but everything reports out of the box as expected. I could get more by throttling the CPU down speed wise.</p>
</blockquote>

<ul>
<li>Overall impression</li>
</ul>

<blockquote>
<p>It is a pretty decent experience. While not as polished as a Thinkpad there is a lot of potential with a bit of work and polishing. The laptop itself is not bad, the keyboard is responsive. The build quality is pretty solid. My only real complaint is the trackpad is stiff to click and sort of tiny. They seem to be a bit indifferent to non linux OSes running on the gear but that isnt anything new. I wont have any problems using it and is enough that when I work through this laptop, but I’m not sure at this stage if my next machine will be a System76 laptop, but they have impressed me enough to put them in the running when I go to look for my next portable machine but it hasn’t yet replaced the hole left in my heart by lenovo messing with the thinkpad.</p>
</blockquote>

<hr>

<p>###<a href="https://undeadly.org/cgi?action=article;sid=20180418073437" target="_blank" rel="nofollow noopener">Hardware accelerated AES/HMAC-SHA on octeons</a></p>

<pre><code>In this commit, visa@ submitted code (disabled for now) to use built-in acceleration on octeon CPUs, much like AESNI for x86s.

I decided to test tcpbench(1) and IPsec, before and after updating and enabling the octcrypto(4) driver.

I didn't capture detailed perf stats from before the update, I had heard someone say that Edgerouter Lite boxes would only do some 6MBit/s over ipsec, so I set up a really simple ipsec.conf with ike esp from A to B leading to a policy of

esp tunnel from A to B spi 0xdeadbeef auth hmac-sha2-256 enc aes
going from one ERL to another (I collect octeons, so I have a bunch to test with) and let tcpbench run for a while on it. My numbers hovered around 7Mbit/s, which coincided with what I've heard, and also that most of the CPU gets used while doing it.
Then I edited /sys/arch/octeon/conf/GENERIC, removed the # from octcrypto0 at mainbus0 and recompiled. Booted into the new kernel and got a octcrypto0 line in dmesg, and it was time to rock the ipsec tunnel again. The crypto algorithm and HMAC used by default on ipsec coincides nicely with the list of accelerated functions provided by the driver.

Before we get to tunnel traffic numbers, just one quick look at what systat pigs says while the ipsec is running at full steam:

     PID USER        NAME                 CPU     20\    40\    60\    80\  100\
   58917 root        crypto             52.25 #################
   42636 root        softnet            42.48 ##############
                     (idle)             29.74 #########
    1059 root        tcpbench           24.22 #######
   67777 root        crynlk             19.58 ######
So this indicates that the load from doing ipsec and generating the traffic is somewhat nicely evened out over the two cores in the Edgerouter, and there's even some CPU left unused, which means I can actually ssh into it and have it usable. I have had it running for almost 2 days now, moving some 2.1TB over the tunnel.
Now for the new and improved performance numbers:

   204452123        4740752       37.402  100.00% 
Conn:   1 Mbps:       37.402 Peak Mbps:       58.870 Avg Mbps:       37.402
   204453149        4692968       36.628  100.00% 
Conn:   1 Mbps:       36.628 Peak Mbps:       58.870 Avg Mbps:       36.628
   204454167        5405552       42.480  100.00% 
Conn:   1 Mbps:       42.480 Peak Mbps:       58.870 Avg Mbps:       42.480
   204455188        5202496       40.804  100.00% 
Conn:   1 Mbps:       40.804 Peak Mbps:       58.870 Avg Mbps:       40.804
   204456194        5062208       40.256  100.00% 
Conn:   1 Mbps:       40.256 Peak Mbps:       58.870 Avg Mbps:       40.256

The tcpbench numbers fluctuate up and down a bit, but the output is nice enough to actually keep tabs on the peak values. Peaking to 58.8MBit/s! Of course, as you can see, the average is lower but nice anyhow.

A manyfold increase in performance, which is good enough in itself, but also moves the throughput from a speed that would make a poor but cheap gateway to something actually useful and decent for many home network speeds. Biggest problem after this gets enabled will be that my options to buy cheap used ERLs diminish.
</code></pre>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="http://www.etinc.com/122/Using-FreeBSD-Text-Dumps" target="_blank" rel="nofollow noopener">Using FreeBSD Text Dumps</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=334391" target="_blank" rel="nofollow noopener">llvm’s lld now the default linker for amd64 on FreeBSD</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3194" target="_blank" rel="nofollow noopener">Author Discoverability</a></li>
<li><a href="https://www.openbsd.org/papers/BeckPledgeUnveilBSDCan2018.pdf" target="_blank" rel="nofollow noopener">Pledge and Unveil in OpenBSD {pdf}</a></li>
<li><a href="https://2018.eurobsdcon.org/call-for-papers/" target="_blank" rel="nofollow noopener">EuroBSDCon 2018 CFP Closes June 17, hurry up and get your submissions in</a></li>
<li><a href="https://2018.eurobsdcon.org/paul-schenkeveld-travel-grant/" target="_blank" rel="nofollow noopener">Just want to attend, but need help getting to the conference? Applications for the Paul Schenkeveld travel grant accepted until June 15th</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>Casey - <a href="http://dpaste.com/2H42V7W#wrap" target="_blank" rel="nofollow noopener">ZFS on Digital Ocean</a></li>
<li>Jürgen - <a href="http://dpaste.com/3N7ZN8C#wrap" target="_blank" rel="nofollow noopener">A Question</a></li>
<li>Kevin - <a href="http://dpaste.com/231CY5Z#wrap" target="_blank" rel="nofollow noopener">Failover best practice</a></li>
<li>Dennis - <a href="http://dpaste.com/1QPNB25#wrap" target="_blank" rel="nofollow noopener">SQL</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>TrueOS becoming a downstream fork with Trident, our BSDCan 2018 recap, HardenedBSD Foundation founding efforts, VPN with OpenIKED on OpenBSD, FreeBSD on a System76 Galago Pro, and hardware accelerated crypto on Octeons.</p>

<p>##Headlines##<br>
###<a href="https://www.trueos.org/blog/trueosdownstream/" target="_blank" rel="nofollow noopener">TrueOS to Focus on Core Operating System</a></p>

<blockquote>
<p>The TrueOS Project has some big plans in the works, and we want to take a minute and share them with you. Many have come to know TrueOS as the “graphical FreeBSD” that makes things easy for newcomers to the BSDs. Today we’re announcing that TrueOS is shifting our focus a bit to become a cutting-edge operating system that keeps all of the stability that you know and love from ZFS (OpenZFS) and FreeBSD, and adds additional features to create a fresh, innovative operating system. Our goal is to create a core-centric operating system that is modular, functional, and perfect for do-it-yourselfers and advanced users alike.</p>
</blockquote>

<blockquote>
<p>TrueOS will become a downstream fork that will build on FreeBSD by integrating new software technologies like OpenRC and LibreSSL. Work has already begun which allows TrueOS to be used as a base platform for other projects, including JSON-based manifests, integrated Poudriere / pkg tools and much more. We’re planning on a six month release cycle to keep development moving and fresh, allowing us to bring you hot new features to ZFS, bhyve and related tools in a timely manner. This makes TrueOS the perfect fit to serve as the basis for building other distributions.</p>
</blockquote>

<blockquote>
<p>Some of you are probably asking yourselves “But what if I want to have a graphical desktop?” Don’t worry! We’re making sure that everyone who knows and loves the legacy desktop version of TrueOS will be able to continue using a FreeBSD-based, graphical operating system in the future. For instance, if you want to add KDE, just use sudo pkg install kde and voila! You have your new shiny desktop. Easy right? This allows us to get back to our roots of being a desktop agnostic operating system. If you want to add a new desktop environment, you get to pick the one that best suits your use.</p>
</blockquote>

<blockquote>
<p>We know that some of you will still be looking for an out-of-the-box solution similar to legacy PC-BSD and TrueOS. We’re happy to announce that Project Trident will take over graphical FreeBSD development going forward. Not much is going to change in that regard other than a new name! You’ll still have Lumina Desktop as a lightweight and feature-rich desktop environment and tons of utilities from the legacy TrueOS toolchain like sysadm and AppCafe. There will be migration paths available for those that would like to move to other FreeBSD-based distributions like Project Trident or GhostBSD.</p>
</blockquote>

<blockquote>
<p>We look forward to this new chapter for TrueOS and hope you will give the new edition a spin! Tell us what you think about the new changes by leaving us a comment. Don’t forget you can ask us questions on our Twitter and be a part of our community by joining the new TrueOS Forums when they go live in about a week. Thanks for being a loyal fan of TrueOS.</p>
</blockquote>

<p>###<a href="http://project-trident.org/faq" target="_blank" rel="nofollow noopener">Project Trident FAQ</a></p>

<ul>
<li>Q: Why did you pick the name “Project Trident”?</li>
</ul>

<blockquote>
<p>A: We were looking for a name that was unique, yet would still relate to the BSD community. Since Beastie (the FreeBSD mascot) is always pictured with a trident, it felt like that would be a great name.</p>
</blockquote>

<ul>
<li>Q: Where can users go for technical support?</li>
</ul>

<blockquote>
<p>A: At the moment, Project Trident will continue sharing the TrueOS community forums and Telegram channels. We are currently evaluating dedicated options for support channels in the future.</p>
</blockquote>

<ul>
<li>Q: Can I help contribute to the project?</li>
</ul>

<blockquote>
<p>A: We are always looking for developers who want to join the project. If you’re not a developer you can still help, as a community project we will be more reliant on contributions from the community in the form of how-to guides and other user-centric documentation and support systems.</p>
</blockquote>

<ul>
<li>Q: How is the project supported financially?</li>
</ul>

<blockquote>
<p>A: Project Trident is sponsored by the community, from both individuals and corporations. iXsystems has stepped up as the first enterprise-level sponsor of the project, and has been instrumental in getting Project Trident up and running. Please visit the Sponsors page to see all the current sponsors.</p>
</blockquote>

<ul>
<li>Q: How can I help support the project financially?</li>
</ul>

<blockquote>
<p>A: Several methods exist, from one time or recurring donations via Paypal to limited time swag t-shirt campaigns during the year. We are also looking into more alternative methods of support, so please visit the Sponsors page to see all the current methods of sponsorship.</p>
</blockquote>

<ul>
<li>Q: Will there be any transparency of the financial donations and expenditures?</li>
</ul>

<blockquote>
<p>A: Yes, we will be totally open with how much money comes into the project and what it is spent on. Due to concerns of privacy, we will not identify individuals and their donation amounts unless they specifically request to be identified. We will release a monthly overview in/out ledger, so that community members can see where their money is going.</p>
</blockquote>

<ul>
<li>
<p>Relationship with TrueOS</p>
</li>
<li>
<p>Project Trident does have very close ties to the TrueOS project, since most of the original Project Trident developers were once part of the TrueOS project before it became a distribution platform. For users of the TrueOS desktop, we have some additional questions and answers below.</p>
</li>
<li>
<p>Q: Do we need to be at a certain TrueOS install level/release to upgrade?</p>
</li>
</ul>

<blockquote>
<p>A: As long as you have a TrueOS system which has been updated to at least the 18.03 release you should be able to just perform a system update to be automatically upgraded to Project Trident.</p>
</blockquote>

<ul>
<li>Q: Which members moved from TrueOS to Project Trident?</li>
</ul>

<blockquote>
<p>A: Project Trident is being led by prior members of the TrueOS desktop team. Ken and JT (development), Tim (documentation) and Rod (Community/Support). Since Project Trident is a community-first project, we look forward to working with new members of the team.</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong></p>

<p>###<a href="https://www.bsdcan.org/2018" target="_blank" rel="nofollow noopener">BSDCan</a></p>

<ul>
<li>BSDCan finished Saturday last week</li>
<li>It started with the GoatBoF on Tuesday at the Royal Oak Pub, where people had a chance to meet and greet. Benedict could not attend due to an all-day FreeBSD Foundation meeting and and even FreeBSD Journal Editorial Board meeting.</li>
<li>The FreeBSD devsummit was held the next two days in parallel to the tutorials. Gordon Tetlow, who organized the devsummit, opened the devsummit. Deb Goodkin from the FreeBSD Foundation gave the first talk with a Foundation update, highlighting current and future efforts. Li-Wen Hsu is now employed by the Foundation to assist in QA work (Jenkins, CI/CD) and Gordon Tetlow has a part-time contract to help secteam as their secretary.</li>
<li>Next, the FreeBSD core team (among them Allan and Benedict) gave a talk about what has happened this last term. With a core election currently running, some of these items will carry over to the next core team, but there were also some finished ones like the FCP process and FreeBSD members initiative. People in the audience asked questions on various topics of interest.</li>
<li>After the coffee break, the release engineering team gave a talk about their efforts in terms of making releases happen in time and good quality.</li>
<li>Benedict had to give his Ansible tutorial in the afternoon, which had roughly 15 people attending. Most of them beginners, we could get some good discussions going and I also learned a few new tricks. The overall feedback was positive and one even asked what I’m going to teach next year.</li>
<li>The second day of the FreeBSD devsummit began with Gordon Tetlow giving an insight into the FreeBSD Security team (aka secteam). He gave a overview of secteam members and responsibilities, explaining the process based on a long past advisory. Developers were encouraged to help out secteam. NDAs and proper disclosure of vulnerabilities were also discussed, and the audience had some feedback and questions.</li>
<li>When the coffee break was over, the FreeBSD 12.0 planning session happened. A <a href="https://wiki.freebsd.org/DevSummit/201806/HaveNeedWant12" target="_blank" rel="nofollow noopener">Google doc</a> served as a collaborative way of gathering features and things left to do. People signed up for it or were volunteered. Some features won’t make it into 12.0 as they are not 100% ready for prime time and need a few more rounds of testing and bugfixing. Still, 12.0 will have some compelling features.</li>
<li><a href="https://theta360.com/s/xuR4ogsjGmu584JJju0vUaTA" target="_blank" rel="nofollow noopener">A 360° group picture</a> was taken after lunch, and then people split up into the working groups for the afternoon or started hacking in the UofO Henderson residence.</li>
<li>Benedict and Allan both attended the OpenZFS working group, lead by Matt Ahrens. He presented the completed and outstanding work in FreeBSD, without spoiling too much of the ZFS presentations of various people that happened later at the conference.</li>
<li>Benedict joined the boot code session a bit late (hallway track is the reason) when most things seem to have already been discussed.</li>
<li><a href="https://www.talegraph.com/tales/WmObSRejzT" target="_blank" rel="nofollow noopener">BSDCan 2018 — Ottawa (In Pictures)</a></li>
<li><a href="https://photos.google.com/share/AF1QipPv_eOz9z-e8R23DkSEcMLF9ivl8est0H4k0lkAoIdY0Jgsn4eyKT54fPyy4EukCw?key=RmJoNS1uOHU2djRDdzZxNGM4ZEY1dFVKamhCNThR" target="_blank" rel="nofollow noopener">iXsystems Photos from BSDCan 2018</a></li>
</ul>

<hr>

<p>##News Roundup<br>
###<a href="https://hardenedbsd.org/article/shawn-webb/2018-06-09/june-hardenedbsd-foundation-update" target="_blank" rel="nofollow noopener">June HardenedBSD Foundation Update</a></p>

<blockquote>
<p>We at HardenedBSD are working towards starting up a 501©(3) not-for-profit organization in the USA. Setting up this organization will allow future donations to be tax deductible. We’ve made progress and would like to share with you the current state of affairs.</p>
</blockquote>

<blockquote>
<p>We have identified, sent invitations out, and received acceptance letters from six people who will serve on the HardenedBSD Foundation Board of Directors. You can find their bios below. In the latter half of June 2018 or the beginning half of July 2018, we will meet for the first time as a board and formally begin the process of creating the documentation needed to submit to the local, state, and federal tax services.</p>
</blockquote>

<blockquote>
<p>Here’s a brief introduction to those who will serve on the board:</p>
</blockquote>

<ul>
<li>
<p>W. Dean Freeman (Advisor): Dean has ten years of professional experience with deploying and security Unix and networking systems, including assessing systems security for government certification and assessing the efficacy of security products. He was introduced to Unix via FreeBSD 2.2.8 on an ISP shell account as a teenager. Formerly, he was the Snort port maintainer for FreeBSD while working in the Sourcefire VRT, and has contributed entropy-related patches to the FreeBSD and HardenedBSD projects – a topic on which he presented at vBSDCon 2017.</p>
</li>
<li>
<p>Ben La Monica (Advisor): Ben is a Senior Technology Manager of Software Engineering at Morningstar, Inc and has been developing software for over 15 years in a variety of languages. He advocates open source software and enjoys tinkering with electronics and home automation.</p>
</li>
<li>
<p>George Saylor (Advisor): George is a Technical Directory at G2, Inc. Mr. Saylor has over 28 years of information systems and security experience in a broad range of disciplines. His core focus areas are automation and standards in the event correlation space as well as penetration and exploitation of computer systems. Mr Saylor was also a co-founder of the OpenSCAP project.</p>
</li>
<li>
<p>Virginia Suydan (Accountant and general administrator): Accountant and general administrator for the HardenedBSD Foundation. She has worked with Shawn Webb for tax and accounting purposes for over six years.</p>
</li>
<li>
<p>Shawn Webb (Director): Co-founder of HardenedBSD and all-around infosec wonk. He has worked and played in the infosec industry, doing both offensive and defensive research, for around fifteen years. He loves open source technologies and likes to frustrate the bad guys.</p>
</li>
<li>
<p>Ben Welch (Advisor): Ben is currently a Security Engineer at G2, Inc. He graduated from Pennsylvania College of Technology with a Bachelors in Information Assurance and Security. Ben likes long walks, beaches, candlelight dinners, and attending various conferences like BSides and ShmooCon.</p>
</li>
</ul>

<hr>

<p>###<a href="https://medium.com/@cmacrae/your-own-vpn-with-openiked-openbsd-13d7abd3d1d4" target="_blank" rel="nofollow noopener">Your own VPN with OpenIKED &amp; OpenBSD</a></p>

<blockquote>
<p>Remote connectivity to your home network is something I think a lot of people find desirable. Over the years, I’ve just established an SSH tunnel and use it as a SOCKS proxy, sending my traffic through that. It’s a nice solution for a “poor man’s VPN”, but it can be a bit clunky, and it’s not great having to expose SSH to the world, even if you make sure to lock everything down </p>
</blockquote>

<blockquote>
<p>I set out the other day to finally do it properly. I’d come across this great post by Gordon Turner: <a href="https://blog.gordonturner.com/2018/02/25/openbsd-6-2-vpn-endpoint-for-ios-and-macos/" target="_blank" rel="nofollow noopener">OpenBSD 6.2 VPN Endpoint for iOS and macOS</a></p>
</blockquote>

<blockquote>
<p>Whilst it was exactly what I was looking for, it outlined how to set up an L2TP VPN. Really, I wanted IKEv2 for performance and security reasons (I won’t elaborate on this here, if you’re curious about the differences, there’s a lot of content out on the web explaining this).</p>
</blockquote>

<blockquote>
<p>The client systems I’d be using have native support for IKEv2 (iOS, macOS, other BSD systems). But, I couldn’t find any tutorials in the same vein.</p>
</blockquote>

<blockquote>
<p>So, let’s get stuck in!</p>
</blockquote>

<ul>
<li>A quick note ✍️</li>
</ul>

<blockquote>
<p>This guide will walk through the set up of an IKEv2 VPN using OpenIKED on OpenBSD. It will detail a “road warrior” configuration, and use a PSK (pre-shared-key) for authentication. I’m sure it can be easily adapted to work on any other platforms that OpenIKED is available on, but keep in mind my steps are specifically for OpenBSD.</p>
</blockquote>

<ul>
<li>Server Configuration</li>
</ul>

<blockquote>
<p>As with all my home infrastructure, I crafted this set-up declaratively. So, I had the deployment of the VM setup in Terraform (deployed on my private Triton cluster), and wrote the configuration in Ansible, then tied them together using radekg/terraform-provisioner-ansible.</p>
</blockquote>

<blockquote>
<p>One of the reasons I love Ansible is that its syntax is very simplistic, yet expressive. As such, I feel it fits very well into explaining these steps with snippets of the playbook I wrote.  I’ll link the full playbook a bit further down for those interested.</p>
</blockquote>

<ul>
<li>See the full article for the information on:</li>
<li>sysctl parameters</li>
<li>The naughty list (optional)</li>
<li>Configure the VPN network interface</li>
<li>Configure the firewall</li>
<li>Configure the iked service</li>
<li>Gateway configuration</li>
<li>Client configuration</li>
<li>Troubleshooting</li>
</ul>

<hr>

<p><strong>DigitalOcean</strong></p>

<p>###<a href="https://corrupted.io/2018/05/15/system76-free-bsd.html" target="_blank" rel="nofollow noopener">FreeBSD on a System76 Galago Pro</a></p>

<blockquote>
<p>Hey all, It’s been a while since I last posted but I thought I would hammer something out here. My most recent purchase was a System76 Galago Pro. I thought, afer playing with POP! OS a bit, is there any reason I couldn’t get BSD on this thing. Turns out the answer is no, no there isnt and it works pretty decently.</p>
</blockquote>

<blockquote>
<p>To get some accounting stuff out of the way I tested this all on FreeBSD Head and 11.1, and all of it is valid as of May 10, 2018. Head is a fast moving target so some of this is only bound to improve.</p>
</blockquote>

<ul>
<li>
<p>The hardware</p>
</li>
<li>
<p>Intel Core i5 Gen 8</p>
</li>
<li>
<p>UHD Graphics 620</p>
</li>
<li>
<p>16 GB DDR4 Ram</p>
</li>
<li>
<p>RTL8411B PCI Express Card Reader</p>
</li>
<li>
<p>RTL8111 Gigabit ethernet controller</p>
</li>
<li>
<p>Intel HD Audio</p>
</li>
<li>
<p>Samsung SSD 960 PRO 512GB NVMe</p>
</li>
<li>
<p>The caveats</p>
</li>
</ul>

<blockquote>
<p>There are a few things that I cant seem to make work straight out of the box, and that is the SD Card reader, the backlight, and the audio is a bit finicky. Also the trackpad doesn’t respond to two finger scrolling. The wiki is mostly up to date, there are a few edits that need to be made still but there is a bug where I cant register an account yet so I haven’t made all the changes.</p>
</blockquote>

<ul>
<li>Processor</li>
</ul>

<blockquote>
<p>It works like any other Intel processor. Pstates and throttling work.</p>
</blockquote>

<ul>
<li>Graphics</li>
</ul>

<blockquote>
<p>The boot menu sets itself to what looks like 1024x768, but works as you expect in a tiny window. The text console does the full 3200x1800 resolution, but the text is ultra tiny. There isnt a font for the console that covers hidpi screens yet. As for X Windows it requres the drm-kmod-next package. Once installed follow the directions from the package and it works with almost no fuss. I have it running on X with full intel acceleration, but it is running at it’s full 3200x1800 resolution, to scale that down just do xrandr --output eDP-1 --scale 0.5x0.5 it will blow it up to roughly 200%. Due to limitations with X windows and hidpi it is harder to get more granular.</p>
</blockquote>

<ul>
<li>Intel Wireless 8265</li>
</ul>

<blockquote>
<p>The wireless uses the iwm module, as of right now it does not seem to automagically load right now. Adding iwm_load=“YES” will cause the module to load on boot and kldload iwm</p>
</blockquote>

<ul>
<li>Battery</li>
</ul>

<blockquote>
<p>I seem to be getting about 5 hours out of the battery, but everything reports out of the box as expected. I could get more by throttling the CPU down speed wise.</p>
</blockquote>

<ul>
<li>Overall impression</li>
</ul>

<blockquote>
<p>It is a pretty decent experience. While not as polished as a Thinkpad there is a lot of potential with a bit of work and polishing. The laptop itself is not bad, the keyboard is responsive. The build quality is pretty solid. My only real complaint is the trackpad is stiff to click and sort of tiny. They seem to be a bit indifferent to non linux OSes running on the gear but that isnt anything new. I wont have any problems using it and is enough that when I work through this laptop, but I’m not sure at this stage if my next machine will be a System76 laptop, but they have impressed me enough to put them in the running when I go to look for my next portable machine but it hasn’t yet replaced the hole left in my heart by lenovo messing with the thinkpad.</p>
</blockquote>

<hr>

<p>###<a href="https://undeadly.org/cgi?action=article;sid=20180418073437" target="_blank" rel="nofollow noopener">Hardware accelerated AES/HMAC-SHA on octeons</a></p>

<pre><code>In this commit, visa@ submitted code (disabled for now) to use built-in acceleration on octeon CPUs, much like AESNI for x86s.

I decided to test tcpbench(1) and IPsec, before and after updating and enabling the octcrypto(4) driver.

I didn't capture detailed perf stats from before the update, I had heard someone say that Edgerouter Lite boxes would only do some 6MBit/s over ipsec, so I set up a really simple ipsec.conf with ike esp from A to B leading to a policy of

esp tunnel from A to B spi 0xdeadbeef auth hmac-sha2-256 enc aes
going from one ERL to another (I collect octeons, so I have a bunch to test with) and let tcpbench run for a while on it. My numbers hovered around 7Mbit/s, which coincided with what I've heard, and also that most of the CPU gets used while doing it.
Then I edited /sys/arch/octeon/conf/GENERIC, removed the # from octcrypto0 at mainbus0 and recompiled. Booted into the new kernel and got a octcrypto0 line in dmesg, and it was time to rock the ipsec tunnel again. The crypto algorithm and HMAC used by default on ipsec coincides nicely with the list of accelerated functions provided by the driver.

Before we get to tunnel traffic numbers, just one quick look at what systat pigs says while the ipsec is running at full steam:

     PID USER        NAME                 CPU     20\    40\    60\    80\  100\
   58917 root        crypto             52.25 #################
   42636 root        softnet            42.48 ##############
                     (idle)             29.74 #########
    1059 root        tcpbench           24.22 #######
   67777 root        crynlk             19.58 ######
So this indicates that the load from doing ipsec and generating the traffic is somewhat nicely evened out over the two cores in the Edgerouter, and there's even some CPU left unused, which means I can actually ssh into it and have it usable. I have had it running for almost 2 days now, moving some 2.1TB over the tunnel.
Now for the new and improved performance numbers:

   204452123        4740752       37.402  100.00% 
Conn:   1 Mbps:       37.402 Peak Mbps:       58.870 Avg Mbps:       37.402
   204453149        4692968       36.628  100.00% 
Conn:   1 Mbps:       36.628 Peak Mbps:       58.870 Avg Mbps:       36.628
   204454167        5405552       42.480  100.00% 
Conn:   1 Mbps:       42.480 Peak Mbps:       58.870 Avg Mbps:       42.480
   204455188        5202496       40.804  100.00% 
Conn:   1 Mbps:       40.804 Peak Mbps:       58.870 Avg Mbps:       40.804
   204456194        5062208       40.256  100.00% 
Conn:   1 Mbps:       40.256 Peak Mbps:       58.870 Avg Mbps:       40.256

The tcpbench numbers fluctuate up and down a bit, but the output is nice enough to actually keep tabs on the peak values. Peaking to 58.8MBit/s! Of course, as you can see, the average is lower but nice anyhow.

A manyfold increase in performance, which is good enough in itself, but also moves the throughput from a speed that would make a poor but cheap gateway to something actually useful and decent for many home network speeds. Biggest problem after this gets enabled will be that my options to buy cheap used ERLs diminish.
</code></pre>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="http://www.etinc.com/122/Using-FreeBSD-Text-Dumps" target="_blank" rel="nofollow noopener">Using FreeBSD Text Dumps</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=334391" target="_blank" rel="nofollow noopener">llvm’s lld now the default linker for amd64 on FreeBSD</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3194" target="_blank" rel="nofollow noopener">Author Discoverability</a></li>
<li><a href="https://www.openbsd.org/papers/BeckPledgeUnveilBSDCan2018.pdf" target="_blank" rel="nofollow noopener">Pledge and Unveil in OpenBSD {pdf}</a></li>
<li><a href="https://2018.eurobsdcon.org/call-for-papers/" target="_blank" rel="nofollow noopener">EuroBSDCon 2018 CFP Closes June 17, hurry up and get your submissions in</a></li>
<li><a href="https://2018.eurobsdcon.org/paul-schenkeveld-travel-grant/" target="_blank" rel="nofollow noopener">Just want to attend, but need help getting to the conference? Applications for the Paul Schenkeveld travel grant accepted until June 15th</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>Casey - <a href="http://dpaste.com/2H42V7W#wrap" target="_blank" rel="nofollow noopener">ZFS on Digital Ocean</a></li>
<li>Jürgen - <a href="http://dpaste.com/3N7ZN8C#wrap" target="_blank" rel="nofollow noopener">A Question</a></li>
<li>Kevin - <a href="http://dpaste.com/231CY5Z#wrap" target="_blank" rel="nofollow noopener">Failover best practice</a></li>
<li>Dennis - <a href="http://dpaste.com/1QPNB25#wrap" target="_blank" rel="nofollow noopener">SQL</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 249: Router On A Stick | BSD Now 249</title>
  <link>https://www.bsdnow.tv/249</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2072</guid>
  <pubDate>Wed, 06 Jun 2018 14:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9447bcc4-4425-4ae0-bc1e-0fb13362e0e2.mp3" length="51237875" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenZFS and DTrace updates in NetBSD, NetBSD network security stack audit, Performance of MySQL on ZFS, OpenSMTP results from p2k18, legacy Windows backup to FreeNAS, ZFS block size importance, and NetBSD as router on a stick.</itunes:subtitle>
  <itunes:duration>1:25:17</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>&lt;p&gt;OpenZFS and DTrace updates in NetBSD, NetBSD network security stack audit, Performance of MySQL on ZFS, OpenSMTP results from p2k18, legacy Windows backup to FreeNAS, ZFS block size importance, and NetBSD as router on a stick.&lt;br&gt;
&lt;/p&gt;&lt;hr&gt;

&lt;p&gt;##Headlines&lt;br&gt;
###&lt;a href="https://mail-index.netbsd.org/source-changes/2018/05/28/msg095541.html" target="_blank" rel="nofollow noopener"&gt;ZFS and DTrace update lands in NetBSD&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;merge a new version of the CDDL dtrace and ZFS code. This changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;r315983 is from March 2017 (14 months ago), so there is still more work to do&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;dtrace FBT probes can now be placed in kernel modules.&lt;/li&gt;
&lt;li&gt;ZFS now supports mmap().&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This brings NetBSD 10 years forward, and they should be able to catch the rest of the way up fairly quickly&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://blog.netbsd.org/tnf/entry/network_security_audit" target="_blank" rel="nofollow noopener"&gt;NetBSD network stack security audit&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Maxime Villard has been working on an audit of the NetBSD network stack, a project sponsored by The NetBSD Foundation, which has served all users of BSD-derived operating systems.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Over the last five months, hundreds of patches were committed to the source tree as a result of this work. Dozens of bugs were fixed, among which a good number of actual, remotely-triggerable vulnerabilities.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Changes were made to strengthen the networking subsystems and improve code quality: reinforce the mbuf API, add many KASSERTs to enforce assumptions, simplify packet handling, and verify compliance with RFCs. This was done in several layers of the NetBSD kernel, from device drivers to L4 handlers.&lt;br&gt;
In the course of investigating several bugs discovered in NetBSD, I happened to look at the network stacks of other operating systems, to see whether they had already fixed the issues, and if so how. Needless to say, I found bugs there too.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A lot of code is shared between the BSDs, so it is especially helpful when one finds a bug, to check the other BSDs and share the fix.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The IPv6 Buffer Overflow: The overflow allowed an attacker to write one byte of packet-controlled data into ‘packet_storage+off’, where ‘off’ could be approximately controlled too. This allowed at least a pretty bad remote DoS/Crash&lt;br&gt;
The IPsec Infinite Loop: When receiving an IPv6-AH packet, the IPsec entry point was not correctly computing the length of the IPv6 suboptions, and this, before authentication. As a result, a specially-crafted IPv6 packet could trigger an infinite loop in the kernel (making it unresponsive). In addition this flaw allowed a limited buffer overflow - where the data being written was however not controllable by the attacker.&lt;br&gt;
The IPPROTO Typo: While looking at the IPv6 Multicast code, I stumbled across a pretty simple yet pretty bad mistake: at one point the Pim6 entry point would return IPPROTO_NONE instead of IPPROTO_DONE. Returning IPPROTO_NONE was entirely wrong: it caused the kernel to keep iterating on the IPv6 packet chain, while the packet storage was already freed.&lt;br&gt;
The PF Signedness Bug: A bug was found in NetBSD’s implementation of the PF firewall, that did not affect the other BSDs. In the initial PF code a particular macro was used as an alias to a number. This macro formed a signed integer. NetBSD replaced the macro with a sizeof(), which returns an unsigned result.&lt;br&gt;
The NPF Integer Overflow: An integer overflow could be triggered in NPF, when parsing an IPv6 packet with large options. This could cause NPF to look for the L4 payload at the wrong offset within the packet, and it allowed an attacker to bypass any L4 filtering rule on IPv6.&lt;br&gt;
The IPsec Fragment Attack: I noticed some time ago that when reassembling fragments (in either IPv4 or IPv6), the kernel was not removing the M_PKTHDR flag on the secondary mbufs in mbuf chains. This flag is supposed to indicate that a given mbuf is the head of the chain it forms; having the flag on secondary mbufs was suspicious.&lt;br&gt;
What Now: Not all protocols and layers of the network stack were verified, because of time constraints, and also because of unexpected events: the recent x86 CPU bugs, which I was the only one able to fix promptly. A todo list will be left when the project end date is reached, for someone else to pick up. Me perhaps, later this year? We’ll see.&lt;br&gt;
This security audit of NetBSD’s network stack is sponsored by The NetBSD Foundation, and serves all users of BSD-derived operating systems. The NetBSD Foundation is a non-profit organization, and welcomes any donations that help continue funding projects of this kind.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;DigitalOcean&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://www.percona.com/blog/2018/05/15/about-zfs-performance/" target="_blank" rel="nofollow noopener"&gt;MySQL on ZFS Performance&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I used sysbench to create a table of 10M rows and then, using export/import tablespace, I copied it 329 times. I ended up with 330 tables for a total size of about 850GB. The dataset generated by sysbench is not very compressible, so I used lz4 compression in ZFS. For the other ZFS settings, I used what can be found in my earlier ZFS posts but with the ARC size limited to 1GB. I then used that plain configuration for the first benchmarks. Here are the results with the sysbench point-select benchmark, a uniform distribution and eight threads. The InnoDB buffer pool was set to 2.5GB.&lt;br&gt;
In both cases, the load is IO bound. The disk is doing exactly the allowed 3000 IOPS. The above graph appears to be a clear demonstration that XFS is much faster than ZFS, right? But is that really the case? The way the dataset has been created is extremely favorable to XFS since there is absolutely no file fragmentation. Once you have all the files opened, a read IOP is just a single fseek call to an offset and ZFS doesn’t need to access any intermediate inode. The above result is about as fair as saying MyISAM is faster than InnoDB based only on table scan performance results of unfragmented tables and default configuration. ZFS is much less affected by the file level fragmentation, especially for point access type.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;ZFS stores the files in B-trees in a very similar fashion as InnoDB stores data. To access a piece of data in a B-tree, you need to access the top level page (often called root node) and then one block per level down to a leaf-node containing the data. With no cache, to read something from a three levels B-tree thus requires 3 IOPS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The extra IOPS performed by ZFS are needed to access those internal blocks in the B-trees of the files. These internal blocks are labeled as metadata. Essentially, in the above benchmark, the ARC is too small to contain all the internal blocks of the table files’ B-trees. If we continue the comparison with InnoDB, it would be like running with a buffer pool too small to contain the non-leaf pages. The test dataset I used has about 600MB of non-leaf pages, about 0.1% of the total size, which was well cached by the 3GB buffer pool. So only one InnoDB page, a leaf page, needed to be read per point-select statement.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;To correctly set the ARC size to cache the metadata, you have two choices. First, you can guess values for the ARC size and experiment. Second, you can try to evaluate it by looking at the ZFS internal data. Let’s review these two approaches.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;You’ll read/hear often the ratio 1GB of ARC for 1TB of data, which is about the same 0.1% ratio as for InnoDB. I wrote about that ratio a few times, having nothing better to propose. Actually, I found it depends a lot on the recordsize used. The 0.1% ratio implies a ZFS recordsize of 128KB. A ZFS filesystem with a recordsize of 128KB will use much less metadata than another one using a recordsize of 16KB because it has 8x fewer leaf pages. Fewer leaf pages require less B-tree internal nodes, hence less metadata. A filesystem with a recordsize of 128KB is excellent for sequential access as it maximizes compression and reduces the IOPS but it is poor for small random access operations like the ones MySQL/InnoDB does.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In order to improve ZFS performance, I had 3 options:&lt;/li&gt;
&lt;li&gt;Increase the ARC size to 7GB&lt;/li&gt;
&lt;li&gt;Use a larger Innodb page size like 64KB&lt;/li&gt;
&lt;li&gt;Add a L2ARC&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I was reluctant to grow the ARC to 7GB, which was nearly half the overall system memory. At best, the ZFS performance would only match XFS. A larger InnoDB page size would increase the CPU load for decompression on an instance with only two vCPUs; not great either. The last option, the L2ARC, was the most promising.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;ZFS is much more complex than XFS and EXT4 but, that also means it has more tunables/options. I used a simplistic setup and an unfair benchmark which initially led to poor ZFS results. With the same benchmark, very favorable to XFS, I added a ZFS L2ARC and that completely reversed the situation, more than tripling the ZFS results, now 66% above XFS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We have seen in this post why the general perception is that ZFS under-performs compared to XFS or EXT4. The presence of B-trees for the files has a big impact on the amount of metadata ZFS needs to handle, especially when the recordsize is small. The metadata consists mostly of the non-leaf pages (or internal nodes) of the B-trees. When properly cached, the performance of ZFS is excellent. ZFS allows you to optimize the use of EBS volumes, both in term of IOPS and size when the instance has fast ephemeral storage devices. Using the ephemeral device of an i3.large instance for the ZFS L2ARC, ZFS outperformed XFS by 66%.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://poolp.org/posts/2018-04-30/opensmtpd-new-config/" target="_blank" rel="nofollow noopener"&gt;OpenSMTPD new config&lt;/a&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;TL;DR:
OpenBSD #p2k18 hackathon took place at Epitech in Nantes.
I was organizing the hackathon but managed to make progress on OpenSMTPD.
As mentioned at EuroBSDCon the one-line per rule config format was a design error.
A new configuration grammar is almost ready and the underlying structures are simplified.
Refactor removes ~750 lines of code and solves _many_ issues that were side-effects of the design error.
New features are going to be unlocked thanks to this.
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Anatomy of a design error&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenSMTPD started ten years ago out of dissatisfaction with other solutions, mainly because I considered them way too complex for me not to get things wrong from time to time.&lt;br&gt;
The initial configuration format was very different, I was inspired by pyr@’s hoststated, which eventually became relayd, and designed my configuration format with blocks enclosed by brackets.&lt;br&gt;
When I first showed OpenSMTPD to pyr@, he convinced me that PF-like one-line rules would be awesome, and it was awesome indeed.&lt;br&gt;
It helped us maintain our goal of simple configuration files, it helped fight feature creeping, it helped us gain popularity and become a relevant MTA, it helped us get where we are now 10 years later.&lt;br&gt;
That being said, I believe this was a design error. A design error that could not have been predicted until we hit the wall to understand WHY this was an error. One-line rules are semantically wrong, they are SMTP wrong, they are wrong.&lt;br&gt;
One-line rules are making the entire daemon more complex, preventing some features from being implemented, making others more complex than they should be, they no longer serve our goals.&lt;br&gt;
To get to the point: we should move to two-line rules :-)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Anatomy of a design error&lt;br&gt;
OpenSMTPD started ten years ago out of dissatisfaction with other solutions, mainly because I considered them way too complex for me not to get things wrong from time to time.&lt;/p&gt;

&lt;p&gt;The initial configuration format was very different, I was inspired by pyr@’s hoststated, which eventually became relayd, and designed my configuration format with blocks enclosed by brackets.&lt;/p&gt;

&lt;p&gt;When I first showed OpenSMTPD to pyr@, he convinced me that PF-like one-line rules would be awesome, and it was awesome indeed.&lt;/p&gt;

&lt;p&gt;It helped us maintain our goal of simple configuration files, it helped fight feature creeping, it helped us gain popularity and become a relevant MTA, it helped us get where we are now 10 years later.&lt;/p&gt;

&lt;p&gt;That being said, I believe this was a design error. A design error that could not have been predicted until we hit the wall to understand WHY this was an error. One-line rules are semantically wrong, they are SMTP wrong, they are wrong.&lt;/p&gt;

&lt;p&gt;One-line rules are making the entire daemon more complex, preventing some features from being implemented, making others more complex than they should be, they no longer serve our goals.&lt;/p&gt;

&lt;p&gt;To get to the point: we should move to two-line rules :-)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The problem with one-line rules&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenSMTPD decides to accept or reject messages based on one-line rules such as:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;accept from any for domain poolp.org deliver to mbox&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Which can essentially be split into three units:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;the decision: accept/reject&lt;/li&gt;
&lt;li&gt;the matching: from any for domain &lt;a href="http://poolp.org" target="_blank" rel="nofollow noopener"&gt;poolp.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;the (default) action: deliver to mbox&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;To ensure that we meet the requirements of the transactions, the matching must be performed during the SMTP transaction before we take a decision for the recipient.&lt;br&gt;
Given that the rule is atomic, that it doesn’t have an identifier and that the action is part of it, the two only ways to make sure we can remember the action to take later on at delivery time is to either:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;save the action in the envelope, which is what we do today&lt;/li&gt;
&lt;li&gt;evaluate the envelope again at delivery&lt;/li&gt;
&lt;li&gt;And this this where it gets tricky… both solutions are NOT ok.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The first solution, which we’ve been using for a decade, was to save the action within the envelope and kind of carve it in stone. This works fine… however it comes with the downsides that errors fixed in configuration files can’t be caught up by envelopes, that delivery action must be validated way ahead of time during the SMTP transaction which is much trickier, that the parsing of delivery methods takes place as the _smtpd user rather than the recipient user, and that envelope structures that are passed all over OpenSMTPD carry delivery-time informations, and more, and more, and more. The code becomes more complex in general, less safe in some particular places, and some areas are nightmarish to deal with because they have to deal with completely unrelated code that can’t be dealt with later in the code path.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The second solution can’t be done. An envelope may be the result of nested rules, for example an external client, hitting an alias, hitting a user with a .forward file resolving to a user. An envelope on disk may no longer match any rule or it may match a completely different rule If we could ensure that it matched the same rule, evaluating the ruleset may spawn new envelopes which would violate the transaction. Trying to imagine how we could work around this leads to more and more and more RFC violations, incoherent states, duplicate mails, etc…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;There is simply no way to deal with this with atomic rules, the matching and the action must be two separate units that are evaluated at two different times, failure to do so will necessarily imply that you’re either using our first solution and all its downsides, or that you are currently in a world of pain trying to figure out why everything is burning around you. The minute the action is written to an on-disk envelope, you have failed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;A proper ruleset must define a set of matching patterns resolving to an action identifier that is carved in stone, AND a set of named action set that is resolved dynamically at delivery time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Follow the link above to see the rest of the article&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Break&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;##News Roundup&lt;br&gt;
###&lt;a href="http://fortysomethinggeek.blogspot.com/2012/09/legacy-windows-rsync-backup-to-freenas.html" target="_blank" rel="nofollow noopener"&gt;Backing up a legacy Windows machine to a FreeNAS with rsync&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I have some old Windows servers (10 years and counting) and I have been using rsync to back them up to my FreeNAS box. It has been working great for me.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;First of all, I do have my Windows servers backup in virtualized format. However, those are only one-time snapshops that I run once in a while. These are classic ASP IIS web servers that I can easily put up on a new VM. However, many of these legacy servers generate gigabytes of data a day in their repositories. Running VM conversion daily is not ideal.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;My solution was to use some sort of rsync solution just for the data repos. I’ve tried some applications that didn’t work too well with Samba shares and these old servers have slow I/O. Copying files to external sata or usb drive was not ideal. We’ve moved on from Windows to Linux and do not have any Windows file servers of capacity to provide network backups.  Hence, I decided to use Delta Copy with FreeNAS. So here is a little write up on how to set it up. I have 4 Windows 2000 servers backing up daily with this method.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;First, download Delta Copy and install it. It is open-source and pretty much free. It is basically a wrapper for cygwin’s rsync. When you install it, it will ask you to install the Server services which allows you to run it as a Rsync server on Windows. You don’t need to do this. Instead, you will be just using the Delta Copy Client application. But before we do that, we will need to configure our Rsync service for our Windows Clients on FreeNAS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In FreeNAS, go under Services , Select Rsync &amp;gt;  Rsync Modules &amp;gt; Add Rsync Module.&lt;/li&gt;
&lt;li&gt;Then fill out the form; giving the module a name and set the path. In my example, I simply called it WIN and linked it to a user called backupuser.&lt;/li&gt;
&lt;li&gt;This process is much easier than trying to configure the daemon rsyncd.conf file by hand.&lt;/li&gt;
&lt;li&gt;Now, on the Windows Client, start the DeltaCopy Client. You will create a new Profile.&lt;/li&gt;
&lt;li&gt;You will need to enter the IP of the Rsync server (FreeNAS) and specify the module name which will be called “Virtual Directory Name.”  When you pull the select menu, the list of Rsync Modules you created earlier in FreeNAS will populate.&lt;/li&gt;
&lt;li&gt;You can set authentication. On the server, you can restrict by IP and do other things to lock down your rsync.&lt;/li&gt;
&lt;li&gt;Next, you will add folders (and/or files) you want to synchronize.&lt;/li&gt;
&lt;li&gt;Once the paths are set up, you can run a sync by right clicking the profile name.&lt;/li&gt;
&lt;li&gt;Here, I made a test sync to a home folder of a virtualized windows box. As you can see, I mounted the rsync volume on my mac to see the progress. The rsync worked beautifully. DeltaCopy did what it was told.&lt;/li&gt;
&lt;li&gt;Once you get everything working. The next thing to do is set schedules. If you done tasks schedules in Windows before, it is pretty straightforward. DeltaCopy has a link in the application to directly create a new task for you. I set my backups to run nightly and it has been working great.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There you have it. Windows rsync to FreeNAS using DeltaCopy.&lt;br&gt;
The nice thing about FreeNAS is you don’t have to modify /etc/rsyncd.conf files. Everything can be done in the web admin.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;###&lt;a href="https://r3xnation.wordpress.com/2018/04/10/how-to-write-atf-tests-for-netbsd/amp/" target="_blank" rel="nofollow noopener"&gt;How to write ATF tests for NetBSD&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I have recently started contributing to the amazing NetBSD foundation. I was thinking of trying out a new OS for a long time. Switching to the NetBSD OS has been a fun change.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;My first contribution to the NetBSD foundation was adding regression tests for the Address Sanitizer (ASan) in the Automated Testing Framework(ATF) which NetBSD has. I managed to complete it with the help of my really amazing mentor Kamil. This post is gonna be about the ATF framework that NetBSD has and how to you can add multiple tests with ease.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Intro&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In ATF tests we will basically be talking about test programs which are a suite of test cases for a specific application or program.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The ATF suite of Commands&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There are a variety of commands that the atf suite offers. These include :&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;atf-check: The versatile command that is a vital part of the checking process. man page&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;atf-run: Command used to run a test program. man page&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;atf-fail: Report failure of a test case.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;atf-report: used to pretty print the atf-run. man page&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;atf-set: To set atf test conditions.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;We will be taking a better look at the syntax and usage later.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Let’s start with the Basics&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The ATF testing framework comes preinstalled with a default NetBSD installation. It is used to write tests for various applications and commands in NetBSD.  One can write the Test programs in either the C language or in shell script. In this post I will be dealing with the Bash part.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Follow the link above to see the rest of the article&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="http://brian.candler.me/posts/the-importance-of-zfs-blocksize/" target="_blank" rel="nofollow noopener"&gt;The Importance of ZFS Block Size&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Warning! WARNING! Don’t just do things because some random blog says so&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;One of the important tunables in ZFS is the recordsize (for normal datasets) and volblocksize (for zvols). These default to 128KB and 8KB respectively.&lt;br&gt;
As I understand it, this is the unit of work in ZFS. If you modify one byte in a large file with the default 128KB record size, it causes the whole 128KB to be read in, one byte to be changed, and a new 128KB block to be written out.&lt;br&gt;
As a result, the official recommendation is to use a block size which aligns with the underlying workload: so for example if you are using a database which reads and writes 16KB chunks then you should use a 16KB block size, and if you are running VMs containing an ext4 filesystem, which uses a 4KB block size, you should set a 4KB block size&lt;br&gt;
You can see it has a 16GB total file size, of which 8.5G has been touched and consumes space - that is, it’s a “sparse” file. The used space is also visible by looking at the zfs filesystem which this file resides in&lt;br&gt;
Then I tried to copy the image file whilst maintaining its “sparseness”, that is, only touching the blocks of the zvol which needed to be touched. The original used only 8.42G, but the copy uses 14.6GB - almost the entire 16GB has been touched! What’s gone wrong?&lt;br&gt;
I finally realised that the difference between the zfs filesystem and the zvol is the block size. I recreated the zvol with a 128K block size&lt;br&gt;
That’s better. The disk usage of the zvol is now exactly the same as for the sparse file in the filesystem dataset&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It does impact the read speed too. 4K blocks took 5:52, and 128K blocks took 3:20&lt;/li&gt;
&lt;li&gt;Part of this is the amount of metadata that has to be read, see the MySQL benchmarks from earlier in the show&lt;/li&gt;
&lt;li&gt;And yes, using a larger block size will increase the compression efficiency, since the compressor has more redundant data to optimize.&lt;/li&gt;
&lt;li&gt;Some of the savings, and the speedup is because a lot less metadata had to be written&lt;/li&gt;
&lt;li&gt;Your zpool layout also plays a big role, if you use 4Kn disks, and RAID-Z2, using a volblocksize of 8k will actually result in a large amount of wasted space because of RAID-Z padding. Although, if you enable compression, your 8k records may compress to only 4k, and then all the numbers change again.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;###&lt;a href="https://www.fukr.org.uk/?p=184" target="_blank" rel="nofollow noopener"&gt;Using a Raspberry Pi 2 as a Router on a Stick Starring NetBSD&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sorry we didn’t answer you quickly enough&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A few weeks ago I set about upgrading my feeble networking skills by playing around with a Cisco 2970 switch. I set up a couple of VLANs and found the urge to set up a router to route between them. The 2970 isn’t a modern layer 3 switch so what am I to do?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Why not make use of the Raspberry Pi 2 that I’ve never used and put it to some good use as a ‘router on a stick’.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I could install a Linux based OS as I am quite familiar with it but where’s the fun in that? In my home lab I use SmartOS which by the way is a shit hot hypervisor but as far as I know there aren’t any Illumos distributions for the Raspberry Pi. On the desktop I use Solus OS which is by far the slickest Linux based OS that I’ve had the pleasure to use but Solus’ focus is purely desktop. It’s looking like BSD then!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;I believe FreeBSD is renowned for it’s top notch networking stack and so I wrote to the BSDNow show on Jupiter Broadcasting for some help but it seems that the FreeBSD chaps from the show are off on a jolly to some BSD conference or another(love the show by the way).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;It looks like me and the luvverly NetBSD are on a date this Saturday. I’ve always had a secret love for NetBSD. She’s a beautiful, charming and promiscuous lover(looking at the supported architectures) and I just can’t stop going back to her despite her misgivings(ahem, zfs). Just my type of grrrl!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;Let’s crack on…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Follow the link above to see the rest of the article&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;##Beastie Bits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.bsdjobs.com/" target="_blank" rel="nofollow noopener"&gt;BSD Jobs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-jobs/2018-May/000944.html" target="_blank" rel="nofollow noopener"&gt;University of Aberdeen’s Internet Transport Research Group is hiring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/YnNpgtjrM9U" target="_blank" rel="nofollow noopener"&gt;VR demo on OpenBSD via OpenHMD with OSVR HDK2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://rachelbythebay.com/w/2018/04/05/bangpatch/" target="_blank" rel="nofollow noopener"&gt;patch runs ed, and ed can run anything (mentions FreeBSD and OpenBSD)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jwilm/alacritty/blob/master/README.md" target="_blank" rel="nofollow noopener"&gt;Alacritty (OpenGL-powered terminal emulator) now supports OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180413065457" target="_blank" rel="nofollow noopener"&gt;MAP_STACK Stack Register Checking Committed to -current&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2018.eurobsdcon.org/call-for-papers/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon CfP till June 17, 2018&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;##Feedback/Questions&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NeutronDaemon - &lt;a href="http://dpaste.com/3E0SR5Y#wrap" target="_blank" rel="nofollow noopener"&gt;Tutorial request&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kurt - &lt;a href="http://dpaste.com/01CWKM5#wrap" target="_blank" rel="nofollow noopener"&gt;Question about transferability/bi-directionality of ZFS snapshots and send/receive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Peter - &lt;a href="http://dpaste.com/3N1BGQF#wrap" target="_blank" rel="nofollow noopener"&gt;A Question and much love for BSD Now&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Peter - &lt;a href="http://dpaste.com/20R2DTG" target="_blank" rel="nofollow noopener"&gt;netgraph state&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd,openbsd,netbsd,dragonflybsd,trueos,tutorial,howto,guide,bsd,interview,dtrace,sysbench,InnoDB,OpenSMTPD,samba,rsync,ATF tests,raspberry pi 2</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenZFS and DTrace updates in NetBSD, NetBSD network security stack audit, Performance of MySQL on ZFS, OpenSMTP results from p2k18, legacy Windows backup to FreeNAS, ZFS block size importance, and NetBSD as router on a stick.<br>
</p><hr>

<p>##Headlines<br>
###<a href="https://mail-index.netbsd.org/source-changes/2018/05/28/msg095541.html" target="_blank" rel="nofollow noopener">ZFS and DTrace update lands in NetBSD</a></p>

<blockquote>
<p>merge a new version of the CDDL dtrace and ZFS code. This changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.</p>
</blockquote>

<ul>
<li>r315983 is from March 2017 (14 months ago), so there is still more work to do</li>
</ul>

<blockquote>
<p>in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements:</p>
<ul>
<li>dtrace FBT probes can now be placed in kernel modules.</li>
<li>ZFS now supports mmap().</li>
</ul>
</blockquote>

<ul>
<li>This brings NetBSD 10 years forward, and they should be able to catch the rest of the way up fairly quickly</li>
</ul>

<hr>

<p>###<a href="https://blog.netbsd.org/tnf/entry/network_security_audit" target="_blank" rel="nofollow noopener">NetBSD network stack security audit</a></p>

<ul>
<li>Maxime Villard has been working on an audit of the NetBSD network stack, a project sponsored by The NetBSD Foundation, which has served all users of BSD-derived operating systems.</li>
</ul>

<blockquote>
<p>Over the last five months, hundreds of patches were committed to the source tree as a result of this work. Dozens of bugs were fixed, among which a good number of actual, remotely-triggerable vulnerabilities.</p>
</blockquote>

<blockquote>
<p>Changes were made to strengthen the networking subsystems and improve code quality: reinforce the mbuf API, add many KASSERTs to enforce assumptions, simplify packet handling, and verify compliance with RFCs. This was done in several layers of the NetBSD kernel, from device drivers to L4 handlers.<br>
In the course of investigating several bugs discovered in NetBSD, I happened to look at the network stacks of other operating systems, to see whether they had already fixed the issues, and if so how. Needless to say, I found bugs there too.</p>
</blockquote>

<ul>
<li>A lot of code is shared between the BSDs, so it is especially helpful when one finds a bug, to check the other BSDs and share the fix.</li>
</ul>

<blockquote>
<p>The IPv6 Buffer Overflow: The overflow allowed an attacker to write one byte of packet-controlled data into ‘packet_storage+off’, where ‘off’ could be approximately controlled too. This allowed at least a pretty bad remote DoS/Crash<br>
The IPsec Infinite Loop: When receiving an IPv6-AH packet, the IPsec entry point was not correctly computing the length of the IPv6 suboptions, and this, before authentication. As a result, a specially-crafted IPv6 packet could trigger an infinite loop in the kernel (making it unresponsive). In addition this flaw allowed a limited buffer overflow - where the data being written was however not controllable by the attacker.<br>
The IPPROTO Typo: While looking at the IPv6 Multicast code, I stumbled across a pretty simple yet pretty bad mistake: at one point the Pim6 entry point would return IPPROTO_NONE instead of IPPROTO_DONE. Returning IPPROTO_NONE was entirely wrong: it caused the kernel to keep iterating on the IPv6 packet chain, while the packet storage was already freed.<br>
The PF Signedness Bug: A bug was found in NetBSD’s implementation of the PF firewall, that did not affect the other BSDs. In the initial PF code a particular macro was used as an alias to a number. This macro formed a signed integer. NetBSD replaced the macro with a sizeof(), which returns an unsigned result.<br>
The NPF Integer Overflow: An integer overflow could be triggered in NPF, when parsing an IPv6 packet with large options. This could cause NPF to look for the L4 payload at the wrong offset within the packet, and it allowed an attacker to bypass any L4 filtering rule on IPv6.<br>
The IPsec Fragment Attack: I noticed some time ago that when reassembling fragments (in either IPv4 or IPv6), the kernel was not removing the M_PKTHDR flag on the secondary mbufs in mbuf chains. This flag is supposed to indicate that a given mbuf is the head of the chain it forms; having the flag on secondary mbufs was suspicious.<br>
What Now: Not all protocols and layers of the network stack were verified, because of time constraints, and also because of unexpected events: the recent x86 CPU bugs, which I was the only one able to fix promptly. A todo list will be left when the project end date is reached, for someone else to pick up. Me perhaps, later this year? We’ll see.<br>
This security audit of NetBSD’s network stack is sponsored by The NetBSD Foundation, and serves all users of BSD-derived operating systems. The NetBSD Foundation is a non-profit organization, and welcomes any donations that help continue funding projects of this kind.</p>
</blockquote>

<hr>

<p><strong>DigitalOcean</strong></p>

<p>###<a href="https://www.percona.com/blog/2018/05/15/about-zfs-performance/" target="_blank" rel="nofollow noopener">MySQL on ZFS Performance</a></p>

<blockquote>
<p>I used sysbench to create a table of 10M rows and then, using export/import tablespace, I copied it 329 times. I ended up with 330 tables for a total size of about 850GB. The dataset generated by sysbench is not very compressible, so I used lz4 compression in ZFS. For the other ZFS settings, I used what can be found in my earlier ZFS posts but with the ARC size limited to 1GB. I then used that plain configuration for the first benchmarks. Here are the results with the sysbench point-select benchmark, a uniform distribution and eight threads. The InnoDB buffer pool was set to 2.5GB.<br>
In both cases, the load is IO bound. The disk is doing exactly the allowed 3000 IOPS. The above graph appears to be a clear demonstration that XFS is much faster than ZFS, right? But is that really the case? The way the dataset has been created is extremely favorable to XFS since there is absolutely no file fragmentation. Once you have all the files opened, a read IOP is just a single fseek call to an offset and ZFS doesn’t need to access any intermediate inode. The above result is about as fair as saying MyISAM is faster than InnoDB based only on table scan performance results of unfragmented tables and default configuration. ZFS is much less affected by the file level fragmentation, especially for point access type.</p>
</blockquote>

<blockquote>
<p>ZFS stores the files in B-trees in a very similar fashion as InnoDB stores data. To access a piece of data in a B-tree, you need to access the top level page (often called root node) and then one block per level down to a leaf-node containing the data. With no cache, to read something from a three levels B-tree thus requires 3 IOPS.</p>
</blockquote>

<blockquote>
<p>The extra IOPS performed by ZFS are needed to access those internal blocks in the B-trees of the files. These internal blocks are labeled as metadata. Essentially, in the above benchmark, the ARC is too small to contain all the internal blocks of the table files’ B-trees. If we continue the comparison with InnoDB, it would be like running with a buffer pool too small to contain the non-leaf pages. The test dataset I used has about 600MB of non-leaf pages, about 0.1% of the total size, which was well cached by the 3GB buffer pool. So only one InnoDB page, a leaf page, needed to be read per point-select statement.</p>
</blockquote>

<blockquote>
<p>To correctly set the ARC size to cache the metadata, you have two choices. First, you can guess values for the ARC size and experiment. Second, you can try to evaluate it by looking at the ZFS internal data. Let’s review these two approaches.</p>
</blockquote>

<blockquote>
<p>You’ll read/hear often the ratio 1GB of ARC for 1TB of data, which is about the same 0.1% ratio as for InnoDB. I wrote about that ratio a few times, having nothing better to propose. Actually, I found it depends a lot on the recordsize used. The 0.1% ratio implies a ZFS recordsize of 128KB. A ZFS filesystem with a recordsize of 128KB will use much less metadata than another one using a recordsize of 16KB because it has 8x fewer leaf pages. Fewer leaf pages require less B-tree internal nodes, hence less metadata. A filesystem with a recordsize of 128KB is excellent for sequential access as it maximizes compression and reduces the IOPS but it is poor for small random access operations like the ones MySQL/InnoDB does.</p>
</blockquote>

<ul>
<li>In order to improve ZFS performance, I had 3 options:</li>
<li>Increase the ARC size to 7GB</li>
<li>Use a larger Innodb page size like 64KB</li>
<li>Add a L2ARC</li>
</ul>

<blockquote>
<p>I was reluctant to grow the ARC to 7GB, which was nearly half the overall system memory. At best, the ZFS performance would only match XFS. A larger InnoDB page size would increase the CPU load for decompression on an instance with only two vCPUs; not great either. The last option, the L2ARC, was the most promising.</p>
</blockquote>

<blockquote>
<p>ZFS is much more complex than XFS and EXT4 but, that also means it has more tunables/options. I used a simplistic setup and an unfair benchmark which initially led to poor ZFS results. With the same benchmark, very favorable to XFS, I added a ZFS L2ARC and that completely reversed the situation, more than tripling the ZFS results, now 66% above XFS.</p>
</blockquote>

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

<blockquote>
<p>We have seen in this post why the general perception is that ZFS under-performs compared to XFS or EXT4. The presence of B-trees for the files has a big impact on the amount of metadata ZFS needs to handle, especially when the recordsize is small. The metadata consists mostly of the non-leaf pages (or internal nodes) of the B-trees. When properly cached, the performance of ZFS is excellent. ZFS allows you to optimize the use of EBS volumes, both in term of IOPS and size when the instance has fast ephemeral storage devices. Using the ephemeral device of an i3.large instance for the ZFS L2ARC, ZFS outperformed XFS by 66%.</p>
</blockquote>

<hr>

<p>###<a href="https://poolp.org/posts/2018-04-30/opensmtpd-new-config/" target="_blank" rel="nofollow noopener">OpenSMTPD new config</a></p>

<pre><code>TL;DR:
OpenBSD #p2k18 hackathon took place at Epitech in Nantes.
I was organizing the hackathon but managed to make progress on OpenSMTPD.
As mentioned at EuroBSDCon the one-line per rule config format was a design error.
A new configuration grammar is almost ready and the underlying structures are simplified.
Refactor removes ~750 lines of code and solves _many_ issues that were side-effects of the design error.
New features are going to be unlocked thanks to this.
</code></pre>

<ul>
<li>Anatomy of a design error</li>
</ul>

<blockquote>
<p>OpenSMTPD started ten years ago out of dissatisfaction with other solutions, mainly because I considered them way too complex for me not to get things wrong from time to time.<br>
The initial configuration format was very different, I was inspired by pyr@’s hoststated, which eventually became relayd, and designed my configuration format with blocks enclosed by brackets.<br>
When I first showed OpenSMTPD to pyr@, he convinced me that PF-like one-line rules would be awesome, and it was awesome indeed.<br>
It helped us maintain our goal of simple configuration files, it helped fight feature creeping, it helped us gain popularity and become a relevant MTA, it helped us get where we are now 10 years later.<br>
That being said, I believe this was a design error. A design error that could not have been predicted until we hit the wall to understand WHY this was an error. One-line rules are semantically wrong, they are SMTP wrong, they are wrong.<br>
One-line rules are making the entire daemon more complex, preventing some features from being implemented, making others more complex than they should be, they no longer serve our goals.<br>
To get to the point: we should move to two-line rules :-)</p>
</blockquote>

<p>Anatomy of a design error<br>
OpenSMTPD started ten years ago out of dissatisfaction with other solutions, mainly because I considered them way too complex for me not to get things wrong from time to time.</p>

<p>The initial configuration format was very different, I was inspired by pyr@’s hoststated, which eventually became relayd, and designed my configuration format with blocks enclosed by brackets.</p>

<p>When I first showed OpenSMTPD to pyr@, he convinced me that PF-like one-line rules would be awesome, and it was awesome indeed.</p>

<p>It helped us maintain our goal of simple configuration files, it helped fight feature creeping, it helped us gain popularity and become a relevant MTA, it helped us get where we are now 10 years later.</p>

<p>That being said, I believe this was a design error. A design error that could not have been predicted until we hit the wall to understand WHY this was an error. One-line rules are semantically wrong, they are SMTP wrong, they are wrong.</p>

<p>One-line rules are making the entire daemon more complex, preventing some features from being implemented, making others more complex than they should be, they no longer serve our goals.</p>

<p>To get to the point: we should move to two-line rules :-)</p>

<ul>
<li>The problem with one-line rules</li>
</ul>

<blockquote>
<p>OpenSMTPD decides to accept or reject messages based on one-line rules such as:</p>
</blockquote>

<p><code>accept from any for domain poolp.org deliver to mbox</code></p>

<blockquote>
<p>Which can essentially be split into three units:</p>
</blockquote>

<ul>
<li>the decision: accept/reject</li>
<li>the matching: from any for domain <a href="http://poolp.org" target="_blank" rel="nofollow noopener">poolp.org</a></li>
<li>the (default) action: deliver to mbox</li>
</ul>

<blockquote>
<p>To ensure that we meet the requirements of the transactions, the matching must be performed during the SMTP transaction before we take a decision for the recipient.<br>
Given that the rule is atomic, that it doesn’t have an identifier and that the action is part of it, the two only ways to make sure we can remember the action to take later on at delivery time is to either:</p>
</blockquote>

<ul>
<li>save the action in the envelope, which is what we do today</li>
<li>evaluate the envelope again at delivery</li>
<li>And this this where it gets tricky… both solutions are NOT ok.</li>
</ul>

<blockquote>
<p>The first solution, which we’ve been using for a decade, was to save the action within the envelope and kind of carve it in stone. This works fine… however it comes with the downsides that errors fixed in configuration files can’t be caught up by envelopes, that delivery action must be validated way ahead of time during the SMTP transaction which is much trickier, that the parsing of delivery methods takes place as the _smtpd user rather than the recipient user, and that envelope structures that are passed all over OpenSMTPD carry delivery-time informations, and more, and more, and more. The code becomes more complex in general, less safe in some particular places, and some areas are nightmarish to deal with because they have to deal with completely unrelated code that can’t be dealt with later in the code path.</p>
</blockquote>

<blockquote>
<p>The second solution can’t be done. An envelope may be the result of nested rules, for example an external client, hitting an alias, hitting a user with a .forward file resolving to a user. An envelope on disk may no longer match any rule or it may match a completely different rule If we could ensure that it matched the same rule, evaluating the ruleset may spawn new envelopes which would violate the transaction. Trying to imagine how we could work around this leads to more and more and more RFC violations, incoherent states, duplicate mails, etc…</p>
</blockquote>

<blockquote>
<p>There is simply no way to deal with this with atomic rules, the matching and the action must be two separate units that are evaluated at two different times, failure to do so will necessarily imply that you’re either using our first solution and all its downsides, or that you are currently in a world of pain trying to figure out why everything is burning around you. The minute the action is written to an on-disk envelope, you have failed.</p>
</blockquote>

<blockquote>
<p>A proper ruleset must define a set of matching patterns resolving to an action identifier that is carved in stone, AND a set of named action set that is resolved dynamically at delivery time.</p>
</blockquote>

<ul>
<li>Follow the link above to see the rest of the article</li>
</ul>

<hr>

<p><strong>Break</strong></p>

<p>##News Roundup<br>
###<a href="http://fortysomethinggeek.blogspot.com/2012/09/legacy-windows-rsync-backup-to-freenas.html" target="_blank" rel="nofollow noopener">Backing up a legacy Windows machine to a FreeNAS with rsync</a></p>

<blockquote>
<p>I have some old Windows servers (10 years and counting) and I have been using rsync to back them up to my FreeNAS box. It has been working great for me.</p>
</blockquote>

<blockquote>
<p>First of all, I do have my Windows servers backup in virtualized format. However, those are only one-time snapshops that I run once in a while. These are classic ASP IIS web servers that I can easily put up on a new VM. However, many of these legacy servers generate gigabytes of data a day in their repositories. Running VM conversion daily is not ideal.</p>
</blockquote>

<blockquote>
<p>My solution was to use some sort of rsync solution just for the data repos. I’ve tried some applications that didn’t work too well with Samba shares and these old servers have slow I/O. Copying files to external sata or usb drive was not ideal. We’ve moved on from Windows to Linux and do not have any Windows file servers of capacity to provide network backups.  Hence, I decided to use Delta Copy with FreeNAS. So here is a little write up on how to set it up. I have 4 Windows 2000 servers backing up daily with this method.</p>
</blockquote>

<blockquote>
<p>First, download Delta Copy and install it. It is open-source and pretty much free. It is basically a wrapper for cygwin’s rsync. When you install it, it will ask you to install the Server services which allows you to run it as a Rsync server on Windows. You don’t need to do this. Instead, you will be just using the Delta Copy Client application. But before we do that, we will need to configure our Rsync service for our Windows Clients on FreeNAS.</p>
</blockquote>

<ul>
<li>In FreeNAS, go under Services , Select Rsync &gt;  Rsync Modules &gt; Add Rsync Module.</li>
<li>Then fill out the form; giving the module a name and set the path. In my example, I simply called it WIN and linked it to a user called backupuser.</li>
<li>This process is much easier than trying to configure the daemon rsyncd.conf file by hand.</li>
<li>Now, on the Windows Client, start the DeltaCopy Client. You will create a new Profile.</li>
<li>You will need to enter the IP of the Rsync server (FreeNAS) and specify the module name which will be called “Virtual Directory Name.”  When you pull the select menu, the list of Rsync Modules you created earlier in FreeNAS will populate.</li>
<li>You can set authentication. On the server, you can restrict by IP and do other things to lock down your rsync.</li>
<li>Next, you will add folders (and/or files) you want to synchronize.</li>
<li>Once the paths are set up, you can run a sync by right clicking the profile name.</li>
<li>Here, I made a test sync to a home folder of a virtualized windows box. As you can see, I mounted the rsync volume on my mac to see the progress. The rsync worked beautifully. DeltaCopy did what it was told.</li>
<li>Once you get everything working. The next thing to do is set schedules. If you done tasks schedules in Windows before, it is pretty straightforward. DeltaCopy has a link in the application to directly create a new task for you. I set my backups to run nightly and it has been working great.</li>
</ul>

<blockquote>
<p>There you have it. Windows rsync to FreeNAS using DeltaCopy.<br>
The nice thing about FreeNAS is you don’t have to modify /etc/rsyncd.conf files. Everything can be done in the web admin.</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong></p>

<p>###<a href="https://r3xnation.wordpress.com/2018/04/10/how-to-write-atf-tests-for-netbsd/amp/" target="_blank" rel="nofollow noopener">How to write ATF tests for NetBSD</a></p>

<blockquote>
<p>I have recently started contributing to the amazing NetBSD foundation. I was thinking of trying out a new OS for a long time. Switching to the NetBSD OS has been a fun change.</p>
</blockquote>

<blockquote>
<p>My first contribution to the NetBSD foundation was adding regression tests for the Address Sanitizer (ASan) in the Automated Testing Framework(ATF) which NetBSD has. I managed to complete it with the help of my really amazing mentor Kamil. This post is gonna be about the ATF framework that NetBSD has and how to you can add multiple tests with ease.</p>
</blockquote>

<ul>
<li>Intro</li>
</ul>

<blockquote>
<p>In ATF tests we will basically be talking about test programs which are a suite of test cases for a specific application or program.</p>
</blockquote>

<ul>
<li>The ATF suite of Commands</li>
</ul>

<blockquote>
<p>There are a variety of commands that the atf suite offers. These include :</p>
</blockquote>

<ul>
<li>
<p>atf-check: The versatile command that is a vital part of the checking process. man page</p>
</li>
<li>
<p>atf-run: Command used to run a test program. man page</p>
</li>
<li>
<p>atf-fail: Report failure of a test case.</p>
</li>
<li>
<p>atf-report: used to pretty print the atf-run. man page</p>
</li>
<li>
<p>atf-set: To set atf test conditions.</p>
</li>
<li>
<p>We will be taking a better look at the syntax and usage later.</p>
</li>
<li>
<p>Let’s start with the Basics</p>
</li>
</ul>

<blockquote>
<p>The ATF testing framework comes preinstalled with a default NetBSD installation. It is used to write tests for various applications and commands in NetBSD.  One can write the Test programs in either the C language or in shell script. In this post I will be dealing with the Bash part.</p>
</blockquote>

<ul>
<li>Follow the link above to see the rest of the article</li>
</ul>

<hr>

<p>###<a href="http://brian.candler.me/posts/the-importance-of-zfs-blocksize/" target="_blank" rel="nofollow noopener">The Importance of ZFS Block Size</a></p>

<ul>
<li>Warning! WARNING! Don’t just do things because some random blog says so</li>
</ul>

<blockquote>
<p>One of the important tunables in ZFS is the recordsize (for normal datasets) and volblocksize (for zvols). These default to 128KB and 8KB respectively.<br>
As I understand it, this is the unit of work in ZFS. If you modify one byte in a large file with the default 128KB record size, it causes the whole 128KB to be read in, one byte to be changed, and a new 128KB block to be written out.<br>
As a result, the official recommendation is to use a block size which aligns with the underlying workload: so for example if you are using a database which reads and writes 16KB chunks then you should use a 16KB block size, and if you are running VMs containing an ext4 filesystem, which uses a 4KB block size, you should set a 4KB block size<br>
You can see it has a 16GB total file size, of which 8.5G has been touched and consumes space - that is, it’s a “sparse” file. The used space is also visible by looking at the zfs filesystem which this file resides in<br>
Then I tried to copy the image file whilst maintaining its “sparseness”, that is, only touching the blocks of the zvol which needed to be touched. The original used only 8.42G, but the copy uses 14.6GB - almost the entire 16GB has been touched! What’s gone wrong?<br>
I finally realised that the difference between the zfs filesystem and the zvol is the block size. I recreated the zvol with a 128K block size<br>
That’s better. The disk usage of the zvol is now exactly the same as for the sparse file in the filesystem dataset</p>
</blockquote>

<ul>
<li>It does impact the read speed too. 4K blocks took 5:52, and 128K blocks took 3:20</li>
<li>Part of this is the amount of metadata that has to be read, see the MySQL benchmarks from earlier in the show</li>
<li>And yes, using a larger block size will increase the compression efficiency, since the compressor has more redundant data to optimize.</li>
<li>Some of the savings, and the speedup is because a lot less metadata had to be written</li>
<li>Your zpool layout also plays a big role, if you use 4Kn disks, and RAID-Z2, using a volblocksize of 8k will actually result in a large amount of wasted space because of RAID-Z padding. Although, if you enable compression, your 8k records may compress to only 4k, and then all the numbers change again.</li>
</ul>

<hr>

<p>###<a href="https://www.fukr.org.uk/?p=184" target="_blank" rel="nofollow noopener">Using a Raspberry Pi 2 as a Router on a Stick Starring NetBSD</a></p>

<ul>
<li>Sorry we didn’t answer you quickly enough</li>
</ul>

<blockquote>
<p>A few weeks ago I set about upgrading my feeble networking skills by playing around with a Cisco 2970 switch. I set up a couple of VLANs and found the urge to set up a router to route between them. The 2970 isn’t a modern layer 3 switch so what am I to do?</p>
</blockquote>

<blockquote>
<p>Why not make use of the Raspberry Pi 2 that I’ve never used and put it to some good use as a ‘router on a stick’.</p>
</blockquote>

<blockquote>
<p>I could install a Linux based OS as I am quite familiar with it but where’s the fun in that? In my home lab I use SmartOS which by the way is a shit hot hypervisor but as far as I know there aren’t any Illumos distributions for the Raspberry Pi. On the desktop I use Solus OS which is by far the slickest Linux based OS that I’ve had the pleasure to use but Solus’ focus is purely desktop. It’s looking like BSD then!</p>
</blockquote>

<blockquote>
<p>I believe FreeBSD is renowned for it’s top notch networking stack and so I wrote to the BSDNow show on Jupiter Broadcasting for some help but it seems that the FreeBSD chaps from the show are off on a jolly to some BSD conference or another(love the show by the way).</p>
</blockquote>

<blockquote>
<p>It looks like me and the luvverly NetBSD are on a date this Saturday. I’ve always had a secret love for NetBSD. She’s a beautiful, charming and promiscuous lover(looking at the supported architectures) and I just can’t stop going back to her despite her misgivings(ahem, zfs). Just my type of grrrl!</p>
</blockquote>

<blockquote>
<p>Let’s crack on…</p>
</blockquote>

<ul>
<li>Follow the link above to see the rest of the article</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.bsdjobs.com/" target="_blank" rel="nofollow noopener">BSD Jobs</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-jobs/2018-May/000944.html" target="_blank" rel="nofollow noopener">University of Aberdeen’s Internet Transport Research Group is hiring</a></li>
<li><a href="https://youtu.be/YnNpgtjrM9U" target="_blank" rel="nofollow noopener">VR demo on OpenBSD via OpenHMD with OSVR HDK2</a></li>
<li><a href="https://rachelbythebay.com/w/2018/04/05/bangpatch/" target="_blank" rel="nofollow noopener">patch runs ed, and ed can run anything (mentions FreeBSD and OpenBSD)</a></li>
<li><a href="https://github.com/jwilm/alacritty/blob/master/README.md" target="_blank" rel="nofollow noopener">Alacritty (OpenGL-powered terminal emulator) now supports OpenBSD</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180413065457" target="_blank" rel="nofollow noopener">MAP_STACK Stack Register Checking Committed to -current</a></li>
<li><a href="https://2018.eurobsdcon.org/call-for-papers/" target="_blank" rel="nofollow noopener">EuroBSDCon CfP till June 17, 2018</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>NeutronDaemon - <a href="http://dpaste.com/3E0SR5Y#wrap" target="_blank" rel="nofollow noopener">Tutorial request</a></li>
<li>Kurt - <a href="http://dpaste.com/01CWKM5#wrap" target="_blank" rel="nofollow noopener">Question about transferability/bi-directionality of ZFS snapshots and send/receive</a></li>
<li>Peter - <a href="http://dpaste.com/3N1BGQF#wrap" target="_blank" rel="nofollow noopener">A Question and much love for BSD Now</a></li>
<li>Peter - <a href="http://dpaste.com/20R2DTG" target="_blank" rel="nofollow noopener">netgraph state</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenZFS and DTrace updates in NetBSD, NetBSD network security stack audit, Performance of MySQL on ZFS, OpenSMTP results from p2k18, legacy Windows backup to FreeNAS, ZFS block size importance, and NetBSD as router on a stick.<br>
</p><hr>

<p>##Headlines<br>
###<a href="https://mail-index.netbsd.org/source-changes/2018/05/28/msg095541.html" target="_blank" rel="nofollow noopener">ZFS and DTrace update lands in NetBSD</a></p>

<blockquote>
<p>merge a new version of the CDDL dtrace and ZFS code. This changes the upstream vendor from OpenSolaris to FreeBSD, and this version is based on FreeBSD svn r315983.</p>
</blockquote>

<ul>
<li>r315983 is from March 2017 (14 months ago), so there is still more work to do</li>
</ul>

<blockquote>
<p>in addition to the 10 years of improvements from upstream, this version also has these NetBSD-specific enhancements:</p>
<ul>
<li>dtrace FBT probes can now be placed in kernel modules.</li>
<li>ZFS now supports mmap().</li>
</ul>
</blockquote>

<ul>
<li>This brings NetBSD 10 years forward, and they should be able to catch the rest of the way up fairly quickly</li>
</ul>

<hr>

<p>###<a href="https://blog.netbsd.org/tnf/entry/network_security_audit" target="_blank" rel="nofollow noopener">NetBSD network stack security audit</a></p>

<ul>
<li>Maxime Villard has been working on an audit of the NetBSD network stack, a project sponsored by The NetBSD Foundation, which has served all users of BSD-derived operating systems.</li>
</ul>

<blockquote>
<p>Over the last five months, hundreds of patches were committed to the source tree as a result of this work. Dozens of bugs were fixed, among which a good number of actual, remotely-triggerable vulnerabilities.</p>
</blockquote>

<blockquote>
<p>Changes were made to strengthen the networking subsystems and improve code quality: reinforce the mbuf API, add many KASSERTs to enforce assumptions, simplify packet handling, and verify compliance with RFCs. This was done in several layers of the NetBSD kernel, from device drivers to L4 handlers.<br>
In the course of investigating several bugs discovered in NetBSD, I happened to look at the network stacks of other operating systems, to see whether they had already fixed the issues, and if so how. Needless to say, I found bugs there too.</p>
</blockquote>

<ul>
<li>A lot of code is shared between the BSDs, so it is especially helpful when one finds a bug, to check the other BSDs and share the fix.</li>
</ul>

<blockquote>
<p>The IPv6 Buffer Overflow: The overflow allowed an attacker to write one byte of packet-controlled data into ‘packet_storage+off’, where ‘off’ could be approximately controlled too. This allowed at least a pretty bad remote DoS/Crash<br>
The IPsec Infinite Loop: When receiving an IPv6-AH packet, the IPsec entry point was not correctly computing the length of the IPv6 suboptions, and this, before authentication. As a result, a specially-crafted IPv6 packet could trigger an infinite loop in the kernel (making it unresponsive). In addition this flaw allowed a limited buffer overflow - where the data being written was however not controllable by the attacker.<br>
The IPPROTO Typo: While looking at the IPv6 Multicast code, I stumbled across a pretty simple yet pretty bad mistake: at one point the Pim6 entry point would return IPPROTO_NONE instead of IPPROTO_DONE. Returning IPPROTO_NONE was entirely wrong: it caused the kernel to keep iterating on the IPv6 packet chain, while the packet storage was already freed.<br>
The PF Signedness Bug: A bug was found in NetBSD’s implementation of the PF firewall, that did not affect the other BSDs. In the initial PF code a particular macro was used as an alias to a number. This macro formed a signed integer. NetBSD replaced the macro with a sizeof(), which returns an unsigned result.<br>
The NPF Integer Overflow: An integer overflow could be triggered in NPF, when parsing an IPv6 packet with large options. This could cause NPF to look for the L4 payload at the wrong offset within the packet, and it allowed an attacker to bypass any L4 filtering rule on IPv6.<br>
The IPsec Fragment Attack: I noticed some time ago that when reassembling fragments (in either IPv4 or IPv6), the kernel was not removing the M_PKTHDR flag on the secondary mbufs in mbuf chains. This flag is supposed to indicate that a given mbuf is the head of the chain it forms; having the flag on secondary mbufs was suspicious.<br>
What Now: Not all protocols and layers of the network stack were verified, because of time constraints, and also because of unexpected events: the recent x86 CPU bugs, which I was the only one able to fix promptly. A todo list will be left when the project end date is reached, for someone else to pick up. Me perhaps, later this year? We’ll see.<br>
This security audit of NetBSD’s network stack is sponsored by The NetBSD Foundation, and serves all users of BSD-derived operating systems. The NetBSD Foundation is a non-profit organization, and welcomes any donations that help continue funding projects of this kind.</p>
</blockquote>

<hr>

<p><strong>DigitalOcean</strong></p>

<p>###<a href="https://www.percona.com/blog/2018/05/15/about-zfs-performance/" target="_blank" rel="nofollow noopener">MySQL on ZFS Performance</a></p>

<blockquote>
<p>I used sysbench to create a table of 10M rows and then, using export/import tablespace, I copied it 329 times. I ended up with 330 tables for a total size of about 850GB. The dataset generated by sysbench is not very compressible, so I used lz4 compression in ZFS. For the other ZFS settings, I used what can be found in my earlier ZFS posts but with the ARC size limited to 1GB. I then used that plain configuration for the first benchmarks. Here are the results with the sysbench point-select benchmark, a uniform distribution and eight threads. The InnoDB buffer pool was set to 2.5GB.<br>
In both cases, the load is IO bound. The disk is doing exactly the allowed 3000 IOPS. The above graph appears to be a clear demonstration that XFS is much faster than ZFS, right? But is that really the case? The way the dataset has been created is extremely favorable to XFS since there is absolutely no file fragmentation. Once you have all the files opened, a read IOP is just a single fseek call to an offset and ZFS doesn’t need to access any intermediate inode. The above result is about as fair as saying MyISAM is faster than InnoDB based only on table scan performance results of unfragmented tables and default configuration. ZFS is much less affected by the file level fragmentation, especially for point access type.</p>
</blockquote>

<blockquote>
<p>ZFS stores the files in B-trees in a very similar fashion as InnoDB stores data. To access a piece of data in a B-tree, you need to access the top level page (often called root node) and then one block per level down to a leaf-node containing the data. With no cache, to read something from a three levels B-tree thus requires 3 IOPS.</p>
</blockquote>

<blockquote>
<p>The extra IOPS performed by ZFS are needed to access those internal blocks in the B-trees of the files. These internal blocks are labeled as metadata. Essentially, in the above benchmark, the ARC is too small to contain all the internal blocks of the table files’ B-trees. If we continue the comparison with InnoDB, it would be like running with a buffer pool too small to contain the non-leaf pages. The test dataset I used has about 600MB of non-leaf pages, about 0.1% of the total size, which was well cached by the 3GB buffer pool. So only one InnoDB page, a leaf page, needed to be read per point-select statement.</p>
</blockquote>

<blockquote>
<p>To correctly set the ARC size to cache the metadata, you have two choices. First, you can guess values for the ARC size and experiment. Second, you can try to evaluate it by looking at the ZFS internal data. Let’s review these two approaches.</p>
</blockquote>

<blockquote>
<p>You’ll read/hear often the ratio 1GB of ARC for 1TB of data, which is about the same 0.1% ratio as for InnoDB. I wrote about that ratio a few times, having nothing better to propose. Actually, I found it depends a lot on the recordsize used. The 0.1% ratio implies a ZFS recordsize of 128KB. A ZFS filesystem with a recordsize of 128KB will use much less metadata than another one using a recordsize of 16KB because it has 8x fewer leaf pages. Fewer leaf pages require less B-tree internal nodes, hence less metadata. A filesystem with a recordsize of 128KB is excellent for sequential access as it maximizes compression and reduces the IOPS but it is poor for small random access operations like the ones MySQL/InnoDB does.</p>
</blockquote>

<ul>
<li>In order to improve ZFS performance, I had 3 options:</li>
<li>Increase the ARC size to 7GB</li>
<li>Use a larger Innodb page size like 64KB</li>
<li>Add a L2ARC</li>
</ul>

<blockquote>
<p>I was reluctant to grow the ARC to 7GB, which was nearly half the overall system memory. At best, the ZFS performance would only match XFS. A larger InnoDB page size would increase the CPU load for decompression on an instance with only two vCPUs; not great either. The last option, the L2ARC, was the most promising.</p>
</blockquote>

<blockquote>
<p>ZFS is much more complex than XFS and EXT4 but, that also means it has more tunables/options. I used a simplistic setup and an unfair benchmark which initially led to poor ZFS results. With the same benchmark, very favorable to XFS, I added a ZFS L2ARC and that completely reversed the situation, more than tripling the ZFS results, now 66% above XFS.</p>
</blockquote>

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

<blockquote>
<p>We have seen in this post why the general perception is that ZFS under-performs compared to XFS or EXT4. The presence of B-trees for the files has a big impact on the amount of metadata ZFS needs to handle, especially when the recordsize is small. The metadata consists mostly of the non-leaf pages (or internal nodes) of the B-trees. When properly cached, the performance of ZFS is excellent. ZFS allows you to optimize the use of EBS volumes, both in term of IOPS and size when the instance has fast ephemeral storage devices. Using the ephemeral device of an i3.large instance for the ZFS L2ARC, ZFS outperformed XFS by 66%.</p>
</blockquote>

<hr>

<p>###<a href="https://poolp.org/posts/2018-04-30/opensmtpd-new-config/" target="_blank" rel="nofollow noopener">OpenSMTPD new config</a></p>

<pre><code>TL;DR:
OpenBSD #p2k18 hackathon took place at Epitech in Nantes.
I was organizing the hackathon but managed to make progress on OpenSMTPD.
As mentioned at EuroBSDCon the one-line per rule config format was a design error.
A new configuration grammar is almost ready and the underlying structures are simplified.
Refactor removes ~750 lines of code and solves _many_ issues that were side-effects of the design error.
New features are going to be unlocked thanks to this.
</code></pre>

<ul>
<li>Anatomy of a design error</li>
</ul>

<blockquote>
<p>OpenSMTPD started ten years ago out of dissatisfaction with other solutions, mainly because I considered them way too complex for me not to get things wrong from time to time.<br>
The initial configuration format was very different, I was inspired by pyr@’s hoststated, which eventually became relayd, and designed my configuration format with blocks enclosed by brackets.<br>
When I first showed OpenSMTPD to pyr@, he convinced me that PF-like one-line rules would be awesome, and it was awesome indeed.<br>
It helped us maintain our goal of simple configuration files, it helped fight feature creeping, it helped us gain popularity and become a relevant MTA, it helped us get where we are now 10 years later.<br>
That being said, I believe this was a design error. A design error that could not have been predicted until we hit the wall to understand WHY this was an error. One-line rules are semantically wrong, they are SMTP wrong, they are wrong.<br>
One-line rules are making the entire daemon more complex, preventing some features from being implemented, making others more complex than they should be, they no longer serve our goals.<br>
To get to the point: we should move to two-line rules :-)</p>
</blockquote>

<p>Anatomy of a design error<br>
OpenSMTPD started ten years ago out of dissatisfaction with other solutions, mainly because I considered them way too complex for me not to get things wrong from time to time.</p>

<p>The initial configuration format was very different, I was inspired by pyr@’s hoststated, which eventually became relayd, and designed my configuration format with blocks enclosed by brackets.</p>

<p>When I first showed OpenSMTPD to pyr@, he convinced me that PF-like one-line rules would be awesome, and it was awesome indeed.</p>

<p>It helped us maintain our goal of simple configuration files, it helped fight feature creeping, it helped us gain popularity and become a relevant MTA, it helped us get where we are now 10 years later.</p>

<p>That being said, I believe this was a design error. A design error that could not have been predicted until we hit the wall to understand WHY this was an error. One-line rules are semantically wrong, they are SMTP wrong, they are wrong.</p>

<p>One-line rules are making the entire daemon more complex, preventing some features from being implemented, making others more complex than they should be, they no longer serve our goals.</p>

<p>To get to the point: we should move to two-line rules :-)</p>

<ul>
<li>The problem with one-line rules</li>
</ul>

<blockquote>
<p>OpenSMTPD decides to accept or reject messages based on one-line rules such as:</p>
</blockquote>

<p><code>accept from any for domain poolp.org deliver to mbox</code></p>

<blockquote>
<p>Which can essentially be split into three units:</p>
</blockquote>

<ul>
<li>the decision: accept/reject</li>
<li>the matching: from any for domain <a href="http://poolp.org" target="_blank" rel="nofollow noopener">poolp.org</a></li>
<li>the (default) action: deliver to mbox</li>
</ul>

<blockquote>
<p>To ensure that we meet the requirements of the transactions, the matching must be performed during the SMTP transaction before we take a decision for the recipient.<br>
Given that the rule is atomic, that it doesn’t have an identifier and that the action is part of it, the two only ways to make sure we can remember the action to take later on at delivery time is to either:</p>
</blockquote>

<ul>
<li>save the action in the envelope, which is what we do today</li>
<li>evaluate the envelope again at delivery</li>
<li>And this this where it gets tricky… both solutions are NOT ok.</li>
</ul>

<blockquote>
<p>The first solution, which we’ve been using for a decade, was to save the action within the envelope and kind of carve it in stone. This works fine… however it comes with the downsides that errors fixed in configuration files can’t be caught up by envelopes, that delivery action must be validated way ahead of time during the SMTP transaction which is much trickier, that the parsing of delivery methods takes place as the _smtpd user rather than the recipient user, and that envelope structures that are passed all over OpenSMTPD carry delivery-time informations, and more, and more, and more. The code becomes more complex in general, less safe in some particular places, and some areas are nightmarish to deal with because they have to deal with completely unrelated code that can’t be dealt with later in the code path.</p>
</blockquote>

<blockquote>
<p>The second solution can’t be done. An envelope may be the result of nested rules, for example an external client, hitting an alias, hitting a user with a .forward file resolving to a user. An envelope on disk may no longer match any rule or it may match a completely different rule If we could ensure that it matched the same rule, evaluating the ruleset may spawn new envelopes which would violate the transaction. Trying to imagine how we could work around this leads to more and more and more RFC violations, incoherent states, duplicate mails, etc…</p>
</blockquote>

<blockquote>
<p>There is simply no way to deal with this with atomic rules, the matching and the action must be two separate units that are evaluated at two different times, failure to do so will necessarily imply that you’re either using our first solution and all its downsides, or that you are currently in a world of pain trying to figure out why everything is burning around you. The minute the action is written to an on-disk envelope, you have failed.</p>
</blockquote>

<blockquote>
<p>A proper ruleset must define a set of matching patterns resolving to an action identifier that is carved in stone, AND a set of named action set that is resolved dynamically at delivery time.</p>
</blockquote>

<ul>
<li>Follow the link above to see the rest of the article</li>
</ul>

<hr>

<p><strong>Break</strong></p>

<p>##News Roundup<br>
###<a href="http://fortysomethinggeek.blogspot.com/2012/09/legacy-windows-rsync-backup-to-freenas.html" target="_blank" rel="nofollow noopener">Backing up a legacy Windows machine to a FreeNAS with rsync</a></p>

<blockquote>
<p>I have some old Windows servers (10 years and counting) and I have been using rsync to back them up to my FreeNAS box. It has been working great for me.</p>
</blockquote>

<blockquote>
<p>First of all, I do have my Windows servers backup in virtualized format. However, those are only one-time snapshops that I run once in a while. These are classic ASP IIS web servers that I can easily put up on a new VM. However, many of these legacy servers generate gigabytes of data a day in their repositories. Running VM conversion daily is not ideal.</p>
</blockquote>

<blockquote>
<p>My solution was to use some sort of rsync solution just for the data repos. I’ve tried some applications that didn’t work too well with Samba shares and these old servers have slow I/O. Copying files to external sata or usb drive was not ideal. We’ve moved on from Windows to Linux and do not have any Windows file servers of capacity to provide network backups.  Hence, I decided to use Delta Copy with FreeNAS. So here is a little write up on how to set it up. I have 4 Windows 2000 servers backing up daily with this method.</p>
</blockquote>

<blockquote>
<p>First, download Delta Copy and install it. It is open-source and pretty much free. It is basically a wrapper for cygwin’s rsync. When you install it, it will ask you to install the Server services which allows you to run it as a Rsync server on Windows. You don’t need to do this. Instead, you will be just using the Delta Copy Client application. But before we do that, we will need to configure our Rsync service for our Windows Clients on FreeNAS.</p>
</blockquote>

<ul>
<li>In FreeNAS, go under Services , Select Rsync &gt;  Rsync Modules &gt; Add Rsync Module.</li>
<li>Then fill out the form; giving the module a name and set the path. In my example, I simply called it WIN and linked it to a user called backupuser.</li>
<li>This process is much easier than trying to configure the daemon rsyncd.conf file by hand.</li>
<li>Now, on the Windows Client, start the DeltaCopy Client. You will create a new Profile.</li>
<li>You will need to enter the IP of the Rsync server (FreeNAS) and specify the module name which will be called “Virtual Directory Name.”  When you pull the select menu, the list of Rsync Modules you created earlier in FreeNAS will populate.</li>
<li>You can set authentication. On the server, you can restrict by IP and do other things to lock down your rsync.</li>
<li>Next, you will add folders (and/or files) you want to synchronize.</li>
<li>Once the paths are set up, you can run a sync by right clicking the profile name.</li>
<li>Here, I made a test sync to a home folder of a virtualized windows box. As you can see, I mounted the rsync volume on my mac to see the progress. The rsync worked beautifully. DeltaCopy did what it was told.</li>
<li>Once you get everything working. The next thing to do is set schedules. If you done tasks schedules in Windows before, it is pretty straightforward. DeltaCopy has a link in the application to directly create a new task for you. I set my backups to run nightly and it has been working great.</li>
</ul>

<blockquote>
<p>There you have it. Windows rsync to FreeNAS using DeltaCopy.<br>
The nice thing about FreeNAS is you don’t have to modify /etc/rsyncd.conf files. Everything can be done in the web admin.</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong></p>

<p>###<a href="https://r3xnation.wordpress.com/2018/04/10/how-to-write-atf-tests-for-netbsd/amp/" target="_blank" rel="nofollow noopener">How to write ATF tests for NetBSD</a></p>

<blockquote>
<p>I have recently started contributing to the amazing NetBSD foundation. I was thinking of trying out a new OS for a long time. Switching to the NetBSD OS has been a fun change.</p>
</blockquote>

<blockquote>
<p>My first contribution to the NetBSD foundation was adding regression tests for the Address Sanitizer (ASan) in the Automated Testing Framework(ATF) which NetBSD has. I managed to complete it with the help of my really amazing mentor Kamil. This post is gonna be about the ATF framework that NetBSD has and how to you can add multiple tests with ease.</p>
</blockquote>

<ul>
<li>Intro</li>
</ul>

<blockquote>
<p>In ATF tests we will basically be talking about test programs which are a suite of test cases for a specific application or program.</p>
</blockquote>

<ul>
<li>The ATF suite of Commands</li>
</ul>

<blockquote>
<p>There are a variety of commands that the atf suite offers. These include :</p>
</blockquote>

<ul>
<li>
<p>atf-check: The versatile command that is a vital part of the checking process. man page</p>
</li>
<li>
<p>atf-run: Command used to run a test program. man page</p>
</li>
<li>
<p>atf-fail: Report failure of a test case.</p>
</li>
<li>
<p>atf-report: used to pretty print the atf-run. man page</p>
</li>
<li>
<p>atf-set: To set atf test conditions.</p>
</li>
<li>
<p>We will be taking a better look at the syntax and usage later.</p>
</li>
<li>
<p>Let’s start with the Basics</p>
</li>
</ul>

<blockquote>
<p>The ATF testing framework comes preinstalled with a default NetBSD installation. It is used to write tests for various applications and commands in NetBSD.  One can write the Test programs in either the C language or in shell script. In this post I will be dealing with the Bash part.</p>
</blockquote>

<ul>
<li>Follow the link above to see the rest of the article</li>
</ul>

<hr>

<p>###<a href="http://brian.candler.me/posts/the-importance-of-zfs-blocksize/" target="_blank" rel="nofollow noopener">The Importance of ZFS Block Size</a></p>

<ul>
<li>Warning! WARNING! Don’t just do things because some random blog says so</li>
</ul>

<blockquote>
<p>One of the important tunables in ZFS is the recordsize (for normal datasets) and volblocksize (for zvols). These default to 128KB and 8KB respectively.<br>
As I understand it, this is the unit of work in ZFS. If you modify one byte in a large file with the default 128KB record size, it causes the whole 128KB to be read in, one byte to be changed, and a new 128KB block to be written out.<br>
As a result, the official recommendation is to use a block size which aligns with the underlying workload: so for example if you are using a database which reads and writes 16KB chunks then you should use a 16KB block size, and if you are running VMs containing an ext4 filesystem, which uses a 4KB block size, you should set a 4KB block size<br>
You can see it has a 16GB total file size, of which 8.5G has been touched and consumes space - that is, it’s a “sparse” file. The used space is also visible by looking at the zfs filesystem which this file resides in<br>
Then I tried to copy the image file whilst maintaining its “sparseness”, that is, only touching the blocks of the zvol which needed to be touched. The original used only 8.42G, but the copy uses 14.6GB - almost the entire 16GB has been touched! What’s gone wrong?<br>
I finally realised that the difference between the zfs filesystem and the zvol is the block size. I recreated the zvol with a 128K block size<br>
That’s better. The disk usage of the zvol is now exactly the same as for the sparse file in the filesystem dataset</p>
</blockquote>

<ul>
<li>It does impact the read speed too. 4K blocks took 5:52, and 128K blocks took 3:20</li>
<li>Part of this is the amount of metadata that has to be read, see the MySQL benchmarks from earlier in the show</li>
<li>And yes, using a larger block size will increase the compression efficiency, since the compressor has more redundant data to optimize.</li>
<li>Some of the savings, and the speedup is because a lot less metadata had to be written</li>
<li>Your zpool layout also plays a big role, if you use 4Kn disks, and RAID-Z2, using a volblocksize of 8k will actually result in a large amount of wasted space because of RAID-Z padding. Although, if you enable compression, your 8k records may compress to only 4k, and then all the numbers change again.</li>
</ul>

<hr>

<p>###<a href="https://www.fukr.org.uk/?p=184" target="_blank" rel="nofollow noopener">Using a Raspberry Pi 2 as a Router on a Stick Starring NetBSD</a></p>

<ul>
<li>Sorry we didn’t answer you quickly enough</li>
</ul>

<blockquote>
<p>A few weeks ago I set about upgrading my feeble networking skills by playing around with a Cisco 2970 switch. I set up a couple of VLANs and found the urge to set up a router to route between them. The 2970 isn’t a modern layer 3 switch so what am I to do?</p>
</blockquote>

<blockquote>
<p>Why not make use of the Raspberry Pi 2 that I’ve never used and put it to some good use as a ‘router on a stick’.</p>
</blockquote>

<blockquote>
<p>I could install a Linux based OS as I am quite familiar with it but where’s the fun in that? In my home lab I use SmartOS which by the way is a shit hot hypervisor but as far as I know there aren’t any Illumos distributions for the Raspberry Pi. On the desktop I use Solus OS which is by far the slickest Linux based OS that I’ve had the pleasure to use but Solus’ focus is purely desktop. It’s looking like BSD then!</p>
</blockquote>

<blockquote>
<p>I believe FreeBSD is renowned for it’s top notch networking stack and so I wrote to the BSDNow show on Jupiter Broadcasting for some help but it seems that the FreeBSD chaps from the show are off on a jolly to some BSD conference or another(love the show by the way).</p>
</blockquote>

<blockquote>
<p>It looks like me and the luvverly NetBSD are on a date this Saturday. I’ve always had a secret love for NetBSD. She’s a beautiful, charming and promiscuous lover(looking at the supported architectures) and I just can’t stop going back to her despite her misgivings(ahem, zfs). Just my type of grrrl!</p>
</blockquote>

<blockquote>
<p>Let’s crack on…</p>
</blockquote>

<ul>
<li>Follow the link above to see the rest of the article</li>
</ul>

<hr>

<p>##Beastie Bits</p>

<ul>
<li><a href="https://www.bsdjobs.com/" target="_blank" rel="nofollow noopener">BSD Jobs</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-jobs/2018-May/000944.html" target="_blank" rel="nofollow noopener">University of Aberdeen’s Internet Transport Research Group is hiring</a></li>
<li><a href="https://youtu.be/YnNpgtjrM9U" target="_blank" rel="nofollow noopener">VR demo on OpenBSD via OpenHMD with OSVR HDK2</a></li>
<li><a href="https://rachelbythebay.com/w/2018/04/05/bangpatch/" target="_blank" rel="nofollow noopener">patch runs ed, and ed can run anything (mentions FreeBSD and OpenBSD)</a></li>
<li><a href="https://github.com/jwilm/alacritty/blob/master/README.md" target="_blank" rel="nofollow noopener">Alacritty (OpenGL-powered terminal emulator) now supports OpenBSD</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180413065457" target="_blank" rel="nofollow noopener">MAP_STACK Stack Register Checking Committed to -current</a></li>
<li><a href="https://2018.eurobsdcon.org/call-for-papers/" target="_blank" rel="nofollow noopener">EuroBSDCon CfP till June 17, 2018</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<p>##Feedback/Questions</p>

<ul>
<li>NeutronDaemon - <a href="http://dpaste.com/3E0SR5Y#wrap" target="_blank" rel="nofollow noopener">Tutorial request</a></li>
<li>Kurt - <a href="http://dpaste.com/01CWKM5#wrap" target="_blank" rel="nofollow noopener">Question about transferability/bi-directionality of ZFS snapshots and send/receive</a></li>
<li>Peter - <a href="http://dpaste.com/3N1BGQF#wrap" target="_blank" rel="nofollow noopener">A Question and much love for BSD Now</a></li>
<li>Peter - <a href="http://dpaste.com/20R2DTG" target="_blank" rel="nofollow noopener">netgraph state</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 248: Show Me The Mooney | BSD Now 248</title>
  <link>https://www.bsdnow.tv/248</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-2016</guid>
  <pubDate>Tue, 29 May 2018 14:30:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a0ea5b3c-e781-499e-bfa4-cee1d550f915.mp3" length="62803024" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>DragonflyBSD release 5.2.1 is here, BPF kernel exploit writeup, Remote Debugging the running OpenBSD kernel, interview with Patrick Mooney, FreeBSD buildbot setup in a jail, dumping your USB, and 5 years of gaming on FreeBSD.</itunes:subtitle>
  <itunes:duration>1:44:33</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>&lt;p&gt;DragonflyBSD release 5.2.1 is here, BPF kernel exploit writeup, Remote Debugging the running OpenBSD kernel, interview with Patrick Mooney, FreeBSD buildbot setup in a jail, dumping your USB, and 5 years of gaming on FreeBSD.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflybsd.org/release52/" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD: release52 (w/stable HAMMER2, as default root)&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;DragonflyBSD 5.2.1 was released on May 21, 2018&lt;/li&gt;
&lt;li&gt;&amp;gt; Big Ticket items:


&lt;blockquote&gt;
  Meltdown and Spectre mitigation support
  Meltdown isolation and spectre mitigation support added. Meltdown mitigation is automatically enabled for all Intel cpus. Spectre mitigation must be enabled manually via sysctl if desired, using sysctls machdep.spectre&lt;em&gt;mitigation and machdep.meltdown&lt;/em&gt;mitigation.
  HAMMER2
  H2 has received a very large number of bug fixes and performance improvements. We can now recommend H2 as the default root filesystem in non-clustered mode.
  Clustered support is not yet available.
  ipfw Updates
  Implement state based "redirect", i.e. without using libalias.
  ipfw now supports all possible ICMP types.
  Fix ICMP&lt;em&gt;MAXTYPE assumptions (now 40 as of this release).
  Improved graphics support
  The drm/i915 kernel driver has been updated to support Intel Coffeelake GPUs
  Add 24-bit pixel format support to the EFI frame buffer code.
  Significantly improve fbio support for the "scfb" XOrg driver. This allows EFI frame buffers to be used by X in situations where we do not otherwise support the GPU.
  Partly implement the FBIO&lt;/em&gt;BLANK ioctl for display powersaving.
  Syscons waits for drm modesetting at appropriate places, avoiding races.&lt;/blockquote&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr&gt;


&lt;h3&gt;&lt;a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/FreeBSD/PS4%204.55%20BPF%20Race%20Condition%20Kernel%20Exploit%20Writeup.md" target="_blank" rel="nofollow noopener"&gt;PS4 4.55 BPF Race Condition Kernel Exploit Writeup&lt;/a&gt;&lt;/h3&gt;



&lt;blockquote&gt;
  &lt;p&gt;Note: While this bug is primarily interesting for exploitation on the PS4, this bug can also potentially be exploited on other unpatched platforms using FreeBSD if the attacker has read/write permissions on /dev/bpf, or if they want to escalate from root user to kernel code execution. As such, I've published it under the "FreeBSD" folder and not the "PS4" folder.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Welcome to the kernel portion of the PS4 4.55FW full exploit chain write-up. This bug was found by qwerty, and is fairly unique in the way it's exploited, so I wanted to do a detailed write-up on how it worked. The full source of the exploit can be found &lt;a href="https://github.com/Cryptogenic/PS4-4.55-Kernel-Exploit" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;. I've previously covered the webkit exploit implementation for userland access &lt;a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/WebKit/setAttributeNodeNS%20UAF%20Write-up.md" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD or Sony's fault? Why not both...&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Interestingly, this bug is actually a FreeBSD bug and was not (at least directly) introduced by Sony code. While this is a FreeBSD bug however, it's not very useful for most systems because the /dev/bpf device driver is root-owned, and the permissions for it are set to 0600 (meaning owner has read/write privileges, and nobody else does) - though it can be used for escalating from root to kernel mode code execution. However, let’s take a look at the make_dev() call inside the PS4 kernel for /dev/bpf (taken from a 4.05 kernel dump).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;
seg000:FFFFFFFFA181F15B                 lea     rdi, unk_FFFFFFFFA2D77640
seg000:FFFFFFFFA181F162                 lea     r9, aBpf        ; "bpf"
seg000:FFFFFFFFA181F169                 mov     esi, 0
seg000:FFFFFFFFA181F16E                 mov     edx, 0
seg000:FFFFFFFFA181F173                 xor     ecx, ecx
seg000:FFFFFFFFA181F175                 mov     r8d, 1B6h
seg000:FFFFFFFFA181F17B                 xor     eax, eax
seg000:FFFFFFFFA181F17D                 mov     cs:qword_FFFFFFFFA34EC770, 0
seg000:FFFFFFFFA181F188                 call    make_dev
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;We see UID 0 (the UID for the root user) getting moved into the register for the 3rd argument, which is the owner argument. However, the permissions bits are being set to 0x1B6, which in octal is 0666. This means anyone can open /dev/bpf with read/write privileges. I’m not sure why this is the case, qwerty speculates that perhaps bpf is used for LAN gaming. In any case, this was a poor design decision because bpf is usually considered privileged, and should not be accessible to a process that is completely untrusted, such as WebKit. On most platforms, permissions for /dev/bpf will be set to 0x180, or 0600.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Race Conditions - What are they?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;The class of the bug abused in this exploit is known as a "race condition". Before we get into bug specifics, it's important for the reader to understand what race conditions are and how they can be an issue (especially in something like a kernel). Often in complex software (such as a kernel), resources will be shared (or "global"). This means other threads could potentially execute code that will access some resource that could be accessed by another thread at the same point in time. What happens if one thread accesses this resource while another thread does without exclusive access? Race conditions are introduced.&lt;/p&gt;
  
  &lt;p&gt;Race conditions are defined as possible scenarios where events happen in a sequence different than the developer intended which leads to undefined behavior. In simple, single-threaded programs, this is not an issue because execution is linear. In more complex programs where code can be running in parallel however, this becomes a real issue. To prevent these problems, atomic instructions and locking mechanisms were introduced. When one thread wants to access a critical resource, it will attempt to acquire a "lock". If another thread is already using this resource, generally the thread attempting to acquire the lock will wait until the other thread is finished with it. Each thread must release the lock to the resource after they're done with it, failure to do so could result in a deadlock.&lt;/p&gt;
  
  &lt;p&gt;While locking mechanisms such as mutexes have been introduced, developers sometimes struggle to use them properly. For example, what if a piece of shared data gets validated and processed, but while the processing of the data is locked, the validation is not? There is a window between validation and locking where that data can change, and while the developer thinks the data has been validated, it could be substituted with something malicious after it is validated, but before it is used. Parallel programming can be difficult, especially when, as a developer, you also want to factor in the fact that you don't want to put too much code in between locking and unlocking as it can impact performance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See &lt;a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/FreeBSD/PS4%204.55%20BPF%20Race%20Condition%20Kernel%20Exploit%20Writeup.md" target="_blank" rel="nofollow noopener"&gt;article&lt;/a&gt; for the rest&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://bijanebrahimi.github.io/blog/remote-debugging-the-running-openbsd-kernel.html" target="_blank" rel="nofollow noopener"&gt;Remote Debugging the running OpenBSD kernel&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Subtitled: A way to understand the OpenBSD internals
+&amp;gt; The Problem
+&amp;gt; A few month ago, I tried porting the FreeBSD kdb along with it's gdb stub implementations to OpenBSD as a practice of learning the internals of an BSD operating system. The ddb code in both FreeBSD and OpenBSD looks pretty much the same and the GDB Remote Serial Protocol looks very minimal.
+&amp;gt; But sadly I got very busy and the work is stalled but I'm planning on resuming the attempt as soon as I get the chance, But there is an alternative way to Debugging the OpenBSD kernel via QEMU. What I did below is basically the same with a few minor changes which I hope to describe it as best.
+&amp;gt; Installing OpenBSD on Qemu
+&amp;gt; For debugging the kernel, we need a working OpenBSD system running on Qemu. I chose to create a raw disk file to be able to easily mount it later via the host and copy the custom kernel onto it.


&lt;blockquote&gt;
  $ qemu-img create -f raw disk.raw 5G
  $ qemu-system-x86&lt;em&gt;64 -m 256M \
  -drive format=raw,file=install63.fs \
  -drive format=raw,file=disk.raw
  +&amp;gt; Custom Kernel
  +&amp;gt; To debug the kernel, we need a version of the kernel with debugging symbols and for that we have to recompile it first. The process is documented at Building the System from Source:
  ...
  +&amp;gt; Then we can copy the bsd kernel to the guest machine and keep the bsd.gdb on the host to start the remote debugging via gdb.
  +&amp;gt; Remote debugging kernel
  +&amp;gt; Now it's to time to boot the guest with the new custom kernel. Remember that the -s argument enables the gdb server on qemu on localhost port 1234 by default:
  $ qemu-system-x86&lt;/em&gt;64 -m 256M -s \
     -net nic -net user \
  -drive format=raw,file=install63.fs \
  +&amp;gt; Now to finally attach to the running kernel:&lt;/blockquote&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr&gt;


&lt;h2&gt;Interview - Patrick Mooney - Software Engineer &lt;a href="pmooney@pfmooney.com" target="_blank" rel="nofollow noopener"&gt;pmooney@pfmooney.com&lt;/a&gt; / &lt;a href="https://twitter.com/pfmooney" target="_blank" rel="nofollow noopener"&gt;@pfmooney&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;BR: How did you first get introduced to UNIX?&lt;/li&gt;
&lt;li&gt;AJ: What got you started contributing to an open source project?&lt;/li&gt;
&lt;li&gt;BR: What sorts of things have you worked on in the past?&lt;/li&gt;
&lt;li&gt;AJ: Can you tell us more about what attracted you to illumos?&lt;/li&gt;
&lt;li&gt;BR: How did you get interested in, and started with, systems development?&lt;/li&gt;
&lt;li&gt;AJ: When did you first get interested in bhyve?&lt;/li&gt;
&lt;li&gt;BR: How much work was it to take the years-old port of bhyve and get it working on modern IllumOS?&lt;/li&gt;
&lt;li&gt;AJ: What was the process for getting the bhyve port caught up to current FreeBSD?&lt;/li&gt;
&lt;li&gt;BR: How usable is bhyve on illumOS?&lt;/li&gt;
&lt;li&gt;AJ: What area are you most interested in improving in bhyve?&lt;/li&gt;
&lt;li&gt;BR: Do you think the FreeBSD and illumos versions of bhyve will stay in sync with each other?&lt;/li&gt;
&lt;li&gt;AJ: What do you do for fun?&lt;/li&gt;
&lt;li&gt;BR: Anything else you want to mention?&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener"&gt;Setting up buildbot in FreeBSD Jails&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;In this article, I would like to present a tutorial to set up buildbot, a continuous integration (CI) software (like Jenkins, drone, etc.), making use of FreeBSD’s containerization mechanism "jails". We will cover terminology, rationale for using both buildbot and jails together, and installation steps. At the end, you will have a working buildbot instance using its sample build configuration, ready to play around with your own CI plans (or even CD, it’s very flexible!). Some hints for production-grade installations are given, but the tutorial steps are meant for a test environment (namely a virtual machine). Buildbot’s configuration and detailed concepts are not in scope here.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Table of contents&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Choosing host operating system and version for buildbot&lt;/li&gt;
&lt;li&gt;Create a FreeBSD playground&lt;/li&gt;
&lt;li&gt;Introduction to jails&lt;/li&gt;
&lt;li&gt;Overview of buildbot&lt;/li&gt;
&lt;li&gt;Set up jails&lt;/li&gt;
&lt;li&gt;Install buildbot master&lt;/li&gt;
&lt;li&gt;Run buildbot master&lt;/li&gt;
&lt;li&gt;Install buildbot worker&lt;/li&gt;
&lt;li&gt;Run buildbot worker&lt;/li&gt;
&lt;li&gt;Set up web server nginx to access buildbot UI&lt;/li&gt;
&lt;li&gt;Run your first build&lt;/li&gt;
&lt;li&gt;Production hints&lt;/li&gt;
&lt;li&gt;Finished!&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choosing host operating system and version for buildbot&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;We choose the released version of FreeBSD (11.1-RELEASE at the moment). There is no particular reason for it, and as a matter of fact buildbot as a Python-based server is very cross-platform; therefore the underlying OS platform and version should not make a large difference.&lt;/p&gt;
  
  &lt;p&gt;It will make a difference for what you do with buildbot, however. For instance, poudriere is the de-facto standard for building packages from source on FreeBSD. Builds run in jails which may be any FreeBSD base system version older or equal to the host’s version (reason will be explained below). In other words, if the host is FreeBSD 11.1, build jails created by poudriere could e.g. use 9.1, 10.3, 11.0, 11.1, but potentially not version 12 or newer because of incompatibilities with the host’s kernel (jails do not run their own kernel as full virtual machines do). To not prolong this article over the intended scope, the details of which nice things could be done or automated with buildbot are not covered.&lt;/p&gt;
  
  &lt;p&gt;Package names on the FreeBSD platform are independent of the OS version, since external software (as in: not part of base system) is maintained in FreeBSD ports. So, if your chosen FreeBSD version (here: 11) is still officially supported, the packages mentioned in this post should work. In the unlikely event of package name changes before you read this article, you should be able to find the actual package names like pkg search buildbot.&lt;/p&gt;
  
  &lt;p&gt;Other operating systems like the various Linux distributions will use different package names but might also offer buildbot pre-packaged. If not, the buildbot installation manual offers steps to install it manually. In such case, the downside is that you will have to maintain and update the buildbot modules outside the stability and (semi-)automatic updates of your OS packages.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See &lt;a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener"&gt;article&lt;/a&gt; for the rest&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;DigitalOcean&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://www.grenadille.net/post/2018/03/29/Dumping-your-USB" target="_blank" rel="nofollow noopener"&gt;Dumping your USB&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;One of the many new features of OpenBSD 6.3 is the possibility to dump USB traffic to userland via bpf(4). This can be done with tcpdump(8) by specifying a USB bus as interface:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;```&lt;/p&gt;

tcpdump -Xx -i usb0

&lt;p&gt;tcpdump: listening on usb0, link-type USBPCAP
12:28:03.317945 bus 0 &amp;lt; addr 1: ep1 intr 2
  0000: 0400                                     ..&lt;/p&gt;

&lt;p&gt;12:28:03.318018 bus 0 &amp;gt; addr 1: ep0 ctrl 8
  0000: 00a3 0000 0002 0004 00                   ......... &lt;br&gt;
[...]
```&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;As you might have noted I decided to implement the existing USBPcap capture format. A capture format is required because USB packets do not include all the necessary information to properly interpret them. I first thought I would implement libpcap's DLT&lt;em&gt;USB but then I quickly realize that this was not a standard. It is instead a FreeBSD specific format which has been since then renamed DLT&lt;/em&gt;USB&lt;em&gt;FREEBSD.
  But I didn't want to embrace xkcd #927, so I look at the existing formats: DLT&lt;/em&gt;USB&lt;em&gt;FREEBSD, DLT&lt;/em&gt;USB&lt;em&gt;LINUX, DLT&lt;/em&gt;USB&lt;em&gt;LINUX&lt;/em&gt;MMAPPED, DLT&lt;em&gt;USB&lt;/em&gt;DARWIN and DLT_USBPCAP. I was first a bit sad to see that nobody could agree on a common format then I moved on and picked the simplest one: USBPcap.
  Implementing an already existing format gives us out-of-box support for all the tools supporting it. That's why having common formats let us share our energy. In the case of USBPcap it is already supported by Wireshark, so you can already inspect your packet graphically. For that you need to first capture raw packets:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;```&lt;/p&gt;

tcpdump -s 3303 -w usb.pcap -i usb0

&lt;p&gt;tcpdump: listening on usb0, link-type USBPCAP
^C
208 packets received by filter
0 packets dropped by kernel
```&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;USB packets can be quite big, that's why I'm not using tcpdump(8)'s default packet size. In this case, I want to make sure I can dump the complete uaudio(4) frames.
  It is important to say that what is dumped to userland is what the USB stack sees. Packets sent on the wire might differ, especially when it comes to retries and timing. So this feature is not here to replace any USB analyser, however I hope that it will help people understand how things work and what the USB stack is doing. Even I found some interesting timing issues while implementing isochronous support.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.romanzolotarev.com/openbsd/webserver.html" target="_blank" rel="nofollow noopener"&gt;Run OpenBSD on your web server&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.romanzolotarev.com/vultr.html" target="_blank" rel="nofollow noopener"&gt;Deploy and login to your OpenBSD server first.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;As soon as you're there you can enable an httpd(8) daemon, it's already installed on OpenBSD, you just need to configure it:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;www# vi /etc/httpd.conf&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Add two server sections---one for www and another for naked domain (all requests are redirected to www).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;```
server "www.example.com" {
  listen on * port 80
  root "/htdocs/www.example.com"
}&lt;/p&gt;

&lt;p&gt;server "example.com" {
  listen on * port 80
  block return 301 "http://www.example.com$REQUEST_URI"
}
```&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;httpd is chrooted to /var/www by default, so let's make a document root directory:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;www# mkdir -p /var/www/htdocs/www.example.com&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Save and check this configuration:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;
www# httpd -n
configuration ok
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enable httpd(8) daemon and start it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;
www# rcctl enable httpd
www# rcctl start httpd
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Publish your website&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copy your website content into /var/www/htdocs/www.example.com and then test it your web browser.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;http://XXX.XXX.XXX.XXX/&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Your web server should be up and running.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Update DNS records&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;If there is another HTTPS server using this domain, configure that server to redirect all HTTPS requests to HTTP.&lt;/p&gt;
  
  &lt;p&gt;Now as your new server is ready you can update DNS records accordingly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;
    example.com. 300 IN     A XXX.XXX.XXX.XXX
www.example.com. 300 IN     A XXX.XXX.XXX.XXX
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Examine your DNS is propagated.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;$ dig example.com www.example.com&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Check IP addresses it answer sections. If they are correct, you should be able to access your new web server by its domain name.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.romanzolotarev.com/openbsd/acme-client.html" target="_blank" rel="nofollow noopener"&gt;What's next? Enable HTTPS on your server.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl/bobulate/?p=1827" target="_blank" rel="nofollow noopener"&gt;Modern Akonadi and KMail on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;For, quite literally a year or more, KMail and Akonadi on FreeBSD have been only marginally useful, at best. KDE4 era KMail was pretty darn good, but everything after that has had a number of FreeBSD users tearing out their hair. Sure, you can go to Trojitá, which has its own special problems and is generally “meh”, or bail out entirely to webmail, but .. KMail is a really great mail client when it works. Which, on Linux desktops, is nearly always, and on FreeBSD, is was nearly never.&lt;/p&gt;
  
  &lt;p&gt;I looked at it with Dan and Volker last summer, briefly, and we got not much further than “hmm”. There’s a message about “The world is going to end!” which hardly makes sense, it means that a message has been truncated or corrupted while traversing a UNIX domain socket.&lt;/p&gt;
  
  &lt;p&gt;Now Alexandre Martins — praise be! — has wandered in with a likely solution. KDE Bug 381850 contains a suggestion, which deserves to be publicised (and tested):&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;sysctl net.local.stream.recvspace=65536&lt;/code&gt;
&lt;code&gt;sysctl net.local.stream.sendspace=65536&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The default FreeBSD UNIX local socket buffer space is 8kiB. Bumping the size up to 64kiB — which matches the size that Linux has by default — suddenly makes KMail and Akonadi shine again. No other changes, no recompiling, just .. bump the sysctls (perhaps also in /etc/sysctl.conf) and KMail from Area51 hums along all day without ending the world.&lt;/p&gt;
  
  &lt;p&gt;Since changing this value may have other effects, and Akonadi shouldn’t be dependent on a specific buffer size anyway, I’m looking into the Akonadi code (encouraged by Dan) to either automatically size the socket buffers, or to figure out where in the underlying code the assumption about buffer size lives. So for now, sysctl can make KMail users on FreeBSD happy, and later we hope to have things fully automatic (and if that doesn’t pan out, well, pkg-message exists).&lt;/p&gt;
  
  &lt;p&gt;PS. Modern KDE PIM applications — Akonadi, KMail — which live in the deskutils/ category of the official FreeBSD ports were added to the official tree April 10th, so you can get your fix now from the official tree.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2018-April/335722.html" target="_blank" rel="nofollow noopener"&gt;pkg-provides support for DragonFly (from Rodrigo Osorio)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://monades.roperzh.com/memories-writing-parser-man-pages/" target="_blank" rel="nofollow noopener"&gt;Memories of writing a parser for man pages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developeronfire.com/podcast/episode-198-bryan-cantrill-persistence-and-action" target="_blank" rel="nofollow noopener"&gt;Bryan Cantrill interview over at DeveloperOnFire podcast&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://minnie.tuhs.org/pipermail/tuhs/2018-March/013285.html" target="_blank" rel="nofollow noopener"&gt;1978-03-25 - 2018-03-25: 40 years BSD Mail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://imgur.com/a/KOTJS" target="_blank" rel="nofollow noopener"&gt;My 5 years of FreeBSD gaming: a compendium of free games and engines running natively on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reviews.freebsd.org/D15562" target="_blank" rel="nofollow noopener"&gt;Sequential Resilver being upstreamed to FreeBSD, from FreeNAS, where it was ported from ZFS-on-Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-jobs/2018-May/000944.html" target="_blank" rel="nofollow noopener"&gt;University of Aberdeen’s Internet Transport Research Group is hiring  &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap ad&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Dave - &lt;a href="http://dpaste.com/0KHRB4Z#wrap" target="_blank" rel="nofollow noopener"&gt;mounting non-filesystem things inside jails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Morgan - &lt;a href="http://dpaste.com/10QD42T#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS on Linux Data loss bug&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Rene - &lt;a href="http://dpaste.com/30VM51S#wrap" target="_blank" rel="nofollow noopener"&gt;How to keep your ISP’s nose out of your browser history with encrypted DNS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Rodriguez - &lt;a href="http://dpaste.com/3WVYR9D#wrap" target="_blank" rel="nofollow noopener"&gt;Feedback question! Relating to Windows&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, HAMMER2, PS4, Kernel Exploit, debugging</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>DragonflyBSD release 5.2.1 is here, BPF kernel exploit writeup, Remote Debugging the running OpenBSD kernel, interview with Patrick Mooney, FreeBSD buildbot setup in a jail, dumping your USB, and 5 years of gaming on FreeBSD.</p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release52/" target="_blank" rel="nofollow noopener">DragonFlyBSD: release52 (w/stable HAMMER2, as default root)</a></h3>

<ul>
<li>DragonflyBSD 5.2.1 was released on May 21, 2018</li>
<li>&gt; Big Ticket items:


<blockquote>
  Meltdown and Spectre mitigation support
  Meltdown isolation and spectre mitigation support added. Meltdown mitigation is automatically enabled for all Intel cpus. Spectre mitigation must be enabled manually via sysctl if desired, using sysctls machdep.spectre<em>mitigation and machdep.meltdown</em>mitigation.
  HAMMER2
  H2 has received a very large number of bug fixes and performance improvements. We can now recommend H2 as the default root filesystem in non-clustered mode.
  Clustered support is not yet available.
  ipfw Updates
  Implement state based "redirect", i.e. without using libalias.
  ipfw now supports all possible ICMP types.
  Fix ICMP<em>MAXTYPE assumptions (now 40 as of this release).
  Improved graphics support
  The drm/i915 kernel driver has been updated to support Intel Coffeelake GPUs
  Add 24-bit pixel format support to the EFI frame buffer code.
  Significantly improve fbio support for the "scfb" XOrg driver. This allows EFI frame buffers to be used by X in situations where we do not otherwise support the GPU.
  Partly implement the FBIO</em>BLANK ioctl for display powersaving.
  Syscons waits for drm modesetting at appropriate places, avoiding races.</blockquote></li>
  </ul>
  <hr>


<h3><a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/FreeBSD/PS4%204.55%20BPF%20Race%20Condition%20Kernel%20Exploit%20Writeup.md" target="_blank" rel="nofollow noopener">PS4 4.55 BPF Race Condition Kernel Exploit Writeup</a></h3>



<blockquote>
  <p>Note: While this bug is primarily interesting for exploitation on the PS4, this bug can also potentially be exploited on other unpatched platforms using FreeBSD if the attacker has read/write permissions on /dev/bpf, or if they want to escalate from root user to kernel code execution. As such, I've published it under the "FreeBSD" folder and not the "PS4" folder.</p>
</blockquote>

<ul>
<li>Introduction</li>
</ul>

<blockquote>
  <p>Welcome to the kernel portion of the PS4 4.55FW full exploit chain write-up. This bug was found by qwerty, and is fairly unique in the way it's exploited, so I wanted to do a detailed write-up on how it worked. The full source of the exploit can be found <a href="https://github.com/Cryptogenic/PS4-4.55-Kernel-Exploit" target="_blank" rel="nofollow noopener">here</a>. I've previously covered the webkit exploit implementation for userland access <a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/WebKit/setAttributeNodeNS%20UAF%20Write-up.md" target="_blank" rel="nofollow noopener">here</a>.</p>
</blockquote>

<ul>
<li>FreeBSD or Sony's fault? Why not both...</li>
</ul>

<blockquote>
  <p>Interestingly, this bug is actually a FreeBSD bug and was not (at least directly) introduced by Sony code. While this is a FreeBSD bug however, it's not very useful for most systems because the /dev/bpf device driver is root-owned, and the permissions for it are set to 0600 (meaning owner has read/write privileges, and nobody else does) - though it can be used for escalating from root to kernel mode code execution. However, let’s take a look at the make_dev() call inside the PS4 kernel for /dev/bpf (taken from a 4.05 kernel dump).</p>
</blockquote>

<p><code>
seg000:FFFFFFFFA181F15B                 lea     rdi, unk_FFFFFFFFA2D77640
seg000:FFFFFFFFA181F162                 lea     r9, aBpf        ; "bpf"
seg000:FFFFFFFFA181F169                 mov     esi, 0
seg000:FFFFFFFFA181F16E                 mov     edx, 0
seg000:FFFFFFFFA181F173                 xor     ecx, ecx
seg000:FFFFFFFFA181F175                 mov     r8d, 1B6h
seg000:FFFFFFFFA181F17B                 xor     eax, eax
seg000:FFFFFFFFA181F17D                 mov     cs:qword_FFFFFFFFA34EC770, 0
seg000:FFFFFFFFA181F188                 call    make_dev
</code></p>

<blockquote>
  <p>We see UID 0 (the UID for the root user) getting moved into the register for the 3rd argument, which is the owner argument. However, the permissions bits are being set to 0x1B6, which in octal is 0666. This means anyone can open /dev/bpf with read/write privileges. I’m not sure why this is the case, qwerty speculates that perhaps bpf is used for LAN gaming. In any case, this was a poor design decision because bpf is usually considered privileged, and should not be accessible to a process that is completely untrusted, such as WebKit. On most platforms, permissions for /dev/bpf will be set to 0x180, or 0600.</p>
</blockquote>

<ul>
<li>Race Conditions - What are they?</li>
</ul>

<blockquote>
  <p>The class of the bug abused in this exploit is known as a "race condition". Before we get into bug specifics, it's important for the reader to understand what race conditions are and how they can be an issue (especially in something like a kernel). Often in complex software (such as a kernel), resources will be shared (or "global"). This means other threads could potentially execute code that will access some resource that could be accessed by another thread at the same point in time. What happens if one thread accesses this resource while another thread does without exclusive access? Race conditions are introduced.</p>
  
  <p>Race conditions are defined as possible scenarios where events happen in a sequence different than the developer intended which leads to undefined behavior. In simple, single-threaded programs, this is not an issue because execution is linear. In more complex programs where code can be running in parallel however, this becomes a real issue. To prevent these problems, atomic instructions and locking mechanisms were introduced. When one thread wants to access a critical resource, it will attempt to acquire a "lock". If another thread is already using this resource, generally the thread attempting to acquire the lock will wait until the other thread is finished with it. Each thread must release the lock to the resource after they're done with it, failure to do so could result in a deadlock.</p>
  
  <p>While locking mechanisms such as mutexes have been introduced, developers sometimes struggle to use them properly. For example, what if a piece of shared data gets validated and processed, but while the processing of the data is locked, the validation is not? There is a window between validation and locking where that data can change, and while the developer thinks the data has been validated, it could be substituted with something malicious after it is validated, but before it is used. Parallel programming can be difficult, especially when, as a developer, you also want to factor in the fact that you don't want to put too much code in between locking and unlocking as it can impact performance.</p>
</blockquote>

<ul>
<li>See <a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/FreeBSD/PS4%204.55%20BPF%20Race%20Condition%20Kernel%20Exploit%20Writeup.md" target="_blank" rel="nofollow noopener">article</a> for the rest</li>
</ul>

<hr>

<p><strong>iXsystems</strong></p>

<h3><a href="http://bijanebrahimi.github.io/blog/remote-debugging-the-running-openbsd-kernel.html" target="_blank" rel="nofollow noopener">Remote Debugging the running OpenBSD kernel</a></h3>

<ul>
<li>Subtitled: A way to understand the OpenBSD internals
+&gt; The Problem
+&gt; A few month ago, I tried porting the FreeBSD kdb along with it's gdb stub implementations to OpenBSD as a practice of learning the internals of an BSD operating system. The ddb code in both FreeBSD and OpenBSD looks pretty much the same and the GDB Remote Serial Protocol looks very minimal.
+&gt; But sadly I got very busy and the work is stalled but I'm planning on resuming the attempt as soon as I get the chance, But there is an alternative way to Debugging the OpenBSD kernel via QEMU. What I did below is basically the same with a few minor changes which I hope to describe it as best.
+&gt; Installing OpenBSD on Qemu
+&gt; For debugging the kernel, we need a working OpenBSD system running on Qemu. I chose to create a raw disk file to be able to easily mount it later via the host and copy the custom kernel onto it.


<blockquote>
  $ qemu-img create -f raw disk.raw 5G
  $ qemu-system-x86<em>64 -m 256M \
  -drive format=raw,file=install63.fs \
  -drive format=raw,file=disk.raw
  +&gt; Custom Kernel
  +&gt; To debug the kernel, we need a version of the kernel with debugging symbols and for that we have to recompile it first. The process is documented at Building the System from Source:
  ...
  +&gt; Then we can copy the bsd kernel to the guest machine and keep the bsd.gdb on the host to start the remote debugging via gdb.
  +&gt; Remote debugging kernel
  +&gt; Now it's to time to boot the guest with the new custom kernel. Remember that the -s argument enables the gdb server on qemu on localhost port 1234 by default:
  $ qemu-system-x86</em>64 -m 256M -s \
     -net nic -net user \
  -drive format=raw,file=install63.fs \
  +&gt; Now to finally attach to the running kernel:</blockquote></li>
  </ul>
  <hr>


<h2>Interview - Patrick Mooney - Software Engineer <a href="pmooney@pfmooney.com" target="_blank" rel="nofollow noopener">pmooney@pfmooney.com</a> / <a href="https://twitter.com/pfmooney" target="_blank" rel="nofollow noopener">@pfmooney</a></h2>

<ul>
<li>BR: How did you first get introduced to UNIX?</li>
<li>AJ: What got you started contributing to an open source project?</li>
<li>BR: What sorts of things have you worked on in the past?</li>
<li>AJ: Can you tell us more about what attracted you to illumos?</li>
<li>BR: How did you get interested in, and started with, systems development?</li>
<li>AJ: When did you first get interested in bhyve?</li>
<li>BR: How much work was it to take the years-old port of bhyve and get it working on modern IllumOS?</li>
<li>AJ: What was the process for getting the bhyve port caught up to current FreeBSD?</li>
<li>BR: How usable is bhyve on illumOS?</li>
<li>AJ: What area are you most interested in improving in bhyve?</li>
<li>BR: Do you think the FreeBSD and illumos versions of bhyve will stay in sync with each other?</li>
<li>AJ: What do you do for fun?</li>
<li>BR: Anything else you want to mention?</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener">Setting up buildbot in FreeBSD Jails</a></h3>

<blockquote>
  <p>In this article, I would like to present a tutorial to set up buildbot, a continuous integration (CI) software (like Jenkins, drone, etc.), making use of FreeBSD’s containerization mechanism "jails". We will cover terminology, rationale for using both buildbot and jails together, and installation steps. At the end, you will have a working buildbot instance using its sample build configuration, ready to play around with your own CI plans (or even CD, it’s very flexible!). Some hints for production-grade installations are given, but the tutorial steps are meant for a test environment (namely a virtual machine). Buildbot’s configuration and detailed concepts are not in scope here.</p>
</blockquote>

<ul>
<li><p>Table of contents</p>

<ul><li>Choosing host operating system and version for buildbot</li>
<li>Create a FreeBSD playground</li>
<li>Introduction to jails</li>
<li>Overview of buildbot</li>
<li>Set up jails</li>
<li>Install buildbot master</li>
<li>Run buildbot master</li>
<li>Install buildbot worker</li>
<li>Run buildbot worker</li>
<li>Set up web server nginx to access buildbot UI</li>
<li>Run your first build</li>
<li>Production hints</li>
<li>Finished!</li></ul></li>
<li><p>Choosing host operating system and version for buildbot</p></li>
</ul>

<blockquote>
  <p>We choose the released version of FreeBSD (11.1-RELEASE at the moment). There is no particular reason for it, and as a matter of fact buildbot as a Python-based server is very cross-platform; therefore the underlying OS platform and version should not make a large difference.</p>
  
  <p>It will make a difference for what you do with buildbot, however. For instance, poudriere is the de-facto standard for building packages from source on FreeBSD. Builds run in jails which may be any FreeBSD base system version older or equal to the host’s version (reason will be explained below). In other words, if the host is FreeBSD 11.1, build jails created by poudriere could e.g. use 9.1, 10.3, 11.0, 11.1, but potentially not version 12 or newer because of incompatibilities with the host’s kernel (jails do not run their own kernel as full virtual machines do). To not prolong this article over the intended scope, the details of which nice things could be done or automated with buildbot are not covered.</p>
  
  <p>Package names on the FreeBSD platform are independent of the OS version, since external software (as in: not part of base system) is maintained in FreeBSD ports. So, if your chosen FreeBSD version (here: 11) is still officially supported, the packages mentioned in this post should work. In the unlikely event of package name changes before you read this article, you should be able to find the actual package names like pkg search buildbot.</p>
  
  <p>Other operating systems like the various Linux distributions will use different package names but might also offer buildbot pre-packaged. If not, the buildbot installation manual offers steps to install it manually. In such case, the downside is that you will have to maintain and update the buildbot modules outside the stability and (semi-)automatic updates of your OS packages.</p>
</blockquote>

<ul>
<li>See <a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener">article</a> for the rest</li>
</ul>

<hr>

<p><strong>DigitalOcean</strong></p>

<h3><a href="http://www.grenadille.net/post/2018/03/29/Dumping-your-USB" target="_blank" rel="nofollow noopener">Dumping your USB</a></h3>

<blockquote>
  <p>One of the many new features of OpenBSD 6.3 is the possibility to dump USB traffic to userland via bpf(4). This can be done with tcpdump(8) by specifying a USB bus as interface:</p>
</blockquote>

<p>```</p>

tcpdump -Xx -i usb0

<p>tcpdump: listening on usb0, link-type USBPCAP
12:28:03.317945 bus 0 &lt; addr 1: ep1 intr 2
  0000: 0400                                     ..</p>

<p>12:28:03.318018 bus 0 &gt; addr 1: ep0 ctrl 8
  0000: 00a3 0000 0002 0004 00                   ......... <br>
[...]
```</p>

<blockquote>
  <p>As you might have noted I decided to implement the existing USBPcap capture format. A capture format is required because USB packets do not include all the necessary information to properly interpret them. I first thought I would implement libpcap's DLT<em>USB but then I quickly realize that this was not a standard. It is instead a FreeBSD specific format which has been since then renamed DLT</em>USB<em>FREEBSD.
  But I didn't want to embrace xkcd #927, so I look at the existing formats: DLT</em>USB<em>FREEBSD, DLT</em>USB<em>LINUX, DLT</em>USB<em>LINUX</em>MMAPPED, DLT<em>USB</em>DARWIN and DLT_USBPCAP. I was first a bit sad to see that nobody could agree on a common format then I moved on and picked the simplest one: USBPcap.
  Implementing an already existing format gives us out-of-box support for all the tools supporting it. That's why having common formats let us share our energy. In the case of USBPcap it is already supported by Wireshark, so you can already inspect your packet graphically. For that you need to first capture raw packets:</p>
</blockquote>

<p>```</p>

tcpdump -s 3303 -w usb.pcap -i usb0

<p>tcpdump: listening on usb0, link-type USBPCAP
^C
208 packets received by filter
0 packets dropped by kernel
```</p>

<blockquote>
  <p>USB packets can be quite big, that's why I'm not using tcpdump(8)'s default packet size. In this case, I want to make sure I can dump the complete uaudio(4) frames.
  It is important to say that what is dumped to userland is what the USB stack sees. Packets sent on the wire might differ, especially when it comes to retries and timing. So this feature is not here to replace any USB analyser, however I hope that it will help people understand how things work and what the USB stack is doing. Even I found some interesting timing issues while implementing isochronous support.</p>
</blockquote>

<hr>

<h3><a href="https://www.romanzolotarev.com/openbsd/webserver.html" target="_blank" rel="nofollow noopener">Run OpenBSD on your web server</a></h3>

<ul>
<li><a href="https://www.romanzolotarev.com/vultr.html" target="_blank" rel="nofollow noopener">Deploy and login to your OpenBSD server first.</a></li>
</ul>

<blockquote>
  <p>As soon as you're there you can enable an httpd(8) daemon, it's already installed on OpenBSD, you just need to configure it:</p>
</blockquote>

<p><code>www# vi /etc/httpd.conf</code></p>

<ul>
<li>Add two server sections---one for www and another for naked domain (all requests are redirected to www).</li>
</ul>

<p>```
server "www.example.com" {
  listen on * port 80
  root "/htdocs/www.example.com"
}</p>

<p>server "example.com" {
  listen on * port 80
  block return 301 "http://www.example.com$REQUEST_URI"
}
```</p>

<ul>
<li>httpd is chrooted to /var/www by default, so let's make a document root directory:</li>
</ul>

<p><code>www# mkdir -p /var/www/htdocs/www.example.com</code></p>

<ul>
<li>Save and check this configuration:</li>
</ul>

<p><code>
www# httpd -n
configuration ok
</code></p>

<ul>
<li>Enable httpd(8) daemon and start it.</li>
</ul>

<p><code>
www# rcctl enable httpd
www# rcctl start httpd
</code></p>

<ul>
<li><p>Publish your website</p></li>
<li><p>Copy your website content into /var/www/htdocs/www.example.com and then test it your web browser.</p></li>
</ul>

<p><code>http://XXX.XXX.XXX.XXX/</code></p>

<blockquote>
  <p>Your web server should be up and running.</p>
</blockquote>

<ul>
<li>Update DNS records</li>
</ul>

<blockquote>
  <p>If there is another HTTPS server using this domain, configure that server to redirect all HTTPS requests to HTTP.</p>
  
  <p>Now as your new server is ready you can update DNS records accordingly.</p>
</blockquote>

<p><code>
    example.com. 300 IN     A XXX.XXX.XXX.XXX
www.example.com. 300 IN     A XXX.XXX.XXX.XXX
</code></p>

<ul>
<li>Examine your DNS is propagated.</li>
</ul>

<p><code>$ dig example.com www.example.com</code></p>

<ul>
<li><p>Check IP addresses it answer sections. If they are correct, you should be able to access your new web server by its domain name.</p></li>
<li><p><a href="https://www.romanzolotarev.com/openbsd/acme-client.html" target="_blank" rel="nofollow noopener">What's next? Enable HTTPS on your server.</a></p></li>
</ul>

<hr>

<h3><a href="https://euroquis.nl/bobulate/?p=1827" target="_blank" rel="nofollow noopener">Modern Akonadi and KMail on FreeBSD</a></h3>

<blockquote>
  <p>For, quite literally a year or more, KMail and Akonadi on FreeBSD have been only marginally useful, at best. KDE4 era KMail was pretty darn good, but everything after that has had a number of FreeBSD users tearing out their hair. Sure, you can go to Trojitá, which has its own special problems and is generally “meh”, or bail out entirely to webmail, but .. KMail is a really great mail client when it works. Which, on Linux desktops, is nearly always, and on FreeBSD, is was nearly never.</p>
  
  <p>I looked at it with Dan and Volker last summer, briefly, and we got not much further than “hmm”. There’s a message about “The world is going to end!” which hardly makes sense, it means that a message has been truncated or corrupted while traversing a UNIX domain socket.</p>
  
  <p>Now Alexandre Martins — praise be! — has wandered in with a likely solution. KDE Bug 381850 contains a suggestion, which deserves to be publicised (and tested):</p>
</blockquote>

<p><code>sysctl net.local.stream.recvspace=65536</code>
<code>sysctl net.local.stream.sendspace=65536</code></p>

<blockquote>
  <p>The default FreeBSD UNIX local socket buffer space is 8kiB. Bumping the size up to 64kiB — which matches the size that Linux has by default — suddenly makes KMail and Akonadi shine again. No other changes, no recompiling, just .. bump the sysctls (perhaps also in /etc/sysctl.conf) and KMail from Area51 hums along all day without ending the world.</p>
  
  <p>Since changing this value may have other effects, and Akonadi shouldn’t be dependent on a specific buffer size anyway, I’m looking into the Akonadi code (encouraged by Dan) to either automatically size the socket buffers, or to figure out where in the underlying code the assumption about buffer size lives. So for now, sysctl can make KMail users on FreeBSD happy, and later we hope to have things fully automatic (and if that doesn’t pan out, well, pkg-message exists).</p>
  
  <p>PS. Modern KDE PIM applications — Akonadi, KMail — which live in the deskutils/ category of the official FreeBSD ports were added to the official tree April 10th, so you can get your fix now from the official tree.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2018-April/335722.html" target="_blank" rel="nofollow noopener">pkg-provides support for DragonFly (from Rodrigo Osorio)</a></li>
<li><a href="https://monades.roperzh.com/memories-writing-parser-man-pages/" target="_blank" rel="nofollow noopener">Memories of writing a parser for man pages</a></li>
<li><a href="http://developeronfire.com/podcast/episode-198-bryan-cantrill-persistence-and-action" target="_blank" rel="nofollow noopener">Bryan Cantrill interview over at DeveloperOnFire podcast</a></li>
<li><a href="http://minnie.tuhs.org/pipermail/tuhs/2018-March/013285.html" target="_blank" rel="nofollow noopener">1978-03-25 - 2018-03-25: 40 years BSD Mail</a></li>
<li><a href="https://imgur.com/a/KOTJS" target="_blank" rel="nofollow noopener">My 5 years of FreeBSD gaming: a compendium of free games and engines running natively on FreeBSD</a></li>
<li><a href="https://reviews.freebsd.org/D15562" target="_blank" rel="nofollow noopener">Sequential Resilver being upstreamed to FreeBSD, from FreeNAS, where it was ported from ZFS-on-Linux</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-jobs/2018-May/000944.html" target="_blank" rel="nofollow noopener">University of Aberdeen’s Internet Transport Research Group is hiring  </a></li>
</ul>

<hr>

<p><strong>Tarsnap ad</strong></p>

<h2>Feedback/Questions</h2>

<ul>
<li>Dave - <a href="http://dpaste.com/0KHRB4Z#wrap" target="_blank" rel="nofollow noopener">mounting non-filesystem things inside jails</a></li>
<li>Morgan - <a href="http://dpaste.com/10QD42T#wrap" target="_blank" rel="nofollow noopener">ZFS on Linux Data loss bug</a></li>
<li>Rene - <a href="http://dpaste.com/30VM51S#wrap" target="_blank" rel="nofollow noopener">How to keep your ISP’s nose out of your browser history with encrypted DNS</a></li>
<li>Rodriguez - <a href="http://dpaste.com/3WVYR9D#wrap" target="_blank" rel="nofollow noopener">Feedback question! Relating to Windows</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>DragonflyBSD release 5.2.1 is here, BPF kernel exploit writeup, Remote Debugging the running OpenBSD kernel, interview with Patrick Mooney, FreeBSD buildbot setup in a jail, dumping your USB, and 5 years of gaming on FreeBSD.</p>

<h2>Headlines</h2>

<h3><a href="https://www.dragonflybsd.org/release52/" target="_blank" rel="nofollow noopener">DragonFlyBSD: release52 (w/stable HAMMER2, as default root)</a></h3>

<ul>
<li>DragonflyBSD 5.2.1 was released on May 21, 2018</li>
<li>&gt; Big Ticket items:


<blockquote>
  Meltdown and Spectre mitigation support
  Meltdown isolation and spectre mitigation support added. Meltdown mitigation is automatically enabled for all Intel cpus. Spectre mitigation must be enabled manually via sysctl if desired, using sysctls machdep.spectre<em>mitigation and machdep.meltdown</em>mitigation.
  HAMMER2
  H2 has received a very large number of bug fixes and performance improvements. We can now recommend H2 as the default root filesystem in non-clustered mode.
  Clustered support is not yet available.
  ipfw Updates
  Implement state based "redirect", i.e. without using libalias.
  ipfw now supports all possible ICMP types.
  Fix ICMP<em>MAXTYPE assumptions (now 40 as of this release).
  Improved graphics support
  The drm/i915 kernel driver has been updated to support Intel Coffeelake GPUs
  Add 24-bit pixel format support to the EFI frame buffer code.
  Significantly improve fbio support for the "scfb" XOrg driver. This allows EFI frame buffers to be used by X in situations where we do not otherwise support the GPU.
  Partly implement the FBIO</em>BLANK ioctl for display powersaving.
  Syscons waits for drm modesetting at appropriate places, avoiding races.</blockquote></li>
  </ul>
  <hr>


<h3><a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/FreeBSD/PS4%204.55%20BPF%20Race%20Condition%20Kernel%20Exploit%20Writeup.md" target="_blank" rel="nofollow noopener">PS4 4.55 BPF Race Condition Kernel Exploit Writeup</a></h3>



<blockquote>
  <p>Note: While this bug is primarily interesting for exploitation on the PS4, this bug can also potentially be exploited on other unpatched platforms using FreeBSD if the attacker has read/write permissions on /dev/bpf, or if they want to escalate from root user to kernel code execution. As such, I've published it under the "FreeBSD" folder and not the "PS4" folder.</p>
</blockquote>

<ul>
<li>Introduction</li>
</ul>

<blockquote>
  <p>Welcome to the kernel portion of the PS4 4.55FW full exploit chain write-up. This bug was found by qwerty, and is fairly unique in the way it's exploited, so I wanted to do a detailed write-up on how it worked. The full source of the exploit can be found <a href="https://github.com/Cryptogenic/PS4-4.55-Kernel-Exploit" target="_blank" rel="nofollow noopener">here</a>. I've previously covered the webkit exploit implementation for userland access <a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/WebKit/setAttributeNodeNS%20UAF%20Write-up.md" target="_blank" rel="nofollow noopener">here</a>.</p>
</blockquote>

<ul>
<li>FreeBSD or Sony's fault? Why not both...</li>
</ul>

<blockquote>
  <p>Interestingly, this bug is actually a FreeBSD bug and was not (at least directly) introduced by Sony code. While this is a FreeBSD bug however, it's not very useful for most systems because the /dev/bpf device driver is root-owned, and the permissions for it are set to 0600 (meaning owner has read/write privileges, and nobody else does) - though it can be used for escalating from root to kernel mode code execution. However, let’s take a look at the make_dev() call inside the PS4 kernel for /dev/bpf (taken from a 4.05 kernel dump).</p>
</blockquote>

<p><code>
seg000:FFFFFFFFA181F15B                 lea     rdi, unk_FFFFFFFFA2D77640
seg000:FFFFFFFFA181F162                 lea     r9, aBpf        ; "bpf"
seg000:FFFFFFFFA181F169                 mov     esi, 0
seg000:FFFFFFFFA181F16E                 mov     edx, 0
seg000:FFFFFFFFA181F173                 xor     ecx, ecx
seg000:FFFFFFFFA181F175                 mov     r8d, 1B6h
seg000:FFFFFFFFA181F17B                 xor     eax, eax
seg000:FFFFFFFFA181F17D                 mov     cs:qword_FFFFFFFFA34EC770, 0
seg000:FFFFFFFFA181F188                 call    make_dev
</code></p>

<blockquote>
  <p>We see UID 0 (the UID for the root user) getting moved into the register for the 3rd argument, which is the owner argument. However, the permissions bits are being set to 0x1B6, which in octal is 0666. This means anyone can open /dev/bpf with read/write privileges. I’m not sure why this is the case, qwerty speculates that perhaps bpf is used for LAN gaming. In any case, this was a poor design decision because bpf is usually considered privileged, and should not be accessible to a process that is completely untrusted, such as WebKit. On most platforms, permissions for /dev/bpf will be set to 0x180, or 0600.</p>
</blockquote>

<ul>
<li>Race Conditions - What are they?</li>
</ul>

<blockquote>
  <p>The class of the bug abused in this exploit is known as a "race condition". Before we get into bug specifics, it's important for the reader to understand what race conditions are and how they can be an issue (especially in something like a kernel). Often in complex software (such as a kernel), resources will be shared (or "global"). This means other threads could potentially execute code that will access some resource that could be accessed by another thread at the same point in time. What happens if one thread accesses this resource while another thread does without exclusive access? Race conditions are introduced.</p>
  
  <p>Race conditions are defined as possible scenarios where events happen in a sequence different than the developer intended which leads to undefined behavior. In simple, single-threaded programs, this is not an issue because execution is linear. In more complex programs where code can be running in parallel however, this becomes a real issue. To prevent these problems, atomic instructions and locking mechanisms were introduced. When one thread wants to access a critical resource, it will attempt to acquire a "lock". If another thread is already using this resource, generally the thread attempting to acquire the lock will wait until the other thread is finished with it. Each thread must release the lock to the resource after they're done with it, failure to do so could result in a deadlock.</p>
  
  <p>While locking mechanisms such as mutexes have been introduced, developers sometimes struggle to use them properly. For example, what if a piece of shared data gets validated and processed, but while the processing of the data is locked, the validation is not? There is a window between validation and locking where that data can change, and while the developer thinks the data has been validated, it could be substituted with something malicious after it is validated, but before it is used. Parallel programming can be difficult, especially when, as a developer, you also want to factor in the fact that you don't want to put too much code in between locking and unlocking as it can impact performance.</p>
</blockquote>

<ul>
<li>See <a href="https://github.com/Cryptogenic/Exploit-Writeups/blob/master/FreeBSD/PS4%204.55%20BPF%20Race%20Condition%20Kernel%20Exploit%20Writeup.md" target="_blank" rel="nofollow noopener">article</a> for the rest</li>
</ul>

<hr>

<p><strong>iXsystems</strong></p>

<h3><a href="http://bijanebrahimi.github.io/blog/remote-debugging-the-running-openbsd-kernel.html" target="_blank" rel="nofollow noopener">Remote Debugging the running OpenBSD kernel</a></h3>

<ul>
<li>Subtitled: A way to understand the OpenBSD internals
+&gt; The Problem
+&gt; A few month ago, I tried porting the FreeBSD kdb along with it's gdb stub implementations to OpenBSD as a practice of learning the internals of an BSD operating system. The ddb code in both FreeBSD and OpenBSD looks pretty much the same and the GDB Remote Serial Protocol looks very minimal.
+&gt; But sadly I got very busy and the work is stalled but I'm planning on resuming the attempt as soon as I get the chance, But there is an alternative way to Debugging the OpenBSD kernel via QEMU. What I did below is basically the same with a few minor changes which I hope to describe it as best.
+&gt; Installing OpenBSD on Qemu
+&gt; For debugging the kernel, we need a working OpenBSD system running on Qemu. I chose to create a raw disk file to be able to easily mount it later via the host and copy the custom kernel onto it.


<blockquote>
  $ qemu-img create -f raw disk.raw 5G
  $ qemu-system-x86<em>64 -m 256M \
  -drive format=raw,file=install63.fs \
  -drive format=raw,file=disk.raw
  +&gt; Custom Kernel
  +&gt; To debug the kernel, we need a version of the kernel with debugging symbols and for that we have to recompile it first. The process is documented at Building the System from Source:
  ...
  +&gt; Then we can copy the bsd kernel to the guest machine and keep the bsd.gdb on the host to start the remote debugging via gdb.
  +&gt; Remote debugging kernel
  +&gt; Now it's to time to boot the guest with the new custom kernel. Remember that the -s argument enables the gdb server on qemu on localhost port 1234 by default:
  $ qemu-system-x86</em>64 -m 256M -s \
     -net nic -net user \
  -drive format=raw,file=install63.fs \
  +&gt; Now to finally attach to the running kernel:</blockquote></li>
  </ul>
  <hr>


<h2>Interview - Patrick Mooney - Software Engineer <a href="pmooney@pfmooney.com" target="_blank" rel="nofollow noopener">pmooney@pfmooney.com</a> / <a href="https://twitter.com/pfmooney" target="_blank" rel="nofollow noopener">@pfmooney</a></h2>

<ul>
<li>BR: How did you first get introduced to UNIX?</li>
<li>AJ: What got you started contributing to an open source project?</li>
<li>BR: What sorts of things have you worked on in the past?</li>
<li>AJ: Can you tell us more about what attracted you to illumos?</li>
<li>BR: How did you get interested in, and started with, systems development?</li>
<li>AJ: When did you first get interested in bhyve?</li>
<li>BR: How much work was it to take the years-old port of bhyve and get it working on modern IllumOS?</li>
<li>AJ: What was the process for getting the bhyve port caught up to current FreeBSD?</li>
<li>BR: How usable is bhyve on illumOS?</li>
<li>AJ: What area are you most interested in improving in bhyve?</li>
<li>BR: Do you think the FreeBSD and illumos versions of bhyve will stay in sync with each other?</li>
<li>AJ: What do you do for fun?</li>
<li>BR: Anything else you want to mention?</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener">Setting up buildbot in FreeBSD Jails</a></h3>

<blockquote>
  <p>In this article, I would like to present a tutorial to set up buildbot, a continuous integration (CI) software (like Jenkins, drone, etc.), making use of FreeBSD’s containerization mechanism "jails". We will cover terminology, rationale for using both buildbot and jails together, and installation steps. At the end, you will have a working buildbot instance using its sample build configuration, ready to play around with your own CI plans (or even CD, it’s very flexible!). Some hints for production-grade installations are given, but the tutorial steps are meant for a test environment (namely a virtual machine). Buildbot’s configuration and detailed concepts are not in scope here.</p>
</blockquote>

<ul>
<li><p>Table of contents</p>

<ul><li>Choosing host operating system and version for buildbot</li>
<li>Create a FreeBSD playground</li>
<li>Introduction to jails</li>
<li>Overview of buildbot</li>
<li>Set up jails</li>
<li>Install buildbot master</li>
<li>Run buildbot master</li>
<li>Install buildbot worker</li>
<li>Run buildbot worker</li>
<li>Set up web server nginx to access buildbot UI</li>
<li>Run your first build</li>
<li>Production hints</li>
<li>Finished!</li></ul></li>
<li><p>Choosing host operating system and version for buildbot</p></li>
</ul>

<blockquote>
  <p>We choose the released version of FreeBSD (11.1-RELEASE at the moment). There is no particular reason for it, and as a matter of fact buildbot as a Python-based server is very cross-platform; therefore the underlying OS platform and version should not make a large difference.</p>
  
  <p>It will make a difference for what you do with buildbot, however. For instance, poudriere is the de-facto standard for building packages from source on FreeBSD. Builds run in jails which may be any FreeBSD base system version older or equal to the host’s version (reason will be explained below). In other words, if the host is FreeBSD 11.1, build jails created by poudriere could e.g. use 9.1, 10.3, 11.0, 11.1, but potentially not version 12 or newer because of incompatibilities with the host’s kernel (jails do not run their own kernel as full virtual machines do). To not prolong this article over the intended scope, the details of which nice things could be done or automated with buildbot are not covered.</p>
  
  <p>Package names on the FreeBSD platform are independent of the OS version, since external software (as in: not part of base system) is maintained in FreeBSD ports. So, if your chosen FreeBSD version (here: 11) is still officially supported, the packages mentioned in this post should work. In the unlikely event of package name changes before you read this article, you should be able to find the actual package names like pkg search buildbot.</p>
  
  <p>Other operating systems like the various Linux distributions will use different package names but might also offer buildbot pre-packaged. If not, the buildbot installation manual offers steps to install it manually. In such case, the downside is that you will have to maintain and update the buildbot modules outside the stability and (semi-)automatic updates of your OS packages.</p>
</blockquote>

<ul>
<li>See <a href="https://andidog.de/blog/2018-04-22-buildbot-setup-freebsd-jails" target="_blank" rel="nofollow noopener">article</a> for the rest</li>
</ul>

<hr>

<p><strong>DigitalOcean</strong></p>

<h3><a href="http://www.grenadille.net/post/2018/03/29/Dumping-your-USB" target="_blank" rel="nofollow noopener">Dumping your USB</a></h3>

<blockquote>
  <p>One of the many new features of OpenBSD 6.3 is the possibility to dump USB traffic to userland via bpf(4). This can be done with tcpdump(8) by specifying a USB bus as interface:</p>
</blockquote>

<p>```</p>

tcpdump -Xx -i usb0

<p>tcpdump: listening on usb0, link-type USBPCAP
12:28:03.317945 bus 0 &lt; addr 1: ep1 intr 2
  0000: 0400                                     ..</p>

<p>12:28:03.318018 bus 0 &gt; addr 1: ep0 ctrl 8
  0000: 00a3 0000 0002 0004 00                   ......... <br>
[...]
```</p>

<blockquote>
  <p>As you might have noted I decided to implement the existing USBPcap capture format. A capture format is required because USB packets do not include all the necessary information to properly interpret them. I first thought I would implement libpcap's DLT<em>USB but then I quickly realize that this was not a standard. It is instead a FreeBSD specific format which has been since then renamed DLT</em>USB<em>FREEBSD.
  But I didn't want to embrace xkcd #927, so I look at the existing formats: DLT</em>USB<em>FREEBSD, DLT</em>USB<em>LINUX, DLT</em>USB<em>LINUX</em>MMAPPED, DLT<em>USB</em>DARWIN and DLT_USBPCAP. I was first a bit sad to see that nobody could agree on a common format then I moved on and picked the simplest one: USBPcap.
  Implementing an already existing format gives us out-of-box support for all the tools supporting it. That's why having common formats let us share our energy. In the case of USBPcap it is already supported by Wireshark, so you can already inspect your packet graphically. For that you need to first capture raw packets:</p>
</blockquote>

<p>```</p>

tcpdump -s 3303 -w usb.pcap -i usb0

<p>tcpdump: listening on usb0, link-type USBPCAP
^C
208 packets received by filter
0 packets dropped by kernel
```</p>

<blockquote>
  <p>USB packets can be quite big, that's why I'm not using tcpdump(8)'s default packet size. In this case, I want to make sure I can dump the complete uaudio(4) frames.
  It is important to say that what is dumped to userland is what the USB stack sees. Packets sent on the wire might differ, especially when it comes to retries and timing. So this feature is not here to replace any USB analyser, however I hope that it will help people understand how things work and what the USB stack is doing. Even I found some interesting timing issues while implementing isochronous support.</p>
</blockquote>

<hr>

<h3><a href="https://www.romanzolotarev.com/openbsd/webserver.html" target="_blank" rel="nofollow noopener">Run OpenBSD on your web server</a></h3>

<ul>
<li><a href="https://www.romanzolotarev.com/vultr.html" target="_blank" rel="nofollow noopener">Deploy and login to your OpenBSD server first.</a></li>
</ul>

<blockquote>
  <p>As soon as you're there you can enable an httpd(8) daemon, it's already installed on OpenBSD, you just need to configure it:</p>
</blockquote>

<p><code>www# vi /etc/httpd.conf</code></p>

<ul>
<li>Add two server sections---one for www and another for naked domain (all requests are redirected to www).</li>
</ul>

<p>```
server "www.example.com" {
  listen on * port 80
  root "/htdocs/www.example.com"
}</p>

<p>server "example.com" {
  listen on * port 80
  block return 301 "http://www.example.com$REQUEST_URI"
}
```</p>

<ul>
<li>httpd is chrooted to /var/www by default, so let's make a document root directory:</li>
</ul>

<p><code>www# mkdir -p /var/www/htdocs/www.example.com</code></p>

<ul>
<li>Save and check this configuration:</li>
</ul>

<p><code>
www# httpd -n
configuration ok
</code></p>

<ul>
<li>Enable httpd(8) daemon and start it.</li>
</ul>

<p><code>
www# rcctl enable httpd
www# rcctl start httpd
</code></p>

<ul>
<li><p>Publish your website</p></li>
<li><p>Copy your website content into /var/www/htdocs/www.example.com and then test it your web browser.</p></li>
</ul>

<p><code>http://XXX.XXX.XXX.XXX/</code></p>

<blockquote>
  <p>Your web server should be up and running.</p>
</blockquote>

<ul>
<li>Update DNS records</li>
</ul>

<blockquote>
  <p>If there is another HTTPS server using this domain, configure that server to redirect all HTTPS requests to HTTP.</p>
  
  <p>Now as your new server is ready you can update DNS records accordingly.</p>
</blockquote>

<p><code>
    example.com. 300 IN     A XXX.XXX.XXX.XXX
www.example.com. 300 IN     A XXX.XXX.XXX.XXX
</code></p>

<ul>
<li>Examine your DNS is propagated.</li>
</ul>

<p><code>$ dig example.com www.example.com</code></p>

<ul>
<li><p>Check IP addresses it answer sections. If they are correct, you should be able to access your new web server by its domain name.</p></li>
<li><p><a href="https://www.romanzolotarev.com/openbsd/acme-client.html" target="_blank" rel="nofollow noopener">What's next? Enable HTTPS on your server.</a></p></li>
</ul>

<hr>

<h3><a href="https://euroquis.nl/bobulate/?p=1827" target="_blank" rel="nofollow noopener">Modern Akonadi and KMail on FreeBSD</a></h3>

<blockquote>
  <p>For, quite literally a year or more, KMail and Akonadi on FreeBSD have been only marginally useful, at best. KDE4 era KMail was pretty darn good, but everything after that has had a number of FreeBSD users tearing out their hair. Sure, you can go to Trojitá, which has its own special problems and is generally “meh”, or bail out entirely to webmail, but .. KMail is a really great mail client when it works. Which, on Linux desktops, is nearly always, and on FreeBSD, is was nearly never.</p>
  
  <p>I looked at it with Dan and Volker last summer, briefly, and we got not much further than “hmm”. There’s a message about “The world is going to end!” which hardly makes sense, it means that a message has been truncated or corrupted while traversing a UNIX domain socket.</p>
  
  <p>Now Alexandre Martins — praise be! — has wandered in with a likely solution. KDE Bug 381850 contains a suggestion, which deserves to be publicised (and tested):</p>
</blockquote>

<p><code>sysctl net.local.stream.recvspace=65536</code>
<code>sysctl net.local.stream.sendspace=65536</code></p>

<blockquote>
  <p>The default FreeBSD UNIX local socket buffer space is 8kiB. Bumping the size up to 64kiB — which matches the size that Linux has by default — suddenly makes KMail and Akonadi shine again. No other changes, no recompiling, just .. bump the sysctls (perhaps also in /etc/sysctl.conf) and KMail from Area51 hums along all day without ending the world.</p>
  
  <p>Since changing this value may have other effects, and Akonadi shouldn’t be dependent on a specific buffer size anyway, I’m looking into the Akonadi code (encouraged by Dan) to either automatically size the socket buffers, or to figure out where in the underlying code the assumption about buffer size lives. So for now, sysctl can make KMail users on FreeBSD happy, and later we hope to have things fully automatic (and if that doesn’t pan out, well, pkg-message exists).</p>
  
  <p>PS. Modern KDE PIM applications — Akonadi, KMail — which live in the deskutils/ category of the official FreeBSD ports were added to the official tree April 10th, so you can get your fix now from the official tree.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2018-April/335722.html" target="_blank" rel="nofollow noopener">pkg-provides support for DragonFly (from Rodrigo Osorio)</a></li>
<li><a href="https://monades.roperzh.com/memories-writing-parser-man-pages/" target="_blank" rel="nofollow noopener">Memories of writing a parser for man pages</a></li>
<li><a href="http://developeronfire.com/podcast/episode-198-bryan-cantrill-persistence-and-action" target="_blank" rel="nofollow noopener">Bryan Cantrill interview over at DeveloperOnFire podcast</a></li>
<li><a href="http://minnie.tuhs.org/pipermail/tuhs/2018-March/013285.html" target="_blank" rel="nofollow noopener">1978-03-25 - 2018-03-25: 40 years BSD Mail</a></li>
<li><a href="https://imgur.com/a/KOTJS" target="_blank" rel="nofollow noopener">My 5 years of FreeBSD gaming: a compendium of free games and engines running natively on FreeBSD</a></li>
<li><a href="https://reviews.freebsd.org/D15562" target="_blank" rel="nofollow noopener">Sequential Resilver being upstreamed to FreeBSD, from FreeNAS, where it was ported from ZFS-on-Linux</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-jobs/2018-May/000944.html" target="_blank" rel="nofollow noopener">University of Aberdeen’s Internet Transport Research Group is hiring  </a></li>
</ul>

<hr>

<p><strong>Tarsnap ad</strong></p>

<h2>Feedback/Questions</h2>

<ul>
<li>Dave - <a href="http://dpaste.com/0KHRB4Z#wrap" target="_blank" rel="nofollow noopener">mounting non-filesystem things inside jails</a></li>
<li>Morgan - <a href="http://dpaste.com/10QD42T#wrap" target="_blank" rel="nofollow noopener">ZFS on Linux Data loss bug</a></li>
<li>Rene - <a href="http://dpaste.com/30VM51S#wrap" target="_blank" rel="nofollow noopener">How to keep your ISP’s nose out of your browser history with encrypted DNS</a></li>
<li>Rodriguez - <a href="http://dpaste.com/3WVYR9D#wrap" target="_blank" rel="nofollow noopener">Feedback question! Relating to Windows</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 247: Interning for FreeBSD | BSD Now 247</title>
  <link>https://www.bsdnow.tv/247</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-1994</guid>
  <pubDate>Thu, 24 May 2018 15:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/31bf045b-2e53-459e-a40e-993a51ceccdb.mp3" length="54062460" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD internship learnings, exciting developments coming to FreeBSD, running FreeNAS on DigitalOcean, Network Manager control for OpenBSD, OpenZFS User Conference Videos are here and batch editing files with ed.</itunes:subtitle>
  <itunes:duration>1:29:59</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>&lt;p&gt;FreeBSD internship learnings, exciting developments coming to FreeBSD, running FreeNAS on DigitalOcean, Network Manager control for OpenBSD, OpenZFS User Conference Videos are here and batch editing files with ed.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/guest-blog-what-i-learned-during-my-freebsd-internship/" target="_blank" rel="nofollow noopener"&gt;What I learned during my FreeBSD intership&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Hi, my name is Mitchell Horne. I am a computer engineering student at the University of Waterloo, currently in my third year of studies, and fortunate to have been one of the FreeBSD Foundation’s co-op students this past term (January to April). During this time I worked under Ed Maste, in the Foundation’s small Kitchener office, along with another co-op student Arshan Khanifar. My term has now come to an end, and so I’d like to share a little bit about my experience as a newcomer to FreeBSD and open-source development.&lt;/p&gt;
  
  &lt;p&gt;I’ll begin with some quick background — and a small admission of guilt. I have been an open-source user for a large part of my life. When I was a teenager I started playing around with Linux, which opened my eyes to the wider world of free software. Other than some small contributions to GNOME, my experience has been mostly as an end user; however, the value of these projects and the open-source philosophy was not lost on me, and is most of what motivated my interest in this position. Before beginning this term I had no personal experience with any of the BSDs, although I knew of their existence and was extremely excited to receive the position. I knew it would be a great opportunity for growth, but I must confess that my naivety about FreeBSD caused me to make the silent assumption that this would be a form of compromise — a stepping stone that would eventually allow me to work on open-source projects that are somehow “greater” or more “legitimate”. After four months spent immersed in this project I have learned how it operates, witnessed its community, and learned about its history. I am happy to admit that I was completely mistaken. Saying it now seems obvious, but FreeBSD is a project with its own distinct uses, goals, and identity. For many there may exist no greater opportunity than to work on FreeBSD full time, and with what I know now I would have a hard time coming up with a project that is more “legitimate”.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What I Liked&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;In all cases, the work I submitted this term was reviewed by no less than two people before being committed. The feedback and criticism I received was always both constructive and to the point, and it commented on everything from high-level ideas to small style issues. I appreciate having these thorough reviews in place, since I believe it ultimately encourages people to accept only their best work. It is indicative of the high quality that already exists within every aspect of this project, and this commitment to quality is something that should continue to be honored as a core value. As I’ve discovered in some of my previous work terms, it is all too easy cut corners in the name of a deadline or changing priorities, but the fact that FreeBSD doesn’t need to make these types of compromises is a testament to the power of free software.&lt;/p&gt;
  
  &lt;p&gt;It’s a small thing, but the quality and completeness of the FreeBSD documentation was hugely helpful throughout my term. Everything you might need to know about utilities, library functions, the kernel, and more can be found in a man page; and the handbook is a great resource as both an introduction to the operating system and a reference. I only wish I had taken some time earlier in the term to explore the different documents more thoroughly, as they cover a wide range of interesting and useful topics. The effort people put into writing and maintaining FreeBSD’s documentation is easy to overlook, but its value cannot be overstated.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What I Learned&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Although there was a lot I enjoyed, there were certainly many struggles I faced throughout the term, and lessons to be learned from them. I expect that some of issues I faced may be specific to FreeBSD, while others may be common to open-source projects in general. I don’t have enough experience to speculate on which is which, so I will leave this to the reader.&lt;/p&gt;
  
  &lt;p&gt;The first lesson can be summed up simply: you have to advocate for your own work. FreeBSD is made up in large part by volunteer efforts, and in many cases there is more work to go around than people available to do it. A consequence of this is that there will not be anybody there to check up on you. Even in my position where I actually had a direct supervisor, Ed often had his plate full with so many other things that the responsibility to find someone to look at my work fell to me. Admittedly, a couple of smaller changes I worked on got left behind or stuck in review simply because there wasn’t a clear person/place to reach out to.&lt;/p&gt;
  
  &lt;p&gt;I think this is both a barrier of entry to FreeBSD and a mental hurdle that I needed to get over. If there’s a change you want to see included or reviewed, then you may have to be the one to push for it, and there’s nothing wrong with that. Perhaps this process should be easier for newcomers or infrequent contributors (the disconnect between Bugzilla and Phabricator definitely leaves a lot to be desired), but we also have to be aware that this simply isn’t the reality right now. Getting your work looked at may require a little bit more self-motivation, but I’d argue that there are much worse problems a project like FreeBSD could have than this.&lt;/p&gt;
  
  &lt;p&gt;I understand this a lot better now, but it is still something I struggle with. I’m not naturally the type of person who easily connects with others or asks for help, so I see this as an area for future growth rather than simply a struggle I encountered and overcame over the course of this work term. Certainly it is an important skill to understand the value of your own work, and equally important is the ability to communicate that value to others.&lt;/p&gt;
  
  &lt;p&gt;I also learned the importance of starting small. My first week or two on the job mainly involved getting set up and comfortable with the workflow. After this initial stage, I began exploring the project and found myself overwhelmed by its scale. With so many possible areas to investigate, and so much work happening at once, I felt quite lost on where to begin. Many of the potential projects I found were too far beyond my experience level, and most small bugs were picked up and fixed quickly by more experienced contributors before I could even get to them.&lt;/p&gt;
  
  &lt;p&gt;It’s easy to make the mistake that FreeBSD is made up solely of a few rock-star committers that do everything. This is how it appears at face-value, as reading through commits, bug reports, and mailing lists yields a few of the same names over and over. The reality is that just as important are the hundreds of users and infrequent contributors who take the time to submit bug reports, patches, or feedback. Even though there are some people who would fall under the umbrella of a rock-star committer, they didn’t get there overnight. Rather, they have built their skills and knowledge through many years of involvement in FreeBSD and similar projects.&lt;/p&gt;
  
  &lt;p&gt;As a student coming into this project and having high expectations of myself, it was easy to set the bar too high by comparing myself against those big committers, and feel that my work was insignificant, inadequate, and simply too infrequent. In reality, there is no reason I should have felt this way. In a way, this comparison is disrespectful to those who have reached this level, as it took them a long time to get there, and it’s a humbling reminder that any skill worth learning requires time, patience, and dedication. It is easy to focus on an end product and simply wish to be there, but in order to be truly successful one must start small, and find satisfaction in the struggle of learning something new. I take pride in the many small successes I’ve had throughout my term here, and appreciate the fact that my journey into FreeBSD and open-source software is only just beginning.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Closing Thoughts&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;I would like to close with some brief thank-you’s. First, to everyone at the Foundation for being so helpful, and allowing this position to exist in the first place. I am extremely grateful to have been given this unique opportunity to learn about and give back to the open-source world. I’d also like to thank my office mates; Ed: for being an excellent mentor, who offered an endless wealth of knowledge and willingness to share it. My classmate and fellow intern Arshan: for giving me a sense of camaraderie and the comforting reminder that at many moments he was as lost as I was. Finally, a quick thanks to everyone else I crossed paths with who offered reviews and advice. I appreciate your help and look forward to working with you all further.&lt;/p&gt;
  
  &lt;p&gt;I am walking away from this co-op with a much greater appreciation for this project, and have made it a goal to remain involved in some capacity. I feel that I’ve gained a little bit of a wider perspective on my place in the software world, something I never really got from my previous co-ops. Whether it ends up being just a stepping stone, or the beginning of much larger involvement, I thoroughly enjoyed my time here.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;Recent Developments in FreeBSD&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=333890" target="_blank" rel="nofollow noopener"&gt;Support for encrypted, compressed (gzip and zstd), and network crash dumps enabled by default on most platforms&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=333649" target="_blank" rel="nofollow noopener"&gt;Intel Microcode Splitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=334005" target="_blank" rel="nofollow noopener"&gt;Intel Spec Store Bypass Disable control&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=333713" target="_blank" rel="nofollow noopener"&gt;Raspberry Pi 3B+ Ethernet Driver&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reviews.freebsd.org/D15522" target="_blank" rel="nofollow noopener"&gt;IBRS for i386&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Upcoming:&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reviews.freebsd.org/D15523" target="_blank" rel="nofollow noopener"&gt;Microcode updater for AMD CPUs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reviews.freebsd.org/D15525" target="_blank" rel="nofollow noopener"&gt;the RACK TCP/IP stack, from Netflix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Voting in the FreeBSD Core Election begins today:&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;DigitalOcean&lt;/strong&gt;
&lt;a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener"&gt;Digital Ocean Promo Link for BSD Now Listeners&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://www.shlomimarco.com/blog/running-freenas-on-a-digitalocean-droplet" target="_blank" rel="nofollow noopener"&gt;Running FreeNAS on a DigitalOcean Droplet&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Need to backup your FreeNAS offsite? Run a locked down instance in the cloud, and replicate to it&lt;/li&gt;
&lt;li&gt;The tutorial walks though the steps of converting a fresh FreeBSD based droplet into a FreeNAS&lt;/li&gt;
&lt;li&gt;Create a droplet, and add a small secondary block-storage device&lt;/li&gt;
&lt;li&gt;Boot the droplet, login, and download FreeNAS&lt;/li&gt;
&lt;li&gt;Disable swap, enable ‘foot shooting’ mode in GEOM&lt;/li&gt;
&lt;li&gt;use dd to write the FreeNAS installer to the boot disk&lt;/li&gt;
&lt;li&gt;Reboot the droplet, and use the FreeNAS installer to install FreeNAS to the secondary block storage device&lt;/li&gt;
&lt;li&gt;Now, reimage the droplet with FreeBSD again, to replace the FreeNAS installer&lt;/li&gt;
&lt;li&gt;Boot, and dd FreeNAS from the secondary block storage device back to the boot disk&lt;/li&gt;
&lt;li&gt;You can now destroy the secondary block device&lt;/li&gt;
&lt;li&gt;Now you have a FreeNAS, and can take it from there.&lt;/li&gt;
&lt;li&gt;Use the FreeNAS replication wizard to configure sending snapshots from your home NAS to your cloud NAS&lt;/li&gt;
&lt;li&gt;Note: You might consider creating a new block storage device to create a larger pool, that you can more easily grow over time, rather than using the boot device in the droplet as your main pool.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://www.vincentdelft.be/post/post_20180411" target="_blank" rel="nofollow noopener"&gt;Network Manager Control for OpenBSD (Updated)&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Generalities&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I just remind the scope of this small tool:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;allow you to pre-define several cable or wifi connections&lt;/li&gt;
&lt;li&gt;let nmctl to connect automatically to the first available one&lt;/li&gt;
&lt;li&gt;allow you to easily switch from one network connection to an other one&lt;/li&gt;
&lt;li&gt;create openbox dynamic menus&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enhancements in this version&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;This is my second development version: 0.2.
  I've added performed several changes in the code:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;code style cleanup, to better match the python recommendations&lt;/li&gt;
&lt;li&gt;adapt the tool to allow to connect to an Open-wifi having blancs in the name. This happens in some hotels&lt;/li&gt;
&lt;li&gt;implement a loop as work-around concerning the arp table issue.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;The source code is still on the git of Sourceforge.net. 
   You can see the files &lt;a href="https://sourceforge.net/p/nmctl/code/ci/master/tree/" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;&lt;/p&gt;
  
  &lt;p&gt;And you can download the last version &lt;a href="https://sourceforge.net/p/nmctl/code/ci/master/tarball" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Feedbacks after few months&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;I'm using this script on my OpenBSD laptop since about 5 months. In my case, I'm mainly using the openbox menus and the --restart option.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Openbox menus&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;The openbox menus are working fine. As explain in my previous blog, I just have to create 2 entries in my openbox's menu.xml file, and all the rest comes automatically from nmctl itself thanks to the --list and --scan options.
  I've not changed this part of nmctl since it works as expected (for me :-) ).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The --restart option&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Because I'm very lazy, and because OpenBSD is very simple to use, I've added the command "nmctl --restart" in the /etc/apm/resume script. Thanks to apmd, this script will be used each time I'm opening the lid of my laptop. 
  In other words, each time I'll opening my laptop, nmctl will search the optimum network connection for me.
  But I had several issues in this scenario.
  Most of the problems were linked to the arp table issues. Indeed, in some circumstances, my proxy IP address was associated to the cable interface instead of the wifi interface or vice-versa. As consequence I'm not able to connect to the proxy, thus not able to connect to internet. So the ping to google (final test nmctl perform) is failing.
  Knowing that anyhow, I'm doing a full arp cleanup, it's not clear for me from where this problem come from. To solve this situation I've implemented a "retry" concept. In other words, before testing an another possible network connection (as listed in my /etc/nmctl.conf file), the script try 3x the current connection's parameters.
  If you want to reduce or increase this figures, you can do it via the --retry parameter.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Results of my expertise with this small tool&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Where ever I'm located, my laptop is now connecting automatically to the wifi / cable connection previously identified for this location.
  Currently I have 3 places where I have Wifi credentials and 2 offices places where I just have to plug the network cable.
  Since the /etc/apm/resume scripts is triggered when I open the lid of the laptop, I just have to make sure that I plug the RJ45 before opening the laptop. For the rest, I do not have to type any commands, OpenBSD do all what is needed ;-).
  I hotels or restaurants, I can just connect to the Open Wifi thanks to the openbox menu created by "nmctl --scan".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Next steps&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Documentation&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;The tool is missing lot of documentation. I appreciate OpenBSD for his great documentation, so I have to do the same.
  I plan to write a README and a man page at first instances.
  But since my laziness, I will do it as soon as I see some interest for this tool from other persons.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Tests&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;I now have to travel and see how to see the script react on the different situations.
  Interested persons are welcome to share with me the outcome of their tests.
  I'm curious how it work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://an.undulating.space/post/180411-erl-openbsd-upgrade/" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.3 on EdgeRouter Lite simple upgrade method&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;TL;DR&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;OpenBSD 6.3 oceton upgrade instructions may not factor that your ERL is running from the USB key they want wiped with the miniroot63.fs image loaded on.
  Place the bsd.rd for OpenBSD 6.3 on the sd0i slice used by U-Boot for the kernel, and then edit the boot command to run it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;a tiny upgrade&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;The OpenBSD documentation is comprehensive, but there might be rough corners around what are probably edge cases in their user base. People running EdgeRouter Lite hardware for example, who are looking to upgrade from 6.2 to 6.3.
  The documentation, which gave us everything we needed last time, left me with some questions about how to upgrade. In INSTALL.octeon, the Upgrading section does mention:
  The best solution, whenever possible, is to backup your data and reinstall from scratch
  I had to check if that directive existed in the documentation for other architectures. I wondered if oceton users were getting singled out. We were not. Just simplicity and pragmatism.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Reading on:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;To upgrade OpenBSD 6.3 from a previous version, start with the general instructions in the section "Installing OpenBSD".
  But that section requires us to boot off of TFTP or NFS. Which I don’t want to do right now. Could also use a USB stick with the miniroot63.fs installed on it.
  But as the ERL only has a single USB port, we would have to remove the USB stick with the current install on it. Once we get to the Install or Upgrade prompt, there would be nothing to upgrade.
  Well, I guess I could use a USB hub. But the ERL’s USB port is inside the case. With all the screws in. And the tools are neatly put away. And I’d have to pull the USB hub from behind a workstation. And it’s two am. And I cleaned up the cabling in the lab this past weekend. Looks nice for once.
  So I don’t want to futz around with all that.
  There must be an almost imperceptibly easier way of doing this than setting up a TFTP server or NFS share in five minutes… Right?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;
&lt;a href="https://www.ixsystems.com/blog/boisetechshow-2018/" target="_blank" rel="nofollow noopener"&gt;Boise Technology Show 2018 Recap&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://zfs.datto.com/" target="_blank" rel="nofollow noopener"&gt;OpenZFS User Conference Slides &amp;amp; Videos&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://vimeo.com/album/5150026/video/266112599" target="_blank" rel="nofollow noopener"&gt;Thank you ZFS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vimeo.com/album/5150026/video/266112475" target="_blank" rel="nofollow noopener"&gt;ZSTD Compression&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vimeo.com/album/5150026/video/266111164" target="_blank" rel="nofollow noopener"&gt;Pool Layout Considerations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vimeo.com/album/5150026/video/266111346" target="_blank" rel="nofollow noopener"&gt;ZFS Releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vimeo.com/album/5150026/video/266112077" target="_blank" rel="nofollow noopener"&gt;Helping Developers Help You&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vimeo.com/album/5150026/video/266112233" target="_blank" rel="nofollow noopener"&gt;ZFS and MySQL on Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vimeo.com/album/5150026/video/266110985" target="_blank" rel="nofollow noopener"&gt;Micron&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vimeo.com/album/5150026/video/266108105" target="_blank" rel="nofollow noopener"&gt;OSNEXUS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vimeo.com/album/5150026/video/266107946" target="_blank" rel="nofollow noopener"&gt;ZFS at Six Feet Up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://vimeo.com/album/5150026/video/266107372" target="_blank" rel="nofollow noopener"&gt;Flexible Disk Use with OpenZFS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://jvns.ca/blog/2018/05/11/batch-editing-files-with-ed/" target="_blank" rel="nofollow noopener"&gt;Batch editing files with ed&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;what’s ‘ed’?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;ed is this sort of terrifying text editor. A typical interaction with ed for me in the past has gone something like this:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;
$ ed
help
?
h
?
asdfasdfasdfsadf
?
&amp;lt;close terminal in frustration&amp;gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Basically if you do something wrong, ed will just print out a single, unhelpful, ?. So I’d basically dismissed ed as an old arcane Unix tool that had no practical use today.
  vi is a successor to ed, except with a visual interface instead of this ?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;surprise: Ed is actually sort of cool and fun&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;So if Ed is a terrifying thing that only prints ? at you, why am I writing a blog post about it? WELL!!!!
  On April 1 this year, Michael W Lucas published a new short book called Ed Mastery. I like his writing, and even though it was sort of an april fool’s joke, it was ALSO a legitimate actual real book, and so I bought it and read it to see if his claims that Ed is actually interesting were true.
  And it was so cool!!!! I found out:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;how to get Ed to give you better error messages than just ?&lt;/li&gt;
&lt;li&gt;that the name of the grep command comes from ed syntax (g/re/p)&lt;/li&gt;
&lt;li&gt;the basics of how to navigate and edit files using ed&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;All of that was a cool Unix history lesson, but did not make me want to actually use Ed in real life. But!!!&lt;/p&gt;
  
  &lt;p&gt;The other neat thing about Ed (that did make me want to use it!) is that any Ed session corresponds to a script that you can replay! So if I know Ed, then I can use Ed basically as a way to easily apply vim-macro-like programs to my files.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/3186" target="_blank" rel="nofollow noopener"&gt;FreeBSD Mastery: Jails -- Help make it happen &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=MsY-BafQgj4" target="_blank" rel="nofollow noopener"&gt;Video: OpenZFS Basics presented by George Wilson and Matt Ahrens at Scale 16x back in March 2018&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2018/05/17/21257.html" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD’s IPFW gets highspeed lockless in-kernel NAT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/openbsd/comments/8ei00k/a_love_letter_to_openbsd/" target="_blank" rel="nofollow noopener"&gt;A Love Letter to OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/3176" target="_blank" rel="nofollow noopener"&gt;New talks, and the F-bomb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://manpages.bsd.lv/mdoc.html" target="_blank" rel="nofollow noopener"&gt;Practical UNIX Manuals: mdoc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-advocacy/2018-May/004758.html" target="_blank" rel="nofollow noopener"&gt;BSD Meetup in Zurich: May 24th&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.eventbrite.com/e/the-polish-bsd-user-group-1-meetup-tickets-45941857332" target="_blank" rel="nofollow noopener"&gt;BSD Meetup in Warsaw: May 24th&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://meetbsd.com/" target="_blank" rel="nofollow noopener"&gt;MeetBSD 2018&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Seth - &lt;a href="http://dpaste.com/12R65X4#wrap" target="_blank" rel="nofollow noopener"&gt;First time poudriere Builder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Farhan - &lt;a href="http://dpaste.com/1GHCGY5#wrap" target="_blank" rel="nofollow noopener"&gt;Why we didn't go FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;architech - &lt;a href="http://dpaste.com/1H72FGE#wrap" target="_blank" rel="nofollow noopener"&gt;Encryption Feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dave - &lt;a href="http://dpaste.com/27YH93Y#wrap" target="_blank" rel="nofollow noopener"&gt;Handy Tip on setting up automated coredump handling for FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, FreeBSD Internship, FreeNAS, Digital Ocean, Network Manager, EdgeRouter Lite, OpenZFS, ed</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD internship learnings, exciting developments coming to FreeBSD, running FreeNAS on DigitalOcean, Network Manager control for OpenBSD, OpenZFS User Conference Videos are here and batch editing files with ed.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsdfoundation.org/blog/guest-blog-what-i-learned-during-my-freebsd-internship/" target="_blank" rel="nofollow noopener">What I learned during my FreeBSD intership</a></h3>

<blockquote>
  <p>Hi, my name is Mitchell Horne. I am a computer engineering student at the University of Waterloo, currently in my third year of studies, and fortunate to have been one of the FreeBSD Foundation’s co-op students this past term (January to April). During this time I worked under Ed Maste, in the Foundation’s small Kitchener office, along with another co-op student Arshan Khanifar. My term has now come to an end, and so I’d like to share a little bit about my experience as a newcomer to FreeBSD and open-source development.</p>
  
  <p>I’ll begin with some quick background — and a small admission of guilt. I have been an open-source user for a large part of my life. When I was a teenager I started playing around with Linux, which opened my eyes to the wider world of free software. Other than some small contributions to GNOME, my experience has been mostly as an end user; however, the value of these projects and the open-source philosophy was not lost on me, and is most of what motivated my interest in this position. Before beginning this term I had no personal experience with any of the BSDs, although I knew of their existence and was extremely excited to receive the position. I knew it would be a great opportunity for growth, but I must confess that my naivety about FreeBSD caused me to make the silent assumption that this would be a form of compromise — a stepping stone that would eventually allow me to work on open-source projects that are somehow “greater” or more “legitimate”. After four months spent immersed in this project I have learned how it operates, witnessed its community, and learned about its history. I am happy to admit that I was completely mistaken. Saying it now seems obvious, but FreeBSD is a project with its own distinct uses, goals, and identity. For many there may exist no greater opportunity than to work on FreeBSD full time, and with what I know now I would have a hard time coming up with a project that is more “legitimate”.</p>
</blockquote>

<ul>
<li>What I Liked</li>
</ul>

<blockquote>
  <p>In all cases, the work I submitted this term was reviewed by no less than two people before being committed. The feedback and criticism I received was always both constructive and to the point, and it commented on everything from high-level ideas to small style issues. I appreciate having these thorough reviews in place, since I believe it ultimately encourages people to accept only their best work. It is indicative of the high quality that already exists within every aspect of this project, and this commitment to quality is something that should continue to be honored as a core value. As I’ve discovered in some of my previous work terms, it is all too easy cut corners in the name of a deadline or changing priorities, but the fact that FreeBSD doesn’t need to make these types of compromises is a testament to the power of free software.</p>
  
  <p>It’s a small thing, but the quality and completeness of the FreeBSD documentation was hugely helpful throughout my term. Everything you might need to know about utilities, library functions, the kernel, and more can be found in a man page; and the handbook is a great resource as both an introduction to the operating system and a reference. I only wish I had taken some time earlier in the term to explore the different documents more thoroughly, as they cover a wide range of interesting and useful topics. The effort people put into writing and maintaining FreeBSD’s documentation is easy to overlook, but its value cannot be overstated.</p>
</blockquote>

<ul>
<li>What I Learned</li>
</ul>

<blockquote>
  <p>Although there was a lot I enjoyed, there were certainly many struggles I faced throughout the term, and lessons to be learned from them. I expect that some of issues I faced may be specific to FreeBSD, while others may be common to open-source projects in general. I don’t have enough experience to speculate on which is which, so I will leave this to the reader.</p>
  
  <p>The first lesson can be summed up simply: you have to advocate for your own work. FreeBSD is made up in large part by volunteer efforts, and in many cases there is more work to go around than people available to do it. A consequence of this is that there will not be anybody there to check up on you. Even in my position where I actually had a direct supervisor, Ed often had his plate full with so many other things that the responsibility to find someone to look at my work fell to me. Admittedly, a couple of smaller changes I worked on got left behind or stuck in review simply because there wasn’t a clear person/place to reach out to.</p>
  
  <p>I think this is both a barrier of entry to FreeBSD and a mental hurdle that I needed to get over. If there’s a change you want to see included or reviewed, then you may have to be the one to push for it, and there’s nothing wrong with that. Perhaps this process should be easier for newcomers or infrequent contributors (the disconnect between Bugzilla and Phabricator definitely leaves a lot to be desired), but we also have to be aware that this simply isn’t the reality right now. Getting your work looked at may require a little bit more self-motivation, but I’d argue that there are much worse problems a project like FreeBSD could have than this.</p>
  
  <p>I understand this a lot better now, but it is still something I struggle with. I’m not naturally the type of person who easily connects with others or asks for help, so I see this as an area for future growth rather than simply a struggle I encountered and overcame over the course of this work term. Certainly it is an important skill to understand the value of your own work, and equally important is the ability to communicate that value to others.</p>
  
  <p>I also learned the importance of starting small. My first week or two on the job mainly involved getting set up and comfortable with the workflow. After this initial stage, I began exploring the project and found myself overwhelmed by its scale. With so many possible areas to investigate, and so much work happening at once, I felt quite lost on where to begin. Many of the potential projects I found were too far beyond my experience level, and most small bugs were picked up and fixed quickly by more experienced contributors before I could even get to them.</p>
  
  <p>It’s easy to make the mistake that FreeBSD is made up solely of a few rock-star committers that do everything. This is how it appears at face-value, as reading through commits, bug reports, and mailing lists yields a few of the same names over and over. The reality is that just as important are the hundreds of users and infrequent contributors who take the time to submit bug reports, patches, or feedback. Even though there are some people who would fall under the umbrella of a rock-star committer, they didn’t get there overnight. Rather, they have built their skills and knowledge through many years of involvement in FreeBSD and similar projects.</p>
  
  <p>As a student coming into this project and having high expectations of myself, it was easy to set the bar too high by comparing myself against those big committers, and feel that my work was insignificant, inadequate, and simply too infrequent. In reality, there is no reason I should have felt this way. In a way, this comparison is disrespectful to those who have reached this level, as it took them a long time to get there, and it’s a humbling reminder that any skill worth learning requires time, patience, and dedication. It is easy to focus on an end product and simply wish to be there, but in order to be truly successful one must start small, and find satisfaction in the struggle of learning something new. I take pride in the many small successes I’ve had throughout my term here, and appreciate the fact that my journey into FreeBSD and open-source software is only just beginning.</p>
</blockquote>

<ul>
<li>Closing Thoughts</li>
</ul>

<blockquote>
  <p>I would like to close with some brief thank-you’s. First, to everyone at the Foundation for being so helpful, and allowing this position to exist in the first place. I am extremely grateful to have been given this unique opportunity to learn about and give back to the open-source world. I’d also like to thank my office mates; Ed: for being an excellent mentor, who offered an endless wealth of knowledge and willingness to share it. My classmate and fellow intern Arshan: for giving me a sense of camaraderie and the comforting reminder that at many moments he was as lost as I was. Finally, a quick thanks to everyone else I crossed paths with who offered reviews and advice. I appreciate your help and look forward to working with you all further.</p>
  
  <p>I am walking away from this co-op with a much greater appreciation for this project, and have made it a goal to remain involved in some capacity. I feel that I’ve gained a little bit of a wider perspective on my place in the software world, something I never really got from my previous co-ops. Whether it ends up being just a stepping stone, or the beginning of much larger involvement, I thoroughly enjoyed my time here.</p>
</blockquote>

<hr>

<h3>Recent Developments in FreeBSD</h3>

<ul>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=333890" target="_blank" rel="nofollow noopener">Support for encrypted, compressed (gzip and zstd), and network crash dumps enabled by default on most platforms</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=333649" target="_blank" rel="nofollow noopener">Intel Microcode Splitter</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=334005" target="_blank" rel="nofollow noopener">Intel Spec Store Bypass Disable control</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=333713" target="_blank" rel="nofollow noopener">Raspberry Pi 3B+ Ethernet Driver</a></li>
<li><a href="https://reviews.freebsd.org/D15522" target="_blank" rel="nofollow noopener">IBRS for i386</a></li>
<li>Upcoming:</li>
<li><a href="https://reviews.freebsd.org/D15523" target="_blank" rel="nofollow noopener">Microcode updater for AMD CPUs</a></li>
<li><a href="https://reviews.freebsd.org/D15525" target="_blank" rel="nofollow noopener">the RACK TCP/IP stack, from Netflix</a></li>
<li>Voting in the FreeBSD Core Election begins today:</li>
</ul>

<hr>

<p><strong>DigitalOcean</strong>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">Digital Ocean Promo Link for BSD Now Listeners</a></p>

<hr>

<h3><a href="http://www.shlomimarco.com/blog/running-freenas-on-a-digitalocean-droplet" target="_blank" rel="nofollow noopener">Running FreeNAS on a DigitalOcean Droplet</a></h3>

<ul>
<li>Need to backup your FreeNAS offsite? Run a locked down instance in the cloud, and replicate to it</li>
<li>The tutorial walks though the steps of converting a fresh FreeBSD based droplet into a FreeNAS</li>
<li>Create a droplet, and add a small secondary block-storage device</li>
<li>Boot the droplet, login, and download FreeNAS</li>
<li>Disable swap, enable ‘foot shooting’ mode in GEOM</li>
<li>use dd to write the FreeNAS installer to the boot disk</li>
<li>Reboot the droplet, and use the FreeNAS installer to install FreeNAS to the secondary block storage device</li>
<li>Now, reimage the droplet with FreeBSD again, to replace the FreeNAS installer</li>
<li>Boot, and dd FreeNAS from the secondary block storage device back to the boot disk</li>
<li>You can now destroy the secondary block device</li>
<li>Now you have a FreeNAS, and can take it from there.</li>
<li>Use the FreeNAS replication wizard to configure sending snapshots from your home NAS to your cloud NAS</li>
<li>Note: You might consider creating a new block storage device to create a larger pool, that you can more easily grow over time, rather than using the boot device in the droplet as your main pool.</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://www.vincentdelft.be/post/post_20180411" target="_blank" rel="nofollow noopener">Network Manager Control for OpenBSD (Updated)</a></h3>

<ul>
<li>Generalities</li>
<li><p>I just remind the scope of this small tool:</p>

<ul><li>allow you to pre-define several cable or wifi connections</li>
<li>let nmctl to connect automatically to the first available one</li>
<li>allow you to easily switch from one network connection to an other one</li>
<li>create openbox dynamic menus</li></ul></li>
<li><p>Enhancements in this version</p></li>
</ul>

<blockquote>
  <p>This is my second development version: 0.2.
  I've added performed several changes in the code:</p>
</blockquote>

<ul>
<li>code style cleanup, to better match the python recommendations</li>
<li>adapt the tool to allow to connect to an Open-wifi having blancs in the name. This happens in some hotels</li>
<li>implement a loop as work-around concerning the arp table issue.</li>
</ul>

<blockquote>
  <p>The source code is still on the git of Sourceforge.net. 
   You can see the files <a href="https://sourceforge.net/p/nmctl/code/ci/master/tree/" target="_blank" rel="nofollow noopener">here</a></p>
  
  <p>And you can download the last version <a href="https://sourceforge.net/p/nmctl/code/ci/master/tarball" target="_blank" rel="nofollow noopener">here</a></p>
</blockquote>

<ul>
<li>Feedbacks after few months</li>
</ul>

<blockquote>
  <p>I'm using this script on my OpenBSD laptop since about 5 months. In my case, I'm mainly using the openbox menus and the --restart option.</p>
</blockquote>

<ul>
<li>The Openbox menus</li>
</ul>

<blockquote>
  <p>The openbox menus are working fine. As explain in my previous blog, I just have to create 2 entries in my openbox's menu.xml file, and all the rest comes automatically from nmctl itself thanks to the --list and --scan options.
  I've not changed this part of nmctl since it works as expected (for me :-) ).</p>
</blockquote>

<ul>
<li>The --restart option</li>
</ul>

<blockquote>
  <p>Because I'm very lazy, and because OpenBSD is very simple to use, I've added the command "nmctl --restart" in the /etc/apm/resume script. Thanks to apmd, this script will be used each time I'm opening the lid of my laptop. 
  In other words, each time I'll opening my laptop, nmctl will search the optimum network connection for me.
  But I had several issues in this scenario.
  Most of the problems were linked to the arp table issues. Indeed, in some circumstances, my proxy IP address was associated to the cable interface instead of the wifi interface or vice-versa. As consequence I'm not able to connect to the proxy, thus not able to connect to internet. So the ping to google (final test nmctl perform) is failing.
  Knowing that anyhow, I'm doing a full arp cleanup, it's not clear for me from where this problem come from. To solve this situation I've implemented a "retry" concept. In other words, before testing an another possible network connection (as listed in my /etc/nmctl.conf file), the script try 3x the current connection's parameters.
  If you want to reduce or increase this figures, you can do it via the --retry parameter.</p>
</blockquote>

<ul>
<li>Results of my expertise with this small tool</li>
</ul>

<blockquote>
  <p>Where ever I'm located, my laptop is now connecting automatically to the wifi / cable connection previously identified for this location.
  Currently I have 3 places where I have Wifi credentials and 2 offices places where I just have to plug the network cable.
  Since the /etc/apm/resume scripts is triggered when I open the lid of the laptop, I just have to make sure that I plug the RJ45 before opening the laptop. For the rest, I do not have to type any commands, OpenBSD do all what is needed ;-).
  I hotels or restaurants, I can just connect to the Open Wifi thanks to the openbox menu created by "nmctl --scan".</p>
</blockquote>

<ul>
<li><p>Next steps</p></li>
<li><p>Documentation</p></li>
</ul>

<blockquote>
  <p>The tool is missing lot of documentation. I appreciate OpenBSD for his great documentation, so I have to do the same.
  I plan to write a README and a man page at first instances.
  But since my laziness, I will do it as soon as I see some interest for this tool from other persons.</p>
</blockquote>

<ul>
<li>Tests</li>
</ul>

<blockquote>
  <p>I now have to travel and see how to see the script react on the different situations.
  Interested persons are welcome to share with me the outcome of their tests.
  I'm curious how it work.</p>
</blockquote>

<hr>

<h3><a href="https://an.undulating.space/post/180411-erl-openbsd-upgrade/" target="_blank" rel="nofollow noopener">OpenBSD 6.3 on EdgeRouter Lite simple upgrade method</a></h3>

<ul>
<li>TL;DR</li>
</ul>

<blockquote>
  <p>OpenBSD 6.3 oceton upgrade instructions may not factor that your ERL is running from the USB key they want wiped with the miniroot63.fs image loaded on.
  Place the bsd.rd for OpenBSD 6.3 on the sd0i slice used by U-Boot for the kernel, and then edit the boot command to run it.</p>
</blockquote>

<ul>
<li>a tiny upgrade</li>
</ul>

<blockquote>
  <p>The OpenBSD documentation is comprehensive, but there might be rough corners around what are probably edge cases in their user base. People running EdgeRouter Lite hardware for example, who are looking to upgrade from 6.2 to 6.3.
  The documentation, which gave us everything we needed last time, left me with some questions about how to upgrade. In INSTALL.octeon, the Upgrading section does mention:
  The best solution, whenever possible, is to backup your data and reinstall from scratch
  I had to check if that directive existed in the documentation for other architectures. I wondered if oceton users were getting singled out. We were not. Just simplicity and pragmatism.</p>
</blockquote>

<ul>
<li>Reading on:</li>
</ul>

<blockquote>
  <p>To upgrade OpenBSD 6.3 from a previous version, start with the general instructions in the section "Installing OpenBSD".
  But that section requires us to boot off of TFTP or NFS. Which I don’t want to do right now. Could also use a USB stick with the miniroot63.fs installed on it.
  But as the ERL only has a single USB port, we would have to remove the USB stick with the current install on it. Once we get to the Install or Upgrade prompt, there would be nothing to upgrade.
  Well, I guess I could use a USB hub. But the ERL’s USB port is inside the case. With all the screws in. And the tools are neatly put away. And I’d have to pull the USB hub from behind a workstation. And it’s two am. And I cleaned up the cabling in the lab this past weekend. Looks nice for once.
  So I don’t want to futz around with all that.
  There must be an almost imperceptibly easier way of doing this than setting up a TFTP server or NFS share in five minutes… Right?</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong>
<a href="https://www.ixsystems.com/blog/boisetechshow-2018/" target="_blank" rel="nofollow noopener">Boise Technology Show 2018 Recap</a></p>

<h3><a href="http://zfs.datto.com/" target="_blank" rel="nofollow noopener">OpenZFS User Conference Slides &amp; Videos</a></h3>

<ul>
<li><a href="https://vimeo.com/album/5150026/video/266112599" target="_blank" rel="nofollow noopener">Thank you ZFS</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266112475" target="_blank" rel="nofollow noopener">ZSTD Compression</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266111164" target="_blank" rel="nofollow noopener">Pool Layout Considerations</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266111346" target="_blank" rel="nofollow noopener">ZFS Releases</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266112077" target="_blank" rel="nofollow noopener">Helping Developers Help You</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266112233" target="_blank" rel="nofollow noopener">ZFS and MySQL on Linux</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266110985" target="_blank" rel="nofollow noopener">Micron</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266108105" target="_blank" rel="nofollow noopener">OSNEXUS</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266107946" target="_blank" rel="nofollow noopener">ZFS at Six Feet Up</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266107372" target="_blank" rel="nofollow noopener">Flexible Disk Use with OpenZFS</a></li>
</ul>

<hr>

<h3><a href="https://jvns.ca/blog/2018/05/11/batch-editing-files-with-ed/" target="_blank" rel="nofollow noopener">Batch editing files with ed</a></h3>

<ul>
<li>what’s ‘ed’?</li>
</ul>

<blockquote>
  <p>ed is this sort of terrifying text editor. A typical interaction with ed for me in the past has gone something like this:</p>
</blockquote>

<p><code>
$ ed
help
?
h
?
asdfasdfasdfsadf
?
&lt;close terminal in frustration&gt;
</code></p>

<blockquote>
  <p>Basically if you do something wrong, ed will just print out a single, unhelpful, ?. So I’d basically dismissed ed as an old arcane Unix tool that had no practical use today.
  vi is a successor to ed, except with a visual interface instead of this ?</p>
</blockquote>

<ul>
<li>surprise: Ed is actually sort of cool and fun</li>
</ul>

<blockquote>
  <p>So if Ed is a terrifying thing that only prints ? at you, why am I writing a blog post about it? WELL!!!!
  On April 1 this year, Michael W Lucas published a new short book called Ed Mastery. I like his writing, and even though it was sort of an april fool’s joke, it was ALSO a legitimate actual real book, and so I bought it and read it to see if his claims that Ed is actually interesting were true.
  And it was so cool!!!! I found out:</p>
</blockquote>

<ul>
<li>how to get Ed to give you better error messages than just ?</li>
<li>that the name of the grep command comes from ed syntax (g/re/p)</li>
<li>the basics of how to navigate and edit files using ed</li>
</ul>

<blockquote>
  <p>All of that was a cool Unix history lesson, but did not make me want to actually use Ed in real life. But!!!</p>
  
  <p>The other neat thing about Ed (that did make me want to use it!) is that any Ed session corresponds to a script that you can replay! So if I know Ed, then I can use Ed basically as a way to easily apply vim-macro-like programs to my files.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blather.michaelwlucas.com/archives/3186" target="_blank" rel="nofollow noopener">FreeBSD Mastery: Jails -- Help make it happen </a></li>
<li><a href="https://www.youtube.com/watch?v=MsY-BafQgj4" target="_blank" rel="nofollow noopener">Video: OpenZFS Basics presented by George Wilson and Matt Ahrens at Scale 16x back in March 2018</a></li>
<li><a href="https://www.dragonflydigest.com/2018/05/17/21257.html" target="_blank" rel="nofollow noopener">DragonFlyBSD’s IPFW gets highspeed lockless in-kernel NAT</a></li>
<li><a href="https://www.reddit.com/r/openbsd/comments/8ei00k/a_love_letter_to_openbsd/" target="_blank" rel="nofollow noopener">A Love Letter to OpenBSD</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3176" target="_blank" rel="nofollow noopener">New talks, and the F-bomb</a></li>
<li><a href="https://manpages.bsd.lv/mdoc.html" target="_blank" rel="nofollow noopener">Practical UNIX Manuals: mdoc</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-advocacy/2018-May/004758.html" target="_blank" rel="nofollow noopener">BSD Meetup in Zurich: May 24th</a></li>
<li><a href="https://www.eventbrite.com/e/the-polish-bsd-user-group-1-meetup-tickets-45941857332" target="_blank" rel="nofollow noopener">BSD Meetup in Warsaw: May 24th</a></li>
<li><a href="http://meetbsd.com/" target="_blank" rel="nofollow noopener">MeetBSD 2018</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<h2>Feedback/Questions</h2>

<ul>
<li>Seth - <a href="http://dpaste.com/12R65X4#wrap" target="_blank" rel="nofollow noopener">First time poudriere Builder</a></li>
<li>Farhan - <a href="http://dpaste.com/1GHCGY5#wrap" target="_blank" rel="nofollow noopener">Why we didn't go FreeBSD</a></li>
<li>architech - <a href="http://dpaste.com/1H72FGE#wrap" target="_blank" rel="nofollow noopener">Encryption Feedback</a></li>
<li>Dave - <a href="http://dpaste.com/27YH93Y#wrap" target="_blank" rel="nofollow noopener">Handy Tip on setting up automated coredump handling for FreeBSD</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD internship learnings, exciting developments coming to FreeBSD, running FreeNAS on DigitalOcean, Network Manager control for OpenBSD, OpenZFS User Conference Videos are here and batch editing files with ed.</p>

<h2>Headlines</h2>

<h3><a href="https://www.freebsdfoundation.org/blog/guest-blog-what-i-learned-during-my-freebsd-internship/" target="_blank" rel="nofollow noopener">What I learned during my FreeBSD intership</a></h3>

<blockquote>
  <p>Hi, my name is Mitchell Horne. I am a computer engineering student at the University of Waterloo, currently in my third year of studies, and fortunate to have been one of the FreeBSD Foundation’s co-op students this past term (January to April). During this time I worked under Ed Maste, in the Foundation’s small Kitchener office, along with another co-op student Arshan Khanifar. My term has now come to an end, and so I’d like to share a little bit about my experience as a newcomer to FreeBSD and open-source development.</p>
  
  <p>I’ll begin with some quick background — and a small admission of guilt. I have been an open-source user for a large part of my life. When I was a teenager I started playing around with Linux, which opened my eyes to the wider world of free software. Other than some small contributions to GNOME, my experience has been mostly as an end user; however, the value of these projects and the open-source philosophy was not lost on me, and is most of what motivated my interest in this position. Before beginning this term I had no personal experience with any of the BSDs, although I knew of their existence and was extremely excited to receive the position. I knew it would be a great opportunity for growth, but I must confess that my naivety about FreeBSD caused me to make the silent assumption that this would be a form of compromise — a stepping stone that would eventually allow me to work on open-source projects that are somehow “greater” or more “legitimate”. After four months spent immersed in this project I have learned how it operates, witnessed its community, and learned about its history. I am happy to admit that I was completely mistaken. Saying it now seems obvious, but FreeBSD is a project with its own distinct uses, goals, and identity. For many there may exist no greater opportunity than to work on FreeBSD full time, and with what I know now I would have a hard time coming up with a project that is more “legitimate”.</p>
</blockquote>

<ul>
<li>What I Liked</li>
</ul>

<blockquote>
  <p>In all cases, the work I submitted this term was reviewed by no less than two people before being committed. The feedback and criticism I received was always both constructive and to the point, and it commented on everything from high-level ideas to small style issues. I appreciate having these thorough reviews in place, since I believe it ultimately encourages people to accept only their best work. It is indicative of the high quality that already exists within every aspect of this project, and this commitment to quality is something that should continue to be honored as a core value. As I’ve discovered in some of my previous work terms, it is all too easy cut corners in the name of a deadline or changing priorities, but the fact that FreeBSD doesn’t need to make these types of compromises is a testament to the power of free software.</p>
  
  <p>It’s a small thing, but the quality and completeness of the FreeBSD documentation was hugely helpful throughout my term. Everything you might need to know about utilities, library functions, the kernel, and more can be found in a man page; and the handbook is a great resource as both an introduction to the operating system and a reference. I only wish I had taken some time earlier in the term to explore the different documents more thoroughly, as they cover a wide range of interesting and useful topics. The effort people put into writing and maintaining FreeBSD’s documentation is easy to overlook, but its value cannot be overstated.</p>
</blockquote>

<ul>
<li>What I Learned</li>
</ul>

<blockquote>
  <p>Although there was a lot I enjoyed, there were certainly many struggles I faced throughout the term, and lessons to be learned from them. I expect that some of issues I faced may be specific to FreeBSD, while others may be common to open-source projects in general. I don’t have enough experience to speculate on which is which, so I will leave this to the reader.</p>
  
  <p>The first lesson can be summed up simply: you have to advocate for your own work. FreeBSD is made up in large part by volunteer efforts, and in many cases there is more work to go around than people available to do it. A consequence of this is that there will not be anybody there to check up on you. Even in my position where I actually had a direct supervisor, Ed often had his plate full with so many other things that the responsibility to find someone to look at my work fell to me. Admittedly, a couple of smaller changes I worked on got left behind or stuck in review simply because there wasn’t a clear person/place to reach out to.</p>
  
  <p>I think this is both a barrier of entry to FreeBSD and a mental hurdle that I needed to get over. If there’s a change you want to see included or reviewed, then you may have to be the one to push for it, and there’s nothing wrong with that. Perhaps this process should be easier for newcomers or infrequent contributors (the disconnect between Bugzilla and Phabricator definitely leaves a lot to be desired), but we also have to be aware that this simply isn’t the reality right now. Getting your work looked at may require a little bit more self-motivation, but I’d argue that there are much worse problems a project like FreeBSD could have than this.</p>
  
  <p>I understand this a lot better now, but it is still something I struggle with. I’m not naturally the type of person who easily connects with others or asks for help, so I see this as an area for future growth rather than simply a struggle I encountered and overcame over the course of this work term. Certainly it is an important skill to understand the value of your own work, and equally important is the ability to communicate that value to others.</p>
  
  <p>I also learned the importance of starting small. My first week or two on the job mainly involved getting set up and comfortable with the workflow. After this initial stage, I began exploring the project and found myself overwhelmed by its scale. With so many possible areas to investigate, and so much work happening at once, I felt quite lost on where to begin. Many of the potential projects I found were too far beyond my experience level, and most small bugs were picked up and fixed quickly by more experienced contributors before I could even get to them.</p>
  
  <p>It’s easy to make the mistake that FreeBSD is made up solely of a few rock-star committers that do everything. This is how it appears at face-value, as reading through commits, bug reports, and mailing lists yields a few of the same names over and over. The reality is that just as important are the hundreds of users and infrequent contributors who take the time to submit bug reports, patches, or feedback. Even though there are some people who would fall under the umbrella of a rock-star committer, they didn’t get there overnight. Rather, they have built their skills and knowledge through many years of involvement in FreeBSD and similar projects.</p>
  
  <p>As a student coming into this project and having high expectations of myself, it was easy to set the bar too high by comparing myself against those big committers, and feel that my work was insignificant, inadequate, and simply too infrequent. In reality, there is no reason I should have felt this way. In a way, this comparison is disrespectful to those who have reached this level, as it took them a long time to get there, and it’s a humbling reminder that any skill worth learning requires time, patience, and dedication. It is easy to focus on an end product and simply wish to be there, but in order to be truly successful one must start small, and find satisfaction in the struggle of learning something new. I take pride in the many small successes I’ve had throughout my term here, and appreciate the fact that my journey into FreeBSD and open-source software is only just beginning.</p>
</blockquote>

<ul>
<li>Closing Thoughts</li>
</ul>

<blockquote>
  <p>I would like to close with some brief thank-you’s. First, to everyone at the Foundation for being so helpful, and allowing this position to exist in the first place. I am extremely grateful to have been given this unique opportunity to learn about and give back to the open-source world. I’d also like to thank my office mates; Ed: for being an excellent mentor, who offered an endless wealth of knowledge and willingness to share it. My classmate and fellow intern Arshan: for giving me a sense of camaraderie and the comforting reminder that at many moments he was as lost as I was. Finally, a quick thanks to everyone else I crossed paths with who offered reviews and advice. I appreciate your help and look forward to working with you all further.</p>
  
  <p>I am walking away from this co-op with a much greater appreciation for this project, and have made it a goal to remain involved in some capacity. I feel that I’ve gained a little bit of a wider perspective on my place in the software world, something I never really got from my previous co-ops. Whether it ends up being just a stepping stone, or the beginning of much larger involvement, I thoroughly enjoyed my time here.</p>
</blockquote>

<hr>

<h3>Recent Developments in FreeBSD</h3>

<ul>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=333890" target="_blank" rel="nofollow noopener">Support for encrypted, compressed (gzip and zstd), and network crash dumps enabled by default on most platforms</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=333649" target="_blank" rel="nofollow noopener">Intel Microcode Splitter</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=334005" target="_blank" rel="nofollow noopener">Intel Spec Store Bypass Disable control</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=333713" target="_blank" rel="nofollow noopener">Raspberry Pi 3B+ Ethernet Driver</a></li>
<li><a href="https://reviews.freebsd.org/D15522" target="_blank" rel="nofollow noopener">IBRS for i386</a></li>
<li>Upcoming:</li>
<li><a href="https://reviews.freebsd.org/D15523" target="_blank" rel="nofollow noopener">Microcode updater for AMD CPUs</a></li>
<li><a href="https://reviews.freebsd.org/D15525" target="_blank" rel="nofollow noopener">the RACK TCP/IP stack, from Netflix</a></li>
<li>Voting in the FreeBSD Core Election begins today:</li>
</ul>

<hr>

<p><strong>DigitalOcean</strong>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">Digital Ocean Promo Link for BSD Now Listeners</a></p>

<hr>

<h3><a href="http://www.shlomimarco.com/blog/running-freenas-on-a-digitalocean-droplet" target="_blank" rel="nofollow noopener">Running FreeNAS on a DigitalOcean Droplet</a></h3>

<ul>
<li>Need to backup your FreeNAS offsite? Run a locked down instance in the cloud, and replicate to it</li>
<li>The tutorial walks though the steps of converting a fresh FreeBSD based droplet into a FreeNAS</li>
<li>Create a droplet, and add a small secondary block-storage device</li>
<li>Boot the droplet, login, and download FreeNAS</li>
<li>Disable swap, enable ‘foot shooting’ mode in GEOM</li>
<li>use dd to write the FreeNAS installer to the boot disk</li>
<li>Reboot the droplet, and use the FreeNAS installer to install FreeNAS to the secondary block storage device</li>
<li>Now, reimage the droplet with FreeBSD again, to replace the FreeNAS installer</li>
<li>Boot, and dd FreeNAS from the secondary block storage device back to the boot disk</li>
<li>You can now destroy the secondary block device</li>
<li>Now you have a FreeNAS, and can take it from there.</li>
<li>Use the FreeNAS replication wizard to configure sending snapshots from your home NAS to your cloud NAS</li>
<li>Note: You might consider creating a new block storage device to create a larger pool, that you can more easily grow over time, rather than using the boot device in the droplet as your main pool.</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://www.vincentdelft.be/post/post_20180411" target="_blank" rel="nofollow noopener">Network Manager Control for OpenBSD (Updated)</a></h3>

<ul>
<li>Generalities</li>
<li><p>I just remind the scope of this small tool:</p>

<ul><li>allow you to pre-define several cable or wifi connections</li>
<li>let nmctl to connect automatically to the first available one</li>
<li>allow you to easily switch from one network connection to an other one</li>
<li>create openbox dynamic menus</li></ul></li>
<li><p>Enhancements in this version</p></li>
</ul>

<blockquote>
  <p>This is my second development version: 0.2.
  I've added performed several changes in the code:</p>
</blockquote>

<ul>
<li>code style cleanup, to better match the python recommendations</li>
<li>adapt the tool to allow to connect to an Open-wifi having blancs in the name. This happens in some hotels</li>
<li>implement a loop as work-around concerning the arp table issue.</li>
</ul>

<blockquote>
  <p>The source code is still on the git of Sourceforge.net. 
   You can see the files <a href="https://sourceforge.net/p/nmctl/code/ci/master/tree/" target="_blank" rel="nofollow noopener">here</a></p>
  
  <p>And you can download the last version <a href="https://sourceforge.net/p/nmctl/code/ci/master/tarball" target="_blank" rel="nofollow noopener">here</a></p>
</blockquote>

<ul>
<li>Feedbacks after few months</li>
</ul>

<blockquote>
  <p>I'm using this script on my OpenBSD laptop since about 5 months. In my case, I'm mainly using the openbox menus and the --restart option.</p>
</blockquote>

<ul>
<li>The Openbox menus</li>
</ul>

<blockquote>
  <p>The openbox menus are working fine. As explain in my previous blog, I just have to create 2 entries in my openbox's menu.xml file, and all the rest comes automatically from nmctl itself thanks to the --list and --scan options.
  I've not changed this part of nmctl since it works as expected (for me :-) ).</p>
</blockquote>

<ul>
<li>The --restart option</li>
</ul>

<blockquote>
  <p>Because I'm very lazy, and because OpenBSD is very simple to use, I've added the command "nmctl --restart" in the /etc/apm/resume script. Thanks to apmd, this script will be used each time I'm opening the lid of my laptop. 
  In other words, each time I'll opening my laptop, nmctl will search the optimum network connection for me.
  But I had several issues in this scenario.
  Most of the problems were linked to the arp table issues. Indeed, in some circumstances, my proxy IP address was associated to the cable interface instead of the wifi interface or vice-versa. As consequence I'm not able to connect to the proxy, thus not able to connect to internet. So the ping to google (final test nmctl perform) is failing.
  Knowing that anyhow, I'm doing a full arp cleanup, it's not clear for me from where this problem come from. To solve this situation I've implemented a "retry" concept. In other words, before testing an another possible network connection (as listed in my /etc/nmctl.conf file), the script try 3x the current connection's parameters.
  If you want to reduce or increase this figures, you can do it via the --retry parameter.</p>
</blockquote>

<ul>
<li>Results of my expertise with this small tool</li>
</ul>

<blockquote>
  <p>Where ever I'm located, my laptop is now connecting automatically to the wifi / cable connection previously identified for this location.
  Currently I have 3 places where I have Wifi credentials and 2 offices places where I just have to plug the network cable.
  Since the /etc/apm/resume scripts is triggered when I open the lid of the laptop, I just have to make sure that I plug the RJ45 before opening the laptop. For the rest, I do not have to type any commands, OpenBSD do all what is needed ;-).
  I hotels or restaurants, I can just connect to the Open Wifi thanks to the openbox menu created by "nmctl --scan".</p>
</blockquote>

<ul>
<li><p>Next steps</p></li>
<li><p>Documentation</p></li>
</ul>

<blockquote>
  <p>The tool is missing lot of documentation. I appreciate OpenBSD for his great documentation, so I have to do the same.
  I plan to write a README and a man page at first instances.
  But since my laziness, I will do it as soon as I see some interest for this tool from other persons.</p>
</blockquote>

<ul>
<li>Tests</li>
</ul>

<blockquote>
  <p>I now have to travel and see how to see the script react on the different situations.
  Interested persons are welcome to share with me the outcome of their tests.
  I'm curious how it work.</p>
</blockquote>

<hr>

<h3><a href="https://an.undulating.space/post/180411-erl-openbsd-upgrade/" target="_blank" rel="nofollow noopener">OpenBSD 6.3 on EdgeRouter Lite simple upgrade method</a></h3>

<ul>
<li>TL;DR</li>
</ul>

<blockquote>
  <p>OpenBSD 6.3 oceton upgrade instructions may not factor that your ERL is running from the USB key they want wiped with the miniroot63.fs image loaded on.
  Place the bsd.rd for OpenBSD 6.3 on the sd0i slice used by U-Boot for the kernel, and then edit the boot command to run it.</p>
</blockquote>

<ul>
<li>a tiny upgrade</li>
</ul>

<blockquote>
  <p>The OpenBSD documentation is comprehensive, but there might be rough corners around what are probably edge cases in their user base. People running EdgeRouter Lite hardware for example, who are looking to upgrade from 6.2 to 6.3.
  The documentation, which gave us everything we needed last time, left me with some questions about how to upgrade. In INSTALL.octeon, the Upgrading section does mention:
  The best solution, whenever possible, is to backup your data and reinstall from scratch
  I had to check if that directive existed in the documentation for other architectures. I wondered if oceton users were getting singled out. We were not. Just simplicity and pragmatism.</p>
</blockquote>

<ul>
<li>Reading on:</li>
</ul>

<blockquote>
  <p>To upgrade OpenBSD 6.3 from a previous version, start with the general instructions in the section "Installing OpenBSD".
  But that section requires us to boot off of TFTP or NFS. Which I don’t want to do right now. Could also use a USB stick with the miniroot63.fs installed on it.
  But as the ERL only has a single USB port, we would have to remove the USB stick with the current install on it. Once we get to the Install or Upgrade prompt, there would be nothing to upgrade.
  Well, I guess I could use a USB hub. But the ERL’s USB port is inside the case. With all the screws in. And the tools are neatly put away. And I’d have to pull the USB hub from behind a workstation. And it’s two am. And I cleaned up the cabling in the lab this past weekend. Looks nice for once.
  So I don’t want to futz around with all that.
  There must be an almost imperceptibly easier way of doing this than setting up a TFTP server or NFS share in five minutes… Right?</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong>
<a href="https://www.ixsystems.com/blog/boisetechshow-2018/" target="_blank" rel="nofollow noopener">Boise Technology Show 2018 Recap</a></p>

<h3><a href="http://zfs.datto.com/" target="_blank" rel="nofollow noopener">OpenZFS User Conference Slides &amp; Videos</a></h3>

<ul>
<li><a href="https://vimeo.com/album/5150026/video/266112599" target="_blank" rel="nofollow noopener">Thank you ZFS</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266112475" target="_blank" rel="nofollow noopener">ZSTD Compression</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266111164" target="_blank" rel="nofollow noopener">Pool Layout Considerations</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266111346" target="_blank" rel="nofollow noopener">ZFS Releases</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266112077" target="_blank" rel="nofollow noopener">Helping Developers Help You</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266112233" target="_blank" rel="nofollow noopener">ZFS and MySQL on Linux</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266110985" target="_blank" rel="nofollow noopener">Micron</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266108105" target="_blank" rel="nofollow noopener">OSNEXUS</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266107946" target="_blank" rel="nofollow noopener">ZFS at Six Feet Up</a></li>
<li><a href="https://vimeo.com/album/5150026/video/266107372" target="_blank" rel="nofollow noopener">Flexible Disk Use with OpenZFS</a></li>
</ul>

<hr>

<h3><a href="https://jvns.ca/blog/2018/05/11/batch-editing-files-with-ed/" target="_blank" rel="nofollow noopener">Batch editing files with ed</a></h3>

<ul>
<li>what’s ‘ed’?</li>
</ul>

<blockquote>
  <p>ed is this sort of terrifying text editor. A typical interaction with ed for me in the past has gone something like this:</p>
</blockquote>

<p><code>
$ ed
help
?
h
?
asdfasdfasdfsadf
?
&lt;close terminal in frustration&gt;
</code></p>

<blockquote>
  <p>Basically if you do something wrong, ed will just print out a single, unhelpful, ?. So I’d basically dismissed ed as an old arcane Unix tool that had no practical use today.
  vi is a successor to ed, except with a visual interface instead of this ?</p>
</blockquote>

<ul>
<li>surprise: Ed is actually sort of cool and fun</li>
</ul>

<blockquote>
  <p>So if Ed is a terrifying thing that only prints ? at you, why am I writing a blog post about it? WELL!!!!
  On April 1 this year, Michael W Lucas published a new short book called Ed Mastery. I like his writing, and even though it was sort of an april fool’s joke, it was ALSO a legitimate actual real book, and so I bought it and read it to see if his claims that Ed is actually interesting were true.
  And it was so cool!!!! I found out:</p>
</blockquote>

<ul>
<li>how to get Ed to give you better error messages than just ?</li>
<li>that the name of the grep command comes from ed syntax (g/re/p)</li>
<li>the basics of how to navigate and edit files using ed</li>
</ul>

<blockquote>
  <p>All of that was a cool Unix history lesson, but did not make me want to actually use Ed in real life. But!!!</p>
  
  <p>The other neat thing about Ed (that did make me want to use it!) is that any Ed session corresponds to a script that you can replay! So if I know Ed, then I can use Ed basically as a way to easily apply vim-macro-like programs to my files.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blather.michaelwlucas.com/archives/3186" target="_blank" rel="nofollow noopener">FreeBSD Mastery: Jails -- Help make it happen </a></li>
<li><a href="https://www.youtube.com/watch?v=MsY-BafQgj4" target="_blank" rel="nofollow noopener">Video: OpenZFS Basics presented by George Wilson and Matt Ahrens at Scale 16x back in March 2018</a></li>
<li><a href="https://www.dragonflydigest.com/2018/05/17/21257.html" target="_blank" rel="nofollow noopener">DragonFlyBSD’s IPFW gets highspeed lockless in-kernel NAT</a></li>
<li><a href="https://www.reddit.com/r/openbsd/comments/8ei00k/a_love_letter_to_openbsd/" target="_blank" rel="nofollow noopener">A Love Letter to OpenBSD</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3176" target="_blank" rel="nofollow noopener">New talks, and the F-bomb</a></li>
<li><a href="https://manpages.bsd.lv/mdoc.html" target="_blank" rel="nofollow noopener">Practical UNIX Manuals: mdoc</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-advocacy/2018-May/004758.html" target="_blank" rel="nofollow noopener">BSD Meetup in Zurich: May 24th</a></li>
<li><a href="https://www.eventbrite.com/e/the-polish-bsd-user-group-1-meetup-tickets-45941857332" target="_blank" rel="nofollow noopener">BSD Meetup in Warsaw: May 24th</a></li>
<li><a href="http://meetbsd.com/" target="_blank" rel="nofollow noopener">MeetBSD 2018</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<h2>Feedback/Questions</h2>

<ul>
<li>Seth - <a href="http://dpaste.com/12R65X4#wrap" target="_blank" rel="nofollow noopener">First time poudriere Builder</a></li>
<li>Farhan - <a href="http://dpaste.com/1GHCGY5#wrap" target="_blank" rel="nofollow noopener">Why we didn't go FreeBSD</a></li>
<li>architech - <a href="http://dpaste.com/1H72FGE#wrap" target="_blank" rel="nofollow noopener">Encryption Feedback</a></li>
<li>Dave - <a href="http://dpaste.com/27YH93Y#wrap" target="_blank" rel="nofollow noopener">Handy Tip on setting up automated coredump handling for FreeBSD</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 246: Properly Coordinated Disclosure | BSD Now 246</title>
  <link>https://www.bsdnow.tv/246</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-1954</guid>
  <pubDate>Thu, 17 May 2018 01:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ef0afdeb-1a67-441c-9317-8405a2572cd6.mp3" length="54017115" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>How Intel docs were misinterpreted by almost any OS, a look at the mininet SDN emulator, do’s and don’ts for FreeBSD, OpenBSD community going gold, ed mastery is a must read, and the distributed object store minio on FreeBSD.</itunes:subtitle>
  <itunes:duration>1:29:54</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>&lt;p&gt;How Intel docs were misinterpreted by almost any OS, a look at the mininet SDN emulator, do’s and don’ts for FreeBSD, OpenBSD community going gold, ed mastery is a must read, and the distributed object store minio on FreeBSD.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.triplefault.io/2018/05/spurious-db-exceptions-with-pop-ss.html" target="_blank" rel="nofollow noopener"&gt;Intel documentation flaw sees instruction misimplemented in almost every OS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;A statement in the System Programming Guide of the Intel 64 and IA-32 Architectures Software Developer's Manual (SDM) was mishandled in the development of some or all operating-system kernels, resulting in unexpected behavior for #DB exceptions that are deferred by MOV SS or POP SS, as demonstrated by (for example) privilege escalation in Windows, macOS, some Xen configurations, or FreeBSD, or a Linux kernel crash.
  OS kernels may not expect this order of events and may therefore experience unexpected behavior when it occurs. 
  + A detailed white paper describes this behavior &lt;a href="http://everdox.net/popss.pdf" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;
  + &lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=333368" target="_blank" rel="nofollow noopener"&gt;FreeBSD Commit&lt;/a&gt;
  Thank you to the MSRC Incident Response Team, and in particular Greg Lenti and Nate Warfield, for coordinating the response to this issue across multiple vendors.
  Thanks to Computer Recycling at The Working Center of Kitchener for making hardware available to allow us to test the patch on additional CPU families.
  + &lt;a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-18:06.debugreg.asc" target="_blank" rel="nofollow noopener"&gt;FreeBSD Security Advisory&lt;/a&gt;
  + &lt;a href="https://www.dragonflydigest.com/2018/05/09/21231.html" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD Post&lt;/a&gt;
  + &lt;a href="https://www.kb.cert.org/vuls/id/CHEU-AYC3MZ" target="_blank" rel="nofollow noopener"&gt;NetBSD does not support debug register and so is not affected.&lt;/a&gt;
  + &lt;a href="https://www.kb.cert.org/vuls/id/CHEU-AYC3MR" target="_blank" rel="nofollow noopener"&gt;OpenBSD also appears to not be affected, “We are not aware of further vendor information regarding this vulnerability.”&lt;/a&gt;
  + &lt;a href="https://illumos.topicbox.com/groups/developer/T9cd475bd5497caa9" target="_blank" rel="nofollow noopener"&gt;IllumOS Not Impacted&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/guest-post-a-look-at-sdn-emulator-mininet/" target="_blank" rel="nofollow noopener"&gt;Guest Post – A Look at SDN Emulator Mininet&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A guest post on the FreeBSD Foundation’s blog by developer Ayaka Koshibe


&lt;blockquote&gt;
  At this year’s AsiaBSDCon, I presented a talk about a SDN network emulator called Mininet, and my ongoing work to make it more portable. That presentation was focused on the OpenBSD version of the port, and I breezed past the detail that I also had a version or Mininet working on FreeBSD. Because I was given the opportunity, I’d like to share a bit about the FreeBSD version of Mininet. It will not only be about what Mininet is and why it might be interesting, but also a recounting of my experience as a user making a first-time attempt at porting an application to FreeBSD.
  Mininet started off as a tool used by academic researchers to emulate OpenFlow networks when they didn’t have convenient access to actual networks. Because of its history, Mininet became associated strongly with networks that use OpenFlow for their control channels. But, it has also become fairly popular among developers working in, and among several universities for research and teaching about, SDN (Software Defined Networking)
  I began using Mininet as an intern at my university’s network research lab. I was using FreeBSD by that time, and wasn’t too happy to learn that Mininet wouldn’t work on anything but Linux. I gradually got tired of having to run a Linux VM just to use Mininet, and one day it clicked in my mind that I can actually try porting it to FreeBSD.
  Mininet creates a topology using the resource virtualization features that Linux has. Specifically, nodes are bash processes running in network namespaces, and the nodes are interconnected using veth virtual Ethernet links. Switches and controllers are just nodes whose shells have run the right commands to configure a software switch or start a controller application. Mininet can therefore be viewed as a series of Python libraries that run the system commands necessary to create network namespaces and veth interfaces, assemble a specified topology, and coordinate how user commands aimed at nodes (since they are just shells) are run.
  Coming back to the port, I chose to use vnet jails to replace the network namespaces, and epair(4) links to replace the veth links. For the SDN functionality, I needed at least one switch and controller that can be run on FreeBSD. I chose OpenvSwitch(OVS) for the switch, since it was available in ports and is well-known by the SDN world, and Ryu for the controller since it’s being actively developed and used and supports more recent versions of OpenFlow.
  I have discussed the possibility of upstreaming my work. Although they were excited about it, I was asked about a script for creating VMs with Mininet preinstalled, and continuous integration support for my fork of the repository. I started taking a look at the release scripts for creating a VM, and after seeing that it would be much easier to use the scripts if I can get Mininet and Ryu added to the ports tree, I also tried a hand at submitting some ports. For CI support, Mininet uses Travis, which unfortunately doesn’t support FreeBSD. For this, I plan to look at a minimalistic CI tool called contbuild, which looks simple enough to get running and is written portably.
  This is very much a work-in-progress, and one going at a glacial pace. Even though the company that I work for does use Mininet, but doesn’t use FreeBSD, so this is something that I’ve been working on in my free time. Earlier on, it was the learning curve that made progress slow. When I started, I hadn’t done anything more than run FreeBSD on a laptop, and uneventfully build a few applications from the ports tree. Right off the bat, using vnet jails meant learning how to build and run a custom kernel. This was the easy part, as the handbook was clear about how to do this. When I moved from using FreeBSD 10.3 to 11, I found that I can panic my machine by quickly creating and destroying OVS switches and jails. I submitted a bug report, but decided to go one step further and actually try to debug the panic for myself. With the help of a few people well-versed in systems programming and the developer’s handbook, I was able to come up with a fix, and get it accepted. This pretty much brings my porting experiment to the present day, where I’m slowly working out the pieces that I mentioned earlier.
  In the beginning, I thought that this Mininet port would be a weekend project where I come out knowing thing or two about using vnet jails and with one less VM to run. Instead, it became a crash course in building and debugging kernels and submitting bug reports, patches, and ports. It’d like to mention that I wouldn’t have gotten far at all if it weren’t for the helpful folks, the documentation, and how debuggable FreeBSD is. I enjoy good challenges and learning experiences, and this has definitely been both.&lt;/blockquote&gt;&lt;/li&gt;
  &lt;li&gt;Thank you to Ayaka for working to port Mininet to the BSDs, and for sharing her experiences with us.&lt;/li&gt;
  &lt;li&gt;If you want to see the OpenBSD version of the talk, the video from &lt;a href="https://www.youtube.com/watch?v=Vg9Czjm9aV8" target="_blank" rel="nofollow noopener"&gt;AsiaBSDCon is here&lt;/a&gt;, and it will be presented again at BSDCan.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr&gt;


**iXsystems**
[iXsystems LFNW Recap](https://www.ixsystems.com/blog/lfnw-2018-recap/)


&lt;hr&gt;





&lt;h3&gt;&lt;a href="https://forums.freebsd.org/threads/10-dos-and-dont-for-freebsd.65618/" target="_blank" rel="nofollow noopener"&gt;10 Beginner Do's and Don't for FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;1) Don't mix ports and binary packages&lt;/li&gt;
&lt;li&gt;2) Don't edit 'default' files&lt;/li&gt;
&lt;li&gt;3) Don't mess with /etc/crontab&lt;/li&gt;
&lt;li&gt;4) Don't mess with /etc/passwd and /etc/groups either!&lt;/li&gt;
&lt;li&gt;5) Reconsider the removal of any options from your customized kernel configuration&lt;/li&gt;
&lt;li&gt;6) Don't change the root shell to something else&lt;/li&gt;
&lt;li&gt;7) Don't use the root user all the time&lt;/li&gt;
&lt;li&gt;8) /var/backups is a thing&lt;/li&gt;
&lt;li&gt;9) Check system integrity using /etc/mtree&lt;/li&gt;
&lt;li&gt;10) What works for me doesn't have to work for you!&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180419060427" target="_blank" rel="nofollow noopener"&gt;OpenBSD Community Goes Gold for 2018!&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ken Westerback (krw@ when wearing his developer hat) writes:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;```
Monthly paypal donations from the OpenBSD community have made the community the OpenBSD Foundation's first Gold level contributor for 2018!&lt;/p&gt;

&lt;p&gt;2018 is the third consecutive year that the community has reached Gold status or better.&lt;/p&gt;

&lt;p&gt;These monthly paypal commitments by the community are our most reliable source of funds and thus the most useful for financial planning purposes. We are extremely thankful for the continuing support and hope the community matches their 2017 achievement of Platinum status. Or even their 2016 achievement of Iridium status.&lt;/p&gt;

&lt;p&gt;Sign up now for a monthly donation!&lt;/p&gt;

&lt;p&gt;Note that Bitcoin contributions have been re-enabled now that our Bitcoin intermediary has re-certified our Canadian paperwork.&lt;/p&gt;

&lt;p&gt;https://www.openbsdfoundation.org/donations.html
```&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://bsdly.blogspot.com/2018/04/ed1-mastery-is-must-for-real-unix-person.html" target="_blank" rel="nofollow noopener"&gt;ed(1) mastery is a must read for real unix people&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;In some circles on the Internet, your choice of text editor is a serious matter.&lt;/p&gt;
  
  &lt;p&gt;We've all seen the threads on mailing lits, USENET news groups and web forums about the relative merits of Emacs vs vi, including endless iterations of flame wars, and sometimes even involving lesser known or non-portable editing environments.&lt;/p&gt;
  
  &lt;p&gt;And then of course, from the Linux newbies we have seen an endless stream of tweeted graphical 'memes' about the editor vim (aka 'vi Improved') versus the various apparently friendlier-to-some options such as GNU nano. Apparently even the 'improved' version of the classical and ubiquitous vi(1) editor is a challenge even to exit for a significant subset of the younger generation.&lt;/p&gt;
  
  &lt;p&gt;Yes, your choice of text editor or editing environment is a serious matter. Mainly because text processing is so fundamental to our interactions with computers.&lt;/p&gt;
  
  &lt;p&gt;But for those of us who keep our systems on a real Unix (such as OpenBSD or FreeBSD), there is no real contest. The OpenBSD base system contains several text editors including vi(1) and the almost-emacs mg(1), but ed(1) remains the standard editor.&lt;/p&gt;
  
  &lt;p&gt;Now Michael Lucas has written a book to guide the as yet uninitiated to the fundamentals of the original Unix text editor. It is worth keeping in mind that much of Unix and its original standard text editor written back when the standard output and default user interface was more likely than not a printing terminal.&lt;/p&gt;
  
  &lt;p&gt;To some of us, reading and following the narrative of Ed Mastery is a trip down memory lane. To others, following along the text will illustrate the horror of the world of pre-graphic computer interfaces. For others again, the fact that ed(1) doesn't use your terminal settings much at all offers hope of fixing things when something or somebody screwed up your system so you don't have a working terminal for that visual editor.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;DigitalOcean&lt;/strong&gt;
&lt;a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener"&gt;Digital Ocean Promo Link for BSD Now Listeners&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://vermaden.wordpress.com/2018/04/16/distributed-object-storage-with-minio-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Distributed Object Storage with Minio on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Free and open source distributed object storage server compatible with Amazon S3 v2/v4 API. Offers data protection against hardware failures using erasure code and bitrot detection. Supports highly available distributed setup. Provides confidentiality, integrity and authenticity assurances for encrypted data with negligible performance overhead. Both server side and client side encryption are supported. Below is the image of example Minio setup.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://vermaden.files.wordpress.com/2018/04/minio-architecture-diagram-distributed.jpg?w=960" target="_blank" rel="nofollow noopener"&gt;Architecture Diagram &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Minio identifies itself as the ZFS of Cloud Object Storage. This guide will show You how to setup highly available distributed Minio storage on the FreeBSD operating system with ZFS as backend for Minio data. For convenience we will use FreeBSD Jails operating system level virtualization.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setup&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;The setup will assume that You have 3 datacenters and assumption that you have two datacenters in whose the most of the data must reside and that the third datacenter is used as a ‘quorum/witness’ role. Distributed Minio supports up to 16 nodes/drives total, so we may juggle with that number to balance data between desired datacenters. As we have 16 drives to allocate resources on 3 sites we will use 7 + 7 + 2 approach here. The datacenters where most of the data must reside have 7/16 ratio while the ‘quorum/witness’ datacenter have only 2/16 ratio. Thanks to built in Minio redundancy we may loose (turn off for example) any one of those machines and our object storage will still be available and ready to use for any purpose.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Jails&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;First we will create 3 jails for our proof of concept Minio setup, storage1 will have the ‘quorum/witness’ role while storage2 and storage3 will have the ‘data’ role. To distinguish commands I type on the host system and storageX Jail I use two different prompts, this way it should be obvious what command to execute and where.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;WeI know the FreeNAS people have been working on integrating this&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://kristaps.bsd.lv/kcgi/tutorial6.html" target="_blank" rel="nofollow noopener"&gt;Best practises for pledge(2) security&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Let's set the record straight for securing kcgi CGI and FastCGI applications with pledge(2). This is focussed on secure OpenBSD deployments.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Theory&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Internally, kcgi makes considerable use of available security tools. But it's also designed to be invoked in a secure environment. We'll start with pledge(2), which has been around on OpenBSD since version 5.9. If you're reading this tutorial, you're probably on OpenBSD, and you probably have knowledge of pledge(2).&lt;/p&gt;
  
  &lt;p&gt;How to begin? Read kcgi(3). It includes canonical information on which pledge(2) promises you'll need for each function in the library. This is just a tutorial—the manpage is canonical and overrides what you may read here.&lt;/p&gt;
  
  &lt;p&gt;Next, assess the promises that your application needs. From kcgi(3), it's easy to see which promises we'll need to start. You'll need to augment this list with whichever tools you're also using. The general push is to start with the broadest set of required promises, then restrict as quickly as possible. Sometimes this can be done in a single pledge(2), but other times it takes a few.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-April/014194.html" target="_blank" rel="nofollow noopener"&gt;April's London *BSD meetup - notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-May/014198.html" target="_blank" rel="nofollow noopener"&gt;May’s London *BSD Meetup: May 22nd &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2018.eurobsdcon.org/call-for-papers/" target="_blank" rel="nofollow noopener"&gt;Call for Papers for EuroBSDcon 2018&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/journal/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal March/April Desktop/Laptop issue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lwn.net/Articles/752063/" target="_blank" rel="nofollow noopener"&gt;LWN followup on the PostgreSQL fsync() issue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://awards.acm.org/outstanding-contribution" target="_blank" rel="nofollow noopener"&gt;The Association for Computing Machinery recognizes Steve Bourne for outstanding contributions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Ray - &lt;a href="http://dpaste.com/1F8RX6H#wrap" target="_blank" rel="nofollow noopener"&gt;Speaking at Conferences&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Casey - &lt;a href="http://dpaste.com/364FTMM#wrap" target="_blank" rel="nofollow noopener"&gt;Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jeremy - &lt;a href="http://dpaste.com/3GWHP9N#wrap" target="_blank" rel="nofollow noopener"&gt;zfs in the enterprise&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="https://wiki.freebsd.org/HAST" target="_blank" rel="nofollow noopener"&gt;HAST + ZFS&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Lars - &lt;a href="http://dpaste.com/1HDZFA3" target="_blank" rel="nofollow noopener"&gt;Civil Infrastructure Platform use of *BSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, MinIO, SDN Emulator Mininet, PostgresQL</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>How Intel docs were misinterpreted by almost any OS, a look at the mininet SDN emulator, do’s and don’ts for FreeBSD, OpenBSD community going gold, ed mastery is a must read, and the distributed object store minio on FreeBSD.</p>

<h2>Headlines</h2>

<h3><a href="https://www.triplefault.io/2018/05/spurious-db-exceptions-with-pop-ss.html" target="_blank" rel="nofollow noopener">Intel documentation flaw sees instruction misimplemented in almost every OS</a></h3>

<blockquote>
  <p>A statement in the System Programming Guide of the Intel 64 and IA-32 Architectures Software Developer's Manual (SDM) was mishandled in the development of some or all operating-system kernels, resulting in unexpected behavior for #DB exceptions that are deferred by MOV SS or POP SS, as demonstrated by (for example) privilege escalation in Windows, macOS, some Xen configurations, or FreeBSD, or a Linux kernel crash.
  OS kernels may not expect this order of events and may therefore experience unexpected behavior when it occurs. 
  + A detailed white paper describes this behavior <a href="http://everdox.net/popss.pdf" target="_blank" rel="nofollow noopener">here</a>
  + <a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=333368" target="_blank" rel="nofollow noopener">FreeBSD Commit</a>
  Thank you to the MSRC Incident Response Team, and in particular Greg Lenti and Nate Warfield, for coordinating the response to this issue across multiple vendors.
  Thanks to Computer Recycling at The Working Center of Kitchener for making hardware available to allow us to test the patch on additional CPU families.
  + <a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-18:06.debugreg.asc" target="_blank" rel="nofollow noopener">FreeBSD Security Advisory</a>
  + <a href="https://www.dragonflydigest.com/2018/05/09/21231.html" target="_blank" rel="nofollow noopener">DragonFlyBSD Post</a>
  + <a href="https://www.kb.cert.org/vuls/id/CHEU-AYC3MZ" target="_blank" rel="nofollow noopener">NetBSD does not support debug register and so is not affected.</a>
  + <a href="https://www.kb.cert.org/vuls/id/CHEU-AYC3MR" target="_blank" rel="nofollow noopener">OpenBSD also appears to not be affected, “We are not aware of further vendor information regarding this vulnerability.”</a>
  + <a href="https://illumos.topicbox.com/groups/developer/T9cd475bd5497caa9" target="_blank" rel="nofollow noopener">IllumOS Not Impacted</a></p>
</blockquote>

<hr>

<h3><a href="https://www.freebsdfoundation.org/blog/guest-post-a-look-at-sdn-emulator-mininet/" target="_blank" rel="nofollow noopener">Guest Post – A Look at SDN Emulator Mininet</a></h3>

<ul>
<li>A guest post on the FreeBSD Foundation’s blog by developer Ayaka Koshibe


<blockquote>
  At this year’s AsiaBSDCon, I presented a talk about a SDN network emulator called Mininet, and my ongoing work to make it more portable. That presentation was focused on the OpenBSD version of the port, and I breezed past the detail that I also had a version or Mininet working on FreeBSD. Because I was given the opportunity, I’d like to share a bit about the FreeBSD version of Mininet. It will not only be about what Mininet is and why it might be interesting, but also a recounting of my experience as a user making a first-time attempt at porting an application to FreeBSD.
  Mininet started off as a tool used by academic researchers to emulate OpenFlow networks when they didn’t have convenient access to actual networks. Because of its history, Mininet became associated strongly with networks that use OpenFlow for their control channels. But, it has also become fairly popular among developers working in, and among several universities for research and teaching about, SDN (Software Defined Networking)
  I began using Mininet as an intern at my university’s network research lab. I was using FreeBSD by that time, and wasn’t too happy to learn that Mininet wouldn’t work on anything but Linux. I gradually got tired of having to run a Linux VM just to use Mininet, and one day it clicked in my mind that I can actually try porting it to FreeBSD.
  Mininet creates a topology using the resource virtualization features that Linux has. Specifically, nodes are bash processes running in network namespaces, and the nodes are interconnected using veth virtual Ethernet links. Switches and controllers are just nodes whose shells have run the right commands to configure a software switch or start a controller application. Mininet can therefore be viewed as a series of Python libraries that run the system commands necessary to create network namespaces and veth interfaces, assemble a specified topology, and coordinate how user commands aimed at nodes (since they are just shells) are run.
  Coming back to the port, I chose to use vnet jails to replace the network namespaces, and epair(4) links to replace the veth links. For the SDN functionality, I needed at least one switch and controller that can be run on FreeBSD. I chose OpenvSwitch(OVS) for the switch, since it was available in ports and is well-known by the SDN world, and Ryu for the controller since it’s being actively developed and used and supports more recent versions of OpenFlow.
  I have discussed the possibility of upstreaming my work. Although they were excited about it, I was asked about a script for creating VMs with Mininet preinstalled, and continuous integration support for my fork of the repository. I started taking a look at the release scripts for creating a VM, and after seeing that it would be much easier to use the scripts if I can get Mininet and Ryu added to the ports tree, I also tried a hand at submitting some ports. For CI support, Mininet uses Travis, which unfortunately doesn’t support FreeBSD. For this, I plan to look at a minimalistic CI tool called contbuild, which looks simple enough to get running and is written portably.
  This is very much a work-in-progress, and one going at a glacial pace. Even though the company that I work for does use Mininet, but doesn’t use FreeBSD, so this is something that I’ve been working on in my free time. Earlier on, it was the learning curve that made progress slow. When I started, I hadn’t done anything more than run FreeBSD on a laptop, and uneventfully build a few applications from the ports tree. Right off the bat, using vnet jails meant learning how to build and run a custom kernel. This was the easy part, as the handbook was clear about how to do this. When I moved from using FreeBSD 10.3 to 11, I found that I can panic my machine by quickly creating and destroying OVS switches and jails. I submitted a bug report, but decided to go one step further and actually try to debug the panic for myself. With the help of a few people well-versed in systems programming and the developer’s handbook, I was able to come up with a fix, and get it accepted. This pretty much brings my porting experiment to the present day, where I’m slowly working out the pieces that I mentioned earlier.
  In the beginning, I thought that this Mininet port would be a weekend project where I come out knowing thing or two about using vnet jails and with one less VM to run. Instead, it became a crash course in building and debugging kernels and submitting bug reports, patches, and ports. It’d like to mention that I wouldn’t have gotten far at all if it weren’t for the helpful folks, the documentation, and how debuggable FreeBSD is. I enjoy good challenges and learning experiences, and this has definitely been both.</blockquote></li>
  <li>Thank you to Ayaka for working to port Mininet to the BSDs, and for sharing her experiences with us.</li>
  <li>If you want to see the OpenBSD version of the talk, the video from <a href="https://www.youtube.com/watch?v=Vg9Czjm9aV8" target="_blank" rel="nofollow noopener">AsiaBSDCon is here</a>, and it will be presented again at BSDCan.</li>
  </ul>
  <hr>


**iXsystems**
[iXsystems LFNW Recap](https://www.ixsystems.com/blog/lfnw-2018-recap/)


<hr>





<h3><a href="https://forums.freebsd.org/threads/10-dos-and-dont-for-freebsd.65618/" target="_blank" rel="nofollow noopener">10 Beginner Do's and Don't for FreeBSD</a></h3>

<ul>
<li>1) Don't mix ports and binary packages</li>
<li>2) Don't edit 'default' files</li>
<li>3) Don't mess with /etc/crontab</li>
<li>4) Don't mess with /etc/passwd and /etc/groups either!</li>
<li>5) Reconsider the removal of any options from your customized kernel configuration</li>
<li>6) Don't change the root shell to something else</li>
<li>7) Don't use the root user all the time</li>
<li>8) /var/backups is a thing</li>
<li>9) Check system integrity using /etc/mtree</li>
<li>10) What works for me doesn't have to work for you!</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180419060427" target="_blank" rel="nofollow noopener">OpenBSD Community Goes Gold for 2018!</a></h3>

<ul>
<li>Ken Westerback (krw@ when wearing his developer hat) writes:</li>
</ul>

<p>```
Monthly paypal donations from the OpenBSD community have made the community the OpenBSD Foundation's first Gold level contributor for 2018!</p>

<p>2018 is the third consecutive year that the community has reached Gold status or better.</p>

<p>These monthly paypal commitments by the community are our most reliable source of funds and thus the most useful for financial planning purposes. We are extremely thankful for the continuing support and hope the community matches their 2017 achievement of Platinum status. Or even their 2016 achievement of Iridium status.</p>

<p>Sign up now for a monthly donation!</p>

<p>Note that Bitcoin contributions have been re-enabled now that our Bitcoin intermediary has re-certified our Canadian paperwork.</p>

<p>https://www.openbsdfoundation.org/donations.html
```</p>

<hr>

<h3><a href="http://bsdly.blogspot.com/2018/04/ed1-mastery-is-must-for-real-unix-person.html" target="_blank" rel="nofollow noopener">ed(1) mastery is a must read for real unix people</a></h3>

<blockquote>
  <p>In some circles on the Internet, your choice of text editor is a serious matter.</p>
  
  <p>We've all seen the threads on mailing lits, USENET news groups and web forums about the relative merits of Emacs vs vi, including endless iterations of flame wars, and sometimes even involving lesser known or non-portable editing environments.</p>
  
  <p>And then of course, from the Linux newbies we have seen an endless stream of tweeted graphical 'memes' about the editor vim (aka 'vi Improved') versus the various apparently friendlier-to-some options such as GNU nano. Apparently even the 'improved' version of the classical and ubiquitous vi(1) editor is a challenge even to exit for a significant subset of the younger generation.</p>
  
  <p>Yes, your choice of text editor or editing environment is a serious matter. Mainly because text processing is so fundamental to our interactions with computers.</p>
  
  <p>But for those of us who keep our systems on a real Unix (such as OpenBSD or FreeBSD), there is no real contest. The OpenBSD base system contains several text editors including vi(1) and the almost-emacs mg(1), but ed(1) remains the standard editor.</p>
  
  <p>Now Michael Lucas has written a book to guide the as yet uninitiated to the fundamentals of the original Unix text editor. It is worth keeping in mind that much of Unix and its original standard text editor written back when the standard output and default user interface was more likely than not a printing terminal.</p>
  
  <p>To some of us, reading and following the narrative of Ed Mastery is a trip down memory lane. To others, following along the text will illustrate the horror of the world of pre-graphic computer interfaces. For others again, the fact that ed(1) doesn't use your terminal settings much at all offers hope of fixing things when something or somebody screwed up your system so you don't have a working terminal for that visual editor.</p>
</blockquote>

<hr>

<p><strong>DigitalOcean</strong>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">Digital Ocean Promo Link for BSD Now Listeners</a></p>

<hr>

<h3><a href="https://vermaden.wordpress.com/2018/04/16/distributed-object-storage-with-minio-on-freebsd/" target="_blank" rel="nofollow noopener">Distributed Object Storage with Minio on FreeBSD</a></h3>

<blockquote>
  <p>Free and open source distributed object storage server compatible with Amazon S3 v2/v4 API. Offers data protection against hardware failures using erasure code and bitrot detection. Supports highly available distributed setup. Provides confidentiality, integrity and authenticity assurances for encrypted data with negligible performance overhead. Both server side and client side encryption are supported. Below is the image of example Minio setup.</p>
</blockquote>

<ul>
<li><a href="https://vermaden.files.wordpress.com/2018/04/minio-architecture-diagram-distributed.jpg?w=960" target="_blank" rel="nofollow noopener">Architecture Diagram </a></li>
</ul>

<p>The Minio identifies itself as the ZFS of Cloud Object Storage. This guide will show You how to setup highly available distributed Minio storage on the FreeBSD operating system with ZFS as backend for Minio data. For convenience we will use FreeBSD Jails operating system level virtualization.</p>

<ul>
<li>Setup</li>
</ul>

<blockquote>
  <p>The setup will assume that You have 3 datacenters and assumption that you have two datacenters in whose the most of the data must reside and that the third datacenter is used as a ‘quorum/witness’ role. Distributed Minio supports up to 16 nodes/drives total, so we may juggle with that number to balance data between desired datacenters. As we have 16 drives to allocate resources on 3 sites we will use 7 + 7 + 2 approach here. The datacenters where most of the data must reside have 7/16 ratio while the ‘quorum/witness’ datacenter have only 2/16 ratio. Thanks to built in Minio redundancy we may loose (turn off for example) any one of those machines and our object storage will still be available and ready to use for any purpose.</p>
</blockquote>

<ul>
<li>Jails</li>
</ul>

<blockquote>
  <p>First we will create 3 jails for our proof of concept Minio setup, storage1 will have the ‘quorum/witness’ role while storage2 and storage3 will have the ‘data’ role. To distinguish commands I type on the host system and storageX Jail I use two different prompts, this way it should be obvious what command to execute and where.</p>
</blockquote>

<ul>
<li>WeI know the FreeNAS people have been working on integrating this</li>
</ul>

<hr>

<h3><a href="https://kristaps.bsd.lv/kcgi/tutorial6.html" target="_blank" rel="nofollow noopener">Best practises for pledge(2) security</a></h3>

<blockquote>
  <p>Let's set the record straight for securing kcgi CGI and FastCGI applications with pledge(2). This is focussed on secure OpenBSD deployments.</p>
</blockquote>

<ul>
<li>Theory</li>
</ul>

<blockquote>
  <p>Internally, kcgi makes considerable use of available security tools. But it's also designed to be invoked in a secure environment. We'll start with pledge(2), which has been around on OpenBSD since version 5.9. If you're reading this tutorial, you're probably on OpenBSD, and you probably have knowledge of pledge(2).</p>
  
  <p>How to begin? Read kcgi(3). It includes canonical information on which pledge(2) promises you'll need for each function in the library. This is just a tutorial—the manpage is canonical and overrides what you may read here.</p>
  
  <p>Next, assess the promises that your application needs. From kcgi(3), it's easy to see which promises we'll need to start. You'll need to augment this list with whichever tools you're also using. The general push is to start with the broadest set of required promises, then restrict as quickly as possible. Sometimes this can be done in a single pledge(2), but other times it takes a few.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-April/014194.html" target="_blank" rel="nofollow noopener">April's London *BSD meetup - notes</a></li>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-May/014198.html" target="_blank" rel="nofollow noopener">May’s London *BSD Meetup: May 22nd </a></li>
<li><a href="https://2018.eurobsdcon.org/call-for-papers/" target="_blank" rel="nofollow noopener">Call for Papers for EuroBSDcon 2018</a></li>
<li><a href="https://www.freebsdfoundation.org/journal/" target="_blank" rel="nofollow noopener">FreeBSD Journal March/April Desktop/Laptop issue</a></li>
<li><a href="https://lwn.net/Articles/752063/" target="_blank" rel="nofollow noopener">LWN followup on the PostgreSQL fsync() issue</a></li>
<li><a href="https://awards.acm.org/outstanding-contribution" target="_blank" rel="nofollow noopener">The Association for Computing Machinery recognizes Steve Bourne for outstanding contributions</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Ray - <a href="http://dpaste.com/1F8RX6H#wrap" target="_blank" rel="nofollow noopener">Speaking at Conferences</a></li>
<li>Casey - <a href="http://dpaste.com/364FTMM#wrap" target="_blank" rel="nofollow noopener">Questions</a></li>
<li>Jeremy - <a href="http://dpaste.com/3GWHP9N#wrap" target="_blank" rel="nofollow noopener">zfs in the enterprise</a>
<ul><li><a href="https://wiki.freebsd.org/HAST" target="_blank" rel="nofollow noopener">HAST + ZFS</a></li></ul></li>
<li>Lars - <a href="http://dpaste.com/1HDZFA3" target="_blank" rel="nofollow noopener">Civil Infrastructure Platform use of *BSD</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>How Intel docs were misinterpreted by almost any OS, a look at the mininet SDN emulator, do’s and don’ts for FreeBSD, OpenBSD community going gold, ed mastery is a must read, and the distributed object store minio on FreeBSD.</p>

<h2>Headlines</h2>

<h3><a href="https://www.triplefault.io/2018/05/spurious-db-exceptions-with-pop-ss.html" target="_blank" rel="nofollow noopener">Intel documentation flaw sees instruction misimplemented in almost every OS</a></h3>

<blockquote>
  <p>A statement in the System Programming Guide of the Intel 64 and IA-32 Architectures Software Developer's Manual (SDM) was mishandled in the development of some or all operating-system kernels, resulting in unexpected behavior for #DB exceptions that are deferred by MOV SS or POP SS, as demonstrated by (for example) privilege escalation in Windows, macOS, some Xen configurations, or FreeBSD, or a Linux kernel crash.
  OS kernels may not expect this order of events and may therefore experience unexpected behavior when it occurs. 
  + A detailed white paper describes this behavior <a href="http://everdox.net/popss.pdf" target="_blank" rel="nofollow noopener">here</a>
  + <a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=333368" target="_blank" rel="nofollow noopener">FreeBSD Commit</a>
  Thank you to the MSRC Incident Response Team, and in particular Greg Lenti and Nate Warfield, for coordinating the response to this issue across multiple vendors.
  Thanks to Computer Recycling at The Working Center of Kitchener for making hardware available to allow us to test the patch on additional CPU families.
  + <a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-18:06.debugreg.asc" target="_blank" rel="nofollow noopener">FreeBSD Security Advisory</a>
  + <a href="https://www.dragonflydigest.com/2018/05/09/21231.html" target="_blank" rel="nofollow noopener">DragonFlyBSD Post</a>
  + <a href="https://www.kb.cert.org/vuls/id/CHEU-AYC3MZ" target="_blank" rel="nofollow noopener">NetBSD does not support debug register and so is not affected.</a>
  + <a href="https://www.kb.cert.org/vuls/id/CHEU-AYC3MR" target="_blank" rel="nofollow noopener">OpenBSD also appears to not be affected, “We are not aware of further vendor information regarding this vulnerability.”</a>
  + <a href="https://illumos.topicbox.com/groups/developer/T9cd475bd5497caa9" target="_blank" rel="nofollow noopener">IllumOS Not Impacted</a></p>
</blockquote>

<hr>

<h3><a href="https://www.freebsdfoundation.org/blog/guest-post-a-look-at-sdn-emulator-mininet/" target="_blank" rel="nofollow noopener">Guest Post – A Look at SDN Emulator Mininet</a></h3>

<ul>
<li>A guest post on the FreeBSD Foundation’s blog by developer Ayaka Koshibe


<blockquote>
  At this year’s AsiaBSDCon, I presented a talk about a SDN network emulator called Mininet, and my ongoing work to make it more portable. That presentation was focused on the OpenBSD version of the port, and I breezed past the detail that I also had a version or Mininet working on FreeBSD. Because I was given the opportunity, I’d like to share a bit about the FreeBSD version of Mininet. It will not only be about what Mininet is and why it might be interesting, but also a recounting of my experience as a user making a first-time attempt at porting an application to FreeBSD.
  Mininet started off as a tool used by academic researchers to emulate OpenFlow networks when they didn’t have convenient access to actual networks. Because of its history, Mininet became associated strongly with networks that use OpenFlow for their control channels. But, it has also become fairly popular among developers working in, and among several universities for research and teaching about, SDN (Software Defined Networking)
  I began using Mininet as an intern at my university’s network research lab. I was using FreeBSD by that time, and wasn’t too happy to learn that Mininet wouldn’t work on anything but Linux. I gradually got tired of having to run a Linux VM just to use Mininet, and one day it clicked in my mind that I can actually try porting it to FreeBSD.
  Mininet creates a topology using the resource virtualization features that Linux has. Specifically, nodes are bash processes running in network namespaces, and the nodes are interconnected using veth virtual Ethernet links. Switches and controllers are just nodes whose shells have run the right commands to configure a software switch or start a controller application. Mininet can therefore be viewed as a series of Python libraries that run the system commands necessary to create network namespaces and veth interfaces, assemble a specified topology, and coordinate how user commands aimed at nodes (since they are just shells) are run.
  Coming back to the port, I chose to use vnet jails to replace the network namespaces, and epair(4) links to replace the veth links. For the SDN functionality, I needed at least one switch and controller that can be run on FreeBSD. I chose OpenvSwitch(OVS) for the switch, since it was available in ports and is well-known by the SDN world, and Ryu for the controller since it’s being actively developed and used and supports more recent versions of OpenFlow.
  I have discussed the possibility of upstreaming my work. Although they were excited about it, I was asked about a script for creating VMs with Mininet preinstalled, and continuous integration support for my fork of the repository. I started taking a look at the release scripts for creating a VM, and after seeing that it would be much easier to use the scripts if I can get Mininet and Ryu added to the ports tree, I also tried a hand at submitting some ports. For CI support, Mininet uses Travis, which unfortunately doesn’t support FreeBSD. For this, I plan to look at a minimalistic CI tool called contbuild, which looks simple enough to get running and is written portably.
  This is very much a work-in-progress, and one going at a glacial pace. Even though the company that I work for does use Mininet, but doesn’t use FreeBSD, so this is something that I’ve been working on in my free time. Earlier on, it was the learning curve that made progress slow. When I started, I hadn’t done anything more than run FreeBSD on a laptop, and uneventfully build a few applications from the ports tree. Right off the bat, using vnet jails meant learning how to build and run a custom kernel. This was the easy part, as the handbook was clear about how to do this. When I moved from using FreeBSD 10.3 to 11, I found that I can panic my machine by quickly creating and destroying OVS switches and jails. I submitted a bug report, but decided to go one step further and actually try to debug the panic for myself. With the help of a few people well-versed in systems programming and the developer’s handbook, I was able to come up with a fix, and get it accepted. This pretty much brings my porting experiment to the present day, where I’m slowly working out the pieces that I mentioned earlier.
  In the beginning, I thought that this Mininet port would be a weekend project where I come out knowing thing or two about using vnet jails and with one less VM to run. Instead, it became a crash course in building and debugging kernels and submitting bug reports, patches, and ports. It’d like to mention that I wouldn’t have gotten far at all if it weren’t for the helpful folks, the documentation, and how debuggable FreeBSD is. I enjoy good challenges and learning experiences, and this has definitely been both.</blockquote></li>
  <li>Thank you to Ayaka for working to port Mininet to the BSDs, and for sharing her experiences with us.</li>
  <li>If you want to see the OpenBSD version of the talk, the video from <a href="https://www.youtube.com/watch?v=Vg9Czjm9aV8" target="_blank" rel="nofollow noopener">AsiaBSDCon is here</a>, and it will be presented again at BSDCan.</li>
  </ul>
  <hr>


**iXsystems**
[iXsystems LFNW Recap](https://www.ixsystems.com/blog/lfnw-2018-recap/)


<hr>





<h3><a href="https://forums.freebsd.org/threads/10-dos-and-dont-for-freebsd.65618/" target="_blank" rel="nofollow noopener">10 Beginner Do's and Don't for FreeBSD</a></h3>

<ul>
<li>1) Don't mix ports and binary packages</li>
<li>2) Don't edit 'default' files</li>
<li>3) Don't mess with /etc/crontab</li>
<li>4) Don't mess with /etc/passwd and /etc/groups either!</li>
<li>5) Reconsider the removal of any options from your customized kernel configuration</li>
<li>6) Don't change the root shell to something else</li>
<li>7) Don't use the root user all the time</li>
<li>8) /var/backups is a thing</li>
<li>9) Check system integrity using /etc/mtree</li>
<li>10) What works for me doesn't have to work for you!</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180419060427" target="_blank" rel="nofollow noopener">OpenBSD Community Goes Gold for 2018!</a></h3>

<ul>
<li>Ken Westerback (krw@ when wearing his developer hat) writes:</li>
</ul>

<p>```
Monthly paypal donations from the OpenBSD community have made the community the OpenBSD Foundation's first Gold level contributor for 2018!</p>

<p>2018 is the third consecutive year that the community has reached Gold status or better.</p>

<p>These monthly paypal commitments by the community are our most reliable source of funds and thus the most useful for financial planning purposes. We are extremely thankful for the continuing support and hope the community matches their 2017 achievement of Platinum status. Or even their 2016 achievement of Iridium status.</p>

<p>Sign up now for a monthly donation!</p>

<p>Note that Bitcoin contributions have been re-enabled now that our Bitcoin intermediary has re-certified our Canadian paperwork.</p>

<p>https://www.openbsdfoundation.org/donations.html
```</p>

<hr>

<h3><a href="http://bsdly.blogspot.com/2018/04/ed1-mastery-is-must-for-real-unix-person.html" target="_blank" rel="nofollow noopener">ed(1) mastery is a must read for real unix people</a></h3>

<blockquote>
  <p>In some circles on the Internet, your choice of text editor is a serious matter.</p>
  
  <p>We've all seen the threads on mailing lits, USENET news groups and web forums about the relative merits of Emacs vs vi, including endless iterations of flame wars, and sometimes even involving lesser known or non-portable editing environments.</p>
  
  <p>And then of course, from the Linux newbies we have seen an endless stream of tweeted graphical 'memes' about the editor vim (aka 'vi Improved') versus the various apparently friendlier-to-some options such as GNU nano. Apparently even the 'improved' version of the classical and ubiquitous vi(1) editor is a challenge even to exit for a significant subset of the younger generation.</p>
  
  <p>Yes, your choice of text editor or editing environment is a serious matter. Mainly because text processing is so fundamental to our interactions with computers.</p>
  
  <p>But for those of us who keep our systems on a real Unix (such as OpenBSD or FreeBSD), there is no real contest. The OpenBSD base system contains several text editors including vi(1) and the almost-emacs mg(1), but ed(1) remains the standard editor.</p>
  
  <p>Now Michael Lucas has written a book to guide the as yet uninitiated to the fundamentals of the original Unix text editor. It is worth keeping in mind that much of Unix and its original standard text editor written back when the standard output and default user interface was more likely than not a printing terminal.</p>
  
  <p>To some of us, reading and following the narrative of Ed Mastery is a trip down memory lane. To others, following along the text will illustrate the horror of the world of pre-graphic computer interfaces. For others again, the fact that ed(1) doesn't use your terminal settings much at all offers hope of fixing things when something or somebody screwed up your system so you don't have a working terminal for that visual editor.</p>
</blockquote>

<hr>

<p><strong>DigitalOcean</strong>
<a href="http://do.co/bsdnow" target="_blank" rel="nofollow noopener">Digital Ocean Promo Link for BSD Now Listeners</a></p>

<hr>

<h3><a href="https://vermaden.wordpress.com/2018/04/16/distributed-object-storage-with-minio-on-freebsd/" target="_blank" rel="nofollow noopener">Distributed Object Storage with Minio on FreeBSD</a></h3>

<blockquote>
  <p>Free and open source distributed object storage server compatible with Amazon S3 v2/v4 API. Offers data protection against hardware failures using erasure code and bitrot detection. Supports highly available distributed setup. Provides confidentiality, integrity and authenticity assurances for encrypted data with negligible performance overhead. Both server side and client side encryption are supported. Below is the image of example Minio setup.</p>
</blockquote>

<ul>
<li><a href="https://vermaden.files.wordpress.com/2018/04/minio-architecture-diagram-distributed.jpg?w=960" target="_blank" rel="nofollow noopener">Architecture Diagram </a></li>
</ul>

<p>The Minio identifies itself as the ZFS of Cloud Object Storage. This guide will show You how to setup highly available distributed Minio storage on the FreeBSD operating system with ZFS as backend for Minio data. For convenience we will use FreeBSD Jails operating system level virtualization.</p>

<ul>
<li>Setup</li>
</ul>

<blockquote>
  <p>The setup will assume that You have 3 datacenters and assumption that you have two datacenters in whose the most of the data must reside and that the third datacenter is used as a ‘quorum/witness’ role. Distributed Minio supports up to 16 nodes/drives total, so we may juggle with that number to balance data between desired datacenters. As we have 16 drives to allocate resources on 3 sites we will use 7 + 7 + 2 approach here. The datacenters where most of the data must reside have 7/16 ratio while the ‘quorum/witness’ datacenter have only 2/16 ratio. Thanks to built in Minio redundancy we may loose (turn off for example) any one of those machines and our object storage will still be available and ready to use for any purpose.</p>
</blockquote>

<ul>
<li>Jails</li>
</ul>

<blockquote>
  <p>First we will create 3 jails for our proof of concept Minio setup, storage1 will have the ‘quorum/witness’ role while storage2 and storage3 will have the ‘data’ role. To distinguish commands I type on the host system and storageX Jail I use two different prompts, this way it should be obvious what command to execute and where.</p>
</blockquote>

<ul>
<li>WeI know the FreeNAS people have been working on integrating this</li>
</ul>

<hr>

<h3><a href="https://kristaps.bsd.lv/kcgi/tutorial6.html" target="_blank" rel="nofollow noopener">Best practises for pledge(2) security</a></h3>

<blockquote>
  <p>Let's set the record straight for securing kcgi CGI and FastCGI applications with pledge(2). This is focussed on secure OpenBSD deployments.</p>
</blockquote>

<ul>
<li>Theory</li>
</ul>

<blockquote>
  <p>Internally, kcgi makes considerable use of available security tools. But it's also designed to be invoked in a secure environment. We'll start with pledge(2), which has been around on OpenBSD since version 5.9. If you're reading this tutorial, you're probably on OpenBSD, and you probably have knowledge of pledge(2).</p>
  
  <p>How to begin? Read kcgi(3). It includes canonical information on which pledge(2) promises you'll need for each function in the library. This is just a tutorial—the manpage is canonical and overrides what you may read here.</p>
  
  <p>Next, assess the promises that your application needs. From kcgi(3), it's easy to see which promises we'll need to start. You'll need to augment this list with whichever tools you're also using. The general push is to start with the broadest set of required promises, then restrict as quickly as possible. Sometimes this can be done in a single pledge(2), but other times it takes a few.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-April/014194.html" target="_blank" rel="nofollow noopener">April's London *BSD meetup - notes</a></li>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-May/014198.html" target="_blank" rel="nofollow noopener">May’s London *BSD Meetup: May 22nd </a></li>
<li><a href="https://2018.eurobsdcon.org/call-for-papers/" target="_blank" rel="nofollow noopener">Call for Papers for EuroBSDcon 2018</a></li>
<li><a href="https://www.freebsdfoundation.org/journal/" target="_blank" rel="nofollow noopener">FreeBSD Journal March/April Desktop/Laptop issue</a></li>
<li><a href="https://lwn.net/Articles/752063/" target="_blank" rel="nofollow noopener">LWN followup on the PostgreSQL fsync() issue</a></li>
<li><a href="https://awards.acm.org/outstanding-contribution" target="_blank" rel="nofollow noopener">The Association for Computing Machinery recognizes Steve Bourne for outstanding contributions</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Ray - <a href="http://dpaste.com/1F8RX6H#wrap" target="_blank" rel="nofollow noopener">Speaking at Conferences</a></li>
<li>Casey - <a href="http://dpaste.com/364FTMM#wrap" target="_blank" rel="nofollow noopener">Questions</a></li>
<li>Jeremy - <a href="http://dpaste.com/3GWHP9N#wrap" target="_blank" rel="nofollow noopener">zfs in the enterprise</a>
<ul><li><a href="https://wiki.freebsd.org/HAST" target="_blank" rel="nofollow noopener">HAST + ZFS</a></li></ul></li>
<li>Lars - <a href="http://dpaste.com/1HDZFA3" target="_blank" rel="nofollow noopener">Civil Infrastructure Platform use of *BSD</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 245: ZFS User Conf 2018 | BSD Now 245</title>
  <link>https://www.bsdnow.tv/245</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-1913</guid>
  <pubDate>Thu, 10 May 2018 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b6503021-a9eb-471a-8089-2dc3647bc58c.mp3" length="61107427" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Allan’s recap of the ZFS User conference, first impressions of OmniOS by a BSD user, Nextcloud 13 setup on FreeBSD, OpenBSD on a fanless desktop computer, an intro to HardenedBSD, and DragonFlyBSD getting some SMP improvements.</itunes:subtitle>
  <itunes:duration>1:24:37</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>&lt;p&gt;Allan’s recap of the ZFS User conference, first impressions of OmniOS by a BSD user, Nextcloud 13 setup on FreeBSD, OpenBSD on a fanless desktop computer, an intro to HardenedBSD, and DragonFlyBSD getting some SMP improvements.&lt;br&gt;
&lt;/p&gt;&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;ZFS User Conference Recap&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Attendees met for breakfast on the fourth floor, in a lunchroom type area just outside of the theatre. One entire wall was made of lego base plates, and there were buckets of different coloured lego embedded in the wall.&lt;/li&gt;
&lt;li&gt;The talks started with Matt Ahrens discussing how the 2nd most requested feature of ZFS, Device Removal, has now landed, then pivoting into the MOST requested feature, RAID-Z expansion, and his work on that so far, which included the first functional prototype, on FreeBSD.&lt;/li&gt;
&lt;li&gt;Then our friend Calvin Hendryx-Parker presented how he solves all of his backup headaches with ZFS. I provided him some helpful hints to optimize his setup and improve the throughput of his backups&lt;/li&gt;
&lt;li&gt;Then Steven Umbehocker of OSNEXUS talked about their products, and how they manage large numbers of ZFS nodes&lt;/li&gt;
&lt;li&gt;After a very nice lunch, Orlando Pichardo of Micron talked about the future of flash, and their new 7.5TB SATA SSDs. Discussion of these devices after the talk may lead to enhancements to ZFS to better support these new larger flash devices that use larger logical sector sizes.&lt;/li&gt;
&lt;li&gt;Alek Pinchuk of Datto talked about Pool Layout Considerations&lt;/li&gt;
&lt;li&gt;then Tony Hutter of LLNL talked about the release process for ZFS on Linux&lt;/li&gt;
&lt;li&gt;Then Tom Caputi of Datto presented: Helping Developers Help You, guidance for users submitting bug reports, with some good and bad examples&lt;/li&gt;
&lt;li&gt;Then we had a nice cocktail party and dinner, and stayed late into the night talked about ZFS&lt;/li&gt;
&lt;li&gt;The next day, Jervin Real of Percona, presented: ZFS and MySQL on Linux, the Sweet Spots. Mostly outlining some benchmark they had done, some of the results were curious and some additional digging may turn up enhancements that can be made to ZFS, or just better tuning advice for high traffic MySQL servers.&lt;/li&gt;
&lt;li&gt;Then I presented my ZSTD compression work, which had been referenced in 2 of the previous talks, as people are anxious to get their hands on this code.&lt;/li&gt;
&lt;li&gt;Lastly, Eric Sproul of Circonus, gave his talk: Thank You, ZFS. It thanked ZFS and its Community for making their companies product possible, and then provided an update to his presentation from last year, where they were having problems with extremely high levels of ZFS fragmentation. This also sparked a longer conversation after the talk was over.&lt;/li&gt;
&lt;li&gt;Then we had a BBQ lunch, and after some more talking, the conference broke up.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.linuxquestions.org/questions/solaris-opensolaris-20/initial-omnios-impressions-by-a-bsd-user-4175626757/" target="_blank" rel="nofollow noopener"&gt;Initial OmniOS impressions by a BSD user&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;I had been using FreeBSD as my main web server OS since 2012 and I liked it so much that I even contributed money and code to it. However, since the FreeBSD guys (and gals) decided to install anti-tech feminism, I have been considering to move away from it for quite some time now.&lt;/p&gt;
  
  &lt;p&gt;As my growing needs require stronger hardware, it was finally time to rent a new server. I do not intend to run FreeBSD on it. Although the most obvious choice would be OpenBSD (I run it on another server and it works just fine), I plan to have a couple of databases running on the new machine, and database throughput has never been one of OpenBSD's strong points. This is my chance to give illumos another try. As neither WiFi nor desktop environments are relevant on a no-X11 server, the server-focused OmniOS seemed to fit my needs.&lt;/p&gt;
  
  &lt;p&gt;My current (to be phased out) setup on FreeBSD is:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;apache24 with SSL support, running five websites on six domains (both HTTP and HTTPS)&lt;/li&gt;
&lt;li&gt;a (somewhat large) Tiny Tiny RSS installation from git, updated via cronjob&lt;/li&gt;
&lt;li&gt;sbcl running a daily cronjob of my Web-to-RSS parser&lt;/li&gt;
&lt;li&gt;an FTP server where I share stuff with friends&lt;/li&gt;
&lt;li&gt;an IRC bouncer&lt;/li&gt;
&lt;li&gt;MariaDB and PostgreSQL for some of the hosted services&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;I would not consider anything of that too esoteric for a modern operating system. Since I was not really using anything mod_rewrite-related, I was perfectly ready to replace apache24 by nginx, remembering that the prepackaged apache24 on FreeBSD did not support HTTPS out of the box and I had ended up installing it from the ports. That is the only change in my setup which I am actively planning.&lt;/p&gt;
  
  &lt;p&gt;So here's what I noticed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;First impressions:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Hooray, a BSD boot loader! Finally an operating system without grub - I made my experiences with that and I don't want to repeat them too often.&lt;/p&gt;
  
  &lt;p&gt;It is weird that the installer won't accept "mydomain.org" as a hostname but sendmail complains that "mydomain" is not a valid hostname right from the start, OmniOS sent me into Maintenance Mode to fix that. A good start, right? So the first completely new thing I had to find out on my new shiny toy was how to change the hostname. There is no /etc/rc.conf in it and hostname mydomain.org was only valid for one login session. I found out that the hostname has to be changed in three different files under /etc on Solaris - the third one did not even exist for me. Changing the other two files seems to have solved this problem for me.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Random findings:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;~ I was wondering how many resources my (mostly idle) new web server was using - I always thought Solaris was rather fat, but it still felt fast to me.&lt;/p&gt;
  
  &lt;p&gt;Ah, right - we're in Unixland and we need to think outside of the box. This table was really helpful: although a number of things are different between OmniOS and SmartOS, I found out that the *stat tools do what top does. I could probably just install top from one of the package managers, but I failed to find a reason to do so. I had 99% idle CPU and RAM - that's all I wanted to know.&lt;/p&gt;
  
  &lt;p&gt;~ Trying to set up twtxt informed me that Python 3.6 (from pkgin) expects LANG and LC_ALL to be set. Weird - did FreeBSD do that for me? It's been a while ... at least that was easy to fix.&lt;/p&gt;
  
  &lt;p&gt;~ SMF - Solaris's version of init - confuses me. It has "levels" similar to Gentoo's OpenRC, but it mostly shuts up during the boot process. Stuff from pkgsrc, e.g. nginx, comes with a description how to set up the particular service, but I should probably read more about it. What if, one day, I install a package which is not made ready for OmniOS? I'll have to find out how to write SMF scripts. But that should not be my highest priority.&lt;/p&gt;
  
  &lt;p&gt;~ The OmniOS documentation talks a lot about "zones" which, if I understand that correctly, mostly equal FreeBSD's "jails". This could be my chance to try to respect a better separation between my various services - if my lazyness won't take over again. (It probably will.)&lt;/p&gt;
  
  &lt;p&gt;~ OmniOS's default shell - rather un-unixy - seems to be the bash. Update: I was informed about a mistake here: the default shell is ksh93, there are bogus .bashrc files lying around though.&lt;/p&gt;
  
  &lt;p&gt;~ Somewhere in between, my sshd had a hiccup or, at least, logging into it took longer than usual. If that happens again, I should investigate.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;By the time of me writing this, I have a basic web server with an awesome performance and a lot of applications ready to be configured only one click away. The more I play with it, the more I have the feeling that I have missed a lot while wasting my time with FreeBSD. For a system that is said to be "dying", OmniOS feels well-thought and, when equipped with a reasonable package management, comes with everything I need to reproduce my FreeBSD setup without losing functionality.&lt;/p&gt;
  
  &lt;p&gt;I'm looking forward to what will happen with it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;DigitalOcean&lt;/strong&gt;
http://do.co/bsdnow&lt;/p&gt;

&lt;h3&gt;[Open Source Hardware Camp 2018 — Sat 30/06 &amp;amp; Sun 01/07, Lincoln, UK&lt;/h3&gt;

&lt;p&gt;(includes 'Open-source RISC-V core quickstart' and 'An introductory workshop to NetBSD on embedded platforms')](http://oshug.org/pipermail/oshug/2018-April/000635.html)&lt;/p&gt;

&lt;p&gt;```
Hi All,&lt;/p&gt;

&lt;p&gt;I'm pleased to announce that we have 10 talks and 7 workshops confirmed
for Open Source Hardware Camp 2018, with the possibility of one or two
more. Registration is now open!&lt;/p&gt;

&lt;p&gt;For the first time ever we will be hosting OSHCamp in Lincoln and a huge
thanks to Sarah Markall for helping to make this happen.&lt;/p&gt;

&lt;p&gt;As in previous years, there will be a social event on the Saturday
evening and we have a room booked at the Wig and Mitre. Food will be
available.&lt;/p&gt;

&lt;p&gt;There will likely be a few of us meeting up for pre-conference drinks on
the Friday evening also.&lt;/p&gt;

&lt;p&gt;Details of the programme can be found below and, as ever, we have an
excellent mix of topics being covered.&lt;/p&gt;

&lt;p&gt;Cheers,&lt;/p&gt;

&lt;p&gt;Andrew
```&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open Source Hardware Camp 2018&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;On the 30th June 2018, 09:00 Saturday morning - 16:00 on the Sunday
  afternoon at The Blue Room, The Lawn, Union Rd, Lincoln, LN1 3BU.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Registration: http://oshug.org/event/oshcamp2018&lt;/li&gt;
&lt;li&gt;Open Source Hardware Camp 2018 will be hosted in the historic county
town of Lincoln — home to, amongst others, noted engine builders Ruston
&amp;amp; Hornsby (now Siemens, via GEC and English Electric).&lt;/li&gt;
&lt;li&gt;Lincoln is well served by rail, reachable from Leeds and London within
2-2.5 hours, and 4-5 hours from Edinburgh and Southampton.&lt;/li&gt;
&lt;li&gt;There will be a social at the Wig and Mitre on the Saturday evening.&lt;/li&gt;
&lt;li&gt;For travel and accommodation information information please see the
event page on oshug.org.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://vermaden.wordpress.com/2018/04/04/nextcloud-13-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Nextcloud 13 on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Today I would like to share a setup of Nextcloud 13 running on a FreeBSD system. To make things more interesting it would be running inside a FreeBSD Jail. I will not describe the Nextcloud setup itself here as its large enough for several blog posts.&lt;/p&gt;
  
  &lt;p&gt;Official Nextcloud 13 documentation recommends following setup:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;MySQL/MariaDB&lt;/li&gt;
&lt;li&gt;PHP 7.0 (or newer)&lt;/li&gt;
&lt;li&gt;Apache 2.4 (with mod_php)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;I prefer PostgreSQL database to MySQL/MariaDB and I prefer fast and lean Nginx web server to Apache, so my setup is based on these components:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;PostgreSQL 10.3&lt;/li&gt;
&lt;li&gt;PHP 7.2.4&lt;/li&gt;
&lt;li&gt;Nginx 1.12.2 (with php-fpm)&lt;/li&gt;
&lt;li&gt;Memcached 1.5.7&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;The Memcached subsystem is least important, it can be easily changed into something more modern like Redis for example. I prefer not to use any third party tools for FreeBSD Jails management. Not because they are bad or something like that. There are just many choices for good FreeBSD Jails management and I want to provide a GENERIC example for Nextcloud 13 in a Jail, not for a specific management tool.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Host&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Lets start with preparing the FreeBSD Host with needed settings. We need to allow using raw sockets in Jails. For the future optional upgrades of the Jail we will also allow using chflags(1) in Jails.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.romanzolotarev.com/setup.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD on my fanless desktop computer&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;You asked me about my setup. Here you go.&lt;/p&gt;
  
  &lt;p&gt;I’ve been using OpenBSD on servers for years as a web developer, but never had a chance to dive in to system administration before. If you appreciate the simplicity of OpenBSD and you have to give it a try on your desktop.&lt;/p&gt;
  
  &lt;p&gt;Bear in mind, this is a relatively cheap ergonomic setup, because all I need is xterm(1) with Vim and Firefox, I don’t care about CPU/GPU performance or mobility too much, but I want a large screen and a good keyboard.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;
Item                                    Price, USD
Zotac CI527 NANO-BE                        $371
16GB RAM Crucial DDR4-2133                    $127
250GB SSD Samsung 850 EVO                    $104
Asus VZ249HE 23.8" IPS Full HD                    $129
ErgoDox EZ V3, Cherry MX Brown, blank DCS            $325
Kensington Orbit Trackball                        $33
Total                                    $1,107
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OpenBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;I tried few times to install OpenBSD on my MacBooks—I heard some models are compatible with it,—but in my case it was a bit of a fiasco (thanks to Nvidia and Broadcom). That’s why I bought a new computer, just to be able to run this wonderful operating system.&lt;/p&gt;
  
  &lt;p&gt;Now I run -stable on my desktop and servers. Servers are supposed to be reliable, that’s obvious, why not run -current on a desktop? Because -stable is shipped every six months and I that’s is often enough for me. I prefer slow fashion.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;
iX Ad Spot &lt;a href="https://www.ixsystems.com/blog/nab-2018-recap-2/" target="_blank" rel="nofollow noopener"&gt;NAB 2018 – Michael Dexter’s Recap&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a href="https://vermaden.wordpress.com/2018/04/06/introduction-to-hardenedbsd-world/" target="_blank" rel="nofollow noopener"&gt;Introduction to HardenedBSD World&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;HardenedBSD is a security enhanced fork of FreeBSD which happened in 2014. HardenedBSD is implementing many exploit mitigation and security technologies on top of FreeBSD which all started with implementation of Address Space Layout Randomization (ASLR). The fork has been created for ease of development.&lt;/p&gt;
  
  &lt;p&gt;To cite the https://hardenedbsd.org/content/about page – “HardenedBSD aims to implement innovative exploit mitigation and security solutions for the FreeBSD community. (…) HardenedBSD takes a holistic approach to security by hardening the system and implementing exploit mitigation technologies.”&lt;/p&gt;
  
  &lt;p&gt;Most FreeBSD enthusiasts know mfsBSD project by Martin Matuska – http://mfsbsd.vx.sk/ – FreeBSD system loaded completely into memory. The mfsBSD synonym for the HardenedBSD world is SoloBSD – http://www.solobsd.org/ – which is based on HardenedBSD sources.&lt;/p&gt;
  
  &lt;p&gt;One may ask how HardenedBSD project compared to more well know for its security OpenBSD system and it is very important question. The OpenBSD developers try to write ‘good’ code without dirty hacks for performance or other reasons. Clean and secure code is most important in OpenBSD world. The OpenBSD project even made security audit of all OpenBSD code available, line by line. This was easier to achieve in FreeBSD or HardenedBSD because OpenBSD code base its about ten times smaller. This has also other implications, possibilities. While FreeBSD (and HardenedBSD) offer many new features like mature SMP subsystem even with some NUMA support, ZFS filesystem, GEOM storage framework, Bhyve virtualization, Virtualbox option and many other new modern features the OpenBSD remains classic UNIX system with UFS filesystem and with very ‘theoretical’ SMP support. The vmm project tried to implement new hypervisor in OpenBSD world, but because of lack of support for graphics its for OpenBSD, Illumos and Linux currently, You will not virtualize Windows or Mac OS X there. This is also only virtualization option for OpenBSD as there are no Jails on OpenBSD. Current Bhyve implementation allows one even to boot latest Windows 2019 Technology Preview.&lt;/p&gt;
  
  &lt;p&gt;A HardenedBSD project is FreeBSD system code base with LOTS of security mechanisms and mitigations that are not available on FreeBSD system. For example entire lib32 tree has been disabled by default on HardenedBSD to make it more secure. Also LibreSSL is the default SSL library on HardenedBSD, same as OpenBSD while FreeBSD uses OpenSSL for compatibility reasons.&lt;/p&gt;
  
  &lt;p&gt;Comparison between LibreSSL and OpenSSL vulnerabilities.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;https://en.wikipedia.org/wiki/LibreSSL#Security&lt;/li&gt;
&lt;li&gt;https://wiki.freebsd.org/LibreSSL#LibreSSL&lt;em&gt;.28and&lt;/em&gt;OpenSSL.29&lt;em&gt;Security&lt;/em&gt;Vulnerabilities&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;One may see HardenedBSD as FreeBSD being successfully pulled up to the OpenBSD level (at least that is the goal), but as FreeBSD has tons more code and features it will be harder and longer process to achieve the goal.&lt;/p&gt;
  
  &lt;p&gt;As I do not have that much competence on the security field I will just repost the comparison from the HardenedBSD project versus other BSD systems. The comparison is also available here – https://hardenedbsd.org/content/easy-feature-comparison – on the HardenedBSD website.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tomatkinson.uk/git.html" target="_blank" rel="nofollow noopener"&gt;Running my own git server&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Note: This article is predominantly based on work by Hiltjo Posthuma who you should read because I would have spent far too much time failing to set things up if it wasn’t for their post. Not only have they written lots of very interesting posts, they write some really brilliant programs&lt;/p&gt;
  
  &lt;p&gt;Since I started university 3 years ago, I started using lots of services from lots of different companies. The “cloud” trend led me to believe that I wanted other people to look after my data for me. I was wrong. Since finding myself loving the ethos of OpenBSD, I found myself wanting to apply this ethos to the services I use as well. Not only is it important to me because of the security benefits, but also because I like the minimalist style OpenBSD portrays. This is the first in a mini-series documenting my move from bloated, hosted, sometimes proprietary services to minimal, well-written, free, self-hosted services.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Tools &amp;amp; applications&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;These are the programs I am going to be using to get my git server up and running:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;
httpd(8)
acme-client(1)
git(1)
cgit(1)
slowcgi(8)
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setting up httpd&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Ensure you have the necessary flags enabled in your /etc/rc.conf.local:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Configuring cgit&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;When using the OpenBSD httpd(8), it will serve it’s content in a chrooted environment,which defaults to the home directory of the user it runs as, which is www in this case. This means that the chroot is limited to the directory /var/www and it’s contents.&lt;/p&gt;
  
  &lt;p&gt;In order to configure cgit, there must be a cgitrc file available to cgit. This is found at the location stored in $CGIT_CONFIG, which defaults to /conf/cgitrc. Because of the chroot, this file is actually stored at /var/www/conf/cgitrc.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/3173" target="_blank" rel="nofollow noopener"&gt;My Penguicon 2018 Schedule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://rachelbythebay.com/w/2018/04/16/signal/" target="_blank" rel="nofollow noopener"&gt;sigaction: see who killed you (and more)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mail-index.netbsd.org/netbsd-announce/2018/04/20/msg000284.html" target="_blank" rel="nofollow noopener"&gt;Takeshi steps down from NetBSD core team after 13 years&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=DragonFlyBSD-More-Perf-For-5.4" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD Kernel Gets Some SMP Improvements – Phoronix&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://m.youtube.com/watch?v=bT_k06Xg-BE" target="_blank" rel="nofollow noopener"&gt;Writing FreeBSD Malware&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap ad&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Troels - &lt;a href="http://dpaste.com/35K0BD7#wrap" target="_blank" rel="nofollow noopener"&gt;Question regarding ZFS xattr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mike - &lt;a href="http://dpaste.com/33X1K80#wrap" target="_blank" rel="nofollow noopener"&gt;Sharing your screen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Wilyarti - &lt;a href="http://dpaste.com/0D452Q0#wrap" target="_blank" rel="nofollow noopener"&gt;Adlocking on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/08XAHNY#wrap" target="_blank" rel="nofollow noopener"&gt;Recommendations for snapshot strategy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Allan’s recap of the ZFS User conference, first impressions of OmniOS by a BSD user, Nextcloud 13 setup on FreeBSD, OpenBSD on a fanless desktop computer, an intro to HardenedBSD, and DragonFlyBSD getting some SMP improvements.<br>
</p><hr>

<h2>Headlines</h2>

<h3>ZFS User Conference Recap</h3>

<ul>
<li>Attendees met for breakfast on the fourth floor, in a lunchroom type area just outside of the theatre. One entire wall was made of lego base plates, and there were buckets of different coloured lego embedded in the wall.</li>
<li>The talks started with Matt Ahrens discussing how the 2nd most requested feature of ZFS, Device Removal, has now landed, then pivoting into the MOST requested feature, RAID-Z expansion, and his work on that so far, which included the first functional prototype, on FreeBSD.</li>
<li>Then our friend Calvin Hendryx-Parker presented how he solves all of his backup headaches with ZFS. I provided him some helpful hints to optimize his setup and improve the throughput of his backups</li>
<li>Then Steven Umbehocker of OSNEXUS talked about their products, and how they manage large numbers of ZFS nodes</li>
<li>After a very nice lunch, Orlando Pichardo of Micron talked about the future of flash, and their new 7.5TB SATA SSDs. Discussion of these devices after the talk may lead to enhancements to ZFS to better support these new larger flash devices that use larger logical sector sizes.</li>
<li>Alek Pinchuk of Datto talked about Pool Layout Considerations</li>
<li>then Tony Hutter of LLNL talked about the release process for ZFS on Linux</li>
<li>Then Tom Caputi of Datto presented: Helping Developers Help You, guidance for users submitting bug reports, with some good and bad examples</li>
<li>Then we had a nice cocktail party and dinner, and stayed late into the night talked about ZFS</li>
<li>The next day, Jervin Real of Percona, presented: ZFS and MySQL on Linux, the Sweet Spots. Mostly outlining some benchmark they had done, some of the results were curious and some additional digging may turn up enhancements that can be made to ZFS, or just better tuning advice for high traffic MySQL servers.</li>
<li>Then I presented my ZSTD compression work, which had been referenced in 2 of the previous talks, as people are anxious to get their hands on this code.</li>
<li>Lastly, Eric Sproul of Circonus, gave his talk: Thank You, ZFS. It thanked ZFS and its Community for making their companies product possible, and then provided an update to his presentation from last year, where they were having problems with extremely high levels of ZFS fragmentation. This also sparked a longer conversation after the talk was over.</li>
<li>Then we had a BBQ lunch, and after some more talking, the conference broke up.</li>
</ul>

<hr>

<h3><a href="https://www.linuxquestions.org/questions/solaris-opensolaris-20/initial-omnios-impressions-by-a-bsd-user-4175626757/" target="_blank" rel="nofollow noopener">Initial OmniOS impressions by a BSD user</a></h3>

<blockquote>
  <p>I had been using FreeBSD as my main web server OS since 2012 and I liked it so much that I even contributed money and code to it. However, since the FreeBSD guys (and gals) decided to install anti-tech feminism, I have been considering to move away from it for quite some time now.</p>
  
  <p>As my growing needs require stronger hardware, it was finally time to rent a new server. I do not intend to run FreeBSD on it. Although the most obvious choice would be OpenBSD (I run it on another server and it works just fine), I plan to have a couple of databases running on the new machine, and database throughput has never been one of OpenBSD's strong points. This is my chance to give illumos another try. As neither WiFi nor desktop environments are relevant on a no-X11 server, the server-focused OmniOS seemed to fit my needs.</p>
  
  <p>My current (to be phased out) setup on FreeBSD is:</p>
</blockquote>

<ul>
<li>apache24 with SSL support, running five websites on six domains (both HTTP and HTTPS)</li>
<li>a (somewhat large) Tiny Tiny RSS installation from git, updated via cronjob</li>
<li>sbcl running a daily cronjob of my Web-to-RSS parser</li>
<li>an FTP server where I share stuff with friends</li>
<li>an IRC bouncer</li>
<li>MariaDB and PostgreSQL for some of the hosted services</li>
</ul>

<blockquote>
  <p>I would not consider anything of that too esoteric for a modern operating system. Since I was not really using anything mod_rewrite-related, I was perfectly ready to replace apache24 by nginx, remembering that the prepackaged apache24 on FreeBSD did not support HTTPS out of the box and I had ended up installing it from the ports. That is the only change in my setup which I am actively planning.</p>
  
  <p>So here's what I noticed.</p>
</blockquote>

<ul>
<li>First impressions:</li>
</ul>

<blockquote>
  <p>Hooray, a BSD boot loader! Finally an operating system without grub - I made my experiences with that and I don't want to repeat them too often.</p>
  
  <p>It is weird that the installer won't accept "mydomain.org" as a hostname but sendmail complains that "mydomain" is not a valid hostname right from the start, OmniOS sent me into Maintenance Mode to fix that. A good start, right? So the first completely new thing I had to find out on my new shiny toy was how to change the hostname. There is no /etc/rc.conf in it and hostname mydomain.org was only valid for one login session. I found out that the hostname has to be changed in three different files under /etc on Solaris - the third one did not even exist for me. Changing the other two files seems to have solved this problem for me.</p>
</blockquote>

<ul>
<li>Random findings:</li>
</ul>

<blockquote>
  <p>~ I was wondering how many resources my (mostly idle) new web server was using - I always thought Solaris was rather fat, but it still felt fast to me.</p>
  
  <p>Ah, right - we're in Unixland and we need to think outside of the box. This table was really helpful: although a number of things are different between OmniOS and SmartOS, I found out that the *stat tools do what top does. I could probably just install top from one of the package managers, but I failed to find a reason to do so. I had 99% idle CPU and RAM - that's all I wanted to know.</p>
  
  <p>~ Trying to set up twtxt informed me that Python 3.6 (from pkgin) expects LANG and LC_ALL to be set. Weird - did FreeBSD do that for me? It's been a while ... at least that was easy to fix.</p>
  
  <p>~ SMF - Solaris's version of init - confuses me. It has "levels" similar to Gentoo's OpenRC, but it mostly shuts up during the boot process. Stuff from pkgsrc, e.g. nginx, comes with a description how to set up the particular service, but I should probably read more about it. What if, one day, I install a package which is not made ready for OmniOS? I'll have to find out how to write SMF scripts. But that should not be my highest priority.</p>
  
  <p>~ The OmniOS documentation talks a lot about "zones" which, if I understand that correctly, mostly equal FreeBSD's "jails". This could be my chance to try to respect a better separation between my various services - if my lazyness won't take over again. (It probably will.)</p>
  
  <p>~ OmniOS's default shell - rather un-unixy - seems to be the bash. Update: I was informed about a mistake here: the default shell is ksh93, there are bogus .bashrc files lying around though.</p>
  
  <p>~ Somewhere in between, my sshd had a hiccup or, at least, logging into it took longer than usual. If that happens again, I should investigate.</p>
</blockquote>

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

<blockquote>
  <p>By the time of me writing this, I have a basic web server with an awesome performance and a lot of applications ready to be configured only one click away. The more I play with it, the more I have the feeling that I have missed a lot while wasting my time with FreeBSD. For a system that is said to be "dying", OmniOS feels well-thought and, when equipped with a reasonable package management, comes with everything I need to reproduce my FreeBSD setup without losing functionality.</p>
  
  <p>I'm looking forward to what will happen with it.</p>
</blockquote>

<hr>

<p><strong>DigitalOcean</strong>
http://do.co/bsdnow</p>

<h3>[Open Source Hardware Camp 2018 — Sat 30/06 &amp; Sun 01/07, Lincoln, UK</h3>

<p>(includes 'Open-source RISC-V core quickstart' and 'An introductory workshop to NetBSD on embedded platforms')](http://oshug.org/pipermail/oshug/2018-April/000635.html)</p>

<p>```
Hi All,</p>

<p>I'm pleased to announce that we have 10 talks and 7 workshops confirmed
for Open Source Hardware Camp 2018, with the possibility of one or two
more. Registration is now open!</p>

<p>For the first time ever we will be hosting OSHCamp in Lincoln and a huge
thanks to Sarah Markall for helping to make this happen.</p>

<p>As in previous years, there will be a social event on the Saturday
evening and we have a room booked at the Wig and Mitre. Food will be
available.</p>

<p>There will likely be a few of us meeting up for pre-conference drinks on
the Friday evening also.</p>

<p>Details of the programme can be found below and, as ever, we have an
excellent mix of topics being covered.</p>

<p>Cheers,</p>

<p>Andrew
```</p>

<ul>
<li>Open Source Hardware Camp 2018</li>
</ul>

<blockquote>
  <p>On the 30th June 2018, 09:00 Saturday morning - 16:00 on the Sunday
  afternoon at The Blue Room, The Lawn, Union Rd, Lincoln, LN1 3BU.</p>
</blockquote>

<ul>
<li>Registration: http://oshug.org/event/oshcamp2018</li>
<li>Open Source Hardware Camp 2018 will be hosted in the historic county
town of Lincoln — home to, amongst others, noted engine builders Ruston
&amp; Hornsby (now Siemens, via GEC and English Electric).</li>
<li>Lincoln is well served by rail, reachable from Leeds and London within
2-2.5 hours, and 4-5 hours from Edinburgh and Southampton.</li>
<li>There will be a social at the Wig and Mitre on the Saturday evening.</li>
<li>For travel and accommodation information information please see the
event page on oshug.org.</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://vermaden.wordpress.com/2018/04/04/nextcloud-13-on-freebsd/" target="_blank" rel="nofollow noopener">Nextcloud 13 on FreeBSD</a></h3>

<blockquote>
  <p>Today I would like to share a setup of Nextcloud 13 running on a FreeBSD system. To make things more interesting it would be running inside a FreeBSD Jail. I will not describe the Nextcloud setup itself here as its large enough for several blog posts.</p>
  
  <p>Official Nextcloud 13 documentation recommends following setup:</p>
</blockquote>

<ul>
<li>MySQL/MariaDB</li>
<li>PHP 7.0 (or newer)</li>
<li>Apache 2.4 (with mod_php)</li>
</ul>

<blockquote>
  <p>I prefer PostgreSQL database to MySQL/MariaDB and I prefer fast and lean Nginx web server to Apache, so my setup is based on these components:</p>
</blockquote>

<ul>
<li>PostgreSQL 10.3</li>
<li>PHP 7.2.4</li>
<li>Nginx 1.12.2 (with php-fpm)</li>
<li>Memcached 1.5.7</li>
</ul>

<blockquote>
  <p>The Memcached subsystem is least important, it can be easily changed into something more modern like Redis for example. I prefer not to use any third party tools for FreeBSD Jails management. Not because they are bad or something like that. There are just many choices for good FreeBSD Jails management and I want to provide a GENERIC example for Nextcloud 13 in a Jail, not for a specific management tool.</p>
</blockquote>

<ul>
<li>Host</li>
</ul>

<blockquote>
  <p>Lets start with preparing the FreeBSD Host with needed settings. We need to allow using raw sockets in Jails. For the future optional upgrades of the Jail we will also allow using chflags(1) in Jails.</p>
</blockquote>

<hr>

<h3><a href="https://www.romanzolotarev.com/setup.html" target="_blank" rel="nofollow noopener">OpenBSD on my fanless desktop computer</a></h3>

<blockquote>
  <p>You asked me about my setup. Here you go.</p>
  
  <p>I’ve been using OpenBSD on servers for years as a web developer, but never had a chance to dive in to system administration before. If you appreciate the simplicity of OpenBSD and you have to give it a try on your desktop.</p>
  
  <p>Bear in mind, this is a relatively cheap ergonomic setup, because all I need is xterm(1) with Vim and Firefox, I don’t care about CPU/GPU performance or mobility too much, but I want a large screen and a good keyboard.</p>
</blockquote>

<p><code>
Item                                    Price, USD
Zotac CI527 NANO-BE                        $371
16GB RAM Crucial DDR4-2133                    $127
250GB SSD Samsung 850 EVO                    $104
Asus VZ249HE 23.8" IPS Full HD                    $129
ErgoDox EZ V3, Cherry MX Brown, blank DCS            $325
Kensington Orbit Trackball                        $33
Total                                    $1,107
</code></p>

<ul>
<li>OpenBSD</li>
</ul>

<blockquote>
  <p>I tried few times to install OpenBSD on my MacBooks—I heard some models are compatible with it,—but in my case it was a bit of a fiasco (thanks to Nvidia and Broadcom). That’s why I bought a new computer, just to be able to run this wonderful operating system.</p>
  
  <p>Now I run -stable on my desktop and servers. Servers are supposed to be reliable, that’s obvious, why not run -current on a desktop? Because -stable is shipped every six months and I that’s is often enough for me. I prefer slow fashion.</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong>
iX Ad Spot <a href="https://www.ixsystems.com/blog/nab-2018-recap-2/" target="_blank" rel="nofollow noopener">NAB 2018 – Michael Dexter’s Recap</a></p>

<h3><a href="https://vermaden.wordpress.com/2018/04/06/introduction-to-hardenedbsd-world/" target="_blank" rel="nofollow noopener">Introduction to HardenedBSD World</a></h3>

<blockquote>
  <p>HardenedBSD is a security enhanced fork of FreeBSD which happened in 2014. HardenedBSD is implementing many exploit mitigation and security technologies on top of FreeBSD which all started with implementation of Address Space Layout Randomization (ASLR). The fork has been created for ease of development.</p>
  
  <p>To cite the https://hardenedbsd.org/content/about page – “HardenedBSD aims to implement innovative exploit mitigation and security solutions for the FreeBSD community. (…) HardenedBSD takes a holistic approach to security by hardening the system and implementing exploit mitigation technologies.”</p>
  
  <p>Most FreeBSD enthusiasts know mfsBSD project by Martin Matuska – http://mfsbsd.vx.sk/ – FreeBSD system loaded completely into memory. The mfsBSD synonym for the HardenedBSD world is SoloBSD – http://www.solobsd.org/ – which is based on HardenedBSD sources.</p>
  
  <p>One may ask how HardenedBSD project compared to more well know for its security OpenBSD system and it is very important question. The OpenBSD developers try to write ‘good’ code without dirty hacks for performance or other reasons. Clean and secure code is most important in OpenBSD world. The OpenBSD project even made security audit of all OpenBSD code available, line by line. This was easier to achieve in FreeBSD or HardenedBSD because OpenBSD code base its about ten times smaller. This has also other implications, possibilities. While FreeBSD (and HardenedBSD) offer many new features like mature SMP subsystem even with some NUMA support, ZFS filesystem, GEOM storage framework, Bhyve virtualization, Virtualbox option and many other new modern features the OpenBSD remains classic UNIX system with UFS filesystem and with very ‘theoretical’ SMP support. The vmm project tried to implement new hypervisor in OpenBSD world, but because of lack of support for graphics its for OpenBSD, Illumos and Linux currently, You will not virtualize Windows or Mac OS X there. This is also only virtualization option for OpenBSD as there are no Jails on OpenBSD. Current Bhyve implementation allows one even to boot latest Windows 2019 Technology Preview.</p>
  
  <p>A HardenedBSD project is FreeBSD system code base with LOTS of security mechanisms and mitigations that are not available on FreeBSD system. For example entire lib32 tree has been disabled by default on HardenedBSD to make it more secure. Also LibreSSL is the default SSL library on HardenedBSD, same as OpenBSD while FreeBSD uses OpenSSL for compatibility reasons.</p>
  
  <p>Comparison between LibreSSL and OpenSSL vulnerabilities.</p>
</blockquote>

<ul>
<li>https://en.wikipedia.org/wiki/LibreSSL#Security</li>
<li>https://wiki.freebsd.org/LibreSSL#LibreSSL<em>.28and</em>OpenSSL.29<em>Security</em>Vulnerabilities</li>
</ul>

<blockquote>
  <p>One may see HardenedBSD as FreeBSD being successfully pulled up to the OpenBSD level (at least that is the goal), but as FreeBSD has tons more code and features it will be harder and longer process to achieve the goal.</p>
  
  <p>As I do not have that much competence on the security field I will just repost the comparison from the HardenedBSD project versus other BSD systems. The comparison is also available here – https://hardenedbsd.org/content/easy-feature-comparison – on the HardenedBSD website.</p>
</blockquote>

<hr>

<h3><a href="https://www.tomatkinson.uk/git.html" target="_blank" rel="nofollow noopener">Running my own git server</a></h3>

<blockquote>
  <p>Note: This article is predominantly based on work by Hiltjo Posthuma who you should read because I would have spent far too much time failing to set things up if it wasn’t for their post. Not only have they written lots of very interesting posts, they write some really brilliant programs</p>
  
  <p>Since I started university 3 years ago, I started using lots of services from lots of different companies. The “cloud” trend led me to believe that I wanted other people to look after my data for me. I was wrong. Since finding myself loving the ethos of OpenBSD, I found myself wanting to apply this ethos to the services I use as well. Not only is it important to me because of the security benefits, but also because I like the minimalist style OpenBSD portrays. This is the first in a mini-series documenting my move from bloated, hosted, sometimes proprietary services to minimal, well-written, free, self-hosted services.</p>
</blockquote>

<ul>
<li>Tools &amp; applications</li>
</ul>

<blockquote>
  <p>These are the programs I am going to be using to get my git server up and running:</p>
</blockquote>

<p><code>
httpd(8)
acme-client(1)
git(1)
cgit(1)
slowcgi(8)
</code></p>

<ul>
<li>Setting up httpd</li>
</ul>

<blockquote>
  <p>Ensure you have the necessary flags enabled in your /etc/rc.conf.local:</p>
</blockquote>

<ul>
<li>Configuring cgit</li>
</ul>

<blockquote>
  <p>When using the OpenBSD httpd(8), it will serve it’s content in a chrooted environment,which defaults to the home directory of the user it runs as, which is www in this case. This means that the chroot is limited to the directory /var/www and it’s contents.</p>
  
  <p>In order to configure cgit, there must be a cgitrc file available to cgit. This is found at the location stored in $CGIT_CONFIG, which defaults to /conf/cgitrc. Because of the chroot, this file is actually stored at /var/www/conf/cgitrc.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blather.michaelwlucas.com/archives/3173" target="_blank" rel="nofollow noopener">My Penguicon 2018 Schedule</a></li>
<li><a href="https://rachelbythebay.com/w/2018/04/16/signal/" target="_blank" rel="nofollow noopener">sigaction: see who killed you (and more)</a></li>
<li><a href="http://mail-index.netbsd.org/netbsd-announce/2018/04/20/msg000284.html" target="_blank" rel="nofollow noopener">Takeshi steps down from NetBSD core team after 13 years</a></li>
<li><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=DragonFlyBSD-More-Perf-For-5.4" target="_blank" rel="nofollow noopener">DragonFlyBSD Kernel Gets Some SMP Improvements – Phoronix</a></li>
<li><a href="https://m.youtube.com/watch?v=bT_k06Xg-BE" target="_blank" rel="nofollow noopener">Writing FreeBSD Malware</a></li>
</ul>

<p><strong>Tarsnap ad</strong></p>

<h2>Feedback/Questions</h2>

<ul>
<li>Troels - <a href="http://dpaste.com/35K0BD7#wrap" target="_blank" rel="nofollow noopener">Question regarding ZFS xattr</a></li>
<li>Mike - <a href="http://dpaste.com/33X1K80#wrap" target="_blank" rel="nofollow noopener">Sharing your screen</a></li>
<li>Wilyarti - <a href="http://dpaste.com/0D452Q0#wrap" target="_blank" rel="nofollow noopener">Adlocking on FreeBSD</a></li>
<li>Brad - <a href="http://dpaste.com/08XAHNY#wrap" target="_blank" rel="nofollow noopener">Recommendations for snapshot strategy</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Allan’s recap of the ZFS User conference, first impressions of OmniOS by a BSD user, Nextcloud 13 setup on FreeBSD, OpenBSD on a fanless desktop computer, an intro to HardenedBSD, and DragonFlyBSD getting some SMP improvements.<br>
</p><hr>

<h2>Headlines</h2>

<h3>ZFS User Conference Recap</h3>

<ul>
<li>Attendees met for breakfast on the fourth floor, in a lunchroom type area just outside of the theatre. One entire wall was made of lego base plates, and there were buckets of different coloured lego embedded in the wall.</li>
<li>The talks started with Matt Ahrens discussing how the 2nd most requested feature of ZFS, Device Removal, has now landed, then pivoting into the MOST requested feature, RAID-Z expansion, and his work on that so far, which included the first functional prototype, on FreeBSD.</li>
<li>Then our friend Calvin Hendryx-Parker presented how he solves all of his backup headaches with ZFS. I provided him some helpful hints to optimize his setup and improve the throughput of his backups</li>
<li>Then Steven Umbehocker of OSNEXUS talked about their products, and how they manage large numbers of ZFS nodes</li>
<li>After a very nice lunch, Orlando Pichardo of Micron talked about the future of flash, and their new 7.5TB SATA SSDs. Discussion of these devices after the talk may lead to enhancements to ZFS to better support these new larger flash devices that use larger logical sector sizes.</li>
<li>Alek Pinchuk of Datto talked about Pool Layout Considerations</li>
<li>then Tony Hutter of LLNL talked about the release process for ZFS on Linux</li>
<li>Then Tom Caputi of Datto presented: Helping Developers Help You, guidance for users submitting bug reports, with some good and bad examples</li>
<li>Then we had a nice cocktail party and dinner, and stayed late into the night talked about ZFS</li>
<li>The next day, Jervin Real of Percona, presented: ZFS and MySQL on Linux, the Sweet Spots. Mostly outlining some benchmark they had done, some of the results were curious and some additional digging may turn up enhancements that can be made to ZFS, or just better tuning advice for high traffic MySQL servers.</li>
<li>Then I presented my ZSTD compression work, which had been referenced in 2 of the previous talks, as people are anxious to get their hands on this code.</li>
<li>Lastly, Eric Sproul of Circonus, gave his talk: Thank You, ZFS. It thanked ZFS and its Community for making their companies product possible, and then provided an update to his presentation from last year, where they were having problems with extremely high levels of ZFS fragmentation. This also sparked a longer conversation after the talk was over.</li>
<li>Then we had a BBQ lunch, and after some more talking, the conference broke up.</li>
</ul>

<hr>

<h3><a href="https://www.linuxquestions.org/questions/solaris-opensolaris-20/initial-omnios-impressions-by-a-bsd-user-4175626757/" target="_blank" rel="nofollow noopener">Initial OmniOS impressions by a BSD user</a></h3>

<blockquote>
  <p>I had been using FreeBSD as my main web server OS since 2012 and I liked it so much that I even contributed money and code to it. However, since the FreeBSD guys (and gals) decided to install anti-tech feminism, I have been considering to move away from it for quite some time now.</p>
  
  <p>As my growing needs require stronger hardware, it was finally time to rent a new server. I do not intend to run FreeBSD on it. Although the most obvious choice would be OpenBSD (I run it on another server and it works just fine), I plan to have a couple of databases running on the new machine, and database throughput has never been one of OpenBSD's strong points. This is my chance to give illumos another try. As neither WiFi nor desktop environments are relevant on a no-X11 server, the server-focused OmniOS seemed to fit my needs.</p>
  
  <p>My current (to be phased out) setup on FreeBSD is:</p>
</blockquote>

<ul>
<li>apache24 with SSL support, running five websites on six domains (both HTTP and HTTPS)</li>
<li>a (somewhat large) Tiny Tiny RSS installation from git, updated via cronjob</li>
<li>sbcl running a daily cronjob of my Web-to-RSS parser</li>
<li>an FTP server where I share stuff with friends</li>
<li>an IRC bouncer</li>
<li>MariaDB and PostgreSQL for some of the hosted services</li>
</ul>

<blockquote>
  <p>I would not consider anything of that too esoteric for a modern operating system. Since I was not really using anything mod_rewrite-related, I was perfectly ready to replace apache24 by nginx, remembering that the prepackaged apache24 on FreeBSD did not support HTTPS out of the box and I had ended up installing it from the ports. That is the only change in my setup which I am actively planning.</p>
  
  <p>So here's what I noticed.</p>
</blockquote>

<ul>
<li>First impressions:</li>
</ul>

<blockquote>
  <p>Hooray, a BSD boot loader! Finally an operating system without grub - I made my experiences with that and I don't want to repeat them too often.</p>
  
  <p>It is weird that the installer won't accept "mydomain.org" as a hostname but sendmail complains that "mydomain" is not a valid hostname right from the start, OmniOS sent me into Maintenance Mode to fix that. A good start, right? So the first completely new thing I had to find out on my new shiny toy was how to change the hostname. There is no /etc/rc.conf in it and hostname mydomain.org was only valid for one login session. I found out that the hostname has to be changed in three different files under /etc on Solaris - the third one did not even exist for me. Changing the other two files seems to have solved this problem for me.</p>
</blockquote>

<ul>
<li>Random findings:</li>
</ul>

<blockquote>
  <p>~ I was wondering how many resources my (mostly idle) new web server was using - I always thought Solaris was rather fat, but it still felt fast to me.</p>
  
  <p>Ah, right - we're in Unixland and we need to think outside of the box. This table was really helpful: although a number of things are different between OmniOS and SmartOS, I found out that the *stat tools do what top does. I could probably just install top from one of the package managers, but I failed to find a reason to do so. I had 99% idle CPU and RAM - that's all I wanted to know.</p>
  
  <p>~ Trying to set up twtxt informed me that Python 3.6 (from pkgin) expects LANG and LC_ALL to be set. Weird - did FreeBSD do that for me? It's been a while ... at least that was easy to fix.</p>
  
  <p>~ SMF - Solaris's version of init - confuses me. It has "levels" similar to Gentoo's OpenRC, but it mostly shuts up during the boot process. Stuff from pkgsrc, e.g. nginx, comes with a description how to set up the particular service, but I should probably read more about it. What if, one day, I install a package which is not made ready for OmniOS? I'll have to find out how to write SMF scripts. But that should not be my highest priority.</p>
  
  <p>~ The OmniOS documentation talks a lot about "zones" which, if I understand that correctly, mostly equal FreeBSD's "jails". This could be my chance to try to respect a better separation between my various services - if my lazyness won't take over again. (It probably will.)</p>
  
  <p>~ OmniOS's default shell - rather un-unixy - seems to be the bash. Update: I was informed about a mistake here: the default shell is ksh93, there are bogus .bashrc files lying around though.</p>
  
  <p>~ Somewhere in between, my sshd had a hiccup or, at least, logging into it took longer than usual. If that happens again, I should investigate.</p>
</blockquote>

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

<blockquote>
  <p>By the time of me writing this, I have a basic web server with an awesome performance and a lot of applications ready to be configured only one click away. The more I play with it, the more I have the feeling that I have missed a lot while wasting my time with FreeBSD. For a system that is said to be "dying", OmniOS feels well-thought and, when equipped with a reasonable package management, comes with everything I need to reproduce my FreeBSD setup without losing functionality.</p>
  
  <p>I'm looking forward to what will happen with it.</p>
</blockquote>

<hr>

<p><strong>DigitalOcean</strong>
http://do.co/bsdnow</p>

<h3>[Open Source Hardware Camp 2018 — Sat 30/06 &amp; Sun 01/07, Lincoln, UK</h3>

<p>(includes 'Open-source RISC-V core quickstart' and 'An introductory workshop to NetBSD on embedded platforms')](http://oshug.org/pipermail/oshug/2018-April/000635.html)</p>

<p>```
Hi All,</p>

<p>I'm pleased to announce that we have 10 talks and 7 workshops confirmed
for Open Source Hardware Camp 2018, with the possibility of one or two
more. Registration is now open!</p>

<p>For the first time ever we will be hosting OSHCamp in Lincoln and a huge
thanks to Sarah Markall for helping to make this happen.</p>

<p>As in previous years, there will be a social event on the Saturday
evening and we have a room booked at the Wig and Mitre. Food will be
available.</p>

<p>There will likely be a few of us meeting up for pre-conference drinks on
the Friday evening also.</p>

<p>Details of the programme can be found below and, as ever, we have an
excellent mix of topics being covered.</p>

<p>Cheers,</p>

<p>Andrew
```</p>

<ul>
<li>Open Source Hardware Camp 2018</li>
</ul>

<blockquote>
  <p>On the 30th June 2018, 09:00 Saturday morning - 16:00 on the Sunday
  afternoon at The Blue Room, The Lawn, Union Rd, Lincoln, LN1 3BU.</p>
</blockquote>

<ul>
<li>Registration: http://oshug.org/event/oshcamp2018</li>
<li>Open Source Hardware Camp 2018 will be hosted in the historic county
town of Lincoln — home to, amongst others, noted engine builders Ruston
&amp; Hornsby (now Siemens, via GEC and English Electric).</li>
<li>Lincoln is well served by rail, reachable from Leeds and London within
2-2.5 hours, and 4-5 hours from Edinburgh and Southampton.</li>
<li>There will be a social at the Wig and Mitre on the Saturday evening.</li>
<li>For travel and accommodation information information please see the
event page on oshug.org.</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://vermaden.wordpress.com/2018/04/04/nextcloud-13-on-freebsd/" target="_blank" rel="nofollow noopener">Nextcloud 13 on FreeBSD</a></h3>

<blockquote>
  <p>Today I would like to share a setup of Nextcloud 13 running on a FreeBSD system. To make things more interesting it would be running inside a FreeBSD Jail. I will not describe the Nextcloud setup itself here as its large enough for several blog posts.</p>
  
  <p>Official Nextcloud 13 documentation recommends following setup:</p>
</blockquote>

<ul>
<li>MySQL/MariaDB</li>
<li>PHP 7.0 (or newer)</li>
<li>Apache 2.4 (with mod_php)</li>
</ul>

<blockquote>
  <p>I prefer PostgreSQL database to MySQL/MariaDB and I prefer fast and lean Nginx web server to Apache, so my setup is based on these components:</p>
</blockquote>

<ul>
<li>PostgreSQL 10.3</li>
<li>PHP 7.2.4</li>
<li>Nginx 1.12.2 (with php-fpm)</li>
<li>Memcached 1.5.7</li>
</ul>

<blockquote>
  <p>The Memcached subsystem is least important, it can be easily changed into something more modern like Redis for example. I prefer not to use any third party tools for FreeBSD Jails management. Not because they are bad or something like that. There are just many choices for good FreeBSD Jails management and I want to provide a GENERIC example for Nextcloud 13 in a Jail, not for a specific management tool.</p>
</blockquote>

<ul>
<li>Host</li>
</ul>

<blockquote>
  <p>Lets start with preparing the FreeBSD Host with needed settings. We need to allow using raw sockets in Jails. For the future optional upgrades of the Jail we will also allow using chflags(1) in Jails.</p>
</blockquote>

<hr>

<h3><a href="https://www.romanzolotarev.com/setup.html" target="_blank" rel="nofollow noopener">OpenBSD on my fanless desktop computer</a></h3>

<blockquote>
  <p>You asked me about my setup. Here you go.</p>
  
  <p>I’ve been using OpenBSD on servers for years as a web developer, but never had a chance to dive in to system administration before. If you appreciate the simplicity of OpenBSD and you have to give it a try on your desktop.</p>
  
  <p>Bear in mind, this is a relatively cheap ergonomic setup, because all I need is xterm(1) with Vim and Firefox, I don’t care about CPU/GPU performance or mobility too much, but I want a large screen and a good keyboard.</p>
</blockquote>

<p><code>
Item                                    Price, USD
Zotac CI527 NANO-BE                        $371
16GB RAM Crucial DDR4-2133                    $127
250GB SSD Samsung 850 EVO                    $104
Asus VZ249HE 23.8" IPS Full HD                    $129
ErgoDox EZ V3, Cherry MX Brown, blank DCS            $325
Kensington Orbit Trackball                        $33
Total                                    $1,107
</code></p>

<ul>
<li>OpenBSD</li>
</ul>

<blockquote>
  <p>I tried few times to install OpenBSD on my MacBooks—I heard some models are compatible with it,—but in my case it was a bit of a fiasco (thanks to Nvidia and Broadcom). That’s why I bought a new computer, just to be able to run this wonderful operating system.</p>
  
  <p>Now I run -stable on my desktop and servers. Servers are supposed to be reliable, that’s obvious, why not run -current on a desktop? Because -stable is shipped every six months and I that’s is often enough for me. I prefer slow fashion.</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong>
iX Ad Spot <a href="https://www.ixsystems.com/blog/nab-2018-recap-2/" target="_blank" rel="nofollow noopener">NAB 2018 – Michael Dexter’s Recap</a></p>

<h3><a href="https://vermaden.wordpress.com/2018/04/06/introduction-to-hardenedbsd-world/" target="_blank" rel="nofollow noopener">Introduction to HardenedBSD World</a></h3>

<blockquote>
  <p>HardenedBSD is a security enhanced fork of FreeBSD which happened in 2014. HardenedBSD is implementing many exploit mitigation and security technologies on top of FreeBSD which all started with implementation of Address Space Layout Randomization (ASLR). The fork has been created for ease of development.</p>
  
  <p>To cite the https://hardenedbsd.org/content/about page – “HardenedBSD aims to implement innovative exploit mitigation and security solutions for the FreeBSD community. (…) HardenedBSD takes a holistic approach to security by hardening the system and implementing exploit mitigation technologies.”</p>
  
  <p>Most FreeBSD enthusiasts know mfsBSD project by Martin Matuska – http://mfsbsd.vx.sk/ – FreeBSD system loaded completely into memory. The mfsBSD synonym for the HardenedBSD world is SoloBSD – http://www.solobsd.org/ – which is based on HardenedBSD sources.</p>
  
  <p>One may ask how HardenedBSD project compared to more well know for its security OpenBSD system and it is very important question. The OpenBSD developers try to write ‘good’ code without dirty hacks for performance or other reasons. Clean and secure code is most important in OpenBSD world. The OpenBSD project even made security audit of all OpenBSD code available, line by line. This was easier to achieve in FreeBSD or HardenedBSD because OpenBSD code base its about ten times smaller. This has also other implications, possibilities. While FreeBSD (and HardenedBSD) offer many new features like mature SMP subsystem even with some NUMA support, ZFS filesystem, GEOM storage framework, Bhyve virtualization, Virtualbox option and many other new modern features the OpenBSD remains classic UNIX system with UFS filesystem and with very ‘theoretical’ SMP support. The vmm project tried to implement new hypervisor in OpenBSD world, but because of lack of support for graphics its for OpenBSD, Illumos and Linux currently, You will not virtualize Windows or Mac OS X there. This is also only virtualization option for OpenBSD as there are no Jails on OpenBSD. Current Bhyve implementation allows one even to boot latest Windows 2019 Technology Preview.</p>
  
  <p>A HardenedBSD project is FreeBSD system code base with LOTS of security mechanisms and mitigations that are not available on FreeBSD system. For example entire lib32 tree has been disabled by default on HardenedBSD to make it more secure. Also LibreSSL is the default SSL library on HardenedBSD, same as OpenBSD while FreeBSD uses OpenSSL for compatibility reasons.</p>
  
  <p>Comparison between LibreSSL and OpenSSL vulnerabilities.</p>
</blockquote>

<ul>
<li>https://en.wikipedia.org/wiki/LibreSSL#Security</li>
<li>https://wiki.freebsd.org/LibreSSL#LibreSSL<em>.28and</em>OpenSSL.29<em>Security</em>Vulnerabilities</li>
</ul>

<blockquote>
  <p>One may see HardenedBSD as FreeBSD being successfully pulled up to the OpenBSD level (at least that is the goal), but as FreeBSD has tons more code and features it will be harder and longer process to achieve the goal.</p>
  
  <p>As I do not have that much competence on the security field I will just repost the comparison from the HardenedBSD project versus other BSD systems. The comparison is also available here – https://hardenedbsd.org/content/easy-feature-comparison – on the HardenedBSD website.</p>
</blockquote>

<hr>

<h3><a href="https://www.tomatkinson.uk/git.html" target="_blank" rel="nofollow noopener">Running my own git server</a></h3>

<blockquote>
  <p>Note: This article is predominantly based on work by Hiltjo Posthuma who you should read because I would have spent far too much time failing to set things up if it wasn’t for their post. Not only have they written lots of very interesting posts, they write some really brilliant programs</p>
  
  <p>Since I started university 3 years ago, I started using lots of services from lots of different companies. The “cloud” trend led me to believe that I wanted other people to look after my data for me. I was wrong. Since finding myself loving the ethos of OpenBSD, I found myself wanting to apply this ethos to the services I use as well. Not only is it important to me because of the security benefits, but also because I like the minimalist style OpenBSD portrays. This is the first in a mini-series documenting my move from bloated, hosted, sometimes proprietary services to minimal, well-written, free, self-hosted services.</p>
</blockquote>

<ul>
<li>Tools &amp; applications</li>
</ul>

<blockquote>
  <p>These are the programs I am going to be using to get my git server up and running:</p>
</blockquote>

<p><code>
httpd(8)
acme-client(1)
git(1)
cgit(1)
slowcgi(8)
</code></p>

<ul>
<li>Setting up httpd</li>
</ul>

<blockquote>
  <p>Ensure you have the necessary flags enabled in your /etc/rc.conf.local:</p>
</blockquote>

<ul>
<li>Configuring cgit</li>
</ul>

<blockquote>
  <p>When using the OpenBSD httpd(8), it will serve it’s content in a chrooted environment,which defaults to the home directory of the user it runs as, which is www in this case. This means that the chroot is limited to the directory /var/www and it’s contents.</p>
  
  <p>In order to configure cgit, there must be a cgitrc file available to cgit. This is found at the location stored in $CGIT_CONFIG, which defaults to /conf/cgitrc. Because of the chroot, this file is actually stored at /var/www/conf/cgitrc.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blather.michaelwlucas.com/archives/3173" target="_blank" rel="nofollow noopener">My Penguicon 2018 Schedule</a></li>
<li><a href="https://rachelbythebay.com/w/2018/04/16/signal/" target="_blank" rel="nofollow noopener">sigaction: see who killed you (and more)</a></li>
<li><a href="http://mail-index.netbsd.org/netbsd-announce/2018/04/20/msg000284.html" target="_blank" rel="nofollow noopener">Takeshi steps down from NetBSD core team after 13 years</a></li>
<li><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=DragonFlyBSD-More-Perf-For-5.4" target="_blank" rel="nofollow noopener">DragonFlyBSD Kernel Gets Some SMP Improvements – Phoronix</a></li>
<li><a href="https://m.youtube.com/watch?v=bT_k06Xg-BE" target="_blank" rel="nofollow noopener">Writing FreeBSD Malware</a></li>
</ul>

<p><strong>Tarsnap ad</strong></p>

<h2>Feedback/Questions</h2>

<ul>
<li>Troels - <a href="http://dpaste.com/35K0BD7#wrap" target="_blank" rel="nofollow noopener">Question regarding ZFS xattr</a></li>
<li>Mike - <a href="http://dpaste.com/33X1K80#wrap" target="_blank" rel="nofollow noopener">Sharing your screen</a></li>
<li>Wilyarti - <a href="http://dpaste.com/0D452Q0#wrap" target="_blank" rel="nofollow noopener">Adlocking on FreeBSD</a></li>
<li>Brad - <a href="http://dpaste.com/08XAHNY#wrap" target="_blank" rel="nofollow noopener">Recommendations for snapshot strategy</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 243: Understanding The Scheduler | BSD Now 243</title>
  <link>https://www.bsdnow.tv/243</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-1826</guid>
  <pubDate>Wed, 25 Apr 2018 16:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/bc8d0c60-eef3-488f-9d07-65122019420b.mp3" length="61676635" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 6.3 and DragonflyBSD 5.2 are released, bug fix for disappearing files in OpenZFS on Linux (and only Linux), understanding the FreeBSD CPU scheduler, NetBSD on RPI3, thoughts on being a committer for 20 years, and 5 reasons to use FreeBSD in 2018.</itunes:subtitle>
  <itunes:duration>1:25:24</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>&lt;p&gt;OpenBSD 6.3 and DragonflyBSD 5.2 are released, bug fix for disappearing files in OpenZFS on Linux (and only Linux), understanding the FreeBSD CPU scheduler, NetBSD on RPI3, thoughts on being a committer for 20 years, and 5 reasons to use FreeBSD in 2018.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.openbsd.org/63.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.3 released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Punctual as ever, OpenBSD 6.3 has been releases with the following features/changes:


&lt;blockquote&gt;
  Improved HW support, including:
  SMP support on OpenBSD/arm64 platforms
  vmm/vmd improvements:
  IEEE 802.11 wireless stack improvements
  Generic network stack improvements
  Installer improvements
  Routing daemons and other userland network improvements
  Security improvements
  dhclient(8) improvements
  Assorted improvements
  OpenSMTPD 6.0.4
  OpenSSH 7.7
  LibreSSL 2.7.2&lt;/blockquote&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr&gt;


&lt;h3&gt;&lt;a href="https://www.dragonflybsd.org/release52/" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD 5.2 released&lt;/a&gt;&lt;/h3&gt;



&lt;blockquote&gt;
  &lt;p&gt;Big-ticket items
  Meltdown and Spectre mitigation support
  Meltdown isolation and spectre mitigation support added. Meltdown mitigation is automatically enabled for all Intel cpus. Spectre mitigation must be enabled manually via sysctl if desired, using sysctls machdep.spectre&lt;em&gt;mitigation and machdep.meltdown&lt;/em&gt;mitigation.
  HAMMER2
  H2 has received a very large number of bug fixes and performance improvements. We can now recommend H2 as the default root filesystem in non-clustered mode.
  Clustered support is not yet available.
  ipfw Updates
  Implement state based "redirect", i.e. without using libalias.
  ipfw now supports all possible ICMP types.
  Fix ICMP&lt;em&gt;MAXTYPE assumptions (now 40 as of this release).
  Improved graphics support
  The drm/i915 kernel driver has been updated to support Intel Coffeelake GPUs
  Add 24-bit pixel format support to the EFI frame buffer code.
  Significantly improve fbio support for the "scfb" XOrg driver. This allows EFI frame buffers to be used by X in situations where we do not otherwise support the GPU.
  Partly implement the FBIO&lt;/em&gt;BLANK ioctl for display powersaving.
  Syscons waits for drm modesetting at appropriate places, avoiding races.
  + For more details, check out the “All changes since DragonFly 5.0” section.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;






&lt;h3&gt;&lt;a href="https://github.com/zfsonlinux/zfs/issues/7401" target="_blank" rel="nofollow noopener"&gt;ZFS on Linux bug causes files to disappear&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A bug in ZoL 0.7.7 caused 0.7.8 to be released just 3 days after the release&lt;/li&gt;
&lt;li&gt;The bug only impacts Linux, the change that caused the problem was not upstreamed yet, so does not impact ZFS on illumos, FreeBSD, OS X, or Windows&lt;/li&gt;
&lt;li&gt;The bug can cause files being copied into a directory to not be properly linked to the directory, so they will no longer be listed in the contents of the directory&lt;/li&gt;
&lt;li&gt;ZoL developers are working on a tool to allow you to recover the data, since no data was actually lost, the files were just not properly registered as part of the directory&lt;/li&gt;
&lt;li&gt;The bug was introduced in a commit made in February, that attempted to improve performance of datasets created with the case insensitivity option. In an effort to improve performance, they introduced a limit to cap to give up (return ENOSPC) if growing the directory ZAP failed twice.&lt;/li&gt;
&lt;li&gt;The ZAP is the key-value pair data structure that contains metadata for a directory, including a hash table of the files that are in a directory. When a directory has a large number of files, the ZAP is converted to a FatZAP, and additional space may need to be allocated as additional files are added.


&lt;blockquote&gt;
  Commit cc63068 caused ENOSPC error when copy a large amount of files between two directories. The reason is that the patch limits zap leaf expansion to 2 retries, and return ENOSPC when failed.&lt;/blockquote&gt;&lt;/li&gt;
  &lt;li&gt;Finding the root cause of this issue was somewhat hampered by the fact that many people were not able to reproduce the issue. It turns out this was caused by an entirely unrelated change to GNU coreutils.&lt;/li&gt;
  &lt;li&gt;On later versions of GNU Coreutils, the files were returned in a sorted order, resulting in them hitting different buckets in the hash table, and not tripping the retry limit&lt;/li&gt;
  &lt;li&gt;Tools like rsync were unaffected, because they always sort the files before copying&lt;/li&gt;
  &lt;li&gt;If you did not see any ENOSPC errors, you were likely not impacted
  The intent for limiting retries is to prevent pointlessly growing table to max size when adding a block full of entries with same name in different case in mixed mode. However, it turns out we cannot use any limit on the retry. When we copy files from one directory in readdir order, we are copying in hash order, one leaf block at a time. Which means that if the leaf block in source directory has expanded 6 times, and you copy those entries in that block, by the time you need to expand the leaf in destination directory, you need to expand it 6 times in one go. So any limit on the retry will result in error where it shouldn't.&lt;/li&gt;
  &lt;li&gt;Recommendations for Users from Ryan Yao:
  The regression makes it so that creating a new file could fail with ENOSPC after which files created in that directory could become orphaned. Existing files seem okay, but I have yet to confirm that myself and I cannot speak for what others know. It is incredibly difficult to reproduce on systems running coreutils 8.23 or later. So far, reports have only come from people using coreutils 8.22 or older. The directory size actually gets incremented for each orphaned file, which makes it wrong after orphan files happen.
  We will likely have some way to recover the orphaned files (like ext4’s lost+found) and fix the directory sizes in the very near future. Snapshots of the damaged datasets are problematic though. Until we have a subcommand to fix it (not including the snapshots, which we would have to list), the damage can be removed from a system that has it either by rolling back to a snapshot before it happened or creating a new dataset with 0.7.6 (or another release other than 0.7.7), moving everything to the new dataset and destroying the old. That will restore things to pristine condition.
  It should also be possible to check for pools that are affected, but I have yet to finish my analysis to be certain that no false negatives occur when checking, so I will avoid saying how for now.&lt;/li&gt;
  &lt;li&gt;Writes to existing files cannot trigger this bug, only adding new files to a directory in bulk&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr&gt;


&lt;h2&gt;News Roundup&lt;/h2&gt;



&lt;h3&gt;&lt;a href="https://blog.des.no/2018/04/twenty-years/" target="_blank" rel="nofollow noopener"&gt;des@’s thoughts on being a FreeBSD committer for 20 years&lt;/a&gt;&lt;/h3&gt;



&lt;blockquote&gt;
  &lt;p&gt;Yesterday was the twentieth anniversary of my FreeBSD commit bit, and tomorrow will be the twentieth anniversary of my first commit. I figured I’d split the difference and write a few words about it today.&lt;/p&gt;
  
  &lt;p&gt;My level of engagement with the FreeBSD project has varied greatly over the twenty years I’ve been a committer. There have been times when I worked on it full-time, and times when I did not touch it for months. The last few years, health issues and life events have consumed my time and sapped my energy, and my contributions have come in bursts. Commit statistics do not tell the whole story, though: even when not working on FreeBSD directly, I have worked on side projects which, like OpenPAM, may one day find their way into FreeBSD.&lt;/p&gt;
  
  &lt;p&gt;My contributions have not been limited to code. I was the project’s first Bugmeister; I’ve served on the Security Team for a long time, and have been both Security Officer and Deputy Security Officer; I managed the last four Core Team elections and am doing so again this year.&lt;/p&gt;
  
  &lt;p&gt;In return, the project has taught me much about programming and software engineering. It taught me code hygiene and the importance of clarity over cleverness; it taught me the ins and outs of revision control; it taught me the importance of good documentation, and how to write it; and it taught me good release engineering practices.&lt;/p&gt;
  
  &lt;p&gt;Last but not least, it has provided me with the opportunity to work with some of the best people in the field. I have the privilege today to count several of them among my friends.&lt;/p&gt;
  
  &lt;p&gt;For better or worse, the FreeBSD project has shaped my career and my life. It set me on the path to information security in general and IAA in particular, and opened many a door for me. I would not be where I am now without it.&lt;/p&gt;
  
  &lt;p&gt;I won’t pretend to be able to tell the future. I don’t know how long I will remain active in the FreeBSD project and community. It could be another twenty years; or it could be ten, or five, or less. All I know is that FreeBSD and I still have things to teach each other, and I don’t intend to call it quits any time soon.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;






&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/truenas-m-series/?utm_source=twitter.com&amp;amp;utm_medium=bsdnow&amp;amp;utm_campaign=truenas+m+series" target="_blank" rel="nofollow noopener"&gt;iXsystems unveils new TrueNAS M-Series Unified Storage Line&lt;/a&gt;&lt;/h3&gt;



&lt;blockquote&gt;
  &lt;p&gt;San Jose, Calif., April 10, 2018 — iXsystems, the leader in Enterprise Open Source servers and software-defined storage, announced the TrueNAS M40 and M50 as the newest high-performance models in its hybrid, unified storage product line. The TrueNAS M-Series harnesses NVMe and NVDIMM to bring all-flash array performance to the award-winning TrueNAS hybrid arrays. It also includes the Intel® Xeon® Scalable Family of Processors and supports up to 100GbE and 32Gb Fibre Channel networking. Sitting between the all-flash TrueNAS Z50 and the hybrid TrueNAS X-Series in the product line, the TrueNAS M-Series delivers up to 10 Petabytes of highly-available and flash-powered network attached storage and rounds out a comprehensive product set that has a capacity and performance option for every storage budget.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Designed for On-Premises &amp;amp; Enterprise Cloud Environments&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;As a unified file, block, and object sharing solution, TrueNAS can meet the needs of file serving, backup, virtualization, media production, and private cloud users thanks to its support for the SMB, NFS, AFP, iSCSI, Fibre Channel, and S3 protocols.&lt;/p&gt;
  
  &lt;p&gt;At the heart of the TrueNAS M-Series is a custom 4U, dual-controller head unit that supports up to 24 3.5” drives and comes in two models, the M40 and M50, for maximum flexibility and scalability. The TrueNAS M40 uses NVDIMMs for write cache, SSDs for read cache, and up to two external 60-bay expansion shelves that unlock up to 2PB in capacity. The TrueNAS M50 uses NVDIMMs for write caching, NVMe drives for read caching, and up to twelve external 60-bay expansion shelves to scale upwards of 10PB. The dual-controller design provides high-availability failover and non-disruptive upgrades for mission-critical enterprise environments.&lt;/p&gt;
  
  &lt;p&gt;By design, the TrueNAS M-Series unleashes cutting-edge persistent memory technology for demanding performance and capacity workloads, enabling businesses to accelerate enterprise applications and deploy enterprise private clouds that are twice the capacity of previous TrueNAS models. It also supports replication to the Amazon S3, BackBlaze B2, Google Cloud, and Microsoft Azure cloud platforms and can deliver an object store using the ubiquitous S3 object storage protocol at a fraction of the cost of the public cloud.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Fast&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;As a true enterprise storage platform, the TrueNAS M50 supports very demanding performance workloads with up to four active 100GbE ports, 3TB of RAM, 32GB of NVDIMM write cache and up to 15TB of NVMe flash read cache. The TrueNAS M40 and M50 include up to 24/7 and global next-business-day support, putting IT at ease. The modular and tool-less design of the M-Series allows for easy, non-disruptive servicing and upgrading by end-users and support technicians for guaranteed uptime. TrueNAS has US-Based support provided by the engineering team that developed it, offering the rapid response that every enterprise needs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Award-Winning TrueNAS Features&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Enterprise: Perfectly suited for private clouds and enterprise workloads such as file sharing, backups, M&amp;amp;E, surveillance, and hosting virtual machines.&lt;/li&gt;
&lt;li&gt;Unified: Utilizes SMB, AFP, NFS for file storage, iSCSI, Fibre Channel and OpenStack Cinder for block storage, and S3-compatible APIs for object storage. Supports every common operating system, hypervisor, and application.&lt;/li&gt;
&lt;li&gt;Economical: Deploy an enterprise private cloud and reduce storage TCO by 70% over AWS with built-in enterprise-class features such as in-line compression, deduplication, clones, and thin-provisioning.&lt;/li&gt;
&lt;li&gt;Safe: The OpenZFS file system ensures data integrity with best-in-class replication and snapshotting. Customers can replicate data to the rest of the iXsystems storage lineup and to the public cloud.&lt;/li&gt;
&lt;li&gt;Reliable: High Availability option with dual hot-swappable controllers for continuous data availability and 99.999% uptime.&lt;/li&gt;
&lt;li&gt;Familiar: Provision and manage storage with the same simple and powerful WebUI and REST APIs used in all iXsystems storage products, as well as iXsystems’ FreeNAS Software.&lt;/li&gt;
&lt;li&gt;Certified: TrueNAS has passed the Citrix Ready, VMware Ready, and Veeam Ready certifications, reducing the risk of deploying a virtualized infrastructure.&lt;/li&gt;
&lt;li&gt;Open: By using industry-standard sharing protocols, the OpenZFS Open Source enterprise file system and FreeNAS, the world’s #1 Open Source storage operating system (and also engineered by iXsystems), TrueNAS is the most open enterprise storage solution on the market.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Availability&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;The TrueNAS M40 and M50 will be generally available in April 2018 through the iXsystems global channel partner network. The TrueNAS M-Series starts at under $20,000 USD and can be easily expanded using a linear “per terabyte” pricing model. With typical compression, a Petabtye can be stored for under $100,000 USD. TrueNAS comes with an all-inclusive software suite that provides NFS, Windows SMB, iSCSI, snapshots, clones and replication.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;For more information, visit www.ixsystems.com/TrueNAS &lt;/li&gt;
&lt;li&gt;&lt;a href="TrueNAS%20M-Series%20What's%20New" target="_blank" rel="nofollow noopener"&gt;TrueNAS M-Series What's New Video&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2018-April/088678.html" target="_blank" rel="nofollow noopener"&gt;Understanding and tuning the FreeBSD Scheduler &lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;```
Occasionally I noticed that the system would not quickly process the
tasks i need done, but instead prefer other, longrunning tasks. I
figured it must be related to the scheduler, and decided it hates me.&lt;/p&gt;

&lt;p&gt;A closer look shows the behaviour as follows (single CPU):&lt;/p&gt;

&lt;p&gt;Lets run an I/O-active task, e.g, postgres VACUUM that would
continuously read from big files (while doing compute as well [1]):&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;pool        alloc   free   read  write   read  write
  cache           -      -      -      -      -      -
   ada1s4    7.08G  10.9G  1.58K      0  12.9M      0&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now start an endless loop:&lt;/p&gt;

while true; do :; done

&lt;p&gt;And the effect is:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;pool        alloc   free   read  write   read  write
  cache           -      -      -      -      -      -
   ada1s4    7.08G  10.9G      9      0  76.8K      0&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The VACUUM gets almost stuck! This figures with WCPU in "top":&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;PID USERNAME   PRI NICE   SIZE    RES STATE    TIME    WCPU COMMAND
  85583 root        99    0  7044K  1944K RUN      1:06  92.21% bash
  53005 pgsql       52    0   620M 91856K RUN      5:47   0.50% postgres&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hacking on kern.sched.quantum makes it quite a bit better:&lt;/p&gt;

sysctl kern.sched.quantum=1

&lt;p&gt;kern.sched.quantum: 94488 -&amp;gt; 7874&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;pool        alloc   free   read  write   read  write
  cache           -      -      -      -      -      -
   ada1s4    7.08G  10.9G    395      0  3.12M      0&lt;/p&gt;
  
  &lt;p&gt;PID USERNAME   PRI NICE   SIZE    RES STATE    TIME    WCPU COMMAND
  85583 root        94    0  7044K  1944K RUN      4:13  70.80% bash
  53005 pgsql       52    0   276M 91856K RUN      5:52  11.83% postgres&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Now, as usual, the "root-cause" questions arise: What exactly does
this "quantum"? Is this solution a workaround, i.e. actually something
else is wrong, and has it tradeoff in other situations? Or otherwise,
why is such a default value chosen, which appears to be ill-deceived?&lt;/p&gt;

&lt;p&gt;The docs for the quantum parameter are a bit unsatisfying - they say
its the max num of ticks a process gets - and what happens when
they're exhausted? If by default the endless loop is actually allowed
to continue running for 94k ticks (or 94ms, more likely) uninterrupted,
then that explains the perceived behaviour - buts thats certainly not
what a scheduler should do when other procs are ready to run.&lt;/p&gt;

&lt;p&gt;11.1-RELEASE-p7, kern.hz=200. Switching tickless mode on or off does
not influence the matter. Starting the endless loop with "nice" does
not influence the matter.&lt;/p&gt;

&lt;p&gt;[1]
A pure-I/O job without compute load, like "dd", does not show
this behaviour. Also, when other tasks are running, the unjust
behaviour is not so stongly pronounced.
```&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://mail-index.netbsd.org/port-arm/2018/04/01/msg004702.html" target="_blank" rel="nofollow noopener"&gt;aarch64 support added&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;I have committed about adding initial support for aarch64.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;booting log on RaspberryPI3:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;```
    boot NetBSD/evbarm (aarch64)
    Drop to EL1...OK
    Creating VA=PA tables
    Creating KSEG tables
    Creating KVA=PA tables
    Creating devmap tables
    MMU Enable...OK
    VSTART          = ffffffc000001ff4
    FDT&amp;lt;3ab46000&amp;gt; devmap cpufunc bootstrap consinit ok
    uboot: args 0x3ab46000, 0, 0, 0&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;NetBSD/evbarm (fdt) booting ...
FDT /memory [0] @ 0x0 size 0x3b000000
MEM: add 0-3b000000
MEM: res 0-1000
MEM: res 3ab46000-3ab4a000
Usable memory:
  1000 - 3ab45fff
  3ab4a000 - 3affffff
initarm: kernel phys start 1000000 end 17bd000
MEM: res 1000000-17bd000
bootargs: root=axe0
  1000 - ffffff
  17bd000 - 3ab45fff
  3ab4a000 - 3affffff
------------------------------------------
kern_vtopdiff         = 0xffffffbfff000000
physical_start        = 0x0000000000001000
kernel_start_phys     = 0x0000000001000000
kernel_end_phys       = 0x00000000017bd000
physical_end          = 0x000000003ab45000
VM_MIN_KERNEL_ADDRESS = 0xffffffc000000000
kernel_start_l2       = 0xffffffc000000000
kernel_start          = 0xffffffc000000000
kernel_end            = 0xffffffc0007bd000
kernel_end_l2         = 0xffffffc000800000
(kernel va area)
(devmap va area)
VM_MAX_KERNEL_ADDRESS = 0xffffffffffe00000
------------------------------------------
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017,
    2018 The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 8.99.14 (RPI64) #11: Fri Mar 30 12:34:19 JST 2018
        ryo@moveq:/usr/home/ryo/tmp/netbsd-src-ryo-wip/sys/arch/evbarm/compile/RPI64
total memory = 936 MB
avail memory = 877 MB
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;…&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Starting local daemons:.
Updating motd.
Starting sshd.
Starting inetd.
Starting cron.
The following components reported failures:
    /etc/rc.d/swap2
See /var/run/rc.log for more information.
Fri Mar 30 12:35:31 JST 2018

NetBSD/evbarm (rpi3) (console)

login: root
Last login: Fri Mar 30 12:30:24 2018 on console

rpi3# uname -ap
NetBSD rpi3 8.99.14 NetBSD 8.99.14 (RPI64) #11: Fri Mar 30 12:34:19 JST 2018  ryo@moveq:/usr/home/ryo/tmp/netbsd-src-ryo-wip/sys/arch/evbarm/compile/RPI64 evbarm aarch64
rpi3#
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;```&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Now, multiuser mode works stably on fdt based boards (RPI3,SUNXI,TEGRA). But there are still some problems, more time is required for release. also SMP is not yet. See sys/arch/aarch64/aarch64/TODO for more detail. Especially the problems around TLS of rtld, and C++ stack unwindings are too difficult for me to solve, I give up and need someone's help (^o^)/ Since C++ doesn't work, ATF also doesn't work. If the ATF works, it will clarify more issues.&lt;/p&gt;
  
  &lt;p&gt;sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. One evbarm/conf/GENERIC64 kernel binary supports all fdt (bcm2837,sunxi,tegra) based boards. While on 32bit, sys/arch/evbarm/conf/GENERIC will support all fdt based boards...but doesn't work yet. (WIP)&lt;/p&gt;
  
  &lt;p&gt;My deepest appreciation goes to Tohru Nishimura (nisimura@) whose writes vector handlers, context switchings, and so on. and his comments and suggestions were innumerably valuable. I would also like to thank Nick Hudson (skrll@) and Jared McNeill (jmcneill@) whose added support FDT and integrated into evbarm. Finally, I would like to thank Matt Thomas (matt@) whose commited aarch64
  toolchains and preliminary support for aarch64.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=hvuWI5hzD5U" target="_blank" rel="nofollow noopener"&gt;5 Reasons to Use FreeBSD in 2018&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/johalun/status/983645780509712384" target="_blank" rel="nofollow noopener"&gt;Rewriting Intel gigabit network driver in Rust&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/DLangille/status/983360090240684034" target="_blank" rel="nofollow noopener"&gt;Recruiting to make Elastic Search on FreeBSD better&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Tubsta/status/981058685219688448" target="_blank" rel="nofollow noopener"&gt;Windows Server 2019 Preview, in bhyve on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/3126" target="_blank" rel="nofollow noopener"&gt;“SSH Mastery, 2nd ed” in hardcover&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Jason - &lt;a href="http://dpaste.com/0JN4V1K#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS Transfer option&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Luis - &lt;a href="http://dpaste.com/3MH4QRF#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS Pools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://clonos.tekroutine.com/" target="_blank" rel="nofollow noopener"&gt;ClonOS &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Michael - &lt;a href="http://dpaste.com/3MN5F74#wrap" target="_blank" rel="nofollow noopener"&gt;Tech Conferences&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;anonymous - &lt;a href="http://dpaste.com/18J24QJ#wrap" target="_blank" rel="nofollow noopener"&gt;BSD trash on removable drives&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>BSD,DragonflyBSD,freebsd,guide,howto,Interview,NetBSD,OpenBSD,trueos,tutorial</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 6.3 and DragonflyBSD 5.2 are released, bug fix for disappearing files in OpenZFS on Linux (and only Linux), understanding the FreeBSD CPU scheduler, NetBSD on RPI3, thoughts on being a committer for 20 years, and 5 reasons to use FreeBSD in 2018.</p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/63.html" target="_blank" rel="nofollow noopener">OpenBSD 6.3 released</a></h3>

<ul>
<li>Punctual as ever, OpenBSD 6.3 has been releases with the following features/changes:


<blockquote>
  Improved HW support, including:
  SMP support on OpenBSD/arm64 platforms
  vmm/vmd improvements:
  IEEE 802.11 wireless stack improvements
  Generic network stack improvements
  Installer improvements
  Routing daemons and other userland network improvements
  Security improvements
  dhclient(8) improvements
  Assorted improvements
  OpenSMTPD 6.0.4
  OpenSSH 7.7
  LibreSSL 2.7.2</blockquote></li>
  </ul>
  <hr>


<h3><a href="https://www.dragonflybsd.org/release52/" target="_blank" rel="nofollow noopener">DragonFlyBSD 5.2 released</a></h3>



<blockquote>
  <p>Big-ticket items
  Meltdown and Spectre mitigation support
  Meltdown isolation and spectre mitigation support added. Meltdown mitigation is automatically enabled for all Intel cpus. Spectre mitigation must be enabled manually via sysctl if desired, using sysctls machdep.spectre<em>mitigation and machdep.meltdown</em>mitigation.
  HAMMER2
  H2 has received a very large number of bug fixes and performance improvements. We can now recommend H2 as the default root filesystem in non-clustered mode.
  Clustered support is not yet available.
  ipfw Updates
  Implement state based "redirect", i.e. without using libalias.
  ipfw now supports all possible ICMP types.
  Fix ICMP<em>MAXTYPE assumptions (now 40 as of this release).
  Improved graphics support
  The drm/i915 kernel driver has been updated to support Intel Coffeelake GPUs
  Add 24-bit pixel format support to the EFI frame buffer code.
  Significantly improve fbio support for the "scfb" XOrg driver. This allows EFI frame buffers to be used by X in situations where we do not otherwise support the GPU.
  Partly implement the FBIO</em>BLANK ioctl for display powersaving.
  Syscons waits for drm modesetting at appropriate places, avoiding races.
  + For more details, check out the “All changes since DragonFly 5.0” section.</p>
</blockquote>

<hr>






<h3><a href="https://github.com/zfsonlinux/zfs/issues/7401" target="_blank" rel="nofollow noopener">ZFS on Linux bug causes files to disappear</a></h3>

<ul>
<li>A bug in ZoL 0.7.7 caused 0.7.8 to be released just 3 days after the release</li>
<li>The bug only impacts Linux, the change that caused the problem was not upstreamed yet, so does not impact ZFS on illumos, FreeBSD, OS X, or Windows</li>
<li>The bug can cause files being copied into a directory to not be properly linked to the directory, so they will no longer be listed in the contents of the directory</li>
<li>ZoL developers are working on a tool to allow you to recover the data, since no data was actually lost, the files were just not properly registered as part of the directory</li>
<li>The bug was introduced in a commit made in February, that attempted to improve performance of datasets created with the case insensitivity option. In an effort to improve performance, they introduced a limit to cap to give up (return ENOSPC) if growing the directory ZAP failed twice.</li>
<li>The ZAP is the key-value pair data structure that contains metadata for a directory, including a hash table of the files that are in a directory. When a directory has a large number of files, the ZAP is converted to a FatZAP, and additional space may need to be allocated as additional files are added.


<blockquote>
  Commit cc63068 caused ENOSPC error when copy a large amount of files between two directories. The reason is that the patch limits zap leaf expansion to 2 retries, and return ENOSPC when failed.</blockquote></li>
  <li>Finding the root cause of this issue was somewhat hampered by the fact that many people were not able to reproduce the issue. It turns out this was caused by an entirely unrelated change to GNU coreutils.</li>
  <li>On later versions of GNU Coreutils, the files were returned in a sorted order, resulting in them hitting different buckets in the hash table, and not tripping the retry limit</li>
  <li>Tools like rsync were unaffected, because they always sort the files before copying</li>
  <li>If you did not see any ENOSPC errors, you were likely not impacted
  The intent for limiting retries is to prevent pointlessly growing table to max size when adding a block full of entries with same name in different case in mixed mode. However, it turns out we cannot use any limit on the retry. When we copy files from one directory in readdir order, we are copying in hash order, one leaf block at a time. Which means that if the leaf block in source directory has expanded 6 times, and you copy those entries in that block, by the time you need to expand the leaf in destination directory, you need to expand it 6 times in one go. So any limit on the retry will result in error where it shouldn't.</li>
  <li>Recommendations for Users from Ryan Yao:
  The regression makes it so that creating a new file could fail with ENOSPC after which files created in that directory could become orphaned. Existing files seem okay, but I have yet to confirm that myself and I cannot speak for what others know. It is incredibly difficult to reproduce on systems running coreutils 8.23 or later. So far, reports have only come from people using coreutils 8.22 or older. The directory size actually gets incremented for each orphaned file, which makes it wrong after orphan files happen.
  We will likely have some way to recover the orphaned files (like ext4’s lost+found) and fix the directory sizes in the very near future. Snapshots of the damaged datasets are problematic though. Until we have a subcommand to fix it (not including the snapshots, which we would have to list), the damage can be removed from a system that has it either by rolling back to a snapshot before it happened or creating a new dataset with 0.7.6 (or another release other than 0.7.7), moving everything to the new dataset and destroying the old. That will restore things to pristine condition.
  It should also be possible to check for pools that are affected, but I have yet to finish my analysis to be certain that no false negatives occur when checking, so I will avoid saying how for now.</li>
  <li>Writes to existing files cannot trigger this bug, only adding new files to a directory in bulk</li>
  </ul>
  <hr>


<h2>News Roundup</h2>



<h3><a href="https://blog.des.no/2018/04/twenty-years/" target="_blank" rel="nofollow noopener">des@’s thoughts on being a FreeBSD committer for 20 years</a></h3>



<blockquote>
  <p>Yesterday was the twentieth anniversary of my FreeBSD commit bit, and tomorrow will be the twentieth anniversary of my first commit. I figured I’d split the difference and write a few words about it today.</p>
  
  <p>My level of engagement with the FreeBSD project has varied greatly over the twenty years I’ve been a committer. There have been times when I worked on it full-time, and times when I did not touch it for months. The last few years, health issues and life events have consumed my time and sapped my energy, and my contributions have come in bursts. Commit statistics do not tell the whole story, though: even when not working on FreeBSD directly, I have worked on side projects which, like OpenPAM, may one day find their way into FreeBSD.</p>
  
  <p>My contributions have not been limited to code. I was the project’s first Bugmeister; I’ve served on the Security Team for a long time, and have been both Security Officer and Deputy Security Officer; I managed the last four Core Team elections and am doing so again this year.</p>
  
  <p>In return, the project has taught me much about programming and software engineering. It taught me code hygiene and the importance of clarity over cleverness; it taught me the ins and outs of revision control; it taught me the importance of good documentation, and how to write it; and it taught me good release engineering practices.</p>
  
  <p>Last but not least, it has provided me with the opportunity to work with some of the best people in the field. I have the privilege today to count several of them among my friends.</p>
  
  <p>For better or worse, the FreeBSD project has shaped my career and my life. It set me on the path to information security in general and IAA in particular, and opened many a door for me. I would not be where I am now without it.</p>
  
  <p>I won’t pretend to be able to tell the future. I don’t know how long I will remain active in the FreeBSD project and community. It could be another twenty years; or it could be ten, or five, or less. All I know is that FreeBSD and I still have things to teach each other, and I don’t intend to call it quits any time soon.</p>
</blockquote>

<hr>






<h3><a href="https://www.ixsystems.com/blog/truenas-m-series/?utm_source=twitter.com&amp;utm_medium=bsdnow&amp;utm_campaign=truenas+m+series" target="_blank" rel="nofollow noopener">iXsystems unveils new TrueNAS M-Series Unified Storage Line</a></h3>



<blockquote>
  <p>San Jose, Calif., April 10, 2018 — iXsystems, the leader in Enterprise Open Source servers and software-defined storage, announced the TrueNAS M40 and M50 as the newest high-performance models in its hybrid, unified storage product line. The TrueNAS M-Series harnesses NVMe and NVDIMM to bring all-flash array performance to the award-winning TrueNAS hybrid arrays. It also includes the Intel® Xeon® Scalable Family of Processors and supports up to 100GbE and 32Gb Fibre Channel networking. Sitting between the all-flash TrueNAS Z50 and the hybrid TrueNAS X-Series in the product line, the TrueNAS M-Series delivers up to 10 Petabytes of highly-available and flash-powered network attached storage and rounds out a comprehensive product set that has a capacity and performance option for every storage budget.</p>
</blockquote>

<ul>
<li>Designed for On-Premises &amp; Enterprise Cloud Environments</li>
</ul>

<blockquote>
  <p>As a unified file, block, and object sharing solution, TrueNAS can meet the needs of file serving, backup, virtualization, media production, and private cloud users thanks to its support for the SMB, NFS, AFP, iSCSI, Fibre Channel, and S3 protocols.</p>
  
  <p>At the heart of the TrueNAS M-Series is a custom 4U, dual-controller head unit that supports up to 24 3.5” drives and comes in two models, the M40 and M50, for maximum flexibility and scalability. The TrueNAS M40 uses NVDIMMs for write cache, SSDs for read cache, and up to two external 60-bay expansion shelves that unlock up to 2PB in capacity. The TrueNAS M50 uses NVDIMMs for write caching, NVMe drives for read caching, and up to twelve external 60-bay expansion shelves to scale upwards of 10PB. The dual-controller design provides high-availability failover and non-disruptive upgrades for mission-critical enterprise environments.</p>
  
  <p>By design, the TrueNAS M-Series unleashes cutting-edge persistent memory technology for demanding performance and capacity workloads, enabling businesses to accelerate enterprise applications and deploy enterprise private clouds that are twice the capacity of previous TrueNAS models. It also supports replication to the Amazon S3, BackBlaze B2, Google Cloud, and Microsoft Azure cloud platforms and can deliver an object store using the ubiquitous S3 object storage protocol at a fraction of the cost of the public cloud.</p>
</blockquote>

<ul>
<li>Fast</li>
</ul>

<blockquote>
  <p>As a true enterprise storage platform, the TrueNAS M50 supports very demanding performance workloads with up to four active 100GbE ports, 3TB of RAM, 32GB of NVDIMM write cache and up to 15TB of NVMe flash read cache. The TrueNAS M40 and M50 include up to 24/7 and global next-business-day support, putting IT at ease. The modular and tool-less design of the M-Series allows for easy, non-disruptive servicing and upgrading by end-users and support technicians for guaranteed uptime. TrueNAS has US-Based support provided by the engineering team that developed it, offering the rapid response that every enterprise needs.</p>
</blockquote>

<ul>
<li><p>Award-Winning TrueNAS Features</p>

<ul><li>Enterprise: Perfectly suited for private clouds and enterprise workloads such as file sharing, backups, M&amp;E, surveillance, and hosting virtual machines.</li>
<li>Unified: Utilizes SMB, AFP, NFS for file storage, iSCSI, Fibre Channel and OpenStack Cinder for block storage, and S3-compatible APIs for object storage. Supports every common operating system, hypervisor, and application.</li>
<li>Economical: Deploy an enterprise private cloud and reduce storage TCO by 70% over AWS with built-in enterprise-class features such as in-line compression, deduplication, clones, and thin-provisioning.</li>
<li>Safe: The OpenZFS file system ensures data integrity with best-in-class replication and snapshotting. Customers can replicate data to the rest of the iXsystems storage lineup and to the public cloud.</li>
<li>Reliable: High Availability option with dual hot-swappable controllers for continuous data availability and 99.999% uptime.</li>
<li>Familiar: Provision and manage storage with the same simple and powerful WebUI and REST APIs used in all iXsystems storage products, as well as iXsystems’ FreeNAS Software.</li>
<li>Certified: TrueNAS has passed the Citrix Ready, VMware Ready, and Veeam Ready certifications, reducing the risk of deploying a virtualized infrastructure.</li>
<li>Open: By using industry-standard sharing protocols, the OpenZFS Open Source enterprise file system and FreeNAS, the world’s #1 Open Source storage operating system (and also engineered by iXsystems), TrueNAS is the most open enterprise storage solution on the market.</li></ul></li>
<li><p>Availability</p></li>
</ul>

<blockquote>
  <p>The TrueNAS M40 and M50 will be generally available in April 2018 through the iXsystems global channel partner network. The TrueNAS M-Series starts at under $20,000 USD and can be easily expanded using a linear “per terabyte” pricing model. With typical compression, a Petabtye can be stored for under $100,000 USD. TrueNAS comes with an all-inclusive software suite that provides NFS, Windows SMB, iSCSI, snapshots, clones and replication.</p>
</blockquote>

<ul>
<li>For more information, visit www.ixsystems.com/TrueNAS </li>
<li><a href="TrueNAS%20M-Series%20What's%20New" target="_blank" rel="nofollow noopener">TrueNAS M-Series What's New Video</a></li>
</ul>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2018-April/088678.html" target="_blank" rel="nofollow noopener">Understanding and tuning the FreeBSD Scheduler </a></h3>

<p>```
Occasionally I noticed that the system would not quickly process the
tasks i need done, but instead prefer other, longrunning tasks. I
figured it must be related to the scheduler, and decided it hates me.</p>

<p>A closer look shows the behaviour as follows (single CPU):</p>

<p>Lets run an I/O-active task, e.g, postgres VACUUM that would
continuously read from big files (while doing compute as well [1]):</p>

<blockquote>
  <p>pool        alloc   free   read  write   read  write
  cache           -      -      -      -      -      -
   ada1s4    7.08G  10.9G  1.58K      0  12.9M      0</p>
</blockquote>

<p>Now start an endless loop:</p>

while true; do :; done

<p>And the effect is:</p>

<blockquote>
  <p>pool        alloc   free   read  write   read  write
  cache           -      -      -      -      -      -
   ada1s4    7.08G  10.9G      9      0  76.8K      0</p>
</blockquote>

<p>The VACUUM gets almost stuck! This figures with WCPU in "top":</p>

<blockquote>
  <p>PID USERNAME   PRI NICE   SIZE    RES STATE    TIME    WCPU COMMAND
  85583 root        99    0  7044K  1944K RUN      1:06  92.21% bash
  53005 pgsql       52    0   620M 91856K RUN      5:47   0.50% postgres</p>
</blockquote>

<p>Hacking on kern.sched.quantum makes it quite a bit better:</p>

sysctl kern.sched.quantum=1

<p>kern.sched.quantum: 94488 -&gt; 7874</p>

<blockquote>
  <p>pool        alloc   free   read  write   read  write
  cache           -      -      -      -      -      -
   ada1s4    7.08G  10.9G    395      0  3.12M      0</p>
  
  <p>PID USERNAME   PRI NICE   SIZE    RES STATE    TIME    WCPU COMMAND
  85583 root        94    0  7044K  1944K RUN      4:13  70.80% bash
  53005 pgsql       52    0   276M 91856K RUN      5:52  11.83% postgres</p>
</blockquote>

<p>Now, as usual, the "root-cause" questions arise: What exactly does
this "quantum"? Is this solution a workaround, i.e. actually something
else is wrong, and has it tradeoff in other situations? Or otherwise,
why is such a default value chosen, which appears to be ill-deceived?</p>

<p>The docs for the quantum parameter are a bit unsatisfying - they say
its the max num of ticks a process gets - and what happens when
they're exhausted? If by default the endless loop is actually allowed
to continue running for 94k ticks (or 94ms, more likely) uninterrupted,
then that explains the perceived behaviour - buts thats certainly not
what a scheduler should do when other procs are ready to run.</p>

<p>11.1-RELEASE-p7, kern.hz=200. Switching tickless mode on or off does
not influence the matter. Starting the endless loop with "nice" does
not influence the matter.</p>

<p>[1]
A pure-I/O job without compute load, like "dd", does not show
this behaviour. Also, when other tasks are running, the unjust
behaviour is not so stongly pronounced.
```</p>

<hr>

<h3><a href="https://mail-index.netbsd.org/port-arm/2018/04/01/msg004702.html" target="_blank" rel="nofollow noopener">aarch64 support added</a></h3>

<blockquote>
  <p>I have committed about adding initial support for aarch64.</p>
</blockquote>

<ul>
<li>booting log on RaspberryPI3:</li>
</ul>

<p>```
    boot NetBSD/evbarm (aarch64)
    Drop to EL1...OK
    Creating VA=PA tables
    Creating KSEG tables
    Creating KVA=PA tables
    Creating devmap tables
    MMU Enable...OK
    VSTART          = ffffffc000001ff4
    FDT&lt;3ab46000&gt; devmap cpufunc bootstrap consinit ok
    uboot: args 0x3ab46000, 0, 0, 0</p>

<pre><code>NetBSD/evbarm (fdt) booting ...
FDT /memory [0] @ 0x0 size 0x3b000000
MEM: add 0-3b000000
MEM: res 0-1000
MEM: res 3ab46000-3ab4a000
Usable memory:
  1000 - 3ab45fff
  3ab4a000 - 3affffff
initarm: kernel phys start 1000000 end 17bd000
MEM: res 1000000-17bd000
bootargs: root=axe0
  1000 - ffffff
  17bd000 - 3ab45fff
  3ab4a000 - 3affffff
------------------------------------------
kern_vtopdiff         = 0xffffffbfff000000
physical_start        = 0x0000000000001000
kernel_start_phys     = 0x0000000001000000
kernel_end_phys       = 0x00000000017bd000
physical_end          = 0x000000003ab45000
VM_MIN_KERNEL_ADDRESS = 0xffffffc000000000
kernel_start_l2       = 0xffffffc000000000
kernel_start          = 0xffffffc000000000
kernel_end            = 0xffffffc0007bd000
kernel_end_l2         = 0xffffffc000800000
(kernel va area)
(devmap va area)
VM_MAX_KERNEL_ADDRESS = 0xffffffffffe00000
------------------------------------------
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017,
    2018 The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 8.99.14 (RPI64) #11: Fri Mar 30 12:34:19 JST 2018
        ryo@moveq:/usr/home/ryo/tmp/netbsd-src-ryo-wip/sys/arch/evbarm/compile/RPI64
total memory = 936 MB
avail memory = 877 MB
</code></pre>

<p>…</p>

<pre><code>Starting local daemons:.
Updating motd.
Starting sshd.
Starting inetd.
Starting cron.
The following components reported failures:
    /etc/rc.d/swap2
See /var/run/rc.log for more information.
Fri Mar 30 12:35:31 JST 2018

NetBSD/evbarm (rpi3) (console)

login: root
Last login: Fri Mar 30 12:30:24 2018 on console

rpi3# uname -ap
NetBSD rpi3 8.99.14 NetBSD 8.99.14 (RPI64) #11: Fri Mar 30 12:34:19 JST 2018  ryo@moveq:/usr/home/ryo/tmp/netbsd-src-ryo-wip/sys/arch/evbarm/compile/RPI64 evbarm aarch64
rpi3#
</code></pre>

<p>```</p>

<blockquote>
  <p>Now, multiuser mode works stably on fdt based boards (RPI3,SUNXI,TEGRA). But there are still some problems, more time is required for release. also SMP is not yet. See sys/arch/aarch64/aarch64/TODO for more detail. Especially the problems around TLS of rtld, and C++ stack unwindings are too difficult for me to solve, I give up and need someone's help (^o^)/ Since C++ doesn't work, ATF also doesn't work. If the ATF works, it will clarify more issues.</p>
  
  <p>sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. One evbarm/conf/GENERIC64 kernel binary supports all fdt (bcm2837,sunxi,tegra) based boards. While on 32bit, sys/arch/evbarm/conf/GENERIC will support all fdt based boards...but doesn't work yet. (WIP)</p>
  
  <p>My deepest appreciation goes to Tohru Nishimura (nisimura@) whose writes vector handlers, context switchings, and so on. and his comments and suggestions were innumerably valuable. I would also like to thank Nick Hudson (skrll@) and Jared McNeill (jmcneill@) whose added support FDT and integrated into evbarm. Finally, I would like to thank Matt Thomas (matt@) whose commited aarch64
  toolchains and preliminary support for aarch64.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=hvuWI5hzD5U" target="_blank" rel="nofollow noopener">5 Reasons to Use FreeBSD in 2018</a></li>
<li><a href="https://twitter.com/johalun/status/983645780509712384" target="_blank" rel="nofollow noopener">Rewriting Intel gigabit network driver in Rust</a></li>
<li><a href="https://twitter.com/DLangille/status/983360090240684034" target="_blank" rel="nofollow noopener">Recruiting to make Elastic Search on FreeBSD better</a></li>
<li><a href="https://twitter.com/Tubsta/status/981058685219688448" target="_blank" rel="nofollow noopener">Windows Server 2019 Preview, in bhyve on FreeBSD</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3126" target="_blank" rel="nofollow noopener">“SSH Mastery, 2nd ed” in hardcover</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Jason - <a href="http://dpaste.com/0JN4V1K#wrap" target="_blank" rel="nofollow noopener">ZFS Transfer option</a></li>
<li>Luis - <a href="http://dpaste.com/3MH4QRF#wrap" target="_blank" rel="nofollow noopener">ZFS Pools</a></li>
<li><a href="https://clonos.tekroutine.com/" target="_blank" rel="nofollow noopener">ClonOS </a></li>
<li>Michael - <a href="http://dpaste.com/3MN5F74#wrap" target="_blank" rel="nofollow noopener">Tech Conferences</a></li>
<li>anonymous - <a href="http://dpaste.com/18J24QJ#wrap" target="_blank" rel="nofollow noopener">BSD trash on removable drives</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 6.3 and DragonflyBSD 5.2 are released, bug fix for disappearing files in OpenZFS on Linux (and only Linux), understanding the FreeBSD CPU scheduler, NetBSD on RPI3, thoughts on being a committer for 20 years, and 5 reasons to use FreeBSD in 2018.</p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/63.html" target="_blank" rel="nofollow noopener">OpenBSD 6.3 released</a></h3>

<ul>
<li>Punctual as ever, OpenBSD 6.3 has been releases with the following features/changes:


<blockquote>
  Improved HW support, including:
  SMP support on OpenBSD/arm64 platforms
  vmm/vmd improvements:
  IEEE 802.11 wireless stack improvements
  Generic network stack improvements
  Installer improvements
  Routing daemons and other userland network improvements
  Security improvements
  dhclient(8) improvements
  Assorted improvements
  OpenSMTPD 6.0.4
  OpenSSH 7.7
  LibreSSL 2.7.2</blockquote></li>
  </ul>
  <hr>


<h3><a href="https://www.dragonflybsd.org/release52/" target="_blank" rel="nofollow noopener">DragonFlyBSD 5.2 released</a></h3>



<blockquote>
  <p>Big-ticket items
  Meltdown and Spectre mitigation support
  Meltdown isolation and spectre mitigation support added. Meltdown mitigation is automatically enabled for all Intel cpus. Spectre mitigation must be enabled manually via sysctl if desired, using sysctls machdep.spectre<em>mitigation and machdep.meltdown</em>mitigation.
  HAMMER2
  H2 has received a very large number of bug fixes and performance improvements. We can now recommend H2 as the default root filesystem in non-clustered mode.
  Clustered support is not yet available.
  ipfw Updates
  Implement state based "redirect", i.e. without using libalias.
  ipfw now supports all possible ICMP types.
  Fix ICMP<em>MAXTYPE assumptions (now 40 as of this release).
  Improved graphics support
  The drm/i915 kernel driver has been updated to support Intel Coffeelake GPUs
  Add 24-bit pixel format support to the EFI frame buffer code.
  Significantly improve fbio support for the "scfb" XOrg driver. This allows EFI frame buffers to be used by X in situations where we do not otherwise support the GPU.
  Partly implement the FBIO</em>BLANK ioctl for display powersaving.
  Syscons waits for drm modesetting at appropriate places, avoiding races.
  + For more details, check out the “All changes since DragonFly 5.0” section.</p>
</blockquote>

<hr>






<h3><a href="https://github.com/zfsonlinux/zfs/issues/7401" target="_blank" rel="nofollow noopener">ZFS on Linux bug causes files to disappear</a></h3>

<ul>
<li>A bug in ZoL 0.7.7 caused 0.7.8 to be released just 3 days after the release</li>
<li>The bug only impacts Linux, the change that caused the problem was not upstreamed yet, so does not impact ZFS on illumos, FreeBSD, OS X, or Windows</li>
<li>The bug can cause files being copied into a directory to not be properly linked to the directory, so they will no longer be listed in the contents of the directory</li>
<li>ZoL developers are working on a tool to allow you to recover the data, since no data was actually lost, the files were just not properly registered as part of the directory</li>
<li>The bug was introduced in a commit made in February, that attempted to improve performance of datasets created with the case insensitivity option. In an effort to improve performance, they introduced a limit to cap to give up (return ENOSPC) if growing the directory ZAP failed twice.</li>
<li>The ZAP is the key-value pair data structure that contains metadata for a directory, including a hash table of the files that are in a directory. When a directory has a large number of files, the ZAP is converted to a FatZAP, and additional space may need to be allocated as additional files are added.


<blockquote>
  Commit cc63068 caused ENOSPC error when copy a large amount of files between two directories. The reason is that the patch limits zap leaf expansion to 2 retries, and return ENOSPC when failed.</blockquote></li>
  <li>Finding the root cause of this issue was somewhat hampered by the fact that many people were not able to reproduce the issue. It turns out this was caused by an entirely unrelated change to GNU coreutils.</li>
  <li>On later versions of GNU Coreutils, the files were returned in a sorted order, resulting in them hitting different buckets in the hash table, and not tripping the retry limit</li>
  <li>Tools like rsync were unaffected, because they always sort the files before copying</li>
  <li>If you did not see any ENOSPC errors, you were likely not impacted
  The intent for limiting retries is to prevent pointlessly growing table to max size when adding a block full of entries with same name in different case in mixed mode. However, it turns out we cannot use any limit on the retry. When we copy files from one directory in readdir order, we are copying in hash order, one leaf block at a time. Which means that if the leaf block in source directory has expanded 6 times, and you copy those entries in that block, by the time you need to expand the leaf in destination directory, you need to expand it 6 times in one go. So any limit on the retry will result in error where it shouldn't.</li>
  <li>Recommendations for Users from Ryan Yao:
  The regression makes it so that creating a new file could fail with ENOSPC after which files created in that directory could become orphaned. Existing files seem okay, but I have yet to confirm that myself and I cannot speak for what others know. It is incredibly difficult to reproduce on systems running coreutils 8.23 or later. So far, reports have only come from people using coreutils 8.22 or older. The directory size actually gets incremented for each orphaned file, which makes it wrong after orphan files happen.
  We will likely have some way to recover the orphaned files (like ext4’s lost+found) and fix the directory sizes in the very near future. Snapshots of the damaged datasets are problematic though. Until we have a subcommand to fix it (not including the snapshots, which we would have to list), the damage can be removed from a system that has it either by rolling back to a snapshot before it happened or creating a new dataset with 0.7.6 (or another release other than 0.7.7), moving everything to the new dataset and destroying the old. That will restore things to pristine condition.
  It should also be possible to check for pools that are affected, but I have yet to finish my analysis to be certain that no false negatives occur when checking, so I will avoid saying how for now.</li>
  <li>Writes to existing files cannot trigger this bug, only adding new files to a directory in bulk</li>
  </ul>
  <hr>


<h2>News Roundup</h2>



<h3><a href="https://blog.des.no/2018/04/twenty-years/" target="_blank" rel="nofollow noopener">des@’s thoughts on being a FreeBSD committer for 20 years</a></h3>



<blockquote>
  <p>Yesterday was the twentieth anniversary of my FreeBSD commit bit, and tomorrow will be the twentieth anniversary of my first commit. I figured I’d split the difference and write a few words about it today.</p>
  
  <p>My level of engagement with the FreeBSD project has varied greatly over the twenty years I’ve been a committer. There have been times when I worked on it full-time, and times when I did not touch it for months. The last few years, health issues and life events have consumed my time and sapped my energy, and my contributions have come in bursts. Commit statistics do not tell the whole story, though: even when not working on FreeBSD directly, I have worked on side projects which, like OpenPAM, may one day find their way into FreeBSD.</p>
  
  <p>My contributions have not been limited to code. I was the project’s first Bugmeister; I’ve served on the Security Team for a long time, and have been both Security Officer and Deputy Security Officer; I managed the last four Core Team elections and am doing so again this year.</p>
  
  <p>In return, the project has taught me much about programming and software engineering. It taught me code hygiene and the importance of clarity over cleverness; it taught me the ins and outs of revision control; it taught me the importance of good documentation, and how to write it; and it taught me good release engineering practices.</p>
  
  <p>Last but not least, it has provided me with the opportunity to work with some of the best people in the field. I have the privilege today to count several of them among my friends.</p>
  
  <p>For better or worse, the FreeBSD project has shaped my career and my life. It set me on the path to information security in general and IAA in particular, and opened many a door for me. I would not be where I am now without it.</p>
  
  <p>I won’t pretend to be able to tell the future. I don’t know how long I will remain active in the FreeBSD project and community. It could be another twenty years; or it could be ten, or five, or less. All I know is that FreeBSD and I still have things to teach each other, and I don’t intend to call it quits any time soon.</p>
</blockquote>

<hr>






<h3><a href="https://www.ixsystems.com/blog/truenas-m-series/?utm_source=twitter.com&amp;utm_medium=bsdnow&amp;utm_campaign=truenas+m+series" target="_blank" rel="nofollow noopener">iXsystems unveils new TrueNAS M-Series Unified Storage Line</a></h3>



<blockquote>
  <p>San Jose, Calif., April 10, 2018 — iXsystems, the leader in Enterprise Open Source servers and software-defined storage, announced the TrueNAS M40 and M50 as the newest high-performance models in its hybrid, unified storage product line. The TrueNAS M-Series harnesses NVMe and NVDIMM to bring all-flash array performance to the award-winning TrueNAS hybrid arrays. It also includes the Intel® Xeon® Scalable Family of Processors and supports up to 100GbE and 32Gb Fibre Channel networking. Sitting between the all-flash TrueNAS Z50 and the hybrid TrueNAS X-Series in the product line, the TrueNAS M-Series delivers up to 10 Petabytes of highly-available and flash-powered network attached storage and rounds out a comprehensive product set that has a capacity and performance option for every storage budget.</p>
</blockquote>

<ul>
<li>Designed for On-Premises &amp; Enterprise Cloud Environments</li>
</ul>

<blockquote>
  <p>As a unified file, block, and object sharing solution, TrueNAS can meet the needs of file serving, backup, virtualization, media production, and private cloud users thanks to its support for the SMB, NFS, AFP, iSCSI, Fibre Channel, and S3 protocols.</p>
  
  <p>At the heart of the TrueNAS M-Series is a custom 4U, dual-controller head unit that supports up to 24 3.5” drives and comes in two models, the M40 and M50, for maximum flexibility and scalability. The TrueNAS M40 uses NVDIMMs for write cache, SSDs for read cache, and up to two external 60-bay expansion shelves that unlock up to 2PB in capacity. The TrueNAS M50 uses NVDIMMs for write caching, NVMe drives for read caching, and up to twelve external 60-bay expansion shelves to scale upwards of 10PB. The dual-controller design provides high-availability failover and non-disruptive upgrades for mission-critical enterprise environments.</p>
  
  <p>By design, the TrueNAS M-Series unleashes cutting-edge persistent memory technology for demanding performance and capacity workloads, enabling businesses to accelerate enterprise applications and deploy enterprise private clouds that are twice the capacity of previous TrueNAS models. It also supports replication to the Amazon S3, BackBlaze B2, Google Cloud, and Microsoft Azure cloud platforms and can deliver an object store using the ubiquitous S3 object storage protocol at a fraction of the cost of the public cloud.</p>
</blockquote>

<ul>
<li>Fast</li>
</ul>

<blockquote>
  <p>As a true enterprise storage platform, the TrueNAS M50 supports very demanding performance workloads with up to four active 100GbE ports, 3TB of RAM, 32GB of NVDIMM write cache and up to 15TB of NVMe flash read cache. The TrueNAS M40 and M50 include up to 24/7 and global next-business-day support, putting IT at ease. The modular and tool-less design of the M-Series allows for easy, non-disruptive servicing and upgrading by end-users and support technicians for guaranteed uptime. TrueNAS has US-Based support provided by the engineering team that developed it, offering the rapid response that every enterprise needs.</p>
</blockquote>

<ul>
<li><p>Award-Winning TrueNAS Features</p>

<ul><li>Enterprise: Perfectly suited for private clouds and enterprise workloads such as file sharing, backups, M&amp;E, surveillance, and hosting virtual machines.</li>
<li>Unified: Utilizes SMB, AFP, NFS for file storage, iSCSI, Fibre Channel and OpenStack Cinder for block storage, and S3-compatible APIs for object storage. Supports every common operating system, hypervisor, and application.</li>
<li>Economical: Deploy an enterprise private cloud and reduce storage TCO by 70% over AWS with built-in enterprise-class features such as in-line compression, deduplication, clones, and thin-provisioning.</li>
<li>Safe: The OpenZFS file system ensures data integrity with best-in-class replication and snapshotting. Customers can replicate data to the rest of the iXsystems storage lineup and to the public cloud.</li>
<li>Reliable: High Availability option with dual hot-swappable controllers for continuous data availability and 99.999% uptime.</li>
<li>Familiar: Provision and manage storage with the same simple and powerful WebUI and REST APIs used in all iXsystems storage products, as well as iXsystems’ FreeNAS Software.</li>
<li>Certified: TrueNAS has passed the Citrix Ready, VMware Ready, and Veeam Ready certifications, reducing the risk of deploying a virtualized infrastructure.</li>
<li>Open: By using industry-standard sharing protocols, the OpenZFS Open Source enterprise file system and FreeNAS, the world’s #1 Open Source storage operating system (and also engineered by iXsystems), TrueNAS is the most open enterprise storage solution on the market.</li></ul></li>
<li><p>Availability</p></li>
</ul>

<blockquote>
  <p>The TrueNAS M40 and M50 will be generally available in April 2018 through the iXsystems global channel partner network. The TrueNAS M-Series starts at under $20,000 USD and can be easily expanded using a linear “per terabyte” pricing model. With typical compression, a Petabtye can be stored for under $100,000 USD. TrueNAS comes with an all-inclusive software suite that provides NFS, Windows SMB, iSCSI, snapshots, clones and replication.</p>
</blockquote>

<ul>
<li>For more information, visit www.ixsystems.com/TrueNAS </li>
<li><a href="TrueNAS%20M-Series%20What's%20New" target="_blank" rel="nofollow noopener">TrueNAS M-Series What's New Video</a></li>
</ul>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2018-April/088678.html" target="_blank" rel="nofollow noopener">Understanding and tuning the FreeBSD Scheduler </a></h3>

<p>```
Occasionally I noticed that the system would not quickly process the
tasks i need done, but instead prefer other, longrunning tasks. I
figured it must be related to the scheduler, and decided it hates me.</p>

<p>A closer look shows the behaviour as follows (single CPU):</p>

<p>Lets run an I/O-active task, e.g, postgres VACUUM that would
continuously read from big files (while doing compute as well [1]):</p>

<blockquote>
  <p>pool        alloc   free   read  write   read  write
  cache           -      -      -      -      -      -
   ada1s4    7.08G  10.9G  1.58K      0  12.9M      0</p>
</blockquote>

<p>Now start an endless loop:</p>

while true; do :; done

<p>And the effect is:</p>

<blockquote>
  <p>pool        alloc   free   read  write   read  write
  cache           -      -      -      -      -      -
   ada1s4    7.08G  10.9G      9      0  76.8K      0</p>
</blockquote>

<p>The VACUUM gets almost stuck! This figures with WCPU in "top":</p>

<blockquote>
  <p>PID USERNAME   PRI NICE   SIZE    RES STATE    TIME    WCPU COMMAND
  85583 root        99    0  7044K  1944K RUN      1:06  92.21% bash
  53005 pgsql       52    0   620M 91856K RUN      5:47   0.50% postgres</p>
</blockquote>

<p>Hacking on kern.sched.quantum makes it quite a bit better:</p>

sysctl kern.sched.quantum=1

<p>kern.sched.quantum: 94488 -&gt; 7874</p>

<blockquote>
  <p>pool        alloc   free   read  write   read  write
  cache           -      -      -      -      -      -
   ada1s4    7.08G  10.9G    395      0  3.12M      0</p>
  
  <p>PID USERNAME   PRI NICE   SIZE    RES STATE    TIME    WCPU COMMAND
  85583 root        94    0  7044K  1944K RUN      4:13  70.80% bash
  53005 pgsql       52    0   276M 91856K RUN      5:52  11.83% postgres</p>
</blockquote>

<p>Now, as usual, the "root-cause" questions arise: What exactly does
this "quantum"? Is this solution a workaround, i.e. actually something
else is wrong, and has it tradeoff in other situations? Or otherwise,
why is such a default value chosen, which appears to be ill-deceived?</p>

<p>The docs for the quantum parameter are a bit unsatisfying - they say
its the max num of ticks a process gets - and what happens when
they're exhausted? If by default the endless loop is actually allowed
to continue running for 94k ticks (or 94ms, more likely) uninterrupted,
then that explains the perceived behaviour - buts thats certainly not
what a scheduler should do when other procs are ready to run.</p>

<p>11.1-RELEASE-p7, kern.hz=200. Switching tickless mode on or off does
not influence the matter. Starting the endless loop with "nice" does
not influence the matter.</p>

<p>[1]
A pure-I/O job without compute load, like "dd", does not show
this behaviour. Also, when other tasks are running, the unjust
behaviour is not so stongly pronounced.
```</p>

<hr>

<h3><a href="https://mail-index.netbsd.org/port-arm/2018/04/01/msg004702.html" target="_blank" rel="nofollow noopener">aarch64 support added</a></h3>

<blockquote>
  <p>I have committed about adding initial support for aarch64.</p>
</blockquote>

<ul>
<li>booting log on RaspberryPI3:</li>
</ul>

<p>```
    boot NetBSD/evbarm (aarch64)
    Drop to EL1...OK
    Creating VA=PA tables
    Creating KSEG tables
    Creating KVA=PA tables
    Creating devmap tables
    MMU Enable...OK
    VSTART          = ffffffc000001ff4
    FDT&lt;3ab46000&gt; devmap cpufunc bootstrap consinit ok
    uboot: args 0x3ab46000, 0, 0, 0</p>

<pre><code>NetBSD/evbarm (fdt) booting ...
FDT /memory [0] @ 0x0 size 0x3b000000
MEM: add 0-3b000000
MEM: res 0-1000
MEM: res 3ab46000-3ab4a000
Usable memory:
  1000 - 3ab45fff
  3ab4a000 - 3affffff
initarm: kernel phys start 1000000 end 17bd000
MEM: res 1000000-17bd000
bootargs: root=axe0
  1000 - ffffff
  17bd000 - 3ab45fff
  3ab4a000 - 3affffff
------------------------------------------
kern_vtopdiff         = 0xffffffbfff000000
physical_start        = 0x0000000000001000
kernel_start_phys     = 0x0000000001000000
kernel_end_phys       = 0x00000000017bd000
physical_end          = 0x000000003ab45000
VM_MIN_KERNEL_ADDRESS = 0xffffffc000000000
kernel_start_l2       = 0xffffffc000000000
kernel_start          = 0xffffffc000000000
kernel_end            = 0xffffffc0007bd000
kernel_end_l2         = 0xffffffc000800000
(kernel va area)
(devmap va area)
VM_MAX_KERNEL_ADDRESS = 0xffffffffffe00000
------------------------------------------
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017,
    2018 The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 8.99.14 (RPI64) #11: Fri Mar 30 12:34:19 JST 2018
        ryo@moveq:/usr/home/ryo/tmp/netbsd-src-ryo-wip/sys/arch/evbarm/compile/RPI64
total memory = 936 MB
avail memory = 877 MB
</code></pre>

<p>…</p>

<pre><code>Starting local daemons:.
Updating motd.
Starting sshd.
Starting inetd.
Starting cron.
The following components reported failures:
    /etc/rc.d/swap2
See /var/run/rc.log for more information.
Fri Mar 30 12:35:31 JST 2018

NetBSD/evbarm (rpi3) (console)

login: root
Last login: Fri Mar 30 12:30:24 2018 on console

rpi3# uname -ap
NetBSD rpi3 8.99.14 NetBSD 8.99.14 (RPI64) #11: Fri Mar 30 12:34:19 JST 2018  ryo@moveq:/usr/home/ryo/tmp/netbsd-src-ryo-wip/sys/arch/evbarm/compile/RPI64 evbarm aarch64
rpi3#
</code></pre>

<p>```</p>

<blockquote>
  <p>Now, multiuser mode works stably on fdt based boards (RPI3,SUNXI,TEGRA). But there are still some problems, more time is required for release. also SMP is not yet. See sys/arch/aarch64/aarch64/TODO for more detail. Especially the problems around TLS of rtld, and C++ stack unwindings are too difficult for me to solve, I give up and need someone's help (^o^)/ Since C++ doesn't work, ATF also doesn't work. If the ATF works, it will clarify more issues.</p>
  
  <p>sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. One evbarm/conf/GENERIC64 kernel binary supports all fdt (bcm2837,sunxi,tegra) based boards. While on 32bit, sys/arch/evbarm/conf/GENERIC will support all fdt based boards...but doesn't work yet. (WIP)</p>
  
  <p>My deepest appreciation goes to Tohru Nishimura (nisimura@) whose writes vector handlers, context switchings, and so on. and his comments and suggestions were innumerably valuable. I would also like to thank Nick Hudson (skrll@) and Jared McNeill (jmcneill@) whose added support FDT and integrated into evbarm. Finally, I would like to thank Matt Thomas (matt@) whose commited aarch64
  toolchains and preliminary support for aarch64.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=hvuWI5hzD5U" target="_blank" rel="nofollow noopener">5 Reasons to Use FreeBSD in 2018</a></li>
<li><a href="https://twitter.com/johalun/status/983645780509712384" target="_blank" rel="nofollow noopener">Rewriting Intel gigabit network driver in Rust</a></li>
<li><a href="https://twitter.com/DLangille/status/983360090240684034" target="_blank" rel="nofollow noopener">Recruiting to make Elastic Search on FreeBSD better</a></li>
<li><a href="https://twitter.com/Tubsta/status/981058685219688448" target="_blank" rel="nofollow noopener">Windows Server 2019 Preview, in bhyve on FreeBSD</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3126" target="_blank" rel="nofollow noopener">“SSH Mastery, 2nd ed” in hardcover</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Jason - <a href="http://dpaste.com/0JN4V1K#wrap" target="_blank" rel="nofollow noopener">ZFS Transfer option</a></li>
<li>Luis - <a href="http://dpaste.com/3MH4QRF#wrap" target="_blank" rel="nofollow noopener">ZFS Pools</a></li>
<li><a href="https://clonos.tekroutine.com/" target="_blank" rel="nofollow noopener">ClonOS </a></li>
<li>Michael - <a href="http://dpaste.com/3MN5F74#wrap" target="_blank" rel="nofollow noopener">Tech Conferences</a></li>
<li>anonymous - <a href="http://dpaste.com/18J24QJ#wrap" target="_blank" rel="nofollow noopener">BSD trash on removable drives</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 242: Linux Takes The Fastpath | BSD Now 242</title>
  <link>https://www.bsdnow.tv/242</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-1788</guid>
  <pubDate>Wed, 18 Apr 2018 14:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/729a44d2-5a5b-4879-8700-d519931d67f0.mp3" length="60077262" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>TrueOS Stable 18.03 released, a look at F-stack, the secret to an open source business model, intro to jails and jail networking, FreeBSD Foundation March update, and the ipsec Errata.</itunes:subtitle>
  <itunes:duration>1:23:20</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>&lt;p&gt;TrueOS Stable 18.03 released, a look at F-stack, the secret to an open source business model, intro to jails and jail networking, FreeBSD Foundation March update, and the ipsec Errata.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://trueos.org/blog/trueos-stable-18-03-release/" target="_blank" rel="nofollow noopener"&gt;TrueOS STABLE 18.03 Release&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;The TrueOS team is pleased to announce the availability of a new STABLE release of the TrueOS project (version 18.03). This is a special release due to the security issues impacting the computing world since the beginning of 2018. In particular, mitigating the “Meltdown” and “Spectre” system exploits make it necessary to update the entire package ecosystem for TrueOS. This release does not replace the scheduled June STABLE update, but provides the necessary and expected security updates for the STABLE release branch of TrueOS, even though this is part-way through our normal release cycle.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Important changes between version 17.12 and 18.03&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;“Meltdown” security fixes: This release contains all the fixes to FreeBSD which mitigate the security issues for systems that utilize Intel-based processors when running virtual machines such as FreeBSD jails. Please note that virtual machines or jails must also be updated to a version of FreeBSD or TrueOS which contains these security fixes.&lt;/li&gt;
&lt;li&gt;“Spectre” security mitigations: This release contains all current mitigations from FreeBSD HEAD for the Spectre memory-isolation attacks (Variant 2). All 3rd-party packages for this release are also compiled with LLVM/Clang 6 (the “retpoline” mitigation strategy). This fixes many memory allocation issues and enforces stricter requirements for code completeness and memory usage within applications. Unfortunately, some 3rd-party applications became unavailable as pre-compiled packages due to non-compliance with these updated standards. These applications are currently being fixed either by the upstream authors or the FreeBSD port maintainers. If there are any concerns about the availability of a critical application for a specific workflow, please search through the changelog of packages between TrueOS 17.12 and 18.03 to verify the status of the application.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Most systems will need microcode updates for additional Spectre mitigations. The microcode updates are not enabled by default. This work is considered experimental because it is in active development by the upstream vendors. If desired, the microcode updates are available with the new devcpu-data package, which is available in the Appcafe. Install this package and enable the new microcode_update service to apply the latest runtime code when booting the system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Important security-based package updates&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;LibreSSL is updated from version 2.6.3 -&amp;gt; 2.6.4&lt;/li&gt;
&lt;li&gt;Reminder: LibreSSL is used on TrueOS to build any package which does not explicitly require OpenSSL. All applications that utilize the SSL transport layer are now running with the latest security updates.&lt;/li&gt;
&lt;li&gt;Browser updates: (Keep in mind that many browsers have also implemented their own security mitigations in the aftermath of the Spectre exploit.)&lt;/li&gt;
&lt;li&gt;Firefox: 57.0.1 -&amp;gt; 58.0.2&lt;/li&gt;
&lt;li&gt;Chromium: 61.0.3163.100 -&amp;gt; 63.0.3239.132&lt;/li&gt;
&lt;li&gt;Qt5 Webengine (QupZilla, Falkon, many others): 5.7.1 -&amp;gt; 5.9.4&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;All pre-compiled packages for this release are built with the latest versions of LLVM/Clang, unless the package explicitly requires GCC. These packages also utilize the latest compile-time mitigations for memory-access security concerns.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://github.com/F-Stack/f-stack" target="_blank" rel="nofollow noopener"&gt;F-Stack&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API. http://www.f-stack.org&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Introduction
With the rapid development of NIC, the poor performance of data packets processing with Linux kernel has become the bottleneck. However, the rapid development of the Internet needs high performance of network processing, kernel bypass has caught more and more attentions. There are various similar technologies appear, such as DPDK, NETMAP and PF_RING. The main idea of kernel bypass is that Linux is only used to deal with control flow, all data streams are processed in user space. Therefore, kernel bypass can avoid performance bottlenecks caused by kernel packet copying, thread scheduling, system calls and interrupts. Furthermore, kernel bypass can achieve higher performance with multi optimizing methods. Within various techniques, DPDK has been widely used because of its more thorough isolation from kernel scheduling and active community support.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;F-Stack is an open source network framework with high performance based on DPDK. With following characteristics&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Ultra high network performance which can achieve network card under full load, 10 million concurrent connections, 5 million RPS, 1 million CPS.&lt;/li&gt;
&lt;li&gt;Transplant FreeBSD 11.01 user space stack, provides a complete stack function, cut a great amount of irrelevant features. Therefore greatly enhance the performance.&lt;/li&gt;
&lt;li&gt;Support Nginx, Redis and other mature applications, service can easily use F-Stack&lt;/li&gt;
&lt;li&gt;With Multi-process architecture, easy to extend&lt;/li&gt;
&lt;li&gt;Provide micro thread interface. Various applications with stateful app can easily use F-Stack to get high performance without processing complex asynchronous logic.&lt;/li&gt;
&lt;li&gt;Provide Epoll/Kqueue interface that allow many kinds of applications easily use F-Stack&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;History&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;In order to deal with the increasingly severe DDoS attacks, authorized DNS server of Tencent Cloud DNSPod switched from Gigabit Ethernet to 10-Gigabit at the end of 2012. We faced several options, one is to continue to use the original model another is to use kernel bypass technology. After several rounds of investigation, we finally chose to develop our next generation of DNS server based on DPDK. The reason is DPDK provides ultra-high performance and can be seamlessly extended to 40G, or even 100G NIC in the future.&lt;/p&gt;
  
  &lt;p&gt;After several months of development and testing, DKDNS, high-performance DNS server based on DPDK officially released in October 2013. It's capable of achieving up to 11 million QPS with a single 10GE port and 18.2 million QPS with two 10GE ports. And then we developed a user-space TCP/IP stack called F-Stack that can process 0.6 million RPS with a single 10GE port.&lt;/p&gt;
  
  &lt;p&gt;With the fast growth of Tencent Cloud, more and more services need higher network access performance. Meanwhile, F-Stack was continuous improving driven by the business growth, and ultimately developed into a general network access framework. But this TCP/IP stack couldn't meet the needs of these services while continue to develop and maintain a complete network stack will cost high, we've tried several plans and finally determined to port FreeBSD(11.0 stable) TCP/IP stack into F-Stack. Thus, we can reduce the cost of maintenance and follow up the improvement from community quickly.Thanks to libplebnet and libuinet, this work becomes a lot easier.&lt;/p&gt;
  
  &lt;p&gt;With the rapid development of all kinds of application, in order to help different APPs quick and easily use F-Stack, F-Stack has integrated Nginx, Redis and other commonly used APPs, and a micro thread framework, and provides a standard Epoll/Kqueue interface.&lt;/p&gt;
  
  &lt;p&gt;Currently, besides authorized DNS server of DNSPod, there are various products in Tencent Cloud has used the F-Stack, such as HttpDNS (D+), COS access module, CDN access module, etc..&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a href="https://www.forbes.com/sites/forbestechcouncil/2018/04/02/leadership-is-the-secret-to-an-open-source-business-model/#a2beca765c78" target="_blank" rel="nofollow noopener"&gt;Leadership Is The Secret To An Open Source Business Model&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A Forbes article by Mike Lauth, CEO of iXsystems


&lt;blockquote&gt;
  There is a good chance you’ve never heard of open source software and an even greater one that you’re using it every day without even realizing it. Open source software is computer software that is available under a variety of licenses that all encourage the sharing of the software and its underlying source code. Open source has powered the internet from day one and today powers the cloud and just about everything connected to it from your mobile phone to virtually every internet of things device.
  FreeNAS is one of two open source operating systems that my company, iXsystems, develops and distributes free of charge and is at the heart of our line of TrueNAS enterprise storage products. While some of our competitors sell storage software similar to FreeNAS, we not only give it away but also do so with truly no strings attached -- competitors can and do take FreeNAS and build products based on it with zero obligation to share their changes. The freedom to do so is the fundamental tenet of permissively licensed open source software, and while it sounds self-defeating to be this generous, we’ve proven that leadership, not licensing, is the true secret to a successful open source business model.
  We each have our own personal definition of what is fair when it comes to open source. At iXsystems, we made a conscious decision to base FreeNAS and TrueOS on the FreeBSD operating system developed by the FreeBSD project. We stand on the shoulders of giants by using FreeBSD and we consider it quite reasonable to give back on the same generous terms that the FreeBSD project offers us. We could be selective in what we provide free of charge, but we believe that doing so would be short-sighted. In the long game we’re playing, the leadership we provide over the open source projects we produce is infinitely more important than any restrictions provided by the licenses of those and other open source projects.
  Twenty years in, we have no reason to change our free-software-on-great-hardware business model and giving away the software has brought an unexpected side-benefit: the largest Q/A department in the world, staffed by our passionate users who volunteer to let us know every thought they have about our software. We wouldn’t change a thing, and I encourage you to find exactly what win-win goodwill you and your company can provide to your constituents to make them not just a customer base but a community.&lt;/blockquote&gt;&lt;/li&gt;
  &lt;li&gt;Drive The Conversation
  It took a leap of faith for us to give away the heart of our products in exchange for a passionate community, but doing so changes your customer's relationship with your brand from priced to priceless. This kind of relationship leverages a social contract instead of a legal one. Taking this approach empowers your users in ways they will not experience with other companies and it is your responsibility to lead, rather than control them with a project like FreeNAS&lt;/li&gt;
  &lt;li&gt;Relieve Customer Pain Points With Every New Release
  Responsiveness to the needs of your constituents is what distinguishes project leadership from project dictatorship. Be sure to balance your vision for your products and projects with the “real world” needs of your users. While our competition can use the software we develop, they will at best wow users with specific features rather than project-wide ones. Never underestimate how grateful a user will be when you make their job easier.&lt;/li&gt;
  &lt;li&gt;Accept That A Patent Is Not A Business Model
  Patents are considered the ultimate control mechanism in the technology industry, but they only provide a business model if you have a monopoly and monopolies are illegal. Resist getting hung up on the control you can establish over your customers and spend your time acquiring and empowering them. The moment you both realize that your success is mutual, you have a relationship that will last longer than any single sale. You’ll be pleasantly surprised how the relationships you build will transcend the specific companies that friends you make work for.&lt;/li&gt;
  &lt;li&gt;Distinguish Leadership From Management
  Every company has various levels of management, but leadership is the magic that creates markets where they did not exist and aligns paying customers with value that you can deliver in a profitable manner. Leadership and vision are ultimately the most proprietary aspects of a technology business, over every patentable piece of hardware or licensable piece of software. Whether you create a new market or bring efficiency to an existing one, your leadership is your secret weapon -- not your level of control.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr&gt;


&lt;h2&gt;News Roundup&lt;/h2&gt;



&lt;h3&gt;&lt;a href="https://www.skyforge.at/posts/an-introduction-to-jails-and-jail-networking/" target="_blank" rel="nofollow noopener"&gt;Introduction to Jails and Jail Networking on FreeBSD&lt;/a&gt;&lt;/h3&gt;



&lt;blockquote&gt;
  &lt;p&gt;Jails basically partition a FreeBSD system into various isolated sub-systems called jails. The syscall and userspace tools first appeared in FreeBSD 4.0 (~ March 2000) with subsequent releases expanding functionality and improving existing features as well as usability.
  + For Linux users, jails are similar to LXC, used for resource/process isolation. Unlike LXC however, jails are a first-class concept and are well integrated into the base system. Essentially however, both offer a chroot-with-extra-separation feeling.
  Setting up a jail is a fairly simple process, which can essentially be split into three steps:
    + Place the stuff you want to run and the stuff it needs to run somewhere on your filesystem.
    + Add some basic configuration for the jail in jail.conf.
    + Fire up the jail.
  To confirm that the jail started successfully we can use the jls utility:
  We can now enter the jailed environment by using jexec, which will by default execute a root shell inside the named jail
  A jail can only see and use addresses that have been passed down to it by the parent system. This creates a slight problem with the loopback address: The host would probably like to keep that address to itself and not share it with any jail.
  Because of this, the loopback-address inside a jail is emulated by the system:
    + 127.0.0.1 is an alias for the first IPv4-address assigned to the jail.
    + ::1 is an alias for the first IPv6-address assigned to the jail.
  While this looks simple enough and usually works just fine[tm], it is also a source of many problems. Just imagine if your jail has only one single global IPv4 assigned to it. A daemon binding its (possibly unsecured) control port to the loopback-address would then unwillingly be exposed to the rest of the internet, which is hardly ever a good idea.
  + So, create an extra loopback adapter, and make the first IP in each jail a private loopback address
  + The tutorial goes on to cover making multiple jails share a single public IP address using NAT
  + It also covers more advanced concepts like ‘thin’ jails, to save some disk space if you are going to create a large number of jails, and how to upgrade them after the fact
  + Finally, it covers the integration with a lot of common tools, like identifying and filter jailed processes using top and ps, or using the package managers support for jails to install packages in a jail from the outside.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;



**DigitalOcean**



&lt;h3&gt;SmartOS release-20180315&lt;/h3&gt;

```

Hello All,

The latest bi-weekly "release" branch build of SmartOS is up:


&lt;pre&gt;&lt;code&gt;curl -C - -O https://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos-latest.iso
curl -C - -O https://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos-latest-USB.img.bz2
curl -C - -O https://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos-latest.vmwarevm.tar.bz2
&lt;/code&gt;&lt;/pre&gt;

A generated changelog is here:

&lt;pre&gt;&lt;code&gt;https://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos.html#20180329T002644Z
&lt;/code&gt;&lt;/pre&gt;

The full build bits directory, for those interested, is here in Manta:

&lt;pre&gt;&lt;code&gt;/Joyent_Dev/public/SmartOS/20180329T002644Z
&lt;/code&gt;&lt;/pre&gt;

Highlights

Firewall rules created with fwadm(1M) can now use the PRIORITY keyword to
specify a higher precedence for a rule.

This release has includes mitigation of the Intel Meltdown vulnerability in the
form of kpti (kernel page table isolation) with PCID (process context
identifier) support

This release also includes experimental support for bhyve branded zones.




General Info

Every second Thursday we roll a "release-YYYYMMDD" release branch and
builds for SmartOS (and Triton DataCenter and Manta, as well).

Cheers,
Josh Wilsdon, on behalf of the SmartOS developers
https://smartos.org
``` 

&lt;ul&gt;
&lt;li&gt;Here's a screencap from q5sys' machine showing the output of sysinfo: https://i.imgur.com/MFkNi76.jpg&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/wp-content/uploads/2018/03/FreeBSD-Foundation-March-2018-Update-1.pdf" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation March 2018 Update&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&amp;gt; Syzkaller update: Syzkaller is a coverage-guided system call fuzzer. It invokes syscalls with arbitrary and changing inputs, and is intended to use code coverage data to guide changes to system call inputs in order to access larger and larger portions of the kernel in the search for bugs.&lt;/li&gt;
&lt;li&gt;&amp;gt; Last term’s student focused largely on scripts to deploy and configure Syzkaller on Packet.net’s hosting infrastructure, but did not get to the code coverage integration required for Syzkaller to be effective. This term co-op student Mitchell Horne has been adding code coverage support in FreeBSD for Syzkaller.&lt;/li&gt;
&lt;li&gt;&amp;gt; The Linux code coverage support for Syzkaller is known as kcov and was submitted by Dmitry Vyukov, Syzkaller’s author. Kcov is purposebuilt for Syzkaller:
&lt;ul&gt;&lt;li&gt;&amp;gt; kcov provides code coverage collection for coverage-guided fuzzing (randomized testing). Coverage-guided fuzzing is a testing technique that uses coverage feedback to determine new interesting inputs to a system.&lt;/li&gt;
&lt;li&gt;&amp;gt; kcov does not aim to collect as much coverage as possible. It aims to collect more or less stable coverage that is function of syscall inputs. To achieve this goal it does not collect coverage in soft/hard interrupts and instrumentation of some inherently non-deterministic or non-interesting parts of kernel is disabled (e.g. scheduler, locking).&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&amp;gt; Mitchell implemented equivalent functionality for FreeBSD - a distinct implementation, but modelled on the one in Linux. These patches are currently in review, as are minor changes to Syzkaller to use the new interface on FreeBSD.&lt;/li&gt;
&lt;li&gt;&amp;gt; We still have some additional work to fully integrate Syzkaller and run it on a consistent basis, but the brief testing that has been completed suggests this work will provide a very valuable improvement in test coverage and opportunities for system hardening: we tested Syzkaller with Mitchell's code coverage patch over a weekend. It provoked kernel crashes hundreds of times faster than without his work.&lt;/li&gt;
&lt;li&gt;&amp;gt; I want to say thank you to NetApp for becoming an Iridium Partner again this
year! (Donations between $100,000 - $249,999) It’s companies like NetApp, who recognize the importance of supporting our efforts, that allow us to continue to provide software improvements, advocate for FreeBSD, and help lead the release engineering and security efforts.&lt;/li&gt;
&lt;li&gt;&amp;gt; Conference Recap: FOSSASIA 2018&lt;/li&gt;
&lt;li&gt;Foundation Director Philip Paeps went to FOSSASIA, which is possibly the largest open source event in Asia. The FreeBSD Foundation sponsored the conference.&lt;/li&gt;
&lt;li&gt;Our booth had a constant stream of traffic over the weekend and we handed out hundreds of FreeBSD stickers, pens and flyers. Many attendees of FOSSASIA had never heard of FreeBSD before and are now keen to start exploring and perhaps even contributing. By the end of the conference, there were FreeBSD stickers everywhere!&lt;/li&gt;
&lt;li&gt;&amp;gt; One particular hallway-track conversation led to an invitation to present FreeBSD at a "Women Who Code" evening in Kuala Lumpur later this week (Thursday 29th March). I spent the days after the conference meeting companies who use (or want to use) FreeBSD in Singapore.&lt;/li&gt;
&lt;li&gt;&amp;gt; SCaLE 16x: The Foundation sponsored a FreeBSD table in the expo hall that was
staffed by Dru Lavigne, Warren Block, and Deb Goodkin. Our purpose was to promote FreeBSD, and attract more users and contributors to the Project. We had a steady flow of people stopping by our table, asking inquisitive questions, and picking up some cool swag and FreeBSD handouts.&lt;/li&gt;
&lt;li&gt;Deb Goodkin took some tutorials/trainings there and talked to a lot of other open source projects.&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
  &lt;p&gt;Next year, we have the opportunity to have a BSD track, similar to the BSD Devroom at FOSDEM. We are looking for some volunteers in Southern California who can help organize this one or two-day event and help us educate more people about the BSDs. Let us know if you
  would like to help with this effort.&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
  &lt;p&gt;Roll Call: #WhoUsesFreeBSD&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
  &lt;p&gt;Many of you probably saw our post on social media asking Who Uses FreeBSD. Please help us answer this question to assist us in determining FreeBSD market share data, promote how companies are successfully using FreeBSD to encourage more companies to embrace
  FreeBSD, and to update the list of users on our website. Knowing who uses FreeBSD helps our contributors know where to look for jobs; knowing what universities teach with FreeBSD, helps companies know where to recruit, and knowing what products use FreeBSD helps us determine what features and technologies to support.&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
  &lt;p&gt;New Hosting Partner: Oregon State University Open Source Lab&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&amp;gt; We are pleased to announce that the Oregon State University (OSU) Open Source Lab (OSL), which hosts infrastructure for over 160 different open source projects, has agreed to host some of our servers for FreeBSD development.  The first server, which should be arriving shortly, is an HP Enterprise Proliant DL360 Gen10 configured with NVDIMM memory which will be initially used for further development and testing of permanent memory support in the kernel.&lt;/li&gt;
&lt;li&gt;Stay tuned for more news from the FreeBSD Foundation in May (next newsletter).&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://daniel.haxx.se/blog/2018/03/20/twenty-years-1998-2018/" target="_blank" rel="nofollow noopener"&gt;cURL is 20 today&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.skyforge.at/posts/a-note-in-sysvipc-and-jails-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;A Note on SYSVIPC and Jails on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-announce&amp;amp;m=152149507725894&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD Errata: March 20th, 2018 (ipsec)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/security/advisories.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Security Advisories for IPSEC and vt &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.tecmint.com/pkg-command-examples-to-manage-packages-in-freebsd/" target="_blank" rel="nofollow noopener"&gt;23 Useful PKG Command Examples to Manage Packages in FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Casey - &lt;a href="http://dpaste.com/2VMH555#wrap" target="_blank" rel="nofollow noopener"&gt;Cool Editor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Nelson - &lt;a href="http://dpaste.com/2NTE4SD#wrap" target="_blank" rel="nofollow noopener"&gt;New article on FreeBSD vs MacOS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Damian - &lt;a href="http://dpaste.com/0FYWVHD#wrap" target="_blank" rel="nofollow noopener"&gt;Mysterious Reverse Proxy 504&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Nelson - &lt;a href="http://dpaste.com/0BTGTVP#wrap" target="_blank" rel="nofollow noopener"&gt;FreeBSD, rsync, nasty bug, now fixed&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>TrueOS Stable 18.03 released, a look at F-stack, the secret to an open source business model, intro to jails and jail networking, FreeBSD Foundation March update, and the ipsec Errata.</p>

<h2>Headlines</h2>

<h3><a href="https://trueos.org/blog/trueos-stable-18-03-release/" target="_blank" rel="nofollow noopener">TrueOS STABLE 18.03 Release</a></h3>

<blockquote>
  <p>The TrueOS team is pleased to announce the availability of a new STABLE release of the TrueOS project (version 18.03). This is a special release due to the security issues impacting the computing world since the beginning of 2018. In particular, mitigating the “Meltdown” and “Spectre” system exploits make it necessary to update the entire package ecosystem for TrueOS. This release does not replace the scheduled June STABLE update, but provides the necessary and expected security updates for the STABLE release branch of TrueOS, even though this is part-way through our normal release cycle.</p>
</blockquote>

<ul>
<li><p>Important changes between version 17.12 and 18.03</p>

<ul><li>“Meltdown” security fixes: This release contains all the fixes to FreeBSD which mitigate the security issues for systems that utilize Intel-based processors when running virtual machines such as FreeBSD jails. Please note that virtual machines or jails must also be updated to a version of FreeBSD or TrueOS which contains these security fixes.</li>
<li>“Spectre” security mitigations: This release contains all current mitigations from FreeBSD HEAD for the Spectre memory-isolation attacks (Variant 2). All 3rd-party packages for this release are also compiled with LLVM/Clang 6 (the “retpoline” mitigation strategy). This fixes many memory allocation issues and enforces stricter requirements for code completeness and memory usage within applications. Unfortunately, some 3rd-party applications became unavailable as pre-compiled packages due to non-compliance with these updated standards. These applications are currently being fixed either by the upstream authors or the FreeBSD port maintainers. If there are any concerns about the availability of a critical application for a specific workflow, please search through the changelog of packages between TrueOS 17.12 and 18.03 to verify the status of the application.</li></ul></li>
</ul>

<blockquote>
  <p>Most systems will need microcode updates for additional Spectre mitigations. The microcode updates are not enabled by default. This work is considered experimental because it is in active development by the upstream vendors. If desired, the microcode updates are available with the new devcpu-data package, which is available in the Appcafe. Install this package and enable the new microcode_update service to apply the latest runtime code when booting the system.</p>
</blockquote>

<ul>
<li><p>Important security-based package updates</p>

<ul><li>LibreSSL is updated from version 2.6.3 -&gt; 2.6.4</li>
<li>Reminder: LibreSSL is used on TrueOS to build any package which does not explicitly require OpenSSL. All applications that utilize the SSL transport layer are now running with the latest security updates.</li>
<li>Browser updates: (Keep in mind that many browsers have also implemented their own security mitigations in the aftermath of the Spectre exploit.)</li>
<li>Firefox: 57.0.1 -&gt; 58.0.2</li>
<li>Chromium: 61.0.3163.100 -&gt; 63.0.3239.132</li>
<li>Qt5 Webengine (QupZilla, Falkon, many others): 5.7.1 -&gt; 5.9.4</li></ul></li>
<li><p>All pre-compiled packages for this release are built with the latest versions of LLVM/Clang, unless the package explicitly requires GCC. These packages also utilize the latest compile-time mitigations for memory-access security concerns.</p></li>
</ul>

<hr>

<h3><a href="https://github.com/F-Stack/f-stack" target="_blank" rel="nofollow noopener">F-Stack</a></h3>

<blockquote>
  <p>F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API. http://www.f-stack.org</p>
</blockquote>

<ul>
<li><p>Introduction
With the rapid development of NIC, the poor performance of data packets processing with Linux kernel has become the bottleneck. However, the rapid development of the Internet needs high performance of network processing, kernel bypass has caught more and more attentions. There are various similar technologies appear, such as DPDK, NETMAP and PF_RING. The main idea of kernel bypass is that Linux is only used to deal with control flow, all data streams are processed in user space. Therefore, kernel bypass can avoid performance bottlenecks caused by kernel packet copying, thread scheduling, system calls and interrupts. Furthermore, kernel bypass can achieve higher performance with multi optimizing methods. Within various techniques, DPDK has been widely used because of its more thorough isolation from kernel scheduling and active community support.</p></li>
<li><p>F-Stack is an open source network framework with high performance based on DPDK. With following characteristics</p>

<ul><li>Ultra high network performance which can achieve network card under full load, 10 million concurrent connections, 5 million RPS, 1 million CPS.</li>
<li>Transplant FreeBSD 11.01 user space stack, provides a complete stack function, cut a great amount of irrelevant features. Therefore greatly enhance the performance.</li>
<li>Support Nginx, Redis and other mature applications, service can easily use F-Stack</li>
<li>With Multi-process architecture, easy to extend</li>
<li>Provide micro thread interface. Various applications with stateful app can easily use F-Stack to get high performance without processing complex asynchronous logic.</li>
<li>Provide Epoll/Kqueue interface that allow many kinds of applications easily use F-Stack</li></ul></li>
<li><p>History</p></li>
</ul>

<blockquote>
  <p>In order to deal with the increasingly severe DDoS attacks, authorized DNS server of Tencent Cloud DNSPod switched from Gigabit Ethernet to 10-Gigabit at the end of 2012. We faced several options, one is to continue to use the original model another is to use kernel bypass technology. After several rounds of investigation, we finally chose to develop our next generation of DNS server based on DPDK. The reason is DPDK provides ultra-high performance and can be seamlessly extended to 40G, or even 100G NIC in the future.</p>
  
  <p>After several months of development and testing, DKDNS, high-performance DNS server based on DPDK officially released in October 2013. It's capable of achieving up to 11 million QPS with a single 10GE port and 18.2 million QPS with two 10GE ports. And then we developed a user-space TCP/IP stack called F-Stack that can process 0.6 million RPS with a single 10GE port.</p>
  
  <p>With the fast growth of Tencent Cloud, more and more services need higher network access performance. Meanwhile, F-Stack was continuous improving driven by the business growth, and ultimately developed into a general network access framework. But this TCP/IP stack couldn't meet the needs of these services while continue to develop and maintain a complete network stack will cost high, we've tried several plans and finally determined to port FreeBSD(11.0 stable) TCP/IP stack into F-Stack. Thus, we can reduce the cost of maintenance and follow up the improvement from community quickly.Thanks to libplebnet and libuinet, this work becomes a lot easier.</p>
  
  <p>With the rapid development of all kinds of application, in order to help different APPs quick and easily use F-Stack, F-Stack has integrated Nginx, Redis and other commonly used APPs, and a micro thread framework, and provides a standard Epoll/Kqueue interface.</p>
  
  <p>Currently, besides authorized DNS server of DNSPod, there are various products in Tencent Cloud has used the F-Stack, such as HttpDNS (D+), COS access module, CDN access module, etc..</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong></p>

<h3><a href="https://www.forbes.com/sites/forbestechcouncil/2018/04/02/leadership-is-the-secret-to-an-open-source-business-model/#a2beca765c78" target="_blank" rel="nofollow noopener">Leadership Is The Secret To An Open Source Business Model</a></h3>

<ul>
<li>A Forbes article by Mike Lauth, CEO of iXsystems


<blockquote>
  There is a good chance you’ve never heard of open source software and an even greater one that you’re using it every day without even realizing it. Open source software is computer software that is available under a variety of licenses that all encourage the sharing of the software and its underlying source code. Open source has powered the internet from day one and today powers the cloud and just about everything connected to it from your mobile phone to virtually every internet of things device.
  FreeNAS is one of two open source operating systems that my company, iXsystems, develops and distributes free of charge and is at the heart of our line of TrueNAS enterprise storage products. While some of our competitors sell storage software similar to FreeNAS, we not only give it away but also do so with truly no strings attached -- competitors can and do take FreeNAS and build products based on it with zero obligation to share their changes. The freedom to do so is the fundamental tenet of permissively licensed open source software, and while it sounds self-defeating to be this generous, we’ve proven that leadership, not licensing, is the true secret to a successful open source business model.
  We each have our own personal definition of what is fair when it comes to open source. At iXsystems, we made a conscious decision to base FreeNAS and TrueOS on the FreeBSD operating system developed by the FreeBSD project. We stand on the shoulders of giants by using FreeBSD and we consider it quite reasonable to give back on the same generous terms that the FreeBSD project offers us. We could be selective in what we provide free of charge, but we believe that doing so would be short-sighted. In the long game we’re playing, the leadership we provide over the open source projects we produce is infinitely more important than any restrictions provided by the licenses of those and other open source projects.
  Twenty years in, we have no reason to change our free-software-on-great-hardware business model and giving away the software has brought an unexpected side-benefit: the largest Q/A department in the world, staffed by our passionate users who volunteer to let us know every thought they have about our software. We wouldn’t change a thing, and I encourage you to find exactly what win-win goodwill you and your company can provide to your constituents to make them not just a customer base but a community.</blockquote></li>
  <li>Drive The Conversation
  It took a leap of faith for us to give away the heart of our products in exchange for a passionate community, but doing so changes your customer's relationship with your brand from priced to priceless. This kind of relationship leverages a social contract instead of a legal one. Taking this approach empowers your users in ways they will not experience with other companies and it is your responsibility to lead, rather than control them with a project like FreeNAS</li>
  <li>Relieve Customer Pain Points With Every New Release
  Responsiveness to the needs of your constituents is what distinguishes project leadership from project dictatorship. Be sure to balance your vision for your products and projects with the “real world” needs of your users. While our competition can use the software we develop, they will at best wow users with specific features rather than project-wide ones. Never underestimate how grateful a user will be when you make their job easier.</li>
  <li>Accept That A Patent Is Not A Business Model
  Patents are considered the ultimate control mechanism in the technology industry, but they only provide a business model if you have a monopoly and monopolies are illegal. Resist getting hung up on the control you can establish over your customers and spend your time acquiring and empowering them. The moment you both realize that your success is mutual, you have a relationship that will last longer than any single sale. You’ll be pleasantly surprised how the relationships you build will transcend the specific companies that friends you make work for.</li>
  <li>Distinguish Leadership From Management
  Every company has various levels of management, but leadership is the magic that creates markets where they did not exist and aligns paying customers with value that you can deliver in a profitable manner. Leadership and vision are ultimately the most proprietary aspects of a technology business, over every patentable piece of hardware or licensable piece of software. Whether you create a new market or bring efficiency to an existing one, your leadership is your secret weapon -- not your level of control.</li>
  </ul>
  <hr>


<h2>News Roundup</h2>



<h3><a href="https://www.skyforge.at/posts/an-introduction-to-jails-and-jail-networking/" target="_blank" rel="nofollow noopener">Introduction to Jails and Jail Networking on FreeBSD</a></h3>



<blockquote>
  <p>Jails basically partition a FreeBSD system into various isolated sub-systems called jails. The syscall and userspace tools first appeared in FreeBSD 4.0 (~ March 2000) with subsequent releases expanding functionality and improving existing features as well as usability.
  + For Linux users, jails are similar to LXC, used for resource/process isolation. Unlike LXC however, jails are a first-class concept and are well integrated into the base system. Essentially however, both offer a chroot-with-extra-separation feeling.
  Setting up a jail is a fairly simple process, which can essentially be split into three steps:
    + Place the stuff you want to run and the stuff it needs to run somewhere on your filesystem.
    + Add some basic configuration for the jail in jail.conf.
    + Fire up the jail.
  To confirm that the jail started successfully we can use the jls utility:
  We can now enter the jailed environment by using jexec, which will by default execute a root shell inside the named jail
  A jail can only see and use addresses that have been passed down to it by the parent system. This creates a slight problem with the loopback address: The host would probably like to keep that address to itself and not share it with any jail.
  Because of this, the loopback-address inside a jail is emulated by the system:
    + 127.0.0.1 is an alias for the first IPv4-address assigned to the jail.
    + ::1 is an alias for the first IPv6-address assigned to the jail.
  While this looks simple enough and usually works just fine[tm], it is also a source of many problems. Just imagine if your jail has only one single global IPv4 assigned to it. A daemon binding its (possibly unsecured) control port to the loopback-address would then unwillingly be exposed to the rest of the internet, which is hardly ever a good idea.
  + So, create an extra loopback adapter, and make the first IP in each jail a private loopback address
  + The tutorial goes on to cover making multiple jails share a single public IP address using NAT
  + It also covers more advanced concepts like ‘thin’ jails, to save some disk space if you are going to create a large number of jails, and how to upgrade them after the fact
  + Finally, it covers the integration with a lot of common tools, like identifying and filter jailed processes using top and ps, or using the package managers support for jails to install packages in a jail from the outside.</p>
</blockquote>

<hr>



**DigitalOcean**



<h3>SmartOS release-20180315</h3>

```

Hello All,

The latest bi-weekly "release" branch build of SmartOS is up:


<pre><code>curl -C - -O https://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos-latest.iso
curl -C - -O https://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos-latest-USB.img.bz2
curl -C - -O https://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos-latest.vmwarevm.tar.bz2
</code></pre>

A generated changelog is here:

<pre><code>https://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos.html#20180329T002644Z
</code></pre>

The full build bits directory, for those interested, is here in Manta:

<pre><code>/Joyent_Dev/public/SmartOS/20180329T002644Z
</code></pre>

Highlights

Firewall rules created with fwadm(1M) can now use the PRIORITY keyword to
specify a higher precedence for a rule.

This release has includes mitigation of the Intel Meltdown vulnerability in the
form of kpti (kernel page table isolation) with PCID (process context
identifier) support

This release also includes experimental support for bhyve branded zones.




General Info

Every second Thursday we roll a "release-YYYYMMDD" release branch and
builds for SmartOS (and Triton DataCenter and Manta, as well).

Cheers,
Josh Wilsdon, on behalf of the SmartOS developers
https://smartos.org
``` 

<ul>
<li>Here's a screencap from q5sys' machine showing the output of sysinfo: https://i.imgur.com/MFkNi76.jpg</li>
</ul>

<hr>

<h3><a href="https://www.freebsdfoundation.org/wp-content/uploads/2018/03/FreeBSD-Foundation-March-2018-Update-1.pdf" target="_blank" rel="nofollow noopener">FreeBSD Foundation March 2018 Update</a></h3>

<ul>
<li>&gt; Syzkaller update: Syzkaller is a coverage-guided system call fuzzer. It invokes syscalls with arbitrary and changing inputs, and is intended to use code coverage data to guide changes to system call inputs in order to access larger and larger portions of the kernel in the search for bugs.</li>
<li>&gt; Last term’s student focused largely on scripts to deploy and configure Syzkaller on Packet.net’s hosting infrastructure, but did not get to the code coverage integration required for Syzkaller to be effective. This term co-op student Mitchell Horne has been adding code coverage support in FreeBSD for Syzkaller.</li>
<li>&gt; The Linux code coverage support for Syzkaller is known as kcov and was submitted by Dmitry Vyukov, Syzkaller’s author. Kcov is purposebuilt for Syzkaller:
<ul><li>&gt; kcov provides code coverage collection for coverage-guided fuzzing (randomized testing). Coverage-guided fuzzing is a testing technique that uses coverage feedback to determine new interesting inputs to a system.</li>
<li>&gt; kcov does not aim to collect as much coverage as possible. It aims to collect more or less stable coverage that is function of syscall inputs. To achieve this goal it does not collect coverage in soft/hard interrupts and instrumentation of some inherently non-deterministic or non-interesting parts of kernel is disabled (e.g. scheduler, locking).</li></ul></li>
<li>&gt; Mitchell implemented equivalent functionality for FreeBSD - a distinct implementation, but modelled on the one in Linux. These patches are currently in review, as are minor changes to Syzkaller to use the new interface on FreeBSD.</li>
<li>&gt; We still have some additional work to fully integrate Syzkaller and run it on a consistent basis, but the brief testing that has been completed suggests this work will provide a very valuable improvement in test coverage and opportunities for system hardening: we tested Syzkaller with Mitchell's code coverage patch over a weekend. It provoked kernel crashes hundreds of times faster than without his work.</li>
<li>&gt; I want to say thank you to NetApp for becoming an Iridium Partner again this
year! (Donations between $100,000 - $249,999) It’s companies like NetApp, who recognize the importance of supporting our efforts, that allow us to continue to provide software improvements, advocate for FreeBSD, and help lead the release engineering and security efforts.</li>
<li>&gt; Conference Recap: FOSSASIA 2018</li>
<li>Foundation Director Philip Paeps went to FOSSASIA, which is possibly the largest open source event in Asia. The FreeBSD Foundation sponsored the conference.</li>
<li>Our booth had a constant stream of traffic over the weekend and we handed out hundreds of FreeBSD stickers, pens and flyers. Many attendees of FOSSASIA had never heard of FreeBSD before and are now keen to start exploring and perhaps even contributing. By the end of the conference, there were FreeBSD stickers everywhere!</li>
<li>&gt; One particular hallway-track conversation led to an invitation to present FreeBSD at a "Women Who Code" evening in Kuala Lumpur later this week (Thursday 29th March). I spent the days after the conference meeting companies who use (or want to use) FreeBSD in Singapore.</li>
<li>&gt; SCaLE 16x: The Foundation sponsored a FreeBSD table in the expo hall that was
staffed by Dru Lavigne, Warren Block, and Deb Goodkin. Our purpose was to promote FreeBSD, and attract more users and contributors to the Project. We had a steady flow of people stopping by our table, asking inquisitive questions, and picking up some cool swag and FreeBSD handouts.</li>
<li>Deb Goodkin took some tutorials/trainings there and talked to a lot of other open source projects.</li>
<li><blockquote>
  <p>Next year, we have the opportunity to have a BSD track, similar to the BSD Devroom at FOSDEM. We are looking for some volunteers in Southern California who can help organize this one or two-day event and help us educate more people about the BSDs. Let us know if you
  would like to help with this effort.</p>
</blockquote></li>
<li><blockquote>
  <p>Roll Call: #WhoUsesFreeBSD</p>
</blockquote></li>
<li><blockquote>
  <p>Many of you probably saw our post on social media asking Who Uses FreeBSD. Please help us answer this question to assist us in determining FreeBSD market share data, promote how companies are successfully using FreeBSD to encourage more companies to embrace
  FreeBSD, and to update the list of users on our website. Knowing who uses FreeBSD helps our contributors know where to look for jobs; knowing what universities teach with FreeBSD, helps companies know where to recruit, and knowing what products use FreeBSD helps us determine what features and technologies to support.</p>
</blockquote></li>
<li><blockquote>
  <p>New Hosting Partner: Oregon State University Open Source Lab</p>
</blockquote></li>
<li>&gt; We are pleased to announce that the Oregon State University (OSU) Open Source Lab (OSL), which hosts infrastructure for over 160 different open source projects, has agreed to host some of our servers for FreeBSD development.  The first server, which should be arriving shortly, is an HP Enterprise Proliant DL360 Gen10 configured with NVDIMM memory which will be initially used for further development and testing of permanent memory support in the kernel.</li>
<li>Stay tuned for more news from the FreeBSD Foundation in May (next newsletter).</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://daniel.haxx.se/blog/2018/03/20/twenty-years-1998-2018/" target="_blank" rel="nofollow noopener">cURL is 20 today</a></li>
<li><a href="https://www.skyforge.at/posts/a-note-in-sysvipc-and-jails-on-freebsd/" target="_blank" rel="nofollow noopener">A Note on SYSVIPC and Jails on FreeBSD</a></li>
<li><a href="https://marc.info/?l=openbsd-announce&amp;m=152149507725894&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD Errata: March 20th, 2018 (ipsec)</a></li>
<li><a href="https://www.freebsd.org/security/advisories.html" target="_blank" rel="nofollow noopener">FreeBSD Security Advisories for IPSEC and vt </a></li>
<li><a href="https://www.tecmint.com/pkg-command-examples-to-manage-packages-in-freebsd/" target="_blank" rel="nofollow noopener">23 Useful PKG Command Examples to Manage Packages in FreeBSD</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<h2>Feedback/Questions</h2>

<ul>
<li>Casey - <a href="http://dpaste.com/2VMH555#wrap" target="_blank" rel="nofollow noopener">Cool Editor</a></li>
<li>Nelson - <a href="http://dpaste.com/2NTE4SD#wrap" target="_blank" rel="nofollow noopener">New article on FreeBSD vs MacOS</a></li>
<li>Damian - <a href="http://dpaste.com/0FYWVHD#wrap" target="_blank" rel="nofollow noopener">Mysterious Reverse Proxy 504</a></li>
<li>Nelson - <a href="http://dpaste.com/0BTGTVP#wrap" target="_blank" rel="nofollow noopener">FreeBSD, rsync, nasty bug, now fixed</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>TrueOS Stable 18.03 released, a look at F-stack, the secret to an open source business model, intro to jails and jail networking, FreeBSD Foundation March update, and the ipsec Errata.</p>

<h2>Headlines</h2>

<h3><a href="https://trueos.org/blog/trueos-stable-18-03-release/" target="_blank" rel="nofollow noopener">TrueOS STABLE 18.03 Release</a></h3>

<blockquote>
  <p>The TrueOS team is pleased to announce the availability of a new STABLE release of the TrueOS project (version 18.03). This is a special release due to the security issues impacting the computing world since the beginning of 2018. In particular, mitigating the “Meltdown” and “Spectre” system exploits make it necessary to update the entire package ecosystem for TrueOS. This release does not replace the scheduled June STABLE update, but provides the necessary and expected security updates for the STABLE release branch of TrueOS, even though this is part-way through our normal release cycle.</p>
</blockquote>

<ul>
<li><p>Important changes between version 17.12 and 18.03</p>

<ul><li>“Meltdown” security fixes: This release contains all the fixes to FreeBSD which mitigate the security issues for systems that utilize Intel-based processors when running virtual machines such as FreeBSD jails. Please note that virtual machines or jails must also be updated to a version of FreeBSD or TrueOS which contains these security fixes.</li>
<li>“Spectre” security mitigations: This release contains all current mitigations from FreeBSD HEAD for the Spectre memory-isolation attacks (Variant 2). All 3rd-party packages for this release are also compiled with LLVM/Clang 6 (the “retpoline” mitigation strategy). This fixes many memory allocation issues and enforces stricter requirements for code completeness and memory usage within applications. Unfortunately, some 3rd-party applications became unavailable as pre-compiled packages due to non-compliance with these updated standards. These applications are currently being fixed either by the upstream authors or the FreeBSD port maintainers. If there are any concerns about the availability of a critical application for a specific workflow, please search through the changelog of packages between TrueOS 17.12 and 18.03 to verify the status of the application.</li></ul></li>
</ul>

<blockquote>
  <p>Most systems will need microcode updates for additional Spectre mitigations. The microcode updates are not enabled by default. This work is considered experimental because it is in active development by the upstream vendors. If desired, the microcode updates are available with the new devcpu-data package, which is available in the Appcafe. Install this package and enable the new microcode_update service to apply the latest runtime code when booting the system.</p>
</blockquote>

<ul>
<li><p>Important security-based package updates</p>

<ul><li>LibreSSL is updated from version 2.6.3 -&gt; 2.6.4</li>
<li>Reminder: LibreSSL is used on TrueOS to build any package which does not explicitly require OpenSSL. All applications that utilize the SSL transport layer are now running with the latest security updates.</li>
<li>Browser updates: (Keep in mind that many browsers have also implemented their own security mitigations in the aftermath of the Spectre exploit.)</li>
<li>Firefox: 57.0.1 -&gt; 58.0.2</li>
<li>Chromium: 61.0.3163.100 -&gt; 63.0.3239.132</li>
<li>Qt5 Webengine (QupZilla, Falkon, many others): 5.7.1 -&gt; 5.9.4</li></ul></li>
<li><p>All pre-compiled packages for this release are built with the latest versions of LLVM/Clang, unless the package explicitly requires GCC. These packages also utilize the latest compile-time mitigations for memory-access security concerns.</p></li>
</ul>

<hr>

<h3><a href="https://github.com/F-Stack/f-stack" target="_blank" rel="nofollow noopener">F-Stack</a></h3>

<blockquote>
  <p>F-Stack is an user space network development kit with high performance based on DPDK, FreeBSD TCP/IP stack and coroutine API. http://www.f-stack.org</p>
</blockquote>

<ul>
<li><p>Introduction
With the rapid development of NIC, the poor performance of data packets processing with Linux kernel has become the bottleneck. However, the rapid development of the Internet needs high performance of network processing, kernel bypass has caught more and more attentions. There are various similar technologies appear, such as DPDK, NETMAP and PF_RING. The main idea of kernel bypass is that Linux is only used to deal with control flow, all data streams are processed in user space. Therefore, kernel bypass can avoid performance bottlenecks caused by kernel packet copying, thread scheduling, system calls and interrupts. Furthermore, kernel bypass can achieve higher performance with multi optimizing methods. Within various techniques, DPDK has been widely used because of its more thorough isolation from kernel scheduling and active community support.</p></li>
<li><p>F-Stack is an open source network framework with high performance based on DPDK. With following characteristics</p>

<ul><li>Ultra high network performance which can achieve network card under full load, 10 million concurrent connections, 5 million RPS, 1 million CPS.</li>
<li>Transplant FreeBSD 11.01 user space stack, provides a complete stack function, cut a great amount of irrelevant features. Therefore greatly enhance the performance.</li>
<li>Support Nginx, Redis and other mature applications, service can easily use F-Stack</li>
<li>With Multi-process architecture, easy to extend</li>
<li>Provide micro thread interface. Various applications with stateful app can easily use F-Stack to get high performance without processing complex asynchronous logic.</li>
<li>Provide Epoll/Kqueue interface that allow many kinds of applications easily use F-Stack</li></ul></li>
<li><p>History</p></li>
</ul>

<blockquote>
  <p>In order to deal with the increasingly severe DDoS attacks, authorized DNS server of Tencent Cloud DNSPod switched from Gigabit Ethernet to 10-Gigabit at the end of 2012. We faced several options, one is to continue to use the original model another is to use kernel bypass technology. After several rounds of investigation, we finally chose to develop our next generation of DNS server based on DPDK. The reason is DPDK provides ultra-high performance and can be seamlessly extended to 40G, or even 100G NIC in the future.</p>
  
  <p>After several months of development and testing, DKDNS, high-performance DNS server based on DPDK officially released in October 2013. It's capable of achieving up to 11 million QPS with a single 10GE port and 18.2 million QPS with two 10GE ports. And then we developed a user-space TCP/IP stack called F-Stack that can process 0.6 million RPS with a single 10GE port.</p>
  
  <p>With the fast growth of Tencent Cloud, more and more services need higher network access performance. Meanwhile, F-Stack was continuous improving driven by the business growth, and ultimately developed into a general network access framework. But this TCP/IP stack couldn't meet the needs of these services while continue to develop and maintain a complete network stack will cost high, we've tried several plans and finally determined to port FreeBSD(11.0 stable) TCP/IP stack into F-Stack. Thus, we can reduce the cost of maintenance and follow up the improvement from community quickly.Thanks to libplebnet and libuinet, this work becomes a lot easier.</p>
  
  <p>With the rapid development of all kinds of application, in order to help different APPs quick and easily use F-Stack, F-Stack has integrated Nginx, Redis and other commonly used APPs, and a micro thread framework, and provides a standard Epoll/Kqueue interface.</p>
  
  <p>Currently, besides authorized DNS server of DNSPod, there are various products in Tencent Cloud has used the F-Stack, such as HttpDNS (D+), COS access module, CDN access module, etc..</p>
</blockquote>

<hr>

<p><strong>iXsystems</strong></p>

<h3><a href="https://www.forbes.com/sites/forbestechcouncil/2018/04/02/leadership-is-the-secret-to-an-open-source-business-model/#a2beca765c78" target="_blank" rel="nofollow noopener">Leadership Is The Secret To An Open Source Business Model</a></h3>

<ul>
<li>A Forbes article by Mike Lauth, CEO of iXsystems


<blockquote>
  There is a good chance you’ve never heard of open source software and an even greater one that you’re using it every day without even realizing it. Open source software is computer software that is available under a variety of licenses that all encourage the sharing of the software and its underlying source code. Open source has powered the internet from day one and today powers the cloud and just about everything connected to it from your mobile phone to virtually every internet of things device.
  FreeNAS is one of two open source operating systems that my company, iXsystems, develops and distributes free of charge and is at the heart of our line of TrueNAS enterprise storage products. While some of our competitors sell storage software similar to FreeNAS, we not only give it away but also do so with truly no strings attached -- competitors can and do take FreeNAS and build products based on it with zero obligation to share their changes. The freedom to do so is the fundamental tenet of permissively licensed open source software, and while it sounds self-defeating to be this generous, we’ve proven that leadership, not licensing, is the true secret to a successful open source business model.
  We each have our own personal definition of what is fair when it comes to open source. At iXsystems, we made a conscious decision to base FreeNAS and TrueOS on the FreeBSD operating system developed by the FreeBSD project. We stand on the shoulders of giants by using FreeBSD and we consider it quite reasonable to give back on the same generous terms that the FreeBSD project offers us. We could be selective in what we provide free of charge, but we believe that doing so would be short-sighted. In the long game we’re playing, the leadership we provide over the open source projects we produce is infinitely more important than any restrictions provided by the licenses of those and other open source projects.
  Twenty years in, we have no reason to change our free-software-on-great-hardware business model and giving away the software has brought an unexpected side-benefit: the largest Q/A department in the world, staffed by our passionate users who volunteer to let us know every thought they have about our software. We wouldn’t change a thing, and I encourage you to find exactly what win-win goodwill you and your company can provide to your constituents to make them not just a customer base but a community.</blockquote></li>
  <li>Drive The Conversation
  It took a leap of faith for us to give away the heart of our products in exchange for a passionate community, but doing so changes your customer's relationship with your brand from priced to priceless. This kind of relationship leverages a social contract instead of a legal one. Taking this approach empowers your users in ways they will not experience with other companies and it is your responsibility to lead, rather than control them with a project like FreeNAS</li>
  <li>Relieve Customer Pain Points With Every New Release
  Responsiveness to the needs of your constituents is what distinguishes project leadership from project dictatorship. Be sure to balance your vision for your products and projects with the “real world” needs of your users. While our competition can use the software we develop, they will at best wow users with specific features rather than project-wide ones. Never underestimate how grateful a user will be when you make their job easier.</li>
  <li>Accept That A Patent Is Not A Business Model
  Patents are considered the ultimate control mechanism in the technology industry, but they only provide a business model if you have a monopoly and monopolies are illegal. Resist getting hung up on the control you can establish over your customers and spend your time acquiring and empowering them. The moment you both realize that your success is mutual, you have a relationship that will last longer than any single sale. You’ll be pleasantly surprised how the relationships you build will transcend the specific companies that friends you make work for.</li>
  <li>Distinguish Leadership From Management
  Every company has various levels of management, but leadership is the magic that creates markets where they did not exist and aligns paying customers with value that you can deliver in a profitable manner. Leadership and vision are ultimately the most proprietary aspects of a technology business, over every patentable piece of hardware or licensable piece of software. Whether you create a new market or bring efficiency to an existing one, your leadership is your secret weapon -- not your level of control.</li>
  </ul>
  <hr>


<h2>News Roundup</h2>



<h3><a href="https://www.skyforge.at/posts/an-introduction-to-jails-and-jail-networking/" target="_blank" rel="nofollow noopener">Introduction to Jails and Jail Networking on FreeBSD</a></h3>



<blockquote>
  <p>Jails basically partition a FreeBSD system into various isolated sub-systems called jails. The syscall and userspace tools first appeared in FreeBSD 4.0 (~ March 2000) with subsequent releases expanding functionality and improving existing features as well as usability.
  + For Linux users, jails are similar to LXC, used for resource/process isolation. Unlike LXC however, jails are a first-class concept and are well integrated into the base system. Essentially however, both offer a chroot-with-extra-separation feeling.
  Setting up a jail is a fairly simple process, which can essentially be split into three steps:
    + Place the stuff you want to run and the stuff it needs to run somewhere on your filesystem.
    + Add some basic configuration for the jail in jail.conf.
    + Fire up the jail.
  To confirm that the jail started successfully we can use the jls utility:
  We can now enter the jailed environment by using jexec, which will by default execute a root shell inside the named jail
  A jail can only see and use addresses that have been passed down to it by the parent system. This creates a slight problem with the loopback address: The host would probably like to keep that address to itself and not share it with any jail.
  Because of this, the loopback-address inside a jail is emulated by the system:
    + 127.0.0.1 is an alias for the first IPv4-address assigned to the jail.
    + ::1 is an alias for the first IPv6-address assigned to the jail.
  While this looks simple enough and usually works just fine[tm], it is also a source of many problems. Just imagine if your jail has only one single global IPv4 assigned to it. A daemon binding its (possibly unsecured) control port to the loopback-address would then unwillingly be exposed to the rest of the internet, which is hardly ever a good idea.
  + So, create an extra loopback adapter, and make the first IP in each jail a private loopback address
  + The tutorial goes on to cover making multiple jails share a single public IP address using NAT
  + It also covers more advanced concepts like ‘thin’ jails, to save some disk space if you are going to create a large number of jails, and how to upgrade them after the fact
  + Finally, it covers the integration with a lot of common tools, like identifying and filter jailed processes using top and ps, or using the package managers support for jails to install packages in a jail from the outside.</p>
</blockquote>

<hr>



**DigitalOcean**



<h3>SmartOS release-20180315</h3>

```

Hello All,

The latest bi-weekly "release" branch build of SmartOS is up:


<pre><code>curl -C - -O https://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos-latest.iso
curl -C - -O https://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos-latest-USB.img.bz2
curl -C - -O https://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos-latest.vmwarevm.tar.bz2
</code></pre>

A generated changelog is here:

<pre><code>https://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos.html#20180329T002644Z
</code></pre>

The full build bits directory, for those interested, is here in Manta:

<pre><code>/Joyent_Dev/public/SmartOS/20180329T002644Z
</code></pre>

Highlights

Firewall rules created with fwadm(1M) can now use the PRIORITY keyword to
specify a higher precedence for a rule.

This release has includes mitigation of the Intel Meltdown vulnerability in the
form of kpti (kernel page table isolation) with PCID (process context
identifier) support

This release also includes experimental support for bhyve branded zones.




General Info

Every second Thursday we roll a "release-YYYYMMDD" release branch and
builds for SmartOS (and Triton DataCenter and Manta, as well).

Cheers,
Josh Wilsdon, on behalf of the SmartOS developers
https://smartos.org
``` 

<ul>
<li>Here's a screencap from q5sys' machine showing the output of sysinfo: https://i.imgur.com/MFkNi76.jpg</li>
</ul>

<hr>

<h3><a href="https://www.freebsdfoundation.org/wp-content/uploads/2018/03/FreeBSD-Foundation-March-2018-Update-1.pdf" target="_blank" rel="nofollow noopener">FreeBSD Foundation March 2018 Update</a></h3>

<ul>
<li>&gt; Syzkaller update: Syzkaller is a coverage-guided system call fuzzer. It invokes syscalls with arbitrary and changing inputs, and is intended to use code coverage data to guide changes to system call inputs in order to access larger and larger portions of the kernel in the search for bugs.</li>
<li>&gt; Last term’s student focused largely on scripts to deploy and configure Syzkaller on Packet.net’s hosting infrastructure, but did not get to the code coverage integration required for Syzkaller to be effective. This term co-op student Mitchell Horne has been adding code coverage support in FreeBSD for Syzkaller.</li>
<li>&gt; The Linux code coverage support for Syzkaller is known as kcov and was submitted by Dmitry Vyukov, Syzkaller’s author. Kcov is purposebuilt for Syzkaller:
<ul><li>&gt; kcov provides code coverage collection for coverage-guided fuzzing (randomized testing). Coverage-guided fuzzing is a testing technique that uses coverage feedback to determine new interesting inputs to a system.</li>
<li>&gt; kcov does not aim to collect as much coverage as possible. It aims to collect more or less stable coverage that is function of syscall inputs. To achieve this goal it does not collect coverage in soft/hard interrupts and instrumentation of some inherently non-deterministic or non-interesting parts of kernel is disabled (e.g. scheduler, locking).</li></ul></li>
<li>&gt; Mitchell implemented equivalent functionality for FreeBSD - a distinct implementation, but modelled on the one in Linux. These patches are currently in review, as are minor changes to Syzkaller to use the new interface on FreeBSD.</li>
<li>&gt; We still have some additional work to fully integrate Syzkaller and run it on a consistent basis, but the brief testing that has been completed suggests this work will provide a very valuable improvement in test coverage and opportunities for system hardening: we tested Syzkaller with Mitchell's code coverage patch over a weekend. It provoked kernel crashes hundreds of times faster than without his work.</li>
<li>&gt; I want to say thank you to NetApp for becoming an Iridium Partner again this
year! (Donations between $100,000 - $249,999) It’s companies like NetApp, who recognize the importance of supporting our efforts, that allow us to continue to provide software improvements, advocate for FreeBSD, and help lead the release engineering and security efforts.</li>
<li>&gt; Conference Recap: FOSSASIA 2018</li>
<li>Foundation Director Philip Paeps went to FOSSASIA, which is possibly the largest open source event in Asia. The FreeBSD Foundation sponsored the conference.</li>
<li>Our booth had a constant stream of traffic over the weekend and we handed out hundreds of FreeBSD stickers, pens and flyers. Many attendees of FOSSASIA had never heard of FreeBSD before and are now keen to start exploring and perhaps even contributing. By the end of the conference, there were FreeBSD stickers everywhere!</li>
<li>&gt; One particular hallway-track conversation led to an invitation to present FreeBSD at a "Women Who Code" evening in Kuala Lumpur later this week (Thursday 29th March). I spent the days after the conference meeting companies who use (or want to use) FreeBSD in Singapore.</li>
<li>&gt; SCaLE 16x: The Foundation sponsored a FreeBSD table in the expo hall that was
staffed by Dru Lavigne, Warren Block, and Deb Goodkin. Our purpose was to promote FreeBSD, and attract more users and contributors to the Project. We had a steady flow of people stopping by our table, asking inquisitive questions, and picking up some cool swag and FreeBSD handouts.</li>
<li>Deb Goodkin took some tutorials/trainings there and talked to a lot of other open source projects.</li>
<li><blockquote>
  <p>Next year, we have the opportunity to have a BSD track, similar to the BSD Devroom at FOSDEM. We are looking for some volunteers in Southern California who can help organize this one or two-day event and help us educate more people about the BSDs. Let us know if you
  would like to help with this effort.</p>
</blockquote></li>
<li><blockquote>
  <p>Roll Call: #WhoUsesFreeBSD</p>
</blockquote></li>
<li><blockquote>
  <p>Many of you probably saw our post on social media asking Who Uses FreeBSD. Please help us answer this question to assist us in determining FreeBSD market share data, promote how companies are successfully using FreeBSD to encourage more companies to embrace
  FreeBSD, and to update the list of users on our website. Knowing who uses FreeBSD helps our contributors know where to look for jobs; knowing what universities teach with FreeBSD, helps companies know where to recruit, and knowing what products use FreeBSD helps us determine what features and technologies to support.</p>
</blockquote></li>
<li><blockquote>
  <p>New Hosting Partner: Oregon State University Open Source Lab</p>
</blockquote></li>
<li>&gt; We are pleased to announce that the Oregon State University (OSU) Open Source Lab (OSL), which hosts infrastructure for over 160 different open source projects, has agreed to host some of our servers for FreeBSD development.  The first server, which should be arriving shortly, is an HP Enterprise Proliant DL360 Gen10 configured with NVDIMM memory which will be initially used for further development and testing of permanent memory support in the kernel.</li>
<li>Stay tuned for more news from the FreeBSD Foundation in May (next newsletter).</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://daniel.haxx.se/blog/2018/03/20/twenty-years-1998-2018/" target="_blank" rel="nofollow noopener">cURL is 20 today</a></li>
<li><a href="https://www.skyforge.at/posts/a-note-in-sysvipc-and-jails-on-freebsd/" target="_blank" rel="nofollow noopener">A Note on SYSVIPC and Jails on FreeBSD</a></li>
<li><a href="https://marc.info/?l=openbsd-announce&amp;m=152149507725894&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD Errata: March 20th, 2018 (ipsec)</a></li>
<li><a href="https://www.freebsd.org/security/advisories.html" target="_blank" rel="nofollow noopener">FreeBSD Security Advisories for IPSEC and vt </a></li>
<li><a href="https://www.tecmint.com/pkg-command-examples-to-manage-packages-in-freebsd/" target="_blank" rel="nofollow noopener">23 Useful PKG Command Examples to Manage Packages in FreeBSD</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<h2>Feedback/Questions</h2>

<ul>
<li>Casey - <a href="http://dpaste.com/2VMH555#wrap" target="_blank" rel="nofollow noopener">Cool Editor</a></li>
<li>Nelson - <a href="http://dpaste.com/2NTE4SD#wrap" target="_blank" rel="nofollow noopener">New article on FreeBSD vs MacOS</a></li>
<li>Damian - <a href="http://dpaste.com/0FYWVHD#wrap" target="_blank" rel="nofollow noopener">Mysterious Reverse Proxy 504</a></li>
<li>Nelson - <a href="http://dpaste.com/0BTGTVP#wrap" target="_blank" rel="nofollow noopener">FreeBSD, rsync, nasty bug, now fixed</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 240: TCP Blackbox Recording | BSD Now 240</title>
  <link>https://www.bsdnow.tv/240</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-1717</guid>
  <pubDate>Sat, 07 Apr 2018 15:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b3126658-f33d-4d1b-9298-94929ae3e52e.mp3" length="47822501" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>New ZFS features landing in FreeBSD, MAP_STACK for OpenBSD, how to write safer C code with Clang’s address sanitizer, Michael W. Lucas on sponsor gifts, TCP blackbox recorder, and Dell disk system hacking.</itunes:subtitle>
  <itunes:duration>1:39:18</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>&lt;p&gt;New ZFS features landing in FreeBSD, MAP_STACK for OpenBSD, how to write safer C code with Clang’s address sanitizer, Michael W. Lucas on sponsor gifts, TCP blackbox recorder, and Dell disk system hacking.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;[A number of Upstream ZFS features landed in FreeBSD this week]&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=331711" target="_blank" rel="nofollow noopener"&gt;9188 increase size of dbuf cache to reduce indirect block decompression&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;With compressed ARC (6950) we use up to 25% of our CPU to decompress indirect blocks, under a workload of random cached reads. To reduce this decompression cost, we would like to increase the size of the dbuf cache so that more indirect blocks can be stored uncompressed.
  If we are caching entire large files of recordsize=8K, the indirect blocks use 1/64th as much memory as the data blocks (assuming they have the same compression ratio). We suggest making the dbuf cache be 1/32nd of all memory, so that in this scenario we should be able to keep all the indirect blocks decompressed in the dbuf cache. (We want it to be more than the 1/64th that the indirect blocks would use because we need to cache other stuff in the dbuf cache as well.)
  In real world workloads, this won't help as dramatically as the example above, but we think it's still worth it because the risk of decreasing performance is low. The potential negative performance impact is that we will be slightly reducing the size of the ARC (by ~3%).&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=331701" target="_blank" rel="nofollow noopener"&gt;9166 zfs storage pool checkpoint&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The idea of Storage Pool Checkpoint (aka zpool checkpoint) deals with exactly that.  It can be thought of as a “pool-wide snapshot” (or a variation of extreme rewind that doesn’t corrupt your data).  It remembers the entire state of the pool at the point that it was taken and the user can revert back to it later or discard it.  Its generic use case is an administrator that is about to perform a set of destructive actions to ZFS as part of a critical procedure.  She takes a checkpoint of the pool before performing the actions, then rewinds back to it if one of them fails or puts the pool into an unexpected state.  Otherwise, she discards it.  With the assumption that no one else is making modifications to ZFS, she basically wraps all these actions into a “high-level transaction”.&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://sdimitro.github.io/post/zpool-checkpoint/" target="_blank" rel="nofollow noopener"&gt;More information&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=331404" target="_blank" rel="nofollow noopener"&gt;8484 Implement aggregate sum and use for arc counters&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;In pursuit of improving performance on multi-core systems, we should implements fanned out counters and use them to improve the performance of some of the arc statistics. These stats are updated extremely frequently, and can consume a significant amount of CPU time.&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;And a small bug fix authored by me:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=331709" target="_blank" rel="nofollow noopener"&gt;9321 arc&lt;em&gt;loan&lt;/em&gt;compressed&lt;em&gt;buf() can increment arc&lt;/em&gt;loaned&lt;em&gt;bytes by the wrong value&lt;/em&gt;&lt;/a&gt;&lt;em&gt;


&lt;/em&gt;&lt;blockquote&gt;&lt;em&gt;
  arc&lt;/em&gt;loan&lt;em&gt;compressed&lt;/em&gt;buf() increments arc&lt;em&gt;loaned&lt;/em&gt;bytes by psize unconditionally In the case of zfs&lt;em&gt;compressed&lt;/em&gt;arc&lt;em&gt;enabled=0, when the buf is returned via arc&lt;/em&gt;return&lt;em&gt;buf(), if ARC&lt;/em&gt;BUF&lt;em&gt;COMPRESSED(buf) is false, then arc&lt;/em&gt;loaned&lt;em&gt;bytes is decremented by lsize, not psize.
  Switch to using arc&lt;/em&gt;buf&lt;em&gt;size(buf), instead of psize, which will return psize or lsize, depending on the result of ARC&lt;/em&gt;BUF_COMPRESSED(buf).&lt;/blockquote&gt;&lt;/li&gt;
  &lt;/ul&gt;
  &lt;hr&gt;


&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=152035796722258&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;MAP_STACK for OpenBSD&lt;/a&gt;&lt;/h3&gt;



&lt;blockquote&gt;
  &lt;p&gt;Almost 2 decades ago we started work on W^X.  The concept was simple. Pages that are writable, should not be executable.  We applied this concept object by object, trying to seperate objects with different qualities to different pages. The first one we handled was the signal trampoline at the top of the stack.  We just kept making changes in the same vein.  Eventually W^X came to some of our kernel address spaces also.
  The fundamental concept is that an object should only have the
  permissions necessary, and any other operation should fault.  The only permission separations we have are kernel vs userland, and then read, write, and execute.
  How about we add another new permission!  This is not a hardware permission, but a software permission.  It is opportunistically enforced by the kernel.
  the permission is MAP&lt;em&gt;STACK.  If you want to use memory as a stack, you must mmap it with that flag bit.  The kernel does so automatically for the stack region of a process's stack.  Two other types of stack occur: thread stacks, and alternate signal stacks.  Those are handled in clever ways.
  When a system call happens, we check if the stack-pointer register points to such a page.  If it doesn't, the program is killed.  We have tightened the ABI.  You may no longer point your stack register at non-stack memory.  You'll be killed.  This checking code is MI, so it works for all platforms.
  Since page-permissions are generally done on page boundaries, there is caveat that thread and altstacks must now be page-sized and page-aligned, so that we can enforce the MAP&lt;/em&gt;STACK attribute correctly.  It is possible that a few ports need some massaging to satisfy this condition, but we haven't found any which break yet.  A syslog_r has been added so that we can identify these failure cases. Also, the faulting cases are quite verbose for now, to help identify the programs we need to repair.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;



**iXsystems**



&lt;h3&gt;&lt;a href="https://dev.to/loderunner/writing-safer-c-with-clang-address-sanitizer" target="_blank" rel="nofollow noopener"&gt;Writing Safer C with the Clang Address Sanitizer&lt;/a&gt;&lt;/h3&gt;



&lt;blockquote&gt;
  &lt;p&gt;We wanted to improve our password strength algorithm, and decided to go for the industry-standard zxcvbn, from the people at Dropbox. Our web front-end would use the default Javascript library, and for mobile and desktop, we chose to use the C implementation as it was the lowest common denominator for all platforms.
  Bootstrapping all of this together was done pretty fast. I had toyed around with a few sample passwords so I decided to run it through the test suite we had for the previous password strength evaluator. The test generates a large number of random passwords according to different rules and expects the strength to be in a given range. But the test runner kept crashing with segmentation faults.
  It turns out the library has a lot of buffer overflow cases that are usually "harmless", but eventually crash your program when you run the evaluator function too much. I started fixing the cases I could see, but reading someone else's algorithms to track down tiny memory errors got old pretty fast. I needed a tool to help me.
  That's when I thought of Clang's Address Sanitizer.
  AddressSanitizer is a fast memory error detector. It consists of a compiler instrumentation module and a run-time library
  Let's try the sanitizer on a simple program. We'll allocate a buffer on the heap, copy each character of a string into it, and print it to standard output.
  + The site walks through a simple example which contains an error, it writes past the end of a buffer
  + The code works as expected, and nothing bad happens. It must be fine…
  + Then they compile it again with the address sanitizer actived
  So what can we gather from that pile of hex? Let's go through it line by line.
  AddressSanitizer found a heap buffer overflow at 0x60200000ef3d, a seemingly valid address (not NULL or any other clearly faulty value).
  + ASAN points directly to the line of code that is causing the problem
  We're writing outside of the heap in this instruction. And AddressSanitizer isn't having it.
  This is definitely one of my favorite indications. In addition to telling which line in the code failed and where in the memory the failure happened, you get a complete description of the closest allocated region in memory (which is probably the region you were trying to access).
  + They then walk through combining this with lldb, the Clang debugger, to actually interactively inspect the state of the problem when an invalid memory access happens
  Back to my practical case, how did I put the address sanitizer to good use? I simply ran the test suite, compiled with the sanitizer, with lldb. Sure enough, it stopped on every line that could cause a crash. It turns out there were many cases where zxcvbn-c wrote past the end of allocated buffers, on the heap and on the stack. I fixed those cases in the C library and ran the tests again. Not a segfault in sight!
  I've used memory tools in the past, but they were usually unwieldy, or put such a toll on performance that they were useless in any real-life case. Clang's address sanitizer turned out to be detailed, reliable, and surprisingly easy to use. I've heard of the miracles of Valgrind but macOS hardly supports it, making it a pain to use on my MacBook Pro.
  Coupled with Clang's static analyzer, AddressSanitizer is going to become a mandatory stop for evaluating code quality. It's also going to be the first tool I grab when facing confusing memory issues. There are many more case where I could use early failure and memory history to debug my code. For example, if a program crashes when accessing member of a deallocated object, we could easily trace the event that caused the deallocation, saving hours of adding and reading logs to retrace just what happened.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;







&lt;h2&gt;News Roundup&lt;/h2&gt;



&lt;h3&gt;&lt;a href="https://blather.michaelwlucas.com/archives/3131" target="_blank" rel="nofollow noopener"&gt;On sponsor gifts&lt;/a&gt;&lt;/h3&gt;



&lt;blockquote&gt;
  &lt;p&gt;Note the little stack of customs forms off to the side. It’s like I’ve learned a lesson from standing at the post office counter filling out those stupid forms. Sponsors should get their books soon.&lt;/p&gt;
  
  &lt;p&gt;This seems like an apropos moment to talk about what I do for print sponsors. I say I send them “a gift,” but what does that really mean? The obvious thing to ship them is a copy of the book I’ve written. Flat-out selling print books online has tax implications, though.&lt;/p&gt;
  
  &lt;p&gt;Sponsors might have guessed that they’d get a copy of the book. But I shipped them the hardcover, which isn’t my usual practice.&lt;/p&gt;
  
  &lt;p&gt;That’s because I send sponsors a gift. As it’s a gift, I get to choose what I send. I want to send them something nice, to encourage them to sponsor another book. It makes no sense for me to send a sponsor a Singing Wedgie-O-Gram. (Well, maybe a couple sponsors. You know who you are.)&lt;/p&gt;
  
  &lt;p&gt;The poor bastards who bought into my scam–er, sponsored my untitled book–have no idea what’s coming. As of right now, their sensible guesses are woefully incomplete.&lt;/p&gt;
  
  &lt;p&gt;Future books? They might get a copy of the book. They might get book plus something. They might just get the something. Folks who sponsor the jails book might get a cake with a file in it. Who knows?&lt;/p&gt;
  
  &lt;p&gt;It’s a gift. It’s my job to make that gift worthwhile.&lt;/p&gt;
  
  &lt;p&gt;And to amuse myself. Because otherwise, what’s the point?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;





&lt;h3&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=331347" target="_blank" rel="nofollow noopener"&gt;TCP Blackbox Recorder&lt;/a&gt;&lt;/h3&gt;

```
Add the "TCP Blackbox Recorder" which we discussed at the developer
summits at BSDCan and BSDCam in 2017.

The TCP Blackbox Recorder allows you to capture events on a TCP connection
in a ring buffer. It stores metadata with the event. It optionally stores
the TCP header associated with an event (if the event is associated with a
packet) and also optionally stores information on the sockets.

It supports setting a log ID on a TCP connection and using this to correlate
multiple connections that share a common log ID.

You can log connections in different modes. If you are doing a coordinated
test with a particular connection, you may tell the system to put it in
mode 4 (continuous dump). Or, if you just want to monitor for errors, you
can put it in mode 1 (ring buffer) and dump all the ring buffers associated
with the connection ID when we receive an error signal for that connection
ID. You can set a default mode that will be applied to a particular ratio
of incoming connections. You can also manually set a mode using a socket
option.

This commit includes only basic probes. rrs@ has added quite an abundance
of probes in his TCP development work. He plans to commit those soon.

There are user-space programs which we plan to commit as ports. These read
the data from the log device and output pcapng files, and then let you
analyze the data (and metadata) in the pcapng files.

Reviewed by:    gnn (previous version)
Obtained from:    Netflix, Inc.
Relnotes:    yes
Differential Revision:    https://reviews.freebsd.org/D11085
```



&lt;hr&gt;



**Digital Ocean**



&lt;h3&gt;&lt;a href="https://euroquis.nl/bobulate/?p=1812" target="_blank" rel="nofollow noopener"&gt;Outta the way, KDE4&lt;/a&gt;&lt;/h3&gt;



&lt;blockquote&gt;
  &lt;p&gt;KDE4 has been rudely moved aside on FreeBSD. It still installs (use x11/kde4) and should update without a problem, but this is another step towards adding modern KDE (Plasma 5 and Applications) to the official FreeBSD Ports tree.
  This has taken a long time mostly for administrative reasons, getting all the bits lined up so that people sticking with KDE4 (which, right now, would be everyone using KDE from official ports and packages on FreeBSD) don’t end up with a broken desktop. We don’t want that. But now that everything Qt4 and kdelibs4-based has been moved aside by suffixing it with -kde4, we have the unsuffixed names free to indicate the latest-and-greatest from upstream.&lt;/p&gt;
  
  &lt;p&gt;KDE4 users will see a lot of packages moving around and being renamed, but no functional changes. Curiously, the KDE4 desktop depends on Qt5 and KDE Frameworks 5 — and it has for quite some time already, because the Oxygen icons are shared with KDE Frameworks, but primarily because FileLight was updated to the modern KDE Applications version some time ago (the KDE4 version had some serious bugs, although I can not remember what they were). Now that the names are cleaned up, we could consider giving KDE4 users the buggy version back.&lt;/p&gt;
  
  &lt;p&gt;From here on, we’ve got the following things lined up:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Qt 5.10 is being worked on, except for WebEngine (it would slow down an update way too much), because Plasma is going to want Qt 5.10 soon.&lt;/li&gt;
&lt;li&gt;CMake 3.11 is in the -rc stage, so that is being lined up.&lt;/li&gt;
&lt;li&gt;The kde5-import branch in KDE-FreeBSD’s copy of the FreeBSD ports tree (e.g. Area51) is being prepped and polished for a few big SVN commits that will add all the new bits.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;So we’ve been saying Real Soon Now ™ for years, but things are Realer Sooner Nower ™ now.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.frankleonhardt.com/2017/del-fs12-nv7-and-other-2u-server-e-g-c6100-disk-system-hacking/" target="_blank" rel="nofollow noopener"&gt;Dell FS12-NV7 and other 2U server (e.g. C6100) disk system hacking&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;A while back I reviewed the Dell FS12-NV7 – a 2U rack server being sold cheap by all and sundry. It’s a powerful box, even by modern standards, but one of its big drawbacks is the disk system it comes with. But it needn’t be.&lt;/p&gt;
  
  &lt;p&gt;There are two viable solutions, depending on what you want to do. You can make use of the SAS backplane, using SAS and/or SATA drives, or you can go for fewer SATA drives and free up one or more PCIe slots as Plan B. You probably have an FS12 because it looks good for building a drive array (or even FreeNAS) so I’ll deal with Plan A first.&lt;/p&gt;
  
  &lt;p&gt;Like most Dell servers, this comes with a Dell PERC RAID SAS controller – a PERC6/i to be precise. This ‘I’ means it has internal connectors; the /E is the same but its sockets are external.&lt;/p&gt;
  
  &lt;p&gt;The PERC connects to a twelve-slot backplane forming a drive array at the front of the box. More on the backplane later; it’s the PERCs you need to worry about.&lt;/p&gt;
  
  &lt;p&gt;The PERC6 is actually an LSI Megaraid 1078 card, which is just the thing you need if you’re running an operating system like Windows that doesn’t support a volume manager, striping and other grown-up stuff. Or if your OS does have these features, but you just don’t trust it. If you are running such an OS you may as well stick to the PERC6, and good luck to you. If you’re using BSD (including FreeNAS), Solaris or a Linux distribution that handles disk arrays, read on. The PERC6 is a solution to a problem you probably don’t have, but in all other respects its a turkey. You really want a straightforward HBA (Host Bus Adapter) that allows your clever operating system to talk directly with the drives.&lt;/p&gt;
  
  &lt;p&gt;Any SAS card based on the 1078 (such as the PERC6) is likely to have problems with drives larger than 2Tb. I’m not completely sure why, but I suspect it only applies to SATA. Unfortunately I don’t have any very large SAS drives to test this theory. A 2Tb limit isn’t really such a problem when you’re talking about a high performance array, as lots of small drives are a better option anyway. But it does matter if you’re building a very large datastore and don’t mind slower access and very significant resilvering times when you replace a drive. And for large datastores, very large SATA drives save you a whole lot of cash. The best capacity/cost ratio is for 5Gb SATA drives&lt;/p&gt;
  
  &lt;p&gt;Some Dell PERCs can be re-flashed with LSI firmware and used as a normal HBA. Unfortunately the PERC6 isn’t one of them. I believe the PERC6/R can be, but those I’ve seen in a FS12 are just a bit too old. So the first thing you’ll need to do is dump them in the recycling or try and sell them on eBay.&lt;/p&gt;
  
  &lt;p&gt;There are actually two PERC6 cards in most machine, and they each support eight SAS channels through two SFF-8484 connectors on each card. Given there are twelve drives slots, one of the PERCs is only half used. Sometimes they have a cable going off to a battery located near the fans. This is used in a desperate attempt to keep the data in the card’s cache safe in order to avoid write holes corrupting NTFS during a power failure, although the data on the on-drive caches won’t be so lucky. If you’re using a file system like that, make sure you have a UPS for the whole lot.&lt;/p&gt;
  
  &lt;p&gt;But we’re going to put the PERCs out of our misery and replace them with some nice new LSI HBAs that will do our operating system’s bidding and let it talk to the drives as it knows best. But which to pick? First we need to know what we’re connecting.&lt;/p&gt;
  
  &lt;p&gt;Moving to the front of the case there are twelve metal drive slots with a backplane behind. Dell makes machines with either backplanes or expanders. A backplane has a 1:1 SAS channel to drive connection; an expander takes one SAS channel and multiplexes it to (usually) four drives. You could always swap the blackplane with an expander, but I like the 1:1 nature of a backplane. It’s faster, especially if you’re configured as an array. And besides, we don’t want to spend more money than we need to, otherwise we wouldn’t be hot-rodding a cheap 2U server in the first place – expanders are expensive. Bizarrely, HBAs are cheap in comparison. So we need twelve channels of SAS that will connect to the sockets on the backplane.&lt;/p&gt;
  
  &lt;p&gt;The HBA you will probably want to go with is an LSI, as these have great OS support. Other cards are available, but check that the drivers are also available. The obvious choice for SAS aficionados is the LSI 9211-8i, which has eight internal channels. This is based on an LSI 2000 series chip, the 2008, which is the de-facto standard. There’s also four-channel -4i version, so you could get your twelve channels using one of each – but the price difference is small these days, so you might as well go for two -8i cards. If you want cheaper there are 1068-based equivalent cards, and these work just fine at about half the price. They probably won’t work with larger disks, only operate at 3Gb and the original SAS standard. However, the 2000 series is only about £25 extra and gives you more options for the future. A good investment. Conversely, the latest 3000 series cards can do some extra stuff (particularly to do with active cables) but I can’t see any great advantage in paying megabucks for one unless you’re going really high-end – in which case the NV12 isn’t the box for you anyway. And you’d need some very fast drives and a faster backplane to see any speed advantage. And probably a new motherboard….&lt;/p&gt;
  
  &lt;p&gt;Whether the 6Gb SAS2 of the 9211-8i is any use on the backplane, which was designed for 3Gb, I don’t know. If it matters that much to you you probably need to spend a lot more money. A drive array with a direct 3Gb to each drive is going to shift fast enough for most purposes.&lt;/p&gt;
  
  &lt;p&gt;Once you have removed the PERCs and plugged in your modern-ish 9211 HBAs, your next problem is going to be the cable. Both the PERCs and the backplane have SFF-8484 multi-lane connectors, which you might not recognise. SAS is a point-to-point system, the same as SATA, and a multi-lane cable is simply four single cables in a bundle with one plug. (Newer versions of SAS have more). SFF-8484 multi-lane connectors are somewhat rare, (but unfortunately this doesn’t make them valuable if you were hoping to flog them on eBay). The world switched quickly to the SFF-8087 for multi-lane SAS. The signals are electrically the same, but the connector is not.&lt;/p&gt;
  
  &lt;p&gt;Please generate and paste your ad code here. If left empty, the ad location will be highlighted on your blog pages with a reminder to enter your code. Mid-Post
  So there are two snags with this backplane. Firstly it’s designed to work with PERC controllers; secondly it has the old SFF-8484 connectors on the back, and any SAS cables you find are likely to have SFF-8087.&lt;/p&gt;
  
  &lt;p&gt;First things first – there is actually a jumper on the backplane to tell it whether it’s talking to a PERC or a standard LSI HBA. All you need to do is find it and change it. Fortunately there are very few jumpers to choose from (i.e. two), and you know the link is already in the wrong place. So try them one at a time until it works. The one you want may be labelled J15, but I wouldn’t like to say this was the same on every variant.&lt;/p&gt;
  
  &lt;p&gt;Second problem: the cable. You can get cables with an SFF-8087 on one end and an SFF-8484 on the other. These should work. But they’re usually rather expensive. If you want to make your own, it’s a PITA but at least you have the connectors already (assuming you didn’t bin the ones on the PERC cables).&lt;/p&gt;
  
  &lt;p&gt;I don’t know what committee designed SAS cable connectors, but ease of construction wasn’t foremost in their collective minds. You’re basically soldering twisted pair to a tiny PCB. This is mechanically rubbish, of course, as the slightest force on the cable will lift the track. Therefore its usual to cover the whole joint in solidified gunk (technical term) to protect it. Rewiring SAS connectors is definitely not easy.&lt;/p&gt;
  
  &lt;p&gt;I’ve tried various ways of soldering to them, none of which were satisfactory or rewarding. One method is to clip the all bare wires you wish to solder using something like a bulldog clip so they’re at lined up horizontally and then press then adjust the clamp so they’re gently pressed to the tracks on the board, making final adjustments with a strong magnifying glass and a fine tweezers. You can then either solder them with a fine temperature-controlled iron, or have pre-coated the pads with solder paste and flash across it with an SMD rework station. I’d love to know how they’re actually manufactured – using a precision jig I assume.&lt;/p&gt;
  
  &lt;p&gt;The “easy” way is to avoid soldering the connectors at all; simply cut existing cables in half and join one to the other. I’ve used prototyping matrix board for this. Strip and twist the conductors, push them through a hole and solder. This keeps things compact but manageable. We’re dealing with twisted pair here, so maintain the twists as close as possible to the board – it actually works quite well.&lt;/p&gt;
  
  &lt;p&gt;However, I’ve now found a reasonably-priced source of the appropriate cable so I don’t do this any more. Contact me if you need some in the UK.&lt;/p&gt;
  
  &lt;p&gt;So all that remains is to plug your HBAs to the backplane, shove in some drives and you’re away. If you’re at this stage, it “just works”. The access lights for all the drives do their thing as they should. The only mystery is how you can get the ident LED to come on; this may be controlled by the PERC when it detects a failure using the so-called sideband channel, or it may be operated by the electronics on the backplane. It’s workings are, I’m afraid, something of a mystery still – it’s got too much electronics on board to be a completely passive backplane.&lt;/p&gt;
  
  &lt;p&gt;Plan B: SATA&lt;/p&gt;
  
  &lt;p&gt;If you plan to use only SATA drives, especially if you don’t intend using more than six, it makes little sense to bother with SAS at all. The Gigabyte motherboard comes with half a dozen perfectly good 3Gb SATA channels, and if you need more you can always put another controller in a PCIe slot, or even USB. The advantages are lower cost and you get to free up two PCIe slots for more interesting things.&lt;/p&gt;
  
  &lt;p&gt;The down-side is that you can’t use the SAS backplane, but you can still use the mounting bays.&lt;/p&gt;
  
  &lt;p&gt;Removing the backplane looks tricky, but it really isn’t when you look a bit closer. Take out the fans first (held in place by rubber blocks), undo a couple of screws and it just lifts and slides out. You can then slot and lock in the drives and connect the SATA connectors directly to the back of the drives. You could even slide them out again without opening the case, as long as the cable was long enough and you manually detached the cable it when it was withdrawn. And let’s face it – drives are likely to last for years so even with half a dozen it’s not that great a hardship to open the case occasionally.&lt;/p&gt;
  
  &lt;p&gt;Next comes power. The PSU has a special connector for the backplane and two standard SATA power plugs. You could split these three ways using an adapter, but if you have a lot of drives you might want to re-wire the cables going to the backplane plug. It can definitely power twelve drives.&lt;/p&gt;
  
  &lt;p&gt;And that’s almost all there is to it. Unfortunately the main fans are connected to the backplane, which you’ve just removed. You can power them from an adapter on the drive power cables, but there are unused fan connectors on the motherboard. I’m doing a bit more research on cooling options, but this approach has promising possibilities for noise reduction.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://euroquis.nl/bobulate/?p=1787" target="_blank" rel="nofollow noopener"&gt;Adriaan de Groot’s post FOSDEM blog post&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.manios.ca/blog/2018/01/my-first-freenas/" target="_blank" rel="nofollow noopener"&gt;My First FreeNAS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-fs/2018-March/025997.html" target="_blank" rel="nofollow noopener"&gt;smart(8) Call for Testing by Michael Dexter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2018 Travel Grant Application Now Open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://divelog.blue/linus_torvalds.html" target="_blank" rel="nofollow noopener"&gt;BSD Developer Kristaps Dzonsons interviews Linus Torvalds, about diving&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/michaeldexter/status/979236774667939840" target="_blank" rel="nofollow noopener"&gt;Twitter vote - The secret to a faster FreeBSD default build world...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tmate.io/" target="_blank" rel="nofollow noopener"&gt;tmate - Instant terminal sharing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;Tarsnap&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Vikash - &lt;a href="http://dpaste.com/05X35B1#wrap" target="_blank" rel="nofollow noopener"&gt;Getting a port added&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Chris Wells - &lt;a href="http://dpaste.com/05S7A6V#wrap" target="_blank" rel="nofollow noopener"&gt;Quarterly Ports Branch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/freebsd/freebsd-ci" target="_blank" rel="nofollow noopener"&gt;FreeBSD-CI configs on Github&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/Jenkins" target="_blank" rel="nofollow noopener"&gt;Jenkins on the FreeBSD Wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Gordon - &lt;a href="http://dpaste.com/0HSVFE7#wrap" target="_blank" rel="nofollow noopener"&gt;Centralised storage suggestions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>BSD,DragonflyBSD,freebsd,guide,howto,Interview,NetBSD,OpenBSD,trueos,tutorial</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>New ZFS features landing in FreeBSD, MAP_STACK for OpenBSD, how to write safer C code with Clang’s address sanitizer, Michael W. Lucas on sponsor gifts, TCP blackbox recorder, and Dell disk system hacking.</p>

<h2>Headlines</h2>

<h3>[A number of Upstream ZFS features landed in FreeBSD this week]</h3>

<ul>
<li><p><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=331711" target="_blank" rel="nofollow noopener">9188 increase size of dbuf cache to reduce indirect block decompression</a></p>

<blockquote>
  <p>With compressed ARC (6950) we use up to 25% of our CPU to decompress indirect blocks, under a workload of random cached reads. To reduce this decompression cost, we would like to increase the size of the dbuf cache so that more indirect blocks can be stored uncompressed.
  If we are caching entire large files of recordsize=8K, the indirect blocks use 1/64th as much memory as the data blocks (assuming they have the same compression ratio). We suggest making the dbuf cache be 1/32nd of all memory, so that in this scenario we should be able to keep all the indirect blocks decompressed in the dbuf cache. (We want it to be more than the 1/64th that the indirect blocks would use because we need to cache other stuff in the dbuf cache as well.)
  In real world workloads, this won't help as dramatically as the example above, but we think it's still worth it because the risk of decreasing performance is low. The potential negative performance impact is that we will be slightly reducing the size of the ARC (by ~3%).</p>
</blockquote></li>
<li><p><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=331701" target="_blank" rel="nofollow noopener">9166 zfs storage pool checkpoint</a></p>

<blockquote>
  <p>The idea of Storage Pool Checkpoint (aka zpool checkpoint) deals with exactly that.  It can be thought of as a “pool-wide snapshot” (or a variation of extreme rewind that doesn’t corrupt your data).  It remembers the entire state of the pool at the point that it was taken and the user can revert back to it later or discard it.  Its generic use case is an administrator that is about to perform a set of destructive actions to ZFS as part of a critical procedure.  She takes a checkpoint of the pool before performing the actions, then rewinds back to it if one of them fails or puts the pool into an unexpected state.  Otherwise, she discards it.  With the assumption that no one else is making modifications to ZFS, she basically wraps all these actions into a “high-level transaction”.</p>
</blockquote></li>
<li><p><a href="https://sdimitro.github.io/post/zpool-checkpoint/" target="_blank" rel="nofollow noopener">More information</a></p></li>
<li><p><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=331404" target="_blank" rel="nofollow noopener">8484 Implement aggregate sum and use for arc counters</a></p>

<blockquote>
  <p>In pursuit of improving performance on multi-core systems, we should implements fanned out counters and use them to improve the performance of some of the arc statistics. These stats are updated extremely frequently, and can consume a significant amount of CPU time.</p>
</blockquote></li>
<li><p>And a small bug fix authored by me:</p></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=331709" target="_blank" rel="nofollow noopener">9321 arc<em>loan</em>compressed<em>buf() can increment arc</em>loaned<em>bytes by the wrong value</em></a><em>


</em><blockquote><em>
  arc</em>loan<em>compressed</em>buf() increments arc<em>loaned</em>bytes by psize unconditionally In the case of zfs<em>compressed</em>arc<em>enabled=0, when the buf is returned via arc</em>return<em>buf(), if ARC</em>BUF<em>COMPRESSED(buf) is false, then arc</em>loaned<em>bytes is decremented by lsize, not psize.
  Switch to using arc</em>buf<em>size(buf), instead of psize, which will return psize or lsize, depending on the result of ARC</em>BUF_COMPRESSED(buf).</blockquote></li>
  </ul>
  <hr>


<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=152035796722258&amp;w=2" target="_blank" rel="nofollow noopener">MAP_STACK for OpenBSD</a></h3>



<blockquote>
  <p>Almost 2 decades ago we started work on W^X.  The concept was simple. Pages that are writable, should not be executable.  We applied this concept object by object, trying to seperate objects with different qualities to different pages. The first one we handled was the signal trampoline at the top of the stack.  We just kept making changes in the same vein.  Eventually W^X came to some of our kernel address spaces also.
  The fundamental concept is that an object should only have the
  permissions necessary, and any other operation should fault.  The only permission separations we have are kernel vs userland, and then read, write, and execute.
  How about we add another new permission!  This is not a hardware permission, but a software permission.  It is opportunistically enforced by the kernel.
  the permission is MAP<em>STACK.  If you want to use memory as a stack, you must mmap it with that flag bit.  The kernel does so automatically for the stack region of a process's stack.  Two other types of stack occur: thread stacks, and alternate signal stacks.  Those are handled in clever ways.
  When a system call happens, we check if the stack-pointer register points to such a page.  If it doesn't, the program is killed.  We have tightened the ABI.  You may no longer point your stack register at non-stack memory.  You'll be killed.  This checking code is MI, so it works for all platforms.
  Since page-permissions are generally done on page boundaries, there is caveat that thread and altstacks must now be page-sized and page-aligned, so that we can enforce the MAP</em>STACK attribute correctly.  It is possible that a few ports need some massaging to satisfy this condition, but we haven't found any which break yet.  A syslog_r has been added so that we can identify these failure cases. Also, the faulting cases are quite verbose for now, to help identify the programs we need to repair.</p>
</blockquote>

<hr>



**iXsystems**



<h3><a href="https://dev.to/loderunner/writing-safer-c-with-clang-address-sanitizer" target="_blank" rel="nofollow noopener">Writing Safer C with the Clang Address Sanitizer</a></h3>



<blockquote>
  <p>We wanted to improve our password strength algorithm, and decided to go for the industry-standard zxcvbn, from the people at Dropbox. Our web front-end would use the default Javascript library, and for mobile and desktop, we chose to use the C implementation as it was the lowest common denominator for all platforms.
  Bootstrapping all of this together was done pretty fast. I had toyed around with a few sample passwords so I decided to run it through the test suite we had for the previous password strength evaluator. The test generates a large number of random passwords according to different rules and expects the strength to be in a given range. But the test runner kept crashing with segmentation faults.
  It turns out the library has a lot of buffer overflow cases that are usually "harmless", but eventually crash your program when you run the evaluator function too much. I started fixing the cases I could see, but reading someone else's algorithms to track down tiny memory errors got old pretty fast. I needed a tool to help me.
  That's when I thought of Clang's Address Sanitizer.
  AddressSanitizer is a fast memory error detector. It consists of a compiler instrumentation module and a run-time library
  Let's try the sanitizer on a simple program. We'll allocate a buffer on the heap, copy each character of a string into it, and print it to standard output.
  + The site walks through a simple example which contains an error, it writes past the end of a buffer
  + The code works as expected, and nothing bad happens. It must be fine…
  + Then they compile it again with the address sanitizer actived
  So what can we gather from that pile of hex? Let's go through it line by line.
  AddressSanitizer found a heap buffer overflow at 0x60200000ef3d, a seemingly valid address (not NULL or any other clearly faulty value).
  + ASAN points directly to the line of code that is causing the problem
  We're writing outside of the heap in this instruction. And AddressSanitizer isn't having it.
  This is definitely one of my favorite indications. In addition to telling which line in the code failed and where in the memory the failure happened, you get a complete description of the closest allocated region in memory (which is probably the region you were trying to access).
  + They then walk through combining this with lldb, the Clang debugger, to actually interactively inspect the state of the problem when an invalid memory access happens
  Back to my practical case, how did I put the address sanitizer to good use? I simply ran the test suite, compiled with the sanitizer, with lldb. Sure enough, it stopped on every line that could cause a crash. It turns out there were many cases where zxcvbn-c wrote past the end of allocated buffers, on the heap and on the stack. I fixed those cases in the C library and ran the tests again. Not a segfault in sight!
  I've used memory tools in the past, but they were usually unwieldy, or put such a toll on performance that they were useless in any real-life case. Clang's address sanitizer turned out to be detailed, reliable, and surprisingly easy to use. I've heard of the miracles of Valgrind but macOS hardly supports it, making it a pain to use on my MacBook Pro.
  Coupled with Clang's static analyzer, AddressSanitizer is going to become a mandatory stop for evaluating code quality. It's also going to be the first tool I grab when facing confusing memory issues. There are many more case where I could use early failure and memory history to debug my code. For example, if a program crashes when accessing member of a deallocated object, we could easily trace the event that caused the deallocation, saving hours of adding and reading logs to retrace just what happened.</p>
</blockquote>

<hr>







<h2>News Roundup</h2>



<h3><a href="https://blather.michaelwlucas.com/archives/3131" target="_blank" rel="nofollow noopener">On sponsor gifts</a></h3>



<blockquote>
  <p>Note the little stack of customs forms off to the side. It’s like I’ve learned a lesson from standing at the post office counter filling out those stupid forms. Sponsors should get their books soon.</p>
  
  <p>This seems like an apropos moment to talk about what I do for print sponsors. I say I send them “a gift,” but what does that really mean? The obvious thing to ship them is a copy of the book I’ve written. Flat-out selling print books online has tax implications, though.</p>
  
  <p>Sponsors might have guessed that they’d get a copy of the book. But I shipped them the hardcover, which isn’t my usual practice.</p>
  
  <p>That’s because I send sponsors a gift. As it’s a gift, I get to choose what I send. I want to send them something nice, to encourage them to sponsor another book. It makes no sense for me to send a sponsor a Singing Wedgie-O-Gram. (Well, maybe a couple sponsors. You know who you are.)</p>
  
  <p>The poor bastards who bought into my scam–er, sponsored my untitled book–have no idea what’s coming. As of right now, their sensible guesses are woefully incomplete.</p>
  
  <p>Future books? They might get a copy of the book. They might get book plus something. They might just get the something. Folks who sponsor the jails book might get a cake with a file in it. Who knows?</p>
  
  <p>It’s a gift. It’s my job to make that gift worthwhile.</p>
  
  <p>And to amuse myself. Because otherwise, what’s the point?</p>
</blockquote>

<hr>





<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=331347" target="_blank" rel="nofollow noopener">TCP Blackbox Recorder</a></h3>

```
Add the "TCP Blackbox Recorder" which we discussed at the developer
summits at BSDCan and BSDCam in 2017.

The TCP Blackbox Recorder allows you to capture events on a TCP connection
in a ring buffer. It stores metadata with the event. It optionally stores
the TCP header associated with an event (if the event is associated with a
packet) and also optionally stores information on the sockets.

It supports setting a log ID on a TCP connection and using this to correlate
multiple connections that share a common log ID.

You can log connections in different modes. If you are doing a coordinated
test with a particular connection, you may tell the system to put it in
mode 4 (continuous dump). Or, if you just want to monitor for errors, you
can put it in mode 1 (ring buffer) and dump all the ring buffers associated
with the connection ID when we receive an error signal for that connection
ID. You can set a default mode that will be applied to a particular ratio
of incoming connections. You can also manually set a mode using a socket
option.

This commit includes only basic probes. rrs@ has added quite an abundance
of probes in his TCP development work. He plans to commit those soon.

There are user-space programs which we plan to commit as ports. These read
the data from the log device and output pcapng files, and then let you
analyze the data (and metadata) in the pcapng files.

Reviewed by:    gnn (previous version)
Obtained from:    Netflix, Inc.
Relnotes:    yes
Differential Revision:    https://reviews.freebsd.org/D11085
```



<hr>



**Digital Ocean**



<h3><a href="https://euroquis.nl/bobulate/?p=1812" target="_blank" rel="nofollow noopener">Outta the way, KDE4</a></h3>



<blockquote>
  <p>KDE4 has been rudely moved aside on FreeBSD. It still installs (use x11/kde4) and should update without a problem, but this is another step towards adding modern KDE (Plasma 5 and Applications) to the official FreeBSD Ports tree.
  This has taken a long time mostly for administrative reasons, getting all the bits lined up so that people sticking with KDE4 (which, right now, would be everyone using KDE from official ports and packages on FreeBSD) don’t end up with a broken desktop. We don’t want that. But now that everything Qt4 and kdelibs4-based has been moved aside by suffixing it with -kde4, we have the unsuffixed names free to indicate the latest-and-greatest from upstream.</p>
  
  <p>KDE4 users will see a lot of packages moving around and being renamed, but no functional changes. Curiously, the KDE4 desktop depends on Qt5 and KDE Frameworks 5 — and it has for quite some time already, because the Oxygen icons are shared with KDE Frameworks, but primarily because FileLight was updated to the modern KDE Applications version some time ago (the KDE4 version had some serious bugs, although I can not remember what they were). Now that the names are cleaned up, we could consider giving KDE4 users the buggy version back.</p>
  
  <p>From here on, we’ve got the following things lined up:</p>
</blockquote>

<ul>
<li>Qt 5.10 is being worked on, except for WebEngine (it would slow down an update way too much), because Plasma is going to want Qt 5.10 soon.</li>
<li>CMake 3.11 is in the -rc stage, so that is being lined up.</li>
<li>The kde5-import branch in KDE-FreeBSD’s copy of the FreeBSD ports tree (e.g. Area51) is being prepped and polished for a few big SVN commits that will add all the new bits.</li>
</ul>

<blockquote>
  <p>So we’ve been saying Real Soon Now ™ for years, but things are Realer Sooner Nower ™ now.</p>
</blockquote>

<hr>

<h3><a href="http://blog.frankleonhardt.com/2017/del-fs12-nv7-and-other-2u-server-e-g-c6100-disk-system-hacking/" target="_blank" rel="nofollow noopener">Dell FS12-NV7 and other 2U server (e.g. C6100) disk system hacking</a></h3>

<blockquote>
  <p>A while back I reviewed the Dell FS12-NV7 – a 2U rack server being sold cheap by all and sundry. It’s a powerful box, even by modern standards, but one of its big drawbacks is the disk system it comes with. But it needn’t be.</p>
  
  <p>There are two viable solutions, depending on what you want to do. You can make use of the SAS backplane, using SAS and/or SATA drives, or you can go for fewer SATA drives and free up one or more PCIe slots as Plan B. You probably have an FS12 because it looks good for building a drive array (or even FreeNAS) so I’ll deal with Plan A first.</p>
  
  <p>Like most Dell servers, this comes with a Dell PERC RAID SAS controller – a PERC6/i to be precise. This ‘I’ means it has internal connectors; the /E is the same but its sockets are external.</p>
  
  <p>The PERC connects to a twelve-slot backplane forming a drive array at the front of the box. More on the backplane later; it’s the PERCs you need to worry about.</p>
  
  <p>The PERC6 is actually an LSI Megaraid 1078 card, which is just the thing you need if you’re running an operating system like Windows that doesn’t support a volume manager, striping and other grown-up stuff. Or if your OS does have these features, but you just don’t trust it. If you are running such an OS you may as well stick to the PERC6, and good luck to you. If you’re using BSD (including FreeNAS), Solaris or a Linux distribution that handles disk arrays, read on. The PERC6 is a solution to a problem you probably don’t have, but in all other respects its a turkey. You really want a straightforward HBA (Host Bus Adapter) that allows your clever operating system to talk directly with the drives.</p>
  
  <p>Any SAS card based on the 1078 (such as the PERC6) is likely to have problems with drives larger than 2Tb. I’m not completely sure why, but I suspect it only applies to SATA. Unfortunately I don’t have any very large SAS drives to test this theory. A 2Tb limit isn’t really such a problem when you’re talking about a high performance array, as lots of small drives are a better option anyway. But it does matter if you’re building a very large datastore and don’t mind slower access and very significant resilvering times when you replace a drive. And for large datastores, very large SATA drives save you a whole lot of cash. The best capacity/cost ratio is for 5Gb SATA drives</p>
  
  <p>Some Dell PERCs can be re-flashed with LSI firmware and used as a normal HBA. Unfortunately the PERC6 isn’t one of them. I believe the PERC6/R can be, but those I’ve seen in a FS12 are just a bit too old. So the first thing you’ll need to do is dump them in the recycling or try and sell them on eBay.</p>
  
  <p>There are actually two PERC6 cards in most machine, and they each support eight SAS channels through two SFF-8484 connectors on each card. Given there are twelve drives slots, one of the PERCs is only half used. Sometimes they have a cable going off to a battery located near the fans. This is used in a desperate attempt to keep the data in the card’s cache safe in order to avoid write holes corrupting NTFS during a power failure, although the data on the on-drive caches won’t be so lucky. If you’re using a file system like that, make sure you have a UPS for the whole lot.</p>
  
  <p>But we’re going to put the PERCs out of our misery and replace them with some nice new LSI HBAs that will do our operating system’s bidding and let it talk to the drives as it knows best. But which to pick? First we need to know what we’re connecting.</p>
  
  <p>Moving to the front of the case there are twelve metal drive slots with a backplane behind. Dell makes machines with either backplanes or expanders. A backplane has a 1:1 SAS channel to drive connection; an expander takes one SAS channel and multiplexes it to (usually) four drives. You could always swap the blackplane with an expander, but I like the 1:1 nature of a backplane. It’s faster, especially if you’re configured as an array. And besides, we don’t want to spend more money than we need to, otherwise we wouldn’t be hot-rodding a cheap 2U server in the first place – expanders are expensive. Bizarrely, HBAs are cheap in comparison. So we need twelve channels of SAS that will connect to the sockets on the backplane.</p>
  
  <p>The HBA you will probably want to go with is an LSI, as these have great OS support. Other cards are available, but check that the drivers are also available. The obvious choice for SAS aficionados is the LSI 9211-8i, which has eight internal channels. This is based on an LSI 2000 series chip, the 2008, which is the de-facto standard. There’s also four-channel -4i version, so you could get your twelve channels using one of each – but the price difference is small these days, so you might as well go for two -8i cards. If you want cheaper there are 1068-based equivalent cards, and these work just fine at about half the price. They probably won’t work with larger disks, only operate at 3Gb and the original SAS standard. However, the 2000 series is only about £25 extra and gives you more options for the future. A good investment. Conversely, the latest 3000 series cards can do some extra stuff (particularly to do with active cables) but I can’t see any great advantage in paying megabucks for one unless you’re going really high-end – in which case the NV12 isn’t the box for you anyway. And you’d need some very fast drives and a faster backplane to see any speed advantage. And probably a new motherboard….</p>
  
  <p>Whether the 6Gb SAS2 of the 9211-8i is any use on the backplane, which was designed for 3Gb, I don’t know. If it matters that much to you you probably need to spend a lot more money. A drive array with a direct 3Gb to each drive is going to shift fast enough for most purposes.</p>
  
  <p>Once you have removed the PERCs and plugged in your modern-ish 9211 HBAs, your next problem is going to be the cable. Both the PERCs and the backplane have SFF-8484 multi-lane connectors, which you might not recognise. SAS is a point-to-point system, the same as SATA, and a multi-lane cable is simply four single cables in a bundle with one plug. (Newer versions of SAS have more). SFF-8484 multi-lane connectors are somewhat rare, (but unfortunately this doesn’t make them valuable if you were hoping to flog them on eBay). The world switched quickly to the SFF-8087 for multi-lane SAS. The signals are electrically the same, but the connector is not.</p>
  
  <p>Please generate and paste your ad code here. If left empty, the ad location will be highlighted on your blog pages with a reminder to enter your code. Mid-Post
  So there are two snags with this backplane. Firstly it’s designed to work with PERC controllers; secondly it has the old SFF-8484 connectors on the back, and any SAS cables you find are likely to have SFF-8087.</p>
  
  <p>First things first – there is actually a jumper on the backplane to tell it whether it’s talking to a PERC or a standard LSI HBA. All you need to do is find it and change it. Fortunately there are very few jumpers to choose from (i.e. two), and you know the link is already in the wrong place. So try them one at a time until it works. The one you want may be labelled J15, but I wouldn’t like to say this was the same on every variant.</p>
  
  <p>Second problem: the cable. You can get cables with an SFF-8087 on one end and an SFF-8484 on the other. These should work. But they’re usually rather expensive. If you want to make your own, it’s a PITA but at least you have the connectors already (assuming you didn’t bin the ones on the PERC cables).</p>
  
  <p>I don’t know what committee designed SAS cable connectors, but ease of construction wasn’t foremost in their collective minds. You’re basically soldering twisted pair to a tiny PCB. This is mechanically rubbish, of course, as the slightest force on the cable will lift the track. Therefore its usual to cover the whole joint in solidified gunk (technical term) to protect it. Rewiring SAS connectors is definitely not easy.</p>
  
  <p>I’ve tried various ways of soldering to them, none of which were satisfactory or rewarding. One method is to clip the all bare wires you wish to solder using something like a bulldog clip so they’re at lined up horizontally and then press then adjust the clamp so they’re gently pressed to the tracks on the board, making final adjustments with a strong magnifying glass and a fine tweezers. You can then either solder them with a fine temperature-controlled iron, or have pre-coated the pads with solder paste and flash across it with an SMD rework station. I’d love to know how they’re actually manufactured – using a precision jig I assume.</p>
  
  <p>The “easy” way is to avoid soldering the connectors at all; simply cut existing cables in half and join one to the other. I’ve used prototyping matrix board for this. Strip and twist the conductors, push them through a hole and solder. This keeps things compact but manageable. We’re dealing with twisted pair here, so maintain the twists as close as possible to the board – it actually works quite well.</p>
  
  <p>However, I’ve now found a reasonably-priced source of the appropriate cable so I don’t do this any more. Contact me if you need some in the UK.</p>
  
  <p>So all that remains is to plug your HBAs to the backplane, shove in some drives and you’re away. If you’re at this stage, it “just works”. The access lights for all the drives do their thing as they should. The only mystery is how you can get the ident LED to come on; this may be controlled by the PERC when it detects a failure using the so-called sideband channel, or it may be operated by the electronics on the backplane. It’s workings are, I’m afraid, something of a mystery still – it’s got too much electronics on board to be a completely passive backplane.</p>
  
  <p>Plan B: SATA</p>
  
  <p>If you plan to use only SATA drives, especially if you don’t intend using more than six, it makes little sense to bother with SAS at all. The Gigabyte motherboard comes with half a dozen perfectly good 3Gb SATA channels, and if you need more you can always put another controller in a PCIe slot, or even USB. The advantages are lower cost and you get to free up two PCIe slots for more interesting things.</p>
  
  <p>The down-side is that you can’t use the SAS backplane, but you can still use the mounting bays.</p>
  
  <p>Removing the backplane looks tricky, but it really isn’t when you look a bit closer. Take out the fans first (held in place by rubber blocks), undo a couple of screws and it just lifts and slides out. You can then slot and lock in the drives and connect the SATA connectors directly to the back of the drives. You could even slide them out again without opening the case, as long as the cable was long enough and you manually detached the cable it when it was withdrawn. And let’s face it – drives are likely to last for years so even with half a dozen it’s not that great a hardship to open the case occasionally.</p>
  
  <p>Next comes power. The PSU has a special connector for the backplane and two standard SATA power plugs. You could split these three ways using an adapter, but if you have a lot of drives you might want to re-wire the cables going to the backplane plug. It can definitely power twelve drives.</p>
  
  <p>And that’s almost all there is to it. Unfortunately the main fans are connected to the backplane, which you’ve just removed. You can power them from an adapter on the drive power cables, but there are unused fan connectors on the motherboard. I’m doing a bit more research on cooling options, but this approach has promising possibilities for noise reduction.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://euroquis.nl/bobulate/?p=1787" target="_blank" rel="nofollow noopener">Adriaan de Groot’s post FOSDEM blog post</a></li>
<li><a href="https://www.manios.ca/blog/2018/01/my-first-freenas/" target="_blank" rel="nofollow noopener">My First FreeNAS</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-fs/2018-March/025997.html" target="_blank" rel="nofollow noopener">smart(8) Call for Testing by Michael Dexter</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">BSDCan 2018 Travel Grant Application Now Open</a></li>
<li><a href="https://divelog.blue/linus_torvalds.html" target="_blank" rel="nofollow noopener">BSD Developer Kristaps Dzonsons interviews Linus Torvalds, about diving</a></li>
<li><a href="https://twitter.com/michaeldexter/status/979236774667939840" target="_blank" rel="nofollow noopener">Twitter vote - The secret to a faster FreeBSD default build world...</a></li>
<li><a href="https://tmate.io/" target="_blank" rel="nofollow noopener">tmate - Instant terminal sharing</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<h2>Feedback/Questions</h2>

<ul>
<li>Vikash - <a href="http://dpaste.com/05X35B1#wrap" target="_blank" rel="nofollow noopener">Getting a port added</a></li>
<li>Chris Wells - <a href="http://dpaste.com/05S7A6V#wrap" target="_blank" rel="nofollow noopener">Quarterly Ports Branch</a></li>
<li><a href="https://github.com/freebsd/freebsd-ci" target="_blank" rel="nofollow noopener">FreeBSD-CI configs on Github</a></li>
<li><a href="https://wiki.freebsd.org/Jenkins" target="_blank" rel="nofollow noopener">Jenkins on the FreeBSD Wiki</a></li>
<li>Gordon - <a href="http://dpaste.com/0HSVFE7#wrap" target="_blank" rel="nofollow noopener">Centralised storage suggestions</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>New ZFS features landing in FreeBSD, MAP_STACK for OpenBSD, how to write safer C code with Clang’s address sanitizer, Michael W. Lucas on sponsor gifts, TCP blackbox recorder, and Dell disk system hacking.</p>

<h2>Headlines</h2>

<h3>[A number of Upstream ZFS features landed in FreeBSD this week]</h3>

<ul>
<li><p><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=331711" target="_blank" rel="nofollow noopener">9188 increase size of dbuf cache to reduce indirect block decompression</a></p>

<blockquote>
  <p>With compressed ARC (6950) we use up to 25% of our CPU to decompress indirect blocks, under a workload of random cached reads. To reduce this decompression cost, we would like to increase the size of the dbuf cache so that more indirect blocks can be stored uncompressed.
  If we are caching entire large files of recordsize=8K, the indirect blocks use 1/64th as much memory as the data blocks (assuming they have the same compression ratio). We suggest making the dbuf cache be 1/32nd of all memory, so that in this scenario we should be able to keep all the indirect blocks decompressed in the dbuf cache. (We want it to be more than the 1/64th that the indirect blocks would use because we need to cache other stuff in the dbuf cache as well.)
  In real world workloads, this won't help as dramatically as the example above, but we think it's still worth it because the risk of decreasing performance is low. The potential negative performance impact is that we will be slightly reducing the size of the ARC (by ~3%).</p>
</blockquote></li>
<li><p><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=331701" target="_blank" rel="nofollow noopener">9166 zfs storage pool checkpoint</a></p>

<blockquote>
  <p>The idea of Storage Pool Checkpoint (aka zpool checkpoint) deals with exactly that.  It can be thought of as a “pool-wide snapshot” (or a variation of extreme rewind that doesn’t corrupt your data).  It remembers the entire state of the pool at the point that it was taken and the user can revert back to it later or discard it.  Its generic use case is an administrator that is about to perform a set of destructive actions to ZFS as part of a critical procedure.  She takes a checkpoint of the pool before performing the actions, then rewinds back to it if one of them fails or puts the pool into an unexpected state.  Otherwise, she discards it.  With the assumption that no one else is making modifications to ZFS, she basically wraps all these actions into a “high-level transaction”.</p>
</blockquote></li>
<li><p><a href="https://sdimitro.github.io/post/zpool-checkpoint/" target="_blank" rel="nofollow noopener">More information</a></p></li>
<li><p><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=331404" target="_blank" rel="nofollow noopener">8484 Implement aggregate sum and use for arc counters</a></p>

<blockquote>
  <p>In pursuit of improving performance on multi-core systems, we should implements fanned out counters and use them to improve the performance of some of the arc statistics. These stats are updated extremely frequently, and can consume a significant amount of CPU time.</p>
</blockquote></li>
<li><p>And a small bug fix authored by me:</p></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=331709" target="_blank" rel="nofollow noopener">9321 arc<em>loan</em>compressed<em>buf() can increment arc</em>loaned<em>bytes by the wrong value</em></a><em>


</em><blockquote><em>
  arc</em>loan<em>compressed</em>buf() increments arc<em>loaned</em>bytes by psize unconditionally In the case of zfs<em>compressed</em>arc<em>enabled=0, when the buf is returned via arc</em>return<em>buf(), if ARC</em>BUF<em>COMPRESSED(buf) is false, then arc</em>loaned<em>bytes is decremented by lsize, not psize.
  Switch to using arc</em>buf<em>size(buf), instead of psize, which will return psize or lsize, depending on the result of ARC</em>BUF_COMPRESSED(buf).</blockquote></li>
  </ul>
  <hr>


<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=152035796722258&amp;w=2" target="_blank" rel="nofollow noopener">MAP_STACK for OpenBSD</a></h3>



<blockquote>
  <p>Almost 2 decades ago we started work on W^X.  The concept was simple. Pages that are writable, should not be executable.  We applied this concept object by object, trying to seperate objects with different qualities to different pages. The first one we handled was the signal trampoline at the top of the stack.  We just kept making changes in the same vein.  Eventually W^X came to some of our kernel address spaces also.
  The fundamental concept is that an object should only have the
  permissions necessary, and any other operation should fault.  The only permission separations we have are kernel vs userland, and then read, write, and execute.
  How about we add another new permission!  This is not a hardware permission, but a software permission.  It is opportunistically enforced by the kernel.
  the permission is MAP<em>STACK.  If you want to use memory as a stack, you must mmap it with that flag bit.  The kernel does so automatically for the stack region of a process's stack.  Two other types of stack occur: thread stacks, and alternate signal stacks.  Those are handled in clever ways.
  When a system call happens, we check if the stack-pointer register points to such a page.  If it doesn't, the program is killed.  We have tightened the ABI.  You may no longer point your stack register at non-stack memory.  You'll be killed.  This checking code is MI, so it works for all platforms.
  Since page-permissions are generally done on page boundaries, there is caveat that thread and altstacks must now be page-sized and page-aligned, so that we can enforce the MAP</em>STACK attribute correctly.  It is possible that a few ports need some massaging to satisfy this condition, but we haven't found any which break yet.  A syslog_r has been added so that we can identify these failure cases. Also, the faulting cases are quite verbose for now, to help identify the programs we need to repair.</p>
</blockquote>

<hr>



**iXsystems**



<h3><a href="https://dev.to/loderunner/writing-safer-c-with-clang-address-sanitizer" target="_blank" rel="nofollow noopener">Writing Safer C with the Clang Address Sanitizer</a></h3>



<blockquote>
  <p>We wanted to improve our password strength algorithm, and decided to go for the industry-standard zxcvbn, from the people at Dropbox. Our web front-end would use the default Javascript library, and for mobile and desktop, we chose to use the C implementation as it was the lowest common denominator for all platforms.
  Bootstrapping all of this together was done pretty fast. I had toyed around with a few sample passwords so I decided to run it through the test suite we had for the previous password strength evaluator. The test generates a large number of random passwords according to different rules and expects the strength to be in a given range. But the test runner kept crashing with segmentation faults.
  It turns out the library has a lot of buffer overflow cases that are usually "harmless", but eventually crash your program when you run the evaluator function too much. I started fixing the cases I could see, but reading someone else's algorithms to track down tiny memory errors got old pretty fast. I needed a tool to help me.
  That's when I thought of Clang's Address Sanitizer.
  AddressSanitizer is a fast memory error detector. It consists of a compiler instrumentation module and a run-time library
  Let's try the sanitizer on a simple program. We'll allocate a buffer on the heap, copy each character of a string into it, and print it to standard output.
  + The site walks through a simple example which contains an error, it writes past the end of a buffer
  + The code works as expected, and nothing bad happens. It must be fine…
  + Then they compile it again with the address sanitizer actived
  So what can we gather from that pile of hex? Let's go through it line by line.
  AddressSanitizer found a heap buffer overflow at 0x60200000ef3d, a seemingly valid address (not NULL or any other clearly faulty value).
  + ASAN points directly to the line of code that is causing the problem
  We're writing outside of the heap in this instruction. And AddressSanitizer isn't having it.
  This is definitely one of my favorite indications. In addition to telling which line in the code failed and where in the memory the failure happened, you get a complete description of the closest allocated region in memory (which is probably the region you were trying to access).
  + They then walk through combining this with lldb, the Clang debugger, to actually interactively inspect the state of the problem when an invalid memory access happens
  Back to my practical case, how did I put the address sanitizer to good use? I simply ran the test suite, compiled with the sanitizer, with lldb. Sure enough, it stopped on every line that could cause a crash. It turns out there were many cases where zxcvbn-c wrote past the end of allocated buffers, on the heap and on the stack. I fixed those cases in the C library and ran the tests again. Not a segfault in sight!
  I've used memory tools in the past, but they were usually unwieldy, or put such a toll on performance that they were useless in any real-life case. Clang's address sanitizer turned out to be detailed, reliable, and surprisingly easy to use. I've heard of the miracles of Valgrind but macOS hardly supports it, making it a pain to use on my MacBook Pro.
  Coupled with Clang's static analyzer, AddressSanitizer is going to become a mandatory stop for evaluating code quality. It's also going to be the first tool I grab when facing confusing memory issues. There are many more case where I could use early failure and memory history to debug my code. For example, if a program crashes when accessing member of a deallocated object, we could easily trace the event that caused the deallocation, saving hours of adding and reading logs to retrace just what happened.</p>
</blockquote>

<hr>







<h2>News Roundup</h2>



<h3><a href="https://blather.michaelwlucas.com/archives/3131" target="_blank" rel="nofollow noopener">On sponsor gifts</a></h3>



<blockquote>
  <p>Note the little stack of customs forms off to the side. It’s like I’ve learned a lesson from standing at the post office counter filling out those stupid forms. Sponsors should get their books soon.</p>
  
  <p>This seems like an apropos moment to talk about what I do for print sponsors. I say I send them “a gift,” but what does that really mean? The obvious thing to ship them is a copy of the book I’ve written. Flat-out selling print books online has tax implications, though.</p>
  
  <p>Sponsors might have guessed that they’d get a copy of the book. But I shipped them the hardcover, which isn’t my usual practice.</p>
  
  <p>That’s because I send sponsors a gift. As it’s a gift, I get to choose what I send. I want to send them something nice, to encourage them to sponsor another book. It makes no sense for me to send a sponsor a Singing Wedgie-O-Gram. (Well, maybe a couple sponsors. You know who you are.)</p>
  
  <p>The poor bastards who bought into my scam–er, sponsored my untitled book–have no idea what’s coming. As of right now, their sensible guesses are woefully incomplete.</p>
  
  <p>Future books? They might get a copy of the book. They might get book plus something. They might just get the something. Folks who sponsor the jails book might get a cake with a file in it. Who knows?</p>
  
  <p>It’s a gift. It’s my job to make that gift worthwhile.</p>
  
  <p>And to amuse myself. Because otherwise, what’s the point?</p>
</blockquote>

<hr>





<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=331347" target="_blank" rel="nofollow noopener">TCP Blackbox Recorder</a></h3>

```
Add the "TCP Blackbox Recorder" which we discussed at the developer
summits at BSDCan and BSDCam in 2017.

The TCP Blackbox Recorder allows you to capture events on a TCP connection
in a ring buffer. It stores metadata with the event. It optionally stores
the TCP header associated with an event (if the event is associated with a
packet) and also optionally stores information on the sockets.

It supports setting a log ID on a TCP connection and using this to correlate
multiple connections that share a common log ID.

You can log connections in different modes. If you are doing a coordinated
test with a particular connection, you may tell the system to put it in
mode 4 (continuous dump). Or, if you just want to monitor for errors, you
can put it in mode 1 (ring buffer) and dump all the ring buffers associated
with the connection ID when we receive an error signal for that connection
ID. You can set a default mode that will be applied to a particular ratio
of incoming connections. You can also manually set a mode using a socket
option.

This commit includes only basic probes. rrs@ has added quite an abundance
of probes in his TCP development work. He plans to commit those soon.

There are user-space programs which we plan to commit as ports. These read
the data from the log device and output pcapng files, and then let you
analyze the data (and metadata) in the pcapng files.

Reviewed by:    gnn (previous version)
Obtained from:    Netflix, Inc.
Relnotes:    yes
Differential Revision:    https://reviews.freebsd.org/D11085
```



<hr>



**Digital Ocean**



<h3><a href="https://euroquis.nl/bobulate/?p=1812" target="_blank" rel="nofollow noopener">Outta the way, KDE4</a></h3>



<blockquote>
  <p>KDE4 has been rudely moved aside on FreeBSD. It still installs (use x11/kde4) and should update without a problem, but this is another step towards adding modern KDE (Plasma 5 and Applications) to the official FreeBSD Ports tree.
  This has taken a long time mostly for administrative reasons, getting all the bits lined up so that people sticking with KDE4 (which, right now, would be everyone using KDE from official ports and packages on FreeBSD) don’t end up with a broken desktop. We don’t want that. But now that everything Qt4 and kdelibs4-based has been moved aside by suffixing it with -kde4, we have the unsuffixed names free to indicate the latest-and-greatest from upstream.</p>
  
  <p>KDE4 users will see a lot of packages moving around and being renamed, but no functional changes. Curiously, the KDE4 desktop depends on Qt5 and KDE Frameworks 5 — and it has for quite some time already, because the Oxygen icons are shared with KDE Frameworks, but primarily because FileLight was updated to the modern KDE Applications version some time ago (the KDE4 version had some serious bugs, although I can not remember what they were). Now that the names are cleaned up, we could consider giving KDE4 users the buggy version back.</p>
  
  <p>From here on, we’ve got the following things lined up:</p>
</blockquote>

<ul>
<li>Qt 5.10 is being worked on, except for WebEngine (it would slow down an update way too much), because Plasma is going to want Qt 5.10 soon.</li>
<li>CMake 3.11 is in the -rc stage, so that is being lined up.</li>
<li>The kde5-import branch in KDE-FreeBSD’s copy of the FreeBSD ports tree (e.g. Area51) is being prepped and polished for a few big SVN commits that will add all the new bits.</li>
</ul>

<blockquote>
  <p>So we’ve been saying Real Soon Now ™ for years, but things are Realer Sooner Nower ™ now.</p>
</blockquote>

<hr>

<h3><a href="http://blog.frankleonhardt.com/2017/del-fs12-nv7-and-other-2u-server-e-g-c6100-disk-system-hacking/" target="_blank" rel="nofollow noopener">Dell FS12-NV7 and other 2U server (e.g. C6100) disk system hacking</a></h3>

<blockquote>
  <p>A while back I reviewed the Dell FS12-NV7 – a 2U rack server being sold cheap by all and sundry. It’s a powerful box, even by modern standards, but one of its big drawbacks is the disk system it comes with. But it needn’t be.</p>
  
  <p>There are two viable solutions, depending on what you want to do. You can make use of the SAS backplane, using SAS and/or SATA drives, or you can go for fewer SATA drives and free up one or more PCIe slots as Plan B. You probably have an FS12 because it looks good for building a drive array (or even FreeNAS) so I’ll deal with Plan A first.</p>
  
  <p>Like most Dell servers, this comes with a Dell PERC RAID SAS controller – a PERC6/i to be precise. This ‘I’ means it has internal connectors; the /E is the same but its sockets are external.</p>
  
  <p>The PERC connects to a twelve-slot backplane forming a drive array at the front of the box. More on the backplane later; it’s the PERCs you need to worry about.</p>
  
  <p>The PERC6 is actually an LSI Megaraid 1078 card, which is just the thing you need if you’re running an operating system like Windows that doesn’t support a volume manager, striping and other grown-up stuff. Or if your OS does have these features, but you just don’t trust it. If you are running such an OS you may as well stick to the PERC6, and good luck to you. If you’re using BSD (including FreeNAS), Solaris or a Linux distribution that handles disk arrays, read on. The PERC6 is a solution to a problem you probably don’t have, but in all other respects its a turkey. You really want a straightforward HBA (Host Bus Adapter) that allows your clever operating system to talk directly with the drives.</p>
  
  <p>Any SAS card based on the 1078 (such as the PERC6) is likely to have problems with drives larger than 2Tb. I’m not completely sure why, but I suspect it only applies to SATA. Unfortunately I don’t have any very large SAS drives to test this theory. A 2Tb limit isn’t really such a problem when you’re talking about a high performance array, as lots of small drives are a better option anyway. But it does matter if you’re building a very large datastore and don’t mind slower access and very significant resilvering times when you replace a drive. And for large datastores, very large SATA drives save you a whole lot of cash. The best capacity/cost ratio is for 5Gb SATA drives</p>
  
  <p>Some Dell PERCs can be re-flashed with LSI firmware and used as a normal HBA. Unfortunately the PERC6 isn’t one of them. I believe the PERC6/R can be, but those I’ve seen in a FS12 are just a bit too old. So the first thing you’ll need to do is dump them in the recycling or try and sell them on eBay.</p>
  
  <p>There are actually two PERC6 cards in most machine, and they each support eight SAS channels through two SFF-8484 connectors on each card. Given there are twelve drives slots, one of the PERCs is only half used. Sometimes they have a cable going off to a battery located near the fans. This is used in a desperate attempt to keep the data in the card’s cache safe in order to avoid write holes corrupting NTFS during a power failure, although the data on the on-drive caches won’t be so lucky. If you’re using a file system like that, make sure you have a UPS for the whole lot.</p>
  
  <p>But we’re going to put the PERCs out of our misery and replace them with some nice new LSI HBAs that will do our operating system’s bidding and let it talk to the drives as it knows best. But which to pick? First we need to know what we’re connecting.</p>
  
  <p>Moving to the front of the case there are twelve metal drive slots with a backplane behind. Dell makes machines with either backplanes or expanders. A backplane has a 1:1 SAS channel to drive connection; an expander takes one SAS channel and multiplexes it to (usually) four drives. You could always swap the blackplane with an expander, but I like the 1:1 nature of a backplane. It’s faster, especially if you’re configured as an array. And besides, we don’t want to spend more money than we need to, otherwise we wouldn’t be hot-rodding a cheap 2U server in the first place – expanders are expensive. Bizarrely, HBAs are cheap in comparison. So we need twelve channels of SAS that will connect to the sockets on the backplane.</p>
  
  <p>The HBA you will probably want to go with is an LSI, as these have great OS support. Other cards are available, but check that the drivers are also available. The obvious choice for SAS aficionados is the LSI 9211-8i, which has eight internal channels. This is based on an LSI 2000 series chip, the 2008, which is the de-facto standard. There’s also four-channel -4i version, so you could get your twelve channels using one of each – but the price difference is small these days, so you might as well go for two -8i cards. If you want cheaper there are 1068-based equivalent cards, and these work just fine at about half the price. They probably won’t work with larger disks, only operate at 3Gb and the original SAS standard. However, the 2000 series is only about £25 extra and gives you more options for the future. A good investment. Conversely, the latest 3000 series cards can do some extra stuff (particularly to do with active cables) but I can’t see any great advantage in paying megabucks for one unless you’re going really high-end – in which case the NV12 isn’t the box for you anyway. And you’d need some very fast drives and a faster backplane to see any speed advantage. And probably a new motherboard….</p>
  
  <p>Whether the 6Gb SAS2 of the 9211-8i is any use on the backplane, which was designed for 3Gb, I don’t know. If it matters that much to you you probably need to spend a lot more money. A drive array with a direct 3Gb to each drive is going to shift fast enough for most purposes.</p>
  
  <p>Once you have removed the PERCs and plugged in your modern-ish 9211 HBAs, your next problem is going to be the cable. Both the PERCs and the backplane have SFF-8484 multi-lane connectors, which you might not recognise. SAS is a point-to-point system, the same as SATA, and a multi-lane cable is simply four single cables in a bundle with one plug. (Newer versions of SAS have more). SFF-8484 multi-lane connectors are somewhat rare, (but unfortunately this doesn’t make them valuable if you were hoping to flog them on eBay). The world switched quickly to the SFF-8087 for multi-lane SAS. The signals are electrically the same, but the connector is not.</p>
  
  <p>Please generate and paste your ad code here. If left empty, the ad location will be highlighted on your blog pages with a reminder to enter your code. Mid-Post
  So there are two snags with this backplane. Firstly it’s designed to work with PERC controllers; secondly it has the old SFF-8484 connectors on the back, and any SAS cables you find are likely to have SFF-8087.</p>
  
  <p>First things first – there is actually a jumper on the backplane to tell it whether it’s talking to a PERC or a standard LSI HBA. All you need to do is find it and change it. Fortunately there are very few jumpers to choose from (i.e. two), and you know the link is already in the wrong place. So try them one at a time until it works. The one you want may be labelled J15, but I wouldn’t like to say this was the same on every variant.</p>
  
  <p>Second problem: the cable. You can get cables with an SFF-8087 on one end and an SFF-8484 on the other. These should work. But they’re usually rather expensive. If you want to make your own, it’s a PITA but at least you have the connectors already (assuming you didn’t bin the ones on the PERC cables).</p>
  
  <p>I don’t know what committee designed SAS cable connectors, but ease of construction wasn’t foremost in their collective minds. You’re basically soldering twisted pair to a tiny PCB. This is mechanically rubbish, of course, as the slightest force on the cable will lift the track. Therefore its usual to cover the whole joint in solidified gunk (technical term) to protect it. Rewiring SAS connectors is definitely not easy.</p>
  
  <p>I’ve tried various ways of soldering to them, none of which were satisfactory or rewarding. One method is to clip the all bare wires you wish to solder using something like a bulldog clip so they’re at lined up horizontally and then press then adjust the clamp so they’re gently pressed to the tracks on the board, making final adjustments with a strong magnifying glass and a fine tweezers. You can then either solder them with a fine temperature-controlled iron, or have pre-coated the pads with solder paste and flash across it with an SMD rework station. I’d love to know how they’re actually manufactured – using a precision jig I assume.</p>
  
  <p>The “easy” way is to avoid soldering the connectors at all; simply cut existing cables in half and join one to the other. I’ve used prototyping matrix board for this. Strip and twist the conductors, push them through a hole and solder. This keeps things compact but manageable. We’re dealing with twisted pair here, so maintain the twists as close as possible to the board – it actually works quite well.</p>
  
  <p>However, I’ve now found a reasonably-priced source of the appropriate cable so I don’t do this any more. Contact me if you need some in the UK.</p>
  
  <p>So all that remains is to plug your HBAs to the backplane, shove in some drives and you’re away. If you’re at this stage, it “just works”. The access lights for all the drives do their thing as they should. The only mystery is how you can get the ident LED to come on; this may be controlled by the PERC when it detects a failure using the so-called sideband channel, or it may be operated by the electronics on the backplane. It’s workings are, I’m afraid, something of a mystery still – it’s got too much electronics on board to be a completely passive backplane.</p>
  
  <p>Plan B: SATA</p>
  
  <p>If you plan to use only SATA drives, especially if you don’t intend using more than six, it makes little sense to bother with SAS at all. The Gigabyte motherboard comes with half a dozen perfectly good 3Gb SATA channels, and if you need more you can always put another controller in a PCIe slot, or even USB. The advantages are lower cost and you get to free up two PCIe slots for more interesting things.</p>
  
  <p>The down-side is that you can’t use the SAS backplane, but you can still use the mounting bays.</p>
  
  <p>Removing the backplane looks tricky, but it really isn’t when you look a bit closer. Take out the fans first (held in place by rubber blocks), undo a couple of screws and it just lifts and slides out. You can then slot and lock in the drives and connect the SATA connectors directly to the back of the drives. You could even slide them out again without opening the case, as long as the cable was long enough and you manually detached the cable it when it was withdrawn. And let’s face it – drives are likely to last for years so even with half a dozen it’s not that great a hardship to open the case occasionally.</p>
  
  <p>Next comes power. The PSU has a special connector for the backplane and two standard SATA power plugs. You could split these three ways using an adapter, but if you have a lot of drives you might want to re-wire the cables going to the backplane plug. It can definitely power twelve drives.</p>
  
  <p>And that’s almost all there is to it. Unfortunately the main fans are connected to the backplane, which you’ve just removed. You can power them from an adapter on the drive power cables, but there are unused fan connectors on the motherboard. I’m doing a bit more research on cooling options, but this approach has promising possibilities for noise reduction.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://euroquis.nl/bobulate/?p=1787" target="_blank" rel="nofollow noopener">Adriaan de Groot’s post FOSDEM blog post</a></li>
<li><a href="https://www.manios.ca/blog/2018/01/my-first-freenas/" target="_blank" rel="nofollow noopener">My First FreeNAS</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-fs/2018-March/025997.html" target="_blank" rel="nofollow noopener">smart(8) Call for Testing by Michael Dexter</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">BSDCan 2018 Travel Grant Application Now Open</a></li>
<li><a href="https://divelog.blue/linus_torvalds.html" target="_blank" rel="nofollow noopener">BSD Developer Kristaps Dzonsons interviews Linus Torvalds, about diving</a></li>
<li><a href="https://twitter.com/michaeldexter/status/979236774667939840" target="_blank" rel="nofollow noopener">Twitter vote - The secret to a faster FreeBSD default build world...</a></li>
<li><a href="https://tmate.io/" target="_blank" rel="nofollow noopener">tmate - Instant terminal sharing</a></li>
</ul>

<hr>

<p><strong>Tarsnap</strong></p>

<h2>Feedback/Questions</h2>

<ul>
<li>Vikash - <a href="http://dpaste.com/05X35B1#wrap" target="_blank" rel="nofollow noopener">Getting a port added</a></li>
<li>Chris Wells - <a href="http://dpaste.com/05S7A6V#wrap" target="_blank" rel="nofollow noopener">Quarterly Ports Branch</a></li>
<li><a href="https://github.com/freebsd/freebsd-ci" target="_blank" rel="nofollow noopener">FreeBSD-CI configs on Github</a></li>
<li><a href="https://wiki.freebsd.org/Jenkins" target="_blank" rel="nofollow noopener">Jenkins on the FreeBSD Wiki</a></li>
<li>Gordon - <a href="http://dpaste.com/0HSVFE7#wrap" target="_blank" rel="nofollow noopener">Centralised storage suggestions</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>Episode 239: The Return To ptrace | BSD Now 239</title>
  <link>https://www.bsdnow.tv/239</link>
  <guid isPermaLink="false">http://feed.jupiter.zone/bsdnow#entry-1668</guid>
  <pubDate>Thu, 29 Mar 2018 11:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/17c4fe12-c4ee-47a7-8d14-1a73407e86f4.mp3" length="44655271" type="audio/mp3"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD firewalling Windows 10, NetBSD’s return to ptrace, TCP Alternative Backoff, the BSD Poetic license, and AsiaBSDcon 2018 videos available.</itunes:subtitle>
  <itunes:duration>1:32:43</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>&lt;p&gt;OpenBSD firewalling Windows 10, NetBSD’s return to ptrace, TCP Alternative Backoff, the BSD Poetic license, and AsiaBSDcon 2018 videos available.&lt;/p&gt;

&lt;h3&gt;RSS Feeds:&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://feeds.feedburner.com/BsdNowMp3" target="_blank" rel="nofollow noopener"&gt;MP3 Feed&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt; &lt;a href="https://itunes.apple.com/us/podcast/bsd-now-mp3/id701045710?mt=2" target="_blank" rel="nofollow noopener"&gt;iTunes Feed&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt; &lt;a href="http://feeds.feedburner.com/BsdNowHd" target="_blank" rel="nofollow noopener"&gt;HD Vid Feed&lt;/a&gt; &lt;strong&gt;|&lt;/strong&gt; &lt;a href="http://bitlove.org/jupiterbroadcasting/bsdnowhd/feed" target="_blank" rel="nofollow noopener"&gt;HD Torrent Feed&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a href="http://www.patreon.com/jupitersignal" target="_blank" rel="nofollow noopener"&gt;Become a supporter on Patreon&lt;/a&gt;:&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://www.patreon.com/jupitersignal" target="_blank" rel="nofollow noopener"&gt;&lt;img src="http://i.imgur.com/2ioAf3Q.png" alt="Patreon"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;- Show Notes: -&lt;/h3&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.ibm.com/developerworks/community/blogs/karsten/entry/Preventing_Windows_10_and_untrusted_software_from_having_full_access_to_the_internet?lang=en" target="_blank" rel="nofollow noopener"&gt;Preventing Windows 10 and untrusted software from having full access to the internet using OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Whilst setting up one of my development laptops to port some software to Windows I noticed Windows 10 doing crazy things like installing or updating apps and games by default after initial setup. The one I noticed in particular was Candy Crush Soda Saga which for those who don't know of it is some cheesy little puzzle game originally for consumer devices. I honestly did not want software like this near to a development machine. It has also been reported that Windows 10 now also updates core system software without notifying the user. Surely this destroys any vaguely deterministic behaviour, in my opinion making Windows 10 by default almost useless for development testbeds.&lt;/p&gt;
  
  &lt;p&gt;Deciding instead to start from scratch but this time to set the inbuilt Windows Firewall to be very restrictive and only allow a few select programs to communicate. In this case all I really needed to be online was Firefox, Subversion and Putty. To my amusement (and astonishment) I found out that the Windows firewall could be modified to give access very easily by programs during installation (usually because this task needs to be done with admin privileges). It also seems that Windows store Apps can change the windows firewall settings at any point. One way to get around this issue could be to install a 3rd party firewall that most software will not have knowledge about and thus not attempt to break through. However the only decent firewall I have used was Sygate Pro which unfortunately is no longer supported by recent operating systems. The last supported versions was 2003, XP and 2000. In short, I avoid 3rd party firewalls.&lt;/p&gt;
  
  &lt;p&gt;Instead I decided to trap Windows 10 (and all of it's rogue updaters) behind a virtual machine running OpenBSD. This effectively provided me with a full blown firewall appliance. From here I could then allow specific software I trusted through the firewall (via a proxy) in a safe, controlled and deterministic manner. For other interested developers (and security conscious users) and for my own reference, I have listed the steps taken here:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;1) First and foremost disable the Windows DHCP service - this is so no IP can be obtained on any interface. This effectively stops any communication with any network on the host system. This can be done by running services.msc with admin privileges and stopping and disabling the service called DHCP Client.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;2) Install or enable your favorite virtualization software - I have tested this with both VirtualBox and Hyper-V. Note that on non-server versions of Windows, in order to get Hyper-V working, your processor also needs to support SLAT which is daft so to avoid faffing about, I recommend using VirtualBox to get round this seemingly arbitrary restriction.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;3) Install OpenBSD on the VM - Note, if you decide to use Hyper-V, its hardware support isn't 100% perfect to run OpenBSD and you will need to disable a couple of things in the kernel. At the initial boot prompt, run the following commands.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;
config -e -o /bsd /bsd
disable acpi
disable mpbios
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;4) Add a host only virtual adapter to the VM - This is the one which we are going to connect through the VM with. Look at the IP that VirtualBox assigns this in network manager on the host machine. Mine was [b]192.168.56.1[/b]. Set up the adapter in the OpenBSD VM to have a static address on the same subnet. For example [b]192.168.56.2[/b]. If you are using Hyper-V and OpenBSD, make sure you add a "Legacy Interface" because no guest additions are available. Then set up a virtual switch which is host only.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;5) Add a bridged adapter to the VM - then assign it to whichever interface you wanted to connect to the external network with. Note that if using Wireless, set the bridged adapters MAC address to the same as your physical device or the access point will reject it. This is not needed (or possible) on Hyper-V because the actual device is "shared" rather than bridged so the same MAC address is used. Again, if you use Hyper-V, then add another virtual switch and attach it to your chosen external interface. VMs in Hyper-V "share" an adapter within a virtual switch and there is the option to also disable the hosts ability to use this interface at the same time which is fine for an additional level of security if those pesky rogue apps and updaters can also enable / disable DHCP service one day which wouldn't be too surprising.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;6) Connect to your network in the host OS - In case of Wireless, select the correct network from the list and type in a password if needed. Windows will probably say "no internet available", it also does not assign an IP address which is fine.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;7) Install the Squid proxy package on the OpenBSD guest and enable the daemon&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;```&lt;/p&gt;

&lt;h4&gt;pkg_add squid&lt;/h4&gt;

&lt;h4&gt;echo 'squid_flags=""' &amp;gt;&amp;gt; /etc/rc.conf.local&lt;/h4&gt;

&lt;h4&gt;/etc/rc.d/squid start&lt;/h4&gt;

&lt;p&gt;```&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;We will use this service for a limited selection of "safe and trusted" programs to connect to the outside world from within the Windows 10 host. You can also use putty on the host to connect to the VM via SSH and create a SOCKS proxy which software like Firefox can also use to connect externally.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;8) Configure the software you want to be able to access the external network with&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Firefox - go to the connection settings and specify the VMs IP address for the proxy.&lt;/li&gt;
&lt;li&gt;Subversion - modify the %HOME%\AppData\Roaming\Subversion\servers file and change the HTTP proxy field to the VMs IP. This is important to communicate with GitHub via https:// (Yes, GitHub also supports Subversion). For svn:// addresses you can use Putty to port forward.&lt;/li&gt;
&lt;li&gt;Chromium/Chrome - unfortunately uses the global Windows proxy settings which defeats much of the purpose of this exercise if we were going to allow &lt;em&gt;all&lt;/em&gt; of Windows access to the internet via the proxy. It would become mayhem again. However we can still use Putty to create a SOCKS proxy and then launch the browser with the following flags:&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;
--proxy-server="socks5://&amp;lt;VM IP&amp;gt;:&amp;lt;SOCKS PORT&amp;gt;"
--host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE &amp;lt;VM IP&amp;gt;"
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;9) Congratulations, you are now done - Admittedly this process can be a bit fiddly to set up but it completely prevents Windows 10 from making a complete mess. This solution is probably also useful for those who like privacy or don't like the idea of their software "phoning home". Hope you find this useful and if you have any issues, please feel free to leave questions in the comments.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/lldb_restoration_and_return_to" target="_blank" rel="nofollow noopener"&gt;LLDB restoration and return to ptrace(2)&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;I've managed to unbreak the LLDB debugger as much as possible with the current kernel and hit problems with ptrace(2) that are causing issues with further work on proper NetBSD support. Meanwhile, I've upstreamed all the planned NetBSD patches to sanitizers and helped other BSDs to gain better or initial support.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;LLDB&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Since the last time I worked on LLDB, we have introduced many changes to the kernel interfaces (most notably related to signals) that apparently fixed some bugs in Go and introduced regressions in ptrace(2). Part of the regressions were noted by the existing ATF tests. However, the breakage was only marked as a new problem to resolve. For completeness, the ptrace(2) code was also cleaned up by Christos Zoulas, and we fixed some bugs with compat32.&lt;/p&gt;
  
  &lt;p&gt;I've fixed a crash in *NetBSD::Factory::Launch(), triggered on startup of the lldb-server application.&lt;/p&gt;
  
  &lt;p&gt;Here is the commit message:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;```
We cannot call process_up-&amp;gt;SetState() inside
the NativeProcessNetBSD::Factory::Launch
function because it triggers a NULL pointer
deference.&lt;/p&gt;

&lt;p&gt;The generic code for launching a process in:
GDBRemoteCommunicationServerLLGS::LaunchProcess
sets the m&lt;em&gt;debugged&lt;/em&gt;process&lt;em&gt;up pointer after
a successful call to  m&lt;/em&gt;process&lt;em&gt;factory.Launch().
If we attempt to call process&lt;/em&gt;up-&amp;gt;SetState()
inside a platform specific Launch function we
end up dereferencing a NULL pointer in
NativeProcessProtocol::GetCurrentThreadID().&lt;/p&gt;

&lt;p&gt;Use the proper call process&lt;em&gt;up-&amp;gt;SetState(,false)
that sets notify&lt;/em&gt;delegates to false.
```&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sanitizers&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;I suspended development of new features in sanitizers last month, but I was still in the process of upstreaming of local patches. This process was time-consuming as it required rebasing patches, adding dedicated tests, and addressing all other requests and comments from the upstream developers.&lt;/p&gt;
  
  &lt;p&gt;I'm not counting hot fixes, as some changes were triggering build or test issues on !NetBSD hosts. Thankfully all these issues were addressed quickly. The final result is a reduction of local delta size of almost 1MB to less than 100KB (1205 lines of diff). The remaining patches are rescheduled for later, mostly because they depend on extra work with cross-OS tests and prior integration of sanitizers with the basesystem distribution. I didn't want to put extra work here in the current state of affairs and, I've registered as a mentor for Google Summer of Code for the NetBSD Foundation and prepared Software Quality improvement tasks in order to outsource part of the labour.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Userland changes&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;I've also improved documentation for some of the features of NetBSD, described in man-pages. These pieces of information were sometimes wrong or incomplete, and this makes covering the NetBSD system with features such as sanitizers harder as there is a mismatch between the actual code and the documented code.&lt;/p&gt;
  
  &lt;p&gt;Some pieces of software also require better namespacing support, these days mostly for the POSIX standard. I've fixed few low-hanging fruits there and requested pullups to NetBSD-8(BETA).&lt;/p&gt;
  
  &lt;p&gt;I thank the developers for improving the landed code in order to ship the best solutions for users.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;BSD collaboration in LLVM&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;A One-man-show in human activity is usually less fun and productive than collaboration in a team. This is also true in software development. Last month I was helping as a reviewer to port LLVM features to FreeBSD and when possible to OpenBSD. This included MSan/FreeBSD, libFuzzer/FreeBSD, XRay/FreeBSD and UBSan/OpenBSD.&lt;/p&gt;
  
  &lt;p&gt;I've landed most of the submitted and reviewed code to the mainstream LLVM tree.&lt;/p&gt;
  
  &lt;p&gt;Part of the code also verified the correctness of NetBSD routes in the existing porting efforts and showed new options for improvement. This is the reason why I've landed preliminary XRay/NetBSD code and added missing NetBSD bits to ToolChain::getOSLibName(). The latter produced setup issues with the prebuilt LLVM toolchain, as the directory name with compiler-rt goodies were located in a path like ./lib/clang/7.0.0/lib/netbsd8.99.12 with a varying OS version. This could stop working after upgrades, so I've simplified it to "netbsd", similar to FreeBSD and Solaris.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Prebuilt toolchain for testers&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;I've prepared a build of Clang/LLVM with LLDB and compiler-rt features prebuilt on NetBSD/amd64 v. 8.99.12:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;llvm-clang-compilerrt-lldb-7.0.0beta_2018-02-28.tar.bz2&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Plan for the next milestone&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;With the approaching NetBSD 8.0 release I plan to finish backporting a few changes there from HEAD:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Remove one unused feature from ptrace(2), PT&lt;em&gt;SET&lt;/em&gt;SIGMASK &amp;amp; PT&lt;em&gt;GET&lt;/em&gt;SIGMASK. I've originally introduced these operations with criu/rr-like software in mind, but they are misusing or even abusing ptrace(2) and are not regular process debuggers. I plan to remove this operation from HEAD and backport this to NetBSD-8(BETA), before the release, so no compat will be required for this call. Future ports of criu/rr should involve dedicated kernel support for such requirements.
Finish the backport of &lt;em&gt;UC&lt;/em&gt;MACHINE_FP() to NetBSD-8. This will allow use of the same code in sanitizers in HEAD and NetBSD-8.0.&lt;/li&gt;
&lt;li&gt;By popular demand, improve the regnsub(3) and regasub(3) API, adding support for more or less substitutions than 10.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;Once done, I will return to ptrace(2) debugging and corrections.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;DigitalOcean&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a href="https://t.pagef.lt/working-with-the-netbsd-kernel/" target="_blank" rel="nofollow noopener"&gt;Working with the NetBSD kernel&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Overview&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
  &lt;p&gt;When working on complex systems, such as OS kernels, your attention span and cognitive energy are too valuable to be wasted on inefficiencies pertaining to ancillary tasks. After experimenting with different environmental setups for kernel debugging, some of which were awkward and distracting from my main objectives, I have arrived to my current workflow, which is described here. This approach is mainly oriented towards security research and the study of kernel internals.&lt;/p&gt;
  
  &lt;p&gt;Before delving into the details, this is the general outline of my environment:&lt;/p&gt;
  
  &lt;p&gt;My host system runs Linux. My target system is a QEMU guest.&lt;/p&gt;
  
  &lt;p&gt;I’m tracing and debugging on my host system by attaching GDB (with NetBSD x86-64 ABI support) to QEMU’s built-in GDB server.
  I work with NetBSD-current. All sources are built on my host system with the cross-compilation toolchain produced by build.sh.
  I use NFS to share the source tree and the build artifacts between the target and the host.
  I find IDEs awkward, so for codebase navigation I mainly rely on vim, tmux and ctags.
  For non-intrusive instrumentation, such as figuring out control flow, I’m using dtrace.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Preparing the host system&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;QEMU&lt;/li&gt;
&lt;li&gt;GDB&lt;/li&gt;
&lt;li&gt;NFS Exports&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Building NetBSD-current&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A word of warning&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Now is a great time to familiarize yourself with the build.sh tool and its options. Be especially carefull with the following options:&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;
    -r          Remove contents of TOOLDIR and DESTDIR before building.
    -u          Set MKUPDATE=yes; do not run "make clean" first.
        Without this, everything is rebuilt, including the tools.
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Chance are, you do not want to use these options once you’ve successfully built the cross-compilation toolchain and your entire userland, because building those takes time and there aren’t many good reasons to recompile them from scratch. Here’s what to expect:&lt;/p&gt;
  
  &lt;p&gt;On my desktop, running a quad-core Intel i5-3470 at 3.20GHz with 24GB of RAM and underlying directory structure residing on a SSD drive, the entire process took about 55 minutes. I was running make with -j12, so the machine was quite busy.
  On an old Dell D630 laptop, running Intel Core 2 Duo T7500 at 2.20GHz with 4GB of RAM and a slow hard drive (5400RPM), the process took approximatelly 2.5 hours. I was running make with -j4. Based on the temperature alerts and CPU clock throttling messages, it was quite a struggle.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Acquiring the sources&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Compiling the sources&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Preparing the guest system&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Provisioning your guest&lt;/li&gt;
&lt;li&gt;Pkgin and NFS shares&lt;/li&gt;
&lt;li&gt;Tailoring the kernel for debugging&lt;/li&gt;
&lt;li&gt;Installing the new kernel&lt;/li&gt;
&lt;li&gt;Configuring DTrace&lt;/li&gt;
&lt;li&gt;Debugging the guest’s kernel&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=331214" target="_blank" rel="nofollow noopener"&gt;Add support for the experimental Internet-Draft "TCP Alternative Backoff”&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;```
Add support for the experimental Internet-Draft "TCP Alternative Backoff with
ECN (ABE)" proposal to the New Reno congestion control algorithm module.
ABE reduces the amount of congestion window reduction in response to
ECN-signalled congestion relative to the loss-inferred congestion response.&lt;/p&gt;

&lt;p&gt;More details about ABE can be found in the Internet-Draft:
https://tools.ietf.org/html/draft-ietf-tcpm-alternativebackoff-ecn&lt;/p&gt;

&lt;p&gt;The implementation introduces four new sysctls:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;net.inet.tcp.cc.abe defaults to 0 (disabled) and can be set to non-zero to
enable ABE for ECN-enabled TCP connections.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;net.inet.tcp.cc.newreno.beta and net.inet.tcp.cc.newreno.beta&lt;em&gt;ecn set the
multiplicative window decrease factor, specified as a percentage, applied to
the congestion window in response to a loss-based or ECN-based congestion
signal respectively. They default to the values specified in the draft i.e.
beta=50 and beta&lt;/em&gt;ecn=80.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;net.inet.tcp.cc.abe_frlossreduce defaults to 0 (disabled) and can be set to
non-zero to enable the use of standard beta (50% by default) when repairing
loss during an ECN-signalled congestion recovery episode. It enables a more
conservative congestion response and is provided for the purposes of
experimentation as a result of some discussion at IETF 100 in Singapore.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The values of beta and beta&lt;em&gt;ecn can also be set per-connection by way of the
TCP&lt;/em&gt;CCALGOOPT TCP-level socket option and the new CC&lt;em&gt;NEWRENO&lt;/em&gt;BETA or
CC&lt;em&gt;NEWRENO&lt;/em&gt;BETA_ECN CC algo sub-options.&lt;/p&gt;

&lt;p&gt;Submitted by:    Tom Jones &lt;a href="mailto:tj@enoti.me" target="_blank" rel="nofollow noopener"&gt;tj@enoti.me&lt;/a&gt;
Tested by:    Tom Jones &lt;a href="mailto:tj@enoti.me" target="_blank" rel="nofollow noopener"&gt;tj@enoti.me&lt;/a&gt;, Grenville Armitage &lt;a href="mailto:garmitage@swin.edu.au" target="_blank" rel="nofollow noopener"&gt;garmitage@swin.edu.au&lt;/a&gt;
Relnotes:    Yes
Differential Revision:    https://reviews.freebsd.org/D11616
```&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180228225937" target="_blank" rel="nofollow noopener"&gt;Meltdown-mitigation syspatch/errata now available&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;The recent changes in -current mitigating the Meltdown vulnerability have been backported to the 6.1 and 6.2 (amd64) releases, and the syspatch update (for 6.2) is now available.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-cvs&amp;amp;m=151964860620856&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;6.1&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;```
Changes by:    bluhm@cvs.openbsd.org   2018/02/26 05:36:18
Log message:
Implement a workaround against the Meltdown flaw in Intel CPUs.
The following changes have been backported from OpenBSD -current.&lt;/p&gt;

&lt;p&gt;Changes by:     guenther@cvs.openbsd.org        2018/01/06 15:03:13
Log message:
Handle %gs like %[def]s and reset set it in cpu_switchto() instead of on
every return to userspace.&lt;/p&gt;

&lt;p&gt;Changes by:     mlarkin@cvs.openbsd.org 2018/01/06 18:08:20
Log message:
Add identcpu.c and specialreg.h definitions for the new Intel/AMD MSRs
that should help mitigate spectre. This is just the detection piece, these
features are not yet used.
Part of a larger ongoing effort to mitigate meltdown/spectre. i386 will
come later; it needs some machdep.c cleanup first.&lt;/p&gt;

&lt;p&gt;Changes by:     mlarkin@cvs.openbsd.org 2018/01/07 12:56:19
Log message:
remove all PG_G global page mappings from the kernel when running on
Intel CPUs. Part of an ongoing set of commits to mitigate the Intel
"meltdown" CVE. This diff does not confer any immunity to that
vulnerability - subsequent commits are still needed and are being
worked on presently.
ok guenther, deraadt&lt;/p&gt;

&lt;p&gt;Changes by:     mlarkin@cvs.openbsd.org 2018/01/12 01:21:30
Log message:
IBRS -&amp;gt; IBRS,IBPB in identifycpu lines&lt;/p&gt;

&lt;p&gt;Changes by:     guenther@cvs.openbsd.org        2018/02/21 12:24:15
Log message:
Meltdown: implement user/kernel page table separation.
On Intel CPUs which speculate past user/supervisor page permission checks,
use a separate page table for userspace with only the minimum of kernel code
and data required for the transitions to/from the kernel (still marked as
supervisor-only, of course):
- the IDT (RO)
- three pages of kernel text in the .kutext section for interrupt, trap,
and syscall trampoline code (RX)
- one page of kernel data in the .kudata section for TLB flush IPIs (RW)
- the lapic page (RW, uncachable)
- per CPU: one page for the TSS+GDT (RO) and one page for trampoline
stacks (RW)
When a syscall, trap, or interrupt takes a CPU from userspace to kernel the
trampoline code switches page tables, switches stacks to the thread's real
kernel stack, then copies over the necessary bits from the trampoline stack.
On return to userspace the opposite occurs: recreate the iretq frame on the
trampoline stack, switch stack, switch page tables, and return to userspace.
mlarkin@ implemented the pmap bits and did 90% of the debugging, diagnosing
issues on MP in particular, and drove the final push to completion.
Many rounds of testing by naddy@, sthen@, and others
Thanks to Alex Wilson from Joyent for early discussions about trampolines
and their data requirements.
Per-CPU page layout mostly inspired by DragonFlyBSD.
ok mlarkin@ deraadt@&lt;/p&gt;

&lt;p&gt;Changes by:     bluhm@cvs.openbsd.org   2018/02/22 13:18:59
Log message:
The GNU assembler does not understand 1ULL, so replace the constant
with 1.  Then it compiles with gcc, sign and size do not matter
here.&lt;/p&gt;

&lt;p&gt;Changes by:     bluhm@cvs.openbsd.org   2018/02/22 13:27:14
Log message:
The compile time assertion for cpu info did not work with gcc.
Rephrase the condition in a way that both gcc and clang accept it.&lt;/p&gt;

&lt;p&gt;Changes by:     guenther@cvs.openbsd.org        2018/02/22 13:36:40
Log message:
Set the PG_G (global) bit on the special page table entries that are shared
between the u-k and u+k tables, because they're actually in &lt;em&gt;all&lt;/em&gt; tables.&lt;/p&gt;

&lt;p&gt;OpenBSD 6.1 errata 037
```&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;6.2&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;```
Changes by:    bluhm@cvs.openbsd.org   2018/02/26 05:29:48
Log message:
Implement a workaround against the Meltdown flaw in Intel CPUs.
The following changes have been backported from OpenBSD -current.&lt;/p&gt;

&lt;p&gt;Changes by:     guenther@cvs.openbsd.org        2018/01/06 15:03:13
Log message:
Handle %gs like %[def]s and reset set it in cpu_switchto() instead of on
every return to userspace.&lt;/p&gt;

&lt;p&gt;Changes by:     mlarkin@cvs.openbsd.org 2018/01/06 18:08:20
Log message:
Add identcpu.c and specialreg.h definitions for the new Intel/AMD MSRs
that should help mitigate spectre. This is just the detection piece, these
features are not yet used.
Part of a larger ongoing effort to mitigate meltdown/spectre. i386 will
come later; it needs some machdep.c cleanup first.&lt;/p&gt;

&lt;p&gt;Changes by:     mlarkin@cvs.openbsd.org 2018/01/07 12:56:19
Log message:
remove all PG_G global page mappings from the kernel when running on
Intel CPUs. Part of an ongoing set of commits to mitigate the Intel
"meltdown" CVE. This diff does not confer any immunity to that
vulnerability - subsequent commits are still needed and are being
worked on presently.&lt;/p&gt;

&lt;p&gt;Changes by:     mlarkin@cvs.openbsd.org 2018/01/12 01:21:30
Log message:
IBRS -&amp;gt; IBRS,IBPB in identifycpu lines&lt;/p&gt;

&lt;p&gt;Changes by:     guenther@cvs.openbsd.org        2018/02/21 12:24:15
Log message:
Meltdown: implement user/kernel page table separation.
On Intel CPUs which speculate past user/supervisor page permission checks,
use a separate page table for userspace with only the minimum of kernel code
and data required for the transitions to/from the kernel (still marked as
supervisor-only, of course):
- the IDT (RO)
- three pages of kernel text in the .kutext section for interrupt, trap,
and syscall trampoline code (RX)
- one page of kernel data in the .kudata section for TLB flush IPIs (RW)
- the lapic page (RW, uncachable)
- per CPU: one page for the TSS+GDT (RO) and one page for trampoline
stacks (RW)
When a syscall, trap, or interrupt takes a CPU from userspace to kernel the
trampoline code switches page tables, switches stacks to the thread's real
kernel stack, then copies over the necessary bits from the trampoline stack.
On return to userspace the opposite occurs: recreate the iretq frame on the
trampoline stack, switch stack, switch page tables, and return to userspace.
mlarkin@ implemented the pmap bits and did 90% of the debugging, diagnosing
issues on MP in particular, and drove the final push to completion.
Many rounds of testing by naddy@, sthen@, and others
Thanks to Alex Wilson from Joyent for early discussions about trampolines
and their data requirements.
Per-CPU page layout mostly inspired by DragonFlyBSD.&lt;/p&gt;

&lt;p&gt;Changes by:     bluhm@cvs.openbsd.org   2018/02/22 13:18:59
Log message:
The GNU assembler does not understand 1ULL, so replace the constant
with 1.  Then it compiles with gcc, sign and size do not matter
here.&lt;/p&gt;

&lt;p&gt;Changes by:     bluhm@cvs.openbsd.org   2018/02/22 13:27:14
Log message:
The compile time assertion for cpu info did not work with gcc.
Rephrase the condition in a way that both gcc and clang accept it.&lt;/p&gt;

&lt;p&gt;Changes by:     guenther@cvs.openbsd.org        2018/02/22 13:36:40
Log message:
Set the PG_G (global) bit on the special page table entries that are shared
between the u-k and u+k tables, because they're actually in &lt;em&gt;all&lt;/em&gt; tables.&lt;/p&gt;

&lt;p&gt;OpenBSD 6.2 errata 009
```&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://man.openbsd.org/syspatch" target="_blank" rel="nofollow noopener"&gt;syspatch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;&lt;strong&gt;iXsystems&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180302002131" target="_blank" rel="nofollow noopener"&gt;a2k18 Hackathon Report: Ken Westerback on dhclient and more&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;Ken Westerback (krw@) has sent in the first report from the (recently concluded) a2k18 hackathon:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.gcmap.com/mapui?P=YYZ-YVR-MEL-ZQN-CHC-DUD,DUD-WLG-AKL-SYD-BNE-YVR-YYZ" target="_blank" rel="nofollow noopener"&gt;YYZ -&amp;gt; YVR -&amp;gt; MEL -&amp;gt; ZQN -&amp;gt; CHC -&amp;gt; DUD -&amp;gt; WLG -&amp;gt; AKL -&amp;gt; SYD -&amp;gt; BNE -&amp;gt; YVR -&amp;gt; YYZ&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For those of you who don’t speak Airport code:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;Toronto -&amp;gt; Vancouver -&amp;gt; Melbourne -&amp;gt; Queenstown -&amp;gt; Christchurch -&amp;gt; Dunedin&lt;/li&gt;
&lt;li&gt;Then: Dunedin -&amp;gt; Wellington -&amp;gt; Auckland -&amp;gt; Sydney -&amp;gt; Brisbane -&amp;gt; Vancouver -&amp;gt; Toronto&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;```&lt;/p&gt;

&lt;p&gt;Whew.&lt;/p&gt;

&lt;p&gt;Once in Dunedin the hacking commenced. The background was a regular tick of new meltdown diffs to test in addition to whatever work one was actually engaged in. I was lucky (?) in that none of the problems with the various versions cropped up on my laptop.
```&lt;/p&gt;

&lt;p&gt;```
I worked with rpe@ and tb@ to make the install script create the 'correct' FQDN when dhclient was involved. I worked with tb@ on some code cleanup in various bits of the base. dhclient(8) got some nice cleanup, further pruning/improving log messages in particular. In addition the oddball -q option was flipped into the more normal -v. I.e. be quiet by default and verbose on request.&lt;/p&gt;

&lt;p&gt;More substantially the use of recorded leases was made less intrusive by avoiding continual reconfiguration of the interface with the same information. The 'request', 'require' and 'ignore' dhclient.conf(5) statement were changed so they are cumulative, making it easier to build longer lists of affected options.&lt;/p&gt;

&lt;p&gt;I tweaked softraid(4) to remove a handrolled version of duid_format().&lt;/p&gt;

&lt;p&gt;I sprinkled a couple of M_WAITOK into amd64 and i386 mpbios to document that there is really no need to check for NULL being returned from some malloc() calls.&lt;/p&gt;

&lt;p&gt;I continued to help test the new filesystem quiescing logic that deraadt@ committed during the hackathon.&lt;/p&gt;

&lt;p&gt;I only locked myself out of my room once!&lt;/p&gt;

&lt;p&gt;Fueled by the excellent coffee from local institutions The Good Earth Cafe and The Good Oil Cafe, and the excellent hacking facilities and accommodations at the University of Otago it was another enjoyable and productive hackathon south of the equator. And I even saw penguins.&lt;/p&gt;

&lt;p&gt;Thanks to Jim Cheetham and the support from the project and the OpenBSD Foundation that made it all possible
```&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.gerv.net/2018/03/poetic-license/" target="_blank" rel="nofollow noopener"&gt;Poetic License&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
  &lt;p&gt;I found this when going through old documents. It looks like I wrote it and never posted it. Perhaps I didn’t consider it finished at the time. But looking at it now, I think it’s good enough to share. It’s a redrafting of the BSD licence, in poetic form. Maybe I had plans to do other licences one day; I can’t remember.&lt;/p&gt;
  
  &lt;p&gt;I’ve interleaved it with the original license text so you can see how true, or otherwise, I’ve been to it. Enjoy :-)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;```
Copyright (c) , 
All rights reserved.&lt;/p&gt;

&lt;p&gt;Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
```&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;You may redistribute and use –
  as source or binary, as you choose,
  and with some changes or without –
  this software; let there be no doubt.
  But you must meet conditions three,
  if in compliance you wish to be.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
  notice, this list of conditions and the following disclaimer in the
  documentation and/or other materials provided with the distribution.
3. Neither the name of the  nor the names of its
   contributors may be used to endorse or promote products derived
   from this software without specific prior written permission.
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The first is obvious, of course –
  To keep this text within the source.
  The second is for binaries
  Place in the docs a copy, please.
  A moral lesson from this ode –
  Don’t strip the copyright on code.&lt;/p&gt;
  
  &lt;p&gt;The third applies when you promote:
  You must not take, from us who wrote,
  our names and make it seem as true
  we like or love your version too.
  (Unless, of course, you contact us
  And get our written assensus.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS  IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;One final point to be laid out
  (You must forgive my need to shout):
  THERE IS NO WARRANTY FOR THIS
  WHATEVER THING MAY GO AMISS.
  EXPRESS, IMPLIED, IT’S ALL THE SAME –
  RESPONSIBILITY DISCLAIMED.&lt;/p&gt;
  
  &lt;p&gt;WE ARE NOT LIABLE FOR LOSS
  NO MATTER HOW INCURRED THE COST
  THE TYPE OR STYLE OF DAMAGE DONE
  WHATE’ER THE LEGAL THEORY SPUN.
  THIS STILL REMAINS AS TRUE IF YOU
  INFORM US WHAT YOU PLAN TO DO.&lt;/p&gt;
  
  &lt;p&gt;When all is told, we sum up thus –
  Do what you like, just don’t sue us.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PLnTFqpZk5ebDZwT-bmYcIwv76yhmTfl0l" target="_blank" rel="nofollow noopener"&gt;AsiaBSDCon 2018 Videos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/past-issues/storage/" target="_blank" rel="nofollow noopener"&gt;The January/February 2018 FreeBSD Journal is Here&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/pkgsrc-users/2018/01/04/msg026073.html" target="_blank" rel="nofollow noopener"&gt;Announcing the pkgsrc-2017Q4 release (2018-01-04)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.bsdhh.org/bsdhh-de-index.html" target="_blank" rel="nofollow noopener"&gt;BSD Hamburg Event&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://zfs.datto.com/" target="_blank" rel="nofollow noopener"&gt;ZFS User conference&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=Unreal-Engine-4-FreeBSD" target="_blank" rel="nofollow noopener"&gt;Unreal Engine 4 Being Brought Natively To FreeBSD By Independent Developer&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;p&gt;Tarsnap ad&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Philippe - &lt;a href="http://dpaste.com/2643BF5#wrap" target="_blank" rel="nofollow noopener"&gt;I heart FreeBSD and other questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cyrus - &lt;a href="http://dpaste.com/3NTH14J#wrap" target="_blank" rel="nofollow noopener"&gt;BSD Now is excellent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Architect - &lt;a href="http://dpaste.com/317BP8X#wrap" target="_blank" rel="nofollow noopener"&gt;Combined Feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Dale - &lt;a href="http://dpaste.com/284G4TQ#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS on Linux moving to ZFS on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tommi - &lt;a href="http://dpaste.com/1KGMRGM#wrap" target="_blank" rel="nofollow noopener"&gt;New BUG in Finland&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;ul&gt;
&lt;li&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt; 
</description>
  <itunes:keywords>BSD,DragonflyBSD,freebsd,guide,howto,Interview,NetBSD,OpenBSD,trueos,tutorial</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD firewalling Windows 10, NetBSD’s return to ptrace, TCP Alternative Backoff, the BSD Poetic license, and AsiaBSDcon 2018 videos available.</p>

<h3>RSS Feeds:</h3>

<p><a href="http://feeds.feedburner.com/BsdNowMp3" target="_blank" rel="nofollow noopener">MP3 Feed</a> <strong>|</strong> <a href="https://itunes.apple.com/us/podcast/bsd-now-mp3/id701045710?mt=2" target="_blank" rel="nofollow noopener">iTunes Feed</a> <strong>|</strong> <a href="http://feeds.feedburner.com/BsdNowHd" target="_blank" rel="nofollow noopener">HD Vid Feed</a> <strong>|</strong> <a href="http://bitlove.org/jupiterbroadcasting/bsdnowhd/feed" target="_blank" rel="nofollow noopener">HD Torrent Feed</a></p>

<h3><a href="http://www.patreon.com/jupitersignal" target="_blank" rel="nofollow noopener">Become a supporter on Patreon</a>:</h3>

<p><a href="http://www.patreon.com/jupitersignal" target="_blank" rel="nofollow noopener"><img src="http://i.imgur.com/2ioAf3Q.png" alt="Patreon"></a></p>

<h3>- Show Notes: -</h3>

<h2>Headlines</h2>

<h3><a href="https://www.ibm.com/developerworks/community/blogs/karsten/entry/Preventing_Windows_10_and_untrusted_software_from_having_full_access_to_the_internet?lang=en" target="_blank" rel="nofollow noopener">Preventing Windows 10 and untrusted software from having full access to the internet using OpenBSD</a></h3>

<blockquote>
  <p>Whilst setting up one of my development laptops to port some software to Windows I noticed Windows 10 doing crazy things like installing or updating apps and games by default after initial setup. The one I noticed in particular was Candy Crush Soda Saga which for those who don't know of it is some cheesy little puzzle game originally for consumer devices. I honestly did not want software like this near to a development machine. It has also been reported that Windows 10 now also updates core system software without notifying the user. Surely this destroys any vaguely deterministic behaviour, in my opinion making Windows 10 by default almost useless for development testbeds.</p>
  
  <p>Deciding instead to start from scratch but this time to set the inbuilt Windows Firewall to be very restrictive and only allow a few select programs to communicate. In this case all I really needed to be online was Firefox, Subversion and Putty. To my amusement (and astonishment) I found out that the Windows firewall could be modified to give access very easily by programs during installation (usually because this task needs to be done with admin privileges). It also seems that Windows store Apps can change the windows firewall settings at any point. One way to get around this issue could be to install a 3rd party firewall that most software will not have knowledge about and thus not attempt to break through. However the only decent firewall I have used was Sygate Pro which unfortunately is no longer supported by recent operating systems. The last supported versions was 2003, XP and 2000. In short, I avoid 3rd party firewalls.</p>
  
  <p>Instead I decided to trap Windows 10 (and all of it's rogue updaters) behind a virtual machine running OpenBSD. This effectively provided me with a full blown firewall appliance. From here I could then allow specific software I trusted through the firewall (via a proxy) in a safe, controlled and deterministic manner. For other interested developers (and security conscious users) and for my own reference, I have listed the steps taken here:</p>
</blockquote>

<ul>
<li><p>1) First and foremost disable the Windows DHCP service - this is so no IP can be obtained on any interface. This effectively stops any communication with any network on the host system. This can be done by running services.msc with admin privileges and stopping and disabling the service called DHCP Client.</p></li>
<li><p>2) Install or enable your favorite virtualization software - I have tested this with both VirtualBox and Hyper-V. Note that on non-server versions of Windows, in order to get Hyper-V working, your processor also needs to support SLAT which is daft so to avoid faffing about, I recommend using VirtualBox to get round this seemingly arbitrary restriction.</p></li>
<li><p>3) Install OpenBSD on the VM - Note, if you decide to use Hyper-V, its hardware support isn't 100% perfect to run OpenBSD and you will need to disable a couple of things in the kernel. At the initial boot prompt, run the following commands.</p></li>
</ul>

<p><code>
config -e -o /bsd /bsd
disable acpi
disable mpbios
</code></p>

<ul>
<li><p>4) Add a host only virtual adapter to the VM - This is the one which we are going to connect through the VM with. Look at the IP that VirtualBox assigns this in network manager on the host machine. Mine was [b]192.168.56.1[/b]. Set up the adapter in the OpenBSD VM to have a static address on the same subnet. For example [b]192.168.56.2[/b]. If you are using Hyper-V and OpenBSD, make sure you add a "Legacy Interface" because no guest additions are available. Then set up a virtual switch which is host only.</p></li>
<li><p>5) Add a bridged adapter to the VM - then assign it to whichever interface you wanted to connect to the external network with. Note that if using Wireless, set the bridged adapters MAC address to the same as your physical device or the access point will reject it. This is not needed (or possible) on Hyper-V because the actual device is "shared" rather than bridged so the same MAC address is used. Again, if you use Hyper-V, then add another virtual switch and attach it to your chosen external interface. VMs in Hyper-V "share" an adapter within a virtual switch and there is the option to also disable the hosts ability to use this interface at the same time which is fine for an additional level of security if those pesky rogue apps and updaters can also enable / disable DHCP service one day which wouldn't be too surprising.</p></li>
<li><p>6) Connect to your network in the host OS - In case of Wireless, select the correct network from the list and type in a password if needed. Windows will probably say "no internet available", it also does not assign an IP address which is fine.</p></li>
<li><p>7) Install the Squid proxy package on the OpenBSD guest and enable the daemon</p></li>
</ul>

<p>```</p>

<h4>pkg_add squid</h4>

<h4>echo 'squid_flags=""' &gt;&gt; /etc/rc.conf.local</h4>

<h4>/etc/rc.d/squid start</h4>

<p>```</p>

<blockquote>
  <p>We will use this service for a limited selection of "safe and trusted" programs to connect to the outside world from within the Windows 10 host. You can also use putty on the host to connect to the VM via SSH and create a SOCKS proxy which software like Firefox can also use to connect externally.</p>
</blockquote>

<ul>
<li><p>8) Configure the software you want to be able to access the external network with</p>

<ul><li>Firefox - go to the connection settings and specify the VMs IP address for the proxy.</li>
<li>Subversion - modify the %HOME%\AppData\Roaming\Subversion\servers file and change the HTTP proxy field to the VMs IP. This is important to communicate with GitHub via https:// (Yes, GitHub also supports Subversion). For svn:// addresses you can use Putty to port forward.</li>
<li>Chromium/Chrome - unfortunately uses the global Windows proxy settings which defeats much of the purpose of this exercise if we were going to allow <em>all</em> of Windows access to the internet via the proxy. It would become mayhem again. However we can still use Putty to create a SOCKS proxy and then launch the browser with the following flags:</li></ul></li>
</ul>

<p><code>
--proxy-server="socks5://&lt;VM IP&gt;:&lt;SOCKS PORT&gt;"
--host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE &lt;VM IP&gt;"
</code></p>

<ul>
<li>9) Congratulations, you are now done - Admittedly this process can be a bit fiddly to set up but it completely prevents Windows 10 from making a complete mess. This solution is probably also useful for those who like privacy or don't like the idea of their software "phoning home". Hope you find this useful and if you have any issues, please feel free to leave questions in the comments.</li>
</ul>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_restoration_and_return_to" target="_blank" rel="nofollow noopener">LLDB restoration and return to ptrace(2)</a></h3>

<blockquote>
  <p>I've managed to unbreak the LLDB debugger as much as possible with the current kernel and hit problems with ptrace(2) that are causing issues with further work on proper NetBSD support. Meanwhile, I've upstreamed all the planned NetBSD patches to sanitizers and helped other BSDs to gain better or initial support.</p>
</blockquote>

<ul>
<li>LLDB</li>
</ul>

<blockquote>
  <p>Since the last time I worked on LLDB, we have introduced many changes to the kernel interfaces (most notably related to signals) that apparently fixed some bugs in Go and introduced regressions in ptrace(2). Part of the regressions were noted by the existing ATF tests. However, the breakage was only marked as a new problem to resolve. For completeness, the ptrace(2) code was also cleaned up by Christos Zoulas, and we fixed some bugs with compat32.</p>
  
  <p>I've fixed a crash in *NetBSD::Factory::Launch(), triggered on startup of the lldb-server application.</p>
  
  <p>Here is the commit message:</p>
</blockquote>

<p>```
We cannot call process_up-&gt;SetState() inside
the NativeProcessNetBSD::Factory::Launch
function because it triggers a NULL pointer
deference.</p>

<p>The generic code for launching a process in:
GDBRemoteCommunicationServerLLGS::LaunchProcess
sets the m<em>debugged</em>process<em>up pointer after
a successful call to  m</em>process<em>factory.Launch().
If we attempt to call process</em>up-&gt;SetState()
inside a platform specific Launch function we
end up dereferencing a NULL pointer in
NativeProcessProtocol::GetCurrentThreadID().</p>

<p>Use the proper call process<em>up-&gt;SetState(,false)
that sets notify</em>delegates to false.
```</p>

<ul>
<li>Sanitizers</li>
</ul>

<blockquote>
  <p>I suspended development of new features in sanitizers last month, but I was still in the process of upstreaming of local patches. This process was time-consuming as it required rebasing patches, adding dedicated tests, and addressing all other requests and comments from the upstream developers.</p>
  
  <p>I'm not counting hot fixes, as some changes were triggering build or test issues on !NetBSD hosts. Thankfully all these issues were addressed quickly. The final result is a reduction of local delta size of almost 1MB to less than 100KB (1205 lines of diff). The remaining patches are rescheduled for later, mostly because they depend on extra work with cross-OS tests and prior integration of sanitizers with the basesystem distribution. I didn't want to put extra work here in the current state of affairs and, I've registered as a mentor for Google Summer of Code for the NetBSD Foundation and prepared Software Quality improvement tasks in order to outsource part of the labour.</p>
</blockquote>

<ul>
<li>Userland changes</li>
</ul>

<blockquote>
  <p>I've also improved documentation for some of the features of NetBSD, described in man-pages. These pieces of information were sometimes wrong or incomplete, and this makes covering the NetBSD system with features such as sanitizers harder as there is a mismatch between the actual code and the documented code.</p>
  
  <p>Some pieces of software also require better namespacing support, these days mostly for the POSIX standard. I've fixed few low-hanging fruits there and requested pullups to NetBSD-8(BETA).</p>
  
  <p>I thank the developers for improving the landed code in order to ship the best solutions for users.</p>
</blockquote>

<ul>
<li>BSD collaboration in LLVM</li>
</ul>

<blockquote>
  <p>A One-man-show in human activity is usually less fun and productive than collaboration in a team. This is also true in software development. Last month I was helping as a reviewer to port LLVM features to FreeBSD and when possible to OpenBSD. This included MSan/FreeBSD, libFuzzer/FreeBSD, XRay/FreeBSD and UBSan/OpenBSD.</p>
  
  <p>I've landed most of the submitted and reviewed code to the mainstream LLVM tree.</p>
  
  <p>Part of the code also verified the correctness of NetBSD routes in the existing porting efforts and showed new options for improvement. This is the reason why I've landed preliminary XRay/NetBSD code and added missing NetBSD bits to ToolChain::getOSLibName(). The latter produced setup issues with the prebuilt LLVM toolchain, as the directory name with compiler-rt goodies were located in a path like ./lib/clang/7.0.0/lib/netbsd8.99.12 with a varying OS version. This could stop working after upgrades, so I've simplified it to "netbsd", similar to FreeBSD and Solaris.</p>
</blockquote>

<ul>
<li>Prebuilt toolchain for testers</li>
</ul>

<blockquote>
  <p>I've prepared a build of Clang/LLVM with LLDB and compiler-rt features prebuilt on NetBSD/amd64 v. 8.99.12:</p>
</blockquote>

<p><code>llvm-clang-compilerrt-lldb-7.0.0beta_2018-02-28.tar.bz2</code></p>

<ul>
<li>Plan for the next milestone</li>
</ul>

<blockquote>
  <p>With the approaching NetBSD 8.0 release I plan to finish backporting a few changes there from HEAD:</p>
</blockquote>

<ul>
<li>Remove one unused feature from ptrace(2), PT<em>SET</em>SIGMASK &amp; PT<em>GET</em>SIGMASK. I've originally introduced these operations with criu/rr-like software in mind, but they are misusing or even abusing ptrace(2) and are not regular process debuggers. I plan to remove this operation from HEAD and backport this to NetBSD-8(BETA), before the release, so no compat will be required for this call. Future ports of criu/rr should involve dedicated kernel support for such requirements.
Finish the backport of <em>UC</em>MACHINE_FP() to NetBSD-8. This will allow use of the same code in sanitizers in HEAD and NetBSD-8.0.</li>
<li>By popular demand, improve the regnsub(3) and regasub(3) API, adding support for more or less substitutions than 10.</li>
</ul>

<blockquote>
  <p>Once done, I will return to ptrace(2) debugging and corrections.</p>
</blockquote>

<hr>

<p><strong>DigitalOcean</strong></p>

<h3><a href="https://t.pagef.lt/working-with-the-netbsd-kernel/" target="_blank" rel="nofollow noopener">Working with the NetBSD kernel</a></h3>

<ul>
<li>Overview</li>
</ul>

<blockquote>
  <p>When working on complex systems, such as OS kernels, your attention span and cognitive energy are too valuable to be wasted on inefficiencies pertaining to ancillary tasks. After experimenting with different environmental setups for kernel debugging, some of which were awkward and distracting from my main objectives, I have arrived to my current workflow, which is described here. This approach is mainly oriented towards security research and the study of kernel internals.</p>
  
  <p>Before delving into the details, this is the general outline of my environment:</p>
  
  <p>My host system runs Linux. My target system is a QEMU guest.</p>
  
  <p>I’m tracing and debugging on my host system by attaching GDB (with NetBSD x86-64 ABI support) to QEMU’s built-in GDB server.
  I work with NetBSD-current. All sources are built on my host system with the cross-compilation toolchain produced by build.sh.
  I use NFS to share the source tree and the build artifacts between the target and the host.
  I find IDEs awkward, so for codebase navigation I mainly rely on vim, tmux and ctags.
  For non-intrusive instrumentation, such as figuring out control flow, I’m using dtrace.</p>
</blockquote>

<ul>
<li><p>Preparing the host system</p>

<ul><li>QEMU</li>
<li>GDB</li>
<li>NFS Exports</li></ul></li>
<li><p>Building NetBSD-current</p></li>
<li><p>A word of warning</p>

<ul><li>Now is a great time to familiarize yourself with the build.sh tool and its options. Be especially carefull with the following options:</li></ul></li>
</ul>

<p><code>
    -r          Remove contents of TOOLDIR and DESTDIR before building.
    -u          Set MKUPDATE=yes; do not run "make clean" first.
        Without this, everything is rebuilt, including the tools.
</code></p>

<blockquote>
  <p>Chance are, you do not want to use these options once you’ve successfully built the cross-compilation toolchain and your entire userland, because building those takes time and there aren’t many good reasons to recompile them from scratch. Here’s what to expect:</p>
  
  <p>On my desktop, running a quad-core Intel i5-3470 at 3.20GHz with 24GB of RAM and underlying directory structure residing on a SSD drive, the entire process took about 55 minutes. I was running make with -j12, so the machine was quite busy.
  On an old Dell D630 laptop, running Intel Core 2 Duo T7500 at 2.20GHz with 4GB of RAM and a slow hard drive (5400RPM), the process took approximatelly 2.5 hours. I was running make with -j4. Based on the temperature alerts and CPU clock throttling messages, it was quite a struggle.</p>
</blockquote>

<ul>
<li>Acquiring the sources</li>
<li><p>Compiling the sources</p>

<ul><li>Preparing the guest system</li></ul></li>
<li>Provisioning your guest</li>
<li>Pkgin and NFS shares</li>
<li>Tailoring the kernel for debugging</li>
<li>Installing the new kernel</li>
<li>Configuring DTrace</li>
<li>Debugging the guest’s kernel</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=331214" target="_blank" rel="nofollow noopener">Add support for the experimental Internet-Draft "TCP Alternative Backoff”</a></h3>

<p>```
Add support for the experimental Internet-Draft "TCP Alternative Backoff with
ECN (ABE)" proposal to the New Reno congestion control algorithm module.
ABE reduces the amount of congestion window reduction in response to
ECN-signalled congestion relative to the loss-inferred congestion response.</p>

<p>More details about ABE can be found in the Internet-Draft:
https://tools.ietf.org/html/draft-ietf-tcpm-alternativebackoff-ecn</p>

<p>The implementation introduces four new sysctls:</p>

<ul>
<li><p>net.inet.tcp.cc.abe defaults to 0 (disabled) and can be set to non-zero to
enable ABE for ECN-enabled TCP connections.</p></li>
<li><p>net.inet.tcp.cc.newreno.beta and net.inet.tcp.cc.newreno.beta<em>ecn set the
multiplicative window decrease factor, specified as a percentage, applied to
the congestion window in response to a loss-based or ECN-based congestion
signal respectively. They default to the values specified in the draft i.e.
beta=50 and beta</em>ecn=80.</p></li>
<li><p>net.inet.tcp.cc.abe_frlossreduce defaults to 0 (disabled) and can be set to
non-zero to enable the use of standard beta (50% by default) when repairing
loss during an ECN-signalled congestion recovery episode. It enables a more
conservative congestion response and is provided for the purposes of
experimentation as a result of some discussion at IETF 100 in Singapore.</p></li>
</ul>

<p>The values of beta and beta<em>ecn can also be set per-connection by way of the
TCP</em>CCALGOOPT TCP-level socket option and the new CC<em>NEWRENO</em>BETA or
CC<em>NEWRENO</em>BETA_ECN CC algo sub-options.</p>

<p>Submitted by:    Tom Jones <a href="mailto:tj@enoti.me" target="_blank" rel="nofollow noopener">tj@enoti.me</a>
Tested by:    Tom Jones <a href="mailto:tj@enoti.me" target="_blank" rel="nofollow noopener">tj@enoti.me</a>, Grenville Armitage <a href="mailto:garmitage@swin.edu.au" target="_blank" rel="nofollow noopener">garmitage@swin.edu.au</a>
Relnotes:    Yes
Differential Revision:    https://reviews.freebsd.org/D11616
```</p>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180228225937" target="_blank" rel="nofollow noopener">Meltdown-mitigation syspatch/errata now available</a></h3>

<blockquote>
  <p>The recent changes in -current mitigating the Meltdown vulnerability have been backported to the 6.1 and 6.2 (amd64) releases, and the syspatch update (for 6.2) is now available.</p>
</blockquote>

<ul>
<li><a href="https://marc.info/?l=openbsd-cvs&amp;m=151964860620856&amp;w=2" target="_blank" rel="nofollow noopener">6.1</a></li>
</ul>

<p>```
Changes by:    bluhm@cvs.openbsd.org   2018/02/26 05:36:18
Log message:
Implement a workaround against the Meltdown flaw in Intel CPUs.
The following changes have been backported from OpenBSD -current.</p>

<p>Changes by:     guenther@cvs.openbsd.org        2018/01/06 15:03:13
Log message:
Handle %gs like %[def]s and reset set it in cpu_switchto() instead of on
every return to userspace.</p>

<p>Changes by:     mlarkin@cvs.openbsd.org 2018/01/06 18:08:20
Log message:
Add identcpu.c and specialreg.h definitions for the new Intel/AMD MSRs
that should help mitigate spectre. This is just the detection piece, these
features are not yet used.
Part of a larger ongoing effort to mitigate meltdown/spectre. i386 will
come later; it needs some machdep.c cleanup first.</p>

<p>Changes by:     mlarkin@cvs.openbsd.org 2018/01/07 12:56:19
Log message:
remove all PG_G global page mappings from the kernel when running on
Intel CPUs. Part of an ongoing set of commits to mitigate the Intel
"meltdown" CVE. This diff does not confer any immunity to that
vulnerability - subsequent commits are still needed and are being
worked on presently.
ok guenther, deraadt</p>

<p>Changes by:     mlarkin@cvs.openbsd.org 2018/01/12 01:21:30
Log message:
IBRS -&gt; IBRS,IBPB in identifycpu lines</p>

<p>Changes by:     guenther@cvs.openbsd.org        2018/02/21 12:24:15
Log message:
Meltdown: implement user/kernel page table separation.
On Intel CPUs which speculate past user/supervisor page permission checks,
use a separate page table for userspace with only the minimum of kernel code
and data required for the transitions to/from the kernel (still marked as
supervisor-only, of course):
- the IDT (RO)
- three pages of kernel text in the .kutext section for interrupt, trap,
and syscall trampoline code (RX)
- one page of kernel data in the .kudata section for TLB flush IPIs (RW)
- the lapic page (RW, uncachable)
- per CPU: one page for the TSS+GDT (RO) and one page for trampoline
stacks (RW)
When a syscall, trap, or interrupt takes a CPU from userspace to kernel the
trampoline code switches page tables, switches stacks to the thread's real
kernel stack, then copies over the necessary bits from the trampoline stack.
On return to userspace the opposite occurs: recreate the iretq frame on the
trampoline stack, switch stack, switch page tables, and return to userspace.
mlarkin@ implemented the pmap bits and did 90% of the debugging, diagnosing
issues on MP in particular, and drove the final push to completion.
Many rounds of testing by naddy@, sthen@, and others
Thanks to Alex Wilson from Joyent for early discussions about trampolines
and their data requirements.
Per-CPU page layout mostly inspired by DragonFlyBSD.
ok mlarkin@ deraadt@</p>

<p>Changes by:     bluhm@cvs.openbsd.org   2018/02/22 13:18:59
Log message:
The GNU assembler does not understand 1ULL, so replace the constant
with 1.  Then it compiles with gcc, sign and size do not matter
here.</p>

<p>Changes by:     bluhm@cvs.openbsd.org   2018/02/22 13:27:14
Log message:
The compile time assertion for cpu info did not work with gcc.
Rephrase the condition in a way that both gcc and clang accept it.</p>

<p>Changes by:     guenther@cvs.openbsd.org        2018/02/22 13:36:40
Log message:
Set the PG_G (global) bit on the special page table entries that are shared
between the u-k and u+k tables, because they're actually in <em>all</em> tables.</p>

<p>OpenBSD 6.1 errata 037
```</p>

<ul>
<li>6.2</li>
</ul>

<p>```
Changes by:    bluhm@cvs.openbsd.org   2018/02/26 05:29:48
Log message:
Implement a workaround against the Meltdown flaw in Intel CPUs.
The following changes have been backported from OpenBSD -current.</p>

<p>Changes by:     guenther@cvs.openbsd.org        2018/01/06 15:03:13
Log message:
Handle %gs like %[def]s and reset set it in cpu_switchto() instead of on
every return to userspace.</p>

<p>Changes by:     mlarkin@cvs.openbsd.org 2018/01/06 18:08:20
Log message:
Add identcpu.c and specialreg.h definitions for the new Intel/AMD MSRs
that should help mitigate spectre. This is just the detection piece, these
features are not yet used.
Part of a larger ongoing effort to mitigate meltdown/spectre. i386 will
come later; it needs some machdep.c cleanup first.</p>

<p>Changes by:     mlarkin@cvs.openbsd.org 2018/01/07 12:56:19
Log message:
remove all PG_G global page mappings from the kernel when running on
Intel CPUs. Part of an ongoing set of commits to mitigate the Intel
"meltdown" CVE. This diff does not confer any immunity to that
vulnerability - subsequent commits are still needed and are being
worked on presently.</p>

<p>Changes by:     mlarkin@cvs.openbsd.org 2018/01/12 01:21:30
Log message:
IBRS -&gt; IBRS,IBPB in identifycpu lines</p>

<p>Changes by:     guenther@cvs.openbsd.org        2018/02/21 12:24:15
Log message:
Meltdown: implement user/kernel page table separation.
On Intel CPUs which speculate past user/supervisor page permission checks,
use a separate page table for userspace with only the minimum of kernel code
and data required for the transitions to/from the kernel (still marked as
supervisor-only, of course):
- the IDT (RO)
- three pages of kernel text in the .kutext section for interrupt, trap,
and syscall trampoline code (RX)
- one page of kernel data in the .kudata section for TLB flush IPIs (RW)
- the lapic page (RW, uncachable)
- per CPU: one page for the TSS+GDT (RO) and one page for trampoline
stacks (RW)
When a syscall, trap, or interrupt takes a CPU from userspace to kernel the
trampoline code switches page tables, switches stacks to the thread's real
kernel stack, then copies over the necessary bits from the trampoline stack.
On return to userspace the opposite occurs: recreate the iretq frame on the
trampoline stack, switch stack, switch page tables, and return to userspace.
mlarkin@ implemented the pmap bits and did 90% of the debugging, diagnosing
issues on MP in particular, and drove the final push to completion.
Many rounds of testing by naddy@, sthen@, and others
Thanks to Alex Wilson from Joyent for early discussions about trampolines
and their data requirements.
Per-CPU page layout mostly inspired by DragonFlyBSD.</p>

<p>Changes by:     bluhm@cvs.openbsd.org   2018/02/22 13:18:59
Log message:
The GNU assembler does not understand 1ULL, so replace the constant
with 1.  Then it compiles with gcc, sign and size do not matter
here.</p>

<p>Changes by:     bluhm@cvs.openbsd.org   2018/02/22 13:27:14
Log message:
The compile time assertion for cpu info did not work with gcc.
Rephrase the condition in a way that both gcc and clang accept it.</p>

<p>Changes by:     guenther@cvs.openbsd.org        2018/02/22 13:36:40
Log message:
Set the PG_G (global) bit on the special page table entries that are shared
between the u-k and u+k tables, because they're actually in <em>all</em> tables.</p>

<p>OpenBSD 6.2 errata 009
```</p>

<ul>
<li><a href="https://man.openbsd.org/syspatch" target="_blank" rel="nofollow noopener">syspatch</a></li>
</ul>

<hr>

<p><strong>iXsystems</strong></p>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180302002131" target="_blank" rel="nofollow noopener">a2k18 Hackathon Report: Ken Westerback on dhclient and more</a></h3>

<blockquote>
  <p>Ken Westerback (krw@) has sent in the first report from the (recently concluded) a2k18 hackathon:</p>
</blockquote>

<ul>
<li><p><a href="http://www.gcmap.com/mapui?P=YYZ-YVR-MEL-ZQN-CHC-DUD,DUD-WLG-AKL-SYD-BNE-YVR-YYZ" target="_blank" rel="nofollow noopener">YYZ -&gt; YVR -&gt; MEL -&gt; ZQN -&gt; CHC -&gt; DUD -&gt; WLG -&gt; AKL -&gt; SYD -&gt; BNE -&gt; YVR -&gt; YYZ</a></p></li>
<li><p>For those of you who don’t speak Airport code:</p></li>
<li>Toronto -&gt; Vancouver -&gt; Melbourne -&gt; Queenstown -&gt; Christchurch -&gt; Dunedin</li>
<li>Then: Dunedin -&gt; Wellington -&gt; Auckland -&gt; Sydney -&gt; Brisbane -&gt; Vancouver -&gt; Toronto</li>
</ul>

<p>```</p>

<p>Whew.</p>

<p>Once in Dunedin the hacking commenced. The background was a regular tick of new meltdown diffs to test in addition to whatever work one was actually engaged in. I was lucky (?) in that none of the problems with the various versions cropped up on my laptop.
```</p>

<p>```
I worked with rpe@ and tb@ to make the install script create the 'correct' FQDN when dhclient was involved. I worked with tb@ on some code cleanup in various bits of the base. dhclient(8) got some nice cleanup, further pruning/improving log messages in particular. In addition the oddball -q option was flipped into the more normal -v. I.e. be quiet by default and verbose on request.</p>

<p>More substantially the use of recorded leases was made less intrusive by avoiding continual reconfiguration of the interface with the same information. The 'request', 'require' and 'ignore' dhclient.conf(5) statement were changed so they are cumulative, making it easier to build longer lists of affected options.</p>

<p>I tweaked softraid(4) to remove a handrolled version of duid_format().</p>

<p>I sprinkled a couple of M_WAITOK into amd64 and i386 mpbios to document that there is really no need to check for NULL being returned from some malloc() calls.</p>

<p>I continued to help test the new filesystem quiescing logic that deraadt@ committed during the hackathon.</p>

<p>I only locked myself out of my room once!</p>

<p>Fueled by the excellent coffee from local institutions The Good Earth Cafe and The Good Oil Cafe, and the excellent hacking facilities and accommodations at the University of Otago it was another enjoyable and productive hackathon south of the equator. And I even saw penguins.</p>

<p>Thanks to Jim Cheetham and the support from the project and the OpenBSD Foundation that made it all possible
```</p>

<hr>

<h3><a href="https://blog.gerv.net/2018/03/poetic-license/" target="_blank" rel="nofollow noopener">Poetic License</a></h3>

<blockquote>
  <p>I found this when going through old documents. It looks like I wrote it and never posted it. Perhaps I didn’t consider it finished at the time. But looking at it now, I think it’s good enough to share. It’s a redrafting of the BSD licence, in poetic form. Maybe I had plans to do other licences one day; I can’t remember.</p>
  
  <p>I’ve interleaved it with the original license text so you can see how true, or otherwise, I’ve been to it. Enjoy :-)</p>
</blockquote>

<p>```
Copyright (c) , 
All rights reserved.</p>

<p>Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
```</p>

<blockquote>
  <p>You may redistribute and use –
  as source or binary, as you choose,
  and with some changes or without –
  this software; let there be no doubt.
  But you must meet conditions three,
  if in compliance you wish to be.</p>
</blockquote>

<p><code>
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
  notice, this list of conditions and the following disclaimer in the
  documentation and/or other materials provided with the distribution.
3. Neither the name of the  nor the names of its
   contributors may be used to endorse or promote products derived
   from this software without specific prior written permission.
</code></p>

<blockquote>
  <p>The first is obvious, of course –
  To keep this text within the source.
  The second is for binaries
  Place in the docs a copy, please.
  A moral lesson from this ode –
  Don’t strip the copyright on code.</p>
  
  <p>The third applies when you promote:
  You must not take, from us who wrote,
  our names and make it seem as true
  we like or love your version too.
  (Unless, of course, you contact us
  And get our written assensus.)</p>
</blockquote>

<p><code>
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS  IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
</code></p>

<blockquote>
  <p>One final point to be laid out
  (You must forgive my need to shout):
  THERE IS NO WARRANTY FOR THIS
  WHATEVER THING MAY GO AMISS.
  EXPRESS, IMPLIED, IT’S ALL THE SAME –
  RESPONSIBILITY DISCLAIMED.</p>
  
  <p>WE ARE NOT LIABLE FOR LOSS
  NO MATTER HOW INCURRED THE COST
  THE TYPE OR STYLE OF DAMAGE DONE
  WHATE’ER THE LEGAL THEORY SPUN.
  THIS STILL REMAINS AS TRUE IF YOU
  INFORM US WHAT YOU PLAN TO DO.</p>
  
  <p>When all is told, we sum up thus –
  Do what you like, just don’t sue us.</p>
</blockquote>

<hr>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/playlist?list=PLnTFqpZk5ebDZwT-bmYcIwv76yhmTfl0l" target="_blank" rel="nofollow noopener">AsiaBSDCon 2018 Videos</a></li>
<li><a href="https://www.freebsdfoundation.org/past-issues/storage/" target="_blank" rel="nofollow noopener">The January/February 2018 FreeBSD Journal is Here</a></li>
<li><a href="https://mail-index.netbsd.org/pkgsrc-users/2018/01/04/msg026073.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc-2017Q4 release (2018-01-04)</a></li>
<li><a href="https://www.bsdhh.org/bsdhh-de-index.html" target="_blank" rel="nofollow noopener">BSD Hamburg Event</a></li>
<li><a href="http://zfs.datto.com/" target="_blank" rel="nofollow noopener">ZFS User conference</a></li>
<li><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=Unreal-Engine-4-FreeBSD" target="_blank" rel="nofollow noopener">Unreal Engine 4 Being Brought Natively To FreeBSD By Independent Developer</a></li>
</ul>

<hr>

<p>Tarsnap ad</p>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Philippe - <a href="http://dpaste.com/2643BF5#wrap" target="_blank" rel="nofollow noopener">I heart FreeBSD and other questions</a></li>
<li>Cyrus - <a href="http://dpaste.com/3NTH14J#wrap" target="_blank" rel="nofollow noopener">BSD Now is excellent</a></li>
<li>Architect - <a href="http://dpaste.com/317BP8X#wrap" target="_blank" rel="nofollow noopener">Combined Feedback</a></li>
<li>Dale - <a href="http://dpaste.com/284G4TQ#wrap" target="_blank" rel="nofollow noopener">ZFS on Linux moving to ZFS on FreeBSD</a></li>
<li>Tommi - <a href="http://dpaste.com/1KGMRGM#wrap" target="_blank" rel="nofollow noopener">New BUG in Finland</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD firewalling Windows 10, NetBSD’s return to ptrace, TCP Alternative Backoff, the BSD Poetic license, and AsiaBSDcon 2018 videos available.</p>

<h3>RSS Feeds:</h3>

<p><a href="http://feeds.feedburner.com/BsdNowMp3" target="_blank" rel="nofollow noopener">MP3 Feed</a> <strong>|</strong> <a href="https://itunes.apple.com/us/podcast/bsd-now-mp3/id701045710?mt=2" target="_blank" rel="nofollow noopener">iTunes Feed</a> <strong>|</strong> <a href="http://feeds.feedburner.com/BsdNowHd" target="_blank" rel="nofollow noopener">HD Vid Feed</a> <strong>|</strong> <a href="http://bitlove.org/jupiterbroadcasting/bsdnowhd/feed" target="_blank" rel="nofollow noopener">HD Torrent Feed</a></p>

<h3><a href="http://www.patreon.com/jupitersignal" target="_blank" rel="nofollow noopener">Become a supporter on Patreon</a>:</h3>

<p><a href="http://www.patreon.com/jupitersignal" target="_blank" rel="nofollow noopener"><img src="http://i.imgur.com/2ioAf3Q.png" alt="Patreon"></a></p>

<h3>- Show Notes: -</h3>

<h2>Headlines</h2>

<h3><a href="https://www.ibm.com/developerworks/community/blogs/karsten/entry/Preventing_Windows_10_and_untrusted_software_from_having_full_access_to_the_internet?lang=en" target="_blank" rel="nofollow noopener">Preventing Windows 10 and untrusted software from having full access to the internet using OpenBSD</a></h3>

<blockquote>
  <p>Whilst setting up one of my development laptops to port some software to Windows I noticed Windows 10 doing crazy things like installing or updating apps and games by default after initial setup. The one I noticed in particular was Candy Crush Soda Saga which for those who don't know of it is some cheesy little puzzle game originally for consumer devices. I honestly did not want software like this near to a development machine. It has also been reported that Windows 10 now also updates core system software without notifying the user. Surely this destroys any vaguely deterministic behaviour, in my opinion making Windows 10 by default almost useless for development testbeds.</p>
  
  <p>Deciding instead to start from scratch but this time to set the inbuilt Windows Firewall to be very restrictive and only allow a few select programs to communicate. In this case all I really needed to be online was Firefox, Subversion and Putty. To my amusement (and astonishment) I found out that the Windows firewall could be modified to give access very easily by programs during installation (usually because this task needs to be done with admin privileges). It also seems that Windows store Apps can change the windows firewall settings at any point. One way to get around this issue could be to install a 3rd party firewall that most software will not have knowledge about and thus not attempt to break through. However the only decent firewall I have used was Sygate Pro which unfortunately is no longer supported by recent operating systems. The last supported versions was 2003, XP and 2000. In short, I avoid 3rd party firewalls.</p>
  
  <p>Instead I decided to trap Windows 10 (and all of it's rogue updaters) behind a virtual machine running OpenBSD. This effectively provided me with a full blown firewall appliance. From here I could then allow specific software I trusted through the firewall (via a proxy) in a safe, controlled and deterministic manner. For other interested developers (and security conscious users) and for my own reference, I have listed the steps taken here:</p>
</blockquote>

<ul>
<li><p>1) First and foremost disable the Windows DHCP service - this is so no IP can be obtained on any interface. This effectively stops any communication with any network on the host system. This can be done by running services.msc with admin privileges and stopping and disabling the service called DHCP Client.</p></li>
<li><p>2) Install or enable your favorite virtualization software - I have tested this with both VirtualBox and Hyper-V. Note that on non-server versions of Windows, in order to get Hyper-V working, your processor also needs to support SLAT which is daft so to avoid faffing about, I recommend using VirtualBox to get round this seemingly arbitrary restriction.</p></li>
<li><p>3) Install OpenBSD on the VM - Note, if you decide to use Hyper-V, its hardware support isn't 100% perfect to run OpenBSD and you will need to disable a couple of things in the kernel. At the initial boot prompt, run the following commands.</p></li>
</ul>

<p><code>
config -e -o /bsd /bsd
disable acpi
disable mpbios
</code></p>

<ul>
<li><p>4) Add a host only virtual adapter to the VM - This is the one which we are going to connect through the VM with. Look at the IP that VirtualBox assigns this in network manager on the host machine. Mine was [b]192.168.56.1[/b]. Set up the adapter in the OpenBSD VM to have a static address on the same subnet. For example [b]192.168.56.2[/b]. If you are using Hyper-V and OpenBSD, make sure you add a "Legacy Interface" because no guest additions are available. Then set up a virtual switch which is host only.</p></li>
<li><p>5) Add a bridged adapter to the VM - then assign it to whichever interface you wanted to connect to the external network with. Note that if using Wireless, set the bridged adapters MAC address to the same as your physical device or the access point will reject it. This is not needed (or possible) on Hyper-V because the actual device is "shared" rather than bridged so the same MAC address is used. Again, if you use Hyper-V, then add another virtual switch and attach it to your chosen external interface. VMs in Hyper-V "share" an adapter within a virtual switch and there is the option to also disable the hosts ability to use this interface at the same time which is fine for an additional level of security if those pesky rogue apps and updaters can also enable / disable DHCP service one day which wouldn't be too surprising.</p></li>
<li><p>6) Connect to your network in the host OS - In case of Wireless, select the correct network from the list and type in a password if needed. Windows will probably say "no internet available", it also does not assign an IP address which is fine.</p></li>
<li><p>7) Install the Squid proxy package on the OpenBSD guest and enable the daemon</p></li>
</ul>

<p>```</p>

<h4>pkg_add squid</h4>

<h4>echo 'squid_flags=""' &gt;&gt; /etc/rc.conf.local</h4>

<h4>/etc/rc.d/squid start</h4>

<p>```</p>

<blockquote>
  <p>We will use this service for a limited selection of "safe and trusted" programs to connect to the outside world from within the Windows 10 host. You can also use putty on the host to connect to the VM via SSH and create a SOCKS proxy which software like Firefox can also use to connect externally.</p>
</blockquote>

<ul>
<li><p>8) Configure the software you want to be able to access the external network with</p>

<ul><li>Firefox - go to the connection settings and specify the VMs IP address for the proxy.</li>
<li>Subversion - modify the %HOME%\AppData\Roaming\Subversion\servers file and change the HTTP proxy field to the VMs IP. This is important to communicate with GitHub via https:// (Yes, GitHub also supports Subversion). For svn:// addresses you can use Putty to port forward.</li>
<li>Chromium/Chrome - unfortunately uses the global Windows proxy settings which defeats much of the purpose of this exercise if we were going to allow <em>all</em> of Windows access to the internet via the proxy. It would become mayhem again. However we can still use Putty to create a SOCKS proxy and then launch the browser with the following flags:</li></ul></li>
</ul>

<p><code>
--proxy-server="socks5://&lt;VM IP&gt;:&lt;SOCKS PORT&gt;"
--host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE &lt;VM IP&gt;"
</code></p>

<ul>
<li>9) Congratulations, you are now done - Admittedly this process can be a bit fiddly to set up but it completely prevents Windows 10 from making a complete mess. This solution is probably also useful for those who like privacy or don't like the idea of their software "phoning home". Hope you find this useful and if you have any issues, please feel free to leave questions in the comments.</li>
</ul>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_restoration_and_return_to" target="_blank" rel="nofollow noopener">LLDB restoration and return to ptrace(2)</a></h3>

<blockquote>
  <p>I've managed to unbreak the LLDB debugger as much as possible with the current kernel and hit problems with ptrace(2) that are causing issues with further work on proper NetBSD support. Meanwhile, I've upstreamed all the planned NetBSD patches to sanitizers and helped other BSDs to gain better or initial support.</p>
</blockquote>

<ul>
<li>LLDB</li>
</ul>

<blockquote>
  <p>Since the last time I worked on LLDB, we have introduced many changes to the kernel interfaces (most notably related to signals) that apparently fixed some bugs in Go and introduced regressions in ptrace(2). Part of the regressions were noted by the existing ATF tests. However, the breakage was only marked as a new problem to resolve. For completeness, the ptrace(2) code was also cleaned up by Christos Zoulas, and we fixed some bugs with compat32.</p>
  
  <p>I've fixed a crash in *NetBSD::Factory::Launch(), triggered on startup of the lldb-server application.</p>
  
  <p>Here is the commit message:</p>
</blockquote>

<p>```
We cannot call process_up-&gt;SetState() inside
the NativeProcessNetBSD::Factory::Launch
function because it triggers a NULL pointer
deference.</p>

<p>The generic code for launching a process in:
GDBRemoteCommunicationServerLLGS::LaunchProcess
sets the m<em>debugged</em>process<em>up pointer after
a successful call to  m</em>process<em>factory.Launch().
If we attempt to call process</em>up-&gt;SetState()
inside a platform specific Launch function we
end up dereferencing a NULL pointer in
NativeProcessProtocol::GetCurrentThreadID().</p>

<p>Use the proper call process<em>up-&gt;SetState(,false)
that sets notify</em>delegates to false.
```</p>

<ul>
<li>Sanitizers</li>
</ul>

<blockquote>
  <p>I suspended development of new features in sanitizers last month, but I was still in the process of upstreaming of local patches. This process was time-consuming as it required rebasing patches, adding dedicated tests, and addressing all other requests and comments from the upstream developers.</p>
  
  <p>I'm not counting hot fixes, as some changes were triggering build or test issues on !NetBSD hosts. Thankfully all these issues were addressed quickly. The final result is a reduction of local delta size of almost 1MB to less than 100KB (1205 lines of diff). The remaining patches are rescheduled for later, mostly because they depend on extra work with cross-OS tests and prior integration of sanitizers with the basesystem distribution. I didn't want to put extra work here in the current state of affairs and, I've registered as a mentor for Google Summer of Code for the NetBSD Foundation and prepared Software Quality improvement tasks in order to outsource part of the labour.</p>
</blockquote>

<ul>
<li>Userland changes</li>
</ul>

<blockquote>
  <p>I've also improved documentation for some of the features of NetBSD, described in man-pages. These pieces of information were sometimes wrong or incomplete, and this makes covering the NetBSD system with features such as sanitizers harder as there is a mismatch between the actual code and the documented code.</p>
  
  <p>Some pieces of software also require better namespacing support, these days mostly for the POSIX standard. I've fixed few low-hanging fruits there and requested pullups to NetBSD-8(BETA).</p>
  
  <p>I thank the developers for improving the landed code in order to ship the best solutions for users.</p>
</blockquote>

<ul>
<li>BSD collaboration in LLVM</li>
</ul>

<blockquote>
  <p>A One-man-show in human activity is usually less fun and productive than collaboration in a team. This is also true in software development. Last month I was helping as a reviewer to port LLVM features to FreeBSD and when possible to OpenBSD. This included MSan/FreeBSD, libFuzzer/FreeBSD, XRay/FreeBSD and UBSan/OpenBSD.</p>
  
  <p>I've landed most of the submitted and reviewed code to the mainstream LLVM tree.</p>
  
  <p>Part of the code also verified the correctness of NetBSD routes in the existing porting efforts and showed new options for improvement. This is the reason why I've landed preliminary XRay/NetBSD code and added missing NetBSD bits to ToolChain::getOSLibName(). The latter produced setup issues with the prebuilt LLVM toolchain, as the directory name with compiler-rt goodies were located in a path like ./lib/clang/7.0.0/lib/netbsd8.99.12 with a varying OS version. This could stop working after upgrades, so I've simplified it to "netbsd", similar to FreeBSD and Solaris.</p>
</blockquote>

<ul>
<li>Prebuilt toolchain for testers</li>
</ul>

<blockquote>
  <p>I've prepared a build of Clang/LLVM with LLDB and compiler-rt features prebuilt on NetBSD/amd64 v. 8.99.12:</p>
</blockquote>

<p><code>llvm-clang-compilerrt-lldb-7.0.0beta_2018-02-28.tar.bz2</code></p>

<ul>
<li>Plan for the next milestone</li>
</ul>

<blockquote>
  <p>With the approaching NetBSD 8.0 release I plan to finish backporting a few changes there from HEAD:</p>
</blockquote>

<ul>
<li>Remove one unused feature from ptrace(2), PT<em>SET</em>SIGMASK &amp; PT<em>GET</em>SIGMASK. I've originally introduced these operations with criu/rr-like software in mind, but they are misusing or even abusing ptrace(2) and are not regular process debuggers. I plan to remove this operation from HEAD and backport this to NetBSD-8(BETA), before the release, so no compat will be required for this call. Future ports of criu/rr should involve dedicated kernel support for such requirements.
Finish the backport of <em>UC</em>MACHINE_FP() to NetBSD-8. This will allow use of the same code in sanitizers in HEAD and NetBSD-8.0.</li>
<li>By popular demand, improve the regnsub(3) and regasub(3) API, adding support for more or less substitutions than 10.</li>
</ul>

<blockquote>
  <p>Once done, I will return to ptrace(2) debugging and corrections.</p>
</blockquote>

<hr>

<p><strong>DigitalOcean</strong></p>

<h3><a href="https://t.pagef.lt/working-with-the-netbsd-kernel/" target="_blank" rel="nofollow noopener">Working with the NetBSD kernel</a></h3>

<ul>
<li>Overview</li>
</ul>

<blockquote>
  <p>When working on complex systems, such as OS kernels, your attention span and cognitive energy are too valuable to be wasted on inefficiencies pertaining to ancillary tasks. After experimenting with different environmental setups for kernel debugging, some of which were awkward and distracting from my main objectives, I have arrived to my current workflow, which is described here. This approach is mainly oriented towards security research and the study of kernel internals.</p>
  
  <p>Before delving into the details, this is the general outline of my environment:</p>
  
  <p>My host system runs Linux. My target system is a QEMU guest.</p>
  
  <p>I’m tracing and debugging on my host system by attaching GDB (with NetBSD x86-64 ABI support) to QEMU’s built-in GDB server.
  I work with NetBSD-current. All sources are built on my host system with the cross-compilation toolchain produced by build.sh.
  I use NFS to share the source tree and the build artifacts between the target and the host.
  I find IDEs awkward, so for codebase navigation I mainly rely on vim, tmux and ctags.
  For non-intrusive instrumentation, such as figuring out control flow, I’m using dtrace.</p>
</blockquote>

<ul>
<li><p>Preparing the host system</p>

<ul><li>QEMU</li>
<li>GDB</li>
<li>NFS Exports</li></ul></li>
<li><p>Building NetBSD-current</p></li>
<li><p>A word of warning</p>

<ul><li>Now is a great time to familiarize yourself with the build.sh tool and its options. Be especially carefull with the following options:</li></ul></li>
</ul>

<p><code>
    -r          Remove contents of TOOLDIR and DESTDIR before building.
    -u          Set MKUPDATE=yes; do not run "make clean" first.
        Without this, everything is rebuilt, including the tools.
</code></p>

<blockquote>
  <p>Chance are, you do not want to use these options once you’ve successfully built the cross-compilation toolchain and your entire userland, because building those takes time and there aren’t many good reasons to recompile them from scratch. Here’s what to expect:</p>
  
  <p>On my desktop, running a quad-core Intel i5-3470 at 3.20GHz with 24GB of RAM and underlying directory structure residing on a SSD drive, the entire process took about 55 minutes. I was running make with -j12, so the machine was quite busy.
  On an old Dell D630 laptop, running Intel Core 2 Duo T7500 at 2.20GHz with 4GB of RAM and a slow hard drive (5400RPM), the process took approximatelly 2.5 hours. I was running make with -j4. Based on the temperature alerts and CPU clock throttling messages, it was quite a struggle.</p>
</blockquote>

<ul>
<li>Acquiring the sources</li>
<li><p>Compiling the sources</p>

<ul><li>Preparing the guest system</li></ul></li>
<li>Provisioning your guest</li>
<li>Pkgin and NFS shares</li>
<li>Tailoring the kernel for debugging</li>
<li>Installing the new kernel</li>
<li>Configuring DTrace</li>
<li>Debugging the guest’s kernel</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=331214" target="_blank" rel="nofollow noopener">Add support for the experimental Internet-Draft "TCP Alternative Backoff”</a></h3>

<p>```
Add support for the experimental Internet-Draft "TCP Alternative Backoff with
ECN (ABE)" proposal to the New Reno congestion control algorithm module.
ABE reduces the amount of congestion window reduction in response to
ECN-signalled congestion relative to the loss-inferred congestion response.</p>

<p>More details about ABE can be found in the Internet-Draft:
https://tools.ietf.org/html/draft-ietf-tcpm-alternativebackoff-ecn</p>

<p>The implementation introduces four new sysctls:</p>

<ul>
<li><p>net.inet.tcp.cc.abe defaults to 0 (disabled) and can be set to non-zero to
enable ABE for ECN-enabled TCP connections.</p></li>
<li><p>net.inet.tcp.cc.newreno.beta and net.inet.tcp.cc.newreno.beta<em>ecn set the
multiplicative window decrease factor, specified as a percentage, applied to
the congestion window in response to a loss-based or ECN-based congestion
signal respectively. They default to the values specified in the draft i.e.
beta=50 and beta</em>ecn=80.</p></li>
<li><p>net.inet.tcp.cc.abe_frlossreduce defaults to 0 (disabled) and can be set to
non-zero to enable the use of standard beta (50% by default) when repairing
loss during an ECN-signalled congestion recovery episode. It enables a more
conservative congestion response and is provided for the purposes of
experimentation as a result of some discussion at IETF 100 in Singapore.</p></li>
</ul>

<p>The values of beta and beta<em>ecn can also be set per-connection by way of the
TCP</em>CCALGOOPT TCP-level socket option and the new CC<em>NEWRENO</em>BETA or
CC<em>NEWRENO</em>BETA_ECN CC algo sub-options.</p>

<p>Submitted by:    Tom Jones <a href="mailto:tj@enoti.me" target="_blank" rel="nofollow noopener">tj@enoti.me</a>
Tested by:    Tom Jones <a href="mailto:tj@enoti.me" target="_blank" rel="nofollow noopener">tj@enoti.me</a>, Grenville Armitage <a href="mailto:garmitage@swin.edu.au" target="_blank" rel="nofollow noopener">garmitage@swin.edu.au</a>
Relnotes:    Yes
Differential Revision:    https://reviews.freebsd.org/D11616
```</p>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180228225937" target="_blank" rel="nofollow noopener">Meltdown-mitigation syspatch/errata now available</a></h3>

<blockquote>
  <p>The recent changes in -current mitigating the Meltdown vulnerability have been backported to the 6.1 and 6.2 (amd64) releases, and the syspatch update (for 6.2) is now available.</p>
</blockquote>

<ul>
<li><a href="https://marc.info/?l=openbsd-cvs&amp;m=151964860620856&amp;w=2" target="_blank" rel="nofollow noopener">6.1</a></li>
</ul>

<p>```
Changes by:    bluhm@cvs.openbsd.org   2018/02/26 05:36:18
Log message:
Implement a workaround against the Meltdown flaw in Intel CPUs.
The following changes have been backported from OpenBSD -current.</p>

<p>Changes by:     guenther@cvs.openbsd.org        2018/01/06 15:03:13
Log message:
Handle %gs like %[def]s and reset set it in cpu_switchto() instead of on
every return to userspace.</p>

<p>Changes by:     mlarkin@cvs.openbsd.org 2018/01/06 18:08:20
Log message:
Add identcpu.c and specialreg.h definitions for the new Intel/AMD MSRs
that should help mitigate spectre. This is just the detection piece, these
features are not yet used.
Part of a larger ongoing effort to mitigate meltdown/spectre. i386 will
come later; it needs some machdep.c cleanup first.</p>

<p>Changes by:     mlarkin@cvs.openbsd.org 2018/01/07 12:56:19
Log message:
remove all PG_G global page mappings from the kernel when running on
Intel CPUs. Part of an ongoing set of commits to mitigate the Intel
"meltdown" CVE. This diff does not confer any immunity to that
vulnerability - subsequent commits are still needed and are being
worked on presently.
ok guenther, deraadt</p>

<p>Changes by:     mlarkin@cvs.openbsd.org 2018/01/12 01:21:30
Log message:
IBRS -&gt; IBRS,IBPB in identifycpu lines</p>

<p>Changes by:     guenther@cvs.openbsd.org        2018/02/21 12:24:15
Log message:
Meltdown: implement user/kernel page table separation.
On Intel CPUs which speculate past user/supervisor page permission checks,
use a separate page table for userspace with only the minimum of kernel code
and data required for the transitions to/from the kernel (still marked as
supervisor-only, of course):
- the IDT (RO)
- three pages of kernel text in the .kutext section for interrupt, trap,
and syscall trampoline code (RX)
- one page of kernel data in the .kudata section for TLB flush IPIs (RW)
- the lapic page (RW, uncachable)
- per CPU: one page for the TSS+GDT (RO) and one page for trampoline
stacks (RW)
When a syscall, trap, or interrupt takes a CPU from userspace to kernel the
trampoline code switches page tables, switches stacks to the thread's real
kernel stack, then copies over the necessary bits from the trampoline stack.
On return to userspace the opposite occurs: recreate the iretq frame on the
trampoline stack, switch stack, switch page tables, and return to userspace.
mlarkin@ implemented the pmap bits and did 90% of the debugging, diagnosing
issues on MP in particular, and drove the final push to completion.
Many rounds of testing by naddy@, sthen@, and others
Thanks to Alex Wilson from Joyent for early discussions about trampolines
and their data requirements.
Per-CPU page layout mostly inspired by DragonFlyBSD.
ok mlarkin@ deraadt@</p>

<p>Changes by:     bluhm@cvs.openbsd.org   2018/02/22 13:18:59
Log message:
The GNU assembler does not understand 1ULL, so replace the constant
with 1.  Then it compiles with gcc, sign and size do not matter
here.</p>

<p>Changes by:     bluhm@cvs.openbsd.org   2018/02/22 13:27:14
Log message:
The compile time assertion for cpu info did not work with gcc.
Rephrase the condition in a way that both gcc and clang accept it.</p>

<p>Changes by:     guenther@cvs.openbsd.org        2018/02/22 13:36:40
Log message:
Set the PG_G (global) bit on the special page table entries that are shared
between the u-k and u+k tables, because they're actually in <em>all</em> tables.</p>

<p>OpenBSD 6.1 errata 037
```</p>

<ul>
<li>6.2</li>
</ul>

<p>```
Changes by:    bluhm@cvs.openbsd.org   2018/02/26 05:29:48
Log message:
Implement a workaround against the Meltdown flaw in Intel CPUs.
The following changes have been backported from OpenBSD -current.</p>

<p>Changes by:     guenther@cvs.openbsd.org        2018/01/06 15:03:13
Log message:
Handle %gs like %[def]s and reset set it in cpu_switchto() instead of on
every return to userspace.</p>

<p>Changes by:     mlarkin@cvs.openbsd.org 2018/01/06 18:08:20
Log message:
Add identcpu.c and specialreg.h definitions for the new Intel/AMD MSRs
that should help mitigate spectre. This is just the detection piece, these
features are not yet used.
Part of a larger ongoing effort to mitigate meltdown/spectre. i386 will
come later; it needs some machdep.c cleanup first.</p>

<p>Changes by:     mlarkin@cvs.openbsd.org 2018/01/07 12:56:19
Log message:
remove all PG_G global page mappings from the kernel when running on
Intel CPUs. Part of an ongoing set of commits to mitigate the Intel
"meltdown" CVE. This diff does not confer any immunity to that
vulnerability - subsequent commits are still needed and are being
worked on presently.</p>

<p>Changes by:     mlarkin@cvs.openbsd.org 2018/01/12 01:21:30
Log message:
IBRS -&gt; IBRS,IBPB in identifycpu lines</p>

<p>Changes by:     guenther@cvs.openbsd.org        2018/02/21 12:24:15
Log message:
Meltdown: implement user/kernel page table separation.
On Intel CPUs which speculate past user/supervisor page permission checks,
use a separate page table for userspace with only the minimum of kernel code
and data required for the transitions to/from the kernel (still marked as
supervisor-only, of course):
- the IDT (RO)
- three pages of kernel text in the .kutext section for interrupt, trap,
and syscall trampoline code (RX)
- one page of kernel data in the .kudata section for TLB flush IPIs (RW)
- the lapic page (RW, uncachable)
- per CPU: one page for the TSS+GDT (RO) and one page for trampoline
stacks (RW)
When a syscall, trap, or interrupt takes a CPU from userspace to kernel the
trampoline code switches page tables, switches stacks to the thread's real
kernel stack, then copies over the necessary bits from the trampoline stack.
On return to userspace the opposite occurs: recreate the iretq frame on the
trampoline stack, switch stack, switch page tables, and return to userspace.
mlarkin@ implemented the pmap bits and did 90% of the debugging, diagnosing
issues on MP in particular, and drove the final push to completion.
Many rounds of testing by naddy@, sthen@, and others
Thanks to Alex Wilson from Joyent for early discussions about trampolines
and their data requirements.
Per-CPU page layout mostly inspired by DragonFlyBSD.</p>

<p>Changes by:     bluhm@cvs.openbsd.org   2018/02/22 13:18:59
Log message:
The GNU assembler does not understand 1ULL, so replace the constant
with 1.  Then it compiles with gcc, sign and size do not matter
here.</p>

<p>Changes by:     bluhm@cvs.openbsd.org   2018/02/22 13:27:14
Log message:
The compile time assertion for cpu info did not work with gcc.
Rephrase the condition in a way that both gcc and clang accept it.</p>

<p>Changes by:     guenther@cvs.openbsd.org        2018/02/22 13:36:40
Log message:
Set the PG_G (global) bit on the special page table entries that are shared
between the u-k and u+k tables, because they're actually in <em>all</em> tables.</p>

<p>OpenBSD 6.2 errata 009
```</p>

<ul>
<li><a href="https://man.openbsd.org/syspatch" target="_blank" rel="nofollow noopener">syspatch</a></li>
</ul>

<hr>

<p><strong>iXsystems</strong></p>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180302002131" target="_blank" rel="nofollow noopener">a2k18 Hackathon Report: Ken Westerback on dhclient and more</a></h3>

<blockquote>
  <p>Ken Westerback (krw@) has sent in the first report from the (recently concluded) a2k18 hackathon:</p>
</blockquote>

<ul>
<li><p><a href="http://www.gcmap.com/mapui?P=YYZ-YVR-MEL-ZQN-CHC-DUD,DUD-WLG-AKL-SYD-BNE-YVR-YYZ" target="_blank" rel="nofollow noopener">YYZ -&gt; YVR -&gt; MEL -&gt; ZQN -&gt; CHC -&gt; DUD -&gt; WLG -&gt; AKL -&gt; SYD -&gt; BNE -&gt; YVR -&gt; YYZ</a></p></li>
<li><p>For those of you who don’t speak Airport code:</p></li>
<li>Toronto -&gt; Vancouver -&gt; Melbourne -&gt; Queenstown -&gt; Christchurch -&gt; Dunedin</li>
<li>Then: Dunedin -&gt; Wellington -&gt; Auckland -&gt; Sydney -&gt; Brisbane -&gt; Vancouver -&gt; Toronto</li>
</ul>

<p>```</p>

<p>Whew.</p>

<p>Once in Dunedin the hacking commenced. The background was a regular tick of new meltdown diffs to test in addition to whatever work one was actually engaged in. I was lucky (?) in that none of the problems with the various versions cropped up on my laptop.
```</p>

<p>```
I worked with rpe@ and tb@ to make the install script create the 'correct' FQDN when dhclient was involved. I worked with tb@ on some code cleanup in various bits of the base. dhclient(8) got some nice cleanup, further pruning/improving log messages in particular. In addition the oddball -q option was flipped into the more normal -v. I.e. be quiet by default and verbose on request.</p>

<p>More substantially the use of recorded leases was made less intrusive by avoiding continual reconfiguration of the interface with the same information. The 'request', 'require' and 'ignore' dhclient.conf(5) statement were changed so they are cumulative, making it easier to build longer lists of affected options.</p>

<p>I tweaked softraid(4) to remove a handrolled version of duid_format().</p>

<p>I sprinkled a couple of M_WAITOK into amd64 and i386 mpbios to document that there is really no need to check for NULL being returned from some malloc() calls.</p>

<p>I continued to help test the new filesystem quiescing logic that deraadt@ committed during the hackathon.</p>

<p>I only locked myself out of my room once!</p>

<p>Fueled by the excellent coffee from local institutions The Good Earth Cafe and The Good Oil Cafe, and the excellent hacking facilities and accommodations at the University of Otago it was another enjoyable and productive hackathon south of the equator. And I even saw penguins.</p>

<p>Thanks to Jim Cheetham and the support from the project and the OpenBSD Foundation that made it all possible
```</p>

<hr>

<h3><a href="https://blog.gerv.net/2018/03/poetic-license/" target="_blank" rel="nofollow noopener">Poetic License</a></h3>

<blockquote>
  <p>I found this when going through old documents. It looks like I wrote it and never posted it. Perhaps I didn’t consider it finished at the time. But looking at it now, I think it’s good enough to share. It’s a redrafting of the BSD licence, in poetic form. Maybe I had plans to do other licences one day; I can’t remember.</p>
  
  <p>I’ve interleaved it with the original license text so you can see how true, or otherwise, I’ve been to it. Enjoy :-)</p>
</blockquote>

<p>```
Copyright (c) , 
All rights reserved.</p>

<p>Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
```</p>

<blockquote>
  <p>You may redistribute and use –
  as source or binary, as you choose,
  and with some changes or without –
  this software; let there be no doubt.
  But you must meet conditions three,
  if in compliance you wish to be.</p>
</blockquote>

<p><code>
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
  notice, this list of conditions and the following disclaimer in the
  documentation and/or other materials provided with the distribution.
3. Neither the name of the  nor the names of its
   contributors may be used to endorse or promote products derived
   from this software without specific prior written permission.
</code></p>

<blockquote>
  <p>The first is obvious, of course –
  To keep this text within the source.
  The second is for binaries
  Place in the docs a copy, please.
  A moral lesson from this ode –
  Don’t strip the copyright on code.</p>
  
  <p>The third applies when you promote:
  You must not take, from us who wrote,
  our names and make it seem as true
  we like or love your version too.
  (Unless, of course, you contact us
  And get our written assensus.)</p>
</blockquote>

<p><code>
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS  IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
</code></p>

<blockquote>
  <p>One final point to be laid out
  (You must forgive my need to shout):
  THERE IS NO WARRANTY FOR THIS
  WHATEVER THING MAY GO AMISS.
  EXPRESS, IMPLIED, IT’S ALL THE SAME –
  RESPONSIBILITY DISCLAIMED.</p>
  
  <p>WE ARE NOT LIABLE FOR LOSS
  NO MATTER HOW INCURRED THE COST
  THE TYPE OR STYLE OF DAMAGE DONE
  WHATE’ER THE LEGAL THEORY SPUN.
  THIS STILL REMAINS AS TRUE IF YOU
  INFORM US WHAT YOU PLAN TO DO.</p>
  
  <p>When all is told, we sum up thus –
  Do what you like, just don’t sue us.</p>
</blockquote>

<hr>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/playlist?list=PLnTFqpZk5ebDZwT-bmYcIwv76yhmTfl0l" target="_blank" rel="nofollow noopener">AsiaBSDCon 2018 Videos</a></li>
<li><a href="https://www.freebsdfoundation.org/past-issues/storage/" target="_blank" rel="nofollow noopener">The January/February 2018 FreeBSD Journal is Here</a></li>
<li><a href="https://mail-index.netbsd.org/pkgsrc-users/2018/01/04/msg026073.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc-2017Q4 release (2018-01-04)</a></li>
<li><a href="https://www.bsdhh.org/bsdhh-de-index.html" target="_blank" rel="nofollow noopener">BSD Hamburg Event</a></li>
<li><a href="http://zfs.datto.com/" target="_blank" rel="nofollow noopener">ZFS User conference</a></li>
<li><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=Unreal-Engine-4-FreeBSD" target="_blank" rel="nofollow noopener">Unreal Engine 4 Being Brought Natively To FreeBSD By Independent Developer</a></li>
</ul>

<hr>

<p>Tarsnap ad</p>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Philippe - <a href="http://dpaste.com/2643BF5#wrap" target="_blank" rel="nofollow noopener">I heart FreeBSD and other questions</a></li>
<li>Cyrus - <a href="http://dpaste.com/3NTH14J#wrap" target="_blank" rel="nofollow noopener">BSD Now is excellent</a></li>
<li>Architect - <a href="http://dpaste.com/317BP8X#wrap" target="_blank" rel="nofollow noopener">Combined Feedback</a></li>
<li>Dale - <a href="http://dpaste.com/284G4TQ#wrap" target="_blank" rel="nofollow noopener">ZFS on Linux moving to ZFS on FreeBSD</a></li>
<li>Tommi - <a href="http://dpaste.com/1KGMRGM#wrap" target="_blank" rel="nofollow noopener">New BUG in Finland</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" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>238: VLAN-Zezes-ki in Hardware</title>
  <link>https://www.bsdnow.tv/238</link>
  <guid isPermaLink="false">19a3e093-c80b-4eae-84c6-aa128d0c61d7</guid>
  <pubDate>Wed, 21 Mar 2018 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/19a3e093-c80b-4eae-84c6-aa128d0c61d7.mp3" length="89016628" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Looking at Lumina Desktop 2.0, 2 months of KPTI development in SmartOS, OpenBSD email service, an interview with Ryan Zezeski, NomadBSD released, and John Carmack's programming retreat with OpenBSD.</itunes:subtitle>
  <itunes:duration>2:03:38</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>&lt;p&gt;Looking at Lumina Desktop 2.0, 2 months of KPTI development in SmartOS, OpenBSD email service, an interview with Ryan Zezeski, NomadBSD released, and John Carmack's programming retreat with OpenBSD.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.trueos.org/blog/looking-lumina-desktop-2-0/" target="_blank" rel="nofollow noopener"&gt;Looking at Lumina Desktop 2.0&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A few weeks ago I sat down with Lead Developer Ken Moore of the TrueOS Project to get answers to some of the most frequently asked questions about Lumina Desktop from the open source community. Here is what he said on Lumina Desktop 2.0.  Do you have a question for Ken and the rest of the team over at the TrueOS Project? Make sure to read the interview and comment below. We are glad to answer your questions!&lt;/p&gt;

&lt;p&gt;Ken: Lumina Desktop 2.0 is a significant overhaul compared to Lumina 1.x. Almost every single subsystem of the desktop has been streamlined, resulting in a nearly-total conversion in many important areas.&lt;/p&gt;

&lt;p&gt;With Lumina Desktop 2.0 we will finally achieve our long-term goal of turning Lumina into a complete, end-to-end management system for the graphical session and removing all the current runtime dependencies from Lumina 1.x (Fluxbox, xscreensaver, compton/xcompmgr). The functionality from those utilities is now provided by Lumina Desktop itself.&lt;/p&gt;

&lt;p&gt;Going along with the session management changes, we have compressed the entire desktop into a single, multi-threaded binary. This means that if any rogue script or tool starts trying to muck about with the memory used by the desktop (probably even more relevant now than when we started working on this), the entire desktop session will close/crash rather than allowing targeted application crashes to bypass the session security mechanisms. By the same token, this also prevents “man-in-the-middle” type of attacks because the desktop does not use any sort of external messaging system to communicate (looking at you &lt;code&gt;dbus&lt;/code&gt;). This also gives a large performance boost to Lumina Desktop&lt;/p&gt;

&lt;p&gt;The entire system for how a user’s settings get saved and loaded has been completely redone, making it a “layered” settings system which allows the default settings (Lumina) to get transparently replaced by system settings (OS/Distributor/SysAdmin) which can get replaced by individual user settings. This results in the actual changes in the user setting files to be kept to a minimum and allows for a smooth transition between updates to the OS or Desktop. This also provides the ability to “restrict” a user’s desktop session (based on a system config file) to the default system settings and read-only user sessions for certain business applications.&lt;/p&gt;

&lt;p&gt;The entire graphical interface has been written in QML in order to fully-utilize hardware-based GPU acceleration with OpenGL while the backend logic and management systems are still written entirely in C++. This results in blazing fast performance on the backend systems (myriad multi-threaded C++ objects) as well as a smooth and responsive graphical interface with all the bells and whistles (drag and drop, compositing, shading, etc).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: Are there future plans to implement something like Lumina in a MAC Jail?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;While I have never tried out Lumina in a MAC jail, I do not see anything on that page which should stop it from running in one right now. Lumina is already designed to be run as an unpriviledged user and is very smart about probing the system to find out what is/not available before showing anything to the user. The only thing that comes to mind is that you might need to open up some other system devices so that X11 itself can draw to the display (graphical environment setup is a bit different than CLI environment).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: I look forward to these changes. I know the last time I used it when I would scroll I would get flashes like the refresh rate was not high enough. It will be nice to have a fast system as well as I know with the more changes Linux is becoming slower. Not once it has loaded but in the loading process. I will do another download when these changes come out and install again and maybe stay this time.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If I recall correctly, one of the very first versions of Lumina (pre-1.0) would occasionally flicker. If that is still happening, you might want to verify that you are using the proper video driver for your hardware and/or enable the compositor within the Lumina settings.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: Why was enlightenment project not considered for TrueOS? It is BSD licensed and is written in C.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This was a common question about 4(?) years ago with the first release of the Lumina desktop and it basically boiled down to long-term support and reliability of the underlying toolkit. Some of the things we had to consider were: cross-platform/cross-architecture support, dependency reliability and support framework (Qt5 &amp;gt; EFL), and runtime requirements and dependency tracking (Qt5 is lighter than the EFL). That plus the fact that the EFL specifically states that it is linux-focused and the BSD’s are just an afterthought (especially at the time we were doing the evaluation).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: I have two questions.

&lt;ul&gt;
&lt;li&gt;1) The default layout of Unity(menu bar with actual menu entries on top and icon dock on the side) is one of the few things I liked about my first voyage into non-Windows systems, and have been missing since moving on to other distros(and now also other non-Linux systems). However in 1.4.0 screenshots on Lumina’s site, the OSX-like layout has the menu attached to the window. Will 2.0 be able to have the menus on the bar?&lt;/li&gt;
&lt;li&gt;2) Is there any timeline for a public release, or are you taking a “when it’s ready” approach?&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;In Lumina you can already put panels on the left/right side of the screen and give you something like the layout of the Unity desktop. The embedded menu system is not available in Lumina because that is not a specification supported by X11 and the window manager standards at the present time. The way that functionality is currently run on Linux is a hacky-bypass of the display system which only really works with the GTK3 and Qt5 toolkits, resulting in very odd overall desktop behavior in mixed environments where some apps use other graphical toolkits.&lt;/li&gt;
&lt;li&gt;We are targetting the 18.06 STABLE release of TrueOS for Lumina 2, but that is just a guideline and if necessary we will push back the release date to allow for additional testing/fixing as needed.&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.cooperi.net/a-long-two-months" target="_blank" rel="nofollow noopener"&gt;A long two months&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;IllumOS/SmartOS developer Alex Wilson describes the journey of developing KPTI for IllumOS
&amp;gt; On Monday (January 1st) I had the day off work for New Year's day, as is usual in most of the western world, so I slept in late. Lou and her friend decided to go to the wax museum and see several tourist attractions around SF, and I decided to pass the day at home reading. That afternoon, work chat started talking about a Tumblr post by pythonsweetness about an Intel hardware security bug. At the time I definitely did not suspect that this was going to occupy most of my working life for the next (almost) two months.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Like many people who work on system security, I had read Anders Fogh's post about a "Negative Result" in speculative execution research in July of 2017. At the time I thought it was an interesting writeup and I remember being glad that researchers were looking into this area. I sent the post to Bryan and asked him about his thoughts on it at the time, to which he replied saying that "it would be shocking if they left a way to directly leak out memory in the speculative execution". None of us seriously thought that there would be low-hanging fruit down that research path, but we also felt it was important that there was someone doing work in the area who was committed to public disclosure.&lt;/p&gt;

&lt;p&gt;At first, after reading the blog post on Monday, we thought (or hoped) that the bug might "just" be a KASLR bypass and wouldn't require a lot of urgency. We tried to reach out to Intel at work to get more information but were met with silence. (We wouldn't hear back from them until after the disclosure was already made public.) The speculation on Tuesday intensified, until finally on Wednesday morning I arrived at the office to find links to late Tuesday night tweets revealing exploits that allowed arbitrary kernel memory reads.&lt;/p&gt;

&lt;p&gt;Wednesday was not a happy day. Intel finally responded to our emails -- after they had already initiated public disclosure. We all spent a lot of time reading. An arbitrary kernel memory read (an info leak) is not that uncommon as far as bugs go, but for the most part they tend to be fairly easy to fix. The thing that makes the Meltdown and Spectre bugs particularly notable is that in order to mitigate them, a large amount of change is required in very deep low-level parts of the kernel. The kind of deep parts of the kernel where there are 20-year old errata workarounds that were single-line changes that you have to be very careful to not accidentally undo; the kind of parts where, as they say, mortals fear to tread.&lt;/p&gt;

&lt;p&gt;On Friday we saw the patches Matthew Dillon put together for DragonFlyBSD for the first time. These were the first patches for KPTI that were very straightforward to read and understand, and applied to a BSD-derived kernel that was similar to those I'm accustomed to working on.&lt;/p&gt;

&lt;p&gt;To mitigate Meltdown (and partially one of the Spectre variants), you have to make sure that speculative execution cannot reach any sensitive data from a user context. This basically means that the pages the kernel uses for anything potentially sensitive have to be unmapped when we are running user code. Traditionally, CPUs that were built to run a multi-user, UNIX-like OS did this by default (SPARC is an example of such a CPU which has completely separate address spaces for the kernel and userland). However, x86 descends from a single-address-space microcontroller that has grown up avoiding backwards-incompatible changes, and has never really introduced a clean notion of multiple address spaces (segmentation is the closest feature really, and it was thrown out for 64-bit AMD64). Instead, operating systems for x86 have generally wound up (at least in the post-AMD64 era) with flat address space models where the kernel text and data is always present in the page table no matter whether you're in user or kernel mode. The kernel mappings simply have the "supervisor" bit set on them so that user code can't directly access them.&lt;/p&gt;

&lt;p&gt;The mitigation is basically to stop doing this: to stop mapping the kernel text, data and other memory into the page table while we're running in userland. Unfortunately, the x86 design does not make this easy. In order to be able to take interrupts or traps, the CPU has to have a number of structures mapped in the current page table at all times. There is also no ability to tell an x86 CPU that you want it to switch page tables when an interrupt occurs. So, the code that we jump to when we take an interrupt, as well as space for a stack to push context onto have to be available in both page tables. And finally, of course, we need to be able to figure out somehow what the other page table we should switch to is when we enter the kernel.&lt;/p&gt;

&lt;p&gt;When we looked at the patches for Linux (and also the DragonFlyBSD patches at the time) on Friday and started asking questions, it became pretty evident that the initial work done by both was done under time constraints. Both had left the full kernel text mapped in both page tables, and the Linux trampoline design seemed over-complex. I started talking over some ideas with Robert Mustacchi about ways to fix these and who we should talk to, and reached out to some of my old workmates from the University of Queensland who were involved with OpenBSD. It seemed to me that the OpenBSD developers would care about these issues even more than we did, and would want to work out how to do the mitigation right.&lt;/p&gt;

&lt;p&gt;I ended up sending an email to Philip Guenther on Friday afternoon, and on Saturday morning I drove an hour or so to meet up with him for coffee to talk page tables and interrupt trampolines. We wound up spending a good 6 hours at the coffee shop, and I came back with several pages of notes and a half-decent idea of the shape of the work to come.&lt;/p&gt;

&lt;p&gt;One detail we missed that day was the interaction of per-CPU structures with per-process page tables. Much of the interrupt trampoline work is most easily done by using per-CPU structures in memory (and you definitely want a per-CPU stack!). If you combine that with per-process page tables, however, you have a problem: if you leave all the per-CPU areas mapped in all the processes, you will leak information (via Meltdown) about the state of one process to a different one when taking interrupts. In particular, you will leak things like %rip, which ruins all the work being done with PIE and ASLR pretty quickly. So, there are two options: you can either allocate the per-CPU structures per-process (so you end up with $NCPUS * $NPROCS of them); or you can make the page tables per-CPU.&lt;/p&gt;

&lt;p&gt;OpenBSD, like Linux and the other implementations so far, decided to go down the road of per-CPU per-process pages to solve this issue. For illumos, we took the other route.&lt;/p&gt;

&lt;p&gt;In illumos, it turned out that we already had per-CPU page tables. Robert and I re-discovered this on the Sunday of that week. We use them for 32-bit processes due to having full P&amp;gt;V PAE support in our kernel (which is, as it turns out, relatively uncommon amongst open-source OS). The logic to deal with creating and managing them and updating them was all already written, and after reading the code we concluded we could basically make a few small changes and re-use all of it. So we did.&lt;/p&gt;

&lt;p&gt;By the end of that second week, we had a prototype that could get to userland. But, when working on this kind of kernel change we have a rule of thumb we use: after the first 70% of the patch is done and we can boot again, now it's time for the second 70%. In fact it turned out to be more like the second 200% for us -- a tedious long tail of bugs to solve that ended up necessitating some changes in the design as well.&lt;/p&gt;

&lt;p&gt;At first we borrowed the method that Matt Dillon used for DragonFlyBSD, by putting the temporary "stack" space and state data for the interrupt trampolines into an extra page tacked onto the end of *%gs (in illumos the structure that lives there is the cpu_t). &lt;/p&gt;

&lt;p&gt;If you read the existing logic in interrupt handlers for dealing with %gs though, you will quickly notice that the corner cases start to build up. There are a bunch of situations where the kernel temporarily alters %gs, and some of the ways to mess it up have security consequences that end up being worse than the bug we're trying to fix. As it turns out, there are no less than 3 different ways that ISRs use to try to get to having the right cpu_t in %gs on illumos, as it turns out, and they are all subtly different. Trying to tell which you should use when requires a bunch of test logic that in turn requires branches and changes to the CPU state, which is difficult to do in a trampoline where you're trying to avoid altering that state as much as possible until you've got the real stack online to push things into.&lt;/p&gt;

&lt;p&gt;I kept in touch with Philip Guenther and Mike Larkin from the OpenBSD project throughout the weeks that followed. In one of the discussions we had, we talked about the NMI/MCE handlers and the fact that their handling currently on OpenBSD neglected some nasty corner-cases around interrupting an existing trap handler. A big part of the solution to those issues was to use a feature called IST, which allows you to unconditionally change stacks when you take an interrupt.&lt;/p&gt;

&lt;p&gt;Traditionally, x86 only changes the stack pointer (%rsp on AMD64) while taking an interrupt when there is a privilege level change. If you take an interrupt while already in the kernel, the CPU does not change the stack pointer, and simply pushes the interrupt stack frame onto the stack you're already using. IST makes the change of stack pointer unconditional. If used unwisely, this is a bad idea: if you stay on that stack and turn interrupts back on, you could take another interrupt and clobber the frame you're already in. However, in it I saw a possible way to simplify the KPTI trampoline logic and avoid having to deal with %gs.&lt;/p&gt;

&lt;p&gt;A few weeks into the project, John Levon joined us at work. He had previously worked on a bunch of Xen-related stuff as well as other parts of the kernel very close to where we were, so he quickly got up to speed with the KPTI work as well. He and I drafted out a "crazy idea" on the whiteboard one afternoon where we would use IST for all interrupts on the system, and put the "stack" they used in the KPTI page on the end of the cpu_t. Then, they could easily use stack-relative addresses to get the page table to change to, then pivot their stack to the real kernel stack memory, and throw away (almost) all the conditional logic. A few days later, we had convinced each other that this was the way to go.&lt;/p&gt;

&lt;p&gt;Two of the most annoying x86 issues we had to work around were related to the SYSENTER instruction. This instruction is used to make "fast" system calls in 32-bit userland. It has a couple of unfortunate properties: firstly, it doesn't save or restore RFLAGS, so the kernel code has to take care of this (and be very careful not to clobber any of it before saving or after restoring it). Secondly, if you execute SYSENTER with the TF ("trap"/single-step flag) set by a debugger, the resulting debug trap's frame points at kernel code instead of the user code where it actually happened. The first one requires some careful gymnastics on the entry and return trampolines specifically for SYSENTER, while the second is a nasty case that is incidentally made easier by using IST. With IST, we can simply make the debug trap trampoline check for whether we took the trap in another trampoline's code, and reset %cr3 and the destination stack. This works for single-stepping into any of the handlers, not just the one for SYSENTER.&lt;/p&gt;

&lt;p&gt;To make debugging easier, we decided that traps like the debug/single-step trap (as well as faults like page faults, #GP, etc.) would push their interrupt frame in a different part of the KPTI state page to normal interrupts. We applied this change to all the traps that can interrupt another trampoline (based on the instructions we used). These "paranoid" traps also set a flag in the KPTI struct to mark it busy (and jump to the double-fault handler if it is), to work around some bugs where double-faults are not correctly generated.&lt;/p&gt;

&lt;p&gt;It's been a long and busy two months, with lots of time spent building, testing, and validating the code. We've run it on as many kinds of machines as we could get our hands on, to try to make sure we catch issues. The time we've spent on this has been validated several times in the process by finding bugs that could have been nasty in production.&lt;/p&gt;

&lt;p&gt;One great example: our patches on Westmere-EP Xeons were causing busy machines to throw a lot of L0 I-cache parity errors. This seemed very mysterious at first, and it took us a few times seeing it to believe that it was actually our fault. This was actually caused by the accidental activation of a CPU errata for Westmere (B52, "Memory Aliasing of Code Pages May Cause Unpredictable System Behaviour") -- it turned out we had made a typo and put the "cacheable" flag into a variable named flags instead of attrs where it belonged when setting up the page tables. This was causing performance degradation on other machines, but on Westmere it causes cache parity errors as well. This is a great example of the surprising consequences that small mistakes in this kind of code can end up having. In the end, I'm glad that that erratum existed, otherwise it may have been a long time before we caught that bug.&lt;/p&gt;

&lt;p&gt;As of this week, Mike and Philip have committed the OpenBSD patches for KPTI to their repository, and the patches for illumos are out for review. It's a nice kind of symmetry that the two projects who started on the work together after the public disclosure at the same time are both almost ready to ship at the same time at the other end. I'm feeling hopeful, and looking forward to further future collaborations like this with our cousins, the BSDs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The IllumOS work has since landed, on &lt;a href="https://github.com/joyent/illumos-joyent/commit/d85fbfe15cf9925f83722b6d62da49d549af615c" target="_blank" rel="nofollow noopener"&gt;March 12th&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://github.com/vedetta-com/caesonia" target="_blank" rel="nofollow noopener"&gt;OpenBSD Email Service&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Features

&lt;ul&gt;
&lt;li&gt;Efficient: configured to run on min. 512MB RAM and 20GB SSD, a KVM (cloud) VPS for around $2.50/mo&lt;/li&gt;
&lt;li&gt;15GB+ uncompressed Maildir, rivals top free-email providers (grow by upgrading SSD)&lt;/li&gt;
&lt;li&gt;Email messages are gzip compressed, at least 1/3 more space with level 6 default&lt;/li&gt;
&lt;li&gt;Server side full text search (headers and body) can be enabled (to use the extra space)&lt;/li&gt;
&lt;li&gt;Mobile data friendly: IMAPS connections are compressed&lt;/li&gt;
&lt;li&gt;Subaddress (+tag) support, to filter and monitor email addresses&lt;/li&gt;
&lt;li&gt;Virtual domains, aliases, and credentials in files, Berkeley DB, or SQLite3&lt;/li&gt;
&lt;li&gt;Naive Bayes rspamd filtering with supervised learning: the lowest false positive spam detection rates&lt;/li&gt;
&lt;li&gt;Carefree automated Spam/ and Trash/ cleaning service (default: older than 30 days)&lt;/li&gt;
&lt;li&gt;Automated quota management, gently assists when over quota&lt;/li&gt;
&lt;li&gt;Easy backup MX setup: using the same configuration, install in minutes on a different host&lt;/li&gt;
&lt;li&gt;Worry-free automated master/master replication with backup MX, prevents accidental loss of email messages&lt;/li&gt;
&lt;li&gt;Resilient: the backup MX can be used as primary, even when the primary is not down, both perfect replicas&lt;/li&gt;
&lt;li&gt;Flexible: switching roles is easy, making the process of changing VPS hosts a breeze (no downtime)&lt;/li&gt;
&lt;li&gt;DMARC (with DKIM and SPF) email-validation system, to detect and prevent email spoofing&lt;/li&gt;
&lt;li&gt;Daily (spartan) stats, to keep track of things&lt;/li&gt;
&lt;li&gt;Your sieve scripts and managesieve configuration, let's get started&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Considerations&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;By design, email message headers need to be public, for exchanges to happen. The body of the message can be encrypted by the user, if desired. Moreover, there is no way to prevent the host from having access to the virtual machine. Therefore, full disk encryption (at rest) may not be necessary.&lt;/p&gt;

&lt;p&gt;Given our low memory requirements, and the single-purpose concept of email service, Roundcube or other web-based IMAP email clients should be on a different VPS.&lt;/p&gt;

&lt;p&gt;Antivirus software users (usually) have the service running on their devices. ClamAV can easily be incorporated into this configuration, if affected by the types of malware it protects against, but will require around 1GB additional RAM (or another VPS).&lt;/p&gt;

&lt;p&gt;Every email message is important, if properly delivered, for Bayes classification. At least 200 ham and 200 spam messages are required to learn what one considers junk. By default (change to use case), a rspamd score above 50% will send the message to Spam/. Moving messages in and out of Spam/ changes this score. After 95%, the message is flagged as "seen" and can be safely ignored.&lt;/p&gt;

&lt;p&gt;Spamd is effective at greylisting and stopping high volume spam, if it becomes a problem. It will be an option when IPv6 is supported, along with bgp-spamd.&lt;/p&gt;

&lt;p&gt;System mail is delivered to an alias mapped to a virtual user served by the service. This way, messages are guaranteed to be delivered via encrypted connection. It is not possible for real users to alias, nor mail an external mail address with the default configuration. e.g. &lt;a href="mailto:puffy@mercury.example.com" target="_blank" rel="nofollow noopener"&gt;puffy@mercury.example.com&lt;/a&gt; is wheel, with an alias mapped to (virtual) &lt;a href="mailto:puffy@example.com" target="_blank" rel="nofollow noopener"&gt;puffy@example.com&lt;/a&gt;, and user (puffy) can be different for each.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Interview - Ryan Zezeski - &lt;a href="mailto:rpz@joyent.com" target="_blank" rel="nofollow noopener"&gt;rpz@joyent.com&lt;/a&gt; / &lt;a href="https://twitter.com/rzezeski" target="_blank" rel="nofollow noopener"&gt;@rzezeski&lt;/a&gt;&lt;/h2&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.facebook.com/permalink.php?story_fbid=2110408722526967&amp;amp;id=100006735798590" target="_blank" rel="nofollow noopener"&gt;John Carmack's programming retreat to hermit coding with OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;After a several year gap, I finally took another week-long programming retreat, where I could work in hermit mode, away from the normal press of work. My wife has been generously offering it to me the last few years, but I’m generally bad at taking vacations from work.&lt;br&gt;
As a change of pace from my current Oculus work, I wanted to write some from-scratch-in-C++ neural network implementations, and I wanted to do it with a strictly base OpenBSD system. Someone remarked that is a pretty random pairing, but it worked out ok.&lt;br&gt;
Despite not having actually used it, I have always been fond of the idea of OpenBSD — a relatively minimal and opinionated system with a cohesive vision and an emphasis on quality and craftsmanship. Linux is a lot of things, but cohesive isn’t one of them.&lt;br&gt;
I’m not a Unix geek. I get around ok, but I am most comfortable developing in Visual Studio on Windows. I thought a week of full immersion work in the old school Unix style would be interesting, even if it meant working at a slower pace. It was sort of an adventure in retro computing — this was fvwm and vi. Not vim, actual BSD vi.&lt;br&gt;
In the end, I didn’t really explore the system all that much, with 95% of my time in just the basic vi / make / gdb operations. I appreciated the good man pages, as I tried to do everything within the self contained system, without resorting to internet searches. Seeing references to 30+ year old things like Tektronix terminals was amusing.&lt;br&gt;
I was a little surprised that the C++ support wasn’t very good. G++ didn’t support C++11, and LLVM C++ didn’t play nicely with gdb. Gdb crashed on me a lot as well, I suspect due to C++ issues. I know you can get more recent versions through ports, but I stuck with using the base system.&lt;br&gt;
In hindsight, I should have just gone full retro and done everything in ANSI C. I do have plenty of days where, like many older programmers, I think “Maybe C++ isn’t as much of a net positive as we assume...”. There is still much that I like, but it isn’t a hardship for me to build small projects in plain C.&lt;br&gt;
Maybe next time I do this I will try to go full emacs, another major culture that I don’t have much exposure to.&lt;br&gt;
I have a decent overview understanding of most machine learning algorithms, and I have done some linear classifier and decision tree work, but for some reason I have avoided neural networks. On some level, I suspect that Deep Learning being so trendy tweaked a little bit of contrarian in me, and I still have a little bit of a reflexive bias against “throw everything at the NN and let it sort it out!”&lt;br&gt;
In the spirit of my retro theme, I had printed out several of Yann LeCun’s old papers and was considering doing everything completely off line, as if I was actually in a mountain cabin somewhere, but I wound up watching a lot of the Stanford CS231N lectures on YouTube, and found them really valuable. Watching lecture videos is something that I very rarely do — it is normally hard for me to feel the time is justified, but on retreat it was great!&lt;br&gt;
I don’t think I have anything particularly insightful to add about neural networks, but it was a very productive week for me, solidifying “book knowledge” into real experience.&lt;br&gt;
I used a common pattern for me: get first results with hacky code, then write a brand new and clean implementation with the lessons learned, so they both exist and can be cross checked.&lt;br&gt;
I initially got backprop wrong both times, comparison with numerical differentiation was critical! It is interesting that things still train even when various parts are pretty wrong — as long as the sign is right most of the time, progress is often made.&lt;br&gt;
I was pretty happy with my multi-layer neural net code; it wound up in a form that I can just drop it into future efforts. Yes, for anything serious I should use an established library, but there are a lot of times when just having a single .cpp and .h file that you wrote ever line of is convenient.&lt;br&gt;
My conv net code just got to the hacky but working phase, I could have used another day or two to make a clean and flexible implementation.&lt;br&gt;
One thing I found interesting was that when testing on MNIST with my initial NN before adding any convolutions, I was getting significantly better results than the non-convolutional NN reported for comparison in LeCun ‘98 — right around 2% error on the test set with a single 100 node hidden layer, versus 3% for both wider and deeper nets back then. I attribute this to the modern best practices —ReLU, Softmax, and better initialization.&lt;br&gt;
This is one of the most fascinating things about NN work — it is all so simple, and the breakthrough advances are often things that can be expressed with just a few lines of code. It feels like there are some similarities with ray tracing in the graphics world, where you can implement a physically based light transport ray tracer quite quickly, and produce state of the art images if you have the data and enough runtime patience.&lt;br&gt;
I got a much better gut-level understanding of overtraining / generalization / regularization by exploring a bunch of training parameters. On the last night before I had to head home, I froze the architecture and just played with hyperparameters. “Training!” Is definitely worse than “Compiling!” for staying focused.&lt;br&gt;
Now I get to keep my eyes open for a work opportunity to use the new skills!&lt;br&gt;
I am dreading what my email and workspace are going to look like when I get into the office tomorrow.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180310000858" target="_blank" rel="nofollow noopener"&gt;Stack-register Checking&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Recently, Theo de Raadt (deraadt@) described a new type of mitigation he has been working on together with Stefan Kempf (stefan@):&lt;br&gt;
How about we add another new permission!  This is not a hardware permission, but a software permission.  It is opportunistically enforced by the kernel.&lt;br&gt;
The permission is MAP_STACK.  If you want to use memory as a stack, you must mmap it with that flag bit.  The kernel does so automatically for the stack region of a process's stack.  Two other types of stack occur: thread stacks, and alternate signal stacks.  Those are handled&lt;br&gt;
in clever ways.&lt;br&gt;
When a system call happens, we check if the stack-pointer register points to such a page.  If it doesn't, the program is killed.  We have tightened the ABI.  You may no longer point your stack register at non-stack memory.  You'll be killed.  This checking code is MI, so it works for all platforms.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;For more detail, see &lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=152035796722258&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;Theo's original message&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This is now available in snapshots, and people are finding the first problems in the ports tree already. So far, few issues have been uncovered, but as Theo points out, more testing is necessary:&lt;/p&gt;

&lt;p&gt;Fairly good results.&lt;br&gt;
A total of 4 problems have been found so far.  go, SBCL, and two cases in src/regress which failed the new page-alignment requirement.  The SBCL and go ones were found at buildtime, since they use themselves to complete build.&lt;br&gt;
But more page-alignment violations may be found in ports at runtime.&lt;br&gt;
This is something I worry about a bit.  So please everyone out there can help: Use snapshots which contain the stack-check diff, update to new packages, and test all possible packages.  Really need a lot of testing for this, so please help out.&lt;/p&gt;

&lt;p&gt;So, everybody, install the latest snapshot and try all your favorite ports. This is the time to report issues you find, so there is a good chance this additional security feature is present in 6.3 (and works with third party software from packages).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://freeshell.de/%7Emk/projects/nomadbsd.html" target="_blank" rel="nofollow noopener"&gt;NomadBSD 1.0 has been released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;NomadBSD is a live system for flash drives, based on FreeBSD® 11.1 (amd64)&lt;/li&gt;
&lt;li&gt;Change Log

&lt;ul&gt;
&lt;li&gt;The setup process has been improved.&lt;/li&gt;
&lt;li&gt;Support for optional geli encryption of the home partition has been added&lt;/li&gt;
&lt;li&gt;Auto-detection of NVIDIA graphics cards and their corresponding driver has been added.  (Thanks to holgerw and lme from BSDForen.de)&lt;/li&gt;
&lt;li&gt;An rc script to start the GEOM disk scheduler on the root device has been added.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;More software has been added:

&lt;ul&gt;
&lt;li&gt;accessibility/redshift (starts automatically)&lt;/li&gt;
&lt;li&gt;audio/cantata&lt;/li&gt;
&lt;li&gt;audio/musicpd&lt;/li&gt;
&lt;li&gt;audio/ncmpc&lt;/li&gt;
&lt;li&gt;ftp/filezilla&lt;/li&gt;
&lt;li&gt;games/bsdtris&lt;/li&gt;
&lt;li&gt;mail/neomutt&lt;/li&gt;
&lt;li&gt;math/galculator&lt;/li&gt;
&lt;li&gt;net-p2p/transmission-qt5&lt;/li&gt;
&lt;li&gt;security/fpm2&lt;/li&gt;
&lt;li&gt;sysutils/bsdstats&lt;/li&gt;
&lt;li&gt;x11/metalock&lt;/li&gt;
&lt;li&gt;x11/xbindkeys&lt;/li&gt;
&lt;li&gt;Several smaller improvements and bugfixes.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Screenshots

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss1.png" target="_blank" rel="nofollow noopener"&gt;https://freeshell.de/~mk/projects/nomadbsd-ss1.png&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss2.png" target="_blank" rel="nofollow noopener"&gt;https://freeshell.de/~mk/projects/nomadbsd-ss2.png&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss3.png" target="_blank" rel="nofollow noopener"&gt;https://freeshell.de/~mk/projects/nomadbsd-ss3.png&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss4.png" target="_blank" rel="nofollow noopener"&gt;https://freeshell.de/~mk/projects/nomadbsd-ss4.png&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss5.png" target="_blank" rel="nofollow noopener"&gt;https://freeshell.de/~mk/projects/nomadbsd-ss5.png&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss6.png" target="_blank" rel="nofollow noopener"&gt;https://freeshell.de/~mk/projects/nomadbsd-ss6.png&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://knoxbug.org/2018-03-27" target="_blank" rel="nofollow noopener"&gt;KnoxBug - Nagios&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PLfJr0tWo35bc9FG_reSki2S5S0G8imqB4" target="_blank" rel="nofollow noopener"&gt;vBSDcon videos landing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/playlist?list=PLnTFqpZk5ebBTyXedudGm6CwedJGsE2Py" target="_blank" rel="nofollow noopener"&gt;AsiaBSDCon 2017 videos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=DragonFlyBSD-Ptr-Restrict" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD Adds New "Ptr_Restrict" Security Option&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/michaeldexter/status/975603855407788032" target="_blank" rel="nofollow noopener"&gt;A Dexter needs your help&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180309064801" target="_blank" rel="nofollow noopener"&gt;Mike Larkin at bhyvecon 2018: OpenBSD vmm(4) update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-arch/2018-March/018900.html" target="_blank" rel="nofollow noopener"&gt;[HEADS UP] - OFED/RDMA stack update&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Ron - &lt;a href="http://dpaste.com/3BM6GSW#wrap" target="_blank" rel="nofollow noopener"&gt;Interview someone using DragonflyBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/3X4ZZK2#wrap" target="_blank" rel="nofollow noopener"&gt;Gaming and all&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mohammad - &lt;a href="http://dpaste.com/0PJMKRD#wrap" target="_blank" rel="nofollow noopener"&gt;Sockets vs TCP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Paul - &lt;a href="http://dpaste.com/2WXVR1X#wrap" target="_blank" rel="nofollow noopener"&gt;All or at least most of Bryan Cantrill's Talks&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Looking at Lumina Desktop 2.0, 2 months of KPTI development in SmartOS, OpenBSD email service, an interview with Ryan Zezeski, NomadBSD released, and John Carmack's programming retreat with OpenBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.trueos.org/blog/looking-lumina-desktop-2-0/" target="_blank" rel="nofollow noopener">Looking at Lumina Desktop 2.0</a></h3>

<blockquote>
<p>A few weeks ago I sat down with Lead Developer Ken Moore of the TrueOS Project to get answers to some of the most frequently asked questions about Lumina Desktop from the open source community. Here is what he said on Lumina Desktop 2.0.  Do you have a question for Ken and the rest of the team over at the TrueOS Project? Make sure to read the interview and comment below. We are glad to answer your questions!</p>

<p>Ken: Lumina Desktop 2.0 is a significant overhaul compared to Lumina 1.x. Almost every single subsystem of the desktop has been streamlined, resulting in a nearly-total conversion in many important areas.</p>

<p>With Lumina Desktop 2.0 we will finally achieve our long-term goal of turning Lumina into a complete, end-to-end management system for the graphical session and removing all the current runtime dependencies from Lumina 1.x (Fluxbox, xscreensaver, compton/xcompmgr). The functionality from those utilities is now provided by Lumina Desktop itself.</p>

<p>Going along with the session management changes, we have compressed the entire desktop into a single, multi-threaded binary. This means that if any rogue script or tool starts trying to muck about with the memory used by the desktop (probably even more relevant now than when we started working on this), the entire desktop session will close/crash rather than allowing targeted application crashes to bypass the session security mechanisms. By the same token, this also prevents man-in-the-middle type of attacks because the desktop does not use any sort of external messaging system to communicate (looking at you <code>dbus</code>). This also gives a large performance boost to Lumina Desktop</p>

<p>The entire system for how a users settings get saved and loaded has been completely redone, making it a layered settings system which allows the default settings (Lumina) to get transparently replaced by system settings (OS/Distributor/SysAdmin) which can get replaced by individual user settings. This results in the actual changes in the user setting files to be kept to a minimum and allows for a smooth transition between updates to the OS or Desktop. This also provides the ability to restrict a users desktop session (based on a system config file) to the default system settings and read-only user sessions for certain business applications.</p>

<p>The entire graphical interface has been written in QML in order to fully-utilize hardware-based GPU acceleration with OpenGL while the backend logic and management systems are still written entirely in C++. This results in blazing fast performance on the backend systems (myriad multi-threaded C++ objects) as well as a smooth and responsive graphical interface with all the bells and whistles (drag and drop, compositing, shading, etc).</p>
</blockquote>

<ul>
<li>Q: Are there future plans to implement something like Lumina in a MAC Jail?</li>
</ul>

<blockquote>
<p>While I have never tried out Lumina in a MAC jail, I do not see anything on that page which should stop it from running in one right now. Lumina is already designed to be run as an unpriviledged user and is very smart about probing the system to find out what is/not available before showing anything to the user. The only thing that comes to mind is that you might need to open up some other system devices so that X11 itself can draw to the display (graphical environment setup is a bit different than CLI environment).</p>
</blockquote>

<ul>
<li>Q: I look forward to these changes. I know the last time I used it when I would scroll I would get flashes like the refresh rate was not high enough. It will be nice to have a fast system as well as I know with the more changes Linux is becoming slower. Not once it has loaded but in the loading process. I will do another download when these changes come out and install again and maybe stay this time.</li>
</ul>

<blockquote>
<p>If I recall correctly, one of the very first versions of Lumina (pre-1.0) would occasionally flicker. If that is still happening, you might want to verify that you are using the proper video driver for your hardware and/or enable the compositor within the Lumina settings.</p>
</blockquote>

<ul>
<li>Q: Why was enlightenment project not considered for TrueOS? It is BSD licensed and is written in C.</li>
</ul>

<blockquote>
<p>This was a common question about 4(?) years ago with the first release of the Lumina desktop and it basically boiled down to long-term support and reliability of the underlying toolkit. Some of the things we had to consider were: cross-platform/cross-architecture support, dependency reliability and support framework (Qt5 &gt; EFL), and runtime requirements and dependency tracking (Qt5 is lighter than the EFL). That plus the fact that the EFL specifically states that it is linux-focused and the BSDs are just an afterthought (especially at the time we were doing the evaluation).</p>
</blockquote>

<ul>
<li>Q: I have two questions.

<ul>
<li>1) The default layout of Unity(menu bar with actual menu entries on top and icon dock on the side) is one of the few things I liked about my first voyage into non-Windows systems, and have been missing since moving on to other distros(and now also other non-Linux systems). However in 1.4.0 screenshots on Luminas site, the OSX-like layout has the menu attached to the window. Will 2.0 be able to have the menus on the bar?</li>
<li>2) Is there any timeline for a public release, or are you taking a when its ready approach?</li>
</ul></li>
</ul>

<blockquote>
<ol>
<li>In Lumina you can already put panels on the left/right side of the screen and give you something like the layout of the Unity desktop. The embedded menu system is not available in Lumina because that is not a specification supported by X11 and the window manager standards at the present time. The way that functionality is currently run on Linux is a hacky-bypass of the display system which only really works with the GTK3 and Qt5 toolkits, resulting in very odd overall desktop behavior in mixed environments where some apps use other graphical toolkits.</li>
<li>We are targetting the 18.06 STABLE release of TrueOS for Lumina 2, but that is just a guideline and if necessary we will push back the release date to allow for additional testing/fixing as needed.</li>
</ol>
</blockquote>

<hr>

<h3><a href="https://blog.cooperi.net/a-long-two-months" target="_blank" rel="nofollow noopener">A long two months</a></h3>

<ul>
<li>IllumOS/SmartOS developer Alex Wilson describes the journey of developing KPTI for IllumOS
&gt; On Monday (January 1st) I had the day off work for New Year's day, as is usual in most of the western world, so I slept in late. Lou and her friend decided to go to the wax museum and see several tourist attractions around SF, and I decided to pass the day at home reading. That afternoon, work chat started talking about a Tumblr post by pythonsweetness about an Intel hardware security bug. At the time I definitely did not suspect that this was going to occupy most of my working life for the next (almost) two months.</li>
</ul>

<blockquote>
<p>Like many people who work on system security, I had read Anders Fogh's post about a "Negative Result" in speculative execution research in July of 2017. At the time I thought it was an interesting writeup and I remember being glad that researchers were looking into this area. I sent the post to Bryan and asked him about his thoughts on it at the time, to which he replied saying that "it would be shocking if they left a way to directly leak out memory in the speculative execution". None of us seriously thought that there would be low-hanging fruit down that research path, but we also felt it was important that there was someone doing work in the area who was committed to public disclosure.</p>

<p>At first, after reading the blog post on Monday, we thought (or hoped) that the bug might "just" be a KASLR bypass and wouldn't require a lot of urgency. We tried to reach out to Intel at work to get more information but were met with silence. (We wouldn't hear back from them until after the disclosure was already made public.) The speculation on Tuesday intensified, until finally on Wednesday morning I arrived at the office to find links to late Tuesday night tweets revealing exploits that allowed arbitrary kernel memory reads.</p>

<p>Wednesday was not a happy day. Intel finally responded to our emails -- after they had already initiated public disclosure. We all spent a lot of time reading. An arbitrary kernel memory read (an info leak) is not that uncommon as far as bugs go, but for the most part they tend to be fairly easy to fix. The thing that makes the Meltdown and Spectre bugs particularly notable is that in order to mitigate them, a large amount of change is required in very deep low-level parts of the kernel. The kind of deep parts of the kernel where there are 20-year old errata workarounds that were single-line changes that you have to be very careful to not accidentally undo; the kind of parts where, as they say, mortals fear to tread.</p>

<p>On Friday we saw the patches Matthew Dillon put together for DragonFlyBSD for the first time. These were the first patches for KPTI that were very straightforward to read and understand, and applied to a BSD-derived kernel that was similar to those I'm accustomed to working on.</p>

<p>To mitigate Meltdown (and partially one of the Spectre variants), you have to make sure that speculative execution cannot reach any sensitive data from a user context. This basically means that the pages the kernel uses for anything potentially sensitive have to be unmapped when we are running user code. Traditionally, CPUs that were built to run a multi-user, UNIX-like OS did this by default (SPARC is an example of such a CPU which has completely separate address spaces for the kernel and userland). However, x86 descends from a single-address-space microcontroller that has grown up avoiding backwards-incompatible changes, and has never really introduced a clean notion of multiple address spaces (segmentation is the closest feature really, and it was thrown out for 64-bit AMD64). Instead, operating systems for x86 have generally wound up (at least in the post-AMD64 era) with flat address space models where the kernel text and data is always present in the page table no matter whether you're in user or kernel mode. The kernel mappings simply have the "supervisor" bit set on them so that user code can't directly access them.</p>

<p>The mitigation is basically to stop doing this: to stop mapping the kernel text, data and other memory into the page table while we're running in userland. Unfortunately, the x86 design does not make this easy. In order to be able to take interrupts or traps, the CPU has to have a number of structures mapped in the current page table at all times. There is also no ability to tell an x86 CPU that you want it to switch page tables when an interrupt occurs. So, the code that we jump to when we take an interrupt, as well as space for a stack to push context onto have to be available in both page tables. And finally, of course, we need to be able to figure out somehow what the other page table we should switch to is when we enter the kernel.</p>

<p>When we looked at the patches for Linux (and also the DragonFlyBSD patches at the time) on Friday and started asking questions, it became pretty evident that the initial work done by both was done under time constraints. Both had left the full kernel text mapped in both page tables, and the Linux trampoline design seemed over-complex. I started talking over some ideas with Robert Mustacchi about ways to fix these and who we should talk to, and reached out to some of my old workmates from the University of Queensland who were involved with OpenBSD. It seemed to me that the OpenBSD developers would care about these issues even more than we did, and would want to work out how to do the mitigation right.</p>

<p>I ended up sending an email to Philip Guenther on Friday afternoon, and on Saturday morning I drove an hour or so to meet up with him for coffee to talk page tables and interrupt trampolines. We wound up spending a good 6 hours at the coffee shop, and I came back with several pages of notes and a half-decent idea of the shape of the work to come.</p>

<p>One detail we missed that day was the interaction of per-CPU structures with per-process page tables. Much of the interrupt trampoline work is most easily done by using per-CPU structures in memory (and you definitely want a per-CPU stack!). If you combine that with per-process page tables, however, you have a problem: if you leave all the per-CPU areas mapped in all the processes, you will leak information (via Meltdown) about the state of one process to a different one when taking interrupts. In particular, you will leak things like %rip, which ruins all the work being done with PIE and ASLR pretty quickly. So, there are two options: you can either allocate the per-CPU structures per-process (so you end up with $NCPUS * $NPROCS of them); or you can make the page tables per-CPU.</p>

<p>OpenBSD, like Linux and the other implementations so far, decided to go down the road of per-CPU per-process pages to solve this issue. For illumos, we took the other route.</p>

<p>In illumos, it turned out that we already had per-CPU page tables. Robert and I re-discovered this on the Sunday of that week. We use them for 32-bit processes due to having full P&gt;V PAE support in our kernel (which is, as it turns out, relatively uncommon amongst open-source OS). The logic to deal with creating and managing them and updating them was all already written, and after reading the code we concluded we could basically make a few small changes and re-use all of it. So we did.</p>

<p>By the end of that second week, we had a prototype that could get to userland. But, when working on this kind of kernel change we have a rule of thumb we use: after the first 70% of the patch is done and we can boot again, now it's time for the second 70%. In fact it turned out to be more like the second 200% for us -- a tedious long tail of bugs to solve that ended up necessitating some changes in the design as well.</p>

<p>At first we borrowed the method that Matt Dillon used for DragonFlyBSD, by putting the temporary "stack" space and state data for the interrupt trampolines into an extra page tacked onto the end of *%gs (in illumos the structure that lives there is the cpu_t). </p>

<p>If you read the existing logic in interrupt handlers for dealing with %gs though, you will quickly notice that the corner cases start to build up. There are a bunch of situations where the kernel temporarily alters %gs, and some of the ways to mess it up have security consequences that end up being worse than the bug we're trying to fix. As it turns out, there are no less than 3 different ways that ISRs use to try to get to having the right cpu_t in %gs on illumos, as it turns out, and they are all subtly different. Trying to tell which you should use when requires a bunch of test logic that in turn requires branches and changes to the CPU state, which is difficult to do in a trampoline where you're trying to avoid altering that state as much as possible until you've got the real stack online to push things into.</p>

<p>I kept in touch with Philip Guenther and Mike Larkin from the OpenBSD project throughout the weeks that followed. In one of the discussions we had, we talked about the NMI/MCE handlers and the fact that their handling currently on OpenBSD neglected some nasty corner-cases around interrupting an existing trap handler. A big part of the solution to those issues was to use a feature called IST, which allows you to unconditionally change stacks when you take an interrupt.</p>

<p>Traditionally, x86 only changes the stack pointer (%rsp on AMD64) while taking an interrupt when there is a privilege level change. If you take an interrupt while already in the kernel, the CPU does not change the stack pointer, and simply pushes the interrupt stack frame onto the stack you're already using. IST makes the change of stack pointer unconditional. If used unwisely, this is a bad idea: if you stay on that stack and turn interrupts back on, you could take another interrupt and clobber the frame you're already in. However, in it I saw a possible way to simplify the KPTI trampoline logic and avoid having to deal with %gs.</p>

<p>A few weeks into the project, John Levon joined us at work. He had previously worked on a bunch of Xen-related stuff as well as other parts of the kernel very close to where we were, so he quickly got up to speed with the KPTI work as well. He and I drafted out a "crazy idea" on the whiteboard one afternoon where we would use IST for all interrupts on the system, and put the "stack" they used in the KPTI page on the end of the cpu_t. Then, they could easily use stack-relative addresses to get the page table to change to, then pivot their stack to the real kernel stack memory, and throw away (almost) all the conditional logic. A few days later, we had convinced each other that this was the way to go.</p>

<p>Two of the most annoying x86 issues we had to work around were related to the SYSENTER instruction. This instruction is used to make "fast" system calls in 32-bit userland. It has a couple of unfortunate properties: firstly, it doesn't save or restore RFLAGS, so the kernel code has to take care of this (and be very careful not to clobber any of it before saving or after restoring it). Secondly, if you execute SYSENTER with the TF ("trap"/single-step flag) set by a debugger, the resulting debug trap's frame points at kernel code instead of the user code where it actually happened. The first one requires some careful gymnastics on the entry and return trampolines specifically for SYSENTER, while the second is a nasty case that is incidentally made easier by using IST. With IST, we can simply make the debug trap trampoline check for whether we took the trap in another trampoline's code, and reset %cr3 and the destination stack. This works for single-stepping into any of the handlers, not just the one for SYSENTER.</p>

<p>To make debugging easier, we decided that traps like the debug/single-step trap (as well as faults like page faults, #GP, etc.) would push their interrupt frame in a different part of the KPTI state page to normal interrupts. We applied this change to all the traps that can interrupt another trampoline (based on the instructions we used). These "paranoid" traps also set a flag in the KPTI struct to mark it busy (and jump to the double-fault handler if it is), to work around some bugs where double-faults are not correctly generated.</p>

<p>It's been a long and busy two months, with lots of time spent building, testing, and validating the code. We've run it on as many kinds of machines as we could get our hands on, to try to make sure we catch issues. The time we've spent on this has been validated several times in the process by finding bugs that could have been nasty in production.</p>

<p>One great example: our patches on Westmere-EP Xeons were causing busy machines to throw a lot of L0 I-cache parity errors. This seemed very mysterious at first, and it took us a few times seeing it to believe that it was actually our fault. This was actually caused by the accidental activation of a CPU errata for Westmere (B52, "Memory Aliasing of Code Pages May Cause Unpredictable System Behaviour") -- it turned out we had made a typo and put the "cacheable" flag into a variable named flags instead of attrs where it belonged when setting up the page tables. This was causing performance degradation on other machines, but on Westmere it causes cache parity errors as well. This is a great example of the surprising consequences that small mistakes in this kind of code can end up having. In the end, I'm glad that that erratum existed, otherwise it may have been a long time before we caught that bug.</p>

<p>As of this week, Mike and Philip have committed the OpenBSD patches for KPTI to their repository, and the patches for illumos are out for review. It's a nice kind of symmetry that the two projects who started on the work together after the public disclosure at the same time are both almost ready to ship at the same time at the other end. I'm feeling hopeful, and looking forward to further future collaborations like this with our cousins, the BSDs.</p>
</blockquote>

<ul>
<li>The IllumOS work has since landed, on <a href="https://github.com/joyent/illumos-joyent/commit/d85fbfe15cf9925f83722b6d62da49d549af615c" target="_blank" rel="nofollow noopener">March 12th</a>
***</li>
</ul>

<h3><a href="https://github.com/vedetta-com/caesonia" target="_blank" rel="nofollow noopener">OpenBSD Email Service</a></h3>

<ul>
<li>Features

<ul>
<li>Efficient: configured to run on min. 512MB RAM and 20GB SSD, a KVM (cloud) VPS for around $2.50/mo</li>
<li>15GB+ uncompressed Maildir, rivals top free-email providers (grow by upgrading SSD)</li>
<li>Email messages are gzip compressed, at least 1/3 more space with level 6 default</li>
<li>Server side full text search (headers and body) can be enabled (to use the extra space)</li>
<li>Mobile data friendly: IMAPS connections are compressed</li>
<li>Subaddress (+tag) support, to filter and monitor email addresses</li>
<li>Virtual domains, aliases, and credentials in files, Berkeley DB, or SQLite3</li>
<li>Naive Bayes rspamd filtering with supervised learning: the lowest false positive spam detection rates</li>
<li>Carefree automated Spam/ and Trash/ cleaning service (default: older than 30 days)</li>
<li>Automated quota management, gently assists when over quota</li>
<li>Easy backup MX setup: using the same configuration, install in minutes on a different host</li>
<li>Worry-free automated master/master replication with backup MX, prevents accidental loss of email messages</li>
<li>Resilient: the backup MX can be used as primary, even when the primary is not down, both perfect replicas</li>
<li>Flexible: switching roles is easy, making the process of changing VPS hosts a breeze (no downtime)</li>
<li>DMARC (with DKIM and SPF) email-validation system, to detect and prevent email spoofing</li>
<li>Daily (spartan) stats, to keep track of things</li>
<li>Your sieve scripts and managesieve configuration, let's get started</li>
</ul></li>
<li>Considerations</li>
</ul>

<blockquote>
<p>By design, email message headers need to be public, for exchanges to happen. The body of the message can be encrypted by the user, if desired. Moreover, there is no way to prevent the host from having access to the virtual machine. Therefore, full disk encryption (at rest) may not be necessary.</p>

<p>Given our low memory requirements, and the single-purpose concept of email service, Roundcube or other web-based IMAP email clients should be on a different VPS.</p>

<p>Antivirus software users (usually) have the service running on their devices. ClamAV can easily be incorporated into this configuration, if affected by the types of malware it protects against, but will require around 1GB additional RAM (or another VPS).</p>

<p>Every email message is important, if properly delivered, for Bayes classification. At least 200 ham and 200 spam messages are required to learn what one considers junk. By default (change to use case), a rspamd score above 50% will send the message to Spam/. Moving messages in and out of Spam/ changes this score. After 95%, the message is flagged as "seen" and can be safely ignored.</p>

<p>Spamd is effective at greylisting and stopping high volume spam, if it becomes a problem. It will be an option when IPv6 is supported, along with bgp-spamd.</p>

<p>System mail is delivered to an alias mapped to a virtual user served by the service. This way, messages are guaranteed to be delivered via encrypted connection. It is not possible for real users to alias, nor mail an external mail address with the default configuration. e.g. <a href="mailto:puffy@mercury.example.com" target="_blank" rel="nofollow noopener">puffy@mercury.example.com</a> is wheel, with an alias mapped to (virtual) <a href="mailto:puffy@example.com" target="_blank" rel="nofollow noopener">puffy@example.com</a>, and user (puffy) can be different for each.</p>

<hr>
</blockquote>

<h2>Interview - Ryan Zezeski - <a href="mailto:rpz@joyent.com" target="_blank" rel="nofollow noopener">rpz@joyent.com</a> / <a href="https://twitter.com/rzezeski" target="_blank" rel="nofollow noopener">@rzezeski</a></h2>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.facebook.com/permalink.php?story_fbid=2110408722526967&amp;id=100006735798590" target="_blank" rel="nofollow noopener">John Carmack's programming retreat to hermit coding with OpenBSD</a></h3>

<blockquote>
<p>After a several year gap, I finally took another week-long programming retreat, where I could work in hermit mode, away from the normal press of work. My wife has been generously offering it to me the last few years, but Im generally bad at taking vacations from work.<br>
As a change of pace from my current Oculus work, I wanted to write some from-scratch-in-C++ neural network implementations, and I wanted to do it with a strictly base OpenBSD system. Someone remarked that is a pretty random pairing, but it worked out ok.<br>
Despite not having actually used it, I have always been fond of the idea of OpenBSD  a relatively minimal and opinionated system with a cohesive vision and an emphasis on quality and craftsmanship. Linux is a lot of things, but cohesive isnt one of them.<br>
Im not a Unix geek. I get around ok, but I am most comfortable developing in Visual Studio on Windows. I thought a week of full immersion work in the old school Unix style would be interesting, even if it meant working at a slower pace. It was sort of an adventure in retro computing  this was fvwm and vi. Not vim, actual BSD vi.<br>
In the end, I didnt really explore the system all that much, with 95% of my time in just the basic vi / make / gdb operations. I appreciated the good man pages, as I tried to do everything within the self contained system, without resorting to internet searches. Seeing references to 30+ year old things like Tektronix terminals was amusing.<br>
I was a little surprised that the C++ support wasnt very good. G++ didnt support C++11, and LLVM C++ didnt play nicely with gdb. Gdb crashed on me a lot as well, I suspect due to C++ issues. I know you can get more recent versions through ports, but I stuck with using the base system.<br>
In hindsight, I should have just gone full retro and done everything in ANSI C. I do have plenty of days where, like many older programmers, I think Maybe C++ isnt as much of a net positive as we assume.... There is still much that I like, but it isnt a hardship for me to build small projects in plain C.<br>
Maybe next time I do this I will try to go full emacs, another major culture that I dont have much exposure to.<br>
I have a decent overview understanding of most machine learning algorithms, and I have done some linear classifier and decision tree work, but for some reason I have avoided neural networks. On some level, I suspect that Deep Learning being so trendy tweaked a little bit of contrarian in me, and I still have a little bit of a reflexive bias against throw everything at the NN and let it sort it out!<br>
In the spirit of my retro theme, I had printed out several of Yann LeCuns old papers and was considering doing everything completely off line, as if I was actually in a mountain cabin somewhere, but I wound up watching a lot of the Stanford CS231N lectures on YouTube, and found them really valuable. Watching lecture videos is something that I very rarely do  it is normally hard for me to feel the time is justified, but on retreat it was great!<br>
I dont think I have anything particularly insightful to add about neural networks, but it was a very productive week for me, solidifying book knowledge into real experience.<br>
I used a common pattern for me: get first results with hacky code, then write a brand new and clean implementation with the lessons learned, so they both exist and can be cross checked.<br>
I initially got backprop wrong both times, comparison with numerical differentiation was critical! It is interesting that things still train even when various parts are pretty wrong  as long as the sign is right most of the time, progress is often made.<br>
I was pretty happy with my multi-layer neural net code; it wound up in a form that I can just drop it into future efforts. Yes, for anything serious I should use an established library, but there are a lot of times when just having a single .cpp and .h file that you wrote ever line of is convenient.<br>
My conv net code just got to the hacky but working phase, I could have used another day or two to make a clean and flexible implementation.<br>
One thing I found interesting was that when testing on MNIST with my initial NN before adding any convolutions, I was getting significantly better results than the non-convolutional NN reported for comparison in LeCun 98  right around 2% error on the test set with a single 100 node hidden layer, versus 3% for both wider and deeper nets back then. I attribute this to the modern best practices ReLU, Softmax, and better initialization.<br>
This is one of the most fascinating things about NN work  it is all so simple, and the breakthrough advances are often things that can be expressed with just a few lines of code. It feels like there are some similarities with ray tracing in the graphics world, where you can implement a physically based light transport ray tracer quite quickly, and produce state of the art images if you have the data and enough runtime patience.<br>
I got a much better gut-level understanding of overtraining / generalization / regularization by exploring a bunch of training parameters. On the last night before I had to head home, I froze the architecture and just played with hyperparameters. Training! Is definitely worse than Compiling! for staying focused.<br>
Now I get to keep my eyes open for a work opportunity to use the new skills!<br>
I am dreading what my email and workspace are going to look like when I get into the office tomorrow.</p>

<hr>
</blockquote>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180310000858" target="_blank" rel="nofollow noopener">Stack-register Checking</a></h3>

<blockquote>
<p>Recently, Theo de Raadt (deraadt@) described a new type of mitigation he has been working on together with Stefan Kempf (stefan@):<br>
How about we add another new permission!  This is not a hardware permission, but a software permission.  It is opportunistically enforced by the kernel.<br>
The permission is MAP_STACK.  If you want to use memory as a stack, you must mmap it with that flag bit.  The kernel does so automatically for the stack region of a process's stack.  Two other types of stack occur: thread stacks, and alternate signal stacks.  Those are handled<br>
in clever ways.<br>
When a system call happens, we check if the stack-pointer register points to such a page.  If it doesn't, the program is killed.  We have tightened the ABI.  You may no longer point your stack register at non-stack memory.  You'll be killed.  This checking code is MI, so it works for all platforms.</p>
</blockquote>

<ul>
<li>For more detail, see <a href="https://marc.info/?l=openbsd-tech&amp;m=152035796722258&amp;w=2" target="_blank" rel="nofollow noopener">Theo's original message</a>.</li>
</ul>

<blockquote>
<p>This is now available in snapshots, and people are finding the first problems in the ports tree already. So far, few issues have been uncovered, but as Theo points out, more testing is necessary:</p>

<p>Fairly good results.<br>
A total of 4 problems have been found so far.  go, SBCL, and two cases in src/regress which failed the new page-alignment requirement.  The SBCL and go ones were found at buildtime, since they use themselves to complete build.<br>
But more page-alignment violations may be found in ports at runtime.<br>
This is something I worry about a bit.  So please everyone out there can help: Use snapshots which contain the stack-check diff, update to new packages, and test all possible packages.  Really need a lot of testing for this, so please help out.</p>

<p>So, everybody, install the latest snapshot and try all your favorite ports. This is the time to report issues you find, so there is a good chance this additional security feature is present in 6.3 (and works with third party software from packages).</p>
</blockquote>

<hr>

<h3><a href="https://freeshell.de/%7Emk/projects/nomadbsd.html" target="_blank" rel="nofollow noopener">NomadBSD 1.0 has been released</a></h3>

<ul>
<li>NomadBSD is a live system for flash drives, based on FreeBSD® 11.1 (amd64)</li>
<li>Change Log

<ul>
<li>The setup process has been improved.</li>
<li>Support for optional geli encryption of the home partition has been added</li>
<li>Auto-detection of NVIDIA graphics cards and their corresponding driver has been added.  (Thanks to holgerw and lme from BSDForen.de)</li>
<li>An rc script to start the GEOM disk scheduler on the root device has been added.</li>
</ul></li>
<li>More software has been added:

<ul>
<li>accessibility/redshift (starts automatically)</li>
<li>audio/cantata</li>
<li>audio/musicpd</li>
<li>audio/ncmpc</li>
<li>ftp/filezilla</li>
<li>games/bsdtris</li>
<li>mail/neomutt</li>
<li>math/galculator</li>
<li>net-p2p/transmission-qt5</li>
<li>security/fpm2</li>
<li>sysutils/bsdstats</li>
<li>x11/metalock</li>
<li>x11/xbindkeys</li>
<li>Several smaller improvements and bugfixes.</li>
</ul></li>
<li>Screenshots

<ul>
<li><a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss1.png" target="_blank" rel="nofollow noopener">https://freeshell.de/~mk/projects/nomadbsd-ss1.png</a></li>
<li><a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss2.png" target="_blank" rel="nofollow noopener">https://freeshell.de/~mk/projects/nomadbsd-ss2.png</a></li>
<li><a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss3.png" target="_blank" rel="nofollow noopener">https://freeshell.de/~mk/projects/nomadbsd-ss3.png</a></li>
<li><a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss4.png" target="_blank" rel="nofollow noopener">https://freeshell.de/~mk/projects/nomadbsd-ss4.png</a></li>
<li><a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss5.png" target="_blank" rel="nofollow noopener">https://freeshell.de/~mk/projects/nomadbsd-ss5.png</a></li>
<li><a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss6.png" target="_blank" rel="nofollow noopener">https://freeshell.de/~mk/projects/nomadbsd-ss6.png</a></li>
</ul></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://knoxbug.org/2018-03-27" target="_blank" rel="nofollow noopener">KnoxBug - Nagios</a></li>
<li><a href="https://www.youtube.com/playlist?list=PLfJr0tWo35bc9FG_reSki2S5S0G8imqB4" target="_blank" rel="nofollow noopener">vBSDcon videos landing</a></li>
<li><a href="https://www.youtube.com/playlist?list=PLnTFqpZk5ebBTyXedudGm6CwedJGsE2Py" target="_blank" rel="nofollow noopener">AsiaBSDCon 2017 videos</a></li>
<li><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=DragonFlyBSD-Ptr-Restrict" target="_blank" rel="nofollow noopener">DragonFlyBSD Adds New "Ptr_Restrict" Security Option</a></li>
<li><a href="https://twitter.com/michaeldexter/status/975603855407788032" target="_blank" rel="nofollow noopener">A Dexter needs your help</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180309064801" target="_blank" rel="nofollow noopener">Mike Larkin at bhyvecon 2018: OpenBSD vmm(4) update</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-arch/2018-March/018900.html" target="_blank" rel="nofollow noopener">[HEADS UP] - OFED/RDMA stack update</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Ron - <a href="http://dpaste.com/3BM6GSW#wrap" target="_blank" rel="nofollow noopener">Interview someone using DragonflyBSD</a></li>
<li>Brad - <a href="http://dpaste.com/3X4ZZK2#wrap" target="_blank" rel="nofollow noopener">Gaming and all</a></li>
<li>Mohammad - <a href="http://dpaste.com/0PJMKRD#wrap" target="_blank" rel="nofollow noopener">Sockets vs TCP</a></li>
<li>Paul - <a href="http://dpaste.com/2WXVR1X#wrap" target="_blank" rel="nofollow noopener">All or at least most of Bryan Cantrill's Talks</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Looking at Lumina Desktop 2.0, 2 months of KPTI development in SmartOS, OpenBSD email service, an interview with Ryan Zezeski, NomadBSD released, and John Carmack's programming retreat with OpenBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.trueos.org/blog/looking-lumina-desktop-2-0/" target="_blank" rel="nofollow noopener">Looking at Lumina Desktop 2.0</a></h3>

<blockquote>
<p>A few weeks ago I sat down with Lead Developer Ken Moore of the TrueOS Project to get answers to some of the most frequently asked questions about Lumina Desktop from the open source community. Here is what he said on Lumina Desktop 2.0.  Do you have a question for Ken and the rest of the team over at the TrueOS Project? Make sure to read the interview and comment below. We are glad to answer your questions!</p>

<p>Ken: Lumina Desktop 2.0 is a significant overhaul compared to Lumina 1.x. Almost every single subsystem of the desktop has been streamlined, resulting in a nearly-total conversion in many important areas.</p>

<p>With Lumina Desktop 2.0 we will finally achieve our long-term goal of turning Lumina into a complete, end-to-end management system for the graphical session and removing all the current runtime dependencies from Lumina 1.x (Fluxbox, xscreensaver, compton/xcompmgr). The functionality from those utilities is now provided by Lumina Desktop itself.</p>

<p>Going along with the session management changes, we have compressed the entire desktop into a single, multi-threaded binary. This means that if any rogue script or tool starts trying to muck about with the memory used by the desktop (probably even more relevant now than when we started working on this), the entire desktop session will close/crash rather than allowing targeted application crashes to bypass the session security mechanisms. By the same token, this also prevents man-in-the-middle type of attacks because the desktop does not use any sort of external messaging system to communicate (looking at you <code>dbus</code>). This also gives a large performance boost to Lumina Desktop</p>

<p>The entire system for how a users settings get saved and loaded has been completely redone, making it a layered settings system which allows the default settings (Lumina) to get transparently replaced by system settings (OS/Distributor/SysAdmin) which can get replaced by individual user settings. This results in the actual changes in the user setting files to be kept to a minimum and allows for a smooth transition between updates to the OS or Desktop. This also provides the ability to restrict a users desktop session (based on a system config file) to the default system settings and read-only user sessions for certain business applications.</p>

<p>The entire graphical interface has been written in QML in order to fully-utilize hardware-based GPU acceleration with OpenGL while the backend logic and management systems are still written entirely in C++. This results in blazing fast performance on the backend systems (myriad multi-threaded C++ objects) as well as a smooth and responsive graphical interface with all the bells and whistles (drag and drop, compositing, shading, etc).</p>
</blockquote>

<ul>
<li>Q: Are there future plans to implement something like Lumina in a MAC Jail?</li>
</ul>

<blockquote>
<p>While I have never tried out Lumina in a MAC jail, I do not see anything on that page which should stop it from running in one right now. Lumina is already designed to be run as an unpriviledged user and is very smart about probing the system to find out what is/not available before showing anything to the user. The only thing that comes to mind is that you might need to open up some other system devices so that X11 itself can draw to the display (graphical environment setup is a bit different than CLI environment).</p>
</blockquote>

<ul>
<li>Q: I look forward to these changes. I know the last time I used it when I would scroll I would get flashes like the refresh rate was not high enough. It will be nice to have a fast system as well as I know with the more changes Linux is becoming slower. Not once it has loaded but in the loading process. I will do another download when these changes come out and install again and maybe stay this time.</li>
</ul>

<blockquote>
<p>If I recall correctly, one of the very first versions of Lumina (pre-1.0) would occasionally flicker. If that is still happening, you might want to verify that you are using the proper video driver for your hardware and/or enable the compositor within the Lumina settings.</p>
</blockquote>

<ul>
<li>Q: Why was enlightenment project not considered for TrueOS? It is BSD licensed and is written in C.</li>
</ul>

<blockquote>
<p>This was a common question about 4(?) years ago with the first release of the Lumina desktop and it basically boiled down to long-term support and reliability of the underlying toolkit. Some of the things we had to consider were: cross-platform/cross-architecture support, dependency reliability and support framework (Qt5 &gt; EFL), and runtime requirements and dependency tracking (Qt5 is lighter than the EFL). That plus the fact that the EFL specifically states that it is linux-focused and the BSDs are just an afterthought (especially at the time we were doing the evaluation).</p>
</blockquote>

<ul>
<li>Q: I have two questions.

<ul>
<li>1) The default layout of Unity(menu bar with actual menu entries on top and icon dock on the side) is one of the few things I liked about my first voyage into non-Windows systems, and have been missing since moving on to other distros(and now also other non-Linux systems). However in 1.4.0 screenshots on Luminas site, the OSX-like layout has the menu attached to the window. Will 2.0 be able to have the menus on the bar?</li>
<li>2) Is there any timeline for a public release, or are you taking a when its ready approach?</li>
</ul></li>
</ul>

<blockquote>
<ol>
<li>In Lumina you can already put panels on the left/right side of the screen and give you something like the layout of the Unity desktop. The embedded menu system is not available in Lumina because that is not a specification supported by X11 and the window manager standards at the present time. The way that functionality is currently run on Linux is a hacky-bypass of the display system which only really works with the GTK3 and Qt5 toolkits, resulting in very odd overall desktop behavior in mixed environments where some apps use other graphical toolkits.</li>
<li>We are targetting the 18.06 STABLE release of TrueOS for Lumina 2, but that is just a guideline and if necessary we will push back the release date to allow for additional testing/fixing as needed.</li>
</ol>
</blockquote>

<hr>

<h3><a href="https://blog.cooperi.net/a-long-two-months" target="_blank" rel="nofollow noopener">A long two months</a></h3>

<ul>
<li>IllumOS/SmartOS developer Alex Wilson describes the journey of developing KPTI for IllumOS
&gt; On Monday (January 1st) I had the day off work for New Year's day, as is usual in most of the western world, so I slept in late. Lou and her friend decided to go to the wax museum and see several tourist attractions around SF, and I decided to pass the day at home reading. That afternoon, work chat started talking about a Tumblr post by pythonsweetness about an Intel hardware security bug. At the time I definitely did not suspect that this was going to occupy most of my working life for the next (almost) two months.</li>
</ul>

<blockquote>
<p>Like many people who work on system security, I had read Anders Fogh's post about a "Negative Result" in speculative execution research in July of 2017. At the time I thought it was an interesting writeup and I remember being glad that researchers were looking into this area. I sent the post to Bryan and asked him about his thoughts on it at the time, to which he replied saying that "it would be shocking if they left a way to directly leak out memory in the speculative execution". None of us seriously thought that there would be low-hanging fruit down that research path, but we also felt it was important that there was someone doing work in the area who was committed to public disclosure.</p>

<p>At first, after reading the blog post on Monday, we thought (or hoped) that the bug might "just" be a KASLR bypass and wouldn't require a lot of urgency. We tried to reach out to Intel at work to get more information but were met with silence. (We wouldn't hear back from them until after the disclosure was already made public.) The speculation on Tuesday intensified, until finally on Wednesday morning I arrived at the office to find links to late Tuesday night tweets revealing exploits that allowed arbitrary kernel memory reads.</p>

<p>Wednesday was not a happy day. Intel finally responded to our emails -- after they had already initiated public disclosure. We all spent a lot of time reading. An arbitrary kernel memory read (an info leak) is not that uncommon as far as bugs go, but for the most part they tend to be fairly easy to fix. The thing that makes the Meltdown and Spectre bugs particularly notable is that in order to mitigate them, a large amount of change is required in very deep low-level parts of the kernel. The kind of deep parts of the kernel where there are 20-year old errata workarounds that were single-line changes that you have to be very careful to not accidentally undo; the kind of parts where, as they say, mortals fear to tread.</p>

<p>On Friday we saw the patches Matthew Dillon put together for DragonFlyBSD for the first time. These were the first patches for KPTI that were very straightforward to read and understand, and applied to a BSD-derived kernel that was similar to those I'm accustomed to working on.</p>

<p>To mitigate Meltdown (and partially one of the Spectre variants), you have to make sure that speculative execution cannot reach any sensitive data from a user context. This basically means that the pages the kernel uses for anything potentially sensitive have to be unmapped when we are running user code. Traditionally, CPUs that were built to run a multi-user, UNIX-like OS did this by default (SPARC is an example of such a CPU which has completely separate address spaces for the kernel and userland). However, x86 descends from a single-address-space microcontroller that has grown up avoiding backwards-incompatible changes, and has never really introduced a clean notion of multiple address spaces (segmentation is the closest feature really, and it was thrown out for 64-bit AMD64). Instead, operating systems for x86 have generally wound up (at least in the post-AMD64 era) with flat address space models where the kernel text and data is always present in the page table no matter whether you're in user or kernel mode. The kernel mappings simply have the "supervisor" bit set on them so that user code can't directly access them.</p>

<p>The mitigation is basically to stop doing this: to stop mapping the kernel text, data and other memory into the page table while we're running in userland. Unfortunately, the x86 design does not make this easy. In order to be able to take interrupts or traps, the CPU has to have a number of structures mapped in the current page table at all times. There is also no ability to tell an x86 CPU that you want it to switch page tables when an interrupt occurs. So, the code that we jump to when we take an interrupt, as well as space for a stack to push context onto have to be available in both page tables. And finally, of course, we need to be able to figure out somehow what the other page table we should switch to is when we enter the kernel.</p>

<p>When we looked at the patches for Linux (and also the DragonFlyBSD patches at the time) on Friday and started asking questions, it became pretty evident that the initial work done by both was done under time constraints. Both had left the full kernel text mapped in both page tables, and the Linux trampoline design seemed over-complex. I started talking over some ideas with Robert Mustacchi about ways to fix these and who we should talk to, and reached out to some of my old workmates from the University of Queensland who were involved with OpenBSD. It seemed to me that the OpenBSD developers would care about these issues even more than we did, and would want to work out how to do the mitigation right.</p>

<p>I ended up sending an email to Philip Guenther on Friday afternoon, and on Saturday morning I drove an hour or so to meet up with him for coffee to talk page tables and interrupt trampolines. We wound up spending a good 6 hours at the coffee shop, and I came back with several pages of notes and a half-decent idea of the shape of the work to come.</p>

<p>One detail we missed that day was the interaction of per-CPU structures with per-process page tables. Much of the interrupt trampoline work is most easily done by using per-CPU structures in memory (and you definitely want a per-CPU stack!). If you combine that with per-process page tables, however, you have a problem: if you leave all the per-CPU areas mapped in all the processes, you will leak information (via Meltdown) about the state of one process to a different one when taking interrupts. In particular, you will leak things like %rip, which ruins all the work being done with PIE and ASLR pretty quickly. So, there are two options: you can either allocate the per-CPU structures per-process (so you end up with $NCPUS * $NPROCS of them); or you can make the page tables per-CPU.</p>

<p>OpenBSD, like Linux and the other implementations so far, decided to go down the road of per-CPU per-process pages to solve this issue. For illumos, we took the other route.</p>

<p>In illumos, it turned out that we already had per-CPU page tables. Robert and I re-discovered this on the Sunday of that week. We use them for 32-bit processes due to having full P&gt;V PAE support in our kernel (which is, as it turns out, relatively uncommon amongst open-source OS). The logic to deal with creating and managing them and updating them was all already written, and after reading the code we concluded we could basically make a few small changes and re-use all of it. So we did.</p>

<p>By the end of that second week, we had a prototype that could get to userland. But, when working on this kind of kernel change we have a rule of thumb we use: after the first 70% of the patch is done and we can boot again, now it's time for the second 70%. In fact it turned out to be more like the second 200% for us -- a tedious long tail of bugs to solve that ended up necessitating some changes in the design as well.</p>

<p>At first we borrowed the method that Matt Dillon used for DragonFlyBSD, by putting the temporary "stack" space and state data for the interrupt trampolines into an extra page tacked onto the end of *%gs (in illumos the structure that lives there is the cpu_t). </p>

<p>If you read the existing logic in interrupt handlers for dealing with %gs though, you will quickly notice that the corner cases start to build up. There are a bunch of situations where the kernel temporarily alters %gs, and some of the ways to mess it up have security consequences that end up being worse than the bug we're trying to fix. As it turns out, there are no less than 3 different ways that ISRs use to try to get to having the right cpu_t in %gs on illumos, as it turns out, and they are all subtly different. Trying to tell which you should use when requires a bunch of test logic that in turn requires branches and changes to the CPU state, which is difficult to do in a trampoline where you're trying to avoid altering that state as much as possible until you've got the real stack online to push things into.</p>

<p>I kept in touch with Philip Guenther and Mike Larkin from the OpenBSD project throughout the weeks that followed. In one of the discussions we had, we talked about the NMI/MCE handlers and the fact that their handling currently on OpenBSD neglected some nasty corner-cases around interrupting an existing trap handler. A big part of the solution to those issues was to use a feature called IST, which allows you to unconditionally change stacks when you take an interrupt.</p>

<p>Traditionally, x86 only changes the stack pointer (%rsp on AMD64) while taking an interrupt when there is a privilege level change. If you take an interrupt while already in the kernel, the CPU does not change the stack pointer, and simply pushes the interrupt stack frame onto the stack you're already using. IST makes the change of stack pointer unconditional. If used unwisely, this is a bad idea: if you stay on that stack and turn interrupts back on, you could take another interrupt and clobber the frame you're already in. However, in it I saw a possible way to simplify the KPTI trampoline logic and avoid having to deal with %gs.</p>

<p>A few weeks into the project, John Levon joined us at work. He had previously worked on a bunch of Xen-related stuff as well as other parts of the kernel very close to where we were, so he quickly got up to speed with the KPTI work as well. He and I drafted out a "crazy idea" on the whiteboard one afternoon where we would use IST for all interrupts on the system, and put the "stack" they used in the KPTI page on the end of the cpu_t. Then, they could easily use stack-relative addresses to get the page table to change to, then pivot their stack to the real kernel stack memory, and throw away (almost) all the conditional logic. A few days later, we had convinced each other that this was the way to go.</p>

<p>Two of the most annoying x86 issues we had to work around were related to the SYSENTER instruction. This instruction is used to make "fast" system calls in 32-bit userland. It has a couple of unfortunate properties: firstly, it doesn't save or restore RFLAGS, so the kernel code has to take care of this (and be very careful not to clobber any of it before saving or after restoring it). Secondly, if you execute SYSENTER with the TF ("trap"/single-step flag) set by a debugger, the resulting debug trap's frame points at kernel code instead of the user code where it actually happened. The first one requires some careful gymnastics on the entry and return trampolines specifically for SYSENTER, while the second is a nasty case that is incidentally made easier by using IST. With IST, we can simply make the debug trap trampoline check for whether we took the trap in another trampoline's code, and reset %cr3 and the destination stack. This works for single-stepping into any of the handlers, not just the one for SYSENTER.</p>

<p>To make debugging easier, we decided that traps like the debug/single-step trap (as well as faults like page faults, #GP, etc.) would push their interrupt frame in a different part of the KPTI state page to normal interrupts. We applied this change to all the traps that can interrupt another trampoline (based on the instructions we used). These "paranoid" traps also set a flag in the KPTI struct to mark it busy (and jump to the double-fault handler if it is), to work around some bugs where double-faults are not correctly generated.</p>

<p>It's been a long and busy two months, with lots of time spent building, testing, and validating the code. We've run it on as many kinds of machines as we could get our hands on, to try to make sure we catch issues. The time we've spent on this has been validated several times in the process by finding bugs that could have been nasty in production.</p>

<p>One great example: our patches on Westmere-EP Xeons were causing busy machines to throw a lot of L0 I-cache parity errors. This seemed very mysterious at first, and it took us a few times seeing it to believe that it was actually our fault. This was actually caused by the accidental activation of a CPU errata for Westmere (B52, "Memory Aliasing of Code Pages May Cause Unpredictable System Behaviour") -- it turned out we had made a typo and put the "cacheable" flag into a variable named flags instead of attrs where it belonged when setting up the page tables. This was causing performance degradation on other machines, but on Westmere it causes cache parity errors as well. This is a great example of the surprising consequences that small mistakes in this kind of code can end up having. In the end, I'm glad that that erratum existed, otherwise it may have been a long time before we caught that bug.</p>

<p>As of this week, Mike and Philip have committed the OpenBSD patches for KPTI to their repository, and the patches for illumos are out for review. It's a nice kind of symmetry that the two projects who started on the work together after the public disclosure at the same time are both almost ready to ship at the same time at the other end. I'm feeling hopeful, and looking forward to further future collaborations like this with our cousins, the BSDs.</p>
</blockquote>

<ul>
<li>The IllumOS work has since landed, on <a href="https://github.com/joyent/illumos-joyent/commit/d85fbfe15cf9925f83722b6d62da49d549af615c" target="_blank" rel="nofollow noopener">March 12th</a>
***</li>
</ul>

<h3><a href="https://github.com/vedetta-com/caesonia" target="_blank" rel="nofollow noopener">OpenBSD Email Service</a></h3>

<ul>
<li>Features

<ul>
<li>Efficient: configured to run on min. 512MB RAM and 20GB SSD, a KVM (cloud) VPS for around $2.50/mo</li>
<li>15GB+ uncompressed Maildir, rivals top free-email providers (grow by upgrading SSD)</li>
<li>Email messages are gzip compressed, at least 1/3 more space with level 6 default</li>
<li>Server side full text search (headers and body) can be enabled (to use the extra space)</li>
<li>Mobile data friendly: IMAPS connections are compressed</li>
<li>Subaddress (+tag) support, to filter and monitor email addresses</li>
<li>Virtual domains, aliases, and credentials in files, Berkeley DB, or SQLite3</li>
<li>Naive Bayes rspamd filtering with supervised learning: the lowest false positive spam detection rates</li>
<li>Carefree automated Spam/ and Trash/ cleaning service (default: older than 30 days)</li>
<li>Automated quota management, gently assists when over quota</li>
<li>Easy backup MX setup: using the same configuration, install in minutes on a different host</li>
<li>Worry-free automated master/master replication with backup MX, prevents accidental loss of email messages</li>
<li>Resilient: the backup MX can be used as primary, even when the primary is not down, both perfect replicas</li>
<li>Flexible: switching roles is easy, making the process of changing VPS hosts a breeze (no downtime)</li>
<li>DMARC (with DKIM and SPF) email-validation system, to detect and prevent email spoofing</li>
<li>Daily (spartan) stats, to keep track of things</li>
<li>Your sieve scripts and managesieve configuration, let's get started</li>
</ul></li>
<li>Considerations</li>
</ul>

<blockquote>
<p>By design, email message headers need to be public, for exchanges to happen. The body of the message can be encrypted by the user, if desired. Moreover, there is no way to prevent the host from having access to the virtual machine. Therefore, full disk encryption (at rest) may not be necessary.</p>

<p>Given our low memory requirements, and the single-purpose concept of email service, Roundcube or other web-based IMAP email clients should be on a different VPS.</p>

<p>Antivirus software users (usually) have the service running on their devices. ClamAV can easily be incorporated into this configuration, if affected by the types of malware it protects against, but will require around 1GB additional RAM (or another VPS).</p>

<p>Every email message is important, if properly delivered, for Bayes classification. At least 200 ham and 200 spam messages are required to learn what one considers junk. By default (change to use case), a rspamd score above 50% will send the message to Spam/. Moving messages in and out of Spam/ changes this score. After 95%, the message is flagged as "seen" and can be safely ignored.</p>

<p>Spamd is effective at greylisting and stopping high volume spam, if it becomes a problem. It will be an option when IPv6 is supported, along with bgp-spamd.</p>

<p>System mail is delivered to an alias mapped to a virtual user served by the service. This way, messages are guaranteed to be delivered via encrypted connection. It is not possible for real users to alias, nor mail an external mail address with the default configuration. e.g. <a href="mailto:puffy@mercury.example.com" target="_blank" rel="nofollow noopener">puffy@mercury.example.com</a> is wheel, with an alias mapped to (virtual) <a href="mailto:puffy@example.com" target="_blank" rel="nofollow noopener">puffy@example.com</a>, and user (puffy) can be different for each.</p>

<hr>
</blockquote>

<h2>Interview - Ryan Zezeski - <a href="mailto:rpz@joyent.com" target="_blank" rel="nofollow noopener">rpz@joyent.com</a> / <a href="https://twitter.com/rzezeski" target="_blank" rel="nofollow noopener">@rzezeski</a></h2>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.facebook.com/permalink.php?story_fbid=2110408722526967&amp;id=100006735798590" target="_blank" rel="nofollow noopener">John Carmack's programming retreat to hermit coding with OpenBSD</a></h3>

<blockquote>
<p>After a several year gap, I finally took another week-long programming retreat, where I could work in hermit mode, away from the normal press of work. My wife has been generously offering it to me the last few years, but Im generally bad at taking vacations from work.<br>
As a change of pace from my current Oculus work, I wanted to write some from-scratch-in-C++ neural network implementations, and I wanted to do it with a strictly base OpenBSD system. Someone remarked that is a pretty random pairing, but it worked out ok.<br>
Despite not having actually used it, I have always been fond of the idea of OpenBSD  a relatively minimal and opinionated system with a cohesive vision and an emphasis on quality and craftsmanship. Linux is a lot of things, but cohesive isnt one of them.<br>
Im not a Unix geek. I get around ok, but I am most comfortable developing in Visual Studio on Windows. I thought a week of full immersion work in the old school Unix style would be interesting, even if it meant working at a slower pace. It was sort of an adventure in retro computing  this was fvwm and vi. Not vim, actual BSD vi.<br>
In the end, I didnt really explore the system all that much, with 95% of my time in just the basic vi / make / gdb operations. I appreciated the good man pages, as I tried to do everything within the self contained system, without resorting to internet searches. Seeing references to 30+ year old things like Tektronix terminals was amusing.<br>
I was a little surprised that the C++ support wasnt very good. G++ didnt support C++11, and LLVM C++ didnt play nicely with gdb. Gdb crashed on me a lot as well, I suspect due to C++ issues. I know you can get more recent versions through ports, but I stuck with using the base system.<br>
In hindsight, I should have just gone full retro and done everything in ANSI C. I do have plenty of days where, like many older programmers, I think Maybe C++ isnt as much of a net positive as we assume.... There is still much that I like, but it isnt a hardship for me to build small projects in plain C.<br>
Maybe next time I do this I will try to go full emacs, another major culture that I dont have much exposure to.<br>
I have a decent overview understanding of most machine learning algorithms, and I have done some linear classifier and decision tree work, but for some reason I have avoided neural networks. On some level, I suspect that Deep Learning being so trendy tweaked a little bit of contrarian in me, and I still have a little bit of a reflexive bias against throw everything at the NN and let it sort it out!<br>
In the spirit of my retro theme, I had printed out several of Yann LeCuns old papers and was considering doing everything completely off line, as if I was actually in a mountain cabin somewhere, but I wound up watching a lot of the Stanford CS231N lectures on YouTube, and found them really valuable. Watching lecture videos is something that I very rarely do  it is normally hard for me to feel the time is justified, but on retreat it was great!<br>
I dont think I have anything particularly insightful to add about neural networks, but it was a very productive week for me, solidifying book knowledge into real experience.<br>
I used a common pattern for me: get first results with hacky code, then write a brand new and clean implementation with the lessons learned, so they both exist and can be cross checked.<br>
I initially got backprop wrong both times, comparison with numerical differentiation was critical! It is interesting that things still train even when various parts are pretty wrong  as long as the sign is right most of the time, progress is often made.<br>
I was pretty happy with my multi-layer neural net code; it wound up in a form that I can just drop it into future efforts. Yes, for anything serious I should use an established library, but there are a lot of times when just having a single .cpp and .h file that you wrote ever line of is convenient.<br>
My conv net code just got to the hacky but working phase, I could have used another day or two to make a clean and flexible implementation.<br>
One thing I found interesting was that when testing on MNIST with my initial NN before adding any convolutions, I was getting significantly better results than the non-convolutional NN reported for comparison in LeCun 98  right around 2% error on the test set with a single 100 node hidden layer, versus 3% for both wider and deeper nets back then. I attribute this to the modern best practices ReLU, Softmax, and better initialization.<br>
This is one of the most fascinating things about NN work  it is all so simple, and the breakthrough advances are often things that can be expressed with just a few lines of code. It feels like there are some similarities with ray tracing in the graphics world, where you can implement a physically based light transport ray tracer quite quickly, and produce state of the art images if you have the data and enough runtime patience.<br>
I got a much better gut-level understanding of overtraining / generalization / regularization by exploring a bunch of training parameters. On the last night before I had to head home, I froze the architecture and just played with hyperparameters. Training! Is definitely worse than Compiling! for staying focused.<br>
Now I get to keep my eyes open for a work opportunity to use the new skills!<br>
I am dreading what my email and workspace are going to look like when I get into the office tomorrow.</p>

<hr>
</blockquote>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180310000858" target="_blank" rel="nofollow noopener">Stack-register Checking</a></h3>

<blockquote>
<p>Recently, Theo de Raadt (deraadt@) described a new type of mitigation he has been working on together with Stefan Kempf (stefan@):<br>
How about we add another new permission!  This is not a hardware permission, but a software permission.  It is opportunistically enforced by the kernel.<br>
The permission is MAP_STACK.  If you want to use memory as a stack, you must mmap it with that flag bit.  The kernel does so automatically for the stack region of a process's stack.  Two other types of stack occur: thread stacks, and alternate signal stacks.  Those are handled<br>
in clever ways.<br>
When a system call happens, we check if the stack-pointer register points to such a page.  If it doesn't, the program is killed.  We have tightened the ABI.  You may no longer point your stack register at non-stack memory.  You'll be killed.  This checking code is MI, so it works for all platforms.</p>
</blockquote>

<ul>
<li>For more detail, see <a href="https://marc.info/?l=openbsd-tech&amp;m=152035796722258&amp;w=2" target="_blank" rel="nofollow noopener">Theo's original message</a>.</li>
</ul>

<blockquote>
<p>This is now available in snapshots, and people are finding the first problems in the ports tree already. So far, few issues have been uncovered, but as Theo points out, more testing is necessary:</p>

<p>Fairly good results.<br>
A total of 4 problems have been found so far.  go, SBCL, and two cases in src/regress which failed the new page-alignment requirement.  The SBCL and go ones were found at buildtime, since they use themselves to complete build.<br>
But more page-alignment violations may be found in ports at runtime.<br>
This is something I worry about a bit.  So please everyone out there can help: Use snapshots which contain the stack-check diff, update to new packages, and test all possible packages.  Really need a lot of testing for this, so please help out.</p>

<p>So, everybody, install the latest snapshot and try all your favorite ports. This is the time to report issues you find, so there is a good chance this additional security feature is present in 6.3 (and works with third party software from packages).</p>
</blockquote>

<hr>

<h3><a href="https://freeshell.de/%7Emk/projects/nomadbsd.html" target="_blank" rel="nofollow noopener">NomadBSD 1.0 has been released</a></h3>

<ul>
<li>NomadBSD is a live system for flash drives, based on FreeBSD® 11.1 (amd64)</li>
<li>Change Log

<ul>
<li>The setup process has been improved.</li>
<li>Support for optional geli encryption of the home partition has been added</li>
<li>Auto-detection of NVIDIA graphics cards and their corresponding driver has been added.  (Thanks to holgerw and lme from BSDForen.de)</li>
<li>An rc script to start the GEOM disk scheduler on the root device has been added.</li>
</ul></li>
<li>More software has been added:

<ul>
<li>accessibility/redshift (starts automatically)</li>
<li>audio/cantata</li>
<li>audio/musicpd</li>
<li>audio/ncmpc</li>
<li>ftp/filezilla</li>
<li>games/bsdtris</li>
<li>mail/neomutt</li>
<li>math/galculator</li>
<li>net-p2p/transmission-qt5</li>
<li>security/fpm2</li>
<li>sysutils/bsdstats</li>
<li>x11/metalock</li>
<li>x11/xbindkeys</li>
<li>Several smaller improvements and bugfixes.</li>
</ul></li>
<li>Screenshots

<ul>
<li><a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss1.png" target="_blank" rel="nofollow noopener">https://freeshell.de/~mk/projects/nomadbsd-ss1.png</a></li>
<li><a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss2.png" target="_blank" rel="nofollow noopener">https://freeshell.de/~mk/projects/nomadbsd-ss2.png</a></li>
<li><a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss3.png" target="_blank" rel="nofollow noopener">https://freeshell.de/~mk/projects/nomadbsd-ss3.png</a></li>
<li><a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss4.png" target="_blank" rel="nofollow noopener">https://freeshell.de/~mk/projects/nomadbsd-ss4.png</a></li>
<li><a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss5.png" target="_blank" rel="nofollow noopener">https://freeshell.de/~mk/projects/nomadbsd-ss5.png</a></li>
<li><a href="https://freeshell.de/%7Emk/projects/nomadbsd-ss6.png" target="_blank" rel="nofollow noopener">https://freeshell.de/~mk/projects/nomadbsd-ss6.png</a></li>
</ul></li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://knoxbug.org/2018-03-27" target="_blank" rel="nofollow noopener">KnoxBug - Nagios</a></li>
<li><a href="https://www.youtube.com/playlist?list=PLfJr0tWo35bc9FG_reSki2S5S0G8imqB4" target="_blank" rel="nofollow noopener">vBSDcon videos landing</a></li>
<li><a href="https://www.youtube.com/playlist?list=PLnTFqpZk5ebBTyXedudGm6CwedJGsE2Py" target="_blank" rel="nofollow noopener">AsiaBSDCon 2017 videos</a></li>
<li><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=DragonFlyBSD-Ptr-Restrict" target="_blank" rel="nofollow noopener">DragonFlyBSD Adds New "Ptr_Restrict" Security Option</a></li>
<li><a href="https://twitter.com/michaeldexter/status/975603855407788032" target="_blank" rel="nofollow noopener">A Dexter needs your help</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180309064801" target="_blank" rel="nofollow noopener">Mike Larkin at bhyvecon 2018: OpenBSD vmm(4) update</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-arch/2018-March/018900.html" target="_blank" rel="nofollow noopener">[HEADS UP] - OFED/RDMA stack update</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Ron - <a href="http://dpaste.com/3BM6GSW#wrap" target="_blank" rel="nofollow noopener">Interview someone using DragonflyBSD</a></li>
<li>Brad - <a href="http://dpaste.com/3X4ZZK2#wrap" target="_blank" rel="nofollow noopener">Gaming and all</a></li>
<li>Mohammad - <a href="http://dpaste.com/0PJMKRD#wrap" target="_blank" rel="nofollow noopener">Sockets vs TCP</a></li>
<li>Paul - <a href="http://dpaste.com/2WXVR1X#wrap" target="_blank" rel="nofollow noopener">All or at least most of Bryan Cantrill's Talks</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>237: AsiaBSDcon 2018</title>
  <link>https://www.bsdnow.tv/237</link>
  <guid isPermaLink="false">b77208bf-14b6-4644-bbca-40bc1ff1e594</guid>
  <pubDate>Wed, 14 Mar 2018 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b77208bf-14b6-4644-bbca-40bc1ff1e594.mp3" length="71307220" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>AsiaBSDcon review, Meltdown and Spectre Patches in FreeBSD stable, Interview with MidnightBSD founder, 8 months with TrueOS, mysteries of GNU and BSD split</itunes:subtitle>
  <itunes:duration>1:39:02</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>&lt;p&gt;AsiaBSDcon review, Meltdown and Spectre Patches in FreeBSD stable, Interview with MidnightBSD founder, 8 months with TrueOS, mysteries of GNU and BSD split&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://2018.asiabsdcon.org/" target="_blank" rel="nofollow noopener"&gt;AsiaBSDCon 2018 has concluded&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We have just returned from AsiaBSDCon in Tokyo, Japan last weekend&lt;/li&gt;
&lt;li&gt;Please excuse our jetlag&lt;/li&gt;
&lt;li&gt;The conference consisted two days of meeting followed by 2 days of paper presentations&lt;/li&gt;
&lt;li&gt;We arrived a few days early to see some sights and take a few extra delicious meals in Tokyo&lt;/li&gt;
&lt;li&gt;The first day of meetings was a FreeBSD developer summit (while Benedict was teaching his two tutorials) where we discussed the FreeBSD release cycle and our thoughts on improving it, the new Casper capsicum helper service, and developments in SDIO which will eventually enable WiFi and SD card readers on more embedded devices&lt;/li&gt;
&lt;li&gt;The second day of meetings consisted of bhyvecon, a miniconf that covered development in all hypervisors on all BSDs. It also included presentations on the porting of bhyve to IllumOS.&lt;/li&gt;
&lt;li&gt;Then the conference started&lt;/li&gt;
&lt;li&gt;There were a number of great presentations, plus an amazing hallway track as usual&lt;/li&gt;
&lt;li&gt;It was great to see many old friends and to spend time discussing the latest happenings in BSD. A couple of people came by and asked to take a picture with us and we were happy to do that.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-18:03.speculative_execution.asc" target="_blank" rel="nofollow noopener"&gt;FreeBSD releases Spectre and Meltdown mitigations for 11.1&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Speculative execution vulnerability mitigation is a work in progress.  This advisory addresses the most significant issues for FreeBSD 11.1 on amd64 CPUs.  We expect to update this advisory to include 10.x for amd64 CPUs.  Future FreeBSD releases will address this issue on i386 and other CPUs.  freebsd-update will include changes on i386 as part of this update due to common code changes shared between amd64 and i386, however it contains no functional changes for i386 (in particular, it does not mitigate the issue on i386).&lt;br&gt;
Many modern processors have implementation issues that allow unprivileged attackers to bypass user-kernel or inter-process memory access restrictions by exploiting speculative execution and shared resources (for example, caches).&lt;br&gt;
An attacker may be able to read secret data from the kernel or from a process when executing untrusted code (for example, in a web browser).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Meltdown:
The mitigation is known as Page Table Isolation (PTI).  PTI largely separates kernel and user mode page tables, so that even during speculative execution most of the kernel's data is unmapped and not accessible.
A demonstration of the Meltdown vulnerability is available at &lt;a href="https://github.com/dag-erling/meltdown" target="_blank" rel="nofollow noopener"&gt;https://github.com/dag-erling/meltdown&lt;/a&gt;.  A positive result is definitive (that is, the vulnerability exists with certainty).  A negative result indicates either that the CPU is not affected, or that the test is not capable of demonstrating the issue on the CPU (and may need to be modified).
A patched kernel will automatically enable PTI on Intel CPUs.  The status can be checked via the vm.pmap.pti sysctl 
PTI introduces a performance regression.  The observed performance loss is significant in microbenchmarks of system call overhead, but is much smaller for many real workloads.&lt;/li&gt;
&lt;li&gt;Spectre V2:
There are two common mitigations for Spectre V2.  This patch includes a mitigation using Indirect Branch Restricted Speculation, a feature available via a microcode update from processor manufacturers.  The alternate mitigation, Retpoline, is a feature available in newer compilers.  The feasibility of applying Retpoline to stable branches and/or releases is under
investigation.
The patch includes the IBRS mitigation for Spectre V2.  To use the mitigation the system must have an updated microcode; with older microcode a patched kernel will function without the mitigation.
IBRS can be disabled via the hw.ibrs_disable sysctl (and tunable), and the status can be checked via the hw.ibrs_active sysctl.  IBRS may be enabled or disabled at runtime.  Additional detail on microcode updates will follow.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/SpeculativeExecutionVulnerabilities" target="_blank" rel="nofollow noopener"&gt;Wiki tracking the vulnerabilities and mitigations on different platforms&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://itsfoss.com/midnightbsd-founder-lucas-holt/" target="_blank" rel="nofollow noopener"&gt;Interview with MidnightBSD Founder and Lead Dev Lucas Holt&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Recently, I have taken a little dip into the world of BSD. As part of my attempt to understand the BSD world a little better, I connected with Lucas Holt (MidnightBSD founder and lead developer) to ask him a few questions about his project. Here are his answers.&lt;/p&gt;

&lt;p&gt;It’s FOSS: Please explain MidnightBSD in a nutshell. How is it different than other BSDs?&lt;/p&gt;

&lt;p&gt;Lucas Holt: MidnightBSD is a desktop focused operating system. When it’s considered stable, it will provide a full desktop experience. This differs from other efforts such as TrueOS or GhostBSD in that it’s not a distro of FreeBSD, but rather a fork. MidnightBSD has its own package manager, mport as well as unique package cluster software and several features built into user land such as mDNSresponder, libdispatch, and customizations throughout the system.&lt;/p&gt;

&lt;p&gt;It’s FOSS: Who is MidnightBSD aimed at?&lt;/p&gt;

&lt;p&gt;Lucas Holt: The goal with MidnightBSD has always been to provide a desktop OS that’s usable for everyday tasks and that even somewhat non technical people can use. Early versions of Mac OS X were certainly an inspiration. In practice, we’re rather far from that goal at this point, but it’s been an excellent learning opportunity.&lt;/p&gt;

&lt;p&gt;It’s FOSS: What is your background in computers?&lt;/p&gt;

&lt;p&gt;Lucas Holt: I started in technical support at a small ISP and moved into web design and system administration. While there, I learned BSDi, Solaris and Linux. I also started tinkering with programming web apps in ASP and a little perl CGI. I then did a mix of programming and system administration jobs through college and graduated with a bachelors in C.S. from Eastern Michigan University. During that time, I learned NetBSD and FreeBSD. I started working on several projects such as porting Apple’s HFS+ code to FreeBSD 6 and working on getting the nforce2 chipset SATA controller working with FreeBSD 6, with the latter getting committed. I got a real taste for BSD and after seeing the lack of interest in the community for desktop BSDs, I started MidnightBSD. I began work on it in late 2005.&lt;br&gt;
Currently, I’m a Senior Software Engineer focusing on backend rest services by day and a part-time graduate student at the University of Michigan Flint.&lt;/p&gt;

&lt;p&gt;It’s FOSS: I recently installed TrueOS. I was disappointed that a couple of the programs I wanted were not available. The FreeBSD port system looked mildly complicated for beginners. I’m used to using pacman to get the job done quickly. How does MidnightBSD deal with ports?&lt;/p&gt;

&lt;p&gt;Lucas Holt: MidnightBSD has it’s own port system, mports, which shared similarities with FreeBSD ports as well as some ideas from OpenBSD. We decided early on that decent package management was essential for regular users. Power users will still use ports for certain software, but it’s just so time consuming to build everything. We started work on our own package manager, mport.&lt;br&gt;
Every package is a tar lzma archive with a sqlite3 manifest file as well as a sqlite 3 index that’s downloaded from our server. This allows users to query and customize the package system with standard SQL queries. We’re also building more user friendly graphical tools.&lt;br&gt;
Package availability is another issue that most BSDs have. Software tends to be written for one or two operating systems and many projects are reluctant to support other systems, particularly smaller projects like MidnightBSD. There are certainly gaps. All of the BSD projects need more volunteers to help with porting software and keeping it up to date.&lt;/p&gt;

&lt;p&gt;It’s FOSS: During your June 2015 interview on BSDNow, you mentioned that even though you support both i386 and amd64, that you recommend people choose amd64. Do you have any plans to drop i386 support in the future, like many have done?&lt;/p&gt;

&lt;p&gt;Lucas Holt: Yes, we do plan to drop i386 support, mostly because of the extra work needed to build and maintain packages. I’ve held off on this so far because I had a lot of feedback from users in South America that they still needed it. For now, the plan is to keep i386 support through 1.0 release. That’s probably a year or two out.&lt;/p&gt;

&lt;p&gt;It’s FOSS: What desktop environments does MidnightBSD support?&lt;/p&gt;

&lt;p&gt;Lucas Holt: The original plan was to use Etoile as a desktop environment, but that project changed focus. We currently support Xfce, Gnome 3, WindowMaker + GNUstep + Gworkspace as primary choices. We also have several other window managers and desktop environments available such as Enlightenment, rat poison, afterstep, etc.&lt;br&gt;
Early versions offered KDE 3.x but we had some issues with KDE 4. We may revisit that with newer versions.&lt;/p&gt;

&lt;p&gt;It’s FOSS: What is MidnightBSD’s default filesystem? Do you support DragonflyBSD’s HAMMER filesystem? What other filesystems?&lt;/p&gt;

&lt;p&gt;Lucas Holt: Boot volumes are UFS2. We also support ZFS for additional storage. We have read support for ExFat, NTFS, ext2, CD9660. NFS v3 and v4 are also supported for network file systems.&lt;br&gt;
We do not support HAMMER, although it was considered. I would love to see HAMMER2 get added to MidnightBSD eventually.&lt;/p&gt;

&lt;p&gt;It’s FOSS: Is MidnightBSD affected by the recent Spectre and Meltdown issues?&lt;/p&gt;

&lt;p&gt;Lucas Holt: Yes. Most operating systems were affected by these issues. We were not informed of the issue until the general public became aware. Work is ongoing to come up with appropriate mitigations. Unfortunately, we do not have a patch yet.&lt;/p&gt;

&lt;p&gt;It’s FOSS: The Raspberry Pi and its many clones have made the ARM platform very popular. Are there any plans to make MidnightBSD available on that platform?&lt;/p&gt;

&lt;p&gt;Lucas Holt: No immediate plans. ARM is an interesting architecture, but by the very nature of SoC designs, takes a lot of work to support a broad number of devices. It might be possible when we stop supporting i386 or if someone volunteers to work on the ARM port.&lt;br&gt;
Eventually, I think most hobby systems will need to run ARM chips. Intel’s planning on locking down hardware with UEFI 3 and this may make it difficult to run on commodity hardware in the future not only for MidnightBSD but other systems as well.&lt;br&gt;
At one point, MidinightBSD ran on sparc64. When workstations were killed off, we dropped support. A desktop OS on a server platform makes little sense.&lt;/p&gt;

&lt;p&gt;It’s FOSS: Does MidnightBSD offer support for Linux applications?&lt;/p&gt;

&lt;p&gt;Lucas Holt: Yes, we offer Linux emulation. It’s emulating a 2.6.16 kernel currently and that needs to be updated so support newer apps. It’s possible to run semi-recent versions of Firefox, Thunderbird, Java, and OpenOffice on it though. I’ve also used it to host game servers in the past and play older games such as Quake 3, enemy territory, etc.&lt;/p&gt;

&lt;p&gt;It’s FOSS: Could you comment on the recent dust-up between the Pale Moon browser developers and the team behind the OpenBSD ports system?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;[Author’s Note: For those who haven’t heard about this, let me summarize. Last month, someone from the OpenBSD team added the Pale Moon browser to their ports collection. A Pale Moon developer demanded that they include Pale Moon’s libraries instead of using system libraries. As the conversation continued, it got more hostile, especially on the Pale Moon side. The net result is that Pale Moon will not be available on OpenBSD, MidnightBSD, or FreeBSD.]&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Lucas Holt: I found this discussion frustrating. Many of the BSD projects hear a lot of complaints about browser availability and compatibility. With Firefox moving to Rust, it makes it even more difficult. Then you get into branding issues. Like Firefox, the Pale Moon developers have decided to protect their brand at the cost of users. Unlike the Firefox devs, they’ve made even stranger requirements for branding. It is not possible to use a system library version of anything with Pale Moon and keep their branding requirements. As such, we cannot offer Pale Moon in MidnightBSD.&lt;br&gt;
The reason this is an issue for an open source project is that many third party libraries are used in something as complex as a web browser. For instance, Gecko-based browsers use several multimedia libraries, sqlite3 (for bookmarks), audio and video codecs, etc. Trying to maintain upstream patches for each of these items is difficult. That’s why the BSDs have ports collections to begin with. It allows us to track and manage custom patches to make all these libraries work. We go through a lot of effort in keeping these up to date. Sometimes upstream patches don’t get included. That means our versions are the only working copies. With pale moon’s policy, we’d need to submit separate patches to their customized versions of all these libraries too and any new release of the browser would not be available as changes occur. It might not even be possible to compile pale moon without a patch locally.&lt;br&gt;
With regard to Rust, it requires porting the language, as well as an appropriate version of LLVM before you can even start on the browser.&lt;/p&gt;

&lt;p&gt;It’s FOSS: If someone wanted to contribute to your project, both financial and technical, how can they do that?&lt;/p&gt;

&lt;p&gt;Lucas Holt: Financial assistance for the project can be submitted online. We have a page outlining how to make donations with Patreon, Paypal or via bitcoin. Donations are not tax deductible. You can learn more at &lt;a href="http://www.midnightbsd.org/donate/" target="_blank" rel="nofollow noopener"&gt;http://www.midnightbsd.org/donate/&lt;/a&gt;&lt;br&gt;
We also need assistance with translations, porting applications, and working on the actual OS. Interested parties can contact us on the mailing list or through IRC on freenode #midnightbsd We also could use assistance with mirroring ISOs and packages.&lt;/p&gt;

&lt;p&gt;I would like to thank Lucas for taking the time to reply to my many questions. For more information about MidnightBSD or to download it, please visit their website. The most recent version of MidnightBSD is 0.8.6.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://inflo.ws/blog/post/2018-03-03-trueos-8th-month-review/" target="_blank" rel="nofollow noopener"&gt;8 months with TrueOS&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Purpose of this review - what it is and what it is not.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I vowed to write down what I felt about TrueOS if I ever got to the six month mark of usage. This is just that. This is neither a tutorial, nor a piece of evangelism dedicated towards it.&lt;/p&gt;

&lt;p&gt;This is also not a review of specific parts of TrueOS such as Lumina or AppCafe, since I don't use them at all.&lt;/p&gt;

&lt;p&gt;In the spirit of presenting a screen shot, here is my i3wm displaying 4 windows in one screen - a configuration that I never use. &lt;a href="https://inflo.ws/blog/images/trues-screenshot.png" target="_blank" rel="nofollow noopener"&gt;https://inflo.ws/blog/images/trues-screenshot.png&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The primary tasks I get done with my computer.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I need a tiling wm with multi-desktop capability. As regards what I do with a computer, it is fairly straightforward to describe if I just list down my most frequently used applications.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;xterm (CLI)
Emacs (General editing and org mode)
Intellij IDEA (Java, Kotlin, SQL)
Firefox (Main web browser, with Multi-Account Containers)
Thunderbird (Work e-mail)
Notmuchmail (Personal e-mail)
Chromium/Iridium (Dumb web browser)
Telegram Desktop
weechat (with wee-slack)
cmus (Music player)
mpv (Video player)
mps-youtube (Youtube client)
transmission-gtk
Postgresql10 (daemon)
Rabbitmq (daemon)
Seafile (file sync)
Shotwell (manage pictures)
GIMP (Edit pictures)
Calibre (Manage e-books)
VirtualBox
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;All of these are available as binary packages from the repository. Since I use Intellij Ultimate edition, I decided to download the no-jdk linux version from the website rather than install it. This would make sure that it gets updated regularly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Why did I pick TrueOS ?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I ran various Linux distributions from 2001 all the way till 2009, till I discovered Arch, and continued with it till 2017. I tried out Void for two months before I switched to TrueOS.&lt;/p&gt;

&lt;p&gt;Over the last few years, I started feeling like no matter which Linux distribution I touched, they all just stopped making a lot of sense. Generally in the way things were organised, and particularly in terms of software like systemd, which just got pushed down my throat. I couldn't wrap my head around half the things going on in my computer.&lt;/p&gt;

&lt;p&gt;Mostly I found that Linux distributions stopped becoming a collection of applications that got developed together to something more coupled by software mechanisms like systemd - and that process was more and more opaque. I don't want to talk about the merits and de-merits of systemd, lets just say that I found it of no use and an unnecessary hassle.&lt;/p&gt;

&lt;p&gt;In February, I found myself in charge of the entire technology stack of a company, and I was free to make choices. A friend who was a long time FreeBSD user convinced me to try it on the servers. My requirement then was to run Postgres, Rabbitmq, Nginx and a couple of JVM processes. The setup was zero hassle and it hasn't changed much in a year.&lt;/p&gt;

&lt;p&gt;About three months of running FreeBSD-11.x on servers was enough for me to consider it for my laptop. I was very apprehensive of hardware support, but luckily my computer is a Thinkpad, and Thinkpads sort of work out of the box with various BSDs.&lt;/p&gt;

&lt;p&gt;My general requirements were:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Must run Intellij IDEA.&lt;/li&gt;
&lt;li&gt;Must have proper graphics and sound driver support.&lt;/li&gt;
&lt;li&gt;Must be able to run VirtualBox.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I had to pick from FreeBSD, NetBSD and OpenBSD, since these were the major BSDs that I was familiar with. One of my requirements was that I needed to be able to run VMs just in case I needed to test something on Windows/Linux. This ruled out OpenBSD. Then I was left with NetBSD and FreeBSD. NetBSD's driver support for newer Intel chip-sets were questionable, and FreeBSD was the only choice then.&lt;/p&gt;

&lt;p&gt;When I was digging through FreeBSD forums, I found out that running the 11.x RELEASE on my laptop was out of the question since it didn't have proper drivers for my chip-set either.&lt;/p&gt;

&lt;p&gt;A few more hours of digging led me to GhostBSD and TrueOS. I picked TrueOS straightaway because - well because TrueOS came from the old PC-BSD and it was built off FreeBSD-12-CURRENT with the latest drivers integrated.&lt;/p&gt;

&lt;p&gt;I downloaded the UNSTABLE version available in June 2017, backed up ALL my data and home directory, and then installed it. There were no glitches during installation - I simply followed the installation as described in the handbook and everything was fine.&lt;/p&gt;

&lt;p&gt;My entire switch from Arch/Void to TrueOS took about an hour, discounting the time it took to backup my data to an external hard disk. It was that easy. Everything I wanted to work just worked, everything was available in the repo.&lt;/p&gt;

&lt;p&gt;Tweaks from cooltrainer.org : I discovered this excellent tutorial that describes setting up a FreeBSD 11 desktop. It documents several useful tweaks, some of which I applied. A few examples - Fonts, VirtualBox, Firewall, UTF-8 sections.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;TrueOS (and FreeBSD) specific things I liked&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open-rc&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The open-rc init system is familiar and is well documented.&lt;br&gt;
TrueOS specific parts are described here.&lt;br&gt;
When I installed postgresql10-server, there was no open-rc script for it, but I could cobble one together in two hours with zero prior experience writing init scripts. Later on I figured out that the init script for postgresql9 would work for 10 as well, and used that.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Boot Environments&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This was an alien concept to me, but the first time I did an update without waiting for a CDN sync to finish, my computer booted into the shell and remained there. The friendly people at TrueOS discourse asked me to roll back to an older BE and wait for sync to finish.&lt;br&gt;
I dug through the forums and found "ZFS / Snapshots basics &amp;amp; How-To’s for those new to TrueOS". This describes ZFS and BEs, and is well worth reading.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;ZFS&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;My experience with boot environments was enough to convince me about the utility of ZFS. I am still reading about it and trying things out, and whatever I read just convinces me more about why it is good.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;File-system layout&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Coming from the Linux world, how the FreeBSD file-system is laid out seemed odd at first. Then I realised that it was the Linux distros that were doing the odd thing. e.g : The whole OS is split into base system and applications. All the non base system configurations and apps go into /usr/local. That made a lot of sense.&lt;br&gt;
The entire OS is developed along with its applications as a single coherent entity, and that shows.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The handbooks for both TrueOS and FreeBSD are really really good. For e.g, I kept some files in an LUKS encrypted drive (when I used Arch Linux). To find an equivalent, all I had to do was read the handbook and look at the GELI section. It is actually nice being able to go to a source like Handbook and things from there just work.&lt;br&gt;
Arch Linux and Gentoo has excellent documentation as well, if anyone is wondering about Linux distros.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Community&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The TrueOS community on both Telegram as well as on Discourse are very friendly and patient. They help out a lot and do not get upset when I pose really stupid questions. TrueOS core developers hangout in the Telegram chat-room too, and it is nice being able to talk to them directly about things.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What did not work in TrueOS ?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The following things that worked during my Linux tenure doesn't work in TrueOS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Netflix&lt;/li&gt;
&lt;li&gt;Google Hangouts&lt;/li&gt;
&lt;li&gt;Electron based applications (Slack, Skype)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;These are not major concerns for the kind of work I do, so it doesn't bother me much. I run a WinXP VM to play some old games, and a Bunsenlabs installation for Linux things like Hangouts/Netflix.&lt;/p&gt;

&lt;p&gt;I don't have a video calling system setup in TrueOS because I use my phone for both voice and video calls exclusively.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Why am I staying on TrueOS ?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Great community - whether on Discourse or on the telegram channel, the people make you feel welcome. If things go unanswered, someone will promise to work on it/file a bug/suggest work-arounds.&lt;/p&gt;

&lt;p&gt;Switching to TrueOS was philosophical as well - I thought a lot more about licenses, and I have arrived at the conclusion that I like BSD more than GPL. I believe it is a more practical license.&lt;/p&gt;

&lt;p&gt;I believe TrueOS is improving continuously, and is a great desktop UNIX if you put some time into it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.youtube.com/playlist?list=PLnTFqpZk5ebD-FfVScL-x6ZnZSecMA1jI" target="_blank" rel="nofollow noopener"&gt;AsiaBSDCon 2016 videos now available&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The videos from AsiaBSDCon 2016 have been posted to youtube, 30 videos in all&lt;/li&gt;
&lt;li&gt;We’ll cover the videos from 2017 next week&lt;/li&gt;
&lt;li&gt;The videos from 2018 should be posted in 4-6 weeks&lt;/li&gt;
&lt;li&gt;I are working on a new version of &lt;a href="https://papers.freebsd.org/" target="_blank" rel="nofollow noopener"&gt;https://papers.freebsd.org/&lt;/a&gt; that will make it easier to find the papers, slides, and videos of all talks related to FreeBSD
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180307234243" target="_blank" rel="nofollow noopener"&gt;syspatches will be provided for both supported releases&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Good news for people doing upgrades only once per year: syspatches will be provided for both supported releases. The commit from T.J. Townsend (tj@) speaks for itself:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;Subject:    CVS: cvs.openbsd.org: www
From:       T.J. Townsend &amp;lt;tj () openbsd ! org&amp;gt;
Date:       2018-03-06 22:09:12

CVSROOT:    /cvs
Module name:    www
Changes by: tj@cvs.openbsd.org  2018/03/06 15:09:12

Modified files:
    .              : errata61.html stable.html 
    faq            : faq10.html 

Log message:
syspatches will now be provided for both supported releases.
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Thanks to all the developers involved in providing these!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Update: An official announcement has been released:&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;I'm happy to announce that we are now able to provide two releases worth
of syspatches on the amd64 and i386 platforms. The binary patches for
6.1 will hit the mirrors shortly, so you will be able to catch up with
the errata on

   https://www.openbsd.org/errata61.html

using the syspatch utility. People running amd64 will thus get the
meltdown workaround.

This means in particular that 6.2 will remain supported by syspatch when
6.3 comes out.

Thanks to robert and ajacoutot for their amazing work on syspatch and
for all their help. Thanks also to tj and the volunteers from #openbsd
for their timely tests and of course to Theo for overseeing it all.
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.lorainekv.com/permutations_split_and_gsplit/" target="_blank" rel="nofollow noopener"&gt;Exploring permutations and a mystery with BSD and GNU split filenames&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Recently, I was playing around with the split command-line tool on Mac OS X, and I decided to chop a 4000-line file into 4000 separate single-line files. However, when I attempted to run split -l1, I ran into a funny error:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;split: too many files&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Curious to see if any splitting had occurred, I ran ls and sure enough, a huge list of filenames appeared, such as:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;xaa
xab
...
xzy
xzz
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Now I could see why you'd run out of unique filenames - there are only 26 letters in the alphabet and these filenames were only three letters long. Also, they all seemed to begin with the letter "x".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;BSD split's filename defaults&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I checked the manual for split's defaults and confirmed what I was seeing:&lt;/p&gt;

&lt;p&gt;each file into which the file is split is named by the prefix followed by a lexically ordered suffix using suffix_length characters in the range 'a-z'. If -a is not specified, two letters are used as the suffix....with the prefix 'x' and with suffixes as above.&lt;/p&gt;

&lt;p&gt;Got it, so running split with the defaults for prefix name and suffix length will give me filenames that always start with the letter "x" followed by two-letter alphabetical permutations composed of a-z letters, with repeats allowed. I say "repeats allowed" because I noticed filenames such as xaa and xbb in the output.&lt;/p&gt;

&lt;p&gt;Side node: The reason why I say "permutations" rather than "combinations" is because letter order matters. For example, xab and xba are two distinct and legitimate filenames. Here's a nice explanation about the difference between permutations and combinations.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Some permutation math&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;So how many filenames can you get from the BSD split tool using the defaults? There are permutation formulas out there for repeating values and non-repeating values. Based on split's behavior, I wanted to use the repeating values formula:&lt;/p&gt;

&lt;p&gt;n&lt;sup&gt;r&lt;/sup&gt; where n equals the number of possible values (26 for a-z) and r equals the number of values (2, since there are only 2 letters after "x" in the filename).&lt;/p&gt;

&lt;p&gt;26&lt;sup&gt;2&lt;/sup&gt; = 676&lt;/p&gt;

&lt;p&gt;So the total number of filename permutations allowed with BSD split's defaults should be 676.&lt;/p&gt;

&lt;p&gt;To double check, I ran ls | wc -l to get the total number of files in my split_test directory. The output was 677. If you subtract my original input file, input.txt, then you have 676, or the number of permutations split would allow before running out of filenames!&lt;/p&gt;

&lt;p&gt;Neat. But I still wanted my 4000 files.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Moar permutations pls&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;While 26&lt;sup&gt;2&lt;/sup&gt; permutations doesn't support 4000 different filenames, I wondered if I could increase r to 3. Then, I'd have 17,576 different filename permutations to play with - more than enough.&lt;/p&gt;

&lt;p&gt;Earlier, I remembered the manual mentioning suffix length:&lt;/p&gt;

&lt;p&gt;-a suffix_length&lt;br&gt;
Use suffix_length letters to form the suffix of the file name.&lt;/p&gt;

&lt;p&gt;So I passed 3 in with the -a flag and guess what? I got my 4000 files!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;split -l1 -a3 input.txt 
ls | wc -l
4001
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;But that was a lot of work. It would be great if split would just handle these permutations and suffix lengths by default!&lt;/p&gt;

&lt;p&gt;In fact, I vaguely remember splitting large files into smaller ones with numerical filenames, which I prefer. I also remember not having to worry about suffixes in the past. But numerical filenames didn't seem to be an option with split installed on Mac OS X - there was no mention of it in the manual.&lt;/p&gt;

&lt;p&gt;Turns out that I was remembering GNU split from using the Debian OS two years ago, a different flavor of the split tool with different defaults and behaviors.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://blather.michaelwlucas.com/archives/3121" target="_blank" rel="nofollow noopener"&gt;Michael Lucas is speaking at mug.org 10 April 2018&lt;/a&gt;&lt;br&gt;
&lt;a href="http://pkgsrc.org/pkgsrcCon/2018/" target="_blank" rel="nofollow noopener"&gt;PkgsrcCon 2018 July 7+8 Berlin&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.vincentdelft.be/post/post_20180310" target="_blank" rel="nofollow noopener"&gt;Tint2 rocks&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/open-source-summit-europe-2018-call-for-proposals/" target="_blank" rel="nofollow noopener"&gt;Open Source Summit Europe 2018 Call for Proposals&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener"&gt;Travel Grants for BSDCan 2018&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/bsdcan-2018-freebsd-developers-summit-call-for-proposals/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2018 FreeBSD Developers Summit Call for Proposals&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.openbsd.org/papers/asiabsdcon2018-vmm-slides.pdf" target="_blank" rel="nofollow noopener"&gt;OpenBSD vmm(4) update, by Mike Larkin&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://dpaste.com/3NZN49P#wrap" target="_blank" rel="nofollow noopener"&gt;Morgan ZFS Install Question&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://dpaste.com/3V09BZ5#wrap" target="_blank" rel="nofollow noopener"&gt;Andre - Splitting ZFS Array, or not&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://dpaste.com/2CY5MRE#wrap" target="_blank" rel="nofollow noopener"&gt;Jake - Python Projects&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://dpaste.com/257WGCB#wrap" target="_blank" rel="nofollow noopener"&gt;Dave - Screen Sharing &amp;amp; Video Conference&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://dpaste.com/3HAPZ90#wrap" target="_blank" rel="nofollow noopener"&gt;James - ZFS disk id switching&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>AsiaBSDcon review, Meltdown and Spectre Patches in FreeBSD stable, Interview with MidnightBSD founder, 8 months with TrueOS, mysteries of GNU and BSD split</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://2018.asiabsdcon.org/" target="_blank" rel="nofollow noopener">AsiaBSDCon 2018 has concluded</a></h3>

<ul>
<li>We have just returned from AsiaBSDCon in Tokyo, Japan last weekend</li>
<li>Please excuse our jetlag</li>
<li>The conference consisted two days of meeting followed by 2 days of paper presentations</li>
<li>We arrived a few days early to see some sights and take a few extra delicious meals in Tokyo</li>
<li>The first day of meetings was a FreeBSD developer summit (while Benedict was teaching his two tutorials) where we discussed the FreeBSD release cycle and our thoughts on improving it, the new Casper capsicum helper service, and developments in SDIO which will eventually enable WiFi and SD card readers on more embedded devices</li>
<li>The second day of meetings consisted of bhyvecon, a miniconf that covered development in all hypervisors on all BSDs. It also included presentations on the porting of bhyve to IllumOS.</li>
<li>Then the conference started</li>
<li>There were a number of great presentations, plus an amazing hallway track as usual</li>
<li>It was great to see many old friends and to spend time discussing the latest happenings in BSD. A couple of people came by and asked to take a picture with us and we were happy to do that.
***</li>
</ul>

<h3><a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-18:03.speculative_execution.asc" target="_blank" rel="nofollow noopener">FreeBSD releases Spectre and Meltdown mitigations for 11.1</a></h3>

<blockquote>
<p>Speculative execution vulnerability mitigation is a work in progress.  This advisory addresses the most significant issues for FreeBSD 11.1 on amd64 CPUs.  We expect to update this advisory to include 10.x for amd64 CPUs.  Future FreeBSD releases will address this issue on i386 and other CPUs.  freebsd-update will include changes on i386 as part of this update due to common code changes shared between amd64 and i386, however it contains no functional changes for i386 (in particular, it does not mitigate the issue on i386).<br>
Many modern processors have implementation issues that allow unprivileged attackers to bypass user-kernel or inter-process memory access restrictions by exploiting speculative execution and shared resources (for example, caches).<br>
An attacker may be able to read secret data from the kernel or from a process when executing untrusted code (for example, in a web browser).</p>

<ul>
<li>Meltdown:
The mitigation is known as Page Table Isolation (PTI).  PTI largely separates kernel and user mode page tables, so that even during speculative execution most of the kernel's data is unmapped and not accessible.
A demonstration of the Meltdown vulnerability is available at <a href="https://github.com/dag-erling/meltdown" target="_blank" rel="nofollow noopener">https://github.com/dag-erling/meltdown</a>.  A positive result is definitive (that is, the vulnerability exists with certainty).  A negative result indicates either that the CPU is not affected, or that the test is not capable of demonstrating the issue on the CPU (and may need to be modified).
A patched kernel will automatically enable PTI on Intel CPUs.  The status can be checked via the vm.pmap.pti sysctl 
PTI introduces a performance regression.  The observed performance loss is significant in microbenchmarks of system call overhead, but is much smaller for many real workloads.</li>
<li>Spectre V2:
There are two common mitigations for Spectre V2.  This patch includes a mitigation using Indirect Branch Restricted Speculation, a feature available via a microcode update from processor manufacturers.  The alternate mitigation, Retpoline, is a feature available in newer compilers.  The feasibility of applying Retpoline to stable branches and/or releases is under
investigation.
The patch includes the IBRS mitigation for Spectre V2.  To use the mitigation the system must have an updated microcode; with older microcode a patched kernel will function without the mitigation.
IBRS can be disabled via the hw.ibrs_disable sysctl (and tunable), and the status can be checked via the hw.ibrs_active sysctl.  IBRS may be enabled or disabled at runtime.  Additional detail on microcode updates will follow.</li>
<li><a href="https://wiki.freebsd.org/SpeculativeExecutionVulnerabilities" target="_blank" rel="nofollow noopener">Wiki tracking the vulnerabilities and mitigations on different platforms</a>
***</li>
</ul>
</blockquote>

<h3><a href="https://itsfoss.com/midnightbsd-founder-lucas-holt/" target="_blank" rel="nofollow noopener">Interview with MidnightBSD Founder and Lead Dev Lucas Holt</a></h3>

<blockquote>
<p>Recently, I have taken a little dip into the world of BSD. As part of my attempt to understand the BSD world a little better, I connected with Lucas Holt (MidnightBSD founder and lead developer) to ask him a few questions about his project. Here are his answers.</p>

<p>Its FOSS: Please explain MidnightBSD in a nutshell. How is it different than other BSDs?</p>

<p>Lucas Holt: MidnightBSD is a desktop focused operating system. When its considered stable, it will provide a full desktop experience. This differs from other efforts such as TrueOS or GhostBSD in that its not a distro of FreeBSD, but rather a fork. MidnightBSD has its own package manager, mport as well as unique package cluster software and several features built into user land such as mDNSresponder, libdispatch, and customizations throughout the system.</p>

<p>Its FOSS: Who is MidnightBSD aimed at?</p>

<p>Lucas Holt: The goal with MidnightBSD has always been to provide a desktop OS thats usable for everyday tasks and that even somewhat non technical people can use. Early versions of Mac OS X were certainly an inspiration. In practice, were rather far from that goal at this point, but its been an excellent learning opportunity.</p>

<p>Its FOSS: What is your background in computers?</p>

<p>Lucas Holt: I started in technical support at a small ISP and moved into web design and system administration. While there, I learned BSDi, Solaris and Linux. I also started tinkering with programming web apps in ASP and a little perl CGI. I then did a mix of programming and system administration jobs through college and graduated with a bachelors in C.S. from Eastern Michigan University. During that time, I learned NetBSD and FreeBSD. I started working on several projects such as porting Apples HFS+ code to FreeBSD 6 and working on getting the nforce2 chipset SATA controller working with FreeBSD 6, with the latter getting committed. I got a real taste for BSD and after seeing the lack of interest in the community for desktop BSDs, I started MidnightBSD. I began work on it in late 2005.<br>
Currently, Im a Senior Software Engineer focusing on backend rest services by day and a part-time graduate student at the University of Michigan Flint.</p>

<p>Its FOSS: I recently installed TrueOS. I was disappointed that a couple of the programs I wanted were not available. The FreeBSD port system looked mildly complicated for beginners. Im used to using pacman to get the job done quickly. How does MidnightBSD deal with ports?</p>

<p>Lucas Holt: MidnightBSD has its own port system, mports, which shared similarities with FreeBSD ports as well as some ideas from OpenBSD. We decided early on that decent package management was essential for regular users. Power users will still use ports for certain software, but its just so time consuming to build everything. We started work on our own package manager, mport.<br>
Every package is a tar lzma archive with a sqlite3 manifest file as well as a sqlite 3 index thats downloaded from our server. This allows users to query and customize the package system with standard SQL queries. Were also building more user friendly graphical tools.<br>
Package availability is another issue that most BSDs have. Software tends to be written for one or two operating systems and many projects are reluctant to support other systems, particularly smaller projects like MidnightBSD. There are certainly gaps. All of the BSD projects need more volunteers to help with porting software and keeping it up to date.</p>

<p>Its FOSS: During your June 2015 interview on BSDNow, you mentioned that even though you support both i386 and amd64, that you recommend people choose amd64. Do you have any plans to drop i386 support in the future, like many have done?</p>

<p>Lucas Holt: Yes, we do plan to drop i386 support, mostly because of the extra work needed to build and maintain packages. Ive held off on this so far because I had a lot of feedback from users in South America that they still needed it. For now, the plan is to keep i386 support through 1.0 release. Thats probably a year or two out.</p>

<p>Its FOSS: What desktop environments does MidnightBSD support?</p>

<p>Lucas Holt: The original plan was to use Etoile as a desktop environment, but that project changed focus. We currently support Xfce, Gnome 3, WindowMaker + GNUstep + Gworkspace as primary choices. We also have several other window managers and desktop environments available such as Enlightenment, rat poison, afterstep, etc.<br>
Early versions offered KDE 3.x but we had some issues with KDE 4. We may revisit that with newer versions.</p>

<p>Its FOSS: What is MidnightBSDs default filesystem? Do you support DragonflyBSDs HAMMER filesystem? What other filesystems?</p>

<p>Lucas Holt: Boot volumes are UFS2. We also support ZFS for additional storage. We have read support for ExFat, NTFS, ext2, CD9660. NFS v3 and v4 are also supported for network file systems.<br>
We do not support HAMMER, although it was considered. I would love to see HAMMER2 get added to MidnightBSD eventually.</p>

<p>Its FOSS: Is MidnightBSD affected by the recent Spectre and Meltdown issues?</p>

<p>Lucas Holt: Yes. Most operating systems were affected by these issues. We were not informed of the issue until the general public became aware. Work is ongoing to come up with appropriate mitigations. Unfortunately, we do not have a patch yet.</p>

<p>Its FOSS: The Raspberry Pi and its many clones have made the ARM platform very popular. Are there any plans to make MidnightBSD available on that platform?</p>

<p>Lucas Holt: No immediate plans. ARM is an interesting architecture, but by the very nature of SoC designs, takes a lot of work to support a broad number of devices. It might be possible when we stop supporting i386 or if someone volunteers to work on the ARM port.<br>
Eventually, I think most hobby systems will need to run ARM chips. Intels planning on locking down hardware with UEFI 3 and this may make it difficult to run on commodity hardware in the future not only for MidnightBSD but other systems as well.<br>
At one point, MidinightBSD ran on sparc64. When workstations were killed off, we dropped support. A desktop OS on a server platform makes little sense.</p>

<p>Its FOSS: Does MidnightBSD offer support for Linux applications?</p>

<p>Lucas Holt: Yes, we offer Linux emulation. Its emulating a 2.6.16 kernel currently and that needs to be updated so support newer apps. Its possible to run semi-recent versions of Firefox, Thunderbird, Java, and OpenOffice on it though. Ive also used it to host game servers in the past and play older games such as Quake 3, enemy territory, etc.</p>

<p>Its FOSS: Could you comment on the recent dust-up between the Pale Moon browser developers and the team behind the OpenBSD ports system?</p>
</blockquote>

<ul>
<li>[Authors Note: For those who havent heard about this, let me summarize. Last month, someone from the OpenBSD team added the Pale Moon browser to their ports collection. A Pale Moon developer demanded that they include Pale Moons libraries instead of using system libraries. As the conversation continued, it got more hostile, especially on the Pale Moon side. The net result is that Pale Moon will not be available on OpenBSD, MidnightBSD, or FreeBSD.]</li>
</ul>

<blockquote>
<p>Lucas Holt: I found this discussion frustrating. Many of the BSD projects hear a lot of complaints about browser availability and compatibility. With Firefox moving to Rust, it makes it even more difficult. Then you get into branding issues. Like Firefox, the Pale Moon developers have decided to protect their brand at the cost of users. Unlike the Firefox devs, theyve made even stranger requirements for branding. It is not possible to use a system library version of anything with Pale Moon and keep their branding requirements. As such, we cannot offer Pale Moon in MidnightBSD.<br>
The reason this is an issue for an open source project is that many third party libraries are used in something as complex as a web browser. For instance, Gecko-based browsers use several multimedia libraries, sqlite3 (for bookmarks), audio and video codecs, etc. Trying to maintain upstream patches for each of these items is difficult. Thats why the BSDs have ports collections to begin with. It allows us to track and manage custom patches to make all these libraries work. We go through a lot of effort in keeping these up to date. Sometimes upstream patches dont get included. That means our versions are the only working copies. With pale moons policy, wed need to submit separate patches to their customized versions of all these libraries too and any new release of the browser would not be available as changes occur. It might not even be possible to compile pale moon without a patch locally.<br>
With regard to Rust, it requires porting the language, as well as an appropriate version of LLVM before you can even start on the browser.</p>

<p>Its FOSS: If someone wanted to contribute to your project, both financial and technical, how can they do that?</p>

<p>Lucas Holt: Financial assistance for the project can be submitted online. We have a page outlining how to make donations with Patreon, Paypal or via bitcoin. Donations are not tax deductible. You can learn more at <a href="http://www.midnightbsd.org/donate/" target="_blank" rel="nofollow noopener">http://www.midnightbsd.org/donate/</a><br>
We also need assistance with translations, porting applications, and working on the actual OS. Interested parties can contact us on the mailing list or through IRC on freenode #midnightbsd We also could use assistance with mirroring ISOs and packages.</p>

<p>I would like to thank Lucas for taking the time to reply to my many questions. For more information about MidnightBSD or to download it, please visit their website. The most recent version of MidnightBSD is 0.8.6.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://inflo.ws/blog/post/2018-03-03-trueos-8th-month-review/" target="_blank" rel="nofollow noopener">8 months with TrueOS</a></h3>

<ul>
<li>Purpose of this review - what it is and what it is not.</li>
</ul>

<blockquote>
<p>I vowed to write down what I felt about TrueOS if I ever got to the six month mark of usage. This is just that. This is neither a tutorial, nor a piece of evangelism dedicated towards it.</p>

<p>This is also not a review of specific parts of TrueOS such as Lumina or AppCafe, since I don't use them at all.</p>

<p>In the spirit of presenting a screen shot, here is my i3wm displaying 4 windows in one screen - a configuration that I never use. <a href="https://inflo.ws/blog/images/trues-screenshot.png" target="_blank" rel="nofollow noopener">https://inflo.ws/blog/images/trues-screenshot.png</a></p>
</blockquote>

<ul>
<li>The primary tasks I get done with my computer.</li>
</ul>

<blockquote>
<p>I need a tiling wm with multi-desktop capability. As regards what I do with a computer, it is fairly straightforward to describe if I just list down my most frequently used applications.</p>
</blockquote>

<pre><code>xterm (CLI)
Emacs (General editing and org mode)
Intellij IDEA (Java, Kotlin, SQL)
Firefox (Main web browser, with Multi-Account Containers)
Thunderbird (Work e-mail)
Notmuchmail (Personal e-mail)
Chromium/Iridium (Dumb web browser)
Telegram Desktop
weechat (with wee-slack)
cmus (Music player)
mpv (Video player)
mps-youtube (Youtube client)
transmission-gtk
Postgresql10 (daemon)
Rabbitmq (daemon)
Seafile (file sync)
Shotwell (manage pictures)
GIMP (Edit pictures)
Calibre (Manage e-books)
VirtualBox
</code></pre>

<blockquote>
<p>All of these are available as binary packages from the repository. Since I use Intellij Ultimate edition, I decided to download the no-jdk linux version from the website rather than install it. This would make sure that it gets updated regularly.</p>
</blockquote>

<ul>
<li>Why did I pick TrueOS ?</li>
</ul>

<blockquote>
<p>I ran various Linux distributions from 2001 all the way till 2009, till I discovered Arch, and continued with it till 2017. I tried out Void for two months before I switched to TrueOS.</p>

<p>Over the last few years, I started feeling like no matter which Linux distribution I touched, they all just stopped making a lot of sense. Generally in the way things were organised, and particularly in terms of software like systemd, which just got pushed down my throat. I couldn't wrap my head around half the things going on in my computer.</p>

<p>Mostly I found that Linux distributions stopped becoming a collection of applications that got developed together to something more coupled by software mechanisms like systemd - and that process was more and more opaque. I don't want to talk about the merits and de-merits of systemd, lets just say that I found it of no use and an unnecessary hassle.</p>

<p>In February, I found myself in charge of the entire technology stack of a company, and I was free to make choices. A friend who was a long time FreeBSD user convinced me to try it on the servers. My requirement then was to run Postgres, Rabbitmq, Nginx and a couple of JVM processes. The setup was zero hassle and it hasn't changed much in a year.</p>

<p>About three months of running FreeBSD-11.x on servers was enough for me to consider it for my laptop. I was very apprehensive of hardware support, but luckily my computer is a Thinkpad, and Thinkpads sort of work out of the box with various BSDs.</p>

<p>My general requirements were:</p>
</blockquote>

<ul>
<li>Must run Intellij IDEA.</li>
<li>Must have proper graphics and sound driver support.</li>
<li>Must be able to run VirtualBox.</li>
</ul>

<blockquote>
<p>I had to pick from FreeBSD, NetBSD and OpenBSD, since these were the major BSDs that I was familiar with. One of my requirements was that I needed to be able to run VMs just in case I needed to test something on Windows/Linux. This ruled out OpenBSD. Then I was left with NetBSD and FreeBSD. NetBSD's driver support for newer Intel chip-sets were questionable, and FreeBSD was the only choice then.</p>

<p>When I was digging through FreeBSD forums, I found out that running the 11.x RELEASE on my laptop was out of the question since it didn't have proper drivers for my chip-set either.</p>

<p>A few more hours of digging led me to GhostBSD and TrueOS. I picked TrueOS straightaway because - well because TrueOS came from the old PC-BSD and it was built off FreeBSD-12-CURRENT with the latest drivers integrated.</p>

<p>I downloaded the UNSTABLE version available in June 2017, backed up ALL my data and home directory, and then installed it. There were no glitches during installation - I simply followed the installation as described in the handbook and everything was fine.</p>

<p>My entire switch from Arch/Void to TrueOS took about an hour, discounting the time it took to backup my data to an external hard disk. It was that easy. Everything I wanted to work just worked, everything was available in the repo.</p>

<p>Tweaks from cooltrainer.org : I discovered this excellent tutorial that describes setting up a FreeBSD 11 desktop. It documents several useful tweaks, some of which I applied. A few examples - Fonts, VirtualBox, Firewall, UTF-8 sections.</p>
</blockquote>

<ul>
<li><p>TrueOS (and FreeBSD) specific things I liked</p>

<ul>
<li>Open-rc</li>
</ul></li>
</ul>

<blockquote>
<p>The open-rc init system is familiar and is well documented.<br>
TrueOS specific parts are described here.<br>
When I installed postgresql10-server, there was no open-rc script for it, but I could cobble one together in two hours with zero prior experience writing init scripts. Later on I figured out that the init script for postgresql9 would work for 10 as well, and used that.</p>
</blockquote>

<ul>
<li>Boot Environments</li>
</ul>

<blockquote>
<p>This was an alien concept to me, but the first time I did an update without waiting for a CDN sync to finish, my computer booted into the shell and remained there. The friendly people at TrueOS discourse asked me to roll back to an older BE and wait for sync to finish.<br>
I dug through the forums and found "ZFS / Snapshots basics &amp; How-Tos for those new to TrueOS". This describes ZFS and BEs, and is well worth reading.</p>
</blockquote>

<ul>
<li>ZFS</li>
</ul>

<blockquote>
<p>My experience with boot environments was enough to convince me about the utility of ZFS. I am still reading about it and trying things out, and whatever I read just convinces me more about why it is good.</p>
</blockquote>

<ul>
<li>File-system layout</li>
</ul>

<blockquote>
<p>Coming from the Linux world, how the FreeBSD file-system is laid out seemed odd at first. Then I realised that it was the Linux distros that were doing the odd thing. e.g : The whole OS is split into base system and applications. All the non base system configurations and apps go into /usr/local. That made a lot of sense.<br>
The entire OS is developed along with its applications as a single coherent entity, and that shows.</p>
</blockquote>

<ul>
<li>Documentation</li>
</ul>

<blockquote>
<p>The handbooks for both TrueOS and FreeBSD are really really good. For e.g, I kept some files in an LUKS encrypted drive (when I used Arch Linux). To find an equivalent, all I had to do was read the handbook and look at the GELI section. It is actually nice being able to go to a source like Handbook and things from there just work.<br>
Arch Linux and Gentoo has excellent documentation as well, if anyone is wondering about Linux distros.</p>
</blockquote>

<ul>
<li>Community</li>
</ul>

<blockquote>
<p>The TrueOS community on both Telegram as well as on Discourse are very friendly and patient. They help out a lot and do not get upset when I pose really stupid questions. TrueOS core developers hangout in the Telegram chat-room too, and it is nice being able to talk to them directly about things.</p>
</blockquote>

<ul>
<li>What did not work in TrueOS ?</li>
</ul>

<blockquote>
<p>The following things that worked during my Linux tenure doesn't work in TrueOS.</p>
</blockquote>

<ul>
<li>Netflix</li>
<li>Google Hangouts</li>
<li>Electron based applications (Slack, Skype)</li>
</ul>

<blockquote>
<p>These are not major concerns for the kind of work I do, so it doesn't bother me much. I run a WinXP VM to play some old games, and a Bunsenlabs installation for Linux things like Hangouts/Netflix.</p>

<p>I don't have a video calling system setup in TrueOS because I use my phone for both voice and video calls exclusively.</p>
</blockquote>

<ul>
<li>Why am I staying on TrueOS ?</li>
</ul>

<blockquote>
<p>Great community - whether on Discourse or on the telegram channel, the people make you feel welcome. If things go unanswered, someone will promise to work on it/file a bug/suggest work-arounds.</p>

<p>Switching to TrueOS was philosophical as well - I thought a lot more about licenses, and I have arrived at the conclusion that I like BSD more than GPL. I believe it is a more practical license.</p>

<p>I believe TrueOS is improving continuously, and is a great desktop UNIX if you put some time into it.</p>
</blockquote>

<hr>

<h3><a href="https://www.youtube.com/playlist?list=PLnTFqpZk5ebD-FfVScL-x6ZnZSecMA1jI" target="_blank" rel="nofollow noopener">AsiaBSDCon 2016 videos now available</a></h3>

<ul>
<li>The videos from AsiaBSDCon 2016 have been posted to youtube, 30 videos in all</li>
<li>Well cover the videos from 2017 next week</li>
<li>The videos from 2018 should be posted in 4-6 weeks</li>
<li>I are working on a new version of <a href="https://papers.freebsd.org/" target="_blank" rel="nofollow noopener">https://papers.freebsd.org/</a> that will make it easier to find the papers, slides, and videos of all talks related to FreeBSD
***</li>
</ul>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180307234243" target="_blank" rel="nofollow noopener">syspatches will be provided for both supported releases</a></h3>

<blockquote>
<p>Good news for people doing upgrades only once per year: syspatches will be provided for both supported releases. The commit from T.J. Townsend (tj@) speaks for itself:</p>
</blockquote>

<pre><code>Subject:    CVS: cvs.openbsd.org: www
From:       T.J. Townsend &lt;tj () openbsd ! org&gt;
Date:       2018-03-06 22:09:12

CVSROOT:    /cvs
Module name:    www
Changes by: tj@cvs.openbsd.org  2018/03/06 15:09:12

Modified files:
    .              : errata61.html stable.html 
    faq            : faq10.html 

Log message:
syspatches will now be provided for both supported releases.
</code></pre>

<blockquote>
<p>Thanks to all the developers involved in providing these!</p>
</blockquote>

<ul>
<li>Update: An official announcement has been released:</li>
</ul>

<pre><code>I'm happy to announce that we are now able to provide two releases worth
of syspatches on the amd64 and i386 platforms. The binary patches for
6.1 will hit the mirrors shortly, so you will be able to catch up with
the errata on

   https://www.openbsd.org/errata61.html

using the syspatch utility. People running amd64 will thus get the
meltdown workaround.

This means in particular that 6.2 will remain supported by syspatch when
6.3 comes out.

Thanks to robert and ajacoutot for their amazing work on syspatch and
for all their help. Thanks also to tj and the volunteers from #openbsd
for their timely tests and of course to Theo for overseeing it all.
</code></pre>

<hr>

<h3><a href="https://www.lorainekv.com/permutations_split_and_gsplit/" target="_blank" rel="nofollow noopener">Exploring permutations and a mystery with BSD and GNU split filenames</a></h3>

<blockquote>
<p>Recently, I was playing around with the split command-line tool on Mac OS X, and I decided to chop a 4000-line file into 4000 separate single-line files. However, when I attempted to run split -l1, I ran into a funny error:</p>
</blockquote>

<p><code>split: too many files</code></p>

<blockquote>
<p>Curious to see if any splitting had occurred, I ran ls and sure enough, a huge list of filenames appeared, such as:</p>
</blockquote>

<pre><code>xaa
xab
...
xzy
xzz
</code></pre>

<blockquote>
<p>Now I could see why you'd run out of unique filenames - there are only 26 letters in the alphabet and these filenames were only three letters long. Also, they all seemed to begin with the letter "x".</p>
</blockquote>

<ul>
<li>BSD split's filename defaults</li>
</ul>

<blockquote>
<p>I checked the manual for split's defaults and confirmed what I was seeing:</p>

<p>each file into which the file is split is named by the prefix followed by a lexically ordered suffix using suffix_length characters in the range 'a-z'. If -a is not specified, two letters are used as the suffix....with the prefix 'x' and with suffixes as above.</p>

<p>Got it, so running split with the defaults for prefix name and suffix length will give me filenames that always start with the letter "x" followed by two-letter alphabetical permutations composed of a-z letters, with repeats allowed. I say "repeats allowed" because I noticed filenames such as xaa and xbb in the output.</p>

<p>Side node: The reason why I say "permutations" rather than "combinations" is because letter order matters. For example, xab and xba are two distinct and legitimate filenames. Here's a nice explanation about the difference between permutations and combinations.</p>
</blockquote>

<ul>
<li>Some permutation math</li>
</ul>

<blockquote>
<p>So how many filenames can you get from the BSD split tool using the defaults? There are permutation formulas out there for repeating values and non-repeating values. Based on split's behavior, I wanted to use the repeating values formula:</p>

<p>n<sup>r</sup> where n equals the number of possible values (26 for a-z) and r equals the number of values (2, since there are only 2 letters after "x" in the filename).</p>

<p>26<sup>2</sup> = 676</p>

<p>So the total number of filename permutations allowed with BSD split's defaults should be 676.</p>

<p>To double check, I ran ls | wc -l to get the total number of files in my split_test directory. The output was 677. If you subtract my original input file, input.txt, then you have 676, or the number of permutations split would allow before running out of filenames!</p>

<p>Neat. But I still wanted my 4000 files.</p>
</blockquote>

<ul>
<li>Moar permutations pls</li>
</ul>

<blockquote>
<p>While 26<sup>2</sup> permutations doesn't support 4000 different filenames, I wondered if I could increase r to 3. Then, I'd have 17,576 different filename permutations to play with - more than enough.</p>

<p>Earlier, I remembered the manual mentioning suffix length:</p>

<p>-a suffix_length<br>
Use suffix_length letters to form the suffix of the file name.</p>

<p>So I passed 3 in with the -a flag and guess what? I got my 4000 files!</p>
</blockquote>

<pre><code>split -l1 -a3 input.txt 
ls | wc -l
4001
</code></pre>

<blockquote>
<p>But that was a lot of work. It would be great if split would just handle these permutations and suffix lengths by default!</p>

<p>In fact, I vaguely remember splitting large files into smaller ones with numerical filenames, which I prefer. I also remember not having to worry about suffixes in the past. But numerical filenames didn't seem to be an option with split installed on Mac OS X - there was no mention of it in the manual.</p>

<p>Turns out that I was remembering GNU split from using the Debian OS two years ago, a different flavor of the split tool with different defaults and behaviors.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://blather.michaelwlucas.com/archives/3121" target="_blank" rel="nofollow noopener">Michael Lucas is speaking at mug.org 10 April 2018</a><br>
<a href="http://pkgsrc.org/pkgsrcCon/2018/" target="_blank" rel="nofollow noopener">PkgsrcCon 2018 July 7+8 Berlin</a><br>
<a href="http://www.vincentdelft.be/post/post_20180310" target="_blank" rel="nofollow noopener">Tint2 rocks</a><br>
<a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/open-source-summit-europe-2018-call-for-proposals/" target="_blank" rel="nofollow noopener">Open Source Summit Europe 2018 Call for Proposals</a><br>
<a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">Travel Grants for BSDCan 2018</a><br>
<a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/bsdcan-2018-freebsd-developers-summit-call-for-proposals/" target="_blank" rel="nofollow noopener">BSDCan 2018 FreeBSD Developers Summit Call for Proposals</a><br>
<a href="https://www.openbsd.org/papers/asiabsdcon2018-vmm-slides.pdf" target="_blank" rel="nofollow noopener">OpenBSD vmm(4) update, by Mike Larkin</a></p>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="http://dpaste.com/3NZN49P#wrap" target="_blank" rel="nofollow noopener">Morgan ZFS Install Question</a></p></li>
<li><p><a href="http://dpaste.com/3V09BZ5#wrap" target="_blank" rel="nofollow noopener">Andre - Splitting ZFS Array, or not</a></p></li>
<li><p><a href="http://dpaste.com/2CY5MRE#wrap" target="_blank" rel="nofollow noopener">Jake - Python Projects</a></p></li>
<li><p><a href="http://dpaste.com/257WGCB#wrap" target="_blank" rel="nofollow noopener">Dave - Screen Sharing &amp; Video Conference</a></p></li>
<li><p><a href="http://dpaste.com/3HAPZ90#wrap" target="_blank" rel="nofollow noopener">James - ZFS disk id switching</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>AsiaBSDcon review, Meltdown and Spectre Patches in FreeBSD stable, Interview with MidnightBSD founder, 8 months with TrueOS, mysteries of GNU and BSD split</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://2018.asiabsdcon.org/" target="_blank" rel="nofollow noopener">AsiaBSDCon 2018 has concluded</a></h3>

<ul>
<li>We have just returned from AsiaBSDCon in Tokyo, Japan last weekend</li>
<li>Please excuse our jetlag</li>
<li>The conference consisted two days of meeting followed by 2 days of paper presentations</li>
<li>We arrived a few days early to see some sights and take a few extra delicious meals in Tokyo</li>
<li>The first day of meetings was a FreeBSD developer summit (while Benedict was teaching his two tutorials) where we discussed the FreeBSD release cycle and our thoughts on improving it, the new Casper capsicum helper service, and developments in SDIO which will eventually enable WiFi and SD card readers on more embedded devices</li>
<li>The second day of meetings consisted of bhyvecon, a miniconf that covered development in all hypervisors on all BSDs. It also included presentations on the porting of bhyve to IllumOS.</li>
<li>Then the conference started</li>
<li>There were a number of great presentations, plus an amazing hallway track as usual</li>
<li>It was great to see many old friends and to spend time discussing the latest happenings in BSD. A couple of people came by and asked to take a picture with us and we were happy to do that.
***</li>
</ul>

<h3><a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-18:03.speculative_execution.asc" target="_blank" rel="nofollow noopener">FreeBSD releases Spectre and Meltdown mitigations for 11.1</a></h3>

<blockquote>
<p>Speculative execution vulnerability mitigation is a work in progress.  This advisory addresses the most significant issues for FreeBSD 11.1 on amd64 CPUs.  We expect to update this advisory to include 10.x for amd64 CPUs.  Future FreeBSD releases will address this issue on i386 and other CPUs.  freebsd-update will include changes on i386 as part of this update due to common code changes shared between amd64 and i386, however it contains no functional changes for i386 (in particular, it does not mitigate the issue on i386).<br>
Many modern processors have implementation issues that allow unprivileged attackers to bypass user-kernel or inter-process memory access restrictions by exploiting speculative execution and shared resources (for example, caches).<br>
An attacker may be able to read secret data from the kernel or from a process when executing untrusted code (for example, in a web browser).</p>

<ul>
<li>Meltdown:
The mitigation is known as Page Table Isolation (PTI).  PTI largely separates kernel and user mode page tables, so that even during speculative execution most of the kernel's data is unmapped and not accessible.
A demonstration of the Meltdown vulnerability is available at <a href="https://github.com/dag-erling/meltdown" target="_blank" rel="nofollow noopener">https://github.com/dag-erling/meltdown</a>.  A positive result is definitive (that is, the vulnerability exists with certainty).  A negative result indicates either that the CPU is not affected, or that the test is not capable of demonstrating the issue on the CPU (and may need to be modified).
A patched kernel will automatically enable PTI on Intel CPUs.  The status can be checked via the vm.pmap.pti sysctl 
PTI introduces a performance regression.  The observed performance loss is significant in microbenchmarks of system call overhead, but is much smaller for many real workloads.</li>
<li>Spectre V2:
There are two common mitigations for Spectre V2.  This patch includes a mitigation using Indirect Branch Restricted Speculation, a feature available via a microcode update from processor manufacturers.  The alternate mitigation, Retpoline, is a feature available in newer compilers.  The feasibility of applying Retpoline to stable branches and/or releases is under
investigation.
The patch includes the IBRS mitigation for Spectre V2.  To use the mitigation the system must have an updated microcode; with older microcode a patched kernel will function without the mitigation.
IBRS can be disabled via the hw.ibrs_disable sysctl (and tunable), and the status can be checked via the hw.ibrs_active sysctl.  IBRS may be enabled or disabled at runtime.  Additional detail on microcode updates will follow.</li>
<li><a href="https://wiki.freebsd.org/SpeculativeExecutionVulnerabilities" target="_blank" rel="nofollow noopener">Wiki tracking the vulnerabilities and mitigations on different platforms</a>
***</li>
</ul>
</blockquote>

<h3><a href="https://itsfoss.com/midnightbsd-founder-lucas-holt/" target="_blank" rel="nofollow noopener">Interview with MidnightBSD Founder and Lead Dev Lucas Holt</a></h3>

<blockquote>
<p>Recently, I have taken a little dip into the world of BSD. As part of my attempt to understand the BSD world a little better, I connected with Lucas Holt (MidnightBSD founder and lead developer) to ask him a few questions about his project. Here are his answers.</p>

<p>Its FOSS: Please explain MidnightBSD in a nutshell. How is it different than other BSDs?</p>

<p>Lucas Holt: MidnightBSD is a desktop focused operating system. When its considered stable, it will provide a full desktop experience. This differs from other efforts such as TrueOS or GhostBSD in that its not a distro of FreeBSD, but rather a fork. MidnightBSD has its own package manager, mport as well as unique package cluster software and several features built into user land such as mDNSresponder, libdispatch, and customizations throughout the system.</p>

<p>Its FOSS: Who is MidnightBSD aimed at?</p>

<p>Lucas Holt: The goal with MidnightBSD has always been to provide a desktop OS thats usable for everyday tasks and that even somewhat non technical people can use. Early versions of Mac OS X were certainly an inspiration. In practice, were rather far from that goal at this point, but its been an excellent learning opportunity.</p>

<p>Its FOSS: What is your background in computers?</p>

<p>Lucas Holt: I started in technical support at a small ISP and moved into web design and system administration. While there, I learned BSDi, Solaris and Linux. I also started tinkering with programming web apps in ASP and a little perl CGI. I then did a mix of programming and system administration jobs through college and graduated with a bachelors in C.S. from Eastern Michigan University. During that time, I learned NetBSD and FreeBSD. I started working on several projects such as porting Apples HFS+ code to FreeBSD 6 and working on getting the nforce2 chipset SATA controller working with FreeBSD 6, with the latter getting committed. I got a real taste for BSD and after seeing the lack of interest in the community for desktop BSDs, I started MidnightBSD. I began work on it in late 2005.<br>
Currently, Im a Senior Software Engineer focusing on backend rest services by day and a part-time graduate student at the University of Michigan Flint.</p>

<p>Its FOSS: I recently installed TrueOS. I was disappointed that a couple of the programs I wanted were not available. The FreeBSD port system looked mildly complicated for beginners. Im used to using pacman to get the job done quickly. How does MidnightBSD deal with ports?</p>

<p>Lucas Holt: MidnightBSD has its own port system, mports, which shared similarities with FreeBSD ports as well as some ideas from OpenBSD. We decided early on that decent package management was essential for regular users. Power users will still use ports for certain software, but its just so time consuming to build everything. We started work on our own package manager, mport.<br>
Every package is a tar lzma archive with a sqlite3 manifest file as well as a sqlite 3 index thats downloaded from our server. This allows users to query and customize the package system with standard SQL queries. Were also building more user friendly graphical tools.<br>
Package availability is another issue that most BSDs have. Software tends to be written for one or two operating systems and many projects are reluctant to support other systems, particularly smaller projects like MidnightBSD. There are certainly gaps. All of the BSD projects need more volunteers to help with porting software and keeping it up to date.</p>

<p>Its FOSS: During your June 2015 interview on BSDNow, you mentioned that even though you support both i386 and amd64, that you recommend people choose amd64. Do you have any plans to drop i386 support in the future, like many have done?</p>

<p>Lucas Holt: Yes, we do plan to drop i386 support, mostly because of the extra work needed to build and maintain packages. Ive held off on this so far because I had a lot of feedback from users in South America that they still needed it. For now, the plan is to keep i386 support through 1.0 release. Thats probably a year or two out.</p>

<p>Its FOSS: What desktop environments does MidnightBSD support?</p>

<p>Lucas Holt: The original plan was to use Etoile as a desktop environment, but that project changed focus. We currently support Xfce, Gnome 3, WindowMaker + GNUstep + Gworkspace as primary choices. We also have several other window managers and desktop environments available such as Enlightenment, rat poison, afterstep, etc.<br>
Early versions offered KDE 3.x but we had some issues with KDE 4. We may revisit that with newer versions.</p>

<p>Its FOSS: What is MidnightBSDs default filesystem? Do you support DragonflyBSDs HAMMER filesystem? What other filesystems?</p>

<p>Lucas Holt: Boot volumes are UFS2. We also support ZFS for additional storage. We have read support for ExFat, NTFS, ext2, CD9660. NFS v3 and v4 are also supported for network file systems.<br>
We do not support HAMMER, although it was considered. I would love to see HAMMER2 get added to MidnightBSD eventually.</p>

<p>Its FOSS: Is MidnightBSD affected by the recent Spectre and Meltdown issues?</p>

<p>Lucas Holt: Yes. Most operating systems were affected by these issues. We were not informed of the issue until the general public became aware. Work is ongoing to come up with appropriate mitigations. Unfortunately, we do not have a patch yet.</p>

<p>Its FOSS: The Raspberry Pi and its many clones have made the ARM platform very popular. Are there any plans to make MidnightBSD available on that platform?</p>

<p>Lucas Holt: No immediate plans. ARM is an interesting architecture, but by the very nature of SoC designs, takes a lot of work to support a broad number of devices. It might be possible when we stop supporting i386 or if someone volunteers to work on the ARM port.<br>
Eventually, I think most hobby systems will need to run ARM chips. Intels planning on locking down hardware with UEFI 3 and this may make it difficult to run on commodity hardware in the future not only for MidnightBSD but other systems as well.<br>
At one point, MidinightBSD ran on sparc64. When workstations were killed off, we dropped support. A desktop OS on a server platform makes little sense.</p>

<p>Its FOSS: Does MidnightBSD offer support for Linux applications?</p>

<p>Lucas Holt: Yes, we offer Linux emulation. Its emulating a 2.6.16 kernel currently and that needs to be updated so support newer apps. Its possible to run semi-recent versions of Firefox, Thunderbird, Java, and OpenOffice on it though. Ive also used it to host game servers in the past and play older games such as Quake 3, enemy territory, etc.</p>

<p>Its FOSS: Could you comment on the recent dust-up between the Pale Moon browser developers and the team behind the OpenBSD ports system?</p>
</blockquote>

<ul>
<li>[Authors Note: For those who havent heard about this, let me summarize. Last month, someone from the OpenBSD team added the Pale Moon browser to their ports collection. A Pale Moon developer demanded that they include Pale Moons libraries instead of using system libraries. As the conversation continued, it got more hostile, especially on the Pale Moon side. The net result is that Pale Moon will not be available on OpenBSD, MidnightBSD, or FreeBSD.]</li>
</ul>

<blockquote>
<p>Lucas Holt: I found this discussion frustrating. Many of the BSD projects hear a lot of complaints about browser availability and compatibility. With Firefox moving to Rust, it makes it even more difficult. Then you get into branding issues. Like Firefox, the Pale Moon developers have decided to protect their brand at the cost of users. Unlike the Firefox devs, theyve made even stranger requirements for branding. It is not possible to use a system library version of anything with Pale Moon and keep their branding requirements. As such, we cannot offer Pale Moon in MidnightBSD.<br>
The reason this is an issue for an open source project is that many third party libraries are used in something as complex as a web browser. For instance, Gecko-based browsers use several multimedia libraries, sqlite3 (for bookmarks), audio and video codecs, etc. Trying to maintain upstream patches for each of these items is difficult. Thats why the BSDs have ports collections to begin with. It allows us to track and manage custom patches to make all these libraries work. We go through a lot of effort in keeping these up to date. Sometimes upstream patches dont get included. That means our versions are the only working copies. With pale moons policy, wed need to submit separate patches to their customized versions of all these libraries too and any new release of the browser would not be available as changes occur. It might not even be possible to compile pale moon without a patch locally.<br>
With regard to Rust, it requires porting the language, as well as an appropriate version of LLVM before you can even start on the browser.</p>

<p>Its FOSS: If someone wanted to contribute to your project, both financial and technical, how can they do that?</p>

<p>Lucas Holt: Financial assistance for the project can be submitted online. We have a page outlining how to make donations with Patreon, Paypal or via bitcoin. Donations are not tax deductible. You can learn more at <a href="http://www.midnightbsd.org/donate/" target="_blank" rel="nofollow noopener">http://www.midnightbsd.org/donate/</a><br>
We also need assistance with translations, porting applications, and working on the actual OS. Interested parties can contact us on the mailing list or through IRC on freenode #midnightbsd We also could use assistance with mirroring ISOs and packages.</p>

<p>I would like to thank Lucas for taking the time to reply to my many questions. For more information about MidnightBSD or to download it, please visit their website. The most recent version of MidnightBSD is 0.8.6.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://inflo.ws/blog/post/2018-03-03-trueos-8th-month-review/" target="_blank" rel="nofollow noopener">8 months with TrueOS</a></h3>

<ul>
<li>Purpose of this review - what it is and what it is not.</li>
</ul>

<blockquote>
<p>I vowed to write down what I felt about TrueOS if I ever got to the six month mark of usage. This is just that. This is neither a tutorial, nor a piece of evangelism dedicated towards it.</p>

<p>This is also not a review of specific parts of TrueOS such as Lumina or AppCafe, since I don't use them at all.</p>

<p>In the spirit of presenting a screen shot, here is my i3wm displaying 4 windows in one screen - a configuration that I never use. <a href="https://inflo.ws/blog/images/trues-screenshot.png" target="_blank" rel="nofollow noopener">https://inflo.ws/blog/images/trues-screenshot.png</a></p>
</blockquote>

<ul>
<li>The primary tasks I get done with my computer.</li>
</ul>

<blockquote>
<p>I need a tiling wm with multi-desktop capability. As regards what I do with a computer, it is fairly straightforward to describe if I just list down my most frequently used applications.</p>
</blockquote>

<pre><code>xterm (CLI)
Emacs (General editing and org mode)
Intellij IDEA (Java, Kotlin, SQL)
Firefox (Main web browser, with Multi-Account Containers)
Thunderbird (Work e-mail)
Notmuchmail (Personal e-mail)
Chromium/Iridium (Dumb web browser)
Telegram Desktop
weechat (with wee-slack)
cmus (Music player)
mpv (Video player)
mps-youtube (Youtube client)
transmission-gtk
Postgresql10 (daemon)
Rabbitmq (daemon)
Seafile (file sync)
Shotwell (manage pictures)
GIMP (Edit pictures)
Calibre (Manage e-books)
VirtualBox
</code></pre>

<blockquote>
<p>All of these are available as binary packages from the repository. Since I use Intellij Ultimate edition, I decided to download the no-jdk linux version from the website rather than install it. This would make sure that it gets updated regularly.</p>
</blockquote>

<ul>
<li>Why did I pick TrueOS ?</li>
</ul>

<blockquote>
<p>I ran various Linux distributions from 2001 all the way till 2009, till I discovered Arch, and continued with it till 2017. I tried out Void for two months before I switched to TrueOS.</p>

<p>Over the last few years, I started feeling like no matter which Linux distribution I touched, they all just stopped making a lot of sense. Generally in the way things were organised, and particularly in terms of software like systemd, which just got pushed down my throat. I couldn't wrap my head around half the things going on in my computer.</p>

<p>Mostly I found that Linux distributions stopped becoming a collection of applications that got developed together to something more coupled by software mechanisms like systemd - and that process was more and more opaque. I don't want to talk about the merits and de-merits of systemd, lets just say that I found it of no use and an unnecessary hassle.</p>

<p>In February, I found myself in charge of the entire technology stack of a company, and I was free to make choices. A friend who was a long time FreeBSD user convinced me to try it on the servers. My requirement then was to run Postgres, Rabbitmq, Nginx and a couple of JVM processes. The setup was zero hassle and it hasn't changed much in a year.</p>

<p>About three months of running FreeBSD-11.x on servers was enough for me to consider it for my laptop. I was very apprehensive of hardware support, but luckily my computer is a Thinkpad, and Thinkpads sort of work out of the box with various BSDs.</p>

<p>My general requirements were:</p>
</blockquote>

<ul>
<li>Must run Intellij IDEA.</li>
<li>Must have proper graphics and sound driver support.</li>
<li>Must be able to run VirtualBox.</li>
</ul>

<blockquote>
<p>I had to pick from FreeBSD, NetBSD and OpenBSD, since these were the major BSDs that I was familiar with. One of my requirements was that I needed to be able to run VMs just in case I needed to test something on Windows/Linux. This ruled out OpenBSD. Then I was left with NetBSD and FreeBSD. NetBSD's driver support for newer Intel chip-sets were questionable, and FreeBSD was the only choice then.</p>

<p>When I was digging through FreeBSD forums, I found out that running the 11.x RELEASE on my laptop was out of the question since it didn't have proper drivers for my chip-set either.</p>

<p>A few more hours of digging led me to GhostBSD and TrueOS. I picked TrueOS straightaway because - well because TrueOS came from the old PC-BSD and it was built off FreeBSD-12-CURRENT with the latest drivers integrated.</p>

<p>I downloaded the UNSTABLE version available in June 2017, backed up ALL my data and home directory, and then installed it. There were no glitches during installation - I simply followed the installation as described in the handbook and everything was fine.</p>

<p>My entire switch from Arch/Void to TrueOS took about an hour, discounting the time it took to backup my data to an external hard disk. It was that easy. Everything I wanted to work just worked, everything was available in the repo.</p>

<p>Tweaks from cooltrainer.org : I discovered this excellent tutorial that describes setting up a FreeBSD 11 desktop. It documents several useful tweaks, some of which I applied. A few examples - Fonts, VirtualBox, Firewall, UTF-8 sections.</p>
</blockquote>

<ul>
<li><p>TrueOS (and FreeBSD) specific things I liked</p>

<ul>
<li>Open-rc</li>
</ul></li>
</ul>

<blockquote>
<p>The open-rc init system is familiar and is well documented.<br>
TrueOS specific parts are described here.<br>
When I installed postgresql10-server, there was no open-rc script for it, but I could cobble one together in two hours with zero prior experience writing init scripts. Later on I figured out that the init script for postgresql9 would work for 10 as well, and used that.</p>
</blockquote>

<ul>
<li>Boot Environments</li>
</ul>

<blockquote>
<p>This was an alien concept to me, but the first time I did an update without waiting for a CDN sync to finish, my computer booted into the shell and remained there. The friendly people at TrueOS discourse asked me to roll back to an older BE and wait for sync to finish.<br>
I dug through the forums and found "ZFS / Snapshots basics &amp; How-Tos for those new to TrueOS". This describes ZFS and BEs, and is well worth reading.</p>
</blockquote>

<ul>
<li>ZFS</li>
</ul>

<blockquote>
<p>My experience with boot environments was enough to convince me about the utility of ZFS. I am still reading about it and trying things out, and whatever I read just convinces me more about why it is good.</p>
</blockquote>

<ul>
<li>File-system layout</li>
</ul>

<blockquote>
<p>Coming from the Linux world, how the FreeBSD file-system is laid out seemed odd at first. Then I realised that it was the Linux distros that were doing the odd thing. e.g : The whole OS is split into base system and applications. All the non base system configurations and apps go into /usr/local. That made a lot of sense.<br>
The entire OS is developed along with its applications as a single coherent entity, and that shows.</p>
</blockquote>

<ul>
<li>Documentation</li>
</ul>

<blockquote>
<p>The handbooks for both TrueOS and FreeBSD are really really good. For e.g, I kept some files in an LUKS encrypted drive (when I used Arch Linux). To find an equivalent, all I had to do was read the handbook and look at the GELI section. It is actually nice being able to go to a source like Handbook and things from there just work.<br>
Arch Linux and Gentoo has excellent documentation as well, if anyone is wondering about Linux distros.</p>
</blockquote>

<ul>
<li>Community</li>
</ul>

<blockquote>
<p>The TrueOS community on both Telegram as well as on Discourse are very friendly and patient. They help out a lot and do not get upset when I pose really stupid questions. TrueOS core developers hangout in the Telegram chat-room too, and it is nice being able to talk to them directly about things.</p>
</blockquote>

<ul>
<li>What did not work in TrueOS ?</li>
</ul>

<blockquote>
<p>The following things that worked during my Linux tenure doesn't work in TrueOS.</p>
</blockquote>

<ul>
<li>Netflix</li>
<li>Google Hangouts</li>
<li>Electron based applications (Slack, Skype)</li>
</ul>

<blockquote>
<p>These are not major concerns for the kind of work I do, so it doesn't bother me much. I run a WinXP VM to play some old games, and a Bunsenlabs installation for Linux things like Hangouts/Netflix.</p>

<p>I don't have a video calling system setup in TrueOS because I use my phone for both voice and video calls exclusively.</p>
</blockquote>

<ul>
<li>Why am I staying on TrueOS ?</li>
</ul>

<blockquote>
<p>Great community - whether on Discourse or on the telegram channel, the people make you feel welcome. If things go unanswered, someone will promise to work on it/file a bug/suggest work-arounds.</p>

<p>Switching to TrueOS was philosophical as well - I thought a lot more about licenses, and I have arrived at the conclusion that I like BSD more than GPL. I believe it is a more practical license.</p>

<p>I believe TrueOS is improving continuously, and is a great desktop UNIX if you put some time into it.</p>
</blockquote>

<hr>

<h3><a href="https://www.youtube.com/playlist?list=PLnTFqpZk5ebD-FfVScL-x6ZnZSecMA1jI" target="_blank" rel="nofollow noopener">AsiaBSDCon 2016 videos now available</a></h3>

<ul>
<li>The videos from AsiaBSDCon 2016 have been posted to youtube, 30 videos in all</li>
<li>Well cover the videos from 2017 next week</li>
<li>The videos from 2018 should be posted in 4-6 weeks</li>
<li>I are working on a new version of <a href="https://papers.freebsd.org/" target="_blank" rel="nofollow noopener">https://papers.freebsd.org/</a> that will make it easier to find the papers, slides, and videos of all talks related to FreeBSD
***</li>
</ul>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180307234243" target="_blank" rel="nofollow noopener">syspatches will be provided for both supported releases</a></h3>

<blockquote>
<p>Good news for people doing upgrades only once per year: syspatches will be provided for both supported releases. The commit from T.J. Townsend (tj@) speaks for itself:</p>
</blockquote>

<pre><code>Subject:    CVS: cvs.openbsd.org: www
From:       T.J. Townsend &lt;tj () openbsd ! org&gt;
Date:       2018-03-06 22:09:12

CVSROOT:    /cvs
Module name:    www
Changes by: tj@cvs.openbsd.org  2018/03/06 15:09:12

Modified files:
    .              : errata61.html stable.html 
    faq            : faq10.html 

Log message:
syspatches will now be provided for both supported releases.
</code></pre>

<blockquote>
<p>Thanks to all the developers involved in providing these!</p>
</blockquote>

<ul>
<li>Update: An official announcement has been released:</li>
</ul>

<pre><code>I'm happy to announce that we are now able to provide two releases worth
of syspatches on the amd64 and i386 platforms. The binary patches for
6.1 will hit the mirrors shortly, so you will be able to catch up with
the errata on

   https://www.openbsd.org/errata61.html

using the syspatch utility. People running amd64 will thus get the
meltdown workaround.

This means in particular that 6.2 will remain supported by syspatch when
6.3 comes out.

Thanks to robert and ajacoutot for their amazing work on syspatch and
for all their help. Thanks also to tj and the volunteers from #openbsd
for their timely tests and of course to Theo for overseeing it all.
</code></pre>

<hr>

<h3><a href="https://www.lorainekv.com/permutations_split_and_gsplit/" target="_blank" rel="nofollow noopener">Exploring permutations and a mystery with BSD and GNU split filenames</a></h3>

<blockquote>
<p>Recently, I was playing around with the split command-line tool on Mac OS X, and I decided to chop a 4000-line file into 4000 separate single-line files. However, when I attempted to run split -l1, I ran into a funny error:</p>
</blockquote>

<p><code>split: too many files</code></p>

<blockquote>
<p>Curious to see if any splitting had occurred, I ran ls and sure enough, a huge list of filenames appeared, such as:</p>
</blockquote>

<pre><code>xaa
xab
...
xzy
xzz
</code></pre>

<blockquote>
<p>Now I could see why you'd run out of unique filenames - there are only 26 letters in the alphabet and these filenames were only three letters long. Also, they all seemed to begin with the letter "x".</p>
</blockquote>

<ul>
<li>BSD split's filename defaults</li>
</ul>

<blockquote>
<p>I checked the manual for split's defaults and confirmed what I was seeing:</p>

<p>each file into which the file is split is named by the prefix followed by a lexically ordered suffix using suffix_length characters in the range 'a-z'. If -a is not specified, two letters are used as the suffix....with the prefix 'x' and with suffixes as above.</p>

<p>Got it, so running split with the defaults for prefix name and suffix length will give me filenames that always start with the letter "x" followed by two-letter alphabetical permutations composed of a-z letters, with repeats allowed. I say "repeats allowed" because I noticed filenames such as xaa and xbb in the output.</p>

<p>Side node: The reason why I say "permutations" rather than "combinations" is because letter order matters. For example, xab and xba are two distinct and legitimate filenames. Here's a nice explanation about the difference between permutations and combinations.</p>
</blockquote>

<ul>
<li>Some permutation math</li>
</ul>

<blockquote>
<p>So how many filenames can you get from the BSD split tool using the defaults? There are permutation formulas out there for repeating values and non-repeating values. Based on split's behavior, I wanted to use the repeating values formula:</p>

<p>n<sup>r</sup> where n equals the number of possible values (26 for a-z) and r equals the number of values (2, since there are only 2 letters after "x" in the filename).</p>

<p>26<sup>2</sup> = 676</p>

<p>So the total number of filename permutations allowed with BSD split's defaults should be 676.</p>

<p>To double check, I ran ls | wc -l to get the total number of files in my split_test directory. The output was 677. If you subtract my original input file, input.txt, then you have 676, or the number of permutations split would allow before running out of filenames!</p>

<p>Neat. But I still wanted my 4000 files.</p>
</blockquote>

<ul>
<li>Moar permutations pls</li>
</ul>

<blockquote>
<p>While 26<sup>2</sup> permutations doesn't support 4000 different filenames, I wondered if I could increase r to 3. Then, I'd have 17,576 different filename permutations to play with - more than enough.</p>

<p>Earlier, I remembered the manual mentioning suffix length:</p>

<p>-a suffix_length<br>
Use suffix_length letters to form the suffix of the file name.</p>

<p>So I passed 3 in with the -a flag and guess what? I got my 4000 files!</p>
</blockquote>

<pre><code>split -l1 -a3 input.txt 
ls | wc -l
4001
</code></pre>

<blockquote>
<p>But that was a lot of work. It would be great if split would just handle these permutations and suffix lengths by default!</p>

<p>In fact, I vaguely remember splitting large files into smaller ones with numerical filenames, which I prefer. I also remember not having to worry about suffixes in the past. But numerical filenames didn't seem to be an option with split installed on Mac OS X - there was no mention of it in the manual.</p>

<p>Turns out that I was remembering GNU split from using the Debian OS two years ago, a different flavor of the split tool with different defaults and behaviors.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<p><a href="https://blather.michaelwlucas.com/archives/3121" target="_blank" rel="nofollow noopener">Michael Lucas is speaking at mug.org 10 April 2018</a><br>
<a href="http://pkgsrc.org/pkgsrcCon/2018/" target="_blank" rel="nofollow noopener">PkgsrcCon 2018 July 7+8 Berlin</a><br>
<a href="http://www.vincentdelft.be/post/post_20180310" target="_blank" rel="nofollow noopener">Tint2 rocks</a><br>
<a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/open-source-summit-europe-2018-call-for-proposals/" target="_blank" rel="nofollow noopener">Open Source Summit Europe 2018 Call for Proposals</a><br>
<a href="https://www.freebsdfoundation.org/blog/bsdcan-2018-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">Travel Grants for BSDCan 2018</a><br>
<a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/bsdcan-2018-freebsd-developers-summit-call-for-proposals/" target="_blank" rel="nofollow noopener">BSDCan 2018 FreeBSD Developers Summit Call for Proposals</a><br>
<a href="https://www.openbsd.org/papers/asiabsdcon2018-vmm-slides.pdf" target="_blank" rel="nofollow noopener">OpenBSD vmm(4) update, by Mike Larkin</a></p>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="http://dpaste.com/3NZN49P#wrap" target="_blank" rel="nofollow noopener">Morgan ZFS Install Question</a></p></li>
<li><p><a href="http://dpaste.com/3V09BZ5#wrap" target="_blank" rel="nofollow noopener">Andre - Splitting ZFS Array, or not</a></p></li>
<li><p><a href="http://dpaste.com/2CY5MRE#wrap" target="_blank" rel="nofollow noopener">Jake - Python Projects</a></p></li>
<li><p><a href="http://dpaste.com/257WGCB#wrap" target="_blank" rel="nofollow noopener">Dave - Screen Sharing &amp; Video Conference</a></p></li>
<li><p><a href="http://dpaste.com/3HAPZ90#wrap" target="_blank" rel="nofollow noopener">James - ZFS disk id switching</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>236: How a cd works</title>
  <link>https://www.bsdnow.tv/236</link>
  <guid isPermaLink="false">2b307489-eb54-4432-8391-e65980da511d</guid>
  <pubDate>Wed, 07 Mar 2018 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2b307489-eb54-4432-8391-e65980da511d.mp3" length="87714580" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We’ll cover OpenBSD’s defensive approach to OS security, help you  Understanding Syscall Conventions for Different Platforms, Mishandling SMTP Sender Verification, how the cd command works, and the LUA boot loader coming to FreeBSD.</itunes:subtitle>
  <itunes:duration>2:01: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>&lt;p&gt;We’ll cover OpenBSD’s defensive approach to OS security, help you  Understanding Syscall Conventions for Different Platforms, Mishandling SMTP Sender Verification, how the cd command works, and the LUA boot loader coming to FreeBSD.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://medium.com/@_neerajpal/pledge-openbsds-defensive-approach-for-os-security-86629ef779ce" target="_blank" rel="nofollow noopener"&gt;Pledge: OpenBSD’s defensive approach to OS Security&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The meaning of Pledge is same as in the real world, that is, “a solemn promise or undertaking”.&lt;/p&gt;

&lt;p&gt;So, in OpenBSD: Calling pledge in a program means to promise that the program will only use certain resources.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;How does it make a program more secure?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It limits the operation of a program. Example: You wrote a program named ‘abc’ that only needed the stdio to just print something to stdout.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;You added pledge to use only stdio and nothing else.&lt;/li&gt;
&lt;li&gt;Then, a malicious user found out that there is a vulnerability in your program which one can exploit and get into shell (or root shell).&lt;/li&gt;
&lt;li&gt;Exploiting your program to open a shell (or root shell) will result in the kernel killing the process with SIGABRT (which cannot be caught/ignored) and will generate a log (which you can find with dmesg).&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This happens because before executing other codes of your program, the code first pledges not to use anything other than stdio promise/operations. But, opening a shell or root shell will call several other system-calls which are distributed in lots of other promises like “stdio”, “proc”, “exec” etc. They are all forbidden because the program has already promised not to use any promises other than stdio.&lt;/p&gt;

&lt;p&gt;Pledge is not a system call filter. So, it is not used to restrict system calls.&lt;br&gt;
For example,&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;pledge(“read”,NULL) ? wrong syntax of the pledge()&lt;/li&gt;
&lt;li&gt;pledge(“stdio inet”,NULL) ? correct syntax of the pledge()&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Pledge works on stdio, dns, inet, etc. promises but not directly on system calls like read, write, etc. And, unique functionality of pledge() is that it works on behavioral approach not just like 1:1 approach with the system calls.&lt;/p&gt;

&lt;p&gt;On 11 December 2017, Theo de Raadt said:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;List: openbsd-tech
Subject: pledge execpromises
From: Theo de Raadt &amp;lt;deraadt () openbsd ! org&amp;gt;
Date: 2017–12–11 21:20:51
Message-ID: 6735.1513027251 () cvs ! openbsd ! org
This will probably be committed in the next day or so.
The 2nd argument of pledge() becomes execpromises, which is what
will gets activated after execve.
There is also a small new feature called “error”, which causes
violating system calls to return -1 with ENOSYS rather than killing
the process. This must be used with EXTREME CAUTION because libraries
and programs are full of unchecked system calls. If you carry on past
one of these failures, your program is in uncharted territory and
risks of exploitation become high.
“error” is being introduced for a different reason: The pre-exec
process’s expectation of what the post-exec process will do might
mismatch, so “error” allows things like starting an editor which has
no network access or maybe other restrictions in the future…
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://k3research.outerhaven.de/posts/every-journey-starts-with-a-fail.html" target="_blank" rel="nofollow noopener"&gt;Every Journey Starts with a FAIL...or Understanding Syscall Conventions for Different Platforms&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Not long ago I started looking into FreeBSD kernel exploitation. There are only a few resources but probably the best starting point is argp's Phrack article from 2009[0]. And while he does only provide one technique, I wanted to understand it and port it to a modern FreeBSD release before describing new, own researched techniques.&lt;/p&gt;

&lt;p&gt;Well, at least this was my plan. In reality I ended researching how different operating systems resp. the same operating system but for different architectures implement syscalls. Hence, new exploiting methods have to wait for another post. In this one I want to describe my personal FAIL while porting argp's exploit example to a FreeBSD 11.1-RELEASE running on a 64bit processor. Maybe this will give other people interested in kernel stuff some insights they didn't know before. If you already know how syscalls work on 32bit and 64bit *BSD because you are an experienced exploit or kernel developer, you will probably want to search for something&lt;br&gt;
else to read. Moreover, some of the debugging stuff can look laborious because I wanted to show the steps I have done while attacking my problem instead of showing a simple walkthrough to the solution.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Problem&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;argp described in his article vulnerable code consisting of a loadable kernel module which exposes a syscall to the userland. Because it was written around the time when FreeBSD 8-RELEASE came out and because he has written himself that the code needs smaller adjustments to work with this version (it was written for FreeBSD 7) I thought I will first port it to&lt;br&gt;
FreeBSD 11.1-RELEASE. Moreover it was written for an Intel 32bit processor architecture as we can see from his shellcode examples. Hence, I wanted to go right away the harder way and modify it to work on an 64bit processor.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Why the Original Code Worked While It Was Wrong&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As written above, the syscall convention for the 32bit architecture is different from the one for the 64bit architecture. Indeed, a syscall on a 32bit FreeBSD system passes the arguments via the stack while the syscall offset is stored in the EAX register. The transfer into the kernel address space is done in 'cpu_fetch_syscall_args' in 'sys/i386/i386/trap.c'.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;int
cpu_fetch_syscall_args(struct thread *td, struct syscall_args *sa)
{
    ...
    frame = td-&amp;gt;td_frame;

    params = (caddr_t)frame-&amp;gt;tf_esp + sizeof(int);
    sa-&amp;gt;code = frame-&amp;gt;tf_eax;

    ...

    if (params != NULL &amp;amp;&amp;amp; sa-&amp;gt;narg != 0)
        error = copyin(params, (caddr_t)sa-&amp;gt;args,
            (u_int)(sa-&amp;gt;narg * sizeof(int)));
    else
    ...
}
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;That is, 'params' points to ESP+4 bytes offset. Later, the arguments are copied into the kernel space which is referenced by 'sa-&amp;gt;args'. 'args' is an array of eight 'register_t' which is defined as 'int32_t' on the 32bit platform in comparison to the 64bit platform. And as 'struct args' only&lt;br&gt;
consisted of integers they got copied into the syscall arguments which are given to the trigger function inside the kernel module. We could verify this by changing 'int op' to 'long long op' in the kernel module and in trigger.c. We get the following output:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;root@freebsd64:trigger/ # ./trigger
0x28414000
256
3
1
0x28414000
256
4294967295
2
root@freebsd64:trigger/ #
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;To bring this to an end: argp's version only worked for his special choice of arguments and only on 32bit. On 32bit FreeBSD platforms the arguments are transferred into kernel space by 4 byte integers, hence it will only work for integers anyway. On 64bit FreeBSD platforms we have to use syscall(2) in the intended way.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;iXsystems&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.ixsystems.com/blog/gdpr-countdown/" target="_blank" rel="nofollow noopener"&gt;New Disks!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://bsdly.blogspot.co.uk/2018/02/a-life-lesson-in-mishandling-smtp.html" target="_blank" rel="nofollow noopener"&gt;A Life Lesson in Mishandling SMTP Sender Verification&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;It all started with one of those rare spam mails that got through.&lt;/p&gt;

&lt;p&gt;This one was hawking address lists, much like the ones I occasionally receive to addresses that I can not turn into spamtraps. The message was addressed to, of all things, &lt;a href="mailto:root@skapet.bsdly.net" target="_blank" rel="nofollow noopener"&gt;root@skapet.bsdly.net&lt;/a&gt;. (The message with full headers has been preserved here for reference).&lt;/p&gt;

&lt;p&gt;Yes, that's right, they sent their spam to &lt;a target="_blank" rel="nofollow noopener"&gt;root@&lt;/a&gt;. And a quick peek at the headers revealed that like most of those attempts at hawking address lists for spamming that actually make it to a mailbox here, this one had been sent by an outlook.com customer.&lt;/p&gt;

&lt;p&gt;The problem with spam delivered via outlook.com is that you can't usefully blacklist the sending server, since the largish chunk of the world that uses some sort of Microsoft hosted email solution (Office365 and its ilk) have their usually legitimate mail delivered via the very same infrastructure.&lt;/p&gt;

&lt;p&gt;And since outlook.com is one of the mail providers that doesn't play well with greylisting (it spreads its retries across no less than 81 subnets (the output of 'echo outlook.com | doas smtpctl spf walk' is preserved here), it's fairly common practice to just whitelist all those networks and avoid the hassle of lost or delayed mail to and from Microsoft customers.&lt;/p&gt;

&lt;p&gt;I was going to just ignore this message too, but we've seen an increasing number of spammy outfits taking advantage of outlook.com's seeming right of way to innocent third parties' mail boxes.&lt;/p&gt;

&lt;p&gt;So I decided to try both to do my best at demoralizing this particular sender and alert outlook.com to their problem. I wrote a messsage (preserved here) with a Cc: to &lt;a href="mailto:abuse@outlook.com" target="_blank" rel="nofollow noopener"&gt;abuse@outlook.com&lt;/a&gt; where the meat is,&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;Ms Farell,

The address root@skapet.bsdly.net has never been subscribed to any mailing list, for obvious reasons. Whoever sold you an address list with that address on it are criminals and you should at least demand your money back.

Whoever handles abuse@outlook.com will appreciate the attachment, which is a copy of the message as it arrived here with all headers intact.

Yours sincerely,
Peter N. M. Hansteen
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;What happened next is quite amazing.&lt;/p&gt;

&lt;p&gt;If my analysis is correct, it may not be possible for senders who are not themselves outlook.com customers to actually reach the outlook.com abuse team.&lt;/p&gt;

&lt;p&gt;Any student or practitioner of SMTP mail delivery should know that SPF records should only happen on ingress, that is at the point where the mail traffic enters your infrastructure and the sender IP address is the original one. Leave the check for later when the message may have been forwarded, and you do not have sufficient data to perform the check.&lt;/p&gt;

&lt;p&gt;Whenever I encounter incredibly stupid and functionally destructive configuration errors like this I tend to believe they're down to simple incompetence and not malice.&lt;/p&gt;

&lt;p&gt;But this one has me wondering. If you essentially require incoming mail to include the contents of spf.outlook.com (currently no less than 81 subnets) as valid senders for the domain, you are essentially saying that only outlook.com customers are allowed to communicate.&lt;/p&gt;

&lt;p&gt;If that restriction is a result of a deliberate choice rather than a simple configuration error, the problem moves out of the technical sphere and could conceivably become a legal matter, depending on what outlook.com have specified in their contracts that they are selling to their customers.&lt;/p&gt;

&lt;p&gt;But let us assume that this is indeed a matter of simple bad luck or incompetence and that the solution is indeed technical.&lt;/p&gt;

&lt;p&gt;I would have liked to report this to whoever does technical things at that domain via email, but unfortunately there are indications that being their customer is a precondition for using that channel of communication to them.&lt;/p&gt;

&lt;p&gt;I hope they fix that, and soon. And then move on to terminating their spamming customers' contracts.&lt;/p&gt;

&lt;p&gt;The main lesson to be learned from this is that when you shop around for email service, please do yourself a favor and make an effort to ensure that your prospective providers actually understand how the modern-ish SMTP addons SPF, DKIM and DMARC actually work.&lt;/p&gt;

&lt;p&gt;Otherwise you may end up receiving more of the mail you don't want than what you do want, and your own mail may end up not being delivered as intended.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mirceaulinic.net/2018-02-14-openbsd-salt-proxy/" target="_blank" rel="nofollow noopener"&gt;Running Salt Proxy Minions on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As I have previously attempted several times in the past, I am (finally) very close to switch to OpenBSD, a more stable and reliable operating system that I like. Before starting to make the actual change on both personal and work computer, I started testing some of the tools I’m currently using, and understand what are the expectations.&lt;/p&gt;

&lt;p&gt;In general I didn’t encounter issues, or when I did, I found the answers in the documentation (which is really great), or various forums. I didn’t find however any questions regarding Proxy Minions on OpenBSD which is why I thought it might be helpful to share my experience.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Installation and Startup&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;With these said, I started playing with Salt, and it was simple and straightforward. First step - install Salt: pkg_add salt. This will bring several ports for Python futures, ZeroMQ, or Tornado which are needed for Salt.&lt;/p&gt;

&lt;p&gt;After configuring the pillar_roots in the /etc/salt/master config file for the Master, I started up the master process using rcctl:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Starting up the Proxy Minions&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The Salt package for OpenBSD comes with the rc file for salt-proxy as well, /etc/rc.d/salt_proxy&lt;br&gt;
While typically you run a single regular Minion on a given machine, it is very like that there are multiple Proxy processes. Additionally, the default Salt rc file has the following configuration for the salt-proxy daemon:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Starting many Proxy Minions&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I have managed to startup a Proxy Minion, but what about many? Executing the three commands above for each and every device is tedious and cannot scale very well. I thus have figured the following way:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Have a separate rc file per Proxy, each having the daemon instruction explicitly specifying its Minion ID&lt;/li&gt;
&lt;li&gt;Start the service (using the regular Minion that controls the machine where the Proxy processes are running)&lt;/li&gt;
&lt;li&gt;And the test Proxy Minion is then up (after accepting the key, i.e,, salt-key -a test)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Extending the same to a (very) large number of Proxy Minions, you can easily manage the rc files and start the services using a Salt State executed on the regular Minion:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Using the file.managed State function to generate the contents of the rc file for each Proxy, with its own Minion ID.&lt;/li&gt;
&lt;li&gt;Using the service.running State function start the service.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;These two steps would suffice to start an arbitrary number of Proxy Minions, and the command executed will always be the same regardless how many processes you aim to manage.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusions&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I am still a novice when it comes to OpenBSD, I have plenty to learn, but it looks like the transition will be much smoother than I expected. I am already looking forward to the handover, and - most importantly - I will no longer be using systemd. :-)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-February/068464.html" target="_blank" rel="nofollow noopener"&gt;LUA boot loader coming very soon&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As you may know, the Lua (&lt;a href="http://www.lua.org" target="_blank" rel="nofollow noopener"&gt;http://www.lua.org&lt;/a&gt;) boot loader has been in the works for some time. It started out life as a GSoC in 2014 by Pedro Souza mentored by Wojciech A. Koszek. Rui Paulo created a svn project branch to try to integrate it. I rebased that effort into a github branch which Pedro Arthur fixed up. Over the past year, I've been cleaning up the boot loader&lt;br&gt;
for other reasons, and found the time was ripe to start integrating this into the tree. However, those integration efforts have taken a while as my day-job work on the boot loader took priority. In the mean time, Ed Maste and the FreeBSD Foundation funded Zakary Nafziger to enhance the original GSoC Lua scripts to bring it closer to parity with the evolution of the FORTH menu system since the GSoC project started.&lt;/p&gt;

&lt;p&gt;I'm pleased to announce that all these threads of development have converged and I'll be pushing the FreeBSD Lua Loader later today. This loader uses Lua as its scripting language instead of FORTH. While co-existance is planned, the timeline for it is looking to be a few weeks&lt;br&gt;
and I didn't want to delay pushing this into the tree for that.&lt;/p&gt;

&lt;p&gt;To try the loader, you'll need to build WITHOUT_FORTH=yes and WITH_LOADER_LUA=yes. Fortunately, you needn't do a full world to do this, you can do it in src/stand and install the result (be sure to have the options for both the build and the install). This will replace your current&lt;br&gt;
/boot/loader that is scripted with FORTH to one that's scripted with Lua.&lt;br&gt;
It will install the lua scripts in /boot/lua. The boot is scripted with /boot/lua/loader.lua instead of /boot/loader.rc. You are strongly advised to create a backup copy of /boot/loader before testing (eg cp /boot/loader /boot/loader_forth), since you'll need to boot that from boot2 if something&lt;br&gt;
goes wrong. I've tested it extensively, though, with userboot.so and it's test program, so all the initial kinks of finding the lua scripts, etc have been worked out.&lt;/p&gt;

&lt;p&gt;While it's possible to build all the /boot/loader variants with Lua, I've just tested a BIOS booting /boot/loader both with and without menus enabled. I've not tested any of the other variants and the instructions for testing some of them may be rather tedious (especially UEFI, if you want a&lt;br&gt;
simple path to back out). Since there's not been full convergence testing, you'll almost certainly find bumps in this system. Also, all the build-system APIs are likely not yet final.&lt;/p&gt;

&lt;p&gt;I put  MFC after a month on the commit. Due to the heroic (dare I say almost crazy) work of Kyle Evans on merging all the revs from -current to 11, I'm planning a MFC to 11 after the co-existence issues are hammered out. In 11, FORTH will be the default, and Lua will  be built by default, but users will have to do something to use it. 12, both FORTH and Lua will be built and installed, with Lua as default (barring unforeseen complications). Once the co-existence stuff goes in, I imagine we'll make the switch to Lua by default shortly after that. In 13, FORTH will be removed unless there's a really really compelling case made to keep it.&lt;/p&gt;

&lt;p&gt;So please give it a spin and give me any feedback, documentation updates and/or bug fixes. I'm especially interested in reviews from people that have embedded Lua in other projects or experts in Lua that can improve the robustness of the menu code.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://bsdmag.org/5374-2/" target="_blank" rel="nofollow noopener"&gt;Bitcoin Full Node on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;What is a Bitcoin ?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Bitcoin is a valuable popular open-source cryptocurrency that was invented by Satoshi Nakamoto in 2009. Bitcoins have value because they possess same characteristics like money (durability, portability, fungibility, scarcity, divisibility, and recognizability), but based on the properties of mathematics rather than on physical properties (like gold and silver) or trust in central authorities (like fiat currencies). In short, Bitcoin is backed by mathematics.&lt;br&gt;
Bitcoin is the first decentralized peer-to-peer cryptocurrency that is controlled by its users.&lt;br&gt;
Transactions take place directly between users, and are later verified by network nodes with digital signature and then placed in a public distributed ledger called a blockchain. Bitcoin is unique in that only 21 million bitcoins will ever be created. The unit of the bitcoin system is bitcoin or mBTC.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What is a Bitcoin Wallet ?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A wallet is nothing more than a pair of public and private keys that are created by a client to store the digital credentials for your bitcoin.&lt;/p&gt;

&lt;p&gt;There are several types of wallets:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;Desktop Wallet
Token Wallet
Online Wallet
Mobile Wallet
A token wallet is the safest way to work with bitcoin network, but you can use your mobile or pc as a bitcoin wallet.
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;What is a Blockchain?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A blockchain is a ledger that records bitcoin transactions. The blockchain is a distributed database that achieves independent verification of the chain of ownership. Each network node stores its own copy of the blockchain. Transactions will broadcast on the bitcoin network, and about 2400 transactions create a block. These blocks are building blocks of the blockchain.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What is Mining?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Mining is the process of dedicating computing power to process transactions, secure the network, and keep everyone in the system synchronized together. It has been designed to be fully decentralized.&lt;br&gt;
Miners need mining software with specialized hardware. Mining software listens for transactions broadcasted through the peer-to-peer network and performs appropriate tasks to process and confirm these transactions. Bitcoin miners perform this work because they can earn transaction fees paid by users for faster transaction processing.&lt;br&gt;
New transactions have to be confirmed then be included in a block along with a mathematical proof of work. Such proofs are very hard to generate because there is no way to create them other than by trying billions of calculations per second. Hence, miners are required to perform these calculations before their blocks are accepted by the network and before they are rewarded. As more people start to mine, the difficulty of finding valid blocks is automatically increased by the network to ensure that the average time to find a block remains equal to 10 minutes. As a result, mining is a very competitive business where no individual miner can control what is included in the blockchain.&lt;br&gt;
The proof of work is also designed to depend on the previous block to force a chronological order in the blockchain. This makes it exponentially difficult to reverse previous transactions because it would require the recalculation of the proofs of work of all the subsequent blocks. When two blocks are found at the same time, miners work on the first block they receive and switch to the longest chain of blocks as soon as the next block is found. This allows mining to secure and maintain a global consensus based on processing power.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What is Pooled Mining?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;You have more chances if you participate with others to create a block. In a pool, all participating miners get paid every time a participating server solves a block. The payment depends on the amount of work an individual miner contributed to help find that block.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What is a Full Node?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A full node is a client that fully validates transactions and blocks. Full nodes also help the network by accepting transactions and blocks from other full nodes, validating those transactions and blocks, and then relaying them to further full nodes.&lt;br&gt;
Many people and organizations volunteer to run full nodes using spare computing and bandwidth resources.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What is a Bitcoind?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;bitcoind is a Bitcoin client under the MIT license in 32-bit and 64-bit versions for Windows, GNU/Linux-based OSes, Mac OS X, OpenBSD and FreeBSD as well.&lt;/p&gt;

&lt;p&gt;Conclusion&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Cryptocurrencies are replacement for banking we know today, and bitcoin is the game changer. Mining bitcoin with typical hardware is not a good idea. It needs specialized devices like ASIC, but you can create a full node and help the bitcoin network.&lt;/li&gt;
&lt;li&gt;Useful Links

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Cryptocurrency" target="_blank" rel="nofollow noopener"&gt;https://en.wikipedia.org/wiki/Cryptocurrency&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bitcoin.org/en/faq" target="_blank" rel="nofollow noopener"&gt;https://bitcoin.org/en/faq&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Latest DRM Graphics work&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The DRM Graphics stack from Linux is ported to FreeBSD on an ongoing basis to provide support for accelerated graphics for Intel and AMD GPUs.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/ports?view=revision&amp;amp;revision=462202" target="_blank" rel="nofollow noopener"&gt;The LinuxKPI bits that the drm-next-kmod driver port depends on have been merged into stable/11 and will be included as part of the upcoming FreeBSD 11.2 &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-February/068690.html" target="_blank" rel="nofollow noopener"&gt;Additionally, the version of the drives has been updated from Linux 4.9 to Linux 4.11 with a number of additional devices being supported&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://blog.safia.rocks/post/171311670379/how-does-cd-work" target="_blank" rel="nofollow noopener"&gt;How does &lt;code&gt;cd&lt;/code&gt; work?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In my last blog post, I dove into some of the code behind the sudo command. I thought this was pretty fun. sudo is one of those commands that I use quite often but haven’t had the chance to look into truly. I started thinking about other commands that I use on a daily basis but had little understanding of the internals of. The first command that came to mind is cd. cd stands for change directory. Simply put, it allows you to set your current working directory to a different directory.&lt;br&gt;
I read through some of the code that was defined in this file. Some of it was in functions, and other bits were in templates, but after a while, I figured that most of the code was a wrapper around a function called chdir. A lot of the functions defined in the cd.def file linked above actually just invoke chdir and handle errors and parameter cleaning.&lt;br&gt;
So all in all, here is what happens when you run cd on the command line.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The cd builtin is invoked as part of the Bash shell.&lt;/li&gt;
&lt;li&gt;The Bash shell invokes the chdir function.&lt;/li&gt;
&lt;li&gt;The chdir function is part of Unix and invokes the chdir system call.&lt;/li&gt;
&lt;li&gt;The Unix kernel executes the chdir call and does its own low-level thing.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I could dive in a little bit more into how #4 works, but let’s be honest, I’ve already read too much code at this point, and my eyes are starting to hurt.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/BSD-Users-Stockholm/events/247552279/" target="_blank" rel="nofollow noopener"&gt;Stockholm BSD User Group: March 22&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-February/014182.html" target="_blank" rel="nofollow noopener"&gt;Open Source Hardware Camp 2018 (30/06 &amp;amp; 01/07) Call for Participation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/releases/11.2R/schedule.html" target="_blank" rel="nofollow noopener"&gt;Initial release schedule announcement for FreeBSD 11.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.gitbook.com/book/freebsdfrau/serious-shell-programming/details" target="_blank" rel="nofollow noopener"&gt;Serious Shell Programming (Devin Teske)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/3115" target="_blank" rel="nofollow noopener"&gt;SSH Mastery 2/e out&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=330001" target="_blank" rel="nofollow noopener"&gt;TCP Fast Open client side lands in FreeBSD &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://torbsd.org/open-letter.html" target="_blank" rel="nofollow noopener"&gt;Help the Tor BSD Project increase the OS diversity of Tor nodes, for your own safety, and everyone else's &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.kompulsa.com/2018/02/23/5-differences-trueos-linux/" target="_blank" rel="nofollow noopener"&gt;5 Differences Between TrueOS &amp;amp; Linux&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Ambrose - &lt;a href="http://dpaste.com/0KRRG18#wrap" target="_blank" rel="nofollow noopener"&gt;Bunch of questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Eddy - &lt;a href="http://dpaste.com/0MTXYJN#wrap" target="_blank" rel="nofollow noopener"&gt;ZFSoL with single SSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Well cover OpenBSDs defensive approach to OS security, help you  Understanding Syscall Conventions for Different Platforms, Mishandling SMTP Sender Verification, how the cd command works, and the LUA boot loader coming to FreeBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://medium.com/@_neerajpal/pledge-openbsds-defensive-approach-for-os-security-86629ef779ce" target="_blank" rel="nofollow noopener">Pledge: OpenBSDs defensive approach to OS Security</a></h3>

<blockquote>
<p>The meaning of Pledge is same as in the real world, that is, a solemn promise or undertaking.</p>

<p>So, in OpenBSD: Calling pledge in a program means to promise that the program will only use certain resources.</p>
</blockquote>

<ul>
<li>How does it make a program more secure?</li>
</ul>

<blockquote>
<p>It limits the operation of a program. Example: You wrote a program named abc that only needed the stdio to just print something to stdout.</p>
</blockquote>

<ul>
<li>You added pledge to use only stdio and nothing else.</li>
<li>Then, a malicious user found out that there is a vulnerability in your program which one can exploit and get into shell (or root shell).</li>
<li>Exploiting your program to open a shell (or root shell) will result in the kernel killing the process with SIGABRT (which cannot be caught/ignored) and will generate a log (which you can find with dmesg).</li>
</ul>

<blockquote>
<p>This happens because before executing other codes of your program, the code first pledges not to use anything other than stdio promise/operations. But, opening a shell or root shell will call several other system-calls which are distributed in lots of other promises like stdio, proc, exec etc. They are all forbidden because the program has already promised not to use any promises other than stdio.</p>

<p>Pledge is not a system call filter. So, it is not used to restrict system calls.<br>
For example,</p>
</blockquote>

<ul>
<li>pledge(read,NULL) ? wrong syntax of the pledge()</li>
<li>pledge(stdio inet,NULL) ? correct syntax of the pledge()</li>
</ul>

<blockquote>
<p>Pledge works on stdio, dns, inet, etc. promises but not directly on system calls like read, write, etc. And, unique functionality of pledge() is that it works on behavioral approach not just like 1:1 approach with the system calls.</p>

<p>On 11 December 2017, Theo de Raadt said:</p>
</blockquote>

<pre><code>List: openbsd-tech
Subject: pledge execpromises
From: Theo de Raadt &lt;deraadt () openbsd ! org&gt;
Date: 20171211 21:20:51
Message-ID: 6735.1513027251 () cvs ! openbsd ! org
This will probably be committed in the next day or so.
The 2nd argument of pledge() becomes execpromises, which is what
will gets activated after execve.
There is also a small new feature called error, which causes
violating system calls to return -1 with ENOSYS rather than killing
the process. This must be used with EXTREME CAUTION because libraries
and programs are full of unchecked system calls. If you carry on past
one of these failures, your program is in uncharted territory and
risks of exploitation become high.
error is being introduced for a different reason: The pre-exec
processs expectation of what the post-exec process will do might
mismatch, so error allows things like starting an editor which has
no network access or maybe other restrictions in the future
</code></pre>

<hr>

<h3><a href="http://k3research.outerhaven.de/posts/every-journey-starts-with-a-fail.html" target="_blank" rel="nofollow noopener">Every Journey Starts with a FAIL...or Understanding Syscall Conventions for Different Platforms</a></h3>

<ul>
<li>Introduction</li>
</ul>

<blockquote>
<p>Not long ago I started looking into FreeBSD kernel exploitation. There are only a few resources but probably the best starting point is argp's Phrack article from 2009[0]. And while he does only provide one technique, I wanted to understand it and port it to a modern FreeBSD release before describing new, own researched techniques.</p>

<p>Well, at least this was my plan. In reality I ended researching how different operating systems resp. the same operating system but for different architectures implement syscalls. Hence, new exploiting methods have to wait for another post. In this one I want to describe my personal FAIL while porting argp's exploit example to a FreeBSD 11.1-RELEASE running on a 64bit processor. Maybe this will give other people interested in kernel stuff some insights they didn't know before. If you already know how syscalls work on 32bit and 64bit *BSD because you are an experienced exploit or kernel developer, you will probably want to search for something<br>
else to read. Moreover, some of the debugging stuff can look laborious because I wanted to show the steps I have done while attacking my problem instead of showing a simple walkthrough to the solution.</p>
</blockquote>

<ul>
<li>The Problem</li>
</ul>

<blockquote>
<p>argp described in his article vulnerable code consisting of a loadable kernel module which exposes a syscall to the userland. Because it was written around the time when FreeBSD 8-RELEASE came out and because he has written himself that the code needs smaller adjustments to work with this version (it was written for FreeBSD 7) I thought I will first port it to<br>
FreeBSD 11.1-RELEASE. Moreover it was written for an Intel 32bit processor architecture as we can see from his shellcode examples. Hence, I wanted to go right away the harder way and modify it to work on an 64bit processor.</p>
</blockquote>

<ul>
<li>Why the Original Code Worked While It Was Wrong</li>
</ul>

<blockquote>
<p>As written above, the syscall convention for the 32bit architecture is different from the one for the 64bit architecture. Indeed, a syscall on a 32bit FreeBSD system passes the arguments via the stack while the syscall offset is stored in the EAX register. The transfer into the kernel address space is done in 'cpu_fetch_syscall_args' in 'sys/i386/i386/trap.c'.</p>
</blockquote>

<pre><code>int
cpu_fetch_syscall_args(struct thread *td, struct syscall_args *sa)
{
    ...
    frame = td-&gt;td_frame;

    params = (caddr_t)frame-&gt;tf_esp + sizeof(int);
    sa-&gt;code = frame-&gt;tf_eax;

    ...

    if (params != NULL &amp;&amp; sa-&gt;narg != 0)
        error = copyin(params, (caddr_t)sa-&gt;args,
            (u_int)(sa-&gt;narg * sizeof(int)));
    else
    ...
}
</code></pre>

<blockquote>
<p>That is, 'params' points to ESP+4 bytes offset. Later, the arguments are copied into the kernel space which is referenced by 'sa-&gt;args'. 'args' is an array of eight 'register_t' which is defined as 'int32_t' on the 32bit platform in comparison to the 64bit platform. And as 'struct args' only<br>
consisted of integers they got copied into the syscall arguments which are given to the trigger function inside the kernel module. We could verify this by changing 'int op' to 'long long op' in the kernel module and in trigger.c. We get the following output:</p>
</blockquote>

<pre><code>root@freebsd64:trigger/ # ./trigger
0x28414000
256
3
1
0x28414000
256
4294967295
2
root@freebsd64:trigger/ #
</code></pre>

<blockquote>
<p>To bring this to an end: argp's version only worked for his special choice of arguments and only on 32bit. On 32bit FreeBSD platforms the arguments are transferred into kernel space by 4 byte integers, hence it will only work for integers anyway. On 64bit FreeBSD platforms we have to use syscall(2) in the intended way.</p>
</blockquote>

<hr>

<h3>iXsystems</h3>

<ul>
<li><a href="https://www.ixsystems.com/blog/gdpr-countdown/" target="_blank" rel="nofollow noopener">New Disks!</a></li>
</ul>

<h3><a href="https://bsdly.blogspot.co.uk/2018/02/a-life-lesson-in-mishandling-smtp.html" target="_blank" rel="nofollow noopener">A Life Lesson in Mishandling SMTP Sender Verification</a></h3>

<blockquote>
<p>It all started with one of those rare spam mails that got through.</p>

<p>This one was hawking address lists, much like the ones I occasionally receive to addresses that I can not turn into spamtraps. The message was addressed to, of all things, <a href="mailto:root@skapet.bsdly.net" target="_blank" rel="nofollow noopener">root@skapet.bsdly.net</a>. (The message with full headers has been preserved here for reference).</p>

<p>Yes, that's right, they sent their spam to <a target="_blank" rel="nofollow noopener">root@</a>. And a quick peek at the headers revealed that like most of those attempts at hawking address lists for spamming that actually make it to a mailbox here, this one had been sent by an outlook.com customer.</p>

<p>The problem with spam delivered via outlook.com is that you can't usefully blacklist the sending server, since the largish chunk of the world that uses some sort of Microsoft hosted email solution (Office365 and its ilk) have their usually legitimate mail delivered via the very same infrastructure.</p>

<p>And since outlook.com is one of the mail providers that doesn't play well with greylisting (it spreads its retries across no less than 81 subnets (the output of 'echo outlook.com | doas smtpctl spf walk' is preserved here), it's fairly common practice to just whitelist all those networks and avoid the hassle of lost or delayed mail to and from Microsoft customers.</p>

<p>I was going to just ignore this message too, but we've seen an increasing number of spammy outfits taking advantage of outlook.com's seeming right of way to innocent third parties' mail boxes.</p>

<p>So I decided to try both to do my best at demoralizing this particular sender and alert outlook.com to their problem. I wrote a messsage (preserved here) with a Cc: to <a href="mailto:abuse@outlook.com" target="_blank" rel="nofollow noopener">abuse@outlook.com</a> where the meat is,</p>
</blockquote>

<pre><code>Ms Farell,

The address root@skapet.bsdly.net has never been subscribed to any mailing list, for obvious reasons. Whoever sold you an address list with that address on it are criminals and you should at least demand your money back.

Whoever handles abuse@outlook.com will appreciate the attachment, which is a copy of the message as it arrived here with all headers intact.

Yours sincerely,
Peter N. M. Hansteen
</code></pre>

<blockquote>
<p>What happened next is quite amazing.</p>

<p>If my analysis is correct, it may not be possible for senders who are not themselves outlook.com customers to actually reach the outlook.com abuse team.</p>

<p>Any student or practitioner of SMTP mail delivery should know that SPF records should only happen on ingress, that is at the point where the mail traffic enters your infrastructure and the sender IP address is the original one. Leave the check for later when the message may have been forwarded, and you do not have sufficient data to perform the check.</p>

<p>Whenever I encounter incredibly stupid and functionally destructive configuration errors like this I tend to believe they're down to simple incompetence and not malice.</p>

<p>But this one has me wondering. If you essentially require incoming mail to include the contents of spf.outlook.com (currently no less than 81 subnets) as valid senders for the domain, you are essentially saying that only outlook.com customers are allowed to communicate.</p>

<p>If that restriction is a result of a deliberate choice rather than a simple configuration error, the problem moves out of the technical sphere and could conceivably become a legal matter, depending on what outlook.com have specified in their contracts that they are selling to their customers.</p>

<p>But let us assume that this is indeed a matter of simple bad luck or incompetence and that the solution is indeed technical.</p>

<p>I would have liked to report this to whoever does technical things at that domain via email, but unfortunately there are indications that being their customer is a precondition for using that channel of communication to them.</p>

<p>I hope they fix that, and soon. And then move on to terminating their spamming customers' contracts.</p>

<p>The main lesson to be learned from this is that when you shop around for email service, please do yourself a favor and make an effort to ensure that your prospective providers actually understand how the modern-ish SMTP addons SPF, DKIM and DMARC actually work.</p>

<p>Otherwise you may end up receiving more of the mail you don't want than what you do want, and your own mail may end up not being delivered as intended.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mirceaulinic.net/2018-02-14-openbsd-salt-proxy/" target="_blank" rel="nofollow noopener">Running Salt Proxy Minions on OpenBSD</a></h3>

<blockquote>
<p>As I have previously attempted several times in the past, I am (finally) very close to switch to OpenBSD, a more stable and reliable operating system that I like. Before starting to make the actual change on both personal and work computer, I started testing some of the tools Im currently using, and understand what are the expectations.</p>

<p>In general I didnt encounter issues, or when I did, I found the answers in the documentation (which is really great), or various forums. I didnt find however any questions regarding Proxy Minions on OpenBSD which is why I thought it might be helpful to share my experience.</p>
</blockquote>

<ul>
<li>Installation and Startup</li>
</ul>

<blockquote>
<p>With these said, I started playing with Salt, and it was simple and straightforward. First step - install Salt: pkg_add salt. This will bring several ports for Python futures, ZeroMQ, or Tornado which are needed for Salt.</p>

<p>After configuring the pillar_roots in the /etc/salt/master config file for the Master, I started up the master process using rcctl:</p>
</blockquote>

<ul>
<li>Starting up the Proxy Minions</li>
</ul>

<blockquote>
<p>The Salt package for OpenBSD comes with the rc file for salt-proxy as well, /etc/rc.d/salt_proxy<br>
While typically you run a single regular Minion on a given machine, it is very like that there are multiple Proxy processes. Additionally, the default Salt rc file has the following configuration for the salt-proxy daemon:</p>
</blockquote>

<ul>
<li>Starting many Proxy Minions</li>
</ul>

<blockquote>
<p>I have managed to startup a Proxy Minion, but what about many? Executing the three commands above for each and every device is tedious and cannot scale very well. I thus have figured the following way:</p>
</blockquote>

<ul>
<li>Have a separate rc file per Proxy, each having the daemon instruction explicitly specifying its Minion ID</li>
<li>Start the service (using the regular Minion that controls the machine where the Proxy processes are running)</li>
<li>And the test Proxy Minion is then up (after accepting the key, i.e,, salt-key -a test)</li>
</ul>

<blockquote>
<p>Extending the same to a (very) large number of Proxy Minions, you can easily manage the rc files and start the services using a Salt State executed on the regular Minion:</p>
</blockquote>

<ul>
<li>Using the file.managed State function to generate the contents of the rc file for each Proxy, with its own Minion ID.</li>
<li>Using the service.running State function start the service.</li>
</ul>

<blockquote>
<p>These two steps would suffice to start an arbitrary number of Proxy Minions, and the command executed will always be the same regardless how many processes you aim to manage.</p>
</blockquote>

<ul>
<li>Conclusions</li>
</ul>

<blockquote>
<p>I am still a novice when it comes to OpenBSD, I have plenty to learn, but it looks like the transition will be much smoother than I expected. I am already looking forward to the handover, and - most importantly - I will no longer be using systemd. :-)</p>
</blockquote>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-February/068464.html" target="_blank" rel="nofollow noopener">LUA boot loader coming very soon</a></h3>

<blockquote>
<p>As you may know, the Lua (<a href="http://www.lua.org" target="_blank" rel="nofollow noopener">http://www.lua.org</a>) boot loader has been in the works for some time. It started out life as a GSoC in 2014 by Pedro Souza mentored by Wojciech A. Koszek. Rui Paulo created a svn project branch to try to integrate it. I rebased that effort into a github branch which Pedro Arthur fixed up. Over the past year, I've been cleaning up the boot loader<br>
for other reasons, and found the time was ripe to start integrating this into the tree. However, those integration efforts have taken a while as my day-job work on the boot loader took priority. In the mean time, Ed Maste and the FreeBSD Foundation funded Zakary Nafziger to enhance the original GSoC Lua scripts to bring it closer to parity with the evolution of the FORTH menu system since the GSoC project started.</p>

<p>I'm pleased to announce that all these threads of development have converged and I'll be pushing the FreeBSD Lua Loader later today. This loader uses Lua as its scripting language instead of FORTH. While co-existance is planned, the timeline for it is looking to be a few weeks<br>
and I didn't want to delay pushing this into the tree for that.</p>

<p>To try the loader, you'll need to build WITHOUT_FORTH=yes and WITH_LOADER_LUA=yes. Fortunately, you needn't do a full world to do this, you can do it in src/stand and install the result (be sure to have the options for both the build and the install). This will replace your current<br>
/boot/loader that is scripted with FORTH to one that's scripted with Lua.<br>
It will install the lua scripts in /boot/lua. The boot is scripted with /boot/lua/loader.lua instead of /boot/loader.rc. You are strongly advised to create a backup copy of /boot/loader before testing (eg cp /boot/loader /boot/loader_forth), since you'll need to boot that from boot2 if something<br>
goes wrong. I've tested it extensively, though, with userboot.so and it's test program, so all the initial kinks of finding the lua scripts, etc have been worked out.</p>

<p>While it's possible to build all the /boot/loader variants with Lua, I've just tested a BIOS booting /boot/loader both with and without menus enabled. I've not tested any of the other variants and the instructions for testing some of them may be rather tedious (especially UEFI, if you want a<br>
simple path to back out). Since there's not been full convergence testing, you'll almost certainly find bumps in this system. Also, all the build-system APIs are likely not yet final.</p>

<p>I put  MFC after a month on the commit. Due to the heroic (dare I say almost crazy) work of Kyle Evans on merging all the revs from -current to 11, I'm planning a MFC to 11 after the co-existence issues are hammered out. In 11, FORTH will be the default, and Lua will  be built by default, but users will have to do something to use it. 12, both FORTH and Lua will be built and installed, with Lua as default (barring unforeseen complications). Once the co-existence stuff goes in, I imagine we'll make the switch to Lua by default shortly after that. In 13, FORTH will be removed unless there's a really really compelling case made to keep it.</p>

<p>So please give it a spin and give me any feedback, documentation updates and/or bug fixes. I'm especially interested in reviews from people that have embedded Lua in other projects or experts in Lua that can improve the robustness of the menu code.</p>

<hr>
</blockquote>

<h3><a href="https://bsdmag.org/5374-2/" target="_blank" rel="nofollow noopener">Bitcoin Full Node on FreeBSD</a></h3>

<ul>
<li>What is a Bitcoin ?</li>
</ul>

<blockquote>
<p>Bitcoin is a valuable popular open-source cryptocurrency that was invented by Satoshi Nakamoto in 2009. Bitcoins have value because they possess same characteristics like money (durability, portability, fungibility, scarcity, divisibility, and recognizability), but based on the properties of mathematics rather than on physical properties (like gold and silver) or trust in central authorities (like fiat currencies). In short, Bitcoin is backed by mathematics.<br>
Bitcoin is the first decentralized peer-to-peer cryptocurrency that is controlled by its users.<br>
Transactions take place directly between users, and are later verified by network nodes with digital signature and then placed in a public distributed ledger called a blockchain. Bitcoin is unique in that only 21 million bitcoins will ever be created. The unit of the bitcoin system is bitcoin or mBTC.</p>
</blockquote>

<ul>
<li>What is a Bitcoin Wallet ?</li>
</ul>

<blockquote>
<p>A wallet is nothing more than a pair of public and private keys that are created by a client to store the digital credentials for your bitcoin.</p>

<p>There are several types of wallets:</p>
</blockquote>

<pre><code>Desktop Wallet
Token Wallet
Online Wallet
Mobile Wallet
A token wallet is the safest way to work with bitcoin network, but you can use your mobile or pc as a bitcoin wallet.
</code></pre>

<ul>
<li>What is a Blockchain?</li>
</ul>

<blockquote>
<p>A blockchain is a ledger that records bitcoin transactions. The blockchain is a distributed database that achieves independent verification of the chain of ownership. Each network node stores its own copy of the blockchain. Transactions will broadcast on the bitcoin network, and about 2400 transactions create a block. These blocks are building blocks of the blockchain.</p>
</blockquote>

<ul>
<li>What is Mining?</li>
</ul>

<blockquote>
<p>Mining is the process of dedicating computing power to process transactions, secure the network, and keep everyone in the system synchronized together. It has been designed to be fully decentralized.<br>
Miners need mining software with specialized hardware. Mining software listens for transactions broadcasted through the peer-to-peer network and performs appropriate tasks to process and confirm these transactions. Bitcoin miners perform this work because they can earn transaction fees paid by users for faster transaction processing.<br>
New transactions have to be confirmed then be included in a block along with a mathematical proof of work. Such proofs are very hard to generate because there is no way to create them other than by trying billions of calculations per second. Hence, miners are required to perform these calculations before their blocks are accepted by the network and before they are rewarded. As more people start to mine, the difficulty of finding valid blocks is automatically increased by the network to ensure that the average time to find a block remains equal to 10 minutes. As a result, mining is a very competitive business where no individual miner can control what is included in the blockchain.<br>
The proof of work is also designed to depend on the previous block to force a chronological order in the blockchain. This makes it exponentially difficult to reverse previous transactions because it would require the recalculation of the proofs of work of all the subsequent blocks. When two blocks are found at the same time, miners work on the first block they receive and switch to the longest chain of blocks as soon as the next block is found. This allows mining to secure and maintain a global consensus based on processing power.</p>
</blockquote>

<ul>
<li>What is Pooled Mining?</li>
</ul>

<blockquote>
<p>You have more chances if you participate with others to create a block. In a pool, all participating miners get paid every time a participating server solves a block. The payment depends on the amount of work an individual miner contributed to help find that block.</p>
</blockquote>

<ul>
<li>What is a Full Node?</li>
</ul>

<blockquote>
<p>A full node is a client that fully validates transactions and blocks. Full nodes also help the network by accepting transactions and blocks from other full nodes, validating those transactions and blocks, and then relaying them to further full nodes.<br>
Many people and organizations volunteer to run full nodes using spare computing and bandwidth resources.</p>
</blockquote>

<ul>
<li>What is a Bitcoind?</li>
</ul>

<blockquote>
<p>bitcoind is a Bitcoin client under the MIT license in 32-bit and 64-bit versions for Windows, GNU/Linux-based OSes, Mac OS X, OpenBSD and FreeBSD as well.</p>

<p>Conclusion</p>
</blockquote>

<ul>
<li>Cryptocurrencies are replacement for banking we know today, and bitcoin is the game changer. Mining bitcoin with typical hardware is not a good idea. It needs specialized devices like ASIC, but you can create a full node and help the bitcoin network.</li>
<li>Useful Links

<ul>
<li><a href="https://en.wikipedia.org/wiki/Cryptocurrency" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/Cryptocurrency</a></li>
<li><a href="https://bitcoin.org/en/faq" target="_blank" rel="nofollow noopener">https://bitcoin.org/en/faq</a>
***</li>
</ul></li>
</ul>

<h3>Latest DRM Graphics work</h3>

<ul>
<li>The DRM Graphics stack from Linux is ported to FreeBSD on an ongoing basis to provide support for accelerated graphics for Intel and AMD GPUs.</li>
<li><a href="https://svnweb.freebsd.org/ports?view=revision&amp;revision=462202" target="_blank" rel="nofollow noopener">The LinuxKPI bits that the drm-next-kmod driver port depends on have been merged into stable/11 and will be included as part of the upcoming FreeBSD 11.2 </a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-February/068690.html" target="_blank" rel="nofollow noopener">Additionally, the version of the drives has been updated from Linux 4.9 to Linux 4.11 with a number of additional devices being supported</a>
***</li>
</ul>

<h3><a href="https://blog.safia.rocks/post/171311670379/how-does-cd-work" target="_blank" rel="nofollow noopener">How does <code>cd</code> work?</a></h3>

<blockquote>
<p>In my last blog post, I dove into some of the code behind the sudo command. I thought this was pretty fun. sudo is one of those commands that I use quite often but havent had the chance to look into truly. I started thinking about other commands that I use on a daily basis but had little understanding of the internals of. The first command that came to mind is cd. cd stands for change directory. Simply put, it allows you to set your current working directory to a different directory.<br>
I read through some of the code that was defined in this file. Some of it was in functions, and other bits were in templates, but after a while, I figured that most of the code was a wrapper around a function called chdir. A lot of the functions defined in the cd.def file linked above actually just invoke chdir and handle errors and parameter cleaning.<br>
So all in all, here is what happens when you run cd on the command line.</p>
</blockquote>

<ul>
<li>The cd builtin is invoked as part of the Bash shell.</li>
<li>The Bash shell invokes the chdir function.</li>
<li>The chdir function is part of Unix and invokes the chdir system call.</li>
<li>The Unix kernel executes the chdir call and does its own low-level thing.</li>
</ul>

<blockquote>
<p>I could dive in a little bit more into how #4 works, but lets be honest, Ive already read too much code at this point, and my eyes are starting to hurt.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/247552279/" target="_blank" rel="nofollow noopener">Stockholm BSD User Group: March 22</a></li>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-February/014182.html" target="_blank" rel="nofollow noopener">Open Source Hardware Camp 2018 (30/06 &amp; 01/07) Call for Participation</a></li>
<li><a href="https://www.freebsd.org/releases/11.2R/schedule.html" target="_blank" rel="nofollow noopener">Initial release schedule announcement for FreeBSD 11.2</a></li>
<li><a href="https://www.gitbook.com/book/freebsdfrau/serious-shell-programming/details" target="_blank" rel="nofollow noopener">Serious Shell Programming (Devin Teske)</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3115" target="_blank" rel="nofollow noopener">SSH Mastery 2/e out</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=330001" target="_blank" rel="nofollow noopener">TCP Fast Open client side lands in FreeBSD </a></li>
<li><a href="https://torbsd.org/open-letter.html" target="_blank" rel="nofollow noopener">Help the Tor BSD Project increase the OS diversity of Tor nodes, for your own safety, and everyone else's </a></li>
<li><a href="https://www.kompulsa.com/2018/02/23/5-differences-trueos-linux/" target="_blank" rel="nofollow noopener">5 Differences Between TrueOS &amp; Linux</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Ambrose - <a href="http://dpaste.com/0KRRG18#wrap" target="_blank" rel="nofollow noopener">Bunch of questions</a></li>
<li>Eddy - <a href="http://dpaste.com/0MTXYJN#wrap" target="_blank" rel="nofollow noopener">ZFSoL with single SSD</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Well cover OpenBSDs defensive approach to OS security, help you  Understanding Syscall Conventions for Different Platforms, Mishandling SMTP Sender Verification, how the cd command works, and the LUA boot loader coming to FreeBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://medium.com/@_neerajpal/pledge-openbsds-defensive-approach-for-os-security-86629ef779ce" target="_blank" rel="nofollow noopener">Pledge: OpenBSDs defensive approach to OS Security</a></h3>

<blockquote>
<p>The meaning of Pledge is same as in the real world, that is, a solemn promise or undertaking.</p>

<p>So, in OpenBSD: Calling pledge in a program means to promise that the program will only use certain resources.</p>
</blockquote>

<ul>
<li>How does it make a program more secure?</li>
</ul>

<blockquote>
<p>It limits the operation of a program. Example: You wrote a program named abc that only needed the stdio to just print something to stdout.</p>
</blockquote>

<ul>
<li>You added pledge to use only stdio and nothing else.</li>
<li>Then, a malicious user found out that there is a vulnerability in your program which one can exploit and get into shell (or root shell).</li>
<li>Exploiting your program to open a shell (or root shell) will result in the kernel killing the process with SIGABRT (which cannot be caught/ignored) and will generate a log (which you can find with dmesg).</li>
</ul>

<blockquote>
<p>This happens because before executing other codes of your program, the code first pledges not to use anything other than stdio promise/operations. But, opening a shell or root shell will call several other system-calls which are distributed in lots of other promises like stdio, proc, exec etc. They are all forbidden because the program has already promised not to use any promises other than stdio.</p>

<p>Pledge is not a system call filter. So, it is not used to restrict system calls.<br>
For example,</p>
</blockquote>

<ul>
<li>pledge(read,NULL) ? wrong syntax of the pledge()</li>
<li>pledge(stdio inet,NULL) ? correct syntax of the pledge()</li>
</ul>

<blockquote>
<p>Pledge works on stdio, dns, inet, etc. promises but not directly on system calls like read, write, etc. And, unique functionality of pledge() is that it works on behavioral approach not just like 1:1 approach with the system calls.</p>

<p>On 11 December 2017, Theo de Raadt said:</p>
</blockquote>

<pre><code>List: openbsd-tech
Subject: pledge execpromises
From: Theo de Raadt &lt;deraadt () openbsd ! org&gt;
Date: 20171211 21:20:51
Message-ID: 6735.1513027251 () cvs ! openbsd ! org
This will probably be committed in the next day or so.
The 2nd argument of pledge() becomes execpromises, which is what
will gets activated after execve.
There is also a small new feature called error, which causes
violating system calls to return -1 with ENOSYS rather than killing
the process. This must be used with EXTREME CAUTION because libraries
and programs are full of unchecked system calls. If you carry on past
one of these failures, your program is in uncharted territory and
risks of exploitation become high.
error is being introduced for a different reason: The pre-exec
processs expectation of what the post-exec process will do might
mismatch, so error allows things like starting an editor which has
no network access or maybe other restrictions in the future
</code></pre>

<hr>

<h3><a href="http://k3research.outerhaven.de/posts/every-journey-starts-with-a-fail.html" target="_blank" rel="nofollow noopener">Every Journey Starts with a FAIL...or Understanding Syscall Conventions for Different Platforms</a></h3>

<ul>
<li>Introduction</li>
</ul>

<blockquote>
<p>Not long ago I started looking into FreeBSD kernel exploitation. There are only a few resources but probably the best starting point is argp's Phrack article from 2009[0]. And while he does only provide one technique, I wanted to understand it and port it to a modern FreeBSD release before describing new, own researched techniques.</p>

<p>Well, at least this was my plan. In reality I ended researching how different operating systems resp. the same operating system but for different architectures implement syscalls. Hence, new exploiting methods have to wait for another post. In this one I want to describe my personal FAIL while porting argp's exploit example to a FreeBSD 11.1-RELEASE running on a 64bit processor. Maybe this will give other people interested in kernel stuff some insights they didn't know before. If you already know how syscalls work on 32bit and 64bit *BSD because you are an experienced exploit or kernel developer, you will probably want to search for something<br>
else to read. Moreover, some of the debugging stuff can look laborious because I wanted to show the steps I have done while attacking my problem instead of showing a simple walkthrough to the solution.</p>
</blockquote>

<ul>
<li>The Problem</li>
</ul>

<blockquote>
<p>argp described in his article vulnerable code consisting of a loadable kernel module which exposes a syscall to the userland. Because it was written around the time when FreeBSD 8-RELEASE came out and because he has written himself that the code needs smaller adjustments to work with this version (it was written for FreeBSD 7) I thought I will first port it to<br>
FreeBSD 11.1-RELEASE. Moreover it was written for an Intel 32bit processor architecture as we can see from his shellcode examples. Hence, I wanted to go right away the harder way and modify it to work on an 64bit processor.</p>
</blockquote>

<ul>
<li>Why the Original Code Worked While It Was Wrong</li>
</ul>

<blockquote>
<p>As written above, the syscall convention for the 32bit architecture is different from the one for the 64bit architecture. Indeed, a syscall on a 32bit FreeBSD system passes the arguments via the stack while the syscall offset is stored in the EAX register. The transfer into the kernel address space is done in 'cpu_fetch_syscall_args' in 'sys/i386/i386/trap.c'.</p>
</blockquote>

<pre><code>int
cpu_fetch_syscall_args(struct thread *td, struct syscall_args *sa)
{
    ...
    frame = td-&gt;td_frame;

    params = (caddr_t)frame-&gt;tf_esp + sizeof(int);
    sa-&gt;code = frame-&gt;tf_eax;

    ...

    if (params != NULL &amp;&amp; sa-&gt;narg != 0)
        error = copyin(params, (caddr_t)sa-&gt;args,
            (u_int)(sa-&gt;narg * sizeof(int)));
    else
    ...
}
</code></pre>

<blockquote>
<p>That is, 'params' points to ESP+4 bytes offset. Later, the arguments are copied into the kernel space which is referenced by 'sa-&gt;args'. 'args' is an array of eight 'register_t' which is defined as 'int32_t' on the 32bit platform in comparison to the 64bit platform. And as 'struct args' only<br>
consisted of integers they got copied into the syscall arguments which are given to the trigger function inside the kernel module. We could verify this by changing 'int op' to 'long long op' in the kernel module and in trigger.c. We get the following output:</p>
</blockquote>

<pre><code>root@freebsd64:trigger/ # ./trigger
0x28414000
256
3
1
0x28414000
256
4294967295
2
root@freebsd64:trigger/ #
</code></pre>

<blockquote>
<p>To bring this to an end: argp's version only worked for his special choice of arguments and only on 32bit. On 32bit FreeBSD platforms the arguments are transferred into kernel space by 4 byte integers, hence it will only work for integers anyway. On 64bit FreeBSD platforms we have to use syscall(2) in the intended way.</p>
</blockquote>

<hr>

<h3>iXsystems</h3>

<ul>
<li><a href="https://www.ixsystems.com/blog/gdpr-countdown/" target="_blank" rel="nofollow noopener">New Disks!</a></li>
</ul>

<h3><a href="https://bsdly.blogspot.co.uk/2018/02/a-life-lesson-in-mishandling-smtp.html" target="_blank" rel="nofollow noopener">A Life Lesson in Mishandling SMTP Sender Verification</a></h3>

<blockquote>
<p>It all started with one of those rare spam mails that got through.</p>

<p>This one was hawking address lists, much like the ones I occasionally receive to addresses that I can not turn into spamtraps. The message was addressed to, of all things, <a href="mailto:root@skapet.bsdly.net" target="_blank" rel="nofollow noopener">root@skapet.bsdly.net</a>. (The message with full headers has been preserved here for reference).</p>

<p>Yes, that's right, they sent their spam to <a target="_blank" rel="nofollow noopener">root@</a>. And a quick peek at the headers revealed that like most of those attempts at hawking address lists for spamming that actually make it to a mailbox here, this one had been sent by an outlook.com customer.</p>

<p>The problem with spam delivered via outlook.com is that you can't usefully blacklist the sending server, since the largish chunk of the world that uses some sort of Microsoft hosted email solution (Office365 and its ilk) have their usually legitimate mail delivered via the very same infrastructure.</p>

<p>And since outlook.com is one of the mail providers that doesn't play well with greylisting (it spreads its retries across no less than 81 subnets (the output of 'echo outlook.com | doas smtpctl spf walk' is preserved here), it's fairly common practice to just whitelist all those networks and avoid the hassle of lost or delayed mail to and from Microsoft customers.</p>

<p>I was going to just ignore this message too, but we've seen an increasing number of spammy outfits taking advantage of outlook.com's seeming right of way to innocent third parties' mail boxes.</p>

<p>So I decided to try both to do my best at demoralizing this particular sender and alert outlook.com to their problem. I wrote a messsage (preserved here) with a Cc: to <a href="mailto:abuse@outlook.com" target="_blank" rel="nofollow noopener">abuse@outlook.com</a> where the meat is,</p>
</blockquote>

<pre><code>Ms Farell,

The address root@skapet.bsdly.net has never been subscribed to any mailing list, for obvious reasons. Whoever sold you an address list with that address on it are criminals and you should at least demand your money back.

Whoever handles abuse@outlook.com will appreciate the attachment, which is a copy of the message as it arrived here with all headers intact.

Yours sincerely,
Peter N. M. Hansteen
</code></pre>

<blockquote>
<p>What happened next is quite amazing.</p>

<p>If my analysis is correct, it may not be possible for senders who are not themselves outlook.com customers to actually reach the outlook.com abuse team.</p>

<p>Any student or practitioner of SMTP mail delivery should know that SPF records should only happen on ingress, that is at the point where the mail traffic enters your infrastructure and the sender IP address is the original one. Leave the check for later when the message may have been forwarded, and you do not have sufficient data to perform the check.</p>

<p>Whenever I encounter incredibly stupid and functionally destructive configuration errors like this I tend to believe they're down to simple incompetence and not malice.</p>

<p>But this one has me wondering. If you essentially require incoming mail to include the contents of spf.outlook.com (currently no less than 81 subnets) as valid senders for the domain, you are essentially saying that only outlook.com customers are allowed to communicate.</p>

<p>If that restriction is a result of a deliberate choice rather than a simple configuration error, the problem moves out of the technical sphere and could conceivably become a legal matter, depending on what outlook.com have specified in their contracts that they are selling to their customers.</p>

<p>But let us assume that this is indeed a matter of simple bad luck or incompetence and that the solution is indeed technical.</p>

<p>I would have liked to report this to whoever does technical things at that domain via email, but unfortunately there are indications that being their customer is a precondition for using that channel of communication to them.</p>

<p>I hope they fix that, and soon. And then move on to terminating their spamming customers' contracts.</p>

<p>The main lesson to be learned from this is that when you shop around for email service, please do yourself a favor and make an effort to ensure that your prospective providers actually understand how the modern-ish SMTP addons SPF, DKIM and DMARC actually work.</p>

<p>Otherwise you may end up receiving more of the mail you don't want than what you do want, and your own mail may end up not being delivered as intended.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mirceaulinic.net/2018-02-14-openbsd-salt-proxy/" target="_blank" rel="nofollow noopener">Running Salt Proxy Minions on OpenBSD</a></h3>

<blockquote>
<p>As I have previously attempted several times in the past, I am (finally) very close to switch to OpenBSD, a more stable and reliable operating system that I like. Before starting to make the actual change on both personal and work computer, I started testing some of the tools Im currently using, and understand what are the expectations.</p>

<p>In general I didnt encounter issues, or when I did, I found the answers in the documentation (which is really great), or various forums. I didnt find however any questions regarding Proxy Minions on OpenBSD which is why I thought it might be helpful to share my experience.</p>
</blockquote>

<ul>
<li>Installation and Startup</li>
</ul>

<blockquote>
<p>With these said, I started playing with Salt, and it was simple and straightforward. First step - install Salt: pkg_add salt. This will bring several ports for Python futures, ZeroMQ, or Tornado which are needed for Salt.</p>

<p>After configuring the pillar_roots in the /etc/salt/master config file for the Master, I started up the master process using rcctl:</p>
</blockquote>

<ul>
<li>Starting up the Proxy Minions</li>
</ul>

<blockquote>
<p>The Salt package for OpenBSD comes with the rc file for salt-proxy as well, /etc/rc.d/salt_proxy<br>
While typically you run a single regular Minion on a given machine, it is very like that there are multiple Proxy processes. Additionally, the default Salt rc file has the following configuration for the salt-proxy daemon:</p>
</blockquote>

<ul>
<li>Starting many Proxy Minions</li>
</ul>

<blockquote>
<p>I have managed to startup a Proxy Minion, but what about many? Executing the three commands above for each and every device is tedious and cannot scale very well. I thus have figured the following way:</p>
</blockquote>

<ul>
<li>Have a separate rc file per Proxy, each having the daemon instruction explicitly specifying its Minion ID</li>
<li>Start the service (using the regular Minion that controls the machine where the Proxy processes are running)</li>
<li>And the test Proxy Minion is then up (after accepting the key, i.e,, salt-key -a test)</li>
</ul>

<blockquote>
<p>Extending the same to a (very) large number of Proxy Minions, you can easily manage the rc files and start the services using a Salt State executed on the regular Minion:</p>
</blockquote>

<ul>
<li>Using the file.managed State function to generate the contents of the rc file for each Proxy, with its own Minion ID.</li>
<li>Using the service.running State function start the service.</li>
</ul>

<blockquote>
<p>These two steps would suffice to start an arbitrary number of Proxy Minions, and the command executed will always be the same regardless how many processes you aim to manage.</p>
</blockquote>

<ul>
<li>Conclusions</li>
</ul>

<blockquote>
<p>I am still a novice when it comes to OpenBSD, I have plenty to learn, but it looks like the transition will be much smoother than I expected. I am already looking forward to the handover, and - most importantly - I will no longer be using systemd. :-)</p>
</blockquote>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-February/068464.html" target="_blank" rel="nofollow noopener">LUA boot loader coming very soon</a></h3>

<blockquote>
<p>As you may know, the Lua (<a href="http://www.lua.org" target="_blank" rel="nofollow noopener">http://www.lua.org</a>) boot loader has been in the works for some time. It started out life as a GSoC in 2014 by Pedro Souza mentored by Wojciech A. Koszek. Rui Paulo created a svn project branch to try to integrate it. I rebased that effort into a github branch which Pedro Arthur fixed up. Over the past year, I've been cleaning up the boot loader<br>
for other reasons, and found the time was ripe to start integrating this into the tree. However, those integration efforts have taken a while as my day-job work on the boot loader took priority. In the mean time, Ed Maste and the FreeBSD Foundation funded Zakary Nafziger to enhance the original GSoC Lua scripts to bring it closer to parity with the evolution of the FORTH menu system since the GSoC project started.</p>

<p>I'm pleased to announce that all these threads of development have converged and I'll be pushing the FreeBSD Lua Loader later today. This loader uses Lua as its scripting language instead of FORTH. While co-existance is planned, the timeline for it is looking to be a few weeks<br>
and I didn't want to delay pushing this into the tree for that.</p>

<p>To try the loader, you'll need to build WITHOUT_FORTH=yes and WITH_LOADER_LUA=yes. Fortunately, you needn't do a full world to do this, you can do it in src/stand and install the result (be sure to have the options for both the build and the install). This will replace your current<br>
/boot/loader that is scripted with FORTH to one that's scripted with Lua.<br>
It will install the lua scripts in /boot/lua. The boot is scripted with /boot/lua/loader.lua instead of /boot/loader.rc. You are strongly advised to create a backup copy of /boot/loader before testing (eg cp /boot/loader /boot/loader_forth), since you'll need to boot that from boot2 if something<br>
goes wrong. I've tested it extensively, though, with userboot.so and it's test program, so all the initial kinks of finding the lua scripts, etc have been worked out.</p>

<p>While it's possible to build all the /boot/loader variants with Lua, I've just tested a BIOS booting /boot/loader both with and without menus enabled. I've not tested any of the other variants and the instructions for testing some of them may be rather tedious (especially UEFI, if you want a<br>
simple path to back out). Since there's not been full convergence testing, you'll almost certainly find bumps in this system. Also, all the build-system APIs are likely not yet final.</p>

<p>I put  MFC after a month on the commit. Due to the heroic (dare I say almost crazy) work of Kyle Evans on merging all the revs from -current to 11, I'm planning a MFC to 11 after the co-existence issues are hammered out. In 11, FORTH will be the default, and Lua will  be built by default, but users will have to do something to use it. 12, both FORTH and Lua will be built and installed, with Lua as default (barring unforeseen complications). Once the co-existence stuff goes in, I imagine we'll make the switch to Lua by default shortly after that. In 13, FORTH will be removed unless there's a really really compelling case made to keep it.</p>

<p>So please give it a spin and give me any feedback, documentation updates and/or bug fixes. I'm especially interested in reviews from people that have embedded Lua in other projects or experts in Lua that can improve the robustness of the menu code.</p>

<hr>
</blockquote>

<h3><a href="https://bsdmag.org/5374-2/" target="_blank" rel="nofollow noopener">Bitcoin Full Node on FreeBSD</a></h3>

<ul>
<li>What is a Bitcoin ?</li>
</ul>

<blockquote>
<p>Bitcoin is a valuable popular open-source cryptocurrency that was invented by Satoshi Nakamoto in 2009. Bitcoins have value because they possess same characteristics like money (durability, portability, fungibility, scarcity, divisibility, and recognizability), but based on the properties of mathematics rather than on physical properties (like gold and silver) or trust in central authorities (like fiat currencies). In short, Bitcoin is backed by mathematics.<br>
Bitcoin is the first decentralized peer-to-peer cryptocurrency that is controlled by its users.<br>
Transactions take place directly between users, and are later verified by network nodes with digital signature and then placed in a public distributed ledger called a blockchain. Bitcoin is unique in that only 21 million bitcoins will ever be created. The unit of the bitcoin system is bitcoin or mBTC.</p>
</blockquote>

<ul>
<li>What is a Bitcoin Wallet ?</li>
</ul>

<blockquote>
<p>A wallet is nothing more than a pair of public and private keys that are created by a client to store the digital credentials for your bitcoin.</p>

<p>There are several types of wallets:</p>
</blockquote>

<pre><code>Desktop Wallet
Token Wallet
Online Wallet
Mobile Wallet
A token wallet is the safest way to work with bitcoin network, but you can use your mobile or pc as a bitcoin wallet.
</code></pre>

<ul>
<li>What is a Blockchain?</li>
</ul>

<blockquote>
<p>A blockchain is a ledger that records bitcoin transactions. The blockchain is a distributed database that achieves independent verification of the chain of ownership. Each network node stores its own copy of the blockchain. Transactions will broadcast on the bitcoin network, and about 2400 transactions create a block. These blocks are building blocks of the blockchain.</p>
</blockquote>

<ul>
<li>What is Mining?</li>
</ul>

<blockquote>
<p>Mining is the process of dedicating computing power to process transactions, secure the network, and keep everyone in the system synchronized together. It has been designed to be fully decentralized.<br>
Miners need mining software with specialized hardware. Mining software listens for transactions broadcasted through the peer-to-peer network and performs appropriate tasks to process and confirm these transactions. Bitcoin miners perform this work because they can earn transaction fees paid by users for faster transaction processing.<br>
New transactions have to be confirmed then be included in a block along with a mathematical proof of work. Such proofs are very hard to generate because there is no way to create them other than by trying billions of calculations per second. Hence, miners are required to perform these calculations before their blocks are accepted by the network and before they are rewarded. As more people start to mine, the difficulty of finding valid blocks is automatically increased by the network to ensure that the average time to find a block remains equal to 10 minutes. As a result, mining is a very competitive business where no individual miner can control what is included in the blockchain.<br>
The proof of work is also designed to depend on the previous block to force a chronological order in the blockchain. This makes it exponentially difficult to reverse previous transactions because it would require the recalculation of the proofs of work of all the subsequent blocks. When two blocks are found at the same time, miners work on the first block they receive and switch to the longest chain of blocks as soon as the next block is found. This allows mining to secure and maintain a global consensus based on processing power.</p>
</blockquote>

<ul>
<li>What is Pooled Mining?</li>
</ul>

<blockquote>
<p>You have more chances if you participate with others to create a block. In a pool, all participating miners get paid every time a participating server solves a block. The payment depends on the amount of work an individual miner contributed to help find that block.</p>
</blockquote>

<ul>
<li>What is a Full Node?</li>
</ul>

<blockquote>
<p>A full node is a client that fully validates transactions and blocks. Full nodes also help the network by accepting transactions and blocks from other full nodes, validating those transactions and blocks, and then relaying them to further full nodes.<br>
Many people and organizations volunteer to run full nodes using spare computing and bandwidth resources.</p>
</blockquote>

<ul>
<li>What is a Bitcoind?</li>
</ul>

<blockquote>
<p>bitcoind is a Bitcoin client under the MIT license in 32-bit and 64-bit versions for Windows, GNU/Linux-based OSes, Mac OS X, OpenBSD and FreeBSD as well.</p>

<p>Conclusion</p>
</blockquote>

<ul>
<li>Cryptocurrencies are replacement for banking we know today, and bitcoin is the game changer. Mining bitcoin with typical hardware is not a good idea. It needs specialized devices like ASIC, but you can create a full node and help the bitcoin network.</li>
<li>Useful Links

<ul>
<li><a href="https://en.wikipedia.org/wiki/Cryptocurrency" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/Cryptocurrency</a></li>
<li><a href="https://bitcoin.org/en/faq" target="_blank" rel="nofollow noopener">https://bitcoin.org/en/faq</a>
***</li>
</ul></li>
</ul>

<h3>Latest DRM Graphics work</h3>

<ul>
<li>The DRM Graphics stack from Linux is ported to FreeBSD on an ongoing basis to provide support for accelerated graphics for Intel and AMD GPUs.</li>
<li><a href="https://svnweb.freebsd.org/ports?view=revision&amp;revision=462202" target="_blank" rel="nofollow noopener">The LinuxKPI bits that the drm-next-kmod driver port depends on have been merged into stable/11 and will be included as part of the upcoming FreeBSD 11.2 </a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-February/068690.html" target="_blank" rel="nofollow noopener">Additionally, the version of the drives has been updated from Linux 4.9 to Linux 4.11 with a number of additional devices being supported</a>
***</li>
</ul>

<h3><a href="https://blog.safia.rocks/post/171311670379/how-does-cd-work" target="_blank" rel="nofollow noopener">How does <code>cd</code> work?</a></h3>

<blockquote>
<p>In my last blog post, I dove into some of the code behind the sudo command. I thought this was pretty fun. sudo is one of those commands that I use quite often but havent had the chance to look into truly. I started thinking about other commands that I use on a daily basis but had little understanding of the internals of. The first command that came to mind is cd. cd stands for change directory. Simply put, it allows you to set your current working directory to a different directory.<br>
I read through some of the code that was defined in this file. Some of it was in functions, and other bits were in templates, but after a while, I figured that most of the code was a wrapper around a function called chdir. A lot of the functions defined in the cd.def file linked above actually just invoke chdir and handle errors and parameter cleaning.<br>
So all in all, here is what happens when you run cd on the command line.</p>
</blockquote>

<ul>
<li>The cd builtin is invoked as part of the Bash shell.</li>
<li>The Bash shell invokes the chdir function.</li>
<li>The chdir function is part of Unix and invokes the chdir system call.</li>
<li>The Unix kernel executes the chdir call and does its own low-level thing.</li>
</ul>

<blockquote>
<p>I could dive in a little bit more into how #4 works, but lets be honest, Ive already read too much code at this point, and my eyes are starting to hurt.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/247552279/" target="_blank" rel="nofollow noopener">Stockholm BSD User Group: March 22</a></li>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-February/014182.html" target="_blank" rel="nofollow noopener">Open Source Hardware Camp 2018 (30/06 &amp; 01/07) Call for Participation</a></li>
<li><a href="https://www.freebsd.org/releases/11.2R/schedule.html" target="_blank" rel="nofollow noopener">Initial release schedule announcement for FreeBSD 11.2</a></li>
<li><a href="https://www.gitbook.com/book/freebsdfrau/serious-shell-programming/details" target="_blank" rel="nofollow noopener">Serious Shell Programming (Devin Teske)</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3115" target="_blank" rel="nofollow noopener">SSH Mastery 2/e out</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=330001" target="_blank" rel="nofollow noopener">TCP Fast Open client side lands in FreeBSD </a></li>
<li><a href="https://torbsd.org/open-letter.html" target="_blank" rel="nofollow noopener">Help the Tor BSD Project increase the OS diversity of Tor nodes, for your own safety, and everyone else's </a></li>
<li><a href="https://www.kompulsa.com/2018/02/23/5-differences-trueos-linux/" target="_blank" rel="nofollow noopener">5 Differences Between TrueOS &amp; Linux</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Ambrose - <a href="http://dpaste.com/0KRRG18#wrap" target="_blank" rel="nofollow noopener">Bunch of questions</a></li>
<li>Eddy - <a href="http://dpaste.com/0MTXYJN#wrap" target="_blank" rel="nofollow noopener">ZFSoL with single SSD</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>235: I C you BSD</title>
  <link>https://www.bsdnow.tv/235</link>
  <guid isPermaLink="false">460ca95a-5b37-4d69-9367-525dfa539ab6</guid>
  <pubDate>Wed, 28 Feb 2018 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/460ca95a-5b37-4d69-9367-525dfa539ab6.mp3" length="90339700" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>How the term open source was created, running FreeBSD on ThinkPad T530, Moving away from Windows, Unknown Giants, as well as OpenBSD and FreeDOS.</itunes:subtitle>
  <itunes:duration>2:05:28</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>&lt;p&gt;How the term open source was created, running FreeBSD on ThinkPad T530, Moving away from Windows, Unknown Giants, as well as OpenBSD and FreeDOS.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://opensource.com/article/18/2/coining-term-open-source-software" target="_blank" rel="nofollow noopener"&gt;How I coined the term 'open source'&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In a few days, on February 3, the 20th anniversary of the introduction of the term "open source software" is upon us. As open source software grows in popularity and powers some of the most robust and important innovations of our time, we reflect on its rise to prominence.&lt;/p&gt;

&lt;p&gt;I am the originator of the term "open source software" and came up with it while executive director at Foresight Institute. Not a software developer like the rest, I thank Linux programmer Todd Anderson for supporting the term and proposing it to the group.&lt;/p&gt;

&lt;p&gt;This is my account of how I came up with it, how it was proposed, and the subsequent reactions. Of course, there are a number of accounts of the coining of the term, for example by Eric Raymond and Richard Stallman, yet this is mine, written on January 2, 2006.&lt;/p&gt;

&lt;p&gt;It has never been published, until today.&lt;/p&gt;

&lt;p&gt;The introduction of the term "open source software" was a deliberate effort to make this field of endeavor more understandable to newcomers and to business, which was viewed as necessary to its spread to a broader community of users. The problem with the main earlier label, "free software," was not its political connotations, but that—to newcomers—its seeming focus on price is distracting. A term was needed that focuses on the key issue of source code and that does not immediately confuse those new to the concept. The first term that came along at the right time and fulfilled these requirements was rapidly adopted: open source.&lt;/p&gt;

&lt;p&gt;This term had long been used in an "intelligence" (i.e., spying) context, but to my knowledge, use of the term with respect to software prior to 1998 has not been confirmed. The account below describes how the term open source software caught on and became the name of both an industry and a movement.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Meetings on computer security&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In late 1997, weekly meetings were being held at Foresight Institute to discuss computer security. Foresight is a nonprofit think tank focused on nanotechnology and artificial intelligence, and software security is regarded as central to the reliability and security of both. We had identified free software as a promising approach to improving software security and reliability and were looking for ways to promote it. Interest in free software was starting to grow outside the programming community, and it was increasingly clear that an opportunity was coming to change the world. However, just how to do this was unclear, and we were groping for strategies.&lt;/p&gt;

&lt;p&gt;At these meetings, we discussed the need for a new term due to the confusion factor. The argument was as follows: those new to the term "free software" assume it is referring to the price. Oldtimers must then launch into an explanation, usually given as follows: "We mean free as in freedom, not free as in beer." At this point, a discussion on software has turned into one about the price of an alcoholic beverage. The problem was not that explaining the meaning is impossible—the problem was that the name for an important idea should not be so confusing to newcomers. A clearer term was needed. No political issues were raised regarding the free software term; the issue was its lack of clarity to those new to the concept.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Releasing Netscape&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;On February 2, 1998, Eric Raymond arrived on a visit to work with Netscape on the plan to release the browser code under a free-software-style license. We held a meeting that night at Foresight's office in Los Altos to strategize and refine our message. In addition to Eric and me, active participants included Brian Behlendorf, Michael Tiemann, Todd Anderson, Mark S. Miller, and Ka-Ping Yee. But at that meeting, the field was still described as free software or, by Brian, "source code available" software.&lt;/p&gt;

&lt;p&gt;While in town, Eric used Foresight as a base of operations. At one point during his visit, he was called to the phone to talk with a couple of Netscape legal and/or marketing staff. When he was finished, I asked to be put on the phone with them—one man and one woman, perhaps Mitchell Baker—so I could bring up the need for a new term. They agreed in principle immediately, but no specific term was agreed upon.&lt;/p&gt;

&lt;p&gt;Between meetings that week, I was still focused on the need for a better name and came up with the term "open source software." While not ideal, it struck me as good enough. I ran it by at least four others: Eric Drexler, Mark Miller, and Todd Anderson liked it, while a friend in marketing and public relations felt the term "open" had been overused and abused and believed we could do better. He was right in theory; however, I didn't have a better idea, so I thought I would try to go ahead and introduce it. In hindsight, I should have simply proposed it to Eric Raymond, but I didn't know him well at the time, so I took an indirect strategy instead.&lt;/p&gt;

&lt;p&gt;Todd had agreed strongly about the need for a new term and offered to assist in getting the term introduced. This was helpful because, as a non-programmer, my influence within the free software community was weak. My work in nanotechnology education at Foresight was a plus, but not enough for me to be taken very seriously on free software questions. As a Linux programmer, Todd would be listened to more closely.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The key meeting&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Later that week, on February 5, 1998, a group was assembled at VA Research to brainstorm on strategy. Attending—in addition to Eric Raymond, Todd, and me—were Larry Augustin, Sam Ockman, and attending by phone, Jon "maddog" Hall.&lt;/p&gt;

&lt;p&gt;The primary topic was promotion strategy, especially which companies to approach. I said little, but was looking for an opportunity to introduce the proposed term. I felt that it wouldn't work for me to just blurt out, "All you technical people should start using my new term." Most of those attending didn't know me, and for all I knew, they might not even agree that a new term was greatly needed, or even somewhat desirable.&lt;/p&gt;

&lt;p&gt;Fortunately, Todd was on the ball. Instead of making an assertion that the community should use this specific new term, he did something less directive—a smart thing to do with this community of strong-willed individuals. He simply used the term in a sentence on another topic—just dropped it into the conversation to see what happened. I went on alert, hoping for a response, but there was none at first. The discussion continued on the original topic. It seemed only he and I had noticed the usage.&lt;/p&gt;

&lt;p&gt;Not so—memetic evolution was in action. A few minutes later, one of the others used the term, evidently without noticing, still discussing a topic other than terminology. Todd and I looked at each other out of the corners of our eyes to check: yes, we had both noticed what happened. I was excited—it might work! But I kept quiet: I still had low status in this group. Probably some were wondering why Eric had invited me at all.&lt;/p&gt;

&lt;p&gt;Toward the end of the meeting, the question of terminology was brought up explicitly, probably by Todd or Eric. Maddog mentioned "freely distributable" as an earlier term, and "cooperatively developed" as a newer term. Eric listed "free software," "open source," and "sourceware" as the main options. Todd advocated the "open source" model, and Eric endorsed this. I didn't say much, letting Todd and Eric pull the (loose, informal) consensus together around the open source name. It was clear that to most of those at the meeting, the name change was not the most important thing discussed there; a relatively minor issue. Only about 10% of my notes from this meeting are on the terminology question.&lt;/p&gt;

&lt;p&gt;But I was elated. These were some key leaders in the community, and they liked the new name, or at least didn't object. This was a very good sign. There was probably not much more I could do to help; Eric Raymond was far better positioned to spread the new meme, and he did. Bruce Perens signed on to the effort immediately, helping set up Opensource.org and playing a key role in spreading the new term.&lt;/p&gt;

&lt;p&gt;For the name to succeed, it was necessary, or at least highly desirable, that Tim O'Reilly agree and actively use it in his many projects on behalf of the community. Also helpful would be use of the term in the upcoming official release of the Netscape Navigator code. By late February, both O'Reilly &amp;amp; Associates and Netscape had started to use the term.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Getting the name out&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After this, there was a period during which the term was promoted by Eric Raymond to the media, by Tim O'Reilly to business, and by both to the programming community. It seemed to spread very quickly.&lt;/p&gt;

&lt;p&gt;On April 7, 1998, Tim O'Reilly held a meeting of key leaders in the field. Announced in advance as the first "Freeware Summit," by April 14 it was referred to as the first "Open Source Summit."&lt;/p&gt;

&lt;p&gt;These months were extremely exciting for open source. Every week, it seemed, a new company announced plans to participate. Reading Slashdot became a necessity, even for those like me who were only peripherally involved. I strongly believe that the new term was helpful in enabling this rapid spread into business, which then enabled wider use by the public.&lt;/p&gt;

&lt;p&gt;A quick Google search indicates that "open source" appears more often than "free software," but there still is substantial use of the free software term, which remains useful and should be included when communicating with audiences who prefer it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A happy twinge&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;When an early account of the terminology change written by Eric Raymond was posted on the Open Source Initiative website, I was listed as being at the VA brainstorming meeting, but not as the originator of the term. This was my own fault; I had neglected to tell Eric the details. My impulse was to let it pass and stay in the background, but Todd felt otherwise. He suggested to me that one day I would be glad to be known as the person who coined the name "open source software." He explained the situation to Eric, who promptly updated his site.&lt;/p&gt;

&lt;p&gt;Coming up with a phrase is a small contribution, but I admit to being grateful to those who remember to credit me with it. Every time I hear it, which is very often now, it gives me a little happy twinge.&lt;/p&gt;

&lt;p&gt;The big credit for persuading the community goes to Eric Raymond and Tim O'Reilly, who made it happen. Thanks to them for crediting me, and to Todd Anderson for his role throughout. The above is not a complete account of open source history; apologies to the many key players whose names do not appear. Those seeking a more complete account should refer to the links in this article and elsewhere on the net.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.c0ffee.net/blog/freebsd-on-a-laptop" target="_blank" rel="nofollow noopener"&gt;FreeBSD on a Laptop - A guide to a fully functional installation of FreeBSD on a ThinkPad T530&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As I stated my previous post, I recently dug up my old ThinkPad T530 after the embarrassing stream of OS X security bugs this month. Although this ThinkPad ran Gentoo faithfully during my time in graduate school at Clemson, these days I'd much rather spend time my wife and baby than fighting with emerge and USE flags. FreeBSD has always been my OS of choice, and laptop support seems to be much better than it was a few years ago. In this guide, I'll show you the tweaks I made to wrestle FreeBSD into a decent experience on a laptop.&lt;/p&gt;

&lt;p&gt;Unlike my usual posts, this time I'm going to assume you're already pretty familiar with FreeBSD. If you're a layman looking for your first BSD-based desktop, I highly recommend checking out TrueOS (previously PC-BSD): they've basically taken FreeBSD and packaged it with all the latest drivers, along with a user-friendly installer and custom desktop environment out of the box. TrueOS is an awesome project–the only reason I don't use it is because I'm old, grumpy, and persnickety about having my operating system just so.&lt;/p&gt;

&lt;p&gt;Anyway, if you'd still like to take the plunge, read on. Keep in mind, I'm using a ThinkPad T530, but other ThinkPads of the same generation should be similarly compatible.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Here's what you'll get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Decent battery life (8-9 hours with a new 9-cell battery)&lt;/li&gt;
&lt;li&gt;UEFI boot and full-disk encryption&lt;/li&gt;
&lt;li&gt;WiFi (Intel Ultimate-N 6300)&lt;/li&gt;
&lt;li&gt;Ethernet (Intel PRO/1000)&lt;/li&gt;
&lt;li&gt;Screen brightness adjustment&lt;/li&gt;
&lt;li&gt;Suspend/Resume on lid close (make sure to disable TPM in BIOS)&lt;/li&gt;
&lt;li&gt;Audio (Realtek ALC269 HDA, speakers and headphone jack)&lt;/li&gt;
&lt;li&gt;Keyboard multimedia buttons&lt;/li&gt;
&lt;li&gt;Touchpad/Trackpoint&lt;/li&gt;
&lt;li&gt;Graphics Acceleration (with integrated Intel graphics, NVIDIA card disabled in BIOS)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What I haven't tested yet:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bluetooth&lt;/li&gt;
&lt;li&gt;Webcam&lt;/li&gt;
&lt;li&gt;Fingerprint reader&lt;/li&gt;
&lt;li&gt;SD Card slot&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Installation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Power Saving&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Tweaks for Desktop Use&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;X11&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fonts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Login Manager: SLiM&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Desktop Environment: i3&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Applications&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/the_llvm_sanitizers_stage_accomplished" target="_blank" rel="nofollow noopener"&gt;The LLVM Sanitizers stage accomplished&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I've managed to get the Memory Sanitizer to work for the elementary base system utilities, like ps(1), awk(1) and ksh(1). This means that the toolchain is ready for tests and improvements. I've iterated over the basesystem utilities and I looked for bugs, both in programs and in sanitizers. The number of detected bugs in the userland programs was low, there merely was one reading of an uninitialized variable in ps(1).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A prebuilt LLVM toolchain&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I've prepared a prebuilt toolchain with Clang, LLVM, LLDB and compiler-rt for NetBSD/amd64. I prepared the toolchain on 8.99.12, however I have received reports that it works on other older releases. Link: llvm-clang-compilerrt-lldb-7.0.0beta_2018-01-24.tar.bz2&lt;/p&gt;

&lt;p&gt;The archive has to be untarballed to /usr/local (however it might work to some extent in other paths).&lt;/p&gt;

&lt;p&gt;This toolchain contains a prebuilt tree of the LLVM projects from a snapshot of 7.0.0(svn). It is a pristine snapshot of HEAD with patches from pkgsrc-wip for llvm, clang, compiler-rt and lldb.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Sanitizers

&lt;ul&gt;
&lt;li&gt;Notable changes in sanitizers, all of them are in the context of NetBSD support.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;Added fstat(2) MSan interceptor.
Support for kvm(3) interceptors in the common sanitizer code.
Added devname(3) and devname_r(3) interceptors to the common sanitizer code.
Added sysctl(3) familty of functions interceptors in the common sanitizer code.
Added strlcpy(3)/strlcat(3) interceptors in the common sanitizer code.
Added getgrouplist(3)/getgroupmembership(3) interceptors in the common sanitizer code.
Correct ctype(3) interceptors in a code using Native Language Support.
Correct tzset(3) interceptor in MSan.
Correct localtime(3) interceptor in the common sanitizer code.
Added paccept(2) interceptor to the common sanitizer code.
Added access(2) and faccessat(2) interceptors to the common sanitizer code.
Added acct(2) interceptor to the common sanitizer code.
Added accept4(2) interceptor to the common sanitizer code.
Added fgetln(3) interceptor to the common sanitizer code.
Added interceptors for the pwcache(3)-style functions in the common sanitizer code.
Added interceptors for the getprotoent(3)-style functions in the common sanitizer code.
Added interceptors for the getnetent(3)-style functions in the common sanitizer code.
Added interceptors for the fts(3)-style functions in the common sanitizer code.
Added lstat(3) interceptor in MSan.
Added strftime(3) interceptor in the common sanitizer code.
Added strmode(3) interceptor in the common sanitizer code.
Added interceptors for the regex(3)-style functions in the common sanitizer code.
Disabled unwanted interceptor __sigsetjmp in TSan.
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Base system changes&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I've tidied up inclusion of the internal namespace.h header in libc. This has hidden the usage of public global symbol names of:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;strlcat -&amp;gt; _strlcat
sysconf -&amp;gt; __sysconf
closedir -&amp;gt; _closedir
fparseln -&amp;gt; _fparseln
kill -&amp;gt; _kill
mkstemp -&amp;gt; _mkstemp
reallocarr -&amp;gt; _reallocarr
strcasecmp -&amp;gt; _strcasecmp
strncasecmp -&amp;gt; _strncasecmp
strptime -&amp;gt; _strptime
strtok_r -&amp;gt; _strtok_r
sysctl -&amp;gt; _sysctl
dlopen -&amp;gt; __dlopen
dlclose -&amp;gt; __dlclose
dlsym -&amp;gt; __dlsym
strlcpy -&amp;gt; _strlcpy
fdopen -&amp;gt; _fdopen
mmap -&amp;gt; _mmap
strdup -&amp;gt; _strdup
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;The purpose of these changes was to stop triggering interceptors recursively. Such interceptors lead to sanitization of internals of unprepared (not recompiled with sanitizers) prebuilt code. It's not trivial to sanitize libc's internals and the sanitizers are not designed to do so. This means that they are not a full replacement of Valgrind-like software, but a a supplement in the developer toolbox. Valgrind translates native code to a bytecode virtual machine, while sanitizers are designed to work with interceptors inside the pristine elementary libraries (libc, libm, librt, libpthread) and embed functionality into the executable's code.&lt;/p&gt;

&lt;p&gt;I've also reverted the vadvise(2) syscall removal, from the previous month. This caused a regression in legacy code recompiled against still supported compat layers. Newly compiled code will use a libc's stub of vadvise(2).&lt;/p&gt;

&lt;p&gt;I've also prepared a patch installing dedicated headers for sanitizers along with the base system GCC. It's still discussed and should land the sources soon.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Future directions and goals

&lt;ul&gt;
&lt;li&gt;Possible paths in random order:&lt;/li&gt;
&lt;li&gt;In the quartet of UBSan (Undefined Behavior Sanitizer), ASan (Address Sanitizer), TSan (Thread Sanitizer), MSan (Memory Sanitizer) we need to add the fifth basic sanitizer: LSan (Leak Sanitizer). The Leak Sanitizer (detector of memory leaks) demands a stable ptrace(2) interface for processes with multiple threads (unless we want to build a custom kernel interface).&lt;/li&gt;
&lt;li&gt;Integrate the sanitizers with the userland framework in order to ship with the native toolchain to users.&lt;/li&gt;
&lt;li&gt;Port sanitizers from LLVM to GCC.&lt;/li&gt;
&lt;li&gt;Allow to sanitize programs linked against userland libraries other than libc, librt, libm and libpthread; by a global option (like MKSANITIZER) producing a userland that is partially prebuilt with a desired sanitizer. This is required to run e.g. MSanitized programs against editline(3). So far, there is no Operating System distribution in existence with a native integration with sanitizers. There are 3rd party scripts for certain OSes to build a stack of software dependencies in order to validate a piece of software.&lt;/li&gt;
&lt;li&gt;Execute ATF tests with the userland rebuilt with supported flavors of sanitizers and catch regressions.&lt;/li&gt;
&lt;li&gt;Finish porting of modern linkers designed for large C++ software, such as GNU GOLD and LLVM LLD. Today the bottleneck with building the LLVM toolchain is a suboptimal linker GNU ld(1).&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I've decided to not open new battlefields and return now to porting LLDB and fixing ptrace(2).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Plan for the next milestone

&lt;ul&gt;
&lt;li&gt;Keep upstreaming a pile of local compiler-rt patches.&lt;/li&gt;
&lt;li&gt;Restore the LLDB support for traced programs with a single thread.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Interview - Goran Mekic - &lt;a href="mailto:meka@tilda.center" target="_blank" rel="nofollow noopener"&gt;meka@tilda.center&lt;/a&gt; / &lt;a href="https://twitter.com/meka_floss" target="_blank" rel="nofollow noopener"&gt;@meka_floss&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsdstore.ru" target="_blank" rel="nofollow noopener"&gt;CBSD website&lt;/a&gt; Jail and VM Manager
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.manios.ca/blog/2018/01/finally-moving-away-from-windows/" target="_blank" rel="nofollow noopener"&gt;Finally Moving Away From Windows&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Broken Window&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Thanks to a combination of some really impressive malware, bad clicking, and poor website choices, I had to blow away my Windows 10 installation. Not that it was Window’s fault, but a piece of malware had infected my computer when I tried to download a long lost driver for an even longer lost RAID card for a server. A word of advice – the download you’re looking for is never on an ad-infested forum in another language. In any case, I had been meaning to switch away from Windows soon. I didn’t have my entire plan ready, but now was as good a time as any.&lt;/p&gt;

&lt;p&gt;My line of work requires me to maintain some form of Windows installation, so I decided to keep it in a VM rather than dual booting as I was developing code and not running any high-end visual stuff like games. My first thought was to install Arch or Gentoo Linux, but the last time I attempted a Gentoo installation it left me bootless. Not that there is anything wrong with Gentoo, it was probably my fault, but I like the idea of some sort of installer so I looked at rock-solid Debian. My dad had installed Debian on his sweet new cutting-edge Lenovo laptop he received recently from work. He often raves about his cool scripts and much more effective customized experience, but often complains about his hybrid GPU support as he has an Intel/Nvidia hybrid display adapter (he has finally resolved it and now boasts his 6 connected displays).&lt;/p&gt;

&lt;p&gt;I didn’t want to install Windows again, but something didn’t feel right about installing some flavour of Linux. Back at home I have a small collection of FreeBSD servers running in all sorts of jails and other physical hardware, with the exception of one Debian server which I had the hardest time dealing with (it would be FreeBSD too if 802.11ac support was there as it is acting as my WiFi/gateway/IDS/IPS). I loved my FreeBSD servers, and yes I will write posts about each one soon enough. I wanted that cleanliness and familiarity on my desktop as well (I really love the ports collection!). It’s settled – I will run FreeBSD on my laptop. This also created a new rivalry with my father, which is not a bad thing either.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Playing Devil’s Advocate&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The first thing I needed to do was backup my Windows data. This was easy enough, just run a Windows Image Backup and it will- wait, what? Why isn’t this working? I didn’t want to fiddle with this too long because I didn’t actually need an image just the data. I ended up just copying over the files to an external hard disk. Once that was done, I downloaded and verified the latest FreeBSD 11.1 RELEASE memstick image and flashed it to my trusty 8GB Verbatim USB stick. I’ve had this thing since 2007, it works great for being my re-writable “CD”. I booted it up and started the installation. I knew this installer pretty well as I had test-installed FreeBSD and OpenBSD in VMs when I was researching a Unix style replacement OS last year. In any case, I left most of the defaults (I didn’t want to play with custom kernels right now) and I selected all packages. This downloaded them from the FreeBSD FTP server as I only had the memstick image. The installer finished and I was off to my first boot. Great! so far so good. FreeBSD loaded up and I did a ‘pkg upgrade’ just to make sure that everything was up to date.&lt;/p&gt;

&lt;p&gt;Alright, time to get down to business. I needed nano. I just can’t use vi, or just not yet. I don’t care about being a vi-wizard, that’s just too much effort for me. Anyway, just a ‘pkg install nano’ and I had my editor. Next was obvious, I needed x11. XFCE was common, and there were plenty of tutorials out there. I wont bore you with those details, but it went something like ‘pkg install xfce’ and I got all the dependencies. Don’t forget to install SLiM to make it seamless. There are some configs in the .login I think. SLiM needs to be called once the boot drops you to the login so that you get SLiM’s nice GUI login instead of the CLI login screen. Then SLiM passes you off to XFCE. I think I followed this and this. Awesome. Now that x11 is working, it’s time to get all of my apps from Windows. Obviously, I can’t get everything (ie. Visual Studio, Office). But in my Windows installation, I had chosen many open-source or cross-compiled apps as they either worked better or so that I was ready to move away from Windows at a moments notice. ‘pkg install firefox thunderbird hexchat pidgin gpa keepass owncloud-client transmission-qt5 veracrypt openvpn’ were some immediate picks. There are a lot more that I downloaded later, but these are a few I use everyday. My laptop also has the same hybrid display adapter config that my dad’s has, but I chose to only run Intel graphics, so dual screens are no problem for me. I’ll add Nvidia support later, but it’s not a priority.&lt;/p&gt;

&lt;p&gt;After I had imported my private keys and loaded my firefox and thunderbird settings, I wanted to get my Windows VM running right away as I was burning productive days at work fiddling with this. I had only two virtualisation options; qemu/kvm and bhyve. qemu/kvm wasn’t available in pkg, and looked real dirty to compile, from FreeBSD’s point of view. My dad is using qemu/kvm with virt-manager to manage all of his Windows/Unix VMs alike. I wanted that experience, but I also wanted packages that could be updated and I didn’t want to mess up a compile. bhyve was a better choice. It was built-in, it was more compatible with Windows (from what I read), and this is a great step-by-step article for Windows 10 on FreeBSD 11 bhyve! I had already tried to get virt-manager to work with bhyve with no luck. I don’t think libvirt connects with bhyve completely, or maybe my config is wrong. But I didn’t have time to fiddle with it. I managed it all through command lines and that has worked perfectly so far. Well sorta, there was an issue installing SQL Server, and only SQL Server, on my Windows VM. This was due to a missing ‘sectorsize=512’ setting on the disk parameter on the bhyve command line. That was only found after A LOT of digging because the SQL Server install didn’t log the error properly. I eventually found out that SQL Server only likes one sector size of disks for the install and my virtual disk geometry was incorrect.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Apps Apps Apps&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I installed Windows 10 on my bhyve VM and I got that all setup with the apps I needed for work. Mostly Office, Visual Studio, and vSphere for managing our server farm. Plus all of the annoying 3rd party VPN software (I’m looking at you Dell and Cisco). Alright, with the Windows VM done, I can now work at work and finish FreeBSD mostly during the nights. I still needed my remote files (I setup an ownCloud instance on a FreeNAS jail at home) so I setup the client. Now, normally on Windows I would come to work and connect to my home network using OpenVPN (again, I have a OpenVPN FreeNAS jail at home) and the ownCloud desktop would be able to handle changing DNS destination IPs Not on FreeBSD (and Linux too?). I ended up just configuring the ownCloud client to just connect to the home LAN IP for the ownCloud server and always connecting the OpenVPN to sync things. It kinda sucks, but at least it works. I left that running at home overnight to get a full sync (~130GB cloud sync, another reason I use it over Google or Microsoft). Once that was done I moved onto the fstab as I had another 1TB SSD in my laptop with other files. I messed around with fstab and my NFS shares to my FreeNAS at home, but took them out as they made the boot time so long when I wasn’t at home. I would only mount them when my OpenVPN connected or manually. I really wanted to install SpaceFM, but it’s only available as a package on Debian and their non-package install script doesn’t work on FreeBSD (packages are named differently). I tried doing it manually, but it was too much work. As my dad was the one who introduced me to it, he still uses it as a use-case for his Debian setup. Instead I kept to the original PCManFM and it works just fine. I also loaded up my Bitcoin and Litecoin wallets and pointed them to the blockchain that I has used on Windows after their sync, they loaded perfectly and my balances were there. I kinda wish there was the Bitcoin-ABC full node Bitcoin Cash wallet package on FreeBSD, but I’m sure it will come out later.&lt;/p&gt;

&lt;p&gt;The rest is essentially just tweaks and making the environment more comfortable for me, and with most programs installed as packages I feel a lot better with upgrades and audit checking (‘pkg audit -F’ is really helpful!). I will always hate Python, actually, I will always hate any app that has it’s own package manager. I do miss the GUI GitHub tool on Windows. It was a really good-looking way to view all of my repos. The last thing (which is increasing it’s priority every time I go to a social media site or YouTube) is fonts. My god I never thought it was such a problem, and UTF support is complicated. If anyone knows how to get all UTF characters to show up, please let me know. I’d really like Wikipedia articles to load perfectly (I followed this post and there are still some missing). There are some extra tweaks I followed here and here.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I successfully migrated from Windows 10 to FreeBSD 11.1 with minimal consequence. Shout out goes to the entire FreeBSD community. So many helpful people in there, and the forums are a great place to find tons of information. Also thanks to the ones who wrote the how-to articles I’ve referenced. I never would have gotten bhyve to work and I’d still probably be messing with my X config without them. I guess my take home from this is to not be afraid to make changes that may change how comfortable I am in an environment. I’m always open to comments and questions, please feel free to make them below. I purposefully didn’t include too many technical things or commands in this article as I wanted to focus on the larger picture of the migration as a whole not the struggles of xorg.conf, but if you would like to see some of the configs or commands I used, let me know and I’ll include some!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.trueos.org/rulesofconduct/" target="_blank" rel="nofollow noopener"&gt;TrueOS Rules of Conduct&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We believe code is truly agnostic and embrace inclusiveness regardless of a person’s individual beliefs. As such we only ask the following when participating in TrueOS public events and digital forums:&lt;br&gt;
Treat each other with respect and professionalism.&lt;br&gt;
Leave personal and TrueOS unrelated conversations to other channels.&lt;br&gt;
In other words, it’s all about the code. Users who feel the above rules have been violated in some way can register a complaint with &lt;a href="mailto:abuse@trueos.org" target="_blank" rel="nofollow noopener"&gt;abuse@trueos.org&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/trueos/status/965994363070353413" target="_blank" rel="nofollow noopener"&gt;Shorter than the BSD License&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/freebsdbytes/status/966567686015782912" target="_blank" rel="nofollow noopener"&gt;Positive response from the community&lt;/a&gt;
I really like the @TrueOS Code of Conduct, unlike some other CoCs. It's short, clear and covers everything.
Most #OpenSource projects are labour of love. Why do you need a something that reads like a legal contract?
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://neomoevius.tumblr.com/post/171108458234/freebsd-the-unknown-giant" target="_blank" rel="nofollow noopener"&gt;FreeBSD: The Unknown Giant&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I decided to write this article as a gratitude for the recent fast answer of the FreeBSD/TrueOS community with my questions and doubts. I am impressed how fast and how they tried to help me about this operating system which I used in the past(2000-2007) but recently in 2017 I began to use it again.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A lot has changed in 10 years
I was looking around the internet, trying to do some research about recent information about FreeBSD and other versions or an easy to use spins like PCBSD (now TrueOS)
I used to be Windows/Mac user for so many years until 2014 when I decided to use Linux as my desktop OS just because I wanted to use something different. I always wanted to use unix or a unix-like operating system, nowadays my main objective is to learn more about  these operating systems (Debian Linux, TrueOS or FreeBSD).
FreeBSD has similarities with Linux, with two major differences in scope and licensing: FreeBSD maintains a complete operating system, i.e. the project delivers kernel, device drivers, userland utilities and documentation, as opposed to Linux delivering a kernel and drivers only and relying on third-parties for system software; and FreeBSD source code is generally released under a permissive BSD license as opposed to the copyleft GPL used by Linux.“
But why do I call FreeBSD “The Unknown Giant”?, because the code base of this operating system has been used by other companies to develop their own operating system for products like computers or also game consoles.&lt;/li&gt;
&lt;li&gt;FreeBSD is used for storage appliances, firewalls, email scanners, network scanners, network security appliances, load balancers, video servers, and more
So many people now will learn that not only “linux is everywhere” but also that “FreeBSD is everywhere too”
By the way speaking about movies, Do you remember the movie “The Matrix”? FreeBSD was used to make the movie: “The photo-realistic surroundings generated by this method were incorporated into the bullet time scene, and linear interpolation filled in any gaps of the still images to produce a fluent dynamic motion; the computer-generated “lead in” and “lead out” slides were filled in between frames in sequence to get an illusion of orbiting the scene. Manex Visual Effects used a cluster farm running the Unix-like operating system FreeBSD to render many of the film’s visual effects”&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/press-rel-1.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Press Release re: The Matrix &lt;/a&gt;
I hope that I gave a good reference, information and now so many people can understand why I am going to use just Debian Linux and FreeBSD(TrueOS) to do so many different stuff (music, 3d animation, video editing and text editing) instead use a Mac or Windows.&lt;/li&gt;
&lt;li&gt;FreeBSD really is the unknown giant.
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://steemit.com/openbsd/@npna/openbsd-and-freedos-vs-the-hell-in-earth" target="_blank" rel="nofollow noopener"&gt;OpenBSD and FreeDOS vs the hell in earth&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Yes sir, yes. Our family, composed until now by OpenBSD, Alpine Linux and Docker is rapidly growing. And yes, sir. Yes. All together we're fighting against your best friends, the infamous, the ugliest, the worst...the dudes called the privacy cannibals. Do you know what i mean, sure?&lt;br&gt;
We're working hard, no matter what time is it, no matter in what part in the world we are, no matter if we've no money. We perfectly know that you cannot do nothing against the true. And we're doing our best to expand our true, our doors are opened to all the good guys, there's a lot here but their brain was fucked by your shit tv, your fake news, your laws, etc etc etc. We're alive, we're here to fight against you.&lt;br&gt;
Tonight, yes it's a Friday night and we're working, we're ready to welcome with open arms an old guy, his experience will give us more power. Welcome to: FreeDOS&lt;/p&gt;

&lt;p&gt;But why we want to build a bootable usb stick with FreeDOS under our strong OpenBSD? The answer is as usual to fight against the privacy cannibals!&lt;br&gt;
More than one decade ago the old BIOS was silently replaced by the more capable and advanced UEFI, this is absolutely normal because of the pass of the years and exponencial grow of the power of our personal computers. UEFI is a complex system, it's like a standalone system operative with direct access to every component of our (yes, it's our not your!) machine. But...wait a moment...do you know how to use it? Do you ever know that it exist? And one more thing, it's secure? The answer to this question is totally insane, no, it's not secure. The idea is good, the company that started in theory is one of the most important in IT, it's Intel.&lt;br&gt;
The history is very large and obviously we're going to go very deep in it, but trust me UEFI and the various friend of him, like ME, TPM are insecure and closed source! Like the hell in earth.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A FreeDOS bootable usb image under OpenBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;But let's start preparing our OpenBSD to put order in this chaos:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;$ mkdir -p freedos/stuff&lt;br&gt;
$ cd freedos/stuff&lt;br&gt;
$ wget &lt;a href="https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdboot.img" target="_blank" rel="nofollow noopener"&gt;https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdboot.img&lt;/a&gt;&lt;br&gt;
$ wget &lt;a href="https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/sys/sys-freedos-linux/sys-freedos-linux.zip" target="_blank" rel="nofollow noopener"&gt;https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/sys/sys-freedos-linux/sys-freedos-linux.zip&lt;/a&gt;&lt;br&gt;
$ wget &lt;a href="https://download.lenovo.com/consumer/desktop/o35jy19usa_y900.exe" target="_blank" rel="nofollow noopener"&gt;https://download.lenovo.com/consumer/desktop/o35jy19usa_y900.exe&lt;/a&gt;&lt;br&gt;
$ wget &lt;a href="http://145.130.102.57/domoticx/software/amiflasher/AFUDOS%20Flasher%205.05.04.7z" target="_blank" rel="nofollow noopener"&gt;http://145.130.102.57/domoticx/software/amiflasher/AFUDOS%20Flasher%205.05.04.7z&lt;/a&gt;&lt;br&gt;
Explanation in clear language as usual: create two directory, download the minimal boot disc image of FreeDOS, download Syslinux assembler MBR bootloaders, download the last Windows only UEFI update from Lenovo and download the relative unknown utility from AMI to flash our motherboard UEFI chipset. Go ahead:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;$ doas pkg_add -U nasm unzip dosfstools cabextract p7zip&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;nasm the Netwide Assembler, a portable 80x86 assembler. &lt;/li&gt;
&lt;li&gt;unzip list, test and extract compressed files in a ZIP archive. &lt;/li&gt;
&lt;li&gt;dosfstoolsa collections of utilities to manipulate MS-DOSfs. &lt;/li&gt;
&lt;li&gt;cabextract program to extract files from cabinet. &lt;/li&gt;
&lt;li&gt;p7zipcollection of utilities to manipulate 7zip archives.&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;$ mkdir sys-freedos-linux &amp;amp;&amp;amp; cd sys-freedos-linux
$ unzip ../sys-freedos-linux.zip
$ cd ~/freedos &amp;amp;&amp;amp; mkdir old new
$ dd if=/dev/null of=freedos.img bs=1024 seek=20480
$ mkfs.fat freedos.img
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Create another working directory, cd into it, unzip the archive that we've downloaded, return to the working root and create another twos directories. dd is one of the most important utilities in the unix world to manipulate at byte level input and output:&lt;/p&gt;

&lt;p&gt;The dd utility copies the standard input to the standard output, applying any specified conversions. Input data is read and written in 512-byte blocks. If input reads are short, input from multiple reads are aggregated to form the output block. When finished, dd displays the number of complete and partial input and output blocks and truncated input records to the standard error output.&lt;/p&gt;

&lt;p&gt;We're creating here a virtual disk with bs=1024 we're setting both input and output block to 1024bytes; with seek=20480 we require 20480bytes. This is the result:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;-rw-r--r-- 1 taglio taglio 20971520 Feb 3 00:11 freedos.img.&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Next we format the virtual disk using the MS-DOS filesystem. Go ahead:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;$ doas su
$ perl stuff/sys-freedos-linux/sys-freedos.pl --disk=freedos.img
$ vnconfig vnd0 stuff/fdboot.img
$ vnconfig vnd1 freedos.img
$ mount -t msdos /dev/vnd0c old/
$ mount -t msdos /dev/vnd1c new/
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;We use the perl utility from syslinux to write the MBR of our virtual disk freedos.img. Next we create to loop virtual node using the OpenBSD utility vnconfig. Take care here because it is quite different from Linux, but as usual is clear and simple. The virtual nodes are associated to the downloaded fdboot.img and the newly created freedos.img. Next we mount the two virtual nodes cpartitions; in OpenBSD cpartition describes the entire physical disk. Quite different from Linux, take care.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;$ cp -R old/* new/
$ cd stuff
$ mkdir o35jy19usa
$ cabextract -d o35jy19usa o35jy19usa_y900.exe
$ doas su
$ cp o35jy19usa/ ../new/
$ mkdir afudos &amp;amp;&amp;amp; cd afudos
$ 7z e ../AFUDOS*
$ doas su
$ cp AFUDOS.exe ../../new/
$ umount ~/freedos/old/ &amp;amp;&amp;amp; umount ~/freedos/new/
$ vnconfig -u vnd1 &amp;amp;&amp;amp; vnconfig -u vnd0
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Copy all files and directories in the new virtual node partition, extract the Lenovo cabinet in a new directory, copy the result in our new image, extract the afudos utility and like the others copy it. Umount the partitions and destroy the loop vnode.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.geeklan.co.uk/files/fosdem2018-retro" target="_blank" rel="nofollow noopener"&gt;NetBSD - A modern operating system for your retro battlestation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/pvaneynd/status/960181163578019840/photo/1" target="_blank" rel="nofollow noopener"&gt;FOSDEM OS distribution&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=151268831628549" target="_blank" rel="nofollow noopener"&gt;Update on two pledge-related changes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-cvs&amp;amp;m=151304116010721&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;*execpromises&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.geeklan.co.uk/files/fosdem2018-bsd/" target="_blank" rel="nofollow noopener"&gt;Slides for (BSD from scratch - from source to OS with ease on NetBSD)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.crashed.org/goodbye-lastpass/" target="_blank" rel="nofollow noopener"&gt;Goobyte LastPass: You're fired! &lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Scott - &lt;a href="http://dpaste.com/22Z8C6Z#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS Mirror with SLOG&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Troels - &lt;a href="http://dpaste.com/3X2R1BV#wrap" target="_blank" rel="nofollow noopener"&gt;Question about compressed ARC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jeff - &lt;a href="http://dpaste.com/2BQ9HFB#wrap" target="_blank" rel="nofollow noopener"&gt;FreeBSD Desktop DNS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jonathon - &lt;a href="http://dpaste.com/0TTT0DB#wrap" target="_blank" rel="nofollow noopener"&gt;Bhyve and gpu passthrough&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>How the term open source was created, running FreeBSD on ThinkPad T530, Moving away from Windows, Unknown Giants, as well as OpenBSD and FreeDOS.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://opensource.com/article/18/2/coining-term-open-source-software" target="_blank" rel="nofollow noopener">How I coined the term 'open source'</a></h3>

<blockquote>
<p>In a few days, on February 3, the 20th anniversary of the introduction of the term "open source software" is upon us. As open source software grows in popularity and powers some of the most robust and important innovations of our time, we reflect on its rise to prominence.</p>

<p>I am the originator of the term "open source software" and came up with it while executive director at Foresight Institute. Not a software developer like the rest, I thank Linux programmer Todd Anderson for supporting the term and proposing it to the group.</p>

<p>This is my account of how I came up with it, how it was proposed, and the subsequent reactions. Of course, there are a number of accounts of the coining of the term, for example by Eric Raymond and Richard Stallman, yet this is mine, written on January 2, 2006.</p>

<p>It has never been published, until today.</p>

<p>The introduction of the term "open source software" was a deliberate effort to make this field of endeavor more understandable to newcomers and to business, which was viewed as necessary to its spread to a broader community of users. The problem with the main earlier label, "free software," was not its political connotations, but that—to newcomers—its seeming focus on price is distracting. A term was needed that focuses on the key issue of source code and that does not immediately confuse those new to the concept. The first term that came along at the right time and fulfilled these requirements was rapidly adopted: open source.</p>

<p>This term had long been used in an "intelligence" (i.e., spying) context, but to my knowledge, use of the term with respect to software prior to 1998 has not been confirmed. The account below describes how the term open source software caught on and became the name of both an industry and a movement.</p>
</blockquote>

<ul>
<li>Meetings on computer security</li>
</ul>

<blockquote>
<p>In late 1997, weekly meetings were being held at Foresight Institute to discuss computer security. Foresight is a nonprofit think tank focused on nanotechnology and artificial intelligence, and software security is regarded as central to the reliability and security of both. We had identified free software as a promising approach to improving software security and reliability and were looking for ways to promote it. Interest in free software was starting to grow outside the programming community, and it was increasingly clear that an opportunity was coming to change the world. However, just how to do this was unclear, and we were groping for strategies.</p>

<p>At these meetings, we discussed the need for a new term due to the confusion factor. The argument was as follows: those new to the term "free software" assume it is referring to the price. Oldtimers must then launch into an explanation, usually given as follows: "We mean free as in freedom, not free as in beer." At this point, a discussion on software has turned into one about the price of an alcoholic beverage. The problem was not that explaining the meaning is impossible—the problem was that the name for an important idea should not be so confusing to newcomers. A clearer term was needed. No political issues were raised regarding the free software term; the issue was its lack of clarity to those new to the concept.</p>
</blockquote>

<ul>
<li>Releasing Netscape</li>
</ul>

<blockquote>
<p>On February 2, 1998, Eric Raymond arrived on a visit to work with Netscape on the plan to release the browser code under a free-software-style license. We held a meeting that night at Foresight's office in Los Altos to strategize and refine our message. In addition to Eric and me, active participants included Brian Behlendorf, Michael Tiemann, Todd Anderson, Mark S. Miller, and Ka-Ping Yee. But at that meeting, the field was still described as free software or, by Brian, "source code available" software.</p>

<p>While in town, Eric used Foresight as a base of operations. At one point during his visit, he was called to the phone to talk with a couple of Netscape legal and/or marketing staff. When he was finished, I asked to be put on the phone with them—one man and one woman, perhaps Mitchell Baker—so I could bring up the need for a new term. They agreed in principle immediately, but no specific term was agreed upon.</p>

<p>Between meetings that week, I was still focused on the need for a better name and came up with the term "open source software." While not ideal, it struck me as good enough. I ran it by at least four others: Eric Drexler, Mark Miller, and Todd Anderson liked it, while a friend in marketing and public relations felt the term "open" had been overused and abused and believed we could do better. He was right in theory; however, I didn't have a better idea, so I thought I would try to go ahead and introduce it. In hindsight, I should have simply proposed it to Eric Raymond, but I didn't know him well at the time, so I took an indirect strategy instead.</p>

<p>Todd had agreed strongly about the need for a new term and offered to assist in getting the term introduced. This was helpful because, as a non-programmer, my influence within the free software community was weak. My work in nanotechnology education at Foresight was a plus, but not enough for me to be taken very seriously on free software questions. As a Linux programmer, Todd would be listened to more closely.</p>
</blockquote>

<ul>
<li>The key meeting</li>
</ul>

<blockquote>
<p>Later that week, on February 5, 1998, a group was assembled at VA Research to brainstorm on strategy. Attending—in addition to Eric Raymond, Todd, and me—were Larry Augustin, Sam Ockman, and attending by phone, Jon "maddog" Hall.</p>

<p>The primary topic was promotion strategy, especially which companies to approach. I said little, but was looking for an opportunity to introduce the proposed term. I felt that it wouldn't work for me to just blurt out, "All you technical people should start using my new term." Most of those attending didn't know me, and for all I knew, they might not even agree that a new term was greatly needed, or even somewhat desirable.</p>

<p>Fortunately, Todd was on the ball. Instead of making an assertion that the community should use this specific new term, he did something less directive—a smart thing to do with this community of strong-willed individuals. He simply used the term in a sentence on another topic—just dropped it into the conversation to see what happened. I went on alert, hoping for a response, but there was none at first. The discussion continued on the original topic. It seemed only he and I had noticed the usage.</p>

<p>Not so—memetic evolution was in action. A few minutes later, one of the others used the term, evidently without noticing, still discussing a topic other than terminology. Todd and I looked at each other out of the corners of our eyes to check: yes, we had both noticed what happened. I was excited—it might work! But I kept quiet: I still had low status in this group. Probably some were wondering why Eric had invited me at all.</p>

<p>Toward the end of the meeting, the question of terminology was brought up explicitly, probably by Todd or Eric. Maddog mentioned "freely distributable" as an earlier term, and "cooperatively developed" as a newer term. Eric listed "free software," "open source," and "sourceware" as the main options. Todd advocated the "open source" model, and Eric endorsed this. I didn't say much, letting Todd and Eric pull the (loose, informal) consensus together around the open source name. It was clear that to most of those at the meeting, the name change was not the most important thing discussed there; a relatively minor issue. Only about 10% of my notes from this meeting are on the terminology question.</p>

<p>But I was elated. These were some key leaders in the community, and they liked the new name, or at least didn't object. This was a very good sign. There was probably not much more I could do to help; Eric Raymond was far better positioned to spread the new meme, and he did. Bruce Perens signed on to the effort immediately, helping set up Opensource.org and playing a key role in spreading the new term.</p>

<p>For the name to succeed, it was necessary, or at least highly desirable, that Tim O'Reilly agree and actively use it in his many projects on behalf of the community. Also helpful would be use of the term in the upcoming official release of the Netscape Navigator code. By late February, both O'Reilly &amp; Associates and Netscape had started to use the term.</p>
</blockquote>

<ul>
<li>Getting the name out</li>
</ul>

<blockquote>
<p>After this, there was a period during which the term was promoted by Eric Raymond to the media, by Tim O'Reilly to business, and by both to the programming community. It seemed to spread very quickly.</p>

<p>On April 7, 1998, Tim O'Reilly held a meeting of key leaders in the field. Announced in advance as the first "Freeware Summit," by April 14 it was referred to as the first "Open Source Summit."</p>

<p>These months were extremely exciting for open source. Every week, it seemed, a new company announced plans to participate. Reading Slashdot became a necessity, even for those like me who were only peripherally involved. I strongly believe that the new term was helpful in enabling this rapid spread into business, which then enabled wider use by the public.</p>

<p>A quick Google search indicates that "open source" appears more often than "free software," but there still is substantial use of the free software term, which remains useful and should be included when communicating with audiences who prefer it.</p>
</blockquote>

<ul>
<li>A happy twinge</li>
</ul>

<blockquote>
<p>When an early account of the terminology change written by Eric Raymond was posted on the Open Source Initiative website, I was listed as being at the VA brainstorming meeting, but not as the originator of the term. This was my own fault; I had neglected to tell Eric the details. My impulse was to let it pass and stay in the background, but Todd felt otherwise. He suggested to me that one day I would be glad to be known as the person who coined the name "open source software." He explained the situation to Eric, who promptly updated his site.</p>

<p>Coming up with a phrase is a small contribution, but I admit to being grateful to those who remember to credit me with it. Every time I hear it, which is very often now, it gives me a little happy twinge.</p>

<p>The big credit for persuading the community goes to Eric Raymond and Tim O'Reilly, who made it happen. Thanks to them for crediting me, and to Todd Anderson for his role throughout. The above is not a complete account of open source history; apologies to the many key players whose names do not appear. Those seeking a more complete account should refer to the links in this article and elsewhere on the net.</p>
</blockquote>

<hr>

<h3><a href="https://www.c0ffee.net/blog/freebsd-on-a-laptop" target="_blank" rel="nofollow noopener">FreeBSD on a Laptop - A guide to a fully functional installation of FreeBSD on a ThinkPad T530</a></h3>

<blockquote>
<p>As I stated my previous post, I recently dug up my old ThinkPad T530 after the embarrassing stream of OS X security bugs this month. Although this ThinkPad ran Gentoo faithfully during my time in graduate school at Clemson, these days I'd much rather spend time my wife and baby than fighting with emerge and USE flags. FreeBSD has always been my OS of choice, and laptop support seems to be much better than it was a few years ago. In this guide, I'll show you the tweaks I made to wrestle FreeBSD into a decent experience on a laptop.</p>

<p>Unlike my usual posts, this time I'm going to assume you're already pretty familiar with FreeBSD. If you're a layman looking for your first BSD-based desktop, I highly recommend checking out TrueOS (previously PC-BSD): they've basically taken FreeBSD and packaged it with all the latest drivers, along with a user-friendly installer and custom desktop environment out of the box. TrueOS is an awesome project–the only reason I don't use it is because I'm old, grumpy, and persnickety about having my operating system just so.</p>

<p>Anyway, if you'd still like to take the plunge, read on. Keep in mind, I'm using a ThinkPad T530, but other ThinkPads of the same generation should be similarly compatible.</p>
</blockquote>

<ul>
<li><p>Here's what you'll get:</p>

<ul>
<li>Decent battery life (8-9 hours with a new 9-cell battery)</li>
<li>UEFI boot and full-disk encryption</li>
<li>WiFi (Intel Ultimate-N 6300)</li>
<li>Ethernet (Intel PRO/1000)</li>
<li>Screen brightness adjustment</li>
<li>Suspend/Resume on lid close (make sure to disable TPM in BIOS)</li>
<li>Audio (Realtek ALC269 HDA, speakers and headphone jack)</li>
<li>Keyboard multimedia buttons</li>
<li>Touchpad/Trackpoint</li>
<li>Graphics Acceleration (with integrated Intel graphics, NVIDIA card disabled in BIOS)</li>
</ul></li>
<li><p>What I haven't tested yet:</p>

<ul>
<li>Bluetooth</li>
<li>Webcam</li>
<li>Fingerprint reader</li>
<li>SD Card slot</li>
</ul></li>
<li><p>Installation</p></li>
<li><p>Power Saving</p></li>
<li><p>Tweaks for Desktop Use</p></li>
<li><p>X11</p></li>
<li><p>Fonts</p></li>
<li><p>Login Manager: SLiM</p></li>
<li><p>Desktop Environment: i3</p></li>
<li><p>Applications</p></li>
</ul>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/the_llvm_sanitizers_stage_accomplished" target="_blank" rel="nofollow noopener">The LLVM Sanitizers stage accomplished</a></h3>

<blockquote>
<p>I've managed to get the Memory Sanitizer to work for the elementary base system utilities, like ps(1), awk(1) and ksh(1). This means that the toolchain is ready for tests and improvements. I've iterated over the basesystem utilities and I looked for bugs, both in programs and in sanitizers. The number of detected bugs in the userland programs was low, there merely was one reading of an uninitialized variable in ps(1).</p>
</blockquote>

<ul>
<li>A prebuilt LLVM toolchain</li>
</ul>

<blockquote>
<p>I've prepared a prebuilt toolchain with Clang, LLVM, LLDB and compiler-rt for NetBSD/amd64. I prepared the toolchain on 8.99.12, however I have received reports that it works on other older releases. Link: llvm-clang-compilerrt-lldb-7.0.0beta_2018-01-24.tar.bz2</p>

<p>The archive has to be untarballed to /usr/local (however it might work to some extent in other paths).</p>

<p>This toolchain contains a prebuilt tree of the LLVM projects from a snapshot of 7.0.0(svn). It is a pristine snapshot of HEAD with patches from pkgsrc-wip for llvm, clang, compiler-rt and lldb.</p>
</blockquote>

<ul>
<li>Sanitizers

<ul>
<li>Notable changes in sanitizers, all of them are in the context of NetBSD support.</li>
</ul></li>
</ul>

<pre><code>Added fstat(2) MSan interceptor.
Support for kvm(3) interceptors in the common sanitizer code.
Added devname(3) and devname_r(3) interceptors to the common sanitizer code.
Added sysctl(3) familty of functions interceptors in the common sanitizer code.
Added strlcpy(3)/strlcat(3) interceptors in the common sanitizer code.
Added getgrouplist(3)/getgroupmembership(3) interceptors in the common sanitizer code.
Correct ctype(3) interceptors in a code using Native Language Support.
Correct tzset(3) interceptor in MSan.
Correct localtime(3) interceptor in the common sanitizer code.
Added paccept(2) interceptor to the common sanitizer code.
Added access(2) and faccessat(2) interceptors to the common sanitizer code.
Added acct(2) interceptor to the common sanitizer code.
Added accept4(2) interceptor to the common sanitizer code.
Added fgetln(3) interceptor to the common sanitizer code.
Added interceptors for the pwcache(3)-style functions in the common sanitizer code.
Added interceptors for the getprotoent(3)-style functions in the common sanitizer code.
Added interceptors for the getnetent(3)-style functions in the common sanitizer code.
Added interceptors for the fts(3)-style functions in the common sanitizer code.
Added lstat(3) interceptor in MSan.
Added strftime(3) interceptor in the common sanitizer code.
Added strmode(3) interceptor in the common sanitizer code.
Added interceptors for the regex(3)-style functions in the common sanitizer code.
Disabled unwanted interceptor __sigsetjmp in TSan.
</code></pre>

<ul>
<li>Base system changes</li>
</ul>

<blockquote>
<p>I've tidied up inclusion of the internal namespace.h header in libc. This has hidden the usage of public global symbol names of:</p>
</blockquote>

<pre><code>strlcat -&gt; _strlcat
sysconf -&gt; __sysconf
closedir -&gt; _closedir
fparseln -&gt; _fparseln
kill -&gt; _kill
mkstemp -&gt; _mkstemp
reallocarr -&gt; _reallocarr
strcasecmp -&gt; _strcasecmp
strncasecmp -&gt; _strncasecmp
strptime -&gt; _strptime
strtok_r -&gt; _strtok_r
sysctl -&gt; _sysctl
dlopen -&gt; __dlopen
dlclose -&gt; __dlclose
dlsym -&gt; __dlsym
strlcpy -&gt; _strlcpy
fdopen -&gt; _fdopen
mmap -&gt; _mmap
strdup -&gt; _strdup
</code></pre>

<blockquote>
<p>The purpose of these changes was to stop triggering interceptors recursively. Such interceptors lead to sanitization of internals of unprepared (not recompiled with sanitizers) prebuilt code. It's not trivial to sanitize libc's internals and the sanitizers are not designed to do so. This means that they are not a full replacement of Valgrind-like software, but a a supplement in the developer toolbox. Valgrind translates native code to a bytecode virtual machine, while sanitizers are designed to work with interceptors inside the pristine elementary libraries (libc, libm, librt, libpthread) and embed functionality into the executable's code.</p>

<p>I've also reverted the vadvise(2) syscall removal, from the previous month. This caused a regression in legacy code recompiled against still supported compat layers. Newly compiled code will use a libc's stub of vadvise(2).</p>

<p>I've also prepared a patch installing dedicated headers for sanitizers along with the base system GCC. It's still discussed and should land the sources soon.</p>
</blockquote>

<ul>
<li>Future directions and goals

<ul>
<li>Possible paths in random order:</li>
<li>In the quartet of UBSan (Undefined Behavior Sanitizer), ASan (Address Sanitizer), TSan (Thread Sanitizer), MSan (Memory Sanitizer) we need to add the fifth basic sanitizer: LSan (Leak Sanitizer). The Leak Sanitizer (detector of memory leaks) demands a stable ptrace(2) interface for processes with multiple threads (unless we want to build a custom kernel interface).</li>
<li>Integrate the sanitizers with the userland framework in order to ship with the native toolchain to users.</li>
<li>Port sanitizers from LLVM to GCC.</li>
<li>Allow to sanitize programs linked against userland libraries other than libc, librt, libm and libpthread; by a global option (like MKSANITIZER) producing a userland that is partially prebuilt with a desired sanitizer. This is required to run e.g. MSanitized programs against editline(3). So far, there is no Operating System distribution in existence with a native integration with sanitizers. There are 3rd party scripts for certain OSes to build a stack of software dependencies in order to validate a piece of software.</li>
<li>Execute ATF tests with the userland rebuilt with supported flavors of sanitizers and catch regressions.</li>
<li>Finish porting of modern linkers designed for large C++ software, such as GNU GOLD and LLVM LLD. Today the bottleneck with building the LLVM toolchain is a suboptimal linker GNU ld(1).</li>
</ul></li>
</ul>

<blockquote>
<p>I've decided to not open new battlefields and return now to porting LLDB and fixing ptrace(2).</p>
</blockquote>

<ul>
<li>Plan for the next milestone

<ul>
<li>Keep upstreaming a pile of local compiler-rt patches.</li>
<li>Restore the LLDB support for traced programs with a single thread.</li>
</ul></li>
</ul>

<hr>

<h2>Interview - Goran Mekic - <a href="mailto:meka@tilda.center" target="_blank" rel="nofollow noopener">meka@tilda.center</a> / <a href="https://twitter.com/meka_floss" target="_blank" rel="nofollow noopener">@meka_floss</a></h2>

<ul>
<li><a href="https://bsdstore.ru" target="_blank" rel="nofollow noopener">CBSD website</a> Jail and VM Manager
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://www.manios.ca/blog/2018/01/finally-moving-away-from-windows/" target="_blank" rel="nofollow noopener">Finally Moving Away From Windows</a></h3>

<ul>
<li>Broken Window</li>
</ul>

<blockquote>
<p>Thanks to a combination of some really impressive malware, bad clicking, and poor website choices, I had to blow away my Windows 10 installation. Not that it was Window’s fault, but a piece of malware had infected my computer when I tried to download a long lost driver for an even longer lost RAID card for a server. A word of advice – the download you’re looking for is never on an ad-infested forum in another language. In any case, I had been meaning to switch away from Windows soon. I didn’t have my entire plan ready, but now was as good a time as any.</p>

<p>My line of work requires me to maintain some form of Windows installation, so I decided to keep it in a VM rather than dual booting as I was developing code and not running any high-end visual stuff like games. My first thought was to install Arch or Gentoo Linux, but the last time I attempted a Gentoo installation it left me bootless. Not that there is anything wrong with Gentoo, it was probably my fault, but I like the idea of some sort of installer so I looked at rock-solid Debian. My dad had installed Debian on his sweet new cutting-edge Lenovo laptop he received recently from work. He often raves about his cool scripts and much more effective customized experience, but often complains about his hybrid GPU support as he has an Intel/Nvidia hybrid display adapter (he has finally resolved it and now boasts his 6 connected displays).</p>

<p>I didn’t want to install Windows again, but something didn’t feel right about installing some flavour of Linux. Back at home I have a small collection of FreeBSD servers running in all sorts of jails and other physical hardware, with the exception of one Debian server which I had the hardest time dealing with (it would be FreeBSD too if 802.11ac support was there as it is acting as my WiFi/gateway/IDS/IPS). I loved my FreeBSD servers, and yes I will write posts about each one soon enough. I wanted that cleanliness and familiarity on my desktop as well (I really love the ports collection!). It’s settled – I will run FreeBSD on my laptop. This also created a new rivalry with my father, which is not a bad thing either.</p>
</blockquote>

<ul>
<li>Playing Devil’s Advocate</li>
</ul>

<blockquote>
<p>The first thing I needed to do was backup my Windows data. This was easy enough, just run a Windows Image Backup and it will- wait, what? Why isn’t this working? I didn’t want to fiddle with this too long because I didn’t actually need an image just the data. I ended up just copying over the files to an external hard disk. Once that was done, I downloaded and verified the latest FreeBSD 11.1 RELEASE memstick image and flashed it to my trusty 8GB Verbatim USB stick. I’ve had this thing since 2007, it works great for being my re-writable “CD”. I booted it up and started the installation. I knew this installer pretty well as I had test-installed FreeBSD and OpenBSD in VMs when I was researching a Unix style replacement OS last year. In any case, I left most of the defaults (I didn’t want to play with custom kernels right now) and I selected all packages. This downloaded them from the FreeBSD FTP server as I only had the memstick image. The installer finished and I was off to my first boot. Great! so far so good. FreeBSD loaded up and I did a ‘pkg upgrade’ just to make sure that everything was up to date.</p>

<p>Alright, time to get down to business. I needed nano. I just can’t use vi, or just not yet. I don’t care about being a vi-wizard, that’s just too much effort for me. Anyway, just a ‘pkg install nano’ and I had my editor. Next was obvious, I needed x11. XFCE was common, and there were plenty of tutorials out there. I wont bore you with those details, but it went something like ‘pkg install xfce’ and I got all the dependencies. Don’t forget to install SLiM to make it seamless. There are some configs in the .login I think. SLiM needs to be called once the boot drops you to the login so that you get SLiM’s nice GUI login instead of the CLI login screen. Then SLiM passes you off to XFCE. I think I followed this and this. Awesome. Now that x11 is working, it’s time to get all of my apps from Windows. Obviously, I can’t get everything (ie. Visual Studio, Office). But in my Windows installation, I had chosen many open-source or cross-compiled apps as they either worked better or so that I was ready to move away from Windows at a moments notice. ‘pkg install firefox thunderbird hexchat pidgin gpa keepass owncloud-client transmission-qt5 veracrypt openvpn’ were some immediate picks. There are a lot more that I downloaded later, but these are a few I use everyday. My laptop also has the same hybrid display adapter config that my dad’s has, but I chose to only run Intel graphics, so dual screens are no problem for me. I’ll add Nvidia support later, but it’s not a priority.</p>

<p>After I had imported my private keys and loaded my firefox and thunderbird settings, I wanted to get my Windows VM running right away as I was burning productive days at work fiddling with this. I had only two virtualisation options; qemu/kvm and bhyve. qemu/kvm wasn’t available in pkg, and looked real dirty to compile, from FreeBSD’s point of view. My dad is using qemu/kvm with virt-manager to manage all of his Windows/Unix VMs alike. I wanted that experience, but I also wanted packages that could be updated and I didn’t want to mess up a compile. bhyve was a better choice. It was built-in, it was more compatible with Windows (from what I read), and this is a great step-by-step article for Windows 10 on FreeBSD 11 bhyve! I had already tried to get virt-manager to work with bhyve with no luck. I don’t think libvirt connects with bhyve completely, or maybe my config is wrong. But I didn’t have time to fiddle with it. I managed it all through command lines and that has worked perfectly so far. Well sorta, there was an issue installing SQL Server, and only SQL Server, on my Windows VM. This was due to a missing ‘sectorsize=512’ setting on the disk parameter on the bhyve command line. That was only found after A LOT of digging because the SQL Server install didn’t log the error properly. I eventually found out that SQL Server only likes one sector size of disks for the install and my virtual disk geometry was incorrect.</p>
</blockquote>

<ul>
<li>Apps Apps Apps</li>
</ul>

<blockquote>
<p>I installed Windows 10 on my bhyve VM and I got that all setup with the apps I needed for work. Mostly Office, Visual Studio, and vSphere for managing our server farm. Plus all of the annoying 3rd party VPN software (I’m looking at you Dell and Cisco). Alright, with the Windows VM done, I can now work at work and finish FreeBSD mostly during the nights. I still needed my remote files (I setup an ownCloud instance on a FreeNAS jail at home) so I setup the client. Now, normally on Windows I would come to work and connect to my home network using OpenVPN (again, I have a OpenVPN FreeNAS jail at home) and the ownCloud desktop would be able to handle changing DNS destination IPs Not on FreeBSD (and Linux too?). I ended up just configuring the ownCloud client to just connect to the home LAN IP for the ownCloud server and always connecting the OpenVPN to sync things. It kinda sucks, but at least it works. I left that running at home overnight to get a full sync (~130GB cloud sync, another reason I use it over Google or Microsoft). Once that was done I moved onto the fstab as I had another 1TB SSD in my laptop with other files. I messed around with fstab and my NFS shares to my FreeNAS at home, but took them out as they made the boot time so long when I wasn’t at home. I would only mount them when my OpenVPN connected or manually. I really wanted to install SpaceFM, but it’s only available as a package on Debian and their non-package install script doesn’t work on FreeBSD (packages are named differently). I tried doing it manually, but it was too much work. As my dad was the one who introduced me to it, he still uses it as a use-case for his Debian setup. Instead I kept to the original PCManFM and it works just fine. I also loaded up my Bitcoin and Litecoin wallets and pointed them to the blockchain that I has used on Windows after their sync, they loaded perfectly and my balances were there. I kinda wish there was the Bitcoin-ABC full node Bitcoin Cash wallet package on FreeBSD, but I’m sure it will come out later.</p>

<p>The rest is essentially just tweaks and making the environment more comfortable for me, and with most programs installed as packages I feel a lot better with upgrades and audit checking (‘pkg audit -F’ is really helpful!). I will always hate Python, actually, I will always hate any app that has it’s own package manager. I do miss the GUI GitHub tool on Windows. It was a really good-looking way to view all of my repos. The last thing (which is increasing it’s priority every time I go to a social media site or YouTube) is fonts. My god I never thought it was such a problem, and UTF support is complicated. If anyone knows how to get all UTF characters to show up, please let me know. I’d really like Wikipedia articles to load perfectly (I followed this post and there are still some missing). There are some extra tweaks I followed here and here.</p>
</blockquote>

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

<blockquote>
<p>I successfully migrated from Windows 10 to FreeBSD 11.1 with minimal consequence. Shout out goes to the entire FreeBSD community. So many helpful people in there, and the forums are a great place to find tons of information. Also thanks to the ones who wrote the how-to articles I’ve referenced. I never would have gotten bhyve to work and I’d still probably be messing with my X config without them. I guess my take home from this is to not be afraid to make changes that may change how comfortable I am in an environment. I’m always open to comments and questions, please feel free to make them below. I purposefully didn’t include too many technical things or commands in this article as I wanted to focus on the larger picture of the migration as a whole not the struggles of xorg.conf, but if you would like to see some of the configs or commands I used, let me know and I’ll include some!</p>
</blockquote>

<hr>

<h3><a href="https://www.trueos.org/rulesofconduct/" target="_blank" rel="nofollow noopener">TrueOS Rules of Conduct</a></h3>

<blockquote>
<p>We believe code is truly agnostic and embrace inclusiveness regardless of a person’s individual beliefs. As such we only ask the following when participating in TrueOS public events and digital forums:<br>
Treat each other with respect and professionalism.<br>
Leave personal and TrueOS unrelated conversations to other channels.<br>
In other words, it’s all about the code. Users who feel the above rules have been violated in some way can register a complaint with <a href="mailto:abuse@trueos.org" target="_blank" rel="nofollow noopener">abuse@trueos.org</a></p>

<ul>
<li><a href="https://twitter.com/trueos/status/965994363070353413" target="_blank" rel="nofollow noopener">Shorter than the BSD License</a></li>
<li><a href="https://twitter.com/freebsdbytes/status/966567686015782912" target="_blank" rel="nofollow noopener">Positive response from the community</a>
I really like the @TrueOS Code of Conduct, unlike some other CoCs. It's short, clear and covers everything.
Most #OpenSource projects are labour of love. Why do you need a something that reads like a legal contract?
***</li>
</ul>
</blockquote>

<h3><a href="https://neomoevius.tumblr.com/post/171108458234/freebsd-the-unknown-giant" target="_blank" rel="nofollow noopener">FreeBSD: The Unknown Giant</a></h3>

<blockquote>
<p>I decided to write this article as a gratitude for the recent fast answer of the FreeBSD/TrueOS community with my questions and doubts. I am impressed how fast and how they tried to help me about this operating system which I used in the past(2000-2007) but recently in 2017 I began to use it again.</p>

<ul>
<li>A lot has changed in 10 years
I was looking around the internet, trying to do some research about recent information about FreeBSD and other versions or an easy to use spins like PCBSD (now TrueOS)
I used to be Windows/Mac user for so many years until 2014 when I decided to use Linux as my desktop OS just because I wanted to use something different. I always wanted to use unix or a unix-like operating system, nowadays my main objective is to learn more about  these operating systems (Debian Linux, TrueOS or FreeBSD).
FreeBSD has similarities with Linux, with two major differences in scope and licensing: FreeBSD maintains a complete operating system, i.e. the project delivers kernel, device drivers, userland utilities and documentation, as opposed to Linux delivering a kernel and drivers only and relying on third-parties for system software; and FreeBSD source code is generally released under a permissive BSD license as opposed to the copyleft GPL used by Linux.“
But why do I call FreeBSD “The Unknown Giant”?, because the code base of this operating system has been used by other companies to develop their own operating system for products like computers or also game consoles.</li>
<li>FreeBSD is used for storage appliances, firewalls, email scanners, network scanners, network security appliances, load balancers, video servers, and more
So many people now will learn that not only “linux is everywhere” but also that “FreeBSD is everywhere too”
By the way speaking about movies, Do you remember the movie “The Matrix”? FreeBSD was used to make the movie: “The photo-realistic surroundings generated by this method were incorporated into the bullet time scene, and linear interpolation filled in any gaps of the still images to produce a fluent dynamic motion; the computer-generated “lead in” and “lead out” slides were filled in between frames in sequence to get an illusion of orbiting the scene. Manex Visual Effects used a cluster farm running the Unix-like operating system FreeBSD to render many of the film’s visual effects”</li>
<li><a href="https://www.freebsd.org/news/press-rel-1.html" target="_blank" rel="nofollow noopener">FreeBSD Press Release re: The Matrix </a>
I hope that I gave a good reference, information and now so many people can understand why I am going to use just Debian Linux and FreeBSD(TrueOS) to do so many different stuff (music, 3d animation, video editing and text editing) instead use a Mac or Windows.</li>
<li>FreeBSD really is the unknown giant.
***</li>
</ul>
</blockquote>

<h3><a href="https://steemit.com/openbsd/@npna/openbsd-and-freedos-vs-the-hell-in-earth" target="_blank" rel="nofollow noopener">OpenBSD and FreeDOS vs the hell in earth</a></h3>

<blockquote>
<p>Yes sir, yes. Our family, composed until now by OpenBSD, Alpine Linux and Docker is rapidly growing. And yes, sir. Yes. All together we're fighting against your best friends, the infamous, the ugliest, the worst...the dudes called the privacy cannibals. Do you know what i mean, sure?<br>
We're working hard, no matter what time is it, no matter in what part in the world we are, no matter if we've no money. We perfectly know that you cannot do nothing against the true. And we're doing our best to expand our true, our doors are opened to all the good guys, there's a lot here but their brain was fucked by your shit tv, your fake news, your laws, etc etc etc. We're alive, we're here to fight against you.<br>
Tonight, yes it's a Friday night and we're working, we're ready to welcome with open arms an old guy, his experience will give us more power. Welcome to: FreeDOS</p>

<p>But why we want to build a bootable usb stick with FreeDOS under our strong OpenBSD? The answer is as usual to fight against the privacy cannibals!<br>
More than one decade ago the old BIOS was silently replaced by the more capable and advanced UEFI, this is absolutely normal because of the pass of the years and exponencial grow of the power of our personal computers. UEFI is a complex system, it's like a standalone system operative with direct access to every component of our (yes, it's our not your!) machine. But...wait a moment...do you know how to use it? Do you ever know that it exist? And one more thing, it's secure? The answer to this question is totally insane, no, it's not secure. The idea is good, the company that started in theory is one of the most important in IT, it's Intel.<br>
The history is very large and obviously we're going to go very deep in it, but trust me UEFI and the various friend of him, like ME, TPM are insecure and closed source! Like the hell in earth.</p>
</blockquote>

<ul>
<li>A FreeDOS bootable usb image under OpenBSD</li>
</ul>

<blockquote>
<p>But let's start preparing our OpenBSD to put order in this chaos:</p>
</blockquote>

<p>$ mkdir -p freedos/stuff<br>
$ cd freedos/stuff<br>
$ wget <a href="https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdboot.img" target="_blank" rel="nofollow noopener">https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdboot.img</a><br>
$ wget <a href="https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/sys/sys-freedos-linux/sys-freedos-linux.zip" target="_blank" rel="nofollow noopener">https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/sys/sys-freedos-linux/sys-freedos-linux.zip</a><br>
$ wget <a href="https://download.lenovo.com/consumer/desktop/o35jy19usa_y900.exe" target="_blank" rel="nofollow noopener">https://download.lenovo.com/consumer/desktop/o35jy19usa_y900.exe</a><br>
$ wget <a href="http://145.130.102.57/domoticx/software/amiflasher/AFUDOS%20Flasher%205.05.04.7z" target="_blank" rel="nofollow noopener">http://145.130.102.57/domoticx/software/amiflasher/AFUDOS%20Flasher%205.05.04.7z</a><br>
Explanation in clear language as usual: create two directory, download the minimal boot disc image of FreeDOS, download Syslinux assembler MBR bootloaders, download the last Windows only UEFI update from Lenovo and download the relative unknown utility from AMI to flash our motherboard UEFI chipset. Go ahead:</p>

<p><code>$ doas pkg_add -U nasm unzip dosfstools cabextract p7zip</code></p>

<ul>
<li>nasm the Netwide Assembler, a portable 80x86 assembler. </li>
<li>unzip list, test and extract compressed files in a ZIP archive. </li>
<li>dosfstoolsa collections of utilities to manipulate MS-DOSfs. </li>
<li>cabextract program to extract files from cabinet. </li>
<li>p7zipcollection of utilities to manipulate 7zip archives.</li>
</ul>

<pre><code>$ mkdir sys-freedos-linux &amp;&amp; cd sys-freedos-linux
$ unzip ../sys-freedos-linux.zip
$ cd ~/freedos &amp;&amp; mkdir old new
$ dd if=/dev/null of=freedos.img bs=1024 seek=20480
$ mkfs.fat freedos.img
</code></pre>

<blockquote>
<p>Create another working directory, cd into it, unzip the archive that we've downloaded, return to the working root and create another twos directories. dd is one of the most important utilities in the unix world to manipulate at byte level input and output:</p>

<p>The dd utility copies the standard input to the standard output, applying any specified conversions. Input data is read and written in 512-byte blocks. If input reads are short, input from multiple reads are aggregated to form the output block. When finished, dd displays the number of complete and partial input and output blocks and truncated input records to the standard error output.</p>

<p>We're creating here a virtual disk with bs=1024 we're setting both input and output block to 1024bytes; with seek=20480 we require 20480bytes. This is the result:</p>
</blockquote>

<p><code>-rw-r--r-- 1 taglio taglio 20971520 Feb 3 00:11 freedos.img.</code></p>

<blockquote>
<p>Next we format the virtual disk using the MS-DOS filesystem. Go ahead:</p>
</blockquote>

<pre><code>$ doas su
$ perl stuff/sys-freedos-linux/sys-freedos.pl --disk=freedos.img
$ vnconfig vnd0 stuff/fdboot.img
$ vnconfig vnd1 freedos.img
$ mount -t msdos /dev/vnd0c old/
$ mount -t msdos /dev/vnd1c new/
</code></pre>

<blockquote>
<p>We use the perl utility from syslinux to write the MBR of our virtual disk freedos.img. Next we create to loop virtual node using the OpenBSD utility vnconfig. Take care here because it is quite different from Linux, but as usual is clear and simple. The virtual nodes are associated to the downloaded fdboot.img and the newly created freedos.img. Next we mount the two virtual nodes cpartitions; in OpenBSD cpartition describes the entire physical disk. Quite different from Linux, take care.</p>
</blockquote>

<pre><code>$ cp -R old/* new/
$ cd stuff
$ mkdir o35jy19usa
$ cabextract -d o35jy19usa o35jy19usa_y900.exe
$ doas su
$ cp o35jy19usa/ ../new/
$ mkdir afudos &amp;&amp; cd afudos
$ 7z e ../AFUDOS*
$ doas su
$ cp AFUDOS.exe ../../new/
$ umount ~/freedos/old/ &amp;&amp; umount ~/freedos/new/
$ vnconfig -u vnd1 &amp;&amp; vnconfig -u vnd0
</code></pre>

<blockquote>
<p>Copy all files and directories in the new virtual node partition, extract the Lenovo cabinet in a new directory, copy the result in our new image, extract the afudos utility and like the others copy it. Umount the partitions and destroy the loop vnode.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.geeklan.co.uk/files/fosdem2018-retro" target="_blank" rel="nofollow noopener">NetBSD - A modern operating system for your retro battlestation</a></li>
<li><a href="https://twitter.com/pvaneynd/status/960181163578019840/photo/1" target="_blank" rel="nofollow noopener">FOSDEM OS distribution</a></li>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=151268831628549" target="_blank" rel="nofollow noopener">Update on two pledge-related changes</a></li>
<li><a href="https://marc.info/?l=openbsd-cvs&amp;m=151304116010721&amp;w=2" target="_blank" rel="nofollow noopener">*execpromises</a></li>
<li><a href="https://www.geeklan.co.uk/files/fosdem2018-bsd/" target="_blank" rel="nofollow noopener">Slides for (BSD from scratch - from source to OS with ease on NetBSD)</a></li>
<li><a href="https://blog.crashed.org/goodbye-lastpass/" target="_blank" rel="nofollow noopener">Goobyte LastPass: You're fired! </a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Scott - <a href="http://dpaste.com/22Z8C6Z#wrap" target="_blank" rel="nofollow noopener">ZFS Mirror with SLOG</a></li>
<li>Troels - <a href="http://dpaste.com/3X2R1BV#wrap" target="_blank" rel="nofollow noopener">Question about compressed ARC</a></li>
<li>Jeff - <a href="http://dpaste.com/2BQ9HFB#wrap" target="_blank" rel="nofollow noopener">FreeBSD Desktop DNS</a></li>
<li>Jonathon - <a href="http://dpaste.com/0TTT0DB#wrap" target="_blank" rel="nofollow noopener">Bhyve and gpu passthrough</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>How the term open source was created, running FreeBSD on ThinkPad T530, Moving away from Windows, Unknown Giants, as well as OpenBSD and FreeDOS.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://opensource.com/article/18/2/coining-term-open-source-software" target="_blank" rel="nofollow noopener">How I coined the term 'open source'</a></h3>

<blockquote>
<p>In a few days, on February 3, the 20th anniversary of the introduction of the term "open source software" is upon us. As open source software grows in popularity and powers some of the most robust and important innovations of our time, we reflect on its rise to prominence.</p>

<p>I am the originator of the term "open source software" and came up with it while executive director at Foresight Institute. Not a software developer like the rest, I thank Linux programmer Todd Anderson for supporting the term and proposing it to the group.</p>

<p>This is my account of how I came up with it, how it was proposed, and the subsequent reactions. Of course, there are a number of accounts of the coining of the term, for example by Eric Raymond and Richard Stallman, yet this is mine, written on January 2, 2006.</p>

<p>It has never been published, until today.</p>

<p>The introduction of the term "open source software" was a deliberate effort to make this field of endeavor more understandable to newcomers and to business, which was viewed as necessary to its spread to a broader community of users. The problem with the main earlier label, "free software," was not its political connotations, but that—to newcomers—its seeming focus on price is distracting. A term was needed that focuses on the key issue of source code and that does not immediately confuse those new to the concept. The first term that came along at the right time and fulfilled these requirements was rapidly adopted: open source.</p>

<p>This term had long been used in an "intelligence" (i.e., spying) context, but to my knowledge, use of the term with respect to software prior to 1998 has not been confirmed. The account below describes how the term open source software caught on and became the name of both an industry and a movement.</p>
</blockquote>

<ul>
<li>Meetings on computer security</li>
</ul>

<blockquote>
<p>In late 1997, weekly meetings were being held at Foresight Institute to discuss computer security. Foresight is a nonprofit think tank focused on nanotechnology and artificial intelligence, and software security is regarded as central to the reliability and security of both. We had identified free software as a promising approach to improving software security and reliability and were looking for ways to promote it. Interest in free software was starting to grow outside the programming community, and it was increasingly clear that an opportunity was coming to change the world. However, just how to do this was unclear, and we were groping for strategies.</p>

<p>At these meetings, we discussed the need for a new term due to the confusion factor. The argument was as follows: those new to the term "free software" assume it is referring to the price. Oldtimers must then launch into an explanation, usually given as follows: "We mean free as in freedom, not free as in beer." At this point, a discussion on software has turned into one about the price of an alcoholic beverage. The problem was not that explaining the meaning is impossible—the problem was that the name for an important idea should not be so confusing to newcomers. A clearer term was needed. No political issues were raised regarding the free software term; the issue was its lack of clarity to those new to the concept.</p>
</blockquote>

<ul>
<li>Releasing Netscape</li>
</ul>

<blockquote>
<p>On February 2, 1998, Eric Raymond arrived on a visit to work with Netscape on the plan to release the browser code under a free-software-style license. We held a meeting that night at Foresight's office in Los Altos to strategize and refine our message. In addition to Eric and me, active participants included Brian Behlendorf, Michael Tiemann, Todd Anderson, Mark S. Miller, and Ka-Ping Yee. But at that meeting, the field was still described as free software or, by Brian, "source code available" software.</p>

<p>While in town, Eric used Foresight as a base of operations. At one point during his visit, he was called to the phone to talk with a couple of Netscape legal and/or marketing staff. When he was finished, I asked to be put on the phone with them—one man and one woman, perhaps Mitchell Baker—so I could bring up the need for a new term. They agreed in principle immediately, but no specific term was agreed upon.</p>

<p>Between meetings that week, I was still focused on the need for a better name and came up with the term "open source software." While not ideal, it struck me as good enough. I ran it by at least four others: Eric Drexler, Mark Miller, and Todd Anderson liked it, while a friend in marketing and public relations felt the term "open" had been overused and abused and believed we could do better. He was right in theory; however, I didn't have a better idea, so I thought I would try to go ahead and introduce it. In hindsight, I should have simply proposed it to Eric Raymond, but I didn't know him well at the time, so I took an indirect strategy instead.</p>

<p>Todd had agreed strongly about the need for a new term and offered to assist in getting the term introduced. This was helpful because, as a non-programmer, my influence within the free software community was weak. My work in nanotechnology education at Foresight was a plus, but not enough for me to be taken very seriously on free software questions. As a Linux programmer, Todd would be listened to more closely.</p>
</blockquote>

<ul>
<li>The key meeting</li>
</ul>

<blockquote>
<p>Later that week, on February 5, 1998, a group was assembled at VA Research to brainstorm on strategy. Attending—in addition to Eric Raymond, Todd, and me—were Larry Augustin, Sam Ockman, and attending by phone, Jon "maddog" Hall.</p>

<p>The primary topic was promotion strategy, especially which companies to approach. I said little, but was looking for an opportunity to introduce the proposed term. I felt that it wouldn't work for me to just blurt out, "All you technical people should start using my new term." Most of those attending didn't know me, and for all I knew, they might not even agree that a new term was greatly needed, or even somewhat desirable.</p>

<p>Fortunately, Todd was on the ball. Instead of making an assertion that the community should use this specific new term, he did something less directive—a smart thing to do with this community of strong-willed individuals. He simply used the term in a sentence on another topic—just dropped it into the conversation to see what happened. I went on alert, hoping for a response, but there was none at first. The discussion continued on the original topic. It seemed only he and I had noticed the usage.</p>

<p>Not so—memetic evolution was in action. A few minutes later, one of the others used the term, evidently without noticing, still discussing a topic other than terminology. Todd and I looked at each other out of the corners of our eyes to check: yes, we had both noticed what happened. I was excited—it might work! But I kept quiet: I still had low status in this group. Probably some were wondering why Eric had invited me at all.</p>

<p>Toward the end of the meeting, the question of terminology was brought up explicitly, probably by Todd or Eric. Maddog mentioned "freely distributable" as an earlier term, and "cooperatively developed" as a newer term. Eric listed "free software," "open source," and "sourceware" as the main options. Todd advocated the "open source" model, and Eric endorsed this. I didn't say much, letting Todd and Eric pull the (loose, informal) consensus together around the open source name. It was clear that to most of those at the meeting, the name change was not the most important thing discussed there; a relatively minor issue. Only about 10% of my notes from this meeting are on the terminology question.</p>

<p>But I was elated. These were some key leaders in the community, and they liked the new name, or at least didn't object. This was a very good sign. There was probably not much more I could do to help; Eric Raymond was far better positioned to spread the new meme, and he did. Bruce Perens signed on to the effort immediately, helping set up Opensource.org and playing a key role in spreading the new term.</p>

<p>For the name to succeed, it was necessary, or at least highly desirable, that Tim O'Reilly agree and actively use it in his many projects on behalf of the community. Also helpful would be use of the term in the upcoming official release of the Netscape Navigator code. By late February, both O'Reilly &amp; Associates and Netscape had started to use the term.</p>
</blockquote>

<ul>
<li>Getting the name out</li>
</ul>

<blockquote>
<p>After this, there was a period during which the term was promoted by Eric Raymond to the media, by Tim O'Reilly to business, and by both to the programming community. It seemed to spread very quickly.</p>

<p>On April 7, 1998, Tim O'Reilly held a meeting of key leaders in the field. Announced in advance as the first "Freeware Summit," by April 14 it was referred to as the first "Open Source Summit."</p>

<p>These months were extremely exciting for open source. Every week, it seemed, a new company announced plans to participate. Reading Slashdot became a necessity, even for those like me who were only peripherally involved. I strongly believe that the new term was helpful in enabling this rapid spread into business, which then enabled wider use by the public.</p>

<p>A quick Google search indicates that "open source" appears more often than "free software," but there still is substantial use of the free software term, which remains useful and should be included when communicating with audiences who prefer it.</p>
</blockquote>

<ul>
<li>A happy twinge</li>
</ul>

<blockquote>
<p>When an early account of the terminology change written by Eric Raymond was posted on the Open Source Initiative website, I was listed as being at the VA brainstorming meeting, but not as the originator of the term. This was my own fault; I had neglected to tell Eric the details. My impulse was to let it pass and stay in the background, but Todd felt otherwise. He suggested to me that one day I would be glad to be known as the person who coined the name "open source software." He explained the situation to Eric, who promptly updated his site.</p>

<p>Coming up with a phrase is a small contribution, but I admit to being grateful to those who remember to credit me with it. Every time I hear it, which is very often now, it gives me a little happy twinge.</p>

<p>The big credit for persuading the community goes to Eric Raymond and Tim O'Reilly, who made it happen. Thanks to them for crediting me, and to Todd Anderson for his role throughout. The above is not a complete account of open source history; apologies to the many key players whose names do not appear. Those seeking a more complete account should refer to the links in this article and elsewhere on the net.</p>
</blockquote>

<hr>

<h3><a href="https://www.c0ffee.net/blog/freebsd-on-a-laptop" target="_blank" rel="nofollow noopener">FreeBSD on a Laptop - A guide to a fully functional installation of FreeBSD on a ThinkPad T530</a></h3>

<blockquote>
<p>As I stated my previous post, I recently dug up my old ThinkPad T530 after the embarrassing stream of OS X security bugs this month. Although this ThinkPad ran Gentoo faithfully during my time in graduate school at Clemson, these days I'd much rather spend time my wife and baby than fighting with emerge and USE flags. FreeBSD has always been my OS of choice, and laptop support seems to be much better than it was a few years ago. In this guide, I'll show you the tweaks I made to wrestle FreeBSD into a decent experience on a laptop.</p>

<p>Unlike my usual posts, this time I'm going to assume you're already pretty familiar with FreeBSD. If you're a layman looking for your first BSD-based desktop, I highly recommend checking out TrueOS (previously PC-BSD): they've basically taken FreeBSD and packaged it with all the latest drivers, along with a user-friendly installer and custom desktop environment out of the box. TrueOS is an awesome project–the only reason I don't use it is because I'm old, grumpy, and persnickety about having my operating system just so.</p>

<p>Anyway, if you'd still like to take the plunge, read on. Keep in mind, I'm using a ThinkPad T530, but other ThinkPads of the same generation should be similarly compatible.</p>
</blockquote>

<ul>
<li><p>Here's what you'll get:</p>

<ul>
<li>Decent battery life (8-9 hours with a new 9-cell battery)</li>
<li>UEFI boot and full-disk encryption</li>
<li>WiFi (Intel Ultimate-N 6300)</li>
<li>Ethernet (Intel PRO/1000)</li>
<li>Screen brightness adjustment</li>
<li>Suspend/Resume on lid close (make sure to disable TPM in BIOS)</li>
<li>Audio (Realtek ALC269 HDA, speakers and headphone jack)</li>
<li>Keyboard multimedia buttons</li>
<li>Touchpad/Trackpoint</li>
<li>Graphics Acceleration (with integrated Intel graphics, NVIDIA card disabled in BIOS)</li>
</ul></li>
<li><p>What I haven't tested yet:</p>

<ul>
<li>Bluetooth</li>
<li>Webcam</li>
<li>Fingerprint reader</li>
<li>SD Card slot</li>
</ul></li>
<li><p>Installation</p></li>
<li><p>Power Saving</p></li>
<li><p>Tweaks for Desktop Use</p></li>
<li><p>X11</p></li>
<li><p>Fonts</p></li>
<li><p>Login Manager: SLiM</p></li>
<li><p>Desktop Environment: i3</p></li>
<li><p>Applications</p></li>
</ul>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/the_llvm_sanitizers_stage_accomplished" target="_blank" rel="nofollow noopener">The LLVM Sanitizers stage accomplished</a></h3>

<blockquote>
<p>I've managed to get the Memory Sanitizer to work for the elementary base system utilities, like ps(1), awk(1) and ksh(1). This means that the toolchain is ready for tests and improvements. I've iterated over the basesystem utilities and I looked for bugs, both in programs and in sanitizers. The number of detected bugs in the userland programs was low, there merely was one reading of an uninitialized variable in ps(1).</p>
</blockquote>

<ul>
<li>A prebuilt LLVM toolchain</li>
</ul>

<blockquote>
<p>I've prepared a prebuilt toolchain with Clang, LLVM, LLDB and compiler-rt for NetBSD/amd64. I prepared the toolchain on 8.99.12, however I have received reports that it works on other older releases. Link: llvm-clang-compilerrt-lldb-7.0.0beta_2018-01-24.tar.bz2</p>

<p>The archive has to be untarballed to /usr/local (however it might work to some extent in other paths).</p>

<p>This toolchain contains a prebuilt tree of the LLVM projects from a snapshot of 7.0.0(svn). It is a pristine snapshot of HEAD with patches from pkgsrc-wip for llvm, clang, compiler-rt and lldb.</p>
</blockquote>

<ul>
<li>Sanitizers

<ul>
<li>Notable changes in sanitizers, all of them are in the context of NetBSD support.</li>
</ul></li>
</ul>

<pre><code>Added fstat(2) MSan interceptor.
Support for kvm(3) interceptors in the common sanitizer code.
Added devname(3) and devname_r(3) interceptors to the common sanitizer code.
Added sysctl(3) familty of functions interceptors in the common sanitizer code.
Added strlcpy(3)/strlcat(3) interceptors in the common sanitizer code.
Added getgrouplist(3)/getgroupmembership(3) interceptors in the common sanitizer code.
Correct ctype(3) interceptors in a code using Native Language Support.
Correct tzset(3) interceptor in MSan.
Correct localtime(3) interceptor in the common sanitizer code.
Added paccept(2) interceptor to the common sanitizer code.
Added access(2) and faccessat(2) interceptors to the common sanitizer code.
Added acct(2) interceptor to the common sanitizer code.
Added accept4(2) interceptor to the common sanitizer code.
Added fgetln(3) interceptor to the common sanitizer code.
Added interceptors for the pwcache(3)-style functions in the common sanitizer code.
Added interceptors for the getprotoent(3)-style functions in the common sanitizer code.
Added interceptors for the getnetent(3)-style functions in the common sanitizer code.
Added interceptors for the fts(3)-style functions in the common sanitizer code.
Added lstat(3) interceptor in MSan.
Added strftime(3) interceptor in the common sanitizer code.
Added strmode(3) interceptor in the common sanitizer code.
Added interceptors for the regex(3)-style functions in the common sanitizer code.
Disabled unwanted interceptor __sigsetjmp in TSan.
</code></pre>

<ul>
<li>Base system changes</li>
</ul>

<blockquote>
<p>I've tidied up inclusion of the internal namespace.h header in libc. This has hidden the usage of public global symbol names of:</p>
</blockquote>

<pre><code>strlcat -&gt; _strlcat
sysconf -&gt; __sysconf
closedir -&gt; _closedir
fparseln -&gt; _fparseln
kill -&gt; _kill
mkstemp -&gt; _mkstemp
reallocarr -&gt; _reallocarr
strcasecmp -&gt; _strcasecmp
strncasecmp -&gt; _strncasecmp
strptime -&gt; _strptime
strtok_r -&gt; _strtok_r
sysctl -&gt; _sysctl
dlopen -&gt; __dlopen
dlclose -&gt; __dlclose
dlsym -&gt; __dlsym
strlcpy -&gt; _strlcpy
fdopen -&gt; _fdopen
mmap -&gt; _mmap
strdup -&gt; _strdup
</code></pre>

<blockquote>
<p>The purpose of these changes was to stop triggering interceptors recursively. Such interceptors lead to sanitization of internals of unprepared (not recompiled with sanitizers) prebuilt code. It's not trivial to sanitize libc's internals and the sanitizers are not designed to do so. This means that they are not a full replacement of Valgrind-like software, but a a supplement in the developer toolbox. Valgrind translates native code to a bytecode virtual machine, while sanitizers are designed to work with interceptors inside the pristine elementary libraries (libc, libm, librt, libpthread) and embed functionality into the executable's code.</p>

<p>I've also reverted the vadvise(2) syscall removal, from the previous month. This caused a regression in legacy code recompiled against still supported compat layers. Newly compiled code will use a libc's stub of vadvise(2).</p>

<p>I've also prepared a patch installing dedicated headers for sanitizers along with the base system GCC. It's still discussed and should land the sources soon.</p>
</blockquote>

<ul>
<li>Future directions and goals

<ul>
<li>Possible paths in random order:</li>
<li>In the quartet of UBSan (Undefined Behavior Sanitizer), ASan (Address Sanitizer), TSan (Thread Sanitizer), MSan (Memory Sanitizer) we need to add the fifth basic sanitizer: LSan (Leak Sanitizer). The Leak Sanitizer (detector of memory leaks) demands a stable ptrace(2) interface for processes with multiple threads (unless we want to build a custom kernel interface).</li>
<li>Integrate the sanitizers with the userland framework in order to ship with the native toolchain to users.</li>
<li>Port sanitizers from LLVM to GCC.</li>
<li>Allow to sanitize programs linked against userland libraries other than libc, librt, libm and libpthread; by a global option (like MKSANITIZER) producing a userland that is partially prebuilt with a desired sanitizer. This is required to run e.g. MSanitized programs against editline(3). So far, there is no Operating System distribution in existence with a native integration with sanitizers. There are 3rd party scripts for certain OSes to build a stack of software dependencies in order to validate a piece of software.</li>
<li>Execute ATF tests with the userland rebuilt with supported flavors of sanitizers and catch regressions.</li>
<li>Finish porting of modern linkers designed for large C++ software, such as GNU GOLD and LLVM LLD. Today the bottleneck with building the LLVM toolchain is a suboptimal linker GNU ld(1).</li>
</ul></li>
</ul>

<blockquote>
<p>I've decided to not open new battlefields and return now to porting LLDB and fixing ptrace(2).</p>
</blockquote>

<ul>
<li>Plan for the next milestone

<ul>
<li>Keep upstreaming a pile of local compiler-rt patches.</li>
<li>Restore the LLDB support for traced programs with a single thread.</li>
</ul></li>
</ul>

<hr>

<h2>Interview - Goran Mekic - <a href="mailto:meka@tilda.center" target="_blank" rel="nofollow noopener">meka@tilda.center</a> / <a href="https://twitter.com/meka_floss" target="_blank" rel="nofollow noopener">@meka_floss</a></h2>

<ul>
<li><a href="https://bsdstore.ru" target="_blank" rel="nofollow noopener">CBSD website</a> Jail and VM Manager
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://www.manios.ca/blog/2018/01/finally-moving-away-from-windows/" target="_blank" rel="nofollow noopener">Finally Moving Away From Windows</a></h3>

<ul>
<li>Broken Window</li>
</ul>

<blockquote>
<p>Thanks to a combination of some really impressive malware, bad clicking, and poor website choices, I had to blow away my Windows 10 installation. Not that it was Window’s fault, but a piece of malware had infected my computer when I tried to download a long lost driver for an even longer lost RAID card for a server. A word of advice – the download you’re looking for is never on an ad-infested forum in another language. In any case, I had been meaning to switch away from Windows soon. I didn’t have my entire plan ready, but now was as good a time as any.</p>

<p>My line of work requires me to maintain some form of Windows installation, so I decided to keep it in a VM rather than dual booting as I was developing code and not running any high-end visual stuff like games. My first thought was to install Arch or Gentoo Linux, but the last time I attempted a Gentoo installation it left me bootless. Not that there is anything wrong with Gentoo, it was probably my fault, but I like the idea of some sort of installer so I looked at rock-solid Debian. My dad had installed Debian on his sweet new cutting-edge Lenovo laptop he received recently from work. He often raves about his cool scripts and much more effective customized experience, but often complains about his hybrid GPU support as he has an Intel/Nvidia hybrid display adapter (he has finally resolved it and now boasts his 6 connected displays).</p>

<p>I didn’t want to install Windows again, but something didn’t feel right about installing some flavour of Linux. Back at home I have a small collection of FreeBSD servers running in all sorts of jails and other physical hardware, with the exception of one Debian server which I had the hardest time dealing with (it would be FreeBSD too if 802.11ac support was there as it is acting as my WiFi/gateway/IDS/IPS). I loved my FreeBSD servers, and yes I will write posts about each one soon enough. I wanted that cleanliness and familiarity on my desktop as well (I really love the ports collection!). It’s settled – I will run FreeBSD on my laptop. This also created a new rivalry with my father, which is not a bad thing either.</p>
</blockquote>

<ul>
<li>Playing Devil’s Advocate</li>
</ul>

<blockquote>
<p>The first thing I needed to do was backup my Windows data. This was easy enough, just run a Windows Image Backup and it will- wait, what? Why isn’t this working? I didn’t want to fiddle with this too long because I didn’t actually need an image just the data. I ended up just copying over the files to an external hard disk. Once that was done, I downloaded and verified the latest FreeBSD 11.1 RELEASE memstick image and flashed it to my trusty 8GB Verbatim USB stick. I’ve had this thing since 2007, it works great for being my re-writable “CD”. I booted it up and started the installation. I knew this installer pretty well as I had test-installed FreeBSD and OpenBSD in VMs when I was researching a Unix style replacement OS last year. In any case, I left most of the defaults (I didn’t want to play with custom kernels right now) and I selected all packages. This downloaded them from the FreeBSD FTP server as I only had the memstick image. The installer finished and I was off to my first boot. Great! so far so good. FreeBSD loaded up and I did a ‘pkg upgrade’ just to make sure that everything was up to date.</p>

<p>Alright, time to get down to business. I needed nano. I just can’t use vi, or just not yet. I don’t care about being a vi-wizard, that’s just too much effort for me. Anyway, just a ‘pkg install nano’ and I had my editor. Next was obvious, I needed x11. XFCE was common, and there were plenty of tutorials out there. I wont bore you with those details, but it went something like ‘pkg install xfce’ and I got all the dependencies. Don’t forget to install SLiM to make it seamless. There are some configs in the .login I think. SLiM needs to be called once the boot drops you to the login so that you get SLiM’s nice GUI login instead of the CLI login screen. Then SLiM passes you off to XFCE. I think I followed this and this. Awesome. Now that x11 is working, it’s time to get all of my apps from Windows. Obviously, I can’t get everything (ie. Visual Studio, Office). But in my Windows installation, I had chosen many open-source or cross-compiled apps as they either worked better or so that I was ready to move away from Windows at a moments notice. ‘pkg install firefox thunderbird hexchat pidgin gpa keepass owncloud-client transmission-qt5 veracrypt openvpn’ were some immediate picks. There are a lot more that I downloaded later, but these are a few I use everyday. My laptop also has the same hybrid display adapter config that my dad’s has, but I chose to only run Intel graphics, so dual screens are no problem for me. I’ll add Nvidia support later, but it’s not a priority.</p>

<p>After I had imported my private keys and loaded my firefox and thunderbird settings, I wanted to get my Windows VM running right away as I was burning productive days at work fiddling with this. I had only two virtualisation options; qemu/kvm and bhyve. qemu/kvm wasn’t available in pkg, and looked real dirty to compile, from FreeBSD’s point of view. My dad is using qemu/kvm with virt-manager to manage all of his Windows/Unix VMs alike. I wanted that experience, but I also wanted packages that could be updated and I didn’t want to mess up a compile. bhyve was a better choice. It was built-in, it was more compatible with Windows (from what I read), and this is a great step-by-step article for Windows 10 on FreeBSD 11 bhyve! I had already tried to get virt-manager to work with bhyve with no luck. I don’t think libvirt connects with bhyve completely, or maybe my config is wrong. But I didn’t have time to fiddle with it. I managed it all through command lines and that has worked perfectly so far. Well sorta, there was an issue installing SQL Server, and only SQL Server, on my Windows VM. This was due to a missing ‘sectorsize=512’ setting on the disk parameter on the bhyve command line. That was only found after A LOT of digging because the SQL Server install didn’t log the error properly. I eventually found out that SQL Server only likes one sector size of disks for the install and my virtual disk geometry was incorrect.</p>
</blockquote>

<ul>
<li>Apps Apps Apps</li>
</ul>

<blockquote>
<p>I installed Windows 10 on my bhyve VM and I got that all setup with the apps I needed for work. Mostly Office, Visual Studio, and vSphere for managing our server farm. Plus all of the annoying 3rd party VPN software (I’m looking at you Dell and Cisco). Alright, with the Windows VM done, I can now work at work and finish FreeBSD mostly during the nights. I still needed my remote files (I setup an ownCloud instance on a FreeNAS jail at home) so I setup the client. Now, normally on Windows I would come to work and connect to my home network using OpenVPN (again, I have a OpenVPN FreeNAS jail at home) and the ownCloud desktop would be able to handle changing DNS destination IPs Not on FreeBSD (and Linux too?). I ended up just configuring the ownCloud client to just connect to the home LAN IP for the ownCloud server and always connecting the OpenVPN to sync things. It kinda sucks, but at least it works. I left that running at home overnight to get a full sync (~130GB cloud sync, another reason I use it over Google or Microsoft). Once that was done I moved onto the fstab as I had another 1TB SSD in my laptop with other files. I messed around with fstab and my NFS shares to my FreeNAS at home, but took them out as they made the boot time so long when I wasn’t at home. I would only mount them when my OpenVPN connected or manually. I really wanted to install SpaceFM, but it’s only available as a package on Debian and their non-package install script doesn’t work on FreeBSD (packages are named differently). I tried doing it manually, but it was too much work. As my dad was the one who introduced me to it, he still uses it as a use-case for his Debian setup. Instead I kept to the original PCManFM and it works just fine. I also loaded up my Bitcoin and Litecoin wallets and pointed them to the blockchain that I has used on Windows after their sync, they loaded perfectly and my balances were there. I kinda wish there was the Bitcoin-ABC full node Bitcoin Cash wallet package on FreeBSD, but I’m sure it will come out later.</p>

<p>The rest is essentially just tweaks and making the environment more comfortable for me, and with most programs installed as packages I feel a lot better with upgrades and audit checking (‘pkg audit -F’ is really helpful!). I will always hate Python, actually, I will always hate any app that has it’s own package manager. I do miss the GUI GitHub tool on Windows. It was a really good-looking way to view all of my repos. The last thing (which is increasing it’s priority every time I go to a social media site or YouTube) is fonts. My god I never thought it was such a problem, and UTF support is complicated. If anyone knows how to get all UTF characters to show up, please let me know. I’d really like Wikipedia articles to load perfectly (I followed this post and there are still some missing). There are some extra tweaks I followed here and here.</p>
</blockquote>

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

<blockquote>
<p>I successfully migrated from Windows 10 to FreeBSD 11.1 with minimal consequence. Shout out goes to the entire FreeBSD community. So many helpful people in there, and the forums are a great place to find tons of information. Also thanks to the ones who wrote the how-to articles I’ve referenced. I never would have gotten bhyve to work and I’d still probably be messing with my X config without them. I guess my take home from this is to not be afraid to make changes that may change how comfortable I am in an environment. I’m always open to comments and questions, please feel free to make them below. I purposefully didn’t include too many technical things or commands in this article as I wanted to focus on the larger picture of the migration as a whole not the struggles of xorg.conf, but if you would like to see some of the configs or commands I used, let me know and I’ll include some!</p>
</blockquote>

<hr>

<h3><a href="https://www.trueos.org/rulesofconduct/" target="_blank" rel="nofollow noopener">TrueOS Rules of Conduct</a></h3>

<blockquote>
<p>We believe code is truly agnostic and embrace inclusiveness regardless of a person’s individual beliefs. As such we only ask the following when participating in TrueOS public events and digital forums:<br>
Treat each other with respect and professionalism.<br>
Leave personal and TrueOS unrelated conversations to other channels.<br>
In other words, it’s all about the code. Users who feel the above rules have been violated in some way can register a complaint with <a href="mailto:abuse@trueos.org" target="_blank" rel="nofollow noopener">abuse@trueos.org</a></p>

<ul>
<li><a href="https://twitter.com/trueos/status/965994363070353413" target="_blank" rel="nofollow noopener">Shorter than the BSD License</a></li>
<li><a href="https://twitter.com/freebsdbytes/status/966567686015782912" target="_blank" rel="nofollow noopener">Positive response from the community</a>
I really like the @TrueOS Code of Conduct, unlike some other CoCs. It's short, clear and covers everything.
Most #OpenSource projects are labour of love. Why do you need a something that reads like a legal contract?
***</li>
</ul>
</blockquote>

<h3><a href="https://neomoevius.tumblr.com/post/171108458234/freebsd-the-unknown-giant" target="_blank" rel="nofollow noopener">FreeBSD: The Unknown Giant</a></h3>

<blockquote>
<p>I decided to write this article as a gratitude for the recent fast answer of the FreeBSD/TrueOS community with my questions and doubts. I am impressed how fast and how they tried to help me about this operating system which I used in the past(2000-2007) but recently in 2017 I began to use it again.</p>

<ul>
<li>A lot has changed in 10 years
I was looking around the internet, trying to do some research about recent information about FreeBSD and other versions or an easy to use spins like PCBSD (now TrueOS)
I used to be Windows/Mac user for so many years until 2014 when I decided to use Linux as my desktop OS just because I wanted to use something different. I always wanted to use unix or a unix-like operating system, nowadays my main objective is to learn more about  these operating systems (Debian Linux, TrueOS or FreeBSD).
FreeBSD has similarities with Linux, with two major differences in scope and licensing: FreeBSD maintains a complete operating system, i.e. the project delivers kernel, device drivers, userland utilities and documentation, as opposed to Linux delivering a kernel and drivers only and relying on third-parties for system software; and FreeBSD source code is generally released under a permissive BSD license as opposed to the copyleft GPL used by Linux.“
But why do I call FreeBSD “The Unknown Giant”?, because the code base of this operating system has been used by other companies to develop their own operating system for products like computers or also game consoles.</li>
<li>FreeBSD is used for storage appliances, firewalls, email scanners, network scanners, network security appliances, load balancers, video servers, and more
So many people now will learn that not only “linux is everywhere” but also that “FreeBSD is everywhere too”
By the way speaking about movies, Do you remember the movie “The Matrix”? FreeBSD was used to make the movie: “The photo-realistic surroundings generated by this method were incorporated into the bullet time scene, and linear interpolation filled in any gaps of the still images to produce a fluent dynamic motion; the computer-generated “lead in” and “lead out” slides were filled in between frames in sequence to get an illusion of orbiting the scene. Manex Visual Effects used a cluster farm running the Unix-like operating system FreeBSD to render many of the film’s visual effects”</li>
<li><a href="https://www.freebsd.org/news/press-rel-1.html" target="_blank" rel="nofollow noopener">FreeBSD Press Release re: The Matrix </a>
I hope that I gave a good reference, information and now so many people can understand why I am going to use just Debian Linux and FreeBSD(TrueOS) to do so many different stuff (music, 3d animation, video editing and text editing) instead use a Mac or Windows.</li>
<li>FreeBSD really is the unknown giant.
***</li>
</ul>
</blockquote>

<h3><a href="https://steemit.com/openbsd/@npna/openbsd-and-freedos-vs-the-hell-in-earth" target="_blank" rel="nofollow noopener">OpenBSD and FreeDOS vs the hell in earth</a></h3>

<blockquote>
<p>Yes sir, yes. Our family, composed until now by OpenBSD, Alpine Linux and Docker is rapidly growing. And yes, sir. Yes. All together we're fighting against your best friends, the infamous, the ugliest, the worst...the dudes called the privacy cannibals. Do you know what i mean, sure?<br>
We're working hard, no matter what time is it, no matter in what part in the world we are, no matter if we've no money. We perfectly know that you cannot do nothing against the true. And we're doing our best to expand our true, our doors are opened to all the good guys, there's a lot here but their brain was fucked by your shit tv, your fake news, your laws, etc etc etc. We're alive, we're here to fight against you.<br>
Tonight, yes it's a Friday night and we're working, we're ready to welcome with open arms an old guy, his experience will give us more power. Welcome to: FreeDOS</p>

<p>But why we want to build a bootable usb stick with FreeDOS under our strong OpenBSD? The answer is as usual to fight against the privacy cannibals!<br>
More than one decade ago the old BIOS was silently replaced by the more capable and advanced UEFI, this is absolutely normal because of the pass of the years and exponencial grow of the power of our personal computers. UEFI is a complex system, it's like a standalone system operative with direct access to every component of our (yes, it's our not your!) machine. But...wait a moment...do you know how to use it? Do you ever know that it exist? And one more thing, it's secure? The answer to this question is totally insane, no, it's not secure. The idea is good, the company that started in theory is one of the most important in IT, it's Intel.<br>
The history is very large and obviously we're going to go very deep in it, but trust me UEFI and the various friend of him, like ME, TPM are insecure and closed source! Like the hell in earth.</p>
</blockquote>

<ul>
<li>A FreeDOS bootable usb image under OpenBSD</li>
</ul>

<blockquote>
<p>But let's start preparing our OpenBSD to put order in this chaos:</p>
</blockquote>

<p>$ mkdir -p freedos/stuff<br>
$ cd freedos/stuff<br>
$ wget <a href="https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdboot.img" target="_blank" rel="nofollow noopener">https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdboot.img</a><br>
$ wget <a href="https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/sys/sys-freedos-linux/sys-freedos-linux.zip" target="_blank" rel="nofollow noopener">https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/sys/sys-freedos-linux/sys-freedos-linux.zip</a><br>
$ wget <a href="https://download.lenovo.com/consumer/desktop/o35jy19usa_y900.exe" target="_blank" rel="nofollow noopener">https://download.lenovo.com/consumer/desktop/o35jy19usa_y900.exe</a><br>
$ wget <a href="http://145.130.102.57/domoticx/software/amiflasher/AFUDOS%20Flasher%205.05.04.7z" target="_blank" rel="nofollow noopener">http://145.130.102.57/domoticx/software/amiflasher/AFUDOS%20Flasher%205.05.04.7z</a><br>
Explanation in clear language as usual: create two directory, download the minimal boot disc image of FreeDOS, download Syslinux assembler MBR bootloaders, download the last Windows only UEFI update from Lenovo and download the relative unknown utility from AMI to flash our motherboard UEFI chipset. Go ahead:</p>

<p><code>$ doas pkg_add -U nasm unzip dosfstools cabextract p7zip</code></p>

<ul>
<li>nasm the Netwide Assembler, a portable 80x86 assembler. </li>
<li>unzip list, test and extract compressed files in a ZIP archive. </li>
<li>dosfstoolsa collections of utilities to manipulate MS-DOSfs. </li>
<li>cabextract program to extract files from cabinet. </li>
<li>p7zipcollection of utilities to manipulate 7zip archives.</li>
</ul>

<pre><code>$ mkdir sys-freedos-linux &amp;&amp; cd sys-freedos-linux
$ unzip ../sys-freedos-linux.zip
$ cd ~/freedos &amp;&amp; mkdir old new
$ dd if=/dev/null of=freedos.img bs=1024 seek=20480
$ mkfs.fat freedos.img
</code></pre>

<blockquote>
<p>Create another working directory, cd into it, unzip the archive that we've downloaded, return to the working root and create another twos directories. dd is one of the most important utilities in the unix world to manipulate at byte level input and output:</p>

<p>The dd utility copies the standard input to the standard output, applying any specified conversions. Input data is read and written in 512-byte blocks. If input reads are short, input from multiple reads are aggregated to form the output block. When finished, dd displays the number of complete and partial input and output blocks and truncated input records to the standard error output.</p>

<p>We're creating here a virtual disk with bs=1024 we're setting both input and output block to 1024bytes; with seek=20480 we require 20480bytes. This is the result:</p>
</blockquote>

<p><code>-rw-r--r-- 1 taglio taglio 20971520 Feb 3 00:11 freedos.img.</code></p>

<blockquote>
<p>Next we format the virtual disk using the MS-DOS filesystem. Go ahead:</p>
</blockquote>

<pre><code>$ doas su
$ perl stuff/sys-freedos-linux/sys-freedos.pl --disk=freedos.img
$ vnconfig vnd0 stuff/fdboot.img
$ vnconfig vnd1 freedos.img
$ mount -t msdos /dev/vnd0c old/
$ mount -t msdos /dev/vnd1c new/
</code></pre>

<blockquote>
<p>We use the perl utility from syslinux to write the MBR of our virtual disk freedos.img. Next we create to loop virtual node using the OpenBSD utility vnconfig. Take care here because it is quite different from Linux, but as usual is clear and simple. The virtual nodes are associated to the downloaded fdboot.img and the newly created freedos.img. Next we mount the two virtual nodes cpartitions; in OpenBSD cpartition describes the entire physical disk. Quite different from Linux, take care.</p>
</blockquote>

<pre><code>$ cp -R old/* new/
$ cd stuff
$ mkdir o35jy19usa
$ cabextract -d o35jy19usa o35jy19usa_y900.exe
$ doas su
$ cp o35jy19usa/ ../new/
$ mkdir afudos &amp;&amp; cd afudos
$ 7z e ../AFUDOS*
$ doas su
$ cp AFUDOS.exe ../../new/
$ umount ~/freedos/old/ &amp;&amp; umount ~/freedos/new/
$ vnconfig -u vnd1 &amp;&amp; vnconfig -u vnd0
</code></pre>

<blockquote>
<p>Copy all files and directories in the new virtual node partition, extract the Lenovo cabinet in a new directory, copy the result in our new image, extract the afudos utility and like the others copy it. Umount the partitions and destroy the loop vnode.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.geeklan.co.uk/files/fosdem2018-retro" target="_blank" rel="nofollow noopener">NetBSD - A modern operating system for your retro battlestation</a></li>
<li><a href="https://twitter.com/pvaneynd/status/960181163578019840/photo/1" target="_blank" rel="nofollow noopener">FOSDEM OS distribution</a></li>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=151268831628549" target="_blank" rel="nofollow noopener">Update on two pledge-related changes</a></li>
<li><a href="https://marc.info/?l=openbsd-cvs&amp;m=151304116010721&amp;w=2" target="_blank" rel="nofollow noopener">*execpromises</a></li>
<li><a href="https://www.geeklan.co.uk/files/fosdem2018-bsd/" target="_blank" rel="nofollow noopener">Slides for (BSD from scratch - from source to OS with ease on NetBSD)</a></li>
<li><a href="https://blog.crashed.org/goodbye-lastpass/" target="_blank" rel="nofollow noopener">Goobyte LastPass: You're fired! </a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Scott - <a href="http://dpaste.com/22Z8C6Z#wrap" target="_blank" rel="nofollow noopener">ZFS Mirror with SLOG</a></li>
<li>Troels - <a href="http://dpaste.com/3X2R1BV#wrap" target="_blank" rel="nofollow noopener">Question about compressed ARC</a></li>
<li>Jeff - <a href="http://dpaste.com/2BQ9HFB#wrap" target="_blank" rel="nofollow noopener">FreeBSD Desktop DNS</a></li>
<li>Jonathon - <a href="http://dpaste.com/0TTT0DB#wrap" target="_blank" rel="nofollow noopener">Bhyve and gpu passthrough</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>234: Code and Community</title>
  <link>https://www.bsdnow.tv/234</link>
  <guid isPermaLink="false">f6baf9a1-e78a-4997-9a29-0ca6f7453383</guid>
  <pubDate>Wed, 21 Feb 2018 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f6baf9a1-e78a-4997-9a29-0ca6f7453383.mp3" length="74658100" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>GSoC 2018 Projects announced, tutorial FreeBSD jails with iocage, new Code of Conduct for FreeBSD, libhijack, and fancy monitoring for OpenSMTPD</itunes:subtitle>
  <itunes:duration>1:43: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>&lt;p&gt;GSoC 2018 Projects announced, tutorial FreeBSD jails with iocage, new Code of Conduct for FreeBSD, libhijack, and fancy monitoring for OpenSMTPD&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://summerofcode.withgoogle.com/organizations/?sp-page=5" target="_blank" rel="nofollow noopener"&gt;Google Summer of Code 2018&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/projects/summerofcode.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/SummerOfCodeIdeas" target="_blank" rel="nofollow noopener"&gt;FreeBSD Google Summer oF Code Ideas&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;You can join #freebsd-soc on the efnet IRC network to chat with FreeBSD developers interested in mentoring student proposals and projects, past FreeBSD/GSoC students, and other students applying to FreeBSD/GSoC this year.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/netbsd-advocacy/2018/02/12/msg000765.html" target="_blank" rel="nofollow noopener"&gt;NetBSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;You can get a stipend (paid for by Google) and spend a few months getting to know and improving the insides of NetBSD or pkgsrc.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;The schedule is:
12-27 March             Applying
23 April                Find out if you were accepted
14 May - 22 August      Do the project!

We have some suggestions for suitable projects:
- ARM EFI bootloader
- Using libFuzzer on base tools
- Refactoring ALTQ (QoS implementation) and integrating with NPF
- Testsuite for libcurses
- Improve pkgin

Other suggestions and details are at:
https://wiki.netbsd.org/projects/gsoc/
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;These projects are suggestions; you can come up with your own. Suggestions for other suitable projects are welcome.&lt;/p&gt;

&lt;p&gt;Feel free to contact, or chat around on IRC: irc.freenode.org #netbsd #netbsd-code #pkgsrc&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://summerofcode.withgoogle.com/organizations/4821756754264064/" target="_blank" rel="nofollow noopener"&gt;Haiku&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.haiku-os.org/community/gsoc/2018/students" target="_blank" rel="nofollow noopener"&gt;Students: How to Apply for a Haiku Idea&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.haiku-os.org/community/gsoc/2018/ideas" target="_blank" rel="nofollow noopener"&gt;Project Ideas&lt;/a&gt;
&amp;gt; If you have questions you can contact the devs on IRC: irc.freenode.org #haiku&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://norrist.devio.us/iocage_freebsd.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Jails with iocage&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD jails allow users to run multiple, isolated instances of FreeBSD on a single server. Iocage simplifies the management of FreeBSD Jails. Following this tutorial, the jails will be configured to bind to an IP address on the jail host's internal network, and the host OS will pass traffic from the external network to the jail.&lt;/p&gt;

&lt;p&gt;The jails will be managed with Iocage. Iocage uses ZFS properties to store configuration data for each jail, so a ZFS file system is required.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Network setup These steps will:

&lt;ul&gt;
&lt;li&gt;Set up the internal network.&lt;/li&gt;
&lt;li&gt;Enable the pf packet filter&lt;/li&gt;
&lt;li&gt;Configure pf pass internet traffic to and from the jail.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;PF is full featured firewall, and can do more than just pass traffic to an internal network. Refer to the PF documentation for additional configuration options.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Run the following to configure the internal network and enable pf.&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;sysrc cloned_interfaces+="lo1"
sysrc ifconfig_lo1="inet 192.0.2.1/24"
sysrc pf_enable="YES"
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Put the following in /etc/pf.conf&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;# Variables
# ext_if should be set to the hosts external NIC
ext_if = "vtnet0"
jail_if = "lo1"
jail_net = $jail_if:network

# NAT allows the jails to access the external network
nat on $ext_if from $jail_net to any -&amp;gt; ($ext_if)

# Redirect traffic on port 80 to the web server jail
# Add similar rules for additional jails
rdr pass on $ext_if inet proto tcp to port 80 -&amp;gt; 192.0.2.10
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Reboot to activate the network changes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ZFS&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The best way to use ZFS on a VPS is to attach block storage as a new disk.&lt;br&gt;
If block storage is not available, you can optionally use a file as the ZFS device.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Enable and start ZFS.&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;sysrc zfs_enable="YES"
service zfs start
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;ZFS using Block storage&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;List the available disks. &lt;br&gt;
If you are using a VPS, the block store will probably be the second disk.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;geom disk list&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a ZFS pool named jailstore.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;zpool create jailstore  /dev/vtbd1&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ZFS using a file&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Create the ZFS file.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;dd if=/dev/zero of=/zfsfile bs=1M count=4096&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a ZFS pool named jailstore.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;zpool create jailstore /zfsfile&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install iocage the easy way&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;pkg install py36-iocage&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Skip to "Using iocage"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Install iocage the hard way&lt;/li&gt;
&lt;li&gt;Swap file&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Smaller servers may not have enough RAM to build iocage. If needed, create a swap file and reboot.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;dd if=/dev/zero of=/swapfile bs=1M count=1024
echo 'swapfile="/swapfile"' &amp;gt;&amp;gt; /etc/rc.conf
reboot
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Install some build dependencies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;pkg install subversion python36 git-lite libgit2  py36-pip&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Building iocage requires the FreeBSD source.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;svn checkout https://svn.freebsd.org/base/releng/11.1 /usr/src&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get the latest FreeBSD ports tree.&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;portsnap fetch
portsnap extract

&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;build iocage.&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;cd /usr/ports/sysutils/iocage/
make install
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Using iocage&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;iocage activate jailstore
iocage fetch

iocage create -n www ip4_addr="lo1|192.0.2.10/24" -r 11.1-RELEASE
iocage start www
iocage console www
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Once you have a shell inside the jail, install and start Apache.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;pkg install apache24
sysrc apache24_enable="yes"
service apache24 start
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Port 80 on the jail will now be accessible on the hosts IP address.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Multiple jails.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Additional jails can be installed using the example above.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Install the new jail with the iocage create command , but use a different IP address&lt;/li&gt;
&lt;li&gt;Expose the new jail to the network by adding additional rules to pf.conf.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;iXsystems&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.ixsystems.com/blog/snia-report-2018/" target="_blank" rel="nofollow noopener"&gt;SNIA Persistent Memory Summit 2018 Report&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/internal/code-of-conduct.html" target="_blank" rel="nofollow noopener"&gt;New FreeBSD Code of Conduct&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The FreeBSD Project is inclusive. We want the FreeBSD Project to be a venue where people of all backgrounds can work together to make the best operating system, built by a strong community. These values extend beyond just development to all aspects of the Project. All those given recognition as members of the Project in whatever form are seen as ambassadors of the Project.&lt;/p&gt;

&lt;p&gt;Diversity is a huge strength and is critical to the long term success of the Project. To that end we have a few ground rules that we ask people to adhere to. This code applies equally to everyone representing the FreeBSD Project in any way, from new members, to committers, to the core team itself. These rules are intended to ensure a safe, harassment-free environment for all and to ensure that everyone feels welcome both working within, and interacting with, the Project.&lt;/p&gt;

&lt;p&gt;This document is not an exhaustive list of things that you should not do. Rather, consider it a guide to make it easier to enrich all of us and the technical communities in which we participate.&lt;/p&gt;

&lt;p&gt;This code of conduct applies to all spaces used by the FreeBSD Project, including our mailing lists, IRC channels, and social media, both online and off. Anyone who is found to violate this code of conduct may be sanctioned or expelled from FreeBSD Project controlled spaces at the discretion of the FreeBSD Code of Conduct Committee.&lt;/p&gt;

&lt;p&gt;Some FreeBSD Project spaces may have additional rules in place, which will be made clearly available to participants. Participants are responsible for knowing and abiding by these rules. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Harassment includes but is not limited to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Comments that reinforce systemic oppression related to gender, gender identity and expression, sexual orientation, disability, mental illness, neurodiversity, physical appearance, body size, age, race, or religion.&lt;/li&gt;
&lt;li&gt;Unwelcome comments regarding a person's lifestyle choices and practices, including those related to food, health, parenting, drugs, and employment.&lt;/li&gt;
&lt;li&gt;Deliberate misgendering.&lt;/li&gt;
&lt;li&gt;Deliberate use of "dead" or rejected names.&lt;/li&gt;
&lt;li&gt;Gratuitous or off-topic sexual images or behaviour in spaces where they're not appropriate.&lt;/li&gt;
&lt;li&gt;Physical contact and simulated physical contact (e.g., textual descriptions like "&lt;em&gt;hug&lt;/em&gt;" or "&lt;em&gt;backrub&lt;/em&gt;") without consent or after a request to stop.&lt;/li&gt;
&lt;li&gt;Threats of violence.&lt;/li&gt;
&lt;li&gt;Incitement of violence towards any individual, including encouraging a person to commit suicide or to engage in self-harm.&lt;/li&gt;
&lt;li&gt;Deliberate intimidation.&lt;/li&gt;
&lt;li&gt;Stalking or following.&lt;/li&gt;
&lt;li&gt;Harassing photography or recording, including logging online activity for harassment purposes.&lt;/li&gt;
&lt;li&gt;Sustained disruption of discussion.&lt;/li&gt;
&lt;li&gt;Unwelcome sexual attention.&lt;/li&gt;
&lt;li&gt;Pattern of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others.&lt;/li&gt;
&lt;li&gt;Continued one-on-one communication after requests to cease.&lt;/li&gt;
&lt;li&gt;Deliberate "outing" of any private aspect of a person's identity without their consent except as necessary to protect vulnerable people from intentional abuse.&lt;/li&gt;
&lt;li&gt;Publication of non-harassing private communication without consent.&lt;/li&gt;
&lt;li&gt;Publication of non-harassing private communication with consent but in a way that intentionally misrepresents the communication (e.g., removes context that changes the meaning).&lt;/li&gt;
&lt;li&gt;Knowingly making harmful false claims about a person.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Interview - Benno Rice - &lt;a href="mailto:benno@freebsd.org" target="_blank" rel="nofollow noopener"&gt;benno@freebsd.org&lt;/a&gt; / &lt;a href="https://twitter.com/jeamland" target="_blank" rel="nofollow noopener"&gt;@jeamland&lt;/a&gt;&lt;/h2&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.soldierx.com/news/libhijack-PoCGTFO-0x17" target="_blank" rel="nofollow noopener"&gt;libhijack in PoC||GTFO 0x17!&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Hijacking Your Free Beasties&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In the land of red devils known as Beasties exists a system devoid of meaningful exploit mitigations. As we explore this vast land of opportunity, we will meet our ELFish friends, [p]tracing their very moves in order to hijack them. Since unprivileged process debugging is&lt;br&gt;
enabled by default on FreeBSD, we can abuse PTrace to create anonymous memory mappings, inject code into them, and overwrite PLT/GOT entries. We will revive a tool called libhijack to make our nefarious activities of hijacking ELFs via PTrace relatively easy.&lt;/p&gt;

&lt;p&gt;Nothing presented here is technically new. However, this type of work has not been documented in this much detail, tying it all into one cohesive work. In Phrack 56, Silvio Cesare taught us ELF research enthusiasts how to hook the PLT/GOT. The Phrack 59 article on Runtime Process Infection briefly introduces the concept of injecting shared objects by injecting shellcode via PTrace that calls dlopen(). No other piece of research, however, has discovered the joys of forcing the application to create anonymous memory mappings in which to inject&lt;br&gt;
Code.&lt;/p&gt;

&lt;p&gt;This is only part one of a series of planned articles that will follow libhijack's development. The end goal is to be able to anonymously inject shared objects. The libhijack project is maintained by the SoldierX community.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Previous Research&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;All prior work injects code into the stack, the heap, or existing executable code. All three methods create issues on today's systems. On amd64 and arm64, the two architectures libhijack cares about, the stack is non-executable by default. jemalloc, the heap implementation&lt;br&gt;
on FreeBSD, creates non-executable mappings. Obviously overwriting existing executable code destroys a part of the executable image.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Role of ELF
&amp;gt; FreeBSD provides a nifty API for inspecting the entire virtual memory space of an application. The results returned from the API tells us the protection flags (readable, writable, executable) of each mapping. If FreeBSD provides such a rich API, why would we need to parse the
ELF headers?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;PLT/GOT hijacking requires parsing ELF headers. One would not be able to find the PLT/GOT without iterating through the Process Headers to find the Dynamic Headers, eventually ending up with the DT_PLTGOT entry.&lt;/p&gt;

&lt;p&gt;With FreeBSD's libprocstat API, we don't have a need for parsing ELF headers until we get to the PLT/GOT stage, but doing so early makes it easier for the attacker using libhijack&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Future of libhijack&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Writing devious code in assembly is cumbersome. Assembly doesn't scale well to multiple architectures. Instead, we would like to write our devious code in C, compiling to a shared object that gets injected anonymously. This requires writing a remote RTLD within libhijack and&lt;br&gt;
is in progress. Writing a remote RTLD will take a while as doing so is not an easy task.&lt;/p&gt;

&lt;p&gt;Additionally, creation of a general-purpose helper library that gets injected would be helpful. It could aid in PLT/GOT redirection attacks, possibly storing the addresses of functions we've previously hijacked. This work is dependent on the remote RTLD.&lt;/p&gt;

&lt;p&gt;libhijack currently lacks documentation. Once the ABI and API stabilize, formal documentation will be written.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Using libhijack, we can easily create anonymous memory mappings, inject into them arbitrary code, and hijack the PLT/GOT on FreeBSD. On HardenedBSD, a hardened derivative of FreeBSD, libhijack is fully mitigated through PaX NOEXEC.&lt;/p&gt;

&lt;p&gt;We've demonstrated that wrapper-style Capsicum is ineffective on FreeBSD. Through the use of libhijack, we emulate a control flow hijack in which the application is forced to call sandbox_open and fdlopen on the resulting file descriptor.&lt;/p&gt;

&lt;p&gt;Further work to support anonymous injection of full shared objects, along with their dependencies, will be supported in the future. Imagine injecting libpcap into Apache to sniff traffic whenever "GET /pcap" is sent.&lt;/p&gt;

&lt;p&gt;In order to prevent abuse of PTrace, FreeBSD should set the security.bsd.unprivileged_proc_debug to 0 by default. In order to prevent process manipulation, FreeBSD should implement PaX NOEXEC.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;libhijack can be found at &lt;a href="https://github.com/SoldierX/libhijack" target="_blank" rel="nofollow noopener"&gt;https://github.com/SoldierX/libhijack&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sircmpwn.github.io/2018/02/05/Introduction-to-POSIX-shell.html" target="_blank" rel="nofollow noopener"&gt;Introduction to POSIX shell&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;What the heck is the POSIX shell anyway? Well, the POSIX (the Portable Operating System Interface) shell is the standard Unix shell - standard meaning it was formally defined and shipped in a published standard. This makes shell scripts written for it portable, something no other shell can lay claim to. The POSIX shell is basically a formalized version of the venerable Bourne shell, and on your system it lives at /bin/sh, unless you’re one of the unlucky masses for whom this is a symlink to bash.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Why use POSIX shell?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The “Bourne Again shell”, aka bash, is not standardized. Its grammar, features, and behavior aren’t formally written up anywhere, and only one implementation of bash exists. Without a standard, bash is defined by its implementation. POSIX shell, on the other hand, has many competing implementations on many different operating systems - all of which are compatible with each other because they conform to the standard.&lt;/p&gt;

&lt;p&gt;Any shell that utilizes features specific to Bash are not portable, which means you cannot take them with you to any other system. Many Linux-based systems do not use Bash or GNU coreutils. Outside of Linux, pretty much everyone but Hurd does not ship GNU tools, including bash1. On any of these systems, scripts using “bashisms” will not work.&lt;/p&gt;

&lt;p&gt;This is bad if your users wish to utilize your software anywhere other than GNU/Linux. If your build tooling utilizes bashisms, your software will not build on anything but GNU/Linux. If you ship runtime scripts that use bashisms, your software will not run on anything but GNU/Linux. The case for sticking to POSIX shell in shipping software is compelling, but I argue that you should stick to POSIX shell for your personal scripts, too. You might not care now, but when you feel like flirting with other Unicies you’ll thank me when all of your scripts work.&lt;/p&gt;

&lt;p&gt;One place where POSIX shell does not shine is for interactive use - a place where I think bash sucks, too. Any shell you want to use for your day-to-day command line work is okay in my book. I use fish. Use whatever you like interactively, but stick to POSIX sh for your scripts.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;How do I use POSIX shell?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At the top of your scripts, put #!/bin/sh. You don’t have to worry about using env here like you might have been trained to do with bash: /bin/sh is the standardized location for the POSIX shell, and any standards-conforming system will either put it there or make your script work anyway.&lt;/p&gt;

&lt;p&gt;The next step is to avoid bashisms. There are many, but here are a few that might trip you up:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;[[ condition ]] does not work; use [ condition ]&lt;/li&gt;
&lt;li&gt;Arrays do not work; use IFS&lt;/li&gt;
&lt;li&gt;Local variables do not work; use a subshell&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The easiest way to learn about POSIX shell is to read the standard - it’s not too dry and shorter than you think.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Using standard coreutils&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The last step to writing portable scripts is to use portable tools. Your system may have GNU coreutils installed, which provides tools like grep and cut. Unfortunately, GNU has extended these tools with its own non-portable flags and tools. It’s important that you avoid these.&lt;/p&gt;

&lt;p&gt;One dead giveaway of a non-portable flag is long flags, e.g. grep --file=FILE as opposed to grep -f. The POSIX standard only defines the getopt function - not the proprietary GNU getopt_long function that’s used to interpret long options. As a result, no long flags are standardized. You might worry that this will make your scripts difficult to understand, but I think that on the whole it will not. Shell scripts are already pretty alien and require some knowledge to understand. Is knowledge of what the magic word grep means much different from knowledge of what grep -E means?&lt;/p&gt;

&lt;p&gt;I also like that short flags allow you to make more concise command lines. Which is better: ps --all --format=user --without-tty, or ps -aux? If you are inclined to think the former, do you also prefer function(a, b, c) { return a + b + c; } over (a, b, c) =&amp;gt; a + b + c? Conciseness matters, and POSIX shell supports comments if necessary!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Some tips for using short flags:&lt;/li&gt;
&lt;li&gt;They can be collapsed: cmd -a -b -c is equivalent to cmd -abc&lt;/li&gt;
&lt;li&gt;If they take additional arguments, either a space or no separation is acceptable: cmd -f"hello world" or cmd -f "hello world"&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A good reference for learning about standardized commands is, once again, the standard. From this page, search for the command you want, or navigate through “Shell &amp;amp; Utilities” -&amp;gt; “Utilities” for a list. If you have man-pages installed, you will also find POSIX man pages installed on your system with the p postfix, such as man 1p grep. Note: at the time of writing, the POSIX man pages do not use dashes if your locale is UTF-8, which makes searching for flags with / difficult. Use env LC_ALL=POSIX man 1p grep if you need to search for flags, and I’ll speak to the maintainer of man-pages about this.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://landonf.org/code/freebsd/Broadcom_WiFi_Improvements.20180122.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Broadcom Wi-Fi Improvements&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Since 2015, I've been working on improving FreeBSD support for Broadcom Wi-Fi devices and SoCs, including authoring the bhnd(4) driver family, which provides a unified bus and driver programming interface for these devices.&lt;/p&gt;

&lt;p&gt;First committed in early 2016, bhnd(4) allowed us to quickly bring up FreeBSD/MIPS on Broadcom SoCs, but it has taken much longer to implement the full set of features required to support modern Broadcom SoftMAC Wi-Fi hardware.&lt;/p&gt;

&lt;p&gt;Thanks to the generosity of the FreeBSD Foundation, I've recently finished implementing the necessary improvements to the bhnd(4) driver family. With these changes in place, I was finally able to port the existing bwn(4) Broadcom SoftMAC Wi-Fi driver to the bhnd(4) bus, and implement initial support for the BCM43224 and BCM43225 chipsets, with additional hardware support to be forthcoming.&lt;/p&gt;

&lt;p&gt;Now that my efforts on FreeBSD/Broadcom Wi-Fi support have progressed far enough to be generally useful, I wanted to take some time to provide a brief overview of Broadcom's Wi-Fi hardware, and explain how my work provides a foundation for further FreeBSD Broadcom Wi-Fi/SoC improvements.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A Brief Background on Broadcom Wi-Fi Hardware&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Broadcom's Wi-Fi devices are members of the Broadcom Home Networking Division (BHND) device family; other BHND devices include MIPS/ARM SoCs (including Wi-Fi SoCs commonly found in consumer access points), as well as a large variety of related networking hardware.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;BHND devices utilize a common set of Broadcom IP cores (or "functional blocks") connected via one of two on-chip bus architectures:&lt;/li&gt;
&lt;li&gt;Hardware designed prior to 2009 used Broadcom’s “SSB” backplane architecture, based on Sonics Silicon’s interconnect IP.&lt;/li&gt;
&lt;li&gt;Subsequent hardware adopted Broadcom’s “BCMA” backplane, based on ARM’s AMBA IP. The IP cores used in earlier SSB-based devices were adapted for compatibility with the new backplane.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;When BHND hardware is used in a PCI Wi-Fi card, or a SDIO Wi-Fi module, the device's dual-mode peripheral controller is configured to operate as an endpoint device on the host's peripheral bus, bridging access to the SoC hardware:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Host access to SoC address space is provided via a set of register windows (e.g., a set of configurable windows into SoC address space mapped via PCI BARs)&lt;/li&gt;
&lt;li&gt;DMA is supported by the bridge core’s sparse mapping of host address space into the backplane address space. These address regions may be used as a target for the on-chip DMA engines.&lt;/li&gt;
&lt;li&gt;Any backplane interrupt vectors routed to the bridge core may be mapped by the bridge to host interrupts (e.g., PCI INTx/MSI/MSI-X).&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The host is generally expected to provide drivers for the IP cores found on the SoC backplane; since these cores are found in both BHND SoCs and BHND Wi-Fi devices, it is advantageous to share driver and platform code between the two targets.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Modernizing FreeBSD's Broadcom SoftMAC Wi-Fi Support&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD support for Broadcom SoftMAC Wi-Fi adapters is provided by two partially overlapping PCI/CardBus drivers:&lt;/li&gt;
&lt;li&gt;Legacy Wi-Fi adapters are supported by bwi(4). This driver remains in-tree to support devices incompatible with v4 or later firmware (e.g. BCM4301, BCM4302, BCM4306 rev 1-2), all of which were released prior to December 2002.&lt;/li&gt;
&lt;li&gt;Modern Wi-Fi adapters are supported by bwn(4), with access to on-chip cores mediated by bhnd(4).&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Prior to my work porting bwn(4) to bhnd(4), access to on-chip cores was mediated by siba_bwn, a PCI/WiFi-specific derivative of the legacy siba(4) SSB bus driver. There were two major limitations to siba_bwn that have long blocked adding support for newer SoftMAC Wi-Fi chipsets: the newer BCMA interconnect found in post-2009 hardware was not supported by siba(4), and siba_bwn assumed a PCI/PCIe bridge, preventing its use on FreeBSD/MIPS Broadcom SoCs with interconnect-attached D11 cores.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The new bhnd(4) driver family, written as a replacement for siba(4) and siba_bwn, provides:&lt;/li&gt;
&lt;li&gt;A unified bus driver interface for both SSB and BCMA on-chip interconnects&lt;/li&gt;
&lt;li&gt;A generic BHND bridge driver framework for host-connected BHND devices (e.g. Wi-Fi adapters, etc)&lt;/li&gt;
&lt;li&gt;A PCI/PCIe bridge core driver, for PCI-attached BHND devices.&lt;/li&gt;
&lt;li&gt;An abstract BHND NVRAM API, with support for the varied NVRAM formats found in BHND Wi-Fi adapters and SoCs.&lt;/li&gt;
&lt;li&gt;Drivers for common BHND platform peripherals (UARTs, SPROM/flash, PMUs, etc)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;By porting bwn(4) to bhnd(4), we are now able to support existing BCMA devices with MAC/PHY/Radio combinations readily supported by bwn(4), as was the case with the BCM43224 and BCM43225 chipsets. This also opens the door to porting additional PHY support from Broadcom’s ISC-licensed Linux drivers, and will allow us to bring up bwn(4) on Broadcom WiSoCs supported by FreeBSD/MIPS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.tumfatig.net/20180129/monitor-opensmtpd-using-logstash-grafana/" target="_blank" rel="nofollow noopener"&gt;Monitor OpenSMTPD using Logstash and Grafana&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Logs are usefull. Graphs are sexy. Here’s a way to get a view on what happens to your OpenSMTPD traffic, using Web v2.0 tools ; namely Logstash &amp;amp; Grafana.&lt;br&gt;
For those who would not be aware of those tools, logstash is some kind of log-parser that can eat syslog formatted logs and write them into elasticsearch ; in “document” format. Grafana is a Web frontend that can dig into various databases and render graphics from requests.&lt;br&gt;
I won’t go into the whole “how to install” process here. Installation is quite straight forward and online documentation is quite clear.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What you need&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenSMTPD deals with emails and logs its activity via Syslog.&lt;br&gt;
Syslog is configured to send the logs to Logstash.&lt;br&gt;
Logstash has a set of rules configured to transform the text-oriented information into searchable document-oriented data. The transformed data is stored into Elasticsearch.&lt;br&gt;
Elasticsearch provides Web API to search and find stuff.&lt;br&gt;
Grafana connects to ELS to get data and draw the graphs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/CharmBUG/events/247995596/" target="_blank" rel="nofollow noopener"&gt;CharmBUG Presentation - Writing FreeBSD Malware&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-February/014180.html" target="_blank" rel="nofollow noopener"&gt;March London *BSD meeting 13/03/18&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/MateuszPiotrowski/Ports/Workshop" target="_blank" rel="nofollow noopener"&gt;FreBSD Ports Workshop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://speakerdeck.com/tsutsui/osc2018osaka" target="_blank" rel="nofollow noopener"&gt;The history of NetBSD/atari and support for ATARI compatible Milan / OSC2018Osaka&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.tiltedwindmillpress.com/?product=ssh-mastery-2nd-edition" target="_blank" rel="nofollow noopener"&gt;SSH Mastery, 2nd Edition&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Stephen - &lt;a href="http://dpaste.com/06WTRB9#wrap" target="_blank" rel="nofollow noopener"&gt;Viewer Interview Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;pb - &lt;a href="http://dpaste.com/0TZV6CM#wrap" target="_blank" rel="nofollow noopener"&gt;trust expanding your 280TB pool&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tim - &lt;a href="http://dpaste.com/0759X1E#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS questions for the ZFS Man&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Daniel - &lt;a href="http://dpaste.com/1SJXSBQ#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS full backup question&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>GSoC 2018 Projects announced, tutorial FreeBSD jails with iocage, new Code of Conduct for FreeBSD, libhijack, and fancy monitoring for OpenSMTPD</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://summerofcode.withgoogle.com/organizations/?sp-page=5" target="_blank" rel="nofollow noopener">Google Summer of Code 2018</a></h3>

<ul>
<li><a href="https://www.freebsd.org/projects/summerofcode.html" target="_blank" rel="nofollow noopener">FreeBSD</a></li>
<li><a href="https://wiki.freebsd.org/SummerOfCodeIdeas" target="_blank" rel="nofollow noopener">FreeBSD Google Summer oF Code Ideas</a></li>
</ul>

<blockquote>
<p>You can join #freebsd-soc on the efnet IRC network to chat with FreeBSD developers interested in mentoring student proposals and projects, past FreeBSD/GSoC students, and other students applying to FreeBSD/GSoC this year.</p>
</blockquote>

<ul>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2018/02/12/msg000765.html" target="_blank" rel="nofollow noopener">NetBSD</a></li>
</ul>

<blockquote>
<p>You can get a stipend (paid for by Google) and spend a few months getting to know and improving the insides of NetBSD or pkgsrc.</p>
</blockquote>

<pre><code>The schedule is:
12-27 March             Applying
23 April                Find out if you were accepted
14 May - 22 August      Do the project!

We have some suggestions for suitable projects:
- ARM EFI bootloader
- Using libFuzzer on base tools
- Refactoring ALTQ (QoS implementation) and integrating with NPF
- Testsuite for libcurses
- Improve pkgin

Other suggestions and details are at:
https://wiki.netbsd.org/projects/gsoc/
</code></pre>

<blockquote>
<p>These projects are suggestions; you can come up with your own. Suggestions for other suitable projects are welcome.</p>

<p>Feel free to contact, or chat around on IRC: irc.freenode.org #netbsd #netbsd-code #pkgsrc</p>
</blockquote>

<ul>
<li><a href="https://summerofcode.withgoogle.com/organizations/4821756754264064/" target="_blank" rel="nofollow noopener">Haiku</a>

<ul>
<li><a href="https://www.haiku-os.org/community/gsoc/2018/students" target="_blank" rel="nofollow noopener">Students: How to Apply for a Haiku Idea</a></li>
<li><a href="https://www.haiku-os.org/community/gsoc/2018/ideas" target="_blank" rel="nofollow noopener">Project Ideas</a>
&gt; If you have questions you can contact the devs on IRC: irc.freenode.org #haiku</li>
</ul></li>
</ul>

<hr>

<h3><a href="http://norrist.devio.us/iocage_freebsd.html" target="_blank" rel="nofollow noopener">FreeBSD Jails with iocage</a></h3>

<ul>
<li>Introduction</li>
</ul>

<blockquote>
<p>FreeBSD jails allow users to run multiple, isolated instances of FreeBSD on a single server. Iocage simplifies the management of FreeBSD Jails. Following this tutorial, the jails will be configured to bind to an IP address on the jail host's internal network, and the host OS will pass traffic from the external network to the jail.</p>

<p>The jails will be managed with Iocage. Iocage uses ZFS properties to store configuration data for each jail, so a ZFS file system is required.</p>
</blockquote>

<ul>
<li>Network setup These steps will:

<ul>
<li>Set up the internal network.</li>
<li>Enable the pf packet filter</li>
<li>Configure pf pass internet traffic to and from the jail.</li>
</ul></li>
</ul>

<blockquote>
<p>PF is full featured firewall, and can do more than just pass traffic to an internal network. Refer to the PF documentation for additional configuration options.</p>
</blockquote>

<ul>
<li>Run the following to configure the internal network and enable pf.</li>
</ul>

<pre><code>sysrc cloned_interfaces+="lo1"
sysrc ifconfig_lo1="inet 192.0.2.1/24"
sysrc pf_enable="YES"
</code></pre>

<ul>
<li>Put the following in /etc/pf.conf</li>
</ul>

<pre><code># Variables
# ext_if should be set to the hosts external NIC
ext_if = "vtnet0"
jail_if = "lo1"
jail_net = $jail_if:network

# NAT allows the jails to access the external network
nat on $ext_if from $jail_net to any -&gt; ($ext_if)

# Redirect traffic on port 80 to the web server jail
# Add similar rules for additional jails
rdr pass on $ext_if inet proto tcp to port 80 -&gt; 192.0.2.10
</code></pre>

<ul>
<li><p>Reboot to activate the network changes</p></li>
<li><p>ZFS</p></li>
</ul>

<blockquote>
<p>The best way to use ZFS on a VPS is to attach block storage as a new disk.<br>
If block storage is not available, you can optionally use a file as the ZFS device.</p>
</blockquote>

<ul>
<li>Enable and start ZFS.</li>
</ul>

<pre><code>sysrc zfs_enable="YES"
service zfs start
</code></pre>

<ul>
<li>ZFS using Block storage</li>
</ul>

<blockquote>
<p>List the available disks. <br>
If you are using a VPS, the block store will probably be the second disk.</p>
</blockquote>

<p><code>geom disk list</code></p>

<ul>
<li>Create a ZFS pool named jailstore.</li>
</ul>

<p><code>zpool create jailstore  /dev/vtbd1</code></p>

<ul>
<li>ZFS using a file</li>
</ul>

<blockquote>
<p>Create the ZFS file.</p>
</blockquote>

<p><code>dd if=/dev/zero of=/zfsfile bs=1M count=4096</code></p>

<ul>
<li>Create a ZFS pool named jailstore.</li>
</ul>

<p><code>zpool create jailstore /zfsfile</code></p>

<ul>
<li>Install iocage the easy way</li>
</ul>

<p><code>pkg install py36-iocage</code></p>

<blockquote>
<p>Skip to "Using iocage"</p>
</blockquote>

<ul>
<li>Install iocage the hard way</li>
<li>Swap file</li>
</ul>

<blockquote>
<p>Smaller servers may not have enough RAM to build iocage. If needed, create a swap file and reboot.</p>
</blockquote>

<pre><code>dd if=/dev/zero of=/swapfile bs=1M count=1024
echo 'swapfile="/swapfile"' &gt;&gt; /etc/rc.conf
reboot
</code></pre>

<ul>
<li>Install some build dependencies</li>
</ul>

<p><code>pkg install subversion python36 git-lite libgit2  py36-pip</code></p>

<ul>
<li>Building iocage requires the FreeBSD source.</li>
</ul>

<p><code>svn checkout https://svn.freebsd.org/base/releng/11.1 /usr/src</code></p>

<ul>
<li>Get the latest FreeBSD ports tree.</li>
</ul>

<pre><code>portsnap fetch
portsnap extract

</code></pre>

<ul>
<li>build iocage.</li>
</ul>

<pre><code>cd /usr/ports/sysutils/iocage/
make install
</code></pre>

<ul>
<li>Using iocage</li>
</ul>

<pre><code>iocage activate jailstore
iocage fetch

iocage create -n www ip4_addr="lo1|192.0.2.10/24" -r 11.1-RELEASE
iocage start www
iocage console www
</code></pre>

<blockquote>
<p>Once you have a shell inside the jail, install and start Apache.</p>
</blockquote>

<pre><code>pkg install apache24
sysrc apache24_enable="yes"
service apache24 start
</code></pre>

<blockquote>
<p>Port 80 on the jail will now be accessible on the hosts IP address.</p>
</blockquote>

<ul>
<li>Multiple jails.</li>
</ul>

<blockquote>
<p>Additional jails can be installed using the example above.</p>
</blockquote>

<ul>
<li>Install the new jail with the iocage create command , but use a different IP address</li>
<li>Expose the new jail to the network by adding additional rules to pf.conf.</li>
</ul>

<hr>

<h3>iXsystems</h3>

<ul>
<li><a href="https://www.ixsystems.com/blog/snia-report-2018/" target="_blank" rel="nofollow noopener">SNIA Persistent Memory Summit 2018 Report</a></li>
</ul>

<h3><a href="https://www.freebsd.org/internal/code-of-conduct.html" target="_blank" rel="nofollow noopener">New FreeBSD Code of Conduct</a></h3>

<blockquote>
<p>The FreeBSD Project is inclusive. We want the FreeBSD Project to be a venue where people of all backgrounds can work together to make the best operating system, built by a strong community. These values extend beyond just development to all aspects of the Project. All those given recognition as members of the Project in whatever form are seen as ambassadors of the Project.</p>

<p>Diversity is a huge strength and is critical to the long term success of the Project. To that end we have a few ground rules that we ask people to adhere to. This code applies equally to everyone representing the FreeBSD Project in any way, from new members, to committers, to the core team itself. These rules are intended to ensure a safe, harassment-free environment for all and to ensure that everyone feels welcome both working within, and interacting with, the Project.</p>

<p>This document is not an exhaustive list of things that you should not do. Rather, consider it a guide to make it easier to enrich all of us and the technical communities in which we participate.</p>

<p>This code of conduct applies to all spaces used by the FreeBSD Project, including our mailing lists, IRC channels, and social media, both online and off. Anyone who is found to violate this code of conduct may be sanctioned or expelled from FreeBSD Project controlled spaces at the discretion of the FreeBSD Code of Conduct Committee.</p>

<p>Some FreeBSD Project spaces may have additional rules in place, which will be made clearly available to participants. Participants are responsible for knowing and abiding by these rules. </p>
</blockquote>

<p>Harassment includes but is not limited to:</p>

<ul>
<li>Comments that reinforce systemic oppression related to gender, gender identity and expression, sexual orientation, disability, mental illness, neurodiversity, physical appearance, body size, age, race, or religion.</li>
<li>Unwelcome comments regarding a person's lifestyle choices and practices, including those related to food, health, parenting, drugs, and employment.</li>
<li>Deliberate misgendering.</li>
<li>Deliberate use of "dead" or rejected names.</li>
<li>Gratuitous or off-topic sexual images or behaviour in spaces where they're not appropriate.</li>
<li>Physical contact and simulated physical contact (e.g., textual descriptions like "<em>hug</em>" or "<em>backrub</em>") without consent or after a request to stop.</li>
<li>Threats of violence.</li>
<li>Incitement of violence towards any individual, including encouraging a person to commit suicide or to engage in self-harm.</li>
<li>Deliberate intimidation.</li>
<li>Stalking or following.</li>
<li>Harassing photography or recording, including logging online activity for harassment purposes.</li>
<li>Sustained disruption of discussion.</li>
<li>Unwelcome sexual attention.</li>
<li>Pattern of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others.</li>
<li>Continued one-on-one communication after requests to cease.</li>
<li>Deliberate "outing" of any private aspect of a person's identity without their consent except as necessary to protect vulnerable people from intentional abuse.</li>
<li>Publication of non-harassing private communication without consent.</li>
<li>Publication of non-harassing private communication with consent but in a way that intentionally misrepresents the communication (e.g., removes context that changes the meaning).</li>
<li>Knowingly making harmful false claims about a person.
***</li>
</ul>

<h2>Interview - Benno Rice - <a href="mailto:benno@freebsd.org" target="_blank" rel="nofollow noopener">benno@freebsd.org</a> / <a href="https://twitter.com/jeamland" target="_blank" rel="nofollow noopener">@jeamland</a></h2>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.soldierx.com/news/libhijack-PoCGTFO-0x17" target="_blank" rel="nofollow noopener">libhijack in PoC||GTFO 0x17!</a></h3>

<ul>
<li>Hijacking Your Free Beasties</li>
</ul>

<blockquote>
<p>In the land of red devils known as Beasties exists a system devoid of meaningful exploit mitigations. As we explore this vast land of opportunity, we will meet our ELFish friends, [p]tracing their very moves in order to hijack them. Since unprivileged process debugging is<br>
enabled by default on FreeBSD, we can abuse PTrace to create anonymous memory mappings, inject code into them, and overwrite PLT/GOT entries. We will revive a tool called libhijack to make our nefarious activities of hijacking ELFs via PTrace relatively easy.</p>

<p>Nothing presented here is technically new. However, this type of work has not been documented in this much detail, tying it all into one cohesive work. In Phrack 56, Silvio Cesare taught us ELF research enthusiasts how to hook the PLT/GOT. The Phrack 59 article on Runtime Process Infection briefly introduces the concept of injecting shared objects by injecting shellcode via PTrace that calls dlopen(). No other piece of research, however, has discovered the joys of forcing the application to create anonymous memory mappings in which to inject<br>
Code.</p>

<p>This is only part one of a series of planned articles that will follow libhijack's development. The end goal is to be able to anonymously inject shared objects. The libhijack project is maintained by the SoldierX community.</p>
</blockquote>

<ul>
<li>Previous Research</li>
</ul>

<blockquote>
<p>All prior work injects code into the stack, the heap, or existing executable code. All three methods create issues on today's systems. On amd64 and arm64, the two architectures libhijack cares about, the stack is non-executable by default. jemalloc, the heap implementation<br>
on FreeBSD, creates non-executable mappings. Obviously overwriting existing executable code destroys a part of the executable image.</p>
</blockquote>

<ul>
<li>The Role of ELF
&gt; FreeBSD provides a nifty API for inspecting the entire virtual memory space of an application. The results returned from the API tells us the protection flags (readable, writable, executable) of each mapping. If FreeBSD provides such a rich API, why would we need to parse the
ELF headers?</li>
</ul>

<blockquote>
<p>PLT/GOT hijacking requires parsing ELF headers. One would not be able to find the PLT/GOT without iterating through the Process Headers to find the Dynamic Headers, eventually ending up with the DT_PLTGOT entry.</p>

<p>With FreeBSD's libprocstat API, we don't have a need for parsing ELF headers until we get to the PLT/GOT stage, but doing so early makes it easier for the attacker using libhijack</p>
</blockquote>

<ul>
<li>The Future of libhijack</li>
</ul>

<blockquote>
<p>Writing devious code in assembly is cumbersome. Assembly doesn't scale well to multiple architectures. Instead, we would like to write our devious code in C, compiling to a shared object that gets injected anonymously. This requires writing a remote RTLD within libhijack and<br>
is in progress. Writing a remote RTLD will take a while as doing so is not an easy task.</p>

<p>Additionally, creation of a general-purpose helper library that gets injected would be helpful. It could aid in PLT/GOT redirection attacks, possibly storing the addresses of functions we've previously hijacked. This work is dependent on the remote RTLD.</p>

<p>libhijack currently lacks documentation. Once the ABI and API stabilize, formal documentation will be written.</p>
</blockquote>

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

<blockquote>
<p>Using libhijack, we can easily create anonymous memory mappings, inject into them arbitrary code, and hijack the PLT/GOT on FreeBSD. On HardenedBSD, a hardened derivative of FreeBSD, libhijack is fully mitigated through PaX NOEXEC.</p>

<p>We've demonstrated that wrapper-style Capsicum is ineffective on FreeBSD. Through the use of libhijack, we emulate a control flow hijack in which the application is forced to call sandbox_open and fdlopen on the resulting file descriptor.</p>

<p>Further work to support anonymous injection of full shared objects, along with their dependencies, will be supported in the future. Imagine injecting libpcap into Apache to sniff traffic whenever "GET /pcap" is sent.</p>

<p>In order to prevent abuse of PTrace, FreeBSD should set the security.bsd.unprivileged_proc_debug to 0 by default. In order to prevent process manipulation, FreeBSD should implement PaX NOEXEC.</p>
</blockquote>

<ul>
<li>libhijack can be found at <a href="https://github.com/SoldierX/libhijack" target="_blank" rel="nofollow noopener">https://github.com/SoldierX/libhijack</a></li>
</ul>

<hr>

<h3><a href="https://sircmpwn.github.io/2018/02/05/Introduction-to-POSIX-shell.html" target="_blank" rel="nofollow noopener">Introduction to POSIX shell</a></h3>

<blockquote>
<p>What the heck is the POSIX shell anyway? Well, the POSIX (the Portable Operating System Interface) shell is the standard Unix shell - standard meaning it was formally defined and shipped in a published standard. This makes shell scripts written for it portable, something no other shell can lay claim to. The POSIX shell is basically a formalized version of the venerable Bourne shell, and on your system it lives at /bin/sh, unless you’re one of the unlucky masses for whom this is a symlink to bash.</p>
</blockquote>

<ul>
<li>Why use POSIX shell?</li>
</ul>

<blockquote>
<p>The “Bourne Again shell”, aka bash, is not standardized. Its grammar, features, and behavior aren’t formally written up anywhere, and only one implementation of bash exists. Without a standard, bash is defined by its implementation. POSIX shell, on the other hand, has many competing implementations on many different operating systems - all of which are compatible with each other because they conform to the standard.</p>

<p>Any shell that utilizes features specific to Bash are not portable, which means you cannot take them with you to any other system. Many Linux-based systems do not use Bash or GNU coreutils. Outside of Linux, pretty much everyone but Hurd does not ship GNU tools, including bash1. On any of these systems, scripts using “bashisms” will not work.</p>

<p>This is bad if your users wish to utilize your software anywhere other than GNU/Linux. If your build tooling utilizes bashisms, your software will not build on anything but GNU/Linux. If you ship runtime scripts that use bashisms, your software will not run on anything but GNU/Linux. The case for sticking to POSIX shell in shipping software is compelling, but I argue that you should stick to POSIX shell for your personal scripts, too. You might not care now, but when you feel like flirting with other Unicies you’ll thank me when all of your scripts work.</p>

<p>One place where POSIX shell does not shine is for interactive use - a place where I think bash sucks, too. Any shell you want to use for your day-to-day command line work is okay in my book. I use fish. Use whatever you like interactively, but stick to POSIX sh for your scripts.</p>
</blockquote>

<ul>
<li>How do I use POSIX shell?</li>
</ul>

<blockquote>
<p>At the top of your scripts, put #!/bin/sh. You don’t have to worry about using env here like you might have been trained to do with bash: /bin/sh is the standardized location for the POSIX shell, and any standards-conforming system will either put it there or make your script work anyway.</p>

<p>The next step is to avoid bashisms. There are many, but here are a few that might trip you up:</p>
</blockquote>

<ul>
<li>[[ condition ]] does not work; use [ condition ]</li>
<li>Arrays do not work; use IFS</li>
<li>Local variables do not work; use a subshell</li>
</ul>

<blockquote>
<p>The easiest way to learn about POSIX shell is to read the standard - it’s not too dry and shorter than you think.</p>
</blockquote>

<ul>
<li>Using standard coreutils</li>
</ul>

<blockquote>
<p>The last step to writing portable scripts is to use portable tools. Your system may have GNU coreutils installed, which provides tools like grep and cut. Unfortunately, GNU has extended these tools with its own non-portable flags and tools. It’s important that you avoid these.</p>

<p>One dead giveaway of a non-portable flag is long flags, e.g. grep --file=FILE as opposed to grep -f. The POSIX standard only defines the getopt function - not the proprietary GNU getopt_long function that’s used to interpret long options. As a result, no long flags are standardized. You might worry that this will make your scripts difficult to understand, but I think that on the whole it will not. Shell scripts are already pretty alien and require some knowledge to understand. Is knowledge of what the magic word grep means much different from knowledge of what grep -E means?</p>

<p>I also like that short flags allow you to make more concise command lines. Which is better: ps --all --format=user --without-tty, or ps -aux? If you are inclined to think the former, do you also prefer function(a, b, c) { return a + b + c; } over (a, b, c) =&gt; a + b + c? Conciseness matters, and POSIX shell supports comments if necessary!</p>
</blockquote>

<ul>
<li>Some tips for using short flags:</li>
<li>They can be collapsed: cmd -a -b -c is equivalent to cmd -abc</li>
<li>If they take additional arguments, either a space or no separation is acceptable: cmd -f"hello world" or cmd -f "hello world"</li>
</ul>

<blockquote>
<p>A good reference for learning about standardized commands is, once again, the standard. From this page, search for the command you want, or navigate through “Shell &amp; Utilities” -&gt; “Utilities” for a list. If you have man-pages installed, you will also find POSIX man pages installed on your system with the p postfix, such as man 1p grep. Note: at the time of writing, the POSIX man pages do not use dashes if your locale is UTF-8, which makes searching for flags with / difficult. Use env LC_ALL=POSIX man 1p grep if you need to search for flags, and I’ll speak to the maintainer of man-pages about this.</p>
</blockquote>

<hr>

<h3><a href="http://landonf.org/code/freebsd/Broadcom_WiFi_Improvements.20180122.html" target="_blank" rel="nofollow noopener">FreeBSD Broadcom Wi-Fi Improvements</a></h3>

<ul>
<li>Introduction</li>
</ul>

<blockquote>
<p>Since 2015, I've been working on improving FreeBSD support for Broadcom Wi-Fi devices and SoCs, including authoring the bhnd(4) driver family, which provides a unified bus and driver programming interface for these devices.</p>

<p>First committed in early 2016, bhnd(4) allowed us to quickly bring up FreeBSD/MIPS on Broadcom SoCs, but it has taken much longer to implement the full set of features required to support modern Broadcom SoftMAC Wi-Fi hardware.</p>

<p>Thanks to the generosity of the FreeBSD Foundation, I've recently finished implementing the necessary improvements to the bhnd(4) driver family. With these changes in place, I was finally able to port the existing bwn(4) Broadcom SoftMAC Wi-Fi driver to the bhnd(4) bus, and implement initial support for the BCM43224 and BCM43225 chipsets, with additional hardware support to be forthcoming.</p>

<p>Now that my efforts on FreeBSD/Broadcom Wi-Fi support have progressed far enough to be generally useful, I wanted to take some time to provide a brief overview of Broadcom's Wi-Fi hardware, and explain how my work provides a foundation for further FreeBSD Broadcom Wi-Fi/SoC improvements.</p>
</blockquote>

<ul>
<li>A Brief Background on Broadcom Wi-Fi Hardware</li>
</ul>

<blockquote>
<p>Broadcom's Wi-Fi devices are members of the Broadcom Home Networking Division (BHND) device family; other BHND devices include MIPS/ARM SoCs (including Wi-Fi SoCs commonly found in consumer access points), as well as a large variety of related networking hardware.</p>
</blockquote>

<ul>
<li>BHND devices utilize a common set of Broadcom IP cores (or "functional blocks") connected via one of two on-chip bus architectures:</li>
<li>Hardware designed prior to 2009 used Broadcom’s “SSB” backplane architecture, based on Sonics Silicon’s interconnect IP.</li>
<li>Subsequent hardware adopted Broadcom’s “BCMA” backplane, based on ARM’s AMBA IP. The IP cores used in earlier SSB-based devices were adapted for compatibility with the new backplane.</li>
</ul>

<blockquote>
<p>When BHND hardware is used in a PCI Wi-Fi card, or a SDIO Wi-Fi module, the device's dual-mode peripheral controller is configured to operate as an endpoint device on the host's peripheral bus, bridging access to the SoC hardware:</p>
</blockquote>

<ul>
<li>Host access to SoC address space is provided via a set of register windows (e.g., a set of configurable windows into SoC address space mapped via PCI BARs)</li>
<li>DMA is supported by the bridge core’s sparse mapping of host address space into the backplane address space. These address regions may be used as a target for the on-chip DMA engines.</li>
<li>Any backplane interrupt vectors routed to the bridge core may be mapped by the bridge to host interrupts (e.g., PCI INTx/MSI/MSI-X).</li>
</ul>

<blockquote>
<p>The host is generally expected to provide drivers for the IP cores found on the SoC backplane; since these cores are found in both BHND SoCs and BHND Wi-Fi devices, it is advantageous to share driver and platform code between the two targets.</p>
</blockquote>

<ul>
<li><p>Modernizing FreeBSD's Broadcom SoftMAC Wi-Fi Support</p>

<ul>
<li>FreeBSD support for Broadcom SoftMAC Wi-Fi adapters is provided by two partially overlapping PCI/CardBus drivers:</li>
<li>Legacy Wi-Fi adapters are supported by bwi(4). This driver remains in-tree to support devices incompatible with v4 or later firmware (e.g. BCM4301, BCM4302, BCM4306 rev 1-2), all of which were released prior to December 2002.</li>
<li>Modern Wi-Fi adapters are supported by bwn(4), with access to on-chip cores mediated by bhnd(4).</li>
</ul></li>
</ul>

<blockquote>
<p>Prior to my work porting bwn(4) to bhnd(4), access to on-chip cores was mediated by siba_bwn, a PCI/WiFi-specific derivative of the legacy siba(4) SSB bus driver. There were two major limitations to siba_bwn that have long blocked adding support for newer SoftMAC Wi-Fi chipsets: the newer BCMA interconnect found in post-2009 hardware was not supported by siba(4), and siba_bwn assumed a PCI/PCIe bridge, preventing its use on FreeBSD/MIPS Broadcom SoCs with interconnect-attached D11 cores.</p>
</blockquote>

<ul>
<li>The new bhnd(4) driver family, written as a replacement for siba(4) and siba_bwn, provides:</li>
<li>A unified bus driver interface for both SSB and BCMA on-chip interconnects</li>
<li>A generic BHND bridge driver framework for host-connected BHND devices (e.g. Wi-Fi adapters, etc)</li>
<li>A PCI/PCIe bridge core driver, for PCI-attached BHND devices.</li>
<li>An abstract BHND NVRAM API, with support for the varied NVRAM formats found in BHND Wi-Fi adapters and SoCs.</li>
<li>Drivers for common BHND platform peripherals (UARTs, SPROM/flash, PMUs, etc)</li>
</ul>

<blockquote>
<p>By porting bwn(4) to bhnd(4), we are now able to support existing BCMA devices with MAC/PHY/Radio combinations readily supported by bwn(4), as was the case with the BCM43224 and BCM43225 chipsets. This also opens the door to porting additional PHY support from Broadcom’s ISC-licensed Linux drivers, and will allow us to bring up bwn(4) on Broadcom WiSoCs supported by FreeBSD/MIPS.</p>
</blockquote>

<hr>

<h3><a href="https://www.tumfatig.net/20180129/monitor-opensmtpd-using-logstash-grafana/" target="_blank" rel="nofollow noopener">Monitor OpenSMTPD using Logstash and Grafana</a></h3>

<blockquote>
<p>Logs are usefull. Graphs are sexy. Here’s a way to get a view on what happens to your OpenSMTPD traffic, using Web v2.0 tools ; namely Logstash &amp; Grafana.<br>
For those who would not be aware of those tools, logstash is some kind of log-parser that can eat syslog formatted logs and write them into elasticsearch ; in “document” format. Grafana is a Web frontend that can dig into various databases and render graphics from requests.<br>
I won’t go into the whole “how to install” process here. Installation is quite straight forward and online documentation is quite clear.</p>
</blockquote>

<ul>
<li>What you need</li>
</ul>

<blockquote>
<p>OpenSMTPD deals with emails and logs its activity via Syslog.<br>
Syslog is configured to send the logs to Logstash.<br>
Logstash has a set of rules configured to transform the text-oriented information into searchable document-oriented data. The transformed data is stored into Elasticsearch.<br>
Elasticsearch provides Web API to search and find stuff.<br>
Grafana connects to ELS to get data and draw the graphs.</p>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.meetup.com/CharmBUG/events/247995596/" target="_blank" rel="nofollow noopener">CharmBUG Presentation - Writing FreeBSD Malware</a></li>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-February/014180.html" target="_blank" rel="nofollow noopener">March London *BSD meeting 13/03/18</a></li>
<li><a href="https://wiki.freebsd.org/MateuszPiotrowski/Ports/Workshop" target="_blank" rel="nofollow noopener">FreBSD Ports Workshop</a></li>
<li><a href="https://speakerdeck.com/tsutsui/osc2018osaka" target="_blank" rel="nofollow noopener">The history of NetBSD/atari and support for ATARI compatible Milan / OSC2018Osaka</a></li>
<li><a href="https://www.tiltedwindmillpress.com/?product=ssh-mastery-2nd-edition" target="_blank" rel="nofollow noopener">SSH Mastery, 2nd Edition</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Stephen - <a href="http://dpaste.com/06WTRB9#wrap" target="_blank" rel="nofollow noopener">Viewer Interview Question</a></li>
<li>pb - <a href="http://dpaste.com/0TZV6CM#wrap" target="_blank" rel="nofollow noopener">trust expanding your 280TB pool</a></li>
<li>Tim - <a href="http://dpaste.com/0759X1E#wrap" target="_blank" rel="nofollow noopener">ZFS questions for the ZFS Man</a></li>
<li>Daniel - <a href="http://dpaste.com/1SJXSBQ#wrap" target="_blank" rel="nofollow noopener">ZFS full backup question</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>GSoC 2018 Projects announced, tutorial FreeBSD jails with iocage, new Code of Conduct for FreeBSD, libhijack, and fancy monitoring for OpenSMTPD</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://summerofcode.withgoogle.com/organizations/?sp-page=5" target="_blank" rel="nofollow noopener">Google Summer of Code 2018</a></h3>

<ul>
<li><a href="https://www.freebsd.org/projects/summerofcode.html" target="_blank" rel="nofollow noopener">FreeBSD</a></li>
<li><a href="https://wiki.freebsd.org/SummerOfCodeIdeas" target="_blank" rel="nofollow noopener">FreeBSD Google Summer oF Code Ideas</a></li>
</ul>

<blockquote>
<p>You can join #freebsd-soc on the efnet IRC network to chat with FreeBSD developers interested in mentoring student proposals and projects, past FreeBSD/GSoC students, and other students applying to FreeBSD/GSoC this year.</p>
</blockquote>

<ul>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2018/02/12/msg000765.html" target="_blank" rel="nofollow noopener">NetBSD</a></li>
</ul>

<blockquote>
<p>You can get a stipend (paid for by Google) and spend a few months getting to know and improving the insides of NetBSD or pkgsrc.</p>
</blockquote>

<pre><code>The schedule is:
12-27 March             Applying
23 April                Find out if you were accepted
14 May - 22 August      Do the project!

We have some suggestions for suitable projects:
- ARM EFI bootloader
- Using libFuzzer on base tools
- Refactoring ALTQ (QoS implementation) and integrating with NPF
- Testsuite for libcurses
- Improve pkgin

Other suggestions and details are at:
https://wiki.netbsd.org/projects/gsoc/
</code></pre>

<blockquote>
<p>These projects are suggestions; you can come up with your own. Suggestions for other suitable projects are welcome.</p>

<p>Feel free to contact, or chat around on IRC: irc.freenode.org #netbsd #netbsd-code #pkgsrc</p>
</blockquote>

<ul>
<li><a href="https://summerofcode.withgoogle.com/organizations/4821756754264064/" target="_blank" rel="nofollow noopener">Haiku</a>

<ul>
<li><a href="https://www.haiku-os.org/community/gsoc/2018/students" target="_blank" rel="nofollow noopener">Students: How to Apply for a Haiku Idea</a></li>
<li><a href="https://www.haiku-os.org/community/gsoc/2018/ideas" target="_blank" rel="nofollow noopener">Project Ideas</a>
&gt; If you have questions you can contact the devs on IRC: irc.freenode.org #haiku</li>
</ul></li>
</ul>

<hr>

<h3><a href="http://norrist.devio.us/iocage_freebsd.html" target="_blank" rel="nofollow noopener">FreeBSD Jails with iocage</a></h3>

<ul>
<li>Introduction</li>
</ul>

<blockquote>
<p>FreeBSD jails allow users to run multiple, isolated instances of FreeBSD on a single server. Iocage simplifies the management of FreeBSD Jails. Following this tutorial, the jails will be configured to bind to an IP address on the jail host's internal network, and the host OS will pass traffic from the external network to the jail.</p>

<p>The jails will be managed with Iocage. Iocage uses ZFS properties to store configuration data for each jail, so a ZFS file system is required.</p>
</blockquote>

<ul>
<li>Network setup These steps will:

<ul>
<li>Set up the internal network.</li>
<li>Enable the pf packet filter</li>
<li>Configure pf pass internet traffic to and from the jail.</li>
</ul></li>
</ul>

<blockquote>
<p>PF is full featured firewall, and can do more than just pass traffic to an internal network. Refer to the PF documentation for additional configuration options.</p>
</blockquote>

<ul>
<li>Run the following to configure the internal network and enable pf.</li>
</ul>

<pre><code>sysrc cloned_interfaces+="lo1"
sysrc ifconfig_lo1="inet 192.0.2.1/24"
sysrc pf_enable="YES"
</code></pre>

<ul>
<li>Put the following in /etc/pf.conf</li>
</ul>

<pre><code># Variables
# ext_if should be set to the hosts external NIC
ext_if = "vtnet0"
jail_if = "lo1"
jail_net = $jail_if:network

# NAT allows the jails to access the external network
nat on $ext_if from $jail_net to any -&gt; ($ext_if)

# Redirect traffic on port 80 to the web server jail
# Add similar rules for additional jails
rdr pass on $ext_if inet proto tcp to port 80 -&gt; 192.0.2.10
</code></pre>

<ul>
<li><p>Reboot to activate the network changes</p></li>
<li><p>ZFS</p></li>
</ul>

<blockquote>
<p>The best way to use ZFS on a VPS is to attach block storage as a new disk.<br>
If block storage is not available, you can optionally use a file as the ZFS device.</p>
</blockquote>

<ul>
<li>Enable and start ZFS.</li>
</ul>

<pre><code>sysrc zfs_enable="YES"
service zfs start
</code></pre>

<ul>
<li>ZFS using Block storage</li>
</ul>

<blockquote>
<p>List the available disks. <br>
If you are using a VPS, the block store will probably be the second disk.</p>
</blockquote>

<p><code>geom disk list</code></p>

<ul>
<li>Create a ZFS pool named jailstore.</li>
</ul>

<p><code>zpool create jailstore  /dev/vtbd1</code></p>

<ul>
<li>ZFS using a file</li>
</ul>

<blockquote>
<p>Create the ZFS file.</p>
</blockquote>

<p><code>dd if=/dev/zero of=/zfsfile bs=1M count=4096</code></p>

<ul>
<li>Create a ZFS pool named jailstore.</li>
</ul>

<p><code>zpool create jailstore /zfsfile</code></p>

<ul>
<li>Install iocage the easy way</li>
</ul>

<p><code>pkg install py36-iocage</code></p>

<blockquote>
<p>Skip to "Using iocage"</p>
</blockquote>

<ul>
<li>Install iocage the hard way</li>
<li>Swap file</li>
</ul>

<blockquote>
<p>Smaller servers may not have enough RAM to build iocage. If needed, create a swap file and reboot.</p>
</blockquote>

<pre><code>dd if=/dev/zero of=/swapfile bs=1M count=1024
echo 'swapfile="/swapfile"' &gt;&gt; /etc/rc.conf
reboot
</code></pre>

<ul>
<li>Install some build dependencies</li>
</ul>

<p><code>pkg install subversion python36 git-lite libgit2  py36-pip</code></p>

<ul>
<li>Building iocage requires the FreeBSD source.</li>
</ul>

<p><code>svn checkout https://svn.freebsd.org/base/releng/11.1 /usr/src</code></p>

<ul>
<li>Get the latest FreeBSD ports tree.</li>
</ul>

<pre><code>portsnap fetch
portsnap extract

</code></pre>

<ul>
<li>build iocage.</li>
</ul>

<pre><code>cd /usr/ports/sysutils/iocage/
make install
</code></pre>

<ul>
<li>Using iocage</li>
</ul>

<pre><code>iocage activate jailstore
iocage fetch

iocage create -n www ip4_addr="lo1|192.0.2.10/24" -r 11.1-RELEASE
iocage start www
iocage console www
</code></pre>

<blockquote>
<p>Once you have a shell inside the jail, install and start Apache.</p>
</blockquote>

<pre><code>pkg install apache24
sysrc apache24_enable="yes"
service apache24 start
</code></pre>

<blockquote>
<p>Port 80 on the jail will now be accessible on the hosts IP address.</p>
</blockquote>

<ul>
<li>Multiple jails.</li>
</ul>

<blockquote>
<p>Additional jails can be installed using the example above.</p>
</blockquote>

<ul>
<li>Install the new jail with the iocage create command , but use a different IP address</li>
<li>Expose the new jail to the network by adding additional rules to pf.conf.</li>
</ul>

<hr>

<h3>iXsystems</h3>

<ul>
<li><a href="https://www.ixsystems.com/blog/snia-report-2018/" target="_blank" rel="nofollow noopener">SNIA Persistent Memory Summit 2018 Report</a></li>
</ul>

<h3><a href="https://www.freebsd.org/internal/code-of-conduct.html" target="_blank" rel="nofollow noopener">New FreeBSD Code of Conduct</a></h3>

<blockquote>
<p>The FreeBSD Project is inclusive. We want the FreeBSD Project to be a venue where people of all backgrounds can work together to make the best operating system, built by a strong community. These values extend beyond just development to all aspects of the Project. All those given recognition as members of the Project in whatever form are seen as ambassadors of the Project.</p>

<p>Diversity is a huge strength and is critical to the long term success of the Project. To that end we have a few ground rules that we ask people to adhere to. This code applies equally to everyone representing the FreeBSD Project in any way, from new members, to committers, to the core team itself. These rules are intended to ensure a safe, harassment-free environment for all and to ensure that everyone feels welcome both working within, and interacting with, the Project.</p>

<p>This document is not an exhaustive list of things that you should not do. Rather, consider it a guide to make it easier to enrich all of us and the technical communities in which we participate.</p>

<p>This code of conduct applies to all spaces used by the FreeBSD Project, including our mailing lists, IRC channels, and social media, both online and off. Anyone who is found to violate this code of conduct may be sanctioned or expelled from FreeBSD Project controlled spaces at the discretion of the FreeBSD Code of Conduct Committee.</p>

<p>Some FreeBSD Project spaces may have additional rules in place, which will be made clearly available to participants. Participants are responsible for knowing and abiding by these rules. </p>
</blockquote>

<p>Harassment includes but is not limited to:</p>

<ul>
<li>Comments that reinforce systemic oppression related to gender, gender identity and expression, sexual orientation, disability, mental illness, neurodiversity, physical appearance, body size, age, race, or religion.</li>
<li>Unwelcome comments regarding a person's lifestyle choices and practices, including those related to food, health, parenting, drugs, and employment.</li>
<li>Deliberate misgendering.</li>
<li>Deliberate use of "dead" or rejected names.</li>
<li>Gratuitous or off-topic sexual images or behaviour in spaces where they're not appropriate.</li>
<li>Physical contact and simulated physical contact (e.g., textual descriptions like "<em>hug</em>" or "<em>backrub</em>") without consent or after a request to stop.</li>
<li>Threats of violence.</li>
<li>Incitement of violence towards any individual, including encouraging a person to commit suicide or to engage in self-harm.</li>
<li>Deliberate intimidation.</li>
<li>Stalking or following.</li>
<li>Harassing photography or recording, including logging online activity for harassment purposes.</li>
<li>Sustained disruption of discussion.</li>
<li>Unwelcome sexual attention.</li>
<li>Pattern of inappropriate social contact, such as requesting/assuming inappropriate levels of intimacy with others.</li>
<li>Continued one-on-one communication after requests to cease.</li>
<li>Deliberate "outing" of any private aspect of a person's identity without their consent except as necessary to protect vulnerable people from intentional abuse.</li>
<li>Publication of non-harassing private communication without consent.</li>
<li>Publication of non-harassing private communication with consent but in a way that intentionally misrepresents the communication (e.g., removes context that changes the meaning).</li>
<li>Knowingly making harmful false claims about a person.
***</li>
</ul>

<h2>Interview - Benno Rice - <a href="mailto:benno@freebsd.org" target="_blank" rel="nofollow noopener">benno@freebsd.org</a> / <a href="https://twitter.com/jeamland" target="_blank" rel="nofollow noopener">@jeamland</a></h2>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.soldierx.com/news/libhijack-PoCGTFO-0x17" target="_blank" rel="nofollow noopener">libhijack in PoC||GTFO 0x17!</a></h3>

<ul>
<li>Hijacking Your Free Beasties</li>
</ul>

<blockquote>
<p>In the land of red devils known as Beasties exists a system devoid of meaningful exploit mitigations. As we explore this vast land of opportunity, we will meet our ELFish friends, [p]tracing their very moves in order to hijack them. Since unprivileged process debugging is<br>
enabled by default on FreeBSD, we can abuse PTrace to create anonymous memory mappings, inject code into them, and overwrite PLT/GOT entries. We will revive a tool called libhijack to make our nefarious activities of hijacking ELFs via PTrace relatively easy.</p>

<p>Nothing presented here is technically new. However, this type of work has not been documented in this much detail, tying it all into one cohesive work. In Phrack 56, Silvio Cesare taught us ELF research enthusiasts how to hook the PLT/GOT. The Phrack 59 article on Runtime Process Infection briefly introduces the concept of injecting shared objects by injecting shellcode via PTrace that calls dlopen(). No other piece of research, however, has discovered the joys of forcing the application to create anonymous memory mappings in which to inject<br>
Code.</p>

<p>This is only part one of a series of planned articles that will follow libhijack's development. The end goal is to be able to anonymously inject shared objects. The libhijack project is maintained by the SoldierX community.</p>
</blockquote>

<ul>
<li>Previous Research</li>
</ul>

<blockquote>
<p>All prior work injects code into the stack, the heap, or existing executable code. All three methods create issues on today's systems. On amd64 and arm64, the two architectures libhijack cares about, the stack is non-executable by default. jemalloc, the heap implementation<br>
on FreeBSD, creates non-executable mappings. Obviously overwriting existing executable code destroys a part of the executable image.</p>
</blockquote>

<ul>
<li>The Role of ELF
&gt; FreeBSD provides a nifty API for inspecting the entire virtual memory space of an application. The results returned from the API tells us the protection flags (readable, writable, executable) of each mapping. If FreeBSD provides such a rich API, why would we need to parse the
ELF headers?</li>
</ul>

<blockquote>
<p>PLT/GOT hijacking requires parsing ELF headers. One would not be able to find the PLT/GOT without iterating through the Process Headers to find the Dynamic Headers, eventually ending up with the DT_PLTGOT entry.</p>

<p>With FreeBSD's libprocstat API, we don't have a need for parsing ELF headers until we get to the PLT/GOT stage, but doing so early makes it easier for the attacker using libhijack</p>
</blockquote>

<ul>
<li>The Future of libhijack</li>
</ul>

<blockquote>
<p>Writing devious code in assembly is cumbersome. Assembly doesn't scale well to multiple architectures. Instead, we would like to write our devious code in C, compiling to a shared object that gets injected anonymously. This requires writing a remote RTLD within libhijack and<br>
is in progress. Writing a remote RTLD will take a while as doing so is not an easy task.</p>

<p>Additionally, creation of a general-purpose helper library that gets injected would be helpful. It could aid in PLT/GOT redirection attacks, possibly storing the addresses of functions we've previously hijacked. This work is dependent on the remote RTLD.</p>

<p>libhijack currently lacks documentation. Once the ABI and API stabilize, formal documentation will be written.</p>
</blockquote>

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

<blockquote>
<p>Using libhijack, we can easily create anonymous memory mappings, inject into them arbitrary code, and hijack the PLT/GOT on FreeBSD. On HardenedBSD, a hardened derivative of FreeBSD, libhijack is fully mitigated through PaX NOEXEC.</p>

<p>We've demonstrated that wrapper-style Capsicum is ineffective on FreeBSD. Through the use of libhijack, we emulate a control flow hijack in which the application is forced to call sandbox_open and fdlopen on the resulting file descriptor.</p>

<p>Further work to support anonymous injection of full shared objects, along with their dependencies, will be supported in the future. Imagine injecting libpcap into Apache to sniff traffic whenever "GET /pcap" is sent.</p>

<p>In order to prevent abuse of PTrace, FreeBSD should set the security.bsd.unprivileged_proc_debug to 0 by default. In order to prevent process manipulation, FreeBSD should implement PaX NOEXEC.</p>
</blockquote>

<ul>
<li>libhijack can be found at <a href="https://github.com/SoldierX/libhijack" target="_blank" rel="nofollow noopener">https://github.com/SoldierX/libhijack</a></li>
</ul>

<hr>

<h3><a href="https://sircmpwn.github.io/2018/02/05/Introduction-to-POSIX-shell.html" target="_blank" rel="nofollow noopener">Introduction to POSIX shell</a></h3>

<blockquote>
<p>What the heck is the POSIX shell anyway? Well, the POSIX (the Portable Operating System Interface) shell is the standard Unix shell - standard meaning it was formally defined and shipped in a published standard. This makes shell scripts written for it portable, something no other shell can lay claim to. The POSIX shell is basically a formalized version of the venerable Bourne shell, and on your system it lives at /bin/sh, unless you’re one of the unlucky masses for whom this is a symlink to bash.</p>
</blockquote>

<ul>
<li>Why use POSIX shell?</li>
</ul>

<blockquote>
<p>The “Bourne Again shell”, aka bash, is not standardized. Its grammar, features, and behavior aren’t formally written up anywhere, and only one implementation of bash exists. Without a standard, bash is defined by its implementation. POSIX shell, on the other hand, has many competing implementations on many different operating systems - all of which are compatible with each other because they conform to the standard.</p>

<p>Any shell that utilizes features specific to Bash are not portable, which means you cannot take them with you to any other system. Many Linux-based systems do not use Bash or GNU coreutils. Outside of Linux, pretty much everyone but Hurd does not ship GNU tools, including bash1. On any of these systems, scripts using “bashisms” will not work.</p>

<p>This is bad if your users wish to utilize your software anywhere other than GNU/Linux. If your build tooling utilizes bashisms, your software will not build on anything but GNU/Linux. If you ship runtime scripts that use bashisms, your software will not run on anything but GNU/Linux. The case for sticking to POSIX shell in shipping software is compelling, but I argue that you should stick to POSIX shell for your personal scripts, too. You might not care now, but when you feel like flirting with other Unicies you’ll thank me when all of your scripts work.</p>

<p>One place where POSIX shell does not shine is for interactive use - a place where I think bash sucks, too. Any shell you want to use for your day-to-day command line work is okay in my book. I use fish. Use whatever you like interactively, but stick to POSIX sh for your scripts.</p>
</blockquote>

<ul>
<li>How do I use POSIX shell?</li>
</ul>

<blockquote>
<p>At the top of your scripts, put #!/bin/sh. You don’t have to worry about using env here like you might have been trained to do with bash: /bin/sh is the standardized location for the POSIX shell, and any standards-conforming system will either put it there or make your script work anyway.</p>

<p>The next step is to avoid bashisms. There are many, but here are a few that might trip you up:</p>
</blockquote>

<ul>
<li>[[ condition ]] does not work; use [ condition ]</li>
<li>Arrays do not work; use IFS</li>
<li>Local variables do not work; use a subshell</li>
</ul>

<blockquote>
<p>The easiest way to learn about POSIX shell is to read the standard - it’s not too dry and shorter than you think.</p>
</blockquote>

<ul>
<li>Using standard coreutils</li>
</ul>

<blockquote>
<p>The last step to writing portable scripts is to use portable tools. Your system may have GNU coreutils installed, which provides tools like grep and cut. Unfortunately, GNU has extended these tools with its own non-portable flags and tools. It’s important that you avoid these.</p>

<p>One dead giveaway of a non-portable flag is long flags, e.g. grep --file=FILE as opposed to grep -f. The POSIX standard only defines the getopt function - not the proprietary GNU getopt_long function that’s used to interpret long options. As a result, no long flags are standardized. You might worry that this will make your scripts difficult to understand, but I think that on the whole it will not. Shell scripts are already pretty alien and require some knowledge to understand. Is knowledge of what the magic word grep means much different from knowledge of what grep -E means?</p>

<p>I also like that short flags allow you to make more concise command lines. Which is better: ps --all --format=user --without-tty, or ps -aux? If you are inclined to think the former, do you also prefer function(a, b, c) { return a + b + c; } over (a, b, c) =&gt; a + b + c? Conciseness matters, and POSIX shell supports comments if necessary!</p>
</blockquote>

<ul>
<li>Some tips for using short flags:</li>
<li>They can be collapsed: cmd -a -b -c is equivalent to cmd -abc</li>
<li>If they take additional arguments, either a space or no separation is acceptable: cmd -f"hello world" or cmd -f "hello world"</li>
</ul>

<blockquote>
<p>A good reference for learning about standardized commands is, once again, the standard. From this page, search for the command you want, or navigate through “Shell &amp; Utilities” -&gt; “Utilities” for a list. If you have man-pages installed, you will also find POSIX man pages installed on your system with the p postfix, such as man 1p grep. Note: at the time of writing, the POSIX man pages do not use dashes if your locale is UTF-8, which makes searching for flags with / difficult. Use env LC_ALL=POSIX man 1p grep if you need to search for flags, and I’ll speak to the maintainer of man-pages about this.</p>
</blockquote>

<hr>

<h3><a href="http://landonf.org/code/freebsd/Broadcom_WiFi_Improvements.20180122.html" target="_blank" rel="nofollow noopener">FreeBSD Broadcom Wi-Fi Improvements</a></h3>

<ul>
<li>Introduction</li>
</ul>

<blockquote>
<p>Since 2015, I've been working on improving FreeBSD support for Broadcom Wi-Fi devices and SoCs, including authoring the bhnd(4) driver family, which provides a unified bus and driver programming interface for these devices.</p>

<p>First committed in early 2016, bhnd(4) allowed us to quickly bring up FreeBSD/MIPS on Broadcom SoCs, but it has taken much longer to implement the full set of features required to support modern Broadcom SoftMAC Wi-Fi hardware.</p>

<p>Thanks to the generosity of the FreeBSD Foundation, I've recently finished implementing the necessary improvements to the bhnd(4) driver family. With these changes in place, I was finally able to port the existing bwn(4) Broadcom SoftMAC Wi-Fi driver to the bhnd(4) bus, and implement initial support for the BCM43224 and BCM43225 chipsets, with additional hardware support to be forthcoming.</p>

<p>Now that my efforts on FreeBSD/Broadcom Wi-Fi support have progressed far enough to be generally useful, I wanted to take some time to provide a brief overview of Broadcom's Wi-Fi hardware, and explain how my work provides a foundation for further FreeBSD Broadcom Wi-Fi/SoC improvements.</p>
</blockquote>

<ul>
<li>A Brief Background on Broadcom Wi-Fi Hardware</li>
</ul>

<blockquote>
<p>Broadcom's Wi-Fi devices are members of the Broadcom Home Networking Division (BHND) device family; other BHND devices include MIPS/ARM SoCs (including Wi-Fi SoCs commonly found in consumer access points), as well as a large variety of related networking hardware.</p>
</blockquote>

<ul>
<li>BHND devices utilize a common set of Broadcom IP cores (or "functional blocks") connected via one of two on-chip bus architectures:</li>
<li>Hardware designed prior to 2009 used Broadcom’s “SSB” backplane architecture, based on Sonics Silicon’s interconnect IP.</li>
<li>Subsequent hardware adopted Broadcom’s “BCMA” backplane, based on ARM’s AMBA IP. The IP cores used in earlier SSB-based devices were adapted for compatibility with the new backplane.</li>
</ul>

<blockquote>
<p>When BHND hardware is used in a PCI Wi-Fi card, or a SDIO Wi-Fi module, the device's dual-mode peripheral controller is configured to operate as an endpoint device on the host's peripheral bus, bridging access to the SoC hardware:</p>
</blockquote>

<ul>
<li>Host access to SoC address space is provided via a set of register windows (e.g., a set of configurable windows into SoC address space mapped via PCI BARs)</li>
<li>DMA is supported by the bridge core’s sparse mapping of host address space into the backplane address space. These address regions may be used as a target for the on-chip DMA engines.</li>
<li>Any backplane interrupt vectors routed to the bridge core may be mapped by the bridge to host interrupts (e.g., PCI INTx/MSI/MSI-X).</li>
</ul>

<blockquote>
<p>The host is generally expected to provide drivers for the IP cores found on the SoC backplane; since these cores are found in both BHND SoCs and BHND Wi-Fi devices, it is advantageous to share driver and platform code between the two targets.</p>
</blockquote>

<ul>
<li><p>Modernizing FreeBSD's Broadcom SoftMAC Wi-Fi Support</p>

<ul>
<li>FreeBSD support for Broadcom SoftMAC Wi-Fi adapters is provided by two partially overlapping PCI/CardBus drivers:</li>
<li>Legacy Wi-Fi adapters are supported by bwi(4). This driver remains in-tree to support devices incompatible with v4 or later firmware (e.g. BCM4301, BCM4302, BCM4306 rev 1-2), all of which were released prior to December 2002.</li>
<li>Modern Wi-Fi adapters are supported by bwn(4), with access to on-chip cores mediated by bhnd(4).</li>
</ul></li>
</ul>

<blockquote>
<p>Prior to my work porting bwn(4) to bhnd(4), access to on-chip cores was mediated by siba_bwn, a PCI/WiFi-specific derivative of the legacy siba(4) SSB bus driver. There were two major limitations to siba_bwn that have long blocked adding support for newer SoftMAC Wi-Fi chipsets: the newer BCMA interconnect found in post-2009 hardware was not supported by siba(4), and siba_bwn assumed a PCI/PCIe bridge, preventing its use on FreeBSD/MIPS Broadcom SoCs with interconnect-attached D11 cores.</p>
</blockquote>

<ul>
<li>The new bhnd(4) driver family, written as a replacement for siba(4) and siba_bwn, provides:</li>
<li>A unified bus driver interface for both SSB and BCMA on-chip interconnects</li>
<li>A generic BHND bridge driver framework for host-connected BHND devices (e.g. Wi-Fi adapters, etc)</li>
<li>A PCI/PCIe bridge core driver, for PCI-attached BHND devices.</li>
<li>An abstract BHND NVRAM API, with support for the varied NVRAM formats found in BHND Wi-Fi adapters and SoCs.</li>
<li>Drivers for common BHND platform peripherals (UARTs, SPROM/flash, PMUs, etc)</li>
</ul>

<blockquote>
<p>By porting bwn(4) to bhnd(4), we are now able to support existing BCMA devices with MAC/PHY/Radio combinations readily supported by bwn(4), as was the case with the BCM43224 and BCM43225 chipsets. This also opens the door to porting additional PHY support from Broadcom’s ISC-licensed Linux drivers, and will allow us to bring up bwn(4) on Broadcom WiSoCs supported by FreeBSD/MIPS.</p>
</blockquote>

<hr>

<h3><a href="https://www.tumfatig.net/20180129/monitor-opensmtpd-using-logstash-grafana/" target="_blank" rel="nofollow noopener">Monitor OpenSMTPD using Logstash and Grafana</a></h3>

<blockquote>
<p>Logs are usefull. Graphs are sexy. Here’s a way to get a view on what happens to your OpenSMTPD traffic, using Web v2.0 tools ; namely Logstash &amp; Grafana.<br>
For those who would not be aware of those tools, logstash is some kind of log-parser that can eat syslog formatted logs and write them into elasticsearch ; in “document” format. Grafana is a Web frontend that can dig into various databases and render graphics from requests.<br>
I won’t go into the whole “how to install” process here. Installation is quite straight forward and online documentation is quite clear.</p>
</blockquote>

<ul>
<li>What you need</li>
</ul>

<blockquote>
<p>OpenSMTPD deals with emails and logs its activity via Syslog.<br>
Syslog is configured to send the logs to Logstash.<br>
Logstash has a set of rules configured to transform the text-oriented information into searchable document-oriented data. The transformed data is stored into Elasticsearch.<br>
Elasticsearch provides Web API to search and find stuff.<br>
Grafana connects to ELS to get data and draw the graphs.</p>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.meetup.com/CharmBUG/events/247995596/" target="_blank" rel="nofollow noopener">CharmBUG Presentation - Writing FreeBSD Malware</a></li>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2018-February/014180.html" target="_blank" rel="nofollow noopener">March London *BSD meeting 13/03/18</a></li>
<li><a href="https://wiki.freebsd.org/MateuszPiotrowski/Ports/Workshop" target="_blank" rel="nofollow noopener">FreBSD Ports Workshop</a></li>
<li><a href="https://speakerdeck.com/tsutsui/osc2018osaka" target="_blank" rel="nofollow noopener">The history of NetBSD/atari and support for ATARI compatible Milan / OSC2018Osaka</a></li>
<li><a href="https://www.tiltedwindmillpress.com/?product=ssh-mastery-2nd-edition" target="_blank" rel="nofollow noopener">SSH Mastery, 2nd Edition</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Stephen - <a href="http://dpaste.com/06WTRB9#wrap" target="_blank" rel="nofollow noopener">Viewer Interview Question</a></li>
<li>pb - <a href="http://dpaste.com/0TZV6CM#wrap" target="_blank" rel="nofollow noopener">trust expanding your 280TB pool</a></li>
<li>Tim - <a href="http://dpaste.com/0759X1E#wrap" target="_blank" rel="nofollow noopener">ZFS questions for the ZFS Man</a></li>
<li>Daniel - <a href="http://dpaste.com/1SJXSBQ#wrap" target="_blank" rel="nofollow noopener">ZFS full backup question</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>233: High on ZFS</title>
  <link>https://www.bsdnow.tv/233</link>
  <guid isPermaLink="false">5647e1f4-9a10-426a-bb98-165793302cb3</guid>
  <pubDate>Wed, 14 Feb 2018 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5647e1f4-9a10-426a-bb98-165793302cb3.mp3" length="79804372" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We explain the physics behind ZFS, DTrace switching to the GPL, Emacs debugging, syncookies coming to PF &amp; FreeBSD’s history on EC2.</itunes:subtitle>
  <itunes:duration>1:50:50</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>&lt;p&gt;We explain the physics behind ZFS, DTrace switching to the GPL, Emacs debugging, syncookies coming to PF &amp;amp; FreeBSD’s history on EC2.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blogs.oracle.com/bonwick/128-bit-storage:-are-you-high" target="_blank" rel="nofollow noopener"&gt;128 bit storage: Are you high?&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;For people who have heard about ZFS boiling oceans and wonder where that is coming from, we dug out this old piece from 2004 on the blog of ZFS co-creator Jeff Bonwick, originally from the Sun website.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;64 bits would have been plenty ... but then you can't talk out of your ass about boiling oceans then, can you?&lt;br&gt;
Well, it's a fair question. Why did we make ZFS a 128-bit storage system? What on earth made us think it's necessary? And how do we know it's sufficient? Let's start with the easy one: how do we know it's necessary?&lt;br&gt;
 Some customers already have datasets on the order of a petabyte, or 2&lt;sup&gt;50&lt;/sup&gt; bytes. Thus the 64-bit capacity limit of 2&lt;sup&gt;64&lt;/sup&gt; bytes is only 14 doublings away. Moore's Law for storage predicts that capacity will continue to double every 9-12 months, which means we'll start to hit the 64-bit limit in about a decade. Storage systems tend to live for several decades, so it would be foolish to create a new one without anticipating the needs that will surely arise within its projected lifetime.&lt;br&gt;
If 64 bits isn't enough, the next logical step is 128 bits. That's enough to survive Moore's Law until I'm dead, and after that, it's not my problem. But it does raise the question: what are the theoretical limits to storage capacity?&lt;br&gt;
Although we'd all like Moore's Law to continue forever, quantum mechanics imposes some fundamental limits on the computation rate and information capacity of any physical device. In particular, it has been shown that 1 kilogram of matter confined to 1 liter of space can perform at most 10&lt;sup&gt;51&lt;/sup&gt; operations per second on at most 10&lt;sup&gt;31&lt;/sup&gt; bits of information [see Seth Lloyd, "Ultimate physical limits to computation." Nature 406, 1047-1054 (2000)]. A fully-populated 128-bit storage pool would contain 2&lt;sup&gt;128&lt;/sup&gt; blocks = 2&lt;sup&gt;137&lt;/sup&gt; bytes = 2&lt;sup&gt;140&lt;/sup&gt; bits; therefore the minimum mass required to hold the bits would be (2&lt;sup&gt;140&lt;/sup&gt; bits) / (10&lt;sup&gt;31&lt;/sup&gt; bits/kg) = 136 billion kg.&lt;br&gt;
That's a lot of gear.&lt;br&gt;
To operate at the 1031 bits/kg limit, however, the entire mass of the computer must be in the form of pure energy. By E=mc&lt;sup&gt;2,&lt;/sup&gt; the rest energy of 136 billion kg is 1.2x1028 J. The mass of the oceans is about 1.4x1021 kg. It takes about 4,000 J to raise the temperature of 1 kg of water by 1 degree Celcius, and thus about 400,000 J to heat 1 kg of water from freezing to boiling.&lt;br&gt;
The latent heat of vaporization adds another 2 million J/kg.&lt;br&gt;
Thus the energy required to boil the oceans is about 2.4x106 J/kg * 1.4x1021 kg = &lt;br&gt;
3.4x1027 J. Thus, fully populating a 128-bit storage pool would, literally, require more energy than boiling the oceans.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Best part of all: you don’t have to understand any of this to use ZFS. Rest assured that you won’t hit any limits with that filesystem for a long time. You still have to buy bigger disks over time, though...
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://gnu.wildebeest.org/blog/mjw/2018/02/14/dtrace-for-linux-oracle-does-the-right-thing/" target="_blank" rel="nofollow noopener"&gt;dtrace for Linux, Oracle relicenses dtrace&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;At Fosdem we had a talk on dtrace for linux in the Debugging Tools devroom.&lt;/p&gt;

&lt;p&gt;Not explicitly mentioned in that talk, but certainly the most exciting thing, is that Oracle is doing a proper linux kernel port:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt; commit e1744f50ee9bc1978d41db7cc93bcf30687853e6
 Author: Tomas Jedlicka &amp;lt;tomas.jedlicka@oracle.com&amp;gt;
 Date: Tue Aug 1 09:15:44 2017 -0400

 dtrace: Integrate DTrace Modules into kernel proper

 This changeset integrates DTrace module sources into the main kernel
 source tree under the GPLv2 license. Sources have been moved to
 appropriate locations in the kernel tree.
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;That is right, dtrace dropped the CDDL and switched to the GPL!&lt;/p&gt;

&lt;p&gt;The user space code dtrace-utils and libdtrace-ctf (a combination of GPLv2 and UPL) can be found on the DTrace Project Source Control page. The NEWS file mentions the license switch (and that it is build upon elfutils, which I personally was pleased to find out).&lt;/p&gt;

&lt;p&gt;The kernel sources (GPLv2+ for the core kernel and UPL for the uapi) are slightly harder to find because they are inside the uek kernel source tree, but following the above commit you can easily get at the whole linux kernel dtrace directory.&lt;/p&gt;

&lt;p&gt;The UPL is the Universal Permissive License, which according to the FSF is a lax, non-copyleft license that is compatible with the GNU GPL.&lt;/p&gt;

&lt;p&gt;Thank you Oracle for making everyone’s life easier by waving your magic relicensing wand!&lt;/p&gt;

&lt;p&gt;Now there is lots of hard work to do to actually properly integrate this. And I am sure there are a lot of technical hurdles when trying to get this upstreamed into the mainline kernel. But that is just hard work. Which we can now start collaborating on in earnest.&lt;/p&gt;

&lt;p&gt;Like systemtap and the Dynamic Probes (dprobes) before it, dtrace is a whole system observability tool combining tracing, profiling and probing/debugging techniques. Something the upstream linux kernel hackers don’t always appreciate when presented as one large system. They prefer having separate small tweaks for tracing, profiling and probing which are mostly separate from each other. It took years for the various hooks, kprobes, uprobes, markers, etc. from systemtap (and other systems) to get upstream. But these days they are. And there is now even a byte code interpreter (eBPF) in the mainline kernel as originally envisioned by dprobes, which systemtap can now target through stapbpf. So with all those techniques now available in the linux kernel it will be exciting to see if dtrace for linux can unite them all.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://nullprogram.com/blog/2018/01/17/" target="_blank" rel="nofollow noopener"&gt;Debugging Emacs or: How I Learned to Stop Worrying and Love DTrace&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;For some time Elfeed was experiencing a strange, spurious failure. Every so often users were seeing an error (spoiler warning) when updating feeds: “error in process sentinel: Search failed.” If you use Elfeed, you might have even seen this yourself. From the surface it appeared that curl, tasked with the responsibility for downloading feed data, was producing incomplete output despite reporting a successful run. Since the run was successful, Elfeed assumed certain data was in curl’s output buffer, but, since it wasn’t, it failed hard.&lt;/p&gt;

&lt;p&gt;Unfortunately this issue was not reproducible. Manually running curl outside of Emacs never revealed any issues. Asking Elfeed to retry fetching the feeds would work fine. The issue would only randomly rear its head when Elfeed was fetching many feeds in parallel, under stress. By the time the error was discovered, the curl process had exited and vital debugging information was lost. Considering that this was likely to be a bug in Emacs itself, there really wasn’t a reliable way to capture the necessary debugging information from within Emacs Lisp. And, indeed, this later proved to be the case.&lt;/p&gt;

&lt;p&gt;A quick-and-dirty work around is to use condition-case to catch and swallow the error. When the bizarre issue shows up, rather than fail badly in front of the user, Elfeed could attempt to swallow the error — assuming it can be reliably detected — and treat the fetch as simply a failure. That didn’t sit comfortably with me. Elfeed had done its due diligence checking for errors already. Someone was lying to Elfeed, and I intended to catch them with their pants on fire. Someday.&lt;/p&gt;

&lt;p&gt;I’d just need to witness the bug on one of my own machines. Elfeed is part of my daily routine, so surely I’d have to experience this issue myself someday. My plan was, should that day come, to run a modified Elfeed, instrumented to capture extra data. I would have also routinely run Emacs under GDB so that I could inspect the failure more deeply.&lt;/p&gt;

&lt;p&gt;For now I just had to wait to hunt that zebra.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Bryan Cantrill, DTrace, and FreeBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Over the holidays I re-discovered Bryan Cantrill, a systems software engineer who worked for Sun between 1996 and 2010, and is most well known for DTrace. My first exposure to him was in a BSD Now interview in 2015. I had re-watched that interview and decided there was a lot more I had to learn from him. He’s become a personal hero to me. So I scoured the internet for more of his writing and talks.&lt;/p&gt;

&lt;p&gt;Some interesting operating system technology came out of Sun during its final 15 or so years — most notably DTrace and ZFS — and Bryan speaks about it passionately. Almost as a matter of luck, most of it survived the Oracle acquisition thanks to Sun releasing it as open source in just the nick of time. Otherwise it would have been lost forever. The scattered ex-Sun employees, still passionate about their prior work at Sun, along with some of their old customers have since picked up the pieces and kept going as a community under the name illumos. It’s like an open source flotilla.&lt;/p&gt;

&lt;p&gt;Naturally I wanted to get my hands on this stuff to try it out for myself. Is it really as good as they say? Normally I stick to Linux, but it (generally) doesn’t have these Sun technologies available. The main reason is license incompatibility. Sun released its code under the CDDL, which is incompatible with the GPL. Ubuntu does infamously include ZFS, but other distributions are unwilling to take that risk. Porting DTrace is a serious undertaking since it’s got its fingers throughout the kernel, which also makes the licensing issues even more complicated.&lt;/p&gt;

&lt;p&gt;Linux has a reputation for Not Invented Here (NIH) syndrome, and these licensing issues certainly contribute to that. Rather than adopt ZFS and DTrace, they’ve been reinvented from scratch: btrfs instead of ZFS, and a slew of partial options instead of DTrace. Normally I’m most interested in system call tracing, and my go to is strace, though it certainly has its limitations — including this situation of debugging curl under Emacs. Another famous example of NIH is Linux’s epoll(2), which is a broken version of BSD kqueue(2).&lt;/p&gt;

&lt;p&gt;So, if I want to try these for myself, I’ll need to install a different operating system. I’ve dabbled with OmniOS, an OS built on illumos, in virtual machines, using it as an alien environment to test some of my software (e.g. enchive). OmniOS has a philosophy called Keep Your Software To Yourself (KYSTY), which is really just code for “we don’t do packaging.” Honestly, you can’t blame them since they’re a tiny community. The best solution to this is probably pkgsrc, which is essentially a universal packaging system. Otherwise you’re on your own.&lt;/p&gt;

&lt;p&gt;There’s also openindiana, which is a more friendly desktop-oriented illumos distribution. Still, the short of it is that you’re very much on your own when things don’t work. The situation is like running Linux a couple decades ago, when it was still difficult to do.&lt;/p&gt;

&lt;p&gt;If you’re interested in trying DTrace, the easiest option these days is probably FreeBSD. It’s got a big, active community, thorough documentation, and a huge selection of packages. Its license (the BSD license, duh) is compatible with the CDDL, so both ZFS and DTrace have been ported to FreeBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What is DTrace?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve done all this talking but haven’t yet described what DTrace really is. I won’t pretend to write my own tutorial, but I’ll provide enough information to follow along. DTrace is a tracing framework for debugging production systems in real time, both for the kernel and for applications. The “production systems” part means it’s stable and safe — using DTrace won’t put your system at risk of crashing or damaging data. The “real time” part means it has little impact on performance. You can use DTrace on live, active systems with little impact. Both of these core design principles are vital for troubleshooting those really tricky bugs that only show up in production.&lt;/p&gt;

&lt;p&gt;There are DTrace probes scattered all throughout the system: on system calls, scheduler events, networking events, process events, signals, virtual memory events, etc. Using a specialized language called D (unrelated to the general purpose programming language D), you can dynamically add behavior at these instrumentation points. Generally the behavior is to capture information, but it can also manipulate the event being traced.&lt;/p&gt;

&lt;p&gt;Each probe is fully identified by a 4-tuple delimited by colons: provider, module, function, and probe name. An empty element denotes a sort of wildcard. For example, syscall::open:entry is a probe at the beginning (i.e. “entry”) of open(2). syscall:::entry matches all system call entry probes.&lt;/p&gt;

&lt;p&gt;Unlike strace on Linux which monitors a specific process, DTrace applies to the entire system when active. To run curl under strace from Emacs, I’d have to modify Emacs’ behavior to do so. With DTrace I can instrument every curl process without making a single change to Emacs, and with negligible impact to Emacs. That’s a big deal.&lt;/p&gt;

&lt;p&gt;So, when it comes to this Elfeed issue, FreeBSD is much better poised for debugging the problem. All I have to do is catch it in the act. However, it’s been months since that bug report and I’m not really making this connection yet. I’m just hoping I eventually find an interesting problem where I can apply DTrace.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dtrace.org/blogs/bmc/2018/02/03/talks/" target="_blank" rel="nofollow noopener"&gt;Bryan Cantrill: Talks I have given&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180207090000" target="_blank" rel="nofollow noopener"&gt;a2k18 Hackathon preview: Syncookies coming to PF&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As you may have heard, the a2k18 hackathon is in progress. As can be seen from the commit messages, several items of goodness are being worked on.&lt;br&gt;
One eagerly anticipated item is the arrival of TCP syncookies (read: another important tool in your anti-DDoS toolset) in PF. Henning Brauer (henning@) added the code in a series of commits on February 6th, 2018, with this one containing the explanation:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;syncookies for pf.

when syncookies are on, pf will blindly answer each and every SYN with a syncookie-SYNACK. Upon reception of the ACK completing the 3WHS, pf will reconstruct the original SYN, shove it through pf_test, where state will be created if the ruleset permits it. Then massage the freshly created state (we won't see the SYNACK), set up the sequence number modulator, and call into the existing synproxy code to start the 3WHS with the backend host.

Add an - somewhat basic for now - adaptive mode where syncookies get enabled if a certain percentage of the state table is filled up with half-open tcp connections. This makes pf firewalls resilient against large synflood attacks.

syncookies are off by default until we gained more experience, considered experimental for now.

see http://bulabula.org/papers/2017/bsdcan/ for more details.

joint work with sashan@, widely discussed and with lots of input by many
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;The first release to have this feature available will probably be the upcoming OpenBSD 6.3 if a sufficient number of people test this in their setups (hint, hint). More info is likely to emerge soon in post-hackathon writeups, so watch this space!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;[Pale Moon]&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A Perfect example of how not to approach OS developers/packagers&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jasperla/openbsd-wip/issues/86" target="_blank" rel="nofollow noopener"&gt;Removed from OpenBSD Ports due to Licensing Issues&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-ports/2018-February/112455.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Palemoon branding violation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/midnightbsd/status/961232422091280386" target="_blank" rel="nofollow noopener"&gt;Mightnight BSD's response&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.daemonology.net/blog/2018-02-12-FreeBSD-EC2-history.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD EC2 History&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A couple years ago Jeff Barr published a blog post with a timeline of EC2 instances. I thought at the time that I should write up a timeline of the FreeBSD/EC2 platform, but I didn't get around to it; but last week, as I prepared to ask for sponsorship for my work I decided that it was time to sit down and collect together the long history of how the platform has evolved and improved over the years.&lt;br&gt;
Normally I don't edit blog posts after publishing them (with the exception of occasional typographical corrections), but I do plan on keeping this post up to date with future developments.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;August 25, 2006: Amazon EC2 launches. It supports a single version of Ubuntu Linux; FreeBSD is not available.&lt;/li&gt;
&lt;li&gt;December 13, 2010: I manage to get FreeBSD running on EC2 t1.micro instances.&lt;/li&gt;
&lt;li&gt;March 22, 2011: I manage to get FreeBSD running on EC2 "cluster compute" instances.&lt;/li&gt;
&lt;li&gt;July 8, 2011: I get FreeBSD 8.2 running on all 64-bit EC2 instance types, by marking it as "Windows" in order to get access to Xen/HVM virtualization. (Unfortunately this meant that users had to pay the higher "Windows" hourly pricing.)&lt;/li&gt;
&lt;li&gt;January 16, 2012: I get FreeBSD 9.0 running on 32-bit EC2 instances via the same "defenestration" trick. (Again, paying the "Windows" prices.)&lt;/li&gt;
&lt;li&gt;August 16, 2012: I move the FreeBSD rc.d scripts which handle "EC2" functionality (e.g., logging SSH host keys to the console) into the FreeBSD ports tree.&lt;/li&gt;
&lt;li&gt;October 7, 2012: I rework the build process for FreeBSD 9.1-RC1 and later to use "world" bits extracted from the release ISOs; only the kernel is custom-built. Also, the default SSH user changes from "root" to "ec2-user".&lt;/li&gt;
&lt;li&gt;October 31, 2012: Amazon launches the "M3" family of instances, which support Xen/HVM without FreeBSD needing to pay the "Windows" tax.&lt;/li&gt;
&lt;li&gt;November 21, 2012: I get FreeBSD added to the AWS Marketplace.&lt;/li&gt;
&lt;li&gt;October 2, 2013: I finish merging kernel patches into the FreeBSD base system, and rework the AMI build (again) so that FreeBSD 10.0-ALPHA4 and later use bits extracted from the release ISOs for the entire system (world + kernel). FreeBSD Update can now be used for updating everything (because now FreeBSD/EC2 uses a GENERIC kernel).&lt;/li&gt;
&lt;li&gt;October 27, 2013: I add code to EC2 images so that FreeBSD 10.0-BETA2 and later AMIs will run FreeBSD Update when they first boot in order to download and install any critical updates.&lt;/li&gt;
&lt;li&gt;December 1, 2013: I add code to EC2 images so that FreeBSD 10.0-BETA4 and later AMIs bootstrap the pkg tool and install packages at boot time (by default, the "awscli" package).&lt;/li&gt;
&lt;li&gt;December 9, 2013: I add configinit to FreeBSD 10.0-RC1 and later to allow systems to be easily configured via EC2 user-data.&lt;/li&gt;
&lt;li&gt;July 1, 2014: Amazon launches the "T2" family of instances; now the most modern family for every type of EC2 instance (regular, high-memory, high-CPU, high-I/O, burstable) supports HVM and there should no longer be any need for FreeBSD users to pay the "Windows tax".&lt;/li&gt;
&lt;li&gt;November 24, 2014: I add code to FreeBSD 10.2 and later to automatically resize their root filesystems when they first boot; this means that a larger root disk can be specified at instance launch time and everything will work as expected.&lt;/li&gt;
&lt;li&gt;April 1, 2015: I integrate the FreeBSD/EC2 build process into the FreeBSD release building process; FreeBSD 10.2-BETA1 and later AMIs are built by the FreeBSD release engineering team.&lt;/li&gt;
&lt;li&gt;January 12, 2016: I enable Intel 82599-based "first generation EC2 Enhanced Networking" in FreeBSD 11.0 and later.&lt;/li&gt;
&lt;li&gt;June 9, 2016: I enable the new EC2 VGA console functionality in FreeBSD 11.0 and later. (The old serial console also continues to work.)&lt;/li&gt;
&lt;li&gt;June 24, 2016: Intel 82599-based Enhanced Networking works reliably in FreeBSD 11.0 and later thanks to discovering and working around a Xen bug.&lt;/li&gt;
&lt;li&gt;June 29, 2016: I improve throughput on Xen blkfront devices (/dev/xbd*) by enabling indirect segment I/Os in FreeBSD 10.4 and later. (I wrote this functionality in July 2015, but left it disabled by default a first because a bug in EC2 caused it to hurt performance on some instances.)&lt;/li&gt;
&lt;li&gt;July 7, 2016: I fix a bug in FreeBSD's virtual memory initialization in order to allow it to support boot with 128 CPUs; aka. FreeBSD 11.0 and later support the EC2 x1.32xlarge instance type.&lt;/li&gt;
&lt;li&gt;January 26, 2017: I change the default configuration in FreeBSD 11.1 and later to support EC2's IPv6 networking setup out of the box (once you flip all of the necessary switches to enable IPv6 in EC2 itself).&lt;/li&gt;
&lt;li&gt;May 20, 2017: In collaboration with Rick Macklem, I make FreeBSD 11.1 and later compatible with the Amazon "Elastic File System" (aka. NFSv4-as-a-service) via the newly added "oneopenown" mount option (and lots of bug fixes).&lt;/li&gt;
&lt;li&gt;May 25, 2017: I enable support for the Amazon "Elastic Network Adapter" in FreeBSD 11.1 and later. (The vast majority of the work — porting the driver code — was done by Semihalf with sponsorship from Amazon.)&lt;/li&gt;
&lt;li&gt;&lt;p&gt;December 5, 2017: I change the default configuration in FreeBSD 11.2 and later to make use of the Amazon Time Sync Service (aka. NTP-as-a-service).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The current status&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The upcoming FreeBSD release (11.2) supports: IPv6, Enhanced Networking (both generations), Amazon Elastic File System, Amazon Time Sync Service, both consoles (Serial VGA), and every EC2 instance type (although I'm not sure if FreeBSD has drivers to make use of the FPGA or GPU hardware on those instances).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.patreon.com/cperciva" target="_blank" rel="nofollow noopener"&gt;Colin's Patreon' page if you'd like to support him&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;X network transparency&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/XNetworkTransparencyFailure" target="_blank" rel="nofollow noopener"&gt;X's network transparency has wound up mostly being a failure&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I was recently reading Mark Dominus's entry about some X keyboard problems, in which he said in passing (quoting himself):&lt;/p&gt;

&lt;p&gt;I have been wondering for years if X's vaunted network transparency was as big a failure as it seemed: an interesting idea, worth trying out, but one that eventually turned out to be more trouble than it was worth. [...]&lt;/p&gt;

&lt;p&gt;My first reaction was to bristle, because I use X's network transparency all of the time at work. I have several programs to make it work very smoothly, and some core portions of my environment would be basically impossible without it. But there's a big qualification on my use of X's network transparency, namely that it's essentially all for text. When I occasionally go outside of this all-text environment of xterms and emacs and so on, it doesn't go as well.&lt;/p&gt;

&lt;p&gt;X's network transparency was not designed as 'it will run xterm well'; originally it was to be something that should let you run almost everything remotely, providing a full environment. Even apart from the practical issues covered in Daniel Stone's slide presentation, it's clear that it's been years since X could deliver a real first class environment over the network. You cannot operate with X over the network in the same way that you do locally. Trying to do so is painful and involves many things that either don't work at all or perform so badly that you don't want to use them.&lt;/p&gt;

&lt;p&gt;In my view, there are two things that did in general X network transparency. The first is that networks turned out to not be fast enough even for ordinary things that people wanted to do, at least not the way that X used them. The obvious case is web browsers; once the web moved to lots of images and worse, video, that was pretty much it, especially with 24-bit colour.&lt;/p&gt;

&lt;p&gt;(It's obviously not impossible to deliver video across the network with good performance, since YouTube and everyone else does it. But their video is highly encoded in specialized formats, not handled by any sort of general 'send successive images to the display' system.)&lt;/p&gt;

&lt;p&gt;The second is that the communication facilities that X provided were too narrow and limited. This forced people to go outside of them in order to do all sorts of things, starting with audio and moving on to things like DBus and other ways of coordinating environments, handling sophisticated configuration systems, modern fonts, and so on. When people designed these additional communication protocols, the result generally wasn't something that could be used over the network (especially not without a bunch of setup work that you had to do in addition to remote X). Basic X clients that use X properties for everything may be genuinely network transparent, but there are very few of those left these days. (Not even xterm is any more, at least if you use XFT fonts. XFT fonts are rendered in the client, and so different hosts may have different renderings of the same thing, cf.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&amp;lt; What remains of X's network transparency is still useful to some of us, but it's only a shadow of what the original design aimed for. I don't think it was a mistake for X to specifically design it in (to the extent that they did, which is less than you might think), and it did help X out pragmatically in the days of X terminals, but that's mostly it.&lt;/p&gt;

&lt;p&gt;(I continue to think that remote display protocols are useful in general, but I'm in an usual situation. Most people only ever interact with remote machines with either text mode SSH or a browser talking to a web server on the remote machine.)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;PS: The X protocol issues with synchronous requests that Daniel Stone talks about don't help the situation, but I think that even with those edges sanded off X's network transparency wouldn't be a success. Arguably X's protocol model committed a lesser version of part of the NeWS mistake.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/XFreeNetworkTransparency" target="_blank" rel="nofollow noopener"&gt;X's network transparency was basically free at the time&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I recently wrote an entry about how X's network transparency has wound up mostly being a failure for various reasons. However, there is an important flipside to the story of X's network transparency, and that is that X's network transparency was almost free at the time and in the context it was created. Unlike the situation today, in the beginning X did not have to give up lots of performance or other things in order to get network transparency.&lt;/p&gt;

&lt;p&gt;X originated in the mid 1980s and it was explicitly created to be portable across various Unixes, especially BSD-derived ones (because those were what universities were mostly using at that time). In the mid to late 1980s, Unix had very few IPC methods, especially portable ones. In particular, BSD systems did not have shared memory (it was called 'System V IPC' for the obvious reasons). BSD had TCP and Unix sockets, some System V machines had TCP (and you could likely assume that more would get it), and in general your safest bet was to assume some sort of abstract stream protocol and then allow for switchable concrete backends. Unsurprisingly, this is exactly what X did; the core protocol is defined as a bidirectional stream of bytes over an abstracted channel. (And the concrete implementation of $DISPLAY has always let you specify the transport mechanism, as well as allowing your local system to pick the best mechanism it has.)&lt;/p&gt;

&lt;p&gt;Once you've decided that your protocol has to run over abstracted streams, it's not that much more work to make it network transparent (TCP provides streams, after all). X could have refused to make the byte order of the stream clear or required the server and the client to have access to some shared files (eg for fonts), but I don't think either would have been a particularly big win. I'm sure that it took some extra effort and care to make X work across TCP from a different machine, but I don't think it took very much. (At the same time, my explanation here is probably a bit ahistorical. X's initial development seems relatively strongly tied to sometimes having clients on different machines than the display, which is not unreasonable for the era. But it doesn't hurt to get a feature that you want anyway for a low cost.)&lt;/p&gt;

&lt;p&gt;I believe it's important here that X was intended to be portable across different Unixes. If you don't care about portability and can get changes made to your Unix, you can do better (for example, you can add some sort of shared memory or process to process virtual memory transfer). I'm not sure how the 1980s versions of SunView worked, but I believe they were very SunOS dependent. Wikipedia says SunView was partly implemented in the kernel, which is certainly one way to both share memory and speed things up.&lt;/p&gt;

&lt;p&gt;PS: Sharing memory through mmap() and friends was years in the future at this point and required significant changes when it arrived.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/grace-hopper-celebration-2018-call-for-participation/" target="_blank" rel="nofollow noopener"&gt;Grace Hopper Celebration 2018 Call for Participation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/google-summer-of-code-call-for-project-ideas/" target="_blank" rel="nofollow noopener"&gt;Google Summer of Code: Call for Project Ideas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180129190641" target="_blank" rel="nofollow noopener"&gt;The OpenBSD Foundation 2018 Fundraising Campaign&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/3115" target="_blank" rel="nofollow noopener"&gt;SSH Mastery 2/e out&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2018.asiabsdcon.org/" target="_blank" rel="nofollow noopener"&gt;AsiaBSDcon 2018 Registration is open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mail.tarsnap.com/tarsnap-announce/msg00042.html" target="_blank" rel="nofollow noopener"&gt;Tarsnap support for Bitcoin ending April 1st; and a Chrome bug&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Todd - &lt;a href="http://dpaste.com/195HGHY#wrap" target="_blank" rel="nofollow noopener"&gt;Couple Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Seth - &lt;a href="http://dpaste.com/1N7NQVQ#wrap" target="_blank" rel="nofollow noopener"&gt;Tar Snap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Alex - &lt;a href="http://dpaste.com/3D9P1DW#wrap" target="_blank" rel="nofollow noopener"&gt;sudo question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Thomas - &lt;a href="http://dpaste.com/24NMG47#wrap" target="_blank" rel="nofollow noopener"&gt;FreeBSD on ARM?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Albert - &lt;a href="http://dpaste.com/373CRX7#wrap" target="_blank" rel="nofollow noopener"&gt;Austria BSD User Group&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We explain the physics behind ZFS, DTrace switching to the GPL, Emacs debugging, syncookies coming to PF &amp; FreeBSD’s history on EC2.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://blogs.oracle.com/bonwick/128-bit-storage:-are-you-high" target="_blank" rel="nofollow noopener">128 bit storage: Are you high?</a></h3>

<ul>
<li>For people who have heard about ZFS boiling oceans and wonder where that is coming from, we dug out this old piece from 2004 on the blog of ZFS co-creator Jeff Bonwick, originally from the Sun website.</li>
</ul>

<blockquote>
<p>64 bits would have been plenty ... but then you can't talk out of your ass about boiling oceans then, can you?<br>
Well, it's a fair question. Why did we make ZFS a 128-bit storage system? What on earth made us think it's necessary? And how do we know it's sufficient? Let's start with the easy one: how do we know it's necessary?<br>
 Some customers already have datasets on the order of a petabyte, or 2<sup>50</sup> bytes. Thus the 64-bit capacity limit of 2<sup>64</sup> bytes is only 14 doublings away. Moore's Law for storage predicts that capacity will continue to double every 9-12 months, which means we'll start to hit the 64-bit limit in about a decade. Storage systems tend to live for several decades, so it would be foolish to create a new one without anticipating the needs that will surely arise within its projected lifetime.<br>
If 64 bits isn't enough, the next logical step is 128 bits. That's enough to survive Moore's Law until I'm dead, and after that, it's not my problem. But it does raise the question: what are the theoretical limits to storage capacity?<br>
Although we'd all like Moore's Law to continue forever, quantum mechanics imposes some fundamental limits on the computation rate and information capacity of any physical device. In particular, it has been shown that 1 kilogram of matter confined to 1 liter of space can perform at most 10<sup>51</sup> operations per second on at most 10<sup>31</sup> bits of information [see Seth Lloyd, "Ultimate physical limits to computation." Nature 406, 1047-1054 (2000)]. A fully-populated 128-bit storage pool would contain 2<sup>128</sup> blocks = 2<sup>137</sup> bytes = 2<sup>140</sup> bits; therefore the minimum mass required to hold the bits would be (2<sup>140</sup> bits) / (10<sup>31</sup> bits/kg) = 136 billion kg.<br>
That's a lot of gear.<br>
To operate at the 1031 bits/kg limit, however, the entire mass of the computer must be in the form of pure energy. By E=mc<sup>2,</sup> the rest energy of 136 billion kg is 1.2x1028 J. The mass of the oceans is about 1.4x1021 kg. It takes about 4,000 J to raise the temperature of 1 kg of water by 1 degree Celcius, and thus about 400,000 J to heat 1 kg of water from freezing to boiling.<br>
The latent heat of vaporization adds another 2 million J/kg.<br>
Thus the energy required to boil the oceans is about 2.4x106 J/kg * 1.4x1021 kg = <br>
3.4x1027 J. Thus, fully populating a 128-bit storage pool would, literally, require more energy than boiling the oceans.</p>
</blockquote>

<ul>
<li>Best part of all: you don’t have to understand any of this to use ZFS. Rest assured that you won’t hit any limits with that filesystem for a long time. You still have to buy bigger disks over time, though...
***</li>
</ul>

<h3><a href="https://gnu.wildebeest.org/blog/mjw/2018/02/14/dtrace-for-linux-oracle-does-the-right-thing/" target="_blank" rel="nofollow noopener">dtrace for Linux, Oracle relicenses dtrace</a></h3>

<blockquote>
<p>At Fosdem we had a talk on dtrace for linux in the Debugging Tools devroom.</p>

<p>Not explicitly mentioned in that talk, but certainly the most exciting thing, is that Oracle is doing a proper linux kernel port:</p>
</blockquote>

<pre><code> commit e1744f50ee9bc1978d41db7cc93bcf30687853e6
 Author: Tomas Jedlicka &lt;tomas.jedlicka@oracle.com&gt;
 Date: Tue Aug 1 09:15:44 2017 -0400

 dtrace: Integrate DTrace Modules into kernel proper

 This changeset integrates DTrace module sources into the main kernel
 source tree under the GPLv2 license. Sources have been moved to
 appropriate locations in the kernel tree.
</code></pre>

<blockquote>
<p>That is right, dtrace dropped the CDDL and switched to the GPL!</p>

<p>The user space code dtrace-utils and libdtrace-ctf (a combination of GPLv2 and UPL) can be found on the DTrace Project Source Control page. The NEWS file mentions the license switch (and that it is build upon elfutils, which I personally was pleased to find out).</p>

<p>The kernel sources (GPLv2+ for the core kernel and UPL for the uapi) are slightly harder to find because they are inside the uek kernel source tree, but following the above commit you can easily get at the whole linux kernel dtrace directory.</p>

<p>The UPL is the Universal Permissive License, which according to the FSF is a lax, non-copyleft license that is compatible with the GNU GPL.</p>

<p>Thank you Oracle for making everyone’s life easier by waving your magic relicensing wand!</p>

<p>Now there is lots of hard work to do to actually properly integrate this. And I am sure there are a lot of technical hurdles when trying to get this upstreamed into the mainline kernel. But that is just hard work. Which we can now start collaborating on in earnest.</p>

<p>Like systemtap and the Dynamic Probes (dprobes) before it, dtrace is a whole system observability tool combining tracing, profiling and probing/debugging techniques. Something the upstream linux kernel hackers don’t always appreciate when presented as one large system. They prefer having separate small tweaks for tracing, profiling and probing which are mostly separate from each other. It took years for the various hooks, kprobes, uprobes, markers, etc. from systemtap (and other systems) to get upstream. But these days they are. And there is now even a byte code interpreter (eBPF) in the mainline kernel as originally envisioned by dprobes, which systemtap can now target through stapbpf. So with all those techniques now available in the linux kernel it will be exciting to see if dtrace for linux can unite them all.</p>
</blockquote>

<hr>

<h3><a href="http://nullprogram.com/blog/2018/01/17/" target="_blank" rel="nofollow noopener">Debugging Emacs or: How I Learned to Stop Worrying and Love DTrace</a></h3>

<blockquote>
<p>For some time Elfeed was experiencing a strange, spurious failure. Every so often users were seeing an error (spoiler warning) when updating feeds: “error in process sentinel: Search failed.” If you use Elfeed, you might have even seen this yourself. From the surface it appeared that curl, tasked with the responsibility for downloading feed data, was producing incomplete output despite reporting a successful run. Since the run was successful, Elfeed assumed certain data was in curl’s output buffer, but, since it wasn’t, it failed hard.</p>

<p>Unfortunately this issue was not reproducible. Manually running curl outside of Emacs never revealed any issues. Asking Elfeed to retry fetching the feeds would work fine. The issue would only randomly rear its head when Elfeed was fetching many feeds in parallel, under stress. By the time the error was discovered, the curl process had exited and vital debugging information was lost. Considering that this was likely to be a bug in Emacs itself, there really wasn’t a reliable way to capture the necessary debugging information from within Emacs Lisp. And, indeed, this later proved to be the case.</p>

<p>A quick-and-dirty work around is to use condition-case to catch and swallow the error. When the bizarre issue shows up, rather than fail badly in front of the user, Elfeed could attempt to swallow the error — assuming it can be reliably detected — and treat the fetch as simply a failure. That didn’t sit comfortably with me. Elfeed had done its due diligence checking for errors already. Someone was lying to Elfeed, and I intended to catch them with their pants on fire. Someday.</p>

<p>I’d just need to witness the bug on one of my own machines. Elfeed is part of my daily routine, so surely I’d have to experience this issue myself someday. My plan was, should that day come, to run a modified Elfeed, instrumented to capture extra data. I would have also routinely run Emacs under GDB so that I could inspect the failure more deeply.</p>

<p>For now I just had to wait to hunt that zebra.</p>
</blockquote>

<ul>
<li>Bryan Cantrill, DTrace, and FreeBSD</li>
</ul>

<blockquote>
<p>Over the holidays I re-discovered Bryan Cantrill, a systems software engineer who worked for Sun between 1996 and 2010, and is most well known for DTrace. My first exposure to him was in a BSD Now interview in 2015. I had re-watched that interview and decided there was a lot more I had to learn from him. He’s become a personal hero to me. So I scoured the internet for more of his writing and talks.</p>

<p>Some interesting operating system technology came out of Sun during its final 15 or so years — most notably DTrace and ZFS — and Bryan speaks about it passionately. Almost as a matter of luck, most of it survived the Oracle acquisition thanks to Sun releasing it as open source in just the nick of time. Otherwise it would have been lost forever. The scattered ex-Sun employees, still passionate about their prior work at Sun, along with some of their old customers have since picked up the pieces and kept going as a community under the name illumos. It’s like an open source flotilla.</p>

<p>Naturally I wanted to get my hands on this stuff to try it out for myself. Is it really as good as they say? Normally I stick to Linux, but it (generally) doesn’t have these Sun technologies available. The main reason is license incompatibility. Sun released its code under the CDDL, which is incompatible with the GPL. Ubuntu does infamously include ZFS, but other distributions are unwilling to take that risk. Porting DTrace is a serious undertaking since it’s got its fingers throughout the kernel, which also makes the licensing issues even more complicated.</p>

<p>Linux has a reputation for Not Invented Here (NIH) syndrome, and these licensing issues certainly contribute to that. Rather than adopt ZFS and DTrace, they’ve been reinvented from scratch: btrfs instead of ZFS, and a slew of partial options instead of DTrace. Normally I’m most interested in system call tracing, and my go to is strace, though it certainly has its limitations — including this situation of debugging curl under Emacs. Another famous example of NIH is Linux’s epoll(2), which is a broken version of BSD kqueue(2).</p>

<p>So, if I want to try these for myself, I’ll need to install a different operating system. I’ve dabbled with OmniOS, an OS built on illumos, in virtual machines, using it as an alien environment to test some of my software (e.g. enchive). OmniOS has a philosophy called Keep Your Software To Yourself (KYSTY), which is really just code for “we don’t do packaging.” Honestly, you can’t blame them since they’re a tiny community. The best solution to this is probably pkgsrc, which is essentially a universal packaging system. Otherwise you’re on your own.</p>

<p>There’s also openindiana, which is a more friendly desktop-oriented illumos distribution. Still, the short of it is that you’re very much on your own when things don’t work. The situation is like running Linux a couple decades ago, when it was still difficult to do.</p>

<p>If you’re interested in trying DTrace, the easiest option these days is probably FreeBSD. It’s got a big, active community, thorough documentation, and a huge selection of packages. Its license (the BSD license, duh) is compatible with the CDDL, so both ZFS and DTrace have been ported to FreeBSD.</p>
</blockquote>

<ul>
<li>What is DTrace?</li>
</ul>

<blockquote>
<p>I’ve done all this talking but haven’t yet described what DTrace really is. I won’t pretend to write my own tutorial, but I’ll provide enough information to follow along. DTrace is a tracing framework for debugging production systems in real time, both for the kernel and for applications. The “production systems” part means it’s stable and safe — using DTrace won’t put your system at risk of crashing or damaging data. The “real time” part means it has little impact on performance. You can use DTrace on live, active systems with little impact. Both of these core design principles are vital for troubleshooting those really tricky bugs that only show up in production.</p>

<p>There are DTrace probes scattered all throughout the system: on system calls, scheduler events, networking events, process events, signals, virtual memory events, etc. Using a specialized language called D (unrelated to the general purpose programming language D), you can dynamically add behavior at these instrumentation points. Generally the behavior is to capture information, but it can also manipulate the event being traced.</p>

<p>Each probe is fully identified by a 4-tuple delimited by colons: provider, module, function, and probe name. An empty element denotes a sort of wildcard. For example, syscall::open:entry is a probe at the beginning (i.e. “entry”) of open(2). syscall:::entry matches all system call entry probes.</p>

<p>Unlike strace on Linux which monitors a specific process, DTrace applies to the entire system when active. To run curl under strace from Emacs, I’d have to modify Emacs’ behavior to do so. With DTrace I can instrument every curl process without making a single change to Emacs, and with negligible impact to Emacs. That’s a big deal.</p>

<p>So, when it comes to this Elfeed issue, FreeBSD is much better poised for debugging the problem. All I have to do is catch it in the act. However, it’s been months since that bug report and I’m not really making this connection yet. I’m just hoping I eventually find an interesting problem where I can apply DTrace.</p>
</blockquote>

<ul>
<li><a href="http://dtrace.org/blogs/bmc/2018/02/03/talks/" target="_blank" rel="nofollow noopener">Bryan Cantrill: Talks I have given</a>
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180207090000" target="_blank" rel="nofollow noopener">a2k18 Hackathon preview: Syncookies coming to PF</a></h3>

<blockquote>
<p>As you may have heard, the a2k18 hackathon is in progress. As can be seen from the commit messages, several items of goodness are being worked on.<br>
One eagerly anticipated item is the arrival of TCP syncookies (read: another important tool in your anti-DDoS toolset) in PF. Henning Brauer (henning@) added the code in a series of commits on February 6th, 2018, with this one containing the explanation:</p>
</blockquote>

<pre><code>syncookies for pf.

when syncookies are on, pf will blindly answer each and every SYN with a syncookie-SYNACK. Upon reception of the ACK completing the 3WHS, pf will reconstruct the original SYN, shove it through pf_test, where state will be created if the ruleset permits it. Then massage the freshly created state (we won't see the SYNACK), set up the sequence number modulator, and call into the existing synproxy code to start the 3WHS with the backend host.

Add an - somewhat basic for now - adaptive mode where syncookies get enabled if a certain percentage of the state table is filled up with half-open tcp connections. This makes pf firewalls resilient against large synflood attacks.

syncookies are off by default until we gained more experience, considered experimental for now.

see http://bulabula.org/papers/2017/bsdcan/ for more details.

joint work with sashan@, widely discussed and with lots of input by many
</code></pre>

<blockquote>
<p>The first release to have this feature available will probably be the upcoming OpenBSD 6.3 if a sufficient number of people test this in their setups (hint, hint). More info is likely to emerge soon in post-hackathon writeups, so watch this space!</p>
</blockquote>

<hr>

<h3>[Pale Moon]</h3>

<ul>
<li>A Perfect example of how not to approach OS developers/packagers</li>
<li><a href="https://github.com/jasperla/openbsd-wip/issues/86" target="_blank" rel="nofollow noopener">Removed from OpenBSD Ports due to Licensing Issues</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-ports/2018-February/112455.html" target="_blank" rel="nofollow noopener">FreeBSD Palemoon branding violation</a></li>
<li><a href="https://twitter.com/midnightbsd/status/961232422091280386" target="_blank" rel="nofollow noopener">Mightnight BSD's response</a>
***</li>
</ul>

<h3><a href="http://www.daemonology.net/blog/2018-02-12-FreeBSD-EC2-history.html" target="_blank" rel="nofollow noopener">FreeBSD EC2 History</a></h3>

<blockquote>
<p>A couple years ago Jeff Barr published a blog post with a timeline of EC2 instances. I thought at the time that I should write up a timeline of the FreeBSD/EC2 platform, but I didn't get around to it; but last week, as I prepared to ask for sponsorship for my work I decided that it was time to sit down and collect together the long history of how the platform has evolved and improved over the years.<br>
Normally I don't edit blog posts after publishing them (with the exception of occasional typographical corrections), but I do plan on keeping this post up to date with future developments.</p>
</blockquote>

<ul>
<li>August 25, 2006: Amazon EC2 launches. It supports a single version of Ubuntu Linux; FreeBSD is not available.</li>
<li>December 13, 2010: I manage to get FreeBSD running on EC2 t1.micro instances.</li>
<li>March 22, 2011: I manage to get FreeBSD running on EC2 "cluster compute" instances.</li>
<li>July 8, 2011: I get FreeBSD 8.2 running on all 64-bit EC2 instance types, by marking it as "Windows" in order to get access to Xen/HVM virtualization. (Unfortunately this meant that users had to pay the higher "Windows" hourly pricing.)</li>
<li>January 16, 2012: I get FreeBSD 9.0 running on 32-bit EC2 instances via the same "defenestration" trick. (Again, paying the "Windows" prices.)</li>
<li>August 16, 2012: I move the FreeBSD rc.d scripts which handle "EC2" functionality (e.g., logging SSH host keys to the console) into the FreeBSD ports tree.</li>
<li>October 7, 2012: I rework the build process for FreeBSD 9.1-RC1 and later to use "world" bits extracted from the release ISOs; only the kernel is custom-built. Also, the default SSH user changes from "root" to "ec2-user".</li>
<li>October 31, 2012: Amazon launches the "M3" family of instances, which support Xen/HVM without FreeBSD needing to pay the "Windows" tax.</li>
<li>November 21, 2012: I get FreeBSD added to the AWS Marketplace.</li>
<li>October 2, 2013: I finish merging kernel patches into the FreeBSD base system, and rework the AMI build (again) so that FreeBSD 10.0-ALPHA4 and later use bits extracted from the release ISOs for the entire system (world + kernel). FreeBSD Update can now be used for updating everything (because now FreeBSD/EC2 uses a GENERIC kernel).</li>
<li>October 27, 2013: I add code to EC2 images so that FreeBSD 10.0-BETA2 and later AMIs will run FreeBSD Update when they first boot in order to download and install any critical updates.</li>
<li>December 1, 2013: I add code to EC2 images so that FreeBSD 10.0-BETA4 and later AMIs bootstrap the pkg tool and install packages at boot time (by default, the "awscli" package).</li>
<li>December 9, 2013: I add configinit to FreeBSD 10.0-RC1 and later to allow systems to be easily configured via EC2 user-data.</li>
<li>July 1, 2014: Amazon launches the "T2" family of instances; now the most modern family for every type of EC2 instance (regular, high-memory, high-CPU, high-I/O, burstable) supports HVM and there should no longer be any need for FreeBSD users to pay the "Windows tax".</li>
<li>November 24, 2014: I add code to FreeBSD 10.2 and later to automatically resize their root filesystems when they first boot; this means that a larger root disk can be specified at instance launch time and everything will work as expected.</li>
<li>April 1, 2015: I integrate the FreeBSD/EC2 build process into the FreeBSD release building process; FreeBSD 10.2-BETA1 and later AMIs are built by the FreeBSD release engineering team.</li>
<li>January 12, 2016: I enable Intel 82599-based "first generation EC2 Enhanced Networking" in FreeBSD 11.0 and later.</li>
<li>June 9, 2016: I enable the new EC2 VGA console functionality in FreeBSD 11.0 and later. (The old serial console also continues to work.)</li>
<li>June 24, 2016: Intel 82599-based Enhanced Networking works reliably in FreeBSD 11.0 and later thanks to discovering and working around a Xen bug.</li>
<li>June 29, 2016: I improve throughput on Xen blkfront devices (/dev/xbd*) by enabling indirect segment I/Os in FreeBSD 10.4 and later. (I wrote this functionality in July 2015, but left it disabled by default a first because a bug in EC2 caused it to hurt performance on some instances.)</li>
<li>July 7, 2016: I fix a bug in FreeBSD's virtual memory initialization in order to allow it to support boot with 128 CPUs; aka. FreeBSD 11.0 and later support the EC2 x1.32xlarge instance type.</li>
<li>January 26, 2017: I change the default configuration in FreeBSD 11.1 and later to support EC2's IPv6 networking setup out of the box (once you flip all of the necessary switches to enable IPv6 in EC2 itself).</li>
<li>May 20, 2017: In collaboration with Rick Macklem, I make FreeBSD 11.1 and later compatible with the Amazon "Elastic File System" (aka. NFSv4-as-a-service) via the newly added "oneopenown" mount option (and lots of bug fixes).</li>
<li>May 25, 2017: I enable support for the Amazon "Elastic Network Adapter" in FreeBSD 11.1 and later. (The vast majority of the work — porting the driver code — was done by Semihalf with sponsorship from Amazon.)</li>
<li><p>December 5, 2017: I change the default configuration in FreeBSD 11.2 and later to make use of the Amazon Time Sync Service (aka. NTP-as-a-service).</p></li>
<li><p>The current status</p></li>
<li><p>The upcoming FreeBSD release (11.2) supports: IPv6, Enhanced Networking (both generations), Amazon Elastic File System, Amazon Time Sync Service, both consoles (Serial VGA), and every EC2 instance type (although I'm not sure if FreeBSD has drivers to make use of the FPGA or GPU hardware on those instances).</p></li>
<li><p><a href="https://www.patreon.com/cperciva" target="_blank" rel="nofollow noopener">Colin's Patreon' page if you'd like to support him</a></p></li>
</ul>

<hr>

<h3>X network transparency</h3>

<ul>
<li><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/XNetworkTransparencyFailure" target="_blank" rel="nofollow noopener">X's network transparency has wound up mostly being a failure</a></li>
</ul>

<blockquote>
<p>I was recently reading Mark Dominus's entry about some X keyboard problems, in which he said in passing (quoting himself):</p>

<p>I have been wondering for years if X's vaunted network transparency was as big a failure as it seemed: an interesting idea, worth trying out, but one that eventually turned out to be more trouble than it was worth. [...]</p>

<p>My first reaction was to bristle, because I use X's network transparency all of the time at work. I have several programs to make it work very smoothly, and some core portions of my environment would be basically impossible without it. But there's a big qualification on my use of X's network transparency, namely that it's essentially all for text. When I occasionally go outside of this all-text environment of xterms and emacs and so on, it doesn't go as well.</p>

<p>X's network transparency was not designed as 'it will run xterm well'; originally it was to be something that should let you run almost everything remotely, providing a full environment. Even apart from the practical issues covered in Daniel Stone's slide presentation, it's clear that it's been years since X could deliver a real first class environment over the network. You cannot operate with X over the network in the same way that you do locally. Trying to do so is painful and involves many things that either don't work at all or perform so badly that you don't want to use them.</p>

<p>In my view, there are two things that did in general X network transparency. The first is that networks turned out to not be fast enough even for ordinary things that people wanted to do, at least not the way that X used them. The obvious case is web browsers; once the web moved to lots of images and worse, video, that was pretty much it, especially with 24-bit colour.</p>

<p>(It's obviously not impossible to deliver video across the network with good performance, since YouTube and everyone else does it. But their video is highly encoded in specialized formats, not handled by any sort of general 'send successive images to the display' system.)</p>

<p>The second is that the communication facilities that X provided were too narrow and limited. This forced people to go outside of them in order to do all sorts of things, starting with audio and moving on to things like DBus and other ways of coordinating environments, handling sophisticated configuration systems, modern fonts, and so on. When people designed these additional communication protocols, the result generally wasn't something that could be used over the network (especially not without a bunch of setup work that you had to do in addition to remote X). Basic X clients that use X properties for everything may be genuinely network transparent, but there are very few of those left these days. (Not even xterm is any more, at least if you use XFT fonts. XFT fonts are rendered in the client, and so different hosts may have different renderings of the same thing, cf.)</p>
</blockquote>

<p>&lt; What remains of X's network transparency is still useful to some of us, but it's only a shadow of what the original design aimed for. I don't think it was a mistake for X to specifically design it in (to the extent that they did, which is less than you might think), and it did help X out pragmatically in the days of X terminals, but that's mostly it.</p>

<p>(I continue to think that remote display protocols are useful in general, but I'm in an usual situation. Most people only ever interact with remote machines with either text mode SSH or a browser talking to a web server on the remote machine.)</p>

<blockquote>
<p>PS: The X protocol issues with synchronous requests that Daniel Stone talks about don't help the situation, but I think that even with those edges sanded off X's network transparency wouldn't be a success. Arguably X's protocol model committed a lesser version of part of the NeWS mistake.</p>
</blockquote>

<ul>
<li><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/XFreeNetworkTransparency" target="_blank" rel="nofollow noopener">X's network transparency was basically free at the time</a></li>
</ul>

<blockquote>
<p>I recently wrote an entry about how X's network transparency has wound up mostly being a failure for various reasons. However, there is an important flipside to the story of X's network transparency, and that is that X's network transparency was almost free at the time and in the context it was created. Unlike the situation today, in the beginning X did not have to give up lots of performance or other things in order to get network transparency.</p>

<p>X originated in the mid 1980s and it was explicitly created to be portable across various Unixes, especially BSD-derived ones (because those were what universities were mostly using at that time). In the mid to late 1980s, Unix had very few IPC methods, especially portable ones. In particular, BSD systems did not have shared memory (it was called 'System V IPC' for the obvious reasons). BSD had TCP and Unix sockets, some System V machines had TCP (and you could likely assume that more would get it), and in general your safest bet was to assume some sort of abstract stream protocol and then allow for switchable concrete backends. Unsurprisingly, this is exactly what X did; the core protocol is defined as a bidirectional stream of bytes over an abstracted channel. (And the concrete implementation of $DISPLAY has always let you specify the transport mechanism, as well as allowing your local system to pick the best mechanism it has.)</p>

<p>Once you've decided that your protocol has to run over abstracted streams, it's not that much more work to make it network transparent (TCP provides streams, after all). X could have refused to make the byte order of the stream clear or required the server and the client to have access to some shared files (eg for fonts), but I don't think either would have been a particularly big win. I'm sure that it took some extra effort and care to make X work across TCP from a different machine, but I don't think it took very much. (At the same time, my explanation here is probably a bit ahistorical. X's initial development seems relatively strongly tied to sometimes having clients on different machines than the display, which is not unreasonable for the era. But it doesn't hurt to get a feature that you want anyway for a low cost.)</p>

<p>I believe it's important here that X was intended to be portable across different Unixes. If you don't care about portability and can get changes made to your Unix, you can do better (for example, you can add some sort of shared memory or process to process virtual memory transfer). I'm not sure how the 1980s versions of SunView worked, but I believe they were very SunOS dependent. Wikipedia says SunView was partly implemented in the kernel, which is certainly one way to both share memory and speed things up.</p>

<p>PS: Sharing memory through mmap() and friends was years in the future at this point and required significant changes when it arrived.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/grace-hopper-celebration-2018-call-for-participation/" target="_blank" rel="nofollow noopener">Grace Hopper Celebration 2018 Call for Participation</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/google-summer-of-code-call-for-project-ideas/" target="_blank" rel="nofollow noopener">Google Summer of Code: Call for Project Ideas</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180129190641" target="_blank" rel="nofollow noopener">The OpenBSD Foundation 2018 Fundraising Campaign</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3115" target="_blank" rel="nofollow noopener">SSH Mastery 2/e out</a></li>
<li><a href="https://2018.asiabsdcon.org/" target="_blank" rel="nofollow noopener">AsiaBSDcon 2018 Registration is open</a></li>
<li><a href="http://mail.tarsnap.com/tarsnap-announce/msg00042.html" target="_blank" rel="nofollow noopener">Tarsnap support for Bitcoin ending April 1st; and a Chrome bug</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Todd - <a href="http://dpaste.com/195HGHY#wrap" target="_blank" rel="nofollow noopener">Couple Questions</a></li>
<li>Seth - <a href="http://dpaste.com/1N7NQVQ#wrap" target="_blank" rel="nofollow noopener">Tar Snap</a></li>
<li>Alex - <a href="http://dpaste.com/3D9P1DW#wrap" target="_blank" rel="nofollow noopener">sudo question</a></li>
<li>Thomas - <a href="http://dpaste.com/24NMG47#wrap" target="_blank" rel="nofollow noopener">FreeBSD on ARM?</a></li>
<li>Albert - <a href="http://dpaste.com/373CRX7#wrap" target="_blank" rel="nofollow noopener">Austria BSD User Group</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We explain the physics behind ZFS, DTrace switching to the GPL, Emacs debugging, syncookies coming to PF &amp; FreeBSD’s history on EC2.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://blogs.oracle.com/bonwick/128-bit-storage:-are-you-high" target="_blank" rel="nofollow noopener">128 bit storage: Are you high?</a></h3>

<ul>
<li>For people who have heard about ZFS boiling oceans and wonder where that is coming from, we dug out this old piece from 2004 on the blog of ZFS co-creator Jeff Bonwick, originally from the Sun website.</li>
</ul>

<blockquote>
<p>64 bits would have been plenty ... but then you can't talk out of your ass about boiling oceans then, can you?<br>
Well, it's a fair question. Why did we make ZFS a 128-bit storage system? What on earth made us think it's necessary? And how do we know it's sufficient? Let's start with the easy one: how do we know it's necessary?<br>
 Some customers already have datasets on the order of a petabyte, or 2<sup>50</sup> bytes. Thus the 64-bit capacity limit of 2<sup>64</sup> bytes is only 14 doublings away. Moore's Law for storage predicts that capacity will continue to double every 9-12 months, which means we'll start to hit the 64-bit limit in about a decade. Storage systems tend to live for several decades, so it would be foolish to create a new one without anticipating the needs that will surely arise within its projected lifetime.<br>
If 64 bits isn't enough, the next logical step is 128 bits. That's enough to survive Moore's Law until I'm dead, and after that, it's not my problem. But it does raise the question: what are the theoretical limits to storage capacity?<br>
Although we'd all like Moore's Law to continue forever, quantum mechanics imposes some fundamental limits on the computation rate and information capacity of any physical device. In particular, it has been shown that 1 kilogram of matter confined to 1 liter of space can perform at most 10<sup>51</sup> operations per second on at most 10<sup>31</sup> bits of information [see Seth Lloyd, "Ultimate physical limits to computation." Nature 406, 1047-1054 (2000)]. A fully-populated 128-bit storage pool would contain 2<sup>128</sup> blocks = 2<sup>137</sup> bytes = 2<sup>140</sup> bits; therefore the minimum mass required to hold the bits would be (2<sup>140</sup> bits) / (10<sup>31</sup> bits/kg) = 136 billion kg.<br>
That's a lot of gear.<br>
To operate at the 1031 bits/kg limit, however, the entire mass of the computer must be in the form of pure energy. By E=mc<sup>2,</sup> the rest energy of 136 billion kg is 1.2x1028 J. The mass of the oceans is about 1.4x1021 kg. It takes about 4,000 J to raise the temperature of 1 kg of water by 1 degree Celcius, and thus about 400,000 J to heat 1 kg of water from freezing to boiling.<br>
The latent heat of vaporization adds another 2 million J/kg.<br>
Thus the energy required to boil the oceans is about 2.4x106 J/kg * 1.4x1021 kg = <br>
3.4x1027 J. Thus, fully populating a 128-bit storage pool would, literally, require more energy than boiling the oceans.</p>
</blockquote>

<ul>
<li>Best part of all: you don’t have to understand any of this to use ZFS. Rest assured that you won’t hit any limits with that filesystem for a long time. You still have to buy bigger disks over time, though...
***</li>
</ul>

<h3><a href="https://gnu.wildebeest.org/blog/mjw/2018/02/14/dtrace-for-linux-oracle-does-the-right-thing/" target="_blank" rel="nofollow noopener">dtrace for Linux, Oracle relicenses dtrace</a></h3>

<blockquote>
<p>At Fosdem we had a talk on dtrace for linux in the Debugging Tools devroom.</p>

<p>Not explicitly mentioned in that talk, but certainly the most exciting thing, is that Oracle is doing a proper linux kernel port:</p>
</blockquote>

<pre><code> commit e1744f50ee9bc1978d41db7cc93bcf30687853e6
 Author: Tomas Jedlicka &lt;tomas.jedlicka@oracle.com&gt;
 Date: Tue Aug 1 09:15:44 2017 -0400

 dtrace: Integrate DTrace Modules into kernel proper

 This changeset integrates DTrace module sources into the main kernel
 source tree under the GPLv2 license. Sources have been moved to
 appropriate locations in the kernel tree.
</code></pre>

<blockquote>
<p>That is right, dtrace dropped the CDDL and switched to the GPL!</p>

<p>The user space code dtrace-utils and libdtrace-ctf (a combination of GPLv2 and UPL) can be found on the DTrace Project Source Control page. The NEWS file mentions the license switch (and that it is build upon elfutils, which I personally was pleased to find out).</p>

<p>The kernel sources (GPLv2+ for the core kernel and UPL for the uapi) are slightly harder to find because they are inside the uek kernel source tree, but following the above commit you can easily get at the whole linux kernel dtrace directory.</p>

<p>The UPL is the Universal Permissive License, which according to the FSF is a lax, non-copyleft license that is compatible with the GNU GPL.</p>

<p>Thank you Oracle for making everyone’s life easier by waving your magic relicensing wand!</p>

<p>Now there is lots of hard work to do to actually properly integrate this. And I am sure there are a lot of technical hurdles when trying to get this upstreamed into the mainline kernel. But that is just hard work. Which we can now start collaborating on in earnest.</p>

<p>Like systemtap and the Dynamic Probes (dprobes) before it, dtrace is a whole system observability tool combining tracing, profiling and probing/debugging techniques. Something the upstream linux kernel hackers don’t always appreciate when presented as one large system. They prefer having separate small tweaks for tracing, profiling and probing which are mostly separate from each other. It took years for the various hooks, kprobes, uprobes, markers, etc. from systemtap (and other systems) to get upstream. But these days they are. And there is now even a byte code interpreter (eBPF) in the mainline kernel as originally envisioned by dprobes, which systemtap can now target through stapbpf. So with all those techniques now available in the linux kernel it will be exciting to see if dtrace for linux can unite them all.</p>
</blockquote>

<hr>

<h3><a href="http://nullprogram.com/blog/2018/01/17/" target="_blank" rel="nofollow noopener">Debugging Emacs or: How I Learned to Stop Worrying and Love DTrace</a></h3>

<blockquote>
<p>For some time Elfeed was experiencing a strange, spurious failure. Every so often users were seeing an error (spoiler warning) when updating feeds: “error in process sentinel: Search failed.” If you use Elfeed, you might have even seen this yourself. From the surface it appeared that curl, tasked with the responsibility for downloading feed data, was producing incomplete output despite reporting a successful run. Since the run was successful, Elfeed assumed certain data was in curl’s output buffer, but, since it wasn’t, it failed hard.</p>

<p>Unfortunately this issue was not reproducible. Manually running curl outside of Emacs never revealed any issues. Asking Elfeed to retry fetching the feeds would work fine. The issue would only randomly rear its head when Elfeed was fetching many feeds in parallel, under stress. By the time the error was discovered, the curl process had exited and vital debugging information was lost. Considering that this was likely to be a bug in Emacs itself, there really wasn’t a reliable way to capture the necessary debugging information from within Emacs Lisp. And, indeed, this later proved to be the case.</p>

<p>A quick-and-dirty work around is to use condition-case to catch and swallow the error. When the bizarre issue shows up, rather than fail badly in front of the user, Elfeed could attempt to swallow the error — assuming it can be reliably detected — and treat the fetch as simply a failure. That didn’t sit comfortably with me. Elfeed had done its due diligence checking for errors already. Someone was lying to Elfeed, and I intended to catch them with their pants on fire. Someday.</p>

<p>I’d just need to witness the bug on one of my own machines. Elfeed is part of my daily routine, so surely I’d have to experience this issue myself someday. My plan was, should that day come, to run a modified Elfeed, instrumented to capture extra data. I would have also routinely run Emacs under GDB so that I could inspect the failure more deeply.</p>

<p>For now I just had to wait to hunt that zebra.</p>
</blockquote>

<ul>
<li>Bryan Cantrill, DTrace, and FreeBSD</li>
</ul>

<blockquote>
<p>Over the holidays I re-discovered Bryan Cantrill, a systems software engineer who worked for Sun between 1996 and 2010, and is most well known for DTrace. My first exposure to him was in a BSD Now interview in 2015. I had re-watched that interview and decided there was a lot more I had to learn from him. He’s become a personal hero to me. So I scoured the internet for more of his writing and talks.</p>

<p>Some interesting operating system technology came out of Sun during its final 15 or so years — most notably DTrace and ZFS — and Bryan speaks about it passionately. Almost as a matter of luck, most of it survived the Oracle acquisition thanks to Sun releasing it as open source in just the nick of time. Otherwise it would have been lost forever. The scattered ex-Sun employees, still passionate about their prior work at Sun, along with some of their old customers have since picked up the pieces and kept going as a community under the name illumos. It’s like an open source flotilla.</p>

<p>Naturally I wanted to get my hands on this stuff to try it out for myself. Is it really as good as they say? Normally I stick to Linux, but it (generally) doesn’t have these Sun technologies available. The main reason is license incompatibility. Sun released its code under the CDDL, which is incompatible with the GPL. Ubuntu does infamously include ZFS, but other distributions are unwilling to take that risk. Porting DTrace is a serious undertaking since it’s got its fingers throughout the kernel, which also makes the licensing issues even more complicated.</p>

<p>Linux has a reputation for Not Invented Here (NIH) syndrome, and these licensing issues certainly contribute to that. Rather than adopt ZFS and DTrace, they’ve been reinvented from scratch: btrfs instead of ZFS, and a slew of partial options instead of DTrace. Normally I’m most interested in system call tracing, and my go to is strace, though it certainly has its limitations — including this situation of debugging curl under Emacs. Another famous example of NIH is Linux’s epoll(2), which is a broken version of BSD kqueue(2).</p>

<p>So, if I want to try these for myself, I’ll need to install a different operating system. I’ve dabbled with OmniOS, an OS built on illumos, in virtual machines, using it as an alien environment to test some of my software (e.g. enchive). OmniOS has a philosophy called Keep Your Software To Yourself (KYSTY), which is really just code for “we don’t do packaging.” Honestly, you can’t blame them since they’re a tiny community. The best solution to this is probably pkgsrc, which is essentially a universal packaging system. Otherwise you’re on your own.</p>

<p>There’s also openindiana, which is a more friendly desktop-oriented illumos distribution. Still, the short of it is that you’re very much on your own when things don’t work. The situation is like running Linux a couple decades ago, when it was still difficult to do.</p>

<p>If you’re interested in trying DTrace, the easiest option these days is probably FreeBSD. It’s got a big, active community, thorough documentation, and a huge selection of packages. Its license (the BSD license, duh) is compatible with the CDDL, so both ZFS and DTrace have been ported to FreeBSD.</p>
</blockquote>

<ul>
<li>What is DTrace?</li>
</ul>

<blockquote>
<p>I’ve done all this talking but haven’t yet described what DTrace really is. I won’t pretend to write my own tutorial, but I’ll provide enough information to follow along. DTrace is a tracing framework for debugging production systems in real time, both for the kernel and for applications. The “production systems” part means it’s stable and safe — using DTrace won’t put your system at risk of crashing or damaging data. The “real time” part means it has little impact on performance. You can use DTrace on live, active systems with little impact. Both of these core design principles are vital for troubleshooting those really tricky bugs that only show up in production.</p>

<p>There are DTrace probes scattered all throughout the system: on system calls, scheduler events, networking events, process events, signals, virtual memory events, etc. Using a specialized language called D (unrelated to the general purpose programming language D), you can dynamically add behavior at these instrumentation points. Generally the behavior is to capture information, but it can also manipulate the event being traced.</p>

<p>Each probe is fully identified by a 4-tuple delimited by colons: provider, module, function, and probe name. An empty element denotes a sort of wildcard. For example, syscall::open:entry is a probe at the beginning (i.e. “entry”) of open(2). syscall:::entry matches all system call entry probes.</p>

<p>Unlike strace on Linux which monitors a specific process, DTrace applies to the entire system when active. To run curl under strace from Emacs, I’d have to modify Emacs’ behavior to do so. With DTrace I can instrument every curl process without making a single change to Emacs, and with negligible impact to Emacs. That’s a big deal.</p>

<p>So, when it comes to this Elfeed issue, FreeBSD is much better poised for debugging the problem. All I have to do is catch it in the act. However, it’s been months since that bug report and I’m not really making this connection yet. I’m just hoping I eventually find an interesting problem where I can apply DTrace.</p>
</blockquote>

<ul>
<li><a href="http://dtrace.org/blogs/bmc/2018/02/03/talks/" target="_blank" rel="nofollow noopener">Bryan Cantrill: Talks I have given</a>
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180207090000" target="_blank" rel="nofollow noopener">a2k18 Hackathon preview: Syncookies coming to PF</a></h3>

<blockquote>
<p>As you may have heard, the a2k18 hackathon is in progress. As can be seen from the commit messages, several items of goodness are being worked on.<br>
One eagerly anticipated item is the arrival of TCP syncookies (read: another important tool in your anti-DDoS toolset) in PF. Henning Brauer (henning@) added the code in a series of commits on February 6th, 2018, with this one containing the explanation:</p>
</blockquote>

<pre><code>syncookies for pf.

when syncookies are on, pf will blindly answer each and every SYN with a syncookie-SYNACK. Upon reception of the ACK completing the 3WHS, pf will reconstruct the original SYN, shove it through pf_test, where state will be created if the ruleset permits it. Then massage the freshly created state (we won't see the SYNACK), set up the sequence number modulator, and call into the existing synproxy code to start the 3WHS with the backend host.

Add an - somewhat basic for now - adaptive mode where syncookies get enabled if a certain percentage of the state table is filled up with half-open tcp connections. This makes pf firewalls resilient against large synflood attacks.

syncookies are off by default until we gained more experience, considered experimental for now.

see http://bulabula.org/papers/2017/bsdcan/ for more details.

joint work with sashan@, widely discussed and with lots of input by many
</code></pre>

<blockquote>
<p>The first release to have this feature available will probably be the upcoming OpenBSD 6.3 if a sufficient number of people test this in their setups (hint, hint). More info is likely to emerge soon in post-hackathon writeups, so watch this space!</p>
</blockquote>

<hr>

<h3>[Pale Moon]</h3>

<ul>
<li>A Perfect example of how not to approach OS developers/packagers</li>
<li><a href="https://github.com/jasperla/openbsd-wip/issues/86" target="_blank" rel="nofollow noopener">Removed from OpenBSD Ports due to Licensing Issues</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-ports/2018-February/112455.html" target="_blank" rel="nofollow noopener">FreeBSD Palemoon branding violation</a></li>
<li><a href="https://twitter.com/midnightbsd/status/961232422091280386" target="_blank" rel="nofollow noopener">Mightnight BSD's response</a>
***</li>
</ul>

<h3><a href="http://www.daemonology.net/blog/2018-02-12-FreeBSD-EC2-history.html" target="_blank" rel="nofollow noopener">FreeBSD EC2 History</a></h3>

<blockquote>
<p>A couple years ago Jeff Barr published a blog post with a timeline of EC2 instances. I thought at the time that I should write up a timeline of the FreeBSD/EC2 platform, but I didn't get around to it; but last week, as I prepared to ask for sponsorship for my work I decided that it was time to sit down and collect together the long history of how the platform has evolved and improved over the years.<br>
Normally I don't edit blog posts after publishing them (with the exception of occasional typographical corrections), but I do plan on keeping this post up to date with future developments.</p>
</blockquote>

<ul>
<li>August 25, 2006: Amazon EC2 launches. It supports a single version of Ubuntu Linux; FreeBSD is not available.</li>
<li>December 13, 2010: I manage to get FreeBSD running on EC2 t1.micro instances.</li>
<li>March 22, 2011: I manage to get FreeBSD running on EC2 "cluster compute" instances.</li>
<li>July 8, 2011: I get FreeBSD 8.2 running on all 64-bit EC2 instance types, by marking it as "Windows" in order to get access to Xen/HVM virtualization. (Unfortunately this meant that users had to pay the higher "Windows" hourly pricing.)</li>
<li>January 16, 2012: I get FreeBSD 9.0 running on 32-bit EC2 instances via the same "defenestration" trick. (Again, paying the "Windows" prices.)</li>
<li>August 16, 2012: I move the FreeBSD rc.d scripts which handle "EC2" functionality (e.g., logging SSH host keys to the console) into the FreeBSD ports tree.</li>
<li>October 7, 2012: I rework the build process for FreeBSD 9.1-RC1 and later to use "world" bits extracted from the release ISOs; only the kernel is custom-built. Also, the default SSH user changes from "root" to "ec2-user".</li>
<li>October 31, 2012: Amazon launches the "M3" family of instances, which support Xen/HVM without FreeBSD needing to pay the "Windows" tax.</li>
<li>November 21, 2012: I get FreeBSD added to the AWS Marketplace.</li>
<li>October 2, 2013: I finish merging kernel patches into the FreeBSD base system, and rework the AMI build (again) so that FreeBSD 10.0-ALPHA4 and later use bits extracted from the release ISOs for the entire system (world + kernel). FreeBSD Update can now be used for updating everything (because now FreeBSD/EC2 uses a GENERIC kernel).</li>
<li>October 27, 2013: I add code to EC2 images so that FreeBSD 10.0-BETA2 and later AMIs will run FreeBSD Update when they first boot in order to download and install any critical updates.</li>
<li>December 1, 2013: I add code to EC2 images so that FreeBSD 10.0-BETA4 and later AMIs bootstrap the pkg tool and install packages at boot time (by default, the "awscli" package).</li>
<li>December 9, 2013: I add configinit to FreeBSD 10.0-RC1 and later to allow systems to be easily configured via EC2 user-data.</li>
<li>July 1, 2014: Amazon launches the "T2" family of instances; now the most modern family for every type of EC2 instance (regular, high-memory, high-CPU, high-I/O, burstable) supports HVM and there should no longer be any need for FreeBSD users to pay the "Windows tax".</li>
<li>November 24, 2014: I add code to FreeBSD 10.2 and later to automatically resize their root filesystems when they first boot; this means that a larger root disk can be specified at instance launch time and everything will work as expected.</li>
<li>April 1, 2015: I integrate the FreeBSD/EC2 build process into the FreeBSD release building process; FreeBSD 10.2-BETA1 and later AMIs are built by the FreeBSD release engineering team.</li>
<li>January 12, 2016: I enable Intel 82599-based "first generation EC2 Enhanced Networking" in FreeBSD 11.0 and later.</li>
<li>June 9, 2016: I enable the new EC2 VGA console functionality in FreeBSD 11.0 and later. (The old serial console also continues to work.)</li>
<li>June 24, 2016: Intel 82599-based Enhanced Networking works reliably in FreeBSD 11.0 and later thanks to discovering and working around a Xen bug.</li>
<li>June 29, 2016: I improve throughput on Xen blkfront devices (/dev/xbd*) by enabling indirect segment I/Os in FreeBSD 10.4 and later. (I wrote this functionality in July 2015, but left it disabled by default a first because a bug in EC2 caused it to hurt performance on some instances.)</li>
<li>July 7, 2016: I fix a bug in FreeBSD's virtual memory initialization in order to allow it to support boot with 128 CPUs; aka. FreeBSD 11.0 and later support the EC2 x1.32xlarge instance type.</li>
<li>January 26, 2017: I change the default configuration in FreeBSD 11.1 and later to support EC2's IPv6 networking setup out of the box (once you flip all of the necessary switches to enable IPv6 in EC2 itself).</li>
<li>May 20, 2017: In collaboration with Rick Macklem, I make FreeBSD 11.1 and later compatible with the Amazon "Elastic File System" (aka. NFSv4-as-a-service) via the newly added "oneopenown" mount option (and lots of bug fixes).</li>
<li>May 25, 2017: I enable support for the Amazon "Elastic Network Adapter" in FreeBSD 11.1 and later. (The vast majority of the work — porting the driver code — was done by Semihalf with sponsorship from Amazon.)</li>
<li><p>December 5, 2017: I change the default configuration in FreeBSD 11.2 and later to make use of the Amazon Time Sync Service (aka. NTP-as-a-service).</p></li>
<li><p>The current status</p></li>
<li><p>The upcoming FreeBSD release (11.2) supports: IPv6, Enhanced Networking (both generations), Amazon Elastic File System, Amazon Time Sync Service, both consoles (Serial VGA), and every EC2 instance type (although I'm not sure if FreeBSD has drivers to make use of the FPGA or GPU hardware on those instances).</p></li>
<li><p><a href="https://www.patreon.com/cperciva" target="_blank" rel="nofollow noopener">Colin's Patreon' page if you'd like to support him</a></p></li>
</ul>

<hr>

<h3>X network transparency</h3>

<ul>
<li><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/XNetworkTransparencyFailure" target="_blank" rel="nofollow noopener">X's network transparency has wound up mostly being a failure</a></li>
</ul>

<blockquote>
<p>I was recently reading Mark Dominus's entry about some X keyboard problems, in which he said in passing (quoting himself):</p>

<p>I have been wondering for years if X's vaunted network transparency was as big a failure as it seemed: an interesting idea, worth trying out, but one that eventually turned out to be more trouble than it was worth. [...]</p>

<p>My first reaction was to bristle, because I use X's network transparency all of the time at work. I have several programs to make it work very smoothly, and some core portions of my environment would be basically impossible without it. But there's a big qualification on my use of X's network transparency, namely that it's essentially all for text. When I occasionally go outside of this all-text environment of xterms and emacs and so on, it doesn't go as well.</p>

<p>X's network transparency was not designed as 'it will run xterm well'; originally it was to be something that should let you run almost everything remotely, providing a full environment. Even apart from the practical issues covered in Daniel Stone's slide presentation, it's clear that it's been years since X could deliver a real first class environment over the network. You cannot operate with X over the network in the same way that you do locally. Trying to do so is painful and involves many things that either don't work at all or perform so badly that you don't want to use them.</p>

<p>In my view, there are two things that did in general X network transparency. The first is that networks turned out to not be fast enough even for ordinary things that people wanted to do, at least not the way that X used them. The obvious case is web browsers; once the web moved to lots of images and worse, video, that was pretty much it, especially with 24-bit colour.</p>

<p>(It's obviously not impossible to deliver video across the network with good performance, since YouTube and everyone else does it. But their video is highly encoded in specialized formats, not handled by any sort of general 'send successive images to the display' system.)</p>

<p>The second is that the communication facilities that X provided were too narrow and limited. This forced people to go outside of them in order to do all sorts of things, starting with audio and moving on to things like DBus and other ways of coordinating environments, handling sophisticated configuration systems, modern fonts, and so on. When people designed these additional communication protocols, the result generally wasn't something that could be used over the network (especially not without a bunch of setup work that you had to do in addition to remote X). Basic X clients that use X properties for everything may be genuinely network transparent, but there are very few of those left these days. (Not even xterm is any more, at least if you use XFT fonts. XFT fonts are rendered in the client, and so different hosts may have different renderings of the same thing, cf.)</p>
</blockquote>

<p>&lt; What remains of X's network transparency is still useful to some of us, but it's only a shadow of what the original design aimed for. I don't think it was a mistake for X to specifically design it in (to the extent that they did, which is less than you might think), and it did help X out pragmatically in the days of X terminals, but that's mostly it.</p>

<p>(I continue to think that remote display protocols are useful in general, but I'm in an usual situation. Most people only ever interact with remote machines with either text mode SSH or a browser talking to a web server on the remote machine.)</p>

<blockquote>
<p>PS: The X protocol issues with synchronous requests that Daniel Stone talks about don't help the situation, but I think that even with those edges sanded off X's network transparency wouldn't be a success. Arguably X's protocol model committed a lesser version of part of the NeWS mistake.</p>
</blockquote>

<ul>
<li><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/XFreeNetworkTransparency" target="_blank" rel="nofollow noopener">X's network transparency was basically free at the time</a></li>
</ul>

<blockquote>
<p>I recently wrote an entry about how X's network transparency has wound up mostly being a failure for various reasons. However, there is an important flipside to the story of X's network transparency, and that is that X's network transparency was almost free at the time and in the context it was created. Unlike the situation today, in the beginning X did not have to give up lots of performance or other things in order to get network transparency.</p>

<p>X originated in the mid 1980s and it was explicitly created to be portable across various Unixes, especially BSD-derived ones (because those were what universities were mostly using at that time). In the mid to late 1980s, Unix had very few IPC methods, especially portable ones. In particular, BSD systems did not have shared memory (it was called 'System V IPC' for the obvious reasons). BSD had TCP and Unix sockets, some System V machines had TCP (and you could likely assume that more would get it), and in general your safest bet was to assume some sort of abstract stream protocol and then allow for switchable concrete backends. Unsurprisingly, this is exactly what X did; the core protocol is defined as a bidirectional stream of bytes over an abstracted channel. (And the concrete implementation of $DISPLAY has always let you specify the transport mechanism, as well as allowing your local system to pick the best mechanism it has.)</p>

<p>Once you've decided that your protocol has to run over abstracted streams, it's not that much more work to make it network transparent (TCP provides streams, after all). X could have refused to make the byte order of the stream clear or required the server and the client to have access to some shared files (eg for fonts), but I don't think either would have been a particularly big win. I'm sure that it took some extra effort and care to make X work across TCP from a different machine, but I don't think it took very much. (At the same time, my explanation here is probably a bit ahistorical. X's initial development seems relatively strongly tied to sometimes having clients on different machines than the display, which is not unreasonable for the era. But it doesn't hurt to get a feature that you want anyway for a low cost.)</p>

<p>I believe it's important here that X was intended to be portable across different Unixes. If you don't care about portability and can get changes made to your Unix, you can do better (for example, you can add some sort of shared memory or process to process virtual memory transfer). I'm not sure how the 1980s versions of SunView worked, but I believe they were very SunOS dependent. Wikipedia says SunView was partly implemented in the kernel, which is certainly one way to both share memory and speed things up.</p>

<p>PS: Sharing memory through mmap() and friends was years in the future at this point and required significant changes when it arrived.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/grace-hopper-celebration-2018-call-for-participation/" target="_blank" rel="nofollow noopener">Grace Hopper Celebration 2018 Call for Participation</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/google-summer-of-code-call-for-project-ideas/" target="_blank" rel="nofollow noopener">Google Summer of Code: Call for Project Ideas</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180129190641" target="_blank" rel="nofollow noopener">The OpenBSD Foundation 2018 Fundraising Campaign</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3115" target="_blank" rel="nofollow noopener">SSH Mastery 2/e out</a></li>
<li><a href="https://2018.asiabsdcon.org/" target="_blank" rel="nofollow noopener">AsiaBSDcon 2018 Registration is open</a></li>
<li><a href="http://mail.tarsnap.com/tarsnap-announce/msg00042.html" target="_blank" rel="nofollow noopener">Tarsnap support for Bitcoin ending April 1st; and a Chrome bug</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Todd - <a href="http://dpaste.com/195HGHY#wrap" target="_blank" rel="nofollow noopener">Couple Questions</a></li>
<li>Seth - <a href="http://dpaste.com/1N7NQVQ#wrap" target="_blank" rel="nofollow noopener">Tar Snap</a></li>
<li>Alex - <a href="http://dpaste.com/3D9P1DW#wrap" target="_blank" rel="nofollow noopener">sudo question</a></li>
<li>Thomas - <a href="http://dpaste.com/24NMG47#wrap" target="_blank" rel="nofollow noopener">FreeBSD on ARM?</a></li>
<li>Albert - <a href="http://dpaste.com/373CRX7#wrap" target="_blank" rel="nofollow noopener">Austria BSD User Group</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>232: FOSDEM 2018</title>
  <link>https://www.bsdnow.tv/232</link>
  <guid isPermaLink="false">2246fb14-61bb-4387-942b-f8ba55f48deb</guid>
  <pubDate>Wed, 07 Feb 2018 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2246fb14-61bb-4387-942b-f8ba55f48deb.mp3" length="68482228" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We talk about our recent trip to FOSDEM, we discuss the pros and cons of permissive licensing, cover the installation of OpenBSD on a dedibox with full-disk encryption, the new Lumina guide repository, and we explain ZFS vs. OpenZFS.</itunes:subtitle>
  <itunes:duration>1:35:06</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>&lt;p&gt;We talk about our recent trip to FOSDEM, we discuss the pros and cons of permissive licensing, cover the installation of OpenBSD on a dedibox with full-disk encryption, the new Lumina guide repository, and we explain ZFS vs. OpenZFS.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;[FOSDEM Trip report]&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Your BSDNow hosts were both at FOSDEM in Brussels, Belgium over the weekend.&lt;/li&gt;
&lt;li&gt;On the friday before FOSDEM, we held a FreeBSD devsummit (3rd consecutive year), sponsored by the FreeBSD Foundation and organized by Benedict (with the help from Kristof Provost, who did it in previous years but could not make it this year). We had 21 people attend, a good mixture of FreeBSD committers (mostly ports) and guests. After introductions, we collected topics and discussed various topics, including a new plan for a future FreeBSD release roadmap (more frequent releases, so that features from HEAD can be tried out earlier in RELEASES). The devsummit concluded with a nice dinner in a nearby restaurant.&lt;/li&gt;
&lt;li&gt;On Saturday, first day of FOSDEM, we set up the FreeBSD Foundation table with flyers, stickers, FreeBSD Journal print editions, and a small RPI 3 demo system that Deb Goodkin brought. Our table was located next to the Illumos table like last year. This allowed us to continue the good relationship that we have with the Illumos people and Allan helped a little bit getting bhyve to run on Illumos with UEFI. Meanwhile, our table was visited by a lot of people who would ask questions about FreeBSD, take info material, or talk about their use cases. We were busy refilling the table throughout the day and luckily, we had many helpers at the table. Some items we had ran out in the early afternoon, an indicator of how popular they were.&lt;/li&gt;
&lt;li&gt;Saturday also featured a &lt;a href="https://twitter.com/fosdembsd" target="_blank" rel="nofollow noopener"&gt;BSD devroom&lt;/a&gt;, organized by Rodrigo Osorio. You can find the list of talks and the recordings on the &lt;a href="https://fosdem.org/2018/schedule/track/bsd/" target="_blank" rel="nofollow noopener"&gt;BSD Devroom schedule&lt;/a&gt;. The room was very crowded and popular. Deb Goodkin gave the opening talk with an overview of what the Foundation is doing to change the world. Other speakers from various BSD projects presented their talks after that with a range of topics. Among them, Allan gave his talk about &lt;a href="https://fosdem.org/2018/schedule/event/zfs_advanced_integration/" target="_blank" rel="nofollow noopener"&gt;ZFS: Advanced Integration&lt;/a&gt;, while Benedict presented his &lt;a href="https://fosdem.org/2018/schedule/event/reflections_on_reaching_unix_class_with_freebsd/" target="_blank" rel="nofollow noopener"&gt;Reflections on Teaching a Unix Class With FreeBSD&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Sunday was just as busy on the FreeBSD table as Saturday and we finally ran out of stickers and some other goodies. We were happy with the results of the two days. Some very interesting conversations at the table about FreeBSD took place, some of which we’re going to follow up afterwards.&lt;/li&gt;
&lt;li&gt;Check out the FOSDEM schedule as many talk recordings are already available, and especially the ones from the BSD devroom if you could not attend the conference. We would like to thank everyone who attended the FreeBSD devsummit, who helped out at the FreeBSD table and organized the BSD devroom. Also, thanks to all the speakers, organizers, and helping hands making FOSDEM another success this year.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://blog.infosectcbr.com.au/2018/01/netbsd-kernel-wscons-ioctl-vulnerable.html" target="_blank" rel="nofollow noopener"&gt;NetBSD kernel wscons IOCTL vulnerable bug class&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I discovered this bug class during the InfoSect public code review session we ran looking specifically at the NetBSD kernel. I found a couple of these bugs and then after the session was complete, I went back and realised the same bug was scattered in other drivers. In total, 17 instances of this vulnerability and its variants were discovered.&lt;br&gt;
In all fairness, I came across this bug class during my kernel audits in 2002 and most instances were patched. It just seems there are more bugs now in NetBSD while OpenBSD and FreeBSD have practically eliminated them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;See slide 41 in &lt;a href="http://www.blackhat.com/presentations/bh-usa-03/bh-us-03-cesare.pdf" target="_blank" rel="nofollow noopener"&gt;http://www.blackhat.com/presentations/bh-usa-03/bh-us-03-cesare.pdf&lt;/a&gt; for exactly the same bug (class) 16 years ago.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The format of the this blog post is as follows:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Introduction&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Example of the Bug Class&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How to Fix&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;How to Detect Automatically with Coccinelle&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;More Bugs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Conclusion&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;These source files had bugs&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;./dev/tc/tfb.c
./dev/ic/bt485.c
./dev/pci/radeonfb.c
./dev/ic/sti.c
./dev/sbus/tcx.c
./dev/tc/mfb.c
./dev/tc/sfb.c
./dev/tc/stic.c
./dev/tc/cfb.c
./dev/tc/xcfb.c
./dev/tc/sfbplus.c
./arch/arm/allwinner/awin_debe.c
./arch/arm/iomd/vidcvideo.c
./arch/pmax/ibus/pm.c
./dev/ic/igfsb.c
./dev/ic/bt463.c
./arch/luna68k/dev/lunafb.c
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Reporting of the bugs was easy. In less than a week from reporting the specific instances of each bug, patches were committed into the mainline kernel. Thanks to Luke Mewburn from NetBSD for coming to the code review session at InfoSect and coordinating with the NetBSD security team.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The patches to fix these issues are in NetBSD: &lt;a href="https://mail-index.netbsd.org/source-changes/2018/01/24/msg091428.html" target="_blank" rel="nofollow noopener"&gt;https://mail-index.netbsd.org/source-changes/2018/01/24/msg091428.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://eerielinux.wordpress.com/2017/11/25/permissive-licensing-is-wrong-is-it-1-2/" target="_blank" rel="nofollow noopener"&gt;"Permissive licensing is wrong!” – Is it?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A few weeks ago I’ve been attacked by some GNU zealots on a German tech site after speaking in favor of permissive licenses. Unfortunately a discussion was not possible there because that would require the will to actually communicate instead of simply accusing the other side of vile motives. Since I actually do care about this topic and a reader asked for a post about it in comments a while ago, here we go.&lt;/p&gt;

&lt;p&gt;This first part tries to sum up the most important things around the topic. I deliberately aim for an objective overview that tries not to be one-sided. The second part will then contain my points in defence of permissive licensing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Why license software at all?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Licenses exist for reasons of protection. If you’re the author/inventor of some software, a story or whatever product, you get to decide what to do with it. You can keep it for yourself or you can give it away. If you decide for the latter, you have to decide who may use it and in which way(s). In case you intend to give it to a (potentially) large group of people, you may not want to be asked for permission to xyz by everybody. That’s when you decide to write a license which states what you are allowing and explicitly disallowing.&lt;br&gt;
Most of the well-known commercial licenses focus on what you’re not allowed to do (usually things like copying, disassembling, etc.). Open source licenses on the other hand are meant to grant the user rights (e.g. the right to distribute) while reserving some rights or only giving permission under certain conditions – and they usually make you claim responsibility for using the software. For these reasons licenses can actually be a good thing!&lt;br&gt;
If you got an unlicensed piece of code, you’re not legally allowed to do anything with it without getting the author’s permission first. And even if you got that permission, your project would be risky, since the author can withdraw it later. A proper license protects both parties. The author doesn’t get his mail account full of email asking for permission, he’s save from legal trouble if his code breaks anything for you and at the same time you have legal certainty when you decide to put the code to long-term use.&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Permissive vs. Copyleft (in a nutshell)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In short terms, permissive licensing usually goes like this: “Here you are, have fun. Oh, and don’t sue me if it does something else than what you expect!” Yes, it’s that easy and there’s little to dispute over.&lt;br&gt;
Copyleft on the other side sounds like this (if you ask somebody in favor of Copyleft): “Sure, you can use it, it’s free. Just keep it free, ok?”. Also quite simple. And not too bad, eh? Other people however read the same thing like this: “Yes, you’re free to use it. Just read these ten pages of legalese and be dead certain that you comply. If you got something wrong, we will absolutely make you regret it.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The GNU Public license (GPL)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://www.gnu.org/licenses/gpl.html" target="_blank" rel="nofollow noopener"&gt;The most popular copyleft license in use is the GPL (in various versions)&lt;/a&gt;. It got more and more complex with each version – and to be fair, it had to, because it was necessary to react to new threats and loop holes that were found later. The GNU project states that they are committed to protect what they call the four freedoms of free software:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;the freedom to use the software for any purpose
the freedom to change the software to suit your needs
the freedom to share the software with your friends and neighbors
the freedom to share the changes you make
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;These are freedoms that every supporter of open source software should be able to agree with. So what’s the deal with all the hostility and fighting between the two camps? Let’s take a look at a permissive license, too.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The BSD license&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Unlike the GPL, the BSD family of licenses begun with a rather simple license that span four rules (“original BSD license”). It was later revised and reduced to three (“modified BSD license”). And the modern BSD license that e.g. FreeBSD uses is even just two (“simplified BSD license”).&lt;/p&gt;

&lt;p&gt;Did you read the GPLv3 that I linked to above? If you are using GPL’d code you really should. In case you don’t feel like reading all of it, at least take a look and grasp how long that text is. &lt;a href="https://opensource.org/licenses/bsd-license.php" target="_blank" rel="nofollow noopener"&gt;Now compare it to the complete modern BSD license&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What’s the problem?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There are essentially two problems that cause all the trouble. The first one is the question of what should be subject to the freedom that we’re talking about. And closely related, the second one is where that freedom needs to end.&lt;/p&gt;

&lt;p&gt;Ironically both camps claim that freedom is the one important thing and it must not be restricted. The GPL is meant to protect the freedom of the software and enforces the availability of the source code, hence limiting the freedom of actual persons. BSD on the other hand is meant to protect the freedom of human beings who should be able to use the software as they see fit – even if that means closing down former open source code!&lt;/p&gt;

&lt;p&gt;The GNU camp taunts permissive licenses as being “lax” for not providing the protection that they want. The other camp points out that the GPL is a complex monster and that it is virulent in nature: Since it’s very strict in a lot of areas, it’s incompatible with many other licenses. This makes it complicated to mix GPL and non-GPL code and in the cases where it’s legally possible, the GPL’s terms will take precedence and necessarily be in effect for the whole combined work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Who’s right?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;That totally depends on what you want to achieve. There are pros and cons to both – and in fact we’re only looking at the big picture here. There’s also e.g. the Apache license which is often deemed as kind of middle ground. Then you may want to consider the difference between weak (e.g. LGPL) as well as strong copyleft (GPL). Licensing is a potentially huge topic. But let’s keep it simple here because the exact details are actually not necessary to understand the essence of our topic.&lt;/p&gt;

&lt;p&gt;In the next post I’ll present my stance on why permissive licensing is a good thing and copyleft is more problematic than many people may think.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://eerielinux.wordpress.com/2018/01/25/permissive-licensing-is-wrong-no-its-not-2-2/" target="_blank" rel="nofollow noopener"&gt;“Permissive licensing is wrong?” – No it’s not!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The previous post gave a short introduction into the topic of software licenses, focusing on the GPL vs. BSD discussion. This one is basically my response to some typical arguments I’ve seen from people who seem to loathe permissive licensing. I’ll write this in dialog style, hoping that this makes it a little lighter to read.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://poolp.org/posts/2018-01-29/install-openbsd-on-dedibox-with-full-disk-encryption/" target="_blank" rel="nofollow noopener"&gt;Install OpenBSD on dedibox with full-disk encryption&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;TL;DR:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I run several "dedibox" servers at online.net, all powered by OpenBSD. OpenBSD is not officially supported so you have to work-around. Running full-disk encrypted OpenBSD there is a piece of cake. As a bonus, my first steps within a brand new booted machine ;-)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Step #0: choosing your server&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenBSD is not officially supported, I can’t guarantee that this will work for you on any kind of server online.net provides, however I’ve been running &lt;a href="https://poolp.org" target="_blank" rel="nofollow noopener"&gt;https://poolp.org&lt;/a&gt; on OpenBSD there since 2008, only switching machines as they were getting a bit old and new offers came up.&lt;/p&gt;

&lt;p&gt;Currently, I’m running two SC 2016 (SATA) and one XC 2016 (SSD) boxes, all three running OpenBSD reliably ever since I installed them.&lt;/p&gt;

&lt;p&gt;Recently I’ve been willing to reinstall the XC one after I did some experiments that turned it into a FrankenBSD, so this was the right occasion to document how I do it for future references.&lt;/p&gt;

&lt;p&gt;I wrote an article similar to this a few years ago relying on qemu to install to the disk, since then online.net provided access to a virtual serial console accessed within the browser, making it much more convenient to install without the qemu indirection which hid the NIC devices and disks duid and required tricks.&lt;/p&gt;

&lt;p&gt;The method I currently use is a mix and adaptation from the techniques described in &lt;a href="https://www.2f30.org/guides/openbsd-dedibox.html" target="_blank" rel="nofollow noopener"&gt;https://www.2f30.org/guides/openbsd-dedibox.html&lt;/a&gt; to boot the installer, and the technique described in &lt;a href="https://geekyschmidt.com/2011/01/19/configuring-openbsd-softraid-fo-encryption.html" target="_blank" rel="nofollow noopener"&gt;https://geekyschmidt.com/2011/01/19/configuring-openbsd-softraid-fo-encryption.html&lt;/a&gt; to setup the crypto slice.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Step #1: boot to rescue mode&lt;/li&gt;
&lt;li&gt;Step #2: boot to the installer&lt;/li&gt;
&lt;li&gt;Step #3: prepare softraid&lt;/li&gt;
&lt;li&gt;Step #4: reboot to encrypted OpenBSD system&lt;/li&gt;
&lt;li&gt;Bonus: further tightening your system&lt;/li&gt;
&lt;li&gt;enable doas&lt;/li&gt;
&lt;li&gt;disable the root account&lt;/li&gt;
&lt;li&gt;update system with syspatch&lt;/li&gt;
&lt;li&gt;add my ssh public key to my ~/.ssh/authorized_keys&lt;/li&gt;
&lt;li&gt;disable password authentication within ssh&lt;/li&gt;
&lt;li&gt;reboot so you boot on a brand new up-to-date system with latest stable kernel&lt;/li&gt;
&lt;li&gt;VOILA !&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/january-2018-development-projects-update/" target="_blank" rel="nofollow noopener"&gt;January 2018 Development Projects Update&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Spectre and Meltdown in FreeBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Issues affecting most CPUs used in servers, desktops, laptops, and mobile devices are in the news. These hardware vulnerabilities, known by the code-names “Meltdown” and “Spectre”, allow malicious programs to read data to which they should not have access. This potentially includes credentials, cryptographic material, or other secrets. They were originally identified by a researcher from Google’s Project Zero, and were also independently discovered by researchers and academics from Cyberus Technology, Graz University of Technology, the University of Pennsylvania, the University of Maryland, Rambus, the University of Adelaide and Data61.&lt;/p&gt;

&lt;p&gt;These vulnerabilities affect many CPU architectures supported by FreeBSD, but the 64-bit x86 family of processors from Intel and AMD are the most widely used, and are a high priority for software changes to mitigate the effects of Meltdown and Spectre. In particular, the Meltdown issue affects Intel CPUs and may be used to extract secret data from the running kernel, and therefore, is the most important issue to address.&lt;/p&gt;

&lt;p&gt;The FreeBSD Foundation collaborates with Intel, and under this relationship participated in a briefing to understand the details of these issues and plan the mitigations to be applied to the x86 architectures supported by FreeBSD. We also made arrangements to have FreeBSD’s security officer join me in the briefing. It is through the generous support of the Foundation’s donors that we are able to dedicate resources to focus on these issues on demand as they arise.&lt;/p&gt;

&lt;p&gt;Foundation staff member Konstantin (Kostik) Belousov is an expert on FreeBSD’s Virtual Memory (VM) system as well as low-level x86 details, and is developing the x86 kernel mitigations for FreeBSD.&lt;/p&gt;

&lt;p&gt;The mitigation for Meltdown is known as Page Table Isolation (PTI). Kostik created a PTI implementation which was initially committed in mid-January and is available in the FreeBSD-CURRENT development repository. This is the same approach used by the Linux kernel to mitigate Meltdown.&lt;/p&gt;

&lt;p&gt;One of the drawbacks of the PTI mitigation is that it incurs a performance regression. Kostik recently reworked FreeBSD’s use of Process-Context Identifiers (PCID) in order to regain some of the performance loss incurred by PTI. This change is also now available in FreeBSD-CURRENT.&lt;/p&gt;

&lt;p&gt;The issue known as Spectre comes in two variants, and variant 2 is the more troubling and pressing one. It may be mitigated in one of two ways: by using a technique called “retpoline” in the compiler, or by making use of a CPU feature introduced in a processor microcode update. Both options are under active development. Kostik’s change to implement the CPU-based mitigation is currently in review. Unfortunately, it introduces a significant performance penalty and alternatives are preferred, if available.&lt;/p&gt;

&lt;p&gt;For most cases, the compiler-based retpoline mitigation is likely to be the chosen mitigation. Having switched to the Clang compiler for the base system and most of the ports collection some years ago, FreeBSD is well-positioned to deploy Clang-based mitigations. FreeBSD developer Dimitry Andric is spearheading the update of Clang/LLVM in FreeBSD to version 6.0 in anticipation of its official release; FreeBSD-CURRENT now includes an interim snapshot. I have been assisting with the import, particularly with respect to LLVM’s lld linker, and will support the integration of retpoline. This support is expected to be merged into FreeBSD in the coming weeks.&lt;/p&gt;

&lt;p&gt;The Foundation’s co-op students have also participated in the response to these vulnerabilities. Mitchell Horne developed the patch to control the PTI mitigation default setting, while Arshan Khanifar benchmarked the performance impact of the in-progress mitigation patches. In addition, Arshan and Mitchell each developed changes to FreeBSD’s tool chain to support the full set of mitigations that will be applied.&lt;/p&gt;

&lt;p&gt;These mitigations will continue be tested, benchmarked, and refined in FreeBSD-CURRENT before being merged into stable branches and then being made available as updates to FreeBSD releases. Details on the timing of these merges and releases will be shared as they become available.&lt;/p&gt;

&lt;p&gt;I would like to acknowledge all of those in the FreeBSD community who have participated in FreeBSD’s response to Meltdown and Spectre, for testing, reviewing, and coordinating x86 mitigations, for developing mitigations for other processor architectures and for the Bhyve hypervisor, and for working on the toolchain-based mitigations.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lumina-desktop.org/guides-getting-started-lumina-themes/" target="_blank" rel="nofollow noopener"&gt;Guides: Getting Started &amp;amp; Lumina Theme Submissions&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I am pleased to announce the beginning of a new sub-series of blog posts for the Lumina project: Guides!&lt;/p&gt;

&lt;p&gt;The TrueOS/Lumina projects want to support our users as they use Lumina or experiment with TrueOS. To that end, we’ve recently set up a central repository for our users to share instructions or other “how-to” guides with each other! Project developers and contributors will also submit guides to the repository on occasion, but the overall goal is to provide a simple hub for instructions written by any Lumina or TrueOS user. This will make it easier for users to not only find a “how-to” for some procedure, but also a very easy way to “give back” to the community by writing simple instructions or more detailed guides.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Guides Repository&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Our first guide to get the whole thing started was created by the &lt;a href="https://discourse.trueos.org/t/introducing-the-trueos-linebacker/991" target="_blank" rel="nofollow noopener"&gt;TrueOS Linebacker&lt;/a&gt;  (with technical assistance from our own q5sys). In this guide, Terry Tate will walk you through the steps necessary to submit new wallpaper images to the Lumina Themes collection. This procedure is fully documented with screenshots every step of the way, walking you through a simple procedure that only requires a web browser and a Github account!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/trueos/guides/blob/master/lumina-themes-submissions/readme.md" target="_blank" rel="nofollow noopener"&gt;Guide: Lumina Themes Submissions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The end result of this guide was that Terry Tate was able to submit this cool new “Lunar-4K” wallpaper to the “lumina-nature” collection.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/trueos/guides/tree/master" target="_blank" rel="nofollow noopener"&gt;TrueOS Community Guides&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/zfs-vs-openzfs/" target="_blank" rel="nofollow noopener"&gt;ZFS vs. OpenZFS (by Michael Dexter)&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;You’ve probably heard us say a mix of “ZFS” and “OpenZFS” and an explanation is long-overdue. Our Senior Analyst clears up what ZFS and OpenZFS refer to and how they differ.&lt;br&gt;
I admit that we geeks tend to get caught up in the nuts and bolts of enterprise storage and overlook the more obvious questions that users might have. You’ve probably noticed that this blog and the FreeNAS blog refer to “ZFS” and “OpenZFS” seemingly at random when talking about the amazing file system at the heart of FreeNAS and every storage product that iXsystems sells. I will do my best to clarify what exactly these two terms refer to.&lt;br&gt;
From its inception, “ZFS” has referred to the “Zettabyte File System” developed at Sun Microsystems and published under the CDDL Open Source license in 2005 as part of the OpenSolaris operating system. ZFS was revolutionary for completely decoupling the file system from specialized storage hardware and even a specific computer platform. The portable nature and advanced features of ZFS led FreeBSD, Linux, and even Apple developers to start porting ZFS to their operating systems and by 2008, FreeBSD shipped with ZFS in the 7.0 release. For the first time, ZFS empowered users of any budget with enterprise-class scalability and data integrity and management features like checksumming, compression and snapshotting, and those features remain unrivaled at any price to this day. On any ZFS platform, administrators use the zpool and zfs utilities to configure and manage their storage devices and file systems respectively. Both commands employ a user-friendly syntax such as‘zfs create mypool/mydataset’ and I welcome you to watch the appropriately-titled webinar “Why we love ZFS &amp;amp; you should too” or try a completely-graphical ZFS experience with FreeNAS.&lt;br&gt;
Yes, ZFS is really as good as people say it is.&lt;br&gt;
After enjoying nearly a decade of refinement by a growing group of developers around the world, ZFS became the property of database vendor Oracle, which ceased public development of both ZFS and OpenSolaris in 2010. Disappointed but undeterred, a group of OpenSolaris users and developers forked the last public release of OpenSolaris as the Illumos project. To this day, Illumos represents the official upstream home of the Open Source OpenSolaris technologies, including ZFS. The Illumos project enjoys healthy vendor and user participation but the portable nature and compelling features of ZFS soon produced far more ZFS users than Illumos users around the world. While most if not all users of Illumos and its derivatives are ZFS users, the majority of ZFS users are not Illumos users, thanks significantly in part to FreeNAS which uses the FreeBSD operating system. This imbalance plus several successful ZFS Day events led ZFS co-founder Matt Ahrens and a group of ZFS developers to announce the OpenZFS project, which would remain a part of the Illumos code base but would be free to coordinate development efforts and events around their favorite file system. ZFS Day has grown into the two-day OpenZFS Developer Summit and is stronger than ever, a testament to the passion and dedication of the OpenZFS community.&lt;br&gt;
Oracle has steadily continued to develop its own proprietary branch of ZFS and Matt Ahrens points out that over 50% of the original OpenSolaris ZFS code has been replaced in OpenZFS with community contributions. This means that there are, sadly, two politically and technologically-incompatible branches of “ZFS” but fortunately, OpenZFS is orders of magnitude more popular thanks to its open nature. The two projects should be referred to as “Oracle ZFS” and “OpenZFS” to distinguish them as development efforts, but the user still types the ‘zfs’ command, which on FreeBSD relies on the ‘zfs.ko’ kernel module. My impression is that the terms of the CDDL license under which the OpenZFS branch of ZFS is published protects its users from any patent and trademark risks. Hopefully, this all helps you distinguish the OpenZFS project from the ZFS technology.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://explainshell.com/" target="_blank" rel="nofollow noopener"&gt;Explaining Shell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opnsense.org/opnsense-18-1-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense® 18.1 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/3104" target="_blank" rel="nofollow noopener"&gt;“SSH Mastery 2/e” copyedits back&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/3106" target="_blank" rel="nofollow noopener"&gt;Sponsoring a Scam&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/BAFUG-Bay-Area-FreeBSD-User-Group/events/246623825/" target="_blank" rel="nofollow noopener"&gt;Thursday, February 8, 2018 - Come to Netflix to talk about FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/BSD-Users-Stockholm/events/247552279/" target="_blank" rel="nofollow noopener"&gt;BSD User Group meeting in Stockholm: March 22, 17:30 - 21:00&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;FreeBSD Flavoured talks from Linux.conf.au: &lt;a href="https://www.youtube.com/watch?v=z-uWt5wVVkU" target="_blank" rel="nofollow noopener"&gt;You can’t unit test C, right?&lt;/a&gt; and &lt;a href="https://www.youtube.com/watch?v=qAhZEI_6lbc" target="_blank" rel="nofollow noopener"&gt;A Brief History of I/O&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2018.eurobsdcon.org/" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon 2018 website is up&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bhyvecon.org/" target="_blank" rel="nofollow noopener"&gt;Full day bhyvecon Tokyo, Japan, March 9, 2018&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Thomas - &lt;a href="http://dpaste.com/3G2F7RC#wrap" target="_blank" rel="nofollow noopener"&gt;freebsd installer improvements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mohammad - &lt;a href="http://dpaste.com/0HGK3FQ#wrap" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11 installation from a read only rescue disk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Stan - &lt;a href="http://dpaste.com/2S169SH#wrap" target="_blank" rel="nofollow noopener"&gt;Follow up on guide you covered&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jalal - &lt;a href="http://dpaste.com/35N8QXP#wrap" target="_blank" rel="nofollow noopener"&gt;couple questions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We talk about our recent trip to FOSDEM, we discuss the pros and cons of permissive licensing, cover the installation of OpenBSD on a dedibox with full-disk encryption, the new Lumina guide repository, and we explain ZFS vs. OpenZFS.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3>[FOSDEM Trip report]</h3>

<ul>
<li>Your BSDNow hosts were both at FOSDEM in Brussels, Belgium over the weekend.</li>
<li>On the friday before FOSDEM, we held a FreeBSD devsummit (3rd consecutive year), sponsored by the FreeBSD Foundation and organized by Benedict (with the help from Kristof Provost, who did it in previous years but could not make it this year). We had 21 people attend, a good mixture of FreeBSD committers (mostly ports) and guests. After introductions, we collected topics and discussed various topics, including a new plan for a future FreeBSD release roadmap (more frequent releases, so that features from HEAD can be tried out earlier in RELEASES). The devsummit concluded with a nice dinner in a nearby restaurant.</li>
<li>On Saturday, first day of FOSDEM, we set up the FreeBSD Foundation table with flyers, stickers, FreeBSD Journal print editions, and a small RPI 3 demo system that Deb Goodkin brought. Our table was located next to the Illumos table like last year. This allowed us to continue the good relationship that we have with the Illumos people and Allan helped a little bit getting bhyve to run on Illumos with UEFI. Meanwhile, our table was visited by a lot of people who would ask questions about FreeBSD, take info material, or talk about their use cases. We were busy refilling the table throughout the day and luckily, we had many helpers at the table. Some items we had ran out in the early afternoon, an indicator of how popular they were.</li>
<li>Saturday also featured a <a href="https://twitter.com/fosdembsd" target="_blank" rel="nofollow noopener">BSD devroom</a>, organized by Rodrigo Osorio. You can find the list of talks and the recordings on the <a href="https://fosdem.org/2018/schedule/track/bsd/" target="_blank" rel="nofollow noopener">BSD Devroom schedule</a>. The room was very crowded and popular. Deb Goodkin gave the opening talk with an overview of what the Foundation is doing to change the world. Other speakers from various BSD projects presented their talks after that with a range of topics. Among them, Allan gave his talk about <a href="https://fosdem.org/2018/schedule/event/zfs_advanced_integration/" target="_blank" rel="nofollow noopener">ZFS: Advanced Integration</a>, while Benedict presented his <a href="https://fosdem.org/2018/schedule/event/reflections_on_reaching_unix_class_with_freebsd/" target="_blank" rel="nofollow noopener">Reflections on Teaching a Unix Class With FreeBSD</a>.</li>
<li>Sunday was just as busy on the FreeBSD table as Saturday and we finally ran out of stickers and some other goodies. We were happy with the results of the two days. Some very interesting conversations at the table about FreeBSD took place, some of which were going to follow up afterwards.</li>
<li>Check out the FOSDEM schedule as many talk recordings are already available, and especially the ones from the BSD devroom if you could not attend the conference. We would like to thank everyone who attended the FreeBSD devsummit, who helped out at the FreeBSD table and organized the BSD devroom. Also, thanks to all the speakers, organizers, and helping hands making FOSDEM another success this year.
***</li>
</ul>

<h3><a href="http://blog.infosectcbr.com.au/2018/01/netbsd-kernel-wscons-ioctl-vulnerable.html" target="_blank" rel="nofollow noopener">NetBSD kernel wscons IOCTL vulnerable bug class</a></h3>

<blockquote>
<p>I discovered this bug class during the InfoSect public code review session we ran looking specifically at the NetBSD kernel. I found a couple of these bugs and then after the session was complete, I went back and realised the same bug was scattered in other drivers. In total, 17 instances of this vulnerability and its variants were discovered.<br>
In all fairness, I came across this bug class during my kernel audits in 2002 and most instances were patched. It just seems there are more bugs now in NetBSD while OpenBSD and FreeBSD have practically eliminated them.</p>
</blockquote>

<ul>
<li><p>See slide 41 in <a href="http://www.blackhat.com/presentations/bh-usa-03/bh-us-03-cesare.pdf" target="_blank" rel="nofollow noopener">http://www.blackhat.com/presentations/bh-usa-03/bh-us-03-cesare.pdf</a> for exactly the same bug (class) 16 years ago.</p></li>
<li><p>The format of the this blog post is as follows:</p></li>
<li><p>Introduction</p></li>
<li><p>Example of the Bug Class</p></li>
<li><p>How to Fix</p></li>
<li><p>How to Detect Automatically with Coccinelle</p></li>
<li><p>More Bugs</p></li>
<li><p>Conclusion</p></li>
<li><p>These source files had bugs</p></li>
</ul>

<pre><code>./dev/tc/tfb.c
./dev/ic/bt485.c
./dev/pci/radeonfb.c
./dev/ic/sti.c
./dev/sbus/tcx.c
./dev/tc/mfb.c
./dev/tc/sfb.c
./dev/tc/stic.c
./dev/tc/cfb.c
./dev/tc/xcfb.c
./dev/tc/sfbplus.c
./arch/arm/allwinner/awin_debe.c
./arch/arm/iomd/vidcvideo.c
./arch/pmax/ibus/pm.c
./dev/ic/igfsb.c
./dev/ic/bt463.c
./arch/luna68k/dev/lunafb.c
</code></pre>

<blockquote>
<p>Reporting of the bugs was easy. In less than a week from reporting the specific instances of each bug, patches were committed into the mainline kernel. Thanks to Luke Mewburn from NetBSD for coming to the code review session at InfoSect and coordinating with the NetBSD security team.</p>
</blockquote>

<ul>
<li>The patches to fix these issues are in NetBSD: <a href="https://mail-index.netbsd.org/source-changes/2018/01/24/msg091428.html" target="_blank" rel="nofollow noopener">https://mail-index.netbsd.org/source-changes/2018/01/24/msg091428.html</a></li>
</ul>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2017/11/25/permissive-licensing-is-wrong-is-it-1-2/" target="_blank" rel="nofollow noopener">"Permissive licensing is wrong!  Is it?</a></h3>

<blockquote>
<p>A few weeks ago Ive been attacked by some GNU zealots on a German tech site after speaking in favor of permissive licenses. Unfortunately a discussion was not possible there because that would require the will to actually communicate instead of simply accusing the other side of vile motives. Since I actually do care about this topic and a reader asked for a post about it in comments a while ago, here we go.</p>

<p>This first part tries to sum up the most important things around the topic. I deliberately aim for an objective overview that tries not to be one-sided. The second part will then contain my points in defence of permissive licensing.</p>
</blockquote>

<ul>
<li><p>Why license software at all?</p>

<blockquote>
<p>Licenses exist for reasons of protection. If youre the author/inventor of some software, a story or whatever product, you get to decide what to do with it. You can keep it for yourself or you can give it away. If you decide for the latter, you have to decide who may use it and in which way(s). In case you intend to give it to a (potentially) large group of people, you may not want to be asked for permission to xyz by everybody. Thats when you decide to write a license which states what you are allowing and explicitly disallowing.<br>
Most of the well-known commercial licenses focus on what youre not allowed to do (usually things like copying, disassembling, etc.). Open source licenses on the other hand are meant to grant the user rights (e.g. the right to distribute) while reserving some rights or only giving permission under certain conditions  and they usually make you claim responsibility for using the software. For these reasons licenses can actually be a good thing!<br>
If you got an unlicensed piece of code, youre not legally allowed to do anything with it without getting the authors permission first. And even if you got that permission, your project would be risky, since the author can withdraw it later. A proper license protects both parties. The author doesnt get his mail account full of email asking for permission, hes save from legal trouble if his code breaks anything for you and at the same time you have legal certainty when you decide to put the code to long-term use.</p>
</blockquote></li>
<li><p>Permissive vs. Copyleft (in a nutshell)</p></li>
</ul>

<blockquote>
<p>In short terms, permissive licensing usually goes like this: Here you are, have fun. Oh, and dont sue me if it does something else than what you expect! Yes, its that easy and theres little to dispute over.<br>
Copyleft on the other side sounds like this (if you ask somebody in favor of Copyleft): Sure, you can use it, its free. Just keep it free, ok?. Also quite simple. And not too bad, eh? Other people however read the same thing like this: Yes, youre free to use it. Just read these ten pages of legalese and be dead certain that you comply. If you got something wrong, we will absolutely make you regret it.</p>
</blockquote>

<ul>
<li>The GNU Public license (GPL)</li>
</ul>

<blockquote>
<p><a href="https://www.gnu.org/licenses/gpl.html" target="_blank" rel="nofollow noopener">The most popular copyleft license in use is the GPL (in various versions)</a>. It got more and more complex with each version  and to be fair, it had to, because it was necessary to react to new threats and loop holes that were found later. The GNU project states that they are committed to protect what they call the four freedoms of free software:</p>
</blockquote>

<pre><code>the freedom to use the software for any purpose
the freedom to change the software to suit your needs
the freedom to share the software with your friends and neighbors
the freedom to share the changes you make
</code></pre>

<blockquote>
<p>These are freedoms that every supporter of open source software should be able to agree with. So whats the deal with all the hostility and fighting between the two camps? Lets take a look at a permissive license, too.</p>
</blockquote>

<ul>
<li>The BSD license</li>
</ul>

<blockquote>
<p>Unlike the GPL, the BSD family of licenses begun with a rather simple license that span four rules (original BSD license). It was later revised and reduced to three (modified BSD license). And the modern BSD license that e.g. FreeBSD uses is even just two (simplified BSD license).</p>

<p>Did you read the GPLv3 that I linked to above? If you are using GPLd code you really should. In case you dont feel like reading all of it, at least take a look and grasp how long that text is. <a href="https://opensource.org/licenses/bsd-license.php" target="_blank" rel="nofollow noopener">Now compare it to the complete modern BSD license</a>.</p>
</blockquote>

<ul>
<li>Whats the problem?</li>
</ul>

<blockquote>
<p>There are essentially two problems that cause all the trouble. The first one is the question of what should be subject to the freedom that were talking about. And closely related, the second one is where that freedom needs to end.</p>

<p>Ironically both camps claim that freedom is the one important thing and it must not be restricted. The GPL is meant to protect the freedom of the software and enforces the availability of the source code, hence limiting the freedom of actual persons. BSD on the other hand is meant to protect the freedom of human beings who should be able to use the software as they see fit  even if that means closing down former open source code!</p>

<p>The GNU camp taunts permissive licenses as being lax for not providing the protection that they want. The other camp points out that the GPL is a complex monster and that it is virulent in nature: Since its very strict in a lot of areas, its incompatible with many other licenses. This makes it complicated to mix GPL and non-GPL code and in the cases where its legally possible, the GPLs terms will take precedence and necessarily be in effect for the whole combined work.</p>
</blockquote>

<ul>
<li>Whos right?</li>
</ul>

<blockquote>
<p>That totally depends on what you want to achieve. There are pros and cons to both  and in fact were only looking at the big picture here. Theres also e.g. the Apache license which is often deemed as kind of middle ground. Then you may want to consider the difference between weak (e.g. LGPL) as well as strong copyleft (GPL). Licensing is a potentially huge topic. But lets keep it simple here because the exact details are actually not necessary to understand the essence of our topic.</p>

<p>In the next post Ill present my stance on why permissive licensing is a good thing and copyleft is more problematic than many people may think.</p>
</blockquote>

<ul>
<li><a href="https://eerielinux.wordpress.com/2018/01/25/permissive-licensing-is-wrong-no-its-not-2-2/" target="_blank" rel="nofollow noopener">Permissive licensing is wrong?  No its not!</a></li>
</ul>

<blockquote>
<p>The previous post gave a short introduction into the topic of software licenses, focusing on the GPL vs. BSD discussion. This one is basically my response to some typical arguments Ive seen from people who seem to loathe permissive licensing. Ill write this in dialog style, hoping that this makes it a little lighter to read.</p>
</blockquote>

<hr>

<h2>Roundup</h2>

<h3><a href="https://poolp.org/posts/2018-01-29/install-openbsd-on-dedibox-with-full-disk-encryption/" target="_blank" rel="nofollow noopener">Install OpenBSD on dedibox with full-disk encryption</a></h3>

<ul>
<li>TL;DR:</li>
</ul>

<blockquote>
<p>I run several "dedibox" servers at online.net, all powered by OpenBSD. OpenBSD is not officially supported so you have to work-around. Running full-disk encrypted OpenBSD there is a piece of cake. As a bonus, my first steps within a brand new booted machine ;-)</p>
</blockquote>

<ul>
<li>Step #0: choosing your server</li>
</ul>

<blockquote>
<p>OpenBSD is not officially supported, I cant guarantee that this will work for you on any kind of server online.net provides, however Ive been running <a href="https://poolp.org" target="_blank" rel="nofollow noopener">https://poolp.org</a> on OpenBSD there since 2008, only switching machines as they were getting a bit old and new offers came up.</p>

<p>Currently, Im running two SC 2016 (SATA) and one XC 2016 (SSD) boxes, all three running OpenBSD reliably ever since I installed them.</p>

<p>Recently Ive been willing to reinstall the XC one after I did some experiments that turned it into a FrankenBSD, so this was the right occasion to document how I do it for future references.</p>

<p>I wrote an article similar to this a few years ago relying on qemu to install to the disk, since then online.net provided access to a virtual serial console accessed within the browser, making it much more convenient to install without the qemu indirection which hid the NIC devices and disks duid and required tricks.</p>

<p>The method I currently use is a mix and adaptation from the techniques described in <a href="https://www.2f30.org/guides/openbsd-dedibox.html" target="_blank" rel="nofollow noopener">https://www.2f30.org/guides/openbsd-dedibox.html</a> to boot the installer, and the technique described in <a href="https://geekyschmidt.com/2011/01/19/configuring-openbsd-softraid-fo-encryption.html" target="_blank" rel="nofollow noopener">https://geekyschmidt.com/2011/01/19/configuring-openbsd-softraid-fo-encryption.html</a> to setup the crypto slice.</p>
</blockquote>

<ul>
<li>Step #1: boot to rescue mode</li>
<li>Step #2: boot to the installer</li>
<li>Step #3: prepare softraid</li>
<li>Step #4: reboot to encrypted OpenBSD system</li>
<li>Bonus: further tightening your system</li>
<li>enable doas</li>
<li>disable the root account</li>
<li>update system with syspatch</li>
<li>add my ssh public key to my ~/.ssh/authorized_keys</li>
<li>disable password authentication within ssh</li>
<li>reboot so you boot on a brand new up-to-date system with latest stable kernel</li>
<li>VOILA !</li>
</ul>

<hr>

<h3><a href="https://www.freebsdfoundation.org/blog/january-2018-development-projects-update/" target="_blank" rel="nofollow noopener">January 2018 Development Projects Update</a></h3>

<ul>
<li>Spectre and Meltdown in FreeBSD</li>
</ul>

<blockquote>
<p>Issues affecting most CPUs used in servers, desktops, laptops, and mobile devices are in the news. These hardware vulnerabilities, known by the code-names Meltdown and Spectre, allow malicious programs to read data to which they should not have access. This potentially includes credentials, cryptographic material, or other secrets. They were originally identified by a researcher from Googles Project Zero, and were also independently discovered by researchers and academics from Cyberus Technology, Graz University of Technology, the University of Pennsylvania, the University of Maryland, Rambus, the University of Adelaide and Data61.</p>

<p>These vulnerabilities affect many CPU architectures supported by FreeBSD, but the 64-bit x86 family of processors from Intel and AMD are the most widely used, and are a high priority for software changes to mitigate the effects of Meltdown and Spectre. In particular, the Meltdown issue affects Intel CPUs and may be used to extract secret data from the running kernel, and therefore, is the most important issue to address.</p>

<p>The FreeBSD Foundation collaborates with Intel, and under this relationship participated in a briefing to understand the details of these issues and plan the mitigations to be applied to the x86 architectures supported by FreeBSD. We also made arrangements to have FreeBSDs security officer join me in the briefing. It is through the generous support of the Foundations donors that we are able to dedicate resources to focus on these issues on demand as they arise.</p>

<p>Foundation staff member Konstantin (Kostik) Belousov is an expert on FreeBSDs Virtual Memory (VM) system as well as low-level x86 details, and is developing the x86 kernel mitigations for FreeBSD.</p>

<p>The mitigation for Meltdown is known as Page Table Isolation (PTI). Kostik created a PTI implementation which was initially committed in mid-January and is available in the FreeBSD-CURRENT development repository. This is the same approach used by the Linux kernel to mitigate Meltdown.</p>

<p>One of the drawbacks of the PTI mitigation is that it incurs a performance regression. Kostik recently reworked FreeBSDs use of Process-Context Identifiers (PCID) in order to regain some of the performance loss incurred by PTI. This change is also now available in FreeBSD-CURRENT.</p>

<p>The issue known as Spectre comes in two variants, and variant 2 is the more troubling and pressing one. It may be mitigated in one of two ways: by using a technique called retpoline in the compiler, or by making use of a CPU feature introduced in a processor microcode update. Both options are under active development. Kostiks change to implement the CPU-based mitigation is currently in review. Unfortunately, it introduces a significant performance penalty and alternatives are preferred, if available.</p>

<p>For most cases, the compiler-based retpoline mitigation is likely to be the chosen mitigation. Having switched to the Clang compiler for the base system and most of the ports collection some years ago, FreeBSD is well-positioned to deploy Clang-based mitigations. FreeBSD developer Dimitry Andric is spearheading the update of Clang/LLVM in FreeBSD to version 6.0 in anticipation of its official release; FreeBSD-CURRENT now includes an interim snapshot. I have been assisting with the import, particularly with respect to LLVMs lld linker, and will support the integration of retpoline. This support is expected to be merged into FreeBSD in the coming weeks.</p>

<p>The Foundations co-op students have also participated in the response to these vulnerabilities. Mitchell Horne developed the patch to control the PTI mitigation default setting, while Arshan Khanifar benchmarked the performance impact of the in-progress mitigation patches. In addition, Arshan and Mitchell each developed changes to FreeBSDs tool chain to support the full set of mitigations that will be applied.</p>

<p>These mitigations will continue be tested, benchmarked, and refined in FreeBSD-CURRENT before being merged into stable branches and then being made available as updates to FreeBSD releases. Details on the timing of these merges and releases will be shared as they become available.</p>

<p>I would like to acknowledge all of those in the FreeBSD community who have participated in FreeBSDs response to Meltdown and Spectre, for testing, reviewing, and coordinating x86 mitigations, for developing mitigations for other processor architectures and for the Bhyve hypervisor, and for working on the toolchain-based mitigations.</p>
</blockquote>

<hr>

<h3><a href="https://lumina-desktop.org/guides-getting-started-lumina-themes/" target="_blank" rel="nofollow noopener">Guides: Getting Started &amp; Lumina Theme Submissions</a></h3>

<blockquote>
<p>I am pleased to announce the beginning of a new sub-series of blog posts for the Lumina project: Guides!</p>

<p>The TrueOS/Lumina projects want to support our users as they use Lumina or experiment with TrueOS. To that end, weve recently set up a central repository for our users to share instructions or other how-to guides with each other! Project developers and contributors will also submit guides to the repository on occasion, but the overall goal is to provide a simple hub for instructions written by any Lumina or TrueOS user. This will make it easier for users to not only find a how-to for some procedure, but also a very easy way to give back to the community by writing simple instructions or more detailed guides.</p>
</blockquote>

<ul>
<li>Guides Repository</li>
</ul>

<blockquote>
<p>Our first guide to get the whole thing started was created by the <a href="https://discourse.trueos.org/t/introducing-the-trueos-linebacker/991" target="_blank" rel="nofollow noopener">TrueOS Linebacker</a>  (with technical assistance from our own q5sys). In this guide, Terry Tate will walk you through the steps necessary to submit new wallpaper images to the Lumina Themes collection. This procedure is fully documented with screenshots every step of the way, walking you through a simple procedure that only requires a web browser and a Github account!</p>
</blockquote>

<ul>
<li><a href="https://github.com/trueos/guides/blob/master/lumina-themes-submissions/readme.md" target="_blank" rel="nofollow noopener">Guide: Lumina Themes Submissions</a></li>
</ul>

<blockquote>
<p>The end result of this guide was that Terry Tate was able to submit this cool new Lunar-4K wallpaper to the lumina-nature collection.</p>
</blockquote>

<ul>
<li><a href="https://github.com/trueos/guides/tree/master" target="_blank" rel="nofollow noopener">TrueOS Community Guides</a></li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/zfs-vs-openzfs/" target="_blank" rel="nofollow noopener">ZFS vs. OpenZFS (by Michael Dexter)</a></h3>

<blockquote>
<p>Youve probably heard us say a mix of ZFS and OpenZFS and an explanation is long-overdue. Our Senior Analyst clears up what ZFS and OpenZFS refer to and how they differ.<br>
I admit that we geeks tend to get caught up in the nuts and bolts of enterprise storage and overlook the more obvious questions that users might have. Youve probably noticed that this blog and the FreeNAS blog refer to ZFS and OpenZFS seemingly at random when talking about the amazing file system at the heart of FreeNAS and every storage product that iXsystems sells. I will do my best to clarify what exactly these two terms refer to.<br>
From its inception, ZFS has referred to the Zettabyte File System developed at Sun Microsystems and published under the CDDL Open Source license in 2005 as part of the OpenSolaris operating system. ZFS was revolutionary for completely decoupling the file system from specialized storage hardware and even a specific computer platform. The portable nature and advanced features of ZFS led FreeBSD, Linux, and even Apple developers to start porting ZFS to their operating systems and by 2008, FreeBSD shipped with ZFS in the 7.0 release. For the first time, ZFS empowered users of any budget with enterprise-class scalability and data integrity and management features like checksumming, compression and snapshotting, and those features remain unrivaled at any price to this day. On any ZFS platform, administrators use the zpool and zfs utilities to configure and manage their storage devices and file systems respectively. Both commands employ a user-friendly syntax such aszfs create mypool/mydataset and I welcome you to watch the appropriately-titled webinar Why we love ZFS &amp; you should too or try a completely-graphical ZFS experience with FreeNAS.<br>
Yes, ZFS is really as good as people say it is.<br>
After enjoying nearly a decade of refinement by a growing group of developers around the world, ZFS became the property of database vendor Oracle, which ceased public development of both ZFS and OpenSolaris in 2010. Disappointed but undeterred, a group of OpenSolaris users and developers forked the last public release of OpenSolaris as the Illumos project. To this day, Illumos represents the official upstream home of the Open Source OpenSolaris technologies, including ZFS. The Illumos project enjoys healthy vendor and user participation but the portable nature and compelling features of ZFS soon produced far more ZFS users than Illumos users around the world. While most if not all users of Illumos and its derivatives are ZFS users, the majority of ZFS users are not Illumos users, thanks significantly in part to FreeNAS which uses the FreeBSD operating system. This imbalance plus several successful ZFS Day events led ZFS co-founder Matt Ahrens and a group of ZFS developers to announce the OpenZFS project, which would remain a part of the Illumos code base but would be free to coordinate development efforts and events around their favorite file system. ZFS Day has grown into the two-day OpenZFS Developer Summit and is stronger than ever, a testament to the passion and dedication of the OpenZFS community.<br>
Oracle has steadily continued to develop its own proprietary branch of ZFS and Matt Ahrens points out that over 50% of the original OpenSolaris ZFS code has been replaced in OpenZFS with community contributions. This means that there are, sadly, two politically and technologically-incompatible branches of ZFS but fortunately, OpenZFS is orders of magnitude more popular thanks to its open nature. The two projects should be referred to as Oracle ZFS and OpenZFS to distinguish them as development efforts, but the user still types the zfs command, which on FreeBSD relies on the zfs.ko kernel module. My impression is that the terms of the CDDL license under which the OpenZFS branch of ZFS is published protects its users from any patent and trademark risks. Hopefully, this all helps you distinguish the OpenZFS project from the ZFS technology.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://explainshell.com/" target="_blank" rel="nofollow noopener">Explaining Shell</a></li>
<li><a href="https://opnsense.org/opnsense-18-1-released/" target="_blank" rel="nofollow noopener">OPNsense® 18.1 Released</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3104" target="_blank" rel="nofollow noopener">SSH Mastery 2/e copyedits back</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3106" target="_blank" rel="nofollow noopener">Sponsoring a Scam</a></li>
<li><a href="https://www.meetup.com/BAFUG-Bay-Area-FreeBSD-User-Group/events/246623825/" target="_blank" rel="nofollow noopener">Thursday, February 8, 2018 - Come to Netflix to talk about FreeBSD</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/247552279/" target="_blank" rel="nofollow noopener">BSD User Group meeting in Stockholm: March 22, 17:30 - 21:00</a></li>
<li>FreeBSD Flavoured talks from Linux.conf.au: <a href="https://www.youtube.com/watch?v=z-uWt5wVVkU" target="_blank" rel="nofollow noopener">You cant unit test C, right?</a> and <a href="https://www.youtube.com/watch?v=qAhZEI_6lbc" target="_blank" rel="nofollow noopener">A Brief History of I/O</a></li>
<li><a href="https://2018.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDcon 2018 website is up</a></li>
<li><a href="http://bhyvecon.org/" target="_blank" rel="nofollow noopener">Full day bhyvecon Tokyo, Japan, March 9, 2018</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Thomas - <a href="http://dpaste.com/3G2F7RC#wrap" target="_blank" rel="nofollow noopener">freebsd installer improvements</a></li>
<li>Mohammad - <a href="http://dpaste.com/0HGK3FQ#wrap" target="_blank" rel="nofollow noopener">FreeBSD 11 installation from a read only rescue disk</a></li>
<li>Stan - <a href="http://dpaste.com/2S169SH#wrap" target="_blank" rel="nofollow noopener">Follow up on guide you covered</a></li>
<li>Jalal - <a href="http://dpaste.com/35N8QXP#wrap" target="_blank" rel="nofollow noopener">couple questions</a></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We talk about our recent trip to FOSDEM, we discuss the pros and cons of permissive licensing, cover the installation of OpenBSD on a dedibox with full-disk encryption, the new Lumina guide repository, and we explain ZFS vs. OpenZFS.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3>[FOSDEM Trip report]</h3>

<ul>
<li>Your BSDNow hosts were both at FOSDEM in Brussels, Belgium over the weekend.</li>
<li>On the friday before FOSDEM, we held a FreeBSD devsummit (3rd consecutive year), sponsored by the FreeBSD Foundation and organized by Benedict (with the help from Kristof Provost, who did it in previous years but could not make it this year). We had 21 people attend, a good mixture of FreeBSD committers (mostly ports) and guests. After introductions, we collected topics and discussed various topics, including a new plan for a future FreeBSD release roadmap (more frequent releases, so that features from HEAD can be tried out earlier in RELEASES). The devsummit concluded with a nice dinner in a nearby restaurant.</li>
<li>On Saturday, first day of FOSDEM, we set up the FreeBSD Foundation table with flyers, stickers, FreeBSD Journal print editions, and a small RPI 3 demo system that Deb Goodkin brought. Our table was located next to the Illumos table like last year. This allowed us to continue the good relationship that we have with the Illumos people and Allan helped a little bit getting bhyve to run on Illumos with UEFI. Meanwhile, our table was visited by a lot of people who would ask questions about FreeBSD, take info material, or talk about their use cases. We were busy refilling the table throughout the day and luckily, we had many helpers at the table. Some items we had ran out in the early afternoon, an indicator of how popular they were.</li>
<li>Saturday also featured a <a href="https://twitter.com/fosdembsd" target="_blank" rel="nofollow noopener">BSD devroom</a>, organized by Rodrigo Osorio. You can find the list of talks and the recordings on the <a href="https://fosdem.org/2018/schedule/track/bsd/" target="_blank" rel="nofollow noopener">BSD Devroom schedule</a>. The room was very crowded and popular. Deb Goodkin gave the opening talk with an overview of what the Foundation is doing to change the world. Other speakers from various BSD projects presented their talks after that with a range of topics. Among them, Allan gave his talk about <a href="https://fosdem.org/2018/schedule/event/zfs_advanced_integration/" target="_blank" rel="nofollow noopener">ZFS: Advanced Integration</a>, while Benedict presented his <a href="https://fosdem.org/2018/schedule/event/reflections_on_reaching_unix_class_with_freebsd/" target="_blank" rel="nofollow noopener">Reflections on Teaching a Unix Class With FreeBSD</a>.</li>
<li>Sunday was just as busy on the FreeBSD table as Saturday and we finally ran out of stickers and some other goodies. We were happy with the results of the two days. Some very interesting conversations at the table about FreeBSD took place, some of which were going to follow up afterwards.</li>
<li>Check out the FOSDEM schedule as many talk recordings are already available, and especially the ones from the BSD devroom if you could not attend the conference. We would like to thank everyone who attended the FreeBSD devsummit, who helped out at the FreeBSD table and organized the BSD devroom. Also, thanks to all the speakers, organizers, and helping hands making FOSDEM another success this year.
***</li>
</ul>

<h3><a href="http://blog.infosectcbr.com.au/2018/01/netbsd-kernel-wscons-ioctl-vulnerable.html" target="_blank" rel="nofollow noopener">NetBSD kernel wscons IOCTL vulnerable bug class</a></h3>

<blockquote>
<p>I discovered this bug class during the InfoSect public code review session we ran looking specifically at the NetBSD kernel. I found a couple of these bugs and then after the session was complete, I went back and realised the same bug was scattered in other drivers. In total, 17 instances of this vulnerability and its variants were discovered.<br>
In all fairness, I came across this bug class during my kernel audits in 2002 and most instances were patched. It just seems there are more bugs now in NetBSD while OpenBSD and FreeBSD have practically eliminated them.</p>
</blockquote>

<ul>
<li><p>See slide 41 in <a href="http://www.blackhat.com/presentations/bh-usa-03/bh-us-03-cesare.pdf" target="_blank" rel="nofollow noopener">http://www.blackhat.com/presentations/bh-usa-03/bh-us-03-cesare.pdf</a> for exactly the same bug (class) 16 years ago.</p></li>
<li><p>The format of the this blog post is as follows:</p></li>
<li><p>Introduction</p></li>
<li><p>Example of the Bug Class</p></li>
<li><p>How to Fix</p></li>
<li><p>How to Detect Automatically with Coccinelle</p></li>
<li><p>More Bugs</p></li>
<li><p>Conclusion</p></li>
<li><p>These source files had bugs</p></li>
</ul>

<pre><code>./dev/tc/tfb.c
./dev/ic/bt485.c
./dev/pci/radeonfb.c
./dev/ic/sti.c
./dev/sbus/tcx.c
./dev/tc/mfb.c
./dev/tc/sfb.c
./dev/tc/stic.c
./dev/tc/cfb.c
./dev/tc/xcfb.c
./dev/tc/sfbplus.c
./arch/arm/allwinner/awin_debe.c
./arch/arm/iomd/vidcvideo.c
./arch/pmax/ibus/pm.c
./dev/ic/igfsb.c
./dev/ic/bt463.c
./arch/luna68k/dev/lunafb.c
</code></pre>

<blockquote>
<p>Reporting of the bugs was easy. In less than a week from reporting the specific instances of each bug, patches were committed into the mainline kernel. Thanks to Luke Mewburn from NetBSD for coming to the code review session at InfoSect and coordinating with the NetBSD security team.</p>
</blockquote>

<ul>
<li>The patches to fix these issues are in NetBSD: <a href="https://mail-index.netbsd.org/source-changes/2018/01/24/msg091428.html" target="_blank" rel="nofollow noopener">https://mail-index.netbsd.org/source-changes/2018/01/24/msg091428.html</a></li>
</ul>

<hr>

<h3><a href="https://eerielinux.wordpress.com/2017/11/25/permissive-licensing-is-wrong-is-it-1-2/" target="_blank" rel="nofollow noopener">"Permissive licensing is wrong!  Is it?</a></h3>

<blockquote>
<p>A few weeks ago Ive been attacked by some GNU zealots on a German tech site after speaking in favor of permissive licenses. Unfortunately a discussion was not possible there because that would require the will to actually communicate instead of simply accusing the other side of vile motives. Since I actually do care about this topic and a reader asked for a post about it in comments a while ago, here we go.</p>

<p>This first part tries to sum up the most important things around the topic. I deliberately aim for an objective overview that tries not to be one-sided. The second part will then contain my points in defence of permissive licensing.</p>
</blockquote>

<ul>
<li><p>Why license software at all?</p>

<blockquote>
<p>Licenses exist for reasons of protection. If youre the author/inventor of some software, a story or whatever product, you get to decide what to do with it. You can keep it for yourself or you can give it away. If you decide for the latter, you have to decide who may use it and in which way(s). In case you intend to give it to a (potentially) large group of people, you may not want to be asked for permission to xyz by everybody. Thats when you decide to write a license which states what you are allowing and explicitly disallowing.<br>
Most of the well-known commercial licenses focus on what youre not allowed to do (usually things like copying, disassembling, etc.). Open source licenses on the other hand are meant to grant the user rights (e.g. the right to distribute) while reserving some rights or only giving permission under certain conditions  and they usually make you claim responsibility for using the software. For these reasons licenses can actually be a good thing!<br>
If you got an unlicensed piece of code, youre not legally allowed to do anything with it without getting the authors permission first. And even if you got that permission, your project would be risky, since the author can withdraw it later. A proper license protects both parties. The author doesnt get his mail account full of email asking for permission, hes save from legal trouble if his code breaks anything for you and at the same time you have legal certainty when you decide to put the code to long-term use.</p>
</blockquote></li>
<li><p>Permissive vs. Copyleft (in a nutshell)</p></li>
</ul>

<blockquote>
<p>In short terms, permissive licensing usually goes like this: Here you are, have fun. Oh, and dont sue me if it does something else than what you expect! Yes, its that easy and theres little to dispute over.<br>
Copyleft on the other side sounds like this (if you ask somebody in favor of Copyleft): Sure, you can use it, its free. Just keep it free, ok?. Also quite simple. And not too bad, eh? Other people however read the same thing like this: Yes, youre free to use it. Just read these ten pages of legalese and be dead certain that you comply. If you got something wrong, we will absolutely make you regret it.</p>
</blockquote>

<ul>
<li>The GNU Public license (GPL)</li>
</ul>

<blockquote>
<p><a href="https://www.gnu.org/licenses/gpl.html" target="_blank" rel="nofollow noopener">The most popular copyleft license in use is the GPL (in various versions)</a>. It got more and more complex with each version  and to be fair, it had to, because it was necessary to react to new threats and loop holes that were found later. The GNU project states that they are committed to protect what they call the four freedoms of free software:</p>
</blockquote>

<pre><code>the freedom to use the software for any purpose
the freedom to change the software to suit your needs
the freedom to share the software with your friends and neighbors
the freedom to share the changes you make
</code></pre>

<blockquote>
<p>These are freedoms that every supporter of open source software should be able to agree with. So whats the deal with all the hostility and fighting between the two camps? Lets take a look at a permissive license, too.</p>
</blockquote>

<ul>
<li>The BSD license</li>
</ul>

<blockquote>
<p>Unlike the GPL, the BSD family of licenses begun with a rather simple license that span four rules (original BSD license). It was later revised and reduced to three (modified BSD license). And the modern BSD license that e.g. FreeBSD uses is even just two (simplified BSD license).</p>

<p>Did you read the GPLv3 that I linked to above? If you are using GPLd code you really should. In case you dont feel like reading all of it, at least take a look and grasp how long that text is. <a href="https://opensource.org/licenses/bsd-license.php" target="_blank" rel="nofollow noopener">Now compare it to the complete modern BSD license</a>.</p>
</blockquote>

<ul>
<li>Whats the problem?</li>
</ul>

<blockquote>
<p>There are essentially two problems that cause all the trouble. The first one is the question of what should be subject to the freedom that were talking about. And closely related, the second one is where that freedom needs to end.</p>

<p>Ironically both camps claim that freedom is the one important thing and it must not be restricted. The GPL is meant to protect the freedom of the software and enforces the availability of the source code, hence limiting the freedom of actual persons. BSD on the other hand is meant to protect the freedom of human beings who should be able to use the software as they see fit  even if that means closing down former open source code!</p>

<p>The GNU camp taunts permissive licenses as being lax for not providing the protection that they want. The other camp points out that the GPL is a complex monster and that it is virulent in nature: Since its very strict in a lot of areas, its incompatible with many other licenses. This makes it complicated to mix GPL and non-GPL code and in the cases where its legally possible, the GPLs terms will take precedence and necessarily be in effect for the whole combined work.</p>
</blockquote>

<ul>
<li>Whos right?</li>
</ul>

<blockquote>
<p>That totally depends on what you want to achieve. There are pros and cons to both  and in fact were only looking at the big picture here. Theres also e.g. the Apache license which is often deemed as kind of middle ground. Then you may want to consider the difference between weak (e.g. LGPL) as well as strong copyleft (GPL). Licensing is a potentially huge topic. But lets keep it simple here because the exact details are actually not necessary to understand the essence of our topic.</p>

<p>In the next post Ill present my stance on why permissive licensing is a good thing and copyleft is more problematic than many people may think.</p>
</blockquote>

<ul>
<li><a href="https://eerielinux.wordpress.com/2018/01/25/permissive-licensing-is-wrong-no-its-not-2-2/" target="_blank" rel="nofollow noopener">Permissive licensing is wrong?  No its not!</a></li>
</ul>

<blockquote>
<p>The previous post gave a short introduction into the topic of software licenses, focusing on the GPL vs. BSD discussion. This one is basically my response to some typical arguments Ive seen from people who seem to loathe permissive licensing. Ill write this in dialog style, hoping that this makes it a little lighter to read.</p>
</blockquote>

<hr>

<h2>Roundup</h2>

<h3><a href="https://poolp.org/posts/2018-01-29/install-openbsd-on-dedibox-with-full-disk-encryption/" target="_blank" rel="nofollow noopener">Install OpenBSD on dedibox with full-disk encryption</a></h3>

<ul>
<li>TL;DR:</li>
</ul>

<blockquote>
<p>I run several "dedibox" servers at online.net, all powered by OpenBSD. OpenBSD is not officially supported so you have to work-around. Running full-disk encrypted OpenBSD there is a piece of cake. As a bonus, my first steps within a brand new booted machine ;-)</p>
</blockquote>

<ul>
<li>Step #0: choosing your server</li>
</ul>

<blockquote>
<p>OpenBSD is not officially supported, I cant guarantee that this will work for you on any kind of server online.net provides, however Ive been running <a href="https://poolp.org" target="_blank" rel="nofollow noopener">https://poolp.org</a> on OpenBSD there since 2008, only switching machines as they were getting a bit old and new offers came up.</p>

<p>Currently, Im running two SC 2016 (SATA) and one XC 2016 (SSD) boxes, all three running OpenBSD reliably ever since I installed them.</p>

<p>Recently Ive been willing to reinstall the XC one after I did some experiments that turned it into a FrankenBSD, so this was the right occasion to document how I do it for future references.</p>

<p>I wrote an article similar to this a few years ago relying on qemu to install to the disk, since then online.net provided access to a virtual serial console accessed within the browser, making it much more convenient to install without the qemu indirection which hid the NIC devices and disks duid and required tricks.</p>

<p>The method I currently use is a mix and adaptation from the techniques described in <a href="https://www.2f30.org/guides/openbsd-dedibox.html" target="_blank" rel="nofollow noopener">https://www.2f30.org/guides/openbsd-dedibox.html</a> to boot the installer, and the technique described in <a href="https://geekyschmidt.com/2011/01/19/configuring-openbsd-softraid-fo-encryption.html" target="_blank" rel="nofollow noopener">https://geekyschmidt.com/2011/01/19/configuring-openbsd-softraid-fo-encryption.html</a> to setup the crypto slice.</p>
</blockquote>

<ul>
<li>Step #1: boot to rescue mode</li>
<li>Step #2: boot to the installer</li>
<li>Step #3: prepare softraid</li>
<li>Step #4: reboot to encrypted OpenBSD system</li>
<li>Bonus: further tightening your system</li>
<li>enable doas</li>
<li>disable the root account</li>
<li>update system with syspatch</li>
<li>add my ssh public key to my ~/.ssh/authorized_keys</li>
<li>disable password authentication within ssh</li>
<li>reboot so you boot on a brand new up-to-date system with latest stable kernel</li>
<li>VOILA !</li>
</ul>

<hr>

<h3><a href="https://www.freebsdfoundation.org/blog/january-2018-development-projects-update/" target="_blank" rel="nofollow noopener">January 2018 Development Projects Update</a></h3>

<ul>
<li>Spectre and Meltdown in FreeBSD</li>
</ul>

<blockquote>
<p>Issues affecting most CPUs used in servers, desktops, laptops, and mobile devices are in the news. These hardware vulnerabilities, known by the code-names Meltdown and Spectre, allow malicious programs to read data to which they should not have access. This potentially includes credentials, cryptographic material, or other secrets. They were originally identified by a researcher from Googles Project Zero, and were also independently discovered by researchers and academics from Cyberus Technology, Graz University of Technology, the University of Pennsylvania, the University of Maryland, Rambus, the University of Adelaide and Data61.</p>

<p>These vulnerabilities affect many CPU architectures supported by FreeBSD, but the 64-bit x86 family of processors from Intel and AMD are the most widely used, and are a high priority for software changes to mitigate the effects of Meltdown and Spectre. In particular, the Meltdown issue affects Intel CPUs and may be used to extract secret data from the running kernel, and therefore, is the most important issue to address.</p>

<p>The FreeBSD Foundation collaborates with Intel, and under this relationship participated in a briefing to understand the details of these issues and plan the mitigations to be applied to the x86 architectures supported by FreeBSD. We also made arrangements to have FreeBSDs security officer join me in the briefing. It is through the generous support of the Foundations donors that we are able to dedicate resources to focus on these issues on demand as they arise.</p>

<p>Foundation staff member Konstantin (Kostik) Belousov is an expert on FreeBSDs Virtual Memory (VM) system as well as low-level x86 details, and is developing the x86 kernel mitigations for FreeBSD.</p>

<p>The mitigation for Meltdown is known as Page Table Isolation (PTI). Kostik created a PTI implementation which was initially committed in mid-January and is available in the FreeBSD-CURRENT development repository. This is the same approach used by the Linux kernel to mitigate Meltdown.</p>

<p>One of the drawbacks of the PTI mitigation is that it incurs a performance regression. Kostik recently reworked FreeBSDs use of Process-Context Identifiers (PCID) in order to regain some of the performance loss incurred by PTI. This change is also now available in FreeBSD-CURRENT.</p>

<p>The issue known as Spectre comes in two variants, and variant 2 is the more troubling and pressing one. It may be mitigated in one of two ways: by using a technique called retpoline in the compiler, or by making use of a CPU feature introduced in a processor microcode update. Both options are under active development. Kostiks change to implement the CPU-based mitigation is currently in review. Unfortunately, it introduces a significant performance penalty and alternatives are preferred, if available.</p>

<p>For most cases, the compiler-based retpoline mitigation is likely to be the chosen mitigation. Having switched to the Clang compiler for the base system and most of the ports collection some years ago, FreeBSD is well-positioned to deploy Clang-based mitigations. FreeBSD developer Dimitry Andric is spearheading the update of Clang/LLVM in FreeBSD to version 6.0 in anticipation of its official release; FreeBSD-CURRENT now includes an interim snapshot. I have been assisting with the import, particularly with respect to LLVMs lld linker, and will support the integration of retpoline. This support is expected to be merged into FreeBSD in the coming weeks.</p>

<p>The Foundations co-op students have also participated in the response to these vulnerabilities. Mitchell Horne developed the patch to control the PTI mitigation default setting, while Arshan Khanifar benchmarked the performance impact of the in-progress mitigation patches. In addition, Arshan and Mitchell each developed changes to FreeBSDs tool chain to support the full set of mitigations that will be applied.</p>

<p>These mitigations will continue be tested, benchmarked, and refined in FreeBSD-CURRENT before being merged into stable branches and then being made available as updates to FreeBSD releases. Details on the timing of these merges and releases will be shared as they become available.</p>

<p>I would like to acknowledge all of those in the FreeBSD community who have participated in FreeBSDs response to Meltdown and Spectre, for testing, reviewing, and coordinating x86 mitigations, for developing mitigations for other processor architectures and for the Bhyve hypervisor, and for working on the toolchain-based mitigations.</p>
</blockquote>

<hr>

<h3><a href="https://lumina-desktop.org/guides-getting-started-lumina-themes/" target="_blank" rel="nofollow noopener">Guides: Getting Started &amp; Lumina Theme Submissions</a></h3>

<blockquote>
<p>I am pleased to announce the beginning of a new sub-series of blog posts for the Lumina project: Guides!</p>

<p>The TrueOS/Lumina projects want to support our users as they use Lumina or experiment with TrueOS. To that end, weve recently set up a central repository for our users to share instructions or other how-to guides with each other! Project developers and contributors will also submit guides to the repository on occasion, but the overall goal is to provide a simple hub for instructions written by any Lumina or TrueOS user. This will make it easier for users to not only find a how-to for some procedure, but also a very easy way to give back to the community by writing simple instructions or more detailed guides.</p>
</blockquote>

<ul>
<li>Guides Repository</li>
</ul>

<blockquote>
<p>Our first guide to get the whole thing started was created by the <a href="https://discourse.trueos.org/t/introducing-the-trueos-linebacker/991" target="_blank" rel="nofollow noopener">TrueOS Linebacker</a>  (with technical assistance from our own q5sys). In this guide, Terry Tate will walk you through the steps necessary to submit new wallpaper images to the Lumina Themes collection. This procedure is fully documented with screenshots every step of the way, walking you through a simple procedure that only requires a web browser and a Github account!</p>
</blockquote>

<ul>
<li><a href="https://github.com/trueos/guides/blob/master/lumina-themes-submissions/readme.md" target="_blank" rel="nofollow noopener">Guide: Lumina Themes Submissions</a></li>
</ul>

<blockquote>
<p>The end result of this guide was that Terry Tate was able to submit this cool new Lunar-4K wallpaper to the lumina-nature collection.</p>
</blockquote>

<ul>
<li><a href="https://github.com/trueos/guides/tree/master" target="_blank" rel="nofollow noopener">TrueOS Community Guides</a></li>
</ul>

<hr>

<h3><a href="https://www.ixsystems.com/blog/zfs-vs-openzfs/" target="_blank" rel="nofollow noopener">ZFS vs. OpenZFS (by Michael Dexter)</a></h3>

<blockquote>
<p>Youve probably heard us say a mix of ZFS and OpenZFS and an explanation is long-overdue. Our Senior Analyst clears up what ZFS and OpenZFS refer to and how they differ.<br>
I admit that we geeks tend to get caught up in the nuts and bolts of enterprise storage and overlook the more obvious questions that users might have. Youve probably noticed that this blog and the FreeNAS blog refer to ZFS and OpenZFS seemingly at random when talking about the amazing file system at the heart of FreeNAS and every storage product that iXsystems sells. I will do my best to clarify what exactly these two terms refer to.<br>
From its inception, ZFS has referred to the Zettabyte File System developed at Sun Microsystems and published under the CDDL Open Source license in 2005 as part of the OpenSolaris operating system. ZFS was revolutionary for completely decoupling the file system from specialized storage hardware and even a specific computer platform. The portable nature and advanced features of ZFS led FreeBSD, Linux, and even Apple developers to start porting ZFS to their operating systems and by 2008, FreeBSD shipped with ZFS in the 7.0 release. For the first time, ZFS empowered users of any budget with enterprise-class scalability and data integrity and management features like checksumming, compression and snapshotting, and those features remain unrivaled at any price to this day. On any ZFS platform, administrators use the zpool and zfs utilities to configure and manage their storage devices and file systems respectively. Both commands employ a user-friendly syntax such aszfs create mypool/mydataset and I welcome you to watch the appropriately-titled webinar Why we love ZFS &amp; you should too or try a completely-graphical ZFS experience with FreeNAS.<br>
Yes, ZFS is really as good as people say it is.<br>
After enjoying nearly a decade of refinement by a growing group of developers around the world, ZFS became the property of database vendor Oracle, which ceased public development of both ZFS and OpenSolaris in 2010. Disappointed but undeterred, a group of OpenSolaris users and developers forked the last public release of OpenSolaris as the Illumos project. To this day, Illumos represents the official upstream home of the Open Source OpenSolaris technologies, including ZFS. The Illumos project enjoys healthy vendor and user participation but the portable nature and compelling features of ZFS soon produced far more ZFS users than Illumos users around the world. While most if not all users of Illumos and its derivatives are ZFS users, the majority of ZFS users are not Illumos users, thanks significantly in part to FreeNAS which uses the FreeBSD operating system. This imbalance plus several successful ZFS Day events led ZFS co-founder Matt Ahrens and a group of ZFS developers to announce the OpenZFS project, which would remain a part of the Illumos code base but would be free to coordinate development efforts and events around their favorite file system. ZFS Day has grown into the two-day OpenZFS Developer Summit and is stronger than ever, a testament to the passion and dedication of the OpenZFS community.<br>
Oracle has steadily continued to develop its own proprietary branch of ZFS and Matt Ahrens points out that over 50% of the original OpenSolaris ZFS code has been replaced in OpenZFS with community contributions. This means that there are, sadly, two politically and technologically-incompatible branches of ZFS but fortunately, OpenZFS is orders of magnitude more popular thanks to its open nature. The two projects should be referred to as Oracle ZFS and OpenZFS to distinguish them as development efforts, but the user still types the zfs command, which on FreeBSD relies on the zfs.ko kernel module. My impression is that the terms of the CDDL license under which the OpenZFS branch of ZFS is published protects its users from any patent and trademark risks. Hopefully, this all helps you distinguish the OpenZFS project from the ZFS technology.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://explainshell.com/" target="_blank" rel="nofollow noopener">Explaining Shell</a></li>
<li><a href="https://opnsense.org/opnsense-18-1-released/" target="_blank" rel="nofollow noopener">OPNsense® 18.1 Released</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3104" target="_blank" rel="nofollow noopener">SSH Mastery 2/e copyedits back</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3106" target="_blank" rel="nofollow noopener">Sponsoring a Scam</a></li>
<li><a href="https://www.meetup.com/BAFUG-Bay-Area-FreeBSD-User-Group/events/246623825/" target="_blank" rel="nofollow noopener">Thursday, February 8, 2018 - Come to Netflix to talk about FreeBSD</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/events/247552279/" target="_blank" rel="nofollow noopener">BSD User Group meeting in Stockholm: March 22, 17:30 - 21:00</a></li>
<li>FreeBSD Flavoured talks from Linux.conf.au: <a href="https://www.youtube.com/watch?v=z-uWt5wVVkU" target="_blank" rel="nofollow noopener">You cant unit test C, right?</a> and <a href="https://www.youtube.com/watch?v=qAhZEI_6lbc" target="_blank" rel="nofollow noopener">A Brief History of I/O</a></li>
<li><a href="https://2018.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDcon 2018 website is up</a></li>
<li><a href="http://bhyvecon.org/" target="_blank" rel="nofollow noopener">Full day bhyvecon Tokyo, Japan, March 9, 2018</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Thomas - <a href="http://dpaste.com/3G2F7RC#wrap" target="_blank" rel="nofollow noopener">freebsd installer improvements</a></li>
<li>Mohammad - <a href="http://dpaste.com/0HGK3FQ#wrap" target="_blank" rel="nofollow noopener">FreeBSD 11 installation from a read only rescue disk</a></li>
<li>Stan - <a href="http://dpaste.com/2S169SH#wrap" target="_blank" rel="nofollow noopener">Follow up on guide you covered</a></li>
<li>Jalal - <a href="http://dpaste.com/35N8QXP#wrap" target="_blank" rel="nofollow noopener">couple questions</a></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>231: Unix Architecture Evolution</title>
  <link>https://www.bsdnow.tv/231</link>
  <guid isPermaLink="false">06b29fa5-0520-4e4d-a373-9e10de3ea498</guid>
  <pubDate>Thu, 01 Feb 2018 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/06b29fa5-0520-4e4d-a373-9e10de3ea498.mp3" length="61159252" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We cover an interview about Unix Architecture Evolution, another vBSDcon trip report, how to teach an old Unix about backspace, new NUMA support coming to FreeBSD, and stack pointer checking in OpenBSD.</itunes:subtitle>
  <itunes:duration>1:24:56</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>&lt;p&gt;We cover an interview about Unix Architecture Evolution, another vBSDcon trip report, how to teach an old Unix about backspace, new NUMA support coming to FreeBSD, and stack pointer checking in OpenBSD.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://fosdem.org/2018/interviews/diomidis-spinellis/" target="_blank" rel="nofollow noopener"&gt;Unix Architecture Evolution from the 1970 PDP-7 to the 2017 FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Q: Could you briefly introduce yourself?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m a professor of software engineering, a programmer at heart, and a technology author. Currently I’m also the editor in chief of the IEEE Software magazine. I recently published the book Effective Debugging, where I detail 66 ways to debug software and systems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: What will your talk be about, exactly?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I will describe how the architecture of the Unix operating system evolved over the past half century, starting from an unnamed system written in PDP-7 assembly language and ending with a modern FreeBSD system. My talk is based, first, on a GitHub repository where I tried to record the system’s history from 1970 until today and, second, on the evolution of documented facilities (user commands, system calls, library functions) across revisions. I will thus present the early system’s defining architectural features (layering, system calls, devices as files, an interpreter, and process management) and the important ones that followed in subsequent releases: the tree directory structure, user contributed code, I/O redirection, the shell as a user program, groups, pipes, scripting, and little languages.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: Why this topic?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Unix stands out as a major engineering breakthrough due to its exemplary design, its numerous technical contributions, its impact, its development model, and its widespread use. Furthermore, the design of the Unix programming environment has been characterized as one offering unusual simplicity, power, and elegance. Consequently, there are many lessons that we can learn by studying the evolution of the Unix architecture, which we can apply to the design of new systems. I often see modern systems that suffer from a bloat of architectural features and a lack of clear form on which functionality can be built. I believe that many of the modern Unix architecture defining features are excellent examples of what we should strive toward as system architects.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: What do you hope to accomplish by giving this talk? What do you expect?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’d like FOSDEM attendees to leave the talk with their mind full with architectural features of timeless quality. I want them to realize that architectural elegance isn’t derived by piling design patterns and does not need to be expensive in terms of resources. Rather, beautiful architecture can be achieved on an extremely modest scale. Furthermore, I want attendees to appreciate the importance of adopting flexible conventions rather than rigid enforcement mechanisms. Finally, I want to demonstrate through examples that the open source culture was part of Unix from its earliest days.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: What are the most significant milestones in the development of Unix?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The architectural development of Unix follows a path of continuous evolution, albeit at a slowing pace, so I don’t see here the most important milestones. I would however define as significant milestones two key changes in the way Unix was developed. The first occurred in the late 1970s when significant activity shifted from a closely-knit team of researchers at the AT&amp;amp;T Bell Labs to the Computer Science Research Group in the University of California at Berkeley. This opened the system to academic contributions and growth through competitive research funding. The second took place in the late 1980s and the 1990s when Berkeley open-sourced the the code it had developed (by that time a large percentage of the system) and enthusiasts built on it to create complete open source operating system distributions: 386BSD, and then FreeBSD, NetBSD, OpenBSD, and others.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: In which areas has the development of Unix stalled?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The data I will show demonstrate that there were in the past some long periods where the number of C library functions and system calls remained mostly stable. Nowadays there is significant growth in the number of all documented facilities with the exception of file formats. I’m looking forward to a discussion regarding the meaning of these growth patterns in the Q&amp;amp;A session after the talk.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: What are the core features that still link the 1970 PDP-7 system to the latest FreeBSD 11.1 release, almost half a century apart?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Over the past half-century the Unix system has grown by four orders of magnitude from a few thousand lines of code to many millions. Nevertheless, looking at a 1970s architecture diagram and a current one reveals that the initial architectural blocks are still with us today. Furthermore, most system calls, user programs, and C library functions of that era have survived until today with essentially similar functionality. I’ve even found in modern FreeBSD some lines of code that have survived unchanged for 40 years.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: Can we still add innovative changes to operating systems like FreeBSD without breaking the ‘Unix philosophy’? Will there be a moment where FreeBSD isn’t recognizable anymore as a descendant of the 1970 PDP-7 system?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There’s a saying that “form liberates”. So having available a time-tested form for developing operating system functionality allows you to innovate in areas that matter rather than reinventing the wheel.&lt;/p&gt;

&lt;p&gt;Such concepts include having commands act as a filter, providing manual pages with a consistent structure, supplying build information in the form of a Makefile, installing files in a well-defined directory hierarchy, implementing filesystems with an standardized object-oriented interface, and packaging reusable functions as a library. Within this framework there’s ample space for both incremental additions (think of jq, the JSON query command) and radical innovations (consider the Solaris-derived ZFS and dtrace functionality). For this reason I think that BSD and Linux systems will always be recognizable as direct or intellectual descendants of the 1970s Research Unix editions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: Have you enjoyed previous FOSDEM editions?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Immensely! As an academic I need to attend many scientific conferences and meetings in order to present research results and interact with colleagues. This means too much time spent traveling and away from home, and a limited number of conferences I’m in the end able to attend. Nevertheless, attending FOSDEM is an easy decision due to the world-changing nature of its theme, the breadth of the topics presented, the participants’ enthusiasm and energy, as well as the exemplary, very efficient conference organization.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.weaponizedawesome.com/blog/?cat=53" target="_blank" rel="nofollow noopener"&gt;Another vBSDCon trip report we just found&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We just got tipped about another trip report from vBSDCon, this time from one of the first time speakers: W. Dean Freeman&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Recently I had the honor of co-presenting on the internals of FreeBSD’s Kernel RNG with John-Mark Gurney at the 3rd biennial vBSDCon, hosted in Reston, VA hosted by Verisign.&lt;br&gt;
I’ve been in and out of the FreeBSD community for about 20 years. As I’ve mentioned on here before, my first Unix encounter was FreeBSD 2.2.8 when I was in the 7th or 8th grade. However, for all that time I’ve never managed to get out to any of the cons. I’ve been to one or two BUG meetings and I’ve met some folks from IRC before, but nothing like this.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A BSD conference is a very different experience than anything else out there. You have to try it, it is the only way to truly understand it.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’d also not had to do a stand-up presentation really since college before this. So, my first BSD con and my first time presenting rolled into one made for an interesting experience.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See, he didn’t say terrifying. It went very well. You should totally submit a talk for the next conference, even if it is your first.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;That said, it was amazing and invigorating experience. I got to meet a few big names in the FreeBSD community, discuss projects, ideas for FreeBSD, etc. I did seem to spend an unusual amount of time talking about FIPS and Common Criteria with folks, but to me that’s a good sign and indicative that there is interest in working to close gaps between FreeBSD and the current requirements so that we can start getting FreeBSD and more BSD-based products into the government and start whittling away the domination of Linux (especially since Oracle has cut Solaris, SPARC and the ZFS storage appliance business units).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;There is nothing that can match the high bandwidth interchange of ideas in person. The internet has made all kinds of communication possible, and we use it all the time, but every once in a while, getting together in person is hugely valuable.&lt;/li&gt;
&lt;li&gt;Dean then went on to list some of the talks he found most valuable, including DTrace, Capsicum, bhyve, *BSD security tools, and Paul Vixie’s talk about gets()&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I think the talk that really had the biggest impact on me, however, was Kyle Kneisl’s talk on BSD community dynamics. One of the key points he asked was whether the things that drew us to the BSD community in the first place would be able to happen today. Obviously, I’m not a 12 or 13 year old kid anymore, but it really got me thinking. That, combined with getting face time with people I’d previously only known as screen names has recently drawn me back into participating in IRC and rejoining mailing lists (wdf on freenode. be on the lookout!)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Then Dean covered some thoughts on his own talk:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;JMG and my talk seems to have been well received, with people paying lots of attention. I don’t know what a typical number of questions is for one of these things, but on day one there weren’t that many questions.  We got about 5 during our question time and spent most of the rest of the day fielding questions from interested attendees. Getting a “great talk!” from GNN after coming down from the stage was probably one of the major highlights for me.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;I remember my first solo talk, and GNN asking the right question in the middle to get me to explain a part of it I had missed. It was very helpful.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I think key to the interest in our presentation was that JMG did a good job framing a very complicated topic’s importance in terms everyone could understand.  It also helped that we got to drop some serious truth bombs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Final Thoughts:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I met a lot of folks in person for the first time, and met some people I’d never known online before. It was a great community and I’m glad I got a chance to expand my network.&lt;br&gt;
Verisign were excellent hosts and they took good care of both speakers (covering airfare, rooms, etc.) and also conference attendees at large. The dinners that they hosted were quite good as well.&lt;br&gt;
I’m definitely interested in attending vBSDCon again and now that I’ve had a taste of meeting IRL with the community on scale of more than a handful, I have every intention of finally making it to BSDCan next year (I’d said it in 2017, but then moved to Texas for a new job and it wasn’t going to be practical). This year for sure, though!&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/" target="_blank" rel="nofollow noopener"&gt;Teaching an Almost 40-year Old UNIX about Backspace&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I have been messing with the UNIX® operating system, Seventh Edition (commonly known as UNIX V7 or just V7) for a while now. V7 dates from 1979, so it’s about 40 years old at this point. The last post was on V7/x86, but since I’ve run into various issues with it, I moved on to a proper installation of V7 on SIMH. The Internet has some really good resources on installing V7 in SIMH. Thus, I set out on my own journey on installing and using V7 a while ago, but that was remarkably uneventful.&lt;/p&gt;

&lt;p&gt;One convenience that I have been dearly missing since the switch from V7/x86 is a functioning backspace key. There seem to be multiple different definitions of backspace:&lt;/p&gt;

&lt;p&gt;BS, as in ASCII character 8 (010, 0x08, also represented as &lt;sup&gt;H),&lt;/sup&gt; and&lt;br&gt;
DEL, as in ASCII character 127 (0177, 0x7F, also represented as &lt;sup&gt;?).&lt;/sup&gt;&lt;br&gt;
V7 does not accept either for input by default. Instead, # is used as the erase character and @ is used as the kill character. These defaults have been there since UNIX V1. In fact, they have been “there” since Multics, where they got chosen seemingly arbitrarily. The erase character erases the character before it. The kill character kills (deletes) the whole line. For example, “ba##gooo#d” would be interpreted as “good” and “bad line@good line” would be interpreted as “good line”.&lt;/p&gt;

&lt;p&gt;There is some debate on whether BS or DEL is the correct character for terminals to send when the user presses the backspace key. However, most programs have settled on DEL today. tmux forces DEL, even if the terminal emulator sends BS, so simply changing my terminal to send BS was not an option. The change from the defaults outlined here to today’s modern-day defaults occurred between 4.1BSD and 4.2BSD. enf on Hacker News has written a nice overview of the various conventions&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Getting the Diff&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For future generations as well as myself when I inevitably majorly break this installation of V7, I wanted to make a diff. However, my V7 is installed in SIMH. I am not a very intelligent man, I didn’t keep backup copies of the files I’d changed. Getting data out of this emulated machine is an exercise in frustration.&lt;/p&gt;

&lt;p&gt;In the end, I printed everything on screen using cat(1) and copied that out. Then I performed a manual diff against the original source code tree because tabs got converted to spaces in the process. Then I applied the changes to clean copies that did have the tabs. And finally, I actually invoked diff(1).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Closing Thoughts&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Figuring all this out took me a few days. Penetrating how the system is put together was surprisingly fairly hard at first, but then the difficulty curve eased up. It was an interesting exercise in some kind of “reverse engineering” and I definitely learned something about tty handling. I was, however, not pleased with using ed(1), even if I do know the basics. vi(1) is a blessing that I did not appreciate enough until recently. Had I also been unable to access recursive grep(1) on my host and scroll through the code, I would’ve probably given up. Writing UNIX under those kinds of editing conditions is an amazing feat. I have nothing but the greatest respect for software developers of those days.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-January/068145.html" target="_blank" rel="nofollow noopener"&gt;New NUMA support coming to FreeBSD CURRENT&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Hello folks,&lt;/p&gt;

&lt;p&gt;I am working on merging improved NUMA support with policy implemented by cpuset(2) over the next week.  This work has been supported by Dell/EMC's Isilon product division and Netflix.  You can see some discussion of these changes here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://reviews.freebsd.org/D13403" target="_blank" rel="nofollow noopener"&gt;https://reviews.freebsd.org/D13403&lt;/a&gt;&lt;br&gt;
&lt;a href="https://reviews.freebsd.org/D13289" target="_blank" rel="nofollow noopener"&gt;https://reviews.freebsd.org/D13289&lt;/a&gt;&lt;br&gt;
&lt;a href="https://reviews.freebsd.org/D13545" target="_blank" rel="nofollow noopener"&gt;https://reviews.freebsd.org/D13545&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The work has been done in user/jeff/numa if you want to look at svn history or experiment with the branch.  It has been tested by Peter Holm on i386 and amd64 and it has been verified to work on arm at various points.&lt;/p&gt;

&lt;p&gt;We are working towards compatibility with libnuma and linux mbind.  These commits will bring in improved support for NUMA in the kernel.  There are new domain specific allocation functions available to kernel for UMA, malloc, kmem_, and vm_page*.  busdmamem consumers will automatically be placed in the correct domain, bringing automatic improvements to some &lt;br&gt;
device performance.&lt;/p&gt;

&lt;p&gt;cpuset will be able to constrains processes, groups of processes, jails, etc. to subsets of the system memory domains, just as it can with sets of cpus.  It can set default policy for any of the above.  Threads can use cpusets to set policy that specifies a subset of their visible domains.&lt;/p&gt;

&lt;p&gt;Available policies are first-touch (local in linux terms), round-robin (similar to linux interleave), and preferred.  For now, the default is round-robin.  You can achieve a fixed domain policy by using round-robin with a bitmask of a single domain.  As the scheduler and VM become more &lt;br&gt;
sophisticated we may switch the default to first-touch as linux does.&lt;/p&gt;

&lt;p&gt;Currently these features are enabled with VM_NUMA_ALLOC and MAXMEMDOM.  It will eventually be NUMA/MAXMEMDOM to match SMP/MAXCPU.  The current NUMA syscalls and VM_NUMA_ALLOC code was 'experimental' and will be deprecated. numactl will continue to be supported although cpuset should be preferred going forward as it supports the full feature set of the new API.&lt;/p&gt;

&lt;p&gt;Thank you for your patience as I deal with the inevitable fallout of such sweeping changes.  If you do have bugs, please file them in bugzilla, or reach out to me directly.  I don't always have time to catch up on all of my mailing list mail and regretfully things slip through the cracks when &lt;br&gt;
they are not addressed directly to me.&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br&gt;
Jeff&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=151572838911297&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;Stack pointer checking – OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Stefan (stefan@) and I have been working for a few months on this diff, with help from a few others.&lt;/p&gt;

&lt;p&gt;At every trap and system call, it checks if the stack-pointer is on a page that is marked MAP_STACK.  execve() is changed to create such mappings for the process stack.  Also, libpthread is taught the new MAP_STACK flag to use with mmap().&lt;/p&gt;

&lt;p&gt;There is no corresponding system call which can set MAP_FLAG on an existing page, you can only set the flag by mapping new memory into place.  That is a piece of the security model.&lt;/p&gt;

&lt;p&gt;The purpose of this change is to twart stack pivots, which apparently have gained some popularity in JIT ROP attacks.  It makes it difficult to place the ROP stack in regular data memory, and then perform a system call from it.  Workarounds are cumbersome, increasing the need for far more gadgetry.  But also the trap case -- if any memory experiences a demand page fault, the same check will occur and potentially also kill the process.&lt;/p&gt;

&lt;p&gt;We have experimented a little with performing this check during device interrupts, but there are some locking concerns and performance may then become a concern.  It'll be best to gain experience from handle of syncronous trap cases first.&lt;/p&gt;

&lt;p&gt;chrome and other applications I use run fine!&lt;/p&gt;

&lt;p&gt;I'm asking for some feedback to discover what ports this breaks, we'd like to know.  Those would be ports which try to (unconventionally) create their stacks in malloc()'d memory or inside another Data structure.  Most of them are probably easily fixed ...&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl/bobulate/?p=1768" target="_blank" rel="nofollow noopener"&gt;Qt 5.9 on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Tobias and Raphael have spent the past month or so hammering on the Qt 5.9 branch, which has (finally!) landed in the official FreeBSD ports tree. This brings FreeBSD back up-to-date with current Qt releases and, more importantly, up-to-date with the Qt release KDE software is increasingly expecting. With Qt 5.9, the Elisa music player works, for instance (where it has run-time errors with Qt 5.7, even if it compiles). The KDE-FreeBSD CI system has had Qt 5.9 for some time already, but that was hand-compiled and jimmied into the system, rather than being a “proper” ports build.&lt;/p&gt;

&lt;p&gt;The new Qt version uses a new build system, which is one of the things that really slowed us down from a packaging perspective. Some modules have been reshuffled in the process. Some applications depending on Qt internal-private headers have been fixed along the way. The Telegram desktop client continues to be a pain in the butt that way.&lt;/p&gt;

&lt;p&gt;Following on from Qt 5.9 there has been some work in getting ready for Clang 6 support; in general the KDE and Qt stack is clean and modern C++, so it’s more infrastructural tweaks than fixing code. Outside of our silo, I still see lots of wonky C++ code being fixed and plenty of confusion between pointers and integers and strings and chars and .. ugh. Speaking of ugh, I’m still planning to clean up Qt4 on ARM aarch64 for FreeBSD; this boils down to stealing suitable qatomic implementations from Arch Linux.&lt;/p&gt;

&lt;p&gt;For regular users of Qt applications on FreeBSD, there should be few to no changes required outside the regular upgrade cycle. For KDE Plasma users, note that development of the ports has changed branches; as we get closer to actually landing modern KDE bits, things have been renamed and reshuffled and mulled over so often that the old plasma5 branch wasn’t really right anymore. The kde5-import branch is where it’s at nowadays, and the instructions are the same: the x11/kde5 metaport will give you all the KDE Frameworks 5, KDE Plasma Desktop and modern KDE Applications you need.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://dan.langille.org/2018/01/13/adding-ipv6-to-an-nginx-website-on-freebsd-freshports/" target="_blank" rel="nofollow noopener"&gt;Adding IPv6 to an Nginx website on FreeBSD / FreshPorts&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;FreshPorts recently moved to an IPv6-capable server but until today, that capability has not been utilized.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;There were a number of things I had to configure, but this will not necessarily be an exhaustive list for you to follow. Some steps might be missing, and it might not apply to your situation.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;All of this took about 3 hours.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;We are using:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD 11.1&lt;/li&gt;
&lt;li&gt;Bind 9.9.11&lt;/li&gt;
&lt;li&gt;nginx 1.12.2&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fallout&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I expect some monitoring fallout from this change. I suspect some of my monitoring assumes IP4 and now that IPv6 is available, I need to monitor both IP addresses.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.trueos.org/blog/zfs-trueos-love-openzfs/" target="_blank" rel="nofollow noopener"&gt;ZFS on TrueOS: Why We Love OpenZFS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;TrueOS was the first desktop operating system to fully implement the OpenZFS (Zettabyte File System or ZFS for short) enterprise file system in a stable production environment. To fully understand why we love ZFS, we will look back to the early days of TrueOS (formerly PC-BSD). The development team had been using the UFS file system in TrueOS because of its solid track record with FreeBSD-based computer systems and its ability to check file consistency with the built-in check utility fsck.&lt;/p&gt;

&lt;p&gt;However, as computing demands increased, problems began to surface. Slow fsck file verification on large file systems, slow replication speeds, and inconsistency in data integrity while using UFS logging / journaling began to hinder users. It quickly became apparent that TrueOS users would need a file system that scales with evolving enterprise storage needs, offers the best data protection, and works just as well on a hobbyist system or desktop computer.&lt;/p&gt;

&lt;p&gt;Kris Moore, the founder of the TrueOS project, first heard about OpenZFS in 2007 from chatter on the FreeBSD mailing lists. In 2008, the TrueOS development team was thrilled to learn that the FreeBSD Project had ported ZFS. At the time, ZFS was still unproven as a graphical desktop solution, but Kris saw a perfect opportunity to offer ZFS as a cutting-edge file system option in the TrueOS installer, allowing the TrueOS project to act as an indicator of how OpenZFS would fair in real-world production use.&lt;/p&gt;

&lt;p&gt;The team was blown away by the reception and quality of OpenZFS on FreeBSD-based systems. By its nature, ZFS is a copy-on-write (CoW) file system that won’t move a block of data until it both writes the data and verifies its integrity. This is very different from most other file systems in use today. ZFS is able to assure that data stays consistent between writes by automatically comparing write checksums, which mitigates bit rot. ZFS also comes with native RaidZ functionality that allows for enterprise data management and redundancy without the need for expensive traditional RAID cards. ZFS snapshots allow for system configuration backups in a split-second. You read that right. TrueOS can backup or restore snapshots in less than a second using the ZFS file system.&lt;/p&gt;

&lt;p&gt;Given these advantages, the TrueOS team decided to use ZFS as its exclusive file system starting in 2013, and we haven’t looked back since. ZFS offers TrueOS users the stable workstation experience they want, while simultaneously scaling to meet the increasing demands of the enterprise storage market. TrueOS users are frequently commenting on how easy it is to use ZFS snapshots with our built-in snapshot utility. This allows users the freedom to experiment with their system knowing they can restore it in seconds if anything goes wrong. If you haven’t had a chance to try ZFS with TrueOS, browse to our download page and make sure to grab a copy of TrueOS. You’ll be blown away by the ease of use, data protection functionality, and incredible flexibility of RaidZ.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/3099" target="_blank" rel="nofollow noopener"&gt;Source Code Podcast Interview with Michael W Lucas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://w3techs.com/blog/entry/web_technologies_of_the_year_2017" target="_blank" rel="nofollow noopener"&gt;Operating System of the Year 2017: NetBSD Third place&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opnsense.org/opnsense-18-1-rc1-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 18.1-RC1 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://balu-wiki.readthedocs.io/en/latest/security/openbsd.html" target="_blank" rel="nofollow noopener"&gt;Personal OpenBSD Wiki Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://guide.freecodecamp.org/bsd-os/" target="_blank" rel="nofollow noopener"&gt;BSD section can use some contribution&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dspinellis/unix-v3man" target="_blank" rel="nofollow noopener"&gt;The Third Research Edition Unix Programmer's Manual (now available in PDF)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Alex - &lt;a href="http://dpaste.com/3DSV7BC#wrap" target="_blank" rel="nofollow noopener"&gt;my first freebsd bug&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;John - &lt;a href="http://dpaste.com/2QFR4MT#wrap" target="_blank" rel="nofollow noopener"&gt;Suggested Speakers&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;Todd - &lt;a href="http://dpaste.com/2FQ450Q#wrap" target="_blank" rel="nofollow noopener"&gt;Two questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Matthew - &lt;a href="http://dpaste.com/3KA29E0#wrap" target="_blank" rel="nofollow noopener"&gt;CentOS to FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brian - &lt;a href="http://dpaste.com/24DYF1J#wrap" target="_blank" rel="nofollow noopener"&gt;Brian - openbsd 6.2 and enlightenment .17&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We cover an interview about Unix Architecture Evolution, another vBSDcon trip report, how to teach an old Unix about backspace, new NUMA support coming to FreeBSD, and stack pointer checking in OpenBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://fosdem.org/2018/interviews/diomidis-spinellis/" target="_blank" rel="nofollow noopener">Unix Architecture Evolution from the 1970 PDP-7 to the 2017 FreeBSD</a></h3>

<ul>
<li>Q: Could you briefly introduce yourself?</li>
</ul>

<blockquote>
<p>Im a professor of software engineering, a programmer at heart, and a technology author. Currently Im also the editor in chief of the IEEE Software magazine. I recently published the book Effective Debugging, where I detail 66 ways to debug software and systems.</p>
</blockquote>

<ul>
<li>Q: What will your talk be about, exactly?</li>
</ul>

<blockquote>
<p>I will describe how the architecture of the Unix operating system evolved over the past half century, starting from an unnamed system written in PDP-7 assembly language and ending with a modern FreeBSD system. My talk is based, first, on a GitHub repository where I tried to record the systems history from 1970 until today and, second, on the evolution of documented facilities (user commands, system calls, library functions) across revisions. I will thus present the early systems defining architectural features (layering, system calls, devices as files, an interpreter, and process management) and the important ones that followed in subsequent releases: the tree directory structure, user contributed code, I/O redirection, the shell as a user program, groups, pipes, scripting, and little languages.</p>
</blockquote>

<ul>
<li>Q: Why this topic?</li>
</ul>

<blockquote>
<p>Unix stands out as a major engineering breakthrough due to its exemplary design, its numerous technical contributions, its impact, its development model, and its widespread use. Furthermore, the design of the Unix programming environment has been characterized as one offering unusual simplicity, power, and elegance. Consequently, there are many lessons that we can learn by studying the evolution of the Unix architecture, which we can apply to the design of new systems. I often see modern systems that suffer from a bloat of architectural features and a lack of clear form on which functionality can be built. I believe that many of the modern Unix architecture defining features are excellent examples of what we should strive toward as system architects.</p>
</blockquote>

<ul>
<li>Q: What do you hope to accomplish by giving this talk? What do you expect?</li>
</ul>

<blockquote>
<p>Id like FOSDEM attendees to leave the talk with their mind full with architectural features of timeless quality. I want them to realize that architectural elegance isnt derived by piling design patterns and does not need to be expensive in terms of resources. Rather, beautiful architecture can be achieved on an extremely modest scale. Furthermore, I want attendees to appreciate the importance of adopting flexible conventions rather than rigid enforcement mechanisms. Finally, I want to demonstrate through examples that the open source culture was part of Unix from its earliest days.</p>
</blockquote>

<ul>
<li>Q: What are the most significant milestones in the development of Unix?</li>
</ul>

<blockquote>
<p>The architectural development of Unix follows a path of continuous evolution, albeit at a slowing pace, so I dont see here the most important milestones. I would however define as significant milestones two key changes in the way Unix was developed. The first occurred in the late 1970s when significant activity shifted from a closely-knit team of researchers at the AT&amp;T Bell Labs to the Computer Science Research Group in the University of California at Berkeley. This opened the system to academic contributions and growth through competitive research funding. The second took place in the late 1980s and the 1990s when Berkeley open-sourced the the code it had developed (by that time a large percentage of the system) and enthusiasts built on it to create complete open source operating system distributions: 386BSD, and then FreeBSD, NetBSD, OpenBSD, and others.</p>
</blockquote>

<ul>
<li>Q: In which areas has the development of Unix stalled?</li>
</ul>

<blockquote>
<p>The data I will show demonstrate that there were in the past some long periods where the number of C library functions and system calls remained mostly stable. Nowadays there is significant growth in the number of all documented facilities with the exception of file formats. Im looking forward to a discussion regarding the meaning of these growth patterns in the Q&amp;A session after the talk.</p>
</blockquote>

<ul>
<li>Q: What are the core features that still link the 1970 PDP-7 system to the latest FreeBSD 11.1 release, almost half a century apart?</li>
</ul>

<blockquote>
<p>Over the past half-century the Unix system has grown by four orders of magnitude from a few thousand lines of code to many millions. Nevertheless, looking at a 1970s architecture diagram and a current one reveals that the initial architectural blocks are still with us today. Furthermore, most system calls, user programs, and C library functions of that era have survived until today with essentially similar functionality. Ive even found in modern FreeBSD some lines of code that have survived unchanged for 40 years.</p>
</blockquote>

<ul>
<li>Q: Can we still add innovative changes to operating systems like FreeBSD without breaking the Unix philosophy? Will there be a moment where FreeBSD isnt recognizable anymore as a descendant of the 1970 PDP-7 system?</li>
</ul>

<blockquote>
<p>Theres a saying that form liberates. So having available a time-tested form for developing operating system functionality allows you to innovate in areas that matter rather than reinventing the wheel.</p>

<p>Such concepts include having commands act as a filter, providing manual pages with a consistent structure, supplying build information in the form of a Makefile, installing files in a well-defined directory hierarchy, implementing filesystems with an standardized object-oriented interface, and packaging reusable functions as a library. Within this framework theres ample space for both incremental additions (think of jq, the JSON query command) and radical innovations (consider the Solaris-derived ZFS and dtrace functionality). For this reason I think that BSD and Linux systems will always be recognizable as direct or intellectual descendants of the 1970s Research Unix editions.</p>
</blockquote>

<ul>
<li>Q: Have you enjoyed previous FOSDEM editions?</li>
</ul>

<blockquote>
<p>Immensely! As an academic I need to attend many scientific conferences and meetings in order to present research results and interact with colleagues. This means too much time spent traveling and away from home, and a limited number of conferences Im in the end able to attend. Nevertheless, attending FOSDEM is an easy decision due to the world-changing nature of its theme, the breadth of the topics presented, the participants enthusiasm and energy, as well as the exemplary, very efficient conference organization.</p>
</blockquote>

<hr>

<h3><a href="https://www.weaponizedawesome.com/blog/?cat=53" target="_blank" rel="nofollow noopener">Another vBSDCon trip report we just found</a></h3>

<ul>
<li>We just got tipped about another trip report from vBSDCon, this time from one of the first time speakers: W. Dean Freeman</li>
</ul>

<blockquote>
<p>Recently I had the honor of co-presenting on the internals of FreeBSDs Kernel RNG with John-Mark Gurney at the 3rd biennial vBSDCon, hosted in Reston, VA hosted by Verisign.<br>
Ive been in and out of the FreeBSD community for about 20 years. As Ive mentioned on here before, my first Unix encounter was FreeBSD 2.2.8 when I was in the 7th or 8th grade. However, for all that time Ive never managed to get out to any of the cons. Ive been to one or two BUG meetings and Ive met some folks from IRC before, but nothing like this.</p>
</blockquote>

<ul>
<li>A BSD conference is a very different experience than anything else out there. You have to try it, it is the only way to truly understand it.</li>
</ul>

<blockquote>
<p>Id also not had to do a stand-up presentation really since college before this. So, my first BSD con and my first time presenting rolled into one made for an interesting experience.</p>
</blockquote>

<ul>
<li>See, he didnt say terrifying. It went very well. You should totally submit a talk for the next conference, even if it is your first.</li>
</ul>

<blockquote>
<p>That said, it was amazing and invigorating experience. I got to meet a few big names in the FreeBSD community, discuss projects, ideas for FreeBSD, etc. I did seem to spend an unusual amount of time talking about FIPS and Common Criteria with folks, but to me thats a good sign and indicative that there is interest in working to close gaps between FreeBSD and the current requirements so that we can start getting FreeBSD and more BSD-based products into the government and start whittling away the domination of Linux (especially since Oracle has cut Solaris, SPARC and the ZFS storage appliance business units).</p>
</blockquote>

<ul>
<li>There is nothing that can match the high bandwidth interchange of ideas in person. The internet has made all kinds of communication possible, and we use it all the time, but every once in a while, getting together in person is hugely valuable.</li>
<li>Dean then went on to list some of the talks he found most valuable, including DTrace, Capsicum, bhyve, *BSD security tools, and Paul Vixies talk about gets()</li>
</ul>

<blockquote>
<p>I think the talk that really had the biggest impact on me, however, was Kyle Kneisls talk on BSD community dynamics. One of the key points he asked was whether the things that drew us to the BSD community in the first place would be able to happen today. Obviously, Im not a 12 or 13 year old kid anymore, but it really got me thinking. That, combined with getting face time with people Id previously only known as screen names has recently drawn me back into participating in IRC and rejoining mailing lists (wdf on freenode. be on the lookout!)</p>
</blockquote>

<ul>
<li>Then Dean covered some thoughts on his own talk:</li>
</ul>

<blockquote>
<p>JMG and my talk seems to have been well received, with people paying lots of attention. I dont know what a typical number of questions is for one of these things, but on day one there werent that many questions.  We got about 5 during our question time and spent most of the rest of the day fielding questions from interested attendees. Getting a great talk! from GNN after coming down from the stage was probably one of the major highlights for me.</p>
</blockquote>

<ul>
<li>I remember my first solo talk, and GNN asking the right question in the middle to get me to explain a part of it I had missed. It was very helpful.</li>
</ul>

<blockquote>
<p>I think key to the interest in our presentation was that JMG did a good job framing a very complicated topics importance in terms everyone could understand.  It also helped that we got to drop some serious truth bombs.</p>
</blockquote>

<ul>
<li>Final Thoughts:</li>
</ul>

<blockquote>
<p>I met a lot of folks in person for the first time, and met some people Id never known online before. It was a great community and Im glad I got a chance to expand my network.<br>
Verisign were excellent hosts and they took good care of both speakers (covering airfare, rooms, etc.) and also conference attendees at large. The dinners that they hosted were quite good as well.<br>
Im definitely interested in attending vBSDCon again and now that Ive had a taste of meeting IRL with the community on scale of more than a handful, I have every intention of finally making it to BSDCan next year (Id said it in 2017, but then moved to Texas for a new job and it wasnt going to be practical). This year for sure, though!</p>

<hr>
</blockquote>

<h3><a href="https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/" target="_blank" rel="nofollow noopener">Teaching an Almost 40-year Old UNIX about Backspace</a></h3>

<ul>
<li>Introduction</li>
</ul>

<blockquote>
<p>I have been messing with the UNIX® operating system, Seventh Edition (commonly known as UNIX V7 or just V7) for a while now. V7 dates from 1979, so its about 40 years old at this point. The last post was on V7/x86, but since Ive run into various issues with it, I moved on to a proper installation of V7 on SIMH. The Internet has some really good resources on installing V7 in SIMH. Thus, I set out on my own journey on installing and using V7 a while ago, but that was remarkably uneventful.</p>

<p>One convenience that I have been dearly missing since the switch from V7/x86 is a functioning backspace key. There seem to be multiple different definitions of backspace:</p>

<p>BS, as in ASCII character 8 (010, 0x08, also represented as <sup>H),</sup> and<br>
DEL, as in ASCII character 127 (0177, 0x7F, also represented as <sup>?).</sup><br>
V7 does not accept either for input by default. Instead, # is used as the erase character and @ is used as the kill character. These defaults have been there since UNIX V1. In fact, they have been there since Multics, where they got chosen seemingly arbitrarily. The erase character erases the character before it. The kill character kills (deletes) the whole line. For example, ba##gooo#d would be interpreted as good and bad line@good line would be interpreted as good line.</p>

<p>There is some debate on whether BS or DEL is the correct character for terminals to send when the user presses the backspace key. However, most programs have settled on DEL today. tmux forces DEL, even if the terminal emulator sends BS, so simply changing my terminal to send BS was not an option. The change from the defaults outlined here to todays modern-day defaults occurred between 4.1BSD and 4.2BSD. enf on Hacker News has written a nice overview of the various conventions</p>
</blockquote>

<ul>
<li>Getting the Diff</li>
</ul>

<blockquote>
<p>For future generations as well as myself when I inevitably majorly break this installation of V7, I wanted to make a diff. However, my V7 is installed in SIMH. I am not a very intelligent man, I didnt keep backup copies of the files Id changed. Getting data out of this emulated machine is an exercise in frustration.</p>

<p>In the end, I printed everything on screen using cat(1) and copied that out. Then I performed a manual diff against the original source code tree because tabs got converted to spaces in the process. Then I applied the changes to clean copies that did have the tabs. And finally, I actually invoked diff(1).</p>
</blockquote>

<ul>
<li>Closing Thoughts</li>
</ul>

<blockquote>
<p>Figuring all this out took me a few days. Penetrating how the system is put together was surprisingly fairly hard at first, but then the difficulty curve eased up. It was an interesting exercise in some kind of reverse engineering and I definitely learned something about tty handling. I was, however, not pleased with using ed(1), even if I do know the basics. vi(1) is a blessing that I did not appreciate enough until recently. Had I also been unable to access recursive grep(1) on my host and scroll through the code, I wouldve probably given up. Writing UNIX under those kinds of editing conditions is an amazing feat. I have nothing but the greatest respect for software developers of those days.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-January/068145.html" target="_blank" rel="nofollow noopener">New NUMA support coming to FreeBSD CURRENT</a></h3>

<blockquote>
<p>Hello folks,</p>

<p>I am working on merging improved NUMA support with policy implemented by cpuset(2) over the next week.  This work has been supported by Dell/EMC's Isilon product division and Netflix.  You can see some discussion of these changes here:</p>

<p><a href="https://reviews.freebsd.org/D13403" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D13403</a><br>
<a href="https://reviews.freebsd.org/D13289" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D13289</a><br>
<a href="https://reviews.freebsd.org/D13545" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D13545</a></p>

<p>The work has been done in user/jeff/numa if you want to look at svn history or experiment with the branch.  It has been tested by Peter Holm on i386 and amd64 and it has been verified to work on arm at various points.</p>

<p>We are working towards compatibility with libnuma and linux mbind.  These commits will bring in improved support for NUMA in the kernel.  There are new domain specific allocation functions available to kernel for UMA, malloc, kmem_, and vm_page*.  busdmamem consumers will automatically be placed in the correct domain, bringing automatic improvements to some <br>
device performance.</p>

<p>cpuset will be able to constrains processes, groups of processes, jails, etc. to subsets of the system memory domains, just as it can with sets of cpus.  It can set default policy for any of the above.  Threads can use cpusets to set policy that specifies a subset of their visible domains.</p>

<p>Available policies are first-touch (local in linux terms), round-robin (similar to linux interleave), and preferred.  For now, the default is round-robin.  You can achieve a fixed domain policy by using round-robin with a bitmask of a single domain.  As the scheduler and VM become more <br>
sophisticated we may switch the default to first-touch as linux does.</p>

<p>Currently these features are enabled with VM_NUMA_ALLOC and MAXMEMDOM.  It will eventually be NUMA/MAXMEMDOM to match SMP/MAXCPU.  The current NUMA syscalls and VM_NUMA_ALLOC code was 'experimental' and will be deprecated. numactl will continue to be supported although cpuset should be preferred going forward as it supports the full feature set of the new API.</p>

<p>Thank you for your patience as I deal with the inevitable fallout of such sweeping changes.  If you do have bugs, please file them in bugzilla, or reach out to me directly.  I don't always have time to catch up on all of my mailing list mail and regretfully things slip through the cracks when <br>
they are not addressed directly to me.</p>

<p>Thanks,<br>
Jeff</p>

<hr>
</blockquote>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=151572838911297&amp;w=2" target="_blank" rel="nofollow noopener">Stack pointer checking  OpenBSD</a></h3>

<blockquote>
<p>Stefan (stefan@) and I have been working for a few months on this diff, with help from a few others.</p>

<p>At every trap and system call, it checks if the stack-pointer is on a page that is marked MAP_STACK.  execve() is changed to create such mappings for the process stack.  Also, libpthread is taught the new MAP_STACK flag to use with mmap().</p>

<p>There is no corresponding system call which can set MAP_FLAG on an existing page, you can only set the flag by mapping new memory into place.  That is a piece of the security model.</p>

<p>The purpose of this change is to twart stack pivots, which apparently have gained some popularity in JIT ROP attacks.  It makes it difficult to place the ROP stack in regular data memory, and then perform a system call from it.  Workarounds are cumbersome, increasing the need for far more gadgetry.  But also the trap case -- if any memory experiences a demand page fault, the same check will occur and potentially also kill the process.</p>

<p>We have experimented a little with performing this check during device interrupts, but there are some locking concerns and performance may then become a concern.  It'll be best to gain experience from handle of syncronous trap cases first.</p>

<p>chrome and other applications I use run fine!</p>

<p>I'm asking for some feedback to discover what ports this breaks, we'd like to know.  Those would be ports which try to (unconventionally) create their stacks in malloc()'d memory or inside another Data structure.  Most of them are probably easily fixed ...</p>
</blockquote>

<hr>

<h3><a href="https://euroquis.nl/bobulate/?p=1768" target="_blank" rel="nofollow noopener">Qt 5.9 on FreeBSD</a></h3>

<blockquote>
<p>Tobias and Raphael have spent the past month or so hammering on the Qt 5.9 branch, which has (finally!) landed in the official FreeBSD ports tree. This brings FreeBSD back up-to-date with current Qt releases and, more importantly, up-to-date with the Qt release KDE software is increasingly expecting. With Qt 5.9, the Elisa music player works, for instance (where it has run-time errors with Qt 5.7, even if it compiles). The KDE-FreeBSD CI system has had Qt 5.9 for some time already, but that was hand-compiled and jimmied into the system, rather than being a proper ports build.</p>

<p>The new Qt version uses a new build system, which is one of the things that really slowed us down from a packaging perspective. Some modules have been reshuffled in the process. Some applications depending on Qt internal-private headers have been fixed along the way. The Telegram desktop client continues to be a pain in the butt that way.</p>

<p>Following on from Qt 5.9 there has been some work in getting ready for Clang 6 support; in general the KDE and Qt stack is clean and modern C++, so its more infrastructural tweaks than fixing code. Outside of our silo, I still see lots of wonky C++ code being fixed and plenty of confusion between pointers and integers and strings and chars and .. ugh. Speaking of ugh, Im still planning to clean up Qt4 on ARM aarch64 for FreeBSD; this boils down to stealing suitable qatomic implementations from Arch Linux.</p>

<p>For regular users of Qt applications on FreeBSD, there should be few to no changes required outside the regular upgrade cycle. For KDE Plasma users, note that development of the ports has changed branches; as we get closer to actually landing modern KDE bits, things have been renamed and reshuffled and mulled over so often that the old plasma5 branch wasnt really right anymore. The kde5-import branch is where its at nowadays, and the instructions are the same: the x11/kde5 metaport will give you all the KDE Frameworks 5, KDE Plasma Desktop and modern KDE Applications you need.</p>
</blockquote>

<hr>

<h3><a href="https://dan.langille.org/2018/01/13/adding-ipv6-to-an-nginx-website-on-freebsd-freshports/" target="_blank" rel="nofollow noopener">Adding IPv6 to an Nginx website on FreeBSD / FreshPorts</a></h3>

<ul>
<li><p>FreshPorts recently moved to an IPv6-capable server but until today, that capability has not been utilized.</p></li>
<li><p>There were a number of things I had to configure, but this will not necessarily be an exhaustive list for you to follow. Some steps might be missing, and it might not apply to your situation.</p></li>
</ul>

<blockquote>
<p>All of this took about 3 hours.</p>
</blockquote>

<ul>
<li><p>We are using:</p>

<ul>
<li>FreeBSD 11.1</li>
<li>Bind 9.9.11</li>
<li>nginx 1.12.2</li>
</ul></li>
<li><p>Fallout</p></li>
</ul>

<blockquote>
<p>I expect some monitoring fallout from this change. I suspect some of my monitoring assumes IP4 and now that IPv6 is available, I need to monitor both IP addresses.</p>
</blockquote>

<hr>

<h3><a href="https://www.trueos.org/blog/zfs-trueos-love-openzfs/" target="_blank" rel="nofollow noopener">ZFS on TrueOS: Why We Love OpenZFS</a></h3>

<blockquote>
<p>TrueOS was the first desktop operating system to fully implement the OpenZFS (Zettabyte File System or ZFS for short) enterprise file system in a stable production environment. To fully understand why we love ZFS, we will look back to the early days of TrueOS (formerly PC-BSD). The development team had been using the UFS file system in TrueOS because of its solid track record with FreeBSD-based computer systems and its ability to check file consistency with the built-in check utility fsck.</p>

<p>However, as computing demands increased, problems began to surface. Slow fsck file verification on large file systems, slow replication speeds, and inconsistency in data integrity while using UFS logging / journaling began to hinder users. It quickly became apparent that TrueOS users would need a file system that scales with evolving enterprise storage needs, offers the best data protection, and works just as well on a hobbyist system or desktop computer.</p>

<p>Kris Moore, the founder of the TrueOS project, first heard about OpenZFS in 2007 from chatter on the FreeBSD mailing lists. In 2008, the TrueOS development team was thrilled to learn that the FreeBSD Project had ported ZFS. At the time, ZFS was still unproven as a graphical desktop solution, but Kris saw a perfect opportunity to offer ZFS as a cutting-edge file system option in the TrueOS installer, allowing the TrueOS project to act as an indicator of how OpenZFS would fair in real-world production use.</p>

<p>The team was blown away by the reception and quality of OpenZFS on FreeBSD-based systems. By its nature, ZFS is a copy-on-write (CoW) file system that wont move a block of data until it both writes the data and verifies its integrity. This is very different from most other file systems in use today. ZFS is able to assure that data stays consistent between writes by automatically comparing write checksums, which mitigates bit rot. ZFS also comes with native RaidZ functionality that allows for enterprise data management and redundancy without the need for expensive traditional RAID cards. ZFS snapshots allow for system configuration backups in a split-second. You read that right. TrueOS can backup or restore snapshots in less than a second using the ZFS file system.</p>

<p>Given these advantages, the TrueOS team decided to use ZFS as its exclusive file system starting in 2013, and we havent looked back since. ZFS offers TrueOS users the stable workstation experience they want, while simultaneously scaling to meet the increasing demands of the enterprise storage market. TrueOS users are frequently commenting on how easy it is to use ZFS snapshots with our built-in snapshot utility. This allows users the freedom to experiment with their system knowing they can restore it in seconds if anything goes wrong. If you havent had a chance to try ZFS with TrueOS, browse to our download page and make sure to grab a copy of TrueOS. Youll be blown away by the ease of use, data protection functionality, and incredible flexibility of RaidZ.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blather.michaelwlucas.com/archives/3099" target="_blank" rel="nofollow noopener">Source Code Podcast Interview with Michael W Lucas</a></li>
<li><a href="https://w3techs.com/blog/entry/web_technologies_of_the_year_2017" target="_blank" rel="nofollow noopener">Operating System of the Year 2017: NetBSD Third place</a></li>
<li><a href="https://opnsense.org/opnsense-18-1-rc1-released/" target="_blank" rel="nofollow noopener">OPNsense 18.1-RC1 released</a></li>
<li><a href="https://balu-wiki.readthedocs.io/en/latest/security/openbsd.html" target="_blank" rel="nofollow noopener">Personal OpenBSD Wiki Notes</a></li>
<li><a href="https://guide.freecodecamp.org/bsd-os/" target="_blank" rel="nofollow noopener">BSD section can use some contribution</a></li>
<li><a href="https://github.com/dspinellis/unix-v3man" target="_blank" rel="nofollow noopener">The Third Research Edition Unix Programmer's Manual (now available in PDF)</a></li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Alex - <a href="http://dpaste.com/3DSV7BC#wrap" target="_blank" rel="nofollow noopener">my first freebsd bug</a></li>
<li>John - <a href="http://dpaste.com/2QFR4MT#wrap" target="_blank" rel="nofollow noopener">Suggested Speakers</a> </li>
<li>Todd - <a href="http://dpaste.com/2FQ450Q#wrap" target="_blank" rel="nofollow noopener">Two questions</a></li>
<li>Matthew - <a href="http://dpaste.com/3KA29E0#wrap" target="_blank" rel="nofollow noopener">CentOS to FreeBSD</a></li>
<li>Brian - <a href="http://dpaste.com/24DYF1J#wrap" target="_blank" rel="nofollow noopener">Brian - openbsd 6.2 and enlightenment .17</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We cover an interview about Unix Architecture Evolution, another vBSDcon trip report, how to teach an old Unix about backspace, new NUMA support coming to FreeBSD, and stack pointer checking in OpenBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://fosdem.org/2018/interviews/diomidis-spinellis/" target="_blank" rel="nofollow noopener">Unix Architecture Evolution from the 1970 PDP-7 to the 2017 FreeBSD</a></h3>

<ul>
<li>Q: Could you briefly introduce yourself?</li>
</ul>

<blockquote>
<p>Im a professor of software engineering, a programmer at heart, and a technology author. Currently Im also the editor in chief of the IEEE Software magazine. I recently published the book Effective Debugging, where I detail 66 ways to debug software and systems.</p>
</blockquote>

<ul>
<li>Q: What will your talk be about, exactly?</li>
</ul>

<blockquote>
<p>I will describe how the architecture of the Unix operating system evolved over the past half century, starting from an unnamed system written in PDP-7 assembly language and ending with a modern FreeBSD system. My talk is based, first, on a GitHub repository where I tried to record the systems history from 1970 until today and, second, on the evolution of documented facilities (user commands, system calls, library functions) across revisions. I will thus present the early systems defining architectural features (layering, system calls, devices as files, an interpreter, and process management) and the important ones that followed in subsequent releases: the tree directory structure, user contributed code, I/O redirection, the shell as a user program, groups, pipes, scripting, and little languages.</p>
</blockquote>

<ul>
<li>Q: Why this topic?</li>
</ul>

<blockquote>
<p>Unix stands out as a major engineering breakthrough due to its exemplary design, its numerous technical contributions, its impact, its development model, and its widespread use. Furthermore, the design of the Unix programming environment has been characterized as one offering unusual simplicity, power, and elegance. Consequently, there are many lessons that we can learn by studying the evolution of the Unix architecture, which we can apply to the design of new systems. I often see modern systems that suffer from a bloat of architectural features and a lack of clear form on which functionality can be built. I believe that many of the modern Unix architecture defining features are excellent examples of what we should strive toward as system architects.</p>
</blockquote>

<ul>
<li>Q: What do you hope to accomplish by giving this talk? What do you expect?</li>
</ul>

<blockquote>
<p>Id like FOSDEM attendees to leave the talk with their mind full with architectural features of timeless quality. I want them to realize that architectural elegance isnt derived by piling design patterns and does not need to be expensive in terms of resources. Rather, beautiful architecture can be achieved on an extremely modest scale. Furthermore, I want attendees to appreciate the importance of adopting flexible conventions rather than rigid enforcement mechanisms. Finally, I want to demonstrate through examples that the open source culture was part of Unix from its earliest days.</p>
</blockquote>

<ul>
<li>Q: What are the most significant milestones in the development of Unix?</li>
</ul>

<blockquote>
<p>The architectural development of Unix follows a path of continuous evolution, albeit at a slowing pace, so I dont see here the most important milestones. I would however define as significant milestones two key changes in the way Unix was developed. The first occurred in the late 1970s when significant activity shifted from a closely-knit team of researchers at the AT&amp;T Bell Labs to the Computer Science Research Group in the University of California at Berkeley. This opened the system to academic contributions and growth through competitive research funding. The second took place in the late 1980s and the 1990s when Berkeley open-sourced the the code it had developed (by that time a large percentage of the system) and enthusiasts built on it to create complete open source operating system distributions: 386BSD, and then FreeBSD, NetBSD, OpenBSD, and others.</p>
</blockquote>

<ul>
<li>Q: In which areas has the development of Unix stalled?</li>
</ul>

<blockquote>
<p>The data I will show demonstrate that there were in the past some long periods where the number of C library functions and system calls remained mostly stable. Nowadays there is significant growth in the number of all documented facilities with the exception of file formats. Im looking forward to a discussion regarding the meaning of these growth patterns in the Q&amp;A session after the talk.</p>
</blockquote>

<ul>
<li>Q: What are the core features that still link the 1970 PDP-7 system to the latest FreeBSD 11.1 release, almost half a century apart?</li>
</ul>

<blockquote>
<p>Over the past half-century the Unix system has grown by four orders of magnitude from a few thousand lines of code to many millions. Nevertheless, looking at a 1970s architecture diagram and a current one reveals that the initial architectural blocks are still with us today. Furthermore, most system calls, user programs, and C library functions of that era have survived until today with essentially similar functionality. Ive even found in modern FreeBSD some lines of code that have survived unchanged for 40 years.</p>
</blockquote>

<ul>
<li>Q: Can we still add innovative changes to operating systems like FreeBSD without breaking the Unix philosophy? Will there be a moment where FreeBSD isnt recognizable anymore as a descendant of the 1970 PDP-7 system?</li>
</ul>

<blockquote>
<p>Theres a saying that form liberates. So having available a time-tested form for developing operating system functionality allows you to innovate in areas that matter rather than reinventing the wheel.</p>

<p>Such concepts include having commands act as a filter, providing manual pages with a consistent structure, supplying build information in the form of a Makefile, installing files in a well-defined directory hierarchy, implementing filesystems with an standardized object-oriented interface, and packaging reusable functions as a library. Within this framework theres ample space for both incremental additions (think of jq, the JSON query command) and radical innovations (consider the Solaris-derived ZFS and dtrace functionality). For this reason I think that BSD and Linux systems will always be recognizable as direct or intellectual descendants of the 1970s Research Unix editions.</p>
</blockquote>

<ul>
<li>Q: Have you enjoyed previous FOSDEM editions?</li>
</ul>

<blockquote>
<p>Immensely! As an academic I need to attend many scientific conferences and meetings in order to present research results and interact with colleagues. This means too much time spent traveling and away from home, and a limited number of conferences Im in the end able to attend. Nevertheless, attending FOSDEM is an easy decision due to the world-changing nature of its theme, the breadth of the topics presented, the participants enthusiasm and energy, as well as the exemplary, very efficient conference organization.</p>
</blockquote>

<hr>

<h3><a href="https://www.weaponizedawesome.com/blog/?cat=53" target="_blank" rel="nofollow noopener">Another vBSDCon trip report we just found</a></h3>

<ul>
<li>We just got tipped about another trip report from vBSDCon, this time from one of the first time speakers: W. Dean Freeman</li>
</ul>

<blockquote>
<p>Recently I had the honor of co-presenting on the internals of FreeBSDs Kernel RNG with John-Mark Gurney at the 3rd biennial vBSDCon, hosted in Reston, VA hosted by Verisign.<br>
Ive been in and out of the FreeBSD community for about 20 years. As Ive mentioned on here before, my first Unix encounter was FreeBSD 2.2.8 when I was in the 7th or 8th grade. However, for all that time Ive never managed to get out to any of the cons. Ive been to one or two BUG meetings and Ive met some folks from IRC before, but nothing like this.</p>
</blockquote>

<ul>
<li>A BSD conference is a very different experience than anything else out there. You have to try it, it is the only way to truly understand it.</li>
</ul>

<blockquote>
<p>Id also not had to do a stand-up presentation really since college before this. So, my first BSD con and my first time presenting rolled into one made for an interesting experience.</p>
</blockquote>

<ul>
<li>See, he didnt say terrifying. It went very well. You should totally submit a talk for the next conference, even if it is your first.</li>
</ul>

<blockquote>
<p>That said, it was amazing and invigorating experience. I got to meet a few big names in the FreeBSD community, discuss projects, ideas for FreeBSD, etc. I did seem to spend an unusual amount of time talking about FIPS and Common Criteria with folks, but to me thats a good sign and indicative that there is interest in working to close gaps between FreeBSD and the current requirements so that we can start getting FreeBSD and more BSD-based products into the government and start whittling away the domination of Linux (especially since Oracle has cut Solaris, SPARC and the ZFS storage appliance business units).</p>
</blockquote>

<ul>
<li>There is nothing that can match the high bandwidth interchange of ideas in person. The internet has made all kinds of communication possible, and we use it all the time, but every once in a while, getting together in person is hugely valuable.</li>
<li>Dean then went on to list some of the talks he found most valuable, including DTrace, Capsicum, bhyve, *BSD security tools, and Paul Vixies talk about gets()</li>
</ul>

<blockquote>
<p>I think the talk that really had the biggest impact on me, however, was Kyle Kneisls talk on BSD community dynamics. One of the key points he asked was whether the things that drew us to the BSD community in the first place would be able to happen today. Obviously, Im not a 12 or 13 year old kid anymore, but it really got me thinking. That, combined with getting face time with people Id previously only known as screen names has recently drawn me back into participating in IRC and rejoining mailing lists (wdf on freenode. be on the lookout!)</p>
</blockquote>

<ul>
<li>Then Dean covered some thoughts on his own talk:</li>
</ul>

<blockquote>
<p>JMG and my talk seems to have been well received, with people paying lots of attention. I dont know what a typical number of questions is for one of these things, but on day one there werent that many questions.  We got about 5 during our question time and spent most of the rest of the day fielding questions from interested attendees. Getting a great talk! from GNN after coming down from the stage was probably one of the major highlights for me.</p>
</blockquote>

<ul>
<li>I remember my first solo talk, and GNN asking the right question in the middle to get me to explain a part of it I had missed. It was very helpful.</li>
</ul>

<blockquote>
<p>I think key to the interest in our presentation was that JMG did a good job framing a very complicated topics importance in terms everyone could understand.  It also helped that we got to drop some serious truth bombs.</p>
</blockquote>

<ul>
<li>Final Thoughts:</li>
</ul>

<blockquote>
<p>I met a lot of folks in person for the first time, and met some people Id never known online before. It was a great community and Im glad I got a chance to expand my network.<br>
Verisign were excellent hosts and they took good care of both speakers (covering airfare, rooms, etc.) and also conference attendees at large. The dinners that they hosted were quite good as well.<br>
Im definitely interested in attending vBSDCon again and now that Ive had a taste of meeting IRL with the community on scale of more than a handful, I have every intention of finally making it to BSDCan next year (Id said it in 2017, but then moved to Texas for a new job and it wasnt going to be practical). This year for sure, though!</p>

<hr>
</blockquote>

<h3><a href="https://virtuallyfun.com/2018/01/17/teaching_an_almost_40-year_old_unix_about_backspace/" target="_blank" rel="nofollow noopener">Teaching an Almost 40-year Old UNIX about Backspace</a></h3>

<ul>
<li>Introduction</li>
</ul>

<blockquote>
<p>I have been messing with the UNIX® operating system, Seventh Edition (commonly known as UNIX V7 or just V7) for a while now. V7 dates from 1979, so its about 40 years old at this point. The last post was on V7/x86, but since Ive run into various issues with it, I moved on to a proper installation of V7 on SIMH. The Internet has some really good resources on installing V7 in SIMH. Thus, I set out on my own journey on installing and using V7 a while ago, but that was remarkably uneventful.</p>

<p>One convenience that I have been dearly missing since the switch from V7/x86 is a functioning backspace key. There seem to be multiple different definitions of backspace:</p>

<p>BS, as in ASCII character 8 (010, 0x08, also represented as <sup>H),</sup> and<br>
DEL, as in ASCII character 127 (0177, 0x7F, also represented as <sup>?).</sup><br>
V7 does not accept either for input by default. Instead, # is used as the erase character and @ is used as the kill character. These defaults have been there since UNIX V1. In fact, they have been there since Multics, where they got chosen seemingly arbitrarily. The erase character erases the character before it. The kill character kills (deletes) the whole line. For example, ba##gooo#d would be interpreted as good and bad line@good line would be interpreted as good line.</p>

<p>There is some debate on whether BS or DEL is the correct character for terminals to send when the user presses the backspace key. However, most programs have settled on DEL today. tmux forces DEL, even if the terminal emulator sends BS, so simply changing my terminal to send BS was not an option. The change from the defaults outlined here to todays modern-day defaults occurred between 4.1BSD and 4.2BSD. enf on Hacker News has written a nice overview of the various conventions</p>
</blockquote>

<ul>
<li>Getting the Diff</li>
</ul>

<blockquote>
<p>For future generations as well as myself when I inevitably majorly break this installation of V7, I wanted to make a diff. However, my V7 is installed in SIMH. I am not a very intelligent man, I didnt keep backup copies of the files Id changed. Getting data out of this emulated machine is an exercise in frustration.</p>

<p>In the end, I printed everything on screen using cat(1) and copied that out. Then I performed a manual diff against the original source code tree because tabs got converted to spaces in the process. Then I applied the changes to clean copies that did have the tabs. And finally, I actually invoked diff(1).</p>
</blockquote>

<ul>
<li>Closing Thoughts</li>
</ul>

<blockquote>
<p>Figuring all this out took me a few days. Penetrating how the system is put together was surprisingly fairly hard at first, but then the difficulty curve eased up. It was an interesting exercise in some kind of reverse engineering and I definitely learned something about tty handling. I was, however, not pleased with using ed(1), even if I do know the basics. vi(1) is a blessing that I did not appreciate enough until recently. Had I also been unable to access recursive grep(1) on my host and scroll through the code, I wouldve probably given up. Writing UNIX under those kinds of editing conditions is an amazing feat. I have nothing but the greatest respect for software developers of those days.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-current/2018-January/068145.html" target="_blank" rel="nofollow noopener">New NUMA support coming to FreeBSD CURRENT</a></h3>

<blockquote>
<p>Hello folks,</p>

<p>I am working on merging improved NUMA support with policy implemented by cpuset(2) over the next week.  This work has been supported by Dell/EMC's Isilon product division and Netflix.  You can see some discussion of these changes here:</p>

<p><a href="https://reviews.freebsd.org/D13403" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D13403</a><br>
<a href="https://reviews.freebsd.org/D13289" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D13289</a><br>
<a href="https://reviews.freebsd.org/D13545" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D13545</a></p>

<p>The work has been done in user/jeff/numa if you want to look at svn history or experiment with the branch.  It has been tested by Peter Holm on i386 and amd64 and it has been verified to work on arm at various points.</p>

<p>We are working towards compatibility with libnuma and linux mbind.  These commits will bring in improved support for NUMA in the kernel.  There are new domain specific allocation functions available to kernel for UMA, malloc, kmem_, and vm_page*.  busdmamem consumers will automatically be placed in the correct domain, bringing automatic improvements to some <br>
device performance.</p>

<p>cpuset will be able to constrains processes, groups of processes, jails, etc. to subsets of the system memory domains, just as it can with sets of cpus.  It can set default policy for any of the above.  Threads can use cpusets to set policy that specifies a subset of their visible domains.</p>

<p>Available policies are first-touch (local in linux terms), round-robin (similar to linux interleave), and preferred.  For now, the default is round-robin.  You can achieve a fixed domain policy by using round-robin with a bitmask of a single domain.  As the scheduler and VM become more <br>
sophisticated we may switch the default to first-touch as linux does.</p>

<p>Currently these features are enabled with VM_NUMA_ALLOC and MAXMEMDOM.  It will eventually be NUMA/MAXMEMDOM to match SMP/MAXCPU.  The current NUMA syscalls and VM_NUMA_ALLOC code was 'experimental' and will be deprecated. numactl will continue to be supported although cpuset should be preferred going forward as it supports the full feature set of the new API.</p>

<p>Thank you for your patience as I deal with the inevitable fallout of such sweeping changes.  If you do have bugs, please file them in bugzilla, or reach out to me directly.  I don't always have time to catch up on all of my mailing list mail and regretfully things slip through the cracks when <br>
they are not addressed directly to me.</p>

<p>Thanks,<br>
Jeff</p>

<hr>
</blockquote>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=151572838911297&amp;w=2" target="_blank" rel="nofollow noopener">Stack pointer checking  OpenBSD</a></h3>

<blockquote>
<p>Stefan (stefan@) and I have been working for a few months on this diff, with help from a few others.</p>

<p>At every trap and system call, it checks if the stack-pointer is on a page that is marked MAP_STACK.  execve() is changed to create such mappings for the process stack.  Also, libpthread is taught the new MAP_STACK flag to use with mmap().</p>

<p>There is no corresponding system call which can set MAP_FLAG on an existing page, you can only set the flag by mapping new memory into place.  That is a piece of the security model.</p>

<p>The purpose of this change is to twart stack pivots, which apparently have gained some popularity in JIT ROP attacks.  It makes it difficult to place the ROP stack in regular data memory, and then perform a system call from it.  Workarounds are cumbersome, increasing the need for far more gadgetry.  But also the trap case -- if any memory experiences a demand page fault, the same check will occur and potentially also kill the process.</p>

<p>We have experimented a little with performing this check during device interrupts, but there are some locking concerns and performance may then become a concern.  It'll be best to gain experience from handle of syncronous trap cases first.</p>

<p>chrome and other applications I use run fine!</p>

<p>I'm asking for some feedback to discover what ports this breaks, we'd like to know.  Those would be ports which try to (unconventionally) create their stacks in malloc()'d memory or inside another Data structure.  Most of them are probably easily fixed ...</p>
</blockquote>

<hr>

<h3><a href="https://euroquis.nl/bobulate/?p=1768" target="_blank" rel="nofollow noopener">Qt 5.9 on FreeBSD</a></h3>

<blockquote>
<p>Tobias and Raphael have spent the past month or so hammering on the Qt 5.9 branch, which has (finally!) landed in the official FreeBSD ports tree. This brings FreeBSD back up-to-date with current Qt releases and, more importantly, up-to-date with the Qt release KDE software is increasingly expecting. With Qt 5.9, the Elisa music player works, for instance (where it has run-time errors with Qt 5.7, even if it compiles). The KDE-FreeBSD CI system has had Qt 5.9 for some time already, but that was hand-compiled and jimmied into the system, rather than being a proper ports build.</p>

<p>The new Qt version uses a new build system, which is one of the things that really slowed us down from a packaging perspective. Some modules have been reshuffled in the process. Some applications depending on Qt internal-private headers have been fixed along the way. The Telegram desktop client continues to be a pain in the butt that way.</p>

<p>Following on from Qt 5.9 there has been some work in getting ready for Clang 6 support; in general the KDE and Qt stack is clean and modern C++, so its more infrastructural tweaks than fixing code. Outside of our silo, I still see lots of wonky C++ code being fixed and plenty of confusion between pointers and integers and strings and chars and .. ugh. Speaking of ugh, Im still planning to clean up Qt4 on ARM aarch64 for FreeBSD; this boils down to stealing suitable qatomic implementations from Arch Linux.</p>

<p>For regular users of Qt applications on FreeBSD, there should be few to no changes required outside the regular upgrade cycle. For KDE Plasma users, note that development of the ports has changed branches; as we get closer to actually landing modern KDE bits, things have been renamed and reshuffled and mulled over so often that the old plasma5 branch wasnt really right anymore. The kde5-import branch is where its at nowadays, and the instructions are the same: the x11/kde5 metaport will give you all the KDE Frameworks 5, KDE Plasma Desktop and modern KDE Applications you need.</p>
</blockquote>

<hr>

<h3><a href="https://dan.langille.org/2018/01/13/adding-ipv6-to-an-nginx-website-on-freebsd-freshports/" target="_blank" rel="nofollow noopener">Adding IPv6 to an Nginx website on FreeBSD / FreshPorts</a></h3>

<ul>
<li><p>FreshPorts recently moved to an IPv6-capable server but until today, that capability has not been utilized.</p></li>
<li><p>There were a number of things I had to configure, but this will not necessarily be an exhaustive list for you to follow. Some steps might be missing, and it might not apply to your situation.</p></li>
</ul>

<blockquote>
<p>All of this took about 3 hours.</p>
</blockquote>

<ul>
<li><p>We are using:</p>

<ul>
<li>FreeBSD 11.1</li>
<li>Bind 9.9.11</li>
<li>nginx 1.12.2</li>
</ul></li>
<li><p>Fallout</p></li>
</ul>

<blockquote>
<p>I expect some monitoring fallout from this change. I suspect some of my monitoring assumes IP4 and now that IPv6 is available, I need to monitor both IP addresses.</p>
</blockquote>

<hr>

<h3><a href="https://www.trueos.org/blog/zfs-trueos-love-openzfs/" target="_blank" rel="nofollow noopener">ZFS on TrueOS: Why We Love OpenZFS</a></h3>

<blockquote>
<p>TrueOS was the first desktop operating system to fully implement the OpenZFS (Zettabyte File System or ZFS for short) enterprise file system in a stable production environment. To fully understand why we love ZFS, we will look back to the early days of TrueOS (formerly PC-BSD). The development team had been using the UFS file system in TrueOS because of its solid track record with FreeBSD-based computer systems and its ability to check file consistency with the built-in check utility fsck.</p>

<p>However, as computing demands increased, problems began to surface. Slow fsck file verification on large file systems, slow replication speeds, and inconsistency in data integrity while using UFS logging / journaling began to hinder users. It quickly became apparent that TrueOS users would need a file system that scales with evolving enterprise storage needs, offers the best data protection, and works just as well on a hobbyist system or desktop computer.</p>

<p>Kris Moore, the founder of the TrueOS project, first heard about OpenZFS in 2007 from chatter on the FreeBSD mailing lists. In 2008, the TrueOS development team was thrilled to learn that the FreeBSD Project had ported ZFS. At the time, ZFS was still unproven as a graphical desktop solution, but Kris saw a perfect opportunity to offer ZFS as a cutting-edge file system option in the TrueOS installer, allowing the TrueOS project to act as an indicator of how OpenZFS would fair in real-world production use.</p>

<p>The team was blown away by the reception and quality of OpenZFS on FreeBSD-based systems. By its nature, ZFS is a copy-on-write (CoW) file system that wont move a block of data until it both writes the data and verifies its integrity. This is very different from most other file systems in use today. ZFS is able to assure that data stays consistent between writes by automatically comparing write checksums, which mitigates bit rot. ZFS also comes with native RaidZ functionality that allows for enterprise data management and redundancy without the need for expensive traditional RAID cards. ZFS snapshots allow for system configuration backups in a split-second. You read that right. TrueOS can backup or restore snapshots in less than a second using the ZFS file system.</p>

<p>Given these advantages, the TrueOS team decided to use ZFS as its exclusive file system starting in 2013, and we havent looked back since. ZFS offers TrueOS users the stable workstation experience they want, while simultaneously scaling to meet the increasing demands of the enterprise storage market. TrueOS users are frequently commenting on how easy it is to use ZFS snapshots with our built-in snapshot utility. This allows users the freedom to experiment with their system knowing they can restore it in seconds if anything goes wrong. If you havent had a chance to try ZFS with TrueOS, browse to our download page and make sure to grab a copy of TrueOS. Youll be blown away by the ease of use, data protection functionality, and incredible flexibility of RaidZ.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blather.michaelwlucas.com/archives/3099" target="_blank" rel="nofollow noopener">Source Code Podcast Interview with Michael W Lucas</a></li>
<li><a href="https://w3techs.com/blog/entry/web_technologies_of_the_year_2017" target="_blank" rel="nofollow noopener">Operating System of the Year 2017: NetBSD Third place</a></li>
<li><a href="https://opnsense.org/opnsense-18-1-rc1-released/" target="_blank" rel="nofollow noopener">OPNsense 18.1-RC1 released</a></li>
<li><a href="https://balu-wiki.readthedocs.io/en/latest/security/openbsd.html" target="_blank" rel="nofollow noopener">Personal OpenBSD Wiki Notes</a></li>
<li><a href="https://guide.freecodecamp.org/bsd-os/" target="_blank" rel="nofollow noopener">BSD section can use some contribution</a></li>
<li><a href="https://github.com/dspinellis/unix-v3man" target="_blank" rel="nofollow noopener">The Third Research Edition Unix Programmer's Manual (now available in PDF)</a></li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Alex - <a href="http://dpaste.com/3DSV7BC#wrap" target="_blank" rel="nofollow noopener">my first freebsd bug</a></li>
<li>John - <a href="http://dpaste.com/2QFR4MT#wrap" target="_blank" rel="nofollow noopener">Suggested Speakers</a> </li>
<li>Todd - <a href="http://dpaste.com/2FQ450Q#wrap" target="_blank" rel="nofollow noopener">Two questions</a></li>
<li>Matthew - <a href="http://dpaste.com/3KA29E0#wrap" target="_blank" rel="nofollow noopener">CentOS to FreeBSD</a></li>
<li>Brian - <a href="http://dpaste.com/24DYF1J#wrap" target="_blank" rel="nofollow noopener">Brian - openbsd 6.2 and enlightenment .17</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>230: Your questions, Part III</title>
  <link>https://www.bsdnow.tv/230</link>
  <guid isPermaLink="false">cb9ee437-7c5c-4e4c-99b2-4270ffbfbae2</guid>
  <pubDate>Wed, 24 Jan 2018 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/cb9ee437-7c5c-4e4c-99b2-4270ffbfbae2.mp3" length="84236980" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We provide you with updates to Spectre and Meltdown from various BSD projects, a review of TrueOS from Linux, how to set up FreeBSD on ThinkPad x240, and a whole bunch of beastie bits.</itunes:subtitle>
  <itunes:duration>1:56:59</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>&lt;p&gt;We provide you with updates to Spectre and Meltdown from various BSD projects, a review of TrueOS from Linux, how to set up FreeBSD on ThinkPad x240, and a whole bunch of beastie bits.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=328083" target="_blank" rel="nofollow noopener"&gt;KPTI patch lands in FreeBSD -current&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;After a heroic effort by Konstantin Belousov &lt;a href="mailto:kib@FreeBSD.org" target="_blank" rel="nofollow noopener"&gt;kib@FreeBSD.org&lt;/a&gt;, the first meltdown patch has landed in FreeBSD&lt;/li&gt;
&lt;li&gt;This creates separate page tables for the Kernel and userland, and switches between them when executions enters the kernel, and when it returns to userland&lt;/li&gt;
&lt;li&gt;It is currently off by default, but you are encouraged to test it, so it can be merged back to the release branches. Set vm.pmap.pti=1 in /boot/loader.conf&lt;/li&gt;
&lt;li&gt;The existing implementation of PCID (process-context identifiers), is not compatible with the new PTI code, and is disabled when PTI is enabled, decreasing performance. A future patch will use PCID in a way that is compatible with PTI.&lt;/li&gt;
&lt;li&gt;PCID allows the OS to annotate memory mappings to specific processes, so that they can be flushed selectively, and so that they are only used when in the context of that application.&lt;/li&gt;
&lt;li&gt;Once the developers are relatively confident in the correctness of the code that has landed in -current, it will be ported back to FreeBSD 10 and 11, and released as a security advisory.&lt;/li&gt;
&lt;li&gt;Apparently porting back to FreeBSD 11 only has some relatively simple merge conflicts, but 10 will be more work.&lt;/li&gt;
&lt;li&gt;Former FreeBSD Security Officer Dag-Erling Smørgrav has created a &lt;a href="https://github.com/dag-erling/meltdown" target="_blank" rel="nofollow noopener"&gt;meltdown testing and PoC tool&lt;/a&gt; that you can use to check your system. It is not finished yet, and doesn’t seem to work with newer processors (haswell and newer).&lt;/li&gt;
&lt;li&gt;The first partial &lt;a href="https://svnweb.freebsd.org/changeset/base/328011" target="_blank" rel="nofollow noopener"&gt;mitigation for Spectre variant 2&lt;/a&gt; for bhyve on AMD64 has also been committed&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/action/edit/SpeculativeExecutionVulnerabilities" target="_blank" rel="nofollow noopener"&gt;The latest information is always available on the FreeBSD Wiki&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.daemonology.net/blog/2018-01-17-some-thoughts-on-spectre-and-meltdown.html" target="_blank" rel="nofollow noopener"&gt;Some thoughts on Spectre and Meltdown&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Colin Percival breaks down how these vulnerabilities work, with same nice analogies&lt;/li&gt;
&lt;li&gt;What is a side channel:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I want to know when my girlfriend's passport expires, but she won't show me her passport (she complains that it has a horrible photo) and refuses to tell me the expiry date. I tell her that I'm going to take her to Europe on vacation in August and watch what happens: If she runs out to renew her passport, I know that it will expire before August; while if she doesn't get her passport renewed, I know that it will remain valid beyond that date. Her desire to ensure that her passport would be valid inadvertently revealed to me some information: Whether its expiry date was before or after August.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Spectre Variant 1: &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I tell my girlfriend that I'm going to take her on vacation in June, but I don't tell her where yet; however, she knows that it will either be somewhere within Canada (for which she doesn't need a passport, since we live in Vancouver) or somewhere in Europe. She knows that it takes time to get a passport renewed, so she checks her passport and (if it was about to expire) gets it renewed just in case I later reveal that I'm going to take her to Europe. If I tell her later that I'm only taking her to Ottawa — well, she didn't need to renew her passport after all, but in the meantime her behaviour has already revealed to me whether her passport was about to expire. This is what Google refers to "variant 1" of the Spectre vulnerability: Even though she didn't need her passport, she made sure it was still valid just in case she was going to need it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Spectre Variant 2:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I spend a week talking about how Oxford is a wonderful place to visit and I really enjoyed the years I spent there, and then I tell her that I want to take her on vacation. She very reasonably assumes that — since I've been talking about Oxford so much — I must be planning on taking her to England, and runs off to check her passport and potentially renew it... but in fact I tricked her and I'm only planning on taking her to Ottawa.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Meltdown:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I tell my girlfriend that I want to take her to the Korean peninsula. She knows that her passport is valid for long enough; but she immediately runs off to check that her North Korean visa hasn't expired. Why does she have a North Korean visa, you ask? Good question. She doesn't — but she runs off to check its expiry date anyway! Because she doesn't have a North Korean visa, she (somehow) checks the expiry date on someone else's North Korean visa, and then (if it is about to expire) runs out to renew it — and so by telling her that I want to take her to Korea for a vacation I find out something she couldn't have told me even if she wanted to.&lt;br&gt;
Final thoughts on vulnerability disclosure&lt;br&gt;
The way these issues were handled was a mess; frankly, I expected better of Google, I expected better of Intel, and I expected better of the Linux community. When I found that Hyper-Threading was easily exploitable, I spent five months notifying the security community and preparing everyone for my announcement of the vulnerability; but when the embargo ended at midnight UTC and FreeBSD published its advisory a few minutes later, the broader world was taken entirely by surprise. Nobody knew what was coming aside from the people who needed to know; and the people who needed to know had months of warning.&lt;br&gt;
Contrast that with what happened this time around. Google discovered a problem and reported it to Intel, AMD, and ARM on June 1st. Did they then go around contacting all of the operating systems which would need to work on fixes for this? Not even close. FreeBSD was notified the week before Christmas, over six months after the vulnerabilities were discovered. Now, FreeBSD can occasionally respond very quickly to security vulnerabilities, even when they arise at inconvenient times — on November 30th 2009 a vulnerability was reported at 22:12 UTC, and on December 1st I provided a patch at 01:20 UTC, barely over 3 hours later — but that was an extremely simple bug which needed only a few lines of code to fix; the Spectre and Meltdown issues are orders of magnitude more complex.&lt;br&gt;
To make things worse, the Linux community was notified and couldn't keep their mouths shut. Standard practice for multi-vendor advisories like this is that an embargo date is set, and &lt;strong&gt;nobody does anything publicly prior to that date&lt;/strong&gt;. People don't publish advisories; they don't commit patches into their public source code repositories; and they definitely don't engage in arguments on public mailing lists about whether the patches are needed for different CPUs. As a result, despite an embargo date being set for January 9th, by January 4th anyone who cared knew about the issues and there was code being passed around on Twitter for exploiting them.&lt;br&gt;
This is not the first time I've seen people get sloppy with embargoes recently, but it's by far the worst case. As an industry we pride ourselves on the concept of responsible disclosure — ensuring that people are notified in time to prepare fixes before an issue is disclosed publicly — but in this case there was far too much disclosure and nowhere near enough responsibility. We can do better, and I sincerely hope that next time we do.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180115073406" target="_blank" rel="nofollow noopener"&gt;CPU microcode update code for amd64&lt;/a&gt;&lt;/h3&gt;



&lt;ul&gt;
&lt;li&gt;Patrick Wildt (patrick@) recently committed some code that will update the Intel microcode on many Intel CPUs, a diff initially written by Stefan Fritsch (sf@). The microcode of your CPU is basically the firmware that runs on your (Intel) processor, defining its instruction set in terms of so called "microinstructions". The new code depends, of course, on the corresponding firmware package, ported by Patrick which can be installed using a very recent fw_update(1). Of course, this all plays into the recently revealed problems in Intel (and other) CPUs, Meltdown and Spectre.&lt;/li&gt;
&lt;li&gt;Now Theo has explained the workings of the code on openbsd-tech, detailing some of the challenges in updating microcode on CPUs where your OS is already starting to run.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=151588857304763&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;Theo hints at future updates to the intel-firmware package in his mail:&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Patrick and others committed amd64 Intel cpu microcode update code over the last few days.  The approach isn't perfect, but it is good enough for a start.  I want to explain the situation.&lt;br&gt;
When you fw_update, you'll get the firmware files.&lt;br&gt;
Upon a reboot, it will attempt to update the microcode on your cpus.&lt;br&gt;
Maybe there isn't a new microcode.  Maybe your BIOS has a copy of the microcode and installs it before booting OpenBSD.&lt;br&gt;
This firmware installation is done a little late.  Doing it better will require some work in the bootblocks to find the firmware files, but time is a bit short to do that right now.&lt;br&gt;
The branch-target-cache flushing features added in new microcode are not being used yet.  There is more code which has to be written, but again other work is happening first.&lt;br&gt;
Also, Intel is saying their new microcodes sucks and people should wait a little.&lt;br&gt;
"Hi, my name is Intel and I'm an cheating speculator".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Several developers are working on mitigations for these issues, attacking the problem from several angles. Expect to see more updates to a CVS tree near you soon.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://malcont.net/2018/01/dont-like-meltdown-spectre-releated-bugs-handled/" target="_blank" rel="nofollow noopener"&gt;Intel: as a *BSD user, I am fucking pissed!&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I wasn’t going to write anything on the recently found x64 architecture – related bugs. I’m not a kernel developer nor even a programmer and I can’t say that I have a solid understanding of what Meltdown and Spectre attacks are. Also there already is a ton of articles and posts written by people who have no grasp of the subject.&lt;br&gt;
I’m however a malcontent and I find this a good way to express my feelings:&lt;/p&gt;

&lt;p&gt;Intel: as a *BSD user, I am fucking pissed!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Meltdown, Spectre and BSD – the “pissed” part&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Part of my work is UNIX-like systems administration – including BSDs and Linuces. As much as I am happy with Linux changes already made, I am beyond pissed about how the BSDs were handled by Intel – because they were not. FreeBSD Security Team received some heads-up just before Xmas, while OpenBSD, NetBSD and DragonflyBSD teams received no prior warnings.&lt;/p&gt;

&lt;p&gt;Meltdown and Spectre attacks are hard to perform. It is a hard work to mitigate them in the software, as the bugs lay in the CPUs and are not fixable by microcode updates. Developers are trying to mitigate these bugs in a way that will deliver smallest performance losses. A lot of time consuming work is needed to fix CPU vendors’ mistakes. Linux developers had this time. BSD developers did not.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;BSD user base too small?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;BSD user base is small in comparison to Linux. Seems that it’s too small for Intel. PlayStation4 consoles are FreeBSD-based (and use AMD CPUs) but I think it’s safe to say that gaming devices are not the most important systems to be fixed. Netflix serves their content off FreeBSD but the bugs are not remotely exploitable (possibly not including JavaScript, but it’s running someone’s code locally) so there’s probably not much harm to be done here either.&lt;br&gt;
However gamers and Netflix aren’t the only ones who use *BSD systems. I’d say that there is more than a few FreeBSD, NetBSD, OpenBSD and DragonFlyBSD servers on the internet.&lt;/p&gt;

&lt;p&gt;In March 2017, Intel promised “more timely support to FreeBSD”. They knew about flaws in their CPUs in June and decided that a timely manner is the end of December – short before the embargo was to be lifted.&lt;/p&gt;

&lt;p&gt;Intel and Google (probably Intel more): it was your job to pick the correct people to whom the bugs can be disclosed. In my humble opinion you chose poorly by disclosing these issues with ONLY Apple, Microsoft, and the Linux Foundation, of OS vendors. You did much harm to the BSD community.&lt;/p&gt;

&lt;p&gt;Intel: It’s your bugs. And you offered “more support” to the FreeBSD Foundation less than 3 months prior to being informed (my guess is that you knew much earlier) on the flaws in YOUR products. I don’t want to write more here as the wording would be too strong.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Interview - Viewer Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;These days, do you consider yourself more of an programmer or a sysadmin? Which one do you enjoy more?&lt;/li&gt;
&lt;li&gt;Does FreeBSD/BSD enable your business or would another OS suit your needs just as well?&lt;/li&gt;
&lt;li&gt;You’ve hinted that you use FreeBSD as part of your business. Can you elaborate on that and give some technical detail on how it’s used in that environment?&lt;/li&gt;
&lt;li&gt;If you were allowed three wishes for anything at all to be implemented or changed in ZFS, what would they be, and why?

&lt;ul&gt;
&lt;li&gt;Per Dataset throughput and IOPS limiting&lt;/li&gt;
&lt;li&gt;Per-File Cloning and/or zfsmv (move a file from one dataset to another, without copying)&lt;/li&gt;
&lt;li&gt;Cluster support&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Allan, you have previously mentioned that you have worked on FreeBSD on MIPS, what made you choose the Onion Omega over something like the Raspberry Pi?&lt;/li&gt;
&lt;li&gt;What is BSD Now’s association with Jupiter broadcasting, and how did the relationship come to be? Jupiter seems to be associated with several Linux-themed podcasts, and I’m wondering how and why BSD Now joined Jupiter. The two communities (the Linuxes and BSDs) don’t always seem to mix freely -- or do they?&lt;/li&gt;
&lt;li&gt;What kind of keyboard is that? Have you ever tried an ErgoDox? The ErgoDox EZ is made by a Canadian.&lt;/li&gt;
&lt;li&gt;You mentioned when doing one of your talks on UCL for FreeBSD that you had only recently learned C. I am also aware of your history also on contributing to the FreeBSD handbook and to documentation in general. Given you started with C relatively recently, what made you want to learn it, how quickly did you pick it up, and is it your favourite language? It is most inspiring to me, as you are clearly so talented, and of all the languages I have learned (including C++), I still prefer C in my heart of hearts. I'd be really interested to hear your answer, many thanks.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://www.linuxandubuntu.com/home/linuxandubuntu-review-of-trueos-a-unix-based-os" target="_blank" rel="nofollow noopener"&gt;LinuxAndUbuntu Review Of TrueOS A Unix Based OS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Trust me, the name TrueOS takes me back to 1990s when Tru64 UNIX operating system made its presence. TrueOS is PC-BSD’s new unified brand built upon FreeBSD-CURRENT code base. Note that TrueOS is not a Linux distro but is BSD Unix. FreeBSD is known for its cutting-edge features, security, scalability, and ability to work both as a server and desktop operating system.  TrueOS aims at having user-friendliness with the power of FreeBSD OS. Let us start with going into details of different aspects of the TrueOS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;TrueOS History&lt;br&gt;
?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;TrueOS was founded by Kris Moore in 2005 with name PC-BSD.  Initial version focused to make FreeBSD easy to use starting with providing GUI based installer (to relatively complicated FreeBSD installer). In the year 2006, PC-BSD was acquired by iXsystems. Before rebranding as TrueOS in Sept 2016, PC-BSD reached a stage starting considering better than vanilla FreeBSD.  Older PC-BSD version used to support both x86 and x86-64 architecture.&lt;br&gt;
Kris Moore, the developer founder, says about rebranding: “We’ve already been using TrueOS for the server side of PC-BSD, and it made sense to unify the names. PC-BSD doesn’t reflect server or embedded well. TrueOS Desktop/Server/Embedded can be real products, avoids some of the alphabet soup, and gives us a more catchy name.”&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;TrueOS First Impression&lt;br&gt;
?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The startup is little longer; may be due to starting up of many services.  The heavy KDE well suited to PC-BSD.  The C++/Qt5 based Lumina desktop environment is light and fast.  The Lumina offers an easy way to configure menu and panels.  I did not face any problems for continuous use of two weeks on a virtual machine having the minimal configuration: 1 GB RAM, 20 GB hard disk and Intel 3.06 GHz i3 processor. The Lumina desktop is light and fast. The developers of Lumina know what they are doing and have a good idea of what makes a good IDE.  As it happens with any new desktop environment, it needs some time to settle.  Let us hope that they keep to the path they are on with it.&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Conclusion&lt;br&gt;
?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The TrueOS is impressive when consider it as relatively young.  It is a daring step that TrueOS developers took FreeBSD Current rather than FreeBSD Stable code base. Overall it has created its own place from the legacy shadow of PC-BSD.  Starting with easy installation TrueOS is a good combination of software and utilities that make the system ready to use. Go and get a TrueOS ISO to unleash the “bleeding edge” tag of FreeBSD&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://stygix.org/nix/x240-freebsd.php" target="_blank" rel="nofollow noopener"&gt;Thinkpad x240 - FreeBSD Setup&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;What follows is a record of how I set up FreeBSD to be my daily driver OS on the Lenovo Thinkpad X240. Everything seems to work great. Although, the touchpad needs some tweaking. I've tried several configurations, even recompiling Xorg with EVDEV support and all that, to no avail. Eventually I will figure it out. Do not sleep the laptop from the command line. Do it from within Xorg, or it will not wake up. I don't know why. You can do it from a terminal within Xorg, just not from the naked command line without Xorg started. It also will not sleep by closing the lid. I included a sudo config that allows you to run /usr/sbin/zzz without a password, so what I do is I have a key combo assigned within i3wm to run "sudo /usr/sbin/zzz". It works fine this way.&lt;/p&gt;

&lt;p&gt;I go into detail when it comes to setting up Xorg with i3wm. You can skip this if you want, but if you've never used a tiling window manager, it will handle screen real estate very efficiently on a laptop with a 12.5-inch screen and a touchpad.&lt;/p&gt;

&lt;p&gt;First, download the amd64 image for 11.1-RELEASE and flash it to a USB pen drive. For the Unices, use this:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# dd if=FreeBSD-11.1-RELEASE-amd64-memstick.img of=/dev/da0 bs=1M conv=sync&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Obviously, you'll change /dev/da0 to whatever the USB pen drive is assigned. Plug it in, check dmesg.&lt;/p&gt;

&lt;p&gt;Leave it plugged in, restart the laptop. When prompted, tap Enter to halt the boot process, then F12 to select a bootable device. Choose the USB drive.&lt;/p&gt;

&lt;p&gt;I won't go through the actual install process, but it is pretty damn easy so just look at a guide or two and you'll be fine. If you can install Debian, you can install FreeBSD. I will, however, recommend ZFS if you have over 4GB of RAM (my particular variant of the X240 has 8GB of RAM, so yours should have at least 4GB), along with an encrypted disk, and an encrypted SWAP partition. When prompted to add an additional user, and you get to the question where it asks for additional groups, please make sure you add the user to "wheel". The rest should be self-explanatory during the install.&lt;/p&gt;

&lt;p&gt;Now for the good shit. You just booted into a fresh FreeBSD install. Now what? Well, time to fire up vi and open some config files...&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.cnn.com/TECH/computing/9904/08/cdrom.idg/index.html" target="_blank" rel="nofollow noopener"&gt;CNN Article about CDROM.com and FreeBSD, from 1999&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Walnut Creek CDROM sells a lot of CD-ROMs, but it gives away even more data. Specifically, anyone who has Internet access is free to log into wcarchive (ftp.cdrom.com) and start downloading bits.&lt;br&gt;
Even with a good Internet connection, however, you should expect to be at it for a while. At the present time, wcarchive resides on half a terabyte (500 GB) of RAID 5-disk storage. Even if your 56-Kbps modem can deliver seven kilobytes per second, downloading the complete archive would take you 70 million seconds. Even then, some of the files would be more than two years out of date, so a bit of "back and fill" would be needed.&lt;br&gt;
Of course, nobody uses wcarchive that way. Instead, they just drop in when they need the odd file or two. The FTP server is very accommodating; 3,600 simultaneous download sessions is the current limit and an upgrade to 10,000 sessions is in the works.&lt;br&gt;
This translates to about 800 GB per day of downloads. Bob Bruce (Walnut Creek's founder) says he's thinking about issuing a press release when they reach a terabyte a day. But 800 GB isn't all that shabby....&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The hardware&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Because FTP archives don't do a lot of thinking, wcarchive doesn't need a massive cluster of CPUs. In fact, it gets by with a single 200-MHz P6 Pentium Pro and a measly(!) 1 GB of RAM. The I/O support, however, is fairly impressive.&lt;br&gt;
A six-channel Mylex RAID controller (DAC960SXI; Ultra-Wide SCSI-SCSI) is the centerpiece of the I/O subsystem. Two channels link it to the PC ("Personal Computer"!?!), via a dual-channel Adaptec card (AHA-3940AUW; PCI to Ultra-Wide SCSI). An 256-MB internal cache helps it to eliminate recurring disk accesses.&lt;br&gt;
Four nine-drive disk arrays provide the actual storage. The two larger arrays use 18-GB IBM drives; the two smaller arrays use 9-GB Micropolis and Quantum drives. A separate 4-GB Quantum drive is used as the "system disk."&lt;br&gt;
The output side is handled by a single Intel 100Base-T controller (Pro/100B PCI), which feeds into the Internet through a number of shared DS3 (45 Mbps) and OC3 (155 Mbps) circuits.&lt;br&gt;
A detailed description of the system is available as ftp.cdrom.com/archive-info/configuration;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The software&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The system software is rather prosaic: a copy of FreeBSD, supplemented by home-grown FTP mirroring and server code. Because of the massive hardware support, the software "only" needs to keep the I/O going in an efficient and reliable manner.&lt;br&gt;
FreeBSD, the "prosaic" operating system mentioned above, merits a bit more discussion. Like Linux, FreeBSD is open source. Anyone can examine, modify, and/or redistribute the source code. And, like Linux, an active user community helps the authors to find bugs, improve documentation, and generally support the OS.&lt;br&gt;
Unlike Linux, FreeBSD is derived from the Berkeley Unix code that forms the foundation for most commercial Unix variants. When you use the "fast file system" (cylinder groups, long file names, symbolic links, etc.), TCP/IP networking, termcap, or even vi, you are using Berkeley Unix additions.&lt;br&gt;
The version of BSD underlying FreeBSD, however, is "pure" BSD; don't look for the System V modifications you see in Solaris. Instead, think of it as SunOS, brought up to date with Kerberos, modern sendmail, an updated filesystem, and more. Solid, fast, and free!&lt;br&gt;
One of FreeBSD's finest innovations, the Ports Collection, makes FreeBSD a delight for open source application users. The Ports Collection automates the downloading, building, and installation (including de-installation) of 2,300+ open source packages.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The company&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Walnut Creek CDROM has been around for several years now, so you are likely to be familiar with its offerings. You may not realize, however, that it provides the major financial support for FreeBSD.&lt;br&gt;
The FreeBSD support has two purposes. First, it provides the company with a solid base to run wcarchive and other massive projects. Second, it ties in with the company's mission of making software (and data) economically accessible.&lt;br&gt;
Bob Bruce, the firm's founder, is an interesting guy: laid back and somewhat conservative in manner, but productive and innovative in practice. Here is a possibly illustrative story.&lt;br&gt;
When Bob started selling CD-ROMs, disc caddies were selling for $15 each. Bob thought that was rather high, so he started investigating the marketplace. A long-distance call to Japan got him Sony's fax number; a series of faxes got him in touch with the salespeople.&lt;br&gt;
It turned out that caddies were available, in bulk, for only a few dollars each. Bulk, in this case, meant pallet-loads of 10,000 caddies. In an act of great faith, Bob purchased a pallet of caddies, then proceeded to sell them for five dollars each.&lt;br&gt;
The results were everything he might have wished. Folks who bought his CD-ROMs added caddies to their orders; folks who bought piles of caddies added in a disc or two. Either way, Walnut Creek CDROM was making a name for itself.&lt;br&gt;
Many pallet-loads later, the company is still selling caddies, making and distributing CD-ROMs, and giving away bits. Walnut Creek CDROM is a real open-source success story; its breadth and depth of offerings is well worth a look.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/openbsd/src/commit/b8584f4233dc11a328cd245a5843ec3d67462200" target="_blank" rel="nofollow noopener"&gt;OpenBSD adds kqueue event support to DRM, to detect device changes like HDMI cables being plugged in, and trigger randr events&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://archive.org/details/AMultiTaskingOperatingSystemForMicrocomputers" target="_blank" rel="nofollow noopener"&gt;Thesis describing QUAD3, a unix-like, multi-tasking operating system for the 6502 processor &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blogs.msdn.microsoft.com/commandline/2018/01/12/chmod-chown-wsl-improvements/" target="_blank" rel="nofollow noopener"&gt;Windows is getting chmod and chown...&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.theverge.com/platform/amp/2018/1/11/16878670/meltdown-spectre-disclosure-embargo-google-microsoft-linux" target="_blank" rel="nofollow noopener"&gt;Timeline: How they kept Meltdown and Spectre secret for so long &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd.network/" target="_blank" rel="nofollow noopener"&gt;bsd.network is a *BSD-themed Mastodon Instance&lt;/a&gt;: Peter Hessler is administering a new Mastodon instance, running in an OpenBSD VM on top of an OpenBSD vmm hypervisor&lt;/li&gt;
&lt;li&gt;&lt;a href="https://virtuallyfun.com/wordpress/wp-content/uploads/2017/12/whfUb.pdf" target="_blank" rel="nofollow noopener"&gt;Computer-Aided Instruction on UNIX&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/asiabsdcon-2018-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener"&gt;AsiaBSDCon 2018 Travel Grant Application Now Open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/asiabsdcon-2018-freebsd-developers-summit-call-for-proposals/" target="_blank" rel="nofollow noopener"&gt;AsiaBSDCon 2018 FreeBSD Developers Summit Call for Proposals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/linuxfest-northwest-2018-call-for-proposals/" target="_blank" rel="nofollow noopener"&gt;LinuxFest Northwest 2018 Call for Proposals&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Jason - &lt;a href="http://dpaste.com/05PRNG2" target="_blank" rel="nofollow noopener"&gt;Dont break my ports&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wilyarti - &lt;a href="http://dpaste.com/1BG8GZW" target="_blank" rel="nofollow noopener"&gt;show content&lt;/a&gt; &lt;a href="https://clinetworking.wordpress.com/2017/12/08/data-de-duplication-file-diff-ing-and-s3-style-object-storage-using-digital-ocean-spaces" target="_blank" rel="nofollow noopener"&gt;https://clinetworking.wordpress.com/2017/12/08/data-de-duplication-file-diff-ing-and-s3-style-object-storage-using-digital-ocean-spaces&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scott - &lt;a href="http://dpaste.com/0KER8YE#wrap" target="_blank" rel="nofollow noopener"&gt;Your show is Perfect!&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ken - &lt;a href="http://dpaste.com/0WT8285#wrap" target="_blank" rel="nofollow noopener"&gt;Community Culture&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We provide you with updates to Spectre and Meltdown from various BSD projects, a review of TrueOS from Linux, how to set up FreeBSD on ThinkPad x240, and a whole bunch of beastie bits.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=328083" target="_blank" rel="nofollow noopener">KPTI patch lands in FreeBSD -current</a></h3>

<ul>
<li>After a heroic effort by Konstantin Belousov <a href="mailto:kib@FreeBSD.org" target="_blank" rel="nofollow noopener">kib@FreeBSD.org</a>, the first meltdown patch has landed in FreeBSD</li>
<li>This creates separate page tables for the Kernel and userland, and switches between them when executions enters the kernel, and when it returns to userland</li>
<li>It is currently off by default, but you are encouraged to test it, so it can be merged back to the release branches. Set vm.pmap.pti=1 in /boot/loader.conf</li>
<li>The existing implementation of PCID (process-context identifiers), is not compatible with the new PTI code, and is disabled when PTI is enabled, decreasing performance. A future patch will use PCID in a way that is compatible with PTI.</li>
<li>PCID allows the OS to annotate memory mappings to specific processes, so that they can be flushed selectively, and so that they are only used when in the context of that application.</li>
<li>Once the developers are relatively confident in the correctness of the code that has landed in -current, it will be ported back to FreeBSD 10 and 11, and released as a security advisory.</li>
<li>Apparently porting back to FreeBSD 11 only has some relatively simple merge conflicts, but 10 will be more work.</li>
<li>Former FreeBSD Security Officer Dag-Erling Smørgrav has created a <a href="https://github.com/dag-erling/meltdown" target="_blank" rel="nofollow noopener">meltdown testing and PoC tool</a> that you can use to check your system. It is not finished yet, and doesnt seem to work with newer processors (haswell and newer).</li>
<li>The first partial <a href="https://svnweb.freebsd.org/changeset/base/328011" target="_blank" rel="nofollow noopener">mitigation for Spectre variant 2</a> for bhyve on AMD64 has also been committed</li>
<li><a href="https://wiki.freebsd.org/action/edit/SpeculativeExecutionVulnerabilities" target="_blank" rel="nofollow noopener">The latest information is always available on the FreeBSD Wiki</a>
***</li>
</ul>

<h3><a href="http://www.daemonology.net/blog/2018-01-17-some-thoughts-on-spectre-and-meltdown.html" target="_blank" rel="nofollow noopener">Some thoughts on Spectre and Meltdown</a></h3>

<ul>
<li>Colin Percival breaks down how these vulnerabilities work, with same nice analogies</li>
<li>What is a side channel:</li>
</ul>

<blockquote>
<p>I want to know when my girlfriend's passport expires, but she won't show me her passport (she complains that it has a horrible photo) and refuses to tell me the expiry date. I tell her that I'm going to take her to Europe on vacation in August and watch what happens: If she runs out to renew her passport, I know that it will expire before August; while if she doesn't get her passport renewed, I know that it will remain valid beyond that date. Her desire to ensure that her passport would be valid inadvertently revealed to me some information: Whether its expiry date was before or after August.</p>
</blockquote>

<ul>
<li>Spectre Variant 1: </li>
</ul>

<blockquote>
<p>I tell my girlfriend that I'm going to take her on vacation in June, but I don't tell her where yet; however, she knows that it will either be somewhere within Canada (for which she doesn't need a passport, since we live in Vancouver) or somewhere in Europe. She knows that it takes time to get a passport renewed, so she checks her passport and (if it was about to expire) gets it renewed just in case I later reveal that I'm going to take her to Europe. If I tell her later that I'm only taking her to Ottawa  well, she didn't need to renew her passport after all, but in the meantime her behaviour has already revealed to me whether her passport was about to expire. This is what Google refers to "variant 1" of the Spectre vulnerability: Even though she didn't need her passport, she made sure it was still valid just in case she was going to need it.</p>
</blockquote>

<ul>
<li>Spectre Variant 2:</li>
</ul>

<blockquote>
<p>I spend a week talking about how Oxford is a wonderful place to visit and I really enjoyed the years I spent there, and then I tell her that I want to take her on vacation. She very reasonably assumes that  since I've been talking about Oxford so much  I must be planning on taking her to England, and runs off to check her passport and potentially renew it... but in fact I tricked her and I'm only planning on taking her to Ottawa.</p>
</blockquote>

<ul>
<li>Meltdown:</li>
</ul>

<blockquote>
<p>I tell my girlfriend that I want to take her to the Korean peninsula. She knows that her passport is valid for long enough; but she immediately runs off to check that her North Korean visa hasn't expired. Why does she have a North Korean visa, you ask? Good question. She doesn't  but she runs off to check its expiry date anyway! Because she doesn't have a North Korean visa, she (somehow) checks the expiry date on someone else's North Korean visa, and then (if it is about to expire) runs out to renew it  and so by telling her that I want to take her to Korea for a vacation I find out something she couldn't have told me even if she wanted to.<br>
Final thoughts on vulnerability disclosure<br>
The way these issues were handled was a mess; frankly, I expected better of Google, I expected better of Intel, and I expected better of the Linux community. When I found that Hyper-Threading was easily exploitable, I spent five months notifying the security community and preparing everyone for my announcement of the vulnerability; but when the embargo ended at midnight UTC and FreeBSD published its advisory a few minutes later, the broader world was taken entirely by surprise. Nobody knew what was coming aside from the people who needed to know; and the people who needed to know had months of warning.<br>
Contrast that with what happened this time around. Google discovered a problem and reported it to Intel, AMD, and ARM on June 1st. Did they then go around contacting all of the operating systems which would need to work on fixes for this? Not even close. FreeBSD was notified the week before Christmas, over six months after the vulnerabilities were discovered. Now, FreeBSD can occasionally respond very quickly to security vulnerabilities, even when they arise at inconvenient times  on November 30th 2009 a vulnerability was reported at 22:12 UTC, and on December 1st I provided a patch at 01:20 UTC, barely over 3 hours later  but that was an extremely simple bug which needed only a few lines of code to fix; the Spectre and Meltdown issues are orders of magnitude more complex.<br>
To make things worse, the Linux community was notified and couldn't keep their mouths shut. Standard practice for multi-vendor advisories like this is that an embargo date is set, and <strong>nobody does anything publicly prior to that date</strong>. People don't publish advisories; they don't commit patches into their public source code repositories; and they definitely don't engage in arguments on public mailing lists about whether the patches are needed for different CPUs. As a result, despite an embargo date being set for January 9th, by January 4th anyone who cared knew about the issues and there was code being passed around on Twitter for exploiting them.<br>
This is not the first time I've seen people get sloppy with embargoes recently, but it's by far the worst case. As an industry we pride ourselves on the concept of responsible disclosure  ensuring that people are notified in time to prepare fixes before an issue is disclosed publicly  but in this case there was far too much disclosure and nowhere near enough responsibility. We can do better, and I sincerely hope that next time we do.</p>
</blockquote>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180115073406" target="_blank" rel="nofollow noopener">CPU microcode update code for amd64</a></h3>



<ul>
<li>Patrick Wildt (patrick@) recently committed some code that will update the Intel microcode on many Intel CPUs, a diff initially written by Stefan Fritsch (sf@). The microcode of your CPU is basically the firmware that runs on your (Intel) processor, defining its instruction set in terms of so called "microinstructions". The new code depends, of course, on the corresponding firmware package, ported by Patrick which can be installed using a very recent fw_update(1). Of course, this all plays into the recently revealed problems in Intel (and other) CPUs, Meltdown and Spectre.</li>
<li>Now Theo has explained the workings of the code on openbsd-tech, detailing some of the challenges in updating microcode on CPUs where your OS is already starting to run.</li>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=151588857304763&amp;w=2" target="_blank" rel="nofollow noopener">Theo hints at future updates to the intel-firmware package in his mail:</a></li>
</ul>

<blockquote>
<p>Patrick and others committed amd64 Intel cpu microcode update code over the last few days.  The approach isn't perfect, but it is good enough for a start.  I want to explain the situation.<br>
When you fw_update, you'll get the firmware files.<br>
Upon a reboot, it will attempt to update the microcode on your cpus.<br>
Maybe there isn't a new microcode.  Maybe your BIOS has a copy of the microcode and installs it before booting OpenBSD.<br>
This firmware installation is done a little late.  Doing it better will require some work in the bootblocks to find the firmware files, but time is a bit short to do that right now.<br>
The branch-target-cache flushing features added in new microcode are not being used yet.  There is more code which has to be written, but again other work is happening first.<br>
Also, Intel is saying their new microcodes sucks and people should wait a little.<br>
"Hi, my name is Intel and I'm an cheating speculator".</p>
</blockquote>

<ul>
<li>Several developers are working on mitigations for these issues, attacking the problem from several angles. Expect to see more updates to a CVS tree near you soon.</li>
</ul>

<hr>

<h3><a href="https://malcont.net/2018/01/dont-like-meltdown-spectre-releated-bugs-handled/" target="_blank" rel="nofollow noopener">Intel: as a *BSD user, I am fucking pissed!</a></h3>

<blockquote>
<p>I wasnt going to write anything on the recently found x64 architecture  related bugs. Im not a kernel developer nor even a programmer and I cant say that I have a solid understanding of what Meltdown and Spectre attacks are. Also there already is a ton of articles and posts written by people who have no grasp of the subject.<br>
Im however a malcontent and I find this a good way to express my feelings:</p>

<p>Intel: as a *BSD user, I am fucking pissed!</p>
</blockquote>

<ul>
<li>Meltdown, Spectre and BSD  the pissed part</li>
</ul>

<blockquote>
<p>Part of my work is UNIX-like systems administration  including BSDs and Linuces. As much as I am happy with Linux changes already made, I am beyond pissed about how the BSDs were handled by Intel  because they were not. FreeBSD Security Team received some heads-up just before Xmas, while OpenBSD, NetBSD and DragonflyBSD teams received no prior warnings.</p>

<p>Meltdown and Spectre attacks are hard to perform. It is a hard work to mitigate them in the software, as the bugs lay in the CPUs and are not fixable by microcode updates. Developers are trying to mitigate these bugs in a way that will deliver smallest performance losses. A lot of time consuming work is needed to fix CPU vendors mistakes. Linux developers had this time. BSD developers did not.</p>
</blockquote>

<ul>
<li>BSD user base too small?</li>
</ul>

<blockquote>
<p>BSD user base is small in comparison to Linux. Seems that its too small for Intel. PlayStation4 consoles are FreeBSD-based (and use AMD CPUs) but I think its safe to say that gaming devices are not the most important systems to be fixed. Netflix serves their content off FreeBSD but the bugs are not remotely exploitable (possibly not including JavaScript, but its running someones code locally) so theres probably not much harm to be done here either.<br>
However gamers and Netflix arent the only ones who use *BSD systems. Id say that there is more than a few FreeBSD, NetBSD, OpenBSD and DragonFlyBSD servers on the internet.</p>

<p>In March 2017, Intel promised more timely support to FreeBSD. They knew about flaws in their CPUs in June and decided that a timely manner is the end of December  short before the embargo was to be lifted.</p>

<p>Intel and Google (probably Intel more): it was your job to pick the correct people to whom the bugs can be disclosed. In my humble opinion you chose poorly by disclosing these issues with ONLY Apple, Microsoft, and the Linux Foundation, of OS vendors. You did much harm to the BSD community.</p>

<p>Intel: Its your bugs. And you offered more support to the FreeBSD Foundation less than 3 months prior to being informed (my guess is that you knew much earlier) on the flaws in YOUR products. I dont want to write more here as the wording would be too strong.</p>
</blockquote>

<hr>

<h2>Interview - Viewer Questions</h2>

<ul>
<li>These days, do you consider yourself more of an programmer or a sysadmin? Which one do you enjoy more?</li>
<li>Does FreeBSD/BSD enable your business or would another OS suit your needs just as well?</li>
<li>Youve hinted that you use FreeBSD as part of your business. Can you elaborate on that and give some technical detail on how its used in that environment?</li>
<li>If you were allowed three wishes for anything at all to be implemented or changed in ZFS, what would they be, and why?

<ul>
<li>Per Dataset throughput and IOPS limiting</li>
<li>Per-File Cloning and/or zfsmv (move a file from one dataset to another, without copying)</li>
<li>Cluster support</li>
</ul></li>
<li>Allan, you have previously mentioned that you have worked on FreeBSD on MIPS, what made you choose the Onion Omega over something like the Raspberry Pi?</li>
<li>What is BSD Nows association with Jupiter broadcasting, and how did the relationship come to be? Jupiter seems to be associated with several Linux-themed podcasts, and Im wondering how and why BSD Now joined Jupiter. The two communities (the Linuxes and BSDs) dont always seem to mix freely -- or do they?</li>
<li>What kind of keyboard is that? Have you ever tried an ErgoDox? The ErgoDox EZ is made by a Canadian.</li>
<li>You mentioned when doing one of your talks on UCL for FreeBSD that you had only recently learned C. I am also aware of your history also on contributing to the FreeBSD handbook and to documentation in general. Given you started with C relatively recently, what made you want to learn it, how quickly did you pick it up, and is it your favourite language? It is most inspiring to me, as you are clearly so talented, and of all the languages I have learned (including C++), I still prefer C in my heart of hearts. I'd be really interested to hear your answer, many thanks.
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://www.linuxandubuntu.com/home/linuxandubuntu-review-of-trueos-a-unix-based-os" target="_blank" rel="nofollow noopener">LinuxAndUbuntu Review Of TrueOS A Unix Based OS</a></h3>

<blockquote>
<p>Trust me, the name TrueOS takes me back to 1990s when Tru64 UNIX operating system made its presence. TrueOS is PC-BSDs new unified brand built upon FreeBSD-CURRENT code base. Note that TrueOS is not a Linux distro but is BSD Unix. FreeBSD is known for its cutting-edge features, security, scalability, and ability to work both as a server and desktop operating system.  TrueOS aims at having user-friendliness with the power of FreeBSD OS. Let us start with going into details of different aspects of the TrueOS.</p>
</blockquote>

<ul>
<li><p>TrueOS History<br>
?</p>

<blockquote>
<p>TrueOS was founded by Kris Moore in 2005 with name PC-BSD.  Initial version focused to make FreeBSD easy to use starting with providing GUI based installer (to relatively complicated FreeBSD installer). In the year 2006, PC-BSD was acquired by iXsystems. Before rebranding as TrueOS in Sept 2016, PC-BSD reached a stage starting considering better than vanilla FreeBSD.  Older PC-BSD version used to support both x86 and x86-64 architecture.<br>
Kris Moore, the developer founder, says about rebranding: Weve already been using TrueOS for the server side of PC-BSD, and it made sense to unify the names. PC-BSD doesnt reflect server or embedded well. TrueOS Desktop/Server/Embedded can be real products, avoids some of the alphabet soup, and gives us a more catchy name.</p>
</blockquote></li>
<li><p>TrueOS First Impression<br>
?</p>

<blockquote>
<p>The startup is little longer; may be due to starting up of many services.  The heavy KDE well suited to PC-BSD.  The C++/Qt5 based Lumina desktop environment is light and fast.  The Lumina offers an easy way to configure menu and panels.  I did not face any problems for continuous use of two weeks on a virtual machine having the minimal configuration: 1 GB RAM, 20 GB hard disk and Intel 3.06 GHz i3 processor. The Lumina desktop is light and fast. The developers of Lumina know what they are doing and have a good idea of what makes a good IDE.  As it happens with any new desktop environment, it needs some time to settle.  Let us hope that they keep to the path they are on with it.</p>
</blockquote></li>
<li><p>Conclusion<br>
?</p>

<blockquote>
<p>The TrueOS is impressive when consider it as relatively young.  It is a daring step that TrueOS developers took FreeBSD Current rather than FreeBSD Stable code base. Overall it has created its own place from the legacy shadow of PC-BSD.  Starting with easy installation TrueOS is a good combination of software and utilities that make the system ready to use. Go and get a TrueOS ISO to unleash the bleeding edge tag of FreeBSD</p>
</blockquote></li>
</ul>

<hr>

<h3><a href="http://stygix.org/nix/x240-freebsd.php" target="_blank" rel="nofollow noopener">Thinkpad x240 - FreeBSD Setup</a></h3>

<blockquote>
<p>What follows is a record of how I set up FreeBSD to be my daily driver OS on the Lenovo Thinkpad X240. Everything seems to work great. Although, the touchpad needs some tweaking. I've tried several configurations, even recompiling Xorg with EVDEV support and all that, to no avail. Eventually I will figure it out. Do not sleep the laptop from the command line. Do it from within Xorg, or it will not wake up. I don't know why. You can do it from a terminal within Xorg, just not from the naked command line without Xorg started. It also will not sleep by closing the lid. I included a sudo config that allows you to run /usr/sbin/zzz without a password, so what I do is I have a key combo assigned within i3wm to run "sudo /usr/sbin/zzz". It works fine this way.</p>

<p>I go into detail when it comes to setting up Xorg with i3wm. You can skip this if you want, but if you've never used a tiling window manager, it will handle screen real estate very efficiently on a laptop with a 12.5-inch screen and a touchpad.</p>

<p>First, download the amd64 image for 11.1-RELEASE and flash it to a USB pen drive. For the Unices, use this:</p>
</blockquote>

<p><code># dd if=FreeBSD-11.1-RELEASE-amd64-memstick.img of=/dev/da0 bs=1M conv=sync</code></p>

<blockquote>
<p>Obviously, you'll change /dev/da0 to whatever the USB pen drive is assigned. Plug it in, check dmesg.</p>

<p>Leave it plugged in, restart the laptop. When prompted, tap Enter to halt the boot process, then F12 to select a bootable device. Choose the USB drive.</p>

<p>I won't go through the actual install process, but it is pretty damn easy so just look at a guide or two and you'll be fine. If you can install Debian, you can install FreeBSD. I will, however, recommend ZFS if you have over 4GB of RAM (my particular variant of the X240 has 8GB of RAM, so yours should have at least 4GB), along with an encrypted disk, and an encrypted SWAP partition. When prompted to add an additional user, and you get to the question where it asks for additional groups, please make sure you add the user to "wheel". The rest should be self-explanatory during the install.</p>

<p>Now for the good shit. You just booted into a fresh FreeBSD install. Now what? Well, time to fire up vi and open some config files...</p>

<hr>
</blockquote>

<h3><a href="https://www.cnn.com/TECH/computing/9904/08/cdrom.idg/index.html" target="_blank" rel="nofollow noopener">CNN Article about CDROM.com and FreeBSD, from 1999</a></h3>

<blockquote>
<p>Walnut Creek CDROM sells a lot of CD-ROMs, but it gives away even more data. Specifically, anyone who has Internet access is free to log into wcarchive (ftp.cdrom.com) and start downloading bits.<br>
Even with a good Internet connection, however, you should expect to be at it for a while. At the present time, wcarchive resides on half a terabyte (500 GB) of RAID 5-disk storage. Even if your 56-Kbps modem can deliver seven kilobytes per second, downloading the complete archive would take you 70 million seconds. Even then, some of the files would be more than two years out of date, so a bit of "back and fill" would be needed.<br>
Of course, nobody uses wcarchive that way. Instead, they just drop in when they need the odd file or two. The FTP server is very accommodating; 3,600 simultaneous download sessions is the current limit and an upgrade to 10,000 sessions is in the works.<br>
This translates to about 800 GB per day of downloads. Bob Bruce (Walnut Creek's founder) says he's thinking about issuing a press release when they reach a terabyte a day. But 800 GB isn't all that shabby....</p>
</blockquote>

<ul>
<li>The hardware</li>
</ul>

<blockquote>
<p>Because FTP archives don't do a lot of thinking, wcarchive doesn't need a massive cluster of CPUs. In fact, it gets by with a single 200-MHz P6 Pentium Pro and a measly(!) 1 GB of RAM. The I/O support, however, is fairly impressive.<br>
A six-channel Mylex RAID controller (DAC960SXI; Ultra-Wide SCSI-SCSI) is the centerpiece of the I/O subsystem. Two channels link it to the PC ("Personal Computer"!?!), via a dual-channel Adaptec card (AHA-3940AUW; PCI to Ultra-Wide SCSI). An 256-MB internal cache helps it to eliminate recurring disk accesses.<br>
Four nine-drive disk arrays provide the actual storage. The two larger arrays use 18-GB IBM drives; the two smaller arrays use 9-GB Micropolis and Quantum drives. A separate 4-GB Quantum drive is used as the "system disk."<br>
The output side is handled by a single Intel 100Base-T controller (Pro/100B PCI), which feeds into the Internet through a number of shared DS3 (45 Mbps) and OC3 (155 Mbps) circuits.<br>
A detailed description of the system is available as ftp.cdrom.com/archive-info/configuration;</p>
</blockquote>

<ul>
<li>The software</li>
</ul>

<blockquote>
<p>The system software is rather prosaic: a copy of FreeBSD, supplemented by home-grown FTP mirroring and server code. Because of the massive hardware support, the software "only" needs to keep the I/O going in an efficient and reliable manner.<br>
FreeBSD, the "prosaic" operating system mentioned above, merits a bit more discussion. Like Linux, FreeBSD is open source. Anyone can examine, modify, and/or redistribute the source code. And, like Linux, an active user community helps the authors to find bugs, improve documentation, and generally support the OS.<br>
Unlike Linux, FreeBSD is derived from the Berkeley Unix code that forms the foundation for most commercial Unix variants. When you use the "fast file system" (cylinder groups, long file names, symbolic links, etc.), TCP/IP networking, termcap, or even vi, you are using Berkeley Unix additions.<br>
The version of BSD underlying FreeBSD, however, is "pure" BSD; don't look for the System V modifications you see in Solaris. Instead, think of it as SunOS, brought up to date with Kerberos, modern sendmail, an updated filesystem, and more. Solid, fast, and free!<br>
One of FreeBSD's finest innovations, the Ports Collection, makes FreeBSD a delight for open source application users. The Ports Collection automates the downloading, building, and installation (including de-installation) of 2,300+ open source packages.</p>
</blockquote>

<ul>
<li>The company</li>
</ul>

<blockquote>
<p>Walnut Creek CDROM has been around for several years now, so you are likely to be familiar with its offerings. You may not realize, however, that it provides the major financial support for FreeBSD.<br>
The FreeBSD support has two purposes. First, it provides the company with a solid base to run wcarchive and other massive projects. Second, it ties in with the company's mission of making software (and data) economically accessible.<br>
Bob Bruce, the firm's founder, is an interesting guy: laid back and somewhat conservative in manner, but productive and innovative in practice. Here is a possibly illustrative story.<br>
When Bob started selling CD-ROMs, disc caddies were selling for $15 each. Bob thought that was rather high, so he started investigating the marketplace. A long-distance call to Japan got him Sony's fax number; a series of faxes got him in touch with the salespeople.<br>
It turned out that caddies were available, in bulk, for only a few dollars each. Bulk, in this case, meant pallet-loads of 10,000 caddies. In an act of great faith, Bob purchased a pallet of caddies, then proceeded to sell them for five dollars each.<br>
The results were everything he might have wished. Folks who bought his CD-ROMs added caddies to their orders; folks who bought piles of caddies added in a disc or two. Either way, Walnut Creek CDROM was making a name for itself.<br>
Many pallet-loads later, the company is still selling caddies, making and distributing CD-ROMs, and giving away bits. Walnut Creek CDROM is a real open-source success story; its breadth and depth of offerings is well worth a look.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/openbsd/src/commit/b8584f4233dc11a328cd245a5843ec3d67462200" target="_blank" rel="nofollow noopener">OpenBSD adds kqueue event support to DRM, to detect device changes like HDMI cables being plugged in, and trigger randr events</a></li>
<li><a href="https://archive.org/details/AMultiTaskingOperatingSystemForMicrocomputers" target="_blank" rel="nofollow noopener">Thesis describing QUAD3, a unix-like, multi-tasking operating system for the 6502 processor </a></li>
<li><a href="https://blogs.msdn.microsoft.com/commandline/2018/01/12/chmod-chown-wsl-improvements/" target="_blank" rel="nofollow noopener">Windows is getting chmod and chown...</a></li>
<li><a href="https://www.theverge.com/platform/amp/2018/1/11/16878670/meltdown-spectre-disclosure-embargo-google-microsoft-linux" target="_blank" rel="nofollow noopener">Timeline: How they kept Meltdown and Spectre secret for so long </a></li>
<li><a href="https://bsd.network/" target="_blank" rel="nofollow noopener">bsd.network is a *BSD-themed Mastodon Instance</a>: Peter Hessler is administering a new Mastodon instance, running in an OpenBSD VM on top of an OpenBSD vmm hypervisor</li>
<li><a href="https://virtuallyfun.com/wordpress/wp-content/uploads/2017/12/whfUb.pdf" target="_blank" rel="nofollow noopener">Computer-Aided Instruction on UNIX</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/asiabsdcon-2018-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">AsiaBSDCon 2018 Travel Grant Application Now Open</a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/asiabsdcon-2018-freebsd-developers-summit-call-for-proposals/" target="_blank" rel="nofollow noopener">AsiaBSDCon 2018 FreeBSD Developers Summit Call for Proposals</a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/linuxfest-northwest-2018-call-for-proposals/" target="_blank" rel="nofollow noopener">LinuxFest Northwest 2018 Call for Proposals</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Jason - <a href="http://dpaste.com/05PRNG2" target="_blank" rel="nofollow noopener">Dont break my ports</a></li>
<li><p>Wilyarti - <a href="http://dpaste.com/1BG8GZW" target="_blank" rel="nofollow noopener">show content</a> <a href="https://clinetworking.wordpress.com/2017/12/08/data-de-duplication-file-diff-ing-and-s3-style-object-storage-using-digital-ocean-spaces" target="_blank" rel="nofollow noopener">https://clinetworking.wordpress.com/2017/12/08/data-de-duplication-file-diff-ing-and-s3-style-object-storage-using-digital-ocean-spaces</a></p></li>
<li><p>Scott - <a href="http://dpaste.com/0KER8YE#wrap" target="_blank" rel="nofollow noopener">Your show is Perfect!</a></p></li>
<li><p>Ken - <a href="http://dpaste.com/0WT8285#wrap" target="_blank" rel="nofollow noopener">Community Culture</a></p></li>
</ul>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We provide you with updates to Spectre and Meltdown from various BSD projects, a review of TrueOS from Linux, how to set up FreeBSD on ThinkPad x240, and a whole bunch of beastie bits.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=328083" target="_blank" rel="nofollow noopener">KPTI patch lands in FreeBSD -current</a></h3>

<ul>
<li>After a heroic effort by Konstantin Belousov <a href="mailto:kib@FreeBSD.org" target="_blank" rel="nofollow noopener">kib@FreeBSD.org</a>, the first meltdown patch has landed in FreeBSD</li>
<li>This creates separate page tables for the Kernel and userland, and switches between them when executions enters the kernel, and when it returns to userland</li>
<li>It is currently off by default, but you are encouraged to test it, so it can be merged back to the release branches. Set vm.pmap.pti=1 in /boot/loader.conf</li>
<li>The existing implementation of PCID (process-context identifiers), is not compatible with the new PTI code, and is disabled when PTI is enabled, decreasing performance. A future patch will use PCID in a way that is compatible with PTI.</li>
<li>PCID allows the OS to annotate memory mappings to specific processes, so that they can be flushed selectively, and so that they are only used when in the context of that application.</li>
<li>Once the developers are relatively confident in the correctness of the code that has landed in -current, it will be ported back to FreeBSD 10 and 11, and released as a security advisory.</li>
<li>Apparently porting back to FreeBSD 11 only has some relatively simple merge conflicts, but 10 will be more work.</li>
<li>Former FreeBSD Security Officer Dag-Erling Smørgrav has created a <a href="https://github.com/dag-erling/meltdown" target="_blank" rel="nofollow noopener">meltdown testing and PoC tool</a> that you can use to check your system. It is not finished yet, and doesnt seem to work with newer processors (haswell and newer).</li>
<li>The first partial <a href="https://svnweb.freebsd.org/changeset/base/328011" target="_blank" rel="nofollow noopener">mitigation for Spectre variant 2</a> for bhyve on AMD64 has also been committed</li>
<li><a href="https://wiki.freebsd.org/action/edit/SpeculativeExecutionVulnerabilities" target="_blank" rel="nofollow noopener">The latest information is always available on the FreeBSD Wiki</a>
***</li>
</ul>

<h3><a href="http://www.daemonology.net/blog/2018-01-17-some-thoughts-on-spectre-and-meltdown.html" target="_blank" rel="nofollow noopener">Some thoughts on Spectre and Meltdown</a></h3>

<ul>
<li>Colin Percival breaks down how these vulnerabilities work, with same nice analogies</li>
<li>What is a side channel:</li>
</ul>

<blockquote>
<p>I want to know when my girlfriend's passport expires, but she won't show me her passport (she complains that it has a horrible photo) and refuses to tell me the expiry date. I tell her that I'm going to take her to Europe on vacation in August and watch what happens: If she runs out to renew her passport, I know that it will expire before August; while if she doesn't get her passport renewed, I know that it will remain valid beyond that date. Her desire to ensure that her passport would be valid inadvertently revealed to me some information: Whether its expiry date was before or after August.</p>
</blockquote>

<ul>
<li>Spectre Variant 1: </li>
</ul>

<blockquote>
<p>I tell my girlfriend that I'm going to take her on vacation in June, but I don't tell her where yet; however, she knows that it will either be somewhere within Canada (for which she doesn't need a passport, since we live in Vancouver) or somewhere in Europe. She knows that it takes time to get a passport renewed, so she checks her passport and (if it was about to expire) gets it renewed just in case I later reveal that I'm going to take her to Europe. If I tell her later that I'm only taking her to Ottawa  well, she didn't need to renew her passport after all, but in the meantime her behaviour has already revealed to me whether her passport was about to expire. This is what Google refers to "variant 1" of the Spectre vulnerability: Even though she didn't need her passport, she made sure it was still valid just in case she was going to need it.</p>
</blockquote>

<ul>
<li>Spectre Variant 2:</li>
</ul>

<blockquote>
<p>I spend a week talking about how Oxford is a wonderful place to visit and I really enjoyed the years I spent there, and then I tell her that I want to take her on vacation. She very reasonably assumes that  since I've been talking about Oxford so much  I must be planning on taking her to England, and runs off to check her passport and potentially renew it... but in fact I tricked her and I'm only planning on taking her to Ottawa.</p>
</blockquote>

<ul>
<li>Meltdown:</li>
</ul>

<blockquote>
<p>I tell my girlfriend that I want to take her to the Korean peninsula. She knows that her passport is valid for long enough; but she immediately runs off to check that her North Korean visa hasn't expired. Why does she have a North Korean visa, you ask? Good question. She doesn't  but she runs off to check its expiry date anyway! Because she doesn't have a North Korean visa, she (somehow) checks the expiry date on someone else's North Korean visa, and then (if it is about to expire) runs out to renew it  and so by telling her that I want to take her to Korea for a vacation I find out something she couldn't have told me even if she wanted to.<br>
Final thoughts on vulnerability disclosure<br>
The way these issues were handled was a mess; frankly, I expected better of Google, I expected better of Intel, and I expected better of the Linux community. When I found that Hyper-Threading was easily exploitable, I spent five months notifying the security community and preparing everyone for my announcement of the vulnerability; but when the embargo ended at midnight UTC and FreeBSD published its advisory a few minutes later, the broader world was taken entirely by surprise. Nobody knew what was coming aside from the people who needed to know; and the people who needed to know had months of warning.<br>
Contrast that with what happened this time around. Google discovered a problem and reported it to Intel, AMD, and ARM on June 1st. Did they then go around contacting all of the operating systems which would need to work on fixes for this? Not even close. FreeBSD was notified the week before Christmas, over six months after the vulnerabilities were discovered. Now, FreeBSD can occasionally respond very quickly to security vulnerabilities, even when they arise at inconvenient times  on November 30th 2009 a vulnerability was reported at 22:12 UTC, and on December 1st I provided a patch at 01:20 UTC, barely over 3 hours later  but that was an extremely simple bug which needed only a few lines of code to fix; the Spectre and Meltdown issues are orders of magnitude more complex.<br>
To make things worse, the Linux community was notified and couldn't keep their mouths shut. Standard practice for multi-vendor advisories like this is that an embargo date is set, and <strong>nobody does anything publicly prior to that date</strong>. People don't publish advisories; they don't commit patches into their public source code repositories; and they definitely don't engage in arguments on public mailing lists about whether the patches are needed for different CPUs. As a result, despite an embargo date being set for January 9th, by January 4th anyone who cared knew about the issues and there was code being passed around on Twitter for exploiting them.<br>
This is not the first time I've seen people get sloppy with embargoes recently, but it's by far the worst case. As an industry we pride ourselves on the concept of responsible disclosure  ensuring that people are notified in time to prepare fixes before an issue is disclosed publicly  but in this case there was far too much disclosure and nowhere near enough responsibility. We can do better, and I sincerely hope that next time we do.</p>
</blockquote>

<hr>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20180115073406" target="_blank" rel="nofollow noopener">CPU microcode update code for amd64</a></h3>



<ul>
<li>Patrick Wildt (patrick@) recently committed some code that will update the Intel microcode on many Intel CPUs, a diff initially written by Stefan Fritsch (sf@). The microcode of your CPU is basically the firmware that runs on your (Intel) processor, defining its instruction set in terms of so called "microinstructions". The new code depends, of course, on the corresponding firmware package, ported by Patrick which can be installed using a very recent fw_update(1). Of course, this all plays into the recently revealed problems in Intel (and other) CPUs, Meltdown and Spectre.</li>
<li>Now Theo has explained the workings of the code on openbsd-tech, detailing some of the challenges in updating microcode on CPUs where your OS is already starting to run.</li>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=151588857304763&amp;w=2" target="_blank" rel="nofollow noopener">Theo hints at future updates to the intel-firmware package in his mail:</a></li>
</ul>

<blockquote>
<p>Patrick and others committed amd64 Intel cpu microcode update code over the last few days.  The approach isn't perfect, but it is good enough for a start.  I want to explain the situation.<br>
When you fw_update, you'll get the firmware files.<br>
Upon a reboot, it will attempt to update the microcode on your cpus.<br>
Maybe there isn't a new microcode.  Maybe your BIOS has a copy of the microcode and installs it before booting OpenBSD.<br>
This firmware installation is done a little late.  Doing it better will require some work in the bootblocks to find the firmware files, but time is a bit short to do that right now.<br>
The branch-target-cache flushing features added in new microcode are not being used yet.  There is more code which has to be written, but again other work is happening first.<br>
Also, Intel is saying their new microcodes sucks and people should wait a little.<br>
"Hi, my name is Intel and I'm an cheating speculator".</p>
</blockquote>

<ul>
<li>Several developers are working on mitigations for these issues, attacking the problem from several angles. Expect to see more updates to a CVS tree near you soon.</li>
</ul>

<hr>

<h3><a href="https://malcont.net/2018/01/dont-like-meltdown-spectre-releated-bugs-handled/" target="_blank" rel="nofollow noopener">Intel: as a *BSD user, I am fucking pissed!</a></h3>

<blockquote>
<p>I wasnt going to write anything on the recently found x64 architecture  related bugs. Im not a kernel developer nor even a programmer and I cant say that I have a solid understanding of what Meltdown and Spectre attacks are. Also there already is a ton of articles and posts written by people who have no grasp of the subject.<br>
Im however a malcontent and I find this a good way to express my feelings:</p>

<p>Intel: as a *BSD user, I am fucking pissed!</p>
</blockquote>

<ul>
<li>Meltdown, Spectre and BSD  the pissed part</li>
</ul>

<blockquote>
<p>Part of my work is UNIX-like systems administration  including BSDs and Linuces. As much as I am happy with Linux changes already made, I am beyond pissed about how the BSDs were handled by Intel  because they were not. FreeBSD Security Team received some heads-up just before Xmas, while OpenBSD, NetBSD and DragonflyBSD teams received no prior warnings.</p>

<p>Meltdown and Spectre attacks are hard to perform. It is a hard work to mitigate them in the software, as the bugs lay in the CPUs and are not fixable by microcode updates. Developers are trying to mitigate these bugs in a way that will deliver smallest performance losses. A lot of time consuming work is needed to fix CPU vendors mistakes. Linux developers had this time. BSD developers did not.</p>
</blockquote>

<ul>
<li>BSD user base too small?</li>
</ul>

<blockquote>
<p>BSD user base is small in comparison to Linux. Seems that its too small for Intel. PlayStation4 consoles are FreeBSD-based (and use AMD CPUs) but I think its safe to say that gaming devices are not the most important systems to be fixed. Netflix serves their content off FreeBSD but the bugs are not remotely exploitable (possibly not including JavaScript, but its running someones code locally) so theres probably not much harm to be done here either.<br>
However gamers and Netflix arent the only ones who use *BSD systems. Id say that there is more than a few FreeBSD, NetBSD, OpenBSD and DragonFlyBSD servers on the internet.</p>

<p>In March 2017, Intel promised more timely support to FreeBSD. They knew about flaws in their CPUs in June and decided that a timely manner is the end of December  short before the embargo was to be lifted.</p>

<p>Intel and Google (probably Intel more): it was your job to pick the correct people to whom the bugs can be disclosed. In my humble opinion you chose poorly by disclosing these issues with ONLY Apple, Microsoft, and the Linux Foundation, of OS vendors. You did much harm to the BSD community.</p>

<p>Intel: Its your bugs. And you offered more support to the FreeBSD Foundation less than 3 months prior to being informed (my guess is that you knew much earlier) on the flaws in YOUR products. I dont want to write more here as the wording would be too strong.</p>
</blockquote>

<hr>

<h2>Interview - Viewer Questions</h2>

<ul>
<li>These days, do you consider yourself more of an programmer or a sysadmin? Which one do you enjoy more?</li>
<li>Does FreeBSD/BSD enable your business or would another OS suit your needs just as well?</li>
<li>Youve hinted that you use FreeBSD as part of your business. Can you elaborate on that and give some technical detail on how its used in that environment?</li>
<li>If you were allowed three wishes for anything at all to be implemented or changed in ZFS, what would they be, and why?

<ul>
<li>Per Dataset throughput and IOPS limiting</li>
<li>Per-File Cloning and/or zfsmv (move a file from one dataset to another, without copying)</li>
<li>Cluster support</li>
</ul></li>
<li>Allan, you have previously mentioned that you have worked on FreeBSD on MIPS, what made you choose the Onion Omega over something like the Raspberry Pi?</li>
<li>What is BSD Nows association with Jupiter broadcasting, and how did the relationship come to be? Jupiter seems to be associated with several Linux-themed podcasts, and Im wondering how and why BSD Now joined Jupiter. The two communities (the Linuxes and BSDs) dont always seem to mix freely -- or do they?</li>
<li>What kind of keyboard is that? Have you ever tried an ErgoDox? The ErgoDox EZ is made by a Canadian.</li>
<li>You mentioned when doing one of your talks on UCL for FreeBSD that you had only recently learned C. I am also aware of your history also on contributing to the FreeBSD handbook and to documentation in general. Given you started with C relatively recently, what made you want to learn it, how quickly did you pick it up, and is it your favourite language? It is most inspiring to me, as you are clearly so talented, and of all the languages I have learned (including C++), I still prefer C in my heart of hearts. I'd be really interested to hear your answer, many thanks.
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://www.linuxandubuntu.com/home/linuxandubuntu-review-of-trueos-a-unix-based-os" target="_blank" rel="nofollow noopener">LinuxAndUbuntu Review Of TrueOS A Unix Based OS</a></h3>

<blockquote>
<p>Trust me, the name TrueOS takes me back to 1990s when Tru64 UNIX operating system made its presence. TrueOS is PC-BSDs new unified brand built upon FreeBSD-CURRENT code base. Note that TrueOS is not a Linux distro but is BSD Unix. FreeBSD is known for its cutting-edge features, security, scalability, and ability to work both as a server and desktop operating system.  TrueOS aims at having user-friendliness with the power of FreeBSD OS. Let us start with going into details of different aspects of the TrueOS.</p>
</blockquote>

<ul>
<li><p>TrueOS History<br>
?</p>

<blockquote>
<p>TrueOS was founded by Kris Moore in 2005 with name PC-BSD.  Initial version focused to make FreeBSD easy to use starting with providing GUI based installer (to relatively complicated FreeBSD installer). In the year 2006, PC-BSD was acquired by iXsystems. Before rebranding as TrueOS in Sept 2016, PC-BSD reached a stage starting considering better than vanilla FreeBSD.  Older PC-BSD version used to support both x86 and x86-64 architecture.<br>
Kris Moore, the developer founder, says about rebranding: Weve already been using TrueOS for the server side of PC-BSD, and it made sense to unify the names. PC-BSD doesnt reflect server or embedded well. TrueOS Desktop/Server/Embedded can be real products, avoids some of the alphabet soup, and gives us a more catchy name.</p>
</blockquote></li>
<li><p>TrueOS First Impression<br>
?</p>

<blockquote>
<p>The startup is little longer; may be due to starting up of many services.  The heavy KDE well suited to PC-BSD.  The C++/Qt5 based Lumina desktop environment is light and fast.  The Lumina offers an easy way to configure menu and panels.  I did not face any problems for continuous use of two weeks on a virtual machine having the minimal configuration: 1 GB RAM, 20 GB hard disk and Intel 3.06 GHz i3 processor. The Lumina desktop is light and fast. The developers of Lumina know what they are doing and have a good idea of what makes a good IDE.  As it happens with any new desktop environment, it needs some time to settle.  Let us hope that they keep to the path they are on with it.</p>
</blockquote></li>
<li><p>Conclusion<br>
?</p>

<blockquote>
<p>The TrueOS is impressive when consider it as relatively young.  It is a daring step that TrueOS developers took FreeBSD Current rather than FreeBSD Stable code base. Overall it has created its own place from the legacy shadow of PC-BSD.  Starting with easy installation TrueOS is a good combination of software and utilities that make the system ready to use. Go and get a TrueOS ISO to unleash the bleeding edge tag of FreeBSD</p>
</blockquote></li>
</ul>

<hr>

<h3><a href="http://stygix.org/nix/x240-freebsd.php" target="_blank" rel="nofollow noopener">Thinkpad x240 - FreeBSD Setup</a></h3>

<blockquote>
<p>What follows is a record of how I set up FreeBSD to be my daily driver OS on the Lenovo Thinkpad X240. Everything seems to work great. Although, the touchpad needs some tweaking. I've tried several configurations, even recompiling Xorg with EVDEV support and all that, to no avail. Eventually I will figure it out. Do not sleep the laptop from the command line. Do it from within Xorg, or it will not wake up. I don't know why. You can do it from a terminal within Xorg, just not from the naked command line without Xorg started. It also will not sleep by closing the lid. I included a sudo config that allows you to run /usr/sbin/zzz without a password, so what I do is I have a key combo assigned within i3wm to run "sudo /usr/sbin/zzz". It works fine this way.</p>

<p>I go into detail when it comes to setting up Xorg with i3wm. You can skip this if you want, but if you've never used a tiling window manager, it will handle screen real estate very efficiently on a laptop with a 12.5-inch screen and a touchpad.</p>

<p>First, download the amd64 image for 11.1-RELEASE and flash it to a USB pen drive. For the Unices, use this:</p>
</blockquote>

<p><code># dd if=FreeBSD-11.1-RELEASE-amd64-memstick.img of=/dev/da0 bs=1M conv=sync</code></p>

<blockquote>
<p>Obviously, you'll change /dev/da0 to whatever the USB pen drive is assigned. Plug it in, check dmesg.</p>

<p>Leave it plugged in, restart the laptop. When prompted, tap Enter to halt the boot process, then F12 to select a bootable device. Choose the USB drive.</p>

<p>I won't go through the actual install process, but it is pretty damn easy so just look at a guide or two and you'll be fine. If you can install Debian, you can install FreeBSD. I will, however, recommend ZFS if you have over 4GB of RAM (my particular variant of the X240 has 8GB of RAM, so yours should have at least 4GB), along with an encrypted disk, and an encrypted SWAP partition. When prompted to add an additional user, and you get to the question where it asks for additional groups, please make sure you add the user to "wheel". The rest should be self-explanatory during the install.</p>

<p>Now for the good shit. You just booted into a fresh FreeBSD install. Now what? Well, time to fire up vi and open some config files...</p>

<hr>
</blockquote>

<h3><a href="https://www.cnn.com/TECH/computing/9904/08/cdrom.idg/index.html" target="_blank" rel="nofollow noopener">CNN Article about CDROM.com and FreeBSD, from 1999</a></h3>

<blockquote>
<p>Walnut Creek CDROM sells a lot of CD-ROMs, but it gives away even more data. Specifically, anyone who has Internet access is free to log into wcarchive (ftp.cdrom.com) and start downloading bits.<br>
Even with a good Internet connection, however, you should expect to be at it for a while. At the present time, wcarchive resides on half a terabyte (500 GB) of RAID 5-disk storage. Even if your 56-Kbps modem can deliver seven kilobytes per second, downloading the complete archive would take you 70 million seconds. Even then, some of the files would be more than two years out of date, so a bit of "back and fill" would be needed.<br>
Of course, nobody uses wcarchive that way. Instead, they just drop in when they need the odd file or two. The FTP server is very accommodating; 3,600 simultaneous download sessions is the current limit and an upgrade to 10,000 sessions is in the works.<br>
This translates to about 800 GB per day of downloads. Bob Bruce (Walnut Creek's founder) says he's thinking about issuing a press release when they reach a terabyte a day. But 800 GB isn't all that shabby....</p>
</blockquote>

<ul>
<li>The hardware</li>
</ul>

<blockquote>
<p>Because FTP archives don't do a lot of thinking, wcarchive doesn't need a massive cluster of CPUs. In fact, it gets by with a single 200-MHz P6 Pentium Pro and a measly(!) 1 GB of RAM. The I/O support, however, is fairly impressive.<br>
A six-channel Mylex RAID controller (DAC960SXI; Ultra-Wide SCSI-SCSI) is the centerpiece of the I/O subsystem. Two channels link it to the PC ("Personal Computer"!?!), via a dual-channel Adaptec card (AHA-3940AUW; PCI to Ultra-Wide SCSI). An 256-MB internal cache helps it to eliminate recurring disk accesses.<br>
Four nine-drive disk arrays provide the actual storage. The two larger arrays use 18-GB IBM drives; the two smaller arrays use 9-GB Micropolis and Quantum drives. A separate 4-GB Quantum drive is used as the "system disk."<br>
The output side is handled by a single Intel 100Base-T controller (Pro/100B PCI), which feeds into the Internet through a number of shared DS3 (45 Mbps) and OC3 (155 Mbps) circuits.<br>
A detailed description of the system is available as ftp.cdrom.com/archive-info/configuration;</p>
</blockquote>

<ul>
<li>The software</li>
</ul>

<blockquote>
<p>The system software is rather prosaic: a copy of FreeBSD, supplemented by home-grown FTP mirroring and server code. Because of the massive hardware support, the software "only" needs to keep the I/O going in an efficient and reliable manner.<br>
FreeBSD, the "prosaic" operating system mentioned above, merits a bit more discussion. Like Linux, FreeBSD is open source. Anyone can examine, modify, and/or redistribute the source code. And, like Linux, an active user community helps the authors to find bugs, improve documentation, and generally support the OS.<br>
Unlike Linux, FreeBSD is derived from the Berkeley Unix code that forms the foundation for most commercial Unix variants. When you use the "fast file system" (cylinder groups, long file names, symbolic links, etc.), TCP/IP networking, termcap, or even vi, you are using Berkeley Unix additions.<br>
The version of BSD underlying FreeBSD, however, is "pure" BSD; don't look for the System V modifications you see in Solaris. Instead, think of it as SunOS, brought up to date with Kerberos, modern sendmail, an updated filesystem, and more. Solid, fast, and free!<br>
One of FreeBSD's finest innovations, the Ports Collection, makes FreeBSD a delight for open source application users. The Ports Collection automates the downloading, building, and installation (including de-installation) of 2,300+ open source packages.</p>
</blockquote>

<ul>
<li>The company</li>
</ul>

<blockquote>
<p>Walnut Creek CDROM has been around for several years now, so you are likely to be familiar with its offerings. You may not realize, however, that it provides the major financial support for FreeBSD.<br>
The FreeBSD support has two purposes. First, it provides the company with a solid base to run wcarchive and other massive projects. Second, it ties in with the company's mission of making software (and data) economically accessible.<br>
Bob Bruce, the firm's founder, is an interesting guy: laid back and somewhat conservative in manner, but productive and innovative in practice. Here is a possibly illustrative story.<br>
When Bob started selling CD-ROMs, disc caddies were selling for $15 each. Bob thought that was rather high, so he started investigating the marketplace. A long-distance call to Japan got him Sony's fax number; a series of faxes got him in touch with the salespeople.<br>
It turned out that caddies were available, in bulk, for only a few dollars each. Bulk, in this case, meant pallet-loads of 10,000 caddies. In an act of great faith, Bob purchased a pallet of caddies, then proceeded to sell them for five dollars each.<br>
The results were everything he might have wished. Folks who bought his CD-ROMs added caddies to their orders; folks who bought piles of caddies added in a disc or two. Either way, Walnut Creek CDROM was making a name for itself.<br>
Many pallet-loads later, the company is still selling caddies, making and distributing CD-ROMs, and giving away bits. Walnut Creek CDROM is a real open-source success story; its breadth and depth of offerings is well worth a look.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/openbsd/src/commit/b8584f4233dc11a328cd245a5843ec3d67462200" target="_blank" rel="nofollow noopener">OpenBSD adds kqueue event support to DRM, to detect device changes like HDMI cables being plugged in, and trigger randr events</a></li>
<li><a href="https://archive.org/details/AMultiTaskingOperatingSystemForMicrocomputers" target="_blank" rel="nofollow noopener">Thesis describing QUAD3, a unix-like, multi-tasking operating system for the 6502 processor </a></li>
<li><a href="https://blogs.msdn.microsoft.com/commandline/2018/01/12/chmod-chown-wsl-improvements/" target="_blank" rel="nofollow noopener">Windows is getting chmod and chown...</a></li>
<li><a href="https://www.theverge.com/platform/amp/2018/1/11/16878670/meltdown-spectre-disclosure-embargo-google-microsoft-linux" target="_blank" rel="nofollow noopener">Timeline: How they kept Meltdown and Spectre secret for so long </a></li>
<li><a href="https://bsd.network/" target="_blank" rel="nofollow noopener">bsd.network is a *BSD-themed Mastodon Instance</a>: Peter Hessler is administering a new Mastodon instance, running in an OpenBSD VM on top of an OpenBSD vmm hypervisor</li>
<li><a href="https://virtuallyfun.com/wordpress/wp-content/uploads/2017/12/whfUb.pdf" target="_blank" rel="nofollow noopener">Computer-Aided Instruction on UNIX</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/asiabsdcon-2018-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">AsiaBSDCon 2018 Travel Grant Application Now Open</a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/asiabsdcon-2018-freebsd-developers-summit-call-for-proposals/" target="_blank" rel="nofollow noopener">AsiaBSDCon 2018 FreeBSD Developers Summit Call for Proposals</a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/linuxfest-northwest-2018-call-for-proposals/" target="_blank" rel="nofollow noopener">LinuxFest Northwest 2018 Call for Proposals</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Jason - <a href="http://dpaste.com/05PRNG2" target="_blank" rel="nofollow noopener">Dont break my ports</a></li>
<li><p>Wilyarti - <a href="http://dpaste.com/1BG8GZW" target="_blank" rel="nofollow noopener">show content</a> <a href="https://clinetworking.wordpress.com/2017/12/08/data-de-duplication-file-diff-ing-and-s3-style-object-storage-using-digital-ocean-spaces" target="_blank" rel="nofollow noopener">https://clinetworking.wordpress.com/2017/12/08/data-de-duplication-file-diff-ing-and-s3-style-object-storage-using-digital-ocean-spaces</a></p></li>
<li><p>Scott - <a href="http://dpaste.com/0KER8YE#wrap" target="_blank" rel="nofollow noopener">Your show is Perfect!</a></p></li>
<li><p>Ken - <a href="http://dpaste.com/0WT8285#wrap" target="_blank" rel="nofollow noopener">Community Culture</a></p></li>
</ul>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>229: The Meltdown of Spectre</title>
  <link>https://www.bsdnow.tv/229</link>
  <guid isPermaLink="false">73543d49-f8be-481c-b9ed-34ad42cc934e</guid>
  <pubDate>Wed, 17 Jan 2018 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/73543d49-f8be-481c-b9ed-34ad42cc934e.mp3" length="78241972" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We review Meltdown and Spectre responses from various BSD projects, show you how to run CentOS with bhyve, GhostBSD 11.1 is out, and we look at the case against the fork syscall.</itunes:subtitle>
  <itunes:duration>1:48:40</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>&lt;p&gt;We review Meltdown and Spectre responses from various BSD projects, show you how to run CentOS with bhyve, GhostBSD 11.1 is out, and we look at the case against the fork syscall.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;More Meltdown&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Much has been happened this week, but before we get into a status update of the various mitigations on the other BSDs, some important updates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://newsroom.intel.com/news/intel-security-issue-update-addressing-reboot-issues/" target="_blank" rel="nofollow noopener"&gt;Intel has recalled the microcode update they issued on January 8th. It turns out this update can cause Haswell and Broadwell based systems to randomly reboot, with some frequency.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amd.com/en/corporate/speculative-execution" target="_blank" rel="nofollow noopener"&gt;AMD has confirmed that its processors are vulnerable to both variants of Spectre, and the the fix for variant #2 will require a forthcoming microcode update, in addition to OS level mitigations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sp.ts.fujitsu.com/dmsp/Publications/public/Intel-Side-Channel-Analysis-Method-Security-Review-CVE2017-5715-vulnerability-Fujitsu-products.pdf" target="_blank" rel="nofollow noopener"&gt;Fujitsu has provided a status report for most of its products, including SPARC hardware&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.theregister.co.uk/2018/01/12/intel_warns_meltdown_spectre_fixes_make_broadwells_haswells_unstable/" target="_blank" rel="nofollow noopener"&gt;The Register of course has some commentary&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If new code is needed, Intel will need to get it right: the company already faces numerous class action lawsuits. Data centre operators already scrambling to conduct unplanned maintenance will not be happy about the fix reducing stability.&lt;br&gt;
AMD has said that operating system patches alone will address the Spectre bounds check bypass bug. Fixing Spectre’s branch target injection flaw will require firmware fixes that AMD has said will start to arrive for Ryzen and EPYC CPUs this week.&lt;br&gt;
The Register has also asked other server vendors how they’re addressing the bugs. Oracle has patched its Linux, but has told us it has “No comment/statement on this as of now” in response to our query about its x86 systems, x86 cloud, Linux and Solaris on x86. The no comment regarding Linux is odd as fixes for Oracle Linux landed &lt;a href="https://linux.oracle.com/errata/ELSA-2018-4006.html" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt; on January 9th.&lt;br&gt;
SPARC-using Fujitsu, meanwhile, has published advice (PDF) revealing how it will address the twin bugs in its servers and PCs, and also saying its SPARC systems are “under investigation”.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20180106082238" target="_blank" rel="nofollow noopener"&gt;Response from OpenBSD:&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://marc.info/?t=151521438600001&amp;amp;r=1&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;'Meltdown, aka "Dear Intel, you suck"'&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.itwire.com/security/81338-handling-of-cpu-bug-disclosure-incredibly-bad-openbsd-s-de-raadt.html" target="_blank" rel="nofollow noopener"&gt;Theo de Raadt's response to Meltdown&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://marc.info/?l=openbsd-misc&amp;amp;m=118296441702631&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;That time in 2007 when Theo talked about how Intel x86 had major design problems in their chips&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://marc.info/?l=openbsd-cvs&amp;amp;m=151570987406841&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD gets a Microcode updater&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2018-January/313758.html" target="_blank" rel="nofollow noopener"&gt;Response from Dragonfly BSD:&lt;/a&gt;&lt;br&gt;
The longer response in four commits&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2018-January/627151.html" target="_blank" rel="nofollow noopener"&gt;One&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2018-January/627152.html" target="_blank" rel="nofollow noopener"&gt;Two&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2018-January/627153.html" target="_blank" rel="nofollow noopener"&gt;Three&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2018-January/627154.html" target="_blank" rel="nofollow noopener"&gt;Four&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.dragonflydigest.com/2018/01/10/20718.html" target="_blank" rel="nofollow noopener"&gt;Even more Meltdown&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2018-January/335643.html" target="_blank" rel="nofollow noopener"&gt;DragonflyBSD master now has full IBRS and IBPB support&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IBRS (Indirect Branch Restricted Speculation): The x86 IBRS feature requires corresponding microcode support. It mitigates the variant 2 vulnerability.&lt;/li&gt;
&lt;li&gt;If IBRS is set, near returns and near indirect jumps/calls will not allow their predicted target address to be controlled by code that executed in a less privileged prediction mode before the IBRS mode was last written with a value of 1 or on another logical processor so long as all RSB entries from the previous less privileged prediction mode are overwritten.&lt;/li&gt;
&lt;li&gt;Speculation on Skylake and later requires these patches ("dynamic IBRS") be used instead of retpoline.  If you are very paranoid or you run on a CPU where IBRS=1 is cheaper, you may also want to run in "IBRS always" mode.&lt;/li&gt;
&lt;li&gt;IBPB (Indirect Branch Prediction Barrier): Setting of IBPB ensures that earlier code's behavior does not control later indirect branch predictions.  It is used when context switching to new untrusted address space. Unlike IBRS, IBPB is a command MSR and does not retain its state.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.phoronix.com/scan.php?page=article&amp;amp;item=dragonfly-bsd-meltdown&amp;amp;num=1" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD's Meltdown Fix Causing More Slowdowns Than Linux&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://mail-index.netbsd.org/source-changes/2018/01/07/msg090945.html" target="_blank" rel="nofollow noopener"&gt;NetBSD HOTPATCH()&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://mail-index.netbsd.org/source-changes/2018/01/07/msg090952.html" target="_blank" rel="nofollow noopener"&gt;NetBSD SVS (Separate Virtual Space)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.daemon-security.com/2018/01/bhyve-centos-0110.html" target="_blank" rel="nofollow noopener"&gt;Running CentOS with Bhyve&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;With the addition of UEFI in FreeBSD (since version 11), users of bhyve can use the UEFI boot loader instead of the grub2-bhyve port for booting operating systems such as Microsoft Windows, Linux and OpenBSD. The following page provides information necessary for setting up bhyve with UEFI boot loader support:&lt;br&gt;
&lt;a href="https://wiki.freebsd.org/bhyve/UEFI" target="_blank" rel="nofollow noopener"&gt;https://wiki.freebsd.org/bhyve/UEFI&lt;/a&gt;&lt;br&gt;
Features have been added to vmrun.sh to make it easier to setup the UEFI boot loader, but the following is required to install the UEFI firmware pkg:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;# pkg install -y uefi-edk2-bhyve&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;With graphical support, you can use a vnc client like tigervnc, which can be installed with the following command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;# pkg install -y tigervnc&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In the case of most corporate or government environments, the Linux of choice is RHEL, or CentOS. Utilizing bhyve, you can test and install CentOS in a bhyve VM the same way you would deploy a Linux VM in production. The first step is to download the CentOS iso (for this tutorial I used the CentOS minimal ISO): &lt;a href="http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso" target="_blank" rel="nofollow noopener"&gt;http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I normally use a ZFS Volume (zvol) when running bhyve VMs. Run the following commands to create a zvol (ensure you have enough disk space to perform these operations):&lt;/p&gt;

&lt;p&gt;&lt;code&gt;# zfs create -V20G -o volmode=dev zroot/centos0&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;(zroot in this case is the zpool I am using)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Similar to my previous post about vmrun.sh, you need certain items to be configured on FreeBSD in order to use bhyve. The following commands are necessary to get things running:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# echo "vfs.zfs.vol.mode=2" &amp;gt;&amp;gt; /boot/loader.conf
# kldload vmm
# ifconfig tap0 create
# sysctl net.link.tap.up_on_open=1
net.link.tap.up_on_open: 0 -&amp;gt; 1
# ifconfig bridge0 create
# ifconfig bridge0 addm em0 addm tap0
# ifconfig bridge0 up
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;(replace em0 with whatever your physical interface is).&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There are a number of utilities that can be used to manage bhyve VMs, and I am sure there is a way to use vmrun.sh to run Linux VMs, but since all of the HowTos for running Linux use the bhyve command line, the following script is what I use for running CentOS with bhyve.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#!/bin/sh
#
# General bhyve install/run script for CentOS
# Based on scripts from pr1ntf and lattera 

HOST="127.0.0.1" 
PORT="5901"
ISO="/tmp/centos.iso"
VMNAME="centos"
ZVOL="centos0" 
SERIAL="nmda0A"
TAP="tap1" 
CPU="1"
RAM="1024M"
HEIGHT="800"
WIDTH="600"

if [ "$1" == "install" ];
then 

#Kill it before starting it
bhyvectl --destroy --vm=$VMNAME

bhyve -c $CPU -m $RAM -H -P -A \ 
-s 0,hostbridge \
-s 2,virtio-net,$TAP \ 
-s 3,ahci-cd,$ISO \
-s 4,virtio-blk,/dev/zvol/zroot/$ZVOL \
-s 29,fbuf,tcp=$HOST:$PORT,w=$WIDTH,h=$HEIGHT \ 
-s 30,xhci,tablet \
-s 31,lpc -l com1,/dev/$SERIAL \ 
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
$VMNAME

#kill it after 
bhyvectl --destroy --vm=$VMNAME

elif [ "$1" == "run" ];
then 

#Kill it before starting it
bhyvectl --destroy --vm=centos 

bhyve -c $CPU -m $RAM -w -H \
-s 0,hostbridge \
-s 2,virtio-net,$TAP \ 
-s 4,virtio-blk,/dev/zvol/zroot/$ZVOL \
-s 29,fbuf,tcp=$HOST:$PORT,w=$WIDTH,h=$HEIGHT \ 
-s 30,xhci,tablet \
-s 31,lpc -l com1,/dev/$SERIAL \ 
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
$VMNAME &amp;amp;

else 
echo "Please type install or run"; 
fi 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The variables at the top of the script can be adjusted to fit your own needs. With the addition of the graphics output protocol in UEFI (or UEFI-GOP), a VNC console is launched and hosted with the HOST and PORT setting. There is a password option available for the VNC service, but the connection should be treated as insecure. It is advised to only listen on localhost with the VNC console and tunnel into the host of the bhyve VM. Now with the ISO copied to /tmp/centos.iso, and the script saved as centos.sh you can run the following command to start the install:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;# ./centos.sh install&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;At this point, using vncviewer (on the local machine, or over an SSH tunnel), you should be able to bring up the console and run the CentOS installer as normal. The absolutely most critical item is to resolve an issue with the booting of UEFI after the installation has completed. Because of the path used in bhyve, you need to run the following to be able to boot CentOS after the installation:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# cp -f /mnt/sysimage/boot/efi/EFI/centos/grubx64.efi /mnt/sysimage/boot/efi/EFI/BOOT&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;With this setting changed, the same script can be used to launch your CentOS VM as needed:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# ./centos.sh run&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you are interested in a better solution for managing your Linux VM, take a look at the various bhyve management ports in the FreeBSD ports tree.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Interview - newnix architect - &lt;a href="https://bsd.network/@newnix" target="_blank" rel="nofollow noopener"&gt;@newnix&lt;/a&gt;&lt;/h2&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://distrowatch.com/weekly.php?issue=20180108#ghostbsd" target="_blank" rel="nofollow noopener"&gt;GhostBSD 11.1 - FreeBSD for the desktop&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;GhostBSD is a desktop oriented operating system which is based on FreeBSD. The project takes the FreeBSD operating system and adds a desktop environment, some popular applications, a graphical package manager and Linux binary compatibility. GhostBSD is available in two flavours, MATE and Xfce, and is currently available for 64-bit x86 computers exclusively. I downloaded the MATE edition which is available as a 2.3GB ISO file. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Installing &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;GhostBSD's system installer is a graphical application which begins by asking us for our preferred language, which we can select from a list. We can then select our keyboard's layout and our time zone. When it comes to partitioning we have three main options: let GhostBSD take over the entire disk using UFS as the file system, create a custom UFS layout or take over the entire disk using ZFS as the file system. UFS is a classic file system and quite popular, it is more or less FreeBSD's equivalent to Linux's ext4. ZFS is a more advanced file system with snapshots, multi-disk volumes and optional deduplication of data. I decided to try the ZFS option. &lt;/p&gt;

&lt;p&gt;Once I selected ZFS I didn't have many more options to go through. I was given the chance to set the size of my swap space and choose whether to set up ZFS as a plain volume, with a mirrored disk for backup or in a RAID arrangement with multiple disks. I stayed with the plain, single disk arrangement. We are then asked to create a password for the root account and create a username and password for a regular user account. The installer lets us pick our account's shell with the default being fish, which seemed unusual. Other shells, including bash, csh, tcsh, ksh and zsh are available. The installer goes to work copying files and offers to reboot our computer when it is done. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Early impressions &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The newly installed copy of GhostBSD boots to a graphical login screen where we can sign into the account we created during the install process. Signing into our account loads the MATE 1.18 desktop environment. I found MATE to be responsive and applications were quick to open. Early on I noticed odd window behaviour where windows would continue to slide around after I moved them with the mouse, as if the windows were skidding on ice. Turning off compositing in the MATE settings panel corrected this behaviour. I also found the desktop's default font (Montserrat Alternates) to be hard on my eyes as the font is thin and, for lack of a better term, bubbly. Fonts can be easily adjusted in the settings panel. &lt;/p&gt;

&lt;p&gt;A few minutes after I signed into my account, a notification appeared in the system tray letting me know software updates were available. Clicking the update icon brings up a small window showing us a list of package updates and, if any are available, updates to the base operating system. FreeBSD, and therefore GhostBSD, both separate the core operating system from the applications (packages) which run on the operating system. This means we can update the core of the system separately from the applications. GhostBSD's core remains relatively static and minimal while applications are updated using a semi-rolling schedule. &lt;/p&gt;

&lt;p&gt;When we are updating the core operating system, the update manager will give us the option of rebooting the system to finish the process. We can dismiss this prompt to continue working, but the wording of the prompt may be confusing. When asked if we want to reboot to continue the update process, the options presented to us are "Continue" or "Restart". The Continue option closes the update manager and returns us to the MATE desktop. &lt;/p&gt;

&lt;p&gt;The update manager worked well for me and the only issue I ran into was when I dismissed the update manager and then wanted to install updates later. There are two launchers for the update manager, one in MATE's System menu and one in the settings panel. Clicking either of these launchers didn't accomplish anything. Running the update manager from the command line simply caused the process to lock up until killed. I found if I had dismissed the update manager once, I'd have to wait until I logged in again to use it. Alternatively, I could use a command line tool or use the OctoPkg package manager to install package updates. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusions &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Most of my time with GhostBSD, I was impressed and happy with the operating system. GhostBSD builds on a solid, stable FreeBSD core. We benefit from FreeBSD's performance and its large collection of open source software packages. The MATE desktop was very responsive in my trial and the system is relatively light on memory, even when run on ZFS which has a reputation for taking up more memory than other file systems. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=FreeBSD-Wayland-Availability" target="_blank" rel="nofollow noopener"&gt;FreeBSD Looks At Making Wayland Support Available By Default&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;There's an active discussion this week about making Wayland support available by default on FreeBSD. &lt;/p&gt;

&lt;p&gt;FreeBSD has working Wayland support -- well, assuming you have working Intel / Radeon graphics -- and do have Weston and some other Wayland components available via FreeBSD Ports. FreeBSD has offered working Wayland support that is "quite usable" for more than one year. But, it's not too easy to get going with Wayland on FreeBSD. &lt;/p&gt;

&lt;p&gt;Right now those FreeBSD desktop users wanting to use/develop with Wayland currently need to rebuild the GTK3 tool-kit, Mesa, and other packages with Wayland support enabled. This call for action now is about allowing the wayland=on to be made the default. &lt;/p&gt;

&lt;p&gt;This move would then allow these dependencies to be built with Wayland support by default, but for the foreseeable future FreeBSD will continue defaulting to X.Org-based sessions. &lt;/p&gt;

&lt;p&gt;The FreeBSD developers mostly acknowledge that Wayland is the future and the cost of enabling Wayland support by default is just slightly larger packages, but that weight is still leaner than the size of the X.Org code-base and its dependencies. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-ports/2017-December/111906.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD vote thread&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/trueos/trueos-core/commit/f48dba9d4e8cefc45d6f72336e7a0b5f42a2f6f1" target="_blank" rel="nofollow noopener"&gt;TrueOS Fliped the switch already&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://sircmpwn.github.io/2018/01/02/The-case-against-fork.html" target="_blank" rel="nofollow noopener"&gt;fork is not my favorite syscall&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This article has been on my to-write list for a while now. In my opinion, fork is one of the most questionable design choices of Unix. I don’t understand the circumstances that led to its creation, and I grieve over the legacy rationale that keeps it alive to this day.&lt;/p&gt;

&lt;p&gt;Let’s set the scene. It’s 1971 and you’re a fly on the wall in Bell Labs, watching the first edition of Unix being designed for the PDP-11/20. This machine has a 16-bit address space with no more than 248 kilobytes of memory. They’re discussing how they’re going to support programs that spawn new programs, and someone has a brilliant idea. “What if we copied the entire address space of the program into a new process running from the same spot, then let them overwrite themselves with the new program?” This got a rousing laugh out of everyone present, then they moved on to a better design which would become immortalized in the most popular and influential operating system of all time.&lt;/p&gt;

&lt;p&gt;At least, that’s the story I’d like to have been told. In actual fact, the laughter becomes consensus. There’s an obvious problem with this approach: every time you want to execute a new program, the entire process space is copied and promptly discarded when the new program begins. Usually when I complain about fork, this the point when its supporters play the virtual memory card, pointing out that modern operating systems don’t actually have to copy the whole address space. We’ll get to that, but first — First Edition Unix does copy the whole process space, so this excuse wouldn’t have held up at the time. By Fourth Edition Unix (the next one for which kernel sources survived), they had wisened up a bit, and started only copying segments when they faulted.&lt;/p&gt;

&lt;p&gt;This model leads to a number of problems. One is that the new process inherits all of the parent’s process descriptors, so you have to close them all before you exec another process. However, unless you’re manually keeping tabs on your open file descriptors, there is no way to know what file handles you must close! The hack that solves this is CLOEXEC, the first of many hacks that deal with fork’s poor design choices. This file descriptors problem balloons a bit - consider for example if you want to set up a pipe. You have to establish a piped pair of file descriptors in the parent, then close every fd but the pipe in the child, then dup2 the pipe file descriptor over the (now recently closed) file descriptor 1. By this point you’ve probably had to do several non-trivial operations and utilize a handful of variables from the parent process space, which hopefully were on the stack so that we don’t end up copying segments into the new process space anyway.&lt;/p&gt;

&lt;p&gt;These problems, however, pale in comparison to my number one complaint with the fork model. Fork is the direct cause of the stupidest component I’ve ever heard of in an operating system: the out-of-memory (aka OOM) killer. Say you have a process which is using half of the physical memory on your system, and wants to spawn a tiny program. Since fork “copies” the entire process, you might be inclined to think that this would make fork fail. But, on Linux and many other operating systems since, it does not fail! They agree that it’s stupid to copy the entire process just to exec something else, but because fork is Important for Backwards Compatibility, they just fake it and reuse the same memory map (except read-only), then trap the faults and actually copy later. The hope is that the child will get on with it and exec before this happens.&lt;/p&gt;

&lt;p&gt;However, nothing prevents the child from doing something other than exec - it’s free to use the memory space however it desires! This approach now leads to memory overcommittment - Linux has promised memory it does not have. As a result, when it really does run out of physical memory, Linux will just kill off processes until it has some memory back. Linux makes an awfully big fuss about “never breaking userspace” for a kernel that will lie about memory it doesn’t have, then kill programs that try to use the back-alley memory they were given. That this nearly 50 year old crappy design choice has come to this astonishes me.&lt;/p&gt;

&lt;p&gt;Alas, I cannot rant forever without discussing the alternatives. There are better process models that have been developed since Unix!&lt;/p&gt;

&lt;p&gt;The first attempt I know of is BSD’s vfork syscall, which is, in a nutshell, the same as fork but with severe limitations on what you do in the child process (i.e. nothing other than calling exec straight away). There are loads of problems with vfork. It only handles the most basic of use cases: you cannot set up a pipe, cannot set up a pty, and can’t even close open file descriptors you inherited from the parent. Also, you couldn’t really be sure of what variables you were and weren’t editing or allowed to edit, considering the limitations of the C specification. Overall this syscall ended up being pretty useless.&lt;/p&gt;

&lt;p&gt;Another model is posix_spawn, which is a hell of an interface. It’s far too complicated for me to detail here, and in my opinion far too complicated to ever consider using in practice. Even if it could be understood by mortals, it’s a really bad implementation of the spawn paradigm — it basically operates like fork backwards, and inherits many of the same flaws. You still have to deal with children inheriting your file descriptors, for example, only now you do it in the parent process. It’s also straight-up impossible to make a genuine pipe with posix_spawn. (Note: a reader corrected me - this is indeed possible via posix_spawn_file_actions_adddup2.)&lt;/p&gt;

&lt;p&gt;Let’s talk about the good models - rfork and spawn (at least, if spawn is done right). rfork originated from plan9 and is a beautiful little coconut of a syscall, much like the rest of plan9. They also implement fork, but it’s a special case of rfork. plan9 does not distinguish between processes and threads - all threads are processes and vice versa. However, new processes in plan9 are not the everything-must-go fuckfest of your typical fork call. Instead, you specify exactly what the child should get from you. You can choose to include (or not include) your memory space, file descriptors, environment, or a number of other things specific to plan9. There’s a cool flag that makes it so you don’t have to reap the process, too, which is nice because reaping children is another really stupid idea. It still has some problems, mainly around creating pipes without tremendous file descriptor fuckery, but it’s basically as good as the fork model gets. Note: Linux offers this via the clone syscall now, but everyone just fork+execs anyway.&lt;/p&gt;

&lt;p&gt;The other model is the spawn model, which I prefer. This is the approach I took in my own kernel for KnightOS, and I think it’s also used in NT (Microsoft’s kernel). I don’t really know much about NT, but I can tell you how it works in KnightOS. Basically, when you create a new process, it is kept in limbo until the parent consents to begin. You are given a handle with which you can configure the process - you can change its environment, load it up with file descriptors to your liking, and so on. When you’re ready for it to begin, you give the go-ahead and it’s off to the races. The spawn model has none of the flaws of fork.&lt;/p&gt;

&lt;p&gt;Both fork and exec can be useful at times, but spawning is much better for 90% of their use-cases. If I were to write a new kernel today, I’d probably take a leaf from plan9’s book and find a happy medium between rfork and spawn, so you could use spawn to start new threads in your process space as well. To the brave OS designers of the future, ready to shrug off the weight of legacy: please reconsider fork.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://svnweb.freebsd.org/changeset/base/327783" target="_blank" rel="nofollow noopener"&gt;Enable ld.lld as bootstrap linker by default on amd64&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Enable ld.lld as bootstrap linker by default on amd64&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For some time we have been planning to migrate to LLVM's lld linker.&lt;br&gt;
Having a man page was the last blocking issue for using ld.lld to link&lt;br&gt;
the base system kernel + userland, now addressed by r327770.  Link the&lt;br&gt;
kernel and userland libraries and binaries with ld.lld by default, for&lt;br&gt;
additional test coverage.&lt;/p&gt;

&lt;p&gt;This has been a long time in the making.  On 2013-04-13 I submitted an&lt;br&gt;
upstream tracking issue in LLVM PR 23214: [META] Using LLD as FreeBSD's&lt;br&gt;
system linker.  Since then 85 individual issues were identified, and&lt;br&gt;
submitted as dependencies.  These have been addressed along with two&lt;br&gt;
and a half years of other lld development and improvement.&lt;/p&gt;

&lt;p&gt;I'd like to express deep gratitude to upstream lld developers Rui&lt;br&gt;
Ueyama, Rafael Espindola, George Rimar and Davide Italiano.  They put in&lt;br&gt;
substantial effort in addressing the issues we found affecting&lt;br&gt;
FreeBSD/amd64.&lt;/p&gt;

&lt;p&gt;To revert to using ld.bfd as the bootstrap linker, in /etc/src.conf set&lt;/p&gt;

&lt;p&gt;WITHOUT_LLD_BOOTSTRAP=yes&lt;/p&gt;

&lt;p&gt;If you need to set this, please follow up with a PR or post to the&lt;br&gt;
freebsd-toolchain mailing list explaining how default WITH_LLD_BOOTSTRAP&lt;br&gt;
failed for your use case.&lt;/p&gt;

&lt;p&gt;Note that GNU ld.bfd is still installed as /usr/bin/ld, and will still&lt;br&gt;
be used for linking ports.  ld.lld can be installed as /usr/bin/ld by&lt;br&gt;
setting in /etc/src.conf&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;WITH_LLD_IS_LLD=yes
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A followup commit will set WITH_LLD_IS_LD by default, possibly after&lt;br&gt;
Clang/LLVM/lld 6.0 is merged to FreeBSD.&lt;/p&gt;

&lt;p&gt;Release notes:    Yes&lt;br&gt;
Sponsored by: The FreeBSD Foundation&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Followup: &lt;a href="https://www.mail-archive.com/svn-src-all@freebsd.org/msg155493.html" target="_blank" rel="nofollow noopener"&gt;https://www.mail-archive.com/svn-src-all@freebsd.org/msg155493.html&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171229080944" target="_blank" rel="nofollow noopener"&gt;BSDCAN2017 Interview with Peter Hessler, Reyk Floeter, and Henning Brauer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=e-Xim3_rJns" target="_blank" rel="nofollow noopener"&gt;video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://freeshell.de/%7Emk/projects/dsbmd.html" target="_blank" rel="nofollow noopener"&gt;DSBMD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://media.ccc.de/v/34c3-9196-may_contain_dtraces_of_freebsd" target="_blank" rel="nofollow noopener"&gt;ccc34 talk - May contain DTraces of FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[scripts to run an OpenBSD mirror, rsync and verify])(&lt;a href="https://github.com/bluhm/mirror-openbsd" target="_blank" rel="nofollow noopener"&gt;https://github.com/bluhm/mirror-openbsd&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://int10h.org/oldschool-pc-fonts/readme/" target="_blank" rel="nofollow noopener"&gt;Old School PC Fonts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;David - &lt;a href="http://dpaste.com/33HKKEM#wrap" target="_blank" rel="nofollow noopener"&gt;Approach and Tools for Snapshots and Remote Replication&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brian - &lt;a href="http://dpaste.com/3QWFEYR#wrap" target="_blank" rel="nofollow noopener"&gt;Help getting my FreeBSD systems talking across the city&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Malcolm - &lt;a href="http://dpaste.com/1Z9Y8H1" target="_blank" rel="nofollow noopener"&gt;First BSD Meetup in Stockholm happened and it was great&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/3EC9RGG#wrap" target="_blank" rel="nofollow noopener"&gt;Update on TrueOS system&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We review Meltdown and Spectre responses from various BSD projects, show you how to run CentOS with bhyve, GhostBSD 11.1 is out, and we look at the case against the fork syscall.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3>More Meltdown</h3>

<ul>
<li><p>Much has been happened this week, but before we get into a status update of the various mitigations on the other BSDs, some important updates:</p>

<ul>
<li><a href="https://newsroom.intel.com/news/intel-security-issue-update-addressing-reboot-issues/" target="_blank" rel="nofollow noopener">Intel has recalled the microcode update they issued on January 8th. It turns out this update can cause Haswell and Broadwell based systems to randomly reboot, with some frequency.</a></li>
<li><a href="https://www.amd.com/en/corporate/speculative-execution" target="_blank" rel="nofollow noopener">AMD has confirmed that its processors are vulnerable to both variants of Spectre, and the the fix for variant #2 will require a forthcoming microcode update, in addition to OS level mitigations</a></li>
<li><a href="https://sp.ts.fujitsu.com/dmsp/Publications/public/Intel-Side-Channel-Analysis-Method-Security-Review-CVE2017-5715-vulnerability-Fujitsu-products.pdf" target="_blank" rel="nofollow noopener">Fujitsu has provided a status report for most of its products, including SPARC hardware</a></li>
</ul></li>
<li><p><a href="https://www.theregister.co.uk/2018/01/12/intel_warns_meltdown_spectre_fixes_make_broadwells_haswells_unstable/" target="_blank" rel="nofollow noopener">The Register of course has some commentary</a></p></li>
</ul>

<blockquote>
<p>If new code is needed, Intel will need to get it right: the company already faces numerous class action lawsuits. Data centre operators already scrambling to conduct unplanned maintenance will not be happy about the fix reducing stability.<br>
AMD has said that operating system patches alone will address the Spectre bounds check bypass bug. Fixing Spectres branch target injection flaw will require firmware fixes that AMD has said will start to arrive for Ryzen and EPYC CPUs this week.<br>
The Register has also asked other server vendors how theyre addressing the bugs. Oracle has patched its Linux, but has told us it has No comment/statement on this as of now in response to our query about its x86 systems, x86 cloud, Linux and Solaris on x86. The no comment regarding Linux is odd as fixes for Oracle Linux landed <a href="https://linux.oracle.com/errata/ELSA-2018-4006.html" target="_blank" rel="nofollow noopener">here</a> on January 9th.<br>
SPARC-using Fujitsu, meanwhile, has published advice (PDF) revealing how it will address the twin bugs in its servers and PCs, and also saying its SPARC systems are under investigation.</p>
</blockquote>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180106082238" target="_blank" rel="nofollow noopener">Response from OpenBSD:</a></li>
</ul>

<p><a href="https://marc.info/?t=151521438600001&amp;r=1&amp;w=2" target="_blank" rel="nofollow noopener">'Meltdown, aka "Dear Intel, you suck"'</a></p>

<ul>
<li><p><a href="https://www.itwire.com/security/81338-handling-of-cpu-bug-disclosure-incredibly-bad-openbsd-s-de-raadt.html" target="_blank" rel="nofollow noopener">Theo de Raadt's response to Meltdown</a></p></li>
<li><p><a href="https://marc.info/?l=openbsd-misc&amp;m=118296441702631&amp;w=2" target="_blank" rel="nofollow noopener">That time in 2007 when Theo talked about how Intel x86 had major design problems in their chips</a></p></li>
<li><p><a href="https://marc.info/?l=openbsd-cvs&amp;m=151570987406841&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD gets a Microcode updater</a></p></li>
<li><p><a href="http://lists.dragonflybsd.org/pipermail/users/2018-January/313758.html" target="_blank" rel="nofollow noopener">Response from Dragonfly BSD:</a><br>
The longer response in four commits</p>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2018-January/627151.html" target="_blank" rel="nofollow noopener">One</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2018-January/627152.html" target="_blank" rel="nofollow noopener">Two</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2018-January/627153.html" target="_blank" rel="nofollow noopener">Three</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2018-January/627154.html" target="_blank" rel="nofollow noopener">Four</a></li>
</ul></li>
<li><p><a href="https://www.dragonflydigest.com/2018/01/10/20718.html" target="_blank" rel="nofollow noopener">Even more Meltdown</a></p></li>
<li><p><a href="http://lists.dragonflybsd.org/pipermail/users/2018-January/335643.html" target="_blank" rel="nofollow noopener">DragonflyBSD master now has full IBRS and IBPB support</a></p>

<ul>
<li>IBRS (Indirect Branch Restricted Speculation): The x86 IBRS feature requires corresponding microcode support. It mitigates the variant 2 vulnerability.</li>
<li>If IBRS is set, near returns and near indirect jumps/calls will not allow their predicted target address to be controlled by code that executed in a less privileged prediction mode before the IBRS mode was last written with a value of 1 or on another logical processor so long as all RSB entries from the previous less privileged prediction mode are overwritten.</li>
<li>Speculation on Skylake and later requires these patches ("dynamic IBRS") be used instead of retpoline.  If you are very paranoid or you run on a CPU where IBRS=1 is cheaper, you may also want to run in "IBRS always" mode.</li>
<li>IBPB (Indirect Branch Prediction Barrier): Setting of IBPB ensures that earlier code's behavior does not control later indirect branch predictions.  It is used when context switching to new untrusted address space. Unlike IBRS, IBPB is a command MSR and does not retain its state.</li>
</ul></li>
<li><p><a href="https://www.phoronix.com/scan.php?page=article&amp;item=dragonfly-bsd-meltdown&amp;num=1" target="_blank" rel="nofollow noopener">DragonFlyBSD's Meltdown Fix Causing More Slowdowns Than Linux</a></p></li>
<li><p><a href="http://mail-index.netbsd.org/source-changes/2018/01/07/msg090945.html" target="_blank" rel="nofollow noopener">NetBSD HOTPATCH()</a></p></li>
<li><p><a href="http://mail-index.netbsd.org/source-changes/2018/01/07/msg090952.html" target="_blank" rel="nofollow noopener">NetBSD SVS (Separate Virtual Space)</a></p></li>
</ul>

<hr>

<h3><a href="https://www.daemon-security.com/2018/01/bhyve-centos-0110.html" target="_blank" rel="nofollow noopener">Running CentOS with Bhyve</a></h3>

<blockquote>
<p>With the addition of UEFI in FreeBSD (since version 11), users of bhyve can use the UEFI boot loader instead of the grub2-bhyve port for booting operating systems such as Microsoft Windows, Linux and OpenBSD. The following page provides information necessary for setting up bhyve with UEFI boot loader support:<br>
<a href="https://wiki.freebsd.org/bhyve/UEFI" target="_blank" rel="nofollow noopener">https://wiki.freebsd.org/bhyve/UEFI</a><br>
Features have been added to vmrun.sh to make it easier to setup the UEFI boot loader, but the following is required to install the UEFI firmware pkg:</p>

<p><code># pkg install -y uefi-edk2-bhyve</code></p>

<p>With graphical support, you can use a vnc client like tigervnc, which can be installed with the following command:</p>

<p><code># pkg install -y tigervnc</code></p>

<p>In the case of most corporate or government environments, the Linux of choice is RHEL, or CentOS. Utilizing bhyve, you can test and install CentOS in a bhyve VM the same way you would deploy a Linux VM in production. The first step is to download the CentOS iso (for this tutorial I used the CentOS minimal ISO): <a href="http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso" target="_blank" rel="nofollow noopener">http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso</a></p>

<p>I normally use a ZFS Volume (zvol) when running bhyve VMs. Run the following commands to create a zvol (ensure you have enough disk space to perform these operations):</p>

<p><code># zfs create -V20G -o volmode=dev zroot/centos0</code></p>
</blockquote>

<ul>
<li>(zroot in this case is the zpool I am using)</li>
</ul>

<blockquote>
<p>Similar to my previous post about vmrun.sh, you need certain items to be configured on FreeBSD in order to use bhyve. The following commands are necessary to get things running:</p>

<pre><code># echo "vfs.zfs.vol.mode=2" &gt;&gt; /boot/loader.conf
# kldload vmm
# ifconfig tap0 create
# sysctl net.link.tap.up_on_open=1
net.link.tap.up_on_open: 0 -&gt; 1
# ifconfig bridge0 create
# ifconfig bridge0 addm em0 addm tap0
# ifconfig bridge0 up
</code></pre>
</blockquote>

<ul>
<li>(replace em0 with whatever your physical interface is).</li>
</ul>

<blockquote>
<p>There are a number of utilities that can be used to manage bhyve VMs, and I am sure there is a way to use vmrun.sh to run Linux VMs, but since all of the HowTos for running Linux use the bhyve command line, the following script is what I use for running CentOS with bhyve.</p>

<pre><code>#!/bin/sh
#
# General bhyve install/run script for CentOS
# Based on scripts from pr1ntf and lattera 

HOST="127.0.0.1" 
PORT="5901"
ISO="/tmp/centos.iso"
VMNAME="centos"
ZVOL="centos0" 
SERIAL="nmda0A"
TAP="tap1" 
CPU="1"
RAM="1024M"
HEIGHT="800"
WIDTH="600"

if [ "$1" == "install" ];
then 

#Kill it before starting it
bhyvectl --destroy --vm=$VMNAME

bhyve -c $CPU -m $RAM -H -P -A \ 
-s 0,hostbridge \
-s 2,virtio-net,$TAP \ 
-s 3,ahci-cd,$ISO \
-s 4,virtio-blk,/dev/zvol/zroot/$ZVOL \
-s 29,fbuf,tcp=$HOST:$PORT,w=$WIDTH,h=$HEIGHT \ 
-s 30,xhci,tablet \
-s 31,lpc -l com1,/dev/$SERIAL \ 
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
$VMNAME

#kill it after 
bhyvectl --destroy --vm=$VMNAME

elif [ "$1" == "run" ];
then 

#Kill it before starting it
bhyvectl --destroy --vm=centos 

bhyve -c $CPU -m $RAM -w -H \
-s 0,hostbridge \
-s 2,virtio-net,$TAP \ 
-s 4,virtio-blk,/dev/zvol/zroot/$ZVOL \
-s 29,fbuf,tcp=$HOST:$PORT,w=$WIDTH,h=$HEIGHT \ 
-s 30,xhci,tablet \
-s 31,lpc -l com1,/dev/$SERIAL \ 
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
$VMNAME &amp;

else 
echo "Please type install or run"; 
fi 
</code></pre>

<p>The variables at the top of the script can be adjusted to fit your own needs. With the addition of the graphics output protocol in UEFI (or UEFI-GOP), a VNC console is launched and hosted with the HOST and PORT setting. There is a password option available for the VNC service, but the connection should be treated as insecure. It is advised to only listen on localhost with the VNC console and tunnel into the host of the bhyve VM. Now with the ISO copied to /tmp/centos.iso, and the script saved as centos.sh you can run the following command to start the install:</p>

<p><code># ./centos.sh install</code></p>

<p>At this point, using vncviewer (on the local machine, or over an SSH tunnel), you should be able to bring up the console and run the CentOS installer as normal. The absolutely most critical item is to resolve an issue with the booting of UEFI after the installation has completed. Because of the path used in bhyve, you need to run the following to be able to boot CentOS after the installation:</p>
</blockquote>

<p><code># cp -f /mnt/sysimage/boot/efi/EFI/centos/grubx64.efi /mnt/sysimage/boot/efi/EFI/BOOT</code></p>

<blockquote>
<p>With this setting changed, the same script can be used to launch your CentOS VM as needed:</p>
</blockquote>

<p><code># ./centos.sh run</code></p>

<blockquote>
<p>If you are interested in a better solution for managing your Linux VM, take a look at the various bhyve management ports in the FreeBSD ports tree.</p>
</blockquote>

<hr>

<h2>Interview - newnix architect - <a href="https://bsd.network/@newnix" target="_blank" rel="nofollow noopener">@newnix</a></h2>

<h2>News Roundup</h2>

<h3><a href="https://distrowatch.com/weekly.php?issue=20180108#ghostbsd" target="_blank" rel="nofollow noopener">GhostBSD 11.1 - FreeBSD for the desktop</a></h3>

<blockquote>
<p>GhostBSD is a desktop oriented operating system which is based on FreeBSD. The project takes the FreeBSD operating system and adds a desktop environment, some popular applications, a graphical package manager and Linux binary compatibility. GhostBSD is available in two flavours, MATE and Xfce, and is currently available for 64-bit x86 computers exclusively. I downloaded the MATE edition which is available as a 2.3GB ISO file. </p>
</blockquote>

<ul>
<li>Installing </li>
</ul>

<blockquote>
<p>GhostBSD's system installer is a graphical application which begins by asking us for our preferred language, which we can select from a list. We can then select our keyboard's layout and our time zone. When it comes to partitioning we have three main options: let GhostBSD take over the entire disk using UFS as the file system, create a custom UFS layout or take over the entire disk using ZFS as the file system. UFS is a classic file system and quite popular, it is more or less FreeBSD's equivalent to Linux's ext4. ZFS is a more advanced file system with snapshots, multi-disk volumes and optional deduplication of data. I decided to try the ZFS option. </p>

<p>Once I selected ZFS I didn't have many more options to go through. I was given the chance to set the size of my swap space and choose whether to set up ZFS as a plain volume, with a mirrored disk for backup or in a RAID arrangement with multiple disks. I stayed with the plain, single disk arrangement. We are then asked to create a password for the root account and create a username and password for a regular user account. The installer lets us pick our account's shell with the default being fish, which seemed unusual. Other shells, including bash, csh, tcsh, ksh and zsh are available. The installer goes to work copying files and offers to reboot our computer when it is done. </p>
</blockquote>

<ul>
<li>Early impressions </li>
</ul>

<blockquote>
<p>The newly installed copy of GhostBSD boots to a graphical login screen where we can sign into the account we created during the install process. Signing into our account loads the MATE 1.18 desktop environment. I found MATE to be responsive and applications were quick to open. Early on I noticed odd window behaviour where windows would continue to slide around after I moved them with the mouse, as if the windows were skidding on ice. Turning off compositing in the MATE settings panel corrected this behaviour. I also found the desktop's default font (Montserrat Alternates) to be hard on my eyes as the font is thin and, for lack of a better term, bubbly. Fonts can be easily adjusted in the settings panel. </p>

<p>A few minutes after I signed into my account, a notification appeared in the system tray letting me know software updates were available. Clicking the update icon brings up a small window showing us a list of package updates and, if any are available, updates to the base operating system. FreeBSD, and therefore GhostBSD, both separate the core operating system from the applications (packages) which run on the operating system. This means we can update the core of the system separately from the applications. GhostBSD's core remains relatively static and minimal while applications are updated using a semi-rolling schedule. </p>

<p>When we are updating the core operating system, the update manager will give us the option of rebooting the system to finish the process. We can dismiss this prompt to continue working, but the wording of the prompt may be confusing. When asked if we want to reboot to continue the update process, the options presented to us are "Continue" or "Restart". The Continue option closes the update manager and returns us to the MATE desktop. </p>

<p>The update manager worked well for me and the only issue I ran into was when I dismissed the update manager and then wanted to install updates later. There are two launchers for the update manager, one in MATE's System menu and one in the settings panel. Clicking either of these launchers didn't accomplish anything. Running the update manager from the command line simply caused the process to lock up until killed. I found if I had dismissed the update manager once, I'd have to wait until I logged in again to use it. Alternatively, I could use a command line tool or use the OctoPkg package manager to install package updates. </p>
</blockquote>

<ul>
<li>Conclusions </li>
</ul>

<blockquote>
<p>Most of my time with GhostBSD, I was impressed and happy with the operating system. GhostBSD builds on a solid, stable FreeBSD core. We benefit from FreeBSD's performance and its large collection of open source software packages. The MATE desktop was very responsive in my trial and the system is relatively light on memory, even when run on ZFS which has a reputation for taking up more memory than other file systems. </p>
</blockquote>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=FreeBSD-Wayland-Availability" target="_blank" rel="nofollow noopener">FreeBSD Looks At Making Wayland Support Available By Default</a></h3>

<blockquote>
<p>There's an active discussion this week about making Wayland support available by default on FreeBSD. </p>

<p>FreeBSD has working Wayland support -- well, assuming you have working Intel / Radeon graphics -- and do have Weston and some other Wayland components available via FreeBSD Ports. FreeBSD has offered working Wayland support that is "quite usable" for more than one year. But, it's not too easy to get going with Wayland on FreeBSD. </p>

<p>Right now those FreeBSD desktop users wanting to use/develop with Wayland currently need to rebuild the GTK3 tool-kit, Mesa, and other packages with Wayland support enabled. This call for action now is about allowing the wayland=on to be made the default. </p>

<p>This move would then allow these dependencies to be built with Wayland support by default, but for the foreseeable future FreeBSD will continue defaulting to X.Org-based sessions. </p>

<p>The FreeBSD developers mostly acknowledge that Wayland is the future and the cost of enabling Wayland support by default is just slightly larger packages, but that weight is still leaner than the size of the X.Org code-base and its dependencies. </p>
</blockquote>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-ports/2017-December/111906.html" target="_blank" rel="nofollow noopener">FreeBSD vote thread</a></li>
<li><a href="https://github.com/trueos/trueos-core/commit/f48dba9d4e8cefc45d6f72336e7a0b5f42a2f6f1" target="_blank" rel="nofollow noopener">TrueOS Fliped the switch already</a></li>
</ul>

<hr>

<h3><a href="https://sircmpwn.github.io/2018/01/02/The-case-against-fork.html" target="_blank" rel="nofollow noopener">fork is not my favorite syscall</a></h3>

<blockquote>
<p>This article has been on my to-write list for a while now. In my opinion, fork is one of the most questionable design choices of Unix. I dont understand the circumstances that led to its creation, and I grieve over the legacy rationale that keeps it alive to this day.</p>

<p>Lets set the scene. Its 1971 and youre a fly on the wall in Bell Labs, watching the first edition of Unix being designed for the PDP-11/20. This machine has a 16-bit address space with no more than 248 kilobytes of memory. Theyre discussing how theyre going to support programs that spawn new programs, and someone has a brilliant idea. What if we copied the entire address space of the program into a new process running from the same spot, then let them overwrite themselves with the new program? This got a rousing laugh out of everyone present, then they moved on to a better design which would become immortalized in the most popular and influential operating system of all time.</p>

<p>At least, thats the story Id like to have been told. In actual fact, the laughter becomes consensus. Theres an obvious problem with this approach: every time you want to execute a new program, the entire process space is copied and promptly discarded when the new program begins. Usually when I complain about fork, this the point when its supporters play the virtual memory card, pointing out that modern operating systems dont actually have to copy the whole address space. Well get to that, but first  First Edition Unix does copy the whole process space, so this excuse wouldnt have held up at the time. By Fourth Edition Unix (the next one for which kernel sources survived), they had wisened up a bit, and started only copying segments when they faulted.</p>

<p>This model leads to a number of problems. One is that the new process inherits all of the parents process descriptors, so you have to close them all before you exec another process. However, unless youre manually keeping tabs on your open file descriptors, there is no way to know what file handles you must close! The hack that solves this is CLOEXEC, the first of many hacks that deal with forks poor design choices. This file descriptors problem balloons a bit - consider for example if you want to set up a pipe. You have to establish a piped pair of file descriptors in the parent, then close every fd but the pipe in the child, then dup2 the pipe file descriptor over the (now recently closed) file descriptor 1. By this point youve probably had to do several non-trivial operations and utilize a handful of variables from the parent process space, which hopefully were on the stack so that we dont end up copying segments into the new process space anyway.</p>

<p>These problems, however, pale in comparison to my number one complaint with the fork model. Fork is the direct cause of the stupidest component Ive ever heard of in an operating system: the out-of-memory (aka OOM) killer. Say you have a process which is using half of the physical memory on your system, and wants to spawn a tiny program. Since fork copies the entire process, you might be inclined to think that this would make fork fail. But, on Linux and many other operating systems since, it does not fail! They agree that its stupid to copy the entire process just to exec something else, but because fork is Important for Backwards Compatibility, they just fake it and reuse the same memory map (except read-only), then trap the faults and actually copy later. The hope is that the child will get on with it and exec before this happens.</p>

<p>However, nothing prevents the child from doing something other than exec - its free to use the memory space however it desires! This approach now leads to memory overcommittment - Linux has promised memory it does not have. As a result, when it really does run out of physical memory, Linux will just kill off processes until it has some memory back. Linux makes an awfully big fuss about never breaking userspace for a kernel that will lie about memory it doesnt have, then kill programs that try to use the back-alley memory they were given. That this nearly 50 year old crappy design choice has come to this astonishes me.</p>

<p>Alas, I cannot rant forever without discussing the alternatives. There are better process models that have been developed since Unix!</p>

<p>The first attempt I know of is BSDs vfork syscall, which is, in a nutshell, the same as fork but with severe limitations on what you do in the child process (i.e. nothing other than calling exec straight away). There are loads of problems with vfork. It only handles the most basic of use cases: you cannot set up a pipe, cannot set up a pty, and cant even close open file descriptors you inherited from the parent. Also, you couldnt really be sure of what variables you were and werent editing or allowed to edit, considering the limitations of the C specification. Overall this syscall ended up being pretty useless.</p>

<p>Another model is posix_spawn, which is a hell of an interface. Its far too complicated for me to detail here, and in my opinion far too complicated to ever consider using in practice. Even if it could be understood by mortals, its a really bad implementation of the spawn paradigm  it basically operates like fork backwards, and inherits many of the same flaws. You still have to deal with children inheriting your file descriptors, for example, only now you do it in the parent process. Its also straight-up impossible to make a genuine pipe with posix_spawn. (Note: a reader corrected me - this is indeed possible via posix_spawn_file_actions_adddup2.)</p>

<p>Lets talk about the good models - rfork and spawn (at least, if spawn is done right). rfork originated from plan9 and is a beautiful little coconut of a syscall, much like the rest of plan9. They also implement fork, but its a special case of rfork. plan9 does not distinguish between processes and threads - all threads are processes and vice versa. However, new processes in plan9 are not the everything-must-go fuckfest of your typical fork call. Instead, you specify exactly what the child should get from you. You can choose to include (or not include) your memory space, file descriptors, environment, or a number of other things specific to plan9. Theres a cool flag that makes it so you dont have to reap the process, too, which is nice because reaping children is another really stupid idea. It still has some problems, mainly around creating pipes without tremendous file descriptor fuckery, but its basically as good as the fork model gets. Note: Linux offers this via the clone syscall now, but everyone just fork+execs anyway.</p>

<p>The other model is the spawn model, which I prefer. This is the approach I took in my own kernel for KnightOS, and I think its also used in NT (Microsofts kernel). I dont really know much about NT, but I can tell you how it works in KnightOS. Basically, when you create a new process, it is kept in limbo until the parent consents to begin. You are given a handle with which you can configure the process - you can change its environment, load it up with file descriptors to your liking, and so on. When youre ready for it to begin, you give the go-ahead and its off to the races. The spawn model has none of the flaws of fork.</p>

<p>Both fork and exec can be useful at times, but spawning is much better for 90% of their use-cases. If I were to write a new kernel today, Id probably take a leaf from plan9s book and find a happy medium between rfork and spawn, so you could use spawn to start new threads in your process space as well. To the brave OS designers of the future, ready to shrug off the weight of legacy: please reconsider fork.</p>

<hr>
</blockquote>

<h3><a href="https://svnweb.freebsd.org/changeset/base/327783" target="_blank" rel="nofollow noopener">Enable ld.lld as bootstrap linker by default on amd64</a></h3>

<ul>
<li>Enable ld.lld as bootstrap linker by default on amd64</li>
</ul>

<blockquote>
<p>For some time we have been planning to migrate to LLVM's lld linker.<br>
Having a man page was the last blocking issue for using ld.lld to link<br>
the base system kernel + userland, now addressed by r327770.  Link the<br>
kernel and userland libraries and binaries with ld.lld by default, for<br>
additional test coverage.</p>

<p>This has been a long time in the making.  On 2013-04-13 I submitted an<br>
upstream tracking issue in LLVM PR 23214: [META] Using LLD as FreeBSD's<br>
system linker.  Since then 85 individual issues were identified, and<br>
submitted as dependencies.  These have been addressed along with two<br>
and a half years of other lld development and improvement.</p>

<p>I'd like to express deep gratitude to upstream lld developers Rui<br>
Ueyama, Rafael Espindola, George Rimar and Davide Italiano.  They put in<br>
substantial effort in addressing the issues we found affecting<br>
FreeBSD/amd64.</p>

<p>To revert to using ld.bfd as the bootstrap linker, in /etc/src.conf set</p>

<p>WITHOUT_LLD_BOOTSTRAP=yes</p>

<p>If you need to set this, please follow up with a PR or post to the<br>
freebsd-toolchain mailing list explaining how default WITH_LLD_BOOTSTRAP<br>
failed for your use case.</p>

<p>Note that GNU ld.bfd is still installed as /usr/bin/ld, and will still<br>
be used for linking ports.  ld.lld can be installed as /usr/bin/ld by<br>
setting in /etc/src.conf</p>

<pre><code>WITH_LLD_IS_LLD=yes
</code></pre>

<p>A followup commit will set WITH_LLD_IS_LD by default, possibly after<br>
Clang/LLVM/lld 6.0 is merged to FreeBSD.</p>

<p>Release notes:    Yes<br>
Sponsored by: The FreeBSD Foundation</p>
</blockquote>

<ul>
<li>Followup: <a href="https://www.mail-archive.com/svn-src-all@freebsd.org/msg155493.html" target="_blank" rel="nofollow noopener">https://www.mail-archive.com/svn-src-all@freebsd.org/msg155493.html</a>
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171229080944" target="_blank" rel="nofollow noopener">BSDCAN2017 Interview with Peter Hessler, Reyk Floeter, and Henning Brauer</a></li>
<li><a href="https://www.youtube.com/watch?v=e-Xim3_rJns" target="_blank" rel="nofollow noopener">video</a></li>
<li><a href="https://freeshell.de/%7Emk/projects/dsbmd.html" target="_blank" rel="nofollow noopener">DSBMD</a></li>
<li><a href="https://media.ccc.de/v/34c3-9196-may_contain_dtraces_of_freebsd" target="_blank" rel="nofollow noopener">ccc34 talk - May contain DTraces of FreeBSD</a></li>
<li>[scripts to run an OpenBSD mirror, rsync and verify])(<a href="https://github.com/bluhm/mirror-openbsd" target="_blank" rel="nofollow noopener">https://github.com/bluhm/mirror-openbsd</a>)</li>
<li><a href="https://int10h.org/oldschool-pc-fonts/readme/" target="_blank" rel="nofollow noopener">Old School PC Fonts</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>David - <a href="http://dpaste.com/33HKKEM#wrap" target="_blank" rel="nofollow noopener">Approach and Tools for Snapshots and Remote Replication</a></li>
<li>Brian - <a href="http://dpaste.com/3QWFEYR#wrap" target="_blank" rel="nofollow noopener">Help getting my FreeBSD systems talking across the city</a></li>
<li>Malcolm - <a href="http://dpaste.com/1Z9Y8H1" target="_blank" rel="nofollow noopener">First BSD Meetup in Stockholm happened and it was great</a></li>
<li>Brad - <a href="http://dpaste.com/3EC9RGG#wrap" target="_blank" rel="nofollow noopener">Update on TrueOS system</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We review Meltdown and Spectre responses from various BSD projects, show you how to run CentOS with bhyve, GhostBSD 11.1 is out, and we look at the case against the fork syscall.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3>More Meltdown</h3>

<ul>
<li><p>Much has been happened this week, but before we get into a status update of the various mitigations on the other BSDs, some important updates:</p>

<ul>
<li><a href="https://newsroom.intel.com/news/intel-security-issue-update-addressing-reboot-issues/" target="_blank" rel="nofollow noopener">Intel has recalled the microcode update they issued on January 8th. It turns out this update can cause Haswell and Broadwell based systems to randomly reboot, with some frequency.</a></li>
<li><a href="https://www.amd.com/en/corporate/speculative-execution" target="_blank" rel="nofollow noopener">AMD has confirmed that its processors are vulnerable to both variants of Spectre, and the the fix for variant #2 will require a forthcoming microcode update, in addition to OS level mitigations</a></li>
<li><a href="https://sp.ts.fujitsu.com/dmsp/Publications/public/Intel-Side-Channel-Analysis-Method-Security-Review-CVE2017-5715-vulnerability-Fujitsu-products.pdf" target="_blank" rel="nofollow noopener">Fujitsu has provided a status report for most of its products, including SPARC hardware</a></li>
</ul></li>
<li><p><a href="https://www.theregister.co.uk/2018/01/12/intel_warns_meltdown_spectre_fixes_make_broadwells_haswells_unstable/" target="_blank" rel="nofollow noopener">The Register of course has some commentary</a></p></li>
</ul>

<blockquote>
<p>If new code is needed, Intel will need to get it right: the company already faces numerous class action lawsuits. Data centre operators already scrambling to conduct unplanned maintenance will not be happy about the fix reducing stability.<br>
AMD has said that operating system patches alone will address the Spectre bounds check bypass bug. Fixing Spectres branch target injection flaw will require firmware fixes that AMD has said will start to arrive for Ryzen and EPYC CPUs this week.<br>
The Register has also asked other server vendors how theyre addressing the bugs. Oracle has patched its Linux, but has told us it has No comment/statement on this as of now in response to our query about its x86 systems, x86 cloud, Linux and Solaris on x86. The no comment regarding Linux is odd as fixes for Oracle Linux landed <a href="https://linux.oracle.com/errata/ELSA-2018-4006.html" target="_blank" rel="nofollow noopener">here</a> on January 9th.<br>
SPARC-using Fujitsu, meanwhile, has published advice (PDF) revealing how it will address the twin bugs in its servers and PCs, and also saying its SPARC systems are under investigation.</p>
</blockquote>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20180106082238" target="_blank" rel="nofollow noopener">Response from OpenBSD:</a></li>
</ul>

<p><a href="https://marc.info/?t=151521438600001&amp;r=1&amp;w=2" target="_blank" rel="nofollow noopener">'Meltdown, aka "Dear Intel, you suck"'</a></p>

<ul>
<li><p><a href="https://www.itwire.com/security/81338-handling-of-cpu-bug-disclosure-incredibly-bad-openbsd-s-de-raadt.html" target="_blank" rel="nofollow noopener">Theo de Raadt's response to Meltdown</a></p></li>
<li><p><a href="https://marc.info/?l=openbsd-misc&amp;m=118296441702631&amp;w=2" target="_blank" rel="nofollow noopener">That time in 2007 when Theo talked about how Intel x86 had major design problems in their chips</a></p></li>
<li><p><a href="https://marc.info/?l=openbsd-cvs&amp;m=151570987406841&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD gets a Microcode updater</a></p></li>
<li><p><a href="http://lists.dragonflybsd.org/pipermail/users/2018-January/313758.html" target="_blank" rel="nofollow noopener">Response from Dragonfly BSD:</a><br>
The longer response in four commits</p>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2018-January/627151.html" target="_blank" rel="nofollow noopener">One</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2018-January/627152.html" target="_blank" rel="nofollow noopener">Two</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2018-January/627153.html" target="_blank" rel="nofollow noopener">Three</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2018-January/627154.html" target="_blank" rel="nofollow noopener">Four</a></li>
</ul></li>
<li><p><a href="https://www.dragonflydigest.com/2018/01/10/20718.html" target="_blank" rel="nofollow noopener">Even more Meltdown</a></p></li>
<li><p><a href="http://lists.dragonflybsd.org/pipermail/users/2018-January/335643.html" target="_blank" rel="nofollow noopener">DragonflyBSD master now has full IBRS and IBPB support</a></p>

<ul>
<li>IBRS (Indirect Branch Restricted Speculation): The x86 IBRS feature requires corresponding microcode support. It mitigates the variant 2 vulnerability.</li>
<li>If IBRS is set, near returns and near indirect jumps/calls will not allow their predicted target address to be controlled by code that executed in a less privileged prediction mode before the IBRS mode was last written with a value of 1 or on another logical processor so long as all RSB entries from the previous less privileged prediction mode are overwritten.</li>
<li>Speculation on Skylake and later requires these patches ("dynamic IBRS") be used instead of retpoline.  If you are very paranoid or you run on a CPU where IBRS=1 is cheaper, you may also want to run in "IBRS always" mode.</li>
<li>IBPB (Indirect Branch Prediction Barrier): Setting of IBPB ensures that earlier code's behavior does not control later indirect branch predictions.  It is used when context switching to new untrusted address space. Unlike IBRS, IBPB is a command MSR and does not retain its state.</li>
</ul></li>
<li><p><a href="https://www.phoronix.com/scan.php?page=article&amp;item=dragonfly-bsd-meltdown&amp;num=1" target="_blank" rel="nofollow noopener">DragonFlyBSD's Meltdown Fix Causing More Slowdowns Than Linux</a></p></li>
<li><p><a href="http://mail-index.netbsd.org/source-changes/2018/01/07/msg090945.html" target="_blank" rel="nofollow noopener">NetBSD HOTPATCH()</a></p></li>
<li><p><a href="http://mail-index.netbsd.org/source-changes/2018/01/07/msg090952.html" target="_blank" rel="nofollow noopener">NetBSD SVS (Separate Virtual Space)</a></p></li>
</ul>

<hr>

<h3><a href="https://www.daemon-security.com/2018/01/bhyve-centos-0110.html" target="_blank" rel="nofollow noopener">Running CentOS with Bhyve</a></h3>

<blockquote>
<p>With the addition of UEFI in FreeBSD (since version 11), users of bhyve can use the UEFI boot loader instead of the grub2-bhyve port for booting operating systems such as Microsoft Windows, Linux and OpenBSD. The following page provides information necessary for setting up bhyve with UEFI boot loader support:<br>
<a href="https://wiki.freebsd.org/bhyve/UEFI" target="_blank" rel="nofollow noopener">https://wiki.freebsd.org/bhyve/UEFI</a><br>
Features have been added to vmrun.sh to make it easier to setup the UEFI boot loader, but the following is required to install the UEFI firmware pkg:</p>

<p><code># pkg install -y uefi-edk2-bhyve</code></p>

<p>With graphical support, you can use a vnc client like tigervnc, which can be installed with the following command:</p>

<p><code># pkg install -y tigervnc</code></p>

<p>In the case of most corporate or government environments, the Linux of choice is RHEL, or CentOS. Utilizing bhyve, you can test and install CentOS in a bhyve VM the same way you would deploy a Linux VM in production. The first step is to download the CentOS iso (for this tutorial I used the CentOS minimal ISO): <a href="http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso" target="_blank" rel="nofollow noopener">http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1708.iso</a></p>

<p>I normally use a ZFS Volume (zvol) when running bhyve VMs. Run the following commands to create a zvol (ensure you have enough disk space to perform these operations):</p>

<p><code># zfs create -V20G -o volmode=dev zroot/centos0</code></p>
</blockquote>

<ul>
<li>(zroot in this case is the zpool I am using)</li>
</ul>

<blockquote>
<p>Similar to my previous post about vmrun.sh, you need certain items to be configured on FreeBSD in order to use bhyve. The following commands are necessary to get things running:</p>

<pre><code># echo "vfs.zfs.vol.mode=2" &gt;&gt; /boot/loader.conf
# kldload vmm
# ifconfig tap0 create
# sysctl net.link.tap.up_on_open=1
net.link.tap.up_on_open: 0 -&gt; 1
# ifconfig bridge0 create
# ifconfig bridge0 addm em0 addm tap0
# ifconfig bridge0 up
</code></pre>
</blockquote>

<ul>
<li>(replace em0 with whatever your physical interface is).</li>
</ul>

<blockquote>
<p>There are a number of utilities that can be used to manage bhyve VMs, and I am sure there is a way to use vmrun.sh to run Linux VMs, but since all of the HowTos for running Linux use the bhyve command line, the following script is what I use for running CentOS with bhyve.</p>

<pre><code>#!/bin/sh
#
# General bhyve install/run script for CentOS
# Based on scripts from pr1ntf and lattera 

HOST="127.0.0.1" 
PORT="5901"
ISO="/tmp/centos.iso"
VMNAME="centos"
ZVOL="centos0" 
SERIAL="nmda0A"
TAP="tap1" 
CPU="1"
RAM="1024M"
HEIGHT="800"
WIDTH="600"

if [ "$1" == "install" ];
then 

#Kill it before starting it
bhyvectl --destroy --vm=$VMNAME

bhyve -c $CPU -m $RAM -H -P -A \ 
-s 0,hostbridge \
-s 2,virtio-net,$TAP \ 
-s 3,ahci-cd,$ISO \
-s 4,virtio-blk,/dev/zvol/zroot/$ZVOL \
-s 29,fbuf,tcp=$HOST:$PORT,w=$WIDTH,h=$HEIGHT \ 
-s 30,xhci,tablet \
-s 31,lpc -l com1,/dev/$SERIAL \ 
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
$VMNAME

#kill it after 
bhyvectl --destroy --vm=$VMNAME

elif [ "$1" == "run" ];
then 

#Kill it before starting it
bhyvectl --destroy --vm=centos 

bhyve -c $CPU -m $RAM -w -H \
-s 0,hostbridge \
-s 2,virtio-net,$TAP \ 
-s 4,virtio-blk,/dev/zvol/zroot/$ZVOL \
-s 29,fbuf,tcp=$HOST:$PORT,w=$WIDTH,h=$HEIGHT \ 
-s 30,xhci,tablet \
-s 31,lpc -l com1,/dev/$SERIAL \ 
-l bootrom,/usr/local/share/uefi-firmware/BHYVE_UEFI.fd \
$VMNAME &amp;

else 
echo "Please type install or run"; 
fi 
</code></pre>

<p>The variables at the top of the script can be adjusted to fit your own needs. With the addition of the graphics output protocol in UEFI (or UEFI-GOP), a VNC console is launched and hosted with the HOST and PORT setting. There is a password option available for the VNC service, but the connection should be treated as insecure. It is advised to only listen on localhost with the VNC console and tunnel into the host of the bhyve VM. Now with the ISO copied to /tmp/centos.iso, and the script saved as centos.sh you can run the following command to start the install:</p>

<p><code># ./centos.sh install</code></p>

<p>At this point, using vncviewer (on the local machine, or over an SSH tunnel), you should be able to bring up the console and run the CentOS installer as normal. The absolutely most critical item is to resolve an issue with the booting of UEFI after the installation has completed. Because of the path used in bhyve, you need to run the following to be able to boot CentOS after the installation:</p>
</blockquote>

<p><code># cp -f /mnt/sysimage/boot/efi/EFI/centos/grubx64.efi /mnt/sysimage/boot/efi/EFI/BOOT</code></p>

<blockquote>
<p>With this setting changed, the same script can be used to launch your CentOS VM as needed:</p>
</blockquote>

<p><code># ./centos.sh run</code></p>

<blockquote>
<p>If you are interested in a better solution for managing your Linux VM, take a look at the various bhyve management ports in the FreeBSD ports tree.</p>
</blockquote>

<hr>

<h2>Interview - newnix architect - <a href="https://bsd.network/@newnix" target="_blank" rel="nofollow noopener">@newnix</a></h2>

<h2>News Roundup</h2>

<h3><a href="https://distrowatch.com/weekly.php?issue=20180108#ghostbsd" target="_blank" rel="nofollow noopener">GhostBSD 11.1 - FreeBSD for the desktop</a></h3>

<blockquote>
<p>GhostBSD is a desktop oriented operating system which is based on FreeBSD. The project takes the FreeBSD operating system and adds a desktop environment, some popular applications, a graphical package manager and Linux binary compatibility. GhostBSD is available in two flavours, MATE and Xfce, and is currently available for 64-bit x86 computers exclusively. I downloaded the MATE edition which is available as a 2.3GB ISO file. </p>
</blockquote>

<ul>
<li>Installing </li>
</ul>

<blockquote>
<p>GhostBSD's system installer is a graphical application which begins by asking us for our preferred language, which we can select from a list. We can then select our keyboard's layout and our time zone. When it comes to partitioning we have three main options: let GhostBSD take over the entire disk using UFS as the file system, create a custom UFS layout or take over the entire disk using ZFS as the file system. UFS is a classic file system and quite popular, it is more or less FreeBSD's equivalent to Linux's ext4. ZFS is a more advanced file system with snapshots, multi-disk volumes and optional deduplication of data. I decided to try the ZFS option. </p>

<p>Once I selected ZFS I didn't have many more options to go through. I was given the chance to set the size of my swap space and choose whether to set up ZFS as a plain volume, with a mirrored disk for backup or in a RAID arrangement with multiple disks. I stayed with the plain, single disk arrangement. We are then asked to create a password for the root account and create a username and password for a regular user account. The installer lets us pick our account's shell with the default being fish, which seemed unusual. Other shells, including bash, csh, tcsh, ksh and zsh are available. The installer goes to work copying files and offers to reboot our computer when it is done. </p>
</blockquote>

<ul>
<li>Early impressions </li>
</ul>

<blockquote>
<p>The newly installed copy of GhostBSD boots to a graphical login screen where we can sign into the account we created during the install process. Signing into our account loads the MATE 1.18 desktop environment. I found MATE to be responsive and applications were quick to open. Early on I noticed odd window behaviour where windows would continue to slide around after I moved them with the mouse, as if the windows were skidding on ice. Turning off compositing in the MATE settings panel corrected this behaviour. I also found the desktop's default font (Montserrat Alternates) to be hard on my eyes as the font is thin and, for lack of a better term, bubbly. Fonts can be easily adjusted in the settings panel. </p>

<p>A few minutes after I signed into my account, a notification appeared in the system tray letting me know software updates were available. Clicking the update icon brings up a small window showing us a list of package updates and, if any are available, updates to the base operating system. FreeBSD, and therefore GhostBSD, both separate the core operating system from the applications (packages) which run on the operating system. This means we can update the core of the system separately from the applications. GhostBSD's core remains relatively static and minimal while applications are updated using a semi-rolling schedule. </p>

<p>When we are updating the core operating system, the update manager will give us the option of rebooting the system to finish the process. We can dismiss this prompt to continue working, but the wording of the prompt may be confusing. When asked if we want to reboot to continue the update process, the options presented to us are "Continue" or "Restart". The Continue option closes the update manager and returns us to the MATE desktop. </p>

<p>The update manager worked well for me and the only issue I ran into was when I dismissed the update manager and then wanted to install updates later. There are two launchers for the update manager, one in MATE's System menu and one in the settings panel. Clicking either of these launchers didn't accomplish anything. Running the update manager from the command line simply caused the process to lock up until killed. I found if I had dismissed the update manager once, I'd have to wait until I logged in again to use it. Alternatively, I could use a command line tool or use the OctoPkg package manager to install package updates. </p>
</blockquote>

<ul>
<li>Conclusions </li>
</ul>

<blockquote>
<p>Most of my time with GhostBSD, I was impressed and happy with the operating system. GhostBSD builds on a solid, stable FreeBSD core. We benefit from FreeBSD's performance and its large collection of open source software packages. The MATE desktop was very responsive in my trial and the system is relatively light on memory, even when run on ZFS which has a reputation for taking up more memory than other file systems. </p>
</blockquote>

<hr>

<h3><a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=FreeBSD-Wayland-Availability" target="_blank" rel="nofollow noopener">FreeBSD Looks At Making Wayland Support Available By Default</a></h3>

<blockquote>
<p>There's an active discussion this week about making Wayland support available by default on FreeBSD. </p>

<p>FreeBSD has working Wayland support -- well, assuming you have working Intel / Radeon graphics -- and do have Weston and some other Wayland components available via FreeBSD Ports. FreeBSD has offered working Wayland support that is "quite usable" for more than one year. But, it's not too easy to get going with Wayland on FreeBSD. </p>

<p>Right now those FreeBSD desktop users wanting to use/develop with Wayland currently need to rebuild the GTK3 tool-kit, Mesa, and other packages with Wayland support enabled. This call for action now is about allowing the wayland=on to be made the default. </p>

<p>This move would then allow these dependencies to be built with Wayland support by default, but for the foreseeable future FreeBSD will continue defaulting to X.Org-based sessions. </p>

<p>The FreeBSD developers mostly acknowledge that Wayland is the future and the cost of enabling Wayland support by default is just slightly larger packages, but that weight is still leaner than the size of the X.Org code-base and its dependencies. </p>
</blockquote>

<ul>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-ports/2017-December/111906.html" target="_blank" rel="nofollow noopener">FreeBSD vote thread</a></li>
<li><a href="https://github.com/trueos/trueos-core/commit/f48dba9d4e8cefc45d6f72336e7a0b5f42a2f6f1" target="_blank" rel="nofollow noopener">TrueOS Fliped the switch already</a></li>
</ul>

<hr>

<h3><a href="https://sircmpwn.github.io/2018/01/02/The-case-against-fork.html" target="_blank" rel="nofollow noopener">fork is not my favorite syscall</a></h3>

<blockquote>
<p>This article has been on my to-write list for a while now. In my opinion, fork is one of the most questionable design choices of Unix. I dont understand the circumstances that led to its creation, and I grieve over the legacy rationale that keeps it alive to this day.</p>

<p>Lets set the scene. Its 1971 and youre a fly on the wall in Bell Labs, watching the first edition of Unix being designed for the PDP-11/20. This machine has a 16-bit address space with no more than 248 kilobytes of memory. Theyre discussing how theyre going to support programs that spawn new programs, and someone has a brilliant idea. What if we copied the entire address space of the program into a new process running from the same spot, then let them overwrite themselves with the new program? This got a rousing laugh out of everyone present, then they moved on to a better design which would become immortalized in the most popular and influential operating system of all time.</p>

<p>At least, thats the story Id like to have been told. In actual fact, the laughter becomes consensus. Theres an obvious problem with this approach: every time you want to execute a new program, the entire process space is copied and promptly discarded when the new program begins. Usually when I complain about fork, this the point when its supporters play the virtual memory card, pointing out that modern operating systems dont actually have to copy the whole address space. Well get to that, but first  First Edition Unix does copy the whole process space, so this excuse wouldnt have held up at the time. By Fourth Edition Unix (the next one for which kernel sources survived), they had wisened up a bit, and started only copying segments when they faulted.</p>

<p>This model leads to a number of problems. One is that the new process inherits all of the parents process descriptors, so you have to close them all before you exec another process. However, unless youre manually keeping tabs on your open file descriptors, there is no way to know what file handles you must close! The hack that solves this is CLOEXEC, the first of many hacks that deal with forks poor design choices. This file descriptors problem balloons a bit - consider for example if you want to set up a pipe. You have to establish a piped pair of file descriptors in the parent, then close every fd but the pipe in the child, then dup2 the pipe file descriptor over the (now recently closed) file descriptor 1. By this point youve probably had to do several non-trivial operations and utilize a handful of variables from the parent process space, which hopefully were on the stack so that we dont end up copying segments into the new process space anyway.</p>

<p>These problems, however, pale in comparison to my number one complaint with the fork model. Fork is the direct cause of the stupidest component Ive ever heard of in an operating system: the out-of-memory (aka OOM) killer. Say you have a process which is using half of the physical memory on your system, and wants to spawn a tiny program. Since fork copies the entire process, you might be inclined to think that this would make fork fail. But, on Linux and many other operating systems since, it does not fail! They agree that its stupid to copy the entire process just to exec something else, but because fork is Important for Backwards Compatibility, they just fake it and reuse the same memory map (except read-only), then trap the faults and actually copy later. The hope is that the child will get on with it and exec before this happens.</p>

<p>However, nothing prevents the child from doing something other than exec - its free to use the memory space however it desires! This approach now leads to memory overcommittment - Linux has promised memory it does not have. As a result, when it really does run out of physical memory, Linux will just kill off processes until it has some memory back. Linux makes an awfully big fuss about never breaking userspace for a kernel that will lie about memory it doesnt have, then kill programs that try to use the back-alley memory they were given. That this nearly 50 year old crappy design choice has come to this astonishes me.</p>

<p>Alas, I cannot rant forever without discussing the alternatives. There are better process models that have been developed since Unix!</p>

<p>The first attempt I know of is BSDs vfork syscall, which is, in a nutshell, the same as fork but with severe limitations on what you do in the child process (i.e. nothing other than calling exec straight away). There are loads of problems with vfork. It only handles the most basic of use cases: you cannot set up a pipe, cannot set up a pty, and cant even close open file descriptors you inherited from the parent. Also, you couldnt really be sure of what variables you were and werent editing or allowed to edit, considering the limitations of the C specification. Overall this syscall ended up being pretty useless.</p>

<p>Another model is posix_spawn, which is a hell of an interface. Its far too complicated for me to detail here, and in my opinion far too complicated to ever consider using in practice. Even if it could be understood by mortals, its a really bad implementation of the spawn paradigm  it basically operates like fork backwards, and inherits many of the same flaws. You still have to deal with children inheriting your file descriptors, for example, only now you do it in the parent process. Its also straight-up impossible to make a genuine pipe with posix_spawn. (Note: a reader corrected me - this is indeed possible via posix_spawn_file_actions_adddup2.)</p>

<p>Lets talk about the good models - rfork and spawn (at least, if spawn is done right). rfork originated from plan9 and is a beautiful little coconut of a syscall, much like the rest of plan9. They also implement fork, but its a special case of rfork. plan9 does not distinguish between processes and threads - all threads are processes and vice versa. However, new processes in plan9 are not the everything-must-go fuckfest of your typical fork call. Instead, you specify exactly what the child should get from you. You can choose to include (or not include) your memory space, file descriptors, environment, or a number of other things specific to plan9. Theres a cool flag that makes it so you dont have to reap the process, too, which is nice because reaping children is another really stupid idea. It still has some problems, mainly around creating pipes without tremendous file descriptor fuckery, but its basically as good as the fork model gets. Note: Linux offers this via the clone syscall now, but everyone just fork+execs anyway.</p>

<p>The other model is the spawn model, which I prefer. This is the approach I took in my own kernel for KnightOS, and I think its also used in NT (Microsofts kernel). I dont really know much about NT, but I can tell you how it works in KnightOS. Basically, when you create a new process, it is kept in limbo until the parent consents to begin. You are given a handle with which you can configure the process - you can change its environment, load it up with file descriptors to your liking, and so on. When youre ready for it to begin, you give the go-ahead and its off to the races. The spawn model has none of the flaws of fork.</p>

<p>Both fork and exec can be useful at times, but spawning is much better for 90% of their use-cases. If I were to write a new kernel today, Id probably take a leaf from plan9s book and find a happy medium between rfork and spawn, so you could use spawn to start new threads in your process space as well. To the brave OS designers of the future, ready to shrug off the weight of legacy: please reconsider fork.</p>

<hr>
</blockquote>

<h3><a href="https://svnweb.freebsd.org/changeset/base/327783" target="_blank" rel="nofollow noopener">Enable ld.lld as bootstrap linker by default on amd64</a></h3>

<ul>
<li>Enable ld.lld as bootstrap linker by default on amd64</li>
</ul>

<blockquote>
<p>For some time we have been planning to migrate to LLVM's lld linker.<br>
Having a man page was the last blocking issue for using ld.lld to link<br>
the base system kernel + userland, now addressed by r327770.  Link the<br>
kernel and userland libraries and binaries with ld.lld by default, for<br>
additional test coverage.</p>

<p>This has been a long time in the making.  On 2013-04-13 I submitted an<br>
upstream tracking issue in LLVM PR 23214: [META] Using LLD as FreeBSD's<br>
system linker.  Since then 85 individual issues were identified, and<br>
submitted as dependencies.  These have been addressed along with two<br>
and a half years of other lld development and improvement.</p>

<p>I'd like to express deep gratitude to upstream lld developers Rui<br>
Ueyama, Rafael Espindola, George Rimar and Davide Italiano.  They put in<br>
substantial effort in addressing the issues we found affecting<br>
FreeBSD/amd64.</p>

<p>To revert to using ld.bfd as the bootstrap linker, in /etc/src.conf set</p>

<p>WITHOUT_LLD_BOOTSTRAP=yes</p>

<p>If you need to set this, please follow up with a PR or post to the<br>
freebsd-toolchain mailing list explaining how default WITH_LLD_BOOTSTRAP<br>
failed for your use case.</p>

<p>Note that GNU ld.bfd is still installed as /usr/bin/ld, and will still<br>
be used for linking ports.  ld.lld can be installed as /usr/bin/ld by<br>
setting in /etc/src.conf</p>

<pre><code>WITH_LLD_IS_LLD=yes
</code></pre>

<p>A followup commit will set WITH_LLD_IS_LD by default, possibly after<br>
Clang/LLVM/lld 6.0 is merged to FreeBSD.</p>

<p>Release notes:    Yes<br>
Sponsored by: The FreeBSD Foundation</p>
</blockquote>

<ul>
<li>Followup: <a href="https://www.mail-archive.com/svn-src-all@freebsd.org/msg155493.html" target="_blank" rel="nofollow noopener">https://www.mail-archive.com/svn-src-all@freebsd.org/msg155493.html</a>
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171229080944" target="_blank" rel="nofollow noopener">BSDCAN2017 Interview with Peter Hessler, Reyk Floeter, and Henning Brauer</a></li>
<li><a href="https://www.youtube.com/watch?v=e-Xim3_rJns" target="_blank" rel="nofollow noopener">video</a></li>
<li><a href="https://freeshell.de/%7Emk/projects/dsbmd.html" target="_blank" rel="nofollow noopener">DSBMD</a></li>
<li><a href="https://media.ccc.de/v/34c3-9196-may_contain_dtraces_of_freebsd" target="_blank" rel="nofollow noopener">ccc34 talk - May contain DTraces of FreeBSD</a></li>
<li>[scripts to run an OpenBSD mirror, rsync and verify])(<a href="https://github.com/bluhm/mirror-openbsd" target="_blank" rel="nofollow noopener">https://github.com/bluhm/mirror-openbsd</a>)</li>
<li><a href="https://int10h.org/oldschool-pc-fonts/readme/" target="_blank" rel="nofollow noopener">Old School PC Fonts</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>David - <a href="http://dpaste.com/33HKKEM#wrap" target="_blank" rel="nofollow noopener">Approach and Tools for Snapshots and Remote Replication</a></li>
<li>Brian - <a href="http://dpaste.com/3QWFEYR#wrap" target="_blank" rel="nofollow noopener">Help getting my FreeBSD systems talking across the city</a></li>
<li>Malcolm - <a href="http://dpaste.com/1Z9Y8H1" target="_blank" rel="nofollow noopener">First BSD Meetup in Stockholm happened and it was great</a></li>
<li>Brad - <a href="http://dpaste.com/3EC9RGG#wrap" target="_blank" rel="nofollow noopener">Update on TrueOS system</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>228: The Spectre of Meltdown</title>
  <link>https://www.bsdnow.tv/228</link>
  <guid isPermaLink="false">4e0833ff-c2bf-4a7d-ac29-9249c3bc8114</guid>
  <pubDate>Wed, 10 Jan 2018 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4e0833ff-c2bf-4a7d-ac29-9249c3bc8114.mp3" length="80596084" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We review the information about Spectre &amp; Meltdown thus far, we look at NetBSD memory sanitizer progress, Postgres on ZFS &amp; show you a bit about NomadBSD.</itunes:subtitle>
  <itunes:duration>1:51:56</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>&lt;p&gt;We review the information about Spectre &amp;amp; Meltdown thus far, we look at NetBSD memory sanitizer progress, Postgres on ZFS &amp;amp; show you a bit about NomadBSD.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;Meltdown Spectre&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://meltdownattack.com/" target="_blank" rel="nofollow noopener"&gt;Official Site&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.theregister.co.uk/2018/01/02/intel_cpu_design_flaw/" target="_blank" rel="nofollow noopener"&gt;Kernel-memory-leaking Intel processor design flaw forces Linux, Windows redesign&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://newsroom.intel.com/news/intel-responds-to-security-research-findings/" target="_blank" rel="nofollow noopener"&gt;Intel’s official response&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.theregister.co.uk/2018/01/04/intel_meltdown_spectre_bugs_the_registers_annotations/" target="_blank" rel="nofollow noopener"&gt;The Register mocks intels response with pithy annotations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://newsroom.intel.com/wp-content/uploads/sites/11/2018/01/Intel-Analysis-of-Speculative-Execution-Side-Channels.pdf" target="_blank" rel="nofollow noopener"&gt;Intel’s Analysis PDF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://xkcd.com/1938/" target="_blank" rel="nofollow noopener"&gt;XKCD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-security/2018-January/009719.html" target="_blank" rel="nofollow noopener"&gt;Response from FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reviews.freebsd.org/D13797" target="_blank" rel="nofollow noopener"&gt;FreeBSD's patch WIP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/" target="_blank" rel="nofollow noopener"&gt;Why Raspberry Pi isn’t vulnerable to Spectre or Meltdown&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.xenproject.org/archives/html/xen-devel/2018-01/msg00110.html" target="_blank" rel="nofollow noopener"&gt;Xen mitigation patches&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/SpeculativeExecutionVulnerabilities" target="_blank" rel="nofollow noopener"&gt;Overview of affected FreeBSD Platforms/Architectures&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/GroffTheBSDGoat/status/949372300368867328" target="_blank" rel="nofollow noopener"&gt;Groff's response&lt;/a&gt;
##### We’ll cover OpenBSD, NetBSD, and DragonflyBSD’s responses in next weeks episode.
***
###&lt;a href="https://blog.netbsd.org/tnf/entry/the_llvm_memory_sanitizer_support" target="_blank" rel="nofollow noopener"&gt;The LLVM Memory Sanitizer support work in progress&lt;/a&gt;
&amp;gt; In the past 31 days, I've managed to get the core functionality of MSan to work. This is an uninitialized memory usage detector. MSan is a special sanitizer because it requires knowledge of every entry to the basesystem library and every entry to the kernel through public interfaces. This is mandatory in order to mark memory regions as initialized.  Most of the work has been done directly for MSan. However, part of the work helped generic features in compiler-rt.&lt;/li&gt;
&lt;li&gt;Sanitizers
&amp;gt; Changes in the sanitizer are listed below in chronological order. Almost all of the changes mentioned here landed upstream. A few small patches were reverted due to breaking non-NetBSD hosts and are rescheduled for further investigation. I maintain these patches locally and have moved on for now to work on the remaining features.&lt;/li&gt;
&lt;li&gt;NetBSD syscall hooks
&amp;gt; I wrote a large patch (815kb!) adding support for NetBSD syscall hooks for use with sanitizers. &lt;/li&gt;
&lt;li&gt;NetBSD ioctl(2) hooks
&amp;gt; Similar to the syscall hooks, there is need to handle every ioctl(2) call. I've created the needed patch, this time shorter - for less than 300kb.&lt;/li&gt;
&lt;li&gt;New patches still pending for upstream review
&amp;gt; There are two corrections that I've created, and they are still pending upstream for review:&lt;/li&gt;
&lt;li&gt;Add MSan interceptor for fstat(2)](&lt;a href="https://reviews.llvm.org/D41637" target="_blank" rel="nofollow noopener"&gt;https://reviews.llvm.org/D41637&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt; Correct the setitimer interceptor on NetBSD)](&lt;a href="https://reviews.llvm.org/D41502" target="_blank" rel="nofollow noopener"&gt;https://reviews.llvm.org/D41502&lt;/a&gt;)
&amp;gt; I've got a few more local patches that require cleanup before submitting to review.&lt;/li&gt;
&lt;li&gt;NetBSD basesystem corrections&lt;/li&gt;
&lt;li&gt;Sanitizers in Go&lt;/li&gt;
&lt;li&gt;The MSan state as of today&lt;/li&gt;
&lt;li&gt;Solaris support in sanitizers
&amp;gt; I've helped the Solaris team add basic support for Sanitizers (ASan, UBsan). This does not help NetBSD directly, however indirectly it improves the overall support for non-Linux hosts and helps to catch more Linuxisms in the code.&lt;/li&gt;
&lt;li&gt;Plan for the next milestone
&amp;gt; I plan to continue the work on MSan and correct sanitizing of the NetBSD basesystem utilities. This mandates me to iterate over the basesystem libraries implementing the missing interceptors and correcting the current support of the existing ones. My milestone is to build all src/&lt;em&gt;bin&lt;/em&gt; programs against Memory Sanitizer and when possible execute them cleanly.&lt;/li&gt;
&lt;li&gt;This work was sponsored by The NetBSD Foundation.&lt;/li&gt;
&lt;li&gt;The NetBSD Foundation is a non-profit organization and welcomes any donations to help us continue funding projects and services to the open-source community. Please consider visiting the following URL, and chip in what you can: &lt;a href="http://netbsd.org/donations/#how-to-donate" target="_blank" rel="nofollow noopener"&gt;http://netbsd.org/donations/#how-to-donate&lt;/a&gt;
***
##News Roundup
###&lt;a href="https://blather.michaelwlucas.com/archives/3078" target="_blank" rel="nofollow noopener"&gt;MWL’s 2017 Wrap-Up&lt;/a&gt;
&amp;gt; The obvious place to start is my 2016 wrap-up post](&lt;a href="https://blather.michaelwlucas.com/archives/2822" target="_blank" rel="nofollow noopener"&gt;https://blather.michaelwlucas.com/archives/2822&lt;/a&gt;), where I listed goals for 2017. As usual, these goals were wildly delusional.
&amp;gt; The short answer is, my iron was back up to normal. My writing speed wasn’t, though. I’d lost too much general health, and needed hard exercise to recover it. Yes, writing requires physical endurance. Maintaining that level of concentration for several hours a day demands a certain level of blood flow to the brain. I could have faked it in a day job, but when self-employed as an artist? Not so much.
&amp;gt; Then there’s travel. I did my usual BSDCan trip, plus two educational trips to Lincoln City, Oregon. The current political mayhem convinced me that if I wanted to hit EuroBSDCon any time in the next few years, I should do it in the very near future. So I went to Paris, where I promptly got pickpocketed. (Thankfully, they didn’t get my passport.) I was actively writing the third edition of Absolute FreeBSD, so I visited BSDCam in Cambridge to get the latest information and a sense of where FreeBSD was going. I also did weekends at Kansas LinuxFest (because they asked and paid for my trip) and Penguicon.
&amp;gt; (Because people will ask: why EuroBSDCon and not AsiaBSDCon? A six-hour transatlantic flight requires that I take a substantial dose of heavy-grade tranquilizers. I’m incapable of making intelligent decisions while on those drugs, or for several hours afterward. They don’t last long enough for twelve-hour flight to Japan, so I need to be accompanied by someone qualified to tell me when I need to take the next dose partway through the flight. This isn’t a predetermined time that I can set an alarm for; it depends on how the clonazepam affects me at those altitudes. A drug overdose while flying over the North Pole would be bad. When I can arrange that qualified companion, I’ll make the trip.)
&amp;gt; I need most of the preceding week to prepare for long trips. I need the following week to recover from time shifts and general exhaustion. Additionally, I have to hoard people juice for a few weeks beforehand so I can deal with folks during these expeditions. Travel disrupts my dojo time as well, which impacts my health.
&amp;gt; Taken as a whole: I didn’t get nearly as much done as I hoped.&lt;/li&gt;
&lt;li&gt;I wrote more stories, but Kris Rusch bludgeoned me into submitting them to trad markets. (The woman is a brute, I tell you. Cross her at your peril.)&lt;/li&gt;
&lt;li&gt;Among my 2017 titles, my fiction outsold the tech books. No, not Prohibition Orcs–all four of the people who buy those love them, but the sales tell me I’ve done something wrong with those tales.&lt;/li&gt;
&lt;li&gt;My cozy mystery git commit murder outsold Relayd and Httpd Mastery.&lt;/li&gt;
&lt;li&gt;But what outdid them both, as well as most of my older books? What title utterly dominated my sales for the last quarter of the year? It was of course, my open source software political satire disguised as porn &lt;a href="https://www.michaelwarrenlucas.com/index.php/romance#sbs" target="_blank" rel="nofollow noopener"&gt;Savaged by Systemd: an Erotic Unix Encounter.&lt;/a&gt;
&amp;gt; I can’t believe I just wrote that paragraph.&lt;/li&gt;
&lt;li&gt;The good news is, once I recovered from EuroBSDCon, my writing got better.&lt;/li&gt;
&lt;li&gt;I finished Absolute FreeBSD, 3rd edition and submitted it to the publisher.&lt;/li&gt;
&lt;li&gt;I wrote the second edition of SSH Mastery (no link, because you can’t order it yet.)&lt;/li&gt;
&lt;li&gt;I’m plowing through git sync murder, the sequel to git commit murder. I don’t get to see the new Star Wars movie until I finish GSM, so hopefully that’ll be this month.&lt;/li&gt;
&lt;li&gt;All in all, I wrote 480,200 words in 2017. Most of that was after September. It’s annoyingly close to breaking half a million, but after 2016’s scandalous 195,700, I’ll take it.
***
###&lt;a href="https://blog.2ndquadrant.com/pg-phriday-postgres-zfs/" target="_blank" rel="nofollow noopener"&gt;PG Phriday: Postgres on ZFS&lt;/a&gt;
&amp;gt; ZFS is a filesystem originally created by Sun Microsystems, and has been available for BSD over a decade. While Postgres will run just fine on BSD, most Postgres installations are historically Linux-based systems. ZFS on Linux has had much more of a rocky road to integration due to perceived license incompatibilities.
&amp;gt; As a consequence, administrators were reluctant or outright refused to run ZFS on their Linux clusters. It wasn’t until OpenZFS was introduced in 2013 that this slowly began to change. These days, ZFS and Linux are starting to become more integrated, and Canonical of Ubuntu fame even announced direct support for ZFS in their 16.04 LTS release.
&amp;gt; So how can a relatively obscure filesystem designed by a now-defunct hardware and software company help Postgres? Let’s find out!&lt;/li&gt;
&lt;li&gt;Eddie waited til he finished high school
&amp;gt; Old server hardware is dirt cheap these days, and make for a perfect lab for testing suspicious configurations. This is the server we’ll be using for these tests for those following along at home, or want some point of reference:
&lt;code&gt;
Dell R710
x2 Intel X5660 CPUs, for up to 24 threads
64GB RAM
x4 1TB 7200RPM SATA HDDs
H200 RAID card configured for Host Bus Adapter (HBA) mode
250GB Samsung 850 EVO SSD
&lt;/code&gt;
&amp;gt; The H200 is particularly important, as ZFS acts as its own RAID system. It also has its own checksumming and other algorithms that don’t like RAID cards getting in the way. As such, we put the card itself in a mode that facilitates this use case.
&amp;gt; Due to that, we lose out on any battery-backed write cache the RAID card might offer. To make up for it, it’s fairly common to use an SSD or other persistent fast storage to act both as a write cache, and a read cache. This also transforms our HDDs into hybrid storage automatically, which is a huge performance boost on a budget.&lt;/li&gt;
&lt;li&gt;She had a guitar and she taught him some chords
&amp;gt; First things first: we need a filesystem. This hardware has four 1TB HDDs, and a 250GB SSD. To keep this article from being too long, we’ve already placed GPT partition tables on all the HDDs, and split the SSD into 50GB for the OS, 32GB for the write cache, and 150GB for the read cache. A more robust setup would probably use separate SSDs or a mirrored pair for these, but labs are fair game.&lt;/li&gt;
&lt;li&gt;They moved into a place they both could afford
&amp;gt; Let’s start by getting a performance baseline for the hardware. We might expect peak performance at 12 or 24 threads because the server has 12 real CPUs and 24 threads, but query throughput actually topped out at concurrent 32 processes. We can scratch our heads over this later, for now, we can consider it the maximum capabilities of this hardware.
Here’s a small sample:
```
$&amp;gt; pgbench -S -j 32 -c 32 -M prepared -T 20 pgbench&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;...&lt;br&gt;
tps = 264661.135288 (including connections establishing)&lt;br&gt;
tps = 264849.345595 (excluding connections establishing)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; So far, this is pretty standard behavior. 260k prepared queries per second is great read performance, but this is supposed to be a filesystem demonstration. Let’s get ZFS involved.
+ The papers said Ed always played from the heart
&amp;gt; Let’s repeat that same test with writes enabled. Once that happens, filesystem syncs, dirty pages, WAL overhead, and other things should drastically reduce overall throughput. That’s an expected result, but how much are we looking at, here?
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;$&amp;gt; pgbench -j 32 -c 32 -M prepared -T 10 pgbench&lt;/p&gt;

&lt;p&gt;...&lt;br&gt;
tps = 6153.877658 (including connections establishing)&lt;br&gt;
tps = 6162.392166 (excluding connections establishing)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; SSD cache or not, storage overhead is a painful reality. Still, 6000 TPS with writes enabled is a great result for this hardware. Or is it? Can we actually do better?
&amp;gt; Consider the Postgres full_page_writes parameter. Tomas Vondra has written about it in the past as a necessity to prevent WAL corruption due to partial writes. The WAL is both streaming replication and crash recovery, so its integrity is of utmost importance. As a result, this is one parameter almost everyone should leave alone.
&amp;gt; ZFS is Copy on Write (CoW). As a result, it’s not possible to have a torn page because a page can’t be partially written without reverting to the previous copy. This means we can actually turn off full_page_writes in the Postgres config. The results are some fairly startling performance gains:
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;$&amp;gt; pgbench -j 32 -c 32 -M prepared -T 10 pgbench&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;tps = 10325.200812 (including connections establishing)&lt;br&gt;
tps = 10336.807218 (excluding connections establishing)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; That’s nearly a 70% improvement. Due to write amplification caused by full page writes, Postgres produced 1.2GB of WAL files during a 1-minute pgbench test, but only 160MB with full page writes disabled.
&amp;gt; To be fair, a 32-thread pgbench write test is extremely abusive and certainly not a typical usage scenario. However, ZFS just ensured our storage a much lower write load by altering one single parameter. That means the capabilities of the hardware have also been extended to higher write workloads as IO bandwidth is not being consumed by WAL traffic.
+ They both met movie stars, partied and mingled
&amp;gt; Astute readers may have noticed we didn’t change the default ZFS block size from 128k to align with the Postgres default of 8kb. 
&amp;gt; As it turns out, the 128kb blocks allow ZFS to better combine some of those 8kb Postgres pages to save space. That will allow our measly 2TB to go a lot further than is otherwise possible.
&amp;gt; Please note that this is not de-duplication, but simple lz4 compression, which is nearly real-time in terms of CPU overhead. De-duplication on ZFS is currently an uncertain bizzaro universe populated with misshapen horrors crawling along a broken landscape. It’s a world of extreme memory overhead for de-duplication tables, and potential lost data due to inherent conflicts with the CoW underpinnings. Please don’t use it, let anyone else use it, or even think about using it, ever.
+ They made a record and it went in the chart
&amp;gt; We’re still not done. One important aspect of ZFS as a CoW filesystem, is that it has integrated snapshots.
&amp;gt; Consider the scenario where a dev is connected to the wrong system and drops what they think is a table in a QA environment. It turns out they were in the wrong terminal and just erased a critical production table, and now everyone is frantic.
+ The future was wide open
&amp;gt; It’s difficult to discount an immediately observable reduction in write overhead. Snapshots have a multitude of accepted and potential use cases, as well. In addition to online low-overhead compression, and the hybrid cache layer, ZFS boasts a plethora of features we didn’t explore.
&amp;gt; Built-in checksums with integrated self-healing suggest it isn’t entirely necessary to re-initialize an existing Postgres instance to enable checksums. The filesystem itself ensures checksums are validated and correct, especially if we have more than one drive resource in our pool. It even goes the extra mile and actively corrects inconsistencies when encountered.
&amp;gt; I immediately discounted ZFS back in 2012 because the company I worked for at the time was a pure Linux shop. ZFS was only available using the FUSE driver back then, meaning ZFS only worked through userspace with no real kernel integration. It was fun to tinker with, but nobody sane would use that on a production server of any description.
&amp;gt; Things have changed quite drastically since then. I’ve stopped waiting for btrfs to become viable, and ZFS has probably taken the throne away from XFS as my filesystem of choice. Future editions of the Postgres High Availability Cookbook will reflect this as well.
&amp;gt; Postgres MVCC and ZFS CoW seem made for each other. I’m curious to see what will transpire over the next few years now that ZFS has reached mainstream acceptance in at least one major Linux distribution.
***
###[NomadBSD](https://github.com/mrclksr/NomadBSD)
+  About
&amp;gt; NomadBSD is a live system for flash drives, based on FreeBSD.
+ Screenshots
![](http://freeshell.de/~mk/download/nomadbsd-ss1.png)
![](http://freeshell.de/~mk/download/nomadbsd-ss2.png)
+  Requirements for building the image
A recent FreeBSD system
+  Requirements for running NomadBSD
* A 4GB (or more) flash drive
* A System capable running FreeBSD 11.1 (amd64)
+  Building the image
~~ csh
# make image
~~
+  Writing the image to an USB memory stick
~~ csh
# dd if=nomadbsd.img of=/dev/da0 bs=10240 conv=sync
~~
+  Resize filesystem to use the entire USB memory
 + Boot NomadBSD into single user mode, and execute:
~~
# gpart delete -i 2 da0s1
# gpart resize -i 1 da0
# gpart commit da0s1
~~
 + Determine the partition size in megabytes using 
 ````fdisk da0````
 + and calculate the remaining size of da0s1a:
````&amp;lt;REMAIN&amp;gt; = &amp;lt;SIZE OF PARTITION IN MB&amp;gt; - &amp;lt;DESIRED SWAP SIZE IN MB&amp;gt;````.
~~
# gpart resize -i 1 -s &amp;lt;REMAIN&amp;gt;M da0s1
# gpart add -t freebsd-swap -i 2 da0s1
# glabel label NomadBSDsw da0s1b
# service growfs onestart
# reboot
~~
+ [FreeBSD forum thread](https://forums.freebsd.org/threads/63888/)
+ [A short screen capture video of the NomadBSD system running in VirtualBox](https://freeshell.de/~mk/download/nomad_capture.mp4)
***
##Beastie Bits
+ [Coolpkg, a package manager inspired by Nix for OpenBSD](https://github.com/andrewchambers/coolpkg)
+ [zrepl - ZFS replication](https://zrepl.github.io/)
+ [OpenBSD hotplugd automount script](https://bijanebrahimi.github.io/blog/openbsd-hotplugd-scripting.html)
+ [Ancient troff sources vs. modern-day groff](https://virtuallyfun.com/2017/12/22/learn-ancient-troff-sources-vs-modern-day-groff/)
+ [Paypal donation balance and status.. thanks everyone!](http://lists.dragonflybsd.org/pipermail/users/2017-December/313752.html)
+ [Supervised FreeBSD rc.d script for a Go daemon (updated in last few days)](https://redbyte.eu/en/blog/supervised-freebsd-init-script-for-go-deamon/)
+ [A Brief History of sed](https://blog.sourcerer.io/a-brief-history-of-sed-6eaf00302ed)
+ [Flamegraph: Why does my AWS instance boot so slow?](http://www.daemonology.net/timestamping/tslog-c5.4xlarge.svg)
***
##Feedback/Questions
+ Jeremy - [Replacing Drive in a Zpool](http://dpaste.com/319593M#wrap)
+ [Dan’s Blog ](https://dan.langille.org/2017/08/16/swapping-5tb-in-3tb-out/)
+ Tim - [Keeping GELI key through reboot](http://dpaste.com/11QTA06)
+ Brian - [Mixing 2.5 and 3.5 drives](http://dpaste.com/2JQVD10#wrap)
+ Troels - [zfs swap on FreeBSD](http://dpaste.com/147WAFR#wrap)
*** 
&lt;/code&gt;&lt;/pre&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We review the information about Spectre &amp; Meltdown thus far, we look at NetBSD memory sanitizer progress, Postgres on ZFS &amp; show you a bit about NomadBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3>Meltdown Spectre</h3>

<ul>
<li><a href="https://meltdownattack.com/" target="_blank" rel="nofollow noopener">Official Site</a></li>
<li><a href="https://www.theregister.co.uk/2018/01/02/intel_cpu_design_flaw/" target="_blank" rel="nofollow noopener">Kernel-memory-leaking Intel processor design flaw forces Linux, Windows redesign</a></li>
<li><a href="https://newsroom.intel.com/news/intel-responds-to-security-research-findings/" target="_blank" rel="nofollow noopener">Intel’s official response</a></li>
<li><a href="https://www.theregister.co.uk/2018/01/04/intel_meltdown_spectre_bugs_the_registers_annotations/" target="_blank" rel="nofollow noopener">The Register mocks intels response with pithy annotations</a></li>
<li><a href="https://newsroom.intel.com/wp-content/uploads/sites/11/2018/01/Intel-Analysis-of-Speculative-Execution-Side-Channels.pdf" target="_blank" rel="nofollow noopener">Intel’s Analysis PDF</a></li>
<li><a href="https://xkcd.com/1938/" target="_blank" rel="nofollow noopener">XKCD</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-security/2018-January/009719.html" target="_blank" rel="nofollow noopener">Response from FreeBSD</a></li>
<li><a href="https://reviews.freebsd.org/D13797" target="_blank" rel="nofollow noopener">FreeBSD's patch WIP</a></li>
<li><a href="https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/" target="_blank" rel="nofollow noopener">Why Raspberry Pi isn’t vulnerable to Spectre or Meltdown</a></li>
<li><a href="https://lists.xenproject.org/archives/html/xen-devel/2018-01/msg00110.html" target="_blank" rel="nofollow noopener">Xen mitigation patches</a></li>
<li><a href="https://wiki.freebsd.org/SpeculativeExecutionVulnerabilities" target="_blank" rel="nofollow noopener">Overview of affected FreeBSD Platforms/Architectures</a></li>
<li><a href="https://twitter.com/GroffTheBSDGoat/status/949372300368867328" target="_blank" rel="nofollow noopener">Groff's response</a>
##### We’ll cover OpenBSD, NetBSD, and DragonflyBSD’s responses in next weeks episode.
***
###<a href="https://blog.netbsd.org/tnf/entry/the_llvm_memory_sanitizer_support" target="_blank" rel="nofollow noopener">The LLVM Memory Sanitizer support work in progress</a>
&gt; In the past 31 days, I've managed to get the core functionality of MSan to work. This is an uninitialized memory usage detector. MSan is a special sanitizer because it requires knowledge of every entry to the basesystem library and every entry to the kernel through public interfaces. This is mandatory in order to mark memory regions as initialized.  Most of the work has been done directly for MSan. However, part of the work helped generic features in compiler-rt.</li>
<li>Sanitizers
&gt; Changes in the sanitizer are listed below in chronological order. Almost all of the changes mentioned here landed upstream. A few small patches were reverted due to breaking non-NetBSD hosts and are rescheduled for further investigation. I maintain these patches locally and have moved on for now to work on the remaining features.</li>
<li>NetBSD syscall hooks
&gt; I wrote a large patch (815kb!) adding support for NetBSD syscall hooks for use with sanitizers. </li>
<li>NetBSD ioctl(2) hooks
&gt; Similar to the syscall hooks, there is need to handle every ioctl(2) call. I've created the needed patch, this time shorter - for less than 300kb.</li>
<li>New patches still pending for upstream review
&gt; There are two corrections that I've created, and they are still pending upstream for review:</li>
<li>Add MSan interceptor for fstat(2)](<a href="https://reviews.llvm.org/D41637" target="_blank" rel="nofollow noopener">https://reviews.llvm.org/D41637</a>)</li>
<li> Correct the setitimer interceptor on NetBSD)](<a href="https://reviews.llvm.org/D41502" target="_blank" rel="nofollow noopener">https://reviews.llvm.org/D41502</a>)
&gt; I've got a few more local patches that require cleanup before submitting to review.</li>
<li>NetBSD basesystem corrections</li>
<li>Sanitizers in Go</li>
<li>The MSan state as of today</li>
<li>Solaris support in sanitizers
&gt; I've helped the Solaris team add basic support for Sanitizers (ASan, UBsan). This does not help NetBSD directly, however indirectly it improves the overall support for non-Linux hosts and helps to catch more Linuxisms in the code.</li>
<li>Plan for the next milestone
&gt; I plan to continue the work on MSan and correct sanitizing of the NetBSD basesystem utilities. This mandates me to iterate over the basesystem libraries implementing the missing interceptors and correcting the current support of the existing ones. My milestone is to build all src/<em>bin</em> programs against Memory Sanitizer and when possible execute them cleanly.</li>
<li>This work was sponsored by The NetBSD Foundation.</li>
<li>The NetBSD Foundation is a non-profit organization and welcomes any donations to help us continue funding projects and services to the open-source community. Please consider visiting the following URL, and chip in what you can: <a href="http://netbsd.org/donations/#how-to-donate" target="_blank" rel="nofollow noopener">http://netbsd.org/donations/#how-to-donate</a>
***
##News Roundup
###<a href="https://blather.michaelwlucas.com/archives/3078" target="_blank" rel="nofollow noopener">MWL’s 2017 Wrap-Up</a>
&gt; The obvious place to start is my 2016 wrap-up post](<a href="https://blather.michaelwlucas.com/archives/2822" target="_blank" rel="nofollow noopener">https://blather.michaelwlucas.com/archives/2822</a>), where I listed goals for 2017. As usual, these goals were wildly delusional.
&gt; The short answer is, my iron was back up to normal. My writing speed wasn’t, though. I’d lost too much general health, and needed hard exercise to recover it. Yes, writing requires physical endurance. Maintaining that level of concentration for several hours a day demands a certain level of blood flow to the brain. I could have faked it in a day job, but when self-employed as an artist? Not so much.
&gt; Then there’s travel. I did my usual BSDCan trip, plus two educational trips to Lincoln City, Oregon. The current political mayhem convinced me that if I wanted to hit EuroBSDCon any time in the next few years, I should do it in the very near future. So I went to Paris, where I promptly got pickpocketed. (Thankfully, they didn’t get my passport.) I was actively writing the third edition of Absolute FreeBSD, so I visited BSDCam in Cambridge to get the latest information and a sense of where FreeBSD was going. I also did weekends at Kansas LinuxFest (because they asked and paid for my trip) and Penguicon.
&gt; (Because people will ask: why EuroBSDCon and not AsiaBSDCon? A six-hour transatlantic flight requires that I take a substantial dose of heavy-grade tranquilizers. I’m incapable of making intelligent decisions while on those drugs, or for several hours afterward. They don’t last long enough for twelve-hour flight to Japan, so I need to be accompanied by someone qualified to tell me when I need to take the next dose partway through the flight. This isn’t a predetermined time that I can set an alarm for; it depends on how the clonazepam affects me at those altitudes. A drug overdose while flying over the North Pole would be bad. When I can arrange that qualified companion, I’ll make the trip.)
&gt; I need most of the preceding week to prepare for long trips. I need the following week to recover from time shifts and general exhaustion. Additionally, I have to hoard people juice for a few weeks beforehand so I can deal with folks during these expeditions. Travel disrupts my dojo time as well, which impacts my health.
&gt; Taken as a whole: I didn’t get nearly as much done as I hoped.</li>
<li>I wrote more stories, but Kris Rusch bludgeoned me into submitting them to trad markets. (The woman is a brute, I tell you. Cross her at your peril.)</li>
<li>Among my 2017 titles, my fiction outsold the tech books. No, not Prohibition Orcs–all four of the people who buy those love them, but the sales tell me I’ve done something wrong with those tales.</li>
<li>My cozy mystery git commit murder outsold Relayd and Httpd Mastery.</li>
<li>But what outdid them both, as well as most of my older books? What title utterly dominated my sales for the last quarter of the year? It was of course, my open source software political satire disguised as porn <a href="https://www.michaelwarrenlucas.com/index.php/romance#sbs" target="_blank" rel="nofollow noopener">Savaged by Systemd: an Erotic Unix Encounter.</a>
&gt; I can’t believe I just wrote that paragraph.</li>
<li>The good news is, once I recovered from EuroBSDCon, my writing got better.</li>
<li>I finished Absolute FreeBSD, 3rd edition and submitted it to the publisher.</li>
<li>I wrote the second edition of SSH Mastery (no link, because you can’t order it yet.)</li>
<li>I’m plowing through git sync murder, the sequel to git commit murder. I don’t get to see the new Star Wars movie until I finish GSM, so hopefully that’ll be this month.</li>
<li>All in all, I wrote 480,200 words in 2017. Most of that was after September. It’s annoyingly close to breaking half a million, but after 2016’s scandalous 195,700, I’ll take it.
***
###<a href="https://blog.2ndquadrant.com/pg-phriday-postgres-zfs/" target="_blank" rel="nofollow noopener">PG Phriday: Postgres on ZFS</a>
&gt; ZFS is a filesystem originally created by Sun Microsystems, and has been available for BSD over a decade. While Postgres will run just fine on BSD, most Postgres installations are historically Linux-based systems. ZFS on Linux has had much more of a rocky road to integration due to perceived license incompatibilities.
&gt; As a consequence, administrators were reluctant or outright refused to run ZFS on their Linux clusters. It wasn’t until OpenZFS was introduced in 2013 that this slowly began to change. These days, ZFS and Linux are starting to become more integrated, and Canonical of Ubuntu fame even announced direct support for ZFS in their 16.04 LTS release.
&gt; So how can a relatively obscure filesystem designed by a now-defunct hardware and software company help Postgres? Let’s find out!</li>
<li>Eddie waited til he finished high school
&gt; Old server hardware is dirt cheap these days, and make for a perfect lab for testing suspicious configurations. This is the server we’ll be using for these tests for those following along at home, or want some point of reference:
<code>
Dell R710
x2 Intel X5660 CPUs, for up to 24 threads
64GB RAM
x4 1TB 7200RPM SATA HDDs
H200 RAID card configured for Host Bus Adapter (HBA) mode
250GB Samsung 850 EVO SSD
</code>
&gt; The H200 is particularly important, as ZFS acts as its own RAID system. It also has its own checksumming and other algorithms that don’t like RAID cards getting in the way. As such, we put the card itself in a mode that facilitates this use case.
&gt; Due to that, we lose out on any battery-backed write cache the RAID card might offer. To make up for it, it’s fairly common to use an SSD or other persistent fast storage to act both as a write cache, and a read cache. This also transforms our HDDs into hybrid storage automatically, which is a huge performance boost on a budget.</li>
<li>She had a guitar and she taught him some chords
&gt; First things first: we need a filesystem. This hardware has four 1TB HDDs, and a 250GB SSD. To keep this article from being too long, we’ve already placed GPT partition tables on all the HDDs, and split the SSD into 50GB for the OS, 32GB for the write cache, and 150GB for the read cache. A more robust setup would probably use separate SSDs or a mirrored pair for these, but labs are fair game.</li>
<li>They moved into a place they both could afford
&gt; Let’s start by getting a performance baseline for the hardware. We might expect peak performance at 12 or 24 threads because the server has 12 real CPUs and 24 threads, but query throughput actually topped out at concurrent 32 processes. We can scratch our heads over this later, for now, we can consider it the maximum capabilities of this hardware.
Here’s a small sample:
```
$&gt; pgbench -S -j 32 -c 32 -M prepared -T 20 pgbench</li>
</ul>

<p>...<br>
tps = 264661.135288 (including connections establishing)<br>
tps = 264849.345595 (excluding connections establishing)</p>

<pre><code>&gt; So far, this is pretty standard behavior. 260k prepared queries per second is great read performance, but this is supposed to be a filesystem demonstration. Let’s get ZFS involved.
+ The papers said Ed always played from the heart
&gt; Let’s repeat that same test with writes enabled. Once that happens, filesystem syncs, dirty pages, WAL overhead, and other things should drastically reduce overall throughput. That’s an expected result, but how much are we looking at, here?
</code></pre>

<p>$&gt; pgbench -j 32 -c 32 -M prepared -T 10 pgbench</p>

<p>...<br>
tps = 6153.877658 (including connections establishing)<br>
tps = 6162.392166 (excluding connections establishing)</p>

<pre><code>&gt; SSD cache or not, storage overhead is a painful reality. Still, 6000 TPS with writes enabled is a great result for this hardware. Or is it? Can we actually do better?
&gt; Consider the Postgres full_page_writes parameter. Tomas Vondra has written about it in the past as a necessity to prevent WAL corruption due to partial writes. The WAL is both streaming replication and crash recovery, so its integrity is of utmost importance. As a result, this is one parameter almost everyone should leave alone.
&gt; ZFS is Copy on Write (CoW). As a result, it’s not possible to have a torn page because a page can’t be partially written without reverting to the previous copy. This means we can actually turn off full_page_writes in the Postgres config. The results are some fairly startling performance gains:
</code></pre>

<p>$&gt; pgbench -j 32 -c 32 -M prepared -T 10 pgbench</p>

<pre><code></code></pre>

<p>tps = 10325.200812 (including connections establishing)<br>
tps = 10336.807218 (excluding connections establishing)</p>

<pre><code>&gt; That’s nearly a 70% improvement. Due to write amplification caused by full page writes, Postgres produced 1.2GB of WAL files during a 1-minute pgbench test, but only 160MB with full page writes disabled.
&gt; To be fair, a 32-thread pgbench write test is extremely abusive and certainly not a typical usage scenario. However, ZFS just ensured our storage a much lower write load by altering one single parameter. That means the capabilities of the hardware have also been extended to higher write workloads as IO bandwidth is not being consumed by WAL traffic.
+ They both met movie stars, partied and mingled
&gt; Astute readers may have noticed we didn’t change the default ZFS block size from 128k to align with the Postgres default of 8kb. 
&gt; As it turns out, the 128kb blocks allow ZFS to better combine some of those 8kb Postgres pages to save space. That will allow our measly 2TB to go a lot further than is otherwise possible.
&gt; Please note that this is not de-duplication, but simple lz4 compression, which is nearly real-time in terms of CPU overhead. De-duplication on ZFS is currently an uncertain bizzaro universe populated with misshapen horrors crawling along a broken landscape. It’s a world of extreme memory overhead for de-duplication tables, and potential lost data due to inherent conflicts with the CoW underpinnings. Please don’t use it, let anyone else use it, or even think about using it, ever.
+ They made a record and it went in the chart
&gt; We’re still not done. One important aspect of ZFS as a CoW filesystem, is that it has integrated snapshots.
&gt; Consider the scenario where a dev is connected to the wrong system and drops what they think is a table in a QA environment. It turns out they were in the wrong terminal and just erased a critical production table, and now everyone is frantic.
+ The future was wide open
&gt; It’s difficult to discount an immediately observable reduction in write overhead. Snapshots have a multitude of accepted and potential use cases, as well. In addition to online low-overhead compression, and the hybrid cache layer, ZFS boasts a plethora of features we didn’t explore.
&gt; Built-in checksums with integrated self-healing suggest it isn’t entirely necessary to re-initialize an existing Postgres instance to enable checksums. The filesystem itself ensures checksums are validated and correct, especially if we have more than one drive resource in our pool. It even goes the extra mile and actively corrects inconsistencies when encountered.
&gt; I immediately discounted ZFS back in 2012 because the company I worked for at the time was a pure Linux shop. ZFS was only available using the FUSE driver back then, meaning ZFS only worked through userspace with no real kernel integration. It was fun to tinker with, but nobody sane would use that on a production server of any description.
&gt; Things have changed quite drastically since then. I’ve stopped waiting for btrfs to become viable, and ZFS has probably taken the throne away from XFS as my filesystem of choice. Future editions of the Postgres High Availability Cookbook will reflect this as well.
&gt; Postgres MVCC and ZFS CoW seem made for each other. I’m curious to see what will transpire over the next few years now that ZFS has reached mainstream acceptance in at least one major Linux distribution.
***
###[NomadBSD](https://github.com/mrclksr/NomadBSD)
+  About
&gt; NomadBSD is a live system for flash drives, based on FreeBSD.
+ Screenshots
![](http://freeshell.de/~mk/download/nomadbsd-ss1.png)
![](http://freeshell.de/~mk/download/nomadbsd-ss2.png)
+  Requirements for building the image
A recent FreeBSD system
+  Requirements for running NomadBSD
* A 4GB (or more) flash drive
* A System capable running FreeBSD 11.1 (amd64)
+  Building the image
~~ csh
# make image
~~
+  Writing the image to an USB memory stick
~~ csh
# dd if=nomadbsd.img of=/dev/da0 bs=10240 conv=sync
~~
+  Resize filesystem to use the entire USB memory
 + Boot NomadBSD into single user mode, and execute:
~~
# gpart delete -i 2 da0s1
# gpart resize -i 1 da0
# gpart commit da0s1
~~
 + Determine the partition size in megabytes using 
 ````fdisk da0````
 + and calculate the remaining size of da0s1a:
````&lt;REMAIN&gt; = &lt;SIZE OF PARTITION IN MB&gt; - &lt;DESIRED SWAP SIZE IN MB&gt;````.
~~
# gpart resize -i 1 -s &lt;REMAIN&gt;M da0s1
# gpart add -t freebsd-swap -i 2 da0s1
# glabel label NomadBSDsw da0s1b
# service growfs onestart
# reboot
~~
+ [FreeBSD forum thread](https://forums.freebsd.org/threads/63888/)
+ [A short screen capture video of the NomadBSD system running in VirtualBox](https://freeshell.de/~mk/download/nomad_capture.mp4)
***
##Beastie Bits
+ [Coolpkg, a package manager inspired by Nix for OpenBSD](https://github.com/andrewchambers/coolpkg)
+ [zrepl - ZFS replication](https://zrepl.github.io/)
+ [OpenBSD hotplugd automount script](https://bijanebrahimi.github.io/blog/openbsd-hotplugd-scripting.html)
+ [Ancient troff sources vs. modern-day groff](https://virtuallyfun.com/2017/12/22/learn-ancient-troff-sources-vs-modern-day-groff/)
+ [Paypal donation balance and status.. thanks everyone!](http://lists.dragonflybsd.org/pipermail/users/2017-December/313752.html)
+ [Supervised FreeBSD rc.d script for a Go daemon (updated in last few days)](https://redbyte.eu/en/blog/supervised-freebsd-init-script-for-go-deamon/)
+ [A Brief History of sed](https://blog.sourcerer.io/a-brief-history-of-sed-6eaf00302ed)
+ [Flamegraph: Why does my AWS instance boot so slow?](http://www.daemonology.net/timestamping/tslog-c5.4xlarge.svg)
***
##Feedback/Questions
+ Jeremy - [Replacing Drive in a Zpool](http://dpaste.com/319593M#wrap)
+ [Dan’s Blog ](https://dan.langille.org/2017/08/16/swapping-5tb-in-3tb-out/)
+ Tim - [Keeping GELI key through reboot](http://dpaste.com/11QTA06)
+ Brian - [Mixing 2.5 and 3.5 drives](http://dpaste.com/2JQVD10#wrap)
+ Troels - [zfs swap on FreeBSD](http://dpaste.com/147WAFR#wrap)
***
</code></pre>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We review the information about Spectre &amp; Meltdown thus far, we look at NetBSD memory sanitizer progress, Postgres on ZFS &amp; show you a bit about NomadBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3>Meltdown Spectre</h3>

<ul>
<li><a href="https://meltdownattack.com/" target="_blank" rel="nofollow noopener">Official Site</a></li>
<li><a href="https://www.theregister.co.uk/2018/01/02/intel_cpu_design_flaw/" target="_blank" rel="nofollow noopener">Kernel-memory-leaking Intel processor design flaw forces Linux, Windows redesign</a></li>
<li><a href="https://newsroom.intel.com/news/intel-responds-to-security-research-findings/" target="_blank" rel="nofollow noopener">Intel’s official response</a></li>
<li><a href="https://www.theregister.co.uk/2018/01/04/intel_meltdown_spectre_bugs_the_registers_annotations/" target="_blank" rel="nofollow noopener">The Register mocks intels response with pithy annotations</a></li>
<li><a href="https://newsroom.intel.com/wp-content/uploads/sites/11/2018/01/Intel-Analysis-of-Speculative-Execution-Side-Channels.pdf" target="_blank" rel="nofollow noopener">Intel’s Analysis PDF</a></li>
<li><a href="https://xkcd.com/1938/" target="_blank" rel="nofollow noopener">XKCD</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-security/2018-January/009719.html" target="_blank" rel="nofollow noopener">Response from FreeBSD</a></li>
<li><a href="https://reviews.freebsd.org/D13797" target="_blank" rel="nofollow noopener">FreeBSD's patch WIP</a></li>
<li><a href="https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/" target="_blank" rel="nofollow noopener">Why Raspberry Pi isn’t vulnerable to Spectre or Meltdown</a></li>
<li><a href="https://lists.xenproject.org/archives/html/xen-devel/2018-01/msg00110.html" target="_blank" rel="nofollow noopener">Xen mitigation patches</a></li>
<li><a href="https://wiki.freebsd.org/SpeculativeExecutionVulnerabilities" target="_blank" rel="nofollow noopener">Overview of affected FreeBSD Platforms/Architectures</a></li>
<li><a href="https://twitter.com/GroffTheBSDGoat/status/949372300368867328" target="_blank" rel="nofollow noopener">Groff's response</a>
##### We’ll cover OpenBSD, NetBSD, and DragonflyBSD’s responses in next weeks episode.
***
###<a href="https://blog.netbsd.org/tnf/entry/the_llvm_memory_sanitizer_support" target="_blank" rel="nofollow noopener">The LLVM Memory Sanitizer support work in progress</a>
&gt; In the past 31 days, I've managed to get the core functionality of MSan to work. This is an uninitialized memory usage detector. MSan is a special sanitizer because it requires knowledge of every entry to the basesystem library and every entry to the kernel through public interfaces. This is mandatory in order to mark memory regions as initialized.  Most of the work has been done directly for MSan. However, part of the work helped generic features in compiler-rt.</li>
<li>Sanitizers
&gt; Changes in the sanitizer are listed below in chronological order. Almost all of the changes mentioned here landed upstream. A few small patches were reverted due to breaking non-NetBSD hosts and are rescheduled for further investigation. I maintain these patches locally and have moved on for now to work on the remaining features.</li>
<li>NetBSD syscall hooks
&gt; I wrote a large patch (815kb!) adding support for NetBSD syscall hooks for use with sanitizers. </li>
<li>NetBSD ioctl(2) hooks
&gt; Similar to the syscall hooks, there is need to handle every ioctl(2) call. I've created the needed patch, this time shorter - for less than 300kb.</li>
<li>New patches still pending for upstream review
&gt; There are two corrections that I've created, and they are still pending upstream for review:</li>
<li>Add MSan interceptor for fstat(2)](<a href="https://reviews.llvm.org/D41637" target="_blank" rel="nofollow noopener">https://reviews.llvm.org/D41637</a>)</li>
<li> Correct the setitimer interceptor on NetBSD)](<a href="https://reviews.llvm.org/D41502" target="_blank" rel="nofollow noopener">https://reviews.llvm.org/D41502</a>)
&gt; I've got a few more local patches that require cleanup before submitting to review.</li>
<li>NetBSD basesystem corrections</li>
<li>Sanitizers in Go</li>
<li>The MSan state as of today</li>
<li>Solaris support in sanitizers
&gt; I've helped the Solaris team add basic support for Sanitizers (ASan, UBsan). This does not help NetBSD directly, however indirectly it improves the overall support for non-Linux hosts and helps to catch more Linuxisms in the code.</li>
<li>Plan for the next milestone
&gt; I plan to continue the work on MSan and correct sanitizing of the NetBSD basesystem utilities. This mandates me to iterate over the basesystem libraries implementing the missing interceptors and correcting the current support of the existing ones. My milestone is to build all src/<em>bin</em> programs against Memory Sanitizer and when possible execute them cleanly.</li>
<li>This work was sponsored by The NetBSD Foundation.</li>
<li>The NetBSD Foundation is a non-profit organization and welcomes any donations to help us continue funding projects and services to the open-source community. Please consider visiting the following URL, and chip in what you can: <a href="http://netbsd.org/donations/#how-to-donate" target="_blank" rel="nofollow noopener">http://netbsd.org/donations/#how-to-donate</a>
***
##News Roundup
###<a href="https://blather.michaelwlucas.com/archives/3078" target="_blank" rel="nofollow noopener">MWL’s 2017 Wrap-Up</a>
&gt; The obvious place to start is my 2016 wrap-up post](<a href="https://blather.michaelwlucas.com/archives/2822" target="_blank" rel="nofollow noopener">https://blather.michaelwlucas.com/archives/2822</a>), where I listed goals for 2017. As usual, these goals were wildly delusional.
&gt; The short answer is, my iron was back up to normal. My writing speed wasn’t, though. I’d lost too much general health, and needed hard exercise to recover it. Yes, writing requires physical endurance. Maintaining that level of concentration for several hours a day demands a certain level of blood flow to the brain. I could have faked it in a day job, but when self-employed as an artist? Not so much.
&gt; Then there’s travel. I did my usual BSDCan trip, plus two educational trips to Lincoln City, Oregon. The current political mayhem convinced me that if I wanted to hit EuroBSDCon any time in the next few years, I should do it in the very near future. So I went to Paris, where I promptly got pickpocketed. (Thankfully, they didn’t get my passport.) I was actively writing the third edition of Absolute FreeBSD, so I visited BSDCam in Cambridge to get the latest information and a sense of where FreeBSD was going. I also did weekends at Kansas LinuxFest (because they asked and paid for my trip) and Penguicon.
&gt; (Because people will ask: why EuroBSDCon and not AsiaBSDCon? A six-hour transatlantic flight requires that I take a substantial dose of heavy-grade tranquilizers. I’m incapable of making intelligent decisions while on those drugs, or for several hours afterward. They don’t last long enough for twelve-hour flight to Japan, so I need to be accompanied by someone qualified to tell me when I need to take the next dose partway through the flight. This isn’t a predetermined time that I can set an alarm for; it depends on how the clonazepam affects me at those altitudes. A drug overdose while flying over the North Pole would be bad. When I can arrange that qualified companion, I’ll make the trip.)
&gt; I need most of the preceding week to prepare for long trips. I need the following week to recover from time shifts and general exhaustion. Additionally, I have to hoard people juice for a few weeks beforehand so I can deal with folks during these expeditions. Travel disrupts my dojo time as well, which impacts my health.
&gt; Taken as a whole: I didn’t get nearly as much done as I hoped.</li>
<li>I wrote more stories, but Kris Rusch bludgeoned me into submitting them to trad markets. (The woman is a brute, I tell you. Cross her at your peril.)</li>
<li>Among my 2017 titles, my fiction outsold the tech books. No, not Prohibition Orcs–all four of the people who buy those love them, but the sales tell me I’ve done something wrong with those tales.</li>
<li>My cozy mystery git commit murder outsold Relayd and Httpd Mastery.</li>
<li>But what outdid them both, as well as most of my older books? What title utterly dominated my sales for the last quarter of the year? It was of course, my open source software political satire disguised as porn <a href="https://www.michaelwarrenlucas.com/index.php/romance#sbs" target="_blank" rel="nofollow noopener">Savaged by Systemd: an Erotic Unix Encounter.</a>
&gt; I can’t believe I just wrote that paragraph.</li>
<li>The good news is, once I recovered from EuroBSDCon, my writing got better.</li>
<li>I finished Absolute FreeBSD, 3rd edition and submitted it to the publisher.</li>
<li>I wrote the second edition of SSH Mastery (no link, because you can’t order it yet.)</li>
<li>I’m plowing through git sync murder, the sequel to git commit murder. I don’t get to see the new Star Wars movie until I finish GSM, so hopefully that’ll be this month.</li>
<li>All in all, I wrote 480,200 words in 2017. Most of that was after September. It’s annoyingly close to breaking half a million, but after 2016’s scandalous 195,700, I’ll take it.
***
###<a href="https://blog.2ndquadrant.com/pg-phriday-postgres-zfs/" target="_blank" rel="nofollow noopener">PG Phriday: Postgres on ZFS</a>
&gt; ZFS is a filesystem originally created by Sun Microsystems, and has been available for BSD over a decade. While Postgres will run just fine on BSD, most Postgres installations are historically Linux-based systems. ZFS on Linux has had much more of a rocky road to integration due to perceived license incompatibilities.
&gt; As a consequence, administrators were reluctant or outright refused to run ZFS on their Linux clusters. It wasn’t until OpenZFS was introduced in 2013 that this slowly began to change. These days, ZFS and Linux are starting to become more integrated, and Canonical of Ubuntu fame even announced direct support for ZFS in their 16.04 LTS release.
&gt; So how can a relatively obscure filesystem designed by a now-defunct hardware and software company help Postgres? Let’s find out!</li>
<li>Eddie waited til he finished high school
&gt; Old server hardware is dirt cheap these days, and make for a perfect lab for testing suspicious configurations. This is the server we’ll be using for these tests for those following along at home, or want some point of reference:
<code>
Dell R710
x2 Intel X5660 CPUs, for up to 24 threads
64GB RAM
x4 1TB 7200RPM SATA HDDs
H200 RAID card configured for Host Bus Adapter (HBA) mode
250GB Samsung 850 EVO SSD
</code>
&gt; The H200 is particularly important, as ZFS acts as its own RAID system. It also has its own checksumming and other algorithms that don’t like RAID cards getting in the way. As such, we put the card itself in a mode that facilitates this use case.
&gt; Due to that, we lose out on any battery-backed write cache the RAID card might offer. To make up for it, it’s fairly common to use an SSD or other persistent fast storage to act both as a write cache, and a read cache. This also transforms our HDDs into hybrid storage automatically, which is a huge performance boost on a budget.</li>
<li>She had a guitar and she taught him some chords
&gt; First things first: we need a filesystem. This hardware has four 1TB HDDs, and a 250GB SSD. To keep this article from being too long, we’ve already placed GPT partition tables on all the HDDs, and split the SSD into 50GB for the OS, 32GB for the write cache, and 150GB for the read cache. A more robust setup would probably use separate SSDs or a mirrored pair for these, but labs are fair game.</li>
<li>They moved into a place they both could afford
&gt; Let’s start by getting a performance baseline for the hardware. We might expect peak performance at 12 or 24 threads because the server has 12 real CPUs and 24 threads, but query throughput actually topped out at concurrent 32 processes. We can scratch our heads over this later, for now, we can consider it the maximum capabilities of this hardware.
Here’s a small sample:
```
$&gt; pgbench -S -j 32 -c 32 -M prepared -T 20 pgbench</li>
</ul>

<p>...<br>
tps = 264661.135288 (including connections establishing)<br>
tps = 264849.345595 (excluding connections establishing)</p>

<pre><code>&gt; So far, this is pretty standard behavior. 260k prepared queries per second is great read performance, but this is supposed to be a filesystem demonstration. Let’s get ZFS involved.
+ The papers said Ed always played from the heart
&gt; Let’s repeat that same test with writes enabled. Once that happens, filesystem syncs, dirty pages, WAL overhead, and other things should drastically reduce overall throughput. That’s an expected result, but how much are we looking at, here?
</code></pre>

<p>$&gt; pgbench -j 32 -c 32 -M prepared -T 10 pgbench</p>

<p>...<br>
tps = 6153.877658 (including connections establishing)<br>
tps = 6162.392166 (excluding connections establishing)</p>

<pre><code>&gt; SSD cache or not, storage overhead is a painful reality. Still, 6000 TPS with writes enabled is a great result for this hardware. Or is it? Can we actually do better?
&gt; Consider the Postgres full_page_writes parameter. Tomas Vondra has written about it in the past as a necessity to prevent WAL corruption due to partial writes. The WAL is both streaming replication and crash recovery, so its integrity is of utmost importance. As a result, this is one parameter almost everyone should leave alone.
&gt; ZFS is Copy on Write (CoW). As a result, it’s not possible to have a torn page because a page can’t be partially written without reverting to the previous copy. This means we can actually turn off full_page_writes in the Postgres config. The results are some fairly startling performance gains:
</code></pre>

<p>$&gt; pgbench -j 32 -c 32 -M prepared -T 10 pgbench</p>

<pre><code></code></pre>

<p>tps = 10325.200812 (including connections establishing)<br>
tps = 10336.807218 (excluding connections establishing)</p>

<pre><code>&gt; That’s nearly a 70% improvement. Due to write amplification caused by full page writes, Postgres produced 1.2GB of WAL files during a 1-minute pgbench test, but only 160MB with full page writes disabled.
&gt; To be fair, a 32-thread pgbench write test is extremely abusive and certainly not a typical usage scenario. However, ZFS just ensured our storage a much lower write load by altering one single parameter. That means the capabilities of the hardware have also been extended to higher write workloads as IO bandwidth is not being consumed by WAL traffic.
+ They both met movie stars, partied and mingled
&gt; Astute readers may have noticed we didn’t change the default ZFS block size from 128k to align with the Postgres default of 8kb. 
&gt; As it turns out, the 128kb blocks allow ZFS to better combine some of those 8kb Postgres pages to save space. That will allow our measly 2TB to go a lot further than is otherwise possible.
&gt; Please note that this is not de-duplication, but simple lz4 compression, which is nearly real-time in terms of CPU overhead. De-duplication on ZFS is currently an uncertain bizzaro universe populated with misshapen horrors crawling along a broken landscape. It’s a world of extreme memory overhead for de-duplication tables, and potential lost data due to inherent conflicts with the CoW underpinnings. Please don’t use it, let anyone else use it, or even think about using it, ever.
+ They made a record and it went in the chart
&gt; We’re still not done. One important aspect of ZFS as a CoW filesystem, is that it has integrated snapshots.
&gt; Consider the scenario where a dev is connected to the wrong system and drops what they think is a table in a QA environment. It turns out they were in the wrong terminal and just erased a critical production table, and now everyone is frantic.
+ The future was wide open
&gt; It’s difficult to discount an immediately observable reduction in write overhead. Snapshots have a multitude of accepted and potential use cases, as well. In addition to online low-overhead compression, and the hybrid cache layer, ZFS boasts a plethora of features we didn’t explore.
&gt; Built-in checksums with integrated self-healing suggest it isn’t entirely necessary to re-initialize an existing Postgres instance to enable checksums. The filesystem itself ensures checksums are validated and correct, especially if we have more than one drive resource in our pool. It even goes the extra mile and actively corrects inconsistencies when encountered.
&gt; I immediately discounted ZFS back in 2012 because the company I worked for at the time was a pure Linux shop. ZFS was only available using the FUSE driver back then, meaning ZFS only worked through userspace with no real kernel integration. It was fun to tinker with, but nobody sane would use that on a production server of any description.
&gt; Things have changed quite drastically since then. I’ve stopped waiting for btrfs to become viable, and ZFS has probably taken the throne away from XFS as my filesystem of choice. Future editions of the Postgres High Availability Cookbook will reflect this as well.
&gt; Postgres MVCC and ZFS CoW seem made for each other. I’m curious to see what will transpire over the next few years now that ZFS has reached mainstream acceptance in at least one major Linux distribution.
***
###[NomadBSD](https://github.com/mrclksr/NomadBSD)
+  About
&gt; NomadBSD is a live system for flash drives, based on FreeBSD.
+ Screenshots
![](http://freeshell.de/~mk/download/nomadbsd-ss1.png)
![](http://freeshell.de/~mk/download/nomadbsd-ss2.png)
+  Requirements for building the image
A recent FreeBSD system
+  Requirements for running NomadBSD
* A 4GB (or more) flash drive
* A System capable running FreeBSD 11.1 (amd64)
+  Building the image
~~ csh
# make image
~~
+  Writing the image to an USB memory stick
~~ csh
# dd if=nomadbsd.img of=/dev/da0 bs=10240 conv=sync
~~
+  Resize filesystem to use the entire USB memory
 + Boot NomadBSD into single user mode, and execute:
~~
# gpart delete -i 2 da0s1
# gpart resize -i 1 da0
# gpart commit da0s1
~~
 + Determine the partition size in megabytes using 
 ````fdisk da0````
 + and calculate the remaining size of da0s1a:
````&lt;REMAIN&gt; = &lt;SIZE OF PARTITION IN MB&gt; - &lt;DESIRED SWAP SIZE IN MB&gt;````.
~~
# gpart resize -i 1 -s &lt;REMAIN&gt;M da0s1
# gpart add -t freebsd-swap -i 2 da0s1
# glabel label NomadBSDsw da0s1b
# service growfs onestart
# reboot
~~
+ [FreeBSD forum thread](https://forums.freebsd.org/threads/63888/)
+ [A short screen capture video of the NomadBSD system running in VirtualBox](https://freeshell.de/~mk/download/nomad_capture.mp4)
***
##Beastie Bits
+ [Coolpkg, a package manager inspired by Nix for OpenBSD](https://github.com/andrewchambers/coolpkg)
+ [zrepl - ZFS replication](https://zrepl.github.io/)
+ [OpenBSD hotplugd automount script](https://bijanebrahimi.github.io/blog/openbsd-hotplugd-scripting.html)
+ [Ancient troff sources vs. modern-day groff](https://virtuallyfun.com/2017/12/22/learn-ancient-troff-sources-vs-modern-day-groff/)
+ [Paypal donation balance and status.. thanks everyone!](http://lists.dragonflybsd.org/pipermail/users/2017-December/313752.html)
+ [Supervised FreeBSD rc.d script for a Go daemon (updated in last few days)](https://redbyte.eu/en/blog/supervised-freebsd-init-script-for-go-deamon/)
+ [A Brief History of sed](https://blog.sourcerer.io/a-brief-history-of-sed-6eaf00302ed)
+ [Flamegraph: Why does my AWS instance boot so slow?](http://www.daemonology.net/timestamping/tslog-c5.4xlarge.svg)
***
##Feedback/Questions
+ Jeremy - [Replacing Drive in a Zpool](http://dpaste.com/319593M#wrap)
+ [Dan’s Blog ](https://dan.langille.org/2017/08/16/swapping-5tb-in-3tb-out/)
+ Tim - [Keeping GELI key through reboot](http://dpaste.com/11QTA06)
+ Brian - [Mixing 2.5 and 3.5 drives](http://dpaste.com/2JQVD10#wrap)
+ Troels - [zfs swap on FreeBSD](http://dpaste.com/147WAFR#wrap)
***
</code></pre>]]>
  </itunes:summary>
</item>
<item>
  <title>227: The long core dump</title>
  <link>https://www.bsdnow.tv/227</link>
  <guid isPermaLink="false">a7f9f9fa-3d35-4f58-8709-12f6a433b446</guid>
  <pubDate>Wed, 03 Jan 2018 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a7f9f9fa-3d35-4f58-8709-12f6a433b446.mp3" length="66175060" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We walk through dumping a PS4 kernel in only 6 days, tell you the news that NetBSD 7.1.1 has been released, details on how to run FreeBSD on a Thinkpad T470, and there’s progress in OpenBSD’s pledge.</itunes:subtitle>
  <itunes:duration>1:31:54</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>&lt;p&gt;We walk through dumping a PS4 kernel in only 6 days, tell you the news that NetBSD 7.1.1 has been released, details on how to run FreeBSD on a Thinkpad T470, and there’s progress in OpenBSD’s pledge.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://www.netbsd.org/releases/formal-7/NetBSD-7.1.1.html" target="_blank" rel="nofollow noopener"&gt;NetBSD 7.1.1 released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The NetBSD Project is pleased to announce NetBSD 7.1.1, the first security/critical update of the NetBSD 7.1 release branch. It represents a selected subset of fixes deemed important for security or stability reasons.&lt;/li&gt;
&lt;li&gt;Complete source and binaries for NetBSD 7.1.1 are available for download at many sites around the world. A list of download sites providing FTP, AnonCVS, and other services may be found at &lt;a href="https://www.NetBSD.org/mirrors/" target="_blank" rel="nofollow noopener"&gt;https://www.NetBSD.org/mirrors/&lt;/a&gt;. We encourage users who wish to install via ISO or USB disk images to download via BitTorrent by using the torrent files supplied in the images area. A list of hashes for the NetBSD 7.1.1 distribution has been signed with the well-connected PGP key for the NetBSD Security Officer: &lt;a href="https://ftp.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-7.1.1_hashes.asc" target="_blank" rel="nofollow noopener"&gt;https://ftp.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-7.1.1_hashes.asc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;NetBSD is free. All of the code is under non-restrictive licenses, and may be used without paying royalties to anyone. Free support services are available via our mailing lists and website. Commercial support is available from a variety of sources. More extensive information on NetBSD is available from our website:&lt;/li&gt;
&lt;li&gt;[NetBSD website](&lt;a href="http://www.NetBSD.org" target="_blank" rel="nofollow noopener"&gt;www.NetBSD.org&lt;/a&gt;)
+Changes Between 7.1 and 7.1.1 Below is an abbreviated list of changes in this release. The complete list can be found in the CHANGES-7.1.1 file in the top level directory of the NetBSD 7.1.1 release tree.

&lt;ul&gt;
&lt;li&gt;Security Advisory Fixes The following security advisories were fixed:&lt;/li&gt;
&lt;li&gt;NetBSD-SA2017-004 buffer overflow via cmap for 4 graphics drivers.&lt;/li&gt;
&lt;li&gt;NetBSD-SA2017-005 x86: vulnerabilities in context handling.&lt;/li&gt;
&lt;li&gt;NetBSD-SA2017-006 Vnode reference leak in the openat system call.&lt;/li&gt;
&lt;li&gt;NetBSD-SA2018-001 Several vulnerabilities in context handling&lt;/li&gt;
&lt;li&gt;NetBSD-SA2018-002 Local DoS in virecover&lt;/li&gt;
&lt;li&gt;Note: Advisories prior to NetBSD-SA2017-004 do not affect NetBSD 7.1.1.&lt;/li&gt;
&lt;li&gt;Userland changes&lt;/li&gt;
&lt;li&gt;dhcrelay(8): Fix bug that prevented proper operation when run in the background.&lt;/li&gt;
&lt;li&gt;Heimdal: Update to 7.1. Fix CVE-2017-11103.&lt;/li&gt;
&lt;li&gt;mtree(8): Don't modify strings stored in hash, otherwise filling up of directory hierarchy stops if the same hash value occurs in directory and leaf.&lt;/li&gt;
&lt;li&gt;ping(8): Fix cksum calculation for clearing the cached route.&lt;/li&gt;
&lt;li&gt;resize_ffs(8): Fix numerous overflow errors which can lead to superblock corruption on large filesystems.&lt;/li&gt;
&lt;li&gt;rtadvd(8): Fix the default value of rltime. PR bin/51994.&lt;/li&gt;
&lt;li&gt;Update BIND to 9.10.5-P2.&lt;/li&gt;
&lt;li&gt;Update expat to 2.2.1.&lt;/li&gt;
&lt;li&gt;Update ntp to 4.2.8p10.&lt;/li&gt;
&lt;li&gt;Update root.cache to 2017102400.&lt;/li&gt;
&lt;li&gt;Update tzdata to 2017c.&lt;/li&gt;
&lt;li&gt;vi(1): Don't garble display when when resizing nvi in xterm.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;wpa_supplicant/hostapd: Update to 2.6.&lt;/li&gt;
&lt;li&gt;Apply fixes for CVEs 2017-13077 through 2017-13082 and CVEs 2017-13086 through 2017-13088.&lt;/li&gt;
&lt;li&gt;X: Apply fixes for CVEs 2017-12176 through 2017-12187, 2017-10971, 2017-10972, 2017-13722, 2017-13720, 2017-16611, and 2017-16612.
***
###&lt;a href="https://fail0verflow.com/blog/2017/ps4-crashdump-dump/" target="_blank" rel="nofollow noopener"&gt;Dumping a PS4 Kernel in "Only" 6 Days&lt;/a&gt;
&amp;gt; What if a secure device had an attacker-viewable crashdump format? What if that same device allowed putting arbitrary memory into the crashdump? Amazingly, the ps4 tempted fate by supporting both of these features! Let’s see how that turned out…&lt;/li&gt;
&lt;li&gt;Crashdumps on PS4

&lt;ul&gt;
&lt;li&gt;The crash handling infrastructure of the ps4 kernel is interesting for 2 main reasons:&lt;/li&gt;
&lt;li&gt;It is ps4-specific code (likely to be buggy)&lt;/li&gt;
&lt;li&gt;If the crashdump can be decoded, we will gain very useful info for finding bugs and creating reliable exploits&lt;/li&gt;
&lt;li&gt;On a normal FreeBSD system, a kernel panic will create a dump by calling kern_reboot with the RB_DUMP flag. This then leads to doadump being called, which will dump a rather tiny amount of information about the kernel image itself to some storage device.&lt;/li&gt;
&lt;li&gt;On ps4, the replacement for doadump is mdbg_run_dump, which can be called from panic or directly from trap_fatal. The amount of information stored into the dump is gigantic by comparison - kernel state for all process, thread, and vm objects are included, along with some metadata about loaded libraries. Other obvious changes from the vanilla FreeBSD method are that the mdbg_run_dump encodes data recorded into the dump on a field-by-field basis and additionally encrypts the resulting buffer before finally storing it to disk.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Dumping Anything

&lt;ul&gt;
&lt;li&gt;Let’s zoom in to a special part of mdbg_run_dump - where it iterates over all process’ threads and tries to dump some pthread state:&lt;/li&gt;
&lt;li&gt;dumpstate is a temporary buffer which will eventually make it into the crashdump. To summarize, sysdump__internal_call_readuser can be made to function as a read-anywhere oracle. This is because fsbase will point into our (owned) webkit process’ usermode address space. Thus, even without changing the actual fsbase value, we may freely change the value of tcb_thread, which is stored at fsbase + 0x10.&lt;/li&gt;
&lt;li&gt;Further, sysdump__internal_call_readuser will happily read from a kernel address and put the result into the dump.&lt;/li&gt;
&lt;li&gt;We can now put any kernel location into the dump, but we still need to decrypt and decode it…&lt;/li&gt;
&lt;li&gt;Aside from that, there’s also the issue that we may only add 0x10 bytes per thread in this manner…&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Further reading:

&lt;ul&gt;
&lt;li&gt;Crashdump Crypto&lt;/li&gt;
&lt;li&gt;Crashdump Decoding&lt;/li&gt;
&lt;li&gt;Crashdump Automation&lt;/li&gt;
&lt;li&gt;Triggering the Vulnerability&lt;/li&gt;
&lt;li&gt;The Fix (Kind of…)&lt;/li&gt;
&lt;li&gt;Fin&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Appendix

&lt;ul&gt;
&lt;li&gt;Crashdump Decryptor&lt;/li&gt;
&lt;li&gt;NXDP Decoder
***
###&lt;a href="https://www.freebsdfoundation.org/blog/bsdtw-2017-conference-recap-li-wen-hsu/" target="_blank" rel="nofollow noopener"&gt;BSDTW 2017 Conference Recap: Li-Wen Hsu&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;BSDTW 2017 Conference Recap: Li-Wen Hsu&lt;/li&gt;
&lt;li&gt;12/28/2017
&amp;gt; Last month, we held BSDTW 2017 on November 11-12th, 2017 in Taipei, Taiwan. It was the second largest BSD conference in Taiwan and the first one in this decade. In 2004, the first AsiaBSDCon was also held in Taipei. Then all of the following AsiaBSDCon conferences were held in Tokyo, Japan. (AsiaBSDCon 2018 will be in Tokyo again next year, please submit your talk proposal by December 31th 2017, and attend the conference on March 8th-11th)
&amp;gt; We wanted to start small with the first BSDTW because we were not sure how much sponsorship or how many volunteers we might have. BSDTW 2017 was a single track, two-day conference with 11 selected 50 minute presentations and 1 WIP/lightning talk session consisting of 8 short talks. I do regret that we did not have any local presenters this year. It is also a similar problem at AsiaBSDCon. Unsurprisingly, as with AsiaBSDcon, the travel reimbursement took up a large part of the whole conference budget. We do have many good people that work in Asia, but we still need to encourage people to present their work more.
&amp;gt; We had over 130 registered attendees, with 30% of them coming from outside of Taiwan. To our knowledge, in recent years, this is the only open source conference in Taiwan to be held entirely in English, and to have such a large portion of international attendees. This is also the first open source conference in Taiwan to focus entirely on operating systems. The attendees included students, professors, engineers or CTOs, and CEOs from technology companies. This is also the first time that GroffTheBSDGoat visited Taiwan! We were surprised that after the silence for so many years, there are still so many people that use and love BSD near us. We saw many old friends, who had “disappeared” for a long time, came back, and were glad to meet many new friends at the conference. I am really happy that this conference was able to bring together these people, from local and abroad. After attending BSD conferences around the world for many years, I feel that the friendship between BSD users is the most important thing in the BSD community, and one of the main reasons people stay. It has been my pleasure to bring this community back to my friends in my homeland.
&amp;gt; After the two-day event, I truly understand that bootstrapping a new conference is a very hard job. One with many aspects that you don’t even imagine until you’re really in the process of planning an event. I now have an even greater respect for all of the conference organizers and realize that we need to have more people help them, to keep these conferences continue to get better and better. Plus, there will always be room for a new conference!
&amp;gt; Thanks to the FreeBSD Foundation for being the biggest sponsor of BSDTW 2017 and always being the strongest backend of our community. We are excited about the many local companies and organizations that helped us whether with people, materials or financially. We even had 21 personal sponsors, more than two times the number of other big open source conferences in Taiwan.
&amp;gt; As I said in the closing session, I’m not sure if there will be 2nd BSDTW next year. It still depends on the amount of sponsorship and number of volunteers. However, we will definitely hold more smaller meetups in the next year to keep building up the local BSD community.
&amp;gt; Finally, in the beginning of this month, we had a “post-conference media workshop” for organizing the media files we collected in the BSDTW 2017. Here are the review article in Traditional Chinese and the photos: &lt;a href="https://medium.com/@bsdtw/bsdtw-2017-%E7%B8%BD%E5%9B%9E%E9%A1%A7-a402788daede" target="_blank" rel="nofollow noopener"&gt;https://medium.com/@bsdtw/bsdtw-2017-總回顧-a402788daede&lt;/a&gt; &amp;amp;&amp;amp;
&lt;a href="https://www.flickr.com/photos/bsdtw/albums/72157689410035911" target="_blank" rel="nofollow noopener"&gt;https://www.flickr.com/photos/bsdtw/albums/72157689410035911&lt;/a&gt;
***
##News Roundup
###&lt;a href="https://blog.grem.de/pages/t470s.html" target="_blank" rel="nofollow noopener"&gt;Running FreeBSD on a Lenovo T470s&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Running FreeBSD on the Lenovo T470s ThinkPad
&amp;gt; Installing FreeBSD on this machine was super easy. As I couldn't find a comprehensive/encouraging how-to about installing FreeBSD on a recent ThinkPad, I just wrote up the one below. It includes details about my personal setup, which are not required to run FreeBSD on this model, but which are more to my own taste. I still think this can be a quite useful inspiration for others who want to run their own customized configurations.&lt;/li&gt;
&lt;li&gt;Specs
&amp;gt; The system I use has these specifications:&lt;/li&gt;
&lt;li&gt;Type: 20JS-001EGE&lt;/li&gt;
&lt;li&gt;CPU: Intel Core i7-6600U, 2x 2.60GHz&lt;/li&gt;
&lt;li&gt;RAM: 20GB DDR4&lt;/li&gt;
&lt;li&gt;SSD: 512GB NVMe&lt;/li&gt;
&lt;li&gt;Graphics: Intel HD Graphics 520 (IGP), 1x HDMI 1.4&lt;/li&gt;
&lt;li&gt;Display: 14", 1920x1080, non-glare, IPS&lt;/li&gt;
&lt;li&gt;Ports: 3x USB-A 3.0, 1x Thunderbolt 3, 1x Gb LAN&lt;/li&gt;
&lt;li&gt;Wireless: WLAN 802.11a/b/g/n/ac, Bluetooth 4.1, LTE (Micro-SIM)&lt;/li&gt;
&lt;li&gt;Cardreader: SD/SDHC/SDXC/MMC&lt;/li&gt;
&lt;li&gt;Webcam: 0.9 Megapixel&lt;/li&gt;
&lt;li&gt;Extras: MIL-STD-810G, Pointing Stick, Fingerprint-Reader, Docking port&lt;/li&gt;
&lt;li&gt;Things that work
&amp;gt; Basically everything I care about:

&lt;ul&gt;
&lt;li&gt;Accelerated video&lt;/li&gt;
&lt;li&gt;Keyboard&lt;/li&gt;
&lt;li&gt;Touchpad/ClickPad (like expected in a modern laptop)&lt;/li&gt;
&lt;li&gt;SSD&lt;/li&gt;
&lt;li&gt;WiFi&lt;/li&gt;
&lt;li&gt;Sound&lt;/li&gt;
&lt;li&gt;HDMI out&lt;/li&gt;
&lt;li&gt;Suspend to RAM&lt;/li&gt;
&lt;li&gt;Webcam&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Things that don't work

&lt;ul&gt;
&lt;li&gt;Fingerprint reader&lt;/li&gt;
&lt;li&gt;Potentially anything I didn't test&lt;/li&gt;
&lt;li&gt;Battery life is okay, but could be better.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Installation of the base system
&amp;gt; I used a snapshot release of 12-CURRENT as the basis of my installation, particularly the one of 13th of December 2017.
&amp;gt; I dd'ed it onto a memory stick and boot the laptop. I started a standard installation and created an encrypted ZFS pool on nvme0, using encryption, swap encryption and partition scheme "GPT (UEFI)".
&amp;gt; After installation, it boots straight up.&lt;/li&gt;
&lt;li&gt;Ports tree used
&amp;gt; All work is based on a head ports tree from about Dec 18, 22:15 CET, which should be more or less r456672.&lt;/li&gt;
&lt;li&gt;Preferred ClickPad configuration
&amp;gt; As I'm not a fan of the the pointing stick, I disabled it in the bios. My final ClickPad configuration will be: Click to click (not tap), no middle button, right button in the lower right corner. As the old synaptics driver doesn't provide good thumb detection, libinput will be used.&lt;/li&gt;
&lt;li&gt;Check out the laptop list on the FreeBSD wiki for compatibility: (&lt;a href="https://wiki.freebsd.org/Laptops/" target="_blank" rel="nofollow noopener"&gt;https://wiki.freebsd.org/Laptops/&lt;/a&gt;)
***
###&lt;a href="https://github.com/pkgdemon/comet" target="_blank" rel="nofollow noopener"&gt;FreeBSD desktop LiveCD creator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Introduction
&amp;gt; The purpose of this tool is quickly generate bloat free images containing stock FreeBSD, and supported desktop environments.&lt;/li&gt;
&lt;li&gt;Features&lt;/li&gt;
&lt;li&gt;FreeBSD 11.1-RELEASE&lt;/li&gt;
&lt;li&gt;AMD64&lt;/li&gt;
&lt;li&gt;Gnome &amp;amp; KDE desktop environments&lt;/li&gt;
&lt;li&gt;Hybrid DVD/USB image&lt;/li&gt;
&lt;li&gt;Screenshots&lt;/li&gt;
&lt;li&gt;[Gnome LiveCD])&lt;a href="https://github.com/pkgdemon/comet/raw/master/screenshots/gnome-livecd.png?raw=true" target="_blank" rel="nofollow noopener"&gt;https://github.com/pkgdemon/comet/raw/master/screenshots/gnome-livecd.png?raw=true&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/pkgdemon/comet/raw/master/screenshots/kde-livecd.png?raw=true" target="_blank" rel="nofollow noopener"&gt;KDE LiveCD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;System Requirements&lt;/li&gt;
&lt;li&gt;FreeBSD 11.1, or higher for AMD64&lt;/li&gt;
&lt;li&gt;20GB of free disk space&lt;/li&gt;
&lt;li&gt;1GB of free memory&lt;/li&gt;
&lt;li&gt;UFS, or ZFS&lt;/li&gt;
&lt;li&gt;Initial Setup&lt;/li&gt;
&lt;li&gt;Install the required packages:
&lt;code&gt;pkg install git grub2-pcbsd grub2-efi xorriso&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Clone the repo:
&lt;code&gt;git clone https://www.github.com/pkgdemon/comet&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Enter the directory for running the LiveCD creator:
&lt;code&gt;cd comet/src&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Credentials for live media
&amp;gt; User: liveuser
&amp;gt; Password: freebsd
***
###iXsystems&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ixsystems.com/blog/storagecrypter/" target="_blank" rel="nofollow noopener"&gt;StorageCrypter Ransomware: Security Threat or Clickbait?&lt;/a&gt;
###&lt;a href="https://undeadly.org/cgi?action=article;sid=20171208082246" target="_blank" rel="nofollow noopener"&gt;pledge() work in progress&lt;/a&gt;
&amp;gt; I wanted to give an update that a two pledge-related changes are being worked on. The semantics and integration are complicated so it is taking some time.
&amp;gt; One is execpromises. This will become the 2nd argument of pledge(). This allows one to set the pledge for the new image after pledge "exec"-allowed execve(). A warning though: utilizing this in software isn't as easy as you might think! The fork+exec + startup sequences needed to be studied quite carefully to ensure the newly-executed child doesn't ask for more than the parent's execpromises. In my experiments such a circumstance is exceedingly common, so the problem is eased by introducing a new pledge feature which allows pledge violations to return ENOSYS or such rather than killing the process.
&amp;gt; This feature also needs to be used with great caution (especially in privileged programs) because programs which fail to observe errors may continue operating forward very incorrectly; you've lost the ability to catch it failing, and provide care by fixing the problem.
&amp;gt; The other is pledgepaths. The semantics are still being tuned a bit. Before the first call to pledge() in a process, one can pledgepath() directories. Then later after pledge(), file access operations only work if the traversal of the path crosses one of those pre-declared directories (but better make sure you don't move a directory, because the kernel remembers and reasons about the vnode of the directory rather than the path). Something similar is being worked on for files, but we are still adjusting that, as well as a flag parameter for the pledgepath() call which may constrain the operations done on such files.
&amp;gt; As such, pledgepath() will become a filesystem containment mechanism unlike chroot() because paths will still be based upon true /.
&amp;gt; Patience.
***
###&lt;a href="http://nanxiao.me/en/the-anatomy-of-tee-program-on-openbsd/" target="_blank" rel="nofollow noopener"&gt;The anatomy of tee program on OpenBSD&lt;/a&gt;
&amp;gt; The tee command is used to read content from standard input and displays it not only in standard output but also saves to other files simultaneously. The source code of tee in OpenBSD is very simple, and I want to give it an analysis:
&amp;gt; (1) tee leverages Singlely-linked List defined in sys/queue.h to manage outputted files (including standard output):
&lt;code&gt;struct list {
SLIST_ENTRY(list) next;
int fd;
char *name;
};
SLIST_HEAD(, list) head;
......
static void
add(int fd, char *name)
{
struct list *p;
......
SLIST_INSERT_HEAD(&amp;amp;head, p, next);
}
int
main(int argc, char *argv[])
{
struct list *p;
......
SLIST_INIT(&amp;amp;head);
......
SLIST_FOREACH(p, &amp;amp;head, next) {
......
}
}&lt;/code&gt;
&amp;gt; To understand it easily, I extract the macros from sys/queue.h and created a file which utilizes the marcos:
&lt;code&gt;&amp;amp;#35;define SLIST_HEAD(name, type) \
struct name { \
struct type *slh_first; /* first element */ \
}
&amp;amp;#35;define SLIST_ENTRY(type) \
struct { \
struct type *sle_next; /* next element */ \
}
&amp;amp;#35;define SLIST_FIRST(head) ((head)-&amp;gt;slh_first)
&amp;amp;#35;define SLIST_END(head) NULL
&amp;amp;#35;define SLIST_EMPTY(head) (SLIST_FIRST(head) == SLIST_END(head))
&amp;amp;#35;define SLIST_NEXT(elm, field) ((elm)-&amp;gt;field.sle_next)
&amp;amp;#35;define SLIST_FOREACH(var, head, field) \
for((var) = SLIST_FIRST(head); \
(var) != SLIST_END(head); \
(var) = SLIST_NEXT(var, field))
&amp;amp;#35;define SLIST_INIT(head) { \
SLIST_FIRST(head) = SLIST_END(head); \
}
&amp;amp;#35;define SLIST_INSERT_HEAD(head, elm, field) do { \
(elm)-&amp;gt;field.sle_next = (head)-&amp;gt;slh_first; \
(head)-&amp;gt;slh_first = (elm); \
} while (0)
struct list {
SLIST_ENTRY(list) next;
int fd;
char *name;
};
SLIST_HEAD(, list) head;
int
main(int argc, char *argv[])
{
struct list *p;
SLIST_INIT(&amp;amp;head);
SLIST_INSERT_HEAD(&amp;amp;head, p, next);
SLIST_FOREACH(p, &amp;amp;head, next) {
}
}&lt;/code&gt;
&amp;gt; Then employed gcc‘s pre-processing function:
&lt;code&gt;&amp;amp;#35; gcc -E slist.c
&amp;amp;#35; 1 "slist.c"
&amp;amp;#35; 1 "&amp;lt;built-in&amp;gt;"
&amp;amp;#35; 1 "&amp;lt;command-line&amp;gt;"
&amp;amp;#35; 1 "slist.c"
&amp;amp;#35; 30 "slist.c"
struct list {
struct { struct list *sle_next; } next;
int fd;
char *name;
};
struct { struct list *slh_first; } head;
int
main(int argc, char *argv[])
{
struct list *p;
{ ((&amp;amp;head)-&amp;gt;slh_first) = NULL; };
do { (p)-&amp;gt;next.sle_next = (&amp;amp;head)-&amp;gt;slh_first; (&amp;amp;head)-&amp;gt;slh_first = (p); } while (0);
for((p) = ((&amp;amp;head)-&amp;gt;slh_first); (p) != NULL; (p) = ((p)-&amp;gt;next.sle_next)) {
}
}
&lt;/code&gt;
&amp;gt; It becomes clear now! The head node in list contains only 1 member: slh_first, which points to the first valid node. For the elements in the list, it is embedded with next struct which uses sle_next to refer to next buddy.
&amp;gt; (2) By default, tee will overwrite the output files. If you want to append it, use -a option, and the code is as following:
&lt;code&gt;
while (*argv) {
if ((fd = open(*argv, O_WRONLY | O_CREAT |
(append ? O_APPEND : O_TRUNC), DEFFILEMODE)) == -1) {
......
}
......
}
&lt;/code&gt;
&amp;gt; (3) The next part is the skeleton of saving content to files:
&lt;code&gt;
while ((rval = read(STDIN_FILENO, buf, sizeof(buf))) &amp;gt; 0) {
SLIST_FOREACH(p, &amp;amp;head, next) {
n = rval;
bp = buf;
do {
if ((wval = write(p-&amp;gt;fd, bp, n)) == -1) {
......
}
bp += wval;
} while (n -= wval);
}
}&lt;/code&gt;
&amp;gt; We need to iterates every opened file descriptor and write contents into it.
&amp;gt; (4) Normally, theinterrupt signal will cause tee exit:
&lt;code&gt;&amp;amp;#35; tee
fdkfkdfjk
fdkfkdfjk
^C
&amp;amp;#35;&lt;/code&gt;
&amp;gt; To disable this feature, use -i option:
&lt;code&gt;&amp;amp;#35; tee -i
fdhfhd
fdhfhd
^C^C&lt;/code&gt;
&amp;gt; The corresponding code is like this:
&lt;code&gt;......
case 'i':
(void)signal(SIGINT, SIG_IGN);
break;&lt;/code&gt;
***
##Beastie Bits
+ &lt;a href="https://bijanebrahimi.github.io/blog/openbsds-network-stack-part-1.html" target="_blank" rel="nofollow noopener"&gt;What I learned from reading the OpenBSD's network stack source code&lt;/a&gt;
+ &lt;a href="https://github.com/freebsd/freebsd/commit/888843e26a4e393f405c1c6cbdfc5b701670d363" target="_blank" rel="nofollow noopener"&gt;Broadcom BCM43224 and BCM43225 Wi-Fi cards now supported by bwn(4)&lt;/a&gt;
+ &lt;a href="https://marc.info/?l=openbsd-misc&amp;amp;m=151320195122669&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;Ingo details searching man pages&lt;/a&gt;
+ &lt;a href="https://www.phoronix.com/scan.php?page=news_item&amp;amp;px=NetBSD-ZFS-DTrace-Updating" target="_blank" rel="nofollow noopener"&gt;DTrace &amp;amp; ZFS Being Updated On NetBSD, Moving Away From Old OpenSolaris Code&lt;/a&gt;
+ &lt;a href="http://www.lpi.org/articles/linux-professional-institute-and-bsd-certification-group-join-efforts" target="_blank" rel="nofollow noopener"&gt;Linux Professional Institute and BSD Certification Group Join Efforts&lt;/a&gt;
+ &lt;a href="https://www.freebsdfoundation.org/blog/thank-you-2/" target="_blank" rel="nofollow noopener"&gt;The FreeBSD Foundation thanks Donors&lt;/a&gt;
##Feedback/Questions
+ Alex - &lt;a href="http://dpaste.com/3DSV7BC#wrap" target="_blank" rel="nofollow noopener"&gt;My first freebsd bug&lt;/a&gt;
+ John - &lt;a href="http://dpaste.com/2QFR4MT#wrap" target="_blank" rel="nofollow noopener"&gt;Suggested Speakers&lt;/a&gt;
+ Todd - &lt;a href="http://dpaste.com/2FQ450Q#wrap" target="_blank" rel="nofollow noopener"&gt;Two questions&lt;/a&gt;
+ Matthew - &lt;a href="http://dpaste.com/3KA29E0#wrap" target="_blank" rel="nofollow noopener"&gt;CentOS to FreeBSD&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We walk through dumping a PS4 kernel in only 6 days, tell you the news that NetBSD 7.1.1 has been released, details on how to run FreeBSD on a Thinkpad T470, and there’s progress in OpenBSD’s pledge.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://www.netbsd.org/releases/formal-7/NetBSD-7.1.1.html" target="_blank" rel="nofollow noopener">NetBSD 7.1.1 released</a></h3>

<ul>
<li>The NetBSD Project is pleased to announce NetBSD 7.1.1, the first security/critical update of the NetBSD 7.1 release branch. It represents a selected subset of fixes deemed important for security or stability reasons.</li>
<li>Complete source and binaries for NetBSD 7.1.1 are available for download at many sites around the world. A list of download sites providing FTP, AnonCVS, and other services may be found at <a href="https://www.NetBSD.org/mirrors/" target="_blank" rel="nofollow noopener">https://www.NetBSD.org/mirrors/</a>. We encourage users who wish to install via ISO or USB disk images to download via BitTorrent by using the torrent files supplied in the images area. A list of hashes for the NetBSD 7.1.1 distribution has been signed with the well-connected PGP key for the NetBSD Security Officer: <a href="https://ftp.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-7.1.1_hashes.asc" target="_blank" rel="nofollow noopener">https://ftp.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-7.1.1_hashes.asc</a></li>
<li>NetBSD is free. All of the code is under non-restrictive licenses, and may be used without paying royalties to anyone. Free support services are available via our mailing lists and website. Commercial support is available from a variety of sources. More extensive information on NetBSD is available from our website:</li>
<li>[NetBSD website](<a href="http://www.NetBSD.org" target="_blank" rel="nofollow noopener">www.NetBSD.org</a>)
+Changes Between 7.1 and 7.1.1 Below is an abbreviated list of changes in this release. The complete list can be found in the CHANGES-7.1.1 file in the top level directory of the NetBSD 7.1.1 release tree.

<ul>
<li>Security Advisory Fixes The following security advisories were fixed:</li>
<li>NetBSD-SA2017-004 buffer overflow via cmap for 4 graphics drivers.</li>
<li>NetBSD-SA2017-005 x86: vulnerabilities in context handling.</li>
<li>NetBSD-SA2017-006 Vnode reference leak in the openat system call.</li>
<li>NetBSD-SA2018-001 Several vulnerabilities in context handling</li>
<li>NetBSD-SA2018-002 Local DoS in virecover</li>
<li>Note: Advisories prior to NetBSD-SA2017-004 do not affect NetBSD 7.1.1.</li>
<li>Userland changes</li>
<li>dhcrelay(8): Fix bug that prevented proper operation when run in the background.</li>
<li>Heimdal: Update to 7.1. Fix CVE-2017-11103.</li>
<li>mtree(8): Don't modify strings stored in hash, otherwise filling up of directory hierarchy stops if the same hash value occurs in directory and leaf.</li>
<li>ping(8): Fix cksum calculation for clearing the cached route.</li>
<li>resize_ffs(8): Fix numerous overflow errors which can lead to superblock corruption on large filesystems.</li>
<li>rtadvd(8): Fix the default value of rltime. PR bin/51994.</li>
<li>Update BIND to 9.10.5-P2.</li>
<li>Update expat to 2.2.1.</li>
<li>Update ntp to 4.2.8p10.</li>
<li>Update root.cache to 2017102400.</li>
<li>Update tzdata to 2017c.</li>
<li>vi(1): Don't garble display when when resizing nvi in xterm.</li>
</ul></li>
<li>wpa_supplicant/hostapd: Update to 2.6.</li>
<li>Apply fixes for CVEs 2017-13077 through 2017-13082 and CVEs 2017-13086 through 2017-13088.</li>
<li>X: Apply fixes for CVEs 2017-12176 through 2017-12187, 2017-10971, 2017-10972, 2017-13722, 2017-13720, 2017-16611, and 2017-16612.
***
###<a href="https://fail0verflow.com/blog/2017/ps4-crashdump-dump/" target="_blank" rel="nofollow noopener">Dumping a PS4 Kernel in "Only" 6 Days</a>
&gt; What if a secure device had an attacker-viewable crashdump format? What if that same device allowed putting arbitrary memory into the crashdump? Amazingly, the ps4 tempted fate by supporting both of these features! Let’s see how that turned out…</li>
<li>Crashdumps on PS4

<ul>
<li>The crash handling infrastructure of the ps4 kernel is interesting for 2 main reasons:</li>
<li>It is ps4-specific code (likely to be buggy)</li>
<li>If the crashdump can be decoded, we will gain very useful info for finding bugs and creating reliable exploits</li>
<li>On a normal FreeBSD system, a kernel panic will create a dump by calling kern_reboot with the RB_DUMP flag. This then leads to doadump being called, which will dump a rather tiny amount of information about the kernel image itself to some storage device.</li>
<li>On ps4, the replacement for doadump is mdbg_run_dump, which can be called from panic or directly from trap_fatal. The amount of information stored into the dump is gigantic by comparison - kernel state for all process, thread, and vm objects are included, along with some metadata about loaded libraries. Other obvious changes from the vanilla FreeBSD method are that the mdbg_run_dump encodes data recorded into the dump on a field-by-field basis and additionally encrypts the resulting buffer before finally storing it to disk.</li>
</ul></li>
<li>Dumping Anything

<ul>
<li>Let’s zoom in to a special part of mdbg_run_dump - where it iterates over all process’ threads and tries to dump some pthread state:</li>
<li>dumpstate is a temporary buffer which will eventually make it into the crashdump. To summarize, sysdump__internal_call_readuser can be made to function as a read-anywhere oracle. This is because fsbase will point into our (owned) webkit process’ usermode address space. Thus, even without changing the actual fsbase value, we may freely change the value of tcb_thread, which is stored at fsbase + 0x10.</li>
<li>Further, sysdump__internal_call_readuser will happily read from a kernel address and put the result into the dump.</li>
<li>We can now put any kernel location into the dump, but we still need to decrypt and decode it…</li>
<li>Aside from that, there’s also the issue that we may only add 0x10 bytes per thread in this manner…</li>
</ul></li>
<li>Further reading:

<ul>
<li>Crashdump Crypto</li>
<li>Crashdump Decoding</li>
<li>Crashdump Automation</li>
<li>Triggering the Vulnerability</li>
<li>The Fix (Kind of…)</li>
<li>Fin</li>
</ul></li>
<li>Appendix

<ul>
<li>Crashdump Decryptor</li>
<li>NXDP Decoder
***
###<a href="https://www.freebsdfoundation.org/blog/bsdtw-2017-conference-recap-li-wen-hsu/" target="_blank" rel="nofollow noopener">BSDTW 2017 Conference Recap: Li-Wen Hsu</a></li>
</ul></li>
<li>BSDTW 2017 Conference Recap: Li-Wen Hsu</li>
<li>12/28/2017
&gt; Last month, we held BSDTW 2017 on November 11-12th, 2017 in Taipei, Taiwan. It was the second largest BSD conference in Taiwan and the first one in this decade. In 2004, the first AsiaBSDCon was also held in Taipei. Then all of the following AsiaBSDCon conferences were held in Tokyo, Japan. (AsiaBSDCon 2018 will be in Tokyo again next year, please submit your talk proposal by December 31th 2017, and attend the conference on March 8th-11th)
&gt; We wanted to start small with the first BSDTW because we were not sure how much sponsorship or how many volunteers we might have. BSDTW 2017 was a single track, two-day conference with 11 selected 50 minute presentations and 1 WIP/lightning talk session consisting of 8 short talks. I do regret that we did not have any local presenters this year. It is also a similar problem at AsiaBSDCon. Unsurprisingly, as with AsiaBSDcon, the travel reimbursement took up a large part of the whole conference budget. We do have many good people that work in Asia, but we still need to encourage people to present their work more.
&gt; We had over 130 registered attendees, with 30% of them coming from outside of Taiwan. To our knowledge, in recent years, this is the only open source conference in Taiwan to be held entirely in English, and to have such a large portion of international attendees. This is also the first open source conference in Taiwan to focus entirely on operating systems. The attendees included students, professors, engineers or CTOs, and CEOs from technology companies. This is also the first time that GroffTheBSDGoat visited Taiwan! We were surprised that after the silence for so many years, there are still so many people that use and love BSD near us. We saw many old friends, who had “disappeared” for a long time, came back, and were glad to meet many new friends at the conference. I am really happy that this conference was able to bring together these people, from local and abroad. After attending BSD conferences around the world for many years, I feel that the friendship between BSD users is the most important thing in the BSD community, and one of the main reasons people stay. It has been my pleasure to bring this community back to my friends in my homeland.
&gt; After the two-day event, I truly understand that bootstrapping a new conference is a very hard job. One with many aspects that you don’t even imagine until you’re really in the process of planning an event. I now have an even greater respect for all of the conference organizers and realize that we need to have more people help them, to keep these conferences continue to get better and better. Plus, there will always be room for a new conference!
&gt; Thanks to the FreeBSD Foundation for being the biggest sponsor of BSDTW 2017 and always being the strongest backend of our community. We are excited about the many local companies and organizations that helped us whether with people, materials or financially. We even had 21 personal sponsors, more than two times the number of other big open source conferences in Taiwan.
&gt; As I said in the closing session, I’m not sure if there will be 2nd BSDTW next year. It still depends on the amount of sponsorship and number of volunteers. However, we will definitely hold more smaller meetups in the next year to keep building up the local BSD community.
&gt; Finally, in the beginning of this month, we had a “post-conference media workshop” for organizing the media files we collected in the BSDTW 2017. Here are the review article in Traditional Chinese and the photos: <a href="https://medium.com/@bsdtw/bsdtw-2017-%E7%B8%BD%E5%9B%9E%E9%A1%A7-a402788daede" target="_blank" rel="nofollow noopener">https://medium.com/@bsdtw/bsdtw-2017-總回顧-a402788daede</a> &amp;&amp;
<a href="https://www.flickr.com/photos/bsdtw/albums/72157689410035911" target="_blank" rel="nofollow noopener">https://www.flickr.com/photos/bsdtw/albums/72157689410035911</a>
***
##News Roundup
###<a href="https://blog.grem.de/pages/t470s.html" target="_blank" rel="nofollow noopener">Running FreeBSD on a Lenovo T470s</a></li>
<li>Running FreeBSD on the Lenovo T470s ThinkPad
&gt; Installing FreeBSD on this machine was super easy. As I couldn't find a comprehensive/encouraging how-to about installing FreeBSD on a recent ThinkPad, I just wrote up the one below. It includes details about my personal setup, which are not required to run FreeBSD on this model, but which are more to my own taste. I still think this can be a quite useful inspiration for others who want to run their own customized configurations.</li>
<li>Specs
&gt; The system I use has these specifications:</li>
<li>Type: 20JS-001EGE</li>
<li>CPU: Intel Core i7-6600U, 2x 2.60GHz</li>
<li>RAM: 20GB DDR4</li>
<li>SSD: 512GB NVMe</li>
<li>Graphics: Intel HD Graphics 520 (IGP), 1x HDMI 1.4</li>
<li>Display: 14", 1920x1080, non-glare, IPS</li>
<li>Ports: 3x USB-A 3.0, 1x Thunderbolt 3, 1x Gb LAN</li>
<li>Wireless: WLAN 802.11a/b/g/n/ac, Bluetooth 4.1, LTE (Micro-SIM)</li>
<li>Cardreader: SD/SDHC/SDXC/MMC</li>
<li>Webcam: 0.9 Megapixel</li>
<li>Extras: MIL-STD-810G, Pointing Stick, Fingerprint-Reader, Docking port</li>
<li>Things that work
&gt; Basically everything I care about:

<ul>
<li>Accelerated video</li>
<li>Keyboard</li>
<li>Touchpad/ClickPad (like expected in a modern laptop)</li>
<li>SSD</li>
<li>WiFi</li>
<li>Sound</li>
<li>HDMI out</li>
<li>Suspend to RAM</li>
<li>Webcam</li>
</ul></li>
<li>Things that don't work

<ul>
<li>Fingerprint reader</li>
<li>Potentially anything I didn't test</li>
<li>Battery life is okay, but could be better.</li>
</ul></li>
<li>Installation of the base system
&gt; I used a snapshot release of 12-CURRENT as the basis of my installation, particularly the one of 13th of December 2017.
&gt; I dd'ed it onto a memory stick and boot the laptop. I started a standard installation and created an encrypted ZFS pool on nvme0, using encryption, swap encryption and partition scheme "GPT (UEFI)".
&gt; After installation, it boots straight up.</li>
<li>Ports tree used
&gt; All work is based on a head ports tree from about Dec 18, 22:15 CET, which should be more or less r456672.</li>
<li>Preferred ClickPad configuration
&gt; As I'm not a fan of the the pointing stick, I disabled it in the bios. My final ClickPad configuration will be: Click to click (not tap), no middle button, right button in the lower right corner. As the old synaptics driver doesn't provide good thumb detection, libinput will be used.</li>
<li>Check out the laptop list on the FreeBSD wiki for compatibility: (<a href="https://wiki.freebsd.org/Laptops/" target="_blank" rel="nofollow noopener">https://wiki.freebsd.org/Laptops/</a>)
***
###<a href="https://github.com/pkgdemon/comet" target="_blank" rel="nofollow noopener">FreeBSD desktop LiveCD creator</a></li>
<li>Introduction
&gt; The purpose of this tool is quickly generate bloat free images containing stock FreeBSD, and supported desktop environments.</li>
<li>Features</li>
<li>FreeBSD 11.1-RELEASE</li>
<li>AMD64</li>
<li>Gnome &amp; KDE desktop environments</li>
<li>Hybrid DVD/USB image</li>
<li>Screenshots</li>
<li>[Gnome LiveCD])<a href="https://github.com/pkgdemon/comet/raw/master/screenshots/gnome-livecd.png?raw=true" target="_blank" rel="nofollow noopener">https://github.com/pkgdemon/comet/raw/master/screenshots/gnome-livecd.png?raw=true</a>)</li>
<li><a href="https://github.com/pkgdemon/comet/raw/master/screenshots/kde-livecd.png?raw=true" target="_blank" rel="nofollow noopener">KDE LiveCD</a></li>
<li>System Requirements</li>
<li>FreeBSD 11.1, or higher for AMD64</li>
<li>20GB of free disk space</li>
<li>1GB of free memory</li>
<li>UFS, or ZFS</li>
<li>Initial Setup</li>
<li>Install the required packages:
<code>pkg install git grub2-pcbsd grub2-efi xorriso</code></li>
<li>Clone the repo:
<code>git clone https://www.github.com/pkgdemon/comet</code></li>
<li>Enter the directory for running the LiveCD creator:
<code>cd comet/src</code></li>
<li>Credentials for live media
&gt; User: liveuser
&gt; Password: freebsd
***
###iXsystems</li>
<li><a href="https://www.ixsystems.com/blog/storagecrypter/" target="_blank" rel="nofollow noopener">StorageCrypter Ransomware: Security Threat or Clickbait?</a>
###<a href="https://undeadly.org/cgi?action=article;sid=20171208082246" target="_blank" rel="nofollow noopener">pledge() work in progress</a>
&gt; I wanted to give an update that a two pledge-related changes are being worked on. The semantics and integration are complicated so it is taking some time.
&gt; One is execpromises. This will become the 2nd argument of pledge(). This allows one to set the pledge for the new image after pledge "exec"-allowed execve(). A warning though: utilizing this in software isn't as easy as you might think! The fork+exec + startup sequences needed to be studied quite carefully to ensure the newly-executed child doesn't ask for more than the parent's execpromises. In my experiments such a circumstance is exceedingly common, so the problem is eased by introducing a new pledge feature which allows pledge violations to return ENOSYS or such rather than killing the process.
&gt; This feature also needs to be used with great caution (especially in privileged programs) because programs which fail to observe errors may continue operating forward very incorrectly; you've lost the ability to catch it failing, and provide care by fixing the problem.
&gt; The other is pledgepaths. The semantics are still being tuned a bit. Before the first call to pledge() in a process, one can pledgepath() directories. Then later after pledge(), file access operations only work if the traversal of the path crosses one of those pre-declared directories (but better make sure you don't move a directory, because the kernel remembers and reasons about the vnode of the directory rather than the path). Something similar is being worked on for files, but we are still adjusting that, as well as a flag parameter for the pledgepath() call which may constrain the operations done on such files.
&gt; As such, pledgepath() will become a filesystem containment mechanism unlike chroot() because paths will still be based upon true /.
&gt; Patience.
***
###<a href="http://nanxiao.me/en/the-anatomy-of-tee-program-on-openbsd/" target="_blank" rel="nofollow noopener">The anatomy of tee program on OpenBSD</a>
&gt; The tee command is used to read content from standard input and displays it not only in standard output but also saves to other files simultaneously. The source code of tee in OpenBSD is very simple, and I want to give it an analysis:
&gt; (1) tee leverages Singlely-linked List defined in sys/queue.h to manage outputted files (including standard output):
<code>struct list {
SLIST_ENTRY(list) next;
int fd;
char *name;
};
SLIST_HEAD(, list) head;
......
static void
add(int fd, char *name)
{
struct list *p;
......
SLIST_INSERT_HEAD(&amp;head, p, next);
}
int
main(int argc, char *argv[])
{
struct list *p;
......
SLIST_INIT(&amp;head);
......
SLIST_FOREACH(p, &amp;head, next) {
......
}
}</code>
&gt; To understand it easily, I extract the macros from sys/queue.h and created a file which utilizes the marcos:
<code>&amp;#35;define SLIST_HEAD(name, type) \
struct name { \
struct type *slh_first; /* first element */ \
}
&amp;#35;define SLIST_ENTRY(type) \
struct { \
struct type *sle_next; /* next element */ \
}
&amp;#35;define SLIST_FIRST(head) ((head)-&gt;slh_first)
&amp;#35;define SLIST_END(head) NULL
&amp;#35;define SLIST_EMPTY(head) (SLIST_FIRST(head) == SLIST_END(head))
&amp;#35;define SLIST_NEXT(elm, field) ((elm)-&gt;field.sle_next)
&amp;#35;define SLIST_FOREACH(var, head, field) \
for((var) = SLIST_FIRST(head); \
(var) != SLIST_END(head); \
(var) = SLIST_NEXT(var, field))
&amp;#35;define SLIST_INIT(head) { \
SLIST_FIRST(head) = SLIST_END(head); \
}
&amp;#35;define SLIST_INSERT_HEAD(head, elm, field) do { \
(elm)-&gt;field.sle_next = (head)-&gt;slh_first; \
(head)-&gt;slh_first = (elm); \
} while (0)
struct list {
SLIST_ENTRY(list) next;
int fd;
char *name;
};
SLIST_HEAD(, list) head;
int
main(int argc, char *argv[])
{
struct list *p;
SLIST_INIT(&amp;head);
SLIST_INSERT_HEAD(&amp;head, p, next);
SLIST_FOREACH(p, &amp;head, next) {
}
}</code>
&gt; Then employed gcc‘s pre-processing function:
<code>&amp;#35; gcc -E slist.c
&amp;#35; 1 "slist.c"
&amp;#35; 1 "&lt;built-in&gt;"
&amp;#35; 1 "&lt;command-line&gt;"
&amp;#35; 1 "slist.c"
&amp;#35; 30 "slist.c"
struct list {
struct { struct list *sle_next; } next;
int fd;
char *name;
};
struct { struct list *slh_first; } head;
int
main(int argc, char *argv[])
{
struct list *p;
{ ((&amp;head)-&gt;slh_first) = NULL; };
do { (p)-&gt;next.sle_next = (&amp;head)-&gt;slh_first; (&amp;head)-&gt;slh_first = (p); } while (0);
for((p) = ((&amp;head)-&gt;slh_first); (p) != NULL; (p) = ((p)-&gt;next.sle_next)) {
}
}
</code>
&gt; It becomes clear now! The head node in list contains only 1 member: slh_first, which points to the first valid node. For the elements in the list, it is embedded with next struct which uses sle_next to refer to next buddy.
&gt; (2) By default, tee will overwrite the output files. If you want to append it, use -a option, and the code is as following:
<code>
while (*argv) {
if ((fd = open(*argv, O_WRONLY | O_CREAT |
(append ? O_APPEND : O_TRUNC), DEFFILEMODE)) == -1) {
......
}
......
}
</code>
&gt; (3) The next part is the skeleton of saving content to files:
<code>
while ((rval = read(STDIN_FILENO, buf, sizeof(buf))) &gt; 0) {
SLIST_FOREACH(p, &amp;head, next) {
n = rval;
bp = buf;
do {
if ((wval = write(p-&gt;fd, bp, n)) == -1) {
......
}
bp += wval;
} while (n -= wval);
}
}</code>
&gt; We need to iterates every opened file descriptor and write contents into it.
&gt; (4) Normally, theinterrupt signal will cause tee exit:
<code>&amp;#35; tee
fdkfkdfjk
fdkfkdfjk
^C
&amp;#35;</code>
&gt; To disable this feature, use -i option:
<code>&amp;#35; tee -i
fdhfhd
fdhfhd
^C^C</code>
&gt; The corresponding code is like this:
<code>......
case 'i':
(void)signal(SIGINT, SIG_IGN);
break;</code>
***
##Beastie Bits
+ <a href="https://bijanebrahimi.github.io/blog/openbsds-network-stack-part-1.html" target="_blank" rel="nofollow noopener">What I learned from reading the OpenBSD's network stack source code</a>
+ <a href="https://github.com/freebsd/freebsd/commit/888843e26a4e393f405c1c6cbdfc5b701670d363" target="_blank" rel="nofollow noopener">Broadcom BCM43224 and BCM43225 Wi-Fi cards now supported by bwn(4)</a>
+ <a href="https://marc.info/?l=openbsd-misc&amp;m=151320195122669&amp;w=2" target="_blank" rel="nofollow noopener">Ingo details searching man pages</a>
+ <a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=NetBSD-ZFS-DTrace-Updating" target="_blank" rel="nofollow noopener">DTrace &amp; ZFS Being Updated On NetBSD, Moving Away From Old OpenSolaris Code</a>
+ <a href="http://www.lpi.org/articles/linux-professional-institute-and-bsd-certification-group-join-efforts" target="_blank" rel="nofollow noopener">Linux Professional Institute and BSD Certification Group Join Efforts</a>
+ <a href="https://www.freebsdfoundation.org/blog/thank-you-2/" target="_blank" rel="nofollow noopener">The FreeBSD Foundation thanks Donors</a>
##Feedback/Questions
+ Alex - <a href="http://dpaste.com/3DSV7BC#wrap" target="_blank" rel="nofollow noopener">My first freebsd bug</a>
+ John - <a href="http://dpaste.com/2QFR4MT#wrap" target="_blank" rel="nofollow noopener">Suggested Speakers</a>
+ Todd - <a href="http://dpaste.com/2FQ450Q#wrap" target="_blank" rel="nofollow noopener">Two questions</a>
+ Matthew - <a href="http://dpaste.com/3KA29E0#wrap" target="_blank" rel="nofollow noopener">CentOS to FreeBSD</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We walk through dumping a PS4 kernel in only 6 days, tell you the news that NetBSD 7.1.1 has been released, details on how to run FreeBSD on a Thinkpad T470, and there’s progress in OpenBSD’s pledge.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://www.netbsd.org/releases/formal-7/NetBSD-7.1.1.html" target="_blank" rel="nofollow noopener">NetBSD 7.1.1 released</a></h3>

<ul>
<li>The NetBSD Project is pleased to announce NetBSD 7.1.1, the first security/critical update of the NetBSD 7.1 release branch. It represents a selected subset of fixes deemed important for security or stability reasons.</li>
<li>Complete source and binaries for NetBSD 7.1.1 are available for download at many sites around the world. A list of download sites providing FTP, AnonCVS, and other services may be found at <a href="https://www.NetBSD.org/mirrors/" target="_blank" rel="nofollow noopener">https://www.NetBSD.org/mirrors/</a>. We encourage users who wish to install via ISO or USB disk images to download via BitTorrent by using the torrent files supplied in the images area. A list of hashes for the NetBSD 7.1.1 distribution has been signed with the well-connected PGP key for the NetBSD Security Officer: <a href="https://ftp.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-7.1.1_hashes.asc" target="_blank" rel="nofollow noopener">https://ftp.NetBSD.org/pub/NetBSD/security/hashes/NetBSD-7.1.1_hashes.asc</a></li>
<li>NetBSD is free. All of the code is under non-restrictive licenses, and may be used without paying royalties to anyone. Free support services are available via our mailing lists and website. Commercial support is available from a variety of sources. More extensive information on NetBSD is available from our website:</li>
<li>[NetBSD website](<a href="http://www.NetBSD.org" target="_blank" rel="nofollow noopener">www.NetBSD.org</a>)
+Changes Between 7.1 and 7.1.1 Below is an abbreviated list of changes in this release. The complete list can be found in the CHANGES-7.1.1 file in the top level directory of the NetBSD 7.1.1 release tree.

<ul>
<li>Security Advisory Fixes The following security advisories were fixed:</li>
<li>NetBSD-SA2017-004 buffer overflow via cmap for 4 graphics drivers.</li>
<li>NetBSD-SA2017-005 x86: vulnerabilities in context handling.</li>
<li>NetBSD-SA2017-006 Vnode reference leak in the openat system call.</li>
<li>NetBSD-SA2018-001 Several vulnerabilities in context handling</li>
<li>NetBSD-SA2018-002 Local DoS in virecover</li>
<li>Note: Advisories prior to NetBSD-SA2017-004 do not affect NetBSD 7.1.1.</li>
<li>Userland changes</li>
<li>dhcrelay(8): Fix bug that prevented proper operation when run in the background.</li>
<li>Heimdal: Update to 7.1. Fix CVE-2017-11103.</li>
<li>mtree(8): Don't modify strings stored in hash, otherwise filling up of directory hierarchy stops if the same hash value occurs in directory and leaf.</li>
<li>ping(8): Fix cksum calculation for clearing the cached route.</li>
<li>resize_ffs(8): Fix numerous overflow errors which can lead to superblock corruption on large filesystems.</li>
<li>rtadvd(8): Fix the default value of rltime. PR bin/51994.</li>
<li>Update BIND to 9.10.5-P2.</li>
<li>Update expat to 2.2.1.</li>
<li>Update ntp to 4.2.8p10.</li>
<li>Update root.cache to 2017102400.</li>
<li>Update tzdata to 2017c.</li>
<li>vi(1): Don't garble display when when resizing nvi in xterm.</li>
</ul></li>
<li>wpa_supplicant/hostapd: Update to 2.6.</li>
<li>Apply fixes for CVEs 2017-13077 through 2017-13082 and CVEs 2017-13086 through 2017-13088.</li>
<li>X: Apply fixes for CVEs 2017-12176 through 2017-12187, 2017-10971, 2017-10972, 2017-13722, 2017-13720, 2017-16611, and 2017-16612.
***
###<a href="https://fail0verflow.com/blog/2017/ps4-crashdump-dump/" target="_blank" rel="nofollow noopener">Dumping a PS4 Kernel in "Only" 6 Days</a>
&gt; What if a secure device had an attacker-viewable crashdump format? What if that same device allowed putting arbitrary memory into the crashdump? Amazingly, the ps4 tempted fate by supporting both of these features! Let’s see how that turned out…</li>
<li>Crashdumps on PS4

<ul>
<li>The crash handling infrastructure of the ps4 kernel is interesting for 2 main reasons:</li>
<li>It is ps4-specific code (likely to be buggy)</li>
<li>If the crashdump can be decoded, we will gain very useful info for finding bugs and creating reliable exploits</li>
<li>On a normal FreeBSD system, a kernel panic will create a dump by calling kern_reboot with the RB_DUMP flag. This then leads to doadump being called, which will dump a rather tiny amount of information about the kernel image itself to some storage device.</li>
<li>On ps4, the replacement for doadump is mdbg_run_dump, which can be called from panic or directly from trap_fatal. The amount of information stored into the dump is gigantic by comparison - kernel state for all process, thread, and vm objects are included, along with some metadata about loaded libraries. Other obvious changes from the vanilla FreeBSD method are that the mdbg_run_dump encodes data recorded into the dump on a field-by-field basis and additionally encrypts the resulting buffer before finally storing it to disk.</li>
</ul></li>
<li>Dumping Anything

<ul>
<li>Let’s zoom in to a special part of mdbg_run_dump - where it iterates over all process’ threads and tries to dump some pthread state:</li>
<li>dumpstate is a temporary buffer which will eventually make it into the crashdump. To summarize, sysdump__internal_call_readuser can be made to function as a read-anywhere oracle. This is because fsbase will point into our (owned) webkit process’ usermode address space. Thus, even without changing the actual fsbase value, we may freely change the value of tcb_thread, which is stored at fsbase + 0x10.</li>
<li>Further, sysdump__internal_call_readuser will happily read from a kernel address and put the result into the dump.</li>
<li>We can now put any kernel location into the dump, but we still need to decrypt and decode it…</li>
<li>Aside from that, there’s also the issue that we may only add 0x10 bytes per thread in this manner…</li>
</ul></li>
<li>Further reading:

<ul>
<li>Crashdump Crypto</li>
<li>Crashdump Decoding</li>
<li>Crashdump Automation</li>
<li>Triggering the Vulnerability</li>
<li>The Fix (Kind of…)</li>
<li>Fin</li>
</ul></li>
<li>Appendix

<ul>
<li>Crashdump Decryptor</li>
<li>NXDP Decoder
***
###<a href="https://www.freebsdfoundation.org/blog/bsdtw-2017-conference-recap-li-wen-hsu/" target="_blank" rel="nofollow noopener">BSDTW 2017 Conference Recap: Li-Wen Hsu</a></li>
</ul></li>
<li>BSDTW 2017 Conference Recap: Li-Wen Hsu</li>
<li>12/28/2017
&gt; Last month, we held BSDTW 2017 on November 11-12th, 2017 in Taipei, Taiwan. It was the second largest BSD conference in Taiwan and the first one in this decade. In 2004, the first AsiaBSDCon was also held in Taipei. Then all of the following AsiaBSDCon conferences were held in Tokyo, Japan. (AsiaBSDCon 2018 will be in Tokyo again next year, please submit your talk proposal by December 31th 2017, and attend the conference on March 8th-11th)
&gt; We wanted to start small with the first BSDTW because we were not sure how much sponsorship or how many volunteers we might have. BSDTW 2017 was a single track, two-day conference with 11 selected 50 minute presentations and 1 WIP/lightning talk session consisting of 8 short talks. I do regret that we did not have any local presenters this year. It is also a similar problem at AsiaBSDCon. Unsurprisingly, as with AsiaBSDcon, the travel reimbursement took up a large part of the whole conference budget. We do have many good people that work in Asia, but we still need to encourage people to present their work more.
&gt; We had over 130 registered attendees, with 30% of them coming from outside of Taiwan. To our knowledge, in recent years, this is the only open source conference in Taiwan to be held entirely in English, and to have such a large portion of international attendees. This is also the first open source conference in Taiwan to focus entirely on operating systems. The attendees included students, professors, engineers or CTOs, and CEOs from technology companies. This is also the first time that GroffTheBSDGoat visited Taiwan! We were surprised that after the silence for so many years, there are still so many people that use and love BSD near us. We saw many old friends, who had “disappeared” for a long time, came back, and were glad to meet many new friends at the conference. I am really happy that this conference was able to bring together these people, from local and abroad. After attending BSD conferences around the world for many years, I feel that the friendship between BSD users is the most important thing in the BSD community, and one of the main reasons people stay. It has been my pleasure to bring this community back to my friends in my homeland.
&gt; After the two-day event, I truly understand that bootstrapping a new conference is a very hard job. One with many aspects that you don’t even imagine until you’re really in the process of planning an event. I now have an even greater respect for all of the conference organizers and realize that we need to have more people help them, to keep these conferences continue to get better and better. Plus, there will always be room for a new conference!
&gt; Thanks to the FreeBSD Foundation for being the biggest sponsor of BSDTW 2017 and always being the strongest backend of our community. We are excited about the many local companies and organizations that helped us whether with people, materials or financially. We even had 21 personal sponsors, more than two times the number of other big open source conferences in Taiwan.
&gt; As I said in the closing session, I’m not sure if there will be 2nd BSDTW next year. It still depends on the amount of sponsorship and number of volunteers. However, we will definitely hold more smaller meetups in the next year to keep building up the local BSD community.
&gt; Finally, in the beginning of this month, we had a “post-conference media workshop” for organizing the media files we collected in the BSDTW 2017. Here are the review article in Traditional Chinese and the photos: <a href="https://medium.com/@bsdtw/bsdtw-2017-%E7%B8%BD%E5%9B%9E%E9%A1%A7-a402788daede" target="_blank" rel="nofollow noopener">https://medium.com/@bsdtw/bsdtw-2017-總回顧-a402788daede</a> &amp;&amp;
<a href="https://www.flickr.com/photos/bsdtw/albums/72157689410035911" target="_blank" rel="nofollow noopener">https://www.flickr.com/photos/bsdtw/albums/72157689410035911</a>
***
##News Roundup
###<a href="https://blog.grem.de/pages/t470s.html" target="_blank" rel="nofollow noopener">Running FreeBSD on a Lenovo T470s</a></li>
<li>Running FreeBSD on the Lenovo T470s ThinkPad
&gt; Installing FreeBSD on this machine was super easy. As I couldn't find a comprehensive/encouraging how-to about installing FreeBSD on a recent ThinkPad, I just wrote up the one below. It includes details about my personal setup, which are not required to run FreeBSD on this model, but which are more to my own taste. I still think this can be a quite useful inspiration for others who want to run their own customized configurations.</li>
<li>Specs
&gt; The system I use has these specifications:</li>
<li>Type: 20JS-001EGE</li>
<li>CPU: Intel Core i7-6600U, 2x 2.60GHz</li>
<li>RAM: 20GB DDR4</li>
<li>SSD: 512GB NVMe</li>
<li>Graphics: Intel HD Graphics 520 (IGP), 1x HDMI 1.4</li>
<li>Display: 14", 1920x1080, non-glare, IPS</li>
<li>Ports: 3x USB-A 3.0, 1x Thunderbolt 3, 1x Gb LAN</li>
<li>Wireless: WLAN 802.11a/b/g/n/ac, Bluetooth 4.1, LTE (Micro-SIM)</li>
<li>Cardreader: SD/SDHC/SDXC/MMC</li>
<li>Webcam: 0.9 Megapixel</li>
<li>Extras: MIL-STD-810G, Pointing Stick, Fingerprint-Reader, Docking port</li>
<li>Things that work
&gt; Basically everything I care about:

<ul>
<li>Accelerated video</li>
<li>Keyboard</li>
<li>Touchpad/ClickPad (like expected in a modern laptop)</li>
<li>SSD</li>
<li>WiFi</li>
<li>Sound</li>
<li>HDMI out</li>
<li>Suspend to RAM</li>
<li>Webcam</li>
</ul></li>
<li>Things that don't work

<ul>
<li>Fingerprint reader</li>
<li>Potentially anything I didn't test</li>
<li>Battery life is okay, but could be better.</li>
</ul></li>
<li>Installation of the base system
&gt; I used a snapshot release of 12-CURRENT as the basis of my installation, particularly the one of 13th of December 2017.
&gt; I dd'ed it onto a memory stick and boot the laptop. I started a standard installation and created an encrypted ZFS pool on nvme0, using encryption, swap encryption and partition scheme "GPT (UEFI)".
&gt; After installation, it boots straight up.</li>
<li>Ports tree used
&gt; All work is based on a head ports tree from about Dec 18, 22:15 CET, which should be more or less r456672.</li>
<li>Preferred ClickPad configuration
&gt; As I'm not a fan of the the pointing stick, I disabled it in the bios. My final ClickPad configuration will be: Click to click (not tap), no middle button, right button in the lower right corner. As the old synaptics driver doesn't provide good thumb detection, libinput will be used.</li>
<li>Check out the laptop list on the FreeBSD wiki for compatibility: (<a href="https://wiki.freebsd.org/Laptops/" target="_blank" rel="nofollow noopener">https://wiki.freebsd.org/Laptops/</a>)
***
###<a href="https://github.com/pkgdemon/comet" target="_blank" rel="nofollow noopener">FreeBSD desktop LiveCD creator</a></li>
<li>Introduction
&gt; The purpose of this tool is quickly generate bloat free images containing stock FreeBSD, and supported desktop environments.</li>
<li>Features</li>
<li>FreeBSD 11.1-RELEASE</li>
<li>AMD64</li>
<li>Gnome &amp; KDE desktop environments</li>
<li>Hybrid DVD/USB image</li>
<li>Screenshots</li>
<li>[Gnome LiveCD])<a href="https://github.com/pkgdemon/comet/raw/master/screenshots/gnome-livecd.png?raw=true" target="_blank" rel="nofollow noopener">https://github.com/pkgdemon/comet/raw/master/screenshots/gnome-livecd.png?raw=true</a>)</li>
<li><a href="https://github.com/pkgdemon/comet/raw/master/screenshots/kde-livecd.png?raw=true" target="_blank" rel="nofollow noopener">KDE LiveCD</a></li>
<li>System Requirements</li>
<li>FreeBSD 11.1, or higher for AMD64</li>
<li>20GB of free disk space</li>
<li>1GB of free memory</li>
<li>UFS, or ZFS</li>
<li>Initial Setup</li>
<li>Install the required packages:
<code>pkg install git grub2-pcbsd grub2-efi xorriso</code></li>
<li>Clone the repo:
<code>git clone https://www.github.com/pkgdemon/comet</code></li>
<li>Enter the directory for running the LiveCD creator:
<code>cd comet/src</code></li>
<li>Credentials for live media
&gt; User: liveuser
&gt; Password: freebsd
***
###iXsystems</li>
<li><a href="https://www.ixsystems.com/blog/storagecrypter/" target="_blank" rel="nofollow noopener">StorageCrypter Ransomware: Security Threat or Clickbait?</a>
###<a href="https://undeadly.org/cgi?action=article;sid=20171208082246" target="_blank" rel="nofollow noopener">pledge() work in progress</a>
&gt; I wanted to give an update that a two pledge-related changes are being worked on. The semantics and integration are complicated so it is taking some time.
&gt; One is execpromises. This will become the 2nd argument of pledge(). This allows one to set the pledge for the new image after pledge "exec"-allowed execve(). A warning though: utilizing this in software isn't as easy as you might think! The fork+exec + startup sequences needed to be studied quite carefully to ensure the newly-executed child doesn't ask for more than the parent's execpromises. In my experiments such a circumstance is exceedingly common, so the problem is eased by introducing a new pledge feature which allows pledge violations to return ENOSYS or such rather than killing the process.
&gt; This feature also needs to be used with great caution (especially in privileged programs) because programs which fail to observe errors may continue operating forward very incorrectly; you've lost the ability to catch it failing, and provide care by fixing the problem.
&gt; The other is pledgepaths. The semantics are still being tuned a bit. Before the first call to pledge() in a process, one can pledgepath() directories. Then later after pledge(), file access operations only work if the traversal of the path crosses one of those pre-declared directories (but better make sure you don't move a directory, because the kernel remembers and reasons about the vnode of the directory rather than the path). Something similar is being worked on for files, but we are still adjusting that, as well as a flag parameter for the pledgepath() call which may constrain the operations done on such files.
&gt; As such, pledgepath() will become a filesystem containment mechanism unlike chroot() because paths will still be based upon true /.
&gt; Patience.
***
###<a href="http://nanxiao.me/en/the-anatomy-of-tee-program-on-openbsd/" target="_blank" rel="nofollow noopener">The anatomy of tee program on OpenBSD</a>
&gt; The tee command is used to read content from standard input and displays it not only in standard output but also saves to other files simultaneously. The source code of tee in OpenBSD is very simple, and I want to give it an analysis:
&gt; (1) tee leverages Singlely-linked List defined in sys/queue.h to manage outputted files (including standard output):
<code>struct list {
SLIST_ENTRY(list) next;
int fd;
char *name;
};
SLIST_HEAD(, list) head;
......
static void
add(int fd, char *name)
{
struct list *p;
......
SLIST_INSERT_HEAD(&amp;head, p, next);
}
int
main(int argc, char *argv[])
{
struct list *p;
......
SLIST_INIT(&amp;head);
......
SLIST_FOREACH(p, &amp;head, next) {
......
}
}</code>
&gt; To understand it easily, I extract the macros from sys/queue.h and created a file which utilizes the marcos:
<code>&amp;#35;define SLIST_HEAD(name, type) \
struct name { \
struct type *slh_first; /* first element */ \
}
&amp;#35;define SLIST_ENTRY(type) \
struct { \
struct type *sle_next; /* next element */ \
}
&amp;#35;define SLIST_FIRST(head) ((head)-&gt;slh_first)
&amp;#35;define SLIST_END(head) NULL
&amp;#35;define SLIST_EMPTY(head) (SLIST_FIRST(head) == SLIST_END(head))
&amp;#35;define SLIST_NEXT(elm, field) ((elm)-&gt;field.sle_next)
&amp;#35;define SLIST_FOREACH(var, head, field) \
for((var) = SLIST_FIRST(head); \
(var) != SLIST_END(head); \
(var) = SLIST_NEXT(var, field))
&amp;#35;define SLIST_INIT(head) { \
SLIST_FIRST(head) = SLIST_END(head); \
}
&amp;#35;define SLIST_INSERT_HEAD(head, elm, field) do { \
(elm)-&gt;field.sle_next = (head)-&gt;slh_first; \
(head)-&gt;slh_first = (elm); \
} while (0)
struct list {
SLIST_ENTRY(list) next;
int fd;
char *name;
};
SLIST_HEAD(, list) head;
int
main(int argc, char *argv[])
{
struct list *p;
SLIST_INIT(&amp;head);
SLIST_INSERT_HEAD(&amp;head, p, next);
SLIST_FOREACH(p, &amp;head, next) {
}
}</code>
&gt; Then employed gcc‘s pre-processing function:
<code>&amp;#35; gcc -E slist.c
&amp;#35; 1 "slist.c"
&amp;#35; 1 "&lt;built-in&gt;"
&amp;#35; 1 "&lt;command-line&gt;"
&amp;#35; 1 "slist.c"
&amp;#35; 30 "slist.c"
struct list {
struct { struct list *sle_next; } next;
int fd;
char *name;
};
struct { struct list *slh_first; } head;
int
main(int argc, char *argv[])
{
struct list *p;
{ ((&amp;head)-&gt;slh_first) = NULL; };
do { (p)-&gt;next.sle_next = (&amp;head)-&gt;slh_first; (&amp;head)-&gt;slh_first = (p); } while (0);
for((p) = ((&amp;head)-&gt;slh_first); (p) != NULL; (p) = ((p)-&gt;next.sle_next)) {
}
}
</code>
&gt; It becomes clear now! The head node in list contains only 1 member: slh_first, which points to the first valid node. For the elements in the list, it is embedded with next struct which uses sle_next to refer to next buddy.
&gt; (2) By default, tee will overwrite the output files. If you want to append it, use -a option, and the code is as following:
<code>
while (*argv) {
if ((fd = open(*argv, O_WRONLY | O_CREAT |
(append ? O_APPEND : O_TRUNC), DEFFILEMODE)) == -1) {
......
}
......
}
</code>
&gt; (3) The next part is the skeleton of saving content to files:
<code>
while ((rval = read(STDIN_FILENO, buf, sizeof(buf))) &gt; 0) {
SLIST_FOREACH(p, &amp;head, next) {
n = rval;
bp = buf;
do {
if ((wval = write(p-&gt;fd, bp, n)) == -1) {
......
}
bp += wval;
} while (n -= wval);
}
}</code>
&gt; We need to iterates every opened file descriptor and write contents into it.
&gt; (4) Normally, theinterrupt signal will cause tee exit:
<code>&amp;#35; tee
fdkfkdfjk
fdkfkdfjk
^C
&amp;#35;</code>
&gt; To disable this feature, use -i option:
<code>&amp;#35; tee -i
fdhfhd
fdhfhd
^C^C</code>
&gt; The corresponding code is like this:
<code>......
case 'i':
(void)signal(SIGINT, SIG_IGN);
break;</code>
***
##Beastie Bits
+ <a href="https://bijanebrahimi.github.io/blog/openbsds-network-stack-part-1.html" target="_blank" rel="nofollow noopener">What I learned from reading the OpenBSD's network stack source code</a>
+ <a href="https://github.com/freebsd/freebsd/commit/888843e26a4e393f405c1c6cbdfc5b701670d363" target="_blank" rel="nofollow noopener">Broadcom BCM43224 and BCM43225 Wi-Fi cards now supported by bwn(4)</a>
+ <a href="https://marc.info/?l=openbsd-misc&amp;m=151320195122669&amp;w=2" target="_blank" rel="nofollow noopener">Ingo details searching man pages</a>
+ <a href="https://www.phoronix.com/scan.php?page=news_item&amp;px=NetBSD-ZFS-DTrace-Updating" target="_blank" rel="nofollow noopener">DTrace &amp; ZFS Being Updated On NetBSD, Moving Away From Old OpenSolaris Code</a>
+ <a href="http://www.lpi.org/articles/linux-professional-institute-and-bsd-certification-group-join-efforts" target="_blank" rel="nofollow noopener">Linux Professional Institute and BSD Certification Group Join Efforts</a>
+ <a href="https://www.freebsdfoundation.org/blog/thank-you-2/" target="_blank" rel="nofollow noopener">The FreeBSD Foundation thanks Donors</a>
##Feedback/Questions
+ Alex - <a href="http://dpaste.com/3DSV7BC#wrap" target="_blank" rel="nofollow noopener">My first freebsd bug</a>
+ John - <a href="http://dpaste.com/2QFR4MT#wrap" target="_blank" rel="nofollow noopener">Suggested Speakers</a>
+ Todd - <a href="http://dpaste.com/2FQ450Q#wrap" target="_blank" rel="nofollow noopener">Two questions</a>
+ Matthew - <a href="http://dpaste.com/3KA29E0#wrap" target="_blank" rel="nofollow noopener">CentOS to FreeBSD</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>226: SSL: Santa’s Syscall List</title>
  <link>https://www.bsdnow.tv/226</link>
  <guid isPermaLink="false">12b503ea-38c7-458a-b5b3-6893c50337b1</guid>
  <pubDate>Wed, 27 Dec 2017 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/12b503ea-38c7-458a-b5b3-6893c50337b1.mp3" length="91934356" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We read the FreeBSD Q3 status report, explore good and bad syscalls, list GOG Games for OpenBSD, and show you what devmatch can do.</itunes:subtitle>
  <itunes:duration>2:07: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>&lt;p&gt;We read the FreeBSD Q3 status report, explore good and bad syscalls, list GOG Games for OpenBSD, and show you what devmatch can do.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-announce/2017-December/001818.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Q3 Status Report 2017&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD Team Reports

&lt;ul&gt;
&lt;li&gt;FreeBSD Release Engineering Team&lt;/li&gt;
&lt;li&gt;Ports Collection&lt;/li&gt;
&lt;li&gt;The FreeBSD Core Team&lt;/li&gt;
&lt;li&gt;The FreeBSD Foundation&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Projects

&lt;ul&gt;
&lt;li&gt;FreeBSD CI&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Kernel

&lt;ul&gt;
&lt;li&gt;Intel 10G iflib Driver Update&lt;/li&gt;
&lt;li&gt;Intel iWARP Support&lt;/li&gt;
&lt;li&gt;pNFS Server Plan B&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Architectures

&lt;ul&gt;
&lt;li&gt;AMD Zen (family 17h) support&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Userland Programs

&lt;ul&gt;
&lt;li&gt;Updates to GDB&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Ports

&lt;ul&gt;
&lt;li&gt;FreeBSDDesktop&lt;/li&gt;
&lt;li&gt;OpenJFX 8&lt;/li&gt;
&lt;li&gt;Puppet&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Documentation

&lt;ul&gt;
&lt;li&gt;Absolute FreeBSD, 3rd Edition&lt;/li&gt;
&lt;li&gt;Manual Pages&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Third-Party Projects

&lt;ul&gt;
&lt;li&gt;The nosh Project
####&lt;a href="https://www.freebsdfoundation.org/wp-content/uploads/2017/12/FreeBSD-Foundation-Q4-Update.pdf" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation Q4 Update&lt;/a&gt;
***
###&lt;a href="https://www.cloudatomiclab.com/prosyscall/" target="_blank" rel="nofollow noopener"&gt;11 syscalls that rock the world&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;0. read
&amp;gt; You cannot go wrong with a read. You can barely EFAULT it! On Linux amd64 it is syscall zero. If all its arguments are zero it returns zero. Cool!&lt;/li&gt;
&lt;li&gt;1. pipe
&amp;gt; The society for the preservation of historic calling conventions is very fond of pipe, as in many operating systems and architectures it preserves the fun feature of returning both of the file descriptors as return values. At least Linux MIPS does, and NetBSD does even on x86 and amd64. Multiple return values are making a comeback in languages like Lua and Go, but C has always had a bit of a funny thing about them, but they have long been supported in many calling conventions, so let us use them in syscalls! Well, one syscall.&lt;/li&gt;
&lt;li&gt;2. kqueue
&amp;gt; When the world went all C10K on our ass, and scaleable polling was a thing, Linux went epoll, the BSDs went kqueue and Solaris went /dev/poll. The nicest interface was kqueue, while epoll is some mix of edge and level triggered semantics and design errors so bugs are still being found.&lt;/li&gt;
&lt;li&gt;3. unshare
&amp;gt; Sounds like a selfish syscall, but this generous syscall call is the basis of Linux namespaces, allowing a process to isolate its resources. Containers are built from unshares.&lt;/li&gt;
&lt;li&gt;4. setns
&amp;gt; If you liked unshare, its younger but cooler friend takes file descriptors for namespaces. Pass it down a unix socket to another process, or stash it for later, and do that namespace switching. All the best system calls take file descriptors.&lt;/li&gt;
&lt;li&gt;5. execveat
&amp;gt; Despite its somewhat confusing name (FreeBSD has the saner fexecve, but other BSDs do not have support last time I checked), this syscall finally lets you execute a program just given a file descriptor for the file. I say finally, as Linux only implemented this in 3.19, which means it is hard to rely on it (yeah, stop using those stupid old kernels folks). Before that Glibc had a terrible userspace implementation that is basically useless. Perfect for creating sandboxes, as you can sandbox a program into a filesystem with nothing at all in, or with a totally controlled tree, by opening the file to execute before chroot or changing the namespace.&lt;/li&gt;
&lt;li&gt;6. pdfork
&amp;gt; Too cool for Linux, you have to head out to FreeBSD for this one. Like fork, but you get a file descriptor for the process not a pid. Then you can throw it in the kqueue or send it to another process. Once you have tried process descriptors you will never go back.&lt;/li&gt;
&lt;li&gt;7. signalfd
&amp;gt; You might detect a theme here, but if you have ever written traditional 1980s style signal handlers you know how much they suck. How about turning your signals into messages that you can read on, you guessed it, file descriptors. Like, usable.&lt;/li&gt;
&lt;li&gt;8. wstat
&amp;gt; This one is from Plan 9. It does the opposite of stat and writes the same structure. Simples. Avoids having chmod, chown, rename, utime and so on, by the simple expedient of making the syscall symmetric. Why not?&lt;/li&gt;
&lt;li&gt;9. clonefile
&amp;gt; The only cool syscall on OSX, and only supported on the new APFS filesystem. Copies whole files or directories on a single syscall using copy on write for all the data. Look on my works, copy_file_range and despair.&lt;/li&gt;
&lt;li&gt;10. pledge
&amp;gt; The little sandbox that worked. OpenBSD only here, they managed to make a simple sandbox that was practical for real programs, like the base OpenBSD system. Capsicum form FreeBSD (and promised for Linux for years but no sign) is a lovely design, and gave us pdfork, but its still kind of difficult and intrusive to implement. Linux has, well, seccomp, LSMs, and still nothing that usable for the average program.
###&lt;a href="https://www.cloudatomiclab.com/antisyscall/" target="_blank" rel="nofollow noopener"&gt;Eleven syscalls that suck&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;0. ioctl
&amp;gt; It can‘t decide if it‘s arguments are integers, strings, or some struct that is lost in the midst of time. Make up your mind! Plan 9 was invented to get rid of this.&lt;/li&gt;
&lt;li&gt;1. fcntl
&amp;gt; Just like ioctl but for some different miscellaneous operations, because one miscelleny is not enough.&lt;/li&gt;
&lt;li&gt;2. tuxcall
&amp;gt; Linux put a web server in the kernel! To win a benchmark contest with Microsoft! It had it‘s own syscall! My enum tux_reactions are YUK! Don‘t worry though, it was a distro patch (thanks Red Hat!) and never made it upstream, so only the man page and reserved number survive to taunt you and remind you that the path of the righteous is beset by premature optmization!&lt;/li&gt;
&lt;li&gt;3. io_setup
&amp;gt; The Linux asynchronous IO syscalls are almost entirely useless! Almost nothing works! You have to use O_DIRECT for a start. And then they still barely work! They have one use, benchmarking SSDs, to show what speed you could get if only there was a usable API. Want async IO in kernel? Use Windows!&lt;/li&gt;
&lt;li&gt;4. stat, and its friends and relatives
&amp;gt; Yes this one is useful, but can you find the data structure it uses? We have oldstat, oldfstat, ustat, oldlstat, statfs, fstatfs, stat, lstat, fstat, stat64, lstat64, fstat64, statfs64, fstatfs64, fstatat64 for stating files and links and filesystems in Linux. A new bunch will be along soon for Y2038. Simplify your life, use a BSD, where they cleaned up the mess as they did the cooking! Linux on 32 bit platforms is just sucky in comparison, and will get worse. And don’t even look at MIPS, where the padding is wrong.&lt;/li&gt;
&lt;li&gt;5. Linux on MIPS
&amp;gt; Not a syscall, a whole implemntation of the Linux ABI. Unlike the lovely clean BSDs, Linux is different on each architecture, system calls randomly take arguments in different orders, and constants have different values, and there are special syscalls. But MIPS takes the biscuit, the whole packet of biscuits. It was made to be binary compatible with old SGI machines that don’t even exist, and has more syscall ABIs than I have had hot dinners. Clean it up! Make a new sane MIPS ABI and deprecate the old ones, nothing like adding another variant. So annoying I think I threw out all my MIPS machines, each different.&lt;/li&gt;
&lt;li&gt;6. inotify, fanotify and friends
&amp;gt; Linux has no fewer than three file system change notification protocols. The first, dnotify hopped on ioctl‘s sidekick fcntl, while the two later ones, inotify and fanotify added a bunch more syscalls. You can use any of them, and they still will not provide the notification API you want for most applications. Most people use the second one, inotify and curse it. Did you know kqueue can do this on the BSDs?&lt;/li&gt;
&lt;li&gt;7. personality
&amp;gt; Oozing in personality, but we just don’t get along. Basically obsolete, as the kernel can decide what kind of system emulation to do from binaries directly, it stays around with some use cases in persuading ./configure it is running on a 32 bit system. But it can turn off ASLR, and let the CVEs right into your system. We need less persoanlity!&lt;/li&gt;
&lt;li&gt;8. gettimeofday
&amp;gt; Still has an obsolete timezone value from an old times when people thought timezones should go all the way to the kernel. Now we know that your computer should not know. Set its clock to UTC. Do the timezones in the UI based on where the user is, not the computer. You should use clock_gettime now. Don’t even talk to me about locales. This syscall is fast though, don’t use it for benchmarking, its in the VDSO.&lt;/li&gt;
&lt;li&gt;9. splice and tee
&amp;gt; These, back in 2005 were a quite nice idea, although Linux said then “it is incomplete, the interfaces are ugly, and it will oops the system if anything goes wrong”. It won’t oops your system now, but usage has not taken off. The nice idea from Linus was that a pipe is just a ring buffer in the kernel, that can have a more general API and use cases for performant code, but a decade on it hasn’t really worked out. It was also supposed to be a more general sendfile, which in many ways was the successor of that Tux web server, but I think sendfile is still more widely used.&lt;/li&gt;
&lt;li&gt;10. userfaultfd
&amp;gt; Yes, I like file descriptors. Yes CRIU is kind of cool. But userspace handling page faults? Is nothing sacred? I get that you can do this badly with a SIGSEGV handler, but talk about lipstick on a pig.
***
###&lt;a href="http://www.increasinglyadequate.com/macppc.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.0 on an iMac G3 from 1999&lt;/a&gt;
&amp;gt; A while ago I spent $50 for an iMac G3 (aka the iMac,1). This iconic model restored Apple's fortunes in the late '90s. Since the iMac G3 can still boot Mac OSes 8 and 9, I mostly use the machine to indulge a nostalgia for childhood schooldays spent poking at the operating system and playing Escape Velocity. But before I got around to that, I decided to try out the software that the previous owner had left on the machine. The antiquated OSX 10.2 install and 12 year old versions of Safari and Internet Explorer were too slow and old to use for anything. Updating to newer software was almost impossible; a later OSX is required to run the little PowerPC-compatible software still languishing in forgotten corners of the Internet. This got me thinking: could this machine be used, really used, nowadays? Lacking a newer OSX disc, I decided to try the most recent OpenBSD release. (And, since then, to re-try with each new OpenBSD release.) Below are the results of this experiment (plus a working xorg.conf file) and a few background notes.&lt;/li&gt;
&lt;li&gt;Background
&amp;gt; This iMac is a Revision D iMac G3 in grape. It's part of the iMac,1 family of computers. This family includes all tray-loading iMac G3s. (Later iMac G3s had a slot-loading CD drive and different components.) Save for a slightly faster processor, a dedicated graphics card, and cosmetic tweaks to the case, my iMac is identical to the prior year's line-launching Bondi Blue iMac. My machine has had its memory upgraded from 32 MB to 320 MB. Thank Goodness.
&amp;gt; The Revision D iMac G3 shipped with Mac OS 8.5. It can run up to Mac OS 9.2.2 or OSX 10.3.9. Other operating systems that tout support for the iMac,1 include NetBSD, OpenBSD, and a shrinking number of Linux distributions.
&amp;gt; OpenBSD is simple (by design) and well-maintained. In contrast, NetBSD seems rather more complex and featureful, and I have heard grumbling that despite its reputation for portability, NetBSD really only works well on amd64. I'd test that assertion if OpenBSD's macppc installation instructions didn't seem much simpler than NetBSD's. Linux is even more complicated, although most distros are put together in a way that you can mostly ignore that complexity (until you can't). In the end I went with OpenBSD because I am familiar with it and because I like it.&lt;/li&gt;
&lt;li&gt;Installing OpenBSD on the iMac,1
&amp;gt; Installing OpenBSD on this iMac was simple. It's the same procedure as installing OpenBSD on an amd64 rig. You put in the installation disc; you tell the machine to boot from it; and then you answer a few prompts, most of which simply ask you to press enter. In this case, OpenBSD recognizes all machine's hardware just fine, including sound and networking, though I had a little trouble with video.
&amp;gt; The OpenBSD documentation says video should just work and that an xorg.conf file isn't necessary. As such, it no longer ships with an xorg.conf file. Though that's never posed a problem on my other OpenBSD machines, it does here. Video doesn't work out of the box on my iMac,1. startx just blanks the screen. Fortunately, because the BSDs use a centralized development model where each operating system is stored in one repository, OpenBSD's website provides a web interface to the source code going back to the early days. I was able to find the last version of the sample xorg.conf that used to ship on macppc. With a little tweaking, I transformed that file into &lt;a href="https://www.increasinglyadequate.com/files/xorg.conf" target="_blank" rel="nofollow noopener"&gt;this one&lt;/a&gt;, with which video works just fine. Just drop it into your iMac's /etc/X11 directory. You'll also need to remember to set the machdep.allowaperture sysctl to 2 (e.g., as root run sysctl machdep.allowaperture=2), although the installer will do that automatically if you answer yes to the question about whether you plan to run X.
&amp;gt; All that being said, video performance is pretty poor. I am either doing something wrong, or OpenBSD doesn't have accelerated video for this iMac, or this machine is just really old! I will discuss performance below.&lt;/li&gt;
&lt;li&gt;Running OpenBSD on the iMac,1
&amp;gt; The machine performs okay under OpenBSD. You can expect to ably run minimalistic software under minimalistic window managers. I tried dillo, mrxvt, and cmus under cwm and fvwm. Performance here was just fine. I also tried Firefox 26, 33, and 34 under fvwm and cwm. Firefox ran, but "modern," Javascript-heavy sites were an exercise in frustration; the 2015 version of CNN.com basically froze Firefox for 30 seconds or more. A lighter browser like dillo is doable.
&amp;gt; You'll notice that I used the past-tense to talk about Firefox. Firefox currently doesn't build on PowerPC on OpenBSD. Neither does Chromium. Neither do a fair number of applications. But whatever -- there's still a lot of lighter applications available, and it's these you'll use day-to-day on a decades-old machine.
&amp;gt; Lightweight window managers work okay, as you'd expect. You can even run heavier desktop environments, such as xfce, though you'll give up a lot of performance.
&amp;gt; I ran the Ubench benchmark on this iMac and two more modern machines also running OpenBSD. The benchmark seems like an old one; I don't know how (if at all) it accounts for hardware changes in the past 13 years. That is, I don't know if the difference in score accurately measures the difference in real-world performance. Here are the results anyway:&lt;/li&gt;
&lt;li&gt;Conclusion
&amp;gt; Except for when I check to see if OpenBSD still works, I run Mac OS9 on this rig. I have faster and better machines for running OpenBSD. If I didn't -- if this rig were, improbably, all I had left, and I was waiting on the rush delivery of something modern -- then I would use OpenBSD on my iMac,1. I'd have to stick to lightweight applications, but at least they'd be up-to-date and running on a simple, stable, OS.
***
##News Roundup
###&lt;a href="https://events.ccc.de/congress/2017/Fahrplan/index.html" target="_blank" rel="nofollow noopener"&gt;34th Chaos Communication Congress Schedule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Many talks are &lt;a href="http://streaming.media.ccc.de/34c3" target="_blank" rel="nofollow noopener"&gt;streamed live&lt;/a&gt;, a good mixture of english and german talks&lt;/li&gt;
&lt;li&gt;&lt;a href="https://events.ccc.de/congress/2017/Fahrplan/events/9196.html" target="_blank" rel="nofollow noopener"&gt;May contain DTraces of FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://events.ccc.de/congress/2017/Fahrplan/events/8968.html" target="_blank" rel="nofollow noopener"&gt;Are all BSDs created equally?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://events.ccc.de/congress/2017/Fahrplan/events/8949.html" target="_blank" rel="nofollow noopener"&gt;library operating systems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://events.ccc.de/congress/2017/Fahrplan/events/9249.html" target="_blank" rel="nofollow noopener"&gt;Hardening Open Source Development&lt;/a&gt;
***
###&lt;a href="https://jamesdeagle.blogspot.co.uk/2017/12/openbsd-62-cde.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.2 + CDE&lt;/a&gt;
&amp;gt; If you've noticed a disruption in the time-space continuum recently, it is likely because I have finally been able to compile and install the Common Desktop Environment (CDE) in a current and actively-developed operating system (OpenBSD 6.2 in this case).
&amp;gt; This comes after so many attempts (across multiple platforms) that ended up with the build process prematurely stopping itself in its own tracks for a variety of infinitesimal reasons that were beyond my comprehension as a non-programmer, or when there was success it was not without some broken parts. As for the latter, I've been able to build CDE on OpenIndiana Hipster, but with an end product where I'm unable to change the color scheme in dtstyle (because "useColorObj" is set to "False"), with a default color scheme that is low-res and unpleasant. As for changing "useColorObj" to "True", I tried every recommended trick I could find online, but nothing worked. 
&amp;gt; My recent attempts at installing CDE on OpenBSD (version 6.1) saw the process stop due to a number of errors that are pure gibberish to these naive eyes. While disappointing, it was par for the course within my miserable experience with trying to build this particular desktop environment. As I wrote in this space in November 2015, in the course of explaining part of my imperitive for installing Solaris 10: 
&amp;gt; And so I have come to think of building the recently open-sourced CDE as being akin to a coffee mug I saw many years ago. One side of the mug read "Turn the mug to see how to keep an idiot busy." On the other side, it read "Turn the mug to see how to keep an idiot busy." I'm through feeling like an idiot, which is partially why I'm on this one-week journey with Solaris 10.
&amp;gt; While I thoroughly enjoyed running Solaris 10 on my ThinkPad T61p, and felt a devilish thrill at using it out in the open at my local MacBook- and iPhone-infested Starbucks and causing general befuddlement and consternation among the occasional prying yoga mom, I never felt like I could do much with it beyond explore the SunOS 5.10 command line and watch YouTube videos. While still supported by its current corporate owner (whose name I don't even want to type), it is no longer actively developed and is thus little more than a retro toy. I hated the idea of installing anything else over it, but productivity beckoned and it was time to tearfully and reluctantly drag myself off the dance floor.
&amp;gt; In any case, just last week I noticed that the Sourceforge page for the OpenBSD build had some 6.2-specific notes by way of a series of four patches, and so I decided 'what the heck, let's give this puppy another whirl'. After an initial abortive attempt at a build, I surmised that I hadn't applied the four patches correctly. A day or two later, I took a deep breath and tried again, this time resolving to not proceed with the time make World build command until I could see some sign of a successful patch process. (This time around, I downloaded the patches and moved them into the directory containing the CDE makefiles, and issued each patch command as patch  Once I had the thing up and running, and with a mind bursting with fruit flavor, I started messing about. The first order of business was to create a custom color scheme modelled after the default color scheme in UnixWare. (Despite any baggage that system carries from its previous ownership under SCO, I adored the aesthetics of UnixWare 7.1.4 two years ago when I installed the free one month trial version on my ThinkPad. For reasons that escape me now, I named my newly-created color scheme in honor of UnixWare 7.1.3.)
&amp;gt; Like a proud papa, I immediately tweeted the above screenshot and risked irritating a Linux kid or two in the process, given SCO's anti-climatic anti-Linux patent trolling from way back when. (I'm not out to irritate penguinistas, I just sure like this color scheme.)&lt;/li&gt;
&lt;li&gt;Final Thoughts
&amp;gt; It may look a little clunky at first, and may be a little bling-challenged, but the more I use CDE and adapt to it, the more it feels like an extension of my brain. Perhaps this is because it has a lot zip and behaves in a consistent and coherent manner. (I don't want to go too much further down that road here, as OSnews's Thom Holwerda already gave a good rundown about ten years ago.)
&amp;gt; Now that I have succesfully paired my absolute favorite operating system with a desktop environment that has exerted an intense gravitational hold on me for many, many years, I don't anticipate distrohopping any time soon. And as I attain a more advanced knowledge of CDE, I'll be chronicling any new discoveries here for the sake of anyone following me from behind as I feel my way around this darkened room.
***
###&lt;a href="https://www.mail-archive.com/svn-src-all@freebsd.org/msg154719.html" target="_blank" rel="nofollow noopener"&gt;devmatch(8) added to FreeBSD HEAD&lt;/a&gt;
```
Log:
Match unattached devices on the system to potential kernel modules.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;devmatch(8) matchs up devices in the system device tree with drivers&lt;br&gt;
  that may match them. For each unattached device in the system, it&lt;br&gt;
  tries to find matching PNP info in the linker hints and prints modules&lt;br&gt;
  to load to claim the devices.&lt;/p&gt;

&lt;p&gt;In --unbound mode, devmatch can look for drivers that have attached to&lt;br&gt;
  devices in the device tree and have plug and play information, but for&lt;br&gt;
  which no PNP info exists. This helps find drivers that haven't been&lt;br&gt;
  converted yet that are in use on this system.&lt;/p&gt;

&lt;p&gt;In addition, the ability to dump out linker.hints is provided.&lt;/p&gt;

&lt;p&gt;Future commits will add hooks to devd.conf and rc.d to fully automate&lt;br&gt;
  using this information.&lt;br&gt;
Added:&lt;br&gt;
  head/usr.sbin/devmatch/&lt;br&gt;
  head/usr.sbin/devmatch/Makefile   (contents, props changed)&lt;br&gt;
  head/usr.sbin/devmatch/devmatch.8   (contents, props changed)&lt;br&gt;
  head/usr.sbin/devmatch/devmatch.c   (contents, props changed)&lt;br&gt;
Modified:&lt;br&gt;
  head/usr.sbin/Makefile&lt;br&gt;
Modified: head/usr.sbin/Makefile&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;+ Oh, you naughty committers: :-) https://www.mail-archive.com/svn-src-all@freebsd.org/msg154720.html
***
##Beastie Bits
+ [New FreeBSD Journal issue: Monitoring and Metrics](https://www.freebsdfoundation.org/journal/)
+ [OpenBSD Engine Mix available on GOG.com](https://www.gog.com/mix/openbsd_engine_available)
+ [OpenBSD Foundation reached their 2017 fundraising goal](http://www.openbsdfoundation.org/campaign2017.html)
+ [TrueOS 17.12 Review – An Easy BSD](https://www.youtube.com/watch?v=nKr1GCsV-gA)
+ [LibreSSL 2.6.4 Released](https://bsdsec.net/articles/libressl-2-6-4-released-fixed)
***
##Feedback/Questions
+ Mike - [BSD 217 &amp;amp; Winning over Linux Users](http://dpaste.com/3AB7J4P#wrap)
+ JLR - [Boot Environments Broken?](http://dpaste.com/2K0ZDH9#wrap)
+ Kevr - [ZFS question and suggestion](http://dpaste.com/04MXA5P#wrap)
+ Ivan - [FreeBSD read cache - ZFS](http://dpaste.com/1P9ETGQ#wrap)
*** 
&lt;/code&gt;&lt;/pre&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We read the FreeBSD Q3 status report, explore good and bad syscalls, list GOG Games for OpenBSD, and show you what devmatch can do.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2017-December/001818.html" target="_blank" rel="nofollow noopener">FreeBSD Q3 Status Report 2017</a></h3>

<ul>
<li>FreeBSD Team Reports

<ul>
<li>FreeBSD Release Engineering Team</li>
<li>Ports Collection</li>
<li>The FreeBSD Core Team</li>
<li>The FreeBSD Foundation</li>
</ul></li>
<li>Projects

<ul>
<li>FreeBSD CI</li>
</ul></li>
<li>Kernel

<ul>
<li>Intel 10G iflib Driver Update</li>
<li>Intel iWARP Support</li>
<li>pNFS Server Plan B</li>
</ul></li>
<li>Architectures

<ul>
<li>AMD Zen (family 17h) support</li>
</ul></li>
<li>Userland Programs

<ul>
<li>Updates to GDB</li>
</ul></li>
<li>Ports

<ul>
<li>FreeBSDDesktop</li>
<li>OpenJFX 8</li>
<li>Puppet</li>
</ul></li>
<li>Documentation

<ul>
<li>Absolute FreeBSD, 3rd Edition</li>
<li>Manual Pages</li>
</ul></li>
<li>Third-Party Projects

<ul>
<li>The nosh Project
####<a href="https://www.freebsdfoundation.org/wp-content/uploads/2017/12/FreeBSD-Foundation-Q4-Update.pdf" target="_blank" rel="nofollow noopener">FreeBSD Foundation Q4 Update</a>
***
###<a href="https://www.cloudatomiclab.com/prosyscall/" target="_blank" rel="nofollow noopener">11 syscalls that rock the world</a></li>
</ul></li>
<li>0. read
&gt; You cannot go wrong with a read. You can barely EFAULT it! On Linux amd64 it is syscall zero. If all its arguments are zero it returns zero. Cool!</li>
<li>1. pipe
&gt; The society for the preservation of historic calling conventions is very fond of pipe, as in many operating systems and architectures it preserves the fun feature of returning both of the file descriptors as return values. At least Linux MIPS does, and NetBSD does even on x86 and amd64. Multiple return values are making a comeback in languages like Lua and Go, but C has always had a bit of a funny thing about them, but they have long been supported in many calling conventions, so let us use them in syscalls! Well, one syscall.</li>
<li>2. kqueue
&gt; When the world went all C10K on our ass, and scaleable polling was a thing, Linux went epoll, the BSDs went kqueue and Solaris went /dev/poll. The nicest interface was kqueue, while epoll is some mix of edge and level triggered semantics and design errors so bugs are still being found.</li>
<li>3. unshare
&gt; Sounds like a selfish syscall, but this generous syscall call is the basis of Linux namespaces, allowing a process to isolate its resources. Containers are built from unshares.</li>
<li>4. setns
&gt; If you liked unshare, its younger but cooler friend takes file descriptors for namespaces. Pass it down a unix socket to another process, or stash it for later, and do that namespace switching. All the best system calls take file descriptors.</li>
<li>5. execveat
&gt; Despite its somewhat confusing name (FreeBSD has the saner fexecve, but other BSDs do not have support last time I checked), this syscall finally lets you execute a program just given a file descriptor for the file. I say finally, as Linux only implemented this in 3.19, which means it is hard to rely on it (yeah, stop using those stupid old kernels folks). Before that Glibc had a terrible userspace implementation that is basically useless. Perfect for creating sandboxes, as you can sandbox a program into a filesystem with nothing at all in, or with a totally controlled tree, by opening the file to execute before chroot or changing the namespace.</li>
<li>6. pdfork
&gt; Too cool for Linux, you have to head out to FreeBSD for this one. Like fork, but you get a file descriptor for the process not a pid. Then you can throw it in the kqueue or send it to another process. Once you have tried process descriptors you will never go back.</li>
<li>7. signalfd
&gt; You might detect a theme here, but if you have ever written traditional 1980s style signal handlers you know how much they suck. How about turning your signals into messages that you can read on, you guessed it, file descriptors. Like, usable.</li>
<li>8. wstat
&gt; This one is from Plan 9. It does the opposite of stat and writes the same structure. Simples. Avoids having chmod, chown, rename, utime and so on, by the simple expedient of making the syscall symmetric. Why not?</li>
<li>9. clonefile
&gt; The only cool syscall on OSX, and only supported on the new APFS filesystem. Copies whole files or directories on a single syscall using copy on write for all the data. Look on my works, copy_file_range and despair.</li>
<li>10. pledge
&gt; The little sandbox that worked. OpenBSD only here, they managed to make a simple sandbox that was practical for real programs, like the base OpenBSD system. Capsicum form FreeBSD (and promised for Linux for years but no sign) is a lovely design, and gave us pdfork, but its still kind of difficult and intrusive to implement. Linux has, well, seccomp, LSMs, and still nothing that usable for the average program.
###<a href="https://www.cloudatomiclab.com/antisyscall/" target="_blank" rel="nofollow noopener">Eleven syscalls that suck</a></li>
<li>0. ioctl
&gt; It can‘t decide if it‘s arguments are integers, strings, or some struct that is lost in the midst of time. Make up your mind! Plan 9 was invented to get rid of this.</li>
<li>1. fcntl
&gt; Just like ioctl but for some different miscellaneous operations, because one miscelleny is not enough.</li>
<li>2. tuxcall
&gt; Linux put a web server in the kernel! To win a benchmark contest with Microsoft! It had it‘s own syscall! My enum tux_reactions are YUK! Don‘t worry though, it was a distro patch (thanks Red Hat!) and never made it upstream, so only the man page and reserved number survive to taunt you and remind you that the path of the righteous is beset by premature optmization!</li>
<li>3. io_setup
&gt; The Linux asynchronous IO syscalls are almost entirely useless! Almost nothing works! You have to use O_DIRECT for a start. And then they still barely work! They have one use, benchmarking SSDs, to show what speed you could get if only there was a usable API. Want async IO in kernel? Use Windows!</li>
<li>4. stat, and its friends and relatives
&gt; Yes this one is useful, but can you find the data structure it uses? We have oldstat, oldfstat, ustat, oldlstat, statfs, fstatfs, stat, lstat, fstat, stat64, lstat64, fstat64, statfs64, fstatfs64, fstatat64 for stating files and links and filesystems in Linux. A new bunch will be along soon for Y2038. Simplify your life, use a BSD, where they cleaned up the mess as they did the cooking! Linux on 32 bit platforms is just sucky in comparison, and will get worse. And don’t even look at MIPS, where the padding is wrong.</li>
<li>5. Linux on MIPS
&gt; Not a syscall, a whole implemntation of the Linux ABI. Unlike the lovely clean BSDs, Linux is different on each architecture, system calls randomly take arguments in different orders, and constants have different values, and there are special syscalls. But MIPS takes the biscuit, the whole packet of biscuits. It was made to be binary compatible with old SGI machines that don’t even exist, and has more syscall ABIs than I have had hot dinners. Clean it up! Make a new sane MIPS ABI and deprecate the old ones, nothing like adding another variant. So annoying I think I threw out all my MIPS machines, each different.</li>
<li>6. inotify, fanotify and friends
&gt; Linux has no fewer than three file system change notification protocols. The first, dnotify hopped on ioctl‘s sidekick fcntl, while the two later ones, inotify and fanotify added a bunch more syscalls. You can use any of them, and they still will not provide the notification API you want for most applications. Most people use the second one, inotify and curse it. Did you know kqueue can do this on the BSDs?</li>
<li>7. personality
&gt; Oozing in personality, but we just don’t get along. Basically obsolete, as the kernel can decide what kind of system emulation to do from binaries directly, it stays around with some use cases in persuading ./configure it is running on a 32 bit system. But it can turn off ASLR, and let the CVEs right into your system. We need less persoanlity!</li>
<li>8. gettimeofday
&gt; Still has an obsolete timezone value from an old times when people thought timezones should go all the way to the kernel. Now we know that your computer should not know. Set its clock to UTC. Do the timezones in the UI based on where the user is, not the computer. You should use clock_gettime now. Don’t even talk to me about locales. This syscall is fast though, don’t use it for benchmarking, its in the VDSO.</li>
<li>9. splice and tee
&gt; These, back in 2005 were a quite nice idea, although Linux said then “it is incomplete, the interfaces are ugly, and it will oops the system if anything goes wrong”. It won’t oops your system now, but usage has not taken off. The nice idea from Linus was that a pipe is just a ring buffer in the kernel, that can have a more general API and use cases for performant code, but a decade on it hasn’t really worked out. It was also supposed to be a more general sendfile, which in many ways was the successor of that Tux web server, but I think sendfile is still more widely used.</li>
<li>10. userfaultfd
&gt; Yes, I like file descriptors. Yes CRIU is kind of cool. But userspace handling page faults? Is nothing sacred? I get that you can do this badly with a SIGSEGV handler, but talk about lipstick on a pig.
***
###<a href="http://www.increasinglyadequate.com/macppc.html" target="_blank" rel="nofollow noopener">OpenBSD 6.0 on an iMac G3 from 1999</a>
&gt; A while ago I spent $50 for an iMac G3 (aka the iMac,1). This iconic model restored Apple's fortunes in the late '90s. Since the iMac G3 can still boot Mac OSes 8 and 9, I mostly use the machine to indulge a nostalgia for childhood schooldays spent poking at the operating system and playing Escape Velocity. But before I got around to that, I decided to try out the software that the previous owner had left on the machine. The antiquated OSX 10.2 install and 12 year old versions of Safari and Internet Explorer were too slow and old to use for anything. Updating to newer software was almost impossible; a later OSX is required to run the little PowerPC-compatible software still languishing in forgotten corners of the Internet. This got me thinking: could this machine be used, really used, nowadays? Lacking a newer OSX disc, I decided to try the most recent OpenBSD release. (And, since then, to re-try with each new OpenBSD release.) Below are the results of this experiment (plus a working xorg.conf file) and a few background notes.</li>
<li>Background
&gt; This iMac is a Revision D iMac G3 in grape. It's part of the iMac,1 family of computers. This family includes all tray-loading iMac G3s. (Later iMac G3s had a slot-loading CD drive and different components.) Save for a slightly faster processor, a dedicated graphics card, and cosmetic tweaks to the case, my iMac is identical to the prior year's line-launching Bondi Blue iMac. My machine has had its memory upgraded from 32 MB to 320 MB. Thank Goodness.
&gt; The Revision D iMac G3 shipped with Mac OS 8.5. It can run up to Mac OS 9.2.2 or OSX 10.3.9. Other operating systems that tout support for the iMac,1 include NetBSD, OpenBSD, and a shrinking number of Linux distributions.
&gt; OpenBSD is simple (by design) and well-maintained. In contrast, NetBSD seems rather more complex and featureful, and I have heard grumbling that despite its reputation for portability, NetBSD really only works well on amd64. I'd test that assertion if OpenBSD's macppc installation instructions didn't seem much simpler than NetBSD's. Linux is even more complicated, although most distros are put together in a way that you can mostly ignore that complexity (until you can't). In the end I went with OpenBSD because I am familiar with it and because I like it.</li>
<li>Installing OpenBSD on the iMac,1
&gt; Installing OpenBSD on this iMac was simple. It's the same procedure as installing OpenBSD on an amd64 rig. You put in the installation disc; you tell the machine to boot from it; and then you answer a few prompts, most of which simply ask you to press enter. In this case, OpenBSD recognizes all machine's hardware just fine, including sound and networking, though I had a little trouble with video.
&gt; The OpenBSD documentation says video should just work and that an xorg.conf file isn't necessary. As such, it no longer ships with an xorg.conf file. Though that's never posed a problem on my other OpenBSD machines, it does here. Video doesn't work out of the box on my iMac,1. startx just blanks the screen. Fortunately, because the BSDs use a centralized development model where each operating system is stored in one repository, OpenBSD's website provides a web interface to the source code going back to the early days. I was able to find the last version of the sample xorg.conf that used to ship on macppc. With a little tweaking, I transformed that file into <a href="https://www.increasinglyadequate.com/files/xorg.conf" target="_blank" rel="nofollow noopener">this one</a>, with which video works just fine. Just drop it into your iMac's /etc/X11 directory. You'll also need to remember to set the machdep.allowaperture sysctl to 2 (e.g., as root run sysctl machdep.allowaperture=2), although the installer will do that automatically if you answer yes to the question about whether you plan to run X.
&gt; All that being said, video performance is pretty poor. I am either doing something wrong, or OpenBSD doesn't have accelerated video for this iMac, or this machine is just really old! I will discuss performance below.</li>
<li>Running OpenBSD on the iMac,1
&gt; The machine performs okay under OpenBSD. You can expect to ably run minimalistic software under minimalistic window managers. I tried dillo, mrxvt, and cmus under cwm and fvwm. Performance here was just fine. I also tried Firefox 26, 33, and 34 under fvwm and cwm. Firefox ran, but "modern," Javascript-heavy sites were an exercise in frustration; the 2015 version of CNN.com basically froze Firefox for 30 seconds or more. A lighter browser like dillo is doable.
&gt; You'll notice that I used the past-tense to talk about Firefox. Firefox currently doesn't build on PowerPC on OpenBSD. Neither does Chromium. Neither do a fair number of applications. But whatever -- there's still a lot of lighter applications available, and it's these you'll use day-to-day on a decades-old machine.
&gt; Lightweight window managers work okay, as you'd expect. You can even run heavier desktop environments, such as xfce, though you'll give up a lot of performance.
&gt; I ran the Ubench benchmark on this iMac and two more modern machines also running OpenBSD. The benchmark seems like an old one; I don't know how (if at all) it accounts for hardware changes in the past 13 years. That is, I don't know if the difference in score accurately measures the difference in real-world performance. Here are the results anyway:</li>
<li>Conclusion
&gt; Except for when I check to see if OpenBSD still works, I run Mac OS9 on this rig. I have faster and better machines for running OpenBSD. If I didn't -- if this rig were, improbably, all I had left, and I was waiting on the rush delivery of something modern -- then I would use OpenBSD on my iMac,1. I'd have to stick to lightweight applications, but at least they'd be up-to-date and running on a simple, stable, OS.
***
##News Roundup
###<a href="https://events.ccc.de/congress/2017/Fahrplan/index.html" target="_blank" rel="nofollow noopener">34th Chaos Communication Congress Schedule</a></li>
<li>Many talks are <a href="http://streaming.media.ccc.de/34c3" target="_blank" rel="nofollow noopener">streamed live</a>, a good mixture of english and german talks</li>
<li><a href="https://events.ccc.de/congress/2017/Fahrplan/events/9196.html" target="_blank" rel="nofollow noopener">May contain DTraces of FreeBSD</a></li>
<li><a href="https://events.ccc.de/congress/2017/Fahrplan/events/8968.html" target="_blank" rel="nofollow noopener">Are all BSDs created equally?</a></li>
<li><a href="https://events.ccc.de/congress/2017/Fahrplan/events/8949.html" target="_blank" rel="nofollow noopener">library operating systems</a></li>
<li><a href="https://events.ccc.de/congress/2017/Fahrplan/events/9249.html" target="_blank" rel="nofollow noopener">Hardening Open Source Development</a>
***
###<a href="https://jamesdeagle.blogspot.co.uk/2017/12/openbsd-62-cde.html" target="_blank" rel="nofollow noopener">OpenBSD 6.2 + CDE</a>
&gt; If you've noticed a disruption in the time-space continuum recently, it is likely because I have finally been able to compile and install the Common Desktop Environment (CDE) in a current and actively-developed operating system (OpenBSD 6.2 in this case).
&gt; This comes after so many attempts (across multiple platforms) that ended up with the build process prematurely stopping itself in its own tracks for a variety of infinitesimal reasons that were beyond my comprehension as a non-programmer, or when there was success it was not without some broken parts. As for the latter, I've been able to build CDE on OpenIndiana Hipster, but with an end product where I'm unable to change the color scheme in dtstyle (because "useColorObj" is set to "False"), with a default color scheme that is low-res and unpleasant. As for changing "useColorObj" to "True", I tried every recommended trick I could find online, but nothing worked. 
&gt; My recent attempts at installing CDE on OpenBSD (version 6.1) saw the process stop due to a number of errors that are pure gibberish to these naive eyes. While disappointing, it was par for the course within my miserable experience with trying to build this particular desktop environment. As I wrote in this space in November 2015, in the course of explaining part of my imperitive for installing Solaris 10: 
&gt; And so I have come to think of building the recently open-sourced CDE as being akin to a coffee mug I saw many years ago. One side of the mug read "Turn the mug to see how to keep an idiot busy." On the other side, it read "Turn the mug to see how to keep an idiot busy." I'm through feeling like an idiot, which is partially why I'm on this one-week journey with Solaris 10.
&gt; While I thoroughly enjoyed running Solaris 10 on my ThinkPad T61p, and felt a devilish thrill at using it out in the open at my local MacBook- and iPhone-infested Starbucks and causing general befuddlement and consternation among the occasional prying yoga mom, I never felt like I could do much with it beyond explore the SunOS 5.10 command line and watch YouTube videos. While still supported by its current corporate owner (whose name I don't even want to type), it is no longer actively developed and is thus little more than a retro toy. I hated the idea of installing anything else over it, but productivity beckoned and it was time to tearfully and reluctantly drag myself off the dance floor.
&gt; In any case, just last week I noticed that the Sourceforge page for the OpenBSD build had some 6.2-specific notes by way of a series of four patches, and so I decided 'what the heck, let's give this puppy another whirl'. After an initial abortive attempt at a build, I surmised that I hadn't applied the four patches correctly. A day or two later, I took a deep breath and tried again, this time resolving to not proceed with the time make World build command until I could see some sign of a successful patch process. (This time around, I downloaded the patches and moved them into the directory containing the CDE makefiles, and issued each patch command as patch  Once I had the thing up and running, and with a mind bursting with fruit flavor, I started messing about. The first order of business was to create a custom color scheme modelled after the default color scheme in UnixWare. (Despite any baggage that system carries from its previous ownership under SCO, I adored the aesthetics of UnixWare 7.1.4 two years ago when I installed the free one month trial version on my ThinkPad. For reasons that escape me now, I named my newly-created color scheme in honor of UnixWare 7.1.3.)
&gt; Like a proud papa, I immediately tweeted the above screenshot and risked irritating a Linux kid or two in the process, given SCO's anti-climatic anti-Linux patent trolling from way back when. (I'm not out to irritate penguinistas, I just sure like this color scheme.)</li>
<li>Final Thoughts
&gt; It may look a little clunky at first, and may be a little bling-challenged, but the more I use CDE and adapt to it, the more it feels like an extension of my brain. Perhaps this is because it has a lot zip and behaves in a consistent and coherent manner. (I don't want to go too much further down that road here, as OSnews's Thom Holwerda already gave a good rundown about ten years ago.)
&gt; Now that I have succesfully paired my absolute favorite operating system with a desktop environment that has exerted an intense gravitational hold on me for many, many years, I don't anticipate distrohopping any time soon. And as I attain a more advanced knowledge of CDE, I'll be chronicling any new discoveries here for the sake of anyone following me from behind as I feel my way around this darkened room.
***
###<a href="https://www.mail-archive.com/svn-src-all@freebsd.org/msg154719.html" target="_blank" rel="nofollow noopener">devmatch(8) added to FreeBSD HEAD</a>
```
Log:
Match unattached devices on the system to potential kernel modules.</li>
</ul>

<p>devmatch(8) matchs up devices in the system device tree with drivers<br>
  that may match them. For each unattached device in the system, it<br>
  tries to find matching PNP info in the linker hints and prints modules<br>
  to load to claim the devices.</p>

<p>In --unbound mode, devmatch can look for drivers that have attached to<br>
  devices in the device tree and have plug and play information, but for<br>
  which no PNP info exists. This helps find drivers that haven't been<br>
  converted yet that are in use on this system.</p>

<p>In addition, the ability to dump out linker.hints is provided.</p>

<p>Future commits will add hooks to devd.conf and rc.d to fully automate<br>
  using this information.<br>
Added:<br>
  head/usr.sbin/devmatch/<br>
  head/usr.sbin/devmatch/Makefile   (contents, props changed)<br>
  head/usr.sbin/devmatch/devmatch.8   (contents, props changed)<br>
  head/usr.sbin/devmatch/devmatch.c   (contents, props changed)<br>
Modified:<br>
  head/usr.sbin/Makefile<br>
Modified: head/usr.sbin/Makefile</p>

<pre><code>+ Oh, you naughty committers: :-) https://www.mail-archive.com/svn-src-all@freebsd.org/msg154720.html
***
##Beastie Bits
+ [New FreeBSD Journal issue: Monitoring and Metrics](https://www.freebsdfoundation.org/journal/)
+ [OpenBSD Engine Mix available on GOG.com](https://www.gog.com/mix/openbsd_engine_available)
+ [OpenBSD Foundation reached their 2017 fundraising goal](http://www.openbsdfoundation.org/campaign2017.html)
+ [TrueOS 17.12 Review – An Easy BSD](https://www.youtube.com/watch?v=nKr1GCsV-gA)
+ [LibreSSL 2.6.4 Released](https://bsdsec.net/articles/libressl-2-6-4-released-fixed)
***
##Feedback/Questions
+ Mike - [BSD 217 &amp; Winning over Linux Users](http://dpaste.com/3AB7J4P#wrap)
+ JLR - [Boot Environments Broken?](http://dpaste.com/2K0ZDH9#wrap)
+ Kevr - [ZFS question and suggestion](http://dpaste.com/04MXA5P#wrap)
+ Ivan - [FreeBSD read cache - ZFS](http://dpaste.com/1P9ETGQ#wrap)
***
</code></pre>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We read the FreeBSD Q3 status report, explore good and bad syscalls, list GOG Games for OpenBSD, and show you what devmatch can do.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-announce/2017-December/001818.html" target="_blank" rel="nofollow noopener">FreeBSD Q3 Status Report 2017</a></h3>

<ul>
<li>FreeBSD Team Reports

<ul>
<li>FreeBSD Release Engineering Team</li>
<li>Ports Collection</li>
<li>The FreeBSD Core Team</li>
<li>The FreeBSD Foundation</li>
</ul></li>
<li>Projects

<ul>
<li>FreeBSD CI</li>
</ul></li>
<li>Kernel

<ul>
<li>Intel 10G iflib Driver Update</li>
<li>Intel iWARP Support</li>
<li>pNFS Server Plan B</li>
</ul></li>
<li>Architectures

<ul>
<li>AMD Zen (family 17h) support</li>
</ul></li>
<li>Userland Programs

<ul>
<li>Updates to GDB</li>
</ul></li>
<li>Ports

<ul>
<li>FreeBSDDesktop</li>
<li>OpenJFX 8</li>
<li>Puppet</li>
</ul></li>
<li>Documentation

<ul>
<li>Absolute FreeBSD, 3rd Edition</li>
<li>Manual Pages</li>
</ul></li>
<li>Third-Party Projects

<ul>
<li>The nosh Project
####<a href="https://www.freebsdfoundation.org/wp-content/uploads/2017/12/FreeBSD-Foundation-Q4-Update.pdf" target="_blank" rel="nofollow noopener">FreeBSD Foundation Q4 Update</a>
***
###<a href="https://www.cloudatomiclab.com/prosyscall/" target="_blank" rel="nofollow noopener">11 syscalls that rock the world</a></li>
</ul></li>
<li>0. read
&gt; You cannot go wrong with a read. You can barely EFAULT it! On Linux amd64 it is syscall zero. If all its arguments are zero it returns zero. Cool!</li>
<li>1. pipe
&gt; The society for the preservation of historic calling conventions is very fond of pipe, as in many operating systems and architectures it preserves the fun feature of returning both of the file descriptors as return values. At least Linux MIPS does, and NetBSD does even on x86 and amd64. Multiple return values are making a comeback in languages like Lua and Go, but C has always had a bit of a funny thing about them, but they have long been supported in many calling conventions, so let us use them in syscalls! Well, one syscall.</li>
<li>2. kqueue
&gt; When the world went all C10K on our ass, and scaleable polling was a thing, Linux went epoll, the BSDs went kqueue and Solaris went /dev/poll. The nicest interface was kqueue, while epoll is some mix of edge and level triggered semantics and design errors so bugs are still being found.</li>
<li>3. unshare
&gt; Sounds like a selfish syscall, but this generous syscall call is the basis of Linux namespaces, allowing a process to isolate its resources. Containers are built from unshares.</li>
<li>4. setns
&gt; If you liked unshare, its younger but cooler friend takes file descriptors for namespaces. Pass it down a unix socket to another process, or stash it for later, and do that namespace switching. All the best system calls take file descriptors.</li>
<li>5. execveat
&gt; Despite its somewhat confusing name (FreeBSD has the saner fexecve, but other BSDs do not have support last time I checked), this syscall finally lets you execute a program just given a file descriptor for the file. I say finally, as Linux only implemented this in 3.19, which means it is hard to rely on it (yeah, stop using those stupid old kernels folks). Before that Glibc had a terrible userspace implementation that is basically useless. Perfect for creating sandboxes, as you can sandbox a program into a filesystem with nothing at all in, or with a totally controlled tree, by opening the file to execute before chroot or changing the namespace.</li>
<li>6. pdfork
&gt; Too cool for Linux, you have to head out to FreeBSD for this one. Like fork, but you get a file descriptor for the process not a pid. Then you can throw it in the kqueue or send it to another process. Once you have tried process descriptors you will never go back.</li>
<li>7. signalfd
&gt; You might detect a theme here, but if you have ever written traditional 1980s style signal handlers you know how much they suck. How about turning your signals into messages that you can read on, you guessed it, file descriptors. Like, usable.</li>
<li>8. wstat
&gt; This one is from Plan 9. It does the opposite of stat and writes the same structure. Simples. Avoids having chmod, chown, rename, utime and so on, by the simple expedient of making the syscall symmetric. Why not?</li>
<li>9. clonefile
&gt; The only cool syscall on OSX, and only supported on the new APFS filesystem. Copies whole files or directories on a single syscall using copy on write for all the data. Look on my works, copy_file_range and despair.</li>
<li>10. pledge
&gt; The little sandbox that worked. OpenBSD only here, they managed to make a simple sandbox that was practical for real programs, like the base OpenBSD system. Capsicum form FreeBSD (and promised for Linux for years but no sign) is a lovely design, and gave us pdfork, but its still kind of difficult and intrusive to implement. Linux has, well, seccomp, LSMs, and still nothing that usable for the average program.
###<a href="https://www.cloudatomiclab.com/antisyscall/" target="_blank" rel="nofollow noopener">Eleven syscalls that suck</a></li>
<li>0. ioctl
&gt; It can‘t decide if it‘s arguments are integers, strings, or some struct that is lost in the midst of time. Make up your mind! Plan 9 was invented to get rid of this.</li>
<li>1. fcntl
&gt; Just like ioctl but for some different miscellaneous operations, because one miscelleny is not enough.</li>
<li>2. tuxcall
&gt; Linux put a web server in the kernel! To win a benchmark contest with Microsoft! It had it‘s own syscall! My enum tux_reactions are YUK! Don‘t worry though, it was a distro patch (thanks Red Hat!) and never made it upstream, so only the man page and reserved number survive to taunt you and remind you that the path of the righteous is beset by premature optmization!</li>
<li>3. io_setup
&gt; The Linux asynchronous IO syscalls are almost entirely useless! Almost nothing works! You have to use O_DIRECT for a start. And then they still barely work! They have one use, benchmarking SSDs, to show what speed you could get if only there was a usable API. Want async IO in kernel? Use Windows!</li>
<li>4. stat, and its friends and relatives
&gt; Yes this one is useful, but can you find the data structure it uses? We have oldstat, oldfstat, ustat, oldlstat, statfs, fstatfs, stat, lstat, fstat, stat64, lstat64, fstat64, statfs64, fstatfs64, fstatat64 for stating files and links and filesystems in Linux. A new bunch will be along soon for Y2038. Simplify your life, use a BSD, where they cleaned up the mess as they did the cooking! Linux on 32 bit platforms is just sucky in comparison, and will get worse. And don’t even look at MIPS, where the padding is wrong.</li>
<li>5. Linux on MIPS
&gt; Not a syscall, a whole implemntation of the Linux ABI. Unlike the lovely clean BSDs, Linux is different on each architecture, system calls randomly take arguments in different orders, and constants have different values, and there are special syscalls. But MIPS takes the biscuit, the whole packet of biscuits. It was made to be binary compatible with old SGI machines that don’t even exist, and has more syscall ABIs than I have had hot dinners. Clean it up! Make a new sane MIPS ABI and deprecate the old ones, nothing like adding another variant. So annoying I think I threw out all my MIPS machines, each different.</li>
<li>6. inotify, fanotify and friends
&gt; Linux has no fewer than three file system change notification protocols. The first, dnotify hopped on ioctl‘s sidekick fcntl, while the two later ones, inotify and fanotify added a bunch more syscalls. You can use any of them, and they still will not provide the notification API you want for most applications. Most people use the second one, inotify and curse it. Did you know kqueue can do this on the BSDs?</li>
<li>7. personality
&gt; Oozing in personality, but we just don’t get along. Basically obsolete, as the kernel can decide what kind of system emulation to do from binaries directly, it stays around with some use cases in persuading ./configure it is running on a 32 bit system. But it can turn off ASLR, and let the CVEs right into your system. We need less persoanlity!</li>
<li>8. gettimeofday
&gt; Still has an obsolete timezone value from an old times when people thought timezones should go all the way to the kernel. Now we know that your computer should not know. Set its clock to UTC. Do the timezones in the UI based on where the user is, not the computer. You should use clock_gettime now. Don’t even talk to me about locales. This syscall is fast though, don’t use it for benchmarking, its in the VDSO.</li>
<li>9. splice and tee
&gt; These, back in 2005 were a quite nice idea, although Linux said then “it is incomplete, the interfaces are ugly, and it will oops the system if anything goes wrong”. It won’t oops your system now, but usage has not taken off. The nice idea from Linus was that a pipe is just a ring buffer in the kernel, that can have a more general API and use cases for performant code, but a decade on it hasn’t really worked out. It was also supposed to be a more general sendfile, which in many ways was the successor of that Tux web server, but I think sendfile is still more widely used.</li>
<li>10. userfaultfd
&gt; Yes, I like file descriptors. Yes CRIU is kind of cool. But userspace handling page faults? Is nothing sacred? I get that you can do this badly with a SIGSEGV handler, but talk about lipstick on a pig.
***
###<a href="http://www.increasinglyadequate.com/macppc.html" target="_blank" rel="nofollow noopener">OpenBSD 6.0 on an iMac G3 from 1999</a>
&gt; A while ago I spent $50 for an iMac G3 (aka the iMac,1). This iconic model restored Apple's fortunes in the late '90s. Since the iMac G3 can still boot Mac OSes 8 and 9, I mostly use the machine to indulge a nostalgia for childhood schooldays spent poking at the operating system and playing Escape Velocity. But before I got around to that, I decided to try out the software that the previous owner had left on the machine. The antiquated OSX 10.2 install and 12 year old versions of Safari and Internet Explorer were too slow and old to use for anything. Updating to newer software was almost impossible; a later OSX is required to run the little PowerPC-compatible software still languishing in forgotten corners of the Internet. This got me thinking: could this machine be used, really used, nowadays? Lacking a newer OSX disc, I decided to try the most recent OpenBSD release. (And, since then, to re-try with each new OpenBSD release.) Below are the results of this experiment (plus a working xorg.conf file) and a few background notes.</li>
<li>Background
&gt; This iMac is a Revision D iMac G3 in grape. It's part of the iMac,1 family of computers. This family includes all tray-loading iMac G3s. (Later iMac G3s had a slot-loading CD drive and different components.) Save for a slightly faster processor, a dedicated graphics card, and cosmetic tweaks to the case, my iMac is identical to the prior year's line-launching Bondi Blue iMac. My machine has had its memory upgraded from 32 MB to 320 MB. Thank Goodness.
&gt; The Revision D iMac G3 shipped with Mac OS 8.5. It can run up to Mac OS 9.2.2 or OSX 10.3.9. Other operating systems that tout support for the iMac,1 include NetBSD, OpenBSD, and a shrinking number of Linux distributions.
&gt; OpenBSD is simple (by design) and well-maintained. In contrast, NetBSD seems rather more complex and featureful, and I have heard grumbling that despite its reputation for portability, NetBSD really only works well on amd64. I'd test that assertion if OpenBSD's macppc installation instructions didn't seem much simpler than NetBSD's. Linux is even more complicated, although most distros are put together in a way that you can mostly ignore that complexity (until you can't). In the end I went with OpenBSD because I am familiar with it and because I like it.</li>
<li>Installing OpenBSD on the iMac,1
&gt; Installing OpenBSD on this iMac was simple. It's the same procedure as installing OpenBSD on an amd64 rig. You put in the installation disc; you tell the machine to boot from it; and then you answer a few prompts, most of which simply ask you to press enter. In this case, OpenBSD recognizes all machine's hardware just fine, including sound and networking, though I had a little trouble with video.
&gt; The OpenBSD documentation says video should just work and that an xorg.conf file isn't necessary. As such, it no longer ships with an xorg.conf file. Though that's never posed a problem on my other OpenBSD machines, it does here. Video doesn't work out of the box on my iMac,1. startx just blanks the screen. Fortunately, because the BSDs use a centralized development model where each operating system is stored in one repository, OpenBSD's website provides a web interface to the source code going back to the early days. I was able to find the last version of the sample xorg.conf that used to ship on macppc. With a little tweaking, I transformed that file into <a href="https://www.increasinglyadequate.com/files/xorg.conf" target="_blank" rel="nofollow noopener">this one</a>, with which video works just fine. Just drop it into your iMac's /etc/X11 directory. You'll also need to remember to set the machdep.allowaperture sysctl to 2 (e.g., as root run sysctl machdep.allowaperture=2), although the installer will do that automatically if you answer yes to the question about whether you plan to run X.
&gt; All that being said, video performance is pretty poor. I am either doing something wrong, or OpenBSD doesn't have accelerated video for this iMac, or this machine is just really old! I will discuss performance below.</li>
<li>Running OpenBSD on the iMac,1
&gt; The machine performs okay under OpenBSD. You can expect to ably run minimalistic software under minimalistic window managers. I tried dillo, mrxvt, and cmus under cwm and fvwm. Performance here was just fine. I also tried Firefox 26, 33, and 34 under fvwm and cwm. Firefox ran, but "modern," Javascript-heavy sites were an exercise in frustration; the 2015 version of CNN.com basically froze Firefox for 30 seconds or more. A lighter browser like dillo is doable.
&gt; You'll notice that I used the past-tense to talk about Firefox. Firefox currently doesn't build on PowerPC on OpenBSD. Neither does Chromium. Neither do a fair number of applications. But whatever -- there's still a lot of lighter applications available, and it's these you'll use day-to-day on a decades-old machine.
&gt; Lightweight window managers work okay, as you'd expect. You can even run heavier desktop environments, such as xfce, though you'll give up a lot of performance.
&gt; I ran the Ubench benchmark on this iMac and two more modern machines also running OpenBSD. The benchmark seems like an old one; I don't know how (if at all) it accounts for hardware changes in the past 13 years. That is, I don't know if the difference in score accurately measures the difference in real-world performance. Here are the results anyway:</li>
<li>Conclusion
&gt; Except for when I check to see if OpenBSD still works, I run Mac OS9 on this rig. I have faster and better machines for running OpenBSD. If I didn't -- if this rig were, improbably, all I had left, and I was waiting on the rush delivery of something modern -- then I would use OpenBSD on my iMac,1. I'd have to stick to lightweight applications, but at least they'd be up-to-date and running on a simple, stable, OS.
***
##News Roundup
###<a href="https://events.ccc.de/congress/2017/Fahrplan/index.html" target="_blank" rel="nofollow noopener">34th Chaos Communication Congress Schedule</a></li>
<li>Many talks are <a href="http://streaming.media.ccc.de/34c3" target="_blank" rel="nofollow noopener">streamed live</a>, a good mixture of english and german talks</li>
<li><a href="https://events.ccc.de/congress/2017/Fahrplan/events/9196.html" target="_blank" rel="nofollow noopener">May contain DTraces of FreeBSD</a></li>
<li><a href="https://events.ccc.de/congress/2017/Fahrplan/events/8968.html" target="_blank" rel="nofollow noopener">Are all BSDs created equally?</a></li>
<li><a href="https://events.ccc.de/congress/2017/Fahrplan/events/8949.html" target="_blank" rel="nofollow noopener">library operating systems</a></li>
<li><a href="https://events.ccc.de/congress/2017/Fahrplan/events/9249.html" target="_blank" rel="nofollow noopener">Hardening Open Source Development</a>
***
###<a href="https://jamesdeagle.blogspot.co.uk/2017/12/openbsd-62-cde.html" target="_blank" rel="nofollow noopener">OpenBSD 6.2 + CDE</a>
&gt; If you've noticed a disruption in the time-space continuum recently, it is likely because I have finally been able to compile and install the Common Desktop Environment (CDE) in a current and actively-developed operating system (OpenBSD 6.2 in this case).
&gt; This comes after so many attempts (across multiple platforms) that ended up with the build process prematurely stopping itself in its own tracks for a variety of infinitesimal reasons that were beyond my comprehension as a non-programmer, or when there was success it was not without some broken parts. As for the latter, I've been able to build CDE on OpenIndiana Hipster, but with an end product where I'm unable to change the color scheme in dtstyle (because "useColorObj" is set to "False"), with a default color scheme that is low-res and unpleasant. As for changing "useColorObj" to "True", I tried every recommended trick I could find online, but nothing worked. 
&gt; My recent attempts at installing CDE on OpenBSD (version 6.1) saw the process stop due to a number of errors that are pure gibberish to these naive eyes. While disappointing, it was par for the course within my miserable experience with trying to build this particular desktop environment. As I wrote in this space in November 2015, in the course of explaining part of my imperitive for installing Solaris 10: 
&gt; And so I have come to think of building the recently open-sourced CDE as being akin to a coffee mug I saw many years ago. One side of the mug read "Turn the mug to see how to keep an idiot busy." On the other side, it read "Turn the mug to see how to keep an idiot busy." I'm through feeling like an idiot, which is partially why I'm on this one-week journey with Solaris 10.
&gt; While I thoroughly enjoyed running Solaris 10 on my ThinkPad T61p, and felt a devilish thrill at using it out in the open at my local MacBook- and iPhone-infested Starbucks and causing general befuddlement and consternation among the occasional prying yoga mom, I never felt like I could do much with it beyond explore the SunOS 5.10 command line and watch YouTube videos. While still supported by its current corporate owner (whose name I don't even want to type), it is no longer actively developed and is thus little more than a retro toy. I hated the idea of installing anything else over it, but productivity beckoned and it was time to tearfully and reluctantly drag myself off the dance floor.
&gt; In any case, just last week I noticed that the Sourceforge page for the OpenBSD build had some 6.2-specific notes by way of a series of four patches, and so I decided 'what the heck, let's give this puppy another whirl'. After an initial abortive attempt at a build, I surmised that I hadn't applied the four patches correctly. A day or two later, I took a deep breath and tried again, this time resolving to not proceed with the time make World build command until I could see some sign of a successful patch process. (This time around, I downloaded the patches and moved them into the directory containing the CDE makefiles, and issued each patch command as patch  Once I had the thing up and running, and with a mind bursting with fruit flavor, I started messing about. The first order of business was to create a custom color scheme modelled after the default color scheme in UnixWare. (Despite any baggage that system carries from its previous ownership under SCO, I adored the aesthetics of UnixWare 7.1.4 two years ago when I installed the free one month trial version on my ThinkPad. For reasons that escape me now, I named my newly-created color scheme in honor of UnixWare 7.1.3.)
&gt; Like a proud papa, I immediately tweeted the above screenshot and risked irritating a Linux kid or two in the process, given SCO's anti-climatic anti-Linux patent trolling from way back when. (I'm not out to irritate penguinistas, I just sure like this color scheme.)</li>
<li>Final Thoughts
&gt; It may look a little clunky at first, and may be a little bling-challenged, but the more I use CDE and adapt to it, the more it feels like an extension of my brain. Perhaps this is because it has a lot zip and behaves in a consistent and coherent manner. (I don't want to go too much further down that road here, as OSnews's Thom Holwerda already gave a good rundown about ten years ago.)
&gt; Now that I have succesfully paired my absolute favorite operating system with a desktop environment that has exerted an intense gravitational hold on me for many, many years, I don't anticipate distrohopping any time soon. And as I attain a more advanced knowledge of CDE, I'll be chronicling any new discoveries here for the sake of anyone following me from behind as I feel my way around this darkened room.
***
###<a href="https://www.mail-archive.com/svn-src-all@freebsd.org/msg154719.html" target="_blank" rel="nofollow noopener">devmatch(8) added to FreeBSD HEAD</a>
```
Log:
Match unattached devices on the system to potential kernel modules.</li>
</ul>

<p>devmatch(8) matchs up devices in the system device tree with drivers<br>
  that may match them. For each unattached device in the system, it<br>
  tries to find matching PNP info in the linker hints and prints modules<br>
  to load to claim the devices.</p>

<p>In --unbound mode, devmatch can look for drivers that have attached to<br>
  devices in the device tree and have plug and play information, but for<br>
  which no PNP info exists. This helps find drivers that haven't been<br>
  converted yet that are in use on this system.</p>

<p>In addition, the ability to dump out linker.hints is provided.</p>

<p>Future commits will add hooks to devd.conf and rc.d to fully automate<br>
  using this information.<br>
Added:<br>
  head/usr.sbin/devmatch/<br>
  head/usr.sbin/devmatch/Makefile   (contents, props changed)<br>
  head/usr.sbin/devmatch/devmatch.8   (contents, props changed)<br>
  head/usr.sbin/devmatch/devmatch.c   (contents, props changed)<br>
Modified:<br>
  head/usr.sbin/Makefile<br>
Modified: head/usr.sbin/Makefile</p>

<pre><code>+ Oh, you naughty committers: :-) https://www.mail-archive.com/svn-src-all@freebsd.org/msg154720.html
***
##Beastie Bits
+ [New FreeBSD Journal issue: Monitoring and Metrics](https://www.freebsdfoundation.org/journal/)
+ [OpenBSD Engine Mix available on GOG.com](https://www.gog.com/mix/openbsd_engine_available)
+ [OpenBSD Foundation reached their 2017 fundraising goal](http://www.openbsdfoundation.org/campaign2017.html)
+ [TrueOS 17.12 Review – An Easy BSD](https://www.youtube.com/watch?v=nKr1GCsV-gA)
+ [LibreSSL 2.6.4 Released](https://bsdsec.net/articles/libressl-2-6-4-released-fixed)
***
##Feedback/Questions
+ Mike - [BSD 217 &amp; Winning over Linux Users](http://dpaste.com/3AB7J4P#wrap)
+ JLR - [Boot Environments Broken?](http://dpaste.com/2K0ZDH9#wrap)
+ Kevr - [ZFS question and suggestion](http://dpaste.com/04MXA5P#wrap)
+ Ivan - [FreeBSD read cache - ZFS](http://dpaste.com/1P9ETGQ#wrap)
***
</code></pre>]]>
  </itunes:summary>
</item>
<item>
  <title>225: The one true OS</title>
  <link>https://www.bsdnow.tv/225</link>
  <guid isPermaLink="false">5f2c1de5-e2e3-49c6-8e12-39b0f4b76458</guid>
  <pubDate>Wed, 20 Dec 2017 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/5f2c1de5-e2e3-49c6-8e12-39b0f4b76458.mp3" length="77115604" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>TrueOS stable 17.12 is out, we have an OpenBSD workstation guide for you, learnings from the PDP-11, FreeBSD 2017 Releng recap and Duo SSH.</itunes:subtitle>
  <itunes:duration>1:47:06</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>&lt;p&gt;TrueOS stable 17.12 is out, we have an OpenBSD workstation guide for you, learnings from the PDP-11, FreeBSD 2017 Releng recap and Duo SSH.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.trueos.org/blog/trueos-17-12-release/" target="_blank" rel="nofollow noopener"&gt;TrueOS stable release 17.12&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We are pleased to announce a new release of the 6-month STABLE version of TrueOS!&lt;br&gt;
This release cycle focused on lots of cleanup and stabilization of the distinguishing features of TrueOS: OpenRC, boot speed, removable-device management, SysAdm API integrations, Lumina improvements, and more. We have also been working quite a bit on the server offering of TrueOS, and are pleased to provide new text-based server images with support for Virtualization systems such as bhyve! This allows for simple server deployments which also take advantage of the TrueOS improvements to FreeBSD such as:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Sane service management and status reporting with OpenRC&lt;/li&gt;
&lt;li&gt;Reliable, non-interactive system update mechanism with fail-safe boot environment support.&lt;/li&gt;
&lt;li&gt;Graphical management of remote TrueOS servers through SysAdm (also provides a reliable API for administrating systems remotely).&lt;/li&gt;
&lt;li&gt;LibreSSL for all base SSL support.&lt;/li&gt;
&lt;li&gt;Base system managed via packages (allows for additional fine-tuning).&lt;/li&gt;
&lt;li&gt;Base system is smaller due to the removal of the old GCC version in base. Any compiler and/or version may be installed and used via packages as desired.&lt;/li&gt;
&lt;li&gt;Support for newer graphics drivers and chipsets (graphics, networking, wifi, and more)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;TrueOS Version 17.12 (2017, December) is now available for download from the TrueOS website. Both the STABLE and UNSTABLE package repositories have also been updated in-sync with each other, so current users only need to follow the prompts about updating their system to run the new release.&lt;br&gt;
We are also pleased to announce the availability of TrueOS Sponsorships! If you would like to help contribute to the project financially we now have the ability to accept both one-time donations as well as recurring monthly donations which wil help us advocate for TrueOS around the world.  Thank you all for using and supporting TrueOS!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Notable Changes:

&lt;ul&gt;
&lt;li&gt;Over 1100 OpenRC services have been created for 3rd-party packages. This should ensure the functionality of nearly all available 3rd-party packages that install/use their own services.&lt;/li&gt;
&lt;li&gt;The OpenRC services for FreeBSD itself have been overhauled, resulting in significantly shorter boot times.&lt;/li&gt;
&lt;li&gt;Separate install images for desktops and servers (server image uses a text/console installer)&lt;/li&gt;
&lt;li&gt;Bhyve support for TrueOS Server Install&lt;/li&gt;
&lt;li&gt;FreeBSD base is synced with 12.0-CURRENT as of December 4th, 2017 (Github commit: 209d01f)&lt;/li&gt;
&lt;li&gt;FreeBSD ports tree is synced as of November 30th (pre-FLAVOR changes)&lt;/li&gt;
&lt;li&gt;Lumina Desktop has been updated/developed from 1.3.0 to 1.4.1&lt;/li&gt;
&lt;li&gt;PCDM now supports multiple simultaneous graphical sessions&lt;/li&gt;
&lt;li&gt;Removable devices are now managed through the “automounter” service.&lt;/li&gt;
&lt;li&gt;Devices are “announced” as available to the system via *.desktop shortcuts in /media. These shortcuts also contain a variety of optional “Actions” that may be performed on the device.&lt;/li&gt;
&lt;li&gt;Devices are only mounted while they are being used (such as when browsing via the command line or a file manager).&lt;/li&gt;
&lt;li&gt;Devices are automatically unmounted as soon as they stop being accessed.&lt;/li&gt;
&lt;li&gt;Integrated support for all major filesystems (UFS, EXT, FAT, NTFS, ExFAT, etc..)&lt;/li&gt;
&lt;li&gt;NOTE: The Lumina desktop is the only one which supports this functionality at the present time.&lt;/li&gt;
&lt;li&gt;The TrueOS update system has moved to an “active” update backend. This means that the user will need to actually start the update process by clicking the “Update Now” button in SysAdm, Lumina, or PCDM (as well as the command-line option). The staging of the update files is still performed automatically by default but this (and many other options) can be easily changed in the “Update Manager” settings as desired.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Known Errata:

&lt;ul&gt;
&lt;li&gt;[VirtualBox] Running FreeBSD within a VirtualBox VM is known to occasionally receive non-existent mouse clicks – particularly when using a scroll wheel or two-finger scroll.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Quick Links:

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://discourse.trueos.org/" target="_blank" rel="nofollow noopener"&gt;TrueOS Forums&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/trueos/trueos-core/issues" target="_blank" rel="nofollow noopener"&gt;TrueOS Bugs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.trueos.org/handbook/trueos.html" target="_blank" rel="nofollow noopener"&gt;TrueOS Handbook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://t.me/TrueOSCommunity" target="_blank" rel="nofollow noopener"&gt;TrueOS Community Chat on Telegram&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://begriffs.com/posts/2017-05-17-linux-workstation-guide.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Workstation Guide&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Design Goals&lt;/li&gt;
&lt;li&gt;User actions should complete instantaneously. While I understand if compiling code and rendering videos takes time, opening programs and moving windows should have no observable delay. The system should use minimalist tools.&lt;/li&gt;
&lt;li&gt;Corollary: cache data offline when possible. Everything from OpenStreetMaps to StackExchange can be stored locally. No reason to repeatedly hit the internet to query them. This also improves privacy because the initial download is indiscriminate and doesn’t reveal personal queries or patterns of computer activity.&lt;/li&gt;
&lt;li&gt;No idling program should use a perceptible amount of CPU. Why does CalendarAgent on my Macbook sometimes use 150% CPU for fifteen minutes? Who knows. Why are background ChromeHelpers chugging along at upper-single-digit CPU? I didn’t realize that holding a rendered DOM could be so challenging.&lt;/li&gt;
&lt;li&gt;Avoid interpreted languages, web-based desktop apps, and JavaScript garbage. There, I said it. Take your Electron apps with you to /dev/null!&lt;/li&gt;
&lt;li&gt;Stability. Old fashioned programs on a conservative OS on quality mainstream hardware. There are enough challenges to tackle without a bleeding edge system being one of them.&lt;/li&gt;
&lt;li&gt;Delegate to quality hardware components. Why use a janky ncurses software audio mixer when you can use…an actual audio mixer?&lt;/li&gt;
&lt;li&gt;Hardware privacy. No cameras or microphones that I can’t physically disconnect. Also real hardware protection for cryptographic keys.&lt;/li&gt;
&lt;li&gt;Software privacy. Commercial software and operating systems have gotten so terrible about this. I even catch Mac command line tools trying to call Google Analytics. Sorry homebrew, your cute emojis don’t make up for the surveillance.

&lt;ul&gt;
&lt;li&gt;The Hardware&lt;/li&gt;
&lt;li&gt;Core&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;To get the best hardware for the money I’m opting for a desktop computer. Haven’t had one since the early 2000s and it feels anachronistic, but it will outperform a laptop of similar cost. After much searching, I found the HP Z240 Tower Workstation. It’s no-nonsense and supports exactly the customizations I was looking for:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;No operating system pre-loaded (Cut out the “Windows tax”)&lt;/li&gt;
&lt;li&gt;Intel Xeon E3-1270 v6 processor (Supports ECC ram)&lt;/li&gt;
&lt;li&gt;16 GB (2x8 GB) DDR4-2400 ECC Unbuffered memory (2400Mhz is the full memory clock speed supported by the Xeon)&lt;/li&gt;
&lt;li&gt;256 GB HP Z Turbo Drive G2 PCIe SSD (Uses NVMe rather than SATA for faster throughput, supported by nvme(4))&lt;/li&gt;
&lt;li&gt;No graphics card (We’ll add our own)&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Intel® Ethernet I210-T1 PCIe (Supported by em(4))&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A modest discrete video card will enable 2D Glamor acceleration on X11. The Radeon HD 6450 (sold separately) is fanless and listed as supported by radeon(4).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Why build a solid computer and not protect it? Externally, the APC BR1300G UPS will protect the system from power surges and abrupt shutdowns.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Peripherals&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The Matias Ergo Pro uses mechanical switches for that old fashioned clicky sound. It also includes dedicated buttons along the side for copying and pasting. Why is that cool? Well, it improves secondary selection, a technique that Sun computers used but time forgot.&lt;br&gt;
Since we’re talking about a home office workstation, you may want a printer. The higher quality printers speak PostScript and PDF natively. Unix machines connect to them on TCP port 9100 and send PostScript commands directly. (You can print via telnet if you know the commands!) The Brother HL-L5100DN is a duplex LaserJet which allows that “raw” TCP printing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Audio/Video&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I know a lot of people enjoy surrounding themselves with a wall of monitors like they’re in the heart of NASA Mission Control, but I find multi-monitor setups slightly disorienting. It introduces an extra bit of cognitive overhead to determine which monitor is for what exactly. That’s why I’d go with a modest, crisp Dell UltraSharp 24" U2417H. It’s 1080p and yeah there are 4k monitors nowadays, but text and icons are small enough as it is for me!&lt;br&gt;
If I ever considered a second monitor it would be e-ink for comfortably reading electronic copies of books or long articles. The price is currently too high to justify the purchase, but the most promising monitor seems to be the Dasung Paperlike.&lt;br&gt;
In the other direction, video input, it’s more flexible to use a general-purpose HDMI capture box like the Rongyuxuan than settle on a particular webcam. This allows hooking up a real camera, or any other video device.&lt;br&gt;
Although the motherboard for this system has built-in audio, we should use a card with better OpenBSD support. The WBTUO PCIe card uses a C-Media CMI8768 chipset, handled by cmpci(4). The card provides S/PDIFF in and out ports if you ever want to use an external DAC or ADC.&lt;br&gt;
The way to connect it with other things is with a dedicated hardware mixer. The Behringer Xenyx 802 has all the connections needed, and the ability to route audio to and from the computer and a variety of devices at once. The mixer may seem an odd peripheral, but I want to mix the computer with an old fashioned CD player, ham radio gear, and amplifier so this unifies the audio setup.&lt;br&gt;
When doing remote pair programming or video team meetings it’s nice to have a quality microphone. The best ones for this kind of work are directional, with a cardioid reception pattern. The MXL 770 condenser mic is perfect, and uses a powered XLR connection supplied by the mixer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Backups&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We’re going dead simple and old-school, back to tapes. There are a set of tape standards called LTO-n. As n increases the tape capacity gets bigger, but the tape drive gets more expensive. In my opinion the best balance these days for the home user is LTO-3. You can usually find an HP Ultrium 960 LTO-3 on eBay for 150 dollars. The cartridges hold 800GB and are about 15 dollars apiece. Hard drives keep coming down in price, but these tapes are very cheap and simpler than keeping a bunch of disk drives. Also tape has proven longevity, and good recoverability.&lt;br&gt;
To use old fashioned tech like this you need a SCSI host bus adapter like the Adaptec 29320LPE, supported by ahd(4).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Cryptography&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;You don’t want to generate and store secret keys on a general purpose network attached computer. The attack surface is a mile wide. Generating or manipulating “offline” secret keys needs to happen on a separate computer with no network access.&lt;br&gt;
Little boards like the Raspberry Pi would be good except they use ARM processors (incompatible with Tails OS) and have wifi. The JaguarBoard is a small x86 machine with no wireless capability. Just switch the keyboard and monitor over to this machine for your “cleanroom.” &lt;br&gt;
jaguar board: Generating keys requires entropy. The Linux kernel on Tails samples system properties to generate randomness, but why not help it out with a dedicated true random number generator (TRNG)? Bit Babbler supplies pure randomness at a high bitrate through USB. (OneRNG works better on the OpenBSD main system, via uonerng(4).)&lt;br&gt;
bit babbler: This little computer will save its results onto a OpenPGP Smartcard V2.1. This card provides write-only access to keys, and computes cryptographic primitives internally to sign and encrypt messages. To use it with a regular computer, hook up a Cherry ST2000 card reader. This reader has a PIN pad built in, so no keylogger on the main computer could even obtain your decryption PIN.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Software&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We take the beefed up hardware above and pair it with ninja-fast software written in C. Some text-based, others raw X11 graphical apps unencumbered by ties to any specific window manager.&lt;br&gt;
I’d advise OpenBSD for the underlying operating system, not a Linux. OpenBSD has greater internal consistency, their man pages are impeccable, and they make it a priority to prune old code to keep the system minimal.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://dave.cheney.net/2017/12/04/what-have-we-learned-from-the-pdp-11" target="_blank" rel="nofollow noopener"&gt;What Have We Learned from the PDP-11?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The paper I have chosen tonight is a retrospective on a computer design. It is one of a series of papers by Gordon Bell, and various co-authors, spanning the design, growth, and eventual replacement of the companies iconic line of PDP-11 mini computers.&lt;br&gt;
This year represents the 60th anniversary of the founding of the company that produced the PDP-11. It is also 40 years since this paper was written, so I thought it would be entertaining to review Bell’s retrospective through the lens of our own 20/20 hindsight.&lt;br&gt;
To set the scene for this paper, first we should talk a little about the company that produced the PDP-11, the Digital Equipment Corporation of Maynard, Massachusetts. Better known as DEC.&lt;br&gt;
It’s also worth noting that the name PDP is an acronym for “Programmed Data Processor”, as at the time, computers had a reputation of being large, complicated, and expensive machines, and DEC’s venture capitalists would not support them if they built a “computer”&lt;br&gt;
A computer is not solely determined by its architecture; it reflects the technological, economic, and human aspects of the environment in which it was designed and built. […] The finished computer is a product of the total design environment.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;“Right from the get go, Bell is letting us know that the success of any computer project is not abstractly building the best computer but building the right computer, and that takes context.”&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It is the nature of computer engineering to be goal-oriented, with pressure to produce deliverable products. It is therefore difficult to plan for an extensive lifetime.&lt;br&gt;
Because of the open nature of the PDP-11, anything which interpreted the instructions according to the processor specification, was a PDP-11, so there had been a rush within DEC, once it was clear that the PDP-11 market was heating up, to build implementations; you had different groups building fast, expensive ones and cost reduced slower ones&lt;br&gt;
The first weakness of minicomputers was their limited addressing capability. The biggest (and most common) mistake that can be made in a computer design is that of not providing enough address bits for memory addressing and management.&lt;br&gt;
A second weakness of minicomputers was their tendency not to have enough registers. This was corrected for the PDP-11 by providing eight 16-bit registers. Later, six 32-bit registers were added for floating-point arithmetic.  […] More registers would increase the multiprogramming context switch time and confuse the user.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;“It’s also interesting to note Bell’s concern that additional registers would confuse the user. In the early 1970’s the assumption that the machine would be programmed directly in assembly was still the prevailing mindset.”&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A third weakness of minicomputers was their lack of hardware stack capability. In the PDP-11, this was solved with the autoincrement/autodecrement addressing mechanism. This solution is unique to the PDP-11 and has proven to be exceptionally useful. (In fact, it has been copied by other designers.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;“Nowadays it’s hard to imagine hardware that doesn’t have a notion of a stack, but consider that a stack isn’t important if you don’t need recursion.”&lt;/li&gt;
&lt;li&gt;“The design for the PDP-11 was laid down in 1969 and if we look at the programming languages of the time, FORTRAN and COBOL, neither supported recursive function calls. The function call sequence would often store the return address at a blank word at the start of the procedure making recursion impossible.”&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A fourth weakness, limited interrupt capability and slow context switching, was essentially solved with the device of UNIBUS interrupt vectors, which direct device interrupts.&lt;br&gt;
The basic mechanism is very fast, requiring only four memory cycles from the time an interrupt request is issued until the first instruction of the interrupt routine begins execution.&lt;br&gt;
A fifth weakness of prior minicomputers, inadequate character-handling capability, was met in the PDP-11 by providing direct byte addressing capability.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;“Strings and character handling were of increasing importance during the 1960’s as scientific and business computing converged. The predominant character encodings at the time were 6 bit character sets which provided just enough space for upper case letters, the digits 0 to 9, space, and a few punctuation characters sufficient for printing financial reports.”&lt;/li&gt;
&lt;li&gt;“Because memory was so expensive, placing one 6 bit character into a 12 or 18 bit word was simply unacceptable so characters would be packed into words. This proved efficient for storage, but complex for operations like move, compare, and concatenate, which had to account for a character appearing in the top or bottom of the word, expending valuable words of program storage to cope.”&lt;/li&gt;
&lt;li&gt;“The problem was addressed in the PDP-11 by allowing the machine to operate on memory as both a 16-bit word, and the increasingly popular 8-bit byte. The expenditure of 2 additional bits per character was felt to be worth it for simpler string handling, and also eased the adoption of the increasingly popular 7-bit ASCII standard of which DEC were a proponent at the time. Bell concludes this point with the throw away line:”&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Although string instructions are not yet provided in the hardware, the common string operations (move, compare, concatenate) can be programmed with very short loops.&lt;br&gt;
A sixth weakness, the inability to use read-only memories, was avoided in the PDP-11. Most code written for the PDP-11 tends to be pure and reentrant without special effort by the programmer, allowing a read-only memory (ROM) to be used directly.&lt;br&gt;
A seventh weakness, one common to many minicomputers, was primitive I/O capabilities.&lt;br&gt;
A ninth weakness of minicomputers was the high cost of programming them. Many users program in assembly language, without the comfortable environment of editors, file systems, and debuggers available on bigger systems. The PDP-11 does not seem to have overcome this weakness, although it appears that more complex systems are being built successfully with the PDP-11 than with its predecessors, the PDP-8 and PDP-15.&lt;br&gt;
The problems faced by computer designers can usually be attributed to one of two causes: inexperience or second-systemitis&lt;br&gt;
Before the PDP-11, there was no UNIX. Before the PDP-11, there was no C, this is the computer that C was designed on. If you want to know why the classical C int is 16 bits wide, it’s because of the PDP-11. UNIX bought us ideas such as pipes, everything is a file, and interactive computing.&lt;br&gt;
UNIX, which had arrived at Berkley in 1974 aboard a tape carried by Ken Thompson, would evolve into the west coast flavoured Berkley Systems Distribution. Berkeley UNIX had been ported to the VAX by the start of the 1980’s and was thriving as the counter cultural alternative to DEC’s own VMS operating system. Berkeley UNIX spawned a new generation of hackers who would go on to form companies like Sun micro systems, and languages like Self, which lead directly to the development of Java. UNIX was ported to a bewildering array of computer systems during the 80’s and the fallout from the UNIX wars gave us the various BSD operating systems who continue to this day.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The article, and the papers it is summarizing, contain a lot more than we could possibly dig into even if we dedicated the entire show to the topic
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.teachnix.com/2017/11/29/configuring-two-factor-authentication-on-freebsd-with-duo/" target="_blank" rel="nofollow noopener"&gt;Two-factor authentication SSH with Duo in FreeBSD 11&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This setup uses an SSH key as the first factor of authentication. Please watch Part 1 on setting up SSH keys and how to scp it to your server.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=E5EuvF-iaV0" target="_blank" rel="nofollow noopener"&gt;Video guide&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Register for a free account at Duo.com&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Install the Duo package on your FreeBSD server&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;pkg install -y duo&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Log into the Duo site &amp;gt; Applications &amp;gt; Protect an Application &amp;gt; Search for Unix application &amp;gt; Protect this Application This will generate the keys we need to configure Duo.&lt;/li&gt;
&lt;li&gt;Edit the Duo config file using the course notes template&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;vi /usr/local/etc/pam_duo.conf&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Example config&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;[duo]
; Duo integration key
ikey = Integration key goes here
; Duo secret key
skey = Secret key goes here
; Duo API host
host = API hostname goes here
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Change the permissions of the Duo config file. If the permissions are not correct then the service will not function properly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;chmod 600 /usr/local/etc/pam_duo.conf&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Edit the SSHD config file using the course notes template&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;vi /etc/ssh/sshd_config&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Example config&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;ListenAddress 0.0.0.0
Port 22
PasswordAuthentication no
UsePAM yes
ChallengeResponseAuthentication yes
UseDNS no
PermitRootLogin yes
AuthenticationMethods publickey,keyboard-interactive
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Edit PAM to configure SSHD for Duo using the course notes template&lt;/li&gt;
&lt;li&gt;Example config&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;&amp;amp;#35; auth
auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so       no_warn allow_local
auth            required        /usr/local/lib/security/pam_duo.so

&amp;amp;#35; session
&amp;amp;#35; session        optional        pam_ssh.so              want_agent
session         required        pam_permit.so

&amp;amp;#35; password
&amp;amp;#35; password       sufficient      pam_krb5.so             no_warn try_first_pass
password        required        pam_unix.so             no_warn try_first_pass
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Restart the sshd service&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;service sshd restart&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SSH into your FreeBSD server and follow the link it outputs to enroll your phone with Duo.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;ssh server.example.com&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SSH into your server again&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;ssh server.example.com&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Choose your preferred method and it should log you into your server.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/2017-release-engineering-recap/" target="_blank" rel="nofollow noopener"&gt;FreeBSD 2017 Release Engineering Recap&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This past year was undoubtedly a rather busy and successful year for the Release Engineering Team. Throughout the year, development snapshot builds for FreeBSD-CURRENT and supported FreeBSD-STABLE branches were continually provided. In addition, work to package the base system using pkg(8) continued throughout the year and remains ongoing.&lt;br&gt;
The FreeBSD Release Engineering Team worked on the FreeBSD 11.1-RELEASE, with the code slush starting mid-May. The FreeBSD 11.1-RELEASE cycle stayed on schedule, with the final release build starting July 21, and the final release announcement following on July 25, building upon the stability and reliability of 11.0-RELEASE.&lt;br&gt;
Milestones during the 11.1-RELEASE cycle can be found on the &lt;a href="https://www.freebsd.org/releases/11.1R/schedule.html" target="_blank" rel="nofollow noopener"&gt;11.1 schedule page&lt;/a&gt;. The final announcement is available &lt;a href="https://www.freebsd.org/releases/11.1R/announce.html" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;.&lt;br&gt;
The FreeBSD Release Engineering Team started the FreeBSD 10.4-RELEASE cycle, led by Marius Strobl. The FreeBSD 10.4-RELEASE cycle continued on schedule, with the only adjustments to the schedule being the addition of BETA4 and the removal of RC3. FreeBSD 10.4-RELEASE builds upon the stability and reliability of FreeBSD 10.3-RELEASE, and is planned to be the final release from the stable/10 branch.&lt;br&gt;
Milestones during the 10.4-RELEASE cycle can be found on the &lt;a href="https://www.freebsd.org/releases/10.4R/schedule.html" target="_blank" rel="nofollow noopener"&gt;10.4 schedule page&lt;/a&gt;. The final announcement is available &lt;a href="https://www.freebsd.org/releases/10.4R/announce.html" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;.&lt;br&gt;
In addition to these releases, support for additional arm single-board computer images were added, notably Raspberry Pi 3 and Pine64. Additionally, release-related documentation effective 12.0-RELEASE and later has been moved from the base system repository to the documentation repository, making it possible to update related documentation as necessary post-release.&lt;br&gt;
Additionally, the FreeBSD Release Engineering article in the Project Handbook had been rewritten to outline current practices used by the Release Engineering Team. For more information on the procedures and processes the FreeBSD Release Engineering Team follows, the new article is available here  and continually updated as procedures change.&lt;br&gt;
Finally, following the availability of FreeBSD 11.1-RELEASE, Glen Barber attended the September Developer Summit hosted at vBSDCon in Reston, VA, USA, where he gave a brief talk comprising of several points relating directly to the 11.1-RELEASE cycle. In particular, some of the points covered included what he felt went well during the release cycle, what did not go as well as it could have, and what we, as a Project, could do better to improve the release process. The slides from the talk are available in the FreeBSD Wiki.&lt;br&gt;
During the question and answer time following the talk, some questions asked included:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: Should developers use the ‘Relnotes’ tag in the Subversion commit template more loosely, at risk of an increase in false positives.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A: When asked when the tag in the template was initially added, the answer would have been “no”, however in hindsight it is easier to sift through the false positives, than to comb through months or years of commit logs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: What issues are present preventing moving release-related documentation to the documentation repository?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A: There were some rendering issues last time it was investigated, but it is really nothing more than taking the time to fix those issues. (Note, that since this talk, the migration of the documentation in question had moved.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Q: Does it make sense to extend the timeframe between milestone builds during a release cycle from one week to two weeks, to allow more time for testing, for example, RC1 versus RC2?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A: No. It would extend the length of the release cycle with no real benefit between milestones since as we draw nearer to the end of a given release cycle, the number of changes to that code base significantly reduce.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://flimp.fuzzing-project.org" target="_blank" rel="nofollow noopener"&gt;FLIMP - GIMP Exploit on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In 2014, when starting the &lt;a href="https://fuzzing-project.org/" target="_blank" rel="nofollow noopener"&gt;Fuzzing Project&lt;/a&gt;, Hanno Böck did some primitive fuzzing on GIMP and reported two bugs. They weren't fixed and were forgotten in the public bug tracker.&lt;br&gt;
Recently Tobias Stöckmann found &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=739133" target="_blank" rel="nofollow noopener"&gt;one of these bugs&lt;/a&gt; (CVE-2017-17785) and figured out that it's easy to exploit.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What kind of bug is that?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It's a classic heap buffer overflow in the FLIC parser. FLIC is a file format for animations and was introduced by Autodesk Animator.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;How does the exploit work?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Tobias has created a &lt;a href="https://flimp.fuzzing-project.org/exploit.html" target="_blank" rel="nofollow noopener"&gt;detailed writeup&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The exploit doesn't work for me!&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We figured out it's unreliable and the memory addresses are depending on many circumstances. The exploit ZIP comes with two variations using different memory addresses.&lt;br&gt;
Try both of them. We also noticed putting the files in a subdirectory sometimes made the exploit work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Anything more to tell about the GIMP?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There's a wide variety of graphics formats. GIMP tries to support many of them, including many legacy formats that nobody is using any more today.&lt;br&gt;
While this has obvious advantages - you can access the old images you may find on a backup CD from 1995 - it comes with risks. Support for many obscure file formats means many parsers that hardly anyone ever looks at.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;So... what about the other parsers?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=739134" target="_blank" rel="nofollow noopener"&gt;second bug&lt;/a&gt; (CVE-2017-17786), which is a simple overread, was in the TGA parser. Furthermore we found buffer overreads in the &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=790783" target="_blank" rel="nofollow noopener"&gt;XCF parser&lt;/a&gt; (CVE-2017-17788), the &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=790784" target="_blank" rel="nofollow noopener"&gt;Gimp Brush (GBR) parser&lt;/a&gt; (CVE-2017-17784) and the &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=790849" target="_blank" rel="nofollow noopener"&gt;Paint Shop Pro (PSP) parser&lt;/a&gt; (CVE-2017-17789).&lt;br&gt;
We found another &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=790849" target="_blank" rel="nofollow noopener"&gt;Heap buffer overflow&lt;/a&gt; in the Paint Shop Pro parser (CVE-2017-17787) which is probably also exploitable.&lt;br&gt;
In other words: The GIMP import parsers are full of memory safety bugs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What should happen?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;First of all obviously all known memory safety bugs should be fixed.&lt;br&gt;
Furthermore we believe the way GIMP plugins work is not ideal for security testing. The plug-ins are separate executables, however they can't be executed on their own, as they communicate with the main GIMP process.&lt;br&gt;
Ideally either these plug-ins should be changed in a way that allows running them directly from the command line or - even better - they should be turned into libraries. The latter would also have the advantage of making the parser code useable for other software projects.&lt;br&gt;
Finally it might be a good idea to sandbox the import parsers.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://blog.frankleonhardt.com/2017/dell-fs12-nv7-review-bargain-freebsdzfs-box/" target="_blank" rel="nofollow noopener"&gt;Dell FS12-NV7 Review – Bargain FreeBSD/ZFS box&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;It seems just about everyone selling refurbished data centre kit has a load of Dell FS12-NV7’s to flog. Dell FS-what? You won’t find them in the Dell catalogue, that’s for sure. They look a bit like C2100s of some vintage, and they have a lot in common. But on closer inspection they’re obviously a “special” for an important customer. Given the number of them knocking around, it’s obviously a customer with big data, centres stuffed full of servers with a lot of processing to do. Here’s a hint: It’s not Google or Amazon.&lt;br&gt;
So, should you be buying a weirdo box with no documentation whatsoever? I’d say yes, definitely. If you’re interests are anything like mine. In a 2U box you can get twin 4-core CPUs and 64Gb of RAM for £150 or less. What’s not to like? Ah yes, the complete lack of documentation.&lt;br&gt;
Over the next few weeks I intend to cover that. And to start off this is my first PC review for nearly twenty years.&lt;br&gt;
As I mentioned, it’s a 2U full length heavy metal box on rails. On the back there are the usual I/O ports: a 9-way RS-232, VGA, two 1Gb Ethernet, two USB2 and a PS/2 keyboard and mouse. The front is taken up by twelve 3.5″ hard drive bays, with the status lights and power button on one of the mounting ears to make room. Unlike other Dell servers, all the connections are on the back, only.&lt;br&gt;
So, in summary, you’re getting a lot for your money if its the kind of thing you want. It’s ideal as a high-performance Unix box with plenty of drive bays (preferably running BSD and ZFS). In this configuration it really shifts. Major bang-per-buck. Another idea I’ve had is using it for a flight simulator. That’s a lot of RAM and processors for the money. If you forego the SAS controllers in the PCIe slots and dump in a decent graphics card and sound board, it’s hard to see what’s could be better (and you get jet engine sound effects without a speaker).&lt;br&gt;
So who should buy one of these? BSD geeks is the obvious answer. With a bit of tweaking they’re a dream. It can build-absolutely-everything in 20-30 minutes. For storage you can put fast SAS drives in and it goes like the wind, even at 3Gb bandwidth per drive. I don’t know if it works with FreeNAS but I can’t see why not – I’m using mostly FreeBSD 11.1 and the generic kernel is fine. And if you want to run a load of weird operating systems (like Windows XP) in VM format, it seems to work very well with the Xen hypervisor and Dom0 under FreeBSD. Or CentOS if you prefer.&lt;br&gt;
So I shall end this review in true PCW style:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Pros:

&lt;ul&gt;
&lt;li&gt;Cheap&lt;/li&gt;
&lt;li&gt;Lots of CPUs,&lt;/li&gt;
&lt;li&gt;Lots of RAM&lt;/li&gt;
&lt;li&gt;Lots of HD slots&lt;/li&gt;
&lt;li&gt;Great for BSD/ZFS or VMs&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Cons:

&lt;ul&gt;
&lt;li&gt;Noisy&lt;/li&gt;
&lt;li&gt;no AES-NI&lt;/li&gt;
&lt;li&gt;SAS needs upgrading&lt;/li&gt;
&lt;li&gt;Limited PCI slots&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As I’ve mentioned, the noise and SAS are easy and relatively cheap to fix, and thanks to BitCoin miners, even the PCI slot problem can be sorted. I’ll talk about this in a later post.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171126090055" target="_blank" rel="nofollow noopener"&gt;Reflections on Hackathons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=HijG0hWebZk&amp;amp;list=PL5yV8umka8YQOr1wm719In5LITdGzQMOF" target="_blank" rel="nofollow noopener"&gt;7-Part Video Crash Course on SaltStack For FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/the_llvm_thread_sanitizer_has" target="_blank" rel="nofollow noopener"&gt;The LLVM Thread Sanitizer has been ported to NetBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bitsavers.informatik.uni-stuttgart.de/bits/Interdata/32bit/unix/univWollongong_v6/miller.pdf" target="_blank" rel="nofollow noopener"&gt;The First Unix Port (1998)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171208082238" target="_blank" rel="nofollow noopener"&gt;arm64 platform now officially supported [and has syspatch(8)]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/bsdcan-2018-call-for-participation/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2018 Call for Participation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/asiabsdcon-2018-call-for-papers/" target="_blank" rel="nofollow noopener"&gt;AsiaBSDCon 2018 Call for Papers&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Shawn - &lt;a href="http://dpaste.com/3PRPJHG#wrap" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD vagrant images&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ben - &lt;a href="http://dpaste.com/0AZ32ZB#wrap" target="_blank" rel="nofollow noopener"&gt;undermydesk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ken - &lt;a href="http://dpaste.com/3E8FQC6#wrap" target="_blank" rel="nofollow noopener"&gt;Conferences&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ben - &lt;a href="http://dpaste.com/0E4538Q#wrap" target="_blank" rel="nofollow noopener"&gt;ssh keys&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.bsdnow.tv/tutorials/ssh-chaining" target="_blank" rel="nofollow noopener"&gt;SSH Chaining&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>TrueOS stable 17.12 is out, we have an OpenBSD workstation guide for you, learnings from the PDP-11, FreeBSD 2017 Releng recap and Duo SSH.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.trueos.org/blog/trueos-17-12-release/" target="_blank" rel="nofollow noopener">TrueOS stable release 17.12</a></h3>

<blockquote>
<p>We are pleased to announce a new release of the 6-month STABLE version of TrueOS!<br>
This release cycle focused on lots of cleanup and stabilization of the distinguishing features of TrueOS: OpenRC, boot speed, removable-device management, SysAdm API integrations, Lumina improvements, and more. We have also been working quite a bit on the server offering of TrueOS, and are pleased to provide new text-based server images with support for Virtualization systems such as bhyve! This allows for simple server deployments which also take advantage of the TrueOS improvements to FreeBSD such as:</p>
</blockquote>

<ul>
<li>Sane service management and status reporting with OpenRC</li>
<li>Reliable, non-interactive system update mechanism with fail-safe boot environment support.</li>
<li>Graphical management of remote TrueOS servers through SysAdm (also provides a reliable API for administrating systems remotely).</li>
<li>LibreSSL for all base SSL support.</li>
<li>Base system managed via packages (allows for additional fine-tuning).</li>
<li>Base system is smaller due to the removal of the old GCC version in base. Any compiler and/or version may be installed and used via packages as desired.</li>
<li>Support for newer graphics drivers and chipsets (graphics, networking, wifi, and more)</li>
</ul>

<blockquote>
<p>TrueOS Version 17.12 (2017, December) is now available for download from the TrueOS website. Both the STABLE and UNSTABLE package repositories have also been updated in-sync with each other, so current users only need to follow the prompts about updating their system to run the new release.<br>
We are also pleased to announce the availability of TrueOS Sponsorships! If you would like to help contribute to the project financially we now have the ability to accept both one-time donations as well as recurring monthly donations which wil help us advocate for TrueOS around the world.  Thank you all for using and supporting TrueOS!</p>
</blockquote>

<ul>
<li>Notable Changes:

<ul>
<li>Over 1100 OpenRC services have been created for 3rd-party packages. This should ensure the functionality of nearly all available 3rd-party packages that install/use their own services.</li>
<li>The OpenRC services for FreeBSD itself have been overhauled, resulting in significantly shorter boot times.</li>
<li>Separate install images for desktops and servers (server image uses a text/console installer)</li>
<li>Bhyve support for TrueOS Server Install</li>
<li>FreeBSD base is synced with 12.0-CURRENT as of December 4th, 2017 (Github commit: 209d01f)</li>
<li>FreeBSD ports tree is synced as of November 30th (pre-FLAVOR changes)</li>
<li>Lumina Desktop has been updated/developed from 1.3.0 to 1.4.1</li>
<li>PCDM now supports multiple simultaneous graphical sessions</li>
<li>Removable devices are now managed through the “automounter” service.</li>
<li>Devices are “announced” as available to the system via *.desktop shortcuts in /media. These shortcuts also contain a variety of optional “Actions” that may be performed on the device.</li>
<li>Devices are only mounted while they are being used (such as when browsing via the command line or a file manager).</li>
<li>Devices are automatically unmounted as soon as they stop being accessed.</li>
<li>Integrated support for all major filesystems (UFS, EXT, FAT, NTFS, ExFAT, etc..)</li>
<li>NOTE: The Lumina desktop is the only one which supports this functionality at the present time.</li>
<li>The TrueOS update system has moved to an “active” update backend. This means that the user will need to actually start the update process by clicking the “Update Now” button in SysAdm, Lumina, or PCDM (as well as the command-line option). The staging of the update files is still performed automatically by default but this (and many other options) can be easily changed in the “Update Manager” settings as desired.</li>
</ul></li>
<li>Known Errata:

<ul>
<li>[VirtualBox] Running FreeBSD within a VirtualBox VM is known to occasionally receive non-existent mouse clicks – particularly when using a scroll wheel or two-finger scroll.</li>
</ul></li>
<li>Quick Links:

<ul>
<li><a href="https://discourse.trueos.org/" target="_blank" rel="nofollow noopener">TrueOS Forums</a></li>
<li><a href="https://github.com/trueos/trueos-core/issues" target="_blank" rel="nofollow noopener">TrueOS Bugs</a></li>
<li><a href="https://www.trueos.org/handbook/trueos.html" target="_blank" rel="nofollow noopener">TrueOS Handbook</a></li>
<li><a href="https://t.me/TrueOSCommunity" target="_blank" rel="nofollow noopener">TrueOS Community Chat on Telegram</a>
***</li>
</ul></li>
</ul>

<h3><a href="https://begriffs.com/posts/2017-05-17-linux-workstation-guide.html" target="_blank" rel="nofollow noopener">OpenBSD Workstation Guide</a></h3>

<ul>
<li>Design Goals</li>
<li>User actions should complete instantaneously. While I understand if compiling code and rendering videos takes time, opening programs and moving windows should have no observable delay. The system should use minimalist tools.</li>
<li>Corollary: cache data offline when possible. Everything from OpenStreetMaps to StackExchange can be stored locally. No reason to repeatedly hit the internet to query them. This also improves privacy because the initial download is indiscriminate and doesn’t reveal personal queries or patterns of computer activity.</li>
<li>No idling program should use a perceptible amount of CPU. Why does CalendarAgent on my Macbook sometimes use 150% CPU for fifteen minutes? Who knows. Why are background ChromeHelpers chugging along at upper-single-digit CPU? I didn’t realize that holding a rendered DOM could be so challenging.</li>
<li>Avoid interpreted languages, web-based desktop apps, and JavaScript garbage. There, I said it. Take your Electron apps with you to /dev/null!</li>
<li>Stability. Old fashioned programs on a conservative OS on quality mainstream hardware. There are enough challenges to tackle without a bleeding edge system being one of them.</li>
<li>Delegate to quality hardware components. Why use a janky ncurses software audio mixer when you can use…an actual audio mixer?</li>
<li>Hardware privacy. No cameras or microphones that I can’t physically disconnect. Also real hardware protection for cryptographic keys.</li>
<li>Software privacy. Commercial software and operating systems have gotten so terrible about this. I even catch Mac command line tools trying to call Google Analytics. Sorry homebrew, your cute emojis don’t make up for the surveillance.

<ul>
<li>The Hardware</li>
<li>Core</li>
</ul></li>
</ul>

<blockquote>
<p>To get the best hardware for the money I’m opting for a desktop computer. Haven’t had one since the early 2000s and it feels anachronistic, but it will outperform a laptop of similar cost. After much searching, I found the HP Z240 Tower Workstation. It’s no-nonsense and supports exactly the customizations I was looking for:</p>
</blockquote>

<ul>
<li>No operating system pre-loaded (Cut out the “Windows tax”)</li>
<li>Intel Xeon E3-1270 v6 processor (Supports ECC ram)</li>
<li>16 GB (2x8 GB) DDR4-2400 ECC Unbuffered memory (2400Mhz is the full memory clock speed supported by the Xeon)</li>
<li>256 GB HP Z Turbo Drive G2 PCIe SSD (Uses NVMe rather than SATA for faster throughput, supported by nvme(4))</li>
<li>No graphics card (We’ll add our own)</li>
<li><p>Intel® Ethernet I210-T1 PCIe (Supported by em(4))</p></li>
<li><p>A modest discrete video card will enable 2D Glamor acceleration on X11. The Radeon HD 6450 (sold separately) is fanless and listed as supported by radeon(4).</p></li>
<li><p>Why build a solid computer and not protect it? Externally, the APC BR1300G UPS will protect the system from power surges and abrupt shutdowns.</p>

<ul>
<li>Peripherals</li>
</ul></li>
</ul>

<blockquote>
<p>The Matias Ergo Pro uses mechanical switches for that old fashioned clicky sound. It also includes dedicated buttons along the side for copying and pasting. Why is that cool? Well, it improves secondary selection, a technique that Sun computers used but time forgot.<br>
Since we’re talking about a home office workstation, you may want a printer. The higher quality printers speak PostScript and PDF natively. Unix machines connect to them on TCP port 9100 and send PostScript commands directly. (You can print via telnet if you know the commands!) The Brother HL-L5100DN is a duplex LaserJet which allows that “raw” TCP printing.</p>
</blockquote>

<ul>
<li>Audio/Video</li>
</ul>

<blockquote>
<p>I know a lot of people enjoy surrounding themselves with a wall of monitors like they’re in the heart of NASA Mission Control, but I find multi-monitor setups slightly disorienting. It introduces an extra bit of cognitive overhead to determine which monitor is for what exactly. That’s why I’d go with a modest, crisp Dell UltraSharp 24" U2417H. It’s 1080p and yeah there are 4k monitors nowadays, but text and icons are small enough as it is for me!<br>
If I ever considered a second monitor it would be e-ink for comfortably reading electronic copies of books or long articles. The price is currently too high to justify the purchase, but the most promising monitor seems to be the Dasung Paperlike.<br>
In the other direction, video input, it’s more flexible to use a general-purpose HDMI capture box like the Rongyuxuan than settle on a particular webcam. This allows hooking up a real camera, or any other video device.<br>
Although the motherboard for this system has built-in audio, we should use a card with better OpenBSD support. The WBTUO PCIe card uses a C-Media CMI8768 chipset, handled by cmpci(4). The card provides S/PDIFF in and out ports if you ever want to use an external DAC or ADC.<br>
The way to connect it with other things is with a dedicated hardware mixer. The Behringer Xenyx 802 has all the connections needed, and the ability to route audio to and from the computer and a variety of devices at once. The mixer may seem an odd peripheral, but I want to mix the computer with an old fashioned CD player, ham radio gear, and amplifier so this unifies the audio setup.<br>
When doing remote pair programming or video team meetings it’s nice to have a quality microphone. The best ones for this kind of work are directional, with a cardioid reception pattern. The MXL 770 condenser mic is perfect, and uses a powered XLR connection supplied by the mixer.</p>
</blockquote>

<ul>
<li>Backups</li>
</ul>

<blockquote>
<p>We’re going dead simple and old-school, back to tapes. There are a set of tape standards called LTO-n. As n increases the tape capacity gets bigger, but the tape drive gets more expensive. In my opinion the best balance these days for the home user is LTO-3. You can usually find an HP Ultrium 960 LTO-3 on eBay for 150 dollars. The cartridges hold 800GB and are about 15 dollars apiece. Hard drives keep coming down in price, but these tapes are very cheap and simpler than keeping a bunch of disk drives. Also tape has proven longevity, and good recoverability.<br>
To use old fashioned tech like this you need a SCSI host bus adapter like the Adaptec 29320LPE, supported by ahd(4).</p>
</blockquote>

<ul>
<li>Cryptography</li>
</ul>

<blockquote>
<p>You don’t want to generate and store secret keys on a general purpose network attached computer. The attack surface is a mile wide. Generating or manipulating “offline” secret keys needs to happen on a separate computer with no network access.<br>
Little boards like the Raspberry Pi would be good except they use ARM processors (incompatible with Tails OS) and have wifi. The JaguarBoard is a small x86 machine with no wireless capability. Just switch the keyboard and monitor over to this machine for your “cleanroom.” <br>
jaguar board: Generating keys requires entropy. The Linux kernel on Tails samples system properties to generate randomness, but why not help it out with a dedicated true random number generator (TRNG)? Bit Babbler supplies pure randomness at a high bitrate through USB. (OneRNG works better on the OpenBSD main system, via uonerng(4).)<br>
bit babbler: This little computer will save its results onto a OpenPGP Smartcard V2.1. This card provides write-only access to keys, and computes cryptographic primitives internally to sign and encrypt messages. To use it with a regular computer, hook up a Cherry ST2000 card reader. This reader has a PIN pad built in, so no keylogger on the main computer could even obtain your decryption PIN.</p>
</blockquote>

<ul>
<li>The Software</li>
</ul>

<blockquote>
<p>We take the beefed up hardware above and pair it with ninja-fast software written in C. Some text-based, others raw X11 graphical apps unencumbered by ties to any specific window manager.<br>
I’d advise OpenBSD for the underlying operating system, not a Linux. OpenBSD has greater internal consistency, their man pages are impeccable, and they make it a priority to prune old code to keep the system minimal.</p>

<hr>
</blockquote>

<h3><a href="https://dave.cheney.net/2017/12/04/what-have-we-learned-from-the-pdp-11" target="_blank" rel="nofollow noopener">What Have We Learned from the PDP-11?</a></h3>

<blockquote>
<p>The paper I have chosen tonight is a retrospective on a computer design. It is one of a series of papers by Gordon Bell, and various co-authors, spanning the design, growth, and eventual replacement of the companies iconic line of PDP-11 mini computers.<br>
This year represents the 60th anniversary of the founding of the company that produced the PDP-11. It is also 40 years since this paper was written, so I thought it would be entertaining to review Bell’s retrospective through the lens of our own 20/20 hindsight.<br>
To set the scene for this paper, first we should talk a little about the company that produced the PDP-11, the Digital Equipment Corporation of Maynard, Massachusetts. Better known as DEC.<br>
It’s also worth noting that the name PDP is an acronym for “Programmed Data Processor”, as at the time, computers had a reputation of being large, complicated, and expensive machines, and DEC’s venture capitalists would not support them if they built a “computer”<br>
A computer is not solely determined by its architecture; it reflects the technological, economic, and human aspects of the environment in which it was designed and built. […] The finished computer is a product of the total design environment.</p>
</blockquote>

<ul>
<li>“Right from the get go, Bell is letting us know that the success of any computer project is not abstractly building the best computer but building the right computer, and that takes context.”</li>
</ul>

<blockquote>
<p>It is the nature of computer engineering to be goal-oriented, with pressure to produce deliverable products. It is therefore difficult to plan for an extensive lifetime.<br>
Because of the open nature of the PDP-11, anything which interpreted the instructions according to the processor specification, was a PDP-11, so there had been a rush within DEC, once it was clear that the PDP-11 market was heating up, to build implementations; you had different groups building fast, expensive ones and cost reduced slower ones<br>
The first weakness of minicomputers was their limited addressing capability. The biggest (and most common) mistake that can be made in a computer design is that of not providing enough address bits for memory addressing and management.<br>
A second weakness of minicomputers was their tendency not to have enough registers. This was corrected for the PDP-11 by providing eight 16-bit registers. Later, six 32-bit registers were added for floating-point arithmetic.  […] More registers would increase the multiprogramming context switch time and confuse the user.</p>
</blockquote>

<ul>
<li>“It’s also interesting to note Bell’s concern that additional registers would confuse the user. In the early 1970’s the assumption that the machine would be programmed directly in assembly was still the prevailing mindset.”</li>
</ul>

<blockquote>
<p>A third weakness of minicomputers was their lack of hardware stack capability. In the PDP-11, this was solved with the autoincrement/autodecrement addressing mechanism. This solution is unique to the PDP-11 and has proven to be exceptionally useful. (In fact, it has been copied by other designers.)</p>
</blockquote>

<ul>
<li>“Nowadays it’s hard to imagine hardware that doesn’t have a notion of a stack, but consider that a stack isn’t important if you don’t need recursion.”</li>
<li>“The design for the PDP-11 was laid down in 1969 and if we look at the programming languages of the time, FORTRAN and COBOL, neither supported recursive function calls. The function call sequence would often store the return address at a blank word at the start of the procedure making recursion impossible.”</li>
</ul>

<blockquote>
<p>A fourth weakness, limited interrupt capability and slow context switching, was essentially solved with the device of UNIBUS interrupt vectors, which direct device interrupts.<br>
The basic mechanism is very fast, requiring only four memory cycles from the time an interrupt request is issued until the first instruction of the interrupt routine begins execution.<br>
A fifth weakness of prior minicomputers, inadequate character-handling capability, was met in the PDP-11 by providing direct byte addressing capability.</p>
</blockquote>

<ul>
<li>“Strings and character handling were of increasing importance during the 1960’s as scientific and business computing converged. The predominant character encodings at the time were 6 bit character sets which provided just enough space for upper case letters, the digits 0 to 9, space, and a few punctuation characters sufficient for printing financial reports.”</li>
<li>“Because memory was so expensive, placing one 6 bit character into a 12 or 18 bit word was simply unacceptable so characters would be packed into words. This proved efficient for storage, but complex for operations like move, compare, and concatenate, which had to account for a character appearing in the top or bottom of the word, expending valuable words of program storage to cope.”</li>
<li>“The problem was addressed in the PDP-11 by allowing the machine to operate on memory as both a 16-bit word, and the increasingly popular 8-bit byte. The expenditure of 2 additional bits per character was felt to be worth it for simpler string handling, and also eased the adoption of the increasingly popular 7-bit ASCII standard of which DEC were a proponent at the time. Bell concludes this point with the throw away line:”</li>
</ul>

<blockquote>
<p>Although string instructions are not yet provided in the hardware, the common string operations (move, compare, concatenate) can be programmed with very short loops.<br>
A sixth weakness, the inability to use read-only memories, was avoided in the PDP-11. Most code written for the PDP-11 tends to be pure and reentrant without special effort by the programmer, allowing a read-only memory (ROM) to be used directly.<br>
A seventh weakness, one common to many minicomputers, was primitive I/O capabilities.<br>
A ninth weakness of minicomputers was the high cost of programming them. Many users program in assembly language, without the comfortable environment of editors, file systems, and debuggers available on bigger systems. The PDP-11 does not seem to have overcome this weakness, although it appears that more complex systems are being built successfully with the PDP-11 than with its predecessors, the PDP-8 and PDP-15.<br>
The problems faced by computer designers can usually be attributed to one of two causes: inexperience or second-systemitis<br>
Before the PDP-11, there was no UNIX. Before the PDP-11, there was no C, this is the computer that C was designed on. If you want to know why the classical C int is 16 bits wide, it’s because of the PDP-11. UNIX bought us ideas such as pipes, everything is a file, and interactive computing.<br>
UNIX, which had arrived at Berkley in 1974 aboard a tape carried by Ken Thompson, would evolve into the west coast flavoured Berkley Systems Distribution. Berkeley UNIX had been ported to the VAX by the start of the 1980’s and was thriving as the counter cultural alternative to DEC’s own VMS operating system. Berkeley UNIX spawned a new generation of hackers who would go on to form companies like Sun micro systems, and languages like Self, which lead directly to the development of Java. UNIX was ported to a bewildering array of computer systems during the 80’s and the fallout from the UNIX wars gave us the various BSD operating systems who continue to this day.</p>
</blockquote>

<ul>
<li>The article, and the papers it is summarizing, contain a lot more than we could possibly dig into even if we dedicated the entire show to the topic
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://www.teachnix.com/2017/11/29/configuring-two-factor-authentication-on-freebsd-with-duo/" target="_blank" rel="nofollow noopener">Two-factor authentication SSH with Duo in FreeBSD 11</a></h3>

<blockquote>
<p>This setup uses an SSH key as the first factor of authentication. Please watch Part 1 on setting up SSH keys and how to scp it to your server.</p>
</blockquote>

<ul>
<li><p><a href="https://www.youtube.com/watch?v=E5EuvF-iaV0" target="_blank" rel="nofollow noopener">Video guide</a></p></li>
<li><p>Register for a free account at Duo.com</p></li>
<li><p>Install the Duo package on your FreeBSD server</p></li>
</ul>

<p><code>pkg install -y duo</code></p>

<ul>
<li>Log into the Duo site &gt; Applications &gt; Protect an Application &gt; Search for Unix application &gt; Protect this Application This will generate the keys we need to configure Duo.</li>
<li>Edit the Duo config file using the course notes template</li>
</ul>

<p><code>vi /usr/local/etc/pam_duo.conf</code></p>

<ul>
<li>Example config</li>
</ul>

<pre><code>[duo]
; Duo integration key
ikey = Integration key goes here
; Duo secret key
skey = Secret key goes here
; Duo API host
host = API hostname goes here
</code></pre>

<ul>
<li>Change the permissions of the Duo config file. If the permissions are not correct then the service will not function properly.</li>
</ul>

<p><code>chmod 600 /usr/local/etc/pam_duo.conf</code></p>

<ul>
<li>Edit the SSHD config file using the course notes template</li>
</ul>

<p><code>vi /etc/ssh/sshd_config</code></p>

<ul>
<li>Example config</li>
</ul>

<pre><code>ListenAddress 0.0.0.0
Port 22
PasswordAuthentication no
UsePAM yes
ChallengeResponseAuthentication yes
UseDNS no
PermitRootLogin yes
AuthenticationMethods publickey,keyboard-interactive
</code></pre>

<ul>
<li>Edit PAM to configure SSHD for Duo using the course notes template</li>
<li>Example config</li>
</ul>

<pre><code>&amp;#35; auth
auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so       no_warn allow_local
auth            required        /usr/local/lib/security/pam_duo.so

&amp;#35; session
&amp;#35; session        optional        pam_ssh.so              want_agent
session         required        pam_permit.so

&amp;#35; password
&amp;#35; password       sufficient      pam_krb5.so             no_warn try_first_pass
password        required        pam_unix.so             no_warn try_first_pass
</code></pre>

<ul>
<li>Restart the sshd service</li>
</ul>

<p><code>service sshd restart</code></p>

<ul>
<li>SSH into your FreeBSD server and follow the link it outputs to enroll your phone with Duo.</li>
</ul>

<p><code>ssh server.example.com</code></p>

<ul>
<li>SSH into your server again</li>
</ul>

<p><code>ssh server.example.com</code></p>

<ul>
<li>Choose your preferred method and it should log you into your server.</li>
</ul>

<hr>

<h3><a href="https://www.freebsdfoundation.org/blog/2017-release-engineering-recap/" target="_blank" rel="nofollow noopener">FreeBSD 2017 Release Engineering Recap</a></h3>

<blockquote>
<p>This past year was undoubtedly a rather busy and successful year for the Release Engineering Team. Throughout the year, development snapshot builds for FreeBSD-CURRENT and supported FreeBSD-STABLE branches were continually provided. In addition, work to package the base system using pkg(8) continued throughout the year and remains ongoing.<br>
The FreeBSD Release Engineering Team worked on the FreeBSD 11.1-RELEASE, with the code slush starting mid-May. The FreeBSD 11.1-RELEASE cycle stayed on schedule, with the final release build starting July 21, and the final release announcement following on July 25, building upon the stability and reliability of 11.0-RELEASE.<br>
Milestones during the 11.1-RELEASE cycle can be found on the <a href="https://www.freebsd.org/releases/11.1R/schedule.html" target="_blank" rel="nofollow noopener">11.1 schedule page</a>. The final announcement is available <a href="https://www.freebsd.org/releases/11.1R/announce.html" target="_blank" rel="nofollow noopener">here</a>.<br>
The FreeBSD Release Engineering Team started the FreeBSD 10.4-RELEASE cycle, led by Marius Strobl. The FreeBSD 10.4-RELEASE cycle continued on schedule, with the only adjustments to the schedule being the addition of BETA4 and the removal of RC3. FreeBSD 10.4-RELEASE builds upon the stability and reliability of FreeBSD 10.3-RELEASE, and is planned to be the final release from the stable/10 branch.<br>
Milestones during the 10.4-RELEASE cycle can be found on the <a href="https://www.freebsd.org/releases/10.4R/schedule.html" target="_blank" rel="nofollow noopener">10.4 schedule page</a>. The final announcement is available <a href="https://www.freebsd.org/releases/10.4R/announce.html" target="_blank" rel="nofollow noopener">here</a>.<br>
In addition to these releases, support for additional arm single-board computer images were added, notably Raspberry Pi 3 and Pine64. Additionally, release-related documentation effective 12.0-RELEASE and later has been moved from the base system repository to the documentation repository, making it possible to update related documentation as necessary post-release.<br>
Additionally, the FreeBSD Release Engineering article in the Project Handbook had been rewritten to outline current practices used by the Release Engineering Team. For more information on the procedures and processes the FreeBSD Release Engineering Team follows, the new article is available here  and continually updated as procedures change.<br>
Finally, following the availability of FreeBSD 11.1-RELEASE, Glen Barber attended the September Developer Summit hosted at vBSDCon in Reston, VA, USA, where he gave a brief talk comprising of several points relating directly to the 11.1-RELEASE cycle. In particular, some of the points covered included what he felt went well during the release cycle, what did not go as well as it could have, and what we, as a Project, could do better to improve the release process. The slides from the talk are available in the FreeBSD Wiki.<br>
During the question and answer time following the talk, some questions asked included:</p>
</blockquote>

<ul>
<li>Q: Should developers use the ‘Relnotes’ tag in the Subversion commit template more loosely, at risk of an increase in false positives.</li>
</ul>

<blockquote>
<p>A: When asked when the tag in the template was initially added, the answer would have been “no”, however in hindsight it is easier to sift through the false positives, than to comb through months or years of commit logs.</p>
</blockquote>

<ul>
<li>Q: What issues are present preventing moving release-related documentation to the documentation repository?</li>
</ul>

<blockquote>
<p>A: There were some rendering issues last time it was investigated, but it is really nothing more than taking the time to fix those issues. (Note, that since this talk, the migration of the documentation in question had moved.)</p>
</blockquote>

<ul>
<li>Q: Does it make sense to extend the timeframe between milestone builds during a release cycle from one week to two weeks, to allow more time for testing, for example, RC1 versus RC2?</li>
</ul>

<blockquote>
<p>A: No. It would extend the length of the release cycle with no real benefit between milestones since as we draw nearer to the end of a given release cycle, the number of changes to that code base significantly reduce.</p>
</blockquote>

<hr>

<h3><a href="https://flimp.fuzzing-project.org" target="_blank" rel="nofollow noopener">FLIMP - GIMP Exploit on FreeBSD</a></h3>

<blockquote>
<p>In 2014, when starting the <a href="https://fuzzing-project.org/" target="_blank" rel="nofollow noopener">Fuzzing Project</a>, Hanno Böck did some primitive fuzzing on GIMP and reported two bugs. They weren't fixed and were forgotten in the public bug tracker.<br>
Recently Tobias Stöckmann found <a href="https://bugzilla.gnome.org/show_bug.cgi?id=739133" target="_blank" rel="nofollow noopener">one of these bugs</a> (CVE-2017-17785) and figured out that it's easy to exploit.</p>
</blockquote>

<ul>
<li>What kind of bug is that?</li>
</ul>

<blockquote>
<p>It's a classic heap buffer overflow in the FLIC parser. FLIC is a file format for animations and was introduced by Autodesk Animator.</p>
</blockquote>

<ul>
<li>How does the exploit work?</li>
</ul>

<blockquote>
<p>Tobias has created a <a href="https://flimp.fuzzing-project.org/exploit.html" target="_blank" rel="nofollow noopener">detailed writeup</a>.</p>
</blockquote>

<ul>
<li>The exploit doesn't work for me!</li>
</ul>

<blockquote>
<p>We figured out it's unreliable and the memory addresses are depending on many circumstances. The exploit ZIP comes with two variations using different memory addresses.<br>
Try both of them. We also noticed putting the files in a subdirectory sometimes made the exploit work.</p>
</blockquote>

<ul>
<li>Anything more to tell about the GIMP?</li>
</ul>

<blockquote>
<p>There's a wide variety of graphics formats. GIMP tries to support many of them, including many legacy formats that nobody is using any more today.<br>
While this has obvious advantages - you can access the old images you may find on a backup CD from 1995 - it comes with risks. Support for many obscure file formats means many parsers that hardly anyone ever looks at.</p>
</blockquote>

<ul>
<li>So... what about the other parsers?</li>
</ul>

<blockquote>
<p>The <a href="https://bugzilla.gnome.org/show_bug.cgi?id=739134" target="_blank" rel="nofollow noopener">second bug</a> (CVE-2017-17786), which is a simple overread, was in the TGA parser. Furthermore we found buffer overreads in the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=790783" target="_blank" rel="nofollow noopener">XCF parser</a> (CVE-2017-17788), the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=790784" target="_blank" rel="nofollow noopener">Gimp Brush (GBR) parser</a> (CVE-2017-17784) and the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=790849" target="_blank" rel="nofollow noopener">Paint Shop Pro (PSP) parser</a> (CVE-2017-17789).<br>
We found another <a href="https://bugzilla.gnome.org/show_bug.cgi?id=790849" target="_blank" rel="nofollow noopener">Heap buffer overflow</a> in the Paint Shop Pro parser (CVE-2017-17787) which is probably also exploitable.<br>
In other words: The GIMP import parsers are full of memory safety bugs.</p>
</blockquote>

<ul>
<li>What should happen?</li>
</ul>

<blockquote>
<p>First of all obviously all known memory safety bugs should be fixed.<br>
Furthermore we believe the way GIMP plugins work is not ideal for security testing. The plug-ins are separate executables, however they can't be executed on their own, as they communicate with the main GIMP process.<br>
Ideally either these plug-ins should be changed in a way that allows running them directly from the command line or - even better - they should be turned into libraries. The latter would also have the advantage of making the parser code useable for other software projects.<br>
Finally it might be a good idea to sandbox the import parsers.</p>

<hr>
</blockquote>

<h3><a href="http://blog.frankleonhardt.com/2017/dell-fs12-nv7-review-bargain-freebsdzfs-box/" target="_blank" rel="nofollow noopener">Dell FS12-NV7 Review – Bargain FreeBSD/ZFS box</a></h3>

<blockquote>
<p>It seems just about everyone selling refurbished data centre kit has a load of Dell FS12-NV7’s to flog. Dell FS-what? You won’t find them in the Dell catalogue, that’s for sure. They look a bit like C2100s of some vintage, and they have a lot in common. But on closer inspection they’re obviously a “special” for an important customer. Given the number of them knocking around, it’s obviously a customer with big data, centres stuffed full of servers with a lot of processing to do. Here’s a hint: It’s not Google or Amazon.<br>
So, should you be buying a weirdo box with no documentation whatsoever? I’d say yes, definitely. If you’re interests are anything like mine. In a 2U box you can get twin 4-core CPUs and 64Gb of RAM for £150 or less. What’s not to like? Ah yes, the complete lack of documentation.<br>
Over the next few weeks I intend to cover that. And to start off this is my first PC review for nearly twenty years.<br>
As I mentioned, it’s a 2U full length heavy metal box on rails. On the back there are the usual I/O ports: a 9-way RS-232, VGA, two 1Gb Ethernet, two USB2 and a PS/2 keyboard and mouse. The front is taken up by twelve 3.5″ hard drive bays, with the status lights and power button on one of the mounting ears to make room. Unlike other Dell servers, all the connections are on the back, only.<br>
So, in summary, you’re getting a lot for your money if its the kind of thing you want. It’s ideal as a high-performance Unix box with plenty of drive bays (preferably running BSD and ZFS). In this configuration it really shifts. Major bang-per-buck. Another idea I’ve had is using it for a flight simulator. That’s a lot of RAM and processors for the money. If you forego the SAS controllers in the PCIe slots and dump in a decent graphics card and sound board, it’s hard to see what’s could be better (and you get jet engine sound effects without a speaker).<br>
So who should buy one of these? BSD geeks is the obvious answer. With a bit of tweaking they’re a dream. It can build-absolutely-everything in 20-30 minutes. For storage you can put fast SAS drives in and it goes like the wind, even at 3Gb bandwidth per drive. I don’t know if it works with FreeNAS but I can’t see why not – I’m using mostly FreeBSD 11.1 and the generic kernel is fine. And if you want to run a load of weird operating systems (like Windows XP) in VM format, it seems to work very well with the Xen hypervisor and Dom0 under FreeBSD. Or CentOS if you prefer.<br>
So I shall end this review in true PCW style:</p>
</blockquote>

<ul>
<li>Pros:

<ul>
<li>Cheap</li>
<li>Lots of CPUs,</li>
<li>Lots of RAM</li>
<li>Lots of HD slots</li>
<li>Great for BSD/ZFS or VMs</li>
</ul></li>
<li>Cons:

<ul>
<li>Noisy</li>
<li>no AES-NI</li>
<li>SAS needs upgrading</li>
<li>Limited PCI slots</li>
</ul></li>
</ul>

<blockquote>
<p>As I’ve mentioned, the noise and SAS are easy and relatively cheap to fix, and thanks to BitCoin miners, even the PCI slot problem can be sorted. I’ll talk about this in a later post.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171126090055" target="_blank" rel="nofollow noopener">Reflections on Hackathons</a></li>
<li><a href="https://www.youtube.com/watch?v=HijG0hWebZk&amp;list=PL5yV8umka8YQOr1wm719In5LITdGzQMOF" target="_blank" rel="nofollow noopener">7-Part Video Crash Course on SaltStack For FreeBSD</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/the_llvm_thread_sanitizer_has" target="_blank" rel="nofollow noopener">The LLVM Thread Sanitizer has been ported to NetBSD</a></li>
<li><a href="http://bitsavers.informatik.uni-stuttgart.de/bits/Interdata/32bit/unix/univWollongong_v6/miller.pdf" target="_blank" rel="nofollow noopener">The First Unix Port (1998)</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171208082238" target="_blank" rel="nofollow noopener">arm64 platform now officially supported [and has syspatch(8)]</a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/bsdcan-2018-call-for-participation/" target="_blank" rel="nofollow noopener">BSDCan 2018 Call for Participation</a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/asiabsdcon-2018-call-for-papers/" target="_blank" rel="nofollow noopener">AsiaBSDCon 2018 Call for Papers</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Shawn - <a href="http://dpaste.com/3PRPJHG#wrap" target="_blank" rel="nofollow noopener">DragonFlyBSD vagrant images</a></li>
<li>Ben - <a href="http://dpaste.com/0AZ32ZB#wrap" target="_blank" rel="nofollow noopener">undermydesk</a></li>
<li>Ken - <a href="http://dpaste.com/3E8FQC6#wrap" target="_blank" rel="nofollow noopener">Conferences</a></li>
<li>Ben - <a href="http://dpaste.com/0E4538Q#wrap" target="_blank" rel="nofollow noopener">ssh keys</a>

<ul>
<li><a href="https://www.bsdnow.tv/tutorials/ssh-chaining" target="_blank" rel="nofollow noopener">SSH Chaining</a>
***</li>
</ul></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>TrueOS stable 17.12 is out, we have an OpenBSD workstation guide for you, learnings from the PDP-11, FreeBSD 2017 Releng recap and Duo SSH.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.trueos.org/blog/trueos-17-12-release/" target="_blank" rel="nofollow noopener">TrueOS stable release 17.12</a></h3>

<blockquote>
<p>We are pleased to announce a new release of the 6-month STABLE version of TrueOS!<br>
This release cycle focused on lots of cleanup and stabilization of the distinguishing features of TrueOS: OpenRC, boot speed, removable-device management, SysAdm API integrations, Lumina improvements, and more. We have also been working quite a bit on the server offering of TrueOS, and are pleased to provide new text-based server images with support for Virtualization systems such as bhyve! This allows for simple server deployments which also take advantage of the TrueOS improvements to FreeBSD such as:</p>
</blockquote>

<ul>
<li>Sane service management and status reporting with OpenRC</li>
<li>Reliable, non-interactive system update mechanism with fail-safe boot environment support.</li>
<li>Graphical management of remote TrueOS servers through SysAdm (also provides a reliable API for administrating systems remotely).</li>
<li>LibreSSL for all base SSL support.</li>
<li>Base system managed via packages (allows for additional fine-tuning).</li>
<li>Base system is smaller due to the removal of the old GCC version in base. Any compiler and/or version may be installed and used via packages as desired.</li>
<li>Support for newer graphics drivers and chipsets (graphics, networking, wifi, and more)</li>
</ul>

<blockquote>
<p>TrueOS Version 17.12 (2017, December) is now available for download from the TrueOS website. Both the STABLE and UNSTABLE package repositories have also been updated in-sync with each other, so current users only need to follow the prompts about updating their system to run the new release.<br>
We are also pleased to announce the availability of TrueOS Sponsorships! If you would like to help contribute to the project financially we now have the ability to accept both one-time donations as well as recurring monthly donations which wil help us advocate for TrueOS around the world.  Thank you all for using and supporting TrueOS!</p>
</blockquote>

<ul>
<li>Notable Changes:

<ul>
<li>Over 1100 OpenRC services have been created for 3rd-party packages. This should ensure the functionality of nearly all available 3rd-party packages that install/use their own services.</li>
<li>The OpenRC services for FreeBSD itself have been overhauled, resulting in significantly shorter boot times.</li>
<li>Separate install images for desktops and servers (server image uses a text/console installer)</li>
<li>Bhyve support for TrueOS Server Install</li>
<li>FreeBSD base is synced with 12.0-CURRENT as of December 4th, 2017 (Github commit: 209d01f)</li>
<li>FreeBSD ports tree is synced as of November 30th (pre-FLAVOR changes)</li>
<li>Lumina Desktop has been updated/developed from 1.3.0 to 1.4.1</li>
<li>PCDM now supports multiple simultaneous graphical sessions</li>
<li>Removable devices are now managed through the “automounter” service.</li>
<li>Devices are “announced” as available to the system via *.desktop shortcuts in /media. These shortcuts also contain a variety of optional “Actions” that may be performed on the device.</li>
<li>Devices are only mounted while they are being used (such as when browsing via the command line or a file manager).</li>
<li>Devices are automatically unmounted as soon as they stop being accessed.</li>
<li>Integrated support for all major filesystems (UFS, EXT, FAT, NTFS, ExFAT, etc..)</li>
<li>NOTE: The Lumina desktop is the only one which supports this functionality at the present time.</li>
<li>The TrueOS update system has moved to an “active” update backend. This means that the user will need to actually start the update process by clicking the “Update Now” button in SysAdm, Lumina, or PCDM (as well as the command-line option). The staging of the update files is still performed automatically by default but this (and many other options) can be easily changed in the “Update Manager” settings as desired.</li>
</ul></li>
<li>Known Errata:

<ul>
<li>[VirtualBox] Running FreeBSD within a VirtualBox VM is known to occasionally receive non-existent mouse clicks – particularly when using a scroll wheel or two-finger scroll.</li>
</ul></li>
<li>Quick Links:

<ul>
<li><a href="https://discourse.trueos.org/" target="_blank" rel="nofollow noopener">TrueOS Forums</a></li>
<li><a href="https://github.com/trueos/trueos-core/issues" target="_blank" rel="nofollow noopener">TrueOS Bugs</a></li>
<li><a href="https://www.trueos.org/handbook/trueos.html" target="_blank" rel="nofollow noopener">TrueOS Handbook</a></li>
<li><a href="https://t.me/TrueOSCommunity" target="_blank" rel="nofollow noopener">TrueOS Community Chat on Telegram</a>
***</li>
</ul></li>
</ul>

<h3><a href="https://begriffs.com/posts/2017-05-17-linux-workstation-guide.html" target="_blank" rel="nofollow noopener">OpenBSD Workstation Guide</a></h3>

<ul>
<li>Design Goals</li>
<li>User actions should complete instantaneously. While I understand if compiling code and rendering videos takes time, opening programs and moving windows should have no observable delay. The system should use minimalist tools.</li>
<li>Corollary: cache data offline when possible. Everything from OpenStreetMaps to StackExchange can be stored locally. No reason to repeatedly hit the internet to query them. This also improves privacy because the initial download is indiscriminate and doesn’t reveal personal queries or patterns of computer activity.</li>
<li>No idling program should use a perceptible amount of CPU. Why does CalendarAgent on my Macbook sometimes use 150% CPU for fifteen minutes? Who knows. Why are background ChromeHelpers chugging along at upper-single-digit CPU? I didn’t realize that holding a rendered DOM could be so challenging.</li>
<li>Avoid interpreted languages, web-based desktop apps, and JavaScript garbage. There, I said it. Take your Electron apps with you to /dev/null!</li>
<li>Stability. Old fashioned programs on a conservative OS on quality mainstream hardware. There are enough challenges to tackle without a bleeding edge system being one of them.</li>
<li>Delegate to quality hardware components. Why use a janky ncurses software audio mixer when you can use…an actual audio mixer?</li>
<li>Hardware privacy. No cameras or microphones that I can’t physically disconnect. Also real hardware protection for cryptographic keys.</li>
<li>Software privacy. Commercial software and operating systems have gotten so terrible about this. I even catch Mac command line tools trying to call Google Analytics. Sorry homebrew, your cute emojis don’t make up for the surveillance.

<ul>
<li>The Hardware</li>
<li>Core</li>
</ul></li>
</ul>

<blockquote>
<p>To get the best hardware for the money I’m opting for a desktop computer. Haven’t had one since the early 2000s and it feels anachronistic, but it will outperform a laptop of similar cost. After much searching, I found the HP Z240 Tower Workstation. It’s no-nonsense and supports exactly the customizations I was looking for:</p>
</blockquote>

<ul>
<li>No operating system pre-loaded (Cut out the “Windows tax”)</li>
<li>Intel Xeon E3-1270 v6 processor (Supports ECC ram)</li>
<li>16 GB (2x8 GB) DDR4-2400 ECC Unbuffered memory (2400Mhz is the full memory clock speed supported by the Xeon)</li>
<li>256 GB HP Z Turbo Drive G2 PCIe SSD (Uses NVMe rather than SATA for faster throughput, supported by nvme(4))</li>
<li>No graphics card (We’ll add our own)</li>
<li><p>Intel® Ethernet I210-T1 PCIe (Supported by em(4))</p></li>
<li><p>A modest discrete video card will enable 2D Glamor acceleration on X11. The Radeon HD 6450 (sold separately) is fanless and listed as supported by radeon(4).</p></li>
<li><p>Why build a solid computer and not protect it? Externally, the APC BR1300G UPS will protect the system from power surges and abrupt shutdowns.</p>

<ul>
<li>Peripherals</li>
</ul></li>
</ul>

<blockquote>
<p>The Matias Ergo Pro uses mechanical switches for that old fashioned clicky sound. It also includes dedicated buttons along the side for copying and pasting. Why is that cool? Well, it improves secondary selection, a technique that Sun computers used but time forgot.<br>
Since we’re talking about a home office workstation, you may want a printer. The higher quality printers speak PostScript and PDF natively. Unix machines connect to them on TCP port 9100 and send PostScript commands directly. (You can print via telnet if you know the commands!) The Brother HL-L5100DN is a duplex LaserJet which allows that “raw” TCP printing.</p>
</blockquote>

<ul>
<li>Audio/Video</li>
</ul>

<blockquote>
<p>I know a lot of people enjoy surrounding themselves with a wall of monitors like they’re in the heart of NASA Mission Control, but I find multi-monitor setups slightly disorienting. It introduces an extra bit of cognitive overhead to determine which monitor is for what exactly. That’s why I’d go with a modest, crisp Dell UltraSharp 24" U2417H. It’s 1080p and yeah there are 4k monitors nowadays, but text and icons are small enough as it is for me!<br>
If I ever considered a second monitor it would be e-ink for comfortably reading electronic copies of books or long articles. The price is currently too high to justify the purchase, but the most promising monitor seems to be the Dasung Paperlike.<br>
In the other direction, video input, it’s more flexible to use a general-purpose HDMI capture box like the Rongyuxuan than settle on a particular webcam. This allows hooking up a real camera, or any other video device.<br>
Although the motherboard for this system has built-in audio, we should use a card with better OpenBSD support. The WBTUO PCIe card uses a C-Media CMI8768 chipset, handled by cmpci(4). The card provides S/PDIFF in and out ports if you ever want to use an external DAC or ADC.<br>
The way to connect it with other things is with a dedicated hardware mixer. The Behringer Xenyx 802 has all the connections needed, and the ability to route audio to and from the computer and a variety of devices at once. The mixer may seem an odd peripheral, but I want to mix the computer with an old fashioned CD player, ham radio gear, and amplifier so this unifies the audio setup.<br>
When doing remote pair programming or video team meetings it’s nice to have a quality microphone. The best ones for this kind of work are directional, with a cardioid reception pattern. The MXL 770 condenser mic is perfect, and uses a powered XLR connection supplied by the mixer.</p>
</blockquote>

<ul>
<li>Backups</li>
</ul>

<blockquote>
<p>We’re going dead simple and old-school, back to tapes. There are a set of tape standards called LTO-n. As n increases the tape capacity gets bigger, but the tape drive gets more expensive. In my opinion the best balance these days for the home user is LTO-3. You can usually find an HP Ultrium 960 LTO-3 on eBay for 150 dollars. The cartridges hold 800GB and are about 15 dollars apiece. Hard drives keep coming down in price, but these tapes are very cheap and simpler than keeping a bunch of disk drives. Also tape has proven longevity, and good recoverability.<br>
To use old fashioned tech like this you need a SCSI host bus adapter like the Adaptec 29320LPE, supported by ahd(4).</p>
</blockquote>

<ul>
<li>Cryptography</li>
</ul>

<blockquote>
<p>You don’t want to generate and store secret keys on a general purpose network attached computer. The attack surface is a mile wide. Generating or manipulating “offline” secret keys needs to happen on a separate computer with no network access.<br>
Little boards like the Raspberry Pi would be good except they use ARM processors (incompatible with Tails OS) and have wifi. The JaguarBoard is a small x86 machine with no wireless capability. Just switch the keyboard and monitor over to this machine for your “cleanroom.” <br>
jaguar board: Generating keys requires entropy. The Linux kernel on Tails samples system properties to generate randomness, but why not help it out with a dedicated true random number generator (TRNG)? Bit Babbler supplies pure randomness at a high bitrate through USB. (OneRNG works better on the OpenBSD main system, via uonerng(4).)<br>
bit babbler: This little computer will save its results onto a OpenPGP Smartcard V2.1. This card provides write-only access to keys, and computes cryptographic primitives internally to sign and encrypt messages. To use it with a regular computer, hook up a Cherry ST2000 card reader. This reader has a PIN pad built in, so no keylogger on the main computer could even obtain your decryption PIN.</p>
</blockquote>

<ul>
<li>The Software</li>
</ul>

<blockquote>
<p>We take the beefed up hardware above and pair it with ninja-fast software written in C. Some text-based, others raw X11 graphical apps unencumbered by ties to any specific window manager.<br>
I’d advise OpenBSD for the underlying operating system, not a Linux. OpenBSD has greater internal consistency, their man pages are impeccable, and they make it a priority to prune old code to keep the system minimal.</p>

<hr>
</blockquote>

<h3><a href="https://dave.cheney.net/2017/12/04/what-have-we-learned-from-the-pdp-11" target="_blank" rel="nofollow noopener">What Have We Learned from the PDP-11?</a></h3>

<blockquote>
<p>The paper I have chosen tonight is a retrospective on a computer design. It is one of a series of papers by Gordon Bell, and various co-authors, spanning the design, growth, and eventual replacement of the companies iconic line of PDP-11 mini computers.<br>
This year represents the 60th anniversary of the founding of the company that produced the PDP-11. It is also 40 years since this paper was written, so I thought it would be entertaining to review Bell’s retrospective through the lens of our own 20/20 hindsight.<br>
To set the scene for this paper, first we should talk a little about the company that produced the PDP-11, the Digital Equipment Corporation of Maynard, Massachusetts. Better known as DEC.<br>
It’s also worth noting that the name PDP is an acronym for “Programmed Data Processor”, as at the time, computers had a reputation of being large, complicated, and expensive machines, and DEC’s venture capitalists would not support them if they built a “computer”<br>
A computer is not solely determined by its architecture; it reflects the technological, economic, and human aspects of the environment in which it was designed and built. […] The finished computer is a product of the total design environment.</p>
</blockquote>

<ul>
<li>“Right from the get go, Bell is letting us know that the success of any computer project is not abstractly building the best computer but building the right computer, and that takes context.”</li>
</ul>

<blockquote>
<p>It is the nature of computer engineering to be goal-oriented, with pressure to produce deliverable products. It is therefore difficult to plan for an extensive lifetime.<br>
Because of the open nature of the PDP-11, anything which interpreted the instructions according to the processor specification, was a PDP-11, so there had been a rush within DEC, once it was clear that the PDP-11 market was heating up, to build implementations; you had different groups building fast, expensive ones and cost reduced slower ones<br>
The first weakness of minicomputers was their limited addressing capability. The biggest (and most common) mistake that can be made in a computer design is that of not providing enough address bits for memory addressing and management.<br>
A second weakness of minicomputers was their tendency not to have enough registers. This was corrected for the PDP-11 by providing eight 16-bit registers. Later, six 32-bit registers were added for floating-point arithmetic.  […] More registers would increase the multiprogramming context switch time and confuse the user.</p>
</blockquote>

<ul>
<li>“It’s also interesting to note Bell’s concern that additional registers would confuse the user. In the early 1970’s the assumption that the machine would be programmed directly in assembly was still the prevailing mindset.”</li>
</ul>

<blockquote>
<p>A third weakness of minicomputers was their lack of hardware stack capability. In the PDP-11, this was solved with the autoincrement/autodecrement addressing mechanism. This solution is unique to the PDP-11 and has proven to be exceptionally useful. (In fact, it has been copied by other designers.)</p>
</blockquote>

<ul>
<li>“Nowadays it’s hard to imagine hardware that doesn’t have a notion of a stack, but consider that a stack isn’t important if you don’t need recursion.”</li>
<li>“The design for the PDP-11 was laid down in 1969 and if we look at the programming languages of the time, FORTRAN and COBOL, neither supported recursive function calls. The function call sequence would often store the return address at a blank word at the start of the procedure making recursion impossible.”</li>
</ul>

<blockquote>
<p>A fourth weakness, limited interrupt capability and slow context switching, was essentially solved with the device of UNIBUS interrupt vectors, which direct device interrupts.<br>
The basic mechanism is very fast, requiring only four memory cycles from the time an interrupt request is issued until the first instruction of the interrupt routine begins execution.<br>
A fifth weakness of prior minicomputers, inadequate character-handling capability, was met in the PDP-11 by providing direct byte addressing capability.</p>
</blockquote>

<ul>
<li>“Strings and character handling were of increasing importance during the 1960’s as scientific and business computing converged. The predominant character encodings at the time were 6 bit character sets which provided just enough space for upper case letters, the digits 0 to 9, space, and a few punctuation characters sufficient for printing financial reports.”</li>
<li>“Because memory was so expensive, placing one 6 bit character into a 12 or 18 bit word was simply unacceptable so characters would be packed into words. This proved efficient for storage, but complex for operations like move, compare, and concatenate, which had to account for a character appearing in the top or bottom of the word, expending valuable words of program storage to cope.”</li>
<li>“The problem was addressed in the PDP-11 by allowing the machine to operate on memory as both a 16-bit word, and the increasingly popular 8-bit byte. The expenditure of 2 additional bits per character was felt to be worth it for simpler string handling, and also eased the adoption of the increasingly popular 7-bit ASCII standard of which DEC were a proponent at the time. Bell concludes this point with the throw away line:”</li>
</ul>

<blockquote>
<p>Although string instructions are not yet provided in the hardware, the common string operations (move, compare, concatenate) can be programmed with very short loops.<br>
A sixth weakness, the inability to use read-only memories, was avoided in the PDP-11. Most code written for the PDP-11 tends to be pure and reentrant without special effort by the programmer, allowing a read-only memory (ROM) to be used directly.<br>
A seventh weakness, one common to many minicomputers, was primitive I/O capabilities.<br>
A ninth weakness of minicomputers was the high cost of programming them. Many users program in assembly language, without the comfortable environment of editors, file systems, and debuggers available on bigger systems. The PDP-11 does not seem to have overcome this weakness, although it appears that more complex systems are being built successfully with the PDP-11 than with its predecessors, the PDP-8 and PDP-15.<br>
The problems faced by computer designers can usually be attributed to one of two causes: inexperience or second-systemitis<br>
Before the PDP-11, there was no UNIX. Before the PDP-11, there was no C, this is the computer that C was designed on. If you want to know why the classical C int is 16 bits wide, it’s because of the PDP-11. UNIX bought us ideas such as pipes, everything is a file, and interactive computing.<br>
UNIX, which had arrived at Berkley in 1974 aboard a tape carried by Ken Thompson, would evolve into the west coast flavoured Berkley Systems Distribution. Berkeley UNIX had been ported to the VAX by the start of the 1980’s and was thriving as the counter cultural alternative to DEC’s own VMS operating system. Berkeley UNIX spawned a new generation of hackers who would go on to form companies like Sun micro systems, and languages like Self, which lead directly to the development of Java. UNIX was ported to a bewildering array of computer systems during the 80’s and the fallout from the UNIX wars gave us the various BSD operating systems who continue to this day.</p>
</blockquote>

<ul>
<li>The article, and the papers it is summarizing, contain a lot more than we could possibly dig into even if we dedicated the entire show to the topic
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://www.teachnix.com/2017/11/29/configuring-two-factor-authentication-on-freebsd-with-duo/" target="_blank" rel="nofollow noopener">Two-factor authentication SSH with Duo in FreeBSD 11</a></h3>

<blockquote>
<p>This setup uses an SSH key as the first factor of authentication. Please watch Part 1 on setting up SSH keys and how to scp it to your server.</p>
</blockquote>

<ul>
<li><p><a href="https://www.youtube.com/watch?v=E5EuvF-iaV0" target="_blank" rel="nofollow noopener">Video guide</a></p></li>
<li><p>Register for a free account at Duo.com</p></li>
<li><p>Install the Duo package on your FreeBSD server</p></li>
</ul>

<p><code>pkg install -y duo</code></p>

<ul>
<li>Log into the Duo site &gt; Applications &gt; Protect an Application &gt; Search for Unix application &gt; Protect this Application This will generate the keys we need to configure Duo.</li>
<li>Edit the Duo config file using the course notes template</li>
</ul>

<p><code>vi /usr/local/etc/pam_duo.conf</code></p>

<ul>
<li>Example config</li>
</ul>

<pre><code>[duo]
; Duo integration key
ikey = Integration key goes here
; Duo secret key
skey = Secret key goes here
; Duo API host
host = API hostname goes here
</code></pre>

<ul>
<li>Change the permissions of the Duo config file. If the permissions are not correct then the service will not function properly.</li>
</ul>

<p><code>chmod 600 /usr/local/etc/pam_duo.conf</code></p>

<ul>
<li>Edit the SSHD config file using the course notes template</li>
</ul>

<p><code>vi /etc/ssh/sshd_config</code></p>

<ul>
<li>Example config</li>
</ul>

<pre><code>ListenAddress 0.0.0.0
Port 22
PasswordAuthentication no
UsePAM yes
ChallengeResponseAuthentication yes
UseDNS no
PermitRootLogin yes
AuthenticationMethods publickey,keyboard-interactive
</code></pre>

<ul>
<li>Edit PAM to configure SSHD for Duo using the course notes template</li>
<li>Example config</li>
</ul>

<pre><code>&amp;#35; auth
auth            sufficient      pam_opie.so             no_warn no_fake_prompts
auth            requisite       pam_opieaccess.so       no_warn allow_local
auth            required        /usr/local/lib/security/pam_duo.so

&amp;#35; session
&amp;#35; session        optional        pam_ssh.so              want_agent
session         required        pam_permit.so

&amp;#35; password
&amp;#35; password       sufficient      pam_krb5.so             no_warn try_first_pass
password        required        pam_unix.so             no_warn try_first_pass
</code></pre>

<ul>
<li>Restart the sshd service</li>
</ul>

<p><code>service sshd restart</code></p>

<ul>
<li>SSH into your FreeBSD server and follow the link it outputs to enroll your phone with Duo.</li>
</ul>

<p><code>ssh server.example.com</code></p>

<ul>
<li>SSH into your server again</li>
</ul>

<p><code>ssh server.example.com</code></p>

<ul>
<li>Choose your preferred method and it should log you into your server.</li>
</ul>

<hr>

<h3><a href="https://www.freebsdfoundation.org/blog/2017-release-engineering-recap/" target="_blank" rel="nofollow noopener">FreeBSD 2017 Release Engineering Recap</a></h3>

<blockquote>
<p>This past year was undoubtedly a rather busy and successful year for the Release Engineering Team. Throughout the year, development snapshot builds for FreeBSD-CURRENT and supported FreeBSD-STABLE branches were continually provided. In addition, work to package the base system using pkg(8) continued throughout the year and remains ongoing.<br>
The FreeBSD Release Engineering Team worked on the FreeBSD 11.1-RELEASE, with the code slush starting mid-May. The FreeBSD 11.1-RELEASE cycle stayed on schedule, with the final release build starting July 21, and the final release announcement following on July 25, building upon the stability and reliability of 11.0-RELEASE.<br>
Milestones during the 11.1-RELEASE cycle can be found on the <a href="https://www.freebsd.org/releases/11.1R/schedule.html" target="_blank" rel="nofollow noopener">11.1 schedule page</a>. The final announcement is available <a href="https://www.freebsd.org/releases/11.1R/announce.html" target="_blank" rel="nofollow noopener">here</a>.<br>
The FreeBSD Release Engineering Team started the FreeBSD 10.4-RELEASE cycle, led by Marius Strobl. The FreeBSD 10.4-RELEASE cycle continued on schedule, with the only adjustments to the schedule being the addition of BETA4 and the removal of RC3. FreeBSD 10.4-RELEASE builds upon the stability and reliability of FreeBSD 10.3-RELEASE, and is planned to be the final release from the stable/10 branch.<br>
Milestones during the 10.4-RELEASE cycle can be found on the <a href="https://www.freebsd.org/releases/10.4R/schedule.html" target="_blank" rel="nofollow noopener">10.4 schedule page</a>. The final announcement is available <a href="https://www.freebsd.org/releases/10.4R/announce.html" target="_blank" rel="nofollow noopener">here</a>.<br>
In addition to these releases, support for additional arm single-board computer images were added, notably Raspberry Pi 3 and Pine64. Additionally, release-related documentation effective 12.0-RELEASE and later has been moved from the base system repository to the documentation repository, making it possible to update related documentation as necessary post-release.<br>
Additionally, the FreeBSD Release Engineering article in the Project Handbook had been rewritten to outline current practices used by the Release Engineering Team. For more information on the procedures and processes the FreeBSD Release Engineering Team follows, the new article is available here  and continually updated as procedures change.<br>
Finally, following the availability of FreeBSD 11.1-RELEASE, Glen Barber attended the September Developer Summit hosted at vBSDCon in Reston, VA, USA, where he gave a brief talk comprising of several points relating directly to the 11.1-RELEASE cycle. In particular, some of the points covered included what he felt went well during the release cycle, what did not go as well as it could have, and what we, as a Project, could do better to improve the release process. The slides from the talk are available in the FreeBSD Wiki.<br>
During the question and answer time following the talk, some questions asked included:</p>
</blockquote>

<ul>
<li>Q: Should developers use the ‘Relnotes’ tag in the Subversion commit template more loosely, at risk of an increase in false positives.</li>
</ul>

<blockquote>
<p>A: When asked when the tag in the template was initially added, the answer would have been “no”, however in hindsight it is easier to sift through the false positives, than to comb through months or years of commit logs.</p>
</blockquote>

<ul>
<li>Q: What issues are present preventing moving release-related documentation to the documentation repository?</li>
</ul>

<blockquote>
<p>A: There were some rendering issues last time it was investigated, but it is really nothing more than taking the time to fix those issues. (Note, that since this talk, the migration of the documentation in question had moved.)</p>
</blockquote>

<ul>
<li>Q: Does it make sense to extend the timeframe between milestone builds during a release cycle from one week to two weeks, to allow more time for testing, for example, RC1 versus RC2?</li>
</ul>

<blockquote>
<p>A: No. It would extend the length of the release cycle with no real benefit between milestones since as we draw nearer to the end of a given release cycle, the number of changes to that code base significantly reduce.</p>
</blockquote>

<hr>

<h3><a href="https://flimp.fuzzing-project.org" target="_blank" rel="nofollow noopener">FLIMP - GIMP Exploit on FreeBSD</a></h3>

<blockquote>
<p>In 2014, when starting the <a href="https://fuzzing-project.org/" target="_blank" rel="nofollow noopener">Fuzzing Project</a>, Hanno Böck did some primitive fuzzing on GIMP and reported two bugs. They weren't fixed and were forgotten in the public bug tracker.<br>
Recently Tobias Stöckmann found <a href="https://bugzilla.gnome.org/show_bug.cgi?id=739133" target="_blank" rel="nofollow noopener">one of these bugs</a> (CVE-2017-17785) and figured out that it's easy to exploit.</p>
</blockquote>

<ul>
<li>What kind of bug is that?</li>
</ul>

<blockquote>
<p>It's a classic heap buffer overflow in the FLIC parser. FLIC is a file format for animations and was introduced by Autodesk Animator.</p>
</blockquote>

<ul>
<li>How does the exploit work?</li>
</ul>

<blockquote>
<p>Tobias has created a <a href="https://flimp.fuzzing-project.org/exploit.html" target="_blank" rel="nofollow noopener">detailed writeup</a>.</p>
</blockquote>

<ul>
<li>The exploit doesn't work for me!</li>
</ul>

<blockquote>
<p>We figured out it's unreliable and the memory addresses are depending on many circumstances. The exploit ZIP comes with two variations using different memory addresses.<br>
Try both of them. We also noticed putting the files in a subdirectory sometimes made the exploit work.</p>
</blockquote>

<ul>
<li>Anything more to tell about the GIMP?</li>
</ul>

<blockquote>
<p>There's a wide variety of graphics formats. GIMP tries to support many of them, including many legacy formats that nobody is using any more today.<br>
While this has obvious advantages - you can access the old images you may find on a backup CD from 1995 - it comes with risks. Support for many obscure file formats means many parsers that hardly anyone ever looks at.</p>
</blockquote>

<ul>
<li>So... what about the other parsers?</li>
</ul>

<blockquote>
<p>The <a href="https://bugzilla.gnome.org/show_bug.cgi?id=739134" target="_blank" rel="nofollow noopener">second bug</a> (CVE-2017-17786), which is a simple overread, was in the TGA parser. Furthermore we found buffer overreads in the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=790783" target="_blank" rel="nofollow noopener">XCF parser</a> (CVE-2017-17788), the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=790784" target="_blank" rel="nofollow noopener">Gimp Brush (GBR) parser</a> (CVE-2017-17784) and the <a href="https://bugzilla.gnome.org/show_bug.cgi?id=790849" target="_blank" rel="nofollow noopener">Paint Shop Pro (PSP) parser</a> (CVE-2017-17789).<br>
We found another <a href="https://bugzilla.gnome.org/show_bug.cgi?id=790849" target="_blank" rel="nofollow noopener">Heap buffer overflow</a> in the Paint Shop Pro parser (CVE-2017-17787) which is probably also exploitable.<br>
In other words: The GIMP import parsers are full of memory safety bugs.</p>
</blockquote>

<ul>
<li>What should happen?</li>
</ul>

<blockquote>
<p>First of all obviously all known memory safety bugs should be fixed.<br>
Furthermore we believe the way GIMP plugins work is not ideal for security testing. The plug-ins are separate executables, however they can't be executed on their own, as they communicate with the main GIMP process.<br>
Ideally either these plug-ins should be changed in a way that allows running them directly from the command line or - even better - they should be turned into libraries. The latter would also have the advantage of making the parser code useable for other software projects.<br>
Finally it might be a good idea to sandbox the import parsers.</p>

<hr>
</blockquote>

<h3><a href="http://blog.frankleonhardt.com/2017/dell-fs12-nv7-review-bargain-freebsdzfs-box/" target="_blank" rel="nofollow noopener">Dell FS12-NV7 Review – Bargain FreeBSD/ZFS box</a></h3>

<blockquote>
<p>It seems just about everyone selling refurbished data centre kit has a load of Dell FS12-NV7’s to flog. Dell FS-what? You won’t find them in the Dell catalogue, that’s for sure. They look a bit like C2100s of some vintage, and they have a lot in common. But on closer inspection they’re obviously a “special” for an important customer. Given the number of them knocking around, it’s obviously a customer with big data, centres stuffed full of servers with a lot of processing to do. Here’s a hint: It’s not Google or Amazon.<br>
So, should you be buying a weirdo box with no documentation whatsoever? I’d say yes, definitely. If you’re interests are anything like mine. In a 2U box you can get twin 4-core CPUs and 64Gb of RAM for £150 or less. What’s not to like? Ah yes, the complete lack of documentation.<br>
Over the next few weeks I intend to cover that. And to start off this is my first PC review for nearly twenty years.<br>
As I mentioned, it’s a 2U full length heavy metal box on rails. On the back there are the usual I/O ports: a 9-way RS-232, VGA, two 1Gb Ethernet, two USB2 and a PS/2 keyboard and mouse. The front is taken up by twelve 3.5″ hard drive bays, with the status lights and power button on one of the mounting ears to make room. Unlike other Dell servers, all the connections are on the back, only.<br>
So, in summary, you’re getting a lot for your money if its the kind of thing you want. It’s ideal as a high-performance Unix box with plenty of drive bays (preferably running BSD and ZFS). In this configuration it really shifts. Major bang-per-buck. Another idea I’ve had is using it for a flight simulator. That’s a lot of RAM and processors for the money. If you forego the SAS controllers in the PCIe slots and dump in a decent graphics card and sound board, it’s hard to see what’s could be better (and you get jet engine sound effects without a speaker).<br>
So who should buy one of these? BSD geeks is the obvious answer. With a bit of tweaking they’re a dream. It can build-absolutely-everything in 20-30 minutes. For storage you can put fast SAS drives in and it goes like the wind, even at 3Gb bandwidth per drive. I don’t know if it works with FreeNAS but I can’t see why not – I’m using mostly FreeBSD 11.1 and the generic kernel is fine. And if you want to run a load of weird operating systems (like Windows XP) in VM format, it seems to work very well with the Xen hypervisor and Dom0 under FreeBSD. Or CentOS if you prefer.<br>
So I shall end this review in true PCW style:</p>
</blockquote>

<ul>
<li>Pros:

<ul>
<li>Cheap</li>
<li>Lots of CPUs,</li>
<li>Lots of RAM</li>
<li>Lots of HD slots</li>
<li>Great for BSD/ZFS or VMs</li>
</ul></li>
<li>Cons:

<ul>
<li>Noisy</li>
<li>no AES-NI</li>
<li>SAS needs upgrading</li>
<li>Limited PCI slots</li>
</ul></li>
</ul>

<blockquote>
<p>As I’ve mentioned, the noise and SAS are easy and relatively cheap to fix, and thanks to BitCoin miners, even the PCI slot problem can be sorted. I’ll talk about this in a later post.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171126090055" target="_blank" rel="nofollow noopener">Reflections on Hackathons</a></li>
<li><a href="https://www.youtube.com/watch?v=HijG0hWebZk&amp;list=PL5yV8umka8YQOr1wm719In5LITdGzQMOF" target="_blank" rel="nofollow noopener">7-Part Video Crash Course on SaltStack For FreeBSD</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/the_llvm_thread_sanitizer_has" target="_blank" rel="nofollow noopener">The LLVM Thread Sanitizer has been ported to NetBSD</a></li>
<li><a href="http://bitsavers.informatik.uni-stuttgart.de/bits/Interdata/32bit/unix/univWollongong_v6/miller.pdf" target="_blank" rel="nofollow noopener">The First Unix Port (1998)</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171208082238" target="_blank" rel="nofollow noopener">arm64 platform now officially supported [and has syspatch(8)]</a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/bsdcan-2018-call-for-participation/" target="_blank" rel="nofollow noopener">BSDCan 2018 Call for Participation</a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/asiabsdcon-2018-call-for-papers/" target="_blank" rel="nofollow noopener">AsiaBSDCon 2018 Call for Papers</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Shawn - <a href="http://dpaste.com/3PRPJHG#wrap" target="_blank" rel="nofollow noopener">DragonFlyBSD vagrant images</a></li>
<li>Ben - <a href="http://dpaste.com/0AZ32ZB#wrap" target="_blank" rel="nofollow noopener">undermydesk</a></li>
<li>Ken - <a href="http://dpaste.com/3E8FQC6#wrap" target="_blank" rel="nofollow noopener">Conferences</a></li>
<li>Ben - <a href="http://dpaste.com/0E4538Q#wrap" target="_blank" rel="nofollow noopener">ssh keys</a>

<ul>
<li><a href="https://www.bsdnow.tv/tutorials/ssh-chaining" target="_blank" rel="nofollow noopener">SSH Chaining</a>
***</li>
</ul></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>224: The Bus Factor</title>
  <link>https://www.bsdnow.tv/224</link>
  <guid isPermaLink="false">58d9f7dd-0328-4641-b34f-fb00673ba9fb</guid>
  <pubDate>Wed, 13 Dec 2017 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/58d9f7dd-0328-4641-b34f-fb00673ba9fb.mp3" length="72307156" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We try to answer what happens to an open source project after a developers death, we tell you about the last bootstrapped tech company in Silicon Valley, we have an update to the NetBSD Thread sanitizer, and show how to use use cabal on OpenBSD</itunes:subtitle>
  <itunes:duration>1:40:25</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>&lt;p&gt;We try to answer what happens to an open source project after a developers death, we tell you about the last bootstrapped tech company in Silicon Valley, we have an update to the NetBSD Thread sanitizer, and show how to use use cabal on OpenBSD&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.wired.com/story/giving-open-source-projects-life-after-a-developers-death/" target="_blank" rel="nofollow noopener"&gt;Life after death, for code&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;YOU'VE PROBABLY NEVER heard of the late Jim Weirich or his software. But you've almost certainly used apps built on his work.&lt;br&gt;
Weirich helped create several key tools for Ruby, the popular programming language used to write the code for sites like Hulu, Kickstarter, Twitter, and countless others. His code was open source, meaning that anyone could use it and modify it. "He was a seminal member of the western world's Ruby community," says Justin Searls, a Ruby developer and co-founder of the software company Test Double.&lt;br&gt;
When Weirich died in 2014, Searls noticed that no one was maintaining one of Weirich's software-testing tools. That meant there would be no one to approve changes if other developers submitted bug fixes, security patches, or other improvements. Any tests that relied on the tool would eventually fail, as the code became outdated and incompatible with newer tech.&lt;br&gt;
The incident highlights a growing concern in the open-source software community. What happens to code after programmers pass away? Much has been written about what happens to social-media accounts after users die. But it’s been less of an issue among programmers. In part, that’s because most companies and governments relied on commercial software maintained by teams of people. But today, more programs rely on obscure but crucial software like Weirich's.&lt;br&gt;
Some open-source projects are well known, such as the Linux operating system or Google's artificial-intelligence framework TensorFlow. But each of these projects depend on smaller libraries of open-source code. And those libraries depend on other libraries. The result is a complex, but largely hidden, web of software dependencies.&lt;br&gt;
That can create big problems, as in 2014 when a security vulnerability known as "Heartbleed" was found in OpenSSL, an open-source program used by nearly every website that processes credit- or debit-card payments. The software comes bundled with most versions of Linux, but was maintained by a small team of volunteers who didn't have the time or resources to do extensive security audits. Shortly after the Heartbleed fiasco, a security issue was discovered in another common open-source application called Bash that left countless web servers and other devices vulnerable to attack.&lt;br&gt;
There are surely more undiscovered vulnerabilities. Libraries.io, a group that analyzes connections between software projects, has identified more than 2,400 open-source libraries that are used in at least 1,000 other programs but have received little attention from the open-source community.&lt;br&gt;
Security problems are only one part of the issue. If software libraries aren't kept up to date, they may stop working with newer software. That means an application that depends on an outdated library may not work after a user updates other software. When a developer dies or abandons a project, everyone who depends on that software can be affected. Last year when programmer Azer Koçulu deleted a tiny library called Leftpad from the internet, it created ripple effects that reportedly caused headaches at Facebook, Netflix, and elsewhere.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Bus Factor&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The fewer people with ownership of a piece of software, the greater the risk that it could be orphaned. Developers even have a morbid name for this: the bus factor, meaning the number of people who would have to be hit by a bus before there's no one left to maintain the project. Libraries.io has identified about 3,000 open-source libraries that are used in many other programs but have only a handful of contributors.&lt;br&gt;
Orphaned projects are a risk of using open-source software, though commercial software makers can leave users in a similar bind when they stop supporting or updating older programs. In some cases, motivated programmers adopt orphaned open-source code.&lt;br&gt;
That's what Searls did with one of Weirich’s projects. Weirich's most-popular projects had co-managers by the time of his death. But Searls noticed one, the testing tool Rspec-Given, hadn't been handed off, and wanted to take responsibility for updating it. But he ran into a few snags along the way.&lt;br&gt;
Rspec-Given's code was hosted on the popular code-hosting and collaboration site GitHub, home to 67 million codebases. Weirich's Rspec-Given page on GitHub was the main place for people to report bugs or to volunteer to help improve the code. But GitHub wouldn’t give Searls control of the page, because Weirich had not named him before he died. So Searls had to create a new copy of the code, and host it elsewhere. He also had to convince the operators of Ruby Gems, a “package-management system” for distributing code, to use his version of Rspec-Given, instead of Weirich's, so that all users would have access to Searls’ changes. GitHub declined to discuss its policies around transferring control of projects.&lt;/p&gt;

&lt;p&gt;That solved potential problems related to Rspec-Given, but it opened Searls' eyes to the many things that could go wrong. “It’s easy to see open source as a purely technical phenomenon,” Searls says. “But once something takes off and is depended on by hundreds of other people, it becomes a social phenomenon as well.”&lt;br&gt;
The maintainers of most package-management systems have at least an ad-hoc process for transferring control over a library, but that process usually depends on someone noticing that a project has been orphaned and then volunteering to adopt it. "We don’t have an official policy mostly because it hasn’t come up all that often," says Evan Phoenix of the Ruby Gems project. "We do have an adviser council that is used to decide these types of things case by case."&lt;br&gt;
Some package managers now monitor their libraries and flag widely used projects that haven't been updated in a long time. Neil Bowers, who helps maintain a package manager for the programming language Perl, says he sometimes seeks out volunteers to take over orphan projects. Bowers says his group vets claims that a project has been abandoned, and the people proposing to take it over.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A 'Dead-Man's Switch'&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Taking over Rspec-Given inspired Searls, who was only 30 at the time, to make a will and a succession plan for his own open-source projects. There are other things developers can do to help future-proof their work. They can, for example, transfer the copyrights to a foundation, such as the Apache Foundation. But many open-source projects essentially start as hobbies, so programmers may not think to transfer ownership until it is too late.&lt;br&gt;
Searls suggests that GitHub and package managers such as Gems could add something like a "dead man's switch" to their platform, which would allow programmers to automatically transfer ownership of a project or an account to someone else if the creator doesn’t log in or make changes after a set period of time.&lt;br&gt;
But a transition plan means more than just giving people access to the code. Michael Droettboom, who took over a popular mathematics library called Matplotlib after its creator John Hunter died in 2012, points out that successors also need to understand the code. "Sometimes there are parts of the code that only one person understands," he says. "The knowledge exists only in one person's head."&lt;br&gt;
That means getting people involved in a project earlier, ideally as soon as it is used by people other than the original developer. That has another advantage, Searls points out, in distributing the work of maintaining a project to help prevent developer burnout.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.forbes.com/sites/forbestechcouncil/2017/12/12/the-last-bootstrapped-tech-company-in-silicon-valley/2/#4d53d50f1e4d" target="_blank" rel="nofollow noopener"&gt;The Last Bootstrapped Tech Company In Silicon Valley&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;My business partner, Matt Olander, and I were intimately familiar with the ups and downs of the Silicon Valley tech industry when we acquired the remnants of our then-employer BSDi’s enterprise computer business in 2002 and assumed the roles of CEO and CTO. Fast-forward to today, and we still work in the same buildings where BSDi started in 1996, though you’d hardly recognize them today.&lt;br&gt;
As the business grew from a startup to a global brand, our success came from always ensuring we ran a profitable business. While that may sound obvious, keep in mind that we are in the heart of Silicon Valley where venture capitalists hunt for the unicorn company that will skyrocket to a billion-dollar valuation. Unicorns like Facebook and Twitter unquestionably exist, but they are the exception.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Live By The VC, Die By The VC&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After careful consideration, Matt and I decided to bootstrap our company rather than seek funding. The first dot-com bubble had recently burst, and we were seeing close friends lose their jobs right and left at VC-funded companies based on dubious business plans. While we did not have much cash on hand, we did have a customer base and treasured those customers as our greatest asset. We concluded that meeting their needs was the surest path to meeting ours, and the rest would simply be details to address individually. This strategy ended up working so well that we have many of the same customers to this day.&lt;br&gt;
After deciding to bootstrap, we made a decision on a matter that has left egg on the face of many of our competitors: We seated sales next to support under one roof at our manufacturing facility in Silicon Valley. Dell's decision to outsource some of its support overseas in the early 2000s was the greatest gift it could have given us. Some of our sales and support staff have worked with the same clients for over a decade, and we concluded that no amount of funding could buy that mutual loyalty. While accepting venture capital or an acquisition may make you rich, it does not guarantee that your customers, employees or even business will be taken care of. Our motto is, “Treat your customers like friends and employees like family,” and we have an incredibly low employee turnover to show for it.&lt;br&gt;
Thanks to these principles, iXsystems has remained employee-owned, debt-free and profitable from the day we took it over -- all without VC funding, which is why we call ourselves the "last bootstrapped tech company in Silicon Valley." As a result, we now provide enterprise servers to thousands of customers, including top Fortune 500 companies, research and educational institutions, all branches of the military, and numerous government entities.&lt;br&gt;
Over time, however, we realized that we were selling more and more third-party data storage systems with every order. We saw this as a new opportunity. We had partnered with several storage vendors to meet our customers’ needs, but every time we did, we opened a can of worms with regard to supporting our customers to our standards. Given a choice of risking being dragged down by our partners or outmaneuvered by competitors with their own storage portfolios, we made a conscious decision to develop a line of storage products that would not only complement our enterprise servers but tightly integrate with them.&lt;br&gt;
To accelerate this effort, we adopted the FreeNAS open-source software-defined storage project in 2009 and haven’t looked back. The move enabled us to focus on storage, fully leveraging our experience with enterprise hardware and our open source heritage in equal measures. We saw many storage startups appear every quarter, struggling to establish their niche in a sea of competitors. We wondered how they’d instantly master hardware to avoid the partnering mistakes that we made years ago, given that storage hardware and software are truly inseparable at the enterprise level. We entered the storage market with the required hardware expertise, capacity and, most importantly, revenue, allowing us to develop our storage line at our own pace.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Grow Up, But On Your Own Terms&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;By not having the external pressure from VCs or shareholders that your competitors have, you're free to set your own priorities and charge fair prices for your products. Our customers consistently tell us how refreshing our sales and marketing approaches are. We consider honesty, transparency and responsible marketing the only viable strategy when you’re bootstrapped. Your reputation with your customers and vendors should mean everything to you, and we can honestly say that the loyalty we have developed is priceless.&lt;br&gt;
So how can your startup venture down a similar path? Here's our advice for playing the long game:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Relate your experiences to each fad: Our industry is a firehose of fads and buzzwords, and it can be difficult to distinguish the genuine trends from the flops. Analyze every new buzzword in terms of your own products, services and experiences, and monitor customer trends even more carefully. Some buzzwords will even formalize things you have been doing for years.&lt;/li&gt;
&lt;li&gt;Value personal relationships: Companies come and go, but you will maintain many clients and colleagues for decades, regardless of the hat they currently wear. Encourage relationship building at every level of your company because you may encounter someone again.&lt;/li&gt;
&lt;li&gt;Trust your instincts and your colleagues: No contractual terms or credit rating system can beat the instincts you will develop over time for judging the ability of individuals and companies to deliver. You know your business, employees and customers best.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Looking back, I don't think I’d change a thing. We need to be in Silicon Valley for the prime customers, vendors and talent, and it’s a point of pride that our customers recognize how different we are from the norm. Free of a venture capital “runway” and driven by these principles, we look forward to the next 20 years in this highly-competitive industry.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://blog.thelifeofkenneth.com/2017/11/creating-autonomous-system-for-fun-and.html" target="_blank" rel="nofollow noopener"&gt;Creating an AS for fun and profit&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;At its core, the Internet is an interconnected fabric of separate networks. Each network which makes up the Internet is operated independently and only interconnects with other networks in clearly defined places.&lt;br&gt;
For smaller networks like your home, the interaction between your network and the rest of the Internet is usually pretty simple: you buy an Internet service plan from an ISP (Internet Service Provider), they give you some kind of hand-off through something like a DSL or cable modem, and give you access to "the entire Internet". Your router (which is likely also a WiFi access point and Ethernet switch) then only needs to know about two things; your local computers and devices are on one side, and the ENTIRE Internet is on the other side of that network link given to you by your ISP.&lt;br&gt;
For most people, that's the extent of what's needed to be understood about how the Internet works. Pick the best ISP, buy a connection from them, and attach computers needing access to the Internet. And that's fine, as long as you're happy with only having one Internet connection from one vendor, who will lend you some arbitrary IP address(es) for the extend of your service agreement, but that starts not being good enough when you don't want to be beholden to a single ISP or a single connection for your connectivity to the Internet.&lt;br&gt;
That also isn't good enough if you &lt;em&gt;are&lt;/em&gt; an Internet Service Provider so you are literally a part of the Internet. You can't assume that the entire Internet is that way when half of the Internet is actually in the other direction. This is when you really have to start thinking about the Internet and treating the Internet as a very large mesh of independent connected organizations instead of an abstract cloud icon on the edge of your local network map.  Which is pretty much never for most of us.&lt;br&gt;
Almost no one needs to consider the Internet at this level. The long flight of steps from DSL for your apartment up to needing to be an integral part of the Internet means that pretty much regardless of what level of Internet service you need for your projects, you can probably pay someone else to provide it and don't need to sit down and learn how BGP works and what an Autonomous System is. But let's ignore that for one second, and talk about how to become your own ISP.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;To become your own Internet Service Provider with customers who pay you to access the Internet, or be your own web hosting provider with customers who pay you to be accessible from the Internet, or your own transit provider who has customers who pay you to move their customer's packets to other people's customers, you need a few things:

&lt;ul&gt;
&lt;li&gt;Your own public IP address space allocated to you by an Internet numbering organization&lt;/li&gt;
&lt;li&gt;Your own Autonomous System Number (ASN) to identify your network as separate from everyone else's networks&lt;/li&gt;
&lt;li&gt;At least one router connected to a different autonomous system speaking the Border Gateway Protocol to tell the rest of the Internet that your address space is accessible from your autonomous system.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;So... I recently set up my own autonomous system... and I don't really have a fantastic justification for it...&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;My motivation was twofold:

&lt;ul&gt;
&lt;li&gt;One of my friends and I sat down and figured it out that splitting the cost of a rack in Hurricane Electric's FMT2 data center marginally lowered our monthly hosting expenses vs all the paid services we're using scattered across the Internet which can all be condensed into this one rack.&lt;/li&gt;
&lt;li&gt;And this first reason on its own is a perfectly valid justification for paying for co-location space at a data center like Hurricane Electric's, but isn't actually a valid reason for running it as an autonomous system, because Hurricane Electric will gladly let you use their address space for your servers hosted in their building. That's usually part of the deal when you pay for space in a data center: power, cooling, Internet connectivity, and your own IP addresses.&lt;/li&gt;
&lt;li&gt;Another one of my friends challenged me to do it as an Autonomous System.&lt;/li&gt;
&lt;li&gt;So admittedly, my justification for going through the additional trouble to set up this single rack of servers as an AS is a little more tenuous. I will readily admit that, more than anything else, this was a "hold my beer" sort of engineering moment, and not something that is at all needed to achieve what we actually needed (a rack to park all our servers in).&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;But what the hell; I've figured out how to do it, so I figured it would make an entertaining blog post. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;So here's how I set up a multi-homed autonomous system on a shoe-string budget:

&lt;ul&gt;
&lt;li&gt;Step 1. Found a Company&lt;/li&gt;
&lt;li&gt;Step 2. Get Yourself Public Address Space&lt;/li&gt;
&lt;li&gt;Step 3. Find Yourself Multiple Other Autonomous Systems to Peer With&lt;/li&gt;
&lt;li&gt;Step 4. Apply for an Autonomous System Number&lt;/li&gt;
&lt;li&gt;Step 5. Source a Router Capable of Handling the Entire Internet Routing Table&lt;/li&gt;
&lt;li&gt;Step 6. Turn it All On and Pray&lt;/li&gt;
&lt;li&gt;And we're off to the races.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At this point, Hurricane Electric is feeding us all ~700k routes for the Internet, we're feeding them our two routes for our local IPv4 and IPv6 subnets, and all that's left to do is order all our cross-connects to other ASes in the building willing to peer with us (mostly for fun) and load in all our servers to build our own personal corner of the Internet.&lt;br&gt;
The only major goof so far has been accidentally feeding the full IPv6 table to our first other peer that we turned on, but thankfully he has a much more powerful supervisor than the Sup720-BXL, so he just sent me an email to knock that off, a little fiddling with my BGP egress policies, and we were all set.&lt;br&gt;
In the end, setting up my own autonomous system wasn't exactly simple, it was definitely not justified, but some times in life you just need to take the more difficult path. And there's a certain amount of pride in being able to claim that I'm part of the actual Internet. That's pretty neat. &lt;br&gt;
And of course, thanks to all of my friends who variously contributed parts, pieces, resources, and know-how to this on-going project. I had to pull in a lot of favors to pull this off, and I appreciate it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/one_year_checkpoint_and_thread" target="_blank" rel="nofollow noopener"&gt;One year checkpoint and Thread Sanitizer update&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The past year has been started with bugfixes and the development of regression tests for ptrace(2) and related kernel features, as well as the continuation of bringing LLDB support and LLVM sanitizers (ASan + UBsan and partial TSan + Msan) to NetBSD.  My plan for the next year is to finish implementing TSan and MSan support, followed by a long run of bug fixes for LLDB, ptrace(2), and other related kernel subsystems&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;TSan&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In the past month, I've developed Thread Sanitizer far enough to have a subset of its tests pass on NetBSD, started with addressing breakage related to the memory layout of processes. The reason for this breakage was narrowed down to the current implementation of ASLR, which was too aggressive and which didn't allow enough space to be mapped for Shadow memory. The fix for this was to either force the disabling of ASLR per-process, or globally on the system. The same will certainly happen for MSan executables. After some other corrections, I got TSan to work for the first time ever on October 14th. This was a big achievement, so I've made a snapshot available. Getting the snapshot of execution under GDB was pure hazard.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;$ gdb ./a.out                                  
GNU gdb (GDB) 7.12
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64--netbsd".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
.
Find the GDB manual and other documentation resources online at:
.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./a.out...done.
(gdb) r
Starting program: /public/llvm-build/a.out 
[New LWP 2]

WARNING: ThreadSanitizer: data race (pid=1621)
  Write of size 4 at 0x000001475d70 by thread T1:
    #0 Thread1 /public/llvm-build/tsan.c:4:10 (a.out+0x46bf71)

  Previous write of size 4 at 0x000001475d70 by main thread:
    #0 main /public/llvm-build/tsan.c:10:10 (a.out+0x46bfe6)

  Location is global 'Global' of size 4 at 0x000001475d70 (a.out+0x000001475d70)

  Thread T1 (tid=2, running) created by main thread at:
    #0 pthread_create /public/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:930:3 (a.out+0x412120)
    #1 main /public/llvm-build/tsan.c:9:3 (a.out+0x46bfd1)

SUMMARY: ThreadSanitizer: data race /public/llvm-build/tsan.c:4:10 in Thread1

Thread 2 received signal SIGSEGV, Segmentation fault.
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;I was able to get the above execution results around 10% of the time (being under a tracer had no positive effect on the frequency of successful executions).  I've managed to hit the following final results for this month, with another set of bugfixes and improvements:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;check-tsan:
Expected Passes    : 248
Expected Failures  : 1
Unsupported Tests  : 83
Unexpected Failures: 44
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;At the end of the month, TSan can now reliably executabe the same (already-working) program every time. The majority of failures are in tests verifying sanitization of correct mutex locking usage. There are still problems with NetBSD-specific libc and libpthread bootstrap code that conflicts with TSan. Certain functions (pthread_create(3), pthread_key_create(3), _cxa_atexit()) cannot be started early by TSan initialization, and must be deferred late enough for the sanitizer to work correctly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;MSan&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I've prepared a scratch support for MSan on NetBSD to help in researching how far along it is. I've also cloned and adapted the existing FreeBSD bits; however, the code still needs more work and isn't functional yet. The number of passed tests (5) is negligible and most likely does not work at all. The conclusion after this research is that TSan shall be finished first, as it touches similar code. In the future, there will be likely another round of iterating the system structs and types and adding the missing ones for NetBSD. So far, this part has been done before executing the real MSan code. I've added one missing symbol that was missing and was detected when attempting to link a test program with MSan.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Sanitizers&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The GCC team has merged the LLVM sanitizer code, which has resulted in almost-complete support for ASan and UBsan on NetBSD. It can be found in the latest GCC8 snapshot, located in pkgsrc-wip/gcc8snapshot. Though, do note that there is an issue with getting backtraces from libasan.so, which can be worked-around by backtracing ASan events in a debugger. UBsan also passes all GCC regression tests and appears to work fine. The code enabling sanitizers on the GCC/NetBSD frontend will be submitted upstream once the backtracing issue is fixed and I'm satisfied that there are no other problems. I've managed to upstream a large portion of generic+TSan+MSan code to compiler-rt and reduce local patches to only the ones that are in progress. This deals with any rebasing issues, and allows me to just focus on the delta that is being worked on. I've tried out the LLDB builds which have TSan/NetBSD enabled, and they built and started fine. However, there were some false positives related to the mutex locking/unlocking code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Plans for the next milestone&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The general goals are to finish TSan and MSan and switch back to LLDB debugging. I plan to verify the impact of the TSan bootstrap initialization on the observed crashes and research the remaining failures.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This work was sponsored by The NetBSD Foundation.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The NetBSD Foundation is a non-profit organization and welcomes any donations to help us continue funding projects and services to the open-source community. Please consider visiting the following URL, and chip in what you can:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.ungleich.ch/en-us/cms/blog/2017/12/10/the-importance-of-devuan/" target="_blank" rel="nofollow noopener"&gt;The scourge of systemd&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;While this article is actually couched in terms of promoting devuan, a de-systemd-ed version of debian, it would seem the same logic could be applied to all of the BSDs&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Let's say every car manufacturer recently discovered a new technology named "doord", which lets you open up car doors much faster than before. It only takes 0.05 seconds, instead of 1.2 seconds on average. So every time you open a door, you are much, much faster!&lt;br&gt;
Many of the manufacturers decide to implement doord, because the company providing doord makes it clear that it is beneficial for everyone. And additional to opening doors faster, it also standardises things. How to turn on your car? It is the same now everywhere, it is not necessarily to look for the keyhole anymore.&lt;br&gt;
Unfortunately though, sometimes doord does not stop the engine. Or if it is cold outside, it stops the ignition process, because it takes too long. Doord also changes the way your navigation system works, because that is totally related to opening doors, but leads to some users being unable to navigate, which is accepted as collateral damage. In the end, you at least have faster door opening and a standard way to turn on the car. Oh, and if you are in a traffic jam and have to restart the engine often, it will stop restarting it after several times, because that's not what you are supposed to do. You can open the engine hood and tune that setting though, but it will be reset once you buy a new car.&lt;br&gt;
Some of you might now ask themselves "Is systemd THAT bad?". And my answer to it is: No. It is even worse. Systemd developers split the community over a tiny detail that decreases stability significantly and increases complexity for not much real value. And this is not theoretical: We tried to build Data Center Light on Debian and Ubuntu, but servers that don't boot, that don't reboot or systemd-resolved that constantly interferes with our core network configuration made it too expensive to run Debian or Ubuntu.&lt;br&gt;
Yes, you read right: too expensive. While I am writing here in flowery words, the reason to use Devuan is hard calculated costs. We are a small team at ungleich and we simply don't have the time to fix problems caused by systemd on a daily basis. This is even without calculating the security risks that come with systemd.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://deftly.net/posts/2017-10-12-using-cabal-on-openbsd.html" target="_blank" rel="nofollow noopener"&gt;Using cabal on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Since &lt;a href="https://undeadly.org/cgi?action=article&amp;amp;sid=20160527203200" target="_blank" rel="nofollow noopener"&gt;W&lt;sup&gt;X&lt;/sup&gt; became mandatory in OpenBSD&lt;/a&gt;, W&lt;sup&gt;X’d&lt;/sup&gt; binaries are only allowed to be executed from designated locations (mount points). If you used the auto partition layout during install, your /usr/local/ will be mounted with wxallowed. For example, here is the entry for my current machine:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;/dev/sd2g on /usr/local type ffs (local, nodev, wxallowed, softdep)
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a great feature, but if you build applications outside of the wxallowed partition, you are going to run into some issues, especially in the case of cabal (python as well).&lt;br&gt;
Here is an example of what you would see when attempting to do cabal install pandoc:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;qbit@slip[1]:~? cabal update
Config file path source is default config file.
Config file /home/qbit/.cabal/config not found.
Writing default configuration to /home/qbit/.cabal/config
Downloading the latest package list from hackage.haskell.org
qbit@slip[0]:~? cabal install pandoc
Resolving dependencies...
.....
cabal: user error (Error: some packages failed to install:
JuicyPixels-3.2.8.3 failed during the configure step. The exception was:
/home/qbit/.cabal/setup-exe-cache/setup-Simple-Cabal-1.22.5.0-x86_64-openbsd-ghc-7.10.3: runProcess: runInteractiveProcess: exec: permission denied (Permission denied)
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;The error isn’t actually what it says. The untrained eye would assume permissions issue. A quick check of dmesg reveals what is really happening:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;/home/qbit/.cabal/setup-exe-cache/setup-Simple-Cabal-1.22.5.0-x86_64-openbsd-ghc-7.10.3(22924): W^X binary outside wxallowed mountpoint
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenBSD is killing the above binary because it is violating W&lt;sup&gt;X&lt;/sup&gt; and hasn’t been safely kept in its /usr/local corral!&lt;br&gt;
We could solve this problem quickly by marking our /home as wxallowed, however, this would be heavy handed and reckless (we don’t want to allow other potentially unsafe binaries to execute.. just the cabal stuff).&lt;br&gt;
Instead, we will build all our cabal stuff in /usr/local by using a symlink!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;doas mkdir -p /usr/local/{cabal,cabal/build} # make our cabal and build dirs
doas chown -R user:wheel /usr/local/cabal    # set perms
rm -rf ~/.cabal                              # kill the old non-working cabal
ln -s /usr/local/cabal ~/.cabal              # link it!
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;We are almost there! Some cabal packages build outside of ~/.cabal:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;cabal install hakyll
.....
Building foundation-0.0.14...                                                   Preprocessing library foundation-0.0.14...
hsc2hs: dist/build/Foundation/System/Bindings/Posix_hsc_make: runProcess: runInteractiveProcess: exec: permission denied (Permission denied)
Downloading time-locale-compat-0.1.1.3...
.....
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Fortunately, all of the packages I have come across that do this all respect the TMPDIR environment variable!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;alias cabal='env TMPDIR=/usr/local/cabal/build/ cabal'
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;With this alias, you should be able to cabal without issue (so far pandoc, shellcheck and hakyll have all built fine)!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;TL;DR&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;&amp;amp;#35; This assumes /usr/local/ is mounted as wxallowed.
&amp;amp;#35;
doas mkdir -p /usr/local/{cabal,cabal/build}
doas chown -R user:wheel /usr/local/cabal
rm -rf ~/.cabal
ln -s /usr/local/cabal ~/.cabal
alias cabal='env TMPDIR=/usr/local/cabal/build/ cabal'
cabal install pandoc
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://adrianchadd.blogspot.co.uk/2017/10/freebsd-and-aprs-or-hm-what-happens.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD and APRS, or "hm what happens when none of this is well documented.."&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Here's another point along my quest for amateur radio on FreeBSD - bring up basic APRS support. Yes, someone else has done the work, but in the normal open source way it was .. inconsistently documented.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;First is figuring out the hardware platform. I chose the following:

&lt;ul&gt;
&lt;li&gt;A Baofeng UV5R2, since they're cheap, plentiful, and do both VHF and UHF;&lt;/li&gt;
&lt;li&gt;A cable to do sound level conversion and isolation (and yes, I really should post a circuit diagram and picture..);&lt;/li&gt;
&lt;li&gt;A USB sound device, primarily so I can whack it into FreeBSD/Linux devices to get a separate sound card for doing radio work;&lt;/li&gt;
&lt;li&gt;FreeBSD laptop (it'll become a raspberry pi + GPS + sensor + LCD thingy later, but this'll do to start with.)&lt;/li&gt;
&lt;li&gt;The Baofeng is easy - set it to the right frequency (VHF APRS sits on 144.390MHz), turn on VOX so I don't have to make up a PTT cable, done/done.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The PTT bit isn't that hard - one of the microphone jack pins is actually PTT (if you ground it, it engages PTT) so when you make the cable just ensure you expose a ground pin and PTT pin so you can upgrade it later.&lt;/p&gt;

&lt;p&gt;The cable itself isn't that hard either - I had a baofeng handmic lying around (they're like $5) so I pulled it apart for the cable. I'll try to remember to take pictures of that.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Here's a picture I found on the internet that shows the pinout: &lt;a href="https://3.bp.blogspot.com/-58HUyt-9SUw/Wdz6uMauWlI/AAAAAAAAVz8/e7OrnRzN3908UYGUIRI1EBYJ5UcnO0qRgCLcBGAs/s1600/aprs-cable.png" target="_blank" rel="nofollow noopener"&gt;image&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Now, I went a bit further. I bought a bunch of 600 ohm isolation transformers for audio work, so I wired it up as follows:&lt;br&gt;
From the audio output of the USB sound card, I wired up a little attenuator - input is 2k to ground, then 10k to the input side of the transformer; then the output side of the transformer has a 0.01uF greencap capacitor to the microphone input of the baofeng;&lt;br&gt;
From the baofeng I just wired it up to the transformer, then the output side of that went into a 0.01uF greencap capacitor in series to the microphone input of the sound card.&lt;br&gt;
In both instances those capacitors are there as DC blockers.&lt;/p&gt;

&lt;p&gt;Ok, so that bit is easy. Then on to the software side. The normal way people do this stuff is "direwolf" on Linux. So, "pkg install direwolf" installed it. That was easy.&lt;br&gt;
Configuring it up was a bit less easy. &lt;a href="https://andrewmemory.wordpress.com/tag/direwolf/" target="_blank" rel="nofollow noopener"&gt;I found this guide to be helpful&lt;/a&gt;&lt;br&gt;
FreeBSD has the example direwolf config in /usr/local/share/doc/direwolf/examples/direwolf.conf . Now, direwolf will run as a normal user (there's no rc.d script for it yet!) and by default runs out of the current directory. So:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;$ cd ~
$ cp /usr/local/share/doc/direwolf/examples/direwolf.conf . 
$ (edit it)
$ direwolf
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Editing it isn't that hard - you need to change your callsign and the audio device.&lt;/p&gt;

&lt;p&gt;OK, here is the main undocumented bit for FreeBSD - the sound device can just be /dev/dsp . It isn't an ALSA name! Don't waste time trying to use ALSA names. Instead, just find the device you want and reference it. For me the USB sound card shows up as /dev/dsp3 (which is very non specific as USB sound devices come and go, but that's a later problem!) but it's enough to bring it up.&lt;/p&gt;

&lt;p&gt;So yes, following the above guide, using the right sound device name resulted in a working APRS modem.&lt;/p&gt;

&lt;p&gt;Next up - something to talk to it. This is called 'xastir'. It's .. well, when you run it, you'll find exactly how old an X application it is. It's very nostalgically old. But, it is enough to get APRS positioning up and test both the TCP/IP side of APRS and the actual radio radio side.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://andrewmemory.wordpress.com/2015/03/22/setting-up-direwolfxastir-on-a-raspberry-pi/" target="_blank" rel="nofollow noopener"&gt;Here's the guide I followed:&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;So, that was it! So far so good. It actually works well enough to decode and watch APRS traffic around me. I managed to get out position information to the APRS network over both TCP/IP and relayed via VHF radio.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=fE2KDzZaxvE" target="_blank" rel="nofollow noopener"&gt;Zebras All the Way Down - Bryan Cantrill&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/your-impact-on-freebsd/" target="_blank" rel="nofollow noopener"&gt;Your impact on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsdmag.org/secret-good-gui/" target="_blank" rel="nofollow noopener"&gt;The Secret to a good Gui&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/containerd/containerd/releases/tag/v1.0.0" target="_blank" rel="nofollow noopener"&gt;containerd hits v1.0.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=lzdg_2bUh9Y&amp;amp;t=" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.1 Custom Kernels Made Easy - Configuring And Installing A Custom Kernel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pbs.twimg.com/media/DQgCNq6UEAEqa1W.jpg:large" target="_blank" rel="nofollow noopener"&gt;Debugging&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Bostjan - &lt;a href="http://dpaste.com/22ZVJ12#wrap" target="_blank" rel="nofollow noopener"&gt;Backup Tapes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Philipp - &lt;a href="http://dpaste.com/13E8RGR#wrap" target="_blank" rel="nofollow noopener"&gt;A long time ago, there was a script&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Adam - &lt;a href="http://dpaste.com/3BQXXPM#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS Pool Monitoring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Damian - &lt;a href="http://dpaste.com/0ZZVM4R#wrap" target="_blank" rel="nofollow noopener"&gt;KnoxBug&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We try to answer what happens to an open source project after a developers death, we tell you about the last bootstrapped tech company in Silicon Valley, we have an update to the NetBSD Thread sanitizer, and show how to use use cabal on OpenBSD</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.wired.com/story/giving-open-source-projects-life-after-a-developers-death/" target="_blank" rel="nofollow noopener">Life after death, for code</a></h3>

<blockquote>
<p>YOU'VE PROBABLY NEVER heard of the late Jim Weirich or his software. But you've almost certainly used apps built on his work.<br>
Weirich helped create several key tools for Ruby, the popular programming language used to write the code for sites like Hulu, Kickstarter, Twitter, and countless others. His code was open source, meaning that anyone could use it and modify it. "He was a seminal member of the western world's Ruby community," says Justin Searls, a Ruby developer and co-founder of the software company Test Double.<br>
When Weirich died in 2014, Searls noticed that no one was maintaining one of Weirich's software-testing tools. That meant there would be no one to approve changes if other developers submitted bug fixes, security patches, or other improvements. Any tests that relied on the tool would eventually fail, as the code became outdated and incompatible with newer tech.<br>
The incident highlights a growing concern in the open-source software community. What happens to code after programmers pass away? Much has been written about what happens to social-media accounts after users die. But its been less of an issue among programmers. In part, thats because most companies and governments relied on commercial software maintained by teams of people. But today, more programs rely on obscure but crucial software like Weirich's.<br>
Some open-source projects are well known, such as the Linux operating system or Google's artificial-intelligence framework TensorFlow. But each of these projects depend on smaller libraries of open-source code. And those libraries depend on other libraries. The result is a complex, but largely hidden, web of software dependencies.<br>
That can create big problems, as in 2014 when a security vulnerability known as "Heartbleed" was found in OpenSSL, an open-source program used by nearly every website that processes credit- or debit-card payments. The software comes bundled with most versions of Linux, but was maintained by a small team of volunteers who didn't have the time or resources to do extensive security audits. Shortly after the Heartbleed fiasco, a security issue was discovered in another common open-source application called Bash that left countless web servers and other devices vulnerable to attack.<br>
There are surely more undiscovered vulnerabilities. Libraries.io, a group that analyzes connections between software projects, has identified more than 2,400 open-source libraries that are used in at least 1,000 other programs but have received little attention from the open-source community.<br>
Security problems are only one part of the issue. If software libraries aren't kept up to date, they may stop working with newer software. That means an application that depends on an outdated library may not work after a user updates other software. When a developer dies or abandons a project, everyone who depends on that software can be affected. Last year when programmer Azer Koçulu deleted a tiny library called Leftpad from the internet, it created ripple effects that reportedly caused headaches at Facebook, Netflix, and elsewhere.</p>
</blockquote>

<ul>
<li>The Bus Factor</li>
</ul>

<blockquote>
<p>The fewer people with ownership of a piece of software, the greater the risk that it could be orphaned. Developers even have a morbid name for this: the bus factor, meaning the number of people who would have to be hit by a bus before there's no one left to maintain the project. Libraries.io has identified about 3,000 open-source libraries that are used in many other programs but have only a handful of contributors.<br>
Orphaned projects are a risk of using open-source software, though commercial software makers can leave users in a similar bind when they stop supporting or updating older programs. In some cases, motivated programmers adopt orphaned open-source code.<br>
That's what Searls did with one of Weirichs projects. Weirich's most-popular projects had co-managers by the time of his death. But Searls noticed one, the testing tool Rspec-Given, hadn't been handed off, and wanted to take responsibility for updating it. But he ran into a few snags along the way.<br>
Rspec-Given's code was hosted on the popular code-hosting and collaboration site GitHub, home to 67 million codebases. Weirich's Rspec-Given page on GitHub was the main place for people to report bugs or to volunteer to help improve the code. But GitHub wouldnt give Searls control of the page, because Weirich had not named him before he died. So Searls had to create a new copy of the code, and host it elsewhere. He also had to convince the operators of Ruby Gems, a package-management system for distributing code, to use his version of Rspec-Given, instead of Weirich's, so that all users would have access to Searls changes. GitHub declined to discuss its policies around transferring control of projects.</p>

<p>That solved potential problems related to Rspec-Given, but it opened Searls' eyes to the many things that could go wrong. Its easy to see open source as a purely technical phenomenon, Searls says. But once something takes off and is depended on by hundreds of other people, it becomes a social phenomenon as well.<br>
The maintainers of most package-management systems have at least an ad-hoc process for transferring control over a library, but that process usually depends on someone noticing that a project has been orphaned and then volunteering to adopt it. "We dont have an official policy mostly because it hasnt come up all that often," says Evan Phoenix of the Ruby Gems project. "We do have an adviser council that is used to decide these types of things case by case."<br>
Some package managers now monitor their libraries and flag widely used projects that haven't been updated in a long time. Neil Bowers, who helps maintain a package manager for the programming language Perl, says he sometimes seeks out volunteers to take over orphan projects. Bowers says his group vets claims that a project has been abandoned, and the people proposing to take it over.</p>
</blockquote>

<ul>
<li>A 'Dead-Man's Switch'</li>
</ul>

<blockquote>
<p>Taking over Rspec-Given inspired Searls, who was only 30 at the time, to make a will and a succession plan for his own open-source projects. There are other things developers can do to help future-proof their work. They can, for example, transfer the copyrights to a foundation, such as the Apache Foundation. But many open-source projects essentially start as hobbies, so programmers may not think to transfer ownership until it is too late.<br>
Searls suggests that GitHub and package managers such as Gems could add something like a "dead man's switch" to their platform, which would allow programmers to automatically transfer ownership of a project or an account to someone else if the creator doesnt log in or make changes after a set period of time.<br>
But a transition plan means more than just giving people access to the code. Michael Droettboom, who took over a popular mathematics library called Matplotlib after its creator John Hunter died in 2012, points out that successors also need to understand the code. "Sometimes there are parts of the code that only one person understands," he says. "The knowledge exists only in one person's head."<br>
That means getting people involved in a project earlier, ideally as soon as it is used by people other than the original developer. That has another advantage, Searls points out, in distributing the work of maintaining a project to help prevent developer burnout.</p>
</blockquote>

<hr>

<h3><a href="https://www.forbes.com/sites/forbestechcouncil/2017/12/12/the-last-bootstrapped-tech-company-in-silicon-valley/2/#4d53d50f1e4d" target="_blank" rel="nofollow noopener">The Last Bootstrapped Tech Company In Silicon Valley</a></h3>

<blockquote>
<p>My business partner, Matt Olander, and I were intimately familiar with the ups and downs of the Silicon Valley tech industry when we acquired the remnants of our then-employer BSDis enterprise computer business in 2002 and assumed the roles of CEO and CTO. Fast-forward to today, and we still work in the same buildings where BSDi started in 1996, though youd hardly recognize them today.<br>
As the business grew from a startup to a global brand, our success came from always ensuring we ran a profitable business. While that may sound obvious, keep in mind that we are in the heart of Silicon Valley where venture capitalists hunt for the unicorn company that will skyrocket to a billion-dollar valuation. Unicorns like Facebook and Twitter unquestionably exist, but they are the exception.</p>
</blockquote>

<ul>
<li>Live By The VC, Die By The VC</li>
</ul>

<blockquote>
<p>After careful consideration, Matt and I decided to bootstrap our company rather than seek funding. The first dot-com bubble had recently burst, and we were seeing close friends lose their jobs right and left at VC-funded companies based on dubious business plans. While we did not have much cash on hand, we did have a customer base and treasured those customers as our greatest asset. We concluded that meeting their needs was the surest path to meeting ours, and the rest would simply be details to address individually. This strategy ended up working so well that we have many of the same customers to this day.<br>
After deciding to bootstrap, we made a decision on a matter that has left egg on the face of many of our competitors: We seated sales next to support under one roof at our manufacturing facility in Silicon Valley. Dell's decision to outsource some of its support overseas in the early 2000s was the greatest gift it could have given us. Some of our sales and support staff have worked with the same clients for over a decade, and we concluded that no amount of funding could buy that mutual loyalty. While accepting venture capital or an acquisition may make you rich, it does not guarantee that your customers, employees or even business will be taken care of. Our motto is, Treat your customers like friends and employees like family, and we have an incredibly low employee turnover to show for it.<br>
Thanks to these principles, iXsystems has remained employee-owned, debt-free and profitable from the day we took it over -- all without VC funding, which is why we call ourselves the "last bootstrapped tech company in Silicon Valley." As a result, we now provide enterprise servers to thousands of customers, including top Fortune 500 companies, research and educational institutions, all branches of the military, and numerous government entities.<br>
Over time, however, we realized that we were selling more and more third-party data storage systems with every order. We saw this as a new opportunity. We had partnered with several storage vendors to meet our customers needs, but every time we did, we opened a can of worms with regard to supporting our customers to our standards. Given a choice of risking being dragged down by our partners or outmaneuvered by competitors with their own storage portfolios, we made a conscious decision to develop a line of storage products that would not only complement our enterprise servers but tightly integrate with them.<br>
To accelerate this effort, we adopted the FreeNAS open-source software-defined storage project in 2009 and havent looked back. The move enabled us to focus on storage, fully leveraging our experience with enterprise hardware and our open source heritage in equal measures. We saw many storage startups appear every quarter, struggling to establish their niche in a sea of competitors. We wondered how theyd instantly master hardware to avoid the partnering mistakes that we made years ago, given that storage hardware and software are truly inseparable at the enterprise level. We entered the storage market with the required hardware expertise, capacity and, most importantly, revenue, allowing us to develop our storage line at our own pace.</p>
</blockquote>

<ul>
<li>Grow Up, But On Your Own Terms</li>
</ul>

<blockquote>
<p>By not having the external pressure from VCs or shareholders that your competitors have, you're free to set your own priorities and charge fair prices for your products. Our customers consistently tell us how refreshing our sales and marketing approaches are. We consider honesty, transparency and responsible marketing the only viable strategy when youre bootstrapped. Your reputation with your customers and vendors should mean everything to you, and we can honestly say that the loyalty we have developed is priceless.<br>
So how can your startup venture down a similar path? Here's our advice for playing the long game:</p>
</blockquote>

<ul>
<li>Relate your experiences to each fad: Our industry is a firehose of fads and buzzwords, and it can be difficult to distinguish the genuine trends from the flops. Analyze every new buzzword in terms of your own products, services and experiences, and monitor customer trends even more carefully. Some buzzwords will even formalize things you have been doing for years.</li>
<li>Value personal relationships: Companies come and go, but you will maintain many clients and colleagues for decades, regardless of the hat they currently wear. Encourage relationship building at every level of your company because you may encounter someone again.</li>
<li>Trust your instincts and your colleagues: No contractual terms or credit rating system can beat the instincts you will develop over time for judging the ability of individuals and companies to deliver. You know your business, employees and customers best.</li>
</ul>

<blockquote>
<p>Looking back, I don't think Id change a thing. We need to be in Silicon Valley for the prime customers, vendors and talent, and its a point of pride that our customers recognize how different we are from the norm. Free of a venture capital runway and driven by these principles, we look forward to the next 20 years in this highly-competitive industry.</p>
</blockquote>

<hr>

<h3><a href="http://blog.thelifeofkenneth.com/2017/11/creating-autonomous-system-for-fun-and.html" target="_blank" rel="nofollow noopener">Creating an AS for fun and profit</a></h3>

<blockquote>
<p>At its core, the Internet is an interconnected fabric of separate networks. Each network which makes up the Internet is operated independently and only interconnects with other networks in clearly defined places.<br>
For smaller networks like your home, the interaction between your network and the rest of the Internet is usually pretty simple: you buy an Internet service plan from an ISP (Internet Service Provider), they give you some kind of hand-off through something like a DSL or cable modem, and give you access to "the entire Internet". Your router (which is likely also a WiFi access point and Ethernet switch) then only needs to know about two things; your local computers and devices are on one side, and the ENTIRE Internet is on the other side of that network link given to you by your ISP.<br>
For most people, that's the extent of what's needed to be understood about how the Internet works. Pick the best ISP, buy a connection from them, and attach computers needing access to the Internet. And that's fine, as long as you're happy with only having one Internet connection from one vendor, who will lend you some arbitrary IP address(es) for the extend of your service agreement, but that starts not being good enough when you don't want to be beholden to a single ISP or a single connection for your connectivity to the Internet.<br>
That also isn't good enough if you <em>are</em> an Internet Service Provider so you are literally a part of the Internet. You can't assume that the entire Internet is that way when half of the Internet is actually in the other direction. This is when you really have to start thinking about the Internet and treating the Internet as a very large mesh of independent connected organizations instead of an abstract cloud icon on the edge of your local network map.  Which is pretty much never for most of us.<br>
Almost no one needs to consider the Internet at this level. The long flight of steps from DSL for your apartment up to needing to be an integral part of the Internet means that pretty much regardless of what level of Internet service you need for your projects, you can probably pay someone else to provide it and don't need to sit down and learn how BGP works and what an Autonomous System is. But let's ignore that for one second, and talk about how to become your own ISP.</p>
</blockquote>

<ul>
<li>To become your own Internet Service Provider with customers who pay you to access the Internet, or be your own web hosting provider with customers who pay you to be accessible from the Internet, or your own transit provider who has customers who pay you to move their customer's packets to other people's customers, you need a few things:

<ul>
<li>Your own public IP address space allocated to you by an Internet numbering organization</li>
<li>Your own Autonomous System Number (ASN) to identify your network as separate from everyone else's networks</li>
<li>At least one router connected to a different autonomous system speaking the Border Gateway Protocol to tell the rest of the Internet that your address space is accessible from your autonomous system.</li>
</ul></li>
</ul>

<blockquote>
<p>So... I recently set up my own autonomous system... and I don't really have a fantastic justification for it...</p>
</blockquote>

<ul>
<li>My motivation was twofold:

<ul>
<li>One of my friends and I sat down and figured it out that splitting the cost of a rack in Hurricane Electric's FMT2 data center marginally lowered our monthly hosting expenses vs all the paid services we're using scattered across the Internet which can all be condensed into this one rack.</li>
<li>And this first reason on its own is a perfectly valid justification for paying for co-location space at a data center like Hurricane Electric's, but isn't actually a valid reason for running it as an autonomous system, because Hurricane Electric will gladly let you use their address space for your servers hosted in their building. That's usually part of the deal when you pay for space in a data center: power, cooling, Internet connectivity, and your own IP addresses.</li>
<li>Another one of my friends challenged me to do it as an Autonomous System.</li>
<li>So admittedly, my justification for going through the additional trouble to set up this single rack of servers as an AS is a little more tenuous. I will readily admit that, more than anything else, this was a "hold my beer" sort of engineering moment, and not something that is at all needed to achieve what we actually needed (a rack to park all our servers in).</li>
</ul></li>
</ul>

<blockquote>
<p>But what the hell; I've figured out how to do it, so I figured it would make an entertaining blog post. </p>
</blockquote>

<ul>
<li>So here's how I set up a multi-homed autonomous system on a shoe-string budget:

<ul>
<li>Step 1. Found a Company</li>
<li>Step 2. Get Yourself Public Address Space</li>
<li>Step 3. Find Yourself Multiple Other Autonomous Systems to Peer With</li>
<li>Step 4. Apply for an Autonomous System Number</li>
<li>Step 5. Source a Router Capable of Handling the Entire Internet Routing Table</li>
<li>Step 6. Turn it All On and Pray</li>
<li>And we're off to the races.</li>
</ul></li>
</ul>

<blockquote>
<p>At this point, Hurricane Electric is feeding us all ~700k routes for the Internet, we're feeding them our two routes for our local IPv4 and IPv6 subnets, and all that's left to do is order all our cross-connects to other ASes in the building willing to peer with us (mostly for fun) and load in all our servers to build our own personal corner of the Internet.<br>
The only major goof so far has been accidentally feeding the full IPv6 table to our first other peer that we turned on, but thankfully he has a much more powerful supervisor than the Sup720-BXL, so he just sent me an email to knock that off, a little fiddling with my BGP egress policies, and we were all set.<br>
In the end, setting up my own autonomous system wasn't exactly simple, it was definitely not justified, but some times in life you just need to take the more difficult path. And there's a certain amount of pride in being able to claim that I'm part of the actual Internet. That's pretty neat. <br>
And of course, thanks to all of my friends who variously contributed parts, pieces, resources, and know-how to this on-going project. I had to pull in a lot of favors to pull this off, and I appreciate it.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/one_year_checkpoint_and_thread" target="_blank" rel="nofollow noopener">One year checkpoint and Thread Sanitizer update</a></h3>

<blockquote>
<p>The past year has been started with bugfixes and the development of regression tests for ptrace(2) and related kernel features, as well as the continuation of bringing LLDB support and LLVM sanitizers (ASan + UBsan and partial TSan + Msan) to NetBSD.  My plan for the next year is to finish implementing TSan and MSan support, followed by a long run of bug fixes for LLDB, ptrace(2), and other related kernel subsystems</p>
</blockquote>

<ul>
<li>TSan</li>
</ul>

<blockquote>
<p>In the past month, I've developed Thread Sanitizer far enough to have a subset of its tests pass on NetBSD, started with addressing breakage related to the memory layout of processes. The reason for this breakage was narrowed down to the current implementation of ASLR, which was too aggressive and which didn't allow enough space to be mapped for Shadow memory. The fix for this was to either force the disabling of ASLR per-process, or globally on the system. The same will certainly happen for MSan executables. After some other corrections, I got TSan to work for the first time ever on October 14th. This was a big achievement, so I've made a snapshot available. Getting the snapshot of execution under GDB was pure hazard.</p>
</blockquote>

<pre><code>$ gdb ./a.out                                  
GNU gdb (GDB) 7.12
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64--netbsd".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
.
Find the GDB manual and other documentation resources online at:
.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./a.out...done.
(gdb) r
Starting program: /public/llvm-build/a.out 
[New LWP 2]

WARNING: ThreadSanitizer: data race (pid=1621)
  Write of size 4 at 0x000001475d70 by thread T1:
    #0 Thread1 /public/llvm-build/tsan.c:4:10 (a.out+0x46bf71)

  Previous write of size 4 at 0x000001475d70 by main thread:
    #0 main /public/llvm-build/tsan.c:10:10 (a.out+0x46bfe6)

  Location is global 'Global' of size 4 at 0x000001475d70 (a.out+0x000001475d70)

  Thread T1 (tid=2, running) created by main thread at:
    #0 pthread_create /public/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:930:3 (a.out+0x412120)
    #1 main /public/llvm-build/tsan.c:9:3 (a.out+0x46bfd1)

SUMMARY: ThreadSanitizer: data race /public/llvm-build/tsan.c:4:10 in Thread1

Thread 2 received signal SIGSEGV, Segmentation fault.
</code></pre>

<blockquote>
<p>I was able to get the above execution results around 10% of the time (being under a tracer had no positive effect on the frequency of successful executions).  I've managed to hit the following final results for this month, with another set of bugfixes and improvements:</p>
</blockquote>

<pre><code>check-tsan:
Expected Passes    : 248
Expected Failures  : 1
Unsupported Tests  : 83
Unexpected Failures: 44
</code></pre>

<blockquote>
<p>At the end of the month, TSan can now reliably executabe the same (already-working) program every time. The majority of failures are in tests verifying sanitization of correct mutex locking usage. There are still problems with NetBSD-specific libc and libpthread bootstrap code that conflicts with TSan. Certain functions (pthread_create(3), pthread_key_create(3), _cxa_atexit()) cannot be started early by TSan initialization, and must be deferred late enough for the sanitizer to work correctly.</p>
</blockquote>

<ul>
<li>MSan</li>
</ul>

<blockquote>
<p>I've prepared a scratch support for MSan on NetBSD to help in researching how far along it is. I've also cloned and adapted the existing FreeBSD bits; however, the code still needs more work and isn't functional yet. The number of passed tests (5) is negligible and most likely does not work at all. The conclusion after this research is that TSan shall be finished first, as it touches similar code. In the future, there will be likely another round of iterating the system structs and types and adding the missing ones for NetBSD. So far, this part has been done before executing the real MSan code. I've added one missing symbol that was missing and was detected when attempting to link a test program with MSan.</p>
</blockquote>

<ul>
<li>Sanitizers</li>
</ul>

<blockquote>
<p>The GCC team has merged the LLVM sanitizer code, which has resulted in almost-complete support for ASan and UBsan on NetBSD. It can be found in the latest GCC8 snapshot, located in pkgsrc-wip/gcc8snapshot. Though, do note that there is an issue with getting backtraces from libasan.so, which can be worked-around by backtracing ASan events in a debugger. UBsan also passes all GCC regression tests and appears to work fine. The code enabling sanitizers on the GCC/NetBSD frontend will be submitted upstream once the backtracing issue is fixed and I'm satisfied that there are no other problems. I've managed to upstream a large portion of generic+TSan+MSan code to compiler-rt and reduce local patches to only the ones that are in progress. This deals with any rebasing issues, and allows me to just focus on the delta that is being worked on. I've tried out the LLDB builds which have TSan/NetBSD enabled, and they built and started fine. However, there were some false positives related to the mutex locking/unlocking code.</p>
</blockquote>

<ul>
<li>Plans for the next milestone</li>
</ul>

<blockquote>
<p>The general goals are to finish TSan and MSan and switch back to LLDB debugging. I plan to verify the impact of the TSan bootstrap initialization on the observed crashes and research the remaining failures.</p>
</blockquote>

<ul>
<li>This work was sponsored by The NetBSD Foundation.</li>
</ul>

<blockquote>
<p>The NetBSD Foundation is a non-profit organization and welcomes any donations to help us continue funding projects and services to the open-source community. Please consider visiting the following URL, and chip in what you can:</p>
</blockquote>

<hr>

<h3><a href="https://blog.ungleich.ch/en-us/cms/blog/2017/12/10/the-importance-of-devuan/" target="_blank" rel="nofollow noopener">The scourge of systemd</a></h3>

<ul>
<li>While this article is actually couched in terms of promoting devuan, a de-systemd-ed version of debian, it would seem the same logic could be applied to all of the BSDs</li>
</ul>

<blockquote>
<p>Let's say every car manufacturer recently discovered a new technology named "doord", which lets you open up car doors much faster than before. It only takes 0.05 seconds, instead of 1.2 seconds on average. So every time you open a door, you are much, much faster!<br>
Many of the manufacturers decide to implement doord, because the company providing doord makes it clear that it is beneficial for everyone. And additional to opening doors faster, it also standardises things. How to turn on your car? It is the same now everywhere, it is not necessarily to look for the keyhole anymore.<br>
Unfortunately though, sometimes doord does not stop the engine. Or if it is cold outside, it stops the ignition process, because it takes too long. Doord also changes the way your navigation system works, because that is totally related to opening doors, but leads to some users being unable to navigate, which is accepted as collateral damage. In the end, you at least have faster door opening and a standard way to turn on the car. Oh, and if you are in a traffic jam and have to restart the engine often, it will stop restarting it after several times, because that's not what you are supposed to do. You can open the engine hood and tune that setting though, but it will be reset once you buy a new car.<br>
Some of you might now ask themselves "Is systemd THAT bad?". And my answer to it is: No. It is even worse. Systemd developers split the community over a tiny detail that decreases stability significantly and increases complexity for not much real value. And this is not theoretical: We tried to build Data Center Light on Debian and Ubuntu, but servers that don't boot, that don't reboot or systemd-resolved that constantly interferes with our core network configuration made it too expensive to run Debian or Ubuntu.<br>
Yes, you read right: too expensive. While I am writing here in flowery words, the reason to use Devuan is hard calculated costs. We are a small team at ungleich and we simply don't have the time to fix problems caused by systemd on a daily basis. This is even without calculating the security risks that come with systemd.</p>

<hr>
</blockquote>

<h3><a href="https://deftly.net/posts/2017-10-12-using-cabal-on-openbsd.html" target="_blank" rel="nofollow noopener">Using cabal on OpenBSD</a></h3>

<blockquote>
<p>Since <a href="https://undeadly.org/cgi?action=article&amp;sid=20160527203200" target="_blank" rel="nofollow noopener">W<sup>X</sup> became mandatory in OpenBSD</a>, W<sup>Xd</sup> binaries are only allowed to be executed from designated locations (mount points). If you used the auto partition layout during install, your /usr/local/ will be mounted with wxallowed. For example, here is the entry for my current machine:</p>
</blockquote>

<pre><code>/dev/sd2g on /usr/local type ffs (local, nodev, wxallowed, softdep)
</code></pre>

<blockquote>
<p>This is a great feature, but if you build applications outside of the wxallowed partition, you are going to run into some issues, especially in the case of cabal (python as well).<br>
Here is an example of what you would see when attempting to do cabal install pandoc:</p>
</blockquote>

<pre><code>qbit@slip[1]:~? cabal update
Config file path source is default config file.
Config file /home/qbit/.cabal/config not found.
Writing default configuration to /home/qbit/.cabal/config
Downloading the latest package list from hackage.haskell.org
qbit@slip[0]:~? cabal install pandoc
Resolving dependencies...
.....
cabal: user error (Error: some packages failed to install:
JuicyPixels-3.2.8.3 failed during the configure step. The exception was:
/home/qbit/.cabal/setup-exe-cache/setup-Simple-Cabal-1.22.5.0-x86_64-openbsd-ghc-7.10.3: runProcess: runInteractiveProcess: exec: permission denied (Permission denied)
</code></pre>

<blockquote>
<p>The error isnt actually what it says. The untrained eye would assume permissions issue. A quick check of dmesg reveals what is really happening:</p>
</blockquote>

<pre><code>/home/qbit/.cabal/setup-exe-cache/setup-Simple-Cabal-1.22.5.0-x86_64-openbsd-ghc-7.10.3(22924): W^X binary outside wxallowed mountpoint
</code></pre>

<blockquote>
<p>OpenBSD is killing the above binary because it is violating W<sup>X</sup> and hasnt been safely kept in its /usr/local corral!<br>
We could solve this problem quickly by marking our /home as wxallowed, however, this would be heavy handed and reckless (we dont want to allow other potentially unsafe binaries to execute.. just the cabal stuff).<br>
Instead, we will build all our cabal stuff in /usr/local by using a symlink!</p>
</blockquote>

<pre><code>doas mkdir -p /usr/local/{cabal,cabal/build} # make our cabal and build dirs
doas chown -R user:wheel /usr/local/cabal    # set perms
rm -rf ~/.cabal                              # kill the old non-working cabal
ln -s /usr/local/cabal ~/.cabal              # link it!
</code></pre>

<blockquote>
<p>We are almost there! Some cabal packages build outside of ~/.cabal:</p>
</blockquote>

<pre><code>cabal install hakyll
.....
Building foundation-0.0.14...                                                   Preprocessing library foundation-0.0.14...
hsc2hs: dist/build/Foundation/System/Bindings/Posix_hsc_make: runProcess: runInteractiveProcess: exec: permission denied (Permission denied)
Downloading time-locale-compat-0.1.1.3...
.....
</code></pre>

<blockquote>
<p>Fortunately, all of the packages I have come across that do this all respect the TMPDIR environment variable!</p>
</blockquote>

<pre><code>alias cabal='env TMPDIR=/usr/local/cabal/build/ cabal'
</code></pre>

<blockquote>
<p>With this alias, you should be able to cabal without issue (so far pandoc, shellcheck and hakyll have all built fine)!</p>
</blockquote>

<ul>
<li>TL;DR</li>
</ul>

<pre><code>&amp;#35; This assumes /usr/local/ is mounted as wxallowed.
&amp;#35;
doas mkdir -p /usr/local/{cabal,cabal/build}
doas chown -R user:wheel /usr/local/cabal
rm -rf ~/.cabal
ln -s /usr/local/cabal ~/.cabal
alias cabal='env TMPDIR=/usr/local/cabal/build/ cabal'
cabal install pandoc
</code></pre>

<hr>

<h3><a href="https://adrianchadd.blogspot.co.uk/2017/10/freebsd-and-aprs-or-hm-what-happens.html" target="_blank" rel="nofollow noopener">FreeBSD and APRS, or "hm what happens when none of this is well documented.."</a></h3>

<blockquote>
<p>Here's another point along my quest for amateur radio on FreeBSD - bring up basic APRS support. Yes, someone else has done the work, but in the normal open source way it was .. inconsistently documented.</p>
</blockquote>

<ul>
<li>First is figuring out the hardware platform. I chose the following:

<ul>
<li>A Baofeng UV5R2, since they're cheap, plentiful, and do both VHF and UHF;</li>
<li>A cable to do sound level conversion and isolation (and yes, I really should post a circuit diagram and picture..);</li>
<li>A USB sound device, primarily so I can whack it into FreeBSD/Linux devices to get a separate sound card for doing radio work;</li>
<li>FreeBSD laptop (it'll become a raspberry pi + GPS + sensor + LCD thingy later, but this'll do to start with.)</li>
<li>The Baofeng is easy - set it to the right frequency (VHF APRS sits on 144.390MHz), turn on VOX so I don't have to make up a PTT cable, done/done.</li>
</ul></li>
</ul>

<blockquote>
<p>The PTT bit isn't that hard - one of the microphone jack pins is actually PTT (if you ground it, it engages PTT) so when you make the cable just ensure you expose a ground pin and PTT pin so you can upgrade it later.</p>

<p>The cable itself isn't that hard either - I had a baofeng handmic lying around (they're like $5) so I pulled it apart for the cable. I'll try to remember to take pictures of that.</p>
</blockquote>

<ul>
<li>Here's a picture I found on the internet that shows the pinout: <a href="https://3.bp.blogspot.com/-58HUyt-9SUw/Wdz6uMauWlI/AAAAAAAAVz8/e7OrnRzN3908UYGUIRI1EBYJ5UcnO0qRgCLcBGAs/s1600/aprs-cable.png" target="_blank" rel="nofollow noopener">image</a></li>
</ul>

<blockquote>
<p>Now, I went a bit further. I bought a bunch of 600 ohm isolation transformers for audio work, so I wired it up as follows:<br>
From the audio output of the USB sound card, I wired up a little attenuator - input is 2k to ground, then 10k to the input side of the transformer; then the output side of the transformer has a 0.01uF greencap capacitor to the microphone input of the baofeng;<br>
From the baofeng I just wired it up to the transformer, then the output side of that went into a 0.01uF greencap capacitor in series to the microphone input of the sound card.<br>
In both instances those capacitors are there as DC blockers.</p>

<p>Ok, so that bit is easy. Then on to the software side. The normal way people do this stuff is "direwolf" on Linux. So, "pkg install direwolf" installed it. That was easy.<br>
Configuring it up was a bit less easy. <a href="https://andrewmemory.wordpress.com/tag/direwolf/" target="_blank" rel="nofollow noopener">I found this guide to be helpful</a><br>
FreeBSD has the example direwolf config in /usr/local/share/doc/direwolf/examples/direwolf.conf . Now, direwolf will run as a normal user (there's no rc.d script for it yet!) and by default runs out of the current directory. So:</p>
</blockquote>

<pre><code>$ cd ~
$ cp /usr/local/share/doc/direwolf/examples/direwolf.conf . 
$ (edit it)
$ direwolf
</code></pre>

<blockquote>
<p>Editing it isn't that hard - you need to change your callsign and the audio device.</p>

<p>OK, here is the main undocumented bit for FreeBSD - the sound device can just be /dev/dsp . It isn't an ALSA name! Don't waste time trying to use ALSA names. Instead, just find the device you want and reference it. For me the USB sound card shows up as /dev/dsp3 (which is very non specific as USB sound devices come and go, but that's a later problem!) but it's enough to bring it up.</p>

<p>So yes, following the above guide, using the right sound device name resulted in a working APRS modem.</p>

<p>Next up - something to talk to it. This is called 'xastir'. It's .. well, when you run it, you'll find exactly how old an X application it is. It's very nostalgically old. But, it is enough to get APRS positioning up and test both the TCP/IP side of APRS and the actual radio radio side.</p>
</blockquote>

<ul>
<li><a href="https://andrewmemory.wordpress.com/2015/03/22/setting-up-direwolfxastir-on-a-raspberry-pi/" target="_blank" rel="nofollow noopener">Here's the guide I followed:</a></li>
</ul>

<blockquote>
<p>So, that was it! So far so good. It actually works well enough to decode and watch APRS traffic around me. I managed to get out position information to the APRS network over both TCP/IP and relayed via VHF radio.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=fE2KDzZaxvE" target="_blank" rel="nofollow noopener">Zebras All the Way Down - Bryan Cantrill</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/your-impact-on-freebsd/" target="_blank" rel="nofollow noopener">Your impact on FreeBSD</a></li>
<li><a href="https://bsdmag.org/secret-good-gui/" target="_blank" rel="nofollow noopener">The Secret to a good Gui</a></li>
<li><a href="https://github.com/containerd/containerd/releases/tag/v1.0.0" target="_blank" rel="nofollow noopener">containerd hits v1.0.0</a></li>
<li><a href="https://www.youtube.com/watch?v=lzdg_2bUh9Y&amp;t=" target="_blank" rel="nofollow noopener">FreeBSD 11.1 Custom Kernels Made Easy - Configuring And Installing A Custom Kernel</a></li>
<li><a href="https://pbs.twimg.com/media/DQgCNq6UEAEqa1W.jpg:large" target="_blank" rel="nofollow noopener">Debugging</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Bostjan - <a href="http://dpaste.com/22ZVJ12#wrap" target="_blank" rel="nofollow noopener">Backup Tapes</a></li>
<li>Philipp - <a href="http://dpaste.com/13E8RGR#wrap" target="_blank" rel="nofollow noopener">A long time ago, there was a script</a></li>
<li>Adam - <a href="http://dpaste.com/3BQXXPM#wrap" target="_blank" rel="nofollow noopener">ZFS Pool Monitoring</a></li>
<li>Damian - <a href="http://dpaste.com/0ZZVM4R#wrap" target="_blank" rel="nofollow noopener">KnoxBug</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We try to answer what happens to an open source project after a developers death, we tell you about the last bootstrapped tech company in Silicon Valley, we have an update to the NetBSD Thread sanitizer, and show how to use use cabal on OpenBSD</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.wired.com/story/giving-open-source-projects-life-after-a-developers-death/" target="_blank" rel="nofollow noopener">Life after death, for code</a></h3>

<blockquote>
<p>YOU'VE PROBABLY NEVER heard of the late Jim Weirich or his software. But you've almost certainly used apps built on his work.<br>
Weirich helped create several key tools for Ruby, the popular programming language used to write the code for sites like Hulu, Kickstarter, Twitter, and countless others. His code was open source, meaning that anyone could use it and modify it. "He was a seminal member of the western world's Ruby community," says Justin Searls, a Ruby developer and co-founder of the software company Test Double.<br>
When Weirich died in 2014, Searls noticed that no one was maintaining one of Weirich's software-testing tools. That meant there would be no one to approve changes if other developers submitted bug fixes, security patches, or other improvements. Any tests that relied on the tool would eventually fail, as the code became outdated and incompatible with newer tech.<br>
The incident highlights a growing concern in the open-source software community. What happens to code after programmers pass away? Much has been written about what happens to social-media accounts after users die. But its been less of an issue among programmers. In part, thats because most companies and governments relied on commercial software maintained by teams of people. But today, more programs rely on obscure but crucial software like Weirich's.<br>
Some open-source projects are well known, such as the Linux operating system or Google's artificial-intelligence framework TensorFlow. But each of these projects depend on smaller libraries of open-source code. And those libraries depend on other libraries. The result is a complex, but largely hidden, web of software dependencies.<br>
That can create big problems, as in 2014 when a security vulnerability known as "Heartbleed" was found in OpenSSL, an open-source program used by nearly every website that processes credit- or debit-card payments. The software comes bundled with most versions of Linux, but was maintained by a small team of volunteers who didn't have the time or resources to do extensive security audits. Shortly after the Heartbleed fiasco, a security issue was discovered in another common open-source application called Bash that left countless web servers and other devices vulnerable to attack.<br>
There are surely more undiscovered vulnerabilities. Libraries.io, a group that analyzes connections between software projects, has identified more than 2,400 open-source libraries that are used in at least 1,000 other programs but have received little attention from the open-source community.<br>
Security problems are only one part of the issue. If software libraries aren't kept up to date, they may stop working with newer software. That means an application that depends on an outdated library may not work after a user updates other software. When a developer dies or abandons a project, everyone who depends on that software can be affected. Last year when programmer Azer Koçulu deleted a tiny library called Leftpad from the internet, it created ripple effects that reportedly caused headaches at Facebook, Netflix, and elsewhere.</p>
</blockquote>

<ul>
<li>The Bus Factor</li>
</ul>

<blockquote>
<p>The fewer people with ownership of a piece of software, the greater the risk that it could be orphaned. Developers even have a morbid name for this: the bus factor, meaning the number of people who would have to be hit by a bus before there's no one left to maintain the project. Libraries.io has identified about 3,000 open-source libraries that are used in many other programs but have only a handful of contributors.<br>
Orphaned projects are a risk of using open-source software, though commercial software makers can leave users in a similar bind when they stop supporting or updating older programs. In some cases, motivated programmers adopt orphaned open-source code.<br>
That's what Searls did with one of Weirichs projects. Weirich's most-popular projects had co-managers by the time of his death. But Searls noticed one, the testing tool Rspec-Given, hadn't been handed off, and wanted to take responsibility for updating it. But he ran into a few snags along the way.<br>
Rspec-Given's code was hosted on the popular code-hosting and collaboration site GitHub, home to 67 million codebases. Weirich's Rspec-Given page on GitHub was the main place for people to report bugs or to volunteer to help improve the code. But GitHub wouldnt give Searls control of the page, because Weirich had not named him before he died. So Searls had to create a new copy of the code, and host it elsewhere. He also had to convince the operators of Ruby Gems, a package-management system for distributing code, to use his version of Rspec-Given, instead of Weirich's, so that all users would have access to Searls changes. GitHub declined to discuss its policies around transferring control of projects.</p>

<p>That solved potential problems related to Rspec-Given, but it opened Searls' eyes to the many things that could go wrong. Its easy to see open source as a purely technical phenomenon, Searls says. But once something takes off and is depended on by hundreds of other people, it becomes a social phenomenon as well.<br>
The maintainers of most package-management systems have at least an ad-hoc process for transferring control over a library, but that process usually depends on someone noticing that a project has been orphaned and then volunteering to adopt it. "We dont have an official policy mostly because it hasnt come up all that often," says Evan Phoenix of the Ruby Gems project. "We do have an adviser council that is used to decide these types of things case by case."<br>
Some package managers now monitor their libraries and flag widely used projects that haven't been updated in a long time. Neil Bowers, who helps maintain a package manager for the programming language Perl, says he sometimes seeks out volunteers to take over orphan projects. Bowers says his group vets claims that a project has been abandoned, and the people proposing to take it over.</p>
</blockquote>

<ul>
<li>A 'Dead-Man's Switch'</li>
</ul>

<blockquote>
<p>Taking over Rspec-Given inspired Searls, who was only 30 at the time, to make a will and a succession plan for his own open-source projects. There are other things developers can do to help future-proof their work. They can, for example, transfer the copyrights to a foundation, such as the Apache Foundation. But many open-source projects essentially start as hobbies, so programmers may not think to transfer ownership until it is too late.<br>
Searls suggests that GitHub and package managers such as Gems could add something like a "dead man's switch" to their platform, which would allow programmers to automatically transfer ownership of a project or an account to someone else if the creator doesnt log in or make changes after a set period of time.<br>
But a transition plan means more than just giving people access to the code. Michael Droettboom, who took over a popular mathematics library called Matplotlib after its creator John Hunter died in 2012, points out that successors also need to understand the code. "Sometimes there are parts of the code that only one person understands," he says. "The knowledge exists only in one person's head."<br>
That means getting people involved in a project earlier, ideally as soon as it is used by people other than the original developer. That has another advantage, Searls points out, in distributing the work of maintaining a project to help prevent developer burnout.</p>
</blockquote>

<hr>

<h3><a href="https://www.forbes.com/sites/forbestechcouncil/2017/12/12/the-last-bootstrapped-tech-company-in-silicon-valley/2/#4d53d50f1e4d" target="_blank" rel="nofollow noopener">The Last Bootstrapped Tech Company In Silicon Valley</a></h3>

<blockquote>
<p>My business partner, Matt Olander, and I were intimately familiar with the ups and downs of the Silicon Valley tech industry when we acquired the remnants of our then-employer BSDis enterprise computer business in 2002 and assumed the roles of CEO and CTO. Fast-forward to today, and we still work in the same buildings where BSDi started in 1996, though youd hardly recognize them today.<br>
As the business grew from a startup to a global brand, our success came from always ensuring we ran a profitable business. While that may sound obvious, keep in mind that we are in the heart of Silicon Valley where venture capitalists hunt for the unicorn company that will skyrocket to a billion-dollar valuation. Unicorns like Facebook and Twitter unquestionably exist, but they are the exception.</p>
</blockquote>

<ul>
<li>Live By The VC, Die By The VC</li>
</ul>

<blockquote>
<p>After careful consideration, Matt and I decided to bootstrap our company rather than seek funding. The first dot-com bubble had recently burst, and we were seeing close friends lose their jobs right and left at VC-funded companies based on dubious business plans. While we did not have much cash on hand, we did have a customer base and treasured those customers as our greatest asset. We concluded that meeting their needs was the surest path to meeting ours, and the rest would simply be details to address individually. This strategy ended up working so well that we have many of the same customers to this day.<br>
After deciding to bootstrap, we made a decision on a matter that has left egg on the face of many of our competitors: We seated sales next to support under one roof at our manufacturing facility in Silicon Valley. Dell's decision to outsource some of its support overseas in the early 2000s was the greatest gift it could have given us. Some of our sales and support staff have worked with the same clients for over a decade, and we concluded that no amount of funding could buy that mutual loyalty. While accepting venture capital or an acquisition may make you rich, it does not guarantee that your customers, employees or even business will be taken care of. Our motto is, Treat your customers like friends and employees like family, and we have an incredibly low employee turnover to show for it.<br>
Thanks to these principles, iXsystems has remained employee-owned, debt-free and profitable from the day we took it over -- all without VC funding, which is why we call ourselves the "last bootstrapped tech company in Silicon Valley." As a result, we now provide enterprise servers to thousands of customers, including top Fortune 500 companies, research and educational institutions, all branches of the military, and numerous government entities.<br>
Over time, however, we realized that we were selling more and more third-party data storage systems with every order. We saw this as a new opportunity. We had partnered with several storage vendors to meet our customers needs, but every time we did, we opened a can of worms with regard to supporting our customers to our standards. Given a choice of risking being dragged down by our partners or outmaneuvered by competitors with their own storage portfolios, we made a conscious decision to develop a line of storage products that would not only complement our enterprise servers but tightly integrate with them.<br>
To accelerate this effort, we adopted the FreeNAS open-source software-defined storage project in 2009 and havent looked back. The move enabled us to focus on storage, fully leveraging our experience with enterprise hardware and our open source heritage in equal measures. We saw many storage startups appear every quarter, struggling to establish their niche in a sea of competitors. We wondered how theyd instantly master hardware to avoid the partnering mistakes that we made years ago, given that storage hardware and software are truly inseparable at the enterprise level. We entered the storage market with the required hardware expertise, capacity and, most importantly, revenue, allowing us to develop our storage line at our own pace.</p>
</blockquote>

<ul>
<li>Grow Up, But On Your Own Terms</li>
</ul>

<blockquote>
<p>By not having the external pressure from VCs or shareholders that your competitors have, you're free to set your own priorities and charge fair prices for your products. Our customers consistently tell us how refreshing our sales and marketing approaches are. We consider honesty, transparency and responsible marketing the only viable strategy when youre bootstrapped. Your reputation with your customers and vendors should mean everything to you, and we can honestly say that the loyalty we have developed is priceless.<br>
So how can your startup venture down a similar path? Here's our advice for playing the long game:</p>
</blockquote>

<ul>
<li>Relate your experiences to each fad: Our industry is a firehose of fads and buzzwords, and it can be difficult to distinguish the genuine trends from the flops. Analyze every new buzzword in terms of your own products, services and experiences, and monitor customer trends even more carefully. Some buzzwords will even formalize things you have been doing for years.</li>
<li>Value personal relationships: Companies come and go, but you will maintain many clients and colleagues for decades, regardless of the hat they currently wear. Encourage relationship building at every level of your company because you may encounter someone again.</li>
<li>Trust your instincts and your colleagues: No contractual terms or credit rating system can beat the instincts you will develop over time for judging the ability of individuals and companies to deliver. You know your business, employees and customers best.</li>
</ul>

<blockquote>
<p>Looking back, I don't think Id change a thing. We need to be in Silicon Valley for the prime customers, vendors and talent, and its a point of pride that our customers recognize how different we are from the norm. Free of a venture capital runway and driven by these principles, we look forward to the next 20 years in this highly-competitive industry.</p>
</blockquote>

<hr>

<h3><a href="http://blog.thelifeofkenneth.com/2017/11/creating-autonomous-system-for-fun-and.html" target="_blank" rel="nofollow noopener">Creating an AS for fun and profit</a></h3>

<blockquote>
<p>At its core, the Internet is an interconnected fabric of separate networks. Each network which makes up the Internet is operated independently and only interconnects with other networks in clearly defined places.<br>
For smaller networks like your home, the interaction between your network and the rest of the Internet is usually pretty simple: you buy an Internet service plan from an ISP (Internet Service Provider), they give you some kind of hand-off through something like a DSL or cable modem, and give you access to "the entire Internet". Your router (which is likely also a WiFi access point and Ethernet switch) then only needs to know about two things; your local computers and devices are on one side, and the ENTIRE Internet is on the other side of that network link given to you by your ISP.<br>
For most people, that's the extent of what's needed to be understood about how the Internet works. Pick the best ISP, buy a connection from them, and attach computers needing access to the Internet. And that's fine, as long as you're happy with only having one Internet connection from one vendor, who will lend you some arbitrary IP address(es) for the extend of your service agreement, but that starts not being good enough when you don't want to be beholden to a single ISP or a single connection for your connectivity to the Internet.<br>
That also isn't good enough if you <em>are</em> an Internet Service Provider so you are literally a part of the Internet. You can't assume that the entire Internet is that way when half of the Internet is actually in the other direction. This is when you really have to start thinking about the Internet and treating the Internet as a very large mesh of independent connected organizations instead of an abstract cloud icon on the edge of your local network map.  Which is pretty much never for most of us.<br>
Almost no one needs to consider the Internet at this level. The long flight of steps from DSL for your apartment up to needing to be an integral part of the Internet means that pretty much regardless of what level of Internet service you need for your projects, you can probably pay someone else to provide it and don't need to sit down and learn how BGP works and what an Autonomous System is. But let's ignore that for one second, and talk about how to become your own ISP.</p>
</blockquote>

<ul>
<li>To become your own Internet Service Provider with customers who pay you to access the Internet, or be your own web hosting provider with customers who pay you to be accessible from the Internet, or your own transit provider who has customers who pay you to move their customer's packets to other people's customers, you need a few things:

<ul>
<li>Your own public IP address space allocated to you by an Internet numbering organization</li>
<li>Your own Autonomous System Number (ASN) to identify your network as separate from everyone else's networks</li>
<li>At least one router connected to a different autonomous system speaking the Border Gateway Protocol to tell the rest of the Internet that your address space is accessible from your autonomous system.</li>
</ul></li>
</ul>

<blockquote>
<p>So... I recently set up my own autonomous system... and I don't really have a fantastic justification for it...</p>
</blockquote>

<ul>
<li>My motivation was twofold:

<ul>
<li>One of my friends and I sat down and figured it out that splitting the cost of a rack in Hurricane Electric's FMT2 data center marginally lowered our monthly hosting expenses vs all the paid services we're using scattered across the Internet which can all be condensed into this one rack.</li>
<li>And this first reason on its own is a perfectly valid justification for paying for co-location space at a data center like Hurricane Electric's, but isn't actually a valid reason for running it as an autonomous system, because Hurricane Electric will gladly let you use their address space for your servers hosted in their building. That's usually part of the deal when you pay for space in a data center: power, cooling, Internet connectivity, and your own IP addresses.</li>
<li>Another one of my friends challenged me to do it as an Autonomous System.</li>
<li>So admittedly, my justification for going through the additional trouble to set up this single rack of servers as an AS is a little more tenuous. I will readily admit that, more than anything else, this was a "hold my beer" sort of engineering moment, and not something that is at all needed to achieve what we actually needed (a rack to park all our servers in).</li>
</ul></li>
</ul>

<blockquote>
<p>But what the hell; I've figured out how to do it, so I figured it would make an entertaining blog post. </p>
</blockquote>

<ul>
<li>So here's how I set up a multi-homed autonomous system on a shoe-string budget:

<ul>
<li>Step 1. Found a Company</li>
<li>Step 2. Get Yourself Public Address Space</li>
<li>Step 3. Find Yourself Multiple Other Autonomous Systems to Peer With</li>
<li>Step 4. Apply for an Autonomous System Number</li>
<li>Step 5. Source a Router Capable of Handling the Entire Internet Routing Table</li>
<li>Step 6. Turn it All On and Pray</li>
<li>And we're off to the races.</li>
</ul></li>
</ul>

<blockquote>
<p>At this point, Hurricane Electric is feeding us all ~700k routes for the Internet, we're feeding them our two routes for our local IPv4 and IPv6 subnets, and all that's left to do is order all our cross-connects to other ASes in the building willing to peer with us (mostly for fun) and load in all our servers to build our own personal corner of the Internet.<br>
The only major goof so far has been accidentally feeding the full IPv6 table to our first other peer that we turned on, but thankfully he has a much more powerful supervisor than the Sup720-BXL, so he just sent me an email to knock that off, a little fiddling with my BGP egress policies, and we were all set.<br>
In the end, setting up my own autonomous system wasn't exactly simple, it was definitely not justified, but some times in life you just need to take the more difficult path. And there's a certain amount of pride in being able to claim that I'm part of the actual Internet. That's pretty neat. <br>
And of course, thanks to all of my friends who variously contributed parts, pieces, resources, and know-how to this on-going project. I had to pull in a lot of favors to pull this off, and I appreciate it.</p>
</blockquote>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/one_year_checkpoint_and_thread" target="_blank" rel="nofollow noopener">One year checkpoint and Thread Sanitizer update</a></h3>

<blockquote>
<p>The past year has been started with bugfixes and the development of regression tests for ptrace(2) and related kernel features, as well as the continuation of bringing LLDB support and LLVM sanitizers (ASan + UBsan and partial TSan + Msan) to NetBSD.  My plan for the next year is to finish implementing TSan and MSan support, followed by a long run of bug fixes for LLDB, ptrace(2), and other related kernel subsystems</p>
</blockquote>

<ul>
<li>TSan</li>
</ul>

<blockquote>
<p>In the past month, I've developed Thread Sanitizer far enough to have a subset of its tests pass on NetBSD, started with addressing breakage related to the memory layout of processes. The reason for this breakage was narrowed down to the current implementation of ASLR, which was too aggressive and which didn't allow enough space to be mapped for Shadow memory. The fix for this was to either force the disabling of ASLR per-process, or globally on the system. The same will certainly happen for MSan executables. After some other corrections, I got TSan to work for the first time ever on October 14th. This was a big achievement, so I've made a snapshot available. Getting the snapshot of execution under GDB was pure hazard.</p>
</blockquote>

<pre><code>$ gdb ./a.out                                  
GNU gdb (GDB) 7.12
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64--netbsd".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
.
Find the GDB manual and other documentation resources online at:
.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./a.out...done.
(gdb) r
Starting program: /public/llvm-build/a.out 
[New LWP 2]

WARNING: ThreadSanitizer: data race (pid=1621)
  Write of size 4 at 0x000001475d70 by thread T1:
    #0 Thread1 /public/llvm-build/tsan.c:4:10 (a.out+0x46bf71)

  Previous write of size 4 at 0x000001475d70 by main thread:
    #0 main /public/llvm-build/tsan.c:10:10 (a.out+0x46bfe6)

  Location is global 'Global' of size 4 at 0x000001475d70 (a.out+0x000001475d70)

  Thread T1 (tid=2, running) created by main thread at:
    #0 pthread_create /public/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:930:3 (a.out+0x412120)
    #1 main /public/llvm-build/tsan.c:9:3 (a.out+0x46bfd1)

SUMMARY: ThreadSanitizer: data race /public/llvm-build/tsan.c:4:10 in Thread1

Thread 2 received signal SIGSEGV, Segmentation fault.
</code></pre>

<blockquote>
<p>I was able to get the above execution results around 10% of the time (being under a tracer had no positive effect on the frequency of successful executions).  I've managed to hit the following final results for this month, with another set of bugfixes and improvements:</p>
</blockquote>

<pre><code>check-tsan:
Expected Passes    : 248
Expected Failures  : 1
Unsupported Tests  : 83
Unexpected Failures: 44
</code></pre>

<blockquote>
<p>At the end of the month, TSan can now reliably executabe the same (already-working) program every time. The majority of failures are in tests verifying sanitization of correct mutex locking usage. There are still problems with NetBSD-specific libc and libpthread bootstrap code that conflicts with TSan. Certain functions (pthread_create(3), pthread_key_create(3), _cxa_atexit()) cannot be started early by TSan initialization, and must be deferred late enough for the sanitizer to work correctly.</p>
</blockquote>

<ul>
<li>MSan</li>
</ul>

<blockquote>
<p>I've prepared a scratch support for MSan on NetBSD to help in researching how far along it is. I've also cloned and adapted the existing FreeBSD bits; however, the code still needs more work and isn't functional yet. The number of passed tests (5) is negligible and most likely does not work at all. The conclusion after this research is that TSan shall be finished first, as it touches similar code. In the future, there will be likely another round of iterating the system structs and types and adding the missing ones for NetBSD. So far, this part has been done before executing the real MSan code. I've added one missing symbol that was missing and was detected when attempting to link a test program with MSan.</p>
</blockquote>

<ul>
<li>Sanitizers</li>
</ul>

<blockquote>
<p>The GCC team has merged the LLVM sanitizer code, which has resulted in almost-complete support for ASan and UBsan on NetBSD. It can be found in the latest GCC8 snapshot, located in pkgsrc-wip/gcc8snapshot. Though, do note that there is an issue with getting backtraces from libasan.so, which can be worked-around by backtracing ASan events in a debugger. UBsan also passes all GCC regression tests and appears to work fine. The code enabling sanitizers on the GCC/NetBSD frontend will be submitted upstream once the backtracing issue is fixed and I'm satisfied that there are no other problems. I've managed to upstream a large portion of generic+TSan+MSan code to compiler-rt and reduce local patches to only the ones that are in progress. This deals with any rebasing issues, and allows me to just focus on the delta that is being worked on. I've tried out the LLDB builds which have TSan/NetBSD enabled, and they built and started fine. However, there were some false positives related to the mutex locking/unlocking code.</p>
</blockquote>

<ul>
<li>Plans for the next milestone</li>
</ul>

<blockquote>
<p>The general goals are to finish TSan and MSan and switch back to LLDB debugging. I plan to verify the impact of the TSan bootstrap initialization on the observed crashes and research the remaining failures.</p>
</blockquote>

<ul>
<li>This work was sponsored by The NetBSD Foundation.</li>
</ul>

<blockquote>
<p>The NetBSD Foundation is a non-profit organization and welcomes any donations to help us continue funding projects and services to the open-source community. Please consider visiting the following URL, and chip in what you can:</p>
</blockquote>

<hr>

<h3><a href="https://blog.ungleich.ch/en-us/cms/blog/2017/12/10/the-importance-of-devuan/" target="_blank" rel="nofollow noopener">The scourge of systemd</a></h3>

<ul>
<li>While this article is actually couched in terms of promoting devuan, a de-systemd-ed version of debian, it would seem the same logic could be applied to all of the BSDs</li>
</ul>

<blockquote>
<p>Let's say every car manufacturer recently discovered a new technology named "doord", which lets you open up car doors much faster than before. It only takes 0.05 seconds, instead of 1.2 seconds on average. So every time you open a door, you are much, much faster!<br>
Many of the manufacturers decide to implement doord, because the company providing doord makes it clear that it is beneficial for everyone. And additional to opening doors faster, it also standardises things. How to turn on your car? It is the same now everywhere, it is not necessarily to look for the keyhole anymore.<br>
Unfortunately though, sometimes doord does not stop the engine. Or if it is cold outside, it stops the ignition process, because it takes too long. Doord also changes the way your navigation system works, because that is totally related to opening doors, but leads to some users being unable to navigate, which is accepted as collateral damage. In the end, you at least have faster door opening and a standard way to turn on the car. Oh, and if you are in a traffic jam and have to restart the engine often, it will stop restarting it after several times, because that's not what you are supposed to do. You can open the engine hood and tune that setting though, but it will be reset once you buy a new car.<br>
Some of you might now ask themselves "Is systemd THAT bad?". And my answer to it is: No. It is even worse. Systemd developers split the community over a tiny detail that decreases stability significantly and increases complexity for not much real value. And this is not theoretical: We tried to build Data Center Light on Debian and Ubuntu, but servers that don't boot, that don't reboot or systemd-resolved that constantly interferes with our core network configuration made it too expensive to run Debian or Ubuntu.<br>
Yes, you read right: too expensive. While I am writing here in flowery words, the reason to use Devuan is hard calculated costs. We are a small team at ungleich and we simply don't have the time to fix problems caused by systemd on a daily basis. This is even without calculating the security risks that come with systemd.</p>

<hr>
</blockquote>

<h3><a href="https://deftly.net/posts/2017-10-12-using-cabal-on-openbsd.html" target="_blank" rel="nofollow noopener">Using cabal on OpenBSD</a></h3>

<blockquote>
<p>Since <a href="https://undeadly.org/cgi?action=article&amp;sid=20160527203200" target="_blank" rel="nofollow noopener">W<sup>X</sup> became mandatory in OpenBSD</a>, W<sup>Xd</sup> binaries are only allowed to be executed from designated locations (mount points). If you used the auto partition layout during install, your /usr/local/ will be mounted with wxallowed. For example, here is the entry for my current machine:</p>
</blockquote>

<pre><code>/dev/sd2g on /usr/local type ffs (local, nodev, wxallowed, softdep)
</code></pre>

<blockquote>
<p>This is a great feature, but if you build applications outside of the wxallowed partition, you are going to run into some issues, especially in the case of cabal (python as well).<br>
Here is an example of what you would see when attempting to do cabal install pandoc:</p>
</blockquote>

<pre><code>qbit@slip[1]:~? cabal update
Config file path source is default config file.
Config file /home/qbit/.cabal/config not found.
Writing default configuration to /home/qbit/.cabal/config
Downloading the latest package list from hackage.haskell.org
qbit@slip[0]:~? cabal install pandoc
Resolving dependencies...
.....
cabal: user error (Error: some packages failed to install:
JuicyPixels-3.2.8.3 failed during the configure step. The exception was:
/home/qbit/.cabal/setup-exe-cache/setup-Simple-Cabal-1.22.5.0-x86_64-openbsd-ghc-7.10.3: runProcess: runInteractiveProcess: exec: permission denied (Permission denied)
</code></pre>

<blockquote>
<p>The error isnt actually what it says. The untrained eye would assume permissions issue. A quick check of dmesg reveals what is really happening:</p>
</blockquote>

<pre><code>/home/qbit/.cabal/setup-exe-cache/setup-Simple-Cabal-1.22.5.0-x86_64-openbsd-ghc-7.10.3(22924): W^X binary outside wxallowed mountpoint
</code></pre>

<blockquote>
<p>OpenBSD is killing the above binary because it is violating W<sup>X</sup> and hasnt been safely kept in its /usr/local corral!<br>
We could solve this problem quickly by marking our /home as wxallowed, however, this would be heavy handed and reckless (we dont want to allow other potentially unsafe binaries to execute.. just the cabal stuff).<br>
Instead, we will build all our cabal stuff in /usr/local by using a symlink!</p>
</blockquote>

<pre><code>doas mkdir -p /usr/local/{cabal,cabal/build} # make our cabal and build dirs
doas chown -R user:wheel /usr/local/cabal    # set perms
rm -rf ~/.cabal                              # kill the old non-working cabal
ln -s /usr/local/cabal ~/.cabal              # link it!
</code></pre>

<blockquote>
<p>We are almost there! Some cabal packages build outside of ~/.cabal:</p>
</blockquote>

<pre><code>cabal install hakyll
.....
Building foundation-0.0.14...                                                   Preprocessing library foundation-0.0.14...
hsc2hs: dist/build/Foundation/System/Bindings/Posix_hsc_make: runProcess: runInteractiveProcess: exec: permission denied (Permission denied)
Downloading time-locale-compat-0.1.1.3...
.....
</code></pre>

<blockquote>
<p>Fortunately, all of the packages I have come across that do this all respect the TMPDIR environment variable!</p>
</blockquote>

<pre><code>alias cabal='env TMPDIR=/usr/local/cabal/build/ cabal'
</code></pre>

<blockquote>
<p>With this alias, you should be able to cabal without issue (so far pandoc, shellcheck and hakyll have all built fine)!</p>
</blockquote>

<ul>
<li>TL;DR</li>
</ul>

<pre><code>&amp;#35; This assumes /usr/local/ is mounted as wxallowed.
&amp;#35;
doas mkdir -p /usr/local/{cabal,cabal/build}
doas chown -R user:wheel /usr/local/cabal
rm -rf ~/.cabal
ln -s /usr/local/cabal ~/.cabal
alias cabal='env TMPDIR=/usr/local/cabal/build/ cabal'
cabal install pandoc
</code></pre>

<hr>

<h3><a href="https://adrianchadd.blogspot.co.uk/2017/10/freebsd-and-aprs-or-hm-what-happens.html" target="_blank" rel="nofollow noopener">FreeBSD and APRS, or "hm what happens when none of this is well documented.."</a></h3>

<blockquote>
<p>Here's another point along my quest for amateur radio on FreeBSD - bring up basic APRS support. Yes, someone else has done the work, but in the normal open source way it was .. inconsistently documented.</p>
</blockquote>

<ul>
<li>First is figuring out the hardware platform. I chose the following:

<ul>
<li>A Baofeng UV5R2, since they're cheap, plentiful, and do both VHF and UHF;</li>
<li>A cable to do sound level conversion and isolation (and yes, I really should post a circuit diagram and picture..);</li>
<li>A USB sound device, primarily so I can whack it into FreeBSD/Linux devices to get a separate sound card for doing radio work;</li>
<li>FreeBSD laptop (it'll become a raspberry pi + GPS + sensor + LCD thingy later, but this'll do to start with.)</li>
<li>The Baofeng is easy - set it to the right frequency (VHF APRS sits on 144.390MHz), turn on VOX so I don't have to make up a PTT cable, done/done.</li>
</ul></li>
</ul>

<blockquote>
<p>The PTT bit isn't that hard - one of the microphone jack pins is actually PTT (if you ground it, it engages PTT) so when you make the cable just ensure you expose a ground pin and PTT pin so you can upgrade it later.</p>

<p>The cable itself isn't that hard either - I had a baofeng handmic lying around (they're like $5) so I pulled it apart for the cable. I'll try to remember to take pictures of that.</p>
</blockquote>

<ul>
<li>Here's a picture I found on the internet that shows the pinout: <a href="https://3.bp.blogspot.com/-58HUyt-9SUw/Wdz6uMauWlI/AAAAAAAAVz8/e7OrnRzN3908UYGUIRI1EBYJ5UcnO0qRgCLcBGAs/s1600/aprs-cable.png" target="_blank" rel="nofollow noopener">image</a></li>
</ul>

<blockquote>
<p>Now, I went a bit further. I bought a bunch of 600 ohm isolation transformers for audio work, so I wired it up as follows:<br>
From the audio output of the USB sound card, I wired up a little attenuator - input is 2k to ground, then 10k to the input side of the transformer; then the output side of the transformer has a 0.01uF greencap capacitor to the microphone input of the baofeng;<br>
From the baofeng I just wired it up to the transformer, then the output side of that went into a 0.01uF greencap capacitor in series to the microphone input of the sound card.<br>
In both instances those capacitors are there as DC blockers.</p>

<p>Ok, so that bit is easy. Then on to the software side. The normal way people do this stuff is "direwolf" on Linux. So, "pkg install direwolf" installed it. That was easy.<br>
Configuring it up was a bit less easy. <a href="https://andrewmemory.wordpress.com/tag/direwolf/" target="_blank" rel="nofollow noopener">I found this guide to be helpful</a><br>
FreeBSD has the example direwolf config in /usr/local/share/doc/direwolf/examples/direwolf.conf . Now, direwolf will run as a normal user (there's no rc.d script for it yet!) and by default runs out of the current directory. So:</p>
</blockquote>

<pre><code>$ cd ~
$ cp /usr/local/share/doc/direwolf/examples/direwolf.conf . 
$ (edit it)
$ direwolf
</code></pre>

<blockquote>
<p>Editing it isn't that hard - you need to change your callsign and the audio device.</p>

<p>OK, here is the main undocumented bit for FreeBSD - the sound device can just be /dev/dsp . It isn't an ALSA name! Don't waste time trying to use ALSA names. Instead, just find the device you want and reference it. For me the USB sound card shows up as /dev/dsp3 (which is very non specific as USB sound devices come and go, but that's a later problem!) but it's enough to bring it up.</p>

<p>So yes, following the above guide, using the right sound device name resulted in a working APRS modem.</p>

<p>Next up - something to talk to it. This is called 'xastir'. It's .. well, when you run it, you'll find exactly how old an X application it is. It's very nostalgically old. But, it is enough to get APRS positioning up and test both the TCP/IP side of APRS and the actual radio radio side.</p>
</blockquote>

<ul>
<li><a href="https://andrewmemory.wordpress.com/2015/03/22/setting-up-direwolfxastir-on-a-raspberry-pi/" target="_blank" rel="nofollow noopener">Here's the guide I followed:</a></li>
</ul>

<blockquote>
<p>So, that was it! So far so good. It actually works well enough to decode and watch APRS traffic around me. I managed to get out position information to the APRS network over both TCP/IP and relayed via VHF radio.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/watch?v=fE2KDzZaxvE" target="_blank" rel="nofollow noopener">Zebras All the Way Down - Bryan Cantrill</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/your-impact-on-freebsd/" target="_blank" rel="nofollow noopener">Your impact on FreeBSD</a></li>
<li><a href="https://bsdmag.org/secret-good-gui/" target="_blank" rel="nofollow noopener">The Secret to a good Gui</a></li>
<li><a href="https://github.com/containerd/containerd/releases/tag/v1.0.0" target="_blank" rel="nofollow noopener">containerd hits v1.0.0</a></li>
<li><a href="https://www.youtube.com/watch?v=lzdg_2bUh9Y&amp;t=" target="_blank" rel="nofollow noopener">FreeBSD 11.1 Custom Kernels Made Easy - Configuring And Installing A Custom Kernel</a></li>
<li><a href="https://pbs.twimg.com/media/DQgCNq6UEAEqa1W.jpg:large" target="_blank" rel="nofollow noopener">Debugging</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Bostjan - <a href="http://dpaste.com/22ZVJ12#wrap" target="_blank" rel="nofollow noopener">Backup Tapes</a></li>
<li>Philipp - <a href="http://dpaste.com/13E8RGR#wrap" target="_blank" rel="nofollow noopener">A long time ago, there was a script</a></li>
<li>Adam - <a href="http://dpaste.com/3BQXXPM#wrap" target="_blank" rel="nofollow noopener">ZFS Pool Monitoring</a></li>
<li>Damian - <a href="http://dpaste.com/0ZZVM4R#wrap" target="_blank" rel="nofollow noopener">KnoxBug</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>223: Compile once, debug twice</title>
  <link>https://www.bsdnow.tv/223</link>
  <guid isPermaLink="false">d183f10c-66be-49a7-b233-18c3a30ecdb4</guid>
  <pubDate>Wed, 06 Dec 2017 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/d183f10c-66be-49a7-b233-18c3a30ecdb4.mp3" length="80350996" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Picking a compiler for debuggability, how to port Rust apps to FreeBSD, what the point of Docker is on FreeBSD/Solaris, another EuroBSDcon recap, and network manager control in OpenBSD</itunes:subtitle>
  <itunes:duration>1:51:35</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>&lt;p&gt;Picking a compiler for debuggability, how to port Rust apps to FreeBSD, what the point of Docker is on FreeBSD/Solaris, another EuroBSDcon recap, and network manager control in OpenBSD&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://backtrace.io/blog/compile-once-debug-twice-picking-a-compiler-for-debuggability-1of3/" target="_blank" rel="nofollow noopener"&gt;Compile once, Debug twice: Picking a compiler for debuggability, part 1 of 3&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An interesting look into why when you try to debug a crash, you can often find all of the useful information has been ‘optimized out’&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Have you ever had an assert get triggered only to result in a useless core dump with missing variable information or an invalid callstack?&lt;br&gt;
Common factors that go into selecting a C or C++ compiler are: availability, correctness, compilation speed and application performance. A factor that is often neglected is debug information quality, which symbolic debuggers use to reconcile application executable state to the source-code form that is familiar to most software engineers.&lt;br&gt;
When production builds of an application fail, the level of access to program state directly impacts the ability for a software engineer to investigate and fix a bug. If a compiler has optimized out a variable or is unable to express to a symbolic debugger how to reconstruct the value of a variable, the engineer’s investigation process is significantly impacted. Either the engineer has to attempt to recreate the problem, iterate through speculative fixes or attempt to perform prohibitively expensive debugging, such as reconstructing program state through executable code analysis.&lt;br&gt;
Debug information quality is in fact not proportionally related to the quality of the generated executable code and wildly varies from compiler to compiler.&lt;br&gt;
Different compilers emit debug information at varying levels of quality and accuracy. However, certain optimizations will certainly impact any debugger’s ability to generate accurate stack traces or extract variable values. &lt;br&gt;
In the above program, the value of argv is extracted and then the program is paused. The ck_pr_load_ptr function performs a read from the region of memory pointed to by argv, in a manner that prevents the compiler from performing optimization on it. This ensures that the memory access occurs and for this reason, the value of argv must be accessible by the time ck_pr_load_ptr is executed.&lt;br&gt;
When compiled with gcc, the debugger fails to find the value of the variable. The compiler determines that the value of argv is no longer needed after the ck_pr_load_ptr operation and so doesn’t bother paying the cost of saving the value.&lt;br&gt;
Some optimizations generate executable code whose call stack cannot be sufficiently disambiguated to reconcile a call stack that mirrors that of the source program. Two common culprits for this are tail call optimization and basic block commoning.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In another example&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If the program receives a first argument of 1, then function is called with the argument of "a". If the program receives a first argument of 2, then function is called with the argument of "b". However, if we compile this program with clang, the stack traces in both cases are identical! clang informs the debugger that the function f invoked the function("b") branch where x = 2 even if x = 1.&lt;br&gt;
Though some optimizations will certainly impact the accuracy of a symbolic debugger, some compilers simply lack the ability to generate debug information in the presence of certain optimizations. One common optimization is induction variable elimination. A variable that’s incremented or decremented by a constant on every iteration of a loop or derived from another variable that follows this pattern, is an induction variable.&lt;br&gt;
Coupled with other optimizations, the compiler is then able to generate code that doesn’t actually rely on a dedicated counter variable “i” for maintaining the current offset into “buffer”.&lt;br&gt;
As you can see, i is completely optimized out. The compiler determines it doesn’t have to pay the cost of maintaining the induction variable i. It maintains the pointer in the register %rdi. The code is effectively rewritten to something closer to this:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;So the for loop, changes into a while loop, with a condition of the end of the input&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We have shown some common optimizations that may get in the way of the debuggability of your application and demonstrated a disparity in debug information quality across two popular compilers. In the next blog post of this series, we will examine how gcc and clang stack up with regards to debug information quality across a myriad of synthetic applications and real world applications.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Looking forward to part 2
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://medium.com/@andoriyu/this-is-how-you-can-port-your-rust-application-to-freebsd-7d3e9f1bc3df" target="_blank" rel="nofollow noopener"&gt;This is how you can port your rust application to FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This is how you can port your rust application to FreeBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The FreeBSD Ports Collection is the way almost everyone installs applications (“ports”) on FreeBSD. Like everything else about FreeBSD, it is primarily a volunteer effort. It is important to keep this in mind when reading this document.&lt;br&gt;
In FreeBSD, anyone may submit a new port, or volunteer to maintain an existing unmaintained port. No special commit privilege is needed.&lt;br&gt;
For this guide I will use fd tool written by David Peter as example project.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Prerequisites&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD installation (VM is fine)&lt;/li&gt;
&lt;li&gt;Local ports tree (done via svn)&lt;/li&gt;
&lt;li&gt;portlint (located at devel/portlint)&lt;/li&gt;
&lt;li&gt;poudriere (located at ports-mgmt/poudriere)[optional]&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Getting ports tree&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;When you install FreeBSD opt-out of the ports tree. Install svn:&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;pkg install svn
svn checkout https://svn.freebsd.org/ports/head /usr/ports
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Poudriere&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Sometimes you might get asked to show poudriere build log, sometimes you won’t. It’s good to have anyway. If you choose to use poudriere, use ZFS. There are plenty of guides on the subject. FreeBSD Porter’s Handbook is the most complete source of information on porting to FreeBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Makefile&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Whole porting process in most cases is writing one Makefile. I recommend doing something like this.&lt;br&gt;
Here is the one I wrote for fd:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Port metadata&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Each port must have one primary category in case of fd it will be sysutils, therefore it's located in /usr/ports/systuils/fd.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;PORTNAME= fd
CATEGORIES= sysutils
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Since this port conflicts with other util named fd I specified package suffix as: PKGNAMESUFFIX= -find and indicate conflict: CONFLICTS_INSTALL= fd-[0-9]*. That means to install it from packages user will have to type:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;pkg install fd-find
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Licenses&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This section is different for every port, but in case of fd it's pretty straightforward:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;LICENSE= MIT APACHE20
LICENSE_COMB= dual
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Since fd includes the text of licenses you should do this as well:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT
LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE-APACHE
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Distfiles&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD has a requirement that all ports must allow offline building. That means you have specified which files are needed to be downloaded. Luckily we now have helpers to download GitHub sources directly from GitHub:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;USE_GITHUB= yes
GH_ACCOUNT= sharkdp
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Since PORTNANE is fd it will try to download sources for sharkdp/fd. By default it's going to download tag: &lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;fd uses v as the prefix, therefore we need to specify: DISTVERSIONPREFIX= v.&lt;br&gt;
It's also possible to specify GH_TAGNAME in case tag name doesn't match that pattern.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Extra packages&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There are very few rust projects that are standalone and use no crates dependencies. It’s used to be PITA to make it work offline, but now cargo is a first class citizen in ports:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;USES= cargo
CARGO_CRATES= aho-corasick-0.6.3 \
              atty-0.2.3 \
              # and so goes on
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Yes, you have to specify each dependency. Luckily, there is a magic awk script that turns Cargo.lock into what you need. Execute make cargo-crates in the port root. This will fail because you're missing checksum for the original source files:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;make makesum
make cargo-crates
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;This will give you what you need. Double check that result is correct. There is a way to ignore checksum error, but I can’t remember… Execute make makesum again.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;CARGO_OUT&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If. build.rs relies on that you have to change it. fd allows you to use SHELL_COMPLETIONS_DIR to specify where completions go, while ripgrep doesn't. In our case we just specify SHELL_COMPLETIONS_DIR:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;SHELL_COMPLETIONS_DIR= ${WRKDIR}/shell-completions-dir CARGO_ENV= SHELL_COMPLETIONS_DIR=${SHELL_COMPLETIONS_DIR}
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;PLIST&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD is very strict about files it’s installing and it won’t allow you to install random files that get lost. You have to specify which files you’re installing. In this case, it’s just two:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;PLIST_FILES= bin/fd \
             man/man1/fd.1.gz
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Note that sources for fd have uncompressed man file, while here it’s listed as compressed. If port installs a lot of files, specify them in pkg-plist like here. To actually install them:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;post-install:
  @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/fd
  ${INSTALL_MAN}${WRKSRC}/doc/fd.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Shell completions&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;clap-rs can generate shell completions for you, it's usually handled by build.rs script. First, we need to define options:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;OPTIONS_DEFINE= BASH FISH ZSH # list options
OPTIONS_DEFAULT= BASH FISH ZSH # select them by default
BASH_PLIST_FILES= etc/bash_completion.d/fd.bash-completion 
FISH_PLIST_FILES= share/fish/completions/fd.fish
ZSH_PLIST_FILES= share/zsh/site-functions/_fd
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;To actually install them:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;post-install-BASH-on:
 @${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d
 ${INSTALL_DATA} ${SHELL_COMPLETIONS_DIR}/fd.bash-completion \
 ${STAGEDIR}${PREFIX}/etc/bash_completion.d
post-install-FISH-on:
 @${MKDIR} ${STAGEDIR}${PREFIX}/share/fish/completions
 ${INSTALL_DATA} ${SHELL_COMPLETIONS_DIR}/fd.fish \
 ${STAGEDIR}${PREFIX}/share/fish/completions
post-install-ZSH-on:
 @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions
 ${INSTALL_DATA} ${SHELL_COMPLETIONS_DIR}/_fd \
 ${STAGEDIR}${PREFIX}/share/zsh/site-functions
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Bonus round - Patching source code&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Sometimes you have to patch it and send the patch upstream. Merging it upstream can take awhile, so you can patch it as part of the install process. An easy way to do it:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt; Go to work/ dir&lt;/li&gt;
&lt;li&gt;Copy file you want to patch and add .orig suffix to it&lt;/li&gt;
&lt;li&gt;Edit file you want to patch&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Execute make makepatch in port's root&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Submitting port&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;First, make sure portlint -AC doesn't give you any errors or warnings. Second, make sure poudriere can build it on both amd64 and i386. If it can't?—?you have to either fix it or mark port broken for that arch.&lt;br&gt;
Follow this steps like I did steps. If you have any issues you can always ask your question in freebsd-ports on freenode try to find your answer in porter’s handbook before asking.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/conference-recap-eurobsdcon-2017-recap/" target="_blank" rel="nofollow noopener"&gt;Conference Recap: EuroBSDCon 2017 Recap&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The location was wonderful and I loved sneaking out and exploring the city when I could. From what I heard, it was the largest BSD conference in history, with over 320 attendees!&lt;br&gt;
Each venue is unique and draws many local BSD enthusiasts, who normally wouldn’t be able to travel to a conference. I love having the chance to talk to these people about how they are involved in the projects and what they would like to do. Most of the time, they are asking me questions about how they can get more involved and how we can help.&lt;br&gt;
&lt;em&gt;Magical&lt;/em&gt; is how I would describe the conference social event. To stand in front of the dinner cruise on the Seine, with the Eiffel Tower standing tall, lit up in the night, while working – talking to our community members, was incredible. But, let me start at the beginning.&lt;br&gt;
We attend these conferences to talk to our community members, to find out what they are working on, determine technologies that should be supported in FreeBSD, and what we can do to help and improve FreeBSD.&lt;br&gt;
We started the week with a half-day board meeting on Wednesday. BSD conferences give us a chance to not only meet with community members around the world, but to have face-to-face meetings with our team members, who are also located around the world. We worked on refining our strategic direction and goals, determining what upcoming conferences we want FreeBSD presence at and who can give FreeBSD talks and workshops there, discussed current and potential software development projects, and discussed how we can help raise awareness about and increase the use of FreeBSD in Europe.&lt;br&gt;
Thursday was the first day of the FreeBSD developer summit, led by our very own Benedict Reuschling. He surprised us all by having us participate in a very clever quiz on France. 45 of us signed into the software, where he’d show the question on the screen and we had a limited amount of time to select our answers, with the results listed on the screen. It was actually a lot of fun, especially since they didn’t publicize the names of the people who got the questions wrong. The lucky or most knowledgeable person on France, was &lt;a href="mailto:des@freebsd.org" target="_blank" rel="nofollow noopener"&gt;des@freebsd.org&lt;/a&gt;.&lt;br&gt;
Some of our board members ran tutorials in parallel to the summit. Kirk McKusick gave his legendary tutorial,  An Introduction to the FreeBSD Open-Source Operating System , George Neville-Neil gave his tutorial, DTrace for Developers, and Benedict Reuschling gave a tutorial on, Managing BSD systems with Ansible.&lt;br&gt;
I was pleased to have two chairs from ACM-W Europe run an “Increasing Diversity in the BSDs” BoF for the second year in a row. We broke up into three groups to discuss different gender bias situations, and what we can do to address these types of situations, to make the BSD projects more diverse, welcoming, and inclusive. At the end, people asked that we continue these discussions at future BSD conferences and suggested having an expert in the field give a talk on how to increase the diversity in our projects.&lt;br&gt;
As I mentioned earlier, the social dinner was on a boat cruising along the Seine. I had a chance to talk to community members in a more social environment. With the conference being in France, we had a lot of first time attendees from France. I enjoyed talking to many of them, as well as other people I only get to see at the European conferences. Sunday was full of more presentations and conversations. During the closing session, I gave a short talk on the Foundation and the work we are doing. Then, Benedict Reuschling, Board Vice President, came up and gave out recognition awards to four FreeBSD contributors who have made an impact on the Project.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://chown.me/blog/playing-with-the-pine64.html" target="_blank" rel="nofollow noopener"&gt;Playing with the pine64&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Daniel Jakots writes in his blog about his experiences with his two pine64 boards: &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Finding something to install on it&lt;br&gt;
6 weeks ago, I ordered two pine64 units. I didn't (and still don't) have much plan for them, but I wanted to play with some cheap boards. I finally received them this week. Initially I wanted to install some Linux stuff on it, I didn't have much requirement so I thought I would just look what seems to be easy and/or the best supported systemd flavour. I headed over their wiki. Everything seems either not really maintained, done by some random people or both. I am not saying random people do bad things, just that installing some random things from the Internet is not really my cup of tea.&lt;br&gt;
I heard about &lt;a href="https://www.armbian.com/pine64/" target="_blank" rel="nofollow noopener"&gt;Armbian&lt;/a&gt; but the server flavour seems to be experimental so I got scared of it. And sadly, the whole things looks like to be alot undermanned.&lt;br&gt;
So I went for OpenBSD because I know the stuff and who to har&lt;sup&gt;Wkindly&lt;/sup&gt; ask for help. Spoiler alert, it's boring because it just works.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Getting OpenBSD on it&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I downloaded miniroot62.fs, dd'ed it on the micro SD card. I was afraid I'd need to fiddle with some things like sysutils/dtb because I don't know what I would have needed to do. That's because I don't know what it does and for this precise reason I was wrong and I didn't need to do anything. So just dd the miniroot62.fs and you can go to next checkpoint.&lt;br&gt;
I plugged an HDMI cable, ethernet cable and the power, it booted, I could read for 10 seconds but then it got dark. Of course it's because you need a serial console. Of course I didn't have one.&lt;br&gt;
I thought about trying to install OpenBSD blindly, I could have probably succeeded with autoinstall buuuuuut…&lt;br&gt;
Following some good pieces of advice from OpenBSD people I bought some cp2102 (I didn't try to understand what it was or what were the other possibilities, I just wanted something that would work :D).&lt;br&gt;
I looked how to plug the thing. It appears you can plug it on two different places but if you plug it on the Euler bus it could power a bit the board so if you try to reboot it, it would then mess with the power disruption and could lead a unclean reboot.&lt;br&gt;
You just need to plug three cables: GND, TXD and RXD. Of course, the TXD goes on the RXD pin from the picture and the RXD goes on the TXD pin. Guess why I'm telling you that! &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;That's it&lt;/li&gt;
&lt;li&gt;Then you can connect with the usual&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;$ cu -dl /dev/cuaU0 -s 115200&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://blog.frankleonhardt.com/2017/whats-the-point-of-docker-on-freebsd-or-solaris/" target="_blank" rel="nofollow noopener"&gt;What’s the point of Docker on FreeBSD or Solaris?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Penguinisters are very keen on their docker, but for the rest of us it may be difficult to see what the fuss is all about – it’s only been around a few years and everyone’s talking about it. And someone asked again today. What are we missing?&lt;br&gt;
Well docker is a solution to a Linux (and Windows) problem that FreeBSD/Solaris doesn’t have. Until recently, the Linux kernel only implemented the original user isolation model involving chroot. More recent kernels have had Control Groups added, which are intended to provide isolation for a group of processes (namespaces). This came out of Google, and they’ve extended to concept to include processor resource allocation as one of the knobs, which could be a good idea for FreeBSD. The scheduler is aware of the JID of the process it’s about to schedule, and I might take a look in the forthcoming winter evenings. But I digress.&lt;br&gt;
So if isolation (containerisation in Linux terms) is in the Linux kernel, what is Docker bringing to the party? The only thing I can think of is standardisation and an easy user interface (at the expense of having Python installed). You might think of it in similar terms to ezjail – a complex system intended to do something that is otherwise very simple.&lt;br&gt;
To make a jail in FreeBSD all you need do is copy the files for your system  to a directory. This can even be a whole server’s system disk if you like, and jails can run inside jails.  You then create a very simple config file, giving the jail a name, the path to your files and an what IP addresses to pass through (if any) and you’re done. Just type “service jail nameofjal start”, and off it goes.&lt;br&gt;
Is there any advantage in running Docker? Well, in a way, there is. Docker has a repository of system images that you can just install and run, and this is what a lot of people want. They’re a bit like virtual appliances, but not mind-numbingly inefficient.&lt;br&gt;
You can actually run docker on FreeBSD. A port was done a couple of years ago, but it relies on the 64-bit Linux emulation that started to appear in 10.x. The newer the version of FreeBSD the better.&lt;br&gt;
Docker is in ports/sysutils/docker-freebsd. It makes uses of jails instead of Linux cgroups, and requires ZFS rather than UFS for file system isolation. I believe the Linux version uses Union FS but I could be completely wrong on that.&lt;br&gt;
The FreeBSD port works with the Docker hub repository, giving you access to thousands of pre-packaged system images to play with. And that’s about as far as I’ve ever tested it. If you want to run the really tricky stuff (like Windows) you probably want full hardware emulation and something like  Xen. If you want to deploy or migrate FreeBSD or Solaris systems, just copy a new tarball in to the directory and go. It’s a non-problem, so why make it more complicated?&lt;br&gt;
Given the increasing frequency Docker turns up in conversations, it’s probably worth taking seriously as Linux applications get packaged up in to images for easy access. Jails/Zones may be more efficient, and Docker images are limited to binary, but convenience tends to win in many environments.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://www.vincentdelft.be/post/post_20171023" target="_blank" rel="nofollow noopener"&gt;Network Manager Control for OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I propose you a small script allowing you to easily manage your networks connections. This script is integrated within the openbox dynamic menus. Moreover, it allow you to automatically have the connections you have pre-defined based.&lt;br&gt;
I was frustrated to not be able to swap quickly from one network interface to an another, to connect simply and quickly to my wifi, to my cable connection, to the wifi of a friend, ... &lt;br&gt;
Every time you have to type the ifconfig commands, .... This is nice, but boring. Surely, when you are in a middle of a presentation and you just want a quick connection to your mobile in tethering mode.&lt;br&gt;
Thanks to OpenBSD those commands are not so hard, but this frustrate me to not be able to do it with one click. Directly from my windows environment. Since I'm using Openbox, from a menu of openbox.&lt;br&gt;
So, I've looked around to see what is currently existing. &lt;br&gt;
One tool I've found was &lt;a href="https://github.com/akpoff/netctl" target="_blank" rel="nofollow noopener"&gt;netctl&lt;/a&gt;. The idea is to have a repository of hostname.if files ready to use for different cases. &lt;br&gt;
The idea sounds great, but I had some difficulties to use it. &lt;br&gt;
But what annoys me the most, is that it modify the current hostname.if files in /etc. &lt;br&gt;
To my eyes, I would avoid to modify those files because they are my working basis. I want to rely on them and make sure that my network will be back to a normal mode after a reboot. &lt;br&gt;
Nevertheless, if I've well understood netctl, you have a feature where it will look for the predefined network config matching the environment where you are. Very cool.&lt;br&gt;
So, after having played with netctl, look for alternative on internet, I've decided to create nmctl. A small python script which just perform the mandatory network commands.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;1. nmctl: a Network Manager Control tool for OpenBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Nmctl a small tool that allow you to manage your network connections. &lt;br&gt;
Why python ? Just because it's the easiest programming language for me. But I should maybe rewrite it in shell, more standard in the OpenBSD world than python.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;1.1. download and install&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I've put nmctl on my sourceforge account &lt;a href="https://sourceforge.net/p/nmctl/code/ci/master/tree/" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;&lt;br&gt;
You can dowload the last version &lt;a href="https://sourceforge.net/p/nmctl/code/ci/master/tarball" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;&lt;br&gt;
To install you just have to run: make install (as root)&lt;br&gt;
The per-requists are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;having python2.7 installed&lt;/li&gt;
&lt;li&gt;Since nmctl must be run as root, I strongly recommend you to run it via &lt;a href="http://man.openbsd.org/doas.conf.5" target="_blank" rel="nofollow noopener"&gt;doas&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;1.2. The config file&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;First you have to create a config and store it in /etc/nmctl.conf. &lt;br&gt;
This file must respect few rules:&lt;br&gt;
Each block must starts with a line having the following format: '''&amp;lt;-name-&amp;gt;:&amp;lt;-interface-&amp;gt;'''&lt;br&gt;
Each following lines must start by at least one space. Those lines have more or less the same format as for hostname.if.&lt;br&gt;
You have to create a block with the name "open". This will be used to establish a connection to the Open Wifi around you (in restaurant for example)&lt;br&gt;
The order of those elements is important. In case you use the -restart option, nmctl will try each of those network configs one after one until it can ping &lt;a href="http://www.google.com" target="_blank" rel="nofollow noopener"&gt;www.google.com&lt;/a&gt;. (if you wan to ping something else, you can change it in the python script if you want).&lt;br&gt;
You can use external commands. Just preced them with the "!".&lt;br&gt;
You have macors. Macros allow you to perform some actions. The 2 currently implemented are '''&amp;lt;-nwid-&amp;gt;''' and '''&amp;lt;-random mac-&amp;gt;'''.&lt;br&gt;
You can use keywords. Currently the only one implemented is "dhcp"&lt;br&gt;
Basically you can put all commands that nmctl will apply to the interface to which those commands are referring to. So, you will always have "ifconfig &amp;lt;-interface-&amp;gt; &amp;lt;-command you type in the config file-&amp;gt;". &lt;br&gt;
Check the manpage of ifconfig to see how flexible command is.&lt;br&gt;
You have currently 2 macros:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&amp;lt;-nwid-&amp;gt; which refers to the "nwid &amp;lt;-nwid name-&amp;gt;" when you select an Open Wifi with the -open option of nmctl.&lt;/li&gt;
&lt;li&gt;&amp;lt;-random mac-&amp;gt; is a macro generating a random mac address. This is useful test a dhcp server for example.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The keyword "dhcp" will trigger a command like "dhclient &amp;lt;-interface-&amp;gt;".&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;1.3. Config file sample.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Let me show you one nmctl.conf example. It speaks by itself.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;
&amp;amp;#35; the name open is required for Open wifi. 
&amp;amp;#35; this is the interface that nmctl will take to establish a connection
&amp;amp;#35; We must put the macro &amp;lt;nwid&amp;gt;. This is where nmctl will put the nwid command
&amp;amp;#35; and the selected openwifi selected by the parameter --open

open:iwn0
 !route flush
 &amp;lt;nwid&amp;gt; -wpa
 dhcp

cable:em0
 !route flush
 dhcp

lgg4:iwn0
 !route flush
 nwid LGG4s_8114 wpakey aanotherpassword
 dhcp

home:iwn0
 !route flush
 nwid Linksys19594 wpakey apassword
 dhcp

college:iwn0
 !route flush
 nwid john wpakey haahaaaguessme
 dhcp

cable_fixip:em0
 !route flush
 inet 192.168.3.3 netmask 255.255.255.0
 !route add -host default 192.168.3.1

&amp;amp;#35; with this network interface I'm using the macro &amp;lt;random mac&amp;gt; 
&amp;amp;#35; which will do what you guess it will do :-)
cable_random:em0
 !route flush
 lladdr &amp;lt;random mac&amp;gt;
 dhcp

&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;In this config we have several cable's networks associated with my interface "em0" and several wifi networks associated with my wireless interface "iwn0".&lt;br&gt;
You see that you can switch from dhcp, to fixed IP and even you can play with the random mac address macro.&lt;br&gt;
Thanks to the network called "open", you can connect to any open wifi system. To do that, just type ''' nmctl --open &amp;lt;-name of the open wifi-&amp;gt;'''&lt;br&gt;
So, now, with just one command you can switch from one network configuration to an another one. &lt;br&gt;
That's become cool :-).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;2. Integration with openbox&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Thanks to the dynamic menu feature of oenbox[sic], you can have your different pre-defined networks under one click of your mouse.&lt;br&gt;
For that, you just have to add, at the most appropriate place for you, the following code in your ./config/openbox/menu.xml&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;menu id="network-menu" label="Network"&amp;gt;
  &amp;lt;menu id="wifi-list" label="Wifi configured"  execute="doas /usr/local/bin/nmctl --list" /&amp;gt;
  &amp;lt;menu id="wifi-scan" label="Wifi scan"  execute="doas /usr/local/bin/nmctl --scan" /&amp;gt;
  &amp;lt;separator /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;In this case, you see the different networks as defined in the config file just above.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;3. Automatically identify your available connection and connect to it in one go&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;But the most interesting part, is coming from a loop through all of your defined networks. &lt;br&gt;
This loop is reachable via the -restart option.&lt;br&gt;
Basically the idea is to loop from the first network config to the last and test a ping for each of them. Once the ping works, we break the loop and keep this setting.&lt;br&gt;
Thus where ever you are, you just have to initiate a nmctl -restart and you will be connected to the network you have defined for this place. There is one small exception, the open-wifis. We do not include them in this loop exercise.&lt;br&gt;
Thus the way you define your config file is important. &lt;br&gt;
Since the network called "open" is dedicated to "open wifi", it will not be part of this scan exercise. I propose you keep it at the first place.&lt;br&gt;
Then, in my case, if my mobile, called lgg4, is open and visible by my laptop, I will connect it immediately. &lt;br&gt;
Second, I check if my "home wifi" is visible. &lt;br&gt;
Third, if I have a cable connected on my laptop, I'm using this connection and do a dhcp command. &lt;br&gt;
Then, I check to see if my laptop is not viewing the "college" wifi. &lt;br&gt;
? and so on until a ping command works.&lt;br&gt;
If you do not have a cable in your laptop and if none of your pre-defined wifi connections are visible, the scan will stop.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;3.1 examples&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;No cable connected, no pre-defined wifi around me:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;t420:~$ time doas nmctl -r 
nwids around you:  bbox2-d954
    0m02.97s real     0m00.08s user     0m00.11s system
t420:~$ 
t420:~$
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;I'm at home and my wifi router is running:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;t420:~$ time doas nmctl -r 
nwids around you:  Linksys19594 bbox2-d954
ifconfig em0 down: 0
default              fw                   done
fw                   00:22:4d:ac:30:fd    done
nas                  link#2               done
route flush: 0
ifconfig iwn0 nwid Linksys19594  ...: 0
iwn0: no link ........... sleeping
dhclient iwn0: 0
Done.
PING www.google.com (216.58.212.164): 56 data bytes
64 bytes from 216.58.212.164: icmp_seq=0 ttl=52 time=12.758 ms

--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 12.758/12.758/12.758/0.000 ms
ping -c1 -w2 www.google.com: 0
    0m22.49s real     0m00.08s user     0m00.11s system
t420:~$
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;I'm at home but tethering is active on my mobile:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;t420:~$ 
t420:~$ time doas nmctl -r 
nwids around you:  Linksys19594 bbox2-d954 LGG4s_8114
ifconfig em0 down: 0
default              fw                   done
fw                   00:22:4d:ac:30:fd    done
nas                  link#2               done
route flush: 0
ifconfig iwn0 nwid LGG4s_8114  ...: 0
iwn0: DHCPDISCOVER - interval 1
iwn0: DHCPDISCOVER - interval 2
iwn0: DHCPOFFER from 192.168.43.1 (a0:91:69:be:10:49)
iwn0: DHCPREQUEST to 255.255.255.255
iwn0: DHCPACK from 192.168.43.1 (a0:91:69:be:10:49)
iwn0: bound to 192.168.43.214 -- renewal in 1800 seconds
dhclient iwn0: 0
Done.
ping: Warning: www.google.com has multiple addresses; using 173.194.69.99
PING www.google.com (173.194.69.99): 56 data bytes
64 bytes from 173.194.69.99: icmp_seq=0 ttl=43 time=42.863 ms

--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 42.863/42.863/42.863/0.000 ms
ping -c1 -w2 www.google.com: 0
    0m13.78s real     0m00.08s user     0m00.13s system
t420:~$
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Same situation, but I cut the tethering just after the scan. Thus the dhcp command will not succeed. &lt;br&gt;
We see that, after timeouts, nmctl see that the ping is failing (return code 1), thus he pass to the next possible pre-defined network.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;t420:~$ time doas nmctl -r 
nwids around you:  Linksys19594 bbox2-d954 LGG4s_8114
ifconfig em0 down: 0
default              192.168.43.1         done
192.168.43.1         a0:91:69:be:10:49    done
route flush: 0
ifconfig iwn0 nwid LGG4s_8114  ...: 0
iwn0: no link ........... sleeping
dhclient iwn0: 0
Done.
ping: no address associated with name
ping -c1 -w2 www.google.com: 1
ifconfig em0 down: 0
192.168.43.1         link#2               done
route flush: 0
ifconfig iwn0 nwid Linksys19594  ...: 0
iwn0: DHCPREQUEST to 255.255.255.255
iwn0: DHCPACK from 192.168.3.1 (00:22:4d:ac:30:fd)
iwn0: bound to 192.168.3.16 -- renewal in 302400 seconds
dhclient iwn0: 0
Done.
PING www.google.com (216.58.212.164): 56 data bytes
64 bytes from 216.58.212.164: icmp_seq=0 ttl=52 time=12.654 ms

--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 12.654/12.654/12.654/0.000 ms
ping -c1 -w2 www.google.com: 0
    3m34.85s real     0m00.17s user     0m00.20s system
t420:~$
&lt;/code&gt;&lt;/pre&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.c0ffee.net/blog/openvpn-guide" target="_blank" rel="nofollow noopener"&gt;OpenVPN Setup Guide for FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;OpenVPN Setup Guide

&lt;ul&gt;
&lt;li&gt;Browse securely from anywhere using a personal VPN with OpenVPN, LDAP, FreeBSD, and PF.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A VPN allows you to securely extend a private network over the internet via tunneling protocols and traffic encryption. For most people, a VPN offers two primary features: (1) the ability to access services on your local network over the internet, and (2) secure internet connectivity over an untrusted network. In this guide, I'll describe how to set up a personal VPN using OpenVPN on FreeBSD. The configuration can use both SSL certificates and LDAP credentials for authentication. We'll also be using the PF firewall to NAT traffic from our VPN out to the internet.&lt;br&gt;
One important note about running your own VPN: since you are most likely hosting your server using a VPS or hosting provider, with a public IP address allocated specifically to you, your VPN will not give you any extra anonymity on the internet. If anything, you'll be making yourself more of a target, since all your activity can be trivially traced back to your server's IP address. So while your VPN will protect you from a snooping hacker on the free WiFi at Starbucks, it won't protect you from a federal investigation.&lt;br&gt;
This guide assumes you are running FreeBSD with the PF firewall. If you're using a different Unix flavor, I'll probably get you most of the way there—but you'll be on your own when configuring your firewall and networking.&lt;br&gt;
Finally, I've used example.com and a non-routable public IP address for all the examples in this guide. You'll need to replace them with your own domain name and public IP address.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/channel/UCuQhwHMJ0yK2zlfyRr1XZ_Q/feed" target="_blank" rel="nofollow noopener"&gt;BSDCan 2017 videos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openbsd.org/papers/eurobsdcon2017-device-drivers.pdf" target="_blank" rel="nofollow noopener"&gt;Getting started with OpenBSD device driver development PDF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://macfoo.wordpress.com/2017/10/27/aws-cloudwatch-logs-agent-for-freebsd/" target="_blank" rel="nofollow noopener"&gt;AWS CloudWatch Logs agent for FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/november-2017-development-projects-update/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation November 2017 Development Projects Update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fosdem.org/2018/schedule/track/bsd/" target="_blank" rel="nofollow noopener"&gt;Schedule for the BSD Devroom at FOSDEM 2018&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Matt - &lt;a href="http://dpaste.com/35VNXR5#wrap" target="_blank" rel="nofollow noopener"&gt;The show and Cantrill&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Paulo - &lt;a href="http://dpaste.com/17E9Z2W#wrap" target="_blank" rel="nofollow noopener"&gt;FreeBSD Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Steven - &lt;a href="http://dpaste.com/1N6F0TC#wrap" target="_blank" rel="nofollow noopener"&gt;Virtualization under FreeBSD&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Picking a compiler for debuggability, how to port Rust apps to FreeBSD, what the point of Docker is on FreeBSD/Solaris, another EuroBSDcon recap, and network manager control in OpenBSD</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://backtrace.io/blog/compile-once-debug-twice-picking-a-compiler-for-debuggability-1of3/" target="_blank" rel="nofollow noopener">Compile once, Debug twice: Picking a compiler for debuggability, part 1 of 3</a></h3>

<ul>
<li>An interesting look into why when you try to debug a crash, you can often find all of the useful information has been optimized out</li>
</ul>

<blockquote>
<p>Have you ever had an assert get triggered only to result in a useless core dump with missing variable information or an invalid callstack?<br>
Common factors that go into selecting a C or C++ compiler are: availability, correctness, compilation speed and application performance. A factor that is often neglected is debug information quality, which symbolic debuggers use to reconcile application executable state to the source-code form that is familiar to most software engineers.<br>
When production builds of an application fail, the level of access to program state directly impacts the ability for a software engineer to investigate and fix a bug. If a compiler has optimized out a variable or is unable to express to a symbolic debugger how to reconstruct the value of a variable, the engineers investigation process is significantly impacted. Either the engineer has to attempt to recreate the problem, iterate through speculative fixes or attempt to perform prohibitively expensive debugging, such as reconstructing program state through executable code analysis.<br>
Debug information quality is in fact not proportionally related to the quality of the generated executable code and wildly varies from compiler to compiler.<br>
Different compilers emit debug information at varying levels of quality and accuracy. However, certain optimizations will certainly impact any debuggers ability to generate accurate stack traces or extract variable values. <br>
In the above program, the value of argv is extracted and then the program is paused. The ck_pr_load_ptr function performs a read from the region of memory pointed to by argv, in a manner that prevents the compiler from performing optimization on it. This ensures that the memory access occurs and for this reason, the value of argv must be accessible by the time ck_pr_load_ptr is executed.<br>
When compiled with gcc, the debugger fails to find the value of the variable. The compiler determines that the value of argv is no longer needed after the ck_pr_load_ptr operation and so doesnt bother paying the cost of saving the value.<br>
Some optimizations generate executable code whose call stack cannot be sufficiently disambiguated to reconcile a call stack that mirrors that of the source program. Two common culprits for this are tail call optimization and basic block commoning.</p>
</blockquote>

<ul>
<li>In another example</li>
</ul>

<blockquote>
<p>If the program receives a first argument of 1, then function is called with the argument of "a". If the program receives a first argument of 2, then function is called with the argument of "b". However, if we compile this program with clang, the stack traces in both cases are identical! clang informs the debugger that the function f invoked the function("b") branch where x = 2 even if x = 1.<br>
Though some optimizations will certainly impact the accuracy of a symbolic debugger, some compilers simply lack the ability to generate debug information in the presence of certain optimizations. One common optimization is induction variable elimination. A variable thats incremented or decremented by a constant on every iteration of a loop or derived from another variable that follows this pattern, is an induction variable.<br>
Coupled with other optimizations, the compiler is then able to generate code that doesnt actually rely on a dedicated counter variable i for maintaining the current offset into buffer.<br>
As you can see, i is completely optimized out. The compiler determines it doesnt have to pay the cost of maintaining the induction variable i. It maintains the pointer in the register %rdi. The code is effectively rewritten to something closer to this:</p>
</blockquote>

<ul>
<li>So the for loop, changes into a while loop, with a condition of the end of the input</li>
</ul>

<blockquote>
<p>We have shown some common optimizations that may get in the way of the debuggability of your application and demonstrated a disparity in debug information quality across two popular compilers. In the next blog post of this series, we will examine how gcc and clang stack up with regards to debug information quality across a myriad of synthetic applications and real world applications.</p>
</blockquote>

<ul>
<li>Looking forward to part 2
***</li>
</ul>

<h3><a href="https://medium.com/@andoriyu/this-is-how-you-can-port-your-rust-application-to-freebsd-7d3e9f1bc3df" target="_blank" rel="nofollow noopener">This is how you can port your rust application to FreeBSD</a></h3>

<ul>
<li>This is how you can port your rust application to FreeBSD</li>
</ul>

<blockquote>
<p>The FreeBSD Ports Collection is the way almost everyone installs applications (ports) on FreeBSD. Like everything else about FreeBSD, it is primarily a volunteer effort. It is important to keep this in mind when reading this document.<br>
In FreeBSD, anyone may submit a new port, or volunteer to maintain an existing unmaintained port. No special commit privilege is needed.<br>
For this guide I will use fd tool written by David Peter as example project.</p>
</blockquote>

<ul>
<li><p>Prerequisites</p>

<ul>
<li>FreeBSD installation (VM is fine)</li>
<li>Local ports tree (done via svn)</li>
<li>portlint (located at devel/portlint)</li>
<li>poudriere (located at ports-mgmt/poudriere)[optional]</li>
</ul></li>
<li><p>Getting ports tree</p>

<ul>
<li>When you install FreeBSD opt-out of the ports tree. Install svn:</li>
</ul></li>
</ul>

<pre><code>pkg install svn
svn checkout https://svn.freebsd.org/ports/head /usr/ports
</code></pre>

<ul>
<li>Poudriere</li>
</ul>

<blockquote>
<p>Sometimes you might get asked to show poudriere build log, sometimes you wont. Its good to have anyway. If you choose to use poudriere, use ZFS. There are plenty of guides on the subject. FreeBSD Porters Handbook is the most complete source of information on porting to FreeBSD.</p>
</blockquote>

<ul>
<li>Makefile</li>
</ul>

<blockquote>
<p>Whole porting process in most cases is writing one Makefile. I recommend doing something like this.<br>
Here is the one I wrote for fd:</p>
</blockquote>

<ul>
<li>Port metadata</li>
</ul>

<blockquote>
<p>Each port must have one primary category in case of fd it will be sysutils, therefore it's located in /usr/ports/systuils/fd.</p>
</blockquote>

<pre><code>PORTNAME= fd
CATEGORIES= sysutils
</code></pre>

<blockquote>
<p>Since this port conflicts with other util named fd I specified package suffix as: PKGNAMESUFFIX= -find and indicate conflict: CONFLICTS_INSTALL= fd-[0-9]*. That means to install it from packages user will have to type:</p>
</blockquote>

<pre><code>pkg install fd-find
</code></pre>

<ul>
<li>Licenses</li>
</ul>

<blockquote>
<p>This section is different for every port, but in case of fd it's pretty straightforward:</p>
</blockquote>

<pre><code>LICENSE= MIT APACHE20
LICENSE_COMB= dual
</code></pre>

<blockquote>
<p>Since fd includes the text of licenses you should do this as well:</p>
</blockquote>

<pre><code>LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT
LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE-APACHE
</code></pre>

<ul>
<li>Distfiles</li>
</ul>

<blockquote>
<p>FreeBSD has a requirement that all ports must allow offline building. That means you have specified which files are needed to be downloaded. Luckily we now have helpers to download GitHub sources directly from GitHub:</p>
</blockquote>

<pre><code>USE_GITHUB= yes
GH_ACCOUNT= sharkdp
</code></pre>

<blockquote>
<p>Since PORTNANE is fd it will try to download sources for sharkdp/fd. By default it's going to download tag: </p>
</blockquote>

<pre><code>${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
</code></pre>

<blockquote>
<p>fd uses v as the prefix, therefore we need to specify: DISTVERSIONPREFIX= v.<br>
It's also possible to specify GH_TAGNAME in case tag name doesn't match that pattern.</p>
</blockquote>

<ul>
<li>Extra packages</li>
</ul>

<blockquote>
<p>There are very few rust projects that are standalone and use no crates dependencies. Its used to be PITA to make it work offline, but now cargo is a first class citizen in ports:</p>
</blockquote>

<pre><code>USES= cargo
CARGO_CRATES= aho-corasick-0.6.3 \
              atty-0.2.3 \
              # and so goes on
</code></pre>

<blockquote>
<p>Yes, you have to specify each dependency. Luckily, there is a magic awk script that turns Cargo.lock into what you need. Execute make cargo-crates in the port root. This will fail because you're missing checksum for the original source files:</p>
</blockquote>

<pre><code>make makesum
make cargo-crates
</code></pre>

<blockquote>
<p>This will give you what you need. Double check that result is correct. There is a way to ignore checksum error, but I cant remember Execute make makesum again.</p>
</blockquote>

<ul>
<li>CARGO_OUT</li>
</ul>

<blockquote>
<p>If. build.rs relies on that you have to change it. fd allows you to use SHELL_COMPLETIONS_DIR to specify where completions go, while ripgrep doesn't. In our case we just specify SHELL_COMPLETIONS_DIR:</p>
</blockquote>

<pre><code>SHELL_COMPLETIONS_DIR= ${WRKDIR}/shell-completions-dir CARGO_ENV= SHELL_COMPLETIONS_DIR=${SHELL_COMPLETIONS_DIR}
</code></pre>

<ul>
<li>PLIST</li>
</ul>

<blockquote>
<p>FreeBSD is very strict about files its installing and it wont allow you to install random files that get lost. You have to specify which files youre installing. In this case, its just two:</p>
</blockquote>

<pre><code>PLIST_FILES= bin/fd \
             man/man1/fd.1.gz
</code></pre>

<blockquote>
<p>Note that sources for fd have uncompressed man file, while here its listed as compressed. If port installs a lot of files, specify them in pkg-plist like here. To actually install them:</p>
</blockquote>

<pre><code>post-install:
  @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/fd
  ${INSTALL_MAN}${WRKSRC}/doc/fd.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
</code></pre>

<ul>
<li>Shell completions</li>
</ul>

<blockquote>
<p>clap-rs can generate shell completions for you, it's usually handled by build.rs script. First, we need to define options:</p>
</blockquote>

<pre><code>OPTIONS_DEFINE= BASH FISH ZSH # list options
OPTIONS_DEFAULT= BASH FISH ZSH # select them by default
BASH_PLIST_FILES= etc/bash_completion.d/fd.bash-completion 
FISH_PLIST_FILES= share/fish/completions/fd.fish
ZSH_PLIST_FILES= share/zsh/site-functions/_fd
</code></pre>

<blockquote>
<p>To actually install them:</p>
</blockquote>

<pre><code>post-install-BASH-on:
 @${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d
 ${INSTALL_DATA} ${SHELL_COMPLETIONS_DIR}/fd.bash-completion \
 ${STAGEDIR}${PREFIX}/etc/bash_completion.d
post-install-FISH-on:
 @${MKDIR} ${STAGEDIR}${PREFIX}/share/fish/completions
 ${INSTALL_DATA} ${SHELL_COMPLETIONS_DIR}/fd.fish \
 ${STAGEDIR}${PREFIX}/share/fish/completions
post-install-ZSH-on:
 @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions
 ${INSTALL_DATA} ${SHELL_COMPLETIONS_DIR}/_fd \
 ${STAGEDIR}${PREFIX}/share/zsh/site-functions
</code></pre>

<ul>
<li>Bonus round - Patching source code</li>
</ul>

<blockquote>
<p>Sometimes you have to patch it and send the patch upstream. Merging it upstream can take awhile, so you can patch it as part of the install process. An easy way to do it:</p>
</blockquote>

<ul>
<li> Go to work/ dir</li>
<li>Copy file you want to patch and add .orig suffix to it</li>
<li>Edit file you want to patch</li>
<li><p>Execute make makepatch in port's root</p></li>
<li><p>Submitting port</p></li>
</ul>

<blockquote>
<p>First, make sure portlint -AC doesn't give you any errors or warnings. Second, make sure poudriere can build it on both amd64 and i386. If it can't??you have to either fix it or mark port broken for that arch.<br>
Follow this steps like I did steps. If you have any issues you can always ask your question in freebsd-ports on freenode try to find your answer in porters handbook before asking.</p>
</blockquote>

<hr>

<h3><a href="https://www.freebsdfoundation.org/blog/conference-recap-eurobsdcon-2017-recap/" target="_blank" rel="nofollow noopener">Conference Recap: EuroBSDCon 2017 Recap</a></h3>

<blockquote>
<p>The location was wonderful and I loved sneaking out and exploring the city when I could. From what I heard, it was the largest BSD conference in history, with over 320 attendees!<br>
Each venue is unique and draws many local BSD enthusiasts, who normally wouldnt be able to travel to a conference. I love having the chance to talk to these people about how they are involved in the projects and what they would like to do. Most of the time, they are asking me questions about how they can get more involved and how we can help.<br>
<em>Magical</em> is how I would describe the conference social event. To stand in front of the dinner cruise on the Seine, with the Eiffel Tower standing tall, lit up in the night, while working  talking to our community members, was incredible. But, let me start at the beginning.<br>
We attend these conferences to talk to our community members, to find out what they are working on, determine technologies that should be supported in FreeBSD, and what we can do to help and improve FreeBSD.<br>
We started the week with a half-day board meeting on Wednesday. BSD conferences give us a chance to not only meet with community members around the world, but to have face-to-face meetings with our team members, who are also located around the world. We worked on refining our strategic direction and goals, determining what upcoming conferences we want FreeBSD presence at and who can give FreeBSD talks and workshops there, discussed current and potential software development projects, and discussed how we can help raise awareness about and increase the use of FreeBSD in Europe.<br>
Thursday was the first day of the FreeBSD developer summit, led by our very own Benedict Reuschling. He surprised us all by having us participate in a very clever quiz on France. 45 of us signed into the software, where hed show the question on the screen and we had a limited amount of time to select our answers, with the results listed on the screen. It was actually a lot of fun, especially since they didnt publicize the names of the people who got the questions wrong. The lucky or most knowledgeable person on France, was <a href="mailto:des@freebsd.org" target="_blank" rel="nofollow noopener">des@freebsd.org</a>.<br>
Some of our board members ran tutorials in parallel to the summit. Kirk McKusick gave his legendary tutorial,  An Introduction to the FreeBSD Open-Source Operating System , George Neville-Neil gave his tutorial, DTrace for Developers, and Benedict Reuschling gave a tutorial on, Managing BSD systems with Ansible.<br>
I was pleased to have two chairs from ACM-W Europe run an Increasing Diversity in the BSDs BoF for the second year in a row. We broke up into three groups to discuss different gender bias situations, and what we can do to address these types of situations, to make the BSD projects more diverse, welcoming, and inclusive. At the end, people asked that we continue these discussions at future BSD conferences and suggested having an expert in the field give a talk on how to increase the diversity in our projects.<br>
As I mentioned earlier, the social dinner was on a boat cruising along the Seine. I had a chance to talk to community members in a more social environment. With the conference being in France, we had a lot of first time attendees from France. I enjoyed talking to many of them, as well as other people I only get to see at the European conferences. Sunday was full of more presentations and conversations. During the closing session, I gave a short talk on the Foundation and the work we are doing. Then, Benedict Reuschling, Board Vice President, came up and gave out recognition awards to four FreeBSD contributors who have made an impact on the Project.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://chown.me/blog/playing-with-the-pine64.html" target="_blank" rel="nofollow noopener">Playing with the pine64</a></h3>

<ul>
<li>Daniel Jakots writes in his blog about his experiences with his two pine64 boards: </li>
</ul>

<blockquote>
<p>Finding something to install on it<br>
6 weeks ago, I ordered two pine64 units. I didn't (and still don't) have much plan for them, but I wanted to play with some cheap boards. I finally received them this week. Initially I wanted to install some Linux stuff on it, I didn't have much requirement so I thought I would just look what seems to be easy and/or the best supported systemd flavour. I headed over their wiki. Everything seems either not really maintained, done by some random people or both. I am not saying random people do bad things, just that installing some random things from the Internet is not really my cup of tea.<br>
I heard about <a href="https://www.armbian.com/pine64/" target="_blank" rel="nofollow noopener">Armbian</a> but the server flavour seems to be experimental so I got scared of it. And sadly, the whole things looks like to be alot undermanned.<br>
So I went for OpenBSD because I know the stuff and who to har<sup>Wkindly</sup> ask for help. Spoiler alert, it's boring because it just works.</p>
</blockquote>

<ul>
<li>Getting OpenBSD on it</li>
</ul>

<blockquote>
<p>I downloaded miniroot62.fs, dd'ed it on the micro SD card. I was afraid I'd need to fiddle with some things like sysutils/dtb because I don't know what I would have needed to do. That's because I don't know what it does and for this precise reason I was wrong and I didn't need to do anything. So just dd the miniroot62.fs and you can go to next checkpoint.<br>
I plugged an HDMI cable, ethernet cable and the power, it booted, I could read for 10 seconds but then it got dark. Of course it's because you need a serial console. Of course I didn't have one.<br>
I thought about trying to install OpenBSD blindly, I could have probably succeeded with autoinstall buuuuuut<br>
Following some good pieces of advice from OpenBSD people I bought some cp2102 (I didn't try to understand what it was or what were the other possibilities, I just wanted something that would work :D).<br>
I looked how to plug the thing. It appears you can plug it on two different places but if you plug it on the Euler bus it could power a bit the board so if you try to reboot it, it would then mess with the power disruption and could lead a unclean reboot.<br>
You just need to plug three cables: GND, TXD and RXD. Of course, the TXD goes on the RXD pin from the picture and the RXD goes on the TXD pin. Guess why I'm telling you that! </p>
</blockquote>

<ul>
<li>That's it</li>
<li>Then you can connect with the usual</li>
</ul>

<blockquote>
<p>$ cu -dl /dev/cuaU0 -s 115200</p>

<hr>
</blockquote>

<h3><a href="http://blog.frankleonhardt.com/2017/whats-the-point-of-docker-on-freebsd-or-solaris/" target="_blank" rel="nofollow noopener">Whats the point of Docker on FreeBSD or Solaris?</a></h3>

<blockquote>
<p>Penguinisters are very keen on their docker, but for the rest of us it may be difficult to see what the fuss is all about  its only been around a few years and everyones talking about it. And someone asked again today. What are we missing?<br>
Well docker is a solution to a Linux (and Windows) problem that FreeBSD/Solaris doesnt have. Until recently, the Linux kernel only implemented the original user isolation model involving chroot. More recent kernels have had Control Groups added, which are intended to provide isolation for a group of processes (namespaces). This came out of Google, and theyve extended to concept to include processor resource allocation as one of the knobs, which could be a good idea for FreeBSD. The scheduler is aware of the JID of the process its about to schedule, and I might take a look in the forthcoming winter evenings. But I digress.<br>
So if isolation (containerisation in Linux terms) is in the Linux kernel, what is Docker bringing to the party? The only thing I can think of is standardisation and an easy user interface (at the expense of having Python installed). You might think of it in similar terms to ezjail  a complex system intended to do something that is otherwise very simple.<br>
To make a jail in FreeBSD all you need do is copy the files for your system  to a directory. This can even be a whole servers system disk if you like, and jails can run inside jails.  You then create a very simple config file, giving the jail a name, the path to your files and an what IP addresses to pass through (if any) and youre done. Just type service jail nameofjal start, and off it goes.<br>
Is there any advantage in running Docker? Well, in a way, there is. Docker has a repository of system images that you can just install and run, and this is what a lot of people want. Theyre a bit like virtual appliances, but not mind-numbingly inefficient.<br>
You can actually run docker on FreeBSD. A port was done a couple of years ago, but it relies on the 64-bit Linux emulation that started to appear in 10.x. The newer the version of FreeBSD the better.<br>
Docker is in ports/sysutils/docker-freebsd. It makes uses of jails instead of Linux cgroups, and requires ZFS rather than UFS for file system isolation. I believe the Linux version uses Union FS but I could be completely wrong on that.<br>
The FreeBSD port works with the Docker hub repository, giving you access to thousands of pre-packaged system images to play with. And thats about as far as Ive ever tested it. If you want to run the really tricky stuff (like Windows) you probably want full hardware emulation and something like  Xen. If you want to deploy or migrate FreeBSD or Solaris systems, just copy a new tarball in to the directory and go. Its a non-problem, so why make it more complicated?<br>
Given the increasing frequency Docker turns up in conversations, its probably worth taking seriously as Linux applications get packaged up in to images for easy access. Jails/Zones may be more efficient, and Docker images are limited to binary, but convenience tends to win in many environments.</p>

<hr>
</blockquote>

<h3><a href="http://www.vincentdelft.be/post/post_20171023" target="_blank" rel="nofollow noopener">Network Manager Control for OpenBSD</a></h3>

<blockquote>
<p>I propose you a small script allowing you to easily manage your networks connections. This script is integrated within the openbox dynamic menus. Moreover, it allow you to automatically have the connections you have pre-defined based.<br>
I was frustrated to not be able to swap quickly from one network interface to an another, to connect simply and quickly to my wifi, to my cable connection, to the wifi of a friend, ... <br>
Every time you have to type the ifconfig commands, .... This is nice, but boring. Surely, when you are in a middle of a presentation and you just want a quick connection to your mobile in tethering mode.<br>
Thanks to OpenBSD those commands are not so hard, but this frustrate me to not be able to do it with one click. Directly from my windows environment. Since I'm using Openbox, from a menu of openbox.<br>
So, I've looked around to see what is currently existing. <br>
One tool I've found was <a href="https://github.com/akpoff/netctl" target="_blank" rel="nofollow noopener">netctl</a>. The idea is to have a repository of hostname.if files ready to use for different cases. <br>
The idea sounds great, but I had some difficulties to use it. <br>
But what annoys me the most, is that it modify the current hostname.if files in /etc. <br>
To my eyes, I would avoid to modify those files because they are my working basis. I want to rely on them and make sure that my network will be back to a normal mode after a reboot. <br>
Nevertheless, if I've well understood netctl, you have a feature where it will look for the predefined network config matching the environment where you are. Very cool.<br>
So, after having played with netctl, look for alternative on internet, I've decided to create nmctl. A small python script which just perform the mandatory network commands.</p>
</blockquote>

<ul>
<li>1. nmctl: a Network Manager Control tool for OpenBSD</li>
</ul>

<blockquote>
<p>Nmctl a small tool that allow you to manage your network connections. <br>
Why python ? Just because it's the easiest programming language for me. But I should maybe rewrite it in shell, more standard in the OpenBSD world than python.</p>
</blockquote>

<ul>
<li>1.1. download and install</li>
</ul>

<blockquote>
<p>I've put nmctl on my sourceforge account <a href="https://sourceforge.net/p/nmctl/code/ci/master/tree/" target="_blank" rel="nofollow noopener">here</a><br>
You can dowload the last version <a href="https://sourceforge.net/p/nmctl/code/ci/master/tarball" target="_blank" rel="nofollow noopener">here</a><br>
To install you just have to run: make install (as root)<br>
The per-requists are:</p>

<ul>
<li>having python2.7 installed</li>
<li>Since nmctl must be run as root, I strongly recommend you to run it via <a href="http://man.openbsd.org/doas.conf.5" target="_blank" rel="nofollow noopener">doas</a>.</li>
</ul>
</blockquote>

<ul>
<li>1.2. The config file</li>
</ul>

<blockquote>
<p>First you have to create a config and store it in /etc/nmctl.conf. <br>
This file must respect few rules:<br>
Each block must starts with a line having the following format: '''&lt;-name-&gt;:&lt;-interface-&gt;'''<br>
Each following lines must start by at least one space. Those lines have more or less the same format as for hostname.if.<br>
You have to create a block with the name "open". This will be used to establish a connection to the Open Wifi around you (in restaurant for example)<br>
The order of those elements is important. In case you use the -restart option, nmctl will try each of those network configs one after one until it can ping <a href="http://www.google.com" target="_blank" rel="nofollow noopener">www.google.com</a>. (if you wan to ping something else, you can change it in the python script if you want).<br>
You can use external commands. Just preced them with the "!".<br>
You have macors. Macros allow you to perform some actions. The 2 currently implemented are '''&lt;-nwid-&gt;''' and '''&lt;-random mac-&gt;'''.<br>
You can use keywords. Currently the only one implemented is "dhcp"<br>
Basically you can put all commands that nmctl will apply to the interface to which those commands are referring to. So, you will always have "ifconfig &lt;-interface-&gt; &lt;-command you type in the config file-&gt;". <br>
Check the manpage of ifconfig to see how flexible command is.<br>
You have currently 2 macros:</p>

<ul>
<li>&lt;-nwid-&gt; which refers to the "nwid &lt;-nwid name-&gt;" when you select an Open Wifi with the -open option of nmctl.</li>
<li>&lt;-random mac-&gt; is a macro generating a random mac address. This is useful test a dhcp server for example.</li>
</ul>

<p>The keyword "dhcp" will trigger a command like "dhclient &lt;-interface-&gt;".</p>
</blockquote>

<ul>
<li>1.3. Config file sample.</li>
</ul>

<blockquote>
<p>Let me show you one nmctl.conf example. It speaks by itself.</p>
</blockquote>

<pre><code>
&amp;#35; the name open is required for Open wifi. 
&amp;#35; this is the interface that nmctl will take to establish a connection
&amp;#35; We must put the macro &lt;nwid&gt;. This is where nmctl will put the nwid command
&amp;#35; and the selected openwifi selected by the parameter --open

open:iwn0
 !route flush
 &lt;nwid&gt; -wpa
 dhcp

cable:em0
 !route flush
 dhcp

lgg4:iwn0
 !route flush
 nwid LGG4s_8114 wpakey aanotherpassword
 dhcp

home:iwn0
 !route flush
 nwid Linksys19594 wpakey apassword
 dhcp

college:iwn0
 !route flush
 nwid john wpakey haahaaaguessme
 dhcp

cable_fixip:em0
 !route flush
 inet 192.168.3.3 netmask 255.255.255.0
 !route add -host default 192.168.3.1

&amp;#35; with this network interface I'm using the macro &lt;random mac&gt; 
&amp;#35; which will do what you guess it will do :-)
cable_random:em0
 !route flush
 lladdr &lt;random mac&gt;
 dhcp

</code></pre>

<blockquote>
<p>In this config we have several cable's networks associated with my interface "em0" and several wifi networks associated with my wireless interface "iwn0".<br>
You see that you can switch from dhcp, to fixed IP and even you can play with the random mac address macro.<br>
Thanks to the network called "open", you can connect to any open wifi system. To do that, just type ''' nmctl --open &lt;-name of the open wifi-&gt;'''<br>
So, now, with just one command you can switch from one network configuration to an another one. <br>
That's become cool :-).</p>
</blockquote>

<ul>
<li>2. Integration with openbox</li>
</ul>

<blockquote>
<p>Thanks to the dynamic menu feature of oenbox[sic], you can have your different pre-defined networks under one click of your mouse.<br>
For that, you just have to add, at the most appropriate place for you, the following code in your ./config/openbox/menu.xml</p>
</blockquote>

<pre><code>&lt;menu id="network-menu" label="Network"&gt;
  &lt;menu id="wifi-list" label="Wifi configured"  execute="doas /usr/local/bin/nmctl --list" /&gt;
  &lt;menu id="wifi-scan" label="Wifi scan"  execute="doas /usr/local/bin/nmctl --scan" /&gt;
  &lt;separator /&gt;
</code></pre>

<blockquote>
<p>In this case, you see the different networks as defined in the config file just above.</p>
</blockquote>

<ul>
<li>3. Automatically identify your available connection and connect to it in one go</li>
</ul>

<blockquote>
<p>But the most interesting part, is coming from a loop through all of your defined networks. <br>
This loop is reachable via the -restart option.<br>
Basically the idea is to loop from the first network config to the last and test a ping for each of them. Once the ping works, we break the loop and keep this setting.<br>
Thus where ever you are, you just have to initiate a nmctl -restart and you will be connected to the network you have defined for this place. There is one small exception, the open-wifis. We do not include them in this loop exercise.<br>
Thus the way you define your config file is important. <br>
Since the network called "open" is dedicated to "open wifi", it will not be part of this scan exercise. I propose you keep it at the first place.<br>
Then, in my case, if my mobile, called lgg4, is open and visible by my laptop, I will connect it immediately. <br>
Second, I check if my "home wifi" is visible. <br>
Third, if I have a cable connected on my laptop, I'm using this connection and do a dhcp command. <br>
Then, I check to see if my laptop is not viewing the "college" wifi. <br>
? and so on until a ping command works.<br>
If you do not have a cable in your laptop and if none of your pre-defined wifi connections are visible, the scan will stop.</p>
</blockquote>

<ul>
<li>3.1 examples</li>
</ul>

<blockquote>
<p>No cable connected, no pre-defined wifi around me:</p>
</blockquote>

<pre><code>t420:~$ time doas nmctl -r 
nwids around you:  bbox2-d954
    0m02.97s real     0m00.08s user     0m00.11s system
t420:~$ 
t420:~$
</code></pre>

<blockquote>
<p>I'm at home and my wifi router is running:</p>
</blockquote>

<pre><code>t420:~$ time doas nmctl -r 
nwids around you:  Linksys19594 bbox2-d954
ifconfig em0 down: 0
default              fw                   done
fw                   00:22:4d:ac:30:fd    done
nas                  link#2               done
route flush: 0
ifconfig iwn0 nwid Linksys19594  ...: 0
iwn0: no link ........... sleeping
dhclient iwn0: 0
Done.
PING www.google.com (216.58.212.164): 56 data bytes
64 bytes from 216.58.212.164: icmp_seq=0 ttl=52 time=12.758 ms

--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 12.758/12.758/12.758/0.000 ms
ping -c1 -w2 www.google.com: 0
    0m22.49s real     0m00.08s user     0m00.11s system
t420:~$
</code></pre>

<blockquote>
<p>I'm at home but tethering is active on my mobile:</p>
</blockquote>

<pre><code>t420:~$ 
t420:~$ time doas nmctl -r 
nwids around you:  Linksys19594 bbox2-d954 LGG4s_8114
ifconfig em0 down: 0
default              fw                   done
fw                   00:22:4d:ac:30:fd    done
nas                  link#2               done
route flush: 0
ifconfig iwn0 nwid LGG4s_8114  ...: 0
iwn0: DHCPDISCOVER - interval 1
iwn0: DHCPDISCOVER - interval 2
iwn0: DHCPOFFER from 192.168.43.1 (a0:91:69:be:10:49)
iwn0: DHCPREQUEST to 255.255.255.255
iwn0: DHCPACK from 192.168.43.1 (a0:91:69:be:10:49)
iwn0: bound to 192.168.43.214 -- renewal in 1800 seconds
dhclient iwn0: 0
Done.
ping: Warning: www.google.com has multiple addresses; using 173.194.69.99
PING www.google.com (173.194.69.99): 56 data bytes
64 bytes from 173.194.69.99: icmp_seq=0 ttl=43 time=42.863 ms

--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 42.863/42.863/42.863/0.000 ms
ping -c1 -w2 www.google.com: 0
    0m13.78s real     0m00.08s user     0m00.13s system
t420:~$
</code></pre>

<blockquote>
<p>Same situation, but I cut the tethering just after the scan. Thus the dhcp command will not succeed. <br>
We see that, after timeouts, nmctl see that the ping is failing (return code 1), thus he pass to the next possible pre-defined network.</p>
</blockquote>

<pre><code>t420:~$ time doas nmctl -r 
nwids around you:  Linksys19594 bbox2-d954 LGG4s_8114
ifconfig em0 down: 0
default              192.168.43.1         done
192.168.43.1         a0:91:69:be:10:49    done
route flush: 0
ifconfig iwn0 nwid LGG4s_8114  ...: 0
iwn0: no link ........... sleeping
dhclient iwn0: 0
Done.
ping: no address associated with name
ping -c1 -w2 www.google.com: 1
ifconfig em0 down: 0
192.168.43.1         link#2               done
route flush: 0
ifconfig iwn0 nwid Linksys19594  ...: 0
iwn0: DHCPREQUEST to 255.255.255.255
iwn0: DHCPACK from 192.168.3.1 (00:22:4d:ac:30:fd)
iwn0: bound to 192.168.3.16 -- renewal in 302400 seconds
dhclient iwn0: 0
Done.
PING www.google.com (216.58.212.164): 56 data bytes
64 bytes from 216.58.212.164: icmp_seq=0 ttl=52 time=12.654 ms

--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 12.654/12.654/12.654/0.000 ms
ping -c1 -w2 www.google.com: 0
    3m34.85s real     0m00.17s user     0m00.20s system
t420:~$
</code></pre>

<hr>

<h3><a href="https://www.c0ffee.net/blog/openvpn-guide" target="_blank" rel="nofollow noopener">OpenVPN Setup Guide for FreeBSD</a></h3>

<ul>
<li>OpenVPN Setup Guide

<ul>
<li>Browse securely from anywhere using a personal VPN with OpenVPN, LDAP, FreeBSD, and PF.</li>
</ul></li>
</ul>

<blockquote>
<p>A VPN allows you to securely extend a private network over the internet via tunneling protocols and traffic encryption. For most people, a VPN offers two primary features: (1) the ability to access services on your local network over the internet, and (2) secure internet connectivity over an untrusted network. In this guide, I'll describe how to set up a personal VPN using OpenVPN on FreeBSD. The configuration can use both SSL certificates and LDAP credentials for authentication. We'll also be using the PF firewall to NAT traffic from our VPN out to the internet.<br>
One important note about running your own VPN: since you are most likely hosting your server using a VPS or hosting provider, with a public IP address allocated specifically to you, your VPN will not give you any extra anonymity on the internet. If anything, you'll be making yourself more of a target, since all your activity can be trivially traced back to your server's IP address. So while your VPN will protect you from a snooping hacker on the free WiFi at Starbucks, it won't protect you from a federal investigation.<br>
This guide assumes you are running FreeBSD with the PF firewall. If you're using a different Unix flavor, I'll probably get you most of the way therebut you'll be on your own when configuring your firewall and networking.<br>
Finally, I've used example.com and a non-routable public IP address for all the examples in this guide. You'll need to replace them with your own domain name and public IP address.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/channel/UCuQhwHMJ0yK2zlfyRr1XZ_Q/feed" target="_blank" rel="nofollow noopener">BSDCan 2017 videos</a></li>
<li><a href="https://www.openbsd.org/papers/eurobsdcon2017-device-drivers.pdf" target="_blank" rel="nofollow noopener">Getting started with OpenBSD device driver development PDF</a></li>
<li><a href="https://macfoo.wordpress.com/2017/10/27/aws-cloudwatch-logs-agent-for-freebsd/" target="_blank" rel="nofollow noopener">AWS CloudWatch Logs agent for FreeBSD</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/november-2017-development-projects-update/" target="_blank" rel="nofollow noopener">FreeBSD Foundation November 2017 Development Projects Update</a></li>
<li><a href="https://fosdem.org/2018/schedule/track/bsd/" target="_blank" rel="nofollow noopener">Schedule for the BSD Devroom at FOSDEM 2018</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Matt - <a href="http://dpaste.com/35VNXR5#wrap" target="_blank" rel="nofollow noopener">The show and Cantrill</a></li>
<li>Paulo - <a href="http://dpaste.com/17E9Z2W#wrap" target="_blank" rel="nofollow noopener">FreeBSD Question</a></li>
<li>Steven - <a href="http://dpaste.com/1N6F0TC#wrap" target="_blank" rel="nofollow noopener">Virtualization under FreeBSD</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Picking a compiler for debuggability, how to port Rust apps to FreeBSD, what the point of Docker is on FreeBSD/Solaris, another EuroBSDcon recap, and network manager control in OpenBSD</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://backtrace.io/blog/compile-once-debug-twice-picking-a-compiler-for-debuggability-1of3/" target="_blank" rel="nofollow noopener">Compile once, Debug twice: Picking a compiler for debuggability, part 1 of 3</a></h3>

<ul>
<li>An interesting look into why when you try to debug a crash, you can often find all of the useful information has been optimized out</li>
</ul>

<blockquote>
<p>Have you ever had an assert get triggered only to result in a useless core dump with missing variable information or an invalid callstack?<br>
Common factors that go into selecting a C or C++ compiler are: availability, correctness, compilation speed and application performance. A factor that is often neglected is debug information quality, which symbolic debuggers use to reconcile application executable state to the source-code form that is familiar to most software engineers.<br>
When production builds of an application fail, the level of access to program state directly impacts the ability for a software engineer to investigate and fix a bug. If a compiler has optimized out a variable or is unable to express to a symbolic debugger how to reconstruct the value of a variable, the engineers investigation process is significantly impacted. Either the engineer has to attempt to recreate the problem, iterate through speculative fixes or attempt to perform prohibitively expensive debugging, such as reconstructing program state through executable code analysis.<br>
Debug information quality is in fact not proportionally related to the quality of the generated executable code and wildly varies from compiler to compiler.<br>
Different compilers emit debug information at varying levels of quality and accuracy. However, certain optimizations will certainly impact any debuggers ability to generate accurate stack traces or extract variable values. <br>
In the above program, the value of argv is extracted and then the program is paused. The ck_pr_load_ptr function performs a read from the region of memory pointed to by argv, in a manner that prevents the compiler from performing optimization on it. This ensures that the memory access occurs and for this reason, the value of argv must be accessible by the time ck_pr_load_ptr is executed.<br>
When compiled with gcc, the debugger fails to find the value of the variable. The compiler determines that the value of argv is no longer needed after the ck_pr_load_ptr operation and so doesnt bother paying the cost of saving the value.<br>
Some optimizations generate executable code whose call stack cannot be sufficiently disambiguated to reconcile a call stack that mirrors that of the source program. Two common culprits for this are tail call optimization and basic block commoning.</p>
</blockquote>

<ul>
<li>In another example</li>
</ul>

<blockquote>
<p>If the program receives a first argument of 1, then function is called with the argument of "a". If the program receives a first argument of 2, then function is called with the argument of "b". However, if we compile this program with clang, the stack traces in both cases are identical! clang informs the debugger that the function f invoked the function("b") branch where x = 2 even if x = 1.<br>
Though some optimizations will certainly impact the accuracy of a symbolic debugger, some compilers simply lack the ability to generate debug information in the presence of certain optimizations. One common optimization is induction variable elimination. A variable thats incremented or decremented by a constant on every iteration of a loop or derived from another variable that follows this pattern, is an induction variable.<br>
Coupled with other optimizations, the compiler is then able to generate code that doesnt actually rely on a dedicated counter variable i for maintaining the current offset into buffer.<br>
As you can see, i is completely optimized out. The compiler determines it doesnt have to pay the cost of maintaining the induction variable i. It maintains the pointer in the register %rdi. The code is effectively rewritten to something closer to this:</p>
</blockquote>

<ul>
<li>So the for loop, changes into a while loop, with a condition of the end of the input</li>
</ul>

<blockquote>
<p>We have shown some common optimizations that may get in the way of the debuggability of your application and demonstrated a disparity in debug information quality across two popular compilers. In the next blog post of this series, we will examine how gcc and clang stack up with regards to debug information quality across a myriad of synthetic applications and real world applications.</p>
</blockquote>

<ul>
<li>Looking forward to part 2
***</li>
</ul>

<h3><a href="https://medium.com/@andoriyu/this-is-how-you-can-port-your-rust-application-to-freebsd-7d3e9f1bc3df" target="_blank" rel="nofollow noopener">This is how you can port your rust application to FreeBSD</a></h3>

<ul>
<li>This is how you can port your rust application to FreeBSD</li>
</ul>

<blockquote>
<p>The FreeBSD Ports Collection is the way almost everyone installs applications (ports) on FreeBSD. Like everything else about FreeBSD, it is primarily a volunteer effort. It is important to keep this in mind when reading this document.<br>
In FreeBSD, anyone may submit a new port, or volunteer to maintain an existing unmaintained port. No special commit privilege is needed.<br>
For this guide I will use fd tool written by David Peter as example project.</p>
</blockquote>

<ul>
<li><p>Prerequisites</p>

<ul>
<li>FreeBSD installation (VM is fine)</li>
<li>Local ports tree (done via svn)</li>
<li>portlint (located at devel/portlint)</li>
<li>poudriere (located at ports-mgmt/poudriere)[optional]</li>
</ul></li>
<li><p>Getting ports tree</p>

<ul>
<li>When you install FreeBSD opt-out of the ports tree. Install svn:</li>
</ul></li>
</ul>

<pre><code>pkg install svn
svn checkout https://svn.freebsd.org/ports/head /usr/ports
</code></pre>

<ul>
<li>Poudriere</li>
</ul>

<blockquote>
<p>Sometimes you might get asked to show poudriere build log, sometimes you wont. Its good to have anyway. If you choose to use poudriere, use ZFS. There are plenty of guides on the subject. FreeBSD Porters Handbook is the most complete source of information on porting to FreeBSD.</p>
</blockquote>

<ul>
<li>Makefile</li>
</ul>

<blockquote>
<p>Whole porting process in most cases is writing one Makefile. I recommend doing something like this.<br>
Here is the one I wrote for fd:</p>
</blockquote>

<ul>
<li>Port metadata</li>
</ul>

<blockquote>
<p>Each port must have one primary category in case of fd it will be sysutils, therefore it's located in /usr/ports/systuils/fd.</p>
</blockquote>

<pre><code>PORTNAME= fd
CATEGORIES= sysutils
</code></pre>

<blockquote>
<p>Since this port conflicts with other util named fd I specified package suffix as: PKGNAMESUFFIX= -find and indicate conflict: CONFLICTS_INSTALL= fd-[0-9]*. That means to install it from packages user will have to type:</p>
</blockquote>

<pre><code>pkg install fd-find
</code></pre>

<ul>
<li>Licenses</li>
</ul>

<blockquote>
<p>This section is different for every port, but in case of fd it's pretty straightforward:</p>
</blockquote>

<pre><code>LICENSE= MIT APACHE20
LICENSE_COMB= dual
</code></pre>

<blockquote>
<p>Since fd includes the text of licenses you should do this as well:</p>
</blockquote>

<pre><code>LICENSE_FILE_MIT= ${WRKSRC}/LICENSE-MIT
LICENSE_FILE_APACHE20= ${WRKSRC}/LICENSE-APACHE
</code></pre>

<ul>
<li>Distfiles</li>
</ul>

<blockquote>
<p>FreeBSD has a requirement that all ports must allow offline building. That means you have specified which files are needed to be downloaded. Luckily we now have helpers to download GitHub sources directly from GitHub:</p>
</blockquote>

<pre><code>USE_GITHUB= yes
GH_ACCOUNT= sharkdp
</code></pre>

<blockquote>
<p>Since PORTNANE is fd it will try to download sources for sharkdp/fd. By default it's going to download tag: </p>
</blockquote>

<pre><code>${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
</code></pre>

<blockquote>
<p>fd uses v as the prefix, therefore we need to specify: DISTVERSIONPREFIX= v.<br>
It's also possible to specify GH_TAGNAME in case tag name doesn't match that pattern.</p>
</blockquote>

<ul>
<li>Extra packages</li>
</ul>

<blockquote>
<p>There are very few rust projects that are standalone and use no crates dependencies. Its used to be PITA to make it work offline, but now cargo is a first class citizen in ports:</p>
</blockquote>

<pre><code>USES= cargo
CARGO_CRATES= aho-corasick-0.6.3 \
              atty-0.2.3 \
              # and so goes on
</code></pre>

<blockquote>
<p>Yes, you have to specify each dependency. Luckily, there is a magic awk script that turns Cargo.lock into what you need. Execute make cargo-crates in the port root. This will fail because you're missing checksum for the original source files:</p>
</blockquote>

<pre><code>make makesum
make cargo-crates
</code></pre>

<blockquote>
<p>This will give you what you need. Double check that result is correct. There is a way to ignore checksum error, but I cant remember Execute make makesum again.</p>
</blockquote>

<ul>
<li>CARGO_OUT</li>
</ul>

<blockquote>
<p>If. build.rs relies on that you have to change it. fd allows you to use SHELL_COMPLETIONS_DIR to specify where completions go, while ripgrep doesn't. In our case we just specify SHELL_COMPLETIONS_DIR:</p>
</blockquote>

<pre><code>SHELL_COMPLETIONS_DIR= ${WRKDIR}/shell-completions-dir CARGO_ENV= SHELL_COMPLETIONS_DIR=${SHELL_COMPLETIONS_DIR}
</code></pre>

<ul>
<li>PLIST</li>
</ul>

<blockquote>
<p>FreeBSD is very strict about files its installing and it wont allow you to install random files that get lost. You have to specify which files youre installing. In this case, its just two:</p>
</blockquote>

<pre><code>PLIST_FILES= bin/fd \
             man/man1/fd.1.gz
</code></pre>

<blockquote>
<p>Note that sources for fd have uncompressed man file, while here its listed as compressed. If port installs a lot of files, specify them in pkg-plist like here. To actually install them:</p>
</blockquote>

<pre><code>post-install:
  @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/fd
  ${INSTALL_MAN}${WRKSRC}/doc/fd.1 ${STAGEDIR}${MAN1PREFIX}/man/man1
</code></pre>

<ul>
<li>Shell completions</li>
</ul>

<blockquote>
<p>clap-rs can generate shell completions for you, it's usually handled by build.rs script. First, we need to define options:</p>
</blockquote>

<pre><code>OPTIONS_DEFINE= BASH FISH ZSH # list options
OPTIONS_DEFAULT= BASH FISH ZSH # select them by default
BASH_PLIST_FILES= etc/bash_completion.d/fd.bash-completion 
FISH_PLIST_FILES= share/fish/completions/fd.fish
ZSH_PLIST_FILES= share/zsh/site-functions/_fd
</code></pre>

<blockquote>
<p>To actually install them:</p>
</blockquote>

<pre><code>post-install-BASH-on:
 @${MKDIR} ${STAGEDIR}${PREFIX}/etc/bash_completion.d
 ${INSTALL_DATA} ${SHELL_COMPLETIONS_DIR}/fd.bash-completion \
 ${STAGEDIR}${PREFIX}/etc/bash_completion.d
post-install-FISH-on:
 @${MKDIR} ${STAGEDIR}${PREFIX}/share/fish/completions
 ${INSTALL_DATA} ${SHELL_COMPLETIONS_DIR}/fd.fish \
 ${STAGEDIR}${PREFIX}/share/fish/completions
post-install-ZSH-on:
 @${MKDIR} ${STAGEDIR}${PREFIX}/share/zsh/site-functions
 ${INSTALL_DATA} ${SHELL_COMPLETIONS_DIR}/_fd \
 ${STAGEDIR}${PREFIX}/share/zsh/site-functions
</code></pre>

<ul>
<li>Bonus round - Patching source code</li>
</ul>

<blockquote>
<p>Sometimes you have to patch it and send the patch upstream. Merging it upstream can take awhile, so you can patch it as part of the install process. An easy way to do it:</p>
</blockquote>

<ul>
<li> Go to work/ dir</li>
<li>Copy file you want to patch and add .orig suffix to it</li>
<li>Edit file you want to patch</li>
<li><p>Execute make makepatch in port's root</p></li>
<li><p>Submitting port</p></li>
</ul>

<blockquote>
<p>First, make sure portlint -AC doesn't give you any errors or warnings. Second, make sure poudriere can build it on both amd64 and i386. If it can't??you have to either fix it or mark port broken for that arch.<br>
Follow this steps like I did steps. If you have any issues you can always ask your question in freebsd-ports on freenode try to find your answer in porters handbook before asking.</p>
</blockquote>

<hr>

<h3><a href="https://www.freebsdfoundation.org/blog/conference-recap-eurobsdcon-2017-recap/" target="_blank" rel="nofollow noopener">Conference Recap: EuroBSDCon 2017 Recap</a></h3>

<blockquote>
<p>The location was wonderful and I loved sneaking out and exploring the city when I could. From what I heard, it was the largest BSD conference in history, with over 320 attendees!<br>
Each venue is unique and draws many local BSD enthusiasts, who normally wouldnt be able to travel to a conference. I love having the chance to talk to these people about how they are involved in the projects and what they would like to do. Most of the time, they are asking me questions about how they can get more involved and how we can help.<br>
<em>Magical</em> is how I would describe the conference social event. To stand in front of the dinner cruise on the Seine, with the Eiffel Tower standing tall, lit up in the night, while working  talking to our community members, was incredible. But, let me start at the beginning.<br>
We attend these conferences to talk to our community members, to find out what they are working on, determine technologies that should be supported in FreeBSD, and what we can do to help and improve FreeBSD.<br>
We started the week with a half-day board meeting on Wednesday. BSD conferences give us a chance to not only meet with community members around the world, but to have face-to-face meetings with our team members, who are also located around the world. We worked on refining our strategic direction and goals, determining what upcoming conferences we want FreeBSD presence at and who can give FreeBSD talks and workshops there, discussed current and potential software development projects, and discussed how we can help raise awareness about and increase the use of FreeBSD in Europe.<br>
Thursday was the first day of the FreeBSD developer summit, led by our very own Benedict Reuschling. He surprised us all by having us participate in a very clever quiz on France. 45 of us signed into the software, where hed show the question on the screen and we had a limited amount of time to select our answers, with the results listed on the screen. It was actually a lot of fun, especially since they didnt publicize the names of the people who got the questions wrong. The lucky or most knowledgeable person on France, was <a href="mailto:des@freebsd.org" target="_blank" rel="nofollow noopener">des@freebsd.org</a>.<br>
Some of our board members ran tutorials in parallel to the summit. Kirk McKusick gave his legendary tutorial,  An Introduction to the FreeBSD Open-Source Operating System , George Neville-Neil gave his tutorial, DTrace for Developers, and Benedict Reuschling gave a tutorial on, Managing BSD systems with Ansible.<br>
I was pleased to have two chairs from ACM-W Europe run an Increasing Diversity in the BSDs BoF for the second year in a row. We broke up into three groups to discuss different gender bias situations, and what we can do to address these types of situations, to make the BSD projects more diverse, welcoming, and inclusive. At the end, people asked that we continue these discussions at future BSD conferences and suggested having an expert in the field give a talk on how to increase the diversity in our projects.<br>
As I mentioned earlier, the social dinner was on a boat cruising along the Seine. I had a chance to talk to community members in a more social environment. With the conference being in France, we had a lot of first time attendees from France. I enjoyed talking to many of them, as well as other people I only get to see at the European conferences. Sunday was full of more presentations and conversations. During the closing session, I gave a short talk on the Foundation and the work we are doing. Then, Benedict Reuschling, Board Vice President, came up and gave out recognition awards to four FreeBSD contributors who have made an impact on the Project.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://chown.me/blog/playing-with-the-pine64.html" target="_blank" rel="nofollow noopener">Playing with the pine64</a></h3>

<ul>
<li>Daniel Jakots writes in his blog about his experiences with his two pine64 boards: </li>
</ul>

<blockquote>
<p>Finding something to install on it<br>
6 weeks ago, I ordered two pine64 units. I didn't (and still don't) have much plan for them, but I wanted to play with some cheap boards. I finally received them this week. Initially I wanted to install some Linux stuff on it, I didn't have much requirement so I thought I would just look what seems to be easy and/or the best supported systemd flavour. I headed over their wiki. Everything seems either not really maintained, done by some random people or both. I am not saying random people do bad things, just that installing some random things from the Internet is not really my cup of tea.<br>
I heard about <a href="https://www.armbian.com/pine64/" target="_blank" rel="nofollow noopener">Armbian</a> but the server flavour seems to be experimental so I got scared of it. And sadly, the whole things looks like to be alot undermanned.<br>
So I went for OpenBSD because I know the stuff and who to har<sup>Wkindly</sup> ask for help. Spoiler alert, it's boring because it just works.</p>
</blockquote>

<ul>
<li>Getting OpenBSD on it</li>
</ul>

<blockquote>
<p>I downloaded miniroot62.fs, dd'ed it on the micro SD card. I was afraid I'd need to fiddle with some things like sysutils/dtb because I don't know what I would have needed to do. That's because I don't know what it does and for this precise reason I was wrong and I didn't need to do anything. So just dd the miniroot62.fs and you can go to next checkpoint.<br>
I plugged an HDMI cable, ethernet cable and the power, it booted, I could read for 10 seconds but then it got dark. Of course it's because you need a serial console. Of course I didn't have one.<br>
I thought about trying to install OpenBSD blindly, I could have probably succeeded with autoinstall buuuuuut<br>
Following some good pieces of advice from OpenBSD people I bought some cp2102 (I didn't try to understand what it was or what were the other possibilities, I just wanted something that would work :D).<br>
I looked how to plug the thing. It appears you can plug it on two different places but if you plug it on the Euler bus it could power a bit the board so if you try to reboot it, it would then mess with the power disruption and could lead a unclean reboot.<br>
You just need to plug three cables: GND, TXD and RXD. Of course, the TXD goes on the RXD pin from the picture and the RXD goes on the TXD pin. Guess why I'm telling you that! </p>
</blockquote>

<ul>
<li>That's it</li>
<li>Then you can connect with the usual</li>
</ul>

<blockquote>
<p>$ cu -dl /dev/cuaU0 -s 115200</p>

<hr>
</blockquote>

<h3><a href="http://blog.frankleonhardt.com/2017/whats-the-point-of-docker-on-freebsd-or-solaris/" target="_blank" rel="nofollow noopener">Whats the point of Docker on FreeBSD or Solaris?</a></h3>

<blockquote>
<p>Penguinisters are very keen on their docker, but for the rest of us it may be difficult to see what the fuss is all about  its only been around a few years and everyones talking about it. And someone asked again today. What are we missing?<br>
Well docker is a solution to a Linux (and Windows) problem that FreeBSD/Solaris doesnt have. Until recently, the Linux kernel only implemented the original user isolation model involving chroot. More recent kernels have had Control Groups added, which are intended to provide isolation for a group of processes (namespaces). This came out of Google, and theyve extended to concept to include processor resource allocation as one of the knobs, which could be a good idea for FreeBSD. The scheduler is aware of the JID of the process its about to schedule, and I might take a look in the forthcoming winter evenings. But I digress.<br>
So if isolation (containerisation in Linux terms) is in the Linux kernel, what is Docker bringing to the party? The only thing I can think of is standardisation and an easy user interface (at the expense of having Python installed). You might think of it in similar terms to ezjail  a complex system intended to do something that is otherwise very simple.<br>
To make a jail in FreeBSD all you need do is copy the files for your system  to a directory. This can even be a whole servers system disk if you like, and jails can run inside jails.  You then create a very simple config file, giving the jail a name, the path to your files and an what IP addresses to pass through (if any) and youre done. Just type service jail nameofjal start, and off it goes.<br>
Is there any advantage in running Docker? Well, in a way, there is. Docker has a repository of system images that you can just install and run, and this is what a lot of people want. Theyre a bit like virtual appliances, but not mind-numbingly inefficient.<br>
You can actually run docker on FreeBSD. A port was done a couple of years ago, but it relies on the 64-bit Linux emulation that started to appear in 10.x. The newer the version of FreeBSD the better.<br>
Docker is in ports/sysutils/docker-freebsd. It makes uses of jails instead of Linux cgroups, and requires ZFS rather than UFS for file system isolation. I believe the Linux version uses Union FS but I could be completely wrong on that.<br>
The FreeBSD port works with the Docker hub repository, giving you access to thousands of pre-packaged system images to play with. And thats about as far as Ive ever tested it. If you want to run the really tricky stuff (like Windows) you probably want full hardware emulation and something like  Xen. If you want to deploy or migrate FreeBSD or Solaris systems, just copy a new tarball in to the directory and go. Its a non-problem, so why make it more complicated?<br>
Given the increasing frequency Docker turns up in conversations, its probably worth taking seriously as Linux applications get packaged up in to images for easy access. Jails/Zones may be more efficient, and Docker images are limited to binary, but convenience tends to win in many environments.</p>

<hr>
</blockquote>

<h3><a href="http://www.vincentdelft.be/post/post_20171023" target="_blank" rel="nofollow noopener">Network Manager Control for OpenBSD</a></h3>

<blockquote>
<p>I propose you a small script allowing you to easily manage your networks connections. This script is integrated within the openbox dynamic menus. Moreover, it allow you to automatically have the connections you have pre-defined based.<br>
I was frustrated to not be able to swap quickly from one network interface to an another, to connect simply and quickly to my wifi, to my cable connection, to the wifi of a friend, ... <br>
Every time you have to type the ifconfig commands, .... This is nice, but boring. Surely, when you are in a middle of a presentation and you just want a quick connection to your mobile in tethering mode.<br>
Thanks to OpenBSD those commands are not so hard, but this frustrate me to not be able to do it with one click. Directly from my windows environment. Since I'm using Openbox, from a menu of openbox.<br>
So, I've looked around to see what is currently existing. <br>
One tool I've found was <a href="https://github.com/akpoff/netctl" target="_blank" rel="nofollow noopener">netctl</a>. The idea is to have a repository of hostname.if files ready to use for different cases. <br>
The idea sounds great, but I had some difficulties to use it. <br>
But what annoys me the most, is that it modify the current hostname.if files in /etc. <br>
To my eyes, I would avoid to modify those files because they are my working basis. I want to rely on them and make sure that my network will be back to a normal mode after a reboot. <br>
Nevertheless, if I've well understood netctl, you have a feature where it will look for the predefined network config matching the environment where you are. Very cool.<br>
So, after having played with netctl, look for alternative on internet, I've decided to create nmctl. A small python script which just perform the mandatory network commands.</p>
</blockquote>

<ul>
<li>1. nmctl: a Network Manager Control tool for OpenBSD</li>
</ul>

<blockquote>
<p>Nmctl a small tool that allow you to manage your network connections. <br>
Why python ? Just because it's the easiest programming language for me. But I should maybe rewrite it in shell, more standard in the OpenBSD world than python.</p>
</blockquote>

<ul>
<li>1.1. download and install</li>
</ul>

<blockquote>
<p>I've put nmctl on my sourceforge account <a href="https://sourceforge.net/p/nmctl/code/ci/master/tree/" target="_blank" rel="nofollow noopener">here</a><br>
You can dowload the last version <a href="https://sourceforge.net/p/nmctl/code/ci/master/tarball" target="_blank" rel="nofollow noopener">here</a><br>
To install you just have to run: make install (as root)<br>
The per-requists are:</p>

<ul>
<li>having python2.7 installed</li>
<li>Since nmctl must be run as root, I strongly recommend you to run it via <a href="http://man.openbsd.org/doas.conf.5" target="_blank" rel="nofollow noopener">doas</a>.</li>
</ul>
</blockquote>

<ul>
<li>1.2. The config file</li>
</ul>

<blockquote>
<p>First you have to create a config and store it in /etc/nmctl.conf. <br>
This file must respect few rules:<br>
Each block must starts with a line having the following format: '''&lt;-name-&gt;:&lt;-interface-&gt;'''<br>
Each following lines must start by at least one space. Those lines have more or less the same format as for hostname.if.<br>
You have to create a block with the name "open". This will be used to establish a connection to the Open Wifi around you (in restaurant for example)<br>
The order of those elements is important. In case you use the -restart option, nmctl will try each of those network configs one after one until it can ping <a href="http://www.google.com" target="_blank" rel="nofollow noopener">www.google.com</a>. (if you wan to ping something else, you can change it in the python script if you want).<br>
You can use external commands. Just preced them with the "!".<br>
You have macors. Macros allow you to perform some actions. The 2 currently implemented are '''&lt;-nwid-&gt;''' and '''&lt;-random mac-&gt;'''.<br>
You can use keywords. Currently the only one implemented is "dhcp"<br>
Basically you can put all commands that nmctl will apply to the interface to which those commands are referring to. So, you will always have "ifconfig &lt;-interface-&gt; &lt;-command you type in the config file-&gt;". <br>
Check the manpage of ifconfig to see how flexible command is.<br>
You have currently 2 macros:</p>

<ul>
<li>&lt;-nwid-&gt; which refers to the "nwid &lt;-nwid name-&gt;" when you select an Open Wifi with the -open option of nmctl.</li>
<li>&lt;-random mac-&gt; is a macro generating a random mac address. This is useful test a dhcp server for example.</li>
</ul>

<p>The keyword "dhcp" will trigger a command like "dhclient &lt;-interface-&gt;".</p>
</blockquote>

<ul>
<li>1.3. Config file sample.</li>
</ul>

<blockquote>
<p>Let me show you one nmctl.conf example. It speaks by itself.</p>
</blockquote>

<pre><code>
&amp;#35; the name open is required for Open wifi. 
&amp;#35; this is the interface that nmctl will take to establish a connection
&amp;#35; We must put the macro &lt;nwid&gt;. This is where nmctl will put the nwid command
&amp;#35; and the selected openwifi selected by the parameter --open

open:iwn0
 !route flush
 &lt;nwid&gt; -wpa
 dhcp

cable:em0
 !route flush
 dhcp

lgg4:iwn0
 !route flush
 nwid LGG4s_8114 wpakey aanotherpassword
 dhcp

home:iwn0
 !route flush
 nwid Linksys19594 wpakey apassword
 dhcp

college:iwn0
 !route flush
 nwid john wpakey haahaaaguessme
 dhcp

cable_fixip:em0
 !route flush
 inet 192.168.3.3 netmask 255.255.255.0
 !route add -host default 192.168.3.1

&amp;#35; with this network interface I'm using the macro &lt;random mac&gt; 
&amp;#35; which will do what you guess it will do :-)
cable_random:em0
 !route flush
 lladdr &lt;random mac&gt;
 dhcp

</code></pre>

<blockquote>
<p>In this config we have several cable's networks associated with my interface "em0" and several wifi networks associated with my wireless interface "iwn0".<br>
You see that you can switch from dhcp, to fixed IP and even you can play with the random mac address macro.<br>
Thanks to the network called "open", you can connect to any open wifi system. To do that, just type ''' nmctl --open &lt;-name of the open wifi-&gt;'''<br>
So, now, with just one command you can switch from one network configuration to an another one. <br>
That's become cool :-).</p>
</blockquote>

<ul>
<li>2. Integration with openbox</li>
</ul>

<blockquote>
<p>Thanks to the dynamic menu feature of oenbox[sic], you can have your different pre-defined networks under one click of your mouse.<br>
For that, you just have to add, at the most appropriate place for you, the following code in your ./config/openbox/menu.xml</p>
</blockquote>

<pre><code>&lt;menu id="network-menu" label="Network"&gt;
  &lt;menu id="wifi-list" label="Wifi configured"  execute="doas /usr/local/bin/nmctl --list" /&gt;
  &lt;menu id="wifi-scan" label="Wifi scan"  execute="doas /usr/local/bin/nmctl --scan" /&gt;
  &lt;separator /&gt;
</code></pre>

<blockquote>
<p>In this case, you see the different networks as defined in the config file just above.</p>
</blockquote>

<ul>
<li>3. Automatically identify your available connection and connect to it in one go</li>
</ul>

<blockquote>
<p>But the most interesting part, is coming from a loop through all of your defined networks. <br>
This loop is reachable via the -restart option.<br>
Basically the idea is to loop from the first network config to the last and test a ping for each of them. Once the ping works, we break the loop and keep this setting.<br>
Thus where ever you are, you just have to initiate a nmctl -restart and you will be connected to the network you have defined for this place. There is one small exception, the open-wifis. We do not include them in this loop exercise.<br>
Thus the way you define your config file is important. <br>
Since the network called "open" is dedicated to "open wifi", it will not be part of this scan exercise. I propose you keep it at the first place.<br>
Then, in my case, if my mobile, called lgg4, is open and visible by my laptop, I will connect it immediately. <br>
Second, I check if my "home wifi" is visible. <br>
Third, if I have a cable connected on my laptop, I'm using this connection and do a dhcp command. <br>
Then, I check to see if my laptop is not viewing the "college" wifi. <br>
? and so on until a ping command works.<br>
If you do not have a cable in your laptop and if none of your pre-defined wifi connections are visible, the scan will stop.</p>
</blockquote>

<ul>
<li>3.1 examples</li>
</ul>

<blockquote>
<p>No cable connected, no pre-defined wifi around me:</p>
</blockquote>

<pre><code>t420:~$ time doas nmctl -r 
nwids around you:  bbox2-d954
    0m02.97s real     0m00.08s user     0m00.11s system
t420:~$ 
t420:~$
</code></pre>

<blockquote>
<p>I'm at home and my wifi router is running:</p>
</blockquote>

<pre><code>t420:~$ time doas nmctl -r 
nwids around you:  Linksys19594 bbox2-d954
ifconfig em0 down: 0
default              fw                   done
fw                   00:22:4d:ac:30:fd    done
nas                  link#2               done
route flush: 0
ifconfig iwn0 nwid Linksys19594  ...: 0
iwn0: no link ........... sleeping
dhclient iwn0: 0
Done.
PING www.google.com (216.58.212.164): 56 data bytes
64 bytes from 216.58.212.164: icmp_seq=0 ttl=52 time=12.758 ms

--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 12.758/12.758/12.758/0.000 ms
ping -c1 -w2 www.google.com: 0
    0m22.49s real     0m00.08s user     0m00.11s system
t420:~$
</code></pre>

<blockquote>
<p>I'm at home but tethering is active on my mobile:</p>
</blockquote>

<pre><code>t420:~$ 
t420:~$ time doas nmctl -r 
nwids around you:  Linksys19594 bbox2-d954 LGG4s_8114
ifconfig em0 down: 0
default              fw                   done
fw                   00:22:4d:ac:30:fd    done
nas                  link#2               done
route flush: 0
ifconfig iwn0 nwid LGG4s_8114  ...: 0
iwn0: DHCPDISCOVER - interval 1
iwn0: DHCPDISCOVER - interval 2
iwn0: DHCPOFFER from 192.168.43.1 (a0:91:69:be:10:49)
iwn0: DHCPREQUEST to 255.255.255.255
iwn0: DHCPACK from 192.168.43.1 (a0:91:69:be:10:49)
iwn0: bound to 192.168.43.214 -- renewal in 1800 seconds
dhclient iwn0: 0
Done.
ping: Warning: www.google.com has multiple addresses; using 173.194.69.99
PING www.google.com (173.194.69.99): 56 data bytes
64 bytes from 173.194.69.99: icmp_seq=0 ttl=43 time=42.863 ms

--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 42.863/42.863/42.863/0.000 ms
ping -c1 -w2 www.google.com: 0
    0m13.78s real     0m00.08s user     0m00.13s system
t420:~$
</code></pre>

<blockquote>
<p>Same situation, but I cut the tethering just after the scan. Thus the dhcp command will not succeed. <br>
We see that, after timeouts, nmctl see that the ping is failing (return code 1), thus he pass to the next possible pre-defined network.</p>
</blockquote>

<pre><code>t420:~$ time doas nmctl -r 
nwids around you:  Linksys19594 bbox2-d954 LGG4s_8114
ifconfig em0 down: 0
default              192.168.43.1         done
192.168.43.1         a0:91:69:be:10:49    done
route flush: 0
ifconfig iwn0 nwid LGG4s_8114  ...: 0
iwn0: no link ........... sleeping
dhclient iwn0: 0
Done.
ping: no address associated with name
ping -c1 -w2 www.google.com: 1
ifconfig em0 down: 0
192.168.43.1         link#2               done
route flush: 0
ifconfig iwn0 nwid Linksys19594  ...: 0
iwn0: DHCPREQUEST to 255.255.255.255
iwn0: DHCPACK from 192.168.3.1 (00:22:4d:ac:30:fd)
iwn0: bound to 192.168.3.16 -- renewal in 302400 seconds
dhclient iwn0: 0
Done.
PING www.google.com (216.58.212.164): 56 data bytes
64 bytes from 216.58.212.164: icmp_seq=0 ttl=52 time=12.654 ms

--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 12.654/12.654/12.654/0.000 ms
ping -c1 -w2 www.google.com: 0
    3m34.85s real     0m00.17s user     0m00.20s system
t420:~$
</code></pre>

<hr>

<h3><a href="https://www.c0ffee.net/blog/openvpn-guide" target="_blank" rel="nofollow noopener">OpenVPN Setup Guide for FreeBSD</a></h3>

<ul>
<li>OpenVPN Setup Guide

<ul>
<li>Browse securely from anywhere using a personal VPN with OpenVPN, LDAP, FreeBSD, and PF.</li>
</ul></li>
</ul>

<blockquote>
<p>A VPN allows you to securely extend a private network over the internet via tunneling protocols and traffic encryption. For most people, a VPN offers two primary features: (1) the ability to access services on your local network over the internet, and (2) secure internet connectivity over an untrusted network. In this guide, I'll describe how to set up a personal VPN using OpenVPN on FreeBSD. The configuration can use both SSL certificates and LDAP credentials for authentication. We'll also be using the PF firewall to NAT traffic from our VPN out to the internet.<br>
One important note about running your own VPN: since you are most likely hosting your server using a VPS or hosting provider, with a public IP address allocated specifically to you, your VPN will not give you any extra anonymity on the internet. If anything, you'll be making yourself more of a target, since all your activity can be trivially traced back to your server's IP address. So while your VPN will protect you from a snooping hacker on the free WiFi at Starbucks, it won't protect you from a federal investigation.<br>
This guide assumes you are running FreeBSD with the PF firewall. If you're using a different Unix flavor, I'll probably get you most of the way therebut you'll be on your own when configuring your firewall and networking.<br>
Finally, I've used example.com and a non-routable public IP address for all the examples in this guide. You'll need to replace them with your own domain name and public IP address.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.youtube.com/channel/UCuQhwHMJ0yK2zlfyRr1XZ_Q/feed" target="_blank" rel="nofollow noopener">BSDCan 2017 videos</a></li>
<li><a href="https://www.openbsd.org/papers/eurobsdcon2017-device-drivers.pdf" target="_blank" rel="nofollow noopener">Getting started with OpenBSD device driver development PDF</a></li>
<li><a href="https://macfoo.wordpress.com/2017/10/27/aws-cloudwatch-logs-agent-for-freebsd/" target="_blank" rel="nofollow noopener">AWS CloudWatch Logs agent for FreeBSD</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/november-2017-development-projects-update/" target="_blank" rel="nofollow noopener">FreeBSD Foundation November 2017 Development Projects Update</a></li>
<li><a href="https://fosdem.org/2018/schedule/track/bsd/" target="_blank" rel="nofollow noopener">Schedule for the BSD Devroom at FOSDEM 2018</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Matt - <a href="http://dpaste.com/35VNXR5#wrap" target="_blank" rel="nofollow noopener">The show and Cantrill</a></li>
<li>Paulo - <a href="http://dpaste.com/17E9Z2W#wrap" target="_blank" rel="nofollow noopener">FreeBSD Question</a></li>
<li>Steven - <a href="http://dpaste.com/1N6F0TC#wrap" target="_blank" rel="nofollow noopener">Virtualization under FreeBSD</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>222: How Netflix works</title>
  <link>https://www.bsdnow.tv/222</link>
  <guid isPermaLink="false">b3352064-ac33-44ac-98e5-88f7acdd5d0b</guid>
  <pubDate>Wed, 29 Nov 2017 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b3352064-ac33-44ac-98e5-88f7acdd5d0b.mp3" length="91743412" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We take a look at two-faced Oracle, cover a FAMP installation, how Netflix works the complex stuff, and show you who the patron of yak shaving is.</itunes:subtitle>
  <itunes:duration>2:07:25</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>&lt;p&gt;We take a look at two-faced Oracle, cover a FAMP installation, how Netflix works the complex stuff, and show you who the patron of yak shaving is.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.theregister.co.uk/2017/10/12/oracle_must_grow_up_on_open_source/" target="_blank" rel="nofollow noopener"&gt;Why is Oracle so two-faced over open source?&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Oracle loves open source. &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Except when the database giant hates open source. Which, according to its recent lobbying of the US federal government, seems to be "most of the time". Yes, Oracle has recently joined the Cloud Native Computing Foundation (CNCF) to up its support for open-source Kubernetes and, yes, it has long supported (and contributed to) Linux. And, yes, Oracle has even gone so far as to (finally) open up Java development by putting it under a foundation's stewardship. Yet this same, seemingly open Oracle has actively hammered the US government to consider that "there is no math that can justify open source from a cost perspective as the cost of support plus the opportunity cost of forgoing features, functions, automation and security overwhelm any presumed cost savings." That punch to the face was delivered in a letter to Christopher Liddell, a former Microsoft CFO and now director of Trump's American Technology Council, by Kenneth Glueck, Oracle senior vice president.&lt;br&gt;
The US government had courted input on its IT modernisation programme. Others writing back to Liddell included AT&amp;amp;T, Cisco, Microsoft and VMware.&lt;br&gt;
In other words, based on its letter, what Oracle wants us to believe is that open source leads to greater costs and poorly secured, limply featured software. Nor is Oracle content to leave it there, also arguing that open source is exactly how the private sector does not function, seemingly forgetting that most of the leading infrastructure, big data, and mobile software today is open source.&lt;br&gt;
Details! Rather than take this counterproductive detour into self-serving silliness, Oracle would do better to follow Microsoft's path. Microsoft, too, used to Janus-face its way through open source, simultaneously supporting and bashing it. Only under chief executive Satya Nadella's reign did Microsoft realise it's OK to fully embrace open source, and its financial results have loved the commitment. Oracle has much to learn, and emulate, in Microsoft's approach.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;I love you, you're perfect. &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Now change Oracle has never been particularly warm and fuzzy about open source. As founder Larry Ellison might put it, Oracle is a profit-seeking corporation, not a peace-loving charity. To the extent that Oracle embraces open source, therefore it does so for financial reward, just like every other corporation. Few, however, are as blunt as Oracle about this fact of corporate open-source life. As Ellison told the Financial Times back in 2006: "If an open-source product gets good enough, we'll simply take it. So the great thing about open source is nobody owns it – a company like Oracle is free to take it for nothing, include it in our products and charge for support, and that's what we'll do. "So it is not disruptive at all – you have to find places to add value. Once open source gets good enough, competing with it would be insane... We don't have to fight open source, we have to exploit open source." "Exploit" sounds about right. While Oracle doesn't crack the top-10 corporate contributors to the Linux kernel, it does register a respectable number 12, which helps it influence the platform enough to feel comfortable building its IaaS offering on Linux (and Xen for virtualisation). Oracle has also managed to continue growing MySQL's clout in the industry while improving it as a product and business. As for Kubernetes, Oracle's decision to join the CNCF also came with P&amp;amp;L strings attached. "CNCF technologies such as Kubernetes, Prometheus, gRPC and OpenTracing are critical parts of both our own and our customers' development toolchains," said Mark Cavage, vice president of software development at Oracle. One can argue that Oracle has figured out the exploitation angle reasonably well. This, however, refers to the right kind of exploitation, the kind that even free software activist Richard Stallman can love (or, at least, tolerate). But when it comes to government lobbying, Oracle looks a lot more like Mr Hyde than Dr Jekyll.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Lies, damned lies, and Oracle lobbying&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The current US president has many problems (OK, many, many problems), but his decision to follow the Obama administration's support for IT modernisation is commendable. Most recently, the Trump White House asked for feedback on how best to continue improving government IT. Oracle's response is high comedy in many respects. As TechDirt's Mike Masnick summarises, Oracle's "latest crusade is against open-source technology being used by the federal government – and against the government hiring people out of Silicon Valley to help create more modern systems. Instead, Oracle would apparently prefer the government just give it lots of money." Oracle is very good at making lots of money. As such, its request for even more isn't too surprising. What is surprising is the brazenness of its position. As Masnick opines: "The sheer contempt found in Oracle's submission on IT modernization is pretty stunning." Why? Because Oracle contradicts much that it publicly states in other forums about open source and innovation. More than this, Oracle contradicts much of what we now know is essential to competitive differentiation in an increasingly software and data-driven world.&lt;br&gt;
Take, for example, Oracle's contention that "significant IT development expertise is not... central to successful modernization efforts". What? In our "software is eating the world" existence Oracle clearly believes that CIOs are buyers, not doers: "The most important skill set of CIOs today is to critically compete and evaluate commercial alternatives to capture the benefits of innovation conducted at scale, and then to manage the implementation of those technologies efficiently." While there is some truth to Oracle's claim – every project shouldn't be a custom one-off that must be supported forever – it's crazy to think that a CIO – government or otherwise – is doing their job effectively by simply shovelling cash into vendors' bank accounts.&lt;br&gt;
Indeed, as Masnick points out: "If it weren't for Oracle's failures, there might not even be a USDS [the US Digital Service created in 2014 to modernise federal IT]. USDS really grew out of the emergency hiring of some top-notch internet engineers in response to the Healthcare.gov rollout debacle. And if you don't recall, a big part of that debacle was blamed on Oracle's technology." In short, blindly giving money to Oracle and other big vendors is the opposite of IT modernisation.&lt;br&gt;
In its letter to Liddell, Oracle proceeded to make the fantastic (by which I mean "silly and false") claim that "the fact is that the use of open-source software has been declining rapidly in the private sector". What?!? This is so incredibly untrue that Oracle should score points for being willing to say it out loud. Take a stroll through the most prominent software in big data (Hadoop, Spark, Kafka, etc.), mobile (Android), application development (Kubernetes, Docker), machine learning/AI (TensorFlow, MxNet), and compare it to Oracle's statement. One conclusion must be that Oracle believes its CIO audience is incredibly stupid. Oracle then tells a half-truth by declaring: "There is no math that can justify open source from a cost perspective." How so? Because "the cost of support plus the opportunity cost of forgoing features, functions, automation and security overwhelm any presumed cost savings." Which I guess is why Oracle doesn't use any open source like Linux, Kubernetes, etc. in its services.&lt;br&gt;
Oops.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Vendor Formerly Known As Satan&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The thing is, Oracle doesn't need to do this and, for its own good, shouldn't do this. After all, we already know how this plays out. We need only look at what happened with Microsoft. Remember when Microsoft wanted us to "get the facts" about Linux? Now it's a big-time contributor to Linux. Remember when it told us open source was anti-American and a cancer? Now it aggressively contributes to a huge variety of open-source projects, some of them homegrown in Redmond, and tells the world that "Microsoft loves open source." Of course, Microsoft loves open source for the same reason any corporation does: it drives revenue as developers look to build applications filled with open-source components on Azure. There's nothing wrong with that. &lt;br&gt;
Would Microsoft prefer government IT to purchase SQL Server instead of open-source-licensed PostgreSQL? Sure. But look for a single line in its response to the Trump executive order that signals "open source is bad". You won't find it. Why? Because Microsoft understands that open source is a friend, not foe, and has learned how to monetise it. Microsoft, in short, is no longer conflicted about open source. It can compete at the product level while embracing open source at the project level, which helps fuel its overall product and business strategy. Oracle isn't there yet, and is still stuck where Microsoft was a decade ago.&lt;br&gt;
It's time to grow up, Oracle. For a company that builds great software and understands that it increasingly needs to depend on open source to build that software, it's disingenuous at best to lobby the US government to put the freeze on open source. Oracle needs to learn from Microsoft, stop worrying and love the open-source bomb. It was a key ingredient in Microsoft's resurgence. Maybe it could help Oracle get a cloud clue, too.  &lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.linuxsecrets.com/home/3164-install-famp-on-freebsd" target="_blank" rel="nofollow noopener"&gt;Install FAMP on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The acronym FAMP refers to a set of free open source applications which are commonly used in Web server environments called Apache, MySQL and PHP on the FreeBSD operating system, which provides a server stack that provides web services, database and PHP.&lt;/li&gt;
&lt;li&gt;Prerequisites

&lt;ul&gt;
&lt;li&gt;sudo Installed and working - Please read&lt;/li&gt;
&lt;li&gt;Apache&lt;/li&gt;
&lt;li&gt;PHP5 or PHP7 &lt;/li&gt;
&lt;li&gt;MySQL or MariaDB&lt;/li&gt;
&lt;li&gt;Install your favorite editor, ours is vi&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: You don't need to upgrade FreeBSD but make sure all patches have been installed and your port tree is up-2-date if you plan to update by ports.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Install Ports&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;portsnap fetch&lt;/code&gt;&lt;br&gt;
You must use sudo for each indivdual command during installations. Please see link above for installing sudo.&lt;br&gt;
Searching Available Apache Versions to Install&lt;br&gt;
&lt;code&gt;pkg search apache&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Install Apache&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;To install Apache 2.4 using pkg. The apache 2.4 user account managing Apache is www in FreeBSD.&lt;br&gt;
&lt;code&gt;pkg install apache24&lt;/code&gt;&lt;br&gt;
Confirmation yes prompt and hit y for yes to install Apache 2.4 This installs Apache and its dependencies. &lt;br&gt;
Enable Apache use sysrc to update services to be started at boot time, Command below adds "apache24_enable="YES" to the /etc/rc.conf file. For sysrc commands please read&lt;br&gt;
&lt;code&gt;sysrc apache24_enable=yes&lt;/code&gt;&lt;br&gt;
Start Apache&lt;br&gt;
&lt;code&gt;service apache24 start&lt;/code&gt;&lt;br&gt;
Visit web address by accessing your server's public IP address in your web browser &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;How To find Your Server's Public IP Address&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you do not know what your server's public IP address is, there are a number of ways that you can find it. Usually, this is the address you use to connect to your server through SSH.&lt;br&gt;
&lt;code&gt;ifconfig vtnet0 | grep "inet " | awk '{ print $2 }'&lt;/code&gt;&lt;br&gt;
Now that you have the public IP address, you may use it in your web browser's address bar to access your web server.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Install MySQL&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Now that we have our web server up and running, it is time to install MySQL, the relational database management system. The MySQL server will organize and provide access to databases where our server can store information. Install MySQL 5.7 using pkg by typing&lt;br&gt;
&lt;code&gt;pkg install mysql57-server&lt;/code&gt;&lt;br&gt;
Enter y at the confirmation prompt. This installs the MySQL server and client packages.&lt;br&gt;
To enable MySQL server as a service, add mysql_enable="YES" to the /etc/rc.conf file. This sysrc command will do just that&lt;br&gt;
&lt;code&gt;sysrc mysql_enable=yes&lt;/code&gt;&lt;br&gt;
Now start the MySQL server&lt;br&gt;
&lt;code&gt;service mysql-server start&lt;/code&gt;&lt;br&gt;
Now run the security script that will remove some dangerous defaults and slightly restrict access to your database system.&lt;/p&gt;

&lt;pre&gt;&lt;code class="mysql_secure_installation```"&gt;Answer all questions to secure your newly installed MySQL database. Enter current password for root (enter for none): [RETURN]
Your database system is now set up and we can move on.
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Install PHP5 or PHP70&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;pkg search php70&lt;/code&gt;&lt;br&gt;
Install PHP70 you would do the following by typing&lt;br&gt;
&lt;code&gt;pkg install php70-mysqli mod_php70&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Note: In these instructions we are using php5.7 not php7.0. We will be coming out with php7.0 instructions with FPM.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;PHP is the component of our setup that will process code to display dynamic content. It can run scripts, connect to MySQL databases to get information, and hand the processed content over to the web server to display. We're going to install the mod_php, php-mysql, and php-mysqli packages. To install PHP 5.7 with pkg, run this command&lt;br&gt;
&lt;code&gt;pkg install mod_php56 php56-mysql php56-mysqli&lt;/code&gt;&lt;br&gt;
Copy sample PHP configuration file into place.&lt;br&gt;
&lt;code&gt;cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini&lt;/code&gt;&lt;br&gt;
Regenerate the system's cached information about your installed executable files&lt;/p&gt;

&lt;pre&gt;&lt;code class="rehash```"&gt;Before using PHP, you must configure it to work with Apache.
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Install PHP Modules (Optional)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;To enhance the functionality of PHP, we can optionally install some additional modules. To see the available options for PHP 5.6 modules and libraries, you can type this into your system&lt;br&gt;
&lt;code&gt;pkg search php56&lt;/code&gt;&lt;br&gt;
Get more information about each module you can look at the long description of the package by typing&lt;br&gt;
&lt;code&gt;pkg search -f apache24&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Optional Install Example&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;pkg install php56-calendar&lt;/code&gt;&lt;br&gt;
Configure Apache to Use PHP Module&lt;br&gt;
Open the Apache configuration file&lt;br&gt;
&lt;code&gt;vim /usr/local/etc/apache24/Includes/php.conf&lt;/code&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;IfModule dir_module&amp;gt;
    DirectoryIndex index.php index.html
Next, we will configure Apache to process requested PHP files with the PHP processor. Add these lines to the end of the file:
    &amp;lt;FilesMatch "\.php$"&amp;gt;
        SetHandler application/x-httpd-php
    &amp;lt;/FilesMatch&amp;gt;
    &amp;lt;FilesMatch "\.phps$"&amp;gt;
        SetHandler application/x-httpd-php-source
    &amp;lt;/FilesMatch&amp;gt;
&amp;lt;/IfModule&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now restart Apache to put the changes into effect&lt;br&gt;
&lt;code&gt;service apache24 restart&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Test PHP Processing&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;By default, the DocumentRoot is set to /usr/local/www/apache24/data. We can create the info.php file under that location by typing&lt;br&gt;
&lt;code&gt;vim /usr/local/www/apache24/data/info.php&lt;/code&gt;&lt;br&gt;
Add following line to info.php and save it.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;?php phpinfo(); ?&amp;gt; 
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Details on info.php&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;info.php file gives you information about your server from the perspective of PHP. It' useful for debugging and to ensure that your settings are being applied correctly.&lt;br&gt;
If this was successful, then your PHP is working as expected.&lt;br&gt;
You probably want to remove info.php after testing because it could actually give information about your server to unauthorized users. Remove file by typing&lt;br&gt;
&lt;code&gt;rm /usr/local/www/apache24/data/info.php&lt;/code&gt;&lt;br&gt;
Note: Make sure Apache / meaning the root of Apache is owned by user which should have been created during the Apache install is the owner of the /usr/local/www structure.&lt;br&gt;
That explains FAMP on FreeBSD.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;IXsystems&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=GG_NvKuh530" target="_blank" rel="nofollow noopener"&gt;IXsystems TrueNAS X10 Torture Test &amp;amp; Fail Over Systems In Action with the ZFS File System&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://medium.com/refraction-tech-everything/how-netflix-works-the-hugely-simplified-complex-stuff-that-happens-every-time-you-hit-play-3a40c9be254b" target="_blank" rel="nofollow noopener"&gt;How Netflix works: what happens every time you hit Play&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Not long ago, House of Cards came back for the fifth season, finally ending a long wait for binge watchers across the world who are interested in an American politician’s ruthless ascendance to presidency. For them, kicking off a marathon is as simple as reaching out for your device or remote, opening the Netflix app and hitting Play. Simple, fast and instantly gratifying. What isn’t as simple is what goes into running Netflix, a service that streams around 250 million hours of video per day to around 98 million paying subscribers in 190 countries. At this scale, providing quality entertainment in a matter of a few seconds to every user is no joke. And as much as it means building top-notch infrastructure at a scale no other Internet service has done before, it also means that a lot of participants in the experience have to be negotiated with and kept satiated?—?from production companies supplying the content, to internet providers dealing with the network traffic Netflix brings upon them.&lt;br&gt;
This is, in short and in the most layman terms, how Netflix works.&lt;br&gt;
Let us just try to understand how Netflix is structured on the technological side with a simple example.&lt;br&gt;
Netflix literally ushered in a revolution around ten years ago by rewriting the applications that run the entire service to fit into a microservices architecture?—?which means that each application, or microservice’s code and resources are its very own. It will not share any of it with any other app by nature. And when two applications do need to talk to each other, they use an application programming interface (API)?—?a tightly-controlled set of rules that both programs can handle. Developers can now make many changes, small or huge, to each application as long as they ensure that it plays well with the API. And since the one program knows the other’s API properly, no change will break the exchange of information.&lt;br&gt;
Netflix estimates that it uses around 700 microservices to control each of the many parts of what makes up the entire Netflix service: one microservice stores what all shows you watched, one deducts the monthly fee from your credit card, one provides your device with the correct video files that it can play, one takes a look at your watching history and uses algorithms to guess a list of movies that you will like, and one will provide the names and images of these movies to be shown in a list on the main menu. And that’s the tip of the iceberg. Netflix engineers can make changes to any part of the application and can introduce new changes rapidly while ensuring that nothing else in the entire service breaks down.&lt;br&gt;
They made a courageous decision to get rid of maintaining their own servers and move all of their stuff to the cloud?—?i.e. run everything on the servers of someone else who dealt with maintaining the hardware while Netflix engineers wrote hundreds of programs and deployed it on the servers rapidly. The someone else they chose for their cloud-based infrastructure is Amazon Web Services (AWS).&lt;br&gt;
Netflix works on thousands of devices, and each of them play a different format of video and sound files. Another set of AWS servers take this original film file, and convert it into hundreds of files, each meant to play the entire show or film on a particular type of device and a particular screen size or video quality. One file will work exclusively on the iPad, one on a full HD Android phone, one on a Sony TV that can play 4K video and Dolby sound, one on a Windows computer, and so on. Even more of these files can be made with varying video qualities so that they are easier to load on a poor network connection. This is a process known as transcoding. A special piece of code is also added to these files to lock them with what is called digital rights management or DRM?—?a technological measure which prevents piracy of films.&lt;br&gt;
The Netflix app or website determines what particular device you are using to watch, and fetches the exact file for that show meant to specially play on your particular device, with a particular video quality based on how fast your internet is at that moment.&lt;br&gt;
Here, instead of relying on AWS servers, they install their very own around the world. But it has only one purpose?—?to store content smartly and deliver it to users. Netflix strikes deals with internet service providers and provides them the red box you saw above at no cost. ISPs install these along with their servers. These Open Connect boxes download the Netflix library for their region from the main servers in the US?—?if there are multiple of them, each will rather store content that is more popular with Netflix users in a region to prioritise speed. So a rarely watched film might take time to load more than a Stranger Things episode. Now, when you will connect to Netflix, the closest Open Connect box to you will deliver the content you need, thus videos load faster than if your Netflix app tried to load it from the main servers in the US.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In a nutshell… This is what happens when you hit that Play button:

&lt;ul&gt;
&lt;li&gt;Hundreds of microservices, or tiny independent programs, work together to make one large Netflix service.&lt;/li&gt;
&lt;li&gt;Content legally acquired or licensed is converted into a size that fits your screen, and protected from being copied.&lt;/li&gt;
&lt;li&gt;Servers across the world make a copy of it and store it so that the closest one to you delivers it at max quality and speed.&lt;/li&gt;
&lt;li&gt;When you select a show, your Netflix app cherry picks which of these servers will it load the video from&amp;gt;&lt;/li&gt;
&lt;li&gt;You are now gripped by Frank Underwood’s chilling tactics, given depression by BoJack Horseman’s rollercoaster life, tickled by Dev in Master of None and made phobic to the future of technology by the stories in Black Mirror. And your lifespan decreases as your binge watching turns you into a couch potato.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It looked so simple before, right?&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://dan.langille.org/2017/11/15/moving-freshports/" target="_blank" rel="nofollow noopener"&gt;Moving FreshPorts&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Today I moved the FreshPorts website from one server to another. My goal is for nobody to notice.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In preparation for this move, I have:

&lt;ul&gt;
&lt;li&gt;DNS TTL reduced to 60s&lt;/li&gt;
&lt;li&gt;Posted to Twitter&lt;/li&gt;
&lt;li&gt;Updated the status page&lt;/li&gt;
&lt;li&gt;Put the website put in offline mode:&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;What was missed&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I turned off commit processing on the new server, but I did not do this on the old server. I should have:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo svc -d /var/service/freshports
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That stops processing of incoming commits. No data is lost, but it keeps the two databases at the same spot in history. Commit processing could continue during the database dumping, but that does not affect the dump, which will be consistent regardless.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The offline code&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Here is the basic stuff I used to put the website into offline mode. The main points are:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;header(“HTTP/1.1 503 Service Unavailable”);&lt;/li&gt;
&lt;li&gt;ErrorDocument 404 /index.php&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I move the DocumentRoot to a new directory, containing only index.php. Every error invokes index.php, which returns a 503 code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The dump&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The database dump just started (Sun Nov 5 17:07:22 UTC 2017).&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;root@pg96:~ # /usr/bin/time pg_dump -h 206.127.23.226 -Fc -U dan freshports.org &amp;gt; freshports.org.9.6.dump
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That should take about 30 minutes. I have set a timer to remind me. Total time was:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;1464.82 real      1324.96 user        37.22 sys
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The MD5 is:&lt;br&gt;
&lt;code&gt;MD5 (freshports.org.9.6.dump) = 5249b45a93332b8344c9ce01245a05d5&lt;/code&gt;&lt;br&gt;
It is now: Sun Nov 5 17:34:07 UTC 2017&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt; The rsync&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The rsync should take about 10-20 minutes. I have already done an rsync of yesterday’s dump file. The rsync today should copy over only the deltas (i.e. differences).  The rsync started at about Sun Nov 5 17:36:05 UTC 2017 That took 2m9.091s The MD5 matches.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The restore&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The restore should take about 30 minutes. I ran this test yesterday. It is now Sun Nov 5 17:40:03 UTC 2017.&lt;/p&gt;

&lt;p&gt;```$ createdb -T template0 -E SQL_ASCII freshports.testing&lt;br&gt;
$ time pg_restore -j 16 -d freshports.testing freshports.org.9.6.dump&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Done.

```real    25m21.108s
user    1m57.508s
sys     0m15.172s
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It is now Sun Nov 5 18:06:22 UTC 2017.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Insert break here&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;About here, I took a 30 minute break to run an errand. It was worth it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Changing DNS&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’m ready to change DNS now. It is Sun Nov 5 19:49:20 EST 2017 Done. And nearly immediately, traffic started.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;How many misses?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;During this process, XXXXX requests were declined:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ grep -c '" 503 ' /usr/websites/log/freshports.org-access.log
XXXXX
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;That’s it, we’re done&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Total elapsed time: 1 hour 48 minutes. There are still a number of things to follow up on, but that was the transfers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dan.langille.org/2017/11/17/x8dtu-3/" target="_blank" rel="nofollow noopener"&gt;The new FreshPorts Server&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-virtualization/2017-November/005876.html" target="_blank" rel="nofollow noopener"&gt;Using bhyve on top of CEPH&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Hi,&lt;/li&gt;
&lt;li&gt;Just an info point.&lt;/li&gt;
&lt;li&gt;I'm preparing for a lecture tomorrow, and thought why not do an actual demo.... Like to be friends with Murphy :)&lt;/li&gt;
&lt;li&gt;So after I started the cluster:&lt;/li&gt;
&lt;li&gt;&lt;p&gt;5 jails with 7 OSDs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;This what I manually needed to do to boot a memory stick&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Start een Bhyve instance&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;rbd --dest-pool rbd_data --no-progress import memstick.img memstick&lt;br&gt;
rbd-ggate map rbd_data/memstick&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;ggate-devvice is available on /dev/ggate1&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;kldload vmm&lt;br&gt;
kldload nmdm&lt;br&gt;
kldload if_tap&lt;br&gt;
kldload if_bridge&lt;br&gt;
kldload cpuctl&lt;br&gt;
sysctl net.link.tap.up_on_open=1&lt;br&gt;
ifconfig bridge0 create&lt;br&gt;
ifconfig bridge0 addm em0 up&lt;br&gt;
ifconfig&lt;br&gt;
ifconfig tap11 create&lt;br&gt;
ifconfig bridge0 addm tap11&lt;br&gt;
ifconfig tap11 up&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;load the GGate disk in bhyve&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;bhyveload -c /dev/nmdm11A -m 2G -d /dev/ggate1 FB11&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;and boot a single from it.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;bhyve -H -P -A -c 1 -m 2G -l com1,/dev/nmdm11A -s 0:0,hostbridge -s &lt;br&gt;
1:0,lpc -s 2:0,virtio-net,tap11 -s 4,ahci-hd,/dev/ggate1 FB11 &amp;amp;&lt;br&gt;
bhyvectl --vm=FB11 --get-stats&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Connect to the VM&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;cu -l /dev/nmdm11B&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;And that'll give you a bhyve VM running on an RBD image over ggate.&lt;/li&gt;
&lt;li&gt;In the installer I tested reading from the bootdisk:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;root@:/ # dd if=/dev/ada0 of=/dev/null bs=32M&lt;br&gt;
21+1 records in&lt;br&gt;
21+1 records out&lt;br&gt;
734077952 bytes transferred in 5.306260 secs (138341865 bytes/sec)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;which is a nice 138Mb/sec.&lt;/li&gt;
&lt;li&gt;Hope the demonstration does work out tomorrow.&lt;/li&gt;
&lt;li&gt;--WjW
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://yakshav.es/the-patron-saint-of-yakshaves/" target="_blank" rel="nofollow noopener"&gt;Donald Knuth - The Patron Saint of Yak Shaves&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Excerpts:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In 2015, I gave a talk in which I called Donald Knuth the Patron Saint of Yak Shaves. The reason is that Donald Knuth achieved the most perfect and long-running yak shave: TeX. I figured this is worth repeating.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;How to achieve the ultimate Yak Shave&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The ultimate yak shave is the combination of improbable circumstance, the privilege to be able to shave at your hearts will and the will to follow things through to the end. Here’s the way it was achieved with TeX. The recount is purely mine, inaccurate and obviously there for fun. I’ll avoid the most boring facts that everyone always tells, such as why Knuth’s checks have their own Wikipedia page.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Community Shaving is Best Shaving&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Since the release of TeX, the community has been busy working on using it as a platform. If you ever downloaded the full TeX distribution, please bear in mind that you are downloading the amassed work of over 40 years, to make sure that each and every TeX document ever written builds. We’re talking about documents here.&lt;br&gt;
But mostly, two big projects sprung out of that. The first is LaTeX by Leslie Lamport. Lamport is a very productive researcher, famous for research in formal methods through TLA+ and also known laying groundwork for many distributed algorithms. LaTeX is based on the idea of separating presentation and content. It is based around the idea of document classes, which then describe the way a certain document is laid out. Think Markdown, just much more complex. The second is ConTeXt, which is far more focused on fine grained layout control.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Moral of the Story&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Whenever you feel like “can’t we just replace this whole thing, it can’t be so hard” when handling TeX, don’t forget how many years of work and especially knowledge were poured into that system. Typesetting isn’t the most popular knowledge around programmers. Especially see it in the context of the space it is in: they can’t remove legacy. Ever. That would break documents.&lt;br&gt;
TeX is also not a programming language. It might resemble one, but mostly, it should be approached as a typesetting system first. A lot of it's confusing lingo gets much better then. It’s not programming lingo. By approaching TeX with an understanding for its history, a lot of things can be learned from it. And yes, a replacement would be great, but it would take ages.&lt;br&gt;
In any case, I hope I thoroughly convinced you why Donald Knuth is the Patron Saint of Yak Shaves.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Extra Credits&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This comes out of a enjoyable discussion with [Arne from Lambda Island](&lt;a href="https://lambdaisland.com/https://lambdaisland.com/" target="_blank" rel="nofollow noopener"&gt;https://lambdaisland.com/https://lambdaisland.com/&lt;/a&gt;, who listened and said “you should totally turn this into a talk”.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://www.vincentdelft.be/post/post_20171016" target="_blank" rel="nofollow noopener"&gt;Vincent’s trip to EuroBSDCon 2017&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;My euroBSDCon 2017&lt;/li&gt;
&lt;li&gt;Posted on 2017-10-16 09:43:00 from Vincent in Open Bsd&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Let me just share my feedback on those 2 days spent in Paris for the EuroBSDCon. My 1st BSDCon. I'm not a developer, contributor, ... Do not expect to improve your skills with OpenBSD with this text :-) I know, we are on October 16th, and the EuroBSDCon of Paris was 3 weeks ago :( I'm not quick !!! Sorry for that&lt;br&gt;
Arrival at 10h, I'm too late for the start of the key note.  The few persons behind a desk welcome me by talking in Dutch, mainly because of my name. Indeed, Delft is a city in Netherlands, but also a well known university. I inform them that I'm from Belgium, and the discussion moves to the fact the Fosdem is located in Brussels. I receive my nice T-shirt white and blue, a bit like the marine T-shirts, but with the nice EuroBSDCon logo. I'm asking where are the different rooms reserved for the BSD event. We have 1 big on the 1st floor, 1 medium 1 level below, and 2 smalls 1 level above. All are really easy to access.  In this entrance we have 4 or 5 tables with some persons representing their company. Those are mainly the big sponsors of the event providing details about their activity and business. I discuss a little bit with StormShield and Gandi.  On other tables people are selling BSD t-shirts, and they will quickly be sold.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;"Is it done yet ?" The never ending story of pkg tools&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In the last Fosdem, I've already hear Antoine and Baptiste presenting the OpenBSD and FreeBSD battle, I decide to listen Marc Espie in the medium room called Karnak. Marc explains that he has rewritten completely the pkg_add command. He explains that, at contrario with other elements of OpenBSD, the packages tools must be backward compatible and stable on a longer period than 12 months (the support period for OpenBSD).  On the funny side, he explains that he has his best idea inside his bath. Hackathons are also used to validate some ideas with other OpenBSD developers. All in all, he explains that the most time consuming part is to imagine a good solution. Coding it is quite straightforward. He adds that better an idea is, shorter the implementation will be.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A Tale of six motherboards, three BSDs and coreboot&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After the lunch I decide to listen the talk about Coreboot. Indeed, 1 or 2 years ago I had listened the Libreboot project at Fosdem. Since they did several references to Coreboot, it's a perfect occasion to listen more carefully to this project. Piotr and Katazyba Kubaj explains us how to boot a machine without the native Bios. Indeed Coreboot can replace the bios, and de facto avoid several binaries imposed by the vendor. They explain that some motherboards are supporting their code. But they also show how difficult it is to flash a Bios and replace it by Coreboot. They even have destroyed a motherboard during the installation. Apparently because the power supply they were using was not stable enough with the 3v. It's really amazing to see that open source developers can go, by themselves, to such deep technical level.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;State of the DragonFly's graphics stack&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After this Coreboot talk, I decide to stay in the room to follow the presentation of Fran?ois Tigeot. Fran?ois is now one of the core developer of DrangonflyBSD, an amazing BSD system having his own filesystem called Hammer. Hammer offers several amazing features like snapshots, checksum data integrity, deduplication, ... Francois has spent his last years to integrate the video drivers developed for Linux inside DrangonflyBSD. &lt;br&gt;
He explains that instead of adapting this code for the video card to the kernel API of DrangonflyBSD, he has "simply" build an intermediate layer between the kernel of DragonflyBSD and the video drivers. This is not said in the talk, but this effort is very impressive. Indeed, this is more or less a linux emulator inside DragonflyBSD.  Francois explains that he has started with Intel video driver (drm/i915), but now he is able to run drm/radeon quite well, but also drm/amdgpu and drm/nouveau.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Discovering OpenBSD on AWS&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Then I move to the small room at the upper level to follow a presentation made by Laurent Bernaille on OpenBSD and AWS. First Laurent explains that he is re-using the work done by Antoine Jacoutot concerning the integration of OpenBSD inside AWS. But on top of that he has integrated several other Open Source solutions allowing him to build OpenBSD machines very quickly with one command. Moreover those machines will have the network config, the required packages, ... On top of the slides presented, he shows us, in a real demo, how this system works. Amazing presentation which shows that, by putting the correct tools together, a machine builds and configure other machines in one go. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;OpenBSD Testing Infrastructure Behind bluhm.genua.de&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Here Jan Klemkow explains us that he has setup a lab where he is able to run different OpenBSD architectures. The system has been designed to be able to install, on demand, a certain version of OpenBSD on the different available machines. On top of that a regression test script can be triggered. This provides reports showing what is working and what is not more working on the different machines.  If I've well understood, Jan is willing to provide such lab to the core developers of OpenBSD in order to allow them to validate easily and quickly their code.  Some more effort is needed to reach this goal, but with what exists today, Jan and his colleague are quite close. Since his company is using OpenBSD business, to his eyes this system is a "tit for tat" to the OpenBSD community.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;French story on cybercrime&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Then comes the second keynote of the day in the big auditorium. This talk is performed by the colonel of french gendarmerie. Mr Freyssinet, who is head of the Cyber crimes unit inside the Gendarmerie.  Mr Freyssinet explains that the "bad guys" are more and more volatile across countries, and more and more organized. The small hacker in his room, alone, is no more the reality. As a consequence the different national police investigators are collaborating more inside an organization called Interpol.  What is amazing in his talk is that Mr Freyssinet talks about "Crime as a service". Indeed, more and more hackers are selling their services to some "bad and temporary organizations". &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Social event&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It's now time for the famous social event on the river: la Seine.  The organizers ask us to go, by small groups, to a station. There is a walk of 15 minutes inside Paris. Hopefully the weather is perfect. To identify them clearly several organizers takes a "beastie fork" in their hands and walk on the sidewalk generating some amazing reactions from some citizens and toursits. Some of them recognize the Freebsd logo and ask us some details. Amazing :-)&lt;br&gt;
We walk on small and big sidewalks until a small stair going under the street. There, we have a train station a bit like a metro station. 3 stations later they ask us to go out. We walk few minutes and come in front of a boat having a double deck: one inside, with nice tables and chairs and one on the roof. But the crew ask us to go up, on the second deck. There, we are welcome with a glass of wine. The tour Eiffel is just at few 100 meters from us. Every hour the Eiffel tower is blinking for 5 minutes with thousands of small lights. Brilliant :-) &lt;br&gt;
We see also the "statue de la libertee" (the small one) which is on a small island in the middle of the river.  During the whole night the bar will be open with drinks and some appetizers, snacks, ...  Such walking diner is perfect to talk with many different persons.  I've discussed with several persons just using BSD, they are not, like me, deep and specialized developers. One was from Switzerland, another one from Austria, and another one from Netherlands. But I've also followed a discussion with Theo de Raadt, several persons of the FreeBSD foundation. Some are very technical guys, other just users, like me. But all with the same passion for one of the BSD system. Amazing evening.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;OpenBSD's small steps towards DTrace (a tale about DDB and CTF)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;On the second day, I decide to sleep enough in order to have enough resources to drive back to my home (3 hours by car). So I miss the 1st presentations, and arrive at the event around 10h30. Lot of persons are already present. Some faces are less "fresh" than others.&lt;br&gt;
I decide to listen to Dtrace in OpenBSD. After 10 minutes I am so lost into those too technical explainations, that I decide to open and look at my PC. My OpenBSD laptop is rarely leaving my home, so I've never had the need to have a screen locking system. In a crowded environment, this is better. So I was looking for a simple solution. I've looked at how to use xlock. I've combined it with the /ets/apm/suspend script, ... Always very easy to use OpenBSD :-)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The OpenBSD web stack&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Then I decide to follow the presentation of Michael W Lucas. Well know person for his different books about "Absolute OpenBSD", Relayd", ...  Michael talks about the httpd daemon inside OpenBSD. But he also present his integration with Carp, Relayd, PF, FastCGI, the rules based on LUA regexp (opposed to perl regexp), ... For sure he emphasis on the security aspect of those tools: privilege separation, chroot, ...&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;OpenSMTPD, current state of affairs&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Then I follow the presentation of Gilles Chehade about the OpenSMTPD project.  Amazing presentation that, on top of the technical challenges, shows how to manage such project across the years. Gilles is working on OpenSMTPD since 2007, thus 10 years !!!.  He explains the different decisions they took to make the software as simple as possible to use, but as secure as possible, too: privilege separation, chroot, pledge, random malloc, ? . The development starts on BSD systems, but once quite well known they received lot of contributions from Linux developers. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Hoisting: lessons learned integrating pledge into 500 programs&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After a small break, I decide to listen to Theo de Raadt, the founder of OpenBSD. In his own style, with trekking boots, shorts, backpack.  Theo starts by saying that Pledge is the outcome of nightmares. Theo explains that the book called "Hacking blind" presenting the BROP has worried him since few years.  That's why he developed Pledge as a tool killing a process as soon as possible when there is an unforeseen behavior of this program. For example, with Pledge a program which can only write to disk will be immediately killed if he tries to reach network.  By implementing Pledge in the +-500 programs present in the "base", OpenBSD is becoming more secured and more robust.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;My first EuroBSDCon was a great, interesting and cool event. I've discussed with several BSD enthusiasts. I'm using OpenBSD since 2010, but I'm not a developer, so I was worried to be "lost" in the middle of experts. In fact it was not the case. At EuroBSDCon you have many different type of enthusiasts BSD's users. What is nice with the EuroBSDCon is that the organizers foresee everything for you. You just have to sit and listen. They foresee even how to spend, in a funny and very cool attitude, the evening of Saturday. &amp;gt; The small draw back is that all of this has a cost. In my case the whole weekend cost me a bit more than 500euro. Based on what I've learned, what I've saw this is very acceptable price. Nearly all presentations I saw give me a valuable input for my daily job.  For sure, the total price is also linked to my personal choice: hotel, parking.  And I'm surely biased because I'm used to go to the Fosdem in Brussels which cost nothing (entrance) and is approximately 45 minutes of my home. But Fosdem is not the same atmosphere and presentations are less linked to my daily job.&lt;br&gt;
I do not regret my trip to EuroBSDCon and will surely plan other ones.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.jwz.org/blog/2017/10/important-munitions-lawyering/" target="_blank" rel="nofollow noopener"&gt;Important munitions lawyering&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2018.asiabsdcon.org/" target="_blank" rel="nofollow noopener"&gt;AsiaBSDCon 2018 CFP is now open, until December 15th&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=hWnWEitDPlM&amp;amp;feature=share" target="_blank" rel="nofollow noopener"&gt;ZSTD Compression for ZFS by Allan Jude&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/netbsd_on_allwinner_socs_update" target="_blank" rel="nofollow noopener"&gt;NetBSD on Allwinner SoCs Update&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0FKTJK3#wrap" target="_blank" rel="nofollow noopener"&gt;Tim - Creating Multi Boot USB sticks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1HY5MFB" target="_blank" rel="nofollow noopener"&gt;Nomen - ZFS Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3ZGNSK9#wrap" target="_blank" rel="nofollow noopener"&gt;JJ - Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3TRXXN4" target="_blank" rel="nofollow noopener"&gt;Lars - Hardening Diffie-Hellman&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We take a look at two-faced Oracle, cover a FAMP installation, how Netflix works the complex stuff, and show you who the patron of yak shaving is.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.theregister.co.uk/2017/10/12/oracle_must_grow_up_on_open_source/" target="_blank" rel="nofollow noopener">Why is Oracle so two-faced over open source?</a></h3>

<ul>
<li>Oracle loves open source. </li>
</ul>

<blockquote>
<p>Except when the database giant hates open source. Which, according to its recent lobbying of the US federal government, seems to be "most of the time". Yes, Oracle has recently joined the Cloud Native Computing Foundation (CNCF) to up its support for open-source Kubernetes and, yes, it has long supported (and contributed to) Linux. And, yes, Oracle has even gone so far as to (finally) open up Java development by putting it under a foundation's stewardship. Yet this same, seemingly open Oracle has actively hammered the US government to consider that "there is no math that can justify open source from a cost perspective as the cost of support plus the opportunity cost of forgoing features, functions, automation and security overwhelm any presumed cost savings." That punch to the face was delivered in a letter to Christopher Liddell, a former Microsoft CFO and now director of Trump's American Technology Council, by Kenneth Glueck, Oracle senior vice president.<br>
The US government had courted input on its IT modernisation programme. Others writing back to Liddell included AT&amp;T, Cisco, Microsoft and VMware.<br>
In other words, based on its letter, what Oracle wants us to believe is that open source leads to greater costs and poorly secured, limply featured software. Nor is Oracle content to leave it there, also arguing that open source is exactly how the private sector does not function, seemingly forgetting that most of the leading infrastructure, big data, and mobile software today is open source.<br>
Details! Rather than take this counterproductive detour into self-serving silliness, Oracle would do better to follow Microsoft's path. Microsoft, too, used to Janus-face its way through open source, simultaneously supporting and bashing it. Only under chief executive Satya Nadella's reign did Microsoft realise it's OK to fully embrace open source, and its financial results have loved the commitment. Oracle has much to learn, and emulate, in Microsoft's approach.</p>
</blockquote>

<ul>
<li>I love you, you're perfect. </li>
</ul>

<blockquote>
<p>Now change Oracle has never been particularly warm and fuzzy about open source. As founder Larry Ellison might put it, Oracle is a profit-seeking corporation, not a peace-loving charity. To the extent that Oracle embraces open source, therefore it does so for financial reward, just like every other corporation. Few, however, are as blunt as Oracle about this fact of corporate open-source life. As Ellison told the Financial Times back in 2006: "If an open-source product gets good enough, we'll simply take it. So the great thing about open source is nobody owns it  a company like Oracle is free to take it for nothing, include it in our products and charge for support, and that's what we'll do. "So it is not disruptive at all  you have to find places to add value. Once open source gets good enough, competing with it would be insane... We don't have to fight open source, we have to exploit open source." "Exploit" sounds about right. While Oracle doesn't crack the top-10 corporate contributors to the Linux kernel, it does register a respectable number 12, which helps it influence the platform enough to feel comfortable building its IaaS offering on Linux (and Xen for virtualisation). Oracle has also managed to continue growing MySQL's clout in the industry while improving it as a product and business. As for Kubernetes, Oracle's decision to join the CNCF also came with P&amp;L strings attached. "CNCF technologies such as Kubernetes, Prometheus, gRPC and OpenTracing are critical parts of both our own and our customers' development toolchains," said Mark Cavage, vice president of software development at Oracle. One can argue that Oracle has figured out the exploitation angle reasonably well. This, however, refers to the right kind of exploitation, the kind that even free software activist Richard Stallman can love (or, at least, tolerate). But when it comes to government lobbying, Oracle looks a lot more like Mr Hyde than Dr Jekyll.</p>
</blockquote>

<ul>
<li>Lies, damned lies, and Oracle lobbying</li>
</ul>

<blockquote>
<p>The current US president has many problems (OK, many, many problems), but his decision to follow the Obama administration's support for IT modernisation is commendable. Most recently, the Trump White House asked for feedback on how best to continue improving government IT. Oracle's response is high comedy in many respects. As TechDirt's Mike Masnick summarises, Oracle's "latest crusade is against open-source technology being used by the federal government  and against the government hiring people out of Silicon Valley to help create more modern systems. Instead, Oracle would apparently prefer the government just give it lots of money." Oracle is very good at making lots of money. As such, its request for even more isn't too surprising. What is surprising is the brazenness of its position. As Masnick opines: "The sheer contempt found in Oracle's submission on IT modernization is pretty stunning." Why? Because Oracle contradicts much that it publicly states in other forums about open source and innovation. More than this, Oracle contradicts much of what we now know is essential to competitive differentiation in an increasingly software and data-driven world.<br>
Take, for example, Oracle's contention that "significant IT development expertise is not... central to successful modernization efforts". What? In our "software is eating the world" existence Oracle clearly believes that CIOs are buyers, not doers: "The most important skill set of CIOs today is to critically compete and evaluate commercial alternatives to capture the benefits of innovation conducted at scale, and then to manage the implementation of those technologies efficiently." While there is some truth to Oracle's claim  every project shouldn't be a custom one-off that must be supported forever  it's crazy to think that a CIO  government or otherwise  is doing their job effectively by simply shovelling cash into vendors' bank accounts.<br>
Indeed, as Masnick points out: "If it weren't for Oracle's failures, there might not even be a USDS [the US Digital Service created in 2014 to modernise federal IT]. USDS really grew out of the emergency hiring of some top-notch internet engineers in response to the Healthcare.gov rollout debacle. And if you don't recall, a big part of that debacle was blamed on Oracle's technology." In short, blindly giving money to Oracle and other big vendors is the opposite of IT modernisation.<br>
In its letter to Liddell, Oracle proceeded to make the fantastic (by which I mean "silly and false") claim that "the fact is that the use of open-source software has been declining rapidly in the private sector". What?!? This is so incredibly untrue that Oracle should score points for being willing to say it out loud. Take a stroll through the most prominent software in big data (Hadoop, Spark, Kafka, etc.), mobile (Android), application development (Kubernetes, Docker), machine learning/AI (TensorFlow, MxNet), and compare it to Oracle's statement. One conclusion must be that Oracle believes its CIO audience is incredibly stupid. Oracle then tells a half-truth by declaring: "There is no math that can justify open source from a cost perspective." How so? Because "the cost of support plus the opportunity cost of forgoing features, functions, automation and security overwhelm any presumed cost savings." Which I guess is why Oracle doesn't use any open source like Linux, Kubernetes, etc. in its services.<br>
Oops.</p>
</blockquote>

<ul>
<li>The Vendor Formerly Known As Satan</li>
</ul>

<blockquote>
<p>The thing is, Oracle doesn't need to do this and, for its own good, shouldn't do this. After all, we already know how this plays out. We need only look at what happened with Microsoft. Remember when Microsoft wanted us to "get the facts" about Linux? Now it's a big-time contributor to Linux. Remember when it told us open source was anti-American and a cancer? Now it aggressively contributes to a huge variety of open-source projects, some of them homegrown in Redmond, and tells the world that "Microsoft loves open source." Of course, Microsoft loves open source for the same reason any corporation does: it drives revenue as developers look to build applications filled with open-source components on Azure. There's nothing wrong with that. <br>
Would Microsoft prefer government IT to purchase SQL Server instead of open-source-licensed PostgreSQL? Sure. But look for a single line in its response to the Trump executive order that signals "open source is bad". You won't find it. Why? Because Microsoft understands that open source is a friend, not foe, and has learned how to monetise it. Microsoft, in short, is no longer conflicted about open source. It can compete at the product level while embracing open source at the project level, which helps fuel its overall product and business strategy. Oracle isn't there yet, and is still stuck where Microsoft was a decade ago.<br>
It's time to grow up, Oracle. For a company that builds great software and understands that it increasingly needs to depend on open source to build that software, it's disingenuous at best to lobby the US government to put the freeze on open source. Oracle needs to learn from Microsoft, stop worrying and love the open-source bomb. It was a key ingredient in Microsoft's resurgence. Maybe it could help Oracle get a cloud clue, too.  </p>

<hr>
</blockquote>

<h3><a href="https://www.linuxsecrets.com/home/3164-install-famp-on-freebsd" target="_blank" rel="nofollow noopener">Install FAMP on FreeBSD</a></h3>

<ul>
<li>The acronym FAMP refers to a set of free open source applications which are commonly used in Web server environments called Apache, MySQL and PHP on the FreeBSD operating system, which provides a server stack that provides web services, database and PHP.</li>
<li>Prerequisites

<ul>
<li>sudo Installed and working - Please read</li>
<li>Apache</li>
<li>PHP5 or PHP7 </li>
<li>MySQL or MariaDB</li>
<li>Install your favorite editor, ours is vi</li>
</ul></li>
</ul>

<blockquote>
<p>Note: You don't need to upgrade FreeBSD but make sure all patches have been installed and your port tree is up-2-date if you plan to update by ports.</p>
</blockquote>

<ul>
<li>Install Ports</li>
</ul>

<blockquote>
<p><code>portsnap fetch</code><br>
You must use sudo for each indivdual command during installations. Please see link above for installing sudo.<br>
Searching Available Apache Versions to Install<br>
<code>pkg search apache</code></p>
</blockquote>

<ul>
<li>Install Apache</li>
</ul>

<blockquote>
<p>To install Apache 2.4 using pkg. The apache 2.4 user account managing Apache is www in FreeBSD.<br>
<code>pkg install apache24</code><br>
Confirmation yes prompt and hit y for yes to install Apache 2.4 This installs Apache and its dependencies. <br>
Enable Apache use sysrc to update services to be started at boot time, Command below adds "apache24_enable="YES" to the /etc/rc.conf file. For sysrc commands please read<br>
<code>sysrc apache24_enable=yes</code><br>
Start Apache<br>
<code>service apache24 start</code><br>
Visit web address by accessing your server's public IP address in your web browser </p>
</blockquote>

<ul>
<li>How To find Your Server's Public IP Address</li>
</ul>

<blockquote>
<p>If you do not know what your server's public IP address is, there are a number of ways that you can find it. Usually, this is the address you use to connect to your server through SSH.<br>
<code>ifconfig vtnet0 | grep "inet " | awk '{ print $2 }'</code><br>
Now that you have the public IP address, you may use it in your web browser's address bar to access your web server.</p>
</blockquote>

<ul>
<li>Install MySQL</li>
</ul>

<blockquote>
<p>Now that we have our web server up and running, it is time to install MySQL, the relational database management system. The MySQL server will organize and provide access to databases where our server can store information. Install MySQL 5.7 using pkg by typing<br>
<code>pkg install mysql57-server</code><br>
Enter y at the confirmation prompt. This installs the MySQL server and client packages.<br>
To enable MySQL server as a service, add mysql_enable="YES" to the /etc/rc.conf file. This sysrc command will do just that<br>
<code>sysrc mysql_enable=yes</code><br>
Now start the MySQL server<br>
<code>service mysql-server start</code><br>
Now run the security script that will remove some dangerous defaults and slightly restrict access to your database system.</p>

<pre><code class="mysql_secure_installation```">Answer all questions to secure your newly installed MySQL database. Enter current password for root (enter for none): [RETURN]
Your database system is now set up and we can move on.
</code></pre>
</blockquote>

<ul>
<li>Install PHP5 or PHP70</li>
</ul>

<blockquote>
<p><code>pkg search php70</code><br>
Install PHP70 you would do the following by typing<br>
<code>pkg install php70-mysqli mod_php70</code></p>
</blockquote>

<ul>
<li>Note: In these instructions we are using php5.7 not php7.0. We will be coming out with php7.0 instructions with FPM.</li>
</ul>

<blockquote>
<p>PHP is the component of our setup that will process code to display dynamic content. It can run scripts, connect to MySQL databases to get information, and hand the processed content over to the web server to display. We're going to install the mod_php, php-mysql, and php-mysqli packages. To install PHP 5.7 with pkg, run this command<br>
<code>pkg install mod_php56 php56-mysql php56-mysqli</code><br>
Copy sample PHP configuration file into place.<br>
<code>cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini</code><br>
Regenerate the system's cached information about your installed executable files</p>

<pre><code class="rehash```">Before using PHP, you must configure it to work with Apache.
</code></pre>
</blockquote>

<ul>
<li>Install PHP Modules (Optional)</li>
</ul>

<blockquote>
<p>To enhance the functionality of PHP, we can optionally install some additional modules. To see the available options for PHP 5.6 modules and libraries, you can type this into your system<br>
<code>pkg search php56</code><br>
Get more information about each module you can look at the long description of the package by typing<br>
<code>pkg search -f apache24</code></p>
</blockquote>

<ul>
<li>Optional Install Example</li>
</ul>

<blockquote>
<p><code>pkg install php56-calendar</code><br>
Configure Apache to Use PHP Module<br>
Open the Apache configuration file<br>
<code>vim /usr/local/etc/apache24/Includes/php.conf</code></p>

<pre><code>&lt;IfModule dir_module&gt;
    DirectoryIndex index.php index.html
Next, we will configure Apache to process requested PHP files with the PHP processor. Add these lines to the end of the file:
    &lt;FilesMatch "\.php$"&gt;
        SetHandler application/x-httpd-php
    &lt;/FilesMatch&gt;
    &lt;FilesMatch "\.phps$"&gt;
        SetHandler application/x-httpd-php-source
    &lt;/FilesMatch&gt;
&lt;/IfModule&gt; 
</code></pre>

<p>Now restart Apache to put the changes into effect<br>
<code>service apache24 restart</code></p>
</blockquote>

<ul>
<li>Test PHP Processing</li>
</ul>

<blockquote>
<p>By default, the DocumentRoot is set to /usr/local/www/apache24/data. We can create the info.php file under that location by typing<br>
<code>vim /usr/local/www/apache24/data/info.php</code><br>
Add following line to info.php and save it.</p>

<pre><code>&lt;?php phpinfo(); ?&gt; 
</code></pre>
</blockquote>

<ul>
<li>Details on info.php</li>
</ul>

<blockquote>
<p>info.php file gives you information about your server from the perspective of PHP. It' useful for debugging and to ensure that your settings are being applied correctly.<br>
If this was successful, then your PHP is working as expected.<br>
You probably want to remove info.php after testing because it could actually give information about your server to unauthorized users. Remove file by typing<br>
<code>rm /usr/local/www/apache24/data/info.php</code><br>
Note: Make sure Apache / meaning the root of Apache is owned by user which should have been created during the Apache install is the owner of the /usr/local/www structure.<br>
That explains FAMP on FreeBSD.</p>

<hr>
</blockquote>

<h3>IXsystems</h3>

<ul>
<li><a href="https://www.youtube.com/watch?v=GG_NvKuh530" target="_blank" rel="nofollow noopener">IXsystems TrueNAS X10 Torture Test &amp; Fail Over Systems In Action with the ZFS File System</a></li>
</ul>

<h3><a href="https://medium.com/refraction-tech-everything/how-netflix-works-the-hugely-simplified-complex-stuff-that-happens-every-time-you-hit-play-3a40c9be254b" target="_blank" rel="nofollow noopener">How Netflix works: what happens every time you hit Play</a></h3>

<blockquote>
<p>Not long ago, House of Cards came back for the fifth season, finally ending a long wait for binge watchers across the world who are interested in an American politicians ruthless ascendance to presidency. For them, kicking off a marathon is as simple as reaching out for your device or remote, opening the Netflix app and hitting Play. Simple, fast and instantly gratifying. What isnt as simple is what goes into running Netflix, a service that streams around 250 million hours of video per day to around 98 million paying subscribers in 190 countries. At this scale, providing quality entertainment in a matter of a few seconds to every user is no joke. And as much as it means building top-notch infrastructure at a scale no other Internet service has done before, it also means that a lot of participants in the experience have to be negotiated with and kept satiated??from production companies supplying the content, to internet providers dealing with the network traffic Netflix brings upon them.<br>
This is, in short and in the most layman terms, how Netflix works.<br>
Let us just try to understand how Netflix is structured on the technological side with a simple example.<br>
Netflix literally ushered in a revolution around ten years ago by rewriting the applications that run the entire service to fit into a microservices architecture??which means that each application, or microservices code and resources are its very own. It will not share any of it with any other app by nature. And when two applications do need to talk to each other, they use an application programming interface (API)??a tightly-controlled set of rules that both programs can handle. Developers can now make many changes, small or huge, to each application as long as they ensure that it plays well with the API. And since the one program knows the others API properly, no change will break the exchange of information.<br>
Netflix estimates that it uses around 700 microservices to control each of the many parts of what makes up the entire Netflix service: one microservice stores what all shows you watched, one deducts the monthly fee from your credit card, one provides your device with the correct video files that it can play, one takes a look at your watching history and uses algorithms to guess a list of movies that you will like, and one will provide the names and images of these movies to be shown in a list on the main menu. And thats the tip of the iceberg. Netflix engineers can make changes to any part of the application and can introduce new changes rapidly while ensuring that nothing else in the entire service breaks down.<br>
They made a courageous decision to get rid of maintaining their own servers and move all of their stuff to the cloud??i.e. run everything on the servers of someone else who dealt with maintaining the hardware while Netflix engineers wrote hundreds of programs and deployed it on the servers rapidly. The someone else they chose for their cloud-based infrastructure is Amazon Web Services (AWS).<br>
Netflix works on thousands of devices, and each of them play a different format of video and sound files. Another set of AWS servers take this original film file, and convert it into hundreds of files, each meant to play the entire show or film on a particular type of device and a particular screen size or video quality. One file will work exclusively on the iPad, one on a full HD Android phone, one on a Sony TV that can play 4K video and Dolby sound, one on a Windows computer, and so on. Even more of these files can be made with varying video qualities so that they are easier to load on a poor network connection. This is a process known as transcoding. A special piece of code is also added to these files to lock them with what is called digital rights management or DRM??a technological measure which prevents piracy of films.<br>
The Netflix app or website determines what particular device you are using to watch, and fetches the exact file for that show meant to specially play on your particular device, with a particular video quality based on how fast your internet is at that moment.<br>
Here, instead of relying on AWS servers, they install their very own around the world. But it has only one purpose??to store content smartly and deliver it to users. Netflix strikes deals with internet service providers and provides them the red box you saw above at no cost. ISPs install these along with their servers. These Open Connect boxes download the Netflix library for their region from the main servers in the US??if there are multiple of them, each will rather store content that is more popular with Netflix users in a region to prioritise speed. So a rarely watched film might take time to load more than a Stranger Things episode. Now, when you will connect to Netflix, the closest Open Connect box to you will deliver the content you need, thus videos load faster than if your Netflix app tried to load it from the main servers in the US.</p>
</blockquote>

<ul>
<li>In a nutshell This is what happens when you hit that Play button:

<ul>
<li>Hundreds of microservices, or tiny independent programs, work together to make one large Netflix service.</li>
<li>Content legally acquired or licensed is converted into a size that fits your screen, and protected from being copied.</li>
<li>Servers across the world make a copy of it and store it so that the closest one to you delivers it at max quality and speed.</li>
<li>When you select a show, your Netflix app cherry picks which of these servers will it load the video from&gt;</li>
<li>You are now gripped by Frank Underwoods chilling tactics, given depression by BoJack Horsemans rollercoaster life, tickled by Dev in Master of None and made phobic to the future of technology by the stories in Black Mirror. And your lifespan decreases as your binge watching turns you into a couch potato.</li>
</ul></li>
</ul>

<blockquote>
<p>It looked so simple before, right?</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="http://dan.langille.org/2017/11/15/moving-freshports/" target="_blank" rel="nofollow noopener">Moving FreshPorts</a></h3>

<blockquote>
<p>Today I moved the FreshPorts website from one server to another. My goal is for nobody to notice.</p>
</blockquote>

<ul>
<li>In preparation for this move, I have:

<ul>
<li>DNS TTL reduced to 60s</li>
<li>Posted to Twitter</li>
<li>Updated the status page</li>
<li>Put the website put in offline mode:</li>
</ul></li>
<li>What was missed</li>
</ul>

<blockquote>
<p>I turned off commit processing on the new server, but I did not do this on the old server. I should have:</p>

<pre><code>sudo svc -d /var/service/freshports
</code></pre>

<p>That stops processing of incoming commits. No data is lost, but it keeps the two databases at the same spot in history. Commit processing could continue during the database dumping, but that does not affect the dump, which will be consistent regardless.</p>
</blockquote>

<ul>
<li>The offline code</li>
</ul>

<blockquote>
<p>Here is the basic stuff I used to put the website into offline mode. The main points are:</p>
</blockquote>

<ul>
<li>header(HTTP/1.1 503 Service Unavailable);</li>
<li>ErrorDocument 404 /index.php</li>
</ul>

<blockquote>
<p>I move the DocumentRoot to a new directory, containing only index.php. Every error invokes index.php, which returns a 503 code.</p>
</blockquote>

<ul>
<li>The dump</li>
</ul>

<blockquote>
<p>The database dump just started (Sun Nov 5 17:07:22 UTC 2017).</p>

<pre><code>root@pg96:~ # /usr/bin/time pg_dump -h 206.127.23.226 -Fc -U dan freshports.org &gt; freshports.org.9.6.dump
</code></pre>

<p>That should take about 30 minutes. I have set a timer to remind me. Total time was:</p>

<pre><code>1464.82 real      1324.96 user        37.22 sys
</code></pre>

<p>The MD5 is:<br>
<code>MD5 (freshports.org.9.6.dump) = 5249b45a93332b8344c9ce01245a05d5</code><br>
It is now: Sun Nov 5 17:34:07 UTC 2017</p>
</blockquote>

<ul>
<li> The rsync</li>
</ul>

<blockquote>
<p>The rsync should take about 10-20 minutes. I have already done an rsync of yesterdays dump file. The rsync today should copy over only the deltas (i.e. differences).  The rsync started at about Sun Nov 5 17:36:05 UTC 2017 That took 2m9.091s The MD5 matches.</p>
</blockquote>

<ul>
<li>The restore</li>
</ul>

<blockquote>
<p>The restore should take about 30 minutes. I ran this test yesterday. It is now Sun Nov 5 17:40:03 UTC 2017.</p>

<p>```$ createdb -T template0 -E SQL_ASCII freshports.testing<br>
$ time pg_restore -j 16 -d freshports.testing freshports.org.9.6.dump</p>

<pre><code>Done.

```real    25m21.108s
user    1m57.508s
sys     0m15.172s
</code></pre>

<p>It is now Sun Nov 5 18:06:22 UTC 2017.</p>
</blockquote>

<ul>
<li>Insert break here</li>
</ul>

<blockquote>
<p>About here, I took a 30 minute break to run an errand. It was worth it.</p>
</blockquote>

<ul>
<li>Changing DNS</li>
</ul>

<blockquote>
<p>Im ready to change DNS now. It is Sun Nov 5 19:49:20 EST 2017 Done. And nearly immediately, traffic started.</p>
</blockquote>

<ul>
<li>How many misses?</li>
</ul>

<blockquote>
<p>During this process, XXXXX requests were declined:</p>

<pre><code>$ grep -c '" 503 ' /usr/websites/log/freshports.org-access.log
XXXXX
</code></pre>
</blockquote>

<ul>
<li>Thats it, were done</li>
</ul>

<blockquote>
<p>Total elapsed time: 1 hour 48 minutes. There are still a number of things to follow up on, but that was the transfers.</p>
</blockquote>

<ul>
<li><a href="http://dan.langille.org/2017/11/17/x8dtu-3/" target="_blank" rel="nofollow noopener">The new FreshPorts Server</a>
***</li>
</ul>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-virtualization/2017-November/005876.html" target="_blank" rel="nofollow noopener">Using bhyve on top of CEPH</a></h3>

<ul>
<li>Hi,</li>
<li>Just an info point.</li>
<li>I'm preparing for a lecture tomorrow, and thought why not do an actual demo.... Like to be friends with Murphy :)</li>
<li>So after I started the cluster:</li>
<li><p>5 jails with 7 OSDs</p></li>
<li><p>This what I manually needed to do to boot a memory stick</p></li>
<li><p>Start een Bhyve instance</p></li>
</ul>

<blockquote>
<p>rbd --dest-pool rbd_data --no-progress import memstick.img memstick<br>
rbd-ggate map rbd_data/memstick</p>
</blockquote>

<ul>
<li>ggate-devvice is available on /dev/ggate1</li>
</ul>

<blockquote>
<p>kldload vmm<br>
kldload nmdm<br>
kldload if_tap<br>
kldload if_bridge<br>
kldload cpuctl<br>
sysctl net.link.tap.up_on_open=1<br>
ifconfig bridge0 create<br>
ifconfig bridge0 addm em0 up<br>
ifconfig<br>
ifconfig tap11 create<br>
ifconfig bridge0 addm tap11<br>
ifconfig tap11 up</p>
</blockquote>

<ul>
<li>load the GGate disk in bhyve</li>
</ul>

<blockquote>
<p>bhyveload -c /dev/nmdm11A -m 2G -d /dev/ggate1 FB11</p>
</blockquote>

<ul>
<li>and boot a single from it.</li>
</ul>

<blockquote>
<p>bhyve -H -P -A -c 1 -m 2G -l com1,/dev/nmdm11A -s 0:0,hostbridge -s <br>
1:0,lpc -s 2:0,virtio-net,tap11 -s 4,ahci-hd,/dev/ggate1 FB11 &amp;<br>
bhyvectl --vm=FB11 --get-stats</p>
</blockquote>

<ul>
<li>Connect to the VM</li>
</ul>

<blockquote>
<p>cu -l /dev/nmdm11B</p>
</blockquote>

<ul>
<li>And that'll give you a bhyve VM running on an RBD image over ggate.</li>
<li>In the installer I tested reading from the bootdisk:</li>
</ul>

<blockquote>
<p>root@:/ # dd if=/dev/ada0 of=/dev/null bs=32M<br>
21+1 records in<br>
21+1 records out<br>
734077952 bytes transferred in 5.306260 secs (138341865 bytes/sec)</p>
</blockquote>

<ul>
<li>which is a nice 138Mb/sec.</li>
<li>Hope the demonstration does work out tomorrow.</li>
<li>--WjW
***</li>
</ul>

<h3><a href="http://yakshav.es/the-patron-saint-of-yakshaves/" target="_blank" rel="nofollow noopener">Donald Knuth - The Patron Saint of Yak Shaves</a></h3>

<ul>
<li>Excerpts:</li>
</ul>

<blockquote>
<p>In 2015, I gave a talk in which I called Donald Knuth the Patron Saint of Yak Shaves. The reason is that Donald Knuth achieved the most perfect and long-running yak shave: TeX. I figured this is worth repeating.</p>
</blockquote>

<ul>
<li>How to achieve the ultimate Yak Shave</li>
</ul>

<blockquote>
<p>The ultimate yak shave is the combination of improbable circumstance, the privilege to be able to shave at your hearts will and the will to follow things through to the end. Heres the way it was achieved with TeX. The recount is purely mine, inaccurate and obviously there for fun. Ill avoid the most boring facts that everyone always tells, such as why Knuths checks have their own Wikipedia page.</p>
</blockquote>

<ul>
<li>Community Shaving is Best Shaving</li>
</ul>

<blockquote>
<p>Since the release of TeX, the community has been busy working on using it as a platform. If you ever downloaded the full TeX distribution, please bear in mind that you are downloading the amassed work of over 40 years, to make sure that each and every TeX document ever written builds. Were talking about documents here.<br>
But mostly, two big projects sprung out of that. The first is LaTeX by Leslie Lamport. Lamport is a very productive researcher, famous for research in formal methods through TLA+ and also known laying groundwork for many distributed algorithms. LaTeX is based on the idea of separating presentation and content. It is based around the idea of document classes, which then describe the way a certain document is laid out. Think Markdown, just much more complex. The second is ConTeXt, which is far more focused on fine grained layout control.</p>
</blockquote>

<ul>
<li>The Moral of the Story</li>
</ul>

<blockquote>
<p>Whenever you feel like cant we just replace this whole thing, it cant be so hard when handling TeX, dont forget how many years of work and especially knowledge were poured into that system. Typesetting isnt the most popular knowledge around programmers. Especially see it in the context of the space it is in: they cant remove legacy. Ever. That would break documents.<br>
TeX is also not a programming language. It might resemble one, but mostly, it should be approached as a typesetting system first. A lot of it's confusing lingo gets much better then. Its not programming lingo. By approaching TeX with an understanding for its history, a lot of things can be learned from it. And yes, a replacement would be great, but it would take ages.<br>
In any case, I hope I thoroughly convinced you why Donald Knuth is the Patron Saint of Yak Shaves.</p>
</blockquote>

<ul>
<li>Extra Credits</li>
</ul>

<blockquote>
<p>This comes out of a enjoyable discussion with [Arne from Lambda Island](<a href="https://lambdaisland.com/https://lambdaisland.com/" target="_blank" rel="nofollow noopener">https://lambdaisland.com/https://lambdaisland.com/</a>, who listened and said you should totally turn this into a talk.</p>

<hr>
</blockquote>

<h3><a href="http://www.vincentdelft.be/post/post_20171016" target="_blank" rel="nofollow noopener">Vincents trip to EuroBSDCon 2017</a></h3>

<ul>
<li>My euroBSDCon 2017</li>
<li>Posted on 2017-10-16 09:43:00 from Vincent in Open Bsd</li>
</ul>

<blockquote>
<p>Let me just share my feedback on those 2 days spent in Paris for the EuroBSDCon. My 1st BSDCon. I'm not a developer, contributor, ... Do not expect to improve your skills with OpenBSD with this text :-) I know, we are on October 16th, and the EuroBSDCon of Paris was 3 weeks ago :( I'm not quick !!! Sorry for that<br>
Arrival at 10h, I'm too late for the start of the key note.  The few persons behind a desk welcome me by talking in Dutch, mainly because of my name. Indeed, Delft is a city in Netherlands, but also a well known university. I inform them that I'm from Belgium, and the discussion moves to the fact the Fosdem is located in Brussels. I receive my nice T-shirt white and blue, a bit like the marine T-shirts, but with the nice EuroBSDCon logo. I'm asking where are the different rooms reserved for the BSD event. We have 1 big on the 1st floor, 1 medium 1 level below, and 2 smalls 1 level above. All are really easy to access.  In this entrance we have 4 or 5 tables with some persons representing their company. Those are mainly the big sponsors of the event providing details about their activity and business. I discuss a little bit with StormShield and Gandi.  On other tables people are selling BSD t-shirts, and they will quickly be sold.</p>
</blockquote>

<ul>
<li>"Is it done yet ?" The never ending story of pkg tools</li>
</ul>

<blockquote>
<p>In the last Fosdem, I've already hear Antoine and Baptiste presenting the OpenBSD and FreeBSD battle, I decide to listen Marc Espie in the medium room called Karnak. Marc explains that he has rewritten completely the pkg_add command. He explains that, at contrario with other elements of OpenBSD, the packages tools must be backward compatible and stable on a longer period than 12 months (the support period for OpenBSD).  On the funny side, he explains that he has his best idea inside his bath. Hackathons are also used to validate some ideas with other OpenBSD developers. All in all, he explains that the most time consuming part is to imagine a good solution. Coding it is quite straightforward. He adds that better an idea is, shorter the implementation will be.</p>
</blockquote>

<ul>
<li>A Tale of six motherboards, three BSDs and coreboot</li>
</ul>

<blockquote>
<p>After the lunch I decide to listen the talk about Coreboot. Indeed, 1 or 2 years ago I had listened the Libreboot project at Fosdem. Since they did several references to Coreboot, it's a perfect occasion to listen more carefully to this project. Piotr and Katazyba Kubaj explains us how to boot a machine without the native Bios. Indeed Coreboot can replace the bios, and de facto avoid several binaries imposed by the vendor. They explain that some motherboards are supporting their code. But they also show how difficult it is to flash a Bios and replace it by Coreboot. They even have destroyed a motherboard during the installation. Apparently because the power supply they were using was not stable enough with the 3v. It's really amazing to see that open source developers can go, by themselves, to such deep technical level.</p>
</blockquote>

<ul>
<li>State of the DragonFly's graphics stack</li>
</ul>

<blockquote>
<p>After this Coreboot talk, I decide to stay in the room to follow the presentation of Fran?ois Tigeot. Fran?ois is now one of the core developer of DrangonflyBSD, an amazing BSD system having his own filesystem called Hammer. Hammer offers several amazing features like snapshots, checksum data integrity, deduplication, ... Francois has spent his last years to integrate the video drivers developed for Linux inside DrangonflyBSD. <br>
He explains that instead of adapting this code for the video card to the kernel API of DrangonflyBSD, he has "simply" build an intermediate layer between the kernel of DragonflyBSD and the video drivers. This is not said in the talk, but this effort is very impressive. Indeed, this is more or less a linux emulator inside DragonflyBSD.  Francois explains that he has started with Intel video driver (drm/i915), but now he is able to run drm/radeon quite well, but also drm/amdgpu and drm/nouveau.</p>
</blockquote>

<ul>
<li>Discovering OpenBSD on AWS</li>
</ul>

<blockquote>
<p>Then I move to the small room at the upper level to follow a presentation made by Laurent Bernaille on OpenBSD and AWS. First Laurent explains that he is re-using the work done by Antoine Jacoutot concerning the integration of OpenBSD inside AWS. But on top of that he has integrated several other Open Source solutions allowing him to build OpenBSD machines very quickly with one command. Moreover those machines will have the network config, the required packages, ... On top of the slides presented, he shows us, in a real demo, how this system works. Amazing presentation which shows that, by putting the correct tools together, a machine builds and configure other machines in one go. </p>
</blockquote>

<ul>
<li>OpenBSD Testing Infrastructure Behind bluhm.genua.de</li>
</ul>

<blockquote>
<p>Here Jan Klemkow explains us that he has setup a lab where he is able to run different OpenBSD architectures. The system has been designed to be able to install, on demand, a certain version of OpenBSD on the different available machines. On top of that a regression test script can be triggered. This provides reports showing what is working and what is not more working on the different machines.  If I've well understood, Jan is willing to provide such lab to the core developers of OpenBSD in order to allow them to validate easily and quickly their code.  Some more effort is needed to reach this goal, but with what exists today, Jan and his colleague are quite close. Since his company is using OpenBSD business, to his eyes this system is a "tit for tat" to the OpenBSD community.</p>
</blockquote>

<ul>
<li>French story on cybercrime</li>
</ul>

<blockquote>
<p>Then comes the second keynote of the day in the big auditorium. This talk is performed by the colonel of french gendarmerie. Mr Freyssinet, who is head of the Cyber crimes unit inside the Gendarmerie.  Mr Freyssinet explains that the "bad guys" are more and more volatile across countries, and more and more organized. The small hacker in his room, alone, is no more the reality. As a consequence the different national police investigators are collaborating more inside an organization called Interpol.  What is amazing in his talk is that Mr Freyssinet talks about "Crime as a service". Indeed, more and more hackers are selling their services to some "bad and temporary organizations". </p>
</blockquote>

<ul>
<li>Social event</li>
</ul>

<blockquote>
<p>It's now time for the famous social event on the river: la Seine.  The organizers ask us to go, by small groups, to a station. There is a walk of 15 minutes inside Paris. Hopefully the weather is perfect. To identify them clearly several organizers takes a "beastie fork" in their hands and walk on the sidewalk generating some amazing reactions from some citizens and toursits. Some of them recognize the Freebsd logo and ask us some details. Amazing :-)<br>
We walk on small and big sidewalks until a small stair going under the street. There, we have a train station a bit like a metro station. 3 stations later they ask us to go out. We walk few minutes and come in front of a boat having a double deck: one inside, with nice tables and chairs and one on the roof. But the crew ask us to go up, on the second deck. There, we are welcome with a glass of wine. The tour Eiffel is just at few 100 meters from us. Every hour the Eiffel tower is blinking for 5 minutes with thousands of small lights. Brilliant :-) <br>
We see also the "statue de la libertee" (the small one) which is on a small island in the middle of the river.  During the whole night the bar will be open with drinks and some appetizers, snacks, ...  Such walking diner is perfect to talk with many different persons.  I've discussed with several persons just using BSD, they are not, like me, deep and specialized developers. One was from Switzerland, another one from Austria, and another one from Netherlands. But I've also followed a discussion with Theo de Raadt, several persons of the FreeBSD foundation. Some are very technical guys, other just users, like me. But all with the same passion for one of the BSD system. Amazing evening.</p>
</blockquote>

<ul>
<li>OpenBSD's small steps towards DTrace (a tale about DDB and CTF)</li>
</ul>

<blockquote>
<p>On the second day, I decide to sleep enough in order to have enough resources to drive back to my home (3 hours by car). So I miss the 1st presentations, and arrive at the event around 10h30. Lot of persons are already present. Some faces are less "fresh" than others.<br>
I decide to listen to Dtrace in OpenBSD. After 10 minutes I am so lost into those too technical explainations, that I decide to open and look at my PC. My OpenBSD laptop is rarely leaving my home, so I've never had the need to have a screen locking system. In a crowded environment, this is better. So I was looking for a simple solution. I've looked at how to use xlock. I've combined it with the /ets/apm/suspend script, ... Always very easy to use OpenBSD :-)</p>
</blockquote>

<ul>
<li>The OpenBSD web stack</li>
</ul>

<blockquote>
<p>Then I decide to follow the presentation of Michael W Lucas. Well know person for his different books about "Absolute OpenBSD", Relayd", ...  Michael talks about the httpd daemon inside OpenBSD. But he also present his integration with Carp, Relayd, PF, FastCGI, the rules based on LUA regexp (opposed to perl regexp), ... For sure he emphasis on the security aspect of those tools: privilege separation, chroot, ...</p>
</blockquote>

<ul>
<li>OpenSMTPD, current state of affairs</li>
</ul>

<blockquote>
<p>Then I follow the presentation of Gilles Chehade about the OpenSMTPD project.  Amazing presentation that, on top of the technical challenges, shows how to manage such project across the years. Gilles is working on OpenSMTPD since 2007, thus 10 years !!!.  He explains the different decisions they took to make the software as simple as possible to use, but as secure as possible, too: privilege separation, chroot, pledge, random malloc, ? . The development starts on BSD systems, but once quite well known they received lot of contributions from Linux developers. </p>
</blockquote>

<ul>
<li>Hoisting: lessons learned integrating pledge into 500 programs</li>
</ul>

<blockquote>
<p>After a small break, I decide to listen to Theo de Raadt, the founder of OpenBSD. In his own style, with trekking boots, shorts, backpack.  Theo starts by saying that Pledge is the outcome of nightmares. Theo explains that the book called "Hacking blind" presenting the BROP has worried him since few years.  That's why he developed Pledge as a tool killing a process as soon as possible when there is an unforeseen behavior of this program. For example, with Pledge a program which can only write to disk will be immediately killed if he tries to reach network.  By implementing Pledge in the +-500 programs present in the "base", OpenBSD is becoming more secured and more robust.</p>
</blockquote>

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

<blockquote>
<p>My first EuroBSDCon was a great, interesting and cool event. I've discussed with several BSD enthusiasts. I'm using OpenBSD since 2010, but I'm not a developer, so I was worried to be "lost" in the middle of experts. In fact it was not the case. At EuroBSDCon you have many different type of enthusiasts BSD's users. What is nice with the EuroBSDCon is that the organizers foresee everything for you. You just have to sit and listen. They foresee even how to spend, in a funny and very cool attitude, the evening of Saturday. &gt; The small draw back is that all of this has a cost. In my case the whole weekend cost me a bit more than 500euro. Based on what I've learned, what I've saw this is very acceptable price. Nearly all presentations I saw give me a valuable input for my daily job.  For sure, the total price is also linked to my personal choice: hotel, parking.  And I'm surely biased because I'm used to go to the Fosdem in Brussels which cost nothing (entrance) and is approximately 45 minutes of my home. But Fosdem is not the same atmosphere and presentations are less linked to my daily job.<br>
I do not regret my trip to EuroBSDCon and will surely plan other ones.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.jwz.org/blog/2017/10/important-munitions-lawyering/" target="_blank" rel="nofollow noopener">Important munitions lawyering</a></li>
<li><a href="https://2018.asiabsdcon.org/" target="_blank" rel="nofollow noopener">AsiaBSDCon 2018 CFP is now open, until December 15th</a></li>
<li><a href="https://www.youtube.com/watch?v=hWnWEitDPlM&amp;feature=share" target="_blank" rel="nofollow noopener">ZSTD Compression for ZFS by Allan Jude</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/netbsd_on_allwinner_socs_update" target="_blank" rel="nofollow noopener">NetBSD on Allwinner SoCs Update</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/0FKTJK3#wrap" target="_blank" rel="nofollow noopener">Tim - Creating Multi Boot USB sticks</a></li>
<li><a href="http://dpaste.com/1HY5MFB" target="_blank" rel="nofollow noopener">Nomen - ZFS Questions</a></li>
<li><a href="http://dpaste.com/3ZGNSK9#wrap" target="_blank" rel="nofollow noopener">JJ - Questions</a></li>
<li><a href="http://dpaste.com/3TRXXN4" target="_blank" rel="nofollow noopener">Lars - Hardening Diffie-Hellman</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We take a look at two-faced Oracle, cover a FAMP installation, how Netflix works the complex stuff, and show you who the patron of yak shaving is.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.theregister.co.uk/2017/10/12/oracle_must_grow_up_on_open_source/" target="_blank" rel="nofollow noopener">Why is Oracle so two-faced over open source?</a></h3>

<ul>
<li>Oracle loves open source. </li>
</ul>

<blockquote>
<p>Except when the database giant hates open source. Which, according to its recent lobbying of the US federal government, seems to be "most of the time". Yes, Oracle has recently joined the Cloud Native Computing Foundation (CNCF) to up its support for open-source Kubernetes and, yes, it has long supported (and contributed to) Linux. And, yes, Oracle has even gone so far as to (finally) open up Java development by putting it under a foundation's stewardship. Yet this same, seemingly open Oracle has actively hammered the US government to consider that "there is no math that can justify open source from a cost perspective as the cost of support plus the opportunity cost of forgoing features, functions, automation and security overwhelm any presumed cost savings." That punch to the face was delivered in a letter to Christopher Liddell, a former Microsoft CFO and now director of Trump's American Technology Council, by Kenneth Glueck, Oracle senior vice president.<br>
The US government had courted input on its IT modernisation programme. Others writing back to Liddell included AT&amp;T, Cisco, Microsoft and VMware.<br>
In other words, based on its letter, what Oracle wants us to believe is that open source leads to greater costs and poorly secured, limply featured software. Nor is Oracle content to leave it there, also arguing that open source is exactly how the private sector does not function, seemingly forgetting that most of the leading infrastructure, big data, and mobile software today is open source.<br>
Details! Rather than take this counterproductive detour into self-serving silliness, Oracle would do better to follow Microsoft's path. Microsoft, too, used to Janus-face its way through open source, simultaneously supporting and bashing it. Only under chief executive Satya Nadella's reign did Microsoft realise it's OK to fully embrace open source, and its financial results have loved the commitment. Oracle has much to learn, and emulate, in Microsoft's approach.</p>
</blockquote>

<ul>
<li>I love you, you're perfect. </li>
</ul>

<blockquote>
<p>Now change Oracle has never been particularly warm and fuzzy about open source. As founder Larry Ellison might put it, Oracle is a profit-seeking corporation, not a peace-loving charity. To the extent that Oracle embraces open source, therefore it does so for financial reward, just like every other corporation. Few, however, are as blunt as Oracle about this fact of corporate open-source life. As Ellison told the Financial Times back in 2006: "If an open-source product gets good enough, we'll simply take it. So the great thing about open source is nobody owns it  a company like Oracle is free to take it for nothing, include it in our products and charge for support, and that's what we'll do. "So it is not disruptive at all  you have to find places to add value. Once open source gets good enough, competing with it would be insane... We don't have to fight open source, we have to exploit open source." "Exploit" sounds about right. While Oracle doesn't crack the top-10 corporate contributors to the Linux kernel, it does register a respectable number 12, which helps it influence the platform enough to feel comfortable building its IaaS offering on Linux (and Xen for virtualisation). Oracle has also managed to continue growing MySQL's clout in the industry while improving it as a product and business. As for Kubernetes, Oracle's decision to join the CNCF also came with P&amp;L strings attached. "CNCF technologies such as Kubernetes, Prometheus, gRPC and OpenTracing are critical parts of both our own and our customers' development toolchains," said Mark Cavage, vice president of software development at Oracle. One can argue that Oracle has figured out the exploitation angle reasonably well. This, however, refers to the right kind of exploitation, the kind that even free software activist Richard Stallman can love (or, at least, tolerate). But when it comes to government lobbying, Oracle looks a lot more like Mr Hyde than Dr Jekyll.</p>
</blockquote>

<ul>
<li>Lies, damned lies, and Oracle lobbying</li>
</ul>

<blockquote>
<p>The current US president has many problems (OK, many, many problems), but his decision to follow the Obama administration's support for IT modernisation is commendable. Most recently, the Trump White House asked for feedback on how best to continue improving government IT. Oracle's response is high comedy in many respects. As TechDirt's Mike Masnick summarises, Oracle's "latest crusade is against open-source technology being used by the federal government  and against the government hiring people out of Silicon Valley to help create more modern systems. Instead, Oracle would apparently prefer the government just give it lots of money." Oracle is very good at making lots of money. As such, its request for even more isn't too surprising. What is surprising is the brazenness of its position. As Masnick opines: "The sheer contempt found in Oracle's submission on IT modernization is pretty stunning." Why? Because Oracle contradicts much that it publicly states in other forums about open source and innovation. More than this, Oracle contradicts much of what we now know is essential to competitive differentiation in an increasingly software and data-driven world.<br>
Take, for example, Oracle's contention that "significant IT development expertise is not... central to successful modernization efforts". What? In our "software is eating the world" existence Oracle clearly believes that CIOs are buyers, not doers: "The most important skill set of CIOs today is to critically compete and evaluate commercial alternatives to capture the benefits of innovation conducted at scale, and then to manage the implementation of those technologies efficiently." While there is some truth to Oracle's claim  every project shouldn't be a custom one-off that must be supported forever  it's crazy to think that a CIO  government or otherwise  is doing their job effectively by simply shovelling cash into vendors' bank accounts.<br>
Indeed, as Masnick points out: "If it weren't for Oracle's failures, there might not even be a USDS [the US Digital Service created in 2014 to modernise federal IT]. USDS really grew out of the emergency hiring of some top-notch internet engineers in response to the Healthcare.gov rollout debacle. And if you don't recall, a big part of that debacle was blamed on Oracle's technology." In short, blindly giving money to Oracle and other big vendors is the opposite of IT modernisation.<br>
In its letter to Liddell, Oracle proceeded to make the fantastic (by which I mean "silly and false") claim that "the fact is that the use of open-source software has been declining rapidly in the private sector". What?!? This is so incredibly untrue that Oracle should score points for being willing to say it out loud. Take a stroll through the most prominent software in big data (Hadoop, Spark, Kafka, etc.), mobile (Android), application development (Kubernetes, Docker), machine learning/AI (TensorFlow, MxNet), and compare it to Oracle's statement. One conclusion must be that Oracle believes its CIO audience is incredibly stupid. Oracle then tells a half-truth by declaring: "There is no math that can justify open source from a cost perspective." How so? Because "the cost of support plus the opportunity cost of forgoing features, functions, automation and security overwhelm any presumed cost savings." Which I guess is why Oracle doesn't use any open source like Linux, Kubernetes, etc. in its services.<br>
Oops.</p>
</blockquote>

<ul>
<li>The Vendor Formerly Known As Satan</li>
</ul>

<blockquote>
<p>The thing is, Oracle doesn't need to do this and, for its own good, shouldn't do this. After all, we already know how this plays out. We need only look at what happened with Microsoft. Remember when Microsoft wanted us to "get the facts" about Linux? Now it's a big-time contributor to Linux. Remember when it told us open source was anti-American and a cancer? Now it aggressively contributes to a huge variety of open-source projects, some of them homegrown in Redmond, and tells the world that "Microsoft loves open source." Of course, Microsoft loves open source for the same reason any corporation does: it drives revenue as developers look to build applications filled with open-source components on Azure. There's nothing wrong with that. <br>
Would Microsoft prefer government IT to purchase SQL Server instead of open-source-licensed PostgreSQL? Sure. But look for a single line in its response to the Trump executive order that signals "open source is bad". You won't find it. Why? Because Microsoft understands that open source is a friend, not foe, and has learned how to monetise it. Microsoft, in short, is no longer conflicted about open source. It can compete at the product level while embracing open source at the project level, which helps fuel its overall product and business strategy. Oracle isn't there yet, and is still stuck where Microsoft was a decade ago.<br>
It's time to grow up, Oracle. For a company that builds great software and understands that it increasingly needs to depend on open source to build that software, it's disingenuous at best to lobby the US government to put the freeze on open source. Oracle needs to learn from Microsoft, stop worrying and love the open-source bomb. It was a key ingredient in Microsoft's resurgence. Maybe it could help Oracle get a cloud clue, too.  </p>

<hr>
</blockquote>

<h3><a href="https://www.linuxsecrets.com/home/3164-install-famp-on-freebsd" target="_blank" rel="nofollow noopener">Install FAMP on FreeBSD</a></h3>

<ul>
<li>The acronym FAMP refers to a set of free open source applications which are commonly used in Web server environments called Apache, MySQL and PHP on the FreeBSD operating system, which provides a server stack that provides web services, database and PHP.</li>
<li>Prerequisites

<ul>
<li>sudo Installed and working - Please read</li>
<li>Apache</li>
<li>PHP5 or PHP7 </li>
<li>MySQL or MariaDB</li>
<li>Install your favorite editor, ours is vi</li>
</ul></li>
</ul>

<blockquote>
<p>Note: You don't need to upgrade FreeBSD but make sure all patches have been installed and your port tree is up-2-date if you plan to update by ports.</p>
</blockquote>

<ul>
<li>Install Ports</li>
</ul>

<blockquote>
<p><code>portsnap fetch</code><br>
You must use sudo for each indivdual command during installations. Please see link above for installing sudo.<br>
Searching Available Apache Versions to Install<br>
<code>pkg search apache</code></p>
</blockquote>

<ul>
<li>Install Apache</li>
</ul>

<blockquote>
<p>To install Apache 2.4 using pkg. The apache 2.4 user account managing Apache is www in FreeBSD.<br>
<code>pkg install apache24</code><br>
Confirmation yes prompt and hit y for yes to install Apache 2.4 This installs Apache and its dependencies. <br>
Enable Apache use sysrc to update services to be started at boot time, Command below adds "apache24_enable="YES" to the /etc/rc.conf file. For sysrc commands please read<br>
<code>sysrc apache24_enable=yes</code><br>
Start Apache<br>
<code>service apache24 start</code><br>
Visit web address by accessing your server's public IP address in your web browser </p>
</blockquote>

<ul>
<li>How To find Your Server's Public IP Address</li>
</ul>

<blockquote>
<p>If you do not know what your server's public IP address is, there are a number of ways that you can find it. Usually, this is the address you use to connect to your server through SSH.<br>
<code>ifconfig vtnet0 | grep "inet " | awk '{ print $2 }'</code><br>
Now that you have the public IP address, you may use it in your web browser's address bar to access your web server.</p>
</blockquote>

<ul>
<li>Install MySQL</li>
</ul>

<blockquote>
<p>Now that we have our web server up and running, it is time to install MySQL, the relational database management system. The MySQL server will organize and provide access to databases where our server can store information. Install MySQL 5.7 using pkg by typing<br>
<code>pkg install mysql57-server</code><br>
Enter y at the confirmation prompt. This installs the MySQL server and client packages.<br>
To enable MySQL server as a service, add mysql_enable="YES" to the /etc/rc.conf file. This sysrc command will do just that<br>
<code>sysrc mysql_enable=yes</code><br>
Now start the MySQL server<br>
<code>service mysql-server start</code><br>
Now run the security script that will remove some dangerous defaults and slightly restrict access to your database system.</p>

<pre><code class="mysql_secure_installation```">Answer all questions to secure your newly installed MySQL database. Enter current password for root (enter for none): [RETURN]
Your database system is now set up and we can move on.
</code></pre>
</blockquote>

<ul>
<li>Install PHP5 or PHP70</li>
</ul>

<blockquote>
<p><code>pkg search php70</code><br>
Install PHP70 you would do the following by typing<br>
<code>pkg install php70-mysqli mod_php70</code></p>
</blockquote>

<ul>
<li>Note: In these instructions we are using php5.7 not php7.0. We will be coming out with php7.0 instructions with FPM.</li>
</ul>

<blockquote>
<p>PHP is the component of our setup that will process code to display dynamic content. It can run scripts, connect to MySQL databases to get information, and hand the processed content over to the web server to display. We're going to install the mod_php, php-mysql, and php-mysqli packages. To install PHP 5.7 with pkg, run this command<br>
<code>pkg install mod_php56 php56-mysql php56-mysqli</code><br>
Copy sample PHP configuration file into place.<br>
<code>cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini</code><br>
Regenerate the system's cached information about your installed executable files</p>

<pre><code class="rehash```">Before using PHP, you must configure it to work with Apache.
</code></pre>
</blockquote>

<ul>
<li>Install PHP Modules (Optional)</li>
</ul>

<blockquote>
<p>To enhance the functionality of PHP, we can optionally install some additional modules. To see the available options for PHP 5.6 modules and libraries, you can type this into your system<br>
<code>pkg search php56</code><br>
Get more information about each module you can look at the long description of the package by typing<br>
<code>pkg search -f apache24</code></p>
</blockquote>

<ul>
<li>Optional Install Example</li>
</ul>

<blockquote>
<p><code>pkg install php56-calendar</code><br>
Configure Apache to Use PHP Module<br>
Open the Apache configuration file<br>
<code>vim /usr/local/etc/apache24/Includes/php.conf</code></p>

<pre><code>&lt;IfModule dir_module&gt;
    DirectoryIndex index.php index.html
Next, we will configure Apache to process requested PHP files with the PHP processor. Add these lines to the end of the file:
    &lt;FilesMatch "\.php$"&gt;
        SetHandler application/x-httpd-php
    &lt;/FilesMatch&gt;
    &lt;FilesMatch "\.phps$"&gt;
        SetHandler application/x-httpd-php-source
    &lt;/FilesMatch&gt;
&lt;/IfModule&gt; 
</code></pre>

<p>Now restart Apache to put the changes into effect<br>
<code>service apache24 restart</code></p>
</blockquote>

<ul>
<li>Test PHP Processing</li>
</ul>

<blockquote>
<p>By default, the DocumentRoot is set to /usr/local/www/apache24/data. We can create the info.php file under that location by typing<br>
<code>vim /usr/local/www/apache24/data/info.php</code><br>
Add following line to info.php and save it.</p>

<pre><code>&lt;?php phpinfo(); ?&gt; 
</code></pre>
</blockquote>

<ul>
<li>Details on info.php</li>
</ul>

<blockquote>
<p>info.php file gives you information about your server from the perspective of PHP. It' useful for debugging and to ensure that your settings are being applied correctly.<br>
If this was successful, then your PHP is working as expected.<br>
You probably want to remove info.php after testing because it could actually give information about your server to unauthorized users. Remove file by typing<br>
<code>rm /usr/local/www/apache24/data/info.php</code><br>
Note: Make sure Apache / meaning the root of Apache is owned by user which should have been created during the Apache install is the owner of the /usr/local/www structure.<br>
That explains FAMP on FreeBSD.</p>

<hr>
</blockquote>

<h3>IXsystems</h3>

<ul>
<li><a href="https://www.youtube.com/watch?v=GG_NvKuh530" target="_blank" rel="nofollow noopener">IXsystems TrueNAS X10 Torture Test &amp; Fail Over Systems In Action with the ZFS File System</a></li>
</ul>

<h3><a href="https://medium.com/refraction-tech-everything/how-netflix-works-the-hugely-simplified-complex-stuff-that-happens-every-time-you-hit-play-3a40c9be254b" target="_blank" rel="nofollow noopener">How Netflix works: what happens every time you hit Play</a></h3>

<blockquote>
<p>Not long ago, House of Cards came back for the fifth season, finally ending a long wait for binge watchers across the world who are interested in an American politicians ruthless ascendance to presidency. For them, kicking off a marathon is as simple as reaching out for your device or remote, opening the Netflix app and hitting Play. Simple, fast and instantly gratifying. What isnt as simple is what goes into running Netflix, a service that streams around 250 million hours of video per day to around 98 million paying subscribers in 190 countries. At this scale, providing quality entertainment in a matter of a few seconds to every user is no joke. And as much as it means building top-notch infrastructure at a scale no other Internet service has done before, it also means that a lot of participants in the experience have to be negotiated with and kept satiated??from production companies supplying the content, to internet providers dealing with the network traffic Netflix brings upon them.<br>
This is, in short and in the most layman terms, how Netflix works.<br>
Let us just try to understand how Netflix is structured on the technological side with a simple example.<br>
Netflix literally ushered in a revolution around ten years ago by rewriting the applications that run the entire service to fit into a microservices architecture??which means that each application, or microservices code and resources are its very own. It will not share any of it with any other app by nature. And when two applications do need to talk to each other, they use an application programming interface (API)??a tightly-controlled set of rules that both programs can handle. Developers can now make many changes, small or huge, to each application as long as they ensure that it plays well with the API. And since the one program knows the others API properly, no change will break the exchange of information.<br>
Netflix estimates that it uses around 700 microservices to control each of the many parts of what makes up the entire Netflix service: one microservice stores what all shows you watched, one deducts the monthly fee from your credit card, one provides your device with the correct video files that it can play, one takes a look at your watching history and uses algorithms to guess a list of movies that you will like, and one will provide the names and images of these movies to be shown in a list on the main menu. And thats the tip of the iceberg. Netflix engineers can make changes to any part of the application and can introduce new changes rapidly while ensuring that nothing else in the entire service breaks down.<br>
They made a courageous decision to get rid of maintaining their own servers and move all of their stuff to the cloud??i.e. run everything on the servers of someone else who dealt with maintaining the hardware while Netflix engineers wrote hundreds of programs and deployed it on the servers rapidly. The someone else they chose for their cloud-based infrastructure is Amazon Web Services (AWS).<br>
Netflix works on thousands of devices, and each of them play a different format of video and sound files. Another set of AWS servers take this original film file, and convert it into hundreds of files, each meant to play the entire show or film on a particular type of device and a particular screen size or video quality. One file will work exclusively on the iPad, one on a full HD Android phone, one on a Sony TV that can play 4K video and Dolby sound, one on a Windows computer, and so on. Even more of these files can be made with varying video qualities so that they are easier to load on a poor network connection. This is a process known as transcoding. A special piece of code is also added to these files to lock them with what is called digital rights management or DRM??a technological measure which prevents piracy of films.<br>
The Netflix app or website determines what particular device you are using to watch, and fetches the exact file for that show meant to specially play on your particular device, with a particular video quality based on how fast your internet is at that moment.<br>
Here, instead of relying on AWS servers, they install their very own around the world. But it has only one purpose??to store content smartly and deliver it to users. Netflix strikes deals with internet service providers and provides them the red box you saw above at no cost. ISPs install these along with their servers. These Open Connect boxes download the Netflix library for their region from the main servers in the US??if there are multiple of them, each will rather store content that is more popular with Netflix users in a region to prioritise speed. So a rarely watched film might take time to load more than a Stranger Things episode. Now, when you will connect to Netflix, the closest Open Connect box to you will deliver the content you need, thus videos load faster than if your Netflix app tried to load it from the main servers in the US.</p>
</blockquote>

<ul>
<li>In a nutshell This is what happens when you hit that Play button:

<ul>
<li>Hundreds of microservices, or tiny independent programs, work together to make one large Netflix service.</li>
<li>Content legally acquired or licensed is converted into a size that fits your screen, and protected from being copied.</li>
<li>Servers across the world make a copy of it and store it so that the closest one to you delivers it at max quality and speed.</li>
<li>When you select a show, your Netflix app cherry picks which of these servers will it load the video from&gt;</li>
<li>You are now gripped by Frank Underwoods chilling tactics, given depression by BoJack Horsemans rollercoaster life, tickled by Dev in Master of None and made phobic to the future of technology by the stories in Black Mirror. And your lifespan decreases as your binge watching turns you into a couch potato.</li>
</ul></li>
</ul>

<blockquote>
<p>It looked so simple before, right?</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="http://dan.langille.org/2017/11/15/moving-freshports/" target="_blank" rel="nofollow noopener">Moving FreshPorts</a></h3>

<blockquote>
<p>Today I moved the FreshPorts website from one server to another. My goal is for nobody to notice.</p>
</blockquote>

<ul>
<li>In preparation for this move, I have:

<ul>
<li>DNS TTL reduced to 60s</li>
<li>Posted to Twitter</li>
<li>Updated the status page</li>
<li>Put the website put in offline mode:</li>
</ul></li>
<li>What was missed</li>
</ul>

<blockquote>
<p>I turned off commit processing on the new server, but I did not do this on the old server. I should have:</p>

<pre><code>sudo svc -d /var/service/freshports
</code></pre>

<p>That stops processing of incoming commits. No data is lost, but it keeps the two databases at the same spot in history. Commit processing could continue during the database dumping, but that does not affect the dump, which will be consistent regardless.</p>
</blockquote>

<ul>
<li>The offline code</li>
</ul>

<blockquote>
<p>Here is the basic stuff I used to put the website into offline mode. The main points are:</p>
</blockquote>

<ul>
<li>header(HTTP/1.1 503 Service Unavailable);</li>
<li>ErrorDocument 404 /index.php</li>
</ul>

<blockquote>
<p>I move the DocumentRoot to a new directory, containing only index.php. Every error invokes index.php, which returns a 503 code.</p>
</blockquote>

<ul>
<li>The dump</li>
</ul>

<blockquote>
<p>The database dump just started (Sun Nov 5 17:07:22 UTC 2017).</p>

<pre><code>root@pg96:~ # /usr/bin/time pg_dump -h 206.127.23.226 -Fc -U dan freshports.org &gt; freshports.org.9.6.dump
</code></pre>

<p>That should take about 30 minutes. I have set a timer to remind me. Total time was:</p>

<pre><code>1464.82 real      1324.96 user        37.22 sys
</code></pre>

<p>The MD5 is:<br>
<code>MD5 (freshports.org.9.6.dump) = 5249b45a93332b8344c9ce01245a05d5</code><br>
It is now: Sun Nov 5 17:34:07 UTC 2017</p>
</blockquote>

<ul>
<li> The rsync</li>
</ul>

<blockquote>
<p>The rsync should take about 10-20 minutes. I have already done an rsync of yesterdays dump file. The rsync today should copy over only the deltas (i.e. differences).  The rsync started at about Sun Nov 5 17:36:05 UTC 2017 That took 2m9.091s The MD5 matches.</p>
</blockquote>

<ul>
<li>The restore</li>
</ul>

<blockquote>
<p>The restore should take about 30 minutes. I ran this test yesterday. It is now Sun Nov 5 17:40:03 UTC 2017.</p>

<p>```$ createdb -T template0 -E SQL_ASCII freshports.testing<br>
$ time pg_restore -j 16 -d freshports.testing freshports.org.9.6.dump</p>

<pre><code>Done.

```real    25m21.108s
user    1m57.508s
sys     0m15.172s
</code></pre>

<p>It is now Sun Nov 5 18:06:22 UTC 2017.</p>
</blockquote>

<ul>
<li>Insert break here</li>
</ul>

<blockquote>
<p>About here, I took a 30 minute break to run an errand. It was worth it.</p>
</blockquote>

<ul>
<li>Changing DNS</li>
</ul>

<blockquote>
<p>Im ready to change DNS now. It is Sun Nov 5 19:49:20 EST 2017 Done. And nearly immediately, traffic started.</p>
</blockquote>

<ul>
<li>How many misses?</li>
</ul>

<blockquote>
<p>During this process, XXXXX requests were declined:</p>

<pre><code>$ grep -c '" 503 ' /usr/websites/log/freshports.org-access.log
XXXXX
</code></pre>
</blockquote>

<ul>
<li>Thats it, were done</li>
</ul>

<blockquote>
<p>Total elapsed time: 1 hour 48 minutes. There are still a number of things to follow up on, but that was the transfers.</p>
</blockquote>

<ul>
<li><a href="http://dan.langille.org/2017/11/17/x8dtu-3/" target="_blank" rel="nofollow noopener">The new FreshPorts Server</a>
***</li>
</ul>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-virtualization/2017-November/005876.html" target="_blank" rel="nofollow noopener">Using bhyve on top of CEPH</a></h3>

<ul>
<li>Hi,</li>
<li>Just an info point.</li>
<li>I'm preparing for a lecture tomorrow, and thought why not do an actual demo.... Like to be friends with Murphy :)</li>
<li>So after I started the cluster:</li>
<li><p>5 jails with 7 OSDs</p></li>
<li><p>This what I manually needed to do to boot a memory stick</p></li>
<li><p>Start een Bhyve instance</p></li>
</ul>

<blockquote>
<p>rbd --dest-pool rbd_data --no-progress import memstick.img memstick<br>
rbd-ggate map rbd_data/memstick</p>
</blockquote>

<ul>
<li>ggate-devvice is available on /dev/ggate1</li>
</ul>

<blockquote>
<p>kldload vmm<br>
kldload nmdm<br>
kldload if_tap<br>
kldload if_bridge<br>
kldload cpuctl<br>
sysctl net.link.tap.up_on_open=1<br>
ifconfig bridge0 create<br>
ifconfig bridge0 addm em0 up<br>
ifconfig<br>
ifconfig tap11 create<br>
ifconfig bridge0 addm tap11<br>
ifconfig tap11 up</p>
</blockquote>

<ul>
<li>load the GGate disk in bhyve</li>
</ul>

<blockquote>
<p>bhyveload -c /dev/nmdm11A -m 2G -d /dev/ggate1 FB11</p>
</blockquote>

<ul>
<li>and boot a single from it.</li>
</ul>

<blockquote>
<p>bhyve -H -P -A -c 1 -m 2G -l com1,/dev/nmdm11A -s 0:0,hostbridge -s <br>
1:0,lpc -s 2:0,virtio-net,tap11 -s 4,ahci-hd,/dev/ggate1 FB11 &amp;<br>
bhyvectl --vm=FB11 --get-stats</p>
</blockquote>

<ul>
<li>Connect to the VM</li>
</ul>

<blockquote>
<p>cu -l /dev/nmdm11B</p>
</blockquote>

<ul>
<li>And that'll give you a bhyve VM running on an RBD image over ggate.</li>
<li>In the installer I tested reading from the bootdisk:</li>
</ul>

<blockquote>
<p>root@:/ # dd if=/dev/ada0 of=/dev/null bs=32M<br>
21+1 records in<br>
21+1 records out<br>
734077952 bytes transferred in 5.306260 secs (138341865 bytes/sec)</p>
</blockquote>

<ul>
<li>which is a nice 138Mb/sec.</li>
<li>Hope the demonstration does work out tomorrow.</li>
<li>--WjW
***</li>
</ul>

<h3><a href="http://yakshav.es/the-patron-saint-of-yakshaves/" target="_blank" rel="nofollow noopener">Donald Knuth - The Patron Saint of Yak Shaves</a></h3>

<ul>
<li>Excerpts:</li>
</ul>

<blockquote>
<p>In 2015, I gave a talk in which I called Donald Knuth the Patron Saint of Yak Shaves. The reason is that Donald Knuth achieved the most perfect and long-running yak shave: TeX. I figured this is worth repeating.</p>
</blockquote>

<ul>
<li>How to achieve the ultimate Yak Shave</li>
</ul>

<blockquote>
<p>The ultimate yak shave is the combination of improbable circumstance, the privilege to be able to shave at your hearts will and the will to follow things through to the end. Heres the way it was achieved with TeX. The recount is purely mine, inaccurate and obviously there for fun. Ill avoid the most boring facts that everyone always tells, such as why Knuths checks have their own Wikipedia page.</p>
</blockquote>

<ul>
<li>Community Shaving is Best Shaving</li>
</ul>

<blockquote>
<p>Since the release of TeX, the community has been busy working on using it as a platform. If you ever downloaded the full TeX distribution, please bear in mind that you are downloading the amassed work of over 40 years, to make sure that each and every TeX document ever written builds. Were talking about documents here.<br>
But mostly, two big projects sprung out of that. The first is LaTeX by Leslie Lamport. Lamport is a very productive researcher, famous for research in formal methods through TLA+ and also known laying groundwork for many distributed algorithms. LaTeX is based on the idea of separating presentation and content. It is based around the idea of document classes, which then describe the way a certain document is laid out. Think Markdown, just much more complex. The second is ConTeXt, which is far more focused on fine grained layout control.</p>
</blockquote>

<ul>
<li>The Moral of the Story</li>
</ul>

<blockquote>
<p>Whenever you feel like cant we just replace this whole thing, it cant be so hard when handling TeX, dont forget how many years of work and especially knowledge were poured into that system. Typesetting isnt the most popular knowledge around programmers. Especially see it in the context of the space it is in: they cant remove legacy. Ever. That would break documents.<br>
TeX is also not a programming language. It might resemble one, but mostly, it should be approached as a typesetting system first. A lot of it's confusing lingo gets much better then. Its not programming lingo. By approaching TeX with an understanding for its history, a lot of things can be learned from it. And yes, a replacement would be great, but it would take ages.<br>
In any case, I hope I thoroughly convinced you why Donald Knuth is the Patron Saint of Yak Shaves.</p>
</blockquote>

<ul>
<li>Extra Credits</li>
</ul>

<blockquote>
<p>This comes out of a enjoyable discussion with [Arne from Lambda Island](<a href="https://lambdaisland.com/https://lambdaisland.com/" target="_blank" rel="nofollow noopener">https://lambdaisland.com/https://lambdaisland.com/</a>, who listened and said you should totally turn this into a talk.</p>

<hr>
</blockquote>

<h3><a href="http://www.vincentdelft.be/post/post_20171016" target="_blank" rel="nofollow noopener">Vincents trip to EuroBSDCon 2017</a></h3>

<ul>
<li>My euroBSDCon 2017</li>
<li>Posted on 2017-10-16 09:43:00 from Vincent in Open Bsd</li>
</ul>

<blockquote>
<p>Let me just share my feedback on those 2 days spent in Paris for the EuroBSDCon. My 1st BSDCon. I'm not a developer, contributor, ... Do not expect to improve your skills with OpenBSD with this text :-) I know, we are on October 16th, and the EuroBSDCon of Paris was 3 weeks ago :( I'm not quick !!! Sorry for that<br>
Arrival at 10h, I'm too late for the start of the key note.  The few persons behind a desk welcome me by talking in Dutch, mainly because of my name. Indeed, Delft is a city in Netherlands, but also a well known university. I inform them that I'm from Belgium, and the discussion moves to the fact the Fosdem is located in Brussels. I receive my nice T-shirt white and blue, a bit like the marine T-shirts, but with the nice EuroBSDCon logo. I'm asking where are the different rooms reserved for the BSD event. We have 1 big on the 1st floor, 1 medium 1 level below, and 2 smalls 1 level above. All are really easy to access.  In this entrance we have 4 or 5 tables with some persons representing their company. Those are mainly the big sponsors of the event providing details about their activity and business. I discuss a little bit with StormShield and Gandi.  On other tables people are selling BSD t-shirts, and they will quickly be sold.</p>
</blockquote>

<ul>
<li>"Is it done yet ?" The never ending story of pkg tools</li>
</ul>

<blockquote>
<p>In the last Fosdem, I've already hear Antoine and Baptiste presenting the OpenBSD and FreeBSD battle, I decide to listen Marc Espie in the medium room called Karnak. Marc explains that he has rewritten completely the pkg_add command. He explains that, at contrario with other elements of OpenBSD, the packages tools must be backward compatible and stable on a longer period than 12 months (the support period for OpenBSD).  On the funny side, he explains that he has his best idea inside his bath. Hackathons are also used to validate some ideas with other OpenBSD developers. All in all, he explains that the most time consuming part is to imagine a good solution. Coding it is quite straightforward. He adds that better an idea is, shorter the implementation will be.</p>
</blockquote>

<ul>
<li>A Tale of six motherboards, three BSDs and coreboot</li>
</ul>

<blockquote>
<p>After the lunch I decide to listen the talk about Coreboot. Indeed, 1 or 2 years ago I had listened the Libreboot project at Fosdem. Since they did several references to Coreboot, it's a perfect occasion to listen more carefully to this project. Piotr and Katazyba Kubaj explains us how to boot a machine without the native Bios. Indeed Coreboot can replace the bios, and de facto avoid several binaries imposed by the vendor. They explain that some motherboards are supporting their code. But they also show how difficult it is to flash a Bios and replace it by Coreboot. They even have destroyed a motherboard during the installation. Apparently because the power supply they were using was not stable enough with the 3v. It's really amazing to see that open source developers can go, by themselves, to such deep technical level.</p>
</blockquote>

<ul>
<li>State of the DragonFly's graphics stack</li>
</ul>

<blockquote>
<p>After this Coreboot talk, I decide to stay in the room to follow the presentation of Fran?ois Tigeot. Fran?ois is now one of the core developer of DrangonflyBSD, an amazing BSD system having his own filesystem called Hammer. Hammer offers several amazing features like snapshots, checksum data integrity, deduplication, ... Francois has spent his last years to integrate the video drivers developed for Linux inside DrangonflyBSD. <br>
He explains that instead of adapting this code for the video card to the kernel API of DrangonflyBSD, he has "simply" build an intermediate layer between the kernel of DragonflyBSD and the video drivers. This is not said in the talk, but this effort is very impressive. Indeed, this is more or less a linux emulator inside DragonflyBSD.  Francois explains that he has started with Intel video driver (drm/i915), but now he is able to run drm/radeon quite well, but also drm/amdgpu and drm/nouveau.</p>
</blockquote>

<ul>
<li>Discovering OpenBSD on AWS</li>
</ul>

<blockquote>
<p>Then I move to the small room at the upper level to follow a presentation made by Laurent Bernaille on OpenBSD and AWS. First Laurent explains that he is re-using the work done by Antoine Jacoutot concerning the integration of OpenBSD inside AWS. But on top of that he has integrated several other Open Source solutions allowing him to build OpenBSD machines very quickly with one command. Moreover those machines will have the network config, the required packages, ... On top of the slides presented, he shows us, in a real demo, how this system works. Amazing presentation which shows that, by putting the correct tools together, a machine builds and configure other machines in one go. </p>
</blockquote>

<ul>
<li>OpenBSD Testing Infrastructure Behind bluhm.genua.de</li>
</ul>

<blockquote>
<p>Here Jan Klemkow explains us that he has setup a lab where he is able to run different OpenBSD architectures. The system has been designed to be able to install, on demand, a certain version of OpenBSD on the different available machines. On top of that a regression test script can be triggered. This provides reports showing what is working and what is not more working on the different machines.  If I've well understood, Jan is willing to provide such lab to the core developers of OpenBSD in order to allow them to validate easily and quickly their code.  Some more effort is needed to reach this goal, but with what exists today, Jan and his colleague are quite close. Since his company is using OpenBSD business, to his eyes this system is a "tit for tat" to the OpenBSD community.</p>
</blockquote>

<ul>
<li>French story on cybercrime</li>
</ul>

<blockquote>
<p>Then comes the second keynote of the day in the big auditorium. This talk is performed by the colonel of french gendarmerie. Mr Freyssinet, who is head of the Cyber crimes unit inside the Gendarmerie.  Mr Freyssinet explains that the "bad guys" are more and more volatile across countries, and more and more organized. The small hacker in his room, alone, is no more the reality. As a consequence the different national police investigators are collaborating more inside an organization called Interpol.  What is amazing in his talk is that Mr Freyssinet talks about "Crime as a service". Indeed, more and more hackers are selling their services to some "bad and temporary organizations". </p>
</blockquote>

<ul>
<li>Social event</li>
</ul>

<blockquote>
<p>It's now time for the famous social event on the river: la Seine.  The organizers ask us to go, by small groups, to a station. There is a walk of 15 minutes inside Paris. Hopefully the weather is perfect. To identify them clearly several organizers takes a "beastie fork" in their hands and walk on the sidewalk generating some amazing reactions from some citizens and toursits. Some of them recognize the Freebsd logo and ask us some details. Amazing :-)<br>
We walk on small and big sidewalks until a small stair going under the street. There, we have a train station a bit like a metro station. 3 stations later they ask us to go out. We walk few minutes and come in front of a boat having a double deck: one inside, with nice tables and chairs and one on the roof. But the crew ask us to go up, on the second deck. There, we are welcome with a glass of wine. The tour Eiffel is just at few 100 meters from us. Every hour the Eiffel tower is blinking for 5 minutes with thousands of small lights. Brilliant :-) <br>
We see also the "statue de la libertee" (the small one) which is on a small island in the middle of the river.  During the whole night the bar will be open with drinks and some appetizers, snacks, ...  Such walking diner is perfect to talk with many different persons.  I've discussed with several persons just using BSD, they are not, like me, deep and specialized developers. One was from Switzerland, another one from Austria, and another one from Netherlands. But I've also followed a discussion with Theo de Raadt, several persons of the FreeBSD foundation. Some are very technical guys, other just users, like me. But all with the same passion for one of the BSD system. Amazing evening.</p>
</blockquote>

<ul>
<li>OpenBSD's small steps towards DTrace (a tale about DDB and CTF)</li>
</ul>

<blockquote>
<p>On the second day, I decide to sleep enough in order to have enough resources to drive back to my home (3 hours by car). So I miss the 1st presentations, and arrive at the event around 10h30. Lot of persons are already present. Some faces are less "fresh" than others.<br>
I decide to listen to Dtrace in OpenBSD. After 10 minutes I am so lost into those too technical explainations, that I decide to open and look at my PC. My OpenBSD laptop is rarely leaving my home, so I've never had the need to have a screen locking system. In a crowded environment, this is better. So I was looking for a simple solution. I've looked at how to use xlock. I've combined it with the /ets/apm/suspend script, ... Always very easy to use OpenBSD :-)</p>
</blockquote>

<ul>
<li>The OpenBSD web stack</li>
</ul>

<blockquote>
<p>Then I decide to follow the presentation of Michael W Lucas. Well know person for his different books about "Absolute OpenBSD", Relayd", ...  Michael talks about the httpd daemon inside OpenBSD. But he also present his integration with Carp, Relayd, PF, FastCGI, the rules based on LUA regexp (opposed to perl regexp), ... For sure he emphasis on the security aspect of those tools: privilege separation, chroot, ...</p>
</blockquote>

<ul>
<li>OpenSMTPD, current state of affairs</li>
</ul>

<blockquote>
<p>Then I follow the presentation of Gilles Chehade about the OpenSMTPD project.  Amazing presentation that, on top of the technical challenges, shows how to manage such project across the years. Gilles is working on OpenSMTPD since 2007, thus 10 years !!!.  He explains the different decisions they took to make the software as simple as possible to use, but as secure as possible, too: privilege separation, chroot, pledge, random malloc, ? . The development starts on BSD systems, but once quite well known they received lot of contributions from Linux developers. </p>
</blockquote>

<ul>
<li>Hoisting: lessons learned integrating pledge into 500 programs</li>
</ul>

<blockquote>
<p>After a small break, I decide to listen to Theo de Raadt, the founder of OpenBSD. In his own style, with trekking boots, shorts, backpack.  Theo starts by saying that Pledge is the outcome of nightmares. Theo explains that the book called "Hacking blind" presenting the BROP has worried him since few years.  That's why he developed Pledge as a tool killing a process as soon as possible when there is an unforeseen behavior of this program. For example, with Pledge a program which can only write to disk will be immediately killed if he tries to reach network.  By implementing Pledge in the +-500 programs present in the "base", OpenBSD is becoming more secured and more robust.</p>
</blockquote>

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

<blockquote>
<p>My first EuroBSDCon was a great, interesting and cool event. I've discussed with several BSD enthusiasts. I'm using OpenBSD since 2010, but I'm not a developer, so I was worried to be "lost" in the middle of experts. In fact it was not the case. At EuroBSDCon you have many different type of enthusiasts BSD's users. What is nice with the EuroBSDCon is that the organizers foresee everything for you. You just have to sit and listen. They foresee even how to spend, in a funny and very cool attitude, the evening of Saturday. &gt; The small draw back is that all of this has a cost. In my case the whole weekend cost me a bit more than 500euro. Based on what I've learned, what I've saw this is very acceptable price. Nearly all presentations I saw give me a valuable input for my daily job.  For sure, the total price is also linked to my personal choice: hotel, parking.  And I'm surely biased because I'm used to go to the Fosdem in Brussels which cost nothing (entrance) and is approximately 45 minutes of my home. But Fosdem is not the same atmosphere and presentations are less linked to my daily job.<br>
I do not regret my trip to EuroBSDCon and will surely plan other ones.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.jwz.org/blog/2017/10/important-munitions-lawyering/" target="_blank" rel="nofollow noopener">Important munitions lawyering</a></li>
<li><a href="https://2018.asiabsdcon.org/" target="_blank" rel="nofollow noopener">AsiaBSDCon 2018 CFP is now open, until December 15th</a></li>
<li><a href="https://www.youtube.com/watch?v=hWnWEitDPlM&amp;feature=share" target="_blank" rel="nofollow noopener">ZSTD Compression for ZFS by Allan Jude</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/netbsd_on_allwinner_socs_update" target="_blank" rel="nofollow noopener">NetBSD on Allwinner SoCs Update</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/0FKTJK3#wrap" target="_blank" rel="nofollow noopener">Tim - Creating Multi Boot USB sticks</a></li>
<li><a href="http://dpaste.com/1HY5MFB" target="_blank" rel="nofollow noopener">Nomen - ZFS Questions</a></li>
<li><a href="http://dpaste.com/3ZGNSK9#wrap" target="_blank" rel="nofollow noopener">JJ - Questions</a></li>
<li><a href="http://dpaste.com/3TRXXN4" target="_blank" rel="nofollow noopener">Lars - Hardening Diffie-Hellman</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>221: BSD in Taiwan</title>
  <link>https://www.bsdnow.tv/221</link>
  <guid isPermaLink="false">c223b460-2a15-4458-87f8-0f1b7e5947db</guid>
  <pubDate>Wed, 22 Nov 2017 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c223b460-2a15-4458-87f8-0f1b7e5947db.mp3" length="84011764" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Allan reports on his trip to BSD Taiwan, new versions of Lumina and GhostBSD are here, a bunch of OpenBSD p2k17 hackathon reports.</itunes:subtitle>
  <itunes:duration>1:56:40</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>&lt;p&gt;Allan reports on his trip to BSD Taiwan, new versions of Lumina and GhostBSD are here, a bunch of OpenBSD p2k17 hackathon reports.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://bsdtw.org/" target="_blank" rel="nofollow noopener"&gt;Allan’s Trip Report from BSD Taiwan&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;BSD TW and Taiwan in general was a fun and interesting experience&lt;/li&gt;
&lt;li&gt;I arrived Thursday night and took the high speed train to Taipei main station, and then got on the Red line subway to the venue. The dorm rooms were on par with BSDCan, except the mattress was better.&lt;/li&gt;
&lt;li&gt;I spent Friday with a number of other FreeBSD developers doing touristy things. We went to Taipei 101, the world’s tallest building from 2004 - 2010. It also features the world’s fastest elevator (2004 - 2016), traveling at 60.6 km/h and transporting passengers from the 5th to 89th floor in 37 seconds.&lt;/li&gt;
&lt;li&gt;We also got to see the “tuned mass damper”, a 660 tonne steel pendulum suspended between the 92nd and 87th floors. This device resists the swaying of the building caused by high winds. There are interesting videos on display beside the damper, of its reaction during recent typhoons and earthquakes. The Taipei 101 building sits just 200 meters from a major fault line.&lt;/li&gt;
&lt;li&gt;Then we had excellent dumplings for lunch&lt;/li&gt;
&lt;li&gt;After walking around the city for a few more hours, we retired to a pub to escape the heat of the sunny Friday afternoon.&lt;/li&gt;
&lt;li&gt;Then came the best part of each day in Taipei, dinner!&lt;/li&gt;
&lt;li&gt;We continued our efforts to cause a nation wide shortage of dumplings&lt;/li&gt;
&lt;li&gt;Special thanks to &lt;a href="https://twitter.com/scottttw" target="_blank" rel="nofollow noopener"&gt;Scott Tsai&lt;/a&gt; who took detailed notes for each of the presentations&lt;/li&gt;
&lt;li&gt;Saturday marked the start of the conference:

&lt;ul&gt;
&lt;li&gt;Arun Thomas provided background and then a rundown of what is happening with the RISC-V architecture. &lt;a href="https://docs.google.com/document/d/1yrnhNTHaMDr4DG-iviXN0O9NES9Lmlc7sWVQhnios6g/edit#heading=h.kcm1n3yzl35q" target="_blank" rel="nofollow noopener"&gt;Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;George Neville-Neil talked about using DTrace in distributed systems as an in-depth auditing system (who did what to whom and when). &lt;a href="https://docs.google.com/document/d/1qut6tMVF8NesrGHd6bydLDN-aKBdXMgHx8Vp3_iGKjQ/edit#heading=h.qdghsgk1bgtl" target="_blank" rel="nofollow noopener"&gt;Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Baptiste Daroussin presented Poudrière image, an extension of everyone’s favourite package building system, to build custom images of FreeBSD. There was discussion of making this generate ZFS based images as well, making it mesh very well with my talk the next day. &lt;a href="https://docs.google.com/document/d/1LceXj8IWJeTRHp9KzOYy8tpM00Fzt7fSN0Gw83B9COE/edit#heading=h.incfzi6bnzxr" target="_blank" rel="nofollow noopener"&gt;Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brooks Davis presented his work on an API design for a replacement for mmap. It started with a history of address space management in the BSD family of operating systems going all the way back to the beginning. This overview of the feature and how it evolved filled in many gaps for me, and showed why the newer work would be beneficial. The motivation for the work includes further extensions to support the CHERI hardware platform. &lt;a href="https://docs.google.com/document/d/1LceXj8IWJeTRHp9KzOYy8tpM00Fzt7fSN0Gw83B9COE/edit#heading=h.incfzi6bnzxr" target="_blank" rel="nofollow noopener"&gt;Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Johannes M Dieterich gave an interesting presentation about using FreeBSD and GPU acceleration for high performance computing. One of the slides showed that amd64 has taken almost the entire market for the top 500 super computers, and that linux dominates the list, with only a few remaining non-linux systems. Sadly, at the supercomputing conference the next week, it was announced that linux has achieved 100% saturation of the top 500 super computers list. Johannes detailed the available tools, what ports are missing, what changes should be made to the base system (mostly OpenMP), and generally what FreeBSD needs to do to become a player in the supercomputer OS market. Johannes’ perspective is interesting, as he is a computational chemist, not a computer scientist. Those interested in improving the numerical libraries and GPU acceleration frameworks on FreeBSD should join the ports team. &lt;a href="https://docs.google.com/document/d/1uaJiqtPk8WetST6_GnQwIV49bj790qx7ToY2BHC9zO4/edit#heading=h.nvsz1n6w3gyq" target="_blank" rel="nofollow noopener"&gt;Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The final talk of the day was Peter Grehan, who spoke about how graphics support in bhyve came to be. He provided a history of how the feature evolved, and where it stands today. &lt;a href="https://docs.google.com/document/d/1LqJQJUwdUwWZ0n5KwCH1vNI8jiWGJlI1j0It3mERN80/edit#heading=h.sgeixwgz7bjs" target="_blank" rel="nofollow noopener"&gt;Notes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Afterwards, we traveled as a group to a large restaurant for dinner. There was even Mongolian Vodka, provided by Ganbold Tsagaankhuu of the FreeBSD project.&lt;/li&gt;
&lt;li&gt;Sunday:

&lt;ul&gt;
&lt;li&gt;The first talk of the day Sunday was mine. I presented “ZFS: Advanced Integration”, mostly talking about how boot environments work, and the new libbe and be(1) tools that my GSoC student Kyle Kneitinger created to manage them. I talked about how they can be used for laptop and developer systems, but also how boot environments can be used to replace nanobsd for appliances (as already done in FreeNAS and pfSense). I also presented about zfsbootcfg (zfs nextboot), and some future extensions to it to make it even more useful in appliance type workloads. I also provided a rundown of new developments out of the ZFS developer summit, two weeks previous. &lt;a href="https://docs.google.com/document/d/1Blh3Dulf0O91A0mwv34UnIgxRZaS_0FU2lZ41KRQoOU/edit#heading=h.gypim387e8hy" target="_blank" rel="nofollow noopener"&gt;Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Theo de Raadt presented “Mitigations and other real Security Features”, and made his case for changing to a ‘fail closed’ mode of interoperability. Computer’s cannot actually self heal, so lets stop pretending that they can. &lt;a href="https://docs.google.com/document/d/1fFHzlxJjbHPsV9t_Uh3PXZnXmkapAK5RkJsfaHki7kc/edit#heading=h.192e4lmbl70c" target="_blank" rel="nofollow noopener"&gt;Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ruslan Bukin talked about doing the port of FreeBSD for RISC-V and writing the Device Drivers. Ruslan walked through the process step by step, leading members of the audience to suggest he turn it into a developer’s handbook article, explaining how to do the initial bringup on new hardware. Ruslan also showed off a FreeBSD/MIPS board he designed himself and had manufactured in China.  &lt;a href="https://docs.google.com/document/d/1kRhRr3O3lQ-0dS0kYF0oh_S0_zFufEwrdFjG1QLyk8Y/edit#heading=h.293mameym7w1" target="_blank" rel="nofollow noopener"&gt;Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mariusz Zaborski presented Case studies on sandboxing the base system with Capsicum. He discussed the challenges encountered as existing programs are modified to sandbox them, and recent advancements in the debugging tools available during that process. Mariusz also discussed the Casper service at length, including the features that are planned for 2018 and onwards. &lt;a href="https://docs.google.com/document/d/1_0BpAE1jGr94taUlgLfSWlJOYU5II9o7Y3ol0ym1eZQ/edit#heading=h.xm9mh7dh6bay" target="_blank" rel="nofollow noopener"&gt;Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The final presentation of the day was Mark Johnston on Memory Management Improvements in FreeBSD 12.0. This talk provided a very nice overview of the memory management system in FreeBSD, and then detailed some of the recent improvements.  &lt;a href="https://docs.google.com/document/d/1gFQXxsHM66GQGMO4-yoeFRTcmOP4NK_ujVFHIQJi82U/edit#heading=h.uirc9jyyti7w" target="_blank" rel="nofollow noopener"&gt;Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The conference wrapped up with the Work-in-Progress session, including updates on: multi-device-at-once GELI attach, MP-safe networking on NetBSD, pkgsrc, NetBSD in general, BSD on Microsoft Azure, Mothra (send-pr for bugzilla), BSDMizer a machine learning compiler optimizer, Hyperledger Sawtooth (blockchain), and finally VIMAGE and pf testing on FreeBSD.
&lt;a href="https://docs.google.com/document/d/1miHZEPrqrpCTh8JONmUKWDPYUmTuG2lbsVrWDtekvLc/edit#heading=h.orhedpjis5po" target="_blank" rel="nofollow noopener"&gt;Notes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pbs.twimg.com/media/DOh1txnVoAAFKAa.jpg:large" target="_blank" rel="nofollow noopener"&gt;Group Photo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;BSDTW was a great conference. They are still considering if it should be an annual thing, trade off every 2nd year with AsiaBSDCon, or something else. In order to continue, BSD Taiwan requires more organizers and volunteers. They have regular meetups in Taipei if you are interested in getting involved.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://lumina-desktop.org/version-1-4-0-released/" target="_blank" rel="nofollow noopener"&gt;Lumina 1.4.0 released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The Lumina Theme Engine (and associated configuration utility)&lt;/li&gt;
&lt;li&gt;The Lumina theme engine is a new component of the “core” desktop, and provides enhanced theming capabilities for the desktop as well as all Qt5 applications. While it started out life as a fork of the “qt5ct” utility, it quickly grew all sorts of new features and functionality such as system-defined color profiles, modular theme components, and built-in editors/creators for all components. The backend of this engine is a standardized theme plugin for the Qt5 toolkit, so that all Qt5 applications will now present a unified appearance (if the application does not enforce a specific appearance/theme of it’s own). Users of the Lumina desktop will automatically have this plugin enabled: no special action is required.

&lt;ul&gt;
&lt;li&gt;Please note that the older desktop theme system for Lumina has been rendered obsolete by the new engine, but a settings-conversion path has already been implemented which should transition your current settings to the new engine the first time you login to Lumina 1.4.0. Custom themes for the older system may not be converted though, but it is trivial to copy/paste any custom stylesheets from the old system into the editor for the new theme engine to register/re-apply them as desired.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Lumina-Themes Repository&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I also want to give a shout-out to the trueos/lumina-themes github repository contributors. All of the wallpapers in the 1.4.0 screenshots I posted come from that package, and they are working on making more wallpapers, color palettes, and desktop styles for use with the Lumina Theme Engine. If your operating system does not currently provide a package for lumina-themes, I highly recommend that you make one as soon as possible!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The Lumina PDF Viewer (lumina-pdf)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This is a new, stand-alone desktop utility for viewing/printing/presenting PDF documents. It uses the poppler-qt5 library in the backend for rendering the document, but uses multi-threading in many ways (such as to speed up the loading of pages) to give the user a nice, streamlined utility for viewing PDF documents. There is also built-in presentation functionality which allows users to easily cast the document to a separate screen without mucking about in system menus or configuration utilities.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lumina PDF Viewer (1.4.0)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Important Packaging Changes&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;One significant change of note for people who are packaging Lumina for their particular operating system is that the minimum supported versions of Qt for Lumina have been changed with this release:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;lumina-core: Qt 5.4+
lumina-mediaplayer: Qt 5.7+
Everything else: Qt 5.2+
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Of course, using the latest version of the Qt5 libraries is always recommended.&lt;br&gt;
When packaging for Linux distributions, the theme engine also requires the availability of some of the “-dev” packages for Qt itself when compiling the theme plugin. For additional information (specifically regarding Ubuntu builds), please take a look at a recent ticket on the Lumina repository.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The new lumina-pdf utility requires the availability of the “poppler-qt5” library. The includes for this library on Ubuntu 17.10 were found to be installed outside of the normal include directories, so a special rule for it was added to our OS-Detect file in the Lumina source tree. If your particular operating system also places the the poppler include files in a non-standard place, please patch that file or send us the information and we can add more special rules for your particular OS.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Other Changes of Note (in no particular order)

&lt;ul&gt;
&lt;li&gt;lumina-config:&lt;/li&gt;
&lt;li&gt;Add a new page for changing audio theme (login, logout, low battery)&lt;/li&gt;
&lt;li&gt;Add option to replace fluxbox with some other WM (with appropriate warnings)&lt;/li&gt;
&lt;li&gt;Have the “themes” page redirect to launching the Lumina theme engine configuration utility.&lt;/li&gt;
&lt;li&gt;start-lumina-desktop:&lt;/li&gt;
&lt;li&gt;Auto-detect the active X11 displays and create a new display for the Lumina session (prevent conflict with prior graphical sessions).&lt;/li&gt;
&lt;li&gt;Add a process-failure counter &amp;amp; restart mechanism. This is particularly useful for restarting Fluxbox from time to time (such as after any monitor addition/removal)&lt;/li&gt;
&lt;li&gt;lumina-xconfig:&lt;/li&gt;
&lt;li&gt;Restart fluxbox after making any monitor changes with xrandr. This ensures a more reliable session.&lt;/li&gt;
&lt;li&gt;Implement a  new 2D monitor layout mechanism. This allows for the placement of monitors anywhere in the X/Y plane, with simplification buttons for auto-tiling the monitors in each dimension based on their current location.&lt;/li&gt;
&lt;li&gt;Add the ability to save/load monitor profiles.&lt;/li&gt;
&lt;li&gt;Distinguish between the “default” monitor arrangement and the “current” monitor arrangement. Allow the user to set the current arrangement as the new default.&lt;/li&gt;
&lt;li&gt;lumina-desktop:&lt;/li&gt;
&lt;li&gt;Completely revamp the icon loading mechanisms so it should auto-update when the theme changes.&lt;/li&gt;
&lt;li&gt;Speed up the initialization of the desktop quite a bit.&lt;/li&gt;
&lt;li&gt;Prevent loading/probing files in the “/net/” path for existence (assume they exist in the interest of providing shortcuts). On FreeBSD, these are special paths that actually pause the calling process in order to mount/load a network share before resuming the process, and can cause significant “hangs” in the desktop process.&lt;/li&gt;
&lt;li&gt;Add the ability to take a directory as a target for the wallpaper. This will open/probe the directory for any existing image files that it can use as a wallpaper and randomly select one.&lt;/li&gt;
&lt;li&gt;Remove the popup dialog prompting about system updates, and replace it with new “Restart (with updates)” buttons on the appropriate menus/windows instead.&lt;/li&gt;
&lt;li&gt;If no wallpapers selection is provided, try to use the “lumina-nature” wallpaper directory as the default, otherwise fall back on the original default wallpaper if the “lumina-themes” package is not installed.&lt;/li&gt;
&lt;li&gt;lumina-open:&lt;/li&gt;
&lt;li&gt;Make the *.desktop parsing a bit more flexible regarding quoted strings where there should not be any.&lt;/li&gt;
&lt;li&gt;If selecting which application to use, only overwrite the user-default app if the option is explicitly selected.&lt;/li&gt;
&lt;li&gt;lumina-fileinfo:&lt;/li&gt;
&lt;li&gt;Significant cleanup of this utility. Now it can be reliably used for creating/registering XDG application shortcuts.&lt;/li&gt;
&lt;li&gt;Add a whole host of new ZFS integrations:&lt;/li&gt;
&lt;li&gt;If a ZFS dataset is being examined, show all the ZFS properties for that dataset.&lt;/li&gt;
&lt;li&gt;If the file being examined exists within ZFS snapshots, show all the snapshots of the file&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;lumina-fm:

&lt;ul&gt;
&lt;li&gt;Significant use of additional multi-threading. Makes the loading of directories much faster (particularly ones with image files which need thumbnails)&lt;/li&gt;
&lt;li&gt;Add detection/warning when running as root user. Also add an option to launch a new instance of lumina-fm as the root user.&lt;/li&gt;
&lt;li&gt;[FreeBSD/TrueOS] Fix up the detection of the “External Devices” list to also list available devices for the autofs system.&lt;/li&gt;
&lt;li&gt;Fix up some drag and drop functionality.&lt;/li&gt;
&lt;li&gt;Expose the creation, extraction, and insertion of files into archives (requires lumina-archiver at runtime)&lt;/li&gt;
&lt;li&gt;Expand the “Open With” option into a menu of application suggestions in addition to the “Other” option which runs “lumina-open” to find an application.&lt;/li&gt;
&lt;li&gt;Provide an option to set the desktop wallpaper to the selected image file(s). (If the running desktop session is Lumina).&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;lumina-mediaplayer:

&lt;ul&gt;
&lt;li&gt;Enable the ability to playback local video files. (NOTE: If Qt5 is set to use the gstreamer multimedia backend, make sure you have the “GL” plugin installed for smooth video playback).&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;lumina-archiver:

&lt;ul&gt;
&lt;li&gt;Add CLI flags for auto-archive and auto-extract. This allows for programmatic/scriptable interactions with archives.&lt;/li&gt;
&lt;li&gt;That is not mentioning all of the little bugfixes, performance tweaks, and more that are also included in this release.
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/the_strongest_kaslr_ever" target="_blank" rel="nofollow noopener"&gt;The strongest KASLR, ever?&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/tech-kern/2017/11/14/msg022594.html" target="_blank" rel="nofollow noopener"&gt;Re: amd64: kernel aslr support&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;So, I did it. Now the kernel sections are split in sub-blocks, and are all randomized independently. See my drawing [1]. What it means in practice, is that Kernel ASLR is much more difficult to defeat: a cache attack will at most allow you to know that a given range is mapped as executable for example, but you don't know which sub-block of .text it is; a kernel pointer leak will at most allow you to reconstruct the layout of one sub-block, but you don't know the layout and address of the remaining blocks, and there can be many.&lt;br&gt;
The size and number of these blocks is controlled by the split-by-file parameter in Makefile.amd64. Right now it is set to 2MB, which produces a kernel with ~23 allocatable (ie useful at runtime) sections, which is a third of the total number supported (BTSPACE_NSEGS = 64). I will probably reduce this parameter a bit in the future, to 1.5MB, or even 1MB.&lt;br&gt;
All of that leaves us with about the most advanced KASLR implementation available out there. There are ways to improve it even more, but you'll have to wait a few weeks for that.&lt;br&gt;
 If you want to try it out you need to make sure you have the latest versions of GENERIC_KASLR / prekern / bootloader. The instructions are still here, and haven't changed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Initial design&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As I said in the previous episode, I added in October a Kernel ASLR implementation in NetBSD for 64bit x86 CPUs. This implementation would randomize the location of the kernel in virtual memory as one block: a random VA would be chosen, and the kernel ELF sections would be mapped contiguously starting from there.&lt;br&gt;
This design had several drawbacks: one leak, or one successful cache attack, could be enough to reconstruct the layout of the entire kernel and defeat KASLR.&lt;br&gt;
NetBSD’s new KASLR design significantly improves this situation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;New design&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In the new design, each kernel ELF section is randomized independently. That is to say, the base addresses of .text, .rodata, .data and .bss are not correlated. KASLR is already at this stage more difficult to defeat, since you would need a leak or cache attack on each of the kernel sections in order to reconstruct the in-memory kernel layout.&lt;br&gt;
Then, starting from there, several techniques are used to strengthen the implementation even more.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Sub-blocks&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The kernel ELF sections are themselves split in sub-blocks of approximately 1MB. The kernel therefore goes from having:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    { .text .rodata .data .bss }
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;to having&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    { .text .text.0 .text.1 ... .text.i .rodata .rodata.0 ... .rodata.j ... .data ...etc }
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;As of today, this produces a kernel with ~33 sections, each of which is mapped at a random address and in a random order.&lt;br&gt;
This implies that there can be dozens of .text segments. Therefore, even if you are able to conduct a cache attack and determine that a given range of memory is mapped as executable, you don’t know which sub-block of .text it is. If you manage to obtain a kernel pointer via a leak, you can at most guess the address of the section it finds itself in, but you don’t know the layout of the remaining 32 sections. In other words, defeating this KASLR implementation is much more complicated than in the initial design.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Higher entropy&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Each section is put in a 2MB-sized physical memory chunk. Given that the sections are 1MB in size, this leaves half of the 2MB chunk unused. Once in control, the prekern shifts the section within the chunk using a random offset, aligned to the ELF alignment constraint. This offset has a maximum value of 1MB, so that once shifted the section still resides in its initial 2MB chunk:&lt;br&gt;
The prekern then maps these 2MB physical chunks at random virtual addresses; but addresses aligned to 2MB. For example, the two sections in Fig. A will be mapped at two distinct VAs:&lt;br&gt;
There is a reason the sections are shifted in memory: it offers higher entropy. If we consider a .text.i section with a 64byte ELF alignment constraint, and give a look at the number of possibilities for the location of the section in memory:&lt;br&gt;
The prekern shifts the 1MB section in its 2MB chunk, with an offset aligned to 64 bytes. So there are (2MB-1MB)/(64B)=214 possibilities for the offset.&lt;br&gt;
Then, the prekern uses a 2MB-sized 2MB-aligned range of VA, chosen in a 2GB window. So there are (2GB-2MB)/(2MB)=210-1 possibilities for the VA.&lt;br&gt;
Therefore, there are 214x(210-1)˜224 possible locations for the section. As a comparison with other systems:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;OS  # of possibilities
Linux   2^6
MacOS   2^8
Windows 2^13
NetBSD  2^24
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Of course, we are talking about one .text.i section here; the sections that will be mapped afterwards will have fewer location possibilities because some slots will be already occupied. However, this does not alter the fact that the resulting entropy is still higher than that of the other implementations. Note also that several sections have an alignment constraint smaller than 64 bytes, and that in such cases the entropy is even higher.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Large pages&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There is also a reason we chose to use 2MB-aligned 2MB-sized ranges of VAs: when the kernel is in control and initializes itself, it can now use large pages to map the physical 2MB chunks. This greatly improves memory access performance at the CPU level.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Countermeasures against TLB cache attacks&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;With the memory shift explained above, randomness is therefore enforced at both the physical and virtual levels: the address of the first page of a section does not equal the address of the section itself anymore.&lt;br&gt;
It has, as a side effect, an interesting property: it can mostly mitigate TLB cache attacks. Such attacks operate at the virtual-page level; they will allow you to know that a given large page is mapped as executable, but you don’t know where exactly within that page the section actually begins.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Strong?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This KASLR implementation, which splits the kernel in dozens of sub-blocks, randomizes them independently, while at the same time allowing for higher entropy in a way that offers large page support and some countermeasures against TLB cache attacks, appears to be the most advanced KASLR implementation available publicly as of today. &lt;br&gt;
Feel free to prove me wrong, I would be happy to know!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;WIP&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Even if it is in a functional state, this implementation is still a work in progress, and some of the issues mentioned in the previous blog post haven't been addressed yet. But feel free to test it and report any issue you encounter. Instructions on how to use this implementation can still be found in the previous blog post, and haven’t changed since.&lt;br&gt;
See you in the next episode!&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://www.ghostbsd.org/11.1_release_announcement" target="_blank" rel="nofollow noopener"&gt;GhostBSD 11.1 Finally Ready and Available!&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://imgur.com/a/Mu8xk" target="_blank" rel="nofollow noopener"&gt;Screenshots&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After a year of development, testing, debugging and working on our software package repository, we are pleased to announce the release of GhostBSD 11.1 is now available on 64-bit(amd64) architecture with MATE and XFCE Desktop on direct and torrent download. With 11.1 we drop 32-bit i386 supports, and we currently maintain our software packages repository for more stability.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What's new on GhostBSD 11.1

&lt;ul&gt;
&lt;li&gt;GhostBSD software repository&lt;/li&gt;
&lt;li&gt;Support VMware Workstation Guest Features&lt;/li&gt;
&lt;li&gt;New UFS full disk mirroring option on the installer&lt;/li&gt;
&lt;li&gt;New UFS full disk MBR and GPT option on the installer&lt;/li&gt;
&lt;li&gt;New UFS full disk swap size option on the installer&lt;/li&gt;
&lt;li&gt;Whisker Menu as default Application menu on XFCE&lt;/li&gt;
&lt;li&gt;All software developed by GhostBSD is now getting updated&lt;/li&gt;
&lt;li&gt;ZFS configuration for disk&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;What has been fixed on 11.1?

&lt;ul&gt;
&lt;li&gt;Fix XFCE sound plugin&lt;/li&gt;
&lt;li&gt;Installer ZFS configuration file setting&lt;/li&gt;
&lt;li&gt;Installer ZFS setup appears to be incomplete&lt;/li&gt;
&lt;li&gt;The installer was not listing ZFS disk correctly.&lt;/li&gt;
&lt;li&gt;The installer The partition list was not deleted when pressing back&lt;/li&gt;
&lt;li&gt;XFCE and MATE shutdown/suspend/hibernate randomly missing&lt;/li&gt;
&lt;li&gt;Clicking 'GhostBSD Bugs' item in the Main menu -&amp;gt; 'System Tools' brings up 'Server not found' page&lt;/li&gt;
&lt;li&gt;XFCE installation - incorrect keyboard layout&lt;/li&gt;
&lt;li&gt;Locale setting not filling correctly&lt;/li&gt;
&lt;li&gt;Update Station tray icon&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;The image checksum's, hybrid ISO(DVD, USB) images are available at &lt;a href="http://www.ghostbsd.org/download" target="_blank" rel="nofollow noopener"&gt;GhostBSD&lt;/a&gt;.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;p2k17 Hackathon Reports&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171107034258" target="_blank" rel="nofollow noopener"&gt;p2k17 Hackathon Report: Matthias Kilian on xpdf, haskell, and more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171107185122" target="_blank" rel="nofollow noopener"&gt;p2k17 Hackathon Report: Herzliche grusse vom Berlin (espie@ on mandoc, misc packages progress)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171107225258" target="_blank" rel="nofollow noopener"&gt;p2k17 Hackathon Report: Paul Irofti (pirofti@) on hotplugd(8), math ports, xhci(4) and other kernel advancements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171108072117" target="_blank" rel="nofollow noopener"&gt;p2k17 Hackathon report: Jeremy Evans on ruby progress, postgresql and webdriver work&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171109171447" target="_blank" rel="nofollow noopener"&gt;p2k17 Hackathon report: Christian Weisgerber on random devices, build failures and gettext&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171110124645" target="_blank" rel="nofollow noopener"&gt;p2k17 Hackathon report: Sebastian Reitenbach on Puppet progress&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171110124656" target="_blank" rel="nofollow noopener"&gt;p2k17 Hackathon Report: Anthony J. Bentley on firmware, games and securing pkg_add runs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171113091807" target="_blank" rel="nofollow noopener"&gt;p2k17 Hackathon Report: Landry Breuil on Mozilla things and much more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171113235334" target="_blank" rel="nofollow noopener"&gt;p2k17 Hackathon report: Florian Obser on network stack progress, kernel relinking and more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171120075903" target="_blank" rel="nofollow noopener"&gt;p2k17 Hackathon report: Antoine Jacoutot on ports+packages progress&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;TrueOS Talks&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.trueos.org/blog/trueos-talks-tech-open-source-pellissippi-state/" target="_blank" rel="nofollow noopener"&gt;Tech and Open Source at Pellissippi State&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Ken Moore of the TrueOS project presented a talk to the AITP group at Pellissippi State today entitled “It’s A Unix(-like) system? An Introduction to TrueOS and Open source”. Joshua Smith of the TrueOS project was also in attendance. &lt;br&gt;
We were happy to see a good attendance of about 40 individuals that came to hear more about TrueOS and how we continue to innovate along with the FreeBSD project. Many good questions were raised about development, snapshots, cryptocurrency, and cyber-security. We’ve included a copy of the slides if you’d like to have a look at the talk on open source. We’d like to offer a sincere thanks to everyone who attended and offer an extended invitation for you to join us at our KnoxBUG group on October 30th @ the iXsystems offices! We hope to see you soon!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://web.trueos.org/wp-content/uploads/2017/10/Open-Source-Talk.pdf" target="_blank" rel="nofollow noopener"&gt;Open Source Talk – Slideshare PDF&lt;/a&gt;
&lt;a href="http://knoxbug.org/content/octobers-talk-available-youtube" target="_blank" rel="nofollow noopener"&gt;KnoxBug - Lumina Rising : Challenging Desktop Orthodoxy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ken gave his talk about the new Lumina 2.0 Window Manager that he gave at Ohio LinuxFest 2017&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/w3ZrqxLTnIU" target="_blank" rel="nofollow noopener"&gt;KnoxBUG October 2017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.slideshare.net/beanpole135/olf-2017-lumina-rising-challenging-desktop-orthodoxy" target="_blank" rel="nofollow noopener"&gt;(OLF 2017) Lumina Rising: Challenging Desktop Orthodoxy&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20171118190325" target="_blank" rel="nofollow noopener"&gt;Official OpenBSD 6.2 CD set - the only one to be made!&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Our dear friend Bob Beck (beck@) writes:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;So, again this release the tradition of making Theo do art has continued!&lt;br&gt;
Up for sale by auction to the highest bidder on Ebay is the only OpenBSD 6.2 CD set to be produced.&lt;br&gt;
The case and CD's feature the 6.2 artwork, custom drawn and signed by Theo.&lt;br&gt;
All proceeds to support OpenBSD&lt;br&gt;
Go have a look at the auction&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;As with previous OpenBSD auctions, if you are not the successful bidder, we would like to encourage you to donate the equivalent of you highest bid to the project.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ebay.ca/itm/Official-OpenBSD-6-2-CD-Set/253265944606" target="_blank" rel="nofollow noopener"&gt;The Auction&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2017-October/313646.html" target="_blank" rel="nofollow noopener"&gt;HAMMER2 userspace on Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.nycbug.org/index.cgi?action=view&amp;amp;id=10655" target="_blank" rel="nofollow noopener"&gt;OpenBSD Porting Workshop (now changed to January 3, 2018)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/mahrens1/status/921204908094775296" target="_blank" rel="nofollow noopener"&gt;Matt Ahrens on when Native Encryption for ZFS will land&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nanxiao.me/en/the-first-successful-build-of-openbsd-base-system/" target="_blank" rel="nofollow noopener"&gt;The first successful build of OpenBSD base system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/KnoxBUG-BSD-Linux-and-FOSS-Users-Unite/events/245291204/" target="_blank" rel="nofollow noopener"&gt;KnoxBug November Meeting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.michaelwlucas.com/os/af3e" target="_blank" rel="nofollow noopener"&gt;Absolute FreeBSD, 3rd Edition, pre-orders available&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Jon - &lt;a href="http://dpaste.com/2BEW0HB#wrap" target="_blank" rel="nofollow noopener"&gt;Jails and Networking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Nathan - &lt;a href="http://dpaste.com/1GHSYJS#wrap" target="_blank" rel="nofollow noopener"&gt;bhyve Provisioning&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Lian - &lt;a href="http://dpaste.com/18P8D8C#wrap" target="_blank" rel="nofollow noopener"&gt;OpenSSL jumping the Shark&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Kim - &lt;a href="http://dpaste.com/1VE0K9E#wrap" target="_blank" rel="nofollow noopener"&gt;Suggestions&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Allan reports on his trip to BSD Taiwan, new versions of Lumina and GhostBSD are here, a bunch of OpenBSD p2k17 hackathon reports.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://bsdtw.org/" target="_blank" rel="nofollow noopener">Allans Trip Report from BSD Taiwan</a></h3>

<ul>
<li>BSD TW and Taiwan in general was a fun and interesting experience</li>
<li>I arrived Thursday night and took the high speed train to Taipei main station, and then got on the Red line subway to the venue. The dorm rooms were on par with BSDCan, except the mattress was better.</li>
<li>I spent Friday with a number of other FreeBSD developers doing touristy things. We went to Taipei 101, the worlds tallest building from 2004 - 2010. It also features the worlds fastest elevator (2004 - 2016), traveling at 60.6 km/h and transporting passengers from the 5th to 89th floor in 37 seconds.</li>
<li>We also got to see the tuned mass damper, a 660 tonne steel pendulum suspended between the 92nd and 87th floors. This device resists the swaying of the building caused by high winds. There are interesting videos on display beside the damper, of its reaction during recent typhoons and earthquakes. The Taipei 101 building sits just 200 meters from a major fault line.</li>
<li>Then we had excellent dumplings for lunch</li>
<li>After walking around the city for a few more hours, we retired to a pub to escape the heat of the sunny Friday afternoon.</li>
<li>Then came the best part of each day in Taipei, dinner!</li>
<li>We continued our efforts to cause a nation wide shortage of dumplings</li>
<li>Special thanks to <a href="https://twitter.com/scottttw" target="_blank" rel="nofollow noopener">Scott Tsai</a> who took detailed notes for each of the presentations</li>
<li>Saturday marked the start of the conference:

<ul>
<li>Arun Thomas provided background and then a rundown of what is happening with the RISC-V architecture. <a href="https://docs.google.com/document/d/1yrnhNTHaMDr4DG-iviXN0O9NES9Lmlc7sWVQhnios6g/edit#heading=h.kcm1n3yzl35q" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>George Neville-Neil talked about using DTrace in distributed systems as an in-depth auditing system (who did what to whom and when). <a href="https://docs.google.com/document/d/1qut6tMVF8NesrGHd6bydLDN-aKBdXMgHx8Vp3_iGKjQ/edit#heading=h.qdghsgk1bgtl" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>Baptiste Daroussin presented Poudrière image, an extension of everyones favourite package building system, to build custom images of FreeBSD. There was discussion of making this generate ZFS based images as well, making it mesh very well with my talk the next day. <a href="https://docs.google.com/document/d/1LceXj8IWJeTRHp9KzOYy8tpM00Fzt7fSN0Gw83B9COE/edit#heading=h.incfzi6bnzxr" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>Brooks Davis presented his work on an API design for a replacement for mmap. It started with a history of address space management in the BSD family of operating systems going all the way back to the beginning. This overview of the feature and how it evolved filled in many gaps for me, and showed why the newer work would be beneficial. The motivation for the work includes further extensions to support the CHERI hardware platform. <a href="https://docs.google.com/document/d/1LceXj8IWJeTRHp9KzOYy8tpM00Fzt7fSN0Gw83B9COE/edit#heading=h.incfzi6bnzxr" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>Johannes M Dieterich gave an interesting presentation about using FreeBSD and GPU acceleration for high performance computing. One of the slides showed that amd64 has taken almost the entire market for the top 500 super computers, and that linux dominates the list, with only a few remaining non-linux systems. Sadly, at the supercomputing conference the next week, it was announced that linux has achieved 100% saturation of the top 500 super computers list. Johannes detailed the available tools, what ports are missing, what changes should be made to the base system (mostly OpenMP), and generally what FreeBSD needs to do to become a player in the supercomputer OS market. Johannes perspective is interesting, as he is a computational chemist, not a computer scientist. Those interested in improving the numerical libraries and GPU acceleration frameworks on FreeBSD should join the ports team. <a href="https://docs.google.com/document/d/1uaJiqtPk8WetST6_GnQwIV49bj790qx7ToY2BHC9zO4/edit#heading=h.nvsz1n6w3gyq" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>The final talk of the day was Peter Grehan, who spoke about how graphics support in bhyve came to be. He provided a history of how the feature evolved, and where it stands today. <a href="https://docs.google.com/document/d/1LqJQJUwdUwWZ0n5KwCH1vNI8jiWGJlI1j0It3mERN80/edit#heading=h.sgeixwgz7bjs" target="_blank" rel="nofollow noopener">Notes</a></li>
</ul></li>
<li>Afterwards, we traveled as a group to a large restaurant for dinner. There was even Mongolian Vodka, provided by Ganbold Tsagaankhuu of the FreeBSD project.</li>
<li>Sunday:

<ul>
<li>The first talk of the day Sunday was mine. I presented ZFS: Advanced Integration, mostly talking about how boot environments work, and the new libbe and be(1) tools that my GSoC student Kyle Kneitinger created to manage them. I talked about how they can be used for laptop and developer systems, but also how boot environments can be used to replace nanobsd for appliances (as already done in FreeNAS and pfSense). I also presented about zfsbootcfg (zfs nextboot), and some future extensions to it to make it even more useful in appliance type workloads. I also provided a rundown of new developments out of the ZFS developer summit, two weeks previous. <a href="https://docs.google.com/document/d/1Blh3Dulf0O91A0mwv34UnIgxRZaS_0FU2lZ41KRQoOU/edit#heading=h.gypim387e8hy" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>Theo de Raadt presented Mitigations and other real Security Features, and made his case for changing to a fail closed mode of interoperability. Computers cannot actually self heal, so lets stop pretending that they can. <a href="https://docs.google.com/document/d/1fFHzlxJjbHPsV9t_Uh3PXZnXmkapAK5RkJsfaHki7kc/edit#heading=h.192e4lmbl70c" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>Ruslan Bukin talked about doing the port of FreeBSD for RISC-V and writing the Device Drivers. Ruslan walked through the process step by step, leading members of the audience to suggest he turn it into a developers handbook article, explaining how to do the initial bringup on new hardware. Ruslan also showed off a FreeBSD/MIPS board he designed himself and had manufactured in China.  <a href="https://docs.google.com/document/d/1kRhRr3O3lQ-0dS0kYF0oh_S0_zFufEwrdFjG1QLyk8Y/edit#heading=h.293mameym7w1" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>Mariusz Zaborski presented Case studies on sandboxing the base system with Capsicum. He discussed the challenges encountered as existing programs are modified to sandbox them, and recent advancements in the debugging tools available during that process. Mariusz also discussed the Casper service at length, including the features that are planned for 2018 and onwards. <a href="https://docs.google.com/document/d/1_0BpAE1jGr94taUlgLfSWlJOYU5II9o7Y3ol0ym1eZQ/edit#heading=h.xm9mh7dh6bay" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>The final presentation of the day was Mark Johnston on Memory Management Improvements in FreeBSD 12.0. This talk provided a very nice overview of the memory management system in FreeBSD, and then detailed some of the recent improvements.  <a href="https://docs.google.com/document/d/1gFQXxsHM66GQGMO4-yoeFRTcmOP4NK_ujVFHIQJi82U/edit#heading=h.uirc9jyyti7w" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>The conference wrapped up with the Work-in-Progress session, including updates on: multi-device-at-once GELI attach, MP-safe networking on NetBSD, pkgsrc, NetBSD in general, BSD on Microsoft Azure, Mothra (send-pr for bugzilla), BSDMizer a machine learning compiler optimizer, Hyperledger Sawtooth (blockchain), and finally VIMAGE and pf testing on FreeBSD.
<a href="https://docs.google.com/document/d/1miHZEPrqrpCTh8JONmUKWDPYUmTuG2lbsVrWDtekvLc/edit#heading=h.orhedpjis5po" target="_blank" rel="nofollow noopener">Notes</a></li>
</ul></li>
<li><a href="https://pbs.twimg.com/media/DOh1txnVoAAFKAa.jpg:large" target="_blank" rel="nofollow noopener">Group Photo</a></li>
<li>BSDTW was a great conference. They are still considering if it should be an annual thing, trade off every 2nd year with AsiaBSDCon, or something else. In order to continue, BSD Taiwan requires more organizers and volunteers. They have regular meetups in Taipei if you are interested in getting involved.
***</li>
</ul>

<h3><a href="https://lumina-desktop.org/version-1-4-0-released/" target="_blank" rel="nofollow noopener">Lumina 1.4.0 released</a></h3>

<ul>
<li>The Lumina Theme Engine (and associated configuration utility)</li>
<li>The Lumina theme engine is a new component of the core desktop, and provides enhanced theming capabilities for the desktop as well as all Qt5 applications. While it started out life as a fork of the qt5ct utility, it quickly grew all sorts of new features and functionality such as system-defined color profiles, modular theme components, and built-in editors/creators for all components. The backend of this engine is a standardized theme plugin for the Qt5 toolkit, so that all Qt5 applications will now present a unified appearance (if the application does not enforce a specific appearance/theme of its own). Users of the Lumina desktop will automatically have this plugin enabled: no special action is required.

<ul>
<li>Please note that the older desktop theme system for Lumina has been rendered obsolete by the new engine, but a settings-conversion path has already been implemented which should transition your current settings to the new engine the first time you login to Lumina 1.4.0. Custom themes for the older system may not be converted though, but it is trivial to copy/paste any custom stylesheets from the old system into the editor for the new theme engine to register/re-apply them as desired.</li>
</ul></li>
<li>Lumina-Themes Repository</li>
</ul>

<blockquote>
<p>I also want to give a shout-out to the trueos/lumina-themes github repository contributors. All of the wallpapers in the 1.4.0 screenshots I posted come from that package, and they are working on making more wallpapers, color palettes, and desktop styles for use with the Lumina Theme Engine. If your operating system does not currently provide a package for lumina-themes, I highly recommend that you make one as soon as possible!</p>
</blockquote>

<ul>
<li><p>The Lumina PDF Viewer (lumina-pdf)</p>

<ul>
<li>This is a new, stand-alone desktop utility for viewing/printing/presenting PDF documents. It uses the poppler-qt5 library in the backend for rendering the document, but uses multi-threading in many ways (such as to speed up the loading of pages) to give the user a nice, streamlined utility for viewing PDF documents. There is also built-in presentation functionality which allows users to easily cast the document to a separate screen without mucking about in system menus or configuration utilities.</li>
</ul></li>
<li><p>Lumina PDF Viewer (1.4.0)</p>

<ul>
<li>Important Packaging Changes</li>
</ul></li>
</ul>

<blockquote>
<p>One significant change of note for people who are packaging Lumina for their particular operating system is that the minimum supported versions of Qt for Lumina have been changed with this release:</p>

<pre><code>lumina-core: Qt 5.4+
lumina-mediaplayer: Qt 5.7+
Everything else: Qt 5.2+
</code></pre>

<p>Of course, using the latest version of the Qt5 libraries is always recommended.<br>
When packaging for Linux distributions, the theme engine also requires the availability of some of the -dev packages for Qt itself when compiling the theme plugin. For additional information (specifically regarding Ubuntu builds), please take a look at a recent ticket on the Lumina repository.</p>

<ul>
<li>The new lumina-pdf utility requires the availability of the poppler-qt5 library. The includes for this library on Ubuntu 17.10 were found to be installed outside of the normal include directories, so a special rule for it was added to our OS-Detect file in the Lumina source tree. If your particular operating system also places the the poppler include files in a non-standard place, please patch that file or send us the information and we can add more special rules for your particular OS.</li>
</ul>
</blockquote>

<ul>
<li>Other Changes of Note (in no particular order)

<ul>
<li>lumina-config:</li>
<li>Add a new page for changing audio theme (login, logout, low battery)</li>
<li>Add option to replace fluxbox with some other WM (with appropriate warnings)</li>
<li>Have the themes page redirect to launching the Lumina theme engine configuration utility.</li>
<li>start-lumina-desktop:</li>
<li>Auto-detect the active X11 displays and create a new display for the Lumina session (prevent conflict with prior graphical sessions).</li>
<li>Add a process-failure counter &amp; restart mechanism. This is particularly useful for restarting Fluxbox from time to time (such as after any monitor addition/removal)</li>
<li>lumina-xconfig:</li>
<li>Restart fluxbox after making any monitor changes with xrandr. This ensures a more reliable session.</li>
<li>Implement a  new 2D monitor layout mechanism. This allows for the placement of monitors anywhere in the X/Y plane, with simplification buttons for auto-tiling the monitors in each dimension based on their current location.</li>
<li>Add the ability to save/load monitor profiles.</li>
<li>Distinguish between the default monitor arrangement and the current monitor arrangement. Allow the user to set the current arrangement as the new default.</li>
<li>lumina-desktop:</li>
<li>Completely revamp the icon loading mechanisms so it should auto-update when the theme changes.</li>
<li>Speed up the initialization of the desktop quite a bit.</li>
<li>Prevent loading/probing files in the /net/ path for existence (assume they exist in the interest of providing shortcuts). On FreeBSD, these are special paths that actually pause the calling process in order to mount/load a network share before resuming the process, and can cause significant hangs in the desktop process.</li>
<li>Add the ability to take a directory as a target for the wallpaper. This will open/probe the directory for any existing image files that it can use as a wallpaper and randomly select one.</li>
<li>Remove the popup dialog prompting about system updates, and replace it with new Restart (with updates) buttons on the appropriate menus/windows instead.</li>
<li>If no wallpapers selection is provided, try to use the lumina-nature wallpaper directory as the default, otherwise fall back on the original default wallpaper if the lumina-themes package is not installed.</li>
<li>lumina-open:</li>
<li>Make the *.desktop parsing a bit more flexible regarding quoted strings where there should not be any.</li>
<li>If selecting which application to use, only overwrite the user-default app if the option is explicitly selected.</li>
<li>lumina-fileinfo:</li>
<li>Significant cleanup of this utility. Now it can be reliably used for creating/registering XDG application shortcuts.</li>
<li>Add a whole host of new ZFS integrations:</li>
<li>If a ZFS dataset is being examined, show all the ZFS properties for that dataset.</li>
<li>If the file being examined exists within ZFS snapshots, show all the snapshots of the file</li>
</ul></li>
<li>lumina-fm:

<ul>
<li>Significant use of additional multi-threading. Makes the loading of directories much faster (particularly ones with image files which need thumbnails)</li>
<li>Add detection/warning when running as root user. Also add an option to launch a new instance of lumina-fm as the root user.</li>
<li>[FreeBSD/TrueOS] Fix up the detection of the External Devices list to also list available devices for the autofs system.</li>
<li>Fix up some drag and drop functionality.</li>
<li>Expose the creation, extraction, and insertion of files into archives (requires lumina-archiver at runtime)</li>
<li>Expand the Open With option into a menu of application suggestions in addition to the Other option which runs lumina-open to find an application.</li>
<li>Provide an option to set the desktop wallpaper to the selected image file(s). (If the running desktop session is Lumina).</li>
</ul></li>
<li>lumina-mediaplayer:

<ul>
<li>Enable the ability to playback local video files. (NOTE: If Qt5 is set to use the gstreamer multimedia backend, make sure you have the GL plugin installed for smooth video playback).</li>
</ul></li>
<li>lumina-archiver:

<ul>
<li>Add CLI flags for auto-archive and auto-extract. This allows for programmatic/scriptable interactions with archives.</li>
<li>That is not mentioning all of the little bugfixes, performance tweaks, and more that are also included in this release.
***</li>
</ul></li>
</ul>

<h3><a href="https://blog.netbsd.org/tnf/entry/the_strongest_kaslr_ever" target="_blank" rel="nofollow noopener">The strongest KASLR, ever?</a></h3>

<ul>
<li><a href="https://mail-index.netbsd.org/tech-kern/2017/11/14/msg022594.html" target="_blank" rel="nofollow noopener">Re: amd64: kernel aslr support</a></li>
</ul>

<blockquote>
<p>So, I did it. Now the kernel sections are split in sub-blocks, and are all randomized independently. See my drawing [1]. What it means in practice, is that Kernel ASLR is much more difficult to defeat: a cache attack will at most allow you to know that a given range is mapped as executable for example, but you don't know which sub-block of .text it is; a kernel pointer leak will at most allow you to reconstruct the layout of one sub-block, but you don't know the layout and address of the remaining blocks, and there can be many.<br>
The size and number of these blocks is controlled by the split-by-file parameter in Makefile.amd64. Right now it is set to 2MB, which produces a kernel with ~23 allocatable (ie useful at runtime) sections, which is a third of the total number supported (BTSPACE_NSEGS = 64). I will probably reduce this parameter a bit in the future, to 1.5MB, or even 1MB.<br>
All of that leaves us with about the most advanced KASLR implementation available out there. There are ways to improve it even more, but you'll have to wait a few weeks for that.<br>
 If you want to try it out you need to make sure you have the latest versions of GENERIC_KASLR / prekern / bootloader. The instructions are still here, and haven't changed.</p>
</blockquote>

<ul>
<li>Initial design</li>
</ul>

<blockquote>
<p>As I said in the previous episode, I added in October a Kernel ASLR implementation in NetBSD for 64bit x86 CPUs. This implementation would randomize the location of the kernel in virtual memory as one block: a random VA would be chosen, and the kernel ELF sections would be mapped contiguously starting from there.<br>
This design had several drawbacks: one leak, or one successful cache attack, could be enough to reconstruct the layout of the entire kernel and defeat KASLR.<br>
NetBSDs new KASLR design significantly improves this situation.</p>
</blockquote>

<ul>
<li>New design</li>
</ul>

<blockquote>
<p>In the new design, each kernel ELF section is randomized independently. That is to say, the base addresses of .text, .rodata, .data and .bss are not correlated. KASLR is already at this stage more difficult to defeat, since you would need a leak or cache attack on each of the kernel sections in order to reconstruct the in-memory kernel layout.<br>
Then, starting from there, several techniques are used to strengthen the implementation even more.</p>
</blockquote>

<ul>
<li>Sub-blocks</li>
</ul>

<blockquote>
<p>The kernel ELF sections are themselves split in sub-blocks of approximately 1MB. The kernel therefore goes from having:</p>

<pre><code>    { .text .rodata .data .bss }
</code></pre>

<p>to having</p>

<pre><code>    { .text .text.0 .text.1 ... .text.i .rodata .rodata.0 ... .rodata.j ... .data ...etc }
</code></pre>

<p>As of today, this produces a kernel with ~33 sections, each of which is mapped at a random address and in a random order.<br>
This implies that there can be dozens of .text segments. Therefore, even if you are able to conduct a cache attack and determine that a given range of memory is mapped as executable, you dont know which sub-block of .text it is. If you manage to obtain a kernel pointer via a leak, you can at most guess the address of the section it finds itself in, but you dont know the layout of the remaining 32 sections. In other words, defeating this KASLR implementation is much more complicated than in the initial design.</p>
</blockquote>

<ul>
<li>Higher entropy</li>
</ul>

<blockquote>
<p>Each section is put in a 2MB-sized physical memory chunk. Given that the sections are 1MB in size, this leaves half of the 2MB chunk unused. Once in control, the prekern shifts the section within the chunk using a random offset, aligned to the ELF alignment constraint. This offset has a maximum value of 1MB, so that once shifted the section still resides in its initial 2MB chunk:<br>
The prekern then maps these 2MB physical chunks at random virtual addresses; but addresses aligned to 2MB. For example, the two sections in Fig. A will be mapped at two distinct VAs:<br>
There is a reason the sections are shifted in memory: it offers higher entropy. If we consider a .text.i section with a 64byte ELF alignment constraint, and give a look at the number of possibilities for the location of the section in memory:<br>
The prekern shifts the 1MB section in its 2MB chunk, with an offset aligned to 64 bytes. So there are (2MB-1MB)/(64B)=214 possibilities for the offset.<br>
Then, the prekern uses a 2MB-sized 2MB-aligned range of VA, chosen in a 2GB window. So there are (2GB-2MB)/(2MB)=210-1 possibilities for the VA.<br>
Therefore, there are 214x(210-1)224 possible locations for the section. As a comparison with other systems:</p>

<pre><code>OS  # of possibilities
Linux   2^6
MacOS   2^8
Windows 2^13
NetBSD  2^24
</code></pre>

<p>Of course, we are talking about one .text.i section here; the sections that will be mapped afterwards will have fewer location possibilities because some slots will be already occupied. However, this does not alter the fact that the resulting entropy is still higher than that of the other implementations. Note also that several sections have an alignment constraint smaller than 64 bytes, and that in such cases the entropy is even higher.</p>
</blockquote>

<ul>
<li>Large pages</li>
</ul>

<blockquote>
<p>There is also a reason we chose to use 2MB-aligned 2MB-sized ranges of VAs: when the kernel is in control and initializes itself, it can now use large pages to map the physical 2MB chunks. This greatly improves memory access performance at the CPU level.</p>
</blockquote>

<ul>
<li>Countermeasures against TLB cache attacks</li>
</ul>

<blockquote>
<p>With the memory shift explained above, randomness is therefore enforced at both the physical and virtual levels: the address of the first page of a section does not equal the address of the section itself anymore.<br>
It has, as a side effect, an interesting property: it can mostly mitigate TLB cache attacks. Such attacks operate at the virtual-page level; they will allow you to know that a given large page is mapped as executable, but you dont know where exactly within that page the section actually begins.</p>
</blockquote>

<ul>
<li>Strong?</li>
</ul>

<blockquote>
<p>This KASLR implementation, which splits the kernel in dozens of sub-blocks, randomizes them independently, while at the same time allowing for higher entropy in a way that offers large page support and some countermeasures against TLB cache attacks, appears to be the most advanced KASLR implementation available publicly as of today. <br>
Feel free to prove me wrong, I would be happy to know!</p>
</blockquote>

<ul>
<li>WIP</li>
</ul>

<blockquote>
<p>Even if it is in a functional state, this implementation is still a work in progress, and some of the issues mentioned in the previous blog post haven't been addressed yet. But feel free to test it and report any issue you encounter. Instructions on how to use this implementation can still be found in the previous blog post, and havent changed since.<br>
See you in the next episode!</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="http://www.ghostbsd.org/11.1_release_announcement" target="_blank" rel="nofollow noopener">GhostBSD 11.1 Finally Ready and Available!</a></h3>

<ul>
<li><a href="https://imgur.com/a/Mu8xk" target="_blank" rel="nofollow noopener">Screenshots</a></li>
</ul>

<blockquote>
<p>After a year of development, testing, debugging and working on our software package repository, we are pleased to announce the release of GhostBSD 11.1 is now available on 64-bit(amd64) architecture with MATE and XFCE Desktop on direct and torrent download. With 11.1 we drop 32-bit i386 supports, and we currently maintain our software packages repository for more stability.</p>
</blockquote>

<ul>
<li>What's new on GhostBSD 11.1

<ul>
<li>GhostBSD software repository</li>
<li>Support VMware Workstation Guest Features</li>
<li>New UFS full disk mirroring option on the installer</li>
<li>New UFS full disk MBR and GPT option on the installer</li>
<li>New UFS full disk swap size option on the installer</li>
<li>Whisker Menu as default Application menu on XFCE</li>
<li>All software developed by GhostBSD is now getting updated</li>
<li>ZFS configuration for disk</li>
</ul></li>
<li>What has been fixed on 11.1?

<ul>
<li>Fix XFCE sound plugin</li>
<li>Installer ZFS configuration file setting</li>
<li>Installer ZFS setup appears to be incomplete</li>
<li>The installer was not listing ZFS disk correctly.</li>
<li>The installer The partition list was not deleted when pressing back</li>
<li>XFCE and MATE shutdown/suspend/hibernate randomly missing</li>
<li>Clicking 'GhostBSD Bugs' item in the Main menu -&gt; 'System Tools' brings up 'Server not found' page</li>
<li>XFCE installation - incorrect keyboard layout</li>
<li>Locale setting not filling correctly</li>
<li>Update Station tray icon</li>
</ul></li>
<li>The image checksum's, hybrid ISO(DVD, USB) images are available at <a href="http://www.ghostbsd.org/download" target="_blank" rel="nofollow noopener">GhostBSD</a>.
***</li>
</ul>

<h3>p2k17 Hackathon Reports</h3>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171107034258" target="_blank" rel="nofollow noopener">p2k17 Hackathon Report: Matthias Kilian on xpdf, haskell, and more</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171107185122" target="_blank" rel="nofollow noopener">p2k17 Hackathon Report: Herzliche grusse vom Berlin (espie@ on mandoc, misc packages progress)</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171107225258" target="_blank" rel="nofollow noopener">p2k17 Hackathon Report: Paul Irofti (pirofti@) on hotplugd(8), math ports, xhci(4) and other kernel advancements</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171108072117" target="_blank" rel="nofollow noopener">p2k17 Hackathon report: Jeremy Evans on ruby progress, postgresql and webdriver work</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171109171447" target="_blank" rel="nofollow noopener">p2k17 Hackathon report: Christian Weisgerber on random devices, build failures and gettext</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171110124645" target="_blank" rel="nofollow noopener">p2k17 Hackathon report: Sebastian Reitenbach on Puppet progress</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171110124656" target="_blank" rel="nofollow noopener">p2k17 Hackathon Report: Anthony J. Bentley on firmware, games and securing pkg_add runs</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171113091807" target="_blank" rel="nofollow noopener">p2k17 Hackathon Report: Landry Breuil on Mozilla things and much more</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171113235334" target="_blank" rel="nofollow noopener">p2k17 Hackathon report: Florian Obser on network stack progress, kernel relinking and more</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171120075903" target="_blank" rel="nofollow noopener">p2k17 Hackathon report: Antoine Jacoutot on ports+packages progress</a>
***</li>
</ul>

<h3>TrueOS Talks</h3>

<ul>
<li><a href="https://www.trueos.org/blog/trueos-talks-tech-open-source-pellissippi-state/" target="_blank" rel="nofollow noopener">Tech and Open Source at Pellissippi State</a></li>
</ul>

<blockquote>
<p>Ken Moore of the TrueOS project presented a talk to the AITP group at Pellissippi State today entitled Its A Unix(-like) system? An Introduction to TrueOS and Open source. Joshua Smith of the TrueOS project was also in attendance. <br>
We were happy to see a good attendance of about 40 individuals that came to hear more about TrueOS and how we continue to innovate along with the FreeBSD project. Many good questions were raised about development, snapshots, cryptocurrency, and cyber-security. Weve included a copy of the slides if youd like to have a look at the talk on open source. Wed like to offer a sincere thanks to everyone who attended and offer an extended invitation for you to join us at our KnoxBUG group on October 30th @ the iXsystems offices! We hope to see you soon!</p>
</blockquote>

<ul>
<li><a href="https://web.trueos.org/wp-content/uploads/2017/10/Open-Source-Talk.pdf" target="_blank" rel="nofollow noopener">Open Source Talk  Slideshare PDF</a>
<a href="http://knoxbug.org/content/octobers-talk-available-youtube" target="_blank" rel="nofollow noopener">KnoxBug - Lumina Rising : Challenging Desktop Orthodoxy</a></li>
<li>Ken gave his talk about the new Lumina 2.0 Window Manager that he gave at Ohio LinuxFest 2017</li>
<li><a href="https://youtu.be/w3ZrqxLTnIU" target="_blank" rel="nofollow noopener">KnoxBUG October 2017</a></li>
<li><a href="https://www.slideshare.net/beanpole135/olf-2017-lumina-rising-challenging-desktop-orthodoxy" target="_blank" rel="nofollow noopener">(OLF 2017) Lumina Rising: Challenging Desktop Orthodoxy</a>
***</li>
</ul>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20171118190325" target="_blank" rel="nofollow noopener">Official OpenBSD 6.2 CD set - the only one to be made!</a></h3>

<ul>
<li>Our dear friend Bob Beck (beck@) writes:</li>
</ul>

<blockquote>
<p>So, again this release the tradition of making Theo do art has continued!<br>
Up for sale by auction to the highest bidder on Ebay is the only OpenBSD 6.2 CD set to be produced.<br>
The case and CD's feature the 6.2 artwork, custom drawn and signed by Theo.<br>
All proceeds to support OpenBSD<br>
Go have a look at the auction</p>
</blockquote>

<ul>
<li>As with previous OpenBSD auctions, if you are not the successful bidder, we would like to encourage you to donate the equivalent of you highest bid to the project.</li>
<li><a href="https://www.ebay.ca/itm/Official-OpenBSD-6-2-CD-Set/253265944606" target="_blank" rel="nofollow noopener">The Auction</a>
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2017-October/313646.html" target="_blank" rel="nofollow noopener">HAMMER2 userspace on Linux</a></li>
<li><a href="http://www.nycbug.org/index.cgi?action=view&amp;id=10655" target="_blank" rel="nofollow noopener">OpenBSD Porting Workshop (now changed to January 3, 2018)</a></li>
<li><a href="https://twitter.com/mahrens1/status/921204908094775296" target="_blank" rel="nofollow noopener">Matt Ahrens on when Native Encryption for ZFS will land</a></li>
<li><a href="http://nanxiao.me/en/the-first-successful-build-of-openbsd-base-system/" target="_blank" rel="nofollow noopener">The first successful build of OpenBSD base system</a></li>
<li><a href="https://www.meetup.com/KnoxBUG-BSD-Linux-and-FOSS-Users-Unite/events/245291204/" target="_blank" rel="nofollow noopener">KnoxBug November Meeting</a></li>
<li><a href="https://www.michaelwlucas.com/os/af3e" target="_blank" rel="nofollow noopener">Absolute FreeBSD, 3rd Edition, pre-orders available</a></li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Jon - <a href="http://dpaste.com/2BEW0HB#wrap" target="_blank" rel="nofollow noopener">Jails and Networking</a></li>
<li>Nathan - <a href="http://dpaste.com/1GHSYJS#wrap" target="_blank" rel="nofollow noopener">bhyve Provisioning</a></li>
<li>Lian - <a href="http://dpaste.com/18P8D8C#wrap" target="_blank" rel="nofollow noopener">OpenSSL jumping the Shark</a></li>
<li>Kim - <a href="http://dpaste.com/1VE0K9E#wrap" target="_blank" rel="nofollow noopener">Suggestions</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Allan reports on his trip to BSD Taiwan, new versions of Lumina and GhostBSD are here, a bunch of OpenBSD p2k17 hackathon reports.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://bsdtw.org/" target="_blank" rel="nofollow noopener">Allans Trip Report from BSD Taiwan</a></h3>

<ul>
<li>BSD TW and Taiwan in general was a fun and interesting experience</li>
<li>I arrived Thursday night and took the high speed train to Taipei main station, and then got on the Red line subway to the venue. The dorm rooms were on par with BSDCan, except the mattress was better.</li>
<li>I spent Friday with a number of other FreeBSD developers doing touristy things. We went to Taipei 101, the worlds tallest building from 2004 - 2010. It also features the worlds fastest elevator (2004 - 2016), traveling at 60.6 km/h and transporting passengers from the 5th to 89th floor in 37 seconds.</li>
<li>We also got to see the tuned mass damper, a 660 tonne steel pendulum suspended between the 92nd and 87th floors. This device resists the swaying of the building caused by high winds. There are interesting videos on display beside the damper, of its reaction during recent typhoons and earthquakes. The Taipei 101 building sits just 200 meters from a major fault line.</li>
<li>Then we had excellent dumplings for lunch</li>
<li>After walking around the city for a few more hours, we retired to a pub to escape the heat of the sunny Friday afternoon.</li>
<li>Then came the best part of each day in Taipei, dinner!</li>
<li>We continued our efforts to cause a nation wide shortage of dumplings</li>
<li>Special thanks to <a href="https://twitter.com/scottttw" target="_blank" rel="nofollow noopener">Scott Tsai</a> who took detailed notes for each of the presentations</li>
<li>Saturday marked the start of the conference:

<ul>
<li>Arun Thomas provided background and then a rundown of what is happening with the RISC-V architecture. <a href="https://docs.google.com/document/d/1yrnhNTHaMDr4DG-iviXN0O9NES9Lmlc7sWVQhnios6g/edit#heading=h.kcm1n3yzl35q" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>George Neville-Neil talked about using DTrace in distributed systems as an in-depth auditing system (who did what to whom and when). <a href="https://docs.google.com/document/d/1qut6tMVF8NesrGHd6bydLDN-aKBdXMgHx8Vp3_iGKjQ/edit#heading=h.qdghsgk1bgtl" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>Baptiste Daroussin presented Poudrière image, an extension of everyones favourite package building system, to build custom images of FreeBSD. There was discussion of making this generate ZFS based images as well, making it mesh very well with my talk the next day. <a href="https://docs.google.com/document/d/1LceXj8IWJeTRHp9KzOYy8tpM00Fzt7fSN0Gw83B9COE/edit#heading=h.incfzi6bnzxr" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>Brooks Davis presented his work on an API design for a replacement for mmap. It started with a history of address space management in the BSD family of operating systems going all the way back to the beginning. This overview of the feature and how it evolved filled in many gaps for me, and showed why the newer work would be beneficial. The motivation for the work includes further extensions to support the CHERI hardware platform. <a href="https://docs.google.com/document/d/1LceXj8IWJeTRHp9KzOYy8tpM00Fzt7fSN0Gw83B9COE/edit#heading=h.incfzi6bnzxr" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>Johannes M Dieterich gave an interesting presentation about using FreeBSD and GPU acceleration for high performance computing. One of the slides showed that amd64 has taken almost the entire market for the top 500 super computers, and that linux dominates the list, with only a few remaining non-linux systems. Sadly, at the supercomputing conference the next week, it was announced that linux has achieved 100% saturation of the top 500 super computers list. Johannes detailed the available tools, what ports are missing, what changes should be made to the base system (mostly OpenMP), and generally what FreeBSD needs to do to become a player in the supercomputer OS market. Johannes perspective is interesting, as he is a computational chemist, not a computer scientist. Those interested in improving the numerical libraries and GPU acceleration frameworks on FreeBSD should join the ports team. <a href="https://docs.google.com/document/d/1uaJiqtPk8WetST6_GnQwIV49bj790qx7ToY2BHC9zO4/edit#heading=h.nvsz1n6w3gyq" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>The final talk of the day was Peter Grehan, who spoke about how graphics support in bhyve came to be. He provided a history of how the feature evolved, and where it stands today. <a href="https://docs.google.com/document/d/1LqJQJUwdUwWZ0n5KwCH1vNI8jiWGJlI1j0It3mERN80/edit#heading=h.sgeixwgz7bjs" target="_blank" rel="nofollow noopener">Notes</a></li>
</ul></li>
<li>Afterwards, we traveled as a group to a large restaurant for dinner. There was even Mongolian Vodka, provided by Ganbold Tsagaankhuu of the FreeBSD project.</li>
<li>Sunday:

<ul>
<li>The first talk of the day Sunday was mine. I presented ZFS: Advanced Integration, mostly talking about how boot environments work, and the new libbe and be(1) tools that my GSoC student Kyle Kneitinger created to manage them. I talked about how they can be used for laptop and developer systems, but also how boot environments can be used to replace nanobsd for appliances (as already done in FreeNAS and pfSense). I also presented about zfsbootcfg (zfs nextboot), and some future extensions to it to make it even more useful in appliance type workloads. I also provided a rundown of new developments out of the ZFS developer summit, two weeks previous. <a href="https://docs.google.com/document/d/1Blh3Dulf0O91A0mwv34UnIgxRZaS_0FU2lZ41KRQoOU/edit#heading=h.gypim387e8hy" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>Theo de Raadt presented Mitigations and other real Security Features, and made his case for changing to a fail closed mode of interoperability. Computers cannot actually self heal, so lets stop pretending that they can. <a href="https://docs.google.com/document/d/1fFHzlxJjbHPsV9t_Uh3PXZnXmkapAK5RkJsfaHki7kc/edit#heading=h.192e4lmbl70c" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>Ruslan Bukin talked about doing the port of FreeBSD for RISC-V and writing the Device Drivers. Ruslan walked through the process step by step, leading members of the audience to suggest he turn it into a developers handbook article, explaining how to do the initial bringup on new hardware. Ruslan also showed off a FreeBSD/MIPS board he designed himself and had manufactured in China.  <a href="https://docs.google.com/document/d/1kRhRr3O3lQ-0dS0kYF0oh_S0_zFufEwrdFjG1QLyk8Y/edit#heading=h.293mameym7w1" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>Mariusz Zaborski presented Case studies on sandboxing the base system with Capsicum. He discussed the challenges encountered as existing programs are modified to sandbox them, and recent advancements in the debugging tools available during that process. Mariusz also discussed the Casper service at length, including the features that are planned for 2018 and onwards. <a href="https://docs.google.com/document/d/1_0BpAE1jGr94taUlgLfSWlJOYU5II9o7Y3ol0ym1eZQ/edit#heading=h.xm9mh7dh6bay" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>The final presentation of the day was Mark Johnston on Memory Management Improvements in FreeBSD 12.0. This talk provided a very nice overview of the memory management system in FreeBSD, and then detailed some of the recent improvements.  <a href="https://docs.google.com/document/d/1gFQXxsHM66GQGMO4-yoeFRTcmOP4NK_ujVFHIQJi82U/edit#heading=h.uirc9jyyti7w" target="_blank" rel="nofollow noopener">Notes</a></li>
<li>The conference wrapped up with the Work-in-Progress session, including updates on: multi-device-at-once GELI attach, MP-safe networking on NetBSD, pkgsrc, NetBSD in general, BSD on Microsoft Azure, Mothra (send-pr for bugzilla), BSDMizer a machine learning compiler optimizer, Hyperledger Sawtooth (blockchain), and finally VIMAGE and pf testing on FreeBSD.
<a href="https://docs.google.com/document/d/1miHZEPrqrpCTh8JONmUKWDPYUmTuG2lbsVrWDtekvLc/edit#heading=h.orhedpjis5po" target="_blank" rel="nofollow noopener">Notes</a></li>
</ul></li>
<li><a href="https://pbs.twimg.com/media/DOh1txnVoAAFKAa.jpg:large" target="_blank" rel="nofollow noopener">Group Photo</a></li>
<li>BSDTW was a great conference. They are still considering if it should be an annual thing, trade off every 2nd year with AsiaBSDCon, or something else. In order to continue, BSD Taiwan requires more organizers and volunteers. They have regular meetups in Taipei if you are interested in getting involved.
***</li>
</ul>

<h3><a href="https://lumina-desktop.org/version-1-4-0-released/" target="_blank" rel="nofollow noopener">Lumina 1.4.0 released</a></h3>

<ul>
<li>The Lumina Theme Engine (and associated configuration utility)</li>
<li>The Lumina theme engine is a new component of the core desktop, and provides enhanced theming capabilities for the desktop as well as all Qt5 applications. While it started out life as a fork of the qt5ct utility, it quickly grew all sorts of new features and functionality such as system-defined color profiles, modular theme components, and built-in editors/creators for all components. The backend of this engine is a standardized theme plugin for the Qt5 toolkit, so that all Qt5 applications will now present a unified appearance (if the application does not enforce a specific appearance/theme of its own). Users of the Lumina desktop will automatically have this plugin enabled: no special action is required.

<ul>
<li>Please note that the older desktop theme system for Lumina has been rendered obsolete by the new engine, but a settings-conversion path has already been implemented which should transition your current settings to the new engine the first time you login to Lumina 1.4.0. Custom themes for the older system may not be converted though, but it is trivial to copy/paste any custom stylesheets from the old system into the editor for the new theme engine to register/re-apply them as desired.</li>
</ul></li>
<li>Lumina-Themes Repository</li>
</ul>

<blockquote>
<p>I also want to give a shout-out to the trueos/lumina-themes github repository contributors. All of the wallpapers in the 1.4.0 screenshots I posted come from that package, and they are working on making more wallpapers, color palettes, and desktop styles for use with the Lumina Theme Engine. If your operating system does not currently provide a package for lumina-themes, I highly recommend that you make one as soon as possible!</p>
</blockquote>

<ul>
<li><p>The Lumina PDF Viewer (lumina-pdf)</p>

<ul>
<li>This is a new, stand-alone desktop utility for viewing/printing/presenting PDF documents. It uses the poppler-qt5 library in the backend for rendering the document, but uses multi-threading in many ways (such as to speed up the loading of pages) to give the user a nice, streamlined utility for viewing PDF documents. There is also built-in presentation functionality which allows users to easily cast the document to a separate screen without mucking about in system menus or configuration utilities.</li>
</ul></li>
<li><p>Lumina PDF Viewer (1.4.0)</p>

<ul>
<li>Important Packaging Changes</li>
</ul></li>
</ul>

<blockquote>
<p>One significant change of note for people who are packaging Lumina for their particular operating system is that the minimum supported versions of Qt for Lumina have been changed with this release:</p>

<pre><code>lumina-core: Qt 5.4+
lumina-mediaplayer: Qt 5.7+
Everything else: Qt 5.2+
</code></pre>

<p>Of course, using the latest version of the Qt5 libraries is always recommended.<br>
When packaging for Linux distributions, the theme engine also requires the availability of some of the -dev packages for Qt itself when compiling the theme plugin. For additional information (specifically regarding Ubuntu builds), please take a look at a recent ticket on the Lumina repository.</p>

<ul>
<li>The new lumina-pdf utility requires the availability of the poppler-qt5 library. The includes for this library on Ubuntu 17.10 were found to be installed outside of the normal include directories, so a special rule for it was added to our OS-Detect file in the Lumina source tree. If your particular operating system also places the the poppler include files in a non-standard place, please patch that file or send us the information and we can add more special rules for your particular OS.</li>
</ul>
</blockquote>

<ul>
<li>Other Changes of Note (in no particular order)

<ul>
<li>lumina-config:</li>
<li>Add a new page for changing audio theme (login, logout, low battery)</li>
<li>Add option to replace fluxbox with some other WM (with appropriate warnings)</li>
<li>Have the themes page redirect to launching the Lumina theme engine configuration utility.</li>
<li>start-lumina-desktop:</li>
<li>Auto-detect the active X11 displays and create a new display for the Lumina session (prevent conflict with prior graphical sessions).</li>
<li>Add a process-failure counter &amp; restart mechanism. This is particularly useful for restarting Fluxbox from time to time (such as after any monitor addition/removal)</li>
<li>lumina-xconfig:</li>
<li>Restart fluxbox after making any monitor changes with xrandr. This ensures a more reliable session.</li>
<li>Implement a  new 2D monitor layout mechanism. This allows for the placement of monitors anywhere in the X/Y plane, with simplification buttons for auto-tiling the monitors in each dimension based on their current location.</li>
<li>Add the ability to save/load monitor profiles.</li>
<li>Distinguish between the default monitor arrangement and the current monitor arrangement. Allow the user to set the current arrangement as the new default.</li>
<li>lumina-desktop:</li>
<li>Completely revamp the icon loading mechanisms so it should auto-update when the theme changes.</li>
<li>Speed up the initialization of the desktop quite a bit.</li>
<li>Prevent loading/probing files in the /net/ path for existence (assume they exist in the interest of providing shortcuts). On FreeBSD, these are special paths that actually pause the calling process in order to mount/load a network share before resuming the process, and can cause significant hangs in the desktop process.</li>
<li>Add the ability to take a directory as a target for the wallpaper. This will open/probe the directory for any existing image files that it can use as a wallpaper and randomly select one.</li>
<li>Remove the popup dialog prompting about system updates, and replace it with new Restart (with updates) buttons on the appropriate menus/windows instead.</li>
<li>If no wallpapers selection is provided, try to use the lumina-nature wallpaper directory as the default, otherwise fall back on the original default wallpaper if the lumina-themes package is not installed.</li>
<li>lumina-open:</li>
<li>Make the *.desktop parsing a bit more flexible regarding quoted strings where there should not be any.</li>
<li>If selecting which application to use, only overwrite the user-default app if the option is explicitly selected.</li>
<li>lumina-fileinfo:</li>
<li>Significant cleanup of this utility. Now it can be reliably used for creating/registering XDG application shortcuts.</li>
<li>Add a whole host of new ZFS integrations:</li>
<li>If a ZFS dataset is being examined, show all the ZFS properties for that dataset.</li>
<li>If the file being examined exists within ZFS snapshots, show all the snapshots of the file</li>
</ul></li>
<li>lumina-fm:

<ul>
<li>Significant use of additional multi-threading. Makes the loading of directories much faster (particularly ones with image files which need thumbnails)</li>
<li>Add detection/warning when running as root user. Also add an option to launch a new instance of lumina-fm as the root user.</li>
<li>[FreeBSD/TrueOS] Fix up the detection of the External Devices list to also list available devices for the autofs system.</li>
<li>Fix up some drag and drop functionality.</li>
<li>Expose the creation, extraction, and insertion of files into archives (requires lumina-archiver at runtime)</li>
<li>Expand the Open With option into a menu of application suggestions in addition to the Other option which runs lumina-open to find an application.</li>
<li>Provide an option to set the desktop wallpaper to the selected image file(s). (If the running desktop session is Lumina).</li>
</ul></li>
<li>lumina-mediaplayer:

<ul>
<li>Enable the ability to playback local video files. (NOTE: If Qt5 is set to use the gstreamer multimedia backend, make sure you have the GL plugin installed for smooth video playback).</li>
</ul></li>
<li>lumina-archiver:

<ul>
<li>Add CLI flags for auto-archive and auto-extract. This allows for programmatic/scriptable interactions with archives.</li>
<li>That is not mentioning all of the little bugfixes, performance tweaks, and more that are also included in this release.
***</li>
</ul></li>
</ul>

<h3><a href="https://blog.netbsd.org/tnf/entry/the_strongest_kaslr_ever" target="_blank" rel="nofollow noopener">The strongest KASLR, ever?</a></h3>

<ul>
<li><a href="https://mail-index.netbsd.org/tech-kern/2017/11/14/msg022594.html" target="_blank" rel="nofollow noopener">Re: amd64: kernel aslr support</a></li>
</ul>

<blockquote>
<p>So, I did it. Now the kernel sections are split in sub-blocks, and are all randomized independently. See my drawing [1]. What it means in practice, is that Kernel ASLR is much more difficult to defeat: a cache attack will at most allow you to know that a given range is mapped as executable for example, but you don't know which sub-block of .text it is; a kernel pointer leak will at most allow you to reconstruct the layout of one sub-block, but you don't know the layout and address of the remaining blocks, and there can be many.<br>
The size and number of these blocks is controlled by the split-by-file parameter in Makefile.amd64. Right now it is set to 2MB, which produces a kernel with ~23 allocatable (ie useful at runtime) sections, which is a third of the total number supported (BTSPACE_NSEGS = 64). I will probably reduce this parameter a bit in the future, to 1.5MB, or even 1MB.<br>
All of that leaves us with about the most advanced KASLR implementation available out there. There are ways to improve it even more, but you'll have to wait a few weeks for that.<br>
 If you want to try it out you need to make sure you have the latest versions of GENERIC_KASLR / prekern / bootloader. The instructions are still here, and haven't changed.</p>
</blockquote>

<ul>
<li>Initial design</li>
</ul>

<blockquote>
<p>As I said in the previous episode, I added in October a Kernel ASLR implementation in NetBSD for 64bit x86 CPUs. This implementation would randomize the location of the kernel in virtual memory as one block: a random VA would be chosen, and the kernel ELF sections would be mapped contiguously starting from there.<br>
This design had several drawbacks: one leak, or one successful cache attack, could be enough to reconstruct the layout of the entire kernel and defeat KASLR.<br>
NetBSDs new KASLR design significantly improves this situation.</p>
</blockquote>

<ul>
<li>New design</li>
</ul>

<blockquote>
<p>In the new design, each kernel ELF section is randomized independently. That is to say, the base addresses of .text, .rodata, .data and .bss are not correlated. KASLR is already at this stage more difficult to defeat, since you would need a leak or cache attack on each of the kernel sections in order to reconstruct the in-memory kernel layout.<br>
Then, starting from there, several techniques are used to strengthen the implementation even more.</p>
</blockquote>

<ul>
<li>Sub-blocks</li>
</ul>

<blockquote>
<p>The kernel ELF sections are themselves split in sub-blocks of approximately 1MB. The kernel therefore goes from having:</p>

<pre><code>    { .text .rodata .data .bss }
</code></pre>

<p>to having</p>

<pre><code>    { .text .text.0 .text.1 ... .text.i .rodata .rodata.0 ... .rodata.j ... .data ...etc }
</code></pre>

<p>As of today, this produces a kernel with ~33 sections, each of which is mapped at a random address and in a random order.<br>
This implies that there can be dozens of .text segments. Therefore, even if you are able to conduct a cache attack and determine that a given range of memory is mapped as executable, you dont know which sub-block of .text it is. If you manage to obtain a kernel pointer via a leak, you can at most guess the address of the section it finds itself in, but you dont know the layout of the remaining 32 sections. In other words, defeating this KASLR implementation is much more complicated than in the initial design.</p>
</blockquote>

<ul>
<li>Higher entropy</li>
</ul>

<blockquote>
<p>Each section is put in a 2MB-sized physical memory chunk. Given that the sections are 1MB in size, this leaves half of the 2MB chunk unused. Once in control, the prekern shifts the section within the chunk using a random offset, aligned to the ELF alignment constraint. This offset has a maximum value of 1MB, so that once shifted the section still resides in its initial 2MB chunk:<br>
The prekern then maps these 2MB physical chunks at random virtual addresses; but addresses aligned to 2MB. For example, the two sections in Fig. A will be mapped at two distinct VAs:<br>
There is a reason the sections are shifted in memory: it offers higher entropy. If we consider a .text.i section with a 64byte ELF alignment constraint, and give a look at the number of possibilities for the location of the section in memory:<br>
The prekern shifts the 1MB section in its 2MB chunk, with an offset aligned to 64 bytes. So there are (2MB-1MB)/(64B)=214 possibilities for the offset.<br>
Then, the prekern uses a 2MB-sized 2MB-aligned range of VA, chosen in a 2GB window. So there are (2GB-2MB)/(2MB)=210-1 possibilities for the VA.<br>
Therefore, there are 214x(210-1)224 possible locations for the section. As a comparison with other systems:</p>

<pre><code>OS  # of possibilities
Linux   2^6
MacOS   2^8
Windows 2^13
NetBSD  2^24
</code></pre>

<p>Of course, we are talking about one .text.i section here; the sections that will be mapped afterwards will have fewer location possibilities because some slots will be already occupied. However, this does not alter the fact that the resulting entropy is still higher than that of the other implementations. Note also that several sections have an alignment constraint smaller than 64 bytes, and that in such cases the entropy is even higher.</p>
</blockquote>

<ul>
<li>Large pages</li>
</ul>

<blockquote>
<p>There is also a reason we chose to use 2MB-aligned 2MB-sized ranges of VAs: when the kernel is in control and initializes itself, it can now use large pages to map the physical 2MB chunks. This greatly improves memory access performance at the CPU level.</p>
</blockquote>

<ul>
<li>Countermeasures against TLB cache attacks</li>
</ul>

<blockquote>
<p>With the memory shift explained above, randomness is therefore enforced at both the physical and virtual levels: the address of the first page of a section does not equal the address of the section itself anymore.<br>
It has, as a side effect, an interesting property: it can mostly mitigate TLB cache attacks. Such attacks operate at the virtual-page level; they will allow you to know that a given large page is mapped as executable, but you dont know where exactly within that page the section actually begins.</p>
</blockquote>

<ul>
<li>Strong?</li>
</ul>

<blockquote>
<p>This KASLR implementation, which splits the kernel in dozens of sub-blocks, randomizes them independently, while at the same time allowing for higher entropy in a way that offers large page support and some countermeasures against TLB cache attacks, appears to be the most advanced KASLR implementation available publicly as of today. <br>
Feel free to prove me wrong, I would be happy to know!</p>
</blockquote>

<ul>
<li>WIP</li>
</ul>

<blockquote>
<p>Even if it is in a functional state, this implementation is still a work in progress, and some of the issues mentioned in the previous blog post haven't been addressed yet. But feel free to test it and report any issue you encounter. Instructions on how to use this implementation can still be found in the previous blog post, and havent changed since.<br>
See you in the next episode!</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="http://www.ghostbsd.org/11.1_release_announcement" target="_blank" rel="nofollow noopener">GhostBSD 11.1 Finally Ready and Available!</a></h3>

<ul>
<li><a href="https://imgur.com/a/Mu8xk" target="_blank" rel="nofollow noopener">Screenshots</a></li>
</ul>

<blockquote>
<p>After a year of development, testing, debugging and working on our software package repository, we are pleased to announce the release of GhostBSD 11.1 is now available on 64-bit(amd64) architecture with MATE and XFCE Desktop on direct and torrent download. With 11.1 we drop 32-bit i386 supports, and we currently maintain our software packages repository for more stability.</p>
</blockquote>

<ul>
<li>What's new on GhostBSD 11.1

<ul>
<li>GhostBSD software repository</li>
<li>Support VMware Workstation Guest Features</li>
<li>New UFS full disk mirroring option on the installer</li>
<li>New UFS full disk MBR and GPT option on the installer</li>
<li>New UFS full disk swap size option on the installer</li>
<li>Whisker Menu as default Application menu on XFCE</li>
<li>All software developed by GhostBSD is now getting updated</li>
<li>ZFS configuration for disk</li>
</ul></li>
<li>What has been fixed on 11.1?

<ul>
<li>Fix XFCE sound plugin</li>
<li>Installer ZFS configuration file setting</li>
<li>Installer ZFS setup appears to be incomplete</li>
<li>The installer was not listing ZFS disk correctly.</li>
<li>The installer The partition list was not deleted when pressing back</li>
<li>XFCE and MATE shutdown/suspend/hibernate randomly missing</li>
<li>Clicking 'GhostBSD Bugs' item in the Main menu -&gt; 'System Tools' brings up 'Server not found' page</li>
<li>XFCE installation - incorrect keyboard layout</li>
<li>Locale setting not filling correctly</li>
<li>Update Station tray icon</li>
</ul></li>
<li>The image checksum's, hybrid ISO(DVD, USB) images are available at <a href="http://www.ghostbsd.org/download" target="_blank" rel="nofollow noopener">GhostBSD</a>.
***</li>
</ul>

<h3>p2k17 Hackathon Reports</h3>

<ul>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171107034258" target="_blank" rel="nofollow noopener">p2k17 Hackathon Report: Matthias Kilian on xpdf, haskell, and more</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171107185122" target="_blank" rel="nofollow noopener">p2k17 Hackathon Report: Herzliche grusse vom Berlin (espie@ on mandoc, misc packages progress)</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171107225258" target="_blank" rel="nofollow noopener">p2k17 Hackathon Report: Paul Irofti (pirofti@) on hotplugd(8), math ports, xhci(4) and other kernel advancements</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171108072117" target="_blank" rel="nofollow noopener">p2k17 Hackathon report: Jeremy Evans on ruby progress, postgresql and webdriver work</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171109171447" target="_blank" rel="nofollow noopener">p2k17 Hackathon report: Christian Weisgerber on random devices, build failures and gettext</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171110124645" target="_blank" rel="nofollow noopener">p2k17 Hackathon report: Sebastian Reitenbach on Puppet progress</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171110124656" target="_blank" rel="nofollow noopener">p2k17 Hackathon Report: Anthony J. Bentley on firmware, games and securing pkg_add runs</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171113091807" target="_blank" rel="nofollow noopener">p2k17 Hackathon Report: Landry Breuil on Mozilla things and much more</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171113235334" target="_blank" rel="nofollow noopener">p2k17 Hackathon report: Florian Obser on network stack progress, kernel relinking and more</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20171120075903" target="_blank" rel="nofollow noopener">p2k17 Hackathon report: Antoine Jacoutot on ports+packages progress</a>
***</li>
</ul>

<h3>TrueOS Talks</h3>

<ul>
<li><a href="https://www.trueos.org/blog/trueos-talks-tech-open-source-pellissippi-state/" target="_blank" rel="nofollow noopener">Tech and Open Source at Pellissippi State</a></li>
</ul>

<blockquote>
<p>Ken Moore of the TrueOS project presented a talk to the AITP group at Pellissippi State today entitled Its A Unix(-like) system? An Introduction to TrueOS and Open source. Joshua Smith of the TrueOS project was also in attendance. <br>
We were happy to see a good attendance of about 40 individuals that came to hear more about TrueOS and how we continue to innovate along with the FreeBSD project. Many good questions were raised about development, snapshots, cryptocurrency, and cyber-security. Weve included a copy of the slides if youd like to have a look at the talk on open source. Wed like to offer a sincere thanks to everyone who attended and offer an extended invitation for you to join us at our KnoxBUG group on October 30th @ the iXsystems offices! We hope to see you soon!</p>
</blockquote>

<ul>
<li><a href="https://web.trueos.org/wp-content/uploads/2017/10/Open-Source-Talk.pdf" target="_blank" rel="nofollow noopener">Open Source Talk  Slideshare PDF</a>
<a href="http://knoxbug.org/content/octobers-talk-available-youtube" target="_blank" rel="nofollow noopener">KnoxBug - Lumina Rising : Challenging Desktop Orthodoxy</a></li>
<li>Ken gave his talk about the new Lumina 2.0 Window Manager that he gave at Ohio LinuxFest 2017</li>
<li><a href="https://youtu.be/w3ZrqxLTnIU" target="_blank" rel="nofollow noopener">KnoxBUG October 2017</a></li>
<li><a href="https://www.slideshare.net/beanpole135/olf-2017-lumina-rising-challenging-desktop-orthodoxy" target="_blank" rel="nofollow noopener">(OLF 2017) Lumina Rising: Challenging Desktop Orthodoxy</a>
***</li>
</ul>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20171118190325" target="_blank" rel="nofollow noopener">Official OpenBSD 6.2 CD set - the only one to be made!</a></h3>

<ul>
<li>Our dear friend Bob Beck (beck@) writes:</li>
</ul>

<blockquote>
<p>So, again this release the tradition of making Theo do art has continued!<br>
Up for sale by auction to the highest bidder on Ebay is the only OpenBSD 6.2 CD set to be produced.<br>
The case and CD's feature the 6.2 artwork, custom drawn and signed by Theo.<br>
All proceeds to support OpenBSD<br>
Go have a look at the auction</p>
</blockquote>

<ul>
<li>As with previous OpenBSD auctions, if you are not the successful bidder, we would like to encourage you to donate the equivalent of you highest bid to the project.</li>
<li><a href="https://www.ebay.ca/itm/Official-OpenBSD-6-2-CD-Set/253265944606" target="_blank" rel="nofollow noopener">The Auction</a>
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2017-October/313646.html" target="_blank" rel="nofollow noopener">HAMMER2 userspace on Linux</a></li>
<li><a href="http://www.nycbug.org/index.cgi?action=view&amp;id=10655" target="_blank" rel="nofollow noopener">OpenBSD Porting Workshop (now changed to January 3, 2018)</a></li>
<li><a href="https://twitter.com/mahrens1/status/921204908094775296" target="_blank" rel="nofollow noopener">Matt Ahrens on when Native Encryption for ZFS will land</a></li>
<li><a href="http://nanxiao.me/en/the-first-successful-build-of-openbsd-base-system/" target="_blank" rel="nofollow noopener">The first successful build of OpenBSD base system</a></li>
<li><a href="https://www.meetup.com/KnoxBUG-BSD-Linux-and-FOSS-Users-Unite/events/245291204/" target="_blank" rel="nofollow noopener">KnoxBug November Meeting</a></li>
<li><a href="https://www.michaelwlucas.com/os/af3e" target="_blank" rel="nofollow noopener">Absolute FreeBSD, 3rd Edition, pre-orders available</a></li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Jon - <a href="http://dpaste.com/2BEW0HB#wrap" target="_blank" rel="nofollow noopener">Jails and Networking</a></li>
<li>Nathan - <a href="http://dpaste.com/1GHSYJS#wrap" target="_blank" rel="nofollow noopener">bhyve Provisioning</a></li>
<li>Lian - <a href="http://dpaste.com/18P8D8C#wrap" target="_blank" rel="nofollow noopener">OpenSSL jumping the Shark</a></li>
<li>Kim - <a href="http://dpaste.com/1VE0K9E#wrap" target="_blank" rel="nofollow noopener">Suggestions</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>220: Opening ZFS in 2017</title>
  <link>https://www.bsdnow.tv/220</link>
  <guid isPermaLink="false">317534a9-acaf-4d19-8857-2a02ad303297</guid>
  <pubDate>Wed, 15 Nov 2017 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/317534a9-acaf-4d19-8857-2a02ad303297.mp3" length="82521652" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We have a first PS4 kernel exploit, the long awaited OpenZFS devsummit report by Allan, DragonflyBSD 5.0 is out, we show you vmadm to manage jails, and parallel processing with Unix tools.</itunes:subtitle>
  <itunes:duration>1:54:36</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>&lt;p&gt;We have a first PS4 kernel exploit, the long awaited OpenZFS devsummit report by Allan, DragonflyBSD 5.0 is out, we show you vmadm to manage jails, and parallel processing with Unix tools.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://fail0verflow.com/blog/2017/ps4-namedobj-exploit/" target="_blank" rel="nofollow noopener"&gt;The First PS4 Kernel Exploit: Adieu&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The First PS4 Kernel Exploit: Adieu&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Plenty of time has passed since we first demonstrated Linux running on the PS4.  Now we will step back a bit and explain how we managed to jump from the browser process into the kernel such that ps4-kexec et al. are usable.  Over time, ps4 firmware revisions have progressively added many mitigations and in general tried to lock down the system. This post will mainly touch on vulnerabilities and issues which are not present on the latest releases, but should still be useful for people wanting to investigate ps4 security.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Vulnerability Discovery&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As previously explained, we were able to get a dump of the ps4 firmware 1.01 kernel via a PCIe man-in-the-middle attack. Like all FreeBSD kernels, this image included “export symbols” - symbols which are required to perform kernel and module initialization processes. However, the ps4 1.01 kernel also included full ELF symbols (obviously an oversight as they have been removed in later firmware versions). This oversight was beneficial to the reverse engineering process, although of course not a true prerequisite. Indeed, we began exploring the kernel by examining built-in metadata in the form of the syscall handler table - focusing on the ps4-specific entries.&lt;br&gt;
Each process object in the kernel contains its own “idt” (ID Table) object. As can be inferred from the snippet above, the hash table essentially just stores pointers to opaque data blobs, along with a given kind and name. Entries may be accessed (and thus “locked”) with either read or write intent. Note that IDT_TYPE is not a bitfield consisting of only unique powers of 2. This means that if we can control the kind of an id_entry, we may be able to cause a type confusion to occur (it is assumed that we may control name).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Exploitation&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;To an exploiter without ps4 background, it might seem that the easiest way to exploit this bug would be to take advantage of the write off the end of the malloc’d namedobj_usr_t object. However, this turns out to be impossible (as far as I know) because of a side effect of the ps4 page size being changed to 0x4000 bytes (from the normal of 0x1000). It appears that in order to change the page size globally, the ps4 kernel developers opted to directly change the related macros. One of the many changes resulting from this is that the smallest actual amount of memory which malloc may give back to a caller becomes 0x40 bytes. While this also results in tons of memory being completely wasted, it does serve to nullify certain exploitation techniques (likely completely by accident…).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Adieu&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The namedobj exploit was present and exploitable (albeit using a slightly different method than described here) until it was fixed in firmware version 4.06. This vulnerability was also found and exploited by (at least) Chaitin Tech, so props to them! Taking a quick look at the 4.07 kernel, we can see a straightforward fix (4.06 is assumed to be identical - only had 4.07 on hand while writing this post):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;int sys_namedobj_create(struct thread *td, void *args) {
  // ...
  rv = EINVAL;
  kind = *((_DWORD *)args + 4)
  if ( !(kind &amp;amp; 0x4000) &amp;amp;&amp;amp; *(_QWORD *)args ) {
    // ... (unchanged)
  }
  return rv;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And so we say goodbye to a nice exploit. I hope you enjoyed this blast from the past :) Keep hacking!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/openzfs-devsummit-2017/" target="_blank" rel="nofollow noopener"&gt;OpenZFS Developer Summit 2017 Recap&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The 5th annual OpenZFS Developer Summit was held in San Francisco on October 24-25. Hosted by Delphix at the Children’s Creativity Museum in San Francisco, over a hundred OpenZFS contributors from a wide variety of companies attended and collaborated during the conference and developer summit. iXsystems was a Gold sponsor and several iXsystems employees attended the conference, including the entire Technical Documentation Team, the Director of Engineering, the Senior Analyst, a Tier 3 Support Engineer, and a Tier 2 QA Engineer.&lt;br&gt;
Day 1 of the conference had 9 highly detailed, informative, and interactive technical presentations from companies which use or contribute to OpenZFS. The presentations highlighted improvements to OpenZFS developed “in-house” at each of these companies, with most improvements looking to be made available to the entire OpenZFS community in the near to long term. There’s a lot of exciting stuff happening in the OpenZFS community and this post provides an overview of the presented features and proof-of-concepts.&lt;br&gt;
The keynote was delivered by Mark Maybee who spoke about the past, present, and future of ZFS at Oracle. An original ZFS developer, he outlined the history of closed-source ZFS development after Oracle’s acquisition of Sun. ZFS has a fascinating history, as the project has evolved over the last decade in both open and closed source forms, independent of one another. While Oracle’s proprietary internal version of ZFS has diverged from OpenZFS, it has implemented many of the same features. Mark was very proud of the work his team had accomplished over the years, claiming Oracle’s ZFS products have accounted for over a billion dollars in sales and are used in the vast majority of Fortune 100 companies. However, with Oracle aggressively moving into cloud storage, the future of closed source ZFS is uncertain. Mark presented a few ideas to transform ZFS into a mainstream and standard file system, including adding more robust support for Linux.&lt;br&gt;
Allan Jude from ScaleEngine talked about ZStandard, a new compression method he is developing in collaboration with Facebook. It offers compression comparable to gzip, but at speeds fast enough to keep up with hard drive bandwidth. According to early testing, it improves both the speed and compression efficiency over the current LZ4 compression algorithm. It also offers a new “dictionary” feature for improving image compression, which is of particular interest to Facebook. In addition, when using ZFS send and receive, it will adapt the compression ratio to make the most efficient use of the network bandwidth.&lt;br&gt;
Currently, deleting a clone on ZFS is a time-consuming process, especially when dealing with large datasets that have diverged over time. Sara Hartse from Delphix described how “clone fast delete” speeds up clone deletion. Rather than traversing the entire dataset during clone deletion, changes to the clone are tracked in a “live list” which the delete process uses to determine which blocks to free.  In addition, rather than having to wait for the clone to finish, the delete process backgrounds the task so you can keep working without any interruptions. Sara shared the findings of a test they ran on a clone with 500MB of data, which took 45 minutes to delete with the old method, and under a minute using the live list. This behavior is an optional property as it may not be appropriate for long-lived clones where deletion times are not a concern. At this time, it does not support promoted clones.&lt;br&gt;
Olaf Faaland from Lawrence Livermore National Labs demonstrated the progress his team has made to improve ZFS pool imports with MMP (Multi-Modifier Protection), a watchdog system to make sure that ZFS pools in clustered High Availability environments are not imported by more than one host at a time.  MMP uses uberblocks and other low-level ZFS features to monitor pool import status and otherwise safeguard the import process. MMP adds fields to on-disk metadata so it does not depend on hardware, such as SAS. It supports multi-node HA configs and does not affect non-HA systems. However, it does have issues with long I/O delays so existing HA software is recommended as an additional fallback.&lt;br&gt;
Jörgen Lundman of GMO Internet gave an entertaining talk on the trials and tribulations of porting ZFS to OS X.  As a bonus, he talked about porting ZFS to Windows, and showed a working demo.  While not yet in a usable state, it demonstrated a proof-of-concept of ZFS support for other platforms.&lt;br&gt;
Serapheim Dimitropoulos from Delphix discussed Faster Allocation with the Log Spacemap as a means of optimizing ZFS allocation performance. He began with an in-depth overview of metaslabs and how log spacemaps are used to track allocated and freed blocks. Since blocks are only allocated from loaded metaslabs but freed blocks may apply to any metaslab, over time logging the freed blocks to each appropriate metaslab with every txg becomes less efficient. Their solution is to create a pool-wide metaslab for unflushed entries.&lt;br&gt;
Shailendra Tripathi from Tegile presented iFlash: Dynamic Adaptive L2ARC Caching. This was an interesting talk on what is required to allow very different classes of resources to share the same flash device–in their case, ZIL, L2ARC, and metadata. To achieve this, they needed to address the following differences for each class: queue priority, metaslab load policy, allocation, and data protection (as cache has no redundancy).&lt;br&gt;
Isaac Huang of Intel introduced DRAID, or parity declustered RAID. Once available, this will provide the same levels of redundancy as traditional RAIDZ, providing the administrator doubles the amount of options for providing redundancy for their use case. The goals of DRAID are to address slow resilvering times and the write throughput of a single replacement drive being a bottleneck. This solution skips block pointer tree traversal when rebuilding the pool after drive failure, which is the cause of long resilver times. This means that redundancy is restored quickly, mitigating the risk of losing additional drives before the resilver completes, but it does require a scrub afterwards to confirm data integrity. This solution supports logical spares, which must be defined at vdev creation time, which are used to quickly restore the array.&lt;br&gt;
Prakash Surya of Delphix described how ZIL commits currently occur in batches, where waiting threads have to wait for the batch to complete. His proposed solution was to replace batch commits and to instead notify the waiting thread after its ZIL commit in order to greatly increase throughput.  A new tunable for the log write block timeout can also be used to log write blocks more efficiently.&lt;br&gt;
Overall, the quality of the presentations at the 2017 OpenZFS conference was high. While quite technical, they clearly explained the scope of the problems being addressed and how the proposed solutions worked. We look forward to seeing the described features integrated into OpenZFS. The videos and slides for the presentations should be made available over the next month or so at the OpenZFS website.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://photos.google.com/share/AF1QipNxYQuOm5RDxRgRQ4P8BhtoLDpyCuORKWiLPT0WlvUmZYDdrX3334zu5lvY_sxRBA?key=MW5fR05MdUdPaXFKVDliQVJEb3N3Uy1uMVFFdVdR" target="_blank" rel="nofollow noopener"&gt;OpenZFS Photo Album&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflybsd.org/release50/" target="_blank" rel="nofollow noopener"&gt;DragonflyBSD 5.0&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;DragonFly version 5.0 brings the first bootable release of HAMMER2, DragonFly's next generation file system.&lt;/li&gt;
&lt;li&gt;HAMMER2

&lt;ul&gt;
&lt;li&gt;Preliminary HAMMER2 support has been released into the wild as-of the 5.0 release. This support is considered EXPERIMENTAL and should generally not yet be used for production machines and important data. The boot loader will support both UFS and HAMMER2 /boot. The installer will still use a UFS /boot even for a HAMMER2 installation because the /boot partition is typically very small and HAMMER2, like HAMMER1, does not instantly free space when files are deleted or replaced.&lt;/li&gt;
&lt;li&gt;DragonFly 5.0 has single-image HAMMER2 support, with live dedup (for cp's), compression, fast recovery, snapshot, and boot support. HAMMER2 does not yet support multi-volume or clustering, though commands for it exist. Please use non-clustered single images for now.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;ipfw Updates

&lt;ul&gt;
&lt;li&gt;IPFW has gone through a number of updates in DragonFly and now offers better performance. pf and ipfw3 are also still supported.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Improved graphics support

&lt;ul&gt;
&lt;li&gt;The i915 driver has been brought up to match what's in the Linux 4.7.10 kernel. Intel GPUs are supported up to the Kabylake generation.&lt;/li&gt;
&lt;li&gt;vga_switcheroo(4) module added, allowing the use of Intel GPUs on hybrid-graphics systems.&lt;/li&gt;
&lt;li&gt;The new apple_gmux driver enables switching to the Intel video chipset on dual Intel/NVIDIA and Intel/Radeon Macbook computers.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Other user-affecting changes

&lt;ul&gt;
&lt;li&gt;efisetup(8) added.&lt;/li&gt;
&lt;li&gt;DragonFly can now support over 900,000 processes on a single machine.&lt;/li&gt;
&lt;li&gt;Client-side SSH by default does not try password authentication, which is the default behavior in newer versions of OpenSSH. Pass an explicit '-o PasswordAuthentication=yes' or change /etc/ssh/ssh_config if you need the old behavior. Public key users are unaffected.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Clang status

&lt;ul&gt;
&lt;li&gt;A starting framework has been added for using clang as the alternate base compiler in DragonFly, to replace gcc 4.7. It's not yet complete. Clang can of course be added as a package.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Package updates

&lt;ul&gt;
&lt;li&gt;Many package updates but I think most notably we need to point to chrome60 finally getting into dports with accelerated video and graphics support.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;64-bit status

&lt;ul&gt;
&lt;li&gt;Note that DragonFly is a 64-bit-only operating system as of 4.6, and will not run on 32-bit hardware.&lt;/li&gt;
&lt;li&gt;AMD Ryzen is supported and DragonFly 5.0 has a workaround for a &lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2017-August/626190.html" target="_blank" rel="nofollow noopener"&gt;hardware bug&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;DragonFly quickly released a v5.0.1 with a few patches &lt;a href="https://www.dragonflybsd.org/download/" target="_blank" rel="nofollow noopener"&gt;Download link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.project-fifo.net/rvmadm-managing-freebsd-jails/" target="_blank" rel="nofollow noopener"&gt;(r)vmadm – managing FreeBSD jails&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We are releasing the first version (0.1.0) of our clone of vmadm for FreeBSD jails today. It is not done or feature complete, but it does provides basic functionality.  At this point, we think it would be helpful to get it out there and get some feedback. As of today, it allows basic management of datasets, as well as creating, starting, stopping, and destroying jails.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Why another tool to manage jails&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;However, before we go into details let’s talk why we build yet another jail manager? It is not the frequent NIH syndrome, actually quite the opposite. In FiFo 0.9.2 we experimented with iocage as a way to control jails. While iocage is a useful tool when used as a CLI utility it has some issues when used programmatically.&lt;br&gt;
When managing jails automatically and not via a CLI tool things like performance, or a machine parsable interface matter. While on a CLI it is acceptable if a call takes a second or two, for automatically consuming a tool this delay is problematic.&lt;br&gt;
Another reason for the decision was that vmadm is an excellent tool. It is very well designed. SmartOs uses vmadm for years now. Given all that, we opted for adopting a proven interface rather than trying to create a new one. Since we already interface with it on SmartOS, we can reuse a majority of our management code between SmartOS and FreeBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What can we do&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Today we can manage datasets, which are jail templates in the form of ZFS volumes. We can list and serve them from a dataset-server, and fetch those we like want. At this point, we provide datasets for FreeBSD 10.0 to 11.1, but it is very likely that the list will grow. As an idea &lt;a href="https://datasets.at/" target="_blank" rel="nofollow noopener"&gt;here is a community-driven list of datasets&lt;/a&gt; that exist for SmartOS today. Moreover, while those datasets will not work, we hope to see the same for BSD jails.&lt;br&gt;
After fetching the dataset, we can define jails by using a JSON file. This file is compatible with the zone description used on SmartOS. It does not provide all the same features but a subset. Resources such as CPU and memory can be defined, networking configured, a dataset selected and necessary settings like hostname set.&lt;br&gt;
With the jail created, vmadm allows managing its lifetime, starting, stopping it, accessing the console and finally destroying it. Updates to jails are supported to however as of today they are only taken into account after restarting the jail. However, this is in large parts not a technical impossibility but rather wasn’t high up on the TODO list.&lt;br&gt;
It is worth mentioning that vmadm will not pick up jails created in other tools or manually. Only using vmadm created jails was a conscious decision to prevent it interfering with existing setups or other utilities. While conventional tools can manage jails set up with vmadm just fine we use some special tricks like nested jails to allow for restrictions required for multi-tenancy that are hard or impossible to achieve otherwise.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Whats next&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;First and foremost we hope to get some feedback and perhaps community engagement. In the meantime, as &lt;a href="https://blog.project-fifo.net/fifo-in-2017/" target="_blank" rel="nofollow noopener"&gt;announced earlier this year&lt;/a&gt;, we are hard at work integrating FreeBSD hypervisors in FiFo, and as of writing this, the core actions work quite well.&lt;br&gt;
Right now only the barebone functions are supported, some of the output is not as clear as we would like. We hope to eventually add support for behyve to vmadm the same way that it supports KVM on SmartOS. Moreover, the groundwork for this already exists in the nested jail techniques we are using.&lt;br&gt;
Other than that we are exploring ways to allow for PCI pass through in jails, something not possible in SmartOS zones right now that would be beneficial for some users.&lt;br&gt;
In general, we want to improve compatibility with SmartOS as much as possible and features that we add over time should make the specifications invalid for SmartOS.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;You can get the tool &lt;a href="https://github.com/project-fifo/r-vmadm" target="_blank" rel="nofollow noopener"&gt;from github&lt;/a&gt;.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.pixelbeat.org/docs/unix-parallel-tools.html" target="_blank" rel="nofollow noopener"&gt;Parallel processing with unix tools&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;There are various ways to use parallel processing in UNIX:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;piping&lt;br&gt;
An often under appreciated idea in the unix pipe model is that the components of the pipe run in parallel. This is a key advantage leveraged when combining simple commands that do "one thing well"&lt;br&gt;
split -n, xargs -P, parallel&lt;br&gt;
Note programs that are invoked in parallel by these, need to output atomically for each item processed, which the GNU coreutils are careful to do for factor and sha*sum, etc. Generally commands that use stdio for output can be wrapped with the &lt;code&gt;stdbuf -oL&lt;/code&gt; command to avoid intermixing lines from parallel invocations&lt;br&gt;
make -j&lt;br&gt;
Most implementations of make(1) now support the -j option to process targets in parallel. make(1) is generally a higher level tool designed to process disparate tasks and avoid reprocessing already generated targets. For example it is used very effictively when testing coreutils where about 700 tests can be processed in 13 seconds on a 40 core machine.&lt;br&gt;
implicit threading&lt;br&gt;
This goes against the unix model somewhat and definitely adds internal complexity to those tools. The advantages can be less data copying overhead, and simpler usage, though its use needs to be carefully considered. A disadvantage is that one loses the ability to easily distribute commands to separate systems. Examples are GNU sort(1) and turbo-linecount&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The example provided counts lines in parallel:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The examples below will compare the above methods for implementing multi-processing, for the function of counting lines in a file. First of all let's generate some test data. We use both long and short lines to compare the overhead of the various methods compared to the core cost of the function being performed:&lt;br&gt;
$ seq 100000000 &amp;gt; lines.txt  # 100M lines&lt;br&gt;
$ yes $(yes longline | head -n9) | head -n10000000 &amp;gt; long-lines.txt  # 10M lines&lt;/p&gt;

&lt;p&gt;We'll also define the add() { paste -d+ -s | bc; } helper function to add a list of numbers.&lt;br&gt;
Note the following runs were done against cached files, and thus not I/O bound. Therefore we limit the number of processes in parallel to $(nproc), though you would generally benefit to raising that if your jobs are waiting on network or disk etc.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We'll use this command to count lines for most methods, so here is the base non multi-processing performance for comparison:
$ time wc -l lines.txt
$ time wc -l long-lines.txt
split -n
Note using -n alone is not enough to parallelize. For example this will run serially with each chunk, because since --filter may write files, the -n pertains to the number of files to split into rather than the number to process in parallel.
$ time split -n$(nproc) --filter='wc -l' lines.txt | add&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;You can either run multiple invocations of split in parallel on separate portions of the file like:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;$ time for i in $(seq $(nproc)); do&lt;br&gt;
       split -n$i/$(nproc) lines.txt | wc -l&amp;amp;&lt;br&gt;
  done | add&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Or split can do parallel mode using round robin on each line, but that's huge overhead in this case. (Note also the -u option significant with -nr):&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;$ time split -nr/$(nproc) --filter='wc -l' lines.txt | add&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Round robin would only be useful when the processing per item is significant.&lt;/li&gt;
&lt;li&gt;Parallel isn't well suited to processing a large single file, rather focusing on distributing multiple files to commands. It can't efficiently split to lightweight processing if reading sequentially from pipe:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;$ time parallel --will-cite --block=200M --pipe 'wc -l' &amp;lt; lines.txt | add&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Like parallel, xargs is designed to distribute separate files to commands, and with the -P option can do so in parallel. If you have a large file then it may be beneficial to presplit it, which could also help with I/O bottlenecks if the pieces were placed on separate devices:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;split -d -n l/$(nproc) lines.txt l.&lt;br&gt;
Those pieces can then be processed in parallel like:&lt;br&gt;
$ time find -maxdepth 1 -name 'l.*' |&lt;br&gt;
xargs -P$(nproc) -n1 wc -l | cut -f1 -d' ' | add&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;If your file sizes are unrelated to the number of processors then you will probably want to adjust -n1 to batch together more files to reduce the number of processes run in total. Note you should always specify -n with -P to avoid xargs accumulating too many input items, thus impacting the parallelism of the processes it runs.&lt;/li&gt;
&lt;li&gt;make(1) is generally used to process disparate tasks, though can be leveraged to provide low level parallel processing on a bunch of files. Note also the make -O option which avoids the need for commands to output their data atomically, letting make do the synchronization. We'll process the presplit files as generated for the xargs example above, and to support that we'll use the following Makefile:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;%: FORCE     # Always run the command&lt;br&gt;
  @wc -l &amp;lt; $@&lt;br&gt;
FORCE: ;&lt;br&gt;
Makefile: ;  # Don't include Makefile itself&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;One could generate this and pass to make(1) with the -f option, though we'll keep it as a separate Makefile here for simplicity. This performs very well and matches the performance of xargs.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;$ time find -name 'l.*' -exec make -j$(nproc) {} + | add&lt;br&gt;
Note we use the POSIX specified "find ... -exec ... {} +" construct, rather than conflating the example with xargs. This construct like xargs will pass as many files to make as possible, which make(1) will then process in parallel.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://nanxiao.me/en/openbsd-gives-a-hint-on-forgetting-unlock-mutex/" target="_blank" rel="nofollow noopener"&gt;OpenBSD gives a hint on forgetting unlock mutex&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;OpenBSD gives a hint on forgetting unlock mutex&lt;/li&gt;
&lt;li&gt;Check following simple C++ program:
&amp;gt; ```
#include &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;int main(void)&lt;br&gt;
{&lt;br&gt;
    std::mutex m;&lt;br&gt;
    m.lock();&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;return 0;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
+ The mutex m forgot unlock itself before exiting main function:

&amp;gt; ```
m.unlock();
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Test it on GNU/Linux, and I chose ArchLinux as the testbed:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;$ uname -a
Linux fujitsu-i 4.13.7-1-ARCH #1 SMP PREEMPT Sat Oct 14 20:13:26 CEST 2017 x86_64 GNU/Linux
$ clang++ -g -pthread -std=c++11 test_mutex.cpp
$ ./a.out
$
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The process exited normally, and no more words was given. Build and run it on OpenBSD 6.2:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;clang++ -g -pthread -std=c++11 test_mutex.cpp
./a.out
pthread_mutex_destroy on mutex with waiters!
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The OpenBSD prompts “pthread_mutex_destroy on mutex with waiters!“. Interesting!
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2017-October/014148.html" target="_blank" rel="nofollow noopener"&gt;Updates to the NetBSD operating system since OSHUG #57 &amp;amp; #58&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.project-fifo.net/fifo-jails-digital-ocean/" target="_blank" rel="nofollow noopener"&gt;Creating a jail with FiFo and Digital Ocean&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stevenrosenberg.net/blog/bsd/openbsd/2017_0924_openbsd" target="_blank" rel="nofollow noopener"&gt;I'm thinking about OpenBSD again&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/kernel_aslr_on_amd64" target="_blank" rel="nofollow noopener"&gt;Kernel ASLR on amd64&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://people.freebsd.org/%7Erodrigo/fosdem18/" target="_blank" rel="nofollow noopener"&gt;Call for Participation - BSD Devroom at FOSDEM&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/BSD-Users-Stockholm/" target="_blank" rel="nofollow noopener"&gt;BSD Stockholm Meetup&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;architect - &lt;a href="http://dpaste.com/15D5SM4#wrap" target="_blank" rel="nofollow noopener"&gt;vBSDCon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/3MENN0X#wrap" target="_blank" rel="nofollow noopener"&gt;Packages and package dependencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Lars - &lt;a href="http://dpaste.com/2SVS18Y" target="_blank" rel="nofollow noopener"&gt;dpb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Alex &lt;a href="http://dpaste.com/028BCFA#wrap" target="_blank" rel="nofollow noopener"&gt;re: PS4 Network Throttling&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We have a first PS4 kernel exploit, the long awaited OpenZFS devsummit report by Allan, DragonflyBSD 5.0 is out, we show you vmadm to manage jails, and parallel processing with Unix tools.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://fail0verflow.com/blog/2017/ps4-namedobj-exploit/" target="_blank" rel="nofollow noopener">The First PS4 Kernel Exploit: Adieu</a></h3>

<ul>
<li>The First PS4 Kernel Exploit: Adieu</li>
</ul>

<blockquote>
<p>Plenty of time has passed since we first demonstrated Linux running on the PS4.  Now we will step back a bit and explain how we managed to jump from the browser process into the kernel such that ps4-kexec et al. are usable.  Over time, ps4 firmware revisions have progressively added many mitigations and in general tried to lock down the system. This post will mainly touch on vulnerabilities and issues which are not present on the latest releases, but should still be useful for people wanting to investigate ps4 security.</p>
</blockquote>

<ul>
<li>Vulnerability Discovery</li>
</ul>

<blockquote>
<p>As previously explained, we were able to get a dump of the ps4 firmware 1.01 kernel via a PCIe man-in-the-middle attack. Like all FreeBSD kernels, this image included export symbols - symbols which are required to perform kernel and module initialization processes. However, the ps4 1.01 kernel also included full ELF symbols (obviously an oversight as they have been removed in later firmware versions). This oversight was beneficial to the reverse engineering process, although of course not a true prerequisite. Indeed, we began exploring the kernel by examining built-in metadata in the form of the syscall handler table - focusing on the ps4-specific entries.<br>
Each process object in the kernel contains its own idt (ID Table) object. As can be inferred from the snippet above, the hash table essentially just stores pointers to opaque data blobs, along with a given kind and name. Entries may be accessed (and thus locked) with either read or write intent. Note that IDT_TYPE is not a bitfield consisting of only unique powers of 2. This means that if we can control the kind of an id_entry, we may be able to cause a type confusion to occur (it is assumed that we may control name).</p>
</blockquote>

<ul>
<li>Exploitation</li>
</ul>

<blockquote>
<p>To an exploiter without ps4 background, it might seem that the easiest way to exploit this bug would be to take advantage of the write off the end of the mallocd namedobj_usr_t object. However, this turns out to be impossible (as far as I know) because of a side effect of the ps4 page size being changed to 0x4000 bytes (from the normal of 0x1000). It appears that in order to change the page size globally, the ps4 kernel developers opted to directly change the related macros. One of the many changes resulting from this is that the smallest actual amount of memory which malloc may give back to a caller becomes 0x40 bytes. While this also results in tons of memory being completely wasted, it does serve to nullify certain exploitation techniques (likely completely by accident).</p>
</blockquote>

<ul>
<li>Adieu</li>
</ul>

<blockquote>
<p>The namedobj exploit was present and exploitable (albeit using a slightly different method than described here) until it was fixed in firmware version 4.06. This vulnerability was also found and exploited by (at least) Chaitin Tech, so props to them! Taking a quick look at the 4.07 kernel, we can see a straightforward fix (4.06 is assumed to be identical - only had 4.07 on hand while writing this post):</p>

<pre><code>int sys_namedobj_create(struct thread *td, void *args) {
  // ...
  rv = EINVAL;
  kind = *((_DWORD *)args + 4)
  if ( !(kind &amp; 0x4000) &amp;&amp; *(_QWORD *)args ) {
    // ... (unchanged)
  }
  return rv;
}
</code></pre>

<p>And so we say goodbye to a nice exploit. I hope you enjoyed this blast from the past :) Keep hacking!</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/openzfs-devsummit-2017/" target="_blank" rel="nofollow noopener">OpenZFS Developer Summit 2017 Recap</a></h3>

<blockquote>
<p>The 5th annual OpenZFS Developer Summit was held in San Francisco on October 24-25. Hosted by Delphix at the Childrens Creativity Museum in San Francisco, over a hundred OpenZFS contributors from a wide variety of companies attended and collaborated during the conference and developer summit. iXsystems was a Gold sponsor and several iXsystems employees attended the conference, including the entire Technical Documentation Team, the Director of Engineering, the Senior Analyst, a Tier 3 Support Engineer, and a Tier 2 QA Engineer.<br>
Day 1 of the conference had 9 highly detailed, informative, and interactive technical presentations from companies which use or contribute to OpenZFS. The presentations highlighted improvements to OpenZFS developed in-house at each of these companies, with most improvements looking to be made available to the entire OpenZFS community in the near to long term. Theres a lot of exciting stuff happening in the OpenZFS community and this post provides an overview of the presented features and proof-of-concepts.<br>
The keynote was delivered by Mark Maybee who spoke about the past, present, and future of ZFS at Oracle. An original ZFS developer, he outlined the history of closed-source ZFS development after Oracles acquisition of Sun. ZFS has a fascinating history, as the project has evolved over the last decade in both open and closed source forms, independent of one another. While Oracles proprietary internal version of ZFS has diverged from OpenZFS, it has implemented many of the same features. Mark was very proud of the work his team had accomplished over the years, claiming Oracles ZFS products have accounted for over a billion dollars in sales and are used in the vast majority of Fortune 100 companies. However, with Oracle aggressively moving into cloud storage, the future of closed source ZFS is uncertain. Mark presented a few ideas to transform ZFS into a mainstream and standard file system, including adding more robust support for Linux.<br>
Allan Jude from ScaleEngine talked about ZStandard, a new compression method he is developing in collaboration with Facebook. It offers compression comparable to gzip, but at speeds fast enough to keep up with hard drive bandwidth. According to early testing, it improves both the speed and compression efficiency over the current LZ4 compression algorithm. It also offers a new dictionary feature for improving image compression, which is of particular interest to Facebook. In addition, when using ZFS send and receive, it will adapt the compression ratio to make the most efficient use of the network bandwidth.<br>
Currently, deleting a clone on ZFS is a time-consuming process, especially when dealing with large datasets that have diverged over time. Sara Hartse from Delphix described how clone fast delete speeds up clone deletion. Rather than traversing the entire dataset during clone deletion, changes to the clone are tracked in a live list which the delete process uses to determine which blocks to free.  In addition, rather than having to wait for the clone to finish, the delete process backgrounds the task so you can keep working without any interruptions. Sara shared the findings of a test they ran on a clone with 500MB of data, which took 45 minutes to delete with the old method, and under a minute using the live list. This behavior is an optional property as it may not be appropriate for long-lived clones where deletion times are not a concern. At this time, it does not support promoted clones.<br>
Olaf Faaland from Lawrence Livermore National Labs demonstrated the progress his team has made to improve ZFS pool imports with MMP (Multi-Modifier Protection), a watchdog system to make sure that ZFS pools in clustered High Availability environments are not imported by more than one host at a time.  MMP uses uberblocks and other low-level ZFS features to monitor pool import status and otherwise safeguard the import process. MMP adds fields to on-disk metadata so it does not depend on hardware, such as SAS. It supports multi-node HA configs and does not affect non-HA systems. However, it does have issues with long I/O delays so existing HA software is recommended as an additional fallback.<br>
Jörgen Lundman of GMO Internet gave an entertaining talk on the trials and tribulations of porting ZFS to OS X.  As a bonus, he talked about porting ZFS to Windows, and showed a working demo.  While not yet in a usable state, it demonstrated a proof-of-concept of ZFS support for other platforms.<br>
Serapheim Dimitropoulos from Delphix discussed Faster Allocation with the Log Spacemap as a means of optimizing ZFS allocation performance. He began with an in-depth overview of metaslabs and how log spacemaps are used to track allocated and freed blocks. Since blocks are only allocated from loaded metaslabs but freed blocks may apply to any metaslab, over time logging the freed blocks to each appropriate metaslab with every txg becomes less efficient. Their solution is to create a pool-wide metaslab for unflushed entries.<br>
Shailendra Tripathi from Tegile presented iFlash: Dynamic Adaptive L2ARC Caching. This was an interesting talk on what is required to allow very different classes of resources to share the same flash devicein their case, ZIL, L2ARC, and metadata. To achieve this, they needed to address the following differences for each class: queue priority, metaslab load policy, allocation, and data protection (as cache has no redundancy).<br>
Isaac Huang of Intel introduced DRAID, or parity declustered RAID. Once available, this will provide the same levels of redundancy as traditional RAIDZ, providing the administrator doubles the amount of options for providing redundancy for their use case. The goals of DRAID are to address slow resilvering times and the write throughput of a single replacement drive being a bottleneck. This solution skips block pointer tree traversal when rebuilding the pool after drive failure, which is the cause of long resilver times. This means that redundancy is restored quickly, mitigating the risk of losing additional drives before the resilver completes, but it does require a scrub afterwards to confirm data integrity. This solution supports logical spares, which must be defined at vdev creation time, which are used to quickly restore the array.<br>
Prakash Surya of Delphix described how ZIL commits currently occur in batches, where waiting threads have to wait for the batch to complete. His proposed solution was to replace batch commits and to instead notify the waiting thread after its ZIL commit in order to greatly increase throughput.  A new tunable for the log write block timeout can also be used to log write blocks more efficiently.<br>
Overall, the quality of the presentations at the 2017 OpenZFS conference was high. While quite technical, they clearly explained the scope of the problems being addressed and how the proposed solutions worked. We look forward to seeing the described features integrated into OpenZFS. The videos and slides for the presentations should be made available over the next month or so at the OpenZFS website.</p>
</blockquote>

<ul>
<li><a href="https://photos.google.com/share/AF1QipNxYQuOm5RDxRgRQ4P8BhtoLDpyCuORKWiLPT0WlvUmZYDdrX3334zu5lvY_sxRBA?key=MW5fR05MdUdPaXFKVDliQVJEb3N3Uy1uMVFFdVdR" target="_blank" rel="nofollow noopener">OpenZFS Photo Album</a></li>
</ul>

<hr>

<h3><a href="https://www.dragonflybsd.org/release50/" target="_blank" rel="nofollow noopener">DragonflyBSD 5.0</a></h3>

<ul>
<li>DragonFly version 5.0 brings the first bootable release of HAMMER2, DragonFly's next generation file system.</li>
<li>HAMMER2

<ul>
<li>Preliminary HAMMER2 support has been released into the wild as-of the 5.0 release. This support is considered EXPERIMENTAL and should generally not yet be used for production machines and important data. The boot loader will support both UFS and HAMMER2 /boot. The installer will still use a UFS /boot even for a HAMMER2 installation because the /boot partition is typically very small and HAMMER2, like HAMMER1, does not instantly free space when files are deleted or replaced.</li>
<li>DragonFly 5.0 has single-image HAMMER2 support, with live dedup (for cp's), compression, fast recovery, snapshot, and boot support. HAMMER2 does not yet support multi-volume or clustering, though commands for it exist. Please use non-clustered single images for now.</li>
</ul></li>
<li>ipfw Updates

<ul>
<li>IPFW has gone through a number of updates in DragonFly and now offers better performance. pf and ipfw3 are also still supported.</li>
</ul></li>
<li>Improved graphics support

<ul>
<li>The i915 driver has been brought up to match what's in the Linux 4.7.10 kernel. Intel GPUs are supported up to the Kabylake generation.</li>
<li>vga_switcheroo(4) module added, allowing the use of Intel GPUs on hybrid-graphics systems.</li>
<li>The new apple_gmux driver enables switching to the Intel video chipset on dual Intel/NVIDIA and Intel/Radeon Macbook computers.</li>
</ul></li>
<li>Other user-affecting changes

<ul>
<li>efisetup(8) added.</li>
<li>DragonFly can now support over 900,000 processes on a single machine.</li>
<li>Client-side SSH by default does not try password authentication, which is the default behavior in newer versions of OpenSSH. Pass an explicit '-o PasswordAuthentication=yes' or change /etc/ssh/ssh_config if you need the old behavior. Public key users are unaffected.</li>
</ul></li>
<li>Clang status

<ul>
<li>A starting framework has been added for using clang as the alternate base compiler in DragonFly, to replace gcc 4.7. It's not yet complete. Clang can of course be added as a package.</li>
</ul></li>
<li>Package updates

<ul>
<li>Many package updates but I think most notably we need to point to chrome60 finally getting into dports with accelerated video and graphics support.</li>
</ul></li>
<li>64-bit status

<ul>
<li>Note that DragonFly is a 64-bit-only operating system as of 4.6, and will not run on 32-bit hardware.</li>
<li>AMD Ryzen is supported and DragonFly 5.0 has a workaround for a <a href="http://lists.dragonflybsd.org/pipermail/commits/2017-August/626190.html" target="_blank" rel="nofollow noopener">hardware bug</a>.</li>
</ul></li>
<li>DragonFly quickly released a v5.0.1 with a few patches <a href="https://www.dragonflybsd.org/download/" target="_blank" rel="nofollow noopener">Download link</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.project-fifo.net/rvmadm-managing-freebsd-jails/" target="_blank" rel="nofollow noopener">(r)vmadm  managing FreeBSD jails</a></h3>

<blockquote>
<p>We are releasing the first version (0.1.0) of our clone of vmadm for FreeBSD jails today. It is not done or feature complete, but it does provides basic functionality.  At this point, we think it would be helpful to get it out there and get some feedback. As of today, it allows basic management of datasets, as well as creating, starting, stopping, and destroying jails.</p>
</blockquote>

<ul>
<li>Why another tool to manage jails</li>
</ul>

<blockquote>
<p>However, before we go into details lets talk why we build yet another jail manager? It is not the frequent NIH syndrome, actually quite the opposite. In FiFo 0.9.2 we experimented with iocage as a way to control jails. While iocage is a useful tool when used as a CLI utility it has some issues when used programmatically.<br>
When managing jails automatically and not via a CLI tool things like performance, or a machine parsable interface matter. While on a CLI it is acceptable if a call takes a second or two, for automatically consuming a tool this delay is problematic.<br>
Another reason for the decision was that vmadm is an excellent tool. It is very well designed. SmartOs uses vmadm for years now. Given all that, we opted for adopting a proven interface rather than trying to create a new one. Since we already interface with it on SmartOS, we can reuse a majority of our management code between SmartOS and FreeBSD.</p>
</blockquote>

<ul>
<li>What can we do</li>
</ul>

<blockquote>
<p>Today we can manage datasets, which are jail templates in the form of ZFS volumes. We can list and serve them from a dataset-server, and fetch those we like want. At this point, we provide datasets for FreeBSD 10.0 to 11.1, but it is very likely that the list will grow. As an idea <a href="https://datasets.at/" target="_blank" rel="nofollow noopener">here is a community-driven list of datasets</a> that exist for SmartOS today. Moreover, while those datasets will not work, we hope to see the same for BSD jails.<br>
After fetching the dataset, we can define jails by using a JSON file. This file is compatible with the zone description used on SmartOS. It does not provide all the same features but a subset. Resources such as CPU and memory can be defined, networking configured, a dataset selected and necessary settings like hostname set.<br>
With the jail created, vmadm allows managing its lifetime, starting, stopping it, accessing the console and finally destroying it. Updates to jails are supported to however as of today they are only taken into account after restarting the jail. However, this is in large parts not a technical impossibility but rather wasnt high up on the TODO list.<br>
It is worth mentioning that vmadm will not pick up jails created in other tools or manually. Only using vmadm created jails was a conscious decision to prevent it interfering with existing setups or other utilities. While conventional tools can manage jails set up with vmadm just fine we use some special tricks like nested jails to allow for restrictions required for multi-tenancy that are hard or impossible to achieve otherwise.</p>
</blockquote>

<ul>
<li>Whats next</li>
</ul>

<blockquote>
<p>First and foremost we hope to get some feedback and perhaps community engagement. In the meantime, as <a href="https://blog.project-fifo.net/fifo-in-2017/" target="_blank" rel="nofollow noopener">announced earlier this year</a>, we are hard at work integrating FreeBSD hypervisors in FiFo, and as of writing this, the core actions work quite well.<br>
Right now only the barebone functions are supported, some of the output is not as clear as we would like. We hope to eventually add support for behyve to vmadm the same way that it supports KVM on SmartOS. Moreover, the groundwork for this already exists in the nested jail techniques we are using.<br>
Other than that we are exploring ways to allow for PCI pass through in jails, something not possible in SmartOS zones right now that would be beneficial for some users.<br>
In general, we want to improve compatibility with SmartOS as much as possible and features that we add over time should make the specifications invalid for SmartOS.</p>
</blockquote>

<ul>
<li>You can get the tool <a href="https://github.com/project-fifo/r-vmadm" target="_blank" rel="nofollow noopener">from github</a>.
***</li>
</ul>

<h3><a href="http://www.pixelbeat.org/docs/unix-parallel-tools.html" target="_blank" rel="nofollow noopener">Parallel processing with unix tools</a></h3>

<ul>
<li>There are various ways to use parallel processing in UNIX:</li>
</ul>

<blockquote>
<p>piping<br>
An often under appreciated idea in the unix pipe model is that the components of the pipe run in parallel. This is a key advantage leveraged when combining simple commands that do "one thing well"<br>
split -n, xargs -P, parallel<br>
Note programs that are invoked in parallel by these, need to output atomically for each item processed, which the GNU coreutils are careful to do for factor and sha*sum, etc. Generally commands that use stdio for output can be wrapped with the <code>stdbuf -oL</code> command to avoid intermixing lines from parallel invocations<br>
make -j<br>
Most implementations of make(1) now support the -j option to process targets in parallel. make(1) is generally a higher level tool designed to process disparate tasks and avoid reprocessing already generated targets. For example it is used very effictively when testing coreutils where about 700 tests can be processed in 13 seconds on a 40 core machine.<br>
implicit threading<br>
This goes against the unix model somewhat and definitely adds internal complexity to those tools. The advantages can be less data copying overhead, and simpler usage, though its use needs to be carefully considered. A disadvantage is that one loses the ability to easily distribute commands to separate systems. Examples are GNU sort(1) and turbo-linecount</p>
</blockquote>

<ul>
<li>The example provided counts lines in parallel:</li>
</ul>

<blockquote>
<p>The examples below will compare the above methods for implementing multi-processing, for the function of counting lines in a file. First of all let's generate some test data. We use both long and short lines to compare the overhead of the various methods compared to the core cost of the function being performed:<br>
$ seq 100000000 &gt; lines.txt  # 100M lines<br>
$ yes $(yes longline | head -n9) | head -n10000000 &gt; long-lines.txt  # 10M lines</p>

<p>We'll also define the add() { paste -d+ -s | bc; } helper function to add a list of numbers.<br>
Note the following runs were done against cached files, and thus not I/O bound. Therefore we limit the number of processes in parallel to $(nproc), though you would generally benefit to raising that if your jobs are waiting on network or disk etc.</p>

<ul>
<li>We'll use this command to count lines for most methods, so here is the base non multi-processing performance for comparison:
$ time wc -l lines.txt
$ time wc -l long-lines.txt
split -n
Note using -n alone is not enough to parallelize. For example this will run serially with each chunk, because since --filter may write files, the -n pertains to the number of files to split into rather than the number to process in parallel.
$ time split -n$(nproc) --filter='wc -l' lines.txt | add</li>
</ul>
</blockquote>

<ul>
<li>You can either run multiple invocations of split in parallel on separate portions of the file like:</li>
</ul>

<blockquote>
<p>$ time for i in $(seq $(nproc)); do<br>
       split -n$i/$(nproc) lines.txt | wc -l&amp;<br>
  done | add</p>
</blockquote>

<ul>
<li>Or split can do parallel mode using round robin on each line, but that's huge overhead in this case. (Note also the -u option significant with -nr):</li>
</ul>

<blockquote>
<p>$ time split -nr/$(nproc) --filter='wc -l' lines.txt | add</p>
</blockquote>

<ul>
<li>Round robin would only be useful when the processing per item is significant.</li>
<li>Parallel isn't well suited to processing a large single file, rather focusing on distributing multiple files to commands. It can't efficiently split to lightweight processing if reading sequentially from pipe:</li>
</ul>

<blockquote>
<p>$ time parallel --will-cite --block=200M --pipe 'wc -l' &lt; lines.txt | add</p>
</blockquote>

<ul>
<li>Like parallel, xargs is designed to distribute separate files to commands, and with the -P option can do so in parallel. If you have a large file then it may be beneficial to presplit it, which could also help with I/O bottlenecks if the pieces were placed on separate devices:</li>
</ul>

<blockquote>
<p>split -d -n l/$(nproc) lines.txt l.<br>
Those pieces can then be processed in parallel like:<br>
$ time find -maxdepth 1 -name 'l.*' |<br>
xargs -P$(nproc) -n1 wc -l | cut -f1 -d' ' | add</p>
</blockquote>

<ul>
<li>If your file sizes are unrelated to the number of processors then you will probably want to adjust -n1 to batch together more files to reduce the number of processes run in total. Note you should always specify -n with -P to avoid xargs accumulating too many input items, thus impacting the parallelism of the processes it runs.</li>
<li>make(1) is generally used to process disparate tasks, though can be leveraged to provide low level parallel processing on a bunch of files. Note also the make -O option which avoids the need for commands to output their data atomically, letting make do the synchronization. We'll process the presplit files as generated for the xargs example above, and to support that we'll use the following Makefile:</li>
</ul>

<blockquote>
<p>%: FORCE     # Always run the command<br>
  @wc -l &lt; $@<br>
FORCE: ;<br>
Makefile: ;  # Don't include Makefile itself</p>
</blockquote>

<ul>
<li>One could generate this and pass to make(1) with the -f option, though we'll keep it as a separate Makefile here for simplicity. This performs very well and matches the performance of xargs.</li>
</ul>

<blockquote>
<p>$ time find -name 'l.*' -exec make -j$(nproc) {} + | add<br>
Note we use the POSIX specified "find ... -exec ... {} +" construct, rather than conflating the example with xargs. This construct like xargs will pass as many files to make as possible, which make(1) will then process in parallel.</p>

<hr>
</blockquote>

<h3><a href="http://nanxiao.me/en/openbsd-gives-a-hint-on-forgetting-unlock-mutex/" target="_blank" rel="nofollow noopener">OpenBSD gives a hint on forgetting unlock mutex</a></h3>

<ul>
<li>OpenBSD gives a hint on forgetting unlock mutex</li>
<li>Check following simple C++ program:
&gt; ```
#include </li>
</ul>

<p>int main(void)<br>
{<br>
    std::mutex m;<br>
    m.lock();</p>

<pre><code>return 0;
</code></pre>

<p>}</p>

<pre><code>
+ The mutex m forgot unlock itself before exiting main function:

&gt; ```
m.unlock();
</code></pre>

<ul>
<li>Test it on GNU/Linux, and I chose ArchLinux as the testbed:</li>
</ul>

<blockquote>
<pre><code>$ uname -a
Linux fujitsu-i 4.13.7-1-ARCH #1 SMP PREEMPT Sat Oct 14 20:13:26 CEST 2017 x86_64 GNU/Linux
$ clang++ -g -pthread -std=c++11 test_mutex.cpp
$ ./a.out
$
</code></pre>
</blockquote>

<ul>
<li>The process exited normally, and no more words was given. Build and run it on OpenBSD 6.2:</li>
</ul>

<blockquote>
<pre><code>clang++ -g -pthread -std=c++11 test_mutex.cpp
./a.out
pthread_mutex_destroy on mutex with waiters!
</code></pre>
</blockquote>

<ul>
<li>The OpenBSD prompts pthread_mutex_destroy on mutex with waiters!. Interesting!
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2017-October/014148.html" target="_blank" rel="nofollow noopener">Updates to the NetBSD operating system since OSHUG #57 &amp; #58</a></li>
<li><a href="https://blog.project-fifo.net/fifo-jails-digital-ocean/" target="_blank" rel="nofollow noopener">Creating a jail with FiFo and Digital Ocean</a></li>
<li><a href="http://stevenrosenberg.net/blog/bsd/openbsd/2017_0924_openbsd" target="_blank" rel="nofollow noopener">I'm thinking about OpenBSD again</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/kernel_aslr_on_amd64" target="_blank" rel="nofollow noopener">Kernel ASLR on amd64</a></li>
<li><a href="https://people.freebsd.org/%7Erodrigo/fosdem18/" target="_blank" rel="nofollow noopener">Call for Participation - BSD Devroom at FOSDEM</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/" target="_blank" rel="nofollow noopener">BSD Stockholm Meetup</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>architect - <a href="http://dpaste.com/15D5SM4#wrap" target="_blank" rel="nofollow noopener">vBSDCon</a></li>
<li>Brad - <a href="http://dpaste.com/3MENN0X#wrap" target="_blank" rel="nofollow noopener">Packages and package dependencies</a></li>
<li>Lars - <a href="http://dpaste.com/2SVS18Y" target="_blank" rel="nofollow noopener">dpb</a></li>
<li>Alex <a href="http://dpaste.com/028BCFA#wrap" target="_blank" rel="nofollow noopener">re: PS4 Network Throttling</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We have a first PS4 kernel exploit, the long awaited OpenZFS devsummit report by Allan, DragonflyBSD 5.0 is out, we show you vmadm to manage jails, and parallel processing with Unix tools.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://fail0verflow.com/blog/2017/ps4-namedobj-exploit/" target="_blank" rel="nofollow noopener">The First PS4 Kernel Exploit: Adieu</a></h3>

<ul>
<li>The First PS4 Kernel Exploit: Adieu</li>
</ul>

<blockquote>
<p>Plenty of time has passed since we first demonstrated Linux running on the PS4.  Now we will step back a bit and explain how we managed to jump from the browser process into the kernel such that ps4-kexec et al. are usable.  Over time, ps4 firmware revisions have progressively added many mitigations and in general tried to lock down the system. This post will mainly touch on vulnerabilities and issues which are not present on the latest releases, but should still be useful for people wanting to investigate ps4 security.</p>
</blockquote>

<ul>
<li>Vulnerability Discovery</li>
</ul>

<blockquote>
<p>As previously explained, we were able to get a dump of the ps4 firmware 1.01 kernel via a PCIe man-in-the-middle attack. Like all FreeBSD kernels, this image included export symbols - symbols which are required to perform kernel and module initialization processes. However, the ps4 1.01 kernel also included full ELF symbols (obviously an oversight as they have been removed in later firmware versions). This oversight was beneficial to the reverse engineering process, although of course not a true prerequisite. Indeed, we began exploring the kernel by examining built-in metadata in the form of the syscall handler table - focusing on the ps4-specific entries.<br>
Each process object in the kernel contains its own idt (ID Table) object. As can be inferred from the snippet above, the hash table essentially just stores pointers to opaque data blobs, along with a given kind and name. Entries may be accessed (and thus locked) with either read or write intent. Note that IDT_TYPE is not a bitfield consisting of only unique powers of 2. This means that if we can control the kind of an id_entry, we may be able to cause a type confusion to occur (it is assumed that we may control name).</p>
</blockquote>

<ul>
<li>Exploitation</li>
</ul>

<blockquote>
<p>To an exploiter without ps4 background, it might seem that the easiest way to exploit this bug would be to take advantage of the write off the end of the mallocd namedobj_usr_t object. However, this turns out to be impossible (as far as I know) because of a side effect of the ps4 page size being changed to 0x4000 bytes (from the normal of 0x1000). It appears that in order to change the page size globally, the ps4 kernel developers opted to directly change the related macros. One of the many changes resulting from this is that the smallest actual amount of memory which malloc may give back to a caller becomes 0x40 bytes. While this also results in tons of memory being completely wasted, it does serve to nullify certain exploitation techniques (likely completely by accident).</p>
</blockquote>

<ul>
<li>Adieu</li>
</ul>

<blockquote>
<p>The namedobj exploit was present and exploitable (albeit using a slightly different method than described here) until it was fixed in firmware version 4.06. This vulnerability was also found and exploited by (at least) Chaitin Tech, so props to them! Taking a quick look at the 4.07 kernel, we can see a straightforward fix (4.06 is assumed to be identical - only had 4.07 on hand while writing this post):</p>

<pre><code>int sys_namedobj_create(struct thread *td, void *args) {
  // ...
  rv = EINVAL;
  kind = *((_DWORD *)args + 4)
  if ( !(kind &amp; 0x4000) &amp;&amp; *(_QWORD *)args ) {
    // ... (unchanged)
  }
  return rv;
}
</code></pre>

<p>And so we say goodbye to a nice exploit. I hope you enjoyed this blast from the past :) Keep hacking!</p>
</blockquote>

<hr>

<h3><a href="https://www.ixsystems.com/blog/openzfs-devsummit-2017/" target="_blank" rel="nofollow noopener">OpenZFS Developer Summit 2017 Recap</a></h3>

<blockquote>
<p>The 5th annual OpenZFS Developer Summit was held in San Francisco on October 24-25. Hosted by Delphix at the Childrens Creativity Museum in San Francisco, over a hundred OpenZFS contributors from a wide variety of companies attended and collaborated during the conference and developer summit. iXsystems was a Gold sponsor and several iXsystems employees attended the conference, including the entire Technical Documentation Team, the Director of Engineering, the Senior Analyst, a Tier 3 Support Engineer, and a Tier 2 QA Engineer.<br>
Day 1 of the conference had 9 highly detailed, informative, and interactive technical presentations from companies which use or contribute to OpenZFS. The presentations highlighted improvements to OpenZFS developed in-house at each of these companies, with most improvements looking to be made available to the entire OpenZFS community in the near to long term. Theres a lot of exciting stuff happening in the OpenZFS community and this post provides an overview of the presented features and proof-of-concepts.<br>
The keynote was delivered by Mark Maybee who spoke about the past, present, and future of ZFS at Oracle. An original ZFS developer, he outlined the history of closed-source ZFS development after Oracles acquisition of Sun. ZFS has a fascinating history, as the project has evolved over the last decade in both open and closed source forms, independent of one another. While Oracles proprietary internal version of ZFS has diverged from OpenZFS, it has implemented many of the same features. Mark was very proud of the work his team had accomplished over the years, claiming Oracles ZFS products have accounted for over a billion dollars in sales and are used in the vast majority of Fortune 100 companies. However, with Oracle aggressively moving into cloud storage, the future of closed source ZFS is uncertain. Mark presented a few ideas to transform ZFS into a mainstream and standard file system, including adding more robust support for Linux.<br>
Allan Jude from ScaleEngine talked about ZStandard, a new compression method he is developing in collaboration with Facebook. It offers compression comparable to gzip, but at speeds fast enough to keep up with hard drive bandwidth. According to early testing, it improves both the speed and compression efficiency over the current LZ4 compression algorithm. It also offers a new dictionary feature for improving image compression, which is of particular interest to Facebook. In addition, when using ZFS send and receive, it will adapt the compression ratio to make the most efficient use of the network bandwidth.<br>
Currently, deleting a clone on ZFS is a time-consuming process, especially when dealing with large datasets that have diverged over time. Sara Hartse from Delphix described how clone fast delete speeds up clone deletion. Rather than traversing the entire dataset during clone deletion, changes to the clone are tracked in a live list which the delete process uses to determine which blocks to free.  In addition, rather than having to wait for the clone to finish, the delete process backgrounds the task so you can keep working without any interruptions. Sara shared the findings of a test they ran on a clone with 500MB of data, which took 45 minutes to delete with the old method, and under a minute using the live list. This behavior is an optional property as it may not be appropriate for long-lived clones where deletion times are not a concern. At this time, it does not support promoted clones.<br>
Olaf Faaland from Lawrence Livermore National Labs demonstrated the progress his team has made to improve ZFS pool imports with MMP (Multi-Modifier Protection), a watchdog system to make sure that ZFS pools in clustered High Availability environments are not imported by more than one host at a time.  MMP uses uberblocks and other low-level ZFS features to monitor pool import status and otherwise safeguard the import process. MMP adds fields to on-disk metadata so it does not depend on hardware, such as SAS. It supports multi-node HA configs and does not affect non-HA systems. However, it does have issues with long I/O delays so existing HA software is recommended as an additional fallback.<br>
Jörgen Lundman of GMO Internet gave an entertaining talk on the trials and tribulations of porting ZFS to OS X.  As a bonus, he talked about porting ZFS to Windows, and showed a working demo.  While not yet in a usable state, it demonstrated a proof-of-concept of ZFS support for other platforms.<br>
Serapheim Dimitropoulos from Delphix discussed Faster Allocation with the Log Spacemap as a means of optimizing ZFS allocation performance. He began with an in-depth overview of metaslabs and how log spacemaps are used to track allocated and freed blocks. Since blocks are only allocated from loaded metaslabs but freed blocks may apply to any metaslab, over time logging the freed blocks to each appropriate metaslab with every txg becomes less efficient. Their solution is to create a pool-wide metaslab for unflushed entries.<br>
Shailendra Tripathi from Tegile presented iFlash: Dynamic Adaptive L2ARC Caching. This was an interesting talk on what is required to allow very different classes of resources to share the same flash devicein their case, ZIL, L2ARC, and metadata. To achieve this, they needed to address the following differences for each class: queue priority, metaslab load policy, allocation, and data protection (as cache has no redundancy).<br>
Isaac Huang of Intel introduced DRAID, or parity declustered RAID. Once available, this will provide the same levels of redundancy as traditional RAIDZ, providing the administrator doubles the amount of options for providing redundancy for their use case. The goals of DRAID are to address slow resilvering times and the write throughput of a single replacement drive being a bottleneck. This solution skips block pointer tree traversal when rebuilding the pool after drive failure, which is the cause of long resilver times. This means that redundancy is restored quickly, mitigating the risk of losing additional drives before the resilver completes, but it does require a scrub afterwards to confirm data integrity. This solution supports logical spares, which must be defined at vdev creation time, which are used to quickly restore the array.<br>
Prakash Surya of Delphix described how ZIL commits currently occur in batches, where waiting threads have to wait for the batch to complete. His proposed solution was to replace batch commits and to instead notify the waiting thread after its ZIL commit in order to greatly increase throughput.  A new tunable for the log write block timeout can also be used to log write blocks more efficiently.<br>
Overall, the quality of the presentations at the 2017 OpenZFS conference was high. While quite technical, they clearly explained the scope of the problems being addressed and how the proposed solutions worked. We look forward to seeing the described features integrated into OpenZFS. The videos and slides for the presentations should be made available over the next month or so at the OpenZFS website.</p>
</blockquote>

<ul>
<li><a href="https://photos.google.com/share/AF1QipNxYQuOm5RDxRgRQ4P8BhtoLDpyCuORKWiLPT0WlvUmZYDdrX3334zu5lvY_sxRBA?key=MW5fR05MdUdPaXFKVDliQVJEb3N3Uy1uMVFFdVdR" target="_blank" rel="nofollow noopener">OpenZFS Photo Album</a></li>
</ul>

<hr>

<h3><a href="https://www.dragonflybsd.org/release50/" target="_blank" rel="nofollow noopener">DragonflyBSD 5.0</a></h3>

<ul>
<li>DragonFly version 5.0 brings the first bootable release of HAMMER2, DragonFly's next generation file system.</li>
<li>HAMMER2

<ul>
<li>Preliminary HAMMER2 support has been released into the wild as-of the 5.0 release. This support is considered EXPERIMENTAL and should generally not yet be used for production machines and important data. The boot loader will support both UFS and HAMMER2 /boot. The installer will still use a UFS /boot even for a HAMMER2 installation because the /boot partition is typically very small and HAMMER2, like HAMMER1, does not instantly free space when files are deleted or replaced.</li>
<li>DragonFly 5.0 has single-image HAMMER2 support, with live dedup (for cp's), compression, fast recovery, snapshot, and boot support. HAMMER2 does not yet support multi-volume or clustering, though commands for it exist. Please use non-clustered single images for now.</li>
</ul></li>
<li>ipfw Updates

<ul>
<li>IPFW has gone through a number of updates in DragonFly and now offers better performance. pf and ipfw3 are also still supported.</li>
</ul></li>
<li>Improved graphics support

<ul>
<li>The i915 driver has been brought up to match what's in the Linux 4.7.10 kernel. Intel GPUs are supported up to the Kabylake generation.</li>
<li>vga_switcheroo(4) module added, allowing the use of Intel GPUs on hybrid-graphics systems.</li>
<li>The new apple_gmux driver enables switching to the Intel video chipset on dual Intel/NVIDIA and Intel/Radeon Macbook computers.</li>
</ul></li>
<li>Other user-affecting changes

<ul>
<li>efisetup(8) added.</li>
<li>DragonFly can now support over 900,000 processes on a single machine.</li>
<li>Client-side SSH by default does not try password authentication, which is the default behavior in newer versions of OpenSSH. Pass an explicit '-o PasswordAuthentication=yes' or change /etc/ssh/ssh_config if you need the old behavior. Public key users are unaffected.</li>
</ul></li>
<li>Clang status

<ul>
<li>A starting framework has been added for using clang as the alternate base compiler in DragonFly, to replace gcc 4.7. It's not yet complete. Clang can of course be added as a package.</li>
</ul></li>
<li>Package updates

<ul>
<li>Many package updates but I think most notably we need to point to chrome60 finally getting into dports with accelerated video and graphics support.</li>
</ul></li>
<li>64-bit status

<ul>
<li>Note that DragonFly is a 64-bit-only operating system as of 4.6, and will not run on 32-bit hardware.</li>
<li>AMD Ryzen is supported and DragonFly 5.0 has a workaround for a <a href="http://lists.dragonflybsd.org/pipermail/commits/2017-August/626190.html" target="_blank" rel="nofollow noopener">hardware bug</a>.</li>
</ul></li>
<li>DragonFly quickly released a v5.0.1 with a few patches <a href="https://www.dragonflybsd.org/download/" target="_blank" rel="nofollow noopener">Download link</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.project-fifo.net/rvmadm-managing-freebsd-jails/" target="_blank" rel="nofollow noopener">(r)vmadm  managing FreeBSD jails</a></h3>

<blockquote>
<p>We are releasing the first version (0.1.0) of our clone of vmadm for FreeBSD jails today. It is not done or feature complete, but it does provides basic functionality.  At this point, we think it would be helpful to get it out there and get some feedback. As of today, it allows basic management of datasets, as well as creating, starting, stopping, and destroying jails.</p>
</blockquote>

<ul>
<li>Why another tool to manage jails</li>
</ul>

<blockquote>
<p>However, before we go into details lets talk why we build yet another jail manager? It is not the frequent NIH syndrome, actually quite the opposite. In FiFo 0.9.2 we experimented with iocage as a way to control jails. While iocage is a useful tool when used as a CLI utility it has some issues when used programmatically.<br>
When managing jails automatically and not via a CLI tool things like performance, or a machine parsable interface matter. While on a CLI it is acceptable if a call takes a second or two, for automatically consuming a tool this delay is problematic.<br>
Another reason for the decision was that vmadm is an excellent tool. It is very well designed. SmartOs uses vmadm for years now. Given all that, we opted for adopting a proven interface rather than trying to create a new one. Since we already interface with it on SmartOS, we can reuse a majority of our management code between SmartOS and FreeBSD.</p>
</blockquote>

<ul>
<li>What can we do</li>
</ul>

<blockquote>
<p>Today we can manage datasets, which are jail templates in the form of ZFS volumes. We can list and serve them from a dataset-server, and fetch those we like want. At this point, we provide datasets for FreeBSD 10.0 to 11.1, but it is very likely that the list will grow. As an idea <a href="https://datasets.at/" target="_blank" rel="nofollow noopener">here is a community-driven list of datasets</a> that exist for SmartOS today. Moreover, while those datasets will not work, we hope to see the same for BSD jails.<br>
After fetching the dataset, we can define jails by using a JSON file. This file is compatible with the zone description used on SmartOS. It does not provide all the same features but a subset. Resources such as CPU and memory can be defined, networking configured, a dataset selected and necessary settings like hostname set.<br>
With the jail created, vmadm allows managing its lifetime, starting, stopping it, accessing the console and finally destroying it. Updates to jails are supported to however as of today they are only taken into account after restarting the jail. However, this is in large parts not a technical impossibility but rather wasnt high up on the TODO list.<br>
It is worth mentioning that vmadm will not pick up jails created in other tools or manually. Only using vmadm created jails was a conscious decision to prevent it interfering with existing setups or other utilities. While conventional tools can manage jails set up with vmadm just fine we use some special tricks like nested jails to allow for restrictions required for multi-tenancy that are hard or impossible to achieve otherwise.</p>
</blockquote>

<ul>
<li>Whats next</li>
</ul>

<blockquote>
<p>First and foremost we hope to get some feedback and perhaps community engagement. In the meantime, as <a href="https://blog.project-fifo.net/fifo-in-2017/" target="_blank" rel="nofollow noopener">announced earlier this year</a>, we are hard at work integrating FreeBSD hypervisors in FiFo, and as of writing this, the core actions work quite well.<br>
Right now only the barebone functions are supported, some of the output is not as clear as we would like. We hope to eventually add support for behyve to vmadm the same way that it supports KVM on SmartOS. Moreover, the groundwork for this already exists in the nested jail techniques we are using.<br>
Other than that we are exploring ways to allow for PCI pass through in jails, something not possible in SmartOS zones right now that would be beneficial for some users.<br>
In general, we want to improve compatibility with SmartOS as much as possible and features that we add over time should make the specifications invalid for SmartOS.</p>
</blockquote>

<ul>
<li>You can get the tool <a href="https://github.com/project-fifo/r-vmadm" target="_blank" rel="nofollow noopener">from github</a>.
***</li>
</ul>

<h3><a href="http://www.pixelbeat.org/docs/unix-parallel-tools.html" target="_blank" rel="nofollow noopener">Parallel processing with unix tools</a></h3>

<ul>
<li>There are various ways to use parallel processing in UNIX:</li>
</ul>

<blockquote>
<p>piping<br>
An often under appreciated idea in the unix pipe model is that the components of the pipe run in parallel. This is a key advantage leveraged when combining simple commands that do "one thing well"<br>
split -n, xargs -P, parallel<br>
Note programs that are invoked in parallel by these, need to output atomically for each item processed, which the GNU coreutils are careful to do for factor and sha*sum, etc. Generally commands that use stdio for output can be wrapped with the <code>stdbuf -oL</code> command to avoid intermixing lines from parallel invocations<br>
make -j<br>
Most implementations of make(1) now support the -j option to process targets in parallel. make(1) is generally a higher level tool designed to process disparate tasks and avoid reprocessing already generated targets. For example it is used very effictively when testing coreutils where about 700 tests can be processed in 13 seconds on a 40 core machine.<br>
implicit threading<br>
This goes against the unix model somewhat and definitely adds internal complexity to those tools. The advantages can be less data copying overhead, and simpler usage, though its use needs to be carefully considered. A disadvantage is that one loses the ability to easily distribute commands to separate systems. Examples are GNU sort(1) and turbo-linecount</p>
</blockquote>

<ul>
<li>The example provided counts lines in parallel:</li>
</ul>

<blockquote>
<p>The examples below will compare the above methods for implementing multi-processing, for the function of counting lines in a file. First of all let's generate some test data. We use both long and short lines to compare the overhead of the various methods compared to the core cost of the function being performed:<br>
$ seq 100000000 &gt; lines.txt  # 100M lines<br>
$ yes $(yes longline | head -n9) | head -n10000000 &gt; long-lines.txt  # 10M lines</p>

<p>We'll also define the add() { paste -d+ -s | bc; } helper function to add a list of numbers.<br>
Note the following runs were done against cached files, and thus not I/O bound. Therefore we limit the number of processes in parallel to $(nproc), though you would generally benefit to raising that if your jobs are waiting on network or disk etc.</p>

<ul>
<li>We'll use this command to count lines for most methods, so here is the base non multi-processing performance for comparison:
$ time wc -l lines.txt
$ time wc -l long-lines.txt
split -n
Note using -n alone is not enough to parallelize. For example this will run serially with each chunk, because since --filter may write files, the -n pertains to the number of files to split into rather than the number to process in parallel.
$ time split -n$(nproc) --filter='wc -l' lines.txt | add</li>
</ul>
</blockquote>

<ul>
<li>You can either run multiple invocations of split in parallel on separate portions of the file like:</li>
</ul>

<blockquote>
<p>$ time for i in $(seq $(nproc)); do<br>
       split -n$i/$(nproc) lines.txt | wc -l&amp;<br>
  done | add</p>
</blockquote>

<ul>
<li>Or split can do parallel mode using round robin on each line, but that's huge overhead in this case. (Note also the -u option significant with -nr):</li>
</ul>

<blockquote>
<p>$ time split -nr/$(nproc) --filter='wc -l' lines.txt | add</p>
</blockquote>

<ul>
<li>Round robin would only be useful when the processing per item is significant.</li>
<li>Parallel isn't well suited to processing a large single file, rather focusing on distributing multiple files to commands. It can't efficiently split to lightweight processing if reading sequentially from pipe:</li>
</ul>

<blockquote>
<p>$ time parallel --will-cite --block=200M --pipe 'wc -l' &lt; lines.txt | add</p>
</blockquote>

<ul>
<li>Like parallel, xargs is designed to distribute separate files to commands, and with the -P option can do so in parallel. If you have a large file then it may be beneficial to presplit it, which could also help with I/O bottlenecks if the pieces were placed on separate devices:</li>
</ul>

<blockquote>
<p>split -d -n l/$(nproc) lines.txt l.<br>
Those pieces can then be processed in parallel like:<br>
$ time find -maxdepth 1 -name 'l.*' |<br>
xargs -P$(nproc) -n1 wc -l | cut -f1 -d' ' | add</p>
</blockquote>

<ul>
<li>If your file sizes are unrelated to the number of processors then you will probably want to adjust -n1 to batch together more files to reduce the number of processes run in total. Note you should always specify -n with -P to avoid xargs accumulating too many input items, thus impacting the parallelism of the processes it runs.</li>
<li>make(1) is generally used to process disparate tasks, though can be leveraged to provide low level parallel processing on a bunch of files. Note also the make -O option which avoids the need for commands to output their data atomically, letting make do the synchronization. We'll process the presplit files as generated for the xargs example above, and to support that we'll use the following Makefile:</li>
</ul>

<blockquote>
<p>%: FORCE     # Always run the command<br>
  @wc -l &lt; $@<br>
FORCE: ;<br>
Makefile: ;  # Don't include Makefile itself</p>
</blockquote>

<ul>
<li>One could generate this and pass to make(1) with the -f option, though we'll keep it as a separate Makefile here for simplicity. This performs very well and matches the performance of xargs.</li>
</ul>

<blockquote>
<p>$ time find -name 'l.*' -exec make -j$(nproc) {} + | add<br>
Note we use the POSIX specified "find ... -exec ... {} +" construct, rather than conflating the example with xargs. This construct like xargs will pass as many files to make as possible, which make(1) will then process in parallel.</p>

<hr>
</blockquote>

<h3><a href="http://nanxiao.me/en/openbsd-gives-a-hint-on-forgetting-unlock-mutex/" target="_blank" rel="nofollow noopener">OpenBSD gives a hint on forgetting unlock mutex</a></h3>

<ul>
<li>OpenBSD gives a hint on forgetting unlock mutex</li>
<li>Check following simple C++ program:
&gt; ```
#include </li>
</ul>

<p>int main(void)<br>
{<br>
    std::mutex m;<br>
    m.lock();</p>

<pre><code>return 0;
</code></pre>

<p>}</p>

<pre><code>
+ The mutex m forgot unlock itself before exiting main function:

&gt; ```
m.unlock();
</code></pre>

<ul>
<li>Test it on GNU/Linux, and I chose ArchLinux as the testbed:</li>
</ul>

<blockquote>
<pre><code>$ uname -a
Linux fujitsu-i 4.13.7-1-ARCH #1 SMP PREEMPT Sat Oct 14 20:13:26 CEST 2017 x86_64 GNU/Linux
$ clang++ -g -pthread -std=c++11 test_mutex.cpp
$ ./a.out
$
</code></pre>
</blockquote>

<ul>
<li>The process exited normally, and no more words was given. Build and run it on OpenBSD 6.2:</li>
</ul>

<blockquote>
<pre><code>clang++ -g -pthread -std=c++11 test_mutex.cpp
./a.out
pthread_mutex_destroy on mutex with waiters!
</code></pre>
</blockquote>

<ul>
<li>The OpenBSD prompts pthread_mutex_destroy on mutex with waiters!. Interesting!
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2017-October/014148.html" target="_blank" rel="nofollow noopener">Updates to the NetBSD operating system since OSHUG #57 &amp; #58</a></li>
<li><a href="https://blog.project-fifo.net/fifo-jails-digital-ocean/" target="_blank" rel="nofollow noopener">Creating a jail with FiFo and Digital Ocean</a></li>
<li><a href="http://stevenrosenberg.net/blog/bsd/openbsd/2017_0924_openbsd" target="_blank" rel="nofollow noopener">I'm thinking about OpenBSD again</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/kernel_aslr_on_amd64" target="_blank" rel="nofollow noopener">Kernel ASLR on amd64</a></li>
<li><a href="https://people.freebsd.org/%7Erodrigo/fosdem18/" target="_blank" rel="nofollow noopener">Call for Participation - BSD Devroom at FOSDEM</a></li>
<li><a href="https://www.meetup.com/BSD-Users-Stockholm/" target="_blank" rel="nofollow noopener">BSD Stockholm Meetup</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>architect - <a href="http://dpaste.com/15D5SM4#wrap" target="_blank" rel="nofollow noopener">vBSDCon</a></li>
<li>Brad - <a href="http://dpaste.com/3MENN0X#wrap" target="_blank" rel="nofollow noopener">Packages and package dependencies</a></li>
<li>Lars - <a href="http://dpaste.com/2SVS18Y" target="_blank" rel="nofollow noopener">dpb</a></li>
<li>Alex <a href="http://dpaste.com/028BCFA#wrap" target="_blank" rel="nofollow noopener">re: PS4 Network Throttling</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>219: We love the ARC</title>
  <link>https://www.bsdnow.tv/219</link>
  <guid isPermaLink="false">00179d62-cc7f-42f5-ae1e-732013948a80</guid>
  <pubDate>Wed, 08 Nov 2017 08:00:00 -0500</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/00179d62-cc7f-42f5-ae1e-732013948a80.mp3" length="93957844" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Papers we love: ARC by Bryan Cantrill, SSD caching adventures with ZFS, OpenBSD full disk encryption setup, and a Perl5 Slack Syslog BSD daemon.</itunes:subtitle>
  <itunes:duration>2:10:29</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>&lt;p&gt;Papers we love: ARC by Bryan Cantrill, SSD caching adventures with ZFS, OpenBSD full disk encryption setup, and a Perl5 Slack Syslog BSD daemon.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.youtube.com/watch?v=F8sZRBdmqc0&amp;amp;feature=youtu.be" target="_blank" rel="nofollow noopener"&gt;Papers We Love: ARC: A Self-Tuning, Low Overhead Replacement Cache&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ever wondered how the ZFS ARC (Adaptive Replacement Cache) works?&lt;/li&gt;
&lt;li&gt;How about if Bryan Cantrill presented the original paper on its design?&lt;/li&gt;
&lt;li&gt;Today is that day.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.slideshare.net/bcantrill/papers-we-love-arc-after-dark" target="_blank" rel="nofollow noopener"&gt;Slides&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;It starts by looking back at a fundamental paper from the 40s where the architecture of general-purpose computers are first laid out&lt;/li&gt;
&lt;li&gt;The main is the description of memory hierarchies, where you have a small amount of very fast memory, then the next level is slower but larger, and on and on. As we look at the various L1, L2, and L3 caches on a CPU, then RAM, then flash, then spinning disks, this still holds true today.&lt;/li&gt;
&lt;li&gt;The paper then does a survey of the existing caching policies and tries to explain the issues with each. This includes ‘MIN’, which is the theoretically optimal policy, which requires future knowledge, but is useful for setting the upper bound, what is the best we could possibly do.&lt;/li&gt;
&lt;li&gt;The paper ends up showing that the ARC can end up being better than manually trying to pick the best number for the workload, because it adapts as the workload changes&lt;/li&gt;
&lt;li&gt;At about 1:25 into the video, Bryan start talking about the practical implementation of the ARC in ZFS, and some challenges they have run into recently at Joyent.&lt;/li&gt;
&lt;li&gt;A great discussion about some of the problems when ZFS needs to shrink the ARC. Not all of it applies 1:1 to FreeBSD because the kernel and the kmem implementation are different in a number of ways&lt;/li&gt;
&lt;li&gt;There were some interesting questions asked at the end as well
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://unix.stackexchange.com/a/193837" target="_blank" rel="nofollow noopener"&gt;How do I use man pages to learn how to use commands?&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;nwildner on StackExchange has a very thorough answer to the question how to interpret man pages to understand complicated commands (xargs in this case, but not specifically).&lt;/li&gt;
&lt;li&gt;Have in mind what you want to do.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;When doing your research about xargs you did it for a purpose, right? You had a specific need that was reading standard output and executing commands based on that output.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;But, when I don't know which command I want?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Use man -k or apropos (they are equivalent). If I don't know how to find a file: man -k file | grep search. Read the descriptions and find one that will better fit your needs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Apropos works with regular expressions by default, (man apropos, read the description and find out what -r does), and on this example I'm looking for every manpage where the description starts with "report".&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Always read the DESCRIPTION before starting&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Take a time and read the description. By just reading the description of the xargs command we will learn that:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;xargs reads from STDIN and executes the command needed. This also means that you will need to have some knowledge of how standard input works, and how to manipulate it through pipes to chain commands&lt;br&gt;
The default behavior is to act like /bin/echo. This gives you a little tip that if you need to chain more than one xargs, you don't need to use echo to print.&lt;br&gt;
We have also learned that unix filenames can contain blank and newlines, that this could be a problem and the argument -0 is a way to prevent things explode by using null character separators. The description warns you that the command being used as input needs to support this feature too, and that GNU find support it. Great. We use a lot of find with xargs.&lt;br&gt;
xargs will stop if exit status 255 is reached.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Some descriptions are very short and that is generally because the software works on a very simple way. Don't even think of skipping this part of the manpage ;)&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Other things to pay attention...&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You know that you can search for files using find. There is a ton of options and if you only look at the SYNOPSIS, you will get overwhelmed by those. It's just the tip of the iceberg. Excluding NAME, SYNOPSIS, and DESCRIPTION, you will have the following sections:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;When this method will not work so well...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tips that apply to all commands&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Some options, mnemonics and "syntax style" travel through all commands making you buy some time by not having to open the manpage at all. Those are learned by practice and the most common are:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Generally, -v means verbose. -vvv is a variation "very very verbose" on some software.&lt;br&gt;
Following the POSIX standard, generally one dash arguments can be stacked. Example: tar -xzvf,  cp -Rv.&lt;br&gt;
Generally -R and/or -r means recursive.&lt;br&gt;
Almost all commands have a brief help with the --help option.&lt;br&gt;
--version shows the version of a software.&lt;br&gt;
-p, on copy or move utilities means "preserve permissions".&lt;br&gt;
-y means YES, or "proceed without confirmation" in most cases.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Default values of commands.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At the pager chunk of this answer, we saw that less -is is the pager of man. The default behavior of commands are not always shown at a separated section on manpages, or at the section that is most top placed.&lt;br&gt;
You will have to read the options to find out defaults, or if you are lucky, typing /pager will lead you to that info. This also requires you to know the concept of the pager(software that scrolls the manpage), and this is a thing you will only acquire after reading lots of manpages.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;And what about the SYNOPSIS syntax?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After getting all the information needed to execute the command, you can combine options, option-arguments and operands inline to make your job done. Overview of concepts:&lt;br&gt;
Options are the switches that dictates a command behavior. "Do this" "don't do this" or "act this way". Often called switches.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Check out the full answer and see if it helps you better grasp the meaning of a man page and thus the command.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://robertputt.co.uk/my-adventure-into-ssd-caching-with-zfs-home-nas.html" target="_blank" rel="nofollow noopener"&gt;My adventure into SSD caching with ZFS (Home NAS)&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Robert Putt as written about his adventure using SSDs for caching with ZFS on his home NAS.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Recently I decided to throw away my old defunct 2009 MacBook Pro which was rotting in my cupboard and I decided to retrieve the only useful part before doing so, the 80GB Intel SSD I had installed a few years earlier. Initially I thought about simply adding it to my desktop as a bit of extra space but in 2017 80GB really wasn’t worth it and then I had a brainwave… Lets see if we can squeeze some additional performance out of my HP Microserver Gen8 NAS running ZFS by installing it as a cache disk.&lt;br&gt;
I installed the SSD to the cdrom tray of the Microserver using a floppy disk power to SATA power converter and a SATA cable, unfortunately it seems the CD ROM SATA port on the motherboard is only a 3gbps port although this didn’t matter so much as it was an older 3gbps SSD anyway. Next I booted up the machine and to my suprise the disk was not found in my FreeBSD install, then I realised that the SATA port for the CD drive is actually provided by the RAID controller, so I rebooted into intelligent provisioning and added an additional RAID0 array with just the 1 disk to act as my cache, in fact all of the disks in this machine are individual RAID0 arrays so it looks like just a bunch of disks (JBOD) as ZFS offers additional functionality over normal RAID (mainly scrubbing, deduplication and compression).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Configuration&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lets have a look at the zpool before adding the cache drive to make sure there are no errors or uglyness:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Now lets prep the drive for use in the zpool using gpart. I want to split the SSD into two seperate partitions, one for L2ARC (read caching) and one for ZIL (write caching). I have decided to split the disk into 20GB for ZIL and 50GB for L2ARC. Be warned using 1 SSD like this is considered unsafe because it is a single point of failure in terms of delayed writes (a redundant configuration with 2 SSDs would be more appropriate) and the heavy write cycles on the SSD from the ZIL is likely to kill it over time.&lt;br&gt;
Now it’s time to see if adding the cache has made much of a difference. I suspect not as my Home NAS sucks, it is a HP Microserver Gen8 with the crappy Celeron CPU and only 4GB RAM, anyway, lets test it and find out. First off lets throw fio at the mount point for this zpool and see what happens both with the ZIL and L2ARC enabled and disabled.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Observations&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Ok, so the initial result is a little dissapointing, but hardly unexpected, my NAS sucks and there are lots of bottle necks, CPU, memory and the fact only 2 of the SATA ports are 6gbps. There is no real difference performance wise in comparison between the results, the IOPS, bandwidth and latency appear very similar. However lets bare in mind fio is a pretty hardcore disk benchmark utility, how about some real world use cases?&lt;br&gt;
Next I decided to test a few typical file transactions that this NAS is used for, Samba shares to my workstation. For the first test I wanted to test reading a 3GB file over the network with both the cache enabled and disabled, I would run this multiple times to ensure the data is hot in the L2ARC and to ensure the test is somewhat repeatable, the network itself is an uncongested 1gbit link and I am copying onto the secondary SSD in my workstation. The dataset for these tests has compression and deduplication disabled.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Samba Read Test&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Not bad once the data becomes hot in the L2ARC cache reads appear to gain a decent advantage compared to reading from the disk directly. How does it perform when writing the same file back accross the network using the ZIL vs no ZIL.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Samba Write Test&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Another good result in the real world test, this certainately helps the write transfer speed however I do wonder what would happen if you filled the ZIL transferring a very large file, however this is unlikely with my use case as I typically only deal with a couple of files of several hundred megabytes at any given time so a 20GB ZIL should suit me reasonably well.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Is ZIL and L2ARC worth it?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I would imagine with a big beefy ZFS server running in a company somewhere with a large disk pool and lots of users with multiple enterprise level SSD ZIL and L2ARC would be well worth the investment, however at home I am not so sure. Yes I did see an increase in read speeds with cached data and a general increase in write speeds however it is use case dependant. In my use case I rarely access the same file frequently, my NAS primarily serves as a backup and for archived data, and although the write speeds are cool I am not sure its a deal breaker. If I built a new home NAS today I’d probably concentrate the budget on a better CPU, more RAM (for ARC cache) and more disks. However if I had a use case where I frequently accessed the same files and needed to do so in a faster fashion then yes, I’d probably invest in an SSD for caching. I think if you have a spare SSD lying around and you want something fun todo with it, sure chuck it in your ZFS based NAS as a cache mechanism. If you were planning on buying an SSD for caching then I’d really consider your needs and decide if the money can be spent on alternative stuff which would improve your experience with your NAS. I know my NAS would benefit more from an extra stick of RAM and a more powerful CPU, but as a quick evening project with some parts I had hanging around adding some SSD cache was worth a go.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;More Viewer Interview Questions for Allan&lt;/h2&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.cagedmonster.net/setup-openbsd-with-full-disk-encryption/" target="_blank" rel="nofollow noopener"&gt;Setup OpenBSD 6.2 with Full Disk Encryption&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Here is a quick way to setup (in 7 steps) OpenBSD 6.2 with the encryption of the filesystem.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;First step: Boot and start the installation:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;(I)nstall: I&lt;br&gt;
Keyboard Layout: ENTER (I'm french so in my case I took the FR layout)&lt;br&gt;
Leave the installer with: !&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Second step: Prepare your disk for encryption.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Using a SSD, my disk is named : sd0, the name may vary, for example : wd0.&lt;br&gt;
Initiating the disk:&lt;br&gt;
Configure your volume:&lt;br&gt;
Now we'll use bioctl to encrypt the partition we created, in this case : sd0a (disk sd0 + partition « a »).&lt;br&gt;
Enter your passphrase.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Third step:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Let's resume the OpenBSD's installer. We follow the install procedure&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Fourth step: Partitioning of the encrypted volume.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We select our new volume, in this case: sd1&lt;br&gt;
The whole disk will be used: W(hole)&lt;br&gt;
Let's create our partitions:&lt;br&gt;
NB: You are more than welcome to create multiple partitions for your system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Fifth step: System installation&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It's time to choose how we'll install our system (network install by http in my case)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sixth step: Finalize the installation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Last step: Reboot and start your system.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Put your passphrase. Welcome to OpenBSD 6.2 with a full encrypted file system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Optional: Disable the swap encryption.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The swap is actually part of the encrypted filesystem, we don't need OpenBSD to encrypt it. Sysctl is giving us this possibility.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.cagedmonster.net/step-by-step-freebsd-installation-with-full-disk-encryption/" target="_blank" rel="nofollow noopener"&gt;Step-by-Step FreeBSD installation with ZFS and Full Disk Encryption&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;1. What do I need?

&lt;ul&gt;
&lt;li&gt;For this tutorial, the installation has been made on a Intel Core i7 - AMD64 architecture.&lt;/li&gt;
&lt;li&gt;On a USB key, you would probably use this link : &lt;a target="_blank" rel="nofollow noopener"&gt;ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-mini-memstick.img&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;If you can't do a network installation, you'd better use this image : &lt;a target="_blank" rel="nofollow noopener"&gt;ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-memstick.img&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;You can write the image file on your USB device (replace XXXX with the name of your device) using dd : &lt;code&gt;# dd if=FreeBSD-11.1-RELEASE-amd64-mini-memstick.img of=/dev/XXXX bs=1m&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;2. Boot and install: &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F1.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;3. Configure your keyboard layout: &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F2.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F3.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;4. Hostname and system components configuration : 

&lt;ul&gt;
&lt;li&gt;Set the name of your machine: [Screenshot](&lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F4.png_" target="_blank" rel="nofollow noopener"&gt;https://blog.cagedmonster.net/content/images/2017/09/F4.png_&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;What components do you want to install? &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F5.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;5. Network configuration:

&lt;ul&gt;
&lt;li&gt;Select the network interface you want to configure. &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F6.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;First, we configure our IPv4 network. I used a static adress so you can see how it works, but you can use DHCP for an automated configuration, it depends of what you want to do with your system (desktop/server) &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F7.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F7-1.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F8.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;IPv6 network configuration. Same as for IPv4, you can use SLAAC for an automated configuration. &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F9.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F10-1.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F10-2.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Here, you can configure your DNS servers, I used the Google DNS servers so you can use them too if needed. &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F11.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;6. Select the server you want to use for the installation:

&lt;ul&gt;
&lt;li&gt;I always use the IPv6 mirror to ensure that my IPv6 network configuration is good.&lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F12.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;7. Disk configuration:

&lt;ul&gt;
&lt;li&gt;As we want to do an easy full disk encryption, we'll use ZFS. &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F13.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Make sure to select the disk encryption :&lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F14.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Launch the disk configuration :&lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F15.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Here everything is normal, you have to select the disk you'll use :&lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F16.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I have only one SSD disk named da0 :&lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F17.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Last chance before erasing your disk :&lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F18.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Time to choose the password you'll use to start your system : &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F19.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F20.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F21.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;8. Last steps to finish the installation:

&lt;ul&gt;
&lt;li&gt;The installer will download what you need and what you selected previously (ports, src, etc.) to create your system: &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F22.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;8.1. Root password:

&lt;ul&gt;
&lt;li&gt;Enter your root password: &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F22-1.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;8.2. Time and date:

&lt;ul&gt;
&lt;li&gt;Set your timezone, in my case: Europe/France &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F22-2.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F23.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F23-1.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Make sure the date and time are good, or you can change them :&lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F24.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F25.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;8.3. Services:

&lt;ul&gt;
&lt;li&gt;Select the services you'll use at system startup depending again of what you want to do. In many cases powerd and ntpd will be useful, sshd if you're planning on using FreeBSD as a server. &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F26.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;8.4. Security:

&lt;ul&gt;
&lt;li&gt;Security options you want to enable. You'll still be able to change them after the installation with sysctl. &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F26-1.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;8.5. Additionnal user:

&lt;ul&gt;
&lt;li&gt;Create an unprivileged system user: &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F26-2.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Make sure your user is in the wheel group so he can use the su command. &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F26-3.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F26-4.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;8.6. The end:
End of your configuration, you can still do some modifications if you want : &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F26-5.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F26-6.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F26-7.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;9. First boot:

&lt;ul&gt;
&lt;li&gt;Enter the passphrase you have chosen previously : &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F27.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F28.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt; &amp;amp; &lt;a href="https://blog.cagedmonster.net/content/images/2017/09/F29.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Welcome to Freebsd 11.1 with full disk encryption!
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://nanxiao.me/en/the-anatomy-of-ldd-program-on-openbsd/" target="_blank" rel="nofollow noopener"&gt;The anatomy of ldd program on OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In the past week, I read the &lt;a href="https://github.com/openbsd/src/blob/master/libexec/ld.so/ldd/ldd.c" target="_blank" rel="nofollow noopener"&gt;ldd&lt;/a&gt; source code on OpenBSD to get a better understanding of how it works. And this post should also be a reference for other*NIX OSs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href="https://en.wikipedia.org/wiki/Executable_and_Linkable_Format" target="_blank" rel="nofollow noopener"&gt;ELF&lt;/a&gt; file is divided into 4 categories: relocatable, executable, shared, and core. Only the executable and shared object files may have dynamic object dependencies, so the ldd only check these 2 kinds of ELF file:&lt;/li&gt;
&lt;li&gt;(1) Executable. &lt;code&gt;ldd&lt;/code&gt; leverages the &lt;code&gt;LD_TRACE_LOADED_OBJECTS&lt;/code&gt; environment variable in fact, and the code is as following:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;if (setenv("LD_TRACE_LOADED_OBJECTS", "true", 1) &amp;lt; 0)
err(1, "setenv(LD_TRACE_LOADED_OBJECTS)");
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;When LD_TRACE_LOADED_OBJECTS is set to 1 or true, running executable file will show shared objects needed instead of running it, so you even not needldd to check executable file. See the following outputs:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ /usr/bin/ldd
usage: ldd program ...
$ LD_TRACE_LOADED_OBJECTS=1 /usr/bin/ldd
        Start            End              Type Open Ref GrpRef Name
        00000b6ac6e00000 00000b6ac7003000 exe  1    0   0      /usr/bin/ldd
        00000b6dbc96c000 00000b6dbcc38000 rlib 0    1   0      /usr/lib/libc.so.89.3
        00000b6d6ad00000 00000b6d6ad00000 rtld 0    1   0      /usr/libexec/ld.so  
&lt;/code&gt;&lt;/pre&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;(2) Shared object. The code to print dependencies of shared object is as following:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;if (ehdr.e_type == ET_DYN &amp;amp;&amp;amp; !interp) {
    if (realpath(name, buf) == NULL) {
        printf("realpath(%s): %s", name,
            strerror(errno));
        fflush(stdout);
        _exit(1);
    }
    dlhandle = dlopen(buf, RTLD_TRACE);
    if (dlhandle == NULL) {
        printf("%s\n", dlerror());
        fflush(stdout);
        _exit(1);
    }
    _exit(0);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Why the condition of checking a ELF file is shared object or not is like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;if (ehdr.e_type == ET_DYN &amp;amp;&amp;amp; !interp) {
    ......
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That’s because the file type of position-independent executable (PIE) is the same as shared object, but normally PIE contains a interpreter program header since it needs dynamic linker to load it while shared object lacks (refer this article). So the above condition will filter PIE file.&lt;br&gt;
The dlopen(buf, RTLD_TRACE) is used to print dynamic object information. And the actual code is like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;if (_dl_traceld) {
    _dl_show_objects();
    _dl_unload_shlib(object);
    _dl_exit(0);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In fact, you can also implement a simple application which outputs dynamic object information for shared object yourself:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;amp;#35; include &amp;lt;dlfcn.h&amp;gt;
int main(int argc, char **argv)
{
    dlopen(argv[1], RTLD_TRACE);
    return 0;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Compile and use it to analyze /usr/lib/libssl.so.43.2:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ cc lddshared.c
$ ./a.out /usr/lib/libssl.so.43.2
    Start            End              Type Open Ref GrpRef Name
    000010e2df1c5000 000010e2df41a000 dlib 1    0   0      /usr/lib/libssl.so.43.2
    000010e311e3f000 000010e312209000 rlib 0    1   0      /usr/lib/libcrypto.so.41.1
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The same as using ldd directly:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ ldd /usr/lib/libssl.so.43.2
/usr/lib/libssl.so.43.2:
    Start            End              Type Open Ref GrpRef Name
    00001d9ffef08000 00001d9fff15d000 dlib 1    0   0      /usr/lib/libssl.so.43.2
    00001d9ff1431000 00001d9ff17fb000 rlib 0    1   0      /usr/lib/libcrypto.so.41.1
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Through the studying of ldd source code, I also get many by-products: such as knowledge of ELF file, linking and loading, etc. So diving into code is a really good method to learn *NIX deeper!&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://clinetworking.wordpress.com/2017/10/13/perl5-slack-syslog-bsd-daemon/" target="_blank" rel="nofollow noopener"&gt;Perl5 Slack Syslog BSD daemon&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;So I have been working on my little Perl daemon for a week now.&lt;br&gt;
It is a simple syslog daemon that listens on port 514 for incoming messages. It listens on a port so it can process log messages from my consumer Linux router as well as the messages from my server.  Messages that are above alert are sent, as are messages that match the regex of SSH or DHCP (I want to keep track of new connections to my wifi). The rest of the messages are not sent to slack but appended to a log file. This is very handy as I can get access to info like failed ssh logins, disk failures, and new devices connecting to the network all on my Android phone when I am not home.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://clinetworking.files.wordpress.com/2017/10/screenshot_2017-10-13-23-00-26.png" target="_blank" rel="nofollow noopener"&gt;Screenshot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The situation arose today that the internet went down and I thought to myself what would happen to all my important syslog messages when they couldn’t be sent?  Before the script only ran an eval block on the botsend() function. The error was returned, handled, but nothing was done and the unsent message was discarded. So I added a function that appended unsent messengers to an array that are later sent when the server is not busy sending messages to slack.&lt;br&gt;
Slack has a limit of one message per second. The new addition works well and means that if the internet fails my server will store these messages in memory and resend them at a rate of one message per second when the internet connectivity returns. It currently sends the newest ones first but I am not sure if this is a bug or a feature at this point! It currently works with my Linux based WiFi router and my FreeBSD server. It is easy to scale as all you need to do is send messages to syslog to get them sent to slack. You could sent CPU temp, logged in users etc.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;There is a github page: &lt;a href="https://github.com/wilyarti/slackbot" target="_blank" rel="nofollow noopener"&gt;https://github.com/wilyarti/slackbot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://nanxiao.me/en/lscpu-for-openbsdfreebsd/" target="_blank" rel="nofollow noopener"&gt;Lscpu for OpenBSD/FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/NanXiao/lscpu" target="_blank" rel="nofollow noopener"&gt;Github Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There is a neat command, lscpu, which is very handy to display CPU information on GNU/Linux OS:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              32
On-line CPU(s) list: 0-31
Thread(s) per core:  2
Core(s) per socket:  8
Socket(s):           2
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;But unfortunately, the BSD OSs lack this command, maybe one reason is lscpu relies heavily on /proc file system which BSD don’t provide, :-). TakeOpenBSD as an example, if I want to know CPU information, dmesg should be one choice:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ dmesg | grep -i cpu
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz, 2527.35 MHz
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,
PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE,NXE,LONG,LAHF,PERF,SENSOR
cpu0: 3MB 64b/line 8-way L2 cache
cpu0: apic clock running at 266MHz
cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2.1.3, IBE
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;But the output makes me feeling messy, not very clear. As for dmidecode, it used to be another option, but now can’t work out-of-box because it will access /dev/mem which for security reason, OpenBSD doesn’t allow by default (You can refer this discussion):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ ./dmidecode
$ dmidecode 3.1
Scanning /dev/mem for entry point.
/dev/mem: Operation not permitted
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Based on above situation, I want a specified command for showing CPU information for my BSD box. So in the past 2 weeks, I developed a lscpu program for OpenBSD/FreeBSD, or more accurately, OpenBSD/FreeBSD on x86 architecture since I only have some Intel processors at hand. The application getsCPU metrics from 2 sources:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;(1) &lt;code&gt;sysctl&lt;/code&gt; functions.  The BSD OSs provide sysctl interface which I can use to get general CPU particulars, such as how many CPUs the system contains, the byte-order of CPU, etc.&lt;/li&gt;
&lt;li&gt;(2) &lt;code&gt;CPUID&lt;/code&gt; instruction. For x86 architecture, CPUID instruction can obtain very detail information of CPU. This coding work is a little tedious and error-prone, not only because I need to reference both Intel and AMD specifications since these 2 vendors have minor distinctions, but also I need to parse the bits of register values.&lt;/li&gt;
&lt;li&gt;The code is &lt;a href="https://github.com/NanXiao/lscpu" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;, and if you run OpenBSD/FreeBSD on x86 processors, please try it. It will be better you can give some feedback or report the issues, and I appreciate it very much. In the future if I have other CPUs resource, such as ARM or SPARC64, maybe I will enrich this small program.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://daemonforums.org/showthread.php?t=10429" target="_blank" rel="nofollow noopener"&gt;OpenBSD Porting Workshop - Brian Callahan will be running an OpenBSD porting workshop in NYC for NYC*BUG on December 6, 2017.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.openbsdjumpstart.org/#/" target="_blank" rel="nofollow noopener"&gt;Learn to tame OpenBSD quickly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gist.github.com/sortie/94b302dd383df19237d1a04969f1a42b" target="_blank" rel="nofollow noopener"&gt;Detect the operating system using UDP stack corner cases&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Awesome Mike - &lt;a href="http://dpaste.com/1H22BND#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Michael - &lt;a href="http://dpaste.com/1JRJ6T9" target="_blank" rel="nofollow noopener"&gt;Expanding a file server with only one hard drive with ZFS&lt;/a&gt; - &lt;a href="http://dpaste.com/36M7M3E" target="_blank" rel="nofollow noopener"&gt;information based on Allan's IRC response&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brian - &lt;a href="http://dpaste.com/3X0GXJR#wrap" target="_blank" rel="nofollow noopener"&gt;Optimizing ZFS for a single disk&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Papers we love: ARC by Bryan Cantrill, SSD caching adventures with ZFS, OpenBSD full disk encryption setup, and a Perl5 Slack Syslog BSD daemon.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.youtube.com/watch?v=F8sZRBdmqc0&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">Papers We Love: ARC: A Self-Tuning, Low Overhead Replacement Cache</a></h3>

<ul>
<li>Ever wondered how the ZFS ARC (Adaptive Replacement Cache) works?</li>
<li>How about if Bryan Cantrill presented the original paper on its design?</li>
<li>Today is that day.</li>
<li><a href="https://www.slideshare.net/bcantrill/papers-we-love-arc-after-dark" target="_blank" rel="nofollow noopener">Slides</a></li>
<li>It starts by looking back at a fundamental paper from the 40s where the architecture of general-purpose computers are first laid out</li>
<li>The main is the description of memory hierarchies, where you have a small amount of very fast memory, then the next level is slower but larger, and on and on. As we look at the various L1, L2, and L3 caches on a CPU, then RAM, then flash, then spinning disks, this still holds true today.</li>
<li>The paper then does a survey of the existing caching policies and tries to explain the issues with each. This includes MIN, which is the theoretically optimal policy, which requires future knowledge, but is useful for setting the upper bound, what is the best we could possibly do.</li>
<li>The paper ends up showing that the ARC can end up being better than manually trying to pick the best number for the workload, because it adapts as the workload changes</li>
<li>At about 1:25 into the video, Bryan start talking about the practical implementation of the ARC in ZFS, and some challenges they have run into recently at Joyent.</li>
<li>A great discussion about some of the problems when ZFS needs to shrink the ARC. Not all of it applies 1:1 to FreeBSD because the kernel and the kmem implementation are different in a number of ways</li>
<li>There were some interesting questions asked at the end as well
***</li>
</ul>

<h3><a href="https://unix.stackexchange.com/a/193837" target="_blank" rel="nofollow noopener">How do I use man pages to learn how to use commands?</a></h3>

<ul>
<li>nwildner on StackExchange has a very thorough answer to the question how to interpret man pages to understand complicated commands (xargs in this case, but not specifically).</li>
<li>Have in mind what you want to do.</li>
</ul>

<blockquote>
<p>When doing your research about xargs you did it for a purpose, right? You had a specific need that was reading standard output and executing commands based on that output.</p>
</blockquote>

<ul>
<li>But, when I don't know which command I want?</li>
</ul>

<blockquote>
<p>Use man -k or apropos (they are equivalent). If I don't know how to find a file: man -k file | grep search. Read the descriptions and find one that will better fit your needs.</p>
</blockquote>

<ul>
<li>Apropos works with regular expressions by default, (man apropos, read the description and find out what -r does), and on this example I'm looking for every manpage where the description starts with "report".</li>
<li><p>Always read the DESCRIPTION before starting</p></li>
<li><p>Take a time and read the description. By just reading the description of the xargs command we will learn that:</p></li>
</ul>

<blockquote>
<p>xargs reads from STDIN and executes the command needed. This also means that you will need to have some knowledge of how standard input works, and how to manipulate it through pipes to chain commands<br>
The default behavior is to act like /bin/echo. This gives you a little tip that if you need to chain more than one xargs, you don't need to use echo to print.<br>
We have also learned that unix filenames can contain blank and newlines, that this could be a problem and the argument -0 is a way to prevent things explode by using null character separators. The description warns you that the command being used as input needs to support this feature too, and that GNU find support it. Great. We use a lot of find with xargs.<br>
xargs will stop if exit status 255 is reached.</p>
</blockquote>

<ul>
<li>Some descriptions are very short and that is generally because the software works on a very simple way. Don't even think of skipping this part of the manpage ;)</li>
<li><p>Other things to pay attention...</p></li>
<li><p>You know that you can search for files using find. There is a ton of options and if you only look at the SYNOPSIS, you will get overwhelmed by those. It's just the tip of the iceberg. Excluding NAME, SYNOPSIS, and DESCRIPTION, you will have the following sections:</p></li>
</ul>

<blockquote>
<p>When this method will not work so well...</p>

<ul>
<li>Tips that apply to all commands</li>
</ul>
</blockquote>

<ul>
<li>Some options, mnemonics and "syntax style" travel through all commands making you buy some time by not having to open the manpage at all. Those are learned by practice and the most common are:</li>
</ul>

<blockquote>
<p>Generally, -v means verbose. -vvv is a variation "very very verbose" on some software.<br>
Following the POSIX standard, generally one dash arguments can be stacked. Example: tar -xzvf,  cp -Rv.<br>
Generally -R and/or -r means recursive.<br>
Almost all commands have a brief help with the --help option.<br>
--version shows the version of a software.<br>
-p, on copy or move utilities means "preserve permissions".<br>
-y means YES, or "proceed without confirmation" in most cases.</p>
</blockquote>

<ul>
<li>Default values of commands.</li>
</ul>

<blockquote>
<p>At the pager chunk of this answer, we saw that less -is is the pager of man. The default behavior of commands are not always shown at a separated section on manpages, or at the section that is most top placed.<br>
You will have to read the options to find out defaults, or if you are lucky, typing /pager will lead you to that info. This also requires you to know the concept of the pager(software that scrolls the manpage), and this is a thing you will only acquire after reading lots of manpages.</p>
</blockquote>

<ul>
<li>And what about the SYNOPSIS syntax?</li>
</ul>

<blockquote>
<p>After getting all the information needed to execute the command, you can combine options, option-arguments and operands inline to make your job done. Overview of concepts:<br>
Options are the switches that dictates a command behavior. "Do this" "don't do this" or "act this way". Often called switches.</p>
</blockquote>

<ul>
<li>Check out the full answer and see if it helps you better grasp the meaning of a man page and thus the command.
***</li>
</ul>

<h3><a href="https://robertputt.co.uk/my-adventure-into-ssd-caching-with-zfs-home-nas.html" target="_blank" rel="nofollow noopener">My adventure into SSD caching with ZFS (Home NAS)</a></h3>

<ul>
<li>Robert Putt as written about his adventure using SSDs for caching with ZFS on his home NAS.</li>
</ul>

<blockquote>
<p>Recently I decided to throw away my old defunct 2009 MacBook Pro which was rotting in my cupboard and I decided to retrieve the only useful part before doing so, the 80GB Intel SSD I had installed a few years earlier. Initially I thought about simply adding it to my desktop as a bit of extra space but in 2017 80GB really wasnt worth it and then I had a brainwave Lets see if we can squeeze some additional performance out of my HP Microserver Gen8 NAS running ZFS by installing it as a cache disk.<br>
I installed the SSD to the cdrom tray of the Microserver using a floppy disk power to SATA power converter and a SATA cable, unfortunately it seems the CD ROM SATA port on the motherboard is only a 3gbps port although this didnt matter so much as it was an older 3gbps SSD anyway. Next I booted up the machine and to my suprise the disk was not found in my FreeBSD install, then I realised that the SATA port for the CD drive is actually provided by the RAID controller, so I rebooted into intelligent provisioning and added an additional RAID0 array with just the 1 disk to act as my cache, in fact all of the disks in this machine are individual RAID0 arrays so it looks like just a bunch of disks (JBOD) as ZFS offers additional functionality over normal RAID (mainly scrubbing, deduplication and compression).</p>
</blockquote>

<ul>
<li><p>Configuration</p></li>
<li><p>Lets have a look at the zpool before adding the cache drive to make sure there are no errors or uglyness:</p></li>
</ul>

<blockquote>
<p>Now lets prep the drive for use in the zpool using gpart. I want to split the SSD into two seperate partitions, one for L2ARC (read caching) and one for ZIL (write caching). I have decided to split the disk into 20GB for ZIL and 50GB for L2ARC. Be warned using 1 SSD like this is considered unsafe because it is a single point of failure in terms of delayed writes (a redundant configuration with 2 SSDs would be more appropriate) and the heavy write cycles on the SSD from the ZIL is likely to kill it over time.<br>
Now its time to see if adding the cache has made much of a difference. I suspect not as my Home NAS sucks, it is a HP Microserver Gen8 with the crappy Celeron CPU and only 4GB RAM, anyway, lets test it and find out. First off lets throw fio at the mount point for this zpool and see what happens both with the ZIL and L2ARC enabled and disabled.</p>
</blockquote>

<ul>
<li>Observations</li>
</ul>

<blockquote>
<p>Ok, so the initial result is a little dissapointing, but hardly unexpected, my NAS sucks and there are lots of bottle necks, CPU, memory and the fact only 2 of the SATA ports are 6gbps. There is no real difference performance wise in comparison between the results, the IOPS, bandwidth and latency appear very similar. However lets bare in mind fio is a pretty hardcore disk benchmark utility, how about some real world use cases?<br>
Next I decided to test a few typical file transactions that this NAS is used for, Samba shares to my workstation. For the first test I wanted to test reading a 3GB file over the network with both the cache enabled and disabled, I would run this multiple times to ensure the data is hot in the L2ARC and to ensure the test is somewhat repeatable, the network itself is an uncongested 1gbit link and I am copying onto the secondary SSD in my workstation. The dataset for these tests has compression and deduplication disabled.</p>
</blockquote>

<ul>
<li>Samba Read Test</li>
</ul>

<blockquote>
<p>Not bad once the data becomes hot in the L2ARC cache reads appear to gain a decent advantage compared to reading from the disk directly. How does it perform when writing the same file back accross the network using the ZIL vs no ZIL.</p>
</blockquote>

<ul>
<li>Samba Write Test</li>
</ul>

<blockquote>
<p>Another good result in the real world test, this certainately helps the write transfer speed however I do wonder what would happen if you filled the ZIL transferring a very large file, however this is unlikely with my use case as I typically only deal with a couple of files of several hundred megabytes at any given time so a 20GB ZIL should suit me reasonably well.</p>
</blockquote>

<ul>
<li>Is ZIL and L2ARC worth it?</li>
</ul>

<blockquote>
<p>I would imagine with a big beefy ZFS server running in a company somewhere with a large disk pool and lots of users with multiple enterprise level SSD ZIL and L2ARC would be well worth the investment, however at home I am not so sure. Yes I did see an increase in read speeds with cached data and a general increase in write speeds however it is use case dependant. In my use case I rarely access the same file frequently, my NAS primarily serves as a backup and for archived data, and although the write speeds are cool I am not sure its a deal breaker. If I built a new home NAS today Id probably concentrate the budget on a better CPU, more RAM (for ARC cache) and more disks. However if I had a use case where I frequently accessed the same files and needed to do so in a faster fashion then yes, Id probably invest in an SSD for caching. I think if you have a spare SSD lying around and you want something fun todo with it, sure chuck it in your ZFS based NAS as a cache mechanism. If you were planning on buying an SSD for caching then Id really consider your needs and decide if the money can be spent on alternative stuff which would improve your experience with your NAS. I know my NAS would benefit more from an extra stick of RAM and a more powerful CPU, but as a quick evening project with some parts I had hanging around adding some SSD cache was worth a go.</p>

<hr>
</blockquote>

<h2>More Viewer Interview Questions for Allan</h2>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.cagedmonster.net/setup-openbsd-with-full-disk-encryption/" target="_blank" rel="nofollow noopener">Setup OpenBSD 6.2 with Full Disk Encryption</a></h3>

<ul>
<li><p>Here is a quick way to setup (in 7 steps) OpenBSD 6.2 with the encryption of the filesystem.</p></li>
<li><p>First step: Boot and start the installation:</p></li>
</ul>

<blockquote>
<p>(I)nstall: I<br>
Keyboard Layout: ENTER (I'm french so in my case I took the FR layout)<br>
Leave the installer with: !</p>
</blockquote>

<ul>
<li>Second step: Prepare your disk for encryption.</li>
</ul>

<blockquote>
<p>Using a SSD, my disk is named : sd0, the name may vary, for example : wd0.<br>
Initiating the disk:<br>
Configure your volume:<br>
Now we'll use bioctl to encrypt the partition we created, in this case : sd0a (disk sd0 + partition « a »).<br>
Enter your passphrase.</p>
</blockquote>

<ul>
<li>Third step:</li>
</ul>

<blockquote>
<p>Let's resume the OpenBSD's installer. We follow the install procedure</p>
</blockquote>

<ul>
<li>Fourth step: Partitioning of the encrypted volume.</li>
</ul>

<blockquote>
<p>We select our new volume, in this case: sd1<br>
The whole disk will be used: W(hole)<br>
Let's create our partitions:<br>
NB: You are more than welcome to create multiple partitions for your system.</p>
</blockquote>

<ul>
<li>Fifth step: System installation</li>
</ul>

<blockquote>
<p>It's time to choose how we'll install our system (network install by http in my case)</p>
</blockquote>

<ul>
<li><p>Sixth step: Finalize the installation.</p></li>
<li><p>Last step: Reboot and start your system.</p></li>
</ul>

<blockquote>
<p>Put your passphrase. Welcome to OpenBSD 6.2 with a full encrypted file system.</p>
</blockquote>

<ul>
<li>Optional: Disable the swap encryption.</li>
</ul>

<blockquote>
<p>The swap is actually part of the encrypted filesystem, we don't need OpenBSD to encrypt it. Sysctl is giving us this possibility.</p>
</blockquote>

<hr>

<h3><a href="https://blog.cagedmonster.net/step-by-step-freebsd-installation-with-full-disk-encryption/" target="_blank" rel="nofollow noopener">Step-by-Step FreeBSD installation with ZFS and Full Disk Encryption</a></h3>

<ul>
<li>1. What do I need?

<ul>
<li>For this tutorial, the installation has been made on a Intel Core i7 - AMD64 architecture.</li>
<li>On a USB key, you would probably use this link : <a target="_blank" rel="nofollow noopener">ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-mini-memstick.img</a></li>
<li>If you can't do a network installation, you'd better use this image : <a target="_blank" rel="nofollow noopener">ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-memstick.img</a></li>
<li>You can write the image file on your USB device (replace XXXX with the name of your device) using dd : <code># dd if=FreeBSD-11.1-RELEASE-amd64-mini-memstick.img of=/dev/XXXX bs=1m</code></li>
</ul></li>
<li>2. Boot and install: <a href="https://blog.cagedmonster.net/content/images/2017/09/F1.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>3. Configure your keyboard layout: <a href="https://blog.cagedmonster.net/content/images/2017/09/F2.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F3.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>4. Hostname and system components configuration : 

<ul>
<li>Set the name of your machine: [Screenshot](<a href="https://blog.cagedmonster.net/content/images/2017/09/F4.png_" target="_blank" rel="nofollow noopener">https://blog.cagedmonster.net/content/images/2017/09/F4.png_</a></li>
<li>What components do you want to install? <a href="https://blog.cagedmonster.net/content/images/2017/09/F5.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>5. Network configuration:

<ul>
<li>Select the network interface you want to configure. <a href="https://blog.cagedmonster.net/content/images/2017/09/F6.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>First, we configure our IPv4 network. I used a static adress so you can see how it works, but you can use DHCP for an automated configuration, it depends of what you want to do with your system (desktop/server) <a href="https://blog.cagedmonster.net/content/images/2017/09/F7.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F7-1.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F8.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>IPv6 network configuration. Same as for IPv4, you can use SLAAC for an automated configuration. <a href="https://blog.cagedmonster.net/content/images/2017/09/F9.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F10-1.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F10-2.png" target="_blank" rel="nofollow noopener">Screenshot</a>

<ul>
<li>Here, you can configure your DNS servers, I used the Google DNS servers so you can use them too if needed. <a href="https://blog.cagedmonster.net/content/images/2017/09/F11.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>6. Select the server you want to use for the installation:

<ul>
<li>I always use the IPv6 mirror to ensure that my IPv6 network configuration is good.<a href="https://blog.cagedmonster.net/content/images/2017/09/F12.png" target="_blank" rel="nofollow noopener">Screenshot</a> </li>
</ul></li>
<li>7. Disk configuration:

<ul>
<li>As we want to do an easy full disk encryption, we'll use ZFS. <a href="https://blog.cagedmonster.net/content/images/2017/09/F13.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>Make sure to select the disk encryption :<a href="https://blog.cagedmonster.net/content/images/2017/09/F14.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>Launch the disk configuration :<a href="https://blog.cagedmonster.net/content/images/2017/09/F15.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>Here everything is normal, you have to select the disk you'll use :<a href="https://blog.cagedmonster.net/content/images/2017/09/F16.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>I have only one SSD disk named da0 :<a href="https://blog.cagedmonster.net/content/images/2017/09/F17.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>Last chance before erasing your disk :<a href="https://blog.cagedmonster.net/content/images/2017/09/F18.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>Time to choose the password you'll use to start your system : <a href="https://blog.cagedmonster.net/content/images/2017/09/F19.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F20.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F21.png" target="_blank" rel="nofollow noopener">Screenshot</a> </li>
<li>8. Last steps to finish the installation:

<ul>
<li>The installer will download what you need and what you selected previously (ports, src, etc.) to create your system: <a href="https://blog.cagedmonster.net/content/images/2017/09/F22.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>8.1. Root password:

<ul>
<li>Enter your root password: <a href="https://blog.cagedmonster.net/content/images/2017/09/F22-1.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>8.2. Time and date:

<ul>
<li>Set your timezone, in my case: Europe/France <a href="https://blog.cagedmonster.net/content/images/2017/09/F22-2.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F23.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F23-1.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>Make sure the date and time are good, or you can change them :<a href="https://blog.cagedmonster.net/content/images/2017/09/F24.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F25.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>8.3. Services:

<ul>
<li>Select the services you'll use at system startup depending again of what you want to do. In many cases powerd and ntpd will be useful, sshd if you're planning on using FreeBSD as a server. <a href="https://blog.cagedmonster.net/content/images/2017/09/F26.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>8.4. Security:

<ul>
<li>Security options you want to enable. You'll still be able to change them after the installation with sysctl. <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-1.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>8.5. Additionnal user:

<ul>
<li>Create an unprivileged system user: <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-2.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>Make sure your user is in the wheel group so he can use the su command. <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-3.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-4.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>8.6. The end:
End of your configuration, you can still do some modifications if you want : <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-5.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-6.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-7.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>9. First boot:

<ul>
<li>Enter the passphrase you have chosen previously : <a href="https://blog.cagedmonster.net/content/images/2017/09/F27.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F28.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F29.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>Welcome to Freebsd 11.1 with full disk encryption!
***</li>
</ul>

<h3><a href="http://nanxiao.me/en/the-anatomy-of-ldd-program-on-openbsd/" target="_blank" rel="nofollow noopener">The anatomy of ldd program on OpenBSD</a></h3>

<blockquote>
<p>In the past week, I read the <a href="https://github.com/openbsd/src/blob/master/libexec/ld.so/ldd/ldd.c" target="_blank" rel="nofollow noopener">ldd</a> source code on OpenBSD to get a better understanding of how it works. And this post should also be a reference for other*NIX OSs.</p>
</blockquote>

<ul>
<li>The <a href="https://en.wikipedia.org/wiki/Executable_and_Linkable_Format" target="_blank" rel="nofollow noopener">ELF</a> file is divided into 4 categories: relocatable, executable, shared, and core. Only the executable and shared object files may have dynamic object dependencies, so the ldd only check these 2 kinds of ELF file:</li>
<li>(1) Executable. <code>ldd</code> leverages the <code>LD_TRACE_LOADED_OBJECTS</code> environment variable in fact, and the code is as following:</li>
</ul>

<blockquote>
<pre><code>if (setenv("LD_TRACE_LOADED_OBJECTS", "true", 1) &lt; 0)
err(1, "setenv(LD_TRACE_LOADED_OBJECTS)");
</code></pre>

<p>When LD_TRACE_LOADED_OBJECTS is set to 1 or true, running executable file will show shared objects needed instead of running it, so you even not needldd to check executable file. See the following outputs:</p>

<pre><code>$ /usr/bin/ldd
usage: ldd program ...
$ LD_TRACE_LOADED_OBJECTS=1 /usr/bin/ldd
        Start            End              Type Open Ref GrpRef Name
        00000b6ac6e00000 00000b6ac7003000 exe  1    0   0      /usr/bin/ldd
        00000b6dbc96c000 00000b6dbcc38000 rlib 0    1   0      /usr/lib/libc.so.89.3
        00000b6d6ad00000 00000b6d6ad00000 rtld 0    1   0      /usr/libexec/ld.so  
</code></pre>
</blockquote>

<ul>
<li>(2) Shared object. The code to print dependencies of shared object is as following:</li>
</ul>

<blockquote>
<pre><code>if (ehdr.e_type == ET_DYN &amp;&amp; !interp) {
    if (realpath(name, buf) == NULL) {
        printf("realpath(%s): %s", name,
            strerror(errno));
        fflush(stdout);
        _exit(1);
    }
    dlhandle = dlopen(buf, RTLD_TRACE);
    if (dlhandle == NULL) {
        printf("%s\n", dlerror());
        fflush(stdout);
        _exit(1);
    }
    _exit(0);
}
</code></pre>

<p>Why the condition of checking a ELF file is shared object or not is like this:</p>

<pre><code>if (ehdr.e_type == ET_DYN &amp;&amp; !interp) {
    ......
}
</code></pre>

<p>Thats because the file type of position-independent executable (PIE) is the same as shared object, but normally PIE contains a interpreter program header since it needs dynamic linker to load it while shared object lacks (refer this article). So the above condition will filter PIE file.<br>
The dlopen(buf, RTLD_TRACE) is used to print dynamic object information. And the actual code is like this:</p>

<pre><code>if (_dl_traceld) {
    _dl_show_objects();
    _dl_unload_shlib(object);
    _dl_exit(0);
}
</code></pre>

<p>In fact, you can also implement a simple application which outputs dynamic object information for shared object yourself:</p>

<pre><code>&amp;#35; include &lt;dlfcn.h&gt;
int main(int argc, char **argv)
{
    dlopen(argv[1], RTLD_TRACE);
    return 0;
}
</code></pre>

<p>Compile and use it to analyze /usr/lib/libssl.so.43.2:</p>

<pre><code>$ cc lddshared.c
$ ./a.out /usr/lib/libssl.so.43.2
    Start            End              Type Open Ref GrpRef Name
    000010e2df1c5000 000010e2df41a000 dlib 1    0   0      /usr/lib/libssl.so.43.2
    000010e311e3f000 000010e312209000 rlib 0    1   0      /usr/lib/libcrypto.so.41.1
</code></pre>

<p>The same as using ldd directly:</p>

<pre><code>$ ldd /usr/lib/libssl.so.43.2
/usr/lib/libssl.so.43.2:
    Start            End              Type Open Ref GrpRef Name
    00001d9ffef08000 00001d9fff15d000 dlib 1    0   0      /usr/lib/libssl.so.43.2
    00001d9ff1431000 00001d9ff17fb000 rlib 0    1   0      /usr/lib/libcrypto.so.41.1
</code></pre>

<p>Through the studying of ldd source code, I also get many by-products: such as knowledge of ELF file, linking and loading, etc. So diving into code is a really good method to learn *NIX deeper!</p>

<hr>
</blockquote>

<h3><a href="https://clinetworking.wordpress.com/2017/10/13/perl5-slack-syslog-bsd-daemon/" target="_blank" rel="nofollow noopener">Perl5 Slack Syslog BSD daemon</a></h3>

<blockquote>
<p>So I have been working on my little Perl daemon for a week now.<br>
It is a simple syslog daemon that listens on port 514 for incoming messages. It listens on a port so it can process log messages from my consumer Linux router as well as the messages from my server.  Messages that are above alert are sent, as are messages that match the regex of SSH or DHCP (I want to keep track of new connections to my wifi). The rest of the messages are not sent to slack but appended to a log file. This is very handy as I can get access to info like failed ssh logins, disk failures, and new devices connecting to the network all on my Android phone when I am not home.</p>
</blockquote>

<ul>
<li><a href="https://clinetworking.files.wordpress.com/2017/10/screenshot_2017-10-13-23-00-26.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul>

<blockquote>
<p>The situation arose today that the internet went down and I thought to myself what would happen to all my important syslog messages when they couldnt be sent?  Before the script only ran an eval block on the botsend() function. The error was returned, handled, but nothing was done and the unsent message was discarded. So I added a function that appended unsent messengers to an array that are later sent when the server is not busy sending messages to slack.<br>
Slack has a limit of one message per second. The new addition works well and means that if the internet fails my server will store these messages in memory and resend them at a rate of one message per second when the internet connectivity returns. It currently sends the newest ones first but I am not sure if this is a bug or a feature at this point! It currently works with my Linux based WiFi router and my FreeBSD server. It is easy to scale as all you need to do is send messages to syslog to get them sent to slack. You could sent CPU temp, logged in users etc.</p>
</blockquote>

<ul>
<li>There is a github page: <a href="https://github.com/wilyarti/slackbot" target="_blank" rel="nofollow noopener">https://github.com/wilyarti/slackbot</a></li>
</ul>

<hr>

<h3><a href="http://nanxiao.me/en/lscpu-for-openbsdfreebsd/" target="_blank" rel="nofollow noopener">Lscpu for OpenBSD/FreeBSD</a></h3>

<ul>
<li><a href="https://github.com/NanXiao/lscpu" target="_blank" rel="nofollow noopener">Github Link</a></li>
</ul>

<blockquote>
<p>There is a neat command, lscpu, which is very handy to display CPU information on GNU/Linux OS:</p>

<pre><code>$ lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              32
On-line CPU(s) list: 0-31
Thread(s) per core:  2
Core(s) per socket:  8
Socket(s):           2
</code></pre>

<p>But unfortunately, the BSD OSs lack this command, maybe one reason is lscpu relies heavily on /proc file system which BSD dont provide, :-). TakeOpenBSD as an example, if I want to know CPU information, dmesg should be one choice:</p>

<pre><code>$ dmesg | grep -i cpu
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz, 2527.35 MHz
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,
PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE,NXE,LONG,LAHF,PERF,SENSOR
cpu0: 3MB 64b/line 8-way L2 cache
cpu0: apic clock running at 266MHz
cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2.1.3, IBE
</code></pre>

<p>But the output makes me feeling messy, not very clear. As for dmidecode, it used to be another option, but now cant work out-of-box because it will access /dev/mem which for security reason, OpenBSD doesnt allow by default (You can refer this discussion):</p>

<pre><code>$ ./dmidecode
$ dmidecode 3.1
Scanning /dev/mem for entry point.
/dev/mem: Operation not permitted
</code></pre>

<p>Based on above situation, I want a specified command for showing CPU information for my BSD box. So in the past 2 weeks, I developed a lscpu program for OpenBSD/FreeBSD, or more accurately, OpenBSD/FreeBSD on x86 architecture since I only have some Intel processors at hand. The application getsCPU metrics from 2 sources:</p>
</blockquote>

<ul>
<li>(1) <code>sysctl</code> functions.  The BSD OSs provide sysctl interface which I can use to get general CPU particulars, such as how many CPUs the system contains, the byte-order of CPU, etc.</li>
<li>(2) <code>CPUID</code> instruction. For x86 architecture, CPUID instruction can obtain very detail information of CPU. This coding work is a little tedious and error-prone, not only because I need to reference both Intel and AMD specifications since these 2 vendors have minor distinctions, but also I need to parse the bits of register values.</li>
<li>The code is <a href="https://github.com/NanXiao/lscpu" target="_blank" rel="nofollow noopener">here</a>, and if you run OpenBSD/FreeBSD on x86 processors, please try it. It will be better you can give some feedback or report the issues, and I appreciate it very much. In the future if I have other CPUs resource, such as ARM or SPARC64, maybe I will enrich this small program.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://daemonforums.org/showthread.php?t=10429" target="_blank" rel="nofollow noopener">OpenBSD Porting Workshop - Brian Callahan will be running an OpenBSD porting workshop in NYC for NYC*BUG on December 6, 2017.</a></li>
<li><a href="http://www.openbsdjumpstart.org/#/" target="_blank" rel="nofollow noopener">Learn to tame OpenBSD quickly</a></li>
<li><a href="https://gist.github.com/sortie/94b302dd383df19237d1a04969f1a42b" target="_blank" rel="nofollow noopener">Detect the operating system using UDP stack corner cases</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Awesome Mike - <a href="http://dpaste.com/1H22BND#wrap" target="_blank" rel="nofollow noopener">ZFS Questions</a></li>
<li>Michael - <a href="http://dpaste.com/1JRJ6T9" target="_blank" rel="nofollow noopener">Expanding a file server with only one hard drive with ZFS</a> - <a href="http://dpaste.com/36M7M3E" target="_blank" rel="nofollow noopener">information based on Allan's IRC response</a></li>
<li>Brian - <a href="http://dpaste.com/3X0GXJR#wrap" target="_blank" rel="nofollow noopener">Optimizing ZFS for a single disk</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Papers we love: ARC by Bryan Cantrill, SSD caching adventures with ZFS, OpenBSD full disk encryption setup, and a Perl5 Slack Syslog BSD daemon.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.youtube.com/watch?v=F8sZRBdmqc0&amp;feature=youtu.be" target="_blank" rel="nofollow noopener">Papers We Love: ARC: A Self-Tuning, Low Overhead Replacement Cache</a></h3>

<ul>
<li>Ever wondered how the ZFS ARC (Adaptive Replacement Cache) works?</li>
<li>How about if Bryan Cantrill presented the original paper on its design?</li>
<li>Today is that day.</li>
<li><a href="https://www.slideshare.net/bcantrill/papers-we-love-arc-after-dark" target="_blank" rel="nofollow noopener">Slides</a></li>
<li>It starts by looking back at a fundamental paper from the 40s where the architecture of general-purpose computers are first laid out</li>
<li>The main is the description of memory hierarchies, where you have a small amount of very fast memory, then the next level is slower but larger, and on and on. As we look at the various L1, L2, and L3 caches on a CPU, then RAM, then flash, then spinning disks, this still holds true today.</li>
<li>The paper then does a survey of the existing caching policies and tries to explain the issues with each. This includes MIN, which is the theoretically optimal policy, which requires future knowledge, but is useful for setting the upper bound, what is the best we could possibly do.</li>
<li>The paper ends up showing that the ARC can end up being better than manually trying to pick the best number for the workload, because it adapts as the workload changes</li>
<li>At about 1:25 into the video, Bryan start talking about the practical implementation of the ARC in ZFS, and some challenges they have run into recently at Joyent.</li>
<li>A great discussion about some of the problems when ZFS needs to shrink the ARC. Not all of it applies 1:1 to FreeBSD because the kernel and the kmem implementation are different in a number of ways</li>
<li>There were some interesting questions asked at the end as well
***</li>
</ul>

<h3><a href="https://unix.stackexchange.com/a/193837" target="_blank" rel="nofollow noopener">How do I use man pages to learn how to use commands?</a></h3>

<ul>
<li>nwildner on StackExchange has a very thorough answer to the question how to interpret man pages to understand complicated commands (xargs in this case, but not specifically).</li>
<li>Have in mind what you want to do.</li>
</ul>

<blockquote>
<p>When doing your research about xargs you did it for a purpose, right? You had a specific need that was reading standard output and executing commands based on that output.</p>
</blockquote>

<ul>
<li>But, when I don't know which command I want?</li>
</ul>

<blockquote>
<p>Use man -k or apropos (they are equivalent). If I don't know how to find a file: man -k file | grep search. Read the descriptions and find one that will better fit your needs.</p>
</blockquote>

<ul>
<li>Apropos works with regular expressions by default, (man apropos, read the description and find out what -r does), and on this example I'm looking for every manpage where the description starts with "report".</li>
<li><p>Always read the DESCRIPTION before starting</p></li>
<li><p>Take a time and read the description. By just reading the description of the xargs command we will learn that:</p></li>
</ul>

<blockquote>
<p>xargs reads from STDIN and executes the command needed. This also means that you will need to have some knowledge of how standard input works, and how to manipulate it through pipes to chain commands<br>
The default behavior is to act like /bin/echo. This gives you a little tip that if you need to chain more than one xargs, you don't need to use echo to print.<br>
We have also learned that unix filenames can contain blank and newlines, that this could be a problem and the argument -0 is a way to prevent things explode by using null character separators. The description warns you that the command being used as input needs to support this feature too, and that GNU find support it. Great. We use a lot of find with xargs.<br>
xargs will stop if exit status 255 is reached.</p>
</blockquote>

<ul>
<li>Some descriptions are very short and that is generally because the software works on a very simple way. Don't even think of skipping this part of the manpage ;)</li>
<li><p>Other things to pay attention...</p></li>
<li><p>You know that you can search for files using find. There is a ton of options and if you only look at the SYNOPSIS, you will get overwhelmed by those. It's just the tip of the iceberg. Excluding NAME, SYNOPSIS, and DESCRIPTION, you will have the following sections:</p></li>
</ul>

<blockquote>
<p>When this method will not work so well...</p>

<ul>
<li>Tips that apply to all commands</li>
</ul>
</blockquote>

<ul>
<li>Some options, mnemonics and "syntax style" travel through all commands making you buy some time by not having to open the manpage at all. Those are learned by practice and the most common are:</li>
</ul>

<blockquote>
<p>Generally, -v means verbose. -vvv is a variation "very very verbose" on some software.<br>
Following the POSIX standard, generally one dash arguments can be stacked. Example: tar -xzvf,  cp -Rv.<br>
Generally -R and/or -r means recursive.<br>
Almost all commands have a brief help with the --help option.<br>
--version shows the version of a software.<br>
-p, on copy or move utilities means "preserve permissions".<br>
-y means YES, or "proceed without confirmation" in most cases.</p>
</blockquote>

<ul>
<li>Default values of commands.</li>
</ul>

<blockquote>
<p>At the pager chunk of this answer, we saw that less -is is the pager of man. The default behavior of commands are not always shown at a separated section on manpages, or at the section that is most top placed.<br>
You will have to read the options to find out defaults, or if you are lucky, typing /pager will lead you to that info. This also requires you to know the concept of the pager(software that scrolls the manpage), and this is a thing you will only acquire after reading lots of manpages.</p>
</blockquote>

<ul>
<li>And what about the SYNOPSIS syntax?</li>
</ul>

<blockquote>
<p>After getting all the information needed to execute the command, you can combine options, option-arguments and operands inline to make your job done. Overview of concepts:<br>
Options are the switches that dictates a command behavior. "Do this" "don't do this" or "act this way". Often called switches.</p>
</blockquote>

<ul>
<li>Check out the full answer and see if it helps you better grasp the meaning of a man page and thus the command.
***</li>
</ul>

<h3><a href="https://robertputt.co.uk/my-adventure-into-ssd-caching-with-zfs-home-nas.html" target="_blank" rel="nofollow noopener">My adventure into SSD caching with ZFS (Home NAS)</a></h3>

<ul>
<li>Robert Putt as written about his adventure using SSDs for caching with ZFS on his home NAS.</li>
</ul>

<blockquote>
<p>Recently I decided to throw away my old defunct 2009 MacBook Pro which was rotting in my cupboard and I decided to retrieve the only useful part before doing so, the 80GB Intel SSD I had installed a few years earlier. Initially I thought about simply adding it to my desktop as a bit of extra space but in 2017 80GB really wasnt worth it and then I had a brainwave Lets see if we can squeeze some additional performance out of my HP Microserver Gen8 NAS running ZFS by installing it as a cache disk.<br>
I installed the SSD to the cdrom tray of the Microserver using a floppy disk power to SATA power converter and a SATA cable, unfortunately it seems the CD ROM SATA port on the motherboard is only a 3gbps port although this didnt matter so much as it was an older 3gbps SSD anyway. Next I booted up the machine and to my suprise the disk was not found in my FreeBSD install, then I realised that the SATA port for the CD drive is actually provided by the RAID controller, so I rebooted into intelligent provisioning and added an additional RAID0 array with just the 1 disk to act as my cache, in fact all of the disks in this machine are individual RAID0 arrays so it looks like just a bunch of disks (JBOD) as ZFS offers additional functionality over normal RAID (mainly scrubbing, deduplication and compression).</p>
</blockquote>

<ul>
<li><p>Configuration</p></li>
<li><p>Lets have a look at the zpool before adding the cache drive to make sure there are no errors or uglyness:</p></li>
</ul>

<blockquote>
<p>Now lets prep the drive for use in the zpool using gpart. I want to split the SSD into two seperate partitions, one for L2ARC (read caching) and one for ZIL (write caching). I have decided to split the disk into 20GB for ZIL and 50GB for L2ARC. Be warned using 1 SSD like this is considered unsafe because it is a single point of failure in terms of delayed writes (a redundant configuration with 2 SSDs would be more appropriate) and the heavy write cycles on the SSD from the ZIL is likely to kill it over time.<br>
Now its time to see if adding the cache has made much of a difference. I suspect not as my Home NAS sucks, it is a HP Microserver Gen8 with the crappy Celeron CPU and only 4GB RAM, anyway, lets test it and find out. First off lets throw fio at the mount point for this zpool and see what happens both with the ZIL and L2ARC enabled and disabled.</p>
</blockquote>

<ul>
<li>Observations</li>
</ul>

<blockquote>
<p>Ok, so the initial result is a little dissapointing, but hardly unexpected, my NAS sucks and there are lots of bottle necks, CPU, memory and the fact only 2 of the SATA ports are 6gbps. There is no real difference performance wise in comparison between the results, the IOPS, bandwidth and latency appear very similar. However lets bare in mind fio is a pretty hardcore disk benchmark utility, how about some real world use cases?<br>
Next I decided to test a few typical file transactions that this NAS is used for, Samba shares to my workstation. For the first test I wanted to test reading a 3GB file over the network with both the cache enabled and disabled, I would run this multiple times to ensure the data is hot in the L2ARC and to ensure the test is somewhat repeatable, the network itself is an uncongested 1gbit link and I am copying onto the secondary SSD in my workstation. The dataset for these tests has compression and deduplication disabled.</p>
</blockquote>

<ul>
<li>Samba Read Test</li>
</ul>

<blockquote>
<p>Not bad once the data becomes hot in the L2ARC cache reads appear to gain a decent advantage compared to reading from the disk directly. How does it perform when writing the same file back accross the network using the ZIL vs no ZIL.</p>
</blockquote>

<ul>
<li>Samba Write Test</li>
</ul>

<blockquote>
<p>Another good result in the real world test, this certainately helps the write transfer speed however I do wonder what would happen if you filled the ZIL transferring a very large file, however this is unlikely with my use case as I typically only deal with a couple of files of several hundred megabytes at any given time so a 20GB ZIL should suit me reasonably well.</p>
</blockquote>

<ul>
<li>Is ZIL and L2ARC worth it?</li>
</ul>

<blockquote>
<p>I would imagine with a big beefy ZFS server running in a company somewhere with a large disk pool and lots of users with multiple enterprise level SSD ZIL and L2ARC would be well worth the investment, however at home I am not so sure. Yes I did see an increase in read speeds with cached data and a general increase in write speeds however it is use case dependant. In my use case I rarely access the same file frequently, my NAS primarily serves as a backup and for archived data, and although the write speeds are cool I am not sure its a deal breaker. If I built a new home NAS today Id probably concentrate the budget on a better CPU, more RAM (for ARC cache) and more disks. However if I had a use case where I frequently accessed the same files and needed to do so in a faster fashion then yes, Id probably invest in an SSD for caching. I think if you have a spare SSD lying around and you want something fun todo with it, sure chuck it in your ZFS based NAS as a cache mechanism. If you were planning on buying an SSD for caching then Id really consider your needs and decide if the money can be spent on alternative stuff which would improve your experience with your NAS. I know my NAS would benefit more from an extra stick of RAM and a more powerful CPU, but as a quick evening project with some parts I had hanging around adding some SSD cache was worth a go.</p>

<hr>
</blockquote>

<h2>More Viewer Interview Questions for Allan</h2>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://blog.cagedmonster.net/setup-openbsd-with-full-disk-encryption/" target="_blank" rel="nofollow noopener">Setup OpenBSD 6.2 with Full Disk Encryption</a></h3>

<ul>
<li><p>Here is a quick way to setup (in 7 steps) OpenBSD 6.2 with the encryption of the filesystem.</p></li>
<li><p>First step: Boot and start the installation:</p></li>
</ul>

<blockquote>
<p>(I)nstall: I<br>
Keyboard Layout: ENTER (I'm french so in my case I took the FR layout)<br>
Leave the installer with: !</p>
</blockquote>

<ul>
<li>Second step: Prepare your disk for encryption.</li>
</ul>

<blockquote>
<p>Using a SSD, my disk is named : sd0, the name may vary, for example : wd0.<br>
Initiating the disk:<br>
Configure your volume:<br>
Now we'll use bioctl to encrypt the partition we created, in this case : sd0a (disk sd0 + partition « a »).<br>
Enter your passphrase.</p>
</blockquote>

<ul>
<li>Third step:</li>
</ul>

<blockquote>
<p>Let's resume the OpenBSD's installer. We follow the install procedure</p>
</blockquote>

<ul>
<li>Fourth step: Partitioning of the encrypted volume.</li>
</ul>

<blockquote>
<p>We select our new volume, in this case: sd1<br>
The whole disk will be used: W(hole)<br>
Let's create our partitions:<br>
NB: You are more than welcome to create multiple partitions for your system.</p>
</blockquote>

<ul>
<li>Fifth step: System installation</li>
</ul>

<blockquote>
<p>It's time to choose how we'll install our system (network install by http in my case)</p>
</blockquote>

<ul>
<li><p>Sixth step: Finalize the installation.</p></li>
<li><p>Last step: Reboot and start your system.</p></li>
</ul>

<blockquote>
<p>Put your passphrase. Welcome to OpenBSD 6.2 with a full encrypted file system.</p>
</blockquote>

<ul>
<li>Optional: Disable the swap encryption.</li>
</ul>

<blockquote>
<p>The swap is actually part of the encrypted filesystem, we don't need OpenBSD to encrypt it. Sysctl is giving us this possibility.</p>
</blockquote>

<hr>

<h3><a href="https://blog.cagedmonster.net/step-by-step-freebsd-installation-with-full-disk-encryption/" target="_blank" rel="nofollow noopener">Step-by-Step FreeBSD installation with ZFS and Full Disk Encryption</a></h3>

<ul>
<li>1. What do I need?

<ul>
<li>For this tutorial, the installation has been made on a Intel Core i7 - AMD64 architecture.</li>
<li>On a USB key, you would probably use this link : <a target="_blank" rel="nofollow noopener">ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-mini-memstick.img</a></li>
<li>If you can't do a network installation, you'd better use this image : <a target="_blank" rel="nofollow noopener">ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/11.1/FreeBSD-11.1-RELEASE-amd64-memstick.img</a></li>
<li>You can write the image file on your USB device (replace XXXX with the name of your device) using dd : <code># dd if=FreeBSD-11.1-RELEASE-amd64-mini-memstick.img of=/dev/XXXX bs=1m</code></li>
</ul></li>
<li>2. Boot and install: <a href="https://blog.cagedmonster.net/content/images/2017/09/F1.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>3. Configure your keyboard layout: <a href="https://blog.cagedmonster.net/content/images/2017/09/F2.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F3.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>4. Hostname and system components configuration : 

<ul>
<li>Set the name of your machine: [Screenshot](<a href="https://blog.cagedmonster.net/content/images/2017/09/F4.png_" target="_blank" rel="nofollow noopener">https://blog.cagedmonster.net/content/images/2017/09/F4.png_</a></li>
<li>What components do you want to install? <a href="https://blog.cagedmonster.net/content/images/2017/09/F5.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>5. Network configuration:

<ul>
<li>Select the network interface you want to configure. <a href="https://blog.cagedmonster.net/content/images/2017/09/F6.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>First, we configure our IPv4 network. I used a static adress so you can see how it works, but you can use DHCP for an automated configuration, it depends of what you want to do with your system (desktop/server) <a href="https://blog.cagedmonster.net/content/images/2017/09/F7.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F7-1.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F8.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>IPv6 network configuration. Same as for IPv4, you can use SLAAC for an automated configuration. <a href="https://blog.cagedmonster.net/content/images/2017/09/F9.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F10-1.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F10-2.png" target="_blank" rel="nofollow noopener">Screenshot</a>

<ul>
<li>Here, you can configure your DNS servers, I used the Google DNS servers so you can use them too if needed. <a href="https://blog.cagedmonster.net/content/images/2017/09/F11.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>6. Select the server you want to use for the installation:

<ul>
<li>I always use the IPv6 mirror to ensure that my IPv6 network configuration is good.<a href="https://blog.cagedmonster.net/content/images/2017/09/F12.png" target="_blank" rel="nofollow noopener">Screenshot</a> </li>
</ul></li>
<li>7. Disk configuration:

<ul>
<li>As we want to do an easy full disk encryption, we'll use ZFS. <a href="https://blog.cagedmonster.net/content/images/2017/09/F13.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>Make sure to select the disk encryption :<a href="https://blog.cagedmonster.net/content/images/2017/09/F14.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>Launch the disk configuration :<a href="https://blog.cagedmonster.net/content/images/2017/09/F15.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>Here everything is normal, you have to select the disk you'll use :<a href="https://blog.cagedmonster.net/content/images/2017/09/F16.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>I have only one SSD disk named da0 :<a href="https://blog.cagedmonster.net/content/images/2017/09/F17.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>Last chance before erasing your disk :<a href="https://blog.cagedmonster.net/content/images/2017/09/F18.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>Time to choose the password you'll use to start your system : <a href="https://blog.cagedmonster.net/content/images/2017/09/F19.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F20.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F21.png" target="_blank" rel="nofollow noopener">Screenshot</a> </li>
<li>8. Last steps to finish the installation:

<ul>
<li>The installer will download what you need and what you selected previously (ports, src, etc.) to create your system: <a href="https://blog.cagedmonster.net/content/images/2017/09/F22.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>8.1. Root password:

<ul>
<li>Enter your root password: <a href="https://blog.cagedmonster.net/content/images/2017/09/F22-1.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>8.2. Time and date:

<ul>
<li>Set your timezone, in my case: Europe/France <a href="https://blog.cagedmonster.net/content/images/2017/09/F22-2.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F23.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F23-1.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>Make sure the date and time are good, or you can change them :<a href="https://blog.cagedmonster.net/content/images/2017/09/F24.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F25.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>8.3. Services:

<ul>
<li>Select the services you'll use at system startup depending again of what you want to do. In many cases powerd and ntpd will be useful, sshd if you're planning on using FreeBSD as a server. <a href="https://blog.cagedmonster.net/content/images/2017/09/F26.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>8.4. Security:

<ul>
<li>Security options you want to enable. You'll still be able to change them after the installation with sysctl. <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-1.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>8.5. Additionnal user:

<ul>
<li>Create an unprivileged system user: <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-2.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>Make sure your user is in the wheel group so he can use the su command. <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-3.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-4.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>8.6. The end:
End of your configuration, you can still do some modifications if you want : <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-5.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-6.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F26-7.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
<li>9. First boot:

<ul>
<li>Enter the passphrase you have chosen previously : <a href="https://blog.cagedmonster.net/content/images/2017/09/F27.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F28.png" target="_blank" rel="nofollow noopener">Screenshot</a> &amp; <a href="https://blog.cagedmonster.net/content/images/2017/09/F29.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul></li>
<li>Welcome to Freebsd 11.1 with full disk encryption!
***</li>
</ul>

<h3><a href="http://nanxiao.me/en/the-anatomy-of-ldd-program-on-openbsd/" target="_blank" rel="nofollow noopener">The anatomy of ldd program on OpenBSD</a></h3>

<blockquote>
<p>In the past week, I read the <a href="https://github.com/openbsd/src/blob/master/libexec/ld.so/ldd/ldd.c" target="_blank" rel="nofollow noopener">ldd</a> source code on OpenBSD to get a better understanding of how it works. And this post should also be a reference for other*NIX OSs.</p>
</blockquote>

<ul>
<li>The <a href="https://en.wikipedia.org/wiki/Executable_and_Linkable_Format" target="_blank" rel="nofollow noopener">ELF</a> file is divided into 4 categories: relocatable, executable, shared, and core. Only the executable and shared object files may have dynamic object dependencies, so the ldd only check these 2 kinds of ELF file:</li>
<li>(1) Executable. <code>ldd</code> leverages the <code>LD_TRACE_LOADED_OBJECTS</code> environment variable in fact, and the code is as following:</li>
</ul>

<blockquote>
<pre><code>if (setenv("LD_TRACE_LOADED_OBJECTS", "true", 1) &lt; 0)
err(1, "setenv(LD_TRACE_LOADED_OBJECTS)");
</code></pre>

<p>When LD_TRACE_LOADED_OBJECTS is set to 1 or true, running executable file will show shared objects needed instead of running it, so you even not needldd to check executable file. See the following outputs:</p>

<pre><code>$ /usr/bin/ldd
usage: ldd program ...
$ LD_TRACE_LOADED_OBJECTS=1 /usr/bin/ldd
        Start            End              Type Open Ref GrpRef Name
        00000b6ac6e00000 00000b6ac7003000 exe  1    0   0      /usr/bin/ldd
        00000b6dbc96c000 00000b6dbcc38000 rlib 0    1   0      /usr/lib/libc.so.89.3
        00000b6d6ad00000 00000b6d6ad00000 rtld 0    1   0      /usr/libexec/ld.so  
</code></pre>
</blockquote>

<ul>
<li>(2) Shared object. The code to print dependencies of shared object is as following:</li>
</ul>

<blockquote>
<pre><code>if (ehdr.e_type == ET_DYN &amp;&amp; !interp) {
    if (realpath(name, buf) == NULL) {
        printf("realpath(%s): %s", name,
            strerror(errno));
        fflush(stdout);
        _exit(1);
    }
    dlhandle = dlopen(buf, RTLD_TRACE);
    if (dlhandle == NULL) {
        printf("%s\n", dlerror());
        fflush(stdout);
        _exit(1);
    }
    _exit(0);
}
</code></pre>

<p>Why the condition of checking a ELF file is shared object or not is like this:</p>

<pre><code>if (ehdr.e_type == ET_DYN &amp;&amp; !interp) {
    ......
}
</code></pre>

<p>Thats because the file type of position-independent executable (PIE) is the same as shared object, but normally PIE contains a interpreter program header since it needs dynamic linker to load it while shared object lacks (refer this article). So the above condition will filter PIE file.<br>
The dlopen(buf, RTLD_TRACE) is used to print dynamic object information. And the actual code is like this:</p>

<pre><code>if (_dl_traceld) {
    _dl_show_objects();
    _dl_unload_shlib(object);
    _dl_exit(0);
}
</code></pre>

<p>In fact, you can also implement a simple application which outputs dynamic object information for shared object yourself:</p>

<pre><code>&amp;#35; include &lt;dlfcn.h&gt;
int main(int argc, char **argv)
{
    dlopen(argv[1], RTLD_TRACE);
    return 0;
}
</code></pre>

<p>Compile and use it to analyze /usr/lib/libssl.so.43.2:</p>

<pre><code>$ cc lddshared.c
$ ./a.out /usr/lib/libssl.so.43.2
    Start            End              Type Open Ref GrpRef Name
    000010e2df1c5000 000010e2df41a000 dlib 1    0   0      /usr/lib/libssl.so.43.2
    000010e311e3f000 000010e312209000 rlib 0    1   0      /usr/lib/libcrypto.so.41.1
</code></pre>

<p>The same as using ldd directly:</p>

<pre><code>$ ldd /usr/lib/libssl.so.43.2
/usr/lib/libssl.so.43.2:
    Start            End              Type Open Ref GrpRef Name
    00001d9ffef08000 00001d9fff15d000 dlib 1    0   0      /usr/lib/libssl.so.43.2
    00001d9ff1431000 00001d9ff17fb000 rlib 0    1   0      /usr/lib/libcrypto.so.41.1
</code></pre>

<p>Through the studying of ldd source code, I also get many by-products: such as knowledge of ELF file, linking and loading, etc. So diving into code is a really good method to learn *NIX deeper!</p>

<hr>
</blockquote>

<h3><a href="https://clinetworking.wordpress.com/2017/10/13/perl5-slack-syslog-bsd-daemon/" target="_blank" rel="nofollow noopener">Perl5 Slack Syslog BSD daemon</a></h3>

<blockquote>
<p>So I have been working on my little Perl daemon for a week now.<br>
It is a simple syslog daemon that listens on port 514 for incoming messages. It listens on a port so it can process log messages from my consumer Linux router as well as the messages from my server.  Messages that are above alert are sent, as are messages that match the regex of SSH or DHCP (I want to keep track of new connections to my wifi). The rest of the messages are not sent to slack but appended to a log file. This is very handy as I can get access to info like failed ssh logins, disk failures, and new devices connecting to the network all on my Android phone when I am not home.</p>
</blockquote>

<ul>
<li><a href="https://clinetworking.files.wordpress.com/2017/10/screenshot_2017-10-13-23-00-26.png" target="_blank" rel="nofollow noopener">Screenshot</a></li>
</ul>

<blockquote>
<p>The situation arose today that the internet went down and I thought to myself what would happen to all my important syslog messages when they couldnt be sent?  Before the script only ran an eval block on the botsend() function. The error was returned, handled, but nothing was done and the unsent message was discarded. So I added a function that appended unsent messengers to an array that are later sent when the server is not busy sending messages to slack.<br>
Slack has a limit of one message per second. The new addition works well and means that if the internet fails my server will store these messages in memory and resend them at a rate of one message per second when the internet connectivity returns. It currently sends the newest ones first but I am not sure if this is a bug or a feature at this point! It currently works with my Linux based WiFi router and my FreeBSD server. It is easy to scale as all you need to do is send messages to syslog to get them sent to slack. You could sent CPU temp, logged in users etc.</p>
</blockquote>

<ul>
<li>There is a github page: <a href="https://github.com/wilyarti/slackbot" target="_blank" rel="nofollow noopener">https://github.com/wilyarti/slackbot</a></li>
</ul>

<hr>

<h3><a href="http://nanxiao.me/en/lscpu-for-openbsdfreebsd/" target="_blank" rel="nofollow noopener">Lscpu for OpenBSD/FreeBSD</a></h3>

<ul>
<li><a href="https://github.com/NanXiao/lscpu" target="_blank" rel="nofollow noopener">Github Link</a></li>
</ul>

<blockquote>
<p>There is a neat command, lscpu, which is very handy to display CPU information on GNU/Linux OS:</p>

<pre><code>$ lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              32
On-line CPU(s) list: 0-31
Thread(s) per core:  2
Core(s) per socket:  8
Socket(s):           2
</code></pre>

<p>But unfortunately, the BSD OSs lack this command, maybe one reason is lscpu relies heavily on /proc file system which BSD dont provide, :-). TakeOpenBSD as an example, if I want to know CPU information, dmesg should be one choice:</p>

<pre><code>$ dmesg | grep -i cpu
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz, 2527.35 MHz
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,
PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,XSAVE,NXE,LONG,LAHF,PERF,SENSOR
cpu0: 3MB 64b/line 8-way L2 cache
cpu0: apic clock running at 266MHz
cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2.1.3, IBE
</code></pre>

<p>But the output makes me feeling messy, not very clear. As for dmidecode, it used to be another option, but now cant work out-of-box because it will access /dev/mem which for security reason, OpenBSD doesnt allow by default (You can refer this discussion):</p>

<pre><code>$ ./dmidecode
$ dmidecode 3.1
Scanning /dev/mem for entry point.
/dev/mem: Operation not permitted
</code></pre>

<p>Based on above situation, I want a specified command for showing CPU information for my BSD box. So in the past 2 weeks, I developed a lscpu program for OpenBSD/FreeBSD, or more accurately, OpenBSD/FreeBSD on x86 architecture since I only have some Intel processors at hand. The application getsCPU metrics from 2 sources:</p>
</blockquote>

<ul>
<li>(1) <code>sysctl</code> functions.  The BSD OSs provide sysctl interface which I can use to get general CPU particulars, such as how many CPUs the system contains, the byte-order of CPU, etc.</li>
<li>(2) <code>CPUID</code> instruction. For x86 architecture, CPUID instruction can obtain very detail information of CPU. This coding work is a little tedious and error-prone, not only because I need to reference both Intel and AMD specifications since these 2 vendors have minor distinctions, but also I need to parse the bits of register values.</li>
<li>The code is <a href="https://github.com/NanXiao/lscpu" target="_blank" rel="nofollow noopener">here</a>, and if you run OpenBSD/FreeBSD on x86 processors, please try it. It will be better you can give some feedback or report the issues, and I appreciate it very much. In the future if I have other CPUs resource, such as ARM or SPARC64, maybe I will enrich this small program.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://daemonforums.org/showthread.php?t=10429" target="_blank" rel="nofollow noopener">OpenBSD Porting Workshop - Brian Callahan will be running an OpenBSD porting workshop in NYC for NYC*BUG on December 6, 2017.</a></li>
<li><a href="http://www.openbsdjumpstart.org/#/" target="_blank" rel="nofollow noopener">Learn to tame OpenBSD quickly</a></li>
<li><a href="https://gist.github.com/sortie/94b302dd383df19237d1a04969f1a42b" target="_blank" rel="nofollow noopener">Detect the operating system using UDP stack corner cases</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Awesome Mike - <a href="http://dpaste.com/1H22BND#wrap" target="_blank" rel="nofollow noopener">ZFS Questions</a></li>
<li>Michael - <a href="http://dpaste.com/1JRJ6T9" target="_blank" rel="nofollow noopener">Expanding a file server with only one hard drive with ZFS</a> - <a href="http://dpaste.com/36M7M3E" target="_blank" rel="nofollow noopener">information based on Allan's IRC response</a></li>
<li>Brian - <a href="http://dpaste.com/3X0GXJR#wrap" target="_blank" rel="nofollow noopener">Optimizing ZFS for a single disk</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>218: A KRACK in the WiFi</title>
  <link>https://www.bsdnow.tv/218</link>
  <guid isPermaLink="false">e0a5ad39-7410-48c8-b0f4-a879c27cf354</guid>
  <pubDate>Wed, 01 Nov 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/e0a5ad39-7410-48c8-b0f4-a879c27cf354.mp3" length="53638132" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 10.4-RELEASE is here, more EuroBSDcon travel notes, the KRACK attack, ZFS and DTrace on NetBSD, and pfsense 2.4.</itunes:subtitle>
  <itunes:duration>1:14:29</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>&lt;p&gt;FreeBSD 10.4-RELEASE is here, more EuroBSDcon travel notes, the KRACK attack, ZFS and DTrace on NetBSD, and pfsense 2.4.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/releases/10.4R/announce.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 10.4-RELEASE Available&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD 10.4-RELEASE is out. The FreeBSD Project dedicates the FreeBSD 10.4-RELEASE to the memory of Andrey A. Chernov.&lt;/li&gt;
&lt;li&gt;Some of the highlights:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;10.4-RELEASE is the first FreeBSD release to feature full support for eMMC storage, including eMMC partitions, TRIM and bus speed modes up to HS400. Please note, though, that availability of especially the DDR52, HS200 and HS400 modes requires support in the actual sdhci(4) front-end as well as by the hardware used. Also note, that the SDHCI controller part of Intel® Apollo Lake chipsets is affected by several severe silicon bugs. Apparently, it depends on the particular Apollo Lake platform whether the workarounds in place so far are sufficient to avoid timeouts on attaching sdhci(4) there.&lt;br&gt;
Also in case a GPT disk label is used, the fsck_ffs(8) utility now is able to find alternate superblocks.&lt;br&gt;
The aesni(4) driver now no longer shares a single FPU context across multiple sessions in multiple threads, addressing problems seen when employing aesni(4) for accelerating ipsec(4).&lt;br&gt;
Support for the Kaby Lake generation of Intel® i219(4)/ i219(5) devices has been added to the em(4) driver.&lt;br&gt;
The em(4) driver is now capable of enabling Wake On LAN (WOL) also for Intel® i217, i218 and i219 chips. Note that stale interface configurations from previous unsuccessful attempts to enable WOL for these devices now will actually take effect. For example, an &lt;code&gt;ifconfig em0 wol&lt;/code&gt; activates all WOL variants including wol_mcast, which might be undesirable.&lt;br&gt;
Support for WOL has been added to the igb(4) driver, which was not able to activate this feature on any device before. The same remark regarding stale WOL configurations as for the em(4) driver applies.&lt;br&gt;
Userland coredumps can now trigger events such as generating a human readable crash report via devd(8). This feature is off by default.&lt;br&gt;
The firmware shipping with the qlxgbe(4) driver has been updated to version 5.4.66. Additionally, this driver has received some TSO and locking fixes, performance optimizations as well as SYSCTLs providing MAC, RX and TX statistics.&lt;br&gt;
Mellanox® ConnectX-4 series adapters are now supported by the newly added mlx5ib(4) driver.&lt;br&gt;
OpenSSH received an update to version 7.3p1.&lt;br&gt;
GNOME has been updated to version 3.18.&lt;br&gt;
Xorg-Server has been updated to version 1.18.4.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Check out the full release notes and upgrade your systems to 10.4-RELEASE. Thanks to the FreeBSD Release Engineering Team for their efforts. 
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/eurobsdcon_2017_travel_notes_after" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon 2017: "travel notes" after the conference&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Leonardo Taccari posted in the NetBSD blog about his experiences at EuroBSDcon 2017:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Let me tell you about my experience at EuroBSDcon 2017 in Paris, France. We will see what was presented during the NetBSD developer summit on Friday and then we will give a look to all of the NetBSD and pkgsrc presentations given during the conference session on Saturday and Sunday. Of course, a lot of fun also happened on the "hall track", the several breaks during the conference and the dinners we had together with other *BSD developers and community! This is difficult to describe and I will try to just share some part of that with photographs that we have taken. I can just say that it was a really beautiful experience, I had a great time with others and, after coming back home... ...I miss all of that! :) So, if you have never been in any BSD conferences I strongly suggest you to go to the next ones, so please stay tuned via NetBSD Events. Being there this is probably the only way to understand these feelings!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Thursday (21/09): NetBSD developers dinner&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Arriving in Paris via a night train from Italy I literally sleep-walked through Paris getting lost again and again. After getting in touch with other developers we had a dinner together and went sightseeing for a&lt;sup&gt;Wseveral&lt;/sup&gt; beers!&lt;br&gt;
Friday (22/09): NetBSD developers summit&lt;br&gt;
On Friday morning we met for the NetBSD developers summit kindly hosted by Arolla.&lt;br&gt;
NetBSD on Google Compute Engine -- Benny Siegert (bsiegert)&lt;br&gt;
Scripting DDB with Forth -- Valery Ushakov (uwe)&lt;br&gt;
News from the version control front -- Jörg Sonnenberger (joerg)&lt;br&gt;
Afternoon discussions and dinner&lt;br&gt;
After the lunch we had several non-scheduled discussions, some time for hacking, etc.&lt;br&gt;
We then had a nice dinner together (it was in a restaurant with a very nice waiter who always shouted after every order or after accidentally dropping and crashing dishes!, yeah! That's probably a bit weird but I liked that attitude! :)) and then did some sightseeing and had a beer together.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Saturday (23/09): First day of conference session and Social Event&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A Modern Replacement for BSD spell(1) -- Abhinav Upadhyay (abhinav)&lt;br&gt;
Portable Hotplugging: NetBSD's uvm_hotplug(9) API development -- Cherry G.&lt;br&gt;
Mathew (cherry)&lt;br&gt;
Hardening pkgsrc -- Pierre Pronchery (khorben)&lt;br&gt;
Reproducible builds on NetBSD -- Christos Zoulas (christos)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Social event&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The social event on Saturday evening took place on a boat that cruised on the Seine river.&lt;br&gt;
It was a very nice and different way to sightsee Paris, eat and enjoy some drinks and socialize and discuss with other developers and community.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sunday (24/09): Second day of conference session
The school of hard knocks - PT1 -- Sevan Janiyan (sevan)
The LLDB Debugger on NetBSD -- Kamil Rytarowski (kamil)
What's in store for NetBSD 8.0? -- Alistair Crooks (agc)&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Sunday dinner&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After the conference we did some sightseeing in Paris, had a dinner together and then enjoyed some beers!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It was a very nice weekend and conference. It is worth to mention that EuroBSDcon 2017 was the biggest BSD conference (more than 300 people attended it!).&lt;br&gt;
I would like to thank the entire EuroBSDcon organising committee (Baptiste Daroussin, Antoine Jacoutot, Jean-Sébastien Pédron and Jean-Yves Migeon), EuroBSDcon programme committee (Antoine Jacoutot, Lars Engels, Ollivier Robert, Sevan Janiyan, Jörg Sonnenberger, Jasper Lievisse Adriaanse and Janne Johansson) and EuroBSDcon Foundation for organizing such a wonderful conference!&lt;br&gt;
I also would like to thank the speakers for presenting very interesting talks, all developers and community that attended the NetBSD devsummit and conference, in particular Jean-Yves and Jörg, for organizing and moderating the devsummit and Arolla that kindly hosted us for the NetBSD devsummit!&lt;br&gt;
A special thanks also to Abhinav (abhinav) and Martin (martin) for photographs and locals Jean-Yves (jym) and Stoned (seb) for helping us in not get lost in Paris' rues! :)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Thank you!
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.krackattacks.com/" target="_blank" rel="nofollow noopener"&gt;WiFi Vulnerability in WPA2: KRACK&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;“We discovered serious weaknesses in WPA2, a protocol that secures all modern protected Wi-Fi networks. An attacker within range of a victim can exploit these weaknesses using key reinstallation attacks (KRACKs). Concretely, attackers can use this novel attack technique to read information that was previously assumed to be safely encrypted. This can be abused to steal sensitive information such as credit card numbers, passwords, chat messages, emails, photos, and so on. The attack works against all modern protected Wi-Fi networks. Depending on the network configuration, it is also possible to inject and manipulate data. For example, an attacker might be able to inject ransomware or other malware into websites.”&lt;br&gt;
“Note that if your device supports Wi-Fi, it is most likely affected. During our initial research, we discovered ourselves that Android, Linux, Apple, Windows, OpenBSD, MediaTek, Linksys, and others, are all affected by some variant of the attacks. For more information about specific products, consult the database of CERT/CC, or contact your vendor.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-17:07.wpa.asc" target="_blank" rel="nofollow noopener"&gt;FreeBSD Advisory &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;As of the date of this recording, a few weeks ahead of when this episode will air, the issue is fixed in FreeBSD 11.0 and 11.1, and a workaround has been provided for 10.3 and 10.4 (install newer wpa_supplicant from ports). A fix for 10.3 and 10.4 is expected soon. They will more than likely be out by time you are watching this.&lt;/li&gt;
&lt;li&gt;The fix for 10.3 and 10.4 is more complicated because the version of wpa_supplicant included in the base system is 2.0, from January 2013, so is nearly 5 years old, so the patches do not apply cleanly. The security team is still considering if it will try to patch 2.0, or just replace the version of wpa_supplicant with 2.5 from FreeBSD 11.x.&lt;/li&gt;
&lt;li&gt;OpenBSD was unwilling to wait when the embargo was extended on this vulnerability and stealth fixed the issue on &lt;a href="https://marc.info/?l=openbsd-cvs&amp;amp;m=150410571407760&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;Aug 30th&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@stsp/98837563531323569" target="_blank" rel="nofollow noopener"&gt;stsp@openbsd.org ‘s Mastodon post&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lobste.rs/s/dwzplh/krack_attacks_breaking_wpa2#c_pbhnfz" target="_blank" rel="nofollow noopener"&gt;Lobste.rs conversation about flaw and OpenBSD’s reaction&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;“What happened is that he told me on July 15, and gave a 6 weeks embargo until end of August. We already complained back then that this was way too long and leaving people exposed. Then he got CERT (and, thus, US gov agencies) involved and had to extend the embargo even further until today. At that point we already had the ball rolling and decided to stick to the original agreement with him, and he gave us an agreeing nod towards that as well.”&lt;br&gt;
“In this situation, a request for keeping the problem and fix secret is a request to leave our users at risk and exposed to insiders who will potentially use the bug to exploit our users. And we have no idea who the other insiders are. We have to assume that information of this kind leaks and dissipates pretty fast in the security “community”.”&lt;br&gt;
“We chose to serve the needs of our users who are the vulnerable people in this drama. I stand by that choice.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;As a result of this:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;“To avoid this problem in the future, OpenBSD will now receive vulnerability notifications closer to the end of an embargo.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;NetBSD: &lt;a href="http://mail-index.netbsd.org/source-changes/2017/10/16/msg088877.html" target="_blank" rel="nofollow noopener"&gt;“patches for the WPA issues in KRACK Attacks were committed Oct 16th to HEAD &amp;amp; are pending pullup to 6/7/8 branches”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;As of this recording, Dragonfly appears to use wpa_supplicant 2.1 which they imported in 2014 and has &lt;a href="https://github.com/DragonFlyBSD/DragonFlyBSD/commits/master/contrib/wpa_supplicant" target="_blank" rel="nofollow noopener"&gt;not been touched in over a year&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mail-index.netbsd.org/tech-kern/2017/10/13/msg022436.html" target="_blank" rel="nofollow noopener"&gt;NetBSD - dtrace and ZFS update&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Chuck Silvers writes to the tech-kern mailing list of NetBSD:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I've been working on updating netbsd's copy of the dtrace and zfs code to rebase from the existing ancient opensolaris version to a recent freebsd version. most of the freebsd changes are pretty close to what netbsd needs, so that seems like a more useful upstream for us.  I have things working well enough now that I want to share the code in preparation for committing.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;this update improves upon our existing dtrace/zfs code in several ways:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;picks up all the upstream zfs fixes and enhancements from the last decade&lt;br&gt;
zfs now supports mmap on netbsd, so you can run executables stored in zfs&lt;br&gt;
dtrace fbt probes can now be used in kernel modules (such as zfs)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A patch is provided here: &lt;a href="http://ftp.netbsd.org/pub/NetBSD/misc/chs/diff.cddl.20171012" target="_blank" rel="nofollow noopener"&gt;http://ftp.netbsd.org/pub/NetBSD/misc/chs/diff.cddl.20171012&lt;/a&gt; which needs to be applied using “patch -E” as it adds and removes files.&lt;/li&gt;
&lt;li&gt;He provides the following summary for the diff:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;freebsd's dtrace/zfs code as of r315983 (2017-03-26), adapted for netbsd.&lt;br&gt;
a few updates to our copy of freebsd's libproc.&lt;br&gt;
build system support for using -fno-omit-frame-pointer everywhere and disabling other compiler optimizations that confuse dtrace.&lt;br&gt;
sample kernel config changes for a couple evbarm configs (the ones I tested).&lt;br&gt;
module/ksyms enhancements for dtrace integration.&lt;br&gt;
genfs API enhancements to support zfs.&lt;br&gt;
an option to have mutexes not become no-ops during a panic.&lt;br&gt;
uvm_aobj API change to support 64-bit aobj sizes (eg. for tmpfs).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Known issues with the patch include:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;unloading the zfs module fails even with no zpools imported if you've done much with zfs since it was loaded. there's some refcounting problem that I haven't tracked down yet.&lt;br&gt;
the module refcounting for active fbt probes is bogus. currently module refcounting is protected by kernconfig_lock(), but taking that lock down in the bowels of dtrace seems likely to create deadlocks.  I plan to do something fancier but haven't gotten to it yet.&lt;br&gt;
the dtrace uregs[] stuff is probably still wrong.&lt;br&gt;
the CTF typeid overflow problem is still there (more on this below).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Unsupported features include:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;the ".zfs" virtual directory, eg. ".zfs/snapshot/foo@bar"&lt;br&gt;
zvols&lt;br&gt;
ZFS ACLs (aka. NFSv4 ACLs)&lt;br&gt;
NFS exporting a ZFS file system&lt;br&gt;
setting dtrace probes in application code&lt;br&gt;
using ZFS as the root fs&lt;br&gt;
new crypto hashes SHA512_256, skein, and edonr (the last one is not in freebsd yet either)&lt;br&gt;
zio delay injection (used for testing zfs)&lt;br&gt;
dtrace support for platforms other than x86 and arm&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A more detailed description of the CTF typeid overflow is also provided. Check out the full thread with followups and try out the patch if you’re on NetBSD.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.netgate.com/blog/pfsense-2-4-0-release-now-available.html" target="_blank" rel="nofollow noopener"&gt;pfSense 2.4.0-RELEASE Now Available!&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Jim Pingle writes about the new release:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We are excited to announce the release of pfSense® software version 2.4, now available for new installations and upgrades!&lt;br&gt;
pfSense software version 2.4.0 was a herculean effort! It is the culmination of 18 months of hard work by Netgate and community contributors, with over 290 items resolved. According to git, 671 files were changed with a total 1651680 lines added, and 185727 lines deleted. Most of those added lines are from translated strings for multiple language support!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Highlights&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;FreeBSD 11.1-RELEASE as the base Operating System&lt;br&gt;
New pfSense installer based on bsdinstall, with support for ZFS, UEFI, and multiple types of partition layouts (e.g. GPT, BIOS)&lt;br&gt;
Support for Netgate ARM devices such as the SG-1000&lt;br&gt;
OpenVPN 2.4.x support, which brings features like AES-GCM ciphers, speed improvements, Negotiable Crypto Parameters (NCP), TLS encryption, and dual stack/multihome&lt;br&gt;
Translation of the GUI into 13 different languages! For more information on contributing to the translation effort, read our previous blog post and visit the project on Zanata&lt;br&gt;
WebGUI improvements, such as a new login page, improved GET/POST CSRF handling, significant improvements to the Dashboard and its AJAX handling&lt;br&gt;
Certificate Management improvements including CSR signing and international character support&lt;br&gt;
Captive Portal has been rewritten to work without multiple instances of ipfw&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Important Information:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;32-bit x86 and NanoBSD have been deprecated and are not supported on pfSense 2.4.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Read the full release notes and let them know how you like the new release. 
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.tedunangst.com/flak/post/openbsd-changes-of-note-629" target="_blank" rel="nofollow noopener"&gt;OpenBSD changes of note 629&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Use getrusage to measure CPU time in md5 benchmarking.&lt;/li&gt;
&lt;li&gt;Add guard pages at the end of kernel stacks so overflows don’t run into important stuff.

&lt;ul&gt;
&lt;li&gt;This would be useful in FreeBSD, even just to detect the condition. I had all kinds of strange crashes when I was accidently overflowing the stack when working on the initial version of the ZSTD patches before ZSTD gained a working heap mode.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Add dwxe driver for ethernet found on Allwinner A64, H3 and H5 SoCs.&lt;/li&gt;
&lt;li&gt;Fix a regression caused by removal of SIGIO from some devices.&lt;/li&gt;
&lt;li&gt;In malloc, always delay freeing chunks and change ‘F’ option to perform a more extensive check for double free.&lt;/li&gt;
&lt;li&gt;Change sendsyslog prototype to take a string, since there’s little point logging not strings.&lt;/li&gt;
&lt;li&gt;The config program tries to modify zero initialized variables. Previous versions of gcc were patched to place these in the data segment, instead of the bss, but clang has no such patches. Long long ago, this was the default behavior for compilers, which is why gcc was patched to maintain that existing behavior, but now we want a slightly less unusual toolchain. Fix the underlying issue for now by annotating such variables with a data section attribute.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20170824080132" target="_blank" rel="nofollow noopener"&gt;t2k17 Hackathon Report: Philip Guenther: locking and libc&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Next up in our series of t2k17 hackathon reports is this one from Philip Guenther:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I showed up at t2k17 with a couple hold-over diffs from e2k17 that weren't stable then and hadn't gotten much better since, so after a red-eye through Chicago I arrived in the hackroom, fired up my laptop and synced trees.&lt;br&gt;
Meanwhile, people trickled in and the best part of hackathons, the conversations and "what do you think about this?" chats started. Theo introduced me to Todd Mortimer (mortimer@), who's been hacking on clang to implement RETGUARD for C programs. Over the hackathon we discussed a few loose ends that cropped up and what the correct behavior should be for them as well as the mechanics of avoiding 0xc3 bytes (the RET opcode) embedded in the middle of other multi-byte x86 machine code. Fun stuff.&lt;br&gt;
Martin (mpi@) and I had a conversation about the desirability of being able to sleep while holding netlock and pretty much came down on "oof, the scheduler does need work before the underlying issue driving this question can be resolved enough to answer it". :-(&lt;br&gt;
After some final hammering I got in an enhancement to pool(9) to let a pool use (sleeping) rwlocks instead of (spinning) mutexes and then immediately used that for the per-CPU pool cache pool as well as the futex pool. Further pools are likely to be converted as well kernel upper-level locking changes are made.&lt;br&gt;
Speaking of, a larger diff I had been working on for said upper-level locking was still suffering deadlock issues so I took a stab at narrowing it down to just a lock for the process tree, mostly mirroring the FreeBSD proctree_lock. That appears to be holding up much better and I just have some code arrangement issues around sys_ptrace() before that'll go out for final review.&lt;br&gt;
Then most of the way through the week, Bob (beck@) vocally complained that life would be easier for libressl if we had some version of pthread_once() and the pthread mutex routines in libc. This would make some other stuff easier too (c.f. /usr/X11R6/lib/libpthread-stubs.*) and the TIB work over the last couple years has basically eliminated the runtime costs of doing so, so I spent most the rest of the hackathon finding the right place to draw a line through libpthread and move everything on the one side of the line into libc. That code seems pretty stable and the xenocara and ports people seem to like—or at least accept—the effects, so it will almost certainly go in with the next libc bump.&lt;br&gt;
Lots of other random conversations, hacking, meals, and beer. Many thanks to Ken (krw@) and local conspirators for another excellent Toronto hackathon!&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/2017_netbsd_foundation_officers" target="_blank" rel="nofollow noopener"&gt;2017 NetBSD Foundation Officers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsdmag.org/download/military-grade-data-wiping-freebsd-bcwipe/" target="_blank" rel="nofollow noopener"&gt;New BSDMag is out - Military Grade Data Wiping in FreeBSD with BCWipe&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://libertybsd.net/" target="_blank" rel="nofollow noopener"&gt;LibertyBSD 6.1 released&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Eddy - &lt;a href="http://dpaste.com/3WDNV05#wrap" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon 2017 video and some help&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Eric - &lt;a href="http://dpaste.com/2RP0S60#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS monitoring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tom - &lt;a href="http://dpaste.com/31DGH3J#wrap" target="_blank" rel="nofollow noopener"&gt;BSD Hosting&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 10.4-RELEASE is here, more EuroBSDcon travel notes, the KRACK attack, ZFS and DTrace on NetBSD, and pfsense 2.4.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/10.4R/announce.html" target="_blank" rel="nofollow noopener">FreeBSD 10.4-RELEASE Available</a></h3>

<ul>
<li>FreeBSD 10.4-RELEASE is out. The FreeBSD Project dedicates the FreeBSD 10.4-RELEASE to the memory of Andrey A. Chernov.</li>
<li>Some of the highlights:</li>
</ul>

<blockquote>
<p>10.4-RELEASE is the first FreeBSD release to feature full support for eMMC storage, including eMMC partitions, TRIM and bus speed modes up to HS400. Please note, though, that availability of especially the DDR52, HS200 and HS400 modes requires support in the actual sdhci(4) front-end as well as by the hardware used. Also note, that the SDHCI controller part of Intel® Apollo Lake chipsets is affected by several severe silicon bugs. Apparently, it depends on the particular Apollo Lake platform whether the workarounds in place so far are sufficient to avoid timeouts on attaching sdhci(4) there.<br>
Also in case a GPT disk label is used, the fsck_ffs(8) utility now is able to find alternate superblocks.<br>
The aesni(4) driver now no longer shares a single FPU context across multiple sessions in multiple threads, addressing problems seen when employing aesni(4) for accelerating ipsec(4).<br>
Support for the Kaby Lake generation of Intel® i219(4)/ i219(5) devices has been added to the em(4) driver.<br>
The em(4) driver is now capable of enabling Wake On LAN (WOL) also for Intel® i217, i218 and i219 chips. Note that stale interface configurations from previous unsuccessful attempts to enable WOL for these devices now will actually take effect. For example, an <code>ifconfig em0 wol</code> activates all WOL variants including wol_mcast, which might be undesirable.<br>
Support for WOL has been added to the igb(4) driver, which was not able to activate this feature on any device before. The same remark regarding stale WOL configurations as for the em(4) driver applies.<br>
Userland coredumps can now trigger events such as generating a human readable crash report via devd(8). This feature is off by default.<br>
The firmware shipping with the qlxgbe(4) driver has been updated to version 5.4.66. Additionally, this driver has received some TSO and locking fixes, performance optimizations as well as SYSCTLs providing MAC, RX and TX statistics.<br>
Mellanox® ConnectX-4 series adapters are now supported by the newly added mlx5ib(4) driver.<br>
OpenSSH received an update to version 7.3p1.<br>
GNOME has been updated to version 3.18.<br>
Xorg-Server has been updated to version 1.18.4.</p>
</blockquote>

<ul>
<li>Check out the full release notes and upgrade your systems to 10.4-RELEASE. Thanks to the FreeBSD Release Engineering Team for their efforts. 
***</li>
</ul>

<h3><a href="https://blog.netbsd.org/tnf/entry/eurobsdcon_2017_travel_notes_after" target="_blank" rel="nofollow noopener">EuroBSDcon 2017: "travel notes" after the conference</a></h3>

<ul>
<li>Leonardo Taccari posted in the NetBSD blog about his experiences at EuroBSDcon 2017:</li>
</ul>

<blockquote>
<p>Let me tell you about my experience at EuroBSDcon 2017 in Paris, France. We will see what was presented during the NetBSD developer summit on Friday and then we will give a look to all of the NetBSD and pkgsrc presentations given during the conference session on Saturday and Sunday. Of course, a lot of fun also happened on the "hall track", the several breaks during the conference and the dinners we had together with other *BSD developers and community! This is difficult to describe and I will try to just share some part of that with photographs that we have taken. I can just say that it was a really beautiful experience, I had a great time with others and, after coming back home... ...I miss all of that! :) So, if you have never been in any BSD conferences I strongly suggest you to go to the next ones, so please stay tuned via NetBSD Events. Being there this is probably the only way to understand these feelings!</p>
</blockquote>

<ul>
<li>Thursday (21/09): NetBSD developers dinner</li>
</ul>

<blockquote>
<p>Arriving in Paris via a night train from Italy I literally sleep-walked through Paris getting lost again and again. After getting in touch with other developers we had a dinner together and went sightseeing for a<sup>Wseveral</sup> beers!<br>
Friday (22/09): NetBSD developers summit<br>
On Friday morning we met for the NetBSD developers summit kindly hosted by Arolla.<br>
NetBSD on Google Compute Engine -- Benny Siegert (bsiegert)<br>
Scripting DDB with Forth -- Valery Ushakov (uwe)<br>
News from the version control front -- Jörg Sonnenberger (joerg)<br>
Afternoon discussions and dinner<br>
After the lunch we had several non-scheduled discussions, some time for hacking, etc.<br>
We then had a nice dinner together (it was in a restaurant with a very nice waiter who always shouted after every order or after accidentally dropping and crashing dishes!, yeah! That's probably a bit weird but I liked that attitude! :)) and then did some sightseeing and had a beer together.</p>
</blockquote>

<ul>
<li>Saturday (23/09): First day of conference session and Social Event</li>
</ul>

<blockquote>
<p>A Modern Replacement for BSD spell(1) -- Abhinav Upadhyay (abhinav)<br>
Portable Hotplugging: NetBSD's uvm_hotplug(9) API development -- Cherry G.<br>
Mathew (cherry)<br>
Hardening pkgsrc -- Pierre Pronchery (khorben)<br>
Reproducible builds on NetBSD -- Christos Zoulas (christos)</p>
</blockquote>

<ul>
<li>Social event</li>
</ul>

<blockquote>
<p>The social event on Saturday evening took place on a boat that cruised on the Seine river.<br>
It was a very nice and different way to sightsee Paris, eat and enjoy some drinks and socialize and discuss with other developers and community.</p>

<ul>
<li>Sunday (24/09): Second day of conference session
The school of hard knocks - PT1 -- Sevan Janiyan (sevan)
The LLDB Debugger on NetBSD -- Kamil Rytarowski (kamil)
What's in store for NetBSD 8.0? -- Alistair Crooks (agc)</li>
</ul>
</blockquote>

<ul>
<li>Sunday dinner</li>
</ul>

<blockquote>
<p>After the conference we did some sightseeing in Paris, had a dinner together and then enjoyed some beers!</p>
</blockquote>

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

<blockquote>
<p>It was a very nice weekend and conference. It is worth to mention that EuroBSDcon 2017 was the biggest BSD conference (more than 300 people attended it!).<br>
I would like to thank the entire EuroBSDcon organising committee (Baptiste Daroussin, Antoine Jacoutot, Jean-Sébastien Pédron and Jean-Yves Migeon), EuroBSDcon programme committee (Antoine Jacoutot, Lars Engels, Ollivier Robert, Sevan Janiyan, Jörg Sonnenberger, Jasper Lievisse Adriaanse and Janne Johansson) and EuroBSDcon Foundation for organizing such a wonderful conference!<br>
I also would like to thank the speakers for presenting very interesting talks, all developers and community that attended the NetBSD devsummit and conference, in particular Jean-Yves and Jörg, for organizing and moderating the devsummit and Arolla that kindly hosted us for the NetBSD devsummit!<br>
A special thanks also to Abhinav (abhinav) and Martin (martin) for photographs and locals Jean-Yves (jym) and Stoned (seb) for helping us in not get lost in Paris' rues! :)</p>
</blockquote>

<ul>
<li>Thank you!
***</li>
</ul>

<h3><a href="https://www.krackattacks.com/" target="_blank" rel="nofollow noopener">WiFi Vulnerability in WPA2: KRACK</a></h3>

<blockquote>
<p>We discovered serious weaknesses in WPA2, a protocol that secures all modern protected Wi-Fi networks. An attacker within range of a victim can exploit these weaknesses using key reinstallation attacks (KRACKs). Concretely, attackers can use this novel attack technique to read information that was previously assumed to be safely encrypted. This can be abused to steal sensitive information such as credit card numbers, passwords, chat messages, emails, photos, and so on. The attack works against all modern protected Wi-Fi networks. Depending on the network configuration, it is also possible to inject and manipulate data. For example, an attacker might be able to inject ransomware or other malware into websites.<br>
Note that if your device supports Wi-Fi, it is most likely affected. During our initial research, we discovered ourselves that Android, Linux, Apple, Windows, OpenBSD, MediaTek, Linksys, and others, are all affected by some variant of the attacks. For more information about specific products, consult the database of CERT/CC, or contact your vendor.</p>
</blockquote>

<ul>
<li><a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-17:07.wpa.asc" target="_blank" rel="nofollow noopener">FreeBSD Advisory </a></li>
<li>As of the date of this recording, a few weeks ahead of when this episode will air, the issue is fixed in FreeBSD 11.0 and 11.1, and a workaround has been provided for 10.3 and 10.4 (install newer wpa_supplicant from ports). A fix for 10.3 and 10.4 is expected soon. They will more than likely be out by time you are watching this.</li>
<li>The fix for 10.3 and 10.4 is more complicated because the version of wpa_supplicant included in the base system is 2.0, from January 2013, so is nearly 5 years old, so the patches do not apply cleanly. The security team is still considering if it will try to patch 2.0, or just replace the version of wpa_supplicant with 2.5 from FreeBSD 11.x.</li>
<li>OpenBSD was unwilling to wait when the embargo was extended on this vulnerability and stealth fixed the issue on <a href="https://marc.info/?l=openbsd-cvs&amp;m=150410571407760&amp;w=2" target="_blank" rel="nofollow noopener">Aug 30th</a></li>
<li><a href="https://mastodon.social/@stsp/98837563531323569" target="_blank" rel="nofollow noopener">stsp@openbsd.org s Mastodon post</a></li>
<li><a href="https://lobste.rs/s/dwzplh/krack_attacks_breaking_wpa2#c_pbhnfz" target="_blank" rel="nofollow noopener">Lobste.rs conversation about flaw and OpenBSDs reaction</a></li>
</ul>

<blockquote>
<p>What happened is that he told me on July 15, and gave a 6 weeks embargo until end of August. We already complained back then that this was way too long and leaving people exposed. Then he got CERT (and, thus, US gov agencies) involved and had to extend the embargo even further until today. At that point we already had the ball rolling and decided to stick to the original agreement with him, and he gave us an agreeing nod towards that as well.<br>
In this situation, a request for keeping the problem and fix secret is a request to leave our users at risk and exposed to insiders who will potentially use the bug to exploit our users. And we have no idea who the other insiders are. We have to assume that information of this kind leaks and dissipates pretty fast in the security community.<br>
We chose to serve the needs of our users who are the vulnerable people in this drama. I stand by that choice.</p>
</blockquote>

<ul>
<li>As a result of this:</li>
</ul>

<blockquote>
<p>To avoid this problem in the future, OpenBSD will now receive vulnerability notifications closer to the end of an embargo.</p>
</blockquote>

<ul>
<li>NetBSD: <a href="http://mail-index.netbsd.org/source-changes/2017/10/16/msg088877.html" target="_blank" rel="nofollow noopener">patches for the WPA issues in KRACK Attacks were committed Oct 16th to HEAD &amp; are pending pullup to 6/7/8 branches</a></li>
<li>As of this recording, Dragonfly appears to use wpa_supplicant 2.1 which they imported in 2014 and has <a href="https://github.com/DragonFlyBSD/DragonFlyBSD/commits/master/contrib/wpa_supplicant" target="_blank" rel="nofollow noopener">not been touched in over a year</a>
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/tech-kern/2017/10/13/msg022436.html" target="_blank" rel="nofollow noopener">NetBSD - dtrace and ZFS update</a></h3>

<ul>
<li>Chuck Silvers writes to the tech-kern mailing list of NetBSD:</li>
</ul>

<blockquote>
<p>I've been working on updating netbsd's copy of the dtrace and zfs code to rebase from the existing ancient opensolaris version to a recent freebsd version. most of the freebsd changes are pretty close to what netbsd needs, so that seems like a more useful upstream for us.  I have things working well enough now that I want to share the code in preparation for committing.</p>
</blockquote>

<ul>
<li>this update improves upon our existing dtrace/zfs code in several ways:</li>
</ul>

<blockquote>
<p>picks up all the upstream zfs fixes and enhancements from the last decade<br>
zfs now supports mmap on netbsd, so you can run executables stored in zfs<br>
dtrace fbt probes can now be used in kernel modules (such as zfs)</p>
</blockquote>

<ul>
<li>A patch is provided here: <a href="http://ftp.netbsd.org/pub/NetBSD/misc/chs/diff.cddl.20171012" target="_blank" rel="nofollow noopener">http://ftp.netbsd.org/pub/NetBSD/misc/chs/diff.cddl.20171012</a> which needs to be applied using patch -E as it adds and removes files.</li>
<li>He provides the following summary for the diff:</li>
</ul>

<blockquote>
<p>freebsd's dtrace/zfs code as of r315983 (2017-03-26), adapted for netbsd.<br>
a few updates to our copy of freebsd's libproc.<br>
build system support for using -fno-omit-frame-pointer everywhere and disabling other compiler optimizations that confuse dtrace.<br>
sample kernel config changes for a couple evbarm configs (the ones I tested).<br>
module/ksyms enhancements for dtrace integration.<br>
genfs API enhancements to support zfs.<br>
an option to have mutexes not become no-ops during a panic.<br>
uvm_aobj API change to support 64-bit aobj sizes (eg. for tmpfs).</p>
</blockquote>

<ul>
<li>Known issues with the patch include:</li>
</ul>

<blockquote>
<p>unloading the zfs module fails even with no zpools imported if you've done much with zfs since it was loaded. there's some refcounting problem that I haven't tracked down yet.<br>
the module refcounting for active fbt probes is bogus. currently module refcounting is protected by kernconfig_lock(), but taking that lock down in the bowels of dtrace seems likely to create deadlocks.  I plan to do something fancier but haven't gotten to it yet.<br>
the dtrace uregs[] stuff is probably still wrong.<br>
the CTF typeid overflow problem is still there (more on this below).</p>
</blockquote>

<ul>
<li>Unsupported features include:</li>
</ul>

<blockquote>
<p>the ".zfs" virtual directory, eg. ".zfs/snapshot/foo@bar"<br>
zvols<br>
ZFS ACLs (aka. NFSv4 ACLs)<br>
NFS exporting a ZFS file system<br>
setting dtrace probes in application code<br>
using ZFS as the root fs<br>
new crypto hashes SHA512_256, skein, and edonr (the last one is not in freebsd yet either)<br>
zio delay injection (used for testing zfs)<br>
dtrace support for platforms other than x86 and arm</p>
</blockquote>

<ul>
<li>A more detailed description of the CTF typeid overflow is also provided. Check out the full thread with followups and try out the patch if youre on NetBSD.
***</li>
</ul>

<h3><a href="https://www.netgate.com/blog/pfsense-2-4-0-release-now-available.html" target="_blank" rel="nofollow noopener">pfSense 2.4.0-RELEASE Now Available!</a></h3>

<ul>
<li>Jim Pingle writes about the new release:</li>
</ul>

<blockquote>
<p>We are excited to announce the release of pfSense® software version 2.4, now available for new installations and upgrades!<br>
pfSense software version 2.4.0 was a herculean effort! It is the culmination of 18 months of hard work by Netgate and community contributors, with over 290 items resolved. According to git, 671 files were changed with a total 1651680 lines added, and 185727 lines deleted. Most of those added lines are from translated strings for multiple language support!</p>

<ul>
<li>Highlights</li>
</ul>

<p>FreeBSD 11.1-RELEASE as the base Operating System<br>
New pfSense installer based on bsdinstall, with support for ZFS, UEFI, and multiple types of partition layouts (e.g. GPT, BIOS)<br>
Support for Netgate ARM devices such as the SG-1000<br>
OpenVPN 2.4.x support, which brings features like AES-GCM ciphers, speed improvements, Negotiable Crypto Parameters (NCP), TLS encryption, and dual stack/multihome<br>
Translation of the GUI into 13 different languages! For more information on contributing to the translation effort, read our previous blog post and visit the project on Zanata<br>
WebGUI improvements, such as a new login page, improved GET/POST CSRF handling, significant improvements to the Dashboard and its AJAX handling<br>
Certificate Management improvements including CSR signing and international character support<br>
Captive Portal has been rewritten to work without multiple instances of ipfw</p>
</blockquote>

<ul>
<li>Important Information:</li>
</ul>

<blockquote>
<p>32-bit x86 and NanoBSD have been deprecated and are not supported on pfSense 2.4.</p>
</blockquote>

<ul>
<li>Read the full release notes and let them know how you like the new release. 
***</li>
</ul>

<h3><a href="https://www.tedunangst.com/flak/post/openbsd-changes-of-note-629" target="_blank" rel="nofollow noopener">OpenBSD changes of note 629</a></h3>

<ul>
<li>Use getrusage to measure CPU time in md5 benchmarking.</li>
<li>Add guard pages at the end of kernel stacks so overflows dont run into important stuff.

<ul>
<li>This would be useful in FreeBSD, even just to detect the condition. I had all kinds of strange crashes when I was accidently overflowing the stack when working on the initial version of the ZSTD patches before ZSTD gained a working heap mode.</li>
</ul></li>
<li>Add dwxe driver for ethernet found on Allwinner A64, H3 and H5 SoCs.</li>
<li>Fix a regression caused by removal of SIGIO from some devices.</li>
<li>In malloc, always delay freeing chunks and change F option to perform a more extensive check for double free.</li>
<li>Change sendsyslog prototype to take a string, since theres little point logging not strings.</li>
<li>The config program tries to modify zero initialized variables. Previous versions of gcc were patched to place these in the data segment, instead of the bss, but clang has no such patches. Long long ago, this was the default behavior for compilers, which is why gcc was patched to maintain that existing behavior, but now we want a slightly less unusual toolchain. Fix the underlying issue for now by annotating such variables with a data section attribute.
***</li>
</ul>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20170824080132" target="_blank" rel="nofollow noopener">t2k17 Hackathon Report: Philip Guenther: locking and libc</a></h3>

<ul>
<li>Next up in our series of t2k17 hackathon reports is this one from Philip Guenther:</li>
</ul>

<blockquote>
<p>I showed up at t2k17 with a couple hold-over diffs from e2k17 that weren't stable then and hadn't gotten much better since, so after a red-eye through Chicago I arrived in the hackroom, fired up my laptop and synced trees.<br>
Meanwhile, people trickled in and the best part of hackathons, the conversations and "what do you think about this?" chats started. Theo introduced me to Todd Mortimer (mortimer@), who's been hacking on clang to implement RETGUARD for C programs. Over the hackathon we discussed a few loose ends that cropped up and what the correct behavior should be for them as well as the mechanics of avoiding 0xc3 bytes (the RET opcode) embedded in the middle of other multi-byte x86 machine code. Fun stuff.<br>
Martin (mpi@) and I had a conversation about the desirability of being able to sleep while holding netlock and pretty much came down on "oof, the scheduler does need work before the underlying issue driving this question can be resolved enough to answer it". :-(<br>
After some final hammering I got in an enhancement to pool(9) to let a pool use (sleeping) rwlocks instead of (spinning) mutexes and then immediately used that for the per-CPU pool cache pool as well as the futex pool. Further pools are likely to be converted as well kernel upper-level locking changes are made.<br>
Speaking of, a larger diff I had been working on for said upper-level locking was still suffering deadlock issues so I took a stab at narrowing it down to just a lock for the process tree, mostly mirroring the FreeBSD proctree_lock. That appears to be holding up much better and I just have some code arrangement issues around sys_ptrace() before that'll go out for final review.<br>
Then most of the way through the week, Bob (beck@) vocally complained that life would be easier for libressl if we had some version of pthread_once() and the pthread mutex routines in libc. This would make some other stuff easier too (c.f. /usr/X11R6/lib/libpthread-stubs.*) and the TIB work over the last couple years has basically eliminated the runtime costs of doing so, so I spent most the rest of the hackathon finding the right place to draw a line through libpthread and move everything on the one side of the line into libc. That code seems pretty stable and the xenocara and ports people seem to likeor at least acceptthe effects, so it will almost certainly go in with the next libc bump.<br>
Lots of other random conversations, hacking, meals, and beer. Many thanks to Ken (krw@) and local conspirators for another excellent Toronto hackathon!</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/2017_netbsd_foundation_officers" target="_blank" rel="nofollow noopener">2017 NetBSD Foundation Officers</a></li>
<li><a href="https://bsdmag.org/download/military-grade-data-wiping-freebsd-bcwipe/" target="_blank" rel="nofollow noopener">New BSDMag is out - Military Grade Data Wiping in FreeBSD with BCWipe</a></li>
<li><a href="http://libertybsd.net/" target="_blank" rel="nofollow noopener">LibertyBSD 6.1 released</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Eddy - <a href="http://dpaste.com/3WDNV05#wrap" target="_blank" rel="nofollow noopener">EuroBSDCon 2017 video and some help</a></li>
<li>Eric - <a href="http://dpaste.com/2RP0S60#wrap" target="_blank" rel="nofollow noopener">ZFS monitoring</a></li>
<li>Tom - <a href="http://dpaste.com/31DGH3J#wrap" target="_blank" rel="nofollow noopener">BSD Hosting</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 10.4-RELEASE is here, more EuroBSDcon travel notes, the KRACK attack, ZFS and DTrace on NetBSD, and pfsense 2.4.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/10.4R/announce.html" target="_blank" rel="nofollow noopener">FreeBSD 10.4-RELEASE Available</a></h3>

<ul>
<li>FreeBSD 10.4-RELEASE is out. The FreeBSD Project dedicates the FreeBSD 10.4-RELEASE to the memory of Andrey A. Chernov.</li>
<li>Some of the highlights:</li>
</ul>

<blockquote>
<p>10.4-RELEASE is the first FreeBSD release to feature full support for eMMC storage, including eMMC partitions, TRIM and bus speed modes up to HS400. Please note, though, that availability of especially the DDR52, HS200 and HS400 modes requires support in the actual sdhci(4) front-end as well as by the hardware used. Also note, that the SDHCI controller part of Intel® Apollo Lake chipsets is affected by several severe silicon bugs. Apparently, it depends on the particular Apollo Lake platform whether the workarounds in place so far are sufficient to avoid timeouts on attaching sdhci(4) there.<br>
Also in case a GPT disk label is used, the fsck_ffs(8) utility now is able to find alternate superblocks.<br>
The aesni(4) driver now no longer shares a single FPU context across multiple sessions in multiple threads, addressing problems seen when employing aesni(4) for accelerating ipsec(4).<br>
Support for the Kaby Lake generation of Intel® i219(4)/ i219(5) devices has been added to the em(4) driver.<br>
The em(4) driver is now capable of enabling Wake On LAN (WOL) also for Intel® i217, i218 and i219 chips. Note that stale interface configurations from previous unsuccessful attempts to enable WOL for these devices now will actually take effect. For example, an <code>ifconfig em0 wol</code> activates all WOL variants including wol_mcast, which might be undesirable.<br>
Support for WOL has been added to the igb(4) driver, which was not able to activate this feature on any device before. The same remark regarding stale WOL configurations as for the em(4) driver applies.<br>
Userland coredumps can now trigger events such as generating a human readable crash report via devd(8). This feature is off by default.<br>
The firmware shipping with the qlxgbe(4) driver has been updated to version 5.4.66. Additionally, this driver has received some TSO and locking fixes, performance optimizations as well as SYSCTLs providing MAC, RX and TX statistics.<br>
Mellanox® ConnectX-4 series adapters are now supported by the newly added mlx5ib(4) driver.<br>
OpenSSH received an update to version 7.3p1.<br>
GNOME has been updated to version 3.18.<br>
Xorg-Server has been updated to version 1.18.4.</p>
</blockquote>

<ul>
<li>Check out the full release notes and upgrade your systems to 10.4-RELEASE. Thanks to the FreeBSD Release Engineering Team for their efforts. 
***</li>
</ul>

<h3><a href="https://blog.netbsd.org/tnf/entry/eurobsdcon_2017_travel_notes_after" target="_blank" rel="nofollow noopener">EuroBSDcon 2017: "travel notes" after the conference</a></h3>

<ul>
<li>Leonardo Taccari posted in the NetBSD blog about his experiences at EuroBSDcon 2017:</li>
</ul>

<blockquote>
<p>Let me tell you about my experience at EuroBSDcon 2017 in Paris, France. We will see what was presented during the NetBSD developer summit on Friday and then we will give a look to all of the NetBSD and pkgsrc presentations given during the conference session on Saturday and Sunday. Of course, a lot of fun also happened on the "hall track", the several breaks during the conference and the dinners we had together with other *BSD developers and community! This is difficult to describe and I will try to just share some part of that with photographs that we have taken. I can just say that it was a really beautiful experience, I had a great time with others and, after coming back home... ...I miss all of that! :) So, if you have never been in any BSD conferences I strongly suggest you to go to the next ones, so please stay tuned via NetBSD Events. Being there this is probably the only way to understand these feelings!</p>
</blockquote>

<ul>
<li>Thursday (21/09): NetBSD developers dinner</li>
</ul>

<blockquote>
<p>Arriving in Paris via a night train from Italy I literally sleep-walked through Paris getting lost again and again. After getting in touch with other developers we had a dinner together and went sightseeing for a<sup>Wseveral</sup> beers!<br>
Friday (22/09): NetBSD developers summit<br>
On Friday morning we met for the NetBSD developers summit kindly hosted by Arolla.<br>
NetBSD on Google Compute Engine -- Benny Siegert (bsiegert)<br>
Scripting DDB with Forth -- Valery Ushakov (uwe)<br>
News from the version control front -- Jörg Sonnenberger (joerg)<br>
Afternoon discussions and dinner<br>
After the lunch we had several non-scheduled discussions, some time for hacking, etc.<br>
We then had a nice dinner together (it was in a restaurant with a very nice waiter who always shouted after every order or after accidentally dropping and crashing dishes!, yeah! That's probably a bit weird but I liked that attitude! :)) and then did some sightseeing and had a beer together.</p>
</blockquote>

<ul>
<li>Saturday (23/09): First day of conference session and Social Event</li>
</ul>

<blockquote>
<p>A Modern Replacement for BSD spell(1) -- Abhinav Upadhyay (abhinav)<br>
Portable Hotplugging: NetBSD's uvm_hotplug(9) API development -- Cherry G.<br>
Mathew (cherry)<br>
Hardening pkgsrc -- Pierre Pronchery (khorben)<br>
Reproducible builds on NetBSD -- Christos Zoulas (christos)</p>
</blockquote>

<ul>
<li>Social event</li>
</ul>

<blockquote>
<p>The social event on Saturday evening took place on a boat that cruised on the Seine river.<br>
It was a very nice and different way to sightsee Paris, eat and enjoy some drinks and socialize and discuss with other developers and community.</p>

<ul>
<li>Sunday (24/09): Second day of conference session
The school of hard knocks - PT1 -- Sevan Janiyan (sevan)
The LLDB Debugger on NetBSD -- Kamil Rytarowski (kamil)
What's in store for NetBSD 8.0? -- Alistair Crooks (agc)</li>
</ul>
</blockquote>

<ul>
<li>Sunday dinner</li>
</ul>

<blockquote>
<p>After the conference we did some sightseeing in Paris, had a dinner together and then enjoyed some beers!</p>
</blockquote>

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

<blockquote>
<p>It was a very nice weekend and conference. It is worth to mention that EuroBSDcon 2017 was the biggest BSD conference (more than 300 people attended it!).<br>
I would like to thank the entire EuroBSDcon organising committee (Baptiste Daroussin, Antoine Jacoutot, Jean-Sébastien Pédron and Jean-Yves Migeon), EuroBSDcon programme committee (Antoine Jacoutot, Lars Engels, Ollivier Robert, Sevan Janiyan, Jörg Sonnenberger, Jasper Lievisse Adriaanse and Janne Johansson) and EuroBSDcon Foundation for organizing such a wonderful conference!<br>
I also would like to thank the speakers for presenting very interesting talks, all developers and community that attended the NetBSD devsummit and conference, in particular Jean-Yves and Jörg, for organizing and moderating the devsummit and Arolla that kindly hosted us for the NetBSD devsummit!<br>
A special thanks also to Abhinav (abhinav) and Martin (martin) for photographs and locals Jean-Yves (jym) and Stoned (seb) for helping us in not get lost in Paris' rues! :)</p>
</blockquote>

<ul>
<li>Thank you!
***</li>
</ul>

<h3><a href="https://www.krackattacks.com/" target="_blank" rel="nofollow noopener">WiFi Vulnerability in WPA2: KRACK</a></h3>

<blockquote>
<p>We discovered serious weaknesses in WPA2, a protocol that secures all modern protected Wi-Fi networks. An attacker within range of a victim can exploit these weaknesses using key reinstallation attacks (KRACKs). Concretely, attackers can use this novel attack technique to read information that was previously assumed to be safely encrypted. This can be abused to steal sensitive information such as credit card numbers, passwords, chat messages, emails, photos, and so on. The attack works against all modern protected Wi-Fi networks. Depending on the network configuration, it is also possible to inject and manipulate data. For example, an attacker might be able to inject ransomware or other malware into websites.<br>
Note that if your device supports Wi-Fi, it is most likely affected. During our initial research, we discovered ourselves that Android, Linux, Apple, Windows, OpenBSD, MediaTek, Linksys, and others, are all affected by some variant of the attacks. For more information about specific products, consult the database of CERT/CC, or contact your vendor.</p>
</blockquote>

<ul>
<li><a href="https://www.freebsd.org/security/advisories/FreeBSD-SA-17:07.wpa.asc" target="_blank" rel="nofollow noopener">FreeBSD Advisory </a></li>
<li>As of the date of this recording, a few weeks ahead of when this episode will air, the issue is fixed in FreeBSD 11.0 and 11.1, and a workaround has been provided for 10.3 and 10.4 (install newer wpa_supplicant from ports). A fix for 10.3 and 10.4 is expected soon. They will more than likely be out by time you are watching this.</li>
<li>The fix for 10.3 and 10.4 is more complicated because the version of wpa_supplicant included in the base system is 2.0, from January 2013, so is nearly 5 years old, so the patches do not apply cleanly. The security team is still considering if it will try to patch 2.0, or just replace the version of wpa_supplicant with 2.5 from FreeBSD 11.x.</li>
<li>OpenBSD was unwilling to wait when the embargo was extended on this vulnerability and stealth fixed the issue on <a href="https://marc.info/?l=openbsd-cvs&amp;m=150410571407760&amp;w=2" target="_blank" rel="nofollow noopener">Aug 30th</a></li>
<li><a href="https://mastodon.social/@stsp/98837563531323569" target="_blank" rel="nofollow noopener">stsp@openbsd.org s Mastodon post</a></li>
<li><a href="https://lobste.rs/s/dwzplh/krack_attacks_breaking_wpa2#c_pbhnfz" target="_blank" rel="nofollow noopener">Lobste.rs conversation about flaw and OpenBSDs reaction</a></li>
</ul>

<blockquote>
<p>What happened is that he told me on July 15, and gave a 6 weeks embargo until end of August. We already complained back then that this was way too long and leaving people exposed. Then he got CERT (and, thus, US gov agencies) involved and had to extend the embargo even further until today. At that point we already had the ball rolling and decided to stick to the original agreement with him, and he gave us an agreeing nod towards that as well.<br>
In this situation, a request for keeping the problem and fix secret is a request to leave our users at risk and exposed to insiders who will potentially use the bug to exploit our users. And we have no idea who the other insiders are. We have to assume that information of this kind leaks and dissipates pretty fast in the security community.<br>
We chose to serve the needs of our users who are the vulnerable people in this drama. I stand by that choice.</p>
</blockquote>

<ul>
<li>As a result of this:</li>
</ul>

<blockquote>
<p>To avoid this problem in the future, OpenBSD will now receive vulnerability notifications closer to the end of an embargo.</p>
</blockquote>

<ul>
<li>NetBSD: <a href="http://mail-index.netbsd.org/source-changes/2017/10/16/msg088877.html" target="_blank" rel="nofollow noopener">patches for the WPA issues in KRACK Attacks were committed Oct 16th to HEAD &amp; are pending pullup to 6/7/8 branches</a></li>
<li>As of this recording, Dragonfly appears to use wpa_supplicant 2.1 which they imported in 2014 and has <a href="https://github.com/DragonFlyBSD/DragonFlyBSD/commits/master/contrib/wpa_supplicant" target="_blank" rel="nofollow noopener">not been touched in over a year</a>
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/tech-kern/2017/10/13/msg022436.html" target="_blank" rel="nofollow noopener">NetBSD - dtrace and ZFS update</a></h3>

<ul>
<li>Chuck Silvers writes to the tech-kern mailing list of NetBSD:</li>
</ul>

<blockquote>
<p>I've been working on updating netbsd's copy of the dtrace and zfs code to rebase from the existing ancient opensolaris version to a recent freebsd version. most of the freebsd changes are pretty close to what netbsd needs, so that seems like a more useful upstream for us.  I have things working well enough now that I want to share the code in preparation for committing.</p>
</blockquote>

<ul>
<li>this update improves upon our existing dtrace/zfs code in several ways:</li>
</ul>

<blockquote>
<p>picks up all the upstream zfs fixes and enhancements from the last decade<br>
zfs now supports mmap on netbsd, so you can run executables stored in zfs<br>
dtrace fbt probes can now be used in kernel modules (such as zfs)</p>
</blockquote>

<ul>
<li>A patch is provided here: <a href="http://ftp.netbsd.org/pub/NetBSD/misc/chs/diff.cddl.20171012" target="_blank" rel="nofollow noopener">http://ftp.netbsd.org/pub/NetBSD/misc/chs/diff.cddl.20171012</a> which needs to be applied using patch -E as it adds and removes files.</li>
<li>He provides the following summary for the diff:</li>
</ul>

<blockquote>
<p>freebsd's dtrace/zfs code as of r315983 (2017-03-26), adapted for netbsd.<br>
a few updates to our copy of freebsd's libproc.<br>
build system support for using -fno-omit-frame-pointer everywhere and disabling other compiler optimizations that confuse dtrace.<br>
sample kernel config changes for a couple evbarm configs (the ones I tested).<br>
module/ksyms enhancements for dtrace integration.<br>
genfs API enhancements to support zfs.<br>
an option to have mutexes not become no-ops during a panic.<br>
uvm_aobj API change to support 64-bit aobj sizes (eg. for tmpfs).</p>
</blockquote>

<ul>
<li>Known issues with the patch include:</li>
</ul>

<blockquote>
<p>unloading the zfs module fails even with no zpools imported if you've done much with zfs since it was loaded. there's some refcounting problem that I haven't tracked down yet.<br>
the module refcounting for active fbt probes is bogus. currently module refcounting is protected by kernconfig_lock(), but taking that lock down in the bowels of dtrace seems likely to create deadlocks.  I plan to do something fancier but haven't gotten to it yet.<br>
the dtrace uregs[] stuff is probably still wrong.<br>
the CTF typeid overflow problem is still there (more on this below).</p>
</blockquote>

<ul>
<li>Unsupported features include:</li>
</ul>

<blockquote>
<p>the ".zfs" virtual directory, eg. ".zfs/snapshot/foo@bar"<br>
zvols<br>
ZFS ACLs (aka. NFSv4 ACLs)<br>
NFS exporting a ZFS file system<br>
setting dtrace probes in application code<br>
using ZFS as the root fs<br>
new crypto hashes SHA512_256, skein, and edonr (the last one is not in freebsd yet either)<br>
zio delay injection (used for testing zfs)<br>
dtrace support for platforms other than x86 and arm</p>
</blockquote>

<ul>
<li>A more detailed description of the CTF typeid overflow is also provided. Check out the full thread with followups and try out the patch if youre on NetBSD.
***</li>
</ul>

<h3><a href="https://www.netgate.com/blog/pfsense-2-4-0-release-now-available.html" target="_blank" rel="nofollow noopener">pfSense 2.4.0-RELEASE Now Available!</a></h3>

<ul>
<li>Jim Pingle writes about the new release:</li>
</ul>

<blockquote>
<p>We are excited to announce the release of pfSense® software version 2.4, now available for new installations and upgrades!<br>
pfSense software version 2.4.0 was a herculean effort! It is the culmination of 18 months of hard work by Netgate and community contributors, with over 290 items resolved. According to git, 671 files were changed with a total 1651680 lines added, and 185727 lines deleted. Most of those added lines are from translated strings for multiple language support!</p>

<ul>
<li>Highlights</li>
</ul>

<p>FreeBSD 11.1-RELEASE as the base Operating System<br>
New pfSense installer based on bsdinstall, with support for ZFS, UEFI, and multiple types of partition layouts (e.g. GPT, BIOS)<br>
Support for Netgate ARM devices such as the SG-1000<br>
OpenVPN 2.4.x support, which brings features like AES-GCM ciphers, speed improvements, Negotiable Crypto Parameters (NCP), TLS encryption, and dual stack/multihome<br>
Translation of the GUI into 13 different languages! For more information on contributing to the translation effort, read our previous blog post and visit the project on Zanata<br>
WebGUI improvements, such as a new login page, improved GET/POST CSRF handling, significant improvements to the Dashboard and its AJAX handling<br>
Certificate Management improvements including CSR signing and international character support<br>
Captive Portal has been rewritten to work without multiple instances of ipfw</p>
</blockquote>

<ul>
<li>Important Information:</li>
</ul>

<blockquote>
<p>32-bit x86 and NanoBSD have been deprecated and are not supported on pfSense 2.4.</p>
</blockquote>

<ul>
<li>Read the full release notes and let them know how you like the new release. 
***</li>
</ul>

<h3><a href="https://www.tedunangst.com/flak/post/openbsd-changes-of-note-629" target="_blank" rel="nofollow noopener">OpenBSD changes of note 629</a></h3>

<ul>
<li>Use getrusage to measure CPU time in md5 benchmarking.</li>
<li>Add guard pages at the end of kernel stacks so overflows dont run into important stuff.

<ul>
<li>This would be useful in FreeBSD, even just to detect the condition. I had all kinds of strange crashes when I was accidently overflowing the stack when working on the initial version of the ZSTD patches before ZSTD gained a working heap mode.</li>
</ul></li>
<li>Add dwxe driver for ethernet found on Allwinner A64, H3 and H5 SoCs.</li>
<li>Fix a regression caused by removal of SIGIO from some devices.</li>
<li>In malloc, always delay freeing chunks and change F option to perform a more extensive check for double free.</li>
<li>Change sendsyslog prototype to take a string, since theres little point logging not strings.</li>
<li>The config program tries to modify zero initialized variables. Previous versions of gcc were patched to place these in the data segment, instead of the bss, but clang has no such patches. Long long ago, this was the default behavior for compilers, which is why gcc was patched to maintain that existing behavior, but now we want a slightly less unusual toolchain. Fix the underlying issue for now by annotating such variables with a data section attribute.
***</li>
</ul>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20170824080132" target="_blank" rel="nofollow noopener">t2k17 Hackathon Report: Philip Guenther: locking and libc</a></h3>

<ul>
<li>Next up in our series of t2k17 hackathon reports is this one from Philip Guenther:</li>
</ul>

<blockquote>
<p>I showed up at t2k17 with a couple hold-over diffs from e2k17 that weren't stable then and hadn't gotten much better since, so after a red-eye through Chicago I arrived in the hackroom, fired up my laptop and synced trees.<br>
Meanwhile, people trickled in and the best part of hackathons, the conversations and "what do you think about this?" chats started. Theo introduced me to Todd Mortimer (mortimer@), who's been hacking on clang to implement RETGUARD for C programs. Over the hackathon we discussed a few loose ends that cropped up and what the correct behavior should be for them as well as the mechanics of avoiding 0xc3 bytes (the RET opcode) embedded in the middle of other multi-byte x86 machine code. Fun stuff.<br>
Martin (mpi@) and I had a conversation about the desirability of being able to sleep while holding netlock and pretty much came down on "oof, the scheduler does need work before the underlying issue driving this question can be resolved enough to answer it". :-(<br>
After some final hammering I got in an enhancement to pool(9) to let a pool use (sleeping) rwlocks instead of (spinning) mutexes and then immediately used that for the per-CPU pool cache pool as well as the futex pool. Further pools are likely to be converted as well kernel upper-level locking changes are made.<br>
Speaking of, a larger diff I had been working on for said upper-level locking was still suffering deadlock issues so I took a stab at narrowing it down to just a lock for the process tree, mostly mirroring the FreeBSD proctree_lock. That appears to be holding up much better and I just have some code arrangement issues around sys_ptrace() before that'll go out for final review.<br>
Then most of the way through the week, Bob (beck@) vocally complained that life would be easier for libressl if we had some version of pthread_once() and the pthread mutex routines in libc. This would make some other stuff easier too (c.f. /usr/X11R6/lib/libpthread-stubs.*) and the TIB work over the last couple years has basically eliminated the runtime costs of doing so, so I spent most the rest of the hackathon finding the right place to draw a line through libpthread and move everything on the one side of the line into libc. That code seems pretty stable and the xenocara and ports people seem to likeor at least acceptthe effects, so it will almost certainly go in with the next libc bump.<br>
Lots of other random conversations, hacking, meals, and beer. Many thanks to Ken (krw@) and local conspirators for another excellent Toronto hackathon!</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blog.netbsd.org/tnf/entry/2017_netbsd_foundation_officers" target="_blank" rel="nofollow noopener">2017 NetBSD Foundation Officers</a></li>
<li><a href="https://bsdmag.org/download/military-grade-data-wiping-freebsd-bcwipe/" target="_blank" rel="nofollow noopener">New BSDMag is out - Military Grade Data Wiping in FreeBSD with BCWipe</a></li>
<li><a href="http://libertybsd.net/" target="_blank" rel="nofollow noopener">LibertyBSD 6.1 released</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Eddy - <a href="http://dpaste.com/3WDNV05#wrap" target="_blank" rel="nofollow noopener">EuroBSDCon 2017 video and some help</a></li>
<li>Eric - <a href="http://dpaste.com/2RP0S60#wrap" target="_blank" rel="nofollow noopener">ZFS monitoring</a></li>
<li>Tom - <a href="http://dpaste.com/31DGH3J#wrap" target="_blank" rel="nofollow noopener">BSD Hosting</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>217: Your questions, part II</title>
  <link>https://www.bsdnow.tv/217</link>
  <guid isPermaLink="false">88994206-f8e5-4c4f-a6c4-798f4bac15c3</guid>
  <pubDate>Wed, 25 Oct 2017 11:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/88994206-f8e5-4c4f-a6c4-798f4bac15c3.mp3" length="73969492" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>OpenBSD 6.2 is here, style arguments, a second round of viewer interview questions, how to set CPU affinity for FreeBSD jails, containers on FreeNAS &amp; more!
</itunes:subtitle>
  <itunes:duration>1:42:44</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>&lt;p&gt;OpenBSD 6.2 is here, style arguments, a second round of viewer interview questions, how to set CPU affinity for FreeBSD jails, containers on FreeNAS &amp;amp; more!&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.openbsd.org/62.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.2 Released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;OpenBSD continues their six month release cadence with the release of 6.2, the 44th release&lt;/li&gt;
&lt;li&gt;On a disappointing note, the song for 6.2 will not be released until December&lt;/li&gt;
&lt;li&gt;Highlights:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Improved hardware support on modern platforms including ARM64/ARMv7 and octeon, while amd64 users will appreciate additional support for the Intel Kaby Lake video cards.&lt;br&gt;
Network stack improvements include extensive SMPization improvements and a new FQ-CoDel queueing discipline, as well as enhanced WiFi support in general and improvements to iwn(4), iwm(4) and anthn(4) drivers.&lt;br&gt;
Improvements in vmm(4)/vmd include VM migration, as well as various compatibility and performance improvements.&lt;br&gt;
Security enhancements including a new freezero(3) function, further pledge(2)ing of base system programs and conversion of several daemons to the fork+exec model.&lt;br&gt;
Trapsleds, KARL, and random linking for libcrypto and ld.so, dramatically increase security by making it harder to find helpful ROP gadgets, and by creating a unique order of objects per-boot.&lt;br&gt;
A unique kernel is now created by the installer to boot from after install/upgrade. &lt;br&gt;
The base system compiler on the amd64 and i386 platforms has switched to clang(1).&lt;br&gt;
New versions of OpenSSH, OpenSMTPd, LibreSSL and mandoc are also included.&lt;br&gt;
The kernel no longer handles IPv6 Stateless Address Autoconfiguration (RFC 4862), allowing cleanup and simplification of the IPv6 network stack. &lt;br&gt;
Improved IPv6 checks for IPsec policies and made them consistent with IPv4.&lt;br&gt;
Enabled the use of per-CPU caches in the network packet allocators.&lt;br&gt;
Improved UTF-8 line editing support for ksh(1) Emacs and Vi input mode.&lt;br&gt;
&lt;em&gt;breaking change for nvme(4) users with GPT&lt;/em&gt;: If you are booting from an nvme(4) drive with a GPT disk layout, you are affected by an off-by-one in the driver with the consequence that the sector count in your partition table may be incorrect. The only way to fix this is to re-initialize the partition table. Backup your data to another disk before you upgrade. In the new bsd.rd, drop to a shell and re-initialize the GPT:&lt;br&gt;
&lt;strong&gt;fdisk -iy -g -b 960 sdN&lt;/strong&gt;&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.sandimetz.com/blog/2017/6/1/why-we-argue-style" target="_blank" rel="nofollow noopener"&gt;Why we argue: style&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I've been thinking about why we argue about code, and how we might transform vehement differences of opinion into active forces for good.&lt;br&gt;
My thoughts spring from a very specific context. Ten or twelve times a year I go to an arbitrary business and spend three or more days teaching a course in object-oriented design. I'm an outsider, but for a few days these business let me in on their secrets.&lt;br&gt;
Here's what I've noticed. In some places, folks are generally happy. Programmers get along. They feel as if they are all "in this together." At businesses like this I spend most of my time actually teaching object-oriented design.&lt;br&gt;
Other places, folks are surprisingly miserable. There's a lot of discord, and the programmers have devolved into competing "camps." In these situations the course rapidly morphs away from OO Design and into wide-ranging group discussions about how to resolve deeply embedded conflicts.&lt;br&gt;
Tolstoy famously said that "Happy families are all alike; every unhappy family is unhappy in its own way." This is known as the Anna Karenina Principle, and describes situations in which success depends on meeting all of a number of criteria. The only way to be happy is to succeed at every one of them. Unhappiness, unfortunately, can be achieved by any combination of failure. Thus, all happy businesses are similar, but unhappy ones appear unique in their misery.&lt;br&gt;
Today I'm interested in choices of syntax, i.e whether or not your shop has agreed upon and follows a style guide. If you're surprised that I'm starting with this apparently mundane issue, consider yourself lucky in your choice of workplace. If you're shaking your head in rueful agreement about the importance of this topic, I feel your pain.&lt;br&gt;
I firmly believe that all of the code that I personally have to examine should come to me in a consistent format. Code is read many more times than it is written, which means that the ultimate cost of code is in its reading. It therefore follows that code should be optimized for readability, which in turn dictates that an application's code should all follow the same style.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This is why FreeBSD, and most other open source projects, have a preferred style. Some projects are less specific and less strict about it.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Most programmers agree with the prior paragraph, but here's where things begin to break down. As far as I'm concerned, my personal formatting style is clearly the best. However, I'm quite sure that you feel the same. It's easy for a group of programmers to agree that all code should follow a common style, but surprisingly difficult to get them to agree on just what that common style should be.&lt;br&gt;
Avoid appointing a human "style cop", which just forces someone to be an increasingly ill-tempered nag. Instead, supply programmers with the information they need to remedy their own transgressions. By the time a pull request is submitted, mis-stylings should long since have been put right. Pull request conversations ought to be about what code does rather than how code looks.&lt;br&gt;
What about old code? Ignore it. You don't have to re-style all existing code, just do better from this day forward. Defer updating old code until you touch it for other reasons. Following this strategy means that the code you most often work on will gradually take on a common style. It also means that some of your existing code might never get updated, but if you never look at it, who cares?&lt;br&gt;
If you choose to re-style code that you otherwise have no need to touch, you're declaring that changing the look of this old code has more value to your business than delivering the next item on the backlog. The opportunity cost of making a purely aesthetic change includes losing the benefit of what you could have done instead. The rule-of-thumb is: Don't bother updating the styling of stable, existing code unless not doing so costs you money.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Most open source projects also avoid reformatting code just to change the style, because of the merge conflicts this will cause for downstream consumers&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you disagree with the style guide upon which your team agrees, you have only two honorable options:&lt;br&gt;
First, you can obey the guide despite your aversion. As with me in the Elm story above, this act is likely to change your thinking so that over time you come to prefer the new style. It's possible that if you follow the guide you'll begin to like it.&lt;br&gt;
Alternatively, you can decide you will not obey the style guide. Making this decision demands that you leave your current project and find some other project whose guide matches your preferred style. Go there and follow that one.&lt;br&gt;
Notice that both of these choices have you following a guide. This part is not optional.&lt;br&gt;
The moral of this story? It's more important for all code to be formatted the same than it is for any one of us to get our own way. Commit to agreeing upon and following a style guide. And if you find that your team cannot come to an agreement, step away from this problem and start a discussion about power.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;There have been many arguments about style, and it can often be one of the first complaints of people new to any open source project&lt;/li&gt;
&lt;li&gt;This article covers it fairly well from both sides, a) you should follow the style guide of the project you are contributing to, b) the project should review your actual code, then comment on the style after, and provide gentle guidance towards the right style, and avoid being “style cops”
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Interview - The BSDNow Crew, Part II&lt;/h2&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://github.com/sysadminmike/freebsd-onion-omega2-build" target="_blank" rel="nofollow noopener"&gt;Building FreeBSD for the Onion Omega 2&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;I got my Onion Omega 2 devices in the mail quite a while ago, but I had never gotten around to trying to install FreeBSD on them. They are a different MIPS SoC than the Onion Omega 1, so it would not work out of the box at the time. Now, the SoC is supported!&lt;/li&gt;
&lt;li&gt;This guide provides the steps to build an image for the Omega 2 using the freebsd-wifi-build infrastructure&lt;/li&gt;
&lt;li&gt;First some config files are modified to make the image small enough for the Omega 2’s flash chip&lt;/li&gt;
&lt;li&gt;The DTS (Device Tree Source) files are not yet included in FreeBSD, so they are fetched from github&lt;/li&gt;
&lt;li&gt;Then the build for the ralink SoC is run, with the provided DTS file and the MT7628_FDT kernel config&lt;/li&gt;
&lt;li&gt;Once the build is complete, you’ll have a tftp image file. Then that image is compressed, and bundled into a uboot image&lt;/li&gt;
&lt;li&gt;Write the files to a USB stick, and plug it into the Omega’s dock&lt;/li&gt;
&lt;li&gt;Turn it on while holding the reset button with console open&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Press 1 to get into the command line.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;You will need to reset the usb:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;usb reset&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Then load the kernel boot image:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;fatload usb 0:1 0x80800000 kernel.MT7628_FDT.lzma.uImage&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;And boot it:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;bootm 0x80800000&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;At this point FreeBSD should boot&lt;/li&gt;
&lt;li&gt;Mount a userland, and you should end up in multi-user mode&lt;/li&gt;
&lt;li&gt;Hopefully this will get even easier in the next few weeks, and we’ll end up with a more streamlined process to tftp boot the device, then write FreeBSD into the onboard flash so it boots automatically.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.neelc.org/setting-the-cpu-affinity-on-freebsd-jails-with-ezjail/" target="_blank" rel="nofollow noopener"&gt;Setting the CPU Affinity on FreeBSD Jails with ezjail&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;While there are more advanced resource controls available for FreeBSD jails, one of the most basic ways to control CPU usage is to limit the subset of CPUs that each jail can use. This can make sure that every jail has access to some dedicated resources, while at the same time doesn’t have the ability to entirely dominate the machine&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I just got a new home server: a HP ProLiant ML110 G6. Being a FreeBSD person myself, it was natural that I used it on my server instead of Linux&lt;br&gt;
I chose to use ezjail to manage the jails on my ProLiant, with the initial one being a Tor middle node. Despite the fact that where my ML110 is, the upstream is only 35mbps (which is pretty good for cable), I did not want to give my Tor jail access to all four cores.&lt;br&gt;
Setting the CPU Affinity would let you choose a specific CPU core (or a range of cores) you want to use. However, it does not just let you pick the number of CPU cores you want and make FreeBSD choose the core running your jail. Going forward, I assumed that you have already created a jail using ezjail-admin. I also do not cover limiting a jail to a certain percentage of CPU usage.&lt;br&gt;
ezjail-admin config -c [CORE_NUMBER_FIRST]-[CORE_NUMBER_LAST] [JAIL_NAME]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;or&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ezjail-admin config -c [CORE_NUMBER_FIRST],[CORE_NUMBER_SECOND],...,[CORE_NUMBER_N] [JAIL_NAME]&lt;br&gt;
And hopefully, you should have your ezjail-managed FreeBSD jail limited to the CPU cores you want. While I did not cover a CPU percentage or RAM usage, this can be done with rctl&lt;br&gt;
I'll admit: it doesn't really matter which CPU a jail runs on, but it might matter if you don't want a jail to have access to all the CPU cores available and only want [JAIL_NAME] to use one core. Since it's not really possible just specify the number of CPU cores with ezjail (or even iocell), a fallback would be to use CPU affinity, and that requires you to specify an exact CPU core. I know it's not the best solution (it would be better if we could let the scheduler choose provided a jail only runs on one core), but it's what works.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;We use this at work on high core count machines. When we have multiple databases colocated on the same machine, we make sure each one has a few cores to itself, while it shares other cores with the rest of the machine. We often reserve a core or two for the base system as well.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://medium.com/@andoriyu/a-practical-guide-to-containers-on-freenas-for-a-depraved-psychopath-c212203c0394" target="_blank" rel="nofollow noopener"&gt;A practical guide to containers on FreeNAS for a depraved psychopath.&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;If you are interested in playing with Docker, this guide sets up a Linux VM running on FreeBSD or FreeNAS under bhyve, then runs linux docker containers on top of it&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;You know that jails are dope and I know that jails are dope, yet no one else knows it. So here we are stuck with docker. Two years ago I would be the last person to recommend using docker, but a whole lot of things has changes past years…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This tutorial uses iohyve to manage the VMs on the FreeBSD or FreeNAS&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There are many Linux variants you can choose from — RancherOS, CoreOS are the most popular for docker-only hosts. We going to use RancherOS because it’s more lightweight out of the box.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Navigate to RancherOS website and grab link to latest version&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;sudo iohyve setup pool=zpool kmod=1 net=em0&lt;br&gt;
sudo iohyve fetch &lt;a href="https://releases.rancher.com/os/latest/rancheros.iso" target="_blank" rel="nofollow noopener"&gt;https://releases.rancher.com/os/latest/rancheros.iso&lt;/a&gt;&lt;br&gt;
sudo iohyve renameiso rancheros.iso rancheros-v1.0.4.iso&lt;br&gt;
sudo pkg install grub2-bhyve&lt;br&gt;
sudo iohyve create rancher 32G&lt;br&gt;
sudo iohyve set rancher loader=grub-bhyve ram=8G cpu=8 con=nmdm0 os=debian&lt;br&gt;
sudo iohyve install rancher rancheros-v1.0.4.iso&lt;br&gt;
sudo iohyve console rancher&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Then the tutorial does some basic configuration of RancherOS, and some house keeping in iohyve to make RancherOS come up unattended at boot&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The whole point of this guide is to reduce pain, and using the docker CLI is still painful. There are a lot of Web UIs to control docker. Most of them include a lot of orchestrating services, so it’s just overkill. Portainer is very lightweight and can be run even on Raspberry Pi&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Create a config file as described&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After reboot you will be able to access WebUI on 9000 port. Setup is very easy, so I won’t go over it&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The docker tools for FreeBSD are still being worked on. Eventually you will be able to host native FreeBSD docker containers on FreeBSD jails, but we are not quite there yet&lt;/li&gt;
&lt;li&gt;In the meantime, you can install sysutils/docker and use it to manage the docker instances running on a remote machine, or in this case, the RancherOS VM running in bhyve
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.wired.com/2014/09/coupland-bell-labs/" target="_blank" rel="nofollow noopener"&gt;The Ghost of Invention: A Visit to Bell Labs, excerpt from the forthcoming book: “Kitten Clone: Inside Alcatel-Lucent” &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ligurio/openbsd-cookbooks" target="_blank" rel="nofollow noopener"&gt;OpenBSD Cookbook (set of Ansible playbooks)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.tecmint.com/sockstat-command-examples-to-find-open-ports-in-freebsd/" target="_blank" rel="nofollow noopener"&gt;15 useful sockstat commands to find open ports on FreeBSD &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.freecodecamp.org/a-pre-history-of-slashdot-6403341dabae" target="_blank" rel="nofollow noopener"&gt;A prehistory of Slashdot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/@claudio.santos.ribeiro/using-ed-the-unix-line-editor-557ed6466660" target="_blank" rel="nofollow noopener"&gt;Using ed, the unix line editor &lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Malcolm - &lt;a href="http://dpaste.com/16EB3ZA#wrap" target="_blank" rel="nofollow noopener"&gt;ZFS snapshots&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Darryn - &lt;a href="http://dpaste.com/1DGHQJP#wrap" target="_blank" rel="nofollow noopener"&gt;Zones&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mohammad - &lt;a href="http://dpaste.com/08G3VTB#wrap" target="_blank" rel="nofollow noopener"&gt;SSH Keys&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>OpenBSD 6.2 is here, style arguments, a second round of viewer interview questions, how to set CPU affinity for FreeBSD jails, containers on FreeNAS &amp; more!</p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/62.html" target="_blank" rel="nofollow noopener">OpenBSD 6.2 Released</a></h3>

<ul>
<li>OpenBSD continues their six month release cadence with the release of 6.2, the 44th release</li>
<li>On a disappointing note, the song for 6.2 will not be released until December</li>
<li>Highlights:</li>
</ul>

<blockquote>
<p>Improved hardware support on modern platforms including ARM64/ARMv7 and octeon, while amd64 users will appreciate additional support for the Intel Kaby Lake video cards.<br>
Network stack improvements include extensive SMPization improvements and a new FQ-CoDel queueing discipline, as well as enhanced WiFi support in general and improvements to iwn(4), iwm(4) and anthn(4) drivers.<br>
Improvements in vmm(4)/vmd include VM migration, as well as various compatibility and performance improvements.<br>
Security enhancements including a new freezero(3) function, further pledge(2)ing of base system programs and conversion of several daemons to the fork+exec model.<br>
Trapsleds, KARL, and random linking for libcrypto and ld.so, dramatically increase security by making it harder to find helpful ROP gadgets, and by creating a unique order of objects per-boot.<br>
A unique kernel is now created by the installer to boot from after install/upgrade. <br>
The base system compiler on the amd64 and i386 platforms has switched to clang(1).<br>
New versions of OpenSSH, OpenSMTPd, LibreSSL and mandoc are also included.<br>
The kernel no longer handles IPv6 Stateless Address Autoconfiguration (RFC 4862), allowing cleanup and simplification of the IPv6 network stack. <br>
Improved IPv6 checks for IPsec policies and made them consistent with IPv4.<br>
Enabled the use of per-CPU caches in the network packet allocators.<br>
Improved UTF-8 line editing support for ksh(1) Emacs and Vi input mode.<br>
<em>breaking change for nvme(4) users with GPT</em>: If you are booting from an nvme(4) drive with a GPT disk layout, you are affected by an off-by-one in the driver with the consequence that the sector count in your partition table may be incorrect. The only way to fix this is to re-initialize the partition table. Backup your data to another disk before you upgrade. In the new bsd.rd, drop to a shell and re-initialize the GPT:<br>
<strong>fdisk -iy -g -b 960 sdN</strong></p>

<hr>
</blockquote>

<h3><a href="https://www.sandimetz.com/blog/2017/6/1/why-we-argue-style" target="_blank" rel="nofollow noopener">Why we argue: style</a></h3>

<blockquote>
<p>I've been thinking about why we argue about code, and how we might transform vehement differences of opinion into active forces for good.<br>
My thoughts spring from a very specific context. Ten or twelve times a year I go to an arbitrary business and spend three or more days teaching a course in object-oriented design. I'm an outsider, but for a few days these business let me in on their secrets.<br>
Here's what I've noticed. In some places, folks are generally happy. Programmers get along. They feel as if they are all "in this together." At businesses like this I spend most of my time actually teaching object-oriented design.<br>
Other places, folks are surprisingly miserable. There's a lot of discord, and the programmers have devolved into competing "camps." In these situations the course rapidly morphs away from OO Design and into wide-ranging group discussions about how to resolve deeply embedded conflicts.<br>
Tolstoy famously said that "Happy families are all alike; every unhappy family is unhappy in its own way." This is known as the Anna Karenina Principle, and describes situations in which success depends on meeting all of a number of criteria. The only way to be happy is to succeed at every one of them. Unhappiness, unfortunately, can be achieved by any combination of failure. Thus, all happy businesses are similar, but unhappy ones appear unique in their misery.<br>
Today I'm interested in choices of syntax, i.e whether or not your shop has agreed upon and follows a style guide. If you're surprised that I'm starting with this apparently mundane issue, consider yourself lucky in your choice of workplace. If you're shaking your head in rueful agreement about the importance of this topic, I feel your pain.<br>
I firmly believe that all of the code that I personally have to examine should come to me in a consistent format. Code is read many more times than it is written, which means that the ultimate cost of code is in its reading. It therefore follows that code should be optimized for readability, which in turn dictates that an application's code should all follow the same style.</p>
</blockquote>

<ul>
<li>This is why FreeBSD, and most other open source projects, have a preferred style. Some projects are less specific and less strict about it.</li>
</ul>

<blockquote>
<p>Most programmers agree with the prior paragraph, but here's where things begin to break down. As far as I'm concerned, my personal formatting style is clearly the best. However, I'm quite sure that you feel the same. It's easy for a group of programmers to agree that all code should follow a common style, but surprisingly difficult to get them to agree on just what that common style should be.<br>
Avoid appointing a human "style cop", which just forces someone to be an increasingly ill-tempered nag. Instead, supply programmers with the information they need to remedy their own transgressions. By the time a pull request is submitted, mis-stylings should long since have been put right. Pull request conversations ought to be about what code does rather than how code looks.<br>
What about old code? Ignore it. You don't have to re-style all existing code, just do better from this day forward. Defer updating old code until you touch it for other reasons. Following this strategy means that the code you most often work on will gradually take on a common style. It also means that some of your existing code might never get updated, but if you never look at it, who cares?<br>
If you choose to re-style code that you otherwise have no need to touch, you're declaring that changing the look of this old code has more value to your business than delivering the next item on the backlog. The opportunity cost of making a purely aesthetic change includes losing the benefit of what you could have done instead. The rule-of-thumb is: Don't bother updating the styling of stable, existing code unless not doing so costs you money.</p>
</blockquote>

<ul>
<li>Most open source projects also avoid reformatting code just to change the style, because of the merge conflicts this will cause for downstream consumers</li>
</ul>

<blockquote>
<p>If you disagree with the style guide upon which your team agrees, you have only two honorable options:<br>
First, you can obey the guide despite your aversion. As with me in the Elm story above, this act is likely to change your thinking so that over time you come to prefer the new style. It's possible that if you follow the guide you'll begin to like it.<br>
Alternatively, you can decide you will not obey the style guide. Making this decision demands that you leave your current project and find some other project whose guide matches your preferred style. Go there and follow that one.<br>
Notice that both of these choices have you following a guide. This part is not optional.<br>
The moral of this story? It's more important for all code to be formatted the same than it is for any one of us to get our own way. Commit to agreeing upon and following a style guide. And if you find that your team cannot come to an agreement, step away from this problem and start a discussion about power.</p>
</blockquote>

<ul>
<li>There have been many arguments about style, and it can often be one of the first complaints of people new to any open source project</li>
<li>This article covers it fairly well from both sides, a) you should follow the style guide of the project you are contributing to, b) the project should review your actual code, then comment on the style after, and provide gentle guidance towards the right style, and avoid being “style cops”
***</li>
</ul>

<h2>Interview - The BSDNow Crew, Part II</h2>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://github.com/sysadminmike/freebsd-onion-omega2-build" target="_blank" rel="nofollow noopener">Building FreeBSD for the Onion Omega 2</a></h3>

<ul>
<li>I got my Onion Omega 2 devices in the mail quite a while ago, but I had never gotten around to trying to install FreeBSD on them. They are a different MIPS SoC than the Onion Omega 1, so it would not work out of the box at the time. Now, the SoC is supported!</li>
<li>This guide provides the steps to build an image for the Omega 2 using the freebsd-wifi-build infrastructure</li>
<li>First some config files are modified to make the image small enough for the Omega 2’s flash chip</li>
<li>The DTS (Device Tree Source) files are not yet included in FreeBSD, so they are fetched from github</li>
<li>Then the build for the ralink SoC is run, with the provided DTS file and the MT7628_FDT kernel config</li>
<li>Once the build is complete, you’ll have a tftp image file. Then that image is compressed, and bundled into a uboot image</li>
<li>Write the files to a USB stick, and plug it into the Omega’s dock</li>
<li>Turn it on while holding the reset button with console open</li>
</ul>

<blockquote>
<p>Press 1 to get into the command line.</p>
</blockquote>

<ul>
<li>You will need to reset the usb:</li>
</ul>

<blockquote>
<p>usb reset</p>
</blockquote>

<ul>
<li>Then load the kernel boot image:</li>
</ul>

<blockquote>
<p>fatload usb 0:1 0x80800000 kernel.MT7628_FDT.lzma.uImage</p>
</blockquote>

<ul>
<li>And boot it:</li>
</ul>

<blockquote>
<p>bootm 0x80800000</p>
</blockquote>

<ul>
<li>At this point FreeBSD should boot</li>
<li>Mount a userland, and you should end up in multi-user mode</li>
<li>Hopefully this will get even easier in the next few weeks, and we’ll end up with a more streamlined process to tftp boot the device, then write FreeBSD into the onboard flash so it boots automatically.
***</li>
</ul>

<h3><a href="https://www.neelc.org/setting-the-cpu-affinity-on-freebsd-jails-with-ezjail/" target="_blank" rel="nofollow noopener">Setting the CPU Affinity on FreeBSD Jails with ezjail</a></h3>

<ul>
<li>While there are more advanced resource controls available for FreeBSD jails, one of the most basic ways to control CPU usage is to limit the subset of CPUs that each jail can use. This can make sure that every jail has access to some dedicated resources, while at the same time doesn’t have the ability to entirely dominate the machine</li>
</ul>

<blockquote>
<p>I just got a new home server: a HP ProLiant ML110 G6. Being a FreeBSD person myself, it was natural that I used it on my server instead of Linux<br>
I chose to use ezjail to manage the jails on my ProLiant, with the initial one being a Tor middle node. Despite the fact that where my ML110 is, the upstream is only 35mbps (which is pretty good for cable), I did not want to give my Tor jail access to all four cores.<br>
Setting the CPU Affinity would let you choose a specific CPU core (or a range of cores) you want to use. However, it does not just let you pick the number of CPU cores you want and make FreeBSD choose the core running your jail. Going forward, I assumed that you have already created a jail using ezjail-admin. I also do not cover limiting a jail to a certain percentage of CPU usage.<br>
ezjail-admin config -c [CORE_NUMBER_FIRST]-[CORE_NUMBER_LAST] [JAIL_NAME]</p>
</blockquote>

<ul>
<li>or</li>
</ul>

<blockquote>
<p>ezjail-admin config -c [CORE_NUMBER_FIRST],[CORE_NUMBER_SECOND],...,[CORE_NUMBER_N] [JAIL_NAME]<br>
And hopefully, you should have your ezjail-managed FreeBSD jail limited to the CPU cores you want. While I did not cover a CPU percentage or RAM usage, this can be done with rctl<br>
I'll admit: it doesn't really matter which CPU a jail runs on, but it might matter if you don't want a jail to have access to all the CPU cores available and only want [JAIL_NAME] to use one core. Since it's not really possible just specify the number of CPU cores with ezjail (or even iocell), a fallback would be to use CPU affinity, and that requires you to specify an exact CPU core. I know it's not the best solution (it would be better if we could let the scheduler choose provided a jail only runs on one core), but it's what works.</p>
</blockquote>

<ul>
<li>We use this at work on high core count machines. When we have multiple databases colocated on the same machine, we make sure each one has a few cores to itself, while it shares other cores with the rest of the machine. We often reserve a core or two for the base system as well.
***</li>
</ul>

<h3><a href="https://medium.com/@andoriyu/a-practical-guide-to-containers-on-freenas-for-a-depraved-psychopath-c212203c0394" target="_blank" rel="nofollow noopener">A practical guide to containers on FreeNAS for a depraved psychopath.</a></h3>

<ul>
<li>If you are interested in playing with Docker, this guide sets up a Linux VM running on FreeBSD or FreeNAS under bhyve, then runs linux docker containers on top of it</li>
</ul>

<blockquote>
<p>You know that jails are dope and I know that jails are dope, yet no one else knows it. So here we are stuck with docker. Two years ago I would be the last person to recommend using docker, but a whole lot of things has changes past years…</p>
</blockquote>

<ul>
<li>This tutorial uses iohyve to manage the VMs on the FreeBSD or FreeNAS</li>
</ul>

<blockquote>
<p>There are many Linux variants you can choose from — RancherOS, CoreOS are the most popular for docker-only hosts. We going to use RancherOS because it’s more lightweight out of the box.</p>
</blockquote>

<ul>
<li>Navigate to RancherOS website and grab link to latest version</li>
</ul>

<blockquote>
<p>sudo iohyve setup pool=zpool kmod=1 net=em0<br>
sudo iohyve fetch <a href="https://releases.rancher.com/os/latest/rancheros.iso" target="_blank" rel="nofollow noopener">https://releases.rancher.com/os/latest/rancheros.iso</a><br>
sudo iohyve renameiso rancheros.iso rancheros-v1.0.4.iso<br>
sudo pkg install grub2-bhyve<br>
sudo iohyve create rancher 32G<br>
sudo iohyve set rancher loader=grub-bhyve ram=8G cpu=8 con=nmdm0 os=debian<br>
sudo iohyve install rancher rancheros-v1.0.4.iso<br>
sudo iohyve console rancher</p>
</blockquote>

<ul>
<li>Then the tutorial does some basic configuration of RancherOS, and some house keeping in iohyve to make RancherOS come up unattended at boot</li>
</ul>

<blockquote>
<p>The whole point of this guide is to reduce pain, and using the docker CLI is still painful. There are a lot of Web UIs to control docker. Most of them include a lot of orchestrating services, so it’s just overkill. Portainer is very lightweight and can be run even on Raspberry Pi</p>
</blockquote>

<ul>
<li>Create a config file as described</li>
</ul>

<blockquote>
<p>After reboot you will be able to access WebUI on 9000 port. Setup is very easy, so I won’t go over it</p>
</blockquote>

<ul>
<li>The docker tools for FreeBSD are still being worked on. Eventually you will be able to host native FreeBSD docker containers on FreeBSD jails, but we are not quite there yet</li>
<li>In the meantime, you can install sysutils/docker and use it to manage the docker instances running on a remote machine, or in this case, the RancherOS VM running in bhyve
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.wired.com/2014/09/coupland-bell-labs/" target="_blank" rel="nofollow noopener">The Ghost of Invention: A Visit to Bell Labs, excerpt from the forthcoming book: “Kitten Clone: Inside Alcatel-Lucent” </a></li>
<li><a href="https://github.com/ligurio/openbsd-cookbooks" target="_blank" rel="nofollow noopener">OpenBSD Cookbook (set of Ansible playbooks)</a></li>
<li><a href="https://www.tecmint.com/sockstat-command-examples-to-find-open-ports-in-freebsd/" target="_blank" rel="nofollow noopener">15 useful sockstat commands to find open ports on FreeBSD </a></li>
<li><a href="https://medium.freecodecamp.org/a-pre-history-of-slashdot-6403341dabae" target="_blank" rel="nofollow noopener">A prehistory of Slashdot</a></li>
<li><a href="https://medium.com/@claudio.santos.ribeiro/using-ed-the-unix-line-editor-557ed6466660" target="_blank" rel="nofollow noopener">Using ed, the unix line editor </a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Malcolm - <a href="http://dpaste.com/16EB3ZA#wrap" target="_blank" rel="nofollow noopener">ZFS snapshots</a></li>
<li>Darryn - <a href="http://dpaste.com/1DGHQJP#wrap" target="_blank" rel="nofollow noopener">Zones</a></li>
<li><p>Mohammad - <a href="http://dpaste.com/08G3VTB#wrap" target="_blank" rel="nofollow noopener">SSH Keys</a></p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>OpenBSD 6.2 is here, style arguments, a second round of viewer interview questions, how to set CPU affinity for FreeBSD jails, containers on FreeNAS &amp; more!</p>

<h2>Headlines</h2>

<h3><a href="https://www.openbsd.org/62.html" target="_blank" rel="nofollow noopener">OpenBSD 6.2 Released</a></h3>

<ul>
<li>OpenBSD continues their six month release cadence with the release of 6.2, the 44th release</li>
<li>On a disappointing note, the song for 6.2 will not be released until December</li>
<li>Highlights:</li>
</ul>

<blockquote>
<p>Improved hardware support on modern platforms including ARM64/ARMv7 and octeon, while amd64 users will appreciate additional support for the Intel Kaby Lake video cards.<br>
Network stack improvements include extensive SMPization improvements and a new FQ-CoDel queueing discipline, as well as enhanced WiFi support in general and improvements to iwn(4), iwm(4) and anthn(4) drivers.<br>
Improvements in vmm(4)/vmd include VM migration, as well as various compatibility and performance improvements.<br>
Security enhancements including a new freezero(3) function, further pledge(2)ing of base system programs and conversion of several daemons to the fork+exec model.<br>
Trapsleds, KARL, and random linking for libcrypto and ld.so, dramatically increase security by making it harder to find helpful ROP gadgets, and by creating a unique order of objects per-boot.<br>
A unique kernel is now created by the installer to boot from after install/upgrade. <br>
The base system compiler on the amd64 and i386 platforms has switched to clang(1).<br>
New versions of OpenSSH, OpenSMTPd, LibreSSL and mandoc are also included.<br>
The kernel no longer handles IPv6 Stateless Address Autoconfiguration (RFC 4862), allowing cleanup and simplification of the IPv6 network stack. <br>
Improved IPv6 checks for IPsec policies and made them consistent with IPv4.<br>
Enabled the use of per-CPU caches in the network packet allocators.<br>
Improved UTF-8 line editing support for ksh(1) Emacs and Vi input mode.<br>
<em>breaking change for nvme(4) users with GPT</em>: If you are booting from an nvme(4) drive with a GPT disk layout, you are affected by an off-by-one in the driver with the consequence that the sector count in your partition table may be incorrect. The only way to fix this is to re-initialize the partition table. Backup your data to another disk before you upgrade. In the new bsd.rd, drop to a shell and re-initialize the GPT:<br>
<strong>fdisk -iy -g -b 960 sdN</strong></p>

<hr>
</blockquote>

<h3><a href="https://www.sandimetz.com/blog/2017/6/1/why-we-argue-style" target="_blank" rel="nofollow noopener">Why we argue: style</a></h3>

<blockquote>
<p>I've been thinking about why we argue about code, and how we might transform vehement differences of opinion into active forces for good.<br>
My thoughts spring from a very specific context. Ten or twelve times a year I go to an arbitrary business and spend three or more days teaching a course in object-oriented design. I'm an outsider, but for a few days these business let me in on their secrets.<br>
Here's what I've noticed. In some places, folks are generally happy. Programmers get along. They feel as if they are all "in this together." At businesses like this I spend most of my time actually teaching object-oriented design.<br>
Other places, folks are surprisingly miserable. There's a lot of discord, and the programmers have devolved into competing "camps." In these situations the course rapidly morphs away from OO Design and into wide-ranging group discussions about how to resolve deeply embedded conflicts.<br>
Tolstoy famously said that "Happy families are all alike; every unhappy family is unhappy in its own way." This is known as the Anna Karenina Principle, and describes situations in which success depends on meeting all of a number of criteria. The only way to be happy is to succeed at every one of them. Unhappiness, unfortunately, can be achieved by any combination of failure. Thus, all happy businesses are similar, but unhappy ones appear unique in their misery.<br>
Today I'm interested in choices of syntax, i.e whether or not your shop has agreed upon and follows a style guide. If you're surprised that I'm starting with this apparently mundane issue, consider yourself lucky in your choice of workplace. If you're shaking your head in rueful agreement about the importance of this topic, I feel your pain.<br>
I firmly believe that all of the code that I personally have to examine should come to me in a consistent format. Code is read many more times than it is written, which means that the ultimate cost of code is in its reading. It therefore follows that code should be optimized for readability, which in turn dictates that an application's code should all follow the same style.</p>
</blockquote>

<ul>
<li>This is why FreeBSD, and most other open source projects, have a preferred style. Some projects are less specific and less strict about it.</li>
</ul>

<blockquote>
<p>Most programmers agree with the prior paragraph, but here's where things begin to break down. As far as I'm concerned, my personal formatting style is clearly the best. However, I'm quite sure that you feel the same. It's easy for a group of programmers to agree that all code should follow a common style, but surprisingly difficult to get them to agree on just what that common style should be.<br>
Avoid appointing a human "style cop", which just forces someone to be an increasingly ill-tempered nag. Instead, supply programmers with the information they need to remedy their own transgressions. By the time a pull request is submitted, mis-stylings should long since have been put right. Pull request conversations ought to be about what code does rather than how code looks.<br>
What about old code? Ignore it. You don't have to re-style all existing code, just do better from this day forward. Defer updating old code until you touch it for other reasons. Following this strategy means that the code you most often work on will gradually take on a common style. It also means that some of your existing code might never get updated, but if you never look at it, who cares?<br>
If you choose to re-style code that you otherwise have no need to touch, you're declaring that changing the look of this old code has more value to your business than delivering the next item on the backlog. The opportunity cost of making a purely aesthetic change includes losing the benefit of what you could have done instead. The rule-of-thumb is: Don't bother updating the styling of stable, existing code unless not doing so costs you money.</p>
</blockquote>

<ul>
<li>Most open source projects also avoid reformatting code just to change the style, because of the merge conflicts this will cause for downstream consumers</li>
</ul>

<blockquote>
<p>If you disagree with the style guide upon which your team agrees, you have only two honorable options:<br>
First, you can obey the guide despite your aversion. As with me in the Elm story above, this act is likely to change your thinking so that over time you come to prefer the new style. It's possible that if you follow the guide you'll begin to like it.<br>
Alternatively, you can decide you will not obey the style guide. Making this decision demands that you leave your current project and find some other project whose guide matches your preferred style. Go there and follow that one.<br>
Notice that both of these choices have you following a guide. This part is not optional.<br>
The moral of this story? It's more important for all code to be formatted the same than it is for any one of us to get our own way. Commit to agreeing upon and following a style guide. And if you find that your team cannot come to an agreement, step away from this problem and start a discussion about power.</p>
</blockquote>

<ul>
<li>There have been many arguments about style, and it can often be one of the first complaints of people new to any open source project</li>
<li>This article covers it fairly well from both sides, a) you should follow the style guide of the project you are contributing to, b) the project should review your actual code, then comment on the style after, and provide gentle guidance towards the right style, and avoid being “style cops”
***</li>
</ul>

<h2>Interview - The BSDNow Crew, Part II</h2>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://github.com/sysadminmike/freebsd-onion-omega2-build" target="_blank" rel="nofollow noopener">Building FreeBSD for the Onion Omega 2</a></h3>

<ul>
<li>I got my Onion Omega 2 devices in the mail quite a while ago, but I had never gotten around to trying to install FreeBSD on them. They are a different MIPS SoC than the Onion Omega 1, so it would not work out of the box at the time. Now, the SoC is supported!</li>
<li>This guide provides the steps to build an image for the Omega 2 using the freebsd-wifi-build infrastructure</li>
<li>First some config files are modified to make the image small enough for the Omega 2’s flash chip</li>
<li>The DTS (Device Tree Source) files are not yet included in FreeBSD, so they are fetched from github</li>
<li>Then the build for the ralink SoC is run, with the provided DTS file and the MT7628_FDT kernel config</li>
<li>Once the build is complete, you’ll have a tftp image file. Then that image is compressed, and bundled into a uboot image</li>
<li>Write the files to a USB stick, and plug it into the Omega’s dock</li>
<li>Turn it on while holding the reset button with console open</li>
</ul>

<blockquote>
<p>Press 1 to get into the command line.</p>
</blockquote>

<ul>
<li>You will need to reset the usb:</li>
</ul>

<blockquote>
<p>usb reset</p>
</blockquote>

<ul>
<li>Then load the kernel boot image:</li>
</ul>

<blockquote>
<p>fatload usb 0:1 0x80800000 kernel.MT7628_FDT.lzma.uImage</p>
</blockquote>

<ul>
<li>And boot it:</li>
</ul>

<blockquote>
<p>bootm 0x80800000</p>
</blockquote>

<ul>
<li>At this point FreeBSD should boot</li>
<li>Mount a userland, and you should end up in multi-user mode</li>
<li>Hopefully this will get even easier in the next few weeks, and we’ll end up with a more streamlined process to tftp boot the device, then write FreeBSD into the onboard flash so it boots automatically.
***</li>
</ul>

<h3><a href="https://www.neelc.org/setting-the-cpu-affinity-on-freebsd-jails-with-ezjail/" target="_blank" rel="nofollow noopener">Setting the CPU Affinity on FreeBSD Jails with ezjail</a></h3>

<ul>
<li>While there are more advanced resource controls available for FreeBSD jails, one of the most basic ways to control CPU usage is to limit the subset of CPUs that each jail can use. This can make sure that every jail has access to some dedicated resources, while at the same time doesn’t have the ability to entirely dominate the machine</li>
</ul>

<blockquote>
<p>I just got a new home server: a HP ProLiant ML110 G6. Being a FreeBSD person myself, it was natural that I used it on my server instead of Linux<br>
I chose to use ezjail to manage the jails on my ProLiant, with the initial one being a Tor middle node. Despite the fact that where my ML110 is, the upstream is only 35mbps (which is pretty good for cable), I did not want to give my Tor jail access to all four cores.<br>
Setting the CPU Affinity would let you choose a specific CPU core (or a range of cores) you want to use. However, it does not just let you pick the number of CPU cores you want and make FreeBSD choose the core running your jail. Going forward, I assumed that you have already created a jail using ezjail-admin. I also do not cover limiting a jail to a certain percentage of CPU usage.<br>
ezjail-admin config -c [CORE_NUMBER_FIRST]-[CORE_NUMBER_LAST] [JAIL_NAME]</p>
</blockquote>

<ul>
<li>or</li>
</ul>

<blockquote>
<p>ezjail-admin config -c [CORE_NUMBER_FIRST],[CORE_NUMBER_SECOND],...,[CORE_NUMBER_N] [JAIL_NAME]<br>
And hopefully, you should have your ezjail-managed FreeBSD jail limited to the CPU cores you want. While I did not cover a CPU percentage or RAM usage, this can be done with rctl<br>
I'll admit: it doesn't really matter which CPU a jail runs on, but it might matter if you don't want a jail to have access to all the CPU cores available and only want [JAIL_NAME] to use one core. Since it's not really possible just specify the number of CPU cores with ezjail (or even iocell), a fallback would be to use CPU affinity, and that requires you to specify an exact CPU core. I know it's not the best solution (it would be better if we could let the scheduler choose provided a jail only runs on one core), but it's what works.</p>
</blockquote>

<ul>
<li>We use this at work on high core count machines. When we have multiple databases colocated on the same machine, we make sure each one has a few cores to itself, while it shares other cores with the rest of the machine. We often reserve a core or two for the base system as well.
***</li>
</ul>

<h3><a href="https://medium.com/@andoriyu/a-practical-guide-to-containers-on-freenas-for-a-depraved-psychopath-c212203c0394" target="_blank" rel="nofollow noopener">A practical guide to containers on FreeNAS for a depraved psychopath.</a></h3>

<ul>
<li>If you are interested in playing with Docker, this guide sets up a Linux VM running on FreeBSD or FreeNAS under bhyve, then runs linux docker containers on top of it</li>
</ul>

<blockquote>
<p>You know that jails are dope and I know that jails are dope, yet no one else knows it. So here we are stuck with docker. Two years ago I would be the last person to recommend using docker, but a whole lot of things has changes past years…</p>
</blockquote>

<ul>
<li>This tutorial uses iohyve to manage the VMs on the FreeBSD or FreeNAS</li>
</ul>

<blockquote>
<p>There are many Linux variants you can choose from — RancherOS, CoreOS are the most popular for docker-only hosts. We going to use RancherOS because it’s more lightweight out of the box.</p>
</blockquote>

<ul>
<li>Navigate to RancherOS website and grab link to latest version</li>
</ul>

<blockquote>
<p>sudo iohyve setup pool=zpool kmod=1 net=em0<br>
sudo iohyve fetch <a href="https://releases.rancher.com/os/latest/rancheros.iso" target="_blank" rel="nofollow noopener">https://releases.rancher.com/os/latest/rancheros.iso</a><br>
sudo iohyve renameiso rancheros.iso rancheros-v1.0.4.iso<br>
sudo pkg install grub2-bhyve<br>
sudo iohyve create rancher 32G<br>
sudo iohyve set rancher loader=grub-bhyve ram=8G cpu=8 con=nmdm0 os=debian<br>
sudo iohyve install rancher rancheros-v1.0.4.iso<br>
sudo iohyve console rancher</p>
</blockquote>

<ul>
<li>Then the tutorial does some basic configuration of RancherOS, and some house keeping in iohyve to make RancherOS come up unattended at boot</li>
</ul>

<blockquote>
<p>The whole point of this guide is to reduce pain, and using the docker CLI is still painful. There are a lot of Web UIs to control docker. Most of them include a lot of orchestrating services, so it’s just overkill. Portainer is very lightweight and can be run even on Raspberry Pi</p>
</blockquote>

<ul>
<li>Create a config file as described</li>
</ul>

<blockquote>
<p>After reboot you will be able to access WebUI on 9000 port. Setup is very easy, so I won’t go over it</p>
</blockquote>

<ul>
<li>The docker tools for FreeBSD are still being worked on. Eventually you will be able to host native FreeBSD docker containers on FreeBSD jails, but we are not quite there yet</li>
<li>In the meantime, you can install sysutils/docker and use it to manage the docker instances running on a remote machine, or in this case, the RancherOS VM running in bhyve
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.wired.com/2014/09/coupland-bell-labs/" target="_blank" rel="nofollow noopener">The Ghost of Invention: A Visit to Bell Labs, excerpt from the forthcoming book: “Kitten Clone: Inside Alcatel-Lucent” </a></li>
<li><a href="https://github.com/ligurio/openbsd-cookbooks" target="_blank" rel="nofollow noopener">OpenBSD Cookbook (set of Ansible playbooks)</a></li>
<li><a href="https://www.tecmint.com/sockstat-command-examples-to-find-open-ports-in-freebsd/" target="_blank" rel="nofollow noopener">15 useful sockstat commands to find open ports on FreeBSD </a></li>
<li><a href="https://medium.freecodecamp.org/a-pre-history-of-slashdot-6403341dabae" target="_blank" rel="nofollow noopener">A prehistory of Slashdot</a></li>
<li><a href="https://medium.com/@claudio.santos.ribeiro/using-ed-the-unix-line-editor-557ed6466660" target="_blank" rel="nofollow noopener">Using ed, the unix line editor </a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Malcolm - <a href="http://dpaste.com/16EB3ZA#wrap" target="_blank" rel="nofollow noopener">ZFS snapshots</a></li>
<li>Darryn - <a href="http://dpaste.com/1DGHQJP#wrap" target="_blank" rel="nofollow noopener">Zones</a></li>
<li><p>Mohammad - <a href="http://dpaste.com/08G3VTB#wrap" target="_blank" rel="nofollow noopener">SSH Keys</a></p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>216: Software is storytelling</title>
  <link>https://www.bsdnow.tv/216</link>
  <guid isPermaLink="false">06744f64-a9ca-4e0e-832e-34f53a663933</guid>
  <pubDate>Wed, 18 Oct 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/06744f64-a9ca-4e0e-832e-34f53a663933.mp3" length="78743956" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>EuroBSDcon trip report, how to secure OpenBSD’s LDAP server, ZFS channel programs in FreeBSD HEAD and why software is storytelling.</itunes:subtitle>
  <itunes:duration>1:49:21</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>&lt;p&gt;EuroBSDcon trip report, how to secure OpenBSD’s LDAP server, ZFS channel programs in FreeBSD HEAD and why software is storytelling.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;EuroBSDcon Trip Report&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This is from Frank Moore, who has been supplying us with collections of links for the show and who we met at EuroBSDcon in Paris for the first time. Here is his trip report.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;My attendance at the EuroBSDCon 2017 conference in Paris was sprinkled with &lt;br&gt;
several 'firsts'. My first visit to Paris, my first time travelling on a EuroTunnel Shuttle train and my first time at any BSD conference. Hopefully, none of these will turn out to be 'lasts'.&lt;br&gt;
I arrived on the Wednesday afternoon before the conference started on Thursday morning. My hotel was conveniently located close to the conference centre in Paris' 3rd arrondissement. This area is well-known as a buzzy enclave of hip cafes, eateries, independent shops, markets, modern galleries and museums. It certainly lived up to its reputation. Even better, the weather held over the course of the conference, only raining once, with the rest of the time being both warm and sunny.&lt;br&gt;
The first two days were taken up with attending Dr Kirk McKusick's excellent tutorial 'An Introduction to the FreeBSD Open-Source Operating System'. This is training "straight from the horse's mouth". Kirk has worked extensively on The FreeBSD operating system since the 1980's, helping to design the original BSD filesystem (FFS) and later working on UFS as well. Not only is Kirk an engaging speaker, making what could be a dry topic very interesting, he also &lt;br&gt;
sprinkles liberal doses of history and war stories throughout his lectures. Want to know why a protocol was designed the way that it was? Or why a system flag has a particular value or position in a record? Kirk was there and has the first-hand answer. He reminisces about his meetings and work with other Unix and BSD luminaries and debunks and confirms common myths in equal measure.&lt;br&gt;
Kirk's teaching style and knowledge are impressive. Every section starts with an overview and a big picture diagram before drilling down into the nitty-gritty detail. Nothing feels superfluous, and everything fits together logically. It's easy to tell that the material and its delivery have been honed over many years, but without feeling stale. Topics covered included the kernel, processes, virtual memory, threads, I/O, devices, FFS, ZFS, and networking. &lt;br&gt;
The slides were just as impressive, with additional notes written by a previous student and every slide containing a reference back to the relevant page(s) in the 2nd edition of Kirk's operating system book. As well as a hard copy for those that requested it, Kirk also helpfully supplied soft copies of all the training materials.&lt;br&gt;
The breaks in between lectures were useful for meeting the students from the other tutorials and for recovering from the inevitable information overload.&lt;br&gt;
It's not often that you can get to hear someone as renowned as Dr McKusick give a lecture on something as important as the FreeBSD operating system. If you have any interest in FreeBSD, Unix history, or operating systems in general, I would urge you to grab the opportunity to attend one of his lectures. You won't be disappointed.&lt;br&gt;
The last two days of the conference consisted of various hour-long talks by members of each of the main BSD systems. All of them were fairly evenly represented except Dragonfly BSD which unfortunately only had one talk. With three talks going on at any one time, it was often difficult to pick which one to go to. At other times there might be nothing to pique the interest. Attendance at a talk is not mandatory, so for those times when no talks looked inviting, just hanging out in one of the lobby areas with other attendees was often just as interesting and informative. &lt;br&gt;
The conference centre itself was certainly memorable with the interior design of an Egyptian temple or pyramid. All the classrooms were more than adequate while the main auditorium was first-class and easily held the 300+ attendees comfortably. All in all, the facilities, catering and organisation were excellent. Kudos to the EuroBSDCon team, especially Bapt and Antoine for all their hard work and hospitality.&lt;br&gt;
As a long-time watcher and occasional contributor to the BSD Now podcast it was good to meet both Allan and Benedict in the flesh. And having done some proofreading for Michael Lucas previously, it was nice to finally meet him as well.&lt;br&gt;
My one suggestion to the organisers of the next conference would be to provide more &lt;br&gt;
hand-holding for newbies. As a first-time attendee at a BSD conference it would have been nice to have been formally introduced to various people within the projects as the goto people for their areas. I could do this myself, but it's not always easy finding the right person and wrangling an introduction. I also think it was a missed opportunity for each project to recruit new developers to their cause. Apparently, this is already in place at BSDCan, but should probably be rolled out across all BSD conferences.&lt;br&gt;
Having said all that, my aims for the conference were to take Dr McKusick's course, meet a few BSD people and make contacts within one of the BSD projects to start contributing. I was successful on all these fronts, so for me this was mission accomplished. Another first!&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20170930133438" target="_blank" rel="nofollow noopener"&gt;autoconf/clang (No) Fun and Games&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Robert Nagy (robert@) wrote in with a fascinating story of hunting down a recent problem with ports:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;You might have been noticing the amount of commits to ports regarding autoconf and nested functions and asking yourself… what the hell is this all about?&lt;br&gt;
I was hanging out at my friend Antoine (ajacoutot@)'s place just before EuroBSDCon 2017 started and we were having drinks and he told me that there is this weird bug where Gnome hangs completely after just a couple of seconds of usage and the gnome-shell process just sits in the fsleep state. This started to happen at the time when inteldrm(4) was updated, the default compiler was switched to clang(1) and futexes were turned on by default.&lt;br&gt;
The next day we started to have a look at the issue and since the process was hanging in fsleep, it seemed clear that the cause must be futexes, so we had to start bisecting the base system, which resulted in random success and failure. In the end we figured out that it is neither futex nor inteldrm(4) related, so the only thing that was left is the switch to clang.&lt;br&gt;
Now the problem is that we have to figure out what part of the system needs to be build with clang to trigger this issue, so we kept on going and systematically recompiled the base system with gcc until everything was ruled out … and it kept on hanging.&lt;br&gt;
We were drunk and angry that now we have to go and check hundreds of ports because gnome is not a small standalone port, so between two bottles of wine a build VM was fired up to do a package build with gcc, because manually building all the dependencies would just take too long and we had spent almost two days on this already.&lt;br&gt;
Next day ~200 packages were available to bisect and figure out what's going on. After a couple of tries it turned out that the hang is being caused by the gtk+3 package, which is bad since almost everything is using gtk+3. Now it was time to figure out what file the gtk+3 source being built by clang is causing the issue. (Compiler optimizations were ruled out already at this point.) So another set of bisecting happened, building each subdirectory of gtk+3 with clang and waiting for the hang to manifest … and it did not. What the $f?&lt;br&gt;
Okay so something else is going on and maybe the configure script of gtk+3 is doing something weird with different compilers, so I quickly did two configure runs with gcc and clang and simply diff'd the two directories. Snippets from the diff:&lt;/p&gt;

&lt;p&gt;-GDK_HIDDEN_VISIBILITY_CFLAGS = -fvisibility=hidden&lt;br&gt;
GDK_HIDDEN_VISIBILITY_CFLAGS = &lt;/p&gt;

&lt;p&gt;-lt_cv_prog_compiler_rtti_exceptions=no&lt;br&gt;
lt_cv_prog_compiler_rtti_exceptions=yes&lt;/p&gt;

&lt;p&gt;-#define &lt;em&gt;GDK_EXTERN __attribute&lt;/em&gt;_((visibility("default"))) extern&lt;/p&gt;

&lt;p&gt;-lt_prog_compiler_no_builtin_flag=' -fno-builtin'&lt;br&gt;
+lt_prog_compiler_no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'&lt;br&gt;
Okay, okay that's something, but wait … clang has symbol visibility support so what is going on again? Let's take a peek at config.log:&lt;/p&gt;

&lt;p&gt;configure:29137: checking for -fvisibility=hidden compiler flag&lt;/p&gt;

&lt;p&gt;configure:29150: cc -c -fvisibility=hidden  -I/usr/local/include -I/usr/X11R6/include conftest.c &amp;gt;&amp;amp;5&lt;br&gt;
conftest.c:82:17: error: function definition is not allowed here&lt;/p&gt;

&lt;p&gt;int main (void) { return 0; }&lt;br&gt;
              ^&lt;br&gt;
1 error generated.&lt;/p&gt;

&lt;p&gt;Okay that's clearly an error but why exactly? autoconf basically generates a huge shell script that will check for whatever you throw at it by creating a file called conftest.c and putting chunks of code into it and then trying to compile it. In this case the relevant part of the code was:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;| int&lt;br&gt;
| main ()&lt;br&gt;
| {&lt;br&gt;
| int main (void) { return 0; }&lt;br&gt;
|   ;&lt;br&gt;
|   return 0;&lt;br&gt;
| }&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is a nested function declaration which is a GNU extension and it is not supported by clang, but that's okay, the question is why the hell would you use nested functions to check for simple compiler flags. The next step was to go and check what is going on in configure.ac to see how the configure script is generated. In the gtk+3 case the following snippet is used:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;AC_MSG_CHECKING([for -fvisibility=hidden compiler flag])
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;AC_TRY_COMPILE([], [int main (void) { return 0; }],&lt;br&gt;
                  AC_MSG_RESULT(yes)&lt;br&gt;
                  enable_fvisibility_hidden=yes,&lt;br&gt;
                  AC_MSG_RESULT(no)&lt;br&gt;
                  enable_fvisibility_hidden=no)&lt;/p&gt;

&lt;p&gt;According to the autoconf manual the AC_TRY_COMPILE macro accepts the following parameters:&lt;br&gt;
That clearly states that a function body has to be specified because the function definition is already provided automatically, so doing AC_TRY_COMPILE([], [int main (void) { return 0;}], instead of AC_TRY_COMPILE([],[] will result in a nested function declaration, which will work just fine with gcc, even though the autoconf usage is wrong.&lt;br&gt;
After fixing the autoconf macro in gtk+3 and rebuilding the complete port from scratch with clang, the hang completely went away as the proper CFLAGS and LDFLAGS were picked up by autoconf for the build.&lt;br&gt;
At this point we realized that most of the ports tree uses autoconf so this issue might be a lot bigger than we thought, so I asked sthen@ to do a grep on the ports object directory and just search for "function definition is not allowed here", which resulted in about ~60 additional ports affected.&lt;br&gt;
Out of the list of ports there were only two false positive matches. These were actually trying to test whether the compiler supports nested functions. The rest were a combination of several autoconf macros used in a wrong way, e.g: AC_TRY_COMPILE, AC_TRY_LINK. Most of them were fixable by just removing the extra function declaration or by switching to other autoconf macros like AC_LANG_SOURCE where you can actually declare your own functions if need be.&lt;br&gt;
The conclusion is that this issue was a combination of people not reading documentation and just copy/pasting autoconf snippets, instead of reading their documentation and using the macros in the way they were intended, and the fact that switching to a new compiler is never easy and bugs or undefined behaviour are always lurking in the dark.&lt;br&gt;
Thanks to everyone who helped fixing all the ports up this quickly! Hopefully all of the changes can be merged upstream, so that others can benefit as well. &lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Interview - David Carlier - &lt;a href="https://twitter.com/devnexen" target="_blank" rel="nofollow noopener"&gt;@devnexen&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Software Engineer at Afilias
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://blog.databasepatterns.com/2017/08/setting-up-openbsds-ldap-server-ldapd.html" target="_blank" rel="nofollow noopener"&gt;Setting up OpenBSD's LDAP Server (ldapd) with StartTLS and SASL&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A tutorial on setting up OpenBSD’s native LDAP server with TLS encryption and SASL authentication&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenBSD has its own LDAP server, ldapd. Here's how to configure it for use with StartTLS and SASL authentication&lt;br&gt;
Create a certificate (acme-client anyone?)&lt;br&gt;
Create a basic config file&lt;br&gt;
listen on em0 tls certificate ldapserver&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This will listen on the em0 interface with tls using the certificate called ldapserver.crt / ldapserver.key&lt;/li&gt;
&lt;li&gt;Validate the configuration:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;/usr/sbin/ldapd -n&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Enable and start the service:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;rcctl enable ldapd&lt;br&gt;
rcctl start ldapd&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;On the client machine:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
pkg_add openldap-client
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Copy the certificate to /etc/ssl/trusted.crt&lt;/li&gt;
&lt;li&gt;Add this line to /etc/openldap/ldap.conf&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;TLS_CACERT    /etc/ssl/trusted.crt&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Enable and start the service&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;rcctl enable saslauthd&lt;br&gt;
rcctl start saslauthd&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Connect to ldapd (-ZZ means force TLS, use -H to specify URI): &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ldapsearch -H ldap://ldapserver -ZZ&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=324163" target="_blank" rel="nofollow noopener"&gt;FreeBSD Picks Up Support for ZFS Channel Programs in -current&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;ZFS channel programs (ZCP) adds support for performing compound ZFS administrative actions via Lua scripts in a sandboxed environment (with time and memory limits).&lt;br&gt;
This initial commit includes both base support for running ZCP scripts, and a small initial library of API calls which support getting properties and listing, destroying, and promoting datasets.&lt;br&gt;
Testing: in addition to the included unit tests, channel programs have been in use at Delphix for several months for batch destroying filesystems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Take a simple task as an example: Create a snapshot, then set a property on that snapshot. In the traditional system for this, when you issue the snapshot command, that closes the currently open transaction group (say #100), and opens a new one, #101. While #100 is being written to disk, other writes are accumulated in #101. Once #100 is flushed to disk, the ‘zfs snapshot’ command returns. You can then issue the ‘zfs set’ command. This actually ends up going into transaction group #102. Each administrative action needs to wait for the transaction group to flush, which under heavy loads could take multiple seconds. Now if you want to create AND set, you need to wait for two or three transaction groups. Meanwhile, during transaction group #101, the snapshot existed without the property set, which could cause all kinds of side effects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ZFS Channel programs solves this by allowing you to perform a small scripted set of actions as a single atomic operation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In Delphix’s appliance, they often needed to do as many as 15 operations together, which might take multiple minutes. Now with channel programs it is much faster, far safer, and has fewer chances of side effects&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.bsdcan.org/2017/schedule/events/854.en.html" target="_blank" rel="nofollow noopener"&gt;BSDCan 2017 - Matt Ahrens: Building products based on OpenZFS, using channel programs -- Video Soon&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://bravenewgeek.com/software-is-about-storytelling/" target="_blank" rel="nofollow noopener"&gt;Software Is About Storytelling&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Tyler Treat writes on the brave new geek blog:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Software engineering is more a practice in archeology than it is in building. As an industry, we undervalue storytelling and focus too much on artifacts and tools and deliverables. How many times have you been left scratching your head while looking at a piece of code, system, or process? It’s the story, the legacy left behind by that artifact, that is just as important—if not more—than the artifact itself.&lt;br&gt;
And I don’t mean what’s in the version control history—that’s often useless. I mean the real, human story behind something. Artifacts, whether that’s code or tools or something else entirely, are not just snapshots in time. They’re the result of a series of decisions, discussions, mistakes, corrections, problems, constraints, and so on.  They’re the product of the engineering process, but the problem is they usually don’t capture that process in its entirety. They rarely capture it at all. They commonly end up being nothing but a snapshot in time.&lt;br&gt;
It’s often the sign of an inexperienced engineer when someone looks at something and says, “this is stupid” or “why are they using X instead of Y?” They’re ignoring the context, the fact that circumstances may have been different. There is a story that led up to that point, a reason for why things are the way they are. If you’re lucky, the people involved are still around. Unfortunately, this is not typically the case. And so it’s not necessarily the poor engineer’s fault for wondering these things. Their predecessors haven’t done enough to make that story discoverable and share that context.&lt;br&gt;
I worked at a company that built a homegrown container PaaS on ECS. Doing that today would be insane with the plethora of container solutions available now. “Why aren’t you using Kubernetes?” Well, four years ago when we started, Kubernetes didn’t exist. Even Docker was just in its infancy. And it’s not exactly a flick of a switch to move multiple production environments to a new container runtime, not to mention the politicking with leadership to convince them it’s worth it to not ship any new code for the next quarter as we rearchitect our entire platform. Oh, and now the people behind the original solution are no longer with the company. Good luck! And this is on the timescale of about five years. That’s maybe like one generation of engineers at the company at most—nothing compared to the decades or more software usually lives (an interesting observation is that timescale, I think, is proportional to the size of an organization). Don’t underestimate momentum, but also don’t underestimate changing circumstances, even on a small time horizon.&lt;br&gt;
The point is, stop looking at technology in a vacuum. There are many facets to consider. Likewise, decisions are not made in a vacuum. Part of this is just being an empathetic engineer. The corollary to this is you don’t need to adopt every bleeding-edge tech that comes out to be successful, but the bigger point is software is about storytelling. The question you should be asking is how does your organization tell those stories? Are you deliberate or is it left to tribal knowledge and hearsay? Is it something you truly value and prioritize or simply a byproduct?&lt;br&gt;
Documentation is good, but the trouble with documentation is it’s usually haphazard and stagnant. It’s also usually documentation of how and not why. Documenting intent can go a long way, and understanding the why is a good way to develop empathy. Code survives us. There’s a fantastic talk by Bryan Cantrill on &lt;a href="https://youtu.be/4PaWFYm0kEw" target="_blank" rel="nofollow noopener"&gt;oral tradition in software engineering&lt;/a&gt; where he talks about this. People care about intent. Specifically, when you write software, people care what you think. As Bryan puts it, future generations of programmers want to understand your intent so they can abide by it, so we need to tell them what our intent was. We need to broadcast it. Good code comments are an example of this. They give you a narrative of not only what’s going on, but why. When we write software, we write it for future generations, and that’s the most underestimated thing in all of software. Documenting intent also allows you to document your values, and that allows the people who come after you to continue to uphold them.&lt;br&gt;
Storytelling in software is important. Without it, software archeology is simply the study of puzzles created by time and neglect. When an organization doesn’t record its history, it’s bound to repeat the same mistakes. A company’s memory is comprised of its people, but the fact is people churn. Knowing how you got here often helps you with getting to where you want to be. Storytelling is how we transcend generational gaps and the inevitable changing of the old guard to the new guard in a maturing engineering organization. The same is true when we expand that to the entire industry. We’re too memoryless—shipping code and not looking back, discovering everything old that is new again, and simply not appreciating our lineage.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/en-US/BSD-Users-Stockholm/" target="_blank" rel="nofollow noopener"&gt;1st BSD Users Stockholm Meetup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/3020" target="_blank" rel="nofollow noopener"&gt;Absolute FreeBSD, 3rd Edition draft completed &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/2995" target="_blank" rel="nofollow noopener"&gt;Absolute FreeBSD, 3rd Edition Table of Contents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20170824193521" target="_blank" rel="nofollow noopener"&gt;t2k17 Hackathon Report: My first time (Aaron Bieber)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.netgate.com/blog/no-plan-survives-contact-with-the-internet.html" target="_blank" rel="nofollow noopener"&gt;The release of pfSense 2.4.0 will be slightly delayed to apply patches for vulnerabilities in 3rd party packages that are part of pfSense&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1XMJYMH#wrap" target="_blank" rel="nofollow noopener"&gt;Ben writes in that zrepl is in ports now&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/334WY4T#wrap" target="_blank" rel="nofollow noopener"&gt;Peter asks us about Netflix on BSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3GSGKD3#wrap" target="_blank" rel="nofollow noopener"&gt;meka writes in about dhclient exiting&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>EuroBSDcon trip report, how to secure OpenBSDs LDAP server, ZFS channel programs in FreeBSD HEAD and why software is storytelling.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3>EuroBSDcon Trip Report</h3>

<ul>
<li>This is from Frank Moore, who has been supplying us with collections of links for the show and who we met at EuroBSDcon in Paris for the first time. Here is his trip report.</li>
</ul>

<blockquote>
<p>My attendance at the EuroBSDCon 2017 conference in Paris was sprinkled with <br>
several 'firsts'. My first visit to Paris, my first time travelling on a EuroTunnel Shuttle train and my first time at any BSD conference. Hopefully, none of these will turn out to be 'lasts'.<br>
I arrived on the Wednesday afternoon before the conference started on Thursday morning. My hotel was conveniently located close to the conference centre in Paris' 3rd arrondissement. This area is well-known as a buzzy enclave of hip cafes, eateries, independent shops, markets, modern galleries and museums. It certainly lived up to its reputation. Even better, the weather held over the course of the conference, only raining once, with the rest of the time being both warm and sunny.<br>
The first two days were taken up with attending Dr Kirk McKusick's excellent tutorial 'An Introduction to the FreeBSD Open-Source Operating System'. This is training "straight from the horse's mouth". Kirk has worked extensively on The FreeBSD operating system since the 1980's, helping to design the original BSD filesystem (FFS) and later working on UFS as well. Not only is Kirk an engaging speaker, making what could be a dry topic very interesting, he also <br>
sprinkles liberal doses of history and war stories throughout his lectures. Want to know why a protocol was designed the way that it was? Or why a system flag has a particular value or position in a record? Kirk was there and has the first-hand answer. He reminisces about his meetings and work with other Unix and BSD luminaries and debunks and confirms common myths in equal measure.<br>
Kirk's teaching style and knowledge are impressive. Every section starts with an overview and a big picture diagram before drilling down into the nitty-gritty detail. Nothing feels superfluous, and everything fits together logically. It's easy to tell that the material and its delivery have been honed over many years, but without feeling stale. Topics covered included the kernel, processes, virtual memory, threads, I/O, devices, FFS, ZFS, and networking. <br>
The slides were just as impressive, with additional notes written by a previous student and every slide containing a reference back to the relevant page(s) in the 2nd edition of Kirk's operating system book. As well as a hard copy for those that requested it, Kirk also helpfully supplied soft copies of all the training materials.<br>
The breaks in between lectures were useful for meeting the students from the other tutorials and for recovering from the inevitable information overload.<br>
It's not often that you can get to hear someone as renowned as Dr McKusick give a lecture on something as important as the FreeBSD operating system. If you have any interest in FreeBSD, Unix history, or operating systems in general, I would urge you to grab the opportunity to attend one of his lectures. You won't be disappointed.<br>
The last two days of the conference consisted of various hour-long talks by members of each of the main BSD systems. All of them were fairly evenly represented except Dragonfly BSD which unfortunately only had one talk. With three talks going on at any one time, it was often difficult to pick which one to go to. At other times there might be nothing to pique the interest. Attendance at a talk is not mandatory, so for those times when no talks looked inviting, just hanging out in one of the lobby areas with other attendees was often just as interesting and informative. <br>
The conference centre itself was certainly memorable with the interior design of an Egyptian temple or pyramid. All the classrooms were more than adequate while the main auditorium was first-class and easily held the 300+ attendees comfortably. All in all, the facilities, catering and organisation were excellent. Kudos to the EuroBSDCon team, especially Bapt and Antoine for all their hard work and hospitality.<br>
As a long-time watcher and occasional contributor to the BSD Now podcast it was good to meet both Allan and Benedict in the flesh. And having done some proofreading for Michael Lucas previously, it was nice to finally meet him as well.<br>
My one suggestion to the organisers of the next conference would be to provide more <br>
hand-holding for newbies. As a first-time attendee at a BSD conference it would have been nice to have been formally introduced to various people within the projects as the goto people for their areas. I could do this myself, but it's not always easy finding the right person and wrangling an introduction. I also think it was a missed opportunity for each project to recruit new developers to their cause. Apparently, this is already in place at BSDCan, but should probably be rolled out across all BSD conferences.<br>
Having said all that, my aims for the conference were to take Dr McKusick's course, meet a few BSD people and make contacts within one of the BSD projects to start contributing. I was successful on all these fronts, so for me this was mission accomplished. Another first!</p>

<hr>
</blockquote>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20170930133438" target="_blank" rel="nofollow noopener">autoconf/clang (No) Fun and Games</a></h3>

<ul>
<li>Robert Nagy (robert@) wrote in with a fascinating story of hunting down a recent problem with ports:</li>
</ul>

<blockquote>
<p>You might have been noticing the amount of commits to ports regarding autoconf and nested functions and asking yourself what the hell is this all about?<br>
I was hanging out at my friend Antoine (ajacoutot@)'s place just before EuroBSDCon 2017 started and we were having drinks and he told me that there is this weird bug where Gnome hangs completely after just a couple of seconds of usage and the gnome-shell process just sits in the fsleep state. This started to happen at the time when inteldrm(4) was updated, the default compiler was switched to clang(1) and futexes were turned on by default.<br>
The next day we started to have a look at the issue and since the process was hanging in fsleep, it seemed clear that the cause must be futexes, so we had to start bisecting the base system, which resulted in random success and failure. In the end we figured out that it is neither futex nor inteldrm(4) related, so the only thing that was left is the switch to clang.<br>
Now the problem is that we have to figure out what part of the system needs to be build with clang to trigger this issue, so we kept on going and systematically recompiled the base system with gcc until everything was ruled out  and it kept on hanging.<br>
We were drunk and angry that now we have to go and check hundreds of ports because gnome is not a small standalone port, so between two bottles of wine a build VM was fired up to do a package build with gcc, because manually building all the dependencies would just take too long and we had spent almost two days on this already.<br>
Next day ~200 packages were available to bisect and figure out what's going on. After a couple of tries it turned out that the hang is being caused by the gtk+3 package, which is bad since almost everything is using gtk+3. Now it was time to figure out what file the gtk+3 source being built by clang is causing the issue. (Compiler optimizations were ruled out already at this point.) So another set of bisecting happened, building each subdirectory of gtk+3 with clang and waiting for the hang to manifest  and it did not. What the $f?<br>
Okay so something else is going on and maybe the configure script of gtk+3 is doing something weird with different compilers, so I quickly did two configure runs with gcc and clang and simply diff'd the two directories. Snippets from the diff:</p>

<p>-GDK_HIDDEN_VISIBILITY_CFLAGS = -fvisibility=hidden<br>
GDK_HIDDEN_VISIBILITY_CFLAGS = </p>

<p>-lt_cv_prog_compiler_rtti_exceptions=no<br>
lt_cv_prog_compiler_rtti_exceptions=yes</p>

<p>-#define <em>GDK_EXTERN __attribute</em>_((visibility("default"))) extern</p>

<p>-lt_prog_compiler_no_builtin_flag=' -fno-builtin'<br>
+lt_prog_compiler_no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'<br>
Okay, okay that's something, but wait  clang has symbol visibility support so what is going on again? Let's take a peek at config.log:</p>

<p>configure:29137: checking for -fvisibility=hidden compiler flag</p>

<p>configure:29150: cc -c -fvisibility=hidden  -I/usr/local/include -I/usr/X11R6/include conftest.c &gt;&amp;5<br>
conftest.c:82:17: error: function definition is not allowed here</p>

<p>int main (void) { return 0; }<br>
              ^<br>
1 error generated.</p>

<p>Okay that's clearly an error but why exactly? autoconf basically generates a huge shell script that will check for whatever you throw at it by creating a file called conftest.c and putting chunks of code into it and then trying to compile it. In this case the relevant part of the code was:</p>

<blockquote>
<p>| int<br>
| main ()<br>
| {<br>
| int main (void) { return 0; }<br>
|   ;<br>
|   return 0;<br>
| }</p>
</blockquote>

<p>That is a nested function declaration which is a GNU extension and it is not supported by clang, but that's okay, the question is why the hell would you use nested functions to check for simple compiler flags. The next step was to go and check what is going on in configure.ac to see how the configure script is generated. In the gtk+3 case the following snippet is used:</p>

<pre><code>AC_MSG_CHECKING([for -fvisibility=hidden compiler flag])
</code></pre>

<p>AC_TRY_COMPILE([], [int main (void) { return 0; }],<br>
                  AC_MSG_RESULT(yes)<br>
                  enable_fvisibility_hidden=yes,<br>
                  AC_MSG_RESULT(no)<br>
                  enable_fvisibility_hidden=no)</p>

<p>According to the autoconf manual the AC_TRY_COMPILE macro accepts the following parameters:<br>
That clearly states that a function body has to be specified because the function definition is already provided automatically, so doing AC_TRY_COMPILE([], [int main (void) { return 0;}], instead of AC_TRY_COMPILE([],[] will result in a nested function declaration, which will work just fine with gcc, even though the autoconf usage is wrong.<br>
After fixing the autoconf macro in gtk+3 and rebuilding the complete port from scratch with clang, the hang completely went away as the proper CFLAGS and LDFLAGS were picked up by autoconf for the build.<br>
At this point we realized that most of the ports tree uses autoconf so this issue might be a lot bigger than we thought, so I asked sthen@ to do a grep on the ports object directory and just search for "function definition is not allowed here", which resulted in about ~60 additional ports affected.<br>
Out of the list of ports there were only two false positive matches. These were actually trying to test whether the compiler supports nested functions. The rest were a combination of several autoconf macros used in a wrong way, e.g: AC_TRY_COMPILE, AC_TRY_LINK. Most of them were fixable by just removing the extra function declaration or by switching to other autoconf macros like AC_LANG_SOURCE where you can actually declare your own functions if need be.<br>
The conclusion is that this issue was a combination of people not reading documentation and just copy/pasting autoconf snippets, instead of reading their documentation and using the macros in the way they were intended, and the fact that switching to a new compiler is never easy and bugs or undefined behaviour are always lurking in the dark.<br>
Thanks to everyone who helped fixing all the ports up this quickly! Hopefully all of the changes can be merged upstream, so that others can benefit as well. </p>

<hr>
</blockquote>

<h2>Interview - David Carlier - <a href="https://twitter.com/devnexen" target="_blank" rel="nofollow noopener">@devnexen</a></h2>

<ul>
<li>Software Engineer at Afilias
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://blog.databasepatterns.com/2017/08/setting-up-openbsds-ldap-server-ldapd.html" target="_blank" rel="nofollow noopener">Setting up OpenBSD's LDAP Server (ldapd) with StartTLS and SASL</a></h3>

<ul>
<li>A tutorial on setting up OpenBSDs native LDAP server with TLS encryption and SASL authentication</li>
</ul>

<blockquote>
<p>OpenBSD has its own LDAP server, ldapd. Here's how to configure it for use with StartTLS and SASL authentication<br>
Create a certificate (acme-client anyone?)<br>
Create a basic config file<br>
listen on em0 tls certificate ldapserver</p>
</blockquote>

<ul>
<li>This will listen on the em0 interface with tls using the certificate called ldapserver.crt / ldapserver.key</li>
<li>Validate the configuration:</li>
</ul>

<blockquote>
<p>/usr/sbin/ldapd -n</p>
</blockquote>

<ul>
<li>Enable and start the service:</li>
</ul>

<blockquote>
<p>rcctl enable ldapd<br>
rcctl start ldapd</p>
</blockquote>

<ul>
<li>On the client machine:</li>
</ul>

<blockquote>
pkg_add openldap-client
</blockquote>

<ul>
<li>Copy the certificate to /etc/ssl/trusted.crt</li>
<li>Add this line to /etc/openldap/ldap.conf</li>
</ul>

<blockquote>
<p>TLS_CACERT    /etc/ssl/trusted.crt</p>
</blockquote>

<ul>
<li>Enable and start the service</li>
</ul>

<blockquote>
<p>rcctl enable saslauthd<br>
rcctl start saslauthd</p>
</blockquote>

<ul>
<li>Connect to ldapd (-ZZ means force TLS, use -H to specify URI): </li>
</ul>

<blockquote>
<p>ldapsearch -H ldap://ldapserver -ZZ</p>

<hr>
</blockquote>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=324163" target="_blank" rel="nofollow noopener">FreeBSD Picks Up Support for ZFS Channel Programs in -current</a></h3>

<blockquote>
<p>ZFS channel programs (ZCP) adds support for performing compound ZFS administrative actions via Lua scripts in a sandboxed environment (with time and memory limits).<br>
This initial commit includes both base support for running ZCP scripts, and a small initial library of API calls which support getting properties and listing, destroying, and promoting datasets.<br>
Testing: in addition to the included unit tests, channel programs have been in use at Delphix for several months for batch destroying filesystems.</p>
</blockquote>

<ul>
<li><p>Take a simple task as an example: Create a snapshot, then set a property on that snapshot. In the traditional system for this, when you issue the snapshot command, that closes the currently open transaction group (say #100), and opens a new one, #101. While #100 is being written to disk, other writes are accumulated in #101. Once #100 is flushed to disk, the zfs snapshot command returns. You can then issue the zfs set command. This actually ends up going into transaction group #102. Each administrative action needs to wait for the transaction group to flush, which under heavy loads could take multiple seconds. Now if you want to create AND set, you need to wait for two or three transaction groups. Meanwhile, during transaction group #101, the snapshot existed without the property set, which could cause all kinds of side effects.</p></li>
<li><p>ZFS Channel programs solves this by allowing you to perform a small scripted set of actions as a single atomic operation.</p></li>
<li><p>In Delphixs appliance, they often needed to do as many as 15 operations together, which might take multiple minutes. Now with channel programs it is much faster, far safer, and has fewer chances of side effects</p></li>
<li><p><a href="http://www.bsdcan.org/2017/schedule/events/854.en.html" target="_blank" rel="nofollow noopener">BSDCan 2017 - Matt Ahrens: Building products based on OpenZFS, using channel programs -- Video Soon</a></p>

<hr></li>
</ul>

<h3><a href="http://bravenewgeek.com/software-is-about-storytelling/" target="_blank" rel="nofollow noopener">Software Is About Storytelling</a></h3>

<ul>
<li>Tyler Treat writes on the brave new geek blog:</li>
</ul>

<blockquote>
<p>Software engineering is more a practice in archeology than it is in building. As an industry, we undervalue storytelling and focus too much on artifacts and tools and deliverables. How many times have you been left scratching your head while looking at a piece of code, system, or process? Its the story, the legacy left behind by that artifact, that is just as importantif not morethan the artifact itself.<br>
And I dont mean whats in the version control historythats often useless. I mean the real, human story behind something. Artifacts, whether thats code or tools or something else entirely, are not just snapshots in time. Theyre the result of a series of decisions, discussions, mistakes, corrections, problems, constraints, and so on.  Theyre the product of the engineering process, but the problem is they usually dont capture that process in its entirety. They rarely capture it at all. They commonly end up being nothing but a snapshot in time.<br>
Its often the sign of an inexperienced engineer when someone looks at something and says, this is stupid or why are they using X instead of Y? Theyre ignoring the context, the fact that circumstances may have been different. There is a story that led up to that point, a reason for why things are the way they are. If youre lucky, the people involved are still around. Unfortunately, this is not typically the case. And so its not necessarily the poor engineers fault for wondering these things. Their predecessors havent done enough to make that story discoverable and share that context.<br>
I worked at a company that built a homegrown container PaaS on ECS. Doing that today would be insane with the plethora of container solutions available now. Why arent you using Kubernetes? Well, four years ago when we started, Kubernetes didnt exist. Even Docker was just in its infancy. And its not exactly a flick of a switch to move multiple production environments to a new container runtime, not to mention the politicking with leadership to convince them its worth it to not ship any new code for the next quarter as we rearchitect our entire platform. Oh, and now the people behind the original solution are no longer with the company. Good luck! And this is on the timescale of about five years. Thats maybe like one generation of engineers at the company at mostnothing compared to the decades or more software usually lives (an interesting observation is that timescale, I think, is proportional to the size of an organization). Dont underestimate momentum, but also dont underestimate changing circumstances, even on a small time horizon.<br>
The point is, stop looking at technology in a vacuum. There are many facets to consider. Likewise, decisions are not made in a vacuum. Part of this is just being an empathetic engineer. The corollary to this is you dont need to adopt every bleeding-edge tech that comes out to be successful, but the bigger point is software is about storytelling. The question you should be asking is how does your organization tell those stories? Are you deliberate or is it left to tribal knowledge and hearsay? Is it something you truly value and prioritize or simply a byproduct?<br>
Documentation is good, but the trouble with documentation is its usually haphazard and stagnant. Its also usually documentation of how and not why. Documenting intent can go a long way, and understanding the why is a good way to develop empathy. Code survives us. Theres a fantastic talk by Bryan Cantrill on <a href="https://youtu.be/4PaWFYm0kEw" target="_blank" rel="nofollow noopener">oral tradition in software engineering</a> where he talks about this. People care about intent. Specifically, when you write software, people care what you think. As Bryan puts it, future generations of programmers want to understand your intent so they can abide by it, so we need to tell them what our intent was. We need to broadcast it. Good code comments are an example of this. They give you a narrative of not only whats going on, but why. When we write software, we write it for future generations, and thats the most underestimated thing in all of software. Documenting intent also allows you to document your values, and that allows the people who come after you to continue to uphold them.<br>
Storytelling in software is important. Without it, software archeology is simply the study of puzzles created by time and neglect. When an organization doesnt record its history, its bound to repeat the same mistakes. A companys memory is comprised of its people, but the fact is people churn. Knowing how you got here often helps you with getting to where you want to be. Storytelling is how we transcend generational gaps and the inevitable changing of the old guard to the new guard in a maturing engineering organization. The same is true when we expand that to the entire industry. Were too memorylessshipping code and not looking back, discovering everything old that is new again, and simply not appreciating our lineage.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.meetup.com/en-US/BSD-Users-Stockholm/" target="_blank" rel="nofollow noopener">1st BSD Users Stockholm Meetup</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3020" target="_blank" rel="nofollow noopener">Absolute FreeBSD, 3rd Edition draft completed </a></li>
<li><a href="https://blather.michaelwlucas.com/archives/2995" target="_blank" rel="nofollow noopener">Absolute FreeBSD, 3rd Edition Table of Contents</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20170824193521" target="_blank" rel="nofollow noopener">t2k17 Hackathon Report: My first time (Aaron Bieber)</a></li>
<li><a href="https://www.netgate.com/blog/no-plan-survives-contact-with-the-internet.html" target="_blank" rel="nofollow noopener">The release of pfSense 2.4.0 will be slightly delayed to apply patches for vulnerabilities in 3rd party packages that are part of pfSense</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/1XMJYMH#wrap" target="_blank" rel="nofollow noopener">Ben writes in that zrepl is in ports now</a></li>
<li><a href="http://dpaste.com/334WY4T#wrap" target="_blank" rel="nofollow noopener">Peter asks us about Netflix on BSD</a></li>
<li><a href="http://dpaste.com/3GSGKD3#wrap" target="_blank" rel="nofollow noopener">meka writes in about dhclient exiting</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>EuroBSDcon trip report, how to secure OpenBSDs LDAP server, ZFS channel programs in FreeBSD HEAD and why software is storytelling.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3>EuroBSDcon Trip Report</h3>

<ul>
<li>This is from Frank Moore, who has been supplying us with collections of links for the show and who we met at EuroBSDcon in Paris for the first time. Here is his trip report.</li>
</ul>

<blockquote>
<p>My attendance at the EuroBSDCon 2017 conference in Paris was sprinkled with <br>
several 'firsts'. My first visit to Paris, my first time travelling on a EuroTunnel Shuttle train and my first time at any BSD conference. Hopefully, none of these will turn out to be 'lasts'.<br>
I arrived on the Wednesday afternoon before the conference started on Thursday morning. My hotel was conveniently located close to the conference centre in Paris' 3rd arrondissement. This area is well-known as a buzzy enclave of hip cafes, eateries, independent shops, markets, modern galleries and museums. It certainly lived up to its reputation. Even better, the weather held over the course of the conference, only raining once, with the rest of the time being both warm and sunny.<br>
The first two days were taken up with attending Dr Kirk McKusick's excellent tutorial 'An Introduction to the FreeBSD Open-Source Operating System'. This is training "straight from the horse's mouth". Kirk has worked extensively on The FreeBSD operating system since the 1980's, helping to design the original BSD filesystem (FFS) and later working on UFS as well. Not only is Kirk an engaging speaker, making what could be a dry topic very interesting, he also <br>
sprinkles liberal doses of history and war stories throughout his lectures. Want to know why a protocol was designed the way that it was? Or why a system flag has a particular value or position in a record? Kirk was there and has the first-hand answer. He reminisces about his meetings and work with other Unix and BSD luminaries and debunks and confirms common myths in equal measure.<br>
Kirk's teaching style and knowledge are impressive. Every section starts with an overview and a big picture diagram before drilling down into the nitty-gritty detail. Nothing feels superfluous, and everything fits together logically. It's easy to tell that the material and its delivery have been honed over many years, but without feeling stale. Topics covered included the kernel, processes, virtual memory, threads, I/O, devices, FFS, ZFS, and networking. <br>
The slides were just as impressive, with additional notes written by a previous student and every slide containing a reference back to the relevant page(s) in the 2nd edition of Kirk's operating system book. As well as a hard copy for those that requested it, Kirk also helpfully supplied soft copies of all the training materials.<br>
The breaks in between lectures were useful for meeting the students from the other tutorials and for recovering from the inevitable information overload.<br>
It's not often that you can get to hear someone as renowned as Dr McKusick give a lecture on something as important as the FreeBSD operating system. If you have any interest in FreeBSD, Unix history, or operating systems in general, I would urge you to grab the opportunity to attend one of his lectures. You won't be disappointed.<br>
The last two days of the conference consisted of various hour-long talks by members of each of the main BSD systems. All of them were fairly evenly represented except Dragonfly BSD which unfortunately only had one talk. With three talks going on at any one time, it was often difficult to pick which one to go to. At other times there might be nothing to pique the interest. Attendance at a talk is not mandatory, so for those times when no talks looked inviting, just hanging out in one of the lobby areas with other attendees was often just as interesting and informative. <br>
The conference centre itself was certainly memorable with the interior design of an Egyptian temple or pyramid. All the classrooms were more than adequate while the main auditorium was first-class and easily held the 300+ attendees comfortably. All in all, the facilities, catering and organisation were excellent. Kudos to the EuroBSDCon team, especially Bapt and Antoine for all their hard work and hospitality.<br>
As a long-time watcher and occasional contributor to the BSD Now podcast it was good to meet both Allan and Benedict in the flesh. And having done some proofreading for Michael Lucas previously, it was nice to finally meet him as well.<br>
My one suggestion to the organisers of the next conference would be to provide more <br>
hand-holding for newbies. As a first-time attendee at a BSD conference it would have been nice to have been formally introduced to various people within the projects as the goto people for their areas. I could do this myself, but it's not always easy finding the right person and wrangling an introduction. I also think it was a missed opportunity for each project to recruit new developers to their cause. Apparently, this is already in place at BSDCan, but should probably be rolled out across all BSD conferences.<br>
Having said all that, my aims for the conference were to take Dr McKusick's course, meet a few BSD people and make contacts within one of the BSD projects to start contributing. I was successful on all these fronts, so for me this was mission accomplished. Another first!</p>

<hr>
</blockquote>

<h3><a href="https://undeadly.org/cgi?action=article;sid=20170930133438" target="_blank" rel="nofollow noopener">autoconf/clang (No) Fun and Games</a></h3>

<ul>
<li>Robert Nagy (robert@) wrote in with a fascinating story of hunting down a recent problem with ports:</li>
</ul>

<blockquote>
<p>You might have been noticing the amount of commits to ports regarding autoconf and nested functions and asking yourself what the hell is this all about?<br>
I was hanging out at my friend Antoine (ajacoutot@)'s place just before EuroBSDCon 2017 started and we were having drinks and he told me that there is this weird bug where Gnome hangs completely after just a couple of seconds of usage and the gnome-shell process just sits in the fsleep state. This started to happen at the time when inteldrm(4) was updated, the default compiler was switched to clang(1) and futexes were turned on by default.<br>
The next day we started to have a look at the issue and since the process was hanging in fsleep, it seemed clear that the cause must be futexes, so we had to start bisecting the base system, which resulted in random success and failure. In the end we figured out that it is neither futex nor inteldrm(4) related, so the only thing that was left is the switch to clang.<br>
Now the problem is that we have to figure out what part of the system needs to be build with clang to trigger this issue, so we kept on going and systematically recompiled the base system with gcc until everything was ruled out  and it kept on hanging.<br>
We were drunk and angry that now we have to go and check hundreds of ports because gnome is not a small standalone port, so between two bottles of wine a build VM was fired up to do a package build with gcc, because manually building all the dependencies would just take too long and we had spent almost two days on this already.<br>
Next day ~200 packages were available to bisect and figure out what's going on. After a couple of tries it turned out that the hang is being caused by the gtk+3 package, which is bad since almost everything is using gtk+3. Now it was time to figure out what file the gtk+3 source being built by clang is causing the issue. (Compiler optimizations were ruled out already at this point.) So another set of bisecting happened, building each subdirectory of gtk+3 with clang and waiting for the hang to manifest  and it did not. What the $f?<br>
Okay so something else is going on and maybe the configure script of gtk+3 is doing something weird with different compilers, so I quickly did two configure runs with gcc and clang and simply diff'd the two directories. Snippets from the diff:</p>

<p>-GDK_HIDDEN_VISIBILITY_CFLAGS = -fvisibility=hidden<br>
GDK_HIDDEN_VISIBILITY_CFLAGS = </p>

<p>-lt_cv_prog_compiler_rtti_exceptions=no<br>
lt_cv_prog_compiler_rtti_exceptions=yes</p>

<p>-#define <em>GDK_EXTERN __attribute</em>_((visibility("default"))) extern</p>

<p>-lt_prog_compiler_no_builtin_flag=' -fno-builtin'<br>
+lt_prog_compiler_no_builtin_flag=' -fno-builtin -fno-rtti -fno-exceptions'<br>
Okay, okay that's something, but wait  clang has symbol visibility support so what is going on again? Let's take a peek at config.log:</p>

<p>configure:29137: checking for -fvisibility=hidden compiler flag</p>

<p>configure:29150: cc -c -fvisibility=hidden  -I/usr/local/include -I/usr/X11R6/include conftest.c &gt;&amp;5<br>
conftest.c:82:17: error: function definition is not allowed here</p>

<p>int main (void) { return 0; }<br>
              ^<br>
1 error generated.</p>

<p>Okay that's clearly an error but why exactly? autoconf basically generates a huge shell script that will check for whatever you throw at it by creating a file called conftest.c and putting chunks of code into it and then trying to compile it. In this case the relevant part of the code was:</p>

<blockquote>
<p>| int<br>
| main ()<br>
| {<br>
| int main (void) { return 0; }<br>
|   ;<br>
|   return 0;<br>
| }</p>
</blockquote>

<p>That is a nested function declaration which is a GNU extension and it is not supported by clang, but that's okay, the question is why the hell would you use nested functions to check for simple compiler flags. The next step was to go and check what is going on in configure.ac to see how the configure script is generated. In the gtk+3 case the following snippet is used:</p>

<pre><code>AC_MSG_CHECKING([for -fvisibility=hidden compiler flag])
</code></pre>

<p>AC_TRY_COMPILE([], [int main (void) { return 0; }],<br>
                  AC_MSG_RESULT(yes)<br>
                  enable_fvisibility_hidden=yes,<br>
                  AC_MSG_RESULT(no)<br>
                  enable_fvisibility_hidden=no)</p>

<p>According to the autoconf manual the AC_TRY_COMPILE macro accepts the following parameters:<br>
That clearly states that a function body has to be specified because the function definition is already provided automatically, so doing AC_TRY_COMPILE([], [int main (void) { return 0;}], instead of AC_TRY_COMPILE([],[] will result in a nested function declaration, which will work just fine with gcc, even though the autoconf usage is wrong.<br>
After fixing the autoconf macro in gtk+3 and rebuilding the complete port from scratch with clang, the hang completely went away as the proper CFLAGS and LDFLAGS were picked up by autoconf for the build.<br>
At this point we realized that most of the ports tree uses autoconf so this issue might be a lot bigger than we thought, so I asked sthen@ to do a grep on the ports object directory and just search for "function definition is not allowed here", which resulted in about ~60 additional ports affected.<br>
Out of the list of ports there were only two false positive matches. These were actually trying to test whether the compiler supports nested functions. The rest were a combination of several autoconf macros used in a wrong way, e.g: AC_TRY_COMPILE, AC_TRY_LINK. Most of them were fixable by just removing the extra function declaration or by switching to other autoconf macros like AC_LANG_SOURCE where you can actually declare your own functions if need be.<br>
The conclusion is that this issue was a combination of people not reading documentation and just copy/pasting autoconf snippets, instead of reading their documentation and using the macros in the way they were intended, and the fact that switching to a new compiler is never easy and bugs or undefined behaviour are always lurking in the dark.<br>
Thanks to everyone who helped fixing all the ports up this quickly! Hopefully all of the changes can be merged upstream, so that others can benefit as well. </p>

<hr>
</blockquote>

<h2>Interview - David Carlier - <a href="https://twitter.com/devnexen" target="_blank" rel="nofollow noopener">@devnexen</a></h2>

<ul>
<li>Software Engineer at Afilias
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://blog.databasepatterns.com/2017/08/setting-up-openbsds-ldap-server-ldapd.html" target="_blank" rel="nofollow noopener">Setting up OpenBSD's LDAP Server (ldapd) with StartTLS and SASL</a></h3>

<ul>
<li>A tutorial on setting up OpenBSDs native LDAP server with TLS encryption and SASL authentication</li>
</ul>

<blockquote>
<p>OpenBSD has its own LDAP server, ldapd. Here's how to configure it for use with StartTLS and SASL authentication<br>
Create a certificate (acme-client anyone?)<br>
Create a basic config file<br>
listen on em0 tls certificate ldapserver</p>
</blockquote>

<ul>
<li>This will listen on the em0 interface with tls using the certificate called ldapserver.crt / ldapserver.key</li>
<li>Validate the configuration:</li>
</ul>

<blockquote>
<p>/usr/sbin/ldapd -n</p>
</blockquote>

<ul>
<li>Enable and start the service:</li>
</ul>

<blockquote>
<p>rcctl enable ldapd<br>
rcctl start ldapd</p>
</blockquote>

<ul>
<li>On the client machine:</li>
</ul>

<blockquote>
pkg_add openldap-client
</blockquote>

<ul>
<li>Copy the certificate to /etc/ssl/trusted.crt</li>
<li>Add this line to /etc/openldap/ldap.conf</li>
</ul>

<blockquote>
<p>TLS_CACERT    /etc/ssl/trusted.crt</p>
</blockquote>

<ul>
<li>Enable and start the service</li>
</ul>

<blockquote>
<p>rcctl enable saslauthd<br>
rcctl start saslauthd</p>
</blockquote>

<ul>
<li>Connect to ldapd (-ZZ means force TLS, use -H to specify URI): </li>
</ul>

<blockquote>
<p>ldapsearch -H ldap://ldapserver -ZZ</p>

<hr>
</blockquote>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=324163" target="_blank" rel="nofollow noopener">FreeBSD Picks Up Support for ZFS Channel Programs in -current</a></h3>

<blockquote>
<p>ZFS channel programs (ZCP) adds support for performing compound ZFS administrative actions via Lua scripts in a sandboxed environment (with time and memory limits).<br>
This initial commit includes both base support for running ZCP scripts, and a small initial library of API calls which support getting properties and listing, destroying, and promoting datasets.<br>
Testing: in addition to the included unit tests, channel programs have been in use at Delphix for several months for batch destroying filesystems.</p>
</blockquote>

<ul>
<li><p>Take a simple task as an example: Create a snapshot, then set a property on that snapshot. In the traditional system for this, when you issue the snapshot command, that closes the currently open transaction group (say #100), and opens a new one, #101. While #100 is being written to disk, other writes are accumulated in #101. Once #100 is flushed to disk, the zfs snapshot command returns. You can then issue the zfs set command. This actually ends up going into transaction group #102. Each administrative action needs to wait for the transaction group to flush, which under heavy loads could take multiple seconds. Now if you want to create AND set, you need to wait for two or three transaction groups. Meanwhile, during transaction group #101, the snapshot existed without the property set, which could cause all kinds of side effects.</p></li>
<li><p>ZFS Channel programs solves this by allowing you to perform a small scripted set of actions as a single atomic operation.</p></li>
<li><p>In Delphixs appliance, they often needed to do as many as 15 operations together, which might take multiple minutes. Now with channel programs it is much faster, far safer, and has fewer chances of side effects</p></li>
<li><p><a href="http://www.bsdcan.org/2017/schedule/events/854.en.html" target="_blank" rel="nofollow noopener">BSDCan 2017 - Matt Ahrens: Building products based on OpenZFS, using channel programs -- Video Soon</a></p>

<hr></li>
</ul>

<h3><a href="http://bravenewgeek.com/software-is-about-storytelling/" target="_blank" rel="nofollow noopener">Software Is About Storytelling</a></h3>

<ul>
<li>Tyler Treat writes on the brave new geek blog:</li>
</ul>

<blockquote>
<p>Software engineering is more a practice in archeology than it is in building. As an industry, we undervalue storytelling and focus too much on artifacts and tools and deliverables. How many times have you been left scratching your head while looking at a piece of code, system, or process? Its the story, the legacy left behind by that artifact, that is just as importantif not morethan the artifact itself.<br>
And I dont mean whats in the version control historythats often useless. I mean the real, human story behind something. Artifacts, whether thats code or tools or something else entirely, are not just snapshots in time. Theyre the result of a series of decisions, discussions, mistakes, corrections, problems, constraints, and so on.  Theyre the product of the engineering process, but the problem is they usually dont capture that process in its entirety. They rarely capture it at all. They commonly end up being nothing but a snapshot in time.<br>
Its often the sign of an inexperienced engineer when someone looks at something and says, this is stupid or why are they using X instead of Y? Theyre ignoring the context, the fact that circumstances may have been different. There is a story that led up to that point, a reason for why things are the way they are. If youre lucky, the people involved are still around. Unfortunately, this is not typically the case. And so its not necessarily the poor engineers fault for wondering these things. Their predecessors havent done enough to make that story discoverable and share that context.<br>
I worked at a company that built a homegrown container PaaS on ECS. Doing that today would be insane with the plethora of container solutions available now. Why arent you using Kubernetes? Well, four years ago when we started, Kubernetes didnt exist. Even Docker was just in its infancy. And its not exactly a flick of a switch to move multiple production environments to a new container runtime, not to mention the politicking with leadership to convince them its worth it to not ship any new code for the next quarter as we rearchitect our entire platform. Oh, and now the people behind the original solution are no longer with the company. Good luck! And this is on the timescale of about five years. Thats maybe like one generation of engineers at the company at mostnothing compared to the decades or more software usually lives (an interesting observation is that timescale, I think, is proportional to the size of an organization). Dont underestimate momentum, but also dont underestimate changing circumstances, even on a small time horizon.<br>
The point is, stop looking at technology in a vacuum. There are many facets to consider. Likewise, decisions are not made in a vacuum. Part of this is just being an empathetic engineer. The corollary to this is you dont need to adopt every bleeding-edge tech that comes out to be successful, but the bigger point is software is about storytelling. The question you should be asking is how does your organization tell those stories? Are you deliberate or is it left to tribal knowledge and hearsay? Is it something you truly value and prioritize or simply a byproduct?<br>
Documentation is good, but the trouble with documentation is its usually haphazard and stagnant. Its also usually documentation of how and not why. Documenting intent can go a long way, and understanding the why is a good way to develop empathy. Code survives us. Theres a fantastic talk by Bryan Cantrill on <a href="https://youtu.be/4PaWFYm0kEw" target="_blank" rel="nofollow noopener">oral tradition in software engineering</a> where he talks about this. People care about intent. Specifically, when you write software, people care what you think. As Bryan puts it, future generations of programmers want to understand your intent so they can abide by it, so we need to tell them what our intent was. We need to broadcast it. Good code comments are an example of this. They give you a narrative of not only whats going on, but why. When we write software, we write it for future generations, and thats the most underestimated thing in all of software. Documenting intent also allows you to document your values, and that allows the people who come after you to continue to uphold them.<br>
Storytelling in software is important. Without it, software archeology is simply the study of puzzles created by time and neglect. When an organization doesnt record its history, its bound to repeat the same mistakes. A companys memory is comprised of its people, but the fact is people churn. Knowing how you got here often helps you with getting to where you want to be. Storytelling is how we transcend generational gaps and the inevitable changing of the old guard to the new guard in a maturing engineering organization. The same is true when we expand that to the entire industry. Were too memorylessshipping code and not looking back, discovering everything old that is new again, and simply not appreciating our lineage.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.meetup.com/en-US/BSD-Users-Stockholm/" target="_blank" rel="nofollow noopener">1st BSD Users Stockholm Meetup</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/3020" target="_blank" rel="nofollow noopener">Absolute FreeBSD, 3rd Edition draft completed </a></li>
<li><a href="https://blather.michaelwlucas.com/archives/2995" target="_blank" rel="nofollow noopener">Absolute FreeBSD, 3rd Edition Table of Contents</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20170824193521" target="_blank" rel="nofollow noopener">t2k17 Hackathon Report: My first time (Aaron Bieber)</a></li>
<li><a href="https://www.netgate.com/blog/no-plan-survives-contact-with-the-internet.html" target="_blank" rel="nofollow noopener">The release of pfSense 2.4.0 will be slightly delayed to apply patches for vulnerabilities in 3rd party packages that are part of pfSense</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/1XMJYMH#wrap" target="_blank" rel="nofollow noopener">Ben writes in that zrepl is in ports now</a></li>
<li><a href="http://dpaste.com/334WY4T#wrap" target="_blank" rel="nofollow noopener">Peter asks us about Netflix on BSD</a></li>
<li><a href="http://dpaste.com/3GSGKD3#wrap" target="_blank" rel="nofollow noopener">meka writes in about dhclient exiting</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>215: Turning FreeBSD up to 100 Gbps</title>
  <link>https://www.bsdnow.tv/215</link>
  <guid isPermaLink="false">6b1d62bd-687d-46b1-afc8-3934b133d075</guid>
  <pubDate>Wed, 11 Oct 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6b1d62bd-687d-46b1-afc8-3934b133d075.mp3" length="67385524" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We look at how Netflix serves 100 Gbps from an Open Connect Appliance, read through the 2nd quarter FreeBSD status report, show you a freebsd-update speedup via nginx reverse proxy, and customize your OpenBSD default shell.</itunes:subtitle>
  <itunes:duration>1:33:35</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>&lt;p&gt;We look at how Netflix serves 100 Gbps from an Open Connect Appliance, read through the 2nd quarter FreeBSD status report, show you a freebsd-update speedup via nginx reverse proxy, and customize your OpenBSD default shell.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://medium.com/netflix-techblog/serving-100-gbps-from-an-open-connect-appliance-cdb51dda3b99" target="_blank" rel="nofollow noopener"&gt;Serving 100 Gbps from an Open Connect Appliance&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In the summer of 2015, the Netflix Open Connect CDN team decided to take on an ambitious project. The goal was to leverage the new 100GbE network interface technology just coming to market in order to be able to serve at 100 Gbps from a single FreeBSD-based Open Connect Appliance (OCA) using NVM Express (NVMe)-based storage.&lt;br&gt;
At the time, the bulk of our flash storage-based appliances were close to being CPU limited serving at 40 Gbps using single-socket Xeon E5–2697v2. The first step was to find the CPU bottlenecks in the existing platform while we waited for newer CPUs from Intel, newer motherboards with PCIe Gen3 x16 slots that could run the new Mellanox 100GbE NICs at full speed, and for systems with NVMe drives.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Fake NUMA&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Normally, most of an OCA’s content is served from disk, with only 10–20% of the most popular titles being served from memory (see our previous blog, &lt;a href="https://medium.com/@NetflixTechBlog/content-popularity-for-open-connect-b86d56f613b" target="_blank" rel="nofollow noopener"&gt;Content Popularity for Open Connect&lt;/a&gt; for details). However, our early pre-NVMe prototypes were limited by disk bandwidth. So we set up a contrived experiment where we served only the very most popular content on a test server. This allowed all content to fit in RAM and therefore avoid the temporary disk bottleneck. Surprisingly, the performance actually dropped from being CPU limited at 40 Gbps to being CPU limited at only 22 Gbps!&lt;br&gt;
The ultimate solution we came up with is what we call “Fake NUMA”. This approach takes advantage of the fact that there is one set of page queues per NUMA domain. All we had to do was to lie to the system and tell it that we have one Fake NUMA domain for every 2 CPUs. After we did this, our lock contention nearly disappeared and we were able to serve at 52 Gbps (limited by the PCIe Gen3 x8 slot) with substantial CPU idle time.&lt;br&gt;
After we had newer prototype machines, with an Intel Xeon E5 2697v3 CPU, PCIe Gen3 x16 slots for 100GbE NIC, and more disk storage (4 NVMe or 44 SATA SSD drives), we hit another bottleneck, also related to a lock on a global list. We were stuck at around 60 Gbps on this new hardware, and we were constrained by pbufs.&lt;br&gt;
Our first problem was that the list was too small. We were spending a lot of time waiting for pbufs. This was easily fixed by increasing the number of pbufs allocated at boot time by increasing the kern.nswbuf tunable. However, this update revealed the next problem, which was lock contention on the global pbuf mutex. To solve this, we changed the vnode pager (which handles paging to files, rather than the swap partition, and hence handles all sendfile() I/O) to use the normal kernel zone allocator. This change removed the lock contention, and boosted our performance into the 70 Gbps range.&lt;br&gt;
As noted above, we make heavy use of the VM page queues, especially the inactive queue. Eventually, the system runs short of memory and these queues need to be scanned by the page daemon to free up memory. At full load, this was happening roughly twice per minute. When this happened, all NGINX processes would go to sleep in vm_wait() and the system would stop serving traffic while the pageout daemon worked to scan pages, often for several seconds. This problem is actually made progressively worse as one adds NUMA domains, because there is one pageout daemon per NUMA domain, but the page deficit that it is trying to clear is calculated globally. So if the vm pageout daemon decides to clean, say 1GB of memory and there are 16 domains, each of the 16 pageout daemons will individually attempt to clean 1GB of memory.&lt;br&gt;
To solve this problem, we decided to proactively scan the VM page queues. In the sendfile path, when allocating a page for I/O, we run the pageout code several times per second on each VM domain. The pageout code is run in its lightest-weight mode in the context of one unlucky NGINX process. Other NGINX processes continue to run and serve traffic while this is happening, so we can avoid bursts of pager activity that blocks traffic serving. Proactive scanning allowed us to serve at roughly 80 Gbps on the prototype hardware.&lt;br&gt;
Hans Petter Selasky, Mellanox’s 100GbE driver developer, came up with an innovative solution to our problem. Most modern NICs will supply an Receive Side Scaling (RSS) hash result to the host. RSS is a standard developed by Microsoft wherein TCP/IP traffic is hashed by source and destination IP address and/or TCP source and destination ports. The RSS hash result will almost always uniquely identify a TCP connection. Hans’ idea was that rather than just passing the packets to the LRO engine as they arrive from the network, we should hold the packets in a large batch, and then sort the batch of packets by RSS hash result (and original time of arrival, to keep them in order). After the packets are sorted, packets from the same connection are adjacent even when they arrive widely separated in time. Therefore, when the packets are passed to the FreeBSD LRO routine, it can aggregate them.&lt;br&gt;
With this new LRO code, we were able to achieve an LRO aggregation rate of over 2 packets per aggregation, and were able to serve at well over 90 Gbps for the first time on our prototype hardware for mostly unencrypted traffic. So the job was done. Or was it? The next goal was to achieve 100 Gbps while serving only TLS-encrypted streams. By this point, we were using hardware which closely resembles today’s 100GbE flash storage-based OCAs: four NVMe PCIe Gen3 x4 drives, 100GbE ethernet, Xeon E5v4 2697A CPU. With the improvements described in the Protecting Netflix Viewing Privacy at Scale blog entry, we were able to serve TLS-only traffic at roughly 58 Gbps.&lt;br&gt;
In the lock contention problems we’d observed above, the cause of any increased CPU use was relatively apparent from normal system level tools like flame graphs, DTrace, or lockstat. The 58 Gbps limit was comparatively strange. As before, the CPU use would increase linearly as we approached the 58 Gbps limit, but then as we neared the limit, the CPU use would increase almost exponentially. Flame graphs just showed everything taking longer, with no apparent hotspots. We finally had a hunch that we were limited by our system’s memory bandwidth. We used the Intel® Performance Counter Monitor Tools to measure the memory bandwidth we were consuming at peak load. We then wrote a simple memory thrashing benchmark that used one thread per core to copy between large memory chunks that did not fit into cache. According to the PCM tools, this benchmark consumed the same amount of memory bandwidth as our OCA’s TLS-serving workload. So it was clear that we were memory limited. At this point, we became focused on reducing memory bandwidth usage. To assist with this, we began using the Intel VTune profiling tools to identify memory loads and stores, and to identify cache misses.&lt;br&gt;
Because we are using sendfile() to serve data, encryption is done from the virtual memory page cache into connection-specific encryption buffers. This preserves the normal FreeBSD page cache in order to allow serving of hot data from memory to many connections. One of the first things that stood out to us was that the ISA-L encryption library was using half again as much memory bandwidth for memory reads as it was for memory writes. From looking at VTune profiling information, we saw that ISA-L was somehow reading both the source and destination buffers, rather than just writing to the destination buffer. We realized that this was because the AVX instructions used by ISA-L for encryption on our CPUs worked on 256-bit (32-byte) quantities, whereas the cache line size was 512-bits (64 bytes)?—?thus triggering the system to do read-modify-writes when data was written. The problem is that the the CPU will normally access the memory system in 64 byte cache line-sized chunks, reading an entire 64 bytes to access even just a single byte. After a quick email exchange with the ISA-L team, they provided us with a new version of the library that used non-temporal instructions when storing encryption results. Non-temporals bypass the cache, and allow the CPU direct access to memory. This meant that the CPU was no longer reading from the destination buffers, and so this increased our bandwidth from 58 Gbps to 65 Gbps.&lt;br&gt;
At 100 Gbps, we’re moving about 12.5 GB/s of 4K pages through our system unencrypted. Adding encryption doubles that to 25 GB/s worth of 4K pages. That’s about 6.25 Million mbufs per second. When you add in the extra 2 mbufs used by the crypto code for TLS metadata at the beginning and end of each TLS record, that works out to another 1.6M mbufs/sec, for a total of about 8M mbufs/second. With roughly 2 cache line accesses per mbuf, that’s 128 bytes * 8M, which is 1 GB/s (8 Gbps) of data that is accessed at multiple layers of the stack (alloc, free, crypto, TCP, socket buffers, drivers, etc).&lt;br&gt;
At this point, we’re able to serve 100% TLS traffic comfortably at 90 Gbps using the default FreeBSD TCP stack. However, the goalposts keep moving. We’ve found that when we use more advanced TCP algorithms, such as RACK and BBR, we are still a bit short of our goal. We have several ideas that we are currently pursuing, which range from optimizing the new TCP code to increasing the efficiency of LRO to trying to do encryption closer to the transfer of the data (either from the disk, or to the NIC) so as to take better advantage of Intel’s DDIO and save memory bandwidth.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD April to June 2017 Status Report&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD-Team-Reports" target="_blank" rel="nofollow noopener"&gt;FreeBSD Team Reports&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD-Release-Engineering-Team" target="_blank" rel="nofollow noopener"&gt;FreeBSD Release Engineering Team&lt;/a&gt;&lt;/li&gt;&lt;br&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Ports-Collection" target="_blank" rel="nofollow noopener"&gt;Ports Collection&lt;/a&gt;&lt;/li&gt;&lt;br&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#The-FreeBSD-Core-Team" target="_blank" rel="nofollow noopener"&gt;The FreeBSD Core Team&lt;/a&gt;&lt;/li&gt;&lt;br&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#The-FreeBSD-Foundation" target="_blank" rel="nofollow noopener"&gt;The FreeBSD Foundation&lt;/a&gt;&lt;/li&gt;&lt;br&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#The-Postmaster-Team" target="_blank" rel="nofollow noopener"&gt;The Postmaster Team&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Projects" target="_blank" rel="nofollow noopener"&gt;Projects&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#64-bit-Inode-Numbers" target="_blank" rel="nofollow noopener"&gt;64-bit Inode Numbers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Capability-Based-Network-Communication-for-Capsicum/CloudABI" target="_blank" rel="nofollow noopener"&gt;Capability-Based Network Communication for Capsicum/CloudABI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Ceph-on-FreeBSD" target="_blank" rel="nofollow noopener"&gt;Ceph on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#DTS-Updates" target="_blank" rel="nofollow noopener"&gt;DTS Updates&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Kernel" target="_blank" rel="nofollow noopener"&gt;Kernel&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Coda-revival" target="_blank" rel="nofollow noopener"&gt;Coda revival&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD-Driver-for-the-Annapurna-Labs-ENA" target="_blank" rel="nofollow noopener"&gt;FreeBSD Driver for the Annapurna Labs ENA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Intel-10G-Driver-Update" target="_blank" rel="nofollow noopener"&gt;Intel 10G Driver Update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#pNFS-Server-Plan-B" target="_blank" rel="nofollow noopener"&gt;pNFS Server Plan B&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Architectures" target="_blank" rel="nofollow noopener"&gt;Architectures&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD-on-Marvell-Armada38x" target="_blank" rel="nofollow noopener"&gt;FreeBSD on Marvell Armada38x&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD/arm64" target="_blank" rel="nofollow noopener"&gt;FreeBSD/arm64&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Userland-Programs" target="_blank" rel="nofollow noopener"&gt;Userland Programs&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#DTC" target="_blank" rel="nofollow noopener"&gt;DTC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Using-LLVM's-LLD-Linker-as-FreeBSD's-System-Linker" target="_blank" rel="nofollow noopener"&gt;Using LLVM's LLD Linker as FreeBSD's System Linker&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Ports" target="_blank" rel="nofollow noopener"&gt;Ports&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#A-New-USES-Macro-for-Porting-Cargo-Based-Rust-Applications" target="_blank" rel="nofollow noopener"&gt;A New USES Macro for Porting Cargo-Based Rust Applications&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#GCC-(GNU-Compiler-Collection)" target="_blank" rel="nofollow noopener"&gt;GCC (GNU Compiler Collection)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#GNOME-on-FreeBSD" target="_blank" rel="nofollow noopener"&gt;GNOME on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#KDE-on-FreeBSD" target="_blank" rel="nofollow noopener"&gt;KDE on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#New-Port:-FRRouting" target="_blank" rel="nofollow noopener"&gt;New Port: FRRouting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#PHP-Ports:-Help-Improving-QA" target="_blank" rel="nofollow noopener"&gt;PHP Ports: Help Improving QA&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Rust" target="_blank" rel="nofollow noopener"&gt;Rust&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#sndio-Support-in-the-FreeBSD-Ports-Collection" target="_blank" rel="nofollow noopener"&gt;sndio Support in the FreeBSD Ports Collection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#TensorFlow" target="_blank" rel="nofollow noopener"&gt;TensorFlow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Updating-Port-Metadata-for-non-x86-Architectures" target="_blank" rel="nofollow noopener"&gt;Updating Port Metadata for non-x86 Architectures&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Xfce-on-FreeBSD" target="_blank" rel="nofollow noopener"&gt;Xfce on FreeBSD&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Documentation" target="_blank" rel="nofollow noopener"&gt;Documentation&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Absolute-FreeBSD,-3rd-Edition" target="_blank" rel="nofollow noopener"&gt;Absolute FreeBSD, 3rd Edition&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Doc-Version-Strings-Improved-by-Their-Absence" target="_blank" rel="nofollow noopener"&gt;Doc Version Strings Improved by Their Absence&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#New-Xen-Handbook-Section" target="_blank" rel="nofollow noopener"&gt;New Xen Handbook Section&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Miscellaneous" target="_blank" rel="nofollow noopener"&gt;Miscellaneous&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#BSD-Meetups-at-Rennes-(France)" target="_blank" rel="nofollow noopener"&gt;BSD Meetups at Rennes (France)&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.htmlThird-Party-Projects" target="_blank" rel="nofollow noopener"&gt;Third-Party Projects&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#HardenedBSD" target="_blank" rel="nofollow noopener"&gt;HardenedBSD&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.pscp.tv/DPDKProject/1dRKZnleWbmKB?t=5h1m0s" target="_blank" rel="nofollow noopener"&gt;DPDK, VPP, and the future of pfSense @ the DPDK Summit&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The DPDK (Data Plane Development Kit) conference included a short update from the pfSense project&lt;/li&gt;
&lt;li&gt;The video starts with a quick introduction to pfSense and the company behind it&lt;/li&gt;
&lt;li&gt;It covers the issues they ran into trying to scale to 10gbps and beyond, and some of the solutions they tried: libuinet, netmap, packet-journey&lt;/li&gt;
&lt;li&gt;Then they discovered VPP (Vector Packet Processing)&lt;/li&gt;
&lt;li&gt;The video then covers the architecture of the new pfSense&lt;/li&gt;
&lt;li&gt;pfSense has launched of EC2, on Azure soon, and will launch support for the new Atom C3000 and Xeon hardware with built-in QAT (Quick-Assist crypto offload) in November&lt;/li&gt;
&lt;li&gt;The future: 100gbps, MPLS, VXLANs, and ARM64 hardware support
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://wiki.freebsd.org/VladimirKrstulja/Guides/FreeBSDUpdateReverseProxy" target="_blank" rel="nofollow noopener"&gt;Local nginx reverse proxy cache for freebsd-update&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Vladimir Krstulja has created this interesting tutorial on the FreeBSD wiki about a freebsd-update reverse proxy cache&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Either because you're a good netizen and don't want to repeatedly hammer the FreeBSD mirrors to upgrade all your systems, or you want to benefit from the speed of having a local "mirror" (cache, more precisely), running a freebsd update reverse proxy cache with, say, nginx is dead simple.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Install nginx somewhere&lt;/li&gt;
&lt;li&gt;Configure nginx for a subdomain, say, freebsd-update.example.com&lt;/li&gt;
&lt;li&gt;On all your hosts, in all your jails, configure /etc/freebsd-update.conf for new ServerName
And... that's it. Running freebsd-update will use the ServerName domain which is your reverse nginx proxy. Note the comment about using a "nearby" server is not quite true. FreeBSD update mirrors are frequently slow and running such a reverse proxy cache significantly speeds things up.
Caveats: This is a simple cache. That means it doesn't consider the files as a whole repository, which in turn means updates to your cache are not atomic. It'd be advised to nuke your cache before your update run, as its point is only to retain the files in a local cache for some short period of time required for all your machines to be updated.
***&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://clonos.tekroutine.com/" target="_blank" rel="nofollow noopener"&gt;ClonOS is a free, open-source FreeBSD-based platform for virtual environment creation and management&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The operating system uses FreeBSD's development branch (12.0-CURRENT) as its base. ClonOS uses ZFS as the default file system and includes web-based administration tools for managing virtual machines and jails. The project's website also mentions the availability of templates for quickly setting up new containers and web-based VNC access to jails. Puppet, we are told, can be used for configuration management.&lt;br&gt;
ClonOS can be downloaded as a disk image file (IMG) or as an optical media image (ISO). I downloaded the ISO file which is 1.6GB in size. Booting from ClonOS's media displays a text console asking us to select the type of text terminal we are using. There are four options and most people can probably safely take the default, xterm, option.&lt;br&gt;
The operating system, on the surface, appears to be a full installation of FreeBSD 12. The usual collection of FreeBSD packages are available, including manual pages, a compiler and the typical selection of UNIX command line utilities. The operating system uses ZFS as its file system and uses approximately 3.3GB of disk space. ClonOS requires about 50MB of active memory and 143MB of wired memory before any services or jails are created.&lt;br&gt;
Most of the key features of ClonOS, the parts which set it apart from vanilla FreeBSD, can be accessed through a web-based control panel. When we connect to this control panel, over a plain HTTP connection, using our web browser, we are not prompted for an account name or password. The web-based interface has a straight forward layout. Down the left side of the browser window we find categories of options and controls. Over on the right side of the window are the specific options or controls available in the selected category. At the top of the page there is a drop-down menu where we can toggle the displayed language between English and Russian, with English being the default.&lt;br&gt;
There are twelve option screens we can access in the ClonOS interface and I want to quickly give a summary of each one:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Overview - this page shows a top-level status summary. The page lists the number of jails and nodes in the system. We are also shown the number of available CPU cores and available RAM on the system.&lt;/li&gt;
&lt;li&gt;Jail containers - this page allows us to create and delete jails. We can also change some basic jail settings on this page, adjusting the network configuration and hostname. Plus we can click a button to open a VNC window that allows us to access the jail's command line interface.&lt;/li&gt;
&lt;li&gt;Template for jails - provides a list of available jail templates. Each template is listed with its name and a brief description. For example, we have a Wordpress template and a bittorrent template. We can click a listed template to create a new jail with a vanilla installation of the selected software included. We cannot download or create new templates from this page.&lt;/li&gt;
&lt;li&gt;Bhyve VMs - this page is very much like the Jails containers page, but concerns the creation of new virtual machines and managing them.&lt;/li&gt;
&lt;li&gt;Virtual Private Network - allows for the management of subnets&lt;/li&gt;
&lt;li&gt;Authkeys - upload security keys for something, but it is not clear for what these keys will be used.&lt;/li&gt;
&lt;li&gt;Storage media - upload ISO files that will be used when creating virtual machines and installing an operating system in the new virtual environment.&lt;/li&gt;
&lt;li&gt;FreeBSD Bases - I think this page downloads and builds source code for alternative versions of FreeBSD, but I am unsure and could not find any associated documentation for this page.&lt;/li&gt;
&lt;li&gt;FreeBSD Sources - download source code for various versions of FreeBSD.&lt;/li&gt;
&lt;li&gt;TaskLog - browse logs of events, particularly actions concerning jails.&lt;/li&gt;
&lt;li&gt;SQLite admin - this page says it will open an interface for managing a SQLite database. Clicking link on the page gives a file not found error.&lt;/li&gt;
&lt;li&gt;Settings - this page simply displays a message saying the settings page has not been implemented yet.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;While playing with ClonOS, I wanted to perform a couple of simple tasks. I wanted to use the Wordpress template to set up a blog inside a jail. I wanted a generic, empty jail in which I could play and run commands without harming the rest of the operating system. I also wanted to try installing an operating system other than FreeBSD inside a Bhyve virtual environment. I thought this would give me a pretty good idea of how quick and easy ClonOS would make common tasks.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusions&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ClonOS appears to be in its early stages of development, more of a feature preview or proof-of-concept than a polished product. A few of the settings pages have not been finished yet, the web-based controls for jails are unable to create jails that connect to the network and I was unable to upload even small ISO files to create virtual machines.&lt;br&gt;
The project's website mentions working with Puppet to handle system configuration, but I did not encounter any Puppet options. There also does not appear to be any documentation on using Puppet on the ClonOS platform.&lt;br&gt;
One of the biggest concerns I had was the lack of security on ClonOS. The web-based control panel and terminal both automatically login as the root user. Passwords we create for our accounts are ignored and we cannot logout of the local terminal. This means anyone with physical access to the server automatically gains root access and, in addition, anyone on our local network gets access to the web-based admin panel. As it stands, it would not be safe to install ClonOS on a shared network.&lt;br&gt;
Some of the ideas present are good ones. I like the idea of jail templates and have used them on other systems. The graphical Bhyve tools could be useful too, if the limitations of the ISO manager are sorted out. But right now, ClonOS still has a way to go before it is likely to be safe or practical to use.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://nanxiao.me/en/customize-ksh-display-for-openbsd/" target="_blank" rel="nofollow noopener"&gt;Customize ksh display for OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The default shell for OpenBSD is ksh, and it looks a little monotonous.&lt;br&gt;
To make its user-experience more friendly, I need to do some customizations:&lt;br&gt;
(1) Modify the “Prompt String” to display the user name and current directory:&lt;br&gt;
PS1='$USER:$PWD# '&lt;br&gt;
(2) Install colorls package:&lt;br&gt;
pkg_add colorls&lt;br&gt;
Use it to replace the shipped ls command:&lt;br&gt;
alias ls='colorls -G'&lt;br&gt;
(3) Change LSCOLORS environmental variable to make your favorite color. For example, I don’t want the directory is displayed in default blue, change it to magenta:&lt;br&gt;
LSCOLORS=fxexcxdxbxegedabagacad&lt;br&gt;
For detailed explanation of LSCOLORS, please refer manual of colorls.&lt;br&gt;
This is my final modification of .profile:&lt;br&gt;
PS1='$USER:$PWD# '&lt;br&gt;
export PS1&lt;br&gt;
LSCOLORS=fxexcxdxbxegedabagacad&lt;br&gt;
export LSCOLORS&lt;br&gt;
alias ls='colorls -G'&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.dragonflydigest.com/2017/10/02/20295.html" target="_blank" rel="nofollow noopener"&gt;DragonFly 5 release candidate&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2017-September/626463.html" target="_blank" rel="nofollow noopener"&gt;Commit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I tagged DragonFly 5.0 (commit message list in that link) over the weekend, and there’s a &lt;a href="http://mirror-master.dragonflybsd.org/iso-images/" target="_blank" rel="nofollow noopener"&gt;5.0 release candidate for download&lt;/a&gt;.&lt;br&gt;
It’s RC2 because the recent Radeon changes &lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2017-September/626476.html" target="_blank" rel="nofollow noopener"&gt;had to be taken out.&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.grenadille.net/post/2017/08/21/Faster-forwarding" target="_blank" rel="nofollow noopener"&gt;Faster forwarding&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.freshports.org/graphics/drm-next-kmod/" target="_blank" rel="nofollow noopener"&gt;DRM-Next-Kmod hits the ports tree&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://undeadly.org/cgi?action=article;sid=20170829025446" target="_blank" rel="nofollow noopener"&gt;OpenBSD Community Goes Platinum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=4myESLZPXBU" target="_blank" rel="nofollow noopener"&gt;Setting up iSCSI on TrueOS and FreeBSD12&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Christopher - &lt;a href="http://dpaste.com/38G99CK#wrap" target="_blank" rel="nofollow noopener"&gt;Virtualizing FreeNAS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Van - &lt;a href="http://dpaste.com/3MEPD3S#wrap" target="_blank" rel="nofollow noopener"&gt;Tar Question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Joe - &lt;a href="http://dpaste.com/0T623Z6#wrap" target="_blank" rel="nofollow noopener"&gt;Book Reviews&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We look at how Netflix serves 100 Gbps from an Open Connect Appliance, read through the 2nd quarter FreeBSD status report, show you a freebsd-update speedup via nginx reverse proxy, and customize your OpenBSD default shell.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://medium.com/netflix-techblog/serving-100-gbps-from-an-open-connect-appliance-cdb51dda3b99" target="_blank" rel="nofollow noopener">Serving 100 Gbps from an Open Connect Appliance</a></h3>

<blockquote>
<p>In the summer of 2015, the Netflix Open Connect CDN team decided to take on an ambitious project. The goal was to leverage the new 100GbE network interface technology just coming to market in order to be able to serve at 100 Gbps from a single FreeBSD-based Open Connect Appliance (OCA) using NVM Express (NVMe)-based storage.<br>
At the time, the bulk of our flash storage-based appliances were close to being CPU limited serving at 40 Gbps using single-socket Xeon E52697v2. The first step was to find the CPU bottlenecks in the existing platform while we waited for newer CPUs from Intel, newer motherboards with PCIe Gen3 x16 slots that could run the new Mellanox 100GbE NICs at full speed, and for systems with NVMe drives.</p>
</blockquote>

<ul>
<li>Fake NUMA</li>
</ul>

<blockquote>
<p>Normally, most of an OCAs content is served from disk, with only 1020% of the most popular titles being served from memory (see our previous blog, <a href="https://medium.com/@NetflixTechBlog/content-popularity-for-open-connect-b86d56f613b" target="_blank" rel="nofollow noopener">Content Popularity for Open Connect</a> for details). However, our early pre-NVMe prototypes were limited by disk bandwidth. So we set up a contrived experiment where we served only the very most popular content on a test server. This allowed all content to fit in RAM and therefore avoid the temporary disk bottleneck. Surprisingly, the performance actually dropped from being CPU limited at 40 Gbps to being CPU limited at only 22 Gbps!<br>
The ultimate solution we came up with is what we call Fake NUMA. This approach takes advantage of the fact that there is one set of page queues per NUMA domain. All we had to do was to lie to the system and tell it that we have one Fake NUMA domain for every 2 CPUs. After we did this, our lock contention nearly disappeared and we were able to serve at 52 Gbps (limited by the PCIe Gen3 x8 slot) with substantial CPU idle time.<br>
After we had newer prototype machines, with an Intel Xeon E5 2697v3 CPU, PCIe Gen3 x16 slots for 100GbE NIC, and more disk storage (4 NVMe or 44 SATA SSD drives), we hit another bottleneck, also related to a lock on a global list. We were stuck at around 60 Gbps on this new hardware, and we were constrained by pbufs.<br>
Our first problem was that the list was too small. We were spending a lot of time waiting for pbufs. This was easily fixed by increasing the number of pbufs allocated at boot time by increasing the kern.nswbuf tunable. However, this update revealed the next problem, which was lock contention on the global pbuf mutex. To solve this, we changed the vnode pager (which handles paging to files, rather than the swap partition, and hence handles all sendfile() I/O) to use the normal kernel zone allocator. This change removed the lock contention, and boosted our performance into the 70 Gbps range.<br>
As noted above, we make heavy use of the VM page queues, especially the inactive queue. Eventually, the system runs short of memory and these queues need to be scanned by the page daemon to free up memory. At full load, this was happening roughly twice per minute. When this happened, all NGINX processes would go to sleep in vm_wait() and the system would stop serving traffic while the pageout daemon worked to scan pages, often for several seconds. This problem is actually made progressively worse as one adds NUMA domains, because there is one pageout daemon per NUMA domain, but the page deficit that it is trying to clear is calculated globally. So if the vm pageout daemon decides to clean, say 1GB of memory and there are 16 domains, each of the 16 pageout daemons will individually attempt to clean 1GB of memory.<br>
To solve this problem, we decided to proactively scan the VM page queues. In the sendfile path, when allocating a page for I/O, we run the pageout code several times per second on each VM domain. The pageout code is run in its lightest-weight mode in the context of one unlucky NGINX process. Other NGINX processes continue to run and serve traffic while this is happening, so we can avoid bursts of pager activity that blocks traffic serving. Proactive scanning allowed us to serve at roughly 80 Gbps on the prototype hardware.<br>
Hans Petter Selasky, Mellanoxs 100GbE driver developer, came up with an innovative solution to our problem. Most modern NICs will supply an Receive Side Scaling (RSS) hash result to the host. RSS is a standard developed by Microsoft wherein TCP/IP traffic is hashed by source and destination IP address and/or TCP source and destination ports. The RSS hash result will almost always uniquely identify a TCP connection. Hans idea was that rather than just passing the packets to the LRO engine as they arrive from the network, we should hold the packets in a large batch, and then sort the batch of packets by RSS hash result (and original time of arrival, to keep them in order). After the packets are sorted, packets from the same connection are adjacent even when they arrive widely separated in time. Therefore, when the packets are passed to the FreeBSD LRO routine, it can aggregate them.<br>
With this new LRO code, we were able to achieve an LRO aggregation rate of over 2 packets per aggregation, and were able to serve at well over 90 Gbps for the first time on our prototype hardware for mostly unencrypted traffic. So the job was done. Or was it? The next goal was to achieve 100 Gbps while serving only TLS-encrypted streams. By this point, we were using hardware which closely resembles todays 100GbE flash storage-based OCAs: four NVMe PCIe Gen3 x4 drives, 100GbE ethernet, Xeon E5v4 2697A CPU. With the improvements described in the Protecting Netflix Viewing Privacy at Scale blog entry, we were able to serve TLS-only traffic at roughly 58 Gbps.<br>
In the lock contention problems wed observed above, the cause of any increased CPU use was relatively apparent from normal system level tools like flame graphs, DTrace, or lockstat. The 58 Gbps limit was comparatively strange. As before, the CPU use would increase linearly as we approached the 58 Gbps limit, but then as we neared the limit, the CPU use would increase almost exponentially. Flame graphs just showed everything taking longer, with no apparent hotspots. We finally had a hunch that we were limited by our systems memory bandwidth. We used the Intel® Performance Counter Monitor Tools to measure the memory bandwidth we were consuming at peak load. We then wrote a simple memory thrashing benchmark that used one thread per core to copy between large memory chunks that did not fit into cache. According to the PCM tools, this benchmark consumed the same amount of memory bandwidth as our OCAs TLS-serving workload. So it was clear that we were memory limited. At this point, we became focused on reducing memory bandwidth usage. To assist with this, we began using the Intel VTune profiling tools to identify memory loads and stores, and to identify cache misses.<br>
Because we are using sendfile() to serve data, encryption is done from the virtual memory page cache into connection-specific encryption buffers. This preserves the normal FreeBSD page cache in order to allow serving of hot data from memory to many connections. One of the first things that stood out to us was that the ISA-L encryption library was using half again as much memory bandwidth for memory reads as it was for memory writes. From looking at VTune profiling information, we saw that ISA-L was somehow reading both the source and destination buffers, rather than just writing to the destination buffer. We realized that this was because the AVX instructions used by ISA-L for encryption on our CPUs worked on 256-bit (32-byte) quantities, whereas the cache line size was 512-bits (64 bytes)??thus triggering the system to do read-modify-writes when data was written. The problem is that the the CPU will normally access the memory system in 64 byte cache line-sized chunks, reading an entire 64 bytes to access even just a single byte. After a quick email exchange with the ISA-L team, they provided us with a new version of the library that used non-temporal instructions when storing encryption results. Non-temporals bypass the cache, and allow the CPU direct access to memory. This meant that the CPU was no longer reading from the destination buffers, and so this increased our bandwidth from 58 Gbps to 65 Gbps.<br>
At 100 Gbps, were moving about 12.5 GB/s of 4K pages through our system unencrypted. Adding encryption doubles that to 25 GB/s worth of 4K pages. Thats about 6.25 Million mbufs per second. When you add in the extra 2 mbufs used by the crypto code for TLS metadata at the beginning and end of each TLS record, that works out to another 1.6M mbufs/sec, for a total of about 8M mbufs/second. With roughly 2 cache line accesses per mbuf, thats 128 bytes * 8M, which is 1 GB/s (8 Gbps) of data that is accessed at multiple layers of the stack (alloc, free, crypto, TCP, socket buffers, drivers, etc).<br>
At this point, were able to serve 100% TLS traffic comfortably at 90 Gbps using the default FreeBSD TCP stack. However, the goalposts keep moving. Weve found that when we use more advanced TCP algorithms, such as RACK and BBR, we are still a bit short of our goal. We have several ideas that we are currently pursuing, which range from optimizing the new TCP code to increasing the efficiency of LRO to trying to do encryption closer to the transfer of the data (either from the disk, or to the NIC) so as to take better advantage of Intels DDIO and save memory bandwidth.</p>
</blockquote>

<hr>

<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html" target="_blank" rel="nofollow noopener">FreeBSD April to June 2017 Status Report</a></h3>

<p><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD-Team-Reports" target="_blank" rel="nofollow noopener">FreeBSD Team Reports</a><br>
</p><ul><li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD-Release-Engineering-Team" target="_blank" rel="nofollow noopener">FreeBSD Release Engineering Team</a></li><br>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Ports-Collection" target="_blank" rel="nofollow noopener">Ports Collection</a></li><br>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#The-FreeBSD-Core-Team" target="_blank" rel="nofollow noopener">The FreeBSD Core Team</a></li><br>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#The-FreeBSD-Foundation" target="_blank" rel="nofollow noopener">The FreeBSD Foundation</a></li><br>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#The-Postmaster-Team" target="_blank" rel="nofollow noopener">The Postmaster Team</a></li></ul>

<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Projects" target="_blank" rel="nofollow noopener">Projects</a></h3><ul>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#64-bit-Inode-Numbers" target="_blank" rel="nofollow noopener">64-bit Inode Numbers</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Capability-Based-Network-Communication-for-Capsicum/CloudABI" target="_blank" rel="nofollow noopener">Capability-Based Network Communication for Capsicum/CloudABI</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Ceph-on-FreeBSD" target="_blank" rel="nofollow noopener">Ceph on FreeBSD</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#DTS-Updates" target="_blank" rel="nofollow noopener">DTS Updates</a></li></ul>
<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Kernel" target="_blank" rel="nofollow noopener">Kernel</a></h3><ul>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Coda-revival" target="_blank" rel="nofollow noopener">Coda revival</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD-Driver-for-the-Annapurna-Labs-ENA" target="_blank" rel="nofollow noopener">FreeBSD Driver for the Annapurna Labs ENA</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Intel-10G-Driver-Update" target="_blank" rel="nofollow noopener">Intel 10G Driver Update</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#pNFS-Server-Plan-B" target="_blank" rel="nofollow noopener">pNFS Server Plan B</a></li></ul>
<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Architectures" target="_blank" rel="nofollow noopener">Architectures</a></h3><ul>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD-on-Marvell-Armada38x" target="_blank" rel="nofollow noopener">FreeBSD on Marvell Armada38x</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD/arm64" target="_blank" rel="nofollow noopener">FreeBSD/arm64</a></li></ul>
<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Userland-Programs" target="_blank" rel="nofollow noopener">Userland Programs</a></h3><ul>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#DTC" target="_blank" rel="nofollow noopener">DTC</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Using-LLVM's-LLD-Linker-as-FreeBSD's-System-Linker" target="_blank" rel="nofollow noopener">Using LLVM's LLD Linker as FreeBSD's System Linker</a></li></ul>
<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Ports" target="_blank" rel="nofollow noopener">Ports</a></h3><ul>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#A-New-USES-Macro-for-Porting-Cargo-Based-Rust-Applications" target="_blank" rel="nofollow noopener">A New USES Macro for Porting Cargo-Based Rust Applications</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#GCC-(GNU-Compiler-Collection)" target="_blank" rel="nofollow noopener">GCC (GNU Compiler Collection)</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#GNOME-on-FreeBSD" target="_blank" rel="nofollow noopener">GNOME on FreeBSD</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#KDE-on-FreeBSD" target="_blank" rel="nofollow noopener">KDE on FreeBSD</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#New-Port:-FRRouting" target="_blank" rel="nofollow noopener">New Port: FRRouting</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#PHP-Ports:-Help-Improving-QA" target="_blank" rel="nofollow noopener">PHP Ports: Help Improving QA</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Rust" target="_blank" rel="nofollow noopener">Rust</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#sndio-Support-in-the-FreeBSD-Ports-Collection" target="_blank" rel="nofollow noopener">sndio Support in the FreeBSD Ports Collection</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#TensorFlow" target="_blank" rel="nofollow noopener">TensorFlow</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Updating-Port-Metadata-for-non-x86-Architectures" target="_blank" rel="nofollow noopener">Updating Port Metadata for non-x86 Architectures</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Xfce-on-FreeBSD" target="_blank" rel="nofollow noopener">Xfce on FreeBSD</a></li></ul>
<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Documentation" target="_blank" rel="nofollow noopener">Documentation</a></h3><ul>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Absolute-FreeBSD,-3rd-Edition" target="_blank" rel="nofollow noopener">Absolute FreeBSD, 3rd Edition</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Doc-Version-Strings-Improved-by-Their-Absence" target="_blank" rel="nofollow noopener">Doc Version Strings Improved by Their Absence</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#New-Xen-Handbook-Section" target="_blank" rel="nofollow noopener">New Xen Handbook Section</a></li></ul>
<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Miscellaneous" target="_blank" rel="nofollow noopener">Miscellaneous</a></h3>

<ul><li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#BSD-Meetups-at-Rennes-(France)" target="_blank" rel="nofollow noopener">BSD Meetups at Rennes (France)</a></li></ul>

<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.htmlThird-Party-Projects" target="_blank" rel="nofollow noopener">Third-Party Projects</a></h3>

<ul><li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#HardenedBSD" target="_blank" rel="nofollow noopener">HardenedBSD</a></li></ul>

<hr>

<h3><a href="https://www.pscp.tv/DPDKProject/1dRKZnleWbmKB?t=5h1m0s" target="_blank" rel="nofollow noopener">DPDK, VPP, and the future of pfSense @ the DPDK Summit</a></h3>

<ul>
<li>The DPDK (Data Plane Development Kit) conference included a short update from the pfSense project</li>
<li>The video starts with a quick introduction to pfSense and the company behind it</li>
<li>It covers the issues they ran into trying to scale to 10gbps and beyond, and some of the solutions they tried: libuinet, netmap, packet-journey</li>
<li>Then they discovered VPP (Vector Packet Processing)</li>
<li>The video then covers the architecture of the new pfSense</li>
<li>pfSense has launched of EC2, on Azure soon, and will launch support for the new Atom C3000 and Xeon hardware with built-in QAT (Quick-Assist crypto offload) in November</li>
<li>The future: 100gbps, MPLS, VXLANs, and ARM64 hardware support
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://wiki.freebsd.org/VladimirKrstulja/Guides/FreeBSDUpdateReverseProxy" target="_blank" rel="nofollow noopener">Local nginx reverse proxy cache for freebsd-update</a></h3>

<ul>
<li>Vladimir Krstulja has created this interesting tutorial on the FreeBSD wiki about a freebsd-update reverse proxy cache</li>
</ul>

<blockquote>
<p>Either because you're a good netizen and don't want to repeatedly hammer the FreeBSD mirrors to upgrade all your systems, or you want to benefit from the speed of having a local "mirror" (cache, more precisely), running a freebsd update reverse proxy cache with, say, nginx is dead simple.</p>

<ol>
<li>Install nginx somewhere</li>
<li>Configure nginx for a subdomain, say, freebsd-update.example.com</li>
<li>On all your hosts, in all your jails, configure /etc/freebsd-update.conf for new ServerName
And... that's it. Running freebsd-update will use the ServerName domain which is your reverse nginx proxy. Note the comment about using a "nearby" server is not quite true. FreeBSD update mirrors are frequently slow and running such a reverse proxy cache significantly speeds things up.
Caveats: This is a simple cache. That means it doesn't consider the files as a whole repository, which in turn means updates to your cache are not atomic. It'd be advised to nuke your cache before your update run, as its point is only to retain the files in a local cache for some short period of time required for all your machines to be updated.
***</li>
</ol>
</blockquote>

<h3><a href="https://clonos.tekroutine.com/" target="_blank" rel="nofollow noopener">ClonOS is a free, open-source FreeBSD-based platform for virtual environment creation and management</a></h3>

<blockquote>
<p>The operating system uses FreeBSD's development branch (12.0-CURRENT) as its base. ClonOS uses ZFS as the default file system and includes web-based administration tools for managing virtual machines and jails. The project's website also mentions the availability of templates for quickly setting up new containers and web-based VNC access to jails. Puppet, we are told, can be used for configuration management.<br>
ClonOS can be downloaded as a disk image file (IMG) or as an optical media image (ISO). I downloaded the ISO file which is 1.6GB in size. Booting from ClonOS's media displays a text console asking us to select the type of text terminal we are using. There are four options and most people can probably safely take the default, xterm, option.<br>
The operating system, on the surface, appears to be a full installation of FreeBSD 12. The usual collection of FreeBSD packages are available, including manual pages, a compiler and the typical selection of UNIX command line utilities. The operating system uses ZFS as its file system and uses approximately 3.3GB of disk space. ClonOS requires about 50MB of active memory and 143MB of wired memory before any services or jails are created.<br>
Most of the key features of ClonOS, the parts which set it apart from vanilla FreeBSD, can be accessed through a web-based control panel. When we connect to this control panel, over a plain HTTP connection, using our web browser, we are not prompted for an account name or password. The web-based interface has a straight forward layout. Down the left side of the browser window we find categories of options and controls. Over on the right side of the window are the specific options or controls available in the selected category. At the top of the page there is a drop-down menu where we can toggle the displayed language between English and Russian, with English being the default.<br>
There are twelve option screens we can access in the ClonOS interface and I want to quickly give a summary of each one:</p>
</blockquote>

<ul>
<li>Overview - this page shows a top-level status summary. The page lists the number of jails and nodes in the system. We are also shown the number of available CPU cores and available RAM on the system.</li>
<li>Jail containers - this page allows us to create and delete jails. We can also change some basic jail settings on this page, adjusting the network configuration and hostname. Plus we can click a button to open a VNC window that allows us to access the jail's command line interface.</li>
<li>Template for jails - provides a list of available jail templates. Each template is listed with its name and a brief description. For example, we have a Wordpress template and a bittorrent template. We can click a listed template to create a new jail with a vanilla installation of the selected software included. We cannot download or create new templates from this page.</li>
<li>Bhyve VMs - this page is very much like the Jails containers page, but concerns the creation of new virtual machines and managing them.</li>
<li>Virtual Private Network - allows for the management of subnets</li>
<li>Authkeys - upload security keys for something, but it is not clear for what these keys will be used.</li>
<li>Storage media - upload ISO files that will be used when creating virtual machines and installing an operating system in the new virtual environment.</li>
<li>FreeBSD Bases - I think this page downloads and builds source code for alternative versions of FreeBSD, but I am unsure and could not find any associated documentation for this page.</li>
<li>FreeBSD Sources - download source code for various versions of FreeBSD.</li>
<li>TaskLog - browse logs of events, particularly actions concerning jails.</li>
<li>SQLite admin - this page says it will open an interface for managing a SQLite database. Clicking link on the page gives a file not found error.</li>
<li>Settings - this page simply displays a message saying the settings page has not been implemented yet.</li>
</ul>

<blockquote>
<p>While playing with ClonOS, I wanted to perform a couple of simple tasks. I wanted to use the Wordpress template to set up a blog inside a jail. I wanted a generic, empty jail in which I could play and run commands without harming the rest of the operating system. I also wanted to try installing an operating system other than FreeBSD inside a Bhyve virtual environment. I thought this would give me a pretty good idea of how quick and easy ClonOS would make common tasks.</p>
</blockquote>

<ul>
<li>Conclusions</li>
</ul>

<blockquote>
<p>ClonOS appears to be in its early stages of development, more of a feature preview or proof-of-concept than a polished product. A few of the settings pages have not been finished yet, the web-based controls for jails are unable to create jails that connect to the network and I was unable to upload even small ISO files to create virtual machines.<br>
The project's website mentions working with Puppet to handle system configuration, but I did not encounter any Puppet options. There also does not appear to be any documentation on using Puppet on the ClonOS platform.<br>
One of the biggest concerns I had was the lack of security on ClonOS. The web-based control panel and terminal both automatically login as the root user. Passwords we create for our accounts are ignored and we cannot logout of the local terminal. This means anyone with physical access to the server automatically gains root access and, in addition, anyone on our local network gets access to the web-based admin panel. As it stands, it would not be safe to install ClonOS on a shared network.<br>
Some of the ideas present are good ones. I like the idea of jail templates and have used them on other systems. The graphical Bhyve tools could be useful too, if the limitations of the ISO manager are sorted out. But right now, ClonOS still has a way to go before it is likely to be safe or practical to use.</p>

<hr>
</blockquote>

<h3><a href="http://nanxiao.me/en/customize-ksh-display-for-openbsd/" target="_blank" rel="nofollow noopener">Customize ksh display for OpenBSD</a></h3>

<blockquote>
<p>The default shell for OpenBSD is ksh, and it looks a little monotonous.<br>
To make its user-experience more friendly, I need to do some customizations:<br>
(1) Modify the Prompt String to display the user name and current directory:<br>
PS1='$USER:$PWD# '<br>
(2) Install colorls package:<br>
pkg_add colorls<br>
Use it to replace the shipped ls command:<br>
alias ls='colorls -G'<br>
(3) Change LSCOLORS environmental variable to make your favorite color. For example, I dont want the directory is displayed in default blue, change it to magenta:<br>
LSCOLORS=fxexcxdxbxegedabagacad<br>
For detailed explanation of LSCOLORS, please refer manual of colorls.<br>
This is my final modification of .profile:<br>
PS1='$USER:$PWD# '<br>
export PS1<br>
LSCOLORS=fxexcxdxbxegedabagacad<br>
export LSCOLORS<br>
alias ls='colorls -G'</p>

<hr>
</blockquote>

<h3><a href="https://www.dragonflydigest.com/2017/10/02/20295.html" target="_blank" rel="nofollow noopener">DragonFly 5 release candidate</a></h3>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2017-September/626463.html" target="_blank" rel="nofollow noopener">Commit</a></li>
</ul>

<blockquote>
<p>I tagged DragonFly 5.0 (commit message list in that link) over the weekend, and theres a <a href="http://mirror-master.dragonflybsd.org/iso-images/" target="_blank" rel="nofollow noopener">5.0 release candidate for download</a>.<br>
Its RC2 because the recent Radeon changes <a href="http://lists.dragonflybsd.org/pipermail/commits/2017-September/626476.html" target="_blank" rel="nofollow noopener">had to be taken out.</a></p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://www.grenadille.net/post/2017/08/21/Faster-forwarding" target="_blank" rel="nofollow noopener">Faster forwarding</a></li>
<li><a href="http://www.freshports.org/graphics/drm-next-kmod/" target="_blank" rel="nofollow noopener">DRM-Next-Kmod hits the ports tree</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20170829025446" target="_blank" rel="nofollow noopener">OpenBSD Community Goes Platinum</a></li>
<li><a href="https://www.youtube.com/watch?v=4myESLZPXBU" target="_blank" rel="nofollow noopener">Setting up iSCSI on TrueOS and FreeBSD12</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Christopher - <a href="http://dpaste.com/38G99CK#wrap" target="_blank" rel="nofollow noopener">Virtualizing FreeNAS</a></li>
<li>Van - <a href="http://dpaste.com/3MEPD3S#wrap" target="_blank" rel="nofollow noopener">Tar Question</a></li>
<li>Joe - <a href="http://dpaste.com/0T623Z6#wrap" target="_blank" rel="nofollow noopener">Book Reviews</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We look at how Netflix serves 100 Gbps from an Open Connect Appliance, read through the 2nd quarter FreeBSD status report, show you a freebsd-update speedup via nginx reverse proxy, and customize your OpenBSD default shell.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://medium.com/netflix-techblog/serving-100-gbps-from-an-open-connect-appliance-cdb51dda3b99" target="_blank" rel="nofollow noopener">Serving 100 Gbps from an Open Connect Appliance</a></h3>

<blockquote>
<p>In the summer of 2015, the Netflix Open Connect CDN team decided to take on an ambitious project. The goal was to leverage the new 100GbE network interface technology just coming to market in order to be able to serve at 100 Gbps from a single FreeBSD-based Open Connect Appliance (OCA) using NVM Express (NVMe)-based storage.<br>
At the time, the bulk of our flash storage-based appliances were close to being CPU limited serving at 40 Gbps using single-socket Xeon E52697v2. The first step was to find the CPU bottlenecks in the existing platform while we waited for newer CPUs from Intel, newer motherboards with PCIe Gen3 x16 slots that could run the new Mellanox 100GbE NICs at full speed, and for systems with NVMe drives.</p>
</blockquote>

<ul>
<li>Fake NUMA</li>
</ul>

<blockquote>
<p>Normally, most of an OCAs content is served from disk, with only 1020% of the most popular titles being served from memory (see our previous blog, <a href="https://medium.com/@NetflixTechBlog/content-popularity-for-open-connect-b86d56f613b" target="_blank" rel="nofollow noopener">Content Popularity for Open Connect</a> for details). However, our early pre-NVMe prototypes were limited by disk bandwidth. So we set up a contrived experiment where we served only the very most popular content on a test server. This allowed all content to fit in RAM and therefore avoid the temporary disk bottleneck. Surprisingly, the performance actually dropped from being CPU limited at 40 Gbps to being CPU limited at only 22 Gbps!<br>
The ultimate solution we came up with is what we call Fake NUMA. This approach takes advantage of the fact that there is one set of page queues per NUMA domain. All we had to do was to lie to the system and tell it that we have one Fake NUMA domain for every 2 CPUs. After we did this, our lock contention nearly disappeared and we were able to serve at 52 Gbps (limited by the PCIe Gen3 x8 slot) with substantial CPU idle time.<br>
After we had newer prototype machines, with an Intel Xeon E5 2697v3 CPU, PCIe Gen3 x16 slots for 100GbE NIC, and more disk storage (4 NVMe or 44 SATA SSD drives), we hit another bottleneck, also related to a lock on a global list. We were stuck at around 60 Gbps on this new hardware, and we were constrained by pbufs.<br>
Our first problem was that the list was too small. We were spending a lot of time waiting for pbufs. This was easily fixed by increasing the number of pbufs allocated at boot time by increasing the kern.nswbuf tunable. However, this update revealed the next problem, which was lock contention on the global pbuf mutex. To solve this, we changed the vnode pager (which handles paging to files, rather than the swap partition, and hence handles all sendfile() I/O) to use the normal kernel zone allocator. This change removed the lock contention, and boosted our performance into the 70 Gbps range.<br>
As noted above, we make heavy use of the VM page queues, especially the inactive queue. Eventually, the system runs short of memory and these queues need to be scanned by the page daemon to free up memory. At full load, this was happening roughly twice per minute. When this happened, all NGINX processes would go to sleep in vm_wait() and the system would stop serving traffic while the pageout daemon worked to scan pages, often for several seconds. This problem is actually made progressively worse as one adds NUMA domains, because there is one pageout daemon per NUMA domain, but the page deficit that it is trying to clear is calculated globally. So if the vm pageout daemon decides to clean, say 1GB of memory and there are 16 domains, each of the 16 pageout daemons will individually attempt to clean 1GB of memory.<br>
To solve this problem, we decided to proactively scan the VM page queues. In the sendfile path, when allocating a page for I/O, we run the pageout code several times per second on each VM domain. The pageout code is run in its lightest-weight mode in the context of one unlucky NGINX process. Other NGINX processes continue to run and serve traffic while this is happening, so we can avoid bursts of pager activity that blocks traffic serving. Proactive scanning allowed us to serve at roughly 80 Gbps on the prototype hardware.<br>
Hans Petter Selasky, Mellanoxs 100GbE driver developer, came up with an innovative solution to our problem. Most modern NICs will supply an Receive Side Scaling (RSS) hash result to the host. RSS is a standard developed by Microsoft wherein TCP/IP traffic is hashed by source and destination IP address and/or TCP source and destination ports. The RSS hash result will almost always uniquely identify a TCP connection. Hans idea was that rather than just passing the packets to the LRO engine as they arrive from the network, we should hold the packets in a large batch, and then sort the batch of packets by RSS hash result (and original time of arrival, to keep them in order). After the packets are sorted, packets from the same connection are adjacent even when they arrive widely separated in time. Therefore, when the packets are passed to the FreeBSD LRO routine, it can aggregate them.<br>
With this new LRO code, we were able to achieve an LRO aggregation rate of over 2 packets per aggregation, and were able to serve at well over 90 Gbps for the first time on our prototype hardware for mostly unencrypted traffic. So the job was done. Or was it? The next goal was to achieve 100 Gbps while serving only TLS-encrypted streams. By this point, we were using hardware which closely resembles todays 100GbE flash storage-based OCAs: four NVMe PCIe Gen3 x4 drives, 100GbE ethernet, Xeon E5v4 2697A CPU. With the improvements described in the Protecting Netflix Viewing Privacy at Scale blog entry, we were able to serve TLS-only traffic at roughly 58 Gbps.<br>
In the lock contention problems wed observed above, the cause of any increased CPU use was relatively apparent from normal system level tools like flame graphs, DTrace, or lockstat. The 58 Gbps limit was comparatively strange. As before, the CPU use would increase linearly as we approached the 58 Gbps limit, but then as we neared the limit, the CPU use would increase almost exponentially. Flame graphs just showed everything taking longer, with no apparent hotspots. We finally had a hunch that we were limited by our systems memory bandwidth. We used the Intel® Performance Counter Monitor Tools to measure the memory bandwidth we were consuming at peak load. We then wrote a simple memory thrashing benchmark that used one thread per core to copy between large memory chunks that did not fit into cache. According to the PCM tools, this benchmark consumed the same amount of memory bandwidth as our OCAs TLS-serving workload. So it was clear that we were memory limited. At this point, we became focused on reducing memory bandwidth usage. To assist with this, we began using the Intel VTune profiling tools to identify memory loads and stores, and to identify cache misses.<br>
Because we are using sendfile() to serve data, encryption is done from the virtual memory page cache into connection-specific encryption buffers. This preserves the normal FreeBSD page cache in order to allow serving of hot data from memory to many connections. One of the first things that stood out to us was that the ISA-L encryption library was using half again as much memory bandwidth for memory reads as it was for memory writes. From looking at VTune profiling information, we saw that ISA-L was somehow reading both the source and destination buffers, rather than just writing to the destination buffer. We realized that this was because the AVX instructions used by ISA-L for encryption on our CPUs worked on 256-bit (32-byte) quantities, whereas the cache line size was 512-bits (64 bytes)??thus triggering the system to do read-modify-writes when data was written. The problem is that the the CPU will normally access the memory system in 64 byte cache line-sized chunks, reading an entire 64 bytes to access even just a single byte. After a quick email exchange with the ISA-L team, they provided us with a new version of the library that used non-temporal instructions when storing encryption results. Non-temporals bypass the cache, and allow the CPU direct access to memory. This meant that the CPU was no longer reading from the destination buffers, and so this increased our bandwidth from 58 Gbps to 65 Gbps.<br>
At 100 Gbps, were moving about 12.5 GB/s of 4K pages through our system unencrypted. Adding encryption doubles that to 25 GB/s worth of 4K pages. Thats about 6.25 Million mbufs per second. When you add in the extra 2 mbufs used by the crypto code for TLS metadata at the beginning and end of each TLS record, that works out to another 1.6M mbufs/sec, for a total of about 8M mbufs/second. With roughly 2 cache line accesses per mbuf, thats 128 bytes * 8M, which is 1 GB/s (8 Gbps) of data that is accessed at multiple layers of the stack (alloc, free, crypto, TCP, socket buffers, drivers, etc).<br>
At this point, were able to serve 100% TLS traffic comfortably at 90 Gbps using the default FreeBSD TCP stack. However, the goalposts keep moving. Weve found that when we use more advanced TCP algorithms, such as RACK and BBR, we are still a bit short of our goal. We have several ideas that we are currently pursuing, which range from optimizing the new TCP code to increasing the efficiency of LRO to trying to do encryption closer to the transfer of the data (either from the disk, or to the NIC) so as to take better advantage of Intels DDIO and save memory bandwidth.</p>
</blockquote>

<hr>

<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html" target="_blank" rel="nofollow noopener">FreeBSD April to June 2017 Status Report</a></h3>

<p><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD-Team-Reports" target="_blank" rel="nofollow noopener">FreeBSD Team Reports</a><br>
</p><ul><li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD-Release-Engineering-Team" target="_blank" rel="nofollow noopener">FreeBSD Release Engineering Team</a></li><br>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Ports-Collection" target="_blank" rel="nofollow noopener">Ports Collection</a></li><br>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#The-FreeBSD-Core-Team" target="_blank" rel="nofollow noopener">The FreeBSD Core Team</a></li><br>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#The-FreeBSD-Foundation" target="_blank" rel="nofollow noopener">The FreeBSD Foundation</a></li><br>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#The-Postmaster-Team" target="_blank" rel="nofollow noopener">The Postmaster Team</a></li></ul>

<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Projects" target="_blank" rel="nofollow noopener">Projects</a></h3><ul>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#64-bit-Inode-Numbers" target="_blank" rel="nofollow noopener">64-bit Inode Numbers</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Capability-Based-Network-Communication-for-Capsicum/CloudABI" target="_blank" rel="nofollow noopener">Capability-Based Network Communication for Capsicum/CloudABI</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Ceph-on-FreeBSD" target="_blank" rel="nofollow noopener">Ceph on FreeBSD</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#DTS-Updates" target="_blank" rel="nofollow noopener">DTS Updates</a></li></ul>
<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Kernel" target="_blank" rel="nofollow noopener">Kernel</a></h3><ul>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Coda-revival" target="_blank" rel="nofollow noopener">Coda revival</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD-Driver-for-the-Annapurna-Labs-ENA" target="_blank" rel="nofollow noopener">FreeBSD Driver for the Annapurna Labs ENA</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Intel-10G-Driver-Update" target="_blank" rel="nofollow noopener">Intel 10G Driver Update</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#pNFS-Server-Plan-B" target="_blank" rel="nofollow noopener">pNFS Server Plan B</a></li></ul>
<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Architectures" target="_blank" rel="nofollow noopener">Architectures</a></h3><ul>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD-on-Marvell-Armada38x" target="_blank" rel="nofollow noopener">FreeBSD on Marvell Armada38x</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#FreeBSD/arm64" target="_blank" rel="nofollow noopener">FreeBSD/arm64</a></li></ul>
<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Userland-Programs" target="_blank" rel="nofollow noopener">Userland Programs</a></h3><ul>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#DTC" target="_blank" rel="nofollow noopener">DTC</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Using-LLVM's-LLD-Linker-as-FreeBSD's-System-Linker" target="_blank" rel="nofollow noopener">Using LLVM's LLD Linker as FreeBSD's System Linker</a></li></ul>
<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Ports" target="_blank" rel="nofollow noopener">Ports</a></h3><ul>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#A-New-USES-Macro-for-Porting-Cargo-Based-Rust-Applications" target="_blank" rel="nofollow noopener">A New USES Macro for Porting Cargo-Based Rust Applications</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#GCC-(GNU-Compiler-Collection)" target="_blank" rel="nofollow noopener">GCC (GNU Compiler Collection)</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#GNOME-on-FreeBSD" target="_blank" rel="nofollow noopener">GNOME on FreeBSD</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#KDE-on-FreeBSD" target="_blank" rel="nofollow noopener">KDE on FreeBSD</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#New-Port:-FRRouting" target="_blank" rel="nofollow noopener">New Port: FRRouting</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#PHP-Ports:-Help-Improving-QA" target="_blank" rel="nofollow noopener">PHP Ports: Help Improving QA</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Rust" target="_blank" rel="nofollow noopener">Rust</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#sndio-Support-in-the-FreeBSD-Ports-Collection" target="_blank" rel="nofollow noopener">sndio Support in the FreeBSD Ports Collection</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#TensorFlow" target="_blank" rel="nofollow noopener">TensorFlow</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Updating-Port-Metadata-for-non-x86-Architectures" target="_blank" rel="nofollow noopener">Updating Port Metadata for non-x86 Architectures</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Xfce-on-FreeBSD" target="_blank" rel="nofollow noopener">Xfce on FreeBSD</a></li></ul>
<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Documentation" target="_blank" rel="nofollow noopener">Documentation</a></h3><ul>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Absolute-FreeBSD,-3rd-Edition" target="_blank" rel="nofollow noopener">Absolute FreeBSD, 3rd Edition</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Doc-Version-Strings-Improved-by-Their-Absence" target="_blank" rel="nofollow noopener">Doc Version Strings Improved by Their Absence</a></li>
<li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#New-Xen-Handbook-Section" target="_blank" rel="nofollow noopener">New Xen Handbook Section</a></li></ul>
<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#Miscellaneous" target="_blank" rel="nofollow noopener">Miscellaneous</a></h3>

<ul><li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#BSD-Meetups-at-Rennes-(France)" target="_blank" rel="nofollow noopener">BSD Meetups at Rennes (France)</a></li></ul>

<h3><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.htmlThird-Party-Projects" target="_blank" rel="nofollow noopener">Third-Party Projects</a></h3>

<ul><li><a href="https://www.freebsd.org/news/status/report-2017-04-2017-06.html#HardenedBSD" target="_blank" rel="nofollow noopener">HardenedBSD</a></li></ul>

<hr>

<h3><a href="https://www.pscp.tv/DPDKProject/1dRKZnleWbmKB?t=5h1m0s" target="_blank" rel="nofollow noopener">DPDK, VPP, and the future of pfSense @ the DPDK Summit</a></h3>

<ul>
<li>The DPDK (Data Plane Development Kit) conference included a short update from the pfSense project</li>
<li>The video starts with a quick introduction to pfSense and the company behind it</li>
<li>It covers the issues they ran into trying to scale to 10gbps and beyond, and some of the solutions they tried: libuinet, netmap, packet-journey</li>
<li>Then they discovered VPP (Vector Packet Processing)</li>
<li>The video then covers the architecture of the new pfSense</li>
<li>pfSense has launched of EC2, on Azure soon, and will launch support for the new Atom C3000 and Xeon hardware with built-in QAT (Quick-Assist crypto offload) in November</li>
<li>The future: 100gbps, MPLS, VXLANs, and ARM64 hardware support
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://wiki.freebsd.org/VladimirKrstulja/Guides/FreeBSDUpdateReverseProxy" target="_blank" rel="nofollow noopener">Local nginx reverse proxy cache for freebsd-update</a></h3>

<ul>
<li>Vladimir Krstulja has created this interesting tutorial on the FreeBSD wiki about a freebsd-update reverse proxy cache</li>
</ul>

<blockquote>
<p>Either because you're a good netizen and don't want to repeatedly hammer the FreeBSD mirrors to upgrade all your systems, or you want to benefit from the speed of having a local "mirror" (cache, more precisely), running a freebsd update reverse proxy cache with, say, nginx is dead simple.</p>

<ol>
<li>Install nginx somewhere</li>
<li>Configure nginx for a subdomain, say, freebsd-update.example.com</li>
<li>On all your hosts, in all your jails, configure /etc/freebsd-update.conf for new ServerName
And... that's it. Running freebsd-update will use the ServerName domain which is your reverse nginx proxy. Note the comment about using a "nearby" server is not quite true. FreeBSD update mirrors are frequently slow and running such a reverse proxy cache significantly speeds things up.
Caveats: This is a simple cache. That means it doesn't consider the files as a whole repository, which in turn means updates to your cache are not atomic. It'd be advised to nuke your cache before your update run, as its point is only to retain the files in a local cache for some short period of time required for all your machines to be updated.
***</li>
</ol>
</blockquote>

<h3><a href="https://clonos.tekroutine.com/" target="_blank" rel="nofollow noopener">ClonOS is a free, open-source FreeBSD-based platform for virtual environment creation and management</a></h3>

<blockquote>
<p>The operating system uses FreeBSD's development branch (12.0-CURRENT) as its base. ClonOS uses ZFS as the default file system and includes web-based administration tools for managing virtual machines and jails. The project's website also mentions the availability of templates for quickly setting up new containers and web-based VNC access to jails. Puppet, we are told, can be used for configuration management.<br>
ClonOS can be downloaded as a disk image file (IMG) or as an optical media image (ISO). I downloaded the ISO file which is 1.6GB in size. Booting from ClonOS's media displays a text console asking us to select the type of text terminal we are using. There are four options and most people can probably safely take the default, xterm, option.<br>
The operating system, on the surface, appears to be a full installation of FreeBSD 12. The usual collection of FreeBSD packages are available, including manual pages, a compiler and the typical selection of UNIX command line utilities. The operating system uses ZFS as its file system and uses approximately 3.3GB of disk space. ClonOS requires about 50MB of active memory and 143MB of wired memory before any services or jails are created.<br>
Most of the key features of ClonOS, the parts which set it apart from vanilla FreeBSD, can be accessed through a web-based control panel. When we connect to this control panel, over a plain HTTP connection, using our web browser, we are not prompted for an account name or password. The web-based interface has a straight forward layout. Down the left side of the browser window we find categories of options and controls. Over on the right side of the window are the specific options or controls available in the selected category. At the top of the page there is a drop-down menu where we can toggle the displayed language between English and Russian, with English being the default.<br>
There are twelve option screens we can access in the ClonOS interface and I want to quickly give a summary of each one:</p>
</blockquote>

<ul>
<li>Overview - this page shows a top-level status summary. The page lists the number of jails and nodes in the system. We are also shown the number of available CPU cores and available RAM on the system.</li>
<li>Jail containers - this page allows us to create and delete jails. We can also change some basic jail settings on this page, adjusting the network configuration and hostname. Plus we can click a button to open a VNC window that allows us to access the jail's command line interface.</li>
<li>Template for jails - provides a list of available jail templates. Each template is listed with its name and a brief description. For example, we have a Wordpress template and a bittorrent template. We can click a listed template to create a new jail with a vanilla installation of the selected software included. We cannot download or create new templates from this page.</li>
<li>Bhyve VMs - this page is very much like the Jails containers page, but concerns the creation of new virtual machines and managing them.</li>
<li>Virtual Private Network - allows for the management of subnets</li>
<li>Authkeys - upload security keys for something, but it is not clear for what these keys will be used.</li>
<li>Storage media - upload ISO files that will be used when creating virtual machines and installing an operating system in the new virtual environment.</li>
<li>FreeBSD Bases - I think this page downloads and builds source code for alternative versions of FreeBSD, but I am unsure and could not find any associated documentation for this page.</li>
<li>FreeBSD Sources - download source code for various versions of FreeBSD.</li>
<li>TaskLog - browse logs of events, particularly actions concerning jails.</li>
<li>SQLite admin - this page says it will open an interface for managing a SQLite database. Clicking link on the page gives a file not found error.</li>
<li>Settings - this page simply displays a message saying the settings page has not been implemented yet.</li>
</ul>

<blockquote>
<p>While playing with ClonOS, I wanted to perform a couple of simple tasks. I wanted to use the Wordpress template to set up a blog inside a jail. I wanted a generic, empty jail in which I could play and run commands without harming the rest of the operating system. I also wanted to try installing an operating system other than FreeBSD inside a Bhyve virtual environment. I thought this would give me a pretty good idea of how quick and easy ClonOS would make common tasks.</p>
</blockquote>

<ul>
<li>Conclusions</li>
</ul>

<blockquote>
<p>ClonOS appears to be in its early stages of development, more of a feature preview or proof-of-concept than a polished product. A few of the settings pages have not been finished yet, the web-based controls for jails are unable to create jails that connect to the network and I was unable to upload even small ISO files to create virtual machines.<br>
The project's website mentions working with Puppet to handle system configuration, but I did not encounter any Puppet options. There also does not appear to be any documentation on using Puppet on the ClonOS platform.<br>
One of the biggest concerns I had was the lack of security on ClonOS. The web-based control panel and terminal both automatically login as the root user. Passwords we create for our accounts are ignored and we cannot logout of the local terminal. This means anyone with physical access to the server automatically gains root access and, in addition, anyone on our local network gets access to the web-based admin panel. As it stands, it would not be safe to install ClonOS on a shared network.<br>
Some of the ideas present are good ones. I like the idea of jail templates and have used them on other systems. The graphical Bhyve tools could be useful too, if the limitations of the ISO manager are sorted out. But right now, ClonOS still has a way to go before it is likely to be safe or practical to use.</p>

<hr>
</blockquote>

<h3><a href="http://nanxiao.me/en/customize-ksh-display-for-openbsd/" target="_blank" rel="nofollow noopener">Customize ksh display for OpenBSD</a></h3>

<blockquote>
<p>The default shell for OpenBSD is ksh, and it looks a little monotonous.<br>
To make its user-experience more friendly, I need to do some customizations:<br>
(1) Modify the Prompt String to display the user name and current directory:<br>
PS1='$USER:$PWD# '<br>
(2) Install colorls package:<br>
pkg_add colorls<br>
Use it to replace the shipped ls command:<br>
alias ls='colorls -G'<br>
(3) Change LSCOLORS environmental variable to make your favorite color. For example, I dont want the directory is displayed in default blue, change it to magenta:<br>
LSCOLORS=fxexcxdxbxegedabagacad<br>
For detailed explanation of LSCOLORS, please refer manual of colorls.<br>
This is my final modification of .profile:<br>
PS1='$USER:$PWD# '<br>
export PS1<br>
LSCOLORS=fxexcxdxbxegedabagacad<br>
export LSCOLORS<br>
alias ls='colorls -G'</p>

<hr>
</blockquote>

<h3><a href="https://www.dragonflydigest.com/2017/10/02/20295.html" target="_blank" rel="nofollow noopener">DragonFly 5 release candidate</a></h3>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2017-September/626463.html" target="_blank" rel="nofollow noopener">Commit</a></li>
</ul>

<blockquote>
<p>I tagged DragonFly 5.0 (commit message list in that link) over the weekend, and theres a <a href="http://mirror-master.dragonflybsd.org/iso-images/" target="_blank" rel="nofollow noopener">5.0 release candidate for download</a>.<br>
Its RC2 because the recent Radeon changes <a href="http://lists.dragonflybsd.org/pipermail/commits/2017-September/626476.html" target="_blank" rel="nofollow noopener">had to be taken out.</a></p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://www.grenadille.net/post/2017/08/21/Faster-forwarding" target="_blank" rel="nofollow noopener">Faster forwarding</a></li>
<li><a href="http://www.freshports.org/graphics/drm-next-kmod/" target="_blank" rel="nofollow noopener">DRM-Next-Kmod hits the ports tree</a></li>
<li><a href="https://undeadly.org/cgi?action=article;sid=20170829025446" target="_blank" rel="nofollow noopener">OpenBSD Community Goes Platinum</a></li>
<li><a href="https://www.youtube.com/watch?v=4myESLZPXBU" target="_blank" rel="nofollow noopener">Setting up iSCSI on TrueOS and FreeBSD12</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Christopher - <a href="http://dpaste.com/38G99CK#wrap" target="_blank" rel="nofollow noopener">Virtualizing FreeNAS</a></li>
<li>Van - <a href="http://dpaste.com/3MEPD3S#wrap" target="_blank" rel="nofollow noopener">Tar Question</a></li>
<li>Joe - <a href="http://dpaste.com/0T623Z6#wrap" target="_blank" rel="nofollow noopener">Book Reviews</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>214: The history of man, kind</title>
  <link>https://www.bsdnow.tv/214</link>
  <guid isPermaLink="false">207dad42-9da7-47e3-a6d7-4fd257905cf1</guid>
  <pubDate>Wed, 04 Oct 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/207dad42-9da7-47e3-a6d7-4fd257905cf1.mp3" length="65043220" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The costs of open sourcing a project are explored, we discover why PS4 downloads are so slow, delve into the history of UNIX man pages, and more.</itunes:subtitle>
  <itunes:duration>1:30:20</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>&lt;p&gt;The costs of open sourcing a project are explored, we discover why PS4 downloads are so slow, delve into the history of UNIX man pages, and more.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://meshedinsights.com/2016/09/20/open-source-unlikely-to-be-abandonware/" target="_blank" rel="nofollow noopener"&gt;The Cost Of Open Sourcing Your Project&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Accusing a company of “dumping” their project as open source is probably misplaced – it’s an expensive business no-one would do frivolously.&lt;br&gt;
If you see an active move to change software licensing or governance, it’s likely someone is paying for it and thus could justify the expense to an executive.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A Little History&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Some case study cameos may help. From 2004 onwards, Sun Microsystems had a policy of all its software moving to open source. The company migrated almost all products to open source licenses, and had varying degrees of success engaging communities around the various projects, largely related to the outlooks of the product management and Sun developers for the project.&lt;br&gt;
Sun occasionally received requests to make older, retired products open source. For example, Sun acquired a company called Lighthouse Design which created a respected suite of office productivity software for Steve Jobs’ NeXT platform. Strategy changes meant that software headed for the vault (while Jonathan Schwartz, a founder of Lighthouse, headed for the executive suite). Members of the public asked if Sun would open source some of this software, but these requests were declined because there was no business unit willing to fund the move.&lt;br&gt;
When Sun was later bought by Oracle, a number of those projects that had been made open source were abandoned. “Abandoning” software doesn’t mean leaving it for others; it means simply walking away from wherever you left it. In the case of Sun’s popular identity middleware products, that meant Oracle let the staff go and tried to migrate customers to other products, while remaining silent in public on the future of the project. But the code was already open source, so the user community was able to pick up the pieces and carry on, with help from Forgerock.&lt;br&gt;
It costs a lot of money to open source a mature piece of commercial software, even if all you are doing is “throwing a tarball over the wall”. That’s why companies abandoning software they no longer care about so rarely make it open source, and those abandoning open source projects rarely move them to new homes that benefit others.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;If all you have thought about is the eventual outcome, you may be surprised how expensive it is to get there. Costs include: For throwing a tarball over the wall:&lt;/li&gt;
&lt;li&gt;Legal clearance.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Having the right to use the software is not the same as giving everyone in the world an unrestricted right to use it and create derivatives. Checking every line of code to make sure you have the rights necessary to release under an OSI-approved license is a big task requiring high-value employees on the “liberation team”. That includes both developers and lawyers; neither come cheap.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Repackaging.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;To pass it to others, a self-contained package containing all necessary source code, build scripts and non-public source and tool dependencies has to be created since it is quite unlikely to exist internally. Again, the liberation team will need your best developers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Preserving provenance.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Just because you have confidence that you have the rights to the code, that doesn’t mean anyone else will. The version control system probably contains much of the information that gives confidence about who wrote which code, so the repackaging needs to also include a way to migrate the commit information.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Code cleaning.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The file headers will hopefully include origin information but the liberation team had better check. They also need to check the comments for libel and profanities, not to mention trade secrets (especially those from third parties) and other IP issues.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;For a sustainable project, all the above plus:&lt;/li&gt;
&lt;li&gt;Compliance with host governance.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It is a fantastic idea to move your project to a host like Apache, Conservancy, Public Software and so on. But doing so requires preparatory work. As a minimum you will need to negotiate with the new host organisation, and they may well need you to satisfy their process requirements. Paperwork obviously, but also the code may need conforming copyright statements and more. That’s more work for your liberation team.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Migration of rights.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Your code has an existing community who will need to migrate to your new host. That includes your staff – they are community too! They will need commit rights, governance rights, social media rights and more. Your liberation team will need your community manager, obviously, but may also need HR input.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Endowment.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Keeping your project alive will take money. It’s all been coming from you up to this point, but if you simply walk away before the financial burden has been accepted by the new community and hosts there may be a problem. You should consider making an endowment to your new host to pay for their migration costs plus the cost of hosting the community for at least a year.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Marketing.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Explaining the move you are making, the reasons why you are making it and the benefits for you and the community is important. If you don’t do it, there are plenty of trolls around who will do it for you. Creating a news blog post and an FAQ — the minimum effort necessary — really does take someone experienced and you’ll want to add such a person to your liberation team.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Motivations&lt;/li&gt;
&lt;li&gt;There has to be some commercial reason that makes the time, effort and thus expense worth incurring. Some examples of motivations include:&lt;/li&gt;
&lt;li&gt;Market Strategy.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;An increasing number of companies are choosing to create substantial, openly-governed open source communities around software that contributes to their business. An open multi-stakeholder co-developer community is an excellent vehicle for innovation at the lowest cost to all involved. As long as your market strategy doesn’t require creating artificial scarcity.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Contract with a third party.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;While the owner of the code may no longer be interested, there may be one or more parties to which they owe a contractual responsibility. Rather than breaching that contract, or buying it out, a move to open source may be better. Some sources suggest a contractual obligation to IBM was the reason Oracle abandoned OpenOffice.org by moving it over to the Apache Software Foundation for example.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Larger dependent ecosystem.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;You may have no further use for the code itself, but you may well have other parts of your business which depend on it. If they are willing to collectively fund development you might consider an “inner source” strategy which will save you many of the costs above. But the best way to proceed may well be to open the code so your teams and those in other companies can fund the code.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Internal politics.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;From the outside, corporations look monolithic, but from the inside it becomes clear they are a microcosm of the market in which they exist. As a result, they have political machinations that may be addressed by open source. One of Oracle’s motivations for moving NetBeans to Apache seems to have been political. Despite multiple internal groups needing it to exist, the code was not generating enough direct revenue to satisfy successive executive owners, who allegedly tried to abandon it on more than one occasion. Donating it to Apache meant that couldn’t happen again.&lt;/p&gt;

&lt;p&gt;None of this is to say a move to open source guarantees the success of a project. A “Field of Dreams” strategy only works in the movies, after all. But while it may be tempting to look at a failed corporate liberation and describe it as “abandonware”, chances are it was intended as nothing of the kind.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.snellman.net/blog/archive/2017-08-19-slow-ps4-downloads/" target="_blank" rel="nofollow noopener"&gt;Why PS4 downloads are so slow&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;From the blog that brought us “&lt;a href="https://www.snellman.net/blog/archive/2017-04-17-xxx-fixme/" target="_blank" rel="nofollow noopener"&gt;The origins of XXX as FIXME&lt;/a&gt;” and “&lt;a href="https://www.snellman.net/blog/archive/2017-07-20-s3-mystery/" target="_blank" rel="nofollow noopener"&gt;The mystery of the hanging S3 downloads&lt;/a&gt;”, this week it is: “Why are PS4 downloads so slow?”&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Game downloads on PS4 have a reputation of being very slow, with many people reporting downloads being an order of magnitude faster on Steam or Xbox. This had long been on my list of things to look into, but at a pretty low priority. After all, the PS4 operating system is based on a reasonably modern FreeBSD (9.0), so there should not be any crippling issues in the TCP stack.&lt;br&gt;
The implication is that the problem is something boring, like an inadequately dimensioned CDN. But then I heard that people were successfully using local HTTP proxies as a workaround. It should be pretty rare for that to actually help with download speeds, which made this sound like a much more interesting problem.&lt;br&gt;
Before running any experiments, it's good to have a mental model of how the thing we're testing works, and where the problems might be. If nothing else, it will guide the initial experiment design.&lt;br&gt;
 The speed of a steady-state TCP connection is basically defined by three numbers. The amount of data the client is will to receive on a single round-trip (TCP receive window), the amount of data the server is willing to send on a single round-trip (TCP congestion window), and the round trip latency between the client and the server (RTT). To a first approximation, the connection speed will be:&lt;br&gt;
  &lt;code&gt; speed = min(rwin, cwin) / RTT &lt;/code&gt;&lt;br&gt;
With this model, how could a proxy speed up the connection?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The speed through the proxy should be the minimum of the speed between the client and proxy, and the proxy and server. It should only possibly be slower&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;With a local proxy the client-proxy RTT will be very low; that connection is almost guaranteed to be the faster one. The improvement will have to be from the server-proxy connection being somehow better than the direct client-server one. The RTT will not change, so there are just two options: either the client has a much smaller receive window than the proxy, or the client is somehow causing the server's congestion window to decrease. (E.g. the client is randomly dropping received packets, while the proxy isn't).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;After setting up a test rig, where the PS4’s connection was bridged through a linux box so packets could be captured, and artificial latency could be added, some interested results came up:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The differences in receive windows at different times are striking. And more important, the changes in the receive windows correspond very well to specific things I did on the PS4&lt;br&gt;
When the download was started, the game Styx: Shards of Darkness was running in the background (just idling in the title screen). The download was limited by a receive window of under 7kB. This is an incredibly low value; it's basically going to cause the downloads to take 100 times longer than they should. And this was not a coincidence, whenever that game was running, the receive window would be that low.&lt;br&gt;
Having an app running (e.g. Netflix, Spotify) limited the receive window to 128kB, for about a 5x reduction in potential download speed.&lt;br&gt;
Moving apps, games, or the download window to the foreground or background didn't have any effect on the receive window.&lt;br&gt;
Playing an online match in a networked game (Dreadnought) caused the receive window to be artificially limited to 7kB.&lt;br&gt;
I ran a speedtest at a time when downloads were limited to 7kB receive window. It got a decent receive window of over 400kB; the conclusion is that the artificial receive window limit appears to only apply to PSN downloads.&lt;br&gt;
When a game was started (causing the previously running game to be stopped automatically), the receive window could increase to 650kB for a very brief period of time. Basically it appears that the receive window gets unclamped when the old game stops, and then clamped again a few seconds later when the new game actually starts up.&lt;br&gt;
I did a few more test runs, and all of them seemed to support the above findings. The only additional information from that testing is that the rest mode behavior was dependent on the PS4 settings. Originally I had it set up to suspend apps when in rest mode. If that setting was disabled, the apps would be closed when entering in rest mode, and the downloads would proceed at full speed.&lt;br&gt;
The PS4 doesn't make it very obvious exactly what programs are running. For games, the interaction model is that opening a new game closes the previously running one. This is not how other apps work; they remain in the background indefinitely until you explicitly close them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;So, FreeBSD and its network stack are not to blame&lt;/li&gt;
&lt;li&gt;Sony used a poor method to try to keep downloads from interfering with your gameplay&lt;/li&gt;
&lt;li&gt;The impact of changing the receive window is highly dependant upon RTT, so it doesn’t work as evenly as actual traffic shaping or queueing would.&lt;/li&gt;
&lt;li&gt;An interesting deep dive, it is well worth reading the full article and checking out the graphs
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.openssh.com/releasenotes.html#7.6" target="_blank" rel="nofollow noopener"&gt;OpenSSH 7.6 Released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;From the release notes:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This release includes a number of changes that may affect existing&lt;br&gt;
configurations:&lt;br&gt;
ssh(1): delete SSH protocol version 1 support, associated&lt;br&gt;
   configuration options and documentation.&lt;br&gt;
 ssh(1)/sshd(8): remove support for the hmac-ripemd160 MAC.&lt;br&gt;
 ssh(1)/sshd(8): remove support for the arcfour, blowfish and CAST&lt;br&gt;
Refuse RSA keys &amp;lt;1024 bits in length and improve reporting for keys that do not meet &lt;br&gt;
this requirement.&lt;br&gt;
ssh(1): do not offer CBC ciphers by default.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Changes since OpenSSH 7.5&lt;/li&gt;
&lt;li&gt;This is primarily a bugfix release. It also contains substantial internal refactoring.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Security: sftp-server(8): in read-only mode, sftp-server was incorrectly permitting creation of zero-length files. Reported by Michal Zalewski.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;New features: &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ssh(1): add RemoteCommand option to specify a command in the ssh config file instead of giving it on the client's command line. This allows the configuration file to specify the command that will be executed on the remote host.&lt;br&gt;
sshd(8): add ExposeAuthInfo option that enables writing details of the authentication methods used (including public keys where applicable) to a file that is exposed via a $SSH_USER_AUTH environment variable in the subsequent session.&lt;br&gt;
ssh(1): add support for reverse dynamic forwarding. In this mode, ssh will act as a SOCKS4/5 proxy and forward connections to destinations requested by the remote SOCKS client. This mode is requested using extended syntax for the -R and RemoteForward options and, because it is implemented solely at the client, does not require the server be updated to be supported.&lt;br&gt;
sshd(8): allow LogLevel directive in sshd_config Match blocks;&lt;br&gt;
ssh-keygen(1): allow inclusion of arbitrary string or flag certificate extensions and critical options.&lt;br&gt;
ssh-keygen(1): allow ssh-keygen to use a key held in ssh-agent as a CA when signing certificates.&lt;br&gt;
 ssh(1)/sshd(8): allow IPQoS=none in ssh/sshd to not set an explicit ToS/DSCP value and just use the operating system default.&lt;br&gt;
ssh-add(1): added -q option to make ssh-add quiet on success.&lt;br&gt;
ssh(1): expand the StrictHostKeyChecking option with two new settings. The first "accept-new" will automatically accept hitherto-unseen keys but will refuse connections for changed or invalid hostkeys. This is a safer subset of the current behaviour of StrictHostKeyChecking=no. The second setting "off", is a synonym for the current behaviour of StrictHostKeyChecking=no: accept new host keys, and continue connection for hosts with incorrect hostkeys. A future release will change the meaning of StrictHostKeyChecking=no to the behaviour of "accept-new".&lt;br&gt;
ssh(1): add SyslogFacility option to ssh(1) matching the equivalent option in sshd(8).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Check out the bugfixes and portability sections, too. 
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.project-fifo.net/freebsd-in-fifo-0-9-3/" target="_blank" rel="nofollow noopener"&gt;FreeBSD comes to FiFo 0.9.3 with vmadm&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;What is Project FiFo? It’s an Open Source SmartOS Cloud Management and orchestration software. FiFo can be installed on SmartOS zones, running on standard compute nodes. There is no need for dedicated hardware or server roles.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;FiFo 0.9.3 has been in the works for a while, and it comes with quite a few new features. With our last release, we started experimenting with FreeBSD support. Since then much work has gone into improving this. We also did something rather exciting with the mystery box! However, more on that in a later post.&lt;br&gt;
The stable release of 0.9.3 will land within a few days with only packaging and documentation tasks left to do. Part of this means that we’ll have packages for all major components that work natively on BSD. There is no more need for a SmartOS box to run the components!&lt;br&gt;
When we introduced FreeBSD support last version we marked it as an experimental feature. We needed to try out and experiment what works and what does not. Understand the way FreeBSD does things, what tools exist, and how those align with our workflow. Bottomline we were not even sure BSD support was a thing in the future.&lt;br&gt;
We are happy to announce that with 0.9.3 we are now sure BSD support is a thing, and it is here to remain. That said it was good that we experimented in the last release, we did some significant changes to what we have now. When first looking at FreeBSD we went ahead and used existing tooling, namely iocage, to manage jails. It turns out the tooling around jails is not on par with what exists on illumos and especially SmartOS. The goodness of vmadm as a CLI for managing zones is just unparalleled. So we do what every (in)sane person would do!&lt;br&gt;
So with 0.9.3, we did what every (in)sane person would do! We implemented a version of vmadm that would work with FreeBSD and jails and keep the same CLI. Our clone works completely stand alone; vmadm is a compiled binary, written in rust which is blazing fast! The design takes up lessons learned from both zoneadm and vmadm in illumos/SmartOS for how things work instead of trying to reinvent the wheel. Moreover, while we love giving the FreeBSD community a tool we learned to love on SmartOS this also makes things a lot easier for us. FiFo now can use the same logic on SmartOS and FreeBSD as the differences are abstracted away inside of vmadm. That said there are a few notable differences.&lt;br&gt;
First of all, vmadm uses datasets the same way it does on SmartOS. However, there is no separate imgadm tool. Instead, we encapsulate the commands under vmadm images. To make this work we also provide a dataset server with base images for FreeBSD that used the same API as SmartOS dataset servers. Second, we needed to work around some limitations in VNET to make jails capable of being fully utilized in multi-tenancy environments.&lt;br&gt;
Nested vnet jails on freebsd While on illumos a virtual nic can be bound to an IP that can not be changed from inside the zone, VNET does not support this. Preventing tenants from messing with IP settings is crucial from a security standpoint!&lt;br&gt;
To work around that each jail created by vmadm are two jails: a minimal outer jail with nothing but a VNET interface, no IP or anything and an internal one that runs the user code. This outer jail then creates an inner jail with an inherited NIC that gets a fixed IP, combining both the security of a VNET jail as well as the security of a fixed IP interface.&lt;br&gt;
The nested jail layout resembles the way that SmartOS handles KVM machines, running KVM inside a zone. So in addition to working around VNET limitations, this already paves the way for bhyve nested in jails that might come in a future release. We hope to leverage the same two-step with just a different executable started in the outer jail instead of the jail command itself.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://manpages.bsd.lv/history.html" target="_blank" rel="nofollow noopener"&gt;History of UNIX Manpages&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Where do UNIX manpages come from? Who introduced the section-based layout of NAME, SYNOPSIS, and so on? And for manpage source writers and readers: where were those economical two- and three-letter instructions developed? The many accounts available on the Internet lack citations and are at times inconsistent.&lt;br&gt;
In this article, I reconstruct the history of the UNIX manpage based on source code, manuals, and first-hand accounts.&lt;br&gt;
Special thanks to Paul Pierce for his CTSS source archive; Bernard Nivelet for the Multics Internet Server; the UNIX Heritage Society for their research UNIX source reconstruction; Gunnar Ritter for the Heirloom Project sources; Alcatel-Lucent Bell Labs for the Plan 9 sources; BitSavers for their historical archive; and last but not least, Rudd Canaday, James Clarke, Brian Kernighan, Douglas McIlroy, Nils-Peter Nelson, Jerome Saltzer, Henry Spencer, Ken Thompson, and Tom Van Vleck for their valuable contributions.&lt;/p&gt;

&lt;p&gt;Please see the Copyright section if you plan on reproducing parts of this work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;People:

&lt;ul&gt;
&lt;li&gt;Abell, Vic&lt;/li&gt;
&lt;li&gt;Canaday, Rudd&lt;/li&gt;
&lt;li&gt;Capps, Dennis&lt;/li&gt;
&lt;li&gt;Clarke, James&lt;/li&gt;
&lt;li&gt;Dzonsons, Kristaps&lt;/li&gt;
&lt;li&gt;Kernighan, Brian&lt;/li&gt;
&lt;li&gt;Madnick, Stuart&lt;/li&gt;
&lt;li&gt;McIlroy, Douglas&lt;/li&gt;
&lt;li&gt;Morris, Robert&lt;/li&gt;
&lt;li&gt;Ossanna, Joseph F.&lt;/li&gt;
&lt;li&gt;Ritchie, Dennis&lt;/li&gt;
&lt;li&gt;Ritter, Gunnar&lt;/li&gt;
&lt;li&gt;Saltzer, Jerome H.&lt;/li&gt;
&lt;li&gt;Spencer, Henry&lt;/li&gt;
&lt;li&gt;Thompson, Ken
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/bsdcam-2017-trip-report-mathieu-arnold/" target="_blank" rel="nofollow noopener"&gt;BSDCam 2017 Trip Report: Mathieu Arnold&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;It seems that every time I try to go to England using the Eurostar, it gets delayed between 30 minutes and 2 hours. This year, it got my 45 minute layover down to 10 minutes. Luckily, King’s Cross is literally across the street from Saint Pancras, and I managed to get into my second train just in time.&lt;br&gt;
I arrived in Cambridge on Tuesday right on time for tea. A quick walk from the station got me to St Catharine’s College. This year, we were in a different building for the rooms, so I listened to the convoluted explanation the porter gave me to get to my room, I managed to get there without getting lost more than once. That evening was almost organized as we got together for dinner at the usual pub, the Maypole.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Wednesday:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The weather is lovely, and it is a good thing as there is a 25-30 minute walk from the College to the Computer Laboratory where the devsummit happens. The first morning is for deciding what we are going to talk about for the rest of the week, so we all go in turn introducing ourselves and voicing about what we would like to talk about. There are a few subjects that are of interest to me, so I listen to the toolchain discussions while writing new bits for the Porter’s Handbook.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Thursday:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I spent most of the day writing documentation, and talked a bit with a couple of DocEng members about joining the team as I would like to give some love to the build framework that has not been touched in a long time. At the end of the afternoon is a packaging session, we talked about the status of package in base, which is not really going anywhere right now. On the ports side, three aspects that are making good progress include, package flavors, sub packages, and migrating some base libraries to private libraries, which is a nightmare because of openssl, and kerberos, and pam. That evening, we had the formal diner at St John’s College, I love those old buildings that reminds me of Hogwarts. (I am sure there is a quidditch pitch somewhere nearby.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Friday:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Last day. I continued to write documentation, while listening to a provisioning session. It would be great to have bhyve support in existing orchestration tools like vagrant, openstack, or maybe ganeti. We end the day, and the devsummit with short talks, some very interesting, some going way over my head.&lt;br&gt;
The weekend is here. I spent most of Saturday strolling in some of the numerous Cambridge parks, gardens, greens, fens… and I worked on a knitting pattern in the evening. On Sunday, I ate my last full gargantuan english breakfast of the year, and then back in a train to King’s Cross, and a Eurostar (this one on time) back to Paris.&lt;br&gt;
I would like to thank the FreeBSD Foundation for making this trip possible for me.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/gsoc_2017_reports_add_code" target="_blank" rel="nofollow noopener"&gt;GSoC 2017 Reports: Add SUBPACKAGES support to pkgsrc, part 1&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;li&gt;SUBPACKAGES (on some package systems they are known as multi-packages, but this term for pkgsrc is already used by packages that can be built against several versions (e.g. Python, PHP, Ruby packages)) consist in generating multiple binary packages from a single pkgsrc package. For example, from a pkgsrc package - local/frobnitzem - we will see how to generate three separate binary packages: frobnitzem-foo, frobnitzem-bar and frobnitzem-baz.&lt;/li&gt;
&lt;li&gt;This can be useful to separate several components of binary packages (and avoid to run the extract and configure phase two times!), for debugpkgs (so that all *.debug files containing debug symbols are contained in a separate -debugpkg package that can be installed only when it is needed), etc..&lt;/li&gt;
&lt;li&gt;An high-level look at how SUBPACKAGES support is implemented&lt;/li&gt;
&lt;li&gt;Most of the changes needed are in mk/pkgformat/pkg/ hierarchy (previously known as mk/flavour and then renamed and generalized to other package formats during Anton Panev's Google Summer of Code 2011).&lt;/li&gt;
&lt;li&gt;The code in mk/pkgformat/${PKG_FORMAT}/ handle the interaction of pkgsrc with the particular ${PKG_FORMAT}, e.g. for pkg populate meta-data files used by pkg_create(1), install/delete packages via pkg_add(1), and pkg_delete(1), etc.&lt;/li&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;li&gt;In this first part of this blog post series we have seen what are SUBPACKAGES, when and why they can be useful.&lt;/li&gt;
&lt;li&gt;We have then seen a practical example of them taking a very trivial package and learned how to "subpackage-ify" it.&lt;/li&gt;
&lt;li&gt;Then we have described - from an high-level perspective - the changes needed to the pkgsrc infrastructure for the SUBPACKAGES features that we have used. If you are more interested in them please give a look to the pkgsrc debugpkg branch that contains all work done described in this blog post.&lt;/li&gt;
&lt;li&gt;In the next part we will see how to handle &lt;em&gt;DEPENDS and buildlink3 inclusion for subpackages.
*&lt;/em&gt;*&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dmesgd.nycbug.org/index.cgi?do=view&amp;amp;id=3329" target="_blank" rel="nofollow noopener"&gt;First partial boot of FreeBSD on Power8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/the_new_tnf_board_of" target="_blank" rel="nofollow noopener"&gt;The new TNF Board of Directors are installed and patched for 2017.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://osseu17.sched.com/event/BxJw/seccomp2-vs-pledge2-giovanni-bechis-snb-srl" target="_blank" rel="nofollow noopener"&gt;Open Source Summit 2017 October 23-26, 2017, Prague, Czech Republic Giovanni Bechis will give a talk about seccomp(2) vs pledge(2)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nanxiao.me/en/my-first-patch-to-openbsd/" target="_blank" rel="nofollow noopener"&gt;My first patch to OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Brian - &lt;a href="http://dpaste.com/35WA42Z#wrap" target="_blank" rel="nofollow noopener"&gt;OPNSense Facebook Group&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mark Felder - &lt;a href="http://dpaste.com/0B8QH2W" target="_blank" rel="nofollow noopener"&gt;ZFS Health via SNMP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Matt - &lt;a href="http://dpaste.com/1D9WTHV#wrap" target="_blank" rel="nofollow noopener"&gt;Cantrill Presentation&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The costs of open sourcing a project are explored, we discover why PS4 downloads are so slow, delve into the history of UNIX man pages, and more.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://meshedinsights.com/2016/09/20/open-source-unlikely-to-be-abandonware/" target="_blank" rel="nofollow noopener">The Cost Of Open Sourcing Your Project</a></h3>

<blockquote>
<p>Accusing a company of dumping their project as open source is probably misplaced  its an expensive business no-one would do frivolously.<br>
If you see an active move to change software licensing or governance, its likely someone is paying for it and thus could justify the expense to an executive.</p>
</blockquote>

<ul>
<li>A Little History</li>
</ul>

<blockquote>
<p>Some case study cameos may help. From 2004 onwards, Sun Microsystems had a policy of all its software moving to open source. The company migrated almost all products to open source licenses, and had varying degrees of success engaging communities around the various projects, largely related to the outlooks of the product management and Sun developers for the project.<br>
Sun occasionally received requests to make older, retired products open source. For example, Sun acquired a company called Lighthouse Design which created a respected suite of office productivity software for Steve Jobs NeXT platform. Strategy changes meant that software headed for the vault (while Jonathan Schwartz, a founder of Lighthouse, headed for the executive suite). Members of the public asked if Sun would open source some of this software, but these requests were declined because there was no business unit willing to fund the move.<br>
When Sun was later bought by Oracle, a number of those projects that had been made open source were abandoned. Abandoning software doesnt mean leaving it for others; it means simply walking away from wherever you left it. In the case of Suns popular identity middleware products, that meant Oracle let the staff go and tried to migrate customers to other products, while remaining silent in public on the future of the project. But the code was already open source, so the user community was able to pick up the pieces and carry on, with help from Forgerock.<br>
It costs a lot of money to open source a mature piece of commercial software, even if all you are doing is throwing a tarball over the wall. Thats why companies abandoning software they no longer care about so rarely make it open source, and those abandoning open source projects rarely move them to new homes that benefit others.</p>
</blockquote>

<ul>
<li>If all you have thought about is the eventual outcome, you may be surprised how expensive it is to get there. Costs include: For throwing a tarball over the wall:</li>
<li>Legal clearance.</li>
</ul>

<blockquote>
<p>Having the right to use the software is not the same as giving everyone in the world an unrestricted right to use it and create derivatives. Checking every line of code to make sure you have the rights necessary to release under an OSI-approved license is a big task requiring high-value employees on the liberation team. That includes both developers and lawyers; neither come cheap.</p>
</blockquote>

<ul>
<li>Repackaging.</li>
</ul>

<blockquote>
<p>To pass it to others, a self-contained package containing all necessary source code, build scripts and non-public source and tool dependencies has to be created since it is quite unlikely to exist internally. Again, the liberation team will need your best developers.</p>
</blockquote>

<ul>
<li>Preserving provenance.</li>
</ul>

<blockquote>
<p>Just because you have confidence that you have the rights to the code, that doesnt mean anyone else will. The version control system probably contains much of the information that gives confidence about who wrote which code, so the repackaging needs to also include a way to migrate the commit information.</p>
</blockquote>

<ul>
<li>Code cleaning.</li>
</ul>

<blockquote>
<p>The file headers will hopefully include origin information but the liberation team had better check. They also need to check the comments for libel and profanities, not to mention trade secrets (especially those from third parties) and other IP issues.</p>
</blockquote>

<ul>
<li>For a sustainable project, all the above plus:</li>
<li>Compliance with host governance.</li>
</ul>

<blockquote>
<p>It is a fantastic idea to move your project to a host like Apache, Conservancy, Public Software and so on. But doing so requires preparatory work. As a minimum you will need to negotiate with the new host organisation, and they may well need you to satisfy their process requirements. Paperwork obviously, but also the code may need conforming copyright statements and more. Thats more work for your liberation team.</p>
</blockquote>

<ul>
<li>Migration of rights.</li>
</ul>

<blockquote>
<p>Your code has an existing community who will need to migrate to your new host. That includes your staff  they are community too! They will need commit rights, governance rights, social media rights and more. Your liberation team will need your community manager, obviously, but may also need HR input.</p>
</blockquote>

<ul>
<li>Endowment.</li>
</ul>

<blockquote>
<p>Keeping your project alive will take money. Its all been coming from you up to this point, but if you simply walk away before the financial burden has been accepted by the new community and hosts there may be a problem. You should consider making an endowment to your new host to pay for their migration costs plus the cost of hosting the community for at least a year.</p>
</blockquote>

<ul>
<li>Marketing.</li>
</ul>

<blockquote>
<p>Explaining the move you are making, the reasons why you are making it and the benefits for you and the community is important. If you dont do it, there are plenty of trolls around who will do it for you. Creating a news blog post and an FAQ  the minimum effort necessary  really does take someone experienced and youll want to add such a person to your liberation team.</p>
</blockquote>

<ul>
<li>Motivations</li>
<li>There has to be some commercial reason that makes the time, effort and thus expense worth incurring. Some examples of motivations include:</li>
<li>Market Strategy.</li>
</ul>

<blockquote>
<p>An increasing number of companies are choosing to create substantial, openly-governed open source communities around software that contributes to their business. An open multi-stakeholder co-developer community is an excellent vehicle for innovation at the lowest cost to all involved. As long as your market strategy doesnt require creating artificial scarcity.</p>
</blockquote>

<ul>
<li>Contract with a third party.</li>
</ul>

<blockquote>
<p>While the owner of the code may no longer be interested, there may be one or more parties to which they owe a contractual responsibility. Rather than breaching that contract, or buying it out, a move to open source may be better. Some sources suggest a contractual obligation to IBM was the reason Oracle abandoned OpenOffice.org by moving it over to the Apache Software Foundation for example.</p>
</blockquote>

<ul>
<li>Larger dependent ecosystem.</li>
</ul>

<blockquote>
<p>You may have no further use for the code itself, but you may well have other parts of your business which depend on it. If they are willing to collectively fund development you might consider an inner source strategy which will save you many of the costs above. But the best way to proceed may well be to open the code so your teams and those in other companies can fund the code.</p>
</blockquote>

<ul>
<li>Internal politics.</li>
</ul>

<blockquote>
<p>From the outside, corporations look monolithic, but from the inside it becomes clear they are a microcosm of the market in which they exist. As a result, they have political machinations that may be addressed by open source. One of Oracles motivations for moving NetBeans to Apache seems to have been political. Despite multiple internal groups needing it to exist, the code was not generating enough direct revenue to satisfy successive executive owners, who allegedly tried to abandon it on more than one occasion. Donating it to Apache meant that couldnt happen again.</p>

<p>None of this is to say a move to open source guarantees the success of a project. A Field of Dreams strategy only works in the movies, after all. But while it may be tempting to look at a failed corporate liberation and describe it as abandonware, chances are it was intended as nothing of the kind.</p>
</blockquote>

<hr>

<h3><a href="https://www.snellman.net/blog/archive/2017-08-19-slow-ps4-downloads/" target="_blank" rel="nofollow noopener">Why PS4 downloads are so slow</a></h3>

<ul>
<li>From the blog that brought us <a href="https://www.snellman.net/blog/archive/2017-04-17-xxx-fixme/" target="_blank" rel="nofollow noopener">The origins of XXX as FIXME</a> and <a href="https://www.snellman.net/blog/archive/2017-07-20-s3-mystery/" target="_blank" rel="nofollow noopener">The mystery of the hanging S3 downloads</a>, this week it is: Why are PS4 downloads so slow?</li>
</ul>

<blockquote>
<p>Game downloads on PS4 have a reputation of being very slow, with many people reporting downloads being an order of magnitude faster on Steam or Xbox. This had long been on my list of things to look into, but at a pretty low priority. After all, the PS4 operating system is based on a reasonably modern FreeBSD (9.0), so there should not be any crippling issues in the TCP stack.<br>
The implication is that the problem is something boring, like an inadequately dimensioned CDN. But then I heard that people were successfully using local HTTP proxies as a workaround. It should be pretty rare for that to actually help with download speeds, which made this sound like a much more interesting problem.<br>
Before running any experiments, it's good to have a mental model of how the thing we're testing works, and where the problems might be. If nothing else, it will guide the initial experiment design.<br>
 The speed of a steady-state TCP connection is basically defined by three numbers. The amount of data the client is will to receive on a single round-trip (TCP receive window), the amount of data the server is willing to send on a single round-trip (TCP congestion window), and the round trip latency between the client and the server (RTT). To a first approximation, the connection speed will be:<br>
  <code> speed = min(rwin, cwin) / RTT </code><br>
With this model, how could a proxy speed up the connection?</p>
</blockquote>

<ul>
<li>The speed through the proxy should be the minimum of the speed between the client and proxy, and the proxy and server. It should only possibly be slower</li>
</ul>

<blockquote>
<p>With a local proxy the client-proxy RTT will be very low; that connection is almost guaranteed to be the faster one. The improvement will have to be from the server-proxy connection being somehow better than the direct client-server one. The RTT will not change, so there are just two options: either the client has a much smaller receive window than the proxy, or the client is somehow causing the server's congestion window to decrease. (E.g. the client is randomly dropping received packets, while the proxy isn't).</p>
</blockquote>

<ul>
<li>After setting up a test rig, where the PS4s connection was bridged through a linux box so packets could be captured, and artificial latency could be added, some interested results came up:</li>
</ul>

<blockquote>
<p>The differences in receive windows at different times are striking. And more important, the changes in the receive windows correspond very well to specific things I did on the PS4<br>
When the download was started, the game Styx: Shards of Darkness was running in the background (just idling in the title screen). The download was limited by a receive window of under 7kB. This is an incredibly low value; it's basically going to cause the downloads to take 100 times longer than they should. And this was not a coincidence, whenever that game was running, the receive window would be that low.<br>
Having an app running (e.g. Netflix, Spotify) limited the receive window to 128kB, for about a 5x reduction in potential download speed.<br>
Moving apps, games, or the download window to the foreground or background didn't have any effect on the receive window.<br>
Playing an online match in a networked game (Dreadnought) caused the receive window to be artificially limited to 7kB.<br>
I ran a speedtest at a time when downloads were limited to 7kB receive window. It got a decent receive window of over 400kB; the conclusion is that the artificial receive window limit appears to only apply to PSN downloads.<br>
When a game was started (causing the previously running game to be stopped automatically), the receive window could increase to 650kB for a very brief period of time. Basically it appears that the receive window gets unclamped when the old game stops, and then clamped again a few seconds later when the new game actually starts up.<br>
I did a few more test runs, and all of them seemed to support the above findings. The only additional information from that testing is that the rest mode behavior was dependent on the PS4 settings. Originally I had it set up to suspend apps when in rest mode. If that setting was disabled, the apps would be closed when entering in rest mode, and the downloads would proceed at full speed.<br>
The PS4 doesn't make it very obvious exactly what programs are running. For games, the interaction model is that opening a new game closes the previously running one. This is not how other apps work; they remain in the background indefinitely until you explicitly close them.</p>
</blockquote>

<ul>
<li>So, FreeBSD and its network stack are not to blame</li>
<li>Sony used a poor method to try to keep downloads from interfering with your gameplay</li>
<li>The impact of changing the receive window is highly dependant upon RTT, so it doesnt work as evenly as actual traffic shaping or queueing would.</li>
<li>An interesting deep dive, it is well worth reading the full article and checking out the graphs
***</li>
</ul>

<h3><a href="http://www.openssh.com/releasenotes.html#7.6" target="_blank" rel="nofollow noopener">OpenSSH 7.6 Released</a></h3>

<ul>
<li>From the release notes:</li>
</ul>

<blockquote>
<p>This release includes a number of changes that may affect existing<br>
configurations:<br>
ssh(1): delete SSH protocol version 1 support, associated<br>
   configuration options and documentation.<br>
 ssh(1)/sshd(8): remove support for the hmac-ripemd160 MAC.<br>
 ssh(1)/sshd(8): remove support for the arcfour, blowfish and CAST<br>
Refuse RSA keys &lt;1024 bits in length and improve reporting for keys that do not meet <br>
this requirement.<br>
ssh(1): do not offer CBC ciphers by default.</p>
</blockquote>

<ul>
<li>Changes since OpenSSH 7.5</li>
<li>This is primarily a bugfix release. It also contains substantial internal refactoring.</li>
</ul>

<blockquote>
<p>Security: sftp-server(8): in read-only mode, sftp-server was incorrectly permitting creation of zero-length files. Reported by Michal Zalewski.</p>
</blockquote>

<ul>
<li>New features: </li>
</ul>

<blockquote>
<p>ssh(1): add RemoteCommand option to specify a command in the ssh config file instead of giving it on the client's command line. This allows the configuration file to specify the command that will be executed on the remote host.<br>
sshd(8): add ExposeAuthInfo option that enables writing details of the authentication methods used (including public keys where applicable) to a file that is exposed via a $SSH_USER_AUTH environment variable in the subsequent session.<br>
ssh(1): add support for reverse dynamic forwarding. In this mode, ssh will act as a SOCKS4/5 proxy and forward connections to destinations requested by the remote SOCKS client. This mode is requested using extended syntax for the -R and RemoteForward options and, because it is implemented solely at the client, does not require the server be updated to be supported.<br>
sshd(8): allow LogLevel directive in sshd_config Match blocks;<br>
ssh-keygen(1): allow inclusion of arbitrary string or flag certificate extensions and critical options.<br>
ssh-keygen(1): allow ssh-keygen to use a key held in ssh-agent as a CA when signing certificates.<br>
 ssh(1)/sshd(8): allow IPQoS=none in ssh/sshd to not set an explicit ToS/DSCP value and just use the operating system default.<br>
ssh-add(1): added -q option to make ssh-add quiet on success.<br>
ssh(1): expand the StrictHostKeyChecking option with two new settings. The first "accept-new" will automatically accept hitherto-unseen keys but will refuse connections for changed or invalid hostkeys. This is a safer subset of the current behaviour of StrictHostKeyChecking=no. The second setting "off", is a synonym for the current behaviour of StrictHostKeyChecking=no: accept new host keys, and continue connection for hosts with incorrect hostkeys. A future release will change the meaning of StrictHostKeyChecking=no to the behaviour of "accept-new".<br>
ssh(1): add SyslogFacility option to ssh(1) matching the equivalent option in sshd(8).</p>
</blockquote>

<ul>
<li>Check out the bugfixes and portability sections, too. 
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://blog.project-fifo.net/freebsd-in-fifo-0-9-3/" target="_blank" rel="nofollow noopener">FreeBSD comes to FiFo 0.9.3 with vmadm</a></h3>

<ul>
<li>What is Project FiFo? Its an Open Source SmartOS Cloud Management and orchestration software. FiFo can be installed on SmartOS zones, running on standard compute nodes. There is no need for dedicated hardware or server roles.</li>
</ul>

<blockquote>
<p>FiFo 0.9.3 has been in the works for a while, and it comes with quite a few new features. With our last release, we started experimenting with FreeBSD support. Since then much work has gone into improving this. We also did something rather exciting with the mystery box! However, more on that in a later post.<br>
The stable release of 0.9.3 will land within a few days with only packaging and documentation tasks left to do. Part of this means that well have packages for all major components that work natively on BSD. There is no more need for a SmartOS box to run the components!<br>
When we introduced FreeBSD support last version we marked it as an experimental feature. We needed to try out and experiment what works and what does not. Understand the way FreeBSD does things, what tools exist, and how those align with our workflow. Bottomline we were not even sure BSD support was a thing in the future.<br>
We are happy to announce that with 0.9.3 we are now sure BSD support is a thing, and it is here to remain. That said it was good that we experimented in the last release, we did some significant changes to what we have now. When first looking at FreeBSD we went ahead and used existing tooling, namely iocage, to manage jails. It turns out the tooling around jails is not on par with what exists on illumos and especially SmartOS. The goodness of vmadm as a CLI for managing zones is just unparalleled. So we do what every (in)sane person would do!<br>
So with 0.9.3, we did what every (in)sane person would do! We implemented a version of vmadm that would work with FreeBSD and jails and keep the same CLI. Our clone works completely stand alone; vmadm is a compiled binary, written in rust which is blazing fast! The design takes up lessons learned from both zoneadm and vmadm in illumos/SmartOS for how things work instead of trying to reinvent the wheel. Moreover, while we love giving the FreeBSD community a tool we learned to love on SmartOS this also makes things a lot easier for us. FiFo now can use the same logic on SmartOS and FreeBSD as the differences are abstracted away inside of vmadm. That said there are a few notable differences.<br>
First of all, vmadm uses datasets the same way it does on SmartOS. However, there is no separate imgadm tool. Instead, we encapsulate the commands under vmadm images. To make this work we also provide a dataset server with base images for FreeBSD that used the same API as SmartOS dataset servers. Second, we needed to work around some limitations in VNET to make jails capable of being fully utilized in multi-tenancy environments.<br>
Nested vnet jails on freebsd While on illumos a virtual nic can be bound to an IP that can not be changed from inside the zone, VNET does not support this. Preventing tenants from messing with IP settings is crucial from a security standpoint!<br>
To work around that each jail created by vmadm are two jails: a minimal outer jail with nothing but a VNET interface, no IP or anything and an internal one that runs the user code. This outer jail then creates an inner jail with an inherited NIC that gets a fixed IP, combining both the security of a VNET jail as well as the security of a fixed IP interface.<br>
The nested jail layout resembles the way that SmartOS handles KVM machines, running KVM inside a zone. So in addition to working around VNET limitations, this already paves the way for bhyve nested in jails that might come in a future release. We hope to leverage the same two-step with just a different executable started in the outer jail instead of the jail command itself.</p>

<hr>
</blockquote>

<h3><a href="https://manpages.bsd.lv/history.html" target="_blank" rel="nofollow noopener">History of UNIX Manpages</a></h3>

<blockquote>
<p>Where do UNIX manpages come from? Who introduced the section-based layout of NAME, SYNOPSIS, and so on? And for manpage source writers and readers: where were those economical two- and three-letter instructions developed? The many accounts available on the Internet lack citations and are at times inconsistent.<br>
In this article, I reconstruct the history of the UNIX manpage based on source code, manuals, and first-hand accounts.<br>
Special thanks to Paul Pierce for his CTSS source archive; Bernard Nivelet for the Multics Internet Server; the UNIX Heritage Society for their research UNIX source reconstruction; Gunnar Ritter for the Heirloom Project sources; Alcatel-Lucent Bell Labs for the Plan 9 sources; BitSavers for their historical archive; and last but not least, Rudd Canaday, James Clarke, Brian Kernighan, Douglas McIlroy, Nils-Peter Nelson, Jerome Saltzer, Henry Spencer, Ken Thompson, and Tom Van Vleck for their valuable contributions.</p>

<p>Please see the Copyright section if you plan on reproducing parts of this work.</p>
</blockquote>

<ul>
<li>People:

<ul>
<li>Abell, Vic</li>
<li>Canaday, Rudd</li>
<li>Capps, Dennis</li>
<li>Clarke, James</li>
<li>Dzonsons, Kristaps</li>
<li>Kernighan, Brian</li>
<li>Madnick, Stuart</li>
<li>McIlroy, Douglas</li>
<li>Morris, Robert</li>
<li>Ossanna, Joseph F.</li>
<li>Ritchie, Dennis</li>
<li>Ritter, Gunnar</li>
<li>Saltzer, Jerome H.</li>
<li>Spencer, Henry</li>
<li>Thompson, Ken
***</li>
</ul></li>
</ul>

<h3><a href="https://www.freebsdfoundation.org/blog/bsdcam-2017-trip-report-mathieu-arnold/" target="_blank" rel="nofollow noopener">BSDCam 2017 Trip Report: Mathieu Arnold</a></h3>

<blockquote>
<p>It seems that every time I try to go to England using the Eurostar, it gets delayed between 30 minutes and 2 hours. This year, it got my 45 minute layover down to 10 minutes. Luckily, Kings Cross is literally across the street from Saint Pancras, and I managed to get into my second train just in time.<br>
I arrived in Cambridge on Tuesday right on time for tea. A quick walk from the station got me to St Catharines College. This year, we were in a different building for the rooms, so I listened to the convoluted explanation the porter gave me to get to my room, I managed to get there without getting lost more than once. That evening was almost organized as we got together for dinner at the usual pub, the Maypole.</p>
</blockquote>

<ul>
<li>Wednesday:</li>
</ul>

<blockquote>
<p>The weather is lovely, and it is a good thing as there is a 25-30 minute walk from the College to the Computer Laboratory where the devsummit happens. The first morning is for deciding what we are going to talk about for the rest of the week, so we all go in turn introducing ourselves and voicing about what we would like to talk about. There are a few subjects that are of interest to me, so I listen to the toolchain discussions while writing new bits for the Porters Handbook.</p>
</blockquote>

<ul>
<li>Thursday:</li>
</ul>

<blockquote>
<p>I spent most of the day writing documentation, and talked a bit with a couple of DocEng members about joining the team as I would like to give some love to the build framework that has not been touched in a long time. At the end of the afternoon is a packaging session, we talked about the status of package in base, which is not really going anywhere right now. On the ports side, three aspects that are making good progress include, package flavors, sub packages, and migrating some base libraries to private libraries, which is a nightmare because of openssl, and kerberos, and pam. That evening, we had the formal diner at St Johns College, I love those old buildings that reminds me of Hogwarts. (I am sure there is a quidditch pitch somewhere nearby.)</p>
</blockquote>

<ul>
<li>Friday:</li>
</ul>

<blockquote>
<p>Last day. I continued to write documentation, while listening to a provisioning session. It would be great to have bhyve support in existing orchestration tools like vagrant, openstack, or maybe ganeti. We end the day, and the devsummit with short talks, some very interesting, some going way over my head.<br>
The weekend is here. I spent most of Saturday strolling in some of the numerous Cambridge parks, gardens, greens, fens and I worked on a knitting pattern in the evening. On Sunday, I ate my last full gargantuan english breakfast of the year, and then back in a train to Kings Cross, and a Eurostar (this one on time) back to Paris.<br>
I would like to thank the FreeBSD Foundation for making this trip possible for me.</p>

<hr>
</blockquote>

<h3><a href="https://blog.netbsd.org/tnf/entry/gsoc_2017_reports_add_code" target="_blank" rel="nofollow noopener">GSoC 2017 Reports: Add SUBPACKAGES support to pkgsrc, part 1</a></h3>

<ul>
<li>Introduction</li>
<li>SUBPACKAGES (on some package systems they are known as multi-packages, but this term for pkgsrc is already used by packages that can be built against several versions (e.g. Python, PHP, Ruby packages)) consist in generating multiple binary packages from a single pkgsrc package. For example, from a pkgsrc package - local/frobnitzem - we will see how to generate three separate binary packages: frobnitzem-foo, frobnitzem-bar and frobnitzem-baz.</li>
<li>This can be useful to separate several components of binary packages (and avoid to run the extract and configure phase two times!), for debugpkgs (so that all *.debug files containing debug symbols are contained in a separate -debugpkg package that can be installed only when it is needed), etc..</li>
<li>An high-level look at how SUBPACKAGES support is implemented</li>
<li>Most of the changes needed are in mk/pkgformat/pkg/ hierarchy (previously known as mk/flavour and then renamed and generalized to other package formats during Anton Panev's Google Summer of Code 2011).</li>
<li>The code in mk/pkgformat/${PKG_FORMAT}/ handle the interaction of pkgsrc with the particular ${PKG_FORMAT}, e.g. for pkg populate meta-data files used by pkg_create(1), install/delete packages via pkg_add(1), and pkg_delete(1), etc.</li>
<li>Conclusion</li>
<li>In this first part of this blog post series we have seen what are SUBPACKAGES, when and why they can be useful.</li>
<li>We have then seen a practical example of them taking a very trivial package and learned how to "subpackage-ify" it.</li>
<li>Then we have described - from an high-level perspective - the changes needed to the pkgsrc infrastructure for the SUBPACKAGES features that we have used. If you are more interested in them please give a look to the pkgsrc debugpkg branch that contains all work done described in this blog post.</li>
<li>In the next part we will see how to handle <em>DEPENDS and buildlink3 inclusion for subpackages.
*</em>*</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://dmesgd.nycbug.org/index.cgi?do=view&amp;id=3329" target="_blank" rel="nofollow noopener">First partial boot of FreeBSD on Power8</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/the_new_tnf_board_of" target="_blank" rel="nofollow noopener">The new TNF Board of Directors are installed and patched for 2017.</a></li>
<li><a href="https://osseu17.sched.com/event/BxJw/seccomp2-vs-pledge2-giovanni-bechis-snb-srl" target="_blank" rel="nofollow noopener">Open Source Summit 2017 October 23-26, 2017, Prague, Czech Republic Giovanni Bechis will give a talk about seccomp(2) vs pledge(2)</a></li>
<li><a href="http://nanxiao.me/en/my-first-patch-to-openbsd/" target="_blank" rel="nofollow noopener">My first patch to OpenBSD</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Brian - <a href="http://dpaste.com/35WA42Z#wrap" target="_blank" rel="nofollow noopener">OPNSense Facebook Group</a></li>
<li>Mark Felder - <a href="http://dpaste.com/0B8QH2W" target="_blank" rel="nofollow noopener">ZFS Health via SNMP</a></li>
<li>Matt - <a href="http://dpaste.com/1D9WTHV#wrap" target="_blank" rel="nofollow noopener">Cantrill Presentation</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The costs of open sourcing a project are explored, we discover why PS4 downloads are so slow, delve into the history of UNIX man pages, and more.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://meshedinsights.com/2016/09/20/open-source-unlikely-to-be-abandonware/" target="_blank" rel="nofollow noopener">The Cost Of Open Sourcing Your Project</a></h3>

<blockquote>
<p>Accusing a company of dumping their project as open source is probably misplaced  its an expensive business no-one would do frivolously.<br>
If you see an active move to change software licensing or governance, its likely someone is paying for it and thus could justify the expense to an executive.</p>
</blockquote>

<ul>
<li>A Little History</li>
</ul>

<blockquote>
<p>Some case study cameos may help. From 2004 onwards, Sun Microsystems had a policy of all its software moving to open source. The company migrated almost all products to open source licenses, and had varying degrees of success engaging communities around the various projects, largely related to the outlooks of the product management and Sun developers for the project.<br>
Sun occasionally received requests to make older, retired products open source. For example, Sun acquired a company called Lighthouse Design which created a respected suite of office productivity software for Steve Jobs NeXT platform. Strategy changes meant that software headed for the vault (while Jonathan Schwartz, a founder of Lighthouse, headed for the executive suite). Members of the public asked if Sun would open source some of this software, but these requests were declined because there was no business unit willing to fund the move.<br>
When Sun was later bought by Oracle, a number of those projects that had been made open source were abandoned. Abandoning software doesnt mean leaving it for others; it means simply walking away from wherever you left it. In the case of Suns popular identity middleware products, that meant Oracle let the staff go and tried to migrate customers to other products, while remaining silent in public on the future of the project. But the code was already open source, so the user community was able to pick up the pieces and carry on, with help from Forgerock.<br>
It costs a lot of money to open source a mature piece of commercial software, even if all you are doing is throwing a tarball over the wall. Thats why companies abandoning software they no longer care about so rarely make it open source, and those abandoning open source projects rarely move them to new homes that benefit others.</p>
</blockquote>

<ul>
<li>If all you have thought about is the eventual outcome, you may be surprised how expensive it is to get there. Costs include: For throwing a tarball over the wall:</li>
<li>Legal clearance.</li>
</ul>

<blockquote>
<p>Having the right to use the software is not the same as giving everyone in the world an unrestricted right to use it and create derivatives. Checking every line of code to make sure you have the rights necessary to release under an OSI-approved license is a big task requiring high-value employees on the liberation team. That includes both developers and lawyers; neither come cheap.</p>
</blockquote>

<ul>
<li>Repackaging.</li>
</ul>

<blockquote>
<p>To pass it to others, a self-contained package containing all necessary source code, build scripts and non-public source and tool dependencies has to be created since it is quite unlikely to exist internally. Again, the liberation team will need your best developers.</p>
</blockquote>

<ul>
<li>Preserving provenance.</li>
</ul>

<blockquote>
<p>Just because you have confidence that you have the rights to the code, that doesnt mean anyone else will. The version control system probably contains much of the information that gives confidence about who wrote which code, so the repackaging needs to also include a way to migrate the commit information.</p>
</blockquote>

<ul>
<li>Code cleaning.</li>
</ul>

<blockquote>
<p>The file headers will hopefully include origin information but the liberation team had better check. They also need to check the comments for libel and profanities, not to mention trade secrets (especially those from third parties) and other IP issues.</p>
</blockquote>

<ul>
<li>For a sustainable project, all the above plus:</li>
<li>Compliance with host governance.</li>
</ul>

<blockquote>
<p>It is a fantastic idea to move your project to a host like Apache, Conservancy, Public Software and so on. But doing so requires preparatory work. As a minimum you will need to negotiate with the new host organisation, and they may well need you to satisfy their process requirements. Paperwork obviously, but also the code may need conforming copyright statements and more. Thats more work for your liberation team.</p>
</blockquote>

<ul>
<li>Migration of rights.</li>
</ul>

<blockquote>
<p>Your code has an existing community who will need to migrate to your new host. That includes your staff  they are community too! They will need commit rights, governance rights, social media rights and more. Your liberation team will need your community manager, obviously, but may also need HR input.</p>
</blockquote>

<ul>
<li>Endowment.</li>
</ul>

<blockquote>
<p>Keeping your project alive will take money. Its all been coming from you up to this point, but if you simply walk away before the financial burden has been accepted by the new community and hosts there may be a problem. You should consider making an endowment to your new host to pay for their migration costs plus the cost of hosting the community for at least a year.</p>
</blockquote>

<ul>
<li>Marketing.</li>
</ul>

<blockquote>
<p>Explaining the move you are making, the reasons why you are making it and the benefits for you and the community is important. If you dont do it, there are plenty of trolls around who will do it for you. Creating a news blog post and an FAQ  the minimum effort necessary  really does take someone experienced and youll want to add such a person to your liberation team.</p>
</blockquote>

<ul>
<li>Motivations</li>
<li>There has to be some commercial reason that makes the time, effort and thus expense worth incurring. Some examples of motivations include:</li>
<li>Market Strategy.</li>
</ul>

<blockquote>
<p>An increasing number of companies are choosing to create substantial, openly-governed open source communities around software that contributes to their business. An open multi-stakeholder co-developer community is an excellent vehicle for innovation at the lowest cost to all involved. As long as your market strategy doesnt require creating artificial scarcity.</p>
</blockquote>

<ul>
<li>Contract with a third party.</li>
</ul>

<blockquote>
<p>While the owner of the code may no longer be interested, there may be one or more parties to which they owe a contractual responsibility. Rather than breaching that contract, or buying it out, a move to open source may be better. Some sources suggest a contractual obligation to IBM was the reason Oracle abandoned OpenOffice.org by moving it over to the Apache Software Foundation for example.</p>
</blockquote>

<ul>
<li>Larger dependent ecosystem.</li>
</ul>

<blockquote>
<p>You may have no further use for the code itself, but you may well have other parts of your business which depend on it. If they are willing to collectively fund development you might consider an inner source strategy which will save you many of the costs above. But the best way to proceed may well be to open the code so your teams and those in other companies can fund the code.</p>
</blockquote>

<ul>
<li>Internal politics.</li>
</ul>

<blockquote>
<p>From the outside, corporations look monolithic, but from the inside it becomes clear they are a microcosm of the market in which they exist. As a result, they have political machinations that may be addressed by open source. One of Oracles motivations for moving NetBeans to Apache seems to have been political. Despite multiple internal groups needing it to exist, the code was not generating enough direct revenue to satisfy successive executive owners, who allegedly tried to abandon it on more than one occasion. Donating it to Apache meant that couldnt happen again.</p>

<p>None of this is to say a move to open source guarantees the success of a project. A Field of Dreams strategy only works in the movies, after all. But while it may be tempting to look at a failed corporate liberation and describe it as abandonware, chances are it was intended as nothing of the kind.</p>
</blockquote>

<hr>

<h3><a href="https://www.snellman.net/blog/archive/2017-08-19-slow-ps4-downloads/" target="_blank" rel="nofollow noopener">Why PS4 downloads are so slow</a></h3>

<ul>
<li>From the blog that brought us <a href="https://www.snellman.net/blog/archive/2017-04-17-xxx-fixme/" target="_blank" rel="nofollow noopener">The origins of XXX as FIXME</a> and <a href="https://www.snellman.net/blog/archive/2017-07-20-s3-mystery/" target="_blank" rel="nofollow noopener">The mystery of the hanging S3 downloads</a>, this week it is: Why are PS4 downloads so slow?</li>
</ul>

<blockquote>
<p>Game downloads on PS4 have a reputation of being very slow, with many people reporting downloads being an order of magnitude faster on Steam or Xbox. This had long been on my list of things to look into, but at a pretty low priority. After all, the PS4 operating system is based on a reasonably modern FreeBSD (9.0), so there should not be any crippling issues in the TCP stack.<br>
The implication is that the problem is something boring, like an inadequately dimensioned CDN. But then I heard that people were successfully using local HTTP proxies as a workaround. It should be pretty rare for that to actually help with download speeds, which made this sound like a much more interesting problem.<br>
Before running any experiments, it's good to have a mental model of how the thing we're testing works, and where the problems might be. If nothing else, it will guide the initial experiment design.<br>
 The speed of a steady-state TCP connection is basically defined by three numbers. The amount of data the client is will to receive on a single round-trip (TCP receive window), the amount of data the server is willing to send on a single round-trip (TCP congestion window), and the round trip latency between the client and the server (RTT). To a first approximation, the connection speed will be:<br>
  <code> speed = min(rwin, cwin) / RTT </code><br>
With this model, how could a proxy speed up the connection?</p>
</blockquote>

<ul>
<li>The speed through the proxy should be the minimum of the speed between the client and proxy, and the proxy and server. It should only possibly be slower</li>
</ul>

<blockquote>
<p>With a local proxy the client-proxy RTT will be very low; that connection is almost guaranteed to be the faster one. The improvement will have to be from the server-proxy connection being somehow better than the direct client-server one. The RTT will not change, so there are just two options: either the client has a much smaller receive window than the proxy, or the client is somehow causing the server's congestion window to decrease. (E.g. the client is randomly dropping received packets, while the proxy isn't).</p>
</blockquote>

<ul>
<li>After setting up a test rig, where the PS4s connection was bridged through a linux box so packets could be captured, and artificial latency could be added, some interested results came up:</li>
</ul>

<blockquote>
<p>The differences in receive windows at different times are striking. And more important, the changes in the receive windows correspond very well to specific things I did on the PS4<br>
When the download was started, the game Styx: Shards of Darkness was running in the background (just idling in the title screen). The download was limited by a receive window of under 7kB. This is an incredibly low value; it's basically going to cause the downloads to take 100 times longer than they should. And this was not a coincidence, whenever that game was running, the receive window would be that low.<br>
Having an app running (e.g. Netflix, Spotify) limited the receive window to 128kB, for about a 5x reduction in potential download speed.<br>
Moving apps, games, or the download window to the foreground or background didn't have any effect on the receive window.<br>
Playing an online match in a networked game (Dreadnought) caused the receive window to be artificially limited to 7kB.<br>
I ran a speedtest at a time when downloads were limited to 7kB receive window. It got a decent receive window of over 400kB; the conclusion is that the artificial receive window limit appears to only apply to PSN downloads.<br>
When a game was started (causing the previously running game to be stopped automatically), the receive window could increase to 650kB for a very brief period of time. Basically it appears that the receive window gets unclamped when the old game stops, and then clamped again a few seconds later when the new game actually starts up.<br>
I did a few more test runs, and all of them seemed to support the above findings. The only additional information from that testing is that the rest mode behavior was dependent on the PS4 settings. Originally I had it set up to suspend apps when in rest mode. If that setting was disabled, the apps would be closed when entering in rest mode, and the downloads would proceed at full speed.<br>
The PS4 doesn't make it very obvious exactly what programs are running. For games, the interaction model is that opening a new game closes the previously running one. This is not how other apps work; they remain in the background indefinitely until you explicitly close them.</p>
</blockquote>

<ul>
<li>So, FreeBSD and its network stack are not to blame</li>
<li>Sony used a poor method to try to keep downloads from interfering with your gameplay</li>
<li>The impact of changing the receive window is highly dependant upon RTT, so it doesnt work as evenly as actual traffic shaping or queueing would.</li>
<li>An interesting deep dive, it is well worth reading the full article and checking out the graphs
***</li>
</ul>

<h3><a href="http://www.openssh.com/releasenotes.html#7.6" target="_blank" rel="nofollow noopener">OpenSSH 7.6 Released</a></h3>

<ul>
<li>From the release notes:</li>
</ul>

<blockquote>
<p>This release includes a number of changes that may affect existing<br>
configurations:<br>
ssh(1): delete SSH protocol version 1 support, associated<br>
   configuration options and documentation.<br>
 ssh(1)/sshd(8): remove support for the hmac-ripemd160 MAC.<br>
 ssh(1)/sshd(8): remove support for the arcfour, blowfish and CAST<br>
Refuse RSA keys &lt;1024 bits in length and improve reporting for keys that do not meet <br>
this requirement.<br>
ssh(1): do not offer CBC ciphers by default.</p>
</blockquote>

<ul>
<li>Changes since OpenSSH 7.5</li>
<li>This is primarily a bugfix release. It also contains substantial internal refactoring.</li>
</ul>

<blockquote>
<p>Security: sftp-server(8): in read-only mode, sftp-server was incorrectly permitting creation of zero-length files. Reported by Michal Zalewski.</p>
</blockquote>

<ul>
<li>New features: </li>
</ul>

<blockquote>
<p>ssh(1): add RemoteCommand option to specify a command in the ssh config file instead of giving it on the client's command line. This allows the configuration file to specify the command that will be executed on the remote host.<br>
sshd(8): add ExposeAuthInfo option that enables writing details of the authentication methods used (including public keys where applicable) to a file that is exposed via a $SSH_USER_AUTH environment variable in the subsequent session.<br>
ssh(1): add support for reverse dynamic forwarding. In this mode, ssh will act as a SOCKS4/5 proxy and forward connections to destinations requested by the remote SOCKS client. This mode is requested using extended syntax for the -R and RemoteForward options and, because it is implemented solely at the client, does not require the server be updated to be supported.<br>
sshd(8): allow LogLevel directive in sshd_config Match blocks;<br>
ssh-keygen(1): allow inclusion of arbitrary string or flag certificate extensions and critical options.<br>
ssh-keygen(1): allow ssh-keygen to use a key held in ssh-agent as a CA when signing certificates.<br>
 ssh(1)/sshd(8): allow IPQoS=none in ssh/sshd to not set an explicit ToS/DSCP value and just use the operating system default.<br>
ssh-add(1): added -q option to make ssh-add quiet on success.<br>
ssh(1): expand the StrictHostKeyChecking option with two new settings. The first "accept-new" will automatically accept hitherto-unseen keys but will refuse connections for changed or invalid hostkeys. This is a safer subset of the current behaviour of StrictHostKeyChecking=no. The second setting "off", is a synonym for the current behaviour of StrictHostKeyChecking=no: accept new host keys, and continue connection for hosts with incorrect hostkeys. A future release will change the meaning of StrictHostKeyChecking=no to the behaviour of "accept-new".<br>
ssh(1): add SyslogFacility option to ssh(1) matching the equivalent option in sshd(8).</p>
</blockquote>

<ul>
<li>Check out the bugfixes and portability sections, too. 
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://blog.project-fifo.net/freebsd-in-fifo-0-9-3/" target="_blank" rel="nofollow noopener">FreeBSD comes to FiFo 0.9.3 with vmadm</a></h3>

<ul>
<li>What is Project FiFo? Its an Open Source SmartOS Cloud Management and orchestration software. FiFo can be installed on SmartOS zones, running on standard compute nodes. There is no need for dedicated hardware or server roles.</li>
</ul>

<blockquote>
<p>FiFo 0.9.3 has been in the works for a while, and it comes with quite a few new features. With our last release, we started experimenting with FreeBSD support. Since then much work has gone into improving this. We also did something rather exciting with the mystery box! However, more on that in a later post.<br>
The stable release of 0.9.3 will land within a few days with only packaging and documentation tasks left to do. Part of this means that well have packages for all major components that work natively on BSD. There is no more need for a SmartOS box to run the components!<br>
When we introduced FreeBSD support last version we marked it as an experimental feature. We needed to try out and experiment what works and what does not. Understand the way FreeBSD does things, what tools exist, and how those align with our workflow. Bottomline we were not even sure BSD support was a thing in the future.<br>
We are happy to announce that with 0.9.3 we are now sure BSD support is a thing, and it is here to remain. That said it was good that we experimented in the last release, we did some significant changes to what we have now. When first looking at FreeBSD we went ahead and used existing tooling, namely iocage, to manage jails. It turns out the tooling around jails is not on par with what exists on illumos and especially SmartOS. The goodness of vmadm as a CLI for managing zones is just unparalleled. So we do what every (in)sane person would do!<br>
So with 0.9.3, we did what every (in)sane person would do! We implemented a version of vmadm that would work with FreeBSD and jails and keep the same CLI. Our clone works completely stand alone; vmadm is a compiled binary, written in rust which is blazing fast! The design takes up lessons learned from both zoneadm and vmadm in illumos/SmartOS for how things work instead of trying to reinvent the wheel. Moreover, while we love giving the FreeBSD community a tool we learned to love on SmartOS this also makes things a lot easier for us. FiFo now can use the same logic on SmartOS and FreeBSD as the differences are abstracted away inside of vmadm. That said there are a few notable differences.<br>
First of all, vmadm uses datasets the same way it does on SmartOS. However, there is no separate imgadm tool. Instead, we encapsulate the commands under vmadm images. To make this work we also provide a dataset server with base images for FreeBSD that used the same API as SmartOS dataset servers. Second, we needed to work around some limitations in VNET to make jails capable of being fully utilized in multi-tenancy environments.<br>
Nested vnet jails on freebsd While on illumos a virtual nic can be bound to an IP that can not be changed from inside the zone, VNET does not support this. Preventing tenants from messing with IP settings is crucial from a security standpoint!<br>
To work around that each jail created by vmadm are two jails: a minimal outer jail with nothing but a VNET interface, no IP or anything and an internal one that runs the user code. This outer jail then creates an inner jail with an inherited NIC that gets a fixed IP, combining both the security of a VNET jail as well as the security of a fixed IP interface.<br>
The nested jail layout resembles the way that SmartOS handles KVM machines, running KVM inside a zone. So in addition to working around VNET limitations, this already paves the way for bhyve nested in jails that might come in a future release. We hope to leverage the same two-step with just a different executable started in the outer jail instead of the jail command itself.</p>

<hr>
</blockquote>

<h3><a href="https://manpages.bsd.lv/history.html" target="_blank" rel="nofollow noopener">History of UNIX Manpages</a></h3>

<blockquote>
<p>Where do UNIX manpages come from? Who introduced the section-based layout of NAME, SYNOPSIS, and so on? And for manpage source writers and readers: where were those economical two- and three-letter instructions developed? The many accounts available on the Internet lack citations and are at times inconsistent.<br>
In this article, I reconstruct the history of the UNIX manpage based on source code, manuals, and first-hand accounts.<br>
Special thanks to Paul Pierce for his CTSS source archive; Bernard Nivelet for the Multics Internet Server; the UNIX Heritage Society for their research UNIX source reconstruction; Gunnar Ritter for the Heirloom Project sources; Alcatel-Lucent Bell Labs for the Plan 9 sources; BitSavers for their historical archive; and last but not least, Rudd Canaday, James Clarke, Brian Kernighan, Douglas McIlroy, Nils-Peter Nelson, Jerome Saltzer, Henry Spencer, Ken Thompson, and Tom Van Vleck for their valuable contributions.</p>

<p>Please see the Copyright section if you plan on reproducing parts of this work.</p>
</blockquote>

<ul>
<li>People:

<ul>
<li>Abell, Vic</li>
<li>Canaday, Rudd</li>
<li>Capps, Dennis</li>
<li>Clarke, James</li>
<li>Dzonsons, Kristaps</li>
<li>Kernighan, Brian</li>
<li>Madnick, Stuart</li>
<li>McIlroy, Douglas</li>
<li>Morris, Robert</li>
<li>Ossanna, Joseph F.</li>
<li>Ritchie, Dennis</li>
<li>Ritter, Gunnar</li>
<li>Saltzer, Jerome H.</li>
<li>Spencer, Henry</li>
<li>Thompson, Ken
***</li>
</ul></li>
</ul>

<h3><a href="https://www.freebsdfoundation.org/blog/bsdcam-2017-trip-report-mathieu-arnold/" target="_blank" rel="nofollow noopener">BSDCam 2017 Trip Report: Mathieu Arnold</a></h3>

<blockquote>
<p>It seems that every time I try to go to England using the Eurostar, it gets delayed between 30 minutes and 2 hours. This year, it got my 45 minute layover down to 10 minutes. Luckily, Kings Cross is literally across the street from Saint Pancras, and I managed to get into my second train just in time.<br>
I arrived in Cambridge on Tuesday right on time for tea. A quick walk from the station got me to St Catharines College. This year, we were in a different building for the rooms, so I listened to the convoluted explanation the porter gave me to get to my room, I managed to get there without getting lost more than once. That evening was almost organized as we got together for dinner at the usual pub, the Maypole.</p>
</blockquote>

<ul>
<li>Wednesday:</li>
</ul>

<blockquote>
<p>The weather is lovely, and it is a good thing as there is a 25-30 minute walk from the College to the Computer Laboratory where the devsummit happens. The first morning is for deciding what we are going to talk about for the rest of the week, so we all go in turn introducing ourselves and voicing about what we would like to talk about. There are a few subjects that are of interest to me, so I listen to the toolchain discussions while writing new bits for the Porters Handbook.</p>
</blockquote>

<ul>
<li>Thursday:</li>
</ul>

<blockquote>
<p>I spent most of the day writing documentation, and talked a bit with a couple of DocEng members about joining the team as I would like to give some love to the build framework that has not been touched in a long time. At the end of the afternoon is a packaging session, we talked about the status of package in base, which is not really going anywhere right now. On the ports side, three aspects that are making good progress include, package flavors, sub packages, and migrating some base libraries to private libraries, which is a nightmare because of openssl, and kerberos, and pam. That evening, we had the formal diner at St Johns College, I love those old buildings that reminds me of Hogwarts. (I am sure there is a quidditch pitch somewhere nearby.)</p>
</blockquote>

<ul>
<li>Friday:</li>
</ul>

<blockquote>
<p>Last day. I continued to write documentation, while listening to a provisioning session. It would be great to have bhyve support in existing orchestration tools like vagrant, openstack, or maybe ganeti. We end the day, and the devsummit with short talks, some very interesting, some going way over my head.<br>
The weekend is here. I spent most of Saturday strolling in some of the numerous Cambridge parks, gardens, greens, fens and I worked on a knitting pattern in the evening. On Sunday, I ate my last full gargantuan english breakfast of the year, and then back in a train to Kings Cross, and a Eurostar (this one on time) back to Paris.<br>
I would like to thank the FreeBSD Foundation for making this trip possible for me.</p>

<hr>
</blockquote>

<h3><a href="https://blog.netbsd.org/tnf/entry/gsoc_2017_reports_add_code" target="_blank" rel="nofollow noopener">GSoC 2017 Reports: Add SUBPACKAGES support to pkgsrc, part 1</a></h3>

<ul>
<li>Introduction</li>
<li>SUBPACKAGES (on some package systems they are known as multi-packages, but this term for pkgsrc is already used by packages that can be built against several versions (e.g. Python, PHP, Ruby packages)) consist in generating multiple binary packages from a single pkgsrc package. For example, from a pkgsrc package - local/frobnitzem - we will see how to generate three separate binary packages: frobnitzem-foo, frobnitzem-bar and frobnitzem-baz.</li>
<li>This can be useful to separate several components of binary packages (and avoid to run the extract and configure phase two times!), for debugpkgs (so that all *.debug files containing debug symbols are contained in a separate -debugpkg package that can be installed only when it is needed), etc..</li>
<li>An high-level look at how SUBPACKAGES support is implemented</li>
<li>Most of the changes needed are in mk/pkgformat/pkg/ hierarchy (previously known as mk/flavour and then renamed and generalized to other package formats during Anton Panev's Google Summer of Code 2011).</li>
<li>The code in mk/pkgformat/${PKG_FORMAT}/ handle the interaction of pkgsrc with the particular ${PKG_FORMAT}, e.g. for pkg populate meta-data files used by pkg_create(1), install/delete packages via pkg_add(1), and pkg_delete(1), etc.</li>
<li>Conclusion</li>
<li>In this first part of this blog post series we have seen what are SUBPACKAGES, when and why they can be useful.</li>
<li>We have then seen a practical example of them taking a very trivial package and learned how to "subpackage-ify" it.</li>
<li>Then we have described - from an high-level perspective - the changes needed to the pkgsrc infrastructure for the SUBPACKAGES features that we have used. If you are more interested in them please give a look to the pkgsrc debugpkg branch that contains all work done described in this blog post.</li>
<li>In the next part we will see how to handle <em>DEPENDS and buildlink3 inclusion for subpackages.
*</em>*</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://dmesgd.nycbug.org/index.cgi?do=view&amp;id=3329" target="_blank" rel="nofollow noopener">First partial boot of FreeBSD on Power8</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/the_new_tnf_board_of" target="_blank" rel="nofollow noopener">The new TNF Board of Directors are installed and patched for 2017.</a></li>
<li><a href="https://osseu17.sched.com/event/BxJw/seccomp2-vs-pledge2-giovanni-bechis-snb-srl" target="_blank" rel="nofollow noopener">Open Source Summit 2017 October 23-26, 2017, Prague, Czech Republic Giovanni Bechis will give a talk about seccomp(2) vs pledge(2)</a></li>
<li><a href="http://nanxiao.me/en/my-first-patch-to-openbsd/" target="_blank" rel="nofollow noopener">My first patch to OpenBSD</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li>Brian - <a href="http://dpaste.com/35WA42Z#wrap" target="_blank" rel="nofollow noopener">OPNSense Facebook Group</a></li>
<li>Mark Felder - <a href="http://dpaste.com/0B8QH2W" target="_blank" rel="nofollow noopener">ZFS Health via SNMP</a></li>
<li>Matt - <a href="http://dpaste.com/1D9WTHV#wrap" target="_blank" rel="nofollow noopener">Cantrill Presentation</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>213: The French CONnection</title>
  <link>https://www.bsdnow.tv/213</link>
  <guid isPermaLink="false">1e3907b4-e886-4922-ae37-e2fa5e898d3e</guid>
  <pubDate>Wed, 27 Sep 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/1e3907b4-e886-4922-ae37-e2fa5e898d3e.mp3" length="65524180" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We recap EuroBSDcon in Paris, tell the story behind a pf PR, and show you how to do screencasting with OpenBSD.</itunes:subtitle>
  <itunes:duration>1:31:00</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>&lt;p&gt;We recap EuroBSDcon in Paris, tell the story behind a pf PR, and show you how to do screencasting with OpenBSD.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://2017.eurobsdcon.org" target="_blank" rel="nofollow noopener"&gt;Recap of EuroBSDcon 2017 in Paris, France&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;EuroBSDcon was held in Paris, France this year, which drew record numbers this year.&lt;/li&gt;
&lt;li&gt;With over 300 attendees, it was the largest BSD event I have ever attended, and I was encouraged by the higher than expected number of first time attendees.&lt;/li&gt;
&lt;li&gt;The FreeBSD Foundation held a board meeting on Wednesday afternoon with the members who were in Paris. Topics included future conferences (including a conference kit we can mail to people who want to represent FreeBSD) and planning for next year.&lt;/li&gt;
&lt;li&gt;The FreeBSD Devsummit started on Thursday at the beautiful Mozilla Office in Paris. After registering and picking up our conference bag, everyone gathered for a morning coffee with lots of handshaking and greeting. We then gathered in the next room which had a podium with microphone, screens as well as tables and chairs. After developers sat down, Benedict opened the devsummit with a small quiz about France for developers to win a &lt;a href="https://www.mogics.com/?page_id=3824" target="_blank" rel="nofollow noopener"&gt;Mogics Power Bagel&lt;/a&gt;. 45 developers participated and DES won the item in the end. After introductions and collecting topics of interest from everyone, we started with the Work in Progress (WIP) session.&lt;/li&gt;
&lt;li&gt;The WIP session had different people present a topic they are working on in 7 minute timeslots. Topics ranged from FreeBSD Forwarding Performance, fast booting options, and a GELI patch under review to attach multiple providers. See their &lt;a href="https://wiki.freebsd.org/DevSummit/201709" target="_blank" rel="nofollow noopener"&gt;slides on the FreeBSD wiki&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;After lunch, the FreeBSD Foundation gave a general update on staff and funding, as well as a more focused presentation about our partnership with Intel. People were interested to hear what was done so far and asked a few questions to the Intel representative Glenn Weinberg.&lt;/li&gt;
&lt;li&gt;After lunch, developers worked quietly on their own projects. The mic remained open and occasionally, people would step forward and gave a short talk without slides or motivated a discussion of common interest. The day concluded with a dinner at a nice restaurant in Paris, which allowed to continue the discussions of the day.&lt;/li&gt;
&lt;li&gt;The second day of the devsummit began with a talk about the CAM-based SDIO stack by Ilya Bakulin. His work would allow access to wifi cards/modules on embedded boards like the Raspberry Pi Zero W and similar devices as many of these are using SDIO for data transfers.&lt;/li&gt;
&lt;li&gt;Next up was a discussion and Q&amp;amp;A session with the FreeBSD core team members who were there (missing only Benno Rice, Kris Moore, John Baldwin, and Baptiste Daroussin, the latter being busy with conference preparations). The new FCP (FreeBSD community proposals) were introduced for those who were not at BSDCan this year and the hows and whys about it. Allan and I were asked to describe our experiences as new members of core and we encouraged people to run for core when the next election happens. After a short break, Scott Long gave an overview of the work that’s been started on NUMA (Non-Uniform Memory Architecture), what the goals of the project are and who is working on it.&lt;/li&gt;
&lt;li&gt;Before lunch, Christian Schwarz presented his work on zrepl, a new ZFS replication solution he developed using Go. This sparked interest in developers, &lt;a href="https://reviews.freebsd.org/D12462" target="_blank" rel="nofollow noopener"&gt;a port was started&lt;/a&gt; and people suggested to Christian that he should submit his talk to AsiaBSDcon and BSDCan next year. Benedict had to leave before lunch was done to teach his Ansible tutorial (which was well attended) at the conference venue.&lt;/li&gt;
&lt;li&gt;There were organized dinners, for those two nights, quite a feat of organization to fit over 100 people into a restaurant and serve them quickly.&lt;/li&gt;
&lt;li&gt;On Saturday, there was a social event, a river cruise down the Seine. This took the form of a ‘standing’ dinner, with a wide selection of appetizer type dishes, designed to get people to walk around and converse with many different people, rather than sit at a table with the same 6-8 people. I talked to a much larger group of people than I had managed to at the other dinners.&lt;/li&gt;
&lt;li&gt;I like having both dinner formats.&lt;/li&gt;
&lt;li&gt;We would also like to thank all of the BSDNow viewers who attended the conference and made the point of introducing themselves to us. It was nice to meet you all.&lt;/li&gt;
&lt;li&gt;The recordings of the live video stream from the conference are available immediately, so you can watch the raw versions of the talks now:&lt;/li&gt;
&lt;li&gt;Auditorium

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtu.be/4iR8g9-39LM?t=179" target="_blank" rel="nofollow noopener"&gt;Keynote 1: Software Development in the Age of Heroes&lt;/a&gt; by &lt;a href="https://twitter.com/BearSSLnews" target="_blank" rel="nofollow noopener"&gt;Thomas Pornin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/4iR8g9-39LM?t=1660" target="_blank" rel="nofollow noopener"&gt;Tuning FreeBSD for routing and firewalling&lt;/a&gt; by &lt;a href="https://twitter.com/ocochardlabbe" target="_blank" rel="nofollow noopener"&gt;Olivier Cochard-Labbé&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/4iR8g9-39LM?t=7040" target="_blank" rel="nofollow noopener"&gt;My BSD sucks less than yours, Act I&lt;/a&gt; by &lt;a href="https://twitter.com/ajacoutot" target="_blank" rel="nofollow noopener"&gt;Antoine Jacoutot&lt;/a&gt; and &lt;a href="https://twitter.com/_bapt_" target="_blank" rel="nofollow noopener"&gt;Baptiste Daroussin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/4iR8g9-39LM?t=14254" target="_blank" rel="nofollow noopener"&gt;My BSD sucks less than yours, Act II&lt;/a&gt; by &lt;a href="https://twitter.com/ajacoutot" target="_blank" rel="nofollow noopener"&gt;Antoine Jacoutot&lt;/a&gt; and &lt;a href="https://twitter.com/_bapt_" target="_blank" rel="nofollow noopener"&gt;Baptiste Daroussin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/4iR8g9-39LM?t=23351" target="_blank" rel="nofollow noopener"&gt;Reproducible builds on NetBSD&lt;/a&gt; by Christos Zoulas&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/4iR8g9-39LM?t=26845" target="_blank" rel="nofollow noopener"&gt;Your scheduler is not the problem&lt;/a&gt; by Martin Pieuchot&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/4iR8g9-39LM?t=30540" target="_blank" rel="nofollow noopener"&gt;Keynote 2: A French story on cybercrime&lt;/a&gt; by &lt;a href="https://twitter.com/ericfreyss" target="_blank" rel="nofollow noopener"&gt;Éric Freyssinet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/jqdHYEH_BQY?t=731" target="_blank" rel="nofollow noopener"&gt;Case studies of sandboxing base system with Capsicum&lt;/a&gt; by &lt;a href="https://twitter.com/oshogbovx" target="_blank" rel="nofollow noopener"&gt;Mariusz Zaborski&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/jqdHYEH_BQY?t=6030" target="_blank" rel="nofollow noopener"&gt;OpenBSD’s small steps towards DTrace (a tale about DDB and CTF)&lt;/a&gt; by Jasper Lievisse Adriaanse&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/jqdHYEH_BQY?t=13096" target="_blank" rel="nofollow noopener"&gt;The Realities of DTrace on FreeBSD&lt;/a&gt; by &lt;a href="https://twitter.com/gvnn3" target="_blank" rel="nofollow noopener"&gt;George Neville-Neil&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/jqdHYEH_BQY?t=16818" target="_blank" rel="nofollow noopener"&gt;OpenSMTPD, current state of affairs&lt;/a&gt; by &lt;a href="https://twitter.com/PoolpOrg" target="_blank" rel="nofollow noopener"&gt;Gilles Chehade&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/jqdHYEH_BQY?t=21764" target="_blank" rel="nofollow noopener"&gt;Hoisting: lessons learned integrating pledge into 500 programs&lt;/a&gt; by Theo de Raadt&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/jqdHYEH_BQY?t=25463" target="_blank" rel="nofollow noopener"&gt;Keynote 3: System Performance Analysis Methodologies&lt;/a&gt; by &lt;a href="https://twitter.com/brendangregg" target="_blank" rel="nofollow noopener"&gt;Brendan Gregg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/jqdHYEH_BQY?t=29355" target="_blank" rel="nofollow noopener"&gt;Closing Session&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Karnak

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtu.be/1hjzleqGRYk?t=71" target="_blank" rel="nofollow noopener"&gt;“Is it done yet ?” The never ending story of pkg tools&lt;/a&gt; by &lt;a href="https://twitter.com/espie_openbsd" target="_blank" rel="nofollow noopener"&gt;Marc Espie&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/1hjzleqGRYk?t=7498" target="_blank" rel="nofollow noopener"&gt;A Tale of six motherboards, three BSDs and coreboot&lt;/a&gt; by Piotr Kubaj and Katarzyna Kubaj&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/1hjzleqGRYk?t=11475" target="_blank" rel="nofollow noopener"&gt;State of the DragonFly’s graphics stack&lt;/a&gt; by François Tigeot&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/1hjzleqGRYk?t=16227" target="_blank" rel="nofollow noopener"&gt;From NanoBSD to ZFS and Jails – FreeBSD as a Hosting Platform, Revisited&lt;/a&gt; by Patrick M. Hausen&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/1hjzleqGRYk?t=20069" target="_blank" rel="nofollow noopener"&gt;Bacula – nobody ever regretted making a backup&lt;/a&gt; by &lt;a href="https://twitter.com/DLangille" target="_blank" rel="nofollow noopener"&gt;Dan Langille&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/qX0BS4P65cQ?t=325" target="_blank" rel="nofollow noopener"&gt;Never Lose a Syslog Message&lt;/a&gt; by Alexander Bluhm&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/qX0BS4P65cQ?t=5647" target="_blank" rel="nofollow noopener"&gt;Running CloudABI applications on a FreeBSD-based Kubernetes cluster&lt;/a&gt; by &lt;a href="https://twitter.com/EdSchouten" target="_blank" rel="nofollow noopener"&gt;Ed Schouten&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/qX0BS4P65cQ?t=13255" target="_blank" rel="nofollow noopener"&gt;The OpenBSD web stack&lt;/a&gt; by &lt;a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener"&gt;Michael W. Lucas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/qX0BS4P65cQ?t=16835" target="_blank" rel="nofollow noopener"&gt;The LLDB Debugger on NetBSD&lt;/a&gt; by Kamil Rytarowski&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/qX0BS4P65cQ?t=21583" target="_blank" rel="nofollow noopener"&gt;What’s in store for NetBSD 8.0?&lt;/a&gt; by Alistair Crooks&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Louxor

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtu.be/6Nen6a1Xl7I?t=156" target="_blank" rel="nofollow noopener"&gt;A Modern Replacement for BSD spell(1)&lt;/a&gt; by &lt;a href="https://twitter.com/abhi9u" target="_blank" rel="nofollow noopener"&gt;Abhinav Upadhyay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/6Nen6a1Xl7I?t=5874" target="_blank" rel="nofollow noopener"&gt;Portable Hotplugging: NetBSD’s uvm_hotplug(9) API development&lt;/a&gt; by Cherry G. Mathew&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/6Nen6a1Xl7I?t=9343" target="_blank" rel="nofollow noopener"&gt;Hardening pkgsrc&lt;/a&gt; by &lt;a href="https://twitter.com/khorben" target="_blank" rel="nofollow noopener"&gt;Pierre Pronchery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/6Nen6a1Xl7I?t=14874" target="_blank" rel="nofollow noopener"&gt;Discovering OpenBSD on AWS&lt;/a&gt; by &lt;a href="https://twitter.com/lbernail" target="_blank" rel="nofollow noopener"&gt;Laurent Bernaille&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/6Nen6a1Xl7I?t=18639" target="_blank" rel="nofollow noopener"&gt;OpenBSD Testing Infrastructure Behind bluhm.genua.de&lt;/a&gt; by Jan Klemkow&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/8wuW8lfsVGc?t=276" target="_blank" rel="nofollow noopener"&gt;The school of hard knocks – PT1&lt;/a&gt; by &lt;a href="https://twitter.com/sevanjaniyan" target="_blank" rel="nofollow noopener"&gt;Sevan Janiyan&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/8wuW8lfsVGc?t=5321" target="_blank" rel="nofollow noopener"&gt;7 years of maintaining firefox, and still looking ahead&lt;/a&gt; by Landry Breuil&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/8wuW8lfsVGc?t=12385" target="_blank" rel="nofollow noopener"&gt;Branch VPN solution based on OpenBSD, OSPF, RDomains and Ansible&lt;/a&gt; by Remi Locherer&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/8wuW8lfsVGc?t=15983" target="_blank" rel="nofollow noopener"&gt;Running BSD on AWS&lt;/a&gt; by Julien Simon and Nicolas David&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/8wuW8lfsVGc?t=21491" target="_blank" rel="nofollow noopener"&gt;Getting started with OpenBSD device driver development&lt;/a&gt; by Stefan Sperling&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;A huge thanks to the organizers, program committee, and sponsors of EuroBSDCon. Next year, EuroBSDcon will be in Bucharest, Romania.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.sigsegv.be//blog/freebsd/PR219251" target="_blank" rel="nofollow noopener"&gt;The story of PR 219251&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The actual story I wanted Kristof to tell, the pf bug he fixed at the Essen Hackathon earlier this summer.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As I threatened to do in my previous post, I'm going to talk about PR 219251 for a bit. The bug report dates from only a few months ago, but the first report (that I can remeber) actually came from Shawn Webb on Twitter, of all places&lt;br&gt;
Despite there being a stacktrace it took quite a while (nearly 6 months in fact) before I figured this one out.&lt;br&gt;
It took Reshad Patuck managing to distill the problem down to a small-ish test script to make real progress on this. His testcase meant that I could get core dumps and experiment. It also provided valuable clues because it could be tweaked to see what elements were required to trigger the panic.&lt;br&gt;
This test script starts a (vnet) jail, adds an epair interface to it, sets up pf in the jail, and then reloads the pf rules on the host. Interestingly the panic does not seem to occur if that last step is not included.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Obviously not the desired behaviour, but it seems strange. The instances of pf in the jails are supposed to be separate.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We try to fetch a counter value here, but instead we dereference a bad pointer. There's two here, so already we need more information. Inspection of the core dump reveals that the state pointer is valid, and contains sane information. The rule pointer (rule.ptr) points to a sensible location, but the data is mostly 0xdeadc0de. This is the memory allocator being helpful (in debug mode) and writing garbage over freed memory, to make use-after-free bugs like this one easier to find.&lt;br&gt;
In other words: the rule has been free()d while there was still a state pointing to it. Somehow we have a state (describing a connection pf knows about) which points to a rule which no longer exists. The core dump also shows that the problem always occurs with states and rules in the default vnet (i.e. the host pf instance), not one of the pf instances in one of the vnet jails. That matches with the observation that the test script does not trigger the panic unless we also reload the rules on the host.&lt;br&gt;
Great, we know what's wrong, but now we need to work out how we can get into this state. At this point we're going to have to learn something about how rules and states get cleaned up in pf. Don't worry if you had no idea, because before this bug I didn't either.&lt;br&gt;
The states keep a pointer to the rule they match, so when rules are changed (or removed) we can't just delete them. States get cleaned up when connections are closed or they time out. This means we have to keep old rules around until the states that use them expire.&lt;br&gt;
 When rules are removed pf_unlink_rule() adds then to the V_pf_unlinked_rules list (more on that funny V_ prefix later). From time to time the pf purge thread will run over all states and mark the rules that are used by a state. Once that's done for all states we know that all rules that are not marked as in-use can be removed (because none of the states use it). That can be a lot of work if we've got a lot of states, so pf_purge_thread() breaks that up into smaller chuncks, iterating only part of the state table on every run.&lt;br&gt;
We iterate over all of our virtual pf instances (VNET_FOREACH()), check if it's active (for FreeBSD-EN-17.08, where we've seen this code before) and then check the expired states with pf_purge_expired_states(). We start at state 'idx' and only process a certain number (determined by the PFTM_INTERVAL setting) states. The pf_purge_expired_states() function returns a new idx value to tell us how far we got.&lt;br&gt;
So, remember when I mentioned the odd V_ prefix? Those are per-vnet variables. They work a bit like thread-local variables. Each vnet (virtual network stack) keeps its state separate from the others, and the V_ variables use a pointer that's changed whenever we change the currently active vnet (say with CURVNET_SET() or CURVNET_RESTORE()). That's tracked in the 'curvnet' variable. In other words: there are as many V_pf_vnet_active variables as there are vnets: number of vnet jails plus one (for the host system).&lt;br&gt;
Why is that relevant here? Note that idx is not a per-vnet variable, but we handle multiple pf instances here. We run through all of them in fact. That means that we end up checking the first X states in the first vnet, then check the second X states in the second vnet, the third X states in the third and so on and so on.&lt;br&gt;
That of course means that we think we've run through all of the states in a vnet while we really only checked some of them. So when pf_purge_unlinked_rules() runs it can end up free()ing rules that actually are still in use because pf_purge_thread() skipped over the state(s) that actually used the rule. The problem only happened if we reloaded rules in the host, because the active ruleset is never free()d, even if there are no states pointing to the rule.&lt;br&gt;
That explains the panic, and the fix is actually quite straightforward: idx needs to be a per-vnet variable, V_pf_purge_idx, and then the problem is gone. As is often the case, the solution to a fairly hard problem turns out to be really simple.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;As you might expect, finding the problem takes a lot more work that fixing it&lt;/li&gt;
&lt;li&gt;Thanks to Kristof for writing up this detailed post explaining how the problem was found, and what caused it.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/vbsdcon-2017-dexter/" target="_blank" rel="nofollow noopener"&gt;vBSDcon 2017: BSD at Work&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The third biennial vBSDcon hosted by Verisign took place September 7th through 9th with the FreeBSD Developer Summit taking place the first day. vBSDcon and iXsystems’ MeetBSD event have been alternating between the East and West coasts of the U.S.A. and these two events play vital roles in reaching Washington, DC-area and Bay Area/Silicon Valley audiences. Where MeetBSD serves many BSD Vendors, vBSDcon attracts a unique government and security industry demographic that isn’t found anywhere else. Conference time and travel budgets are always limited and bringing these events to their attendees is a much-appreciated service provided by their hosts.&lt;br&gt;
The vBSDcon FreeBSD DevSummit had a strong focus on OpenZFS, the build system and networking with the FreeBSD 12 wish list of features in mind. How to best incorporate the steady flow of new OpenZFS features into FreeBSD such as dataset-level encryption was of particular interest. This feature from a GNU/Linux-based storage vendor is tribute to the growth of the OpenZFS community which is vital in light of the recent “Death of Solaris and ZFS” at Oracle. There has never been more demand for OpenZFS on FreeBSD and the Oracle news further confirms our collective responsibility to meet that demand.&lt;br&gt;
The official conference opened with my talk on “Isolated BSD Build Environments” in which I explained how the bhyve hypervisor can be used to effortlessly tour FreeBSD 5.0-onward and build specific source releases on demand to trace regressions to their offending commit. I was followed by a FreeNAS user who made the good point that FreeNAS is an exemplary “entry vector” into Unix and Enterprise Storage fundamentals, given that many of the vectors our generation had are gone. Where many of us discovered Unix and the Internet via console terminals at school or work, smart phones are only delivering the Internet without the Unix. With some irony, both iOS and Android are Unix-based yet offer few opportunities for their users to learn and leverage their Unix environments.&lt;br&gt;
The next two talks were The History and Future of Core Dumps in FreeBSD by Sam Gwydir and Using pkgsrc for multi-platform deployments in heterogeneous environments by G. Clifford Williams. I strongly recommend that anyone wanting to speak at AsiaBSDCon read Sam’s accompanying paper on core dumps because I consider it the perfect AsiaBSDCon topic and his execution is excellent. Core dumps are one of those things you rarely think about until they are a DROP EVERYTHING! priority. G. Clifford’s talk was about what I consider a near-perfect BSD project: pkgsrc, the portable BSD package manager. I put it up there with OpenSSH and mandoc as projects that have provided significant value to other Open Source operating systems. G. Clifford’s real-world experiences are perfectly inline with vBSDcon’s goal to be more production-oriented than other BSDCons.&lt;br&gt;
Of the other talks, any and all Dtrace talks are always appreciated and George Neville-Neil’s did not disappoint. He based it on his experiences with the Teach BSD project which is bringing FreeBSD-based computer science education to schools around the world. The security-related talks by John-Mark Gurney, Dean Freeman and Michael Shirk also represented vBSDcon’s consideration of the local community and made a convincing point that the BSDs should make concerted efforts to qualify for Common Criteria, FIPS, and other Government security requirements. While some security experts will scoff at these, they are critical to the adoption of BSD-based products by government agencies.&lt;br&gt;
BSD Now hosts Allan Jude and Benedict Reuschling hosted an OpenZFS BoF and Ansible talk respectively and I hosted a bhyve hypervisor BoF. The Hallway Track and food at vBSDcon were excellent and both culminated with an after-dinner dramatic reading of Michael W. Lucas’ latest book that raised money for the FreeBSD Foundation. A great time was had by all and it was wonderful to see everyone!&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-September/087848.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 10.4-RC2 Available&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD 10.4 will be released soon, this is the last chance to find bugs before the official release is cut.&lt;/li&gt;
&lt;li&gt;Noteworthy Changes Since 10.4-RC1:

&lt;ul&gt;
&lt;li&gt;Given that the amd64 disc1 image was overflowing, more of the base components installed into the disc1 (live) file systems had to be disabled.  Most notably, this removed the compiler toolchain from the disc1 images.  All disabled tools are still available with the dvd1 images, though.&lt;/li&gt;
&lt;li&gt;The aesni(4) driver now no longer shares a single FPU context across multiple sessions in multiple threads, addressing problems seen when employing aesni(4) for ipsec(4).&lt;/li&gt;
&lt;li&gt;Support for netmap(4) by the ixgbe(4) driver has been brought into line with the netmap(4) API present in stable/10.  Also, ixgbe(4) now correctly handles VFs in its netmap(4) support again instead of treating these as PFs.&lt;/li&gt;
&lt;li&gt;During the creation of amd64 and i386 VM images, etcupdate(8) and mergemaster(8) databases now are bootstrapped, akin to what happens along the extraction of base.txz as part of a new installation via bsdinstall(8).  This change allows for both of these tools to work out-of-box on the VM images and avoids errors seen when upgrading these images via freebsd-update(8).&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;If you are still on the stable/10 branch, you should test upgrading to 10.4, and make sure there are no problems with your workload&lt;/li&gt;
&lt;li&gt;Additional testing specifically of the features that have changed since 10.4-BETA1 would also be most helpful&lt;/li&gt;
&lt;li&gt;This will be the last release from the stable/10 branch
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.tedunangst.com/flak/post/openbsd-changes-of-note-628" target="_blank" rel="nofollow noopener"&gt;OpenBSD changes of note 628&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;EuroBSDCon in two weeks. Be sure to attend early and often.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Many and various documentation improvements for libcrypto. New man pages, rewrites, expanded bugs sections, and more.&lt;/li&gt;
&lt;li&gt;Only allow upward migration in vmd.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There’s a README for the syspatch build system if you want to run your own.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Move the kernel relinking code from /etc/rc into a seperate script usable by syspatch. Kernel patches can now be reduced to just the necessary files.&lt;/li&gt;
&lt;li&gt;Make the callers of sogetopt() responsible for allocating memory. Now allocation and free occur in the same place.&lt;/li&gt;
&lt;li&gt;Use waitpid() instead of wait() in most programs to avoid accidentally collecting the wrong child.&lt;/li&gt;
&lt;li&gt;Have cu call isatty() before making assumptions.&lt;/li&gt;
&lt;li&gt;Switch mandoc rendering of mathematical symbols and greek letters from trying to imitate the characters’ graphical shapes, which resulted in unintelligible renderings in many cases, to transliterations conveying the characters’ meanings.&lt;/li&gt;
&lt;li&gt;Update libexpat to 2.2.4. Fix copying partial UTF-8 characters.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Sigh, here we go again. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Work around bug in F5’s handling of the supported elliptic curves extension. RFC 4492 only defines elliptic_curves for ClientHello. However, F5 is sending it in ServerHello. We need to skip over it since our TLS extension parsing code is now more strict.&lt;/li&gt;
&lt;li&gt;After a first install, run syspatch -c to check for patches.&lt;/li&gt;
&lt;li&gt;If SMAP is present, clear PSL_AC on kernel entry and interrupt so that only the code in copy{in,out}* that need it run with it set. Panic if it’s set on entry to trap() or syscall(). Prompted by Maxime Villard’s NetBSD work. Errata.&lt;/li&gt;
&lt;li&gt;New drivers for arm: rktemp, mvpinctrl, mvmpic, mvneta, mvmdio, mvpxa, rkiic, rkpmic.&lt;/li&gt;
&lt;li&gt;No need to exec rm from within mandoc. We know there’s exactly one file and directory to remove. Similarly with running cmp.&lt;/li&gt;
&lt;li&gt;Revert to Mesa 13.0.6 to hopefully address rendering issues a handful of people have reported with xpdf/fvwm on ivy bridge with modesetting driver.&lt;/li&gt;
&lt;li&gt;Rewrite ALPN extension using CBB/CBS and the new extension framework. Rewrite SRTP extension using CBB/CBS and the new extension framework.&lt;/li&gt;
&lt;li&gt;Revisit 2q queue sizes. Limit the hot queue to 1/20th the cache size up to a max of 4096 pages. Limit the warm and cold queues to half the cache. This allows us to more effectively notice re-interest in buffers instead of losing it in a large hot queue.&lt;/li&gt;
&lt;li&gt;Add glass console support for arm64. Probably not yet for your machine, though.&lt;/li&gt;
&lt;li&gt;Replace heaps of hand-written syscall stubs in ld.so with a simpler framework.&lt;/li&gt;
&lt;li&gt;65535 is a valid port to listen on.&lt;/li&gt;
&lt;li&gt;When xinit starts an X server that listens only on UNIX socket, prefer DISPLAY=unix:0 rather than DISPLAY=:0. This will prevent applications from ever falling back to TCP if the UNIX socket connection fails (such as when the X server crashes). Reverted.&lt;/li&gt;
&lt;li&gt;Add -z and -Z options to apmd to auto suspend or hibernate when low on battery.&lt;/li&gt;
&lt;li&gt;Remove the original (pre-IETF) chacha20-poly1305 cipher suites.&lt;/li&gt;
&lt;li&gt;Add urng(4) which supports various USB RNG devices. Instead of adding one driver per device, start bundling them into a single driver.&lt;/li&gt;
&lt;li&gt;Remove old deactivated pledge path code. A replacement mechanism is being brewed.&lt;/li&gt;
&lt;li&gt;Fix a bug from the extension parsing rewrite. Always parse ALPN even if no callback has been installed to prevent leaving unprocessed data which leads to a decode error.&lt;/li&gt;
&lt;li&gt;Clarify what is meant by syslog priorities being ordered, since the numbers and priorities are backwards.&lt;/li&gt;
&lt;li&gt;Remove a stray setlocale() from ksh, eliminating a lot of extra statically linked code.&lt;/li&gt;
&lt;li&gt;Unremove some NPN symbols from libssl because ports software thinks they should be there for reasons.&lt;/li&gt;
&lt;li&gt;Fix saved stack location after resume. Somehow clang changed it. Resume works again on i386.&lt;/li&gt;
&lt;li&gt;Improve error messages in vmd and vmctl to be more informative.&lt;/li&gt;
&lt;li&gt;Stop building the miniroot installer for OMAP3 Beagleboards. It hasn’t worked in over a year and nobody noticed.&lt;/li&gt;
&lt;li&gt;Have the callers of sosetopt() free the mbuf for symmetry.&lt;/li&gt;
&lt;li&gt;On octeon, let the kernel use the hardware FPU even if emulation is compiled in. It’s faster.&lt;/li&gt;
&lt;li&gt;Fix support for 486DX CPUs by not calling cpuid. I used to own a 486. Now I don’t.&lt;/li&gt;
&lt;li&gt;Merge some drm fixes from linux.&lt;/li&gt;
&lt;li&gt;Defer probing of floppy drives, eliminating delays during boot.&lt;/li&gt;
&lt;li&gt;Better handling of probes and beacons and timeouts and scans in wifi stack to avoid disconnects.&lt;/li&gt;
&lt;li&gt;Move mutex, condvar, and thread-specific data routes, pthread_once, and pthread_exit from libpthread to libc, along with low-level bits to support them. Let’s thread aware (but not actually threaded) code work with just libc.&lt;/li&gt;
&lt;li&gt;New POSIX xlocale implementation. Complete as long as you only use ASCII and UTF-8, as you should.&lt;/li&gt;
&lt;li&gt;Round and round it goes; when 6.2 stops, nobody knows. A peak at the future?
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://eradman.com/posts/screencasting.html" target="_blank" rel="nofollow noopener"&gt;Screencasting with OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;USB Audio&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Any USB microphone should appear as a new audio device. Here is the dmesg for my mic by ART:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
uaudio0 at uhub0 port 2 configuration 1 interface 0 "M-One USB" rev 1.10/0.01 addr 2&lt;br&gt;
uaudio0: audio rev 1.00, 8 mixer controls&lt;br&gt;
audio1 at uaudio0&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;audioctl can read off all of the specific characterisitcs of this device&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
$ audioctl -f /dev/audio1 | grep record&lt;br&gt;
mode=play,record&lt;br&gt;
record.rate=48000&lt;br&gt;
record.channels=1&lt;br&gt;
record.precision=16&lt;br&gt;
record.bps=2&lt;br&gt;
record.msb=1&lt;br&gt;
record.encoding=slinear_le&lt;br&gt;
record.pause=0&lt;br&gt;
record.active=0&lt;br&gt;
record.block_size=1960&lt;br&gt;
record.bytes=0&lt;br&gt;
record.errors=0&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Now test the recording from the second audio device using aucat(1)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
aucat -f rsnd/1 -o file.wav&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If the device also has a headset audio can be played through the same device.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
aucat -f rsnd/1 -i file.wav&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Screen Capture using Xvfb&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The rate at which a framebuffer for your video card is a feature of the hardware and software your using, and it's often very slow. x11vnc will print an estimate of the banwidth for the system your running.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
x11vnc&lt;br&gt;
...&lt;br&gt;
09/05/2012 22:23:45 fb read rate: 7 MB/sec&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This is about 4fps. We can do much better by using a virtual framebuffer. Here I'm setting up a new screen, setting the background color, starting cwm and an instance of xterm&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
Xvfb :1 -screen 0 720x540x16 &amp;amp;&lt;br&gt;
DISPLAY=:1 xsetroot -solid steelblue &amp;amp;&lt;br&gt;
DISPLAY=:1 cwm &amp;amp;&lt;br&gt;
DISPLAY=:1 xterm +sb -fa Hermit -fs 14 &amp;amp;&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Much better! Now we're up around 20fps.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
x11vnc -display :1  &amp;amp;&lt;br&gt;
...&lt;br&gt;
11/05/2012 18:04:07 fb read rate: 168 MB/sec&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Make a connection to this virtual screen using raw encoding to eliminate time wasted on compression.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
vncviewer localhost -encodings raw&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A test recording with sound then looks like this&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
ffmpeg -f sndio -i snd/1 -y -f x11grab -r 12 -s 800x600 -i :1.0 -vcodec ffv1 ~/out.avi&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: always stop the recording and playback using q, not Ctrl-C so that audio inputs are shut down properly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Screen Capture using Xephyr&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Xephyr is perhaps the easiest way to run X with a shadow framebuffer. This solution also avoids reading from the video card's RAM, so it's reasonably fast.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
Xephyr -ac -br -noreset -screen 800x600 :1 &amp;amp;&lt;br&gt;
DISPLAY=:1 xsetroot -solid steelblue &amp;amp;&lt;br&gt;
DISPLAY=:1 cwm &amp;amp;&lt;br&gt;
DISPLAY=:1 xrdb -load ~/.Xdefaults &amp;amp;&lt;br&gt;
DISPLAY=:1 xterm +sb -fa "Hermit" -fs 14 &amp;amp;&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Capture works in exactally the same way. This command tries to maintain 12fps.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
ffmpeg -f sndio -i snd/1 -y -f x11grab -r 12 -s 800x600 -i :1.0 -vcodec ffv1 -acodec copy ~/out.avi&lt;br&gt;
To capture keyboard and mouse input press Ctrl then Shift. This is very handy for using navigating a window manager in the nested X session.&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Arranging Windows&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I have sometimes found it helpful to launch applications and arrange them in a specific way. This will open up a web browser listing the current directory and position windows using xdotool&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
DISPLAY=:1 midori "file:///&lt;/code&gt;pwd&lt;code&gt;" &amp;amp;&lt;br&gt;
sleep 2&lt;br&gt;
DISPLAY=:1 xdotool search --name "xterm" windowmove 0 0&lt;br&gt;
DISPLAY=:1 xdotool search --class "midori" windowmove 400 0&lt;br&gt;
DISPLAY=:1 xdotool search --class "midori" windowsize 400 576&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This will position the window precisely so that it appears to be in a tmux window on the right.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Audio/Video Sync&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you find that the audio is way out of sync with the video, you can ajust the start using the -ss before the audio input to specify the number of seconds to delay. My final recording command line, that delays the audio by 0.5 seconds, writing 12fps&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
ffmpeg -ss 0.5 -f sndio -i snd/1 -y -f x11grab -r 12 -s 800x600 -i :1.0 -vcodec ffv1  -acodec copy ~/out.avi&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sharing a Terminal with tmux&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you're trying to record a terminal session, tmux is able to share a session. In this way a recording of an X framebuffer can be taken without even using the screen. Start by creating the session.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
tmux -2 -S /tmp/tmux0&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Then on the remote side connect on the same socket&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
tmux -2 -S /tmp/tmux0 attach&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Taking Screenshots&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Grabbing a screenshots on Xvfb server is easily accomplished with ImageMagick's import command&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
DISPLAY=:1 import -window root screenshot.png&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Audio Processing and Video Transcoding&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The first step is to ensure that the clip begins and ends where you'd like it to. The following will make a copy of the recording starting at time 00:00 and ending at 09:45&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
ffmpeg -i interactive-sql.avi \&lt;br&gt;
    -vcodec copy -acodec copy&lt;br&gt;
    -ss 00:00:00 -t 00:09:45&lt;br&gt;
    interactive-sql-trimmed.avi&lt;br&gt;
mv interactive-sql-trimmed.avi interactive-sql.avi&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Setting the gain correctly is very important with an analog mixer, but if you're using a USB mic there may not be a gain option; simply record using it's built-in settings and then adjust the levels afterwards using a utility such as normalize. First extact the audio as a raw PCM file and then run normalize&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
ffmpeg -i interactive-sql.avi -c:a copy -vn audio.wav&lt;br&gt;
normalize audio.wav&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Next merge the audio back in again&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
ffmpeg -i interactive-sql.avi -i audio.wav \&lt;br&gt;
    -map 0:0 -map 1:0 -c copy interactive-sql-normalized.avi&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The final step is to compress the screencast for distribution. Encoding to VP8/Vorbis is easy:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
ffmpeg -i interactive-sql-normalized.avi -c:v libvpx -b:v 1M&lt;br&gt;
    -c:a libvorbis -q:a 6 interactive-sql.webm&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;H.264/AAC is tricky. For most video players the color space needs to be set to yuv420p. The -movflags puts the index data at the beginning of the file to enable streaming/partial content requests over HTTP:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;&lt;br&gt;
ffmpeg -y -i interactive-sql-normalized.avi -c:v libx264 \&lt;br&gt;
    -preset slow -crf 14 -pix_fmt yuv420p -movflags +faststart \&lt;br&gt;
    -c:a aac -q:a 6 interactive-sql.mp4&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.trueos.org/blog/trueos-ohio-linuxfest-17/" target="_blank" rel="nofollow noopener"&gt;TrueOS @ Ohio Linuxfest ’17!&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Dru Lavigne and Ken Moore are both giving presentations on Saturday the 30th. Sit in and hear about new developments for the Lumina and FreeNAS projects.&lt;/li&gt;
&lt;li&gt;Ken is offering Lumina Rising: Challenging Desktop Orthodoxy at 10:15 am in Franklin A. Hear his thoughts about the ideas propelling desktop environment development and how Lumina, especially Lumina 2, is seeking to offer a new model of desktop architecture. Elements discussed include session security, application dependencies, message handling, and operating system integration.&lt;/li&gt;
&lt;li&gt;Dru is talking about What’s New in FreeNAS 11 at 2:00 pm in Franklin D. She’ll be providing an overview of some of the new features added in FreeNAS 11.0, including:

&lt;ul&gt;
&lt;li&gt;Alert Services&lt;/li&gt;
&lt;li&gt;Starting specific services at boot time&lt;/li&gt;
&lt;li&gt;AD Monitoring to ensure the AD service restarts if disconnected&lt;/li&gt;
&lt;li&gt;A preview of the new user interface&lt;/li&gt;
&lt;li&gt;support for S3-compatible storage and the bhyve hypervisor&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;She’s also giving a sneak peek of FreeNAS 11.1, which has some neat features:

&lt;ul&gt;
&lt;li&gt;A complete rewrite of the Jails/Plugins system as FreeNAS moves from warden to iocage&lt;/li&gt;
&lt;li&gt;Writing new plugins with just a few lines of code&lt;/li&gt;
&lt;li&gt;A brand new asynchronous middleware API &lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Who’s going? Attending this year are:

&lt;ul&gt;
&lt;li&gt;Dru Lavigne (dlavigne): Dru leads the technical documentation team at iX, and contributes heavily to open source documentation projects like FreeBSD, FreeNAS, and TrueOS.&lt;/li&gt;
&lt;li&gt;Ken Moore (beanpole134): Ken is the lead developer of Lumina and a core contributor to TrueOS. He also works on a number of other Qt5 projects for iXsystems.&lt;/li&gt;
&lt;li&gt;J.T. Pennington (q5sys): Some of you may be familiar with his work on BSDNow, but J.T. also contributes to the TrueOS, Lumina, and SysAdm projects, helping out with development and general bug squashing.
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.trueos.org/blog/lumina-development-preview-theme-engine/" target="_blank" rel="nofollow noopener"&gt;Lumina Development Preview: Theme Engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.theregister.co.uk/2017/09/04/retro_thinkpad_spotted_in_the_wild/" target="_blank" rel="nofollow noopener"&gt;It's happening! Official retro Thinkpad lappy spotted in the wild&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/llvm_libfuzzer_and_safestack_ported" target="_blank" rel="nofollow noopener"&gt;LLVM libFuzzer and SafeStack ported to NetBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/news-and-events/event-calendar/2017-openzfs-developer-summit/" target="_blank" rel="nofollow noopener"&gt;Remaining 2017 FreeBSD Events&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Andrew - &lt;a href="http://dpaste.com/0YTT0VP" target="_blank" rel="nofollow noopener"&gt;BSD Teaching Material&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Seth - &lt;a href="http://dpaste.com/1SK92ZX#wrap" target="_blank" rel="nofollow noopener"&gt;Switching to Tarsnap after Crashplan becomes no more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Thomas - &lt;a href="http://dpaste.com/02KD5FX#wrap" target="_blank" rel="nofollow noopener"&gt;Native encryption in ZFS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Coding Cowboy - &lt;a href="http://dpaste.com/31K0E40#wrap" target="_blank" rel="nofollow noopener"&gt;Coding Cowboy - Passwords and clipboards&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We recap EuroBSDcon in Paris, tell the story behind a pf PR, and show you how to do screencasting with OpenBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://2017.eurobsdcon.org" target="_blank" rel="nofollow noopener">Recap of EuroBSDcon 2017 in Paris, France</a></h3>

<ul>
<li>EuroBSDcon was held in Paris, France this year, which drew record numbers this year.</li>
<li>With over 300 attendees, it was the largest BSD event I have ever attended, and I was encouraged by the higher than expected number of first time attendees.</li>
<li>The FreeBSD Foundation held a board meeting on Wednesday afternoon with the members who were in Paris. Topics included future conferences (including a conference kit we can mail to people who want to represent FreeBSD) and planning for next year.</li>
<li>The FreeBSD Devsummit started on Thursday at the beautiful Mozilla Office in Paris. After registering and picking up our conference bag, everyone gathered for a morning coffee with lots of handshaking and greeting. We then gathered in the next room which had a podium with microphone, screens as well as tables and chairs. After developers sat down, Benedict opened the devsummit with a small quiz about France for developers to win a <a href="https://www.mogics.com/?page_id=3824" target="_blank" rel="nofollow noopener">Mogics Power Bagel</a>. 45 developers participated and DES won the item in the end. After introductions and collecting topics of interest from everyone, we started with the Work in Progress (WIP) session.</li>
<li>The WIP session had different people present a topic they are working on in 7 minute timeslots. Topics ranged from FreeBSD Forwarding Performance, fast booting options, and a GELI patch under review to attach multiple providers. See their <a href="https://wiki.freebsd.org/DevSummit/201709" target="_blank" rel="nofollow noopener">slides on the FreeBSD wiki</a>.</li>
<li>After lunch, the FreeBSD Foundation gave a general update on staff and funding, as well as a more focused presentation about our partnership with Intel. People were interested to hear what was done so far and asked a few questions to the Intel representative Glenn Weinberg.</li>
<li>After lunch, developers worked quietly on their own projects. The mic remained open and occasionally, people would step forward and gave a short talk without slides or motivated a discussion of common interest. The day concluded with a dinner at a nice restaurant in Paris, which allowed to continue the discussions of the day.</li>
<li>The second day of the devsummit began with a talk about the CAM-based SDIO stack by Ilya Bakulin. His work would allow access to wifi cards/modules on embedded boards like the Raspberry Pi Zero W and similar devices as many of these are using SDIO for data transfers.</li>
<li>Next up was a discussion and Q&amp;A session with the FreeBSD core team members who were there (missing only Benno Rice, Kris Moore, John Baldwin, and Baptiste Daroussin, the latter being busy with conference preparations). The new FCP (FreeBSD community proposals) were introduced for those who were not at BSDCan this year and the hows and whys about it. Allan and I were asked to describe our experiences as new members of core and we encouraged people to run for core when the next election happens. After a short break, Scott Long gave an overview of the work that’s been started on NUMA (Non-Uniform Memory Architecture), what the goals of the project are and who is working on it.</li>
<li>Before lunch, Christian Schwarz presented his work on zrepl, a new ZFS replication solution he developed using Go. This sparked interest in developers, <a href="https://reviews.freebsd.org/D12462" target="_blank" rel="nofollow noopener">a port was started</a> and people suggested to Christian that he should submit his talk to AsiaBSDcon and BSDCan next year. Benedict had to leave before lunch was done to teach his Ansible tutorial (which was well attended) at the conference venue.</li>
<li>There were organized dinners, for those two nights, quite a feat of organization to fit over 100 people into a restaurant and serve them quickly.</li>
<li>On Saturday, there was a social event, a river cruise down the Seine. This took the form of a ‘standing’ dinner, with a wide selection of appetizer type dishes, designed to get people to walk around and converse with many different people, rather than sit at a table with the same 6-8 people. I talked to a much larger group of people than I had managed to at the other dinners.</li>
<li>I like having both dinner formats.</li>
<li>We would also like to thank all of the BSDNow viewers who attended the conference and made the point of introducing themselves to us. It was nice to meet you all.</li>
<li>The recordings of the live video stream from the conference are available immediately, so you can watch the raw versions of the talks now:</li>
<li>Auditorium

<ul>
<li><a href="https://youtu.be/4iR8g9-39LM?t=179" target="_blank" rel="nofollow noopener">Keynote 1: Software Development in the Age of Heroes</a> by <a href="https://twitter.com/BearSSLnews" target="_blank" rel="nofollow noopener">Thomas Pornin</a></li>
<li><a href="https://youtu.be/4iR8g9-39LM?t=1660" target="_blank" rel="nofollow noopener">Tuning FreeBSD for routing and firewalling</a> by <a href="https://twitter.com/ocochardlabbe" target="_blank" rel="nofollow noopener">Olivier Cochard-Labbé</a></li>
<li><a href="https://youtu.be/4iR8g9-39LM?t=7040" target="_blank" rel="nofollow noopener">My BSD sucks less than yours, Act I</a> by <a href="https://twitter.com/ajacoutot" target="_blank" rel="nofollow noopener">Antoine Jacoutot</a> and <a href="https://twitter.com/_bapt_" target="_blank" rel="nofollow noopener">Baptiste Daroussin</a></li>
<li><a href="https://youtu.be/4iR8g9-39LM?t=14254" target="_blank" rel="nofollow noopener">My BSD sucks less than yours, Act II</a> by <a href="https://twitter.com/ajacoutot" target="_blank" rel="nofollow noopener">Antoine Jacoutot</a> and <a href="https://twitter.com/_bapt_" target="_blank" rel="nofollow noopener">Baptiste Daroussin</a></li>
<li><a href="https://youtu.be/4iR8g9-39LM?t=23351" target="_blank" rel="nofollow noopener">Reproducible builds on NetBSD</a> by Christos Zoulas</li>
<li><a href="https://youtu.be/4iR8g9-39LM?t=26845" target="_blank" rel="nofollow noopener">Your scheduler is not the problem</a> by Martin Pieuchot</li>
<li><a href="https://youtu.be/4iR8g9-39LM?t=30540" target="_blank" rel="nofollow noopener">Keynote 2: A French story on cybercrime</a> by <a href="https://twitter.com/ericfreyss" target="_blank" rel="nofollow noopener">Éric Freyssinet</a></li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=731" target="_blank" rel="nofollow noopener">Case studies of sandboxing base system with Capsicum</a> by <a href="https://twitter.com/oshogbovx" target="_blank" rel="nofollow noopener">Mariusz Zaborski</a></li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=6030" target="_blank" rel="nofollow noopener">OpenBSD’s small steps towards DTrace (a tale about DDB and CTF)</a> by Jasper Lievisse Adriaanse</li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=13096" target="_blank" rel="nofollow noopener">The Realities of DTrace on FreeBSD</a> by <a href="https://twitter.com/gvnn3" target="_blank" rel="nofollow noopener">George Neville-Neil</a></li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=16818" target="_blank" rel="nofollow noopener">OpenSMTPD, current state of affairs</a> by <a href="https://twitter.com/PoolpOrg" target="_blank" rel="nofollow noopener">Gilles Chehade</a></li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=21764" target="_blank" rel="nofollow noopener">Hoisting: lessons learned integrating pledge into 500 programs</a> by Theo de Raadt</li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=25463" target="_blank" rel="nofollow noopener">Keynote 3: System Performance Analysis Methodologies</a> by <a href="https://twitter.com/brendangregg" target="_blank" rel="nofollow noopener">Brendan Gregg</a></li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=29355" target="_blank" rel="nofollow noopener">Closing Session</a></li>
</ul></li>
<li>Karnak

<ul>
<li><a href="https://youtu.be/1hjzleqGRYk?t=71" target="_blank" rel="nofollow noopener">“Is it done yet ?” The never ending story of pkg tools</a> by <a href="https://twitter.com/espie_openbsd" target="_blank" rel="nofollow noopener">Marc Espie</a></li>
<li><a href="https://youtu.be/1hjzleqGRYk?t=7498" target="_blank" rel="nofollow noopener">A Tale of six motherboards, three BSDs and coreboot</a> by Piotr Kubaj and Katarzyna Kubaj</li>
<li><a href="https://youtu.be/1hjzleqGRYk?t=11475" target="_blank" rel="nofollow noopener">State of the DragonFly’s graphics stack</a> by François Tigeot</li>
<li><a href="https://youtu.be/1hjzleqGRYk?t=16227" target="_blank" rel="nofollow noopener">From NanoBSD to ZFS and Jails – FreeBSD as a Hosting Platform, Revisited</a> by Patrick M. Hausen</li>
<li><a href="https://youtu.be/1hjzleqGRYk?t=20069" target="_blank" rel="nofollow noopener">Bacula – nobody ever regretted making a backup</a> by <a href="https://twitter.com/DLangille" target="_blank" rel="nofollow noopener">Dan Langille</a></li>
<li><a href="https://youtu.be/qX0BS4P65cQ?t=325" target="_blank" rel="nofollow noopener">Never Lose a Syslog Message</a> by Alexander Bluhm</li>
<li><a href="https://youtu.be/qX0BS4P65cQ?t=5647" target="_blank" rel="nofollow noopener">Running CloudABI applications on a FreeBSD-based Kubernetes cluster</a> by <a href="https://twitter.com/EdSchouten" target="_blank" rel="nofollow noopener">Ed Schouten</a></li>
<li><a href="https://youtu.be/qX0BS4P65cQ?t=13255" target="_blank" rel="nofollow noopener">The OpenBSD web stack</a> by <a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener">Michael W. Lucas</a></li>
<li><a href="https://youtu.be/qX0BS4P65cQ?t=16835" target="_blank" rel="nofollow noopener">The LLDB Debugger on NetBSD</a> by Kamil Rytarowski</li>
<li><a href="https://youtu.be/qX0BS4P65cQ?t=21583" target="_blank" rel="nofollow noopener">What’s in store for NetBSD 8.0?</a> by Alistair Crooks</li>
</ul></li>
<li>Louxor

<ul>
<li><a href="https://youtu.be/6Nen6a1Xl7I?t=156" target="_blank" rel="nofollow noopener">A Modern Replacement for BSD spell(1)</a> by <a href="https://twitter.com/abhi9u" target="_blank" rel="nofollow noopener">Abhinav Upadhyay</a></li>
<li><a href="https://youtu.be/6Nen6a1Xl7I?t=5874" target="_blank" rel="nofollow noopener">Portable Hotplugging: NetBSD’s uvm_hotplug(9) API development</a> by Cherry G. Mathew</li>
<li><a href="https://youtu.be/6Nen6a1Xl7I?t=9343" target="_blank" rel="nofollow noopener">Hardening pkgsrc</a> by <a href="https://twitter.com/khorben" target="_blank" rel="nofollow noopener">Pierre Pronchery</a></li>
<li><a href="https://youtu.be/6Nen6a1Xl7I?t=14874" target="_blank" rel="nofollow noopener">Discovering OpenBSD on AWS</a> by <a href="https://twitter.com/lbernail" target="_blank" rel="nofollow noopener">Laurent Bernaille</a></li>
<li><a href="https://youtu.be/6Nen6a1Xl7I?t=18639" target="_blank" rel="nofollow noopener">OpenBSD Testing Infrastructure Behind bluhm.genua.de</a> by Jan Klemkow</li>
<li><a href="https://youtu.be/8wuW8lfsVGc?t=276" target="_blank" rel="nofollow noopener">The school of hard knocks – PT1</a> by <a href="https://twitter.com/sevanjaniyan" target="_blank" rel="nofollow noopener">Sevan Janiyan</a></li>
<li><a href="https://youtu.be/8wuW8lfsVGc?t=5321" target="_blank" rel="nofollow noopener">7 years of maintaining firefox, and still looking ahead</a> by Landry Breuil</li>
<li><a href="https://youtu.be/8wuW8lfsVGc?t=12385" target="_blank" rel="nofollow noopener">Branch VPN solution based on OpenBSD, OSPF, RDomains and Ansible</a> by Remi Locherer</li>
<li><a href="https://youtu.be/8wuW8lfsVGc?t=15983" target="_blank" rel="nofollow noopener">Running BSD on AWS</a> by Julien Simon and Nicolas David</li>
<li><a href="https://youtu.be/8wuW8lfsVGc?t=21491" target="_blank" rel="nofollow noopener">Getting started with OpenBSD device driver development</a> by Stefan Sperling</li>
</ul></li>
<li>A huge thanks to the organizers, program committee, and sponsors of EuroBSDCon. Next year, EuroBSDcon will be in Bucharest, Romania.
***</li>
</ul>

<h3><a href="https://www.sigsegv.be//blog/freebsd/PR219251" target="_blank" rel="nofollow noopener">The story of PR 219251</a></h3>

<ul>
<li>The actual story I wanted Kristof to tell, the pf bug he fixed at the Essen Hackathon earlier this summer.</li>
</ul>

<blockquote>
<p>As I threatened to do in my previous post, I'm going to talk about PR 219251 for a bit. The bug report dates from only a few months ago, but the first report (that I can remeber) actually came from Shawn Webb on Twitter, of all places<br>
Despite there being a stacktrace it took quite a while (nearly 6 months in fact) before I figured this one out.<br>
It took Reshad Patuck managing to distill the problem down to a small-ish test script to make real progress on this. His testcase meant that I could get core dumps and experiment. It also provided valuable clues because it could be tweaked to see what elements were required to trigger the panic.<br>
This test script starts a (vnet) jail, adds an epair interface to it, sets up pf in the jail, and then reloads the pf rules on the host. Interestingly the panic does not seem to occur if that last step is not included.</p>
</blockquote>

<ul>
<li>Obviously not the desired behaviour, but it seems strange. The instances of pf in the jails are supposed to be separate.</li>
</ul>

<blockquote>
<p>We try to fetch a counter value here, but instead we dereference a bad pointer. There's two here, so already we need more information. Inspection of the core dump reveals that the state pointer is valid, and contains sane information. The rule pointer (rule.ptr) points to a sensible location, but the data is mostly 0xdeadc0de. This is the memory allocator being helpful (in debug mode) and writing garbage over freed memory, to make use-after-free bugs like this one easier to find.<br>
In other words: the rule has been free()d while there was still a state pointing to it. Somehow we have a state (describing a connection pf knows about) which points to a rule which no longer exists. The core dump also shows that the problem always occurs with states and rules in the default vnet (i.e. the host pf instance), not one of the pf instances in one of the vnet jails. That matches with the observation that the test script does not trigger the panic unless we also reload the rules on the host.<br>
Great, we know what's wrong, but now we need to work out how we can get into this state. At this point we're going to have to learn something about how rules and states get cleaned up in pf. Don't worry if you had no idea, because before this bug I didn't either.<br>
The states keep a pointer to the rule they match, so when rules are changed (or removed) we can't just delete them. States get cleaned up when connections are closed or they time out. This means we have to keep old rules around until the states that use them expire.<br>
 When rules are removed pf_unlink_rule() adds then to the V_pf_unlinked_rules list (more on that funny V_ prefix later). From time to time the pf purge thread will run over all states and mark the rules that are used by a state. Once that's done for all states we know that all rules that are not marked as in-use can be removed (because none of the states use it). That can be a lot of work if we've got a lot of states, so pf_purge_thread() breaks that up into smaller chuncks, iterating only part of the state table on every run.<br>
We iterate over all of our virtual pf instances (VNET_FOREACH()), check if it's active (for FreeBSD-EN-17.08, where we've seen this code before) and then check the expired states with pf_purge_expired_states(). We start at state 'idx' and only process a certain number (determined by the PFTM_INTERVAL setting) states. The pf_purge_expired_states() function returns a new idx value to tell us how far we got.<br>
So, remember when I mentioned the odd V_ prefix? Those are per-vnet variables. They work a bit like thread-local variables. Each vnet (virtual network stack) keeps its state separate from the others, and the V_ variables use a pointer that's changed whenever we change the currently active vnet (say with CURVNET_SET() or CURVNET_RESTORE()). That's tracked in the 'curvnet' variable. In other words: there are as many V_pf_vnet_active variables as there are vnets: number of vnet jails plus one (for the host system).<br>
Why is that relevant here? Note that idx is not a per-vnet variable, but we handle multiple pf instances here. We run through all of them in fact. That means that we end up checking the first X states in the first vnet, then check the second X states in the second vnet, the third X states in the third and so on and so on.<br>
That of course means that we think we've run through all of the states in a vnet while we really only checked some of them. So when pf_purge_unlinked_rules() runs it can end up free()ing rules that actually are still in use because pf_purge_thread() skipped over the state(s) that actually used the rule. The problem only happened if we reloaded rules in the host, because the active ruleset is never free()d, even if there are no states pointing to the rule.<br>
That explains the panic, and the fix is actually quite straightforward: idx needs to be a per-vnet variable, V_pf_purge_idx, and then the problem is gone. As is often the case, the solution to a fairly hard problem turns out to be really simple.</p>
</blockquote>

<ul>
<li>As you might expect, finding the problem takes a lot more work that fixing it</li>
<li>Thanks to Kristof for writing up this detailed post explaining how the problem was found, and what caused it.
***</li>
</ul>

<h3><a href="https://www.ixsystems.com/blog/vbsdcon-2017-dexter/" target="_blank" rel="nofollow noopener">vBSDcon 2017: BSD at Work</a></h3>

<blockquote>
<p>The third biennial vBSDcon hosted by Verisign took place September 7th through 9th with the FreeBSD Developer Summit taking place the first day. vBSDcon and iXsystems’ MeetBSD event have been alternating between the East and West coasts of the U.S.A. and these two events play vital roles in reaching Washington, DC-area and Bay Area/Silicon Valley audiences. Where MeetBSD serves many BSD Vendors, vBSDcon attracts a unique government and security industry demographic that isn’t found anywhere else. Conference time and travel budgets are always limited and bringing these events to their attendees is a much-appreciated service provided by their hosts.<br>
The vBSDcon FreeBSD DevSummit had a strong focus on OpenZFS, the build system and networking with the FreeBSD 12 wish list of features in mind. How to best incorporate the steady flow of new OpenZFS features into FreeBSD such as dataset-level encryption was of particular interest. This feature from a GNU/Linux-based storage vendor is tribute to the growth of the OpenZFS community which is vital in light of the recent “Death of Solaris and ZFS” at Oracle. There has never been more demand for OpenZFS on FreeBSD and the Oracle news further confirms our collective responsibility to meet that demand.<br>
The official conference opened with my talk on “Isolated BSD Build Environments” in which I explained how the bhyve hypervisor can be used to effortlessly tour FreeBSD 5.0-onward and build specific source releases on demand to trace regressions to their offending commit. I was followed by a FreeNAS user who made the good point that FreeNAS is an exemplary “entry vector” into Unix and Enterprise Storage fundamentals, given that many of the vectors our generation had are gone. Where many of us discovered Unix and the Internet via console terminals at school or work, smart phones are only delivering the Internet without the Unix. With some irony, both iOS and Android are Unix-based yet offer few opportunities for their users to learn and leverage their Unix environments.<br>
The next two talks were The History and Future of Core Dumps in FreeBSD by Sam Gwydir and Using pkgsrc for multi-platform deployments in heterogeneous environments by G. Clifford Williams. I strongly recommend that anyone wanting to speak at AsiaBSDCon read Sam’s accompanying paper on core dumps because I consider it the perfect AsiaBSDCon topic and his execution is excellent. Core dumps are one of those things you rarely think about until they are a DROP EVERYTHING! priority. G. Clifford’s talk was about what I consider a near-perfect BSD project: pkgsrc, the portable BSD package manager. I put it up there with OpenSSH and mandoc as projects that have provided significant value to other Open Source operating systems. G. Clifford’s real-world experiences are perfectly inline with vBSDcon’s goal to be more production-oriented than other BSDCons.<br>
Of the other talks, any and all Dtrace talks are always appreciated and George Neville-Neil’s did not disappoint. He based it on his experiences with the Teach BSD project which is bringing FreeBSD-based computer science education to schools around the world. The security-related talks by John-Mark Gurney, Dean Freeman and Michael Shirk also represented vBSDcon’s consideration of the local community and made a convincing point that the BSDs should make concerted efforts to qualify for Common Criteria, FIPS, and other Government security requirements. While some security experts will scoff at these, they are critical to the adoption of BSD-based products by government agencies.<br>
BSD Now hosts Allan Jude and Benedict Reuschling hosted an OpenZFS BoF and Ansible talk respectively and I hosted a bhyve hypervisor BoF. The Hallway Track and food at vBSDcon were excellent and both culminated with an after-dinner dramatic reading of Michael W. Lucas’ latest book that raised money for the FreeBSD Foundation. A great time was had by all and it was wonderful to see everyone!</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-September/087848.html" target="_blank" rel="nofollow noopener">FreeBSD 10.4-RC2 Available</a></h3>

<ul>
<li>FreeBSD 10.4 will be released soon, this is the last chance to find bugs before the official release is cut.</li>
<li>Noteworthy Changes Since 10.4-RC1:

<ul>
<li>Given that the amd64 disc1 image was overflowing, more of the base components installed into the disc1 (live) file systems had to be disabled.  Most notably, this removed the compiler toolchain from the disc1 images.  All disabled tools are still available with the dvd1 images, though.</li>
<li>The aesni(4) driver now no longer shares a single FPU context across multiple sessions in multiple threads, addressing problems seen when employing aesni(4) for ipsec(4).</li>
<li>Support for netmap(4) by the ixgbe(4) driver has been brought into line with the netmap(4) API present in stable/10.  Also, ixgbe(4) now correctly handles VFs in its netmap(4) support again instead of treating these as PFs.</li>
<li>During the creation of amd64 and i386 VM images, etcupdate(8) and mergemaster(8) databases now are bootstrapped, akin to what happens along the extraction of base.txz as part of a new installation via bsdinstall(8).  This change allows for both of these tools to work out-of-box on the VM images and avoids errors seen when upgrading these images via freebsd-update(8).</li>
</ul></li>
<li>If you are still on the stable/10 branch, you should test upgrading to 10.4, and make sure there are no problems with your workload</li>
<li>Additional testing specifically of the features that have changed since 10.4-BETA1 would also be most helpful</li>
<li>This will be the last release from the stable/10 branch
***</li>
</ul>

<h3><a href="https://www.tedunangst.com/flak/post/openbsd-changes-of-note-628" target="_blank" rel="nofollow noopener">OpenBSD changes of note 628</a></h3>

<blockquote>
<p>EuroBSDCon in two weeks. Be sure to attend early and often.</p>
</blockquote>

<ul>
<li>Many and various documentation improvements for libcrypto. New man pages, rewrites, expanded bugs sections, and more.</li>
<li>Only allow upward migration in vmd.</li>
</ul>

<blockquote>
<p>There’s a README for the syspatch build system if you want to run your own.</p>
</blockquote>

<ul>
<li>Move the kernel relinking code from /etc/rc into a seperate script usable by syspatch. Kernel patches can now be reduced to just the necessary files.</li>
<li>Make the callers of sogetopt() responsible for allocating memory. Now allocation and free occur in the same place.</li>
<li>Use waitpid() instead of wait() in most programs to avoid accidentally collecting the wrong child.</li>
<li>Have cu call isatty() before making assumptions.</li>
<li>Switch mandoc rendering of mathematical symbols and greek letters from trying to imitate the characters’ graphical shapes, which resulted in unintelligible renderings in many cases, to transliterations conveying the characters’ meanings.</li>
<li>Update libexpat to 2.2.4. Fix copying partial UTF-8 characters.</li>
</ul>

<blockquote>
<p>Sigh, here we go again. </p>
</blockquote>

<ul>
<li>Work around bug in F5’s handling of the supported elliptic curves extension. RFC 4492 only defines elliptic_curves for ClientHello. However, F5 is sending it in ServerHello. We need to skip over it since our TLS extension parsing code is now more strict.</li>
<li>After a first install, run syspatch -c to check for patches.</li>
<li>If SMAP is present, clear PSL_AC on kernel entry and interrupt so that only the code in copy{in,out}* that need it run with it set. Panic if it’s set on entry to trap() or syscall(). Prompted by Maxime Villard’s NetBSD work. Errata.</li>
<li>New drivers for arm: rktemp, mvpinctrl, mvmpic, mvneta, mvmdio, mvpxa, rkiic, rkpmic.</li>
<li>No need to exec rm from within mandoc. We know there’s exactly one file and directory to remove. Similarly with running cmp.</li>
<li>Revert to Mesa 13.0.6 to hopefully address rendering issues a handful of people have reported with xpdf/fvwm on ivy bridge with modesetting driver.</li>
<li>Rewrite ALPN extension using CBB/CBS and the new extension framework. Rewrite SRTP extension using CBB/CBS and the new extension framework.</li>
<li>Revisit 2q queue sizes. Limit the hot queue to 1/20th the cache size up to a max of 4096 pages. Limit the warm and cold queues to half the cache. This allows us to more effectively notice re-interest in buffers instead of losing it in a large hot queue.</li>
<li>Add glass console support for arm64. Probably not yet for your machine, though.</li>
<li>Replace heaps of hand-written syscall stubs in ld.so with a simpler framework.</li>
<li>65535 is a valid port to listen on.</li>
<li>When xinit starts an X server that listens only on UNIX socket, prefer DISPLAY=unix:0 rather than DISPLAY=:0. This will prevent applications from ever falling back to TCP if the UNIX socket connection fails (such as when the X server crashes). Reverted.</li>
<li>Add -z and -Z options to apmd to auto suspend or hibernate when low on battery.</li>
<li>Remove the original (pre-IETF) chacha20-poly1305 cipher suites.</li>
<li>Add urng(4) which supports various USB RNG devices. Instead of adding one driver per device, start bundling them into a single driver.</li>
<li>Remove old deactivated pledge path code. A replacement mechanism is being brewed.</li>
<li>Fix a bug from the extension parsing rewrite. Always parse ALPN even if no callback has been installed to prevent leaving unprocessed data which leads to a decode error.</li>
<li>Clarify what is meant by syslog priorities being ordered, since the numbers and priorities are backwards.</li>
<li>Remove a stray setlocale() from ksh, eliminating a lot of extra statically linked code.</li>
<li>Unremove some NPN symbols from libssl because ports software thinks they should be there for reasons.</li>
<li>Fix saved stack location after resume. Somehow clang changed it. Resume works again on i386.</li>
<li>Improve error messages in vmd and vmctl to be more informative.</li>
<li>Stop building the miniroot installer for OMAP3 Beagleboards. It hasn’t worked in over a year and nobody noticed.</li>
<li>Have the callers of sosetopt() free the mbuf for symmetry.</li>
<li>On octeon, let the kernel use the hardware FPU even if emulation is compiled in. It’s faster.</li>
<li>Fix support for 486DX CPUs by not calling cpuid. I used to own a 486. Now I don’t.</li>
<li>Merge some drm fixes from linux.</li>
<li>Defer probing of floppy drives, eliminating delays during boot.</li>
<li>Better handling of probes and beacons and timeouts and scans in wifi stack to avoid disconnects.</li>
<li>Move mutex, condvar, and thread-specific data routes, pthread_once, and pthread_exit from libpthread to libc, along with low-level bits to support them. Let’s thread aware (but not actually threaded) code work with just libc.</li>
<li>New POSIX xlocale implementation. Complete as long as you only use ASCII and UTF-8, as you should.</li>
<li>Round and round it goes; when 6.2 stops, nobody knows. A peak at the future?
***</li>
</ul>

<h3><a href="http://eradman.com/posts/screencasting.html" target="_blank" rel="nofollow noopener">Screencasting with OpenBSD</a></h3>

<ul>
<li>USB Audio</li>
</ul>

<blockquote>
<p>Any USB microphone should appear as a new audio device. Here is the dmesg for my mic by ART:</p>
</blockquote>

<p><code><br>
uaudio0 at uhub0 port 2 configuration 1 interface 0 "M-One USB" rev 1.10/0.01 addr 2<br>
uaudio0: audio rev 1.00, 8 mixer controls<br>
audio1 at uaudio0<br>
</code></p>

<blockquote>
<p>audioctl can read off all of the specific characterisitcs of this device</p>
</blockquote>

<p><code><br>
$ audioctl -f /dev/audio1 | grep record<br>
mode=play,record<br>
record.rate=48000<br>
record.channels=1<br>
record.precision=16<br>
record.bps=2<br>
record.msb=1<br>
record.encoding=slinear_le<br>
record.pause=0<br>
record.active=0<br>
record.block_size=1960<br>
record.bytes=0<br>
record.errors=0<br>
</code></p>

<blockquote>
<p>Now test the recording from the second audio device using aucat(1)</p>
</blockquote>

<p><code><br>
aucat -f rsnd/1 -o file.wav<br>
</code></p>

<blockquote>
<p>If the device also has a headset audio can be played through the same device.</p>
</blockquote>

<p><code><br>
aucat -f rsnd/1 -i file.wav<br>
</code></p>

<ul>
<li>Screen Capture using Xvfb</li>
</ul>

<blockquote>
<p>The rate at which a framebuffer for your video card is a feature of the hardware and software your using, and it's often very slow. x11vnc will print an estimate of the banwidth for the system your running.</p>
</blockquote>

<p><code><br>
x11vnc<br>
...<br>
09/05/2012 22:23:45 fb read rate: 7 MB/sec<br>
</code></p>

<blockquote>
<p>This is about 4fps. We can do much better by using a virtual framebuffer. Here I'm setting up a new screen, setting the background color, starting cwm and an instance of xterm</p>
</blockquote>

<p><code><br>
Xvfb :1 -screen 0 720x540x16 &amp;<br>
DISPLAY=:1 xsetroot -solid steelblue &amp;<br>
DISPLAY=:1 cwm &amp;<br>
DISPLAY=:1 xterm +sb -fa Hermit -fs 14 &amp;<br>
</code></p>

<blockquote>
<p>Much better! Now we're up around 20fps.</p>
</blockquote>

<p><code><br>
x11vnc -display :1  &amp;<br>
...<br>
11/05/2012 18:04:07 fb read rate: 168 MB/sec<br>
</code></p>

<blockquote>
<p>Make a connection to this virtual screen using raw encoding to eliminate time wasted on compression.</p>
</blockquote>

<p><code><br>
vncviewer localhost -encodings raw<br>
</code></p>

<blockquote>
<p>A test recording with sound then looks like this</p>
</blockquote>

<p><code><br>
ffmpeg -f sndio -i snd/1 -y -f x11grab -r 12 -s 800x600 -i :1.0 -vcodec ffv1 ~/out.avi<br>
</code></p>

<blockquote>
<p>Note: always stop the recording and playback using q, not Ctrl-C so that audio inputs are shut down properly.</p>
</blockquote>

<ul>
<li>Screen Capture using Xephyr</li>
</ul>

<blockquote>
<p>Xephyr is perhaps the easiest way to run X with a shadow framebuffer. This solution also avoids reading from the video card's RAM, so it's reasonably fast.</p>
</blockquote>

<p><code><br>
Xephyr -ac -br -noreset -screen 800x600 :1 &amp;<br>
DISPLAY=:1 xsetroot -solid steelblue &amp;<br>
DISPLAY=:1 cwm &amp;<br>
DISPLAY=:1 xrdb -load ~/.Xdefaults &amp;<br>
DISPLAY=:1 xterm +sb -fa "Hermit" -fs 14 &amp;<br>
</code></p>

<blockquote>
<p>Capture works in exactally the same way. This command tries to maintain 12fps.</p>
</blockquote>

<p><code><br>
ffmpeg -f sndio -i snd/1 -y -f x11grab -r 12 -s 800x600 -i :1.0 -vcodec ffv1 -acodec copy ~/out.avi<br>
To capture keyboard and mouse input press Ctrl then Shift. This is very handy for using navigating a window manager in the nested X session.<br>
</code></p>

<ul>
<li>Arranging Windows</li>
</ul>

<blockquote>
<p>I have sometimes found it helpful to launch applications and arrange them in a specific way. This will open up a web browser listing the current directory and position windows using xdotool</p>
</blockquote>

<p><code><br>
DISPLAY=:1 midori "file:///</code>pwd<code>" &amp;<br>
sleep 2<br>
DISPLAY=:1 xdotool search --name "xterm" windowmove 0 0<br>
DISPLAY=:1 xdotool search --class "midori" windowmove 400 0<br>
DISPLAY=:1 xdotool search --class "midori" windowsize 400 576<br>
</code></p>

<blockquote>
<p>This will position the window precisely so that it appears to be in a tmux window on the right.</p>
</blockquote>

<ul>
<li>Audio/Video Sync</li>
</ul>

<blockquote>
<p>If you find that the audio is way out of sync with the video, you can ajust the start using the -ss before the audio input to specify the number of seconds to delay. My final recording command line, that delays the audio by 0.5 seconds, writing 12fps</p>
</blockquote>

<p><code><br>
ffmpeg -ss 0.5 -f sndio -i snd/1 -y -f x11grab -r 12 -s 800x600 -i :1.0 -vcodec ffv1  -acodec copy ~/out.avi<br>
</code></p>

<ul>
<li>Sharing a Terminal with tmux</li>
</ul>

<blockquote>
<p>If you're trying to record a terminal session, tmux is able to share a session. In this way a recording of an X framebuffer can be taken without even using the screen. Start by creating the session.</p>
</blockquote>

<p><code><br>
tmux -2 -S /tmp/tmux0<br>
</code></p>

<blockquote>
<p>Then on the remote side connect on the same socket</p>
</blockquote>

<p><code><br>
tmux -2 -S /tmp/tmux0 attach<br>
</code></p>

<ul>
<li>Taking Screenshots</li>
</ul>

<blockquote>
<p>Grabbing a screenshots on Xvfb server is easily accomplished with ImageMagick's import command</p>
</blockquote>

<p><code><br>
DISPLAY=:1 import -window root screenshot.png<br>
</code></p>

<ul>
<li>Audio Processing and Video Transcoding</li>
</ul>

<blockquote>
<p>The first step is to ensure that the clip begins and ends where you'd like it to. The following will make a copy of the recording starting at time 00:00 and ending at 09:45</p>
</blockquote>

<p><code><br>
ffmpeg -i interactive-sql.avi \<br>
    -vcodec copy -acodec copy<br>
    -ss 00:00:00 -t 00:09:45<br>
    interactive-sql-trimmed.avi<br>
mv interactive-sql-trimmed.avi interactive-sql.avi<br>
</code></p>

<blockquote>
<p>Setting the gain correctly is very important with an analog mixer, but if you're using a USB mic there may not be a gain option; simply record using it's built-in settings and then adjust the levels afterwards using a utility such as normalize. First extact the audio as a raw PCM file and then run normalize</p>
</blockquote>

<p><code><br>
ffmpeg -i interactive-sql.avi -c:a copy -vn audio.wav<br>
normalize audio.wav<br>
</code></p>

<blockquote>
<p>Next merge the audio back in again</p>
</blockquote>

<p><code><br>
ffmpeg -i interactive-sql.avi -i audio.wav \<br>
    -map 0:0 -map 1:0 -c copy interactive-sql-normalized.avi<br>
</code></p>

<blockquote>
<p>The final step is to compress the screencast for distribution. Encoding to VP8/Vorbis is easy:</p>
</blockquote>

<p><code><br>
ffmpeg -i interactive-sql-normalized.avi -c:v libvpx -b:v 1M<br>
    -c:a libvorbis -q:a 6 interactive-sql.webm<br>
</code></p>

<blockquote>
<p>H.264/AAC is tricky. For most video players the color space needs to be set to yuv420p. The -movflags puts the index data at the beginning of the file to enable streaming/partial content requests over HTTP:</p>
</blockquote>

<p><code><br>
ffmpeg -y -i interactive-sql-normalized.avi -c:v libx264 \<br>
    -preset slow -crf 14 -pix_fmt yuv420p -movflags +faststart \<br>
    -c:a aac -q:a 6 interactive-sql.mp4<br>
</code></p>

<hr>

<h3><a href="https://www.trueos.org/blog/trueos-ohio-linuxfest-17/" target="_blank" rel="nofollow noopener">TrueOS @ Ohio Linuxfest ’17!</a></h3>

<ul>
<li>Dru Lavigne and Ken Moore are both giving presentations on Saturday the 30th. Sit in and hear about new developments for the Lumina and FreeNAS projects.</li>
<li>Ken is offering Lumina Rising: Challenging Desktop Orthodoxy at 10:15 am in Franklin A. Hear his thoughts about the ideas propelling desktop environment development and how Lumina, especially Lumina 2, is seeking to offer a new model of desktop architecture. Elements discussed include session security, application dependencies, message handling, and operating system integration.</li>
<li>Dru is talking about What’s New in FreeNAS 11 at 2:00 pm in Franklin D. She’ll be providing an overview of some of the new features added in FreeNAS 11.0, including:

<ul>
<li>Alert Services</li>
<li>Starting specific services at boot time</li>
<li>AD Monitoring to ensure the AD service restarts if disconnected</li>
<li>A preview of the new user interface</li>
<li>support for S3-compatible storage and the bhyve hypervisor</li>
</ul></li>
<li>She’s also giving a sneak peek of FreeNAS 11.1, which has some neat features:

<ul>
<li>A complete rewrite of the Jails/Plugins system as FreeNAS moves from warden to iocage</li>
<li>Writing new plugins with just a few lines of code</li>
<li>A brand new asynchronous middleware API </li>
</ul></li>
<li>Who’s going? Attending this year are:

<ul>
<li>Dru Lavigne (dlavigne): Dru leads the technical documentation team at iX, and contributes heavily to open source documentation projects like FreeBSD, FreeNAS, and TrueOS.</li>
<li>Ken Moore (beanpole134): Ken is the lead developer of Lumina and a core contributor to TrueOS. He also works on a number of other Qt5 projects for iXsystems.</li>
<li>J.T. Pennington (q5sys): Some of you may be familiar with his work on BSDNow, but J.T. also contributes to the TrueOS, Lumina, and SysAdm projects, helping out with development and general bug squashing.
***</li>
</ul></li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.trueos.org/blog/lumina-development-preview-theme-engine/" target="_blank" rel="nofollow noopener">Lumina Development Preview: Theme Engine</a></li>
<li><a href="https://www.theregister.co.uk/2017/09/04/retro_thinkpad_spotted_in_the_wild/" target="_blank" rel="nofollow noopener">It's happening! Official retro Thinkpad lappy spotted in the wild</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/llvm_libfuzzer_and_safestack_ported" target="_blank" rel="nofollow noopener">LLVM libFuzzer and SafeStack ported to NetBSD</a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/event-calendar/2017-openzfs-developer-summit/" target="_blank" rel="nofollow noopener">Remaining 2017 FreeBSD Events</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Andrew - <a href="http://dpaste.com/0YTT0VP" target="_blank" rel="nofollow noopener">BSD Teaching Material</a></li>
<li>Seth - <a href="http://dpaste.com/1SK92ZX#wrap" target="_blank" rel="nofollow noopener">Switching to Tarsnap after Crashplan becomes no more</a></li>
<li>Thomas - <a href="http://dpaste.com/02KD5FX#wrap" target="_blank" rel="nofollow noopener">Native encryption in ZFS</a></li>
<li>Coding Cowboy - <a href="http://dpaste.com/31K0E40#wrap" target="_blank" rel="nofollow noopener">Coding Cowboy - Passwords and clipboards</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We recap EuroBSDcon in Paris, tell the story behind a pf PR, and show you how to do screencasting with OpenBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://2017.eurobsdcon.org" target="_blank" rel="nofollow noopener">Recap of EuroBSDcon 2017 in Paris, France</a></h3>

<ul>
<li>EuroBSDcon was held in Paris, France this year, which drew record numbers this year.</li>
<li>With over 300 attendees, it was the largest BSD event I have ever attended, and I was encouraged by the higher than expected number of first time attendees.</li>
<li>The FreeBSD Foundation held a board meeting on Wednesday afternoon with the members who were in Paris. Topics included future conferences (including a conference kit we can mail to people who want to represent FreeBSD) and planning for next year.</li>
<li>The FreeBSD Devsummit started on Thursday at the beautiful Mozilla Office in Paris. After registering and picking up our conference bag, everyone gathered for a morning coffee with lots of handshaking and greeting. We then gathered in the next room which had a podium with microphone, screens as well as tables and chairs. After developers sat down, Benedict opened the devsummit with a small quiz about France for developers to win a <a href="https://www.mogics.com/?page_id=3824" target="_blank" rel="nofollow noopener">Mogics Power Bagel</a>. 45 developers participated and DES won the item in the end. After introductions and collecting topics of interest from everyone, we started with the Work in Progress (WIP) session.</li>
<li>The WIP session had different people present a topic they are working on in 7 minute timeslots. Topics ranged from FreeBSD Forwarding Performance, fast booting options, and a GELI patch under review to attach multiple providers. See their <a href="https://wiki.freebsd.org/DevSummit/201709" target="_blank" rel="nofollow noopener">slides on the FreeBSD wiki</a>.</li>
<li>After lunch, the FreeBSD Foundation gave a general update on staff and funding, as well as a more focused presentation about our partnership with Intel. People were interested to hear what was done so far and asked a few questions to the Intel representative Glenn Weinberg.</li>
<li>After lunch, developers worked quietly on their own projects. The mic remained open and occasionally, people would step forward and gave a short talk without slides or motivated a discussion of common interest. The day concluded with a dinner at a nice restaurant in Paris, which allowed to continue the discussions of the day.</li>
<li>The second day of the devsummit began with a talk about the CAM-based SDIO stack by Ilya Bakulin. His work would allow access to wifi cards/modules on embedded boards like the Raspberry Pi Zero W and similar devices as many of these are using SDIO for data transfers.</li>
<li>Next up was a discussion and Q&amp;A session with the FreeBSD core team members who were there (missing only Benno Rice, Kris Moore, John Baldwin, and Baptiste Daroussin, the latter being busy with conference preparations). The new FCP (FreeBSD community proposals) were introduced for those who were not at BSDCan this year and the hows and whys about it. Allan and I were asked to describe our experiences as new members of core and we encouraged people to run for core when the next election happens. After a short break, Scott Long gave an overview of the work that’s been started on NUMA (Non-Uniform Memory Architecture), what the goals of the project are and who is working on it.</li>
<li>Before lunch, Christian Schwarz presented his work on zrepl, a new ZFS replication solution he developed using Go. This sparked interest in developers, <a href="https://reviews.freebsd.org/D12462" target="_blank" rel="nofollow noopener">a port was started</a> and people suggested to Christian that he should submit his talk to AsiaBSDcon and BSDCan next year. Benedict had to leave before lunch was done to teach his Ansible tutorial (which was well attended) at the conference venue.</li>
<li>There were organized dinners, for those two nights, quite a feat of organization to fit over 100 people into a restaurant and serve them quickly.</li>
<li>On Saturday, there was a social event, a river cruise down the Seine. This took the form of a ‘standing’ dinner, with a wide selection of appetizer type dishes, designed to get people to walk around and converse with many different people, rather than sit at a table with the same 6-8 people. I talked to a much larger group of people than I had managed to at the other dinners.</li>
<li>I like having both dinner formats.</li>
<li>We would also like to thank all of the BSDNow viewers who attended the conference and made the point of introducing themselves to us. It was nice to meet you all.</li>
<li>The recordings of the live video stream from the conference are available immediately, so you can watch the raw versions of the talks now:</li>
<li>Auditorium

<ul>
<li><a href="https://youtu.be/4iR8g9-39LM?t=179" target="_blank" rel="nofollow noopener">Keynote 1: Software Development in the Age of Heroes</a> by <a href="https://twitter.com/BearSSLnews" target="_blank" rel="nofollow noopener">Thomas Pornin</a></li>
<li><a href="https://youtu.be/4iR8g9-39LM?t=1660" target="_blank" rel="nofollow noopener">Tuning FreeBSD for routing and firewalling</a> by <a href="https://twitter.com/ocochardlabbe" target="_blank" rel="nofollow noopener">Olivier Cochard-Labbé</a></li>
<li><a href="https://youtu.be/4iR8g9-39LM?t=7040" target="_blank" rel="nofollow noopener">My BSD sucks less than yours, Act I</a> by <a href="https://twitter.com/ajacoutot" target="_blank" rel="nofollow noopener">Antoine Jacoutot</a> and <a href="https://twitter.com/_bapt_" target="_blank" rel="nofollow noopener">Baptiste Daroussin</a></li>
<li><a href="https://youtu.be/4iR8g9-39LM?t=14254" target="_blank" rel="nofollow noopener">My BSD sucks less than yours, Act II</a> by <a href="https://twitter.com/ajacoutot" target="_blank" rel="nofollow noopener">Antoine Jacoutot</a> and <a href="https://twitter.com/_bapt_" target="_blank" rel="nofollow noopener">Baptiste Daroussin</a></li>
<li><a href="https://youtu.be/4iR8g9-39LM?t=23351" target="_blank" rel="nofollow noopener">Reproducible builds on NetBSD</a> by Christos Zoulas</li>
<li><a href="https://youtu.be/4iR8g9-39LM?t=26845" target="_blank" rel="nofollow noopener">Your scheduler is not the problem</a> by Martin Pieuchot</li>
<li><a href="https://youtu.be/4iR8g9-39LM?t=30540" target="_blank" rel="nofollow noopener">Keynote 2: A French story on cybercrime</a> by <a href="https://twitter.com/ericfreyss" target="_blank" rel="nofollow noopener">Éric Freyssinet</a></li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=731" target="_blank" rel="nofollow noopener">Case studies of sandboxing base system with Capsicum</a> by <a href="https://twitter.com/oshogbovx" target="_blank" rel="nofollow noopener">Mariusz Zaborski</a></li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=6030" target="_blank" rel="nofollow noopener">OpenBSD’s small steps towards DTrace (a tale about DDB and CTF)</a> by Jasper Lievisse Adriaanse</li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=13096" target="_blank" rel="nofollow noopener">The Realities of DTrace on FreeBSD</a> by <a href="https://twitter.com/gvnn3" target="_blank" rel="nofollow noopener">George Neville-Neil</a></li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=16818" target="_blank" rel="nofollow noopener">OpenSMTPD, current state of affairs</a> by <a href="https://twitter.com/PoolpOrg" target="_blank" rel="nofollow noopener">Gilles Chehade</a></li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=21764" target="_blank" rel="nofollow noopener">Hoisting: lessons learned integrating pledge into 500 programs</a> by Theo de Raadt</li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=25463" target="_blank" rel="nofollow noopener">Keynote 3: System Performance Analysis Methodologies</a> by <a href="https://twitter.com/brendangregg" target="_blank" rel="nofollow noopener">Brendan Gregg</a></li>
<li><a href="https://youtu.be/jqdHYEH_BQY?t=29355" target="_blank" rel="nofollow noopener">Closing Session</a></li>
</ul></li>
<li>Karnak

<ul>
<li><a href="https://youtu.be/1hjzleqGRYk?t=71" target="_blank" rel="nofollow noopener">“Is it done yet ?” The never ending story of pkg tools</a> by <a href="https://twitter.com/espie_openbsd" target="_blank" rel="nofollow noopener">Marc Espie</a></li>
<li><a href="https://youtu.be/1hjzleqGRYk?t=7498" target="_blank" rel="nofollow noopener">A Tale of six motherboards, three BSDs and coreboot</a> by Piotr Kubaj and Katarzyna Kubaj</li>
<li><a href="https://youtu.be/1hjzleqGRYk?t=11475" target="_blank" rel="nofollow noopener">State of the DragonFly’s graphics stack</a> by François Tigeot</li>
<li><a href="https://youtu.be/1hjzleqGRYk?t=16227" target="_blank" rel="nofollow noopener">From NanoBSD to ZFS and Jails – FreeBSD as a Hosting Platform, Revisited</a> by Patrick M. Hausen</li>
<li><a href="https://youtu.be/1hjzleqGRYk?t=20069" target="_blank" rel="nofollow noopener">Bacula – nobody ever regretted making a backup</a> by <a href="https://twitter.com/DLangille" target="_blank" rel="nofollow noopener">Dan Langille</a></li>
<li><a href="https://youtu.be/qX0BS4P65cQ?t=325" target="_blank" rel="nofollow noopener">Never Lose a Syslog Message</a> by Alexander Bluhm</li>
<li><a href="https://youtu.be/qX0BS4P65cQ?t=5647" target="_blank" rel="nofollow noopener">Running CloudABI applications on a FreeBSD-based Kubernetes cluster</a> by <a href="https://twitter.com/EdSchouten" target="_blank" rel="nofollow noopener">Ed Schouten</a></li>
<li><a href="https://youtu.be/qX0BS4P65cQ?t=13255" target="_blank" rel="nofollow noopener">The OpenBSD web stack</a> by <a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener">Michael W. Lucas</a></li>
<li><a href="https://youtu.be/qX0BS4P65cQ?t=16835" target="_blank" rel="nofollow noopener">The LLDB Debugger on NetBSD</a> by Kamil Rytarowski</li>
<li><a href="https://youtu.be/qX0BS4P65cQ?t=21583" target="_blank" rel="nofollow noopener">What’s in store for NetBSD 8.0?</a> by Alistair Crooks</li>
</ul></li>
<li>Louxor

<ul>
<li><a href="https://youtu.be/6Nen6a1Xl7I?t=156" target="_blank" rel="nofollow noopener">A Modern Replacement for BSD spell(1)</a> by <a href="https://twitter.com/abhi9u" target="_blank" rel="nofollow noopener">Abhinav Upadhyay</a></li>
<li><a href="https://youtu.be/6Nen6a1Xl7I?t=5874" target="_blank" rel="nofollow noopener">Portable Hotplugging: NetBSD’s uvm_hotplug(9) API development</a> by Cherry G. Mathew</li>
<li><a href="https://youtu.be/6Nen6a1Xl7I?t=9343" target="_blank" rel="nofollow noopener">Hardening pkgsrc</a> by <a href="https://twitter.com/khorben" target="_blank" rel="nofollow noopener">Pierre Pronchery</a></li>
<li><a href="https://youtu.be/6Nen6a1Xl7I?t=14874" target="_blank" rel="nofollow noopener">Discovering OpenBSD on AWS</a> by <a href="https://twitter.com/lbernail" target="_blank" rel="nofollow noopener">Laurent Bernaille</a></li>
<li><a href="https://youtu.be/6Nen6a1Xl7I?t=18639" target="_blank" rel="nofollow noopener">OpenBSD Testing Infrastructure Behind bluhm.genua.de</a> by Jan Klemkow</li>
<li><a href="https://youtu.be/8wuW8lfsVGc?t=276" target="_blank" rel="nofollow noopener">The school of hard knocks – PT1</a> by <a href="https://twitter.com/sevanjaniyan" target="_blank" rel="nofollow noopener">Sevan Janiyan</a></li>
<li><a href="https://youtu.be/8wuW8lfsVGc?t=5321" target="_blank" rel="nofollow noopener">7 years of maintaining firefox, and still looking ahead</a> by Landry Breuil</li>
<li><a href="https://youtu.be/8wuW8lfsVGc?t=12385" target="_blank" rel="nofollow noopener">Branch VPN solution based on OpenBSD, OSPF, RDomains and Ansible</a> by Remi Locherer</li>
<li><a href="https://youtu.be/8wuW8lfsVGc?t=15983" target="_blank" rel="nofollow noopener">Running BSD on AWS</a> by Julien Simon and Nicolas David</li>
<li><a href="https://youtu.be/8wuW8lfsVGc?t=21491" target="_blank" rel="nofollow noopener">Getting started with OpenBSD device driver development</a> by Stefan Sperling</li>
</ul></li>
<li>A huge thanks to the organizers, program committee, and sponsors of EuroBSDCon. Next year, EuroBSDcon will be in Bucharest, Romania.
***</li>
</ul>

<h3><a href="https://www.sigsegv.be//blog/freebsd/PR219251" target="_blank" rel="nofollow noopener">The story of PR 219251</a></h3>

<ul>
<li>The actual story I wanted Kristof to tell, the pf bug he fixed at the Essen Hackathon earlier this summer.</li>
</ul>

<blockquote>
<p>As I threatened to do in my previous post, I'm going to talk about PR 219251 for a bit. The bug report dates from only a few months ago, but the first report (that I can remeber) actually came from Shawn Webb on Twitter, of all places<br>
Despite there being a stacktrace it took quite a while (nearly 6 months in fact) before I figured this one out.<br>
It took Reshad Patuck managing to distill the problem down to a small-ish test script to make real progress on this. His testcase meant that I could get core dumps and experiment. It also provided valuable clues because it could be tweaked to see what elements were required to trigger the panic.<br>
This test script starts a (vnet) jail, adds an epair interface to it, sets up pf in the jail, and then reloads the pf rules on the host. Interestingly the panic does not seem to occur if that last step is not included.</p>
</blockquote>

<ul>
<li>Obviously not the desired behaviour, but it seems strange. The instances of pf in the jails are supposed to be separate.</li>
</ul>

<blockquote>
<p>We try to fetch a counter value here, but instead we dereference a bad pointer. There's two here, so already we need more information. Inspection of the core dump reveals that the state pointer is valid, and contains sane information. The rule pointer (rule.ptr) points to a sensible location, but the data is mostly 0xdeadc0de. This is the memory allocator being helpful (in debug mode) and writing garbage over freed memory, to make use-after-free bugs like this one easier to find.<br>
In other words: the rule has been free()d while there was still a state pointing to it. Somehow we have a state (describing a connection pf knows about) which points to a rule which no longer exists. The core dump also shows that the problem always occurs with states and rules in the default vnet (i.e. the host pf instance), not one of the pf instances in one of the vnet jails. That matches with the observation that the test script does not trigger the panic unless we also reload the rules on the host.<br>
Great, we know what's wrong, but now we need to work out how we can get into this state. At this point we're going to have to learn something about how rules and states get cleaned up in pf. Don't worry if you had no idea, because before this bug I didn't either.<br>
The states keep a pointer to the rule they match, so when rules are changed (or removed) we can't just delete them. States get cleaned up when connections are closed or they time out. This means we have to keep old rules around until the states that use them expire.<br>
 When rules are removed pf_unlink_rule() adds then to the V_pf_unlinked_rules list (more on that funny V_ prefix later). From time to time the pf purge thread will run over all states and mark the rules that are used by a state. Once that's done for all states we know that all rules that are not marked as in-use can be removed (because none of the states use it). That can be a lot of work if we've got a lot of states, so pf_purge_thread() breaks that up into smaller chuncks, iterating only part of the state table on every run.<br>
We iterate over all of our virtual pf instances (VNET_FOREACH()), check if it's active (for FreeBSD-EN-17.08, where we've seen this code before) and then check the expired states with pf_purge_expired_states(). We start at state 'idx' and only process a certain number (determined by the PFTM_INTERVAL setting) states. The pf_purge_expired_states() function returns a new idx value to tell us how far we got.<br>
So, remember when I mentioned the odd V_ prefix? Those are per-vnet variables. They work a bit like thread-local variables. Each vnet (virtual network stack) keeps its state separate from the others, and the V_ variables use a pointer that's changed whenever we change the currently active vnet (say with CURVNET_SET() or CURVNET_RESTORE()). That's tracked in the 'curvnet' variable. In other words: there are as many V_pf_vnet_active variables as there are vnets: number of vnet jails plus one (for the host system).<br>
Why is that relevant here? Note that idx is not a per-vnet variable, but we handle multiple pf instances here. We run through all of them in fact. That means that we end up checking the first X states in the first vnet, then check the second X states in the second vnet, the third X states in the third and so on and so on.<br>
That of course means that we think we've run through all of the states in a vnet while we really only checked some of them. So when pf_purge_unlinked_rules() runs it can end up free()ing rules that actually are still in use because pf_purge_thread() skipped over the state(s) that actually used the rule. The problem only happened if we reloaded rules in the host, because the active ruleset is never free()d, even if there are no states pointing to the rule.<br>
That explains the panic, and the fix is actually quite straightforward: idx needs to be a per-vnet variable, V_pf_purge_idx, and then the problem is gone. As is often the case, the solution to a fairly hard problem turns out to be really simple.</p>
</blockquote>

<ul>
<li>As you might expect, finding the problem takes a lot more work that fixing it</li>
<li>Thanks to Kristof for writing up this detailed post explaining how the problem was found, and what caused it.
***</li>
</ul>

<h3><a href="https://www.ixsystems.com/blog/vbsdcon-2017-dexter/" target="_blank" rel="nofollow noopener">vBSDcon 2017: BSD at Work</a></h3>

<blockquote>
<p>The third biennial vBSDcon hosted by Verisign took place September 7th through 9th with the FreeBSD Developer Summit taking place the first day. vBSDcon and iXsystems’ MeetBSD event have been alternating between the East and West coasts of the U.S.A. and these two events play vital roles in reaching Washington, DC-area and Bay Area/Silicon Valley audiences. Where MeetBSD serves many BSD Vendors, vBSDcon attracts a unique government and security industry demographic that isn’t found anywhere else. Conference time and travel budgets are always limited and bringing these events to their attendees is a much-appreciated service provided by their hosts.<br>
The vBSDcon FreeBSD DevSummit had a strong focus on OpenZFS, the build system and networking with the FreeBSD 12 wish list of features in mind. How to best incorporate the steady flow of new OpenZFS features into FreeBSD such as dataset-level encryption was of particular interest. This feature from a GNU/Linux-based storage vendor is tribute to the growth of the OpenZFS community which is vital in light of the recent “Death of Solaris and ZFS” at Oracle. There has never been more demand for OpenZFS on FreeBSD and the Oracle news further confirms our collective responsibility to meet that demand.<br>
The official conference opened with my talk on “Isolated BSD Build Environments” in which I explained how the bhyve hypervisor can be used to effortlessly tour FreeBSD 5.0-onward and build specific source releases on demand to trace regressions to their offending commit. I was followed by a FreeNAS user who made the good point that FreeNAS is an exemplary “entry vector” into Unix and Enterprise Storage fundamentals, given that many of the vectors our generation had are gone. Where many of us discovered Unix and the Internet via console terminals at school or work, smart phones are only delivering the Internet without the Unix. With some irony, both iOS and Android are Unix-based yet offer few opportunities for their users to learn and leverage their Unix environments.<br>
The next two talks were The History and Future of Core Dumps in FreeBSD by Sam Gwydir and Using pkgsrc for multi-platform deployments in heterogeneous environments by G. Clifford Williams. I strongly recommend that anyone wanting to speak at AsiaBSDCon read Sam’s accompanying paper on core dumps because I consider it the perfect AsiaBSDCon topic and his execution is excellent. Core dumps are one of those things you rarely think about until they are a DROP EVERYTHING! priority. G. Clifford’s talk was about what I consider a near-perfect BSD project: pkgsrc, the portable BSD package manager. I put it up there with OpenSSH and mandoc as projects that have provided significant value to other Open Source operating systems. G. Clifford’s real-world experiences are perfectly inline with vBSDcon’s goal to be more production-oriented than other BSDCons.<br>
Of the other talks, any and all Dtrace talks are always appreciated and George Neville-Neil’s did not disappoint. He based it on his experiences with the Teach BSD project which is bringing FreeBSD-based computer science education to schools around the world. The security-related talks by John-Mark Gurney, Dean Freeman and Michael Shirk also represented vBSDcon’s consideration of the local community and made a convincing point that the BSDs should make concerted efforts to qualify for Common Criteria, FIPS, and other Government security requirements. While some security experts will scoff at these, they are critical to the adoption of BSD-based products by government agencies.<br>
BSD Now hosts Allan Jude and Benedict Reuschling hosted an OpenZFS BoF and Ansible talk respectively and I hosted a bhyve hypervisor BoF. The Hallway Track and food at vBSDcon were excellent and both culminated with an after-dinner dramatic reading of Michael W. Lucas’ latest book that raised money for the FreeBSD Foundation. A great time was had by all and it was wonderful to see everyone!</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-September/087848.html" target="_blank" rel="nofollow noopener">FreeBSD 10.4-RC2 Available</a></h3>

<ul>
<li>FreeBSD 10.4 will be released soon, this is the last chance to find bugs before the official release is cut.</li>
<li>Noteworthy Changes Since 10.4-RC1:

<ul>
<li>Given that the amd64 disc1 image was overflowing, more of the base components installed into the disc1 (live) file systems had to be disabled.  Most notably, this removed the compiler toolchain from the disc1 images.  All disabled tools are still available with the dvd1 images, though.</li>
<li>The aesni(4) driver now no longer shares a single FPU context across multiple sessions in multiple threads, addressing problems seen when employing aesni(4) for ipsec(4).</li>
<li>Support for netmap(4) by the ixgbe(4) driver has been brought into line with the netmap(4) API present in stable/10.  Also, ixgbe(4) now correctly handles VFs in its netmap(4) support again instead of treating these as PFs.</li>
<li>During the creation of amd64 and i386 VM images, etcupdate(8) and mergemaster(8) databases now are bootstrapped, akin to what happens along the extraction of base.txz as part of a new installation via bsdinstall(8).  This change allows for both of these tools to work out-of-box on the VM images and avoids errors seen when upgrading these images via freebsd-update(8).</li>
</ul></li>
<li>If you are still on the stable/10 branch, you should test upgrading to 10.4, and make sure there are no problems with your workload</li>
<li>Additional testing specifically of the features that have changed since 10.4-BETA1 would also be most helpful</li>
<li>This will be the last release from the stable/10 branch
***</li>
</ul>

<h3><a href="https://www.tedunangst.com/flak/post/openbsd-changes-of-note-628" target="_blank" rel="nofollow noopener">OpenBSD changes of note 628</a></h3>

<blockquote>
<p>EuroBSDCon in two weeks. Be sure to attend early and often.</p>
</blockquote>

<ul>
<li>Many and various documentation improvements for libcrypto. New man pages, rewrites, expanded bugs sections, and more.</li>
<li>Only allow upward migration in vmd.</li>
</ul>

<blockquote>
<p>There’s a README for the syspatch build system if you want to run your own.</p>
</blockquote>

<ul>
<li>Move the kernel relinking code from /etc/rc into a seperate script usable by syspatch. Kernel patches can now be reduced to just the necessary files.</li>
<li>Make the callers of sogetopt() responsible for allocating memory. Now allocation and free occur in the same place.</li>
<li>Use waitpid() instead of wait() in most programs to avoid accidentally collecting the wrong child.</li>
<li>Have cu call isatty() before making assumptions.</li>
<li>Switch mandoc rendering of mathematical symbols and greek letters from trying to imitate the characters’ graphical shapes, which resulted in unintelligible renderings in many cases, to transliterations conveying the characters’ meanings.</li>
<li>Update libexpat to 2.2.4. Fix copying partial UTF-8 characters.</li>
</ul>

<blockquote>
<p>Sigh, here we go again. </p>
</blockquote>

<ul>
<li>Work around bug in F5’s handling of the supported elliptic curves extension. RFC 4492 only defines elliptic_curves for ClientHello. However, F5 is sending it in ServerHello. We need to skip over it since our TLS extension parsing code is now more strict.</li>
<li>After a first install, run syspatch -c to check for patches.</li>
<li>If SMAP is present, clear PSL_AC on kernel entry and interrupt so that only the code in copy{in,out}* that need it run with it set. Panic if it’s set on entry to trap() or syscall(). Prompted by Maxime Villard’s NetBSD work. Errata.</li>
<li>New drivers for arm: rktemp, mvpinctrl, mvmpic, mvneta, mvmdio, mvpxa, rkiic, rkpmic.</li>
<li>No need to exec rm from within mandoc. We know there’s exactly one file and directory to remove. Similarly with running cmp.</li>
<li>Revert to Mesa 13.0.6 to hopefully address rendering issues a handful of people have reported with xpdf/fvwm on ivy bridge with modesetting driver.</li>
<li>Rewrite ALPN extension using CBB/CBS and the new extension framework. Rewrite SRTP extension using CBB/CBS and the new extension framework.</li>
<li>Revisit 2q queue sizes. Limit the hot queue to 1/20th the cache size up to a max of 4096 pages. Limit the warm and cold queues to half the cache. This allows us to more effectively notice re-interest in buffers instead of losing it in a large hot queue.</li>
<li>Add glass console support for arm64. Probably not yet for your machine, though.</li>
<li>Replace heaps of hand-written syscall stubs in ld.so with a simpler framework.</li>
<li>65535 is a valid port to listen on.</li>
<li>When xinit starts an X server that listens only on UNIX socket, prefer DISPLAY=unix:0 rather than DISPLAY=:0. This will prevent applications from ever falling back to TCP if the UNIX socket connection fails (such as when the X server crashes). Reverted.</li>
<li>Add -z and -Z options to apmd to auto suspend or hibernate when low on battery.</li>
<li>Remove the original (pre-IETF) chacha20-poly1305 cipher suites.</li>
<li>Add urng(4) which supports various USB RNG devices. Instead of adding one driver per device, start bundling them into a single driver.</li>
<li>Remove old deactivated pledge path code. A replacement mechanism is being brewed.</li>
<li>Fix a bug from the extension parsing rewrite. Always parse ALPN even if no callback has been installed to prevent leaving unprocessed data which leads to a decode error.</li>
<li>Clarify what is meant by syslog priorities being ordered, since the numbers and priorities are backwards.</li>
<li>Remove a stray setlocale() from ksh, eliminating a lot of extra statically linked code.</li>
<li>Unremove some NPN symbols from libssl because ports software thinks they should be there for reasons.</li>
<li>Fix saved stack location after resume. Somehow clang changed it. Resume works again on i386.</li>
<li>Improve error messages in vmd and vmctl to be more informative.</li>
<li>Stop building the miniroot installer for OMAP3 Beagleboards. It hasn’t worked in over a year and nobody noticed.</li>
<li>Have the callers of sosetopt() free the mbuf for symmetry.</li>
<li>On octeon, let the kernel use the hardware FPU even if emulation is compiled in. It’s faster.</li>
<li>Fix support for 486DX CPUs by not calling cpuid. I used to own a 486. Now I don’t.</li>
<li>Merge some drm fixes from linux.</li>
<li>Defer probing of floppy drives, eliminating delays during boot.</li>
<li>Better handling of probes and beacons and timeouts and scans in wifi stack to avoid disconnects.</li>
<li>Move mutex, condvar, and thread-specific data routes, pthread_once, and pthread_exit from libpthread to libc, along with low-level bits to support them. Let’s thread aware (but not actually threaded) code work with just libc.</li>
<li>New POSIX xlocale implementation. Complete as long as you only use ASCII and UTF-8, as you should.</li>
<li>Round and round it goes; when 6.2 stops, nobody knows. A peak at the future?
***</li>
</ul>

<h3><a href="http://eradman.com/posts/screencasting.html" target="_blank" rel="nofollow noopener">Screencasting with OpenBSD</a></h3>

<ul>
<li>USB Audio</li>
</ul>

<blockquote>
<p>Any USB microphone should appear as a new audio device. Here is the dmesg for my mic by ART:</p>
</blockquote>

<p><code><br>
uaudio0 at uhub0 port 2 configuration 1 interface 0 "M-One USB" rev 1.10/0.01 addr 2<br>
uaudio0: audio rev 1.00, 8 mixer controls<br>
audio1 at uaudio0<br>
</code></p>

<blockquote>
<p>audioctl can read off all of the specific characterisitcs of this device</p>
</blockquote>

<p><code><br>
$ audioctl -f /dev/audio1 | grep record<br>
mode=play,record<br>
record.rate=48000<br>
record.channels=1<br>
record.precision=16<br>
record.bps=2<br>
record.msb=1<br>
record.encoding=slinear_le<br>
record.pause=0<br>
record.active=0<br>
record.block_size=1960<br>
record.bytes=0<br>
record.errors=0<br>
</code></p>

<blockquote>
<p>Now test the recording from the second audio device using aucat(1)</p>
</blockquote>

<p><code><br>
aucat -f rsnd/1 -o file.wav<br>
</code></p>

<blockquote>
<p>If the device also has a headset audio can be played through the same device.</p>
</blockquote>

<p><code><br>
aucat -f rsnd/1 -i file.wav<br>
</code></p>

<ul>
<li>Screen Capture using Xvfb</li>
</ul>

<blockquote>
<p>The rate at which a framebuffer for your video card is a feature of the hardware and software your using, and it's often very slow. x11vnc will print an estimate of the banwidth for the system your running.</p>
</blockquote>

<p><code><br>
x11vnc<br>
...<br>
09/05/2012 22:23:45 fb read rate: 7 MB/sec<br>
</code></p>

<blockquote>
<p>This is about 4fps. We can do much better by using a virtual framebuffer. Here I'm setting up a new screen, setting the background color, starting cwm and an instance of xterm</p>
</blockquote>

<p><code><br>
Xvfb :1 -screen 0 720x540x16 &amp;<br>
DISPLAY=:1 xsetroot -solid steelblue &amp;<br>
DISPLAY=:1 cwm &amp;<br>
DISPLAY=:1 xterm +sb -fa Hermit -fs 14 &amp;<br>
</code></p>

<blockquote>
<p>Much better! Now we're up around 20fps.</p>
</blockquote>

<p><code><br>
x11vnc -display :1  &amp;<br>
...<br>
11/05/2012 18:04:07 fb read rate: 168 MB/sec<br>
</code></p>

<blockquote>
<p>Make a connection to this virtual screen using raw encoding to eliminate time wasted on compression.</p>
</blockquote>

<p><code><br>
vncviewer localhost -encodings raw<br>
</code></p>

<blockquote>
<p>A test recording with sound then looks like this</p>
</blockquote>

<p><code><br>
ffmpeg -f sndio -i snd/1 -y -f x11grab -r 12 -s 800x600 -i :1.0 -vcodec ffv1 ~/out.avi<br>
</code></p>

<blockquote>
<p>Note: always stop the recording and playback using q, not Ctrl-C so that audio inputs are shut down properly.</p>
</blockquote>

<ul>
<li>Screen Capture using Xephyr</li>
</ul>

<blockquote>
<p>Xephyr is perhaps the easiest way to run X with a shadow framebuffer. This solution also avoids reading from the video card's RAM, so it's reasonably fast.</p>
</blockquote>

<p><code><br>
Xephyr -ac -br -noreset -screen 800x600 :1 &amp;<br>
DISPLAY=:1 xsetroot -solid steelblue &amp;<br>
DISPLAY=:1 cwm &amp;<br>
DISPLAY=:1 xrdb -load ~/.Xdefaults &amp;<br>
DISPLAY=:1 xterm +sb -fa "Hermit" -fs 14 &amp;<br>
</code></p>

<blockquote>
<p>Capture works in exactally the same way. This command tries to maintain 12fps.</p>
</blockquote>

<p><code><br>
ffmpeg -f sndio -i snd/1 -y -f x11grab -r 12 -s 800x600 -i :1.0 -vcodec ffv1 -acodec copy ~/out.avi<br>
To capture keyboard and mouse input press Ctrl then Shift. This is very handy for using navigating a window manager in the nested X session.<br>
</code></p>

<ul>
<li>Arranging Windows</li>
</ul>

<blockquote>
<p>I have sometimes found it helpful to launch applications and arrange them in a specific way. This will open up a web browser listing the current directory and position windows using xdotool</p>
</blockquote>

<p><code><br>
DISPLAY=:1 midori "file:///</code>pwd<code>" &amp;<br>
sleep 2<br>
DISPLAY=:1 xdotool search --name "xterm" windowmove 0 0<br>
DISPLAY=:1 xdotool search --class "midori" windowmove 400 0<br>
DISPLAY=:1 xdotool search --class "midori" windowsize 400 576<br>
</code></p>

<blockquote>
<p>This will position the window precisely so that it appears to be in a tmux window on the right.</p>
</blockquote>

<ul>
<li>Audio/Video Sync</li>
</ul>

<blockquote>
<p>If you find that the audio is way out of sync with the video, you can ajust the start using the -ss before the audio input to specify the number of seconds to delay. My final recording command line, that delays the audio by 0.5 seconds, writing 12fps</p>
</blockquote>

<p><code><br>
ffmpeg -ss 0.5 -f sndio -i snd/1 -y -f x11grab -r 12 -s 800x600 -i :1.0 -vcodec ffv1  -acodec copy ~/out.avi<br>
</code></p>

<ul>
<li>Sharing a Terminal with tmux</li>
</ul>

<blockquote>
<p>If you're trying to record a terminal session, tmux is able to share a session. In this way a recording of an X framebuffer can be taken without even using the screen. Start by creating the session.</p>
</blockquote>

<p><code><br>
tmux -2 -S /tmp/tmux0<br>
</code></p>

<blockquote>
<p>Then on the remote side connect on the same socket</p>
</blockquote>

<p><code><br>
tmux -2 -S /tmp/tmux0 attach<br>
</code></p>

<ul>
<li>Taking Screenshots</li>
</ul>

<blockquote>
<p>Grabbing a screenshots on Xvfb server is easily accomplished with ImageMagick's import command</p>
</blockquote>

<p><code><br>
DISPLAY=:1 import -window root screenshot.png<br>
</code></p>

<ul>
<li>Audio Processing and Video Transcoding</li>
</ul>

<blockquote>
<p>The first step is to ensure that the clip begins and ends where you'd like it to. The following will make a copy of the recording starting at time 00:00 and ending at 09:45</p>
</blockquote>

<p><code><br>
ffmpeg -i interactive-sql.avi \<br>
    -vcodec copy -acodec copy<br>
    -ss 00:00:00 -t 00:09:45<br>
    interactive-sql-trimmed.avi<br>
mv interactive-sql-trimmed.avi interactive-sql.avi<br>
</code></p>

<blockquote>
<p>Setting the gain correctly is very important with an analog mixer, but if you're using a USB mic there may not be a gain option; simply record using it's built-in settings and then adjust the levels afterwards using a utility such as normalize. First extact the audio as a raw PCM file and then run normalize</p>
</blockquote>

<p><code><br>
ffmpeg -i interactive-sql.avi -c:a copy -vn audio.wav<br>
normalize audio.wav<br>
</code></p>

<blockquote>
<p>Next merge the audio back in again</p>
</blockquote>

<p><code><br>
ffmpeg -i interactive-sql.avi -i audio.wav \<br>
    -map 0:0 -map 1:0 -c copy interactive-sql-normalized.avi<br>
</code></p>

<blockquote>
<p>The final step is to compress the screencast for distribution. Encoding to VP8/Vorbis is easy:</p>
</blockquote>

<p><code><br>
ffmpeg -i interactive-sql-normalized.avi -c:v libvpx -b:v 1M<br>
    -c:a libvorbis -q:a 6 interactive-sql.webm<br>
</code></p>

<blockquote>
<p>H.264/AAC is tricky. For most video players the color space needs to be set to yuv420p. The -movflags puts the index data at the beginning of the file to enable streaming/partial content requests over HTTP:</p>
</blockquote>

<p><code><br>
ffmpeg -y -i interactive-sql-normalized.avi -c:v libx264 \<br>
    -preset slow -crf 14 -pix_fmt yuv420p -movflags +faststart \<br>
    -c:a aac -q:a 6 interactive-sql.mp4<br>
</code></p>

<hr>

<h3><a href="https://www.trueos.org/blog/trueos-ohio-linuxfest-17/" target="_blank" rel="nofollow noopener">TrueOS @ Ohio Linuxfest ’17!</a></h3>

<ul>
<li>Dru Lavigne and Ken Moore are both giving presentations on Saturday the 30th. Sit in and hear about new developments for the Lumina and FreeNAS projects.</li>
<li>Ken is offering Lumina Rising: Challenging Desktop Orthodoxy at 10:15 am in Franklin A. Hear his thoughts about the ideas propelling desktop environment development and how Lumina, especially Lumina 2, is seeking to offer a new model of desktop architecture. Elements discussed include session security, application dependencies, message handling, and operating system integration.</li>
<li>Dru is talking about What’s New in FreeNAS 11 at 2:00 pm in Franklin D. She’ll be providing an overview of some of the new features added in FreeNAS 11.0, including:

<ul>
<li>Alert Services</li>
<li>Starting specific services at boot time</li>
<li>AD Monitoring to ensure the AD service restarts if disconnected</li>
<li>A preview of the new user interface</li>
<li>support for S3-compatible storage and the bhyve hypervisor</li>
</ul></li>
<li>She’s also giving a sneak peek of FreeNAS 11.1, which has some neat features:

<ul>
<li>A complete rewrite of the Jails/Plugins system as FreeNAS moves from warden to iocage</li>
<li>Writing new plugins with just a few lines of code</li>
<li>A brand new asynchronous middleware API </li>
</ul></li>
<li>Who’s going? Attending this year are:

<ul>
<li>Dru Lavigne (dlavigne): Dru leads the technical documentation team at iX, and contributes heavily to open source documentation projects like FreeBSD, FreeNAS, and TrueOS.</li>
<li>Ken Moore (beanpole134): Ken is the lead developer of Lumina and a core contributor to TrueOS. He also works on a number of other Qt5 projects for iXsystems.</li>
<li>J.T. Pennington (q5sys): Some of you may be familiar with his work on BSDNow, but J.T. also contributes to the TrueOS, Lumina, and SysAdm projects, helping out with development and general bug squashing.
***</li>
</ul></li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.trueos.org/blog/lumina-development-preview-theme-engine/" target="_blank" rel="nofollow noopener">Lumina Development Preview: Theme Engine</a></li>
<li><a href="https://www.theregister.co.uk/2017/09/04/retro_thinkpad_spotted_in_the_wild/" target="_blank" rel="nofollow noopener">It's happening! Official retro Thinkpad lappy spotted in the wild</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/llvm_libfuzzer_and_safestack_ported" target="_blank" rel="nofollow noopener">LLVM libFuzzer and SafeStack ported to NetBSD</a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/event-calendar/2017-openzfs-developer-summit/" target="_blank" rel="nofollow noopener">Remaining 2017 FreeBSD Events</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Andrew - <a href="http://dpaste.com/0YTT0VP" target="_blank" rel="nofollow noopener">BSD Teaching Material</a></li>
<li>Seth - <a href="http://dpaste.com/1SK92ZX#wrap" target="_blank" rel="nofollow noopener">Switching to Tarsnap after Crashplan becomes no more</a></li>
<li>Thomas - <a href="http://dpaste.com/02KD5FX#wrap" target="_blank" rel="nofollow noopener">Native encryption in ZFS</a></li>
<li>Coding Cowboy - <a href="http://dpaste.com/31K0E40#wrap" target="_blank" rel="nofollow noopener">Coding Cowboy - Passwords and clipboards</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>212: The Solaris Eclipse</title>
  <link>https://www.bsdnow.tv/212</link>
  <guid isPermaLink="false">79738da3-b250-4193-a0fe-9184876562bf</guid>
  <pubDate>Wed, 20 Sep 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/79738da3-b250-4193-a0fe-9184876562bf.mp3" length="72690196" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We recap vBSDcon, give you the story behind a PF EN, reminisce in Solaris memories, and show you how to configure different DEs on FreeBSD.</itunes:subtitle>
  <itunes:duration>1:40:57</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>&lt;p&gt;We recap vBSDcon, give you the story behind a PF EN, reminisce in Solaris memories, and show you how to configure different DEs on FreeBSD.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;[vBSDCon]&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;vBSDCon was held September 7 - 9th. We recorded this only a few days after getting home from this great event.&lt;/li&gt;
&lt;li&gt;Things started on Wednesday night, as attendees of the thursday developer summit arrived and broke into smallish groups for disorganized dinner and drinks.&lt;/li&gt;
&lt;li&gt;We then held an unofficial hacker lounge in a medium sized seating area, working and talking until we all decided that the developer summit started awfully early tomorrow.&lt;/li&gt;
&lt;li&gt;The developer summit started with a light breakfast and then then we dove right in&lt;/li&gt;
&lt;li&gt;Ed Maste started us off, and then Glen Barber gave a presentation about lessons learned from the 11.1-RELEASE cycle, and comparing it to previous releases. 11.1 was released on time, and was one of the best releases so far. The slides are linked on the &lt;a href="https://wiki.freebsd.org/DevSummit/20170907" target="_blank" rel="nofollow noopener"&gt;DevSummit wiki page&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The group then jumped into hackmd.io a collaborative note taking application, and listed of various works in progress and upstreaming efforts. Then we listed wants and needs for the 12.0 release.&lt;/li&gt;
&lt;li&gt;After lunch we broke into pairs of working groups, with additional space for smaller meetings. The first pair were, ZFS and Toolchain, followed by a break and then a discussion of IFLIB and network drivers in general. After another break, the last groups of the day met, pkgbase and secure boot.&lt;/li&gt;
&lt;li&gt;Then it was time for the vBSDCon reception dinner. This standing dinner was a great way to meet new people, and for attendees to mingle and socialize.&lt;/li&gt;
&lt;li&gt;The official hacking lounge Thursday night was busy, and included some great storytelling, along with a bunch of work getting done.&lt;/li&gt;
&lt;li&gt;It was very encouraging to watch a struggling new developer getting help from a seasoned veteran. Watching the new developers eyes light up as the new information filled in gaps and they now understood so much more than just a few minutes before, and they raced off to continue working, was inspirational, and reminded me why these conferences are so important.&lt;/li&gt;
&lt;li&gt;The hacker lounge shut down relatively early by BSD conference standards, but, the conference proper started at 8:45 sharp the next morning, so it made sense.&lt;/li&gt;
&lt;li&gt;Friday saw a string of good presentations, I think my favourite was Jonathan Anderson’s talk on Oblivious sandboxing. Jonathan is a very energetic speaker, and was able to keep everyone focused even during relatively complicated explanations.&lt;/li&gt;
&lt;li&gt;Friday night I went for dinner at ‘Big Bowl’, a stir-fry bar, with a largish group of developers and users of both FreeBSD and OpenBSD. The discussions were interesting and varied, and the food was excellent. Benedict had dinner with JT and some other folks from iXsystems.&lt;/li&gt;
&lt;li&gt;Friday night the hacker lounge was so large we took over a bigger room (it had better WiFi too).&lt;/li&gt;
&lt;li&gt;Saturday featured more great talks. The talk I was most interested in was from Eric McCorkle, who did the EFI version of my GELIBoot work. I had reviewed some of the work, but it was interesting to hear the story of how it happened, and to see the parallels with my own story.&lt;/li&gt;
&lt;li&gt;My favourite speaker was Paul Vixie, who gave a very interesting talk about the gets() function in libc. gets() was declared unsafe before the FreeBSD project even started. The original import of the CSRG code into FreeBSD includes the compile time, and run-time warnings against using gets(). OpenBSD removed gets() in version 5.6, in 2014. Following Paul’s presentation, various patches were raised, to either cause use of gets() to crash the program, or to remove gets() entirely, causing such programs to fail to link.&lt;/li&gt;
&lt;li&gt;The last talk before the closing was Benedict’s &lt;a href="https://people.freebsd.org/%7Ebcr/talks/vBSDcon2017_Ansible.pdf" target="_blank" rel="nofollow noopener"&gt;BSD Systems Management with Ansible&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Shortly after, Allan won a MacBook Pro by correctly guessing the number of components in a jar that was standing next to the registration desk (Benedict was way off, but had a good laugh about the unlikely future Apple user).&lt;/li&gt;
&lt;li&gt;Saturday night ended with the Conference Social, and excellent dinner with more great conversations&lt;/li&gt;
&lt;li&gt;On Sunday morning, a number of us went to the Smithsonian Air and Space Museum site near the airport, and saw a Concorde, an SR-71, and the space shuttle Discovery, among many other exhibits.&lt;/li&gt;
&lt;li&gt;Check out the &lt;a href="https://t.co/KRmSNzUSus" target="_blank" rel="nofollow noopener"&gt;full photo album by JT&lt;/a&gt;, our producer.&lt;/li&gt;
&lt;li&gt;Thanks to all the sponsors for vBSDcon and all the organizers from Verisign, who made it such a great event.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.sigsegv.be//blog/freebsd/FreeBSD-EN-17.08.pf" target="_blank" rel="nofollow noopener"&gt;The story behind FreeBSD-EN-17.08.pf&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;After our previous deep dive on a bug in episode 209, Kristof Provost, the maintainer of pf on FreeBSD (he is going to hate me for saying that) has written the story behind a recent ERRATA notice for FreeBSD&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;First things first, so I have to point out that I think Allan misremembered things. The heroic debugging story is PR 219251, which I'll try to write about later. &lt;br&gt;
FreeBSD-EN-17:08.pf is an issue that affected some FreeBSD 11.x systems, where FreeBSD would panic at startup. There were no reports for CURRENT.&lt;br&gt;
There's very little to go on here, but we do know the cause of the panic ("integer divide fault"), and that the current process was "pf purge". The pf purge thread is part of the pf housekeeping infrastructure. It's a housekeeping kernel thread which cleans up things like old states and expired fragments.&lt;br&gt;
The lack of mention of pf functions in the backtrace is a hint unto itself. It suggests that the error is probably directly in pf_purge_thread(). It might also be in one of the static functions it calls, because compilers often just inline those so they don't generate stack frames. &lt;br&gt;
Remember that the problem is an "integer divide fault". How can integer divisions be a problem? Well, you can try to divide by zero. The most obvious suspect for this is this code:&lt;br&gt;
  idx = pf_purge_expired_states(idx, pf_hashmask / (V_pf_default_rule.timeout[PFTM_INTERVAL] * 10));&lt;br&gt;
However, this variable is both correctly initialised (in pfattach_vnet()) and can only be modified through the DIOCSETTIMEOUT ioctl() call and that one checks for zero. &lt;br&gt;
At that point I had no idea how this could happen, but because the problem did not affect CURRENT I looked at the commit history and found this commit from Luiz Otavio O Souza:&lt;br&gt;
  Do not run the pf purge thread while the VNET variables are not initialized, this can cause a divide by zero (if the VNET initialization takes to long to complete).&lt;br&gt;
  Obtained from:  pfSense&lt;br&gt;
  Sponsored by:   Rubicon Communications, LLC (Netgate)&lt;br&gt;
That sounds very familiar, and indeed, applying the patch fixed the problem. Luiz explained it well: it's possible to use V_pf_default_rule.timeout before it's initialised, which caused this panic. &lt;br&gt;
To me, this reaffirms the importance of writing good commit messages: because Luiz mentioned both the pf purge thread and the division by zero I was easily able to find the relevant commit. If I hadn't found it this fix would have taken a lot longer. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Next week we’ll look at the more interesting story I was interested in, which I managed to nag Kristof into writing
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://dtrace.org/blogs/bmc/2017/09/04/the-sudden-death-and-eternal-life-of-solaris/" target="_blank" rel="nofollow noopener"&gt;The sudden death and eternal life of Solaris&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A blog post from Bryan Cantrill about the death of Solaris&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As had been rumored for a while, Oracle effectively killed Solaris. When I first saw this, I had assumed that this was merely a deep cut, but in talking to Solaris engineers still at Oracle, it is clearly much more than that. It is a cut so deep as to be fatal: the core Solaris engineering organization lost on the order of 90% of its people, including essentially all management.&lt;br&gt;
Of note, among the engineers I have spoken with, I heard two things repeatedly: “this is the end” and (from those who managed to survive Friday) “I wish I had been laid off.” Gone is any of the optimism (however tepid) that I have heard over the years — and embarrassed apologies for Oracle’s behavior have been replaced with dismay about the clumsiness, ineptitude and callousness with which this final cut was handled. In particular, that employees who had given their careers to the company were told of their termination via a pre-recorded call — “robo-RIF’d” in the words of one employee — is both despicable and cowardly. To their credit, the engineers affected saw themselves as Sun to the end: they stayed to solve hard, interesting problems and out of allegiance to one another — not out of any loyalty to the broader Oracle. Oracle didn’t deserve them and now it doesn’t have them — they have been liberated, if in a depraved act of corporate violence.&lt;br&gt;
Assuming that this is indeed the end of Solaris (and it certainly looks that way), it offers a time for reflection. Certainly, the demise of Solaris is at one level not surprising, but on the other hand, its very suddenness highlights the degree to which proprietary software can suffer by the vicissitudes of corporate capriciousness. Vulnerable to executive whims, shareholder demands, and a fickle public, organizations can simply change direction by fiat. And because — in the words of the late, great Roger Faulkner — “it is easier to destroy than to create,” these changes in direction can have lasting effect when they mean stopping (or even suspending!) work on a project. Indeed, any engineer in any domain with sufficient longevity will have one (or many!) stories of exciting projects being cancelled by foolhardy and myopic management. For software, though, these cancellations can be particularly gutting because (in the proprietary world, anyway) so many of the details of software are carefully hidden from the users of the product — and much of the innovation of a cancelled software project will likely die with the project, living only in the oral tradition of the engineers who knew it. Worse, in the long run — to paraphrase Keynes — proprietary software projects are all dead. However ubiquitous at their height, this lonely fate awaits all proprietary software. &lt;br&gt;
There is, of course, another way — and befitting its idiosyncratic life and death, Solaris shows us this path too: software can be open source. In stark contrast to proprietary software, open source does not — cannot, even — die. Yes, it can be disused or rusty or fusty, but as long as anyone is interested in it at all, it lives and breathes. Even should the interest wane to nothing, open source software survives still: its life as machine may be suspended, but it becomes as literature, waiting to be discovered by a future generation. That is, while proprietary software can die in an instant, open source software perpetually endures by its nature — and thrives by the strength of its communities. Just as the existence of proprietary software can be surprisingly brittle, open source communities can be crazily robust: they can survive neglect, derision, dissent — even sabotage.&lt;br&gt;
In this regard, I speak from experience: from when Solaris was open sourced in 2005, the OpenSolaris community survived all of these things. By the time Oracle bought Sun five years later in 2010, the community had decided that it needed true independence — illumos was born. And, it turns out, illumos was born at exactly the right moment: shortly after illumos was announced, Oracle — in what remains to me a singularly loathsome and cowardly act — silently re-proprietarized Solaris on August 13, 2010. We in illumos were indisputably on our own, and while many outsiders gave us no chance of survival, we ourselves had reason for confidence: after all, open source communities are robust because they are often united not only by circumstance, but by values, and in our case, we as a community never lost our belief in ZFS, Zones, DTrace and myriad other technologies like MDB, FMA and Crossbow.&lt;br&gt;
Indeed, since 2010, illumos has thrived; illumos is not only the repository of record for technologies that have become cross-platform like OpenZFS, but we have also advanced our core technologies considerably, while still maintaining highest standards of quality. Learning some of the mistakes of OpenSolaris, we have a model that allows for downstream innovation, experimentation and differentiation. For example, Joyent’s SmartOS has always been focused on our need for a cloud hypervisor (causing us to develop big features like hardware virtualization and Linux binary compatibility), and it is now at the heart of a massive buildout for Samsung (who acquired Joyent a little over a year ago). For us at Joyent, the Solaris/illumos/SmartOS saga has been formative in that we have seen both the ill effects of proprietary software and the amazing resilience of open source software — and it very much informed our decision to open source our entire stack in 2014.&lt;br&gt;
Judging merely by its tombstone, the life of Solaris can be viewed as tragic: born out of wedlock between Sun and AT&amp;amp;T and dying at the hands of a remorseless corporate sociopath a quarter century later. And even that may be overstating its longevity: Solaris may not have been truly born until it was made open source, and — certainly to me, anyway — it died the moment it was again made proprietary. But in that shorter life, Solaris achieved the singular: immortality for its revolutionary technologies. So while we can mourn the loss of the proprietary embodiment of Solaris (and we can certainly lament the coarse way in which its technologists were treated!), we can rejoice in the eternal life of its technologies — in illumos and beyond!&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://jcs.org/2017/09/01/thinkpad_x1c" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the Lenovo Thinkpad X1 Carbon (5th Gen)&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Joshua Stein writes about his experiences running OpenBSD on the 5th generation Lenovo Thinkpad X1 Carbon:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ThinkPads have sort of a cult following among OpenBSD developers and users because the hardware is basic and well supported, and the keyboards are great to type on. While no stranger to ThinkPads myself, most of my OpenBSD laptops in recent years have been from various vendors with brand new hardware components that OpenBSD does not yet support. As satisfying as it is to write new kernel drivers or extend existing ones to make that hardware work, it usually leaves me with a laptop that doesn't work very well for a period of months.&lt;br&gt;
After exhausting efforts trying to debug the I2C touchpad interrupts on the Huawei MateBook X (and other 100-Series Intel chipset laptops), I decided to take a break and use something with better OpenBSD support out of the box: the fifth generation Lenovo ThinkPad X1 Carbon.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Hardware&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Like most ThinkPads, the X1 Carbon is available in a myriad of different internal configurations. I went with the non-vPro Core i7-7500U (it was the same price as the Core i5 that I normally opt for), 16Gb of RAM, a 256Gb NVMe SSD, and a WQHD display.&lt;br&gt;
This generation of X1 Carbon finally brings a thinner screen bezel, allowing the entire footprint of the laptop to be smaller which is welcome on something with a 14" screen. The X1 now measures 12.7" wide, 8.5" deep, and 0.6" thick, and weighs just 2.6 pounds. While not available at initial launch, Lenovo is now offering a WQHD IPS screen option giving a resolution of 2560x1440. Perhaps more importantly, this display also has much better brightness than the FHD version, something ThinkPads have always struggled with.&lt;br&gt;
On the left side of the laptop are two USB-C ports, a USB-A port, a full-size HDMI port, and a port for the ethernet dongle which, despite some reviews stating otherwise, is not included with the laptop. On the right side is another USB-A port and a headphone jack, along with a fan exhaust grille. On the back is a tray for the micro-SIM card for the optional WWAN device, which also covers the Realtek microSD card reader. The tray requires a paperclip to eject which makes it inconvenient to remove, so I think this microSD card slot is designed to house a card semi-permanently as a backup disk or something.&lt;br&gt;
On the bottom are the two speakers towards the front and an exhaust grille near the center. The four rubber feet are rather plastic feeling, which allows the laptop to slide around on a desk a bit too much for my liking. I wish they were a bit softer to be stickier.&lt;br&gt;
Charging can be done via either of the two USB-C ports on the left, though I wish more vendors would do as Google did on the Chromebook Pixel and provide a port on both sides. This makes it much more convenient to charge when not at one's desk, rather than having to route a cable around to one specific side. The X1 Carbon includes a 65W USB-C PD with a fixed USB-C cable and removable country-specific power cable, which is not very convenient due to its large footprint. I am using an Apple 61W USB-C charger and an Anker cable which charge the X1 fine (unlike HP laptops which only work with HP USB-C chargers).&lt;br&gt;
Wireless connectivity is provided by a removable Intel 8265 802.11a/b/g/n/ac WiFi and Bluetooth 4.1 card. An Intel I219-V chip provides ethernet connectivity and requires an external dongle for the physical cable connection.&lt;br&gt;
The screen hinge is rather tight, making it difficult to open with one hand. The tradeoff is that the screen does not wobble in the least bit when typing.&lt;br&gt;
The fan is silent at idle, and there is no coil whine even under heavy load. During a make -j4 build, the fan noise is reasonable and medium-pitched, rather than a high-pitched whine like on some laptops. The palm rest and keyboard area remain cool during high CPU utilization.&lt;br&gt;
The full-sized keyboard is backlit and offers two levels of adjustment. The keys have a soft surface and a somewhat clicky feel, providing very quiet typing except for certain keys like Enter, Backspace, and Escape. The keyboard has a reported key travel of 1.5mm and there are dedicated Page Up and Page Down keys above the Left and Right arrow keys. Dedicated Home, End, Insert, and Delete keys are along the top row. The Fn key is placed to the left of Control, which some people hate (although Lenovo does provide a BIOS option to swap it), but it's in the same position on Apple keyboards so I'm used to it. However, since there are dedicated Page Up, Page Down, Home, and End keys, I don't really have a use for the Fn key anyway.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Firmware&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The X1 Carbon has a very detailed BIOS/firmware menu which can be entered with the F1 key at boot. F12 can be used to temporarily select a different boot device.&lt;br&gt;
A neat feature of the Lenovo BIOS is that it supports showing a custom boot logo instead of the big red Lenovo logo. From Windows, download the latest BIOS Update Utility for the X1 Carbon (my model was 20HR). Run it and it'll extract everything to C:\drivers\flash(some random string). Drop a logo.gif file in that directory and run winuptp.exe. If a logo file is present, it'll ask whether to use it and then write the new BIOS to its staging area, then reboot to actually flash it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OpenBSD support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Secure Boot has to be disabled in the BIOS menu, and the "CSM Support" option must be enabled, even when "UEFI/Legacy Boot" is left on "UEFI Only". Otherwise the screen will just go black after the OpenBSD kernel loads into memory.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Based on this component list, it seems like everything but the fingerprint sensor works fine on OpenBSD.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.linuxsecrets.com/en/entry/51-freebsd/2017/09/04/2942-configure-5-freebsd-x-environments" target="_blank" rel="nofollow noopener"&gt;Configuring 5 different desktop environments on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This fairly quick tutorial over at LinuxSecrets.com is a great start if you are new to FreeBSD, especially if you are coming from Linux and miss your favourite desktop environment&lt;/li&gt;
&lt;li&gt;It just goes to show how easy it is to build the desktop you want on modern FreeBSD&lt;/li&gt;
&lt;li&gt;The tutorial covers: GNOME, KDE, Xfce, Mate, and Cinnamon&lt;/li&gt;
&lt;li&gt;The instructions for each boil down to some variation of:&lt;/li&gt;
&lt;li&gt;Install the desktop environment and a login manager if it is not included:
&amp;gt; sudo pkg install gnome3&lt;/li&gt;
&lt;li&gt;Enable the login manager, and usually dbus and hald:
&amp;gt; sudo sysrc dbus_enable="YES" hald_enable="YES" gdm_enable="YES" gnome_enable="YES"?&lt;/li&gt;
&lt;li&gt;If using a generic login manager, add the DE startup command to your .xinitrc:
&amp;gt; echo "exec cinnamon" &amp;gt; ~/.xinitrc &lt;/li&gt;
&lt;li&gt;And that is about it. &lt;/li&gt;
&lt;li&gt;The tutorial goes into more detail on other configuration you can do to get your desktop just the way you like it.&lt;/li&gt;
&lt;li&gt;To install Lumina:
&amp;gt; sudo pkg install lumina pcbsd-utils-qt5&lt;/li&gt;
&lt;li&gt;This will install Lumina and the pcbsd utilities package which includes pcdm, the login manager. In the near future we hear the login manager and some of the other utilities will be split into separate packages, making it easier to use them on vanilla FreeBSD.
&amp;gt; sudo sysrc pcdm_enable=”YES” dbus_enable="YES" hald_enable="YES" &lt;/li&gt;
&lt;li&gt;Reboot, and you should be greeted with the graphical login screen
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://lwn.net/Articles/732201/" target="_blank" rel="nofollow noopener"&gt;A return-oriented programming defense from OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We talked a bit about RETGUARD last week, presenting Theo’s email announcing the new feature&lt;/li&gt;
&lt;li&gt;Linux Weekly News has a nice breakdown on just how it works&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Stack-smashing attacks have a long history; they featured, for example, as a core part of the Morris worm back in 1988. Restrictions on executing code on the stack have, to a great extent, put an end to such simple attacks, but that does not mean that stack-smashing attacks are no longer a threat. Return-oriented programming (ROP) has become a common technique for compromising systems via a stack-smashing vulnerability. There are various schemes out there for defeating ROP attacks, but a mechanism called "RETGUARD" that is being implemented in OpenBSD is notable for its relative simplicity.&lt;br&gt;
In a classic stack-smashing attack, the attack code would be written directly to the stack and executed there. Most modern systems do not allow execution of on-stack code, though, so this kind of attack will be ineffective. The stack does affect code execution, though, in that the call chain is stored there; when a function executes a "return" instruction, the address to return to is taken from the stack. An attacker who can overwrite the stack can, thus, force a function to "return" to an arbitrary location.&lt;br&gt;
That alone can be enough to carry out some types of attacks, but ROP adds another level of sophistication. A search through a body of binary code will turn up a great many short sequences of instructions ending in a return instruction. These sequences are termed "gadgets"; a large program contains enough gadgets to carry out almost any desired task — if they can be strung together into a chain. ROP works by locating these gadgets, then building a series of stack frames so that each gadget "returns" to the next.&lt;br&gt;
There is, of course, a significant limitation here: a ROP chain made up of exclusively polymorphic gadgets will still work, since those gadgets were not (intentionally) created by the compiler and do not contain the return-address-mangling code. De Raadt acknowledged this limitation, but said: "we believe once standard-RET is solved those concerns become easier to address separately in the future. In any case a substantial reduction of gadgets is powerful".&lt;br&gt;
Using the compiler to insert the hardening code greatly eases the task of applying RETGUARD to both the OpenBSD kernel and its user-space code. At least, that is true for code written in a high-level language. Any code written in assembly must be changed by hand, though, which is a fair amount of work. De Raadt and company have done that work; he reports that: "We are at the point where userland and base are fully working without regressions, and the remaining impacts are in a few larger ports which directly access the return address (for a variety of reasons)". It can be expected that, once these final issues are dealt with, OpenBSD will ship with this hardening enabled.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The article wonders about applying the same to Linux, but notes it would be difficult because the Linux kernel cannot currently be compiled using LLVM&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If any benchmarks have been run to determine the cost of using RETGUARD, they have not been publicly posted. The extra code will make the kernel a little bigger, and the extra overhead on every function is likely to add up in the end. But if this technique can make the kernel that much harder to exploit, it may well justify the extra execution overhead that it brings with it. All that's needed is somebody to actually do the work and try it out.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.youtube.com/playlist?list=PLeF8ZihVdpFfVEsCxNWGDmcATJfRZacHv" target="_blank" rel="nofollow noopener"&gt;Videos from BSDCan have started to appear!&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=KuHepyI0_KY" target="_blank" rel="nofollow noopener"&gt;Henning Brauer: tcp synfloods - BSDCan 2017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=1DM5SwoXWSU" target="_blank" rel="nofollow noopener"&gt;Benno Rice: The Trouble with FreeBSD - BSDCan 2017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=SCLfKWaUGa8" target="_blank" rel="nofollow noopener"&gt;Li-Wen Hsu: Continuous Integration of The FreeBSD Project - BSDCan 2017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=gkYjvrFvPJ0" target="_blank" rel="nofollow noopener"&gt;Andrew Turner: GENERIC ARM - BSDCan 2017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=sYmW_H6FrWo" target="_blank" rel="nofollow noopener"&gt;Bjoern A. Zeeb: From the outside - BSDCan 2017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Zf9tDJhoVbA" target="_blank" rel="nofollow noopener"&gt;Rodney W. Grimes: FreeBSD as a Service - BSDCan 2017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Os9L_sOiTH0" target="_blank" rel="nofollow noopener"&gt;Reyk Floeter: The OpenBSD virtual machine daemon - BSDCan 2017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=NMUf6VGK2fI" target="_blank" rel="nofollow noopener"&gt;Brian Kidney: The Realities of DTrace on FreeBSD - BSDCan 2017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The rest will continue to trickle out, likely not until after EuroBSDCon
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://meshedinsights.com/2017/09/03/oracle-finally-killed-sun/" target="_blank" rel="nofollow noopener"&gt;Oracle has killed sun&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nanxiao.me/en/configure-thunderbird-to-send-patch-friendly/" target="_blank" rel="nofollow noopener"&gt;Configure Thunderbird to send patch friendly&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/newsflash.html#event20170909:01" target="_blank" rel="nofollow noopener"&gt;FreeBSD 10.4-BETA4 Available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.facebook.com/ixsystems/posts/10155403417921508" target="_blank" rel="nofollow noopener"&gt;iXsystems looking to hire kernel and zfs developers (especially Sun/Oracle Refugees)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://unitedbsd.com/" target="_blank" rel="nofollow noopener"&gt;Speaking of job postings, UnitedBSD.com has few job postings related to BSD&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Call for papers&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/usenix-fast-18-call-for-papers/" target="_blank" rel="nofollow noopener"&gt;USENIX FAST ‘18 - February 12-15, 2018, Due: September 28 2017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/scale-16x-call-for-participation/" target="_blank" rel="nofollow noopener"&gt;Scale 16x - March 8-11, 2018, Due: October 31, 2017 &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/fosdem-18-call-for-participation/" target="_blank" rel="nofollow noopener"&gt;FOSDEM ‘18 - February 3-4, 2018, Due: November 3 2017 &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/340KRHG" target="_blank" rel="nofollow noopener"&gt;Jason asks about cheap router hardware&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2J7DQQ6" target="_blank" rel="nofollow noopener"&gt;Prashant asks about latest kernels with freebsd-update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1H5SZ81" target="_blank" rel="nofollow noopener"&gt;Matt wants know about VM Performance &amp;amp; CPU Steal Time&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0X770SY" target="_blank" rel="nofollow noopener"&gt;John has config questions regarding Dell precision 7720, FreeBSD, NVME, and ZFS&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We recap vBSDcon, give you the story behind a PF EN, reminisce in Solaris memories, and show you how to configure different DEs on FreeBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3>[vBSDCon]</h3>

<ul>
<li>vBSDCon was held September 7 - 9th. We recorded this only a few days after getting home from this great event.</li>
<li>Things started on Wednesday night, as attendees of the thursday developer summit arrived and broke into smallish groups for disorganized dinner and drinks.</li>
<li>We then held an unofficial hacker lounge in a medium sized seating area, working and talking until we all decided that the developer summit started awfully early tomorrow.</li>
<li>The developer summit started with a light breakfast and then then we dove right in</li>
<li>Ed Maste started us off, and then Glen Barber gave a presentation about lessons learned from the 11.1-RELEASE cycle, and comparing it to previous releases. 11.1 was released on time, and was one of the best releases so far. The slides are linked on the <a href="https://wiki.freebsd.org/DevSummit/20170907" target="_blank" rel="nofollow noopener">DevSummit wiki page</a>.</li>
<li>The group then jumped into hackmd.io a collaborative note taking application, and listed of various works in progress and upstreaming efforts. Then we listed wants and needs for the 12.0 release.</li>
<li>After lunch we broke into pairs of working groups, with additional space for smaller meetings. The first pair were, ZFS and Toolchain, followed by a break and then a discussion of IFLIB and network drivers in general. After another break, the last groups of the day met, pkgbase and secure boot.</li>
<li>Then it was time for the vBSDCon reception dinner. This standing dinner was a great way to meet new people, and for attendees to mingle and socialize.</li>
<li>The official hacking lounge Thursday night was busy, and included some great storytelling, along with a bunch of work getting done.</li>
<li>It was very encouraging to watch a struggling new developer getting help from a seasoned veteran. Watching the new developers eyes light up as the new information filled in gaps and they now understood so much more than just a few minutes before, and they raced off to continue working, was inspirational, and reminded me why these conferences are so important.</li>
<li>The hacker lounge shut down relatively early by BSD conference standards, but, the conference proper started at 8:45 sharp the next morning, so it made sense.</li>
<li>Friday saw a string of good presentations, I think my favourite was Jonathan Andersons talk on Oblivious sandboxing. Jonathan is a very energetic speaker, and was able to keep everyone focused even during relatively complicated explanations.</li>
<li>Friday night I went for dinner at Big Bowl, a stir-fry bar, with a largish group of developers and users of both FreeBSD and OpenBSD. The discussions were interesting and varied, and the food was excellent. Benedict had dinner with JT and some other folks from iXsystems.</li>
<li>Friday night the hacker lounge was so large we took over a bigger room (it had better WiFi too).</li>
<li>Saturday featured more great talks. The talk I was most interested in was from Eric McCorkle, who did the EFI version of my GELIBoot work. I had reviewed some of the work, but it was interesting to hear the story of how it happened, and to see the parallels with my own story.</li>
<li>My favourite speaker was Paul Vixie, who gave a very interesting talk about the gets() function in libc. gets() was declared unsafe before the FreeBSD project even started. The original import of the CSRG code into FreeBSD includes the compile time, and run-time warnings against using gets(). OpenBSD removed gets() in version 5.6, in 2014. Following Pauls presentation, various patches were raised, to either cause use of gets() to crash the program, or to remove gets() entirely, causing such programs to fail to link.</li>
<li>The last talk before the closing was Benedicts <a href="https://people.freebsd.org/%7Ebcr/talks/vBSDcon2017_Ansible.pdf" target="_blank" rel="nofollow noopener">BSD Systems Management with Ansible</a>.</li>
<li>Shortly after, Allan won a MacBook Pro by correctly guessing the number of components in a jar that was standing next to the registration desk (Benedict was way off, but had a good laugh about the unlikely future Apple user).</li>
<li>Saturday night ended with the Conference Social, and excellent dinner with more great conversations</li>
<li>On Sunday morning, a number of us went to the Smithsonian Air and Space Museum site near the airport, and saw a Concorde, an SR-71, and the space shuttle Discovery, among many other exhibits.</li>
<li>Check out the <a href="https://t.co/KRmSNzUSus" target="_blank" rel="nofollow noopener">full photo album by JT</a>, our producer.</li>
<li>Thanks to all the sponsors for vBSDcon and all the organizers from Verisign, who made it such a great event.
***</li>
</ul>

<h3><a href="https://www.sigsegv.be//blog/freebsd/FreeBSD-EN-17.08.pf" target="_blank" rel="nofollow noopener">The story behind FreeBSD-EN-17.08.pf</a></h3>

<ul>
<li>After our previous deep dive on a bug in episode 209, Kristof Provost, the maintainer of pf on FreeBSD (he is going to hate me for saying that) has written the story behind a recent ERRATA notice for FreeBSD</li>
</ul>

<blockquote>
<p>First things first, so I have to point out that I think Allan misremembered things. The heroic debugging story is PR 219251, which I'll try to write about later. <br>
FreeBSD-EN-17:08.pf is an issue that affected some FreeBSD 11.x systems, where FreeBSD would panic at startup. There were no reports for CURRENT.<br>
There's very little to go on here, but we do know the cause of the panic ("integer divide fault"), and that the current process was "pf purge". The pf purge thread is part of the pf housekeeping infrastructure. It's a housekeeping kernel thread which cleans up things like old states and expired fragments.<br>
The lack of mention of pf functions in the backtrace is a hint unto itself. It suggests that the error is probably directly in pf_purge_thread(). It might also be in one of the static functions it calls, because compilers often just inline those so they don't generate stack frames. <br>
Remember that the problem is an "integer divide fault". How can integer divisions be a problem? Well, you can try to divide by zero. The most obvious suspect for this is this code:<br>
  idx = pf_purge_expired_states(idx, pf_hashmask / (V_pf_default_rule.timeout[PFTM_INTERVAL] * 10));<br>
However, this variable is both correctly initialised (in pfattach_vnet()) and can only be modified through the DIOCSETTIMEOUT ioctl() call and that one checks for zero. <br>
At that point I had no idea how this could happen, but because the problem did not affect CURRENT I looked at the commit history and found this commit from Luiz Otavio O Souza:<br>
  Do not run the pf purge thread while the VNET variables are not initialized, this can cause a divide by zero (if the VNET initialization takes to long to complete).<br>
  Obtained from:  pfSense<br>
  Sponsored by:   Rubicon Communications, LLC (Netgate)<br>
That sounds very familiar, and indeed, applying the patch fixed the problem. Luiz explained it well: it's possible to use V_pf_default_rule.timeout before it's initialised, which caused this panic. <br>
To me, this reaffirms the importance of writing good commit messages: because Luiz mentioned both the pf purge thread and the division by zero I was easily able to find the relevant commit. If I hadn't found it this fix would have taken a lot longer. </p>
</blockquote>

<ul>
<li>Next week well look at the more interesting story I was interested in, which I managed to nag Kristof into writing
***</li>
</ul>

<h3><a href="http://dtrace.org/blogs/bmc/2017/09/04/the-sudden-death-and-eternal-life-of-solaris/" target="_blank" rel="nofollow noopener">The sudden death and eternal life of Solaris</a></h3>

<ul>
<li>A blog post from Bryan Cantrill about the death of Solaris</li>
</ul>

<blockquote>
<p>As had been rumored for a while, Oracle effectively killed Solaris. When I first saw this, I had assumed that this was merely a deep cut, but in talking to Solaris engineers still at Oracle, it is clearly much more than that. It is a cut so deep as to be fatal: the core Solaris engineering organization lost on the order of 90% of its people, including essentially all management.<br>
Of note, among the engineers I have spoken with, I heard two things repeatedly: this is the end and (from those who managed to survive Friday) I wish I had been laid off. Gone is any of the optimism (however tepid) that I have heard over the years  and embarrassed apologies for Oracles behavior have been replaced with dismay about the clumsiness, ineptitude and callousness with which this final cut was handled. In particular, that employees who had given their careers to the company were told of their termination via a pre-recorded call  robo-RIFd in the words of one employee  is both despicable and cowardly. To their credit, the engineers affected saw themselves as Sun to the end: they stayed to solve hard, interesting problems and out of allegiance to one another  not out of any loyalty to the broader Oracle. Oracle didnt deserve them and now it doesnt have them  they have been liberated, if in a depraved act of corporate violence.<br>
Assuming that this is indeed the end of Solaris (and it certainly looks that way), it offers a time for reflection. Certainly, the demise of Solaris is at one level not surprising, but on the other hand, its very suddenness highlights the degree to which proprietary software can suffer by the vicissitudes of corporate capriciousness. Vulnerable to executive whims, shareholder demands, and a fickle public, organizations can simply change direction by fiat. And because  in the words of the late, great Roger Faulkner  it is easier to destroy than to create, these changes in direction can have lasting effect when they mean stopping (or even suspending!) work on a project. Indeed, any engineer in any domain with sufficient longevity will have one (or many!) stories of exciting projects being cancelled by foolhardy and myopic management. For software, though, these cancellations can be particularly gutting because (in the proprietary world, anyway) so many of the details of software are carefully hidden from the users of the product  and much of the innovation of a cancelled software project will likely die with the project, living only in the oral tradition of the engineers who knew it. Worse, in the long run  to paraphrase Keynes  proprietary software projects are all dead. However ubiquitous at their height, this lonely fate awaits all proprietary software. <br>
There is, of course, another way  and befitting its idiosyncratic life and death, Solaris shows us this path too: software can be open source. In stark contrast to proprietary software, open source does not  cannot, even  die. Yes, it can be disused or rusty or fusty, but as long as anyone is interested in it at all, it lives and breathes. Even should the interest wane to nothing, open source software survives still: its life as machine may be suspended, but it becomes as literature, waiting to be discovered by a future generation. That is, while proprietary software can die in an instant, open source software perpetually endures by its nature  and thrives by the strength of its communities. Just as the existence of proprietary software can be surprisingly brittle, open source communities can be crazily robust: they can survive neglect, derision, dissent  even sabotage.<br>
In this regard, I speak from experience: from when Solaris was open sourced in 2005, the OpenSolaris community survived all of these things. By the time Oracle bought Sun five years later in 2010, the community had decided that it needed true independence  illumos was born. And, it turns out, illumos was born at exactly the right moment: shortly after illumos was announced, Oracle  in what remains to me a singularly loathsome and cowardly act  silently re-proprietarized Solaris on August 13, 2010. We in illumos were indisputably on our own, and while many outsiders gave us no chance of survival, we ourselves had reason for confidence: after all, open source communities are robust because they are often united not only by circumstance, but by values, and in our case, we as a community never lost our belief in ZFS, Zones, DTrace and myriad other technologies like MDB, FMA and Crossbow.<br>
Indeed, since 2010, illumos has thrived; illumos is not only the repository of record for technologies that have become cross-platform like OpenZFS, but we have also advanced our core technologies considerably, while still maintaining highest standards of quality. Learning some of the mistakes of OpenSolaris, we have a model that allows for downstream innovation, experimentation and differentiation. For example, Joyents SmartOS has always been focused on our need for a cloud hypervisor (causing us to develop big features like hardware virtualization and Linux binary compatibility), and it is now at the heart of a massive buildout for Samsung (who acquired Joyent a little over a year ago). For us at Joyent, the Solaris/illumos/SmartOS saga has been formative in that we have seen both the ill effects of proprietary software and the amazing resilience of open source software  and it very much informed our decision to open source our entire stack in 2014.<br>
Judging merely by its tombstone, the life of Solaris can be viewed as tragic: born out of wedlock between Sun and AT&amp;T and dying at the hands of a remorseless corporate sociopath a quarter century later. And even that may be overstating its longevity: Solaris may not have been truly born until it was made open source, and  certainly to me, anyway  it died the moment it was again made proprietary. But in that shorter life, Solaris achieved the singular: immortality for its revolutionary technologies. So while we can mourn the loss of the proprietary embodiment of Solaris (and we can certainly lament the coarse way in which its technologists were treated!), we can rejoice in the eternal life of its technologies  in illumos and beyond!</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2017/09/01/thinkpad_x1c" target="_blank" rel="nofollow noopener">OpenBSD on the Lenovo Thinkpad X1 Carbon (5th Gen)</a></h3>

<ul>
<li>Joshua Stein writes about his experiences running OpenBSD on the 5th generation Lenovo Thinkpad X1 Carbon:</li>
</ul>

<blockquote>
<p>ThinkPads have sort of a cult following among OpenBSD developers and users because the hardware is basic and well supported, and the keyboards are great to type on. While no stranger to ThinkPads myself, most of my OpenBSD laptops in recent years have been from various vendors with brand new hardware components that OpenBSD does not yet support. As satisfying as it is to write new kernel drivers or extend existing ones to make that hardware work, it usually leaves me with a laptop that doesn't work very well for a period of months.<br>
After exhausting efforts trying to debug the I2C touchpad interrupts on the Huawei MateBook X (and other 100-Series Intel chipset laptops), I decided to take a break and use something with better OpenBSD support out of the box: the fifth generation Lenovo ThinkPad X1 Carbon.</p>
</blockquote>

<ul>
<li>Hardware</li>
</ul>

<blockquote>
<p>Like most ThinkPads, the X1 Carbon is available in a myriad of different internal configurations. I went with the non-vPro Core i7-7500U (it was the same price as the Core i5 that I normally opt for), 16Gb of RAM, a 256Gb NVMe SSD, and a WQHD display.<br>
This generation of X1 Carbon finally brings a thinner screen bezel, allowing the entire footprint of the laptop to be smaller which is welcome on something with a 14" screen. The X1 now measures 12.7" wide, 8.5" deep, and 0.6" thick, and weighs just 2.6 pounds. While not available at initial launch, Lenovo is now offering a WQHD IPS screen option giving a resolution of 2560x1440. Perhaps more importantly, this display also has much better brightness than the FHD version, something ThinkPads have always struggled with.<br>
On the left side of the laptop are two USB-C ports, a USB-A port, a full-size HDMI port, and a port for the ethernet dongle which, despite some reviews stating otherwise, is not included with the laptop. On the right side is another USB-A port and a headphone jack, along with a fan exhaust grille. On the back is a tray for the micro-SIM card for the optional WWAN device, which also covers the Realtek microSD card reader. The tray requires a paperclip to eject which makes it inconvenient to remove, so I think this microSD card slot is designed to house a card semi-permanently as a backup disk or something.<br>
On the bottom are the two speakers towards the front and an exhaust grille near the center. The four rubber feet are rather plastic feeling, which allows the laptop to slide around on a desk a bit too much for my liking. I wish they were a bit softer to be stickier.<br>
Charging can be done via either of the two USB-C ports on the left, though I wish more vendors would do as Google did on the Chromebook Pixel and provide a port on both sides. This makes it much more convenient to charge when not at one's desk, rather than having to route a cable around to one specific side. The X1 Carbon includes a 65W USB-C PD with a fixed USB-C cable and removable country-specific power cable, which is not very convenient due to its large footprint. I am using an Apple 61W USB-C charger and an Anker cable which charge the X1 fine (unlike HP laptops which only work with HP USB-C chargers).<br>
Wireless connectivity is provided by a removable Intel 8265 802.11a/b/g/n/ac WiFi and Bluetooth 4.1 card. An Intel I219-V chip provides ethernet connectivity and requires an external dongle for the physical cable connection.<br>
The screen hinge is rather tight, making it difficult to open with one hand. The tradeoff is that the screen does not wobble in the least bit when typing.<br>
The fan is silent at idle, and there is no coil whine even under heavy load. During a make -j4 build, the fan noise is reasonable and medium-pitched, rather than a high-pitched whine like on some laptops. The palm rest and keyboard area remain cool during high CPU utilization.<br>
The full-sized keyboard is backlit and offers two levels of adjustment. The keys have a soft surface and a somewhat clicky feel, providing very quiet typing except for certain keys like Enter, Backspace, and Escape. The keyboard has a reported key travel of 1.5mm and there are dedicated Page Up and Page Down keys above the Left and Right arrow keys. Dedicated Home, End, Insert, and Delete keys are along the top row. The Fn key is placed to the left of Control, which some people hate (although Lenovo does provide a BIOS option to swap it), but it's in the same position on Apple keyboards so I'm used to it. However, since there are dedicated Page Up, Page Down, Home, and End keys, I don't really have a use for the Fn key anyway.</p>
</blockquote>

<ul>
<li>Firmware</li>
</ul>

<blockquote>
<p>The X1 Carbon has a very detailed BIOS/firmware menu which can be entered with the F1 key at boot. F12 can be used to temporarily select a different boot device.<br>
A neat feature of the Lenovo BIOS is that it supports showing a custom boot logo instead of the big red Lenovo logo. From Windows, download the latest BIOS Update Utility for the X1 Carbon (my model was 20HR). Run it and it'll extract everything to C:\drivers\flash(some random string). Drop a logo.gif file in that directory and run winuptp.exe. If a logo file is present, it'll ask whether to use it and then write the new BIOS to its staging area, then reboot to actually flash it.</p>

<ul>
<li>OpenBSD support</li>
</ul>

<p>Secure Boot has to be disabled in the BIOS menu, and the "CSM Support" option must be enabled, even when "UEFI/Legacy Boot" is left on "UEFI Only". Otherwise the screen will just go black after the OpenBSD kernel loads into memory.</p>
</blockquote>

<ul>
<li>Based on this component list, it seems like everything but the fingerprint sensor works fine on OpenBSD.
***</li>
</ul>

<h3><a href="https://www.linuxsecrets.com/en/entry/51-freebsd/2017/09/04/2942-configure-5-freebsd-x-environments" target="_blank" rel="nofollow noopener">Configuring 5 different desktop environments on FreeBSD</a></h3>

<ul>
<li>This fairly quick tutorial over at LinuxSecrets.com is a great start if you are new to FreeBSD, especially if you are coming from Linux and miss your favourite desktop environment</li>
<li>It just goes to show how easy it is to build the desktop you want on modern FreeBSD</li>
<li>The tutorial covers: GNOME, KDE, Xfce, Mate, and Cinnamon</li>
<li>The instructions for each boil down to some variation of:</li>
<li>Install the desktop environment and a login manager if it is not included:
&gt; sudo pkg install gnome3</li>
<li>Enable the login manager, and usually dbus and hald:
&gt; sudo sysrc dbus_enable="YES" hald_enable="YES" gdm_enable="YES" gnome_enable="YES"?</li>
<li>If using a generic login manager, add the DE startup command to your .xinitrc:
&gt; echo "exec cinnamon" &gt; ~/.xinitrc </li>
<li>And that is about it. </li>
<li>The tutorial goes into more detail on other configuration you can do to get your desktop just the way you like it.</li>
<li>To install Lumina:
&gt; sudo pkg install lumina pcbsd-utils-qt5</li>
<li>This will install Lumina and the pcbsd utilities package which includes pcdm, the login manager. In the near future we hear the login manager and some of the other utilities will be split into separate packages, making it easier to use them on vanilla FreeBSD.
&gt; sudo sysrc pcdm_enable=YES dbus_enable="YES" hald_enable="YES" </li>
<li>Reboot, and you should be greeted with the graphical login screen
***</li>
</ul>

<h3><a href="https://lwn.net/Articles/732201/" target="_blank" rel="nofollow noopener">A return-oriented programming defense from OpenBSD</a></h3>

<ul>
<li>We talked a bit about RETGUARD last week, presenting Theos email announcing the new feature</li>
<li>Linux Weekly News has a nice breakdown on just how it works</li>
</ul>

<blockquote>
<p>Stack-smashing attacks have a long history; they featured, for example, as a core part of the Morris worm back in 1988. Restrictions on executing code on the stack have, to a great extent, put an end to such simple attacks, but that does not mean that stack-smashing attacks are no longer a threat. Return-oriented programming (ROP) has become a common technique for compromising systems via a stack-smashing vulnerability. There are various schemes out there for defeating ROP attacks, but a mechanism called "RETGUARD" that is being implemented in OpenBSD is notable for its relative simplicity.<br>
In a classic stack-smashing attack, the attack code would be written directly to the stack and executed there. Most modern systems do not allow execution of on-stack code, though, so this kind of attack will be ineffective. The stack does affect code execution, though, in that the call chain is stored there; when a function executes a "return" instruction, the address to return to is taken from the stack. An attacker who can overwrite the stack can, thus, force a function to "return" to an arbitrary location.<br>
That alone can be enough to carry out some types of attacks, but ROP adds another level of sophistication. A search through a body of binary code will turn up a great many short sequences of instructions ending in a return instruction. These sequences are termed "gadgets"; a large program contains enough gadgets to carry out almost any desired task  if they can be strung together into a chain. ROP works by locating these gadgets, then building a series of stack frames so that each gadget "returns" to the next.<br>
There is, of course, a significant limitation here: a ROP chain made up of exclusively polymorphic gadgets will still work, since those gadgets were not (intentionally) created by the compiler and do not contain the return-address-mangling code. De Raadt acknowledged this limitation, but said: "we believe once standard-RET is solved those concerns become easier to address separately in the future. In any case a substantial reduction of gadgets is powerful".<br>
Using the compiler to insert the hardening code greatly eases the task of applying RETGUARD to both the OpenBSD kernel and its user-space code. At least, that is true for code written in a high-level language. Any code written in assembly must be changed by hand, though, which is a fair amount of work. De Raadt and company have done that work; he reports that: "We are at the point where userland and base are fully working without regressions, and the remaining impacts are in a few larger ports which directly access the return address (for a variety of reasons)". It can be expected that, once these final issues are dealt with, OpenBSD will ship with this hardening enabled.</p>
</blockquote>

<ul>
<li>The article wonders about applying the same to Linux, but notes it would be difficult because the Linux kernel cannot currently be compiled using LLVM</li>
</ul>

<blockquote>
<p>If any benchmarks have been run to determine the cost of using RETGUARD, they have not been publicly posted. The extra code will make the kernel a little bigger, and the extra overhead on every function is likely to add up in the end. But if this technique can make the kernel that much harder to exploit, it may well justify the extra execution overhead that it brings with it. All that's needed is somebody to actually do the work and try it out.</p>

<hr>
</blockquote>

<h3><a href="https://www.youtube.com/playlist?list=PLeF8ZihVdpFfVEsCxNWGDmcATJfRZacHv" target="_blank" rel="nofollow noopener">Videos from BSDCan have started to appear!</a></h3>

<ul>
<li><a href="https://www.youtube.com/watch?v=KuHepyI0_KY" target="_blank" rel="nofollow noopener">Henning Brauer: tcp synfloods - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=1DM5SwoXWSU" target="_blank" rel="nofollow noopener">Benno Rice: The Trouble with FreeBSD - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=SCLfKWaUGa8" target="_blank" rel="nofollow noopener">Li-Wen Hsu: Continuous Integration of The FreeBSD Project - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=gkYjvrFvPJ0" target="_blank" rel="nofollow noopener">Andrew Turner: GENERIC ARM - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=sYmW_H6FrWo" target="_blank" rel="nofollow noopener">Bjoern A. Zeeb: From the outside - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=Zf9tDJhoVbA" target="_blank" rel="nofollow noopener">Rodney W. Grimes: FreeBSD as a Service - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=Os9L_sOiTH0" target="_blank" rel="nofollow noopener">Reyk Floeter: The OpenBSD virtual machine daemon - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=NMUf6VGK2fI" target="_blank" rel="nofollow noopener">Brian Kidney: The Realities of DTrace on FreeBSD - BSDCan 2017</a></li>
<li>The rest will continue to trickle out, likely not until after EuroBSDCon
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://meshedinsights.com/2017/09/03/oracle-finally-killed-sun/" target="_blank" rel="nofollow noopener">Oracle has killed sun</a></li>
<li><a href="http://nanxiao.me/en/configure-thunderbird-to-send-patch-friendly/" target="_blank" rel="nofollow noopener">Configure Thunderbird to send patch friendly</a></li>
<li><a href="https://www.freebsd.org/news/newsflash.html#event20170909:01" target="_blank" rel="nofollow noopener">FreeBSD 10.4-BETA4 Available</a></li>
<li><a href="https://www.facebook.com/ixsystems/posts/10155403417921508" target="_blank" rel="nofollow noopener">iXsystems looking to hire kernel and zfs developers (especially Sun/Oracle Refugees)</a></li>
<li><a href="https://unitedbsd.com/" target="_blank" rel="nofollow noopener">Speaking of job postings, UnitedBSD.com has few job postings related to BSD</a></li>
</ul>

<h2>Call for papers</h2>

<ul>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/usenix-fast-18-call-for-papers/" target="_blank" rel="nofollow noopener">USENIX FAST 18 - February 12-15, 2018, Due: September 28 2017</a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/scale-16x-call-for-participation/" target="_blank" rel="nofollow noopener">Scale 16x - March 8-11, 2018, Due: October 31, 2017 </a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/fosdem-18-call-for-participation/" target="_blank" rel="nofollow noopener">FOSDEM 18 - February 3-4, 2018, Due: November 3 2017 </a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/340KRHG" target="_blank" rel="nofollow noopener">Jason asks about cheap router hardware</a></li>
<li><a href="http://dpaste.com/2J7DQQ6" target="_blank" rel="nofollow noopener">Prashant asks about latest kernels with freebsd-update</a></li>
<li><a href="http://dpaste.com/1H5SZ81" target="_blank" rel="nofollow noopener">Matt wants know about VM Performance &amp; CPU Steal Time</a></li>
<li><a href="http://dpaste.com/0X770SY" target="_blank" rel="nofollow noopener">John has config questions regarding Dell precision 7720, FreeBSD, NVME, and ZFS</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We recap vBSDcon, give you the story behind a PF EN, reminisce in Solaris memories, and show you how to configure different DEs on FreeBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3>[vBSDCon]</h3>

<ul>
<li>vBSDCon was held September 7 - 9th. We recorded this only a few days after getting home from this great event.</li>
<li>Things started on Wednesday night, as attendees of the thursday developer summit arrived and broke into smallish groups for disorganized dinner and drinks.</li>
<li>We then held an unofficial hacker lounge in a medium sized seating area, working and talking until we all decided that the developer summit started awfully early tomorrow.</li>
<li>The developer summit started with a light breakfast and then then we dove right in</li>
<li>Ed Maste started us off, and then Glen Barber gave a presentation about lessons learned from the 11.1-RELEASE cycle, and comparing it to previous releases. 11.1 was released on time, and was one of the best releases so far. The slides are linked on the <a href="https://wiki.freebsd.org/DevSummit/20170907" target="_blank" rel="nofollow noopener">DevSummit wiki page</a>.</li>
<li>The group then jumped into hackmd.io a collaborative note taking application, and listed of various works in progress and upstreaming efforts. Then we listed wants and needs for the 12.0 release.</li>
<li>After lunch we broke into pairs of working groups, with additional space for smaller meetings. The first pair were, ZFS and Toolchain, followed by a break and then a discussion of IFLIB and network drivers in general. After another break, the last groups of the day met, pkgbase and secure boot.</li>
<li>Then it was time for the vBSDCon reception dinner. This standing dinner was a great way to meet new people, and for attendees to mingle and socialize.</li>
<li>The official hacking lounge Thursday night was busy, and included some great storytelling, along with a bunch of work getting done.</li>
<li>It was very encouraging to watch a struggling new developer getting help from a seasoned veteran. Watching the new developers eyes light up as the new information filled in gaps and they now understood so much more than just a few minutes before, and they raced off to continue working, was inspirational, and reminded me why these conferences are so important.</li>
<li>The hacker lounge shut down relatively early by BSD conference standards, but, the conference proper started at 8:45 sharp the next morning, so it made sense.</li>
<li>Friday saw a string of good presentations, I think my favourite was Jonathan Andersons talk on Oblivious sandboxing. Jonathan is a very energetic speaker, and was able to keep everyone focused even during relatively complicated explanations.</li>
<li>Friday night I went for dinner at Big Bowl, a stir-fry bar, with a largish group of developers and users of both FreeBSD and OpenBSD. The discussions were interesting and varied, and the food was excellent. Benedict had dinner with JT and some other folks from iXsystems.</li>
<li>Friday night the hacker lounge was so large we took over a bigger room (it had better WiFi too).</li>
<li>Saturday featured more great talks. The talk I was most interested in was from Eric McCorkle, who did the EFI version of my GELIBoot work. I had reviewed some of the work, but it was interesting to hear the story of how it happened, and to see the parallels with my own story.</li>
<li>My favourite speaker was Paul Vixie, who gave a very interesting talk about the gets() function in libc. gets() was declared unsafe before the FreeBSD project even started. The original import of the CSRG code into FreeBSD includes the compile time, and run-time warnings against using gets(). OpenBSD removed gets() in version 5.6, in 2014. Following Pauls presentation, various patches were raised, to either cause use of gets() to crash the program, or to remove gets() entirely, causing such programs to fail to link.</li>
<li>The last talk before the closing was Benedicts <a href="https://people.freebsd.org/%7Ebcr/talks/vBSDcon2017_Ansible.pdf" target="_blank" rel="nofollow noopener">BSD Systems Management with Ansible</a>.</li>
<li>Shortly after, Allan won a MacBook Pro by correctly guessing the number of components in a jar that was standing next to the registration desk (Benedict was way off, but had a good laugh about the unlikely future Apple user).</li>
<li>Saturday night ended with the Conference Social, and excellent dinner with more great conversations</li>
<li>On Sunday morning, a number of us went to the Smithsonian Air and Space Museum site near the airport, and saw a Concorde, an SR-71, and the space shuttle Discovery, among many other exhibits.</li>
<li>Check out the <a href="https://t.co/KRmSNzUSus" target="_blank" rel="nofollow noopener">full photo album by JT</a>, our producer.</li>
<li>Thanks to all the sponsors for vBSDcon and all the organizers from Verisign, who made it such a great event.
***</li>
</ul>

<h3><a href="https://www.sigsegv.be//blog/freebsd/FreeBSD-EN-17.08.pf" target="_blank" rel="nofollow noopener">The story behind FreeBSD-EN-17.08.pf</a></h3>

<ul>
<li>After our previous deep dive on a bug in episode 209, Kristof Provost, the maintainer of pf on FreeBSD (he is going to hate me for saying that) has written the story behind a recent ERRATA notice for FreeBSD</li>
</ul>

<blockquote>
<p>First things first, so I have to point out that I think Allan misremembered things. The heroic debugging story is PR 219251, which I'll try to write about later. <br>
FreeBSD-EN-17:08.pf is an issue that affected some FreeBSD 11.x systems, where FreeBSD would panic at startup. There were no reports for CURRENT.<br>
There's very little to go on here, but we do know the cause of the panic ("integer divide fault"), and that the current process was "pf purge". The pf purge thread is part of the pf housekeeping infrastructure. It's a housekeeping kernel thread which cleans up things like old states and expired fragments.<br>
The lack of mention of pf functions in the backtrace is a hint unto itself. It suggests that the error is probably directly in pf_purge_thread(). It might also be in one of the static functions it calls, because compilers often just inline those so they don't generate stack frames. <br>
Remember that the problem is an "integer divide fault". How can integer divisions be a problem? Well, you can try to divide by zero. The most obvious suspect for this is this code:<br>
  idx = pf_purge_expired_states(idx, pf_hashmask / (V_pf_default_rule.timeout[PFTM_INTERVAL] * 10));<br>
However, this variable is both correctly initialised (in pfattach_vnet()) and can only be modified through the DIOCSETTIMEOUT ioctl() call and that one checks for zero. <br>
At that point I had no idea how this could happen, but because the problem did not affect CURRENT I looked at the commit history and found this commit from Luiz Otavio O Souza:<br>
  Do not run the pf purge thread while the VNET variables are not initialized, this can cause a divide by zero (if the VNET initialization takes to long to complete).<br>
  Obtained from:  pfSense<br>
  Sponsored by:   Rubicon Communications, LLC (Netgate)<br>
That sounds very familiar, and indeed, applying the patch fixed the problem. Luiz explained it well: it's possible to use V_pf_default_rule.timeout before it's initialised, which caused this panic. <br>
To me, this reaffirms the importance of writing good commit messages: because Luiz mentioned both the pf purge thread and the division by zero I was easily able to find the relevant commit. If I hadn't found it this fix would have taken a lot longer. </p>
</blockquote>

<ul>
<li>Next week well look at the more interesting story I was interested in, which I managed to nag Kristof into writing
***</li>
</ul>

<h3><a href="http://dtrace.org/blogs/bmc/2017/09/04/the-sudden-death-and-eternal-life-of-solaris/" target="_blank" rel="nofollow noopener">The sudden death and eternal life of Solaris</a></h3>

<ul>
<li>A blog post from Bryan Cantrill about the death of Solaris</li>
</ul>

<blockquote>
<p>As had been rumored for a while, Oracle effectively killed Solaris. When I first saw this, I had assumed that this was merely a deep cut, but in talking to Solaris engineers still at Oracle, it is clearly much more than that. It is a cut so deep as to be fatal: the core Solaris engineering organization lost on the order of 90% of its people, including essentially all management.<br>
Of note, among the engineers I have spoken with, I heard two things repeatedly: this is the end and (from those who managed to survive Friday) I wish I had been laid off. Gone is any of the optimism (however tepid) that I have heard over the years  and embarrassed apologies for Oracles behavior have been replaced with dismay about the clumsiness, ineptitude and callousness with which this final cut was handled. In particular, that employees who had given their careers to the company were told of their termination via a pre-recorded call  robo-RIFd in the words of one employee  is both despicable and cowardly. To their credit, the engineers affected saw themselves as Sun to the end: they stayed to solve hard, interesting problems and out of allegiance to one another  not out of any loyalty to the broader Oracle. Oracle didnt deserve them and now it doesnt have them  they have been liberated, if in a depraved act of corporate violence.<br>
Assuming that this is indeed the end of Solaris (and it certainly looks that way), it offers a time for reflection. Certainly, the demise of Solaris is at one level not surprising, but on the other hand, its very suddenness highlights the degree to which proprietary software can suffer by the vicissitudes of corporate capriciousness. Vulnerable to executive whims, shareholder demands, and a fickle public, organizations can simply change direction by fiat. And because  in the words of the late, great Roger Faulkner  it is easier to destroy than to create, these changes in direction can have lasting effect when they mean stopping (or even suspending!) work on a project. Indeed, any engineer in any domain with sufficient longevity will have one (or many!) stories of exciting projects being cancelled by foolhardy and myopic management. For software, though, these cancellations can be particularly gutting because (in the proprietary world, anyway) so many of the details of software are carefully hidden from the users of the product  and much of the innovation of a cancelled software project will likely die with the project, living only in the oral tradition of the engineers who knew it. Worse, in the long run  to paraphrase Keynes  proprietary software projects are all dead. However ubiquitous at their height, this lonely fate awaits all proprietary software. <br>
There is, of course, another way  and befitting its idiosyncratic life and death, Solaris shows us this path too: software can be open source. In stark contrast to proprietary software, open source does not  cannot, even  die. Yes, it can be disused or rusty or fusty, but as long as anyone is interested in it at all, it lives and breathes. Even should the interest wane to nothing, open source software survives still: its life as machine may be suspended, but it becomes as literature, waiting to be discovered by a future generation. That is, while proprietary software can die in an instant, open source software perpetually endures by its nature  and thrives by the strength of its communities. Just as the existence of proprietary software can be surprisingly brittle, open source communities can be crazily robust: they can survive neglect, derision, dissent  even sabotage.<br>
In this regard, I speak from experience: from when Solaris was open sourced in 2005, the OpenSolaris community survived all of these things. By the time Oracle bought Sun five years later in 2010, the community had decided that it needed true independence  illumos was born. And, it turns out, illumos was born at exactly the right moment: shortly after illumos was announced, Oracle  in what remains to me a singularly loathsome and cowardly act  silently re-proprietarized Solaris on August 13, 2010. We in illumos were indisputably on our own, and while many outsiders gave us no chance of survival, we ourselves had reason for confidence: after all, open source communities are robust because they are often united not only by circumstance, but by values, and in our case, we as a community never lost our belief in ZFS, Zones, DTrace and myriad other technologies like MDB, FMA and Crossbow.<br>
Indeed, since 2010, illumos has thrived; illumos is not only the repository of record for technologies that have become cross-platform like OpenZFS, but we have also advanced our core technologies considerably, while still maintaining highest standards of quality. Learning some of the mistakes of OpenSolaris, we have a model that allows for downstream innovation, experimentation and differentiation. For example, Joyents SmartOS has always been focused on our need for a cloud hypervisor (causing us to develop big features like hardware virtualization and Linux binary compatibility), and it is now at the heart of a massive buildout for Samsung (who acquired Joyent a little over a year ago). For us at Joyent, the Solaris/illumos/SmartOS saga has been formative in that we have seen both the ill effects of proprietary software and the amazing resilience of open source software  and it very much informed our decision to open source our entire stack in 2014.<br>
Judging merely by its tombstone, the life of Solaris can be viewed as tragic: born out of wedlock between Sun and AT&amp;T and dying at the hands of a remorseless corporate sociopath a quarter century later. And even that may be overstating its longevity: Solaris may not have been truly born until it was made open source, and  certainly to me, anyway  it died the moment it was again made proprietary. But in that shorter life, Solaris achieved the singular: immortality for its revolutionary technologies. So while we can mourn the loss of the proprietary embodiment of Solaris (and we can certainly lament the coarse way in which its technologists were treated!), we can rejoice in the eternal life of its technologies  in illumos and beyond!</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://jcs.org/2017/09/01/thinkpad_x1c" target="_blank" rel="nofollow noopener">OpenBSD on the Lenovo Thinkpad X1 Carbon (5th Gen)</a></h3>

<ul>
<li>Joshua Stein writes about his experiences running OpenBSD on the 5th generation Lenovo Thinkpad X1 Carbon:</li>
</ul>

<blockquote>
<p>ThinkPads have sort of a cult following among OpenBSD developers and users because the hardware is basic and well supported, and the keyboards are great to type on. While no stranger to ThinkPads myself, most of my OpenBSD laptops in recent years have been from various vendors with brand new hardware components that OpenBSD does not yet support. As satisfying as it is to write new kernel drivers or extend existing ones to make that hardware work, it usually leaves me with a laptop that doesn't work very well for a period of months.<br>
After exhausting efforts trying to debug the I2C touchpad interrupts on the Huawei MateBook X (and other 100-Series Intel chipset laptops), I decided to take a break and use something with better OpenBSD support out of the box: the fifth generation Lenovo ThinkPad X1 Carbon.</p>
</blockquote>

<ul>
<li>Hardware</li>
</ul>

<blockquote>
<p>Like most ThinkPads, the X1 Carbon is available in a myriad of different internal configurations. I went with the non-vPro Core i7-7500U (it was the same price as the Core i5 that I normally opt for), 16Gb of RAM, a 256Gb NVMe SSD, and a WQHD display.<br>
This generation of X1 Carbon finally brings a thinner screen bezel, allowing the entire footprint of the laptop to be smaller which is welcome on something with a 14" screen. The X1 now measures 12.7" wide, 8.5" deep, and 0.6" thick, and weighs just 2.6 pounds. While not available at initial launch, Lenovo is now offering a WQHD IPS screen option giving a resolution of 2560x1440. Perhaps more importantly, this display also has much better brightness than the FHD version, something ThinkPads have always struggled with.<br>
On the left side of the laptop are two USB-C ports, a USB-A port, a full-size HDMI port, and a port for the ethernet dongle which, despite some reviews stating otherwise, is not included with the laptop. On the right side is another USB-A port and a headphone jack, along with a fan exhaust grille. On the back is a tray for the micro-SIM card for the optional WWAN device, which also covers the Realtek microSD card reader. The tray requires a paperclip to eject which makes it inconvenient to remove, so I think this microSD card slot is designed to house a card semi-permanently as a backup disk or something.<br>
On the bottom are the two speakers towards the front and an exhaust grille near the center. The four rubber feet are rather plastic feeling, which allows the laptop to slide around on a desk a bit too much for my liking. I wish they were a bit softer to be stickier.<br>
Charging can be done via either of the two USB-C ports on the left, though I wish more vendors would do as Google did on the Chromebook Pixel and provide a port on both sides. This makes it much more convenient to charge when not at one's desk, rather than having to route a cable around to one specific side. The X1 Carbon includes a 65W USB-C PD with a fixed USB-C cable and removable country-specific power cable, which is not very convenient due to its large footprint. I am using an Apple 61W USB-C charger and an Anker cable which charge the X1 fine (unlike HP laptops which only work with HP USB-C chargers).<br>
Wireless connectivity is provided by a removable Intel 8265 802.11a/b/g/n/ac WiFi and Bluetooth 4.1 card. An Intel I219-V chip provides ethernet connectivity and requires an external dongle for the physical cable connection.<br>
The screen hinge is rather tight, making it difficult to open with one hand. The tradeoff is that the screen does not wobble in the least bit when typing.<br>
The fan is silent at idle, and there is no coil whine even under heavy load. During a make -j4 build, the fan noise is reasonable and medium-pitched, rather than a high-pitched whine like on some laptops. The palm rest and keyboard area remain cool during high CPU utilization.<br>
The full-sized keyboard is backlit and offers two levels of adjustment. The keys have a soft surface and a somewhat clicky feel, providing very quiet typing except for certain keys like Enter, Backspace, and Escape. The keyboard has a reported key travel of 1.5mm and there are dedicated Page Up and Page Down keys above the Left and Right arrow keys. Dedicated Home, End, Insert, and Delete keys are along the top row. The Fn key is placed to the left of Control, which some people hate (although Lenovo does provide a BIOS option to swap it), but it's in the same position on Apple keyboards so I'm used to it. However, since there are dedicated Page Up, Page Down, Home, and End keys, I don't really have a use for the Fn key anyway.</p>
</blockquote>

<ul>
<li>Firmware</li>
</ul>

<blockquote>
<p>The X1 Carbon has a very detailed BIOS/firmware menu which can be entered with the F1 key at boot. F12 can be used to temporarily select a different boot device.<br>
A neat feature of the Lenovo BIOS is that it supports showing a custom boot logo instead of the big red Lenovo logo. From Windows, download the latest BIOS Update Utility for the X1 Carbon (my model was 20HR). Run it and it'll extract everything to C:\drivers\flash(some random string). Drop a logo.gif file in that directory and run winuptp.exe. If a logo file is present, it'll ask whether to use it and then write the new BIOS to its staging area, then reboot to actually flash it.</p>

<ul>
<li>OpenBSD support</li>
</ul>

<p>Secure Boot has to be disabled in the BIOS menu, and the "CSM Support" option must be enabled, even when "UEFI/Legacy Boot" is left on "UEFI Only". Otherwise the screen will just go black after the OpenBSD kernel loads into memory.</p>
</blockquote>

<ul>
<li>Based on this component list, it seems like everything but the fingerprint sensor works fine on OpenBSD.
***</li>
</ul>

<h3><a href="https://www.linuxsecrets.com/en/entry/51-freebsd/2017/09/04/2942-configure-5-freebsd-x-environments" target="_blank" rel="nofollow noopener">Configuring 5 different desktop environments on FreeBSD</a></h3>

<ul>
<li>This fairly quick tutorial over at LinuxSecrets.com is a great start if you are new to FreeBSD, especially if you are coming from Linux and miss your favourite desktop environment</li>
<li>It just goes to show how easy it is to build the desktop you want on modern FreeBSD</li>
<li>The tutorial covers: GNOME, KDE, Xfce, Mate, and Cinnamon</li>
<li>The instructions for each boil down to some variation of:</li>
<li>Install the desktop environment and a login manager if it is not included:
&gt; sudo pkg install gnome3</li>
<li>Enable the login manager, and usually dbus and hald:
&gt; sudo sysrc dbus_enable="YES" hald_enable="YES" gdm_enable="YES" gnome_enable="YES"?</li>
<li>If using a generic login manager, add the DE startup command to your .xinitrc:
&gt; echo "exec cinnamon" &gt; ~/.xinitrc </li>
<li>And that is about it. </li>
<li>The tutorial goes into more detail on other configuration you can do to get your desktop just the way you like it.</li>
<li>To install Lumina:
&gt; sudo pkg install lumina pcbsd-utils-qt5</li>
<li>This will install Lumina and the pcbsd utilities package which includes pcdm, the login manager. In the near future we hear the login manager and some of the other utilities will be split into separate packages, making it easier to use them on vanilla FreeBSD.
&gt; sudo sysrc pcdm_enable=YES dbus_enable="YES" hald_enable="YES" </li>
<li>Reboot, and you should be greeted with the graphical login screen
***</li>
</ul>

<h3><a href="https://lwn.net/Articles/732201/" target="_blank" rel="nofollow noopener">A return-oriented programming defense from OpenBSD</a></h3>

<ul>
<li>We talked a bit about RETGUARD last week, presenting Theos email announcing the new feature</li>
<li>Linux Weekly News has a nice breakdown on just how it works</li>
</ul>

<blockquote>
<p>Stack-smashing attacks have a long history; they featured, for example, as a core part of the Morris worm back in 1988. Restrictions on executing code on the stack have, to a great extent, put an end to such simple attacks, but that does not mean that stack-smashing attacks are no longer a threat. Return-oriented programming (ROP) has become a common technique for compromising systems via a stack-smashing vulnerability. There are various schemes out there for defeating ROP attacks, but a mechanism called "RETGUARD" that is being implemented in OpenBSD is notable for its relative simplicity.<br>
In a classic stack-smashing attack, the attack code would be written directly to the stack and executed there. Most modern systems do not allow execution of on-stack code, though, so this kind of attack will be ineffective. The stack does affect code execution, though, in that the call chain is stored there; when a function executes a "return" instruction, the address to return to is taken from the stack. An attacker who can overwrite the stack can, thus, force a function to "return" to an arbitrary location.<br>
That alone can be enough to carry out some types of attacks, but ROP adds another level of sophistication. A search through a body of binary code will turn up a great many short sequences of instructions ending in a return instruction. These sequences are termed "gadgets"; a large program contains enough gadgets to carry out almost any desired task  if they can be strung together into a chain. ROP works by locating these gadgets, then building a series of stack frames so that each gadget "returns" to the next.<br>
There is, of course, a significant limitation here: a ROP chain made up of exclusively polymorphic gadgets will still work, since those gadgets were not (intentionally) created by the compiler and do not contain the return-address-mangling code. De Raadt acknowledged this limitation, but said: "we believe once standard-RET is solved those concerns become easier to address separately in the future. In any case a substantial reduction of gadgets is powerful".<br>
Using the compiler to insert the hardening code greatly eases the task of applying RETGUARD to both the OpenBSD kernel and its user-space code. At least, that is true for code written in a high-level language. Any code written in assembly must be changed by hand, though, which is a fair amount of work. De Raadt and company have done that work; he reports that: "We are at the point where userland and base are fully working without regressions, and the remaining impacts are in a few larger ports which directly access the return address (for a variety of reasons)". It can be expected that, once these final issues are dealt with, OpenBSD will ship with this hardening enabled.</p>
</blockquote>

<ul>
<li>The article wonders about applying the same to Linux, but notes it would be difficult because the Linux kernel cannot currently be compiled using LLVM</li>
</ul>

<blockquote>
<p>If any benchmarks have been run to determine the cost of using RETGUARD, they have not been publicly posted. The extra code will make the kernel a little bigger, and the extra overhead on every function is likely to add up in the end. But if this technique can make the kernel that much harder to exploit, it may well justify the extra execution overhead that it brings with it. All that's needed is somebody to actually do the work and try it out.</p>

<hr>
</blockquote>

<h3><a href="https://www.youtube.com/playlist?list=PLeF8ZihVdpFfVEsCxNWGDmcATJfRZacHv" target="_blank" rel="nofollow noopener">Videos from BSDCan have started to appear!</a></h3>

<ul>
<li><a href="https://www.youtube.com/watch?v=KuHepyI0_KY" target="_blank" rel="nofollow noopener">Henning Brauer: tcp synfloods - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=1DM5SwoXWSU" target="_blank" rel="nofollow noopener">Benno Rice: The Trouble with FreeBSD - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=SCLfKWaUGa8" target="_blank" rel="nofollow noopener">Li-Wen Hsu: Continuous Integration of The FreeBSD Project - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=gkYjvrFvPJ0" target="_blank" rel="nofollow noopener">Andrew Turner: GENERIC ARM - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=sYmW_H6FrWo" target="_blank" rel="nofollow noopener">Bjoern A. Zeeb: From the outside - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=Zf9tDJhoVbA" target="_blank" rel="nofollow noopener">Rodney W. Grimes: FreeBSD as a Service - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=Os9L_sOiTH0" target="_blank" rel="nofollow noopener">Reyk Floeter: The OpenBSD virtual machine daemon - BSDCan 2017</a></li>
<li><a href="https://www.youtube.com/watch?v=NMUf6VGK2fI" target="_blank" rel="nofollow noopener">Brian Kidney: The Realities of DTrace on FreeBSD - BSDCan 2017</a></li>
<li>The rest will continue to trickle out, likely not until after EuroBSDCon
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://meshedinsights.com/2017/09/03/oracle-finally-killed-sun/" target="_blank" rel="nofollow noopener">Oracle has killed sun</a></li>
<li><a href="http://nanxiao.me/en/configure-thunderbird-to-send-patch-friendly/" target="_blank" rel="nofollow noopener">Configure Thunderbird to send patch friendly</a></li>
<li><a href="https://www.freebsd.org/news/newsflash.html#event20170909:01" target="_blank" rel="nofollow noopener">FreeBSD 10.4-BETA4 Available</a></li>
<li><a href="https://www.facebook.com/ixsystems/posts/10155403417921508" target="_blank" rel="nofollow noopener">iXsystems looking to hire kernel and zfs developers (especially Sun/Oracle Refugees)</a></li>
<li><a href="https://unitedbsd.com/" target="_blank" rel="nofollow noopener">Speaking of job postings, UnitedBSD.com has few job postings related to BSD</a></li>
</ul>

<h2>Call for papers</h2>

<ul>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/usenix-fast-18-call-for-papers/" target="_blank" rel="nofollow noopener">USENIX FAST 18 - February 12-15, 2018, Due: September 28 2017</a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/scale-16x-call-for-participation/" target="_blank" rel="nofollow noopener">Scale 16x - March 8-11, 2018, Due: October 31, 2017 </a></li>
<li><a href="https://www.freebsdfoundation.org/news-and-events/call-for-papers/fosdem-18-call-for-participation/" target="_blank" rel="nofollow noopener">FOSDEM 18 - February 3-4, 2018, Due: November 3 2017 </a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/340KRHG" target="_blank" rel="nofollow noopener">Jason asks about cheap router hardware</a></li>
<li><a href="http://dpaste.com/2J7DQQ6" target="_blank" rel="nofollow noopener">Prashant asks about latest kernels with freebsd-update</a></li>
<li><a href="http://dpaste.com/1H5SZ81" target="_blank" rel="nofollow noopener">Matt wants know about VM Performance &amp; CPU Steal Time</a></li>
<li><a href="http://dpaste.com/0X770SY" target="_blank" rel="nofollow noopener">John has config questions regarding Dell precision 7720, FreeBSD, NVME, and ZFS</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>211: It's HAMMER2 Time!</title>
  <link>https://www.bsdnow.tv/211</link>
  <guid isPermaLink="false">ad97fd5d-79ef-479e-bdc4-e4510ca8e241</guid>
  <pubDate>Wed, 13 Sep 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/ad97fd5d-79ef-479e-bdc4-e4510ca8e241.mp3" length="88353364" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We explore whether a BSD can replicate Cisco router performance; RETGUARD, OpenBSDs new exploit mitigation technology, Dragonfly’s HAMMER2 filesystem implementation &amp; more!</itunes:subtitle>
  <itunes:duration>2:02:42</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>&lt;p&gt;We explore whether a BSD can replicate Cisco router performance; RETGUARD, OpenBSDs new exploit mitigation technology, Dragonfly’s HAMMER2 filesystem implementation &amp;amp; more!&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.reddit.com/r/networking/comments/6upchy/can_a_bsd_system_replicate_the_performance_of/" target="_blank" rel="nofollow noopener"&gt;Can a BSD system replicate the performance of a Cisco router?&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Short Answer: No, but it might be good enough for what you need&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Traditionally routers were built with a tightly coupled data plane and control plane. Back in the 80s and 90s the data plane was running in software on commodity CPUs with proprietary software. As the needs and desires for more speeds and feeds grew, the data plane had to be implemented in ASICs and FPGAs with custom memories and TCAMs. While these were still programmable in a sense, they certainly weren't programmable by anyone but a small handful of people who developed the hardware platform. The data plane was often layered, where features not handled by the hardware data plane were punted to a software only data path running on a more general CPU. The performance difference between the two were typically an order or two of magnitude. &lt;a href="https://fd.io/wp-content/uploads/sites/34/2017/07/FDioVPPwhitepaperJuly2017.pdf" target="_blank" rel="nofollow noopener"&gt;source&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Except for encryption (e.g. IPsec) or IDS/IPS, the true measure of router performance is packets forwarded per unit time. This is normally expressed as Packets-per-second, or PPS. To 'line-rate' forward on a 1gbps interface, you must be able to forward packets at 1.488 million pps (Mpps). To forward at "line-rate" between 10Gbps interfaces, you must be able to forward at 14.88Mpps.&lt;br&gt;
Even on large hardware, kernel-forwarding is limited to speeds that top out below 2Mpps. George Neville-Neil and I did a couple papers on this back in 2014/2015. You can read &lt;a href="https://github.com/freebsd-net/netperf/blob/master/Documentation/Papers/ABSDCon2015Paper.pdf" target="_blank" rel="nofollow noopener"&gt;the papers&lt;/a&gt; for the results.&lt;/p&gt;

&lt;p&gt;However, once you export the code from the kernel, things start to improve. There are a few open source code bases that show the potential of kernel-bypass networking for building a software-based router. The first of these is netmap-fwd which is the FreeBSD ip_forward() code hosted on top of netmap, a kernel-bypass technology present in FreeBSD (and available for linux). Full-disclosure, netmap-fwd was done at my company, Netgate. netmap-fwd will l3 forward around 5 Mpps per core. &lt;a href="https://github.com/Netgate/netmap-fwd/blob/master/netmap-fwd.pdf" target="_blank" rel="nofollow noopener"&gt;slides&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first of these is &lt;a href="https://github.com/Netgate/netmap-fwd" target="_blank" rel="nofollow noopener"&gt;netmap-fwd&lt;/a&gt; which is the FreeBSD ip_forward() code hosted on top of &lt;a href="https://github.com/luigirizzo/netmap" target="_blank" rel="nofollow noopener"&gt;netmap&lt;/a&gt;, a kernel-bypass technology present in FreeBSD (and available for linux). Full-disclosure, netmap-fwd was done at my company, Netgate. (And by "my company" I mean that I co-own it with my spouse.). netmap-fwd will l3 forward around 5 Mpps per core. &lt;a href="https://github.com/Netgate/netmap-fwd/blob/master/netmap-fwd.pdf" target="_blank" rel="nofollow noopener"&gt;slides&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nanako Momiyama of the Keio Univ Tokuda Lab presented on &lt;a href="https://www.bsdcan.org/2017/schedule/events/823.en.html" target="_blank" rel="nofollow noopener"&gt;IP Forwarding Fastpath&lt;/a&gt; at BSDCan this past May. She got about 5.6Mpps (roughly 10% faster than netmap-fwd) using a similar approach where the ip_foward() function was rewritten as a module for VALE (the netmap-based in-kernel switch). &lt;a href="https://2016.eurobsdcon.org/PresentationSlides/NanakoMomiyama_TowardsFastIPForwarding.pdf" target="_blank" rel="nofollow noopener"&gt;Slides&lt;/a&gt; from her previous talk at EuroBSDCon 2016 are available. (Speed at the time was 2.8Mpps.). Also a &lt;a href="https://www.ht.sfc.keio.ac.jp/%7Enanako/conext17-sw.pdf" target="_blank" rel="nofollow noopener"&gt;paper&lt;/a&gt; from that effort, if you want to read it. Of note: They were showing around 1.6Mpps even after replacing the in-kernel routing lookup algorithm with DXR. (DXR was written by Luigi Rizzo, who is also the primary author of netmap.)&lt;/p&gt;

&lt;p&gt;Not too long after netmap-fwd was open sourced, Ghandi announced packet-journey, an application based on drivers and libraries and from DPDK. Packet-journey is also an L3 router. The GitHub page for packet-journey lists performance as 21,773.47 mbps (so 21.77Gbps) for 64-byte UDP frames with 50 ACLs and 500,000 routes. Since they're using 64-byte frames, this translates to roughly 32.4Mpps.&lt;br&gt;
Finally, there is recent work in FreeBSD (which is part of 11.1-RELEASE) that gets performance up to 2x the level of netmap-fwd or the work by Nanako Momiyama. 10 million PPS: &lt;a href="http://blog.cochard.me/2015/09/receipt-for-building-10mpps-freebsd.html" target="_blank" rel="nofollow noopener"&gt;Here&lt;/a&gt; is a decent introduction.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;But of course, even as FreeBSD gets up to being able to do 10gbps at line-rate, 40 and 100 gigabits are not uncommon now&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Even with the fastest modern CPUs, this is very little time to do any kind of meaningful packet processing. At 10Gbps, your total budget per packet, to receive (Rx) the packet, process the packet, and transmit (Tx) the packet is 67.2 ns. Complicating the task is the simple fact that main memory (RAM) is 70 ns away. The simple conclusion here is that, even at 10Gbps, if you have to hit RAM, you can't generate the PPS required for line-rate forwarding.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;There is some detail about design tradeoffs in the Ryzen architecture and how that might impact using those machines as routers&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Anyway... those are all interesting, but the natural winner here is FD.io's Vector Packet Processing (VPP). &lt;a href="http://blogs.cisco.com/sp/a-bigger-helping-of-internet-please" target="_blank" rel="nofollow noopener"&gt;Read this&lt;/a&gt;&lt;br&gt;
VPP is an efficient, flexible open source data plane. It consists of a set of forwarding nodes arranged in a directed graph and a supporting framework. The framework has all the basic data structures, timers, drivers (and interfaces to both DPDK and netmap), a scheduler which allocates the CPU time between the graph nodes, performance and debugging tools, like counters and built-in packet trace. The latter allows you to capture the paths taken by the packets within the graph with high timestamp granularity, giving full insight into the processing on a per-packet level.&lt;br&gt;
The net result here is that Cisco (again, Cisco) has shown the ability to route packets at 1 Tb/s using VPP on a four socket Purley system&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;There is also much discussion of the future of pfSense, as they transition to using VPP&lt;/li&gt;
&lt;li&gt;This is a very lengthy write up which deserves a full read, plus there are some comments from other people
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=150317547021396&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;RETGUARD, the OpenBSD next level in exploit mitigation, is about to debut&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This year I went to BSDCAN in Ottawa.  I spent much of it in the 'hallway track', and had an extended conversation with various people regarding our existing security mitigations and hopes for new ones in the future.  I spoke a lot with Todd Mortimer.  Apparently I told him that I felt return-address protection was impossible, so a few weeks later he sent a clang diff to address that issue...&lt;br&gt;
The first diff is for amd64 and i386 only -- in theory RISC architectures can follow this approach soon.&lt;br&gt;
The mechanism is like a userland 'stackghost' in the function prologue and epilogue.  The preamble XOR's the return address at top of stack with the stack pointer value itself.  This perturbs by introducing bits from ASLR.  The function epilogue undoes the transform immediately before the RET instruction.  ROP attack methods are impacted because existing gadgets are transformed to consist of "  RET".  That pivots the return sequence off the ROP chain in a highly unpredictable and inconvenient fashion.&lt;br&gt;
The compiler diff handles this for all the C code, but the assembly functions have to be done by hand.  I did this work first for amd64, and more recently for i386.  I've fixed most of the functions and only a handful of complex ones remain.&lt;br&gt;
For those who know about polymorphism and pop/jmp or JOP, we believe once standard-RET is solved those concerns become easier to address seperately in the future.  In any case a substantial reduction of gadgets is powerful.&lt;br&gt;
For those worried about introducing worse polymorphism with these "xor; ret" epilogues themselves, the nested gadgets for 64bit and 32bit variations are +1 "xor %esp,(%rsp); ret", +2 "and $0x24,%al; ret" and +3 "and $0xc3,%al; int3".  Not bad.&lt;br&gt;
Over the last two weeks, we have received help and advice to ensure debuggers (gdb, egdb, ddb, lldb) can still handle these transformed callframes.  Also in the kernel, we discovered we must use a smaller XOR, because otherwise userland addresses are generated, and cannot rely on SMEP as it is really new feature of the architecture.  There were also issues with pthreads and dlsym, which leads to a series of uplifts around __builtin_return_address and DWARF CFI.&lt;br&gt;
Application of this diff doesn't require anything special, a system can simply be built twice.  Or shortcut by building &amp;amp; installing gnu/usr.bin/clang first, then a full build.&lt;br&gt;
We are at the point where userland and base are fully working without regressions, and the remaining impacts are in a few larger ports which directly access the return address (for a variety of reasons).&lt;br&gt;
So work needs to continue with handling the RET-addr swizzle in those ports, and then we can move forward.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;You can find the full message with the diff &lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=150317547021396&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Interview - Ed Maste, Charlie &amp;amp; Siva - &lt;a href="https://twitter.com/ed_maste" target="_blank" rel="nofollow noopener"&gt;@ed_maste&lt;/a&gt;, &lt;a href="https://twitter.com/yzgyyang" target="_blank" rel="nofollow noopener"&gt;@yzgyyang&lt;/a&gt; &amp;amp; &lt;a href="https://twitter.com/svmhdvn" target="_blank" rel="nofollow noopener"&gt;@svmhdvn&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Co-op Students for the FreeBSD Foundation
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2017-August/313558.html" target="_blank" rel="nofollow noopener"&gt;Next DFly release will have an initial HAMMER2 implementation&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The next DragonFly release (probably in September some time) will have an initial HAMMER2 implementation.  It WILL be considered experimental and won't be an installer option yet.  This initial release will only have single-image support operational plus basic features.  It will have live dedup (for cp's), compression, fast recovery, snapshot, and boot support out of the gate.&lt;br&gt;
This first H2 release will not have clustering or multi-volume support, so don't expect those features to work.  I may be able to get bulk dedup and basic mirroring operational by release time, but it won't be very efficient.  Also, right now, sync operations are fairly expensive and will stall modifying operations to some degree during the flush, and there is no reblocking (yet).  The allocator has a 16KB granularity (on HAMMER1 it was 2MB), so for testing purposes it will still work fairly well even without reblocking.&lt;br&gt;
The design is in a good place.  I'm quite happy with how the physical layout turned out.  Allocations down to 1KB are supported.  The freemap has a 16KB granularity with a linear counter (one counter per 512KB) for packing smaller allocations.  INodes are 1KB and can directly embed 512 bytes of file data for files &amp;lt;= 512 bytes, or have four top-level blockrefs for files &amp;gt; 512 bytes.  The freemap is also zoned by type for I/O locality.&lt;br&gt;
The blockrefs are 'fat' at 128 bytes but enormously powerful.  That will allow us to ultimately support up to a 512-bit crypto hash and blind dedup using said hash.  Not on release, but that's the plan.&lt;br&gt;
I came up with an excellent solution for directory entries.  The 1KB allocation granularity was a bit high but I didn't want to reduce it. However, because blockrefs are now 128 byte entities, and directory entries are hashed just like in H1, I was able to code them such that a directory entry is embedded in the blockref itself and does not require a separate data reference or allocation beyond that.  Filenames up to 64 bytes long can be accomodated in the blockref using the check-code area of the blockref.  Longer filenames will use an additional data reference hanging off the blockref to accomodate up to 255 char filenames.  Of course, a minimum of 1KB will have to be allocated in that case, but filenames are &amp;lt;= 64 bytes in the vast majority of use cases so it just isn't an issue.&lt;br&gt;
This gives directory entries optimal packing and indexing and is a huge win in terms of performance since blockrefs are arrayed in 16KB and 64KB blocks.  In addition, since inodes can embed up to four blockrefs, the directory entries for 'small' directories with &amp;lt;= 4 entries ('.' and '..' don't count) can actually be embedded in the directory inode itself.&lt;br&gt;
So, generally speaking, the physical layout is in a very happy place.  The basics are solid on my test boxes so it's now a matter of implementing as many of the more sophisticated features as I can before release, and continuing to work on the rest after the release.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.openssl.org/blog/blog/2017/06/17/code-removal/" target="_blank" rel="nofollow noopener"&gt;Removing Some Code&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This is another update on our effort to re-license the OpenSSL software. Our previous post in March was about the launch of our effort to reach all contributors, with the hope that they would support this change.&lt;br&gt;
So far, about 40% of the people have responded. For a project that is as old as OpenSSL (including its predecessor, SSLeay, it’s around 20 years) that’s not bad. We’ll be continuing our efforts over the next couple of months to contact everyone.&lt;br&gt;
Of those people responding, the vast majority have been in favor of the license change – less then a dozen objected. This post describes what we’re doing about those and how we came to our conclusions. The goal is to be very transparent and open with our processes.&lt;br&gt;
First, we want to mention that we respect their decision. While it is inconvenient to us, we acknowledge their rights to keep their code under the terms that they originally agreed to. We are asking permission to change the license terms, and it is fully within their rights to say no.&lt;br&gt;
The license website is driven by scripts that are freely available in the license section of our tools repository on GitHub. When we started, we imported every single git commit, looked for anything that resembled an email address, and created tables for each commit, each user we found, and a log that connects users to commits. This did find false positives: sometimes email Message-ID’s showed up, and there were often mentions of folks just as a passing side-comment, or because they were in the context diff. (That script is also in the tools repository, of course.)&lt;br&gt;
The user table also has columns to record approval or rejection of the license change, and comments. Most of the comments have been supportive, and (a bit surprisingly) only one or two were obscene.&lt;br&gt;
The whattoremove script finds the users who refused, and all commits they were named in. We then examined each commit – there were 86 in all – and filtered out those that were cherry-picks to other releases. We are planning on only changing the license for the master branch, so the other releases branches aren’t applicable. There were also some obvious false positives. At the end of this step, we had 43 commits to review.&lt;br&gt;
We then re-read every single commit, looking for what we could safely ignore as not relevant. We found the following:&lt;br&gt;
Nine of them showed up only because the person was mentioned in a comment.&lt;br&gt;
Sixteen of them were changes to the OpenBSD configuration data. The OpenSSL team had completely rewritten this, refactoring all BSD configurations into a common hierarchy, and the config stuff changed a great deal for 1.1.0.&lt;br&gt;
Seven were not copyrightable as because they were minimal changes (e.g., fixing a typo in a comment).&lt;br&gt;
One was a false positive.&lt;br&gt;
This left us with 10 commits. Two of them them were about the CryptoDev engine. We are removing that engine, as can be seen in this PR, but we expect to have a replacement soon (for at least Linux and FreeBSD). As for the other commits, we are removing that code, as can be seen in this first PR. and this second PR. Fortunately, none of them are particularly complex.&lt;br&gt;
Copyright, however, is a complex thing – at times it makes debugging look simple. If there is only one way to write something, then that content isn’t copyrightable. If the work is very small, such as a one-line patch, then it isn’t copyrightable. We aren’t lawyers, and have no wish to become such, but those viewpoints are valid. It is not official legal advice, however.&lt;br&gt;
For the next step, we hope that we will be able to “put back” the code that we removed. We are looking to the community for help, and encourage you to create the appropriate GitHub pull requests. We ask the community to look at that second PR and provide fixes.&lt;br&gt;
And finally, we ask everyone to look at the list of authors and see if their name, or the name of anyone they know, is listed. If so please email us.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170821133453" target="_blank" rel="nofollow noopener"&gt;deraadt@ moves us to 6.2-beta!&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Theo has just committed the diff that marks the end of the development cycle and the beginning of the testing phase for the upcoming 6.2 release:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;`&lt;br&gt;
CVSROOT:        /cvs&lt;br&gt;&lt;br&gt;
Module name:    src&lt;br&gt;&lt;br&gt;
Changes by:     &lt;a href="mailto:deraadt@cvs.openbsd.org" target="_blank" rel="nofollow noopener"&gt;deraadt@cvs.openbsd.org&lt;/a&gt; 2017/08/20 10:56:43                                               &lt;/p&gt;

&lt;p&gt;Modified files:&lt;br&gt;&lt;br&gt;
        etc/root       : root.mail&lt;br&gt;&lt;br&gt;
        share/mk       : sys.mk&lt;br&gt;&lt;br&gt;
        sys/arch/macppc/stand/tbxidata: bsd.tbxi&lt;br&gt;&lt;br&gt;
        sys/conf       : newvers.sh&lt;br&gt;&lt;br&gt;
        sys/sys        : param.h&lt;br&gt;&lt;br&gt;
Log message:&lt;br&gt;&lt;br&gt;
crank to 6.2-beta&lt;br&gt;&lt;br&gt;
`&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You all know what this means: get to testing! Find whatever hardware you have and install the latest snapshots, stress the upgrade procedure, play your favorite games, build your own code - whatever you use OpenBSD for, try it in the new snaps and report any problems you find. Your testing efforts will help make sure 6.2 is another great release!&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.soldierx.com/news/64-Hijacked-ARMs" target="_blank" rel="nofollow noopener"&gt;64 Hijacked ARMs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170817195416" target="_blank" rel="nofollow noopener"&gt;Smartisan Makes Another Iridium Donation to the OpenBSD Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Keltounet/status/898092662657560576" target="_blank" rel="nofollow noopener"&gt;Andrey A. Chernov (ache), long-time FreeBSD core team member and dev, has passed away&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dugsong/status/897338038212276224" target="_blank" rel="nofollow noopener"&gt;OpenBSD hacker Mickey Shalayeff has passed away&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/news/newsflash.html#event20170819:01" target="_blank" rel="nofollow noopener"&gt;FreeBSD 10.4-BETA1 Available&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://asciinema.org/a/M8sjN0FC64JPBWZqjKIG5sx2q" target="_blank" rel="nofollow noopener"&gt;vmadm in action, from getting a dataset to running a jail w/ vnet networking in just a few commands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://garbage.fm/episodes/41" target="_blank" rel="nofollow noopener"&gt;Interview with Patrick Wildt (from t2k17 OpenBSD Hackathon)&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Seth - &lt;a href="http://dpaste.com/0F2382X" target="_blank" rel="nofollow noopener"&gt;Switching to tarsnap&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Johnny - &lt;a href="http://dpaste.com/1F576QS" target="_blank" rel="nofollow noopener"&gt;memcmp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Thomas - &lt;a href="http://dpaste.com/0F9QSZZ" target="_blank" rel="nofollow noopener"&gt;Drives and NAS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ben - &lt;a href="http://dpaste.com/1Z6CFWE" target="_blank" rel="nofollow noopener"&gt;Nvidia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;David - &lt;a href="http://dpaste.com/0B23QZB" target="_blank" rel="nofollow noopener"&gt;ZFS performance variations over nfs&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We explore whether a BSD can replicate Cisco router performance; RETGUARD, OpenBSDs new exploit mitigation technology, Dragonflys HAMMER2 filesystem implementation &amp; more!</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.reddit.com/r/networking/comments/6upchy/can_a_bsd_system_replicate_the_performance_of/" target="_blank" rel="nofollow noopener">Can a BSD system replicate the performance of a Cisco router?</a></h3>

<ul>
<li>Short Answer: No, but it might be good enough for what you need</li>
</ul>

<blockquote>
<p>Traditionally routers were built with a tightly coupled data plane and control plane. Back in the 80s and 90s the data plane was running in software on commodity CPUs with proprietary software. As the needs and desires for more speeds and feeds grew, the data plane had to be implemented in ASICs and FPGAs with custom memories and TCAMs. While these were still programmable in a sense, they certainly weren't programmable by anyone but a small handful of people who developed the hardware platform. The data plane was often layered, where features not handled by the hardware data plane were punted to a software only data path running on a more general CPU. The performance difference between the two were typically an order or two of magnitude. <a href="https://fd.io/wp-content/uploads/sites/34/2017/07/FDioVPPwhitepaperJuly2017.pdf" target="_blank" rel="nofollow noopener">source</a></p>

<p>Except for encryption (e.g. IPsec) or IDS/IPS, the true measure of router performance is packets forwarded per unit time. This is normally expressed as Packets-per-second, or PPS. To 'line-rate' forward on a 1gbps interface, you must be able to forward packets at 1.488 million pps (Mpps). To forward at "line-rate" between 10Gbps interfaces, you must be able to forward at 14.88Mpps.<br>
Even on large hardware, kernel-forwarding is limited to speeds that top out below 2Mpps. George Neville-Neil and I did a couple papers on this back in 2014/2015. You can read <a href="https://github.com/freebsd-net/netperf/blob/master/Documentation/Papers/ABSDCon2015Paper.pdf" target="_blank" rel="nofollow noopener">the papers</a> for the results.</p>

<p>However, once you export the code from the kernel, things start to improve. There are a few open source code bases that show the potential of kernel-bypass networking for building a software-based router. The first of these is netmap-fwd which is the FreeBSD ip_forward() code hosted on top of netmap, a kernel-bypass technology present in FreeBSD (and available for linux). Full-disclosure, netmap-fwd was done at my company, Netgate. netmap-fwd will l3 forward around 5 Mpps per core. <a href="https://github.com/Netgate/netmap-fwd/blob/master/netmap-fwd.pdf" target="_blank" rel="nofollow noopener">slides</a></p>

<p>The first of these is <a href="https://github.com/Netgate/netmap-fwd" target="_blank" rel="nofollow noopener">netmap-fwd</a> which is the FreeBSD ip_forward() code hosted on top of <a href="https://github.com/luigirizzo/netmap" target="_blank" rel="nofollow noopener">netmap</a>, a kernel-bypass technology present in FreeBSD (and available for linux). Full-disclosure, netmap-fwd was done at my company, Netgate. (And by "my company" I mean that I co-own it with my spouse.). netmap-fwd will l3 forward around 5 Mpps per core. <a href="https://github.com/Netgate/netmap-fwd/blob/master/netmap-fwd.pdf" target="_blank" rel="nofollow noopener">slides</a></p>

<p>Nanako Momiyama of the Keio Univ Tokuda Lab presented on <a href="https://www.bsdcan.org/2017/schedule/events/823.en.html" target="_blank" rel="nofollow noopener">IP Forwarding Fastpath</a> at BSDCan this past May. She got about 5.6Mpps (roughly 10% faster than netmap-fwd) using a similar approach where the ip_foward() function was rewritten as a module for VALE (the netmap-based in-kernel switch). <a href="https://2016.eurobsdcon.org/PresentationSlides/NanakoMomiyama_TowardsFastIPForwarding.pdf" target="_blank" rel="nofollow noopener">Slides</a> from her previous talk at EuroBSDCon 2016 are available. (Speed at the time was 2.8Mpps.). Also a <a href="https://www.ht.sfc.keio.ac.jp/%7Enanako/conext17-sw.pdf" target="_blank" rel="nofollow noopener">paper</a> from that effort, if you want to read it. Of note: They were showing around 1.6Mpps even after replacing the in-kernel routing lookup algorithm with DXR. (DXR was written by Luigi Rizzo, who is also the primary author of netmap.)</p>

<p>Not too long after netmap-fwd was open sourced, Ghandi announced packet-journey, an application based on drivers and libraries and from DPDK. Packet-journey is also an L3 router. The GitHub page for packet-journey lists performance as 21,773.47 mbps (so 21.77Gbps) for 64-byte UDP frames with 50 ACLs and 500,000 routes. Since they're using 64-byte frames, this translates to roughly 32.4Mpps.<br>
Finally, there is recent work in FreeBSD (which is part of 11.1-RELEASE) that gets performance up to 2x the level of netmap-fwd or the work by Nanako Momiyama. 10 million PPS: <a href="http://blog.cochard.me/2015/09/receipt-for-building-10mpps-freebsd.html" target="_blank" rel="nofollow noopener">Here</a> is a decent introduction.</p>
</blockquote>

<ul>
<li>But of course, even as FreeBSD gets up to being able to do 10gbps at line-rate, 40 and 100 gigabits are not uncommon now</li>
</ul>

<blockquote>
<p>Even with the fastest modern CPUs, this is very little time to do any kind of meaningful packet processing. At 10Gbps, your total budget per packet, to receive (Rx) the packet, process the packet, and transmit (Tx) the packet is 67.2 ns. Complicating the task is the simple fact that main memory (RAM) is 70 ns away. The simple conclusion here is that, even at 10Gbps, if you have to hit RAM, you can't generate the PPS required for line-rate forwarding.</p>
</blockquote>

<ul>
<li>There is some detail about design tradeoffs in the Ryzen architecture and how that might impact using those machines as routers</li>
</ul>

<blockquote>
<p>Anyway... those are all interesting, but the natural winner here is FD.io's Vector Packet Processing (VPP). <a href="http://blogs.cisco.com/sp/a-bigger-helping-of-internet-please" target="_blank" rel="nofollow noopener">Read this</a><br>
VPP is an efficient, flexible open source data plane. It consists of a set of forwarding nodes arranged in a directed graph and a supporting framework. The framework has all the basic data structures, timers, drivers (and interfaces to both DPDK and netmap), a scheduler which allocates the CPU time between the graph nodes, performance and debugging tools, like counters and built-in packet trace. The latter allows you to capture the paths taken by the packets within the graph with high timestamp granularity, giving full insight into the processing on a per-packet level.<br>
The net result here is that Cisco (again, Cisco) has shown the ability to route packets at 1 Tb/s using VPP on a four socket Purley system</p>
</blockquote>

<ul>
<li>There is also much discussion of the future of pfSense, as they transition to using VPP</li>
<li>This is a very lengthy write up which deserves a full read, plus there are some comments from other people
***</li>
</ul>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=150317547021396&amp;w=2" target="_blank" rel="nofollow noopener">RETGUARD, the OpenBSD next level in exploit mitigation, is about to debut</a></h3>

<blockquote>
<p>This year I went to BSDCAN in Ottawa.  I spent much of it in the 'hallway track', and had an extended conversation with various people regarding our existing security mitigations and hopes for new ones in the future.  I spoke a lot with Todd Mortimer.  Apparently I told him that I felt return-address protection was impossible, so a few weeks later he sent a clang diff to address that issue...<br>
The first diff is for amd64 and i386 only -- in theory RISC architectures can follow this approach soon.<br>
The mechanism is like a userland 'stackghost' in the function prologue and epilogue.  The preamble XOR's the return address at top of stack with the stack pointer value itself.  This perturbs by introducing bits from ASLR.  The function epilogue undoes the transform immediately before the RET instruction.  ROP attack methods are impacted because existing gadgets are transformed to consist of "  RET".  That pivots the return sequence off the ROP chain in a highly unpredictable and inconvenient fashion.<br>
The compiler diff handles this for all the C code, but the assembly functions have to be done by hand.  I did this work first for amd64, and more recently for i386.  I've fixed most of the functions and only a handful of complex ones remain.<br>
For those who know about polymorphism and pop/jmp or JOP, we believe once standard-RET is solved those concerns become easier to address seperately in the future.  In any case a substantial reduction of gadgets is powerful.<br>
For those worried about introducing worse polymorphism with these "xor; ret" epilogues themselves, the nested gadgets for 64bit and 32bit variations are +1 "xor %esp,(%rsp); ret", +2 "and $0x24,%al; ret" and +3 "and $0xc3,%al; int3".  Not bad.<br>
Over the last two weeks, we have received help and advice to ensure debuggers (gdb, egdb, ddb, lldb) can still handle these transformed callframes.  Also in the kernel, we discovered we must use a smaller XOR, because otherwise userland addresses are generated, and cannot rely on SMEP as it is really new feature of the architecture.  There were also issues with pthreads and dlsym, which leads to a series of uplifts around __builtin_return_address and DWARF CFI.<br>
Application of this diff doesn't require anything special, a system can simply be built twice.  Or shortcut by building &amp; installing gnu/usr.bin/clang first, then a full build.<br>
We are at the point where userland and base are fully working without regressions, and the remaining impacts are in a few larger ports which directly access the return address (for a variety of reasons).<br>
So work needs to continue with handling the RET-addr swizzle in those ports, and then we can move forward.</p>
</blockquote>

<ul>
<li>You can find the full message with the diff <a href="https://marc.info/?l=openbsd-tech&amp;m=150317547021396&amp;w=2" target="_blank" rel="nofollow noopener">here</a>
***</li>
</ul>

<h2>Interview - Ed Maste, Charlie &amp; Siva - <a href="https://twitter.com/ed_maste" target="_blank" rel="nofollow noopener">@ed_maste</a>, <a href="https://twitter.com/yzgyyang" target="_blank" rel="nofollow noopener">@yzgyyang</a> &amp; <a href="https://twitter.com/svmhdvn" target="_blank" rel="nofollow noopener">@svmhdvn</a></h2>

<ul>
<li>Co-op Students for the FreeBSD Foundation
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://lists.dragonflybsd.org/pipermail/users/2017-August/313558.html" target="_blank" rel="nofollow noopener">Next DFly release will have an initial HAMMER2 implementation</a></h3>

<blockquote>
<p>The next DragonFly release (probably in September some time) will have an initial HAMMER2 implementation.  It WILL be considered experimental and won't be an installer option yet.  This initial release will only have single-image support operational plus basic features.  It will have live dedup (for cp's), compression, fast recovery, snapshot, and boot support out of the gate.<br>
This first H2 release will not have clustering or multi-volume support, so don't expect those features to work.  I may be able to get bulk dedup and basic mirroring operational by release time, but it won't be very efficient.  Also, right now, sync operations are fairly expensive and will stall modifying operations to some degree during the flush, and there is no reblocking (yet).  The allocator has a 16KB granularity (on HAMMER1 it was 2MB), so for testing purposes it will still work fairly well even without reblocking.<br>
The design is in a good place.  I'm quite happy with how the physical layout turned out.  Allocations down to 1KB are supported.  The freemap has a 16KB granularity with a linear counter (one counter per 512KB) for packing smaller allocations.  INodes are 1KB and can directly embed 512 bytes of file data for files &lt;= 512 bytes, or have four top-level blockrefs for files &gt; 512 bytes.  The freemap is also zoned by type for I/O locality.<br>
The blockrefs are 'fat' at 128 bytes but enormously powerful.  That will allow us to ultimately support up to a 512-bit crypto hash and blind dedup using said hash.  Not on release, but that's the plan.<br>
I came up with an excellent solution for directory entries.  The 1KB allocation granularity was a bit high but I didn't want to reduce it. However, because blockrefs are now 128 byte entities, and directory entries are hashed just like in H1, I was able to code them such that a directory entry is embedded in the blockref itself and does not require a separate data reference or allocation beyond that.  Filenames up to 64 bytes long can be accomodated in the blockref using the check-code area of the blockref.  Longer filenames will use an additional data reference hanging off the blockref to accomodate up to 255 char filenames.  Of course, a minimum of 1KB will have to be allocated in that case, but filenames are &lt;= 64 bytes in the vast majority of use cases so it just isn't an issue.<br>
This gives directory entries optimal packing and indexing and is a huge win in terms of performance since blockrefs are arrayed in 16KB and 64KB blocks.  In addition, since inodes can embed up to four blockrefs, the directory entries for 'small' directories with &lt;= 4 entries ('.' and '..' don't count) can actually be embedded in the directory inode itself.<br>
So, generally speaking, the physical layout is in a very happy place.  The basics are solid on my test boxes so it's now a matter of implementing as many of the more sophisticated features as I can before release, and continuing to work on the rest after the release.</p>

<hr>
</blockquote>

<h3><a href="https://www.openssl.org/blog/blog/2017/06/17/code-removal/" target="_blank" rel="nofollow noopener">Removing Some Code</a></h3>

<blockquote>
<p>This is another update on our effort to re-license the OpenSSL software. Our previous post in March was about the launch of our effort to reach all contributors, with the hope that they would support this change.<br>
So far, about 40% of the people have responded. For a project that is as old as OpenSSL (including its predecessor, SSLeay, its around 20 years) thats not bad. Well be continuing our efforts over the next couple of months to contact everyone.<br>
Of those people responding, the vast majority have been in favor of the license change  less then a dozen objected. This post describes what were doing about those and how we came to our conclusions. The goal is to be very transparent and open with our processes.<br>
First, we want to mention that we respect their decision. While it is inconvenient to us, we acknowledge their rights to keep their code under the terms that they originally agreed to. We are asking permission to change the license terms, and it is fully within their rights to say no.<br>
The license website is driven by scripts that are freely available in the license section of our tools repository on GitHub. When we started, we imported every single git commit, looked for anything that resembled an email address, and created tables for each commit, each user we found, and a log that connects users to commits. This did find false positives: sometimes email Message-IDs showed up, and there were often mentions of folks just as a passing side-comment, or because they were in the context diff. (That script is also in the tools repository, of course.)<br>
The user table also has columns to record approval or rejection of the license change, and comments. Most of the comments have been supportive, and (a bit surprisingly) only one or two were obscene.<br>
The whattoremove script finds the users who refused, and all commits they were named in. We then examined each commit  there were 86 in all  and filtered out those that were cherry-picks to other releases. We are planning on only changing the license for the master branch, so the other releases branches arent applicable. There were also some obvious false positives. At the end of this step, we had 43 commits to review.<br>
We then re-read every single commit, looking for what we could safely ignore as not relevant. We found the following:<br>
Nine of them showed up only because the person was mentioned in a comment.<br>
Sixteen of them were changes to the OpenBSD configuration data. The OpenSSL team had completely rewritten this, refactoring all BSD configurations into a common hierarchy, and the config stuff changed a great deal for 1.1.0.<br>
Seven were not copyrightable as because they were minimal changes (e.g., fixing a typo in a comment).<br>
One was a false positive.<br>
This left us with 10 commits. Two of them them were about the CryptoDev engine. We are removing that engine, as can be seen in this PR, but we expect to have a replacement soon (for at least Linux and FreeBSD). As for the other commits, we are removing that code, as can be seen in this first PR. and this second PR. Fortunately, none of them are particularly complex.<br>
Copyright, however, is a complex thing  at times it makes debugging look simple. If there is only one way to write something, then that content isnt copyrightable. If the work is very small, such as a one-line patch, then it isnt copyrightable. We arent lawyers, and have no wish to become such, but those viewpoints are valid. It is not official legal advice, however.<br>
For the next step, we hope that we will be able to put back the code that we removed. We are looking to the community for help, and encourage you to create the appropriate GitHub pull requests. We ask the community to look at that second PR and provide fixes.<br>
And finally, we ask everyone to look at the list of authors and see if their name, or the name of anyone they know, is listed. If so please email us.</p>

<hr>
</blockquote>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170821133453" target="_blank" rel="nofollow noopener">deraadt@ moves us to 6.2-beta!</a></h3>

<blockquote>
<p>Theo has just committed the diff that marks the end of the development cycle and the beginning of the testing phase for the upcoming 6.2 release:</p>
</blockquote>

<p>`<br>
CVSROOT:        /cvs<br><br>
Module name:    src<br><br>
Changes by:     <a href="mailto:deraadt@cvs.openbsd.org" target="_blank" rel="nofollow noopener">deraadt@cvs.openbsd.org</a> 2017/08/20 10:56:43                                               </p>

<p>Modified files:<br><br>
        etc/root       : root.mail<br><br>
        share/mk       : sys.mk<br><br>
        sys/arch/macppc/stand/tbxidata: bsd.tbxi<br><br>
        sys/conf       : newvers.sh<br><br>
        sys/sys        : param.h<br><br>
Log message:<br><br>
crank to 6.2-beta<br><br>
`</p>

<blockquote>
<p>You all know what this means: get to testing! Find whatever hardware you have and install the latest snapshots, stress the upgrade procedure, play your favorite games, build your own code - whatever you use OpenBSD for, try it in the new snaps and report any problems you find. Your testing efforts will help make sure 6.2 is another great release!</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.soldierx.com/news/64-Hijacked-ARMs" target="_blank" rel="nofollow noopener">64 Hijacked ARMs</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170817195416" target="_blank" rel="nofollow noopener">Smartisan Makes Another Iridium Donation to the OpenBSD Foundation</a></li>
<li><a href="https://twitter.com/Keltounet/status/898092662657560576" target="_blank" rel="nofollow noopener">Andrey A. Chernov (ache), long-time FreeBSD core team member and dev, has passed away</a></li>
<li><a href="https://twitter.com/dugsong/status/897338038212276224" target="_blank" rel="nofollow noopener">OpenBSD hacker Mickey Shalayeff has passed away</a></li>
<li><a href="https://www.freebsd.org/news/newsflash.html#event20170819:01" target="_blank" rel="nofollow noopener">FreeBSD 10.4-BETA1 Available</a></li>
<li><a href="https://asciinema.org/a/M8sjN0FC64JPBWZqjKIG5sx2q" target="_blank" rel="nofollow noopener">vmadm in action, from getting a dataset to running a jail w/ vnet networking in just a few commands</a></li>
<li><a href="https://garbage.fm/episodes/41" target="_blank" rel="nofollow noopener">Interview with Patrick Wildt (from t2k17 OpenBSD Hackathon)</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Seth - <a href="http://dpaste.com/0F2382X" target="_blank" rel="nofollow noopener">Switching to tarsnap</a></li>
<li>Johnny - <a href="http://dpaste.com/1F576QS" target="_blank" rel="nofollow noopener">memcmp</a></li>
<li>Thomas - <a href="http://dpaste.com/0F9QSZZ" target="_blank" rel="nofollow noopener">Drives and NAS</a></li>
<li>Ben - <a href="http://dpaste.com/1Z6CFWE" target="_blank" rel="nofollow noopener">Nvidia</a></li>
<li>David - <a href="http://dpaste.com/0B23QZB" target="_blank" rel="nofollow noopener">ZFS performance variations over nfs</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We explore whether a BSD can replicate Cisco router performance; RETGUARD, OpenBSDs new exploit mitigation technology, Dragonflys HAMMER2 filesystem implementation &amp; more!</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.reddit.com/r/networking/comments/6upchy/can_a_bsd_system_replicate_the_performance_of/" target="_blank" rel="nofollow noopener">Can a BSD system replicate the performance of a Cisco router?</a></h3>

<ul>
<li>Short Answer: No, but it might be good enough for what you need</li>
</ul>

<blockquote>
<p>Traditionally routers were built with a tightly coupled data plane and control plane. Back in the 80s and 90s the data plane was running in software on commodity CPUs with proprietary software. As the needs and desires for more speeds and feeds grew, the data plane had to be implemented in ASICs and FPGAs with custom memories and TCAMs. While these were still programmable in a sense, they certainly weren't programmable by anyone but a small handful of people who developed the hardware platform. The data plane was often layered, where features not handled by the hardware data plane were punted to a software only data path running on a more general CPU. The performance difference between the two were typically an order or two of magnitude. <a href="https://fd.io/wp-content/uploads/sites/34/2017/07/FDioVPPwhitepaperJuly2017.pdf" target="_blank" rel="nofollow noopener">source</a></p>

<p>Except for encryption (e.g. IPsec) or IDS/IPS, the true measure of router performance is packets forwarded per unit time. This is normally expressed as Packets-per-second, or PPS. To 'line-rate' forward on a 1gbps interface, you must be able to forward packets at 1.488 million pps (Mpps). To forward at "line-rate" between 10Gbps interfaces, you must be able to forward at 14.88Mpps.<br>
Even on large hardware, kernel-forwarding is limited to speeds that top out below 2Mpps. George Neville-Neil and I did a couple papers on this back in 2014/2015. You can read <a href="https://github.com/freebsd-net/netperf/blob/master/Documentation/Papers/ABSDCon2015Paper.pdf" target="_blank" rel="nofollow noopener">the papers</a> for the results.</p>

<p>However, once you export the code from the kernel, things start to improve. There are a few open source code bases that show the potential of kernel-bypass networking for building a software-based router. The first of these is netmap-fwd which is the FreeBSD ip_forward() code hosted on top of netmap, a kernel-bypass technology present in FreeBSD (and available for linux). Full-disclosure, netmap-fwd was done at my company, Netgate. netmap-fwd will l3 forward around 5 Mpps per core. <a href="https://github.com/Netgate/netmap-fwd/blob/master/netmap-fwd.pdf" target="_blank" rel="nofollow noopener">slides</a></p>

<p>The first of these is <a href="https://github.com/Netgate/netmap-fwd" target="_blank" rel="nofollow noopener">netmap-fwd</a> which is the FreeBSD ip_forward() code hosted on top of <a href="https://github.com/luigirizzo/netmap" target="_blank" rel="nofollow noopener">netmap</a>, a kernel-bypass technology present in FreeBSD (and available for linux). Full-disclosure, netmap-fwd was done at my company, Netgate. (And by "my company" I mean that I co-own it with my spouse.). netmap-fwd will l3 forward around 5 Mpps per core. <a href="https://github.com/Netgate/netmap-fwd/blob/master/netmap-fwd.pdf" target="_blank" rel="nofollow noopener">slides</a></p>

<p>Nanako Momiyama of the Keio Univ Tokuda Lab presented on <a href="https://www.bsdcan.org/2017/schedule/events/823.en.html" target="_blank" rel="nofollow noopener">IP Forwarding Fastpath</a> at BSDCan this past May. She got about 5.6Mpps (roughly 10% faster than netmap-fwd) using a similar approach where the ip_foward() function was rewritten as a module for VALE (the netmap-based in-kernel switch). <a href="https://2016.eurobsdcon.org/PresentationSlides/NanakoMomiyama_TowardsFastIPForwarding.pdf" target="_blank" rel="nofollow noopener">Slides</a> from her previous talk at EuroBSDCon 2016 are available. (Speed at the time was 2.8Mpps.). Also a <a href="https://www.ht.sfc.keio.ac.jp/%7Enanako/conext17-sw.pdf" target="_blank" rel="nofollow noopener">paper</a> from that effort, if you want to read it. Of note: They were showing around 1.6Mpps even after replacing the in-kernel routing lookup algorithm with DXR. (DXR was written by Luigi Rizzo, who is also the primary author of netmap.)</p>

<p>Not too long after netmap-fwd was open sourced, Ghandi announced packet-journey, an application based on drivers and libraries and from DPDK. Packet-journey is also an L3 router. The GitHub page for packet-journey lists performance as 21,773.47 mbps (so 21.77Gbps) for 64-byte UDP frames with 50 ACLs and 500,000 routes. Since they're using 64-byte frames, this translates to roughly 32.4Mpps.<br>
Finally, there is recent work in FreeBSD (which is part of 11.1-RELEASE) that gets performance up to 2x the level of netmap-fwd or the work by Nanako Momiyama. 10 million PPS: <a href="http://blog.cochard.me/2015/09/receipt-for-building-10mpps-freebsd.html" target="_blank" rel="nofollow noopener">Here</a> is a decent introduction.</p>
</blockquote>

<ul>
<li>But of course, even as FreeBSD gets up to being able to do 10gbps at line-rate, 40 and 100 gigabits are not uncommon now</li>
</ul>

<blockquote>
<p>Even with the fastest modern CPUs, this is very little time to do any kind of meaningful packet processing. At 10Gbps, your total budget per packet, to receive (Rx) the packet, process the packet, and transmit (Tx) the packet is 67.2 ns. Complicating the task is the simple fact that main memory (RAM) is 70 ns away. The simple conclusion here is that, even at 10Gbps, if you have to hit RAM, you can't generate the PPS required for line-rate forwarding.</p>
</blockquote>

<ul>
<li>There is some detail about design tradeoffs in the Ryzen architecture and how that might impact using those machines as routers</li>
</ul>

<blockquote>
<p>Anyway... those are all interesting, but the natural winner here is FD.io's Vector Packet Processing (VPP). <a href="http://blogs.cisco.com/sp/a-bigger-helping-of-internet-please" target="_blank" rel="nofollow noopener">Read this</a><br>
VPP is an efficient, flexible open source data plane. It consists of a set of forwarding nodes arranged in a directed graph and a supporting framework. The framework has all the basic data structures, timers, drivers (and interfaces to both DPDK and netmap), a scheduler which allocates the CPU time between the graph nodes, performance and debugging tools, like counters and built-in packet trace. The latter allows you to capture the paths taken by the packets within the graph with high timestamp granularity, giving full insight into the processing on a per-packet level.<br>
The net result here is that Cisco (again, Cisco) has shown the ability to route packets at 1 Tb/s using VPP on a four socket Purley system</p>
</blockquote>

<ul>
<li>There is also much discussion of the future of pfSense, as they transition to using VPP</li>
<li>This is a very lengthy write up which deserves a full read, plus there are some comments from other people
***</li>
</ul>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=150317547021396&amp;w=2" target="_blank" rel="nofollow noopener">RETGUARD, the OpenBSD next level in exploit mitigation, is about to debut</a></h3>

<blockquote>
<p>This year I went to BSDCAN in Ottawa.  I spent much of it in the 'hallway track', and had an extended conversation with various people regarding our existing security mitigations and hopes for new ones in the future.  I spoke a lot with Todd Mortimer.  Apparently I told him that I felt return-address protection was impossible, so a few weeks later he sent a clang diff to address that issue...<br>
The first diff is for amd64 and i386 only -- in theory RISC architectures can follow this approach soon.<br>
The mechanism is like a userland 'stackghost' in the function prologue and epilogue.  The preamble XOR's the return address at top of stack with the stack pointer value itself.  This perturbs by introducing bits from ASLR.  The function epilogue undoes the transform immediately before the RET instruction.  ROP attack methods are impacted because existing gadgets are transformed to consist of "  RET".  That pivots the return sequence off the ROP chain in a highly unpredictable and inconvenient fashion.<br>
The compiler diff handles this for all the C code, but the assembly functions have to be done by hand.  I did this work first for amd64, and more recently for i386.  I've fixed most of the functions and only a handful of complex ones remain.<br>
For those who know about polymorphism and pop/jmp or JOP, we believe once standard-RET is solved those concerns become easier to address seperately in the future.  In any case a substantial reduction of gadgets is powerful.<br>
For those worried about introducing worse polymorphism with these "xor; ret" epilogues themselves, the nested gadgets for 64bit and 32bit variations are +1 "xor %esp,(%rsp); ret", +2 "and $0x24,%al; ret" and +3 "and $0xc3,%al; int3".  Not bad.<br>
Over the last two weeks, we have received help and advice to ensure debuggers (gdb, egdb, ddb, lldb) can still handle these transformed callframes.  Also in the kernel, we discovered we must use a smaller XOR, because otherwise userland addresses are generated, and cannot rely on SMEP as it is really new feature of the architecture.  There were also issues with pthreads and dlsym, which leads to a series of uplifts around __builtin_return_address and DWARF CFI.<br>
Application of this diff doesn't require anything special, a system can simply be built twice.  Or shortcut by building &amp; installing gnu/usr.bin/clang first, then a full build.<br>
We are at the point where userland and base are fully working without regressions, and the remaining impacts are in a few larger ports which directly access the return address (for a variety of reasons).<br>
So work needs to continue with handling the RET-addr swizzle in those ports, and then we can move forward.</p>
</blockquote>

<ul>
<li>You can find the full message with the diff <a href="https://marc.info/?l=openbsd-tech&amp;m=150317547021396&amp;w=2" target="_blank" rel="nofollow noopener">here</a>
***</li>
</ul>

<h2>Interview - Ed Maste, Charlie &amp; Siva - <a href="https://twitter.com/ed_maste" target="_blank" rel="nofollow noopener">@ed_maste</a>, <a href="https://twitter.com/yzgyyang" target="_blank" rel="nofollow noopener">@yzgyyang</a> &amp; <a href="https://twitter.com/svmhdvn" target="_blank" rel="nofollow noopener">@svmhdvn</a></h2>

<ul>
<li>Co-op Students for the FreeBSD Foundation
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://lists.dragonflybsd.org/pipermail/users/2017-August/313558.html" target="_blank" rel="nofollow noopener">Next DFly release will have an initial HAMMER2 implementation</a></h3>

<blockquote>
<p>The next DragonFly release (probably in September some time) will have an initial HAMMER2 implementation.  It WILL be considered experimental and won't be an installer option yet.  This initial release will only have single-image support operational plus basic features.  It will have live dedup (for cp's), compression, fast recovery, snapshot, and boot support out of the gate.<br>
This first H2 release will not have clustering or multi-volume support, so don't expect those features to work.  I may be able to get bulk dedup and basic mirroring operational by release time, but it won't be very efficient.  Also, right now, sync operations are fairly expensive and will stall modifying operations to some degree during the flush, and there is no reblocking (yet).  The allocator has a 16KB granularity (on HAMMER1 it was 2MB), so for testing purposes it will still work fairly well even without reblocking.<br>
The design is in a good place.  I'm quite happy with how the physical layout turned out.  Allocations down to 1KB are supported.  The freemap has a 16KB granularity with a linear counter (one counter per 512KB) for packing smaller allocations.  INodes are 1KB and can directly embed 512 bytes of file data for files &lt;= 512 bytes, or have four top-level blockrefs for files &gt; 512 bytes.  The freemap is also zoned by type for I/O locality.<br>
The blockrefs are 'fat' at 128 bytes but enormously powerful.  That will allow us to ultimately support up to a 512-bit crypto hash and blind dedup using said hash.  Not on release, but that's the plan.<br>
I came up with an excellent solution for directory entries.  The 1KB allocation granularity was a bit high but I didn't want to reduce it. However, because blockrefs are now 128 byte entities, and directory entries are hashed just like in H1, I was able to code them such that a directory entry is embedded in the blockref itself and does not require a separate data reference or allocation beyond that.  Filenames up to 64 bytes long can be accomodated in the blockref using the check-code area of the blockref.  Longer filenames will use an additional data reference hanging off the blockref to accomodate up to 255 char filenames.  Of course, a minimum of 1KB will have to be allocated in that case, but filenames are &lt;= 64 bytes in the vast majority of use cases so it just isn't an issue.<br>
This gives directory entries optimal packing and indexing and is a huge win in terms of performance since blockrefs are arrayed in 16KB and 64KB blocks.  In addition, since inodes can embed up to four blockrefs, the directory entries for 'small' directories with &lt;= 4 entries ('.' and '..' don't count) can actually be embedded in the directory inode itself.<br>
So, generally speaking, the physical layout is in a very happy place.  The basics are solid on my test boxes so it's now a matter of implementing as many of the more sophisticated features as I can before release, and continuing to work on the rest after the release.</p>

<hr>
</blockquote>

<h3><a href="https://www.openssl.org/blog/blog/2017/06/17/code-removal/" target="_blank" rel="nofollow noopener">Removing Some Code</a></h3>

<blockquote>
<p>This is another update on our effort to re-license the OpenSSL software. Our previous post in March was about the launch of our effort to reach all contributors, with the hope that they would support this change.<br>
So far, about 40% of the people have responded. For a project that is as old as OpenSSL (including its predecessor, SSLeay, its around 20 years) thats not bad. Well be continuing our efforts over the next couple of months to contact everyone.<br>
Of those people responding, the vast majority have been in favor of the license change  less then a dozen objected. This post describes what were doing about those and how we came to our conclusions. The goal is to be very transparent and open with our processes.<br>
First, we want to mention that we respect their decision. While it is inconvenient to us, we acknowledge their rights to keep their code under the terms that they originally agreed to. We are asking permission to change the license terms, and it is fully within their rights to say no.<br>
The license website is driven by scripts that are freely available in the license section of our tools repository on GitHub. When we started, we imported every single git commit, looked for anything that resembled an email address, and created tables for each commit, each user we found, and a log that connects users to commits. This did find false positives: sometimes email Message-IDs showed up, and there were often mentions of folks just as a passing side-comment, or because they were in the context diff. (That script is also in the tools repository, of course.)<br>
The user table also has columns to record approval or rejection of the license change, and comments. Most of the comments have been supportive, and (a bit surprisingly) only one or two were obscene.<br>
The whattoremove script finds the users who refused, and all commits they were named in. We then examined each commit  there were 86 in all  and filtered out those that were cherry-picks to other releases. We are planning on only changing the license for the master branch, so the other releases branches arent applicable. There were also some obvious false positives. At the end of this step, we had 43 commits to review.<br>
We then re-read every single commit, looking for what we could safely ignore as not relevant. We found the following:<br>
Nine of them showed up only because the person was mentioned in a comment.<br>
Sixteen of them were changes to the OpenBSD configuration data. The OpenSSL team had completely rewritten this, refactoring all BSD configurations into a common hierarchy, and the config stuff changed a great deal for 1.1.0.<br>
Seven were not copyrightable as because they were minimal changes (e.g., fixing a typo in a comment).<br>
One was a false positive.<br>
This left us with 10 commits. Two of them them were about the CryptoDev engine. We are removing that engine, as can be seen in this PR, but we expect to have a replacement soon (for at least Linux and FreeBSD). As for the other commits, we are removing that code, as can be seen in this first PR. and this second PR. Fortunately, none of them are particularly complex.<br>
Copyright, however, is a complex thing  at times it makes debugging look simple. If there is only one way to write something, then that content isnt copyrightable. If the work is very small, such as a one-line patch, then it isnt copyrightable. We arent lawyers, and have no wish to become such, but those viewpoints are valid. It is not official legal advice, however.<br>
For the next step, we hope that we will be able to put back the code that we removed. We are looking to the community for help, and encourage you to create the appropriate GitHub pull requests. We ask the community to look at that second PR and provide fixes.<br>
And finally, we ask everyone to look at the list of authors and see if their name, or the name of anyone they know, is listed. If so please email us.</p>

<hr>
</blockquote>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170821133453" target="_blank" rel="nofollow noopener">deraadt@ moves us to 6.2-beta!</a></h3>

<blockquote>
<p>Theo has just committed the diff that marks the end of the development cycle and the beginning of the testing phase for the upcoming 6.2 release:</p>
</blockquote>

<p>`<br>
CVSROOT:        /cvs<br><br>
Module name:    src<br><br>
Changes by:     <a href="mailto:deraadt@cvs.openbsd.org" target="_blank" rel="nofollow noopener">deraadt@cvs.openbsd.org</a> 2017/08/20 10:56:43                                               </p>

<p>Modified files:<br><br>
        etc/root       : root.mail<br><br>
        share/mk       : sys.mk<br><br>
        sys/arch/macppc/stand/tbxidata: bsd.tbxi<br><br>
        sys/conf       : newvers.sh<br><br>
        sys/sys        : param.h<br><br>
Log message:<br><br>
crank to 6.2-beta<br><br>
`</p>

<blockquote>
<p>You all know what this means: get to testing! Find whatever hardware you have and install the latest snapshots, stress the upgrade procedure, play your favorite games, build your own code - whatever you use OpenBSD for, try it in the new snaps and report any problems you find. Your testing efforts will help make sure 6.2 is another great release!</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.soldierx.com/news/64-Hijacked-ARMs" target="_blank" rel="nofollow noopener">64 Hijacked ARMs</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170817195416" target="_blank" rel="nofollow noopener">Smartisan Makes Another Iridium Donation to the OpenBSD Foundation</a></li>
<li><a href="https://twitter.com/Keltounet/status/898092662657560576" target="_blank" rel="nofollow noopener">Andrey A. Chernov (ache), long-time FreeBSD core team member and dev, has passed away</a></li>
<li><a href="https://twitter.com/dugsong/status/897338038212276224" target="_blank" rel="nofollow noopener">OpenBSD hacker Mickey Shalayeff has passed away</a></li>
<li><a href="https://www.freebsd.org/news/newsflash.html#event20170819:01" target="_blank" rel="nofollow noopener">FreeBSD 10.4-BETA1 Available</a></li>
<li><a href="https://asciinema.org/a/M8sjN0FC64JPBWZqjKIG5sx2q" target="_blank" rel="nofollow noopener">vmadm in action, from getting a dataset to running a jail w/ vnet networking in just a few commands</a></li>
<li><a href="https://garbage.fm/episodes/41" target="_blank" rel="nofollow noopener">Interview with Patrick Wildt (from t2k17 OpenBSD Hackathon)</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Seth - <a href="http://dpaste.com/0F2382X" target="_blank" rel="nofollow noopener">Switching to tarsnap</a></li>
<li>Johnny - <a href="http://dpaste.com/1F576QS" target="_blank" rel="nofollow noopener">memcmp</a></li>
<li>Thomas - <a href="http://dpaste.com/0F9QSZZ" target="_blank" rel="nofollow noopener">Drives and NAS</a></li>
<li>Ben - <a href="http://dpaste.com/1Z6CFWE" target="_blank" rel="nofollow noopener">Nvidia</a></li>
<li>David - <a href="http://dpaste.com/0B23QZB" target="_blank" rel="nofollow noopener">ZFS performance variations over nfs</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>210: Your questions, part I</title>
  <link>https://www.bsdnow.tv/210</link>
  <guid isPermaLink="false">be8706fd-d9f3-488b-89a2-a1d3243560a9</guid>
  <pubDate>Wed, 06 Sep 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/be8706fd-d9f3-488b-89a2-a1d3243560a9.mp3" length="84270964" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>In this episode, we take a look at the reimplementation of NetBSD using a Microkernel, check out what makes DHCP faster, and see what high-process count support for DragonflyBSD has to offer, and we answer the questions you’ve always wanted to ask us.</itunes:subtitle>
  <itunes:duration>1:57:02</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>&lt;p&gt;In this episode, we take a look at the reimplementation of NetBSD using a Microkernel, check out what makes DHCP faster, and see what high-process count support for DragonflyBSD has to offer, and we answer the questions you’ve always wanted to ask us.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://theembeddedboard.review/a-reimplementation-of-netbsd-using-a-microkernel-part-1-of-2/" target="_blank" rel="nofollow noopener"&gt;A Reimplementation Of Netbsd Using a Microkernel&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Minix author Andy Tanenbaum writes in &lt;a href="http://theembeddedboard.review/a-reimplementation-of-netbsd-using-a-microkernel-part-1-of-2/" target="_blank" rel="nofollow noopener"&gt;Part 1 of a-reimplementation-of-netbsd-using-a-microkernel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Based on the MINIX 3 microkernel, we have constructed a system that to the user looks a great deal like NetBSD. It uses pkgsrc, NetBSD headers and libraries, and passes over 80% of the KYUA tests). However, inside, the system is completely different. At the bottom is a small (about 13,000 lines of code) microkernel that handles interrupts, message passing, low-level scheduling, and hardware related details. Nearly all of the actual operating system, including memory management, the file system(s), paging, and all the device drivers run as user-mode processes protected by the MMU. As a consequence, failures or security issues in one component cannot spread to other ones. In some cases a failed component can be replaced automatically and on the fly, while the system is running, and without user processes noticing it. The talk will discuss the history, goals, technology, and status of the project.&lt;br&gt;
 Research at the Vrije Universiteit has resulted in a reimplementation of NetBSD using a microkernel instead of the traditional monolithic kernel. To the user, the system looks a great deal like NetBSD (it passes over 80% of the KYUA tests). However, inside, the system is completely different. At the bottom is a small (about 13,000 lines of code) microkernel that handles interrupts, message passing, low-level scheduling, and hardware related details. Nearly all of the actual operating system, including memory management, the file system(s), paging, and all the device drivers run as user-mode processes protected by the MMU. As a consequence, failures or security issues in one component cannot spread to other ones. In some cases a failed component can be replaced automatically and on the fly, while the system is running.&lt;br&gt;
 The latest work has been adding live update, making it possible to upgrade to a new version of the operating system WITHOUT a reboot and without running processes even noticing. No other operating system can do this.&lt;br&gt;
 The system is built on MINIX 3, a derivative of the original MINIX system, which was intended for education. However, after the original author, Andrew Tanenbaum, received a 2 million euro grant from the Royal Netherlands Academy of Arts and Sciences and a 2.5 million euro grant from the European Research Council, the focus changed to building a highly reliable, secure, fault tolerant operating system, with an emphasis on embedded systems. The code is open source and can be downloaded from &lt;a href="http://www.minix3.org" target="_blank" rel="nofollow noopener"&gt;www.minix3.org&lt;/a&gt;. It runs on the x86 and ARM Cortex V8 (e.g., BeagleBones). Since 2007, the Website has been visited over 3 million times and the bootable image file has been downloaded over 600,000 times. The talk will discuss the history, goals, technology, and status of the project.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://theembeddedboard.review/a-reimplementation-of-netbsd-using-a-microkernel-part-2-of-2/" target="_blank" rel="nofollow noopener"&gt;Part 2&lt;/a&gt; is also available.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://cafbit.com/post/rapid_dhcp_or_how_do/" target="_blank" rel="nofollow noopener"&gt;Rapid DHCP: Or, how do Macs get on the network so fast?&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;One of life's minor annoyances is having to wait on my devices to connect to the network after I wake them from sleep. All too often, I'll open the lid on my EeePC netbook, enter a web address, and get the dreaded "This webpage is not available" message because the machine is still working on connecting to my Wi-Fi network. On some occasions, I have to twiddle my thumbs for as long as 10-15 seconds before the network is ready to be used. The frustrating thing is that I know it doesn't have to be this way. I know this because I have a Mac. When I open the lid of my MacBook Pro, it connects to the network nearly instantaneously. In fact, no matter how fast I am, the network comes up before I can even try to load a web page. My curiosity got the better of me, and I set out to investigate how Macs are able to connect to the network so quickly, and how the network connect time in other operating systems could be improved.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I figure there are three main categories of time-consuming activities that occur during network initialization:&lt;br&gt;
Link establishment. This is the activity of establishing communication with the network's link layer. In the case of Wi-Fi, the radio must be powered on, the access point detected, and the optional encryption layer (e.g. WPA) established. After link establishment, the device is able to send and receive Ethernet frames on the network.&lt;br&gt;
Dynamic Host Configuration Protocol (DHCP). Through DHCP handshaking, the device negotiates an IP address for its use on the local IP network. A DHCP server is responsible for managing the IP addresses available for use on the network.&lt;br&gt;
Miscellaneous overhead. The operating system may perform any number of mundane tasks during the process of network initialization, including running scripts, looking up preconfigured network settings in a local database, launching programs, etc.&lt;br&gt;
 My investigation thus far is primarily concerned with the DHCP phase, although the other two categories would be interesting to study in the future. I set up a packet capture environment with a spare wireless access point, and observed the network activity of a number of devices as they initialized their network connection. For a worst-case scenario, let's look at the network activity captured while an Android tablet is connecting:&lt;br&gt;
 This tablet, presumably in the interest of "optimization", is initially skipping the DHCP discovery phase and immediately requesting its previous IP address. The only problem is this is a different network, so the DHCP server ignores these requests. After about 4.5 seconds, the tablet stubbornly tries again to request its old IP address. After another 4.5 seconds, it resigns itself to starting from scratch, and performs the DHCP discovery needed to obtain an IP address on the new network.&lt;br&gt;
 In all fairness, this delay wouldn't be so bad if the device was connecting to the same network as it was previously using. However, notice that the tablet waits a full 1.13 seconds after link establishment to even think about starting the DHCP process. Engineering snappiness usually means finding lots of small opportunities to save a few milliseconds here and there, and someone definitely dropped the ball here.&lt;br&gt;
 In contrast, let's look at the packet dump from the machine with the lightning-fast network initialization, and see if we can uncover the magic that is happening under the hood:&lt;br&gt;
 The key to understanding the magic is the first three unicast ARP requests. It looks like Mac OS remembers certain information about not only the last connected network, but the last several networks. In particular, it must at least persist the following tuple for each of these networks:&lt;br&gt;
    &amp;gt; 1. The Ethernet address of the DHCP server&lt;br&gt;
    &amp;gt; 2. The IP address of the DHCP server&lt;br&gt;
    &amp;gt; 3. Its own IP address, as assigned by the DHCP server&lt;br&gt;
 During network initialization, the Mac transmits carefully crafted unicast ARP requests with this stored information. For each network in its memory, it attempts to send a request to the specific Ethernet address of the DHCP server for that network, in which it asks about the server's IP address, and requests that the server reply to the IP address which the Mac was formerly using on that network. Unless network hosts have been radically shuffled around, at most only one of these ARP requests will result in a response—the request corresponding to the current network, if the current network happens to be one of the remembered networks.&lt;br&gt;
 This network recognition technique allows the Mac to very rapidly discover if it is connected to a known network. If the network is recognized (and presumably if the Mac knows that the DHCP lease is still active), it immediately and presumptuously configures its IP interface with the address it knows is good for this network. (Well, it does perform a self-ARP for good measure, but doesn't seem to wait more than 13ms for a response.) The DHCP handshaking process begins in the background by sending a DHCP request for its assumed IP address, but the network interface is available for use during the handshaking process. If the network was not recognized, I assume the Mac would know to begin the DHCP discovery phase, instead of sending blind requests for a former IP address as the Galaxy Tab does.&lt;br&gt;
 The Mac's rapid network initialization can be credited to more than just the network recognition scheme. Judging by the use of ARP (which can be problematic to deal with in user-space) and the unusually regular transmission intervals (a reliable 1.0ms delay between each packet sent), I'm guessing that the Mac's DHCP client system is entirely implemented as tight kernel-mode code. The Mac began the IP interface initialization process a mere 10ms after link establishment, which is far faster than any other device I tested. Android devices such as the Galaxy Tab rely on the user-mode dhclient system (part of the dhcpcd package) dhcpcd program, which no doubt brings a lot of additional overhead such as loading the program, context switching, and perhaps even running scripts.&lt;br&gt;
 The next step for some daring kernel hacker is to implement a similarly aggressive DHCP client system in the Linux kernel, so that I can enjoy fast sign-on speeds on my Android tablet, Android phone, and Ubuntu netbook. There already exists a minimal DHCP client implementation in the Linux kernel, but it lacks certain features such as configuring the DNS nameservers. Perhaps it wouldn't be too much work to extend this code to support network recognition and interface with a user-mode daemon to handle such auxillary configuration information received via DHCP. If I ever get a few spare cycles, maybe I'll even take a stab at it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;You can also find other ways of optimizing the dhclient program and how it works in the &lt;a href="https://calomel.org/dhclient.html" target="_blank" rel="nofollow noopener"&gt;dhclient tutorial on Calomel.org&lt;/a&gt;.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/bsdcam-2017-trip-report-michael-lucas/" target="_blank" rel="nofollow noopener"&gt;BSDCam Trip Report&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Over the decades, FreeBSD development and coordination has shifted from being purely on-line to involving more and more in-person coordination and cooperation. The FreeBSD Foundation sponsors a devsummit right before BSDCan, EuroBSDCon, and AsiaBSDCon, so that developers traveling to the con can leverage their airfare and hammer out some problems. Yes, the Internet is great for coordination, but nothing beats a group of developers spending ten minutes together to sketch on a whiteboard and figuring out exactly how to make something bulletproof.&lt;br&gt;
In addition to the coordination efforts, though, conference devsummits are hierarchical. There’s a rigid schedule, with topics decided in advance. Someone leads the session. Sessions can be highly informative, passionate arguments, or anything in between.&lt;br&gt;
BSDCam is… a little different. It’s an invaluable part of the FreeBSD ecosystem. However, it’s something that I wouldn’t normally attend.&lt;br&gt;
But right now, is not normal. I’m writing a new edition of Absolute FreeBSD. To my astonishment, people have come to rely on this book when planning their deployments and operations. While I find this satisfying, it also increases the pressure on me to get things correct. When I wrote my first FreeBSD book back in 2000, a dozen mailing lists provided authoritative information on FreeBSD development. One person could read every one of those lists. Today, that’s not possible—and the mailing lists are only one narrow aspect of the FreeBSD social system.&lt;br&gt;
Don’t get me wrong—it’s pretty easy to find out what people are doing and how the system works. But it’s not that easy to find out what people will be doing and how the system will work. If this book is going to be future-proof, I needed to leave my cozy nest and venture into the wilds of Cambridge, England. Sadly, the BSDCam chair agreed with my logic, so I boarded an aluminum deathtrap—sorry, a “commercial airliner”—and found myself hurtled from Detroit to Heathrow.&lt;br&gt;
And one Wednesday morning, I made it to the William Gates building of Cambridge University, consciousness nailed to my body by a thankfully infinite stream of proper British tea.&lt;br&gt;
BSDCam attendance is invitation only, and the facilities can only handle fifty folks or so. You need to be actively working on FreeBSD to wrangle an invite. Developers attend from all over the world. Yet, there’s no agenda. Robert Watson is the chair, but he doesn’t decide on the conference topics. He goes around the room and asks everyone to introduce themselves, say what they’re working on, and declare what they want to discuss during the conference. The topics of interest are tallied. The most popular topics get assigned time slots and one of the two big rooms. Folks interested in less popular topics are invited to claim one of the small breakout rooms.&lt;br&gt;
Then the real fun begins. I started by eavesdropping in the virtualization workshop. For two hours, people discussed FreeBSD’s virtualization needs, strengths, and weaknesses. What needs help? What should this interface look like? What compatibility is important, and what isn’t? By the end of the session, the couple dozen people had developed a reasonable consensus and, most importantly, some folks had added items to their to-do lists.&lt;br&gt;
Repeat for a dozen more topics. I got a good grip on what’s really happening with security mitigation techniques, FreeBSD’s cloud support, TCP/IP improvements, advances in teaching FreeBSD, and more. A BSDCan devsummit presentation on packaging the base system is informative, but eavesdropping on two dozen highly educated engineers arguing about how to nail down the final tidbits needed to make that a real thing is far more educational.&lt;br&gt;
To my surprise, I was able to provide useful feedback for some sessions. I speak at a lot of events outside of the FreeBSD world, and was able to share much of what I hear at Linux conferences. A tool that works well for an experienced developer doesn’t necessarily work well for everyone.&lt;br&gt;
Every year, I leave BSDCan tired. I left BSDCam entirely exhausted. These intense, focused discussions stretched my brain.&lt;br&gt;
But, I have a really good idea where key parts of FreeBSD development are actually headed. This should help future-proof the new Absolute FreeBSD, as much as any computer book can be future-proof.&lt;br&gt;
Plus, BSDCam throws the most glorious conference dinner I’ve ever seen.&lt;br&gt;
I want to thank Robert Watson for his kind invitation, and the FreeBSD Foundation for helping defray the cost of this trip&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Interview - The BSDNow Crew&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;As a kid, what did you dream of to become as an adult?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;JT: An Astronaut&lt;br&gt;
BR: I wanted to be a private detective, because of all the crime novels that I read back&lt;br&gt;
then. I didn’t get far with it. However, I think the structured analysis skills (who did what, when, and such) help me in debugging and sysadmin work.&lt;br&gt;
AJ: Didn’t think about it much&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;How do you manage to stay organized day to day with so much things you're actively doing each day? (Day job, wife/girlfriend, conferences, hobbies, friends, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;JT: Who said I was organized?&lt;br&gt;
BR: A lot of stuff in my calendar as reminders, open browser tabs as “to read later” list. A few things like task switching when getting stuck helps. Also, focus on a single goal for the day, even though there will be distractions. Slowly, but steadily chip away at the things you’re working on. Rather than to procrastinate and put things back to review later, get started early with easy things for a big task and then tackle the hard part. Often, things look totally chaotic and unmanageable, until you start working on them. &lt;br&gt;
AJ: I barely manage. Lots of Google Calendar reminders, and the entire wall of my office is covered in whiteboard sheet todo lists. I use pinboard.in to deal with finding and organizing bookmarks. Write things down, don’t trust your memory.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What hobbies outside of IT do you have?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;JT: I love photography, but I do that Professional part time, so I’m not sure if that counts as a hobby anymore.  I guess it’d have to be working in the garage on my cars.&lt;br&gt;
BR: I do Tai Chi to relax once a week in a group, but can also do it alone, pretty much everywhere. Way too much Youtube watching and browsing the web. I did play some games before studying at the university and I’m still proud that I could control it to the bare minimum not to impact my studies. A few “lapses” from time to time, revisiting the old classics since the newer stuff won’t run on my machines anyway. Holiday time is pretty much spent for BSD conferences and events, this is where I can relax and talk with like-minded people from around the world, which is fascinating. Plus, it gets me to various places and countries I never would have dared to visit on my own.&lt;br&gt;
AJ: I play a few video games, and I like to ski, although I don’t go very often as most of my vacation time is spent hanging out with my BSD friends at various conferences&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;How do you relax?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;JT: What is this word ‘relax’ and what does it mean?&lt;br&gt;
BR: My Tai Chi plays a big part in it I guess. I really calms you and the constant stream of thoughts for a while. It also gives you better clarity of what’s important in life. Watching movies, sleeping long.&lt;br&gt;
AJ: Usually watching TV or Movies. Although I have taken to doing most of my TV watching on my exercise bike now, but it is still mentally relaxing&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;If FreeBSD didn't exist,  which BSD flavour would you use? Why?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;JT: I use TrueOS, but if FreeBSD didn’t exist, that project might not either… so…  My other choice would be HardenedBSD, but since it’s also based on FreeBSD I’m in the same dillema.&lt;br&gt;&lt;br&gt;
BR: I once installed NetBSD to see what It can do. If FreeBSD wouldn’t exist, I would probably try my luck with it. OpenBSD is also appealing, but I’ve never installed it.&lt;br&gt;
AJ: When I started using FreeBSD in 2000, the only other BSD I had heard of at the time was OpenBSD. If FreeBSD wasn’t around, I don’t think the world would look like it does, so it is hard to speculate.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;If any of the BSD's weren't around and you had to use Linux, which camp would belong to? (Redhat, SUSE, Debian, Ubuntu, Gentoo?)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;JT: I learned Linux in the mid 90s using Slackware, which I used consistently up until the mid 2000s, when I joined the PuppyLinux community and eventually became a developer (FYI, Puppy was/is/can be based on Slackware -- its complicated).  So I’d go back to using either Slackware or PuppyLinux.&lt;br&gt;
BR: I tried various Linux distributions until I landed at Debian. I used is pretty extensively as my desktop OS at home, building custom kernels and packages to install them until I discovered FreeBSD. I ran both side by side for a few months for learning until one day I figured out that I had not booted Debian in a while, so I switched completely. &lt;br&gt;
AJ: The first Linux I played with was Slackware, and it is the most BSD like, but the bits of Linux I learned in school were Redhat and so I can somewhat wrap my head around it, although now that they are changing everything to systemd, all of that old knowledge is more harmful than useful.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Are you still finding yourself in need to use Windows/Mac OS? Why?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;JT: I work part time as a professional Photographer, so I do use Windows for my photography work.  While I can do everything I need to do in Linux, it comes down to being pragmatic about my time.  What takes me several hours to accomplish in Linux I can accomplish in 20 minutes on Windows.&lt;br&gt;
BR: I was a long time Windows-only user before my Unix days. But back when Vista was about to come out and I needed a new laptop, my choice was basically learning to cope with Vistas awful features or learn MacOS X. I did the latter, it increased my productivity since it’s really a good Unix desktop experience (at least, back then). I only have to use Windows at work from time to time as I manage our Windows Terminal server, which keeps the exposure low enough and I only connect to it to use a certain app not available for the Mac or the BSDs.&lt;br&gt;
AJ: I still use Windows to play games, for a lot of video conferencing, and to produce BSD Now. Some of it could be done on BSD but not as easily. I have promised myself that I will switch to 100% BSD rather than upgrade to Windows 10, so we’ll see how that goes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Please describe your home networking setup.  Router type, router OS, router hardware, network segmentation, wifi apparatus(es), other devices connected, and anything else that might be interesting about your home network.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;BR: Very simple and boring: Apple Airport Express base station and an AVM FritzBox  for DNS, DHCP, and the link to my provider. A long network cable to my desktop machine. That I use less and less often. I just bought an RPI 3 for some home use in the future to replace it. Mostly my brother’s and my Macbook Pro’s are connected, our phones and the iPad of my mother.  &lt;/p&gt;

&lt;p&gt;AJ: I have a E3-1220 v3 (dual 3.1ghz + HT) with 8 GB of ram, and 4x Intel gigabit server NICs as my router, and it runs vanilla FreeBSD (usually some snapshot of -current). I have 4 different VLANs, Home, Office, DMZ, and Guest WiFi. WiFi is served via a tiny USB powered device I bought in Tokyo years ago, it serves 3 different SSIDs, one for each VLAN except the DMZ. There are ethernet jacks in every room wired for 10 gigabit, although the only machines with 10 gigabit are my main workstation, file server, and some machines in the server rack. There are 3 switches, one for the house (in the laundry room), one for the rack, and one for 10gig stuff. There is a rack in the basement spare bedroom, it has 7 servers in it, mostly storage for live replicas of customer data for my company.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;How do guys manage to get your work done on FreeBSD desktops? What do you do when you need to a Linux or Windows app that isn't ported, or working? I've made several attempts to switch to FreeBSD, but each attempt failed because of tools not being available (e.g. Zoom, Dropbox, TeamViewer, Crashplan) or broken (e.g. VirtualBox).&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;BR: I use VIrtualBox for everything that is not natively available or Windows-only. Unfortunately, that means no modern games. I mostly do work in the shell when I’m on FreeBSD and when it has to be a graphical application, then I use Fluxbox as the DE. I want to get work done, not look at fancy eye-candy that get’s boring after a while. Deactivated the same stuff on my mac due to the same reason. I look for alternative software online, but my needs are relatively easy to satisfy as I’m not doing video editing/rendering and such.&lt;/p&gt;

&lt;p&gt;AJ: I generally find that I don’t need these apps. I use Firefox, Thunderbird, OpenSSH, Quassel, KomodoEdit, and a few other apps, so my needs are not very demanding. It is annoying when packages are broken, but I usually work around this with boot environments, and being able to just roll back to a version that worked for a few days until the problem is solved. I do still have access to a windows machine for the odd time I need specific VPN software or access to Dell/HP etc out-of-band management tools.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Which desktop environments are your favorite, and why? For example, I like i3, Xfce, and I'm drawn to Lumina's ethos, but so far always seem to end up back on Xfc because of its ease of use, flexibility, and dashing good looks.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;JT: As a Lumina Desktop developer, I think my preference is obvious. ;)  I am also a long &lt;br&gt;
timeOpenBox user, so I have a soft place in my heart for that as well.  &lt;/p&gt;

&lt;p&gt;BR: I use Fluxbox when I need to work with a lot of windows or an application demands X11. KDE and others are too memory heavy for me and I rarely use even 20% of the features they provide.&lt;br&gt;
AJ: I was a long time KDE user, but I have adopted Lumina. I find it fast, and that it gets out of my way and lets me do what I want. It had some annoyances early on, but I’ve nagged the developers into making it work for me.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Which command-line shells do you prefer, why, and how (if at all) have you customised the environment or prompt?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;BR: I use zsh, but without all the fancy stuff you can find online. It might make you more productive, yes. But again, I try to keep things simple. I’m slowly learning tmux and want to work more in it in the future. I sometimes look at other BSD people’s laptops and am amazed at what they do with window-management in tmux. My prompt looks like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;bcr@Voyager:~&amp;gt;                             20:20 17-08-17
Put this in your .zshrc to get the same result:
PROMPT='%n@%m:%~&amp;gt;'
RPROMPT='%T %D'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;AJ: I started using tcsh early on, because it was the shell on the first box I had access to, and because one of the first things I read in “BSD Hacks” was how to enable ‘typo correction”, which made my life a lot better especially on dial up in the early days. My shell prompt looks like this: allan@CA-TOR1-02:/usr/home/allan%&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What is one thing (or more) missing in FreeBSD you would import from another project or community? Could be tech, process, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;JT: AUFS from Linux&lt;/p&gt;

&lt;p&gt;BR: Nohup from Illumos where you can detach an already running process and put it in the background. I often forget that and I’m not in tmux when that happens, so I can see myself use that feature a lot.&lt;/p&gt;

&lt;p&gt;AJ: Zones (more complete Jails) from IllumOS&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;how do you manage your time to learn about and work on FreeBSD?  Does your  work/employment enable what you do, or are your contributions mainly done in private time?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;JT: These days I’m mostly learning things I need for work, so it just falls into something I’m doing while working on work projects.&lt;/p&gt;

&lt;p&gt;BR: We have a lot of time during the semester holidays to learn on our own, it’s part of the idea of being in a university to keep yourself updated, at least for me. Especially in the fast moving world of IT. I also read a lot in my free time. My interests can shift sometimes, but then I devour everything I can find on the topic. Can be a bit excessive, but has gotten me where I am now and I still need a lot to learn (and want to). Since I work with FreeBSD at work (my owndoing), I can try out many things there.&lt;/p&gt;

&lt;p&gt;AJ: My work means a spend a lot of time working with FreeBSD, but not that much time working ON it. My contributions are mostly done outside of work, but as I own the company I do get more flexibility to take time off for conferences and other FreeBSD related stuff.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;we know we can bribe Michael W Lucas with gelato (&lt;em&gt;good&lt;/em&gt; gelato that is), but what can we use to bribe &lt;em&gt;you&lt;/em&gt; guys? Like when I want to have Allan to work on fixing a bug which prevents me from running ZFS on this fancy rock64 board?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;BR: Desserts of various kinds. &lt;/p&gt;

&lt;p&gt;AJ: I am probably not the right person to look at your rock64 board. Most people in the project have taken to bribing me with chocolate. In general, my todo list is so long, the best way is a trade, you take this task and I’ll take that task.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Is your daily mobile device iOS, Android, Windows Mobile, or other? Why?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;JT: These days I’m using Android on my Blackberry Priv, but until recently I was still a heavy user of Sailfish OS.  I would use SailfishOS everyday, if I could find a phone with a keyboard that I could run it on.&lt;/p&gt;

&lt;p&gt;BR: iOS on the iPhone 7 currently. Never used an Android phone, saw it on other people’s devices and what they can do with it (much more). But the infrequent security updates (if any at all) keep me away from it.&lt;/p&gt;

&lt;p&gt;AJ: I have a Google Nexus 6 (Android 7.1). I wanted the ‘pure’ Android experience, and I had been happy with my previous Nexus S. I don’t run a custom OS/ROM or anything because I use the phone to verify that video streams work on an ‘average users device’. I am displeased that support for my device will end soon. I am not sure what device I will get next, but it definitely won’t be an iPhone.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170808065718&amp;amp;mode=flat&amp;amp;count=30" target="_blank" rel="nofollow noopener"&gt;Beta Update - Request for (more) Testing&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt; &lt;a href="https://beta.undeadly.org/" target="_blank" rel="nofollow noopener"&gt;https://beta.undeadly.org/&lt;/a&gt; has received an update. The most significant changes include:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The site has been given a less antiquated "look". (As the topic icons have been eliminated, we are no longer seeking help with those graphics.)&lt;br&gt;
The site now uses a moderate amount of semantic HTML5.&lt;br&gt;
Several bugs in the HTML fragment validator (used for submissions and comments) have been fixed.&lt;br&gt;
To avoid generating invalid HTML, submission content which fails validation is no longer displayed in submission/comment previews.&lt;br&gt;
Plain text submissions are converted to HTML in a more useful fashion. (Instead of just converting each EOL to &lt;br&gt;, the converter now generates proper paragraphs and interprets two or more consecutive EOLs as indicating a paragraph break.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt; The redevelopment remains a work-in-progress. Many thanks to those who have contributed!&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As before, constructive feedback would be appreciated. Of particular interest are reports of bugs in behaviour (for example, in the HTML validator or in authentication) that would preclude the adoption of the current code for the main site.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2017-August/313552.html" target="_blank" rel="nofollow noopener"&gt;High-process-count support added to master&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We've fixed a number of bottlenecks that can develop when the number of user processes runs into the tens of thousands or higher.  One thing led to another and I said to myself, "gee, we have a 6-digit PID, might as well make it work to a million!".  With the commits made today, master can support at least 900,000 processes with just a kern.maxproc setting in&lt;br&gt;
/boot/loader.conf, assuming the machine has the memory to handle it.&lt;br&gt;
 And, in fact, as today's machines start to ratchet up there in both memory capacity and core count, with fast storage (NVMe) and fast networking (10GigE and higher), even in consumer boxes, this is actually something that one might want to do.  With AMD's threadripper and EPYC chips now out, the Intel&amp;lt;-&amp;gt;AMD cpu wars are back on!   Boasting up to 32 cores (64 threads) per socket and two sockets on EPYC, terabytes of ram, and motherboards with dual 10GigE built-in, the reality is that these numbers are already achievable in a useful manner.&lt;br&gt;
 In anycase, I've tested these changes on a dual-socket xeon.  I can in-fact start 900,000 processes.  They don't get a whole lot of cpu and running 'ps' would be painful, but it works and the system is still responsive from the shell with all of that going on.&lt;br&gt;
 xeon126# uptime&lt;br&gt;
 1:42PM  up 9 mins, 3 users, load averages: 890407.00, 549381.40, 254199.55&lt;br&gt;
 In fact, judging from the memory use, these minimal test processes only eat around 60KB each.  900,000 of them ate only 55GB on a 128GB machine.  So even a million processes is not out of the question, depending on the cpu requirements for those processes.  Today's modern machines can be stuffed with enormous amounts of memory.&lt;br&gt;
 Of course, our PIDs are currently limited to 6 digits, so a million is kinda the upper limit in terms of discrete user processes (verses pthreads which are less restricted).  I'd rather not go to 7 digits (yet).&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-current/2017-August/066783.html" target="_blank" rel="nofollow noopener"&gt;CFT: Driver for generic MS Windows 7/8/10 - compatible USB HID multi-touch touchscreens&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Following patch [1] adds support for generic MS Windows 7/8/10 - compatible USB HID multi-touch touchscreens via evdev protocol. It is intended to be a native replacement of hid-multitouch.c driver found in Linux distributions and multimedia/webcamd port.&lt;/li&gt;
&lt;li&gt;Patch is made for 12-CURRENT and most probably can be applied to recent 11-STABLE and 11.1-RELEASE (not tested)&lt;/li&gt;
&lt;li&gt;How to test"&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;1. Apply patch [1]
2. To compile this driver into the kernel, place the following lines 
into your kernel configuration file:
       device wmt
       device usb
       device evdev
    Alternatively, to load the driver as a module at boot time, place the 
following line in loader.conf(5):
       wmt_load="YES"
3. Install x11-drivers/xf86-input-evdev or 
x11-drivers/xf86-input-libinput port
4. Tell XOrg to use evdev or libinput driver for the device:
&lt;/code&gt;&lt;/pre&gt;

&lt;pre&gt;&lt;code&gt;Section "ServerLayout"
     InputDevice    "TouchScreen0" "SendCoreEvents"
EndSection


Section "InputDevice"
     Identifier  "TouchScreen0"
     Driver      "evdev"
&amp;amp;#35;   Driver      "libinput"
     Option      "Device" "/dev/input/eventXXX"
EndSection
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;Exact value of "/dev/input/eventXXX" can be obtained with evemu-record utility from devel/evemu.&lt;/li&gt;
&lt;li&gt;Note1: Currently, driver does not support pens or touchpads.&lt;/li&gt;
&lt;li&gt;Note2: wmt.ko should be kld-loaded before uhid driver to take precedence over it! Otherwise uhid can be kld-unloaded after loading of wmt.&lt;/li&gt;
&lt;li&gt;wmt review: &lt;a href="https://reviews.freebsd.org/D12017" target="_blank" rel="nofollow noopener"&gt;https://reviews.freebsd.org/D12017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Raw diff: &lt;a href="https://reviews.freebsd.org/D12017.diff" target="_blank" rel="nofollow noopener"&gt;https://reviews.freebsd.org/D12017.diff&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsdmag.org/programm_history/" target="_blank" rel="nofollow noopener"&gt;BSDMag Programing Languages Infographic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170815171854" target="_blank" rel="nofollow noopener"&gt;t2k17 Hackathon Report: Bob Beck on buffer cache tweaks, libressl and pledge progress&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/past-issues/resource-control/" target="_blank" rel="nofollow noopener"&gt;New FreeBSD Journal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mail-index.netbsd.org/netbsd-advocacy/2017/08/10/msg000744.html" target="_blank" rel="nofollow noopener"&gt;NetBSD machines at Open Source Conference 2017 Kyoto&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3H6TDJV" target="_blank" rel="nofollow noopener"&gt;Dan - HDD question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/10F086V" target="_blank" rel="nofollow noopener"&gt;Benjamin - scrub of death&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2D9102K" target="_blank" rel="nofollow noopener"&gt;Jason - Router Opinion&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1XYYTWF" target="_blank" rel="nofollow noopener"&gt;Sohrab - Thanks&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>In this episode, we take a look at the reimplementation of NetBSD using a Microkernel, check out what makes DHCP faster, and see what high-process count support for DragonflyBSD has to offer, and we answer the questions you’ve always wanted to ask us.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://theembeddedboard.review/a-reimplementation-of-netbsd-using-a-microkernel-part-1-of-2/" target="_blank" rel="nofollow noopener">A Reimplementation Of Netbsd Using a Microkernel</a></h3>

<ul>
<li>Minix author Andy Tanenbaum writes in <a href="http://theembeddedboard.review/a-reimplementation-of-netbsd-using-a-microkernel-part-1-of-2/" target="_blank" rel="nofollow noopener">Part 1 of a-reimplementation-of-netbsd-using-a-microkernel</a></li>
</ul>

<blockquote>
<p>Based on the MINIX 3 microkernel, we have constructed a system that to the user looks a great deal like NetBSD. It uses pkgsrc, NetBSD headers and libraries, and passes over 80% of the KYUA tests). However, inside, the system is completely different. At the bottom is a small (about 13,000 lines of code) microkernel that handles interrupts, message passing, low-level scheduling, and hardware related details. Nearly all of the actual operating system, including memory management, the file system(s), paging, and all the device drivers run as user-mode processes protected by the MMU. As a consequence, failures or security issues in one component cannot spread to other ones. In some cases a failed component can be replaced automatically and on the fly, while the system is running, and without user processes noticing it. The talk will discuss the history, goals, technology, and status of the project.<br>
 Research at the Vrije Universiteit has resulted in a reimplementation of NetBSD using a microkernel instead of the traditional monolithic kernel. To the user, the system looks a great deal like NetBSD (it passes over 80% of the KYUA tests). However, inside, the system is completely different. At the bottom is a small (about 13,000 lines of code) microkernel that handles interrupts, message passing, low-level scheduling, and hardware related details. Nearly all of the actual operating system, including memory management, the file system(s), paging, and all the device drivers run as user-mode processes protected by the MMU. As a consequence, failures or security issues in one component cannot spread to other ones. In some cases a failed component can be replaced automatically and on the fly, while the system is running.<br>
 The latest work has been adding live update, making it possible to upgrade to a new version of the operating system WITHOUT a reboot and without running processes even noticing. No other operating system can do this.<br>
 The system is built on MINIX 3, a derivative of the original MINIX system, which was intended for education. However, after the original author, Andrew Tanenbaum, received a 2 million euro grant from the Royal Netherlands Academy of Arts and Sciences and a 2.5 million euro grant from the European Research Council, the focus changed to building a highly reliable, secure, fault tolerant operating system, with an emphasis on embedded systems. The code is open source and can be downloaded from <a href="http://www.minix3.org" target="_blank" rel="nofollow noopener">www.minix3.org</a>. It runs on the x86 and ARM Cortex V8 (e.g., BeagleBones). Since 2007, the Website has been visited over 3 million times and the bootable image file has been downloaded over 600,000 times. The talk will discuss the history, goals, technology, and status of the project.</p>
</blockquote>

<ul>
<li><a href="http://theembeddedboard.review/a-reimplementation-of-netbsd-using-a-microkernel-part-2-of-2/" target="_blank" rel="nofollow noopener">Part 2</a> is also available.
***</li>
</ul>

<h3><a href="https://cafbit.com/post/rapid_dhcp_or_how_do/" target="_blank" rel="nofollow noopener">Rapid DHCP: Or, how do Macs get on the network so fast?</a></h3>

<ul>
<li>One of life's minor annoyances is having to wait on my devices to connect to the network after I wake them from sleep. All too often, I'll open the lid on my EeePC netbook, enter a web address, and get the dreaded "This webpage is not available" message because the machine is still working on connecting to my Wi-Fi network. On some occasions, I have to twiddle my thumbs for as long as 10-15 seconds before the network is ready to be used. The frustrating thing is that I know it doesn't have to be this way. I know this because I have a Mac. When I open the lid of my MacBook Pro, it connects to the network nearly instantaneously. In fact, no matter how fast I am, the network comes up before I can even try to load a web page. My curiosity got the better of me, and I set out to investigate how Macs are able to connect to the network so quickly, and how the network connect time in other operating systems could be improved.</li>
</ul>

<blockquote>
<p>I figure there are three main categories of time-consuming activities that occur during network initialization:<br>
Link establishment. This is the activity of establishing communication with the network's link layer. In the case of Wi-Fi, the radio must be powered on, the access point detected, and the optional encryption layer (e.g. WPA) established. After link establishment, the device is able to send and receive Ethernet frames on the network.<br>
Dynamic Host Configuration Protocol (DHCP). Through DHCP handshaking, the device negotiates an IP address for its use on the local IP network. A DHCP server is responsible for managing the IP addresses available for use on the network.<br>
Miscellaneous overhead. The operating system may perform any number of mundane tasks during the process of network initialization, including running scripts, looking up preconfigured network settings in a local database, launching programs, etc.<br>
 My investigation thus far is primarily concerned with the DHCP phase, although the other two categories would be interesting to study in the future. I set up a packet capture environment with a spare wireless access point, and observed the network activity of a number of devices as they initialized their network connection. For a worst-case scenario, let's look at the network activity captured while an Android tablet is connecting:<br>
 This tablet, presumably in the interest of "optimization", is initially skipping the DHCP discovery phase and immediately requesting its previous IP address. The only problem is this is a different network, so the DHCP server ignores these requests. After about 4.5 seconds, the tablet stubbornly tries again to request its old IP address. After another 4.5 seconds, it resigns itself to starting from scratch, and performs the DHCP discovery needed to obtain an IP address on the new network.<br>
 In all fairness, this delay wouldn't be so bad if the device was connecting to the same network as it was previously using. However, notice that the tablet waits a full 1.13 seconds after link establishment to even think about starting the DHCP process. Engineering snappiness usually means finding lots of small opportunities to save a few milliseconds here and there, and someone definitely dropped the ball here.<br>
 In contrast, let's look at the packet dump from the machine with the lightning-fast network initialization, and see if we can uncover the magic that is happening under the hood:<br>
 The key to understanding the magic is the first three unicast ARP requests. It looks like Mac OS remembers certain information about not only the last connected network, but the last several networks. In particular, it must at least persist the following tuple for each of these networks:<br>
    &gt; 1. The Ethernet address of the DHCP server<br>
    &gt; 2. The IP address of the DHCP server<br>
    &gt; 3. Its own IP address, as assigned by the DHCP server<br>
 During network initialization, the Mac transmits carefully crafted unicast ARP requests with this stored information. For each network in its memory, it attempts to send a request to the specific Ethernet address of the DHCP server for that network, in which it asks about the server's IP address, and requests that the server reply to the IP address which the Mac was formerly using on that network. Unless network hosts have been radically shuffled around, at most only one of these ARP requests will result in a response—the request corresponding to the current network, if the current network happens to be one of the remembered networks.<br>
 This network recognition technique allows the Mac to very rapidly discover if it is connected to a known network. If the network is recognized (and presumably if the Mac knows that the DHCP lease is still active), it immediately and presumptuously configures its IP interface with the address it knows is good for this network. (Well, it does perform a self-ARP for good measure, but doesn't seem to wait more than 13ms for a response.) The DHCP handshaking process begins in the background by sending a DHCP request for its assumed IP address, but the network interface is available for use during the handshaking process. If the network was not recognized, I assume the Mac would know to begin the DHCP discovery phase, instead of sending blind requests for a former IP address as the Galaxy Tab does.<br>
 The Mac's rapid network initialization can be credited to more than just the network recognition scheme. Judging by the use of ARP (which can be problematic to deal with in user-space) and the unusually regular transmission intervals (a reliable 1.0ms delay between each packet sent), I'm guessing that the Mac's DHCP client system is entirely implemented as tight kernel-mode code. The Mac began the IP interface initialization process a mere 10ms after link establishment, which is far faster than any other device I tested. Android devices such as the Galaxy Tab rely on the user-mode dhclient system (part of the dhcpcd package) dhcpcd program, which no doubt brings a lot of additional overhead such as loading the program, context switching, and perhaps even running scripts.<br>
 The next step for some daring kernel hacker is to implement a similarly aggressive DHCP client system in the Linux kernel, so that I can enjoy fast sign-on speeds on my Android tablet, Android phone, and Ubuntu netbook. There already exists a minimal DHCP client implementation in the Linux kernel, but it lacks certain features such as configuring the DNS nameservers. Perhaps it wouldn't be too much work to extend this code to support network recognition and interface with a user-mode daemon to handle such auxillary configuration information received via DHCP. If I ever get a few spare cycles, maybe I'll even take a stab at it.</p>
</blockquote>

<ul>
<li>You can also find other ways of optimizing the dhclient program and how it works in the <a href="https://calomel.org/dhclient.html" target="_blank" rel="nofollow noopener">dhclient tutorial on Calomel.org</a>.
***</li>
</ul>

<h3><a href="https://www.freebsdfoundation.org/blog/bsdcam-2017-trip-report-michael-lucas/" target="_blank" rel="nofollow noopener">BSDCam Trip Report</a></h3>

<blockquote>
<p>Over the decades, FreeBSD development and coordination has shifted from being purely on-line to involving more and more in-person coordination and cooperation. The FreeBSD Foundation sponsors a devsummit right before BSDCan, EuroBSDCon, and AsiaBSDCon, so that developers traveling to the con can leverage their airfare and hammer out some problems. Yes, the Internet is great for coordination, but nothing beats a group of developers spending ten minutes together to sketch on a whiteboard and figuring out exactly how to make something bulletproof.<br>
In addition to the coordination efforts, though, conference devsummits are hierarchical. There’s a rigid schedule, with topics decided in advance. Someone leads the session. Sessions can be highly informative, passionate arguments, or anything in between.<br>
BSDCam is… a little different. It’s an invaluable part of the FreeBSD ecosystem. However, it’s something that I wouldn’t normally attend.<br>
But right now, is not normal. I’m writing a new edition of Absolute FreeBSD. To my astonishment, people have come to rely on this book when planning their deployments and operations. While I find this satisfying, it also increases the pressure on me to get things correct. When I wrote my first FreeBSD book back in 2000, a dozen mailing lists provided authoritative information on FreeBSD development. One person could read every one of those lists. Today, that’s not possible—and the mailing lists are only one narrow aspect of the FreeBSD social system.<br>
Don’t get me wrong—it’s pretty easy to find out what people are doing and how the system works. But it’s not that easy to find out what people will be doing and how the system will work. If this book is going to be future-proof, I needed to leave my cozy nest and venture into the wilds of Cambridge, England. Sadly, the BSDCam chair agreed with my logic, so I boarded an aluminum deathtrap—sorry, a “commercial airliner”—and found myself hurtled from Detroit to Heathrow.<br>
And one Wednesday morning, I made it to the William Gates building of Cambridge University, consciousness nailed to my body by a thankfully infinite stream of proper British tea.<br>
BSDCam attendance is invitation only, and the facilities can only handle fifty folks or so. You need to be actively working on FreeBSD to wrangle an invite. Developers attend from all over the world. Yet, there’s no agenda. Robert Watson is the chair, but he doesn’t decide on the conference topics. He goes around the room and asks everyone to introduce themselves, say what they’re working on, and declare what they want to discuss during the conference. The topics of interest are tallied. The most popular topics get assigned time slots and one of the two big rooms. Folks interested in less popular topics are invited to claim one of the small breakout rooms.<br>
Then the real fun begins. I started by eavesdropping in the virtualization workshop. For two hours, people discussed FreeBSD’s virtualization needs, strengths, and weaknesses. What needs help? What should this interface look like? What compatibility is important, and what isn’t? By the end of the session, the couple dozen people had developed a reasonable consensus and, most importantly, some folks had added items to their to-do lists.<br>
Repeat for a dozen more topics. I got a good grip on what’s really happening with security mitigation techniques, FreeBSD’s cloud support, TCP/IP improvements, advances in teaching FreeBSD, and more. A BSDCan devsummit presentation on packaging the base system is informative, but eavesdropping on two dozen highly educated engineers arguing about how to nail down the final tidbits needed to make that a real thing is far more educational.<br>
To my surprise, I was able to provide useful feedback for some sessions. I speak at a lot of events outside of the FreeBSD world, and was able to share much of what I hear at Linux conferences. A tool that works well for an experienced developer doesn’t necessarily work well for everyone.<br>
Every year, I leave BSDCan tired. I left BSDCam entirely exhausted. These intense, focused discussions stretched my brain.<br>
But, I have a really good idea where key parts of FreeBSD development are actually headed. This should help future-proof the new Absolute FreeBSD, as much as any computer book can be future-proof.<br>
Plus, BSDCam throws the most glorious conference dinner I’ve ever seen.<br>
I want to thank Robert Watson for his kind invitation, and the FreeBSD Foundation for helping defray the cost of this trip</p>

<hr>
</blockquote>

<h2>Interview - The BSDNow Crew</h2>

<ul>
<li>As a kid, what did you dream of to become as an adult?</li>
</ul>

<blockquote>
<p>JT: An Astronaut<br>
BR: I wanted to be a private detective, because of all the crime novels that I read back<br>
then. I didn’t get far with it. However, I think the structured analysis skills (who did what, when, and such) help me in debugging and sysadmin work.<br>
AJ: Didn’t think about it much</p>
</blockquote>

<ul>
<li>How do you manage to stay organized day to day with so much things you're actively doing each day? (Day job, wife/girlfriend, conferences, hobbies, friends, etc.)</li>
</ul>

<blockquote>
<p>JT: Who said I was organized?<br>
BR: A lot of stuff in my calendar as reminders, open browser tabs as “to read later” list. A few things like task switching when getting stuck helps. Also, focus on a single goal for the day, even though there will be distractions. Slowly, but steadily chip away at the things you’re working on. Rather than to procrastinate and put things back to review later, get started early with easy things for a big task and then tackle the hard part. Often, things look totally chaotic and unmanageable, until you start working on them. <br>
AJ: I barely manage. Lots of Google Calendar reminders, and the entire wall of my office is covered in whiteboard sheet todo lists. I use pinboard.in to deal with finding and organizing bookmarks. Write things down, don’t trust your memory.</p>
</blockquote>

<ul>
<li>What hobbies outside of IT do you have?</li>
</ul>

<blockquote>
<p>JT: I love photography, but I do that Professional part time, so I’m not sure if that counts as a hobby anymore.  I guess it’d have to be working in the garage on my cars.<br>
BR: I do Tai Chi to relax once a week in a group, but can also do it alone, pretty much everywhere. Way too much Youtube watching and browsing the web. I did play some games before studying at the university and I’m still proud that I could control it to the bare minimum not to impact my studies. A few “lapses” from time to time, revisiting the old classics since the newer stuff won’t run on my machines anyway. Holiday time is pretty much spent for BSD conferences and events, this is where I can relax and talk with like-minded people from around the world, which is fascinating. Plus, it gets me to various places and countries I never would have dared to visit on my own.<br>
AJ: I play a few video games, and I like to ski, although I don’t go very often as most of my vacation time is spent hanging out with my BSD friends at various conferences</p>
</blockquote>

<ul>
<li>How do you relax?</li>
</ul>

<blockquote>
<p>JT: What is this word ‘relax’ and what does it mean?<br>
BR: My Tai Chi plays a big part in it I guess. I really calms you and the constant stream of thoughts for a while. It also gives you better clarity of what’s important in life. Watching movies, sleeping long.<br>
AJ: Usually watching TV or Movies. Although I have taken to doing most of my TV watching on my exercise bike now, but it is still mentally relaxing</p>
</blockquote>

<ul>
<li>If FreeBSD didn't exist,  which BSD flavour would you use? Why?</li>
</ul>

<blockquote>
<p>JT: I use TrueOS, but if FreeBSD didn’t exist, that project might not either… so…  My other choice would be HardenedBSD, but since it’s also based on FreeBSD I’m in the same dillema.<br><br>
BR: I once installed NetBSD to see what It can do. If FreeBSD wouldn’t exist, I would probably try my luck with it. OpenBSD is also appealing, but I’ve never installed it.<br>
AJ: When I started using FreeBSD in 2000, the only other BSD I had heard of at the time was OpenBSD. If FreeBSD wasn’t around, I don’t think the world would look like it does, so it is hard to speculate.</p>
</blockquote>

<ul>
<li>If any of the BSD's weren't around and you had to use Linux, which camp would belong to? (Redhat, SUSE, Debian, Ubuntu, Gentoo?)</li>
</ul>

<blockquote>
<p>JT: I learned Linux in the mid 90s using Slackware, which I used consistently up until the mid 2000s, when I joined the PuppyLinux community and eventually became a developer (FYI, Puppy was/is/can be based on Slackware -- its complicated).  So I’d go back to using either Slackware or PuppyLinux.<br>
BR: I tried various Linux distributions until I landed at Debian. I used is pretty extensively as my desktop OS at home, building custom kernels and packages to install them until I discovered FreeBSD. I ran both side by side for a few months for learning until one day I figured out that I had not booted Debian in a while, so I switched completely. <br>
AJ: The first Linux I played with was Slackware, and it is the most BSD like, but the bits of Linux I learned in school were Redhat and so I can somewhat wrap my head around it, although now that they are changing everything to systemd, all of that old knowledge is more harmful than useful.</p>
</blockquote>

<ul>
<li>Are you still finding yourself in need to use Windows/Mac OS? Why?</li>
</ul>

<blockquote>
<p>JT: I work part time as a professional Photographer, so I do use Windows for my photography work.  While I can do everything I need to do in Linux, it comes down to being pragmatic about my time.  What takes me several hours to accomplish in Linux I can accomplish in 20 minutes on Windows.<br>
BR: I was a long time Windows-only user before my Unix days. But back when Vista was about to come out and I needed a new laptop, my choice was basically learning to cope with Vistas awful features or learn MacOS X. I did the latter, it increased my productivity since it’s really a good Unix desktop experience (at least, back then). I only have to use Windows at work from time to time as I manage our Windows Terminal server, which keeps the exposure low enough and I only connect to it to use a certain app not available for the Mac or the BSDs.<br>
AJ: I still use Windows to play games, for a lot of video conferencing, and to produce BSD Now. Some of it could be done on BSD but not as easily. I have promised myself that I will switch to 100% BSD rather than upgrade to Windows 10, so we’ll see how that goes.</p>
</blockquote>

<ul>
<li>Please describe your home networking setup.  Router type, router OS, router hardware, network segmentation, wifi apparatus(es), other devices connected, and anything else that might be interesting about your home network.</li>
</ul>

<blockquote>
<p>BR: Very simple and boring: Apple Airport Express base station and an AVM FritzBox  for DNS, DHCP, and the link to my provider. A long network cable to my desktop machine. That I use less and less often. I just bought an RPI 3 for some home use in the future to replace it. Mostly my brother’s and my Macbook Pro’s are connected, our phones and the iPad of my mother.  </p>

<p>AJ: I have a E3-1220 v3 (dual 3.1ghz + HT) with 8 GB of ram, and 4x Intel gigabit server NICs as my router, and it runs vanilla FreeBSD (usually some snapshot of -current). I have 4 different VLANs, Home, Office, DMZ, and Guest WiFi. WiFi is served via a tiny USB powered device I bought in Tokyo years ago, it serves 3 different SSIDs, one for each VLAN except the DMZ. There are ethernet jacks in every room wired for 10 gigabit, although the only machines with 10 gigabit are my main workstation, file server, and some machines in the server rack. There are 3 switches, one for the house (in the laundry room), one for the rack, and one for 10gig stuff. There is a rack in the basement spare bedroom, it has 7 servers in it, mostly storage for live replicas of customer data for my company.</p>
</blockquote>

<ul>
<li>How do guys manage to get your work done on FreeBSD desktops? What do you do when you need to a Linux or Windows app that isn't ported, or working? I've made several attempts to switch to FreeBSD, but each attempt failed because of tools not being available (e.g. Zoom, Dropbox, TeamViewer, Crashplan) or broken (e.g. VirtualBox).</li>
</ul>

<blockquote>
<p>BR: I use VIrtualBox for everything that is not natively available or Windows-only. Unfortunately, that means no modern games. I mostly do work in the shell when I’m on FreeBSD and when it has to be a graphical application, then I use Fluxbox as the DE. I want to get work done, not look at fancy eye-candy that get’s boring after a while. Deactivated the same stuff on my mac due to the same reason. I look for alternative software online, but my needs are relatively easy to satisfy as I’m not doing video editing/rendering and such.</p>

<p>AJ: I generally find that I don’t need these apps. I use Firefox, Thunderbird, OpenSSH, Quassel, KomodoEdit, and a few other apps, so my needs are not very demanding. It is annoying when packages are broken, but I usually work around this with boot environments, and being able to just roll back to a version that worked for a few days until the problem is solved. I do still have access to a windows machine for the odd time I need specific VPN software or access to Dell/HP etc out-of-band management tools.</p>
</blockquote>

<ul>
<li>Which desktop environments are your favorite, and why? For example, I like i3, Xfce, and I'm drawn to Lumina's ethos, but so far always seem to end up back on Xfc because of its ease of use, flexibility, and dashing good looks.</li>
</ul>

<blockquote>
<p>JT: As a Lumina Desktop developer, I think my preference is obvious. ;)  I am also a long <br>
timeOpenBox user, so I have a soft place in my heart for that as well.  </p>

<p>BR: I use Fluxbox when I need to work with a lot of windows or an application demands X11. KDE and others are too memory heavy for me and I rarely use even 20% of the features they provide.<br>
AJ: I was a long time KDE user, but I have adopted Lumina. I find it fast, and that it gets out of my way and lets me do what I want. It had some annoyances early on, but I’ve nagged the developers into making it work for me.</p>
</blockquote>

<ul>
<li>Which command-line shells do you prefer, why, and how (if at all) have you customised the environment or prompt?</li>
</ul>

<blockquote>
<p>BR: I use zsh, but without all the fancy stuff you can find online. It might make you more productive, yes. But again, I try to keep things simple. I’m slowly learning tmux and want to work more in it in the future. I sometimes look at other BSD people’s laptops and am amazed at what they do with window-management in tmux. My prompt looks like this:</p>

<pre><code>bcr@Voyager:~&gt;                             20:20 17-08-17
Put this in your .zshrc to get the same result:
PROMPT='%n@%m:%~&gt;'
RPROMPT='%T %D'
</code></pre>

<p>AJ: I started using tcsh early on, because it was the shell on the first box I had access to, and because one of the first things I read in “BSD Hacks” was how to enable ‘typo correction”, which made my life a lot better especially on dial up in the early days. My shell prompt looks like this: allan@CA-TOR1-02:/usr/home/allan%</p>
</blockquote>

<ul>
<li>What is one thing (or more) missing in FreeBSD you would import from another project or community? Could be tech, process, etc.</li>
</ul>

<blockquote>
<p>JT: AUFS from Linux</p>

<p>BR: Nohup from Illumos where you can detach an already running process and put it in the background. I often forget that and I’m not in tmux when that happens, so I can see myself use that feature a lot.</p>

<p>AJ: Zones (more complete Jails) from IllumOS</p>
</blockquote>

<ul>
<li>how do you manage your time to learn about and work on FreeBSD?  Does your  work/employment enable what you do, or are your contributions mainly done in private time?</li>
</ul>

<blockquote>
<p>JT: These days I’m mostly learning things I need for work, so it just falls into something I’m doing while working on work projects.</p>

<p>BR: We have a lot of time during the semester holidays to learn on our own, it’s part of the idea of being in a university to keep yourself updated, at least for me. Especially in the fast moving world of IT. I also read a lot in my free time. My interests can shift sometimes, but then I devour everything I can find on the topic. Can be a bit excessive, but has gotten me where I am now and I still need a lot to learn (and want to). Since I work with FreeBSD at work (my owndoing), I can try out many things there.</p>

<p>AJ: My work means a spend a lot of time working with FreeBSD, but not that much time working ON it. My contributions are mostly done outside of work, but as I own the company I do get more flexibility to take time off for conferences and other FreeBSD related stuff.</p>
</blockquote>

<ul>
<li>we know we can bribe Michael W Lucas with gelato (<em>good</em> gelato that is), but what can we use to bribe <em>you</em> guys? Like when I want to have Allan to work on fixing a bug which prevents me from running ZFS on this fancy rock64 board?</li>
</ul>

<blockquote>
<p>BR: Desserts of various kinds. </p>

<p>AJ: I am probably not the right person to look at your rock64 board. Most people in the project have taken to bribing me with chocolate. In general, my todo list is so long, the best way is a trade, you take this task and I’ll take that task.</p>
</blockquote>

<ul>
<li>Is your daily mobile device iOS, Android, Windows Mobile, or other? Why?</li>
</ul>

<blockquote>
<p>JT: These days I’m using Android on my Blackberry Priv, but until recently I was still a heavy user of Sailfish OS.  I would use SailfishOS everyday, if I could find a phone with a keyboard that I could run it on.</p>

<p>BR: iOS on the iPhone 7 currently. Never used an Android phone, saw it on other people’s devices and what they can do with it (much more). But the infrequent security updates (if any at all) keep me away from it.</p>

<p>AJ: I have a Google Nexus 6 (Android 7.1). I wanted the ‘pure’ Android experience, and I had been happy with my previous Nexus S. I don’t run a custom OS/ROM or anything because I use the phone to verify that video streams work on an ‘average users device’. I am displeased that support for my device will end soon. I am not sure what device I will get next, but it definitely won’t be an iPhone.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170808065718&amp;mode=flat&amp;count=30" target="_blank" rel="nofollow noopener">Beta Update - Request for (more) Testing</a></h3>

<ul>
<li> <a href="https://beta.undeadly.org/" target="_blank" rel="nofollow noopener">https://beta.undeadly.org/</a> has received an update. The most significant changes include:</li>
</ul>

<blockquote>
<p>The site has been given a less antiquated "look". (As the topic icons have been eliminated, we are no longer seeking help with those graphics.)<br>
The site now uses a moderate amount of semantic HTML5.<br>
Several bugs in the HTML fragment validator (used for submissions and comments) have been fixed.<br>
To avoid generating invalid HTML, submission content which fails validation is no longer displayed in submission/comment previews.<br>
Plain text submissions are converted to HTML in a more useful fashion. (Instead of just converting each EOL to <br>, the converter now generates proper paragraphs and interprets two or more consecutive EOLs as indicating a paragraph break.)</p>
</blockquote>

<ul>
<li> The redevelopment remains a work-in-progress. Many thanks to those who have contributed!</li>
</ul>

<blockquote>
<p>As before, constructive feedback would be appreciated. Of particular interest are reports of bugs in behaviour (for example, in the HTML validator or in authentication) that would preclude the adoption of the current code for the main site.</p>

<hr>
</blockquote>

<h3><a href="http://lists.dragonflybsd.org/pipermail/users/2017-August/313552.html" target="_blank" rel="nofollow noopener">High-process-count support added to master</a></h3>

<blockquote>
<p>We've fixed a number of bottlenecks that can develop when the number of user processes runs into the tens of thousands or higher.  One thing led to another and I said to myself, "gee, we have a 6-digit PID, might as well make it work to a million!".  With the commits made today, master can support at least 900,000 processes with just a kern.maxproc setting in<br>
/boot/loader.conf, assuming the machine has the memory to handle it.<br>
 And, in fact, as today's machines start to ratchet up there in both memory capacity and core count, with fast storage (NVMe) and fast networking (10GigE and higher), even in consumer boxes, this is actually something that one might want to do.  With AMD's threadripper and EPYC chips now out, the Intel&lt;-&gt;AMD cpu wars are back on!   Boasting up to 32 cores (64 threads) per socket and two sockets on EPYC, terabytes of ram, and motherboards with dual 10GigE built-in, the reality is that these numbers are already achievable in a useful manner.<br>
 In anycase, I've tested these changes on a dual-socket xeon.  I can in-fact start 900,000 processes.  They don't get a whole lot of cpu and running 'ps' would be painful, but it works and the system is still responsive from the shell with all of that going on.<br>
 xeon126# uptime<br>
 1:42PM  up 9 mins, 3 users, load averages: 890407.00, 549381.40, 254199.55<br>
 In fact, judging from the memory use, these minimal test processes only eat around 60KB each.  900,000 of them ate only 55GB on a 128GB machine.  So even a million processes is not out of the question, depending on the cpu requirements for those processes.  Today's modern machines can be stuffed with enormous amounts of memory.<br>
 Of course, our PIDs are currently limited to 6 digits, so a million is kinda the upper limit in terms of discrete user processes (verses pthreads which are less restricted).  I'd rather not go to 7 digits (yet).</p>

<hr>
</blockquote>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-current/2017-August/066783.html" target="_blank" rel="nofollow noopener">CFT: Driver for generic MS Windows 7/8/10 - compatible USB HID multi-touch touchscreens</a></h3>

<ul>
<li>Following patch [1] adds support for generic MS Windows 7/8/10 - compatible USB HID multi-touch touchscreens via evdev protocol. It is intended to be a native replacement of hid-multitouch.c driver found in Linux distributions and multimedia/webcamd port.</li>
<li>Patch is made for 12-CURRENT and most probably can be applied to recent 11-STABLE and 11.1-RELEASE (not tested)</li>
<li>How to test"</li>
</ul>

<pre><code>1. Apply patch [1]
2. To compile this driver into the kernel, place the following lines 
into your kernel configuration file:
       device wmt
       device usb
       device evdev
    Alternatively, to load the driver as a module at boot time, place the 
following line in loader.conf(5):
       wmt_load="YES"
3. Install x11-drivers/xf86-input-evdev or 
x11-drivers/xf86-input-libinput port
4. Tell XOrg to use evdev or libinput driver for the device:
</code></pre>

<pre><code>Section "ServerLayout"
     InputDevice    "TouchScreen0" "SendCoreEvents"
EndSection


Section "InputDevice"
     Identifier  "TouchScreen0"
     Driver      "evdev"
&amp;#35;   Driver      "libinput"
     Option      "Device" "/dev/input/eventXXX"
EndSection
</code></pre>

<ul>
<li>Exact value of "/dev/input/eventXXX" can be obtained with evemu-record utility from devel/evemu.</li>
<li>Note1: Currently, driver does not support pens or touchpads.</li>
<li>Note2: wmt.ko should be kld-loaded before uhid driver to take precedence over it! Otherwise uhid can be kld-unloaded after loading of wmt.</li>
<li>wmt review: <a href="https://reviews.freebsd.org/D12017" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D12017</a></li>
<li>Raw diff: <a href="https://reviews.freebsd.org/D12017.diff" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D12017.diff</a>
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://bsdmag.org/programm_history/" target="_blank" rel="nofollow noopener">BSDMag Programing Languages Infographic</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170815171854" target="_blank" rel="nofollow noopener">t2k17 Hackathon Report: Bob Beck on buffer cache tweaks, libressl and pledge progress</a></li>
<li><a href="https://www.freebsdfoundation.org/past-issues/resource-control/" target="_blank" rel="nofollow noopener">New FreeBSD Journal</a></li>
<li><a href="http://mail-index.netbsd.org/netbsd-advocacy/2017/08/10/msg000744.html" target="_blank" rel="nofollow noopener">NetBSD machines at Open Source Conference 2017 Kyoto</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/3H6TDJV" target="_blank" rel="nofollow noopener">Dan - HDD question</a></li>
<li><a href="http://dpaste.com/10F086V" target="_blank" rel="nofollow noopener">Benjamin - scrub of death</a></li>
<li><a href="http://dpaste.com/2D9102K" target="_blank" rel="nofollow noopener">Jason - Router Opinion</a> </li>
<li><a href="http://dpaste.com/1XYYTWF" target="_blank" rel="nofollow noopener">Sohrab - Thanks</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>In this episode, we take a look at the reimplementation of NetBSD using a Microkernel, check out what makes DHCP faster, and see what high-process count support for DragonflyBSD has to offer, and we answer the questions you’ve always wanted to ask us.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://theembeddedboard.review/a-reimplementation-of-netbsd-using-a-microkernel-part-1-of-2/" target="_blank" rel="nofollow noopener">A Reimplementation Of Netbsd Using a Microkernel</a></h3>

<ul>
<li>Minix author Andy Tanenbaum writes in <a href="http://theembeddedboard.review/a-reimplementation-of-netbsd-using-a-microkernel-part-1-of-2/" target="_blank" rel="nofollow noopener">Part 1 of a-reimplementation-of-netbsd-using-a-microkernel</a></li>
</ul>

<blockquote>
<p>Based on the MINIX 3 microkernel, we have constructed a system that to the user looks a great deal like NetBSD. It uses pkgsrc, NetBSD headers and libraries, and passes over 80% of the KYUA tests). However, inside, the system is completely different. At the bottom is a small (about 13,000 lines of code) microkernel that handles interrupts, message passing, low-level scheduling, and hardware related details. Nearly all of the actual operating system, including memory management, the file system(s), paging, and all the device drivers run as user-mode processes protected by the MMU. As a consequence, failures or security issues in one component cannot spread to other ones. In some cases a failed component can be replaced automatically and on the fly, while the system is running, and without user processes noticing it. The talk will discuss the history, goals, technology, and status of the project.<br>
 Research at the Vrije Universiteit has resulted in a reimplementation of NetBSD using a microkernel instead of the traditional monolithic kernel. To the user, the system looks a great deal like NetBSD (it passes over 80% of the KYUA tests). However, inside, the system is completely different. At the bottom is a small (about 13,000 lines of code) microkernel that handles interrupts, message passing, low-level scheduling, and hardware related details. Nearly all of the actual operating system, including memory management, the file system(s), paging, and all the device drivers run as user-mode processes protected by the MMU. As a consequence, failures or security issues in one component cannot spread to other ones. In some cases a failed component can be replaced automatically and on the fly, while the system is running.<br>
 The latest work has been adding live update, making it possible to upgrade to a new version of the operating system WITHOUT a reboot and without running processes even noticing. No other operating system can do this.<br>
 The system is built on MINIX 3, a derivative of the original MINIX system, which was intended for education. However, after the original author, Andrew Tanenbaum, received a 2 million euro grant from the Royal Netherlands Academy of Arts and Sciences and a 2.5 million euro grant from the European Research Council, the focus changed to building a highly reliable, secure, fault tolerant operating system, with an emphasis on embedded systems. The code is open source and can be downloaded from <a href="http://www.minix3.org" target="_blank" rel="nofollow noopener">www.minix3.org</a>. It runs on the x86 and ARM Cortex V8 (e.g., BeagleBones). Since 2007, the Website has been visited over 3 million times and the bootable image file has been downloaded over 600,000 times. The talk will discuss the history, goals, technology, and status of the project.</p>
</blockquote>

<ul>
<li><a href="http://theembeddedboard.review/a-reimplementation-of-netbsd-using-a-microkernel-part-2-of-2/" target="_blank" rel="nofollow noopener">Part 2</a> is also available.
***</li>
</ul>

<h3><a href="https://cafbit.com/post/rapid_dhcp_or_how_do/" target="_blank" rel="nofollow noopener">Rapid DHCP: Or, how do Macs get on the network so fast?</a></h3>

<ul>
<li>One of life's minor annoyances is having to wait on my devices to connect to the network after I wake them from sleep. All too often, I'll open the lid on my EeePC netbook, enter a web address, and get the dreaded "This webpage is not available" message because the machine is still working on connecting to my Wi-Fi network. On some occasions, I have to twiddle my thumbs for as long as 10-15 seconds before the network is ready to be used. The frustrating thing is that I know it doesn't have to be this way. I know this because I have a Mac. When I open the lid of my MacBook Pro, it connects to the network nearly instantaneously. In fact, no matter how fast I am, the network comes up before I can even try to load a web page. My curiosity got the better of me, and I set out to investigate how Macs are able to connect to the network so quickly, and how the network connect time in other operating systems could be improved.</li>
</ul>

<blockquote>
<p>I figure there are three main categories of time-consuming activities that occur during network initialization:<br>
Link establishment. This is the activity of establishing communication with the network's link layer. In the case of Wi-Fi, the radio must be powered on, the access point detected, and the optional encryption layer (e.g. WPA) established. After link establishment, the device is able to send and receive Ethernet frames on the network.<br>
Dynamic Host Configuration Protocol (DHCP). Through DHCP handshaking, the device negotiates an IP address for its use on the local IP network. A DHCP server is responsible for managing the IP addresses available for use on the network.<br>
Miscellaneous overhead. The operating system may perform any number of mundane tasks during the process of network initialization, including running scripts, looking up preconfigured network settings in a local database, launching programs, etc.<br>
 My investigation thus far is primarily concerned with the DHCP phase, although the other two categories would be interesting to study in the future. I set up a packet capture environment with a spare wireless access point, and observed the network activity of a number of devices as they initialized their network connection. For a worst-case scenario, let's look at the network activity captured while an Android tablet is connecting:<br>
 This tablet, presumably in the interest of "optimization", is initially skipping the DHCP discovery phase and immediately requesting its previous IP address. The only problem is this is a different network, so the DHCP server ignores these requests. After about 4.5 seconds, the tablet stubbornly tries again to request its old IP address. After another 4.5 seconds, it resigns itself to starting from scratch, and performs the DHCP discovery needed to obtain an IP address on the new network.<br>
 In all fairness, this delay wouldn't be so bad if the device was connecting to the same network as it was previously using. However, notice that the tablet waits a full 1.13 seconds after link establishment to even think about starting the DHCP process. Engineering snappiness usually means finding lots of small opportunities to save a few milliseconds here and there, and someone definitely dropped the ball here.<br>
 In contrast, let's look at the packet dump from the machine with the lightning-fast network initialization, and see if we can uncover the magic that is happening under the hood:<br>
 The key to understanding the magic is the first three unicast ARP requests. It looks like Mac OS remembers certain information about not only the last connected network, but the last several networks. In particular, it must at least persist the following tuple for each of these networks:<br>
    &gt; 1. The Ethernet address of the DHCP server<br>
    &gt; 2. The IP address of the DHCP server<br>
    &gt; 3. Its own IP address, as assigned by the DHCP server<br>
 During network initialization, the Mac transmits carefully crafted unicast ARP requests with this stored information. For each network in its memory, it attempts to send a request to the specific Ethernet address of the DHCP server for that network, in which it asks about the server's IP address, and requests that the server reply to the IP address which the Mac was formerly using on that network. Unless network hosts have been radically shuffled around, at most only one of these ARP requests will result in a response—the request corresponding to the current network, if the current network happens to be one of the remembered networks.<br>
 This network recognition technique allows the Mac to very rapidly discover if it is connected to a known network. If the network is recognized (and presumably if the Mac knows that the DHCP lease is still active), it immediately and presumptuously configures its IP interface with the address it knows is good for this network. (Well, it does perform a self-ARP for good measure, but doesn't seem to wait more than 13ms for a response.) The DHCP handshaking process begins in the background by sending a DHCP request for its assumed IP address, but the network interface is available for use during the handshaking process. If the network was not recognized, I assume the Mac would know to begin the DHCP discovery phase, instead of sending blind requests for a former IP address as the Galaxy Tab does.<br>
 The Mac's rapid network initialization can be credited to more than just the network recognition scheme. Judging by the use of ARP (which can be problematic to deal with in user-space) and the unusually regular transmission intervals (a reliable 1.0ms delay between each packet sent), I'm guessing that the Mac's DHCP client system is entirely implemented as tight kernel-mode code. The Mac began the IP interface initialization process a mere 10ms after link establishment, which is far faster than any other device I tested. Android devices such as the Galaxy Tab rely on the user-mode dhclient system (part of the dhcpcd package) dhcpcd program, which no doubt brings a lot of additional overhead such as loading the program, context switching, and perhaps even running scripts.<br>
 The next step for some daring kernel hacker is to implement a similarly aggressive DHCP client system in the Linux kernel, so that I can enjoy fast sign-on speeds on my Android tablet, Android phone, and Ubuntu netbook. There already exists a minimal DHCP client implementation in the Linux kernel, but it lacks certain features such as configuring the DNS nameservers. Perhaps it wouldn't be too much work to extend this code to support network recognition and interface with a user-mode daemon to handle such auxillary configuration information received via DHCP. If I ever get a few spare cycles, maybe I'll even take a stab at it.</p>
</blockquote>

<ul>
<li>You can also find other ways of optimizing the dhclient program and how it works in the <a href="https://calomel.org/dhclient.html" target="_blank" rel="nofollow noopener">dhclient tutorial on Calomel.org</a>.
***</li>
</ul>

<h3><a href="https://www.freebsdfoundation.org/blog/bsdcam-2017-trip-report-michael-lucas/" target="_blank" rel="nofollow noopener">BSDCam Trip Report</a></h3>

<blockquote>
<p>Over the decades, FreeBSD development and coordination has shifted from being purely on-line to involving more and more in-person coordination and cooperation. The FreeBSD Foundation sponsors a devsummit right before BSDCan, EuroBSDCon, and AsiaBSDCon, so that developers traveling to the con can leverage their airfare and hammer out some problems. Yes, the Internet is great for coordination, but nothing beats a group of developers spending ten minutes together to sketch on a whiteboard and figuring out exactly how to make something bulletproof.<br>
In addition to the coordination efforts, though, conference devsummits are hierarchical. There’s a rigid schedule, with topics decided in advance. Someone leads the session. Sessions can be highly informative, passionate arguments, or anything in between.<br>
BSDCam is… a little different. It’s an invaluable part of the FreeBSD ecosystem. However, it’s something that I wouldn’t normally attend.<br>
But right now, is not normal. I’m writing a new edition of Absolute FreeBSD. To my astonishment, people have come to rely on this book when planning their deployments and operations. While I find this satisfying, it also increases the pressure on me to get things correct. When I wrote my first FreeBSD book back in 2000, a dozen mailing lists provided authoritative information on FreeBSD development. One person could read every one of those lists. Today, that’s not possible—and the mailing lists are only one narrow aspect of the FreeBSD social system.<br>
Don’t get me wrong—it’s pretty easy to find out what people are doing and how the system works. But it’s not that easy to find out what people will be doing and how the system will work. If this book is going to be future-proof, I needed to leave my cozy nest and venture into the wilds of Cambridge, England. Sadly, the BSDCam chair agreed with my logic, so I boarded an aluminum deathtrap—sorry, a “commercial airliner”—and found myself hurtled from Detroit to Heathrow.<br>
And one Wednesday morning, I made it to the William Gates building of Cambridge University, consciousness nailed to my body by a thankfully infinite stream of proper British tea.<br>
BSDCam attendance is invitation only, and the facilities can only handle fifty folks or so. You need to be actively working on FreeBSD to wrangle an invite. Developers attend from all over the world. Yet, there’s no agenda. Robert Watson is the chair, but he doesn’t decide on the conference topics. He goes around the room and asks everyone to introduce themselves, say what they’re working on, and declare what they want to discuss during the conference. The topics of interest are tallied. The most popular topics get assigned time slots and one of the two big rooms. Folks interested in less popular topics are invited to claim one of the small breakout rooms.<br>
Then the real fun begins. I started by eavesdropping in the virtualization workshop. For two hours, people discussed FreeBSD’s virtualization needs, strengths, and weaknesses. What needs help? What should this interface look like? What compatibility is important, and what isn’t? By the end of the session, the couple dozen people had developed a reasonable consensus and, most importantly, some folks had added items to their to-do lists.<br>
Repeat for a dozen more topics. I got a good grip on what’s really happening with security mitigation techniques, FreeBSD’s cloud support, TCP/IP improvements, advances in teaching FreeBSD, and more. A BSDCan devsummit presentation on packaging the base system is informative, but eavesdropping on two dozen highly educated engineers arguing about how to nail down the final tidbits needed to make that a real thing is far more educational.<br>
To my surprise, I was able to provide useful feedback for some sessions. I speak at a lot of events outside of the FreeBSD world, and was able to share much of what I hear at Linux conferences. A tool that works well for an experienced developer doesn’t necessarily work well for everyone.<br>
Every year, I leave BSDCan tired. I left BSDCam entirely exhausted. These intense, focused discussions stretched my brain.<br>
But, I have a really good idea where key parts of FreeBSD development are actually headed. This should help future-proof the new Absolute FreeBSD, as much as any computer book can be future-proof.<br>
Plus, BSDCam throws the most glorious conference dinner I’ve ever seen.<br>
I want to thank Robert Watson for his kind invitation, and the FreeBSD Foundation for helping defray the cost of this trip</p>

<hr>
</blockquote>

<h2>Interview - The BSDNow Crew</h2>

<ul>
<li>As a kid, what did you dream of to become as an adult?</li>
</ul>

<blockquote>
<p>JT: An Astronaut<br>
BR: I wanted to be a private detective, because of all the crime novels that I read back<br>
then. I didn’t get far with it. However, I think the structured analysis skills (who did what, when, and such) help me in debugging and sysadmin work.<br>
AJ: Didn’t think about it much</p>
</blockquote>

<ul>
<li>How do you manage to stay organized day to day with so much things you're actively doing each day? (Day job, wife/girlfriend, conferences, hobbies, friends, etc.)</li>
</ul>

<blockquote>
<p>JT: Who said I was organized?<br>
BR: A lot of stuff in my calendar as reminders, open browser tabs as “to read later” list. A few things like task switching when getting stuck helps. Also, focus on a single goal for the day, even though there will be distractions. Slowly, but steadily chip away at the things you’re working on. Rather than to procrastinate and put things back to review later, get started early with easy things for a big task and then tackle the hard part. Often, things look totally chaotic and unmanageable, until you start working on them. <br>
AJ: I barely manage. Lots of Google Calendar reminders, and the entire wall of my office is covered in whiteboard sheet todo lists. I use pinboard.in to deal with finding and organizing bookmarks. Write things down, don’t trust your memory.</p>
</blockquote>

<ul>
<li>What hobbies outside of IT do you have?</li>
</ul>

<blockquote>
<p>JT: I love photography, but I do that Professional part time, so I’m not sure if that counts as a hobby anymore.  I guess it’d have to be working in the garage on my cars.<br>
BR: I do Tai Chi to relax once a week in a group, but can also do it alone, pretty much everywhere. Way too much Youtube watching and browsing the web. I did play some games before studying at the university and I’m still proud that I could control it to the bare minimum not to impact my studies. A few “lapses” from time to time, revisiting the old classics since the newer stuff won’t run on my machines anyway. Holiday time is pretty much spent for BSD conferences and events, this is where I can relax and talk with like-minded people from around the world, which is fascinating. Plus, it gets me to various places and countries I never would have dared to visit on my own.<br>
AJ: I play a few video games, and I like to ski, although I don’t go very often as most of my vacation time is spent hanging out with my BSD friends at various conferences</p>
</blockquote>

<ul>
<li>How do you relax?</li>
</ul>

<blockquote>
<p>JT: What is this word ‘relax’ and what does it mean?<br>
BR: My Tai Chi plays a big part in it I guess. I really calms you and the constant stream of thoughts for a while. It also gives you better clarity of what’s important in life. Watching movies, sleeping long.<br>
AJ: Usually watching TV or Movies. Although I have taken to doing most of my TV watching on my exercise bike now, but it is still mentally relaxing</p>
</blockquote>

<ul>
<li>If FreeBSD didn't exist,  which BSD flavour would you use? Why?</li>
</ul>

<blockquote>
<p>JT: I use TrueOS, but if FreeBSD didn’t exist, that project might not either… so…  My other choice would be HardenedBSD, but since it’s also based on FreeBSD I’m in the same dillema.<br><br>
BR: I once installed NetBSD to see what It can do. If FreeBSD wouldn’t exist, I would probably try my luck with it. OpenBSD is also appealing, but I’ve never installed it.<br>
AJ: When I started using FreeBSD in 2000, the only other BSD I had heard of at the time was OpenBSD. If FreeBSD wasn’t around, I don’t think the world would look like it does, so it is hard to speculate.</p>
</blockquote>

<ul>
<li>If any of the BSD's weren't around and you had to use Linux, which camp would belong to? (Redhat, SUSE, Debian, Ubuntu, Gentoo?)</li>
</ul>

<blockquote>
<p>JT: I learned Linux in the mid 90s using Slackware, which I used consistently up until the mid 2000s, when I joined the PuppyLinux community and eventually became a developer (FYI, Puppy was/is/can be based on Slackware -- its complicated).  So I’d go back to using either Slackware or PuppyLinux.<br>
BR: I tried various Linux distributions until I landed at Debian. I used is pretty extensively as my desktop OS at home, building custom kernels and packages to install them until I discovered FreeBSD. I ran both side by side for a few months for learning until one day I figured out that I had not booted Debian in a while, so I switched completely. <br>
AJ: The first Linux I played with was Slackware, and it is the most BSD like, but the bits of Linux I learned in school were Redhat and so I can somewhat wrap my head around it, although now that they are changing everything to systemd, all of that old knowledge is more harmful than useful.</p>
</blockquote>

<ul>
<li>Are you still finding yourself in need to use Windows/Mac OS? Why?</li>
</ul>

<blockquote>
<p>JT: I work part time as a professional Photographer, so I do use Windows for my photography work.  While I can do everything I need to do in Linux, it comes down to being pragmatic about my time.  What takes me several hours to accomplish in Linux I can accomplish in 20 minutes on Windows.<br>
BR: I was a long time Windows-only user before my Unix days. But back when Vista was about to come out and I needed a new laptop, my choice was basically learning to cope with Vistas awful features or learn MacOS X. I did the latter, it increased my productivity since it’s really a good Unix desktop experience (at least, back then). I only have to use Windows at work from time to time as I manage our Windows Terminal server, which keeps the exposure low enough and I only connect to it to use a certain app not available for the Mac or the BSDs.<br>
AJ: I still use Windows to play games, for a lot of video conferencing, and to produce BSD Now. Some of it could be done on BSD but not as easily. I have promised myself that I will switch to 100% BSD rather than upgrade to Windows 10, so we’ll see how that goes.</p>
</blockquote>

<ul>
<li>Please describe your home networking setup.  Router type, router OS, router hardware, network segmentation, wifi apparatus(es), other devices connected, and anything else that might be interesting about your home network.</li>
</ul>

<blockquote>
<p>BR: Very simple and boring: Apple Airport Express base station and an AVM FritzBox  for DNS, DHCP, and the link to my provider. A long network cable to my desktop machine. That I use less and less often. I just bought an RPI 3 for some home use in the future to replace it. Mostly my brother’s and my Macbook Pro’s are connected, our phones and the iPad of my mother.  </p>

<p>AJ: I have a E3-1220 v3 (dual 3.1ghz + HT) with 8 GB of ram, and 4x Intel gigabit server NICs as my router, and it runs vanilla FreeBSD (usually some snapshot of -current). I have 4 different VLANs, Home, Office, DMZ, and Guest WiFi. WiFi is served via a tiny USB powered device I bought in Tokyo years ago, it serves 3 different SSIDs, one for each VLAN except the DMZ. There are ethernet jacks in every room wired for 10 gigabit, although the only machines with 10 gigabit are my main workstation, file server, and some machines in the server rack. There are 3 switches, one for the house (in the laundry room), one for the rack, and one for 10gig stuff. There is a rack in the basement spare bedroom, it has 7 servers in it, mostly storage for live replicas of customer data for my company.</p>
</blockquote>

<ul>
<li>How do guys manage to get your work done on FreeBSD desktops? What do you do when you need to a Linux or Windows app that isn't ported, or working? I've made several attempts to switch to FreeBSD, but each attempt failed because of tools not being available (e.g. Zoom, Dropbox, TeamViewer, Crashplan) or broken (e.g. VirtualBox).</li>
</ul>

<blockquote>
<p>BR: I use VIrtualBox for everything that is not natively available or Windows-only. Unfortunately, that means no modern games. I mostly do work in the shell when I’m on FreeBSD and when it has to be a graphical application, then I use Fluxbox as the DE. I want to get work done, not look at fancy eye-candy that get’s boring after a while. Deactivated the same stuff on my mac due to the same reason. I look for alternative software online, but my needs are relatively easy to satisfy as I’m not doing video editing/rendering and such.</p>

<p>AJ: I generally find that I don’t need these apps. I use Firefox, Thunderbird, OpenSSH, Quassel, KomodoEdit, and a few other apps, so my needs are not very demanding. It is annoying when packages are broken, but I usually work around this with boot environments, and being able to just roll back to a version that worked for a few days until the problem is solved. I do still have access to a windows machine for the odd time I need specific VPN software or access to Dell/HP etc out-of-band management tools.</p>
</blockquote>

<ul>
<li>Which desktop environments are your favorite, and why? For example, I like i3, Xfce, and I'm drawn to Lumina's ethos, but so far always seem to end up back on Xfc because of its ease of use, flexibility, and dashing good looks.</li>
</ul>

<blockquote>
<p>JT: As a Lumina Desktop developer, I think my preference is obvious. ;)  I am also a long <br>
timeOpenBox user, so I have a soft place in my heart for that as well.  </p>

<p>BR: I use Fluxbox when I need to work with a lot of windows or an application demands X11. KDE and others are too memory heavy for me and I rarely use even 20% of the features they provide.<br>
AJ: I was a long time KDE user, but I have adopted Lumina. I find it fast, and that it gets out of my way and lets me do what I want. It had some annoyances early on, but I’ve nagged the developers into making it work for me.</p>
</blockquote>

<ul>
<li>Which command-line shells do you prefer, why, and how (if at all) have you customised the environment or prompt?</li>
</ul>

<blockquote>
<p>BR: I use zsh, but without all the fancy stuff you can find online. It might make you more productive, yes. But again, I try to keep things simple. I’m slowly learning tmux and want to work more in it in the future. I sometimes look at other BSD people’s laptops and am amazed at what they do with window-management in tmux. My prompt looks like this:</p>

<pre><code>bcr@Voyager:~&gt;                             20:20 17-08-17
Put this in your .zshrc to get the same result:
PROMPT='%n@%m:%~&gt;'
RPROMPT='%T %D'
</code></pre>

<p>AJ: I started using tcsh early on, because it was the shell on the first box I had access to, and because one of the first things I read in “BSD Hacks” was how to enable ‘typo correction”, which made my life a lot better especially on dial up in the early days. My shell prompt looks like this: allan@CA-TOR1-02:/usr/home/allan%</p>
</blockquote>

<ul>
<li>What is one thing (or more) missing in FreeBSD you would import from another project or community? Could be tech, process, etc.</li>
</ul>

<blockquote>
<p>JT: AUFS from Linux</p>

<p>BR: Nohup from Illumos where you can detach an already running process and put it in the background. I often forget that and I’m not in tmux when that happens, so I can see myself use that feature a lot.</p>

<p>AJ: Zones (more complete Jails) from IllumOS</p>
</blockquote>

<ul>
<li>how do you manage your time to learn about and work on FreeBSD?  Does your  work/employment enable what you do, or are your contributions mainly done in private time?</li>
</ul>

<blockquote>
<p>JT: These days I’m mostly learning things I need for work, so it just falls into something I’m doing while working on work projects.</p>

<p>BR: We have a lot of time during the semester holidays to learn on our own, it’s part of the idea of being in a university to keep yourself updated, at least for me. Especially in the fast moving world of IT. I also read a lot in my free time. My interests can shift sometimes, but then I devour everything I can find on the topic. Can be a bit excessive, but has gotten me where I am now and I still need a lot to learn (and want to). Since I work with FreeBSD at work (my owndoing), I can try out many things there.</p>

<p>AJ: My work means a spend a lot of time working with FreeBSD, but not that much time working ON it. My contributions are mostly done outside of work, but as I own the company I do get more flexibility to take time off for conferences and other FreeBSD related stuff.</p>
</blockquote>

<ul>
<li>we know we can bribe Michael W Lucas with gelato (<em>good</em> gelato that is), but what can we use to bribe <em>you</em> guys? Like when I want to have Allan to work on fixing a bug which prevents me from running ZFS on this fancy rock64 board?</li>
</ul>

<blockquote>
<p>BR: Desserts of various kinds. </p>

<p>AJ: I am probably not the right person to look at your rock64 board. Most people in the project have taken to bribing me with chocolate. In general, my todo list is so long, the best way is a trade, you take this task and I’ll take that task.</p>
</blockquote>

<ul>
<li>Is your daily mobile device iOS, Android, Windows Mobile, or other? Why?</li>
</ul>

<blockquote>
<p>JT: These days I’m using Android on my Blackberry Priv, but until recently I was still a heavy user of Sailfish OS.  I would use SailfishOS everyday, if I could find a phone with a keyboard that I could run it on.</p>

<p>BR: iOS on the iPhone 7 currently. Never used an Android phone, saw it on other people’s devices and what they can do with it (much more). But the infrequent security updates (if any at all) keep me away from it.</p>

<p>AJ: I have a Google Nexus 6 (Android 7.1). I wanted the ‘pure’ Android experience, and I had been happy with my previous Nexus S. I don’t run a custom OS/ROM or anything because I use the phone to verify that video streams work on an ‘average users device’. I am displeased that support for my device will end soon. I am not sure what device I will get next, but it definitely won’t be an iPhone.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170808065718&amp;mode=flat&amp;count=30" target="_blank" rel="nofollow noopener">Beta Update - Request for (more) Testing</a></h3>

<ul>
<li> <a href="https://beta.undeadly.org/" target="_blank" rel="nofollow noopener">https://beta.undeadly.org/</a> has received an update. The most significant changes include:</li>
</ul>

<blockquote>
<p>The site has been given a less antiquated "look". (As the topic icons have been eliminated, we are no longer seeking help with those graphics.)<br>
The site now uses a moderate amount of semantic HTML5.<br>
Several bugs in the HTML fragment validator (used for submissions and comments) have been fixed.<br>
To avoid generating invalid HTML, submission content which fails validation is no longer displayed in submission/comment previews.<br>
Plain text submissions are converted to HTML in a more useful fashion. (Instead of just converting each EOL to <br>, the converter now generates proper paragraphs and interprets two or more consecutive EOLs as indicating a paragraph break.)</p>
</blockquote>

<ul>
<li> The redevelopment remains a work-in-progress. Many thanks to those who have contributed!</li>
</ul>

<blockquote>
<p>As before, constructive feedback would be appreciated. Of particular interest are reports of bugs in behaviour (for example, in the HTML validator or in authentication) that would preclude the adoption of the current code for the main site.</p>

<hr>
</blockquote>

<h3><a href="http://lists.dragonflybsd.org/pipermail/users/2017-August/313552.html" target="_blank" rel="nofollow noopener">High-process-count support added to master</a></h3>

<blockquote>
<p>We've fixed a number of bottlenecks that can develop when the number of user processes runs into the tens of thousands or higher.  One thing led to another and I said to myself, "gee, we have a 6-digit PID, might as well make it work to a million!".  With the commits made today, master can support at least 900,000 processes with just a kern.maxproc setting in<br>
/boot/loader.conf, assuming the machine has the memory to handle it.<br>
 And, in fact, as today's machines start to ratchet up there in both memory capacity and core count, with fast storage (NVMe) and fast networking (10GigE and higher), even in consumer boxes, this is actually something that one might want to do.  With AMD's threadripper and EPYC chips now out, the Intel&lt;-&gt;AMD cpu wars are back on!   Boasting up to 32 cores (64 threads) per socket and two sockets on EPYC, terabytes of ram, and motherboards with dual 10GigE built-in, the reality is that these numbers are already achievable in a useful manner.<br>
 In anycase, I've tested these changes on a dual-socket xeon.  I can in-fact start 900,000 processes.  They don't get a whole lot of cpu and running 'ps' would be painful, but it works and the system is still responsive from the shell with all of that going on.<br>
 xeon126# uptime<br>
 1:42PM  up 9 mins, 3 users, load averages: 890407.00, 549381.40, 254199.55<br>
 In fact, judging from the memory use, these minimal test processes only eat around 60KB each.  900,000 of them ate only 55GB on a 128GB machine.  So even a million processes is not out of the question, depending on the cpu requirements for those processes.  Today's modern machines can be stuffed with enormous amounts of memory.<br>
 Of course, our PIDs are currently limited to 6 digits, so a million is kinda the upper limit in terms of discrete user processes (verses pthreads which are less restricted).  I'd rather not go to 7 digits (yet).</p>

<hr>
</blockquote>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-current/2017-August/066783.html" target="_blank" rel="nofollow noopener">CFT: Driver for generic MS Windows 7/8/10 - compatible USB HID multi-touch touchscreens</a></h3>

<ul>
<li>Following patch [1] adds support for generic MS Windows 7/8/10 - compatible USB HID multi-touch touchscreens via evdev protocol. It is intended to be a native replacement of hid-multitouch.c driver found in Linux distributions and multimedia/webcamd port.</li>
<li>Patch is made for 12-CURRENT and most probably can be applied to recent 11-STABLE and 11.1-RELEASE (not tested)</li>
<li>How to test"</li>
</ul>

<pre><code>1. Apply patch [1]
2. To compile this driver into the kernel, place the following lines 
into your kernel configuration file:
       device wmt
       device usb
       device evdev
    Alternatively, to load the driver as a module at boot time, place the 
following line in loader.conf(5):
       wmt_load="YES"
3. Install x11-drivers/xf86-input-evdev or 
x11-drivers/xf86-input-libinput port
4. Tell XOrg to use evdev or libinput driver for the device:
</code></pre>

<pre><code>Section "ServerLayout"
     InputDevice    "TouchScreen0" "SendCoreEvents"
EndSection


Section "InputDevice"
     Identifier  "TouchScreen0"
     Driver      "evdev"
&amp;#35;   Driver      "libinput"
     Option      "Device" "/dev/input/eventXXX"
EndSection
</code></pre>

<ul>
<li>Exact value of "/dev/input/eventXXX" can be obtained with evemu-record utility from devel/evemu.</li>
<li>Note1: Currently, driver does not support pens or touchpads.</li>
<li>Note2: wmt.ko should be kld-loaded before uhid driver to take precedence over it! Otherwise uhid can be kld-unloaded after loading of wmt.</li>
<li>wmt review: <a href="https://reviews.freebsd.org/D12017" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D12017</a></li>
<li>Raw diff: <a href="https://reviews.freebsd.org/D12017.diff" target="_blank" rel="nofollow noopener">https://reviews.freebsd.org/D12017.diff</a>
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://bsdmag.org/programm_history/" target="_blank" rel="nofollow noopener">BSDMag Programing Languages Infographic</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170815171854" target="_blank" rel="nofollow noopener">t2k17 Hackathon Report: Bob Beck on buffer cache tweaks, libressl and pledge progress</a></li>
<li><a href="https://www.freebsdfoundation.org/past-issues/resource-control/" target="_blank" rel="nofollow noopener">New FreeBSD Journal</a></li>
<li><a href="http://mail-index.netbsd.org/netbsd-advocacy/2017/08/10/msg000744.html" target="_blank" rel="nofollow noopener">NetBSD machines at Open Source Conference 2017 Kyoto</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/3H6TDJV" target="_blank" rel="nofollow noopener">Dan - HDD question</a></li>
<li><a href="http://dpaste.com/10F086V" target="_blank" rel="nofollow noopener">Benjamin - scrub of death</a></li>
<li><a href="http://dpaste.com/2D9102K" target="_blank" rel="nofollow noopener">Jason - Router Opinion</a> </li>
<li><a href="http://dpaste.com/1XYYTWF" target="_blank" rel="nofollow noopener">Sohrab - Thanks</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>209: Signals: gotta catch ‘em all</title>
  <link>https://www.bsdnow.tv/209</link>
  <guid isPermaLink="false">9fc2e90e-3bb7-4ff5-a3e1-c559838b6710</guid>
  <pubDate>Wed, 30 Aug 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9fc2e90e-3bb7-4ff5-a3e1-c559838b6710.mp3" length="66406612" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We read a trip report about FreeBSD in China, look at how Unix deals with Signals, a stats collector in DragonFlyBSD &amp; much more!</itunes:subtitle>
  <itunes:duration>1:32:13</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>&lt;p&gt;We read a trip report about FreeBSD in China, look at how Unix deals with Signals, a stats collector in DragonFlyBSD &amp;amp; much more!&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/trip-report-freebsd-in-china-at-copu-and-linuxcon/" target="_blank" rel="nofollow noopener"&gt;Trip Report: FreeBSD in China at COPU and LinuxCon&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This trip report is from Deb Goodkin, the Executive Director of the FreeBSD Foundation. She travelled to China in May 2017 to promote FreeBSD, meet with companies, and participate in discussions around Open Source.&lt;/li&gt;
&lt;li&gt;&amp;gt; In May of 2017, we were invited to give a talk about FreeBSD at COPU’s (China Open Source Promotional Unit) Open Source China, Open Source World Summit, which took place June 21-22, in Beijing. This was a tremendous opportunity to talk about the advantages of FreeBSD to the open source leaders and organizations interested in open source. I was honored to represent the Project and Foundation and give the presentation “FreeBSD Advantages and Applications”.&lt;/li&gt;
&lt;li&gt;&amp;gt; Since I was already going to be in Beijing, and LinuxCon China was being held right before the COPU event, Microsoft invited me to be part of a women-in-tech panel they were sponsoring. There were six of us on the panel including two from Microsoft, one from the Linux Foundation, one from Accenture of China, and one from Women Who Code. Two of us spoke in English, with everyone else speaking Chinese. It was disappointing that we didn’t have translators, because I would have loved hearing everyone’s answers. We had excellent questions from the audience at the end. I also had a chance to talk with a journalist from Beijing, where I emphasized how contributing to an open source project, like FreeBSD, is a wonderful way to get experience to boost your resume for a job.&lt;/li&gt;
&lt;li&gt;&amp;gt; The first day of LinuxCon also happened to be FreeBSD Day. I had my posters with me and was thrilled to have the Honorary Chairman of COPU (also known as the “Father of Open Source in China”) hold one up for a photo op. Unfortunately, I haven’t been able to get a copy of that photo for proof (I’m still working on it!). We spent a long time discussing the strengths of FreeBSD. He believes there are many applications in China that could benefit from FreeBSD, especially for embedded devices, university research, and open source education. We had more time throughout the week to discuss FreeBSD in more detail.&lt;/li&gt;
&lt;li&gt;&amp;gt; Since I was at LinuxCon, I had a chance to meet with people from the Linux Foundation, other open source projects, and some of our donors. With LinuxCon changing its name to Open Source Summit, I discussed how important it is to include minority voices like ours to contribute to improving the open source ecosystem. The people I talked to within the Linux Foundation agreed and suggested that we get someone from the Project to give a talk at the Open Source Summit in Prague this October. Jim Zemlin, the Linux Foundation Executive Director, suggested having a BSD track at the summits. We did miss the call for proposals for that conference, but we need to get people to consider submitting proposals for the Open Source Summits in 2018.&lt;/li&gt;
&lt;li&gt;&amp;gt; I talked to a CTO from a company that donates to us and he brought up his belief that FreeBSD is much easier to get started on as a contributor. He talked about the steep path in Linux to getting contributions accepted due to having over 10,000 developers and the hierarchy of decision makers, from Linus to his main lieutenants to the layers beneath him. It can take 6 months to get your changes in!&lt;/li&gt;
&lt;li&gt;&amp;gt; On Tuesday, Kylie and I met with a representative from Huawei, who we’ve been meeting over the phone with over the past few months. Huawei has a FreeBSD contributor and is looking to add more. We were thrilled to hear they decided to donate this year. We look forward to helping them get up to speed with FreeBSD and collaborate with the Project.&lt;/li&gt;
&lt;li&gt;&amp;gt; Wednesday marked the beginning of COPU and the reason I flew all the way to Beijing! We started the summit with having a group photo of all the speakers:The honorary chairman, Professor Lu in the front middle.&lt;/li&gt;
&lt;li&gt;&amp;gt; My presentation was called “FreeBSD Advantages and Applications”. A lot of the material came from Foundation Board President, George-Neville-Neil’s presentation, “FreeBSD is not a Linux Distribution”, which is a wonderful introduction to FreeBSD and includes the history of FreeBSD, who uses it and why, and which features stand out. My presentation went well, with Professor Lu and others engaged through the translators. Afterwards, I was invited to a VIP dinner, which I was thrilled about.&lt;/li&gt;
&lt;li&gt;&amp;gt; The only hitch was that Kylie and I were running a FreeBSD meetup that evening, and both were important! Beijing during rush hour is crazy, even trying to go only a couple of miles is challenging. We made plans that I would go to the meetup and give the same presentation, and then head back to the dinner. Amazingly, it worked out.&lt;/li&gt;
&lt;li&gt;Check out the rest of her trip report and stay tuned for more news from the region as this is one of the focus areas of the Foundation. 
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.networkworld.com/article/3211296/linux/unix-dealing-with-signals.html" target="_blank" rel="nofollow noopener"&gt;Unix: Dealing with signals&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Signals on Unix systems are critical to the way processes live and die. This article looks at how they're generated, how they work, and how processes receive or block them&lt;br&gt;
On Unix systems, there are several ways to send signals to processes—with a kill command, with a keyboard sequence (like control-C), or through a program&lt;br&gt;
Signals are also generated by hardware exceptions such as segmentation faults and illegal instructions, timers and child process termination.&lt;br&gt;
But how do you know what signals a process will react to? After all, what a process is programmed to do and able to ignore is another issue.&lt;br&gt;
Fortunately, the /proc file system makes information about how processes handle signals (and which they block or ignore) accessible with commands like the one shown below. In this command, we’re looking at information related to the login shell for the current user, the "$$" representing the current process.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;On FreeBSD, you can use &lt;em&gt;procstat -i PID&lt;/em&gt; to get that and even more information, and easier to digest form&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;pre&gt;&lt;code&gt;        P  if signal is pending in the global process queue
        I  if signal delivery disposition is SIGIGN
        C  if signal delivery is to catch it
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Catching a signal requires that a signal handling function exists in the process to handle a given signal. The SIGKILL (9) and SIGSTOP (#) signals cannot be ignored or caught. For example, if you wanted to tell the kernel that ctrl-C's are to be ignored, you would include something like this in your source code:&lt;br&gt;
signal(SIGINT, SIG_IGN);&lt;br&gt;
To ensure that the default action for a signal is taken, you would do something like this instead:&lt;br&gt;
signal(SIGSEGV, SIG_DFL);&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The article then shows some ways to send signals from the command line, for example to send SIGHUP to a process with pid 1234:
kill -HUP 1234&lt;/li&gt;
&lt;li&gt;You can get a list of the different signals by running
kill -l
On Unix systems, signals are used to send all kinds of information to running processes, and they come from user commands, other processes, and the kernel itself. Through /proc, information about how processes are handling signals is now easily accessible and, with just a little manipulation of the data, easy to understand.
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://smartos.org/bugview/OS-6274" target="_blank" rel="nofollow noopener"&gt;links owned by NGZ erroneously marked as on loan&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;NGZ (Non-Global Zone), is IllumOS speak for their equivalent to a jail
&amp;gt; As reported by user brianewell in smartos-live#737, NGZ ip tunnels stopped persisting across zone reboot. This behavior appeared in the 20170202 PI and was not present in previous releases. After much spelunking I determined that this was caused by a regression introduced in commit 33df115 (part of the OS-5363 work). The regression was a one-line change to link_activate() which marks NGZ links as on loan when they are in fact not loaned because the NGZ created and owns the link.&lt;/li&gt;
&lt;li&gt;“On loan” means the interface belongs to the host (GZ, Global Zone), and has been loaned to the NGZ (Jail)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This regression was easy to introduce because of the subtle nature of this code and lack of comments. I'm going to remove the regressive line, add clarifying comments, and also add some asserts.&lt;br&gt;
The following is a detailed analysis of the issue, how I debugged it, and why my one-line change caused the regression:&lt;br&gt;
To start I verified that PI 20170119 work as expected:&lt;br&gt;
    booted 20170119&lt;br&gt;
   created iptun (named v4_sys76) inside of a native NGZ (names sos-zone)&lt;br&gt;
   performed a reboot of sos-zone&lt;br&gt;
   zlogin to sos-zone and verify iptun still exists after reboot&lt;br&gt;
Then I booted the GZ into PI 20170202 and verified the iptun did not show up&lt;br&gt;
   booted 20170202&lt;br&gt;
   started sos-zone&lt;br&gt;
   zlogin and verified the iptun was missing&lt;br&gt;
At this point I thought I would recreate the iptun and see if I could monitor the zone halt/boot process for the culprit, but instead I received an error from dladm: "object already exists".&lt;br&gt;
I didn't expect this. So I used mdb to inspect the dlmgmtd state. Sure enough the iptun exists in dlmgmtd.&lt;br&gt;
Okay, so if the link already exists, why doesn't it show up (in either the GZ or the NGZ)?&lt;br&gt;
If a link is not marked as active then it won't show up when you query dladm. When booting the zone on 20170119 the ll_flags for the iptun contained the value 0x3. So the problem is the link is not marked as active on the 20170202 PI.&lt;br&gt;
The link_activate() function is responsible for marking a link as active. I used dtrace to verify this function was called on the 20170202 PI and that the dlmgmt_link_t had the correct ll_flags value.&lt;br&gt;
So the iptun link structure has the correct ll_flags when link_activate() returns but when I inspect the same structure with mdb afterwards the value has changed.&lt;br&gt;
Sometime after link_activate() completes some other process changed the ll_flags value. My next question was: where is link_activate() called and what comes after it that might affect the ll_flags? I did another trace and got this stack.&lt;br&gt;
The dlmgmt_upid() function calls dlmgmt_write_db_entry() after link_activate() and that can change the flags. But dtrace proved the ll_flags value was still 0x3 after returning from this function.&lt;br&gt;
With no obvious questions left I then asked cscope to show me all places where ll_flags is modified. As I walked through the list I used dtrace to eliminate candidates one at a time -- until I reached dlmgmt_destroy_common(). I would not have expected this function to show up during zone boot but sure enough it was being called somehow, and by someone. Who?&lt;br&gt;
Since there is no easy way to track door calls it was at this point I decided to go nuclear and use the dtrace stop action to stop dlmgmtd when it hits dlmgmt_destroy_common(). Then I used mdb -k to inspect the door info for the dlmgmtd threads and look for my culprit.&lt;br&gt;
The culprit is do_up_iptun() caused by the dladm up-iptun call. Using ptree I then realized this was happening as part of the zone boot under the network/iptun svc startup. At this point it was a matter of doing a zlogin to sos-zone and running truss on dladm up-iptun to find the real reason why dladm_destroy_datalink_id() is called.&lt;br&gt;
So the link is marked as inactive because dladm_getsnap_conf() fails with DLADM_STATUS_DENIED which is mapped to EACCESS. Looking at the dladm_getsnap_conf() code I see the following&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;“The caller is in a non-global zone and the persistent configuration belongs to the global zone.”&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;What this is saying is that if a link is marked "on loan" (meaning it's technically owned/created by the GZ but assigned/loaned to the NGZ) and the zone calling dladm_getsnap_conf() is an NGZ then return EACCESS because the configuration of the link is up to the GZ, not the NGZ. This code is correct and should be enforced, but why is it tripping in PI 20170202 and not 20170119? It comes back to my earlier observation that in the 20170202 PI we marked the iptun as "on loan" but not in the older one. Why?&lt;br&gt;
Well as it turns out while fixing OS-5363 I fixed what I thought was a bug in link_activate()&lt;br&gt;
When I first read this code it was my understanding that anytime we added a link to a zone's datalink list, by calling zone_add_datalink(), that link was then considered "on loan". My understanding was incorrect. The link_activate() code has a subtleness that eluded me. There are two cases in link_activate():&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The link is under an NGZ's datalink list but it's ll_linkid doesn't reflect that (e.g., the link is found under zoneid 3 but ll_linkid is 0). In this case the link is owned by the GZ but is being loaned to an NGZ and the link state should be updated accordingly. We get in this situation when dlmgmtd is restated for some reason (it must resync it's in-memory state with the state of the system).&lt;/li&gt;
&lt;li&gt;The link is NOT under any NGZ's (zone_check_datalink() is only concerned with NGZs) datalink list but its ll_zoneid holds the value of an NGZ. This indicates that the link is owned by an NGZ but for whatever reason is not currently under the NGZ's datalink list (e.g., because we are booting the zone and we now need to assign the link to its list).
So the fix is to revert that one line change as well as add some clarifying comments and also some asserts to prevent further confusion in the future.&lt;/li&gt;
&lt;li&gt;A nice breakdown by Ryan Zezeski of how he accidently introduced a regression, and how he tracked it down using dtrace and mdb
***&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://dpaste.com/2YP0X9C" target="_blank" rel="nofollow noopener"&gt;New experimental statistics collector in master&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Master now has an in-kernel statistics collector which is enabled by default, and a (still primitive) user land program to access it.  This recorder samples the state of the machine once every 10 seconds and records it in a large FIFO, all in-kernel.  The FIFO typically contains 8192 entries, or around the last 23 hours worth of data.&lt;br&gt;
Statistics recorded include current load, user/sys/idle cpu use, swap use, VM fault rate, VM memory statistics, and counters for syscalls, path lookups, and various interrupt types.  A few more useful counters will probably be added... I'd like to tie cpu temperature, fork rate, and exec rate in at some point, as well as network and disk traffic.&lt;br&gt;
The statistics gathering takes essentially no real overhead and is always on, so any user at the spur of the moment with no prior intent can query the last 23 hours worth of data.&lt;br&gt;
There is a user frontend to the data called 'kcollect' (its tied into the buildworld now).  Currently still primitive.  Ultimately my intention is to integrate it with a dbm database for long-term statistical data retention (if desired) using an occasional (like once-an-hour) cron-job to soak up anything new, with plenty of wiggle room due to the amount of time the kernel keeps itself.  This is better and less invasive than having a userland statistics gathering script running every few minutes from cron and has the advantage of giving you a lot of data on the spur of the moment without having to ask for it before-hand.&lt;br&gt;
If you have gnuplot installed (pkg install gnuplot), kcollect can generate some useful graphs based on the in-kernel data.  Well, it will be boring if the machine isn't doing anything :-).  There are options to use gnuplot to generate a plot window in X or a .jpg or .png file, and other options to set the width and height and such.  At the moment the gnuplot output uses a subset of statically defined fields to plot but ultimately the field list it uses will be specifiable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://apollo.backplane.com/DFlyMisc/kcollect03.jpg" target="_blank" rel="nofollow noopener"&gt;Sample image generated during a synth run&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.tedunangst.com/flak/post/openbsd-changes-of-note-626" target="_blank" rel="nofollow noopener"&gt;openbsd changes of note 626&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Hackerthon is imminent.&lt;/li&gt;
&lt;li&gt;There are two signals one can receive after accessing invalid memory, SIGBUS and SIGSEGV. Nobody seems to know what the difference is or should be, although some theories have been unearthed. Make some attempt to be slightly more consistent and predictable in OpenBSD.&lt;/li&gt;
&lt;li&gt;Introduces jiffies in an effort to appease our penguin oppressors.&lt;/li&gt;
&lt;li&gt;Clarify that IP.OF.UPSTREAM.RESOLVER is not actually the hostname of a server you can use.&lt;/li&gt;
&lt;li&gt;Switch acpibat to use _BIX before _BIF, which means you might see discharge cycle counts, too.&lt;/li&gt;
&lt;li&gt;Assorted clang compatibility. clang uses -Oz to mean optimize for size and -Os for something else, so make gcc accept -Oz so all makefiles can be the same. Adjust some hardlinks. Make sure we build gcc with gcc. &lt;/li&gt;
&lt;li&gt;The SSL_check_private_key function is a lie.&lt;/li&gt;
&lt;li&gt;Switch the amd64 and i386 compiler to clang and see what happens.&lt;/li&gt;
&lt;li&gt;We are moving towards using wscons (wstpad) as the driver for touchpads.&lt;/li&gt;
&lt;li&gt;Dancing with the stars, er, NET_LOCK().&lt;/li&gt;
&lt;li&gt;clang emits lots of warnings. Fix some of them. Turn off a bunch of clang builtins because we have a strong preference that code use our libc versions. Some other changes because clang is not gcc.&lt;/li&gt;
&lt;li&gt;Among other curiosities, static variables in the special .openbsd.randomdata are sometimes assumed to be all zero, leading the clang optimizer to eliminate reads of such variables.&lt;/li&gt;
&lt;li&gt;Some more pledge rules for sed. If the script doesn’t require opening new files, don’t let it.&lt;/li&gt;
&lt;li&gt;Backport a bajillion fixes to stable. Release errata.&lt;/li&gt;
&lt;li&gt;RFC 1885 was obsoleted nearly 20 years ago by RFC 2463 which was obsoleted over 10 years ago by RFC 4443. We are probably not going back.&lt;/li&gt;
&lt;li&gt;Update libexpat to 2.2.3.&lt;/li&gt;
&lt;li&gt;vmm: support more than 3855MB guest memory.&lt;/li&gt;
&lt;li&gt;Merge libdrm 2.4.82.&lt;/li&gt;
&lt;li&gt;Disable SSE optimizations on i386/amd64 for SlowBcopy. It is supposed to be slow. Prevents crashes when talking to memory mapped video memory in a hypervisor.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://functionallyparanoid.com/2017/08/08/the-25-freedom-laptop/" target="_blank" rel="nofollow noopener"&gt;The $25 “FREEDOM Laptop!”&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Time to get back to the original intent of this blog – talking about my paranoid obsession with information security!  So break out your tinfoil hats my friends because this will be a fun ride.  I’m looking for the most open source / freedom respecting portable computing experience I can possibly find and I’m going to document my work in real-time so you will get to experience the ups (and possibly the downs) of that path through the universe.  With that said, let’s get rolling.&lt;br&gt;
When I built my OpenBSD router using the APU2 board, I discovered that there are some amd64 systems that use open source BIOS.  This one used Coreboot and after some investigation I discovered that there was an even more paranoid open source BIOS called Libreboot out there.  That started to feel like it might scratch my itch.&lt;br&gt;&lt;br&gt;
Well, after playing around with some lower-powered systems like my APU2 board, my Thinkpad x230 and my SPARC64 boxes, I thought, if it runs amd64 code and I can run an open source operating system on it, the thing should be powerful enough for me to do most (if not all) of what I need it to do.  At this point, I started looking for a viable machine.  From a performance perspective, it looked like the Thinkpad x200, T400, T500 and W500 were all viable candidates.  After paying attention on eBay for a while, I saw something that was either going to be a sweet deal, or a throwaway piece of garbage!&lt;br&gt;
I found a listing for a Thinkpad T500 that said it didn’t come with a power adapter and was 100% untested.  From looking at the photos, it seemed like there was nothing that had been molested about it.  Obviously, nobody was jumping on something this risky so I thought, “what the heck” and dropped a bit at the opening price of $24.99.  Well, guess what.  I won the auction.  Now to see what I got.&lt;br&gt;
When the laptop showed up, I discovered it was minus its hard drive (but the outside plastic cover was still in place).  I plugged in my x230’s power adapter and hit the button.  I got lights and was dropped to the BIOS screen.  To my eternal joy, I discovered that the machine I had purchased for $25 was 100% functional and included the T9400 2.54 GHz Core 2 Duo CPU and the 1680×1050 display panel.  W00t!&lt;br&gt;
First things first, I need to get this machine a hard drive and get the RAM upgraded from the 2GB that it showed up with to 8GB.  Good news is that these two purchases only totaled $50 for the pair.  An aftermarket 9-cell replacement battery was another $20. Throw in a supported WiFi card that doesn’t require a non-free blob from Libreboot at $5.99 off of eBay and $5 for a hard drive caddy and I’m looking at about $65 in additional parts bringing the total cost of the laptop, fully loaded up at just over $100.  Not bad at all…&lt;br&gt;
Once all of the parts arrived and were installed, now for the fun part.  Disassembling the entire thing down to the motherboard so we can re-flash the BIOS with Libreboot.  The guide looks particularly challenging for this but hey, I have a nice set of screwdrivers from iFixit and a remarkable lack of fear when it comes to disassembling things.  Should be fun!&lt;br&gt;
Well, fun didn’t even come close.  I wish I had shot some pictures along the way because at one point I had a heap of parts in one corner of my “workbench” (the dining room table) and just the bare motherboard, minus the CPU sitting in front of me.  With the help of a clip and a bunch of whoops wires (patch cables), I connected my Beaglebone Black to the BIOS chip on the bare motherboard and attempted to read the chip.  #fail&lt;br&gt;
I figured out after doing some more digging that you need to use the connector on the left side of the BBB if you hold it with the power connector facing away from you.  In addition, you should probably read the entire process through instead of stopping at the exciting pinout connector diagram because I missed the bit about the 3.3v power supply need to have ground connected to pin 2 of the BIOS chip.&lt;br&gt;
Speaking of that infamous 3.3v power supply, I managed to bend a paperclip into a U shape and jam it into the connector of an old ATX power supply I had in a closet and source power from that.  I felt like MacGyver for that one!&lt;br&gt;
I was able to successfully read the original Thinkpad BIOS and then flash the Libreboot + Grub2 VESA framebuffer image onto the laptop!  I gulped loudly and started the reassembly process.  Other than having some cable routing difficulties because the replacement WiFi card didn’t have a 5Ghz antenna, it all went back together.  Now for the moment of truth!  I hit the power button and everything worked!!!&lt;br&gt;
At this point I happily scurried to download the latest snapshot of OpenBSD – current and install it.  Well, things got a little weird here.  Looks like I have to use GRUB to boot this machine now and GRUB won’t boot an OpenBSD machine with Full Disk Encryption.  That was a bit of a bummer for me.  I tilted against that windmill for several days and then finally admitted defeat.  So now what to do?  Install Arch?&lt;br&gt;
Well, here’s where I think the crazy caught up to me.  I decided to be an utter sell out and install Ubuntu Gnome Edition 17.04 (since that will be the default DE going forward) with full disk encryption.  I figured I could have fun playing around in a foreign land and try to harden the heck out of that operating system.  I called Ubuntu “grandma’s Linux” because a friend of mine installed it on his mom’s laptop for her but I figured what the heck – let’s see how the other half live!&lt;br&gt;
At this point, while I didn’t have what I originally set out to do – build a laptop with Libreboot and OpenBSD, I did have a nice compromise that is as well hardened as I can possibly make it and very functional in terms of being able to do what I need to do on a day to day basis.  Do I wish it was more portable?  Of course.  This thing is like a six or seven pounder.  However, I feel much more secure in knowing that the vast majority of the code running on this machine is open source and has all the eyes of the community on it, versus something that comes from a vendor that we cannot inspect.  My hope is that someone with the talent (unfortunately I lack those skills) takes an interest in getting FDE working with Libreboot on OpenBSD and I will most happily nuke and repave this “ancient of days” machine to run that!&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://hothardware.com/news/freebsd-programmers-report-ryzen-smt-bug-that-hangs-or-resets-machines" target="_blank" rel="nofollow noopener"&gt;FreeBSD Programmers Report Ryzen SMT Bug That Hangs Or Resets Machines&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;It's starting to look like there's an inherent bug with AMD's Zen-based chips that is causing issues on Unix-based operating systems, with both Linux and FreeBSD confirmed. The bug doesn't just affect Ryzen desktop chips, but also AMD's enterprise EPYC chips. It seems safe to assume that Threadripper will bundle it in, as well.&lt;br&gt;
It's not entirely clear what is causing the issue, but it's related to the CPU being maxed out in operations, thus causing data to get shifted around in memory, ultimately resulting in unstable software. If the bug is exercised a certain way, it can even cause machines to reset.&lt;br&gt;
The revelation about the issue on FreeBSD was posted to the official repository, where the issue is said to happen when threads can lock up, and then cause the system to become unstable. Getting rid of the issue seems as simple as disabling SMT, but that would then negate the benefits provided by having so many threads at-the-ready.&lt;br&gt;
On the Linux side of the Unix fence, Phoronix reports on similar issues, where stressing Zen chips with intensive benchmarks can cause one segmentation fault after another. The issue is so profound, that Phoronix Test Suite developer Michael Larabel introduced a special test that can be run to act as a bit of a proof-of-concept. To test another way, PTS can be run with this command:&lt;br&gt;
&lt;code&gt;PTS_CONCURRENT_TEST_RUNS=4 TOTAL_LOOP_TIME=60 phoronix-test-suite stress-run build-linux-kernel build-php build-apache build-imagemagick&lt;/code&gt;&lt;br&gt;
Running this command will compile four different software projects at once, over and over, for an hour. Before long, segfaults should begin to appear (as seen in the shot above).&lt;br&gt;
It's not entirely clear if both sets of issues here are related, but seeing as both involve stressing the CPU to its limit, it seems likely. Whether or not this could be patched on a kernel or EFI level is something yet to be seen.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.trueos.org/blog/unstable-update-8717/" target="_blank" rel="nofollow noopener"&gt;TrueOS - UNSTABLE update: 8/7/17&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A new UNSTABLE update for TrueOS is available!  Released regularly, UNSTABLE updates are the full “rolling release” of TrueOS. UNSTABLE includes experimental features, bugfixes, and other CURRENT FreeBSD work. It is meant to be used by those users interested in using the latest TrueOS and FreeBSD developments to help test and improve these projects.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;WARNING: UNSTABLE updates are released primarily for TrueOS and FreeBSD testing/experimentation purposes. Update and run UNSTABLE “at your own risk”.&lt;br&gt;
Note: There was a CDN issue over the weekend that caused issues for early updaters. Everything appears to be resolved and the update is fully available again. If you encountered instability or package issues from updating on 8/6 or 8/5, roll back to a previous boot environment and run the update again.&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Changes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;UNSTABLE .iso and .img files beginning with TrueOS-2017-08-3-x64 will be available to download from &lt;a href="http://download.trueos.org/unstable/amd64/" target="_blank" rel="nofollow noopener"&gt;http://download.trueos.org/unstable/amd64/&lt;/a&gt;. Due to CDN issues, these are not quite available, look for them later today or tomorrow (8/8/17). This update resyncs all ports with FreeBSD as of 8.1.2017. This includes: New/updated FreeBSD Kernel and World &amp;amp; New DRM (Direct Rendering Manager) next.&lt;/li&gt;
&lt;li&gt;Experimental patch for libhyve-remote: (From htps://github.com/trueos/freebsd/commit/a67a73e49538448629ea27, thanks araujobsd)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The libhyve-remote aims to abstract functionalities from other third party libraries like libvncserver, freerdp, and spice to be used in hypervisor implementation. With a basic data structure it is easy to implement any remote desktop protocol without digging into the protocol specification or third part libraries – check some of our examples.We don’t statically link any third party library, instead we use a dynamic linker and load only the functionality necessary to launch the service.Our target is to abstract functionalities from libvncserver, freerdp and spice. Right now, libhyve-remote only supports libvncserver. It is possible to launch a VNC server with different screen resolution as well as with authentication.With this patch we implement support for bhyve to use libhyve-remote that basically abstract some functionalities from libvncserver.  We can: Enable wait state, Enable authentication, Enable different resolutions&amp;lt; Have a better compression.  Also, we add a new -s flag for vncserver, if the libhyve-remote library is not present in the system, we fallback to bhyve RFB implementation. For example:&lt;br&gt;
&lt;code&gt;-s 2,fbuf,tcp=0.0.0.0:5937,w=800,h=600,password=1234567,vncserver,wait&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;New SysAdm Client pages under the System Management category: 

&lt;ul&gt;
&lt;li&gt;System Control: This is an interface to browse all the sysctl’s on the system.&lt;/li&gt;
&lt;li&gt;Devices: This lists all known information about devices on the designated system.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Lumina Theming: Lumina is testing new theming functionality! By default (in UNSTABLE), a heavily customized version of the Qt5ct engine is included and enabled. This is intended to allow users to quickly adjust themes/icon packs without needing to log out and back in. This also fixes a bug in Insight with different icons loading for the side and primary windows. Look for more information about this new functionality to be discussed on the Lumina Website.&lt;/li&gt;
&lt;li&gt;Update to Iridium Web Browser: Iridium is a Chromium based browser built with user privacy and security as the primary concern, but still maintaining the speed and usability of Chromium. It is now up to date – give it a try and let us know what you think (search for iridium-browser in AppCafe).&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.ghostbsd.org/11.1-ALPHA1" target="_blank" rel="nofollow noopener"&gt;GhostBSD 11.1 Alpha1 is ready&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/CharmBUG/events/242563414/" target="_blank" rel="nofollow noopener"&gt;A Special CharmBUG announcement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/HardenedBSD/hardenedBSD/commit/59eabffdca53275086493836f732f24195f3a91d" target="_blank" rel="nofollow noopener"&gt;Byhve Obfuscation Part 1 of Many&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsdmag.org/download/bsd-magazine-overriding-libc-functions/" target="_blank" rel="nofollow noopener"&gt;New BSDMag is out&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2017-August/626190.html" target="_blank" rel="nofollow noopener"&gt;git: kernel - Lower VM_MAX_USER_ADDRESS to finalize work-around for Ryzen bug&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/_rsc/status/897555509141794817" target="_blank" rel="nofollow noopener"&gt;Ken Thompson corrects one of his biggest regrets&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2SQYQV2" target="_blank" rel="nofollow noopener"&gt;Hans - zxfer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2175GEB" target="_blank" rel="nofollow noopener"&gt;Harza - Google Summer of Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/154MY1H" target="_blank" rel="nofollow noopener"&gt;tadslot - Microphones, Proprietary software, and feedback&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2V9VFAC" target="_blank" rel="nofollow noopener"&gt;Florian - ZFS/Jail&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dan.langille.org/2015/03/11/modifying-a-zfs-root-system-to-a-beadm-layout/" target="_blank" rel="nofollow noopener"&gt;Modifying a ZFS root system to a beadm layout&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We read a trip report about FreeBSD in China, look at how Unix deals with Signals, a stats collector in DragonFlyBSD &amp; much more!</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.freebsdfoundation.org/blog/trip-report-freebsd-in-china-at-copu-and-linuxcon/" target="_blank" rel="nofollow noopener">Trip Report: FreeBSD in China at COPU and LinuxCon</a></h3>

<ul>
<li>This trip report is from Deb Goodkin, the Executive Director of the FreeBSD Foundation. She travelled to China in May 2017 to promote FreeBSD, meet with companies, and participate in discussions around Open Source.</li>
<li>&gt; In May of 2017, we were invited to give a talk about FreeBSD at COPU’s (China Open Source Promotional Unit) Open Source China, Open Source World Summit, which took place June 21-22, in Beijing. This was a tremendous opportunity to talk about the advantages of FreeBSD to the open source leaders and organizations interested in open source. I was honored to represent the Project and Foundation and give the presentation “FreeBSD Advantages and Applications”.</li>
<li>&gt; Since I was already going to be in Beijing, and LinuxCon China was being held right before the COPU event, Microsoft invited me to be part of a women-in-tech panel they were sponsoring. There were six of us on the panel including two from Microsoft, one from the Linux Foundation, one from Accenture of China, and one from Women Who Code. Two of us spoke in English, with everyone else speaking Chinese. It was disappointing that we didn’t have translators, because I would have loved hearing everyone’s answers. We had excellent questions from the audience at the end. I also had a chance to talk with a journalist from Beijing, where I emphasized how contributing to an open source project, like FreeBSD, is a wonderful way to get experience to boost your resume for a job.</li>
<li>&gt; The first day of LinuxCon also happened to be FreeBSD Day. I had my posters with me and was thrilled to have the Honorary Chairman of COPU (also known as the “Father of Open Source in China”) hold one up for a photo op. Unfortunately, I haven’t been able to get a copy of that photo for proof (I’m still working on it!). We spent a long time discussing the strengths of FreeBSD. He believes there are many applications in China that could benefit from FreeBSD, especially for embedded devices, university research, and open source education. We had more time throughout the week to discuss FreeBSD in more detail.</li>
<li>&gt; Since I was at LinuxCon, I had a chance to meet with people from the Linux Foundation, other open source projects, and some of our donors. With LinuxCon changing its name to Open Source Summit, I discussed how important it is to include minority voices like ours to contribute to improving the open source ecosystem. The people I talked to within the Linux Foundation agreed and suggested that we get someone from the Project to give a talk at the Open Source Summit in Prague this October. Jim Zemlin, the Linux Foundation Executive Director, suggested having a BSD track at the summits. We did miss the call for proposals for that conference, but we need to get people to consider submitting proposals for the Open Source Summits in 2018.</li>
<li>&gt; I talked to a CTO from a company that donates to us and he brought up his belief that FreeBSD is much easier to get started on as a contributor. He talked about the steep path in Linux to getting contributions accepted due to having over 10,000 developers and the hierarchy of decision makers, from Linus to his main lieutenants to the layers beneath him. It can take 6 months to get your changes in!</li>
<li>&gt; On Tuesday, Kylie and I met with a representative from Huawei, who we’ve been meeting over the phone with over the past few months. Huawei has a FreeBSD contributor and is looking to add more. We were thrilled to hear they decided to donate this year. We look forward to helping them get up to speed with FreeBSD and collaborate with the Project.</li>
<li>&gt; Wednesday marked the beginning of COPU and the reason I flew all the way to Beijing! We started the summit with having a group photo of all the speakers:The honorary chairman, Professor Lu in the front middle.</li>
<li>&gt; My presentation was called “FreeBSD Advantages and Applications”. A lot of the material came from Foundation Board President, George-Neville-Neil’s presentation, “FreeBSD is not a Linux Distribution”, which is a wonderful introduction to FreeBSD and includes the history of FreeBSD, who uses it and why, and which features stand out. My presentation went well, with Professor Lu and others engaged through the translators. Afterwards, I was invited to a VIP dinner, which I was thrilled about.</li>
<li>&gt; The only hitch was that Kylie and I were running a FreeBSD meetup that evening, and both were important! Beijing during rush hour is crazy, even trying to go only a couple of miles is challenging. We made plans that I would go to the meetup and give the same presentation, and then head back to the dinner. Amazingly, it worked out.</li>
<li>Check out the rest of her trip report and stay tuned for more news from the region as this is one of the focus areas of the Foundation. 
***</li>
</ul>

<h3><a href="http://www.networkworld.com/article/3211296/linux/unix-dealing-with-signals.html" target="_blank" rel="nofollow noopener">Unix: Dealing with signals</a></h3>

<blockquote>
<p>Signals on Unix systems are critical to the way processes live and die. This article looks at how they're generated, how they work, and how processes receive or block them<br>
On Unix systems, there are several ways to send signals to processes—with a kill command, with a keyboard sequence (like control-C), or through a program<br>
Signals are also generated by hardware exceptions such as segmentation faults and illegal instructions, timers and child process termination.<br>
But how do you know what signals a process will react to? After all, what a process is programmed to do and able to ignore is another issue.<br>
Fortunately, the /proc file system makes information about how processes handle signals (and which they block or ignore) accessible with commands like the one shown below. In this command, we’re looking at information related to the login shell for the current user, the "$$" representing the current process.</p>
</blockquote>

<ul>
<li>On FreeBSD, you can use <em>procstat -i PID</em> to get that and even more information, and easier to digest form</li>
</ul>

<blockquote>
<blockquote>
<pre><code>        P  if signal is pending in the global process queue
        I  if signal delivery disposition is SIGIGN
        C  if signal delivery is to catch it
</code></pre>

<p>Catching a signal requires that a signal handling function exists in the process to handle a given signal. The SIGKILL (9) and SIGSTOP (#) signals cannot be ignored or caught. For example, if you wanted to tell the kernel that ctrl-C's are to be ignored, you would include something like this in your source code:<br>
signal(SIGINT, SIG_IGN);<br>
To ensure that the default action for a signal is taken, you would do something like this instead:<br>
signal(SIGSEGV, SIG_DFL);</p>

<ul>
<li>The article then shows some ways to send signals from the command line, for example to send SIGHUP to a process with pid 1234:
kill -HUP 1234</li>
<li>You can get a list of the different signals by running
kill -l
On Unix systems, signals are used to send all kinds of information to running processes, and they come from user commands, other processes, and the kernel itself. Through /proc, information about how processes are handling signals is now easily accessible and, with just a little manipulation of the data, easy to understand.
***</li>
</ul>
</blockquote>
</blockquote>

<h3><a href="https://smartos.org/bugview/OS-6274" target="_blank" rel="nofollow noopener">links owned by NGZ erroneously marked as on loan</a></h3>

<ul>
<li>NGZ (Non-Global Zone), is IllumOS speak for their equivalent to a jail
&gt; As reported by user brianewell in smartos-live#737, NGZ ip tunnels stopped persisting across zone reboot. This behavior appeared in the 20170202 PI and was not present in previous releases. After much spelunking I determined that this was caused by a regression introduced in commit 33df115 (part of the OS-5363 work). The regression was a one-line change to link_activate() which marks NGZ links as on loan when they are in fact not loaned because the NGZ created and owns the link.</li>
<li>“On loan” means the interface belongs to the host (GZ, Global Zone), and has been loaned to the NGZ (Jail)</li>
</ul>

<blockquote>
<p>This regression was easy to introduce because of the subtle nature of this code and lack of comments. I'm going to remove the regressive line, add clarifying comments, and also add some asserts.<br>
The following is a detailed analysis of the issue, how I debugged it, and why my one-line change caused the regression:<br>
To start I verified that PI 20170119 work as expected:<br>
    booted 20170119<br>
   created iptun (named v4_sys76) inside of a native NGZ (names sos-zone)<br>
   performed a reboot of sos-zone<br>
   zlogin to sos-zone and verify iptun still exists after reboot<br>
Then I booted the GZ into PI 20170202 and verified the iptun did not show up<br>
   booted 20170202<br>
   started sos-zone<br>
   zlogin and verified the iptun was missing<br>
At this point I thought I would recreate the iptun and see if I could monitor the zone halt/boot process for the culprit, but instead I received an error from dladm: "object already exists".<br>
I didn't expect this. So I used mdb to inspect the dlmgmtd state. Sure enough the iptun exists in dlmgmtd.<br>
Okay, so if the link already exists, why doesn't it show up (in either the GZ or the NGZ)?<br>
If a link is not marked as active then it won't show up when you query dladm. When booting the zone on 20170119 the ll_flags for the iptun contained the value 0x3. So the problem is the link is not marked as active on the 20170202 PI.<br>
The link_activate() function is responsible for marking a link as active. I used dtrace to verify this function was called on the 20170202 PI and that the dlmgmt_link_t had the correct ll_flags value.<br>
So the iptun link structure has the correct ll_flags when link_activate() returns but when I inspect the same structure with mdb afterwards the value has changed.<br>
Sometime after link_activate() completes some other process changed the ll_flags value. My next question was: where is link_activate() called and what comes after it that might affect the ll_flags? I did another trace and got this stack.<br>
The dlmgmt_upid() function calls dlmgmt_write_db_entry() after link_activate() and that can change the flags. But dtrace proved the ll_flags value was still 0x3 after returning from this function.<br>
With no obvious questions left I then asked cscope to show me all places where ll_flags is modified. As I walked through the list I used dtrace to eliminate candidates one at a time -- until I reached dlmgmt_destroy_common(). I would not have expected this function to show up during zone boot but sure enough it was being called somehow, and by someone. Who?<br>
Since there is no easy way to track door calls it was at this point I decided to go nuclear and use the dtrace stop action to stop dlmgmtd when it hits dlmgmt_destroy_common(). Then I used mdb -k to inspect the door info for the dlmgmtd threads and look for my culprit.<br>
The culprit is do_up_iptun() caused by the dladm up-iptun call. Using ptree I then realized this was happening as part of the zone boot under the network/iptun svc startup. At this point it was a matter of doing a zlogin to sos-zone and running truss on dladm up-iptun to find the real reason why dladm_destroy_datalink_id() is called.<br>
So the link is marked as inactive because dladm_getsnap_conf() fails with DLADM_STATUS_DENIED which is mapped to EACCESS. Looking at the dladm_getsnap_conf() code I see the following</p>
</blockquote>

<ul>
<li>“The caller is in a non-global zone and the persistent configuration belongs to the global zone.”</li>
</ul>

<blockquote>
<p>What this is saying is that if a link is marked "on loan" (meaning it's technically owned/created by the GZ but assigned/loaned to the NGZ) and the zone calling dladm_getsnap_conf() is an NGZ then return EACCESS because the configuration of the link is up to the GZ, not the NGZ. This code is correct and should be enforced, but why is it tripping in PI 20170202 and not 20170119? It comes back to my earlier observation that in the 20170202 PI we marked the iptun as "on loan" but not in the older one. Why?<br>
Well as it turns out while fixing OS-5363 I fixed what I thought was a bug in link_activate()<br>
When I first read this code it was my understanding that anytime we added a link to a zone's datalink list, by calling zone_add_datalink(), that link was then considered "on loan". My understanding was incorrect. The link_activate() code has a subtleness that eluded me. There are two cases in link_activate():</p>

<ol>
<li>The link is under an NGZ's datalink list but it's ll_linkid doesn't reflect that (e.g., the link is found under zoneid 3 but ll_linkid is 0). In this case the link is owned by the GZ but is being loaned to an NGZ and the link state should be updated accordingly. We get in this situation when dlmgmtd is restated for some reason (it must resync it's in-memory state with the state of the system).</li>
<li>The link is NOT under any NGZ's (zone_check_datalink() is only concerned with NGZs) datalink list but its ll_zoneid holds the value of an NGZ. This indicates that the link is owned by an NGZ but for whatever reason is not currently under the NGZ's datalink list (e.g., because we are booting the zone and we now need to assign the link to its list).
So the fix is to revert that one line change as well as add some clarifying comments and also some asserts to prevent further confusion in the future.</li>
<li>A nice breakdown by Ryan Zezeski of how he accidently introduced a regression, and how he tracked it down using dtrace and mdb
***</li>
</ol>
</blockquote>

<h3><a href="http://dpaste.com/2YP0X9C" target="_blank" rel="nofollow noopener">New experimental statistics collector in master</a></h3>

<blockquote>
<p>Master now has an in-kernel statistics collector which is enabled by default, and a (still primitive) user land program to access it.  This recorder samples the state of the machine once every 10 seconds and records it in a large FIFO, all in-kernel.  The FIFO typically contains 8192 entries, or around the last 23 hours worth of data.<br>
Statistics recorded include current load, user/sys/idle cpu use, swap use, VM fault rate, VM memory statistics, and counters for syscalls, path lookups, and various interrupt types.  A few more useful counters will probably be added... I'd like to tie cpu temperature, fork rate, and exec rate in at some point, as well as network and disk traffic.<br>
The statistics gathering takes essentially no real overhead and is always on, so any user at the spur of the moment with no prior intent can query the last 23 hours worth of data.<br>
There is a user frontend to the data called 'kcollect' (its tied into the buildworld now).  Currently still primitive.  Ultimately my intention is to integrate it with a dbm database for long-term statistical data retention (if desired) using an occasional (like once-an-hour) cron-job to soak up anything new, with plenty of wiggle room due to the amount of time the kernel keeps itself.  This is better and less invasive than having a userland statistics gathering script running every few minutes from cron and has the advantage of giving you a lot of data on the spur of the moment without having to ask for it before-hand.<br>
If you have gnuplot installed (pkg install gnuplot), kcollect can generate some useful graphs based on the in-kernel data.  Well, it will be boring if the machine isn't doing anything :-).  There are options to use gnuplot to generate a plot window in X or a .jpg or .png file, and other options to set the width and height and such.  At the moment the gnuplot output uses a subset of statically defined fields to plot but ultimately the field list it uses will be specifiable.</p>
</blockquote>

<ul>
<li><a href="http://apollo.backplane.com/DFlyMisc/kcollect03.jpg" target="_blank" rel="nofollow noopener">Sample image generated during a synth run</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.tedunangst.com/flak/post/openbsd-changes-of-note-626" target="_blank" rel="nofollow noopener">openbsd changes of note 626</a></h3>

<ul>
<li>Hackerthon is imminent.</li>
<li>There are two signals one can receive after accessing invalid memory, SIGBUS and SIGSEGV. Nobody seems to know what the difference is or should be, although some theories have been unearthed. Make some attempt to be slightly more consistent and predictable in OpenBSD.</li>
<li>Introduces jiffies in an effort to appease our penguin oppressors.</li>
<li>Clarify that IP.OF.UPSTREAM.RESOLVER is not actually the hostname of a server you can use.</li>
<li>Switch acpibat to use _BIX before _BIF, which means you might see discharge cycle counts, too.</li>
<li>Assorted clang compatibility. clang uses -Oz to mean optimize for size and -Os for something else, so make gcc accept -Oz so all makefiles can be the same. Adjust some hardlinks. Make sure we build gcc with gcc. </li>
<li>The SSL_check_private_key function is a lie.</li>
<li>Switch the amd64 and i386 compiler to clang and see what happens.</li>
<li>We are moving towards using wscons (wstpad) as the driver for touchpads.</li>
<li>Dancing with the stars, er, NET_LOCK().</li>
<li>clang emits lots of warnings. Fix some of them. Turn off a bunch of clang builtins because we have a strong preference that code use our libc versions. Some other changes because clang is not gcc.</li>
<li>Among other curiosities, static variables in the special .openbsd.randomdata are sometimes assumed to be all zero, leading the clang optimizer to eliminate reads of such variables.</li>
<li>Some more pledge rules for sed. If the script doesn’t require opening new files, don’t let it.</li>
<li>Backport a bajillion fixes to stable. Release errata.</li>
<li>RFC 1885 was obsoleted nearly 20 years ago by RFC 2463 which was obsoleted over 10 years ago by RFC 4443. We are probably not going back.</li>
<li>Update libexpat to 2.2.3.</li>
<li>vmm: support more than 3855MB guest memory.</li>
<li>Merge libdrm 2.4.82.</li>
<li>Disable SSE optimizations on i386/amd64 for SlowBcopy. It is supposed to be slow. Prevents crashes when talking to memory mapped video memory in a hypervisor.</li>
</ul>

<hr>

<h3><a href="https://functionallyparanoid.com/2017/08/08/the-25-freedom-laptop/" target="_blank" rel="nofollow noopener">The $25 “FREEDOM Laptop!”</a></h3>

<blockquote>
<p>Time to get back to the original intent of this blog – talking about my paranoid obsession with information security!  So break out your tinfoil hats my friends because this will be a fun ride.  I’m looking for the most open source / freedom respecting portable computing experience I can possibly find and I’m going to document my work in real-time so you will get to experience the ups (and possibly the downs) of that path through the universe.  With that said, let’s get rolling.<br>
When I built my OpenBSD router using the APU2 board, I discovered that there are some amd64 systems that use open source BIOS.  This one used Coreboot and after some investigation I discovered that there was an even more paranoid open source BIOS called Libreboot out there.  That started to feel like it might scratch my itch.<br><br>
Well, after playing around with some lower-powered systems like my APU2 board, my Thinkpad x230 and my SPARC64 boxes, I thought, if it runs amd64 code and I can run an open source operating system on it, the thing should be powerful enough for me to do most (if not all) of what I need it to do.  At this point, I started looking for a viable machine.  From a performance perspective, it looked like the Thinkpad x200, T400, T500 and W500 were all viable candidates.  After paying attention on eBay for a while, I saw something that was either going to be a sweet deal, or a throwaway piece of garbage!<br>
I found a listing for a Thinkpad T500 that said it didn’t come with a power adapter and was 100% untested.  From looking at the photos, it seemed like there was nothing that had been molested about it.  Obviously, nobody was jumping on something this risky so I thought, “what the heck” and dropped a bit at the opening price of $24.99.  Well, guess what.  I won the auction.  Now to see what I got.<br>
When the laptop showed up, I discovered it was minus its hard drive (but the outside plastic cover was still in place).  I plugged in my x230’s power adapter and hit the button.  I got lights and was dropped to the BIOS screen.  To my eternal joy, I discovered that the machine I had purchased for $25 was 100% functional and included the T9400 2.54 GHz Core 2 Duo CPU and the 1680×1050 display panel.  W00t!<br>
First things first, I need to get this machine a hard drive and get the RAM upgraded from the 2GB that it showed up with to 8GB.  Good news is that these two purchases only totaled $50 for the pair.  An aftermarket 9-cell replacement battery was another $20. Throw in a supported WiFi card that doesn’t require a non-free blob from Libreboot at $5.99 off of eBay and $5 for a hard drive caddy and I’m looking at about $65 in additional parts bringing the total cost of the laptop, fully loaded up at just over $100.  Not bad at all…<br>
Once all of the parts arrived and were installed, now for the fun part.  Disassembling the entire thing down to the motherboard so we can re-flash the BIOS with Libreboot.  The guide looks particularly challenging for this but hey, I have a nice set of screwdrivers from iFixit and a remarkable lack of fear when it comes to disassembling things.  Should be fun!<br>
Well, fun didn’t even come close.  I wish I had shot some pictures along the way because at one point I had a heap of parts in one corner of my “workbench” (the dining room table) and just the bare motherboard, minus the CPU sitting in front of me.  With the help of a clip and a bunch of whoops wires (patch cables), I connected my Beaglebone Black to the BIOS chip on the bare motherboard and attempted to read the chip.  #fail<br>
I figured out after doing some more digging that you need to use the connector on the left side of the BBB if you hold it with the power connector facing away from you.  In addition, you should probably read the entire process through instead of stopping at the exciting pinout connector diagram because I missed the bit about the 3.3v power supply need to have ground connected to pin 2 of the BIOS chip.<br>
Speaking of that infamous 3.3v power supply, I managed to bend a paperclip into a U shape and jam it into the connector of an old ATX power supply I had in a closet and source power from that.  I felt like MacGyver for that one!<br>
I was able to successfully read the original Thinkpad BIOS and then flash the Libreboot + Grub2 VESA framebuffer image onto the laptop!  I gulped loudly and started the reassembly process.  Other than having some cable routing difficulties because the replacement WiFi card didn’t have a 5Ghz antenna, it all went back together.  Now for the moment of truth!  I hit the power button and everything worked!!!<br>
At this point I happily scurried to download the latest snapshot of OpenBSD – current and install it.  Well, things got a little weird here.  Looks like I have to use GRUB to boot this machine now and GRUB won’t boot an OpenBSD machine with Full Disk Encryption.  That was a bit of a bummer for me.  I tilted against that windmill for several days and then finally admitted defeat.  So now what to do?  Install Arch?<br>
Well, here’s where I think the crazy caught up to me.  I decided to be an utter sell out and install Ubuntu Gnome Edition 17.04 (since that will be the default DE going forward) with full disk encryption.  I figured I could have fun playing around in a foreign land and try to harden the heck out of that operating system.  I called Ubuntu “grandma’s Linux” because a friend of mine installed it on his mom’s laptop for her but I figured what the heck – let’s see how the other half live!<br>
At this point, while I didn’t have what I originally set out to do – build a laptop with Libreboot and OpenBSD, I did have a nice compromise that is as well hardened as I can possibly make it and very functional in terms of being able to do what I need to do on a day to day basis.  Do I wish it was more portable?  Of course.  This thing is like a six or seven pounder.  However, I feel much more secure in knowing that the vast majority of the code running on this machine is open source and has all the eyes of the community on it, versus something that comes from a vendor that we cannot inspect.  My hope is that someone with the talent (unfortunately I lack those skills) takes an interest in getting FDE working with Libreboot on OpenBSD and I will most happily nuke and repave this “ancient of days” machine to run that!</p>

<hr>
</blockquote>

<h3><a href="https://hothardware.com/news/freebsd-programmers-report-ryzen-smt-bug-that-hangs-or-resets-machines" target="_blank" rel="nofollow noopener">FreeBSD Programmers Report Ryzen SMT Bug That Hangs Or Resets Machines</a></h3>

<blockquote>
<p>It's starting to look like there's an inherent bug with AMD's Zen-based chips that is causing issues on Unix-based operating systems, with both Linux and FreeBSD confirmed. The bug doesn't just affect Ryzen desktop chips, but also AMD's enterprise EPYC chips. It seems safe to assume that Threadripper will bundle it in, as well.<br>
It's not entirely clear what is causing the issue, but it's related to the CPU being maxed out in operations, thus causing data to get shifted around in memory, ultimately resulting in unstable software. If the bug is exercised a certain way, it can even cause machines to reset.<br>
The revelation about the issue on FreeBSD was posted to the official repository, where the issue is said to happen when threads can lock up, and then cause the system to become unstable. Getting rid of the issue seems as simple as disabling SMT, but that would then negate the benefits provided by having so many threads at-the-ready.<br>
On the Linux side of the Unix fence, Phoronix reports on similar issues, where stressing Zen chips with intensive benchmarks can cause one segmentation fault after another. The issue is so profound, that Phoronix Test Suite developer Michael Larabel introduced a special test that can be run to act as a bit of a proof-of-concept. To test another way, PTS can be run with this command:<br>
<code>PTS_CONCURRENT_TEST_RUNS=4 TOTAL_LOOP_TIME=60 phoronix-test-suite stress-run build-linux-kernel build-php build-apache build-imagemagick</code><br>
Running this command will compile four different software projects at once, over and over, for an hour. Before long, segfaults should begin to appear (as seen in the shot above).<br>
It's not entirely clear if both sets of issues here are related, but seeing as both involve stressing the CPU to its limit, it seems likely. Whether or not this could be patched on a kernel or EFI level is something yet to be seen.</p>

<hr>
</blockquote>

<h3><a href="https://www.trueos.org/blog/unstable-update-8717/" target="_blank" rel="nofollow noopener">TrueOS - UNSTABLE update: 8/7/17</a></h3>

<ul>
<li><p>A new UNSTABLE update for TrueOS is available!  Released regularly, UNSTABLE updates are the full “rolling release” of TrueOS. UNSTABLE includes experimental features, bugfixes, and other CURRENT FreeBSD work. It is meant to be used by those users interested in using the latest TrueOS and FreeBSD developments to help test and improve these projects.</p>

<blockquote>
<p>WARNING: UNSTABLE updates are released primarily for TrueOS and FreeBSD testing/experimentation purposes. Update and run UNSTABLE “at your own risk”.<br>
Note: There was a CDN issue over the weekend that caused issues for early updaters. Everything appears to be resolved and the update is fully available again. If you encountered instability or package issues from updating on 8/6 or 8/5, roll back to a previous boot environment and run the update again.</p>
</blockquote></li>
<li><p>Changes:</p>

<ul>
<li>UNSTABLE .iso and .img files beginning with TrueOS-2017-08-3-x64 will be available to download from <a href="http://download.trueos.org/unstable/amd64/" target="_blank" rel="nofollow noopener">http://download.trueos.org/unstable/amd64/</a>. Due to CDN issues, these are not quite available, look for them later today or tomorrow (8/8/17). This update resyncs all ports with FreeBSD as of 8.1.2017. This includes: New/updated FreeBSD Kernel and World &amp; New DRM (Direct Rendering Manager) next.</li>
<li>Experimental patch for libhyve-remote: (From htps://github.com/trueos/freebsd/commit/a67a73e49538448629ea27, thanks araujobsd)</li>
</ul></li>
</ul>

<blockquote>
<p>The libhyve-remote aims to abstract functionalities from other third party libraries like libvncserver, freerdp, and spice to be used in hypervisor implementation. With a basic data structure it is easy to implement any remote desktop protocol without digging into the protocol specification or third part libraries – check some of our examples.We don’t statically link any third party library, instead we use a dynamic linker and load only the functionality necessary to launch the service.Our target is to abstract functionalities from libvncserver, freerdp and spice. Right now, libhyve-remote only supports libvncserver. It is possible to launch a VNC server with different screen resolution as well as with authentication.With this patch we implement support for bhyve to use libhyve-remote that basically abstract some functionalities from libvncserver.  We can: Enable wait state, Enable authentication, Enable different resolutions&lt; Have a better compression.  Also, we add a new -s flag for vncserver, if the libhyve-remote library is not present in the system, we fallback to bhyve RFB implementation. For example:<br>
<code>-s 2,fbuf,tcp=0.0.0.0:5937,w=800,h=600,password=1234567,vncserver,wait</code></p>
</blockquote>

<ul>
<li>New SysAdm Client pages under the System Management category: 

<ul>
<li>System Control: This is an interface to browse all the sysctl’s on the system.</li>
<li>Devices: This lists all known information about devices on the designated system.</li>
</ul></li>
<li>Lumina Theming: Lumina is testing new theming functionality! By default (in UNSTABLE), a heavily customized version of the Qt5ct engine is included and enabled. This is intended to allow users to quickly adjust themes/icon packs without needing to log out and back in. This also fixes a bug in Insight with different icons loading for the side and primary windows. Look for more information about this new functionality to be discussed on the Lumina Website.</li>
<li>Update to Iridium Web Browser: Iridium is a Chromium based browser built with user privacy and security as the primary concern, but still maintaining the speed and usability of Chromium. It is now up to date – give it a try and let us know what you think (search for iridium-browser in AppCafe).</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://www.ghostbsd.org/11.1-ALPHA1" target="_blank" rel="nofollow noopener">GhostBSD 11.1 Alpha1 is ready</a></li>
<li><a href="https://www.meetup.com/CharmBUG/events/242563414/" target="_blank" rel="nofollow noopener">A Special CharmBUG announcement</a></li>
<li><a href="https://github.com/HardenedBSD/hardenedBSD/commit/59eabffdca53275086493836f732f24195f3a91d" target="_blank" rel="nofollow noopener">Byhve Obfuscation Part 1 of Many</a></li>
<li><a href="https://bsdmag.org/download/bsd-magazine-overriding-libc-functions/" target="_blank" rel="nofollow noopener">New BSDMag is out</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2017-August/626190.html" target="_blank" rel="nofollow noopener">git: kernel - Lower VM_MAX_USER_ADDRESS to finalize work-around for Ryzen bug</a></li>
<li><a href="https://twitter.com/_rsc/status/897555509141794817" target="_blank" rel="nofollow noopener">Ken Thompson corrects one of his biggest regrets</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2SQYQV2" target="_blank" rel="nofollow noopener">Hans - zxfer</a></li>
<li><a href="http://dpaste.com/2175GEB" target="_blank" rel="nofollow noopener">Harza - Google Summer of Code</a></li>
<li><a href="http://dpaste.com/154MY1H" target="_blank" rel="nofollow noopener">tadslot - Microphones, Proprietary software, and feedback</a></li>
<li><a href="http://dpaste.com/2V9VFAC" target="_blank" rel="nofollow noopener">Florian - ZFS/Jail</a>

<ul>
<li><a href="http://dan.langille.org/2015/03/11/modifying-a-zfs-root-system-to-a-beadm-layout/" target="_blank" rel="nofollow noopener">Modifying a ZFS root system to a beadm layout</a>
***</li>
</ul></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We read a trip report about FreeBSD in China, look at how Unix deals with Signals, a stats collector in DragonFlyBSD &amp; much more!</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.freebsdfoundation.org/blog/trip-report-freebsd-in-china-at-copu-and-linuxcon/" target="_blank" rel="nofollow noopener">Trip Report: FreeBSD in China at COPU and LinuxCon</a></h3>

<ul>
<li>This trip report is from Deb Goodkin, the Executive Director of the FreeBSD Foundation. She travelled to China in May 2017 to promote FreeBSD, meet with companies, and participate in discussions around Open Source.</li>
<li>&gt; In May of 2017, we were invited to give a talk about FreeBSD at COPU’s (China Open Source Promotional Unit) Open Source China, Open Source World Summit, which took place June 21-22, in Beijing. This was a tremendous opportunity to talk about the advantages of FreeBSD to the open source leaders and organizations interested in open source. I was honored to represent the Project and Foundation and give the presentation “FreeBSD Advantages and Applications”.</li>
<li>&gt; Since I was already going to be in Beijing, and LinuxCon China was being held right before the COPU event, Microsoft invited me to be part of a women-in-tech panel they were sponsoring. There were six of us on the panel including two from Microsoft, one from the Linux Foundation, one from Accenture of China, and one from Women Who Code. Two of us spoke in English, with everyone else speaking Chinese. It was disappointing that we didn’t have translators, because I would have loved hearing everyone’s answers. We had excellent questions from the audience at the end. I also had a chance to talk with a journalist from Beijing, where I emphasized how contributing to an open source project, like FreeBSD, is a wonderful way to get experience to boost your resume for a job.</li>
<li>&gt; The first day of LinuxCon also happened to be FreeBSD Day. I had my posters with me and was thrilled to have the Honorary Chairman of COPU (also known as the “Father of Open Source in China”) hold one up for a photo op. Unfortunately, I haven’t been able to get a copy of that photo for proof (I’m still working on it!). We spent a long time discussing the strengths of FreeBSD. He believes there are many applications in China that could benefit from FreeBSD, especially for embedded devices, university research, and open source education. We had more time throughout the week to discuss FreeBSD in more detail.</li>
<li>&gt; Since I was at LinuxCon, I had a chance to meet with people from the Linux Foundation, other open source projects, and some of our donors. With LinuxCon changing its name to Open Source Summit, I discussed how important it is to include minority voices like ours to contribute to improving the open source ecosystem. The people I talked to within the Linux Foundation agreed and suggested that we get someone from the Project to give a talk at the Open Source Summit in Prague this October. Jim Zemlin, the Linux Foundation Executive Director, suggested having a BSD track at the summits. We did miss the call for proposals for that conference, but we need to get people to consider submitting proposals for the Open Source Summits in 2018.</li>
<li>&gt; I talked to a CTO from a company that donates to us and he brought up his belief that FreeBSD is much easier to get started on as a contributor. He talked about the steep path in Linux to getting contributions accepted due to having over 10,000 developers and the hierarchy of decision makers, from Linus to his main lieutenants to the layers beneath him. It can take 6 months to get your changes in!</li>
<li>&gt; On Tuesday, Kylie and I met with a representative from Huawei, who we’ve been meeting over the phone with over the past few months. Huawei has a FreeBSD contributor and is looking to add more. We were thrilled to hear they decided to donate this year. We look forward to helping them get up to speed with FreeBSD and collaborate with the Project.</li>
<li>&gt; Wednesday marked the beginning of COPU and the reason I flew all the way to Beijing! We started the summit with having a group photo of all the speakers:The honorary chairman, Professor Lu in the front middle.</li>
<li>&gt; My presentation was called “FreeBSD Advantages and Applications”. A lot of the material came from Foundation Board President, George-Neville-Neil’s presentation, “FreeBSD is not a Linux Distribution”, which is a wonderful introduction to FreeBSD and includes the history of FreeBSD, who uses it and why, and which features stand out. My presentation went well, with Professor Lu and others engaged through the translators. Afterwards, I was invited to a VIP dinner, which I was thrilled about.</li>
<li>&gt; The only hitch was that Kylie and I were running a FreeBSD meetup that evening, and both were important! Beijing during rush hour is crazy, even trying to go only a couple of miles is challenging. We made plans that I would go to the meetup and give the same presentation, and then head back to the dinner. Amazingly, it worked out.</li>
<li>Check out the rest of her trip report and stay tuned for more news from the region as this is one of the focus areas of the Foundation. 
***</li>
</ul>

<h3><a href="http://www.networkworld.com/article/3211296/linux/unix-dealing-with-signals.html" target="_blank" rel="nofollow noopener">Unix: Dealing with signals</a></h3>

<blockquote>
<p>Signals on Unix systems are critical to the way processes live and die. This article looks at how they're generated, how they work, and how processes receive or block them<br>
On Unix systems, there are several ways to send signals to processes—with a kill command, with a keyboard sequence (like control-C), or through a program<br>
Signals are also generated by hardware exceptions such as segmentation faults and illegal instructions, timers and child process termination.<br>
But how do you know what signals a process will react to? After all, what a process is programmed to do and able to ignore is another issue.<br>
Fortunately, the /proc file system makes information about how processes handle signals (and which they block or ignore) accessible with commands like the one shown below. In this command, we’re looking at information related to the login shell for the current user, the "$$" representing the current process.</p>
</blockquote>

<ul>
<li>On FreeBSD, you can use <em>procstat -i PID</em> to get that and even more information, and easier to digest form</li>
</ul>

<blockquote>
<blockquote>
<pre><code>        P  if signal is pending in the global process queue
        I  if signal delivery disposition is SIGIGN
        C  if signal delivery is to catch it
</code></pre>

<p>Catching a signal requires that a signal handling function exists in the process to handle a given signal. The SIGKILL (9) and SIGSTOP (#) signals cannot be ignored or caught. For example, if you wanted to tell the kernel that ctrl-C's are to be ignored, you would include something like this in your source code:<br>
signal(SIGINT, SIG_IGN);<br>
To ensure that the default action for a signal is taken, you would do something like this instead:<br>
signal(SIGSEGV, SIG_DFL);</p>

<ul>
<li>The article then shows some ways to send signals from the command line, for example to send SIGHUP to a process with pid 1234:
kill -HUP 1234</li>
<li>You can get a list of the different signals by running
kill -l
On Unix systems, signals are used to send all kinds of information to running processes, and they come from user commands, other processes, and the kernel itself. Through /proc, information about how processes are handling signals is now easily accessible and, with just a little manipulation of the data, easy to understand.
***</li>
</ul>
</blockquote>
</blockquote>

<h3><a href="https://smartos.org/bugview/OS-6274" target="_blank" rel="nofollow noopener">links owned by NGZ erroneously marked as on loan</a></h3>

<ul>
<li>NGZ (Non-Global Zone), is IllumOS speak for their equivalent to a jail
&gt; As reported by user brianewell in smartos-live#737, NGZ ip tunnels stopped persisting across zone reboot. This behavior appeared in the 20170202 PI and was not present in previous releases. After much spelunking I determined that this was caused by a regression introduced in commit 33df115 (part of the OS-5363 work). The regression was a one-line change to link_activate() which marks NGZ links as on loan when they are in fact not loaned because the NGZ created and owns the link.</li>
<li>“On loan” means the interface belongs to the host (GZ, Global Zone), and has been loaned to the NGZ (Jail)</li>
</ul>

<blockquote>
<p>This regression was easy to introduce because of the subtle nature of this code and lack of comments. I'm going to remove the regressive line, add clarifying comments, and also add some asserts.<br>
The following is a detailed analysis of the issue, how I debugged it, and why my one-line change caused the regression:<br>
To start I verified that PI 20170119 work as expected:<br>
    booted 20170119<br>
   created iptun (named v4_sys76) inside of a native NGZ (names sos-zone)<br>
   performed a reboot of sos-zone<br>
   zlogin to sos-zone and verify iptun still exists after reboot<br>
Then I booted the GZ into PI 20170202 and verified the iptun did not show up<br>
   booted 20170202<br>
   started sos-zone<br>
   zlogin and verified the iptun was missing<br>
At this point I thought I would recreate the iptun and see if I could monitor the zone halt/boot process for the culprit, but instead I received an error from dladm: "object already exists".<br>
I didn't expect this. So I used mdb to inspect the dlmgmtd state. Sure enough the iptun exists in dlmgmtd.<br>
Okay, so if the link already exists, why doesn't it show up (in either the GZ or the NGZ)?<br>
If a link is not marked as active then it won't show up when you query dladm. When booting the zone on 20170119 the ll_flags for the iptun contained the value 0x3. So the problem is the link is not marked as active on the 20170202 PI.<br>
The link_activate() function is responsible for marking a link as active. I used dtrace to verify this function was called on the 20170202 PI and that the dlmgmt_link_t had the correct ll_flags value.<br>
So the iptun link structure has the correct ll_flags when link_activate() returns but when I inspect the same structure with mdb afterwards the value has changed.<br>
Sometime after link_activate() completes some other process changed the ll_flags value. My next question was: where is link_activate() called and what comes after it that might affect the ll_flags? I did another trace and got this stack.<br>
The dlmgmt_upid() function calls dlmgmt_write_db_entry() after link_activate() and that can change the flags. But dtrace proved the ll_flags value was still 0x3 after returning from this function.<br>
With no obvious questions left I then asked cscope to show me all places where ll_flags is modified. As I walked through the list I used dtrace to eliminate candidates one at a time -- until I reached dlmgmt_destroy_common(). I would not have expected this function to show up during zone boot but sure enough it was being called somehow, and by someone. Who?<br>
Since there is no easy way to track door calls it was at this point I decided to go nuclear and use the dtrace stop action to stop dlmgmtd when it hits dlmgmt_destroy_common(). Then I used mdb -k to inspect the door info for the dlmgmtd threads and look for my culprit.<br>
The culprit is do_up_iptun() caused by the dladm up-iptun call. Using ptree I then realized this was happening as part of the zone boot under the network/iptun svc startup. At this point it was a matter of doing a zlogin to sos-zone and running truss on dladm up-iptun to find the real reason why dladm_destroy_datalink_id() is called.<br>
So the link is marked as inactive because dladm_getsnap_conf() fails with DLADM_STATUS_DENIED which is mapped to EACCESS. Looking at the dladm_getsnap_conf() code I see the following</p>
</blockquote>

<ul>
<li>“The caller is in a non-global zone and the persistent configuration belongs to the global zone.”</li>
</ul>

<blockquote>
<p>What this is saying is that if a link is marked "on loan" (meaning it's technically owned/created by the GZ but assigned/loaned to the NGZ) and the zone calling dladm_getsnap_conf() is an NGZ then return EACCESS because the configuration of the link is up to the GZ, not the NGZ. This code is correct and should be enforced, but why is it tripping in PI 20170202 and not 20170119? It comes back to my earlier observation that in the 20170202 PI we marked the iptun as "on loan" but not in the older one. Why?<br>
Well as it turns out while fixing OS-5363 I fixed what I thought was a bug in link_activate()<br>
When I first read this code it was my understanding that anytime we added a link to a zone's datalink list, by calling zone_add_datalink(), that link was then considered "on loan". My understanding was incorrect. The link_activate() code has a subtleness that eluded me. There are two cases in link_activate():</p>

<ol>
<li>The link is under an NGZ's datalink list but it's ll_linkid doesn't reflect that (e.g., the link is found under zoneid 3 but ll_linkid is 0). In this case the link is owned by the GZ but is being loaned to an NGZ and the link state should be updated accordingly. We get in this situation when dlmgmtd is restated for some reason (it must resync it's in-memory state with the state of the system).</li>
<li>The link is NOT under any NGZ's (zone_check_datalink() is only concerned with NGZs) datalink list but its ll_zoneid holds the value of an NGZ. This indicates that the link is owned by an NGZ but for whatever reason is not currently under the NGZ's datalink list (e.g., because we are booting the zone and we now need to assign the link to its list).
So the fix is to revert that one line change as well as add some clarifying comments and also some asserts to prevent further confusion in the future.</li>
<li>A nice breakdown by Ryan Zezeski of how he accidently introduced a regression, and how he tracked it down using dtrace and mdb
***</li>
</ol>
</blockquote>

<h3><a href="http://dpaste.com/2YP0X9C" target="_blank" rel="nofollow noopener">New experimental statistics collector in master</a></h3>

<blockquote>
<p>Master now has an in-kernel statistics collector which is enabled by default, and a (still primitive) user land program to access it.  This recorder samples the state of the machine once every 10 seconds and records it in a large FIFO, all in-kernel.  The FIFO typically contains 8192 entries, or around the last 23 hours worth of data.<br>
Statistics recorded include current load, user/sys/idle cpu use, swap use, VM fault rate, VM memory statistics, and counters for syscalls, path lookups, and various interrupt types.  A few more useful counters will probably be added... I'd like to tie cpu temperature, fork rate, and exec rate in at some point, as well as network and disk traffic.<br>
The statistics gathering takes essentially no real overhead and is always on, so any user at the spur of the moment with no prior intent can query the last 23 hours worth of data.<br>
There is a user frontend to the data called 'kcollect' (its tied into the buildworld now).  Currently still primitive.  Ultimately my intention is to integrate it with a dbm database for long-term statistical data retention (if desired) using an occasional (like once-an-hour) cron-job to soak up anything new, with plenty of wiggle room due to the amount of time the kernel keeps itself.  This is better and less invasive than having a userland statistics gathering script running every few minutes from cron and has the advantage of giving you a lot of data on the spur of the moment without having to ask for it before-hand.<br>
If you have gnuplot installed (pkg install gnuplot), kcollect can generate some useful graphs based on the in-kernel data.  Well, it will be boring if the machine isn't doing anything :-).  There are options to use gnuplot to generate a plot window in X or a .jpg or .png file, and other options to set the width and height and such.  At the moment the gnuplot output uses a subset of statically defined fields to plot but ultimately the field list it uses will be specifiable.</p>
</blockquote>

<ul>
<li><a href="http://apollo.backplane.com/DFlyMisc/kcollect03.jpg" target="_blank" rel="nofollow noopener">Sample image generated during a synth run</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.tedunangst.com/flak/post/openbsd-changes-of-note-626" target="_blank" rel="nofollow noopener">openbsd changes of note 626</a></h3>

<ul>
<li>Hackerthon is imminent.</li>
<li>There are two signals one can receive after accessing invalid memory, SIGBUS and SIGSEGV. Nobody seems to know what the difference is or should be, although some theories have been unearthed. Make some attempt to be slightly more consistent and predictable in OpenBSD.</li>
<li>Introduces jiffies in an effort to appease our penguin oppressors.</li>
<li>Clarify that IP.OF.UPSTREAM.RESOLVER is not actually the hostname of a server you can use.</li>
<li>Switch acpibat to use _BIX before _BIF, which means you might see discharge cycle counts, too.</li>
<li>Assorted clang compatibility. clang uses -Oz to mean optimize for size and -Os for something else, so make gcc accept -Oz so all makefiles can be the same. Adjust some hardlinks. Make sure we build gcc with gcc. </li>
<li>The SSL_check_private_key function is a lie.</li>
<li>Switch the amd64 and i386 compiler to clang and see what happens.</li>
<li>We are moving towards using wscons (wstpad) as the driver for touchpads.</li>
<li>Dancing with the stars, er, NET_LOCK().</li>
<li>clang emits lots of warnings. Fix some of them. Turn off a bunch of clang builtins because we have a strong preference that code use our libc versions. Some other changes because clang is not gcc.</li>
<li>Among other curiosities, static variables in the special .openbsd.randomdata are sometimes assumed to be all zero, leading the clang optimizer to eliminate reads of such variables.</li>
<li>Some more pledge rules for sed. If the script doesn’t require opening new files, don’t let it.</li>
<li>Backport a bajillion fixes to stable. Release errata.</li>
<li>RFC 1885 was obsoleted nearly 20 years ago by RFC 2463 which was obsoleted over 10 years ago by RFC 4443. We are probably not going back.</li>
<li>Update libexpat to 2.2.3.</li>
<li>vmm: support more than 3855MB guest memory.</li>
<li>Merge libdrm 2.4.82.</li>
<li>Disable SSE optimizations on i386/amd64 for SlowBcopy. It is supposed to be slow. Prevents crashes when talking to memory mapped video memory in a hypervisor.</li>
</ul>

<hr>

<h3><a href="https://functionallyparanoid.com/2017/08/08/the-25-freedom-laptop/" target="_blank" rel="nofollow noopener">The $25 “FREEDOM Laptop!”</a></h3>

<blockquote>
<p>Time to get back to the original intent of this blog – talking about my paranoid obsession with information security!  So break out your tinfoil hats my friends because this will be a fun ride.  I’m looking for the most open source / freedom respecting portable computing experience I can possibly find and I’m going to document my work in real-time so you will get to experience the ups (and possibly the downs) of that path through the universe.  With that said, let’s get rolling.<br>
When I built my OpenBSD router using the APU2 board, I discovered that there are some amd64 systems that use open source BIOS.  This one used Coreboot and after some investigation I discovered that there was an even more paranoid open source BIOS called Libreboot out there.  That started to feel like it might scratch my itch.<br><br>
Well, after playing around with some lower-powered systems like my APU2 board, my Thinkpad x230 and my SPARC64 boxes, I thought, if it runs amd64 code and I can run an open source operating system on it, the thing should be powerful enough for me to do most (if not all) of what I need it to do.  At this point, I started looking for a viable machine.  From a performance perspective, it looked like the Thinkpad x200, T400, T500 and W500 were all viable candidates.  After paying attention on eBay for a while, I saw something that was either going to be a sweet deal, or a throwaway piece of garbage!<br>
I found a listing for a Thinkpad T500 that said it didn’t come with a power adapter and was 100% untested.  From looking at the photos, it seemed like there was nothing that had been molested about it.  Obviously, nobody was jumping on something this risky so I thought, “what the heck” and dropped a bit at the opening price of $24.99.  Well, guess what.  I won the auction.  Now to see what I got.<br>
When the laptop showed up, I discovered it was minus its hard drive (but the outside plastic cover was still in place).  I plugged in my x230’s power adapter and hit the button.  I got lights and was dropped to the BIOS screen.  To my eternal joy, I discovered that the machine I had purchased for $25 was 100% functional and included the T9400 2.54 GHz Core 2 Duo CPU and the 1680×1050 display panel.  W00t!<br>
First things first, I need to get this machine a hard drive and get the RAM upgraded from the 2GB that it showed up with to 8GB.  Good news is that these two purchases only totaled $50 for the pair.  An aftermarket 9-cell replacement battery was another $20. Throw in a supported WiFi card that doesn’t require a non-free blob from Libreboot at $5.99 off of eBay and $5 for a hard drive caddy and I’m looking at about $65 in additional parts bringing the total cost of the laptop, fully loaded up at just over $100.  Not bad at all…<br>
Once all of the parts arrived and were installed, now for the fun part.  Disassembling the entire thing down to the motherboard so we can re-flash the BIOS with Libreboot.  The guide looks particularly challenging for this but hey, I have a nice set of screwdrivers from iFixit and a remarkable lack of fear when it comes to disassembling things.  Should be fun!<br>
Well, fun didn’t even come close.  I wish I had shot some pictures along the way because at one point I had a heap of parts in one corner of my “workbench” (the dining room table) and just the bare motherboard, minus the CPU sitting in front of me.  With the help of a clip and a bunch of whoops wires (patch cables), I connected my Beaglebone Black to the BIOS chip on the bare motherboard and attempted to read the chip.  #fail<br>
I figured out after doing some more digging that you need to use the connector on the left side of the BBB if you hold it with the power connector facing away from you.  In addition, you should probably read the entire process through instead of stopping at the exciting pinout connector diagram because I missed the bit about the 3.3v power supply need to have ground connected to pin 2 of the BIOS chip.<br>
Speaking of that infamous 3.3v power supply, I managed to bend a paperclip into a U shape and jam it into the connector of an old ATX power supply I had in a closet and source power from that.  I felt like MacGyver for that one!<br>
I was able to successfully read the original Thinkpad BIOS and then flash the Libreboot + Grub2 VESA framebuffer image onto the laptop!  I gulped loudly and started the reassembly process.  Other than having some cable routing difficulties because the replacement WiFi card didn’t have a 5Ghz antenna, it all went back together.  Now for the moment of truth!  I hit the power button and everything worked!!!<br>
At this point I happily scurried to download the latest snapshot of OpenBSD – current and install it.  Well, things got a little weird here.  Looks like I have to use GRUB to boot this machine now and GRUB won’t boot an OpenBSD machine with Full Disk Encryption.  That was a bit of a bummer for me.  I tilted against that windmill for several days and then finally admitted defeat.  So now what to do?  Install Arch?<br>
Well, here’s where I think the crazy caught up to me.  I decided to be an utter sell out and install Ubuntu Gnome Edition 17.04 (since that will be the default DE going forward) with full disk encryption.  I figured I could have fun playing around in a foreign land and try to harden the heck out of that operating system.  I called Ubuntu “grandma’s Linux” because a friend of mine installed it on his mom’s laptop for her but I figured what the heck – let’s see how the other half live!<br>
At this point, while I didn’t have what I originally set out to do – build a laptop with Libreboot and OpenBSD, I did have a nice compromise that is as well hardened as I can possibly make it and very functional in terms of being able to do what I need to do on a day to day basis.  Do I wish it was more portable?  Of course.  This thing is like a six or seven pounder.  However, I feel much more secure in knowing that the vast majority of the code running on this machine is open source and has all the eyes of the community on it, versus something that comes from a vendor that we cannot inspect.  My hope is that someone with the talent (unfortunately I lack those skills) takes an interest in getting FDE working with Libreboot on OpenBSD and I will most happily nuke and repave this “ancient of days” machine to run that!</p>

<hr>
</blockquote>

<h3><a href="https://hothardware.com/news/freebsd-programmers-report-ryzen-smt-bug-that-hangs-or-resets-machines" target="_blank" rel="nofollow noopener">FreeBSD Programmers Report Ryzen SMT Bug That Hangs Or Resets Machines</a></h3>

<blockquote>
<p>It's starting to look like there's an inherent bug with AMD's Zen-based chips that is causing issues on Unix-based operating systems, with both Linux and FreeBSD confirmed. The bug doesn't just affect Ryzen desktop chips, but also AMD's enterprise EPYC chips. It seems safe to assume that Threadripper will bundle it in, as well.<br>
It's not entirely clear what is causing the issue, but it's related to the CPU being maxed out in operations, thus causing data to get shifted around in memory, ultimately resulting in unstable software. If the bug is exercised a certain way, it can even cause machines to reset.<br>
The revelation about the issue on FreeBSD was posted to the official repository, where the issue is said to happen when threads can lock up, and then cause the system to become unstable. Getting rid of the issue seems as simple as disabling SMT, but that would then negate the benefits provided by having so many threads at-the-ready.<br>
On the Linux side of the Unix fence, Phoronix reports on similar issues, where stressing Zen chips with intensive benchmarks can cause one segmentation fault after another. The issue is so profound, that Phoronix Test Suite developer Michael Larabel introduced a special test that can be run to act as a bit of a proof-of-concept. To test another way, PTS can be run with this command:<br>
<code>PTS_CONCURRENT_TEST_RUNS=4 TOTAL_LOOP_TIME=60 phoronix-test-suite stress-run build-linux-kernel build-php build-apache build-imagemagick</code><br>
Running this command will compile four different software projects at once, over and over, for an hour. Before long, segfaults should begin to appear (as seen in the shot above).<br>
It's not entirely clear if both sets of issues here are related, but seeing as both involve stressing the CPU to its limit, it seems likely. Whether or not this could be patched on a kernel or EFI level is something yet to be seen.</p>

<hr>
</blockquote>

<h3><a href="https://www.trueos.org/blog/unstable-update-8717/" target="_blank" rel="nofollow noopener">TrueOS - UNSTABLE update: 8/7/17</a></h3>

<ul>
<li><p>A new UNSTABLE update for TrueOS is available!  Released regularly, UNSTABLE updates are the full “rolling release” of TrueOS. UNSTABLE includes experimental features, bugfixes, and other CURRENT FreeBSD work. It is meant to be used by those users interested in using the latest TrueOS and FreeBSD developments to help test and improve these projects.</p>

<blockquote>
<p>WARNING: UNSTABLE updates are released primarily for TrueOS and FreeBSD testing/experimentation purposes. Update and run UNSTABLE “at your own risk”.<br>
Note: There was a CDN issue over the weekend that caused issues for early updaters. Everything appears to be resolved and the update is fully available again. If you encountered instability or package issues from updating on 8/6 or 8/5, roll back to a previous boot environment and run the update again.</p>
</blockquote></li>
<li><p>Changes:</p>

<ul>
<li>UNSTABLE .iso and .img files beginning with TrueOS-2017-08-3-x64 will be available to download from <a href="http://download.trueos.org/unstable/amd64/" target="_blank" rel="nofollow noopener">http://download.trueos.org/unstable/amd64/</a>. Due to CDN issues, these are not quite available, look for them later today or tomorrow (8/8/17). This update resyncs all ports with FreeBSD as of 8.1.2017. This includes: New/updated FreeBSD Kernel and World &amp; New DRM (Direct Rendering Manager) next.</li>
<li>Experimental patch for libhyve-remote: (From htps://github.com/trueos/freebsd/commit/a67a73e49538448629ea27, thanks araujobsd)</li>
</ul></li>
</ul>

<blockquote>
<p>The libhyve-remote aims to abstract functionalities from other third party libraries like libvncserver, freerdp, and spice to be used in hypervisor implementation. With a basic data structure it is easy to implement any remote desktop protocol without digging into the protocol specification or third part libraries – check some of our examples.We don’t statically link any third party library, instead we use a dynamic linker and load only the functionality necessary to launch the service.Our target is to abstract functionalities from libvncserver, freerdp and spice. Right now, libhyve-remote only supports libvncserver. It is possible to launch a VNC server with different screen resolution as well as with authentication.With this patch we implement support for bhyve to use libhyve-remote that basically abstract some functionalities from libvncserver.  We can: Enable wait state, Enable authentication, Enable different resolutions&lt; Have a better compression.  Also, we add a new -s flag for vncserver, if the libhyve-remote library is not present in the system, we fallback to bhyve RFB implementation. For example:<br>
<code>-s 2,fbuf,tcp=0.0.0.0:5937,w=800,h=600,password=1234567,vncserver,wait</code></p>
</blockquote>

<ul>
<li>New SysAdm Client pages under the System Management category: 

<ul>
<li>System Control: This is an interface to browse all the sysctl’s on the system.</li>
<li>Devices: This lists all known information about devices on the designated system.</li>
</ul></li>
<li>Lumina Theming: Lumina is testing new theming functionality! By default (in UNSTABLE), a heavily customized version of the Qt5ct engine is included and enabled. This is intended to allow users to quickly adjust themes/icon packs without needing to log out and back in. This also fixes a bug in Insight with different icons loading for the side and primary windows. Look for more information about this new functionality to be discussed on the Lumina Website.</li>
<li>Update to Iridium Web Browser: Iridium is a Chromium based browser built with user privacy and security as the primary concern, but still maintaining the speed and usability of Chromium. It is now up to date – give it a try and let us know what you think (search for iridium-browser in AppCafe).</li>
</ul>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://www.ghostbsd.org/11.1-ALPHA1" target="_blank" rel="nofollow noopener">GhostBSD 11.1 Alpha1 is ready</a></li>
<li><a href="https://www.meetup.com/CharmBUG/events/242563414/" target="_blank" rel="nofollow noopener">A Special CharmBUG announcement</a></li>
<li><a href="https://github.com/HardenedBSD/hardenedBSD/commit/59eabffdca53275086493836f732f24195f3a91d" target="_blank" rel="nofollow noopener">Byhve Obfuscation Part 1 of Many</a></li>
<li><a href="https://bsdmag.org/download/bsd-magazine-overriding-libc-functions/" target="_blank" rel="nofollow noopener">New BSDMag is out</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2017-August/626190.html" target="_blank" rel="nofollow noopener">git: kernel - Lower VM_MAX_USER_ADDRESS to finalize work-around for Ryzen bug</a></li>
<li><a href="https://twitter.com/_rsc/status/897555509141794817" target="_blank" rel="nofollow noopener">Ken Thompson corrects one of his biggest regrets</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2SQYQV2" target="_blank" rel="nofollow noopener">Hans - zxfer</a></li>
<li><a href="http://dpaste.com/2175GEB" target="_blank" rel="nofollow noopener">Harza - Google Summer of Code</a></li>
<li><a href="http://dpaste.com/154MY1H" target="_blank" rel="nofollow noopener">tadslot - Microphones, Proprietary software, and feedback</a></li>
<li><a href="http://dpaste.com/2V9VFAC" target="_blank" rel="nofollow noopener">Florian - ZFS/Jail</a>

<ul>
<li><a href="http://dan.langille.org/2015/03/11/modifying-a-zfs-root-system-to-a-beadm-layout/" target="_blank" rel="nofollow noopener">Modifying a ZFS root system to a beadm layout</a>
***</li>
</ul></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>208: Faces of Open Source</title>
  <link>https://www.bsdnow.tv/208</link>
  <guid isPermaLink="false">a6ed38b0-4c78-4bf0-98ca-10b38ac0ff3f</guid>
  <pubDate>Wed, 23 Aug 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/a6ed38b0-4c78-4bf0-98ca-10b38ac0ff3f.mp3" length="60847636" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>DragonflyBSD 4.8.1 has been released, we explore how the X11 clipboard works, and look at OpenBSD gaming resources.</itunes:subtitle>
  <itunes:duration>1:24:30</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>&lt;p&gt;DragonflyBSD 4.8.1 has been released, we explore how the X11 clipboard works, and look at OpenBSD gaming resources.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/llvm_clang_and_compiler_rt" target="_blank" rel="nofollow noopener"&gt;LLVM, Clang and compiler-rt support enhancements&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In the last month I started with upstream of the code for sanitizers: the common layer and ubsan. I worked also on the elimination of unexpected failures in LLVM and Clang. I've managed to achieve, with a pile of local patches, the number of 0 unexpected bugs within LLVM (check-llvm) and 3 unexpected bugs within Clang (check-clang) (however these ones were caused by hardcoded environment -lstdc++ vs -lc++). The number of failures in sanitizers (check-sanitizer) is also low, it's close to zero.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;LLVM&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In order to achieve the goals of testability concerning the LLVM projects, I had to prepare a new pkgsrc-wip package called llvm-all-in-one that contains 12 active LLVM projects within one tree. The set of these projects is composed of: llvm, clang, compiler-rt, libcxx, libcxxabi, libunwind, test-suite, openmp, llgo, lld, lldb, clang-tools-extra. These were required to build and execute test-suites in the LLVM's projects. Ideally the tests should work in standalone packages - built out-of-LLVM-sources - and with GCC/Clang, however the real life is less bright and this forced me to use Clang as the system compiler an all-in-one package in order to develop the work environment with the ability to build and execute unit tests.&lt;br&gt;
There were four threads within LLVM:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Broken std::call_once with libstdc++. This is an old and well-known bug, which was usually worked around with a homegrown implementation llvm::call_once. I've discovered that the llvm::call_once workaround isn't sufficient for the whole LLVM functionality, as std::call_once can be called internally inside the libstdc++ libraries - like within the C++11 futures interface. This bug has been solved by Joerg Sonnenberger in the ELF dynamic linker.&lt;/li&gt;
&lt;li&gt;Unportable shell construct hardcoded in tests "&amp;gt;&amp;amp;". This has been fixed upstream.&lt;/li&gt;
&lt;li&gt;LLVM JIT. The LLVM Memory generic allocator (or page mapper) was designed to freely map pages with any combination of the protection bits: R,W,X. This approach breaks on NetBSD with PaX MPROTECT and requires redesign of the interfaces. This is the continuation of the past month AllocateRWX and ReleaseRWX compatibility with NetBSD improvements. I've prepared few variations of local patches addressing these issues and it's still open for discussion with upstream. My personal preference is to remove the current API entirely and introduce a newer one with narrowed down functionality to swap between readable (R--), writable (RW-) and executable (R-X) memory pages. This would effectively enforce W&lt;sup&gt;X.&lt;/sup&gt;&lt;/li&gt;
&lt;li&gt;Sanitizers support. Right now, I keep the patches locally in order to upstream the common sanitizer code in compiler-rt.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The LLVM JIT API is the last cause of unexpected failures in check-llvm. This breaks MCJIT, ORCJIT and ExecutionEngine libraries and causes around 200 unexpected failures within tests.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Clang&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I've upstreamed a patch that enables ubsan and asan on Clang's frontend for NetBSD/amd64. This support isn't complete, and requires sanitizers' support code upstreamed to compiler-rt.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;compiler-rt

&lt;ul&gt;
&lt;li&gt;The current compiler-rt tasks can be divided into:&lt;/li&gt;
&lt;li&gt;upstream sanitizer common code shared with POSIX platforms&lt;/li&gt;
&lt;li&gt;upstream sanitizer common code shared with Linux and FreeBSD&lt;/li&gt;
&lt;li&gt;upstream sanitizer common code shared with FreeBSD&lt;/li&gt;
&lt;li&gt;upstream sanitizer common code specific to NetBSD&lt;/li&gt;
&lt;li&gt;build, execute and pass tests for sanitizer common code in check-santizer&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This means that ubsan, asan and the rest of the specific sanitizers wait in queue.&lt;br&gt;
All the mentioned tasks are being worked on simultaneously, with a soft goal to finish them one after another from the first to the last one.&lt;br&gt;
The last point with check-sanitizer unveiled so far two generic bugs on NetBSD: &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Return errno EFAULT instead of EACCES on memory fault with read(2)/write(2)-like syscalls.&lt;/li&gt;
&lt;li&gt;Honor PTHREAD_DESTRUCTOR_ITERATIONS in libpthread.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;These bugs are not strictly real bugs, but they were introducing needless differences with other modern POSIX systems. The fixes were introduced by Christos Zoulas and backported to NetBSD-8.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Plan for the next milestone&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I have decided not to open new issues in with the coming month and focus on upstreaming the remaining LLVM code. The roadmap for the next month is to continue working on the goals of the previous months. std::call_once is an example that every delayed bug keeps biting again and again in future.&lt;br&gt;
LLVM 5.0.0 is planned to be released this month (August) and there is a joint motivation with the upstream maintainer to push compatibility fixes for LLVM JIT. There is an option to submit a workaround now and introduce refactoring for the trunk and next version (6.0.0).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This work was sponsored by The NetBSD Foundation.&lt;/li&gt;
&lt;li&gt;The NetBSD Foundation is a non-profit organization and welcomes any donations to help us continue funding projects and services to the open-source community. Please consider visiting the following URL, and chip in what you can: &lt;a href="http://netbsd.org/donations/#how-to-donate" target="_blank" rel="nofollow noopener"&gt;http://netbsd.org/donations/#how-to-donate&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2017-August/626150.html" target="_blank" rel="nofollow noopener"&gt;DragonFly BSD 4.8.1 released&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;+Updates by dev:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Antonio Huete Jimenez (1):

&lt;ul&gt;
&lt;li&gt;libc/gmon: Replace sbrk() with mmap()&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Francois Tigeot (3):

&lt;ul&gt;
&lt;li&gt;drm: bring in Linux compability changes from master&lt;/li&gt;
&lt;li&gt;drm/linux: make flush_work() more robust&lt;/li&gt;
&lt;li&gt;drm/i915: Update to Linux 4.7.10&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Imre VadÃ¡sz (4):

&lt;ul&gt;
&lt;li&gt;drm - Fix hrtimer, don't reset timer-&amp;gt;function to NULL in timeout handler.&lt;/li&gt;
&lt;li&gt;sound - Delete devfs clone handler for /dev/dsp and /dev/mixer on unload.&lt;/li&gt;
&lt;li&gt;if_vtnet - Allocate struct vtnet_tx_header entries from a queue.&lt;/li&gt;
&lt;li&gt;Make sure that cam(4)'s dashutdown handler runs before DEVICE_SHUTDOWN().&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Matthew Dillon (24):

&lt;ul&gt;
&lt;li&gt;kernel - MFC b48dd28447fc (sigtramp workaround)&lt;/li&gt;
&lt;li&gt;kernel - Fix deadlock in sound system&lt;/li&gt;
&lt;li&gt;kernel - Fix broken wakeup in crypto code&lt;/li&gt;
&lt;li&gt;kernel - Add KERN_PROC_SIGTRAMP&lt;/li&gt;
&lt;li&gt;gcc - Adjust the unwind code to use the new sigtramp probe sysctl&lt;/li&gt;
&lt;li&gt;kernel - Implement NX&lt;/li&gt;
&lt;li&gt;kernel - Implement NX (2)&lt;/li&gt;
&lt;li&gt;kernel - Implement machdep.pmap_nx_enable TUNABLE&lt;/li&gt;
&lt;li&gt;kernel - Implement NX (3) - cleanup&lt;/li&gt;
&lt;li&gt;kernel - Temporarily set the default machdep.pmap_nx_enable to 0&lt;/li&gt;
&lt;li&gt;param - Change __DragonFly_version to 400801&lt;/li&gt;
&lt;li&gt;kernel - Fix i915 deadlock&lt;/li&gt;
&lt;li&gt;pthreads - Change PTHREAD_STACK_MIN&lt;/li&gt;
&lt;li&gt;libc - Fix bug in rcmdsh()&lt;/li&gt;
&lt;li&gt;ppp - Fix minor overflow in protocol search&lt;/li&gt;
&lt;li&gt;libtelnet - Fix improper statement construction (not a bug in the binary)&lt;/li&gt;
&lt;li&gt;libdevstat - Limit sscanf field, fix redundant condition&lt;/li&gt;
&lt;li&gt;openssh - Fix a broken assignment&lt;/li&gt;
&lt;li&gt;window - Fix Graphics capability enable test&lt;/li&gt;
&lt;li&gt;kernel - Fix event preset&lt;/li&gt;
&lt;li&gt;mfiutil - Fix static buffer overflow&lt;/li&gt;
&lt;li&gt;mixer - Fix sscanf() overflow&lt;/li&gt;
&lt;li&gt;gcore - fix overflow in sscanf&lt;/li&gt;
&lt;li&gt;kernel - Fix improper parens&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Sascha Wildner (17):

&lt;ul&gt;
&lt;li&gt;libkvm: Fix char pointer dereference.&lt;/li&gt;
&lt;li&gt;Fix some cases where an index was used before its limits check.&lt;/li&gt;
&lt;li&gt;Really ensure that our world/kernel are built under POSIX locale ("C").&lt;/li&gt;
&lt;li&gt;zoneinfo: Create a /usr/share/zoneinfo/UTC link.&lt;/li&gt;
&lt;li&gt;kernel/cam: Add CAM_SCSI_IT_NEXUS_LOST (in preparation for virtio_scsi(4)).&lt;/li&gt;
&lt;li&gt;kernel: Add FreeBSD's virtio_scsi(4) driver.&lt;/li&gt;
&lt;li&gt;ccdconfig(8): Add missing free().&lt;/li&gt;
&lt;li&gt;libpuffs: Fix two asserts.&lt;/li&gt;
&lt;li&gt;kernel/acpi: Untangle the wakecode generation during buildkernel.&lt;/li&gt;
&lt;li&gt;kernel/acpica: Better check AcpiOsPredefinedOverride()'s InitVal argument&lt;/li&gt;
&lt;li&gt;kernel/acpica: ACPI_THREAD_ID is unsigned.&lt;/li&gt;
&lt;li&gt;kernel/acpica: Return curthread as thread id from AcpiOsGetThreadId().&lt;/li&gt;
&lt;li&gt;kernel/acpica: Remove no longer needed #include.&lt;/li&gt;
&lt;li&gt;kernel/acpi: Call AcpiInitializeSubsystem() before AcpiInitializeTables().&lt;/li&gt;
&lt;li&gt;kernel/urtwn: Add missing braces.&lt;/li&gt;
&lt;li&gt;kernel/ieee80211: Add missing braces.&lt;/li&gt;
&lt;li&gt;libthread_xu: Fix checking of pthread_barrier_init()'s count argument.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Sepherosa Ziehau (7):

&lt;ul&gt;
&lt;li&gt;sound/hda: Sync device ID table with FreeBSD&lt;/li&gt;
&lt;li&gt;inet6: Restore mbuf hash after defragmentation.&lt;/li&gt;
&lt;li&gt;pf: Normalized, i.e. defragged, packets requiring rehash.&lt;/li&gt;
&lt;li&gt;em: Enable MSI by default on devices has PCI advanced features capability.&lt;/li&gt;
&lt;li&gt;sched: Change CPU_SETSIZE to signed int, same as FreeBSD/Linux.&lt;/li&gt;
&lt;li&gt;usched: Allow process to change self cpu affinity&lt;/li&gt;
&lt;li&gt;ix: Fixup TX/RX ring settings for X550, which supports 64/64 TX/RX rings.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;zrj (1):

&lt;ul&gt;
&lt;li&gt;Revert "Always use unix line endings"
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.informatica.co.cr/unix-source-code/research/1991/0101.html" target="_blank" rel="nofollow noopener"&gt;Porting Unix to the 386: A Practical Approach&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The University of California's Berkeley Software Distribution (BSD) has been the catalyst for much of the innovative work done with the UNIX operating system in both the research and commercial sectors. Encompassing over 150 Mbytes (and growing) of cutting-edge operating systems, networking, and applications software, BSD is a fully functional and nonproprietary complete operating systems software distribution (see Figure 1). In fact, every version of UNIX available from every vendor contains at least some Berkeley UNIX code, particularly in the areas of filesystems and networking technologies. However, unless one could pay the high cost of site licenses and equipment, access to this software was simply not within the means of most individual programmers and smaller research groups.&lt;br&gt;
The 386BSD project was established in the summer of 1989 for the specific purpose of porting BSD to the Intel 80386 microprocessor platform so that the tools this software offers can be made available to any programmer or research group with a 386 PC. In coordination with the Computer Systems Research Group (CSRG) at the University of California at Berkeley, we successively ported a basic research system to a common AT class machine (see, Figure 2), with the result that approximately 65 percent of all 32-bit systems could immediately make use of this new definition of UNIX. We have been refining and improving this base port ever since.&lt;br&gt;
By providing the base 386BSD port to CSRG, our hope is to foster new interest in Berkeley UNIX technology and to speed its acceptance and use worldwide. We hope to see those interested in this technology build on it in both commercial and noncommercial ventures.&lt;br&gt;
In this and following articles, we will examine the key aspects of software, strategy, and experience that encompassed a project of this magnitude. We intend to explore the process of the 386BSD port, while learning to effectively exploit features of the 386 architecture for use with an advanced operating system. We also intend to outline some of the tradeoffs in implementation goals which must be periodically reexamined. Finally, we will highlight extensions which remain for future work, perhaps to be done by some of you reading this article today. Note that we are assuming familiarity with UNIX, its concepts and structures, and the basic functions of the 386, so we will not present exhaustive coverage of these areas.&lt;br&gt;
In this installment, we discuss the beginning of our project and the initial framework that guided our efforts, in particular, the development of the 386BSD specification. Future articles will address specific topics of interest and actual nonproprietary code fragments used in 386BSD. Among the future areas to be covered are:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;386BSD process context switching&lt;/li&gt;
&lt;li&gt;Executing the first 386BSD process on the PC&lt;/li&gt;
&lt;li&gt;386BSD kernel interrupt and exception handling&lt;/li&gt;
&lt;li&gt;386BSD INTERNET networking&lt;/li&gt;
&lt;li&gt;ISA device drivers and system support&lt;/li&gt;
&lt;li&gt;386BSD bootstrap process
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.uninformativ.de/blog/postings/2017-04-02/0/POSTING-en.html" target="_blank" rel="nofollow noopener"&gt;X11: How does “the” clipboard work&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&amp;gt; If you have used another operating system before you switched to something that runs X11, you will have noticed that there is more than one clipboard:
&amp;gt; Sometimes, you can use the mouse to select some text, switch to another window, and then hit the middle mouse button to paste text.
&amp;gt; Sometimes, you can select text, then hit some hotkey, e.g. Ctrl+C, switch to another window, hit another hotkey, e.g. Ctrl+V, and paste said text.
&amp;gt; Sometimes, you can do both.&lt;/li&gt;
&lt;li&gt;&amp;gt; Selections as a form of IPC&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
&lt;p&gt;First things first, in X11 land, “clipboards” are called “selections”.&lt;br&gt;
Yes, there is more than one selection and they all work independently. In fact, you can use as many selections as you wish. In theory, that is. When using selections, you make different clients communicate with each other. This means that those clients have to agree on which selections to use. You can’t just invent your own selection and then expect Firefox to be compatible with it.&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
&lt;p&gt;How are selections identified?&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
&lt;p&gt;There are three “standard” selection names:&lt;br&gt;
PRIMARY: The “middle mouse clipboard”&lt;br&gt;
SECONDARY: Virtually unused these days&lt;br&gt;
CLIPBOARD: The “Ctrl+C clipboard”&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
&lt;p&gt;Program 1: Query selection owners&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
&lt;p&gt;Content type and conversion&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
&lt;p&gt;Program 2: Get clipboard as UTF-8&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
&lt;p&gt;Program 3: Owning a selection&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
&lt;p&gt;Program 4: Content type TARGETS&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
&lt;p&gt;Handling binary data using xclip&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
&lt;p&gt;Large amounts of data&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
&lt;p&gt;Clipboard managers&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;
&lt;p&gt;Summary&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.trueos.org/blog/trueos-documentation-great-way-give-back/" target="_blank" rel="nofollow noopener"&gt;TrueOS Documentation: A great way to give back!&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The TrueOS project is always looking for community contribution. Documentation changes are a great way for users to not only make a solid contribution to the project, but learn more about it too! Over the last few months, many users have asked for both simple and detailed instructions on making documentation changes. These are now added to the TrueOS handbook in the Contributing to TrueOS section.&lt;br&gt;
If interested in making a small alteration to the TrueOS handbook, here are some instructions for submitting a patch through the GitHub website. These instructions are also applicable to the Lumina and SysAdm handbooks. Lumina documentation is in the the lumina-docs repository, and SysAdm guides are in sysadm-docs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Make a Doc change!&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A GitHub account is required to submit patches to the TrueOS docs. Open a web browser and sign in to GitHub or make a new account. When making a new account, be sure to use an often checked email address, as all communication regarding patches and pull requests are sent to this address. Navigate to the trueos-docs GitHub repository. Click on the trueos-handbook directory to view all the documentation files. Open the .rst file corresponding to the chapter needing an update. The chapter names are reflected in the title of the .rst files. For example, open install.rst to fix an error spotted in handbook chapter 3: “Install”. This first image shows the trueos-docs repository and the contents of the trueos-handbook directory&lt;br&gt;
Open the desired chapter file by clicking its entry in the list. The trueos.rst file is an index file and should be ignored. Begin editing the file by clicking the Pencil icon in the upper right corner above the file’s text. The file moves to edit mode, where it is now possible to make changes, as the next image shows.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Editing install.rst with GitHub&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;When making a simple change, it is recommended to avoid adjusting the specific formatting elements and instead work within or around them. Once satisfied, scroll to the bottom of the page and write a detailed commit summary of the new changes. Click Propose file change (green button), then Create pull request to submit the changes to the project. GitHub then does an automated merge check. Click Create pull request again to submit the change to the repository. In the final step, a developer or project committer reviews the changes, merging them into the project or asking for more changes as necessary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Learn more about TrueOS documentation&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;To learn more about the underlying structure of TrueOS documentation like the Sphinx Documentation Generator and reStructuredText markup, browse the Advanced Documentation Changes section of the TrueOS handbook. This section also contains instructions for forking the repository and configuring a local clone, build testing, updating the translation files, and other useful information. The Sphinx website is also a valuable resource.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.soldierx.com/news/Hijack-Revival" target="_blank" rel="nofollow noopener"&gt;libHijack Revival&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Over a decade ago, while standing naked and vulnerable in the comfort of my steaming hot shower, I gathered my thoughts as humans typically attempt to do in the wee hours of the morning. Thoughts of a post-exploitation exercise raced in my mind, the same thoughts that made sleeping the night before difficult. If only I could inject into Apache some code that would allow me to hook into its parsing engine without requiring persistance. Putting a file-backed entry into /proc/pid/maps would tip off the security team to a compromise.&lt;br&gt;
The end-goal was to be able to send Apache a special string and have Apache perform a unique action based on the special string.&lt;br&gt;
FelineMenace's Binary Protection Schemes whitepaper provided inspiration. Silvio Cesare paved the way into PLT/GOT redirection attacks. Various Phrack articles selflessly contributed to the direction I was to head.&lt;br&gt;
Alas, in the aforementioned shower, an epiphany struck me. I jumped as an awkward stereotypical geek does: like an elaborate Elaine Benes dance rehearsal in the air. If I used PTrace, ELF, and the PLT/GOT to my advantage, I could cause the victim application to allocate anonymous memory mappings arbitrarily. In the newly-created memory mapping, I could inject arbitrary code. Since a typical operating system treats debuggers as God-like applications, the memory mapping could be mapped without write access, but as read and execute only. Thus enabling the stealth that I sought.&lt;br&gt;
The project took a few years to develop in my spare time. I ended up creating several iterations, taking a rough draft/Proof-of-Concept style code and rewriting it to be more efficient and effective.&lt;br&gt;
I had toyed with FreeBSD off-and-on for over a decade by this point, but by-and-large I was still mostly using Linux. FreeBSD gained DTrace and ZFS support, winning me over from the Linux camp. I ported libhijack to FreeBSD, giving it support for both Linux and FreeBSD simultaneously.&lt;br&gt;
In 2013, I started work on helping Oliver Pinter with his ASLR implementation, which was originally destined to be upstreamed to FreeBSD. It took a lot of work, and my interest in libhijack faded. As a natural consequence, I handed libhijack over to SoldierX, asking the community to take it and enhance it.&lt;br&gt;
Over four years went by without a single commit. The project was essentially abandoned. My little baby was dead.&lt;br&gt;
This past week, I wondered if libhijack could even compile on FreeBSD anymore. Given that four years have passed by and major changes have happened in those four years, I thought libhijack would need a major overhaul just to compile, let alone function. Imagine my surprise when libhijack needed only a few fixups to account for changes in FreeBSD's RTLD.&lt;br&gt;
Today, I'm announcing the revival of libhijack. No longer is it dead, but very much alive. In order to develop the project faster, I've decided to remove support for Linux, focusing instead on FreeBSD. I've removed hundreds of lines of code over the past few days. Supporting both FreeBSD and Linux meant some code had to be ugly. Now the beautification process has begun.&lt;br&gt;
I'm announcing the availability of libhijack 0.7.0 today. The ABI and API should be considered unstable as they may change without notice.&lt;br&gt;
Note that HardenedBSD fully mitigates libhijack from working with two security features: setting security.bsd.unprivileged_proc_debug to 0 by default and the implementation of PaX NOEXEC.&lt;br&gt;
The security.bsd.unprivileged_proc_debug sysctl node prevents PTrace access for applications the debugger itself did not fork+execve for unprivileged (non-root) users. Privileged users (the root account) can use PTrace to its fullest extent.&lt;br&gt;
HardenedBSD's implementation of PaX NOEXEC prevents the creation of memory mappings that are both writable and executable. It also prevents using mprotect to toggle between writable and executable. In libhijack's case, FreeBSD grants libhijack the ability to write to memory mappings that are not marked writable. Debuggers do this to set breakpoints. HardenedBSD behaves differently due to PaX NOEXEC.&lt;br&gt;
Each memory mapping has a notion of a maximum protection level. When a memory mapping is created, if the write bit is set, then HardenedBSD drops the execute bit from the maximum protection level. When the execute bit is set at memory mapping creation time, then the write bit is dropped from the maximum protection level. If both the write and execute bits are set, then the execute bit is silently dropped from both the mapping creation request and the maximum protection level. &lt;br&gt;
The maximum protection level is always obeyed, even for debuggers. Thus we see that PaX NOEXEC is 100% effective in preventing libhijack from injecting code into a process. Here is a screenshot showing PaX NOEXEC preventing libhijack from injecting shellcode into a newly-created memory mapping.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;What's next for libhijack? Here's what we have planned, in no particular order:

&lt;ul&gt;
&lt;li&gt;Python bindings&lt;/li&gt;
&lt;li&gt;Port to arm64&lt;/li&gt;
&lt;li&gt;This requires logic for handling machine-dependent code. High priority.&lt;/li&gt;
&lt;li&gt;Finish anonymous shared object injection. &lt;/li&gt;
&lt;li&gt;This requires implementing a custom RTLD from within libhijack. &lt;/li&gt;
&lt;li&gt;More cleanups. Adhere to style(9).&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;libhijack can be found on GitHub @ &lt;a href="https://github.com/SoldierX/libhijack" target="_blank" rel="nofollow noopener"&gt;https://github.com/SoldierX/libhijack&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://blather.michaelwlucas.com/archives/2988" target="_blank" rel="nofollow noopener"&gt;Contributing to FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve talked to a whole bunch of folks who say things like “I’m a junior programmer. I’m looking for a way to help. I have no specific expertise, but I’m willing to learn.” Today, I present such junior programmers with an opportunity. An opportunity for you to learn skills that will be incredibly valuable to your career, and will simultaneously expand your career opportunities.&lt;br&gt;
For decades, FreeBSD has relied on its users for testing. They expect users to install pre-release versions of the OS and exercise them to identify regressions. That’s necessary, but it’s nowhere near enough.&lt;br&gt;
The FreeBSD Testing Project is building an automated test suite for the entire operating system. They have a whole mess of work to do. There’s only four people on the team, so each additional person that contributes can have a serious impact. They have tutorials on how to write tests, and sample tests.&lt;br&gt;
There’s a whole bunch of tests left to be written. You have an almost open field. They need tests for everything from ls(1) to bhyve. (Yes, ls(1) broke at one point in the last few years.) Everything needs testing. Learning to write, submit, and commit small tests is valuable experience for developing the big tests.&lt;br&gt;
What’s more, learning to write tests for a system means learning the system. Developing tests will transform you into a FreeBSD expert. Once you’ve demonstrated your competence, worth, and ability to work within the project, other FreeBSD teams will solicit your help and advice. The Project will suck you in.&lt;br&gt;
Testing is perhaps the most valuable contribution anyone can make to an open source project. And this door into the FreeBSD Project is standing wide, wide open.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://mrsatterly.com/openbsd_games.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Gaming Resource&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&amp;gt; What isn't there to love about playing video games on your favorite operating system? OpenBSD and video games feels like a natural combination to me. My resource has software lists, links to free games not in ports, lists of nonfree games, and recommendations.&lt;/li&gt;
&lt;li&gt;The Table of Contents has these high-level items for you:&lt;/li&gt;
&lt;li&gt;&amp;gt; General Resources&lt;/li&gt;
&lt;li&gt;&amp;gt; OpenBSD Exclusive&lt;/li&gt;
&lt;li&gt;&amp;gt; Ports&lt;/li&gt;
&lt;li&gt;&amp;gt; Network Clients&lt;/li&gt;
&lt;li&gt;&amp;gt; Browser Games&lt;/li&gt;
&lt;li&gt;&amp;gt; Game Engines&lt;/li&gt;
&lt;li&gt;&amp;gt; Multiple Game Engines&lt;/li&gt;
&lt;li&gt;&amp;gt; Multiple System Emulation&lt;/li&gt;
&lt;li&gt;&amp;gt; Computer Emulation&lt;/li&gt;
&lt;li&gt;&amp;gt; Game Console Emulation&lt;/li&gt;
&lt;li&gt;&amp;gt; Live Media Emulation&lt;/li&gt;
&lt;li&gt;&amp;gt; Operating System Emulation&lt;/li&gt;
&lt;li&gt;&amp;gt; Games in Other Software&lt;/li&gt;
&lt;li&gt;Have fun with these games!
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2017/08/07/20061.html" target="_blank" rel="nofollow noopener"&gt;Dragonfly introduces kcollect(8)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://facesofopensource.com/unix/" target="_blank" rel="nofollow noopener"&gt;The Faces of Open Source&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.joyent.com/blog/joyent-edgemesh-cache-me-if-you-can" target="_blank" rel="nofollow noopener"&gt;Edgemesh CEO, Jake Loveless and Joyent CTO, Bryan Cantrill join together for a fireside chat to discuss distributed caching at scale, Docker, Node.js, Mystery Science Theater 3000, and more!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=322297" target="_blank" rel="nofollow noopener"&gt;UFS: Place the information needed to find alternate superblocks to the end of the area reserved for the boot block&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://tools.ietf.org/html/draft-west-let-localhost-be-localhost-04" target="_blank" rel="nofollow noopener"&gt;Let ‘localhost’ be localhost&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hurry up and register for &lt;a href="http://www.verisign.com/en_US/internet-technology-news/verisign-events/vbsdcon/index.xhtml?dmn=vBSDcon.com" target="_blank" rel="nofollow noopener"&gt;vBSDCon September 7-9&lt;/a&gt; and &lt;a href="https://2017.eurobsdcon.org/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon September 21-24&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Morgan - &lt;a href="http://dpaste.com/0JEYE1K" target="_blank" rel="nofollow noopener"&gt;btrfs deprecated&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ben - &lt;a href="http://dpaste.com/2TP90HD" target="_blank" rel="nofollow noopener"&gt;UEFI, GELI, BEADM, and more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Brad - &lt;a href="http://dpaste.com/1MQH1BD" target="_blank" rel="nofollow noopener"&gt;Hostname Clarification&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;M Rod - &lt;a href="http://dpaste.com/39C6PGN" target="_blank" rel="nofollow noopener"&gt;BSD Laptop&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jeremy - &lt;a href="http://dpaste.com/3SVP5SF" target="_blank" rel="nofollow noopener"&gt;Contributing to BSDs&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>DragonflyBSD 4.8.1 has been released, we explore how the X11 clipboard works, and look at OpenBSD gaming resources.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/llvm_clang_and_compiler_rt" target="_blank" rel="nofollow noopener">LLVM, Clang and compiler-rt support enhancements</a></h3>

<blockquote>
<p>In the last month I started with upstream of the code for sanitizers: the common layer and ubsan. I worked also on the elimination of unexpected failures in LLVM and Clang. I've managed to achieve, with a pile of local patches, the number of 0 unexpected bugs within LLVM (check-llvm) and 3 unexpected bugs within Clang (check-clang) (however these ones were caused by hardcoded environment -lstdc++ vs -lc++). The number of failures in sanitizers (check-sanitizer) is also low, it's close to zero.</p>
</blockquote>

<ul>
<li>LLVM</li>
</ul>

<blockquote>
<p>In order to achieve the goals of testability concerning the LLVM projects, I had to prepare a new pkgsrc-wip package called llvm-all-in-one that contains 12 active LLVM projects within one tree. The set of these projects is composed of: llvm, clang, compiler-rt, libcxx, libcxxabi, libunwind, test-suite, openmp, llgo, lld, lldb, clang-tools-extra. These were required to build and execute test-suites in the LLVM's projects. Ideally the tests should work in standalone packages - built out-of-LLVM-sources - and with GCC/Clang, however the real life is less bright and this forced me to use Clang as the system compiler an all-in-one package in order to develop the work environment with the ability to build and execute unit tests.<br>
There were four threads within LLVM:</p>
</blockquote>

<ul>
<li>Broken std::call_once with libstdc++. This is an old and well-known bug, which was usually worked around with a homegrown implementation llvm::call_once. I've discovered that the llvm::call_once workaround isn't sufficient for the whole LLVM functionality, as std::call_once can be called internally inside the libstdc++ libraries - like within the C++11 futures interface. This bug has been solved by Joerg Sonnenberger in the ELF dynamic linker.</li>
<li>Unportable shell construct hardcoded in tests "&gt;&amp;". This has been fixed upstream.</li>
<li>LLVM JIT. The LLVM Memory generic allocator (or page mapper) was designed to freely map pages with any combination of the protection bits: R,W,X. This approach breaks on NetBSD with PaX MPROTECT and requires redesign of the interfaces. This is the continuation of the past month AllocateRWX and ReleaseRWX compatibility with NetBSD improvements. I've prepared few variations of local patches addressing these issues and it's still open for discussion with upstream. My personal preference is to remove the current API entirely and introduce a newer one with narrowed down functionality to swap between readable (R--), writable (RW-) and executable (R-X) memory pages. This would effectively enforce W<sup>X.</sup></li>
<li>Sanitizers support. Right now, I keep the patches locally in order to upstream the common sanitizer code in compiler-rt.</li>
</ul>

<blockquote>
<p>The LLVM JIT API is the last cause of unexpected failures in check-llvm. This breaks MCJIT, ORCJIT and ExecutionEngine libraries and causes around 200 unexpected failures within tests.</p>
</blockquote>

<ul>
<li>Clang</li>
</ul>

<blockquote>
<p>I've upstreamed a patch that enables ubsan and asan on Clang's frontend for NetBSD/amd64. This support isn't complete, and requires sanitizers' support code upstreamed to compiler-rt.</p>
</blockquote>

<ul>
<li>compiler-rt

<ul>
<li>The current compiler-rt tasks can be divided into:</li>
<li>upstream sanitizer common code shared with POSIX platforms</li>
<li>upstream sanitizer common code shared with Linux and FreeBSD</li>
<li>upstream sanitizer common code shared with FreeBSD</li>
<li>upstream sanitizer common code specific to NetBSD</li>
<li>build, execute and pass tests for sanitizer common code in check-santizer</li>
</ul></li>
</ul>

<blockquote>
<p>This means that ubsan, asan and the rest of the specific sanitizers wait in queue.<br>
All the mentioned tasks are being worked on simultaneously, with a soft goal to finish them one after another from the first to the last one.<br>
The last point with check-sanitizer unveiled so far two generic bugs on NetBSD: </p>
</blockquote>

<ul>
<li>Return errno EFAULT instead of EACCES on memory fault with read(2)/write(2)-like syscalls.</li>
<li>Honor PTHREAD_DESTRUCTOR_ITERATIONS in libpthread.</li>
</ul>

<blockquote>
<p>These bugs are not strictly real bugs, but they were introducing needless differences with other modern POSIX systems. The fixes were introduced by Christos Zoulas and backported to NetBSD-8.</p>
</blockquote>

<ul>
<li>Plan for the next milestone</li>
</ul>

<blockquote>
<p>I have decided not to open new issues in with the coming month and focus on upstreaming the remaining LLVM code. The roadmap for the next month is to continue working on the goals of the previous months. std::call_once is an example that every delayed bug keeps biting again and again in future.<br>
LLVM 5.0.0 is planned to be released this month (August) and there is a joint motivation with the upstream maintainer to push compatibility fixes for LLVM JIT. There is an option to submit a workaround now and introduce refactoring for the trunk and next version (6.0.0).</p>
</blockquote>

<ul>
<li>This work was sponsored by The NetBSD Foundation.</li>
<li>The NetBSD Foundation is a non-profit organization and welcomes any donations to help us continue funding projects and services to the open-source community. Please consider visiting the following URL, and chip in what you can: <a href="http://netbsd.org/donations/#how-to-donate" target="_blank" rel="nofollow noopener">http://netbsd.org/donations/#how-to-donate</a>
***</li>
</ul>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2017-August/626150.html" target="_blank" rel="nofollow noopener">DragonFly BSD 4.8.1 released</a></h3>

<p>+Updates by dev:</p>

<ul>
<li>Antonio Huete Jimenez (1):

<ul>
<li>libc/gmon: Replace sbrk() with mmap()</li>
</ul></li>
<li>Francois Tigeot (3):

<ul>
<li>drm: bring in Linux compability changes from master</li>
<li>drm/linux: make flush_work() more robust</li>
<li>drm/i915: Update to Linux 4.7.10</li>
</ul></li>
<li>Imre VadÃ¡sz (4):

<ul>
<li>drm - Fix hrtimer, don't reset timer-&gt;function to NULL in timeout handler.</li>
<li>sound - Delete devfs clone handler for /dev/dsp and /dev/mixer on unload.</li>
<li>if_vtnet - Allocate struct vtnet_tx_header entries from a queue.</li>
<li>Make sure that cam(4)'s dashutdown handler runs before DEVICE_SHUTDOWN().</li>
</ul></li>
<li>Matthew Dillon (24):

<ul>
<li>kernel - MFC b48dd28447fc (sigtramp workaround)</li>
<li>kernel - Fix deadlock in sound system</li>
<li>kernel - Fix broken wakeup in crypto code</li>
<li>kernel - Add KERN_PROC_SIGTRAMP</li>
<li>gcc - Adjust the unwind code to use the new sigtramp probe sysctl</li>
<li>kernel - Implement NX</li>
<li>kernel - Implement NX (2)</li>
<li>kernel - Implement machdep.pmap_nx_enable TUNABLE</li>
<li>kernel - Implement NX (3) - cleanup</li>
<li>kernel - Temporarily set the default machdep.pmap_nx_enable to 0</li>
<li>param - Change __DragonFly_version to 400801</li>
<li>kernel - Fix i915 deadlock</li>
<li>pthreads - Change PTHREAD_STACK_MIN</li>
<li>libc - Fix bug in rcmdsh()</li>
<li>ppp - Fix minor overflow in protocol search</li>
<li>libtelnet - Fix improper statement construction (not a bug in the binary)</li>
<li>libdevstat - Limit sscanf field, fix redundant condition</li>
<li>openssh - Fix a broken assignment</li>
<li>window - Fix Graphics capability enable test</li>
<li>kernel - Fix event preset</li>
<li>mfiutil - Fix static buffer overflow</li>
<li>mixer - Fix sscanf() overflow</li>
<li>gcore - fix overflow in sscanf</li>
<li>kernel - Fix improper parens</li>
</ul></li>
<li>Sascha Wildner (17):

<ul>
<li>libkvm: Fix char pointer dereference.</li>
<li>Fix some cases where an index was used before its limits check.</li>
<li>Really ensure that our world/kernel are built under POSIX locale ("C").</li>
<li>zoneinfo: Create a /usr/share/zoneinfo/UTC link.</li>
<li>kernel/cam: Add CAM_SCSI_IT_NEXUS_LOST (in preparation for virtio_scsi(4)).</li>
<li>kernel: Add FreeBSD's virtio_scsi(4) driver.</li>
<li>ccdconfig(8): Add missing free().</li>
<li>libpuffs: Fix two asserts.</li>
<li>kernel/acpi: Untangle the wakecode generation during buildkernel.</li>
<li>kernel/acpica: Better check AcpiOsPredefinedOverride()'s InitVal argument</li>
<li>kernel/acpica: ACPI_THREAD_ID is unsigned.</li>
<li>kernel/acpica: Return curthread as thread id from AcpiOsGetThreadId().</li>
<li>kernel/acpica: Remove no longer needed #include.</li>
<li>kernel/acpi: Call AcpiInitializeSubsystem() before AcpiInitializeTables().</li>
<li>kernel/urtwn: Add missing braces.</li>
<li>kernel/ieee80211: Add missing braces.</li>
<li>libthread_xu: Fix checking of pthread_barrier_init()'s count argument.</li>
</ul></li>
<li>Sepherosa Ziehau (7):

<ul>
<li>sound/hda: Sync device ID table with FreeBSD</li>
<li>inet6: Restore mbuf hash after defragmentation.</li>
<li>pf: Normalized, i.e. defragged, packets requiring rehash.</li>
<li>em: Enable MSI by default on devices has PCI advanced features capability.</li>
<li>sched: Change CPU_SETSIZE to signed int, same as FreeBSD/Linux.</li>
<li>usched: Allow process to change self cpu affinity</li>
<li>ix: Fixup TX/RX ring settings for X550, which supports 64/64 TX/RX rings.</li>
</ul></li>
<li>zrj (1):

<ul>
<li>Revert "Always use unix line endings"
***</li>
</ul></li>
</ul>

<h3><a href="http://www.informatica.co.cr/unix-source-code/research/1991/0101.html" target="_blank" rel="nofollow noopener">Porting Unix to the 386: A Practical Approach</a></h3>

<blockquote>
<p>The University of California's Berkeley Software Distribution (BSD) has been the catalyst for much of the innovative work done with the UNIX operating system in both the research and commercial sectors. Encompassing over 150 Mbytes (and growing) of cutting-edge operating systems, networking, and applications software, BSD is a fully functional and nonproprietary complete operating systems software distribution (see Figure 1). In fact, every version of UNIX available from every vendor contains at least some Berkeley UNIX code, particularly in the areas of filesystems and networking technologies. However, unless one could pay the high cost of site licenses and equipment, access to this software was simply not within the means of most individual programmers and smaller research groups.<br>
The 386BSD project was established in the summer of 1989 for the specific purpose of porting BSD to the Intel 80386 microprocessor platform so that the tools this software offers can be made available to any programmer or research group with a 386 PC. In coordination with the Computer Systems Research Group (CSRG) at the University of California at Berkeley, we successively ported a basic research system to a common AT class machine (see, Figure 2), with the result that approximately 65 percent of all 32-bit systems could immediately make use of this new definition of UNIX. We have been refining and improving this base port ever since.<br>
By providing the base 386BSD port to CSRG, our hope is to foster new interest in Berkeley UNIX technology and to speed its acceptance and use worldwide. We hope to see those interested in this technology build on it in both commercial and noncommercial ventures.<br>
In this and following articles, we will examine the key aspects of software, strategy, and experience that encompassed a project of this magnitude. We intend to explore the process of the 386BSD port, while learning to effectively exploit features of the 386 architecture for use with an advanced operating system. We also intend to outline some of the tradeoffs in implementation goals which must be periodically reexamined. Finally, we will highlight extensions which remain for future work, perhaps to be done by some of you reading this article today. Note that we are assuming familiarity with UNIX, its concepts and structures, and the basic functions of the 386, so we will not present exhaustive coverage of these areas.<br>
In this installment, we discuss the beginning of our project and the initial framework that guided our efforts, in particular, the development of the 386BSD specification. Future articles will address specific topics of interest and actual nonproprietary code fragments used in 386BSD. Among the future areas to be covered are:</p>
</blockquote>

<ul>
<li>386BSD process context switching</li>
<li>Executing the first 386BSD process on the PC</li>
<li>386BSD kernel interrupt and exception handling</li>
<li>386BSD INTERNET networking</li>
<li>ISA device drivers and system support</li>
<li>386BSD bootstrap process
***</li>
</ul>

<h3><a href="https://www.uninformativ.de/blog/postings/2017-04-02/0/POSTING-en.html" target="_blank" rel="nofollow noopener">X11: How does “the” clipboard work</a></h3>

<ul>
<li>&gt; If you have used another operating system before you switched to something that runs X11, you will have noticed that there is more than one clipboard:
&gt; Sometimes, you can use the mouse to select some text, switch to another window, and then hit the middle mouse button to paste text.
&gt; Sometimes, you can select text, then hit some hotkey, e.g. Ctrl+C, switch to another window, hit another hotkey, e.g. Ctrl+V, and paste said text.
&gt; Sometimes, you can do both.</li>
<li>&gt; Selections as a form of IPC</li>
<li><blockquote>
<p>First things first, in X11 land, “clipboards” are called “selections”.<br>
Yes, there is more than one selection and they all work independently. In fact, you can use as many selections as you wish. In theory, that is. When using selections, you make different clients communicate with each other. This means that those clients have to agree on which selections to use. You can’t just invent your own selection and then expect Firefox to be compatible with it.</p>
</blockquote></li>
<li><blockquote>
<p>How are selections identified?</p>
</blockquote></li>
<li><blockquote>
<p>There are three “standard” selection names:<br>
PRIMARY: The “middle mouse clipboard”<br>
SECONDARY: Virtually unused these days<br>
CLIPBOARD: The “Ctrl+C clipboard”</p>
</blockquote></li>
<li><blockquote>
<p>Program 1: Query selection owners</p>
</blockquote></li>
<li><blockquote>
<p>Content type and conversion</p>
</blockquote></li>
<li><blockquote>
<p>Program 2: Get clipboard as UTF-8</p>
</blockquote></li>
<li><blockquote>
<p>Program 3: Owning a selection</p>
</blockquote></li>
<li><blockquote>
<p>Program 4: Content type TARGETS</p>
</blockquote></li>
<li><blockquote>
<p>Handling binary data using xclip</p>
</blockquote></li>
<li><blockquote>
<p>Large amounts of data</p>
</blockquote></li>
<li><blockquote>
<p>Clipboard managers</p>
</blockquote></li>
<li><blockquote>
<p>Summary</p>
</blockquote></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.trueos.org/blog/trueos-documentation-great-way-give-back/" target="_blank" rel="nofollow noopener">TrueOS Documentation: A great way to give back!</a></h3>

<blockquote>
<p>The TrueOS project is always looking for community contribution. Documentation changes are a great way for users to not only make a solid contribution to the project, but learn more about it too! Over the last few months, many users have asked for both simple and detailed instructions on making documentation changes. These are now added to the TrueOS handbook in the Contributing to TrueOS section.<br>
If interested in making a small alteration to the TrueOS handbook, here are some instructions for submitting a patch through the GitHub website. These instructions are also applicable to the Lumina and SysAdm handbooks. Lumina documentation is in the the lumina-docs repository, and SysAdm guides are in sysadm-docs.</p>
</blockquote>

<ul>
<li>Make a Doc change!</li>
</ul>

<blockquote>
<p>A GitHub account is required to submit patches to the TrueOS docs. Open a web browser and sign in to GitHub or make a new account. When making a new account, be sure to use an often checked email address, as all communication regarding patches and pull requests are sent to this address. Navigate to the trueos-docs GitHub repository. Click on the trueos-handbook directory to view all the documentation files. Open the .rst file corresponding to the chapter needing an update. The chapter names are reflected in the title of the .rst files. For example, open install.rst to fix an error spotted in handbook chapter 3: “Install”. This first image shows the trueos-docs repository and the contents of the trueos-handbook directory<br>
Open the desired chapter file by clicking its entry in the list. The trueos.rst file is an index file and should be ignored. Begin editing the file by clicking the Pencil icon in the upper right corner above the file’s text. The file moves to edit mode, where it is now possible to make changes, as the next image shows.</p>
</blockquote>

<ul>
<li>Editing install.rst with GitHub</li>
</ul>

<blockquote>
<p>When making a simple change, it is recommended to avoid adjusting the specific formatting elements and instead work within or around them. Once satisfied, scroll to the bottom of the page and write a detailed commit summary of the new changes. Click Propose file change (green button), then Create pull request to submit the changes to the project. GitHub then does an automated merge check. Click Create pull request again to submit the change to the repository. In the final step, a developer or project committer reviews the changes, merging them into the project or asking for more changes as necessary.</p>
</blockquote>

<ul>
<li>Learn more about TrueOS documentation</li>
</ul>

<blockquote>
<p>To learn more about the underlying structure of TrueOS documentation like the Sphinx Documentation Generator and reStructuredText markup, browse the Advanced Documentation Changes section of the TrueOS handbook. This section also contains instructions for forking the repository and configuring a local clone, build testing, updating the translation files, and other useful information. The Sphinx website is also a valuable resource.</p>

<hr>
</blockquote>

<h3><a href="https://www.soldierx.com/news/Hijack-Revival" target="_blank" rel="nofollow noopener">libHijack Revival</a></h3>

<blockquote>
<p>Over a decade ago, while standing naked and vulnerable in the comfort of my steaming hot shower, I gathered my thoughts as humans typically attempt to do in the wee hours of the morning. Thoughts of a post-exploitation exercise raced in my mind, the same thoughts that made sleeping the night before difficult. If only I could inject into Apache some code that would allow me to hook into its parsing engine without requiring persistance. Putting a file-backed entry into /proc/pid/maps would tip off the security team to a compromise.<br>
The end-goal was to be able to send Apache a special string and have Apache perform a unique action based on the special string.<br>
FelineMenace's Binary Protection Schemes whitepaper provided inspiration. Silvio Cesare paved the way into PLT/GOT redirection attacks. Various Phrack articles selflessly contributed to the direction I was to head.<br>
Alas, in the aforementioned shower, an epiphany struck me. I jumped as an awkward stereotypical geek does: like an elaborate Elaine Benes dance rehearsal in the air. If I used PTrace, ELF, and the PLT/GOT to my advantage, I could cause the victim application to allocate anonymous memory mappings arbitrarily. In the newly-created memory mapping, I could inject arbitrary code. Since a typical operating system treats debuggers as God-like applications, the memory mapping could be mapped without write access, but as read and execute only. Thus enabling the stealth that I sought.<br>
The project took a few years to develop in my spare time. I ended up creating several iterations, taking a rough draft/Proof-of-Concept style code and rewriting it to be more efficient and effective.<br>
I had toyed with FreeBSD off-and-on for over a decade by this point, but by-and-large I was still mostly using Linux. FreeBSD gained DTrace and ZFS support, winning me over from the Linux camp. I ported libhijack to FreeBSD, giving it support for both Linux and FreeBSD simultaneously.<br>
In 2013, I started work on helping Oliver Pinter with his ASLR implementation, which was originally destined to be upstreamed to FreeBSD. It took a lot of work, and my interest in libhijack faded. As a natural consequence, I handed libhijack over to SoldierX, asking the community to take it and enhance it.<br>
Over four years went by without a single commit. The project was essentially abandoned. My little baby was dead.<br>
This past week, I wondered if libhijack could even compile on FreeBSD anymore. Given that four years have passed by and major changes have happened in those four years, I thought libhijack would need a major overhaul just to compile, let alone function. Imagine my surprise when libhijack needed only a few fixups to account for changes in FreeBSD's RTLD.<br>
Today, I'm announcing the revival of libhijack. No longer is it dead, but very much alive. In order to develop the project faster, I've decided to remove support for Linux, focusing instead on FreeBSD. I've removed hundreds of lines of code over the past few days. Supporting both FreeBSD and Linux meant some code had to be ugly. Now the beautification process has begun.<br>
I'm announcing the availability of libhijack 0.7.0 today. The ABI and API should be considered unstable as they may change without notice.<br>
Note that HardenedBSD fully mitigates libhijack from working with two security features: setting security.bsd.unprivileged_proc_debug to 0 by default and the implementation of PaX NOEXEC.<br>
The security.bsd.unprivileged_proc_debug sysctl node prevents PTrace access for applications the debugger itself did not fork+execve for unprivileged (non-root) users. Privileged users (the root account) can use PTrace to its fullest extent.<br>
HardenedBSD's implementation of PaX NOEXEC prevents the creation of memory mappings that are both writable and executable. It also prevents using mprotect to toggle between writable and executable. In libhijack's case, FreeBSD grants libhijack the ability to write to memory mappings that are not marked writable. Debuggers do this to set breakpoints. HardenedBSD behaves differently due to PaX NOEXEC.<br>
Each memory mapping has a notion of a maximum protection level. When a memory mapping is created, if the write bit is set, then HardenedBSD drops the execute bit from the maximum protection level. When the execute bit is set at memory mapping creation time, then the write bit is dropped from the maximum protection level. If both the write and execute bits are set, then the execute bit is silently dropped from both the mapping creation request and the maximum protection level. <br>
The maximum protection level is always obeyed, even for debuggers. Thus we see that PaX NOEXEC is 100% effective in preventing libhijack from injecting code into a process. Here is a screenshot showing PaX NOEXEC preventing libhijack from injecting shellcode into a newly-created memory mapping.</p>
</blockquote>

<ul>
<li>What's next for libhijack? Here's what we have planned, in no particular order:

<ul>
<li>Python bindings</li>
<li>Port to arm64</li>
<li>This requires logic for handling machine-dependent code. High priority.</li>
<li>Finish anonymous shared object injection. </li>
<li>This requires implementing a custom RTLD from within libhijack. </li>
<li>More cleanups. Adhere to style(9).</li>
</ul></li>
<li>libhijack can be found on GitHub @ <a href="https://github.com/SoldierX/libhijack" target="_blank" rel="nofollow noopener">https://github.com/SoldierX/libhijack</a>
***</li>
</ul>

<h3><a href="https://blather.michaelwlucas.com/archives/2988" target="_blank" rel="nofollow noopener">Contributing to FreeBSD</a></h3>

<blockquote>
<p>I’ve talked to a whole bunch of folks who say things like “I’m a junior programmer. I’m looking for a way to help. I have no specific expertise, but I’m willing to learn.” Today, I present such junior programmers with an opportunity. An opportunity for you to learn skills that will be incredibly valuable to your career, and will simultaneously expand your career opportunities.<br>
For decades, FreeBSD has relied on its users for testing. They expect users to install pre-release versions of the OS and exercise them to identify regressions. That’s necessary, but it’s nowhere near enough.<br>
The FreeBSD Testing Project is building an automated test suite for the entire operating system. They have a whole mess of work to do. There’s only four people on the team, so each additional person that contributes can have a serious impact. They have tutorials on how to write tests, and sample tests.<br>
There’s a whole bunch of tests left to be written. You have an almost open field. They need tests for everything from ls(1) to bhyve. (Yes, ls(1) broke at one point in the last few years.) Everything needs testing. Learning to write, submit, and commit small tests is valuable experience for developing the big tests.<br>
What’s more, learning to write tests for a system means learning the system. Developing tests will transform you into a FreeBSD expert. Once you’ve demonstrated your competence, worth, and ability to work within the project, other FreeBSD teams will solicit your help and advice. The Project will suck you in.<br>
Testing is perhaps the most valuable contribution anyone can make to an open source project. And this door into the FreeBSD Project is standing wide, wide open.</p>

<hr>
</blockquote>

<h3><a href="https://mrsatterly.com/openbsd_games.html" target="_blank" rel="nofollow noopener">OpenBSD Gaming Resource</a></h3>

<ul>
<li>&gt; What isn't there to love about playing video games on your favorite operating system? OpenBSD and video games feels like a natural combination to me. My resource has software lists, links to free games not in ports, lists of nonfree games, and recommendations.</li>
<li>The Table of Contents has these high-level items for you:</li>
<li>&gt; General Resources</li>
<li>&gt; OpenBSD Exclusive</li>
<li>&gt; Ports</li>
<li>&gt; Network Clients</li>
<li>&gt; Browser Games</li>
<li>&gt; Game Engines</li>
<li>&gt; Multiple Game Engines</li>
<li>&gt; Multiple System Emulation</li>
<li>&gt; Computer Emulation</li>
<li>&gt; Game Console Emulation</li>
<li>&gt; Live Media Emulation</li>
<li>&gt; Operating System Emulation</li>
<li>&gt; Games in Other Software</li>
<li>Have fun with these games!
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2017/08/07/20061.html" target="_blank" rel="nofollow noopener">Dragonfly introduces kcollect(8)</a></li>
<li><a href="http://facesofopensource.com/unix/" target="_blank" rel="nofollow noopener">The Faces of Open Source</a></li>
<li><a href="https://www.joyent.com/blog/joyent-edgemesh-cache-me-if-you-can" target="_blank" rel="nofollow noopener">Edgemesh CEO, Jake Loveless and Joyent CTO, Bryan Cantrill join together for a fireside chat to discuss distributed caching at scale, Docker, Node.js, Mystery Science Theater 3000, and more!</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=322297" target="_blank" rel="nofollow noopener">UFS: Place the information needed to find alternate superblocks to the end of the area reserved for the boot block</a></li>
<li><a href="https://tools.ietf.org/html/draft-west-let-localhost-be-localhost-04" target="_blank" rel="nofollow noopener">Let ‘localhost’ be localhost</a></li>
<li>Hurry up and register for <a href="http://www.verisign.com/en_US/internet-technology-news/verisign-events/vbsdcon/index.xhtml?dmn=vBSDcon.com" target="_blank" rel="nofollow noopener">vBSDCon September 7-9</a> and <a href="https://2017.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDCon September 21-24</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Morgan - <a href="http://dpaste.com/0JEYE1K" target="_blank" rel="nofollow noopener">btrfs deprecated</a></li>
<li>Ben - <a href="http://dpaste.com/2TP90HD" target="_blank" rel="nofollow noopener">UEFI, GELI, BEADM, and more</a></li>
<li>Brad - <a href="http://dpaste.com/1MQH1BD" target="_blank" rel="nofollow noopener">Hostname Clarification</a></li>
<li>M Rod - <a href="http://dpaste.com/39C6PGN" target="_blank" rel="nofollow noopener">BSD Laptop</a></li>
<li>Jeremy - <a href="http://dpaste.com/3SVP5SF" target="_blank" rel="nofollow noopener">Contributing to BSDs</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>DragonflyBSD 4.8.1 has been released, we explore how the X11 clipboard works, and look at OpenBSD gaming resources.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://blog.netbsd.org/tnf/entry/llvm_clang_and_compiler_rt" target="_blank" rel="nofollow noopener">LLVM, Clang and compiler-rt support enhancements</a></h3>

<blockquote>
<p>In the last month I started with upstream of the code for sanitizers: the common layer and ubsan. I worked also on the elimination of unexpected failures in LLVM and Clang. I've managed to achieve, with a pile of local patches, the number of 0 unexpected bugs within LLVM (check-llvm) and 3 unexpected bugs within Clang (check-clang) (however these ones were caused by hardcoded environment -lstdc++ vs -lc++). The number of failures in sanitizers (check-sanitizer) is also low, it's close to zero.</p>
</blockquote>

<ul>
<li>LLVM</li>
</ul>

<blockquote>
<p>In order to achieve the goals of testability concerning the LLVM projects, I had to prepare a new pkgsrc-wip package called llvm-all-in-one that contains 12 active LLVM projects within one tree. The set of these projects is composed of: llvm, clang, compiler-rt, libcxx, libcxxabi, libunwind, test-suite, openmp, llgo, lld, lldb, clang-tools-extra. These were required to build and execute test-suites in the LLVM's projects. Ideally the tests should work in standalone packages - built out-of-LLVM-sources - and with GCC/Clang, however the real life is less bright and this forced me to use Clang as the system compiler an all-in-one package in order to develop the work environment with the ability to build and execute unit tests.<br>
There were four threads within LLVM:</p>
</blockquote>

<ul>
<li>Broken std::call_once with libstdc++. This is an old and well-known bug, which was usually worked around with a homegrown implementation llvm::call_once. I've discovered that the llvm::call_once workaround isn't sufficient for the whole LLVM functionality, as std::call_once can be called internally inside the libstdc++ libraries - like within the C++11 futures interface. This bug has been solved by Joerg Sonnenberger in the ELF dynamic linker.</li>
<li>Unportable shell construct hardcoded in tests "&gt;&amp;". This has been fixed upstream.</li>
<li>LLVM JIT. The LLVM Memory generic allocator (or page mapper) was designed to freely map pages with any combination of the protection bits: R,W,X. This approach breaks on NetBSD with PaX MPROTECT and requires redesign of the interfaces. This is the continuation of the past month AllocateRWX and ReleaseRWX compatibility with NetBSD improvements. I've prepared few variations of local patches addressing these issues and it's still open for discussion with upstream. My personal preference is to remove the current API entirely and introduce a newer one with narrowed down functionality to swap between readable (R--), writable (RW-) and executable (R-X) memory pages. This would effectively enforce W<sup>X.</sup></li>
<li>Sanitizers support. Right now, I keep the patches locally in order to upstream the common sanitizer code in compiler-rt.</li>
</ul>

<blockquote>
<p>The LLVM JIT API is the last cause of unexpected failures in check-llvm. This breaks MCJIT, ORCJIT and ExecutionEngine libraries and causes around 200 unexpected failures within tests.</p>
</blockquote>

<ul>
<li>Clang</li>
</ul>

<blockquote>
<p>I've upstreamed a patch that enables ubsan and asan on Clang's frontend for NetBSD/amd64. This support isn't complete, and requires sanitizers' support code upstreamed to compiler-rt.</p>
</blockquote>

<ul>
<li>compiler-rt

<ul>
<li>The current compiler-rt tasks can be divided into:</li>
<li>upstream sanitizer common code shared with POSIX platforms</li>
<li>upstream sanitizer common code shared with Linux and FreeBSD</li>
<li>upstream sanitizer common code shared with FreeBSD</li>
<li>upstream sanitizer common code specific to NetBSD</li>
<li>build, execute and pass tests for sanitizer common code in check-santizer</li>
</ul></li>
</ul>

<blockquote>
<p>This means that ubsan, asan and the rest of the specific sanitizers wait in queue.<br>
All the mentioned tasks are being worked on simultaneously, with a soft goal to finish them one after another from the first to the last one.<br>
The last point with check-sanitizer unveiled so far two generic bugs on NetBSD: </p>
</blockquote>

<ul>
<li>Return errno EFAULT instead of EACCES on memory fault with read(2)/write(2)-like syscalls.</li>
<li>Honor PTHREAD_DESTRUCTOR_ITERATIONS in libpthread.</li>
</ul>

<blockquote>
<p>These bugs are not strictly real bugs, but they were introducing needless differences with other modern POSIX systems. The fixes were introduced by Christos Zoulas and backported to NetBSD-8.</p>
</blockquote>

<ul>
<li>Plan for the next milestone</li>
</ul>

<blockquote>
<p>I have decided not to open new issues in with the coming month and focus on upstreaming the remaining LLVM code. The roadmap for the next month is to continue working on the goals of the previous months. std::call_once is an example that every delayed bug keeps biting again and again in future.<br>
LLVM 5.0.0 is planned to be released this month (August) and there is a joint motivation with the upstream maintainer to push compatibility fixes for LLVM JIT. There is an option to submit a workaround now and introduce refactoring for the trunk and next version (6.0.0).</p>
</blockquote>

<ul>
<li>This work was sponsored by The NetBSD Foundation.</li>
<li>The NetBSD Foundation is a non-profit organization and welcomes any donations to help us continue funding projects and services to the open-source community. Please consider visiting the following URL, and chip in what you can: <a href="http://netbsd.org/donations/#how-to-donate" target="_blank" rel="nofollow noopener">http://netbsd.org/donations/#how-to-donate</a>
***</li>
</ul>

<h3><a href="http://lists.dragonflybsd.org/pipermail/commits/2017-August/626150.html" target="_blank" rel="nofollow noopener">DragonFly BSD 4.8.1 released</a></h3>

<p>+Updates by dev:</p>

<ul>
<li>Antonio Huete Jimenez (1):

<ul>
<li>libc/gmon: Replace sbrk() with mmap()</li>
</ul></li>
<li>Francois Tigeot (3):

<ul>
<li>drm: bring in Linux compability changes from master</li>
<li>drm/linux: make flush_work() more robust</li>
<li>drm/i915: Update to Linux 4.7.10</li>
</ul></li>
<li>Imre VadÃ¡sz (4):

<ul>
<li>drm - Fix hrtimer, don't reset timer-&gt;function to NULL in timeout handler.</li>
<li>sound - Delete devfs clone handler for /dev/dsp and /dev/mixer on unload.</li>
<li>if_vtnet - Allocate struct vtnet_tx_header entries from a queue.</li>
<li>Make sure that cam(4)'s dashutdown handler runs before DEVICE_SHUTDOWN().</li>
</ul></li>
<li>Matthew Dillon (24):

<ul>
<li>kernel - MFC b48dd28447fc (sigtramp workaround)</li>
<li>kernel - Fix deadlock in sound system</li>
<li>kernel - Fix broken wakeup in crypto code</li>
<li>kernel - Add KERN_PROC_SIGTRAMP</li>
<li>gcc - Adjust the unwind code to use the new sigtramp probe sysctl</li>
<li>kernel - Implement NX</li>
<li>kernel - Implement NX (2)</li>
<li>kernel - Implement machdep.pmap_nx_enable TUNABLE</li>
<li>kernel - Implement NX (3) - cleanup</li>
<li>kernel - Temporarily set the default machdep.pmap_nx_enable to 0</li>
<li>param - Change __DragonFly_version to 400801</li>
<li>kernel - Fix i915 deadlock</li>
<li>pthreads - Change PTHREAD_STACK_MIN</li>
<li>libc - Fix bug in rcmdsh()</li>
<li>ppp - Fix minor overflow in protocol search</li>
<li>libtelnet - Fix improper statement construction (not a bug in the binary)</li>
<li>libdevstat - Limit sscanf field, fix redundant condition</li>
<li>openssh - Fix a broken assignment</li>
<li>window - Fix Graphics capability enable test</li>
<li>kernel - Fix event preset</li>
<li>mfiutil - Fix static buffer overflow</li>
<li>mixer - Fix sscanf() overflow</li>
<li>gcore - fix overflow in sscanf</li>
<li>kernel - Fix improper parens</li>
</ul></li>
<li>Sascha Wildner (17):

<ul>
<li>libkvm: Fix char pointer dereference.</li>
<li>Fix some cases where an index was used before its limits check.</li>
<li>Really ensure that our world/kernel are built under POSIX locale ("C").</li>
<li>zoneinfo: Create a /usr/share/zoneinfo/UTC link.</li>
<li>kernel/cam: Add CAM_SCSI_IT_NEXUS_LOST (in preparation for virtio_scsi(4)).</li>
<li>kernel: Add FreeBSD's virtio_scsi(4) driver.</li>
<li>ccdconfig(8): Add missing free().</li>
<li>libpuffs: Fix two asserts.</li>
<li>kernel/acpi: Untangle the wakecode generation during buildkernel.</li>
<li>kernel/acpica: Better check AcpiOsPredefinedOverride()'s InitVal argument</li>
<li>kernel/acpica: ACPI_THREAD_ID is unsigned.</li>
<li>kernel/acpica: Return curthread as thread id from AcpiOsGetThreadId().</li>
<li>kernel/acpica: Remove no longer needed #include.</li>
<li>kernel/acpi: Call AcpiInitializeSubsystem() before AcpiInitializeTables().</li>
<li>kernel/urtwn: Add missing braces.</li>
<li>kernel/ieee80211: Add missing braces.</li>
<li>libthread_xu: Fix checking of pthread_barrier_init()'s count argument.</li>
</ul></li>
<li>Sepherosa Ziehau (7):

<ul>
<li>sound/hda: Sync device ID table with FreeBSD</li>
<li>inet6: Restore mbuf hash after defragmentation.</li>
<li>pf: Normalized, i.e. defragged, packets requiring rehash.</li>
<li>em: Enable MSI by default on devices has PCI advanced features capability.</li>
<li>sched: Change CPU_SETSIZE to signed int, same as FreeBSD/Linux.</li>
<li>usched: Allow process to change self cpu affinity</li>
<li>ix: Fixup TX/RX ring settings for X550, which supports 64/64 TX/RX rings.</li>
</ul></li>
<li>zrj (1):

<ul>
<li>Revert "Always use unix line endings"
***</li>
</ul></li>
</ul>

<h3><a href="http://www.informatica.co.cr/unix-source-code/research/1991/0101.html" target="_blank" rel="nofollow noopener">Porting Unix to the 386: A Practical Approach</a></h3>

<blockquote>
<p>The University of California's Berkeley Software Distribution (BSD) has been the catalyst for much of the innovative work done with the UNIX operating system in both the research and commercial sectors. Encompassing over 150 Mbytes (and growing) of cutting-edge operating systems, networking, and applications software, BSD is a fully functional and nonproprietary complete operating systems software distribution (see Figure 1). In fact, every version of UNIX available from every vendor contains at least some Berkeley UNIX code, particularly in the areas of filesystems and networking technologies. However, unless one could pay the high cost of site licenses and equipment, access to this software was simply not within the means of most individual programmers and smaller research groups.<br>
The 386BSD project was established in the summer of 1989 for the specific purpose of porting BSD to the Intel 80386 microprocessor platform so that the tools this software offers can be made available to any programmer or research group with a 386 PC. In coordination with the Computer Systems Research Group (CSRG) at the University of California at Berkeley, we successively ported a basic research system to a common AT class machine (see, Figure 2), with the result that approximately 65 percent of all 32-bit systems could immediately make use of this new definition of UNIX. We have been refining and improving this base port ever since.<br>
By providing the base 386BSD port to CSRG, our hope is to foster new interest in Berkeley UNIX technology and to speed its acceptance and use worldwide. We hope to see those interested in this technology build on it in both commercial and noncommercial ventures.<br>
In this and following articles, we will examine the key aspects of software, strategy, and experience that encompassed a project of this magnitude. We intend to explore the process of the 386BSD port, while learning to effectively exploit features of the 386 architecture for use with an advanced operating system. We also intend to outline some of the tradeoffs in implementation goals which must be periodically reexamined. Finally, we will highlight extensions which remain for future work, perhaps to be done by some of you reading this article today. Note that we are assuming familiarity with UNIX, its concepts and structures, and the basic functions of the 386, so we will not present exhaustive coverage of these areas.<br>
In this installment, we discuss the beginning of our project and the initial framework that guided our efforts, in particular, the development of the 386BSD specification. Future articles will address specific topics of interest and actual nonproprietary code fragments used in 386BSD. Among the future areas to be covered are:</p>
</blockquote>

<ul>
<li>386BSD process context switching</li>
<li>Executing the first 386BSD process on the PC</li>
<li>386BSD kernel interrupt and exception handling</li>
<li>386BSD INTERNET networking</li>
<li>ISA device drivers and system support</li>
<li>386BSD bootstrap process
***</li>
</ul>

<h3><a href="https://www.uninformativ.de/blog/postings/2017-04-02/0/POSTING-en.html" target="_blank" rel="nofollow noopener">X11: How does “the” clipboard work</a></h3>

<ul>
<li>&gt; If you have used another operating system before you switched to something that runs X11, you will have noticed that there is more than one clipboard:
&gt; Sometimes, you can use the mouse to select some text, switch to another window, and then hit the middle mouse button to paste text.
&gt; Sometimes, you can select text, then hit some hotkey, e.g. Ctrl+C, switch to another window, hit another hotkey, e.g. Ctrl+V, and paste said text.
&gt; Sometimes, you can do both.</li>
<li>&gt; Selections as a form of IPC</li>
<li><blockquote>
<p>First things first, in X11 land, “clipboards” are called “selections”.<br>
Yes, there is more than one selection and they all work independently. In fact, you can use as many selections as you wish. In theory, that is. When using selections, you make different clients communicate with each other. This means that those clients have to agree on which selections to use. You can’t just invent your own selection and then expect Firefox to be compatible with it.</p>
</blockquote></li>
<li><blockquote>
<p>How are selections identified?</p>
</blockquote></li>
<li><blockquote>
<p>There are three “standard” selection names:<br>
PRIMARY: The “middle mouse clipboard”<br>
SECONDARY: Virtually unused these days<br>
CLIPBOARD: The “Ctrl+C clipboard”</p>
</blockquote></li>
<li><blockquote>
<p>Program 1: Query selection owners</p>
</blockquote></li>
<li><blockquote>
<p>Content type and conversion</p>
</blockquote></li>
<li><blockquote>
<p>Program 2: Get clipboard as UTF-8</p>
</blockquote></li>
<li><blockquote>
<p>Program 3: Owning a selection</p>
</blockquote></li>
<li><blockquote>
<p>Program 4: Content type TARGETS</p>
</blockquote></li>
<li><blockquote>
<p>Handling binary data using xclip</p>
</blockquote></li>
<li><blockquote>
<p>Large amounts of data</p>
</blockquote></li>
<li><blockquote>
<p>Clipboard managers</p>
</blockquote></li>
<li><blockquote>
<p>Summary</p>
</blockquote></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://www.trueos.org/blog/trueos-documentation-great-way-give-back/" target="_blank" rel="nofollow noopener">TrueOS Documentation: A great way to give back!</a></h3>

<blockquote>
<p>The TrueOS project is always looking for community contribution. Documentation changes are a great way for users to not only make a solid contribution to the project, but learn more about it too! Over the last few months, many users have asked for both simple and detailed instructions on making documentation changes. These are now added to the TrueOS handbook in the Contributing to TrueOS section.<br>
If interested in making a small alteration to the TrueOS handbook, here are some instructions for submitting a patch through the GitHub website. These instructions are also applicable to the Lumina and SysAdm handbooks. Lumina documentation is in the the lumina-docs repository, and SysAdm guides are in sysadm-docs.</p>
</blockquote>

<ul>
<li>Make a Doc change!</li>
</ul>

<blockquote>
<p>A GitHub account is required to submit patches to the TrueOS docs. Open a web browser and sign in to GitHub or make a new account. When making a new account, be sure to use an often checked email address, as all communication regarding patches and pull requests are sent to this address. Navigate to the trueos-docs GitHub repository. Click on the trueos-handbook directory to view all the documentation files. Open the .rst file corresponding to the chapter needing an update. The chapter names are reflected in the title of the .rst files. For example, open install.rst to fix an error spotted in handbook chapter 3: “Install”. This first image shows the trueos-docs repository and the contents of the trueos-handbook directory<br>
Open the desired chapter file by clicking its entry in the list. The trueos.rst file is an index file and should be ignored. Begin editing the file by clicking the Pencil icon in the upper right corner above the file’s text. The file moves to edit mode, where it is now possible to make changes, as the next image shows.</p>
</blockquote>

<ul>
<li>Editing install.rst with GitHub</li>
</ul>

<blockquote>
<p>When making a simple change, it is recommended to avoid adjusting the specific formatting elements and instead work within or around them. Once satisfied, scroll to the bottom of the page and write a detailed commit summary of the new changes. Click Propose file change (green button), then Create pull request to submit the changes to the project. GitHub then does an automated merge check. Click Create pull request again to submit the change to the repository. In the final step, a developer or project committer reviews the changes, merging them into the project or asking for more changes as necessary.</p>
</blockquote>

<ul>
<li>Learn more about TrueOS documentation</li>
</ul>

<blockquote>
<p>To learn more about the underlying structure of TrueOS documentation like the Sphinx Documentation Generator and reStructuredText markup, browse the Advanced Documentation Changes section of the TrueOS handbook. This section also contains instructions for forking the repository and configuring a local clone, build testing, updating the translation files, and other useful information. The Sphinx website is also a valuable resource.</p>

<hr>
</blockquote>

<h3><a href="https://www.soldierx.com/news/Hijack-Revival" target="_blank" rel="nofollow noopener">libHijack Revival</a></h3>

<blockquote>
<p>Over a decade ago, while standing naked and vulnerable in the comfort of my steaming hot shower, I gathered my thoughts as humans typically attempt to do in the wee hours of the morning. Thoughts of a post-exploitation exercise raced in my mind, the same thoughts that made sleeping the night before difficult. If only I could inject into Apache some code that would allow me to hook into its parsing engine without requiring persistance. Putting a file-backed entry into /proc/pid/maps would tip off the security team to a compromise.<br>
The end-goal was to be able to send Apache a special string and have Apache perform a unique action based on the special string.<br>
FelineMenace's Binary Protection Schemes whitepaper provided inspiration. Silvio Cesare paved the way into PLT/GOT redirection attacks. Various Phrack articles selflessly contributed to the direction I was to head.<br>
Alas, in the aforementioned shower, an epiphany struck me. I jumped as an awkward stereotypical geek does: like an elaborate Elaine Benes dance rehearsal in the air. If I used PTrace, ELF, and the PLT/GOT to my advantage, I could cause the victim application to allocate anonymous memory mappings arbitrarily. In the newly-created memory mapping, I could inject arbitrary code. Since a typical operating system treats debuggers as God-like applications, the memory mapping could be mapped without write access, but as read and execute only. Thus enabling the stealth that I sought.<br>
The project took a few years to develop in my spare time. I ended up creating several iterations, taking a rough draft/Proof-of-Concept style code and rewriting it to be more efficient and effective.<br>
I had toyed with FreeBSD off-and-on for over a decade by this point, but by-and-large I was still mostly using Linux. FreeBSD gained DTrace and ZFS support, winning me over from the Linux camp. I ported libhijack to FreeBSD, giving it support for both Linux and FreeBSD simultaneously.<br>
In 2013, I started work on helping Oliver Pinter with his ASLR implementation, which was originally destined to be upstreamed to FreeBSD. It took a lot of work, and my interest in libhijack faded. As a natural consequence, I handed libhijack over to SoldierX, asking the community to take it and enhance it.<br>
Over four years went by without a single commit. The project was essentially abandoned. My little baby was dead.<br>
This past week, I wondered if libhijack could even compile on FreeBSD anymore. Given that four years have passed by and major changes have happened in those four years, I thought libhijack would need a major overhaul just to compile, let alone function. Imagine my surprise when libhijack needed only a few fixups to account for changes in FreeBSD's RTLD.<br>
Today, I'm announcing the revival of libhijack. No longer is it dead, but very much alive. In order to develop the project faster, I've decided to remove support for Linux, focusing instead on FreeBSD. I've removed hundreds of lines of code over the past few days. Supporting both FreeBSD and Linux meant some code had to be ugly. Now the beautification process has begun.<br>
I'm announcing the availability of libhijack 0.7.0 today. The ABI and API should be considered unstable as they may change without notice.<br>
Note that HardenedBSD fully mitigates libhijack from working with two security features: setting security.bsd.unprivileged_proc_debug to 0 by default and the implementation of PaX NOEXEC.<br>
The security.bsd.unprivileged_proc_debug sysctl node prevents PTrace access for applications the debugger itself did not fork+execve for unprivileged (non-root) users. Privileged users (the root account) can use PTrace to its fullest extent.<br>
HardenedBSD's implementation of PaX NOEXEC prevents the creation of memory mappings that are both writable and executable. It also prevents using mprotect to toggle between writable and executable. In libhijack's case, FreeBSD grants libhijack the ability to write to memory mappings that are not marked writable. Debuggers do this to set breakpoints. HardenedBSD behaves differently due to PaX NOEXEC.<br>
Each memory mapping has a notion of a maximum protection level. When a memory mapping is created, if the write bit is set, then HardenedBSD drops the execute bit from the maximum protection level. When the execute bit is set at memory mapping creation time, then the write bit is dropped from the maximum protection level. If both the write and execute bits are set, then the execute bit is silently dropped from both the mapping creation request and the maximum protection level. <br>
The maximum protection level is always obeyed, even for debuggers. Thus we see that PaX NOEXEC is 100% effective in preventing libhijack from injecting code into a process. Here is a screenshot showing PaX NOEXEC preventing libhijack from injecting shellcode into a newly-created memory mapping.</p>
</blockquote>

<ul>
<li>What's next for libhijack? Here's what we have planned, in no particular order:

<ul>
<li>Python bindings</li>
<li>Port to arm64</li>
<li>This requires logic for handling machine-dependent code. High priority.</li>
<li>Finish anonymous shared object injection. </li>
<li>This requires implementing a custom RTLD from within libhijack. </li>
<li>More cleanups. Adhere to style(9).</li>
</ul></li>
<li>libhijack can be found on GitHub @ <a href="https://github.com/SoldierX/libhijack" target="_blank" rel="nofollow noopener">https://github.com/SoldierX/libhijack</a>
***</li>
</ul>

<h3><a href="https://blather.michaelwlucas.com/archives/2988" target="_blank" rel="nofollow noopener">Contributing to FreeBSD</a></h3>

<blockquote>
<p>I’ve talked to a whole bunch of folks who say things like “I’m a junior programmer. I’m looking for a way to help. I have no specific expertise, but I’m willing to learn.” Today, I present such junior programmers with an opportunity. An opportunity for you to learn skills that will be incredibly valuable to your career, and will simultaneously expand your career opportunities.<br>
For decades, FreeBSD has relied on its users for testing. They expect users to install pre-release versions of the OS and exercise them to identify regressions. That’s necessary, but it’s nowhere near enough.<br>
The FreeBSD Testing Project is building an automated test suite for the entire operating system. They have a whole mess of work to do. There’s only four people on the team, so each additional person that contributes can have a serious impact. They have tutorials on how to write tests, and sample tests.<br>
There’s a whole bunch of tests left to be written. You have an almost open field. They need tests for everything from ls(1) to bhyve. (Yes, ls(1) broke at one point in the last few years.) Everything needs testing. Learning to write, submit, and commit small tests is valuable experience for developing the big tests.<br>
What’s more, learning to write tests for a system means learning the system. Developing tests will transform you into a FreeBSD expert. Once you’ve demonstrated your competence, worth, and ability to work within the project, other FreeBSD teams will solicit your help and advice. The Project will suck you in.<br>
Testing is perhaps the most valuable contribution anyone can make to an open source project. And this door into the FreeBSD Project is standing wide, wide open.</p>

<hr>
</blockquote>

<h3><a href="https://mrsatterly.com/openbsd_games.html" target="_blank" rel="nofollow noopener">OpenBSD Gaming Resource</a></h3>

<ul>
<li>&gt; What isn't there to love about playing video games on your favorite operating system? OpenBSD and video games feels like a natural combination to me. My resource has software lists, links to free games not in ports, lists of nonfree games, and recommendations.</li>
<li>The Table of Contents has these high-level items for you:</li>
<li>&gt; General Resources</li>
<li>&gt; OpenBSD Exclusive</li>
<li>&gt; Ports</li>
<li>&gt; Network Clients</li>
<li>&gt; Browser Games</li>
<li>&gt; Game Engines</li>
<li>&gt; Multiple Game Engines</li>
<li>&gt; Multiple System Emulation</li>
<li>&gt; Computer Emulation</li>
<li>&gt; Game Console Emulation</li>
<li>&gt; Live Media Emulation</li>
<li>&gt; Operating System Emulation</li>
<li>&gt; Games in Other Software</li>
<li>Have fun with these games!
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.dragonflydigest.com/2017/08/07/20061.html" target="_blank" rel="nofollow noopener">Dragonfly introduces kcollect(8)</a></li>
<li><a href="http://facesofopensource.com/unix/" target="_blank" rel="nofollow noopener">The Faces of Open Source</a></li>
<li><a href="https://www.joyent.com/blog/joyent-edgemesh-cache-me-if-you-can" target="_blank" rel="nofollow noopener">Edgemesh CEO, Jake Loveless and Joyent CTO, Bryan Cantrill join together for a fireside chat to discuss distributed caching at scale, Docker, Node.js, Mystery Science Theater 3000, and more!</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=322297" target="_blank" rel="nofollow noopener">UFS: Place the information needed to find alternate superblocks to the end of the area reserved for the boot block</a></li>
<li><a href="https://tools.ietf.org/html/draft-west-let-localhost-be-localhost-04" target="_blank" rel="nofollow noopener">Let ‘localhost’ be localhost</a></li>
<li>Hurry up and register for <a href="http://www.verisign.com/en_US/internet-technology-news/verisign-events/vbsdcon/index.xhtml?dmn=vBSDcon.com" target="_blank" rel="nofollow noopener">vBSDCon September 7-9</a> and <a href="https://2017.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDCon September 21-24</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Morgan - <a href="http://dpaste.com/0JEYE1K" target="_blank" rel="nofollow noopener">btrfs deprecated</a></li>
<li>Ben - <a href="http://dpaste.com/2TP90HD" target="_blank" rel="nofollow noopener">UEFI, GELI, BEADM, and more</a></li>
<li>Brad - <a href="http://dpaste.com/1MQH1BD" target="_blank" rel="nofollow noopener">Hostname Clarification</a></li>
<li>M Rod - <a href="http://dpaste.com/39C6PGN" target="_blank" rel="nofollow noopener">BSD Laptop</a></li>
<li>Jeremy - <a href="http://dpaste.com/3SVP5SF" target="_blank" rel="nofollow noopener">Contributing to BSDs</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>207: Bridge over the river Cam</title>
  <link>https://www.bsdnow.tv/207</link>
  <guid isPermaLink="false">700ab007-00c0-4527-8cf8-1cfd03b3f2ca</guid>
  <pubDate>Wed, 16 Aug 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/700ab007-00c0-4527-8cf8-1cfd03b3f2ca.mp3" length="74300980" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We recap our devsummit experiences at BSDCambridge, share why memcmp is more complicated than expected, explore Docker on FreeBSD, and we look at a retro terminal.</itunes:subtitle>
  <itunes:duration>1:43:11</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>&lt;p&gt;We recap our devsummit experiences at BSDCambridge, share why memcmp is more complicated than expected, explore Docker on FreeBSD, and we look at a retro terminal.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://wiki.freebsd.org/DevSummit/201708" target="_blank" rel="nofollow noopener"&gt;BSDCam recap&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The 2017 Cambridge DevSummit took place from 2-4 August 2017. The event took place over three days including a formal dinner at St John's College, and was attended by 55 registered developers and guests.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Prior to the start of the conference, we had a doc hacking lounge, the computer lab provided a room where we could meet and try to spend some time on documentation. Sevan walked two interested people through the process of creating a documentation patch and submitting it for the first time. In the process, found ways to improve the documentation on how to write documentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The event is run "un-conference style" in that we brainstorm the actual session schedule on the first morning, with a focus on interactive topics that reflect the interests and exploit the knowledge of the attendees.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The idea is to maximize the amount of discussion and decisions that can be made while we are all in the same room&lt;/li&gt;
&lt;li&gt;The first morning, we all gather in the slightly too small, and even more slightly under air conditioned FW11 classroom. We go around the room introducing ourselves, and listing a few topics we would be interested in discussing. Eventually the whiteboard is full of topics, with various numbers of ticks beside them to indicate the number of interested people&lt;/li&gt;
&lt;li&gt;There are breakout rooms of all sizes, so even topics with only a small group of interested folks can get a lot accomplished&lt;/li&gt;
&lt;li&gt;The most difficult is trying to schedule the sessions, as there is much overlap and people usually want to be in concurrent sessions, or someone's schedule means they won’t be available that day, etc.&lt;/li&gt;
&lt;li&gt;This years working groups:

&lt;ul&gt;
&lt;li&gt;Toolchain (Compilers, Linkers, External Toolchain, Static analysis and sanitizers)&lt;/li&gt;
&lt;li&gt;Virtualization (bhyve, xen, jails, docker)&lt;/li&gt;
&lt;li&gt;Transport (TCP) and Network Performance&lt;/li&gt;
&lt;li&gt;Security and mitigations (W&lt;sup&gt;X,&lt;/sup&gt; noexec stack, CFI, ASLR, KASLR, Safe Stack, etc)&lt;/li&gt;
&lt;li&gt;Testing (Status, What to test, How to test, QA for releases)&lt;/li&gt;
&lt;li&gt;Capsicum (Automation with LLVM etc, Casper, Namespacing, “Services”, capsh)&lt;/li&gt;
&lt;li&gt;Desktop / WiFi (drm-next, drivers, resume, power, installer, desktop, OOB Experience)&lt;/li&gt;
&lt;li&gt;Tracing (Blackbox, DTrace, KTR, ptrace, truss, hardware tracing)&lt;/li&gt;
&lt;li&gt;Packaging and Packaged Base (Sets, Kernels, Ports &amp;amp; flavours, sub-packages, privlib)&lt;/li&gt;
&lt;li&gt;Architectural Security Features (CPU Features: SGX, PXN/PAN, Pointer Authentication, AMD Memory Encryption, Libcrunch, RISC-V, CheriABI)&lt;/li&gt;
&lt;li&gt;Architectures and Embedded systems (RISC-V, ARM, ARM64, MIPS(64), SPARC64)&lt;/li&gt;
&lt;li&gt;Teaching (Audiences, Objectives, Targets, Material, future directions)&lt;/li&gt;
&lt;li&gt;Provisioning and Management Tools (CfgMgmt tools, Image building, VM/bhyve orchestration, Preconfigured VMs for testing, Wishlist)&lt;/li&gt;
&lt;li&gt;Storage (ZFS status update, ZFS encryption infrastructure, ZFS Zero Copy / Sendfile, Acceleration of checksums and raidz parity calculations, sesutil, mpsutil)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;And that wasn’t everything. We then had a series of short talklets:

&lt;ul&gt;
&lt;li&gt;Enhancing and replacing mmap()&lt;/li&gt;
&lt;li&gt;SDIO support&lt;/li&gt;
&lt;li&gt;eBPF support for FreeBSD&lt;/li&gt;
&lt;li&gt;Tracing + Virtualization&lt;/li&gt;
&lt;li&gt;Practical DMA Attack Protection&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;On Thursday night there was a special dinner at St John's College&lt;/li&gt;
&lt;li&gt;Overall it was a great DevSummit, and I even managed to get some of the work assigned to me finished. Shortly I will commit an update to the boot loader menu that will automatically populate the kernel selection menu with the automatically detected list of installed kernels. The list is also properly refreshed when you switch boot environments.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://wiki.qemu.org/index.php/Hosts/BSD" target="_blank" rel="nofollow noopener"&gt;Hosts/BSD – for when you need to run your BSD inside a penguin&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This wiki provides details on how to run each of the various BSDs under QEMU&lt;/li&gt;
&lt;li&gt;The target audience is Linux developers looking to test their apps etc under BSD&lt;/li&gt;
&lt;li&gt;The wiki is in need of some love, there are some option questions, and it lacks some polish&lt;/li&gt;
&lt;li&gt;There are instructions on building qemu from source, but it should likely mention the qemu-devel port&lt;/li&gt;
&lt;li&gt;There should probably also be instructions on using other architectures, like ARM/MIPS etc&lt;/li&gt;
&lt;li&gt;If you have used QEMU, or would like to spend the time to learn how, please help update this wiki
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://trust-in-soft.com/memcmp-requires-pointers-to-fully-valid-buffers/" target="_blank" rel="nofollow noopener"&gt;memcmp -- more complicated than you might expect&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;“A suspicious pattern in open-source software”&lt;br&gt;
One bug recently found by John using tis-interpreter on a widely used open-source library involved the comparison of strings with memcmp. The unexpected condition was that memcmp was, in one case, called with a pointer to a buffer shorter than the length passed as third argument, breaking one of the two symmetrical pre-conditions in the function’s ACSL contract&lt;br&gt;
A reason that may have made this use of memcmp look okay to the developer is that the buffers being passed to it always differed before the end of the buffers were reached.&lt;br&gt;
a memcmp implementation based on stopping as soon as a difference is found, would not have caused any out-of-bounds read access&lt;br&gt;
The first question raised was whether the pattern memcmp("a", "bc", 3) was problematic according to the letter of the C standard. If it was, the second question was whether the busy maintainer of one of the Open Source packages that make the Internet tick should be bothered with a bug report.&lt;br&gt;
I would like to be able to say that memcmp’s ACSL contract was the product of careful deliberation, but unfortunately this is not the case: many standard function contracts were written quickly in order to get most of the standard library covered, and have not been tested by time. Anyway, upon proofreading the relevant clause in the C11 standard, my feeling was that the ACSL formalization was, in this particular case, right, and that it was undefined behavior to pass as memcmp argument a buffer that wasn’t fully valid, even if the implementation sort-of needs to read the buffer’s characters in order for the purpose of finding the first mismatch.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The post then goes on to look at the memcmp code in glibc&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There are two distinct optimizations for long buffers, one that applies when both buffers start at the same offset modulo the word size, memcmp_common_alignment, and one that applies when they don’t, memcmp_not_common_alignment.&lt;br&gt;
The function memcmp_common_alignment is relatively well-behaved: it reads from the two buffers aligned word by aligned word, and thus reads the entire words that contain differing bytes. If the caller passed buffers that aren’t valid after the differing byte, this amounts to reading out of bounds, but this sort of out-of-bounds access is not detected by the typical MMU, which works at the scale of the page.&lt;br&gt;
The “not_common_alignment” case, however, tells a different story. When passed the carefully (mis-)aligned buffers t1 and (char*)t2+1, although these buffers differ in the 8th byte, Glibc’s implementation of memcmp reads 8 bytes beyond the end of t1. By making the 16th byte differ instead of the 8th one, it is also possible to make Glibc’s implementation of memcmp read 16 bytes beyond the end of t1.&lt;br&gt;
In conclusion, yes, some implementations of memcmp will crash when invoked with buffers that aren’t valid for the full length, even if they differ early. The circumstances are rare (probably the reason this bug was still there to be found in a library that had already been tested with all the available techniques) but outside the programmer’s control. The pattern described in this post should be reported as a bug when found.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It is interesting to read the detailed analysis of a bug in such a basic libc feature
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://daemon-notes.com/articles/network/docker" target="_blank" rel="nofollow noopener"&gt;Docker on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;There are two approaches to running Docker on FreeBSD. First one was created back in 2015 and it was a native port of Docker engine to FreeBSD. It was an ambitious project but nobody stepped forward to continuously port the never-ending flow of upstream code to FreeBSD. So the port still exists (sysutils/docker-freebsd) but it wasn't updated since 2015 and it is Docker v1 (it is v17 as of 2017).&lt;br&gt;
The other approach is to use official way of running Docker on platforms other than Linux. Well, somewhat official as Docker still does not support FreeBSD as a host officially. This is docker-machine tool which in turn will use VirtualBox to run a virtual machine with Linux and Docker engine. docker utility on the host will communicate with the engine inside VB where all the work will be done. This article describes what needs to be done to start using it.&lt;br&gt;
Before we begin you need VirtualBox installed. Do not skip adding /boot/loader.conf and /etc/rc.conf lines mentioned on that page. You won't need user inteface or anything, docker-machine will do all the work, just make sure VirtualBox is present and ready to be used.&lt;br&gt;
`pkg install docker docker-machine docker-compose’&lt;br&gt;
Docker will store its stuff in ~/.docker. You might not want the virtual machine image files to live in your home, in this case just create a symlink:&lt;br&gt;
mkdir ~/.docker&lt;br&gt;
ln -s /storage/docker ~/.docker/machine&lt;br&gt;
docker-machine create --driver virtualbox \&lt;br&gt;
   --virtualbox-memory 2048 \&lt;br&gt;
   --virtualbox-cpu-count 2 \&lt;br&gt;
   --virtualbox-disk-size 102400 \&lt;br&gt;
   --virtualbox-hostonly-cidr "10.2.1.1/24" \&lt;br&gt;
   docker1&lt;br&gt;
Here's the example. We are creating machine named docker1. It is using VirtualBox driver, the vm has 2G of memory, 2 cores and 100G of disk space. docker-machine setups VirtualBox to use host-only network adapter (it will create vboxnet0 interface on the host automatically) and we are instructing it to use 10.2.1.1/24 as the address of this adapter — change it to what suits your needs or omit this flag (default is 192.168.99.1/24).&lt;br&gt;
And basically that is all. Check if it is running:&lt;br&gt;
docker-machine ls&lt;br&gt;
If you do open VirtualBox interface you will find a virtual machine named docker1 running. You can start/stop/whatever your machine using docker-machine utility.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Here’s how you can connect to the machine:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;docker utility by default tries to talk to Docker engine running on the same host. However with specific environment variables you can instruct it to talk to other host. docker-machine can export these variables for you.&lt;br&gt;
eval &lt;code&gt;docker-machine env docker1&lt;/code&gt;&lt;br&gt;
docker run hello-world&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;There was quite a bit of discussion about docker at the FreeBSD developers summit in Cambridge during the first week of August. Two docker developers who had worked on the Mac OS X port, one of whom is an OpenBSD advocate, explained how docker has evolved, and the linux-isms have been abstracted away such that a truly native docker solution for FreeBSD can be built and maintained with a lot less headache than before&lt;/li&gt;
&lt;li&gt;I look forward to seeing if we can’t make that happen
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://shellhaters.org/" target="_blank" rel="nofollow noopener"&gt;The POSIX Shell And Utilities&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The POSIX Shell And Utilities&lt;/li&gt;
&lt;li&gt;Compiled for The Shell Hater's Handbook
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://dan.langille.org/2017/07/31/postgresql-logging-to-a-file/" target="_blank" rel="nofollow noopener"&gt;PostgreSQL – logging to a file&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;These steps were carried out on FreeBSD 11.0 with PostgreSQL 9.6 (two of my favorite tools).&lt;br&gt;
I like logging. I like logging PostgreSQL. With logs, you can see what happened. Without, you can only guess.&lt;br&gt;
Setting up logging for PostgreSQL involves several parts, each of which must be completed or else I don’t get what I want. This is not a criticism of PostgreSQL. It’s a feature.&lt;br&gt;
I am documenting this because each time I configure a new PostgreSQL instance, it takes me more than one iteration to get it working. The goal: this post lets both you and me get it right the first time.&lt;br&gt;
The parts include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Telling PostgreSQL to log via syslog&lt;/li&gt;
&lt;li&gt;Telling FreeBSD to local postgres to /var/log/postgres.log (my preference).&lt;/li&gt;
&lt;li&gt;Telling PostgreSQL the things you want logged.&lt;/li&gt;
&lt;li&gt;Changes to postgresql.conf
The file location varies with the version installed. For PostgreSQL 9.6 on FreeBSD, the file is /var/db/postgres/data96/postgresql.conf (adjust 96 according to the version installed).
I made these changes to that file.
&lt;code&gt;
log_destination = 'syslog'
log_min_messages = notice
log_min_error_statement = notice
log_checkpoints = on
log_lock_waits = on
log_timezone = 'UTC'
&lt;/code&gt;
By default, PostgreSQL logs to the local0 facility and is controlled by the syslog_facility in postgresql.conf. This will be used in syslog.conf (see the next section of this post).
The above mentioned changes require a reload: 
&lt;code&gt;service postgresql reload&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Changes to /etc/syslog.conf&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Now that we have PostgreSQL logging to syslog, we want to tell syslog where to put those messages.&lt;br&gt;
I changed this line in /etc/syslog.conf:&lt;code&gt;*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err  /var/log/messages&lt;/code&gt;&lt;br&gt;
With &lt;em&gt;.notice pulling in some local0 messages, adding local0.none to the line will free the messages up for later use in the configuration file. Otherwise, the PostgreSQL messages will be in /var/log/messages.&lt;br&gt;
The changed line is:&lt;br&gt;
`&lt;/em&gt;.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err;local0.none   /var/log/messages&lt;code&gt;&lt;br&gt;
Then, to get the messages into my preferred location, I added this to the file:&lt;br&gt;
&lt;/code&gt;local0.*     /var/log/postgresql.log`&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Log file rotation&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For rotating my log file, I added a new file: /usr/local/etc/newsyslog.conf.d/postgresql96&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/var/log/postgresql.log     pgsql:wheel  640  7     *    $D0   GB  /var/db/postgres/data96/postmaster.pid 30
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Before restarting syslog, I did this, so the destination file existed. This isn’t always/strictly necessary, but because the ownership is not chown root:wheel, I do it to get that part set.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;touch /var/log/postgresql.log
chown pgsql:wheel
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Restarting syslog:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo kill -HUP `sudo cat /var/run/syslog.pid `
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That’s it Now you should see PostgreSQL logging in /var/log/postgresql.log.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170729122350" target="_blank" rel="nofollow noopener"&gt;mandoc-1.14.2 released&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;i just released portable mandoc-1.14.2. It is available now from &lt;a href="http://mandoc.bsd.lv/" target="_blank" rel="nofollow noopener"&gt;http://mandoc.bsd.lv/&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;```From: Ingo Schwarze &lt;a href="mailto:schwarze@usta.de" target="_blank" rel="nofollow noopener"&gt;schwarze@usta.de&lt;/a&gt;&lt;br&gt;
Date: Fri, 28 Jul 2017 20:12:44 +0200&lt;br&gt;
To: &lt;a href="mailto:discuss@mandoc.bsd.lv" target="_blank" rel="nofollow noopener"&gt;discuss@mandoc.bsd.lv&lt;/a&gt;&lt;br&gt;
Subject: mandoc-1.14.2 released&lt;/p&gt;

&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;i just released portable mandoc-1.14.2.&lt;br&gt;
It is available now from &lt;a href="http://mandoc.bsd.lv/" target="_blank" rel="nofollow noopener"&gt;http://mandoc.bsd.lv/&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;All downstream maintainers are encouraged to update their ports&lt;br&gt;
and packages from 1.14.1 to 1.14.2.&lt;/p&gt;

&lt;p&gt;Mandoc 1.14.2 is a feature release introducing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a new -Tmarkdown output mode&lt;/li&gt;
&lt;li&gt;anchors for deep linking into -Thtml manual pages&lt;/li&gt;
&lt;li&gt;a superset of the functionality of the former mdoclint(1) utility&lt;/li&gt;
&lt;li&gt;a new -Wstyle message level with several new messages&lt;/li&gt;
&lt;li&gt;automatic line breaking inside individual tbl(7) cells&lt;/li&gt;
&lt;li&gt;a rewrite of the eqn(7) lexer, and some eqn(7) rendering improvements&lt;/li&gt;
&lt;li&gt;support for many additional low-level roff(7) features&lt;/li&gt;
&lt;li&gt;and various smaller features and bug fixes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For more details, see: &lt;a href="http://mandoc.bsd.lv/NEWS" target="_blank" rel="nofollow noopener"&gt;http://mandoc.bsd.lv/NEWS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the improved mandoc features, only twenty-five out of the&lt;br&gt;
ten thousand software packages in the OpenBSD ports tree still&lt;br&gt;
need groff to format their manual pages.&lt;/p&gt;

&lt;p&gt;Since the project has been called "mandoc" rather than "mdocml"&lt;br&gt;
for several years now, the website, the distribution tarball,&lt;br&gt;
and the source extraction directory are now also called "mandoc"&lt;br&gt;
rather than "mdocml".&lt;/p&gt;

&lt;p&gt;The release was tested on the following systems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OpenBSD-current and OpenBSD-stable&lt;/li&gt;
&lt;li&gt;NetBSD-current&lt;/li&gt;
&lt;li&gt;illumos&lt;/li&gt;
&lt;li&gt;Debian Linux&lt;/li&gt;
&lt;li&gt;Void Linux x86_64 glibc and musl&lt;/li&gt;
&lt;li&gt;Crux Linux&lt;/li&gt;
&lt;li&gt;SunOS 5.11.2, 5.10, and 5.9&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As before, catman(8) and the regression suite cannot be used on&lt;br&gt;
SunOS 5.10 and SunOS 5.9.&lt;br&gt;
A big thanks to everybody who provided patches, bug reports,&lt;br&gt;
feature suggestions, advice, and help with testing!&lt;br&gt;
Yours,&lt;br&gt;
  Ingo```&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/Swordfish90/cool-retro-term" target="_blank" rel="nofollow noopener"&gt;A good looking terminal emulator which mimics the old cathode display. Available in x11/cool-retro-terminal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.trueos.org/blog/milestone-complete-openrc-conversion/" target="_blank" rel="nofollow noopener"&gt;Milestone Complete! OpenRC conversion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://illumos.topicbox.com/groups/developer/discussions/T5eae6079331c4df4" target="_blank" rel="nofollow noopener"&gt;Healthy developer interaction between FreeBSD and IllumOS re: mdb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170804053102" target="_blank" rel="nofollow noopener"&gt;Large Batch of Kernel Errata Patches Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opnsense.org/opnsense-17-7-released/" target="_blank" rel="nofollow noopener"&gt;opnsense 17.7 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jack/status/892605692317650944" target="_blank" rel="nofollow noopener"&gt;Twitter Co-Founder and CEO states “FreeBSD rules them all”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hurry up and register for &lt;a href="http://www.verisign.com/en_US/internet-technology-news/verisign-events/vbsdcon/index.xhtml?dmn=vBSDcon.com" target="_blank" rel="nofollow noopener"&gt;vBSDCon September 7-9&lt;/a&gt; and &lt;a href="https://2017.eurobsdcon.org/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon September 21-24&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Dominik - &lt;a href="http://dpaste.com/08971FQ" target="_blank" rel="nofollow noopener"&gt;Monitoring Software&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Darren - &lt;a href="http://dpaste.com/0YCS4DN" target="_blank" rel="nofollow noopener"&gt;Wonderful Awk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Andrew - &lt;a href="http://dpaste.com/0ZREKTV" target="_blank" rel="nofollow noopener"&gt;Thanks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jens - &lt;a href="http://dpaste.com/1GVZNWN" target="_blank" rel="nofollow noopener"&gt;Migration Questions&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We recap our devsummit experiences at BSDCambridge, share why memcmp is more complicated than expected, explore Docker on FreeBSD, and we look at a retro terminal.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://wiki.freebsd.org/DevSummit/201708" target="_blank" rel="nofollow noopener">BSDCam recap</a></h3>

<blockquote>
<p>The 2017 Cambridge DevSummit took place from 2-4 August 2017. The event took place over three days including a formal dinner at St John's College, and was attended by 55 registered developers and guests.</p>
</blockquote>

<ul>
<li>Prior to the start of the conference, we had a doc hacking lounge, the computer lab provided a room where we could meet and try to spend some time on documentation. Sevan walked two interested people through the process of creating a documentation patch and submitting it for the first time. In the process, found ways to improve the documentation on how to write documentation.</li>
</ul>

<blockquote>
<p>The event is run "un-conference style" in that we brainstorm the actual session schedule on the first morning, with a focus on interactive topics that reflect the interests and exploit the knowledge of the attendees.</p>
</blockquote>

<ul>
<li>The idea is to maximize the amount of discussion and decisions that can be made while we are all in the same room</li>
<li>The first morning, we all gather in the slightly too small, and even more slightly under air conditioned FW11 classroom. We go around the room introducing ourselves, and listing a few topics we would be interested in discussing. Eventually the whiteboard is full of topics, with various numbers of ticks beside them to indicate the number of interested people</li>
<li>There are breakout rooms of all sizes, so even topics with only a small group of interested folks can get a lot accomplished</li>
<li>The most difficult is trying to schedule the sessions, as there is much overlap and people usually want to be in concurrent sessions, or someone's schedule means they won’t be available that day, etc.</li>
<li>This years working groups:

<ul>
<li>Toolchain (Compilers, Linkers, External Toolchain, Static analysis and sanitizers)</li>
<li>Virtualization (bhyve, xen, jails, docker)</li>
<li>Transport (TCP) and Network Performance</li>
<li>Security and mitigations (W<sup>X,</sup> noexec stack, CFI, ASLR, KASLR, Safe Stack, etc)</li>
<li>Testing (Status, What to test, How to test, QA for releases)</li>
<li>Capsicum (Automation with LLVM etc, Casper, Namespacing, “Services”, capsh)</li>
<li>Desktop / WiFi (drm-next, drivers, resume, power, installer, desktop, OOB Experience)</li>
<li>Tracing (Blackbox, DTrace, KTR, ptrace, truss, hardware tracing)</li>
<li>Packaging and Packaged Base (Sets, Kernels, Ports &amp; flavours, sub-packages, privlib)</li>
<li>Architectural Security Features (CPU Features: SGX, PXN/PAN, Pointer Authentication, AMD Memory Encryption, Libcrunch, RISC-V, CheriABI)</li>
<li>Architectures and Embedded systems (RISC-V, ARM, ARM64, MIPS(64), SPARC64)</li>
<li>Teaching (Audiences, Objectives, Targets, Material, future directions)</li>
<li>Provisioning and Management Tools (CfgMgmt tools, Image building, VM/bhyve orchestration, Preconfigured VMs for testing, Wishlist)</li>
<li>Storage (ZFS status update, ZFS encryption infrastructure, ZFS Zero Copy / Sendfile, Acceleration of checksums and raidz parity calculations, sesutil, mpsutil)</li>
</ul></li>
<li>And that wasn’t everything. We then had a series of short talklets:

<ul>
<li>Enhancing and replacing mmap()</li>
<li>SDIO support</li>
<li>eBPF support for FreeBSD</li>
<li>Tracing + Virtualization</li>
<li>Practical DMA Attack Protection</li>
</ul></li>
<li>On Thursday night there was a special dinner at St John's College</li>
<li>Overall it was a great DevSummit, and I even managed to get some of the work assigned to me finished. Shortly I will commit an update to the boot loader menu that will automatically populate the kernel selection menu with the automatically detected list of installed kernels. The list is also properly refreshed when you switch boot environments.
***</li>
</ul>

<h3><a href="https://wiki.qemu.org/index.php/Hosts/BSD" target="_blank" rel="nofollow noopener">Hosts/BSD – for when you need to run your BSD inside a penguin</a></h3>

<ul>
<li>This wiki provides details on how to run each of the various BSDs under QEMU</li>
<li>The target audience is Linux developers looking to test their apps etc under BSD</li>
<li>The wiki is in need of some love, there are some option questions, and it lacks some polish</li>
<li>There are instructions on building qemu from source, but it should likely mention the qemu-devel port</li>
<li>There should probably also be instructions on using other architectures, like ARM/MIPS etc</li>
<li>If you have used QEMU, or would like to spend the time to learn how, please help update this wiki
***</li>
</ul>

<h3><a href="http://trust-in-soft.com/memcmp-requires-pointers-to-fully-valid-buffers/" target="_blank" rel="nofollow noopener">memcmp -- more complicated than you might expect</a></h3>

<blockquote>
<p>“A suspicious pattern in open-source software”<br>
One bug recently found by John using tis-interpreter on a widely used open-source library involved the comparison of strings with memcmp. The unexpected condition was that memcmp was, in one case, called with a pointer to a buffer shorter than the length passed as third argument, breaking one of the two symmetrical pre-conditions in the function’s ACSL contract<br>
A reason that may have made this use of memcmp look okay to the developer is that the buffers being passed to it always differed before the end of the buffers were reached.<br>
a memcmp implementation based on stopping as soon as a difference is found, would not have caused any out-of-bounds read access<br>
The first question raised was whether the pattern memcmp("a", "bc", 3) was problematic according to the letter of the C standard. If it was, the second question was whether the busy maintainer of one of the Open Source packages that make the Internet tick should be bothered with a bug report.<br>
I would like to be able to say that memcmp’s ACSL contract was the product of careful deliberation, but unfortunately this is not the case: many standard function contracts were written quickly in order to get most of the standard library covered, and have not been tested by time. Anyway, upon proofreading the relevant clause in the C11 standard, my feeling was that the ACSL formalization was, in this particular case, right, and that it was undefined behavior to pass as memcmp argument a buffer that wasn’t fully valid, even if the implementation sort-of needs to read the buffer’s characters in order for the purpose of finding the first mismatch.</p>
</blockquote>

<ul>
<li>The post then goes on to look at the memcmp code in glibc</li>
</ul>

<blockquote>
<p>There are two distinct optimizations for long buffers, one that applies when both buffers start at the same offset modulo the word size, memcmp_common_alignment, and one that applies when they don’t, memcmp_not_common_alignment.<br>
The function memcmp_common_alignment is relatively well-behaved: it reads from the two buffers aligned word by aligned word, and thus reads the entire words that contain differing bytes. If the caller passed buffers that aren’t valid after the differing byte, this amounts to reading out of bounds, but this sort of out-of-bounds access is not detected by the typical MMU, which works at the scale of the page.<br>
The “not_common_alignment” case, however, tells a different story. When passed the carefully (mis-)aligned buffers t1 and (char*)t2+1, although these buffers differ in the 8th byte, Glibc’s implementation of memcmp reads 8 bytes beyond the end of t1. By making the 16th byte differ instead of the 8th one, it is also possible to make Glibc’s implementation of memcmp read 16 bytes beyond the end of t1.<br>
In conclusion, yes, some implementations of memcmp will crash when invoked with buffers that aren’t valid for the full length, even if they differ early. The circumstances are rare (probably the reason this bug was still there to be found in a library that had already been tested with all the available techniques) but outside the programmer’s control. The pattern described in this post should be reported as a bug when found.</p>
</blockquote>

<ul>
<li>It is interesting to read the detailed analysis of a bug in such a basic libc feature
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://daemon-notes.com/articles/network/docker" target="_blank" rel="nofollow noopener">Docker on FreeBSD</a></h3>

<blockquote>
<p>There are two approaches to running Docker on FreeBSD. First one was created back in 2015 and it was a native port of Docker engine to FreeBSD. It was an ambitious project but nobody stepped forward to continuously port the never-ending flow of upstream code to FreeBSD. So the port still exists (sysutils/docker-freebsd) but it wasn't updated since 2015 and it is Docker v1 (it is v17 as of 2017).<br>
The other approach is to use official way of running Docker on platforms other than Linux. Well, somewhat official as Docker still does not support FreeBSD as a host officially. This is docker-machine tool which in turn will use VirtualBox to run a virtual machine with Linux and Docker engine. docker utility on the host will communicate with the engine inside VB where all the work will be done. This article describes what needs to be done to start using it.<br>
Before we begin you need VirtualBox installed. Do not skip adding /boot/loader.conf and /etc/rc.conf lines mentioned on that page. You won't need user inteface or anything, docker-machine will do all the work, just make sure VirtualBox is present and ready to be used.<br>
`pkg install docker docker-machine docker-compose’<br>
Docker will store its stuff in ~/.docker. You might not want the virtual machine image files to live in your home, in this case just create a symlink:<br>
mkdir ~/.docker<br>
ln -s /storage/docker ~/.docker/machine<br>
docker-machine create --driver virtualbox \<br>
   --virtualbox-memory 2048 \<br>
   --virtualbox-cpu-count 2 \<br>
   --virtualbox-disk-size 102400 \<br>
   --virtualbox-hostonly-cidr "10.2.1.1/24" \<br>
   docker1<br>
Here's the example. We are creating machine named docker1. It is using VirtualBox driver, the vm has 2G of memory, 2 cores and 100G of disk space. docker-machine setups VirtualBox to use host-only network adapter (it will create vboxnet0 interface on the host automatically) and we are instructing it to use 10.2.1.1/24 as the address of this adapter — change it to what suits your needs or omit this flag (default is 192.168.99.1/24).<br>
And basically that is all. Check if it is running:<br>
docker-machine ls<br>
If you do open VirtualBox interface you will find a virtual machine named docker1 running. You can start/stop/whatever your machine using docker-machine utility.</p>
</blockquote>

<ul>
<li>Here’s how you can connect to the machine:</li>
</ul>

<blockquote>
<p>docker utility by default tries to talk to Docker engine running on the same host. However with specific environment variables you can instruct it to talk to other host. docker-machine can export these variables for you.<br>
eval <code>docker-machine env docker1</code><br>
docker run hello-world</p>
</blockquote>

<ul>
<li>There was quite a bit of discussion about docker at the FreeBSD developers summit in Cambridge during the first week of August. Two docker developers who had worked on the Mac OS X port, one of whom is an OpenBSD advocate, explained how docker has evolved, and the linux-isms have been abstracted away such that a truly native docker solution for FreeBSD can be built and maintained with a lot less headache than before</li>
<li>I look forward to seeing if we can’t make that happen
***</li>
</ul>

<h3><a href="http://shellhaters.org/" target="_blank" rel="nofollow noopener">The POSIX Shell And Utilities</a></h3>

<ul>
<li>The POSIX Shell And Utilities</li>
<li>Compiled for The Shell Hater's Handbook
***</li>
</ul>

<h3><a href="http://dan.langille.org/2017/07/31/postgresql-logging-to-a-file/" target="_blank" rel="nofollow noopener">PostgreSQL – logging to a file</a></h3>

<blockquote>
<p>These steps were carried out on FreeBSD 11.0 with PostgreSQL 9.6 (two of my favorite tools).<br>
I like logging. I like logging PostgreSQL. With logs, you can see what happened. Without, you can only guess.<br>
Setting up logging for PostgreSQL involves several parts, each of which must be completed or else I don’t get what I want. This is not a criticism of PostgreSQL. It’s a feature.<br>
I am documenting this because each time I configure a new PostgreSQL instance, it takes me more than one iteration to get it working. The goal: this post lets both you and me get it right the first time.<br>
The parts include:</p>

<ul>
<li>Telling PostgreSQL to log via syslog</li>
<li>Telling FreeBSD to local postgres to /var/log/postgres.log (my preference).</li>
<li>Telling PostgreSQL the things you want logged.</li>
<li>Changes to postgresql.conf
The file location varies with the version installed. For PostgreSQL 9.6 on FreeBSD, the file is /var/db/postgres/data96/postgresql.conf (adjust 96 according to the version installed).
I made these changes to that file.
<code>
log_destination = 'syslog'
log_min_messages = notice
log_min_error_statement = notice
log_checkpoints = on
log_lock_waits = on
log_timezone = 'UTC'
</code>
By default, PostgreSQL logs to the local0 facility and is controlled by the syslog_facility in postgresql.conf. This will be used in syslog.conf (see the next section of this post).
The above mentioned changes require a reload: 
<code>service postgresql reload</code></li>
</ul>
</blockquote>

<ul>
<li>Changes to /etc/syslog.conf</li>
</ul>

<blockquote>
<p>Now that we have PostgreSQL logging to syslog, we want to tell syslog where to put those messages.<br>
I changed this line in /etc/syslog.conf:<code>*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err  /var/log/messages</code><br>
With <em>.notice pulling in some local0 messages, adding local0.none to the line will free the messages up for later use in the configuration file. Otherwise, the PostgreSQL messages will be in /var/log/messages.<br>
The changed line is:<br>
`</em>.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err;local0.none   /var/log/messages<code><br>
Then, to get the messages into my preferred location, I added this to the file:<br>
</code>local0.*     /var/log/postgresql.log`</p>
</blockquote>

<ul>
<li>Log file rotation</li>
</ul>

<blockquote>
<p>For rotating my log file, I added a new file: /usr/local/etc/newsyslog.conf.d/postgresql96</p>

<pre><code>/var/log/postgresql.log     pgsql:wheel  640  7     *    $D0   GB  /var/db/postgres/data96/postmaster.pid 30
</code></pre>

<p>Before restarting syslog, I did this, so the destination file existed. This isn’t always/strictly necessary, but because the ownership is not chown root:wheel, I do it to get that part set.</p>

<pre><code>touch /var/log/postgresql.log
chown pgsql:wheel
</code></pre>

<p>Restarting syslog:</p>

<pre><code>sudo kill -HUP `sudo cat /var/run/syslog.pid `
</code></pre>

<p>That’s it Now you should see PostgreSQL logging in /var/log/postgresql.log.</p>
</blockquote>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170729122350" target="_blank" rel="nofollow noopener">mandoc-1.14.2 released</a></h3>

<blockquote>
<p>i just released portable mandoc-1.14.2. It is available now from <a href="http://mandoc.bsd.lv/" target="_blank" rel="nofollow noopener">http://mandoc.bsd.lv/</a>.</p>
</blockquote>

<p>```From: Ingo Schwarze <a href="mailto:schwarze@usta.de" target="_blank" rel="nofollow noopener">schwarze@usta.de</a><br>
Date: Fri, 28 Jul 2017 20:12:44 +0200<br>
To: <a href="mailto:discuss@mandoc.bsd.lv" target="_blank" rel="nofollow noopener">discuss@mandoc.bsd.lv</a><br>
Subject: mandoc-1.14.2 released</p>

<p>Hi,</p>

<p>i just released portable mandoc-1.14.2.<br>
It is available now from <a href="http://mandoc.bsd.lv/" target="_blank" rel="nofollow noopener">http://mandoc.bsd.lv/</a> .</p>

<p>All downstream maintainers are encouraged to update their ports<br>
and packages from 1.14.1 to 1.14.2.</p>

<p>Mandoc 1.14.2 is a feature release introducing:</p>

<ul>
<li>a new -Tmarkdown output mode</li>
<li>anchors for deep linking into -Thtml manual pages</li>
<li>a superset of the functionality of the former mdoclint(1) utility</li>
<li>a new -Wstyle message level with several new messages</li>
<li>automatic line breaking inside individual tbl(7) cells</li>
<li>a rewrite of the eqn(7) lexer, and some eqn(7) rendering improvements</li>
<li>support for many additional low-level roff(7) features</li>
<li>and various smaller features and bug fixes.</li>
</ul>

<p>For more details, see: <a href="http://mandoc.bsd.lv/NEWS" target="_blank" rel="nofollow noopener">http://mandoc.bsd.lv/NEWS</a></p>

<p>With the improved mandoc features, only twenty-five out of the<br>
ten thousand software packages in the OpenBSD ports tree still<br>
need groff to format their manual pages.</p>

<p>Since the project has been called "mandoc" rather than "mdocml"<br>
for several years now, the website, the distribution tarball,<br>
and the source extraction directory are now also called "mandoc"<br>
rather than "mdocml".</p>

<p>The release was tested on the following systems:</p>

<ul>
<li>OpenBSD-current and OpenBSD-stable</li>
<li>NetBSD-current</li>
<li>illumos</li>
<li>Debian Linux</li>
<li>Void Linux x86_64 glibc and musl</li>
<li>Crux Linux</li>
<li>SunOS 5.11.2, 5.10, and 5.9</li>
</ul>

<p>As before, catman(8) and the regression suite cannot be used on<br>
SunOS 5.10 and SunOS 5.9.<br>
A big thanks to everybody who provided patches, bug reports,<br>
feature suggestions, advice, and help with testing!<br>
Yours,<br>
  Ingo```</p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/Swordfish90/cool-retro-term" target="_blank" rel="nofollow noopener">A good looking terminal emulator which mimics the old cathode display. Available in x11/cool-retro-terminal</a></li>
<li><a href="https://www.trueos.org/blog/milestone-complete-openrc-conversion/" target="_blank" rel="nofollow noopener">Milestone Complete! OpenRC conversion</a></li>
<li><a href="https://illumos.topicbox.com/groups/developer/discussions/T5eae6079331c4df4" target="_blank" rel="nofollow noopener">Healthy developer interaction between FreeBSD and IllumOS re: mdb</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170804053102" target="_blank" rel="nofollow noopener">Large Batch of Kernel Errata Patches Released</a></li>
<li><a href="https://opnsense.org/opnsense-17-7-released/" target="_blank" rel="nofollow noopener">opnsense 17.7 released</a></li>
<li><a href="https://twitter.com/jack/status/892605692317650944" target="_blank" rel="nofollow noopener">Twitter Co-Founder and CEO states “FreeBSD rules them all”</a></li>
<li>Hurry up and register for <a href="http://www.verisign.com/en_US/internet-technology-news/verisign-events/vbsdcon/index.xhtml?dmn=vBSDcon.com" target="_blank" rel="nofollow noopener">vBSDCon September 7-9</a> and <a href="https://2017.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDCon September 21-24</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Dominik - <a href="http://dpaste.com/08971FQ" target="_blank" rel="nofollow noopener">Monitoring Software</a></li>
<li>Darren - <a href="http://dpaste.com/0YCS4DN" target="_blank" rel="nofollow noopener">Wonderful Awk</a></li>
<li>Andrew - <a href="http://dpaste.com/0ZREKTV" target="_blank" rel="nofollow noopener">Thanks</a></li>
<li>Jens - <a href="http://dpaste.com/1GVZNWN" target="_blank" rel="nofollow noopener">Migration Questions</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We recap our devsummit experiences at BSDCambridge, share why memcmp is more complicated than expected, explore Docker on FreeBSD, and we look at a retro terminal.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://wiki.freebsd.org/DevSummit/201708" target="_blank" rel="nofollow noopener">BSDCam recap</a></h3>

<blockquote>
<p>The 2017 Cambridge DevSummit took place from 2-4 August 2017. The event took place over three days including a formal dinner at St John's College, and was attended by 55 registered developers and guests.</p>
</blockquote>

<ul>
<li>Prior to the start of the conference, we had a doc hacking lounge, the computer lab provided a room where we could meet and try to spend some time on documentation. Sevan walked two interested people through the process of creating a documentation patch and submitting it for the first time. In the process, found ways to improve the documentation on how to write documentation.</li>
</ul>

<blockquote>
<p>The event is run "un-conference style" in that we brainstorm the actual session schedule on the first morning, with a focus on interactive topics that reflect the interests and exploit the knowledge of the attendees.</p>
</blockquote>

<ul>
<li>The idea is to maximize the amount of discussion and decisions that can be made while we are all in the same room</li>
<li>The first morning, we all gather in the slightly too small, and even more slightly under air conditioned FW11 classroom. We go around the room introducing ourselves, and listing a few topics we would be interested in discussing. Eventually the whiteboard is full of topics, with various numbers of ticks beside them to indicate the number of interested people</li>
<li>There are breakout rooms of all sizes, so even topics with only a small group of interested folks can get a lot accomplished</li>
<li>The most difficult is trying to schedule the sessions, as there is much overlap and people usually want to be in concurrent sessions, or someone's schedule means they won’t be available that day, etc.</li>
<li>This years working groups:

<ul>
<li>Toolchain (Compilers, Linkers, External Toolchain, Static analysis and sanitizers)</li>
<li>Virtualization (bhyve, xen, jails, docker)</li>
<li>Transport (TCP) and Network Performance</li>
<li>Security and mitigations (W<sup>X,</sup> noexec stack, CFI, ASLR, KASLR, Safe Stack, etc)</li>
<li>Testing (Status, What to test, How to test, QA for releases)</li>
<li>Capsicum (Automation with LLVM etc, Casper, Namespacing, “Services”, capsh)</li>
<li>Desktop / WiFi (drm-next, drivers, resume, power, installer, desktop, OOB Experience)</li>
<li>Tracing (Blackbox, DTrace, KTR, ptrace, truss, hardware tracing)</li>
<li>Packaging and Packaged Base (Sets, Kernels, Ports &amp; flavours, sub-packages, privlib)</li>
<li>Architectural Security Features (CPU Features: SGX, PXN/PAN, Pointer Authentication, AMD Memory Encryption, Libcrunch, RISC-V, CheriABI)</li>
<li>Architectures and Embedded systems (RISC-V, ARM, ARM64, MIPS(64), SPARC64)</li>
<li>Teaching (Audiences, Objectives, Targets, Material, future directions)</li>
<li>Provisioning and Management Tools (CfgMgmt tools, Image building, VM/bhyve orchestration, Preconfigured VMs for testing, Wishlist)</li>
<li>Storage (ZFS status update, ZFS encryption infrastructure, ZFS Zero Copy / Sendfile, Acceleration of checksums and raidz parity calculations, sesutil, mpsutil)</li>
</ul></li>
<li>And that wasn’t everything. We then had a series of short talklets:

<ul>
<li>Enhancing and replacing mmap()</li>
<li>SDIO support</li>
<li>eBPF support for FreeBSD</li>
<li>Tracing + Virtualization</li>
<li>Practical DMA Attack Protection</li>
</ul></li>
<li>On Thursday night there was a special dinner at St John's College</li>
<li>Overall it was a great DevSummit, and I even managed to get some of the work assigned to me finished. Shortly I will commit an update to the boot loader menu that will automatically populate the kernel selection menu with the automatically detected list of installed kernels. The list is also properly refreshed when you switch boot environments.
***</li>
</ul>

<h3><a href="https://wiki.qemu.org/index.php/Hosts/BSD" target="_blank" rel="nofollow noopener">Hosts/BSD – for when you need to run your BSD inside a penguin</a></h3>

<ul>
<li>This wiki provides details on how to run each of the various BSDs under QEMU</li>
<li>The target audience is Linux developers looking to test their apps etc under BSD</li>
<li>The wiki is in need of some love, there are some option questions, and it lacks some polish</li>
<li>There are instructions on building qemu from source, but it should likely mention the qemu-devel port</li>
<li>There should probably also be instructions on using other architectures, like ARM/MIPS etc</li>
<li>If you have used QEMU, or would like to spend the time to learn how, please help update this wiki
***</li>
</ul>

<h3><a href="http://trust-in-soft.com/memcmp-requires-pointers-to-fully-valid-buffers/" target="_blank" rel="nofollow noopener">memcmp -- more complicated than you might expect</a></h3>

<blockquote>
<p>“A suspicious pattern in open-source software”<br>
One bug recently found by John using tis-interpreter on a widely used open-source library involved the comparison of strings with memcmp. The unexpected condition was that memcmp was, in one case, called with a pointer to a buffer shorter than the length passed as third argument, breaking one of the two symmetrical pre-conditions in the function’s ACSL contract<br>
A reason that may have made this use of memcmp look okay to the developer is that the buffers being passed to it always differed before the end of the buffers were reached.<br>
a memcmp implementation based on stopping as soon as a difference is found, would not have caused any out-of-bounds read access<br>
The first question raised was whether the pattern memcmp("a", "bc", 3) was problematic according to the letter of the C standard. If it was, the second question was whether the busy maintainer of one of the Open Source packages that make the Internet tick should be bothered with a bug report.<br>
I would like to be able to say that memcmp’s ACSL contract was the product of careful deliberation, but unfortunately this is not the case: many standard function contracts were written quickly in order to get most of the standard library covered, and have not been tested by time. Anyway, upon proofreading the relevant clause in the C11 standard, my feeling was that the ACSL formalization was, in this particular case, right, and that it was undefined behavior to pass as memcmp argument a buffer that wasn’t fully valid, even if the implementation sort-of needs to read the buffer’s characters in order for the purpose of finding the first mismatch.</p>
</blockquote>

<ul>
<li>The post then goes on to look at the memcmp code in glibc</li>
</ul>

<blockquote>
<p>There are two distinct optimizations for long buffers, one that applies when both buffers start at the same offset modulo the word size, memcmp_common_alignment, and one that applies when they don’t, memcmp_not_common_alignment.<br>
The function memcmp_common_alignment is relatively well-behaved: it reads from the two buffers aligned word by aligned word, and thus reads the entire words that contain differing bytes. If the caller passed buffers that aren’t valid after the differing byte, this amounts to reading out of bounds, but this sort of out-of-bounds access is not detected by the typical MMU, which works at the scale of the page.<br>
The “not_common_alignment” case, however, tells a different story. When passed the carefully (mis-)aligned buffers t1 and (char*)t2+1, although these buffers differ in the 8th byte, Glibc’s implementation of memcmp reads 8 bytes beyond the end of t1. By making the 16th byte differ instead of the 8th one, it is also possible to make Glibc’s implementation of memcmp read 16 bytes beyond the end of t1.<br>
In conclusion, yes, some implementations of memcmp will crash when invoked with buffers that aren’t valid for the full length, even if they differ early. The circumstances are rare (probably the reason this bug was still there to be found in a library that had already been tested with all the available techniques) but outside the programmer’s control. The pattern described in this post should be reported as a bug when found.</p>
</blockquote>

<ul>
<li>It is interesting to read the detailed analysis of a bug in such a basic libc feature
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://daemon-notes.com/articles/network/docker" target="_blank" rel="nofollow noopener">Docker on FreeBSD</a></h3>

<blockquote>
<p>There are two approaches to running Docker on FreeBSD. First one was created back in 2015 and it was a native port of Docker engine to FreeBSD. It was an ambitious project but nobody stepped forward to continuously port the never-ending flow of upstream code to FreeBSD. So the port still exists (sysutils/docker-freebsd) but it wasn't updated since 2015 and it is Docker v1 (it is v17 as of 2017).<br>
The other approach is to use official way of running Docker on platforms other than Linux. Well, somewhat official as Docker still does not support FreeBSD as a host officially. This is docker-machine tool which in turn will use VirtualBox to run a virtual machine with Linux and Docker engine. docker utility on the host will communicate with the engine inside VB where all the work will be done. This article describes what needs to be done to start using it.<br>
Before we begin you need VirtualBox installed. Do not skip adding /boot/loader.conf and /etc/rc.conf lines mentioned on that page. You won't need user inteface or anything, docker-machine will do all the work, just make sure VirtualBox is present and ready to be used.<br>
`pkg install docker docker-machine docker-compose’<br>
Docker will store its stuff in ~/.docker. You might not want the virtual machine image files to live in your home, in this case just create a symlink:<br>
mkdir ~/.docker<br>
ln -s /storage/docker ~/.docker/machine<br>
docker-machine create --driver virtualbox \<br>
   --virtualbox-memory 2048 \<br>
   --virtualbox-cpu-count 2 \<br>
   --virtualbox-disk-size 102400 \<br>
   --virtualbox-hostonly-cidr "10.2.1.1/24" \<br>
   docker1<br>
Here's the example. We are creating machine named docker1. It is using VirtualBox driver, the vm has 2G of memory, 2 cores and 100G of disk space. docker-machine setups VirtualBox to use host-only network adapter (it will create vboxnet0 interface on the host automatically) and we are instructing it to use 10.2.1.1/24 as the address of this adapter — change it to what suits your needs or omit this flag (default is 192.168.99.1/24).<br>
And basically that is all. Check if it is running:<br>
docker-machine ls<br>
If you do open VirtualBox interface you will find a virtual machine named docker1 running. You can start/stop/whatever your machine using docker-machine utility.</p>
</blockquote>

<ul>
<li>Here’s how you can connect to the machine:</li>
</ul>

<blockquote>
<p>docker utility by default tries to talk to Docker engine running on the same host. However with specific environment variables you can instruct it to talk to other host. docker-machine can export these variables for you.<br>
eval <code>docker-machine env docker1</code><br>
docker run hello-world</p>
</blockquote>

<ul>
<li>There was quite a bit of discussion about docker at the FreeBSD developers summit in Cambridge during the first week of August. Two docker developers who had worked on the Mac OS X port, one of whom is an OpenBSD advocate, explained how docker has evolved, and the linux-isms have been abstracted away such that a truly native docker solution for FreeBSD can be built and maintained with a lot less headache than before</li>
<li>I look forward to seeing if we can’t make that happen
***</li>
</ul>

<h3><a href="http://shellhaters.org/" target="_blank" rel="nofollow noopener">The POSIX Shell And Utilities</a></h3>

<ul>
<li>The POSIX Shell And Utilities</li>
<li>Compiled for The Shell Hater's Handbook
***</li>
</ul>

<h3><a href="http://dan.langille.org/2017/07/31/postgresql-logging-to-a-file/" target="_blank" rel="nofollow noopener">PostgreSQL – logging to a file</a></h3>

<blockquote>
<p>These steps were carried out on FreeBSD 11.0 with PostgreSQL 9.6 (two of my favorite tools).<br>
I like logging. I like logging PostgreSQL. With logs, you can see what happened. Without, you can only guess.<br>
Setting up logging for PostgreSQL involves several parts, each of which must be completed or else I don’t get what I want. This is not a criticism of PostgreSQL. It’s a feature.<br>
I am documenting this because each time I configure a new PostgreSQL instance, it takes me more than one iteration to get it working. The goal: this post lets both you and me get it right the first time.<br>
The parts include:</p>

<ul>
<li>Telling PostgreSQL to log via syslog</li>
<li>Telling FreeBSD to local postgres to /var/log/postgres.log (my preference).</li>
<li>Telling PostgreSQL the things you want logged.</li>
<li>Changes to postgresql.conf
The file location varies with the version installed. For PostgreSQL 9.6 on FreeBSD, the file is /var/db/postgres/data96/postgresql.conf (adjust 96 according to the version installed).
I made these changes to that file.
<code>
log_destination = 'syslog'
log_min_messages = notice
log_min_error_statement = notice
log_checkpoints = on
log_lock_waits = on
log_timezone = 'UTC'
</code>
By default, PostgreSQL logs to the local0 facility and is controlled by the syslog_facility in postgresql.conf. This will be used in syslog.conf (see the next section of this post).
The above mentioned changes require a reload: 
<code>service postgresql reload</code></li>
</ul>
</blockquote>

<ul>
<li>Changes to /etc/syslog.conf</li>
</ul>

<blockquote>
<p>Now that we have PostgreSQL logging to syslog, we want to tell syslog where to put those messages.<br>
I changed this line in /etc/syslog.conf:<code>*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err  /var/log/messages</code><br>
With <em>.notice pulling in some local0 messages, adding local0.none to the line will free the messages up for later use in the configuration file. Otherwise, the PostgreSQL messages will be in /var/log/messages.<br>
The changed line is:<br>
`</em>.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err;local0.none   /var/log/messages<code><br>
Then, to get the messages into my preferred location, I added this to the file:<br>
</code>local0.*     /var/log/postgresql.log`</p>
</blockquote>

<ul>
<li>Log file rotation</li>
</ul>

<blockquote>
<p>For rotating my log file, I added a new file: /usr/local/etc/newsyslog.conf.d/postgresql96</p>

<pre><code>/var/log/postgresql.log     pgsql:wheel  640  7     *    $D0   GB  /var/db/postgres/data96/postmaster.pid 30
</code></pre>

<p>Before restarting syslog, I did this, so the destination file existed. This isn’t always/strictly necessary, but because the ownership is not chown root:wheel, I do it to get that part set.</p>

<pre><code>touch /var/log/postgresql.log
chown pgsql:wheel
</code></pre>

<p>Restarting syslog:</p>

<pre><code>sudo kill -HUP `sudo cat /var/run/syslog.pid `
</code></pre>

<p>That’s it Now you should see PostgreSQL logging in /var/log/postgresql.log.</p>
</blockquote>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170729122350" target="_blank" rel="nofollow noopener">mandoc-1.14.2 released</a></h3>

<blockquote>
<p>i just released portable mandoc-1.14.2. It is available now from <a href="http://mandoc.bsd.lv/" target="_blank" rel="nofollow noopener">http://mandoc.bsd.lv/</a>.</p>
</blockquote>

<p>```From: Ingo Schwarze <a href="mailto:schwarze@usta.de" target="_blank" rel="nofollow noopener">schwarze@usta.de</a><br>
Date: Fri, 28 Jul 2017 20:12:44 +0200<br>
To: <a href="mailto:discuss@mandoc.bsd.lv" target="_blank" rel="nofollow noopener">discuss@mandoc.bsd.lv</a><br>
Subject: mandoc-1.14.2 released</p>

<p>Hi,</p>

<p>i just released portable mandoc-1.14.2.<br>
It is available now from <a href="http://mandoc.bsd.lv/" target="_blank" rel="nofollow noopener">http://mandoc.bsd.lv/</a> .</p>

<p>All downstream maintainers are encouraged to update their ports<br>
and packages from 1.14.1 to 1.14.2.</p>

<p>Mandoc 1.14.2 is a feature release introducing:</p>

<ul>
<li>a new -Tmarkdown output mode</li>
<li>anchors for deep linking into -Thtml manual pages</li>
<li>a superset of the functionality of the former mdoclint(1) utility</li>
<li>a new -Wstyle message level with several new messages</li>
<li>automatic line breaking inside individual tbl(7) cells</li>
<li>a rewrite of the eqn(7) lexer, and some eqn(7) rendering improvements</li>
<li>support for many additional low-level roff(7) features</li>
<li>and various smaller features and bug fixes.</li>
</ul>

<p>For more details, see: <a href="http://mandoc.bsd.lv/NEWS" target="_blank" rel="nofollow noopener">http://mandoc.bsd.lv/NEWS</a></p>

<p>With the improved mandoc features, only twenty-five out of the<br>
ten thousand software packages in the OpenBSD ports tree still<br>
need groff to format their manual pages.</p>

<p>Since the project has been called "mandoc" rather than "mdocml"<br>
for several years now, the website, the distribution tarball,<br>
and the source extraction directory are now also called "mandoc"<br>
rather than "mdocml".</p>

<p>The release was tested on the following systems:</p>

<ul>
<li>OpenBSD-current and OpenBSD-stable</li>
<li>NetBSD-current</li>
<li>illumos</li>
<li>Debian Linux</li>
<li>Void Linux x86_64 glibc and musl</li>
<li>Crux Linux</li>
<li>SunOS 5.11.2, 5.10, and 5.9</li>
</ul>

<p>As before, catman(8) and the regression suite cannot be used on<br>
SunOS 5.10 and SunOS 5.9.<br>
A big thanks to everybody who provided patches, bug reports,<br>
feature suggestions, advice, and help with testing!<br>
Yours,<br>
  Ingo```</p>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://github.com/Swordfish90/cool-retro-term" target="_blank" rel="nofollow noopener">A good looking terminal emulator which mimics the old cathode display. Available in x11/cool-retro-terminal</a></li>
<li><a href="https://www.trueos.org/blog/milestone-complete-openrc-conversion/" target="_blank" rel="nofollow noopener">Milestone Complete! OpenRC conversion</a></li>
<li><a href="https://illumos.topicbox.com/groups/developer/discussions/T5eae6079331c4df4" target="_blank" rel="nofollow noopener">Healthy developer interaction between FreeBSD and IllumOS re: mdb</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170804053102" target="_blank" rel="nofollow noopener">Large Batch of Kernel Errata Patches Released</a></li>
<li><a href="https://opnsense.org/opnsense-17-7-released/" target="_blank" rel="nofollow noopener">opnsense 17.7 released</a></li>
<li><a href="https://twitter.com/jack/status/892605692317650944" target="_blank" rel="nofollow noopener">Twitter Co-Founder and CEO states “FreeBSD rules them all”</a></li>
<li>Hurry up and register for <a href="http://www.verisign.com/en_US/internet-technology-news/verisign-events/vbsdcon/index.xhtml?dmn=vBSDcon.com" target="_blank" rel="nofollow noopener">vBSDCon September 7-9</a> and <a href="https://2017.eurobsdcon.org/" target="_blank" rel="nofollow noopener">EuroBSDCon September 21-24</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Dominik - <a href="http://dpaste.com/08971FQ" target="_blank" rel="nofollow noopener">Monitoring Software</a></li>
<li>Darren - <a href="http://dpaste.com/0YCS4DN" target="_blank" rel="nofollow noopener">Wonderful Awk</a></li>
<li>Andrew - <a href="http://dpaste.com/0ZREKTV" target="_blank" rel="nofollow noopener">Thanks</a></li>
<li>Jens - <a href="http://dpaste.com/1GVZNWN" target="_blank" rel="nofollow noopener">Migration Questions</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>206: To hier is UNIX</title>
  <link>https://www.bsdnow.tv/206</link>
  <guid isPermaLink="false">f5800a25-4b1e-4593-aa7d-eb70bac3bd73</guid>
  <pubDate>Wed, 09 Aug 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f5800a25-4b1e-4593-aa7d-eb70bac3bd73.mp3" length="65122708" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>Lumina Desktop 1.3 is out, we show you a Plasma 5 on FreeBSD tutorial, explore randomness, and more.</itunes:subtitle>
  <itunes:duration>1:30:26</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>&lt;p&gt;Lumina Desktop 1.3 is out, we show you a Plasma 5 on FreeBSD tutorial, explore randomness, and more.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lumina-desktop.org/version-1-3-0-released/" target="_blank" rel="nofollow noopener"&gt;Lumina Desktop v1.3 released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Notable Changes:&lt;/li&gt;
&lt;li&gt;New Utility: lumina-mediaplayer. Lumina Media Player is a graphic interface for the Qt QMediaPlayer Class, with Pandora internet radio streaming integration. Lumina Media Player supports many audio formats, including .ogg, .mp3, .mp4, .flac, and .wmv. It is also possible to increase the number of playable formats by installing gstreamer-plugins. This utility is found in the Applications → Utilities section, or opened by typing lumina-mediaplayer in a command line.

&lt;ul&gt;
&lt;li&gt;New Utility: lumina-xdg-entry. This is another simple utility designed to help users create .desktop entries and shortcuts. Find it in the Utilities application category, or open it by typing lumina-xdg-entry in a command line. &lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Lumina Desktop:

&lt;ul&gt;
&lt;li&gt;Desktop folders are integrated, and can now be manipulated directly from the desktop.&lt;/li&gt;
&lt;li&gt;Added the automatic settings migration of a desktop monitor (single monitor only, for now).&lt;/li&gt;
&lt;li&gt;Numerous speed and performance improvements with how icons load and the system interacts with the desktop.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Lumina-FM:

&lt;ul&gt;
&lt;li&gt;Now fully integrated with lumina-archiver.&lt;/li&gt;
&lt;li&gt;A “System directory” tree pane is available. Options to enable/disable it are being added later, as it is on by default.&lt;/li&gt;
&lt;li&gt;Numerous speed improvements with caching and loading icons.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Lumina Texteditor:

&lt;ul&gt;
&lt;li&gt;There is a new json manifest file format for syntax highlighting support. Users can open this file, customize their highlighting options, and immediately see their changes without rebuilding the utility.&lt;/li&gt;
&lt;li&gt;The text editor now supports more than 10 different file formats.&lt;/li&gt;
&lt;li&gt;Added options for file-wide preferences in syntax files. Options include: word wrap, character per line limits, excess whitespace highlighting, font style restrictions, and tab-width settings.&lt;/li&gt;
&lt;li&gt;LTE supports tabs with detach, drag’n’drop, and location customization with the View menu option.&lt;/li&gt;
&lt;li&gt;Add checkable menu option to show the “unsaved changes” dialogue box on close.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Lumina Screenshot:

&lt;ul&gt;
&lt;li&gt;Adjustments to the lumina-screenshot interface.&lt;/li&gt;
&lt;li&gt;Add an adjustable warning to lumina-screenshot when closing with an unsaved image.&lt;/li&gt;
&lt;li&gt;Add functionality to select a specific area of the screen for screenshots.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Lumina Archiver:

&lt;ul&gt;
&lt;li&gt;Functionality improvements.&lt;/li&gt;
&lt;li&gt;Bug fixes.&lt;/li&gt;
&lt;li&gt;Interface changes.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;General Improvements:

&lt;ul&gt;
&lt;li&gt;Permission checks for settings files (all utilities). When launched with sudo, all tools use or create a root-permissioned copy of the user’s settings file. This prevents a settings file being locked by root.&lt;/li&gt;
&lt;li&gt;UI text reworks to help re-unify style.&lt;/li&gt;
&lt;li&gt;Add hooks to update the desktop with icons for the /media directory when a system uses USB automounting functionality.&lt;/li&gt;
&lt;li&gt;Fix Fluxbox bug with windows workspace assignments.&lt;/li&gt;
&lt;li&gt;Work on new utility lumina-notify (not fully functional yet).&lt;/li&gt;
&lt;li&gt;Fix panel reporting error crashing lumina-config.&lt;/li&gt;
&lt;li&gt;Bug fix for dbus-send calls for Gentoo.&lt;/li&gt;
&lt;li&gt;Clean up automatic DPI scaling support.&lt;/li&gt;
&lt;li&gt;Bug fix for the panel clock.&lt;/li&gt;
&lt;li&gt;Compton compositor is now disabled by default (but can be manually enabled).&lt;/li&gt;
&lt;li&gt;Translation file updates.&lt;/li&gt;
&lt;li&gt;Documentation updates.
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl/bobulate/?p=1609" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.0 and Plasma 5 HowTo&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Here’s a step-by-step guide to getting a machine with FreeBSD 11 in it, running X, and KDE Plasma 5 Desktop and KDE Applications. It’s the latest thing! (Except that 11-STABLE is in the middle of the pack of what’s supported .. but the KDE bits are fresh. I run 10.3 with KDE4 or Plasma 5 on my physical machines, myself, so the FreeBSD version isn’t that important except that packages are readily available for 11-STABLE, not for 10-STABLE.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;We skip the part about installing FreeBSD (it’s in there if you need it) and get right to the important parts that you need: &lt;/li&gt;
&lt;li&gt;An X Server and a backup X11 environment (ancient):&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;pkg install xorg xterm twm&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Desktop technologies (modern):&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;pkg install hal dbus&lt;br&gt;
echo hald_enable=YES &amp;gt;&amp;gt; /etc/rc.conf&lt;br&gt;
echo dbus_enable=YES &amp;gt;&amp;gt; /etc/rc.conf&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Next up, test whether the X server works by running startx and exiting out of twm.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If running with ZFS, it’s a good idea to snapshot now, just so you can easily roll back to the it-works-with-basic-X11 setup you have now.&lt;br&gt;
zfs snapshot -r zroot@x11&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Now swap out the default FreeBSD package repository, for the KDE-FreeBSD community one. This is documented also on the &lt;a href="https://community.kde.org/FreeBSD/Setup/Area51" target="_blank" rel="nofollow noopener"&gt;Area51 page&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;mkdir -p /usr/local/etc/pkg/repos&lt;br&gt;
cd /usr/local/etc/pkg/repos&lt;br&gt;
cat &amp;gt; FreeBSD.conf &amp;lt;
FreeBSD: { enabled: no }&lt;br&gt;
EOF&lt;br&gt;
cat &amp;gt; Area51.conf &amp;lt;&amp;lt;EOF&lt;br&gt;
Area51: {&lt;br&gt;
url: "&lt;a href="http://meatwad.mouf.net/rubick/poudriere/packages/110-amd64-kde/" target="_blank" rel="nofollow noopener"&gt;http://meatwad.mouf.net/rubick/poudriere/packages/110-amd64-kde/&lt;/a&gt;",&lt;br&gt;
priority: 2,&lt;br&gt;
enabled: yes&lt;br&gt;
}&lt;br&gt;
EOF&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Tell pkg(8) to refresh itself (it may install a newer pkg, too), then install something nicer than xterm + twm, and then do some post-install configuration:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;pkg update&lt;br&gt;
pkg install konsole plasma5-plasma-desktop&lt;br&gt;
echo cuse_load=YES &amp;gt;&amp;gt; /boot/loader.conf&lt;br&gt;
echo webcamd_enable=YES &amp;gt;&amp;gt; /etc/rc.conf&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Log in as your test user, and set up .xinitrc to start Plasma 5:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;cat &amp;gt; .xinitrc &amp;lt;&amp;lt;EOF&lt;br&gt;
#! /bin/sh&lt;br&gt;
/usr/local/bin/xterm -geometry +0+0 &amp;amp;&lt;br&gt;
KDE=/usr/local/bin/startkde&lt;br&gt;
test -x $KDE &amp;amp;&amp;amp; exec /usr/local/bin/ck-launch-session $KDE&lt;br&gt;
exec /usr/local/bin/twm&lt;br&gt;
EOF&lt;br&gt;
chmod 755 .xinitrc&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;If you really want, you can run startx, but this isn’t the complete Plasma 5 desktop experience... and KDE Applications are not installed, either. So you get a bare xterm (useful to kill X or start konsole) and kwin and not much else. Good thing that getting the rest of KDE Plasma 5 Desktop and KDE Applications is pretty easy (and we could have skipped the intermediate step with konsole and gone straight to the finish:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;pkg install kde&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This metaport will pull in another 2GiB of stuff, for all the KDE Applications and a complete Plasma desktop. There are intermediate metaports for slightly-less-heavy installations, but this one is easy to remember and will almost certainly get you what you want. So it really comes down to installing X, dbus, hal, and then the kde package. Voila!
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://blog.cagedmonster.net/setup-full-server-with-freebsd-on-raspberrypi/" target="_blank" rel="nofollow noopener"&gt;Full FreeBSD Server on a Raspberry Pi&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Disclaimer :

&lt;ul&gt;
&lt;li&gt;The Raspberry PI is a such a great device. You can do a really huge amount of fun things with this little board... &lt;/li&gt;
&lt;li&gt;The goal of this paper is to show how you can build a full personal server on your Raspberry PI, using FreeBSD and it's packages. &lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Here's how we'll proceed :

&lt;ul&gt;
&lt;li&gt;Get FreeBSD&lt;/li&gt;
&lt;li&gt;Configure FreeBSD&lt;/li&gt;
&lt;li&gt;Install and configure sudo&lt;/li&gt;
&lt;li&gt;Configure your Wifi with a static IPv4 and IPv6 address&lt;/li&gt;
&lt;li&gt;Install and start Packet Filter&lt;/li&gt;
&lt;li&gt;Install and configure nginx with "let's encrypt" SSL / PHP / MySQL&lt;/li&gt;
&lt;li&gt;Install and configure OpenSMTPd and SPAMd&lt;/li&gt;
&lt;li&gt;Install and configure Netdata with nginx to monitor your system&lt;/li&gt;
&lt;li&gt;Avoid OS detection
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://hardenedbsd.org/article/shawn-webb/2017-06-27/introducing-openntpd-base" target="_blank" rel="nofollow noopener"&gt;HardenedBSD, now has openntpd in base&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Over the past few months, Bernard Spil has been hard at work importing OpenNTPd 6.0p1 in HardenedBSD base. Starting with 12-CURRENT, HardenedBSD will ship with OpenNTPd by default. Just like with LibreSSL in base, HardenedBSD users have a choice when building world of which NTP daemon to use. Users who want to use the legacy NTPd can set WITHOUT_OPENNTPD and WITH_NTP in src.conf(5). Bernard will continue maintaining LibreSSL and OpenNTPd in HardenedBSD base.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Users who are upgrading from an existing 12-CURRENT system from source and who use the legacy NTP daemon in base will need to perform the following actions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install new world&lt;/li&gt;
&lt;li&gt;Run mergemaster or etcupdate&lt;/li&gt;
&lt;li&gt;sysrc ntpd_enable="NO"&lt;/li&gt;
&lt;li&gt;sysrc local_openntpd_enable="YES"&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A binary update will be published within the next 24 hours that contains OpenNTPd in base. Those who use hbsd-update will only need to perform steps 3 and 4 above.&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.networkworld.com/article/3208389/linux/unix-how-random-is-random.html" target="_blank" rel="nofollow noopener"&gt;Unix: How random is random&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Sandra Henry-Stocker writes on Networkworld: &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;On Unix systems, random numbers are generated in a number of ways and random data can serve many purposes. From simple commands to fairly complex processes, the question “How random is random?” is worth asking.&lt;br&gt;
EZ random numbers&lt;br&gt;
If all you need is a casual list of random numbers, the RANDOM variable is an easy choice. Type "echo $RANDOM" and you'll get a number between 0 and 32,767 (the largest number that two bytes can hold).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Note: this only works in bash, and is generally a silly thing to do&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Of course, this process is actually providing a "pseudo-random" number. As anyone who thinks about random numbers very often might tell you, numbers generated by a program have a limitation. Programs follow carefully crafted steps, and those steps aren’t even close to being truly random. You can increase the randomness of RANDOM's value by seeding it (i.e., setting the variable to some initial value). Some just use the current process ID (via $$) for that. Note that for any particular starting point, the subsequent values that $RANDOM provides are quite predictable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;More complex random data&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For more serious requirements for random data, such as its use in encryption, some more truly random data comes into play. The /dev/random and /dev/urandom files get beyond the predictability of programming by making use of environmental noise gathered from device drivers and other system sources and stored it in an “entropy pool”.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Examining entropy&lt;/li&gt;
&lt;li&gt;Randomness vs. entropy&lt;/li&gt;
&lt;li&gt;Generating files with random data&lt;/li&gt;
&lt;li&gt;Generating random numbers&lt;/li&gt;
&lt;li&gt;Beyond /dev/urandom
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/kernel/2017-July/239413.html" target="_blank" rel="nofollow noopener"&gt;Moving firmware to userland&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This is a post from the DragonFlyBSD mailinglist:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I would like to introduce a few ideas about the new firmware subsystem.  I assume that it should not require adding a new system tools or modifying boot process.&lt;br&gt;
Simplification is the first. It would be good to remove parent-child relationship and corresponding functionality. It would significantly simplify firmware handling. Its only practical use is when there are multiple images in one loadable kernel module. The module can be  unloaded when all children are not in use. Usage of the children images is tracked through the counter for the parent image. If images will not be placed inside loadable kernel modules, the parent-child mechanism won't have any practical meaning. I think, currently the mechanism is not used anywhere in the DragonFly system and if it was, it could be easily replaced by putting every child image in its own module without modifying drivers.&lt;br&gt;
There are two use cases according to who will provide firmware images to &lt;br&gt;
the system:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;developers of DragonFly BSD (they can modify and rebuild the system)&lt;/li&gt;
&lt;li&gt;third-parties (they should not be required to modify and rebuild the system)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All firmware images needs to have some information attached (at least, &lt;br&gt;
if ack with a license is needed) which should be d) stored persistently.&lt;br&gt;
The question is where to save the information for non-built-in images. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Various solutions are proposed that meet some -- but not all -- of the mentioned requirements, along with pros and cons.&lt;/li&gt;
&lt;li&gt;It closes with:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There would be two firmware sources: kernel and filesystem. In case of the same image names, user could have a choice by setting a kernel environment variable, firmware from which source has higher priority and will be provided to consumer.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.tedunangst.com/flak/post/openbsd-changes-of-note-625" target="_blank" rel="nofollow noopener"&gt;OpenBSD changes of note 625&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Continue with some cleanup and improvement of the depend step of building. Lots of little things to support lex and yacc better as well.&lt;/li&gt;
&lt;li&gt;Intel Optane parts are leaking into the wild, some driver fixes to support them.&lt;/li&gt;
&lt;li&gt;Add support for pattern substitution to variables in ksh using a common syntax borrowed from ksh93. Or not, reverted.&lt;/li&gt;
&lt;li&gt;Deprecate fgetln.&lt;/li&gt;
&lt;li&gt;Add detection for missing X sets to syspatch.&lt;/li&gt;
&lt;li&gt;Refinement of the inteldrm code, including better backlight support.&lt;/li&gt;
&lt;li&gt;A special edition of slaacd for the installer.&lt;/li&gt;
&lt;li&gt;After much wailing and gnashing of teeth, fix strtol to parse strings like “0xridiculous”.&lt;/li&gt;
&lt;li&gt;A fix for malloc and zero sized allocations when using canaries.&lt;/li&gt;
&lt;li&gt;Add the ability to pause and unpause VMs in vmd.&lt;/li&gt;
&lt;li&gt;Remove “listen secure” syntax from smtpd.conf. It’s broken since a couple of months and noone complained.&lt;/li&gt;
&lt;li&gt;Remove sending of router solicitations and processing of router advertisements from the kernel.&lt;/li&gt;
&lt;li&gt;The lidsuspend sysctl has been fully replaced by lidaction.&lt;/li&gt;
&lt;li&gt;Fix fortune to filter out unprintable characters. Convert the fortune files to using UTF-8 instead of archaic overprinting. Fortunes with unprintable words may still be obtained with the -o option.&lt;/li&gt;
&lt;li&gt;Introduce some quirks to the IDE and ATA code to prevent drives from attaching twice on hyper-v.&lt;/li&gt;
&lt;li&gt;Add vmctl send and receive as well.&lt;/li&gt;
&lt;li&gt;Update to xterm 330.&lt;/li&gt;
&lt;li&gt;Remove some magic cleanup from dhclient. It will not deliberately attempt to interfere with other operations on the same interface.&lt;/li&gt;
&lt;li&gt;Update libexpat to 2.2.2. Fixes NULL parser dereference.&lt;/li&gt;
&lt;li&gt;Ilja Van Sprundel found a whole mess of kernel bugs in this and that. Some info leaks, some erroneous signal handling, some unbounded malloc calls. Lions, tigers, bears. Try to fix them.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lud.cc/programming/man-hier/" target="_blank" rel="nofollow noopener"&gt;Heir - description of the file system hierarchy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/cgi/man.cgi?query=hier&amp;amp;format=html" target="_blank" rel="nofollow noopener"&gt;FreeBSD hier(7)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2017-July/626020.html" target="_blank" rel="nofollow noopener"&gt;sshlockout and your logs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/ports?view=revision&amp;amp;revision=446144" target="_blank" rel="nofollow noopener"&gt;net-mgmt/netdata can now monitor ZFS pools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.tedunangst.com/flak/post/books-chapter-five" target="_blank" rel="nofollow noopener"&gt;Ted Unangst is reviewing some books, chapter by chapter. “Coders at Work”, “Founders at Work”, “the Mythical Man-Month”, “The Pragmatic Programmer”, and “Code: The Hidden Language of Computer Hardware and Software”. This is chapter 5, look for the bookreview tag on the site to find the previous ones&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.netgate.com/blog/pfsense-2-3-4-p1-release-now-available.html" target="_blank" rel="nofollow noopener"&gt;pfSense 2.3.4-p1 release now available&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0V84RN7" target="_blank" rel="nofollow noopener"&gt;Ben - Thanks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3KRWRS0" target="_blank" rel="nofollow noopener"&gt;Jay - ZFS and Speed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0M9STNX" target="_blank" rel="nofollow noopener"&gt;Patrick - Portalfs removed?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2H0Y3R5" target="_blank" rel="nofollow noopener"&gt;Sir l33tname - ZFS pool question&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Lumina Desktop 1.3 is out, we show you a Plasma 5 on FreeBSD tutorial, explore randomness, and more.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://lumina-desktop.org/version-1-3-0-released/" target="_blank" rel="nofollow noopener">Lumina Desktop v1.3 released</a></h3>

<ul>
<li>Notable Changes:</li>
<li>New Utility: lumina-mediaplayer. Lumina Media Player is a graphic interface for the Qt QMediaPlayer Class, with Pandora internet radio streaming integration. Lumina Media Player supports many audio formats, including .ogg, .mp3, .mp4, .flac, and .wmv. It is also possible to increase the number of playable formats by installing gstreamer-plugins. This utility is found in the Applications → Utilities section, or opened by typing lumina-mediaplayer in a command line.

<ul>
<li>New Utility: lumina-xdg-entry. This is another simple utility designed to help users create .desktop entries and shortcuts. Find it in the Utilities application category, or open it by typing lumina-xdg-entry in a command line. </li>
</ul></li>
<li>Lumina Desktop:

<ul>
<li>Desktop folders are integrated, and can now be manipulated directly from the desktop.</li>
<li>Added the automatic settings migration of a desktop monitor (single monitor only, for now).</li>
<li>Numerous speed and performance improvements with how icons load and the system interacts with the desktop.</li>
</ul></li>
<li>Lumina-FM:

<ul>
<li>Now fully integrated with lumina-archiver.</li>
<li>A “System directory” tree pane is available. Options to enable/disable it are being added later, as it is on by default.</li>
<li>Numerous speed improvements with caching and loading icons.</li>
</ul></li>
<li>Lumina Texteditor:

<ul>
<li>There is a new json manifest file format for syntax highlighting support. Users can open this file, customize their highlighting options, and immediately see their changes without rebuilding the utility.</li>
<li>The text editor now supports more than 10 different file formats.</li>
<li>Added options for file-wide preferences in syntax files. Options include: word wrap, character per line limits, excess whitespace highlighting, font style restrictions, and tab-width settings.</li>
<li>LTE supports tabs with detach, drag’n’drop, and location customization with the View menu option.</li>
<li>Add checkable menu option to show the “unsaved changes” dialogue box on close.</li>
</ul></li>
<li>Lumina Screenshot:

<ul>
<li>Adjustments to the lumina-screenshot interface.</li>
<li>Add an adjustable warning to lumina-screenshot when closing with an unsaved image.</li>
<li>Add functionality to select a specific area of the screen for screenshots.</li>
</ul></li>
<li>Lumina Archiver:

<ul>
<li>Functionality improvements.</li>
<li>Bug fixes.</li>
<li>Interface changes.</li>
</ul></li>
<li>General Improvements:

<ul>
<li>Permission checks for settings files (all utilities). When launched with sudo, all tools use or create a root-permissioned copy of the user’s settings file. This prevents a settings file being locked by root.</li>
<li>UI text reworks to help re-unify style.</li>
<li>Add hooks to update the desktop with icons for the /media directory when a system uses USB automounting functionality.</li>
<li>Fix Fluxbox bug with windows workspace assignments.</li>
<li>Work on new utility lumina-notify (not fully functional yet).</li>
<li>Fix panel reporting error crashing lumina-config.</li>
<li>Bug fix for dbus-send calls for Gentoo.</li>
<li>Clean up automatic DPI scaling support.</li>
<li>Bug fix for the panel clock.</li>
<li>Compton compositor is now disabled by default (but can be manually enabled).</li>
<li>Translation file updates.</li>
<li>Documentation updates.
***</li>
</ul></li>
</ul>

<h3><a href="https://euroquis.nl/bobulate/?p=1609" target="_blank" rel="nofollow noopener">FreeBSD 11.0 and Plasma 5 HowTo</a></h3>

<blockquote>
<p>Here’s a step-by-step guide to getting a machine with FreeBSD 11 in it, running X, and KDE Plasma 5 Desktop and KDE Applications. It’s the latest thing! (Except that 11-STABLE is in the middle of the pack of what’s supported .. but the KDE bits are fresh. I run 10.3 with KDE4 or Plasma 5 on my physical machines, myself, so the FreeBSD version isn’t that important except that packages are readily available for 11-STABLE, not for 10-STABLE.)</p>
</blockquote>

<ul>
<li>We skip the part about installing FreeBSD (it’s in there if you need it) and get right to the important parts that you need: </li>
<li>An X Server and a backup X11 environment (ancient):</li>
</ul>

<blockquote>
<p>pkg install xorg xterm twm</p>
</blockquote>

<ul>
<li>Desktop technologies (modern):</li>
</ul>

<blockquote>
<p>pkg install hal dbus<br>
echo hald_enable=YES &gt;&gt; /etc/rc.conf<br>
echo dbus_enable=YES &gt;&gt; /etc/rc.conf</p>
</blockquote>

<ul>
<li>Next up, test whether the X server works by running startx and exiting out of twm.</li>
</ul>

<blockquote>
<p>If running with ZFS, it’s a good idea to snapshot now, just so you can easily roll back to the it-works-with-basic-X11 setup you have now.<br>
zfs snapshot -r zroot@x11</p>
</blockquote>

<ul>
<li>Now swap out the default FreeBSD package repository, for the KDE-FreeBSD community one. This is documented also on the <a href="https://community.kde.org/FreeBSD/Setup/Area51" target="_blank" rel="nofollow noopener">Area51 page</a>.</li>
</ul>

<blockquote>
<p>mkdir -p /usr/local/etc/pkg/repos<br>
cd /usr/local/etc/pkg/repos<br>
cat &gt; FreeBSD.conf &lt;
FreeBSD: { enabled: no }<br>
EOF<br>
cat &gt; Area51.conf &lt;&lt;EOF<br>
Area51: {<br>
url: "<a href="http://meatwad.mouf.net/rubick/poudriere/packages/110-amd64-kde/" target="_blank" rel="nofollow noopener">http://meatwad.mouf.net/rubick/poudriere/packages/110-amd64-kde/</a>",<br>
priority: 2,<br>
enabled: yes<br>
}<br>
EOF</p>
</blockquote>

<ul>
<li>Tell pkg(8) to refresh itself (it may install a newer pkg, too), then install something nicer than xterm + twm, and then do some post-install configuration:</li>
</ul>

<blockquote>
<p>pkg update<br>
pkg install konsole plasma5-plasma-desktop<br>
echo cuse_load=YES &gt;&gt; /boot/loader.conf<br>
echo webcamd_enable=YES &gt;&gt; /etc/rc.conf</p>
</blockquote>

<ul>
<li>Log in as your test user, and set up .xinitrc to start Plasma 5:</li>
</ul>

<blockquote>
<p>cat &gt; .xinitrc &lt;&lt;EOF<br>
#! /bin/sh<br>
/usr/local/bin/xterm -geometry +0+0 &amp;<br>
KDE=/usr/local/bin/startkde<br>
test -x $KDE &amp;&amp; exec /usr/local/bin/ck-launch-session $KDE<br>
exec /usr/local/bin/twm<br>
EOF<br>
chmod 755 .xinitrc</p>
</blockquote>

<ul>
<li>If you really want, you can run startx, but this isn’t the complete Plasma 5 desktop experience... and KDE Applications are not installed, either. So you get a bare xterm (useful to kill X or start konsole) and kwin and not much else. Good thing that getting the rest of KDE Plasma 5 Desktop and KDE Applications is pretty easy (and we could have skipped the intermediate step with konsole and gone straight to the finish:</li>
</ul>

<blockquote>
<p>pkg install kde</p>
</blockquote>

<ul>
<li>This metaport will pull in another 2GiB of stuff, for all the KDE Applications and a complete Plasma desktop. There are intermediate metaports for slightly-less-heavy installations, but this one is easy to remember and will almost certainly get you what you want. So it really comes down to installing X, dbus, hal, and then the kde package. Voila!
***</li>
</ul>

<h3><a href="https://blog.cagedmonster.net/setup-full-server-with-freebsd-on-raspberrypi/" target="_blank" rel="nofollow noopener">Full FreeBSD Server on a Raspberry Pi</a></h3>

<ul>
<li>Disclaimer :

<ul>
<li>The Raspberry PI is a such a great device. You can do a really huge amount of fun things with this little board... </li>
<li>The goal of this paper is to show how you can build a full personal server on your Raspberry PI, using FreeBSD and it's packages. </li>
</ul></li>
<li>Here's how we'll proceed :

<ul>
<li>Get FreeBSD</li>
<li>Configure FreeBSD</li>
<li>Install and configure sudo</li>
<li>Configure your Wifi with a static IPv4 and IPv6 address</li>
<li>Install and start Packet Filter</li>
<li>Install and configure nginx with "let's encrypt" SSL / PHP / MySQL</li>
<li>Install and configure OpenSMTPd and SPAMd</li>
<li>Install and configure Netdata with nginx to monitor your system</li>
<li>Avoid OS detection
***</li>
</ul></li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2017-06-27/introducing-openntpd-base" target="_blank" rel="nofollow noopener">HardenedBSD, now has openntpd in base</a></h3>

<ul>
<li>Over the past few months, Bernard Spil has been hard at work importing OpenNTPd 6.0p1 in HardenedBSD base. Starting with 12-CURRENT, HardenedBSD will ship with OpenNTPd by default. Just like with LibreSSL in base, HardenedBSD users have a choice when building world of which NTP daemon to use. Users who want to use the legacy NTPd can set WITHOUT_OPENNTPD and WITH_NTP in src.conf(5). Bernard will continue maintaining LibreSSL and OpenNTPd in HardenedBSD base.</li>
<li><p>Users who are upgrading from an existing 12-CURRENT system from source and who use the legacy NTP daemon in base will need to perform the following actions:</p>

<ul>
<li>Install new world</li>
<li>Run mergemaster or etcupdate</li>
<li>sysrc ntpd_enable="NO"</li>
<li>sysrc local_openntpd_enable="YES"</li>
</ul></li>
<li><p>A binary update will be published within the next 24 hours that contains OpenNTPd in base. Those who use hbsd-update will only need to perform steps 3 and 4 above.</p>

<hr></li>
</ul>

<h3><a href="http://www.networkworld.com/article/3208389/linux/unix-how-random-is-random.html" target="_blank" rel="nofollow noopener">Unix: How random is random</a></h3>

<ul>
<li>Sandra Henry-Stocker writes on Networkworld: </li>
</ul>

<blockquote>
<p>On Unix systems, random numbers are generated in a number of ways and random data can serve many purposes. From simple commands to fairly complex processes, the question “How random is random?” is worth asking.<br>
EZ random numbers<br>
If all you need is a casual list of random numbers, the RANDOM variable is an easy choice. Type "echo $RANDOM" and you'll get a number between 0 and 32,767 (the largest number that two bytes can hold).</p>
</blockquote>

<ul>
<li>Note: this only works in bash, and is generally a silly thing to do</li>
</ul>

<blockquote>
<p>Of course, this process is actually providing a "pseudo-random" number. As anyone who thinks about random numbers very often might tell you, numbers generated by a program have a limitation. Programs follow carefully crafted steps, and those steps aren’t even close to being truly random. You can increase the randomness of RANDOM's value by seeding it (i.e., setting the variable to some initial value). Some just use the current process ID (via $$) for that. Note that for any particular starting point, the subsequent values that $RANDOM provides are quite predictable.</p>
</blockquote>

<ul>
<li>More complex random data</li>
</ul>

<blockquote>
<p>For more serious requirements for random data, such as its use in encryption, some more truly random data comes into play. The /dev/random and /dev/urandom files get beyond the predictability of programming by making use of environmental noise gathered from device drivers and other system sources and stored it in an “entropy pool”.</p>
</blockquote>

<ul>
<li>Examining entropy</li>
<li>Randomness vs. entropy</li>
<li>Generating files with random data</li>
<li>Generating random numbers</li>
<li>Beyond /dev/urandom
***</li>
</ul>

<h3><a href="http://lists.dragonflybsd.org/pipermail/kernel/2017-July/239413.html" target="_blank" rel="nofollow noopener">Moving firmware to userland</a></h3>

<ul>
<li>This is a post from the DragonFlyBSD mailinglist:</li>
</ul>

<blockquote>
<p>I would like to introduce a few ideas about the new firmware subsystem.  I assume that it should not require adding a new system tools or modifying boot process.<br>
Simplification is the first. It would be good to remove parent-child relationship and corresponding functionality. It would significantly simplify firmware handling. Its only practical use is when there are multiple images in one loadable kernel module. The module can be  unloaded when all children are not in use. Usage of the children images is tracked through the counter for the parent image. If images will not be placed inside loadable kernel modules, the parent-child mechanism won't have any practical meaning. I think, currently the mechanism is not used anywhere in the DragonFly system and if it was, it could be easily replaced by putting every child image in its own module without modifying drivers.<br>
There are two use cases according to who will provide firmware images to <br>
the system:</p>

<ul>
<li>developers of DragonFly BSD (they can modify and rebuild the system)</li>
<li>third-parties (they should not be required to modify and rebuild the system)</li>
</ul>

<p>All firmware images needs to have some information attached (at least, <br>
if ack with a license is needed) which should be d) stored persistently.<br>
The question is where to save the information for non-built-in images. </p>
</blockquote>

<ul>
<li>Various solutions are proposed that meet some -- but not all -- of the mentioned requirements, along with pros and cons.</li>
<li>It closes with:</li>
</ul>

<blockquote>
<p>There would be two firmware sources: kernel and filesystem. In case of the same image names, user could have a choice by setting a kernel environment variable, firmware from which source has higher priority and will be provided to consumer.</p>

<hr>
</blockquote>

<h3><a href="https://www.tedunangst.com/flak/post/openbsd-changes-of-note-625" target="_blank" rel="nofollow noopener">OpenBSD changes of note 625</a></h3>

<ul>
<li>Continue with some cleanup and improvement of the depend step of building. Lots of little things to support lex and yacc better as well.</li>
<li>Intel Optane parts are leaking into the wild, some driver fixes to support them.</li>
<li>Add support for pattern substitution to variables in ksh using a common syntax borrowed from ksh93. Or not, reverted.</li>
<li>Deprecate fgetln.</li>
<li>Add detection for missing X sets to syspatch.</li>
<li>Refinement of the inteldrm code, including better backlight support.</li>
<li>A special edition of slaacd for the installer.</li>
<li>After much wailing and gnashing of teeth, fix strtol to parse strings like “0xridiculous”.</li>
<li>A fix for malloc and zero sized allocations when using canaries.</li>
<li>Add the ability to pause and unpause VMs in vmd.</li>
<li>Remove “listen secure” syntax from smtpd.conf. It’s broken since a couple of months and noone complained.</li>
<li>Remove sending of router solicitations and processing of router advertisements from the kernel.</li>
<li>The lidsuspend sysctl has been fully replaced by lidaction.</li>
<li>Fix fortune to filter out unprintable characters. Convert the fortune files to using UTF-8 instead of archaic overprinting. Fortunes with unprintable words may still be obtained with the -o option.</li>
<li>Introduce some quirks to the IDE and ATA code to prevent drives from attaching twice on hyper-v.</li>
<li>Add vmctl send and receive as well.</li>
<li>Update to xterm 330.</li>
<li>Remove some magic cleanup from dhclient. It will not deliberately attempt to interfere with other operations on the same interface.</li>
<li>Update libexpat to 2.2.2. Fixes NULL parser dereference.</li>
<li>Ilja Van Sprundel found a whole mess of kernel bugs in this and that. Some info leaks, some erroneous signal handling, some unbounded malloc calls. Lions, tigers, bears. Try to fix them.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://lud.cc/programming/man-hier/" target="_blank" rel="nofollow noopener">Heir - description of the file system hierarchy</a></li>
<li><a href="https://www.freebsd.org/cgi/man.cgi?query=hier&amp;format=html" target="_blank" rel="nofollow noopener">FreeBSD hier(7)</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2017-July/626020.html" target="_blank" rel="nofollow noopener">sshlockout and your logs</a></li>
<li><a href="https://svnweb.freebsd.org/ports?view=revision&amp;revision=446144" target="_blank" rel="nofollow noopener">net-mgmt/netdata can now monitor ZFS pools</a></li>
<li><a href="https://www.tedunangst.com/flak/post/books-chapter-five" target="_blank" rel="nofollow noopener">Ted Unangst is reviewing some books, chapter by chapter. “Coders at Work”, “Founders at Work”, “the Mythical Man-Month”, “The Pragmatic Programmer”, and “Code: The Hidden Language of Computer Hardware and Software”. This is chapter 5, look for the bookreview tag on the site to find the previous ones</a></li>
<li><a href="https://www.netgate.com/blog/pfsense-2-3-4-p1-release-now-available.html" target="_blank" rel="nofollow noopener">pfSense 2.3.4-p1 release now available</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/0V84RN7" target="_blank" rel="nofollow noopener">Ben - Thanks</a></li>
<li><a href="http://dpaste.com/3KRWRS0" target="_blank" rel="nofollow noopener">Jay - ZFS and Speed</a></li>
<li><a href="http://dpaste.com/0M9STNX" target="_blank" rel="nofollow noopener">Patrick - Portalfs removed?</a></li>
<li><a href="http://dpaste.com/2H0Y3R5" target="_blank" rel="nofollow noopener">Sir l33tname - ZFS pool question</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>Lumina Desktop 1.3 is out, we show you a Plasma 5 on FreeBSD tutorial, explore randomness, and more.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://lumina-desktop.org/version-1-3-0-released/" target="_blank" rel="nofollow noopener">Lumina Desktop v1.3 released</a></h3>

<ul>
<li>Notable Changes:</li>
<li>New Utility: lumina-mediaplayer. Lumina Media Player is a graphic interface for the Qt QMediaPlayer Class, with Pandora internet radio streaming integration. Lumina Media Player supports many audio formats, including .ogg, .mp3, .mp4, .flac, and .wmv. It is also possible to increase the number of playable formats by installing gstreamer-plugins. This utility is found in the Applications → Utilities section, or opened by typing lumina-mediaplayer in a command line.

<ul>
<li>New Utility: lumina-xdg-entry. This is another simple utility designed to help users create .desktop entries and shortcuts. Find it in the Utilities application category, or open it by typing lumina-xdg-entry in a command line. </li>
</ul></li>
<li>Lumina Desktop:

<ul>
<li>Desktop folders are integrated, and can now be manipulated directly from the desktop.</li>
<li>Added the automatic settings migration of a desktop monitor (single monitor only, for now).</li>
<li>Numerous speed and performance improvements with how icons load and the system interacts with the desktop.</li>
</ul></li>
<li>Lumina-FM:

<ul>
<li>Now fully integrated with lumina-archiver.</li>
<li>A “System directory” tree pane is available. Options to enable/disable it are being added later, as it is on by default.</li>
<li>Numerous speed improvements with caching and loading icons.</li>
</ul></li>
<li>Lumina Texteditor:

<ul>
<li>There is a new json manifest file format for syntax highlighting support. Users can open this file, customize their highlighting options, and immediately see their changes without rebuilding the utility.</li>
<li>The text editor now supports more than 10 different file formats.</li>
<li>Added options for file-wide preferences in syntax files. Options include: word wrap, character per line limits, excess whitespace highlighting, font style restrictions, and tab-width settings.</li>
<li>LTE supports tabs with detach, drag’n’drop, and location customization with the View menu option.</li>
<li>Add checkable menu option to show the “unsaved changes” dialogue box on close.</li>
</ul></li>
<li>Lumina Screenshot:

<ul>
<li>Adjustments to the lumina-screenshot interface.</li>
<li>Add an adjustable warning to lumina-screenshot when closing with an unsaved image.</li>
<li>Add functionality to select a specific area of the screen for screenshots.</li>
</ul></li>
<li>Lumina Archiver:

<ul>
<li>Functionality improvements.</li>
<li>Bug fixes.</li>
<li>Interface changes.</li>
</ul></li>
<li>General Improvements:

<ul>
<li>Permission checks for settings files (all utilities). When launched with sudo, all tools use or create a root-permissioned copy of the user’s settings file. This prevents a settings file being locked by root.</li>
<li>UI text reworks to help re-unify style.</li>
<li>Add hooks to update the desktop with icons for the /media directory when a system uses USB automounting functionality.</li>
<li>Fix Fluxbox bug with windows workspace assignments.</li>
<li>Work on new utility lumina-notify (not fully functional yet).</li>
<li>Fix panel reporting error crashing lumina-config.</li>
<li>Bug fix for dbus-send calls for Gentoo.</li>
<li>Clean up automatic DPI scaling support.</li>
<li>Bug fix for the panel clock.</li>
<li>Compton compositor is now disabled by default (but can be manually enabled).</li>
<li>Translation file updates.</li>
<li>Documentation updates.
***</li>
</ul></li>
</ul>

<h3><a href="https://euroquis.nl/bobulate/?p=1609" target="_blank" rel="nofollow noopener">FreeBSD 11.0 and Plasma 5 HowTo</a></h3>

<blockquote>
<p>Here’s a step-by-step guide to getting a machine with FreeBSD 11 in it, running X, and KDE Plasma 5 Desktop and KDE Applications. It’s the latest thing! (Except that 11-STABLE is in the middle of the pack of what’s supported .. but the KDE bits are fresh. I run 10.3 with KDE4 or Plasma 5 on my physical machines, myself, so the FreeBSD version isn’t that important except that packages are readily available for 11-STABLE, not for 10-STABLE.)</p>
</blockquote>

<ul>
<li>We skip the part about installing FreeBSD (it’s in there if you need it) and get right to the important parts that you need: </li>
<li>An X Server and a backup X11 environment (ancient):</li>
</ul>

<blockquote>
<p>pkg install xorg xterm twm</p>
</blockquote>

<ul>
<li>Desktop technologies (modern):</li>
</ul>

<blockquote>
<p>pkg install hal dbus<br>
echo hald_enable=YES &gt;&gt; /etc/rc.conf<br>
echo dbus_enable=YES &gt;&gt; /etc/rc.conf</p>
</blockquote>

<ul>
<li>Next up, test whether the X server works by running startx and exiting out of twm.</li>
</ul>

<blockquote>
<p>If running with ZFS, it’s a good idea to snapshot now, just so you can easily roll back to the it-works-with-basic-X11 setup you have now.<br>
zfs snapshot -r zroot@x11</p>
</blockquote>

<ul>
<li>Now swap out the default FreeBSD package repository, for the KDE-FreeBSD community one. This is documented also on the <a href="https://community.kde.org/FreeBSD/Setup/Area51" target="_blank" rel="nofollow noopener">Area51 page</a>.</li>
</ul>

<blockquote>
<p>mkdir -p /usr/local/etc/pkg/repos<br>
cd /usr/local/etc/pkg/repos<br>
cat &gt; FreeBSD.conf &lt;
FreeBSD: { enabled: no }<br>
EOF<br>
cat &gt; Area51.conf &lt;&lt;EOF<br>
Area51: {<br>
url: "<a href="http://meatwad.mouf.net/rubick/poudriere/packages/110-amd64-kde/" target="_blank" rel="nofollow noopener">http://meatwad.mouf.net/rubick/poudriere/packages/110-amd64-kde/</a>",<br>
priority: 2,<br>
enabled: yes<br>
}<br>
EOF</p>
</blockquote>

<ul>
<li>Tell pkg(8) to refresh itself (it may install a newer pkg, too), then install something nicer than xterm + twm, and then do some post-install configuration:</li>
</ul>

<blockquote>
<p>pkg update<br>
pkg install konsole plasma5-plasma-desktop<br>
echo cuse_load=YES &gt;&gt; /boot/loader.conf<br>
echo webcamd_enable=YES &gt;&gt; /etc/rc.conf</p>
</blockquote>

<ul>
<li>Log in as your test user, and set up .xinitrc to start Plasma 5:</li>
</ul>

<blockquote>
<p>cat &gt; .xinitrc &lt;&lt;EOF<br>
#! /bin/sh<br>
/usr/local/bin/xterm -geometry +0+0 &amp;<br>
KDE=/usr/local/bin/startkde<br>
test -x $KDE &amp;&amp; exec /usr/local/bin/ck-launch-session $KDE<br>
exec /usr/local/bin/twm<br>
EOF<br>
chmod 755 .xinitrc</p>
</blockquote>

<ul>
<li>If you really want, you can run startx, but this isn’t the complete Plasma 5 desktop experience... and KDE Applications are not installed, either. So you get a bare xterm (useful to kill X or start konsole) and kwin and not much else. Good thing that getting the rest of KDE Plasma 5 Desktop and KDE Applications is pretty easy (and we could have skipped the intermediate step with konsole and gone straight to the finish:</li>
</ul>

<blockquote>
<p>pkg install kde</p>
</blockquote>

<ul>
<li>This metaport will pull in another 2GiB of stuff, for all the KDE Applications and a complete Plasma desktop. There are intermediate metaports for slightly-less-heavy installations, but this one is easy to remember and will almost certainly get you what you want. So it really comes down to installing X, dbus, hal, and then the kde package. Voila!
***</li>
</ul>

<h3><a href="https://blog.cagedmonster.net/setup-full-server-with-freebsd-on-raspberrypi/" target="_blank" rel="nofollow noopener">Full FreeBSD Server on a Raspberry Pi</a></h3>

<ul>
<li>Disclaimer :

<ul>
<li>The Raspberry PI is a such a great device. You can do a really huge amount of fun things with this little board... </li>
<li>The goal of this paper is to show how you can build a full personal server on your Raspberry PI, using FreeBSD and it's packages. </li>
</ul></li>
<li>Here's how we'll proceed :

<ul>
<li>Get FreeBSD</li>
<li>Configure FreeBSD</li>
<li>Install and configure sudo</li>
<li>Configure your Wifi with a static IPv4 and IPv6 address</li>
<li>Install and start Packet Filter</li>
<li>Install and configure nginx with "let's encrypt" SSL / PHP / MySQL</li>
<li>Install and configure OpenSMTPd and SPAMd</li>
<li>Install and configure Netdata with nginx to monitor your system</li>
<li>Avoid OS detection
***</li>
</ul></li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://hardenedbsd.org/article/shawn-webb/2017-06-27/introducing-openntpd-base" target="_blank" rel="nofollow noopener">HardenedBSD, now has openntpd in base</a></h3>

<ul>
<li>Over the past few months, Bernard Spil has been hard at work importing OpenNTPd 6.0p1 in HardenedBSD base. Starting with 12-CURRENT, HardenedBSD will ship with OpenNTPd by default. Just like with LibreSSL in base, HardenedBSD users have a choice when building world of which NTP daemon to use. Users who want to use the legacy NTPd can set WITHOUT_OPENNTPD and WITH_NTP in src.conf(5). Bernard will continue maintaining LibreSSL and OpenNTPd in HardenedBSD base.</li>
<li><p>Users who are upgrading from an existing 12-CURRENT system from source and who use the legacy NTP daemon in base will need to perform the following actions:</p>

<ul>
<li>Install new world</li>
<li>Run mergemaster or etcupdate</li>
<li>sysrc ntpd_enable="NO"</li>
<li>sysrc local_openntpd_enable="YES"</li>
</ul></li>
<li><p>A binary update will be published within the next 24 hours that contains OpenNTPd in base. Those who use hbsd-update will only need to perform steps 3 and 4 above.</p>

<hr></li>
</ul>

<h3><a href="http://www.networkworld.com/article/3208389/linux/unix-how-random-is-random.html" target="_blank" rel="nofollow noopener">Unix: How random is random</a></h3>

<ul>
<li>Sandra Henry-Stocker writes on Networkworld: </li>
</ul>

<blockquote>
<p>On Unix systems, random numbers are generated in a number of ways and random data can serve many purposes. From simple commands to fairly complex processes, the question “How random is random?” is worth asking.<br>
EZ random numbers<br>
If all you need is a casual list of random numbers, the RANDOM variable is an easy choice. Type "echo $RANDOM" and you'll get a number between 0 and 32,767 (the largest number that two bytes can hold).</p>
</blockquote>

<ul>
<li>Note: this only works in bash, and is generally a silly thing to do</li>
</ul>

<blockquote>
<p>Of course, this process is actually providing a "pseudo-random" number. As anyone who thinks about random numbers very often might tell you, numbers generated by a program have a limitation. Programs follow carefully crafted steps, and those steps aren’t even close to being truly random. You can increase the randomness of RANDOM's value by seeding it (i.e., setting the variable to some initial value). Some just use the current process ID (via $$) for that. Note that for any particular starting point, the subsequent values that $RANDOM provides are quite predictable.</p>
</blockquote>

<ul>
<li>More complex random data</li>
</ul>

<blockquote>
<p>For more serious requirements for random data, such as its use in encryption, some more truly random data comes into play. The /dev/random and /dev/urandom files get beyond the predictability of programming by making use of environmental noise gathered from device drivers and other system sources and stored it in an “entropy pool”.</p>
</blockquote>

<ul>
<li>Examining entropy</li>
<li>Randomness vs. entropy</li>
<li>Generating files with random data</li>
<li>Generating random numbers</li>
<li>Beyond /dev/urandom
***</li>
</ul>

<h3><a href="http://lists.dragonflybsd.org/pipermail/kernel/2017-July/239413.html" target="_blank" rel="nofollow noopener">Moving firmware to userland</a></h3>

<ul>
<li>This is a post from the DragonFlyBSD mailinglist:</li>
</ul>

<blockquote>
<p>I would like to introduce a few ideas about the new firmware subsystem.  I assume that it should not require adding a new system tools or modifying boot process.<br>
Simplification is the first. It would be good to remove parent-child relationship and corresponding functionality. It would significantly simplify firmware handling. Its only practical use is when there are multiple images in one loadable kernel module. The module can be  unloaded when all children are not in use. Usage of the children images is tracked through the counter for the parent image. If images will not be placed inside loadable kernel modules, the parent-child mechanism won't have any practical meaning. I think, currently the mechanism is not used anywhere in the DragonFly system and if it was, it could be easily replaced by putting every child image in its own module without modifying drivers.<br>
There are two use cases according to who will provide firmware images to <br>
the system:</p>

<ul>
<li>developers of DragonFly BSD (they can modify and rebuild the system)</li>
<li>third-parties (they should not be required to modify and rebuild the system)</li>
</ul>

<p>All firmware images needs to have some information attached (at least, <br>
if ack with a license is needed) which should be d) stored persistently.<br>
The question is where to save the information for non-built-in images. </p>
</blockquote>

<ul>
<li>Various solutions are proposed that meet some -- but not all -- of the mentioned requirements, along with pros and cons.</li>
<li>It closes with:</li>
</ul>

<blockquote>
<p>There would be two firmware sources: kernel and filesystem. In case of the same image names, user could have a choice by setting a kernel environment variable, firmware from which source has higher priority and will be provided to consumer.</p>

<hr>
</blockquote>

<h3><a href="https://www.tedunangst.com/flak/post/openbsd-changes-of-note-625" target="_blank" rel="nofollow noopener">OpenBSD changes of note 625</a></h3>

<ul>
<li>Continue with some cleanup and improvement of the depend step of building. Lots of little things to support lex and yacc better as well.</li>
<li>Intel Optane parts are leaking into the wild, some driver fixes to support them.</li>
<li>Add support for pattern substitution to variables in ksh using a common syntax borrowed from ksh93. Or not, reverted.</li>
<li>Deprecate fgetln.</li>
<li>Add detection for missing X sets to syspatch.</li>
<li>Refinement of the inteldrm code, including better backlight support.</li>
<li>A special edition of slaacd for the installer.</li>
<li>After much wailing and gnashing of teeth, fix strtol to parse strings like “0xridiculous”.</li>
<li>A fix for malloc and zero sized allocations when using canaries.</li>
<li>Add the ability to pause and unpause VMs in vmd.</li>
<li>Remove “listen secure” syntax from smtpd.conf. It’s broken since a couple of months and noone complained.</li>
<li>Remove sending of router solicitations and processing of router advertisements from the kernel.</li>
<li>The lidsuspend sysctl has been fully replaced by lidaction.</li>
<li>Fix fortune to filter out unprintable characters. Convert the fortune files to using UTF-8 instead of archaic overprinting. Fortunes with unprintable words may still be obtained with the -o option.</li>
<li>Introduce some quirks to the IDE and ATA code to prevent drives from attaching twice on hyper-v.</li>
<li>Add vmctl send and receive as well.</li>
<li>Update to xterm 330.</li>
<li>Remove some magic cleanup from dhclient. It will not deliberately attempt to interfere with other operations on the same interface.</li>
<li>Update libexpat to 2.2.2. Fixes NULL parser dereference.</li>
<li>Ilja Van Sprundel found a whole mess of kernel bugs in this and that. Some info leaks, some erroneous signal handling, some unbounded malloc calls. Lions, tigers, bears. Try to fix them.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://lud.cc/programming/man-hier/" target="_blank" rel="nofollow noopener">Heir - description of the file system hierarchy</a></li>
<li><a href="https://www.freebsd.org/cgi/man.cgi?query=hier&amp;format=html" target="_blank" rel="nofollow noopener">FreeBSD hier(7)</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2017-July/626020.html" target="_blank" rel="nofollow noopener">sshlockout and your logs</a></li>
<li><a href="https://svnweb.freebsd.org/ports?view=revision&amp;revision=446144" target="_blank" rel="nofollow noopener">net-mgmt/netdata can now monitor ZFS pools</a></li>
<li><a href="https://www.tedunangst.com/flak/post/books-chapter-five" target="_blank" rel="nofollow noopener">Ted Unangst is reviewing some books, chapter by chapter. “Coders at Work”, “Founders at Work”, “the Mythical Man-Month”, “The Pragmatic Programmer”, and “Code: The Hidden Language of Computer Hardware and Software”. This is chapter 5, look for the bookreview tag on the site to find the previous ones</a></li>
<li><a href="https://www.netgate.com/blog/pfsense-2-3-4-p1-release-now-available.html" target="_blank" rel="nofollow noopener">pfSense 2.3.4-p1 release now available</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/0V84RN7" target="_blank" rel="nofollow noopener">Ben - Thanks</a></li>
<li><a href="http://dpaste.com/3KRWRS0" target="_blank" rel="nofollow noopener">Jay - ZFS and Speed</a></li>
<li><a href="http://dpaste.com/0M9STNX" target="_blank" rel="nofollow noopener">Patrick - Portalfs removed?</a></li>
<li><a href="http://dpaste.com/2H0Y3R5" target="_blank" rel="nofollow noopener">Sir l33tname - ZFS pool question</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>205: FreeBSD Turning it up to 11.1</title>
  <link>https://www.bsdnow.tv/205</link>
  <guid isPermaLink="false">6923958e-7e04-4d74-9642-e10ec45fa15c</guid>
  <pubDate>Wed, 02 Aug 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/6923958e-7e04-4d74-9642-e10ec45fa15c.mp3" length="53017780" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 11.1-RELEASE is out, we look at building at BSD home router, how to be your own OpenBSD VPN provider, and find that glob matching can be simple and fast.</itunes:subtitle>
  <itunes:duration>1:13:38</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>&lt;p&gt;FreeBSD 11.1-RELEASE is out, we look at building at BSD home router, how to be your own OpenBSD VPN provider, and find that glob matching can be simple and fast.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/releases/11.1R/relnotes.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.1-RELEASE&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/releases/11.1R/announce.asc" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.1 was released on July 26th&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;You can download it as an ISO or USB image, a prebuilt VM Image (vmdk, vhd, qcow2, or raw), and it is available as a cloud image (Amazon EC2, Microsoft Azure, Google Compute Engine, Vagrant)&lt;/li&gt;
&lt;li&gt;Thanks to everyone, including the release engineering team who put so much time and effort into managing this release and making sure it came out on schedule, all of the FreeBSD developers who contributed the features, the companies that sponsored that development, and the users who tested the betas and release candidates.&lt;/li&gt;
&lt;li&gt;Support for blacklistd(8) has been added to OpenSSH&lt;/li&gt;
&lt;li&gt;The cron(8) utility has been updated to add support for including files within /etc/cron.d and /usr/local/etc/cron.d by default.&lt;/li&gt;
&lt;li&gt;The syslogd(8) utility has been updated to add the include keyword which allows specifying     a directory containing configuration files to be included in addition to syslog.conf(5). The default     syslog.conf(5) has been updated to include /etc/syslog.d and /usr/local/etc/syslog.d by default.&lt;/li&gt;
&lt;li&gt;The zfsbootcfg(8) utility has been added, providing one-time boot.config(5)-style options&lt;/li&gt;
&lt;li&gt;The efivar(8) utility has been added, providing an interface to manage UEFI variables.&lt;/li&gt;
&lt;li&gt;The ipsec and tcpmd5 kernel modules have been added, these can now be loaded without having to recompile the kernel&lt;/li&gt;
&lt;li&gt;A number of new IPFW modules including Network Prefix Translation for IPv6 as defined in RFC 6296, stateless and stateful NAT64, and a module to modify the TCP-MSS of packets&lt;/li&gt;
&lt;li&gt;A huge array of driver updates and additions&lt;/li&gt;
&lt;li&gt;The NFS client now supports the Amazon® Elastic File System™ (EFS)&lt;/li&gt;
&lt;li&gt;The new ZFS Compressed ARC feature was added, and is enabled by default&lt;/li&gt;
&lt;li&gt;The EFI loader has been updated to support TFTPFS, providing netboot support without requiring an NFS server&lt;/li&gt;
&lt;li&gt;For a complete list of new features and known problems, please see the online release notes and errata list, available at:

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/releases/11.1R/relnotes.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.1-RELEASE Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/releases/11.1R/errata.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.1-RELEASE Errata&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;For more information about FreeBSD release engineering activities, please see: &lt;a href="https://www.freebsd.org/releng/" target="_blank" rel="nofollow noopener"&gt;Release Engineering Information&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Availability

&lt;ul&gt;
&lt;li&gt;FreeBSD 11.1-RELEASE is now available for the amd64, i386, powerpc, powerpc64, sparc64, armv6, and aarch64 architectures.&lt;/li&gt;
&lt;li&gt;FreeBSD 11.1-RELEASE can be installed from bootable ISO images or over the network. Some architectures also support installing from a USB memory stick. The required files can be downloaded as described in the section below.&lt;/li&gt;
&lt;li&gt;SHA512 and SHA256 hashes for the release ISO, memory stick, and SD card images are included at the bottom of this message.&lt;/li&gt;
&lt;li&gt;PGP-signed checksums for the release images are also available at: &lt;a href="https://www.freebsd.org/releases/11.1R/signatures.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.1 Release Checksum Signatures&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A PGP-signed version of this announcement is available at: &lt;a href="https://www.FreeBSD.org/releases/11.1R/announce.asc" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.1-RELEASE Announcement&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://eerielinux.wordpress.com/2017/07/15/building-a-bsd-home-router-pt-8-zfs-and-jails/" target="_blank" rel="nofollow noopener"&gt;Building a BSD home router  - ZFS and Jails&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Part of a series of posts about building a router:

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://eerielinux.wordpress.com/2017/05/30/building-a-bsd-home-router-pt-1-hardware-pc-engines-apu2/" target="_blank" rel="nofollow noopener"&gt;Part 1&lt;/a&gt; -- discussing why you want to build your own router and how to assemble the APU2&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eerielinux.wordpress.com/2017/06/03/building-a-bsd-home-router-pt-2-the-serial-console-excursion" target="_blank" rel="nofollow noopener"&gt;Part 2&lt;/a&gt; -- some Unix history explanation of what a serial console is&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eerielinux.wordpress.com/2017/06/10/building-a-bsd-home-router-pt-3-serial-access-and-flashing-the-firmware/" target="_blank" rel="nofollow noopener"&gt;Part 3&lt;/a&gt; -- demonstrating serial access to the APU and covering firmware update&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eerielinux.wordpress.com/2017/06/15/building-a-bsd-home-router-pt-4-installing-pfsense/" target="_blank" rel="nofollow noopener"&gt;Part 4&lt;/a&gt; -- installing pfSense&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eerielinux.wordpress.com/2017/06/20/building-a-bsd-home-router-pt-5-installing-opnsense/" target="_blank" rel="nofollow noopener"&gt;Part 5&lt;/a&gt; -- installing OPNsense instead&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eerielinux.wordpress.com/2017/06/30/building-a-bsd-home-router-pt-7-advanced-opnsense-setup/" target="_blank" rel="nofollow noopener"&gt;Part 6&lt;/a&gt; -- Comparison of pfSense and OPNsense&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eerielinux.wordpress.com/2017/06/30/building-a-bsd-home-router-pt-7-advanced-opnsense-installation/" target="_blank" rel="nofollow noopener"&gt;Part 7&lt;/a&gt; -- Advanced installation of OPNsense&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;After the advanced installation in part 7, the tutorials covers converting an unused partition into swap space, and converting the system to ZFS&lt;/li&gt;
&lt;li&gt;After creating a new pool using the set aside partition, some datasets are created, and the log files, ports, and obj ZFS datasets are mounted&lt;/li&gt;
&lt;li&gt;The tutorial then goes on to cover how to download the ports tree, and install additional software on the router&lt;/li&gt;
&lt;li&gt;I wonder what part 9 will be about.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://networkfilter.blogspot.com/2017/04/be-your-own-vpn-provider-with-openbsd-v2.htm" target="_blank" rel="nofollow noopener"&gt;Be your own VPN provider with OpenBSD (v2)&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This article covers how to build your own VPN server with some advanced features including:

&lt;ul&gt;
&lt;li&gt;Full Disk Encryption (FDE)&lt;/li&gt;
&lt;li&gt;Separate CA/signing machine (optional)&lt;/li&gt;
&lt;li&gt;Multiple DNSCrypt proxy instances for failover&lt;/li&gt;
&lt;li&gt;OpenVPN: Certificate Revocation List/CRL (optional)&lt;/li&gt;
&lt;li&gt;OpenVPN: TLS 1.2 only&lt;/li&gt;
&lt;li&gt;OpenVPN: TLS cipher based on AES-256-GCM only&lt;/li&gt;
&lt;li&gt;OpenVPN: HMAC-SHA512 instead of HMAC-SHA1&lt;/li&gt;
&lt;li&gt;OpenVPN: TLS encryption of control channel (makes it harder to identify OpenVPN traffic)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;The article starts with an explanation of the differences between OpenVPN and IPSEC.&lt;/li&gt;
&lt;li&gt;In the end the author chose OpenVPN because you can select the port it runs on, and it has a better chance of working from hotel or coffee shop WiFi.&lt;/li&gt;
&lt;li&gt;The guide them walks through doing an installation on an encrypted disk, with a caution about the limitations of encrypted disk with virtual machines hosted by other parties.&lt;/li&gt;
&lt;li&gt;The guide then locks down the newly installed system, configuring SSH for keys only, adding some PF rules, and configuring doas&lt;/li&gt;
&lt;li&gt;Then networking is configured, including enabling IP forwarding since this machine is going to act as the VPN gateway&lt;/li&gt;
&lt;li&gt;Then a large set of firewall rules are created that NAT the VPN traffic out of the gateway, except for DNS requests that are redirected to the gateways local unbound&lt;/li&gt;
&lt;li&gt;Then some python scripts are provided to block brute force attempts&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We will use DNSCrypt to make our DNS requests encrypted, and Unbound to have a local DNS cache. This will allow us to avoid using our VPS provider DNS servers, and will also be useful to your future VPN clients which will be able to use your VPN server as their DNS server too&lt;br&gt;
Before configuring Unbound, which is the local DNS cache which will make requests to dnscrypt_proxy, we can configure an additional dnscrypt instance, as explained in the pkg readme. Indeed, dnscrypt DNS servers being public ones, they often goes into maintenance, become offline or temporarily unreachable. To address this issue, it is possible to setup multiple dnscrypt instances. Below are the steps to follow to add one, but you can add more if you wish&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Then a CA and Certificate are created for OpenVPN&lt;/li&gt;
&lt;li&gt;OpenVPN is installed and configured as a server&lt;/li&gt;
&lt;li&gt;Configuration is also provided for a client, and a mobile client&lt;/li&gt;
&lt;li&gt;Thanks to the author for this great tutorial&lt;/li&gt;
&lt;li&gt;You might also want to check out this section from their 2015 version of this post: &lt;a href="https://networkfilter.blogspot.nl/2015/01/be-your-own-vpn-provider-with-openbsd.html#security_anonymity" target="_blank" rel="nofollow noopener"&gt;Security vs Anonymity&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/2017-essen-hackathon-trip-report-benedict-reuschling/" target="_blank" rel="nofollow noopener"&gt;Essen Hackathon Trip - Benedict Reuschling&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Over on the FreeBSD Foundation Blog, Benedict provides a detailed overview of the Essen Hackathon we were at a few weeks ago.&lt;/li&gt;
&lt;li&gt;Head over there and give it a read, and get a feel for what these smaller type of community events are like. Hopefully you can attend, or better yet, organize, a similar event in your area.&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://reykfloeter.com/posts/blog-about-my-blog" target="_blank" rel="nofollow noopener"&gt;Blog about my self-hosted httpd blog&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I really like Twitter because it allows me to share short messages, we have a great community, and 140 characters are enough for everybody.&lt;br&gt;
And this statement was exactly 140 characters, but sometimes I want to say more than that. And that's why I finally created this new blog. I was never really into blogging because I barely had time or the audience to write long articles. I sometimes wrote short stories for sites like undeadly.org, I collected some of them here, but my own blog was hosted on tumblr and never saw any activity.&lt;br&gt;
I want to try it again, and this time I decided to create a self-hosted blog. Something that runs on my own server and with httpd, the web server that I wrote for OpenBSD. So I was looking for potential blogging tools that I could use to run my own blog. Besides the popular and heavyweight ones such as WordPress, there are countless other options: I looked at blogs from fellow developers, such as Ted Unangst's flak (I like the fact that it is written in Lua but the implementation is a bit over my head), or Pelican that is used by Peter Hessler for bad.network (but, sorry, I don't like Python), and finally Kristaps Dzonsons' sblg that is used for all of his projects and blogs. I decided to use sblg.&lt;br&gt;
Kristaps keeps on releasing very useful free software. Most well-known is mandoc, at least everyone is using it for manpages these days, but there is is also his BCHS (beaches) web stack which strongly advertises OpenBSD's httpd. Great. I also use kcgi whenever I have to write small CGIs. So sblg seemed like the right choice to me.&lt;br&gt;
Let me quickly iterate over my current Makefile. I keep on tweaking this file, so it might have been changed by the time you are reading this article. Please note that the Makefile is written for OpenBSD's make, a distant derivative of pmake which is not like GNU make.&lt;br&gt;
I'm not a designer or web developer, but I appreciate good looking web pages. I wanted to have something that is responsive, works on desktops and mobiles, looks somewhat modern, works without JavaScript, but doesn't disqualify me for all the eye candy from a geek point of view.&lt;br&gt;
I bootstrapped the theme by creating a simple grid layout with a fairly typical blog style: banner, top menu, middle text, sidebar. In 2017, bootstrap is probably a vintage (or retro) framework but it makes it very easy to create responsive pages with a proper layout and without caring about all the CSS and HTML5 madness too much. I also use Font Awesome because it is awesome, provides some fancy icons, and was suggested in sblg's example templates (let's blame Kristaps for it). I do not include any JavaScript which prevents me from using bootstrap's responsive hamburger menu.&lt;br&gt;
I have to admit that "reykfloeter" is not an ideal name for a blog. My actual name is "Reyk Flöter", and I normally just use my first name "reyk" as a user- and nickname, but it was taken when I registered my Twitter account and the related domain. So I picked reykfloeter in a few places.&lt;br&gt;
I'm aware that my German last name is nearly unpronounceable for others, so "reykfloeter" appears like a random concatenation of letters. As most of us, I own a number of domains and maybe I should move the blog to bsd.plumbing (which is used as a home for relayd and httpd), arc4random.com (but I intended to use it as a fine OpenBSD-powered Entropy-as-a-Service for poor Linuxers), or even copper.coffee?&lt;br&gt;
In addition to the domain, I also need a good blog name or tag line. A very memorable example in the BSD world is Peter Hansteen's THAT GRUMPY BSD GUY blog. So what should I use?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Reyk Flöter's blog

&lt;ul&gt;
&lt;li&gt;OpenBSD hacker. Coffee nerd. Founder.&lt;/li&gt;
&lt;li&gt;Ask Reyk (imaginary how-tos and 10 step guides)&lt;/li&gt;
&lt;li&gt;[Sewage, Drainage and BSD Plumbing](bsd.plumbing/blog)&lt;/li&gt;
&lt;li&gt;[A Replacement Call for Random](arc4random.com)&lt;/li&gt;
&lt;li&gt;[Coffee with Reyk](copper.coffee)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For now it will just be reykfloeter - blog&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/serverenvy-truenas-x10/" target="_blank" rel="nofollow noopener"&gt;iXsystems releases the X10&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt; TrueNAS X10 is the the 3rd generation of the TrueNAS unified storage line. The X10 is the first of a new TrueNAS series, and will be expandable to up to 360TB with the TrueNAS ES12 expansion shelf.&lt;/li&gt;
&lt;li&gt;The X10 is cost effective, at a 30% lower price point than the Z20, making it an effective addition to your backup/DR infrastructure. The street price of a 20TB non-HA model falls under $10K. It’s designed to move with six predefined configurations that match common use cases. The dual controllers for high availability are an optional upgrade to ensure business continuity and avoid downtime.&lt;/li&gt;
&lt;li&gt;The X10 boasts 36 hot swap SAS using two expansion shelves, for up to 360TB of storage, allowing you to backup thousands of VMs or share tens of thousands of files. One of the use cases for TrueNAS X10 is for backup, so users can upgrade the X10 to two ports of blazing 10GigE connectivity. The 20TB non-HA model enables you to backup over 7,000 VDI VMs for under $3.00 per VM. Overall, the X10 is a greener solution than the TrueNAS Z product line, with the non-HA version boasting only 138 watts of power and taking up only 2U of space.&lt;/li&gt;
&lt;li&gt;Best of all, the TrueNAS X10 starts at $5,500 street. You can purchase a 120TB configuration today for under $20K street.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://research.swtch.com/glob" target="_blank" rel="nofollow noopener"&gt;Glob Matching Can Be Simple And Fast Too&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Here’s a straightforward benchmark. Time how long it takes to run ls (a*)nb in a directory with a single file named a100, compared to running ls | grep (a.*)nb. Superscripts denote string repetition and parentheses are for grouping only, so that when n is 3, we’re running ls a*a*a*b in a directory containing the single file aaa…aaa (100 a’s), compared against ls | grep a.*a.*a.*b in the same directory.&lt;br&gt;
The exception seems to be the original Berkeley csh, which runs in linear time (more precisely, time linear in n). Looking at the source code, it doesn’t attempt to perform glob expansion itself. Instead it calls the C library implementation glob(3), which runs in linear time, at least on this Linux system. So maybe we should look at programming language implementations too.&lt;br&gt;
Most programming languages provide some kind of glob expansion, like C’s glob. Let’s repeat the experiment in a variety of different programming languages:&lt;br&gt;
Perhaps the most interesting fact evident in the graph is that GNU glibc, the C library used on Linux systems, has a linear-time glob implementation, but BSD libc, the C library used on BSD and macOS systems, has an exponential-time implementation.&lt;br&gt;
PHP is not shown in the graph, because its glob function simply invokes the host C library’s glob(3), so that it runs in linear time on Linux and in exponential time on non-Linux systems. (I have not tested what happens on Windows.) All the languages shown in the graph, however, implement glob matching without using the host C library, so the results should not vary by host operating system.&lt;br&gt;
The netkit ftpd runs quickly on Linux because it relies on the host C library’s glob function. If run on BSD, the netkit ftpd would take exponential time. ProFTPD ships a copy of the glibc glob, so it should run quickly even on BSD systems. Ironically, Pure-FTPd and tnftpd take exponential time on Linux because they ship a copy of the BSD glob function. Presumably they do this to avoid assuming that the host C library is bug-free, but, at least in this one case, the host C library is better than the one they ship.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Additional Reading&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This post is an elaboration of an informal 2012 Google+ post showing that most shells used exponential-time glob expansion. At the time, Tom Duff, the author of Plan 9’s rc shell, commented that, “I can confirm that rc gets it wrong. My excuse, feeble as it is, is that doing it that way meant that the code took 10 minutes to write, but it took 20 years for someone to notice the problem. (That’s 10 ‘programmer minutes’, i.e. less than a day.)” I agree that’s a reasonable decision for a shell. In contrast, a language library routine, not to mention a network server, today needs to be robust against worst-case inputs that might be controlled by remote attackers, but nearly all of the code in question predates that kind of concern. I didn’t realize the connection to FTP servers until I started doing additional research for this post and came across a reference to CVE-2010-2632 in FreeBSD’s glob implementation.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://torbsd.github.io/blog.html#bsd-vps" target="_blank" rel="nofollow noopener"&gt;BSD VPS Providers Needed&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;One of TDP’s recent projects is accumulating a list of virtual private server services (VPS) that provide a BSD option.&lt;br&gt;
VPS’s are generally inexpensive services that enable the user to only concern themselves with software configuration, and not be bothered with hardware or basic operating system setup. In the pre-Cloud era, VPS providers were the “other people’s computers” that users outsourced their systems to.&lt;br&gt;
The same shortcomings of cloud services apply to VPS providers. You don’t control the hardware. Your files are likely viewable by users up the directory hierarchy. The entropy source or pool is a single source for multiple systems. The same time drift applies to all time-keeping services.&lt;br&gt;
Nevertheless, VPS services are often cheap and provide a good spread in terms of geography. All a provider really needs is a few server-grade computers and a decent network connection. VPS’s are still a gateway drug to bare-metal servers, although it seems more and more of these gateway users stop at stage one.&lt;br&gt;
Cheap systems with a public IP are also a great way to tinker with a new operating system.&lt;br&gt;
For this reason, TDP created this list of BSD VPS providers. Some explicitly deny running Tor as a server. Some just reference vague “proxy services.” Others don’t mention Tor or proxies at all.&lt;br&gt;
The list is a start with currently just under 70 VPS providers listed. Input through various channels already started, and TDP intends to update the list over the coming months. A first draft email and open letter addressed to the providers were drafted, and we are looking to speak directly to at least some of the better-known BSD VPS providers.&lt;br&gt;
We may be able to convince a few to allow public Tor relays, or at least published bridges. These providers could be new BSD users’ gateway drug into the world of BSD Tor nodes. Running a Tor relay shouldn’t be considered a particularly risky activity. Maybe we can adjust that perception.&lt;br&gt;
Let us know any input via email or GitHub, and we’ll be glad to make updates.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.cagedmonster.net/avoid-os-detection-openbsd/" target="_blank" rel="nofollow noopener"&gt;Avoid OS Detection with OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.trueos.org/blog/update-fix-updating/" target="_blank" rel="nofollow noopener"&gt;TrueOS update to fix updating&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=I08__ZWaJ0w" target="_blank" rel="nofollow noopener"&gt;MidnightBSD 0.8.5 VirtualBox Install&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://calagator.org/events/tag/BSD" target="_blank" rel="nofollow noopener"&gt;BSD Pizza Night in Portland&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Andrew - &lt;a href="http://dpaste.com/08E90PX" target="_blank" rel="nofollow noopener"&gt;BSDCan videos?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Marc - &lt;a href="http://dpaste.com/08KE40G" target="_blank" rel="nofollow noopener"&gt;The Rock64 Board&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Jason - &lt;a href="http://dpaste.com/2EP7BFC" target="_blank" rel="nofollow noopener"&gt;Follow up on UEFI and Bhyve&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Patrick - &lt;a href="http://dpaste.com/34Z9SFM" target="_blank" rel="nofollow noopener"&gt;EFI booting&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 11.1-RELEASE is out, we look at building at BSD home router, how to be your own OpenBSD VPN provider, and find that glob matching can be simple and fast.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/11.1R/relnotes.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-RELEASE</a></h3>

<ul>
<li><a href="https://www.freebsd.org/releases/11.1R/announce.asc" target="_blank" rel="nofollow noopener">FreeBSD 11.1 was released on July 26th</a></li>
<li>You can download it as an ISO or USB image, a prebuilt VM Image (vmdk, vhd, qcow2, or raw), and it is available as a cloud image (Amazon EC2, Microsoft Azure, Google Compute Engine, Vagrant)</li>
<li>Thanks to everyone, including the release engineering team who put so much time and effort into managing this release and making sure it came out on schedule, all of the FreeBSD developers who contributed the features, the companies that sponsored that development, and the users who tested the betas and release candidates.</li>
<li>Support for blacklistd(8) has been added to OpenSSH</li>
<li>The cron(8) utility has been updated to add support for including files within /etc/cron.d and /usr/local/etc/cron.d by default.</li>
<li>The syslogd(8) utility has been updated to add the include keyword which allows specifying     a directory containing configuration files to be included in addition to syslog.conf(5). The default     syslog.conf(5) has been updated to include /etc/syslog.d and /usr/local/etc/syslog.d by default.</li>
<li>The zfsbootcfg(8) utility has been added, providing one-time boot.config(5)-style options</li>
<li>The efivar(8) utility has been added, providing an interface to manage UEFI variables.</li>
<li>The ipsec and tcpmd5 kernel modules have been added, these can now be loaded without having to recompile the kernel</li>
<li>A number of new IPFW modules including Network Prefix Translation for IPv6 as defined in RFC 6296, stateless and stateful NAT64, and a module to modify the TCP-MSS of packets</li>
<li>A huge array of driver updates and additions</li>
<li>The NFS client now supports the Amazon® Elastic File System™ (EFS)</li>
<li>The new ZFS Compressed ARC feature was added, and is enabled by default</li>
<li>The EFI loader has been updated to support TFTPFS, providing netboot support without requiring an NFS server</li>
<li>For a complete list of new features and known problems, please see the online release notes and errata list, available at:

<ul>
<li><a href="https://www.freebsd.org/releases/11.1R/relnotes.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-RELEASE Release Notes</a></li>
<li><a href="https://www.freebsd.org/releases/11.1R/errata.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-RELEASE Errata</a></li>
<li>For more information about FreeBSD release engineering activities, please see: <a href="https://www.freebsd.org/releng/" target="_blank" rel="nofollow noopener">Release Engineering Information</a></li>
</ul></li>
<li>Availability

<ul>
<li>FreeBSD 11.1-RELEASE is now available for the amd64, i386, powerpc, powerpc64, sparc64, armv6, and aarch64 architectures.</li>
<li>FreeBSD 11.1-RELEASE can be installed from bootable ISO images or over the network. Some architectures also support installing from a USB memory stick. The required files can be downloaded as described in the section below.</li>
<li>SHA512 and SHA256 hashes for the release ISO, memory stick, and SD card images are included at the bottom of this message.</li>
<li>PGP-signed checksums for the release images are also available at: <a href="https://www.freebsd.org/releases/11.1R/signatures.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1 Release Checksum Signatures</a></li>
<li>A PGP-signed version of this announcement is available at: <a href="https://www.FreeBSD.org/releases/11.1R/announce.asc" target="_blank" rel="nofollow noopener">FreeBSD 11.1-RELEASE Announcement</a>
***</li>
</ul></li>
</ul>

<h3><a href="https://eerielinux.wordpress.com/2017/07/15/building-a-bsd-home-router-pt-8-zfs-and-jails/" target="_blank" rel="nofollow noopener">Building a BSD home router  - ZFS and Jails</a></h3>

<ul>
<li>Part of a series of posts about building a router:

<ul>
<li><a href="https://eerielinux.wordpress.com/2017/05/30/building-a-bsd-home-router-pt-1-hardware-pc-engines-apu2/" target="_blank" rel="nofollow noopener">Part 1</a> -- discussing why you want to build your own router and how to assemble the APU2</li>
<li><a href="https://eerielinux.wordpress.com/2017/06/03/building-a-bsd-home-router-pt-2-the-serial-console-excursion" target="_blank" rel="nofollow noopener">Part 2</a> -- some Unix history explanation of what a serial console is</li>
<li><a href="https://eerielinux.wordpress.com/2017/06/10/building-a-bsd-home-router-pt-3-serial-access-and-flashing-the-firmware/" target="_blank" rel="nofollow noopener">Part 3</a> -- demonstrating serial access to the APU and covering firmware update</li>
<li><a href="https://eerielinux.wordpress.com/2017/06/15/building-a-bsd-home-router-pt-4-installing-pfsense/" target="_blank" rel="nofollow noopener">Part 4</a> -- installing pfSense</li>
<li><a href="https://eerielinux.wordpress.com/2017/06/20/building-a-bsd-home-router-pt-5-installing-opnsense/" target="_blank" rel="nofollow noopener">Part 5</a> -- installing OPNsense instead</li>
<li><a href="https://eerielinux.wordpress.com/2017/06/30/building-a-bsd-home-router-pt-7-advanced-opnsense-setup/" target="_blank" rel="nofollow noopener">Part 6</a> -- Comparison of pfSense and OPNsense</li>
<li><a href="https://eerielinux.wordpress.com/2017/06/30/building-a-bsd-home-router-pt-7-advanced-opnsense-installation/" target="_blank" rel="nofollow noopener">Part 7</a> -- Advanced installation of OPNsense</li>
</ul></li>
<li>After the advanced installation in part 7, the tutorials covers converting an unused partition into swap space, and converting the system to ZFS</li>
<li>After creating a new pool using the set aside partition, some datasets are created, and the log files, ports, and obj ZFS datasets are mounted</li>
<li>The tutorial then goes on to cover how to download the ports tree, and install additional software on the router</li>
<li>I wonder what part 9 will be about.
***</li>
</ul>

<h3><a href="https://networkfilter.blogspot.com/2017/04/be-your-own-vpn-provider-with-openbsd-v2.htm" target="_blank" rel="nofollow noopener">Be your own VPN provider with OpenBSD (v2)</a></h3>

<ul>
<li>This article covers how to build your own VPN server with some advanced features including:

<ul>
<li>Full Disk Encryption (FDE)</li>
<li>Separate CA/signing machine (optional)</li>
<li>Multiple DNSCrypt proxy instances for failover</li>
<li>OpenVPN: Certificate Revocation List/CRL (optional)</li>
<li>OpenVPN: TLS 1.2 only</li>
<li>OpenVPN: TLS cipher based on AES-256-GCM only</li>
<li>OpenVPN: HMAC-SHA512 instead of HMAC-SHA1</li>
<li>OpenVPN: TLS encryption of control channel (makes it harder to identify OpenVPN traffic)</li>
</ul></li>
<li>The article starts with an explanation of the differences between OpenVPN and IPSEC.</li>
<li>In the end the author chose OpenVPN because you can select the port it runs on, and it has a better chance of working from hotel or coffee shop WiFi.</li>
<li>The guide them walks through doing an installation on an encrypted disk, with a caution about the limitations of encrypted disk with virtual machines hosted by other parties.</li>
<li>The guide then locks down the newly installed system, configuring SSH for keys only, adding some PF rules, and configuring doas</li>
<li>Then networking is configured, including enabling IP forwarding since this machine is going to act as the VPN gateway</li>
<li>Then a large set of firewall rules are created that NAT the VPN traffic out of the gateway, except for DNS requests that are redirected to the gateways local unbound</li>
<li>Then some python scripts are provided to block brute force attempts</li>
</ul>

<blockquote>
<p>We will use DNSCrypt to make our DNS requests encrypted, and Unbound to have a local DNS cache. This will allow us to avoid using our VPS provider DNS servers, and will also be useful to your future VPN clients which will be able to use your VPN server as their DNS server too<br>
Before configuring Unbound, which is the local DNS cache which will make requests to dnscrypt_proxy, we can configure an additional dnscrypt instance, as explained in the pkg readme. Indeed, dnscrypt DNS servers being public ones, they often goes into maintenance, become offline or temporarily unreachable. To address this issue, it is possible to setup multiple dnscrypt instances. Below are the steps to follow to add one, but you can add more if you wish</p>
</blockquote>

<ul>
<li>Then a CA and Certificate are created for OpenVPN</li>
<li>OpenVPN is installed and configured as a server</li>
<li>Configuration is also provided for a client, and a mobile client</li>
<li>Thanks to the author for this great tutorial</li>
<li>You might also want to check out this section from their 2015 version of this post: <a href="https://networkfilter.blogspot.nl/2015/01/be-your-own-vpn-provider-with-openbsd.html#security_anonymity" target="_blank" rel="nofollow noopener">Security vs Anonymity</a>
***</li>
</ul>

<h3><a href="https://www.freebsdfoundation.org/blog/2017-essen-hackathon-trip-report-benedict-reuschling/" target="_blank" rel="nofollow noopener">Essen Hackathon Trip - Benedict Reuschling</a></h3>

<ul>
<li>Over on the FreeBSD Foundation Blog, Benedict provides a detailed overview of the Essen Hackathon we were at a few weeks ago.</li>
<li>Head over there and give it a read, and get a feel for what these smaller type of community events are like. Hopefully you can attend, or better yet, organize, a similar event in your area.</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://reykfloeter.com/posts/blog-about-my-blog" target="_blank" rel="nofollow noopener">Blog about my self-hosted httpd blog</a></h3>

<blockquote>
<p>I really like Twitter because it allows me to share short messages, we have a great community, and 140 characters are enough for everybody.<br>
And this statement was exactly 140 characters, but sometimes I want to say more than that. And that's why I finally created this new blog. I was never really into blogging because I barely had time or the audience to write long articles. I sometimes wrote short stories for sites like undeadly.org, I collected some of them here, but my own blog was hosted on tumblr and never saw any activity.<br>
I want to try it again, and this time I decided to create a self-hosted blog. Something that runs on my own server and with httpd, the web server that I wrote for OpenBSD. So I was looking for potential blogging tools that I could use to run my own blog. Besides the popular and heavyweight ones such as WordPress, there are countless other options: I looked at blogs from fellow developers, such as Ted Unangst's flak (I like the fact that it is written in Lua but the implementation is a bit over my head), or Pelican that is used by Peter Hessler for bad.network (but, sorry, I don't like Python), and finally Kristaps Dzonsons' sblg that is used for all of his projects and blogs. I decided to use sblg.<br>
Kristaps keeps on releasing very useful free software. Most well-known is mandoc, at least everyone is using it for manpages these days, but there is is also his BCHS (beaches) web stack which strongly advertises OpenBSD's httpd. Great. I also use kcgi whenever I have to write small CGIs. So sblg seemed like the right choice to me.<br>
Let me quickly iterate over my current Makefile. I keep on tweaking this file, so it might have been changed by the time you are reading this article. Please note that the Makefile is written for OpenBSD's make, a distant derivative of pmake which is not like GNU make.<br>
I'm not a designer or web developer, but I appreciate good looking web pages. I wanted to have something that is responsive, works on desktops and mobiles, looks somewhat modern, works without JavaScript, but doesn't disqualify me for all the eye candy from a geek point of view.<br>
I bootstrapped the theme by creating a simple grid layout with a fairly typical blog style: banner, top menu, middle text, sidebar. In 2017, bootstrap is probably a vintage (or retro) framework but it makes it very easy to create responsive pages with a proper layout and without caring about all the CSS and HTML5 madness too much. I also use Font Awesome because it is awesome, provides some fancy icons, and was suggested in sblg's example templates (let's blame Kristaps for it). I do not include any JavaScript which prevents me from using bootstrap's responsive hamburger menu.<br>
I have to admit that "reykfloeter" is not an ideal name for a blog. My actual name is "Reyk Flöter", and I normally just use my first name "reyk" as a user- and nickname, but it was taken when I registered my Twitter account and the related domain. So I picked reykfloeter in a few places.<br>
I'm aware that my German last name is nearly unpronounceable for others, so "reykfloeter" appears like a random concatenation of letters. As most of us, I own a number of domains and maybe I should move the blog to bsd.plumbing (which is used as a home for relayd and httpd), arc4random.com (but I intended to use it as a fine OpenBSD-powered Entropy-as-a-Service for poor Linuxers), or even copper.coffee?<br>
In addition to the domain, I also need a good blog name or tag line. A very memorable example in the BSD world is Peter Hansteen's THAT GRUMPY BSD GUY blog. So what should I use?</p>
</blockquote>

<ul>
<li>Reyk Flöter's blog

<ul>
<li>OpenBSD hacker. Coffee nerd. Founder.</li>
<li>Ask Reyk (imaginary how-tos and 10 step guides)</li>
<li>[Sewage, Drainage and BSD Plumbing](bsd.plumbing/blog)</li>
<li>[A Replacement Call for Random](arc4random.com)</li>
<li>[Coffee with Reyk](copper.coffee)</li>
</ul></li>
</ul>

<blockquote>
<p>For now it will just be reykfloeter - blog</p>

<hr>
</blockquote>

<h3><a href="https://www.ixsystems.com/blog/serverenvy-truenas-x10/" target="_blank" rel="nofollow noopener">iXsystems releases the X10</a></h3>

<ul>
<li> TrueNAS X10 is the the 3rd generation of the TrueNAS unified storage line. The X10 is the first of a new TrueNAS series, and will be expandable to up to 360TB with the TrueNAS ES12 expansion shelf.</li>
<li>The X10 is cost effective, at a 30% lower price point than the Z20, making it an effective addition to your backup/DR infrastructure. The street price of a 20TB non-HA model falls under $10K. It’s designed to move with six predefined configurations that match common use cases. The dual controllers for high availability are an optional upgrade to ensure business continuity and avoid downtime.</li>
<li>The X10 boasts 36 hot swap SAS using two expansion shelves, for up to 360TB of storage, allowing you to backup thousands of VMs or share tens of thousands of files. One of the use cases for TrueNAS X10 is for backup, so users can upgrade the X10 to two ports of blazing 10GigE connectivity. The 20TB non-HA model enables you to backup over 7,000 VDI VMs for under $3.00 per VM. Overall, the X10 is a greener solution than the TrueNAS Z product line, with the non-HA version boasting only 138 watts of power and taking up only 2U of space.</li>
<li>Best of all, the TrueNAS X10 starts at $5,500 street. You can purchase a 120TB configuration today for under $20K street.</li>
</ul>

<h3><a href="https://research.swtch.com/glob" target="_blank" rel="nofollow noopener">Glob Matching Can Be Simple And Fast Too</a></h3>

<blockquote>
<p>Here’s a straightforward benchmark. Time how long it takes to run ls (a*)nb in a directory with a single file named a100, compared to running ls | grep (a.*)nb. Superscripts denote string repetition and parentheses are for grouping only, so that when n is 3, we’re running ls a*a*a*b in a directory containing the single file aaa…aaa (100 a’s), compared against ls | grep a.*a.*a.*b in the same directory.<br>
The exception seems to be the original Berkeley csh, which runs in linear time (more precisely, time linear in n). Looking at the source code, it doesn’t attempt to perform glob expansion itself. Instead it calls the C library implementation glob(3), which runs in linear time, at least on this Linux system. So maybe we should look at programming language implementations too.<br>
Most programming languages provide some kind of glob expansion, like C’s glob. Let’s repeat the experiment in a variety of different programming languages:<br>
Perhaps the most interesting fact evident in the graph is that GNU glibc, the C library used on Linux systems, has a linear-time glob implementation, but BSD libc, the C library used on BSD and macOS systems, has an exponential-time implementation.<br>
PHP is not shown in the graph, because its glob function simply invokes the host C library’s glob(3), so that it runs in linear time on Linux and in exponential time on non-Linux systems. (I have not tested what happens on Windows.) All the languages shown in the graph, however, implement glob matching without using the host C library, so the results should not vary by host operating system.<br>
The netkit ftpd runs quickly on Linux because it relies on the host C library’s glob function. If run on BSD, the netkit ftpd would take exponential time. ProFTPD ships a copy of the glibc glob, so it should run quickly even on BSD systems. Ironically, Pure-FTPd and tnftpd take exponential time on Linux because they ship a copy of the BSD glob function. Presumably they do this to avoid assuming that the host C library is bug-free, but, at least in this one case, the host C library is better than the one they ship.</p>
</blockquote>

<ul>
<li>Additional Reading</li>
</ul>

<blockquote>
<p>This post is an elaboration of an informal 2012 Google+ post showing that most shells used exponential-time glob expansion. At the time, Tom Duff, the author of Plan 9’s rc shell, commented that, “I can confirm that rc gets it wrong. My excuse, feeble as it is, is that doing it that way meant that the code took 10 minutes to write, but it took 20 years for someone to notice the problem. (That’s 10 ‘programmer minutes’, i.e. less than a day.)” I agree that’s a reasonable decision for a shell. In contrast, a language library routine, not to mention a network server, today needs to be robust against worst-case inputs that might be controlled by remote attackers, but nearly all of the code in question predates that kind of concern. I didn’t realize the connection to FTP servers until I started doing additional research for this post and came across a reference to CVE-2010-2632 in FreeBSD’s glob implementation.</p>
</blockquote>

<hr>

<h3><a href="https://torbsd.github.io/blog.html#bsd-vps" target="_blank" rel="nofollow noopener">BSD VPS Providers Needed</a></h3>

<blockquote>
<p>One of TDP’s recent projects is accumulating a list of virtual private server services (VPS) that provide a BSD option.<br>
VPS’s are generally inexpensive services that enable the user to only concern themselves with software configuration, and not be bothered with hardware or basic operating system setup. In the pre-Cloud era, VPS providers were the “other people’s computers” that users outsourced their systems to.<br>
The same shortcomings of cloud services apply to VPS providers. You don’t control the hardware. Your files are likely viewable by users up the directory hierarchy. The entropy source or pool is a single source for multiple systems. The same time drift applies to all time-keeping services.<br>
Nevertheless, VPS services are often cheap and provide a good spread in terms of geography. All a provider really needs is a few server-grade computers and a decent network connection. VPS’s are still a gateway drug to bare-metal servers, although it seems more and more of these gateway users stop at stage one.<br>
Cheap systems with a public IP are also a great way to tinker with a new operating system.<br>
For this reason, TDP created this list of BSD VPS providers. Some explicitly deny running Tor as a server. Some just reference vague “proxy services.” Others don’t mention Tor or proxies at all.<br>
The list is a start with currently just under 70 VPS providers listed. Input through various channels already started, and TDP intends to update the list over the coming months. A first draft email and open letter addressed to the providers were drafted, and we are looking to speak directly to at least some of the better-known BSD VPS providers.<br>
We may be able to convince a few to allow public Tor relays, or at least published bridges. These providers could be new BSD users’ gateway drug into the world of BSD Tor nodes. Running a Tor relay shouldn’t be considered a particularly risky activity. Maybe we can adjust that perception.<br>
Let us know any input via email or GitHub, and we’ll be glad to make updates.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blog.cagedmonster.net/avoid-os-detection-openbsd/" target="_blank" rel="nofollow noopener">Avoid OS Detection with OpenBSD</a></li>
<li><a href="https://www.trueos.org/blog/update-fix-updating/" target="_blank" rel="nofollow noopener">TrueOS update to fix updating</a></li>
<li><a href="https://www.youtube.com/watch?v=I08__ZWaJ0w" target="_blank" rel="nofollow noopener">MidnightBSD 0.8.5 VirtualBox Install</a></li>
<li><a href="http://calagator.org/events/tag/BSD" target="_blank" rel="nofollow noopener">BSD Pizza Night in Portland</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Andrew - <a href="http://dpaste.com/08E90PX" target="_blank" rel="nofollow noopener">BSDCan videos?</a></li>
<li>Marc - <a href="http://dpaste.com/08KE40G" target="_blank" rel="nofollow noopener">The Rock64 Board</a></li>
<li>Jason - <a href="http://dpaste.com/2EP7BFC" target="_blank" rel="nofollow noopener">Follow up on UEFI and Bhyve</a></li>
<li>Patrick - <a href="http://dpaste.com/34Z9SFM" target="_blank" rel="nofollow noopener">EFI booting</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 11.1-RELEASE is out, we look at building at BSD home router, how to be your own OpenBSD VPN provider, and find that glob matching can be simple and fast.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/releases/11.1R/relnotes.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-RELEASE</a></h3>

<ul>
<li><a href="https://www.freebsd.org/releases/11.1R/announce.asc" target="_blank" rel="nofollow noopener">FreeBSD 11.1 was released on July 26th</a></li>
<li>You can download it as an ISO or USB image, a prebuilt VM Image (vmdk, vhd, qcow2, or raw), and it is available as a cloud image (Amazon EC2, Microsoft Azure, Google Compute Engine, Vagrant)</li>
<li>Thanks to everyone, including the release engineering team who put so much time and effort into managing this release and making sure it came out on schedule, all of the FreeBSD developers who contributed the features, the companies that sponsored that development, and the users who tested the betas and release candidates.</li>
<li>Support for blacklistd(8) has been added to OpenSSH</li>
<li>The cron(8) utility has been updated to add support for including files within /etc/cron.d and /usr/local/etc/cron.d by default.</li>
<li>The syslogd(8) utility has been updated to add the include keyword which allows specifying     a directory containing configuration files to be included in addition to syslog.conf(5). The default     syslog.conf(5) has been updated to include /etc/syslog.d and /usr/local/etc/syslog.d by default.</li>
<li>The zfsbootcfg(8) utility has been added, providing one-time boot.config(5)-style options</li>
<li>The efivar(8) utility has been added, providing an interface to manage UEFI variables.</li>
<li>The ipsec and tcpmd5 kernel modules have been added, these can now be loaded without having to recompile the kernel</li>
<li>A number of new IPFW modules including Network Prefix Translation for IPv6 as defined in RFC 6296, stateless and stateful NAT64, and a module to modify the TCP-MSS of packets</li>
<li>A huge array of driver updates and additions</li>
<li>The NFS client now supports the Amazon® Elastic File System™ (EFS)</li>
<li>The new ZFS Compressed ARC feature was added, and is enabled by default</li>
<li>The EFI loader has been updated to support TFTPFS, providing netboot support without requiring an NFS server</li>
<li>For a complete list of new features and known problems, please see the online release notes and errata list, available at:

<ul>
<li><a href="https://www.freebsd.org/releases/11.1R/relnotes.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-RELEASE Release Notes</a></li>
<li><a href="https://www.freebsd.org/releases/11.1R/errata.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-RELEASE Errata</a></li>
<li>For more information about FreeBSD release engineering activities, please see: <a href="https://www.freebsd.org/releng/" target="_blank" rel="nofollow noopener">Release Engineering Information</a></li>
</ul></li>
<li>Availability

<ul>
<li>FreeBSD 11.1-RELEASE is now available for the amd64, i386, powerpc, powerpc64, sparc64, armv6, and aarch64 architectures.</li>
<li>FreeBSD 11.1-RELEASE can be installed from bootable ISO images or over the network. Some architectures also support installing from a USB memory stick. The required files can be downloaded as described in the section below.</li>
<li>SHA512 and SHA256 hashes for the release ISO, memory stick, and SD card images are included at the bottom of this message.</li>
<li>PGP-signed checksums for the release images are also available at: <a href="https://www.freebsd.org/releases/11.1R/signatures.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1 Release Checksum Signatures</a></li>
<li>A PGP-signed version of this announcement is available at: <a href="https://www.FreeBSD.org/releases/11.1R/announce.asc" target="_blank" rel="nofollow noopener">FreeBSD 11.1-RELEASE Announcement</a>
***</li>
</ul></li>
</ul>

<h3><a href="https://eerielinux.wordpress.com/2017/07/15/building-a-bsd-home-router-pt-8-zfs-and-jails/" target="_blank" rel="nofollow noopener">Building a BSD home router  - ZFS and Jails</a></h3>

<ul>
<li>Part of a series of posts about building a router:

<ul>
<li><a href="https://eerielinux.wordpress.com/2017/05/30/building-a-bsd-home-router-pt-1-hardware-pc-engines-apu2/" target="_blank" rel="nofollow noopener">Part 1</a> -- discussing why you want to build your own router and how to assemble the APU2</li>
<li><a href="https://eerielinux.wordpress.com/2017/06/03/building-a-bsd-home-router-pt-2-the-serial-console-excursion" target="_blank" rel="nofollow noopener">Part 2</a> -- some Unix history explanation of what a serial console is</li>
<li><a href="https://eerielinux.wordpress.com/2017/06/10/building-a-bsd-home-router-pt-3-serial-access-and-flashing-the-firmware/" target="_blank" rel="nofollow noopener">Part 3</a> -- demonstrating serial access to the APU and covering firmware update</li>
<li><a href="https://eerielinux.wordpress.com/2017/06/15/building-a-bsd-home-router-pt-4-installing-pfsense/" target="_blank" rel="nofollow noopener">Part 4</a> -- installing pfSense</li>
<li><a href="https://eerielinux.wordpress.com/2017/06/20/building-a-bsd-home-router-pt-5-installing-opnsense/" target="_blank" rel="nofollow noopener">Part 5</a> -- installing OPNsense instead</li>
<li><a href="https://eerielinux.wordpress.com/2017/06/30/building-a-bsd-home-router-pt-7-advanced-opnsense-setup/" target="_blank" rel="nofollow noopener">Part 6</a> -- Comparison of pfSense and OPNsense</li>
<li><a href="https://eerielinux.wordpress.com/2017/06/30/building-a-bsd-home-router-pt-7-advanced-opnsense-installation/" target="_blank" rel="nofollow noopener">Part 7</a> -- Advanced installation of OPNsense</li>
</ul></li>
<li>After the advanced installation in part 7, the tutorials covers converting an unused partition into swap space, and converting the system to ZFS</li>
<li>After creating a new pool using the set aside partition, some datasets are created, and the log files, ports, and obj ZFS datasets are mounted</li>
<li>The tutorial then goes on to cover how to download the ports tree, and install additional software on the router</li>
<li>I wonder what part 9 will be about.
***</li>
</ul>

<h3><a href="https://networkfilter.blogspot.com/2017/04/be-your-own-vpn-provider-with-openbsd-v2.htm" target="_blank" rel="nofollow noopener">Be your own VPN provider with OpenBSD (v2)</a></h3>

<ul>
<li>This article covers how to build your own VPN server with some advanced features including:

<ul>
<li>Full Disk Encryption (FDE)</li>
<li>Separate CA/signing machine (optional)</li>
<li>Multiple DNSCrypt proxy instances for failover</li>
<li>OpenVPN: Certificate Revocation List/CRL (optional)</li>
<li>OpenVPN: TLS 1.2 only</li>
<li>OpenVPN: TLS cipher based on AES-256-GCM only</li>
<li>OpenVPN: HMAC-SHA512 instead of HMAC-SHA1</li>
<li>OpenVPN: TLS encryption of control channel (makes it harder to identify OpenVPN traffic)</li>
</ul></li>
<li>The article starts with an explanation of the differences between OpenVPN and IPSEC.</li>
<li>In the end the author chose OpenVPN because you can select the port it runs on, and it has a better chance of working from hotel or coffee shop WiFi.</li>
<li>The guide them walks through doing an installation on an encrypted disk, with a caution about the limitations of encrypted disk with virtual machines hosted by other parties.</li>
<li>The guide then locks down the newly installed system, configuring SSH for keys only, adding some PF rules, and configuring doas</li>
<li>Then networking is configured, including enabling IP forwarding since this machine is going to act as the VPN gateway</li>
<li>Then a large set of firewall rules are created that NAT the VPN traffic out of the gateway, except for DNS requests that are redirected to the gateways local unbound</li>
<li>Then some python scripts are provided to block brute force attempts</li>
</ul>

<blockquote>
<p>We will use DNSCrypt to make our DNS requests encrypted, and Unbound to have a local DNS cache. This will allow us to avoid using our VPS provider DNS servers, and will also be useful to your future VPN clients which will be able to use your VPN server as their DNS server too<br>
Before configuring Unbound, which is the local DNS cache which will make requests to dnscrypt_proxy, we can configure an additional dnscrypt instance, as explained in the pkg readme. Indeed, dnscrypt DNS servers being public ones, they often goes into maintenance, become offline or temporarily unreachable. To address this issue, it is possible to setup multiple dnscrypt instances. Below are the steps to follow to add one, but you can add more if you wish</p>
</blockquote>

<ul>
<li>Then a CA and Certificate are created for OpenVPN</li>
<li>OpenVPN is installed and configured as a server</li>
<li>Configuration is also provided for a client, and a mobile client</li>
<li>Thanks to the author for this great tutorial</li>
<li>You might also want to check out this section from their 2015 version of this post: <a href="https://networkfilter.blogspot.nl/2015/01/be-your-own-vpn-provider-with-openbsd.html#security_anonymity" target="_blank" rel="nofollow noopener">Security vs Anonymity</a>
***</li>
</ul>

<h3><a href="https://www.freebsdfoundation.org/blog/2017-essen-hackathon-trip-report-benedict-reuschling/" target="_blank" rel="nofollow noopener">Essen Hackathon Trip - Benedict Reuschling</a></h3>

<ul>
<li>Over on the FreeBSD Foundation Blog, Benedict provides a detailed overview of the Essen Hackathon we were at a few weeks ago.</li>
<li>Head over there and give it a read, and get a feel for what these smaller type of community events are like. Hopefully you can attend, or better yet, organize, a similar event in your area.</li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://reykfloeter.com/posts/blog-about-my-blog" target="_blank" rel="nofollow noopener">Blog about my self-hosted httpd blog</a></h3>

<blockquote>
<p>I really like Twitter because it allows me to share short messages, we have a great community, and 140 characters are enough for everybody.<br>
And this statement was exactly 140 characters, but sometimes I want to say more than that. And that's why I finally created this new blog. I was never really into blogging because I barely had time or the audience to write long articles. I sometimes wrote short stories for sites like undeadly.org, I collected some of them here, but my own blog was hosted on tumblr and never saw any activity.<br>
I want to try it again, and this time I decided to create a self-hosted blog. Something that runs on my own server and with httpd, the web server that I wrote for OpenBSD. So I was looking for potential blogging tools that I could use to run my own blog. Besides the popular and heavyweight ones such as WordPress, there are countless other options: I looked at blogs from fellow developers, such as Ted Unangst's flak (I like the fact that it is written in Lua but the implementation is a bit over my head), or Pelican that is used by Peter Hessler for bad.network (but, sorry, I don't like Python), and finally Kristaps Dzonsons' sblg that is used for all of his projects and blogs. I decided to use sblg.<br>
Kristaps keeps on releasing very useful free software. Most well-known is mandoc, at least everyone is using it for manpages these days, but there is is also his BCHS (beaches) web stack which strongly advertises OpenBSD's httpd. Great. I also use kcgi whenever I have to write small CGIs. So sblg seemed like the right choice to me.<br>
Let me quickly iterate over my current Makefile. I keep on tweaking this file, so it might have been changed by the time you are reading this article. Please note that the Makefile is written for OpenBSD's make, a distant derivative of pmake which is not like GNU make.<br>
I'm not a designer or web developer, but I appreciate good looking web pages. I wanted to have something that is responsive, works on desktops and mobiles, looks somewhat modern, works without JavaScript, but doesn't disqualify me for all the eye candy from a geek point of view.<br>
I bootstrapped the theme by creating a simple grid layout with a fairly typical blog style: banner, top menu, middle text, sidebar. In 2017, bootstrap is probably a vintage (or retro) framework but it makes it very easy to create responsive pages with a proper layout and without caring about all the CSS and HTML5 madness too much. I also use Font Awesome because it is awesome, provides some fancy icons, and was suggested in sblg's example templates (let's blame Kristaps for it). I do not include any JavaScript which prevents me from using bootstrap's responsive hamburger menu.<br>
I have to admit that "reykfloeter" is not an ideal name for a blog. My actual name is "Reyk Flöter", and I normally just use my first name "reyk" as a user- and nickname, but it was taken when I registered my Twitter account and the related domain. So I picked reykfloeter in a few places.<br>
I'm aware that my German last name is nearly unpronounceable for others, so "reykfloeter" appears like a random concatenation of letters. As most of us, I own a number of domains and maybe I should move the blog to bsd.plumbing (which is used as a home for relayd and httpd), arc4random.com (but I intended to use it as a fine OpenBSD-powered Entropy-as-a-Service for poor Linuxers), or even copper.coffee?<br>
In addition to the domain, I also need a good blog name or tag line. A very memorable example in the BSD world is Peter Hansteen's THAT GRUMPY BSD GUY blog. So what should I use?</p>
</blockquote>

<ul>
<li>Reyk Flöter's blog

<ul>
<li>OpenBSD hacker. Coffee nerd. Founder.</li>
<li>Ask Reyk (imaginary how-tos and 10 step guides)</li>
<li>[Sewage, Drainage and BSD Plumbing](bsd.plumbing/blog)</li>
<li>[A Replacement Call for Random](arc4random.com)</li>
<li>[Coffee with Reyk](copper.coffee)</li>
</ul></li>
</ul>

<blockquote>
<p>For now it will just be reykfloeter - blog</p>

<hr>
</blockquote>

<h3><a href="https://www.ixsystems.com/blog/serverenvy-truenas-x10/" target="_blank" rel="nofollow noopener">iXsystems releases the X10</a></h3>

<ul>
<li> TrueNAS X10 is the the 3rd generation of the TrueNAS unified storage line. The X10 is the first of a new TrueNAS series, and will be expandable to up to 360TB with the TrueNAS ES12 expansion shelf.</li>
<li>The X10 is cost effective, at a 30% lower price point than the Z20, making it an effective addition to your backup/DR infrastructure. The street price of a 20TB non-HA model falls under $10K. It’s designed to move with six predefined configurations that match common use cases. The dual controllers for high availability are an optional upgrade to ensure business continuity and avoid downtime.</li>
<li>The X10 boasts 36 hot swap SAS using two expansion shelves, for up to 360TB of storage, allowing you to backup thousands of VMs or share tens of thousands of files. One of the use cases for TrueNAS X10 is for backup, so users can upgrade the X10 to two ports of blazing 10GigE connectivity. The 20TB non-HA model enables you to backup over 7,000 VDI VMs for under $3.00 per VM. Overall, the X10 is a greener solution than the TrueNAS Z product line, with the non-HA version boasting only 138 watts of power and taking up only 2U of space.</li>
<li>Best of all, the TrueNAS X10 starts at $5,500 street. You can purchase a 120TB configuration today for under $20K street.</li>
</ul>

<h3><a href="https://research.swtch.com/glob" target="_blank" rel="nofollow noopener">Glob Matching Can Be Simple And Fast Too</a></h3>

<blockquote>
<p>Here’s a straightforward benchmark. Time how long it takes to run ls (a*)nb in a directory with a single file named a100, compared to running ls | grep (a.*)nb. Superscripts denote string repetition and parentheses are for grouping only, so that when n is 3, we’re running ls a*a*a*b in a directory containing the single file aaa…aaa (100 a’s), compared against ls | grep a.*a.*a.*b in the same directory.<br>
The exception seems to be the original Berkeley csh, which runs in linear time (more precisely, time linear in n). Looking at the source code, it doesn’t attempt to perform glob expansion itself. Instead it calls the C library implementation glob(3), which runs in linear time, at least on this Linux system. So maybe we should look at programming language implementations too.<br>
Most programming languages provide some kind of glob expansion, like C’s glob. Let’s repeat the experiment in a variety of different programming languages:<br>
Perhaps the most interesting fact evident in the graph is that GNU glibc, the C library used on Linux systems, has a linear-time glob implementation, but BSD libc, the C library used on BSD and macOS systems, has an exponential-time implementation.<br>
PHP is not shown in the graph, because its glob function simply invokes the host C library’s glob(3), so that it runs in linear time on Linux and in exponential time on non-Linux systems. (I have not tested what happens on Windows.) All the languages shown in the graph, however, implement glob matching without using the host C library, so the results should not vary by host operating system.<br>
The netkit ftpd runs quickly on Linux because it relies on the host C library’s glob function. If run on BSD, the netkit ftpd would take exponential time. ProFTPD ships a copy of the glibc glob, so it should run quickly even on BSD systems. Ironically, Pure-FTPd and tnftpd take exponential time on Linux because they ship a copy of the BSD glob function. Presumably they do this to avoid assuming that the host C library is bug-free, but, at least in this one case, the host C library is better than the one they ship.</p>
</blockquote>

<ul>
<li>Additional Reading</li>
</ul>

<blockquote>
<p>This post is an elaboration of an informal 2012 Google+ post showing that most shells used exponential-time glob expansion. At the time, Tom Duff, the author of Plan 9’s rc shell, commented that, “I can confirm that rc gets it wrong. My excuse, feeble as it is, is that doing it that way meant that the code took 10 minutes to write, but it took 20 years for someone to notice the problem. (That’s 10 ‘programmer minutes’, i.e. less than a day.)” I agree that’s a reasonable decision for a shell. In contrast, a language library routine, not to mention a network server, today needs to be robust against worst-case inputs that might be controlled by remote attackers, but nearly all of the code in question predates that kind of concern. I didn’t realize the connection to FTP servers until I started doing additional research for this post and came across a reference to CVE-2010-2632 in FreeBSD’s glob implementation.</p>
</blockquote>

<hr>

<h3><a href="https://torbsd.github.io/blog.html#bsd-vps" target="_blank" rel="nofollow noopener">BSD VPS Providers Needed</a></h3>

<blockquote>
<p>One of TDP’s recent projects is accumulating a list of virtual private server services (VPS) that provide a BSD option.<br>
VPS’s are generally inexpensive services that enable the user to only concern themselves with software configuration, and not be bothered with hardware or basic operating system setup. In the pre-Cloud era, VPS providers were the “other people’s computers” that users outsourced their systems to.<br>
The same shortcomings of cloud services apply to VPS providers. You don’t control the hardware. Your files are likely viewable by users up the directory hierarchy. The entropy source or pool is a single source for multiple systems. The same time drift applies to all time-keeping services.<br>
Nevertheless, VPS services are often cheap and provide a good spread in terms of geography. All a provider really needs is a few server-grade computers and a decent network connection. VPS’s are still a gateway drug to bare-metal servers, although it seems more and more of these gateway users stop at stage one.<br>
Cheap systems with a public IP are also a great way to tinker with a new operating system.<br>
For this reason, TDP created this list of BSD VPS providers. Some explicitly deny running Tor as a server. Some just reference vague “proxy services.” Others don’t mention Tor or proxies at all.<br>
The list is a start with currently just under 70 VPS providers listed. Input through various channels already started, and TDP intends to update the list over the coming months. A first draft email and open letter addressed to the providers were drafted, and we are looking to speak directly to at least some of the better-known BSD VPS providers.<br>
We may be able to convince a few to allow public Tor relays, or at least published bridges. These providers could be new BSD users’ gateway drug into the world of BSD Tor nodes. Running a Tor relay shouldn’t be considered a particularly risky activity. Maybe we can adjust that perception.<br>
Let us know any input via email or GitHub, and we’ll be glad to make updates.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://blog.cagedmonster.net/avoid-os-detection-openbsd/" target="_blank" rel="nofollow noopener">Avoid OS Detection with OpenBSD</a></li>
<li><a href="https://www.trueos.org/blog/update-fix-updating/" target="_blank" rel="nofollow noopener">TrueOS update to fix updating</a></li>
<li><a href="https://www.youtube.com/watch?v=I08__ZWaJ0w" target="_blank" rel="nofollow noopener">MidnightBSD 0.8.5 VirtualBox Install</a></li>
<li><a href="http://calagator.org/events/tag/BSD" target="_blank" rel="nofollow noopener">BSD Pizza Night in Portland</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li>Andrew - <a href="http://dpaste.com/08E90PX" target="_blank" rel="nofollow noopener">BSDCan videos?</a></li>
<li>Marc - <a href="http://dpaste.com/08KE40G" target="_blank" rel="nofollow noopener">The Rock64 Board</a></li>
<li>Jason - <a href="http://dpaste.com/2EP7BFC" target="_blank" rel="nofollow noopener">Follow up on UEFI and Bhyve</a></li>
<li>Patrick - <a href="http://dpaste.com/34Z9SFM" target="_blank" rel="nofollow noopener">EFI booting</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>204: WWF - Wayland, Weston, and FreeBSD</title>
  <link>https://www.bsdnow.tv/204</link>
  <guid isPermaLink="false">4e71ddba-a23a-4036-a89e-ce7d0efe1940</guid>
  <pubDate>Wed, 26 Jul 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/4e71ddba-a23a-4036-a89e-ce7d0efe1940.mp3" length="58443124" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>In this episode, we clear up the myth about scrub of death, look at Wayland and Weston on FreeBSD, Intel QuickAssist is here, and we check out OpenSMTP on OpenBSD.</itunes:subtitle>
  <itunes:duration>1:21:10</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>&lt;p&gt;In this episode, we clear up the myth about scrub of death, look at Wayland and Weston on FreeBSD, Intel QuickAssist is here, and we check out OpenSMTP on OpenBSD.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;Matt Ahrens answers questions about the “Scrub of Death”&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In working on the breakdown of that ZFS article last week, Matt Ahrens contacted me and provided some answers he has given to questions in the past, allowing me to answer them using HIS exact words.&lt;/li&gt;
&lt;li&gt;“ZFS has an operation, called SCRUB, that is used to check all data in the pool and recover any data that is incorrect. However, if a bug which make errors on the pool persist (for example, a system with bad non-ecc RAM) then SCRUB can cause damage to a pool instead of recover it. I heard it called the “SCRUB of death” somewhere. Therefore, as far as I understand, using SCRUB without ECC memory is dangerous.”
&amp;gt; I don't believe that is accurate.  What is the proposed mechanism by which scrub can corrupt a lot of data, with non-ECC memory?
&amp;gt; ZFS repairs bad data by writing known good data to the bad location on disk.  The checksum of the data has to verify correctly for it to be considered "good".  An undetected memory error could change the in-memory checksum or data, causing ZFS to incorrectly think that the data on disk doesn’t match the checksum.  In that case, ZFS would attempt to repair the data by first re-reading the same offset on disk, and then reading from any other available copies of the data (e.g. mirrors, ditto blocks, or RAIDZ reconstruction).  If any of these attempts results in data that matches the checksum, then the data will be written on top of the (supposed) bad data.  If the data was actually good, then overwriting it with the same good data doesn’t hurt anything.
&amp;gt; Let's look at what will happen with 3 types of errors with non-ECC memory:
&amp;gt; 1. Rare, random errors (e.g. particle strikes - say, less than one error per GB per second). If ZFS finds data that matches the checksum, then we know that we have the correct data (at least at that point in time, with probability 1-1/2&lt;sup&gt;256).&lt;/sup&gt;  If there are a lot of memory errors happening at a high rate, or if the in-memory checksum was corrupt, then ZFS won’t be able to find a good copy of the data , so it won’t do a repair write.  It’s possible that the correctly-checksummed data is later corrupted in memory, before the repair write.  However, the window of vulnerability is very very small - on the order of milliseconds between when the checksum is verified, and when the write to disk completes.  It is implausible that this tiny window of memory vulnerability would be hit repeatedly.
&amp;gt; 2. Memory that pretty much never does the right thing. (e.g. huge rate of particle strikes, all memory always reads 0, etc). In this case, critical parts of kernel memory (e.g. instructions) will be immediately corrupted, causing the system to panic and not be able to boot again.
&amp;gt; 3. One or a few memory locations have "stuck bits", which always read 0 (or always read 1). This is the scenario discussed in the message which (I believe) originally started the "Scrub of Death" myth: &lt;a href="https://forums.freenas.org/index.php?threads/ecc-vs-non-ecc-ram-and-zfs.15449/" target="_blank" rel="nofollow noopener"&gt;https://forums.freenas.org/index.php?threads/ecc-vs-non-ecc-ram-and-zfs.15449/&lt;/a&gt;  This assumes that we read in some data from disk to a memory location with a stuck bit, "correct" that same bad memory location by overwriting the memory with the correct data, and then we write the bad memory location to disk.  However, ZFS doesn't do that.  (It seems the author thinks that ZFS uses parity, which it only does when using RAID-Z.  Even with RAID-Z, we also verify the checksum, and we don't overwrite the bad memory location.)
&amp;gt; Here's what ZFS will actually do in this scenario: If ZFS reads data from disk into a memory location with a stuck bit, it will detect a checksum mismatch and try to find a good copy of the data to repair the "bad" disk. ZFS will allocate a new, different memory location to read a 2nd copy of the data, e.g. from the other side of a mirror (this happens near the end of dsl_scan_scrub_cb()).  If the new memory location also has a stuck bit, then its checksum will also fail, so we won't use it to repair the "bad" disk.  If the checksum of the 2nd copy of the data is correct, then we will write it to the "bad" disk.  This write is unnecessary, because the "bad" disk is not really bad, but it is overwriting the good data with the same good data.
&amp;gt; I believe that this misunderstanding stems from the idea that ZFS fixes bad data by overwriting it in place with good data.  In reality, ZFS overwrites the location on disk, using a different memory location for each read from disk.  The "Scrub of Death" myth assumes that ZFS overwrites the location &lt;em&gt;in memory&lt;/em&gt;, which it doesn't do.
&amp;gt; In summary, there's no plausible scenario where ZFS would amplify a small number of memory errors, causing a "scrub of death".  Additionally, compared to other filesystems, ZFS checksums provide some additional protection against bad memory.&lt;/li&gt;
&lt;li&gt; “Is it true that ZFS verifies the checksum of every block on every read from disk?”
&amp;gt; Yes&lt;/li&gt;
&lt;li&gt;“And if that block is incorrect, that ZFS will repair it?”
&amp;gt; Yes&lt;/li&gt;
&lt;li&gt;“If yes, is it possible set options or flag for change that behavior? For example, I would like for ZFS to verify checksums during any read, but not change anything and only report about issues if it appears. Is it possible?”
&amp;gt; There isn't any built-in flag for doing that.  It wouldn't be hard to add one though.&lt;/li&gt;
&lt;li&gt;If you just wanted to verify data, without attempting to correct it, you could read or scan the data with the pool was imported read-only&lt;/li&gt;
&lt;li&gt;“If using a mirror, when a file is read, is it fully read and verified from both sides of the mirror?”
&amp;gt; No, for performance purposes, each block is read from only one side of the mirror (assuming there is no checksum error).&lt;/li&gt;
&lt;li&gt;“What is the difference between a scrub and copying every file to /dev/null?”
&amp;gt; That won't check all copies of the file (e.g. it won't check both sides of the mirror).
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl/bobulate/?p=1617" target="_blank" rel="nofollow noopener"&gt;Wayland, and Weston, and FreeBSD - Oh My!&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;KDE’s CI system for FreeBSD (that is, what upstream runs to continuously test KDE git code on the FreeBSD platform) is missing some bits and failing some tests because of Wayland. Or rather, because FreeBSD now has Wayland, but not Qt5-Wayland, and no Weston either (the reference implementation of a Wayland compositor).&lt;br&gt;
Today I went hunting for the bits and pieces needed to make that happen. Fortunately, all the heavy lifting has already been done: there is a Weston port prepared and there was a Qt5-Wayland port well-hidden in the Area51 plasma5/ branch.&lt;br&gt;
I have taken the liberty of pulling them into the Area51 repository as branch qtwayland. That way we can nudge Weston forward, and/or push Qt5-Wayland in separately. Nicest from a testing perspective is probably doing both at the same time.&lt;br&gt;
I picked a random “Hello World” Wayland tutorial and also built a minimal Qt program (using QMessageBox::question, my favorite function to hate right now, because of its i18n characteristics). Then, setting XDG_RUNTIME_DIR to /tmp/xdg, I could start Weston (as an X11 client), wayland-hello (as a Wayland client, displaying in Weston) and qt-hello (as either an X11 client, or as a Wayland client).&lt;br&gt;
So this gives users of Area51 (while shuffling branches, granted) a modern desktop and modern display capabilities. Oh my!&lt;br&gt;
It will take a few days for this to trickle up and/or down so that the CI can benefit and we can make sure that KWin’s tests all work on FreeBSD, but it’s another good step towards tight CI and another small step towards KDE Plasma 5 on the desktop on FreeBSD.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/pkgsrccon_2017_report" target="_blank" rel="nofollow noopener"&gt;pkgsrcCon 2017 report&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This years pkgsrcCon returned to London once again. It was last held in London back in 2014. The 2014 con was the first pkgsrcCon I attended, I had been working on Darwin/PowerPC fixes for some months and presented on the progress I'd made with a 12" G4 PowerBook. I took away a G4 Mac Mini that day to help spare the PowerBook for use and dedicate a machine for build and testing. The offer of PowerPC hardware donations was repeated at this years con, thanks to jperkin@ who showed up with a backpack full of Mac Minis (more on that later).&lt;br&gt;
Since 2014 we have held cons in Berlin (2015) &amp;amp; Krakow (2016). In Krakow we had talks about a wide range of projects over 2 days, from Haiku Ports to Common Lisp to midipix (building native PE binaries for Windows) and back to the BSDs. I was very pleased to continue the theme of a diverse program this year.&lt;br&gt;
Aside from pkgsrc and NetBSD, we had talks about FreeBSD, OpenBSD, Slackware Linux, and Plan 9. Things began with a pub gathering on the Friday for the pre-con social, we hung out and chatted till almost midnight on a wide range of topics, such as supporting a system using NFS on MS-DOS, the origins of pdksh, corporate IT, culture and many other topics.&lt;br&gt;
On parting I was asked about the starting time on Saturday as there was some conflicting information. I learnt that the registration email had stated a later start than I had scheduled for &amp;amp; advertised on the website, by 30 minutes. Lesson learnt: register for your own event! Not a problem, I still needed to setup a webpage for the live video stream, I could do both when I got back. With some trimming here and there I had a new schedule, I posted that to the pkgsrcCon website and moved to trying to setup a basic web page which contained a snippet of javascript to play a live video stream from Scale Engine.  2+ hours later, it was pointed out that the XSS protection headers on pkgsrc.org breaks the functionality. Thanks to jmcneill@ for debugging and providing a working page.&lt;br&gt;
Saturday started off with Giovanni Bechis speaking about pledge in OpenBSD and adding support to various packages in their ports tree, alnsn@ then spoke about installing packages from a repo hosted on the Tor network.&lt;br&gt;
After a quick coffee break we were back to hear Charles Forsyth speak about how Plan 9 and Inferno dealt with portability, building software and the problem which are avoided by the environment there. This was followed by a very energetic rant by David Spencer from the Slackbuilds project on packaging 3rd party software. Slackbuilds is a packaging system for Slackware Linux, which was inspired by FreeBSD ports.&lt;br&gt;
For the first slot after lunch, agc@ gave a talk on the early history of pkgsrc followed by Thomas Merkel on using vagrant to test pkgsrc changes with ease, locally, using vagrant. khorben@ covered his work on adding security to pkgsrc and bsiegert@ covered the benefits of performing our bulk builds in the cloud and the challenges we currently face.&lt;br&gt;
My talk was about some topics and ideas which had inspired me or caught my attention, and how it could maybe apply to my work.The title of the talk was taken from the name of Andrew Weatherall's Saint Etienne remix, possibly referring to two different styles of track (dub &amp;amp; vocal) merged into one or something else. I meant it in terms of applicability of thoughts and ideas. After me, agc@ gave a second talk on the evolution of the Netflix Open Connect appliance which runs FreeBSD and Vsevolod Stakhov wrapped up the day with a talk about the technical implementation details of the successor to pkg_tools in FreeBSD, called pkg, and how it could be of benefit for pkgsrc.&lt;br&gt;
For day 2 we gathered for a hack day at the London Hack Space.&lt;br&gt;
I had burn't some some CD of the most recent macppc builds of NetBSD 8.0_BETA and -current to install and upgrade Mac Minis. I setup the donated G4 minis for everyone in a dual-boot configuration and moved on to taking apart my MacBook Air to inspect the wifi adapter as I wanted to replace it with something which works on FreeBSD. It was not clear from the ifixit teardown photos of cards size, it seemed like a normal mini-PCIe card but it turned out to be far smaller. Thomas had also had the same card in his and we are not alone. Thomas has started putting together a driver for the Broadcom card, the project is still in its early days and lacks support for encrypted networks but hopefully it will appear on review.freebsd.org in the future.&lt;br&gt;
weidi@ worked on fixing SunOS bugs in various packages and later in the night we setup a NetBSD/macppc bulk build environment together on his Mac Mini.&lt;br&gt;
Thomas setup an OpenGrock instance to index the source code of all the software available for packaging in pkgsrc. This helps make the evaluation of changes easier and the scope of impact a little quicker without having to run through a potentially lengthy bulk build with a change in mind to realise the impact. bsiegert@ cleared his ticket and email backlog for pkgsrc and alnsn@ got NetBSD/evbmips64-eb booting on his EdgeRouter Lite.&lt;br&gt;
On Monday we reconvened at the Hack Space again and worked some more. I started putting together the talks page with the details from Saturday and the the slides which I had received, in preparation for the videos which would come later in the week. By 3pm pkgsrcCon was over. I was pretty exhausted but really pleased to have had a few days of techie fun.&lt;br&gt;
Many thanks to The NetBSD Foundation for purchasing a camera to use for streaming the event and a speedy response all round by the board. The Open Source Specialist Group at BCS, The Chartered Institute for IT and the London Hack Space for hosting us. Scale Engine for providing streaming facility. weidi@ for hosting the recorded videos. Allan Jude for pointers, Jared McNeill for debugging, NYCBUG and Patrick McEvoy for tips on streaming, the attendees and speakers. This year we had speakers from USA, Italy, Germany and London E2. Looking forward to pkgsrcCon 2018!&lt;br&gt;
The videos and slides are available &lt;a href="http://www.pkgsrc.org/pkgsrcCon/2017/talks.html" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt; and the &lt;a href="http://archive.org/details/pkgsrcCon-2017" target="_blank" rel="nofollow noopener"&gt;Internet Archive&lt;/a&gt;.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.servethehome.com/quickassist-driver-freebsd-pfsupport-coming/" target="_blank" rel="nofollow noopener"&gt;QuickAssist Driver for FreeBSD is here and pfSense Support Coming&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This week we have something that STH readers will be excited about. Before I started writing for STH, I was a reader and had been longing for QuickAssist support ever since STH’s first Rangeley article over three and a half years ago. It was clear from the get-go that Rangeley was going to be the preeminent firewall appliance platform of its day. The scope of products that were impacted by the Intel Atom C2000 series bug showed us it was indeed. For my personal firewalls, I use pfSense on that Rangeley platform so I have been waiting to use QuickAssist with my hardware for almost an entire product generation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New Hardware and QuickAssist Incoming to pfSense (Finally)
pfSense (and a few other firewalls) are based on FreeBSD. FreeBSD tends to lag driver support behind mainstream Linux but it is popular for embedded security appliances. While STH is the only site to have done QuickAssist benchmarks for OpenSSL and IPSec VPNs pre-Skylake, we expect more platforms to use it now that the new Intel Xeon Scalable Processor Family is out. With the Xeon Scalable platforms, the “Lewisburg” PCH has QuickAssist options of up to 100Gbps, or 2.5x faster than the previous generation add-in cards we tested (40Gbps.) We now have more and better hardware for QAT, but we were still devoid of a viable FreeBSD QAT driver from Intel. That has changed.
Our Intel Xeon Scalable Processor Family (Skylake-SP) Launch Coverage Central has been the focus of the STH team’s attention this week. There was another important update from Intel that got buried, a publicly available Intel QuickAssist driver for FreeBSD. You can find the driver on 01.org here dated July 12, 2017.
Drivers are great, but we still need support to be enabled in the OS and at the application layer. Patrick forwarded me this tweet from Jim Thompson (lead at Netgate the company behind pfSense):
The Netgate team has been a key company pushing QuickAssist appliances in the market, usually based on Linux. To see that QAT is coming to FreeBSD and that they were working to integrate into “pfSense soon” is more than welcome.
For STH readers, get ready. It appears to be actually and finally happening. QuickAssist on FreeBSD and pfSense
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://jcs.org/2017/07/14/matebook" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the Huawei MateBook X&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The Huawei MateBook X is a high-quality 13" ultra-thin laptop with a fanless Core i5 processor. It is obviously biting the design of the Apple 12" MacBook, but it does have some notable improvements such as a slightly larger screen, a more usable keyboard with adequate key travel, and 2 USB-C ports.&lt;br&gt;
It also uses more standard PC components than the MacBook, such as a PS/2-connected keyboard, removable m.2 WiFi card, etc., so its OpenBSD compatibility is quite good.&lt;br&gt;
In contrast to the Xiaomi Mi Air, the MateBook is actually sold (2) in the US and comes with a full warranty and much higher build quality (though at twice the price). It is offered in the US in a "space gray" color for the Core i5 model and a gold color for the Core i7.&lt;br&gt;
The fanless Core i5 processor feels snappy and doesn't get warm during normal usage on OpenBSD. Doing a make -j4 build at full CPU speed does cause the laptop to get warm, though the palmrest maintains a usable temperature.&lt;br&gt;
The chassis is all aluminum and has excellent rigidity in the keyboard area. The 13.0" 2160x1440 glossy IPS "Gorilla glass" screen has a very small bezel and its hinge is properly weighted to allow opening the lid with one hand. There is no wobble in the screen when open, even when jostling the desk that the laptop sits on. It has a reported brightness of 350 nits.&lt;br&gt;
I did not experience any of the UEFI boot variable problems that I did with the Xiaomi, and the MateBook booted quickly into OpenBSD after re-initializing the GPT table during installation.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://blog.cagedmonster.net/opensmtpd-under-openbsd-with-ssl-virtualusers-dovecot/" target="_blank" rel="nofollow noopener"&gt;OpenSMTPD under OpenBSD with SSL/VirtualUsers/Dovecot&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;During the 2013 AsiaBSDCon, the team of OpenBSD presented its mail solution named OpenSMTPD. &lt;/li&gt;
&lt;li&gt;Developed by the OpenBSD team, we find the so much appreciated philosophy of its developers : security, simplicity / clarity and advanced features.&lt;/li&gt;
&lt;li&gt;Basic configuration : OpenSMTPD is installed by default, we can immediately start with a simple configuration.
&amp;gt; We listen on our interfaces, we specify the path of our aliases file so we can manage redirections. 
&amp;gt; Mails will be delivered for the domain cagedmonster.net to mbox (the local users mailbox), same for the aliases. 
&amp;gt; Finally, we accept to relay local mails exclusively.
&amp;gt; We can now enable smtpd at system startup and start the daemon.&lt;/li&gt;
&lt;li&gt;Advanced configuration including TLS :

&lt;ul&gt;
&lt;li&gt;You can use SSL with : A self-signed certificate (which will not be trusted) or a certificate generated by a trusted authority. LetsEncrypt uses Certbot to generated your certificate. You can check this page for further informations. Let's focus on the first.&lt;/li&gt;
&lt;li&gt;Generation of the certificate :&lt;/li&gt;
&lt;li&gt;We fix the permissions :&lt;/li&gt;
&lt;li&gt;We edit the config file :
&amp;gt; We have a mail server with SSL, it's time to configure our IMAP server, Dovecot, and manage the creation of virtual users.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Dovecot setup, and creation of Virtual Users : We will use the package system of OpenBSD, so please check the configuration of your /etc/pkg.conf file.

&lt;ul&gt;
&lt;li&gt;Enable the service at system startup :&lt;/li&gt;
&lt;li&gt;Setup the Virtual Users structure :&lt;/li&gt;
&lt;li&gt;Adding the passwd table for smtpd :&lt;/li&gt;
&lt;li&gt;Modification of the OpenSMTPD configuration :&lt;/li&gt;
&lt;li&gt;We declare the files used for our Virtual Accounts, we include SSL, and we configure mails delivery via the Dovecot lmtp socket.&lt;/li&gt;
&lt;li&gt;We'll create our user &lt;a href="mailto:lina@cagedmonster.net" target="_blank" rel="nofollow noopener"&gt;lina@cagedmonster.net&lt;/a&gt; and set its password.&lt;/li&gt;
&lt;li&gt;Configure SSL&lt;/li&gt;
&lt;li&gt;Configure dovecot.conf&lt;/li&gt;
&lt;li&gt;Configure mail.con&lt;/li&gt;
&lt;li&gt;Configure login.conf : Make sure that the value of openfiles-cur in /etc/login.conf is equal or superior of 1000 !&lt;/li&gt;
&lt;li&gt;Starting Dovecot
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://blog.cagedmonster.net/opensmtpd-and-dovecot-under-openbsd-with-mysql-support-and-spamd/" target="_blank" rel="nofollow noopener"&gt;OpenSMTPD and Dovecot under OpenBSD with MySQL support and SPAMD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This article is the continuation of my previous tutorial OpenSMTPD under OpenBSD with SSL/VirtualUsers/Dovecot. We'll use the same configuration and add some features so we can :&lt;br&gt;
Use our domains, aliases, virtual users with a MySQL database (MariaDB under OpenBSD).&lt;br&gt;
Deploy SPAMD with OpenSMTPD for a strong antispam solution.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Setup of the MySQL support for OpenSMTPD &amp;amp; Dovecot&lt;/li&gt;
&lt;li&gt;We create our SQL database named « smtpd » &lt;/li&gt;
&lt;li&gt;We create our SQL user « opensmtpd » we give him the privileges on our SQL database and we set its password &lt;/li&gt;
&lt;li&gt;We create the structure of our SQL database&lt;/li&gt;
&lt;li&gt;We generate our password with Blowfish (remember it's OpenBSD !) for our users&lt;/li&gt;
&lt;li&gt;We create our tables and we include our datas&lt;/li&gt;
&lt;li&gt;We push everything to our database&lt;/li&gt;
&lt;li&gt;Time to configure OpenSMTPD&lt;/li&gt;
&lt;li&gt;We create our mysql.conf file and configure it &lt;/li&gt;
&lt;li&gt;Configuration of Dovecot.conf&lt;/li&gt;
&lt;li&gt;Configuration of auth-sql.conf.ext&lt;/li&gt;
&lt;li&gt;Configuration of dovecot-sql.conf.ext&lt;/li&gt;
&lt;li&gt;Restart our services
OpenSMTPD &amp;amp; SPAMD :
SPAMD is a service simulating a fake SMTP server and relying on strict compliance with RFC to determine whether the server delivering a mail is a spammer or not. &lt;/li&gt;
&lt;li&gt;Configuration of SPAMD :&lt;/li&gt;
&lt;li&gt;Enable SPAMD &amp;amp; SPAMLOGD at system startup :&lt;/li&gt;
&lt;li&gt;Configuration of SPAMD flags &lt;/li&gt;
&lt;li&gt;Configuration of PacketFilter&lt;/li&gt;
&lt;li&gt;Configuration of SPAMD &lt;/li&gt;
&lt;li&gt;Start SPAMD &amp;amp; SPAMLOGD 
***
###&lt;a href="https://networkingbsdblog.wordpress.com/2017/07/14/freebsd-tor-relay-using-priveledge-seperation/" target="_blank" rel="nofollow noopener"&gt;Running a TOR relay on FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;There are 2 main steps to getting a TOR relay working on FreeBSD:

&lt;ul&gt;
&lt;li&gt;Installing and configuring Tor&lt;/li&gt;
&lt;li&gt;Using an edge router to do port translation&lt;/li&gt;
&lt;li&gt;In my case I wanted TOR to run it’s services on ports 80 and 443 but any port under 1024 requires root access in UNIX systems.
+So I used port mapping on my router to map the ports.
+Begin by installing TOR and ARM from:
&lt;code&gt;
/usr/ports/security/tor/
/usr/ports/security/arm/
&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Arm is the Anonymizing Relay Monitor: &lt;a href="https://www.torproject.org/projects/arm.html.en" target="_blank" rel="nofollow noopener"&gt;https://www.torproject.org/projects/arm.html.en&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;It provides useful monitoring graph and can be used to configure the torrc file.&lt;/li&gt;
&lt;li&gt;Next step edit the torrc file (see Blog article for the edit)&lt;/li&gt;
&lt;li&gt;It is handy to add the following lines to /etc/services so you can more easily modify your pf configuration.
&lt;code&gt;
torproxy 9050/tcp #torsocks
torOR 9090/tcp #torOR
torDIR 9099/tcp #torDIR
&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;To allow TOR services my pf.conf has the following lines:
&lt;code&gt;
# interfaces
lan_if=”re0″
wifi_if=”wlan0″
interfaces=”{wlan0,re0}”
tcp_services = “{   ssh torproxy torOR torDIR  }”
# options
set block-policy drop
set loginterface $lan_if
# pass on lo
set skip on lo
scrub in on $lan_if all fragment reassemble
# NAT
nat on $lan_if from $wifi_if:network to !($lan_if) -&amp;gt; ($lan_if)
block all
antispoof for $interfaces
#In NAT
pass in log on $wifi_if inet
pass out all keep state
#ICMP
pass out log inet proto icmp from any to any keep state
pass in log quick inet proto icmp from any to any keep state
#SSH
pass in inet proto tcp to $lan_if port ssh
pass in inet proto tcp to $wifi_if port ssh
#TCP Services on Server
pass in inet proto tcp to $interfaces port $tcp_services keep state
&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The finally part is mapping the ports as follows:
&lt;code&gt;
TOR directory port: LANIP:9099 —&amp;gt; WANIP:80
TOR router port: LANIP:9090 —-&amp;gt; WANIP:443
&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Now enable TOR:
&lt;code&gt;$ sudo echo “tor_enable=YES” &amp;gt;&amp;gt; /etc/rc.conf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Start TOR:
&lt;code&gt;$ sudo service tor start&lt;/code&gt;
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://unixseclab.com/index.php/2017/06/12/openbsd-as-a-desktop-laptop/" target="_blank" rel="nofollow noopener"&gt;OpenBSD as a “Desktop” (Laptop)&lt;/a&gt;&lt;br&gt;
&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2017-July/625997.html" target="_blank" rel="nofollow noopener"&gt;Sascha Wildner has updated ACPICA in DragonFly to Intel’s version 20170629&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.dragonflydigest.com/2017/07/18/19991.html" target="_blank" rel="nofollow noopener"&gt;Dport, Rust, and updates for DragonFlyBSD&lt;/a&gt;&lt;br&gt;
&lt;a href="https://opnsense.org/opnsense-17-7-rc1/" target="_blank" rel="nofollow noopener"&gt;OPNsense 17.7 RC1 released&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.networkworld.com/article/3205148/linux/unix-s-mysterious-andand-and.html#tk.rss_unixasasecondlanguage" target="_blank" rel="nofollow noopener"&gt;Unix’s mysterious &amp;amp;&amp;amp; and ||&lt;/a&gt;&lt;br&gt;
&lt;a href="http://boingboing.net/2017/06/16/cyberspace-is-everting.html" target="_blank" rel="nofollow noopener"&gt;The Commute Deck : A Homebrew Unix terminal for tight places&lt;/a&gt;&lt;br&gt;
&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-July/087407.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.1-RC3 now available&lt;/a&gt;&lt;br&gt;
&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2017-July/313528.html" target="_blank" rel="nofollow noopener"&gt;Installing DragonFlyBSD with ORCA when you’re totally blind&lt;/a&gt;&lt;br&gt;
&lt;a href="http://imgur.com/gallery/dc1pu" target="_blank" rel="nofollow noopener"&gt;Who says FreeBSD can’t look good&lt;/a&gt;&lt;br&gt;
&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170716160129" target="_blank" rel="nofollow noopener"&gt;Pratik Vyas adds the ability to do paused VM migrations for VMM&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://dpaste.com/0EXV173#wrap" target="_blank" rel="nofollow noopener"&gt;Hrvoje - OpenBSD MP Networking&lt;/a&gt;&lt;br&gt;
&lt;a href="http://dpaste.com/1N853NG#wrap" target="_blank" rel="nofollow noopener"&gt;Goran - debuggers&lt;/a&gt;&lt;br&gt;
&lt;a href="http://dpaste.com/1JXQY5E#wrap" target="_blank" rel="nofollow noopener"&gt;Abhinav - man-k&lt;/a&gt;&lt;br&gt;
&lt;a href="http://dpaste.com/01ERMEQ#wrap" target="_blank" rel="nofollow noopener"&gt;Liam - university setup&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>In this episode, we clear up the myth about scrub of death, look at Wayland and Weston on FreeBSD, Intel QuickAssist is here, and we check out OpenSMTP on OpenBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3>Matt Ahrens answers questions about the “Scrub of Death”</h3>

<ul>
<li>In working on the breakdown of that ZFS article last week, Matt Ahrens contacted me and provided some answers he has given to questions in the past, allowing me to answer them using HIS exact words.</li>
<li>“ZFS has an operation, called SCRUB, that is used to check all data in the pool and recover any data that is incorrect. However, if a bug which make errors on the pool persist (for example, a system with bad non-ecc RAM) then SCRUB can cause damage to a pool instead of recover it. I heard it called the “SCRUB of death” somewhere. Therefore, as far as I understand, using SCRUB without ECC memory is dangerous.”
&gt; I don't believe that is accurate.  What is the proposed mechanism by which scrub can corrupt a lot of data, with non-ECC memory?
&gt; ZFS repairs bad data by writing known good data to the bad location on disk.  The checksum of the data has to verify correctly for it to be considered "good".  An undetected memory error could change the in-memory checksum or data, causing ZFS to incorrectly think that the data on disk doesn’t match the checksum.  In that case, ZFS would attempt to repair the data by first re-reading the same offset on disk, and then reading from any other available copies of the data (e.g. mirrors, ditto blocks, or RAIDZ reconstruction).  If any of these attempts results in data that matches the checksum, then the data will be written on top of the (supposed) bad data.  If the data was actually good, then overwriting it with the same good data doesn’t hurt anything.
&gt; Let's look at what will happen with 3 types of errors with non-ECC memory:
&gt; 1. Rare, random errors (e.g. particle strikes - say, less than one error per GB per second). If ZFS finds data that matches the checksum, then we know that we have the correct data (at least at that point in time, with probability 1-1/2<sup>256).</sup>  If there are a lot of memory errors happening at a high rate, or if the in-memory checksum was corrupt, then ZFS won’t be able to find a good copy of the data , so it won’t do a repair write.  It’s possible that the correctly-checksummed data is later corrupted in memory, before the repair write.  However, the window of vulnerability is very very small - on the order of milliseconds between when the checksum is verified, and when the write to disk completes.  It is implausible that this tiny window of memory vulnerability would be hit repeatedly.
&gt; 2. Memory that pretty much never does the right thing. (e.g. huge rate of particle strikes, all memory always reads 0, etc). In this case, critical parts of kernel memory (e.g. instructions) will be immediately corrupted, causing the system to panic and not be able to boot again.
&gt; 3. One or a few memory locations have "stuck bits", which always read 0 (or always read 1). This is the scenario discussed in the message which (I believe) originally started the "Scrub of Death" myth: <a href="https://forums.freenas.org/index.php?threads/ecc-vs-non-ecc-ram-and-zfs.15449/" target="_blank" rel="nofollow noopener">https://forums.freenas.org/index.php?threads/ecc-vs-non-ecc-ram-and-zfs.15449/</a>  This assumes that we read in some data from disk to a memory location with a stuck bit, "correct" that same bad memory location by overwriting the memory with the correct data, and then we write the bad memory location to disk.  However, ZFS doesn't do that.  (It seems the author thinks that ZFS uses parity, which it only does when using RAID-Z.  Even with RAID-Z, we also verify the checksum, and we don't overwrite the bad memory location.)
&gt; Here's what ZFS will actually do in this scenario: If ZFS reads data from disk into a memory location with a stuck bit, it will detect a checksum mismatch and try to find a good copy of the data to repair the "bad" disk. ZFS will allocate a new, different memory location to read a 2nd copy of the data, e.g. from the other side of a mirror (this happens near the end of dsl_scan_scrub_cb()).  If the new memory location also has a stuck bit, then its checksum will also fail, so we won't use it to repair the "bad" disk.  If the checksum of the 2nd copy of the data is correct, then we will write it to the "bad" disk.  This write is unnecessary, because the "bad" disk is not really bad, but it is overwriting the good data with the same good data.
&gt; I believe that this misunderstanding stems from the idea that ZFS fixes bad data by overwriting it in place with good data.  In reality, ZFS overwrites the location on disk, using a different memory location for each read from disk.  The "Scrub of Death" myth assumes that ZFS overwrites the location <em>in memory</em>, which it doesn't do.
&gt; In summary, there's no plausible scenario where ZFS would amplify a small number of memory errors, causing a "scrub of death".  Additionally, compared to other filesystems, ZFS checksums provide some additional protection against bad memory.</li>
<li> “Is it true that ZFS verifies the checksum of every block on every read from disk?”
&gt; Yes</li>
<li>“And if that block is incorrect, that ZFS will repair it?”
&gt; Yes</li>
<li>“If yes, is it possible set options or flag for change that behavior? For example, I would like for ZFS to verify checksums during any read, but not change anything and only report about issues if it appears. Is it possible?”
&gt; There isn't any built-in flag for doing that.  It wouldn't be hard to add one though.</li>
<li>If you just wanted to verify data, without attempting to correct it, you could read or scan the data with the pool was imported read-only</li>
<li>“If using a mirror, when a file is read, is it fully read and verified from both sides of the mirror?”
&gt; No, for performance purposes, each block is read from only one side of the mirror (assuming there is no checksum error).</li>
<li>“What is the difference between a scrub and copying every file to /dev/null?”
&gt; That won't check all copies of the file (e.g. it won't check both sides of the mirror).
***</li>
</ul>

<h3><a href="https://euroquis.nl/bobulate/?p=1617" target="_blank" rel="nofollow noopener">Wayland, and Weston, and FreeBSD - Oh My!</a></h3>

<blockquote>
<p>KDE’s CI system for FreeBSD (that is, what upstream runs to continuously test KDE git code on the FreeBSD platform) is missing some bits and failing some tests because of Wayland. Or rather, because FreeBSD now has Wayland, but not Qt5-Wayland, and no Weston either (the reference implementation of a Wayland compositor).<br>
Today I went hunting for the bits and pieces needed to make that happen. Fortunately, all the heavy lifting has already been done: there is a Weston port prepared and there was a Qt5-Wayland port well-hidden in the Area51 plasma5/ branch.<br>
I have taken the liberty of pulling them into the Area51 repository as branch qtwayland. That way we can nudge Weston forward, and/or push Qt5-Wayland in separately. Nicest from a testing perspective is probably doing both at the same time.<br>
I picked a random “Hello World” Wayland tutorial and also built a minimal Qt program (using QMessageBox::question, my favorite function to hate right now, because of its i18n characteristics). Then, setting XDG_RUNTIME_DIR to /tmp/xdg, I could start Weston (as an X11 client), wayland-hello (as a Wayland client, displaying in Weston) and qt-hello (as either an X11 client, or as a Wayland client).<br>
So this gives users of Area51 (while shuffling branches, granted) a modern desktop and modern display capabilities. Oh my!<br>
It will take a few days for this to trickle up and/or down so that the CI can benefit and we can make sure that KWin’s tests all work on FreeBSD, but it’s another good step towards tight CI and another small step towards KDE Plasma 5 on the desktop on FreeBSD.</p>

<hr>
</blockquote>

<h3><a href="https://blog.netbsd.org/tnf/entry/pkgsrccon_2017_report" target="_blank" rel="nofollow noopener">pkgsrcCon 2017 report</a></h3>

<blockquote>
<p>This years pkgsrcCon returned to London once again. It was last held in London back in 2014. The 2014 con was the first pkgsrcCon I attended, I had been working on Darwin/PowerPC fixes for some months and presented on the progress I'd made with a 12" G4 PowerBook. I took away a G4 Mac Mini that day to help spare the PowerBook for use and dedicate a machine for build and testing. The offer of PowerPC hardware donations was repeated at this years con, thanks to jperkin@ who showed up with a backpack full of Mac Minis (more on that later).<br>
Since 2014 we have held cons in Berlin (2015) &amp; Krakow (2016). In Krakow we had talks about a wide range of projects over 2 days, from Haiku Ports to Common Lisp to midipix (building native PE binaries for Windows) and back to the BSDs. I was very pleased to continue the theme of a diverse program this year.<br>
Aside from pkgsrc and NetBSD, we had talks about FreeBSD, OpenBSD, Slackware Linux, and Plan 9. Things began with a pub gathering on the Friday for the pre-con social, we hung out and chatted till almost midnight on a wide range of topics, such as supporting a system using NFS on MS-DOS, the origins of pdksh, corporate IT, culture and many other topics.<br>
On parting I was asked about the starting time on Saturday as there was some conflicting information. I learnt that the registration email had stated a later start than I had scheduled for &amp; advertised on the website, by 30 minutes. Lesson learnt: register for your own event! Not a problem, I still needed to setup a webpage for the live video stream, I could do both when I got back. With some trimming here and there I had a new schedule, I posted that to the pkgsrcCon website and moved to trying to setup a basic web page which contained a snippet of javascript to play a live video stream from Scale Engine.  2+ hours later, it was pointed out that the XSS protection headers on pkgsrc.org breaks the functionality. Thanks to jmcneill@ for debugging and providing a working page.<br>
Saturday started off with Giovanni Bechis speaking about pledge in OpenBSD and adding support to various packages in their ports tree, alnsn@ then spoke about installing packages from a repo hosted on the Tor network.<br>
After a quick coffee break we were back to hear Charles Forsyth speak about how Plan 9 and Inferno dealt with portability, building software and the problem which are avoided by the environment there. This was followed by a very energetic rant by David Spencer from the Slackbuilds project on packaging 3rd party software. Slackbuilds is a packaging system for Slackware Linux, which was inspired by FreeBSD ports.<br>
For the first slot after lunch, agc@ gave a talk on the early history of pkgsrc followed by Thomas Merkel on using vagrant to test pkgsrc changes with ease, locally, using vagrant. khorben@ covered his work on adding security to pkgsrc and bsiegert@ covered the benefits of performing our bulk builds in the cloud and the challenges we currently face.<br>
My talk was about some topics and ideas which had inspired me or caught my attention, and how it could maybe apply to my work.The title of the talk was taken from the name of Andrew Weatherall's Saint Etienne remix, possibly referring to two different styles of track (dub &amp; vocal) merged into one or something else. I meant it in terms of applicability of thoughts and ideas. After me, agc@ gave a second talk on the evolution of the Netflix Open Connect appliance which runs FreeBSD and Vsevolod Stakhov wrapped up the day with a talk about the technical implementation details of the successor to pkg_tools in FreeBSD, called pkg, and how it could be of benefit for pkgsrc.<br>
For day 2 we gathered for a hack day at the London Hack Space.<br>
I had burn't some some CD of the most recent macppc builds of NetBSD 8.0_BETA and -current to install and upgrade Mac Minis. I setup the donated G4 minis for everyone in a dual-boot configuration and moved on to taking apart my MacBook Air to inspect the wifi adapter as I wanted to replace it with something which works on FreeBSD. It was not clear from the ifixit teardown photos of cards size, it seemed like a normal mini-PCIe card but it turned out to be far smaller. Thomas had also had the same card in his and we are not alone. Thomas has started putting together a driver for the Broadcom card, the project is still in its early days and lacks support for encrypted networks but hopefully it will appear on review.freebsd.org in the future.<br>
weidi@ worked on fixing SunOS bugs in various packages and later in the night we setup a NetBSD/macppc bulk build environment together on his Mac Mini.<br>
Thomas setup an OpenGrock instance to index the source code of all the software available for packaging in pkgsrc. This helps make the evaluation of changes easier and the scope of impact a little quicker without having to run through a potentially lengthy bulk build with a change in mind to realise the impact. bsiegert@ cleared his ticket and email backlog for pkgsrc and alnsn@ got NetBSD/evbmips64-eb booting on his EdgeRouter Lite.<br>
On Monday we reconvened at the Hack Space again and worked some more. I started putting together the talks page with the details from Saturday and the the slides which I had received, in preparation for the videos which would come later in the week. By 3pm pkgsrcCon was over. I was pretty exhausted but really pleased to have had a few days of techie fun.<br>
Many thanks to The NetBSD Foundation for purchasing a camera to use for streaming the event and a speedy response all round by the board. The Open Source Specialist Group at BCS, The Chartered Institute for IT and the London Hack Space for hosting us. Scale Engine for providing streaming facility. weidi@ for hosting the recorded videos. Allan Jude for pointers, Jared McNeill for debugging, NYCBUG and Patrick McEvoy for tips on streaming, the attendees and speakers. This year we had speakers from USA, Italy, Germany and London E2. Looking forward to pkgsrcCon 2018!<br>
The videos and slides are available <a href="http://www.pkgsrc.org/pkgsrcCon/2017/talks.html" target="_blank" rel="nofollow noopener">here</a> and the <a href="http://archive.org/details/pkgsrcCon-2017" target="_blank" rel="nofollow noopener">Internet Archive</a>.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://www.servethehome.com/quickassist-driver-freebsd-pfsupport-coming/" target="_blank" rel="nofollow noopener">QuickAssist Driver for FreeBSD is here and pfSense Support Coming</a></h3>

<blockquote>
<p>This week we have something that STH readers will be excited about. Before I started writing for STH, I was a reader and had been longing for QuickAssist support ever since STH’s first Rangeley article over three and a half years ago. It was clear from the get-go that Rangeley was going to be the preeminent firewall appliance platform of its day. The scope of products that were impacted by the Intel Atom C2000 series bug showed us it was indeed. For my personal firewalls, I use pfSense on that Rangeley platform so I have been waiting to use QuickAssist with my hardware for almost an entire product generation.</p>

<ul>
<li>New Hardware and QuickAssist Incoming to pfSense (Finally)
pfSense (and a few other firewalls) are based on FreeBSD. FreeBSD tends to lag driver support behind mainstream Linux but it is popular for embedded security appliances. While STH is the only site to have done QuickAssist benchmarks for OpenSSL and IPSec VPNs pre-Skylake, we expect more platforms to use it now that the new Intel Xeon Scalable Processor Family is out. With the Xeon Scalable platforms, the “Lewisburg” PCH has QuickAssist options of up to 100Gbps, or 2.5x faster than the previous generation add-in cards we tested (40Gbps.) We now have more and better hardware for QAT, but we were still devoid of a viable FreeBSD QAT driver from Intel. That has changed.
Our Intel Xeon Scalable Processor Family (Skylake-SP) Launch Coverage Central has been the focus of the STH team’s attention this week. There was another important update from Intel that got buried, a publicly available Intel QuickAssist driver for FreeBSD. You can find the driver on 01.org here dated July 12, 2017.
Drivers are great, but we still need support to be enabled in the OS and at the application layer. Patrick forwarded me this tweet from Jim Thompson (lead at Netgate the company behind pfSense):
The Netgate team has been a key company pushing QuickAssist appliances in the market, usually based on Linux. To see that QAT is coming to FreeBSD and that they were working to integrate into “pfSense soon” is more than welcome.
For STH readers, get ready. It appears to be actually and finally happening. QuickAssist on FreeBSD and pfSense
***</li>
</ul>
</blockquote>

<h3><a href="https://jcs.org/2017/07/14/matebook" target="_blank" rel="nofollow noopener">OpenBSD on the Huawei MateBook X</a></h3>

<blockquote>
<p>The Huawei MateBook X is a high-quality 13" ultra-thin laptop with a fanless Core i5 processor. It is obviously biting the design of the Apple 12" MacBook, but it does have some notable improvements such as a slightly larger screen, a more usable keyboard with adequate key travel, and 2 USB-C ports.<br>
It also uses more standard PC components than the MacBook, such as a PS/2-connected keyboard, removable m.2 WiFi card, etc., so its OpenBSD compatibility is quite good.<br>
In contrast to the Xiaomi Mi Air, the MateBook is actually sold (2) in the US and comes with a full warranty and much higher build quality (though at twice the price). It is offered in the US in a "space gray" color for the Core i5 model and a gold color for the Core i7.<br>
The fanless Core i5 processor feels snappy and doesn't get warm during normal usage on OpenBSD. Doing a make -j4 build at full CPU speed does cause the laptop to get warm, though the palmrest maintains a usable temperature.<br>
The chassis is all aluminum and has excellent rigidity in the keyboard area. The 13.0" 2160x1440 glossy IPS "Gorilla glass" screen has a very small bezel and its hinge is properly weighted to allow opening the lid with one hand. There is no wobble in the screen when open, even when jostling the desk that the laptop sits on. It has a reported brightness of 350 nits.<br>
I did not experience any of the UEFI boot variable problems that I did with the Xiaomi, and the MateBook booted quickly into OpenBSD after re-initializing the GPT table during installation.</p>

<hr>
</blockquote>

<h3><a href="https://blog.cagedmonster.net/opensmtpd-under-openbsd-with-ssl-virtualusers-dovecot/" target="_blank" rel="nofollow noopener">OpenSMTPD under OpenBSD with SSL/VirtualUsers/Dovecot</a></h3>

<ul>
<li>During the 2013 AsiaBSDCon, the team of OpenBSD presented its mail solution named OpenSMTPD. </li>
<li>Developed by the OpenBSD team, we find the so much appreciated philosophy of its developers : security, simplicity / clarity and advanced features.</li>
<li>Basic configuration : OpenSMTPD is installed by default, we can immediately start with a simple configuration.
&gt; We listen on our interfaces, we specify the path of our aliases file so we can manage redirections. 
&gt; Mails will be delivered for the domain cagedmonster.net to mbox (the local users mailbox), same for the aliases. 
&gt; Finally, we accept to relay local mails exclusively.
&gt; We can now enable smtpd at system startup and start the daemon.</li>
<li>Advanced configuration including TLS :

<ul>
<li>You can use SSL with : A self-signed certificate (which will not be trusted) or a certificate generated by a trusted authority. LetsEncrypt uses Certbot to generated your certificate. You can check this page for further informations. Let's focus on the first.</li>
<li>Generation of the certificate :</li>
<li>We fix the permissions :</li>
<li>We edit the config file :
&gt; We have a mail server with SSL, it's time to configure our IMAP server, Dovecot, and manage the creation of virtual users.</li>
</ul></li>
<li>Dovecot setup, and creation of Virtual Users : We will use the package system of OpenBSD, so please check the configuration of your /etc/pkg.conf file.

<ul>
<li>Enable the service at system startup :</li>
<li>Setup the Virtual Users structure :</li>
<li>Adding the passwd table for smtpd :</li>
<li>Modification of the OpenSMTPD configuration :</li>
<li>We declare the files used for our Virtual Accounts, we include SSL, and we configure mails delivery via the Dovecot lmtp socket.</li>
<li>We'll create our user <a href="mailto:lina@cagedmonster.net" target="_blank" rel="nofollow noopener">lina@cagedmonster.net</a> and set its password.</li>
<li>Configure SSL</li>
<li>Configure dovecot.conf</li>
<li>Configure mail.con</li>
<li>Configure login.conf : Make sure that the value of openfiles-cur in /etc/login.conf is equal or superior of 1000 !</li>
<li>Starting Dovecot
***</li>
</ul></li>
</ul>

<h3><a href="https://blog.cagedmonster.net/opensmtpd-and-dovecot-under-openbsd-with-mysql-support-and-spamd/" target="_blank" rel="nofollow noopener">OpenSMTPD and Dovecot under OpenBSD with MySQL support and SPAMD</a></h3>

<blockquote>
<p>This article is the continuation of my previous tutorial OpenSMTPD under OpenBSD with SSL/VirtualUsers/Dovecot. We'll use the same configuration and add some features so we can :<br>
Use our domains, aliases, virtual users with a MySQL database (MariaDB under OpenBSD).<br>
Deploy SPAMD with OpenSMTPD for a strong antispam solution.</p>

<ul>
<li>Setup of the MySQL support for OpenSMTPD &amp; Dovecot</li>
<li>We create our SQL database named « smtpd » </li>
<li>We create our SQL user « opensmtpd » we give him the privileges on our SQL database and we set its password </li>
<li>We create the structure of our SQL database</li>
<li>We generate our password with Blowfish (remember it's OpenBSD !) for our users</li>
<li>We create our tables and we include our datas</li>
<li>We push everything to our database</li>
<li>Time to configure OpenSMTPD</li>
<li>We create our mysql.conf file and configure it </li>
<li>Configuration of Dovecot.conf</li>
<li>Configuration of auth-sql.conf.ext</li>
<li>Configuration of dovecot-sql.conf.ext</li>
<li>Restart our services
OpenSMTPD &amp; SPAMD :
SPAMD is a service simulating a fake SMTP server and relying on strict compliance with RFC to determine whether the server delivering a mail is a spammer or not. </li>
<li>Configuration of SPAMD :</li>
<li>Enable SPAMD &amp; SPAMLOGD at system startup :</li>
<li>Configuration of SPAMD flags </li>
<li>Configuration of PacketFilter</li>
<li>Configuration of SPAMD </li>
<li>Start SPAMD &amp; SPAMLOGD 
***
###<a href="https://networkingbsdblog.wordpress.com/2017/07/14/freebsd-tor-relay-using-priveledge-seperation/" target="_blank" rel="nofollow noopener">Running a TOR relay on FreeBSD</a></li>
<li>There are 2 main steps to getting a TOR relay working on FreeBSD:

<ul>
<li>Installing and configuring Tor</li>
<li>Using an edge router to do port translation</li>
<li>In my case I wanted TOR to run it’s services on ports 80 and 443 but any port under 1024 requires root access in UNIX systems.
+So I used port mapping on my router to map the ports.
+Begin by installing TOR and ARM from:
<code>
/usr/ports/security/tor/
/usr/ports/security/arm/
</code></li>
</ul></li>
<li>Arm is the Anonymizing Relay Monitor: <a href="https://www.torproject.org/projects/arm.html.en" target="_blank" rel="nofollow noopener">https://www.torproject.org/projects/arm.html.en</a></li>
<li>It provides useful monitoring graph and can be used to configure the torrc file.</li>
<li>Next step edit the torrc file (see Blog article for the edit)</li>
<li>It is handy to add the following lines to /etc/services so you can more easily modify your pf configuration.
<code>
torproxy 9050/tcp #torsocks
torOR 9090/tcp #torOR
torDIR 9099/tcp #torDIR
</code></li>
<li>To allow TOR services my pf.conf has the following lines:
<code>
# interfaces
lan_if=”re0″
wifi_if=”wlan0″
interfaces=”{wlan0,re0}”
tcp_services = “{   ssh torproxy torOR torDIR  }”
# options
set block-policy drop
set loginterface $lan_if
# pass on lo
set skip on lo
scrub in on $lan_if all fragment reassemble
# NAT
nat on $lan_if from $wifi_if:network to !($lan_if) -&gt; ($lan_if)
block all
antispoof for $interfaces
#In NAT
pass in log on $wifi_if inet
pass out all keep state
#ICMP
pass out log inet proto icmp from any to any keep state
pass in log quick inet proto icmp from any to any keep state
#SSH
pass in inet proto tcp to $lan_if port ssh
pass in inet proto tcp to $wifi_if port ssh
#TCP Services on Server
pass in inet proto tcp to $interfaces port $tcp_services keep state
</code></li>
<li>The finally part is mapping the ports as follows:
<code>
TOR directory port: LANIP:9099 —&gt; WANIP:80
TOR router port: LANIP:9090 —-&gt; WANIP:443
</code></li>
<li>Now enable TOR:
<code>$ sudo echo “tor_enable=YES” &gt;&gt; /etc/rc.conf</code></li>
<li>Start TOR:
<code>$ sudo service tor start</code>
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<p><a href="http://unixseclab.com/index.php/2017/06/12/openbsd-as-a-desktop-laptop/" target="_blank" rel="nofollow noopener">OpenBSD as a “Desktop” (Laptop)</a><br>
<a href="http://lists.dragonflybsd.org/pipermail/commits/2017-July/625997.html" target="_blank" rel="nofollow noopener">Sascha Wildner has updated ACPICA in DragonFly to Intel’s version 20170629</a><br>
<a href="https://www.dragonflydigest.com/2017/07/18/19991.html" target="_blank" rel="nofollow noopener">Dport, Rust, and updates for DragonFlyBSD</a><br>
<a href="https://opnsense.org/opnsense-17-7-rc1/" target="_blank" rel="nofollow noopener">OPNsense 17.7 RC1 released</a><br>
<a href="http://www.networkworld.com/article/3205148/linux/unix-s-mysterious-andand-and.html#tk.rss_unixasasecondlanguage" target="_blank" rel="nofollow noopener">Unix’s mysterious &amp;&amp; and ||</a><br>
<a href="http://boingboing.net/2017/06/16/cyberspace-is-everting.html" target="_blank" rel="nofollow noopener">The Commute Deck : A Homebrew Unix terminal for tight places</a><br>
<a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-July/087407.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-RC3 now available</a><br>
<a href="http://lists.dragonflybsd.org/pipermail/users/2017-July/313528.html" target="_blank" rel="nofollow noopener">Installing DragonFlyBSD with ORCA when you’re totally blind</a><br>
<a href="http://imgur.com/gallery/dc1pu" target="_blank" rel="nofollow noopener">Who says FreeBSD can’t look good</a><br>
<a href="http://undeadly.org/cgi?action=article&amp;sid=20170716160129" target="_blank" rel="nofollow noopener">Pratik Vyas adds the ability to do paused VM migrations for VMM</a></p>

<hr>

<h2>Feedback/Questions</h2>

<p><a href="http://dpaste.com/0EXV173#wrap" target="_blank" rel="nofollow noopener">Hrvoje - OpenBSD MP Networking</a><br>
<a href="http://dpaste.com/1N853NG#wrap" target="_blank" rel="nofollow noopener">Goran - debuggers</a><br>
<a href="http://dpaste.com/1JXQY5E#wrap" target="_blank" rel="nofollow noopener">Abhinav - man-k</a><br>
<a href="http://dpaste.com/01ERMEQ#wrap" target="_blank" rel="nofollow noopener">Liam - university setup</a></p>

<hr>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>In this episode, we clear up the myth about scrub of death, look at Wayland and Weston on FreeBSD, Intel QuickAssist is here, and we check out OpenSMTP on OpenBSD.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3>Matt Ahrens answers questions about the “Scrub of Death”</h3>

<ul>
<li>In working on the breakdown of that ZFS article last week, Matt Ahrens contacted me and provided some answers he has given to questions in the past, allowing me to answer them using HIS exact words.</li>
<li>“ZFS has an operation, called SCRUB, that is used to check all data in the pool and recover any data that is incorrect. However, if a bug which make errors on the pool persist (for example, a system with bad non-ecc RAM) then SCRUB can cause damage to a pool instead of recover it. I heard it called the “SCRUB of death” somewhere. Therefore, as far as I understand, using SCRUB without ECC memory is dangerous.”
&gt; I don't believe that is accurate.  What is the proposed mechanism by which scrub can corrupt a lot of data, with non-ECC memory?
&gt; ZFS repairs bad data by writing known good data to the bad location on disk.  The checksum of the data has to verify correctly for it to be considered "good".  An undetected memory error could change the in-memory checksum or data, causing ZFS to incorrectly think that the data on disk doesn’t match the checksum.  In that case, ZFS would attempt to repair the data by first re-reading the same offset on disk, and then reading from any other available copies of the data (e.g. mirrors, ditto blocks, or RAIDZ reconstruction).  If any of these attempts results in data that matches the checksum, then the data will be written on top of the (supposed) bad data.  If the data was actually good, then overwriting it with the same good data doesn’t hurt anything.
&gt; Let's look at what will happen with 3 types of errors with non-ECC memory:
&gt; 1. Rare, random errors (e.g. particle strikes - say, less than one error per GB per second). If ZFS finds data that matches the checksum, then we know that we have the correct data (at least at that point in time, with probability 1-1/2<sup>256).</sup>  If there are a lot of memory errors happening at a high rate, or if the in-memory checksum was corrupt, then ZFS won’t be able to find a good copy of the data , so it won’t do a repair write.  It’s possible that the correctly-checksummed data is later corrupted in memory, before the repair write.  However, the window of vulnerability is very very small - on the order of milliseconds between when the checksum is verified, and when the write to disk completes.  It is implausible that this tiny window of memory vulnerability would be hit repeatedly.
&gt; 2. Memory that pretty much never does the right thing. (e.g. huge rate of particle strikes, all memory always reads 0, etc). In this case, critical parts of kernel memory (e.g. instructions) will be immediately corrupted, causing the system to panic and not be able to boot again.
&gt; 3. One or a few memory locations have "stuck bits", which always read 0 (or always read 1). This is the scenario discussed in the message which (I believe) originally started the "Scrub of Death" myth: <a href="https://forums.freenas.org/index.php?threads/ecc-vs-non-ecc-ram-and-zfs.15449/" target="_blank" rel="nofollow noopener">https://forums.freenas.org/index.php?threads/ecc-vs-non-ecc-ram-and-zfs.15449/</a>  This assumes that we read in some data from disk to a memory location with a stuck bit, "correct" that same bad memory location by overwriting the memory with the correct data, and then we write the bad memory location to disk.  However, ZFS doesn't do that.  (It seems the author thinks that ZFS uses parity, which it only does when using RAID-Z.  Even with RAID-Z, we also verify the checksum, and we don't overwrite the bad memory location.)
&gt; Here's what ZFS will actually do in this scenario: If ZFS reads data from disk into a memory location with a stuck bit, it will detect a checksum mismatch and try to find a good copy of the data to repair the "bad" disk. ZFS will allocate a new, different memory location to read a 2nd copy of the data, e.g. from the other side of a mirror (this happens near the end of dsl_scan_scrub_cb()).  If the new memory location also has a stuck bit, then its checksum will also fail, so we won't use it to repair the "bad" disk.  If the checksum of the 2nd copy of the data is correct, then we will write it to the "bad" disk.  This write is unnecessary, because the "bad" disk is not really bad, but it is overwriting the good data with the same good data.
&gt; I believe that this misunderstanding stems from the idea that ZFS fixes bad data by overwriting it in place with good data.  In reality, ZFS overwrites the location on disk, using a different memory location for each read from disk.  The "Scrub of Death" myth assumes that ZFS overwrites the location <em>in memory</em>, which it doesn't do.
&gt; In summary, there's no plausible scenario where ZFS would amplify a small number of memory errors, causing a "scrub of death".  Additionally, compared to other filesystems, ZFS checksums provide some additional protection against bad memory.</li>
<li> “Is it true that ZFS verifies the checksum of every block on every read from disk?”
&gt; Yes</li>
<li>“And if that block is incorrect, that ZFS will repair it?”
&gt; Yes</li>
<li>“If yes, is it possible set options or flag for change that behavior? For example, I would like for ZFS to verify checksums during any read, but not change anything and only report about issues if it appears. Is it possible?”
&gt; There isn't any built-in flag for doing that.  It wouldn't be hard to add one though.</li>
<li>If you just wanted to verify data, without attempting to correct it, you could read or scan the data with the pool was imported read-only</li>
<li>“If using a mirror, when a file is read, is it fully read and verified from both sides of the mirror?”
&gt; No, for performance purposes, each block is read from only one side of the mirror (assuming there is no checksum error).</li>
<li>“What is the difference between a scrub and copying every file to /dev/null?”
&gt; That won't check all copies of the file (e.g. it won't check both sides of the mirror).
***</li>
</ul>

<h3><a href="https://euroquis.nl/bobulate/?p=1617" target="_blank" rel="nofollow noopener">Wayland, and Weston, and FreeBSD - Oh My!</a></h3>

<blockquote>
<p>KDE’s CI system for FreeBSD (that is, what upstream runs to continuously test KDE git code on the FreeBSD platform) is missing some bits and failing some tests because of Wayland. Or rather, because FreeBSD now has Wayland, but not Qt5-Wayland, and no Weston either (the reference implementation of a Wayland compositor).<br>
Today I went hunting for the bits and pieces needed to make that happen. Fortunately, all the heavy lifting has already been done: there is a Weston port prepared and there was a Qt5-Wayland port well-hidden in the Area51 plasma5/ branch.<br>
I have taken the liberty of pulling them into the Area51 repository as branch qtwayland. That way we can nudge Weston forward, and/or push Qt5-Wayland in separately. Nicest from a testing perspective is probably doing both at the same time.<br>
I picked a random “Hello World” Wayland tutorial and also built a minimal Qt program (using QMessageBox::question, my favorite function to hate right now, because of its i18n characteristics). Then, setting XDG_RUNTIME_DIR to /tmp/xdg, I could start Weston (as an X11 client), wayland-hello (as a Wayland client, displaying in Weston) and qt-hello (as either an X11 client, or as a Wayland client).<br>
So this gives users of Area51 (while shuffling branches, granted) a modern desktop and modern display capabilities. Oh my!<br>
It will take a few days for this to trickle up and/or down so that the CI can benefit and we can make sure that KWin’s tests all work on FreeBSD, but it’s another good step towards tight CI and another small step towards KDE Plasma 5 on the desktop on FreeBSD.</p>

<hr>
</blockquote>

<h3><a href="https://blog.netbsd.org/tnf/entry/pkgsrccon_2017_report" target="_blank" rel="nofollow noopener">pkgsrcCon 2017 report</a></h3>

<blockquote>
<p>This years pkgsrcCon returned to London once again. It was last held in London back in 2014. The 2014 con was the first pkgsrcCon I attended, I had been working on Darwin/PowerPC fixes for some months and presented on the progress I'd made with a 12" G4 PowerBook. I took away a G4 Mac Mini that day to help spare the PowerBook for use and dedicate a machine for build and testing. The offer of PowerPC hardware donations was repeated at this years con, thanks to jperkin@ who showed up with a backpack full of Mac Minis (more on that later).<br>
Since 2014 we have held cons in Berlin (2015) &amp; Krakow (2016). In Krakow we had talks about a wide range of projects over 2 days, from Haiku Ports to Common Lisp to midipix (building native PE binaries for Windows) and back to the BSDs. I was very pleased to continue the theme of a diverse program this year.<br>
Aside from pkgsrc and NetBSD, we had talks about FreeBSD, OpenBSD, Slackware Linux, and Plan 9. Things began with a pub gathering on the Friday for the pre-con social, we hung out and chatted till almost midnight on a wide range of topics, such as supporting a system using NFS on MS-DOS, the origins of pdksh, corporate IT, culture and many other topics.<br>
On parting I was asked about the starting time on Saturday as there was some conflicting information. I learnt that the registration email had stated a later start than I had scheduled for &amp; advertised on the website, by 30 minutes. Lesson learnt: register for your own event! Not a problem, I still needed to setup a webpage for the live video stream, I could do both when I got back. With some trimming here and there I had a new schedule, I posted that to the pkgsrcCon website and moved to trying to setup a basic web page which contained a snippet of javascript to play a live video stream from Scale Engine.  2+ hours later, it was pointed out that the XSS protection headers on pkgsrc.org breaks the functionality. Thanks to jmcneill@ for debugging and providing a working page.<br>
Saturday started off with Giovanni Bechis speaking about pledge in OpenBSD and adding support to various packages in their ports tree, alnsn@ then spoke about installing packages from a repo hosted on the Tor network.<br>
After a quick coffee break we were back to hear Charles Forsyth speak about how Plan 9 and Inferno dealt with portability, building software and the problem which are avoided by the environment there. This was followed by a very energetic rant by David Spencer from the Slackbuilds project on packaging 3rd party software. Slackbuilds is a packaging system for Slackware Linux, which was inspired by FreeBSD ports.<br>
For the first slot after lunch, agc@ gave a talk on the early history of pkgsrc followed by Thomas Merkel on using vagrant to test pkgsrc changes with ease, locally, using vagrant. khorben@ covered his work on adding security to pkgsrc and bsiegert@ covered the benefits of performing our bulk builds in the cloud and the challenges we currently face.<br>
My talk was about some topics and ideas which had inspired me or caught my attention, and how it could maybe apply to my work.The title of the talk was taken from the name of Andrew Weatherall's Saint Etienne remix, possibly referring to two different styles of track (dub &amp; vocal) merged into one or something else. I meant it in terms of applicability of thoughts and ideas. After me, agc@ gave a second talk on the evolution of the Netflix Open Connect appliance which runs FreeBSD and Vsevolod Stakhov wrapped up the day with a talk about the technical implementation details of the successor to pkg_tools in FreeBSD, called pkg, and how it could be of benefit for pkgsrc.<br>
For day 2 we gathered for a hack day at the London Hack Space.<br>
I had burn't some some CD of the most recent macppc builds of NetBSD 8.0_BETA and -current to install and upgrade Mac Minis. I setup the donated G4 minis for everyone in a dual-boot configuration and moved on to taking apart my MacBook Air to inspect the wifi adapter as I wanted to replace it with something which works on FreeBSD. It was not clear from the ifixit teardown photos of cards size, it seemed like a normal mini-PCIe card but it turned out to be far smaller. Thomas had also had the same card in his and we are not alone. Thomas has started putting together a driver for the Broadcom card, the project is still in its early days and lacks support for encrypted networks but hopefully it will appear on review.freebsd.org in the future.<br>
weidi@ worked on fixing SunOS bugs in various packages and later in the night we setup a NetBSD/macppc bulk build environment together on his Mac Mini.<br>
Thomas setup an OpenGrock instance to index the source code of all the software available for packaging in pkgsrc. This helps make the evaluation of changes easier and the scope of impact a little quicker without having to run through a potentially lengthy bulk build with a change in mind to realise the impact. bsiegert@ cleared his ticket and email backlog for pkgsrc and alnsn@ got NetBSD/evbmips64-eb booting on his EdgeRouter Lite.<br>
On Monday we reconvened at the Hack Space again and worked some more. I started putting together the talks page with the details from Saturday and the the slides which I had received, in preparation for the videos which would come later in the week. By 3pm pkgsrcCon was over. I was pretty exhausted but really pleased to have had a few days of techie fun.<br>
Many thanks to The NetBSD Foundation for purchasing a camera to use for streaming the event and a speedy response all round by the board. The Open Source Specialist Group at BCS, The Chartered Institute for IT and the London Hack Space for hosting us. Scale Engine for providing streaming facility. weidi@ for hosting the recorded videos. Allan Jude for pointers, Jared McNeill for debugging, NYCBUG and Patrick McEvoy for tips on streaming, the attendees and speakers. This year we had speakers from USA, Italy, Germany and London E2. Looking forward to pkgsrcCon 2018!<br>
The videos and slides are available <a href="http://www.pkgsrc.org/pkgsrcCon/2017/talks.html" target="_blank" rel="nofollow noopener">here</a> and the <a href="http://archive.org/details/pkgsrcCon-2017" target="_blank" rel="nofollow noopener">Internet Archive</a>.</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="https://www.servethehome.com/quickassist-driver-freebsd-pfsupport-coming/" target="_blank" rel="nofollow noopener">QuickAssist Driver for FreeBSD is here and pfSense Support Coming</a></h3>

<blockquote>
<p>This week we have something that STH readers will be excited about. Before I started writing for STH, I was a reader and had been longing for QuickAssist support ever since STH’s first Rangeley article over three and a half years ago. It was clear from the get-go that Rangeley was going to be the preeminent firewall appliance platform of its day. The scope of products that were impacted by the Intel Atom C2000 series bug showed us it was indeed. For my personal firewalls, I use pfSense on that Rangeley platform so I have been waiting to use QuickAssist with my hardware for almost an entire product generation.</p>

<ul>
<li>New Hardware and QuickAssist Incoming to pfSense (Finally)
pfSense (and a few other firewalls) are based on FreeBSD. FreeBSD tends to lag driver support behind mainstream Linux but it is popular for embedded security appliances. While STH is the only site to have done QuickAssist benchmarks for OpenSSL and IPSec VPNs pre-Skylake, we expect more platforms to use it now that the new Intel Xeon Scalable Processor Family is out. With the Xeon Scalable platforms, the “Lewisburg” PCH has QuickAssist options of up to 100Gbps, or 2.5x faster than the previous generation add-in cards we tested (40Gbps.) We now have more and better hardware for QAT, but we were still devoid of a viable FreeBSD QAT driver from Intel. That has changed.
Our Intel Xeon Scalable Processor Family (Skylake-SP) Launch Coverage Central has been the focus of the STH team’s attention this week. There was another important update from Intel that got buried, a publicly available Intel QuickAssist driver for FreeBSD. You can find the driver on 01.org here dated July 12, 2017.
Drivers are great, but we still need support to be enabled in the OS and at the application layer. Patrick forwarded me this tweet from Jim Thompson (lead at Netgate the company behind pfSense):
The Netgate team has been a key company pushing QuickAssist appliances in the market, usually based on Linux. To see that QAT is coming to FreeBSD and that they were working to integrate into “pfSense soon” is more than welcome.
For STH readers, get ready. It appears to be actually and finally happening. QuickAssist on FreeBSD and pfSense
***</li>
</ul>
</blockquote>

<h3><a href="https://jcs.org/2017/07/14/matebook" target="_blank" rel="nofollow noopener">OpenBSD on the Huawei MateBook X</a></h3>

<blockquote>
<p>The Huawei MateBook X is a high-quality 13" ultra-thin laptop with a fanless Core i5 processor. It is obviously biting the design of the Apple 12" MacBook, but it does have some notable improvements such as a slightly larger screen, a more usable keyboard with adequate key travel, and 2 USB-C ports.<br>
It also uses more standard PC components than the MacBook, such as a PS/2-connected keyboard, removable m.2 WiFi card, etc., so its OpenBSD compatibility is quite good.<br>
In contrast to the Xiaomi Mi Air, the MateBook is actually sold (2) in the US and comes with a full warranty and much higher build quality (though at twice the price). It is offered in the US in a "space gray" color for the Core i5 model and a gold color for the Core i7.<br>
The fanless Core i5 processor feels snappy and doesn't get warm during normal usage on OpenBSD. Doing a make -j4 build at full CPU speed does cause the laptop to get warm, though the palmrest maintains a usable temperature.<br>
The chassis is all aluminum and has excellent rigidity in the keyboard area. The 13.0" 2160x1440 glossy IPS "Gorilla glass" screen has a very small bezel and its hinge is properly weighted to allow opening the lid with one hand. There is no wobble in the screen when open, even when jostling the desk that the laptop sits on. It has a reported brightness of 350 nits.<br>
I did not experience any of the UEFI boot variable problems that I did with the Xiaomi, and the MateBook booted quickly into OpenBSD after re-initializing the GPT table during installation.</p>

<hr>
</blockquote>

<h3><a href="https://blog.cagedmonster.net/opensmtpd-under-openbsd-with-ssl-virtualusers-dovecot/" target="_blank" rel="nofollow noopener">OpenSMTPD under OpenBSD with SSL/VirtualUsers/Dovecot</a></h3>

<ul>
<li>During the 2013 AsiaBSDCon, the team of OpenBSD presented its mail solution named OpenSMTPD. </li>
<li>Developed by the OpenBSD team, we find the so much appreciated philosophy of its developers : security, simplicity / clarity and advanced features.</li>
<li>Basic configuration : OpenSMTPD is installed by default, we can immediately start with a simple configuration.
&gt; We listen on our interfaces, we specify the path of our aliases file so we can manage redirections. 
&gt; Mails will be delivered for the domain cagedmonster.net to mbox (the local users mailbox), same for the aliases. 
&gt; Finally, we accept to relay local mails exclusively.
&gt; We can now enable smtpd at system startup and start the daemon.</li>
<li>Advanced configuration including TLS :

<ul>
<li>You can use SSL with : A self-signed certificate (which will not be trusted) or a certificate generated by a trusted authority. LetsEncrypt uses Certbot to generated your certificate. You can check this page for further informations. Let's focus on the first.</li>
<li>Generation of the certificate :</li>
<li>We fix the permissions :</li>
<li>We edit the config file :
&gt; We have a mail server with SSL, it's time to configure our IMAP server, Dovecot, and manage the creation of virtual users.</li>
</ul></li>
<li>Dovecot setup, and creation of Virtual Users : We will use the package system of OpenBSD, so please check the configuration of your /etc/pkg.conf file.

<ul>
<li>Enable the service at system startup :</li>
<li>Setup the Virtual Users structure :</li>
<li>Adding the passwd table for smtpd :</li>
<li>Modification of the OpenSMTPD configuration :</li>
<li>We declare the files used for our Virtual Accounts, we include SSL, and we configure mails delivery via the Dovecot lmtp socket.</li>
<li>We'll create our user <a href="mailto:lina@cagedmonster.net" target="_blank" rel="nofollow noopener">lina@cagedmonster.net</a> and set its password.</li>
<li>Configure SSL</li>
<li>Configure dovecot.conf</li>
<li>Configure mail.con</li>
<li>Configure login.conf : Make sure that the value of openfiles-cur in /etc/login.conf is equal or superior of 1000 !</li>
<li>Starting Dovecot
***</li>
</ul></li>
</ul>

<h3><a href="https://blog.cagedmonster.net/opensmtpd-and-dovecot-under-openbsd-with-mysql-support-and-spamd/" target="_blank" rel="nofollow noopener">OpenSMTPD and Dovecot under OpenBSD with MySQL support and SPAMD</a></h3>

<blockquote>
<p>This article is the continuation of my previous tutorial OpenSMTPD under OpenBSD with SSL/VirtualUsers/Dovecot. We'll use the same configuration and add some features so we can :<br>
Use our domains, aliases, virtual users with a MySQL database (MariaDB under OpenBSD).<br>
Deploy SPAMD with OpenSMTPD for a strong antispam solution.</p>

<ul>
<li>Setup of the MySQL support for OpenSMTPD &amp; Dovecot</li>
<li>We create our SQL database named « smtpd » </li>
<li>We create our SQL user « opensmtpd » we give him the privileges on our SQL database and we set its password </li>
<li>We create the structure of our SQL database</li>
<li>We generate our password with Blowfish (remember it's OpenBSD !) for our users</li>
<li>We create our tables and we include our datas</li>
<li>We push everything to our database</li>
<li>Time to configure OpenSMTPD</li>
<li>We create our mysql.conf file and configure it </li>
<li>Configuration of Dovecot.conf</li>
<li>Configuration of auth-sql.conf.ext</li>
<li>Configuration of dovecot-sql.conf.ext</li>
<li>Restart our services
OpenSMTPD &amp; SPAMD :
SPAMD is a service simulating a fake SMTP server and relying on strict compliance with RFC to determine whether the server delivering a mail is a spammer or not. </li>
<li>Configuration of SPAMD :</li>
<li>Enable SPAMD &amp; SPAMLOGD at system startup :</li>
<li>Configuration of SPAMD flags </li>
<li>Configuration of PacketFilter</li>
<li>Configuration of SPAMD </li>
<li>Start SPAMD &amp; SPAMLOGD 
***
###<a href="https://networkingbsdblog.wordpress.com/2017/07/14/freebsd-tor-relay-using-priveledge-seperation/" target="_blank" rel="nofollow noopener">Running a TOR relay on FreeBSD</a></li>
<li>There are 2 main steps to getting a TOR relay working on FreeBSD:

<ul>
<li>Installing and configuring Tor</li>
<li>Using an edge router to do port translation</li>
<li>In my case I wanted TOR to run it’s services on ports 80 and 443 but any port under 1024 requires root access in UNIX systems.
+So I used port mapping on my router to map the ports.
+Begin by installing TOR and ARM from:
<code>
/usr/ports/security/tor/
/usr/ports/security/arm/
</code></li>
</ul></li>
<li>Arm is the Anonymizing Relay Monitor: <a href="https://www.torproject.org/projects/arm.html.en" target="_blank" rel="nofollow noopener">https://www.torproject.org/projects/arm.html.en</a></li>
<li>It provides useful monitoring graph and can be used to configure the torrc file.</li>
<li>Next step edit the torrc file (see Blog article for the edit)</li>
<li>It is handy to add the following lines to /etc/services so you can more easily modify your pf configuration.
<code>
torproxy 9050/tcp #torsocks
torOR 9090/tcp #torOR
torDIR 9099/tcp #torDIR
</code></li>
<li>To allow TOR services my pf.conf has the following lines:
<code>
# interfaces
lan_if=”re0″
wifi_if=”wlan0″
interfaces=”{wlan0,re0}”
tcp_services = “{   ssh torproxy torOR torDIR  }”
# options
set block-policy drop
set loginterface $lan_if
# pass on lo
set skip on lo
scrub in on $lan_if all fragment reassemble
# NAT
nat on $lan_if from $wifi_if:network to !($lan_if) -&gt; ($lan_if)
block all
antispoof for $interfaces
#In NAT
pass in log on $wifi_if inet
pass out all keep state
#ICMP
pass out log inet proto icmp from any to any keep state
pass in log quick inet proto icmp from any to any keep state
#SSH
pass in inet proto tcp to $lan_if port ssh
pass in inet proto tcp to $wifi_if port ssh
#TCP Services on Server
pass in inet proto tcp to $interfaces port $tcp_services keep state
</code></li>
<li>The finally part is mapping the ports as follows:
<code>
TOR directory port: LANIP:9099 —&gt; WANIP:80
TOR router port: LANIP:9090 —-&gt; WANIP:443
</code></li>
<li>Now enable TOR:
<code>$ sudo echo “tor_enable=YES” &gt;&gt; /etc/rc.conf</code></li>
<li>Start TOR:
<code>$ sudo service tor start</code>
***</li>
</ul>
</blockquote>

<h2>Beastie Bits</h2>

<p><a href="http://unixseclab.com/index.php/2017/06/12/openbsd-as-a-desktop-laptop/" target="_blank" rel="nofollow noopener">OpenBSD as a “Desktop” (Laptop)</a><br>
<a href="http://lists.dragonflybsd.org/pipermail/commits/2017-July/625997.html" target="_blank" rel="nofollow noopener">Sascha Wildner has updated ACPICA in DragonFly to Intel’s version 20170629</a><br>
<a href="https://www.dragonflydigest.com/2017/07/18/19991.html" target="_blank" rel="nofollow noopener">Dport, Rust, and updates for DragonFlyBSD</a><br>
<a href="https://opnsense.org/opnsense-17-7-rc1/" target="_blank" rel="nofollow noopener">OPNsense 17.7 RC1 released</a><br>
<a href="http://www.networkworld.com/article/3205148/linux/unix-s-mysterious-andand-and.html#tk.rss_unixasasecondlanguage" target="_blank" rel="nofollow noopener">Unix’s mysterious &amp;&amp; and ||</a><br>
<a href="http://boingboing.net/2017/06/16/cyberspace-is-everting.html" target="_blank" rel="nofollow noopener">The Commute Deck : A Homebrew Unix terminal for tight places</a><br>
<a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-July/087407.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-RC3 now available</a><br>
<a href="http://lists.dragonflybsd.org/pipermail/users/2017-July/313528.html" target="_blank" rel="nofollow noopener">Installing DragonFlyBSD with ORCA when you’re totally blind</a><br>
<a href="http://imgur.com/gallery/dc1pu" target="_blank" rel="nofollow noopener">Who says FreeBSD can’t look good</a><br>
<a href="http://undeadly.org/cgi?action=article&amp;sid=20170716160129" target="_blank" rel="nofollow noopener">Pratik Vyas adds the ability to do paused VM migrations for VMM</a></p>

<hr>

<h2>Feedback/Questions</h2>

<p><a href="http://dpaste.com/0EXV173#wrap" target="_blank" rel="nofollow noopener">Hrvoje - OpenBSD MP Networking</a><br>
<a href="http://dpaste.com/1N853NG#wrap" target="_blank" rel="nofollow noopener">Goran - debuggers</a><br>
<a href="http://dpaste.com/1JXQY5E#wrap" target="_blank" rel="nofollow noopener">Abhinav - man-k</a><br>
<a href="http://dpaste.com/01ERMEQ#wrap" target="_blank" rel="nofollow noopener">Liam - university setup</a></p>

<hr>]]>
  </itunes:summary>
</item>
<item>
  <title>203: For the love of ZFS</title>
  <link>https://www.bsdnow.tv/203</link>
  <guid isPermaLink="false">f352fe58-6e6c-4354-80fa-35e2224efc5f</guid>
  <pubDate>Wed, 19 Jul 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f352fe58-6e6c-4354-80fa-35e2224efc5f.mp3" length="84263188" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This week on BSD Now, we clear up some ZFS FUD, show you how to write a NetBSD kernel module, and cover DragonflyBSD on the desktop.</itunes:subtitle>
  <itunes:duration>1:57:01</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>&lt;p&gt;This week on BSD Now, we clear up some ZFS FUD, show you how to write a NetBSD kernel module, and cover DragonflyBSD on the desktop.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://blog.fosketts.net/2017/07/10/zfs-best-filesystem-now/" target="_blank" rel="nofollow noopener"&gt;ZFS is the best file system (for now)&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In my ongoing effort to fight misinformation and FUD about ZFS, I would like to go through this post in detail and share my thoughts on the current state and future of OpenZFS.&lt;/li&gt;
&lt;li&gt;The post starts with:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ZFS should have been great, but I kind of hate it: ZFS seems to be trapped in the past, before it was sidelined it as the cool storage project of choice; it’s inflexible; it lacks modern flash integration; and it’s not directly supported by most operating systems. But I put all my valuable data on ZFS because it simply offers the best level of data protection in a small office/home office (SOHO) environment. Here’s why.&lt;br&gt;
When ZFS first appeared in 2005, it was absolutely with the times, but it’s remained stuck there ever since. The ZFS engineers did a lot right when they combined the best features of a volume manager with a “zettabyte-scale” filesystem in Solaris 10&lt;br&gt;
The skies first darkened in 2007, as NetApp sued Sun, claiming that their WAFL patents were infringed by ZFS. Sun counter-sued later that year, and the legal issues dragged on.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The lawsuit was resolved, and it didn’t really impede ZFS. Some say it is the reason that Apple didn’t go with ZFS, but there are other theories too.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;By then, Sun was hitting hard times and Oracle swooped in to purchase the company. This sowed further doubt about the future of ZFS, since Oracle did not enjoy wide support from open source advocates.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Yes, Oracle taking over Sun and closing the source for ZFS definitely seemed like a setback at the time, but the OpenZFS project was started and active development has continued as an ever increasing pace. As of today, more than half of the code in OpenZFS has been written since the fork from the last open version of Oracle ZFS.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;the CDDL license Sun applied to the ZFS code was [&lt;a href="https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/%5D(judged" target="_blank" rel="nofollow noopener"&gt;https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/](judged&lt;/a&gt; incompatible) with the GPLv2 that covers Linux, making it a non-starter for inclusion in the world’s server operating system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;That hasn’t stopped the ZFS-on-Linux project, or Ubuntu…&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Although OpenSolaris continued after the Oracle acquisition, and FreeBSD embraced ZFS, this was pretty much the extent of its impact outside the enterprise. Sure, NexentaStor and [&lt;a href="http://blog.fosketts.net/2008/09/15/greenbytes-embraces-extends-zfs/%5D(GreenBytes)" target="_blank" rel="nofollow noopener"&gt;http://blog.fosketts.net/2008/09/15/greenbytes-embraces-extends-zfs/](GreenBytes)&lt;/a&gt; helped push ZFS forward in the enterprise, but Oracle’s lackluster commitment to Sun in the datacenter started having an impact.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Lots of companies have adopted OpenZFS for their products. Before OpenZFS, there were very few non-Sun appliances that used ZFS, now there are plenty.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://open-zfs.org/wiki/Companies" target="_blank" rel="nofollow noopener"&gt;OpenZFS Wiki: Companies with products based on OpenZFS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenZFS remains little-changed from what we had a decade ago.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Other than the fact that half of the current code did not exist a decade ago…&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Many remain skeptical of deduplication, which hogs expensive RAM in the best-case scenario.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This is one of the weaker points in ZFS. As it turns out, the demand for deduplication is actually not that strong. Most of the win can be had with transparent compression.&lt;/li&gt;
&lt;li&gt;However, there are a number of suggested designs to work around the dedup problems:

&lt;ul&gt;
&lt;li&gt;Dedup Ceiling: Set a limit on the side of the DDT and just stop deduping new unique blocks when this limit is reached.&lt;/li&gt;
&lt;li&gt;Allocation Classes: A feature being developed by Intel for a supercomputer, will allow different types of data to be classified, and dedicated vdevs (or even metaslabs within a vdev), to be dedicated to that class of data. This could be extended to having the DDT live on a fast device like an PCIe NVMe, combined with the Dedup Ceiling when the device is full.&lt;/li&gt;
&lt;li&gt;DDT Pruning: Matt Ahrens described a design where items in the DDT with only a single reference, would be expired in an LRU type fashion, to allow newer blocks to live in the DDT in hopes that they would end up with more than a single reference. This doesn’t cause bookkeeping problems since when a block is about to be freed, if it is NOT listed in the DDT, ZFS knows it was never deduplicated, so the current block must be the only reference, and it can safely be freed. This provides a best case scenario compared to Dedup Ceiling, since blocks that will deduplicate well, are likely to be written relatively close together, whereas the chance to a dedup match on a very old block is much lower.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;And I do mean expensive: Pretty much every ZFS FAQ flatly declares that ECC RAM is a must-have and 8 GB is the bare minimum. In my own experience with FreeNAS, 32 GB is a nice amount for an active small ZFS server, and this costs $200-$300 even at today’s prices.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;As we talked about a few weeks ago, ECC is best, but it is not required. If you want your server to stay up for a long time, to be highly available, you’ll put ECC in it. Don’t let a lack of ECC stop you from using ZFS, you are just putting your data at more risk. The scrub of death is a myth.&lt;/li&gt;
&lt;li&gt;ZFS does not ‘require’ lots of ram. Your NAS will work happily with 8 GB instead of 32 GB of RAM. Its cache hit ratio will be much lower, so performance will be worse. It won’t be able to buffer as many writes, so performance will be worse.&lt;/li&gt;
&lt;li&gt;Copy-on-Write has some drawbacks, data tends to get scattered and fragmented across the drives when it is written gradually. The ARC (RAM Cache) lessens the pain of this, and allows ZFS to batch incoming writes up into nice contiguous writes. ZFS purposely alternates between reading and writing, since both are faster when the other is not happening. So writes are batched up until there is too much dirty data, or the timeout expires. Then reads are held off while the bulk linear write finishes as quickly as possible, and reads are resumed.&lt;/li&gt;
&lt;li&gt;Obviously all of this works better and more efficiently in larger batches, which you can do if you have more RAM.&lt;/li&gt;
&lt;li&gt;ZFS can be tuned to use less RAM, and if you do not have a lot of RAM, or you have a lot of other demand on your RAM, you should do that tuning.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;And ZFS never really adapted to today’s world of widely-available flash storage: Although flash can be used to support the ZIL and L2ARC caches, these are of dubious value in a system with sufficient RAM, and ZFS has no true hybrid storage capability. It’s laughable that the ZFS documentation obsesses over a few GB of SLC flash when multi-TB 3D NAND drives are on the market. And no one is talking about NVMe even though it’s everywhere in performance PC’s.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Make up your mind, is 32GB of ram too expensive or not…&lt;/li&gt;
&lt;li&gt;the L2ARC exists specifically for the case where it is not possible to just install more RAM. Be it because there are no more slots, of limits of the processor, or limits of your budget.&lt;/li&gt;
&lt;li&gt;The SLOG is optional, but it never needs to be very big. A number of GBs of SLC flash is all you need, it is only holding writes that have not been flushed to the regular storage devices yet. The reason the documentation talks about SLC specifically is because your SLOG needs a very high write endurance, something never the newest NVMe devices cannot yet provide. &lt;/li&gt;
&lt;li&gt;Of course you can use NVMe devices with ZFS, lots of people do. All flash ZFS arrays are for sale right now. Other than maybe a little tuning of the device queue depths, ZFS just works and there is nothing to think about.&lt;/li&gt;
&lt;li&gt;However, to say there is nothing happening in this space is woefully inaccurate.&lt;/li&gt;
&lt;li&gt;The previously mentioned allocation classes code can be used to allocate metadata (4 KB blocks) on SSD or NVMe, while allocating bulk storage data (up to 16 MB blocks) on spinning disks. Extended a bit beyond what Intel is building for their super computer, this will basically create hybrid storage for ZFS.&lt;/li&gt;
&lt;li&gt;With the metaslab classes feature, it will even be possible to mix classes on the same device, grouping small allocations and large allocations in different areas, decreasing fragmentation.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Then there’s the question of flexibility, or lack thereof. Once you build a ZFS volume, it’s pretty much fixed for life. There are only three ways to expand a storage pool:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Replace each and every drive in the pool with a larger one (which is great but limiting and expensive)&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It depends on your pool layout. If you design with this in mind using ZFS Mirrors, it can be quite useful&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Add a stripe on another set of drives (which can lead to imbalanced performance and redundancy and a whole world of potential stupid stuff)&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The unbalanced LUNs performance issues were sorted out in 2013-2016. &lt;/li&gt;
&lt;li&gt;&lt;a href="http://open-zfs.org/w/images/3/31/Performance-George_Wilson.pdf" target="_blank" rel="nofollow noopener"&gt;2014: OpenZFS Allocation Performance &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.bsdcan.org/2016/schedule/events/710.en.html" target="_blank" rel="nofollow noopener"&gt;2016: OpenZFS space allocation: doubling performance on large and fragmented pools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;These also mostly solved the performance issues when a pool gets full, you can run a lot closer to the edge now&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Build a new pool and “zfs send” your datasets to it (which is what I do, even though it’s kind of tricky)&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This is one way to do it, yes.&lt;/li&gt;
&lt;li&gt;There is another way coming, but I can’t talk about it just yet. Look for big news later this year.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Apart from option 3 above, you can’t shrink a ZFS pool.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Device removal is arriving now. It will not work for RAIDZ*, but for Mirrors and Stripes you will be able to remove a device.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I’ve probably made ZFS sound pretty unappealing right about now. It was revolutionary but now it’s startlingly limiting and out of touch with the present solid-state-dominated storage world.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;I don’t feel like ZFS is out of touch with solid state. Lots of people are running SSD only pools. I will admit the tiered storage options in ZFS are a bit limited still, but there is a lot of work being done to overcome this.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After all, reliably storing data is the only thing a storage system really has to do. All my important data goes on ZFS, from photos to music and movies to office files. It’s going to be a long time before I trust anything other than ZFS!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I agree.&lt;/li&gt;
&lt;li&gt;ZFS has a great track record of doing its most important job, keeping your data safe.&lt;/li&gt;
&lt;li&gt;Work is ongoing to make ZFS more performance, and more flexible. The import thing is that this work is never allowed to compromise job #1, keeping your data safe.&lt;/li&gt;
&lt;li&gt;Hybrid/tiered storage features, re-RAID-ing, are coming&lt;/li&gt;
&lt;li&gt;There is a lot going on with OpenZFS, check out the notes from the last two OpenZFS Developer Summits just to get an idea of what some of those things are: &lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="http://open-zfs.org/wiki/OpenZFS_Developer_Summit_2015" target="_blank" rel="nofollow noopener"&gt;2015&lt;/a&gt; &amp;amp; &lt;a href="http://open-zfs.org/wiki/OpenZFS_Developer_Summit_2016" target="_blank" rel="nofollow noopener"&gt;2016&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Some highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compressed ARC&lt;/li&gt;
&lt;li&gt;Compressed send/recv&lt;/li&gt;
&lt;li&gt;ABD (arc buf scatter/gather)&lt;/li&gt;
&lt;li&gt;ZFS Native Encryption (scrub/resilver, send/recv, etc without encryption keys loaded)&lt;/li&gt;
&lt;li&gt;Channel Programs (do many administrative operations as one atomic transaction)&lt;/li&gt;
&lt;li&gt;Device Removal&lt;/li&gt;
&lt;li&gt;Redacted send/recv&lt;/li&gt;
&lt;li&gt;ZStandard Compression&lt;/li&gt;
&lt;li&gt;TRIM Support (FreeBSD has its own, but this will be more performant and universal)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/SZFwv8BdBj4" target="_blank" rel="nofollow noopener"&gt;Faster Scrub/Resilver&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/MxKohtFSB4M" target="_blank" rel="nofollow noopener"&gt;Declustered RAID&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/28fKiTWb2oM" target="_blank" rel="nofollow noopener"&gt;Allocation Classes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Multi-mount protection (for Active/Passive failover)&lt;/li&gt;
&lt;li&gt;Zpool Checkpoint (undo almost anything)&lt;/li&gt;
&lt;li&gt;Even more Improved Allocator Performance&lt;/li&gt;
&lt;li&gt;vdev spacemap log&lt;/li&gt;
&lt;li&gt;ZIL performance improvements (w/ or w/o SLOG)&lt;/li&gt;
&lt;li&gt;Persistent L2ARC&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;What I don’t think the author of this article understands is how far behind every other filesystem is. 100s of Engineer years have gone into OpenZFS, and the pace is accelerating. I don’t see how BtrFS can ever catch up, without a huge cash infusion.&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://saurvs.github.io/post/writing-netbsd-kern-mod/" target="_blank" rel="nofollow noopener"&gt;Writing a NetBSD kernel module&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Kernel modules are object files used to extend an operating system’s kernel functionality at run time.&lt;br&gt;
In this post, we’ll look at implementing a simple character device driver as a kernel module in NetBSD. Once it is loaded, userspace processes will be able to write an arbitrary byte string to the device, and on every successive read expect a cryptographically-secure pseudorandom permutation of the original byte string.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;You will need the NetBSD Source Code.

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.netbsd.org/docs/guide/en/chap-fetch.html" target="_blank" rel="nofollow noopener"&gt;This doc&lt;/a&gt; will explain how you can get it.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;The article gives an easy line by line walkthrough which is easy to follow and understand.&lt;/li&gt;
&lt;li&gt;The driver implements the bare minimum: open, close, read, and write, plus the module initialization function&lt;/li&gt;
&lt;li&gt;It explains the differences in how memory is allocated and freed in the kernel&lt;/li&gt;
&lt;li&gt;It also describes the process of using UIO to copy data back and forth between userspace and the kernel&lt;/li&gt;
&lt;li&gt;Create a Makefile, and compile the kernel module&lt;/li&gt;
&lt;li&gt;Then, create a simple userspace program to use the character device that the kernel module creates&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/saurvs/rperm-netbsd" target="_blank" rel="nofollow noopener"&gt;All the code is available here&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://functionallyparanoid.com/2017/07/11/dragonflybsd-desktop/" target="_blank" rel="nofollow noopener"&gt;DragonFlyBSD Desktop!&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;If you read my &lt;a href="https://functionallyparanoid.com/2017/06/30/boot-all-the-things/" target="_blank" rel="nofollow noopener"&gt;last post&lt;/a&gt;, you know that I set up a machine (Thinkpad x230) with UEFI and four operating systems on it.  One, I had no experience with – DragonFlyBSD (other than using Matthew Dillon’s C compiler for the Amiga back in the day!) and so it was uncharted territory for me.  After getting the install working, I started playing around inside of DragonFlyBSD and discovered to my delight that it was a great operating system with some really unique features – all with that BSD commitment to good documentation and a solid coupling of kernel and userland that doesn’t exist (by design) in Linux.&lt;br&gt;
So my goal for my DragonFlyBSD desktop experience was to be as BSD as I possibly could.  Given that (and since I’m the maintainer of the port on OpenBSD ), I went with Lumina as the desktop environment and XDM as the graphical login manager.  I have to confess that I really like the xfce terminal application so I wanted to make sure I had that as well.  Toss in Firefox, libreOffice and ownCloud sync client and I’m good to go!&lt;br&gt;
OK.  So where to start.  First, we need to get WiFi and wired networking happening for the console at login.  To do that, I added the following to /etc/rc.conf:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;wlans_iwn0=”wlan0″
ifconfig_wlan0=”WPA DHCP”
ifconfig_em0=”DHCP”
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I then edited /etc/wpa_supplicant.conf to put in the details of my WiFi network:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;network={
ssid=”MY-NETWORK-NAME”
psk=”my-super-secret-password”
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;A quick reboot showed that both wired and wireless networking were functional and automatically were assigned IP addresses via DHCP.  Next up is to try getting into X with whatever DragonFlyBSD uses for its default window manager.  A straight up “startx” met with, shall we say, less than stellar results.  Therefore, I used the following command to generate a simple /etc/X11/xorg.conf file:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;amp;#35; Xorg -configure
&amp;amp;#35; cp /root/xorg.conf.new /etc/X11/xorg.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;With that file in place, I could get into the default window manager, but I had no mouse.  After some searching and pinging folks on the mailing list, I was able to figure out what I needed to do.  I added the following to my /etc/rc.conf file:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;moused_enable=”YES”
moused_type=”auto”
moused_port=”/dev/psm0″
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I rebooted (I’m sure there is an easier way to get the changes but I don’t know it… yet) and was able to get into a basic X session and have a functional mouse.  Next up, installing and configuring Lumina!  To do that, I went through the incredibly torturous process of installing Lumina:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# pkg install lumina&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Wow!  That was really, really hard.  I might need to pause here to catch my breath. 🙂&lt;/p&gt;

&lt;p&gt;Next up, jumping into Lumina from the console.  To do that, I created a .xinitrc file in my home directory with the following:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;exec start-lumina-desktop&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;From there, I could “startx” until my heart was content and bounce into Lumina.  That wasn’t good enough though!  I want a graphical login (specifically xdm).  To do that, I had to do a little research.  The trick on DragonFlyBSD is not to add anything to /etc/rc.conf like you do in other BSDs, it’s a bit more old school.  Basically you need to edit the /etc/ttys file and update ttyv8 to turn on the xdm daemon:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;ttyv8    “/usr/X11R6/bin/xdm -nodaemon”    xterm    on    secure&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The other thing you need to do is set it up to use your desktop environment of choice.  In my case, that’s Lumina.  To do that, I needed to edit /usr/local/lib/X11/xdm/Xsession and change the next to the last line in the file to launch Lumina:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;exec /usr/local/bin/start-lumina-desktop&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I then crossed my fingers, rebooted and lo and behold had a graphical login that, when I actually didn’t fat finger my password from excitement, put me into the Lumina desktop environment!&lt;br&gt;
Next up – I need a cool desktop wallpaper.  Of course that’s way more important that installing application or other stuff!  After some searching, I found this one that met my needs.  I downloaded it to a local ~/Pictures directory and then used the Lumina wallpaper preference application to add the directory containing the picture and set it to automatic layout.  Voila!  I had a cool DragonFlyBSD wallpaper.&lt;br&gt;
Next I installed the xfce4 terminal program by doing:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# pkg install xfce4-terminal&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I then went into the Lumina “All Desktop Settings” preferences, found the applet for the “Menu” under “Interface Configuration” and swapped out “terminal” for “Xfce Terminal”.  I then configured Lumina further to have a 26 pixel thick, 99% length bottom center panel with the following gadgets in it (in this order):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Start Menu
Task Manager (No Groups)
Spacer
System Tray
Time/Date
Battery Monitor
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I then went into my Appearance | Window Manager gadget and set my Window Theme to “bora_blue” (my favorite out of the defaults supplied).  I then installed my remaining applications that I needed in order to have a functioning desktop:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;# pkg install owncloudclient qtkeychain evolution evolution-ews firefox libreoffice&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;After that, I really had a nicely functioning desktop environment!  By the way, the performance of DragonFlyBSD is pretty impressive in terms of its day to day usage.  Keep in mind I’m not doing any official benchmarking or anything, but it sure feels to me to be just as fast (if not faster) than OpenBSD and FreeBSD.  I know that the kernel team has done a lot to unlock things (which FreeBSD has done and we are starting to do on OpenBSD) so perhaps I can attribute the “snappiness” to that?&lt;br&gt;
As you can see, although there isn’t as much documentation on the Internet for this BSD, you can get a really nice, functional desktop out of it with some simple (and intuitive) configuration.  I’m really looking forward to living in this system for a while and learning about it.  Probably the first thing I’ll do is ring up the port maintainer for Lumina and see if we can’t collaborate on getting Lumina 1.3 moved over to it!  Give this one a try – I think you’ll find that its a very nice operating system with some very cool features (the HAMMER filesystem for one!).&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://blog.netbsd.org/tnf/entry/porting_netbsd_to_allwinner_h3" target="_blank" rel="nofollow noopener"&gt;Porting NetBSD to Alwinner H3 SoCs&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Jared McNeill writes on the the NetBSD blog:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;A new SUNXI evbarm kernel has appeared recently in NetBSD -current with support for boards based on the Allwinner H3 system on a chip (SoC). The H3 SoC is a quad-core Cortex-A7 SoC designed primarily for set-top boxes, but has managed to find its way into many single-board computers (SBC). This is one of the first evbarm ports built from the ground up with device tree support, which helps us to use a single kernel config to support many different boards.&lt;br&gt;
To get these boards up and running, first we need to deal with low-level startup code. For the SUNXI kernel this currently lives in sys/arch/evbarm/sunxi/. The purpose of this code is fairly simple; initialize the boot CPU and initialize the MMU so we can jump to the kernel. The initial MMU configuration needs to cover a few things -- early on we need to be able to access the kernel, UART debug console, and the device tree blob (DTB) passed in from U-Boot. We wrap the kernel in a U-Boot header that claims to be a Linux kernel; this is no accident! This tells U-Boot to use the Linux boot protocol when loading the kernel, which ensures that the DTB (loaded by U-Boot) is processed and passed to us in r2.&lt;br&gt;
Once the CPU and MMU are ready, we jump to the generic ARM FDT implementation of initarm in sys/arch/evbarm/fdt/fdt_machdep.c. The first thing this code does is validate and relocate the DTB data. After it has been relocated, we compare the compatible property of the root node in the device tree with the list of ARM platforms compiled into the kernel. The Allwinner sunxi platform code lives in sys/arch/arm/sunxi/sunxi_platform.c. The sunxi platform code provides SoC-specific versions of code needed early at boot. We need to know how to initialize the debug console, spin up application CPUs, reset the board, etc.&lt;br&gt;
With a bit of luck, we're now booting and enumerating devices. Apart from a few devices, almost nothing works yet as we are missing a driver for the CCU. The CCU in the Allwinner H3 SoC controls PLLs and most of the clock generation, division, muxing, and gating. Since there are many similarities between Allwinner SoCs, I opted to write generic CCU code and then SoC-specific frontends. The resulting code lives in sys/arch/arm/sunxi/; generic code as sunxi_ccu.c and H3-specific code in sun8i_h3_ccu.c.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Jared has more information about porting and also provides a boot log.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.trueos.org/blog/community-spotlight/" target="_blank" rel="nofollow noopener"&gt;TrueOS Community Spotlight: Reset ZFS Replication using the command line&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;We’d like to spotlight TrueOS community member Brad Alexander for documenting his experience repairing ZFS dataset replication with TrueOS. Thank you! His notes are posted here, and they’ve been added to the TrueOS handbook Troubleshooting section for later reference.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Original indications&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The SysAdm Client tray icon was pulsing red. Right-clicking on the icon and clicking Messages would show the message:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;FAILED replication task on NCC74602 -&amp;gt; 192.168.47.20: LOGFILE: /var/log/lpreserver/lpreserver_failed.log&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;/var/log/lpreserver/lastrep-send.log shows very little information:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;send from @auto-2017-07-12-01-00-00 to NCC74602/ROOT/12.0-CURRENT-up-20170623_120331@auto-2017-07-14-01-00-00
total estimated size is 0
TIME        SENT    SNAPSHOT
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And no useful errors were being written to the lpreserver_failed.log.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Repairing replication

&lt;ul&gt;
&lt;li&gt;First attempt:&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The first approach I tried was to use the Sysadm Client:&lt;br&gt;
I clicked on the dataset in question, then clicked Initialize. After waiting a few minutes, I clicked Start. I was immediately rewarded with a pulsing red icon in the system tray and received the same messages as above.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Second attempt:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I was working with, and want to specially thank @RodMyers and @NorwegianRockCat. They suggested I use the lpreserver command line. So I issued these commands:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo lpreserver replicate init NCC74602 192.168.47.20
sudo lpreserver replicate run NCC74602 192.168.47.20
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Unfortunately, the replication failed again. I got these messages in the logs:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Fri Jul 14 09:03:34 EDT 2017: Removing NX80101/archive/yukon.sonsofthunder.nanobit.org/ROOT - re-created locally
cannot unmount '/mnt/NX80101/archive/yukon.sonsofthunder.nanobit.org/ROOT': Operation not permitted
Failed creating remote dataset!
cannot create 'NX80101/archive/yukon.sonsofthunder.nanobit.org/ROOT': dataset already exists
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It turned out there were a number of children. I logged into luna (the FreeNAS) and issued this command as root: &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;zfs destroy -r NX80101/archive/defiant.sonsofthunder.nanobit.org&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I then ran the replicate init and replicate run commands again from the TrueOS host, and replication worked! It has continued to work too, at least until the next fiddly bit breaks.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170701170044" target="_blank" rel="nofollow noopener"&gt;Kernel relinking status from Theo de Raadt&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As you may have heard (and as was mentioned in an earlier article), on recent OpenBSD snapshots we have KARL, which means that the kernel is relinked so each boot comes with a new kernel where all .o files are linked in random order and with random offsets. Theo de Raadt summarized the status in a message to the tech@ mailing list, subject kernel relinking as follows:&lt;/p&gt;

&lt;p&gt;5 weeks ago at d2k17 I started work on randomized kernels. I've been having conversations with other developers for nearly 5 years on the topic... but never got off to a good start, probably because I was trying to pawn the work off on others.&lt;br&gt;
Having done this, I really had no idea we'd end up where we are today.&lt;br&gt;
Here are the behaviours:&lt;br&gt;
The base set has grown, it now includes a link-kit&lt;br&gt;
At install time, a unique kernel is built from this link-kit&lt;br&gt;
At upgrade time, a unique kernel is built&lt;br&gt;
At boot time, a unique kernel is built and installed for the next boot&lt;br&gt;
If someone compiles their own kernel and uses 'make install', the link-kit is also updated, so that the next boot can do the work&lt;br&gt;
If a developer cp's a kernel to /, the mechanism dis-engages until a 'make install" or upgrade is performed in the future. That may help debugging.&lt;br&gt;
A unique kernel is linked such that the startup assembly code is kept in the same place, followed by randomly-sized gapping, followed by all the other .o files randomly re-organized. As a result the distances between functions and variables are entirely new. An info leak of a pointer will not disclose other pointers or objects. This may also help reduce gadgets on variable-sized architectures, because polymorphism in the instruction stream is damaged by nested offsets changing.&lt;br&gt;
At runtime, the kernel can unmap it's startup code. On architectures where an unmap isn't possible due to large-PTE use, the code can be trashed instead.&lt;br&gt;
I did most of the kernel work on amd64 first, then i386. I explained what needed to be done to visa and patrick, who handled the arm and mips platforms. Then I completed all the rest of the architectures. Some architecture are missing the unmap/trashing of startup code, that's a step we need to get back to.&lt;br&gt;
The next part was tricky and I received assistance from tb and rpe. We had to script the behaviours at build time, snapshot time, relink time, boot time, and later on install/upgrade time also.&lt;br&gt;
While they helped, I also worked to create the "gap.o" file without use of a C compiler so that relinks can occur without the "comp" set installed. This uses the linkscript feature of ld. I don't think anyone has done this before. It is little bit fragile, and the various linkers may need to receive some fixes due to what I've encountered.&lt;br&gt;
To ensure this security feature works great in the 6.2 release, please test snapshots. By working well, I mean it should work invisibly, without any glitch such as a broken kernel or anything. If there are ugly glitches we would like to know before the release.&lt;/p&gt;

&lt;p&gt;You heard the man, now is the time to test and get a preview of the new awsomeness that will be in OpenBSD 6.2.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170704122507" target="_blank" rel="nofollow noopener"&gt;Beta Undeadly call for testing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/2972" target="_blank" rel="nofollow noopener"&gt;Absolute FreeBSD 3rd Edition Update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mail-index.netbsd.org/tech-repository/2017/06/10/msg000637.html" target="_blank" rel="nofollow noopener"&gt;New home for the NetBSD repository conversion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.trueos.org/blog/trueos-unstable-update-71417/" target="_blank" rel="nofollow noopener"&gt;TrueOS unstable Update: 7/14/17&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.mappingthejourney.com/single-post/2017/07/06/Episode-4-Interview-with-George-Neville-Neil-President-of-FreeBSD" target="_blank" rel="nofollow noopener"&gt;Interview with George Neville-Neil - President of the FreeBSD Foundation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-announce&amp;amp;m=149993703415746" target="_blank" rel="nofollow noopener"&gt;LibreSSL 2.5.5, 2.6.0 released&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/30EY7GZ#wrap" target="_blank" rel="nofollow noopener"&gt;Jason - Byhve VM UEFI woes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/39X6YSQ#wrap" target="_blank" rel="nofollow noopener"&gt;Donald - Several Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3B50ZRV#wrap" target="_blank" rel="nofollow noopener"&gt;Dan - Several Questions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/08C43XN#wrap" target="_blank" rel="nofollow noopener"&gt;Bryson - Jails&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Final Note&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;We’ve decided to do something different for a change of pace and let you the audience interview Allan and Benedict.&lt;/li&gt;
&lt;li&gt;Getting our entire audience live when we record would be a challenge, so instead we want you to send in your questions for Allan and Benedict.&lt;/li&gt;
&lt;li&gt;This interview is not going to be like our typical support feedback questions.  This is a chance for you, our audience, to ask Allan and Benedict any questions that you’ve been wondering over the years.&lt;/li&gt;
&lt;li&gt;Questions like… “Of all the conferences you've gone to, what was your favorite and why?”&lt;/li&gt;
&lt;li&gt;We will answer the questions during a random week during the month of September.  Send all your questions to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt; with the subject of “viewer interview questions”&lt;/li&gt;
&lt;li&gt;We reserve the right to not answer questions which we feel are inappropriate or trolling.
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This week on BSD Now, we clear up some ZFS FUD, show you how to write a NetBSD kernel module, and cover DragonflyBSD on the desktop.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://blog.fosketts.net/2017/07/10/zfs-best-filesystem-now/" target="_blank" rel="nofollow noopener">ZFS is the best file system (for now)</a></h3>

<ul>
<li>In my ongoing effort to fight misinformation and FUD about ZFS, I would like to go through this post in detail and share my thoughts on the current state and future of OpenZFS.</li>
<li>The post starts with:</li>
</ul>

<blockquote>
<p>ZFS should have been great, but I kind of hate it: ZFS seems to be trapped in the past, before it was sidelined it as the cool storage project of choice; it’s inflexible; it lacks modern flash integration; and it’s not directly supported by most operating systems. But I put all my valuable data on ZFS because it simply offers the best level of data protection in a small office/home office (SOHO) environment. Here’s why.<br>
When ZFS first appeared in 2005, it was absolutely with the times, but it’s remained stuck there ever since. The ZFS engineers did a lot right when they combined the best features of a volume manager with a “zettabyte-scale” filesystem in Solaris 10<br>
The skies first darkened in 2007, as NetApp sued Sun, claiming that their WAFL patents were infringed by ZFS. Sun counter-sued later that year, and the legal issues dragged on.</p>
</blockquote>

<ul>
<li>The lawsuit was resolved, and it didn’t really impede ZFS. Some say it is the reason that Apple didn’t go with ZFS, but there are other theories too.</li>
</ul>

<blockquote>
<p>By then, Sun was hitting hard times and Oracle swooped in to purchase the company. This sowed further doubt about the future of ZFS, since Oracle did not enjoy wide support from open source advocates.</p>
</blockquote>

<ul>
<li>Yes, Oracle taking over Sun and closing the source for ZFS definitely seemed like a setback at the time, but the OpenZFS project was started and active development has continued as an ever increasing pace. As of today, more than half of the code in OpenZFS has been written since the fork from the last open version of Oracle ZFS.</li>
</ul>

<blockquote>
<p>the CDDL license Sun applied to the ZFS code was [<a href="https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/%5D(judged" target="_blank" rel="nofollow noopener">https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/](judged</a> incompatible) with the GPLv2 that covers Linux, making it a non-starter for inclusion in the world’s server operating system.</p>
</blockquote>

<ul>
<li>That hasn’t stopped the ZFS-on-Linux project, or Ubuntu…</li>
</ul>

<blockquote>
<p>Although OpenSolaris continued after the Oracle acquisition, and FreeBSD embraced ZFS, this was pretty much the extent of its impact outside the enterprise. Sure, NexentaStor and [<a href="http://blog.fosketts.net/2008/09/15/greenbytes-embraces-extends-zfs/%5D(GreenBytes)" target="_blank" rel="nofollow noopener">http://blog.fosketts.net/2008/09/15/greenbytes-embraces-extends-zfs/](GreenBytes)</a> helped push ZFS forward in the enterprise, but Oracle’s lackluster commitment to Sun in the datacenter started having an impact.</p>
</blockquote>

<ul>
<li>Lots of companies have adopted OpenZFS for their products. Before OpenZFS, there were very few non-Sun appliances that used ZFS, now there are plenty.</li>
<li><a href="http://open-zfs.org/wiki/Companies" target="_blank" rel="nofollow noopener">OpenZFS Wiki: Companies with products based on OpenZFS</a></li>
</ul>

<blockquote>
<p>OpenZFS remains little-changed from what we had a decade ago.</p>
</blockquote>

<ul>
<li>Other than the fact that half of the current code did not exist a decade ago…</li>
</ul>

<blockquote>
<p>Many remain skeptical of deduplication, which hogs expensive RAM in the best-case scenario.</p>
</blockquote>

<ul>
<li>This is one of the weaker points in ZFS. As it turns out, the demand for deduplication is actually not that strong. Most of the win can be had with transparent compression.</li>
<li>However, there are a number of suggested designs to work around the dedup problems:

<ul>
<li>Dedup Ceiling: Set a limit on the side of the DDT and just stop deduping new unique blocks when this limit is reached.</li>
<li>Allocation Classes: A feature being developed by Intel for a supercomputer, will allow different types of data to be classified, and dedicated vdevs (or even metaslabs within a vdev), to be dedicated to that class of data. This could be extended to having the DDT live on a fast device like an PCIe NVMe, combined with the Dedup Ceiling when the device is full.</li>
<li>DDT Pruning: Matt Ahrens described a design where items in the DDT with only a single reference, would be expired in an LRU type fashion, to allow newer blocks to live in the DDT in hopes that they would end up with more than a single reference. This doesn’t cause bookkeeping problems since when a block is about to be freed, if it is NOT listed in the DDT, ZFS knows it was never deduplicated, so the current block must be the only reference, and it can safely be freed. This provides a best case scenario compared to Dedup Ceiling, since blocks that will deduplicate well, are likely to be written relatively close together, whereas the chance to a dedup match on a very old block is much lower.</li>
</ul></li>
</ul>

<blockquote>
<p>And I do mean expensive: Pretty much every ZFS FAQ flatly declares that ECC RAM is a must-have and 8 GB is the bare minimum. In my own experience with FreeNAS, 32 GB is a nice amount for an active small ZFS server, and this costs $200-$300 even at today’s prices.</p>
</blockquote>

<ul>
<li>As we talked about a few weeks ago, ECC is best, but it is not required. If you want your server to stay up for a long time, to be highly available, you’ll put ECC in it. Don’t let a lack of ECC stop you from using ZFS, you are just putting your data at more risk. The scrub of death is a myth.</li>
<li>ZFS does not ‘require’ lots of ram. Your NAS will work happily with 8 GB instead of 32 GB of RAM. Its cache hit ratio will be much lower, so performance will be worse. It won’t be able to buffer as many writes, so performance will be worse.</li>
<li>Copy-on-Write has some drawbacks, data tends to get scattered and fragmented across the drives when it is written gradually. The ARC (RAM Cache) lessens the pain of this, and allows ZFS to batch incoming writes up into nice contiguous writes. ZFS purposely alternates between reading and writing, since both are faster when the other is not happening. So writes are batched up until there is too much dirty data, or the timeout expires. Then reads are held off while the bulk linear write finishes as quickly as possible, and reads are resumed.</li>
<li>Obviously all of this works better and more efficiently in larger batches, which you can do if you have more RAM.</li>
<li>ZFS can be tuned to use less RAM, and if you do not have a lot of RAM, or you have a lot of other demand on your RAM, you should do that tuning.</li>
</ul>

<blockquote>
<p>And ZFS never really adapted to today’s world of widely-available flash storage: Although flash can be used to support the ZIL and L2ARC caches, these are of dubious value in a system with sufficient RAM, and ZFS has no true hybrid storage capability. It’s laughable that the ZFS documentation obsesses over a few GB of SLC flash when multi-TB 3D NAND drives are on the market. And no one is talking about NVMe even though it’s everywhere in performance PC’s.</p>
</blockquote>

<ul>
<li>Make up your mind, is 32GB of ram too expensive or not…</li>
<li>the L2ARC exists specifically for the case where it is not possible to just install more RAM. Be it because there are no more slots, of limits of the processor, or limits of your budget.</li>
<li>The SLOG is optional, but it never needs to be very big. A number of GBs of SLC flash is all you need, it is only holding writes that have not been flushed to the regular storage devices yet. The reason the documentation talks about SLC specifically is because your SLOG needs a very high write endurance, something never the newest NVMe devices cannot yet provide. </li>
<li>Of course you can use NVMe devices with ZFS, lots of people do. All flash ZFS arrays are for sale right now. Other than maybe a little tuning of the device queue depths, ZFS just works and there is nothing to think about.</li>
<li>However, to say there is nothing happening in this space is woefully inaccurate.</li>
<li>The previously mentioned allocation classes code can be used to allocate metadata (4 KB blocks) on SSD or NVMe, while allocating bulk storage data (up to 16 MB blocks) on spinning disks. Extended a bit beyond what Intel is building for their super computer, this will basically create hybrid storage for ZFS.</li>
<li>With the metaslab classes feature, it will even be possible to mix classes on the same device, grouping small allocations and large allocations in different areas, decreasing fragmentation.</li>
</ul>

<blockquote>
<p>Then there’s the question of flexibility, or lack thereof. Once you build a ZFS volume, it’s pretty much fixed for life. There are only three ways to expand a storage pool:</p>

<ol>
<li>Replace each and every drive in the pool with a larger one (which is great but limiting and expensive)</li>
</ol>
</blockquote>

<ul>
<li>It depends on your pool layout. If you design with this in mind using ZFS Mirrors, it can be quite useful</li>
</ul>

<blockquote>
<ol>
<li>Add a stripe on another set of drives (which can lead to imbalanced performance and redundancy and a whole world of potential stupid stuff)</li>
</ol>
</blockquote>

<ul>
<li>The unbalanced LUNs performance issues were sorted out in 2013-2016. </li>
<li><a href="http://open-zfs.org/w/images/3/31/Performance-George_Wilson.pdf" target="_blank" rel="nofollow noopener">2014: OpenZFS Allocation Performance </a></li>
<li><a href="http://www.bsdcan.org/2016/schedule/events/710.en.html" target="_blank" rel="nofollow noopener">2016: OpenZFS space allocation: doubling performance on large and fragmented pools</a></li>
<li>These also mostly solved the performance issues when a pool gets full, you can run a lot closer to the edge now</li>
</ul>

<blockquote>
<ol>
<li>Build a new pool and “zfs send” your datasets to it (which is what I do, even though it’s kind of tricky)</li>
</ol>
</blockquote>

<ul>
<li>This is one way to do it, yes.</li>
<li>There is another way coming, but I can’t talk about it just yet. Look for big news later this year.</li>
</ul>

<blockquote>
<p>Apart from option 3 above, you can’t shrink a ZFS pool.</p>
</blockquote>

<ul>
<li>Device removal is arriving now. It will not work for RAIDZ*, but for Mirrors and Stripes you will be able to remove a device.</li>
</ul>

<blockquote>
<p>I’ve probably made ZFS sound pretty unappealing right about now. It was revolutionary but now it’s startlingly limiting and out of touch with the present solid-state-dominated storage world.</p>
</blockquote>

<ul>
<li>I don’t feel like ZFS is out of touch with solid state. Lots of people are running SSD only pools. I will admit the tiered storage options in ZFS are a bit limited still, but there is a lot of work being done to overcome this.</li>
</ul>

<blockquote>
<p>After all, reliably storing data is the only thing a storage system really has to do. All my important data goes on ZFS, from photos to music and movies to office files. It’s going to be a long time before I trust anything other than ZFS!</p>

<ul>
<li>I agree.</li>
<li>ZFS has a great track record of doing its most important job, keeping your data safe.</li>
<li>Work is ongoing to make ZFS more performance, and more flexible. The import thing is that this work is never allowed to compromise job #1, keeping your data safe.</li>
<li>Hybrid/tiered storage features, re-RAID-ing, are coming</li>
<li>There is a lot going on with OpenZFS, check out the notes from the last two OpenZFS Developer Summits just to get an idea of what some of those things are: </li>
</ul>
</blockquote>

<p><a href="http://open-zfs.org/wiki/OpenZFS_Developer_Summit_2015" target="_blank" rel="nofollow noopener">2015</a> &amp; <a href="http://open-zfs.org/wiki/OpenZFS_Developer_Summit_2016" target="_blank" rel="nofollow noopener">2016</a></p>

<ul>
<li><p>Some highlights:</p>

<ul>
<li>Compressed ARC</li>
<li>Compressed send/recv</li>
<li>ABD (arc buf scatter/gather)</li>
<li>ZFS Native Encryption (scrub/resilver, send/recv, etc without encryption keys loaded)</li>
<li>Channel Programs (do many administrative operations as one atomic transaction)</li>
<li>Device Removal</li>
<li>Redacted send/recv</li>
<li>ZStandard Compression</li>
<li>TRIM Support (FreeBSD has its own, but this will be more performant and universal)</li>
<li><a href="https://youtu.be/SZFwv8BdBj4" target="_blank" rel="nofollow noopener">Faster Scrub/Resilver</a></li>
<li><a href="https://youtu.be/MxKohtFSB4M" target="_blank" rel="nofollow noopener">Declustered RAID</a></li>
<li><a href="https://youtu.be/28fKiTWb2oM" target="_blank" rel="nofollow noopener">Allocation Classes</a></li>
<li>Multi-mount protection (for Active/Passive failover)</li>
<li>Zpool Checkpoint (undo almost anything)</li>
<li>Even more Improved Allocator Performance</li>
<li>vdev spacemap log</li>
<li>ZIL performance improvements (w/ or w/o SLOG)</li>
<li>Persistent L2ARC</li>
</ul></li>
<li><p>What I don’t think the author of this article understands is how far behind every other filesystem is. 100s of Engineer years have gone into OpenZFS, and the pace is accelerating. I don’t see how BtrFS can ever catch up, without a huge cash infusion.</p>

<hr></li>
</ul>

<h3><a href="https://saurvs.github.io/post/writing-netbsd-kern-mod/" target="_blank" rel="nofollow noopener">Writing a NetBSD kernel module</a></h3>

<blockquote>
<p>Kernel modules are object files used to extend an operating system’s kernel functionality at run time.<br>
In this post, we’ll look at implementing a simple character device driver as a kernel module in NetBSD. Once it is loaded, userspace processes will be able to write an arbitrary byte string to the device, and on every successive read expect a cryptographically-secure pseudorandom permutation of the original byte string.</p>
</blockquote>

<ul>
<li>You will need the NetBSD Source Code.

<ul>
<li><a href="https://www.netbsd.org/docs/guide/en/chap-fetch.html" target="_blank" rel="nofollow noopener">This doc</a> will explain how you can get it.</li>
</ul></li>
<li>The article gives an easy line by line walkthrough which is easy to follow and understand.</li>
<li>The driver implements the bare minimum: open, close, read, and write, plus the module initialization function</li>
<li>It explains the differences in how memory is allocated and freed in the kernel</li>
<li>It also describes the process of using UIO to copy data back and forth between userspace and the kernel</li>
<li>Create a Makefile, and compile the kernel module</li>
<li>Then, create a simple userspace program to use the character device that the kernel module creates</li>
<li><a href="https://github.com/saurvs/rperm-netbsd" target="_blank" rel="nofollow noopener">All the code is available here</a>
***</li>
</ul>

<h3><a href="https://functionallyparanoid.com/2017/07/11/dragonflybsd-desktop/" target="_blank" rel="nofollow noopener">DragonFlyBSD Desktop!</a></h3>

<blockquote>
<p>If you read my <a href="https://functionallyparanoid.com/2017/06/30/boot-all-the-things/" target="_blank" rel="nofollow noopener">last post</a>, you know that I set up a machine (Thinkpad x230) with UEFI and four operating systems on it.  One, I had no experience with – DragonFlyBSD (other than using Matthew Dillon’s C compiler for the Amiga back in the day!) and so it was uncharted territory for me.  After getting the install working, I started playing around inside of DragonFlyBSD and discovered to my delight that it was a great operating system with some really unique features – all with that BSD commitment to good documentation and a solid coupling of kernel and userland that doesn’t exist (by design) in Linux.<br>
So my goal for my DragonFlyBSD desktop experience was to be as BSD as I possibly could.  Given that (and since I’m the maintainer of the port on OpenBSD ), I went with Lumina as the desktop environment and XDM as the graphical login manager.  I have to confess that I really like the xfce terminal application so I wanted to make sure I had that as well.  Toss in Firefox, libreOffice and ownCloud sync client and I’m good to go!<br>
OK.  So where to start.  First, we need to get WiFi and wired networking happening for the console at login.  To do that, I added the following to /etc/rc.conf:</p>

<pre><code>wlans_iwn0=”wlan0″
ifconfig_wlan0=”WPA DHCP”
ifconfig_em0=”DHCP”
</code></pre>

<p>I then edited /etc/wpa_supplicant.conf to put in the details of my WiFi network:</p>

<pre><code>network={
ssid=”MY-NETWORK-NAME”
psk=”my-super-secret-password”
}
</code></pre>

<p>A quick reboot showed that both wired and wireless networking were functional and automatically were assigned IP addresses via DHCP.  Next up is to try getting into X with whatever DragonFlyBSD uses for its default window manager.  A straight up “startx” met with, shall we say, less than stellar results.  Therefore, I used the following command to generate a simple /etc/X11/xorg.conf file:</p>

<pre><code>&amp;#35; Xorg -configure
&amp;#35; cp /root/xorg.conf.new /etc/X11/xorg.conf
</code></pre>

<p>With that file in place, I could get into the default window manager, but I had no mouse.  After some searching and pinging folks on the mailing list, I was able to figure out what I needed to do.  I added the following to my /etc/rc.conf file:</p>

<pre><code>moused_enable=”YES”
moused_type=”auto”
moused_port=”/dev/psm0″
</code></pre>

<p>I rebooted (I’m sure there is an easier way to get the changes but I don’t know it… yet) and was able to get into a basic X session and have a functional mouse.  Next up, installing and configuring Lumina!  To do that, I went through the incredibly torturous process of installing Lumina:</p>
</blockquote>

<p><code># pkg install lumina</code></p>

<blockquote>
<p>Wow!  That was really, really hard.  I might need to pause here to catch my breath. 🙂</p>

<p>Next up, jumping into Lumina from the console.  To do that, I created a .xinitrc file in my home directory with the following:</p>
</blockquote>

<p><code>exec start-lumina-desktop</code></p>

<blockquote>
<p>From there, I could “startx” until my heart was content and bounce into Lumina.  That wasn’t good enough though!  I want a graphical login (specifically xdm).  To do that, I had to do a little research.  The trick on DragonFlyBSD is not to add anything to /etc/rc.conf like you do in other BSDs, it’s a bit more old school.  Basically you need to edit the /etc/ttys file and update ttyv8 to turn on the xdm daemon:</p>
</blockquote>

<p><code>ttyv8    “/usr/X11R6/bin/xdm -nodaemon”    xterm    on    secure</code></p>

<blockquote>
<p>The other thing you need to do is set it up to use your desktop environment of choice.  In my case, that’s Lumina.  To do that, I needed to edit /usr/local/lib/X11/xdm/Xsession and change the next to the last line in the file to launch Lumina:</p>
</blockquote>

<p><code>exec /usr/local/bin/start-lumina-desktop</code></p>

<blockquote>
<p>I then crossed my fingers, rebooted and lo and behold had a graphical login that, when I actually didn’t fat finger my password from excitement, put me into the Lumina desktop environment!<br>
Next up – I need a cool desktop wallpaper.  Of course that’s way more important that installing application or other stuff!  After some searching, I found this one that met my needs.  I downloaded it to a local ~/Pictures directory and then used the Lumina wallpaper preference application to add the directory containing the picture and set it to automatic layout.  Voila!  I had a cool DragonFlyBSD wallpaper.<br>
Next I installed the xfce4 terminal program by doing:</p>
</blockquote>

<p><code># pkg install xfce4-terminal</code></p>

<blockquote>
<p>I then went into the Lumina “All Desktop Settings” preferences, found the applet for the “Menu” under “Interface Configuration” and swapped out “terminal” for “Xfce Terminal”.  I then configured Lumina further to have a 26 pixel thick, 99% length bottom center panel with the following gadgets in it (in this order):</p>

<pre><code>Start Menu
Task Manager (No Groups)
Spacer
System Tray
Time/Date
Battery Monitor
</code></pre>

<p>I then went into my Appearance | Window Manager gadget and set my Window Theme to “bora_blue” (my favorite out of the defaults supplied).  I then installed my remaining applications that I needed in order to have a functioning desktop:</p>
</blockquote>

<p><code># pkg install owncloudclient qtkeychain evolution evolution-ews firefox libreoffice</code></p>

<blockquote>
<p>After that, I really had a nicely functioning desktop environment!  By the way, the performance of DragonFlyBSD is pretty impressive in terms of its day to day usage.  Keep in mind I’m not doing any official benchmarking or anything, but it sure feels to me to be just as fast (if not faster) than OpenBSD and FreeBSD.  I know that the kernel team has done a lot to unlock things (which FreeBSD has done and we are starting to do on OpenBSD) so perhaps I can attribute the “snappiness” to that?<br>
As you can see, although there isn’t as much documentation on the Internet for this BSD, you can get a really nice, functional desktop out of it with some simple (and intuitive) configuration.  I’m really looking forward to living in this system for a while and learning about it.  Probably the first thing I’ll do is ring up the port maintainer for Lumina and see if we can’t collaborate on getting Lumina 1.3 moved over to it!  Give this one a try – I think you’ll find that its a very nice operating system with some very cool features (the HAMMER filesystem for one!).</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/porting_netbsd_to_allwinner_h3" target="_blank" rel="nofollow noopener">Porting NetBSD to Alwinner H3 SoCs</a></h3>

<ul>
<li>Jared McNeill writes on the the NetBSD blog:</li>
</ul>

<blockquote>
<p>A new SUNXI evbarm kernel has appeared recently in NetBSD -current with support for boards based on the Allwinner H3 system on a chip (SoC). The H3 SoC is a quad-core Cortex-A7 SoC designed primarily for set-top boxes, but has managed to find its way into many single-board computers (SBC). This is one of the first evbarm ports built from the ground up with device tree support, which helps us to use a single kernel config to support many different boards.<br>
To get these boards up and running, first we need to deal with low-level startup code. For the SUNXI kernel this currently lives in sys/arch/evbarm/sunxi/. The purpose of this code is fairly simple; initialize the boot CPU and initialize the MMU so we can jump to the kernel. The initial MMU configuration needs to cover a few things -- early on we need to be able to access the kernel, UART debug console, and the device tree blob (DTB) passed in from U-Boot. We wrap the kernel in a U-Boot header that claims to be a Linux kernel; this is no accident! This tells U-Boot to use the Linux boot protocol when loading the kernel, which ensures that the DTB (loaded by U-Boot) is processed and passed to us in r2.<br>
Once the CPU and MMU are ready, we jump to the generic ARM FDT implementation of initarm in sys/arch/evbarm/fdt/fdt_machdep.c. The first thing this code does is validate and relocate the DTB data. After it has been relocated, we compare the compatible property of the root node in the device tree with the list of ARM platforms compiled into the kernel. The Allwinner sunxi platform code lives in sys/arch/arm/sunxi/sunxi_platform.c. The sunxi platform code provides SoC-specific versions of code needed early at boot. We need to know how to initialize the debug console, spin up application CPUs, reset the board, etc.<br>
With a bit of luck, we're now booting and enumerating devices. Apart from a few devices, almost nothing works yet as we are missing a driver for the CCU. The CCU in the Allwinner H3 SoC controls PLLs and most of the clock generation, division, muxing, and gating. Since there are many similarities between Allwinner SoCs, I opted to write generic CCU code and then SoC-specific frontends. The resulting code lives in sys/arch/arm/sunxi/; generic code as sunxi_ccu.c and H3-specific code in sun8i_h3_ccu.c.</p>
</blockquote>

<ul>
<li>Jared has more information about porting and also provides a boot log.
***</li>
</ul>

<h3><a href="https://www.trueos.org/blog/community-spotlight/" target="_blank" rel="nofollow noopener">TrueOS Community Spotlight: Reset ZFS Replication using the command line</a></h3>

<blockquote>
<p>We’d like to spotlight TrueOS community member Brad Alexander for documenting his experience repairing ZFS dataset replication with TrueOS. Thank you! His notes are posted here, and they’ve been added to the TrueOS handbook Troubleshooting section for later reference.</p>
</blockquote>

<ul>
<li>Original indications</li>
</ul>

<blockquote>
<p>The SysAdm Client tray icon was pulsing red. Right-clicking on the icon and clicking Messages would show the message:</p>
</blockquote>

<p><code>FAILED replication task on NCC74602 -&gt; 192.168.47.20: LOGFILE: /var/log/lpreserver/lpreserver_failed.log</code></p>

<blockquote>
<p>/var/log/lpreserver/lastrep-send.log shows very little information:</p>

<pre><code>send from @auto-2017-07-12-01-00-00 to NCC74602/ROOT/12.0-CURRENT-up-20170623_120331@auto-2017-07-14-01-00-00
total estimated size is 0
TIME        SENT    SNAPSHOT
</code></pre>

<p>And no useful errors were being written to the lpreserver_failed.log.</p>
</blockquote>

<ul>
<li>Repairing replication

<ul>
<li>First attempt:</li>
</ul></li>
</ul>

<blockquote>
<p>The first approach I tried was to use the Sysadm Client:<br>
I clicked on the dataset in question, then clicked Initialize. After waiting a few minutes, I clicked Start. I was immediately rewarded with a pulsing red icon in the system tray and received the same messages as above.</p>
</blockquote>

<ul>
<li>Second attempt:</li>
</ul>

<blockquote>
<p>I was working with, and want to specially thank @RodMyers and @NorwegianRockCat. They suggested I use the lpreserver command line. So I issued these commands:</p>

<pre><code>sudo lpreserver replicate init NCC74602 192.168.47.20
sudo lpreserver replicate run NCC74602 192.168.47.20
</code></pre>

<p>Unfortunately, the replication failed again. I got these messages in the logs:</p>

<pre><code>Fri Jul 14 09:03:34 EDT 2017: Removing NX80101/archive/yukon.sonsofthunder.nanobit.org/ROOT - re-created locally
cannot unmount '/mnt/NX80101/archive/yukon.sonsofthunder.nanobit.org/ROOT': Operation not permitted
Failed creating remote dataset!
cannot create 'NX80101/archive/yukon.sonsofthunder.nanobit.org/ROOT': dataset already exists
</code></pre>

<p>It turned out there were a number of children. I logged into luna (the FreeNAS) and issued this command as root: </p>
</blockquote>

<p><code>zfs destroy -r NX80101/archive/defiant.sonsofthunder.nanobit.org</code></p>

<blockquote>
<p>I then ran the replicate init and replicate run commands again from the TrueOS host, and replication worked! It has continued to work too, at least until the next fiddly bit breaks.</p>

<hr>
</blockquote>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170701170044" target="_blank" rel="nofollow noopener">Kernel relinking status from Theo de Raadt</a></h3>

<blockquote>
<p>As you may have heard (and as was mentioned in an earlier article), on recent OpenBSD snapshots we have KARL, which means that the kernel is relinked so each boot comes with a new kernel where all .o files are linked in random order and with random offsets. Theo de Raadt summarized the status in a message to the tech@ mailing list, subject kernel relinking as follows:</p>

<p>5 weeks ago at d2k17 I started work on randomized kernels. I've been having conversations with other developers for nearly 5 years on the topic... but never got off to a good start, probably because I was trying to pawn the work off on others.<br>
Having done this, I really had no idea we'd end up where we are today.<br>
Here are the behaviours:<br>
The base set has grown, it now includes a link-kit<br>
At install time, a unique kernel is built from this link-kit<br>
At upgrade time, a unique kernel is built<br>
At boot time, a unique kernel is built and installed for the next boot<br>
If someone compiles their own kernel and uses 'make install', the link-kit is also updated, so that the next boot can do the work<br>
If a developer cp's a kernel to /, the mechanism dis-engages until a 'make install" or upgrade is performed in the future. That may help debugging.<br>
A unique kernel is linked such that the startup assembly code is kept in the same place, followed by randomly-sized gapping, followed by all the other .o files randomly re-organized. As a result the distances between functions and variables are entirely new. An info leak of a pointer will not disclose other pointers or objects. This may also help reduce gadgets on variable-sized architectures, because polymorphism in the instruction stream is damaged by nested offsets changing.<br>
At runtime, the kernel can unmap it's startup code. On architectures where an unmap isn't possible due to large-PTE use, the code can be trashed instead.<br>
I did most of the kernel work on amd64 first, then i386. I explained what needed to be done to visa and patrick, who handled the arm and mips platforms. Then I completed all the rest of the architectures. Some architecture are missing the unmap/trashing of startup code, that's a step we need to get back to.<br>
The next part was tricky and I received assistance from tb and rpe. We had to script the behaviours at build time, snapshot time, relink time, boot time, and later on install/upgrade time also.<br>
While they helped, I also worked to create the "gap.o" file without use of a C compiler so that relinks can occur without the "comp" set installed. This uses the linkscript feature of ld. I don't think anyone has done this before. It is little bit fragile, and the various linkers may need to receive some fixes due to what I've encountered.<br>
To ensure this security feature works great in the 6.2 release, please test snapshots. By working well, I mean it should work invisibly, without any glitch such as a broken kernel or anything. If there are ugly glitches we would like to know before the release.</p>

<p>You heard the man, now is the time to test and get a preview of the new awsomeness that will be in OpenBSD 6.2.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170704122507" target="_blank" rel="nofollow noopener">Beta Undeadly call for testing</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/2972" target="_blank" rel="nofollow noopener">Absolute FreeBSD 3rd Edition Update</a></li>
<li><a href="http://mail-index.netbsd.org/tech-repository/2017/06/10/msg000637.html" target="_blank" rel="nofollow noopener">New home for the NetBSD repository conversion</a></li>
<li><a href="https://www.trueos.org/blog/trueos-unstable-update-71417/" target="_blank" rel="nofollow noopener">TrueOS unstable Update: 7/14/17</a></li>
<li><a href="https://www.mappingthejourney.com/single-post/2017/07/06/Episode-4-Interview-with-George-Neville-Neil-President-of-FreeBSD" target="_blank" rel="nofollow noopener">Interview with George Neville-Neil - President of the FreeBSD Foundation</a></li>
<li><a href="https://marc.info/?l=openbsd-announce&amp;m=149993703415746" target="_blank" rel="nofollow noopener">LibreSSL 2.5.5, 2.6.0 released</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/30EY7GZ#wrap" target="_blank" rel="nofollow noopener">Jason - Byhve VM UEFI woes</a></li>
<li><a href="http://dpaste.com/39X6YSQ#wrap" target="_blank" rel="nofollow noopener">Donald - Several Questions</a></li>
<li><a href="http://dpaste.com/3B50ZRV#wrap" target="_blank" rel="nofollow noopener">Dan - Several Questions</a></li>
<li><a href="http://dpaste.com/08C43XN#wrap" target="_blank" rel="nofollow noopener">Bryson - Jails</a>
***</li>
</ul>

<h2>Final Note</h2>

<ul>
<li>We’ve decided to do something different for a change of pace and let you the audience interview Allan and Benedict.</li>
<li>Getting our entire audience live when we record would be a challenge, so instead we want you to send in your questions for Allan and Benedict.</li>
<li>This interview is not going to be like our typical support feedback questions.  This is a chance for you, our audience, to ask Allan and Benedict any questions that you’ve been wondering over the years.</li>
<li>Questions like… “Of all the conferences you've gone to, what was your favorite and why?”</li>
<li>We will answer the questions during a random week during the month of September.  Send all your questions to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a> with the subject of “viewer interview questions”</li>
<li>We reserve the right to not answer questions which we feel are inappropriate or trolling.
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This week on BSD Now, we clear up some ZFS FUD, show you how to write a NetBSD kernel module, and cover DragonflyBSD on the desktop.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://blog.fosketts.net/2017/07/10/zfs-best-filesystem-now/" target="_blank" rel="nofollow noopener">ZFS is the best file system (for now)</a></h3>

<ul>
<li>In my ongoing effort to fight misinformation and FUD about ZFS, I would like to go through this post in detail and share my thoughts on the current state and future of OpenZFS.</li>
<li>The post starts with:</li>
</ul>

<blockquote>
<p>ZFS should have been great, but I kind of hate it: ZFS seems to be trapped in the past, before it was sidelined it as the cool storage project of choice; it’s inflexible; it lacks modern flash integration; and it’s not directly supported by most operating systems. But I put all my valuable data on ZFS because it simply offers the best level of data protection in a small office/home office (SOHO) environment. Here’s why.<br>
When ZFS first appeared in 2005, it was absolutely with the times, but it’s remained stuck there ever since. The ZFS engineers did a lot right when they combined the best features of a volume manager with a “zettabyte-scale” filesystem in Solaris 10<br>
The skies first darkened in 2007, as NetApp sued Sun, claiming that their WAFL patents were infringed by ZFS. Sun counter-sued later that year, and the legal issues dragged on.</p>
</blockquote>

<ul>
<li>The lawsuit was resolved, and it didn’t really impede ZFS. Some say it is the reason that Apple didn’t go with ZFS, but there are other theories too.</li>
</ul>

<blockquote>
<p>By then, Sun was hitting hard times and Oracle swooped in to purchase the company. This sowed further doubt about the future of ZFS, since Oracle did not enjoy wide support from open source advocates.</p>
</blockquote>

<ul>
<li>Yes, Oracle taking over Sun and closing the source for ZFS definitely seemed like a setback at the time, but the OpenZFS project was started and active development has continued as an ever increasing pace. As of today, more than half of the code in OpenZFS has been written since the fork from the last open version of Oracle ZFS.</li>
</ul>

<blockquote>
<p>the CDDL license Sun applied to the ZFS code was [<a href="https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/%5D(judged" target="_blank" rel="nofollow noopener">https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/](judged</a> incompatible) with the GPLv2 that covers Linux, making it a non-starter for inclusion in the world’s server operating system.</p>
</blockquote>

<ul>
<li>That hasn’t stopped the ZFS-on-Linux project, or Ubuntu…</li>
</ul>

<blockquote>
<p>Although OpenSolaris continued after the Oracle acquisition, and FreeBSD embraced ZFS, this was pretty much the extent of its impact outside the enterprise. Sure, NexentaStor and [<a href="http://blog.fosketts.net/2008/09/15/greenbytes-embraces-extends-zfs/%5D(GreenBytes)" target="_blank" rel="nofollow noopener">http://blog.fosketts.net/2008/09/15/greenbytes-embraces-extends-zfs/](GreenBytes)</a> helped push ZFS forward in the enterprise, but Oracle’s lackluster commitment to Sun in the datacenter started having an impact.</p>
</blockquote>

<ul>
<li>Lots of companies have adopted OpenZFS for their products. Before OpenZFS, there were very few non-Sun appliances that used ZFS, now there are plenty.</li>
<li><a href="http://open-zfs.org/wiki/Companies" target="_blank" rel="nofollow noopener">OpenZFS Wiki: Companies with products based on OpenZFS</a></li>
</ul>

<blockquote>
<p>OpenZFS remains little-changed from what we had a decade ago.</p>
</blockquote>

<ul>
<li>Other than the fact that half of the current code did not exist a decade ago…</li>
</ul>

<blockquote>
<p>Many remain skeptical of deduplication, which hogs expensive RAM in the best-case scenario.</p>
</blockquote>

<ul>
<li>This is one of the weaker points in ZFS. As it turns out, the demand for deduplication is actually not that strong. Most of the win can be had with transparent compression.</li>
<li>However, there are a number of suggested designs to work around the dedup problems:

<ul>
<li>Dedup Ceiling: Set a limit on the side of the DDT and just stop deduping new unique blocks when this limit is reached.</li>
<li>Allocation Classes: A feature being developed by Intel for a supercomputer, will allow different types of data to be classified, and dedicated vdevs (or even metaslabs within a vdev), to be dedicated to that class of data. This could be extended to having the DDT live on a fast device like an PCIe NVMe, combined with the Dedup Ceiling when the device is full.</li>
<li>DDT Pruning: Matt Ahrens described a design where items in the DDT with only a single reference, would be expired in an LRU type fashion, to allow newer blocks to live in the DDT in hopes that they would end up with more than a single reference. This doesn’t cause bookkeeping problems since when a block is about to be freed, if it is NOT listed in the DDT, ZFS knows it was never deduplicated, so the current block must be the only reference, and it can safely be freed. This provides a best case scenario compared to Dedup Ceiling, since blocks that will deduplicate well, are likely to be written relatively close together, whereas the chance to a dedup match on a very old block is much lower.</li>
</ul></li>
</ul>

<blockquote>
<p>And I do mean expensive: Pretty much every ZFS FAQ flatly declares that ECC RAM is a must-have and 8 GB is the bare minimum. In my own experience with FreeNAS, 32 GB is a nice amount for an active small ZFS server, and this costs $200-$300 even at today’s prices.</p>
</blockquote>

<ul>
<li>As we talked about a few weeks ago, ECC is best, but it is not required. If you want your server to stay up for a long time, to be highly available, you’ll put ECC in it. Don’t let a lack of ECC stop you from using ZFS, you are just putting your data at more risk. The scrub of death is a myth.</li>
<li>ZFS does not ‘require’ lots of ram. Your NAS will work happily with 8 GB instead of 32 GB of RAM. Its cache hit ratio will be much lower, so performance will be worse. It won’t be able to buffer as many writes, so performance will be worse.</li>
<li>Copy-on-Write has some drawbacks, data tends to get scattered and fragmented across the drives when it is written gradually. The ARC (RAM Cache) lessens the pain of this, and allows ZFS to batch incoming writes up into nice contiguous writes. ZFS purposely alternates between reading and writing, since both are faster when the other is not happening. So writes are batched up until there is too much dirty data, or the timeout expires. Then reads are held off while the bulk linear write finishes as quickly as possible, and reads are resumed.</li>
<li>Obviously all of this works better and more efficiently in larger batches, which you can do if you have more RAM.</li>
<li>ZFS can be tuned to use less RAM, and if you do not have a lot of RAM, or you have a lot of other demand on your RAM, you should do that tuning.</li>
</ul>

<blockquote>
<p>And ZFS never really adapted to today’s world of widely-available flash storage: Although flash can be used to support the ZIL and L2ARC caches, these are of dubious value in a system with sufficient RAM, and ZFS has no true hybrid storage capability. It’s laughable that the ZFS documentation obsesses over a few GB of SLC flash when multi-TB 3D NAND drives are on the market. And no one is talking about NVMe even though it’s everywhere in performance PC’s.</p>
</blockquote>

<ul>
<li>Make up your mind, is 32GB of ram too expensive or not…</li>
<li>the L2ARC exists specifically for the case where it is not possible to just install more RAM. Be it because there are no more slots, of limits of the processor, or limits of your budget.</li>
<li>The SLOG is optional, but it never needs to be very big. A number of GBs of SLC flash is all you need, it is only holding writes that have not been flushed to the regular storage devices yet. The reason the documentation talks about SLC specifically is because your SLOG needs a very high write endurance, something never the newest NVMe devices cannot yet provide. </li>
<li>Of course you can use NVMe devices with ZFS, lots of people do. All flash ZFS arrays are for sale right now. Other than maybe a little tuning of the device queue depths, ZFS just works and there is nothing to think about.</li>
<li>However, to say there is nothing happening in this space is woefully inaccurate.</li>
<li>The previously mentioned allocation classes code can be used to allocate metadata (4 KB blocks) on SSD or NVMe, while allocating bulk storage data (up to 16 MB blocks) on spinning disks. Extended a bit beyond what Intel is building for their super computer, this will basically create hybrid storage for ZFS.</li>
<li>With the metaslab classes feature, it will even be possible to mix classes on the same device, grouping small allocations and large allocations in different areas, decreasing fragmentation.</li>
</ul>

<blockquote>
<p>Then there’s the question of flexibility, or lack thereof. Once you build a ZFS volume, it’s pretty much fixed for life. There are only three ways to expand a storage pool:</p>

<ol>
<li>Replace each and every drive in the pool with a larger one (which is great but limiting and expensive)</li>
</ol>
</blockquote>

<ul>
<li>It depends on your pool layout. If you design with this in mind using ZFS Mirrors, it can be quite useful</li>
</ul>

<blockquote>
<ol>
<li>Add a stripe on another set of drives (which can lead to imbalanced performance and redundancy and a whole world of potential stupid stuff)</li>
</ol>
</blockquote>

<ul>
<li>The unbalanced LUNs performance issues were sorted out in 2013-2016. </li>
<li><a href="http://open-zfs.org/w/images/3/31/Performance-George_Wilson.pdf" target="_blank" rel="nofollow noopener">2014: OpenZFS Allocation Performance </a></li>
<li><a href="http://www.bsdcan.org/2016/schedule/events/710.en.html" target="_blank" rel="nofollow noopener">2016: OpenZFS space allocation: doubling performance on large and fragmented pools</a></li>
<li>These also mostly solved the performance issues when a pool gets full, you can run a lot closer to the edge now</li>
</ul>

<blockquote>
<ol>
<li>Build a new pool and “zfs send” your datasets to it (which is what I do, even though it’s kind of tricky)</li>
</ol>
</blockquote>

<ul>
<li>This is one way to do it, yes.</li>
<li>There is another way coming, but I can’t talk about it just yet. Look for big news later this year.</li>
</ul>

<blockquote>
<p>Apart from option 3 above, you can’t shrink a ZFS pool.</p>
</blockquote>

<ul>
<li>Device removal is arriving now. It will not work for RAIDZ*, but for Mirrors and Stripes you will be able to remove a device.</li>
</ul>

<blockquote>
<p>I’ve probably made ZFS sound pretty unappealing right about now. It was revolutionary but now it’s startlingly limiting and out of touch with the present solid-state-dominated storage world.</p>
</blockquote>

<ul>
<li>I don’t feel like ZFS is out of touch with solid state. Lots of people are running SSD only pools. I will admit the tiered storage options in ZFS are a bit limited still, but there is a lot of work being done to overcome this.</li>
</ul>

<blockquote>
<p>After all, reliably storing data is the only thing a storage system really has to do. All my important data goes on ZFS, from photos to music and movies to office files. It’s going to be a long time before I trust anything other than ZFS!</p>

<ul>
<li>I agree.</li>
<li>ZFS has a great track record of doing its most important job, keeping your data safe.</li>
<li>Work is ongoing to make ZFS more performance, and more flexible. The import thing is that this work is never allowed to compromise job #1, keeping your data safe.</li>
<li>Hybrid/tiered storage features, re-RAID-ing, are coming</li>
<li>There is a lot going on with OpenZFS, check out the notes from the last two OpenZFS Developer Summits just to get an idea of what some of those things are: </li>
</ul>
</blockquote>

<p><a href="http://open-zfs.org/wiki/OpenZFS_Developer_Summit_2015" target="_blank" rel="nofollow noopener">2015</a> &amp; <a href="http://open-zfs.org/wiki/OpenZFS_Developer_Summit_2016" target="_blank" rel="nofollow noopener">2016</a></p>

<ul>
<li><p>Some highlights:</p>

<ul>
<li>Compressed ARC</li>
<li>Compressed send/recv</li>
<li>ABD (arc buf scatter/gather)</li>
<li>ZFS Native Encryption (scrub/resilver, send/recv, etc without encryption keys loaded)</li>
<li>Channel Programs (do many administrative operations as one atomic transaction)</li>
<li>Device Removal</li>
<li>Redacted send/recv</li>
<li>ZStandard Compression</li>
<li>TRIM Support (FreeBSD has its own, but this will be more performant and universal)</li>
<li><a href="https://youtu.be/SZFwv8BdBj4" target="_blank" rel="nofollow noopener">Faster Scrub/Resilver</a></li>
<li><a href="https://youtu.be/MxKohtFSB4M" target="_blank" rel="nofollow noopener">Declustered RAID</a></li>
<li><a href="https://youtu.be/28fKiTWb2oM" target="_blank" rel="nofollow noopener">Allocation Classes</a></li>
<li>Multi-mount protection (for Active/Passive failover)</li>
<li>Zpool Checkpoint (undo almost anything)</li>
<li>Even more Improved Allocator Performance</li>
<li>vdev spacemap log</li>
<li>ZIL performance improvements (w/ or w/o SLOG)</li>
<li>Persistent L2ARC</li>
</ul></li>
<li><p>What I don’t think the author of this article understands is how far behind every other filesystem is. 100s of Engineer years have gone into OpenZFS, and the pace is accelerating. I don’t see how BtrFS can ever catch up, without a huge cash infusion.</p>

<hr></li>
</ul>

<h3><a href="https://saurvs.github.io/post/writing-netbsd-kern-mod/" target="_blank" rel="nofollow noopener">Writing a NetBSD kernel module</a></h3>

<blockquote>
<p>Kernel modules are object files used to extend an operating system’s kernel functionality at run time.<br>
In this post, we’ll look at implementing a simple character device driver as a kernel module in NetBSD. Once it is loaded, userspace processes will be able to write an arbitrary byte string to the device, and on every successive read expect a cryptographically-secure pseudorandom permutation of the original byte string.</p>
</blockquote>

<ul>
<li>You will need the NetBSD Source Code.

<ul>
<li><a href="https://www.netbsd.org/docs/guide/en/chap-fetch.html" target="_blank" rel="nofollow noopener">This doc</a> will explain how you can get it.</li>
</ul></li>
<li>The article gives an easy line by line walkthrough which is easy to follow and understand.</li>
<li>The driver implements the bare minimum: open, close, read, and write, plus the module initialization function</li>
<li>It explains the differences in how memory is allocated and freed in the kernel</li>
<li>It also describes the process of using UIO to copy data back and forth between userspace and the kernel</li>
<li>Create a Makefile, and compile the kernel module</li>
<li>Then, create a simple userspace program to use the character device that the kernel module creates</li>
<li><a href="https://github.com/saurvs/rperm-netbsd" target="_blank" rel="nofollow noopener">All the code is available here</a>
***</li>
</ul>

<h3><a href="https://functionallyparanoid.com/2017/07/11/dragonflybsd-desktop/" target="_blank" rel="nofollow noopener">DragonFlyBSD Desktop!</a></h3>

<blockquote>
<p>If you read my <a href="https://functionallyparanoid.com/2017/06/30/boot-all-the-things/" target="_blank" rel="nofollow noopener">last post</a>, you know that I set up a machine (Thinkpad x230) with UEFI and four operating systems on it.  One, I had no experience with – DragonFlyBSD (other than using Matthew Dillon’s C compiler for the Amiga back in the day!) and so it was uncharted territory for me.  After getting the install working, I started playing around inside of DragonFlyBSD and discovered to my delight that it was a great operating system with some really unique features – all with that BSD commitment to good documentation and a solid coupling of kernel and userland that doesn’t exist (by design) in Linux.<br>
So my goal for my DragonFlyBSD desktop experience was to be as BSD as I possibly could.  Given that (and since I’m the maintainer of the port on OpenBSD ), I went with Lumina as the desktop environment and XDM as the graphical login manager.  I have to confess that I really like the xfce terminal application so I wanted to make sure I had that as well.  Toss in Firefox, libreOffice and ownCloud sync client and I’m good to go!<br>
OK.  So where to start.  First, we need to get WiFi and wired networking happening for the console at login.  To do that, I added the following to /etc/rc.conf:</p>

<pre><code>wlans_iwn0=”wlan0″
ifconfig_wlan0=”WPA DHCP”
ifconfig_em0=”DHCP”
</code></pre>

<p>I then edited /etc/wpa_supplicant.conf to put in the details of my WiFi network:</p>

<pre><code>network={
ssid=”MY-NETWORK-NAME”
psk=”my-super-secret-password”
}
</code></pre>

<p>A quick reboot showed that both wired and wireless networking were functional and automatically were assigned IP addresses via DHCP.  Next up is to try getting into X with whatever DragonFlyBSD uses for its default window manager.  A straight up “startx” met with, shall we say, less than stellar results.  Therefore, I used the following command to generate a simple /etc/X11/xorg.conf file:</p>

<pre><code>&amp;#35; Xorg -configure
&amp;#35; cp /root/xorg.conf.new /etc/X11/xorg.conf
</code></pre>

<p>With that file in place, I could get into the default window manager, but I had no mouse.  After some searching and pinging folks on the mailing list, I was able to figure out what I needed to do.  I added the following to my /etc/rc.conf file:</p>

<pre><code>moused_enable=”YES”
moused_type=”auto”
moused_port=”/dev/psm0″
</code></pre>

<p>I rebooted (I’m sure there is an easier way to get the changes but I don’t know it… yet) and was able to get into a basic X session and have a functional mouse.  Next up, installing and configuring Lumina!  To do that, I went through the incredibly torturous process of installing Lumina:</p>
</blockquote>

<p><code># pkg install lumina</code></p>

<blockquote>
<p>Wow!  That was really, really hard.  I might need to pause here to catch my breath. 🙂</p>

<p>Next up, jumping into Lumina from the console.  To do that, I created a .xinitrc file in my home directory with the following:</p>
</blockquote>

<p><code>exec start-lumina-desktop</code></p>

<blockquote>
<p>From there, I could “startx” until my heart was content and bounce into Lumina.  That wasn’t good enough though!  I want a graphical login (specifically xdm).  To do that, I had to do a little research.  The trick on DragonFlyBSD is not to add anything to /etc/rc.conf like you do in other BSDs, it’s a bit more old school.  Basically you need to edit the /etc/ttys file and update ttyv8 to turn on the xdm daemon:</p>
</blockquote>

<p><code>ttyv8    “/usr/X11R6/bin/xdm -nodaemon”    xterm    on    secure</code></p>

<blockquote>
<p>The other thing you need to do is set it up to use your desktop environment of choice.  In my case, that’s Lumina.  To do that, I needed to edit /usr/local/lib/X11/xdm/Xsession and change the next to the last line in the file to launch Lumina:</p>
</blockquote>

<p><code>exec /usr/local/bin/start-lumina-desktop</code></p>

<blockquote>
<p>I then crossed my fingers, rebooted and lo and behold had a graphical login that, when I actually didn’t fat finger my password from excitement, put me into the Lumina desktop environment!<br>
Next up – I need a cool desktop wallpaper.  Of course that’s way more important that installing application or other stuff!  After some searching, I found this one that met my needs.  I downloaded it to a local ~/Pictures directory and then used the Lumina wallpaper preference application to add the directory containing the picture and set it to automatic layout.  Voila!  I had a cool DragonFlyBSD wallpaper.<br>
Next I installed the xfce4 terminal program by doing:</p>
</blockquote>

<p><code># pkg install xfce4-terminal</code></p>

<blockquote>
<p>I then went into the Lumina “All Desktop Settings” preferences, found the applet for the “Menu” under “Interface Configuration” and swapped out “terminal” for “Xfce Terminal”.  I then configured Lumina further to have a 26 pixel thick, 99% length bottom center panel with the following gadgets in it (in this order):</p>

<pre><code>Start Menu
Task Manager (No Groups)
Spacer
System Tray
Time/Date
Battery Monitor
</code></pre>

<p>I then went into my Appearance | Window Manager gadget and set my Window Theme to “bora_blue” (my favorite out of the defaults supplied).  I then installed my remaining applications that I needed in order to have a functioning desktop:</p>
</blockquote>

<p><code># pkg install owncloudclient qtkeychain evolution evolution-ews firefox libreoffice</code></p>

<blockquote>
<p>After that, I really had a nicely functioning desktop environment!  By the way, the performance of DragonFlyBSD is pretty impressive in terms of its day to day usage.  Keep in mind I’m not doing any official benchmarking or anything, but it sure feels to me to be just as fast (if not faster) than OpenBSD and FreeBSD.  I know that the kernel team has done a lot to unlock things (which FreeBSD has done and we are starting to do on OpenBSD) so perhaps I can attribute the “snappiness” to that?<br>
As you can see, although there isn’t as much documentation on the Internet for this BSD, you can get a really nice, functional desktop out of it with some simple (and intuitive) configuration.  I’m really looking forward to living in this system for a while and learning about it.  Probably the first thing I’ll do is ring up the port maintainer for Lumina and see if we can’t collaborate on getting Lumina 1.3 moved over to it!  Give this one a try – I think you’ll find that its a very nice operating system with some very cool features (the HAMMER filesystem for one!).</p>

<hr>
</blockquote>

<h2>News Roundup</h2>

<h3><a href="http://blog.netbsd.org/tnf/entry/porting_netbsd_to_allwinner_h3" target="_blank" rel="nofollow noopener">Porting NetBSD to Alwinner H3 SoCs</a></h3>

<ul>
<li>Jared McNeill writes on the the NetBSD blog:</li>
</ul>

<blockquote>
<p>A new SUNXI evbarm kernel has appeared recently in NetBSD -current with support for boards based on the Allwinner H3 system on a chip (SoC). The H3 SoC is a quad-core Cortex-A7 SoC designed primarily for set-top boxes, but has managed to find its way into many single-board computers (SBC). This is one of the first evbarm ports built from the ground up with device tree support, which helps us to use a single kernel config to support many different boards.<br>
To get these boards up and running, first we need to deal with low-level startup code. For the SUNXI kernel this currently lives in sys/arch/evbarm/sunxi/. The purpose of this code is fairly simple; initialize the boot CPU and initialize the MMU so we can jump to the kernel. The initial MMU configuration needs to cover a few things -- early on we need to be able to access the kernel, UART debug console, and the device tree blob (DTB) passed in from U-Boot. We wrap the kernel in a U-Boot header that claims to be a Linux kernel; this is no accident! This tells U-Boot to use the Linux boot protocol when loading the kernel, which ensures that the DTB (loaded by U-Boot) is processed and passed to us in r2.<br>
Once the CPU and MMU are ready, we jump to the generic ARM FDT implementation of initarm in sys/arch/evbarm/fdt/fdt_machdep.c. The first thing this code does is validate and relocate the DTB data. After it has been relocated, we compare the compatible property of the root node in the device tree with the list of ARM platforms compiled into the kernel. The Allwinner sunxi platform code lives in sys/arch/arm/sunxi/sunxi_platform.c. The sunxi platform code provides SoC-specific versions of code needed early at boot. We need to know how to initialize the debug console, spin up application CPUs, reset the board, etc.<br>
With a bit of luck, we're now booting and enumerating devices. Apart from a few devices, almost nothing works yet as we are missing a driver for the CCU. The CCU in the Allwinner H3 SoC controls PLLs and most of the clock generation, division, muxing, and gating. Since there are many similarities between Allwinner SoCs, I opted to write generic CCU code and then SoC-specific frontends. The resulting code lives in sys/arch/arm/sunxi/; generic code as sunxi_ccu.c and H3-specific code in sun8i_h3_ccu.c.</p>
</blockquote>

<ul>
<li>Jared has more information about porting and also provides a boot log.
***</li>
</ul>

<h3><a href="https://www.trueos.org/blog/community-spotlight/" target="_blank" rel="nofollow noopener">TrueOS Community Spotlight: Reset ZFS Replication using the command line</a></h3>

<blockquote>
<p>We’d like to spotlight TrueOS community member Brad Alexander for documenting his experience repairing ZFS dataset replication with TrueOS. Thank you! His notes are posted here, and they’ve been added to the TrueOS handbook Troubleshooting section for later reference.</p>
</blockquote>

<ul>
<li>Original indications</li>
</ul>

<blockquote>
<p>The SysAdm Client tray icon was pulsing red. Right-clicking on the icon and clicking Messages would show the message:</p>
</blockquote>

<p><code>FAILED replication task on NCC74602 -&gt; 192.168.47.20: LOGFILE: /var/log/lpreserver/lpreserver_failed.log</code></p>

<blockquote>
<p>/var/log/lpreserver/lastrep-send.log shows very little information:</p>

<pre><code>send from @auto-2017-07-12-01-00-00 to NCC74602/ROOT/12.0-CURRENT-up-20170623_120331@auto-2017-07-14-01-00-00
total estimated size is 0
TIME        SENT    SNAPSHOT
</code></pre>

<p>And no useful errors were being written to the lpreserver_failed.log.</p>
</blockquote>

<ul>
<li>Repairing replication

<ul>
<li>First attempt:</li>
</ul></li>
</ul>

<blockquote>
<p>The first approach I tried was to use the Sysadm Client:<br>
I clicked on the dataset in question, then clicked Initialize. After waiting a few minutes, I clicked Start. I was immediately rewarded with a pulsing red icon in the system tray and received the same messages as above.</p>
</blockquote>

<ul>
<li>Second attempt:</li>
</ul>

<blockquote>
<p>I was working with, and want to specially thank @RodMyers and @NorwegianRockCat. They suggested I use the lpreserver command line. So I issued these commands:</p>

<pre><code>sudo lpreserver replicate init NCC74602 192.168.47.20
sudo lpreserver replicate run NCC74602 192.168.47.20
</code></pre>

<p>Unfortunately, the replication failed again. I got these messages in the logs:</p>

<pre><code>Fri Jul 14 09:03:34 EDT 2017: Removing NX80101/archive/yukon.sonsofthunder.nanobit.org/ROOT - re-created locally
cannot unmount '/mnt/NX80101/archive/yukon.sonsofthunder.nanobit.org/ROOT': Operation not permitted
Failed creating remote dataset!
cannot create 'NX80101/archive/yukon.sonsofthunder.nanobit.org/ROOT': dataset already exists
</code></pre>

<p>It turned out there were a number of children. I logged into luna (the FreeNAS) and issued this command as root: </p>
</blockquote>

<p><code>zfs destroy -r NX80101/archive/defiant.sonsofthunder.nanobit.org</code></p>

<blockquote>
<p>I then ran the replicate init and replicate run commands again from the TrueOS host, and replication worked! It has continued to work too, at least until the next fiddly bit breaks.</p>

<hr>
</blockquote>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170701170044" target="_blank" rel="nofollow noopener">Kernel relinking status from Theo de Raadt</a></h3>

<blockquote>
<p>As you may have heard (and as was mentioned in an earlier article), on recent OpenBSD snapshots we have KARL, which means that the kernel is relinked so each boot comes with a new kernel where all .o files are linked in random order and with random offsets. Theo de Raadt summarized the status in a message to the tech@ mailing list, subject kernel relinking as follows:</p>

<p>5 weeks ago at d2k17 I started work on randomized kernels. I've been having conversations with other developers for nearly 5 years on the topic... but never got off to a good start, probably because I was trying to pawn the work off on others.<br>
Having done this, I really had no idea we'd end up where we are today.<br>
Here are the behaviours:<br>
The base set has grown, it now includes a link-kit<br>
At install time, a unique kernel is built from this link-kit<br>
At upgrade time, a unique kernel is built<br>
At boot time, a unique kernel is built and installed for the next boot<br>
If someone compiles their own kernel and uses 'make install', the link-kit is also updated, so that the next boot can do the work<br>
If a developer cp's a kernel to /, the mechanism dis-engages until a 'make install" or upgrade is performed in the future. That may help debugging.<br>
A unique kernel is linked such that the startup assembly code is kept in the same place, followed by randomly-sized gapping, followed by all the other .o files randomly re-organized. As a result the distances between functions and variables are entirely new. An info leak of a pointer will not disclose other pointers or objects. This may also help reduce gadgets on variable-sized architectures, because polymorphism in the instruction stream is damaged by nested offsets changing.<br>
At runtime, the kernel can unmap it's startup code. On architectures where an unmap isn't possible due to large-PTE use, the code can be trashed instead.<br>
I did most of the kernel work on amd64 first, then i386. I explained what needed to be done to visa and patrick, who handled the arm and mips platforms. Then I completed all the rest of the architectures. Some architecture are missing the unmap/trashing of startup code, that's a step we need to get back to.<br>
The next part was tricky and I received assistance from tb and rpe. We had to script the behaviours at build time, snapshot time, relink time, boot time, and later on install/upgrade time also.<br>
While they helped, I also worked to create the "gap.o" file without use of a C compiler so that relinks can occur without the "comp" set installed. This uses the linkscript feature of ld. I don't think anyone has done this before. It is little bit fragile, and the various linkers may need to receive some fixes due to what I've encountered.<br>
To ensure this security feature works great in the 6.2 release, please test snapshots. By working well, I mean it should work invisibly, without any glitch such as a broken kernel or anything. If there are ugly glitches we would like to know before the release.</p>

<p>You heard the man, now is the time to test and get a preview of the new awsomeness that will be in OpenBSD 6.2.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170704122507" target="_blank" rel="nofollow noopener">Beta Undeadly call for testing</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/2972" target="_blank" rel="nofollow noopener">Absolute FreeBSD 3rd Edition Update</a></li>
<li><a href="http://mail-index.netbsd.org/tech-repository/2017/06/10/msg000637.html" target="_blank" rel="nofollow noopener">New home for the NetBSD repository conversion</a></li>
<li><a href="https://www.trueos.org/blog/trueos-unstable-update-71417/" target="_blank" rel="nofollow noopener">TrueOS unstable Update: 7/14/17</a></li>
<li><a href="https://www.mappingthejourney.com/single-post/2017/07/06/Episode-4-Interview-with-George-Neville-Neil-President-of-FreeBSD" target="_blank" rel="nofollow noopener">Interview with George Neville-Neil - President of the FreeBSD Foundation</a></li>
<li><a href="https://marc.info/?l=openbsd-announce&amp;m=149993703415746" target="_blank" rel="nofollow noopener">LibreSSL 2.5.5, 2.6.0 released</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/30EY7GZ#wrap" target="_blank" rel="nofollow noopener">Jason - Byhve VM UEFI woes</a></li>
<li><a href="http://dpaste.com/39X6YSQ#wrap" target="_blank" rel="nofollow noopener">Donald - Several Questions</a></li>
<li><a href="http://dpaste.com/3B50ZRV#wrap" target="_blank" rel="nofollow noopener">Dan - Several Questions</a></li>
<li><a href="http://dpaste.com/08C43XN#wrap" target="_blank" rel="nofollow noopener">Bryson - Jails</a>
***</li>
</ul>

<h2>Final Note</h2>

<ul>
<li>We’ve decided to do something different for a change of pace and let you the audience interview Allan and Benedict.</li>
<li>Getting our entire audience live when we record would be a challenge, so instead we want you to send in your questions for Allan and Benedict.</li>
<li>This interview is not going to be like our typical support feedback questions.  This is a chance for you, our audience, to ask Allan and Benedict any questions that you’ve been wondering over the years.</li>
<li>Questions like… “Of all the conferences you've gone to, what was your favorite and why?”</li>
<li>We will answer the questions during a random week during the month of September.  Send all your questions to <a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener">feedback@bsdnow.tv</a> with the subject of “viewer interview questions”</li>
<li>We reserve the right to not answer questions which we feel are inappropriate or trolling.
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>202: Brokering Bind</title>
  <link>https://www.bsdnow.tv/202</link>
  <guid isPermaLink="false">9e615fd7-665a-44b7-af45-95315901cc96</guid>
  <pubDate>Wed, 12 Jul 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/9e615fd7-665a-44b7-af45-95315901cc96.mp3" length="55418836" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We look at an OpenBSD setup on a new laptop, revel in BSDCan trip reports, and visit daemons and friendly ninjas.</itunes:subtitle>
  <itunes:duration>1:16:58</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>&lt;p&gt;We look at an OpenBSD setup on a new laptop, revel in BSDCan trip reports, and visit daemons and friendly ninjas.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://bsdly.blogspot.de/2017/07/openbsd-and-modern-laptop.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD and the modern laptop&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Peter Hansteen has a new blog post about &lt;a href="http://www.openbsd.org/" target="_blank" rel="nofollow noopener"&gt;OpenBSD&lt;/a&gt; on laptops:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Did you think that OpenBSD is suitable only for firewalls and high-security servers? Think again. Here are my steps to transform a modern mid to high range laptop into a useful Unix workstation with OpenBSD.&lt;br&gt;
One thing that never ceases to amaze me is that whenever I'm out and about with my primary laptop at conferences and elsewhere geeks gather, a significant subset of the people I meet have a hard time believing that my laptop runs OpenBSD, and that it's the only system installed.&lt;br&gt;
and then it takes a bit of demonstrating that yes, the graphics runs with the best available resolution the hardware can offer, the wireless network is functional, suspend and resume does work, and so forth. And of course, yes, I do use that system when writing books and articles too. Apparently heavy users of other free operating systems do not always run them on their primary workstations.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Peter goes on to describe the laptops he’s had over the years (all running OpenBSD) and after BSDCan 2017, he needed a new one due to cracks in the display.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;So the time came to shop around for a replacement. After a bit of shopping around I came back to Multicom, a small computers and parts supplier outfit in rural Åmli in southern Norway, the same place I had sourced the previous one.&lt;br&gt;
One of the things that attracted me to that particular shop and their own-branded offerings is that they will let you buy those computers with no operating system installed. That is of course what you want to do when you source your operating system separately, as we OpenBSD users tend to do.&lt;br&gt;
The last time around I had gone for a "Thin and lightweight" 14 inch model (Thickness 20mm, weight 2.0kg) with 16GB RAM, 240GB SSD for system disk and 1TB HD for /home (since swapped out for a same-size SSD, as the dmesg will show). &lt;br&gt;
Three years later, the rough equivalent with some added oomph for me to stay comfortable for some years to come ended me with a 13.3 inch model, 18mm and advertised as 1.3kg (but actually weighing in at 1.5kg, possibly due to extra components), 32GB RAM, 512GB SSD and 2TB harddisk. For now the specification can be viewed online &lt;a href="https://www.multicom.no/systemconfigurator.aspx?q=st:10637291;c:100559;fl:0#4091-10500502-1;4086-10637290-1;4087-8562157-2;4088-9101982-1;4089-9101991-1" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt; (the site language is Norwegian, but product names and units of measure are not in fact different).&lt;br&gt;
The OpenBSD installer is a wonder of straightforward, no-nonsense simplicity that simply gets the job done. Even so, if you are not yet familiar with OpenBSD, it is worth spending some time reading the OpenBSD FAQ's installation guidelines and the INSTALL.platform file (in our case, INSTALL.amd64) to familiarize yourself with the procedure. If you're following this article to the letter and will be installing a snapshot, it is worth reading the notes on following -current too.&lt;br&gt;
The main hurdle back when I was installing the 2014-vintage 14" model was getting the system to consider the SSD which showed up as sd1 the automatic choice for booting (I solved that by removing the MBR, setting the size of the MBR on the hard drive that showed up as sd0 to 0 and enlarging the OpenBSD part to fill the entire drive).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;He goes on to explain the choices he made in the installer and settings made after the reboot to set up his work environment. Peter closes with:
If you have any questions on running OpenBSD as a primary working environment, I'm generally happy to answer but in almost all cases I would prefer that you use the mailing lists such as &lt;a href="mailto:misc@openbsd.org" target="_blank" rel="nofollow noopener"&gt;misc@openbsd.org&lt;/a&gt; or the &lt;a href="https://www.facebook.com/groups/2210554563/" target="_blank" rel="nofollow noopener"&gt;OpenBSD Facebook&lt;/a&gt; group so the question and hopefully useful answers become available to the general public. Browsing the slides for my recent &lt;a href="https://home.nuug.no/%7Epeter/openbsd_and_you/" target="_blank" rel="nofollow noopener"&gt;OpenBSD and you&lt;/a&gt; user group talk might be beneficial if you're not yet familiar with the system. And of course, comments on this article are welcome.
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/2017-bsdcan-trip-report-roller-angel/" target="_blank" rel="nofollow noopener"&gt;BSDCan 2017 Trip Report: Roller Angel&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We could put this into next week’s show, because we have another trip report already that’s quite long.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After dropping off my luggage, I headed straight over to the Goat BoF which took place at The Royal Oak. There were already a number of people there engaged in conversation with food and drink. I sat down at a table and was delighted that the people sitting with me were also into the BSD’s and were happy to talk about it the whole time. I felt right at home from the start as people were very nice to me, and were interested in what I was working on. I honestly didn’t know that I would fit in so well.&lt;br&gt;
I had a preconceived notion that people may be a bit hard to approach as they are famous and so technically advanced. At first, people seemed to only be working in smaller circles. Once you get more familiar with the faces, you realize that these circles don’t always contain the same people and that they are just people talking about specific topics. I found that it was easy to participate in the conversation and also found out that people are happy to get your feedback on the subject as well.&lt;br&gt;
I was actually surprised how easily I got along with everyone and how included I felt in the activities. I volunteered to help wherever possible and got to work on the video crew that recorded the audio and slides of the talks. The people at BSDCan are incredibly easy to talk to, are actually interested in what you’re doing with BSD, and what they can do to help. It’s nice to feel welcome in the community. It’s like going home. Dan mentioned in his welcome on the first day of BSDCan that the conference is like home for many in the community.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The trip report is very detailed and chronicles the two days of the developer summit, and the two days of the conference&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There was some discussion about a new code of conduct by Benno Rice who mentioned that people are welcome to join a body of people that is forming that helps work out issues related to code of conduct and forwards their recommendations on to core. Next, Allan introduced the idea of creating a process for formally discussing big project changes or similar discussions that is going to be known as FCP or FreeBSD Community Proposal. In Python we have the Python Enhancement Proposal or PEP which is very similar to the idea of FCP. I thought this idea is a great step for FreeBSD to be implementing as it has been a great thing for Python to have.&lt;br&gt;
There was some discussion about taking non-code contributions from people and how to recognize those people in the project. There was a suggestion to have a FreeBSD Member status created that can be given to people whose non-code contributions are valuable to the project. This idea seemed to be on a lot of people’s minds as something that should be in place soon. The junior jobs on the FreeBSD Wiki were also brought up as a great place to look for ideas on how to get involved in contributing to FreeBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Roller wasted no time, and started contributing to EdgeBSD at the conference.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;On the first day of BSDCan I arrived at the conference early to coordinate with the team that records the talks. We selected the rooms that each of us would be in to do the recording and set up a group chat via WhatsApp for coordination.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Thanks to Roller, Patrick McAvoy, Calvin Hendryx-Parker, and all of the others who volunteered their time to run the video and streaming production at BSDCan, as well as all others who volunteered, even if it was just to carry a box. BSDCan couldn’t happen without the army of volunteers.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After the doc lounge, I visited the Hacker Lounge. There were already several tables full of people talking and working on various projects. In fact, there was a larger group of people who were collaborating on the new libtrue library that seemed to be having a great time. I did a little socializing and then got on my laptop and did some more work on the documentation using my new skills. I really enjoyed having a hacker lounge to go to at night.&lt;br&gt;
I want to give a big thank you to the FreeBSD Foundation for approving my travel grant. It was a great experience to meet the community and participate in discussions. I’m very grateful that I was able to attend my first BSDCan. After visiting the doc lounge a few times, I managed to get comfortable using the tools required to edit the documentation. By the end of the conference, I had submitted two documentation patches to the FreeBSD Bugzilla with several patches still in progress. Prior to the conference I expected that I would be spending a lot of time working on my Onion Omega and Edge Router Lite projects that I had with me, but I actually found that there was always something fun going on that I would rather do or work on. I can always work on those projects at home anyway. I had a good time working with the FreeBSD community and will continue working with them by editing the documentation and working with Bugzilla.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;One of the things I enjoy about these trip reports is when they help convince other people to make the trip to their first conference. Hopefully by sharing their experience, it will convince you to come to the next conference:

&lt;ul&gt;
&lt;li&gt;vBSDCon in Virginia, USA: Sept 7-9&lt;/li&gt;
&lt;li&gt;EuroBSDCon in Paris, France: Sept 21-24&lt;/li&gt;
&lt;li&gt;BSDTW in Taipei, Taiwan: November 11-12 (CFP ends July 31st)
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170629150641" target="_blank" rel="nofollow noopener"&gt;BSDCan 2017 - Trip report double-p&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Prologue&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Most overheard in Tokyo was "see you in Ottawaaaaah", so with additional "personal item" being Groff I returned home to plan the trip to BSDCan.&lt;br&gt;
Dan was very helpful with getting all the preparations (immigration handling), thanks for that. Before I could start, I had to fix something: the handling of the goat. With a nicely created harness, I could just hang it along my backpack.&lt;br&gt;
Done that it went to the airport of Hamburg and check-in for an itinerary of HAM-MUC-YUL. While the feeder leg was a common thing, boarding to YUL was great - cabin-crew likes Groff :)&lt;br&gt;
Arriving in Montreal was like entering a Monsoon zone or something, sad! After the night the weather was still rain-ish but improving and i shuttled to Dorval VIARail station to take me to Ottawa (ever avoid AirCanada, right?). Train was late, but the conductor (or so) was nice to talk to - and wanted to know about Groff's facebook page :-P.&lt;br&gt;
Picking a cab in Ottawa to take me to "Residence" was easy at first - just that it was the wrong one. Actually my fault and so I had a "nice, short" walk to the actual one in the rain with wrong directions. Eventually I made it and after unpacking, refreshment it was time to hit the Goat BOF!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Day 1&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Since this was my first BSDCan I didnt exactly knew what to expect from this BOF. But it was like, we (Keeper, Dan, Allan, ..) would talk about "who's next" and things like that. How mistaken I was :). Besides the sheer amount of BSD people entering the not-so-yuuge Oak some Dexter sneaked in camouflage. The name-giver got a proper position to oversee the mess and I was glad I did not leave him behind after almost too many Creemores.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Day 2&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Something happened it's crystal blue on the "roof" and sun is trying its best to wake me up. To start the day, I pick breakfast at 'Father+Sons' - I can really recommend that. Very nice home made fries (almost hashbrowns) and fast delivery! Stuffed up I trott along to get to phessler's tutorial about BGP-for-sysadmins-and-developers.&lt;br&gt;
Peter did a great job, but the "lab" couldn't happen, since - oh surprise - the wifi was sluggish as hell. Must love the first day on a conference every time.&lt;br&gt;
Went to Hackroom in U90 afterwards, just to fix stuff "at home". IPsec giving pains again.&lt;br&gt;
Time to pick food+beer afterwards and since it's so easy to reach, we went to the Oak again. Having a nice backyard patio experience it was about time to meet new people. Cheers to Tom, Aaron, Nick, Philip and some more, we'd an awesome night there. I also invited some not-really-computer local I know by other means who was completly overwhelmed by what kind of "nerds" gather around BSD. He planned to stay "a beer" - and it was rather some more and six hours. Looks like "we" made some impression on him :).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Day 3&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Easy day, no tutorials at hand, so first picking up breakfast at F+S again and moving to hackroom in U90. Since I promised phessler to help with an localized lab-setup, I started to hack on a quick vagrant/ansible setup to mimic his BGP-lab and went quickly through most of it. Plus some more IPsec debugging and finally fixing it, we went early in the general direction of the Red Lion to pick our registration pack.&lt;br&gt;
But before that could happen it was called to have shawarma at 3brothers along. Given a tight hangover it wasn't the brightest idea to order a poutine m-(. Might be great the other day, it wasn't for me at the very time and had to throw away most of it :(. Eventually passing on to the Red Lion I made the next failure with just running into the pub - please stay at the front desk until "seated". I never get used to this concept.&lt;br&gt;
So after being "properly" seated, we take our beers and the registration can commence after we had half of it. So I register myself; btw it's a great idea to grant "not needed" stuff to charity. So dont pick "just because", think about it if you really need this or that gadget.&lt;br&gt;
Then I register Groff - he really needs badges - just to have Dru coming back to me some minutes later one to hand me the badge for Henning. That's just "amazing"; I dont know IF i want to break this vicious circle the other day, since it's so funny.&lt;br&gt;
Talked to Theo about the ongoing IPsec problems and he taught me about utrace(2) which looks "complicated" but might be an end of the story the other day. Also had a nice talk to Peter (H.) about some other ideas along books.&lt;br&gt;
BTW, did I pay for ongoing beers? I think Tom did - what a guy :).&lt;br&gt;
Arriving at the Residence, I had to find my bathroom door locked (special thing).. crazy thing is they dont have a master key at the venue, but to have to call in one from elsewhere.&lt;br&gt;
Short night shortened by another 30minutes :(.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Day 4&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Weather is improving into beach+sun levels - and it's Conference Day! The opening keynote from Geist was very interesting ("citation needed"). Afterwards I went to zfs-over-ssh, nothing really new (sorry Allan). But then Jason had a super interesting talk on how about to apply BSD for the health-care system in Australia. I hope I can help him with the last bits (rdomain!) in the end.&lt;br&gt;
While lunch I tried to recall my memories about utrace(2) while talking to Theo.&lt;br&gt;
Then it was about to present my talk and I think it was well perceipted. One "not so good" feedback was about not taking the audience more into account. I think I was asking every other five slides or so - but, well. The general feedback (in spoken terms) was quite good. I was a bit "confused" and I did likely a better job in Tokyo, but well.&lt;br&gt;
Happened we ended up in the Oak again.. thanks to mwl, shirkdog, sng, pitrh, kurtm for having me there :)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Day 5&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;While the weather had to decide "what next", I rushed to the venue just to gather Reyk's talk about vmd(8). Afterwards it was MSTP from Paeps which was very interesting and we (OpenBSD) should look into it. Then happened BUG BOF and I invite all "coastal Germans" to cbug.de :)&lt;br&gt;
I had to run off for other reasons and came back to Dave's talk which was AWESOME.&lt;br&gt;
Following was Rod's talk.. well. While I see his case, that was very poor.&lt;br&gt;
The auction into closing was awesome again, and I spend $50 on a Tshirt. :)&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Epilogue
I &lt;em&gt;totally&lt;/em&gt; got the exit dates wrong. So first cancel a booking of an Hotel and then rebook the train to YUL. So I have plenty of time "in the morning" to get breakfast with the local guy. After that he drives me to VIARail station and I dig into "business" cussions.
Well, see you in Ottawa - or how about Paris, Taipei?
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://www.tedunangst.com/flak/post/bind-broker" target="_blank" rel="nofollow noopener"&gt;Bind Broker&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ted Unangst writes about an interesting idea he has&lt;/li&gt;
&lt;li&gt;He has a single big server, and lots of users who would like to share it, many want to run web servers.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This would be great, but alas, archaic decisions made long ago mean that network sockets aren’t really files and there’s this weird concept of privileged ports. Maybe we could assign each user a virtual machine and let them do whatever they want, but that seems wasteful. Think of the megabytes! Maybe we could setup nginx.conf to proxy all incoming connections to a process of the user’s choosing, but that only works for web sites and we want to be protocol neutral. Maybe we could use iptables, but nobody wants to do that. &lt;br&gt;
What we need is a bind broker. At some level, there needs to be some kind of broker that assigns IPs to users and resolves conflicts. It should be possible to build something of this nature given just the existing unix tools we have, instead of changing system design. Then we can deploy our broker to existing systems without upgrading or disrupting their ongoing operation. The bind broker watches a directory for the creation, by users, of unix domain sockets. Then it binds to the TCP port of the same name, and transfers traffic between them.&lt;br&gt;
A more complete problem specification is as follows. A top level directory, which contains subdirectories named after IP addresses. Each user is assigned a subdirectory, which they have write permission to. Inside each subdirectory, the user may create unix sockets named according to the port they wish to bind to. We might assign user alice the IP 10.0.0.5 and the user bob the IP 10.0.0.10. Then alice could run a webserver by binding to net/10.0.0.5/80 and bob could run a mail server by binding to net/10.0.0.10/25. This maps IP ownership (which doesn’t really exist in unix) to the filesystem namespace (which does have working permissions).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;So this will be a bit different than jails. The idea is to use filesystem permissions to control which users can bind to which IP addresses and ports&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The broker is responsible for watching each directory. As new sockets are created, it should respond by binding to the appropriate port. When a socket is deleted, the network side socket should be closed as well. Whenever a connection is accepted on the network side, a matching connection is made on the unix side, and then traffic is copied across.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A full set of example code is provided&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There’s no completely portable way to watch a directory for changes. I’m using a kevent extension. Otherwise we might consider a timeout and polling with fstat, or another system specific interface (or an abstraction layer over such an interface). Otherwise, if one of our mappings is ready to read (accept), we have a new connection to handle. &lt;br&gt;
The first half is straightforward. We accept the connection and make a matching connect call to the unix side. Then I broke out the big cheat stick and just spliced the sockets together. In reality, we’d have to set up a read/copy/write loop for each end to copy traffic between them. That’s not very interesting to read though. &lt;br&gt;
The full code, below, comes in at 232 lines according to wc. Minus includes, blank lines, and lines consisting of nothing but braces, it’s 148 lines of stuff that actually gets executed by the computer. Add some error handling, and working read/write code, and 200 lines seems about right. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A very interesting idea. I wonder about creating a virtual file system that would implement this and maybe do a bit more to fully flesh out this idea.&lt;/li&gt;
&lt;li&gt;What do you think?
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://euroquis.nl/bobulate/?p=1600" target="_blank" rel="nofollow noopener"&gt;Daemons and friendly Ninjas&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;There’s quite a lot of software that uses CMake as a (meta-)buildsystem. A quick count in the FreeBSD ports tree shows me 1110 ports (over a thousand) that use it. CMake generates buildsystem files which then direct the actual build — it doesn’t do building itself.&lt;br&gt;
There are multiple buildsystem-backends available: in regular usage, CMake generates Makefiles (and does a reasonable job of producing Makefiles that work for GNU Make and for BSD Make). But it can generate Ninja, or Visual Studio, and other buildsystem files. It’s quite flexible in this regard.&lt;br&gt;
Recently, the KDE-FreeBSD team has been working on Qt WebEngine, which is horrible. It contains a complete Chromium and who knows what else. Rebuilding it takes forever.&lt;br&gt;
But Tobias (KDE-FreeBSD) and Koos (GNOME-FreeBSD) noticed that building things with the Ninja backend was considerably faster for some packages (e.g. Qt WebEngine, and Evolution data-thingy). Tobias wanted to try to extend the build-time improvements to all of the CMake-based ports in FreeBSD, and over the past few days, this has been a success.&lt;br&gt;
Ports builds using CMake now default to using Ninja as buildsystem-backend.&lt;br&gt;
Here’s a bitty table of build-times. These are one-off build times, so hardly scientifically accurate — but suggestive of a slight improvement in build time.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;Name        Size        GMake    Ninja
liblxt        50kB        0:32    0:31
llvm38        1655kB    *    19:43
musescore    47590kB    4:00    3:54
webkit2-gtk3    14652kB    44:29    37:40
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Or here’s a much more thorough table of results from tcberner@, who did 5 builds of each with and without ninja. I’ve cut out the raw data, here are just the average-of-five results, showing usually a slight improvement in build time with Ninja.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;Name        av make    av ninj    Delta    D/Awo
compiler-rt    00:08        00:07    -00:01    -14%
openjpeg    00:06        00:07    +00:01    +17%
marble        01:57        01:43    -00:14    -11%
uhd        01:49        01:34    -00:15    -13%
opencacscade    04:08        03:23    -00:45    -18%
avidemux    03:01        02:49    -00:12    – 6%
kdevelop    01:43        01:33    -00:10    – 9%
ring-libclient    00:58        00:53    -00:05    – 8%
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Not everything builds properly with Ninja. This is usually due to missing dependencies that CMake does not discover; this shows up when foo depends on bar but no rule is generated for it. Depending on build order and speed, bar may be there already by the time foo gets around to being built. Doxygen showed this, where builds on 1 CPU core were all fine, but 8 cores would blow up occasionally.&lt;br&gt;
In many cases, we’ve gone and fixed the missing implicit dependencies in ports and upstreams. But some things are intractable, or just really need GNU Make. For this, the FreeBSD ports infrastructure now has a knob attached to CMake for switching a port build to GNU Make.&lt;/p&gt;

&lt;p&gt;Normal: USES=cmake&lt;br&gt;
Out-of-source: USES=cmake:outsource&lt;br&gt;
GNU Make: USES=cmake:noninja gmake&lt;br&gt;
OoS, GMake: USES=cmake:outsource,noninja gmake&lt;br&gt;
Bad: USES=cmake gmake&lt;/p&gt;

&lt;p&gt;For the majority of users, this has no effect, but for our package-building clusters, and for KDE-FreeBSD developers who build a lot of CMake-buildsystem software in a day it may add up to an extra coffee break. So I’ll raise a shot of espresso to friendship between daemons and ninjas.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://mail-index.netbsd.org/pkgsrc-users/2017/07/10/msg025237.html" target="_blank" rel="nofollow noopener"&gt;Announcing the pkgsrc-2017Q2 release&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;For the 2017Q2 release we welcome the following notable package additions and changes to the pkgsrc collection:

&lt;ul&gt;
&lt;li&gt;Firefox 54&lt;/li&gt;
&lt;li&gt;GCC 7.1&lt;/li&gt;
&lt;li&gt;MATE 1.18&lt;/li&gt;
&lt;li&gt;Ruby 2.4&lt;/li&gt;
&lt;li&gt;Ruby on Rails 4.2&lt;/li&gt;
&lt;li&gt;TeX Live 2017&lt;/li&gt;
&lt;li&gt;Thunderbird 52.1&lt;/li&gt;
&lt;li&gt;Xen 4.8&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;We say goodbye to:

&lt;ul&gt;
&lt;li&gt;Ruby 1.8&lt;/li&gt;
&lt;li&gt;Ruby 2.1&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;The following infrastructure changes were introduced:

&lt;ul&gt;
&lt;li&gt;Implement optional new pkgtasks and init infrastructure for pkginstall. &lt;/li&gt;
&lt;li&gt;Various enhancements and fixes for building with ccache.&lt;/li&gt;
&lt;li&gt;Add support to USE_LANGUAGES for newer C++ standards.&lt;/li&gt;
&lt;li&gt;Enhanced support for SSP, FORTIFY, and RELRO.&lt;/li&gt;
&lt;li&gt;The GitHub mirror has migrated to &lt;a href="https://github.com/NetBSD/pkgsrc" target="_blank" rel="nofollow noopener"&gt;https://github.com/NetBSD/pkgsrc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;In total, 210 packages were added, 43 packages were removed, and 1,780 package updates were processed since the pkgsrc-2017Q1 release.
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.tedunangst.com/flak/post/openbsd-changes-of-note-624" target="_blank" rel="nofollow noopener"&gt;OpenBSD changes of note 624&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;There are a bunch, but here are a few that jump out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start plugging some leaks. Compile kernels with umask 007. Install them minus read permissions.&lt;/li&gt;
&lt;li&gt;Pure preprocessor implementation of the roff .ec and .eo requests, though you are warned that very bad things will happen to anybody trying to use these macros in OpenBSD manuals.&lt;/li&gt;
&lt;li&gt;Random linking for arm64. And octeon. And alpha. And hppa. There’s some variation by platform, because every architecture has the kernel loaded with different flavors of initial physical and virtual mappings. And landisk. And loongson. And sgi. And macppc. And a gap file for sparc64, but nobody yet dares split locore. And arm7.&lt;/li&gt;
&lt;li&gt;Errata for perl File::Path race condition.&lt;/li&gt;
&lt;li&gt;Some fixes for potential link attacks against cron.&lt;/li&gt;
&lt;li&gt;Add pledge violations to acct reporting.&lt;/li&gt;
&lt;li&gt;Take random linking to the next stage. More about KARL - kernel address randomized link. As noted, a few difficulties with hibernate and such, but the plan is coming together. Add a new function reorder_kernel() that relinks and installs the new kernel in the background on system startup. Add support for the bootblocks to detect hibernate and boot the previous kernel.&lt;/li&gt;
&lt;li&gt;Remove the poorly described “stuff” from ksh.&lt;/li&gt;
&lt;li&gt;Replace usage of TIOCSTI in csh using a more common IO loop. Kind of like the stuff in ksh, but part of the default command line editing and parsing code, csh would read too many characters, then send the ones it didn’t like back into the terminal. Which is weird, right? Also, more importantly, eliminating the code that uses TIOCSTI to inject characters into ttys means that maybe TIOCSTI can be removed.&lt;/li&gt;
&lt;li&gt;Revamp some of the authentication logging in ssh.&lt;/li&gt;
&lt;li&gt;Add a verbose flag to rm so you can panic immediately upon seeing it delete the wrong file instead of waiting to discover your mistake after the fact.&lt;/li&gt;
&lt;li&gt;Update libexpat to version 2.2.1 which has some security fixes. Never trust an expat, that’s my motto.&lt;/li&gt;
&lt;li&gt;Update inteldrm to code based on Linux 4.4.70. This brings us support for Skylake and Cherryview and better support for Broadwell and Valleyview. Also adds MST support. Fun times for people with newish laptops.
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://opnsense.org/opnsense-17-1-9-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 17.1.9 released&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;firewall: move gateway switching from system to firewall advanced settings&lt;/li&gt;
&lt;li&gt;firewall: keep category selection when changing tabs&lt;/li&gt;
&lt;li&gt;firewall: do not skip gateway switch parsing too early (contributed by Stephane Lesimple)&lt;/li&gt;
&lt;li&gt;interfaces: show VLAN description during edit&lt;/li&gt;
&lt;li&gt;firmware: opnsense-revert can now handle multiple packages at once&lt;/li&gt;
&lt;li&gt;firmware: opnsense-patch can now handle permission changes from patches&lt;/li&gt;
&lt;li&gt;dnsmasq: use canned –bogus-priv for no_private_reverse&lt;/li&gt;
&lt;li&gt;dnsmasq: separate log file, ACL and menu entries&lt;/li&gt;
&lt;li&gt;dynamic dns: fix update for IPv6 (contributed by Alexander Leisentritt)&lt;/li&gt;
&lt;li&gt;dynamic dns: remove usage of CURLAUTH_ANY (contributed by Alexander Leisentritt)&lt;/li&gt;
&lt;li&gt;intrusion detection: suppress “fast mode available” boot warning in PCAP mode&lt;/li&gt;
&lt;li&gt;openvpn: plugin framework adaption&lt;/li&gt;
&lt;li&gt;unbound: add local-zone type transparent for PTR zone (contributed by Davide Gerhard)&lt;/li&gt;
&lt;li&gt;unbound: separate log file, ACL and menu entries&lt;/li&gt;
&lt;li&gt;wizard: remove HTML from description strings&lt;/li&gt;
&lt;li&gt;mvc: group relation to something other than uuid if needed&lt;/li&gt;
&lt;li&gt;mvc: rework “item in” for our Volt templates&lt;/li&gt;
&lt;li&gt;lang: Czech to 100% translated (contributed by Pavel Borecki)&lt;/li&gt;
&lt;li&gt;plugins: zabbix-agent 1.1 (contributed by Frank Wall)&lt;/li&gt;
&lt;li&gt;plugins: haproxy 1.16 (contributed by Frank Wall)&lt;/li&gt;
&lt;li&gt;plugins: acme-client 1.8 (contributed by Frank Wall)&lt;/li&gt;
&lt;li&gt;plugins: tinc fix for switch mode (contributed by Johan Grip)&lt;/li&gt;
&lt;li&gt;plugins: monit 1.3 (contributed by Frank Brendel)&lt;/li&gt;
&lt;li&gt;src: support dhclient supersede statement for option 54 (contributed by Fabian Kurtz)&lt;/li&gt;
&lt;li&gt;src: add Intel Atom Cherryview SOC HSUART support&lt;/li&gt;
&lt;li&gt;src: add the ID for the Huawei ME909S LTE modem&lt;/li&gt;
&lt;li&gt;src: HardenedBSD Stack Clash mitigations[1]&lt;/li&gt;
&lt;li&gt;ports: sqlite 3.19.3[2]&lt;/li&gt;
&lt;li&gt;ports: openvpn 2.4.3[3]&lt;/li&gt;
&lt;li&gt;ports: sudo 1.8.20p2[4]&lt;/li&gt;
&lt;li&gt;ports: dnsmasq 2.77[5]&lt;/li&gt;
&lt;li&gt;ports: openldap 2.4.45[6]&lt;/li&gt;
&lt;li&gt;ports: php 7.0.20[7]&lt;/li&gt;
&lt;li&gt;ports: suricata 3.2.2[8]&lt;/li&gt;
&lt;li&gt;ports: squid 3.5.26[9]&lt;/li&gt;
&lt;li&gt;ports: ca_root_nss 3.31&lt;/li&gt;
&lt;li&gt;ports: bind 9.11.1-P2[10]&lt;/li&gt;
&lt;li&gt;ports: unbound 1.6.3[11]&lt;/li&gt;
&lt;li&gt;ports: curl 7.54.1[12]
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/users/2017-July/313519.html" target="_blank" rel="nofollow noopener"&gt;Thinkpad x230 - trying to get TrackPoint / Touchpad working in X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://marc.info/?l=freebsd-commits-all&amp;amp;m=149918307723723&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;FreeBSD deprecates all r-cmds (rcp, rlogin, etc.)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://max.io/bash.html" target="_blank" rel="nofollow noopener"&gt;Bashfill - art for your terminal&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/golang/go/commit/32002079083e533e11209824bd9e3a797169d1c4" target="_blank" rel="nofollow noopener"&gt;Go 1.9 release notes: NetBSD support is broken, please help&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/altsrc-io/Jest" target="_blank" rel="nofollow noopener"&gt;Jest, A ReST api for creating and managing FreeBSD jails written in Go&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3ANETHW#wrap" target="_blank" rel="nofollow noopener"&gt;John - zfs send/receive&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/11TV0BJ" target="_blank" rel="nofollow noopener"&gt;Callum - laptops&lt;/a&gt; &amp;amp; &lt;a href="http://dpaste.com/3A14BQ6#wrap" target="_blank" rel="nofollow noopener"&gt;An update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0MM37NA#wrap" target="_blank" rel="nofollow noopener"&gt;Lars - Snapshot of VM datadisk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0CDQ9EK#wrap" target="_blank" rel="nofollow noopener"&gt;Daryl - Jail managers&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We look at an OpenBSD setup on a new laptop, revel in BSDCan trip reports, and visit daemons and friendly ninjas.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://bsdly.blogspot.de/2017/07/openbsd-and-modern-laptop.html" target="_blank" rel="nofollow noopener">OpenBSD and the modern laptop</a></h3>

<ul>
<li>Peter Hansteen has a new blog post about <a href="http://www.openbsd.org/" target="_blank" rel="nofollow noopener">OpenBSD</a> on laptops:</li>
</ul>

<blockquote>
<p>Did you think that OpenBSD is suitable only for firewalls and high-security servers? Think again. Here are my steps to transform a modern mid to high range laptop into a useful Unix workstation with OpenBSD.<br>
One thing that never ceases to amaze me is that whenever I'm out and about with my primary laptop at conferences and elsewhere geeks gather, a significant subset of the people I meet have a hard time believing that my laptop runs OpenBSD, and that it's the only system installed.<br>
and then it takes a bit of demonstrating that yes, the graphics runs with the best available resolution the hardware can offer, the wireless network is functional, suspend and resume does work, and so forth. And of course, yes, I do use that system when writing books and articles too. Apparently heavy users of other free operating systems do not always run them on their primary workstations.</p>
</blockquote>

<ul>
<li>Peter goes on to describe the laptops he’s had over the years (all running OpenBSD) and after BSDCan 2017, he needed a new one due to cracks in the display.</li>
</ul>

<blockquote>
<p>So the time came to shop around for a replacement. After a bit of shopping around I came back to Multicom, a small computers and parts supplier outfit in rural Åmli in southern Norway, the same place I had sourced the previous one.<br>
One of the things that attracted me to that particular shop and their own-branded offerings is that they will let you buy those computers with no operating system installed. That is of course what you want to do when you source your operating system separately, as we OpenBSD users tend to do.<br>
The last time around I had gone for a "Thin and lightweight" 14 inch model (Thickness 20mm, weight 2.0kg) with 16GB RAM, 240GB SSD for system disk and 1TB HD for /home (since swapped out for a same-size SSD, as the dmesg will show). <br>
Three years later, the rough equivalent with some added oomph for me to stay comfortable for some years to come ended me with a 13.3 inch model, 18mm and advertised as 1.3kg (but actually weighing in at 1.5kg, possibly due to extra components), 32GB RAM, 512GB SSD and 2TB harddisk. For now the specification can be viewed online <a href="https://www.multicom.no/systemconfigurator.aspx?q=st:10637291;c:100559;fl:0#4091-10500502-1;4086-10637290-1;4087-8562157-2;4088-9101982-1;4089-9101991-1" target="_blank" rel="nofollow noopener">here</a> (the site language is Norwegian, but product names and units of measure are not in fact different).<br>
The OpenBSD installer is a wonder of straightforward, no-nonsense simplicity that simply gets the job done. Even so, if you are not yet familiar with OpenBSD, it is worth spending some time reading the OpenBSD FAQ's installation guidelines and the INSTALL.platform file (in our case, INSTALL.amd64) to familiarize yourself with the procedure. If you're following this article to the letter and will be installing a snapshot, it is worth reading the notes on following -current too.<br>
The main hurdle back when I was installing the 2014-vintage 14" model was getting the system to consider the SSD which showed up as sd1 the automatic choice for booting (I solved that by removing the MBR, setting the size of the MBR on the hard drive that showed up as sd0 to 0 and enlarging the OpenBSD part to fill the entire drive).</p>

<ul>
<li>He goes on to explain the choices he made in the installer and settings made after the reboot to set up his work environment. Peter closes with:
If you have any questions on running OpenBSD as a primary working environment, I'm generally happy to answer but in almost all cases I would prefer that you use the mailing lists such as <a href="mailto:misc@openbsd.org" target="_blank" rel="nofollow noopener">misc@openbsd.org</a> or the <a href="https://www.facebook.com/groups/2210554563/" target="_blank" rel="nofollow noopener">OpenBSD Facebook</a> group so the question and hopefully useful answers become available to the general public. Browsing the slides for my recent <a href="https://home.nuug.no/%7Epeter/openbsd_and_you/" target="_blank" rel="nofollow noopener">OpenBSD and you</a> user group talk might be beneficial if you're not yet familiar with the system. And of course, comments on this article are welcome.
***</li>
</ul>
</blockquote>

<h3><a href="https://www.freebsdfoundation.org/blog/2017-bsdcan-trip-report-roller-angel/" target="_blank" rel="nofollow noopener">BSDCan 2017 Trip Report: Roller Angel</a></h3>

<ul>
<li>We could put this into next week’s show, because we have another trip report already that’s quite long.</li>
</ul>

<blockquote>
<p>After dropping off my luggage, I headed straight over to the Goat BoF which took place at The Royal Oak. There were already a number of people there engaged in conversation with food and drink. I sat down at a table and was delighted that the people sitting with me were also into the BSD’s and were happy to talk about it the whole time. I felt right at home from the start as people were very nice to me, and were interested in what I was working on. I honestly didn’t know that I would fit in so well.<br>
I had a preconceived notion that people may be a bit hard to approach as they are famous and so technically advanced. At first, people seemed to only be working in smaller circles. Once you get more familiar with the faces, you realize that these circles don’t always contain the same people and that they are just people talking about specific topics. I found that it was easy to participate in the conversation and also found out that people are happy to get your feedback on the subject as well.<br>
I was actually surprised how easily I got along with everyone and how included I felt in the activities. I volunteered to help wherever possible and got to work on the video crew that recorded the audio and slides of the talks. The people at BSDCan are incredibly easy to talk to, are actually interested in what you’re doing with BSD, and what they can do to help. It’s nice to feel welcome in the community. It’s like going home. Dan mentioned in his welcome on the first day of BSDCan that the conference is like home for many in the community.</p>
</blockquote>

<ul>
<li>The trip report is very detailed and chronicles the two days of the developer summit, and the two days of the conference</li>
</ul>

<blockquote>
<p>There was some discussion about a new code of conduct by Benno Rice who mentioned that people are welcome to join a body of people that is forming that helps work out issues related to code of conduct and forwards their recommendations on to core. Next, Allan introduced the idea of creating a process for formally discussing big project changes or similar discussions that is going to be known as FCP or FreeBSD Community Proposal. In Python we have the Python Enhancement Proposal or PEP which is very similar to the idea of FCP. I thought this idea is a great step for FreeBSD to be implementing as it has been a great thing for Python to have.<br>
There was some discussion about taking non-code contributions from people and how to recognize those people in the project. There was a suggestion to have a FreeBSD Member status created that can be given to people whose non-code contributions are valuable to the project. This idea seemed to be on a lot of people’s minds as something that should be in place soon. The junior jobs on the FreeBSD Wiki were also brought up as a great place to look for ideas on how to get involved in contributing to FreeBSD.</p>
</blockquote>

<ul>
<li>Roller wasted no time, and started contributing to EdgeBSD at the conference.</li>
</ul>

<blockquote>
<p>On the first day of BSDCan I arrived at the conference early to coordinate with the team that records the talks. We selected the rooms that each of us would be in to do the recording and set up a group chat via WhatsApp for coordination.</p>
</blockquote>

<ul>
<li>Thanks to Roller, Patrick McAvoy, Calvin Hendryx-Parker, and all of the others who volunteered their time to run the video and streaming production at BSDCan, as well as all others who volunteered, even if it was just to carry a box. BSDCan couldn’t happen without the army of volunteers.</li>
</ul>

<blockquote>
<p>After the doc lounge, I visited the Hacker Lounge. There were already several tables full of people talking and working on various projects. In fact, there was a larger group of people who were collaborating on the new libtrue library that seemed to be having a great time. I did a little socializing and then got on my laptop and did some more work on the documentation using my new skills. I really enjoyed having a hacker lounge to go to at night.<br>
I want to give a big thank you to the FreeBSD Foundation for approving my travel grant. It was a great experience to meet the community and participate in discussions. I’m very grateful that I was able to attend my first BSDCan. After visiting the doc lounge a few times, I managed to get comfortable using the tools required to edit the documentation. By the end of the conference, I had submitted two documentation patches to the FreeBSD Bugzilla with several patches still in progress. Prior to the conference I expected that I would be spending a lot of time working on my Onion Omega and Edge Router Lite projects that I had with me, but I actually found that there was always something fun going on that I would rather do or work on. I can always work on those projects at home anyway. I had a good time working with the FreeBSD community and will continue working with them by editing the documentation and working with Bugzilla.</p>
</blockquote>

<ul>
<li>One of the things I enjoy about these trip reports is when they help convince other people to make the trip to their first conference. Hopefully by sharing their experience, it will convince you to come to the next conference:

<ul>
<li>vBSDCon in Virginia, USA: Sept 7-9</li>
<li>EuroBSDCon in Paris, France: Sept 21-24</li>
<li>BSDTW in Taipei, Taiwan: November 11-12 (CFP ends July 31st)
***</li>
</ul></li>
</ul>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170629150641" target="_blank" rel="nofollow noopener">BSDCan 2017 - Trip report double-p</a></h3>

<ul>
<li>Prologue</li>
</ul>

<blockquote>
<p>Most overheard in Tokyo was "see you in Ottawaaaaah", so with additional "personal item" being Groff I returned home to plan the trip to BSDCan.<br>
Dan was very helpful with getting all the preparations (immigration handling), thanks for that. Before I could start, I had to fix something: the handling of the goat. With a nicely created harness, I could just hang it along my backpack.<br>
Done that it went to the airport of Hamburg and check-in for an itinerary of HAM-MUC-YUL. While the feeder leg was a common thing, boarding to YUL was great - cabin-crew likes Groff :)<br>
Arriving in Montreal was like entering a Monsoon zone or something, sad! After the night the weather was still rain-ish but improving and i shuttled to Dorval VIARail station to take me to Ottawa (ever avoid AirCanada, right?). Train was late, but the conductor (or so) was nice to talk to - and wanted to know about Groff's facebook page :-P.<br>
Picking a cab in Ottawa to take me to "Residence" was easy at first - just that it was the wrong one. Actually my fault and so I had a "nice, short" walk to the actual one in the rain with wrong directions. Eventually I made it and after unpacking, refreshment it was time to hit the Goat BOF!</p>
</blockquote>

<ul>
<li>Day 1</li>
</ul>

<blockquote>
<p>Since this was my first BSDCan I didnt exactly knew what to expect from this BOF. But it was like, we (Keeper, Dan, Allan, ..) would talk about "who's next" and things like that. How mistaken I was :). Besides the sheer amount of BSD people entering the not-so-yuuge Oak some Dexter sneaked in camouflage. The name-giver got a proper position to oversee the mess and I was glad I did not leave him behind after almost too many Creemores.</p>
</blockquote>

<ul>
<li>Day 2</li>
</ul>

<blockquote>
<p>Something happened it's crystal blue on the "roof" and sun is trying its best to wake me up. To start the day, I pick breakfast at 'Father+Sons' - I can really recommend that. Very nice home made fries (almost hashbrowns) and fast delivery! Stuffed up I trott along to get to phessler's tutorial about BGP-for-sysadmins-and-developers.<br>
Peter did a great job, but the "lab" couldn't happen, since - oh surprise - the wifi was sluggish as hell. Must love the first day on a conference every time.<br>
Went to Hackroom in U90 afterwards, just to fix stuff "at home". IPsec giving pains again.<br>
Time to pick food+beer afterwards and since it's so easy to reach, we went to the Oak again. Having a nice backyard patio experience it was about time to meet new people. Cheers to Tom, Aaron, Nick, Philip and some more, we'd an awesome night there. I also invited some not-really-computer local I know by other means who was completly overwhelmed by what kind of "nerds" gather around BSD. He planned to stay "a beer" - and it was rather some more and six hours. Looks like "we" made some impression on him :).</p>
</blockquote>

<ul>
<li>Day 3</li>
</ul>

<blockquote>
<p>Easy day, no tutorials at hand, so first picking up breakfast at F+S again and moving to hackroom in U90. Since I promised phessler to help with an localized lab-setup, I started to hack on a quick vagrant/ansible setup to mimic his BGP-lab and went quickly through most of it. Plus some more IPsec debugging and finally fixing it, we went early in the general direction of the Red Lion to pick our registration pack.<br>
But before that could happen it was called to have shawarma at 3brothers along. Given a tight hangover it wasn't the brightest idea to order a poutine m-(. Might be great the other day, it wasn't for me at the very time and had to throw away most of it :(. Eventually passing on to the Red Lion I made the next failure with just running into the pub - please stay at the front desk until "seated". I never get used to this concept.<br>
So after being "properly" seated, we take our beers and the registration can commence after we had half of it. So I register myself; btw it's a great idea to grant "not needed" stuff to charity. So dont pick "just because", think about it if you really need this or that gadget.<br>
Then I register Groff - he really needs badges - just to have Dru coming back to me some minutes later one to hand me the badge for Henning. That's just "amazing"; I dont know IF i want to break this vicious circle the other day, since it's so funny.<br>
Talked to Theo about the ongoing IPsec problems and he taught me about utrace(2) which looks "complicated" but might be an end of the story the other day. Also had a nice talk to Peter (H.) about some other ideas along books.<br>
BTW, did I pay for ongoing beers? I think Tom did - what a guy :).<br>
Arriving at the Residence, I had to find my bathroom door locked (special thing).. crazy thing is they dont have a master key at the venue, but to have to call in one from elsewhere.<br>
Short night shortened by another 30minutes :(.</p>
</blockquote>

<ul>
<li>Day 4</li>
</ul>

<blockquote>
<p>Weather is improving into beach+sun levels - and it's Conference Day! The opening keynote from Geist was very interesting ("citation needed"). Afterwards I went to zfs-over-ssh, nothing really new (sorry Allan). But then Jason had a super interesting talk on how about to apply BSD for the health-care system in Australia. I hope I can help him with the last bits (rdomain!) in the end.<br>
While lunch I tried to recall my memories about utrace(2) while talking to Theo.<br>
Then it was about to present my talk and I think it was well perceipted. One "not so good" feedback was about not taking the audience more into account. I think I was asking every other five slides or so - but, well. The general feedback (in spoken terms) was quite good. I was a bit "confused" and I did likely a better job in Tokyo, but well.<br>
Happened we ended up in the Oak again.. thanks to mwl, shirkdog, sng, pitrh, kurtm for having me there :)</p>
</blockquote>

<ul>
<li>Day 5</li>
</ul>

<blockquote>
<p>While the weather had to decide "what next", I rushed to the venue just to gather Reyk's talk about vmd(8). Afterwards it was MSTP from Paeps which was very interesting and we (OpenBSD) should look into it. Then happened BUG BOF and I invite all "coastal Germans" to cbug.de :)<br>
I had to run off for other reasons and came back to Dave's talk which was AWESOME.<br>
Following was Rod's talk.. well. While I see his case, that was very poor.<br>
The auction into closing was awesome again, and I spend $50 on a Tshirt. :)</p>

<ul>
<li>Epilogue
I <em>totally</em> got the exit dates wrong. So first cancel a booking of an Hotel and then rebook the train to YUL. So I have plenty of time "in the morning" to get breakfast with the local guy. After that he drives me to VIARail station and I dig into "business" cussions.
Well, see you in Ottawa - or how about Paris, Taipei?
***</li>
</ul>
</blockquote>

<h3><a href="http://www.tedunangst.com/flak/post/bind-broker" target="_blank" rel="nofollow noopener">Bind Broker</a></h3>

<ul>
<li>Ted Unangst writes about an interesting idea he has</li>
<li>He has a single big server, and lots of users who would like to share it, many want to run web servers.</li>
</ul>

<blockquote>
<p>This would be great, but alas, archaic decisions made long ago mean that network sockets aren’t really files and there’s this weird concept of privileged ports. Maybe we could assign each user a virtual machine and let them do whatever they want, but that seems wasteful. Think of the megabytes! Maybe we could setup nginx.conf to proxy all incoming connections to a process of the user’s choosing, but that only works for web sites and we want to be protocol neutral. Maybe we could use iptables, but nobody wants to do that. <br>
What we need is a bind broker. At some level, there needs to be some kind of broker that assigns IPs to users and resolves conflicts. It should be possible to build something of this nature given just the existing unix tools we have, instead of changing system design. Then we can deploy our broker to existing systems without upgrading or disrupting their ongoing operation. The bind broker watches a directory for the creation, by users, of unix domain sockets. Then it binds to the TCP port of the same name, and transfers traffic between them.<br>
A more complete problem specification is as follows. A top level directory, which contains subdirectories named after IP addresses. Each user is assigned a subdirectory, which they have write permission to. Inside each subdirectory, the user may create unix sockets named according to the port they wish to bind to. We might assign user alice the IP 10.0.0.5 and the user bob the IP 10.0.0.10. Then alice could run a webserver by binding to net/10.0.0.5/80 and bob could run a mail server by binding to net/10.0.0.10/25. This maps IP ownership (which doesn’t really exist in unix) to the filesystem namespace (which does have working permissions).</p>
</blockquote>

<ul>
<li>So this will be a bit different than jails. The idea is to use filesystem permissions to control which users can bind to which IP addresses and ports</li>
</ul>

<blockquote>
<p>The broker is responsible for watching each directory. As new sockets are created, it should respond by binding to the appropriate port. When a socket is deleted, the network side socket should be closed as well. Whenever a connection is accepted on the network side, a matching connection is made on the unix side, and then traffic is copied across.</p>
</blockquote>

<ul>
<li>A full set of example code is provided</li>
</ul>

<blockquote>
<p>There’s no completely portable way to watch a directory for changes. I’m using a kevent extension. Otherwise we might consider a timeout and polling with fstat, or another system specific interface (or an abstraction layer over such an interface). Otherwise, if one of our mappings is ready to read (accept), we have a new connection to handle. <br>
The first half is straightforward. We accept the connection and make a matching connect call to the unix side. Then I broke out the big cheat stick and just spliced the sockets together. In reality, we’d have to set up a read/copy/write loop for each end to copy traffic between them. That’s not very interesting to read though. <br>
The full code, below, comes in at 232 lines according to wc. Minus includes, blank lines, and lines consisting of nothing but braces, it’s 148 lines of stuff that actually gets executed by the computer. Add some error handling, and working read/write code, and 200 lines seems about right. </p>
</blockquote>

<ul>
<li>A very interesting idea. I wonder about creating a virtual file system that would implement this and maybe do a bit more to fully flesh out this idea.</li>
<li>What do you think?
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://euroquis.nl/bobulate/?p=1600" target="_blank" rel="nofollow noopener">Daemons and friendly Ninjas</a></h3>

<blockquote>
<p>There’s quite a lot of software that uses CMake as a (meta-)buildsystem. A quick count in the FreeBSD ports tree shows me 1110 ports (over a thousand) that use it. CMake generates buildsystem files which then direct the actual build — it doesn’t do building itself.<br>
There are multiple buildsystem-backends available: in regular usage, CMake generates Makefiles (and does a reasonable job of producing Makefiles that work for GNU Make and for BSD Make). But it can generate Ninja, or Visual Studio, and other buildsystem files. It’s quite flexible in this regard.<br>
Recently, the KDE-FreeBSD team has been working on Qt WebEngine, which is horrible. It contains a complete Chromium and who knows what else. Rebuilding it takes forever.<br>
But Tobias (KDE-FreeBSD) and Koos (GNOME-FreeBSD) noticed that building things with the Ninja backend was considerably faster for some packages (e.g. Qt WebEngine, and Evolution data-thingy). Tobias wanted to try to extend the build-time improvements to all of the CMake-based ports in FreeBSD, and over the past few days, this has been a success.<br>
Ports builds using CMake now default to using Ninja as buildsystem-backend.<br>
Here’s a bitty table of build-times. These are one-off build times, so hardly scientifically accurate — but suggestive of a slight improvement in build time.</p>
</blockquote>

<pre><code>Name        Size        GMake    Ninja
liblxt        50kB        0:32    0:31
llvm38        1655kB    *    19:43
musescore    47590kB    4:00    3:54
webkit2-gtk3    14652kB    44:29    37:40
</code></pre>

<blockquote>
<p>Or here’s a much more thorough table of results from tcberner@, who did 5 builds of each with and without ninja. I’ve cut out the raw data, here are just the average-of-five results, showing usually a slight improvement in build time with Ninja.</p>
</blockquote>

<pre><code>Name        av make    av ninj    Delta    D/Awo
compiler-rt    00:08        00:07    -00:01    -14%
openjpeg    00:06        00:07    +00:01    +17%
marble        01:57        01:43    -00:14    -11%
uhd        01:49        01:34    -00:15    -13%
opencacscade    04:08        03:23    -00:45    -18%
avidemux    03:01        02:49    -00:12    – 6%
kdevelop    01:43        01:33    -00:10    – 9%
ring-libclient    00:58        00:53    -00:05    – 8%
</code></pre>

<blockquote>
<p>Not everything builds properly with Ninja. This is usually due to missing dependencies that CMake does not discover; this shows up when foo depends on bar but no rule is generated for it. Depending on build order and speed, bar may be there already by the time foo gets around to being built. Doxygen showed this, where builds on 1 CPU core were all fine, but 8 cores would blow up occasionally.<br>
In many cases, we’ve gone and fixed the missing implicit dependencies in ports and upstreams. But some things are intractable, or just really need GNU Make. For this, the FreeBSD ports infrastructure now has a knob attached to CMake for switching a port build to GNU Make.</p>

<p>Normal: USES=cmake<br>
Out-of-source: USES=cmake:outsource<br>
GNU Make: USES=cmake:noninja gmake<br>
OoS, GMake: USES=cmake:outsource,noninja gmake<br>
Bad: USES=cmake gmake</p>

<p>For the majority of users, this has no effect, but for our package-building clusters, and for KDE-FreeBSD developers who build a lot of CMake-buildsystem software in a day it may add up to an extra coffee break. So I’ll raise a shot of espresso to friendship between daemons and ninjas.</p>

<hr>
</blockquote>

<h3><a href="http://mail-index.netbsd.org/pkgsrc-users/2017/07/10/msg025237.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc-2017Q2 release</a></h3>

<ul>
<li>For the 2017Q2 release we welcome the following notable package additions and changes to the pkgsrc collection:

<ul>
<li>Firefox 54</li>
<li>GCC 7.1</li>
<li>MATE 1.18</li>
<li>Ruby 2.4</li>
<li>Ruby on Rails 4.2</li>
<li>TeX Live 2017</li>
<li>Thunderbird 52.1</li>
<li>Xen 4.8</li>
</ul></li>
<li>We say goodbye to:

<ul>
<li>Ruby 1.8</li>
<li>Ruby 2.1</li>
</ul></li>
<li>The following infrastructure changes were introduced:

<ul>
<li>Implement optional new pkgtasks and init infrastructure for pkginstall. </li>
<li>Various enhancements and fixes for building with ccache.</li>
<li>Add support to USE_LANGUAGES for newer C++ standards.</li>
<li>Enhanced support for SSP, FORTIFY, and RELRO.</li>
<li>The GitHub mirror has migrated to <a href="https://github.com/NetBSD/pkgsrc" target="_blank" rel="nofollow noopener">https://github.com/NetBSD/pkgsrc</a></li>
<li>In total, 210 packages were added, 43 packages were removed, and 1,780 package updates were processed since the pkgsrc-2017Q1 release.
***</li>
</ul></li>
</ul>

<h3><a href="http://www.tedunangst.com/flak/post/openbsd-changes-of-note-624" target="_blank" rel="nofollow noopener">OpenBSD changes of note 624</a></h3>

<ul>
<li><p>There are a bunch, but here are a few that jump out:</p>

<ul>
<li>Start plugging some leaks. Compile kernels with umask 007. Install them minus read permissions.</li>
<li>Pure preprocessor implementation of the roff .ec and .eo requests, though you are warned that very bad things will happen to anybody trying to use these macros in OpenBSD manuals.</li>
<li>Random linking for arm64. And octeon. And alpha. And hppa. There’s some variation by platform, because every architecture has the kernel loaded with different flavors of initial physical and virtual mappings. And landisk. And loongson. And sgi. And macppc. And a gap file for sparc64, but nobody yet dares split locore. And arm7.</li>
<li>Errata for perl File::Path race condition.</li>
<li>Some fixes for potential link attacks against cron.</li>
<li>Add pledge violations to acct reporting.</li>
<li>Take random linking to the next stage. More about KARL - kernel address randomized link. As noted, a few difficulties with hibernate and such, but the plan is coming together. Add a new function reorder_kernel() that relinks and installs the new kernel in the background on system startup. Add support for the bootblocks to detect hibernate and boot the previous kernel.</li>
<li>Remove the poorly described “stuff” from ksh.</li>
<li>Replace usage of TIOCSTI in csh using a more common IO loop. Kind of like the stuff in ksh, but part of the default command line editing and parsing code, csh would read too many characters, then send the ones it didn’t like back into the terminal. Which is weird, right? Also, more importantly, eliminating the code that uses TIOCSTI to inject characters into ttys means that maybe TIOCSTI can be removed.</li>
<li>Revamp some of the authentication logging in ssh.</li>
<li>Add a verbose flag to rm so you can panic immediately upon seeing it delete the wrong file instead of waiting to discover your mistake after the fact.</li>
<li>Update libexpat to version 2.2.1 which has some security fixes. Never trust an expat, that’s my motto.</li>
<li>Update inteldrm to code based on Linux 4.4.70. This brings us support for Skylake and Cherryview and better support for Broadwell and Valleyview. Also adds MST support. Fun times for people with newish laptops.
***</li>
</ul></li>
</ul>

<h3><a href="https://opnsense.org/opnsense-17-1-9-released/" target="_blank" rel="nofollow noopener">OPNsense 17.1.9 released</a></h3>

<ul>
<li>firewall: move gateway switching from system to firewall advanced settings</li>
<li>firewall: keep category selection when changing tabs</li>
<li>firewall: do not skip gateway switch parsing too early (contributed by Stephane Lesimple)</li>
<li>interfaces: show VLAN description during edit</li>
<li>firmware: opnsense-revert can now handle multiple packages at once</li>
<li>firmware: opnsense-patch can now handle permission changes from patches</li>
<li>dnsmasq: use canned –bogus-priv for no_private_reverse</li>
<li>dnsmasq: separate log file, ACL and menu entries</li>
<li>dynamic dns: fix update for IPv6 (contributed by Alexander Leisentritt)</li>
<li>dynamic dns: remove usage of CURLAUTH_ANY (contributed by Alexander Leisentritt)</li>
<li>intrusion detection: suppress “fast mode available” boot warning in PCAP mode</li>
<li>openvpn: plugin framework adaption</li>
<li>unbound: add local-zone type transparent for PTR zone (contributed by Davide Gerhard)</li>
<li>unbound: separate log file, ACL and menu entries</li>
<li>wizard: remove HTML from description strings</li>
<li>mvc: group relation to something other than uuid if needed</li>
<li>mvc: rework “item in” for our Volt templates</li>
<li>lang: Czech to 100% translated (contributed by Pavel Borecki)</li>
<li>plugins: zabbix-agent 1.1 (contributed by Frank Wall)</li>
<li>plugins: haproxy 1.16 (contributed by Frank Wall)</li>
<li>plugins: acme-client 1.8 (contributed by Frank Wall)</li>
<li>plugins: tinc fix for switch mode (contributed by Johan Grip)</li>
<li>plugins: monit 1.3 (contributed by Frank Brendel)</li>
<li>src: support dhclient supersede statement for option 54 (contributed by Fabian Kurtz)</li>
<li>src: add Intel Atom Cherryview SOC HSUART support</li>
<li>src: add the ID for the Huawei ME909S LTE modem</li>
<li>src: HardenedBSD Stack Clash mitigations[1]</li>
<li>ports: sqlite 3.19.3[2]</li>
<li>ports: openvpn 2.4.3[3]</li>
<li>ports: sudo 1.8.20p2[4]</li>
<li>ports: dnsmasq 2.77[5]</li>
<li>ports: openldap 2.4.45[6]</li>
<li>ports: php 7.0.20[7]</li>
<li>ports: suricata 3.2.2[8]</li>
<li>ports: squid 3.5.26[9]</li>
<li>ports: ca_root_nss 3.31</li>
<li>ports: bind 9.11.1-P2[10]</li>
<li>ports: unbound 1.6.3[11]</li>
<li>ports: curl 7.54.1[12]
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2017-July/313519.html" target="_blank" rel="nofollow noopener">Thinkpad x230 - trying to get TrackPoint / Touchpad working in X</a></li>
<li><a href="http://marc.info/?l=freebsd-commits-all&amp;m=149918307723723&amp;w=2" target="_blank" rel="nofollow noopener">FreeBSD deprecates all r-cmds (rcp, rlogin, etc.)</a></li>
<li><a href="https://max.io/bash.html" target="_blank" rel="nofollow noopener">Bashfill - art for your terminal</a></li>
<li><a href="https://github.com/golang/go/commit/32002079083e533e11209824bd9e3a797169d1c4" target="_blank" rel="nofollow noopener">Go 1.9 release notes: NetBSD support is broken, please help</a></li>
<li><a href="https://github.com/altsrc-io/Jest" target="_blank" rel="nofollow noopener">Jest, A ReST api for creating and managing FreeBSD jails written in Go</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/3ANETHW#wrap" target="_blank" rel="nofollow noopener">John - zfs send/receive</a></li>
<li><a href="http://dpaste.com/11TV0BJ" target="_blank" rel="nofollow noopener">Callum - laptops</a> &amp; <a href="http://dpaste.com/3A14BQ6#wrap" target="_blank" rel="nofollow noopener">An update</a></li>
<li><a href="http://dpaste.com/0MM37NA#wrap" target="_blank" rel="nofollow noopener">Lars - Snapshot of VM datadisk</a></li>
<li><a href="http://dpaste.com/0CDQ9EK#wrap" target="_blank" rel="nofollow noopener">Daryl - Jail managers</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We look at an OpenBSD setup on a new laptop, revel in BSDCan trip reports, and visit daemons and friendly ninjas.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://bsdly.blogspot.de/2017/07/openbsd-and-modern-laptop.html" target="_blank" rel="nofollow noopener">OpenBSD and the modern laptop</a></h3>

<ul>
<li>Peter Hansteen has a new blog post about <a href="http://www.openbsd.org/" target="_blank" rel="nofollow noopener">OpenBSD</a> on laptops:</li>
</ul>

<blockquote>
<p>Did you think that OpenBSD is suitable only for firewalls and high-security servers? Think again. Here are my steps to transform a modern mid to high range laptop into a useful Unix workstation with OpenBSD.<br>
One thing that never ceases to amaze me is that whenever I'm out and about with my primary laptop at conferences and elsewhere geeks gather, a significant subset of the people I meet have a hard time believing that my laptop runs OpenBSD, and that it's the only system installed.<br>
and then it takes a bit of demonstrating that yes, the graphics runs with the best available resolution the hardware can offer, the wireless network is functional, suspend and resume does work, and so forth. And of course, yes, I do use that system when writing books and articles too. Apparently heavy users of other free operating systems do not always run them on their primary workstations.</p>
</blockquote>

<ul>
<li>Peter goes on to describe the laptops he’s had over the years (all running OpenBSD) and after BSDCan 2017, he needed a new one due to cracks in the display.</li>
</ul>

<blockquote>
<p>So the time came to shop around for a replacement. After a bit of shopping around I came back to Multicom, a small computers and parts supplier outfit in rural Åmli in southern Norway, the same place I had sourced the previous one.<br>
One of the things that attracted me to that particular shop and their own-branded offerings is that they will let you buy those computers with no operating system installed. That is of course what you want to do when you source your operating system separately, as we OpenBSD users tend to do.<br>
The last time around I had gone for a "Thin and lightweight" 14 inch model (Thickness 20mm, weight 2.0kg) with 16GB RAM, 240GB SSD for system disk and 1TB HD for /home (since swapped out for a same-size SSD, as the dmesg will show). <br>
Three years later, the rough equivalent with some added oomph for me to stay comfortable for some years to come ended me with a 13.3 inch model, 18mm and advertised as 1.3kg (but actually weighing in at 1.5kg, possibly due to extra components), 32GB RAM, 512GB SSD and 2TB harddisk. For now the specification can be viewed online <a href="https://www.multicom.no/systemconfigurator.aspx?q=st:10637291;c:100559;fl:0#4091-10500502-1;4086-10637290-1;4087-8562157-2;4088-9101982-1;4089-9101991-1" target="_blank" rel="nofollow noopener">here</a> (the site language is Norwegian, but product names and units of measure are not in fact different).<br>
The OpenBSD installer is a wonder of straightforward, no-nonsense simplicity that simply gets the job done. Even so, if you are not yet familiar with OpenBSD, it is worth spending some time reading the OpenBSD FAQ's installation guidelines and the INSTALL.platform file (in our case, INSTALL.amd64) to familiarize yourself with the procedure. If you're following this article to the letter and will be installing a snapshot, it is worth reading the notes on following -current too.<br>
The main hurdle back when I was installing the 2014-vintage 14" model was getting the system to consider the SSD which showed up as sd1 the automatic choice for booting (I solved that by removing the MBR, setting the size of the MBR on the hard drive that showed up as sd0 to 0 and enlarging the OpenBSD part to fill the entire drive).</p>

<ul>
<li>He goes on to explain the choices he made in the installer and settings made after the reboot to set up his work environment. Peter closes with:
If you have any questions on running OpenBSD as a primary working environment, I'm generally happy to answer but in almost all cases I would prefer that you use the mailing lists such as <a href="mailto:misc@openbsd.org" target="_blank" rel="nofollow noopener">misc@openbsd.org</a> or the <a href="https://www.facebook.com/groups/2210554563/" target="_blank" rel="nofollow noopener">OpenBSD Facebook</a> group so the question and hopefully useful answers become available to the general public. Browsing the slides for my recent <a href="https://home.nuug.no/%7Epeter/openbsd_and_you/" target="_blank" rel="nofollow noopener">OpenBSD and you</a> user group talk might be beneficial if you're not yet familiar with the system. And of course, comments on this article are welcome.
***</li>
</ul>
</blockquote>

<h3><a href="https://www.freebsdfoundation.org/blog/2017-bsdcan-trip-report-roller-angel/" target="_blank" rel="nofollow noopener">BSDCan 2017 Trip Report: Roller Angel</a></h3>

<ul>
<li>We could put this into next week’s show, because we have another trip report already that’s quite long.</li>
</ul>

<blockquote>
<p>After dropping off my luggage, I headed straight over to the Goat BoF which took place at The Royal Oak. There were already a number of people there engaged in conversation with food and drink. I sat down at a table and was delighted that the people sitting with me were also into the BSD’s and were happy to talk about it the whole time. I felt right at home from the start as people were very nice to me, and were interested in what I was working on. I honestly didn’t know that I would fit in so well.<br>
I had a preconceived notion that people may be a bit hard to approach as they are famous and so technically advanced. At first, people seemed to only be working in smaller circles. Once you get more familiar with the faces, you realize that these circles don’t always contain the same people and that they are just people talking about specific topics. I found that it was easy to participate in the conversation and also found out that people are happy to get your feedback on the subject as well.<br>
I was actually surprised how easily I got along with everyone and how included I felt in the activities. I volunteered to help wherever possible and got to work on the video crew that recorded the audio and slides of the talks. The people at BSDCan are incredibly easy to talk to, are actually interested in what you’re doing with BSD, and what they can do to help. It’s nice to feel welcome in the community. It’s like going home. Dan mentioned in his welcome on the first day of BSDCan that the conference is like home for many in the community.</p>
</blockquote>

<ul>
<li>The trip report is very detailed and chronicles the two days of the developer summit, and the two days of the conference</li>
</ul>

<blockquote>
<p>There was some discussion about a new code of conduct by Benno Rice who mentioned that people are welcome to join a body of people that is forming that helps work out issues related to code of conduct and forwards their recommendations on to core. Next, Allan introduced the idea of creating a process for formally discussing big project changes or similar discussions that is going to be known as FCP or FreeBSD Community Proposal. In Python we have the Python Enhancement Proposal or PEP which is very similar to the idea of FCP. I thought this idea is a great step for FreeBSD to be implementing as it has been a great thing for Python to have.<br>
There was some discussion about taking non-code contributions from people and how to recognize those people in the project. There was a suggestion to have a FreeBSD Member status created that can be given to people whose non-code contributions are valuable to the project. This idea seemed to be on a lot of people’s minds as something that should be in place soon. The junior jobs on the FreeBSD Wiki were also brought up as a great place to look for ideas on how to get involved in contributing to FreeBSD.</p>
</blockquote>

<ul>
<li>Roller wasted no time, and started contributing to EdgeBSD at the conference.</li>
</ul>

<blockquote>
<p>On the first day of BSDCan I arrived at the conference early to coordinate with the team that records the talks. We selected the rooms that each of us would be in to do the recording and set up a group chat via WhatsApp for coordination.</p>
</blockquote>

<ul>
<li>Thanks to Roller, Patrick McAvoy, Calvin Hendryx-Parker, and all of the others who volunteered their time to run the video and streaming production at BSDCan, as well as all others who volunteered, even if it was just to carry a box. BSDCan couldn’t happen without the army of volunteers.</li>
</ul>

<blockquote>
<p>After the doc lounge, I visited the Hacker Lounge. There were already several tables full of people talking and working on various projects. In fact, there was a larger group of people who were collaborating on the new libtrue library that seemed to be having a great time. I did a little socializing and then got on my laptop and did some more work on the documentation using my new skills. I really enjoyed having a hacker lounge to go to at night.<br>
I want to give a big thank you to the FreeBSD Foundation for approving my travel grant. It was a great experience to meet the community and participate in discussions. I’m very grateful that I was able to attend my first BSDCan. After visiting the doc lounge a few times, I managed to get comfortable using the tools required to edit the documentation. By the end of the conference, I had submitted two documentation patches to the FreeBSD Bugzilla with several patches still in progress. Prior to the conference I expected that I would be spending a lot of time working on my Onion Omega and Edge Router Lite projects that I had with me, but I actually found that there was always something fun going on that I would rather do or work on. I can always work on those projects at home anyway. I had a good time working with the FreeBSD community and will continue working with them by editing the documentation and working with Bugzilla.</p>
</blockquote>

<ul>
<li>One of the things I enjoy about these trip reports is when they help convince other people to make the trip to their first conference. Hopefully by sharing their experience, it will convince you to come to the next conference:

<ul>
<li>vBSDCon in Virginia, USA: Sept 7-9</li>
<li>EuroBSDCon in Paris, France: Sept 21-24</li>
<li>BSDTW in Taipei, Taiwan: November 11-12 (CFP ends July 31st)
***</li>
</ul></li>
</ul>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170629150641" target="_blank" rel="nofollow noopener">BSDCan 2017 - Trip report double-p</a></h3>

<ul>
<li>Prologue</li>
</ul>

<blockquote>
<p>Most overheard in Tokyo was "see you in Ottawaaaaah", so with additional "personal item" being Groff I returned home to plan the trip to BSDCan.<br>
Dan was very helpful with getting all the preparations (immigration handling), thanks for that. Before I could start, I had to fix something: the handling of the goat. With a nicely created harness, I could just hang it along my backpack.<br>
Done that it went to the airport of Hamburg and check-in for an itinerary of HAM-MUC-YUL. While the feeder leg was a common thing, boarding to YUL was great - cabin-crew likes Groff :)<br>
Arriving in Montreal was like entering a Monsoon zone or something, sad! After the night the weather was still rain-ish but improving and i shuttled to Dorval VIARail station to take me to Ottawa (ever avoid AirCanada, right?). Train was late, but the conductor (or so) was nice to talk to - and wanted to know about Groff's facebook page :-P.<br>
Picking a cab in Ottawa to take me to "Residence" was easy at first - just that it was the wrong one. Actually my fault and so I had a "nice, short" walk to the actual one in the rain with wrong directions. Eventually I made it and after unpacking, refreshment it was time to hit the Goat BOF!</p>
</blockquote>

<ul>
<li>Day 1</li>
</ul>

<blockquote>
<p>Since this was my first BSDCan I didnt exactly knew what to expect from this BOF. But it was like, we (Keeper, Dan, Allan, ..) would talk about "who's next" and things like that. How mistaken I was :). Besides the sheer amount of BSD people entering the not-so-yuuge Oak some Dexter sneaked in camouflage. The name-giver got a proper position to oversee the mess and I was glad I did not leave him behind after almost too many Creemores.</p>
</blockquote>

<ul>
<li>Day 2</li>
</ul>

<blockquote>
<p>Something happened it's crystal blue on the "roof" and sun is trying its best to wake me up. To start the day, I pick breakfast at 'Father+Sons' - I can really recommend that. Very nice home made fries (almost hashbrowns) and fast delivery! Stuffed up I trott along to get to phessler's tutorial about BGP-for-sysadmins-and-developers.<br>
Peter did a great job, but the "lab" couldn't happen, since - oh surprise - the wifi was sluggish as hell. Must love the first day on a conference every time.<br>
Went to Hackroom in U90 afterwards, just to fix stuff "at home". IPsec giving pains again.<br>
Time to pick food+beer afterwards and since it's so easy to reach, we went to the Oak again. Having a nice backyard patio experience it was about time to meet new people. Cheers to Tom, Aaron, Nick, Philip and some more, we'd an awesome night there. I also invited some not-really-computer local I know by other means who was completly overwhelmed by what kind of "nerds" gather around BSD. He planned to stay "a beer" - and it was rather some more and six hours. Looks like "we" made some impression on him :).</p>
</blockquote>

<ul>
<li>Day 3</li>
</ul>

<blockquote>
<p>Easy day, no tutorials at hand, so first picking up breakfast at F+S again and moving to hackroom in U90. Since I promised phessler to help with an localized lab-setup, I started to hack on a quick vagrant/ansible setup to mimic his BGP-lab and went quickly through most of it. Plus some more IPsec debugging and finally fixing it, we went early in the general direction of the Red Lion to pick our registration pack.<br>
But before that could happen it was called to have shawarma at 3brothers along. Given a tight hangover it wasn't the brightest idea to order a poutine m-(. Might be great the other day, it wasn't for me at the very time and had to throw away most of it :(. Eventually passing on to the Red Lion I made the next failure with just running into the pub - please stay at the front desk until "seated". I never get used to this concept.<br>
So after being "properly" seated, we take our beers and the registration can commence after we had half of it. So I register myself; btw it's a great idea to grant "not needed" stuff to charity. So dont pick "just because", think about it if you really need this or that gadget.<br>
Then I register Groff - he really needs badges - just to have Dru coming back to me some minutes later one to hand me the badge for Henning. That's just "amazing"; I dont know IF i want to break this vicious circle the other day, since it's so funny.<br>
Talked to Theo about the ongoing IPsec problems and he taught me about utrace(2) which looks "complicated" but might be an end of the story the other day. Also had a nice talk to Peter (H.) about some other ideas along books.<br>
BTW, did I pay for ongoing beers? I think Tom did - what a guy :).<br>
Arriving at the Residence, I had to find my bathroom door locked (special thing).. crazy thing is they dont have a master key at the venue, but to have to call in one from elsewhere.<br>
Short night shortened by another 30minutes :(.</p>
</blockquote>

<ul>
<li>Day 4</li>
</ul>

<blockquote>
<p>Weather is improving into beach+sun levels - and it's Conference Day! The opening keynote from Geist was very interesting ("citation needed"). Afterwards I went to zfs-over-ssh, nothing really new (sorry Allan). But then Jason had a super interesting talk on how about to apply BSD for the health-care system in Australia. I hope I can help him with the last bits (rdomain!) in the end.<br>
While lunch I tried to recall my memories about utrace(2) while talking to Theo.<br>
Then it was about to present my talk and I think it was well perceipted. One "not so good" feedback was about not taking the audience more into account. I think I was asking every other five slides or so - but, well. The general feedback (in spoken terms) was quite good. I was a bit "confused" and I did likely a better job in Tokyo, but well.<br>
Happened we ended up in the Oak again.. thanks to mwl, shirkdog, sng, pitrh, kurtm for having me there :)</p>
</blockquote>

<ul>
<li>Day 5</li>
</ul>

<blockquote>
<p>While the weather had to decide "what next", I rushed to the venue just to gather Reyk's talk about vmd(8). Afterwards it was MSTP from Paeps which was very interesting and we (OpenBSD) should look into it. Then happened BUG BOF and I invite all "coastal Germans" to cbug.de :)<br>
I had to run off for other reasons and came back to Dave's talk which was AWESOME.<br>
Following was Rod's talk.. well. While I see his case, that was very poor.<br>
The auction into closing was awesome again, and I spend $50 on a Tshirt. :)</p>

<ul>
<li>Epilogue
I <em>totally</em> got the exit dates wrong. So first cancel a booking of an Hotel and then rebook the train to YUL. So I have plenty of time "in the morning" to get breakfast with the local guy. After that he drives me to VIARail station and I dig into "business" cussions.
Well, see you in Ottawa - or how about Paris, Taipei?
***</li>
</ul>
</blockquote>

<h3><a href="http://www.tedunangst.com/flak/post/bind-broker" target="_blank" rel="nofollow noopener">Bind Broker</a></h3>

<ul>
<li>Ted Unangst writes about an interesting idea he has</li>
<li>He has a single big server, and lots of users who would like to share it, many want to run web servers.</li>
</ul>

<blockquote>
<p>This would be great, but alas, archaic decisions made long ago mean that network sockets aren’t really files and there’s this weird concept of privileged ports. Maybe we could assign each user a virtual machine and let them do whatever they want, but that seems wasteful. Think of the megabytes! Maybe we could setup nginx.conf to proxy all incoming connections to a process of the user’s choosing, but that only works for web sites and we want to be protocol neutral. Maybe we could use iptables, but nobody wants to do that. <br>
What we need is a bind broker. At some level, there needs to be some kind of broker that assigns IPs to users and resolves conflicts. It should be possible to build something of this nature given just the existing unix tools we have, instead of changing system design. Then we can deploy our broker to existing systems without upgrading or disrupting their ongoing operation. The bind broker watches a directory for the creation, by users, of unix domain sockets. Then it binds to the TCP port of the same name, and transfers traffic between them.<br>
A more complete problem specification is as follows. A top level directory, which contains subdirectories named after IP addresses. Each user is assigned a subdirectory, which they have write permission to. Inside each subdirectory, the user may create unix sockets named according to the port they wish to bind to. We might assign user alice the IP 10.0.0.5 and the user bob the IP 10.0.0.10. Then alice could run a webserver by binding to net/10.0.0.5/80 and bob could run a mail server by binding to net/10.0.0.10/25. This maps IP ownership (which doesn’t really exist in unix) to the filesystem namespace (which does have working permissions).</p>
</blockquote>

<ul>
<li>So this will be a bit different than jails. The idea is to use filesystem permissions to control which users can bind to which IP addresses and ports</li>
</ul>

<blockquote>
<p>The broker is responsible for watching each directory. As new sockets are created, it should respond by binding to the appropriate port. When a socket is deleted, the network side socket should be closed as well. Whenever a connection is accepted on the network side, a matching connection is made on the unix side, and then traffic is copied across.</p>
</blockquote>

<ul>
<li>A full set of example code is provided</li>
</ul>

<blockquote>
<p>There’s no completely portable way to watch a directory for changes. I’m using a kevent extension. Otherwise we might consider a timeout and polling with fstat, or another system specific interface (or an abstraction layer over such an interface). Otherwise, if one of our mappings is ready to read (accept), we have a new connection to handle. <br>
The first half is straightforward. We accept the connection and make a matching connect call to the unix side. Then I broke out the big cheat stick and just spliced the sockets together. In reality, we’d have to set up a read/copy/write loop for each end to copy traffic between them. That’s not very interesting to read though. <br>
The full code, below, comes in at 232 lines according to wc. Minus includes, blank lines, and lines consisting of nothing but braces, it’s 148 lines of stuff that actually gets executed by the computer. Add some error handling, and working read/write code, and 200 lines seems about right. </p>
</blockquote>

<ul>
<li>A very interesting idea. I wonder about creating a virtual file system that would implement this and maybe do a bit more to fully flesh out this idea.</li>
<li>What do you think?
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://euroquis.nl/bobulate/?p=1600" target="_blank" rel="nofollow noopener">Daemons and friendly Ninjas</a></h3>

<blockquote>
<p>There’s quite a lot of software that uses CMake as a (meta-)buildsystem. A quick count in the FreeBSD ports tree shows me 1110 ports (over a thousand) that use it. CMake generates buildsystem files which then direct the actual build — it doesn’t do building itself.<br>
There are multiple buildsystem-backends available: in regular usage, CMake generates Makefiles (and does a reasonable job of producing Makefiles that work for GNU Make and for BSD Make). But it can generate Ninja, or Visual Studio, and other buildsystem files. It’s quite flexible in this regard.<br>
Recently, the KDE-FreeBSD team has been working on Qt WebEngine, which is horrible. It contains a complete Chromium and who knows what else. Rebuilding it takes forever.<br>
But Tobias (KDE-FreeBSD) and Koos (GNOME-FreeBSD) noticed that building things with the Ninja backend was considerably faster for some packages (e.g. Qt WebEngine, and Evolution data-thingy). Tobias wanted to try to extend the build-time improvements to all of the CMake-based ports in FreeBSD, and over the past few days, this has been a success.<br>
Ports builds using CMake now default to using Ninja as buildsystem-backend.<br>
Here’s a bitty table of build-times. These are one-off build times, so hardly scientifically accurate — but suggestive of a slight improvement in build time.</p>
</blockquote>

<pre><code>Name        Size        GMake    Ninja
liblxt        50kB        0:32    0:31
llvm38        1655kB    *    19:43
musescore    47590kB    4:00    3:54
webkit2-gtk3    14652kB    44:29    37:40
</code></pre>

<blockquote>
<p>Or here’s a much more thorough table of results from tcberner@, who did 5 builds of each with and without ninja. I’ve cut out the raw data, here are just the average-of-five results, showing usually a slight improvement in build time with Ninja.</p>
</blockquote>

<pre><code>Name        av make    av ninj    Delta    D/Awo
compiler-rt    00:08        00:07    -00:01    -14%
openjpeg    00:06        00:07    +00:01    +17%
marble        01:57        01:43    -00:14    -11%
uhd        01:49        01:34    -00:15    -13%
opencacscade    04:08        03:23    -00:45    -18%
avidemux    03:01        02:49    -00:12    – 6%
kdevelop    01:43        01:33    -00:10    – 9%
ring-libclient    00:58        00:53    -00:05    – 8%
</code></pre>

<blockquote>
<p>Not everything builds properly with Ninja. This is usually due to missing dependencies that CMake does not discover; this shows up when foo depends on bar but no rule is generated for it. Depending on build order and speed, bar may be there already by the time foo gets around to being built. Doxygen showed this, where builds on 1 CPU core were all fine, but 8 cores would blow up occasionally.<br>
In many cases, we’ve gone and fixed the missing implicit dependencies in ports and upstreams. But some things are intractable, or just really need GNU Make. For this, the FreeBSD ports infrastructure now has a knob attached to CMake for switching a port build to GNU Make.</p>

<p>Normal: USES=cmake<br>
Out-of-source: USES=cmake:outsource<br>
GNU Make: USES=cmake:noninja gmake<br>
OoS, GMake: USES=cmake:outsource,noninja gmake<br>
Bad: USES=cmake gmake</p>

<p>For the majority of users, this has no effect, but for our package-building clusters, and for KDE-FreeBSD developers who build a lot of CMake-buildsystem software in a day it may add up to an extra coffee break. So I’ll raise a shot of espresso to friendship between daemons and ninjas.</p>

<hr>
</blockquote>

<h3><a href="http://mail-index.netbsd.org/pkgsrc-users/2017/07/10/msg025237.html" target="_blank" rel="nofollow noopener">Announcing the pkgsrc-2017Q2 release</a></h3>

<ul>
<li>For the 2017Q2 release we welcome the following notable package additions and changes to the pkgsrc collection:

<ul>
<li>Firefox 54</li>
<li>GCC 7.1</li>
<li>MATE 1.18</li>
<li>Ruby 2.4</li>
<li>Ruby on Rails 4.2</li>
<li>TeX Live 2017</li>
<li>Thunderbird 52.1</li>
<li>Xen 4.8</li>
</ul></li>
<li>We say goodbye to:

<ul>
<li>Ruby 1.8</li>
<li>Ruby 2.1</li>
</ul></li>
<li>The following infrastructure changes were introduced:

<ul>
<li>Implement optional new pkgtasks and init infrastructure for pkginstall. </li>
<li>Various enhancements and fixes for building with ccache.</li>
<li>Add support to USE_LANGUAGES for newer C++ standards.</li>
<li>Enhanced support for SSP, FORTIFY, and RELRO.</li>
<li>The GitHub mirror has migrated to <a href="https://github.com/NetBSD/pkgsrc" target="_blank" rel="nofollow noopener">https://github.com/NetBSD/pkgsrc</a></li>
<li>In total, 210 packages were added, 43 packages were removed, and 1,780 package updates were processed since the pkgsrc-2017Q1 release.
***</li>
</ul></li>
</ul>

<h3><a href="http://www.tedunangst.com/flak/post/openbsd-changes-of-note-624" target="_blank" rel="nofollow noopener">OpenBSD changes of note 624</a></h3>

<ul>
<li><p>There are a bunch, but here are a few that jump out:</p>

<ul>
<li>Start plugging some leaks. Compile kernels with umask 007. Install them minus read permissions.</li>
<li>Pure preprocessor implementation of the roff .ec and .eo requests, though you are warned that very bad things will happen to anybody trying to use these macros in OpenBSD manuals.</li>
<li>Random linking for arm64. And octeon. And alpha. And hppa. There’s some variation by platform, because every architecture has the kernel loaded with different flavors of initial physical and virtual mappings. And landisk. And loongson. And sgi. And macppc. And a gap file for sparc64, but nobody yet dares split locore. And arm7.</li>
<li>Errata for perl File::Path race condition.</li>
<li>Some fixes for potential link attacks against cron.</li>
<li>Add pledge violations to acct reporting.</li>
<li>Take random linking to the next stage. More about KARL - kernel address randomized link. As noted, a few difficulties with hibernate and such, but the plan is coming together. Add a new function reorder_kernel() that relinks and installs the new kernel in the background on system startup. Add support for the bootblocks to detect hibernate and boot the previous kernel.</li>
<li>Remove the poorly described “stuff” from ksh.</li>
<li>Replace usage of TIOCSTI in csh using a more common IO loop. Kind of like the stuff in ksh, but part of the default command line editing and parsing code, csh would read too many characters, then send the ones it didn’t like back into the terminal. Which is weird, right? Also, more importantly, eliminating the code that uses TIOCSTI to inject characters into ttys means that maybe TIOCSTI can be removed.</li>
<li>Revamp some of the authentication logging in ssh.</li>
<li>Add a verbose flag to rm so you can panic immediately upon seeing it delete the wrong file instead of waiting to discover your mistake after the fact.</li>
<li>Update libexpat to version 2.2.1 which has some security fixes. Never trust an expat, that’s my motto.</li>
<li>Update inteldrm to code based on Linux 4.4.70. This brings us support for Skylake and Cherryview and better support for Broadwell and Valleyview. Also adds MST support. Fun times for people with newish laptops.
***</li>
</ul></li>
</ul>

<h3><a href="https://opnsense.org/opnsense-17-1-9-released/" target="_blank" rel="nofollow noopener">OPNsense 17.1.9 released</a></h3>

<ul>
<li>firewall: move gateway switching from system to firewall advanced settings</li>
<li>firewall: keep category selection when changing tabs</li>
<li>firewall: do not skip gateway switch parsing too early (contributed by Stephane Lesimple)</li>
<li>interfaces: show VLAN description during edit</li>
<li>firmware: opnsense-revert can now handle multiple packages at once</li>
<li>firmware: opnsense-patch can now handle permission changes from patches</li>
<li>dnsmasq: use canned –bogus-priv for no_private_reverse</li>
<li>dnsmasq: separate log file, ACL and menu entries</li>
<li>dynamic dns: fix update for IPv6 (contributed by Alexander Leisentritt)</li>
<li>dynamic dns: remove usage of CURLAUTH_ANY (contributed by Alexander Leisentritt)</li>
<li>intrusion detection: suppress “fast mode available” boot warning in PCAP mode</li>
<li>openvpn: plugin framework adaption</li>
<li>unbound: add local-zone type transparent for PTR zone (contributed by Davide Gerhard)</li>
<li>unbound: separate log file, ACL and menu entries</li>
<li>wizard: remove HTML from description strings</li>
<li>mvc: group relation to something other than uuid if needed</li>
<li>mvc: rework “item in” for our Volt templates</li>
<li>lang: Czech to 100% translated (contributed by Pavel Borecki)</li>
<li>plugins: zabbix-agent 1.1 (contributed by Frank Wall)</li>
<li>plugins: haproxy 1.16 (contributed by Frank Wall)</li>
<li>plugins: acme-client 1.8 (contributed by Frank Wall)</li>
<li>plugins: tinc fix for switch mode (contributed by Johan Grip)</li>
<li>plugins: monit 1.3 (contributed by Frank Brendel)</li>
<li>src: support dhclient supersede statement for option 54 (contributed by Fabian Kurtz)</li>
<li>src: add Intel Atom Cherryview SOC HSUART support</li>
<li>src: add the ID for the Huawei ME909S LTE modem</li>
<li>src: HardenedBSD Stack Clash mitigations[1]</li>
<li>ports: sqlite 3.19.3[2]</li>
<li>ports: openvpn 2.4.3[3]</li>
<li>ports: sudo 1.8.20p2[4]</li>
<li>ports: dnsmasq 2.77[5]</li>
<li>ports: openldap 2.4.45[6]</li>
<li>ports: php 7.0.20[7]</li>
<li>ports: suricata 3.2.2[8]</li>
<li>ports: squid 3.5.26[9]</li>
<li>ports: ca_root_nss 3.31</li>
<li>ports: bind 9.11.1-P2[10]</li>
<li>ports: unbound 1.6.3[11]</li>
<li>ports: curl 7.54.1[12]
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://lists.dragonflybsd.org/pipermail/users/2017-July/313519.html" target="_blank" rel="nofollow noopener">Thinkpad x230 - trying to get TrackPoint / Touchpad working in X</a></li>
<li><a href="http://marc.info/?l=freebsd-commits-all&amp;m=149918307723723&amp;w=2" target="_blank" rel="nofollow noopener">FreeBSD deprecates all r-cmds (rcp, rlogin, etc.)</a></li>
<li><a href="https://max.io/bash.html" target="_blank" rel="nofollow noopener">Bashfill - art for your terminal</a></li>
<li><a href="https://github.com/golang/go/commit/32002079083e533e11209824bd9e3a797169d1c4" target="_blank" rel="nofollow noopener">Go 1.9 release notes: NetBSD support is broken, please help</a></li>
<li><a href="https://github.com/altsrc-io/Jest" target="_blank" rel="nofollow noopener">Jest, A ReST api for creating and managing FreeBSD jails written in Go</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/3ANETHW#wrap" target="_blank" rel="nofollow noopener">John - zfs send/receive</a></li>
<li><a href="http://dpaste.com/11TV0BJ" target="_blank" rel="nofollow noopener">Callum - laptops</a> &amp; <a href="http://dpaste.com/3A14BQ6#wrap" target="_blank" rel="nofollow noopener">An update</a></li>
<li><a href="http://dpaste.com/0MM37NA#wrap" target="_blank" rel="nofollow noopener">Lars - Snapshot of VM datadisk</a></li>
<li><a href="http://dpaste.com/0CDQ9EK#wrap" target="_blank" rel="nofollow noopener">Daryl - Jail managers</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>201: Skip grep, use awk</title>
  <link>https://www.bsdnow.tv/201</link>
  <guid isPermaLink="false">afc8dee0-e9f1-42d9-9274-32788bd7b848</guid>
  <pubDate>Wed, 05 Jul 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/afc8dee0-e9f1-42d9-9274-32788bd7b848.mp3" length="85876228" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>In which we interview a unicorn, FreeNAS 11.0 is out, show you how to run Nextcloud in a FreeBSD jail, and talk about the connection between oil changes and software patches.</itunes:subtitle>
  <itunes:duration>2:23:07</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>&lt;p&gt;In which we interview a unicorn, FreeNAS 11.0 is out, show you how to run Nextcloud in a FreeBSD jail, and talk about the connection between oil changes and software patches.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://www.freenas.org/blog/freenas-11-0/" target="_blank" rel="nofollow noopener"&gt;FreeNAS 11.0 is Now Here&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The FreeNAS blog informs us:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After several FreeNAS Release Candidates, FreeNAS 11.0 was released today. This version brings new virtualization and object storage features to the World’s Most Popular Open Source Storage Operating System. FreeNAS 11.0 adds bhyve virtual machines to its popular SAN/NAS, jails, and plugins, letting you use host web-scale VMs on your FreeNAS box. It also gives users S3-compatible object storage services, which turns your FreeNAS box into an S3-compatible server, letting you avoid reliance on the cloud.&lt;br&gt;
FreeNAS 11.0 also introduces the beta version of a new administration GUI. The new GUI is based on the popular Angular framework and the FreeNAS team expects the GUI to be themeable and feature complete by 11.1. The new GUI follows the same flow as the existing GUI, but looks better. For now, the FreeNAS team has released it in beta form to get input from the FreeNAS community. The new GUI, as well as the classic GUI, are selectable from the login screen.&lt;br&gt;
Also new in FreeNAS 11 is an Alert Service page which configures the system to send critical alerts from FreeNAS to other applications and services such as Slack, PagerDuty, AWS, Hipchat, InfluxDB, Mattermost, OpsGenie, and VictorOps. FreeNAS 11.0 has an improved Services menu that adds the ability to manage which services and applications are started at boot.&lt;br&gt;
The FreeNAS community is large and vibrant. We invite you to join us on the &lt;a href="https://forums.freenas.org/index.php" target="_blank" rel="nofollow noopener"&gt;FreeNAS forum&lt;/a&gt; and the #freenas IRC channel on Freenode. To download FreeNAS and sign-up for the FreeNAS Newsletter, visit &lt;a href="http://www.freenas.org/download/" target="_blank" rel="nofollow noopener"&gt;freenas.org/download&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.exoscale.ch/syslog/2017/06/26/building-an-ipsec-gateway-with-openbsd/" target="_blank" rel="nofollow noopener"&gt;Building an IPsec Gateway With OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Pierre-Yves Ritschard wrote the following blog article:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;With private networks just released on Exoscale, there are now more options to implement secure access to Exoscale cloud infrastructure. While we still recommend the bastion approach, as detailed in &lt;a href="https://www.exoscale.ch/syslog/2016/01/15/secure-your-cloud-computing-architecture-with-a-bastion/" target="_blank" rel="nofollow noopener"&gt;this article&lt;/a&gt;, there are applications or systems which do not lend themselves well to working this way.&lt;br&gt;
In these cases, the next best thing is building IPsec gateways. IPsec is a protocol which works directly at layer 3. It uses its configuration to determine which network flows should be sent encrypted on the wire. Once IPsec is correctly configured, selected network flows are transparently encrypted and applications do not need to modify anything to benefit from secured traffic.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In addition to encryption, IPSec also authenticates the end points, so you can be sure you are exchanging packets with a trusted host&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For the purposes of this article we will work under the following assumptions: We want a host to network setup, providing access to cloud-hosted infrastructure from a desktop environment.&lt;br&gt;
Only stock tooling should be used on desktop environment, no additional VPN client should be needed.&lt;br&gt;
In this case, to ensure no additional software is needed on the client, we will configure an L2TP/IPsec gateway. This article will use OpenBSD as the operating system to implement the gateway. While this choice may sound surprising, OpenBSD excels at building gateways of all sorts thanks to its simple configuration formats and inclusion of all necessary software and documentation to do so in the base system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The tutorial assumes you have setup a local network between the hosts in the cloud, and walks through the configuration of an OpenBSD host as a IPsec gateway&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;On the OpenBSD host, all necessary software is already installed. We will configure the system, as well as pf, npppd, and ipsec&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Configure L2TP&lt;/li&gt;
&lt;li&gt;Configure IPsec&lt;/li&gt;
&lt;li&gt;Configure NAT&lt;/li&gt;
&lt;li&gt;Enabled services: ipsec isakmpd npppd&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The tutorial then walks through configuring a OS X client, but other desktops will be very similar
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://ramsdenj.com/2017/06/05/nextcloud-in-a-jail-on-freebsd.html" target="_blank" rel="nofollow noopener"&gt;Running Nextcloud in a jail on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I recently setup Nextcloud 12 inside a FreeBSD jail in order to allow me access to files i might need while at University. I figured this would be a optimal solution for files that I might need access to unexpectedly, on computers where I am not in complete control. My Nextcloud instance is externally accessible, and yet if someone were to get inside my Jail, I could rest easy knowing they still didn’t have access to the rest of my host server. I chronicled the setup process including jail setup using iocage, https with Lets Encrypt, and full setup of the web stack.&lt;br&gt;
Nextcloud has a variety of features such as calendar synchronization, email, collaborative editing, and even video conferencing. I haven’t had time to play with all these different offerings and have only utilized the file synchronization, but even if file sync is not needed, Nextcloud has many offerings that make it worth setting up.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;MariaDB, PHP 7.0, and Apache 2.4&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;To manage my jails I’m using iocage. In terms of jail managers it’s a fairly new player in the game of jail management and is being very actively developed. It just had a full rewrite in Python, and while the code in the background might be different, the actual user interface has stayed the same.&lt;br&gt;
Iocage makes use of ZFS clones in order to create “base jails”, which allow for sharing of one set of system packages between multiple jails, reducing the amount of resources necessary. Alternatively, jails can be completely independent from each other; however, using a base jail makes it easier to update multiple jails as well.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pkg install iocage&lt;/li&gt;
&lt;li&gt;sysrc iocage_enable=YES&lt;/li&gt;
&lt;li&gt;iocage fetch -r 11.0-RELEASE&lt;/li&gt;
&lt;li&gt;iocage create tag="stratus" jail_zfs=on vnet=off boot=on ip4_addr="sge0|172.20.0.100/32" -r 11.0-RELEASE&lt;/li&gt;
&lt;li&gt;iocage start stratus&lt;/li&gt;
&lt;li&gt;iocage console stratus&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I have chosen to provide storage to the Nextcloud Jail by mounting a dataset over NFS on my host box. This means my server can focus on serving Nextcloud and my storage box can focus on housing the data. The Nextcloud Jail is not even aware of this since the NFS Mount is simply mounted by the host server into the jail. The other benefit of this is the Nextcloud jail doesn’t need to be able to see my storage server, nor the ability to mount the NFS share itself.&lt;br&gt;
Using a separate server for storage isn’t necessary and if the storage for my Nextcloud server was being stored on the same server I would have created a ZFS dataset on the host and mounted it into the jail.&lt;br&gt;
Next I set up a dataset for the database and delegated it into the jail. Using a separate dataset allows me to specify certain properties that are better for a database, it also makes migration easier in case I ever need to move or backup the database.&lt;br&gt;
With most of the requirements in place it was time to start setting up Nextcloud. The requirements for Nextcloud include your basic web stack of a web server, database, and PHP.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Also covers the setup of acme.sh for LetsEncrypt. This is now available as a package, and doesn’t need to be manually fetched&lt;/li&gt;
&lt;li&gt;Install a few more packages, and do a bit of configuration, and you have a NextCloud server
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://bad.network/historical-my-first-openbsd-hackathon.html" target="_blank" rel="nofollow noopener"&gt;Historical: My first OpenBSD Hackathon&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This is a blog post by our friend, and OpenBSD developer: Peter Hessler&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a story about encouragement. Every time I use the word "I", you should think "I as in me, not I as in the author". &lt;br&gt;
In 2003, I was invited to my first OpenBSD Hackathon. Way before I was into networking, I was porting software to my favourite OS. Specifically, I was porting games.&lt;br&gt;
On the first night most of the hackathon attendees end up at the bar for food and beer, and I'm sitting next to Theo de Raadt, the founder of OpenBSD. At some point during the evening, he's telling me about all of these "crazy" ideas he has about randomizing libraries, and protections that can be done in ld.so. (ld.so is the part of the OS that loads the libraries your program needs. It's, uh, kinda important.) Theo is encouraging me to help implement some of these ideas! At some point I tell Theo "I'm just a porter, I don't know C."&lt;br&gt;
Theo responds with "It isn't hard, I'll have Dale (Rahn) show you how ld.so works, and you can do it." I was hoping that all of this would be forgotten by the next day, but sure enough Dale comes by. "Hey, are you Peter? Theo wanted me to show you how ld.so works" Dale spends an hour or two showing me how it works, the code structure, and how to recover in case of failure.&lt;br&gt;
At first I had lots of failures. Then more failures. And even more failures. Once, I broke my machine so badly I had to reinstall it. I learned a lot about how an OS works during this. But, I eventually started doing changes without it breaking. And some even did what I wanted! By the end of the hackathon I had came up with a useful patch, that was committed as part of a larger change.&lt;br&gt;
I was a nobody. With some encouragement, enough liquid courage to override my imposter syndrome, and a few hours of mentoring, I'm now doing big projects. The next time you're sitting at a table with someone new to your field, ask yourself: how can you encourage them? You just might make the world better.&lt;br&gt;
Thank you Dale. And thank you Theo.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Everyone has to start somewhere.&lt;/li&gt;
&lt;li&gt;One of the things that sets the BSDs apart from certain other open source operating systems, is the welcoming community, and the tradition of mentorship.&lt;/li&gt;
&lt;li&gt;Sure, someone else in the OpenBSD project could have done the bits that Peter did, likely a lot more quickly, but then OpenBSD wouldn’t have gained a new committer.&lt;/li&gt;
&lt;li&gt;So, if you are interested in working on one of the BSDs, reach out, and we’ll try to help you find a mentor.&lt;/li&gt;
&lt;li&gt;What part of the system do you want to work on?
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Interview - Dan McDonald - &lt;a href="mailto:allcoms@gmail.com" target="_blank" rel="nofollow noopener"&gt;allcoms@gmail.com&lt;/a&gt; (danboid)&lt;/h4&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-July/087340.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.1-RC1 Available&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;11.1-RC1 Installation images are available for:

&lt;ul&gt;
&lt;li&gt;amd64, i386&lt;/li&gt;
&lt;li&gt;powerpc, powerpc64&lt;/li&gt;
&lt;li&gt;sparc64&lt;/li&gt;
&lt;li&gt;armv6 BANANAPI, BEAGLEBONE, CUBIEBOARD, CUBIEBOARD2, CUBOX-HUMMINGBOARD, GUMSTIX, RPI-B, RPI2, PANDABOARD, WANDBOARD&lt;/li&gt;
&lt;li&gt;aarch64 (aka arm64), including the RPI3, Pine64, OverDrive 1000, and Cavium Server&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;A summary of changes since BETA3 includes:

&lt;ul&gt;
&lt;li&gt;Several build toolchain related fixes.&lt;/li&gt;
&lt;li&gt;A use-after-free in RPC client code has been corrected.&lt;/li&gt;
&lt;li&gt;The ntpd(8) leap-seconds file has been updated.&lt;/li&gt;
&lt;li&gt;Various VM subsystem fixes.&lt;/li&gt;
&lt;li&gt;The '_' character is now allowed in newfs(8) labels.&lt;/li&gt;
&lt;li&gt;A potential sleep while holding a mutex has been corrected in the sa(4) driver.&lt;/li&gt;
&lt;li&gt;A memory leak in an ioctl handler has been fixed in the ses(4) driver.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Virtual Machine Disk Images are available for the amd64 and i386 architectures.&lt;/li&gt;
&lt;li&gt;Amazon EC2 AMI Images of FreeBSD/amd64 EC2 AMIs are available

&lt;ul&gt;
&lt;li&gt;The freebsd-update(8) utility supports binary upgrades of amd64 and i386 systems running earlier FreeBSD releases.  Systems running earlier FreeBSD releases can upgrade as follows:&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;freebsd-update upgrade -r 11.1-RC1&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;During this process, freebsd-update(8) may ask the user to help by merging some configuration files or by confirming that the automatically performed merging was done correctly.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;freebsd-update install&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The system must be rebooted with the newly installed kernel before continuing.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;shutdown -r now&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;After rebooting, freebsd-update needs to be run again to install the new userland components:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;freebsd-update install&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;It is recommended to rebuild and install all applications if possible, especially if upgrading from an earlier FreeBSD release, for example, FreeBSD 10.x.  Alternatively, the user can install misc/compat10x and other compatibility libraries, afterwards the system must be rebooted into the new userland:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;shutdown -r now&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Finally, after rebooting, freebsd-update needs to be run again to remove stale files:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;freebsd-update install&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://www.daemonology.net/blog/2017-06-14-oil-changes-safety-recalls-software-patches.html" target="_blank" rel="nofollow noopener"&gt;Oil changes, safety recalls, and software patches&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Every few months I get an email from my local mechanic reminding me that it's time to get my car's oil changed. I generally ignore these emails; it costs time and money to get this done (I'm sure I could do it myself, but the time it would cost is worth more than the money it would save) and I drive little enough — about 2000 km/year — that I'm not too worried about the consequences of going for a bit longer than nominally advised between oil changes. I do get oil changes done... but typically once every 8-12 months, rather than the recommended 4-6 months. From what I've seen, I don't think I'm alone in taking a somewhat lackadaisical approach to routine oil changes. &lt;br&gt;
On the other hand, there's another type of notification which elicits more prompt attention: Safety recalls. There are two good reasons for this: First, whether for vehicles, food, or other products, the risk of ignoring a safety recall is not merely that the product will break, but rather that the product will be actively unsafe; and second, when there's a safety recall you don't have to pay for the replacement or fix — the cost is covered by the manufacturer. &lt;br&gt;
I started thinking about this distinction — and more specifically the difference in user behaviour — in the aftermath of the "WannaCry" malware. While WannaCry attracted widespread attention for its "ransomware" nature, the more concerning aspect of this incident is how it propagated: By exploiting a vulnerability in SMB for which Microsoft issued patches two months earlier. As someone who works in computer security, I find this horrifying — and I was particularly concerned when I heard that the NHS was postponing surgeries because they couldn't access patient records. Think about it: If the NHS couldn't access patient records due to WannaCry, it suggests WannaCry infiltrated systems used to access patient records — meaning that someone else exploiting the same vulnerabilities could have accessed those records. The SMB subsystem in Windows was not merely broken; until patches were applied, it was actively unsafe. &lt;br&gt;
I imagine that most people in my industry would agree that security patches should be treated in the same vein as safety recalls — unless you're certain that you're not affected, take care of them as a matter of urgency — but it seems that far more users instead treat security patches more like oil changes: something to be taken care of when convenient... or not at all, if not convenient. It's easy to say that such users are wrong; but as an industry it's time that we think about why they are wrong rather than merely blaming them for their problems. &lt;br&gt;
There are a few factors which I think are major contributors to this problem. First, the number of updates: When critical patches occur frequently enough to become routine, alarm fatigue sets in and people cease to give the attention updates deserve, even if on a conscious level they still recognize the importance of applying updates.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Colin also talks about his time as the FreeBSD Security Officer, and the problems in ensuring the patches are correct and do not break the system when installed&lt;/li&gt;
&lt;li&gt;He also points out the problem of systems like Windows Update, the combines optional updates, and things like its license checking tool, in the same interface that delivers important updates. Or my recent machines, that gets constant popups about how some security updates will not be delivered because my processor is too new.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;My bank sends me special offers in the mail but phones if my credit card usage trips fraud alarms; this is the sort of distinction in intrusiveness we should see for different types of software updates&lt;br&gt;
Finally, I think there is a problem with the mental model most people have of computer security. Movies portray attackers as geniuses who can break into any system in minutes; journalists routinely warn people that "nobody is safe"; and insurance companies offer insurance against "cyberattacks" in much the same way as they offer insurance against tornados. Faced with this wall of misinformation, it's not surprising that people get confused between 400 pound hackers sitting on beds and actual advanced persistent threats. Yes, if the NSA wants to break into your computer, they can probably do it — but most attackers are not the NSA, just like most burglars are not Ethan Hunt. You lock your front door, not because you think it will protect you from the most determined thieves, but because it's an easy step which dramatically reduces your risk from opportunistic attack; but users don't see applying security updates as the equivalent of locking their front door when they leave home.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://blog.jpalardy.com/posts/skip-grep-use-awk/" target="_blank" rel="nofollow noopener"&gt;SKIP grep, use AWK&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This is a tip from Jonathan Palardy in a series of blog posts about awk. It is especially helpful for people who write a lot of shell scripts or are using a lot of pipes with awk and grep. &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Over the years, I’ve seen many people use this pattern (filter-map):&lt;/p&gt;

&lt;p&gt;$ [data is generated] | grep something | awk '{print $2}'&lt;/p&gt;

&lt;p&gt;but it can be shortened to:&lt;/p&gt;

&lt;p&gt;$ [data is generated] | awk '/something/ {print $2}'&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;AWK can take a regular expression (the part between the slashes) and matches that to the input. Anything that matches is being passed to the print $2 action (to print the second column). &lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Why would I do this?&lt;/p&gt;

&lt;p&gt;I can think of 4 reasons:&lt;br&gt;
*it’s shorter to type&lt;br&gt;
*it spawns one less process&lt;br&gt;
*awk uses modern (read “Perl”) regular expressions, by default – like grep -E&lt;br&gt;
*it’s ready to “augment” with more awk&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;How about matching the inverse (search for patterns that do NOT match)?&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;But “grep -v” is OK…&lt;br&gt;
Many people have pointed out that “grep -v” can be done more concisely with:&lt;/p&gt;

&lt;p&gt;$ [data is generated] | awk '! /something/'&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;See if you have such combinations of grep piped to awk and fix those in your shell scripts. It saves you one process and makes your scripts much more readable. Also, check out the other intro links on the blog if you are new to awk.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://vim-adventures.com" target="_blank" rel="nofollow noopener"&gt;vim Adventures&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This website, created by Doron Linder, will playfully teach you how to use vim.&lt;/li&gt;
&lt;li&gt;Hit any key to get started and follow the instructions on the playing field by moving the cursor around.&lt;/li&gt;
&lt;li&gt;There is also a menu in the bottom left corner to save your game.&lt;/li&gt;
&lt;li&gt;Try it out, increase your vim-fu, and learn how to use a powerful text editor more efficiently.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://pkgsrc.org/pkgsrcCon/2017/talks.html" target="_blank" rel="nofollow noopener"&gt;Slides from PkgSrcCon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://marc.info/?l=openbsd-tech&amp;amp;m=149902196520920&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD’s doas adds systemd compat shim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deadlockempire.github.io/" target="_blank" rel="nofollow noopener"&gt;Deadlock Empire -- “Each challenge below is a computer program of two or more threads. You take the role of the Scheduler - and a cunning one! Your objective is to exploit flaws in the programs to make them crash or otherwise malfunction.”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/eurobsdcon-2017-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon 2017 Travel Grant Application Now Open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.vbsdcon.com/" target="_blank" rel="nofollow noopener"&gt;Registration for vBSDCon is open &lt;/a&gt; - Registration is only $100 if you register before July 31. Discount hotel rooms arranged at the Hyatt for only $100/night while supplies last.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsdtw.org/" target="_blank" rel="nofollow noopener"&gt;BSD Taiwan call for papers opens, closes July 31st&lt;/a&gt;Windows Application Versand
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2AM6C2H#wrap" target="_blank" rel="nofollow noopener"&gt;Joseph - Server Monitoring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1Z4FBE2#wrap" target="_blank" rel="nofollow noopener"&gt;Paulo - Updating Jails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2MNM9GJ#wrap" target="_blank" rel="nofollow noopener"&gt;Kevin - openvpn server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/17BVBJ3#wrap" target="_blank" rel="nofollow noopener"&gt;Todd - several questions&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>In which we interview a unicorn, FreeNAS 11.0 is out, show you how to run Nextcloud in a FreeBSD jail, and talk about the connection between oil changes and software patches.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://www.freenas.org/blog/freenas-11-0/" target="_blank" rel="nofollow noopener">FreeNAS 11.0 is Now Here</a></h3>

<ul>
<li>The FreeNAS blog informs us:</li>
</ul>

<blockquote>
<p>After several FreeNAS Release Candidates, FreeNAS 11.0 was released today. This version brings new virtualization and object storage features to the Worlds Most Popular Open Source Storage Operating System. FreeNAS 11.0 adds bhyve virtual machines to its popular SAN/NAS, jails, and plugins, letting you use host web-scale VMs on your FreeNAS box. It also gives users S3-compatible object storage services, which turns your FreeNAS box into an S3-compatible server, letting you avoid reliance on the cloud.<br>
FreeNAS 11.0 also introduces the beta version of a new administration GUI. The new GUI is based on the popular Angular framework and the FreeNAS team expects the GUI to be themeable and feature complete by 11.1. The new GUI follows the same flow as the existing GUI, but looks better. For now, the FreeNAS team has released it in beta form to get input from the FreeNAS community. The new GUI, as well as the classic GUI, are selectable from the login screen.<br>
Also new in FreeNAS 11 is an Alert Service page which configures the system to send critical alerts from FreeNAS to other applications and services such as Slack, PagerDuty, AWS, Hipchat, InfluxDB, Mattermost, OpsGenie, and VictorOps. FreeNAS 11.0 has an improved Services menu that adds the ability to manage which services and applications are started at boot.<br>
The FreeNAS community is large and vibrant. We invite you to join us on the <a href="https://forums.freenas.org/index.php" target="_blank" rel="nofollow noopener">FreeNAS forum</a> and the #freenas IRC channel on Freenode. To download FreeNAS and sign-up for the FreeNAS Newsletter, visit <a href="http://www.freenas.org/download/" target="_blank" rel="nofollow noopener">freenas.org/download</a>.</p>
</blockquote>

<hr>

<h3><a href="https://www.exoscale.ch/syslog/2017/06/26/building-an-ipsec-gateway-with-openbsd/" target="_blank" rel="nofollow noopener">Building an IPsec Gateway With OpenBSD</a></h3>

<ul>
<li>Pierre-Yves Ritschard wrote the following blog article:</li>
</ul>

<blockquote>
<p>With private networks just released on Exoscale, there are now more options to implement secure access to Exoscale cloud infrastructure. While we still recommend the bastion approach, as detailed in <a href="https://www.exoscale.ch/syslog/2016/01/15/secure-your-cloud-computing-architecture-with-a-bastion/" target="_blank" rel="nofollow noopener">this article</a>, there are applications or systems which do not lend themselves well to working this way.<br>
In these cases, the next best thing is building IPsec gateways. IPsec is a protocol which works directly at layer 3. It uses its configuration to determine which network flows should be sent encrypted on the wire. Once IPsec is correctly configured, selected network flows are transparently encrypted and applications do not need to modify anything to benefit from secured traffic.</p>
</blockquote>

<ul>
<li>In addition to encryption, IPSec also authenticates the end points, so you can be sure you are exchanging packets with a trusted host</li>
</ul>

<blockquote>
<p>For the purposes of this article we will work under the following assumptions: We want a host to network setup, providing access to cloud-hosted infrastructure from a desktop environment.<br>
Only stock tooling should be used on desktop environment, no additional VPN client should be needed.<br>
In this case, to ensure no additional software is needed on the client, we will configure an L2TP/IPsec gateway. This article will use OpenBSD as the operating system to implement the gateway. While this choice may sound surprising, OpenBSD excels at building gateways of all sorts thanks to its simple configuration formats and inclusion of all necessary software and documentation to do so in the base system.</p>
</blockquote>

<ul>
<li>The tutorial assumes you have setup a local network between the hosts in the cloud, and walks through the configuration of an OpenBSD host as a IPsec gateway</li>
</ul>

<blockquote>
<p>On the OpenBSD host, all necessary software is already installed. We will configure the system, as well as pf, npppd, and ipsec</p>

<ul>
<li>Configure L2TP</li>
<li>Configure IPsec</li>
<li>Configure NAT</li>
<li>Enabled services: ipsec isakmpd npppd</li>
</ul>
</blockquote>

<ul>
<li>The tutorial then walks through configuring a OS X client, but other desktops will be very similar
***</li>
</ul>

<h3><a href="https://ramsdenj.com/2017/06/05/nextcloud-in-a-jail-on-freebsd.html" target="_blank" rel="nofollow noopener">Running Nextcloud in a jail on FreeBSD</a></h3>

<blockquote>
<p>I recently setup Nextcloud 12 inside a FreeBSD jail in order to allow me access to files i might need while at University. I figured this would be a optimal solution for files that I might need access to unexpectedly, on computers where I am not in complete control. My Nextcloud instance is externally accessible, and yet if someone were to get inside my Jail, I could rest easy knowing they still didnt have access to the rest of my host server. I chronicled the setup process including jail setup using iocage, https with Lets Encrypt, and full setup of the web stack.<br>
Nextcloud has a variety of features such as calendar synchronization, email, collaborative editing, and even video conferencing. I havent had time to play with all these different offerings and have only utilized the file synchronization, but even if file sync is not needed, Nextcloud has many offerings that make it worth setting up.</p>
</blockquote>

<ul>
<li>MariaDB, PHP 7.0, and Apache 2.4</li>
</ul>

<blockquote>
<p>To manage my jails Im using iocage. In terms of jail managers its a fairly new player in the game of jail management and is being very actively developed. It just had a full rewrite in Python, and while the code in the background might be different, the actual user interface has stayed the same.<br>
Iocage makes use of ZFS clones in order to create base jails, which allow for sharing of one set of system packages between multiple jails, reducing the amount of resources necessary. Alternatively, jails can be completely independent from each other; however, using a base jail makes it easier to update multiple jails as well.</p>

<ul>
<li>pkg install iocage</li>
<li>sysrc iocage_enable=YES</li>
<li>iocage fetch -r 11.0-RELEASE</li>
<li>iocage create tag="stratus" jail_zfs=on vnet=off boot=on ip4_addr="sge0|172.20.0.100/32" -r 11.0-RELEASE</li>
<li>iocage start stratus</li>
<li>iocage console stratus</li>
</ul>

<p>I have chosen to provide storage to the Nextcloud Jail by mounting a dataset over NFS on my host box. This means my server can focus on serving Nextcloud and my storage box can focus on housing the data. The Nextcloud Jail is not even aware of this since the NFS Mount is simply mounted by the host server into the jail. The other benefit of this is the Nextcloud jail doesnt need to be able to see my storage server, nor the ability to mount the NFS share itself.<br>
Using a separate server for storage isnt necessary and if the storage for my Nextcloud server was being stored on the same server I would have created a ZFS dataset on the host and mounted it into the jail.<br>
Next I set up a dataset for the database and delegated it into the jail. Using a separate dataset allows me to specify certain properties that are better for a database, it also makes migration easier in case I ever need to move or backup the database.<br>
With most of the requirements in place it was time to start setting up Nextcloud. The requirements for Nextcloud include your basic web stack of a web server, database, and PHP.</p>
</blockquote>

<ul>
<li>Also covers the setup of acme.sh for LetsEncrypt. This is now available as a package, and doesnt need to be manually fetched</li>
<li>Install a few more packages, and do a bit of configuration, and you have a NextCloud server
***</li>
</ul>

<h3><a href="http://bad.network/historical-my-first-openbsd-hackathon.html" target="_blank" rel="nofollow noopener">Historical: My first OpenBSD Hackathon</a></h3>

<ul>
<li>This is a blog post by our friend, and OpenBSD developer: Peter Hessler</li>
</ul>

<blockquote>
<p>This is a story about encouragement. Every time I use the word "I", you should think "I as in me, not I as in the author". <br>
In 2003, I was invited to my first OpenBSD Hackathon. Way before I was into networking, I was porting software to my favourite OS. Specifically, I was porting games.<br>
On the first night most of the hackathon attendees end up at the bar for food and beer, and I'm sitting next to Theo de Raadt, the founder of OpenBSD. At some point during the evening, he's telling me about all of these "crazy" ideas he has about randomizing libraries, and protections that can be done in ld.so. (ld.so is the part of the OS that loads the libraries your program needs. It's, uh, kinda important.) Theo is encouraging me to help implement some of these ideas! At some point I tell Theo "I'm just a porter, I don't know C."<br>
Theo responds with "It isn't hard, I'll have Dale (Rahn) show you how ld.so works, and you can do it." I was hoping that all of this would be forgotten by the next day, but sure enough Dale comes by. "Hey, are you Peter? Theo wanted me to show you how ld.so works" Dale spends an hour or two showing me how it works, the code structure, and how to recover in case of failure.<br>
At first I had lots of failures. Then more failures. And even more failures. Once, I broke my machine so badly I had to reinstall it. I learned a lot about how an OS works during this. But, I eventually started doing changes without it breaking. And some even did what I wanted! By the end of the hackathon I had came up with a useful patch, that was committed as part of a larger change.<br>
I was a nobody. With some encouragement, enough liquid courage to override my imposter syndrome, and a few hours of mentoring, I'm now doing big projects. The next time you're sitting at a table with someone new to your field, ask yourself: how can you encourage them? You just might make the world better.<br>
Thank you Dale. And thank you Theo.</p>
</blockquote>

<ul>
<li>Everyone has to start somewhere.</li>
<li>One of the things that sets the BSDs apart from certain other open source operating systems, is the welcoming community, and the tradition of mentorship.</li>
<li>Sure, someone else in the OpenBSD project could have done the bits that Peter did, likely a lot more quickly, but then OpenBSD wouldnt have gained a new committer.</li>
<li>So, if you are interested in working on one of the BSDs, reach out, and well try to help you find a mentor.</li>
<li>What part of the system do you want to work on?
***</li>
</ul>

<h4>Interview - Dan McDonald - <a href="mailto:allcoms@gmail.com" target="_blank" rel="nofollow noopener">allcoms@gmail.com</a> (danboid)</h4>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-July/087340.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-RC1 Available</a></h3>

<ul>
<li>11.1-RC1 Installation images are available for:

<ul>
<li>amd64, i386</li>
<li>powerpc, powerpc64</li>
<li>sparc64</li>
<li>armv6 BANANAPI, BEAGLEBONE, CUBIEBOARD, CUBIEBOARD2, CUBOX-HUMMINGBOARD, GUMSTIX, RPI-B, RPI2, PANDABOARD, WANDBOARD</li>
<li>aarch64 (aka arm64), including the RPI3, Pine64, OverDrive 1000, and Cavium Server</li>
</ul></li>
<li>A summary of changes since BETA3 includes:

<ul>
<li>Several build toolchain related fixes.</li>
<li>A use-after-free in RPC client code has been corrected.</li>
<li>The ntpd(8) leap-seconds file has been updated.</li>
<li>Various VM subsystem fixes.</li>
<li>The '_' character is now allowed in newfs(8) labels.</li>
<li>A potential sleep while holding a mutex has been corrected in the sa(4) driver.</li>
<li>A memory leak in an ioctl handler has been fixed in the ses(4) driver.</li>
</ul></li>
<li>Virtual Machine Disk Images are available for the amd64 and i386 architectures.</li>
<li>Amazon EC2 AMI Images of FreeBSD/amd64 EC2 AMIs are available

<ul>
<li>The freebsd-update(8) utility supports binary upgrades of amd64 and i386 systems running earlier FreeBSD releases.  Systems running earlier FreeBSD releases can upgrade as follows:</li>
</ul></li>
</ul>

<blockquote>
<p>freebsd-update upgrade -r 11.1-RC1</p>
</blockquote>

<ul>
<li>During this process, freebsd-update(8) may ask the user to help by merging some configuration files or by confirming that the automatically performed merging was done correctly.</li>
</ul>

<blockquote>
<p>freebsd-update install</p>
</blockquote>

<ul>
<li>The system must be rebooted with the newly installed kernel before continuing.</li>
</ul>

<blockquote>
<p>shutdown -r now</p>
</blockquote>

<ul>
<li>After rebooting, freebsd-update needs to be run again to install the new userland components:</li>
</ul>

<blockquote>
<p>freebsd-update install</p>
</blockquote>

<ul>
<li>It is recommended to rebuild and install all applications if possible, especially if upgrading from an earlier FreeBSD release, for example, FreeBSD 10.x.  Alternatively, the user can install misc/compat10x and other compatibility libraries, afterwards the system must be rebooted into the new userland:</li>
</ul>

<blockquote>
<p>shutdown -r now</p>
</blockquote>

<ul>
<li>Finally, after rebooting, freebsd-update needs to be run again to remove stale files:</li>
</ul>

<blockquote>
<p>freebsd-update install</p>

<hr>
</blockquote>

<h3><a href="http://www.daemonology.net/blog/2017-06-14-oil-changes-safety-recalls-software-patches.html" target="_blank" rel="nofollow noopener">Oil changes, safety recalls, and software patches</a></h3>

<blockquote>
<p>Every few months I get an email from my local mechanic reminding me that it's time to get my car's oil changed. I generally ignore these emails; it costs time and money to get this done (I'm sure I could do it myself, but the time it would cost is worth more than the money it would save) and I drive little enough  about 2000 km/year  that I'm not too worried about the consequences of going for a bit longer than nominally advised between oil changes. I do get oil changes done... but typically once every 8-12 months, rather than the recommended 4-6 months. From what I've seen, I don't think I'm alone in taking a somewhat lackadaisical approach to routine oil changes. <br>
On the other hand, there's another type of notification which elicits more prompt attention: Safety recalls. There are two good reasons for this: First, whether for vehicles, food, or other products, the risk of ignoring a safety recall is not merely that the product will break, but rather that the product will be actively unsafe; and second, when there's a safety recall you don't have to pay for the replacement or fix  the cost is covered by the manufacturer. <br>
I started thinking about this distinction  and more specifically the difference in user behaviour  in the aftermath of the "WannaCry" malware. While WannaCry attracted widespread attention for its "ransomware" nature, the more concerning aspect of this incident is how it propagated: By exploiting a vulnerability in SMB for which Microsoft issued patches two months earlier. As someone who works in computer security, I find this horrifying  and I was particularly concerned when I heard that the NHS was postponing surgeries because they couldn't access patient records. Think about it: If the NHS couldn't access patient records due to WannaCry, it suggests WannaCry infiltrated systems used to access patient records  meaning that someone else exploiting the same vulnerabilities could have accessed those records. The SMB subsystem in Windows was not merely broken; until patches were applied, it was actively unsafe. <br>
I imagine that most people in my industry would agree that security patches should be treated in the same vein as safety recalls  unless you're certain that you're not affected, take care of them as a matter of urgency  but it seems that far more users instead treat security patches more like oil changes: something to be taken care of when convenient... or not at all, if not convenient. It's easy to say that such users are wrong; but as an industry it's time that we think about why they are wrong rather than merely blaming them for their problems. <br>
There are a few factors which I think are major contributors to this problem. First, the number of updates: When critical patches occur frequently enough to become routine, alarm fatigue sets in and people cease to give the attention updates deserve, even if on a conscious level they still recognize the importance of applying updates.</p>
</blockquote>

<ul>
<li>Colin also talks about his time as the FreeBSD Security Officer, and the problems in ensuring the patches are correct and do not break the system when installed</li>
<li>He also points out the problem of systems like Windows Update, the combines optional updates, and things like its license checking tool, in the same interface that delivers important updates. Or my recent machines, that gets constant popups about how some security updates will not be delivered because my processor is too new.</li>
</ul>

<blockquote>
<p>My bank sends me special offers in the mail but phones if my credit card usage trips fraud alarms; this is the sort of distinction in intrusiveness we should see for different types of software updates<br>
Finally, I think there is a problem with the mental model most people have of computer security. Movies portray attackers as geniuses who can break into any system in minutes; journalists routinely warn people that "nobody is safe"; and insurance companies offer insurance against "cyberattacks" in much the same way as they offer insurance against tornados. Faced with this wall of misinformation, it's not surprising that people get confused between 400 pound hackers sitting on beds and actual advanced persistent threats. Yes, if the NSA wants to break into your computer, they can probably do it  but most attackers are not the NSA, just like most burglars are not Ethan Hunt. You lock your front door, not because you think it will protect you from the most determined thieves, but because it's an easy step which dramatically reduces your risk from opportunistic attack; but users don't see applying security updates as the equivalent of locking their front door when they leave home.</p>

<hr>
</blockquote>

<h3><a href="http://blog.jpalardy.com/posts/skip-grep-use-awk/" target="_blank" rel="nofollow noopener">SKIP grep, use AWK</a></h3>

<ul>
<li>This is a tip from Jonathan Palardy in a series of blog posts about awk. It is especially helpful for people who write a lot of shell scripts or are using a lot of pipes with awk and grep. </li>
</ul>

<blockquote>
<p>Over the years, Ive seen many people use this pattern (filter-map):</p>

<p>$ [data is generated] | grep something | awk '{print $2}'</p>

<p>but it can be shortened to:</p>

<p>$ [data is generated] | awk '/something/ {print $2}'</p>
</blockquote>

<ul>
<li>AWK can take a regular expression (the part between the slashes) and matches that to the input. Anything that matches is being passed to the print $2 action (to print the second column). </li>
</ul>

<blockquote>
<p>Why would I do this?</p>

<p>I can think of 4 reasons:<br>
*its shorter to type<br>
*it spawns one less process<br>
*awk uses modern (read Perl) regular expressions, by default  like grep -E<br>
*its ready to augment with more awk</p>
</blockquote>

<ul>
<li>How about matching the inverse (search for patterns that do NOT match)?</li>
</ul>

<blockquote>
<p>But grep -v is OK<br>
Many people have pointed out that grep -v can be done more concisely with:</p>

<p>$ [data is generated] | awk '! /something/'</p>
</blockquote>

<ul>
<li>See if you have such combinations of grep piped to awk and fix those in your shell scripts. It saves you one process and makes your scripts much more readable. Also, check out the other intro links on the blog if you are new to awk.
***</li>
</ul>

<h3><a href="https://vim-adventures.com" target="_blank" rel="nofollow noopener">vim Adventures</a></h3>

<ul>
<li>This website, created by Doron Linder, will playfully teach you how to use vim.</li>
<li>Hit any key to get started and follow the instructions on the playing field by moving the cursor around.</li>
<li>There is also a menu in the bottom left corner to save your game.</li>
<li>Try it out, increase your vim-fu, and learn how to use a powerful text editor more efficiently.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://pkgsrc.org/pkgsrcCon/2017/talks.html" target="_blank" rel="nofollow noopener">Slides from PkgSrcCon</a></li>
<li><a href="http://marc.info/?l=openbsd-tech&amp;m=149902196520920&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSDs doas adds systemd compat shim</a></li>
<li><a href="https://deadlockempire.github.io/" target="_blank" rel="nofollow noopener">Deadlock Empire -- Each challenge below is a computer program of two or more threads. You take the role of the Scheduler - and a cunning one! Your objective is to exploit flaws in the programs to make them crash or otherwise malfunction.</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/eurobsdcon-2017-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">EuroBSDcon 2017 Travel Grant Application Now Open</a></li>
<li><a href="http://www.vbsdcon.com/" target="_blank" rel="nofollow noopener">Registration for vBSDCon is open </a> - Registration is only $100 if you register before July 31. Discount hotel rooms arranged at the Hyatt for only $100/night while supplies last.</li>
<li><a href="https://bsdtw.org/" target="_blank" rel="nofollow noopener">BSD Taiwan call for papers opens, closes July 31st</a>Windows Application Versand
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2AM6C2H#wrap" target="_blank" rel="nofollow noopener">Joseph - Server Monitoring</a></li>
<li><a href="http://dpaste.com/1Z4FBE2#wrap" target="_blank" rel="nofollow noopener">Paulo - Updating Jails</a></li>
<li><a href="http://dpaste.com/2MNM9GJ#wrap" target="_blank" rel="nofollow noopener">Kevin - openvpn server</a></li>
<li><a href="http://dpaste.com/17BVBJ3#wrap" target="_blank" rel="nofollow noopener">Todd - several questions</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>In which we interview a unicorn, FreeNAS 11.0 is out, show you how to run Nextcloud in a FreeBSD jail, and talk about the connection between oil changes and software patches.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://www.freenas.org/blog/freenas-11-0/" target="_blank" rel="nofollow noopener">FreeNAS 11.0 is Now Here</a></h3>

<ul>
<li>The FreeNAS blog informs us:</li>
</ul>

<blockquote>
<p>After several FreeNAS Release Candidates, FreeNAS 11.0 was released today. This version brings new virtualization and object storage features to the Worlds Most Popular Open Source Storage Operating System. FreeNAS 11.0 adds bhyve virtual machines to its popular SAN/NAS, jails, and plugins, letting you use host web-scale VMs on your FreeNAS box. It also gives users S3-compatible object storage services, which turns your FreeNAS box into an S3-compatible server, letting you avoid reliance on the cloud.<br>
FreeNAS 11.0 also introduces the beta version of a new administration GUI. The new GUI is based on the popular Angular framework and the FreeNAS team expects the GUI to be themeable and feature complete by 11.1. The new GUI follows the same flow as the existing GUI, but looks better. For now, the FreeNAS team has released it in beta form to get input from the FreeNAS community. The new GUI, as well as the classic GUI, are selectable from the login screen.<br>
Also new in FreeNAS 11 is an Alert Service page which configures the system to send critical alerts from FreeNAS to other applications and services such as Slack, PagerDuty, AWS, Hipchat, InfluxDB, Mattermost, OpsGenie, and VictorOps. FreeNAS 11.0 has an improved Services menu that adds the ability to manage which services and applications are started at boot.<br>
The FreeNAS community is large and vibrant. We invite you to join us on the <a href="https://forums.freenas.org/index.php" target="_blank" rel="nofollow noopener">FreeNAS forum</a> and the #freenas IRC channel on Freenode. To download FreeNAS and sign-up for the FreeNAS Newsletter, visit <a href="http://www.freenas.org/download/" target="_blank" rel="nofollow noopener">freenas.org/download</a>.</p>
</blockquote>

<hr>

<h3><a href="https://www.exoscale.ch/syslog/2017/06/26/building-an-ipsec-gateway-with-openbsd/" target="_blank" rel="nofollow noopener">Building an IPsec Gateway With OpenBSD</a></h3>

<ul>
<li>Pierre-Yves Ritschard wrote the following blog article:</li>
</ul>

<blockquote>
<p>With private networks just released on Exoscale, there are now more options to implement secure access to Exoscale cloud infrastructure. While we still recommend the bastion approach, as detailed in <a href="https://www.exoscale.ch/syslog/2016/01/15/secure-your-cloud-computing-architecture-with-a-bastion/" target="_blank" rel="nofollow noopener">this article</a>, there are applications or systems which do not lend themselves well to working this way.<br>
In these cases, the next best thing is building IPsec gateways. IPsec is a protocol which works directly at layer 3. It uses its configuration to determine which network flows should be sent encrypted on the wire. Once IPsec is correctly configured, selected network flows are transparently encrypted and applications do not need to modify anything to benefit from secured traffic.</p>
</blockquote>

<ul>
<li>In addition to encryption, IPSec also authenticates the end points, so you can be sure you are exchanging packets with a trusted host</li>
</ul>

<blockquote>
<p>For the purposes of this article we will work under the following assumptions: We want a host to network setup, providing access to cloud-hosted infrastructure from a desktop environment.<br>
Only stock tooling should be used on desktop environment, no additional VPN client should be needed.<br>
In this case, to ensure no additional software is needed on the client, we will configure an L2TP/IPsec gateway. This article will use OpenBSD as the operating system to implement the gateway. While this choice may sound surprising, OpenBSD excels at building gateways of all sorts thanks to its simple configuration formats and inclusion of all necessary software and documentation to do so in the base system.</p>
</blockquote>

<ul>
<li>The tutorial assumes you have setup a local network between the hosts in the cloud, and walks through the configuration of an OpenBSD host as a IPsec gateway</li>
</ul>

<blockquote>
<p>On the OpenBSD host, all necessary software is already installed. We will configure the system, as well as pf, npppd, and ipsec</p>

<ul>
<li>Configure L2TP</li>
<li>Configure IPsec</li>
<li>Configure NAT</li>
<li>Enabled services: ipsec isakmpd npppd</li>
</ul>
</blockquote>

<ul>
<li>The tutorial then walks through configuring a OS X client, but other desktops will be very similar
***</li>
</ul>

<h3><a href="https://ramsdenj.com/2017/06/05/nextcloud-in-a-jail-on-freebsd.html" target="_blank" rel="nofollow noopener">Running Nextcloud in a jail on FreeBSD</a></h3>

<blockquote>
<p>I recently setup Nextcloud 12 inside a FreeBSD jail in order to allow me access to files i might need while at University. I figured this would be a optimal solution for files that I might need access to unexpectedly, on computers where I am not in complete control. My Nextcloud instance is externally accessible, and yet if someone were to get inside my Jail, I could rest easy knowing they still didnt have access to the rest of my host server. I chronicled the setup process including jail setup using iocage, https with Lets Encrypt, and full setup of the web stack.<br>
Nextcloud has a variety of features such as calendar synchronization, email, collaborative editing, and even video conferencing. I havent had time to play with all these different offerings and have only utilized the file synchronization, but even if file sync is not needed, Nextcloud has many offerings that make it worth setting up.</p>
</blockquote>

<ul>
<li>MariaDB, PHP 7.0, and Apache 2.4</li>
</ul>

<blockquote>
<p>To manage my jails Im using iocage. In terms of jail managers its a fairly new player in the game of jail management and is being very actively developed. It just had a full rewrite in Python, and while the code in the background might be different, the actual user interface has stayed the same.<br>
Iocage makes use of ZFS clones in order to create base jails, which allow for sharing of one set of system packages between multiple jails, reducing the amount of resources necessary. Alternatively, jails can be completely independent from each other; however, using a base jail makes it easier to update multiple jails as well.</p>

<ul>
<li>pkg install iocage</li>
<li>sysrc iocage_enable=YES</li>
<li>iocage fetch -r 11.0-RELEASE</li>
<li>iocage create tag="stratus" jail_zfs=on vnet=off boot=on ip4_addr="sge0|172.20.0.100/32" -r 11.0-RELEASE</li>
<li>iocage start stratus</li>
<li>iocage console stratus</li>
</ul>

<p>I have chosen to provide storage to the Nextcloud Jail by mounting a dataset over NFS on my host box. This means my server can focus on serving Nextcloud and my storage box can focus on housing the data. The Nextcloud Jail is not even aware of this since the NFS Mount is simply mounted by the host server into the jail. The other benefit of this is the Nextcloud jail doesnt need to be able to see my storage server, nor the ability to mount the NFS share itself.<br>
Using a separate server for storage isnt necessary and if the storage for my Nextcloud server was being stored on the same server I would have created a ZFS dataset on the host and mounted it into the jail.<br>
Next I set up a dataset for the database and delegated it into the jail. Using a separate dataset allows me to specify certain properties that are better for a database, it also makes migration easier in case I ever need to move or backup the database.<br>
With most of the requirements in place it was time to start setting up Nextcloud. The requirements for Nextcloud include your basic web stack of a web server, database, and PHP.</p>
</blockquote>

<ul>
<li>Also covers the setup of acme.sh for LetsEncrypt. This is now available as a package, and doesnt need to be manually fetched</li>
<li>Install a few more packages, and do a bit of configuration, and you have a NextCloud server
***</li>
</ul>

<h3><a href="http://bad.network/historical-my-first-openbsd-hackathon.html" target="_blank" rel="nofollow noopener">Historical: My first OpenBSD Hackathon</a></h3>

<ul>
<li>This is a blog post by our friend, and OpenBSD developer: Peter Hessler</li>
</ul>

<blockquote>
<p>This is a story about encouragement. Every time I use the word "I", you should think "I as in me, not I as in the author". <br>
In 2003, I was invited to my first OpenBSD Hackathon. Way before I was into networking, I was porting software to my favourite OS. Specifically, I was porting games.<br>
On the first night most of the hackathon attendees end up at the bar for food and beer, and I'm sitting next to Theo de Raadt, the founder of OpenBSD. At some point during the evening, he's telling me about all of these "crazy" ideas he has about randomizing libraries, and protections that can be done in ld.so. (ld.so is the part of the OS that loads the libraries your program needs. It's, uh, kinda important.) Theo is encouraging me to help implement some of these ideas! At some point I tell Theo "I'm just a porter, I don't know C."<br>
Theo responds with "It isn't hard, I'll have Dale (Rahn) show you how ld.so works, and you can do it." I was hoping that all of this would be forgotten by the next day, but sure enough Dale comes by. "Hey, are you Peter? Theo wanted me to show you how ld.so works" Dale spends an hour or two showing me how it works, the code structure, and how to recover in case of failure.<br>
At first I had lots of failures. Then more failures. And even more failures. Once, I broke my machine so badly I had to reinstall it. I learned a lot about how an OS works during this. But, I eventually started doing changes without it breaking. And some even did what I wanted! By the end of the hackathon I had came up with a useful patch, that was committed as part of a larger change.<br>
I was a nobody. With some encouragement, enough liquid courage to override my imposter syndrome, and a few hours of mentoring, I'm now doing big projects. The next time you're sitting at a table with someone new to your field, ask yourself: how can you encourage them? You just might make the world better.<br>
Thank you Dale. And thank you Theo.</p>
</blockquote>

<ul>
<li>Everyone has to start somewhere.</li>
<li>One of the things that sets the BSDs apart from certain other open source operating systems, is the welcoming community, and the tradition of mentorship.</li>
<li>Sure, someone else in the OpenBSD project could have done the bits that Peter did, likely a lot more quickly, but then OpenBSD wouldnt have gained a new committer.</li>
<li>So, if you are interested in working on one of the BSDs, reach out, and well try to help you find a mentor.</li>
<li>What part of the system do you want to work on?
***</li>
</ul>

<h4>Interview - Dan McDonald - <a href="mailto:allcoms@gmail.com" target="_blank" rel="nofollow noopener">allcoms@gmail.com</a> (danboid)</h4>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-July/087340.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-RC1 Available</a></h3>

<ul>
<li>11.1-RC1 Installation images are available for:

<ul>
<li>amd64, i386</li>
<li>powerpc, powerpc64</li>
<li>sparc64</li>
<li>armv6 BANANAPI, BEAGLEBONE, CUBIEBOARD, CUBIEBOARD2, CUBOX-HUMMINGBOARD, GUMSTIX, RPI-B, RPI2, PANDABOARD, WANDBOARD</li>
<li>aarch64 (aka arm64), including the RPI3, Pine64, OverDrive 1000, and Cavium Server</li>
</ul></li>
<li>A summary of changes since BETA3 includes:

<ul>
<li>Several build toolchain related fixes.</li>
<li>A use-after-free in RPC client code has been corrected.</li>
<li>The ntpd(8) leap-seconds file has been updated.</li>
<li>Various VM subsystem fixes.</li>
<li>The '_' character is now allowed in newfs(8) labels.</li>
<li>A potential sleep while holding a mutex has been corrected in the sa(4) driver.</li>
<li>A memory leak in an ioctl handler has been fixed in the ses(4) driver.</li>
</ul></li>
<li>Virtual Machine Disk Images are available for the amd64 and i386 architectures.</li>
<li>Amazon EC2 AMI Images of FreeBSD/amd64 EC2 AMIs are available

<ul>
<li>The freebsd-update(8) utility supports binary upgrades of amd64 and i386 systems running earlier FreeBSD releases.  Systems running earlier FreeBSD releases can upgrade as follows:</li>
</ul></li>
</ul>

<blockquote>
<p>freebsd-update upgrade -r 11.1-RC1</p>
</blockquote>

<ul>
<li>During this process, freebsd-update(8) may ask the user to help by merging some configuration files or by confirming that the automatically performed merging was done correctly.</li>
</ul>

<blockquote>
<p>freebsd-update install</p>
</blockquote>

<ul>
<li>The system must be rebooted with the newly installed kernel before continuing.</li>
</ul>

<blockquote>
<p>shutdown -r now</p>
</blockquote>

<ul>
<li>After rebooting, freebsd-update needs to be run again to install the new userland components:</li>
</ul>

<blockquote>
<p>freebsd-update install</p>
</blockquote>

<ul>
<li>It is recommended to rebuild and install all applications if possible, especially if upgrading from an earlier FreeBSD release, for example, FreeBSD 10.x.  Alternatively, the user can install misc/compat10x and other compatibility libraries, afterwards the system must be rebooted into the new userland:</li>
</ul>

<blockquote>
<p>shutdown -r now</p>
</blockquote>

<ul>
<li>Finally, after rebooting, freebsd-update needs to be run again to remove stale files:</li>
</ul>

<blockquote>
<p>freebsd-update install</p>

<hr>
</blockquote>

<h3><a href="http://www.daemonology.net/blog/2017-06-14-oil-changes-safety-recalls-software-patches.html" target="_blank" rel="nofollow noopener">Oil changes, safety recalls, and software patches</a></h3>

<blockquote>
<p>Every few months I get an email from my local mechanic reminding me that it's time to get my car's oil changed. I generally ignore these emails; it costs time and money to get this done (I'm sure I could do it myself, but the time it would cost is worth more than the money it would save) and I drive little enough  about 2000 km/year  that I'm not too worried about the consequences of going for a bit longer than nominally advised between oil changes. I do get oil changes done... but typically once every 8-12 months, rather than the recommended 4-6 months. From what I've seen, I don't think I'm alone in taking a somewhat lackadaisical approach to routine oil changes. <br>
On the other hand, there's another type of notification which elicits more prompt attention: Safety recalls. There are two good reasons for this: First, whether for vehicles, food, or other products, the risk of ignoring a safety recall is not merely that the product will break, but rather that the product will be actively unsafe; and second, when there's a safety recall you don't have to pay for the replacement or fix  the cost is covered by the manufacturer. <br>
I started thinking about this distinction  and more specifically the difference in user behaviour  in the aftermath of the "WannaCry" malware. While WannaCry attracted widespread attention for its "ransomware" nature, the more concerning aspect of this incident is how it propagated: By exploiting a vulnerability in SMB for which Microsoft issued patches two months earlier. As someone who works in computer security, I find this horrifying  and I was particularly concerned when I heard that the NHS was postponing surgeries because they couldn't access patient records. Think about it: If the NHS couldn't access patient records due to WannaCry, it suggests WannaCry infiltrated systems used to access patient records  meaning that someone else exploiting the same vulnerabilities could have accessed those records. The SMB subsystem in Windows was not merely broken; until patches were applied, it was actively unsafe. <br>
I imagine that most people in my industry would agree that security patches should be treated in the same vein as safety recalls  unless you're certain that you're not affected, take care of them as a matter of urgency  but it seems that far more users instead treat security patches more like oil changes: something to be taken care of when convenient... or not at all, if not convenient. It's easy to say that such users are wrong; but as an industry it's time that we think about why they are wrong rather than merely blaming them for their problems. <br>
There are a few factors which I think are major contributors to this problem. First, the number of updates: When critical patches occur frequently enough to become routine, alarm fatigue sets in and people cease to give the attention updates deserve, even if on a conscious level they still recognize the importance of applying updates.</p>
</blockquote>

<ul>
<li>Colin also talks about his time as the FreeBSD Security Officer, and the problems in ensuring the patches are correct and do not break the system when installed</li>
<li>He also points out the problem of systems like Windows Update, the combines optional updates, and things like its license checking tool, in the same interface that delivers important updates. Or my recent machines, that gets constant popups about how some security updates will not be delivered because my processor is too new.</li>
</ul>

<blockquote>
<p>My bank sends me special offers in the mail but phones if my credit card usage trips fraud alarms; this is the sort of distinction in intrusiveness we should see for different types of software updates<br>
Finally, I think there is a problem with the mental model most people have of computer security. Movies portray attackers as geniuses who can break into any system in minutes; journalists routinely warn people that "nobody is safe"; and insurance companies offer insurance against "cyberattacks" in much the same way as they offer insurance against tornados. Faced with this wall of misinformation, it's not surprising that people get confused between 400 pound hackers sitting on beds and actual advanced persistent threats. Yes, if the NSA wants to break into your computer, they can probably do it  but most attackers are not the NSA, just like most burglars are not Ethan Hunt. You lock your front door, not because you think it will protect you from the most determined thieves, but because it's an easy step which dramatically reduces your risk from opportunistic attack; but users don't see applying security updates as the equivalent of locking their front door when they leave home.</p>

<hr>
</blockquote>

<h3><a href="http://blog.jpalardy.com/posts/skip-grep-use-awk/" target="_blank" rel="nofollow noopener">SKIP grep, use AWK</a></h3>

<ul>
<li>This is a tip from Jonathan Palardy in a series of blog posts about awk. It is especially helpful for people who write a lot of shell scripts or are using a lot of pipes with awk and grep. </li>
</ul>

<blockquote>
<p>Over the years, Ive seen many people use this pattern (filter-map):</p>

<p>$ [data is generated] | grep something | awk '{print $2}'</p>

<p>but it can be shortened to:</p>

<p>$ [data is generated] | awk '/something/ {print $2}'</p>
</blockquote>

<ul>
<li>AWK can take a regular expression (the part between the slashes) and matches that to the input. Anything that matches is being passed to the print $2 action (to print the second column). </li>
</ul>

<blockquote>
<p>Why would I do this?</p>

<p>I can think of 4 reasons:<br>
*its shorter to type<br>
*it spawns one less process<br>
*awk uses modern (read Perl) regular expressions, by default  like grep -E<br>
*its ready to augment with more awk</p>
</blockquote>

<ul>
<li>How about matching the inverse (search for patterns that do NOT match)?</li>
</ul>

<blockquote>
<p>But grep -v is OK<br>
Many people have pointed out that grep -v can be done more concisely with:</p>

<p>$ [data is generated] | awk '! /something/'</p>
</blockquote>

<ul>
<li>See if you have such combinations of grep piped to awk and fix those in your shell scripts. It saves you one process and makes your scripts much more readable. Also, check out the other intro links on the blog if you are new to awk.
***</li>
</ul>

<h3><a href="https://vim-adventures.com" target="_blank" rel="nofollow noopener">vim Adventures</a></h3>

<ul>
<li>This website, created by Doron Linder, will playfully teach you how to use vim.</li>
<li>Hit any key to get started and follow the instructions on the playing field by moving the cursor around.</li>
<li>There is also a menu in the bottom left corner to save your game.</li>
<li>Try it out, increase your vim-fu, and learn how to use a powerful text editor more efficiently.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://pkgsrc.org/pkgsrcCon/2017/talks.html" target="_blank" rel="nofollow noopener">Slides from PkgSrcCon</a></li>
<li><a href="http://marc.info/?l=openbsd-tech&amp;m=149902196520920&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSDs doas adds systemd compat shim</a></li>
<li><a href="https://deadlockempire.github.io/" target="_blank" rel="nofollow noopener">Deadlock Empire -- Each challenge below is a computer program of two or more threads. You take the role of the Scheduler - and a cunning one! Your objective is to exploit flaws in the programs to make them crash or otherwise malfunction.</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/eurobsdcon-2017-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">EuroBSDcon 2017 Travel Grant Application Now Open</a></li>
<li><a href="http://www.vbsdcon.com/" target="_blank" rel="nofollow noopener">Registration for vBSDCon is open </a> - Registration is only $100 if you register before July 31. Discount hotel rooms arranged at the Hyatt for only $100/night while supplies last.</li>
<li><a href="https://bsdtw.org/" target="_blank" rel="nofollow noopener">BSD Taiwan call for papers opens, closes July 31st</a>Windows Application Versand
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2AM6C2H#wrap" target="_blank" rel="nofollow noopener">Joseph - Server Monitoring</a></li>
<li><a href="http://dpaste.com/1Z4FBE2#wrap" target="_blank" rel="nofollow noopener">Paulo - Updating Jails</a></li>
<li><a href="http://dpaste.com/2MNM9GJ#wrap" target="_blank" rel="nofollow noopener">Kevin - openvpn server</a></li>
<li><a href="http://dpaste.com/17BVBJ3#wrap" target="_blank" rel="nofollow noopener">Todd - several questions</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>200: Getting Scrubbed to Death</title>
  <link>https://www.bsdnow.tv/200</link>
  <guid isPermaLink="false">8c580651-dcfa-454a-801a-f074597cf4a0</guid>
  <pubDate>Wed, 28 Jun 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8c580651-dcfa-454a-801a-f074597cf4a0.mp3" length="68369620" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>The NetBSD 8.0 release process is underway, we try to measure the weight of an electron, and look at stack clashing.</itunes:subtitle>
  <itunes:duration>1:34:57</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>&lt;p&gt;The NetBSD 8.0 release process is underway, we try to measure the weight of an electron, and look at stack clashing.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mail-index.netbsd.org/netbsd-announce/2017/06/06/msg000267.html" target="_blank" rel="nofollow noopener"&gt;NetBSD 8.0 release process underway&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Soren Jacobsen writes on NetBSD-announce:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you've been reading source-changes@, you likely noticed the recent creation of the netbsd-8 branch.  If you haven't been reading source-changes@, here's some news: the netbsd-8 branch has been created, signaling the beginning of the release process for NetBSD 8.0.&lt;br&gt;
We don't have a strict timeline for the 8.0 release, but things are looking pretty good at the moment, and we expect this release to happen in a shorter amount of time than the last couple major releases did.&lt;br&gt;
At this point, we would love for folks to test out netbsd-8 and let us know how it goes.  A couple of major improvements since 7.0 are the addition of USB 3 support and an overhaul of the audio subsystem, including an in-kernel mixer.  Feedback about these areas is particularly desired.&lt;br&gt;
To download the latest binaries built from the netbsd-8 branch, head to&lt;br&gt;
[&lt;a href="http://daily-builds.NetBSD.org/pub/NetBSD-daily/netbsd-8/(%5Dhttp://daily-builds.NetBSD.org/pub/NetBSD-daily/netbsd-8/)" target="_blank" rel="nofollow noopener"&gt;http://daily-builds.NetBSD.org/pub/NetBSD-daily/netbsd-8/(]http://daily-builds.NetBSD.org/pub/NetBSD-daily/netbsd-8/)&lt;/a&gt;&lt;br&gt;
Thanks in advance for helping make NetBSD 8.0 a stellar release!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.openindiana.org/2017/05/03/openindiana-hipster-2017-04-is-here/" target="_blank" rel="nofollow noopener"&gt;OpenIndiana Hipster 2017.04 is here&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Desktop software and libraries

&lt;ul&gt;
&lt;li&gt;Xorg was updated to 1.18.4, xorg libraries and drivers were updated.&lt;/li&gt;
&lt;li&gt;Mate was updated to 1.16&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.openindiana.org/oi/Intel+KMS+driver" target="_blank" rel="nofollow noopener"&gt;Intel video driver was updated, the list of supported hardware has significantly extended&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;libsmb was updated to 4.4.6&lt;/li&gt;
&lt;li&gt;gvfs was updated to 1.26.0&lt;/li&gt;
&lt;li&gt;gtk3 was updated to 3.18.9&lt;/li&gt;
&lt;li&gt;Major text editors were updated (we ship vim 8.0.104, joe 4.4, emacs 25.2, nano 2.7.5&lt;/li&gt;
&lt;li&gt;pulseaudio was updated to 10.0&lt;/li&gt;
&lt;li&gt;firefox was updated to 45.9.0&lt;/li&gt;
&lt;li&gt;thunderbird was updated to 45.8.0&lt;/li&gt;
&lt;li&gt;critical issue in enlightenment was fixed, now it's operational again&lt;/li&gt;
&lt;li&gt;privoxy was updated to 3.0.26&lt;/li&gt;
&lt;li&gt;Mesa was updated to 13.0.6&lt;/li&gt;
&lt;li&gt;Nvidia driver was updated to 340.102&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Development tools and libraries

&lt;ul&gt;
&lt;li&gt;GCC 6 was added. Patches necessary to compile illumos-gate with GCC 6 were added (note, compiling illumos-gate with version other than illumos-gcc-4.4.4 is not supported)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.openindiana.org/2017/05/05/gcc-7-1-added-the-hipster-and-rolling-forward/" target="_blank" rel="nofollow noopener"&gt;GCC 7.1 added to Hipster&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Bison was updated to 3.0.4&lt;/li&gt;
&lt;li&gt;Groovy 2.4 was added&lt;/li&gt;
&lt;li&gt;Ruby 1.9 was removed, Ruby 2.3 is the default Ruby now&lt;/li&gt;
&lt;li&gt;Perl 5.16 was removed. 64-bit Perl 5.24 is shipped.&lt;/li&gt;
&lt;li&gt;64-bit OpenJDK 8 is the default OpenJDK version now.&lt;/li&gt;
&lt;li&gt;Mercurial was updated to 4.1.3&lt;/li&gt;
&lt;li&gt;Git was updated to 2.12.2&lt;/li&gt;
&lt;li&gt;ccache was updated to 3.3.3&lt;/li&gt;
&lt;li&gt;QT 5.8.0 was added&lt;/li&gt;
&lt;li&gt;Valgrind was updated to 3.12.0&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Server software

&lt;ul&gt;
&lt;li&gt;PostgreSQL 9.6 was added, PostgreSQL 9.3-9.5 were updated to latest minor versions&lt;/li&gt;
&lt;li&gt;MongoDB 3.4 was added&lt;/li&gt;
&lt;li&gt;MariaDB 10.1 was added&lt;/li&gt;
&lt;li&gt;NodeJS 7 was added&lt;/li&gt;
&lt;li&gt;Percona Server 5.5/5.6/5.7 and MariaDB 5.5 were updated to latest minor versions&lt;/li&gt;
&lt;li&gt;OpenVPN was updated to 2.4.1&lt;/li&gt;
&lt;li&gt;ISC Bind was updated to 9.10.4-P8&lt;/li&gt;
&lt;li&gt;Squid was updated to 3.5.25&lt;/li&gt;
&lt;li&gt;Nginx was updated to 1.12.0&lt;/li&gt;
&lt;li&gt;Apache 2.4 was updated to 2.4.25. Apache 2.4 is the default Apache server now. Apache 2.2 will be removed before the next snapshot.&lt;/li&gt;
&lt;li&gt;ISC ntpd was updated to 4.2.8p10&lt;/li&gt;
&lt;li&gt;OpenSSH was updated to 7.4p1 &lt;/li&gt;
&lt;li&gt;Samba was updated to 4.4.12&lt;/li&gt;
&lt;li&gt;Tcpdump was updated to 4.9.0&lt;/li&gt;
&lt;li&gt;Snort was updated to 2.9.9.0&lt;/li&gt;
&lt;li&gt;Puppet was updated to 3.8.6&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;A lot of other bug fixes and minor software updates included.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://uwm.edu/hpc/software-management/" target="_blank" rel="nofollow noopener"&gt;PKGSRC at The University of Wisconsin–Milwaukee&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This piece is from the University of Wisconsin, Milwaukee&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Why Use Package Managers?&lt;br&gt;
Why Pkgsrc?&lt;/p&gt;

&lt;p&gt;Portability&lt;br&gt;
Flexibility&lt;br&gt;
Modernity&lt;br&gt;
Quality and Security&lt;br&gt;
Collaboration&lt;br&gt;
Convenience&lt;br&gt;
Growth&lt;/p&gt;

&lt;p&gt;Binary Packages for Research Computing&lt;br&gt;
The University of Wisconsin — Milwaukee provides binary pkgsrc packages for selected operating systems as a service to the research computing community.&lt;br&gt;
Unlike most package repositories, which have a fixed prefix and frequently upgraded packages, these packages are available for multiple prefixes and remain unchanged for a given prefix.  Additional packages may be added and existing packages may be patched to fix bugs or security issues, but the software versions will not be changed.  This allows researchers to keep older software in-place indefinitely for long-term studies while deploying newer software in later snapshots.&lt;br&gt;
Contributing to Pkgsrc&lt;br&gt;
Building Your Own Binary Packages&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Check out the full article and consider using pkgsrc for your own research purposes. &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.pkgsrc.org/pkgsrcCon/2017/" target="_blank" rel="nofollow noopener"&gt;PKGSrc Con is this weekend!&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://deftly.net/posts/2017-06-01-measuring-the-weight-of-an-electron.html" target="_blank" rel="nofollow noopener"&gt;Measuring the weight of an electron&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;An interesting story of the struggles of one person, aided only by their pet Canary, porting Electron to OpenBSD.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a long rant. A rant intended to document lunacy, hopefully aid others in the future and make myself feel better about something I think is crazy. It may seem like I am making an enemy of electron, but keep in mind that isn’t my intention! The enemy here, is complexity! My friend Henry, a canary, is coming along for the ride!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Getting the tools&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At first glance Electron seems like a pretty solid app, it has decent docs, it’s consolidated in a single repository, has a lot of visibility, porting it shouldn’t be a big deal, right?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;After cloning the repo, trouble starts:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Reading through the doc, right off the bat there are a few interesting things: At least 25GB disk space. Huh, OK, some how this ~47M repository is going to blow up to 25G?&lt;br&gt;
Continuing along with the build, I know I have two versions of clang installed on OpenBSD, one from ports and one in base. Hopefully I will be able to tell the build to use one of these versions.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Next, it’s time to tell the bootstrap that OpenBSD exists as a platform. After that is fixed, the build-script runs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Even though cloning another git repo fails, the build happily continues.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Wait. Another repository failed to clone? At least this time the build failed after trying to clone boto.. again. I am guessing it tried twice because something might have changed between now and the last clone? Off in the distance we catch a familiar tune, it almost sounds like Gnarls Barkley’s song Crazy, can’t tell for sure.&lt;br&gt;
As it turns out, if you are using git-fsck, you are unable to clone boto and requests. Obviously the proper fix for his is to not care about the validity of the git objects! So we die a little inside and comment out fsckobjects in our ~/.gitconfig.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Next up, chromium-58 is downloaded…&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Out of curiosity we look at vendor/libchromiumcontent/script/update, it seems its purpose is to download / extract chromium clang and node, good thing we already specified --clang_dir or it might try to build clang again!&lt;br&gt;
544 dots and 45 minutes later, we have an error! The chromium-58.0.3029.110.tar.xz file is mysteriously not there anymore.. Interesting. Wut. “Updating Clang…”. Didn’t I explicitly say not to build clang? At this point we have to shift projects, no longer are we working on Electron.. It’s libchromiumcontent that needs our attention.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Fixing sub-tools&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Ahh, our old friends the dots! This is the second time waiting 45+ minutes for a 500+ MB file to download. We are fairly confident it will fail, delete the file out from under itself and hinder the process even further, so we add an explicit exit to the update script. This way we can copy the file somewhere safe!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Another 45 minute chrome build and saving the downloaded executable to a save space seems in order. Fixing another 50 occurrences of error conditions let’s the build continue - to another clang build.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We remove the call to update_clang, because.. well.. we have two copies of it already and the Electron doc said everything would be fine if we had &amp;gt;= clang 3.4!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;More re-builds and updates of clang and chromium are being commented out, just to get somewhere close to the actual electron build.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fixing sub-sub-tools&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ninja needs to be build and the script for that needs to be told to ignore this “unsupported OS” to continue.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;No luck. At this point we are faced with a complex web of python scripts that execute gn on GN files to produce ninja files… which then build the various components and somewhere in that cluster, something doesn’t know about OpenBSD…&lt;br&gt;
I look at Henry, he is looking a photo of his wife and kids. They are sitting on a telephone wire, the morning sun illuminating their beautiful faces. Henry looks back at me and says “It’s    not worth it.” We slam the laptop shut and go outside.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Interview - Dan McDonald - &lt;a href="mailto:allcoms@gmail.com" target="_blank" rel="nofollow noopener"&gt;allcoms@gmail.com&lt;/a&gt; (danboid)&lt;/h2&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://mail-index.netbsd.org/netbsd-users/2017/06/08/msg019625.html" target="_blank" rel="nofollow noopener"&gt;g4u 2.6 (ghosting for unix) released 18th birthday&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Hubert Feyrer writes in his mail to netbsd-users:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After a five-year period for beta-testing and updating, I have finally released g4u 2.6. With its origins in 1999, I'd like to say: Happy 18th Birthday, g4u!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;About g4u:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;g4u ("ghosting for unix") is a NetBSD-based bootfloppy/CD-ROM that allows easy cloning of PC harddisks to deploy a common setup on a number of PCs using FTP. The floppy/CD offers two functions. The first is to upload the compressed image of a local harddisk to a FTP server, the other is to restore that image via FTP, uncompress it and write it back to disk. Network configuration is fetched via DHCP. As the harddisk is processed as an image, any filesystem and operating system can be deployed using g4u. Easy cloning of local disks as well as partitions is also supported.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The past:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;When I started g4u, I had the task to install a number of lab machines with a dual-boot of Windows NT and NetBSD. The hype was about Microsoft's "Zero Administration Kit" (ZAK) then, but that did barely work for the Windows part - file transfers were slow, depended on the clients' hardware a lot (requiring fiddling with MS DOS network driver disks), and on the ZAK server the files for installing happened do disappear for no good reason every now and then. Not working well, and leaving out NetBSD (and everything else), I created g4u. This gave me the (relative) pain of getting things working once, but with the option to easily add network drivers as they appeared in NetBSD (and oh they did!), plus allowed me to install any operating system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The present:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;We've used g4u successfully in our labs then, booting from CDROM. I also got many donations from public and private institutions plus companies from many sectors, indicating that g4u does make a difference.&lt;/p&gt;

&lt;p&gt;In the meantime, the world has changed, and CDROMs aren't used that much any more. Network boot and USB sticks are today's devices of choice, cloning of a full disk without knowing its structure has both advantages but also disadvantages, and g4u's user interface is still command-line based with not much space for automation. For storage, FTP servers are nice and fast, but alternatives like SSH/SFTP, NFS, iSCSI and SMB for remote storage plus local storage (back to fun with filesystems, anyone? avoiding this was why g4u was created in the first place!) should be considered these days. Further aspects include integrity (checksums), confidentiality (encryption). This leaves a number of open points to address either by future releases, or by other products.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The future:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At this point, my time budget for g4u is very limited. I welcome people to contribute to g4u - g4u is Open Source for a reason. Feel free to get back to me for any changes that you want to contribute!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The changes:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Major changes in g4u 2.6 include:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Make this build with NetBSD-current sources as of 2017-04-17 (shortly before netbsd-8 release branch), binaries were cross-compiled from Mac OS X 10.10&lt;/li&gt;
&lt;li&gt;Many new drivers, bugfixes and improvements from NetBSD-current (see beta1 and beta2 announcements)&lt;/li&gt;
&lt;li&gt;Go back to keeping the disk image inside the kernel as ramdisk, do not load it as separate module. Less error prone, and allows to boot the g4u (NetBSD) kernel from a single file e.g. via PXE (Testing and documentation updates welcome!)&lt;/li&gt;
&lt;li&gt;Actually DO provide the g4u (NetBSD) kernel with the embedded g4u disk image from now on, as separate file, g4u-kernel.gz&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In addition to MD5, add SHA512 checksums&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Congratulation, g4u. Check out the &lt;a href="http://fehu.org/%7Efeyrer/g4u/" target="_blank" rel="nofollow noopener"&gt;g4u website&lt;/a&gt; and support the project if you are using it.
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://wycd.net/posts/2017-05-19-fixing-freebsd-networking-on-digital-ocean.html" target="_blank" rel="nofollow noopener"&gt;Fixing FreeBSD Networking on Digital Ocean&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Most cloud/VPS providers use some form of semi-automated address assignment, rather than just regular static address configuration, so that newly created virtual machines can configure themselves.&lt;/li&gt;
&lt;li&gt;Sometimes, especially during the upgrade process, this can break. This is the story of one such user:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I decided it was time to update my FreeBSD Digital Ocean droplet from the end-of-life version 10.1 (shame on me) to the modern version 10.3 (good until April 2018), and maybe even version 11 (good until 2021). There were no sensitive files on the VM, so I had put it off.&lt;br&gt;
Additionally, cloud providers tend to have shoddy support for BSDs, so breakages after messing with the kernel or init system are rampant, and I had been skirting that risk.&lt;br&gt;
The last straw for me was a broken pkg: /usr/local/lib/libpkg.so.3: Undefined symbol "openat"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;So the user fires up freebsd-update and upgrades to FreeBSD 10.3&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I rebooted, and of course, it happened: no ssh access after 30 seconds, 1 minute, 2 minutes…I logged into my Digital Ocean account and saw green status lights for the instance, but something was definitely wrong.&lt;br&gt;
Fortunately, Digital Ocean provides console access (albeit slow, buggy, and crashes my browser every time I run ping). ifconfig revealed that the interfaces vtnet0 (public) and vtnet1 (private) haven’t been configured with IP addresses.&lt;br&gt;
Combing through files in /etc/rc.*, I found a file called /etc/rc.digitalocean.d/${DROPLET_ID}.conf containing static network settings for this droplet (${DROPLET_ID} was something like 1234567).&lt;br&gt;
It seemed that FreeBSD wasn’t picking up the Digital Ocean network settings config file. The quick and dirty way would have been to messily append the contents of this file to /etc/rc.conf, but I wanted a nicer way. Reading the script in /etc/rc.d/digitalocean told me that /etc/rc.digitalocean.d/${DROPLET_ID}.conf was supposed to have a symlink at /etc/rc.digitalocean.d/droplet.conf. It was broken and pointed to /etc/rc.digitalocean.d/.conf, which could happen when the curl command in /etc/rc.d/digitalocean fails&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Maybe the curl binary was also in need for an upgrade so failed to fetch the droplet ID&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Using grep to fish for files containing droplet.conf, I discovered that it was hacked into the init system via load_rc_config() in /etc/rc.subr&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;I would prefer if Digital Ocean had not customized the version of FreeBSD they ship quite so much&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I could fix that symlink and restart the services:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
set DROPLET_ID=$(curl -s &lt;a href="http://169.254.169.254/metadata/v1/id" target="_blank" rel="nofollow noopener"&gt;http://169.254.169.254/metadata/v1/id&lt;/a&gt;)

ln -s -f /etc/rc.digitalocean.d/${DROPLET_ID}.conf /etc/rc.digitalocean.d/droplet.conf

/etc/rc.d/netif restart

/etc/rc.d/routing restart

&lt;p&gt;Networking was working again, and I could then ssh into my server and run the following to finish the upgrade:&lt;/p&gt;

freebsd-update install

&lt;p&gt;At this point, I decided that I didn’t want to deal with this mess again until at least 2021, so I decided to go for 11.0-RELEASE&lt;/p&gt;

freebsd-update -r 11.0-RELEASE update

freebsd-update install

reboot

freebsd-update install

pkg-static install -f pkg

pkg update

pkg upgrade

uname -a

&lt;p&gt;FreeBSD hostname 11.0-RELEASE-p9 FreeBSD 11.0-RELEASE-p9&lt;/p&gt;

pkg -v

&lt;p&gt;1.10.1&lt;br&gt;
The problem was solved correctly, and my /etc/rc.conf remains free of generated cruft.&lt;br&gt;
The Digital Ocean team can make our lives easier by having their init scripts do more thorough system checking, e.g., catching broken symlinks and bad network addresses. I’m hopeful that collaboration of the FreeBSD team and cloud providers will one day result in automatic fixing of these situations, or at least a correct status indicator.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Digital Ocean team didn’t really know many FreeBSD people when they made the first 10.1 images, they have improved a lot, but they of course could always use more feedback from &lt;em&gt;BSD users
*&lt;/em&gt;*&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt" target="_blank" rel="nofollow noopener"&gt;Stack Clash&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A 12-year-old question: "If the heap grows up, and the stack grows down, what happens when they clash? Is it exploitable? How?&lt;br&gt;
&lt;a href="http://cansecwest.com/core05/memory_vulns_delalleau.pdf" target="_blank" rel="nofollow noopener"&gt;In 2005, Gael Delalleau presented "Large memory management vulnerabilities" and the first stack-clash exploit in user-space (against mod_php 4.3.0 on Apache 2.0.53)&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.invisiblethingslab.com/resources/misc-2010/xorg-large-memory-attacks.pdf" target="_blank" rel="nofollow noopener"&gt;In 2010, Rafal Wojtczuk published "Exploiting large memory management vulnerabilities in Xorg server running on Linux", the second stack-clash exploit in user-space (CVE-2010-2240)&lt;/a&gt;&lt;br&gt;
Since 2010, security researchers have exploited several stack-clashes in the kernel-space, In user-space, however, this problem has been greatly underestimated; the only public exploits are Gael Delalleau's and Rafal Wojtczuk's, and &lt;a href="https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2010-2240" target="_blank" rel="nofollow noopener"&gt;they were written before Linux introduced a protection against stack-clashes (a "guard-page" mapped below the stack)&lt;/a&gt;&lt;br&gt;
In this advisory, we show that stack-clashes are widespread in user-space, and exploitable despite the stack guard-page; we discovered multiple vulnerabilities in guard-page implementations, and devised general methods for:&lt;br&gt;
"Clashing" the stack with another memory region: we allocate memory until the stack reaches another memory region, or until another memory region reaches the stack;&lt;br&gt;
"Jumping" over the stack guard-page: we move the stack-pointer from the stack and into the other memory region, without accessing the stack guard-page;&lt;br&gt;
"Smashing" the stack, or the other memory region: we overwrite the stack with the other memory region, or the other memory region with the stack.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;So this advisory itself, is not a security vulnerability. It is novel research showing ways to work around the mitigations against generic vulnerability types that are implemented on various operating systems.&lt;/li&gt;
&lt;li&gt;While this issue with the mitigation feature has been fixed, even without the fix, successful exploitation requires another application with its own vulnerability in order to be exploited. Those vulnerabilities outside of the OS need to be fixed on their own.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-security/2017-June/009335.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD-Security post&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The issue under discussion is a limitation in a vulnerability mitigation technique. Changes to improve the way FreeBSD manages stack growth, and mitigate the issue demonstrated by Qualys' proof-of-concept code, are in progress by FreeBSD developers knowledgeable in the VM subsystem.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=320317" target="_blank" rel="nofollow noopener"&gt;FreeBSD address space guards&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/lattera/exploits/blob/master/FreeBSD/StackClash/001-stackclash.c" target="_blank" rel="nofollow noopener"&gt;HardenedBSD Proof of Concept for FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;HardenedBSD implementation: &lt;a href="https://github.com/HardenedBSD/hardenedBSD/compare/de8124d3bf83d774b66f62d11aee0162d0cd1031...91104ed152d57cde0292b2dc09489fd1f69ea77c" target="_blank" rel="nofollow noopener"&gt;https://github.com/HardenedBSD/hardenedBSD/compare/de8124d3bf83d774b66f62d11aee0162d0cd1031...91104ed152d57cde0292b2dc09489fd1f69ea77c&lt;/a&gt; &amp;amp; &lt;a href="https://github.com/HardenedBSD/hardenedBSD/commit/00ad1fb6b53f63d6e9ba539b8f251b5cf4d40261" target="_blank" rel="nofollow noopener"&gt;https://github.com/HardenedBSD/hardenedBSD/commit/00ad1fb6b53f63d6e9ba539b8f251b5cf4d40261&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.qualys.com/2017/06/19/stack-clash/freebsd_cve-2017-fgpu.c" target="_blank" rel="nofollow noopener"&gt;Qualys PoC: freebsd_cve-2017-fgpu.c&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.qualys.com/2017/06/19/stack-clash/freebsd_cve-2017-fgpe.c" target="_blank" rel="nofollow noopener"&gt;Qualys PoC: freebsd_cve-2017-fgpe.c&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.qualys.com/2017/06/19/stack-clash/freebsd_cve-2017-1085.c" target="_blank" rel="nofollow noopener"&gt;Qualys PoC: freebsd_cve-2017-1085.c&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.qualys.com/2017/06/19/stack-clash/openbsd_at.c" target="_blank" rel="nofollow noopener"&gt;Qualys PoC: OpenBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.qualys.com/2017/06/19/stack-clash/netbsd_cve-2017-1000375.c" target="_blank" rel="nofollow noopener"&gt;Qualys PoC: NetBSD&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://jrs-s.net/2015/02/03/will-zfs-and-non-ecc-ram-kill-your-data/" target="_blank" rel="nofollow noopener"&gt;Will ZFS and non-ECC RAM kill your data? &lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;TL;DR: ECC is good, but even without, having ZFS is better than not having ZFS.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;What’s ECC RAM? Is it a good idea?&lt;br&gt;
What’s ZFS? Is it a good idea?&lt;br&gt;
Is ZFS and non-ECC worse than not-ZFS and non-ECC?&lt;br&gt;
What about the Scrub of Death?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The article walks through ZFS folk lore, and talks about what can really go wrong, and what is just the over-active imagination of people on the FreeNAS forums&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;But would using any other filesystem that isn’t ZFS have protected that data? ‘Cause remember, nobody’s arguing that you can lose data to evil RAM – the argument is about whether evil RAM is more dangerous with ZFS than it would be without it.&lt;br&gt;
I really, really want to use the Scrub Of Death in a movie or TV show. How can I make it happen?&lt;br&gt;
I don’t care about your logic! I wish to appeal to authority!&lt;br&gt;
OK. “Authority” in this case doesn’t get much better than Matthew Ahrens, one of the cofounders of ZFS at Sun Microsystems and current ZFS developer at Delphix. In the comments to one of my filesystem articles on Ars Technica, Matthew said “There’s nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem.”&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/eurobsdcon-2017-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon 2017 Travel Grant Application Now Open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-June/087303.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.1-BETA3 is out, please give it a test&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1FE80FJ" target="_blank" rel="nofollow noopener"&gt;Allan and Lacey let us know the video to the Postgresql/ZFS talk is online&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=149792179514439&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;Trapsleds&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsd.nrw/" target="_blank" rel="nofollow noopener"&gt;BSD User group in North Rhine-Westphalia, Germany&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2Z5BJCR#wrap" target="_blank" rel="nofollow noopener"&gt;Joe - Home Server Suggestions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1VRQYAM#wrap" target="_blank" rel="nofollow noopener"&gt;Stephen - general BSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2TWADQ8#wrap" target="_blank" rel="nofollow noopener"&gt;Eduardo - ZFS Encryption&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0SC0GAC#wrap" target="_blank" rel="nofollow noopener"&gt;Joseph - BGP Kernel Error&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The NetBSD 8.0 release process is underway, we try to measure the weight of an electron, and look at stack clashing.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://mail-index.netbsd.org/netbsd-announce/2017/06/06/msg000267.html" target="_blank" rel="nofollow noopener">NetBSD 8.0 release process underway</a></h3>

<ul>
<li>Soren Jacobsen writes on NetBSD-announce:</li>
</ul>

<blockquote>
<p>If you've been reading source-changes@, you likely noticed the recent creation of the netbsd-8 branch.  If you haven't been reading source-changes@, here's some news: the netbsd-8 branch has been created, signaling the beginning of the release process for NetBSD 8.0.<br>
We don't have a strict timeline for the 8.0 release, but things are looking pretty good at the moment, and we expect this release to happen in a shorter amount of time than the last couple major releases did.<br>
At this point, we would love for folks to test out netbsd-8 and let us know how it goes.  A couple of major improvements since 7.0 are the addition of USB 3 support and an overhaul of the audio subsystem, including an in-kernel mixer.  Feedback about these areas is particularly desired.<br>
To download the latest binaries built from the netbsd-8 branch, head to<br>
[<a href="http://daily-builds.NetBSD.org/pub/NetBSD-daily/netbsd-8/(%5Dhttp://daily-builds.NetBSD.org/pub/NetBSD-daily/netbsd-8/)" target="_blank" rel="nofollow noopener">http://daily-builds.NetBSD.org/pub/NetBSD-daily/netbsd-8/(]http://daily-builds.NetBSD.org/pub/NetBSD-daily/netbsd-8/)</a><br>
Thanks in advance for helping make NetBSD 8.0 a stellar release!</p>
</blockquote>

<hr>

<h3><a href="https://www.openindiana.org/2017/05/03/openindiana-hipster-2017-04-is-here/" target="_blank" rel="nofollow noopener">OpenIndiana Hipster 2017.04 is here</a></h3>

<ul>
<li>Desktop software and libraries

<ul>
<li>Xorg was updated to 1.18.4, xorg libraries and drivers were updated.</li>
<li>Mate was updated to 1.16</li>
<li><a href="https://wiki.openindiana.org/oi/Intel+KMS+driver" target="_blank" rel="nofollow noopener">Intel video driver was updated, the list of supported hardware has significantly extended</a></li>
<li>libsmb was updated to 4.4.6</li>
<li>gvfs was updated to 1.26.0</li>
<li>gtk3 was updated to 3.18.9</li>
<li>Major text editors were updated (we ship vim 8.0.104, joe 4.4, emacs 25.2, nano 2.7.5</li>
<li>pulseaudio was updated to 10.0</li>
<li>firefox was updated to 45.9.0</li>
<li>thunderbird was updated to 45.8.0</li>
<li>critical issue in enlightenment was fixed, now it's operational again</li>
<li>privoxy was updated to 3.0.26</li>
<li>Mesa was updated to 13.0.6</li>
<li>Nvidia driver was updated to 340.102</li>
</ul></li>
<li>Development tools and libraries

<ul>
<li>GCC 6 was added. Patches necessary to compile illumos-gate with GCC 6 were added (note, compiling illumos-gate with version other than illumos-gcc-4.4.4 is not supported)</li>
<li><a href="https://www.openindiana.org/2017/05/05/gcc-7-1-added-the-hipster-and-rolling-forward/" target="_blank" rel="nofollow noopener">GCC 7.1 added to Hipster</a></li>
<li>Bison was updated to 3.0.4</li>
<li>Groovy 2.4 was added</li>
<li>Ruby 1.9 was removed, Ruby 2.3 is the default Ruby now</li>
<li>Perl 5.16 was removed. 64-bit Perl 5.24 is shipped.</li>
<li>64-bit OpenJDK 8 is the default OpenJDK version now.</li>
<li>Mercurial was updated to 4.1.3</li>
<li>Git was updated to 2.12.2</li>
<li>ccache was updated to 3.3.3</li>
<li>QT 5.8.0 was added</li>
<li>Valgrind was updated to 3.12.0</li>
</ul></li>
<li>Server software

<ul>
<li>PostgreSQL 9.6 was added, PostgreSQL 9.3-9.5 were updated to latest minor versions</li>
<li>MongoDB 3.4 was added</li>
<li>MariaDB 10.1 was added</li>
<li>NodeJS 7 was added</li>
<li>Percona Server 5.5/5.6/5.7 and MariaDB 5.5 were updated to latest minor versions</li>
<li>OpenVPN was updated to 2.4.1</li>
<li>ISC Bind was updated to 9.10.4-P8</li>
<li>Squid was updated to 3.5.25</li>
<li>Nginx was updated to 1.12.0</li>
<li>Apache 2.4 was updated to 2.4.25. Apache 2.4 is the default Apache server now. Apache 2.2 will be removed before the next snapshot.</li>
<li>ISC ntpd was updated to 4.2.8p10</li>
<li>OpenSSH was updated to 7.4p1 </li>
<li>Samba was updated to 4.4.12</li>
<li>Tcpdump was updated to 4.9.0</li>
<li>Snort was updated to 2.9.9.0</li>
<li>Puppet was updated to 3.8.6</li>
</ul></li>
<li>A lot of other bug fixes and minor software updates included.
***</li>
</ul>

<h3><a href="https://uwm.edu/hpc/software-management/" target="_blank" rel="nofollow noopener">PKGSRC at The University of WisconsinMilwaukee</a></h3>

<ul>
<li>This piece is from the University of Wisconsin, Milwaukee</li>
</ul>

<blockquote>
<p>Why Use Package Managers?<br>
Why Pkgsrc?</p>

<p>Portability<br>
Flexibility<br>
Modernity<br>
Quality and Security<br>
Collaboration<br>
Convenience<br>
Growth</p>

<p>Binary Packages for Research Computing<br>
The University of Wisconsin  Milwaukee provides binary pkgsrc packages for selected operating systems as a service to the research computing community.<br>
Unlike most package repositories, which have a fixed prefix and frequently upgraded packages, these packages are available for multiple prefixes and remain unchanged for a given prefix.  Additional packages may be added and existing packages may be patched to fix bugs or security issues, but the software versions will not be changed.  This allows researchers to keep older software in-place indefinitely for long-term studies while deploying newer software in later snapshots.<br>
Contributing to Pkgsrc<br>
Building Your Own Binary Packages</p>
</blockquote>

<ul>
<li>Check out the full article and consider using pkgsrc for your own research purposes. </li>
<li><a href="http://www.pkgsrc.org/pkgsrcCon/2017/" target="_blank" rel="nofollow noopener">PKGSrc Con is this weekend!</a>
***</li>
</ul>

<h3><a href="https://deftly.net/posts/2017-06-01-measuring-the-weight-of-an-electron.html" target="_blank" rel="nofollow noopener">Measuring the weight of an electron</a></h3>

<ul>
<li>An interesting story of the struggles of one person, aided only by their pet Canary, porting Electron to OpenBSD.</li>
</ul>

<blockquote>
<p>This is a long rant. A rant intended to document lunacy, hopefully aid others in the future and make myself feel better about something I think is crazy. It may seem like I am making an enemy of electron, but keep in mind that isnt my intention! The enemy here, is complexity! My friend Henry, a canary, is coming along for the ride!</p>
</blockquote>

<ul>
<li>Getting the tools</li>
</ul>

<blockquote>
<p>At first glance Electron seems like a pretty solid app, it has decent docs, its consolidated in a single repository, has a lot of visibility, porting it shouldnt be a big deal, right?</p>
</blockquote>

<ul>
<li>After cloning the repo, trouble starts:</li>
</ul>

<blockquote>
<p>Reading through the doc, right off the bat there are a few interesting things: At least 25GB disk space. Huh, OK, some how this ~47M repository is going to blow up to 25G?<br>
Continuing along with the build, I know I have two versions of clang installed on OpenBSD, one from ports and one in base. Hopefully I will be able to tell the build to use one of these versions.</p>
</blockquote>

<ul>
<li><p>Next, its time to tell the bootstrap that OpenBSD exists as a platform. After that is fixed, the build-script runs.</p></li>
<li><p>Even though cloning another git repo fails, the build happily continues.</p></li>
</ul>

<blockquote>
<p>Wait. Another repository failed to clone? At least this time the build failed after trying to clone boto.. again. I am guessing it tried twice because something might have changed between now and the last clone? Off in the distance we catch a familiar tune, it almost sounds like Gnarls Barkleys song Crazy, cant tell for sure.<br>
As it turns out, if you are using git-fsck, you are unable to clone boto and requests. Obviously the proper fix for his is to not care about the validity of the git objects! So we die a little inside and comment out fsckobjects in our ~/.gitconfig.</p>
</blockquote>

<ul>
<li>Next up, chromium-58 is downloaded</li>
</ul>

<blockquote>
<p>Out of curiosity we look at vendor/libchromiumcontent/script/update, it seems its purpose is to download / extract chromium clang and node, good thing we already specified --clang_dir or it might try to build clang again!<br>
544 dots and 45 minutes later, we have an error! The chromium-58.0.3029.110.tar.xz file is mysteriously not there anymore.. Interesting. Wut. Updating Clang. Didnt I explicitly say not to build clang? At this point we have to shift projects, no longer are we working on Electron.. Its libchromiumcontent that needs our attention.</p>
</blockquote>

<ul>
<li>Fixing sub-tools</li>
</ul>

<blockquote>
<p>Ahh, our old friends the dots! This is the second time waiting 45+ minutes for a 500+ MB file to download. We are fairly confident it will fail, delete the file out from under itself and hinder the process even further, so we add an explicit exit to the update script. This way we can copy the file somewhere safe!</p>
</blockquote>

<ul>
<li>Another 45 minute chrome build and saving the downloaded executable to a save space seems in order. Fixing another 50 occurrences of error conditions lets the build continue - to another clang build.</li>
</ul>

<blockquote>
<p>We remove the call to update_clang, because.. well.. we have two copies of it already and the Electron doc said everything would be fine if we had &gt;= clang 3.4!</p>
</blockquote>

<ul>
<li><p>More re-builds and updates of clang and chromium are being commented out, just to get somewhere close to the actual electron build.</p></li>
<li><p>Fixing sub-sub-tools</p></li>
<li><p>Ninja needs to be build and the script for that needs to be told to ignore this unsupported OS to continue.</p></li>
</ul>

<blockquote>
<p>No luck. At this point we are faced with a complex web of python scripts that execute gn on GN files to produce ninja files which then build the various components and somewhere in that cluster, something doesnt know about OpenBSD<br>
I look at Henry, he is looking a photo of his wife and kids. They are sitting on a telephone wire, the morning sun illuminating their beautiful faces. Henry looks back at me and says Its    not worth it. We slam the laptop shut and go outside.</p>
</blockquote>

<hr>

<h2>Interview - Dan McDonald - <a href="mailto:allcoms@gmail.com" target="_blank" rel="nofollow noopener">allcoms@gmail.com</a> (danboid)</h2>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/netbsd-users/2017/06/08/msg019625.html" target="_blank" rel="nofollow noopener">g4u 2.6 (ghosting for unix) released 18th birthday</a></h3>

<ul>
<li>Hubert Feyrer writes in his mail to netbsd-users:</li>
</ul>

<blockquote>
<p>After a five-year period for beta-testing and updating, I have finally released g4u 2.6. With its origins in 1999, I'd like to say: Happy 18th Birthday, g4u!</p>
</blockquote>

<ul>
<li>About g4u:</li>
</ul>

<blockquote>
<p>g4u ("ghosting for unix") is a NetBSD-based bootfloppy/CD-ROM that allows easy cloning of PC harddisks to deploy a common setup on a number of PCs using FTP. The floppy/CD offers two functions. The first is to upload the compressed image of a local harddisk to a FTP server, the other is to restore that image via FTP, uncompress it and write it back to disk. Network configuration is fetched via DHCP. As the harddisk is processed as an image, any filesystem and operating system can be deployed using g4u. Easy cloning of local disks as well as partitions is also supported.</p>
</blockquote>

<ul>
<li>The past:</li>
</ul>

<blockquote>
<p>When I started g4u, I had the task to install a number of lab machines with a dual-boot of Windows NT and NetBSD. The hype was about Microsoft's "Zero Administration Kit" (ZAK) then, but that did barely work for the Windows part - file transfers were slow, depended on the clients' hardware a lot (requiring fiddling with MS DOS network driver disks), and on the ZAK server the files for installing happened do disappear for no good reason every now and then. Not working well, and leaving out NetBSD (and everything else), I created g4u. This gave me the (relative) pain of getting things working once, but with the option to easily add network drivers as they appeared in NetBSD (and oh they did!), plus allowed me to install any operating system.</p>
</blockquote>

<ul>
<li>The present:</li>
</ul>

<blockquote>
<p>We've used g4u successfully in our labs then, booting from CDROM. I also got many donations from public and private institutions plus companies from many sectors, indicating that g4u does make a difference.</p>

<p>In the meantime, the world has changed, and CDROMs aren't used that much any more. Network boot and USB sticks are today's devices of choice, cloning of a full disk without knowing its structure has both advantages but also disadvantages, and g4u's user interface is still command-line based with not much space for automation. For storage, FTP servers are nice and fast, but alternatives like SSH/SFTP, NFS, iSCSI and SMB for remote storage plus local storage (back to fun with filesystems, anyone? avoiding this was why g4u was created in the first place!) should be considered these days. Further aspects include integrity (checksums), confidentiality (encryption). This leaves a number of open points to address either by future releases, or by other products.</p>
</blockquote>

<ul>
<li>The future:</li>
</ul>

<blockquote>
<p>At this point, my time budget for g4u is very limited. I welcome people to contribute to g4u - g4u is Open Source for a reason. Feel free to get back to me for any changes that you want to contribute!</p>
</blockquote>

<ul>
<li>The changes:</li>
</ul>

<blockquote>
<p>Major changes in g4u 2.6 include:</p>
</blockquote>

<ul>
<li>Make this build with NetBSD-current sources as of 2017-04-17 (shortly before netbsd-8 release branch), binaries were cross-compiled from Mac OS X 10.10</li>
<li>Many new drivers, bugfixes and improvements from NetBSD-current (see beta1 and beta2 announcements)</li>
<li>Go back to keeping the disk image inside the kernel as ramdisk, do not load it as separate module. Less error prone, and allows to boot the g4u (NetBSD) kernel from a single file e.g. via PXE (Testing and documentation updates welcome!)</li>
<li>Actually DO provide the g4u (NetBSD) kernel with the embedded g4u disk image from now on, as separate file, g4u-kernel.gz</li>
<li><p>In addition to MD5, add SHA512 checksums</p>

<ul>
<li>Congratulation, g4u. Check out the <a href="http://fehu.org/%7Efeyrer/g4u/" target="_blank" rel="nofollow noopener">g4u website</a> and support the project if you are using it.
***</li>
</ul></li>
</ul>

<h3><a href="https://wycd.net/posts/2017-05-19-fixing-freebsd-networking-on-digital-ocean.html" target="_blank" rel="nofollow noopener">Fixing FreeBSD Networking on Digital Ocean</a></h3>

<ul>
<li>Most cloud/VPS providers use some form of semi-automated address assignment, rather than just regular static address configuration, so that newly created virtual machines can configure themselves.</li>
<li>Sometimes, especially during the upgrade process, this can break. This is the story of one such user:</li>
</ul>

<blockquote>
<p>I decided it was time to update my FreeBSD Digital Ocean droplet from the end-of-life version 10.1 (shame on me) to the modern version 10.3 (good until April 2018), and maybe even version 11 (good until 2021). There were no sensitive files on the VM, so I had put it off.<br>
Additionally, cloud providers tend to have shoddy support for BSDs, so breakages after messing with the kernel or init system are rampant, and I had been skirting that risk.<br>
The last straw for me was a broken pkg: /usr/local/lib/libpkg.so.3: Undefined symbol "openat"</p>
</blockquote>

<ul>
<li>So the user fires up freebsd-update and upgrades to FreeBSD 10.3</li>
</ul>

<blockquote>
<p>I rebooted, and of course, it happened: no ssh access after 30 seconds, 1 minute, 2 minutesI logged into my Digital Ocean account and saw green status lights for the instance, but something was definitely wrong.<br>
Fortunately, Digital Ocean provides console access (albeit slow, buggy, and crashes my browser every time I run ping). ifconfig revealed that the interfaces vtnet0 (public) and vtnet1 (private) havent been configured with IP addresses.<br>
Combing through files in /etc/rc.*, I found a file called /etc/rc.digitalocean.d/${DROPLET_ID}.conf containing static network settings for this droplet (${DROPLET_ID} was something like 1234567).<br>
It seemed that FreeBSD wasnt picking up the Digital Ocean network settings config file. The quick and dirty way would have been to messily append the contents of this file to /etc/rc.conf, but I wanted a nicer way. Reading the script in /etc/rc.d/digitalocean told me that /etc/rc.digitalocean.d/${DROPLET_ID}.conf was supposed to have a symlink at /etc/rc.digitalocean.d/droplet.conf. It was broken and pointed to /etc/rc.digitalocean.d/.conf, which could happen when the curl command in /etc/rc.d/digitalocean fails</p>
</blockquote>

<ul>
<li>Maybe the curl binary was also in need for an upgrade so failed to fetch the droplet ID</li>
</ul>

<blockquote>
<p>Using grep to fish for files containing droplet.conf, I discovered that it was hacked into the init system via load_rc_config() in /etc/rc.subr</p>
</blockquote>

<ul>
<li><p>I would prefer if Digital Ocean had not customized the version of FreeBSD they ship quite so much</p></li>
<li><p>I could fix that symlink and restart the services:</p></li>
</ul>

<blockquote>
set DROPLET_ID=$(curl -s <a href="http://169.254.169.254/metadata/v1/id" target="_blank" rel="nofollow noopener">http://169.254.169.254/metadata/v1/id</a>)

ln -s -f /etc/rc.digitalocean.d/${DROPLET_ID}.conf /etc/rc.digitalocean.d/droplet.conf

/etc/rc.d/netif restart

/etc/rc.d/routing restart

<p>Networking was working again, and I could then ssh into my server and run the following to finish the upgrade:</p>

freebsd-update install

<p>At this point, I decided that I didnt want to deal with this mess again until at least 2021, so I decided to go for 11.0-RELEASE</p>

freebsd-update -r 11.0-RELEASE update

freebsd-update install

reboot

freebsd-update install

pkg-static install -f pkg

pkg update

pkg upgrade

uname -a

<p>FreeBSD hostname 11.0-RELEASE-p9 FreeBSD 11.0-RELEASE-p9</p>

pkg -v

<p>1.10.1<br>
The problem was solved correctly, and my /etc/rc.conf remains free of generated cruft.<br>
The Digital Ocean team can make our lives easier by having their init scripts do more thorough system checking, e.g., catching broken symlinks and bad network addresses. Im hopeful that collaboration of the FreeBSD team and cloud providers will one day result in automatic fixing of these situations, or at least a correct status indicator.</p>
</blockquote>

<ul>
<li>The Digital Ocean team didnt really know many FreeBSD people when they made the first 10.1 images, they have improved a lot, but they of course could always use more feedback from <em>BSD users
*</em>*</li>
</ul>

<h3><a href="https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt" target="_blank" rel="nofollow noopener">Stack Clash</a></h3>

<blockquote>
<p>A 12-year-old question: "If the heap grows up, and the stack grows down, what happens when they clash? Is it exploitable? How?<br>
<a href="http://cansecwest.com/core05/memory_vulns_delalleau.pdf" target="_blank" rel="nofollow noopener">In 2005, Gael Delalleau presented "Large memory management vulnerabilities" and the first stack-clash exploit in user-space (against mod_php 4.3.0 on Apache 2.0.53)</a><br>
<a href="http://www.invisiblethingslab.com/resources/misc-2010/xorg-large-memory-attacks.pdf" target="_blank" rel="nofollow noopener">In 2010, Rafal Wojtczuk published "Exploiting large memory management vulnerabilities in Xorg server running on Linux", the second stack-clash exploit in user-space (CVE-2010-2240)</a><br>
Since 2010, security researchers have exploited several stack-clashes in the kernel-space, In user-space, however, this problem has been greatly underestimated; the only public exploits are Gael Delalleau's and Rafal Wojtczuk's, and <a href="https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2010-2240" target="_blank" rel="nofollow noopener">they were written before Linux introduced a protection against stack-clashes (a "guard-page" mapped below the stack)</a><br>
In this advisory, we show that stack-clashes are widespread in user-space, and exploitable despite the stack guard-page; we discovered multiple vulnerabilities in guard-page implementations, and devised general methods for:<br>
"Clashing" the stack with another memory region: we allocate memory until the stack reaches another memory region, or until another memory region reaches the stack;<br>
"Jumping" over the stack guard-page: we move the stack-pointer from the stack and into the other memory region, without accessing the stack guard-page;<br>
"Smashing" the stack, or the other memory region: we overwrite the stack with the other memory region, or the other memory region with the stack.</p>
</blockquote>

<ul>
<li>So this advisory itself, is not a security vulnerability. It is novel research showing ways to work around the mitigations against generic vulnerability types that are implemented on various operating systems.</li>
<li>While this issue with the mitigation feature has been fixed, even without the fix, successful exploitation requires another application with its own vulnerability in order to be exploited. Those vulnerabilities outside of the OS need to be fixed on their own.</li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-security/2017-June/009335.html" target="_blank" rel="nofollow noopener">FreeBSD-Security post</a></li>
</ul>

<blockquote>
<p>The issue under discussion is a limitation in a vulnerability mitigation technique. Changes to improve the way FreeBSD manages stack growth, and mitigate the issue demonstrated by Qualys' proof-of-concept code, are in progress by FreeBSD developers knowledgeable in the VM subsystem.</p>
</blockquote>

<ul>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=320317" target="_blank" rel="nofollow noopener">FreeBSD address space guards</a></li>
<li><a href="https://github.com/lattera/exploits/blob/master/FreeBSD/StackClash/001-stackclash.c" target="_blank" rel="nofollow noopener">HardenedBSD Proof of Concept for FreeBSD</a></li>
<li>HardenedBSD implementation: <a href="https://github.com/HardenedBSD/hardenedBSD/compare/de8124d3bf83d774b66f62d11aee0162d0cd1031...91104ed152d57cde0292b2dc09489fd1f69ea77c" target="_blank" rel="nofollow noopener">https://github.com/HardenedBSD/hardenedBSD/compare/de8124d3bf83d774b66f62d11aee0162d0cd1031...91104ed152d57cde0292b2dc09489fd1f69ea77c</a> &amp; <a href="https://github.com/HardenedBSD/hardenedBSD/commit/00ad1fb6b53f63d6e9ba539b8f251b5cf4d40261" target="_blank" rel="nofollow noopener">https://github.com/HardenedBSD/hardenedBSD/commit/00ad1fb6b53f63d6e9ba539b8f251b5cf4d40261</a></li>
<li><a href="https://www.qualys.com/2017/06/19/stack-clash/freebsd_cve-2017-fgpu.c" target="_blank" rel="nofollow noopener">Qualys PoC: freebsd_cve-2017-fgpu.c</a></li>
<li><a href="https://www.qualys.com/2017/06/19/stack-clash/freebsd_cve-2017-fgpe.c" target="_blank" rel="nofollow noopener">Qualys PoC: freebsd_cve-2017-fgpe.c</a></li>
<li><a href="https://www.qualys.com/2017/06/19/stack-clash/freebsd_cve-2017-1085.c" target="_blank" rel="nofollow noopener">Qualys PoC: freebsd_cve-2017-1085.c</a></li>
<li><a href="https://www.qualys.com/2017/06/19/stack-clash/openbsd_at.c" target="_blank" rel="nofollow noopener">Qualys PoC: OpenBSD</a></li>
<li><a href="https://www.qualys.com/2017/06/19/stack-clash/netbsd_cve-2017-1000375.c" target="_blank" rel="nofollow noopener">Qualys PoC: NetBSD</a>
***</li>
</ul>

<h3><a href="http://jrs-s.net/2015/02/03/will-zfs-and-non-ecc-ram-kill-your-data/" target="_blank" rel="nofollow noopener">Will ZFS and non-ECC RAM kill your data? </a></h3>

<ul>
<li>TL;DR: ECC is good, but even without, having ZFS is better than not having ZFS.</li>
</ul>

<blockquote>
<p>Whats ECC RAM? Is it a good idea?<br>
Whats ZFS? Is it a good idea?<br>
Is ZFS and non-ECC worse than not-ZFS and non-ECC?<br>
What about the Scrub of Death?</p>
</blockquote>

<ul>
<li>The article walks through ZFS folk lore, and talks about what can really go wrong, and what is just the over-active imagination of people on the FreeNAS forums</li>
</ul>

<blockquote>
<p>But would using any other filesystem that isnt ZFS have protected that data? Cause remember, nobodys arguing that you can lose data to evil RAM  the argument is about whether evil RAM is more dangerous with ZFS than it would be without it.<br>
I really, really want to use the Scrub Of Death in a movie or TV show. How can I make it happen?<br>
I dont care about your logic! I wish to appeal to authority!<br>
OK. Authority in this case doesnt get much better than Matthew Ahrens, one of the cofounders of ZFS at Sun Microsystems and current ZFS developer at Delphix. In the comments to one of my filesystem articles on Ars Technica, Matthew said Theres nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.freebsdfoundation.org/blog/eurobsdcon-2017-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">EuroBSDcon 2017 Travel Grant Application Now Open</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-June/087303.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-BETA3 is out, please give it a test</a></li>
<li><a href="http://dpaste.com/1FE80FJ" target="_blank" rel="nofollow noopener">Allan and Lacey let us know the video to the Postgresql/ZFS talk is online</a></li>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=149792179514439&amp;w=2" target="_blank" rel="nofollow noopener">Trapsleds</a></li>
<li><a href="https://bsd.nrw/" target="_blank" rel="nofollow noopener">BSD User group in North Rhine-Westphalia, Germany</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2Z5BJCR#wrap" target="_blank" rel="nofollow noopener">Joe - Home Server Suggestions</a></li>
<li><a href="http://dpaste.com/1VRQYAM#wrap" target="_blank" rel="nofollow noopener">Stephen - general BSD</a></li>
<li><a href="http://dpaste.com/2TWADQ8#wrap" target="_blank" rel="nofollow noopener">Eduardo - ZFS Encryption</a></li>
<li><a href="http://dpaste.com/0SC0GAC#wrap" target="_blank" rel="nofollow noopener">Joseph - BGP Kernel Error</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The NetBSD 8.0 release process is underway, we try to measure the weight of an electron, and look at stack clashing.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://mail-index.netbsd.org/netbsd-announce/2017/06/06/msg000267.html" target="_blank" rel="nofollow noopener">NetBSD 8.0 release process underway</a></h3>

<ul>
<li>Soren Jacobsen writes on NetBSD-announce:</li>
</ul>

<blockquote>
<p>If you've been reading source-changes@, you likely noticed the recent creation of the netbsd-8 branch.  If you haven't been reading source-changes@, here's some news: the netbsd-8 branch has been created, signaling the beginning of the release process for NetBSD 8.0.<br>
We don't have a strict timeline for the 8.0 release, but things are looking pretty good at the moment, and we expect this release to happen in a shorter amount of time than the last couple major releases did.<br>
At this point, we would love for folks to test out netbsd-8 and let us know how it goes.  A couple of major improvements since 7.0 are the addition of USB 3 support and an overhaul of the audio subsystem, including an in-kernel mixer.  Feedback about these areas is particularly desired.<br>
To download the latest binaries built from the netbsd-8 branch, head to<br>
[<a href="http://daily-builds.NetBSD.org/pub/NetBSD-daily/netbsd-8/(%5Dhttp://daily-builds.NetBSD.org/pub/NetBSD-daily/netbsd-8/)" target="_blank" rel="nofollow noopener">http://daily-builds.NetBSD.org/pub/NetBSD-daily/netbsd-8/(]http://daily-builds.NetBSD.org/pub/NetBSD-daily/netbsd-8/)</a><br>
Thanks in advance for helping make NetBSD 8.0 a stellar release!</p>
</blockquote>

<hr>

<h3><a href="https://www.openindiana.org/2017/05/03/openindiana-hipster-2017-04-is-here/" target="_blank" rel="nofollow noopener">OpenIndiana Hipster 2017.04 is here</a></h3>

<ul>
<li>Desktop software and libraries

<ul>
<li>Xorg was updated to 1.18.4, xorg libraries and drivers were updated.</li>
<li>Mate was updated to 1.16</li>
<li><a href="https://wiki.openindiana.org/oi/Intel+KMS+driver" target="_blank" rel="nofollow noopener">Intel video driver was updated, the list of supported hardware has significantly extended</a></li>
<li>libsmb was updated to 4.4.6</li>
<li>gvfs was updated to 1.26.0</li>
<li>gtk3 was updated to 3.18.9</li>
<li>Major text editors were updated (we ship vim 8.0.104, joe 4.4, emacs 25.2, nano 2.7.5</li>
<li>pulseaudio was updated to 10.0</li>
<li>firefox was updated to 45.9.0</li>
<li>thunderbird was updated to 45.8.0</li>
<li>critical issue in enlightenment was fixed, now it's operational again</li>
<li>privoxy was updated to 3.0.26</li>
<li>Mesa was updated to 13.0.6</li>
<li>Nvidia driver was updated to 340.102</li>
</ul></li>
<li>Development tools and libraries

<ul>
<li>GCC 6 was added. Patches necessary to compile illumos-gate with GCC 6 were added (note, compiling illumos-gate with version other than illumos-gcc-4.4.4 is not supported)</li>
<li><a href="https://www.openindiana.org/2017/05/05/gcc-7-1-added-the-hipster-and-rolling-forward/" target="_blank" rel="nofollow noopener">GCC 7.1 added to Hipster</a></li>
<li>Bison was updated to 3.0.4</li>
<li>Groovy 2.4 was added</li>
<li>Ruby 1.9 was removed, Ruby 2.3 is the default Ruby now</li>
<li>Perl 5.16 was removed. 64-bit Perl 5.24 is shipped.</li>
<li>64-bit OpenJDK 8 is the default OpenJDK version now.</li>
<li>Mercurial was updated to 4.1.3</li>
<li>Git was updated to 2.12.2</li>
<li>ccache was updated to 3.3.3</li>
<li>QT 5.8.0 was added</li>
<li>Valgrind was updated to 3.12.0</li>
</ul></li>
<li>Server software

<ul>
<li>PostgreSQL 9.6 was added, PostgreSQL 9.3-9.5 were updated to latest minor versions</li>
<li>MongoDB 3.4 was added</li>
<li>MariaDB 10.1 was added</li>
<li>NodeJS 7 was added</li>
<li>Percona Server 5.5/5.6/5.7 and MariaDB 5.5 were updated to latest minor versions</li>
<li>OpenVPN was updated to 2.4.1</li>
<li>ISC Bind was updated to 9.10.4-P8</li>
<li>Squid was updated to 3.5.25</li>
<li>Nginx was updated to 1.12.0</li>
<li>Apache 2.4 was updated to 2.4.25. Apache 2.4 is the default Apache server now. Apache 2.2 will be removed before the next snapshot.</li>
<li>ISC ntpd was updated to 4.2.8p10</li>
<li>OpenSSH was updated to 7.4p1 </li>
<li>Samba was updated to 4.4.12</li>
<li>Tcpdump was updated to 4.9.0</li>
<li>Snort was updated to 2.9.9.0</li>
<li>Puppet was updated to 3.8.6</li>
</ul></li>
<li>A lot of other bug fixes and minor software updates included.
***</li>
</ul>

<h3><a href="https://uwm.edu/hpc/software-management/" target="_blank" rel="nofollow noopener">PKGSRC at The University of WisconsinMilwaukee</a></h3>

<ul>
<li>This piece is from the University of Wisconsin, Milwaukee</li>
</ul>

<blockquote>
<p>Why Use Package Managers?<br>
Why Pkgsrc?</p>

<p>Portability<br>
Flexibility<br>
Modernity<br>
Quality and Security<br>
Collaboration<br>
Convenience<br>
Growth</p>

<p>Binary Packages for Research Computing<br>
The University of Wisconsin  Milwaukee provides binary pkgsrc packages for selected operating systems as a service to the research computing community.<br>
Unlike most package repositories, which have a fixed prefix and frequently upgraded packages, these packages are available for multiple prefixes and remain unchanged for a given prefix.  Additional packages may be added and existing packages may be patched to fix bugs or security issues, but the software versions will not be changed.  This allows researchers to keep older software in-place indefinitely for long-term studies while deploying newer software in later snapshots.<br>
Contributing to Pkgsrc<br>
Building Your Own Binary Packages</p>
</blockquote>

<ul>
<li>Check out the full article and consider using pkgsrc for your own research purposes. </li>
<li><a href="http://www.pkgsrc.org/pkgsrcCon/2017/" target="_blank" rel="nofollow noopener">PKGSrc Con is this weekend!</a>
***</li>
</ul>

<h3><a href="https://deftly.net/posts/2017-06-01-measuring-the-weight-of-an-electron.html" target="_blank" rel="nofollow noopener">Measuring the weight of an electron</a></h3>

<ul>
<li>An interesting story of the struggles of one person, aided only by their pet Canary, porting Electron to OpenBSD.</li>
</ul>

<blockquote>
<p>This is a long rant. A rant intended to document lunacy, hopefully aid others in the future and make myself feel better about something I think is crazy. It may seem like I am making an enemy of electron, but keep in mind that isnt my intention! The enemy here, is complexity! My friend Henry, a canary, is coming along for the ride!</p>
</blockquote>

<ul>
<li>Getting the tools</li>
</ul>

<blockquote>
<p>At first glance Electron seems like a pretty solid app, it has decent docs, its consolidated in a single repository, has a lot of visibility, porting it shouldnt be a big deal, right?</p>
</blockquote>

<ul>
<li>After cloning the repo, trouble starts:</li>
</ul>

<blockquote>
<p>Reading through the doc, right off the bat there are a few interesting things: At least 25GB disk space. Huh, OK, some how this ~47M repository is going to blow up to 25G?<br>
Continuing along with the build, I know I have two versions of clang installed on OpenBSD, one from ports and one in base. Hopefully I will be able to tell the build to use one of these versions.</p>
</blockquote>

<ul>
<li><p>Next, its time to tell the bootstrap that OpenBSD exists as a platform. After that is fixed, the build-script runs.</p></li>
<li><p>Even though cloning another git repo fails, the build happily continues.</p></li>
</ul>

<blockquote>
<p>Wait. Another repository failed to clone? At least this time the build failed after trying to clone boto.. again. I am guessing it tried twice because something might have changed between now and the last clone? Off in the distance we catch a familiar tune, it almost sounds like Gnarls Barkleys song Crazy, cant tell for sure.<br>
As it turns out, if you are using git-fsck, you are unable to clone boto and requests. Obviously the proper fix for his is to not care about the validity of the git objects! So we die a little inside and comment out fsckobjects in our ~/.gitconfig.</p>
</blockquote>

<ul>
<li>Next up, chromium-58 is downloaded</li>
</ul>

<blockquote>
<p>Out of curiosity we look at vendor/libchromiumcontent/script/update, it seems its purpose is to download / extract chromium clang and node, good thing we already specified --clang_dir or it might try to build clang again!<br>
544 dots and 45 minutes later, we have an error! The chromium-58.0.3029.110.tar.xz file is mysteriously not there anymore.. Interesting. Wut. Updating Clang. Didnt I explicitly say not to build clang? At this point we have to shift projects, no longer are we working on Electron.. Its libchromiumcontent that needs our attention.</p>
</blockquote>

<ul>
<li>Fixing sub-tools</li>
</ul>

<blockquote>
<p>Ahh, our old friends the dots! This is the second time waiting 45+ minutes for a 500+ MB file to download. We are fairly confident it will fail, delete the file out from under itself and hinder the process even further, so we add an explicit exit to the update script. This way we can copy the file somewhere safe!</p>
</blockquote>

<ul>
<li>Another 45 minute chrome build and saving the downloaded executable to a save space seems in order. Fixing another 50 occurrences of error conditions lets the build continue - to another clang build.</li>
</ul>

<blockquote>
<p>We remove the call to update_clang, because.. well.. we have two copies of it already and the Electron doc said everything would be fine if we had &gt;= clang 3.4!</p>
</blockquote>

<ul>
<li><p>More re-builds and updates of clang and chromium are being commented out, just to get somewhere close to the actual electron build.</p></li>
<li><p>Fixing sub-sub-tools</p></li>
<li><p>Ninja needs to be build and the script for that needs to be told to ignore this unsupported OS to continue.</p></li>
</ul>

<blockquote>
<p>No luck. At this point we are faced with a complex web of python scripts that execute gn on GN files to produce ninja files which then build the various components and somewhere in that cluster, something doesnt know about OpenBSD<br>
I look at Henry, he is looking a photo of his wife and kids. They are sitting on a telephone wire, the morning sun illuminating their beautiful faces. Henry looks back at me and says Its    not worth it. We slam the laptop shut and go outside.</p>
</blockquote>

<hr>

<h2>Interview - Dan McDonald - <a href="mailto:allcoms@gmail.com" target="_blank" rel="nofollow noopener">allcoms@gmail.com</a> (danboid)</h2>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://mail-index.netbsd.org/netbsd-users/2017/06/08/msg019625.html" target="_blank" rel="nofollow noopener">g4u 2.6 (ghosting for unix) released 18th birthday</a></h3>

<ul>
<li>Hubert Feyrer writes in his mail to netbsd-users:</li>
</ul>

<blockquote>
<p>After a five-year period for beta-testing and updating, I have finally released g4u 2.6. With its origins in 1999, I'd like to say: Happy 18th Birthday, g4u!</p>
</blockquote>

<ul>
<li>About g4u:</li>
</ul>

<blockquote>
<p>g4u ("ghosting for unix") is a NetBSD-based bootfloppy/CD-ROM that allows easy cloning of PC harddisks to deploy a common setup on a number of PCs using FTP. The floppy/CD offers two functions. The first is to upload the compressed image of a local harddisk to a FTP server, the other is to restore that image via FTP, uncompress it and write it back to disk. Network configuration is fetched via DHCP. As the harddisk is processed as an image, any filesystem and operating system can be deployed using g4u. Easy cloning of local disks as well as partitions is also supported.</p>
</blockquote>

<ul>
<li>The past:</li>
</ul>

<blockquote>
<p>When I started g4u, I had the task to install a number of lab machines with a dual-boot of Windows NT and NetBSD. The hype was about Microsoft's "Zero Administration Kit" (ZAK) then, but that did barely work for the Windows part - file transfers were slow, depended on the clients' hardware a lot (requiring fiddling with MS DOS network driver disks), and on the ZAK server the files for installing happened do disappear for no good reason every now and then. Not working well, and leaving out NetBSD (and everything else), I created g4u. This gave me the (relative) pain of getting things working once, but with the option to easily add network drivers as they appeared in NetBSD (and oh they did!), plus allowed me to install any operating system.</p>
</blockquote>

<ul>
<li>The present:</li>
</ul>

<blockquote>
<p>We've used g4u successfully in our labs then, booting from CDROM. I also got many donations from public and private institutions plus companies from many sectors, indicating that g4u does make a difference.</p>

<p>In the meantime, the world has changed, and CDROMs aren't used that much any more. Network boot and USB sticks are today's devices of choice, cloning of a full disk without knowing its structure has both advantages but also disadvantages, and g4u's user interface is still command-line based with not much space for automation. For storage, FTP servers are nice and fast, but alternatives like SSH/SFTP, NFS, iSCSI and SMB for remote storage plus local storage (back to fun with filesystems, anyone? avoiding this was why g4u was created in the first place!) should be considered these days. Further aspects include integrity (checksums), confidentiality (encryption). This leaves a number of open points to address either by future releases, or by other products.</p>
</blockquote>

<ul>
<li>The future:</li>
</ul>

<blockquote>
<p>At this point, my time budget for g4u is very limited. I welcome people to contribute to g4u - g4u is Open Source for a reason. Feel free to get back to me for any changes that you want to contribute!</p>
</blockquote>

<ul>
<li>The changes:</li>
</ul>

<blockquote>
<p>Major changes in g4u 2.6 include:</p>
</blockquote>

<ul>
<li>Make this build with NetBSD-current sources as of 2017-04-17 (shortly before netbsd-8 release branch), binaries were cross-compiled from Mac OS X 10.10</li>
<li>Many new drivers, bugfixes and improvements from NetBSD-current (see beta1 and beta2 announcements)</li>
<li>Go back to keeping the disk image inside the kernel as ramdisk, do not load it as separate module. Less error prone, and allows to boot the g4u (NetBSD) kernel from a single file e.g. via PXE (Testing and documentation updates welcome!)</li>
<li>Actually DO provide the g4u (NetBSD) kernel with the embedded g4u disk image from now on, as separate file, g4u-kernel.gz</li>
<li><p>In addition to MD5, add SHA512 checksums</p>

<ul>
<li>Congratulation, g4u. Check out the <a href="http://fehu.org/%7Efeyrer/g4u/" target="_blank" rel="nofollow noopener">g4u website</a> and support the project if you are using it.
***</li>
</ul></li>
</ul>

<h3><a href="https://wycd.net/posts/2017-05-19-fixing-freebsd-networking-on-digital-ocean.html" target="_blank" rel="nofollow noopener">Fixing FreeBSD Networking on Digital Ocean</a></h3>

<ul>
<li>Most cloud/VPS providers use some form of semi-automated address assignment, rather than just regular static address configuration, so that newly created virtual machines can configure themselves.</li>
<li>Sometimes, especially during the upgrade process, this can break. This is the story of one such user:</li>
</ul>

<blockquote>
<p>I decided it was time to update my FreeBSD Digital Ocean droplet from the end-of-life version 10.1 (shame on me) to the modern version 10.3 (good until April 2018), and maybe even version 11 (good until 2021). There were no sensitive files on the VM, so I had put it off.<br>
Additionally, cloud providers tend to have shoddy support for BSDs, so breakages after messing with the kernel or init system are rampant, and I had been skirting that risk.<br>
The last straw for me was a broken pkg: /usr/local/lib/libpkg.so.3: Undefined symbol "openat"</p>
</blockquote>

<ul>
<li>So the user fires up freebsd-update and upgrades to FreeBSD 10.3</li>
</ul>

<blockquote>
<p>I rebooted, and of course, it happened: no ssh access after 30 seconds, 1 minute, 2 minutesI logged into my Digital Ocean account and saw green status lights for the instance, but something was definitely wrong.<br>
Fortunately, Digital Ocean provides console access (albeit slow, buggy, and crashes my browser every time I run ping). ifconfig revealed that the interfaces vtnet0 (public) and vtnet1 (private) havent been configured with IP addresses.<br>
Combing through files in /etc/rc.*, I found a file called /etc/rc.digitalocean.d/${DROPLET_ID}.conf containing static network settings for this droplet (${DROPLET_ID} was something like 1234567).<br>
It seemed that FreeBSD wasnt picking up the Digital Ocean network settings config file. The quick and dirty way would have been to messily append the contents of this file to /etc/rc.conf, but I wanted a nicer way. Reading the script in /etc/rc.d/digitalocean told me that /etc/rc.digitalocean.d/${DROPLET_ID}.conf was supposed to have a symlink at /etc/rc.digitalocean.d/droplet.conf. It was broken and pointed to /etc/rc.digitalocean.d/.conf, which could happen when the curl command in /etc/rc.d/digitalocean fails</p>
</blockquote>

<ul>
<li>Maybe the curl binary was also in need for an upgrade so failed to fetch the droplet ID</li>
</ul>

<blockquote>
<p>Using grep to fish for files containing droplet.conf, I discovered that it was hacked into the init system via load_rc_config() in /etc/rc.subr</p>
</blockquote>

<ul>
<li><p>I would prefer if Digital Ocean had not customized the version of FreeBSD they ship quite so much</p></li>
<li><p>I could fix that symlink and restart the services:</p></li>
</ul>

<blockquote>
set DROPLET_ID=$(curl -s <a href="http://169.254.169.254/metadata/v1/id" target="_blank" rel="nofollow noopener">http://169.254.169.254/metadata/v1/id</a>)

ln -s -f /etc/rc.digitalocean.d/${DROPLET_ID}.conf /etc/rc.digitalocean.d/droplet.conf

/etc/rc.d/netif restart

/etc/rc.d/routing restart

<p>Networking was working again, and I could then ssh into my server and run the following to finish the upgrade:</p>

freebsd-update install

<p>At this point, I decided that I didnt want to deal with this mess again until at least 2021, so I decided to go for 11.0-RELEASE</p>

freebsd-update -r 11.0-RELEASE update

freebsd-update install

reboot

freebsd-update install

pkg-static install -f pkg

pkg update

pkg upgrade

uname -a

<p>FreeBSD hostname 11.0-RELEASE-p9 FreeBSD 11.0-RELEASE-p9</p>

pkg -v

<p>1.10.1<br>
The problem was solved correctly, and my /etc/rc.conf remains free of generated cruft.<br>
The Digital Ocean team can make our lives easier by having their init scripts do more thorough system checking, e.g., catching broken symlinks and bad network addresses. Im hopeful that collaboration of the FreeBSD team and cloud providers will one day result in automatic fixing of these situations, or at least a correct status indicator.</p>
</blockquote>

<ul>
<li>The Digital Ocean team didnt really know many FreeBSD people when they made the first 10.1 images, they have improved a lot, but they of course could always use more feedback from <em>BSD users
*</em>*</li>
</ul>

<h3><a href="https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt" target="_blank" rel="nofollow noopener">Stack Clash</a></h3>

<blockquote>
<p>A 12-year-old question: "If the heap grows up, and the stack grows down, what happens when they clash? Is it exploitable? How?<br>
<a href="http://cansecwest.com/core05/memory_vulns_delalleau.pdf" target="_blank" rel="nofollow noopener">In 2005, Gael Delalleau presented "Large memory management vulnerabilities" and the first stack-clash exploit in user-space (against mod_php 4.3.0 on Apache 2.0.53)</a><br>
<a href="http://www.invisiblethingslab.com/resources/misc-2010/xorg-large-memory-attacks.pdf" target="_blank" rel="nofollow noopener">In 2010, Rafal Wojtczuk published "Exploiting large memory management vulnerabilities in Xorg server running on Linux", the second stack-clash exploit in user-space (CVE-2010-2240)</a><br>
Since 2010, security researchers have exploited several stack-clashes in the kernel-space, In user-space, however, this problem has been greatly underestimated; the only public exploits are Gael Delalleau's and Rafal Wojtczuk's, and <a href="https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2010-2240" target="_blank" rel="nofollow noopener">they were written before Linux introduced a protection against stack-clashes (a "guard-page" mapped below the stack)</a><br>
In this advisory, we show that stack-clashes are widespread in user-space, and exploitable despite the stack guard-page; we discovered multiple vulnerabilities in guard-page implementations, and devised general methods for:<br>
"Clashing" the stack with another memory region: we allocate memory until the stack reaches another memory region, or until another memory region reaches the stack;<br>
"Jumping" over the stack guard-page: we move the stack-pointer from the stack and into the other memory region, without accessing the stack guard-page;<br>
"Smashing" the stack, or the other memory region: we overwrite the stack with the other memory region, or the other memory region with the stack.</p>
</blockquote>

<ul>
<li>So this advisory itself, is not a security vulnerability. It is novel research showing ways to work around the mitigations against generic vulnerability types that are implemented on various operating systems.</li>
<li>While this issue with the mitigation feature has been fixed, even without the fix, successful exploitation requires another application with its own vulnerability in order to be exploited. Those vulnerabilities outside of the OS need to be fixed on their own.</li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-security/2017-June/009335.html" target="_blank" rel="nofollow noopener">FreeBSD-Security post</a></li>
</ul>

<blockquote>
<p>The issue under discussion is a limitation in a vulnerability mitigation technique. Changes to improve the way FreeBSD manages stack growth, and mitigate the issue demonstrated by Qualys' proof-of-concept code, are in progress by FreeBSD developers knowledgeable in the VM subsystem.</p>
</blockquote>

<ul>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=320317" target="_blank" rel="nofollow noopener">FreeBSD address space guards</a></li>
<li><a href="https://github.com/lattera/exploits/blob/master/FreeBSD/StackClash/001-stackclash.c" target="_blank" rel="nofollow noopener">HardenedBSD Proof of Concept for FreeBSD</a></li>
<li>HardenedBSD implementation: <a href="https://github.com/HardenedBSD/hardenedBSD/compare/de8124d3bf83d774b66f62d11aee0162d0cd1031...91104ed152d57cde0292b2dc09489fd1f69ea77c" target="_blank" rel="nofollow noopener">https://github.com/HardenedBSD/hardenedBSD/compare/de8124d3bf83d774b66f62d11aee0162d0cd1031...91104ed152d57cde0292b2dc09489fd1f69ea77c</a> &amp; <a href="https://github.com/HardenedBSD/hardenedBSD/commit/00ad1fb6b53f63d6e9ba539b8f251b5cf4d40261" target="_blank" rel="nofollow noopener">https://github.com/HardenedBSD/hardenedBSD/commit/00ad1fb6b53f63d6e9ba539b8f251b5cf4d40261</a></li>
<li><a href="https://www.qualys.com/2017/06/19/stack-clash/freebsd_cve-2017-fgpu.c" target="_blank" rel="nofollow noopener">Qualys PoC: freebsd_cve-2017-fgpu.c</a></li>
<li><a href="https://www.qualys.com/2017/06/19/stack-clash/freebsd_cve-2017-fgpe.c" target="_blank" rel="nofollow noopener">Qualys PoC: freebsd_cve-2017-fgpe.c</a></li>
<li><a href="https://www.qualys.com/2017/06/19/stack-clash/freebsd_cve-2017-1085.c" target="_blank" rel="nofollow noopener">Qualys PoC: freebsd_cve-2017-1085.c</a></li>
<li><a href="https://www.qualys.com/2017/06/19/stack-clash/openbsd_at.c" target="_blank" rel="nofollow noopener">Qualys PoC: OpenBSD</a></li>
<li><a href="https://www.qualys.com/2017/06/19/stack-clash/netbsd_cve-2017-1000375.c" target="_blank" rel="nofollow noopener">Qualys PoC: NetBSD</a>
***</li>
</ul>

<h3><a href="http://jrs-s.net/2015/02/03/will-zfs-and-non-ecc-ram-kill-your-data/" target="_blank" rel="nofollow noopener">Will ZFS and non-ECC RAM kill your data? </a></h3>

<ul>
<li>TL;DR: ECC is good, but even without, having ZFS is better than not having ZFS.</li>
</ul>

<blockquote>
<p>Whats ECC RAM? Is it a good idea?<br>
Whats ZFS? Is it a good idea?<br>
Is ZFS and non-ECC worse than not-ZFS and non-ECC?<br>
What about the Scrub of Death?</p>
</blockquote>

<ul>
<li>The article walks through ZFS folk lore, and talks about what can really go wrong, and what is just the over-active imagination of people on the FreeNAS forums</li>
</ul>

<blockquote>
<p>But would using any other filesystem that isnt ZFS have protected that data? Cause remember, nobodys arguing that you can lose data to evil RAM  the argument is about whether evil RAM is more dangerous with ZFS than it would be without it.<br>
I really, really want to use the Scrub Of Death in a movie or TV show. How can I make it happen?<br>
I dont care about your logic! I wish to appeal to authority!<br>
OK. Authority in this case doesnt get much better than Matthew Ahrens, one of the cofounders of ZFS at Sun Microsystems and current ZFS developer at Delphix. In the comments to one of my filesystem articles on Ars Technica, Matthew said Theres nothing special about ZFS that requires/encourages the use of ECC RAM more so than any other filesystem.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.freebsdfoundation.org/blog/eurobsdcon-2017-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">EuroBSDcon 2017 Travel Grant Application Now Open</a></li>
<li><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-June/087303.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-BETA3 is out, please give it a test</a></li>
<li><a href="http://dpaste.com/1FE80FJ" target="_blank" rel="nofollow noopener">Allan and Lacey let us know the video to the Postgresql/ZFS talk is online</a></li>
<li><a href="https://marc.info/?l=openbsd-tech&amp;m=149792179514439&amp;w=2" target="_blank" rel="nofollow noopener">Trapsleds</a></li>
<li><a href="https://bsd.nrw/" target="_blank" rel="nofollow noopener">BSD User group in North Rhine-Westphalia, Germany</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2Z5BJCR#wrap" target="_blank" rel="nofollow noopener">Joe - Home Server Suggestions</a></li>
<li><a href="http://dpaste.com/1VRQYAM#wrap" target="_blank" rel="nofollow noopener">Stephen - general BSD</a></li>
<li><a href="http://dpaste.com/2TWADQ8#wrap" target="_blank" rel="nofollow noopener">Eduardo - ZFS Encryption</a></li>
<li><a href="http://dpaste.com/0SC0GAC#wrap" target="_blank" rel="nofollow noopener">Joseph - BGP Kernel Error</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>199: Read the source, KARL</title>
  <link>https://www.bsdnow.tv/199</link>
  <guid isPermaLink="false">09be4191-2b92-4ab8-b530-f934ac4697f3</guid>
  <pubDate>Wed, 21 Jun 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/09be4191-2b92-4ab8-b530-f934ac4697f3.mp3" length="59176660" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>FreeBSD 11.1-Beta1 is out, we discuss Kernel address randomized link (KARL), and explore the benefits of daily OpenBSD source code reading</itunes:subtitle>
  <itunes:duration>1:22:11</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>&lt;p&gt;FreeBSD 11.1-Beta1 is out, we discuss Kernel address randomized link (KARL), and explore the benefits of daily OpenBSD source code reading&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-June/087242.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.1-Beta1 now available&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Glen Barber, of the FreeBSD release engineering team has announced that FreeBSD 11.1-Beta1 is now available for the following architectures:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;11.1-BETA1 amd64 GENERIC&lt;br&gt;
11.1-BETA1 i386 GENERIC&lt;br&gt;
11.1-BETA1 powerpc GENERIC&lt;br&gt;
11.1-BETA1 powerpc64 GENERIC64&lt;br&gt;
11.1-BETA1 sparc64 GENERIC&lt;br&gt;
11.1-BETA1 armv6 BANANAPI&lt;br&gt;
11.1-BETA1 armv6 BEAGLEBONE&lt;br&gt;
11.1-BETA1 armv6 CUBIEBOARD&lt;br&gt;
11.1-BETA1 armv6 CUBIEBOARD2&lt;br&gt;
11.1-BETA1 armv6 CUBOX-HUMMINGBOARD&lt;br&gt;
11.1-BETA1 armv6 GUMSTIX&lt;br&gt;
11.1-BETA1 armv6 RPI-B&lt;br&gt;
11.1-BETA1 armv6 RPI2&lt;br&gt;
11.1-BETA1 armv6 PANDABOARD&lt;br&gt;
11.1-BETA1 armv6 WANDBOARD&lt;br&gt;
11.1-BETA1 aarch64 GENERIC&lt;br&gt;
Note regarding arm/armv6 images: For convenience for those without console access to the system, a freebsd user with a password of freebsd is available by default for ssh(1) access.  Additionally, the root user password is set to root.  It is strongly recommended to change the password for both users after gaining access to the system.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;a href="https://www.freebsd.org/releases/11.1R/schedule.html" target="_blank" rel="nofollow noopener"&gt;full schedule&lt;/a&gt; for 11.1-RELEASE is here, the final release is expected at the end of July&lt;/li&gt;
&lt;li&gt;It was also announced there will be a 10.4-RELEASE &lt;a href="https://www.freebsd.org/releases/10.4R/schedule.html" target="_blank" rel="nofollow noopener"&gt;scheduled for October&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=149732026405941&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;KARL – kernel address randomized link&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Over the last three weeks I've been working on a new randomization feature which will protect the kernel.&lt;br&gt;
The situation today is that many people install a kernel binary from OpenBSD, and then run that same kernel binary for 6 months or more. We have substantial randomization for the memory allocations made by the kernel, and for userland also of course.&lt;br&gt;
Previously, the kernel assembly language bootstrap/runtime locore.S was compiled and linked with all the other .c files of the kernel in a deterministic fashion. locore.o was always first, then the .c files order specified by our config(8) utility and some helper files.&lt;br&gt;
In the new world order, locore is split into two files: One chunk is bootstrap, that is left at the beginning. The assembly language runtime and all other files are linked in random fashion. There are some other pieces to try to improve the randomness of the layout.&lt;br&gt;
As a result, every new kernel is unique. The relative offsets between functions and data are unique.&lt;br&gt;
It still loads at the same location in KVA. This is not kernel ASLR! ASLR is a concept where the base address of a module is biased to a random location, for position-independent execution. In this case, the module itself is perturbed but it lands at the same location, and&lt;br&gt;
does not need to use position-independent execution modes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/lldb_sanitizing_the_debugger_s" target="_blank" rel="nofollow noopener"&gt;LLDB: Sanitizing the debugger's runtime&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The good&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Besides the greater enhancements this month I performed a cleanup in the ATF ptrace(2) tests again. Additionally I have managed to unbreak the LLDB Debug build and to eliminate compiler warnings in the NetBSD Native Process Plugin. It is worth noting that LLVM can run tests on NetBSD again, the patch in gtest/LLVM has been installed by Joerg Sonnenberg and a more generic one has been submitted to the upstream googletest repository. There was also an improvement in ftruncate(2) on the LLVM side (authored by Joerg).&lt;br&gt;
Since LLD (the LLVM linker) is advancing rapidly, it improved support for NetBSD and it can link a functional executable on NetBSD. I submitted a patch to stop crashing it on startup anymore. It was nearly used for linking LLDB/NetBSD and it spotted a real linking error... however there are further issues that need to be addressed in the future. Currently LLD is not part of the mainline LLDB tasks - it's part of improving the work environment. This linker should reduce the linking time - compared to GNU linkers - of LLDB by a factor of 3x-10x and save precious developer time. As of now LLDB linking can take minutes on a modern amd64 machine designed for performance.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Kernel correctness&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I have researched (in pkgsrc-wip) initial support for multiple threads in the NetBSD Native Process Plugin. This code revealed - when running the LLDB regression test-suite - new kernel bugs. This unfortunately affects the usability of a debugger in a multithread environment in general and explains why GDB was never doing its job properly in such circumstances. One of the first errors was asserting kernel panic with PT_*STEP, when a debuggee has more than a single thread. I have narrowed it down to lock primitives misuse in the do_ptrace() kernel code. The fix has been committed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The bad&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Unfortunately this is not the full story and there is further mandatory work.&lt;br&gt;
LLDB acceleration&lt;br&gt;
The EV_SET() bug broke upstream LLDB over a month ago, and during this period the debugger was significantly accelerated and parallelized. It is difficult to declare it definitely, but it might be the reason why the tracer's runtime broke due to threading desynchronization. LLDB behaves differently when run standalone, under ktruss(1) and under gdb(1) - the shared bug is that it always fails in one way or another, which isn't trivial to debug.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The ugly&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;There are also unpleasant issues at the core of the Operating System.&lt;br&gt;
Kernel troubles&lt;br&gt;
Another bug with single-step functions that affects another aspect of correctness - this time with reliable execution of a program - is that processes die in non-deterministic ways when single-stepped. My current impression is that there is no appropriate translation between process and thread (LWP) states under a debugger. These issues are sibling problems to unreliable PT_RESUME and PT_SUSPEND.&lt;br&gt;
In order to be able to appropriately address this, I have diligently studied this month the Solaris Internals book to get a better image of the design of the NetBSD kernel multiprocessing, which was modeled after this commercial UNIX.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Plan for the next milestone&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The current troubles can be summarized as data races in the kernel and at the same time in LLDB. I have decided to port the LLVM sanitizers, as I require the Thread Sanitizer (tsan). Temporarily I have removed the code for tracing processes with multiple threads to hide the known kernel bugs and focus on the LLDB races.&lt;br&gt;
Unfortunately LLDB is not easily bisectable (build time of the LLVM+Clang+LLDB stack, number of revisions), therefore the debugging has to be performed on the most recent code from upstream trunk.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;d2K17 Hackathon Reports&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170605225415" target="_blank" rel="nofollow noopener"&gt;d2k17 Hackathon Report: Ken Westerback on XS_NO_CCB removal and dhclient link detection&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170608074033" target="_blank" rel="nofollow noopener"&gt;d2k17 Hackathon Report: Antoine Jacoutot on rc.d, syspatch, and more&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170609013548" target="_blank" rel="nofollow noopener"&gt;d2k17 Hackathon Report: Florian Obser on slaacd(8)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170602014048" target="_blank" rel="nofollow noopener"&gt;d2k17 Hackathon Report: Stefan Sperling on USB audio, WiFi Progress&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://bsdrp.net/documentation/examples/multi-tenant_router_and_firewall" target="_blank" rel="nofollow noopener"&gt;Multi-tenant router or firewall with FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Setting-up a virtual lab&lt;/li&gt;
&lt;li&gt;Downloading BSD Router Project images&lt;/li&gt;
&lt;li&gt;Download BSDRP serial image (prevent to have to use an X display) on Sourceforge.&lt;/li&gt;
&lt;li&gt;Download Lab scripts&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;More information on these BSDRP lab scripts available on &lt;a href="https://bsdrp.net/documentation/examples/how_to_build_a_bsdrp_router_lab" target="_blank" rel="nofollow noopener"&gt;How to build a BSDRP router lab&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Start the lab with full-meshed 5 routers and one shared LAN, on this example using bhyve lab script on FreeBSD:&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;code&gt;[root@FreeBSD]~# tools/BSDRP-lab-bhyve.sh -i BSDRP-1.71-full-amd64-serial.img.xz -n 5 -l 1&lt;/code&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Configuration&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Router 4 (R4) hosts the 3 routers/firewalls for each 3 customers.&lt;/li&gt;
&lt;li&gt;Router 1 (R1) belongs to customer 1, router 2 (R2) to customer 2 and router 3 (R3) to customer 3.&lt;/li&gt;
&lt;li&gt;Router 5 (R5) simulates a simple Internet host&lt;/li&gt;
&lt;li&gt;Using pf firewall in place of ipfw&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;pf need a little more configuration because by default /dev/pf is hidden from jail. Then, on the host we need to:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In place of loading the ipfw/ipfw-nat modules we need to load the pf module (but still disabling pf on our host for this example)&lt;/li&gt;
&lt;li&gt;Modify default devd rules for allowing jails to see /dev/pf (if you want to use tcpdump inside your jail, you should use bpf device too)&lt;/li&gt;
&lt;li&gt;Replacing nojail tag by nojailvnet tag into /etc/rc.d/pf (&lt;a href="https://github.com/ocochard/BSDRP/blob/master/BSDRP/patches/freebsd.pf.rc.jail.patch" target="_blank" rel="nofollow noopener"&gt;already done into BSDRP&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Under the hood: jails-on-nanobsd&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ocochard/BSDRP/blob/master/BSDRP/Files/usr/local/sbin/tenant" target="_blank" rel="nofollow noopener"&gt;BSDRP's tenant shell script&lt;/a&gt; creates jail configuration compliant with a host running nanobsd. Then these jails need to be configured for a nanobsd:&lt;/li&gt;
&lt;li&gt;Being nullfs based for being hosted on a read-only root filesystem&lt;/li&gt;
&lt;li&gt;Have their /etc and /var into tmpfs disks (then we need to populate these directory before each start)&lt;/li&gt;
&lt;li&gt;Configuration changes need to be saved with nanobsd configuration tools, like “config save” on BSDRP&lt;/li&gt;
&lt;li&gt;And on the host:&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ocochard/BSDRP/blob/master/BSDRP/Files/usr/local/sbin/autosave" target="_blank" rel="nofollow noopener"&gt;autosave daemon&lt;/a&gt; need to be enabled: Each time a customer will issue a “config save” inside a jail, his configuration diffs will be save into host's /etc/jails/. And this directory is a RAM disk too, then we need to automatically save hosts configuration on changes.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://blog.tintagel.pl/2017/06/09/openbsd-daily.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD Daily Source Reading&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Adam Wołk writes:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I made a new year's resolution to read at least one C source file from OpenBSD daily. The goal was to both get better at C and to contribute more to the base system and userland development. I have to admit that initially I wasn’t consistent with it at all. In the first quarter of the year I read the code of a few small base utilities and nothing else. Still, every bit counts and it’s never too late to get better.&lt;br&gt;
Around the end of May, I really started reading code daily - no days skipped. It usually takes anywhere between ten minutes (for small base utils) and one and a half hour (for targeted reads). I’m pretty happy with the results so far. Exploring the system on a daily basis, looking up things in the code that I don’t understand and digging as deep as possible made me learn a lot more both about C and the system than I initially expected.&lt;br&gt;
There’s also one more side effect of reading code daily - diffs. It’s easy to spot inconsistencies, outdated code or an incorrect man page. This results in opportunities for contributing to the project. With time it also becomes less opportunitstic and more goal oriented. You might start with a [&lt;a href="https://marc.info/?l=openbsd-tech&amp;amp;m=149591302814638&amp;amp;w=2%5D(drive" target="_blank" rel="nofollow noopener"&gt;https://marc.info/?l=openbsd-tech&amp;amp;m=149591302814638&amp;amp;w=2](drive&lt;/a&gt; by diff to kill) optional compilation of an old compatibility option in chown that has been compiled in by default since 1995.&lt;br&gt;
Soon the contributions become more targeted, for example using a new API for encrypting passwords in the htpasswd utility after reading the code of the utility and the code for htpasswd handling in httpd. Similarly it can take you from discussing a doas feature idea with a friend to implementing it after reading the code.&lt;br&gt;
I was having a lot of fun reading code daily and started to recommend it to people in general discussions. There was one particular twitter thread that ended up starting something new.&lt;br&gt;
This is still a new thing and the format is not yet solidified. Generally I make a lot of notes reading code, instead of slapping them inside a local file I drop the notes on the IRC channel as I go. Everyone on the channel is encouraged to do the same or share his notes in any way he/she seems feasable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Check out the logs from the IRC discussions.&lt;/li&gt;
&lt;li&gt;Start reading code from other BSD projects and see whether you can replicate their results!
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://bsdmag.org/become-freebsd-user-find-useful-tools/" target="_blank" rel="nofollow noopener"&gt;Become FreeBSD User: Find Useful Tools&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;BSD Mag has the following article by David Carlier:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;If you’re usually programming on Linux and you consider a potential switch to FreeBSD, this article will give you an overview of the possibilities.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;How to Install the Dependencies&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD comes with either applications from binary packages or compiled from sources (ports). They are arranged according to software types (programming languages mainly in lang (or java specifically for Java), libraries in devel, web servers in www …) and the main tool for modern FreeBSD versions is pkg, similar to Debian apt tools suite. Hence, most of the time if you are looking for a specific application/library, simply&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pkg search &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;without necessarily knowing the fully qualified name of the package. It is somehow sufficient. For example pkg search php7 will display php7 itself and the modules. Furthermore, php70 specific version and so on.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Web Development&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Basically, this is the easiest area to migrate to. Most  Web languages do not use  specific platform features. Thus, most of the time, your existing projects might just be “drop-in” use cases.&lt;br&gt;
If your language of choice is PHP, you are lucky as this scripting language is workable on various operating systems, on most  Unixes and Windows. In the case of FreeBSD, you have even many different ports or binary package versions (5.6 to 7.1). In this case, you may need some specific PHP modules enabled, luckily they are available atomically, or if the port is the way you chose, it is via the www/php70-extensions’s one.&lt;br&gt;
Of course developing with Apache (both 2.2 and 2.4 series are available, respectively www/apache22 and www/apache24 packages), or even better with Nginx (the last stable or the latest development versions could be used, respectively www/nginx and www/nginx-devel packages) via php-fpm is possible.&lt;br&gt;
In terms of databases, we have the regular RDMBS like MySQL and PostgreSQL (client and server are distinct packages … databases/(mysql/portgresql)-client, and databases/(mysql/postgresql)-server). Additionally, a more modern concept of NoSQL with CouchDB, for example (databases/couchdb), MongoDB (databases/mongodb), and Cassandra (databases/cassandra), to name but a few.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Low-level Development&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The BSDs are shipped with C and C++ compilers in the base. In the case of FreeBSD 11.0, it is clang 3.8.0 (in x86 architectures) otherwise, modern versions of gcc exist for developing with C++11. Examples are of course available too (lang/gcc … until gcc 7.0 devel).&lt;br&gt;
Numerous libraries for various topics are also present, web services SOAP with gsoap through User Interfaces with GTK (x11-toolkits/gtk), QT4 or QT 5 (devel/qt), malware libraries with Yara (security/yara), etc.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Android / Mobile Development&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;To be able to do Android development, to a certain degree, the Linux’s compatibility layer (aka linuxulator) needs to be enabled. Also, x11-toolkits/swt and linux-f10-gtk2 port/package need to be installed (note that libswt-gtk-3550.so and libswt-pi-gtk-3550.so are necessary. The current package is versioned as 3557 and can be solved using symlinks). In the worst case scenario, remember that bhyve (or Virtualbox) is available, and can run any Linux distribution efficiently.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Source Control Management&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD comes in base with a version of subversion. As FreeBSD source is in a subversion repository, a prefixed svnlite command prevents conflicts with the package/port.&lt;br&gt;
Additionally, Git is present but via the package/port system with various options (with or without a user interface, subversion support).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD has made tremendous improvements over the years to fill the gap created by Linux. FreeBSD still maintains its interesting specificities; hence there will not be too much blockers if your projects are reasonably sized to allow a migration to FreeBSD.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://martin.kopta.eu/blog/#2017-06-11-16-07-26" target="_blank" rel="nofollow noopener"&gt;Notes from project Aeronix, part 10&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Prologue&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It is almost two years since I finished building Aeronix and it has served me well during that time. Only thing that ever broke was Noctua CPU fan, which I have replaced with the same model. However, for long time, I wanted to run Aeronix on OpenBSD instead of GNU/Linux Debian.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Preparation&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I first experimented with RAID1 OpenBSD setup in VirtualBox, plugging and unplugging drives and learned that OpenBSD RAID1 is really smooth. When I finally got the courage, I copied all the data on two drives outside of Aeronix. One external HDD I regulary use to backup Aeronix and second internal drive in my desktop computer. Copying the data took about two afternoons. Aeronix usually has higher temperatures (somewhere around 55°C or 65°C depending on time of the year), and when stressed, it can go really high (around 75°C). During full speed copy over NFS and to external drive it went as high as 85°C, which made me a bit nervous. After the data were copied, I temporarily un-configured computers on local network to not touch Aeronix, plugged keyboard, display and OpenBSD 6.1 thumb drive. Installing OpenBSD 6.1 on full disk RAID1 was super easy.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Configuring NFS&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Aeronix serves primarily as NAS, which means NFS and SMB. NFS is used by computers in local network with persistent connection (via Ethernet). SMB is used by other devices in local network with volatile connection (via WiFi). When configuring NFS, I expected similar configuration to what I had in Debian, but on OpenBSD, it is very different. However, after reading through exports(5), it was really easy to put it together.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Putting the data back&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Copying from the external drive took few days, since the transfer speed was something around 5MB/s. I didn't really mind. It was sort of a good thing, because Aeronix wasn't overheating that way. I guess I need to figure new backup strategy though.&lt;br&gt;
One interesting thing happened with one of my local desktops. It was connecting Aeronix with default NFS mount options (on Archlinux) and had really big troubles with reading anything. Basically it behaved as if the network drive had horrible access times. After changing the default mount options, it started working perfectly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Conclusion&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Migrating to OpenBSD was way easier than I anticipated. There are various benefits like more security, realiable RAID1 setup (which I know how will work when drive dies), better documentation and much more. However, the true benefit for me is just the fact I like OpenBSD and makes me happy to have one more OpenBSD machine. On to the next two years of service!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170609121413&amp;amp;mode=expanded&amp;amp;count=0" target="_blank" rel="nofollow noopener"&gt;Running OpenBSD on Azure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/skoef/mondieu" target="_blank" rel="nofollow noopener"&gt;Mondieu - portable alternative for freebsd-update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bitbucket.org/forsyth/plan9-9k" target="_blank" rel="nofollow noopener"&gt;Plan9-9k: 64-bit Plan 9&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://sohcahtoa.org.uk/openbsd.html" target="_blank" rel="nofollow noopener"&gt;Installing OpenBSD 6.1 on your laptop is really hard (not)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.ubuntubsd.org/" target="_blank" rel="nofollow noopener"&gt;UbuntuBSD is dead&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opnsense.org/opnsense-17-1-8-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 17.1.8 released&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2DKXA0T#wrap" target="_blank" rel="nofollow noopener"&gt;Patrick - Operating System Textbooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3CJGW22#wrap" target="_blank" rel="nofollow noopener"&gt;Brian - snapshot retention&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2X3X6NR#wrap" target="_blank" rel="nofollow noopener"&gt;Randy - FreeNAS to FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1AE2SPS#wrap" target="_blank" rel="nofollow noopener"&gt;Florian - Bootloader Resolution&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>FreeBSD 11.1-Beta1 is out, we discuss Kernel address randomized link (KARL), and explore the benefits of daily OpenBSD source code reading</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-June/087242.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-Beta1 now available</a></h3>

<ul>
<li>Glen Barber, of the FreeBSD release engineering team has announced that FreeBSD 11.1-Beta1 is now available for the following architectures:</li>
</ul>

<blockquote>
<p>11.1-BETA1 amd64 GENERIC<br>
11.1-BETA1 i386 GENERIC<br>
11.1-BETA1 powerpc GENERIC<br>
11.1-BETA1 powerpc64 GENERIC64<br>
11.1-BETA1 sparc64 GENERIC<br>
11.1-BETA1 armv6 BANANAPI<br>
11.1-BETA1 armv6 BEAGLEBONE<br>
11.1-BETA1 armv6 CUBIEBOARD<br>
11.1-BETA1 armv6 CUBIEBOARD2<br>
11.1-BETA1 armv6 CUBOX-HUMMINGBOARD<br>
11.1-BETA1 armv6 GUMSTIX<br>
11.1-BETA1 armv6 RPI-B<br>
11.1-BETA1 armv6 RPI2<br>
11.1-BETA1 armv6 PANDABOARD<br>
11.1-BETA1 armv6 WANDBOARD<br>
11.1-BETA1 aarch64 GENERIC<br>
Note regarding arm/armv6 images: For convenience for those without console access to the system, a freebsd user with a password of freebsd is available by default for ssh(1) access.  Additionally, the root user password is set to root.  It is strongly recommended to change the password for both users after gaining access to the system.</p>
</blockquote>

<ul>
<li>The <a href="https://www.freebsd.org/releases/11.1R/schedule.html" target="_blank" rel="nofollow noopener">full schedule</a> for 11.1-RELEASE is here, the final release is expected at the end of July</li>
<li>It was also announced there will be a 10.4-RELEASE <a href="https://www.freebsd.org/releases/10.4R/schedule.html" target="_blank" rel="nofollow noopener">scheduled for October</a>
***</li>
</ul>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=149732026405941&amp;w=2" target="_blank" rel="nofollow noopener">KARL – kernel address randomized link</a></h3>

<blockquote>
<p>Over the last three weeks I've been working on a new randomization feature which will protect the kernel.<br>
The situation today is that many people install a kernel binary from OpenBSD, and then run that same kernel binary for 6 months or more. We have substantial randomization for the memory allocations made by the kernel, and for userland also of course.<br>
Previously, the kernel assembly language bootstrap/runtime locore.S was compiled and linked with all the other .c files of the kernel in a deterministic fashion. locore.o was always first, then the .c files order specified by our config(8) utility and some helper files.<br>
In the new world order, locore is split into two files: One chunk is bootstrap, that is left at the beginning. The assembly language runtime and all other files are linked in random fashion. There are some other pieces to try to improve the randomness of the layout.<br>
As a result, every new kernel is unique. The relative offsets between functions and data are unique.<br>
It still loads at the same location in KVA. This is not kernel ASLR! ASLR is a concept where the base address of a module is biased to a random location, for position-independent execution. In this case, the module itself is perturbed but it lands at the same location, and<br>
does not need to use position-independent execution modes.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_sanitizing_the_debugger_s" target="_blank" rel="nofollow noopener">LLDB: Sanitizing the debugger's runtime</a></h3>

<ul>
<li>The good</li>
</ul>

<blockquote>
<p>Besides the greater enhancements this month I performed a cleanup in the ATF ptrace(2) tests again. Additionally I have managed to unbreak the LLDB Debug build and to eliminate compiler warnings in the NetBSD Native Process Plugin. It is worth noting that LLVM can run tests on NetBSD again, the patch in gtest/LLVM has been installed by Joerg Sonnenberg and a more generic one has been submitted to the upstream googletest repository. There was also an improvement in ftruncate(2) on the LLVM side (authored by Joerg).<br>
Since LLD (the LLVM linker) is advancing rapidly, it improved support for NetBSD and it can link a functional executable on NetBSD. I submitted a patch to stop crashing it on startup anymore. It was nearly used for linking LLDB/NetBSD and it spotted a real linking error... however there are further issues that need to be addressed in the future. Currently LLD is not part of the mainline LLDB tasks - it's part of improving the work environment. This linker should reduce the linking time - compared to GNU linkers - of LLDB by a factor of 3x-10x and save precious developer time. As of now LLDB linking can take minutes on a modern amd64 machine designed for performance.</p>
</blockquote>

<ul>
<li>Kernel correctness</li>
</ul>

<blockquote>
<p>I have researched (in pkgsrc-wip) initial support for multiple threads in the NetBSD Native Process Plugin. This code revealed - when running the LLDB regression test-suite - new kernel bugs. This unfortunately affects the usability of a debugger in a multithread environment in general and explains why GDB was never doing its job properly in such circumstances. One of the first errors was asserting kernel panic with PT_*STEP, when a debuggee has more than a single thread. I have narrowed it down to lock primitives misuse in the do_ptrace() kernel code. The fix has been committed.</p>
</blockquote>

<ul>
<li>The bad</li>
</ul>

<blockquote>
<p>Unfortunately this is not the full story and there is further mandatory work.<br>
LLDB acceleration<br>
The EV_SET() bug broke upstream LLDB over a month ago, and during this period the debugger was significantly accelerated and parallelized. It is difficult to declare it definitely, but it might be the reason why the tracer's runtime broke due to threading desynchronization. LLDB behaves differently when run standalone, under ktruss(1) and under gdb(1) - the shared bug is that it always fails in one way or another, which isn't trivial to debug.</p>
</blockquote>

<ul>
<li>The ugly</li>
</ul>

<blockquote>
<p>There are also unpleasant issues at the core of the Operating System.<br>
Kernel troubles<br>
Another bug with single-step functions that affects another aspect of correctness - this time with reliable execution of a program - is that processes die in non-deterministic ways when single-stepped. My current impression is that there is no appropriate translation between process and thread (LWP) states under a debugger. These issues are sibling problems to unreliable PT_RESUME and PT_SUSPEND.<br>
In order to be able to appropriately address this, I have diligently studied this month the Solaris Internals book to get a better image of the design of the NetBSD kernel multiprocessing, which was modeled after this commercial UNIX.</p>
</blockquote>

<ul>
<li>Plan for the next milestone</li>
</ul>

<blockquote>
<p>The current troubles can be summarized as data races in the kernel and at the same time in LLDB. I have decided to port the LLVM sanitizers, as I require the Thread Sanitizer (tsan). Temporarily I have removed the code for tracing processes with multiple threads to hide the known kernel bugs and focus on the LLDB races.<br>
Unfortunately LLDB is not easily bisectable (build time of the LLVM+Clang+LLDB stack, number of revisions), therefore the debugging has to be performed on the most recent code from upstream trunk.</p>
</blockquote>

<hr>

<h3>d2K17 Hackathon Reports</h3>

<ul>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170605225415" target="_blank" rel="nofollow noopener">d2k17 Hackathon Report: Ken Westerback on XS_NO_CCB removal and dhclient link detection</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170608074033" target="_blank" rel="nofollow noopener">d2k17 Hackathon Report: Antoine Jacoutot on rc.d, syspatch, and more</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170609013548" target="_blank" rel="nofollow noopener">d2k17 Hackathon Report: Florian Obser on slaacd(8)</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170602014048" target="_blank" rel="nofollow noopener">d2k17 Hackathon Report: Stefan Sperling on USB audio, WiFi Progress</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://bsdrp.net/documentation/examples/multi-tenant_router_and_firewall" target="_blank" rel="nofollow noopener">Multi-tenant router or firewall with FreeBSD</a></h3>

<ul>
<li>Setting-up a virtual lab</li>
<li>Downloading BSD Router Project images</li>
<li>Download BSDRP serial image (prevent to have to use an X display) on Sourceforge.</li>
<li>Download Lab scripts</li>
</ul>

<blockquote>
<p>More information on these BSDRP lab scripts available on <a href="https://bsdrp.net/documentation/examples/how_to_build_a_bsdrp_router_lab" target="_blank" rel="nofollow noopener">How to build a BSDRP router lab</a>.</p>
</blockquote>

<ul>
<li>Start the lab with full-meshed 5 routers and one shared LAN, on this example using bhyve lab script on FreeBSD:</li>
</ul>

<p><code>[root@FreeBSD]~# tools/BSDRP-lab-bhyve.sh -i BSDRP-1.71-full-amd64-serial.img.xz -n 5 -l 1</code></p>

<ul>
<li><strong>Configuration</strong></li>
<li>Router 4 (R4) hosts the 3 routers/firewalls for each 3 customers.</li>
<li>Router 1 (R1) belongs to customer 1, router 2 (R2) to customer 2 and router 3 (R3) to customer 3.</li>
<li>Router 5 (R5) simulates a simple Internet host</li>
<li>Using pf firewall in place of ipfw</li>
</ul>

<blockquote>
<p>pf need a little more configuration because by default /dev/pf is hidden from jail. Then, on the host we need to:</p>
</blockquote>

<ul>
<li>In place of loading the ipfw/ipfw-nat modules we need to load the pf module (but still disabling pf on our host for this example)</li>
<li>Modify default devd rules for allowing jails to see /dev/pf (if you want to use tcpdump inside your jail, you should use bpf device too)</li>
<li>Replacing nojail tag by nojailvnet tag into /etc/rc.d/pf (<a href="https://github.com/ocochard/BSDRP/blob/master/BSDRP/patches/freebsd.pf.rc.jail.patch" target="_blank" rel="nofollow noopener">already done into BSDRP</a>)</li>
<li>Under the hood: jails-on-nanobsd</li>
<li><a href="https://github.com/ocochard/BSDRP/blob/master/BSDRP/Files/usr/local/sbin/tenant" target="_blank" rel="nofollow noopener">BSDRP's tenant shell script</a> creates jail configuration compliant with a host running nanobsd. Then these jails need to be configured for a nanobsd:</li>
<li>Being nullfs based for being hosted on a read-only root filesystem</li>
<li>Have their /etc and /var into tmpfs disks (then we need to populate these directory before each start)</li>
<li>Configuration changes need to be saved with nanobsd configuration tools, like “config save” on BSDRP</li>
<li>And on the host:</li>
<li><a href="https://github.com/ocochard/BSDRP/blob/master/BSDRP/Files/usr/local/sbin/autosave" target="_blank" rel="nofollow noopener">autosave daemon</a> need to be enabled: Each time a customer will issue a “config save” inside a jail, his configuration diffs will be save into host's /etc/jails/. And this directory is a RAM disk too, then we need to automatically save hosts configuration on changes.
***</li>
</ul>

<h3><a href="https://blog.tintagel.pl/2017/06/09/openbsd-daily.html" target="_blank" rel="nofollow noopener">OpenBSD Daily Source Reading</a></h3>

<ul>
<li>Adam Wołk writes:</li>
</ul>

<blockquote>
<p>I made a new year's resolution to read at least one C source file from OpenBSD daily. The goal was to both get better at C and to contribute more to the base system and userland development. I have to admit that initially I wasn’t consistent with it at all. In the first quarter of the year I read the code of a few small base utilities and nothing else. Still, every bit counts and it’s never too late to get better.<br>
Around the end of May, I really started reading code daily - no days skipped. It usually takes anywhere between ten minutes (for small base utils) and one and a half hour (for targeted reads). I’m pretty happy with the results so far. Exploring the system on a daily basis, looking up things in the code that I don’t understand and digging as deep as possible made me learn a lot more both about C and the system than I initially expected.<br>
There’s also one more side effect of reading code daily - diffs. It’s easy to spot inconsistencies, outdated code or an incorrect man page. This results in opportunities for contributing to the project. With time it also becomes less opportunitstic and more goal oriented. You might start with a [<a href="https://marc.info/?l=openbsd-tech&amp;m=149591302814638&amp;w=2%5D(drive" target="_blank" rel="nofollow noopener">https://marc.info/?l=openbsd-tech&amp;m=149591302814638&amp;w=2](drive</a> by diff to kill) optional compilation of an old compatibility option in chown that has been compiled in by default since 1995.<br>
Soon the contributions become more targeted, for example using a new API for encrypting passwords in the htpasswd utility after reading the code of the utility and the code for htpasswd handling in httpd. Similarly it can take you from discussing a doas feature idea with a friend to implementing it after reading the code.<br>
I was having a lot of fun reading code daily and started to recommend it to people in general discussions. There was one particular twitter thread that ended up starting something new.<br>
This is still a new thing and the format is not yet solidified. Generally I make a lot of notes reading code, instead of slapping them inside a local file I drop the notes on the IRC channel as I go. Everyone on the channel is encouraged to do the same or share his notes in any way he/she seems feasable.</p>
</blockquote>

<ul>
<li>Check out the logs from the IRC discussions.</li>
<li>Start reading code from other BSD projects and see whether you can replicate their results!
***</li>
</ul>

<h3><a href="https://bsdmag.org/become-freebsd-user-find-useful-tools/" target="_blank" rel="nofollow noopener">Become FreeBSD User: Find Useful Tools</a></h3>

<ul>
<li>BSD Mag has the following article by David Carlier:</li>
</ul>

<blockquote>
<p>If you’re usually programming on Linux and you consider a potential switch to FreeBSD, this article will give you an overview of the possibilities.</p>
</blockquote>

<ul>
<li>How to Install the Dependencies</li>
</ul>

<blockquote>
<p>FreeBSD comes with either applications from binary packages or compiled from sources (ports). They are arranged according to software types (programming languages mainly in lang (or java specifically for Java), libraries in devel, web servers in www …) and the main tool for modern FreeBSD versions is pkg, similar to Debian apt tools suite. Hence, most of the time if you are looking for a specific application/library, simply</p>

<p><code>pkg search &lt;name&gt;</code></p>

<p>without necessarily knowing the fully qualified name of the package. It is somehow sufficient. For example pkg search php7 will display php7 itself and the modules. Furthermore, php70 specific version and so on.</p>
</blockquote>

<ul>
<li>Web Development</li>
</ul>

<blockquote>
<p>Basically, this is the easiest area to migrate to. Most  Web languages do not use  specific platform features. Thus, most of the time, your existing projects might just be “drop-in” use cases.<br>
If your language of choice is PHP, you are lucky as this scripting language is workable on various operating systems, on most  Unixes and Windows. In the case of FreeBSD, you have even many different ports or binary package versions (5.6 to 7.1). In this case, you may need some specific PHP modules enabled, luckily they are available atomically, or if the port is the way you chose, it is via the www/php70-extensions’s one.<br>
Of course developing with Apache (both 2.2 and 2.4 series are available, respectively www/apache22 and www/apache24 packages), or even better with Nginx (the last stable or the latest development versions could be used, respectively www/nginx and www/nginx-devel packages) via php-fpm is possible.<br>
In terms of databases, we have the regular RDMBS like MySQL and PostgreSQL (client and server are distinct packages … databases/(mysql/portgresql)-client, and databases/(mysql/postgresql)-server). Additionally, a more modern concept of NoSQL with CouchDB, for example (databases/couchdb), MongoDB (databases/mongodb), and Cassandra (databases/cassandra), to name but a few.</p>
</blockquote>

<ul>
<li>Low-level Development</li>
</ul>

<blockquote>
<p>The BSDs are shipped with C and C++ compilers in the base. In the case of FreeBSD 11.0, it is clang 3.8.0 (in x86 architectures) otherwise, modern versions of gcc exist for developing with C++11. Examples are of course available too (lang/gcc … until gcc 7.0 devel).<br>
Numerous libraries for various topics are also present, web services SOAP with gsoap through User Interfaces with GTK (x11-toolkits/gtk), QT4 or QT 5 (devel/qt), malware libraries with Yara (security/yara), etc.</p>
</blockquote>

<ul>
<li>Android / Mobile Development</li>
</ul>

<blockquote>
<p>To be able to do Android development, to a certain degree, the Linux’s compatibility layer (aka linuxulator) needs to be enabled. Also, x11-toolkits/swt and linux-f10-gtk2 port/package need to be installed (note that libswt-gtk-3550.so and libswt-pi-gtk-3550.so are necessary. The current package is versioned as 3557 and can be solved using symlinks). In the worst case scenario, remember that bhyve (or Virtualbox) is available, and can run any Linux distribution efficiently.</p>
</blockquote>

<ul>
<li>Source Control Management</li>
</ul>

<blockquote>
<p>FreeBSD comes in base with a version of subversion. As FreeBSD source is in a subversion repository, a prefixed svnlite command prevents conflicts with the package/port.<br>
Additionally, Git is present but via the package/port system with various options (with or without a user interface, subversion support).</p>
</blockquote>

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

<blockquote>
<p>FreeBSD has made tremendous improvements over the years to fill the gap created by Linux. FreeBSD still maintains its interesting specificities; hence there will not be too much blockers if your projects are reasonably sized to allow a migration to FreeBSD.</p>

<hr>
</blockquote>

<h3><a href="https://martin.kopta.eu/blog/#2017-06-11-16-07-26" target="_blank" rel="nofollow noopener">Notes from project Aeronix, part 10</a></h3>

<ul>
<li>Prologue</li>
</ul>

<blockquote>
<p>It is almost two years since I finished building Aeronix and it has served me well during that time. Only thing that ever broke was Noctua CPU fan, which I have replaced with the same model. However, for long time, I wanted to run Aeronix on OpenBSD instead of GNU/Linux Debian.</p>
</blockquote>

<ul>
<li>Preparation</li>
</ul>

<blockquote>
<p>I first experimented with RAID1 OpenBSD setup in VirtualBox, plugging and unplugging drives and learned that OpenBSD RAID1 is really smooth. When I finally got the courage, I copied all the data on two drives outside of Aeronix. One external HDD I regulary use to backup Aeronix and second internal drive in my desktop computer. Copying the data took about two afternoons. Aeronix usually has higher temperatures (somewhere around 55°C or 65°C depending on time of the year), and when stressed, it can go really high (around 75°C). During full speed copy over NFS and to external drive it went as high as 85°C, which made me a bit nervous. After the data were copied, I temporarily un-configured computers on local network to not touch Aeronix, plugged keyboard, display and OpenBSD 6.1 thumb drive. Installing OpenBSD 6.1 on full disk RAID1 was super easy.</p>
</blockquote>

<ul>
<li>Configuring NFS</li>
</ul>

<blockquote>
<p>Aeronix serves primarily as NAS, which means NFS and SMB. NFS is used by computers in local network with persistent connection (via Ethernet). SMB is used by other devices in local network with volatile connection (via WiFi). When configuring NFS, I expected similar configuration to what I had in Debian, but on OpenBSD, it is very different. However, after reading through exports(5), it was really easy to put it together.</p>
</blockquote>

<ul>
<li>Putting the data back</li>
</ul>

<blockquote>
<p>Copying from the external drive took few days, since the transfer speed was something around 5MB/s. I didn't really mind. It was sort of a good thing, because Aeronix wasn't overheating that way. I guess I need to figure new backup strategy though.<br>
One interesting thing happened with one of my local desktops. It was connecting Aeronix with default NFS mount options (on Archlinux) and had really big troubles with reading anything. Basically it behaved as if the network drive had horrible access times. After changing the default mount options, it started working perfectly.</p>
</blockquote>

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

<blockquote>
<p>Migrating to OpenBSD was way easier than I anticipated. There are various benefits like more security, realiable RAID1 setup (which I know how will work when drive dies), better documentation and much more. However, the true benefit for me is just the fact I like OpenBSD and makes me happy to have one more OpenBSD machine. On to the next two years of service!</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170609121413&amp;mode=expanded&amp;count=0" target="_blank" rel="nofollow noopener">Running OpenBSD on Azure</a></li>
<li><a href="https://github.com/skoef/mondieu" target="_blank" rel="nofollow noopener">Mondieu - portable alternative for freebsd-update</a></li>
<li><a href="https://bitbucket.org/forsyth/plan9-9k" target="_blank" rel="nofollow noopener">Plan9-9k: 64-bit Plan 9</a></li>
<li><a href="http://sohcahtoa.org.uk/openbsd.html" target="_blank" rel="nofollow noopener">Installing OpenBSD 6.1 on your laptop is really hard (not)</a></li>
<li><a href="http://www.ubuntubsd.org/" target="_blank" rel="nofollow noopener">UbuntuBSD is dead</a></li>
<li><a href="https://opnsense.org/opnsense-17-1-8-released/" target="_blank" rel="nofollow noopener">OPNsense 17.1.8 released</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2DKXA0T#wrap" target="_blank" rel="nofollow noopener">Patrick - Operating System Textbooks</a></li>
<li><a href="http://dpaste.com/3CJGW22#wrap" target="_blank" rel="nofollow noopener">Brian - snapshot retention</a></li>
<li><a href="http://dpaste.com/2X3X6NR#wrap" target="_blank" rel="nofollow noopener">Randy - FreeNAS to FreeBSD</a></li>
<li><a href="http://dpaste.com/1AE2SPS#wrap" target="_blank" rel="nofollow noopener">Florian - Bootloader Resolution</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>FreeBSD 11.1-Beta1 is out, we discuss Kernel address randomized link (KARL), and explore the benefits of daily OpenBSD source code reading</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2017-June/087242.html" target="_blank" rel="nofollow noopener">FreeBSD 11.1-Beta1 now available</a></h3>

<ul>
<li>Glen Barber, of the FreeBSD release engineering team has announced that FreeBSD 11.1-Beta1 is now available for the following architectures:</li>
</ul>

<blockquote>
<p>11.1-BETA1 amd64 GENERIC<br>
11.1-BETA1 i386 GENERIC<br>
11.1-BETA1 powerpc GENERIC<br>
11.1-BETA1 powerpc64 GENERIC64<br>
11.1-BETA1 sparc64 GENERIC<br>
11.1-BETA1 armv6 BANANAPI<br>
11.1-BETA1 armv6 BEAGLEBONE<br>
11.1-BETA1 armv6 CUBIEBOARD<br>
11.1-BETA1 armv6 CUBIEBOARD2<br>
11.1-BETA1 armv6 CUBOX-HUMMINGBOARD<br>
11.1-BETA1 armv6 GUMSTIX<br>
11.1-BETA1 armv6 RPI-B<br>
11.1-BETA1 armv6 RPI2<br>
11.1-BETA1 armv6 PANDABOARD<br>
11.1-BETA1 armv6 WANDBOARD<br>
11.1-BETA1 aarch64 GENERIC<br>
Note regarding arm/armv6 images: For convenience for those without console access to the system, a freebsd user with a password of freebsd is available by default for ssh(1) access.  Additionally, the root user password is set to root.  It is strongly recommended to change the password for both users after gaining access to the system.</p>
</blockquote>

<ul>
<li>The <a href="https://www.freebsd.org/releases/11.1R/schedule.html" target="_blank" rel="nofollow noopener">full schedule</a> for 11.1-RELEASE is here, the final release is expected at the end of July</li>
<li>It was also announced there will be a 10.4-RELEASE <a href="https://www.freebsd.org/releases/10.4R/schedule.html" target="_blank" rel="nofollow noopener">scheduled for October</a>
***</li>
</ul>

<h3><a href="https://marc.info/?l=openbsd-tech&amp;m=149732026405941&amp;w=2" target="_blank" rel="nofollow noopener">KARL – kernel address randomized link</a></h3>

<blockquote>
<p>Over the last three weeks I've been working on a new randomization feature which will protect the kernel.<br>
The situation today is that many people install a kernel binary from OpenBSD, and then run that same kernel binary for 6 months or more. We have substantial randomization for the memory allocations made by the kernel, and for userland also of course.<br>
Previously, the kernel assembly language bootstrap/runtime locore.S was compiled and linked with all the other .c files of the kernel in a deterministic fashion. locore.o was always first, then the .c files order specified by our config(8) utility and some helper files.<br>
In the new world order, locore is split into two files: One chunk is bootstrap, that is left at the beginning. The assembly language runtime and all other files are linked in random fashion. There are some other pieces to try to improve the randomness of the layout.<br>
As a result, every new kernel is unique. The relative offsets between functions and data are unique.<br>
It still loads at the same location in KVA. This is not kernel ASLR! ASLR is a concept where the base address of a module is biased to a random location, for position-independent execution. In this case, the module itself is perturbed but it lands at the same location, and<br>
does not need to use position-independent execution modes.</p>
</blockquote>

<hr>

<h3><a href="https://blog.netbsd.org/tnf/entry/lldb_sanitizing_the_debugger_s" target="_blank" rel="nofollow noopener">LLDB: Sanitizing the debugger's runtime</a></h3>

<ul>
<li>The good</li>
</ul>

<blockquote>
<p>Besides the greater enhancements this month I performed a cleanup in the ATF ptrace(2) tests again. Additionally I have managed to unbreak the LLDB Debug build and to eliminate compiler warnings in the NetBSD Native Process Plugin. It is worth noting that LLVM can run tests on NetBSD again, the patch in gtest/LLVM has been installed by Joerg Sonnenberg and a more generic one has been submitted to the upstream googletest repository. There was also an improvement in ftruncate(2) on the LLVM side (authored by Joerg).<br>
Since LLD (the LLVM linker) is advancing rapidly, it improved support for NetBSD and it can link a functional executable on NetBSD. I submitted a patch to stop crashing it on startup anymore. It was nearly used for linking LLDB/NetBSD and it spotted a real linking error... however there are further issues that need to be addressed in the future. Currently LLD is not part of the mainline LLDB tasks - it's part of improving the work environment. This linker should reduce the linking time - compared to GNU linkers - of LLDB by a factor of 3x-10x and save precious developer time. As of now LLDB linking can take minutes on a modern amd64 machine designed for performance.</p>
</blockquote>

<ul>
<li>Kernel correctness</li>
</ul>

<blockquote>
<p>I have researched (in pkgsrc-wip) initial support for multiple threads in the NetBSD Native Process Plugin. This code revealed - when running the LLDB regression test-suite - new kernel bugs. This unfortunately affects the usability of a debugger in a multithread environment in general and explains why GDB was never doing its job properly in such circumstances. One of the first errors was asserting kernel panic with PT_*STEP, when a debuggee has more than a single thread. I have narrowed it down to lock primitives misuse in the do_ptrace() kernel code. The fix has been committed.</p>
</blockquote>

<ul>
<li>The bad</li>
</ul>

<blockquote>
<p>Unfortunately this is not the full story and there is further mandatory work.<br>
LLDB acceleration<br>
The EV_SET() bug broke upstream LLDB over a month ago, and during this period the debugger was significantly accelerated and parallelized. It is difficult to declare it definitely, but it might be the reason why the tracer's runtime broke due to threading desynchronization. LLDB behaves differently when run standalone, under ktruss(1) and under gdb(1) - the shared bug is that it always fails in one way or another, which isn't trivial to debug.</p>
</blockquote>

<ul>
<li>The ugly</li>
</ul>

<blockquote>
<p>There are also unpleasant issues at the core of the Operating System.<br>
Kernel troubles<br>
Another bug with single-step functions that affects another aspect of correctness - this time with reliable execution of a program - is that processes die in non-deterministic ways when single-stepped. My current impression is that there is no appropriate translation between process and thread (LWP) states under a debugger. These issues are sibling problems to unreliable PT_RESUME and PT_SUSPEND.<br>
In order to be able to appropriately address this, I have diligently studied this month the Solaris Internals book to get a better image of the design of the NetBSD kernel multiprocessing, which was modeled after this commercial UNIX.</p>
</blockquote>

<ul>
<li>Plan for the next milestone</li>
</ul>

<blockquote>
<p>The current troubles can be summarized as data races in the kernel and at the same time in LLDB. I have decided to port the LLVM sanitizers, as I require the Thread Sanitizer (tsan). Temporarily I have removed the code for tracing processes with multiple threads to hide the known kernel bugs and focus on the LLDB races.<br>
Unfortunately LLDB is not easily bisectable (build time of the LLVM+Clang+LLDB stack, number of revisions), therefore the debugging has to be performed on the most recent code from upstream trunk.</p>
</blockquote>

<hr>

<h3>d2K17 Hackathon Reports</h3>

<ul>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170605225415" target="_blank" rel="nofollow noopener">d2k17 Hackathon Report: Ken Westerback on XS_NO_CCB removal and dhclient link detection</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170608074033" target="_blank" rel="nofollow noopener">d2k17 Hackathon Report: Antoine Jacoutot on rc.d, syspatch, and more</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170609013548" target="_blank" rel="nofollow noopener">d2k17 Hackathon Report: Florian Obser on slaacd(8)</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170602014048" target="_blank" rel="nofollow noopener">d2k17 Hackathon Report: Stefan Sperling on USB audio, WiFi Progress</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://bsdrp.net/documentation/examples/multi-tenant_router_and_firewall" target="_blank" rel="nofollow noopener">Multi-tenant router or firewall with FreeBSD</a></h3>

<ul>
<li>Setting-up a virtual lab</li>
<li>Downloading BSD Router Project images</li>
<li>Download BSDRP serial image (prevent to have to use an X display) on Sourceforge.</li>
<li>Download Lab scripts</li>
</ul>

<blockquote>
<p>More information on these BSDRP lab scripts available on <a href="https://bsdrp.net/documentation/examples/how_to_build_a_bsdrp_router_lab" target="_blank" rel="nofollow noopener">How to build a BSDRP router lab</a>.</p>
</blockquote>

<ul>
<li>Start the lab with full-meshed 5 routers and one shared LAN, on this example using bhyve lab script on FreeBSD:</li>
</ul>

<p><code>[root@FreeBSD]~# tools/BSDRP-lab-bhyve.sh -i BSDRP-1.71-full-amd64-serial.img.xz -n 5 -l 1</code></p>

<ul>
<li><strong>Configuration</strong></li>
<li>Router 4 (R4) hosts the 3 routers/firewalls for each 3 customers.</li>
<li>Router 1 (R1) belongs to customer 1, router 2 (R2) to customer 2 and router 3 (R3) to customer 3.</li>
<li>Router 5 (R5) simulates a simple Internet host</li>
<li>Using pf firewall in place of ipfw</li>
</ul>

<blockquote>
<p>pf need a little more configuration because by default /dev/pf is hidden from jail. Then, on the host we need to:</p>
</blockquote>

<ul>
<li>In place of loading the ipfw/ipfw-nat modules we need to load the pf module (but still disabling pf on our host for this example)</li>
<li>Modify default devd rules for allowing jails to see /dev/pf (if you want to use tcpdump inside your jail, you should use bpf device too)</li>
<li>Replacing nojail tag by nojailvnet tag into /etc/rc.d/pf (<a href="https://github.com/ocochard/BSDRP/blob/master/BSDRP/patches/freebsd.pf.rc.jail.patch" target="_blank" rel="nofollow noopener">already done into BSDRP</a>)</li>
<li>Under the hood: jails-on-nanobsd</li>
<li><a href="https://github.com/ocochard/BSDRP/blob/master/BSDRP/Files/usr/local/sbin/tenant" target="_blank" rel="nofollow noopener">BSDRP's tenant shell script</a> creates jail configuration compliant with a host running nanobsd. Then these jails need to be configured for a nanobsd:</li>
<li>Being nullfs based for being hosted on a read-only root filesystem</li>
<li>Have their /etc and /var into tmpfs disks (then we need to populate these directory before each start)</li>
<li>Configuration changes need to be saved with nanobsd configuration tools, like “config save” on BSDRP</li>
<li>And on the host:</li>
<li><a href="https://github.com/ocochard/BSDRP/blob/master/BSDRP/Files/usr/local/sbin/autosave" target="_blank" rel="nofollow noopener">autosave daemon</a> need to be enabled: Each time a customer will issue a “config save” inside a jail, his configuration diffs will be save into host's /etc/jails/. And this directory is a RAM disk too, then we need to automatically save hosts configuration on changes.
***</li>
</ul>

<h3><a href="https://blog.tintagel.pl/2017/06/09/openbsd-daily.html" target="_blank" rel="nofollow noopener">OpenBSD Daily Source Reading</a></h3>

<ul>
<li>Adam Wołk writes:</li>
</ul>

<blockquote>
<p>I made a new year's resolution to read at least one C source file from OpenBSD daily. The goal was to both get better at C and to contribute more to the base system and userland development. I have to admit that initially I wasn’t consistent with it at all. In the first quarter of the year I read the code of a few small base utilities and nothing else. Still, every bit counts and it’s never too late to get better.<br>
Around the end of May, I really started reading code daily - no days skipped. It usually takes anywhere between ten minutes (for small base utils) and one and a half hour (for targeted reads). I’m pretty happy with the results so far. Exploring the system on a daily basis, looking up things in the code that I don’t understand and digging as deep as possible made me learn a lot more both about C and the system than I initially expected.<br>
There’s also one more side effect of reading code daily - diffs. It’s easy to spot inconsistencies, outdated code or an incorrect man page. This results in opportunities for contributing to the project. With time it also becomes less opportunitstic and more goal oriented. You might start with a [<a href="https://marc.info/?l=openbsd-tech&amp;m=149591302814638&amp;w=2%5D(drive" target="_blank" rel="nofollow noopener">https://marc.info/?l=openbsd-tech&amp;m=149591302814638&amp;w=2](drive</a> by diff to kill) optional compilation of an old compatibility option in chown that has been compiled in by default since 1995.<br>
Soon the contributions become more targeted, for example using a new API for encrypting passwords in the htpasswd utility after reading the code of the utility and the code for htpasswd handling in httpd. Similarly it can take you from discussing a doas feature idea with a friend to implementing it after reading the code.<br>
I was having a lot of fun reading code daily and started to recommend it to people in general discussions. There was one particular twitter thread that ended up starting something new.<br>
This is still a new thing and the format is not yet solidified. Generally I make a lot of notes reading code, instead of slapping them inside a local file I drop the notes on the IRC channel as I go. Everyone on the channel is encouraged to do the same or share his notes in any way he/she seems feasable.</p>
</blockquote>

<ul>
<li>Check out the logs from the IRC discussions.</li>
<li>Start reading code from other BSD projects and see whether you can replicate their results!
***</li>
</ul>

<h3><a href="https://bsdmag.org/become-freebsd-user-find-useful-tools/" target="_blank" rel="nofollow noopener">Become FreeBSD User: Find Useful Tools</a></h3>

<ul>
<li>BSD Mag has the following article by David Carlier:</li>
</ul>

<blockquote>
<p>If you’re usually programming on Linux and you consider a potential switch to FreeBSD, this article will give you an overview of the possibilities.</p>
</blockquote>

<ul>
<li>How to Install the Dependencies</li>
</ul>

<blockquote>
<p>FreeBSD comes with either applications from binary packages or compiled from sources (ports). They are arranged according to software types (programming languages mainly in lang (or java specifically for Java), libraries in devel, web servers in www …) and the main tool for modern FreeBSD versions is pkg, similar to Debian apt tools suite. Hence, most of the time if you are looking for a specific application/library, simply</p>

<p><code>pkg search &lt;name&gt;</code></p>

<p>without necessarily knowing the fully qualified name of the package. It is somehow sufficient. For example pkg search php7 will display php7 itself and the modules. Furthermore, php70 specific version and so on.</p>
</blockquote>

<ul>
<li>Web Development</li>
</ul>

<blockquote>
<p>Basically, this is the easiest area to migrate to. Most  Web languages do not use  specific platform features. Thus, most of the time, your existing projects might just be “drop-in” use cases.<br>
If your language of choice is PHP, you are lucky as this scripting language is workable on various operating systems, on most  Unixes and Windows. In the case of FreeBSD, you have even many different ports or binary package versions (5.6 to 7.1). In this case, you may need some specific PHP modules enabled, luckily they are available atomically, or if the port is the way you chose, it is via the www/php70-extensions’s one.<br>
Of course developing with Apache (both 2.2 and 2.4 series are available, respectively www/apache22 and www/apache24 packages), or even better with Nginx (the last stable or the latest development versions could be used, respectively www/nginx and www/nginx-devel packages) via php-fpm is possible.<br>
In terms of databases, we have the regular RDMBS like MySQL and PostgreSQL (client and server are distinct packages … databases/(mysql/portgresql)-client, and databases/(mysql/postgresql)-server). Additionally, a more modern concept of NoSQL with CouchDB, for example (databases/couchdb), MongoDB (databases/mongodb), and Cassandra (databases/cassandra), to name but a few.</p>
</blockquote>

<ul>
<li>Low-level Development</li>
</ul>

<blockquote>
<p>The BSDs are shipped with C and C++ compilers in the base. In the case of FreeBSD 11.0, it is clang 3.8.0 (in x86 architectures) otherwise, modern versions of gcc exist for developing with C++11. Examples are of course available too (lang/gcc … until gcc 7.0 devel).<br>
Numerous libraries for various topics are also present, web services SOAP with gsoap through User Interfaces with GTK (x11-toolkits/gtk), QT4 or QT 5 (devel/qt), malware libraries with Yara (security/yara), etc.</p>
</blockquote>

<ul>
<li>Android / Mobile Development</li>
</ul>

<blockquote>
<p>To be able to do Android development, to a certain degree, the Linux’s compatibility layer (aka linuxulator) needs to be enabled. Also, x11-toolkits/swt and linux-f10-gtk2 port/package need to be installed (note that libswt-gtk-3550.so and libswt-pi-gtk-3550.so are necessary. The current package is versioned as 3557 and can be solved using symlinks). In the worst case scenario, remember that bhyve (or Virtualbox) is available, and can run any Linux distribution efficiently.</p>
</blockquote>

<ul>
<li>Source Control Management</li>
</ul>

<blockquote>
<p>FreeBSD comes in base with a version of subversion. As FreeBSD source is in a subversion repository, a prefixed svnlite command prevents conflicts with the package/port.<br>
Additionally, Git is present but via the package/port system with various options (with or without a user interface, subversion support).</p>
</blockquote>

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

<blockquote>
<p>FreeBSD has made tremendous improvements over the years to fill the gap created by Linux. FreeBSD still maintains its interesting specificities; hence there will not be too much blockers if your projects are reasonably sized to allow a migration to FreeBSD.</p>

<hr>
</blockquote>

<h3><a href="https://martin.kopta.eu/blog/#2017-06-11-16-07-26" target="_blank" rel="nofollow noopener">Notes from project Aeronix, part 10</a></h3>

<ul>
<li>Prologue</li>
</ul>

<blockquote>
<p>It is almost two years since I finished building Aeronix and it has served me well during that time. Only thing that ever broke was Noctua CPU fan, which I have replaced with the same model. However, for long time, I wanted to run Aeronix on OpenBSD instead of GNU/Linux Debian.</p>
</blockquote>

<ul>
<li>Preparation</li>
</ul>

<blockquote>
<p>I first experimented with RAID1 OpenBSD setup in VirtualBox, plugging and unplugging drives and learned that OpenBSD RAID1 is really smooth. When I finally got the courage, I copied all the data on two drives outside of Aeronix. One external HDD I regulary use to backup Aeronix and second internal drive in my desktop computer. Copying the data took about two afternoons. Aeronix usually has higher temperatures (somewhere around 55°C or 65°C depending on time of the year), and when stressed, it can go really high (around 75°C). During full speed copy over NFS and to external drive it went as high as 85°C, which made me a bit nervous. After the data were copied, I temporarily un-configured computers on local network to not touch Aeronix, plugged keyboard, display and OpenBSD 6.1 thumb drive. Installing OpenBSD 6.1 on full disk RAID1 was super easy.</p>
</blockquote>

<ul>
<li>Configuring NFS</li>
</ul>

<blockquote>
<p>Aeronix serves primarily as NAS, which means NFS and SMB. NFS is used by computers in local network with persistent connection (via Ethernet). SMB is used by other devices in local network with volatile connection (via WiFi). When configuring NFS, I expected similar configuration to what I had in Debian, but on OpenBSD, it is very different. However, after reading through exports(5), it was really easy to put it together.</p>
</blockquote>

<ul>
<li>Putting the data back</li>
</ul>

<blockquote>
<p>Copying from the external drive took few days, since the transfer speed was something around 5MB/s. I didn't really mind. It was sort of a good thing, because Aeronix wasn't overheating that way. I guess I need to figure new backup strategy though.<br>
One interesting thing happened with one of my local desktops. It was connecting Aeronix with default NFS mount options (on Archlinux) and had really big troubles with reading anything. Basically it behaved as if the network drive had horrible access times. After changing the default mount options, it started working perfectly.</p>
</blockquote>

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

<blockquote>
<p>Migrating to OpenBSD was way easier than I anticipated. There are various benefits like more security, realiable RAID1 setup (which I know how will work when drive dies), better documentation and much more. However, the true benefit for me is just the fact I like OpenBSD and makes me happy to have one more OpenBSD machine. On to the next two years of service!</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170609121413&amp;mode=expanded&amp;count=0" target="_blank" rel="nofollow noopener">Running OpenBSD on Azure</a></li>
<li><a href="https://github.com/skoef/mondieu" target="_blank" rel="nofollow noopener">Mondieu - portable alternative for freebsd-update</a></li>
<li><a href="https://bitbucket.org/forsyth/plan9-9k" target="_blank" rel="nofollow noopener">Plan9-9k: 64-bit Plan 9</a></li>
<li><a href="http://sohcahtoa.org.uk/openbsd.html" target="_blank" rel="nofollow noopener">Installing OpenBSD 6.1 on your laptop is really hard (not)</a></li>
<li><a href="http://www.ubuntubsd.org/" target="_blank" rel="nofollow noopener">UbuntuBSD is dead</a></li>
<li><a href="https://opnsense.org/opnsense-17-1-8-released/" target="_blank" rel="nofollow noopener">OPNsense 17.1.8 released</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2DKXA0T#wrap" target="_blank" rel="nofollow noopener">Patrick - Operating System Textbooks</a></li>
<li><a href="http://dpaste.com/3CJGW22#wrap" target="_blank" rel="nofollow noopener">Brian - snapshot retention</a></li>
<li><a href="http://dpaste.com/2X3X6NR#wrap" target="_blank" rel="nofollow noopener">Randy - FreeNAS to FreeBSD</a></li>
<li><a href="http://dpaste.com/1AE2SPS#wrap" target="_blank" rel="nofollow noopener">Florian - Bootloader Resolution</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>198: BSDNorth or You can’t handle the libtruth</title>
  <link>https://www.bsdnow.tv/198</link>
  <guid isPermaLink="false">0123153a-507e-46d5-b7d3-59fef8b731ae</guid>
  <pubDate>Wed, 14 Jun 2017 11:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/0123153a-507e-46d5-b7d3-59fef8b731ae.mp3" length="96556756" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This episode gives you the full dose of BSDCan 2017 recap as well as a blog post on conference speaking advice.</itunes:subtitle>
  <itunes:duration>2:14:06</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>&lt;p&gt;This episode gives you the full dose of BSDCan 2017 recap as well as a blog post on conference speaking advice.&lt;/p&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;Pre-conference activities: Goat BoF, FreeBSD Foundation Board Meeting, and FreeBSD Journal Editorial Board Meeting&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The FreeBSD Foundation has a new President as Justin Gibbs is busy this year with building a house, so George Neville-Neil took up the task to serve as President, with Justin Gibbs as Secretary. Take a look at the updated &lt;a href="https://www.freebsdfoundation.org/about/board-of-directors/" target="_blank" rel="nofollow noopener"&gt;Board of Directors&lt;/a&gt;.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;We also have a new &lt;a href="https://www.freebsdfoundation.org/about/staff/" target="_blank" rel="nofollow noopener"&gt;staff member&lt;/a&gt;: Scott Lamons joined the Foundation team as senior program manager.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Scott’s work for the Foundation will focus on managing and evangelizing programs for advanced technologies in FreeBSD including preparing project plans, coordinating resources, and facilitating interactions between commercial vendors, the Foundation, and the FreeBSD community.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The Foundation also planned various future activities, visits of upcoming conferences, and finding new ways to support and engage the community.&lt;/li&gt;
&lt;li&gt;The Foundation now has interns in the form of co-op students from the University of Waterloo, Canada. This is described further in the &lt;a href="https://www.freebsdfoundation.org/blog/may-2017-development-projects-update/" target="_blank" rel="nofollow noopener"&gt;May 2017 Development Projects Update&lt;/a&gt;. Both students (Siva and Charlie) were also the conference, helping out at the Foundation table, demonstrating the tinderbox dashboard. Follow the &lt;a href="https://www.freebsdfoundation.org/news-and-events/blog/blog-post/building-a-physical-freebsd-build-status-dashboard/" target="_blank" rel="nofollow noopener"&gt;detailed instructions&lt;/a&gt; to build one of your own.&lt;/li&gt;
&lt;li&gt;The Foundation put out a &lt;a href="https://www.freebsdfoundation.org/blog/freebsd-foundation-2017-project-proposal-solicitation/" target="_blank" rel="nofollow noopener"&gt;call for Project Proposal Solicitation for 2017&lt;/a&gt;. If you think you have a good proposal for work relating to any of the major subsystems or infrastructure for FreeBSD, we’d be happy to review it.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Don’t miss the deadlines for travel grants to some of the upcoming conferences. You can find the necessary forms and deadlines at the &lt;a href="https://www.freebsdfoundation.org/what-we-do/travel-grants/travel-grants/" target="_blank" rel="nofollow noopener"&gt;Travel Grant page&lt;/a&gt; on the Foundation website.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pictures from the Goat BoF can be found on &lt;a href="https://assets.keltia.net/photos/BSDCan-2017/Royal%20Oak/index.html" target="_blank" rel="nofollow noopener"&gt;Keltia.net&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Overlapping with the GoatBoF, members of the FreeBSD Journal editorial board met in a conference room in the Novotel to plan the upcoming issues. Topics were found, authors identified, and new content was discussed to appeal to even more readers. Check out the &lt;a href="https://www.freebsdfoundation.org/journal/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Journal website&lt;/a&gt; and subscribe if you like to support the Foundation in that way.&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://wiki.freebsd.org/DevSummit/201706" target="_blank" rel="nofollow noopener"&gt;FreeBSD Devsummit Day 1 &amp;amp; 2&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The first day of the Devsummit began with introductory slides by Gordon Tetlow, who organized the devsummit very well.&lt;/li&gt;
&lt;li&gt;Benno Rice of the FreeBSD core team presented the work done on the new Code of Conduct, which will become effective soon. A round of Q&amp;amp;A followed, with positive feedback from the other devsummit attendees supporting the new CoC.&lt;/li&gt;
&lt;li&gt;After that, Allan Jude joined to talk about the new &lt;a href="https://github.com/freebsd/fcp" target="_blank" rel="nofollow noopener"&gt;FreeBSD Community Proposal (FCP)&lt;/a&gt; process. Modelled after IETF RFCs, Joyent RFDs, and Python PEP, it is a new way for the project to reach consensus on the design or implementation of new features or processes. The FCP repo contains FCP#0 that describes the process, and a template for writing a proposal.&lt;/li&gt;
&lt;li&gt;Then, the entire core team (except John Baldwin, who could not make it this year) and core secretary held a core Q&amp;amp;A session, Answering questions, gathering feedback and suggestions.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;After the coffee break, we had a presentation about Intel’s QAT integration in FreeBSD.&lt;/li&gt;
&lt;li&gt;When the lunch was over, people spread out into working groups about BearSSL, Transport (TCP/IP), and OpenZFS.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://pbs.twimg.com/media/DBu_IMsWAAId2sN.jpg:large" target="_blank" rel="nofollow noopener"&gt;OpenZFS working group&lt;/a&gt;:

&lt;ul&gt;
&lt;li&gt;Matt Ahrens lead the group, and spent most of the first session providing a status update about what features have been recently committed, are out for review, on the horizon, or in the design phase.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Existing Features&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Compressed ARC&lt;/li&gt;
&lt;li&gt;Compressed Send/Recv&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Recently Upstreamed&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A recent commit improved RAID-Z write speeds by declaring writes to padding blocks to be optional, and to always write them if they can be aggregated with the next write. Mostly impacts large record sizes.&lt;/li&gt;
&lt;li&gt;ABD (ARC buffer scatter/gather)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Upstreaming In Progress&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Native Encryption&lt;/li&gt;
&lt;li&gt;Channel Programs&lt;/li&gt;
&lt;li&gt;Device Removal (Mirrors and Stripes)&lt;/li&gt;
&lt;li&gt;Redacted Send/recv&lt;/li&gt;
&lt;li&gt;Native TRIM Support (FreeBSD has its own, but this is better and applies to all ZFS implementations)&lt;/li&gt;
&lt;li&gt;Faster (mostly sequential) scrub/resilver&lt;/li&gt;
&lt;li&gt;DRAID (A great deal of time was spent explaining how this works, with diagrams on the chalk board)&lt;/li&gt;
&lt;li&gt;vdev metadata classes (store metadata on SSDs with data is on HDDs, or similar setups. Could also be modified to do dedup to SSD)&lt;/li&gt;
&lt;li&gt;Multi-mount protection (“safe import”, for dual-headed storage shelves)&lt;/li&gt;
&lt;li&gt;zpool checkpoint (rollback an entire pool, including zfs rename and zfs destroy)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Further Out&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Import improvements&lt;/li&gt;
&lt;li&gt;Import with missing top-level vdevs (some blocks unreadable, but might let you get some data)&lt;/li&gt;
&lt;li&gt;Improved allocator performance -- vdev spacemap log&lt;/li&gt;
&lt;li&gt;ZIL performance&lt;/li&gt;
&lt;li&gt;Persistent L2ARC&lt;/li&gt;
&lt;li&gt;ZSTD Compression&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Day 2

&lt;ul&gt;
&lt;li&gt;Day two started with the Have/Want/Need session for FreeBSD 12.0. A number of features that various people have or are in the process of building, were discussed with an eye towards upstreaming them. Features we want to have in time for 12.0 (early 2019) were also discussed.&lt;/li&gt;
&lt;li&gt;After the break was the Vendor summit, which continued the discussion of how FreeBSD and its vendors can work together to make a better operating system, and better products based on it&lt;/li&gt;
&lt;li&gt;After lunch, the group broke up into various working groups: Testing/CI, Containers, Hardening UFS, and GELI Improvements&lt;/li&gt;
&lt;li&gt;Allan lead the GELI Improvements session. The main thrust of the discussions was fixing an outstanding bug in GELI when using both key slots with passphrases. To solve this, and make GELI more extensible, the metadata format will be extended to allow it to store more than 512 bytes of data (currently 511 bytes are used).&lt;/li&gt;
&lt;li&gt;The new format will allow arbitrarily large metadata, defined at creation time by selecting the number of user key slots desired.&lt;/li&gt;
&lt;li&gt;The new extended metadata format will contain mostly the same fields, except the userkey will no longer be a byte array of IV-key, Data-key, HMAC, but a struct that will contain all data about that key&lt;/li&gt;
&lt;li&gt;This new format will store the number of pkcs5v2 iterations per key, instead of only having a single location to store this number for all keys (the source of the original bug)&lt;/li&gt;
&lt;li&gt;A new set of flags per key, to control some aspects of the key (does it require a keyfile, etc), as well as possibly the role of the key.&lt;/li&gt;
&lt;li&gt;An auxdata field related to the flags, this would allow a specific key with a specific flag set, to boot a different partition, rather than decrypt the main partition.&lt;/li&gt;
&lt;li&gt;A URI to external key material is also stored per key, allowing GELI to uniquely identify the correct data to load to be able to use a specific decryption key&lt;/li&gt;
&lt;li&gt;And the three original parts of the key are stored in separate fields now. The HMAC also has a type field, allowing for a different HMAC algorithm to be used in the future.&lt;/li&gt;
&lt;li&gt;The main metadata is also extended to include a field to store the number of user keys, and to provide an overall HMAC of the metadata, so that it can be verified using the master key (provide any of the user keys)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Other topics discussed:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ken Merry presented sedutil, a tool for managing Self Encrypting Drives, as may be required by certain governments and other specific use cases.&lt;/li&gt;
&lt;li&gt;Creating a deniable version of GELI, where the metadata is also encrypted&lt;/li&gt;
&lt;li&gt;The work to implemented GELI in the UEFI loader was discussed, and a number of developers volunteered to review and test the code&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Following the end of the Dev Summit, the “Newcomers orientation and mentorship” session was run by Michael W. Lucas, which attempts to pair up first time attendees with oldtimers, to make sure they always know a few people they can ask if they have questions, or if they need help getting introduced to the right people.&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://www.bsdcan.org/2017/schedule/day_2017-06-09.en.html" target="_blank" rel="nofollow noopener"&gt;Conference Day 1&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The conference opened with some short remarks from Dan Langille, and then the opening keynote by Dr Michael Geist, a law professor at the University of Ottawa where he holds the Canada Research Chair in Internet and E-commerce Law. The keynote focused on what some of the currently issues are, and how the technical community needs to get involved at all levels. In Canada especially, contacting your representatives is quite effective, and when it does not happen, they only hear the other side of the story, and often end up spouting talking points from lobbyists as if they were facts.&lt;/li&gt;
&lt;li&gt;The question period for the keynote ran well overtime because of the number of good questions the discussion raised, including how do we fight back against large telcos with teams of lawyers and piles of money.&lt;/li&gt;
&lt;li&gt;Then the four tracks of talks started up for the day&lt;/li&gt;
&lt;li&gt;The day wrapped up with the Work In Progress (WIP) session.

&lt;ul&gt;
&lt;li&gt;Allan Jude presented work on ZSTD compression in ZFS&lt;/li&gt;
&lt;li&gt;Drew Gallatin presented about work at Netflix on larger mbufs, to avoid the need for chaining and to allow more data to be pushed at once. Results in an 8% CPU time reduction when pushing 90 gbps of TLS encrypted traffic&lt;/li&gt;
&lt;li&gt;Dan Langille presented about letsencrypt (the acme.sh tool specifically), and bacula&lt;/li&gt;
&lt;li&gt;Samy Al Bahra presented about Concurrency Kit
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.bsdcan.org/2017/schedule/day_2017-06-10.en.html" target="_blank" rel="nofollow noopener"&gt;Conference Day 2&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Because Dan is a merciful soul, BSDCan starts an hour later on the second day&lt;/li&gt;
&lt;li&gt;Another great round of talks and BoF sessions over lunch&lt;/li&gt;
&lt;li&gt;The hallway track was great as always, and I spent most of the afternoon just talking with people&lt;/li&gt;
&lt;li&gt;Then the final set of talks started, and I was torn between all four of them&lt;/li&gt;
&lt;li&gt;Then there was the auction, and the closing party
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://blather.michaelwlucas.com/archives/2962" target="_blank" rel="nofollow noopener"&gt;BSDCan 2017 Auction Swag&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Groff Fundraiser Pins: During the conference, You could get a unique Groff pin, by donating more than the last person to either the FreeBSD or OpenBSD foundation&lt;/li&gt;
&lt;li&gt;Michael W. Lucas and his wife Liz donated some interesting home made and local items to the infamous Charity Auction&lt;/li&gt;
&lt;li&gt;I donated the last remaining copy of the “Canadian Edition” of “FreeBSD Mastery: Advanced ZedFS”, and a Pentium G4400 (Skylake) CPU (Supports ECC or non-ECC)&lt;/li&gt;
&lt;li&gt;Peter Hessler donated his pen (Have you read “Git Commit Murder” yet?)&lt;/li&gt;
&lt;li&gt;Theo De Raadt donated his autographed conference badge&lt;/li&gt;
&lt;li&gt;David Maxwell donated a large print of the group photo from last years FreeBSD Developers Summit, which was purchased by Allan&lt;/li&gt;
&lt;li&gt;There was also a FreeBSD Dev Summit T-Shirt (with the Slogan: What is Core doing about it?) autographed by all of the attending members of core, with a forged jhb@ signature.&lt;/li&gt;
&lt;li&gt;Lastly, someone wrote “I &amp;lt;3 FreeBSD” on a left over conference t-shirt with magic marker, and the bidding began to make OpenBSD developer Henning Brauer wear it to the closing party. The top bid was $150 by Kristof Provost, the FreeBSD pf maintainer.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://twitter.com/henningBrauer" target="_blank" rel="nofollow noopener"&gt;Henning Brauer loves FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In addition to the $150 donation that resulted in Henning wearing the I love FreeBSD t-shirt, he also took selfies with people in exchange for an additional donation of $10. A total of over $500 was raised.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/mwlauthor/status/874656462433386497" target="_blank" rel="nofollow noopener"&gt;Michael W. Lucas&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/michaeldexter/status/874344686885904384" target="_blank" rel="nofollow noopener"&gt;Michael Dexter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/yzgyyang/status/873714734343880705" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation Interns + Ed Maste + Eric Joyner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/khorben/status/873673295903825925" target="_blank" rel="nofollow noopener"&gt;Pierre Ponchery&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/niqdanger/status/873697176513380353" target="_blank" rel="nofollow noopener"&gt;Nick Danger &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/shirkdog/status/873687910175866881" target="_blank" rel="nofollow noopener"&gt;Michael Shirk &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/calvinhp/status/873686591692255233" target="_blank" rel="nofollow noopener"&gt;Calvin Hendryx-Parker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/reykfloeter/status/873673717884346368" target="_blank" rel="nofollow noopener"&gt;Reyk Floeter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/akpoff/status/873673432751370240" target="_blank" rel="nofollow noopener"&gt;Rod Grimes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/gonzopancho/status/873700951651233792" target="_blank" rel="nofollow noopener"&gt;Jim Thompson&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanChittenden/status/873750297113501697" target="_blank" rel="nofollow noopener"&gt;Sean Chittenden and Sam Gwydir, Henning wearing Theo de Raadt’s badge&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/davdunc/status/873807305162334208" target="_blank" rel="nofollow noopener"&gt;David Duncan&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://github.com/libtrue/libtrue" target="_blank" rel="nofollow noopener"&gt;libtrue&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;At the hacker lounge, a joke email was sent to the FreeBSD developers list, making it look like a change to true(1)’s manpage had been committed to “document that true(1) supports libxo”&lt;/li&gt;
&lt;li&gt;While the change was not actually made, as you might expect this started a discussion about if this was really necessary.&lt;/li&gt;
&lt;li&gt;This spawned a new github repo&lt;/li&gt;
&lt;li&gt;While this all started as a joke, it then became an example of how rapid collaboration can happen, and an example of implementing a number of modern technologies in FreeBSD, including libxo (json output), and capsicum (security sandboxing)&lt;/li&gt;
&lt;li&gt;The project has an large number of open issues and enhancement suggestions, and a number of active pull requests including:

&lt;ul&gt;
&lt;li&gt;Add Vagrantfile and Ansible playbooks for VM&lt;/li&gt;
&lt;li&gt;DTrace Support (Add the trueprov provider to allow tracing of true.&lt;/li&gt;
&lt;li&gt;A Code of Conduct&lt;/li&gt;
&lt;li&gt;libtrue.xyz website as a git submodule&lt;/li&gt;
&lt;li&gt;a false binary&lt;/li&gt;
&lt;li&gt;Python and Go bindings
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://hynek.me/articles/speaking/" target="_blank" rel="nofollow noopener"&gt;On Conference Speaking&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Phase 1: Idea&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Until now I’ve never had to sit down and ponder what I could speak about. Over the year, I run into at least one topic I know something about that appears to be interesting to the wider public. I’m positive that’s true for almost anyone if they keep their minds open and keep looking for it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Phase 2: Call for Proposals&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In the end I have to come up with a good pitch that speaks to as many people as possible and with a speculative outline. Since there are always many more submissions than talk slots, this is the first critical point. There are many reasons why a proposal can be refused, so put effort into not giving the program committee any additional, that are entirely avoidable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Phase 3: Waiting for the CFP Result&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;...do passive research: if I see something relevant, I add it to my mind map. At this point my mind map looks atypical though: it has a lot of unordered root nodes. I just throw in everything that looks interesting and add some of my own thoughts to it. In the case of the reliability topic, I spend a lot of time to stay on top it anyway so a lot of material emerged.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Phase 4: The Road to an Outline&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Once the talk is accepted, research intensifies. Books and articles I’ve written down for further research are read and topics extracted. In 2017, this started on January 23. But before I start writing, I get the mind map into a shape that makes sense and that will support me. This is the second critical point: I have to come up with a compelling story using the material I’ve collected. Just enumerating facts and wisdom a good talk doesn’t make. It has to have a good flow that makes sense and that keeps people engaged.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Phase 5: Slides&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I have a very strong opinion on slides: use few, big words. Don’t make people read your slides unless it’s code samples. Otherwise they’ll be distracted from what you say. You’ll see me rarely use fonts smaller than 100pt (code ~40–60pt) which is readable from everywhere and forces me to be as brief as possible.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Phase 6: Polishing&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I firmly believe that this phase makes or breaks a talk. Only by practicing again and again you’ll notice rough spots, weak transitions, and redundancies. Each iteration makes the talk a bit better both regarding the slides and my ability to present it. Each iteration adds impressions that my subconscious mind chews on and makes things fall in place and give me inspiration in unlikely moments.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Phase 7: Sneak Preview&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In the past years I was blessed with the opportunity to test my talks in front of a smaller audiences. Interestingly, I’ve come to take smaller events more seriously than the big ones. If a small conference pays for my travels and gives me a prominent slot, I have both more responsibility and attention than if I paid my way to an event where I’m one of many speakers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Phase 8: Refinement and More Polishing&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The first session is always just going through all slides, reacquainting myself with my deck. Then it always takes quite a bit of willpower until I do a full practice run again: the first time always pretty brutal because I tend to forget pretty fast. On the other hand, it rather quickly comes back too. Which makes it even harder to motivate myself to start. Ideally I’d have access to a video recording from phase 7 to have a closer look at what work could be improved. But since it’s usually smaller conferences, I don’t.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Phase 9: Travel&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Whenever I travel to conferences I bring everything I need for my talk and then some. To make sure I don’t forget anything essential, I have a packing list for my business trips (and vacations too – the differences are so minimal that I use a unified list). My epic packing list for business trips. I print it out the day before departure and cross stuff off as I pack. I highly recommend to anyone to emulate this since packing is a lot less stressful if you just follow a checklist.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Phase 10: Showtime!&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;So this is it. The moment everything else led to. People who suffer from fear of public speaking think this is the worst part. But if you scroll back you’ll realize: this is the payoff! This is what you worked toward. This is the fun, easy part. Once you stand in front of the audience, the work is done and you get to enjoy the ride.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.trueos.org/blog/discourse-trueos-qa-61617/" target="_blank" rel="nofollow noopener"&gt;Kris and Ken Moore - TrueOS Q&amp;amp;A&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/tech-repository/2017/06/10/msg000637.html" target="_blank" rel="nofollow noopener"&gt;New home for the repository conversions (NetBSD Git mirror is now on GitHub.com/NetBSD)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deftly.net/posts/2017-05-01-openbsd-ksh-tab-complete.html" target="_blank" rel="nofollow noopener"&gt;Tab completion in OpenBSD's ksh&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://pkgsrc.org/pkgsrcCon/2017/" target="_blank" rel="nofollow noopener"&gt;pkgsrcCon July 1&amp;amp;2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.mail-archive.com/misc@openbsd.org/msg153421.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.1 syspatch installed SP kernel on MP system&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://knoxbug.org/content/join-us-freebsd-day" target="_blank" rel="nofollow noopener"&gt;KNOXBug meeting this Friday&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2XEE9JA#wrap" target="_blank" rel="nofollow noopener"&gt;Rob - FreeNAS Corral&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/27GSJK0#wrap" target="_blank" rel="nofollow noopener"&gt;Brad - ZFS snapshot strategy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3D02RYZ#wrap" target="_blank" rel="nofollow noopener"&gt;Phil - ZFS Send via Snail Mail&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://dpaste.com/0ZSMVWH#wrap" target="_blank" rel="nofollow noopener"&gt;Phillip - Network Limits for Public NTP Server&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Send questions, comments, show ideas/topics, or stories you want mentioned on the show to &lt;a href="mailto:feedback@bsdnow.tv" target="_blank" rel="nofollow noopener"&gt;feedback@bsdnow.tv&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview,</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This episode gives you the full dose of BSDCan 2017 recap as well as a blog post on conference speaking advice.</p>

<h2>Headlines</h2>

<h3>Pre-conference activities: Goat BoF, FreeBSD Foundation Board Meeting, and FreeBSD Journal Editorial Board Meeting</h3>

<ul>
<li>The FreeBSD Foundation has a new President as Justin Gibbs is busy this year with building a house, so George Neville-Neil took up the task to serve as President, with Justin Gibbs as Secretary. Take a look at the updated <a href="https://www.freebsdfoundation.org/about/board-of-directors/" target="_blank" rel="nofollow noopener">Board of Directors</a>.<br></li>
<li>We also have a new <a href="https://www.freebsdfoundation.org/about/staff/" target="_blank" rel="nofollow noopener">staff member</a>: Scott Lamons joined the Foundation team as senior program manager.</li>
</ul>

<blockquote>
<p>Scott’s work for the Foundation will focus on managing and evangelizing programs for advanced technologies in FreeBSD including preparing project plans, coordinating resources, and facilitating interactions between commercial vendors, the Foundation, and the FreeBSD community.</p>
</blockquote>

<ul>
<li>The Foundation also planned various future activities, visits of upcoming conferences, and finding new ways to support and engage the community.</li>
<li>The Foundation now has interns in the form of co-op students from the University of Waterloo, Canada. This is described further in the <a href="https://www.freebsdfoundation.org/blog/may-2017-development-projects-update/" target="_blank" rel="nofollow noopener">May 2017 Development Projects Update</a>. Both students (Siva and Charlie) were also the conference, helping out at the Foundation table, demonstrating the tinderbox dashboard. Follow the <a href="https://www.freebsdfoundation.org/news-and-events/blog/blog-post/building-a-physical-freebsd-build-status-dashboard/" target="_blank" rel="nofollow noopener">detailed instructions</a> to build one of your own.</li>
<li>The Foundation put out a <a href="https://www.freebsdfoundation.org/blog/freebsd-foundation-2017-project-proposal-solicitation/" target="_blank" rel="nofollow noopener">call for Project Proposal Solicitation for 2017</a>. If you think you have a good proposal for work relating to any of the major subsystems or infrastructure for FreeBSD, we’d be happy to review it.</li>
<li><p>Don’t miss the deadlines for travel grants to some of the upcoming conferences. You can find the necessary forms and deadlines at the <a href="https://www.freebsdfoundation.org/what-we-do/travel-grants/travel-grants/" target="_blank" rel="nofollow noopener">Travel Grant page</a> on the Foundation website.</p></li>
<li><p>Pictures from the Goat BoF can be found on <a href="https://assets.keltia.net/photos/BSDCan-2017/Royal%20Oak/index.html" target="_blank" rel="nofollow noopener">Keltia.net</a></p></li>
<li><p>Overlapping with the GoatBoF, members of the FreeBSD Journal editorial board met in a conference room in the Novotel to plan the upcoming issues. Topics were found, authors identified, and new content was discussed to appeal to even more readers. Check out the <a href="https://www.freebsdfoundation.org/journal/" target="_blank" rel="nofollow noopener">FreeBSD Journal website</a> and subscribe if you like to support the Foundation in that way.</p>

<hr></li>
</ul>

<h3><a href="https://wiki.freebsd.org/DevSummit/201706" target="_blank" rel="nofollow noopener">FreeBSD Devsummit Day 1 &amp; 2</a></h3>

<ul>
<li>The first day of the Devsummit began with introductory slides by Gordon Tetlow, who organized the devsummit very well.</li>
<li>Benno Rice of the FreeBSD core team presented the work done on the new Code of Conduct, which will become effective soon. A round of Q&amp;A followed, with positive feedback from the other devsummit attendees supporting the new CoC.</li>
<li>After that, Allan Jude joined to talk about the new <a href="https://github.com/freebsd/fcp" target="_blank" rel="nofollow noopener">FreeBSD Community Proposal (FCP)</a> process. Modelled after IETF RFCs, Joyent RFDs, and Python PEP, it is a new way for the project to reach consensus on the design or implementation of new features or processes. The FCP repo contains FCP#0 that describes the process, and a template for writing a proposal.</li>
<li>Then, the entire core team (except John Baldwin, who could not make it this year) and core secretary held a core Q&amp;A session, Answering questions, gathering feedback and suggestions.<br></li>
<li>After the coffee break, we had a presentation about Intel’s QAT integration in FreeBSD.</li>
<li>When the lunch was over, people spread out into working groups about BearSSL, Transport (TCP/IP), and OpenZFS.</li>
<li><a href="https://pbs.twimg.com/media/DBu_IMsWAAId2sN.jpg:large" target="_blank" rel="nofollow noopener">OpenZFS working group</a>:

<ul>
<li>Matt Ahrens lead the group, and spent most of the first session providing a status update about what features have been recently committed, are out for review, on the horizon, or in the design phase.</li>
</ul></li>
<li><strong>Existing Features</strong>

<ul>
<li>Compressed ARC</li>
<li>Compressed Send/Recv</li>
<li><strong>Recently Upstreamed</strong></li>
<li>A recent commit improved RAID-Z write speeds by declaring writes to padding blocks to be optional, and to always write them if they can be aggregated with the next write. Mostly impacts large record sizes.</li>
<li>ABD (ARC buffer scatter/gather)</li>
</ul></li>
<li><strong>Upstreaming In Progress</strong>

<ul>
<li>Native Encryption</li>
<li>Channel Programs</li>
<li>Device Removal (Mirrors and Stripes)</li>
<li>Redacted Send/recv</li>
<li>Native TRIM Support (FreeBSD has its own, but this is better and applies to all ZFS implementations)</li>
<li>Faster (mostly sequential) scrub/resilver</li>
<li>DRAID (A great deal of time was spent explaining how this works, with diagrams on the chalk board)</li>
<li>vdev metadata classes (store metadata on SSDs with data is on HDDs, or similar setups. Could also be modified to do dedup to SSD)</li>
<li>Multi-mount protection (“safe import”, for dual-headed storage shelves)</li>
<li>zpool checkpoint (rollback an entire pool, including zfs rename and zfs destroy)</li>
</ul></li>
<li><strong>Further Out</strong>

<ul>
<li>Import improvements</li>
<li>Import with missing top-level vdevs (some blocks unreadable, but might let you get some data)</li>
<li>Improved allocator performance -- vdev spacemap log</li>
<li>ZIL performance</li>
<li>Persistent L2ARC</li>
<li>ZSTD Compression</li>
</ul></li>
<li>Day 2

<ul>
<li>Day two started with the Have/Want/Need session for FreeBSD 12.0. A number of features that various people have or are in the process of building, were discussed with an eye towards upstreaming them. Features we want to have in time for 12.0 (early 2019) were also discussed.</li>
<li>After the break was the Vendor summit, which continued the discussion of how FreeBSD and its vendors can work together to make a better operating system, and better products based on it</li>
<li>After lunch, the group broke up into various working groups: Testing/CI, Containers, Hardening UFS, and GELI Improvements</li>
<li>Allan lead the GELI Improvements session. The main thrust of the discussions was fixing an outstanding bug in GELI when using both key slots with passphrases. To solve this, and make GELI more extensible, the metadata format will be extended to allow it to store more than 512 bytes of data (currently 511 bytes are used).</li>
<li>The new format will allow arbitrarily large metadata, defined at creation time by selecting the number of user key slots desired.</li>
<li>The new extended metadata format will contain mostly the same fields, except the userkey will no longer be a byte array of IV-key, Data-key, HMAC, but a struct that will contain all data about that key</li>
<li>This new format will store the number of pkcs5v2 iterations per key, instead of only having a single location to store this number for all keys (the source of the original bug)</li>
<li>A new set of flags per key, to control some aspects of the key (does it require a keyfile, etc), as well as possibly the role of the key.</li>
<li>An auxdata field related to the flags, this would allow a specific key with a specific flag set, to boot a different partition, rather than decrypt the main partition.</li>
<li>A URI to external key material is also stored per key, allowing GELI to uniquely identify the correct data to load to be able to use a specific decryption key</li>
<li>And the three original parts of the key are stored in separate fields now. The HMAC also has a type field, allowing for a different HMAC algorithm to be used in the future.</li>
<li>The main metadata is also extended to include a field to store the number of user keys, and to provide an overall HMAC of the metadata, so that it can be verified using the master key (provide any of the user keys)</li>
</ul></li>
<li><p>Other topics discussed:</p>

<ul>
<li>Ken Merry presented sedutil, a tool for managing Self Encrypting Drives, as may be required by certain governments and other specific use cases.</li>
<li>Creating a deniable version of GELI, where the metadata is also encrypted</li>
<li>The work to implemented GELI in the UEFI loader was discussed, and a number of developers volunteered to review and test the code</li>
</ul></li>
<li><p>Following the end of the Dev Summit, the “Newcomers orientation and mentorship” session was run by Michael W. Lucas, which attempts to pair up first time attendees with oldtimers, to make sure they always know a few people they can ask if they have questions, or if they need help getting introduced to the right people.</p>

<hr></li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://www.bsdcan.org/2017/schedule/day_2017-06-09.en.html" target="_blank" rel="nofollow noopener">Conference Day 1</a></h3>

<ul>
<li>The conference opened with some short remarks from Dan Langille, and then the opening keynote by Dr Michael Geist, a law professor at the University of Ottawa where he holds the Canada Research Chair in Internet and E-commerce Law. The keynote focused on what some of the currently issues are, and how the technical community needs to get involved at all levels. In Canada especially, contacting your representatives is quite effective, and when it does not happen, they only hear the other side of the story, and often end up spouting talking points from lobbyists as if they were facts.</li>
<li>The question period for the keynote ran well overtime because of the number of good questions the discussion raised, including how do we fight back against large telcos with teams of lawyers and piles of money.</li>
<li>Then the four tracks of talks started up for the day</li>
<li>The day wrapped up with the Work In Progress (WIP) session.

<ul>
<li>Allan Jude presented work on ZSTD compression in ZFS</li>
<li>Drew Gallatin presented about work at Netflix on larger mbufs, to avoid the need for chaining and to allow more data to be pushed at once. Results in an 8% CPU time reduction when pushing 90 gbps of TLS encrypted traffic</li>
<li>Dan Langille presented about letsencrypt (the acme.sh tool specifically), and bacula</li>
<li>Samy Al Bahra presented about Concurrency Kit
***</li>
</ul></li>
</ul>

<h3><a href="http://www.bsdcan.org/2017/schedule/day_2017-06-10.en.html" target="_blank" rel="nofollow noopener">Conference Day 2</a></h3>

<ul>
<li>Because Dan is a merciful soul, BSDCan starts an hour later on the second day</li>
<li>Another great round of talks and BoF sessions over lunch</li>
<li>The hallway track was great as always, and I spent most of the afternoon just talking with people</li>
<li>Then the final set of talks started, and I was torn between all four of them</li>
<li>Then there was the auction, and the closing party
***</li>
</ul>

<h3><a href="https://blather.michaelwlucas.com/archives/2962" target="_blank" rel="nofollow noopener">BSDCan 2017 Auction Swag</a></h3>

<ul>
<li>Groff Fundraiser Pins: During the conference, You could get a unique Groff pin, by donating more than the last person to either the FreeBSD or OpenBSD foundation</li>
<li>Michael W. Lucas and his wife Liz donated some interesting home made and local items to the infamous Charity Auction</li>
<li>I donated the last remaining copy of the “Canadian Edition” of “FreeBSD Mastery: Advanced ZedFS”, and a Pentium G4400 (Skylake) CPU (Supports ECC or non-ECC)</li>
<li>Peter Hessler donated his pen (Have you read “Git Commit Murder” yet?)</li>
<li>Theo De Raadt donated his autographed conference badge</li>
<li>David Maxwell donated a large print of the group photo from last years FreeBSD Developers Summit, which was purchased by Allan</li>
<li>There was also a FreeBSD Dev Summit T-Shirt (with the Slogan: What is Core doing about it?) autographed by all of the attending members of core, with a forged jhb@ signature.</li>
<li>Lastly, someone wrote “I &lt;3 FreeBSD” on a left over conference t-shirt with magic marker, and the bidding began to make OpenBSD developer Henning Brauer wear it to the closing party. The top bid was $150 by Kristof Provost, the FreeBSD pf maintainer.
***</li>
</ul>

<h3><a href="https://twitter.com/henningBrauer" target="_blank" rel="nofollow noopener">Henning Brauer loves FreeBSD</a></h3>

<ul>
<li>In addition to the $150 donation that resulted in Henning wearing the I love FreeBSD t-shirt, he also took selfies with people in exchange for an additional donation of $10. A total of over $500 was raised.</li>
<li><a href="https://twitter.com/mwlauthor/status/874656462433386497" target="_blank" rel="nofollow noopener">Michael W. Lucas</a></li>
<li><a href="https://twitter.com/michaeldexter/status/874344686885904384" target="_blank" rel="nofollow noopener">Michael Dexter</a></li>
<li><a href="https://twitter.com/yzgyyang/status/873714734343880705" target="_blank" rel="nofollow noopener">FreeBSD Foundation Interns + Ed Maste + Eric Joyner</a></li>
<li><a href="https://twitter.com/khorben/status/873673295903825925" target="_blank" rel="nofollow noopener">Pierre Ponchery</a></li>
<li><a href="https://twitter.com/niqdanger/status/873697176513380353" target="_blank" rel="nofollow noopener">Nick Danger </a></li>
<li><a href="https://twitter.com/shirkdog/status/873687910175866881" target="_blank" rel="nofollow noopener">Michael Shirk </a></li>
<li><a href="https://twitter.com/calvinhp/status/873686591692255233" target="_blank" rel="nofollow noopener">Calvin Hendryx-Parker</a></li>
<li><a href="https://twitter.com/reykfloeter/status/873673717884346368" target="_blank" rel="nofollow noopener">Reyk Floeter</a></li>
<li><a href="https://twitter.com/akpoff/status/873673432751370240" target="_blank" rel="nofollow noopener">Rod Grimes</a></li>
<li><a href="https://twitter.com/gonzopancho/status/873700951651233792" target="_blank" rel="nofollow noopener">Jim Thompson</a></li>
<li><a href="https://twitter.com/SeanChittenden/status/873750297113501697" target="_blank" rel="nofollow noopener">Sean Chittenden and Sam Gwydir, Henning wearing Theo de Raadt’s badge</a></li>
<li><a href="https://twitter.com/davdunc/status/873807305162334208" target="_blank" rel="nofollow noopener">David Duncan</a>
***</li>
</ul>

<h3><a href="https://github.com/libtrue/libtrue" target="_blank" rel="nofollow noopener">libtrue</a></h3>

<ul>
<li>At the hacker lounge, a joke email was sent to the FreeBSD developers list, making it look like a change to true(1)’s manpage had been committed to “document that true(1) supports libxo”</li>
<li>While the change was not actually made, as you might expect this started a discussion about if this was really necessary.</li>
<li>This spawned a new github repo</li>
<li>While this all started as a joke, it then became an example of how rapid collaboration can happen, and an example of implementing a number of modern technologies in FreeBSD, including libxo (json output), and capsicum (security sandboxing)</li>
<li>The project has an large number of open issues and enhancement suggestions, and a number of active pull requests including:

<ul>
<li>Add Vagrantfile and Ansible playbooks for VM</li>
<li>DTrace Support (Add the trueprov provider to allow tracing of true.</li>
<li>A Code of Conduct</li>
<li>libtrue.xyz website as a git submodule</li>
<li>a false binary</li>
<li>Python and Go bindings
***</li>
</ul></li>
</ul>

<h3><a href="https://hynek.me/articles/speaking/" target="_blank" rel="nofollow noopener">On Conference Speaking</a></h3>

<ul>
<li>Phase 1: Idea</li>
</ul>

<blockquote>
<p>Until now I’ve never had to sit down and ponder what I could speak about. Over the year, I run into at least one topic I know something about that appears to be interesting to the wider public. I’m positive that’s true for almost anyone if they keep their minds open and keep looking for it.</p>
</blockquote>

<ul>
<li>Phase 2: Call for Proposals</li>
</ul>

<blockquote>
<p>In the end I have to come up with a good pitch that speaks to as many people as possible and with a speculative outline. Since there are always many more submissions than talk slots, this is the first critical point. There are many reasons why a proposal can be refused, so put effort into not giving the program committee any additional, that are entirely avoidable.</p>
</blockquote>

<ul>
<li>Phase 3: Waiting for the CFP Result</li>
</ul>

<blockquote>
<p>...do passive research: if I see something relevant, I add it to my mind map. At this point my mind map looks atypical though: it has a lot of unordered root nodes. I just throw in everything that looks interesting and add some of my own thoughts to it. In the case of the reliability topic, I spend a lot of time to stay on top it anyway so a lot of material emerged.</p>
</blockquote>

<ul>
<li>Phase 4: The Road to an Outline</li>
</ul>

<blockquote>
<p>Once the talk is accepted, research intensifies. Books and articles I’ve written down for further research are read and topics extracted. In 2017, this started on January 23. But before I start writing, I get the mind map into a shape that makes sense and that will support me. This is the second critical point: I have to come up with a compelling story using the material I’ve collected. Just enumerating facts and wisdom a good talk doesn’t make. It has to have a good flow that makes sense and that keeps people engaged.</p>
</blockquote>

<ul>
<li>Phase 5: Slides</li>
</ul>

<blockquote>
<p>I have a very strong opinion on slides: use few, big words. Don’t make people read your slides unless it’s code samples. Otherwise they’ll be distracted from what you say. You’ll see me rarely use fonts smaller than 100pt (code ~40–60pt) which is readable from everywhere and forces me to be as brief as possible.</p>
</blockquote>

<ul>
<li>Phase 6: Polishing</li>
</ul>

<blockquote>
<p>I firmly believe that this phase makes or breaks a talk. Only by practicing again and again you’ll notice rough spots, weak transitions, and redundancies. Each iteration makes the talk a bit better both regarding the slides and my ability to present it. Each iteration adds impressions that my subconscious mind chews on and makes things fall in place and give me inspiration in unlikely moments.</p>
</blockquote>

<ul>
<li>Phase 7: Sneak Preview</li>
</ul>

<blockquote>
<p>In the past years I was blessed with the opportunity to test my talks in front of a smaller audiences. Interestingly, I’ve come to take smaller events more seriously than the big ones. If a small conference pays for my travels and gives me a prominent slot, I have both more responsibility and attention than if I paid my way to an event where I’m one of many speakers.</p>
</blockquote>

<ul>
<li>Phase 8: Refinement and More Polishing</li>
</ul>

<blockquote>
<p>The first session is always just going through all slides, reacquainting myself with my deck. Then it always takes quite a bit of willpower until I do a full practice run again: the first time always pretty brutal because I tend to forget pretty fast. On the other hand, it rather quickly comes back too. Which makes it even harder to motivate myself to start. Ideally I’d have access to a video recording from phase 7 to have a closer look at what work could be improved. But since it’s usually smaller conferences, I don’t.</p>
</blockquote>

<ul>
<li>Phase 9: Travel</li>
</ul>

<blockquote>
<p>Whenever I travel to conferences I bring everything I need for my talk and then some. To make sure I don’t forget anything essential, I have a packing list for my business trips (and vacations too – the differences are so minimal that I use a unified list). My epic packing list for business trips. I print it out the day before departure and cross stuff off as I pack. I highly recommend to anyone to emulate this since packing is a lot less stressful if you just follow a checklist.</p>
</blockquote>

<ul>
<li>Phase 10: Showtime!</li>
</ul>

<blockquote>
<p>So this is it. The moment everything else led to. People who suffer from fear of public speaking think this is the worst part. But if you scroll back you’ll realize: this is the payoff! This is what you worked toward. This is the fun, easy part. Once you stand in front of the audience, the work is done and you get to enjoy the ride.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.trueos.org/blog/discourse-trueos-qa-61617/" target="_blank" rel="nofollow noopener">Kris and Ken Moore - TrueOS Q&amp;A</a></li>
<li><a href="https://mail-index.netbsd.org/tech-repository/2017/06/10/msg000637.html" target="_blank" rel="nofollow noopener">New home for the repository conversions (NetBSD Git mirror is now on GitHub.com/NetBSD)</a></li>
<li><a href="https://deftly.net/posts/2017-05-01-openbsd-ksh-tab-complete.html" target="_blank" rel="nofollow noopener">Tab completion in OpenBSD's ksh</a></li>
<li><a href="http://pkgsrc.org/pkgsrcCon/2017/" target="_blank" rel="nofollow noopener">pkgsrcCon July 1&amp;2</a></li>
<li><a href="https://www.mail-archive.com/misc@openbsd.org/msg153421.html" target="_blank" rel="nofollow noopener">OpenBSD 6.1 syspatch installed SP kernel on MP system</a></li>
<li><a href="http://knoxbug.org/content/join-us-freebsd-day" target="_blank" rel="nofollow noopener">KNOXBug meeting this Friday</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2XEE9JA#wrap" target="_blank" rel="nofollow noopener">Rob - FreeNAS Corral</a></li>
<li><a href="http://dpaste.com/27GSJK0#wrap" target="_blank" rel="nofollow noopener">Brad - ZFS snapshot strategy</a></li>
<li><a href="http://dpaste.com/3D02RYZ#wrap" target="_blank" rel="nofollow noopener">Phil - ZFS Send via Snail Mail</a></li>
<li><p><a href="http://dpaste.com/0ZSMVWH#wrap" target="_blank" rel="nofollow noopener">Phillip - Network Limits for Public NTP Server</a></p>

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

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This episode gives you the full dose of BSDCan 2017 recap as well as a blog post on conference speaking advice.</p>

<h2>Headlines</h2>

<h3>Pre-conference activities: Goat BoF, FreeBSD Foundation Board Meeting, and FreeBSD Journal Editorial Board Meeting</h3>

<ul>
<li>The FreeBSD Foundation has a new President as Justin Gibbs is busy this year with building a house, so George Neville-Neil took up the task to serve as President, with Justin Gibbs as Secretary. Take a look at the updated <a href="https://www.freebsdfoundation.org/about/board-of-directors/" target="_blank" rel="nofollow noopener">Board of Directors</a>.<br></li>
<li>We also have a new <a href="https://www.freebsdfoundation.org/about/staff/" target="_blank" rel="nofollow noopener">staff member</a>: Scott Lamons joined the Foundation team as senior program manager.</li>
</ul>

<blockquote>
<p>Scott’s work for the Foundation will focus on managing and evangelizing programs for advanced technologies in FreeBSD including preparing project plans, coordinating resources, and facilitating interactions between commercial vendors, the Foundation, and the FreeBSD community.</p>
</blockquote>

<ul>
<li>The Foundation also planned various future activities, visits of upcoming conferences, and finding new ways to support and engage the community.</li>
<li>The Foundation now has interns in the form of co-op students from the University of Waterloo, Canada. This is described further in the <a href="https://www.freebsdfoundation.org/blog/may-2017-development-projects-update/" target="_blank" rel="nofollow noopener">May 2017 Development Projects Update</a>. Both students (Siva and Charlie) were also the conference, helping out at the Foundation table, demonstrating the tinderbox dashboard. Follow the <a href="https://www.freebsdfoundation.org/news-and-events/blog/blog-post/building-a-physical-freebsd-build-status-dashboard/" target="_blank" rel="nofollow noopener">detailed instructions</a> to build one of your own.</li>
<li>The Foundation put out a <a href="https://www.freebsdfoundation.org/blog/freebsd-foundation-2017-project-proposal-solicitation/" target="_blank" rel="nofollow noopener">call for Project Proposal Solicitation for 2017</a>. If you think you have a good proposal for work relating to any of the major subsystems or infrastructure for FreeBSD, we’d be happy to review it.</li>
<li><p>Don’t miss the deadlines for travel grants to some of the upcoming conferences. You can find the necessary forms and deadlines at the <a href="https://www.freebsdfoundation.org/what-we-do/travel-grants/travel-grants/" target="_blank" rel="nofollow noopener">Travel Grant page</a> on the Foundation website.</p></li>
<li><p>Pictures from the Goat BoF can be found on <a href="https://assets.keltia.net/photos/BSDCan-2017/Royal%20Oak/index.html" target="_blank" rel="nofollow noopener">Keltia.net</a></p></li>
<li><p>Overlapping with the GoatBoF, members of the FreeBSD Journal editorial board met in a conference room in the Novotel to plan the upcoming issues. Topics were found, authors identified, and new content was discussed to appeal to even more readers. Check out the <a href="https://www.freebsdfoundation.org/journal/" target="_blank" rel="nofollow noopener">FreeBSD Journal website</a> and subscribe if you like to support the Foundation in that way.</p>

<hr></li>
</ul>

<h3><a href="https://wiki.freebsd.org/DevSummit/201706" target="_blank" rel="nofollow noopener">FreeBSD Devsummit Day 1 &amp; 2</a></h3>

<ul>
<li>The first day of the Devsummit began with introductory slides by Gordon Tetlow, who organized the devsummit very well.</li>
<li>Benno Rice of the FreeBSD core team presented the work done on the new Code of Conduct, which will become effective soon. A round of Q&amp;A followed, with positive feedback from the other devsummit attendees supporting the new CoC.</li>
<li>After that, Allan Jude joined to talk about the new <a href="https://github.com/freebsd/fcp" target="_blank" rel="nofollow noopener">FreeBSD Community Proposal (FCP)</a> process. Modelled after IETF RFCs, Joyent RFDs, and Python PEP, it is a new way for the project to reach consensus on the design or implementation of new features or processes. The FCP repo contains FCP#0 that describes the process, and a template for writing a proposal.</li>
<li>Then, the entire core team (except John Baldwin, who could not make it this year) and core secretary held a core Q&amp;A session, Answering questions, gathering feedback and suggestions.<br></li>
<li>After the coffee break, we had a presentation about Intel’s QAT integration in FreeBSD.</li>
<li>When the lunch was over, people spread out into working groups about BearSSL, Transport (TCP/IP), and OpenZFS.</li>
<li><a href="https://pbs.twimg.com/media/DBu_IMsWAAId2sN.jpg:large" target="_blank" rel="nofollow noopener">OpenZFS working group</a>:

<ul>
<li>Matt Ahrens lead the group, and spent most of the first session providing a status update about what features have been recently committed, are out for review, on the horizon, or in the design phase.</li>
</ul></li>
<li><strong>Existing Features</strong>

<ul>
<li>Compressed ARC</li>
<li>Compressed Send/Recv</li>
<li><strong>Recently Upstreamed</strong></li>
<li>A recent commit improved RAID-Z write speeds by declaring writes to padding blocks to be optional, and to always write them if they can be aggregated with the next write. Mostly impacts large record sizes.</li>
<li>ABD (ARC buffer scatter/gather)</li>
</ul></li>
<li><strong>Upstreaming In Progress</strong>

<ul>
<li>Native Encryption</li>
<li>Channel Programs</li>
<li>Device Removal (Mirrors and Stripes)</li>
<li>Redacted Send/recv</li>
<li>Native TRIM Support (FreeBSD has its own, but this is better and applies to all ZFS implementations)</li>
<li>Faster (mostly sequential) scrub/resilver</li>
<li>DRAID (A great deal of time was spent explaining how this works, with diagrams on the chalk board)</li>
<li>vdev metadata classes (store metadata on SSDs with data is on HDDs, or similar setups. Could also be modified to do dedup to SSD)</li>
<li>Multi-mount protection (“safe import”, for dual-headed storage shelves)</li>
<li>zpool checkpoint (rollback an entire pool, including zfs rename and zfs destroy)</li>
</ul></li>
<li><strong>Further Out</strong>

<ul>
<li>Import improvements</li>
<li>Import with missing top-level vdevs (some blocks unreadable, but might let you get some data)</li>
<li>Improved allocator performance -- vdev spacemap log</li>
<li>ZIL performance</li>
<li>Persistent L2ARC</li>
<li>ZSTD Compression</li>
</ul></li>
<li>Day 2

<ul>
<li>Day two started with the Have/Want/Need session for FreeBSD 12.0. A number of features that various people have or are in the process of building, were discussed with an eye towards upstreaming them. Features we want to have in time for 12.0 (early 2019) were also discussed.</li>
<li>After the break was the Vendor summit, which continued the discussion of how FreeBSD and its vendors can work together to make a better operating system, and better products based on it</li>
<li>After lunch, the group broke up into various working groups: Testing/CI, Containers, Hardening UFS, and GELI Improvements</li>
<li>Allan lead the GELI Improvements session. The main thrust of the discussions was fixing an outstanding bug in GELI when using both key slots with passphrases. To solve this, and make GELI more extensible, the metadata format will be extended to allow it to store more than 512 bytes of data (currently 511 bytes are used).</li>
<li>The new format will allow arbitrarily large metadata, defined at creation time by selecting the number of user key slots desired.</li>
<li>The new extended metadata format will contain mostly the same fields, except the userkey will no longer be a byte array of IV-key, Data-key, HMAC, but a struct that will contain all data about that key</li>
<li>This new format will store the number of pkcs5v2 iterations per key, instead of only having a single location to store this number for all keys (the source of the original bug)</li>
<li>A new set of flags per key, to control some aspects of the key (does it require a keyfile, etc), as well as possibly the role of the key.</li>
<li>An auxdata field related to the flags, this would allow a specific key with a specific flag set, to boot a different partition, rather than decrypt the main partition.</li>
<li>A URI to external key material is also stored per key, allowing GELI to uniquely identify the correct data to load to be able to use a specific decryption key</li>
<li>And the three original parts of the key are stored in separate fields now. The HMAC also has a type field, allowing for a different HMAC algorithm to be used in the future.</li>
<li>The main metadata is also extended to include a field to store the number of user keys, and to provide an overall HMAC of the metadata, so that it can be verified using the master key (provide any of the user keys)</li>
</ul></li>
<li><p>Other topics discussed:</p>

<ul>
<li>Ken Merry presented sedutil, a tool for managing Self Encrypting Drives, as may be required by certain governments and other specific use cases.</li>
<li>Creating a deniable version of GELI, where the metadata is also encrypted</li>
<li>The work to implemented GELI in the UEFI loader was discussed, and a number of developers volunteered to review and test the code</li>
</ul></li>
<li><p>Following the end of the Dev Summit, the “Newcomers orientation and mentorship” session was run by Michael W. Lucas, which attempts to pair up first time attendees with oldtimers, to make sure they always know a few people they can ask if they have questions, or if they need help getting introduced to the right people.</p>

<hr></li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://www.bsdcan.org/2017/schedule/day_2017-06-09.en.html" target="_blank" rel="nofollow noopener">Conference Day 1</a></h3>

<ul>
<li>The conference opened with some short remarks from Dan Langille, and then the opening keynote by Dr Michael Geist, a law professor at the University of Ottawa where he holds the Canada Research Chair in Internet and E-commerce Law. The keynote focused on what some of the currently issues are, and how the technical community needs to get involved at all levels. In Canada especially, contacting your representatives is quite effective, and when it does not happen, they only hear the other side of the story, and often end up spouting talking points from lobbyists as if they were facts.</li>
<li>The question period for the keynote ran well overtime because of the number of good questions the discussion raised, including how do we fight back against large telcos with teams of lawyers and piles of money.</li>
<li>Then the four tracks of talks started up for the day</li>
<li>The day wrapped up with the Work In Progress (WIP) session.

<ul>
<li>Allan Jude presented work on ZSTD compression in ZFS</li>
<li>Drew Gallatin presented about work at Netflix on larger mbufs, to avoid the need for chaining and to allow more data to be pushed at once. Results in an 8% CPU time reduction when pushing 90 gbps of TLS encrypted traffic</li>
<li>Dan Langille presented about letsencrypt (the acme.sh tool specifically), and bacula</li>
<li>Samy Al Bahra presented about Concurrency Kit
***</li>
</ul></li>
</ul>

<h3><a href="http://www.bsdcan.org/2017/schedule/day_2017-06-10.en.html" target="_blank" rel="nofollow noopener">Conference Day 2</a></h3>

<ul>
<li>Because Dan is a merciful soul, BSDCan starts an hour later on the second day</li>
<li>Another great round of talks and BoF sessions over lunch</li>
<li>The hallway track was great as always, and I spent most of the afternoon just talking with people</li>
<li>Then the final set of talks started, and I was torn between all four of them</li>
<li>Then there was the auction, and the closing party
***</li>
</ul>

<h3><a href="https://blather.michaelwlucas.com/archives/2962" target="_blank" rel="nofollow noopener">BSDCan 2017 Auction Swag</a></h3>

<ul>
<li>Groff Fundraiser Pins: During the conference, You could get a unique Groff pin, by donating more than the last person to either the FreeBSD or OpenBSD foundation</li>
<li>Michael W. Lucas and his wife Liz donated some interesting home made and local items to the infamous Charity Auction</li>
<li>I donated the last remaining copy of the “Canadian Edition” of “FreeBSD Mastery: Advanced ZedFS”, and a Pentium G4400 (Skylake) CPU (Supports ECC or non-ECC)</li>
<li>Peter Hessler donated his pen (Have you read “Git Commit Murder” yet?)</li>
<li>Theo De Raadt donated his autographed conference badge</li>
<li>David Maxwell donated a large print of the group photo from last years FreeBSD Developers Summit, which was purchased by Allan</li>
<li>There was also a FreeBSD Dev Summit T-Shirt (with the Slogan: What is Core doing about it?) autographed by all of the attending members of core, with a forged jhb@ signature.</li>
<li>Lastly, someone wrote “I &lt;3 FreeBSD” on a left over conference t-shirt with magic marker, and the bidding began to make OpenBSD developer Henning Brauer wear it to the closing party. The top bid was $150 by Kristof Provost, the FreeBSD pf maintainer.
***</li>
</ul>

<h3><a href="https://twitter.com/henningBrauer" target="_blank" rel="nofollow noopener">Henning Brauer loves FreeBSD</a></h3>

<ul>
<li>In addition to the $150 donation that resulted in Henning wearing the I love FreeBSD t-shirt, he also took selfies with people in exchange for an additional donation of $10. A total of over $500 was raised.</li>
<li><a href="https://twitter.com/mwlauthor/status/874656462433386497" target="_blank" rel="nofollow noopener">Michael W. Lucas</a></li>
<li><a href="https://twitter.com/michaeldexter/status/874344686885904384" target="_blank" rel="nofollow noopener">Michael Dexter</a></li>
<li><a href="https://twitter.com/yzgyyang/status/873714734343880705" target="_blank" rel="nofollow noopener">FreeBSD Foundation Interns + Ed Maste + Eric Joyner</a></li>
<li><a href="https://twitter.com/khorben/status/873673295903825925" target="_blank" rel="nofollow noopener">Pierre Ponchery</a></li>
<li><a href="https://twitter.com/niqdanger/status/873697176513380353" target="_blank" rel="nofollow noopener">Nick Danger </a></li>
<li><a href="https://twitter.com/shirkdog/status/873687910175866881" target="_blank" rel="nofollow noopener">Michael Shirk </a></li>
<li><a href="https://twitter.com/calvinhp/status/873686591692255233" target="_blank" rel="nofollow noopener">Calvin Hendryx-Parker</a></li>
<li><a href="https://twitter.com/reykfloeter/status/873673717884346368" target="_blank" rel="nofollow noopener">Reyk Floeter</a></li>
<li><a href="https://twitter.com/akpoff/status/873673432751370240" target="_blank" rel="nofollow noopener">Rod Grimes</a></li>
<li><a href="https://twitter.com/gonzopancho/status/873700951651233792" target="_blank" rel="nofollow noopener">Jim Thompson</a></li>
<li><a href="https://twitter.com/SeanChittenden/status/873750297113501697" target="_blank" rel="nofollow noopener">Sean Chittenden and Sam Gwydir, Henning wearing Theo de Raadt’s badge</a></li>
<li><a href="https://twitter.com/davdunc/status/873807305162334208" target="_blank" rel="nofollow noopener">David Duncan</a>
***</li>
</ul>

<h3><a href="https://github.com/libtrue/libtrue" target="_blank" rel="nofollow noopener">libtrue</a></h3>

<ul>
<li>At the hacker lounge, a joke email was sent to the FreeBSD developers list, making it look like a change to true(1)’s manpage had been committed to “document that true(1) supports libxo”</li>
<li>While the change was not actually made, as you might expect this started a discussion about if this was really necessary.</li>
<li>This spawned a new github repo</li>
<li>While this all started as a joke, it then became an example of how rapid collaboration can happen, and an example of implementing a number of modern technologies in FreeBSD, including libxo (json output), and capsicum (security sandboxing)</li>
<li>The project has an large number of open issues and enhancement suggestions, and a number of active pull requests including:

<ul>
<li>Add Vagrantfile and Ansible playbooks for VM</li>
<li>DTrace Support (Add the trueprov provider to allow tracing of true.</li>
<li>A Code of Conduct</li>
<li>libtrue.xyz website as a git submodule</li>
<li>a false binary</li>
<li>Python and Go bindings
***</li>
</ul></li>
</ul>

<h3><a href="https://hynek.me/articles/speaking/" target="_blank" rel="nofollow noopener">On Conference Speaking</a></h3>

<ul>
<li>Phase 1: Idea</li>
</ul>

<blockquote>
<p>Until now I’ve never had to sit down and ponder what I could speak about. Over the year, I run into at least one topic I know something about that appears to be interesting to the wider public. I’m positive that’s true for almost anyone if they keep their minds open and keep looking for it.</p>
</blockquote>

<ul>
<li>Phase 2: Call for Proposals</li>
</ul>

<blockquote>
<p>In the end I have to come up with a good pitch that speaks to as many people as possible and with a speculative outline. Since there are always many more submissions than talk slots, this is the first critical point. There are many reasons why a proposal can be refused, so put effort into not giving the program committee any additional, that are entirely avoidable.</p>
</blockquote>

<ul>
<li>Phase 3: Waiting for the CFP Result</li>
</ul>

<blockquote>
<p>...do passive research: if I see something relevant, I add it to my mind map. At this point my mind map looks atypical though: it has a lot of unordered root nodes. I just throw in everything that looks interesting and add some of my own thoughts to it. In the case of the reliability topic, I spend a lot of time to stay on top it anyway so a lot of material emerged.</p>
</blockquote>

<ul>
<li>Phase 4: The Road to an Outline</li>
</ul>

<blockquote>
<p>Once the talk is accepted, research intensifies. Books and articles I’ve written down for further research are read and topics extracted. In 2017, this started on January 23. But before I start writing, I get the mind map into a shape that makes sense and that will support me. This is the second critical point: I have to come up with a compelling story using the material I’ve collected. Just enumerating facts and wisdom a good talk doesn’t make. It has to have a good flow that makes sense and that keeps people engaged.</p>
</blockquote>

<ul>
<li>Phase 5: Slides</li>
</ul>

<blockquote>
<p>I have a very strong opinion on slides: use few, big words. Don’t make people read your slides unless it’s code samples. Otherwise they’ll be distracted from what you say. You’ll see me rarely use fonts smaller than 100pt (code ~40–60pt) which is readable from everywhere and forces me to be as brief as possible.</p>
</blockquote>

<ul>
<li>Phase 6: Polishing</li>
</ul>

<blockquote>
<p>I firmly believe that this phase makes or breaks a talk. Only by practicing again and again you’ll notice rough spots, weak transitions, and redundancies. Each iteration makes the talk a bit better both regarding the slides and my ability to present it. Each iteration adds impressions that my subconscious mind chews on and makes things fall in place and give me inspiration in unlikely moments.</p>
</blockquote>

<ul>
<li>Phase 7: Sneak Preview</li>
</ul>

<blockquote>
<p>In the past years I was blessed with the opportunity to test my talks in front of a smaller audiences. Interestingly, I’ve come to take smaller events more seriously than the big ones. If a small conference pays for my travels and gives me a prominent slot, I have both more responsibility and attention than if I paid my way to an event where I’m one of many speakers.</p>
</blockquote>

<ul>
<li>Phase 8: Refinement and More Polishing</li>
</ul>

<blockquote>
<p>The first session is always just going through all slides, reacquainting myself with my deck. Then it always takes quite a bit of willpower until I do a full practice run again: the first time always pretty brutal because I tend to forget pretty fast. On the other hand, it rather quickly comes back too. Which makes it even harder to motivate myself to start. Ideally I’d have access to a video recording from phase 7 to have a closer look at what work could be improved. But since it’s usually smaller conferences, I don’t.</p>
</blockquote>

<ul>
<li>Phase 9: Travel</li>
</ul>

<blockquote>
<p>Whenever I travel to conferences I bring everything I need for my talk and then some. To make sure I don’t forget anything essential, I have a packing list for my business trips (and vacations too – the differences are so minimal that I use a unified list). My epic packing list for business trips. I print it out the day before departure and cross stuff off as I pack. I highly recommend to anyone to emulate this since packing is a lot less stressful if you just follow a checklist.</p>
</blockquote>

<ul>
<li>Phase 10: Showtime!</li>
</ul>

<blockquote>
<p>So this is it. The moment everything else led to. People who suffer from fear of public speaking think this is the worst part. But if you scroll back you’ll realize: this is the payoff! This is what you worked toward. This is the fun, easy part. Once you stand in front of the audience, the work is done and you get to enjoy the ride.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.trueos.org/blog/discourse-trueos-qa-61617/" target="_blank" rel="nofollow noopener">Kris and Ken Moore - TrueOS Q&amp;A</a></li>
<li><a href="https://mail-index.netbsd.org/tech-repository/2017/06/10/msg000637.html" target="_blank" rel="nofollow noopener">New home for the repository conversions (NetBSD Git mirror is now on GitHub.com/NetBSD)</a></li>
<li><a href="https://deftly.net/posts/2017-05-01-openbsd-ksh-tab-complete.html" target="_blank" rel="nofollow noopener">Tab completion in OpenBSD's ksh</a></li>
<li><a href="http://pkgsrc.org/pkgsrcCon/2017/" target="_blank" rel="nofollow noopener">pkgsrcCon July 1&amp;2</a></li>
<li><a href="https://www.mail-archive.com/misc@openbsd.org/msg153421.html" target="_blank" rel="nofollow noopener">OpenBSD 6.1 syspatch installed SP kernel on MP system</a></li>
<li><a href="http://knoxbug.org/content/join-us-freebsd-day" target="_blank" rel="nofollow noopener">KNOXBug meeting this Friday</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2XEE9JA#wrap" target="_blank" rel="nofollow noopener">Rob - FreeNAS Corral</a></li>
<li><a href="http://dpaste.com/27GSJK0#wrap" target="_blank" rel="nofollow noopener">Brad - ZFS snapshot strategy</a></li>
<li><a href="http://dpaste.com/3D02RYZ#wrap" target="_blank" rel="nofollow noopener">Phil - ZFS Send via Snail Mail</a></li>
<li><p><a href="http://dpaste.com/0ZSMVWH#wrap" target="_blank" rel="nofollow noopener">Phillip - Network Limits for Public NTP Server</a></p>

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

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>197: Relaying the good news</title>
  <link>https://www.bsdnow.tv/197</link>
  <guid isPermaLink="false">96c50ac2-eb84-4fbf-9a0b-d1cfe342bb11</guid>
  <pubDate>Wed, 07 Jun 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/96c50ac2-eb84-4fbf-9a0b-d1cfe342bb11.mp3" length="74289460" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We’re at BSDCan, but we have an interview with Michael W. Lucas which you don’t want to miss.</itunes:subtitle>
  <itunes:duration>1:43:10</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>&lt;p&gt;We’re at BSDCan, but we have an interview with Michael W. Lucas which you don’t want to miss.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;p&gt;We are off to BSDCan but we have an interview and news roundup for you.&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Interview - Michael W. Lucas - &lt;a href="mailto:mwlucas@michaelwlucas.com" target="_blank" rel="nofollow noopener"&gt;mwlucas@michaelwlucas.com&lt;/a&gt; / &lt;a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener"&gt;@mwlauthor&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Books, conferences &amp;amp; how these two combine
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://bsdly.blogspot.no/2012/05/in-name-of-sane-email-setting-up-spamd.html" target="_blank" rel="nofollow noopener"&gt;In The Name Of Sane Email: Setting Up OpenBSD's spamd(8) With Secondary MXes In Play&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;“The Grumpy BSD Guy”, Peter Hansteen is at it again, they have produced an updated version of a full recipe for OpenBSD’s spamd for your primary AND secondary mail servers&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Recipes in our field are all too often offered with little or no commentary to help the user understand the underlying principles of how a specific configuration works. To counter the trend and offer some free advice on a common configuration, here is my recipe for a sane mail setup.&lt;br&gt;
Mailing lists can be fun. Most of the time the discussions on lists like openbsd-misc are useful, entertaining or both. But when your battle with spam fighting technology ends up blocking your source of information and entertainment (like in the case of the recent thread titled "spamd greylisting: false positives" - starting with this message), frustration levels can run high, and in the process it emerged that some readers out there place way too much trust in a certain site offering barely commented recipes (named after a rare chemical compound Cl-Hg-Hg-Cl).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;4 easy steps:

&lt;ul&gt;
&lt;li&gt;Make sure your MXes (both primary and secondary) are able to receive mail for your domains&lt;/li&gt;
&lt;li&gt;Set set up content filtering for all MXes, since some spambots actually speak SMTP&lt;/li&gt;
&lt;li&gt;Set up spamd in front of all MXes&lt;/li&gt;
&lt;li&gt;Set up synchronization between your spamds&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;These are the basic steps. If you want to go even further, you can supplement your greylisting and publicly available blacklists with your own greytrapping, but greytrapping is by no means required.&lt;br&gt;
Once you have made sure that your mail exchangers will accept mail for your domains (checking that secondaries do receive and spool mail when you stop the SMTP service on the primary), it's time to start setting up the content filtering.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The post provides links if you need help getting the basic mail server functionality going&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At this point you will more likely than not discover that any differences in filtering setups between the hosts that accept and deliver mail will let spam through via the weakest link. Tune accordingly, or at least until you are satisfied that you have a fairly functional configuration.&lt;br&gt;
As you will have read by now in the various sources I cited earlier, you need to set up rules to redirect traffic to your spamd as appropriate. Now let's take a peek at what I have running at my primary site's gateway.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The articles provides a few different sets of rules&lt;/li&gt;
&lt;li&gt;The setup includes running all outgoing mail through spamd to auto-populate the whitelists, allowing replies to your emails to get through without greylisting&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;At this point, you have seen how to set up two spamds, each running in front of a mail exchanger. You can choose to run with the default spamd.conf, or you can edit in your own customizations.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;There is also a link to Peter’s spamd.conf if you want to use “what works for me”&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The fourth and final required step for a spamd setup with backup mail exchangers it to set up synchronization between the spamds. The synchronization keeps your greylists in sync and transfers information on any greytrapped entries to the partner spamds. As the spamd man page explains, the synchronization options -y and -Y are command line options to spamd. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The articles steps through the process of configuring spamd to listen for synchronization, and to send synchronization messages to its peer&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;With these settings in place, you have more or less completed step four of our recipe.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The article also shows you how to configure spamd to log to a separate log file, to make the messages easier to find and consolidate between your mail servers&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;After noting the system load on your content filtering machines, restart your spamds. Then watch the system load values on the content filterers and take a note of them from time to time, say every 30 minutes or so&lt;br&gt;
Step 4) is the last required step for building a multi-MX configuration. You may want to just leave the system running for a while and watch any messages that turn up in the spamd logs or the mail exchanger's logs&lt;br&gt;
The final embellishment is to set up local greytrapping. The principle is simple: If you have one or more addresses in your domain that you know will never be valid, you add them to your list of trapping addresses&lt;br&gt;
any host that tries to deliver mail to &lt;a href="mailto:noreply@mydomain.nx" target="_blank" rel="nofollow noopener"&gt;noreply@mydomain.nx&lt;/a&gt; will be added to the local blacklist spamd-greytrap to be stuttered at for as long as it takes.&lt;br&gt;
Greytrapping can be fun, you can search for posts here tagged with the obvious keywords. To get you started, I offer up my published list of trap addresses, built mainly from logs of unsuccessful delivery attempts here, at The BSDly.net traplist page, while the raw list of trap email addresses is available here. If you want to use that list in a similar manner for your site, please do, only remember to replace the domain names with one or more that you will be receiving mail for.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Let us know how this affects your inbox
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.capsicum-linux.org/" target="_blank" rel="nofollow noopener"&gt;Status of FreeBSD’s capsicum on Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.networksorcery.com/enp/ien/ien109.txt" target="_blank" rel="nofollow noopener"&gt;How to build a gateway, from 1979&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsdmag.org/why_freebsd/" target="_blank" rel="nofollow noopener"&gt;Linux escapee Hamza Sheikh on “Why FreeBSD?”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.opengroup.org/2012/05/17/unix-is-still-as-relevant-as-ever/" target="_blank" rel="nofollow noopener"&gt;UNIX is still as relevant as ever&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/upcoming-summer-2017-freebsd-foundation-events/" target="_blank" rel="nofollow noopener"&gt;Upcoming Summer 2017 FreeBSD Foundation Events&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We’re at BSDCan, but we have an interview with Michael W. Lucas which you don’t want to miss.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<p>We are off to BSDCan but we have an interview and news roundup for you.</p>

<hr>

<h2>Interview - Michael W. Lucas - <a href="mailto:mwlucas@michaelwlucas.com" target="_blank" rel="nofollow noopener">mwlucas@michaelwlucas.com</a> / <a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener">@mwlauthor</a></h2>

<ul>
<li>Books, conferences &amp; how these two combine
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://bsdly.blogspot.no/2012/05/in-name-of-sane-email-setting-up-spamd.html" target="_blank" rel="nofollow noopener">In The Name Of Sane Email: Setting Up OpenBSD's spamd(8) With Secondary MXes In Play</a></h3>

<ul>
<li>“The Grumpy BSD Guy”, Peter Hansteen is at it again, they have produced an updated version of a full recipe for OpenBSD’s spamd for your primary AND secondary mail servers</li>
</ul>

<blockquote>
<p>Recipes in our field are all too often offered with little or no commentary to help the user understand the underlying principles of how a specific configuration works. To counter the trend and offer some free advice on a common configuration, here is my recipe for a sane mail setup.<br>
Mailing lists can be fun. Most of the time the discussions on lists like openbsd-misc are useful, entertaining or both. But when your battle with spam fighting technology ends up blocking your source of information and entertainment (like in the case of the recent thread titled "spamd greylisting: false positives" - starting with this message), frustration levels can run high, and in the process it emerged that some readers out there place way too much trust in a certain site offering barely commented recipes (named after a rare chemical compound Cl-Hg-Hg-Cl).</p>
</blockquote>

<ul>
<li>4 easy steps:

<ul>
<li>Make sure your MXes (both primary and secondary) are able to receive mail for your domains</li>
<li>Set set up content filtering for all MXes, since some spambots actually speak SMTP</li>
<li>Set up spamd in front of all MXes</li>
<li>Set up synchronization between your spamds</li>
</ul></li>
</ul>

<blockquote>
<p>These are the basic steps. If you want to go even further, you can supplement your greylisting and publicly available blacklists with your own greytrapping, but greytrapping is by no means required.<br>
Once you have made sure that your mail exchangers will accept mail for your domains (checking that secondaries do receive and spool mail when you stop the SMTP service on the primary), it's time to start setting up the content filtering.</p>
</blockquote>

<ul>
<li>The post provides links if you need help getting the basic mail server functionality going</li>
</ul>

<blockquote>
<p>At this point you will more likely than not discover that any differences in filtering setups between the hosts that accept and deliver mail will let spam through via the weakest link. Tune accordingly, or at least until you are satisfied that you have a fairly functional configuration.<br>
As you will have read by now in the various sources I cited earlier, you need to set up rules to redirect traffic to your spamd as appropriate. Now let's take a peek at what I have running at my primary site's gateway.</p>
</blockquote>

<ul>
<li>The articles provides a few different sets of rules</li>
<li>The setup includes running all outgoing mail through spamd to auto-populate the whitelists, allowing replies to your emails to get through without greylisting</li>
</ul>

<blockquote>
<p>At this point, you have seen how to set up two spamds, each running in front of a mail exchanger. You can choose to run with the default spamd.conf, or you can edit in your own customizations.</p>
</blockquote>

<ul>
<li>There is also a link to Peter’s spamd.conf if you want to use “what works for me”</li>
</ul>

<blockquote>
<p>The fourth and final required step for a spamd setup with backup mail exchangers it to set up synchronization between the spamds. The synchronization keeps your greylists in sync and transfers information on any greytrapped entries to the partner spamds. As the spamd man page explains, the synchronization options -y and -Y are command line options to spamd. </p>
</blockquote>

<ul>
<li>The articles steps through the process of configuring spamd to listen for synchronization, and to send synchronization messages to its peer</li>
</ul>

<blockquote>
<p>With these settings in place, you have more or less completed step four of our recipe.</p>
</blockquote>

<ul>
<li>The article also shows you how to configure spamd to log to a separate log file, to make the messages easier to find and consolidate between your mail servers</li>
</ul>

<blockquote>
<p>After noting the system load on your content filtering machines, restart your spamds. Then watch the system load values on the content filterers and take a note of them from time to time, say every 30 minutes or so<br>
Step 4) is the last required step for building a multi-MX configuration. You may want to just leave the system running for a while and watch any messages that turn up in the spamd logs or the mail exchanger's logs<br>
The final embellishment is to set up local greytrapping. The principle is simple: If you have one or more addresses in your domain that you know will never be valid, you add them to your list of trapping addresses<br>
any host that tries to deliver mail to <a href="mailto:noreply@mydomain.nx" target="_blank" rel="nofollow noopener">noreply@mydomain.nx</a> will be added to the local blacklist spamd-greytrap to be stuttered at for as long as it takes.<br>
Greytrapping can be fun, you can search for posts here tagged with the obvious keywords. To get you started, I offer up my published list of trap addresses, built mainly from logs of unsuccessful delivery attempts here, at The BSDly.net traplist page, while the raw list of trap email addresses is available here. If you want to use that list in a similar manner for your site, please do, only remember to replace the domain names with one or more that you will be receiving mail for.</p>
</blockquote>

<ul>
<li>Let us know how this affects your inbox
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://www.capsicum-linux.org/" target="_blank" rel="nofollow noopener">Status of FreeBSD’s capsicum on Linux</a></li>
<li><a href="http://www.networksorcery.com/enp/ien/ien109.txt" target="_blank" rel="nofollow noopener">How to build a gateway, from 1979</a></li>
<li><a href="https://bsdmag.org/why_freebsd/" target="_blank" rel="nofollow noopener">Linux escapee Hamza Sheikh on “Why FreeBSD?”</a></li>
<li><a href="https://blog.opengroup.org/2012/05/17/unix-is-still-as-relevant-as-ever/" target="_blank" rel="nofollow noopener">UNIX is still as relevant as ever</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/upcoming-summer-2017-freebsd-foundation-events/" target="_blank" rel="nofollow noopener">Upcoming Summer 2017 FreeBSD Foundation Events</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We’re at BSDCan, but we have an interview with Michael W. Lucas which you don’t want to miss.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<p>We are off to BSDCan but we have an interview and news roundup for you.</p>

<hr>

<h2>Interview - Michael W. Lucas - <a href="mailto:mwlucas@michaelwlucas.com" target="_blank" rel="nofollow noopener">mwlucas@michaelwlucas.com</a> / <a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener">@mwlauthor</a></h2>

<ul>
<li>Books, conferences &amp; how these two combine
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://bsdly.blogspot.no/2012/05/in-name-of-sane-email-setting-up-spamd.html" target="_blank" rel="nofollow noopener">In The Name Of Sane Email: Setting Up OpenBSD's spamd(8) With Secondary MXes In Play</a></h3>

<ul>
<li>“The Grumpy BSD Guy”, Peter Hansteen is at it again, they have produced an updated version of a full recipe for OpenBSD’s spamd for your primary AND secondary mail servers</li>
</ul>

<blockquote>
<p>Recipes in our field are all too often offered with little or no commentary to help the user understand the underlying principles of how a specific configuration works. To counter the trend and offer some free advice on a common configuration, here is my recipe for a sane mail setup.<br>
Mailing lists can be fun. Most of the time the discussions on lists like openbsd-misc are useful, entertaining or both. But when your battle with spam fighting technology ends up blocking your source of information and entertainment (like in the case of the recent thread titled "spamd greylisting: false positives" - starting with this message), frustration levels can run high, and in the process it emerged that some readers out there place way too much trust in a certain site offering barely commented recipes (named after a rare chemical compound Cl-Hg-Hg-Cl).</p>
</blockquote>

<ul>
<li>4 easy steps:

<ul>
<li>Make sure your MXes (both primary and secondary) are able to receive mail for your domains</li>
<li>Set set up content filtering for all MXes, since some spambots actually speak SMTP</li>
<li>Set up spamd in front of all MXes</li>
<li>Set up synchronization between your spamds</li>
</ul></li>
</ul>

<blockquote>
<p>These are the basic steps. If you want to go even further, you can supplement your greylisting and publicly available blacklists with your own greytrapping, but greytrapping is by no means required.<br>
Once you have made sure that your mail exchangers will accept mail for your domains (checking that secondaries do receive and spool mail when you stop the SMTP service on the primary), it's time to start setting up the content filtering.</p>
</blockquote>

<ul>
<li>The post provides links if you need help getting the basic mail server functionality going</li>
</ul>

<blockquote>
<p>At this point you will more likely than not discover that any differences in filtering setups between the hosts that accept and deliver mail will let spam through via the weakest link. Tune accordingly, or at least until you are satisfied that you have a fairly functional configuration.<br>
As you will have read by now in the various sources I cited earlier, you need to set up rules to redirect traffic to your spamd as appropriate. Now let's take a peek at what I have running at my primary site's gateway.</p>
</blockquote>

<ul>
<li>The articles provides a few different sets of rules</li>
<li>The setup includes running all outgoing mail through spamd to auto-populate the whitelists, allowing replies to your emails to get through without greylisting</li>
</ul>

<blockquote>
<p>At this point, you have seen how to set up two spamds, each running in front of a mail exchanger. You can choose to run with the default spamd.conf, or you can edit in your own customizations.</p>
</blockquote>

<ul>
<li>There is also a link to Peter’s spamd.conf if you want to use “what works for me”</li>
</ul>

<blockquote>
<p>The fourth and final required step for a spamd setup with backup mail exchangers it to set up synchronization between the spamds. The synchronization keeps your greylists in sync and transfers information on any greytrapped entries to the partner spamds. As the spamd man page explains, the synchronization options -y and -Y are command line options to spamd. </p>
</blockquote>

<ul>
<li>The articles steps through the process of configuring spamd to listen for synchronization, and to send synchronization messages to its peer</li>
</ul>

<blockquote>
<p>With these settings in place, you have more or less completed step four of our recipe.</p>
</blockquote>

<ul>
<li>The article also shows you how to configure spamd to log to a separate log file, to make the messages easier to find and consolidate between your mail servers</li>
</ul>

<blockquote>
<p>After noting the system load on your content filtering machines, restart your spamds. Then watch the system load values on the content filterers and take a note of them from time to time, say every 30 minutes or so<br>
Step 4) is the last required step for building a multi-MX configuration. You may want to just leave the system running for a while and watch any messages that turn up in the spamd logs or the mail exchanger's logs<br>
The final embellishment is to set up local greytrapping. The principle is simple: If you have one or more addresses in your domain that you know will never be valid, you add them to your list of trapping addresses<br>
any host that tries to deliver mail to <a href="mailto:noreply@mydomain.nx" target="_blank" rel="nofollow noopener">noreply@mydomain.nx</a> will be added to the local blacklist spamd-greytrap to be stuttered at for as long as it takes.<br>
Greytrapping can be fun, you can search for posts here tagged with the obvious keywords. To get you started, I offer up my published list of trap addresses, built mainly from logs of unsuccessful delivery attempts here, at The BSDly.net traplist page, while the raw list of trap email addresses is available here. If you want to use that list in a similar manner for your site, please do, only remember to replace the domain names with one or more that you will be receiving mail for.</p>
</blockquote>

<ul>
<li>Let us know how this affects your inbox
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://www.capsicum-linux.org/" target="_blank" rel="nofollow noopener">Status of FreeBSD’s capsicum on Linux</a></li>
<li><a href="http://www.networksorcery.com/enp/ien/ien109.txt" target="_blank" rel="nofollow noopener">How to build a gateway, from 1979</a></li>
<li><a href="https://bsdmag.org/why_freebsd/" target="_blank" rel="nofollow noopener">Linux escapee Hamza Sheikh on “Why FreeBSD?”</a></li>
<li><a href="https://blog.opengroup.org/2012/05/17/unix-is-still-as-relevant-as-ever/" target="_blank" rel="nofollow noopener">UNIX is still as relevant as ever</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/upcoming-summer-2017-freebsd-foundation-events/" target="_blank" rel="nofollow noopener">Upcoming Summer 2017 FreeBSD Foundation Events</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>196: PostgreZFS</title>
  <link>https://www.bsdnow.tv/196</link>
  <guid isPermaLink="false">2ab6a51e-9952-4066-9b69-3eb9dfeff679</guid>
  <pubDate>Wed, 31 May 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/2ab6a51e-9952-4066-9b69-3eb9dfeff679.mp3" length="76501012" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This week on BSD Now, we review the EuroBSDcon schedule, we explore the mysteries of Docker on OpenBSD, and show you how to run PostgreSQL on ZFS.</itunes:subtitle>
  <itunes:duration>1:46:15</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>&lt;p&gt;This week on BSD Now, we review the EuroBSDcon schedule, we explore the mysteries of Docker on OpenBSD, and show you how to run PostgreSQL on ZFS.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://2017.eurobsdcon.org/2017/05/26/talks-schedule-published/" target="_blank" rel="nofollow noopener"&gt;EuroBSDcon 2017 - Talks &amp;amp; Schedule published&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The EuroBSDcon website was updated with the tutorial and talk schedule for the upcoming September conference in Paris, France.&lt;/li&gt;
&lt;li&gt;Tutorials on the 1st day: Kirk McKusick - An Introduction to the FreeBSD Open-Source Operating System, George Neville-Neil - DTrace for Developers, Taylor R Campbell - How to untangle your threads from a giant lock in a multiprocessor system&lt;/li&gt;
&lt;li&gt;Tutorials on the 2nd day: Kirk continues his Introduction lecture, Michael Lucas - Core concepts of ZFS (half day), Benedict Reuschling - Managing BSD systems with Ansible (half day), Peter Hessler - BGP for developers and sysadmins&lt;/li&gt;
&lt;li&gt;Talks include 3 keynotes (2 on the first day, beginning and end), another one at the end of the second day by Brendan Gregg&lt;/li&gt;
&lt;li&gt;Good mixture of talks of the various BSD projects&lt;/li&gt;
&lt;li&gt;Also, a good amount of new names and faces&lt;/li&gt;
&lt;li&gt;Check out the full &lt;a href="https://2017.eurobsdcon.org/talks-schedule/" target="_blank" rel="nofollow noopener"&gt;talk schedule&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Registration is not open yet, but will be soon.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://jcs.org/2017/05/22/xiaomiair" target="_blank" rel="nofollow noopener"&gt;OpenBSD on the Xiaomi Mi Air 12.5"&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The &lt;a href="https://xiaomi-mi.com/notebooks/xiaomi-mi-notebook-air-125-silver/" target="_blank" rel="nofollow noopener"&gt;Xiaomi Mi Air 12.5"&lt;/a&gt; is a basic fanless 12.5" Ultrabook with good build quality and decent hardware specs, especially for the money: while it can usually be had for about $600, I got mine for $489 shipped to the US during a sale about a month ago.&lt;br&gt;
Xiaomi offers this laptop in silver and gold. They also make a 13" version but it comes with an NVidia graphics chip. Since these laptops are only sold in China, they come with a Chinese language version of Windows 10 and only one or two distributors that carry them ship to the US. Unfortunately that also means they come with practically no warranty or support.&lt;br&gt;
Hardware&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; The Mi Air 12.5" has a fanless, 6th generation (Skylake) Intel Core m3 processor, 4Gb of soldered-on RAM, and a 128Gb SATA SSD (more on that later). It has a small footprint of 11.5" wide, 8" deep, and 0.5" thick, and weighs 2.3 pounds.
&amp;gt; A single USB-C port on the right-hand side is used to charge the laptop and provide USB connectivity. A USB-C ethernet adapter I tried worked fine in OpenBSD. Whether intentional or not, a particular design touch I appreciated was that the USB-C port is placed directly to the right of the power button on the keyboard, so you don't have to look or feel around for the port when plugging in the power cable.
&amp;gt; A single USB 3 type-A port is also available on the right side next to the USB-C port. A full-size HDMI port and a headphone jack are on the left-hand side. It has a soldered-on Intel 8260 wireless adapter and Bluetooth. The webcam in the screen bezel attaches internally over USB.
&amp;gt; The chassis is all aluminum and has sufficient rigidity in the keyboard area. The 12.5" 1920x1080 glossy IPS screen has a fairly small bezel and while its hinge is properly weighted to allow opening the lid with one hand (if you care about that kind of thing), the screen does have a bit of top-end wobble when open, especially when typing on another laptop on the same desk.
&amp;gt; The keyboard has a roomy layout and a nice clicky tactile with good travel. It is backlit, but with only one backlight level. When enabled via Fn+F10 (which is handled by the EC, so no OpenBSD support required), it will automatically shut off after not typing for a short while, automatically turning back once a key is pressed.
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Upgrades&lt;br&gt;
    &amp;gt; An interesting feature of the Mi Air is that it comes with a 128Gb SATA SSD but also includes an open PCI-e slot ready to accept an NVMe SSD.&lt;br&gt;
    &amp;gt; I upgraded mine with a Samsung PM961 256Gb NVMe SSD (left), and while it is possible to run with both drives in at the same time, I removed the Samsung CM871a 128Gb SATA (right) drive to save power.&lt;br&gt;
    &amp;gt; The bottom case can be removed by removing the seven visible screws, in addition to the one under the foot in the middle back of the case, which just pries off. A spudger tool is needed to release all of the plastic attachment clips along the entire edge of the bottom cover.&lt;br&gt;
    &amp;gt; Unfortunately this upgrade proved to be quite time consuming due to the combination of the limited UEFI firmware on the Mi Air and a bug in OpenBSD.&lt;/p&gt;

&lt;p&gt;A Detour into UEFI Firmware Variables&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; Unlike a traditional BIOS where one can boot into a menu and configure the boot order as well as enabling and disabling options such as "USB Hard Drive", the InsydeH2O UEFI firmware on the Xiaomi Air only provides the ability to adjust the boot order of existing devices. Any change or addition of boot devices must be done from the operating system, which is not possible under OpenBSD.
&amp;gt; I booted to a USB key with OpenBSD on it and manually partitioned the new NVME SSD, then rsynced all of the data over from the old drive, but the laptop would not boot to the new NVME drive, instead showing an error message that there was no bootable OS.
&amp;gt; Eventually I figured out that the GPT table that OpenBSD created on the NVMe disk was wrong due to a [one-off bug in the nvme driver](https://github.com/openbsd/src/commit/dc8298f669ea2d7e18c8a8efea509eed200cb989) which was causing the GPT table to be one sector too large, causing the backup GPT table to be written in the wrong location (and other utilities under Linux to write it over the OpenBSD area). I'm guessing the UEFI firmware would fail to read the bad GPT table on the disk that the boot variable pointed to, then declare that disk as missing, and then remove any variables that pointed to that disk.
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;OpenBSD Support&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; The Mi Air's soldered-on Intel 8260 wireless adapter is supported by OpenBSD's iwm driver, including 802.11n support. The Intel sound chip is recognized by the azalia driver.
&amp;gt; The Synaptics touchpad is connected via I2C, but is not yet supported. I am actively hacking on my dwiic driver to make this work and the touchpad will hopefully operate as a Windows Precision Touchpad via imt so I don't have to write an entirely new Synaptics driver.
&amp;gt; Unfortunately since OpenBSD's inteldrm support that is ported from Linux is lagging quite a bit behind, there is no kernel support for Skylake and Kaby Lake video chips. Xorg works at 1920x1080 through efifb so the machine is at least usable, but X is not very fast and there is a noticeable delay when doing certain redrawing operations in xterm. Screen backlight can be adjusted through my OpenBSD port of intel_backlight. Since there is no hardware graphics support, this also means that suspend and resume do not work because nothing is available to re-POST the video after resume. Having to use efifb also makes it impossible to adjust the screen gamma, so for me, I can't use redshift for comfortable night-time hacking.
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;Flaws&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;&amp;gt; Especially taking into account the cheap price of the laptop, it's hard to find faults with the design. One minor gripe is that the edges of the case along the bottom are quite sharp, so when carrying the closed laptop, it can feel uncomfortable in one's hands.
&amp;gt; While all of those things could be overlooked, unfortunately there is also a critical flaw in the rollover support in the keyboard/EC on the laptop. When typing certain combinations of keys quickly, such as holding Shift and typing "NULL", one's fingers may actually hold down the Shift, N, and U keys at the same time for a very brief moment before releasing N. Normally the keyboard/EC would recognize U being pressed after N is already down and send an interrupt for the U key. Unfortunately on this laptop, particular combinations of three keys do not interrupt for the third key at all until the second key is lifted, usually causing the third key not to register at all if typed quickly.
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;I've been able to reproduce this problem in OpenBSD, Linux, and Windows, with the combinations of at least Shift+N+U and Shift+D+F. Holding Shift and typing the two characters in sequence quickly enough will usually fail to register the final character. Trying the combinations without Shift, using Control or Alt instead of Shift, or other character pairs does not trigger the problem.&lt;br&gt;
This might be a problem in the firmware on the Embedded Controller, or a defect in the keyboard circuitry itself. As I mentioned at the beginning, getting technical support for this machine is difficult because it's only sold in China.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://medium.com/@dave_voutila/docker-on-openbsd-6-1-current-c620513b8110" target="_blank" rel="nofollow noopener"&gt;Docker on OpenBSD 6.1-current&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Dave Voutila writes:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;So here’s the thing. I’m normally a macOS user…all my hardware was designed in Cupertino, built in China. But I’m restless and have been toying with trying to switch my daily machine over to a non-macOS system sort of just for fun. I find Linux messy, FreeBSD not as Apple-laptop-friendly as it should be, and Windows a non-starter. Luckily, I found a friend in Puffy. Switching some of my Apple machines over to dual-boot OpenBSD left a gaping hole in my workflow. Luckily, all the hard work the OpenBSD team has done over the last year seems to have plugged it nicely!&lt;br&gt;
OpenBSD’s hypervisor support officially made it into the 6.1 release, but after some experimentation it was rather time consuming and too fragile to get a Linux guest up and running (i.e. basically the per-requisite for Docker). Others had reported some success starting with QEMU and doing lots of tinkering, but after a wasted evening I figured I’d grab the latest OpenBSD snapshot and try what the openbsd-misc list suggested was improved Linux support in active development.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;10 (11) Steps to docker are provided

&lt;ul&gt;
&lt;li&gt;Step 0 — Install the latest OpenBSD 6.1 snapshot (-current)&lt;/li&gt;
&lt;li&gt;Step 1 — Configure VMM/VMD&lt;/li&gt;
&lt;li&gt;Step 2 — Grab an Alpine Linux ISO&lt;/li&gt;
&lt;li&gt;Step 3 — Make a new virtual disk image&lt;/li&gt;
&lt;li&gt;Step 4 — Boot Alpine’s ISO&lt;/li&gt;
&lt;li&gt;Step 5 — Inhale that fresh Alpine air&lt;/li&gt;
&lt;li&gt;Step 6 — Boot Alpine for Reals&lt;/li&gt;
&lt;li&gt;Step 7 — Install Docker&lt;/li&gt;
&lt;li&gt;Step 8 — Make a User&lt;/li&gt;
&lt;li&gt;Step 9 — Ditch the Serial Console&lt;/li&gt;
&lt;li&gt;Step 10 — Test out your Docker instance&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I haven’t done it yet, but I plan on installing docker-compose via Python’s pip package manager. I prefer defining containers in the compose files.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://people.freebsd.org/%7Eseanc/postgresql/scale15x-2017-postgresql_zfs_best_practices.pdf" target="_blank" rel="nofollow noopener"&gt;PostgreSQL + ZFS Best Practices and Standard Procedures&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Slides from Sean Chittenden’s talk about PostgreSQL and ZFS at Scale 15x this spring&lt;/li&gt;
&lt;li&gt;Slides start with a good overview of Postgres and ZFS, and how to use them together&lt;/li&gt;
&lt;li&gt;To start, it walks through the basics of how PostgreSQL interacts with the filesystem (any filesystem)&lt;/li&gt;
&lt;li&gt;Then it shows the steps to take a good backup of PostgreSQL, then how to do it even better with ZFS&lt;/li&gt;
&lt;li&gt;Then an intro to ZFS, and how Copy-on-Write changes host PostgreSQL interacts with the filesystem&lt;/li&gt;
&lt;li&gt;Overview of how ZFS works&lt;/li&gt;
&lt;li&gt;ZFS Tuning tips: Compression, Recordsize, atime, when to use mostly ARC vs shared_buffer, plus pg_repack&lt;/li&gt;
&lt;li&gt;Followed by a discussion of the reliability of SSDs, and their Bit Error Rate (BER)&lt;/li&gt;
&lt;li&gt;A good SSD has a 4%/year chance of returning the wrong data. A cheap SSD 34%&lt;/li&gt;
&lt;li&gt;If you put 20 SSDs in a database server, that means 58% (Good SSDs) to 99.975% (Lowest quality commercially viable SSD) chance of an error per year&lt;/li&gt;
&lt;li&gt;Luckily, ZFS can detect and correct these errors&lt;/li&gt;
&lt;li&gt;This applies to all storage, not just SSDs, every device fails&lt;/li&gt;
&lt;li&gt;More Advice:

&lt;ul&gt;
&lt;li&gt;Use quotas and reservations to avoid running out of space&lt;/li&gt;
&lt;li&gt;Schedule Periodic Scrubs&lt;/li&gt;
&lt;li&gt;One dataset per database&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Backups: Live demo of rm -rf’ing the database and getting it back&lt;/li&gt;
&lt;li&gt;Using clones to test upgrades on real data&lt;/li&gt;
&lt;li&gt;Naming Conventions:

&lt;ul&gt;
&lt;li&gt;Use a short prefix not on the root filesystem (e.g. /db)&lt;/li&gt;
&lt;li&gt;Encode the PostgreSQL major version into the dataset name&lt;/li&gt;
&lt;li&gt;Give each PostgreSQL cluster its own dataset (e.g. pgdb01)&lt;/li&gt;
&lt;li&gt;Optional but recommended: one database per cluster&lt;/li&gt;
&lt;li&gt;Optional but recommended: one app per database&lt;/li&gt;
&lt;li&gt;Optional but recommended: encode environment into DB name&lt;/li&gt;
&lt;li&gt;Optional but recommended: encode environment into DB username&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;using ZFS Replication&lt;/li&gt;
&lt;li&gt;Check out the full detailed PDF and implement a similar setup for your database needs
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.trueos.org/blog/housekeeping-update-infrastructure-trueos-changes/" target="_blank" rel="nofollow noopener"&gt;TrueOS Evolving Its "Stable" Release Cycle&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;TrueOS is reformulating its Stable branch based on feedback from users. The goal is to have a “release” of the stable branch every 6 months, for those who do not want to live on the edge with the rapid updates of the full rolling release&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Most of the TrueOS developers work for iX Systems in their Tennessee office. Last month, the Tennessee office was moved to a different location across town. As part of the move, we need to move all our servers. We’re still getting some of the infrastructure sorted before moving the servers, so please bear with us as we continue this process.&lt;br&gt;
As we’ve continued working on TrueOS, we’ve heard a significant portion of the community asking for a more stable “STABLE” release of TrueOS, maybe something akin to an old PC-BSD version release. In order to meet that need, we’re redefining the TrueOS STABLE branch a bit. STABLE releases are now expected to follow a six month schedule, with more testing and lots of polish between releases. This gives users the option to step back a little from the “cutting edge” of development, but still enjoy many of the benefits of the “rolling release” style and the useful elements of FreeBSD Current.&lt;br&gt;
Critical updates like emergency patches and utility bug fixes are still expected to be pushed to STABLE on a case-by-case basis, but again with more testing and polish. This also applies to version updates of the Lumina and SysAdm projects. New, released work from those projects will be tested and added to STABLE outside the 6 month window as well.&lt;br&gt;
The UNSTABLE branch continues to be our experimental “cutting edge” track, and users who want to follow along with our development and help us or FreeBSD test new features are still encouraged to follow the UNSTABLE track by checking that setting in their TrueOS Update Manager.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;With boot environments, it will be easy to switch back and forth, so you can have the best of both worlds. Use the latest bleeding edge features, but knowing you can fall back to the stable branch with just a reboot&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As TrueOS evolves, it is becoming clearer that one role of the system is to function as a “test platform” for FreeBSD. In order to better serve this role, TrueOS will support both OpenRC and the FreeBSD RC init systems, giving users the choice to use either system. While the full functionality isn’t quite ready for the next STABLE update, it is planned for addition after the last bit of work and testing is complete. Stay tuned for an upcoming blog post with all the details of this change, along with instructions how to switch between RC and OpenRC.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This is the most important change for me. I used TrueOS as an easy way to run the latest version of -CURRENT on my laptop, to use it as a user, but also to do development. When TrueOS deviates from FreeBSD too much, it lessens the power of my expertise, and complicates development and debugging.&lt;/li&gt;
&lt;li&gt;Being able to switch back to RC, even if it takes another minute to boot, will bring TrueOS back to being FreeBSD + GUI and more by default, instead of a science project.&lt;/li&gt;
&lt;li&gt;We need both of those things, so having the option, while more work for the TrueOS team, I think will be better for the entire community
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.h-i-r.net/2017/05/logical-domains-on-sunfire-t2000-with.html" target="_blank" rel="nofollow noopener"&gt;Logical Domains on SunFire T2000 with OpenBSD/sparc64&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A couple of years ago, I picked up a Sun Fire T2000. This is a 2U rack mount server. Mine came with four 146GB SAS drives, a 32-core UltraSPARC T1 CPU and 32GB of RAM.&lt;br&gt;
Sun Microsystems incorporated Logical Domains (LDOMs) on this class of hardware. You don't often need 32 threads and 32GB of RAM in a single server. LDOMs are a kind of virtualization technology that's a bit closer to bare metal than vmm, Hyper-V, VirtualBox or even Xen. It works a bit like Xen, though. You can allocate processor, memory, storage and other resources to virtual servers on-board, with a blend of firmware that supports the hardware allocation, and some software in userland (on the so-called primary or control domain, similar to Xen DomU) to control it.&lt;br&gt;
LDOMs are similar to what IBM calls Logical Partitions (LPARs) on its Mainframe and POWER series computers. My day job from 2006-2010 involved working with both of these virtualization technologies, and I've kind of missed it.&lt;br&gt;
While upgrading OpenBSD to 6.1 on my T2000, I decided to delve into LDOM support under OpenBSD. This was pretty easy to do, but let's walk through it&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Resources:

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://man.openbsd.org/OpenBSD-current/man8/sparc64/ldomctl.8" target="_blank" rel="nofollow noopener"&gt;The ldomctl(8) man page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.tedunangst.com/flak/post/OpenBSD-on-a-Sun-T5120" target="_blank" rel="nofollow noopener"&gt;tedu@'s write-up on Flak (for a different class of server)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plus.google.com/101694200911870273983/posts/jWh4rMKVq97" target="_blank" rel="nofollow noopener"&gt;A Google+ post by bmercer@&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Once you get comfortable with the fact that there's a little-tiny computer (the ALOM) powered by VXWorks inside that's acting as the management system and console (there's no screen or keyboard/mouse input), Installing OpenBSD on the base server is pretty straightforward. The serial console is an RJ-45 jack, and, yes, the ubiquitous blue-colored serial console cables you find for certain kinds of popular routers will work fine.&lt;br&gt;
OpenBSD installs quite easily, with the same installer you find on amd64 and i386. I chose to install to /dev/sd0, the first SAS drive only, leaving the others unused. It's possible to set them up in a hardware RAID configuration using tools available only under Solaris, or use softraid(4) on OpenBSD, but I didn't do this.&lt;br&gt;
I set up the primary LDOM to use the first ethernet port, em0. I decided I wanted to bridge the logical domains to the second ethernet port. You could also use a bridge and vether interface, with pf and dhcpd to create a NAT environment, similar to how I networked the vmm(4) systems.&lt;br&gt;
Create an LDOM configuration file. You can put this anywhere that's convenient. All of this stuff was in a "vm" subdirectory of my home. I called it ldom.conf:&lt;br&gt;
   domain primary {&lt;br&gt;
       vcpu 8&lt;br&gt;
       memory 8G&lt;br&gt;
   }&lt;br&gt;
   domain puffy {&lt;br&gt;
       vcpu 8&lt;br&gt;
       memory 4G&lt;br&gt;
       vdisk "/home/axon/vm/ldom1"&lt;br&gt;
       vnet&lt;br&gt;
   }&lt;/p&gt;

&lt;p&gt;Make as many disk images as you want, and make as many additional domain clauses as you wish. Be mindful of system resources. I couldn't actually allocate a full 32GB of RAM across all the LDOMs&lt;br&gt;
I eventually provisioned seven LDOMs (in addition to the primary) on the T2000, each with 3GB of RAM and 4 vcpu cores. If you get creative with use of network interfaces, virtual ethernet, bridges and pf rules, you can run a pretty complex environment on a single chassis, with services that are only exposed to other VMs, a DMZ segment, and the internal LAN.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A nice tutorial, and an interesting look at an alternative platform that was ahead of its time
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.tedunangst.com/flak/post/documentation-is-thoroughly-hard" target="_blank" rel="nofollow noopener"&gt;documentation is thoroughly hard&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ted Unangst has a new post this week about documentation:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Documentation is good, so therefore more documentation must be better, right? A few examples where things may have gotten out of control&lt;br&gt;
A fine example is the old OpenBSD install instructions. Once you’ve installed OpenBSD once or twice, the process is quite simple, but you’d never know this based on reading the instructions. Compare the files for 4.8 INSTALL and 5.8 INSTALL. Both begin with a brief intro to the project. Then 4.8 has an enormous list of mirrors, which seems fairly redundant if you’ve already found the install file. Followed by an enormous list of every supported variant of every supported device. Including a table of IO port configurations for ISA devices. Finally, after 1600 lines of introduction we get to the actual installation instructions. (Compared to line 231 for 5.8.) This includes a full page of text about how to install from tape, which nobody ever does. It took some time to recognize that all this documentation was actually an impediment to new users. Attempting to answer every possible question floods the reader with information for questions they were never planning to ask.&lt;br&gt;
Part of the problem is how the information is organized. Theoretically it makes sense to list supported hardware before instructions. After all, you can’t install anything if it’s not supported, right? I’m sure that was considered when the device list was originally inserted above the install instructions. But as a practical matter, consulting a device list is neither the easiest nor fastest way to determine what actually works.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;In the FreeBSD docs tree, we have been doing a facelift project, trying to add ‘quick start’ sections to each chapter to let you get to the more important information first. It is also helpful to move data in the forms of lists and tables to appendices or similar, where they can easily be references, but are not blocking your way to the information you are actually hunting for&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;An example of &lt;a href="http://languagelog.ldc.upenn.edu/nll/?p=29866" target="_blank" rel="nofollow noopener"&gt;nerdview signage&lt;/a&gt;. “They have in effect provided a sign that will tell you exactly what the question is provided you can already supply the answer.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;That is, the logical minds of technical people often decide to order information in an order that makes sense to them, rather than in the order that will be most useful to the reader&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In the end, I think “copy diskimage to USB and follow prompts” is all the instructions one should need, but it’s hard to overcome the unease of actually making the jump. What if somebody is confused or uncertain? Why is this paragraph more redundant than that paragraph? (And if we delete both, are we cutting too much?)&lt;br&gt;
Sometimes we don’t need to delete the information. Just hide it. The instructions to upgrade to 4.8 and upgrade to 5.8 are very similar, with a few differences because every release is a little bit different. The pages look very different, however, because the not at all recommended kernel free procedure, which takes up half the page, has been hidden from view behind some javascript and only expanded on demand. A casual browser will find the page and figure the upgrade process will be easy, as opposed to some long ordeal.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This is important as well, it was my original motivation for working on the FreeBSD Handbook’s ZFS chapter. The very first section of the chapter was the custom kernel configuration required to run ZFS on i386. That scared many users away. I moved that to the very end, and started with why you might want to use ZFS. Much more approachable.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Sometimes it’s just a tiny detail that’s overspecified. The apmd manual used to explain exactly which CPU idle time thresholds were used to adjust frequency. Those parameters, and the algorithm itself, were adjusted occasionally in response to user feedback, but sometimes the man page lagged behind. The numbers are of no use to a user. They’re not adjustable without recompiling. Knowing that the frequency would be reduced at 85% idle vs 90% idle doesn’t really offer much guidance as to whether to enable auto scaling or not. Deleting this detail ensured the man page was always correct and spares the user the cognitive load of trying to solve an unnecessary math problem.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;For fun:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For another humorous example, it was recently observed that the deja-dup package provides man page translations for Australia, Canada, and Great Britain. I checked, the pages are in fact not quite identical. Some contain typo fixes that didn’t propagate to other translations. Project idea: attempt to identify which country has the most users, or most fastidious users, by bug fixes to localized man pages.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-arm/2017-May/016260.html" target="_blank" rel="nofollow noopener"&gt;lldb on BeagleBone Black&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I reliably managed to build (lldb + clang/lld) from the svn trunk of LLVM 5.0.0 on my Beaglebone Black running the latest snapshot (May 20th) of FreeBSD 12.0-CURRENT, and the lldb is working very well, and this includes single stepping and ncurses-GUI mode, while single stepping with the latest lldb 4.0.1 from the ports does not work.&lt;br&gt;
In order to reliably build LLVM 5.0.0 (svn), I set up a 1 GB swap partition for the BBB on a NFSv4 share on a FreeBSD fileserver in my network - I put a howto of the procedure on my BLog: &lt;a href="https://obsigna.net/?p=659" target="_blank" rel="nofollow noopener"&gt;https://obsigna.net/?p=659&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The prerequesites on the Beaglebone are:&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;# pkg install tmux
# pkg install cmake
# pkg install python
# pkg install libxml2
# pkg install swig30
# pkg install ninja
# pkg install subversion
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;On the FreeBSD fileserver:&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt;# /path_to_the/bbb_share
# svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
# cd llvm/tools
# svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
# svn co http://llvm.org/svn/llvm-project/lld/trunk lld
# svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb

&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;On the Beaglebone Black:&lt;/li&gt;
&lt;/ul&gt;

&lt;pre&gt;&lt;code&gt; # mount_nfs -o noatime,readahead=4,intr,soft,nfsv4 server:/path_to_the/bbb_share /mnt
 # cd /mnt
 # mkdir build
 # cmake -DLLVM_TARGETS_TO_BUILD="ARM" -DCMAKE_BUILD_TYPE="MinSizeRel" \
        -DLLVM_PARALLEL_COMPILE_JOBS="1" -DLLVM_PARALLEL_LINK_JOBS="1" -G Ninja ..
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;I execute the actual build command from within a tmux session, so I may disconnect during the quite long (40 h) build:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code&gt;# tmux new "ninja lldb install" 
&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
&lt;p&gt;When debugging in GUI mode using the newly build lldb 5.0.0-svn, I see only a minor issue, namely UTF8 strings are not displayed correctly. This happens in the ncurses-GUI only, and this is an ARM issue, since it does not occur on x86 machines. Perhaps this might be related to the signed/unsigned char mismatch between ARM and x86.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/Triangle-BSD-Users-Group/events/240247251/" target="_blank" rel="nofollow noopener"&gt;Triangle BSD Meetup on June 27th&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.feyrer.de/NetBSD/bx/blosxom.cgi/nb_20170521_0113.html" target="_blank" rel="nofollow noopener"&gt;Support for Controller Area Networks (CAN) in NetBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2017-May/014104.html" target="_blank" rel="nofollow noopener"&gt;Notes from Monday's meeting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://runbsd.info/" target="_blank" rel="nofollow noopener"&gt;RunBSD - A site about the BSD family of operating systems&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsdfoundation.org/blog/bsdcam-2017-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener"&gt;BSDCam(bridge) 2017 Travel Grant Application Now Open&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsdmag.org/download/nearly-online-zpool-switching-two-freebsd-machines/" target="_blank" rel="nofollow noopener"&gt;New BSDMag has been released&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/390F9JN#wrap" target="_blank" rel="nofollow noopener"&gt;Philipp - A show about byhve&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0DYG5BD#wrap" target="_blank" rel="nofollow noopener"&gt;Jake - byhve Support on AMD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1YVBT12#wrap" target="_blank" rel="nofollow noopener"&gt;CY - Pledge and Capsicum&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3RSYV23#wrap" target="_blank" rel="nofollow noopener"&gt;CY - OpenSSL relicense Issue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0MM09EX#wrap" target="_blank" rel="nofollow noopener"&gt;Andy - Laptops&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This week on BSD Now, we review the EuroBSDcon schedule, we explore the mysteries of Docker on OpenBSD, and show you how to run PostgreSQL on ZFS.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://2017.eurobsdcon.org/2017/05/26/talks-schedule-published/" target="_blank" rel="nofollow noopener">EuroBSDcon 2017 - Talks &amp; Schedule published</a></h3>

<ul>
<li>The EuroBSDcon website was updated with the tutorial and talk schedule for the upcoming September conference in Paris, France.</li>
<li>Tutorials on the 1st day: Kirk McKusick - An Introduction to the FreeBSD Open-Source Operating System, George Neville-Neil - DTrace for Developers, Taylor R Campbell - How to untangle your threads from a giant lock in a multiprocessor system</li>
<li>Tutorials on the 2nd day: Kirk continues his Introduction lecture, Michael Lucas - Core concepts of ZFS (half day), Benedict Reuschling - Managing BSD systems with Ansible (half day), Peter Hessler - BGP for developers and sysadmins</li>
<li>Talks include 3 keynotes (2 on the first day, beginning and end), another one at the end of the second day by Brendan Gregg</li>
<li>Good mixture of talks of the various BSD projects</li>
<li>Also, a good amount of new names and faces</li>
<li>Check out the full <a href="https://2017.eurobsdcon.org/talks-schedule/" target="_blank" rel="nofollow noopener">talk schedule</a>.</li>
<li>Registration is not open yet, but will be soon.
***</li>
</ul>

<h3><a href="https://jcs.org/2017/05/22/xiaomiair" target="_blank" rel="nofollow noopener">OpenBSD on the Xiaomi Mi Air 12.5"</a></h3>

<blockquote>
<p>The <a href="https://xiaomi-mi.com/notebooks/xiaomi-mi-notebook-air-125-silver/" target="_blank" rel="nofollow noopener">Xiaomi Mi Air 12.5"</a> is a basic fanless 12.5" Ultrabook with good build quality and decent hardware specs, especially for the money: while it can usually be had for about $600, I got mine for $489 shipped to the US during a sale about a month ago.<br>
Xiaomi offers this laptop in silver and gold. They also make a 13" version but it comes with an NVidia graphics chip. Since these laptops are only sold in China, they come with a Chinese language version of Windows 10 and only one or two distributors that carry them ship to the US. Unfortunately that also means they come with practically no warranty or support.<br>
Hardware</p>
</blockquote>

<pre><code>&gt; The Mi Air 12.5" has a fanless, 6th generation (Skylake) Intel Core m3 processor, 4Gb of soldered-on RAM, and a 128Gb SATA SSD (more on that later). It has a small footprint of 11.5" wide, 8" deep, and 0.5" thick, and weighs 2.3 pounds.
&gt; A single USB-C port on the right-hand side is used to charge the laptop and provide USB connectivity. A USB-C ethernet adapter I tried worked fine in OpenBSD. Whether intentional or not, a particular design touch I appreciated was that the USB-C port is placed directly to the right of the power button on the keyboard, so you don't have to look or feel around for the port when plugging in the power cable.
&gt; A single USB 3 type-A port is also available on the right side next to the USB-C port. A full-size HDMI port and a headphone jack are on the left-hand side. It has a soldered-on Intel 8260 wireless adapter and Bluetooth. The webcam in the screen bezel attaches internally over USB.
&gt; The chassis is all aluminum and has sufficient rigidity in the keyboard area. The 12.5" 1920x1080 glossy IPS screen has a fairly small bezel and while its hinge is properly weighted to allow opening the lid with one hand (if you care about that kind of thing), the screen does have a bit of top-end wobble when open, especially when typing on another laptop on the same desk.
&gt; The keyboard has a roomy layout and a nice clicky tactile with good travel. It is backlit, but with only one backlight level. When enabled via Fn+F10 (which is handled by the EC, so no OpenBSD support required), it will automatically shut off after not typing for a short while, automatically turning back once a key is pressed.
</code></pre>

<blockquote>
<p>Upgrades<br>
    &gt; An interesting feature of the Mi Air is that it comes with a 128Gb SATA SSD but also includes an open PCI-e slot ready to accept an NVMe SSD.<br>
    &gt; I upgraded mine with a Samsung PM961 256Gb NVMe SSD (left), and while it is possible to run with both drives in at the same time, I removed the Samsung CM871a 128Gb SATA (right) drive to save power.<br>
    &gt; The bottom case can be removed by removing the seven visible screws, in addition to the one under the foot in the middle back of the case, which just pries off. A spudger tool is needed to release all of the plastic attachment clips along the entire edge of the bottom cover.<br>
    &gt; Unfortunately this upgrade proved to be quite time consuming due to the combination of the limited UEFI firmware on the Mi Air and a bug in OpenBSD.</p>

<p>A Detour into UEFI Firmware Variables</p>
</blockquote>

<pre><code>&gt; Unlike a traditional BIOS where one can boot into a menu and configure the boot order as well as enabling and disabling options such as "USB Hard Drive", the InsydeH2O UEFI firmware on the Xiaomi Air only provides the ability to adjust the boot order of existing devices. Any change or addition of boot devices must be done from the operating system, which is not possible under OpenBSD.
&gt; I booted to a USB key with OpenBSD on it and manually partitioned the new NVME SSD, then rsynced all of the data over from the old drive, but the laptop would not boot to the new NVME drive, instead showing an error message that there was no bootable OS.
&gt; Eventually I figured out that the GPT table that OpenBSD created on the NVMe disk was wrong due to a [one-off bug in the nvme driver](https://github.com/openbsd/src/commit/dc8298f669ea2d7e18c8a8efea509eed200cb989) which was causing the GPT table to be one sector too large, causing the backup GPT table to be written in the wrong location (and other utilities under Linux to write it over the OpenBSD area). I'm guessing the UEFI firmware would fail to read the bad GPT table on the disk that the boot variable pointed to, then declare that disk as missing, and then remove any variables that pointed to that disk.
</code></pre>

<blockquote>
<p>OpenBSD Support</p>
</blockquote>

<pre><code>&gt; The Mi Air's soldered-on Intel 8260 wireless adapter is supported by OpenBSD's iwm driver, including 802.11n support. The Intel sound chip is recognized by the azalia driver.
&gt; The Synaptics touchpad is connected via I2C, but is not yet supported. I am actively hacking on my dwiic driver to make this work and the touchpad will hopefully operate as a Windows Precision Touchpad via imt so I don't have to write an entirely new Synaptics driver.
&gt; Unfortunately since OpenBSD's inteldrm support that is ported from Linux is lagging quite a bit behind, there is no kernel support for Skylake and Kaby Lake video chips. Xorg works at 1920x1080 through efifb so the machine is at least usable, but X is not very fast and there is a noticeable delay when doing certain redrawing operations in xterm. Screen backlight can be adjusted through my OpenBSD port of intel_backlight. Since there is no hardware graphics support, this also means that suspend and resume do not work because nothing is available to re-POST the video after resume. Having to use efifb also makes it impossible to adjust the screen gamma, so for me, I can't use redshift for comfortable night-time hacking.
</code></pre>

<blockquote>
<p>Flaws</p>
</blockquote>

<pre><code>&gt; Especially taking into account the cheap price of the laptop, it's hard to find faults with the design. One minor gripe is that the edges of the case along the bottom are quite sharp, so when carrying the closed laptop, it can feel uncomfortable in one's hands.
&gt; While all of those things could be overlooked, unfortunately there is also a critical flaw in the rollover support in the keyboard/EC on the laptop. When typing certain combinations of keys quickly, such as holding Shift and typing "NULL", one's fingers may actually hold down the Shift, N, and U keys at the same time for a very brief moment before releasing N. Normally the keyboard/EC would recognize U being pressed after N is already down and send an interrupt for the U key. Unfortunately on this laptop, particular combinations of three keys do not interrupt for the third key at all until the second key is lifted, usually causing the third key not to register at all if typed quickly.
</code></pre>

<blockquote>
<p>I've been able to reproduce this problem in OpenBSD, Linux, and Windows, with the combinations of at least Shift+N+U and Shift+D+F. Holding Shift and typing the two characters in sequence quickly enough will usually fail to register the final character. Trying the combinations without Shift, using Control or Alt instead of Shift, or other character pairs does not trigger the problem.<br>
This might be a problem in the firmware on the Embedded Controller, or a defect in the keyboard circuitry itself. As I mentioned at the beginning, getting technical support for this machine is difficult because it's only sold in China.</p>

<hr>
</blockquote>

<h3><a href="https://medium.com/@dave_voutila/docker-on-openbsd-6-1-current-c620513b8110" target="_blank" rel="nofollow noopener">Docker on OpenBSD 6.1-current</a></h3>

<ul>
<li>Dave Voutila writes:</li>
</ul>

<blockquote>
<p>So here’s the thing. I’m normally a macOS user…all my hardware was designed in Cupertino, built in China. But I’m restless and have been toying with trying to switch my daily machine over to a non-macOS system sort of just for fun. I find Linux messy, FreeBSD not as Apple-laptop-friendly as it should be, and Windows a non-starter. Luckily, I found a friend in Puffy. Switching some of my Apple machines over to dual-boot OpenBSD left a gaping hole in my workflow. Luckily, all the hard work the OpenBSD team has done over the last year seems to have plugged it nicely!<br>
OpenBSD’s hypervisor support officially made it into the 6.1 release, but after some experimentation it was rather time consuming and too fragile to get a Linux guest up and running (i.e. basically the per-requisite for Docker). Others had reported some success starting with QEMU and doing lots of tinkering, but after a wasted evening I figured I’d grab the latest OpenBSD snapshot and try what the openbsd-misc list suggested was improved Linux support in active development.</p>
</blockquote>

<ul>
<li>10 (11) Steps to docker are provided

<ul>
<li>Step 0 — Install the latest OpenBSD 6.1 snapshot (-current)</li>
<li>Step 1 — Configure VMM/VMD</li>
<li>Step 2 — Grab an Alpine Linux ISO</li>
<li>Step 3 — Make a new virtual disk image</li>
<li>Step 4 — Boot Alpine’s ISO</li>
<li>Step 5 — Inhale that fresh Alpine air</li>
<li>Step 6 — Boot Alpine for Reals</li>
<li>Step 7 — Install Docker</li>
<li>Step 8 — Make a User</li>
<li>Step 9 — Ditch the Serial Console</li>
<li>Step 10 — Test out your Docker instance</li>
</ul></li>
</ul>

<blockquote>
<p>I haven’t done it yet, but I plan on installing docker-compose via Python’s pip package manager. I prefer defining containers in the compose files.</p>

<hr>
</blockquote>

<h3><a href="https://people.freebsd.org/%7Eseanc/postgresql/scale15x-2017-postgresql_zfs_best_practices.pdf" target="_blank" rel="nofollow noopener">PostgreSQL + ZFS Best Practices and Standard Procedures</a></h3>

<ul>
<li>Slides from Sean Chittenden’s talk about PostgreSQL and ZFS at Scale 15x this spring</li>
<li>Slides start with a good overview of Postgres and ZFS, and how to use them together</li>
<li>To start, it walks through the basics of how PostgreSQL interacts with the filesystem (any filesystem)</li>
<li>Then it shows the steps to take a good backup of PostgreSQL, then how to do it even better with ZFS</li>
<li>Then an intro to ZFS, and how Copy-on-Write changes host PostgreSQL interacts with the filesystem</li>
<li>Overview of how ZFS works</li>
<li>ZFS Tuning tips: Compression, Recordsize, atime, when to use mostly ARC vs shared_buffer, plus pg_repack</li>
<li>Followed by a discussion of the reliability of SSDs, and their Bit Error Rate (BER)</li>
<li>A good SSD has a 4%/year chance of returning the wrong data. A cheap SSD 34%</li>
<li>If you put 20 SSDs in a database server, that means 58% (Good SSDs) to 99.975% (Lowest quality commercially viable SSD) chance of an error per year</li>
<li>Luckily, ZFS can detect and correct these errors</li>
<li>This applies to all storage, not just SSDs, every device fails</li>
<li>More Advice:

<ul>
<li>Use quotas and reservations to avoid running out of space</li>
<li>Schedule Periodic Scrubs</li>
<li>One dataset per database</li>
</ul></li>
<li>Backups: Live demo of rm -rf’ing the database and getting it back</li>
<li>Using clones to test upgrades on real data</li>
<li>Naming Conventions:

<ul>
<li>Use a short prefix not on the root filesystem (e.g. /db)</li>
<li>Encode the PostgreSQL major version into the dataset name</li>
<li>Give each PostgreSQL cluster its own dataset (e.g. pgdb01)</li>
<li>Optional but recommended: one database per cluster</li>
<li>Optional but recommended: one app per database</li>
<li>Optional but recommended: encode environment into DB name</li>
<li>Optional but recommended: encode environment into DB username</li>
</ul></li>
<li>using ZFS Replication</li>
<li>Check out the full detailed PDF and implement a similar setup for your database needs
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://www.trueos.org/blog/housekeeping-update-infrastructure-trueos-changes/" target="_blank" rel="nofollow noopener">TrueOS Evolving Its "Stable" Release Cycle</a></h3>

<ul>
<li>TrueOS is reformulating its Stable branch based on feedback from users. The goal is to have a “release” of the stable branch every 6 months, for those who do not want to live on the edge with the rapid updates of the full rolling release</li>
</ul>

<blockquote>
<p>Most of the TrueOS developers work for iX Systems in their Tennessee office. Last month, the Tennessee office was moved to a different location across town. As part of the move, we need to move all our servers. We’re still getting some of the infrastructure sorted before moving the servers, so please bear with us as we continue this process.<br>
As we’ve continued working on TrueOS, we’ve heard a significant portion of the community asking for a more stable “STABLE” release of TrueOS, maybe something akin to an old PC-BSD version release. In order to meet that need, we’re redefining the TrueOS STABLE branch a bit. STABLE releases are now expected to follow a six month schedule, with more testing and lots of polish between releases. This gives users the option to step back a little from the “cutting edge” of development, but still enjoy many of the benefits of the “rolling release” style and the useful elements of FreeBSD Current.<br>
Critical updates like emergency patches and utility bug fixes are still expected to be pushed to STABLE on a case-by-case basis, but again with more testing and polish. This also applies to version updates of the Lumina and SysAdm projects. New, released work from those projects will be tested and added to STABLE outside the 6 month window as well.<br>
The UNSTABLE branch continues to be our experimental “cutting edge” track, and users who want to follow along with our development and help us or FreeBSD test new features are still encouraged to follow the UNSTABLE track by checking that setting in their TrueOS Update Manager.</p>
</blockquote>

<ul>
<li>With boot environments, it will be easy to switch back and forth, so you can have the best of both worlds. Use the latest bleeding edge features, but knowing you can fall back to the stable branch with just a reboot</li>
</ul>

<blockquote>
<p>As TrueOS evolves, it is becoming clearer that one role of the system is to function as a “test platform” for FreeBSD. In order to better serve this role, TrueOS will support both OpenRC and the FreeBSD RC init systems, giving users the choice to use either system. While the full functionality isn’t quite ready for the next STABLE update, it is planned for addition after the last bit of work and testing is complete. Stay tuned for an upcoming blog post with all the details of this change, along with instructions how to switch between RC and OpenRC.</p>
</blockquote>

<ul>
<li>This is the most important change for me. I used TrueOS as an easy way to run the latest version of -CURRENT on my laptop, to use it as a user, but also to do development. When TrueOS deviates from FreeBSD too much, it lessens the power of my expertise, and complicates development and debugging.</li>
<li>Being able to switch back to RC, even if it takes another minute to boot, will bring TrueOS back to being FreeBSD + GUI and more by default, instead of a science project.</li>
<li>We need both of those things, so having the option, while more work for the TrueOS team, I think will be better for the entire community
***</li>
</ul>

<h3><a href="http://www.h-i-r.net/2017/05/logical-domains-on-sunfire-t2000-with.html" target="_blank" rel="nofollow noopener">Logical Domains on SunFire T2000 with OpenBSD/sparc64</a></h3>

<blockquote>
<p>A couple of years ago, I picked up a Sun Fire T2000. This is a 2U rack mount server. Mine came with four 146GB SAS drives, a 32-core UltraSPARC T1 CPU and 32GB of RAM.<br>
Sun Microsystems incorporated Logical Domains (LDOMs) on this class of hardware. You don't often need 32 threads and 32GB of RAM in a single server. LDOMs are a kind of virtualization technology that's a bit closer to bare metal than vmm, Hyper-V, VirtualBox or even Xen. It works a bit like Xen, though. You can allocate processor, memory, storage and other resources to virtual servers on-board, with a blend of firmware that supports the hardware allocation, and some software in userland (on the so-called primary or control domain, similar to Xen DomU) to control it.<br>
LDOMs are similar to what IBM calls Logical Partitions (LPARs) on its Mainframe and POWER series computers. My day job from 2006-2010 involved working with both of these virtualization technologies, and I've kind of missed it.<br>
While upgrading OpenBSD to 6.1 on my T2000, I decided to delve into LDOM support under OpenBSD. This was pretty easy to do, but let's walk through it</p>
</blockquote>

<ul>
<li>Resources:

<ul>
<li><a href="http://man.openbsd.org/OpenBSD-current/man8/sparc64/ldomctl.8" target="_blank" rel="nofollow noopener">The ldomctl(8) man page</a></li>
<li><a href="http://www.tedunangst.com/flak/post/OpenBSD-on-a-Sun-T5120" target="_blank" rel="nofollow noopener">tedu@'s write-up on Flak (for a different class of server)</a></li>
<li><a href="https://plus.google.com/101694200911870273983/posts/jWh4rMKVq97" target="_blank" rel="nofollow noopener">A Google+ post by bmercer@</a></li>
</ul></li>
</ul>

<blockquote>
<p>Once you get comfortable with the fact that there's a little-tiny computer (the ALOM) powered by VXWorks inside that's acting as the management system and console (there's no screen or keyboard/mouse input), Installing OpenBSD on the base server is pretty straightforward. The serial console is an RJ-45 jack, and, yes, the ubiquitous blue-colored serial console cables you find for certain kinds of popular routers will work fine.<br>
OpenBSD installs quite easily, with the same installer you find on amd64 and i386. I chose to install to /dev/sd0, the first SAS drive only, leaving the others unused. It's possible to set them up in a hardware RAID configuration using tools available only under Solaris, or use softraid(4) on OpenBSD, but I didn't do this.<br>
I set up the primary LDOM to use the first ethernet port, em0. I decided I wanted to bridge the logical domains to the second ethernet port. You could also use a bridge and vether interface, with pf and dhcpd to create a NAT environment, similar to how I networked the vmm(4) systems.<br>
Create an LDOM configuration file. You can put this anywhere that's convenient. All of this stuff was in a "vm" subdirectory of my home. I called it ldom.conf:<br>
   domain primary {<br>
       vcpu 8<br>
       memory 8G<br>
   }<br>
   domain puffy {<br>
       vcpu 8<br>
       memory 4G<br>
       vdisk "/home/axon/vm/ldom1"<br>
       vnet<br>
   }</p>

<p>Make as many disk images as you want, and make as many additional domain clauses as you wish. Be mindful of system resources. I couldn't actually allocate a full 32GB of RAM across all the LDOMs<br>
I eventually provisioned seven LDOMs (in addition to the primary) on the T2000, each with 3GB of RAM and 4 vcpu cores. If you get creative with use of network interfaces, virtual ethernet, bridges and pf rules, you can run a pretty complex environment on a single chassis, with services that are only exposed to other VMs, a DMZ segment, and the internal LAN.</p>
</blockquote>

<ul>
<li>A nice tutorial, and an interesting look at an alternative platform that was ahead of its time
***</li>
</ul>

<h3><a href="http://www.tedunangst.com/flak/post/documentation-is-thoroughly-hard" target="_blank" rel="nofollow noopener">documentation is thoroughly hard</a></h3>

<ul>
<li>Ted Unangst has a new post this week about documentation:</li>
</ul>

<blockquote>
<p>Documentation is good, so therefore more documentation must be better, right? A few examples where things may have gotten out of control<br>
A fine example is the old OpenBSD install instructions. Once you’ve installed OpenBSD once or twice, the process is quite simple, but you’d never know this based on reading the instructions. Compare the files for 4.8 INSTALL and 5.8 INSTALL. Both begin with a brief intro to the project. Then 4.8 has an enormous list of mirrors, which seems fairly redundant if you’ve already found the install file. Followed by an enormous list of every supported variant of every supported device. Including a table of IO port configurations for ISA devices. Finally, after 1600 lines of introduction we get to the actual installation instructions. (Compared to line 231 for 5.8.) This includes a full page of text about how to install from tape, which nobody ever does. It took some time to recognize that all this documentation was actually an impediment to new users. Attempting to answer every possible question floods the reader with information for questions they were never planning to ask.<br>
Part of the problem is how the information is organized. Theoretically it makes sense to list supported hardware before instructions. After all, you can’t install anything if it’s not supported, right? I’m sure that was considered when the device list was originally inserted above the install instructions. But as a practical matter, consulting a device list is neither the easiest nor fastest way to determine what actually works.</p>
</blockquote>

<ul>
<li>In the FreeBSD docs tree, we have been doing a facelift project, trying to add ‘quick start’ sections to each chapter to let you get to the more important information first. It is also helpful to move data in the forms of lists and tables to appendices or similar, where they can easily be references, but are not blocking your way to the information you are actually hunting for</li>
</ul>

<blockquote>
<p>An example of <a href="http://languagelog.ldc.upenn.edu/nll/?p=29866" target="_blank" rel="nofollow noopener">nerdview signage</a>. “They have in effect provided a sign that will tell you exactly what the question is provided you can already supply the answer.”</p>
</blockquote>

<ul>
<li>That is, the logical minds of technical people often decide to order information in an order that makes sense to them, rather than in the order that will be most useful to the reader</li>
</ul>

<blockquote>
<p>In the end, I think “copy diskimage to USB and follow prompts” is all the instructions one should need, but it’s hard to overcome the unease of actually making the jump. What if somebody is confused or uncertain? Why is this paragraph more redundant than that paragraph? (And if we delete both, are we cutting too much?)<br>
Sometimes we don’t need to delete the information. Just hide it. The instructions to upgrade to 4.8 and upgrade to 5.8 are very similar, with a few differences because every release is a little bit different. The pages look very different, however, because the not at all recommended kernel free procedure, which takes up half the page, has been hidden from view behind some javascript and only expanded on demand. A casual browser will find the page and figure the upgrade process will be easy, as opposed to some long ordeal.</p>
</blockquote>

<ul>
<li>This is important as well, it was my original motivation for working on the FreeBSD Handbook’s ZFS chapter. The very first section of the chapter was the custom kernel configuration required to run ZFS on i386. That scared many users away. I moved that to the very end, and started with why you might want to use ZFS. Much more approachable.</li>
</ul>

<blockquote>
<p>Sometimes it’s just a tiny detail that’s overspecified. The apmd manual used to explain exactly which CPU idle time thresholds were used to adjust frequency. Those parameters, and the algorithm itself, were adjusted occasionally in response to user feedback, but sometimes the man page lagged behind. The numbers are of no use to a user. They’re not adjustable without recompiling. Knowing that the frequency would be reduced at 85% idle vs 90% idle doesn’t really offer much guidance as to whether to enable auto scaling or not. Deleting this detail ensured the man page was always correct and spares the user the cognitive load of trying to solve an unnecessary math problem.</p>
</blockquote>

<ul>
<li>For fun:</li>
</ul>

<blockquote>
<p>For another humorous example, it was recently observed that the deja-dup package provides man page translations for Australia, Canada, and Great Britain. I checked, the pages are in fact not quite identical. Some contain typo fixes that didn’t propagate to other translations. Project idea: attempt to identify which country has the most users, or most fastidious users, by bug fixes to localized man pages.</p>

<hr>
</blockquote>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-arm/2017-May/016260.html" target="_blank" rel="nofollow noopener">lldb on BeagleBone Black</a></h3>

<blockquote>
<p>I reliably managed to build (lldb + clang/lld) from the svn trunk of LLVM 5.0.0 on my Beaglebone Black running the latest snapshot (May 20th) of FreeBSD 12.0-CURRENT, and the lldb is working very well, and this includes single stepping and ncurses-GUI mode, while single stepping with the latest lldb 4.0.1 from the ports does not work.<br>
In order to reliably build LLVM 5.0.0 (svn), I set up a 1 GB swap partition for the BBB on a NFSv4 share on a FreeBSD fileserver in my network - I put a howto of the procedure on my BLog: <a href="https://obsigna.net/?p=659" target="_blank" rel="nofollow noopener">https://obsigna.net/?p=659</a></p>
</blockquote>

<ul>
<li>The prerequesites on the Beaglebone are:</li>
</ul>

<pre><code># pkg install tmux
# pkg install cmake
# pkg install python
# pkg install libxml2
# pkg install swig30
# pkg install ninja
# pkg install subversion
</code></pre>

<ul>
<li>On the FreeBSD fileserver:</li>
</ul>

<pre><code># /path_to_the/bbb_share
# svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
# cd llvm/tools
# svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
# svn co http://llvm.org/svn/llvm-project/lld/trunk lld
# svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb

</code></pre>

<ul>
<li>On the Beaglebone Black:</li>
</ul>

<pre><code> # mount_nfs -o noatime,readahead=4,intr,soft,nfsv4 server:/path_to_the/bbb_share /mnt
 # cd /mnt
 # mkdir build
 # cmake -DLLVM_TARGETS_TO_BUILD="ARM" -DCMAKE_BUILD_TYPE="MinSizeRel" \
        -DLLVM_PARALLEL_COMPILE_JOBS="1" -DLLVM_PARALLEL_LINK_JOBS="1" -G Ninja ..
</code></pre>

<blockquote>
<p>I execute the actual build command from within a tmux session, so I may disconnect during the quite long (40 h) build:</p>
</blockquote>

<pre><code># tmux new "ninja lldb install" 
</code></pre>

<blockquote>
<p>When debugging in GUI mode using the newly build lldb 5.0.0-svn, I see only a minor issue, namely UTF8 strings are not displayed correctly. This happens in the ncurses-GUI only, and this is an ARM issue, since it does not occur on x86 machines. Perhaps this might be related to the signed/unsigned char mismatch between ARM and x86.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.meetup.com/Triangle-BSD-Users-Group/events/240247251/" target="_blank" rel="nofollow noopener">Triangle BSD Meetup on June 27th</a></li>
<li><a href="http://www.feyrer.de/NetBSD/bx/blosxom.cgi/nb_20170521_0113.html" target="_blank" rel="nofollow noopener">Support for Controller Area Networks (CAN) in NetBSD</a></li>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2017-May/014104.html" target="_blank" rel="nofollow noopener">Notes from Monday's meeting</a></li>
<li><a href="http://runbsd.info/" target="_blank" rel="nofollow noopener">RunBSD - A site about the BSD family of operating systems</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcam-2017-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">BSDCam(bridge) 2017 Travel Grant Application Now Open</a></li>
<li><a href="https://bsdmag.org/download/nearly-online-zpool-switching-two-freebsd-machines/" target="_blank" rel="nofollow noopener">New BSDMag has been released</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/390F9JN#wrap" target="_blank" rel="nofollow noopener">Philipp - A show about byhve</a></li>
<li><a href="http://dpaste.com/0DYG5BD#wrap" target="_blank" rel="nofollow noopener">Jake - byhve Support on AMD</a></li>
<li><a href="http://dpaste.com/1YVBT12#wrap" target="_blank" rel="nofollow noopener">CY - Pledge and Capsicum</a></li>
<li><a href="http://dpaste.com/3RSYV23#wrap" target="_blank" rel="nofollow noopener">CY - OpenSSL relicense Issue</a></li>
<li><a href="http://dpaste.com/0MM09EX#wrap" target="_blank" rel="nofollow noopener">Andy - Laptops</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This week on BSD Now, we review the EuroBSDcon schedule, we explore the mysteries of Docker on OpenBSD, and show you how to run PostgreSQL on ZFS.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://2017.eurobsdcon.org/2017/05/26/talks-schedule-published/" target="_blank" rel="nofollow noopener">EuroBSDcon 2017 - Talks &amp; Schedule published</a></h3>

<ul>
<li>The EuroBSDcon website was updated with the tutorial and talk schedule for the upcoming September conference in Paris, France.</li>
<li>Tutorials on the 1st day: Kirk McKusick - An Introduction to the FreeBSD Open-Source Operating System, George Neville-Neil - DTrace for Developers, Taylor R Campbell - How to untangle your threads from a giant lock in a multiprocessor system</li>
<li>Tutorials on the 2nd day: Kirk continues his Introduction lecture, Michael Lucas - Core concepts of ZFS (half day), Benedict Reuschling - Managing BSD systems with Ansible (half day), Peter Hessler - BGP for developers and sysadmins</li>
<li>Talks include 3 keynotes (2 on the first day, beginning and end), another one at the end of the second day by Brendan Gregg</li>
<li>Good mixture of talks of the various BSD projects</li>
<li>Also, a good amount of new names and faces</li>
<li>Check out the full <a href="https://2017.eurobsdcon.org/talks-schedule/" target="_blank" rel="nofollow noopener">talk schedule</a>.</li>
<li>Registration is not open yet, but will be soon.
***</li>
</ul>

<h3><a href="https://jcs.org/2017/05/22/xiaomiair" target="_blank" rel="nofollow noopener">OpenBSD on the Xiaomi Mi Air 12.5"</a></h3>

<blockquote>
<p>The <a href="https://xiaomi-mi.com/notebooks/xiaomi-mi-notebook-air-125-silver/" target="_blank" rel="nofollow noopener">Xiaomi Mi Air 12.5"</a> is a basic fanless 12.5" Ultrabook with good build quality and decent hardware specs, especially for the money: while it can usually be had for about $600, I got mine for $489 shipped to the US during a sale about a month ago.<br>
Xiaomi offers this laptop in silver and gold. They also make a 13" version but it comes with an NVidia graphics chip. Since these laptops are only sold in China, they come with a Chinese language version of Windows 10 and only one or two distributors that carry them ship to the US. Unfortunately that also means they come with practically no warranty or support.<br>
Hardware</p>
</blockquote>

<pre><code>&gt; The Mi Air 12.5" has a fanless, 6th generation (Skylake) Intel Core m3 processor, 4Gb of soldered-on RAM, and a 128Gb SATA SSD (more on that later). It has a small footprint of 11.5" wide, 8" deep, and 0.5" thick, and weighs 2.3 pounds.
&gt; A single USB-C port on the right-hand side is used to charge the laptop and provide USB connectivity. A USB-C ethernet adapter I tried worked fine in OpenBSD. Whether intentional or not, a particular design touch I appreciated was that the USB-C port is placed directly to the right of the power button on the keyboard, so you don't have to look or feel around for the port when plugging in the power cable.
&gt; A single USB 3 type-A port is also available on the right side next to the USB-C port. A full-size HDMI port and a headphone jack are on the left-hand side. It has a soldered-on Intel 8260 wireless adapter and Bluetooth. The webcam in the screen bezel attaches internally over USB.
&gt; The chassis is all aluminum and has sufficient rigidity in the keyboard area. The 12.5" 1920x1080 glossy IPS screen has a fairly small bezel and while its hinge is properly weighted to allow opening the lid with one hand (if you care about that kind of thing), the screen does have a bit of top-end wobble when open, especially when typing on another laptop on the same desk.
&gt; The keyboard has a roomy layout and a nice clicky tactile with good travel. It is backlit, but with only one backlight level. When enabled via Fn+F10 (which is handled by the EC, so no OpenBSD support required), it will automatically shut off after not typing for a short while, automatically turning back once a key is pressed.
</code></pre>

<blockquote>
<p>Upgrades<br>
    &gt; An interesting feature of the Mi Air is that it comes with a 128Gb SATA SSD but also includes an open PCI-e slot ready to accept an NVMe SSD.<br>
    &gt; I upgraded mine with a Samsung PM961 256Gb NVMe SSD (left), and while it is possible to run with both drives in at the same time, I removed the Samsung CM871a 128Gb SATA (right) drive to save power.<br>
    &gt; The bottom case can be removed by removing the seven visible screws, in addition to the one under the foot in the middle back of the case, which just pries off. A spudger tool is needed to release all of the plastic attachment clips along the entire edge of the bottom cover.<br>
    &gt; Unfortunately this upgrade proved to be quite time consuming due to the combination of the limited UEFI firmware on the Mi Air and a bug in OpenBSD.</p>

<p>A Detour into UEFI Firmware Variables</p>
</blockquote>

<pre><code>&gt; Unlike a traditional BIOS where one can boot into a menu and configure the boot order as well as enabling and disabling options such as "USB Hard Drive", the InsydeH2O UEFI firmware on the Xiaomi Air only provides the ability to adjust the boot order of existing devices. Any change or addition of boot devices must be done from the operating system, which is not possible under OpenBSD.
&gt; I booted to a USB key with OpenBSD on it and manually partitioned the new NVME SSD, then rsynced all of the data over from the old drive, but the laptop would not boot to the new NVME drive, instead showing an error message that there was no bootable OS.
&gt; Eventually I figured out that the GPT table that OpenBSD created on the NVMe disk was wrong due to a [one-off bug in the nvme driver](https://github.com/openbsd/src/commit/dc8298f669ea2d7e18c8a8efea509eed200cb989) which was causing the GPT table to be one sector too large, causing the backup GPT table to be written in the wrong location (and other utilities under Linux to write it over the OpenBSD area). I'm guessing the UEFI firmware would fail to read the bad GPT table on the disk that the boot variable pointed to, then declare that disk as missing, and then remove any variables that pointed to that disk.
</code></pre>

<blockquote>
<p>OpenBSD Support</p>
</blockquote>

<pre><code>&gt; The Mi Air's soldered-on Intel 8260 wireless adapter is supported by OpenBSD's iwm driver, including 802.11n support. The Intel sound chip is recognized by the azalia driver.
&gt; The Synaptics touchpad is connected via I2C, but is not yet supported. I am actively hacking on my dwiic driver to make this work and the touchpad will hopefully operate as a Windows Precision Touchpad via imt so I don't have to write an entirely new Synaptics driver.
&gt; Unfortunately since OpenBSD's inteldrm support that is ported from Linux is lagging quite a bit behind, there is no kernel support for Skylake and Kaby Lake video chips. Xorg works at 1920x1080 through efifb so the machine is at least usable, but X is not very fast and there is a noticeable delay when doing certain redrawing operations in xterm. Screen backlight can be adjusted through my OpenBSD port of intel_backlight. Since there is no hardware graphics support, this also means that suspend and resume do not work because nothing is available to re-POST the video after resume. Having to use efifb also makes it impossible to adjust the screen gamma, so for me, I can't use redshift for comfortable night-time hacking.
</code></pre>

<blockquote>
<p>Flaws</p>
</blockquote>

<pre><code>&gt; Especially taking into account the cheap price of the laptop, it's hard to find faults with the design. One minor gripe is that the edges of the case along the bottom are quite sharp, so when carrying the closed laptop, it can feel uncomfortable in one's hands.
&gt; While all of those things could be overlooked, unfortunately there is also a critical flaw in the rollover support in the keyboard/EC on the laptop. When typing certain combinations of keys quickly, such as holding Shift and typing "NULL", one's fingers may actually hold down the Shift, N, and U keys at the same time for a very brief moment before releasing N. Normally the keyboard/EC would recognize U being pressed after N is already down and send an interrupt for the U key. Unfortunately on this laptop, particular combinations of three keys do not interrupt for the third key at all until the second key is lifted, usually causing the third key not to register at all if typed quickly.
</code></pre>

<blockquote>
<p>I've been able to reproduce this problem in OpenBSD, Linux, and Windows, with the combinations of at least Shift+N+U and Shift+D+F. Holding Shift and typing the two characters in sequence quickly enough will usually fail to register the final character. Trying the combinations without Shift, using Control or Alt instead of Shift, or other character pairs does not trigger the problem.<br>
This might be a problem in the firmware on the Embedded Controller, or a defect in the keyboard circuitry itself. As I mentioned at the beginning, getting technical support for this machine is difficult because it's only sold in China.</p>

<hr>
</blockquote>

<h3><a href="https://medium.com/@dave_voutila/docker-on-openbsd-6-1-current-c620513b8110" target="_blank" rel="nofollow noopener">Docker on OpenBSD 6.1-current</a></h3>

<ul>
<li>Dave Voutila writes:</li>
</ul>

<blockquote>
<p>So here’s the thing. I’m normally a macOS user…all my hardware was designed in Cupertino, built in China. But I’m restless and have been toying with trying to switch my daily machine over to a non-macOS system sort of just for fun. I find Linux messy, FreeBSD not as Apple-laptop-friendly as it should be, and Windows a non-starter. Luckily, I found a friend in Puffy. Switching some of my Apple machines over to dual-boot OpenBSD left a gaping hole in my workflow. Luckily, all the hard work the OpenBSD team has done over the last year seems to have plugged it nicely!<br>
OpenBSD’s hypervisor support officially made it into the 6.1 release, but after some experimentation it was rather time consuming and too fragile to get a Linux guest up and running (i.e. basically the per-requisite for Docker). Others had reported some success starting with QEMU and doing lots of tinkering, but after a wasted evening I figured I’d grab the latest OpenBSD snapshot and try what the openbsd-misc list suggested was improved Linux support in active development.</p>
</blockquote>

<ul>
<li>10 (11) Steps to docker are provided

<ul>
<li>Step 0 — Install the latest OpenBSD 6.1 snapshot (-current)</li>
<li>Step 1 — Configure VMM/VMD</li>
<li>Step 2 — Grab an Alpine Linux ISO</li>
<li>Step 3 — Make a new virtual disk image</li>
<li>Step 4 — Boot Alpine’s ISO</li>
<li>Step 5 — Inhale that fresh Alpine air</li>
<li>Step 6 — Boot Alpine for Reals</li>
<li>Step 7 — Install Docker</li>
<li>Step 8 — Make a User</li>
<li>Step 9 — Ditch the Serial Console</li>
<li>Step 10 — Test out your Docker instance</li>
</ul></li>
</ul>

<blockquote>
<p>I haven’t done it yet, but I plan on installing docker-compose via Python’s pip package manager. I prefer defining containers in the compose files.</p>

<hr>
</blockquote>

<h3><a href="https://people.freebsd.org/%7Eseanc/postgresql/scale15x-2017-postgresql_zfs_best_practices.pdf" target="_blank" rel="nofollow noopener">PostgreSQL + ZFS Best Practices and Standard Procedures</a></h3>

<ul>
<li>Slides from Sean Chittenden’s talk about PostgreSQL and ZFS at Scale 15x this spring</li>
<li>Slides start with a good overview of Postgres and ZFS, and how to use them together</li>
<li>To start, it walks through the basics of how PostgreSQL interacts with the filesystem (any filesystem)</li>
<li>Then it shows the steps to take a good backup of PostgreSQL, then how to do it even better with ZFS</li>
<li>Then an intro to ZFS, and how Copy-on-Write changes host PostgreSQL interacts with the filesystem</li>
<li>Overview of how ZFS works</li>
<li>ZFS Tuning tips: Compression, Recordsize, atime, when to use mostly ARC vs shared_buffer, plus pg_repack</li>
<li>Followed by a discussion of the reliability of SSDs, and their Bit Error Rate (BER)</li>
<li>A good SSD has a 4%/year chance of returning the wrong data. A cheap SSD 34%</li>
<li>If you put 20 SSDs in a database server, that means 58% (Good SSDs) to 99.975% (Lowest quality commercially viable SSD) chance of an error per year</li>
<li>Luckily, ZFS can detect and correct these errors</li>
<li>This applies to all storage, not just SSDs, every device fails</li>
<li>More Advice:

<ul>
<li>Use quotas and reservations to avoid running out of space</li>
<li>Schedule Periodic Scrubs</li>
<li>One dataset per database</li>
</ul></li>
<li>Backups: Live demo of rm -rf’ing the database and getting it back</li>
<li>Using clones to test upgrades on real data</li>
<li>Naming Conventions:

<ul>
<li>Use a short prefix not on the root filesystem (e.g. /db)</li>
<li>Encode the PostgreSQL major version into the dataset name</li>
<li>Give each PostgreSQL cluster its own dataset (e.g. pgdb01)</li>
<li>Optional but recommended: one database per cluster</li>
<li>Optional but recommended: one app per database</li>
<li>Optional but recommended: encode environment into DB name</li>
<li>Optional but recommended: encode environment into DB username</li>
</ul></li>
<li>using ZFS Replication</li>
<li>Check out the full detailed PDF and implement a similar setup for your database needs
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://www.trueos.org/blog/housekeeping-update-infrastructure-trueos-changes/" target="_blank" rel="nofollow noopener">TrueOS Evolving Its "Stable" Release Cycle</a></h3>

<ul>
<li>TrueOS is reformulating its Stable branch based on feedback from users. The goal is to have a “release” of the stable branch every 6 months, for those who do not want to live on the edge with the rapid updates of the full rolling release</li>
</ul>

<blockquote>
<p>Most of the TrueOS developers work for iX Systems in their Tennessee office. Last month, the Tennessee office was moved to a different location across town. As part of the move, we need to move all our servers. We’re still getting some of the infrastructure sorted before moving the servers, so please bear with us as we continue this process.<br>
As we’ve continued working on TrueOS, we’ve heard a significant portion of the community asking for a more stable “STABLE” release of TrueOS, maybe something akin to an old PC-BSD version release. In order to meet that need, we’re redefining the TrueOS STABLE branch a bit. STABLE releases are now expected to follow a six month schedule, with more testing and lots of polish between releases. This gives users the option to step back a little from the “cutting edge” of development, but still enjoy many of the benefits of the “rolling release” style and the useful elements of FreeBSD Current.<br>
Critical updates like emergency patches and utility bug fixes are still expected to be pushed to STABLE on a case-by-case basis, but again with more testing and polish. This also applies to version updates of the Lumina and SysAdm projects. New, released work from those projects will be tested and added to STABLE outside the 6 month window as well.<br>
The UNSTABLE branch continues to be our experimental “cutting edge” track, and users who want to follow along with our development and help us or FreeBSD test new features are still encouraged to follow the UNSTABLE track by checking that setting in their TrueOS Update Manager.</p>
</blockquote>

<ul>
<li>With boot environments, it will be easy to switch back and forth, so you can have the best of both worlds. Use the latest bleeding edge features, but knowing you can fall back to the stable branch with just a reboot</li>
</ul>

<blockquote>
<p>As TrueOS evolves, it is becoming clearer that one role of the system is to function as a “test platform” for FreeBSD. In order to better serve this role, TrueOS will support both OpenRC and the FreeBSD RC init systems, giving users the choice to use either system. While the full functionality isn’t quite ready for the next STABLE update, it is planned for addition after the last bit of work and testing is complete. Stay tuned for an upcoming blog post with all the details of this change, along with instructions how to switch between RC and OpenRC.</p>
</blockquote>

<ul>
<li>This is the most important change for me. I used TrueOS as an easy way to run the latest version of -CURRENT on my laptop, to use it as a user, but also to do development. When TrueOS deviates from FreeBSD too much, it lessens the power of my expertise, and complicates development and debugging.</li>
<li>Being able to switch back to RC, even if it takes another minute to boot, will bring TrueOS back to being FreeBSD + GUI and more by default, instead of a science project.</li>
<li>We need both of those things, so having the option, while more work for the TrueOS team, I think will be better for the entire community
***</li>
</ul>

<h3><a href="http://www.h-i-r.net/2017/05/logical-domains-on-sunfire-t2000-with.html" target="_blank" rel="nofollow noopener">Logical Domains on SunFire T2000 with OpenBSD/sparc64</a></h3>

<blockquote>
<p>A couple of years ago, I picked up a Sun Fire T2000. This is a 2U rack mount server. Mine came with four 146GB SAS drives, a 32-core UltraSPARC T1 CPU and 32GB of RAM.<br>
Sun Microsystems incorporated Logical Domains (LDOMs) on this class of hardware. You don't often need 32 threads and 32GB of RAM in a single server. LDOMs are a kind of virtualization technology that's a bit closer to bare metal than vmm, Hyper-V, VirtualBox or even Xen. It works a bit like Xen, though. You can allocate processor, memory, storage and other resources to virtual servers on-board, with a blend of firmware that supports the hardware allocation, and some software in userland (on the so-called primary or control domain, similar to Xen DomU) to control it.<br>
LDOMs are similar to what IBM calls Logical Partitions (LPARs) on its Mainframe and POWER series computers. My day job from 2006-2010 involved working with both of these virtualization technologies, and I've kind of missed it.<br>
While upgrading OpenBSD to 6.1 on my T2000, I decided to delve into LDOM support under OpenBSD. This was pretty easy to do, but let's walk through it</p>
</blockquote>

<ul>
<li>Resources:

<ul>
<li><a href="http://man.openbsd.org/OpenBSD-current/man8/sparc64/ldomctl.8" target="_blank" rel="nofollow noopener">The ldomctl(8) man page</a></li>
<li><a href="http://www.tedunangst.com/flak/post/OpenBSD-on-a-Sun-T5120" target="_blank" rel="nofollow noopener">tedu@'s write-up on Flak (for a different class of server)</a></li>
<li><a href="https://plus.google.com/101694200911870273983/posts/jWh4rMKVq97" target="_blank" rel="nofollow noopener">A Google+ post by bmercer@</a></li>
</ul></li>
</ul>

<blockquote>
<p>Once you get comfortable with the fact that there's a little-tiny computer (the ALOM) powered by VXWorks inside that's acting as the management system and console (there's no screen or keyboard/mouse input), Installing OpenBSD on the base server is pretty straightforward. The serial console is an RJ-45 jack, and, yes, the ubiquitous blue-colored serial console cables you find for certain kinds of popular routers will work fine.<br>
OpenBSD installs quite easily, with the same installer you find on amd64 and i386. I chose to install to /dev/sd0, the first SAS drive only, leaving the others unused. It's possible to set them up in a hardware RAID configuration using tools available only under Solaris, or use softraid(4) on OpenBSD, but I didn't do this.<br>
I set up the primary LDOM to use the first ethernet port, em0. I decided I wanted to bridge the logical domains to the second ethernet port. You could also use a bridge and vether interface, with pf and dhcpd to create a NAT environment, similar to how I networked the vmm(4) systems.<br>
Create an LDOM configuration file. You can put this anywhere that's convenient. All of this stuff was in a "vm" subdirectory of my home. I called it ldom.conf:<br>
   domain primary {<br>
       vcpu 8<br>
       memory 8G<br>
   }<br>
   domain puffy {<br>
       vcpu 8<br>
       memory 4G<br>
       vdisk "/home/axon/vm/ldom1"<br>
       vnet<br>
   }</p>

<p>Make as many disk images as you want, and make as many additional domain clauses as you wish. Be mindful of system resources. I couldn't actually allocate a full 32GB of RAM across all the LDOMs<br>
I eventually provisioned seven LDOMs (in addition to the primary) on the T2000, each with 3GB of RAM and 4 vcpu cores. If you get creative with use of network interfaces, virtual ethernet, bridges and pf rules, you can run a pretty complex environment on a single chassis, with services that are only exposed to other VMs, a DMZ segment, and the internal LAN.</p>
</blockquote>

<ul>
<li>A nice tutorial, and an interesting look at an alternative platform that was ahead of its time
***</li>
</ul>

<h3><a href="http://www.tedunangst.com/flak/post/documentation-is-thoroughly-hard" target="_blank" rel="nofollow noopener">documentation is thoroughly hard</a></h3>

<ul>
<li>Ted Unangst has a new post this week about documentation:</li>
</ul>

<blockquote>
<p>Documentation is good, so therefore more documentation must be better, right? A few examples where things may have gotten out of control<br>
A fine example is the old OpenBSD install instructions. Once you’ve installed OpenBSD once or twice, the process is quite simple, but you’d never know this based on reading the instructions. Compare the files for 4.8 INSTALL and 5.8 INSTALL. Both begin with a brief intro to the project. Then 4.8 has an enormous list of mirrors, which seems fairly redundant if you’ve already found the install file. Followed by an enormous list of every supported variant of every supported device. Including a table of IO port configurations for ISA devices. Finally, after 1600 lines of introduction we get to the actual installation instructions. (Compared to line 231 for 5.8.) This includes a full page of text about how to install from tape, which nobody ever does. It took some time to recognize that all this documentation was actually an impediment to new users. Attempting to answer every possible question floods the reader with information for questions they were never planning to ask.<br>
Part of the problem is how the information is organized. Theoretically it makes sense to list supported hardware before instructions. After all, you can’t install anything if it’s not supported, right? I’m sure that was considered when the device list was originally inserted above the install instructions. But as a practical matter, consulting a device list is neither the easiest nor fastest way to determine what actually works.</p>
</blockquote>

<ul>
<li>In the FreeBSD docs tree, we have been doing a facelift project, trying to add ‘quick start’ sections to each chapter to let you get to the more important information first. It is also helpful to move data in the forms of lists and tables to appendices or similar, where they can easily be references, but are not blocking your way to the information you are actually hunting for</li>
</ul>

<blockquote>
<p>An example of <a href="http://languagelog.ldc.upenn.edu/nll/?p=29866" target="_blank" rel="nofollow noopener">nerdview signage</a>. “They have in effect provided a sign that will tell you exactly what the question is provided you can already supply the answer.”</p>
</blockquote>

<ul>
<li>That is, the logical minds of technical people often decide to order information in an order that makes sense to them, rather than in the order that will be most useful to the reader</li>
</ul>

<blockquote>
<p>In the end, I think “copy diskimage to USB and follow prompts” is all the instructions one should need, but it’s hard to overcome the unease of actually making the jump. What if somebody is confused or uncertain? Why is this paragraph more redundant than that paragraph? (And if we delete both, are we cutting too much?)<br>
Sometimes we don’t need to delete the information. Just hide it. The instructions to upgrade to 4.8 and upgrade to 5.8 are very similar, with a few differences because every release is a little bit different. The pages look very different, however, because the not at all recommended kernel free procedure, which takes up half the page, has been hidden from view behind some javascript and only expanded on demand. A casual browser will find the page and figure the upgrade process will be easy, as opposed to some long ordeal.</p>
</blockquote>

<ul>
<li>This is important as well, it was my original motivation for working on the FreeBSD Handbook’s ZFS chapter. The very first section of the chapter was the custom kernel configuration required to run ZFS on i386. That scared many users away. I moved that to the very end, and started with why you might want to use ZFS. Much more approachable.</li>
</ul>

<blockquote>
<p>Sometimes it’s just a tiny detail that’s overspecified. The apmd manual used to explain exactly which CPU idle time thresholds were used to adjust frequency. Those parameters, and the algorithm itself, were adjusted occasionally in response to user feedback, but sometimes the man page lagged behind. The numbers are of no use to a user. They’re not adjustable without recompiling. Knowing that the frequency would be reduced at 85% idle vs 90% idle doesn’t really offer much guidance as to whether to enable auto scaling or not. Deleting this detail ensured the man page was always correct and spares the user the cognitive load of trying to solve an unnecessary math problem.</p>
</blockquote>

<ul>
<li>For fun:</li>
</ul>

<blockquote>
<p>For another humorous example, it was recently observed that the deja-dup package provides man page translations for Australia, Canada, and Great Britain. I checked, the pages are in fact not quite identical. Some contain typo fixes that didn’t propagate to other translations. Project idea: attempt to identify which country has the most users, or most fastidious users, by bug fixes to localized man pages.</p>

<hr>
</blockquote>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-arm/2017-May/016260.html" target="_blank" rel="nofollow noopener">lldb on BeagleBone Black</a></h3>

<blockquote>
<p>I reliably managed to build (lldb + clang/lld) from the svn trunk of LLVM 5.0.0 on my Beaglebone Black running the latest snapshot (May 20th) of FreeBSD 12.0-CURRENT, and the lldb is working very well, and this includes single stepping and ncurses-GUI mode, while single stepping with the latest lldb 4.0.1 from the ports does not work.<br>
In order to reliably build LLVM 5.0.0 (svn), I set up a 1 GB swap partition for the BBB on a NFSv4 share on a FreeBSD fileserver in my network - I put a howto of the procedure on my BLog: <a href="https://obsigna.net/?p=659" target="_blank" rel="nofollow noopener">https://obsigna.net/?p=659</a></p>
</blockquote>

<ul>
<li>The prerequesites on the Beaglebone are:</li>
</ul>

<pre><code># pkg install tmux
# pkg install cmake
# pkg install python
# pkg install libxml2
# pkg install swig30
# pkg install ninja
# pkg install subversion
</code></pre>

<ul>
<li>On the FreeBSD fileserver:</li>
</ul>

<pre><code># /path_to_the/bbb_share
# svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
# cd llvm/tools
# svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
# svn co http://llvm.org/svn/llvm-project/lld/trunk lld
# svn co http://llvm.org/svn/llvm-project/lldb/trunk lldb

</code></pre>

<ul>
<li>On the Beaglebone Black:</li>
</ul>

<pre><code> # mount_nfs -o noatime,readahead=4,intr,soft,nfsv4 server:/path_to_the/bbb_share /mnt
 # cd /mnt
 # mkdir build
 # cmake -DLLVM_TARGETS_TO_BUILD="ARM" -DCMAKE_BUILD_TYPE="MinSizeRel" \
        -DLLVM_PARALLEL_COMPILE_JOBS="1" -DLLVM_PARALLEL_LINK_JOBS="1" -G Ninja ..
</code></pre>

<blockquote>
<p>I execute the actual build command from within a tmux session, so I may disconnect during the quite long (40 h) build:</p>
</blockquote>

<pre><code># tmux new "ninja lldb install" 
</code></pre>

<blockquote>
<p>When debugging in GUI mode using the newly build lldb 5.0.0-svn, I see only a minor issue, namely UTF8 strings are not displayed correctly. This happens in the ncurses-GUI only, and this is an ARM issue, since it does not occur on x86 machines. Perhaps this might be related to the signed/unsigned char mismatch between ARM and x86.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.meetup.com/Triangle-BSD-Users-Group/events/240247251/" target="_blank" rel="nofollow noopener">Triangle BSD Meetup on June 27th</a></li>
<li><a href="http://www.feyrer.de/NetBSD/bx/blosxom.cgi/nb_20170521_0113.html" target="_blank" rel="nofollow noopener">Support for Controller Area Networks (CAN) in NetBSD</a></li>
<li><a href="http://mailman.uk.freebsd.org/pipermail/ukfreebsd/2017-May/014104.html" target="_blank" rel="nofollow noopener">Notes from Monday's meeting</a></li>
<li><a href="http://runbsd.info/" target="_blank" rel="nofollow noopener">RunBSD - A site about the BSD family of operating systems</a></li>
<li><a href="https://www.freebsdfoundation.org/blog/bsdcam-2017-travel-grant-application-now-open/" target="_blank" rel="nofollow noopener">BSDCam(bridge) 2017 Travel Grant Application Now Open</a></li>
<li><a href="https://bsdmag.org/download/nearly-online-zpool-switching-two-freebsd-machines/" target="_blank" rel="nofollow noopener">New BSDMag has been released</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/390F9JN#wrap" target="_blank" rel="nofollow noopener">Philipp - A show about byhve</a></li>
<li><a href="http://dpaste.com/0DYG5BD#wrap" target="_blank" rel="nofollow noopener">Jake - byhve Support on AMD</a></li>
<li><a href="http://dpaste.com/1YVBT12#wrap" target="_blank" rel="nofollow noopener">CY - Pledge and Capsicum</a></li>
<li><a href="http://dpaste.com/3RSYV23#wrap" target="_blank" rel="nofollow noopener">CY - OpenSSL relicense Issue</a></li>
<li><a href="http://dpaste.com/0MM09EX#wrap" target="_blank" rel="nofollow noopener">Andy - Laptops</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>195: I don’t WannaCry</title>
  <link>https://www.bsdnow.tv/195</link>
  <guid isPermaLink="false">f0dd8ba0-2788-4d18-aa36-6cb27f74de37</guid>
  <pubDate>Wed, 24 May 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/f0dd8ba0-2788-4d18-aa36-6cb27f74de37.mp3" length="54181588" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>A pledge of love to OpenBSD, combating ransomware like WannaCry with OpenZFS, and using PFsense to maximize your non-gigabit Internet connection</itunes:subtitle>
  <itunes:duration>1:15:15</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>&lt;p&gt;A pledge of love to OpenBSD, combating ransomware like WannaCry with OpenZFS, and using PFsense to maximize your non-gigabit Internet connection&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=318736" target="_blank" rel="nofollow noopener"&gt;ino64 project committed to FreeBSD 12-CURRENT&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The ino64 project has been completed and merged into FreeBSD 12-CURRENT&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Extend the ino_t, dev_t, nlink_t types to 64-bit ints.  Modify struct dirent layout to add d_off, increase the size of d_fileno to 64-bits, increase the size of d_namlen to 16-bits, and change the required alignment.  Increase struct statfs f_mntfromname[] and f_mntonname[] array length MNAMELEN to 1024&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;This means the length of a mount point (MNAMELEN) has been increased from 88 byte to 1024 bytes. This allows longer ZFS dataset names and more nesting, and generally improves the usefulness of nested jails&lt;/li&gt;
&lt;li&gt;It also allow more than 4 billion files to be stored in a single file system (both UFS and ZFS). It also deals with a number of NFS problems, such as Amazon’s EFS (cloud NFS), which uses 64 bit IDs even with small numbers of files.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;ABI breakage is mitigated by providing compatibility using versioned symbols, ingenious use of the existing padding in structures, and by employing other tricks.  Unfortunately, not everything can be fixed, especially outside the base system.  For instance, third-party APIs which pass struct stat around are broken in backward and forward incompatible ways.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A bug in poudriere that may cause some packages to not rebuild is being fixed. Many packages like perl will need to be rebuilt after this change&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Update note: strictly follow the instructions in UPDATING.  Build and install the new kernel with COMPAT_FREEBSD11 option enabled, then reboot, and only then install new world.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;So you need the new GENERIC kernel with the COMPAT_FREEBSD11 option, so that your old userland will work with the new kernel, and you need to build, install, and reboot onto the new kernel before attempting to install world. The usual process of installing both and then rebooting will NOT WORK&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Credits: The 64-bit inode project, also known as ino64, started life many years ago as a project by Gleb Kurtsou (gleb).  Kirk McKusick (mckusick) then picked up and updated the patch, and acted as a flag-waver.  Feedback, suggestions, and discussions were carried by Ed Maste (emaste), John Baldwin (jhb), Jilles Tjoelker (jilles), and Rick Macklem (rmacklem).  Kris Moore (kmoore) performed an initial ports investigation followed by an exp-run by Antoine Brodin (antoine). Essential and all-embracing testing was done by Peter Holm (pho). The heavy lifting of coordinating all these efforts and bringing the project to completion were done by Konstantin Belousov (kib).&lt;/p&gt;

&lt;p&gt;Sponsored by:    The FreeBSD Foundation (emaste, kib)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://medium.com/@h3artbl33d/why-i-love-openbsd-ca760cf53941" target="_blank" rel="nofollow noopener"&gt;Why I love OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Jeroen Janssen writes:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I do love open source software. Oh boy, I really do love open source software. It’s extendable, auditable, and customizable. What’s not to love?&lt;br&gt;
I’m astonished by the idea that tens, hundreds, and sometimes even thousands of enthusiastic, passionate developers collaborate on an idea. Together, they make the world a better place, bit by bit.&lt;br&gt;
And this leads me to one of my favorite open source projects: the 22-year-old OpenBSD operating system.&lt;br&gt;
The origins of my love affair with OpenBSD&lt;br&gt;
From Linux to *BSD&lt;br&gt;
The advantages of OpenBSD&lt;/p&gt;

&lt;p&gt;It’s extremely secure&lt;br&gt;
It’s well documented&lt;br&gt;
It’s open source&lt;br&gt;
    &amp;gt; It’s neat and clean&lt;/p&gt;

&lt;p&gt;My take on OpenBSD&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;p&gt;** DO **&lt;/p&gt;

&lt;h3&gt;&lt;a href="https://www.ixsystems.com/blog/combating-ransomware/" target="_blank" rel="nofollow noopener"&gt;Combating WannaCry and Other Ransomware with OpenZFS Snapshots&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Ransomware attacks that hold your data hostage using unauthorized data encryption are spreading rapidly and are particularly nefarious because they do not require any special access privileges to your data. A ransomware attack may be launched via a sophisticated software exploit as was the case with the recent “WannaCry” ransomware, but there is nothing stopping you from downloading and executing a malicious program that encrypts every file you have access to. If you fail to pay the ransom, the result will be indistinguishable from your simply deleting every file on your system. To make matters worse, ransomware authors are expanding their attacks to include just about any storage you have access to. The list is long, but includes network shares, Cloud services like DropBox, and even “shadow copies” of data that allow you to open previous versions of files.&lt;br&gt;
To make matters even worse, there is little that your operating system can do to prevent you or a program you run from encrypting files with ransomware just as it can’t prevent you from deleting the files you own. Frequent backups are touted as one of the few effective strategies for recovering from ransomware attacks but it is critical that any backup be isolated from the attack to be immune from the same attack. Simply copying your files to a mounted disk on your computer or in the Cloud makes the backup vulnerable to infection by virtue of the fact that you are backing up using your regular permissions. If you can write to it, the ransomware can encrypt it. Like medical workers wearing hazmat suits for isolation when combating an epidemic, you need to isolate your backups from ransomware.&lt;br&gt;
OpenZFS snapshots to the rescue&lt;br&gt;
OpenZFS is the powerful file system at the heart of every storage system that iXsystems sells and of its many features, snapshots can provide fast and effective recovery from ransomware attacks at both the individual user and enterprise level as I talked about in 2015. As a copy-on-write file system, OpenZFS provides efficient and consistent snapshots of your data at any given point in time. Each snapshot only includes the precise delta of changes between any two points in time and can be cloned to provide writable copies of any previous state without losing the original copy. Snapshots also provide the basis of OpenZFS replication or backing up of your data to local and remote systems. Because an OpenZFS snapshot takes place at the block level of the file system, it is immune to any file-level encryption by ransomware that occurs over it. A carefully-planned snapshot, replication, retention, and restoration strategy can provide the low-level isolation you need to enable your storage infrastructure to quickly recover from ransomware attacks.&lt;br&gt;
OpenZFS snapshots in practice&lt;br&gt;
While OpenZFS is available on a number of desktop operating systems such as TrueOS and macOS, the most effective way to bring the benefits of OpenZFS snapshots to the largest number of users is with a network of iXsystems TrueNAS, FreeNAS Certified and FreeNAS Mini unified NAS and SAN storage systems. All of these can provide OpenZFS-backed SMB, NFS, AFP, and iSCSI file and block storage to the smallest workgroups up through the largest enterprises and TrueNAS offers available Fibre Channel for enterprise deployments. By sharing your data to your users using these file and block protocols, you can provide them with a storage infrastructure that can quickly recover from any ransomware attack thrown at it. To mitigate ransomware attacks against individual workstations, TrueNAS and FreeNAS can provide snapshotted storage to your VDI or virtualization solution of choice. Best of all, every iXsystems TrueNAS, FreeNAS Certified, and FreeNAS Mini system includes a consistent user interface and the ability to replicate between one another. This means that any topology of individual offices and campuses can exchange backup data to quickly mitigate ransomware attacks on your organization at all levels.&lt;br&gt;
Join us for a &lt;a href="http://www.onlinemeetingnow.com/register/?id=uegudsbc75" target="_blank" rel="nofollow noopener"&gt;free webinar&lt;/a&gt; with iXsystems Co-Founder Matt Olander and learn more about why businesses everywhere are replacing their proprietary storage platforms with TrueNAS then email us at &lt;a href="mailto:info@ixsystems.com" target="_blank" rel="nofollow noopener"&gt;info@ixsystems.com&lt;/a&gt; or call 1-855-GREP-4-IX (1-855-473-7449), or 1-408-493-4100 (outside the US) to discuss your storage needs with one of our solutions architects.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Interview - Michael W. Lucas - &lt;a href="mailto:mwlucas@michaelwlucas.com" target="_blank" rel="nofollow noopener"&gt;mwlucas@michaelwlucas.com&lt;/a&gt; / &lt;a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener"&gt;@twitter&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Books, conferences, and how these two combine&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;BR: Welcome back. Tell us what you’ve been up to since the last time we interviewed you regarding books and such.&lt;/li&gt;
&lt;li&gt;AJ: Tell us a little bit about relayd and what it can do.&lt;/li&gt;
&lt;li&gt;BR: What other books do you have in the pipeline?&lt;/li&gt;
&lt;li&gt;AJ: What are your criteria that qualifies a topic for a mastery book?&lt;/li&gt;
&lt;li&gt;BR: Can you tell us a little bit about these writing workshops that you attend and what happens there?&lt;/li&gt;
&lt;li&gt;AJ: Without spoiling too much: How did you come up with the idea for git commit murder?&lt;/li&gt;
&lt;li&gt;BR: Speaking of BSDCan, can you tell the first timers about what to expect in the [&lt;a href="http://www.bsdcan.org/2017/schedule/events/890.en.html%5D(Newcomers" target="_blank" rel="nofollow noopener"&gt;http://www.bsdcan.org/2017/schedule/events/890.en.html](Newcomers&lt;/a&gt; orientation and mentorship) session on Thursday?&lt;/li&gt;
&lt;li&gt;AJ: Tell us about the new WIP session at BSDCan. Who had the idea and how much input did you get thus far?&lt;/li&gt;
&lt;li&gt;BR: Have you ever thought about branching off into a new genre like children’s books or medieval fantasy novels?&lt;/li&gt;
&lt;li&gt;AJ: Is there anything else before we let you go?
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://tetragir.com/freebsd/networking/using-lldp-on-freebsd.html" target="_blank" rel="nofollow noopener"&gt;Using LLDP on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;LLDP, or Link Layer Discovery Protocol allows system administrators to easily map the network, eliminating the need to physically run the cables in a rack. LLDP is a protocol used to send and receive information about a neighboring device connected directly to a networking interface. It is similar to Cisco’s CDP, Foundry’s FDP, Nortel’s SONMP, etc. It is a stateless protocol, meaning that an LLDP-enabled device sends advertisements even if the other side cannot do anything with it. In this guide the installation and configuration of the LLDP daemon on FreeBSD as well as on a Cisco switch will be introduced.&lt;br&gt;
If you are already familiar with Cisco’s CDP, LLDP won’t surprise you. It is built for the same purpose: to exchange device information between peers on a network. While CDP is a proprietary solution and can be used only on Cisco devices, LLDP is a standard: IEEE 802.3AB. Therefore it is implemented on many types of devices, such as switches, routers, various desktop operating systems, etc. LLDP helps a great deal in mapping the network topology, without spending hours in cabling cabinets to figure out which device is connected with which switchport. If LLDP is running on both the networking device and the server, it can show which port is connected where. Besides physical interfaces, LLDP can be used to exchange a lot more information, such as IP Address, hostname, etc.&lt;br&gt;
In order to use LLDP on FreeBSD, net-mgmt/lldpd has to be installed. It can be installed from ports using portmaster: #portmaster net-mgmt/lldpd Or from packages: #pkg install net-mgmt/lldpd By default lldpd sends and receives all the information it can gather , so it is advisable to limit what we will communicate with the neighboring device.&lt;br&gt;
The configuration file for lldpd is basically a list of commands as it is passed to lldpcli. Create a file named lldpd.conf under /usr/local/etc/ The following configuration gives an example of how lldpd can be configured. For a full list of options, see %man lldpcli&lt;br&gt;
To check what is configured locally, run #lldpcli show chassis detail&lt;br&gt;
To see the neighbors run #lldpcli show neighbors details&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Check out the rest of the article about enabling LLDP on a Cisco switch&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://www.tedunangst.com/flak/post/experiments-with-prepledge" target="_blank" rel="nofollow noopener"&gt;experiments with prepledge&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ted Unangst takes a crack at a system similar to the one being designed for Capsicum, Oblivious Sandboxing (See the presentation at BSDCan), where the application doesn’t even know it is in the sandbox&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;MP3 is officially dead, so I figure I should listen to my collection one last time before it vanishes entirely. The provenance of some of these files is a little suspect however, and since I know one shouldn’t open files from strangers, I’d like to take some precautions against malicious malarkey. This would be a good use for pledge, perhaps, if we can get it working.&lt;br&gt;
At the same time, an occasional feature request for pledge is the ability to specify restrictions before running a program. Given some untrusted program, wrap its execution in a pledge like environment. There are other system call sandbox mechanisms that can do this (systrace was one), but pledge is quite deliberately designed not to support this. But maybe we can bend it to our will.&lt;br&gt;
Our pledge wrapper can’t be an external program. This leaves us with the option of injecting the wrapper into the target program via LD_PRELOAD. Before main even runs, we’ll initialize what needs initializing, then lock things down with a tight pledge set. Our eventual target will be ffplay, but hopefully the design will permit some flexibility and reuse.&lt;/p&gt;
&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;So the new code is injected to override the open syscall, and reads a list of files from an environment variable. Those files are opened and the path and file descriptor are put into a linked list, and then pledge is used to restrict further access to the file system. The replacement open call now searches just that linked list, returning the already opened file descriptors.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;So as long as your application only tries to open files that you have preopened, it can function without modification within the sandbox. Or at least that is the goal...&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ffplay tries to dlopen() some things, and because of the way dlopen() works, it doesn’t go via the libc open() wrapper, so it doesn’t get overridden&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ffplay also tries to call a few ioctl’s, not allowed&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After stubbing both of those out, it still doesn’t work and it is just getting worse&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ted switches to a new strategy, using ffmpeg to convert the .mp3 to a .wav file and then just cat it to /dev/audio&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A few more stubs for ffmpeg, including access(), and adding tty access to the list of pledges, and it finally works&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This point has been made from the early days, but I think this exercise reinforces it, that pledge works best with programs where you understand what the program is doing. A generic pledge wrapper isn’t of much use because the program is going to do something unexpected and you’re going to have a hard time wrangling it into submission.&lt;br&gt;
Software is too complex. What in the world is ffplay doing? Even if I were working with the source, how long would it take to rearrange the program into something that could be pledged? One can try using another program, but I would wager that as far as multiformat media players go, ffplay is actually on the lower end of the complexity spectrum. Most of the trouble comes from using SDL as an abstraction layer, which performs a bunch of console operations.&lt;br&gt;
On the flip side, all of this early init code is probably the right design. Once SDL finally gets its screen handle setup, we could apply pledge and sandbox the actual media decoder. That would be the right way to things.&lt;br&gt;
Is pledge too limiting? Perhaps, but that’s what I want. I could have just kept adding permissions until ffplay had full access to my X socket, but what kind of sandbox is that? I don’t want naughty MP3s scraping my screen and spying on my keystrokes. The sandbox I created had all the capabilities one needs to convert an MP3 to audible sound, but the tool I wanted to use wasn’t designed to work in that environment. And in its defense, these were new post hoc requirements. Other programs, even sed, suffer from less than ideal pledge sets as well. The best summary might be to say that pledge is designed for tomorrow’s programs, not yesterday’s (and vice versa).&lt;br&gt;
There were a few things I could have done better. In particular, I gave up getting audio to work, even though there’s a nice description of how to work with pledge in the sio_open manual. Alas, even going back and with a bit more effort I still haven’t succeeded. The requirements to use libsndio are more permissive than I might prefer.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://medium.com/speedtest-by-ookla/engineer-maximizes-internet-speed-story-c3ec0e86f37a" target="_blank" rel="nofollow noopener"&gt;How I Maximized the Speed of My Non-Gigabit Internet Connection&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We have a new post from Brennen Smith, who is the Lead Systems Engineer at Ookla, the company that runs Speedtest.net, explaining how he used pfSense to maximize his internet connection&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I spend my time wrangling servers and internet infrastructure. My daily goals range from designing high performance applications supporting millions of users and testing the fastest internet connections in the world, to squeezing microseconds from our stack —so at home, I strive to make sure that my personal internet performance is running as fast as possible.&lt;br&gt;
I live in an area with a DOCSIS ISP that does not provide symmetrical gigabit internet — my download and upload speeds are not equal. Instead, I have an asymmetrical plan with 200 Mbps download and 10 Mbps upload — this nuance considerably impacted my network design because asymmetrical service can more easily lead to bufferbloat.&lt;br&gt;
We will cover bufferbloat in a later article, but in a nutshell, it’s an issue that arises when an upstream network device’s buffers are saturated during an upload. This causes immense network congestion, latency to rise above 2,000 ms., and overall poor quality of internet. The solution is to shape the outbound traffic to a speed just under the sending maximum of the upstream device, so that its buffers don’t fill up. My ISP is notorious for having bufferbloat issues due to the low upload performance, and it’s an issue prevalent even on their provided routers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;They walk through a list of router devices you might consider, and what speeds they are capable of handling, but ultimately ended up using a generic low power x86 machine running pfSense 2.3&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;In my research and testing, I also evaluated IPCop, VyOS, OPNSense, Sophos UTM, RouterOS, OpenWRT x86, and Alpine Linux to serve as the base operating system, but none were as well supported and full featured as PFSense.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The main setting to look at is the traffic shaping of uploads, to keep the pipe from getting saturated and having a large buffer build up in the modem and further upstream. This build up is what increases the latency of the connection&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As with any experiment, any conclusions need to be backed with data. To validate the network was performing smoothly under heavy load, I performed the following experiment:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ran a ping6 against speedtest.net to measure latency.&lt;/li&gt;
&lt;li&gt;Turned off QoS to simulate a “normal router”.&lt;/li&gt;
&lt;li&gt;Started multiple simultaneous outbound TCP and UDP streams to saturate my outbound link.&lt;/li&gt;
&lt;li&gt;Turned on QoS to the above settings and repeated steps 2 and 3.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As you can see from the plot below, without QoS, my connection latency increased by ~1,235%. However with QoS enabled, the connection stayed stable during the upload and I wasn’t able to determine a statistically significant delta.&lt;br&gt;
That’s how I maximized the speed on my non-gigabit internet connection. What have you done with your network?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.geeklan.co.uk/?p=2214" target="_blank" rel="nofollow noopener"&gt;FreeBSD on 11″ MacBook Air&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Sevan Janiyan writes in his tech blog about his experiences running FreeBSD on an 11’’ MacBook Air&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This tiny machine has been with me for a few years now, It has mostly run OS X though &lt;a href="https://www.geeklan.co.uk/?p=1283" target="_blank" rel="nofollow noopener"&gt;I have tried OpenBSD on it&lt;/a&gt;. Besides the screen resolution I’m still really happy with it, hardware wise. Software wise, not so much. I use an external disk containing a zpool with my data on it. Among this data are several source trees. CVS on a ZFS filesystem on OS X is painfully slow. I dislike that builds running inside Terminal.app are slow at the expense of a responsive UI. The system seems fragile, at the slightest push the machine will either hang or become unresponsive. Buggy serial drivers which do not implement the break signal and cause instability are frustrating.&lt;br&gt;
Last week whilst working on &lt;a href="http://rumpkernel.org/" target="_blank" rel="nofollow noopener"&gt;Rump kernel&lt;/a&gt; builds I introduced some new build issues in the process of fixing others, I needed to pick up new changes from CVS by updating my copy of the source tree and run builds to test if issues were still present.&lt;br&gt;
I was let down on both counts, it took ages to update source and in the process of cross compiling a NetBSD/evbmips64-el release, the system locked hard. That was it, time to look what was possible elsewhere. While I have been using OS X for many years, I’m not tied to anything exclusive on it, maybe tweetbot, perhaps, but that’s it.&lt;br&gt;
On the BSDnow podcast they’ve been covering changes coming in to TrueOS (formerly PC-BSD – a desktop focused distro based on FreeBSD), their experiments seemed interesting, the project now tracks FreeBSD-CURRENT, they’ve replaced rcng with OpenRC as the init system and it comes with a pre-configured desktop environment, using their own window manager (Lumina). Booting the USB flash image it made it to X11 without any issue. The dock has a widget which states the detected features, no wifi (Broadcom), sound card detected and screen resolution set to 1366×768. I planned to give it a try on the weekend. Friday, I made backups and wiped the system. TrueOS installed without issue, after a short while I had a working desktop, resuming from sleep worked out of the box. I didn’t spend long testing TrueOS, switching out NetBSD-HEAD only to realise that I really need ZFS so while I was testing things out, might as well give stock FreeBSD 11-STABLE a try (TrueOS was based on -CURRENT).&lt;br&gt;
Turns out sleep doesn’t work yet but sound does work out of the box and with a few invocations of pkg(8) I had xorg, dwm, firefox, CVS and virtuabox-ose installed from binary packages. VirtualBox seems to cause the system to panic (bug 219276) but I should be able to survive without my virtual machines over the next few days as I settle in. I’m considering ditching VirtualBox and converting the vdi files to raw images so that they can be written to a new zvol for use with bhyve. As my default keyboard layout is Dvorak, OS X set the EFI settings to this layout. The first time I installed FreeBSD 11-STABLE, I opted for full disk encryption but ran into this odd issue where on boot the keyboard layout was Dvorak and password was accepted, the system would boot and as it went to mount the various filesystems it would switch back to QWERTY. I tried entering my password with both layout but wasn’t able to progress any further, no bug report yet as I haven’t ruled myself out as the problem.&lt;br&gt;
Thunderbolt gigabit adapter –&lt;a href="https://www.freebsd.org/cgi/man.cgi?query=bge" target="_blank" rel="nofollow noopener"&gt;bge(4)&lt;/a&gt; and DVI adapter both worked on FreeBSD though the gigabit adapter needs to be plugged in at boot to be detected. The trackpad bind to &lt;a href="https://www.freebsd.org/cgi/man.cgi?query=wsp" target="_blank" rel="nofollow noopener"&gt;wsp(4)&lt;/a&gt;, left, right and middle clicks are available through single, double and tripple finger tap. Sound card binds to &lt;a href="https://www.freebsd.org/cgi/man.cgi?query=snd_hda" target="_blank" rel="nofollow noopener"&gt;snd_hda(4)&lt;/a&gt; and works out of the box.&lt;br&gt;
For wifi I’m using a &lt;a href="https://www.freebsd.org/cgi/man.cgi?query=urtw" target="_blank" rel="nofollow noopener"&gt;urtw(4)&lt;/a&gt; Alfa adapter which is a bit on the large side but works very reliably.  A copy of the &lt;a href="https://www.geeklan.co.uk/files/macbookair/freebsd-dmesg.txt" target="_blank" rel="nofollow noopener"&gt;dmesg&lt;/a&gt; is here.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://forum.opnsense.org/index.php?topic=5200.0" target="_blank" rel="nofollow noopener"&gt;OPNsense - call-for-testing for SafeStack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.rewritinghistorycasts.com/screencasts/bsd-4.4:-cat" target="_blank" rel="nofollow noopener"&gt;BSD 4.4: cat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dspinellis/unix-history-repo" target="_blank" rel="nofollow noopener"&gt;Continuous Unix commit history from 1970 until today&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.spinellis.gr/blog/20170510/" target="_blank" rel="nofollow noopener"&gt;Update on Unix Architecture Evolution Diagrams&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/2951" target="_blank" rel="nofollow noopener"&gt;“Relayd and Httpd Mastery” is out!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/Triangle-BSD-Users-Group/events/240247251/" target="_blank" rel="nofollow noopener"&gt;Triangle BSD User Group Meeting -- libxo&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1GJHPNY#wrap" target="_blank" rel="nofollow noopener"&gt;Carlos - ASUS Tinkerboard&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0QCW933#wrap" target="_blank" rel="nofollow noopener"&gt;James - Firewall question&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0GMG5M2#wrap" target="_blank" rel="nofollow noopener"&gt;Adam - ZFS books&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2GP8H1E#wrap" target="_blank" rel="nofollow noopener"&gt;David - Managing zvols&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>A pledge of love to OpenBSD, combating ransomware like WannaCry with OpenZFS, and using PFsense to maximize your non-gigabit Internet connection</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=318736" target="_blank" rel="nofollow noopener">ino64 project committed to FreeBSD 12-CURRENT</a></h3>

<ul>
<li>The ino64 project has been completed and merged into FreeBSD 12-CURRENT</li>
</ul>

<blockquote>
<p>Extend the ino_t, dev_t, nlink_t types to 64-bit ints.  Modify struct dirent layout to add d_off, increase the size of d_fileno to 64-bits, increase the size of d_namlen to 16-bits, and change the required alignment.  Increase struct statfs f_mntfromname[] and f_mntonname[] array length MNAMELEN to 1024</p>
</blockquote>

<ul>
<li>This means the length of a mount point (MNAMELEN) has been increased from 88 byte to 1024 bytes. This allows longer ZFS dataset names and more nesting, and generally improves the usefulness of nested jails</li>
<li>It also allow more than 4 billion files to be stored in a single file system (both UFS and ZFS). It also deals with a number of NFS problems, such as Amazon’s EFS (cloud NFS), which uses 64 bit IDs even with small numbers of files.</li>
</ul>

<blockquote>
<p>ABI breakage is mitigated by providing compatibility using versioned symbols, ingenious use of the existing padding in structures, and by employing other tricks.  Unfortunately, not everything can be fixed, especially outside the base system.  For instance, third-party APIs which pass struct stat around are broken in backward and forward incompatible ways.</p>
</blockquote>

<ul>
<li>A bug in poudriere that may cause some packages to not rebuild is being fixed. Many packages like perl will need to be rebuilt after this change</li>
</ul>

<blockquote>
<p>Update note: strictly follow the instructions in UPDATING.  Build and install the new kernel with COMPAT_FREEBSD11 option enabled, then reboot, and only then install new world.</p>
</blockquote>

<ul>
<li>So you need the new GENERIC kernel with the COMPAT_FREEBSD11 option, so that your old userland will work with the new kernel, and you need to build, install, and reboot onto the new kernel before attempting to install world. The usual process of installing both and then rebooting will NOT WORK</li>
</ul>

<blockquote>
<p>Credits: The 64-bit inode project, also known as ino64, started life many years ago as a project by Gleb Kurtsou (gleb).  Kirk McKusick (mckusick) then picked up and updated the patch, and acted as a flag-waver.  Feedback, suggestions, and discussions were carried by Ed Maste (emaste), John Baldwin (jhb), Jilles Tjoelker (jilles), and Rick Macklem (rmacklem).  Kris Moore (kmoore) performed an initial ports investigation followed by an exp-run by Antoine Brodin (antoine). Essential and all-embracing testing was done by Peter Holm (pho). The heavy lifting of coordinating all these efforts and bringing the project to completion were done by Konstantin Belousov (kib).</p>

<p>Sponsored by:    The FreeBSD Foundation (emaste, kib)</p>
</blockquote>

<hr>

<h3><a href="https://medium.com/@h3artbl33d/why-i-love-openbsd-ca760cf53941" target="_blank" rel="nofollow noopener">Why I love OpenBSD</a></h3>

<ul>
<li>Jeroen Janssen writes:</li>
</ul>

<blockquote>
<p>I do love open source software. Oh boy, I really do love open source software. It’s extendable, auditable, and customizable. What’s not to love?<br>
I’m astonished by the idea that tens, hundreds, and sometimes even thousands of enthusiastic, passionate developers collaborate on an idea. Together, they make the world a better place, bit by bit.<br>
And this leads me to one of my favorite open source projects: the 22-year-old OpenBSD operating system.<br>
The origins of my love affair with OpenBSD<br>
From Linux to *BSD<br>
The advantages of OpenBSD</p>

<p>It’s extremely secure<br>
It’s well documented<br>
It’s open source<br>
    &gt; It’s neat and clean</p>

<p>My take on OpenBSD</p>
</blockquote>

<hr>

<p>** DO **</p>

<h3><a href="https://www.ixsystems.com/blog/combating-ransomware/" target="_blank" rel="nofollow noopener">Combating WannaCry and Other Ransomware with OpenZFS Snapshots</a></h3>

<blockquote>
<p>Ransomware attacks that hold your data hostage using unauthorized data encryption are spreading rapidly and are particularly nefarious because they do not require any special access privileges to your data. A ransomware attack may be launched via a sophisticated software exploit as was the case with the recent “WannaCry” ransomware, but there is nothing stopping you from downloading and executing a malicious program that encrypts every file you have access to. If you fail to pay the ransom, the result will be indistinguishable from your simply deleting every file on your system. To make matters worse, ransomware authors are expanding their attacks to include just about any storage you have access to. The list is long, but includes network shares, Cloud services like DropBox, and even “shadow copies” of data that allow you to open previous versions of files.<br>
To make matters even worse, there is little that your operating system can do to prevent you or a program you run from encrypting files with ransomware just as it can’t prevent you from deleting the files you own. Frequent backups are touted as one of the few effective strategies for recovering from ransomware attacks but it is critical that any backup be isolated from the attack to be immune from the same attack. Simply copying your files to a mounted disk on your computer or in the Cloud makes the backup vulnerable to infection by virtue of the fact that you are backing up using your regular permissions. If you can write to it, the ransomware can encrypt it. Like medical workers wearing hazmat suits for isolation when combating an epidemic, you need to isolate your backups from ransomware.<br>
OpenZFS snapshots to the rescue<br>
OpenZFS is the powerful file system at the heart of every storage system that iXsystems sells and of its many features, snapshots can provide fast and effective recovery from ransomware attacks at both the individual user and enterprise level as I talked about in 2015. As a copy-on-write file system, OpenZFS provides efficient and consistent snapshots of your data at any given point in time. Each snapshot only includes the precise delta of changes between any two points in time and can be cloned to provide writable copies of any previous state without losing the original copy. Snapshots also provide the basis of OpenZFS replication or backing up of your data to local and remote systems. Because an OpenZFS snapshot takes place at the block level of the file system, it is immune to any file-level encryption by ransomware that occurs over it. A carefully-planned snapshot, replication, retention, and restoration strategy can provide the low-level isolation you need to enable your storage infrastructure to quickly recover from ransomware attacks.<br>
OpenZFS snapshots in practice<br>
While OpenZFS is available on a number of desktop operating systems such as TrueOS and macOS, the most effective way to bring the benefits of OpenZFS snapshots to the largest number of users is with a network of iXsystems TrueNAS, FreeNAS Certified and FreeNAS Mini unified NAS and SAN storage systems. All of these can provide OpenZFS-backed SMB, NFS, AFP, and iSCSI file and block storage to the smallest workgroups up through the largest enterprises and TrueNAS offers available Fibre Channel for enterprise deployments. By sharing your data to your users using these file and block protocols, you can provide them with a storage infrastructure that can quickly recover from any ransomware attack thrown at it. To mitigate ransomware attacks against individual workstations, TrueNAS and FreeNAS can provide snapshotted storage to your VDI or virtualization solution of choice. Best of all, every iXsystems TrueNAS, FreeNAS Certified, and FreeNAS Mini system includes a consistent user interface and the ability to replicate between one another. This means that any topology of individual offices and campuses can exchange backup data to quickly mitigate ransomware attacks on your organization at all levels.<br>
Join us for a <a href="http://www.onlinemeetingnow.com/register/?id=uegudsbc75" target="_blank" rel="nofollow noopener">free webinar</a> with iXsystems Co-Founder Matt Olander and learn more about why businesses everywhere are replacing their proprietary storage platforms with TrueNAS then email us at <a href="mailto:info@ixsystems.com" target="_blank" rel="nofollow noopener">info@ixsystems.com</a> or call 1-855-GREP-4-IX (1-855-473-7449), or 1-408-493-4100 (outside the US) to discuss your storage needs with one of our solutions architects.</p>
</blockquote>

<hr>

<h2>Interview - Michael W. Lucas - <a href="mailto:mwlucas@michaelwlucas.com" target="_blank" rel="nofollow noopener">mwlucas@michaelwlucas.com</a> / <a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener">@twitter</a></h2>

<p>Books, conferences, and how these two combine</p>

<ul>
<li>BR: Welcome back. Tell us what you’ve been up to since the last time we interviewed you regarding books and such.</li>
<li>AJ: Tell us a little bit about relayd and what it can do.</li>
<li>BR: What other books do you have in the pipeline?</li>
<li>AJ: What are your criteria that qualifies a topic for a mastery book?</li>
<li>BR: Can you tell us a little bit about these writing workshops that you attend and what happens there?</li>
<li>AJ: Without spoiling too much: How did you come up with the idea for git commit murder?</li>
<li>BR: Speaking of BSDCan, can you tell the first timers about what to expect in the [<a href="http://www.bsdcan.org/2017/schedule/events/890.en.html%5D(Newcomers" target="_blank" rel="nofollow noopener">http://www.bsdcan.org/2017/schedule/events/890.en.html](Newcomers</a> orientation and mentorship) session on Thursday?</li>
<li>AJ: Tell us about the new WIP session at BSDCan. Who had the idea and how much input did you get thus far?</li>
<li>BR: Have you ever thought about branching off into a new genre like children’s books or medieval fantasy novels?</li>
<li>AJ: Is there anything else before we let you go?
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://tetragir.com/freebsd/networking/using-lldp-on-freebsd.html" target="_blank" rel="nofollow noopener">Using LLDP on FreeBSD</a></h3>

<blockquote>
<p>LLDP, or Link Layer Discovery Protocol allows system administrators to easily map the network, eliminating the need to physically run the cables in a rack. LLDP is a protocol used to send and receive information about a neighboring device connected directly to a networking interface. It is similar to Cisco’s CDP, Foundry’s FDP, Nortel’s SONMP, etc. It is a stateless protocol, meaning that an LLDP-enabled device sends advertisements even if the other side cannot do anything with it. In this guide the installation and configuration of the LLDP daemon on FreeBSD as well as on a Cisco switch will be introduced.<br>
If you are already familiar with Cisco’s CDP, LLDP won’t surprise you. It is built for the same purpose: to exchange device information between peers on a network. While CDP is a proprietary solution and can be used only on Cisco devices, LLDP is a standard: IEEE 802.3AB. Therefore it is implemented on many types of devices, such as switches, routers, various desktop operating systems, etc. LLDP helps a great deal in mapping the network topology, without spending hours in cabling cabinets to figure out which device is connected with which switchport. If LLDP is running on both the networking device and the server, it can show which port is connected where. Besides physical interfaces, LLDP can be used to exchange a lot more information, such as IP Address, hostname, etc.<br>
In order to use LLDP on FreeBSD, net-mgmt/lldpd has to be installed. It can be installed from ports using portmaster: #portmaster net-mgmt/lldpd Or from packages: #pkg install net-mgmt/lldpd By default lldpd sends and receives all the information it can gather , so it is advisable to limit what we will communicate with the neighboring device.<br>
The configuration file for lldpd is basically a list of commands as it is passed to lldpcli. Create a file named lldpd.conf under /usr/local/etc/ The following configuration gives an example of how lldpd can be configured. For a full list of options, see %man lldpcli<br>
To check what is configured locally, run #lldpcli show chassis detail<br>
To see the neighbors run #lldpcli show neighbors details</p>
</blockquote>

<ul>
<li>Check out the rest of the article about enabling LLDP on a Cisco switch</li>
</ul>

<hr>

<h3><a href="http://www.tedunangst.com/flak/post/experiments-with-prepledge" target="_blank" rel="nofollow noopener">experiments with prepledge</a></h3>

<ul>
<li><p>Ted Unangst takes a crack at a system similar to the one being designed for Capsicum, Oblivious Sandboxing (See the presentation at BSDCan), where the application doesn’t even know it is in the sandbox</p>

<blockquote>
<p>MP3 is officially dead, so I figure I should listen to my collection one last time before it vanishes entirely. The provenance of some of these files is a little suspect however, and since I know one shouldn’t open files from strangers, I’d like to take some precautions against malicious malarkey. This would be a good use for pledge, perhaps, if we can get it working.<br>
At the same time, an occasional feature request for pledge is the ability to specify restrictions before running a program. Given some untrusted program, wrap its execution in a pledge like environment. There are other system call sandbox mechanisms that can do this (systrace was one), but pledge is quite deliberately designed not to support this. But maybe we can bend it to our will.<br>
Our pledge wrapper can’t be an external program. This leaves us with the option of injecting the wrapper into the target program via LD_PRELOAD. Before main even runs, we’ll initialize what needs initializing, then lock things down with a tight pledge set. Our eventual target will be ffplay, but hopefully the design will permit some flexibility and reuse.</p>
</blockquote></li>
<li><p>So the new code is injected to override the open syscall, and reads a list of files from an environment variable. Those files are opened and the path and file descriptor are put into a linked list, and then pledge is used to restrict further access to the file system. The replacement open call now searches just that linked list, returning the already opened file descriptors.</p></li>
<li><p>So as long as your application only tries to open files that you have preopened, it can function without modification within the sandbox. Or at least that is the goal...</p></li>
<li><p>ffplay tries to dlopen() some things, and because of the way dlopen() works, it doesn’t go via the libc open() wrapper, so it doesn’t get overridden</p></li>
<li><p>ffplay also tries to call a few ioctl’s, not allowed</p></li>
<li><p>After stubbing both of those out, it still doesn’t work and it is just getting worse</p></li>
<li><p>Ted switches to a new strategy, using ffmpeg to convert the .mp3 to a .wav file and then just cat it to /dev/audio</p></li>
<li><p>A few more stubs for ffmpeg, including access(), and adding tty access to the list of pledges, and it finally works</p></li>
</ul>

<blockquote>
<p>This point has been made from the early days, but I think this exercise reinforces it, that pledge works best with programs where you understand what the program is doing. A generic pledge wrapper isn’t of much use because the program is going to do something unexpected and you’re going to have a hard time wrangling it into submission.<br>
Software is too complex. What in the world is ffplay doing? Even if I were working with the source, how long would it take to rearrange the program into something that could be pledged? One can try using another program, but I would wager that as far as multiformat media players go, ffplay is actually on the lower end of the complexity spectrum. Most of the trouble comes from using SDL as an abstraction layer, which performs a bunch of console operations.<br>
On the flip side, all of this early init code is probably the right design. Once SDL finally gets its screen handle setup, we could apply pledge and sandbox the actual media decoder. That would be the right way to things.<br>
Is pledge too limiting? Perhaps, but that’s what I want. I could have just kept adding permissions until ffplay had full access to my X socket, but what kind of sandbox is that? I don’t want naughty MP3s scraping my screen and spying on my keystrokes. The sandbox I created had all the capabilities one needs to convert an MP3 to audible sound, but the tool I wanted to use wasn’t designed to work in that environment. And in its defense, these were new post hoc requirements. Other programs, even sed, suffer from less than ideal pledge sets as well. The best summary might be to say that pledge is designed for tomorrow’s programs, not yesterday’s (and vice versa).<br>
There were a few things I could have done better. In particular, I gave up getting audio to work, even though there’s a nice description of how to work with pledge in the sio_open manual. Alas, even going back and with a bit more effort I still haven’t succeeded. The requirements to use libsndio are more permissive than I might prefer.</p>

<hr>
</blockquote>

<h3><a href="https://medium.com/speedtest-by-ookla/engineer-maximizes-internet-speed-story-c3ec0e86f37a" target="_blank" rel="nofollow noopener">How I Maximized the Speed of My Non-Gigabit Internet Connection</a></h3>

<ul>
<li>We have a new post from Brennen Smith, who is the Lead Systems Engineer at Ookla, the company that runs Speedtest.net, explaining how he used pfSense to maximize his internet connection</li>
</ul>

<blockquote>
<p>I spend my time wrangling servers and internet infrastructure. My daily goals range from designing high performance applications supporting millions of users and testing the fastest internet connections in the world, to squeezing microseconds from our stack —so at home, I strive to make sure that my personal internet performance is running as fast as possible.<br>
I live in an area with a DOCSIS ISP that does not provide symmetrical gigabit internet — my download and upload speeds are not equal. Instead, I have an asymmetrical plan with 200 Mbps download and 10 Mbps upload — this nuance considerably impacted my network design because asymmetrical service can more easily lead to bufferbloat.<br>
We will cover bufferbloat in a later article, but in a nutshell, it’s an issue that arises when an upstream network device’s buffers are saturated during an upload. This causes immense network congestion, latency to rise above 2,000 ms., and overall poor quality of internet. The solution is to shape the outbound traffic to a speed just under the sending maximum of the upstream device, so that its buffers don’t fill up. My ISP is notorious for having bufferbloat issues due to the low upload performance, and it’s an issue prevalent even on their provided routers.</p>
</blockquote>

<ul>
<li>They walk through a list of router devices you might consider, and what speeds they are capable of handling, but ultimately ended up using a generic low power x86 machine running pfSense 2.3</li>
</ul>

<blockquote>
<p>In my research and testing, I also evaluated IPCop, VyOS, OPNSense, Sophos UTM, RouterOS, OpenWRT x86, and Alpine Linux to serve as the base operating system, but none were as well supported and full featured as PFSense.</p>
</blockquote>

<ul>
<li>The main setting to look at is the traffic shaping of uploads, to keep the pipe from getting saturated and having a large buffer build up in the modem and further upstream. This build up is what increases the latency of the connection</li>
</ul>

<blockquote>
<p>As with any experiment, any conclusions need to be backed with data. To validate the network was performing smoothly under heavy load, I performed the following experiment:</p>

<ul>
<li>Ran a ping6 against speedtest.net to measure latency.</li>
<li>Turned off QoS to simulate a “normal router”.</li>
<li>Started multiple simultaneous outbound TCP and UDP streams to saturate my outbound link.</li>
<li>Turned on QoS to the above settings and repeated steps 2 and 3.</li>
</ul>

<p>As you can see from the plot below, without QoS, my connection latency increased by ~1,235%. However with QoS enabled, the connection stayed stable during the upload and I wasn’t able to determine a statistically significant delta.<br>
That’s how I maximized the speed on my non-gigabit internet connection. What have you done with your network?</p>
</blockquote>

<hr>

<h3><a href="https://www.geeklan.co.uk/?p=2214" target="_blank" rel="nofollow noopener">FreeBSD on 11″ MacBook Air</a></h3>

<ul>
<li>Sevan Janiyan writes in his tech blog about his experiences running FreeBSD on an 11’’ MacBook Air</li>
</ul>

<blockquote>
<p>This tiny machine has been with me for a few years now, It has mostly run OS X though <a href="https://www.geeklan.co.uk/?p=1283" target="_blank" rel="nofollow noopener">I have tried OpenBSD on it</a>. Besides the screen resolution I’m still really happy with it, hardware wise. Software wise, not so much. I use an external disk containing a zpool with my data on it. Among this data are several source trees. CVS on a ZFS filesystem on OS X is painfully slow. I dislike that builds running inside Terminal.app are slow at the expense of a responsive UI. The system seems fragile, at the slightest push the machine will either hang or become unresponsive. Buggy serial drivers which do not implement the break signal and cause instability are frustrating.<br>
Last week whilst working on <a href="http://rumpkernel.org/" target="_blank" rel="nofollow noopener">Rump kernel</a> builds I introduced some new build issues in the process of fixing others, I needed to pick up new changes from CVS by updating my copy of the source tree and run builds to test if issues were still present.<br>
I was let down on both counts, it took ages to update source and in the process of cross compiling a NetBSD/evbmips64-el release, the system locked hard. That was it, time to look what was possible elsewhere. While I have been using OS X for many years, I’m not tied to anything exclusive on it, maybe tweetbot, perhaps, but that’s it.<br>
On the BSDnow podcast they’ve been covering changes coming in to TrueOS (formerly PC-BSD – a desktop focused distro based on FreeBSD), their experiments seemed interesting, the project now tracks FreeBSD-CURRENT, they’ve replaced rcng with OpenRC as the init system and it comes with a pre-configured desktop environment, using their own window manager (Lumina). Booting the USB flash image it made it to X11 without any issue. The dock has a widget which states the detected features, no wifi (Broadcom), sound card detected and screen resolution set to 1366×768. I planned to give it a try on the weekend. Friday, I made backups and wiped the system. TrueOS installed without issue, after a short while I had a working desktop, resuming from sleep worked out of the box. I didn’t spend long testing TrueOS, switching out NetBSD-HEAD only to realise that I really need ZFS so while I was testing things out, might as well give stock FreeBSD 11-STABLE a try (TrueOS was based on -CURRENT).<br>
Turns out sleep doesn’t work yet but sound does work out of the box and with a few invocations of pkg(8) I had xorg, dwm, firefox, CVS and virtuabox-ose installed from binary packages. VirtualBox seems to cause the system to panic (bug 219276) but I should be able to survive without my virtual machines over the next few days as I settle in. I’m considering ditching VirtualBox and converting the vdi files to raw images so that they can be written to a new zvol for use with bhyve. As my default keyboard layout is Dvorak, OS X set the EFI settings to this layout. The first time I installed FreeBSD 11-STABLE, I opted for full disk encryption but ran into this odd issue where on boot the keyboard layout was Dvorak and password was accepted, the system would boot and as it went to mount the various filesystems it would switch back to QWERTY. I tried entering my password with both layout but wasn’t able to progress any further, no bug report yet as I haven’t ruled myself out as the problem.<br>
Thunderbolt gigabit adapter –<a href="https://www.freebsd.org/cgi/man.cgi?query=bge" target="_blank" rel="nofollow noopener">bge(4)</a> and DVI adapter both worked on FreeBSD though the gigabit adapter needs to be plugged in at boot to be detected. The trackpad bind to <a href="https://www.freebsd.org/cgi/man.cgi?query=wsp" target="_blank" rel="nofollow noopener">wsp(4)</a>, left, right and middle clicks are available through single, double and tripple finger tap. Sound card binds to <a href="https://www.freebsd.org/cgi/man.cgi?query=snd_hda" target="_blank" rel="nofollow noopener">snd_hda(4)</a> and works out of the box.<br>
For wifi I’m using a <a href="https://www.freebsd.org/cgi/man.cgi?query=urtw" target="_blank" rel="nofollow noopener">urtw(4)</a> Alfa adapter which is a bit on the large side but works very reliably.  A copy of the <a href="https://www.geeklan.co.uk/files/macbookair/freebsd-dmesg.txt" target="_blank" rel="nofollow noopener">dmesg</a> is here.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://forum.opnsense.org/index.php?topic=5200.0" target="_blank" rel="nofollow noopener">OPNsense - call-for-testing for SafeStack</a></li>
<li><a href="https://www.rewritinghistorycasts.com/screencasts/bsd-4.4:-cat" target="_blank" rel="nofollow noopener">BSD 4.4: cat</a></li>
<li><a href="https://github.com/dspinellis/unix-history-repo" target="_blank" rel="nofollow noopener">Continuous Unix commit history from 1970 until today</a></li>
<li><a href="https://www.spinellis.gr/blog/20170510/" target="_blank" rel="nofollow noopener">Update on Unix Architecture Evolution Diagrams</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/2951" target="_blank" rel="nofollow noopener">“Relayd and Httpd Mastery” is out!</a></li>
<li><a href="https://www.meetup.com/Triangle-BSD-Users-Group/events/240247251/" target="_blank" rel="nofollow noopener">Triangle BSD User Group Meeting -- libxo</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/1GJHPNY#wrap" target="_blank" rel="nofollow noopener">Carlos - ASUS Tinkerboard</a></li>
<li><a href="http://dpaste.com/0QCW933#wrap" target="_blank" rel="nofollow noopener">James - Firewall question</a></li>
<li><a href="http://dpaste.com/0GMG5M2#wrap" target="_blank" rel="nofollow noopener">Adam - ZFS books</a></li>
<li><a href="http://dpaste.com/2GP8H1E#wrap" target="_blank" rel="nofollow noopener">David - Managing zvols</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>A pledge of love to OpenBSD, combating ransomware like WannaCry with OpenZFS, and using PFsense to maximize your non-gigabit Internet connection</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=318736" target="_blank" rel="nofollow noopener">ino64 project committed to FreeBSD 12-CURRENT</a></h3>

<ul>
<li>The ino64 project has been completed and merged into FreeBSD 12-CURRENT</li>
</ul>

<blockquote>
<p>Extend the ino_t, dev_t, nlink_t types to 64-bit ints.  Modify struct dirent layout to add d_off, increase the size of d_fileno to 64-bits, increase the size of d_namlen to 16-bits, and change the required alignment.  Increase struct statfs f_mntfromname[] and f_mntonname[] array length MNAMELEN to 1024</p>
</blockquote>

<ul>
<li>This means the length of a mount point (MNAMELEN) has been increased from 88 byte to 1024 bytes. This allows longer ZFS dataset names and more nesting, and generally improves the usefulness of nested jails</li>
<li>It also allow more than 4 billion files to be stored in a single file system (both UFS and ZFS). It also deals with a number of NFS problems, such as Amazon’s EFS (cloud NFS), which uses 64 bit IDs even with small numbers of files.</li>
</ul>

<blockquote>
<p>ABI breakage is mitigated by providing compatibility using versioned symbols, ingenious use of the existing padding in structures, and by employing other tricks.  Unfortunately, not everything can be fixed, especially outside the base system.  For instance, third-party APIs which pass struct stat around are broken in backward and forward incompatible ways.</p>
</blockquote>

<ul>
<li>A bug in poudriere that may cause some packages to not rebuild is being fixed. Many packages like perl will need to be rebuilt after this change</li>
</ul>

<blockquote>
<p>Update note: strictly follow the instructions in UPDATING.  Build and install the new kernel with COMPAT_FREEBSD11 option enabled, then reboot, and only then install new world.</p>
</blockquote>

<ul>
<li>So you need the new GENERIC kernel with the COMPAT_FREEBSD11 option, so that your old userland will work with the new kernel, and you need to build, install, and reboot onto the new kernel before attempting to install world. The usual process of installing both and then rebooting will NOT WORK</li>
</ul>

<blockquote>
<p>Credits: The 64-bit inode project, also known as ino64, started life many years ago as a project by Gleb Kurtsou (gleb).  Kirk McKusick (mckusick) then picked up and updated the patch, and acted as a flag-waver.  Feedback, suggestions, and discussions were carried by Ed Maste (emaste), John Baldwin (jhb), Jilles Tjoelker (jilles), and Rick Macklem (rmacklem).  Kris Moore (kmoore) performed an initial ports investigation followed by an exp-run by Antoine Brodin (antoine). Essential and all-embracing testing was done by Peter Holm (pho). The heavy lifting of coordinating all these efforts and bringing the project to completion were done by Konstantin Belousov (kib).</p>

<p>Sponsored by:    The FreeBSD Foundation (emaste, kib)</p>
</blockquote>

<hr>

<h3><a href="https://medium.com/@h3artbl33d/why-i-love-openbsd-ca760cf53941" target="_blank" rel="nofollow noopener">Why I love OpenBSD</a></h3>

<ul>
<li>Jeroen Janssen writes:</li>
</ul>

<blockquote>
<p>I do love open source software. Oh boy, I really do love open source software. It’s extendable, auditable, and customizable. What’s not to love?<br>
I’m astonished by the idea that tens, hundreds, and sometimes even thousands of enthusiastic, passionate developers collaborate on an idea. Together, they make the world a better place, bit by bit.<br>
And this leads me to one of my favorite open source projects: the 22-year-old OpenBSD operating system.<br>
The origins of my love affair with OpenBSD<br>
From Linux to *BSD<br>
The advantages of OpenBSD</p>

<p>It’s extremely secure<br>
It’s well documented<br>
It’s open source<br>
    &gt; It’s neat and clean</p>

<p>My take on OpenBSD</p>
</blockquote>

<hr>

<p>** DO **</p>

<h3><a href="https://www.ixsystems.com/blog/combating-ransomware/" target="_blank" rel="nofollow noopener">Combating WannaCry and Other Ransomware with OpenZFS Snapshots</a></h3>

<blockquote>
<p>Ransomware attacks that hold your data hostage using unauthorized data encryption are spreading rapidly and are particularly nefarious because they do not require any special access privileges to your data. A ransomware attack may be launched via a sophisticated software exploit as was the case with the recent “WannaCry” ransomware, but there is nothing stopping you from downloading and executing a malicious program that encrypts every file you have access to. If you fail to pay the ransom, the result will be indistinguishable from your simply deleting every file on your system. To make matters worse, ransomware authors are expanding their attacks to include just about any storage you have access to. The list is long, but includes network shares, Cloud services like DropBox, and even “shadow copies” of data that allow you to open previous versions of files.<br>
To make matters even worse, there is little that your operating system can do to prevent you or a program you run from encrypting files with ransomware just as it can’t prevent you from deleting the files you own. Frequent backups are touted as one of the few effective strategies for recovering from ransomware attacks but it is critical that any backup be isolated from the attack to be immune from the same attack. Simply copying your files to a mounted disk on your computer or in the Cloud makes the backup vulnerable to infection by virtue of the fact that you are backing up using your regular permissions. If you can write to it, the ransomware can encrypt it. Like medical workers wearing hazmat suits for isolation when combating an epidemic, you need to isolate your backups from ransomware.<br>
OpenZFS snapshots to the rescue<br>
OpenZFS is the powerful file system at the heart of every storage system that iXsystems sells and of its many features, snapshots can provide fast and effective recovery from ransomware attacks at both the individual user and enterprise level as I talked about in 2015. As a copy-on-write file system, OpenZFS provides efficient and consistent snapshots of your data at any given point in time. Each snapshot only includes the precise delta of changes between any two points in time and can be cloned to provide writable copies of any previous state without losing the original copy. Snapshots also provide the basis of OpenZFS replication or backing up of your data to local and remote systems. Because an OpenZFS snapshot takes place at the block level of the file system, it is immune to any file-level encryption by ransomware that occurs over it. A carefully-planned snapshot, replication, retention, and restoration strategy can provide the low-level isolation you need to enable your storage infrastructure to quickly recover from ransomware attacks.<br>
OpenZFS snapshots in practice<br>
While OpenZFS is available on a number of desktop operating systems such as TrueOS and macOS, the most effective way to bring the benefits of OpenZFS snapshots to the largest number of users is with a network of iXsystems TrueNAS, FreeNAS Certified and FreeNAS Mini unified NAS and SAN storage systems. All of these can provide OpenZFS-backed SMB, NFS, AFP, and iSCSI file and block storage to the smallest workgroups up through the largest enterprises and TrueNAS offers available Fibre Channel for enterprise deployments. By sharing your data to your users using these file and block protocols, you can provide them with a storage infrastructure that can quickly recover from any ransomware attack thrown at it. To mitigate ransomware attacks against individual workstations, TrueNAS and FreeNAS can provide snapshotted storage to your VDI or virtualization solution of choice. Best of all, every iXsystems TrueNAS, FreeNAS Certified, and FreeNAS Mini system includes a consistent user interface and the ability to replicate between one another. This means that any topology of individual offices and campuses can exchange backup data to quickly mitigate ransomware attacks on your organization at all levels.<br>
Join us for a <a href="http://www.onlinemeetingnow.com/register/?id=uegudsbc75" target="_blank" rel="nofollow noopener">free webinar</a> with iXsystems Co-Founder Matt Olander and learn more about why businesses everywhere are replacing their proprietary storage platforms with TrueNAS then email us at <a href="mailto:info@ixsystems.com" target="_blank" rel="nofollow noopener">info@ixsystems.com</a> or call 1-855-GREP-4-IX (1-855-473-7449), or 1-408-493-4100 (outside the US) to discuss your storage needs with one of our solutions architects.</p>
</blockquote>

<hr>

<h2>Interview - Michael W. Lucas - <a href="mailto:mwlucas@michaelwlucas.com" target="_blank" rel="nofollow noopener">mwlucas@michaelwlucas.com</a> / <a href="https://twitter.com/mwlauthor" target="_blank" rel="nofollow noopener">@twitter</a></h2>

<p>Books, conferences, and how these two combine</p>

<ul>
<li>BR: Welcome back. Tell us what you’ve been up to since the last time we interviewed you regarding books and such.</li>
<li>AJ: Tell us a little bit about relayd and what it can do.</li>
<li>BR: What other books do you have in the pipeline?</li>
<li>AJ: What are your criteria that qualifies a topic for a mastery book?</li>
<li>BR: Can you tell us a little bit about these writing workshops that you attend and what happens there?</li>
<li>AJ: Without spoiling too much: How did you come up with the idea for git commit murder?</li>
<li>BR: Speaking of BSDCan, can you tell the first timers about what to expect in the [<a href="http://www.bsdcan.org/2017/schedule/events/890.en.html%5D(Newcomers" target="_blank" rel="nofollow noopener">http://www.bsdcan.org/2017/schedule/events/890.en.html](Newcomers</a> orientation and mentorship) session on Thursday?</li>
<li>AJ: Tell us about the new WIP session at BSDCan. Who had the idea and how much input did you get thus far?</li>
<li>BR: Have you ever thought about branching off into a new genre like children’s books or medieval fantasy novels?</li>
<li>AJ: Is there anything else before we let you go?
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://tetragir.com/freebsd/networking/using-lldp-on-freebsd.html" target="_blank" rel="nofollow noopener">Using LLDP on FreeBSD</a></h3>

<blockquote>
<p>LLDP, or Link Layer Discovery Protocol allows system administrators to easily map the network, eliminating the need to physically run the cables in a rack. LLDP is a protocol used to send and receive information about a neighboring device connected directly to a networking interface. It is similar to Cisco’s CDP, Foundry’s FDP, Nortel’s SONMP, etc. It is a stateless protocol, meaning that an LLDP-enabled device sends advertisements even if the other side cannot do anything with it. In this guide the installation and configuration of the LLDP daemon on FreeBSD as well as on a Cisco switch will be introduced.<br>
If you are already familiar with Cisco’s CDP, LLDP won’t surprise you. It is built for the same purpose: to exchange device information between peers on a network. While CDP is a proprietary solution and can be used only on Cisco devices, LLDP is a standard: IEEE 802.3AB. Therefore it is implemented on many types of devices, such as switches, routers, various desktop operating systems, etc. LLDP helps a great deal in mapping the network topology, without spending hours in cabling cabinets to figure out which device is connected with which switchport. If LLDP is running on both the networking device and the server, it can show which port is connected where. Besides physical interfaces, LLDP can be used to exchange a lot more information, such as IP Address, hostname, etc.<br>
In order to use LLDP on FreeBSD, net-mgmt/lldpd has to be installed. It can be installed from ports using portmaster: #portmaster net-mgmt/lldpd Or from packages: #pkg install net-mgmt/lldpd By default lldpd sends and receives all the information it can gather , so it is advisable to limit what we will communicate with the neighboring device.<br>
The configuration file for lldpd is basically a list of commands as it is passed to lldpcli. Create a file named lldpd.conf under /usr/local/etc/ The following configuration gives an example of how lldpd can be configured. For a full list of options, see %man lldpcli<br>
To check what is configured locally, run #lldpcli show chassis detail<br>
To see the neighbors run #lldpcli show neighbors details</p>
</blockquote>

<ul>
<li>Check out the rest of the article about enabling LLDP on a Cisco switch</li>
</ul>

<hr>

<h3><a href="http://www.tedunangst.com/flak/post/experiments-with-prepledge" target="_blank" rel="nofollow noopener">experiments with prepledge</a></h3>

<ul>
<li><p>Ted Unangst takes a crack at a system similar to the one being designed for Capsicum, Oblivious Sandboxing (See the presentation at BSDCan), where the application doesn’t even know it is in the sandbox</p>

<blockquote>
<p>MP3 is officially dead, so I figure I should listen to my collection one last time before it vanishes entirely. The provenance of some of these files is a little suspect however, and since I know one shouldn’t open files from strangers, I’d like to take some precautions against malicious malarkey. This would be a good use for pledge, perhaps, if we can get it working.<br>
At the same time, an occasional feature request for pledge is the ability to specify restrictions before running a program. Given some untrusted program, wrap its execution in a pledge like environment. There are other system call sandbox mechanisms that can do this (systrace was one), but pledge is quite deliberately designed not to support this. But maybe we can bend it to our will.<br>
Our pledge wrapper can’t be an external program. This leaves us with the option of injecting the wrapper into the target program via LD_PRELOAD. Before main even runs, we’ll initialize what needs initializing, then lock things down with a tight pledge set. Our eventual target will be ffplay, but hopefully the design will permit some flexibility and reuse.</p>
</blockquote></li>
<li><p>So the new code is injected to override the open syscall, and reads a list of files from an environment variable. Those files are opened and the path and file descriptor are put into a linked list, and then pledge is used to restrict further access to the file system. The replacement open call now searches just that linked list, returning the already opened file descriptors.</p></li>
<li><p>So as long as your application only tries to open files that you have preopened, it can function without modification within the sandbox. Or at least that is the goal...</p></li>
<li><p>ffplay tries to dlopen() some things, and because of the way dlopen() works, it doesn’t go via the libc open() wrapper, so it doesn’t get overridden</p></li>
<li><p>ffplay also tries to call a few ioctl’s, not allowed</p></li>
<li><p>After stubbing both of those out, it still doesn’t work and it is just getting worse</p></li>
<li><p>Ted switches to a new strategy, using ffmpeg to convert the .mp3 to a .wav file and then just cat it to /dev/audio</p></li>
<li><p>A few more stubs for ffmpeg, including access(), and adding tty access to the list of pledges, and it finally works</p></li>
</ul>

<blockquote>
<p>This point has been made from the early days, but I think this exercise reinforces it, that pledge works best with programs where you understand what the program is doing. A generic pledge wrapper isn’t of much use because the program is going to do something unexpected and you’re going to have a hard time wrangling it into submission.<br>
Software is too complex. What in the world is ffplay doing? Even if I were working with the source, how long would it take to rearrange the program into something that could be pledged? One can try using another program, but I would wager that as far as multiformat media players go, ffplay is actually on the lower end of the complexity spectrum. Most of the trouble comes from using SDL as an abstraction layer, which performs a bunch of console operations.<br>
On the flip side, all of this early init code is probably the right design. Once SDL finally gets its screen handle setup, we could apply pledge and sandbox the actual media decoder. That would be the right way to things.<br>
Is pledge too limiting? Perhaps, but that’s what I want. I could have just kept adding permissions until ffplay had full access to my X socket, but what kind of sandbox is that? I don’t want naughty MP3s scraping my screen and spying on my keystrokes. The sandbox I created had all the capabilities one needs to convert an MP3 to audible sound, but the tool I wanted to use wasn’t designed to work in that environment. And in its defense, these were new post hoc requirements. Other programs, even sed, suffer from less than ideal pledge sets as well. The best summary might be to say that pledge is designed for tomorrow’s programs, not yesterday’s (and vice versa).<br>
There were a few things I could have done better. In particular, I gave up getting audio to work, even though there’s a nice description of how to work with pledge in the sio_open manual. Alas, even going back and with a bit more effort I still haven’t succeeded. The requirements to use libsndio are more permissive than I might prefer.</p>

<hr>
</blockquote>

<h3><a href="https://medium.com/speedtest-by-ookla/engineer-maximizes-internet-speed-story-c3ec0e86f37a" target="_blank" rel="nofollow noopener">How I Maximized the Speed of My Non-Gigabit Internet Connection</a></h3>

<ul>
<li>We have a new post from Brennen Smith, who is the Lead Systems Engineer at Ookla, the company that runs Speedtest.net, explaining how he used pfSense to maximize his internet connection</li>
</ul>

<blockquote>
<p>I spend my time wrangling servers and internet infrastructure. My daily goals range from designing high performance applications supporting millions of users and testing the fastest internet connections in the world, to squeezing microseconds from our stack —so at home, I strive to make sure that my personal internet performance is running as fast as possible.<br>
I live in an area with a DOCSIS ISP that does not provide symmetrical gigabit internet — my download and upload speeds are not equal. Instead, I have an asymmetrical plan with 200 Mbps download and 10 Mbps upload — this nuance considerably impacted my network design because asymmetrical service can more easily lead to bufferbloat.<br>
We will cover bufferbloat in a later article, but in a nutshell, it’s an issue that arises when an upstream network device’s buffers are saturated during an upload. This causes immense network congestion, latency to rise above 2,000 ms., and overall poor quality of internet. The solution is to shape the outbound traffic to a speed just under the sending maximum of the upstream device, so that its buffers don’t fill up. My ISP is notorious for having bufferbloat issues due to the low upload performance, and it’s an issue prevalent even on their provided routers.</p>
</blockquote>

<ul>
<li>They walk through a list of router devices you might consider, and what speeds they are capable of handling, but ultimately ended up using a generic low power x86 machine running pfSense 2.3</li>
</ul>

<blockquote>
<p>In my research and testing, I also evaluated IPCop, VyOS, OPNSense, Sophos UTM, RouterOS, OpenWRT x86, and Alpine Linux to serve as the base operating system, but none were as well supported and full featured as PFSense.</p>
</blockquote>

<ul>
<li>The main setting to look at is the traffic shaping of uploads, to keep the pipe from getting saturated and having a large buffer build up in the modem and further upstream. This build up is what increases the latency of the connection</li>
</ul>

<blockquote>
<p>As with any experiment, any conclusions need to be backed with data. To validate the network was performing smoothly under heavy load, I performed the following experiment:</p>

<ul>
<li>Ran a ping6 against speedtest.net to measure latency.</li>
<li>Turned off QoS to simulate a “normal router”.</li>
<li>Started multiple simultaneous outbound TCP and UDP streams to saturate my outbound link.</li>
<li>Turned on QoS to the above settings and repeated steps 2 and 3.</li>
</ul>

<p>As you can see from the plot below, without QoS, my connection latency increased by ~1,235%. However with QoS enabled, the connection stayed stable during the upload and I wasn’t able to determine a statistically significant delta.<br>
That’s how I maximized the speed on my non-gigabit internet connection. What have you done with your network?</p>
</blockquote>

<hr>

<h3><a href="https://www.geeklan.co.uk/?p=2214" target="_blank" rel="nofollow noopener">FreeBSD on 11″ MacBook Air</a></h3>

<ul>
<li>Sevan Janiyan writes in his tech blog about his experiences running FreeBSD on an 11’’ MacBook Air</li>
</ul>

<blockquote>
<p>This tiny machine has been with me for a few years now, It has mostly run OS X though <a href="https://www.geeklan.co.uk/?p=1283" target="_blank" rel="nofollow noopener">I have tried OpenBSD on it</a>. Besides the screen resolution I’m still really happy with it, hardware wise. Software wise, not so much. I use an external disk containing a zpool with my data on it. Among this data are several source trees. CVS on a ZFS filesystem on OS X is painfully slow. I dislike that builds running inside Terminal.app are slow at the expense of a responsive UI. The system seems fragile, at the slightest push the machine will either hang or become unresponsive. Buggy serial drivers which do not implement the break signal and cause instability are frustrating.<br>
Last week whilst working on <a href="http://rumpkernel.org/" target="_blank" rel="nofollow noopener">Rump kernel</a> builds I introduced some new build issues in the process of fixing others, I needed to pick up new changes from CVS by updating my copy of the source tree and run builds to test if issues were still present.<br>
I was let down on both counts, it took ages to update source and in the process of cross compiling a NetBSD/evbmips64-el release, the system locked hard. That was it, time to look what was possible elsewhere. While I have been using OS X for many years, I’m not tied to anything exclusive on it, maybe tweetbot, perhaps, but that’s it.<br>
On the BSDnow podcast they’ve been covering changes coming in to TrueOS (formerly PC-BSD – a desktop focused distro based on FreeBSD), their experiments seemed interesting, the project now tracks FreeBSD-CURRENT, they’ve replaced rcng with OpenRC as the init system and it comes with a pre-configured desktop environment, using their own window manager (Lumina). Booting the USB flash image it made it to X11 without any issue. The dock has a widget which states the detected features, no wifi (Broadcom), sound card detected and screen resolution set to 1366×768. I planned to give it a try on the weekend. Friday, I made backups and wiped the system. TrueOS installed without issue, after a short while I had a working desktop, resuming from sleep worked out of the box. I didn’t spend long testing TrueOS, switching out NetBSD-HEAD only to realise that I really need ZFS so while I was testing things out, might as well give stock FreeBSD 11-STABLE a try (TrueOS was based on -CURRENT).<br>
Turns out sleep doesn’t work yet but sound does work out of the box and with a few invocations of pkg(8) I had xorg, dwm, firefox, CVS and virtuabox-ose installed from binary packages. VirtualBox seems to cause the system to panic (bug 219276) but I should be able to survive without my virtual machines over the next few days as I settle in. I’m considering ditching VirtualBox and converting the vdi files to raw images so that they can be written to a new zvol for use with bhyve. As my default keyboard layout is Dvorak, OS X set the EFI settings to this layout. The first time I installed FreeBSD 11-STABLE, I opted for full disk encryption but ran into this odd issue where on boot the keyboard layout was Dvorak and password was accepted, the system would boot and as it went to mount the various filesystems it would switch back to QWERTY. I tried entering my password with both layout but wasn’t able to progress any further, no bug report yet as I haven’t ruled myself out as the problem.<br>
Thunderbolt gigabit adapter –<a href="https://www.freebsd.org/cgi/man.cgi?query=bge" target="_blank" rel="nofollow noopener">bge(4)</a> and DVI adapter both worked on FreeBSD though the gigabit adapter needs to be plugged in at boot to be detected. The trackpad bind to <a href="https://www.freebsd.org/cgi/man.cgi?query=wsp" target="_blank" rel="nofollow noopener">wsp(4)</a>, left, right and middle clicks are available through single, double and tripple finger tap. Sound card binds to <a href="https://www.freebsd.org/cgi/man.cgi?query=snd_hda" target="_blank" rel="nofollow noopener">snd_hda(4)</a> and works out of the box.<br>
For wifi I’m using a <a href="https://www.freebsd.org/cgi/man.cgi?query=urtw" target="_blank" rel="nofollow noopener">urtw(4)</a> Alfa adapter which is a bit on the large side but works very reliably.  A copy of the <a href="https://www.geeklan.co.uk/files/macbookair/freebsd-dmesg.txt" target="_blank" rel="nofollow noopener">dmesg</a> is here.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://forum.opnsense.org/index.php?topic=5200.0" target="_blank" rel="nofollow noopener">OPNsense - call-for-testing for SafeStack</a></li>
<li><a href="https://www.rewritinghistorycasts.com/screencasts/bsd-4.4:-cat" target="_blank" rel="nofollow noopener">BSD 4.4: cat</a></li>
<li><a href="https://github.com/dspinellis/unix-history-repo" target="_blank" rel="nofollow noopener">Continuous Unix commit history from 1970 until today</a></li>
<li><a href="https://www.spinellis.gr/blog/20170510/" target="_blank" rel="nofollow noopener">Update on Unix Architecture Evolution Diagrams</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/2951" target="_blank" rel="nofollow noopener">“Relayd and Httpd Mastery” is out!</a></li>
<li><a href="https://www.meetup.com/Triangle-BSD-Users-Group/events/240247251/" target="_blank" rel="nofollow noopener">Triangle BSD User Group Meeting -- libxo</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/1GJHPNY#wrap" target="_blank" rel="nofollow noopener">Carlos - ASUS Tinkerboard</a></li>
<li><a href="http://dpaste.com/0QCW933#wrap" target="_blank" rel="nofollow noopener">James - Firewall question</a></li>
<li><a href="http://dpaste.com/0GMG5M2#wrap" target="_blank" rel="nofollow noopener">Adam - ZFS books</a></li>
<li><a href="http://dpaste.com/2GP8H1E#wrap" target="_blank" rel="nofollow noopener">David - Managing zvols</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>194: Daemonic plans</title>
  <link>https://www.bsdnow.tv/194</link>
  <guid isPermaLink="false">58753453-5f24-4697-a3a2-c39ef52c9b5b</guid>
  <pubDate>Wed, 17 May 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/58753453-5f24-4697-a3a2-c39ef52c9b5b.mp3" length="67381204" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This week on BSD Now we cover the latest FreeBSD Status Report, a plan for Open Source software development, centrally managing bhyve with Ansible, libvirt, and pkg-ssh, and a whole lot more.</itunes:subtitle>
  <itunes:duration>1:33:35</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>&lt;p&gt;This week on BSD Now we cover the latest FreeBSD Status Report, a plan for Open Source software development, centrally managing bhyve with Ansible, libvirt, and pkg-ssh, and a whole lot more.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://www.freebsd.org/news/status/report-2017-01-2017-03.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD Project Status Report (January to March 2017)&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;While a few of these projects indicate they are a "plan B" or an "attempt III", many are still hewing to their original plans, and all have produced impressive results. Please enjoy this vibrant collection of reports, covering the first quarter of 2017.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The quarterly report opens with notes from Core, The FreeBSD Foundation, the Ports team, and Release Engineering&lt;/li&gt;
&lt;li&gt;On the project front, the Ceph on FreeBSD project had made considerable advances, and is now usable as the net/ceph-devel port via the ceph-fuse module. Eventually they hope to have a kernel RADOS block device driver, so fuse is not required&lt;/li&gt;
&lt;li&gt;CloudABI update, including news that the Bitcoin reference implementation is working on a port to CloudABI&lt;/li&gt;
&lt;li&gt;eMMC Flash and SD card updates, allowing higher speeds (max speed changes from ~40 to ~80 MB/sec). As well, the MMC Stack can now also be backed by the CAM framework.&lt;/li&gt;
&lt;li&gt;Improvements to the Linuxulator&lt;/li&gt;
&lt;li&gt;More detail on the pNFS Server plan B that we discussed in a previous week&lt;/li&gt;
&lt;li&gt;Snow B.V. is sponsoring a dutch translation of the FreeBSD Handbook using the new .po system
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.daemonology.net/blog/2017-05-11-plan-for-foss-maintainers.html" target="_blank" rel="nofollow noopener"&gt;A plan for open source software maintainers&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Colin Percival describes in his blog “a plan for open source software maintainers”:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I've been writing open source software for about 15 years now; while I'm still wet behind the ears compared to FreeBSD greybeards like Kirk McKusick and Poul-Henning Kamp, I've been around for long enough to start noticing some patterns. In particular:&lt;br&gt;
Free software is expensive. Software is expensive to begin with; but good quality open source software tends to be written by people who are recognized as experts in their fields (partly thanks to that very software) and can demand commensurate salaries.&lt;br&gt;
While that expensive developer time is donated (either by the developers themselves or by their employers), this influences what their time is used for: Individual developers like doing things which are fun or high-status, while companies usually pay developers to work specifically on the features those companies need. Maintaining existing code is important, but it is neither fun nor high-status; and it tends to get underweighted by companies as well, since maintenance is inherently unlikely to be the most urgent issue at any given time.&lt;br&gt;
Open source software is largely a "throw code over the fence and walk away" exercise. Over the past 15 years I've written freebsd-update, bsdiff, portsnap, scrypt, spiped, and kivaloo, and done a lot of work on the FreeBSD/EC2 platform. Of these, I know bsdiff and scrypt are very widely used and I suspect that kivaloo is not; but beyond that I have very little knowledge of how widely or where my work is being used. Anecdotally it seems that other developers are in similar positions: At conferences I've heard variations on "you're using my code? Wow, that's awesome; I had no idea" many times.&lt;br&gt;
I have even less knowledge of what people are doing with my work or what problems or limitations they're running into. Occasionally I get bug reports or feature requests; but I know I only hear from a very small proportion of the users of my work. I have a long list of feature ideas which are sitting in limbo simply because I don't know if anyone would ever use them — I suspect the answer is yes, but I'm not going to spend time implementing these until I have some confirmation of that.&lt;br&gt;
A lot of mid-size companies would like to be able to pay for support for the software they're using, but can't find anyone to provide it. For larger companies, it's often easier — they can simply hire the author of the software (and many developers who do ongoing maintenance work on open source software were in fact hired for this sort of "in-house expertise" role) — but there's very little available for a company which needs a few minutes per month of expertise. In many cases, the best support they can find is sending an email to the developer of the software they're using and not paying anything at all — we've all received "can you help me figure out how to use this" emails, and most of us are happy to help when we have time — but relying on developer generosity is not a good long-term solution.&lt;br&gt;
Every few months, I receive email from people asking if there's any way for them to support my open source software contributions. (Usually I encourage them to donate to the FreeBSD Foundation.) Conversely, there are developers whose work I would like to support (e.g., people working on FreeBSD wifi and video drivers), but there isn't any straightforward way to do this. Patreon has demonstrated that there are a lot of people willing to pay to support what they see as worthwhile work, even if they don't get anything directly in exchange for their patronage.&lt;/p&gt;

&lt;p&gt;It seems to me that this is a case where problems are in fact solutions to other problems. To wit:&lt;br&gt;
Users of open source software want to be able to get help with their use cases; developers of open source software want to know how people are using their code.&lt;br&gt;
Users of open source software want to support the the work they use; developers of open source software want to know which projects users care about.&lt;br&gt;
Users of open source software want specific improvements; developers of open source software may be interested in making those specific changes, but don't want to spend the time until they know someone would use them.&lt;br&gt;
Users of open source software have money; developers of open source software get day jobs writing other code because nobody is paying them to maintain their open source software.&lt;/p&gt;

&lt;p&gt;I'd like to see this situation get fixed. As I envision it, a solution would look something like a cross between Patreon and Bugzilla: Users would be able sign up to "support" projects of their choosing, with a number of dollars per month (possibly arbitrary amounts, possibly specified tiers; maybe including $0/month), and would be able to open issues. These could be private (e.g., for "technical support" requests) or public (e.g., for bugs and feature requests); users would be able to indicate their interest in public issues created by other users. Developers would get to see the open issues, along with a nominal "value" computed based on allocating the incoming dollars of "support contracts" across the issues each user has expressed an interest in, allowing them to focus on issues with higher impact.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;He poses three questions to users about whether or not people (users and software developers alike) would be interested in this and whether payment (giving and receiving, respectively) is interesting&lt;br&gt;&lt;/li&gt;
&lt;li&gt;Check out the comments (and those on [&lt;a href="https://news.ycombinator.com/item?id=14313804%5D(reddit.com)" target="_blank" rel="nofollow noopener"&gt;https://news.ycombinator.com/item?id=14313804](reddit.com)&lt;/a&gt;) as well for some suggestions and discussion on the topic
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.h-i-r.net/2017/04/openbsd-vmm-hypervisor-part-2.html" target="_blank" rel="nofollow noopener"&gt;OpenBSD vmm hypervisor: Part 2&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;We asked for people to write up their experience using OpenBSD’s VMM. This blog post is just that&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This is going to be a (likely long-running, infrequently-appended) series of posts as I poke around in vmm.  A few months ago, I demonstrated some basic use of the vmm hypervisor as it existed in OpenBSD 6.0-CURRENT around late October, 2016. We'll call that video Part 1.&lt;br&gt;
Quite a bit of development was done on vmm before 6.1-RELEASE, and it's worth noting that some new features made their way in. Work continues, of course, and I can only imagine the hypervisor technology will mature plenty for the next release. As it stands, this is the first release of OpenBSD with a native hypervisor shipped in the base install, and that's exciting news in and of itself&lt;br&gt;
To get our virtual machines onto the network, we have to spend some time setting up a virtual ethernet interface. We'll run a DHCP server on that, and it'll be the default route for our virtual machines. We'll keep all the VMs on a private network segment, and use NAT to allow them to get to the network. There is a way to directly bridge VMs to the network in some situations, but I won't be covering that today.&lt;br&gt;
Create an empty disk image for your new VM. I'd recommend 1.5GB to play with at first. You can do this without doas or root if you want your user account to be able to start the VM later. I made a "vmm" directory inside my home directory to store VM disk images in. You might have a different partition you wish to store these large files in.&lt;br&gt;
Boot up a brand new vm instance. You'll have to do this as root or with doas. You can download a -CURRENT install kernel/ramdisk (bsd.rd) from an OpenBSD mirror, or you can simply use the one that's on your existing system (/bsd.rd) like I'll do here.&lt;br&gt;
The command will start a VM named "test.vm", display the console at startup, use /bsd.rd (from our host environment) as the boot image, allocate 256MB of memory, attach the first network interface to the switch called "local" we defined earlier in /etc/vm.conf, and use the test image we just created as the first disk drive.&lt;br&gt;
Now that the VM disk image file has a full installation of OpenBSD on it, build a VM configuration around it by adding the below block of configuration (with modifications as needed for owner, path and lladdr) to /etc/vm.conf&lt;br&gt;
I've noticed that VMs with much less than 256MB of RAM allocated tend to be a little unstable for me. You'll also note that in the "interface" clause, I hard-coded the lladdr that was generated for it earlier. By specifying "disable" in vm.conf, the VM will show up in a stopped state that the owner of the VM (that's you!) can manually start without root access.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Let us know how VMM works for you
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://www.tedunangst.com/flak/post/openbsd-changes-of-note-621" target="_blank" rel="nofollow noopener"&gt;openbsd changes of note 621&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;More stuff, more fun.&lt;/li&gt;
&lt;li&gt;Fix script to not perform tty operations on things that aren’t ttys. Detected by pledge.&lt;/li&gt;
&lt;li&gt;Merge libdrm 2.4.79.&lt;/li&gt;
&lt;li&gt;After a forced unmount, also unmount any filesystems below that mount point.&lt;/li&gt;
&lt;li&gt;Flip previously warm pages in the buffer cache to memory above the DMA region if uvm tells us it is available. Pages are not automatically promoted to upper memory. Instead it’s used as additional memory only for what the cache considers long term buffers. I/O still requires DMA memory, so writing to a buffer will pull it back down.&lt;/li&gt;
&lt;li&gt;Makefile support for systems with both gcc and clang. Make i386 and amd64 so.&lt;/li&gt;
&lt;li&gt;Take a more radical approach to disabling colours in clang.&lt;/li&gt;
&lt;li&gt;When the data buffered for write in tmux exceeds a limit, discard it and redraw. Helps when a fast process is running inside tmux running inside a slow terminal.&lt;/li&gt;
&lt;li&gt;Add a port of witness(4) lock validation tool from FreeBSD. Use it with mplock, rwlock, and mutex in the kernel.&lt;/li&gt;
&lt;li&gt;Properly save and restore FPU context in vmm.&lt;/li&gt;
&lt;li&gt;Remove KGDB. It neither compiles nor works.&lt;/li&gt;
&lt;li&gt;Add a constant time AES implementation, from BearSSL.&lt;/li&gt;
&lt;li&gt;Remove SSHv1 from ssh.&lt;/li&gt;
&lt;li&gt;and more...
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/BSDDirectoryGroupChoice" target="_blank" rel="nofollow noopener"&gt;Digging into BSD's choice of Unix group for new directories and files&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;I have to eat some humble pie here. In comments on my entry on an interesting chmod failure, Greg A. Woods pointed out that FreeBSD's behavior of creating everything inside a directory with the group of the directory is actually traditional BSD behavior (it dates all the way back to the 1980s), not some odd new invention by FreeBSD. As traditional behavior it makes sense that it's explicitly allowed by the standards, but I've also come to think that it makes sense in context and in general. To see this, we need some background about the problem facing BSD.&lt;br&gt;
In the beginning, two things were true in Unix: there was no mkdir() system call, and processes could only be in one group at a time. With processes being in only one group, the choice of the group for a newly created filesystem object was easy; it was your current group. This was felt to be sufficiently obvious behavior that the V7 creat(2) manpage doesn't even mention it.&lt;br&gt;
Now things get interesting. 4.1c BSD seems to be where mkdir(2) is introduced and where creat() stops being a system call and becomes an option to open(2). It's also where processes can be in multiple groups for the first time. The 4.1c BSD open(2) manpage is silent about the group of newly created files, while the mkdir(2) manpage specifically claims that new directories will have your effective group (ie, the V7 behavior). This is actually wrong. In both mkdir() in sys_directory.c and maknode() in ufs_syscalls.c, the group of the newly created object is set to the group of the parent directory. Then finally in the 4.2 BSD mkdir(2) manpage the group of the new directory is correctly documented (the 4.2 BSD open(2) manpage continues to say nothing about this). So BSD's traditional behavior was introduced at the same time as processes being in multiple groups, and we can guess that it was introduced as part of that change.&lt;br&gt;
When your process can only be in a single group, as in V7, it makes perfect sense to create new filesystem objects with that as their group. It's basically the same case as making new filesystem objects be owned by you; just as they get your UID, they also get your GID. When your process can be in multiple groups, things get less clear. A filesystem object can only be in one group, so which of your several groups should a new filesystem object be owned by, and how can you most conveniently change that choice?&lt;br&gt;
One option is to have some notion of a 'primary group' and then provide ways to shuffle around which of your groups is the primary group.&lt;br&gt;
Another option is the BSD choice of inheriting the group from context. By far the most common case is that you want your new files and directories to be created in the 'context', ie the group, of the surrounding directory.&lt;br&gt;
If you fully embrace the idea of Unix processes being in multiple groups, not just having one primary group and then some number of secondary groups, then the BSD choice makes a lot of sense. And for all of its faults, BSD tended to relatively fully embrace its changes &lt;br&gt;
While it leads to some odd issues, such as the one I ran into, pretty much any choice here is going to have some oddities.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://www.shellguardians.com/2017/05/centrally-managed-bhyve-infrastructure.html" target="_blank" rel="nofollow noopener"&gt;Centrally managed Bhyve infrastructure with Ansible, libvirt and pkg-ssh&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;At work we've been using Bhyve for a while to run non-critical systems.  It is a really nice and stable hypervisor even though we are using an earlier version available on FreeBSD 10.3. This means we lack Windows and VNC support among other things, but it is not a big deal.&lt;br&gt;
After some iterations in our internal tools, we realised that the installation process was too slow and we always repeated the same steps. Of course,  any good sysadmin will scream "AUTOMATION!" and so did we. Therefore, we started looking for different ways to improve our deployments.&lt;br&gt;
We had a look at existing frameworks that manage Bhyve, but none of them had a feature that we find really important: having a centralized repository of VM images. For instance, SmartOS applies this method successfully by having a backend server that stores a catalog of VMs and Zones, meaning that new instances can be deployed in a minute at most. This is a game changer if you are really busy in your day-to-day operations.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The following building blocks are used:

&lt;ul&gt;
&lt;li&gt;The ZFS snapshot of an existing VM. This will be our VM template.&lt;/li&gt;
&lt;li&gt;A modified version of oneoff-pkg-create to package the ZFS snapshots.&lt;/li&gt;
&lt;li&gt;pkg-ssh  and pkg-repo to host a local FreeBSD repo in a FreeBSD jail.&lt;/li&gt;
&lt;li&gt;libvirt to manage our Bhyve VMs.&lt;/li&gt;
&lt;li&gt;The ansible modules virt, virt_net and virt_pool.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Once automated, the installation process needs 2 minutes at most, compared with the 30 minutes needed to manually install VM plus allowing us to deploy many guests in parallel.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/netbsd_maintainer_in_the_qemu" target="_blank" rel="nofollow noopener"&gt;NetBSD maintainer in the QEMU project&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;QEMU - the FAST! processor emulator - is a generic, Open Source, machine emulator and virtualizer. It defines state of the art in modern virtualization.&lt;br&gt;
This software has been developed for multiplatform environments with support for NetBSD since virtually forever. It's the primary tool used by the NetBSD developers and release engineering team. It is run with continuous integration tests for daily commits and execute regression tests through the Automatic Test Framework (ATF).&lt;br&gt;
The QEMU developers warned the Open Source community - with version 2.9 of the emulator - that they will eventually drop support for suboptimally supported hosts if nobody will step in and take the maintainership to refresh the support. This warning was directed to major BSDs, Solaris, AIX and Haiku.&lt;br&gt;
Thankfully the NetBSD position has been filled - making NetBSD to restore official maintenance.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170510012526&amp;amp;mode=flat&amp;amp;count=0" target="_blank" rel="nofollow noopener"&gt;OpenBSD Community Goes Gold&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/CharmBUG/events/238218840/" target="_blank" rel="nofollow noopener"&gt;CharmBUG’s Tor Hack-a-thon has been pushed back to July due to scheduling difficulties&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.haiku-os.org/blog/vivek/2017-05-05_%5Bgsoc_2017%5D_3d_hardware_acceleration_in_haiku/" target="_blank" rel="nofollow noopener"&gt;Direct Rendering Manager (DRM) Driver for i915, from the Linux kernel to Haiku with the help of DragonflyBSD’s Linux Compatibility layer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/bsdlme/status/863488045449977864" target="_blank" rel="nofollow noopener"&gt;TomTom lists OpenBSD in license&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/regional-london/2017/05/02/msg000571.html" target="_blank" rel="nofollow noopener"&gt;London Net BSD Meetup on May 22nd&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://knoxbug.org/2017-05-30" target="_blank" rel="nofollow noopener"&gt;KnoxBUG meeting May 30th, 2017 - Introduction to FreeNAS&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/35EWVGZ#wrap" target="_blank" rel="nofollow noopener"&gt;Felix - Home Firewall&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0H51NX2#wrap" target="_blank" rel="nofollow noopener"&gt;David - Docker Recipes for Jails&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2VZ7S8K#wrap" target="_blank" rel="nofollow noopener"&gt;Don - GoLang &amp;amp; Rust&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2A1FZF3#wrap" target="_blank" rel="nofollow noopener"&gt;George - OGG feed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3D2B6J3#wrap" target="_blank" rel="nofollow noopener"&gt;Roller - BSDCan Tips&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This week on BSD Now we cover the latest FreeBSD Status Report, a plan for Open Source software development, centrally managing bhyve with Ansible, libvirt, and pkg-ssh, and a whole lot more.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/news/status/report-2017-01-2017-03.html" target="_blank" rel="nofollow noopener">FreeBSD Project Status Report (January to March 2017)</a></h3>

<blockquote>
<p>While a few of these projects indicate they are a "plan B" or an "attempt III", many are still hewing to their original plans, and all have produced impressive results. Please enjoy this vibrant collection of reports, covering the first quarter of 2017.</p>
</blockquote>

<ul>
<li>The quarterly report opens with notes from Core, The FreeBSD Foundation, the Ports team, and Release Engineering</li>
<li>On the project front, the Ceph on FreeBSD project had made considerable advances, and is now usable as the net/ceph-devel port via the ceph-fuse module. Eventually they hope to have a kernel RADOS block device driver, so fuse is not required</li>
<li>CloudABI update, including news that the Bitcoin reference implementation is working on a port to CloudABI</li>
<li>eMMC Flash and SD card updates, allowing higher speeds (max speed changes from ~40 to ~80 MB/sec). As well, the MMC Stack can now also be backed by the CAM framework.</li>
<li>Improvements to the Linuxulator</li>
<li>More detail on the pNFS Server plan B that we discussed in a previous week</li>
<li>Snow B.V. is sponsoring a dutch translation of the FreeBSD Handbook using the new .po system
***</li>
</ul>

<h3><a href="http://www.daemonology.net/blog/2017-05-11-plan-for-foss-maintainers.html" target="_blank" rel="nofollow noopener">A plan for open source software maintainers</a></h3>

<ul>
<li>Colin Percival describes in his blog “a plan for open source software maintainers”:</li>
</ul>

<blockquote>
<p>I've been writing open source software for about 15 years now; while I'm still wet behind the ears compared to FreeBSD greybeards like Kirk McKusick and Poul-Henning Kamp, I've been around for long enough to start noticing some patterns. In particular:<br>
Free software is expensive. Software is expensive to begin with; but good quality open source software tends to be written by people who are recognized as experts in their fields (partly thanks to that very software) and can demand commensurate salaries.<br>
While that expensive developer time is donated (either by the developers themselves or by their employers), this influences what their time is used for: Individual developers like doing things which are fun or high-status, while companies usually pay developers to work specifically on the features those companies need. Maintaining existing code is important, but it is neither fun nor high-status; and it tends to get underweighted by companies as well, since maintenance is inherently unlikely to be the most urgent issue at any given time.<br>
Open source software is largely a "throw code over the fence and walk away" exercise. Over the past 15 years I've written freebsd-update, bsdiff, portsnap, scrypt, spiped, and kivaloo, and done a lot of work on the FreeBSD/EC2 platform. Of these, I know bsdiff and scrypt are very widely used and I suspect that kivaloo is not; but beyond that I have very little knowledge of how widely or where my work is being used. Anecdotally it seems that other developers are in similar positions: At conferences I've heard variations on "you're using my code? Wow, that's awesome; I had no idea" many times.<br>
I have even less knowledge of what people are doing with my work or what problems or limitations they're running into. Occasionally I get bug reports or feature requests; but I know I only hear from a very small proportion of the users of my work. I have a long list of feature ideas which are sitting in limbo simply because I don't know if anyone would ever use them — I suspect the answer is yes, but I'm not going to spend time implementing these until I have some confirmation of that.<br>
A lot of mid-size companies would like to be able to pay for support for the software they're using, but can't find anyone to provide it. For larger companies, it's often easier — they can simply hire the author of the software (and many developers who do ongoing maintenance work on open source software were in fact hired for this sort of "in-house expertise" role) — but there's very little available for a company which needs a few minutes per month of expertise. In many cases, the best support they can find is sending an email to the developer of the software they're using and not paying anything at all — we've all received "can you help me figure out how to use this" emails, and most of us are happy to help when we have time — but relying on developer generosity is not a good long-term solution.<br>
Every few months, I receive email from people asking if there's any way for them to support my open source software contributions. (Usually I encourage them to donate to the FreeBSD Foundation.) Conversely, there are developers whose work I would like to support (e.g., people working on FreeBSD wifi and video drivers), but there isn't any straightforward way to do this. Patreon has demonstrated that there are a lot of people willing to pay to support what they see as worthwhile work, even if they don't get anything directly in exchange for their patronage.</p>

<p>It seems to me that this is a case where problems are in fact solutions to other problems. To wit:<br>
Users of open source software want to be able to get help with their use cases; developers of open source software want to know how people are using their code.<br>
Users of open source software want to support the the work they use; developers of open source software want to know which projects users care about.<br>
Users of open source software want specific improvements; developers of open source software may be interested in making those specific changes, but don't want to spend the time until they know someone would use them.<br>
Users of open source software have money; developers of open source software get day jobs writing other code because nobody is paying them to maintain their open source software.</p>

<p>I'd like to see this situation get fixed. As I envision it, a solution would look something like a cross between Patreon and Bugzilla: Users would be able sign up to "support" projects of their choosing, with a number of dollars per month (possibly arbitrary amounts, possibly specified tiers; maybe including $0/month), and would be able to open issues. These could be private (e.g., for "technical support" requests) or public (e.g., for bugs and feature requests); users would be able to indicate their interest in public issues created by other users. Developers would get to see the open issues, along with a nominal "value" computed based on allocating the incoming dollars of "support contracts" across the issues each user has expressed an interest in, allowing them to focus on issues with higher impact.</p>
</blockquote>

<ul>
<li>He poses three questions to users about whether or not people (users and software developers alike) would be interested in this and whether payment (giving and receiving, respectively) is interesting<br></li>
<li>Check out the comments (and those on [<a href="https://news.ycombinator.com/item?id=14313804%5D(reddit.com)" target="_blank" rel="nofollow noopener">https://news.ycombinator.com/item?id=14313804](reddit.com)</a>) as well for some suggestions and discussion on the topic
***</li>
</ul>

<h3><a href="http://www.h-i-r.net/2017/04/openbsd-vmm-hypervisor-part-2.html" target="_blank" rel="nofollow noopener">OpenBSD vmm hypervisor: Part 2</a></h3>

<ul>
<li>We asked for people to write up their experience using OpenBSD’s VMM. This blog post is just that</li>
</ul>

<blockquote>
<p>This is going to be a (likely long-running, infrequently-appended) series of posts as I poke around in vmm.  A few months ago, I demonstrated some basic use of the vmm hypervisor as it existed in OpenBSD 6.0-CURRENT around late October, 2016. We'll call that video Part 1.<br>
Quite a bit of development was done on vmm before 6.1-RELEASE, and it's worth noting that some new features made their way in. Work continues, of course, and I can only imagine the hypervisor technology will mature plenty for the next release. As it stands, this is the first release of OpenBSD with a native hypervisor shipped in the base install, and that's exciting news in and of itself<br>
To get our virtual machines onto the network, we have to spend some time setting up a virtual ethernet interface. We'll run a DHCP server on that, and it'll be the default route for our virtual machines. We'll keep all the VMs on a private network segment, and use NAT to allow them to get to the network. There is a way to directly bridge VMs to the network in some situations, but I won't be covering that today.<br>
Create an empty disk image for your new VM. I'd recommend 1.5GB to play with at first. You can do this without doas or root if you want your user account to be able to start the VM later. I made a "vmm" directory inside my home directory to store VM disk images in. You might have a different partition you wish to store these large files in.<br>
Boot up a brand new vm instance. You'll have to do this as root or with doas. You can download a -CURRENT install kernel/ramdisk (bsd.rd) from an OpenBSD mirror, or you can simply use the one that's on your existing system (/bsd.rd) like I'll do here.<br>
The command will start a VM named "test.vm", display the console at startup, use /bsd.rd (from our host environment) as the boot image, allocate 256MB of memory, attach the first network interface to the switch called "local" we defined earlier in /etc/vm.conf, and use the test image we just created as the first disk drive.<br>
Now that the VM disk image file has a full installation of OpenBSD on it, build a VM configuration around it by adding the below block of configuration (with modifications as needed for owner, path and lladdr) to /etc/vm.conf<br>
I've noticed that VMs with much less than 256MB of RAM allocated tend to be a little unstable for me. You'll also note that in the "interface" clause, I hard-coded the lladdr that was generated for it earlier. By specifying "disable" in vm.conf, the VM will show up in a stopped state that the owner of the VM (that's you!) can manually start without root access.</p>
</blockquote>

<ul>
<li>Let us know how VMM works for you
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://www.tedunangst.com/flak/post/openbsd-changes-of-note-621" target="_blank" rel="nofollow noopener">openbsd changes of note 621</a></h3>

<ul>
<li>More stuff, more fun.</li>
<li>Fix script to not perform tty operations on things that aren’t ttys. Detected by pledge.</li>
<li>Merge libdrm 2.4.79.</li>
<li>After a forced unmount, also unmount any filesystems below that mount point.</li>
<li>Flip previously warm pages in the buffer cache to memory above the DMA region if uvm tells us it is available. Pages are not automatically promoted to upper memory. Instead it’s used as additional memory only for what the cache considers long term buffers. I/O still requires DMA memory, so writing to a buffer will pull it back down.</li>
<li>Makefile support for systems with both gcc and clang. Make i386 and amd64 so.</li>
<li>Take a more radical approach to disabling colours in clang.</li>
<li>When the data buffered for write in tmux exceeds a limit, discard it and redraw. Helps when a fast process is running inside tmux running inside a slow terminal.</li>
<li>Add a port of witness(4) lock validation tool from FreeBSD. Use it with mplock, rwlock, and mutex in the kernel.</li>
<li>Properly save and restore FPU context in vmm.</li>
<li>Remove KGDB. It neither compiles nor works.</li>
<li>Add a constant time AES implementation, from BearSSL.</li>
<li>Remove SSHv1 from ssh.</li>
<li>and more...
***</li>
</ul>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/BSDDirectoryGroupChoice" target="_blank" rel="nofollow noopener">Digging into BSD's choice of Unix group for new directories and files</a></h3>

<blockquote>
<p>I have to eat some humble pie here. In comments on my entry on an interesting chmod failure, Greg A. Woods pointed out that FreeBSD's behavior of creating everything inside a directory with the group of the directory is actually traditional BSD behavior (it dates all the way back to the 1980s), not some odd new invention by FreeBSD. As traditional behavior it makes sense that it's explicitly allowed by the standards, but I've also come to think that it makes sense in context and in general. To see this, we need some background about the problem facing BSD.<br>
In the beginning, two things were true in Unix: there was no mkdir() system call, and processes could only be in one group at a time. With processes being in only one group, the choice of the group for a newly created filesystem object was easy; it was your current group. This was felt to be sufficiently obvious behavior that the V7 creat(2) manpage doesn't even mention it.<br>
Now things get interesting. 4.1c BSD seems to be where mkdir(2) is introduced and where creat() stops being a system call and becomes an option to open(2). It's also where processes can be in multiple groups for the first time. The 4.1c BSD open(2) manpage is silent about the group of newly created files, while the mkdir(2) manpage specifically claims that new directories will have your effective group (ie, the V7 behavior). This is actually wrong. In both mkdir() in sys_directory.c and maknode() in ufs_syscalls.c, the group of the newly created object is set to the group of the parent directory. Then finally in the 4.2 BSD mkdir(2) manpage the group of the new directory is correctly documented (the 4.2 BSD open(2) manpage continues to say nothing about this). So BSD's traditional behavior was introduced at the same time as processes being in multiple groups, and we can guess that it was introduced as part of that change.<br>
When your process can only be in a single group, as in V7, it makes perfect sense to create new filesystem objects with that as their group. It's basically the same case as making new filesystem objects be owned by you; just as they get your UID, they also get your GID. When your process can be in multiple groups, things get less clear. A filesystem object can only be in one group, so which of your several groups should a new filesystem object be owned by, and how can you most conveniently change that choice?<br>
One option is to have some notion of a 'primary group' and then provide ways to shuffle around which of your groups is the primary group.<br>
Another option is the BSD choice of inheriting the group from context. By far the most common case is that you want your new files and directories to be created in the 'context', ie the group, of the surrounding directory.<br>
If you fully embrace the idea of Unix processes being in multiple groups, not just having one primary group and then some number of secondary groups, then the BSD choice makes a lot of sense. And for all of its faults, BSD tended to relatively fully embrace its changes <br>
While it leads to some odd issues, such as the one I ran into, pretty much any choice here is going to have some oddities.</p>

<hr>
</blockquote>

<h3><a href="http://www.shellguardians.com/2017/05/centrally-managed-bhyve-infrastructure.html" target="_blank" rel="nofollow noopener">Centrally managed Bhyve infrastructure with Ansible, libvirt and pkg-ssh</a></h3>

<blockquote>
<p>At work we've been using Bhyve for a while to run non-critical systems.  It is a really nice and stable hypervisor even though we are using an earlier version available on FreeBSD 10.3. This means we lack Windows and VNC support among other things, but it is not a big deal.<br>
After some iterations in our internal tools, we realised that the installation process was too slow and we always repeated the same steps. Of course,  any good sysadmin will scream "AUTOMATION!" and so did we. Therefore, we started looking for different ways to improve our deployments.<br>
We had a look at existing frameworks that manage Bhyve, but none of them had a feature that we find really important: having a centralized repository of VM images. For instance, SmartOS applies this method successfully by having a backend server that stores a catalog of VMs and Zones, meaning that new instances can be deployed in a minute at most. This is a game changer if you are really busy in your day-to-day operations.</p>
</blockquote>

<ul>
<li>The following building blocks are used:

<ul>
<li>The ZFS snapshot of an existing VM. This will be our VM template.</li>
<li>A modified version of oneoff-pkg-create to package the ZFS snapshots.</li>
<li>pkg-ssh  and pkg-repo to host a local FreeBSD repo in a FreeBSD jail.</li>
<li>libvirt to manage our Bhyve VMs.</li>
<li>The ansible modules virt, virt_net and virt_pool.</li>
</ul></li>
</ul>

<blockquote>
<p>Once automated, the installation process needs 2 minutes at most, compared with the 30 minutes needed to manually install VM plus allowing us to deploy many guests in parallel.</p>

<hr>
</blockquote>

<h3><a href="https://blog.netbsd.org/tnf/entry/netbsd_maintainer_in_the_qemu" target="_blank" rel="nofollow noopener">NetBSD maintainer in the QEMU project</a></h3>

<blockquote>
<p>QEMU - the FAST! processor emulator - is a generic, Open Source, machine emulator and virtualizer. It defines state of the art in modern virtualization.<br>
This software has been developed for multiplatform environments with support for NetBSD since virtually forever. It's the primary tool used by the NetBSD developers and release engineering team. It is run with continuous integration tests for daily commits and execute regression tests through the Automatic Test Framework (ATF).<br>
The QEMU developers warned the Open Source community - with version 2.9 of the emulator - that they will eventually drop support for suboptimally supported hosts if nobody will step in and take the maintainership to refresh the support. This warning was directed to major BSDs, Solaris, AIX and Haiku.<br>
Thankfully the NetBSD position has been filled - making NetBSD to restore official maintenance.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170510012526&amp;mode=flat&amp;count=0" target="_blank" rel="nofollow noopener">OpenBSD Community Goes Gold</a></li>
<li><a href="https://www.meetup.com/CharmBUG/events/238218840/" target="_blank" rel="nofollow noopener">CharmBUG’s Tor Hack-a-thon has been pushed back to July due to scheduling difficulties</a></li>
<li><a href="https://www.haiku-os.org/blog/vivek/2017-05-05_%5Bgsoc_2017%5D_3d_hardware_acceleration_in_haiku/" target="_blank" rel="nofollow noopener">Direct Rendering Manager (DRM) Driver for i915, from the Linux kernel to Haiku with the help of DragonflyBSD’s Linux Compatibility layer</a></li>
<li><a href="https://twitter.com/bsdlme/status/863488045449977864" target="_blank" rel="nofollow noopener">TomTom lists OpenBSD in license</a></li>
<li><a href="https://mail-index.netbsd.org/regional-london/2017/05/02/msg000571.html" target="_blank" rel="nofollow noopener">London Net BSD Meetup on May 22nd</a></li>
<li><a href="http://knoxbug.org/2017-05-30" target="_blank" rel="nofollow noopener">KnoxBUG meeting May 30th, 2017 - Introduction to FreeNAS</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/35EWVGZ#wrap" target="_blank" rel="nofollow noopener">Felix - Home Firewall</a></li>
<li><a href="http://dpaste.com/0H51NX2#wrap" target="_blank" rel="nofollow noopener">David - Docker Recipes for Jails</a></li>
<li><a href="http://dpaste.com/2VZ7S8K#wrap" target="_blank" rel="nofollow noopener">Don - GoLang &amp; Rust</a></li>
<li><a href="http://dpaste.com/2A1FZF3#wrap" target="_blank" rel="nofollow noopener">George - OGG feed</a></li>
<li><a href="http://dpaste.com/3D2B6J3#wrap" target="_blank" rel="nofollow noopener">Roller - BSDCan Tips</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This week on BSD Now we cover the latest FreeBSD Status Report, a plan for Open Source software development, centrally managing bhyve with Ansible, libvirt, and pkg-ssh, and a whole lot more.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://www.freebsd.org/news/status/report-2017-01-2017-03.html" target="_blank" rel="nofollow noopener">FreeBSD Project Status Report (January to March 2017)</a></h3>

<blockquote>
<p>While a few of these projects indicate they are a "plan B" or an "attempt III", many are still hewing to their original plans, and all have produced impressive results. Please enjoy this vibrant collection of reports, covering the first quarter of 2017.</p>
</blockquote>

<ul>
<li>The quarterly report opens with notes from Core, The FreeBSD Foundation, the Ports team, and Release Engineering</li>
<li>On the project front, the Ceph on FreeBSD project had made considerable advances, and is now usable as the net/ceph-devel port via the ceph-fuse module. Eventually they hope to have a kernel RADOS block device driver, so fuse is not required</li>
<li>CloudABI update, including news that the Bitcoin reference implementation is working on a port to CloudABI</li>
<li>eMMC Flash and SD card updates, allowing higher speeds (max speed changes from ~40 to ~80 MB/sec). As well, the MMC Stack can now also be backed by the CAM framework.</li>
<li>Improvements to the Linuxulator</li>
<li>More detail on the pNFS Server plan B that we discussed in a previous week</li>
<li>Snow B.V. is sponsoring a dutch translation of the FreeBSD Handbook using the new .po system
***</li>
</ul>

<h3><a href="http://www.daemonology.net/blog/2017-05-11-plan-for-foss-maintainers.html" target="_blank" rel="nofollow noopener">A plan for open source software maintainers</a></h3>

<ul>
<li>Colin Percival describes in his blog “a plan for open source software maintainers”:</li>
</ul>

<blockquote>
<p>I've been writing open source software for about 15 years now; while I'm still wet behind the ears compared to FreeBSD greybeards like Kirk McKusick and Poul-Henning Kamp, I've been around for long enough to start noticing some patterns. In particular:<br>
Free software is expensive. Software is expensive to begin with; but good quality open source software tends to be written by people who are recognized as experts in their fields (partly thanks to that very software) and can demand commensurate salaries.<br>
While that expensive developer time is donated (either by the developers themselves or by their employers), this influences what their time is used for: Individual developers like doing things which are fun or high-status, while companies usually pay developers to work specifically on the features those companies need. Maintaining existing code is important, but it is neither fun nor high-status; and it tends to get underweighted by companies as well, since maintenance is inherently unlikely to be the most urgent issue at any given time.<br>
Open source software is largely a "throw code over the fence and walk away" exercise. Over the past 15 years I've written freebsd-update, bsdiff, portsnap, scrypt, spiped, and kivaloo, and done a lot of work on the FreeBSD/EC2 platform. Of these, I know bsdiff and scrypt are very widely used and I suspect that kivaloo is not; but beyond that I have very little knowledge of how widely or where my work is being used. Anecdotally it seems that other developers are in similar positions: At conferences I've heard variations on "you're using my code? Wow, that's awesome; I had no idea" many times.<br>
I have even less knowledge of what people are doing with my work or what problems or limitations they're running into. Occasionally I get bug reports or feature requests; but I know I only hear from a very small proportion of the users of my work. I have a long list of feature ideas which are sitting in limbo simply because I don't know if anyone would ever use them — I suspect the answer is yes, but I'm not going to spend time implementing these until I have some confirmation of that.<br>
A lot of mid-size companies would like to be able to pay for support for the software they're using, but can't find anyone to provide it. For larger companies, it's often easier — they can simply hire the author of the software (and many developers who do ongoing maintenance work on open source software were in fact hired for this sort of "in-house expertise" role) — but there's very little available for a company which needs a few minutes per month of expertise. In many cases, the best support they can find is sending an email to the developer of the software they're using and not paying anything at all — we've all received "can you help me figure out how to use this" emails, and most of us are happy to help when we have time — but relying on developer generosity is not a good long-term solution.<br>
Every few months, I receive email from people asking if there's any way for them to support my open source software contributions. (Usually I encourage them to donate to the FreeBSD Foundation.) Conversely, there are developers whose work I would like to support (e.g., people working on FreeBSD wifi and video drivers), but there isn't any straightforward way to do this. Patreon has demonstrated that there are a lot of people willing to pay to support what they see as worthwhile work, even if they don't get anything directly in exchange for their patronage.</p>

<p>It seems to me that this is a case where problems are in fact solutions to other problems. To wit:<br>
Users of open source software want to be able to get help with their use cases; developers of open source software want to know how people are using their code.<br>
Users of open source software want to support the the work they use; developers of open source software want to know which projects users care about.<br>
Users of open source software want specific improvements; developers of open source software may be interested in making those specific changes, but don't want to spend the time until they know someone would use them.<br>
Users of open source software have money; developers of open source software get day jobs writing other code because nobody is paying them to maintain their open source software.</p>

<p>I'd like to see this situation get fixed. As I envision it, a solution would look something like a cross between Patreon and Bugzilla: Users would be able sign up to "support" projects of their choosing, with a number of dollars per month (possibly arbitrary amounts, possibly specified tiers; maybe including $0/month), and would be able to open issues. These could be private (e.g., for "technical support" requests) or public (e.g., for bugs and feature requests); users would be able to indicate their interest in public issues created by other users. Developers would get to see the open issues, along with a nominal "value" computed based on allocating the incoming dollars of "support contracts" across the issues each user has expressed an interest in, allowing them to focus on issues with higher impact.</p>
</blockquote>

<ul>
<li>He poses three questions to users about whether or not people (users and software developers alike) would be interested in this and whether payment (giving and receiving, respectively) is interesting<br></li>
<li>Check out the comments (and those on [<a href="https://news.ycombinator.com/item?id=14313804%5D(reddit.com)" target="_blank" rel="nofollow noopener">https://news.ycombinator.com/item?id=14313804](reddit.com)</a>) as well for some suggestions and discussion on the topic
***</li>
</ul>

<h3><a href="http://www.h-i-r.net/2017/04/openbsd-vmm-hypervisor-part-2.html" target="_blank" rel="nofollow noopener">OpenBSD vmm hypervisor: Part 2</a></h3>

<ul>
<li>We asked for people to write up their experience using OpenBSD’s VMM. This blog post is just that</li>
</ul>

<blockquote>
<p>This is going to be a (likely long-running, infrequently-appended) series of posts as I poke around in vmm.  A few months ago, I demonstrated some basic use of the vmm hypervisor as it existed in OpenBSD 6.0-CURRENT around late October, 2016. We'll call that video Part 1.<br>
Quite a bit of development was done on vmm before 6.1-RELEASE, and it's worth noting that some new features made their way in. Work continues, of course, and I can only imagine the hypervisor technology will mature plenty for the next release. As it stands, this is the first release of OpenBSD with a native hypervisor shipped in the base install, and that's exciting news in and of itself<br>
To get our virtual machines onto the network, we have to spend some time setting up a virtual ethernet interface. We'll run a DHCP server on that, and it'll be the default route for our virtual machines. We'll keep all the VMs on a private network segment, and use NAT to allow them to get to the network. There is a way to directly bridge VMs to the network in some situations, but I won't be covering that today.<br>
Create an empty disk image for your new VM. I'd recommend 1.5GB to play with at first. You can do this without doas or root if you want your user account to be able to start the VM later. I made a "vmm" directory inside my home directory to store VM disk images in. You might have a different partition you wish to store these large files in.<br>
Boot up a brand new vm instance. You'll have to do this as root or with doas. You can download a -CURRENT install kernel/ramdisk (bsd.rd) from an OpenBSD mirror, or you can simply use the one that's on your existing system (/bsd.rd) like I'll do here.<br>
The command will start a VM named "test.vm", display the console at startup, use /bsd.rd (from our host environment) as the boot image, allocate 256MB of memory, attach the first network interface to the switch called "local" we defined earlier in /etc/vm.conf, and use the test image we just created as the first disk drive.<br>
Now that the VM disk image file has a full installation of OpenBSD on it, build a VM configuration around it by adding the below block of configuration (with modifications as needed for owner, path and lladdr) to /etc/vm.conf<br>
I've noticed that VMs with much less than 256MB of RAM allocated tend to be a little unstable for me. You'll also note that in the "interface" clause, I hard-coded the lladdr that was generated for it earlier. By specifying "disable" in vm.conf, the VM will show up in a stopped state that the owner of the VM (that's you!) can manually start without root access.</p>
</blockquote>

<ul>
<li>Let us know how VMM works for you
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="http://www.tedunangst.com/flak/post/openbsd-changes-of-note-621" target="_blank" rel="nofollow noopener">openbsd changes of note 621</a></h3>

<ul>
<li>More stuff, more fun.</li>
<li>Fix script to not perform tty operations on things that aren’t ttys. Detected by pledge.</li>
<li>Merge libdrm 2.4.79.</li>
<li>After a forced unmount, also unmount any filesystems below that mount point.</li>
<li>Flip previously warm pages in the buffer cache to memory above the DMA region if uvm tells us it is available. Pages are not automatically promoted to upper memory. Instead it’s used as additional memory only for what the cache considers long term buffers. I/O still requires DMA memory, so writing to a buffer will pull it back down.</li>
<li>Makefile support for systems with both gcc and clang. Make i386 and amd64 so.</li>
<li>Take a more radical approach to disabling colours in clang.</li>
<li>When the data buffered for write in tmux exceeds a limit, discard it and redraw. Helps when a fast process is running inside tmux running inside a slow terminal.</li>
<li>Add a port of witness(4) lock validation tool from FreeBSD. Use it with mplock, rwlock, and mutex in the kernel.</li>
<li>Properly save and restore FPU context in vmm.</li>
<li>Remove KGDB. It neither compiles nor works.</li>
<li>Add a constant time AES implementation, from BearSSL.</li>
<li>Remove SSHv1 from ssh.</li>
<li>and more...
***</li>
</ul>

<h3><a href="https://utcc.utoronto.ca/%7Ecks/space/blog/unix/BSDDirectoryGroupChoice" target="_blank" rel="nofollow noopener">Digging into BSD's choice of Unix group for new directories and files</a></h3>

<blockquote>
<p>I have to eat some humble pie here. In comments on my entry on an interesting chmod failure, Greg A. Woods pointed out that FreeBSD's behavior of creating everything inside a directory with the group of the directory is actually traditional BSD behavior (it dates all the way back to the 1980s), not some odd new invention by FreeBSD. As traditional behavior it makes sense that it's explicitly allowed by the standards, but I've also come to think that it makes sense in context and in general. To see this, we need some background about the problem facing BSD.<br>
In the beginning, two things were true in Unix: there was no mkdir() system call, and processes could only be in one group at a time. With processes being in only one group, the choice of the group for a newly created filesystem object was easy; it was your current group. This was felt to be sufficiently obvious behavior that the V7 creat(2) manpage doesn't even mention it.<br>
Now things get interesting. 4.1c BSD seems to be where mkdir(2) is introduced and where creat() stops being a system call and becomes an option to open(2). It's also where processes can be in multiple groups for the first time. The 4.1c BSD open(2) manpage is silent about the group of newly created files, while the mkdir(2) manpage specifically claims that new directories will have your effective group (ie, the V7 behavior). This is actually wrong. In both mkdir() in sys_directory.c and maknode() in ufs_syscalls.c, the group of the newly created object is set to the group of the parent directory. Then finally in the 4.2 BSD mkdir(2) manpage the group of the new directory is correctly documented (the 4.2 BSD open(2) manpage continues to say nothing about this). So BSD's traditional behavior was introduced at the same time as processes being in multiple groups, and we can guess that it was introduced as part of that change.<br>
When your process can only be in a single group, as in V7, it makes perfect sense to create new filesystem objects with that as their group. It's basically the same case as making new filesystem objects be owned by you; just as they get your UID, they also get your GID. When your process can be in multiple groups, things get less clear. A filesystem object can only be in one group, so which of your several groups should a new filesystem object be owned by, and how can you most conveniently change that choice?<br>
One option is to have some notion of a 'primary group' and then provide ways to shuffle around which of your groups is the primary group.<br>
Another option is the BSD choice of inheriting the group from context. By far the most common case is that you want your new files and directories to be created in the 'context', ie the group, of the surrounding directory.<br>
If you fully embrace the idea of Unix processes being in multiple groups, not just having one primary group and then some number of secondary groups, then the BSD choice makes a lot of sense. And for all of its faults, BSD tended to relatively fully embrace its changes <br>
While it leads to some odd issues, such as the one I ran into, pretty much any choice here is going to have some oddities.</p>

<hr>
</blockquote>

<h3><a href="http://www.shellguardians.com/2017/05/centrally-managed-bhyve-infrastructure.html" target="_blank" rel="nofollow noopener">Centrally managed Bhyve infrastructure with Ansible, libvirt and pkg-ssh</a></h3>

<blockquote>
<p>At work we've been using Bhyve for a while to run non-critical systems.  It is a really nice and stable hypervisor even though we are using an earlier version available on FreeBSD 10.3. This means we lack Windows and VNC support among other things, but it is not a big deal.<br>
After some iterations in our internal tools, we realised that the installation process was too slow and we always repeated the same steps. Of course,  any good sysadmin will scream "AUTOMATION!" and so did we. Therefore, we started looking for different ways to improve our deployments.<br>
We had a look at existing frameworks that manage Bhyve, but none of them had a feature that we find really important: having a centralized repository of VM images. For instance, SmartOS applies this method successfully by having a backend server that stores a catalog of VMs and Zones, meaning that new instances can be deployed in a minute at most. This is a game changer if you are really busy in your day-to-day operations.</p>
</blockquote>

<ul>
<li>The following building blocks are used:

<ul>
<li>The ZFS snapshot of an existing VM. This will be our VM template.</li>
<li>A modified version of oneoff-pkg-create to package the ZFS snapshots.</li>
<li>pkg-ssh  and pkg-repo to host a local FreeBSD repo in a FreeBSD jail.</li>
<li>libvirt to manage our Bhyve VMs.</li>
<li>The ansible modules virt, virt_net and virt_pool.</li>
</ul></li>
</ul>

<blockquote>
<p>Once automated, the installation process needs 2 minutes at most, compared with the 30 minutes needed to manually install VM plus allowing us to deploy many guests in parallel.</p>

<hr>
</blockquote>

<h3><a href="https://blog.netbsd.org/tnf/entry/netbsd_maintainer_in_the_qemu" target="_blank" rel="nofollow noopener">NetBSD maintainer in the QEMU project</a></h3>

<blockquote>
<p>QEMU - the FAST! processor emulator - is a generic, Open Source, machine emulator and virtualizer. It defines state of the art in modern virtualization.<br>
This software has been developed for multiplatform environments with support for NetBSD since virtually forever. It's the primary tool used by the NetBSD developers and release engineering team. It is run with continuous integration tests for daily commits and execute regression tests through the Automatic Test Framework (ATF).<br>
The QEMU developers warned the Open Source community - with version 2.9 of the emulator - that they will eventually drop support for suboptimally supported hosts if nobody will step in and take the maintainership to refresh the support. This warning was directed to major BSDs, Solaris, AIX and Haiku.<br>
Thankfully the NetBSD position has been filled - making NetBSD to restore official maintenance.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170510012526&amp;mode=flat&amp;count=0" target="_blank" rel="nofollow noopener">OpenBSD Community Goes Gold</a></li>
<li><a href="https://www.meetup.com/CharmBUG/events/238218840/" target="_blank" rel="nofollow noopener">CharmBUG’s Tor Hack-a-thon has been pushed back to July due to scheduling difficulties</a></li>
<li><a href="https://www.haiku-os.org/blog/vivek/2017-05-05_%5Bgsoc_2017%5D_3d_hardware_acceleration_in_haiku/" target="_blank" rel="nofollow noopener">Direct Rendering Manager (DRM) Driver for i915, from the Linux kernel to Haiku with the help of DragonflyBSD’s Linux Compatibility layer</a></li>
<li><a href="https://twitter.com/bsdlme/status/863488045449977864" target="_blank" rel="nofollow noopener">TomTom lists OpenBSD in license</a></li>
<li><a href="https://mail-index.netbsd.org/regional-london/2017/05/02/msg000571.html" target="_blank" rel="nofollow noopener">London Net BSD Meetup on May 22nd</a></li>
<li><a href="http://knoxbug.org/2017-05-30" target="_blank" rel="nofollow noopener">KnoxBUG meeting May 30th, 2017 - Introduction to FreeNAS</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/35EWVGZ#wrap" target="_blank" rel="nofollow noopener">Felix - Home Firewall</a></li>
<li><a href="http://dpaste.com/0H51NX2#wrap" target="_blank" rel="nofollow noopener">David - Docker Recipes for Jails</a></li>
<li><a href="http://dpaste.com/2VZ7S8K#wrap" target="_blank" rel="nofollow noopener">Don - GoLang &amp; Rust</a></li>
<li><a href="http://dpaste.com/2A1FZF3#wrap" target="_blank" rel="nofollow noopener">George - OGG feed</a></li>
<li><a href="http://dpaste.com/3D2B6J3#wrap" target="_blank" rel="nofollow noopener">Roller - BSDCan Tips</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>193: Fire up the 802.11 AC</title>
  <link>https://www.bsdnow.tv/193</link>
  <guid isPermaLink="false">8cdacddb-11e3-4225-8039-b51eba86a375</guid>
  <pubDate>Wed, 10 May 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/8cdacddb-11e3-4225-8039-b51eba86a375.mp3" length="90794164" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This week on BSD Now, Adrian Chadd on bringing up 802.11ac in FreeBSD, a PFsense and OpenVPN tutorial, and we talk about an interesting ZFS storage pool checkpoint project.</itunes:subtitle>
  <itunes:duration>2:06:06</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>&lt;p&gt;This week on BSD Now, Adrian Chadd on bringing up 802.11ac in FreeBSD, a PFsense and OpenVPN tutorial, and we talk about an interesting ZFS storage pool checkpoint project.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://adrianchadd.blogspot.com/2017/04/bringing-up-80211ac-on-freebsd.html" target="_blank" rel="nofollow noopener"&gt;Bringing up 802.11ac on FreeBSD&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Adrian Chadd has a new blog post about his work to bring 802.11ac support to FreeBSD&lt;/li&gt;
&lt;li&gt;802.11ac allows for speeds up to 500mbps and total bandwidth into multiple gigabits&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The FreeBSD net80211 stack has reasonably good 802.11n support, but no 802.11ac support. I decided a while ago to start adding basic 802.11ac support. It was a good exercise in figuring out what the minimum set of required features are and another excuse to go find some of the broken corner cases in net80211 that needed addressing.&lt;br&gt;
802.11ac introduces a few new concepts that the stack needs to understand. I decided to use the QCA 802.11ac parts because (a) I know the firmware and general chip stuff from the first generation 11ac parts well, and (b) I know that it does a bunch of stuff (like rate control, packet scheduling, etc) so I don't have to do it. If I chose, say, the Intel 11ac parts then I'd have to implement a lot more of the fiddly stuff to get good behaviour.&lt;br&gt;
Step one - adding VHT channels. I decided in the shorter term to cheat and just add VHT channels to the already very large ieee80211_channel map. The linux way of there being a channel context rather than hundreds of static channels to choose from is better in the long run, but I wanted to get things up and running. So, that's what I did first - I added VHT flags for 20, 40, 80, 80+80 and 160MHz operating modes and I did the bare work required to populate the channel lists with VHT channels as well.&lt;br&gt;
Then I needed to glue it into an 11ac driver. My ath10k port was far enough along to attempt this, so I added enough glue to say "I support VHT" to the ic_caps field and propagated it to the driver for monitor mode configuration. And yes, after a bit of dancing, I managed to get a VHT channel to show up in ath10k in monitor mode and could capture 80MHz wide packets. Success!&lt;/p&gt;

&lt;p&gt;By far the most fiddly was getting channel promotion to work. net80211 supports the concept of dumb NICs (like atheros 11abgn parts) very well, where you can have multiple virtual interfaces but the "driver" view of the right configuration is what's programmed into the hardware. For firmware NICs which do this themselves (like basically everything sold today) this isn't exactly all that helpful. So, for now, it's limited to a single VAP, and the VAP configuration is partially derived from the global state and partially derived from the negotiated state. It's annoying, but it is adding to the list of things I will have to fix later.&lt;br&gt;
the QCA chips/firmware do 802.11 crypto offload. They actually pretend that there's no key - you don't include the IV, you don't include padding, or anything. You send commands to set the crypto keys and then you send unencrypted 802.11 frames (or 802.3 frames if you want to do ethernet only.) This means that I had to teach net80211 a few things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;frames decrypted by the hardware needed to have a "I'm decrypted" bit set, because the 802.11 header field saying "I'm decrypted!" is cleared&lt;/li&gt;
&lt;li&gt;frames encrypted don't have the "i'm encrypted" bit set&lt;/li&gt;
&lt;li&gt;frames encrypted/decrypted have no padding, so I needed to teach the input path and crypto paths to not validate those if the hardware said "we offload it all."
Now comes the hard bit of fixing the shortcomings before I can commit the driver. There are .. lots. The first one is the global state. The ath10k firmware allows what they call 'vdevs' (virtual devices) - for example, multiple SSID/BSSID support is implemented with multiple vdevs. STA+WDS is implemented with vdevs. STA+P2P is implemented with vdevs. So, technically speaking I should go and find all of the global state that should really be per-vdev and make it per-vdev. This is tricky though, because a lot of the state isn't kept per-VAP even though it should be.
Anyway, so far so good. I need to do some of the above and land it in FreeBSD-HEAD so I can finish off the ath10k port and commit what I have to FreeBSD. There's a lot of stuff coming - including all of the wave-2 stuff (like multiuser MIMO / MU-MIMO) which I just plainly haven't talked about yet. Viva la FreeBSD wireless!
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://www.terrafoundry.net/blog/2017/04/12/pfsense-openvpn/" target="_blank" rel="nofollow noopener"&gt;pfSense and OpenVPN Routing&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;This article tries to be a simple guide on how to enable your home (or small office) [&lt;a href="https://www.pfsense.org/%5D(pfSense)" target="_blank" rel="nofollow noopener"&gt;https://www.pfsense.org/](pfSense)&lt;/a&gt; setup to route some traffic via the vanilla Internet, and some via a VPN site that you’ve setup in a remote location.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Reasons to Setup a VPN:

&lt;ul&gt;
&lt;li&gt;Control&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;Privacy&lt;/li&gt;
&lt;li&gt;Fun&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;VPNs do not instantly guarantee privacy, they’re a layer, as with any other measure you might invoke. In this example I used a server that’s directly under my name. Sure, it was a country with strict privacy laws, but that doesn’t mean that the outgoing IP address wouldn’t be logged somewhere down the line.&lt;br&gt;
There’s also no reason you have to use your own OpenVPN install, there are many, many personal providers out there, who can offer the same functionality, and a degree of anonymity. (If you and a hundred other people are all coming from one IP, it becomes extremely difficult to differentiate, some VPN providers even claim a ‘logless’ setup.)&lt;br&gt;
VPNs can be slow. The reason I have a split-setup in this article, is because there are devices that I want to connect to the internet quickly, and that I’m never doing sensitive things on, like banking. I don’t mind if my Reddit-browsing and IRC messages are a bit slower, but my Nintendo Switch and PS4 should have a nippy connection.&lt;br&gt;
Services like Netflix can and do block VPN traffic in some cases. This is more of an issue for wider VPN providers (I suspect, but have no proof, that they just blanket block known VPN IP addresses.)&lt;br&gt;
If your VPN is in another country, search results and tracking can be skewed. This is arguable a good thing, who wants to be tracked? But it can also lead to frustration if your DuckDuckGo results are tailored to the middle of Paris, rather than your flat in Birmingham.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The tutorial walks through the basic setup: Labeling the interfaces, configuring DHCP, creating a VPN:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Now that we have our OpenVPN connection set up, we’ll double check that we’ve got our interfaces assigned&lt;br&gt;
With any luck (after we’ve assigned our OPENVPN connection correctly, you should now see your new Virtual Interface on the pfSense Dashboard&lt;br&gt;
We’re charging full steam towards the sections that start to lose people. Don’t be disheartened if you’ve had a few issues up to now, there is no “right” way to set up a VPN installation, and it may be that you have to tweak a few things and dive into a few man-pages before you’re set up.&lt;br&gt;
NAT is tricky, and frankly it only exists because we stretched out IPv4 for much longer than we should have. That being said it’s a necessary evil in this day and age, so let’s set up our connection to work with it.&lt;br&gt;
We need NAT here because we’re going to masque our machines on the LAN interface to show as coming from the OpenVPN client IP address, to the OpenVPN server.  Head over to Firewall -&amp;gt; NAT -&amp;gt; Outbound.&lt;br&gt;
The first thing we need to do in this section, is to change the Outbound NAT Mode to something we can work with, in this case “Hybrid.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Configure the LAN interface to be NAT’d to the OpenVPN address, and the INSECURE interface to use your regular ISP connection&lt;/li&gt;
&lt;li&gt;Configure the firewall to allow traffic from the LAN network to reach the INSECURE network&lt;/li&gt;
&lt;li&gt;Then add a second rule allowing traffic from the LAN network to any address, and set the gateway the the OPENVPN connection&lt;/li&gt;
&lt;li&gt;And there you have it, traffic from the LAN is routed via the VPN, and traffic from the INSECURE network uses the naked internet connection
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://mndrix.blogspot.co.uk/2017/05/switching-to-openbsd.html" target="_blank" rel="nofollow noopener"&gt;Switching to OpenBSD&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;After 12 years, I switched from macOS to OpenBSD.  It's clean, focused, stable, consistent and lets me get my work done without any hassle.&lt;br&gt;
When I first became interested in computers, I thought operating systems were fascinating. For years I would reinstall an operating system every other weekend just to try a different configuration: MS-DOS 3.3, Windows 3.0, Linux 1.0 (countless hours recompiling kernels).  In high school, I settled down and ran OS/2 for 5 years until I graduated college. I switched to Linux after college and used it exclusively for 5 years. I got tired of configuring Linux, so I switched to OS X for the next 12 years, where things just worked.&lt;br&gt;
But Snow Leopard was 7 years ago. These days, OS X is like running a denial of service attack against myself.  macOS has a dozen apps I don't use but can't remove. Updating them requires a restart.  Frequent updates to the browser require a restart.  A minor XCode update requires me to download a 4.3 GB file.  My monitors frequently turn off and require a restart to fix.  A system's &lt;a href="http://techthoughts.typepad.com/managing_computers/2007/11/availability-mt.html" target="_blank" rel="nofollow noopener"&gt;availability is a function&lt;/a&gt; of mean time between failure and mean time to repair.  For macOS, both numbers are heading in the wrong direction for me. I don't hold any hard feelings about it, but it's time for me to get off this OS and back to productive work.&lt;br&gt;
I found OpenBSD very refreshing, so I created a bootable thumb drive and within an hour had it up and running on a two-year old laptop.  I've been using it for my daily work for the past two weeks and it's been great.  Simple, boring and productive.  Just the way I like it.  The documentation is fantastic.  I've been using Unix for years and have learned quite a bit just by reading their man pages.  OS releases come like clockwork every 6 months and are supported for 12.  Security and other updates seem relatively rare between releases (roughly one small patch per week during 6.0).  With syspatch in 6.1, installing them should be really easy too.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://sdimitro.github.io/post/zpool-checkpoint" target="_blank" rel="nofollow noopener"&gt;ZFS Storage Pool Checkpoint Project&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;During the OpenZFS summit last year (2016), Dan Kimmel and I quickly hacked together the zpool checkpoint command in ZFS, which allows reverting an entire pool to a previous state. Since it was just for a hackathon, our design was bare bones and our implementation far from complete. Around a month later, we had a new and almost complete design within Delphix and I was able to start the implementation on my own. I completed the implementation last month, and we’re now running regression tests, so I decided to write this blog post explaining what a storage pool checkpoint is, why we need it within Delphix, and how to use it.&lt;br&gt;
The Delphix product is basically a VM running DelphixOS (a derivative of illumos) with our application stack on top of it. During an upgrade, the VM reboots into the new OS bits and then runs some scripts that update the environment (directories, snapshots, open connections, etc.) for the new version of our app stack. Software being software, failures can happen at different points during the upgrade process. When an upgrade script that makes changes to ZFS fails, we have a corresponding rollback script that attempts to bring ZFS and our app stack back to their previous state. This is very tricky as we need to undo every single modification applied to ZFS (including dataset creation and renaming, or enabling new zpool features).&lt;br&gt;
The idea of Storage Pool Checkpoint (aka zpool checkpoint) deals with exactly that. It can be thought of as a “pool-wide snapshot” (or a variation of extreme rewind that doesn’t corrupt your data). It remembers the entire state of the pool at the point that it was taken and the user can revert back to it later or discard it. Its generic use case is an administrator that is about to perform a set of destructive actions to ZFS as part of a critical procedure. She takes a checkpoint of the pool before performing the actions, then rewinds back to it if one of them fails or puts the pool into an unexpected state. Otherwise, she discards it. With the assumption that no one else is making modifications to ZFS, she basically wraps all these actions into a “high-level transaction”.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;I definitely see value in this for the appliance use case&lt;/li&gt;
&lt;li&gt;Some usage examples follow, along with some caveats.&lt;/li&gt;
&lt;li&gt;One of the restrictions is that you cannot attach, detach, or remove a device while a checkpoint exists. However, the zpool add operation is still possible, however if you roll back to the checkpoint, the device will no longer be part of the pool. Rather than a shortcoming, this seems like a nice feature, a way to help users avoid the most common foot shooting (which I witnessed in person at Linux Fest), adding a new log or cache device, but missing a keyword and adding it is a storage vdev rather than a aux vdev. This operation could simply be undone if a checkpoint where taken before the device was added.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://distrowatch.com/weekly.php?issue=20170501#trueos" target="_blank" rel="nofollow noopener"&gt;Review of TrueOS&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;TrueOS, which was formerly named PC-BSD, is a FreeBSD-based operating system. TrueOS is a rolling release platform which is based on FreeBSD's "CURRENT" branch, providing TrueOS with the latest drivers and features from FreeBSD. Apart from the name change, TrueOS has deviated from the old PC-BSD project in a number of ways. The system installer is now more streamlined (and I will touch on that later) and TrueOS is a rolling release platform while PC-BSD defaulted to point releases. Another change is PC-BSD used to allow the user to customize which software was installed at boot time, including the desktop environment. The TrueOS project now selects a minimal amount of software for the user and defaults to using the Lumina desktop environment.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;From the conclusions:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;What I took away from my time with TrueOS is that the project is different in a lot of ways from PC-BSD. Much more than just the name has changed. The system is now more focused on cutting edge software and features in FreeBSD's development branch. The install process has been streamlined and the user begins with a set of default software rather than selecting desired packages during the initial setup. The configuration tools, particularly the Control Panel and AppCafe, have changed a lot in the past year. The designs have a more flat, minimal look. It used to be that PC-BSD did not have a default desktop exactly, but there tended to be a focus on KDE. With TrueOS the project's in-house desktop, Lumina, serves as the default environment and I think it holds up fairly well.&lt;br&gt;
In all, I think TrueOS offers a convenient way to experiment with new FreeBSD technologies and ZFS. I also think people who want to run FreeBSD on a desktop computer may want to look at TrueOS as it sets up a graphical environment automatically. However, people who want a stable desktop platform with lots of applications available out of the box may not find what they want with this project.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.davd.eu/install-ubuntu-on-freebsd-with-bhyve/" target="_blank" rel="nofollow noopener"&gt;A simple guide to install Ubuntu on FreeBSD with byhve&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;David Prandzioch writes in his blog:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;For some reasons I needed a Linux installation on my NAS. bhyve is a lightweight virtualization solution for FreeBSD that makes that easy and efficient. However, the CLI of bhyve is somewhat bulky and bare making it hard to use, especially for the first time. This is what vm-bhyve solves - it provides a simple CLI for working with virtual machines.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;More details follow about what steps are needed to setup vm_bhyve on FreeBSD &lt;/li&gt;
&lt;li&gt;Also check out his other tutorials on his blog: &lt;a href="https://www.davd.eu/freebsd/" target="_blank" rel="nofollow noopener"&gt;https://www.davd.eu/freebsd/&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://dspinellis.github.io/unix-architecture/arch.pdf" target="_blank" rel="nofollow noopener"&gt;Graphical Overview of the Architecture of FreeBSD &lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This diagram tries to show the different components that make up the FreeBSD Operating Systems&lt;/li&gt;
&lt;li&gt;It breaks down the various utilities, libraries, and components into some categories and sub-categories:&lt;/li&gt;
&lt;li&gt;User Commands:

&lt;ul&gt;
&lt;li&gt;Development (cc, ld, nm, as, etc)&lt;/li&gt;
&lt;li&gt;File Management (ls, cp, cmp, mkdir)&lt;/li&gt;
&lt;li&gt;Multiuser Commands (login, chown, su, who)&lt;/li&gt;
&lt;li&gt;Number Processing (bc, dc, units, expr)&lt;/li&gt;
&lt;li&gt;Text Processing (cut, grep, sort, uniq, wc)&lt;/li&gt;
&lt;li&gt;User Messaging (mail, mesg, write, talk)&lt;/li&gt;
&lt;li&gt;Little Languages (sed, awk, m4)&lt;/li&gt;
&lt;li&gt;Network Clients (ftp, scp, fetch)&lt;/li&gt;
&lt;li&gt;Document Preparation (*roff, eqn, tbl, refer)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Administrator and System Commands

&lt;ul&gt;
&lt;li&gt;Filesystem Management (fsck, newfs, gpart, mount, umount)&lt;/li&gt;
&lt;li&gt;Networking (ifconfig, route, arp)&lt;/li&gt;
&lt;li&gt;User Management (adduser, pw, vipw, sa, quota*)&lt;/li&gt;
&lt;li&gt;Statistics (iostat, vmstat, pstat, gstat, top)&lt;/li&gt;
&lt;li&gt;Network Servers (sshd, ftpd, ntpd, routed, rpc.*)&lt;/li&gt;
&lt;li&gt;Scheduling (cron, periodic, rc.*, atrun)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Libraries (C Standard, Operating System, Peripheral Access, System File Access, Data Handling, Security, Internationalization, Threads)&lt;/li&gt;
&lt;li&gt;System Call Interface (File I/O, Mountable Filesystems, File ACLs, File Permissions, Processes, Process Tracing, IPC, Memory Mapping, Shared Memory, Kernel Events, Memory Locking, Capsicum, Auditing, Jails)&lt;/li&gt;
&lt;li&gt;Bootstrapping (Loaders, Configuration, Kernel Modules)&lt;/li&gt;
&lt;li&gt;Kernel Utility Functions

&lt;ul&gt;
&lt;li&gt;Privilege Management (acl, mac, priv)&lt;/li&gt;
&lt;li&gt;Multitasking (kproc, kthread, taskqueue, swi, ithread)&lt;/li&gt;
&lt;li&gt;Memory Management (vmem, uma, pbuf, sbuf, mbuf, mbchain, malloc/free)&lt;/li&gt;
&lt;li&gt;Generic (nvlist, osd, socket, mbuf_tags, bitset)&lt;/li&gt;
&lt;li&gt;Virtualization (cpuset, crypto, device, devclass, driver)&lt;/li&gt;
&lt;li&gt;Synchronization (&lt;em&gt;lock, sx, sema, mutex, condvar_&lt;/em&gt;, atomic_*, signal)&lt;/li&gt;
&lt;li&gt;Operations (sysctl, dtrace, watchdog, stack, alq, ktr, panic)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;I/O Subsystem

&lt;ul&gt;
&lt;li&gt;Special Devices (line discipline, tty, raw character, raw disk)&lt;/li&gt;
&lt;li&gt;Filesystems (UFS, FFS, NFS, CD9660, Ext2, UDF, ZFS, devfs, procfs)&lt;/li&gt;
&lt;li&gt;Sockets&lt;/li&gt;
&lt;li&gt;Network Protocols (TCP, UDP, UCMP, IPSec,  IP4, IP6)&lt;/li&gt;
&lt;li&gt;Netgraph (50+ modules)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Drivers and Abstractions

&lt;ul&gt;
&lt;li&gt;Character Devices&lt;/li&gt;
&lt;li&gt;CAM (ATA, SATA, SAS, SPI)&lt;/li&gt;
&lt;li&gt;Network Interface Drivers (802.11, if_ae, 100+, if_xl, NDIS)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;GEOM

&lt;ul&gt;
&lt;li&gt;Storage (stripe, mirror, raid3, raid5, concat)&lt;/li&gt;
&lt;li&gt;Encryption / Compression (eli, bde, shsec, uzip)&lt;/li&gt;
&lt;li&gt;Filesystem (label, journal, cache, mbr, bsd)&lt;/li&gt;
&lt;li&gt;Virtualization (md, nop, gate, virtstor)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Process Control Subsystems

&lt;ul&gt;
&lt;li&gt;Scheduler&lt;/li&gt;
&lt;li&gt;Memory Management&lt;/li&gt;
&lt;li&gt;Inter-process Communication&lt;/li&gt;
&lt;li&gt;Debugging Support
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170503203426&amp;amp;mode=expanded" target="_blank" rel="nofollow noopener"&gt;Official OpenBSD 6.1 CD - There's only One!&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.ebay.com/itm/The-only-Official-OpenBSD-6-1-CD-set-to-be-made-For-auction-for-the-project-/252910718452" target="_blank" rel="nofollow noopener"&gt;Ebay auction Link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Now it turns out that in fact, exactly one CD set was made, and it can be yours if you are the successful bidder in the auction that ends on May 13, 2017 (About 3 days from when this episode was recorded).&lt;/li&gt;
&lt;li&gt;The CD set is hand made and signed by Theo de Raadt.&lt;/li&gt;
&lt;li&gt;Fun Fact: The winning bidder will have an OpenBSD CD set that even Theo doesn't have.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.openbsd.org/want.html" target="_blank" rel="nofollow noopener"&gt;Hardware Wanted by OpenBSD developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.freebsd.org/donations/index.html#components" target="_blank" rel="nofollow noopener"&gt;Donate hardware to FreeBSD developers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.netbsd.org/tnf/entry/announcing_netbsd_and_the_google" target="_blank" rel="nofollow noopener"&gt;Announcing NetBSD and the Google Summer of Code Projects 2017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/SummerOfCode2017Projects" target="_blank" rel="nofollow noopener"&gt;Announcing FreeBSD GSoC 2017 Projects &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.5.4-relnotes.txt" target="_blank" rel="nofollow noopener"&gt;LibreSSL 2.5.4 Released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/CharmBUG/events/238218840/" target="_blank" rel="nofollow noopener"&gt;CharmBUG Meeting - Tor Browser Bundle Hack-a-thon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/netbsd-advocacy/2017/05/01/msg000735.html" target="_blank" rel="nofollow noopener"&gt;pkgsrcCon 2017 CFT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blather.michaelwlucas.com/archives/2931" target="_blank" rel="nofollow noopener"&gt;Experimental Price Cuts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=x6VznQz3VEY" target="_blank" rel="nofollow noopener"&gt;Linux Fest North West 2017: Three Generations of FreeNAS: The World’s most popular storage OS turns 12&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2AXX75X#wrap" target="_blank" rel="nofollow noopener"&gt;Don - Reproducible builds &amp;amp; gcc/clang&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0FJ854X#wrap" target="_blank" rel="nofollow noopener"&gt;architect - C development on BSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2CCK2WF#wrap" target="_blank" rel="nofollow noopener"&gt;David - Linux ABI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2Z25FKJ#wrap" target="_blank" rel="nofollow noopener"&gt;Tom - ZFS&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.delphix.com/blog/delphix-engineering/zfs-raidz-stripe-width-or-how-i-learned-stop-worrying-and-love-raidz" target="_blank" rel="nofollow noopener"&gt;RAIDZ Stripe Width Myth, Busted&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1Z173WA#wrap" target="_blank" rel="nofollow noopener"&gt;Ivan - Jails&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This week on BSD Now, Adrian Chadd on bringing up 802.11ac in FreeBSD, a PFsense and OpenVPN tutorial, and we talk about an interesting ZFS storage pool checkpoint project.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://adrianchadd.blogspot.com/2017/04/bringing-up-80211ac-on-freebsd.html" target="_blank" rel="nofollow noopener">Bringing up 802.11ac on FreeBSD</a></h3>

<ul>
<li>Adrian Chadd has a new blog post about his work to bring 802.11ac support to FreeBSD</li>
<li>802.11ac allows for speeds up to 500mbps and total bandwidth into multiple gigabits</li>
</ul>

<blockquote>
<p>The FreeBSD net80211 stack has reasonably good 802.11n support, but no 802.11ac support. I decided a while ago to start adding basic 802.11ac support. It was a good exercise in figuring out what the minimum set of required features are and another excuse to go find some of the broken corner cases in net80211 that needed addressing.<br>
802.11ac introduces a few new concepts that the stack needs to understand. I decided to use the QCA 802.11ac parts because (a) I know the firmware and general chip stuff from the first generation 11ac parts well, and (b) I know that it does a bunch of stuff (like rate control, packet scheduling, etc) so I don't have to do it. If I chose, say, the Intel 11ac parts then I'd have to implement a lot more of the fiddly stuff to get good behaviour.<br>
Step one - adding VHT channels. I decided in the shorter term to cheat and just add VHT channels to the already very large ieee80211_channel map. The linux way of there being a channel context rather than hundreds of static channels to choose from is better in the long run, but I wanted to get things up and running. So, that's what I did first - I added VHT flags for 20, 40, 80, 80+80 and 160MHz operating modes and I did the bare work required to populate the channel lists with VHT channels as well.<br>
Then I needed to glue it into an 11ac driver. My ath10k port was far enough along to attempt this, so I added enough glue to say "I support VHT" to the ic_caps field and propagated it to the driver for monitor mode configuration. And yes, after a bit of dancing, I managed to get a VHT channel to show up in ath10k in monitor mode and could capture 80MHz wide packets. Success!</p>

<p>By far the most fiddly was getting channel promotion to work. net80211 supports the concept of dumb NICs (like atheros 11abgn parts) very well, where you can have multiple virtual interfaces but the "driver" view of the right configuration is what's programmed into the hardware. For firmware NICs which do this themselves (like basically everything sold today) this isn't exactly all that helpful. So, for now, it's limited to a single VAP, and the VAP configuration is partially derived from the global state and partially derived from the negotiated state. It's annoying, but it is adding to the list of things I will have to fix later.<br>
the QCA chips/firmware do 802.11 crypto offload. They actually pretend that there's no key - you don't include the IV, you don't include padding, or anything. You send commands to set the crypto keys and then you send unencrypted 802.11 frames (or 802.3 frames if you want to do ethernet only.) This means that I had to teach net80211 a few things:</p>

<ul>
<li>frames decrypted by the hardware needed to have a "I'm decrypted" bit set, because the 802.11 header field saying "I'm decrypted!" is cleared</li>
<li>frames encrypted don't have the "i'm encrypted" bit set</li>
<li>frames encrypted/decrypted have no padding, so I needed to teach the input path and crypto paths to not validate those if the hardware said "we offload it all."
Now comes the hard bit of fixing the shortcomings before I can commit the driver. There are .. lots. The first one is the global state. The ath10k firmware allows what they call 'vdevs' (virtual devices) - for example, multiple SSID/BSSID support is implemented with multiple vdevs. STA+WDS is implemented with vdevs. STA+P2P is implemented with vdevs. So, technically speaking I should go and find all of the global state that should really be per-vdev and make it per-vdev. This is tricky though, because a lot of the state isn't kept per-VAP even though it should be.
Anyway, so far so good. I need to do some of the above and land it in FreeBSD-HEAD so I can finish off the ath10k port and commit what I have to FreeBSD. There's a lot of stuff coming - including all of the wave-2 stuff (like multiuser MIMO / MU-MIMO) which I just plainly haven't talked about yet. Viva la FreeBSD wireless!
***</li>
</ul>
</blockquote>

<h3><a href="http://www.terrafoundry.net/blog/2017/04/12/pfsense-openvpn/" target="_blank" rel="nofollow noopener">pfSense and OpenVPN Routing</a></h3>

<blockquote>
<p>This article tries to be a simple guide on how to enable your home (or small office) [<a href="https://www.pfsense.org/%5D(pfSense)" target="_blank" rel="nofollow noopener">https://www.pfsense.org/](pfSense)</a> setup to route some traffic via the vanilla Internet, and some via a VPN site that you’ve setup in a remote location.</p>
</blockquote>

<ul>
<li>Reasons to Setup a VPN:

<ul>
<li>Control</li>
<li>Security</li>
<li>Privacy</li>
<li>Fun</li>
</ul></li>
</ul>

<blockquote>
<p>VPNs do not instantly guarantee privacy, they’re a layer, as with any other measure you might invoke. In this example I used a server that’s directly under my name. Sure, it was a country with strict privacy laws, but that doesn’t mean that the outgoing IP address wouldn’t be logged somewhere down the line.<br>
There’s also no reason you have to use your own OpenVPN install, there are many, many personal providers out there, who can offer the same functionality, and a degree of anonymity. (If you and a hundred other people are all coming from one IP, it becomes extremely difficult to differentiate, some VPN providers even claim a ‘logless’ setup.)<br>
VPNs can be slow. The reason I have a split-setup in this article, is because there are devices that I want to connect to the internet quickly, and that I’m never doing sensitive things on, like banking. I don’t mind if my Reddit-browsing and IRC messages are a bit slower, but my Nintendo Switch and PS4 should have a nippy connection.<br>
Services like Netflix can and do block VPN traffic in some cases. This is more of an issue for wider VPN providers (I suspect, but have no proof, that they just blanket block known VPN IP addresses.)<br>
If your VPN is in another country, search results and tracking can be skewed. This is arguable a good thing, who wants to be tracked? But it can also lead to frustration if your DuckDuckGo results are tailored to the middle of Paris, rather than your flat in Birmingham.</p>
</blockquote>

<ul>
<li>The tutorial walks through the basic setup: Labeling the interfaces, configuring DHCP, creating a VPN:</li>
</ul>

<blockquote>
<p>Now that we have our OpenVPN connection set up, we’ll double check that we’ve got our interfaces assigned<br>
With any luck (after we’ve assigned our OPENVPN connection correctly, you should now see your new Virtual Interface on the pfSense Dashboard<br>
We’re charging full steam towards the sections that start to lose people. Don’t be disheartened if you’ve had a few issues up to now, there is no “right” way to set up a VPN installation, and it may be that you have to tweak a few things and dive into a few man-pages before you’re set up.<br>
NAT is tricky, and frankly it only exists because we stretched out IPv4 for much longer than we should have. That being said it’s a necessary evil in this day and age, so let’s set up our connection to work with it.<br>
We need NAT here because we’re going to masque our machines on the LAN interface to show as coming from the OpenVPN client IP address, to the OpenVPN server.  Head over to Firewall -&gt; NAT -&gt; Outbound.<br>
The first thing we need to do in this section, is to change the Outbound NAT Mode to something we can work with, in this case “Hybrid.”</p>
</blockquote>

<ul>
<li>Configure the LAN interface to be NAT’d to the OpenVPN address, and the INSECURE interface to use your regular ISP connection</li>
<li>Configure the firewall to allow traffic from the LAN network to reach the INSECURE network</li>
<li>Then add a second rule allowing traffic from the LAN network to any address, and set the gateway the the OPENVPN connection</li>
<li>And there you have it, traffic from the LAN is routed via the VPN, and traffic from the INSECURE network uses the naked internet connection
***</li>
</ul>

<h3><a href="https://mndrix.blogspot.co.uk/2017/05/switching-to-openbsd.html" target="_blank" rel="nofollow noopener">Switching to OpenBSD</a></h3>

<blockquote>
<p>After 12 years, I switched from macOS to OpenBSD.  It's clean, focused, stable, consistent and lets me get my work done without any hassle.<br>
When I first became interested in computers, I thought operating systems were fascinating. For years I would reinstall an operating system every other weekend just to try a different configuration: MS-DOS 3.3, Windows 3.0, Linux 1.0 (countless hours recompiling kernels).  In high school, I settled down and ran OS/2 for 5 years until I graduated college. I switched to Linux after college and used it exclusively for 5 years. I got tired of configuring Linux, so I switched to OS X for the next 12 years, where things just worked.<br>
But Snow Leopard was 7 years ago. These days, OS X is like running a denial of service attack against myself.  macOS has a dozen apps I don't use but can't remove. Updating them requires a restart.  Frequent updates to the browser require a restart.  A minor XCode update requires me to download a 4.3 GB file.  My monitors frequently turn off and require a restart to fix.  A system's <a href="http://techthoughts.typepad.com/managing_computers/2007/11/availability-mt.html" target="_blank" rel="nofollow noopener">availability is a function</a> of mean time between failure and mean time to repair.  For macOS, both numbers are heading in the wrong direction for me. I don't hold any hard feelings about it, but it's time for me to get off this OS and back to productive work.<br>
I found OpenBSD very refreshing, so I created a bootable thumb drive and within an hour had it up and running on a two-year old laptop.  I've been using it for my daily work for the past two weeks and it's been great.  Simple, boring and productive.  Just the way I like it.  The documentation is fantastic.  I've been using Unix for years and have learned quite a bit just by reading their man pages.  OS releases come like clockwork every 6 months and are supported for 12.  Security and other updates seem relatively rare between releases (roughly one small patch per week during 6.0).  With syspatch in 6.1, installing them should be really easy too.</p>

<hr>
</blockquote>

<h3><a href="https://sdimitro.github.io/post/zpool-checkpoint" target="_blank" rel="nofollow noopener">ZFS Storage Pool Checkpoint Project</a></h3>

<blockquote>
<p>During the OpenZFS summit last year (2016), Dan Kimmel and I quickly hacked together the zpool checkpoint command in ZFS, which allows reverting an entire pool to a previous state. Since it was just for a hackathon, our design was bare bones and our implementation far from complete. Around a month later, we had a new and almost complete design within Delphix and I was able to start the implementation on my own. I completed the implementation last month, and we’re now running regression tests, so I decided to write this blog post explaining what a storage pool checkpoint is, why we need it within Delphix, and how to use it.<br>
The Delphix product is basically a VM running DelphixOS (a derivative of illumos) with our application stack on top of it. During an upgrade, the VM reboots into the new OS bits and then runs some scripts that update the environment (directories, snapshots, open connections, etc.) for the new version of our app stack. Software being software, failures can happen at different points during the upgrade process. When an upgrade script that makes changes to ZFS fails, we have a corresponding rollback script that attempts to bring ZFS and our app stack back to their previous state. This is very tricky as we need to undo every single modification applied to ZFS (including dataset creation and renaming, or enabling new zpool features).<br>
The idea of Storage Pool Checkpoint (aka zpool checkpoint) deals with exactly that. It can be thought of as a “pool-wide snapshot” (or a variation of extreme rewind that doesn’t corrupt your data). It remembers the entire state of the pool at the point that it was taken and the user can revert back to it later or discard it. Its generic use case is an administrator that is about to perform a set of destructive actions to ZFS as part of a critical procedure. She takes a checkpoint of the pool before performing the actions, then rewinds back to it if one of them fails or puts the pool into an unexpected state. Otherwise, she discards it. With the assumption that no one else is making modifications to ZFS, she basically wraps all these actions into a “high-level transaction”.</p>
</blockquote>

<ul>
<li>I definitely see value in this for the appliance use case</li>
<li>Some usage examples follow, along with some caveats.</li>
<li>One of the restrictions is that you cannot attach, detach, or remove a device while a checkpoint exists. However, the zpool add operation is still possible, however if you roll back to the checkpoint, the device will no longer be part of the pool. Rather than a shortcoming, this seems like a nice feature, a way to help users avoid the most common foot shooting (which I witnessed in person at Linux Fest), adding a new log or cache device, but missing a keyword and adding it is a storage vdev rather than a aux vdev. This operation could simply be undone if a checkpoint where taken before the device was added.
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://distrowatch.com/weekly.php?issue=20170501#trueos" target="_blank" rel="nofollow noopener">Review of TrueOS</a></h3>

<blockquote>
<p>TrueOS, which was formerly named PC-BSD, is a FreeBSD-based operating system. TrueOS is a rolling release platform which is based on FreeBSD's "CURRENT" branch, providing TrueOS with the latest drivers and features from FreeBSD. Apart from the name change, TrueOS has deviated from the old PC-BSD project in a number of ways. The system installer is now more streamlined (and I will touch on that later) and TrueOS is a rolling release platform while PC-BSD defaulted to point releases. Another change is PC-BSD used to allow the user to customize which software was installed at boot time, including the desktop environment. The TrueOS project now selects a minimal amount of software for the user and defaults to using the Lumina desktop environment.</p>
</blockquote>

<ul>
<li>From the conclusions:</li>
</ul>

<blockquote>
<p>What I took away from my time with TrueOS is that the project is different in a lot of ways from PC-BSD. Much more than just the name has changed. The system is now more focused on cutting edge software and features in FreeBSD's development branch. The install process has been streamlined and the user begins with a set of default software rather than selecting desired packages during the initial setup. The configuration tools, particularly the Control Panel and AppCafe, have changed a lot in the past year. The designs have a more flat, minimal look. It used to be that PC-BSD did not have a default desktop exactly, but there tended to be a focus on KDE. With TrueOS the project's in-house desktop, Lumina, serves as the default environment and I think it holds up fairly well.<br>
In all, I think TrueOS offers a convenient way to experiment with new FreeBSD technologies and ZFS. I also think people who want to run FreeBSD on a desktop computer may want to look at TrueOS as it sets up a graphical environment automatically. However, people who want a stable desktop platform with lots of applications available out of the box may not find what they want with this project.</p>

<hr>
</blockquote>

<h3><a href="https://www.davd.eu/install-ubuntu-on-freebsd-with-bhyve/" target="_blank" rel="nofollow noopener">A simple guide to install Ubuntu on FreeBSD with byhve</a></h3>

<ul>
<li>David Prandzioch writes in his blog:</li>
</ul>

<blockquote>
<p>For some reasons I needed a Linux installation on my NAS. bhyve is a lightweight virtualization solution for FreeBSD that makes that easy and efficient. However, the CLI of bhyve is somewhat bulky and bare making it hard to use, especially for the first time. This is what vm-bhyve solves - it provides a simple CLI for working with virtual machines.</p>
</blockquote>

<ul>
<li>More details follow about what steps are needed to setup vm_bhyve on FreeBSD </li>
<li>Also check out his other tutorials on his blog: <a href="https://www.davd.eu/freebsd/" target="_blank" rel="nofollow noopener">https://www.davd.eu/freebsd/</a>
***</li>
</ul>

<h3><a href="https://dspinellis.github.io/unix-architecture/arch.pdf" target="_blank" rel="nofollow noopener">Graphical Overview of the Architecture of FreeBSD </a></h3>

<ul>
<li>This diagram tries to show the different components that make up the FreeBSD Operating Systems</li>
<li>It breaks down the various utilities, libraries, and components into some categories and sub-categories:</li>
<li>User Commands:

<ul>
<li>Development (cc, ld, nm, as, etc)</li>
<li>File Management (ls, cp, cmp, mkdir)</li>
<li>Multiuser Commands (login, chown, su, who)</li>
<li>Number Processing (bc, dc, units, expr)</li>
<li>Text Processing (cut, grep, sort, uniq, wc)</li>
<li>User Messaging (mail, mesg, write, talk)</li>
<li>Little Languages (sed, awk, m4)</li>
<li>Network Clients (ftp, scp, fetch)</li>
<li>Document Preparation (*roff, eqn, tbl, refer)</li>
</ul></li>
<li>Administrator and System Commands

<ul>
<li>Filesystem Management (fsck, newfs, gpart, mount, umount)</li>
<li>Networking (ifconfig, route, arp)</li>
<li>User Management (adduser, pw, vipw, sa, quota*)</li>
<li>Statistics (iostat, vmstat, pstat, gstat, top)</li>
<li>Network Servers (sshd, ftpd, ntpd, routed, rpc.*)</li>
<li>Scheduling (cron, periodic, rc.*, atrun)</li>
</ul></li>
<li>Libraries (C Standard, Operating System, Peripheral Access, System File Access, Data Handling, Security, Internationalization, Threads)</li>
<li>System Call Interface (File I/O, Mountable Filesystems, File ACLs, File Permissions, Processes, Process Tracing, IPC, Memory Mapping, Shared Memory, Kernel Events, Memory Locking, Capsicum, Auditing, Jails)</li>
<li>Bootstrapping (Loaders, Configuration, Kernel Modules)</li>
<li>Kernel Utility Functions

<ul>
<li>Privilege Management (acl, mac, priv)</li>
<li>Multitasking (kproc, kthread, taskqueue, swi, ithread)</li>
<li>Memory Management (vmem, uma, pbuf, sbuf, mbuf, mbchain, malloc/free)</li>
<li>Generic (nvlist, osd, socket, mbuf_tags, bitset)</li>
<li>Virtualization (cpuset, crypto, device, devclass, driver)</li>
<li>Synchronization (<em>lock, sx, sema, mutex, condvar_</em>, atomic_*, signal)</li>
<li>Operations (sysctl, dtrace, watchdog, stack, alq, ktr, panic)</li>
</ul></li>
<li>I/O Subsystem

<ul>
<li>Special Devices (line discipline, tty, raw character, raw disk)</li>
<li>Filesystems (UFS, FFS, NFS, CD9660, Ext2, UDF, ZFS, devfs, procfs)</li>
<li>Sockets</li>
<li>Network Protocols (TCP, UDP, UCMP, IPSec,  IP4, IP6)</li>
<li>Netgraph (50+ modules)</li>
</ul></li>
<li>Drivers and Abstractions

<ul>
<li>Character Devices</li>
<li>CAM (ATA, SATA, SAS, SPI)</li>
<li>Network Interface Drivers (802.11, if_ae, 100+, if_xl, NDIS)</li>
</ul></li>
<li>GEOM

<ul>
<li>Storage (stripe, mirror, raid3, raid5, concat)</li>
<li>Encryption / Compression (eli, bde, shsec, uzip)</li>
<li>Filesystem (label, journal, cache, mbr, bsd)</li>
<li>Virtualization (md, nop, gate, virtstor)</li>
</ul></li>
<li>Process Control Subsystems

<ul>
<li>Scheduler</li>
<li>Memory Management</li>
<li>Inter-process Communication</li>
<li>Debugging Support
***</li>
</ul></li>
</ul>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170503203426&amp;mode=expanded" target="_blank" rel="nofollow noopener">Official OpenBSD 6.1 CD - There's only One!</a></h3>

<ul>
<li><a href="http://www.ebay.com/itm/The-only-Official-OpenBSD-6-1-CD-set-to-be-made-For-auction-for-the-project-/252910718452" target="_blank" rel="nofollow noopener">Ebay auction Link</a></li>
<li>Now it turns out that in fact, exactly one CD set was made, and it can be yours if you are the successful bidder in the auction that ends on May 13, 2017 (About 3 days from when this episode was recorded).</li>
<li>The CD set is hand made and signed by Theo de Raadt.</li>
<li>Fun Fact: The winning bidder will have an OpenBSD CD set that even Theo doesn't have.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.openbsd.org/want.html" target="_blank" rel="nofollow noopener">Hardware Wanted by OpenBSD developers</a></li>
<li><a href="https://www.freebsd.org/donations/index.html#components" target="_blank" rel="nofollow noopener">Donate hardware to FreeBSD developers</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/announcing_netbsd_and_the_google" target="_blank" rel="nofollow noopener">Announcing NetBSD and the Google Summer of Code Projects 2017</a></li>
<li><a href="https://wiki.freebsd.org/SummerOfCode2017Projects" target="_blank" rel="nofollow noopener">Announcing FreeBSD GSoC 2017 Projects </a></li>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.5.4-relnotes.txt" target="_blank" rel="nofollow noopener">LibreSSL 2.5.4 Released</a></li>
<li><a href="https://www.meetup.com/CharmBUG/events/238218840/" target="_blank" rel="nofollow noopener">CharmBUG Meeting - Tor Browser Bundle Hack-a-thon</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2017/05/01/msg000735.html" target="_blank" rel="nofollow noopener">pkgsrcCon 2017 CFT</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/2931" target="_blank" rel="nofollow noopener">Experimental Price Cuts</a></li>
<li><a href="https://www.youtube.com/watch?v=x6VznQz3VEY" target="_blank" rel="nofollow noopener">Linux Fest North West 2017: Three Generations of FreeNAS: The World’s most popular storage OS turns 12</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2AXX75X#wrap" target="_blank" rel="nofollow noopener">Don - Reproducible builds &amp; gcc/clang</a></li>
<li><a href="http://dpaste.com/0FJ854X#wrap" target="_blank" rel="nofollow noopener">architect - C development on BSD</a></li>
<li><a href="http://dpaste.com/2CCK2WF#wrap" target="_blank" rel="nofollow noopener">David - Linux ABI</a></li>
<li><a href="http://dpaste.com/2Z25FKJ#wrap" target="_blank" rel="nofollow noopener">Tom - ZFS</a>

<ul>
<li><a href="https://www.delphix.com/blog/delphix-engineering/zfs-raidz-stripe-width-or-how-i-learned-stop-worrying-and-love-raidz" target="_blank" rel="nofollow noopener">RAIDZ Stripe Width Myth, Busted</a></li>
</ul></li>
<li><a href="http://dpaste.com/1Z173WA#wrap" target="_blank" rel="nofollow noopener">Ivan - Jails</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This week on BSD Now, Adrian Chadd on bringing up 802.11ac in FreeBSD, a PFsense and OpenVPN tutorial, and we talk about an interesting ZFS storage pool checkpoint project.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://adrianchadd.blogspot.com/2017/04/bringing-up-80211ac-on-freebsd.html" target="_blank" rel="nofollow noopener">Bringing up 802.11ac on FreeBSD</a></h3>

<ul>
<li>Adrian Chadd has a new blog post about his work to bring 802.11ac support to FreeBSD</li>
<li>802.11ac allows for speeds up to 500mbps and total bandwidth into multiple gigabits</li>
</ul>

<blockquote>
<p>The FreeBSD net80211 stack has reasonably good 802.11n support, but no 802.11ac support. I decided a while ago to start adding basic 802.11ac support. It was a good exercise in figuring out what the minimum set of required features are and another excuse to go find some of the broken corner cases in net80211 that needed addressing.<br>
802.11ac introduces a few new concepts that the stack needs to understand. I decided to use the QCA 802.11ac parts because (a) I know the firmware and general chip stuff from the first generation 11ac parts well, and (b) I know that it does a bunch of stuff (like rate control, packet scheduling, etc) so I don't have to do it. If I chose, say, the Intel 11ac parts then I'd have to implement a lot more of the fiddly stuff to get good behaviour.<br>
Step one - adding VHT channels. I decided in the shorter term to cheat and just add VHT channels to the already very large ieee80211_channel map. The linux way of there being a channel context rather than hundreds of static channels to choose from is better in the long run, but I wanted to get things up and running. So, that's what I did first - I added VHT flags for 20, 40, 80, 80+80 and 160MHz operating modes and I did the bare work required to populate the channel lists with VHT channels as well.<br>
Then I needed to glue it into an 11ac driver. My ath10k port was far enough along to attempt this, so I added enough glue to say "I support VHT" to the ic_caps field and propagated it to the driver for monitor mode configuration. And yes, after a bit of dancing, I managed to get a VHT channel to show up in ath10k in monitor mode and could capture 80MHz wide packets. Success!</p>

<p>By far the most fiddly was getting channel promotion to work. net80211 supports the concept of dumb NICs (like atheros 11abgn parts) very well, where you can have multiple virtual interfaces but the "driver" view of the right configuration is what's programmed into the hardware. For firmware NICs which do this themselves (like basically everything sold today) this isn't exactly all that helpful. So, for now, it's limited to a single VAP, and the VAP configuration is partially derived from the global state and partially derived from the negotiated state. It's annoying, but it is adding to the list of things I will have to fix later.<br>
the QCA chips/firmware do 802.11 crypto offload. They actually pretend that there's no key - you don't include the IV, you don't include padding, or anything. You send commands to set the crypto keys and then you send unencrypted 802.11 frames (or 802.3 frames if you want to do ethernet only.) This means that I had to teach net80211 a few things:</p>

<ul>
<li>frames decrypted by the hardware needed to have a "I'm decrypted" bit set, because the 802.11 header field saying "I'm decrypted!" is cleared</li>
<li>frames encrypted don't have the "i'm encrypted" bit set</li>
<li>frames encrypted/decrypted have no padding, so I needed to teach the input path and crypto paths to not validate those if the hardware said "we offload it all."
Now comes the hard bit of fixing the shortcomings before I can commit the driver. There are .. lots. The first one is the global state. The ath10k firmware allows what they call 'vdevs' (virtual devices) - for example, multiple SSID/BSSID support is implemented with multiple vdevs. STA+WDS is implemented with vdevs. STA+P2P is implemented with vdevs. So, technically speaking I should go and find all of the global state that should really be per-vdev and make it per-vdev. This is tricky though, because a lot of the state isn't kept per-VAP even though it should be.
Anyway, so far so good. I need to do some of the above and land it in FreeBSD-HEAD so I can finish off the ath10k port and commit what I have to FreeBSD. There's a lot of stuff coming - including all of the wave-2 stuff (like multiuser MIMO / MU-MIMO) which I just plainly haven't talked about yet. Viva la FreeBSD wireless!
***</li>
</ul>
</blockquote>

<h3><a href="http://www.terrafoundry.net/blog/2017/04/12/pfsense-openvpn/" target="_blank" rel="nofollow noopener">pfSense and OpenVPN Routing</a></h3>

<blockquote>
<p>This article tries to be a simple guide on how to enable your home (or small office) [<a href="https://www.pfsense.org/%5D(pfSense)" target="_blank" rel="nofollow noopener">https://www.pfsense.org/](pfSense)</a> setup to route some traffic via the vanilla Internet, and some via a VPN site that you’ve setup in a remote location.</p>
</blockquote>

<ul>
<li>Reasons to Setup a VPN:

<ul>
<li>Control</li>
<li>Security</li>
<li>Privacy</li>
<li>Fun</li>
</ul></li>
</ul>

<blockquote>
<p>VPNs do not instantly guarantee privacy, they’re a layer, as with any other measure you might invoke. In this example I used a server that’s directly under my name. Sure, it was a country with strict privacy laws, but that doesn’t mean that the outgoing IP address wouldn’t be logged somewhere down the line.<br>
There’s also no reason you have to use your own OpenVPN install, there are many, many personal providers out there, who can offer the same functionality, and a degree of anonymity. (If you and a hundred other people are all coming from one IP, it becomes extremely difficult to differentiate, some VPN providers even claim a ‘logless’ setup.)<br>
VPNs can be slow. The reason I have a split-setup in this article, is because there are devices that I want to connect to the internet quickly, and that I’m never doing sensitive things on, like banking. I don’t mind if my Reddit-browsing and IRC messages are a bit slower, but my Nintendo Switch and PS4 should have a nippy connection.<br>
Services like Netflix can and do block VPN traffic in some cases. This is more of an issue for wider VPN providers (I suspect, but have no proof, that they just blanket block known VPN IP addresses.)<br>
If your VPN is in another country, search results and tracking can be skewed. This is arguable a good thing, who wants to be tracked? But it can also lead to frustration if your DuckDuckGo results are tailored to the middle of Paris, rather than your flat in Birmingham.</p>
</blockquote>

<ul>
<li>The tutorial walks through the basic setup: Labeling the interfaces, configuring DHCP, creating a VPN:</li>
</ul>

<blockquote>
<p>Now that we have our OpenVPN connection set up, we’ll double check that we’ve got our interfaces assigned<br>
With any luck (after we’ve assigned our OPENVPN connection correctly, you should now see your new Virtual Interface on the pfSense Dashboard<br>
We’re charging full steam towards the sections that start to lose people. Don’t be disheartened if you’ve had a few issues up to now, there is no “right” way to set up a VPN installation, and it may be that you have to tweak a few things and dive into a few man-pages before you’re set up.<br>
NAT is tricky, and frankly it only exists because we stretched out IPv4 for much longer than we should have. That being said it’s a necessary evil in this day and age, so let’s set up our connection to work with it.<br>
We need NAT here because we’re going to masque our machines on the LAN interface to show as coming from the OpenVPN client IP address, to the OpenVPN server.  Head over to Firewall -&gt; NAT -&gt; Outbound.<br>
The first thing we need to do in this section, is to change the Outbound NAT Mode to something we can work with, in this case “Hybrid.”</p>
</blockquote>

<ul>
<li>Configure the LAN interface to be NAT’d to the OpenVPN address, and the INSECURE interface to use your regular ISP connection</li>
<li>Configure the firewall to allow traffic from the LAN network to reach the INSECURE network</li>
<li>Then add a second rule allowing traffic from the LAN network to any address, and set the gateway the the OPENVPN connection</li>
<li>And there you have it, traffic from the LAN is routed via the VPN, and traffic from the INSECURE network uses the naked internet connection
***</li>
</ul>

<h3><a href="https://mndrix.blogspot.co.uk/2017/05/switching-to-openbsd.html" target="_blank" rel="nofollow noopener">Switching to OpenBSD</a></h3>

<blockquote>
<p>After 12 years, I switched from macOS to OpenBSD.  It's clean, focused, stable, consistent and lets me get my work done without any hassle.<br>
When I first became interested in computers, I thought operating systems were fascinating. For years I would reinstall an operating system every other weekend just to try a different configuration: MS-DOS 3.3, Windows 3.0, Linux 1.0 (countless hours recompiling kernels).  In high school, I settled down and ran OS/2 for 5 years until I graduated college. I switched to Linux after college and used it exclusively for 5 years. I got tired of configuring Linux, so I switched to OS X for the next 12 years, where things just worked.<br>
But Snow Leopard was 7 years ago. These days, OS X is like running a denial of service attack against myself.  macOS has a dozen apps I don't use but can't remove. Updating them requires a restart.  Frequent updates to the browser require a restart.  A minor XCode update requires me to download a 4.3 GB file.  My monitors frequently turn off and require a restart to fix.  A system's <a href="http://techthoughts.typepad.com/managing_computers/2007/11/availability-mt.html" target="_blank" rel="nofollow noopener">availability is a function</a> of mean time between failure and mean time to repair.  For macOS, both numbers are heading in the wrong direction for me. I don't hold any hard feelings about it, but it's time for me to get off this OS and back to productive work.<br>
I found OpenBSD very refreshing, so I created a bootable thumb drive and within an hour had it up and running on a two-year old laptop.  I've been using it for my daily work for the past two weeks and it's been great.  Simple, boring and productive.  Just the way I like it.  The documentation is fantastic.  I've been using Unix for years and have learned quite a bit just by reading their man pages.  OS releases come like clockwork every 6 months and are supported for 12.  Security and other updates seem relatively rare between releases (roughly one small patch per week during 6.0).  With syspatch in 6.1, installing them should be really easy too.</p>

<hr>
</blockquote>

<h3><a href="https://sdimitro.github.io/post/zpool-checkpoint" target="_blank" rel="nofollow noopener">ZFS Storage Pool Checkpoint Project</a></h3>

<blockquote>
<p>During the OpenZFS summit last year (2016), Dan Kimmel and I quickly hacked together the zpool checkpoint command in ZFS, which allows reverting an entire pool to a previous state. Since it was just for a hackathon, our design was bare bones and our implementation far from complete. Around a month later, we had a new and almost complete design within Delphix and I was able to start the implementation on my own. I completed the implementation last month, and we’re now running regression tests, so I decided to write this blog post explaining what a storage pool checkpoint is, why we need it within Delphix, and how to use it.<br>
The Delphix product is basically a VM running DelphixOS (a derivative of illumos) with our application stack on top of it. During an upgrade, the VM reboots into the new OS bits and then runs some scripts that update the environment (directories, snapshots, open connections, etc.) for the new version of our app stack. Software being software, failures can happen at different points during the upgrade process. When an upgrade script that makes changes to ZFS fails, we have a corresponding rollback script that attempts to bring ZFS and our app stack back to their previous state. This is very tricky as we need to undo every single modification applied to ZFS (including dataset creation and renaming, or enabling new zpool features).<br>
The idea of Storage Pool Checkpoint (aka zpool checkpoint) deals with exactly that. It can be thought of as a “pool-wide snapshot” (or a variation of extreme rewind that doesn’t corrupt your data). It remembers the entire state of the pool at the point that it was taken and the user can revert back to it later or discard it. Its generic use case is an administrator that is about to perform a set of destructive actions to ZFS as part of a critical procedure. She takes a checkpoint of the pool before performing the actions, then rewinds back to it if one of them fails or puts the pool into an unexpected state. Otherwise, she discards it. With the assumption that no one else is making modifications to ZFS, she basically wraps all these actions into a “high-level transaction”.</p>
</blockquote>

<ul>
<li>I definitely see value in this for the appliance use case</li>
<li>Some usage examples follow, along with some caveats.</li>
<li>One of the restrictions is that you cannot attach, detach, or remove a device while a checkpoint exists. However, the zpool add operation is still possible, however if you roll back to the checkpoint, the device will no longer be part of the pool. Rather than a shortcoming, this seems like a nice feature, a way to help users avoid the most common foot shooting (which I witnessed in person at Linux Fest), adding a new log or cache device, but missing a keyword and adding it is a storage vdev rather than a aux vdev. This operation could simply be undone if a checkpoint where taken before the device was added.
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://distrowatch.com/weekly.php?issue=20170501#trueos" target="_blank" rel="nofollow noopener">Review of TrueOS</a></h3>

<blockquote>
<p>TrueOS, which was formerly named PC-BSD, is a FreeBSD-based operating system. TrueOS is a rolling release platform which is based on FreeBSD's "CURRENT" branch, providing TrueOS with the latest drivers and features from FreeBSD. Apart from the name change, TrueOS has deviated from the old PC-BSD project in a number of ways. The system installer is now more streamlined (and I will touch on that later) and TrueOS is a rolling release platform while PC-BSD defaulted to point releases. Another change is PC-BSD used to allow the user to customize which software was installed at boot time, including the desktop environment. The TrueOS project now selects a minimal amount of software for the user and defaults to using the Lumina desktop environment.</p>
</blockquote>

<ul>
<li>From the conclusions:</li>
</ul>

<blockquote>
<p>What I took away from my time with TrueOS is that the project is different in a lot of ways from PC-BSD. Much more than just the name has changed. The system is now more focused on cutting edge software and features in FreeBSD's development branch. The install process has been streamlined and the user begins with a set of default software rather than selecting desired packages during the initial setup. The configuration tools, particularly the Control Panel and AppCafe, have changed a lot in the past year. The designs have a more flat, minimal look. It used to be that PC-BSD did not have a default desktop exactly, but there tended to be a focus on KDE. With TrueOS the project's in-house desktop, Lumina, serves as the default environment and I think it holds up fairly well.<br>
In all, I think TrueOS offers a convenient way to experiment with new FreeBSD technologies and ZFS. I also think people who want to run FreeBSD on a desktop computer may want to look at TrueOS as it sets up a graphical environment automatically. However, people who want a stable desktop platform with lots of applications available out of the box may not find what they want with this project.</p>

<hr>
</blockquote>

<h3><a href="https://www.davd.eu/install-ubuntu-on-freebsd-with-bhyve/" target="_blank" rel="nofollow noopener">A simple guide to install Ubuntu on FreeBSD with byhve</a></h3>

<ul>
<li>David Prandzioch writes in his blog:</li>
</ul>

<blockquote>
<p>For some reasons I needed a Linux installation on my NAS. bhyve is a lightweight virtualization solution for FreeBSD that makes that easy and efficient. However, the CLI of bhyve is somewhat bulky and bare making it hard to use, especially for the first time. This is what vm-bhyve solves - it provides a simple CLI for working with virtual machines.</p>
</blockquote>

<ul>
<li>More details follow about what steps are needed to setup vm_bhyve on FreeBSD </li>
<li>Also check out his other tutorials on his blog: <a href="https://www.davd.eu/freebsd/" target="_blank" rel="nofollow noopener">https://www.davd.eu/freebsd/</a>
***</li>
</ul>

<h3><a href="https://dspinellis.github.io/unix-architecture/arch.pdf" target="_blank" rel="nofollow noopener">Graphical Overview of the Architecture of FreeBSD </a></h3>

<ul>
<li>This diagram tries to show the different components that make up the FreeBSD Operating Systems</li>
<li>It breaks down the various utilities, libraries, and components into some categories and sub-categories:</li>
<li>User Commands:

<ul>
<li>Development (cc, ld, nm, as, etc)</li>
<li>File Management (ls, cp, cmp, mkdir)</li>
<li>Multiuser Commands (login, chown, su, who)</li>
<li>Number Processing (bc, dc, units, expr)</li>
<li>Text Processing (cut, grep, sort, uniq, wc)</li>
<li>User Messaging (mail, mesg, write, talk)</li>
<li>Little Languages (sed, awk, m4)</li>
<li>Network Clients (ftp, scp, fetch)</li>
<li>Document Preparation (*roff, eqn, tbl, refer)</li>
</ul></li>
<li>Administrator and System Commands

<ul>
<li>Filesystem Management (fsck, newfs, gpart, mount, umount)</li>
<li>Networking (ifconfig, route, arp)</li>
<li>User Management (adduser, pw, vipw, sa, quota*)</li>
<li>Statistics (iostat, vmstat, pstat, gstat, top)</li>
<li>Network Servers (sshd, ftpd, ntpd, routed, rpc.*)</li>
<li>Scheduling (cron, periodic, rc.*, atrun)</li>
</ul></li>
<li>Libraries (C Standard, Operating System, Peripheral Access, System File Access, Data Handling, Security, Internationalization, Threads)</li>
<li>System Call Interface (File I/O, Mountable Filesystems, File ACLs, File Permissions, Processes, Process Tracing, IPC, Memory Mapping, Shared Memory, Kernel Events, Memory Locking, Capsicum, Auditing, Jails)</li>
<li>Bootstrapping (Loaders, Configuration, Kernel Modules)</li>
<li>Kernel Utility Functions

<ul>
<li>Privilege Management (acl, mac, priv)</li>
<li>Multitasking (kproc, kthread, taskqueue, swi, ithread)</li>
<li>Memory Management (vmem, uma, pbuf, sbuf, mbuf, mbchain, malloc/free)</li>
<li>Generic (nvlist, osd, socket, mbuf_tags, bitset)</li>
<li>Virtualization (cpuset, crypto, device, devclass, driver)</li>
<li>Synchronization (<em>lock, sx, sema, mutex, condvar_</em>, atomic_*, signal)</li>
<li>Operations (sysctl, dtrace, watchdog, stack, alq, ktr, panic)</li>
</ul></li>
<li>I/O Subsystem

<ul>
<li>Special Devices (line discipline, tty, raw character, raw disk)</li>
<li>Filesystems (UFS, FFS, NFS, CD9660, Ext2, UDF, ZFS, devfs, procfs)</li>
<li>Sockets</li>
<li>Network Protocols (TCP, UDP, UCMP, IPSec,  IP4, IP6)</li>
<li>Netgraph (50+ modules)</li>
</ul></li>
<li>Drivers and Abstractions

<ul>
<li>Character Devices</li>
<li>CAM (ATA, SATA, SAS, SPI)</li>
<li>Network Interface Drivers (802.11, if_ae, 100+, if_xl, NDIS)</li>
</ul></li>
<li>GEOM

<ul>
<li>Storage (stripe, mirror, raid3, raid5, concat)</li>
<li>Encryption / Compression (eli, bde, shsec, uzip)</li>
<li>Filesystem (label, journal, cache, mbr, bsd)</li>
<li>Virtualization (md, nop, gate, virtstor)</li>
</ul></li>
<li>Process Control Subsystems

<ul>
<li>Scheduler</li>
<li>Memory Management</li>
<li>Inter-process Communication</li>
<li>Debugging Support
***</li>
</ul></li>
</ul>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170503203426&amp;mode=expanded" target="_blank" rel="nofollow noopener">Official OpenBSD 6.1 CD - There's only One!</a></h3>

<ul>
<li><a href="http://www.ebay.com/itm/The-only-Official-OpenBSD-6-1-CD-set-to-be-made-For-auction-for-the-project-/252910718452" target="_blank" rel="nofollow noopener">Ebay auction Link</a></li>
<li>Now it turns out that in fact, exactly one CD set was made, and it can be yours if you are the successful bidder in the auction that ends on May 13, 2017 (About 3 days from when this episode was recorded).</li>
<li>The CD set is hand made and signed by Theo de Raadt.</li>
<li>Fun Fact: The winning bidder will have an OpenBSD CD set that even Theo doesn't have.
***</li>
</ul>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://www.openbsd.org/want.html" target="_blank" rel="nofollow noopener">Hardware Wanted by OpenBSD developers</a></li>
<li><a href="https://www.freebsd.org/donations/index.html#components" target="_blank" rel="nofollow noopener">Donate hardware to FreeBSD developers</a></li>
<li><a href="https://blog.netbsd.org/tnf/entry/announcing_netbsd_and_the_google" target="_blank" rel="nofollow noopener">Announcing NetBSD and the Google Summer of Code Projects 2017</a></li>
<li><a href="https://wiki.freebsd.org/SummerOfCode2017Projects" target="_blank" rel="nofollow noopener">Announcing FreeBSD GSoC 2017 Projects </a></li>
<li><a href="https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-2.5.4-relnotes.txt" target="_blank" rel="nofollow noopener">LibreSSL 2.5.4 Released</a></li>
<li><a href="https://www.meetup.com/CharmBUG/events/238218840/" target="_blank" rel="nofollow noopener">CharmBUG Meeting - Tor Browser Bundle Hack-a-thon</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2017/05/01/msg000735.html" target="_blank" rel="nofollow noopener">pkgsrcCon 2017 CFT</a></li>
<li><a href="https://blather.michaelwlucas.com/archives/2931" target="_blank" rel="nofollow noopener">Experimental Price Cuts</a></li>
<li><a href="https://www.youtube.com/watch?v=x6VznQz3VEY" target="_blank" rel="nofollow noopener">Linux Fest North West 2017: Three Generations of FreeNAS: The World’s most popular storage OS turns 12</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2AXX75X#wrap" target="_blank" rel="nofollow noopener">Don - Reproducible builds &amp; gcc/clang</a></li>
<li><a href="http://dpaste.com/0FJ854X#wrap" target="_blank" rel="nofollow noopener">architect - C development on BSD</a></li>
<li><a href="http://dpaste.com/2CCK2WF#wrap" target="_blank" rel="nofollow noopener">David - Linux ABI</a></li>
<li><a href="http://dpaste.com/2Z25FKJ#wrap" target="_blank" rel="nofollow noopener">Tom - ZFS</a>

<ul>
<li><a href="https://www.delphix.com/blog/delphix-engineering/zfs-raidz-stripe-width-or-how-i-learned-stop-worrying-and-love-raidz" target="_blank" rel="nofollow noopener">RAIDZ Stripe Width Myth, Busted</a></li>
</ul></li>
<li><a href="http://dpaste.com/1Z173WA#wrap" target="_blank" rel="nofollow noopener">Ivan - Jails</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>192: SSHv1 Be Gone</title>
  <link>https://www.bsdnow.tv/192</link>
  <guid isPermaLink="false">1d2749a1-3e15-4109-9c6c-155dab78818c</guid>
  <pubDate>Wed, 03 May 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/1d2749a1-3e15-4109-9c6c-155dab78818c.mp3" length="89446612" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This week we have a FreeBSD Foundation development update, tell you about sprinkling in the TrueOS project, Dynamic WDS &amp; a whole lot more!</itunes:subtitle>
  <itunes:duration>2:04:13</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>&lt;p&gt;This week we have a FreeBSD Foundation development update, tell you about sprinkling in the TrueOS project, Dynamic WDS &amp;amp; a whole lot more!&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170501005206" target="_blank" rel="nofollow noopener"&gt;OpenSSH Removes SSHv1 Support&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In a series of commits starting &lt;a href="http://marc.info/?l=openbsd-cvs&amp;amp;m=149359384905651&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;here&lt;/a&gt; and ending with &lt;a href="http://marc.info/?l=openbsd-cvs&amp;amp;m=149359530105864&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;this one&lt;/a&gt;, Damien Miller completed the removal of all support for the now-historic SSHv1 protocol from &lt;a href="https://www.openssh.com/" target="_blank" rel="nofollow noopener"&gt;OpenSSH&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The final commit message, for the commit that removes the SSHv1 related regression tests, reads:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Eliminate explicit specification of protocol in tests and loops over protocol. We only support SSHv2 now.&lt;br&gt;
Dropping support for SSHv1 and associated ciphers that were either suspected to or known to be broken has been planned for several releases, and has been eagerly anticipated by many in the OpenBSD camp.&lt;br&gt;
In practical terms this means that starting with OpenBSD-current and snapshots as they will be very soon (and further down the road OpenBSD 6.2 with OpenSSH 7.6), the arcane options you used with &lt;a href="http://man.openbsd.org/ssh" target="_blank" rel="nofollow noopener"&gt;ssh&lt;/a&gt; to connect to some end-of-life gear in a derelict data centre you don't want to visit anymore will no longer work and you will be forced do the reasonable thing. Upgrade.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/blog/april-2017-development-projects-update/" target="_blank" rel="nofollow noopener"&gt;FreeBSD Foundation April 2017 Development Projects Update&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD runs on many embedded boards that provide a USB target or USB On-the-Go (OTG) interface. This allows the embedded target to act as a USB device, and present one or more interfaces (USB device classes) to a USB host. That host could be running FreeBSD, Linux, Mac OS, Windows, Android, or another operating system. USB device classes include audio input or output (e.g. headphones), mass storage (USB flash drives), human interface device (keyboards, mice), communications (Ethernet adapters), and many others.&lt;/p&gt;

&lt;p&gt;The Foundation awarded a project grant to Edward Tomasz Napierała to develop a USB mass storage target driver, using the FreeBSD CAM Target Layer (CTL) as a backend. This project allows FreeBSD running on an embedded platform, such as a BeagleBone Black or Raspberry Pi Zero, to emulate a USB mass storage target, commonly known as a USB flash stick. The backing storage for the emulated mass storage target is on the embedded board’s own storage media. It can be configured at runtime using the standard CTL configuration mechanism – the ctladm(8) utility, or the ctl.conf(5) file.&lt;/p&gt;

&lt;p&gt;The FreeBSD target can now present a mass storage interface, a serial interface (for a console on the embedded system), and an Ethernet interface for network access. A typical usage scenario for the mass storage interface is to provide users with documentation and drivers that can be accessed from their host system. This makes it easier for new users to interact with the embedded FreeBSD board, especially in cases where the host operating system may require drivers to access all of the functionality, as with Windows and OS X.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;They provide instructions on how to configure a BeagleBone Black to act as a flash memory stick attached to a host computer.
+Check out the article, test, and report back your experiences with the new USB OTG interface. 
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.trueos.org/blog/spring-cleaning-hardware-update-preview-upcoming-trueos-changes/" target="_blank" rel="nofollow noopener"&gt;Spring cleaning: Hardware Update and Preview of upcoming TrueOS changes&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The much-abused TrueOS build server is experiencing some technical difficulties, slowing down building new packages and releasing updates. After some investigation, one problem seemed to be a bug with the Poudriere port building software. After updating builders to the new version, some of the instability is resolved. Thankfully, we won’t have to rely on this server so much, because…&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;We’re getting new hardware!&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A TrueOS/Lumina contributor is donating a new(ish) server to the project. Special thanks to TrueOS contributor/developer q5sys for the awesome new hardware!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Preview: UNSTABLE and Upcoming TrueOS STABLE update&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A fresh UNSTABLE release is dropping today, with a few key changes:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Nvidia/graphics driver detection fixes.&lt;br&gt;
Boot environment listing fix (FreeBSD boot-loader only)&lt;br&gt;
Virtual box issues fixed on most systems. There appears to be a regression in VirtualBox 5.1 with some hardware.&lt;br&gt;
New icon themes for Lumina (Preferences -&amp;gt; Appearance -&amp;gt; Theme).&lt;br&gt;
Removal of legacy pc-diskmanager. It was broken and unmaintained, so it is time to remove it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Installer/.iso Changes (Available with new STABLE Update):&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The text installer has been removed. It was broken and unmaintained, so it is time to remove it.&lt;br&gt;
There is now a single TrueOS install image. You can still choose to install as either a server or desktop, but both options live in a single install image now. This image is still available as either an .iso or .img file.&lt;br&gt;
The size of the .iso and .img files is reduced about 500 Mb to around 2Gb total. We’ve removed Firefox and Thunderbird from the default desktop installation. These have been replaced with Qupzilla and Trojita. Note you can replace Qupzilla and Trojita with Firefox and Thunderbird via the SysAdm Appcafe after completing the TrueOS install.&lt;br&gt;
Grub is no longer an installation option. Instead, the FreeBSD boot-loader is always used for the TrueOS partition. rEFInd is used as the master boot-loader for multi-booting; EFI partitioning is required.&lt;br&gt;
Qpdfview is now preinstalled for pdf viewing.&lt;br&gt;
Included a slideshow during the installation with tips and screenshots.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Interview - Patrick M. Hausen - &lt;a href="mailto:hausen@punkt.de" target="_blank" rel="nofollow noopener"&gt;hausen@punkt.de&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Founder of Punkt.de
&lt;a href="https://wiki.freebsd.org/HAST" target="_blank" rel="nofollow noopener"&gt;HAST - Highly Available Storage&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://adrianchadd.blogspot.com/2017/04/finally-investigating-how-to-get.html" target="_blank" rel="nofollow noopener"&gt;(finally) investigating how to get dynamic WDS (DWDS) working in FreeBSD!&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Adrian Chadd writes in his blog:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I sat down recently to figure out how to get dynamic WDS working on FreeBSD-HEAD. It's been in FreeBSD since forever, and it in theory should actually have just worked, but it's extremely not documented in any useful way. It's basically the same technology in earlier Apple Airports (before it grew into what the wireless tech world calls "Proxy-STA") and is what the "extender" technology on Qualcomm Atheros chipsets implement.&lt;br&gt;
A common question I get from people is "why can't I bridge multiple virtual machines on my laptop and have them show up over wifi? It works on ethernet!" And my response is "when I make dynamic WDS work, you can just make this work on FreeBSD devices - but for now, use NAT." That always makes people sad.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Goes on to explain that normal station/access point setups have up to three addresses and depending on the packet type, these can vary. There are a couple of variations in the addresses, which is more than the number of address fields in a normal 802.11 frame.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The big note here is that there's not enough MAC addresses to say "please send this frame to a station MAC address, but then have them forward it to another MAC address attached behind it in a bridge." That would require 4 mac addresses in the 802.11 header, which we don't get.&lt;br&gt;
.. except we do. There's a separate address format where from-DS and to-DS bits in the header set to 1, which means "this frame is coming from distribution system to a distribution system", and it has four mac addresses. The RA is then the AP you're sending to, and then a fourth field indicates the eventual destination address that may be an ethernet device connected behind said STA.&lt;br&gt;
If you don't configure up WDS, then when you send frames from a station from a MAC address that isn't actually your 802.11 interface MAC address, the system would be confused. The STA wouldn't be able to transmit it easily, and the AP wouldn't know how to get back to your bridged ethernet addresses.&lt;br&gt;
The original WDS was a statically configured thing. [...]  So for static configurations, this works great. You'd associate your extender AP as a station of the central AP, it'd use wpa_supplicant to setup encryption, then anything between that central AP and that extender AP (as a station) would be encrypted as normal station traffic (but, 4-address frame format.)&lt;br&gt;
But that's not very convenient. You have to statically configure everything, including telling your central AP about all of your satellite extender APs. If you want to replace your central AP, you have to reprogram all of your extenders to use the new MAC addresses.&lt;br&gt;
So, Sam Leffler came up with "dynamic WDS" - where you don't have to explicitly state the list of central/satellite APs. Instead, you configure a central AP as "dynamic WDS", and when a 4-address frame shows up from an associated station, it "promotes" it to a WDS peer for you. On the satellite AP, it will just find an AP to communicate to, and then assume it'll do WDS and start using 4-address frames. It's still a bit clunky (there's no beacon, probe request, etc IEs that say "I do dynamic WDS!" so you'd better make ALL your central APs a different SSID!) but it certainly is better than what we had.&lt;br&gt;
Firstly, there are scripts in src/tools/tools/net80211/ - setup.wdsmain and setup.wdsrelay. These scripts are .. well, the almost complete documentation on a dynamic WDS setup. The manpage doesn't go into anywhere near enough information.&lt;br&gt;
So I dug into it. It turns out that dynamic WDS uses a helper daemon - 'wlanwds' -  which listens for dynamic WDS configuration changes and will do things for you. This is what runs on the central AP side. Then it started making sense!&lt;br&gt;
So far, so good. I followed that script, modified it a bit to use encryption, and .. well, it half worked. Association worked fine, but no traffic was passing.&lt;br&gt;
A little more digging showed the actual problem - the dynamic WDS example scripts are for an open/unencrypted network. If you are using an encrypted network, the central AP side needs to enable privacy on the virtual interfaces so traffic gets encrypted with the parent interface encryption keys.&lt;br&gt;
Now, I've only done enough testing to show that indeed it is working. I haven't done anything like pass lots of traffic via iperf, or have a mix of DWDS and normal STA peers, nor actually run it for longer than 5 minutes. I'm sure there will be issues to fix. However - I do need it at home, as I can't see the home AP from the upstairs room (and now you see why I care about DWDS!) and so when I start using it daily I'll fix whatever hilarity ensues.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://danluu.com/teach-debugging/" target="_blank" rel="nofollow noopener"&gt;Why don't schools teach debugging?&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;A friend of mine and I couldn’t understand why some people were having so much trouble; the material seemed like common sense. The Feynman Method was the only tool we needed.&lt;br&gt;
Write down the problem&lt;br&gt;
Think real hard&lt;br&gt;
Write down the solution&lt;/p&gt;

&lt;p&gt;The Feynman Method failed us on the last project: the design of a divider, a real-world-scale project an order of magnitude more complex than anything we’d been asked to tackle before.&lt;/p&gt;

&lt;p&gt;I understand now why half the class struggled with the earlier assignments. Without an explanation of how to systematically approach problems, anyone who didn’t intuitively grasp the correct solution was in for a semester of frustration. People who were, like me, above average but not great, skated through most of the class and either got lucky or wasted a huge chunk of time on the final project. I’ve even seen people talented enough to breeze through the entire degree without ever running into a problem too big to intuitively understand; those people have a very bad time when they run into a 10 million line codebase in the real world. The more talented the engineer, the more likely they are to hit a debugging wall outside of school.&lt;/p&gt;

&lt;p&gt;It’s one of the most fundamental skills in engineering: start at the symptom of a problem and trace backwards to find the source. It takes, at most, half an hour to teach the absolute basics – and even that little bit would be enough to save a significant fraction of those who wash out and switch to non-STEM majors.&lt;/p&gt;

&lt;p&gt;Why do we leave material out of classes and then fail students who can’t figure out that material for themselves? Why do we make the first couple years of an engineering major some kind of hazing ritual, instead of simply teaching people what they need to know to be good engineers? For all the high-level talk about how we need to plug the leaks in our STEM education pipeline, not only are we not plugging the holes, we’re proud of how fast the pipeline is leaking.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-fs/2017-April/024702.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD: pNFS server for testing&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Rick Macklem has issued a call for testing his new pNFS server:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;I now have a pNFS server that I think is ready for testing/evaluation. It is basically a patched FreeBSD-current kernel plus nfsd daemon.&lt;br&gt;
If you are interested, some very basic notes on how it works and how to set it up are at:&lt;br&gt;
&lt;a href="http://people.freebsd.org/%7Ermacklem/pnfs-planb-setup.txt" target="_blank" rel="nofollow noopener"&gt;http://people.freebsd.org/~rmacklem/pnfs-planb-setup.txt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A Plan B pNFS service consists of a single MetaData Server (MDS) and K Data Servers (DS), all of which would be recent FreeBSD systems. Clients will mount the MDS as they would a single NFS server. When files are created, the MDS creates a file tree identical to what a single NFS server creates, except that all the regular (VREG) files will be empty. As such, if you look at the exported tree on the MDS directly on the MDS server (not via an NFS mount), the files will all be of size == 0. Each of these files will also have two extended attributes in the system attribute name space:&lt;br&gt;
pnfsd.dsfile - This extended attrbute stores the information that the MDS needs to find the data storage file on a DS for this file.&lt;br&gt;
pnfsd.dsattr - This extended attribute stores the Size, ModifyTime and Change attributes for the file.&lt;/p&gt;

&lt;p&gt;For each regular (VREG) file, the MDS creates a data storage file on one of the K DSs, in one of the dsNN directories. The name of this file is the file handle of the file on the MDS in hexadecimal. The DSs use 20 subdirectories named "ds0" to "ds19" so that no one directory gets too large.&lt;br&gt;
At this time, the MDS generates File Layout layouts to NFSv4.1 clients that know how to do pNFS.&lt;br&gt;
For NFS clients that do not support NFSv4.1 pNFS, there will be a performance hit, since the IO RPCs will be proxied by the MDS for the DS server the data storage file resides on.&lt;br&gt;
The current setup does not allow for redundant servers. If the MDS or any of the K DS servers fail, the entire pNFS service will be non-functional.&lt;br&gt;
Looking at creating mirrored DS servers is planned, but it may be a year or more before that is implemented. I am planning on using the Flex File Layout for this, since it supports client side mirroring, where the client will write to all mirrors concurrently.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.tedunangst.com/flak/post/openbsd-changes-of-note-620" target="_blank" rel="nofollow noopener"&gt;Openbsd changes of note 620&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.catonmat.net/blog/why-unix-commands-are-short/" target="_blank" rel="nofollow noopener"&gt;Why Unix commands are short&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opnsense.org/opnsense-17-1-5-released/" target="_blank" rel="nofollow noopener"&gt;OPNsense 17.1.5 released&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2017-April/625847.html" target="_blank" rel="nofollow noopener"&gt;Something for Apple dual-GPU users&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mail-index.netbsd.org/netbsd-advocacy/2017/05/01/msg000735.html" target="_blank" rel="nofollow noopener"&gt;pkgsrcCon 2017 CFT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://discourse.trueos.org/t/trueos-lumina-dev-q-a-5-4-17/1347" target="_blank" rel="nofollow noopener"&gt;TrueOS/Lumina Dev Q&amp;amp;A: May 5th 2017&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://dpaste.com/0J14HGJ#wrap" target="_blank" rel="nofollow noopener"&gt;Peter - Jails&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://dpaste.com/31AVFSF#wrap" target="_blank" rel="nofollow noopener"&gt;Andrew - Languages and University Courses&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://wiki.freebsd.org/JuniorJobs" target="_blank" rel="nofollow noopener"&gt;JuniorJobs &lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://dpaste.com/1BXVZSY#wrap" target="_blank" rel="nofollow noopener"&gt;Steve - TrueOS and Bootloader&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://dpaste.com/0R7AW2T#wrap" target="_blank" rel="nofollow noopener"&gt;Ben - ZFS questions&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://dpaste.com/3ZR7NCC#wrap" target="_blank" rel="nofollow noopener"&gt;Steve - Linux Emulation&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This week we have a FreeBSD Foundation development update, tell you about sprinkling in the TrueOS project, Dynamic WDS &amp; a whole lot more!</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170501005206" target="_blank" rel="nofollow noopener">OpenSSH Removes SSHv1 Support</a></h3>

<ul>
<li>In a series of commits starting <a href="http://marc.info/?l=openbsd-cvs&amp;m=149359384905651&amp;w=2" target="_blank" rel="nofollow noopener">here</a> and ending with <a href="http://marc.info/?l=openbsd-cvs&amp;m=149359530105864&amp;w=2" target="_blank" rel="nofollow noopener">this one</a>, Damien Miller completed the removal of all support for the now-historic SSHv1 protocol from <a href="https://www.openssh.com/" target="_blank" rel="nofollow noopener">OpenSSH</a>.</li>
<li>The final commit message, for the commit that removes the SSHv1 related regression tests, reads:</li>
</ul>

<blockquote>
<p>Eliminate explicit specification of protocol in tests and loops over protocol. We only support SSHv2 now.<br>
Dropping support for SSHv1 and associated ciphers that were either suspected to or known to be broken has been planned for several releases, and has been eagerly anticipated by many in the OpenBSD camp.<br>
In practical terms this means that starting with OpenBSD-current and snapshots as they will be very soon (and further down the road OpenBSD 6.2 with OpenSSH 7.6), the arcane options you used with <a href="http://man.openbsd.org/ssh" target="_blank" rel="nofollow noopener">ssh</a> to connect to some end-of-life gear in a derelict data centre you don't want to visit anymore will no longer work and you will be forced do the reasonable thing. Upgrade.</p>

<hr>
</blockquote>

<h3><a href="https://www.freebsdfoundation.org/blog/april-2017-development-projects-update/" target="_blank" rel="nofollow noopener">FreeBSD Foundation April 2017 Development Projects Update</a></h3>

<blockquote>
<p>FreeBSD runs on many embedded boards that provide a USB target or USB On-the-Go (OTG) interface. This allows the embedded target to act as a USB device, and present one or more interfaces (USB device classes) to a USB host. That host could be running FreeBSD, Linux, Mac OS, Windows, Android, or another operating system. USB device classes include audio input or output (e.g. headphones), mass storage (USB flash drives), human interface device (keyboards, mice), communications (Ethernet adapters), and many others.</p>

<p>The Foundation awarded a project grant to Edward Tomasz Napierała to develop a USB mass storage target driver, using the FreeBSD CAM Target Layer (CTL) as a backend. This project allows FreeBSD running on an embedded platform, such as a BeagleBone Black or Raspberry Pi Zero, to emulate a USB mass storage target, commonly known as a USB flash stick. The backing storage for the emulated mass storage target is on the embedded board’s own storage media. It can be configured at runtime using the standard CTL configuration mechanism – the ctladm(8) utility, or the ctl.conf(5) file.</p>

<p>The FreeBSD target can now present a mass storage interface, a serial interface (for a console on the embedded system), and an Ethernet interface for network access. A typical usage scenario for the mass storage interface is to provide users with documentation and drivers that can be accessed from their host system. This makes it easier for new users to interact with the embedded FreeBSD board, especially in cases where the host operating system may require drivers to access all of the functionality, as with Windows and OS X.</p>
</blockquote>

<ul>
<li>They provide instructions on how to configure a BeagleBone Black to act as a flash memory stick attached to a host computer.
+Check out the article, test, and report back your experiences with the new USB OTG interface. 
***</li>
</ul>

<h3><a href="https://www.trueos.org/blog/spring-cleaning-hardware-update-preview-upcoming-trueos-changes/" target="_blank" rel="nofollow noopener">Spring cleaning: Hardware Update and Preview of upcoming TrueOS changes</a></h3>

<blockquote>
<p>The much-abused TrueOS build server is experiencing some technical difficulties, slowing down building new packages and releasing updates. After some investigation, one problem seemed to be a bug with the Poudriere port building software. After updating builders to the new version, some of the instability is resolved. Thankfully, we won’t have to rely on this server so much, because…</p>
</blockquote>

<ul>
<li>We’re getting new hardware!</li>
<li><p>A TrueOS/Lumina contributor is donating a new(ish) server to the project. Special thanks to TrueOS contributor/developer q5sys for the awesome new hardware!</p></li>
<li><p>Preview: UNSTABLE and Upcoming TrueOS STABLE update</p></li>
<li><p>A fresh UNSTABLE release is dropping today, with a few key changes:</p></li>
</ul>

<blockquote>
<p>Nvidia/graphics driver detection fixes.<br>
Boot environment listing fix (FreeBSD boot-loader only)<br>
Virtual box issues fixed on most systems. There appears to be a regression in VirtualBox 5.1 with some hardware.<br>
New icon themes for Lumina (Preferences -&gt; Appearance -&gt; Theme).<br>
Removal of legacy pc-diskmanager. It was broken and unmaintained, so it is time to remove it.</p>
</blockquote>

<ul>
<li>Installer/.iso Changes (Available with new STABLE Update):</li>
</ul>

<blockquote>
<p>The text installer has been removed. It was broken and unmaintained, so it is time to remove it.<br>
There is now a single TrueOS install image. You can still choose to install as either a server or desktop, but both options live in a single install image now. This image is still available as either an .iso or .img file.<br>
The size of the .iso and .img files is reduced about 500 Mb to around 2Gb total. We’ve removed Firefox and Thunderbird from the default desktop installation. These have been replaced with Qupzilla and Trojita. Note you can replace Qupzilla and Trojita with Firefox and Thunderbird via the SysAdm Appcafe after completing the TrueOS install.<br>
Grub is no longer an installation option. Instead, the FreeBSD boot-loader is always used for the TrueOS partition. rEFInd is used as the master boot-loader for multi-booting; EFI partitioning is required.<br>
Qpdfview is now preinstalled for pdf viewing.<br>
Included a slideshow during the installation with tips and screenshots.</p>
</blockquote>

<hr>

<h2>Interview - Patrick M. Hausen - <a href="mailto:hausen@punkt.de" target="_blank" rel="nofollow noopener">hausen@punkt.de</a></h2>

<ul>
<li>Founder of Punkt.de
<a href="https://wiki.freebsd.org/HAST" target="_blank" rel="nofollow noopener">HAST - Highly Available Storage</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://adrianchadd.blogspot.com/2017/04/finally-investigating-how-to-get.html" target="_blank" rel="nofollow noopener">(finally) investigating how to get dynamic WDS (DWDS) working in FreeBSD!</a></h3>

<ul>
<li>Adrian Chadd writes in his blog:</li>
</ul>

<blockquote>
<p>I sat down recently to figure out how to get dynamic WDS working on FreeBSD-HEAD. It's been in FreeBSD since forever, and it in theory should actually have just worked, but it's extremely not documented in any useful way. It's basically the same technology in earlier Apple Airports (before it grew into what the wireless tech world calls "Proxy-STA") and is what the "extender" technology on Qualcomm Atheros chipsets implement.<br>
A common question I get from people is "why can't I bridge multiple virtual machines on my laptop and have them show up over wifi? It works on ethernet!" And my response is "when I make dynamic WDS work, you can just make this work on FreeBSD devices - but for now, use NAT." That always makes people sad.</p>

<ul>
<li>Goes on to explain that normal station/access point setups have up to three addresses and depending on the packet type, these can vary. There are a couple of variations in the addresses, which is more than the number of address fields in a normal 802.11 frame.</li>
</ul>

<p>The big note here is that there's not enough MAC addresses to say "please send this frame to a station MAC address, but then have them forward it to another MAC address attached behind it in a bridge." That would require 4 mac addresses in the 802.11 header, which we don't get.<br>
.. except we do. There's a separate address format where from-DS and to-DS bits in the header set to 1, which means "this frame is coming from distribution system to a distribution system", and it has four mac addresses. The RA is then the AP you're sending to, and then a fourth field indicates the eventual destination address that may be an ethernet device connected behind said STA.<br>
If you don't configure up WDS, then when you send frames from a station from a MAC address that isn't actually your 802.11 interface MAC address, the system would be confused. The STA wouldn't be able to transmit it easily, and the AP wouldn't know how to get back to your bridged ethernet addresses.<br>
The original WDS was a statically configured thing. [...]  So for static configurations, this works great. You'd associate your extender AP as a station of the central AP, it'd use wpa_supplicant to setup encryption, then anything between that central AP and that extender AP (as a station) would be encrypted as normal station traffic (but, 4-address frame format.)<br>
But that's not very convenient. You have to statically configure everything, including telling your central AP about all of your satellite extender APs. If you want to replace your central AP, you have to reprogram all of your extenders to use the new MAC addresses.<br>
So, Sam Leffler came up with "dynamic WDS" - where you don't have to explicitly state the list of central/satellite APs. Instead, you configure a central AP as "dynamic WDS", and when a 4-address frame shows up from an associated station, it "promotes" it to a WDS peer for you. On the satellite AP, it will just find an AP to communicate to, and then assume it'll do WDS and start using 4-address frames. It's still a bit clunky (there's no beacon, probe request, etc IEs that say "I do dynamic WDS!" so you'd better make ALL your central APs a different SSID!) but it certainly is better than what we had.<br>
Firstly, there are scripts in src/tools/tools/net80211/ - setup.wdsmain and setup.wdsrelay. These scripts are .. well, the almost complete documentation on a dynamic WDS setup. The manpage doesn't go into anywhere near enough information.<br>
So I dug into it. It turns out that dynamic WDS uses a helper daemon - 'wlanwds' -  which listens for dynamic WDS configuration changes and will do things for you. This is what runs on the central AP side. Then it started making sense!<br>
So far, so good. I followed that script, modified it a bit to use encryption, and .. well, it half worked. Association worked fine, but no traffic was passing.<br>
A little more digging showed the actual problem - the dynamic WDS example scripts are for an open/unencrypted network. If you are using an encrypted network, the central AP side needs to enable privacy on the virtual interfaces so traffic gets encrypted with the parent interface encryption keys.<br>
Now, I've only done enough testing to show that indeed it is working. I haven't done anything like pass lots of traffic via iperf, or have a mix of DWDS and normal STA peers, nor actually run it for longer than 5 minutes. I'm sure there will be issues to fix. However - I do need it at home, as I can't see the home AP from the upstairs room (and now you see why I care about DWDS!) and so when I start using it daily I'll fix whatever hilarity ensues.</p>

<hr>
</blockquote>

<h3><a href="https://danluu.com/teach-debugging/" target="_blank" rel="nofollow noopener">Why don't schools teach debugging?</a></h3>

<blockquote>
<p>A friend of mine and I couldn’t understand why some people were having so much trouble; the material seemed like common sense. The Feynman Method was the only tool we needed.<br>
Write down the problem<br>
Think real hard<br>
Write down the solution</p>

<p>The Feynman Method failed us on the last project: the design of a divider, a real-world-scale project an order of magnitude more complex than anything we’d been asked to tackle before.</p>

<p>I understand now why half the class struggled with the earlier assignments. Without an explanation of how to systematically approach problems, anyone who didn’t intuitively grasp the correct solution was in for a semester of frustration. People who were, like me, above average but not great, skated through most of the class and either got lucky or wasted a huge chunk of time on the final project. I’ve even seen people talented enough to breeze through the entire degree without ever running into a problem too big to intuitively understand; those people have a very bad time when they run into a 10 million line codebase in the real world. The more talented the engineer, the more likely they are to hit a debugging wall outside of school.</p>

<p>It’s one of the most fundamental skills in engineering: start at the symptom of a problem and trace backwards to find the source. It takes, at most, half an hour to teach the absolute basics – and even that little bit would be enough to save a significant fraction of those who wash out and switch to non-STEM majors.</p>

<p>Why do we leave material out of classes and then fail students who can’t figure out that material for themselves? Why do we make the first couple years of an engineering major some kind of hazing ritual, instead of simply teaching people what they need to know to be good engineers? For all the high-level talk about how we need to plug the leaks in our STEM education pipeline, not only are we not plugging the holes, we’re proud of how fast the pipeline is leaking.</p>

<hr>
</blockquote>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-fs/2017-April/024702.html" target="_blank" rel="nofollow noopener">FreeBSD: pNFS server for testing</a></h3>

<ul>
<li>Rick Macklem has issued a call for testing his new pNFS server:</li>
</ul>

<blockquote>
<p>I now have a pNFS server that I think is ready for testing/evaluation. It is basically a patched FreeBSD-current kernel plus nfsd daemon.<br>
If you are interested, some very basic notes on how it works and how to set it up are at:<br>
<a href="http://people.freebsd.org/%7Ermacklem/pnfs-planb-setup.txt" target="_blank" rel="nofollow noopener">http://people.freebsd.org/~rmacklem/pnfs-planb-setup.txt</a></p>

<p>A Plan B pNFS service consists of a single MetaData Server (MDS) and K Data Servers (DS), all of which would be recent FreeBSD systems. Clients will mount the MDS as they would a single NFS server. When files are created, the MDS creates a file tree identical to what a single NFS server creates, except that all the regular (VREG) files will be empty. As such, if you look at the exported tree on the MDS directly on the MDS server (not via an NFS mount), the files will all be of size == 0. Each of these files will also have two extended attributes in the system attribute name space:<br>
pnfsd.dsfile - This extended attrbute stores the information that the MDS needs to find the data storage file on a DS for this file.<br>
pnfsd.dsattr - This extended attribute stores the Size, ModifyTime and Change attributes for the file.</p>

<p>For each regular (VREG) file, the MDS creates a data storage file on one of the K DSs, in one of the dsNN directories. The name of this file is the file handle of the file on the MDS in hexadecimal. The DSs use 20 subdirectories named "ds0" to "ds19" so that no one directory gets too large.<br>
At this time, the MDS generates File Layout layouts to NFSv4.1 clients that know how to do pNFS.<br>
For NFS clients that do not support NFSv4.1 pNFS, there will be a performance hit, since the IO RPCs will be proxied by the MDS for the DS server the data storage file resides on.<br>
The current setup does not allow for redundant servers. If the MDS or any of the K DS servers fail, the entire pNFS service will be non-functional.<br>
Looking at creating mirrored DS servers is planned, but it may be a year or more before that is implemented. I am planning on using the Flex File Layout for this, since it supports client side mirroring, where the client will write to all mirrors concurrently.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://www.tedunangst.com/flak/post/openbsd-changes-of-note-620" target="_blank" rel="nofollow noopener">Openbsd changes of note 620</a></li>
<li><a href="http://www.catonmat.net/blog/why-unix-commands-are-short/" target="_blank" rel="nofollow noopener">Why Unix commands are short</a></li>
<li><a href="https://opnsense.org/opnsense-17-1-5-released/" target="_blank" rel="nofollow noopener">OPNsense 17.1.5 released</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2017-April/625847.html" target="_blank" rel="nofollow noopener">Something for Apple dual-GPU users</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2017/05/01/msg000735.html" target="_blank" rel="nofollow noopener">pkgsrcCon 2017 CFT</a></li>
<li><a href="https://discourse.trueos.org/t/trueos-lumina-dev-q-a-5-4-17/1347" target="_blank" rel="nofollow noopener">TrueOS/Lumina Dev Q&amp;A: May 5th 2017</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="http://dpaste.com/0J14HGJ#wrap" target="_blank" rel="nofollow noopener">Peter - Jails</a></p></li>
<li><p><a href="http://dpaste.com/31AVFSF#wrap" target="_blank" rel="nofollow noopener">Andrew - Languages and University Courses</a></p>

<ul>
<li><a href="https://wiki.freebsd.org/JuniorJobs" target="_blank" rel="nofollow noopener">JuniorJobs </a></li>
</ul></li>
<li><p><a href="http://dpaste.com/1BXVZSY#wrap" target="_blank" rel="nofollow noopener">Steve - TrueOS and Bootloader</a></p></li>
<li><p><a href="http://dpaste.com/0R7AW2T#wrap" target="_blank" rel="nofollow noopener">Ben - ZFS questions</a></p></li>
<li><p><a href="http://dpaste.com/3ZR7NCC#wrap" target="_blank" rel="nofollow noopener">Steve - Linux Emulation</a></p>

<hr></li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This week we have a FreeBSD Foundation development update, tell you about sprinkling in the TrueOS project, Dynamic WDS &amp; a whole lot more!</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170501005206" target="_blank" rel="nofollow noopener">OpenSSH Removes SSHv1 Support</a></h3>

<ul>
<li>In a series of commits starting <a href="http://marc.info/?l=openbsd-cvs&amp;m=149359384905651&amp;w=2" target="_blank" rel="nofollow noopener">here</a> and ending with <a href="http://marc.info/?l=openbsd-cvs&amp;m=149359530105864&amp;w=2" target="_blank" rel="nofollow noopener">this one</a>, Damien Miller completed the removal of all support for the now-historic SSHv1 protocol from <a href="https://www.openssh.com/" target="_blank" rel="nofollow noopener">OpenSSH</a>.</li>
<li>The final commit message, for the commit that removes the SSHv1 related regression tests, reads:</li>
</ul>

<blockquote>
<p>Eliminate explicit specification of protocol in tests and loops over protocol. We only support SSHv2 now.<br>
Dropping support for SSHv1 and associated ciphers that were either suspected to or known to be broken has been planned for several releases, and has been eagerly anticipated by many in the OpenBSD camp.<br>
In practical terms this means that starting with OpenBSD-current and snapshots as they will be very soon (and further down the road OpenBSD 6.2 with OpenSSH 7.6), the arcane options you used with <a href="http://man.openbsd.org/ssh" target="_blank" rel="nofollow noopener">ssh</a> to connect to some end-of-life gear in a derelict data centre you don't want to visit anymore will no longer work and you will be forced do the reasonable thing. Upgrade.</p>

<hr>
</blockquote>

<h3><a href="https://www.freebsdfoundation.org/blog/april-2017-development-projects-update/" target="_blank" rel="nofollow noopener">FreeBSD Foundation April 2017 Development Projects Update</a></h3>

<blockquote>
<p>FreeBSD runs on many embedded boards that provide a USB target or USB On-the-Go (OTG) interface. This allows the embedded target to act as a USB device, and present one or more interfaces (USB device classes) to a USB host. That host could be running FreeBSD, Linux, Mac OS, Windows, Android, or another operating system. USB device classes include audio input or output (e.g. headphones), mass storage (USB flash drives), human interface device (keyboards, mice), communications (Ethernet adapters), and many others.</p>

<p>The Foundation awarded a project grant to Edward Tomasz Napierała to develop a USB mass storage target driver, using the FreeBSD CAM Target Layer (CTL) as a backend. This project allows FreeBSD running on an embedded platform, such as a BeagleBone Black or Raspberry Pi Zero, to emulate a USB mass storage target, commonly known as a USB flash stick. The backing storage for the emulated mass storage target is on the embedded board’s own storage media. It can be configured at runtime using the standard CTL configuration mechanism – the ctladm(8) utility, or the ctl.conf(5) file.</p>

<p>The FreeBSD target can now present a mass storage interface, a serial interface (for a console on the embedded system), and an Ethernet interface for network access. A typical usage scenario for the mass storage interface is to provide users with documentation and drivers that can be accessed from their host system. This makes it easier for new users to interact with the embedded FreeBSD board, especially in cases where the host operating system may require drivers to access all of the functionality, as with Windows and OS X.</p>
</blockquote>

<ul>
<li>They provide instructions on how to configure a BeagleBone Black to act as a flash memory stick attached to a host computer.
+Check out the article, test, and report back your experiences with the new USB OTG interface. 
***</li>
</ul>

<h3><a href="https://www.trueos.org/blog/spring-cleaning-hardware-update-preview-upcoming-trueos-changes/" target="_blank" rel="nofollow noopener">Spring cleaning: Hardware Update and Preview of upcoming TrueOS changes</a></h3>

<blockquote>
<p>The much-abused TrueOS build server is experiencing some technical difficulties, slowing down building new packages and releasing updates. After some investigation, one problem seemed to be a bug with the Poudriere port building software. After updating builders to the new version, some of the instability is resolved. Thankfully, we won’t have to rely on this server so much, because…</p>
</blockquote>

<ul>
<li>We’re getting new hardware!</li>
<li><p>A TrueOS/Lumina contributor is donating a new(ish) server to the project. Special thanks to TrueOS contributor/developer q5sys for the awesome new hardware!</p></li>
<li><p>Preview: UNSTABLE and Upcoming TrueOS STABLE update</p></li>
<li><p>A fresh UNSTABLE release is dropping today, with a few key changes:</p></li>
</ul>

<blockquote>
<p>Nvidia/graphics driver detection fixes.<br>
Boot environment listing fix (FreeBSD boot-loader only)<br>
Virtual box issues fixed on most systems. There appears to be a regression in VirtualBox 5.1 with some hardware.<br>
New icon themes for Lumina (Preferences -&gt; Appearance -&gt; Theme).<br>
Removal of legacy pc-diskmanager. It was broken and unmaintained, so it is time to remove it.</p>
</blockquote>

<ul>
<li>Installer/.iso Changes (Available with new STABLE Update):</li>
</ul>

<blockquote>
<p>The text installer has been removed. It was broken and unmaintained, so it is time to remove it.<br>
There is now a single TrueOS install image. You can still choose to install as either a server or desktop, but both options live in a single install image now. This image is still available as either an .iso or .img file.<br>
The size of the .iso and .img files is reduced about 500 Mb to around 2Gb total. We’ve removed Firefox and Thunderbird from the default desktop installation. These have been replaced with Qupzilla and Trojita. Note you can replace Qupzilla and Trojita with Firefox and Thunderbird via the SysAdm Appcafe after completing the TrueOS install.<br>
Grub is no longer an installation option. Instead, the FreeBSD boot-loader is always used for the TrueOS partition. rEFInd is used as the master boot-loader for multi-booting; EFI partitioning is required.<br>
Qpdfview is now preinstalled for pdf viewing.<br>
Included a slideshow during the installation with tips and screenshots.</p>
</blockquote>

<hr>

<h2>Interview - Patrick M. Hausen - <a href="mailto:hausen@punkt.de" target="_blank" rel="nofollow noopener">hausen@punkt.de</a></h2>

<ul>
<li>Founder of Punkt.de
<a href="https://wiki.freebsd.org/HAST" target="_blank" rel="nofollow noopener">HAST - Highly Available Storage</a></li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="http://adrianchadd.blogspot.com/2017/04/finally-investigating-how-to-get.html" target="_blank" rel="nofollow noopener">(finally) investigating how to get dynamic WDS (DWDS) working in FreeBSD!</a></h3>

<ul>
<li>Adrian Chadd writes in his blog:</li>
</ul>

<blockquote>
<p>I sat down recently to figure out how to get dynamic WDS working on FreeBSD-HEAD. It's been in FreeBSD since forever, and it in theory should actually have just worked, but it's extremely not documented in any useful way. It's basically the same technology in earlier Apple Airports (before it grew into what the wireless tech world calls "Proxy-STA") and is what the "extender" technology on Qualcomm Atheros chipsets implement.<br>
A common question I get from people is "why can't I bridge multiple virtual machines on my laptop and have them show up over wifi? It works on ethernet!" And my response is "when I make dynamic WDS work, you can just make this work on FreeBSD devices - but for now, use NAT." That always makes people sad.</p>

<ul>
<li>Goes on to explain that normal station/access point setups have up to three addresses and depending on the packet type, these can vary. There are a couple of variations in the addresses, which is more than the number of address fields in a normal 802.11 frame.</li>
</ul>

<p>The big note here is that there's not enough MAC addresses to say "please send this frame to a station MAC address, but then have them forward it to another MAC address attached behind it in a bridge." That would require 4 mac addresses in the 802.11 header, which we don't get.<br>
.. except we do. There's a separate address format where from-DS and to-DS bits in the header set to 1, which means "this frame is coming from distribution system to a distribution system", and it has four mac addresses. The RA is then the AP you're sending to, and then a fourth field indicates the eventual destination address that may be an ethernet device connected behind said STA.<br>
If you don't configure up WDS, then when you send frames from a station from a MAC address that isn't actually your 802.11 interface MAC address, the system would be confused. The STA wouldn't be able to transmit it easily, and the AP wouldn't know how to get back to your bridged ethernet addresses.<br>
The original WDS was a statically configured thing. [...]  So for static configurations, this works great. You'd associate your extender AP as a station of the central AP, it'd use wpa_supplicant to setup encryption, then anything between that central AP and that extender AP (as a station) would be encrypted as normal station traffic (but, 4-address frame format.)<br>
But that's not very convenient. You have to statically configure everything, including telling your central AP about all of your satellite extender APs. If you want to replace your central AP, you have to reprogram all of your extenders to use the new MAC addresses.<br>
So, Sam Leffler came up with "dynamic WDS" - where you don't have to explicitly state the list of central/satellite APs. Instead, you configure a central AP as "dynamic WDS", and when a 4-address frame shows up from an associated station, it "promotes" it to a WDS peer for you. On the satellite AP, it will just find an AP to communicate to, and then assume it'll do WDS and start using 4-address frames. It's still a bit clunky (there's no beacon, probe request, etc IEs that say "I do dynamic WDS!" so you'd better make ALL your central APs a different SSID!) but it certainly is better than what we had.<br>
Firstly, there are scripts in src/tools/tools/net80211/ - setup.wdsmain and setup.wdsrelay. These scripts are .. well, the almost complete documentation on a dynamic WDS setup. The manpage doesn't go into anywhere near enough information.<br>
So I dug into it. It turns out that dynamic WDS uses a helper daemon - 'wlanwds' -  which listens for dynamic WDS configuration changes and will do things for you. This is what runs on the central AP side. Then it started making sense!<br>
So far, so good. I followed that script, modified it a bit to use encryption, and .. well, it half worked. Association worked fine, but no traffic was passing.<br>
A little more digging showed the actual problem - the dynamic WDS example scripts are for an open/unencrypted network. If you are using an encrypted network, the central AP side needs to enable privacy on the virtual interfaces so traffic gets encrypted with the parent interface encryption keys.<br>
Now, I've only done enough testing to show that indeed it is working. I haven't done anything like pass lots of traffic via iperf, or have a mix of DWDS and normal STA peers, nor actually run it for longer than 5 minutes. I'm sure there will be issues to fix. However - I do need it at home, as I can't see the home AP from the upstairs room (and now you see why I care about DWDS!) and so when I start using it daily I'll fix whatever hilarity ensues.</p>

<hr>
</blockquote>

<h3><a href="https://danluu.com/teach-debugging/" target="_blank" rel="nofollow noopener">Why don't schools teach debugging?</a></h3>

<blockquote>
<p>A friend of mine and I couldn’t understand why some people were having so much trouble; the material seemed like common sense. The Feynman Method was the only tool we needed.<br>
Write down the problem<br>
Think real hard<br>
Write down the solution</p>

<p>The Feynman Method failed us on the last project: the design of a divider, a real-world-scale project an order of magnitude more complex than anything we’d been asked to tackle before.</p>

<p>I understand now why half the class struggled with the earlier assignments. Without an explanation of how to systematically approach problems, anyone who didn’t intuitively grasp the correct solution was in for a semester of frustration. People who were, like me, above average but not great, skated through most of the class and either got lucky or wasted a huge chunk of time on the final project. I’ve even seen people talented enough to breeze through the entire degree without ever running into a problem too big to intuitively understand; those people have a very bad time when they run into a 10 million line codebase in the real world. The more talented the engineer, the more likely they are to hit a debugging wall outside of school.</p>

<p>It’s one of the most fundamental skills in engineering: start at the symptom of a problem and trace backwards to find the source. It takes, at most, half an hour to teach the absolute basics – and even that little bit would be enough to save a significant fraction of those who wash out and switch to non-STEM majors.</p>

<p>Why do we leave material out of classes and then fail students who can’t figure out that material for themselves? Why do we make the first couple years of an engineering major some kind of hazing ritual, instead of simply teaching people what they need to know to be good engineers? For all the high-level talk about how we need to plug the leaks in our STEM education pipeline, not only are we not plugging the holes, we’re proud of how fast the pipeline is leaking.</p>

<hr>
</blockquote>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-fs/2017-April/024702.html" target="_blank" rel="nofollow noopener">FreeBSD: pNFS server for testing</a></h3>

<ul>
<li>Rick Macklem has issued a call for testing his new pNFS server:</li>
</ul>

<blockquote>
<p>I now have a pNFS server that I think is ready for testing/evaluation. It is basically a patched FreeBSD-current kernel plus nfsd daemon.<br>
If you are interested, some very basic notes on how it works and how to set it up are at:<br>
<a href="http://people.freebsd.org/%7Ermacklem/pnfs-planb-setup.txt" target="_blank" rel="nofollow noopener">http://people.freebsd.org/~rmacklem/pnfs-planb-setup.txt</a></p>

<p>A Plan B pNFS service consists of a single MetaData Server (MDS) and K Data Servers (DS), all of which would be recent FreeBSD systems. Clients will mount the MDS as they would a single NFS server. When files are created, the MDS creates a file tree identical to what a single NFS server creates, except that all the regular (VREG) files will be empty. As such, if you look at the exported tree on the MDS directly on the MDS server (not via an NFS mount), the files will all be of size == 0. Each of these files will also have two extended attributes in the system attribute name space:<br>
pnfsd.dsfile - This extended attrbute stores the information that the MDS needs to find the data storage file on a DS for this file.<br>
pnfsd.dsattr - This extended attribute stores the Size, ModifyTime and Change attributes for the file.</p>

<p>For each regular (VREG) file, the MDS creates a data storage file on one of the K DSs, in one of the dsNN directories. The name of this file is the file handle of the file on the MDS in hexadecimal. The DSs use 20 subdirectories named "ds0" to "ds19" so that no one directory gets too large.<br>
At this time, the MDS generates File Layout layouts to NFSv4.1 clients that know how to do pNFS.<br>
For NFS clients that do not support NFSv4.1 pNFS, there will be a performance hit, since the IO RPCs will be proxied by the MDS for the DS server the data storage file resides on.<br>
The current setup does not allow for redundant servers. If the MDS or any of the K DS servers fail, the entire pNFS service will be non-functional.<br>
Looking at creating mirrored DS servers is planned, but it may be a year or more before that is implemented. I am planning on using the Flex File Layout for this, since it supports client side mirroring, where the client will write to all mirrors concurrently.</p>

<hr>
</blockquote>

<h2>Beastie Bits</h2>

<ul>
<li><a href="http://www.tedunangst.com/flak/post/openbsd-changes-of-note-620" target="_blank" rel="nofollow noopener">Openbsd changes of note 620</a></li>
<li><a href="http://www.catonmat.net/blog/why-unix-commands-are-short/" target="_blank" rel="nofollow noopener">Why Unix commands are short</a></li>
<li><a href="https://opnsense.org/opnsense-17-1-5-released/" target="_blank" rel="nofollow noopener">OPNsense 17.1.5 released</a></li>
<li><a href="http://lists.dragonflybsd.org/pipermail/commits/2017-April/625847.html" target="_blank" rel="nofollow noopener">Something for Apple dual-GPU users</a></li>
<li><a href="https://mail-index.netbsd.org/netbsd-advocacy/2017/05/01/msg000735.html" target="_blank" rel="nofollow noopener">pkgsrcCon 2017 CFT</a></li>
<li><a href="https://discourse.trueos.org/t/trueos-lumina-dev-q-a-5-4-17/1347" target="_blank" rel="nofollow noopener">TrueOS/Lumina Dev Q&amp;A: May 5th 2017</a></li>
</ul>

<hr>

<h2>Feedback/Questions</h2>

<ul>
<li><p><a href="http://dpaste.com/0J14HGJ#wrap" target="_blank" rel="nofollow noopener">Peter - Jails</a></p></li>
<li><p><a href="http://dpaste.com/31AVFSF#wrap" target="_blank" rel="nofollow noopener">Andrew - Languages and University Courses</a></p>

<ul>
<li><a href="https://wiki.freebsd.org/JuniorJobs" target="_blank" rel="nofollow noopener">JuniorJobs </a></li>
</ul></li>
<li><p><a href="http://dpaste.com/1BXVZSY#wrap" target="_blank" rel="nofollow noopener">Steve - TrueOS and Bootloader</a></p></li>
<li><p><a href="http://dpaste.com/0R7AW2T#wrap" target="_blank" rel="nofollow noopener">Ben - ZFS questions</a></p></li>
<li><p><a href="http://dpaste.com/3ZR7NCC#wrap" target="_blank" rel="nofollow noopener">Steve - Linux Emulation</a></p>

<hr></li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>191: I Know 64 &amp; A Bunch More</title>
  <link>https://www.bsdnow.tv/191</link>
  <guid isPermaLink="false">c2ced77d-4e0a-40af-8909-a75819362a4d</guid>
  <pubDate>Wed, 26 Apr 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/c2ced77d-4e0a-40af-8909-a75819362a4d.mp3" length="91421140" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>We cover TrueOS/Lumina working to be less dependent on Linux, How the IllumOS network stack works, Throttling the password gropers &amp; the 64 bit inode call for testing.</itunes:subtitle>
  <itunes:duration>2:06:58</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>&lt;p&gt;We cover TrueOS/Lumina working to be less dependent on Linux, How the IllumOS network stack works, Throttling the password gropers &amp;amp; the 64 bit inode call for testing.&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://easychair.org/conferences/?conf=vbsdcon2017" target="_blank" rel="nofollow noopener"&gt;vBSDCon CFP closed April 29th&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;&lt;a href="https://2017.eurobsdcon.org/2017/03/13/call-for-proposals/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon CFP closes April 30th&lt;/a&gt;&lt;/h3&gt;

&lt;h3&gt;&lt;a href="https://www.trueos.org/blog/developer-commentary-philosophy-evolution-trueoslumina-thoughts/" target="_blank" rel="nofollow noopener"&gt;Developer Commentary: Philosophy, Evolution of TrueOS/Lumina, and Other Thoughts.&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Philosophy of Development

&lt;ul&gt;
&lt;li&gt;No project is an island. Every single project needs or uses some other external utility, library, communications format, standards compliance, and more in order to be useful.&lt;/li&gt;
&lt;li&gt;A static project is typically a dead project. A project needs regular upkeep and maintenance to ensure it continues to build and run with the current ecosystem of libraries and utilities, even if the project has no considerable changes to the code base or feature set. “Upstream” decisions can have drastic consequences on your project.&lt;/li&gt;
&lt;li&gt;Through no fault of yours, your project can be rendered obsolete or broken by changing standards in the global ecosystem that affect your project’s dependencies.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Operating system focus is key. What OS is the project originally designed for? This determines how the “upstream” dependencies list appears and which “heartbeat” to monitor.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Evolution of PC-BSD, Lumina, and TrueOS.  With these principles in mind – let's look at PC-BSD, Lumina, and TrueOS.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PC-BSD : PC-BSD was largely designed around KDE on FreeBSD. KDE/Plasma5 has been available for Linux OS’s for well over a year, but is still not generally available on FreeBSD. It is still tucked away in the experimental “area51” repository where people are trying to get it working first.&lt;/li&gt;
&lt;li&gt;Lumina : As a developer with PC-BSD for a long time, and a tester from nearly the beginning of the project, I was keenly aware  the “winds of change” were blowing in the open-source ecosystem.&lt;/li&gt;
&lt;li&gt;TrueOS : All of these ecosystem changes finally came to a head for us near the beginning of 2016. KDE4 was starting to deteriorate underneath us, and the FreeBSD “Release” branch would never allow us to compete with the rate of graphics driver or standards changes coming out of the Linux camp.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The Rename and Next Steps&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;With all of these changes and the lack of a clear “upgrade” path from PC-BSD to the new systems, we decided it was necessary to change the project itself (name and all). To us, this was the only way to ensure people were aware of the differences, and that TrueOS really is a different kind of project from PC-BSD. Note this was not a “hostile takeover” of the PC-BSD project by rabid FreeBSD fanatics. This was more a refocusing of the PC-BSD project into something that could ensure longevity and reliability for the foreseeable future.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
 Does TrueOS have bugs and issues? Of course! That is the nature of “rolling” with upstream changes all the time. Not only do you always get the latest version of something (a good thing), you also find yourself on the “front line” for finding and reporting bugs in those same applications (a bad thing if you like consistency or stability). What you are also seeing is just how much “churn” happens in the open-source ecosystem at any given time.
 We are devoted to providing our users (and ourselves – don’t forget we use TrueOS every day too!) a stable, reliable, and secure experience. Please be patient as we continue striving toward this goal in the best way possible, not just doing what works for the moment, but the project’s future too.
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://www.youtube.com/watch?v=vnD10WQ2930" target="_blank" rel="nofollow noopener"&gt;Robert Mustacchi: Excerpts from The Soft Ring Cycle #1&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The author of the “Turtles on the Wire” post we featured the other week, is back with a video.&lt;/li&gt;
&lt;li&gt;Joyent has started a new series of lunchtime technical discussions to share information as they grow their engineering team&lt;/li&gt;
&lt;li&gt;This video focuses on the network stack, how it works, and how it relates to virtualization and multi-tenancy&lt;/li&gt;
&lt;li&gt;Basically, how the network stack on IllumOS works when you have virtual tenants, be they virtual machines or zones&lt;/li&gt;
&lt;li&gt;The video describes the many layers of the network stack, how they work together, and how they can be made to work quickly&lt;/li&gt;
&lt;li&gt;It also talks about the trade-offs between high throughput and low latency&lt;/li&gt;
&lt;li&gt;How security is enforced, so virtual tenants cannot send packets into VLANs they are not members of, or receive traffic that they are not allowed to by the administrator&lt;/li&gt;
&lt;li&gt;How incoming packets are classified, and eventually delivered to the intended destination&lt;/li&gt;
&lt;li&gt;How the system decides if it has enough available resources to process the packet, or if it needs to be dropped&lt;/li&gt;
&lt;li&gt;How interface polling works on IllumOS (a lot different than on FreeBSD)&lt;/li&gt;
&lt;li&gt;Then the last 20 minutes are about how the qemu interface of the KVM hypervisor interfaces with the network stack&lt;/li&gt;
&lt;li&gt;We look forward to seeing more of these videos as they come out
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://bsdly.blogspot.com/2017/04/forcing-password-gropers-through.html" target="_blank" rel="nofollow noopener"&gt;Forcing the password gropers through a smaller hole with OpenBSD's PF queues&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;While preparing material for the upcoming &lt;a href="http://www.bsdcan.org/2017/schedule/events/805.en.html" target="_blank" rel="nofollow noopener"&gt;BSDCan PF and networking tutorial&lt;/a&gt;, I realized that the pop3 gropers were actually not much fun to watch anymore. So I used the traffic shaping features of my OpenBSD firewall to let the miscreants inflict some pain on themselves. Watching logs became fun again.&lt;br&gt;
The actual useful parts of this article follow - take this as a walkthrough of how to mitigate a wide range of threats and annoyances.&lt;br&gt;
First, analyze the behavior that you want to defend against. In our case that's fairly obvious: We have a service that's getting a volume of unwanted traffic, and looking at our logs the attempts come fairly quickly with a number of repeated attempts from each source address.&lt;br&gt;
I've written about the rapid-fire ssh bruteforce attacks and their mitigation before (and of course it's in The Book of PF) as well as the slower kind where those techniques actually come up short. The traditional approach to ssh bruteforcers has been to simply block their traffic, and the state-tracking features of PF let you set up overload criteria that add the source addresses to the table that holds the addresses you want to block.&lt;br&gt;
For the system that runs our pop3 service, we also have a PF ruleset in place with queues for traffic shaping. For some odd reason that ruleset is fairly close to the HFSC traffic shaper example in The Book of PF, and it contains a queue that I set up mainly as an experiment to annoy spammers (as in, the ones that are already for one reason or the other blacklisted by our spamd).&lt;br&gt;
The queue is defined like this:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt; 
 queue spamd parent rootq bandwidth 1K min 0K max 1K qlimit 300
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;yes, that's right. A queue with a maximum throughput of 1 kilobit per second. I have been warned that this is small enough that the code may be unable to strictly enforce that limit due to the timer resolution in the HFSC code. But that didn't keep me from trying.&lt;br&gt;
Now a few small additions to the ruleset are needed for the good to put the evil to the task. We start with a table to hold the addresses we want to mess with. Actually, I'll add two, for reasons that will become clear later:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
   table  persist counters 
   table  persist counters 
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The rules that use those tables are:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
   block drop log (all) quick from  

   pass in quick log (all) on egress proto tcp from  to port pop3 flags S/SA keep state \ 
   (max-src-conn 2, max-src-conn-rate 3/3, overload  flush global, pflow) set queue spamd 

   pass in log (all) on egress proto tcp to port pop3 flags S/SA keep state \ 
   (max-src-conn 5, max-src-conn-rate 6/3, overload  flush global, pflow) 
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;The last one lets anybody connect to the pop3 service, but any one source address can have only open five simultaneous connections and at a rate of six over three seconds.&lt;/p&gt;

&lt;p&gt;The results were immediately visible. Monitoring the queues using pfctl -vvsq shows the tiny queue works as expected:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
   queue spamd parent rootq bandwidth 1K, max 1K qlimit 300
    [ pkts:     196136  bytes:   12157940  dropped pkts: 398350 bytes: 24692564 ]
    [ qlength: 300/300 ]
    [ measured:     2.0 packets/s, 999.13 b/s ]
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;and looking at the pop3 daemon's log entries, a typical encounter looks like this:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
   Apr 19 22:39:33 skapet spop3d[44875]: connect from 111.181.52.216
   Apr 19 22:39:33 skapet spop3d[75112]: connect from 111.181.52.216
   Apr 19 22:39:34 skapet spop3d[57116]: connect from 111.181.52.216
   Apr 19 22:39:34 skapet spop3d[65982]: connect from 111.181.52.216
   Apr 19 22:39:34 skapet spop3d[58964]: connect from 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[12410]: autologout time elapsed - 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[63573]: autologout time elapsed - 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[76113]: autologout time elapsed - 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[23524]: autologout time elapsed - 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[16916]: autologout time elapsed - 111.181.52.216
&lt;/blockquote&gt;

&lt;blockquote&gt;
&lt;p&gt;here the miscreant comes in way too fast and only manages to get five connections going before they're shunted to the tiny queue to fight it out with known spammers for a share of bandwidth.&lt;br&gt;
One important takeaway from this, and possibly the most important point of this article, is that it does not take a lot of imagination to retool this setup to watch for and protect against undesirable activity directed at essentially any network service.&lt;br&gt;
You pick the service and the ports it uses, then figure out what are the parameters that determine what is acceptable behavior. Once you have those parameters defined, you can choose to assign to a minimal queue like in this example, block outright, redirect to something unpleasant or even pass with a low probability.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-fs/2017-April/024684.html" target="_blank" rel="nofollow noopener"&gt;64-bit inodes (ino64) Status Update and Call for Testing&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Inodes are data structures corresponding to objects in a file system, such as files and directories. FreeBSD has historically used 32-bit values to identify inodes, which limits file systems to somewhat under 2&lt;sup&gt;32&lt;/sup&gt; objects. Many modern file systems internally use 64-bit identifiers and FreeBSD needs to follow suit to properly and fully support these file systems.&lt;/p&gt;

&lt;p&gt;The 64-bit inode project, also known as ino64, started life many years ago as a project by Gleb Kurtsou (gleb@).  After that time several people have had a hand in updating it and addressing regressions, after mckusick@ picked up and updated the patch, and acted as a flag-waver.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ol&gt;
&lt;li&gt;Overview : The ino64 branch extends the basic system types ino_t and dev_t from 32-bit to 64-bit, and nlink_t from 16-bit to 64-bit.&lt;/li&gt;
&lt;li&gt;Motivation : The main risk of the ino64 change is the uncontrolled ABI breakage.&lt;/li&gt;
&lt;li&gt;Quirks : We handled kinfo sysctl MIBs, but other MIBs which report structures depended on the changed type, are not handled in general.  It was considered that the breakage is either in the management interfaces, where we usually allow ABI slip, or is not important.&lt;/li&gt;
&lt;li&gt;Testing procedure : The ino64 project can be tested by cloning the project branch from GitHub or by applying the patch  to a working tree.

&lt;ul&gt;
&lt;li&gt;New kernel, old world.&lt;/li&gt;
&lt;li&gt;New kernel, new world, old third-party applications.&lt;/li&gt;
&lt;li&gt;32bit compat.&lt;/li&gt;
&lt;li&gt;Targeted tests.&lt;/li&gt;
&lt;li&gt;NFS server and client test&lt;/li&gt;
&lt;li&gt;Other filesystems&lt;/li&gt;
&lt;li&gt;Test accounting&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Ports Status with ino64 : A ports exp-run for ino64 is open in PR 218320.
5.1. LLVM : LLVM includes a component called Address Sanitizer or ASAN, which triesto intercept syscalls, and contains knowledge of the layout of many system structures.  Since stat and lstat syscalls were removed and several types and structures changed, this has to be reflected in the ASAN hacks.
5.2. lang/ghc : The ghc compiler and parts of the runtime are written in Haskell, which means that to compile ghc, you need a working Haskell compiler for bootstrap.
5.3. lang/rust Rustc has a similar structure to GHC, and same issue.  The same solution of patching the bootstrap was done.&lt;/li&gt;
&lt;li&gt;Next Steps : The tentative schedule for the ino64 project:

&lt;ul&gt;
&lt;li&gt;2017-04-20 Post wide call for testing : Investigate and address port failures with maintainer support&lt;/li&gt;
&lt;li&gt;2017-05-05 Request second exp-run with initial patches applied : Investigate and address port failures with maintainer support&lt;/li&gt;
&lt;li&gt;2017-05-19 Commit to HEAD : Address post-commit failures where feasible
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="http://meka.rs/blog/2017/01/25/sing-beastie-sing/" target="_blank" rel="nofollow noopener"&gt;Sing, beastie, sing!&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD digital audio workstation, or DAW for short, is now possible. At this very moment it's not user friendly that much, but you'll manage. What I want to say is that I worked on porting some of the audio apps to FreeBSD, met some other people interested in porting audio stuff and became heavily involved with DrumGizmo - drum sampling engine. Let me start with the basic setup.&lt;br&gt;
FreeBSD doesn't have hard real-time support, but it's pretty close. For the needs of audio, FreeBSD's implementation of real-time is sufficient and, in my opinion, superior to the one you can get on Linux with RT path (which is ugly, not supported by distributions and breaks apps like VirtualBox). As default install of FreeBSD is concerned with real-time too much, we have to tweak sysctl a bit, so append this to your /etc/sysctl.conf:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
   kern.timecounter.alloweddeviation=0
   hw.usb.uaudio.buffer_ms=2 # only on -STABLE for now
   hw.snd.latency=0
   kern.coredump=0
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;So let me go through the list. First item tells FreeBSD how many events it can aggregate (or wait for) before emitting them. The reason this is the default is because aggregating events saves power a bit, and currently more laptops are running FreeBSD than DAWs. Second one is the lowest possible buffer for USB audio driver. If you're not using USB audio, this won't change a thing. Third one has nothing to do with real-time, but dealing with programs that consume ~3GB of RAM, dumping cores around made a problem on my machine. Besides, core dumps are only useful if you know how to debug the problem, or someone is willing to do that for you. I like to not generate those files by default, but if some app is constantly crashing, I enable dumps, run the app, crash it, and disable dumps again. I lost 30GB in under a minute by examining 10 different drumkits of DrumGizmo and all of them gave me 3GB of core file, each.&lt;/li&gt;
&lt;li&gt;More setup instructions follow, including jackd setup and PulseAudio using virtual_oss.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;With this setup I can play OSS, JACK and PulseAudio sound all at the same time, which I was not able to do on Linux.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://itso.dk/?p=499" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11 Unbound DNS server&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;In FreeBSD, there is a built-in DNS server called Unbound.&lt;br&gt;
So why would run a local DNS server? I am in a region where internet traffic is still a bit expensive, that also implies slow, and high response times. To speed that a up a little, you can use own DNS server. It will speed up because for every homepage you visit, there will be several hooks to other domains: commercials, site components, and links to other sites. These, will now all be cached locally on your new DNS server. In my case I use an old PC-Engine Alix board for my home DNS server, but you can use almost everything, Raspberry Pi, old laptop/desktop and others. As long as it runs FreeBSD.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Goes into more details about what commands to run and which services to start&lt;/li&gt;
&lt;li&gt;Try it out if you are in a similar situation
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://arxiv.org/pdf/1704.02786.pdf" target="_blank" rel="nofollow noopener"&gt;Why it is important that documentation and tutorials be correct and carefully reviewed&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A group of researchers found that a lot of online web programming tutorials contain serious security flaws. They decided to do a research project to see how this impacts software that is written possibly based on those tutorials.&lt;/li&gt;
&lt;li&gt;They used a number of simple google search terms to make a list of tutorials, and manually audited them for common vulnerabilities. They then crawled GitHub to find projects with very similar code snippets that might have been taken from those tutorials.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The Web is replete with tutorial-style content on how to accomplish programming tasks. Unfortunately, even top-ranked tutorials suffer from severe security vulnerabilities, such as cross-site scripting (XSS), and SQL injection (SQLi). Assuming that these tutorials influence real-world software development, we hypothesize that code snippets from popular tutorials can be used to bootstrap vulnerability discovery at scale. To validate our hypothesis, we propose a semi-automated approach to find recurring vulnerabilities starting from a handful of top-ranked tutorials that contain vulnerable code snippets. We evaluate our approach by performing an analysis of tens of thousands of open-source web applications to check if vulnerabilities originating in the selected tutorials recur.&lt;br&gt;
Our analysis framework has been running on a standard PC, analyzed 64,415 PHP codebases hosted on GitHub thus far, and found a total of 117 vulnerabilities that have a strong syntactic similarity to vulnerable code snippets present in popular tutorials. In addition to shedding light on the anecdotal belief that programmers reuse web tutorial code in an ad hoc manner, our study finds disconcerting evidence of insufficiently reviewed tutorials compromising the security of open-source projects.  Moreover, our findings testify to the feasibility of large-scale vulnerability discovery using poorly written tutorials as a starting point&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The researchers found 117 vulnerabilities, of these, at least 8 appear to be nearly exact copy/pastes of the tutorials that were found to be vulnerable.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://lumina-desktop.org/1-3-0-development-preview-new-icon-themes/" target="_blank" rel="nofollow noopener"&gt;1.3.0 Development Preview: New icon themes&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;As version 1.3.0 of the Lumina desktop starts getting closer to release, I want to take a couple weeks and give you all some sneak peaks at some of the changes/updates that we have been working on (and are in the process of finishing up). &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lumina-desktop.org/1-3-0-development-preview-new-icon-themes/" target="_blank" rel="nofollow noopener"&gt;New icon theme&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Material Design Light/Dark &lt;/li&gt;
&lt;li&gt;There are a lot more icons available in the reference icon packs which we still have not gotten around to renaming yet, but this initial version satisfies all the XDG standards for an icon theme + all the extra icons needed for Lumina and it’s utilities + a large number of additional icons for application use.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This highlights one the big things that I love about Lumina: it gives you an interface that is custom-tailored to YOUR needs/wants – rather than expecting YOU to change your routines to accomodate how some random developer/designer across the world thinks everybody should use a computer.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lumina-desktop.org/1-3-0-development-preview-lumina-mediaplayer/" target="_blank" rel="nofollow noopener"&gt;Lumina Media Player&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This is a small utility designed to provide the ability for the user to play audio and video files on the local system, as well as stream audio from online sources. For now, only the Pandora internet radio service is supported via the “pianobar” CLI utility, which is an optional runtime dependency. However, we hope to gradually add new streaming sources over time. &lt;br&gt;
For a long time I had been using another Pandora streaming client on my TrueOS desktop, but it was very fragile with respect to underlying changes: LibreSSL versions for example. The player would regularly stop functioning for a few update cycles until a version of LibreSSL which was “compatible” with the player was used. After enduring this for some time, I was finally frustrated enough to start looking for alternatives. &lt;br&gt;
A co-worker pointed me to a command-line utility called “pianobar“, which was also a small client for Pandora radio. After using pianobar for a couple weeks, I was impressed with how stable it was and how little “overhead” it required with regards to extra runtime dependencies. Of course, I started thinking “I could write a Qt5 GUI for that!”. Once I had a few free hours, I started writing what became lumina-mediaplayer. I started with the interface to pianobar itself to see how complicated it would be to interact with, but after a couple days of tinkering in my spare time, I realized I had a full client to Pandora radio basically finished.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://easychair.org/conferences/?conf=vbsdcon2017" target="_blank" rel="nofollow noopener"&gt;vBSDCon CFP closes April 29th&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://2017.eurobsdcon.org/2017/03/13/call-for-proposals/" target="_blank" rel="nofollow noopener"&gt;EuroBSDCon CFP closes April 30th&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170421001933" target="_blank" rel="nofollow noopener"&gt;clang(1) added to base on amd64 and i386&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-misc&amp;amp;m=149232307018311&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;Theo: “Most things come to an end, sorry.”&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.dragonflydigest.com/2017/04/24/19609.html" target="_blank" rel="nofollow noopener"&gt;ASLR, PIE, NX, and other capital letters&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ssh.com/ssh/port" target="_blank" rel="nofollow noopener"&gt;How SSH got port number 22&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://news.ycombinator.com/item?id=14128637" target="_blank" rel="nofollow noopener"&gt;Netflix Serving 90Gb/s+ From Single Machines Using Tuned FreeBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=317414" target="_blank" rel="nofollow noopener"&gt;Compressed zfs send / receive lands in FreeBSD HEAD&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3QSMYEH#wrap" target="_blank" rel="nofollow noopener"&gt;Steve - FreeBSD Jobs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0NNYH22#wrap" target="_blank" rel="nofollow noopener"&gt;Mike - CuBox i4Pro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1QRZBPD#wrap" target="_blank" rel="nofollow noopener"&gt;Steve - Year of the BSD Desktop?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2TFV8AJ#wrap" target="_blank" rel="nofollow noopener"&gt;Brad - Configuration Management&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>We cover TrueOS/Lumina working to be less dependent on Linux, How the IllumOS network stack works, Throttling the password gropers &amp; the 64 bit inode call for testing.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://easychair.org/conferences/?conf=vbsdcon2017" target="_blank" rel="nofollow noopener">vBSDCon CFP closed April 29th</a></h3>

<h3><a href="https://2017.eurobsdcon.org/2017/03/13/call-for-proposals/" target="_blank" rel="nofollow noopener">EuroBSDCon CFP closes April 30th</a></h3>

<h3><a href="https://www.trueos.org/blog/developer-commentary-philosophy-evolution-trueoslumina-thoughts/" target="_blank" rel="nofollow noopener">Developer Commentary: Philosophy, Evolution of TrueOS/Lumina, and Other Thoughts.</a></h3>

<ul>
<li>Philosophy of Development

<ul>
<li>No project is an island. Every single project needs or uses some other external utility, library, communications format, standards compliance, and more in order to be useful.</li>
<li>A static project is typically a dead project. A project needs regular upkeep and maintenance to ensure it continues to build and run with the current ecosystem of libraries and utilities, even if the project has no considerable changes to the code base or feature set. Upstream decisions can have drastic consequences on your project.</li>
<li>Through no fault of yours, your project can be rendered obsolete or broken by changing standards in the global ecosystem that affect your projects dependencies.</li>
</ul></li>
<li><p>Operating system focus is key. What OS is the project originally designed for? This determines how the upstream dependencies list appears and which heartbeat to monitor.</p></li>
<li><p>Evolution of PC-BSD, Lumina, and TrueOS.  With these principles in mind  let's look at PC-BSD, Lumina, and TrueOS.</p>

<ul>
<li>PC-BSD : PC-BSD was largely designed around KDE on FreeBSD. KDE/Plasma5 has been available for Linux OSs for well over a year, but is still not generally available on FreeBSD. It is still tucked away in the experimental area51 repository where people are trying to get it working first.</li>
<li>Lumina : As a developer with PC-BSD for a long time, and a tester from nearly the beginning of the project, I was keenly aware  the winds of change were blowing in the open-source ecosystem.</li>
<li>TrueOS : All of these ecosystem changes finally came to a head for us near the beginning of 2016. KDE4 was starting to deteriorate underneath us, and the FreeBSD Release branch would never allow us to compete with the rate of graphics driver or standards changes coming out of the Linux camp.</li>
</ul></li>
<li><p>The Rename and Next Steps</p></li>
</ul>

<blockquote>
<p>With all of these changes and the lack of a clear upgrade path from PC-BSD to the new systems, we decided it was necessary to change the project itself (name and all). To us, this was the only way to ensure people were aware of the differences, and that TrueOS really is a different kind of project from PC-BSD. Note this was not a hostile takeover of the PC-BSD project by rabid FreeBSD fanatics. This was more a refocusing of the PC-BSD project into something that could ensure longevity and reliability for the foreseeable future.</p>
</blockquote>

<blockquote>
 Does TrueOS have bugs and issues? Of course! That is the nature of rolling with upstream changes all the time. Not only do you always get the latest version of something (a good thing), you also find yourself on the front line for finding and reporting bugs in those same applications (a bad thing if you like consistency or stability). What you are also seeing is just how much churn happens in the open-source ecosystem at any given time.
 We are devoted to providing our users (and ourselves  dont forget we use TrueOS every day too!) a stable, reliable, and secure experience. Please be patient as we continue striving toward this goal in the best way possible, not just doing what works for the moment, but the projects future too.
</blockquote>

<hr>

<h3><a href="https://www.youtube.com/watch?v=vnD10WQ2930" target="_blank" rel="nofollow noopener">Robert Mustacchi: Excerpts from The Soft Ring Cycle #1</a></h3>

<ul>
<li>The author of the Turtles on the Wire post we featured the other week, is back with a video.</li>
<li>Joyent has started a new series of lunchtime technical discussions to share information as they grow their engineering team</li>
<li>This video focuses on the network stack, how it works, and how it relates to virtualization and multi-tenancy</li>
<li>Basically, how the network stack on IllumOS works when you have virtual tenants, be they virtual machines or zones</li>
<li>The video describes the many layers of the network stack, how they work together, and how they can be made to work quickly</li>
<li>It also talks about the trade-offs between high throughput and low latency</li>
<li>How security is enforced, so virtual tenants cannot send packets into VLANs they are not members of, or receive traffic that they are not allowed to by the administrator</li>
<li>How incoming packets are classified, and eventually delivered to the intended destination</li>
<li>How the system decides if it has enough available resources to process the packet, or if it needs to be dropped</li>
<li>How interface polling works on IllumOS (a lot different than on FreeBSD)</li>
<li>Then the last 20 minutes are about how the qemu interface of the KVM hypervisor interfaces with the network stack</li>
<li>We look forward to seeing more of these videos as they come out
***</li>
</ul>

<h3><a href="http://bsdly.blogspot.com/2017/04/forcing-password-gropers-through.html" target="_blank" rel="nofollow noopener">Forcing the password gropers through a smaller hole with OpenBSD's PF queues</a></h3>

<blockquote>
<p>While preparing material for the upcoming <a href="http://www.bsdcan.org/2017/schedule/events/805.en.html" target="_blank" rel="nofollow noopener">BSDCan PF and networking tutorial</a>, I realized that the pop3 gropers were actually not much fun to watch anymore. So I used the traffic shaping features of my OpenBSD firewall to let the miscreants inflict some pain on themselves. Watching logs became fun again.<br>
The actual useful parts of this article follow - take this as a walkthrough of how to mitigate a wide range of threats and annoyances.<br>
First, analyze the behavior that you want to defend against. In our case that's fairly obvious: We have a service that's getting a volume of unwanted traffic, and looking at our logs the attempts come fairly quickly with a number of repeated attempts from each source address.<br>
I've written about the rapid-fire ssh bruteforce attacks and their mitigation before (and of course it's in The Book of PF) as well as the slower kind where those techniques actually come up short. The traditional approach to ssh bruteforcers has been to simply block their traffic, and the state-tracking features of PF let you set up overload criteria that add the source addresses to the table that holds the addresses you want to block.<br>
For the system that runs our pop3 service, we also have a PF ruleset in place with queues for traffic shaping. For some odd reason that ruleset is fairly close to the HFSC traffic shaper example in The Book of PF, and it contains a queue that I set up mainly as an experiment to annoy spammers (as in, the ones that are already for one reason or the other blacklisted by our spamd).<br>
The queue is defined like this:</p>
</blockquote>

<blockquote> 
 queue spamd parent rootq bandwidth 1K min 0K max 1K qlimit 300
</blockquote>

<blockquote>
<p>yes, that's right. A queue with a maximum throughput of 1 kilobit per second. I have been warned that this is small enough that the code may be unable to strictly enforce that limit due to the timer resolution in the HFSC code. But that didn't keep me from trying.<br>
Now a few small additions to the ruleset are needed for the good to put the evil to the task. We start with a table to hold the addresses we want to mess with. Actually, I'll add two, for reasons that will become clear later:</p>
</blockquote>

<blockquote>
   table  persist counters 
   table  persist counters 
</blockquote>

<blockquote>
<p>The rules that use those tables are:</p>
</blockquote>

<blockquote>
   block drop log (all) quick from  

   pass in quick log (all) on egress proto tcp from  to port pop3 flags S/SA keep state \ 
   (max-src-conn 2, max-src-conn-rate 3/3, overload  flush global, pflow) set queue spamd 

   pass in log (all) on egress proto tcp to port pop3 flags S/SA keep state \ 
   (max-src-conn 5, max-src-conn-rate 6/3, overload  flush global, pflow) 
</blockquote>

<blockquote>
<p>The last one lets anybody connect to the pop3 service, but any one source address can have only open five simultaneous connections and at a rate of six over three seconds.</p>

<p>The results were immediately visible. Monitoring the queues using pfctl -vvsq shows the tiny queue works as expected:</p>
</blockquote>

<blockquote>
   queue spamd parent rootq bandwidth 1K, max 1K qlimit 300
    [ pkts:     196136  bytes:   12157940  dropped pkts: 398350 bytes: 24692564 ]
    [ qlength: 300/300 ]
    [ measured:     2.0 packets/s, 999.13 b/s ]
</blockquote>

<blockquote>
<p>and looking at the pop3 daemon's log entries, a typical encounter looks like this:</p>
</blockquote>

<blockquote>
   Apr 19 22:39:33 skapet spop3d[44875]: connect from 111.181.52.216
   Apr 19 22:39:33 skapet spop3d[75112]: connect from 111.181.52.216
   Apr 19 22:39:34 skapet spop3d[57116]: connect from 111.181.52.216
   Apr 19 22:39:34 skapet spop3d[65982]: connect from 111.181.52.216
   Apr 19 22:39:34 skapet spop3d[58964]: connect from 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[12410]: autologout time elapsed - 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[63573]: autologout time elapsed - 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[76113]: autologout time elapsed - 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[23524]: autologout time elapsed - 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[16916]: autologout time elapsed - 111.181.52.216
</blockquote>

<blockquote>
<p>here the miscreant comes in way too fast and only manages to get five connections going before they're shunted to the tiny queue to fight it out with known spammers for a share of bandwidth.<br>
One important takeaway from this, and possibly the most important point of this article, is that it does not take a lot of imagination to retool this setup to watch for and protect against undesirable activity directed at essentially any network service.<br>
You pick the service and the ports it uses, then figure out what are the parameters that determine what is acceptable behavior. Once you have those parameters defined, you can choose to assign to a minimal queue like in this example, block outright, redirect to something unpleasant or even pass with a low probability.</p>
</blockquote>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-fs/2017-April/024684.html" target="_blank" rel="nofollow noopener">64-bit inodes (ino64) Status Update and Call for Testing</a></h3>

<blockquote>
<p>Inodes are data structures corresponding to objects in a file system, such as files and directories. FreeBSD has historically used 32-bit values to identify inodes, which limits file systems to somewhat under 2<sup>32</sup> objects. Many modern file systems internally use 64-bit identifiers and FreeBSD needs to follow suit to properly and fully support these file systems.</p>

<p>The 64-bit inode project, also known as ino64, started life many years ago as a project by Gleb Kurtsou (gleb@).  After that time several people have had a hand in updating it and addressing regressions, after mckusick@ picked up and updated the patch, and acted as a flag-waver.</p>
</blockquote>

<ol>
<li>Overview : The ino64 branch extends the basic system types ino_t and dev_t from 32-bit to 64-bit, and nlink_t from 16-bit to 64-bit.</li>
<li>Motivation : The main risk of the ino64 change is the uncontrolled ABI breakage.</li>
<li>Quirks : We handled kinfo sysctl MIBs, but other MIBs which report structures depended on the changed type, are not handled in general.  It was considered that the breakage is either in the management interfaces, where we usually allow ABI slip, or is not important.</li>
<li>Testing procedure : The ino64 project can be tested by cloning the project branch from GitHub or by applying the patch  to a working tree.

<ul>
<li>New kernel, old world.</li>
<li>New kernel, new world, old third-party applications.</li>
<li>32bit compat.</li>
<li>Targeted tests.</li>
<li>NFS server and client test</li>
<li>Other filesystems</li>
<li>Test accounting</li>
</ul></li>
<li>Ports Status with ino64 : A ports exp-run for ino64 is open in PR 218320.
5.1. LLVM : LLVM includes a component called Address Sanitizer or ASAN, which triesto intercept syscalls, and contains knowledge of the layout of many system structures.  Since stat and lstat syscalls were removed and several types and structures changed, this has to be reflected in the ASAN hacks.
5.2. lang/ghc : The ghc compiler and parts of the runtime are written in Haskell, which means that to compile ghc, you need a working Haskell compiler for bootstrap.
5.3. lang/rust Rustc has a similar structure to GHC, and same issue.  The same solution of patching the bootstrap was done.</li>
<li>Next Steps : The tentative schedule for the ino64 project:

<ul>
<li>2017-04-20 Post wide call for testing : Investigate and address port failures with maintainer support</li>
<li>2017-05-05 Request second exp-run with initial patches applied : Investigate and address port failures with maintainer support</li>
<li>2017-05-19 Commit to HEAD : Address post-commit failures where feasible
***</li>
</ul></li>
</ol>

<h2>News Roundup</h2>

<h3><a href="http://meka.rs/blog/2017/01/25/sing-beastie-sing/" target="_blank" rel="nofollow noopener">Sing, beastie, sing!</a></h3>

<blockquote>
<p>FreeBSD digital audio workstation, or DAW for short, is now possible. At this very moment it's not user friendly that much, but you'll manage. What I want to say is that I worked on porting some of the audio apps to FreeBSD, met some other people interested in porting audio stuff and became heavily involved with DrumGizmo - drum sampling engine. Let me start with the basic setup.<br>
FreeBSD doesn't have hard real-time support, but it's pretty close. For the needs of audio, FreeBSD's implementation of real-time is sufficient and, in my opinion, superior to the one you can get on Linux with RT path (which is ugly, not supported by distributions and breaks apps like VirtualBox). As default install of FreeBSD is concerned with real-time too much, we have to tweak sysctl a bit, so append this to your /etc/sysctl.conf:</p>
</blockquote>

<blockquote>
   kern.timecounter.alloweddeviation=0
   hw.usb.uaudio.buffer_ms=2 # only on -STABLE for now
   hw.snd.latency=0
   kern.coredump=0
</blockquote>

<ul>
<li>So let me go through the list. First item tells FreeBSD how many events it can aggregate (or wait for) before emitting them. The reason this is the default is because aggregating events saves power a bit, and currently more laptops are running FreeBSD than DAWs. Second one is the lowest possible buffer for USB audio driver. If you're not using USB audio, this won't change a thing. Third one has nothing to do with real-time, but dealing with programs that consume ~3GB of RAM, dumping cores around made a problem on my machine. Besides, core dumps are only useful if you know how to debug the problem, or someone is willing to do that for you. I like to not generate those files by default, but if some app is constantly crashing, I enable dumps, run the app, crash it, and disable dumps again. I lost 30GB in under a minute by examining 10 different drumkits of DrumGizmo and all of them gave me 3GB of core file, each.</li>
<li>More setup instructions follow, including jackd setup and PulseAudio using virtual_oss.</li>
</ul>

<blockquote>
<p>With this setup I can play OSS, JACK and PulseAudio sound all at the same time, which I was not able to do on Linux.</p>

<hr>
</blockquote>

<h3><a href="https://itso.dk/?p=499" target="_blank" rel="nofollow noopener">FreeBSD 11 Unbound DNS server</a></h3>

<blockquote>
<p>In FreeBSD, there is a built-in DNS server called Unbound.<br>
So why would run a local DNS server? I am in a region where internet traffic is still a bit expensive, that also implies slow, and high response times. To speed that a up a little, you can use own DNS server. It will speed up because for every homepage you visit, there will be several hooks to other domains: commercials, site components, and links to other sites. These, will now all be cached locally on your new DNS server. In my case I use an old PC-Engine Alix board for my home DNS server, but you can use almost everything, Raspberry Pi, old laptop/desktop and others. As long as it runs FreeBSD.</p>
</blockquote>

<ul>
<li>Goes into more details about what commands to run and which services to start</li>
<li>Try it out if you are in a similar situation
***</li>
</ul>

<h3><a href="https://arxiv.org/pdf/1704.02786.pdf" target="_blank" rel="nofollow noopener">Why it is important that documentation and tutorials be correct and carefully reviewed</a></h3>

<ul>
<li>A group of researchers found that a lot of online web programming tutorials contain serious security flaws. They decided to do a research project to see how this impacts software that is written possibly based on those tutorials.</li>
<li>They used a number of simple google search terms to make a list of tutorials, and manually audited them for common vulnerabilities. They then crawled GitHub to find projects with very similar code snippets that might have been taken from those tutorials.</li>
</ul>

<blockquote>
<p>The Web is replete with tutorial-style content on how to accomplish programming tasks. Unfortunately, even top-ranked tutorials suffer from severe security vulnerabilities, such as cross-site scripting (XSS), and SQL injection (SQLi). Assuming that these tutorials influence real-world software development, we hypothesize that code snippets from popular tutorials can be used to bootstrap vulnerability discovery at scale. To validate our hypothesis, we propose a semi-automated approach to find recurring vulnerabilities starting from a handful of top-ranked tutorials that contain vulnerable code snippets. We evaluate our approach by performing an analysis of tens of thousands of open-source web applications to check if vulnerabilities originating in the selected tutorials recur.<br>
Our analysis framework has been running on a standard PC, analyzed 64,415 PHP codebases hosted on GitHub thus far, and found a total of 117 vulnerabilities that have a strong syntactic similarity to vulnerable code snippets present in popular tutorials. In addition to shedding light on the anecdotal belief that programmers reuse web tutorial code in an ad hoc manner, our study finds disconcerting evidence of insufficiently reviewed tutorials compromising the security of open-source projects.  Moreover, our findings testify to the feasibility of large-scale vulnerability discovery using poorly written tutorials as a starting point</p>
</blockquote>

<ul>
<li>The researchers found 117 vulnerabilities, of these, at least 8 appear to be nearly exact copy/pastes of the tutorials that were found to be vulnerable.
***</li>
</ul>

<h3><a href="https://lumina-desktop.org/1-3-0-development-preview-new-icon-themes/" target="_blank" rel="nofollow noopener">1.3.0 Development Preview: New icon themes</a></h3>

<blockquote>
<p>As version 1.3.0 of the Lumina desktop starts getting closer to release, I want to take a couple weeks and give you all some sneak peaks at some of the changes/updates that we have been working on (and are in the process of finishing up). </p>
</blockquote>

<ul>
<li><a href="https://lumina-desktop.org/1-3-0-development-preview-new-icon-themes/" target="_blank" rel="nofollow noopener">New icon theme</a>

<ul>
<li>Material Design Light/Dark </li>
<li>There are a lot more icons available in the reference icon packs which we still have not gotten around to renaming yet, but this initial version satisfies all the XDG standards for an icon theme + all the extra icons needed for Lumina and its utilities + a large number of additional icons for application use.</li>
</ul></li>
</ul>

<blockquote>
<p>This highlights one the big things that I love about Lumina: it gives you an interface that is custom-tailored to YOUR needs/wants  rather than expecting YOU to change your routines to accomodate how some random developer/designer across the world thinks everybody should use a computer.</p>
</blockquote>

<ul>
<li><a href="https://lumina-desktop.org/1-3-0-development-preview-lumina-mediaplayer/" target="_blank" rel="nofollow noopener">Lumina Media Player</a></li>
</ul>

<blockquote>
<p>This is a small utility designed to provide the ability for the user to play audio and video files on the local system, as well as stream audio from online sources. For now, only the Pandora internet radio service is supported via the pianobar CLI utility, which is an optional runtime dependency. However, we hope to gradually add new streaming sources over time. <br>
For a long time I had been using another Pandora streaming client on my TrueOS desktop, but it was very fragile with respect to underlying changes: LibreSSL versions for example. The player would regularly stop functioning for a few update cycles until a version of LibreSSL which was compatible with the player was used. After enduring this for some time, I was finally frustrated enough to start looking for alternatives. <br>
A co-worker pointed me to a command-line utility called pianobar, which was also a small client for Pandora radio. After using pianobar for a couple weeks, I was impressed with how stable it was and how little overhead it required with regards to extra runtime dependencies. Of course, I started thinking I could write a Qt5 GUI for that!. Once I had a few free hours, I started writing what became lumina-mediaplayer. I started with the interface to pianobar itself to see how complicated it would be to interact with, but after a couple days of tinkering in my spare time, I realized I had a full client to Pandora radio basically finished.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://easychair.org/conferences/?conf=vbsdcon2017" target="_blank" rel="nofollow noopener">vBSDCon CFP closes April 29th</a></li>
<li><a href="https://2017.eurobsdcon.org/2017/03/13/call-for-proposals/" target="_blank" rel="nofollow noopener">EuroBSDCon CFP closes April 30th</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170421001933" target="_blank" rel="nofollow noopener">clang(1) added to base on amd64 and i386</a></li>
<li><a href="https://marc.info/?l=openbsd-misc&amp;m=149232307018311&amp;w=2" target="_blank" rel="nofollow noopener">Theo: Most things come to an end, sorry.</a></li>
<li><a href="https://www.dragonflydigest.com/2017/04/24/19609.html" target="_blank" rel="nofollow noopener">ASLR, PIE, NX, and other capital letters</a></li>
<li><a href="https://www.ssh.com/ssh/port" target="_blank" rel="nofollow noopener">How SSH got port number 22</a></li>
<li><a href="https://news.ycombinator.com/item?id=14128637" target="_blank" rel="nofollow noopener">Netflix Serving 90Gb/s+ From Single Machines Using Tuned FreeBSD</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=317414" target="_blank" rel="nofollow noopener">Compressed zfs send / receive lands in FreeBSD HEAD</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/3QSMYEH#wrap" target="_blank" rel="nofollow noopener">Steve - FreeBSD Jobs</a></li>
<li><a href="http://dpaste.com/0NNYH22#wrap" target="_blank" rel="nofollow noopener">Mike - CuBox i4Pro</a></li>
<li><a href="http://dpaste.com/1QRZBPD#wrap" target="_blank" rel="nofollow noopener">Steve - Year of the BSD Desktop?</a></li>
<li><a href="http://dpaste.com/2TFV8AJ#wrap" target="_blank" rel="nofollow noopener">Brad - Configuration Management</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>We cover TrueOS/Lumina working to be less dependent on Linux, How the IllumOS network stack works, Throttling the password gropers &amp; the 64 bit inode call for testing.</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://easychair.org/conferences/?conf=vbsdcon2017" target="_blank" rel="nofollow noopener">vBSDCon CFP closed April 29th</a></h3>

<h3><a href="https://2017.eurobsdcon.org/2017/03/13/call-for-proposals/" target="_blank" rel="nofollow noopener">EuroBSDCon CFP closes April 30th</a></h3>

<h3><a href="https://www.trueos.org/blog/developer-commentary-philosophy-evolution-trueoslumina-thoughts/" target="_blank" rel="nofollow noopener">Developer Commentary: Philosophy, Evolution of TrueOS/Lumina, and Other Thoughts.</a></h3>

<ul>
<li>Philosophy of Development

<ul>
<li>No project is an island. Every single project needs or uses some other external utility, library, communications format, standards compliance, and more in order to be useful.</li>
<li>A static project is typically a dead project. A project needs regular upkeep and maintenance to ensure it continues to build and run with the current ecosystem of libraries and utilities, even if the project has no considerable changes to the code base or feature set. Upstream decisions can have drastic consequences on your project.</li>
<li>Through no fault of yours, your project can be rendered obsolete or broken by changing standards in the global ecosystem that affect your projects dependencies.</li>
</ul></li>
<li><p>Operating system focus is key. What OS is the project originally designed for? This determines how the upstream dependencies list appears and which heartbeat to monitor.</p></li>
<li><p>Evolution of PC-BSD, Lumina, and TrueOS.  With these principles in mind  let's look at PC-BSD, Lumina, and TrueOS.</p>

<ul>
<li>PC-BSD : PC-BSD was largely designed around KDE on FreeBSD. KDE/Plasma5 has been available for Linux OSs for well over a year, but is still not generally available on FreeBSD. It is still tucked away in the experimental area51 repository where people are trying to get it working first.</li>
<li>Lumina : As a developer with PC-BSD for a long time, and a tester from nearly the beginning of the project, I was keenly aware  the winds of change were blowing in the open-source ecosystem.</li>
<li>TrueOS : All of these ecosystem changes finally came to a head for us near the beginning of 2016. KDE4 was starting to deteriorate underneath us, and the FreeBSD Release branch would never allow us to compete with the rate of graphics driver or standards changes coming out of the Linux camp.</li>
</ul></li>
<li><p>The Rename and Next Steps</p></li>
</ul>

<blockquote>
<p>With all of these changes and the lack of a clear upgrade path from PC-BSD to the new systems, we decided it was necessary to change the project itself (name and all). To us, this was the only way to ensure people were aware of the differences, and that TrueOS really is a different kind of project from PC-BSD. Note this was not a hostile takeover of the PC-BSD project by rabid FreeBSD fanatics. This was more a refocusing of the PC-BSD project into something that could ensure longevity and reliability for the foreseeable future.</p>
</blockquote>

<blockquote>
 Does TrueOS have bugs and issues? Of course! That is the nature of rolling with upstream changes all the time. Not only do you always get the latest version of something (a good thing), you also find yourself on the front line for finding and reporting bugs in those same applications (a bad thing if you like consistency or stability). What you are also seeing is just how much churn happens in the open-source ecosystem at any given time.
 We are devoted to providing our users (and ourselves  dont forget we use TrueOS every day too!) a stable, reliable, and secure experience. Please be patient as we continue striving toward this goal in the best way possible, not just doing what works for the moment, but the projects future too.
</blockquote>

<hr>

<h3><a href="https://www.youtube.com/watch?v=vnD10WQ2930" target="_blank" rel="nofollow noopener">Robert Mustacchi: Excerpts from The Soft Ring Cycle #1</a></h3>

<ul>
<li>The author of the Turtles on the Wire post we featured the other week, is back with a video.</li>
<li>Joyent has started a new series of lunchtime technical discussions to share information as they grow their engineering team</li>
<li>This video focuses on the network stack, how it works, and how it relates to virtualization and multi-tenancy</li>
<li>Basically, how the network stack on IllumOS works when you have virtual tenants, be they virtual machines or zones</li>
<li>The video describes the many layers of the network stack, how they work together, and how they can be made to work quickly</li>
<li>It also talks about the trade-offs between high throughput and low latency</li>
<li>How security is enforced, so virtual tenants cannot send packets into VLANs they are not members of, or receive traffic that they are not allowed to by the administrator</li>
<li>How incoming packets are classified, and eventually delivered to the intended destination</li>
<li>How the system decides if it has enough available resources to process the packet, or if it needs to be dropped</li>
<li>How interface polling works on IllumOS (a lot different than on FreeBSD)</li>
<li>Then the last 20 minutes are about how the qemu interface of the KVM hypervisor interfaces with the network stack</li>
<li>We look forward to seeing more of these videos as they come out
***</li>
</ul>

<h3><a href="http://bsdly.blogspot.com/2017/04/forcing-password-gropers-through.html" target="_blank" rel="nofollow noopener">Forcing the password gropers through a smaller hole with OpenBSD's PF queues</a></h3>

<blockquote>
<p>While preparing material for the upcoming <a href="http://www.bsdcan.org/2017/schedule/events/805.en.html" target="_blank" rel="nofollow noopener">BSDCan PF and networking tutorial</a>, I realized that the pop3 gropers were actually not much fun to watch anymore. So I used the traffic shaping features of my OpenBSD firewall to let the miscreants inflict some pain on themselves. Watching logs became fun again.<br>
The actual useful parts of this article follow - take this as a walkthrough of how to mitigate a wide range of threats and annoyances.<br>
First, analyze the behavior that you want to defend against. In our case that's fairly obvious: We have a service that's getting a volume of unwanted traffic, and looking at our logs the attempts come fairly quickly with a number of repeated attempts from each source address.<br>
I've written about the rapid-fire ssh bruteforce attacks and their mitigation before (and of course it's in The Book of PF) as well as the slower kind where those techniques actually come up short. The traditional approach to ssh bruteforcers has been to simply block their traffic, and the state-tracking features of PF let you set up overload criteria that add the source addresses to the table that holds the addresses you want to block.<br>
For the system that runs our pop3 service, we also have a PF ruleset in place with queues for traffic shaping. For some odd reason that ruleset is fairly close to the HFSC traffic shaper example in The Book of PF, and it contains a queue that I set up mainly as an experiment to annoy spammers (as in, the ones that are already for one reason or the other blacklisted by our spamd).<br>
The queue is defined like this:</p>
</blockquote>

<blockquote> 
 queue spamd parent rootq bandwidth 1K min 0K max 1K qlimit 300
</blockquote>

<blockquote>
<p>yes, that's right. A queue with a maximum throughput of 1 kilobit per second. I have been warned that this is small enough that the code may be unable to strictly enforce that limit due to the timer resolution in the HFSC code. But that didn't keep me from trying.<br>
Now a few small additions to the ruleset are needed for the good to put the evil to the task. We start with a table to hold the addresses we want to mess with. Actually, I'll add two, for reasons that will become clear later:</p>
</blockquote>

<blockquote>
   table  persist counters 
   table  persist counters 
</blockquote>

<blockquote>
<p>The rules that use those tables are:</p>
</blockquote>

<blockquote>
   block drop log (all) quick from  

   pass in quick log (all) on egress proto tcp from  to port pop3 flags S/SA keep state \ 
   (max-src-conn 2, max-src-conn-rate 3/3, overload  flush global, pflow) set queue spamd 

   pass in log (all) on egress proto tcp to port pop3 flags S/SA keep state \ 
   (max-src-conn 5, max-src-conn-rate 6/3, overload  flush global, pflow) 
</blockquote>

<blockquote>
<p>The last one lets anybody connect to the pop3 service, but any one source address can have only open five simultaneous connections and at a rate of six over three seconds.</p>

<p>The results were immediately visible. Monitoring the queues using pfctl -vvsq shows the tiny queue works as expected:</p>
</blockquote>

<blockquote>
   queue spamd parent rootq bandwidth 1K, max 1K qlimit 300
    [ pkts:     196136  bytes:   12157940  dropped pkts: 398350 bytes: 24692564 ]
    [ qlength: 300/300 ]
    [ measured:     2.0 packets/s, 999.13 b/s ]
</blockquote>

<blockquote>
<p>and looking at the pop3 daemon's log entries, a typical encounter looks like this:</p>
</blockquote>

<blockquote>
   Apr 19 22:39:33 skapet spop3d[44875]: connect from 111.181.52.216
   Apr 19 22:39:33 skapet spop3d[75112]: connect from 111.181.52.216
   Apr 19 22:39:34 skapet spop3d[57116]: connect from 111.181.52.216
   Apr 19 22:39:34 skapet spop3d[65982]: connect from 111.181.52.216
   Apr 19 22:39:34 skapet spop3d[58964]: connect from 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[12410]: autologout time elapsed - 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[63573]: autologout time elapsed - 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[76113]: autologout time elapsed - 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[23524]: autologout time elapsed - 111.181.52.216
   Apr 19 22:40:34 skapet spop3d[16916]: autologout time elapsed - 111.181.52.216
</blockquote>

<blockquote>
<p>here the miscreant comes in way too fast and only manages to get five connections going before they're shunted to the tiny queue to fight it out with known spammers for a share of bandwidth.<br>
One important takeaway from this, and possibly the most important point of this article, is that it does not take a lot of imagination to retool this setup to watch for and protect against undesirable activity directed at essentially any network service.<br>
You pick the service and the ports it uses, then figure out what are the parameters that determine what is acceptable behavior. Once you have those parameters defined, you can choose to assign to a minimal queue like in this example, block outright, redirect to something unpleasant or even pass with a low probability.</p>
</blockquote>

<hr>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-fs/2017-April/024684.html" target="_blank" rel="nofollow noopener">64-bit inodes (ino64) Status Update and Call for Testing</a></h3>

<blockquote>
<p>Inodes are data structures corresponding to objects in a file system, such as files and directories. FreeBSD has historically used 32-bit values to identify inodes, which limits file systems to somewhat under 2<sup>32</sup> objects. Many modern file systems internally use 64-bit identifiers and FreeBSD needs to follow suit to properly and fully support these file systems.</p>

<p>The 64-bit inode project, also known as ino64, started life many years ago as a project by Gleb Kurtsou (gleb@).  After that time several people have had a hand in updating it and addressing regressions, after mckusick@ picked up and updated the patch, and acted as a flag-waver.</p>
</blockquote>

<ol>
<li>Overview : The ino64 branch extends the basic system types ino_t and dev_t from 32-bit to 64-bit, and nlink_t from 16-bit to 64-bit.</li>
<li>Motivation : The main risk of the ino64 change is the uncontrolled ABI breakage.</li>
<li>Quirks : We handled kinfo sysctl MIBs, but other MIBs which report structures depended on the changed type, are not handled in general.  It was considered that the breakage is either in the management interfaces, where we usually allow ABI slip, or is not important.</li>
<li>Testing procedure : The ino64 project can be tested by cloning the project branch from GitHub or by applying the patch  to a working tree.

<ul>
<li>New kernel, old world.</li>
<li>New kernel, new world, old third-party applications.</li>
<li>32bit compat.</li>
<li>Targeted tests.</li>
<li>NFS server and client test</li>
<li>Other filesystems</li>
<li>Test accounting</li>
</ul></li>
<li>Ports Status with ino64 : A ports exp-run for ino64 is open in PR 218320.
5.1. LLVM : LLVM includes a component called Address Sanitizer or ASAN, which triesto intercept syscalls, and contains knowledge of the layout of many system structures.  Since stat and lstat syscalls were removed and several types and structures changed, this has to be reflected in the ASAN hacks.
5.2. lang/ghc : The ghc compiler and parts of the runtime are written in Haskell, which means that to compile ghc, you need a working Haskell compiler for bootstrap.
5.3. lang/rust Rustc has a similar structure to GHC, and same issue.  The same solution of patching the bootstrap was done.</li>
<li>Next Steps : The tentative schedule for the ino64 project:

<ul>
<li>2017-04-20 Post wide call for testing : Investigate and address port failures with maintainer support</li>
<li>2017-05-05 Request second exp-run with initial patches applied : Investigate and address port failures with maintainer support</li>
<li>2017-05-19 Commit to HEAD : Address post-commit failures where feasible
***</li>
</ul></li>
</ol>

<h2>News Roundup</h2>

<h3><a href="http://meka.rs/blog/2017/01/25/sing-beastie-sing/" target="_blank" rel="nofollow noopener">Sing, beastie, sing!</a></h3>

<blockquote>
<p>FreeBSD digital audio workstation, or DAW for short, is now possible. At this very moment it's not user friendly that much, but you'll manage. What I want to say is that I worked on porting some of the audio apps to FreeBSD, met some other people interested in porting audio stuff and became heavily involved with DrumGizmo - drum sampling engine. Let me start with the basic setup.<br>
FreeBSD doesn't have hard real-time support, but it's pretty close. For the needs of audio, FreeBSD's implementation of real-time is sufficient and, in my opinion, superior to the one you can get on Linux with RT path (which is ugly, not supported by distributions and breaks apps like VirtualBox). As default install of FreeBSD is concerned with real-time too much, we have to tweak sysctl a bit, so append this to your /etc/sysctl.conf:</p>
</blockquote>

<blockquote>
   kern.timecounter.alloweddeviation=0
   hw.usb.uaudio.buffer_ms=2 # only on -STABLE for now
   hw.snd.latency=0
   kern.coredump=0
</blockquote>

<ul>
<li>So let me go through the list. First item tells FreeBSD how many events it can aggregate (or wait for) before emitting them. The reason this is the default is because aggregating events saves power a bit, and currently more laptops are running FreeBSD than DAWs. Second one is the lowest possible buffer for USB audio driver. If you're not using USB audio, this won't change a thing. Third one has nothing to do with real-time, but dealing with programs that consume ~3GB of RAM, dumping cores around made a problem on my machine. Besides, core dumps are only useful if you know how to debug the problem, or someone is willing to do that for you. I like to not generate those files by default, but if some app is constantly crashing, I enable dumps, run the app, crash it, and disable dumps again. I lost 30GB in under a minute by examining 10 different drumkits of DrumGizmo and all of them gave me 3GB of core file, each.</li>
<li>More setup instructions follow, including jackd setup and PulseAudio using virtual_oss.</li>
</ul>

<blockquote>
<p>With this setup I can play OSS, JACK and PulseAudio sound all at the same time, which I was not able to do on Linux.</p>

<hr>
</blockquote>

<h3><a href="https://itso.dk/?p=499" target="_blank" rel="nofollow noopener">FreeBSD 11 Unbound DNS server</a></h3>

<blockquote>
<p>In FreeBSD, there is a built-in DNS server called Unbound.<br>
So why would run a local DNS server? I am in a region where internet traffic is still a bit expensive, that also implies slow, and high response times. To speed that a up a little, you can use own DNS server. It will speed up because for every homepage you visit, there will be several hooks to other domains: commercials, site components, and links to other sites. These, will now all be cached locally on your new DNS server. In my case I use an old PC-Engine Alix board for my home DNS server, but you can use almost everything, Raspberry Pi, old laptop/desktop and others. As long as it runs FreeBSD.</p>
</blockquote>

<ul>
<li>Goes into more details about what commands to run and which services to start</li>
<li>Try it out if you are in a similar situation
***</li>
</ul>

<h3><a href="https://arxiv.org/pdf/1704.02786.pdf" target="_blank" rel="nofollow noopener">Why it is important that documentation and tutorials be correct and carefully reviewed</a></h3>

<ul>
<li>A group of researchers found that a lot of online web programming tutorials contain serious security flaws. They decided to do a research project to see how this impacts software that is written possibly based on those tutorials.</li>
<li>They used a number of simple google search terms to make a list of tutorials, and manually audited them for common vulnerabilities. They then crawled GitHub to find projects with very similar code snippets that might have been taken from those tutorials.</li>
</ul>

<blockquote>
<p>The Web is replete with tutorial-style content on how to accomplish programming tasks. Unfortunately, even top-ranked tutorials suffer from severe security vulnerabilities, such as cross-site scripting (XSS), and SQL injection (SQLi). Assuming that these tutorials influence real-world software development, we hypothesize that code snippets from popular tutorials can be used to bootstrap vulnerability discovery at scale. To validate our hypothesis, we propose a semi-automated approach to find recurring vulnerabilities starting from a handful of top-ranked tutorials that contain vulnerable code snippets. We evaluate our approach by performing an analysis of tens of thousands of open-source web applications to check if vulnerabilities originating in the selected tutorials recur.<br>
Our analysis framework has been running on a standard PC, analyzed 64,415 PHP codebases hosted on GitHub thus far, and found a total of 117 vulnerabilities that have a strong syntactic similarity to vulnerable code snippets present in popular tutorials. In addition to shedding light on the anecdotal belief that programmers reuse web tutorial code in an ad hoc manner, our study finds disconcerting evidence of insufficiently reviewed tutorials compromising the security of open-source projects.  Moreover, our findings testify to the feasibility of large-scale vulnerability discovery using poorly written tutorials as a starting point</p>
</blockquote>

<ul>
<li>The researchers found 117 vulnerabilities, of these, at least 8 appear to be nearly exact copy/pastes of the tutorials that were found to be vulnerable.
***</li>
</ul>

<h3><a href="https://lumina-desktop.org/1-3-0-development-preview-new-icon-themes/" target="_blank" rel="nofollow noopener">1.3.0 Development Preview: New icon themes</a></h3>

<blockquote>
<p>As version 1.3.0 of the Lumina desktop starts getting closer to release, I want to take a couple weeks and give you all some sneak peaks at some of the changes/updates that we have been working on (and are in the process of finishing up). </p>
</blockquote>

<ul>
<li><a href="https://lumina-desktop.org/1-3-0-development-preview-new-icon-themes/" target="_blank" rel="nofollow noopener">New icon theme</a>

<ul>
<li>Material Design Light/Dark </li>
<li>There are a lot more icons available in the reference icon packs which we still have not gotten around to renaming yet, but this initial version satisfies all the XDG standards for an icon theme + all the extra icons needed for Lumina and its utilities + a large number of additional icons for application use.</li>
</ul></li>
</ul>

<blockquote>
<p>This highlights one the big things that I love about Lumina: it gives you an interface that is custom-tailored to YOUR needs/wants  rather than expecting YOU to change your routines to accomodate how some random developer/designer across the world thinks everybody should use a computer.</p>
</blockquote>

<ul>
<li><a href="https://lumina-desktop.org/1-3-0-development-preview-lumina-mediaplayer/" target="_blank" rel="nofollow noopener">Lumina Media Player</a></li>
</ul>

<blockquote>
<p>This is a small utility designed to provide the ability for the user to play audio and video files on the local system, as well as stream audio from online sources. For now, only the Pandora internet radio service is supported via the pianobar CLI utility, which is an optional runtime dependency. However, we hope to gradually add new streaming sources over time. <br>
For a long time I had been using another Pandora streaming client on my TrueOS desktop, but it was very fragile with respect to underlying changes: LibreSSL versions for example. The player would regularly stop functioning for a few update cycles until a version of LibreSSL which was compatible with the player was used. After enduring this for some time, I was finally frustrated enough to start looking for alternatives. <br>
A co-worker pointed me to a command-line utility called pianobar, which was also a small client for Pandora radio. After using pianobar for a couple weeks, I was impressed with how stable it was and how little overhead it required with regards to extra runtime dependencies. Of course, I started thinking I could write a Qt5 GUI for that!. Once I had a few free hours, I started writing what became lumina-mediaplayer. I started with the interface to pianobar itself to see how complicated it would be to interact with, but after a couple days of tinkering in my spare time, I realized I had a full client to Pandora radio basically finished.</p>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://easychair.org/conferences/?conf=vbsdcon2017" target="_blank" rel="nofollow noopener">vBSDCon CFP closes April 29th</a></li>
<li><a href="https://2017.eurobsdcon.org/2017/03/13/call-for-proposals/" target="_blank" rel="nofollow noopener">EuroBSDCon CFP closes April 30th</a></li>
<li><a href="http://undeadly.org/cgi?action=article&amp;sid=20170421001933" target="_blank" rel="nofollow noopener">clang(1) added to base on amd64 and i386</a></li>
<li><a href="https://marc.info/?l=openbsd-misc&amp;m=149232307018311&amp;w=2" target="_blank" rel="nofollow noopener">Theo: Most things come to an end, sorry.</a></li>
<li><a href="https://www.dragonflydigest.com/2017/04/24/19609.html" target="_blank" rel="nofollow noopener">ASLR, PIE, NX, and other capital letters</a></li>
<li><a href="https://www.ssh.com/ssh/port" target="_blank" rel="nofollow noopener">How SSH got port number 22</a></li>
<li><a href="https://news.ycombinator.com/item?id=14128637" target="_blank" rel="nofollow noopener">Netflix Serving 90Gb/s+ From Single Machines Using Tuned FreeBSD</a></li>
<li><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=317414" target="_blank" rel="nofollow noopener">Compressed zfs send / receive lands in FreeBSD HEAD</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/3QSMYEH#wrap" target="_blank" rel="nofollow noopener">Steve - FreeBSD Jobs</a></li>
<li><a href="http://dpaste.com/0NNYH22#wrap" target="_blank" rel="nofollow noopener">Mike - CuBox i4Pro</a></li>
<li><a href="http://dpaste.com/1QRZBPD#wrap" target="_blank" rel="nofollow noopener">Steve - Year of the BSD Desktop?</a></li>
<li><a href="http://dpaste.com/2TFV8AJ#wrap" target="_blank" rel="nofollow noopener">Brad - Configuration Management</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>190: The Moore You Know</title>
  <link>https://www.bsdnow.tv/190</link>
  <guid isPermaLink="false">919a0bc5-1fd4-4195-bb5d-5f587826c25e</guid>
  <pubDate>Wed, 19 Apr 2017 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/919a0bc5-1fd4-4195-bb5d-5f587826c25e.mp3" length="94312372" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This week, we look forward with the latest OpenBSD release, look back with Dennis Ritchie’s paper on the evolution of Unix Time Sharing, have an Interview with Kris</itunes:subtitle>
  <itunes:duration>2:10:59</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>&lt;p&gt;This week, we look forward with the latest OpenBSD release, look back with Dennis Ritchie’s paper on the evolution of Unix Time Sharing, have an Interview with Kris&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;&lt;/a&gt;&lt;a target="_blank" rel="nofollow noopener"&gt;
href="http://www.digitalocean.com/" title="DigitalOcean"&amp;gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"&gt;&lt;/a&gt;&lt;a target="_blank" rel="nofollow noopener"&gt;
href="http://www.tarsnap.com/bsdnow" title="Tarsnap"&amp;gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170411132956" target="_blank" rel="nofollow noopener"&gt;OpenBSD 6.1 RELEASED&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://marc.info/?l=openbsd-announce&amp;amp;m=149191716921690&amp;amp;w=2'" target="_blank" rel="nofollow noopener"&gt;Mailing list post&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;We are pleased to announce the official release of OpenBSD 6.1. This is our 42nd release.&lt;/li&gt;
&lt;li&gt;New/extended platforms:

&lt;ul&gt;
&lt;li&gt;New arm64 platform, using clang(1) as the base system compiler.&lt;/li&gt;
&lt;li&gt;The loongson platform now supports systems with Loongson 3A CPU and RS780E chipset.&lt;/li&gt;
&lt;li&gt;The following platforms were retired: armish, sparc, zaurus&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;New vmm(4)/ vmd(8)&lt;/li&gt;
&lt;li&gt;IEEE 802.11 wireless stack improvements&lt;/li&gt;
&lt;li&gt;Generic network stack improvements&lt;/li&gt;
&lt;li&gt;Installer improvements&lt;/li&gt;
&lt;li&gt;Routing daemons and other userland network improvements&lt;/li&gt;
&lt;li&gt;Security improvements&lt;/li&gt;
&lt;li&gt;dhclient(8)/ dhcpd(8)/ dhcrelay(8) improvements&lt;/li&gt;
&lt;li&gt;Assorted improvements&lt;/li&gt;
&lt;li&gt;OpenSMTPD 6.0.0&lt;/li&gt;
&lt;li&gt;OpenSSH 7.4&lt;/li&gt;
&lt;li&gt;LibreSSL 2.5.3&lt;/li&gt;
&lt;li&gt;mandoc 1.14.1
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://vegardno.blogspot.ca/2017/03/fuzzing-openssh-daemon-using-afl.html" target="_blank" rel="nofollow noopener"&gt;Fuzz Testing OpenSSH&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Vegard Nossum writes a blog post explaining how to fuzz OpenSSH using AFL&lt;/li&gt;
&lt;li&gt;It starts by compiling AFL and SSH with LLVM to get extra instrumentation to make the fuzzing process better, and faster&lt;/li&gt;
&lt;li&gt;Sandboxing, PIE, and other features are disabled to increase debuggability, and to try to make breaking SSH easier&lt;/li&gt;
&lt;li&gt;Privsep is also disabled, because when AFL does make SSH crash, the child process crashing causes the parent process to exit normally, and AFL then doesn’t realize that a crash has happened. A one-line patch disables the privsep feature for the purposes of testing&lt;/li&gt;
&lt;li&gt;A few other features are disabled to make testing easier (disabling replay attack protection allows the same inputs to be reused many times), and faster:

&lt;ul&gt;
&lt;li&gt;the local arc4random_buf() is patched to return a buffer of zeros&lt;/li&gt;
&lt;li&gt;disabling CRC checks&lt;/li&gt;
&lt;li&gt;disabling MAC checks&lt;/li&gt;
&lt;li&gt;disabling encryption (allow the NULL cipher for everything)&lt;/li&gt;
&lt;li&gt;add a call to __AFL_INIT(), to enable “deferred forkserver mode”&lt;/li&gt;
&lt;li&gt;disabling closefrom()&lt;/li&gt;
&lt;li&gt;“Skipping expensive DH/curve and key derivation operations”&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Then, you can finally get around to writing some test cases&lt;/li&gt;
&lt;li&gt;The steps are all described in detail&lt;/li&gt;
&lt;li&gt;In one day of testing, the author found a few NULL dereferences that have since been fixed.&lt;/li&gt;
&lt;li&gt;Maybe you can think of some other code paths through SSH that should be tested, or want to test another daemon
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://undeadly.org/cgi?action=article&amp;amp;sid=20170409123528" target="_blank" rel="nofollow noopener"&gt;Getting OpenBSD running on Raspberry Pi 3&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Ian Darwin writes in about his work deploying the arm64 platform and the Raspberry Pi 3&lt;br&gt;
So I have this empty white birdhouse-like thing in the yard, open at the front. It was intended to house the wireless remote temperature sensor from a low-cost weather station, which had previously been mounted on a dark-colored wall of the house [...]. But when I put the sensor into the birdhouse, the signal is too weak for the weather station to receive it (the mounting post was put in place by a previous owner of our property, and is set deeply in concrete). So the next plan was to pop in a tiny OpenBSD computer with a uthum(4) temperature sensor and stream the temperature over WiFi.&lt;br&gt;
The Raspberry Pi computers are interesting in their own way: intending to bring low-cost computing to everybody, they take shortcuts and omit things that you'd expect on a laptop or desktop. They aren't too bright on their own: there's very little smarts in the board compared to the "BIOS" and later firmwares on conventional systems. Some of the "smarts" are only available as binary files. This was part of the reason that our favorite OS never came to the Pi Party for the original rpi, and didn't quite arrive for the rpi2. With the rpi3, though, there is enough availability that our devs were able to make it boot. Some limitations remain, though: if you want to build your own full release, you have to install the dedicated raspberrypi-firmware package from the ports tree. And, the boot disks have to have several extra files on them - this is set up on the install sets, but you should be careful not to mess with these extra files until you know what you're doing!&lt;/p&gt;

&lt;p&gt;But wait! Before you read on, please note that, as of April 1, 2017, this platform boots up but is not yet ready for prime time:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;there's no driver for SD/MMC but that's the only thing the hardware can level-0 boot from, so you need both the uSD card and a USB disk, at least while getting started;&lt;/li&gt;
&lt;li&gt;there is no support for the built-in WiFi (a Broadcom BCM43438 SDIO 802.11), so you have to use wired Ethernet or a USB WiFi dongle (for my project an old MSI that shows up as ural(4) seems to work fine);&lt;/li&gt;
&lt;li&gt;the HDMI driver isn't used by the kernel (if a monitor is plugged in uBoot will display its messages there), so you need to set up cu with a 3V serial cable, at least for initial setup.&lt;/li&gt;
&lt;li&gt;the ports tree isn't ready to cope with the base compiler being clang yet, so packages are "a thing of the future"&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;But wait - there's more! The "USB disk" can be a USB thumb drive, though they're generally slower than a "real" disk. My first forays used a Kingston DTSE9, the hardy little steel-cased version of the popular DataTraveler line. I was able to do the install, and boot it, once (when I captured the dmesg output shown below). After that, it failed - the boot process hung with the ever-unpopular "scanning usb for storage devices..." message. I tried the whole thing again with a second DTSE9, and with a 32GB plastic-cased DataTraveler. Same results. After considerable wasted time, I found a post on RPI's own site which dates back to the early days of the PI 3, in which they admit that they took shortcuts in developing the firmware, and it just can't be made to work with the Kingston DataTraveler! Not having any of the "approved" devices, and not living around the corner from a computer store, I switched to a Sabrent USB dock with a 320GB Western Digital disk, and it's been rock solid. Too big and energy-hungry for the final project, but enough to show that the rpi3 can be solid with the right (solid-state) disk. And fast enough to build a few simple ports - though a lot will not build yet. I then found and installed OpenBSD onto a “PNY” brand thumb drive and found it solid - in fact I populated it by dd’ing from one of the DataTraveller drives, so they’re not at fault.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Check out the full article for detailed setup instructions
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://www.read.seas.harvard.edu/%7Ekohler/class/aosref/ritchie84evolution.pdf" target="_blank" rel="nofollow noopener"&gt;Dennis M. Ritchie’s Paper: The Evolution of the Unix Time Sharing System&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;From the abstract:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;This paper presents a brief history of the early development of the Unix operating system. It concentrates on the evolution of the file system, the process-control mechanism, and the idea of pipelined commands. Some attention is paid to social conditions during the development of the system. &lt;br&gt;
During the past few years, the Unix operating system has come into wide use, so wide that its very name has become a trademark of Bell Laboratories. Its important characteristics have become known to many people. It has suffered much rewriting and tinkering since the first publication describing it in 1974 [1], but few fundamental changes. However, Unix was born in 1969 not 1974, and the account of its development makes a little-known and perhaps instructive story. This paper presents a technical and social history of the evolution of the system. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;High level document structure:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Origins&lt;br&gt;
The PDP-7 Unix file system &lt;br&gt;
Process control&lt;br&gt;
IO Redirection&lt;br&gt;
The advent of the PDP-11&lt;br&gt;
The first PDP-11 system&lt;br&gt;
Pipes&lt;br&gt;
High-level languages&lt;br&gt;
Conclusion&lt;/p&gt;

&lt;p&gt;One of the comforting things about old memories is their tendency to take on a rosy glow. The programming environment provided by the early versions of Unix seems, when described here, to be extremely harsh and primitive. I am sure that if forced back to the PDP-7 I would find it intolerably limiting and lacking in conveniences. Nevertheless, it did not seem so at the time; the memory fixes on what was good and what lasted, and on the joy of helping to create the improvements that made life better. In ten years, I hope we can look back with the same mixed impression of progress combined with continuity. &lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Interview - Kris Moore - &lt;a href="mailto:kris@trueos.org" target="_blank" rel="nofollow noopener"&gt;kris@trueos.org&lt;/a&gt; | &lt;a href="https://twitter.com/pcbsdkris" target="_blank" rel="nofollow noopener"&gt;@pcbsdkris&lt;/a&gt;&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Director of Engineering at iXSystems&lt;/li&gt;
&lt;li&gt;FreeNAS &lt;/li&gt;
&lt;/ul&gt;

&lt;hr&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=316894" target="_blank" rel="nofollow noopener"&gt;Compressed zfs send / receive now in FreeBSD’s vendor area&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Andriy Gapon committed a whole lot of ZFS updates to FreeBSD’s vendor area&lt;/li&gt;
&lt;li&gt;This feature takes advantage of the new compressed ARC feature, which means blocks that are compressed on disk, remain compressed in ZFS’ RAM cache, to use the compressed blocks when using ZFS replication.&lt;/li&gt;
&lt;li&gt;Previously, blocks were uncompressed, sent (usually over the network), then recompressed on the other side.&lt;/li&gt;
&lt;li&gt;This is rather wasteful, and can make the process slower, not just because of the CPU time wasted decompressing/recompressing the data, but because it means more data has to be sent over the network.&lt;/li&gt;
&lt;li&gt;This caused many users to end up doing: zfs send | xz -T0 | ssh unxz | zfs recv, or similar, to compress the data before sending it over the network.&lt;/li&gt;
&lt;li&gt;With this new feature, zfs send with the new -c flag, will transmit the already compressed blocks instead.&lt;/li&gt;
&lt;li&gt;This change also adds longopts versions of all of the zfs send flags, making them easier to understand when written in shell scripts.&lt;/li&gt;
&lt;li&gt;A lot of fixes, man page updates, etc. from upstream OpenZFS &lt;/li&gt;
&lt;li&gt;Thanks to everyone who worked on these fixes and features!&lt;/li&gt;
&lt;li&gt;We’ll announce when these have been committed to head for testing
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://mysteriouscode.io/blog/granting-privileges-using-mac-framework/" target="_blank" rel="nofollow noopener"&gt;Granting privileges using the FreeBSD MAC framework &lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;The MAC (Mandatory Access Control) framework allows finer grained permissions than the standard UNIX permissions that exist in the base system&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;FreeBSD’s kernel provides quite sophisticated privilege model that extends the traditional UNIX user-and-group one. Here I’ll show how to leverage it to grant access to specific privileges to group of non-root users.&lt;br&gt;
mac(9) allows creating pluggable modules with policies that can extend existing base system security definitions. struct mac_policy_ops consist of many entry points that we can use to amend the behaviour.&lt;br&gt;
This time, I wanted to grant a privilege to change realtime priority to a selected group. While Linux kernel lets you specify a named group, FreeBSD doesn’t have such ability, hence I created this very simple policy.&lt;br&gt;
The privilege check can be extended using two user supplied functions: priv_check and priv_grant. The first one can be used to further restrict existing privileges, i.e. you can disallow some specific priv to be used in jails, etc. The second one is used to explicitly grant extra privileges not available for the target in base configuration.&lt;br&gt;
The core of the mac_rtprio module is dead simple. I defined sysctl tree for two oids: enable (on/off switch for the policy) and gid (the GID target has to be member of), then I specified our custom version of mpo_priv_grant called rtprio_priv_grant. Body of my granting function is even simpler. If the policy is disabled or the privilege that is being checked is not PRIV_SCHED_RTPRIO, we simply skip and return EPERM. If the user is member of the designated group we return 0 that’ll allow the action – target would change realtime privileges.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Another useful thing the MAC framework can be used to grant to non-root users: PortACL: The ability to bind to TCP/UDP ports less than 1024, which is usually restricted to root.&lt;/li&gt;
&lt;li&gt;Some other uses for the MAC framework are discussed in &lt;a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/mac.html" target="_blank" rel="nofollow noopener"&gt;The FreeBSD Handbook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;However, there are lots more, and we would really like to see more tutorials and documentation on using MAC to make more secure servers, but allowing the few specific things that normally require root access.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="http://ftp.arl.army.mil/%7Emike/ping.html" target="_blank" rel="nofollow noopener"&gt;The Story of the PING Program&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;This is from the homepage of Mike Muuss:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Yes, it's true! I'm the author of ping for UNIX. Ping is a little thousand-line hack that I wrote in an evening which practically everyone seems to know about. :-)&lt;br&gt;
I named it after the sound that a sonar makes, inspired by the whole principle of cho-location. In college I'd done a lot of modeling of sonar and radar systems, so the "Cyberspace" analogy seemed very apt. It's exactly the same paradigm applied to a new problem domain: ping uses timed IP/ICMP ECHO_REQUEST and ECHO_REPLY packets to probe the "distance" to the target machine.&lt;br&gt;
My original impetus for writing PING for 4.2a BSD UNIX came from an offhand remark in July 1983 by Dr. Dave Mills while we were attending a DARPA meeting in Norway, in which he described some work that he had done on his "Fuzzball" LSI-11 systems to measure path latency using timed ICMP Echo packets.&lt;br&gt;
In December of 1983 I encountered some odd behavior of the IP network at BRL. Recalling Dr. Mills' comments, I quickly coded up the PING program, which revolved around opening an ICMP style SOCK_RAW AF_INET Berkeley-style socket(). The code compiled just fine, but it didn't work -- there was no kernel support for raw ICMP sockets! Incensed, I coded up the kernel support and had everything working well before sunrise. Not surprisingly, Chuck Kennedy (aka "Kermit") had found and fixed the network hardware before I was able to launch my very first "ping" packet. But I've used it a few times since then. &lt;em&gt;grin&lt;/em&gt; If I'd known then that it would be my most famous accomplishment in life, I might have worked on it another day or two and added some more options.&lt;br&gt;
The folks at Berkeley eagerly took back my kernel modifications and the PING source code, and it's been a standard part of Berkeley UNIX ever since. Since it's free, it has been ported to many systems since then, including Microsoft Windows95 and WindowsNT.&lt;br&gt;
In 1993, ten years after I wrote PING, the USENIX association presented me with a handsome scroll, pronouncing me a Joint recipient of The USENIX Association 1993 Lifetime Achievement Award presented to the Computer Systems Research Group, University of California at Berkeley 1979-1993. ``Presented to honor profound intellectual achievement and unparalleled service to our Community. At the behest of CSRG principals we hereby recognize the following individuals and organizations as CSRG participants, contributors and supporters.'' Wow!&lt;br&gt;
The best ping story I've ever heard was told to me at a USENIX conference, where a network administrator with an intermittent Ethernet had linked the ping program to his vocoder program, in essence writing:&lt;br&gt;
ping goodhost | sed -e 's/.*/ping/' | vocoder&lt;br&gt;
He wired the vocoder's output into his office stereo and turned up the volume as loud as he could stand. The computer sat there shouting "Ping, ping, ping..." once a second, and he wandered through the building wiggling Ethernet connectors until the sound stopped. And that's how he found the intermittent failure.&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="http://glasz.org/sheeplog/2017/02/freebsd-usrlocalliblibpkgso3-undefined-symbol-utimensat.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD: /usr/local/lib/libpkg.so.3: Undefined symbol "utimensat"&lt;/a&gt;&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;The internet will tell you that, of course, 10.2 is EOL, that packages are being built for 10.3 by now and to better upgrade to the latest version of FreeBSD. While all of this is true and running the latest versions is generally good advise, in most cases it is unfeasible to do an entire OS upgrade just to be able to install a package.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;Points out the ABI variable being used in /usr/local/etc/pkg/repos/FreeBSD.conf&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Now, if you have 10.2 installed and 10.3 is the current latest FreeBSD version, this url will point to packages built for 10.3 resulting in the problem that, when running pkg upgrade pkg it’ll go ahead and install the latest version of pkg build for 10.3 onto your 10.2 system. Yikes! FreeBSD 10.3 and pkgng broke the ABI by introducing new symbols, like utimensat.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;The solution:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Have a look at the actual repo url &lt;a href="http://pkg.FreeBSD.org/FreeBSD:10:amd64%C2%85" target="_blank" rel="nofollow noopener"&gt;http://pkg.FreeBSD.org/FreeBSD:10:amd64…&lt;/a&gt; there’s repo’s for each release! Instead of going through the tedious process of upgrading FreeBSD you just need to Use a repo url that fits your FreeBSD release:&lt;/p&gt;

&lt;p&gt;Update the package cache: pkg update&lt;br&gt;
Downgrade pkgng (in case you accidentally upgraded it already): pkg delete -f pkg&lt;br&gt;
pkg install -y pkg&lt;br&gt;
Install your package&lt;br&gt;
There you go. Don’t fret. But upgrade your OS soon ;)&lt;/p&gt;

&lt;hr&gt;
&lt;/blockquote&gt;

&lt;hr&gt;

&lt;h2&gt;Beastie Bits&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://imil.net/blog/2017/01/22/collectd_NetBSD_temperature/" target="_blank" rel="nofollow noopener"&gt;CPU temperature collectd report on NetBSD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.servethehome.com/booting-freebsd-11-nvme-zfs-amd-ryzen/" target="_blank" rel="nofollow noopener"&gt;Booting FreeBSD 11 with NVMe and ZFS on AMD Ryzen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://torbsd.github.io/blog.html#busy-bbb" target="_blank" rel="nofollow noopener"&gt;BeagleBone Black Tor relay&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reviews.freebsd.org/rS317094" target="_blank" rel="nofollow noopener"&gt;FreeBSD - Disable in-tree GDB by default on x86, mips, and powerpc&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.meetup.com/CharmBUG/events/238218742/" target="_blank" rel="nofollow noopener"&gt;CharmBUG April Meetup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.snellman.net/blog/archive/2017-04-17-xxx-fixme/" target="_blank" rel="nofollow noopener"&gt;The origins of XXX as FIXME&lt;/a&gt;
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/2APJE4E#wrap" target="_blank" rel="nofollow noopener"&gt;Felis - L2ARC&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/0BRJJ73#wrap" target="_blank" rel="nofollow noopener"&gt;Gabe - FreeBSD Server Install&lt;/a&gt;&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/05EYNJ4#wrap" target="_blank" rel="nofollow noopener"&gt;FEMP Script&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/1CV323G#wrap" target="_blank" rel="nofollow noopener"&gt;Scott - FreeNAS &amp;amp; LAGG&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dpaste.com/3486VQZ#wrap" target="_blank" rel="nofollow noopener"&gt;Marko - Backups&lt;/a&gt;
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, freenas, unix, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This week, we look forward with the latest OpenBSD release, look back with Dennis Ritchies paper on the evolution of Unix Time Sharing, have an Interview with Kris</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a target="_blank" rel="nofollow noopener">
href="http://www.digitalocean.com/" title="DigitalOcean"&gt;<img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a target="_blank" rel="nofollow noopener">
href="http://www.tarsnap.com/bsdnow" title="Tarsnap"&gt;<img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170411132956" target="_blank" rel="nofollow noopener">OpenBSD 6.1 RELEASED</a></h3>

<ul>
<li><a href="https://marc.info/?l=openbsd-announce&amp;m=149191716921690&amp;w=2'" target="_blank" rel="nofollow noopener">Mailing list post</a></li>
<li>We are pleased to announce the official release of OpenBSD 6.1. This is our 42nd release.</li>
<li>New/extended platforms:

<ul>
<li>New arm64 platform, using clang(1) as the base system compiler.</li>
<li>The loongson platform now supports systems with Loongson 3A CPU and RS780E chipset.</li>
<li>The following platforms were retired: armish, sparc, zaurus</li>
</ul></li>
<li>New vmm(4)/ vmd(8)</li>
<li>IEEE 802.11 wireless stack improvements</li>
<li>Generic network stack improvements</li>
<li>Installer improvements</li>
<li>Routing daemons and other userland network improvements</li>
<li>Security improvements</li>
<li>dhclient(8)/ dhcpd(8)/ dhcrelay(8) improvements</li>
<li>Assorted improvements</li>
<li>OpenSMTPD 6.0.0</li>
<li>OpenSSH 7.4</li>
<li>LibreSSL 2.5.3</li>
<li>mandoc 1.14.1
***</li>
</ul>

<h3><a href="http://vegardno.blogspot.ca/2017/03/fuzzing-openssh-daemon-using-afl.html" target="_blank" rel="nofollow noopener">Fuzz Testing OpenSSH</a></h3>

<ul>
<li>Vegard Nossum writes a blog post explaining how to fuzz OpenSSH using AFL</li>
<li>It starts by compiling AFL and SSH with LLVM to get extra instrumentation to make the fuzzing process better, and faster</li>
<li>Sandboxing, PIE, and other features are disabled to increase debuggability, and to try to make breaking SSH easier</li>
<li>Privsep is also disabled, because when AFL does make SSH crash, the child process crashing causes the parent process to exit normally, and AFL then doesnt realize that a crash has happened. A one-line patch disables the privsep feature for the purposes of testing</li>
<li>A few other features are disabled to make testing easier (disabling replay attack protection allows the same inputs to be reused many times), and faster:

<ul>
<li>the local arc4random_buf() is patched to return a buffer of zeros</li>
<li>disabling CRC checks</li>
<li>disabling MAC checks</li>
<li>disabling encryption (allow the NULL cipher for everything)</li>
<li>add a call to __AFL_INIT(), to enable deferred forkserver mode</li>
<li>disabling closefrom()</li>
<li>Skipping expensive DH/curve and key derivation operations</li>
</ul></li>
<li>Then, you can finally get around to writing some test cases</li>
<li>The steps are all described in detail</li>
<li>In one day of testing, the author found a few NULL dereferences that have since been fixed.</li>
<li>Maybe you can think of some other code paths through SSH that should be tested, or want to test another daemon
***</li>
</ul>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170409123528" target="_blank" rel="nofollow noopener">Getting OpenBSD running on Raspberry Pi 3</a></h3>

<blockquote>
<p>Ian Darwin writes in about his work deploying the arm64 platform and the Raspberry Pi 3<br>
So I have this empty white birdhouse-like thing in the yard, open at the front. It was intended to house the wireless remote temperature sensor from a low-cost weather station, which had previously been mounted on a dark-colored wall of the house [...]. But when I put the sensor into the birdhouse, the signal is too weak for the weather station to receive it (the mounting post was put in place by a previous owner of our property, and is set deeply in concrete). So the next plan was to pop in a tiny OpenBSD computer with a uthum(4) temperature sensor and stream the temperature over WiFi.<br>
The Raspberry Pi computers are interesting in their own way: intending to bring low-cost computing to everybody, they take shortcuts and omit things that you'd expect on a laptop or desktop. They aren't too bright on their own: there's very little smarts in the board compared to the "BIOS" and later firmwares on conventional systems. Some of the "smarts" are only available as binary files. This was part of the reason that our favorite OS never came to the Pi Party for the original rpi, and didn't quite arrive for the rpi2. With the rpi3, though, there is enough availability that our devs were able to make it boot. Some limitations remain, though: if you want to build your own full release, you have to install the dedicated raspberrypi-firmware package from the ports tree. And, the boot disks have to have several extra files on them - this is set up on the install sets, but you should be careful not to mess with these extra files until you know what you're doing!</p>

<p>But wait! Before you read on, please note that, as of April 1, 2017, this platform boots up but is not yet ready for prime time:</p>
</blockquote>

<ul>
<li>there's no driver for SD/MMC but that's the only thing the hardware can level-0 boot from, so you need both the uSD card and a USB disk, at least while getting started;</li>
<li>there is no support for the built-in WiFi (a Broadcom BCM43438 SDIO 802.11), so you have to use wired Ethernet or a USB WiFi dongle (for my project an old MSI that shows up as ural(4) seems to work fine);</li>
<li>the HDMI driver isn't used by the kernel (if a monitor is plugged in uBoot will display its messages there), so you need to set up cu with a 3V serial cable, at least for initial setup.</li>
<li>the ports tree isn't ready to cope with the base compiler being clang yet, so packages are "a thing of the future"</li>
</ul>

<blockquote>
<p>But wait - there's more! The "USB disk" can be a USB thumb drive, though they're generally slower than a "real" disk. My first forays used a Kingston DTSE9, the hardy little steel-cased version of the popular DataTraveler line. I was able to do the install, and boot it, once (when I captured the dmesg output shown below). After that, it failed - the boot process hung with the ever-unpopular "scanning usb for storage devices..." message. I tried the whole thing again with a second DTSE9, and with a 32GB plastic-cased DataTraveler. Same results. After considerable wasted time, I found a post on RPI's own site which dates back to the early days of the PI 3, in which they admit that they took shortcuts in developing the firmware, and it just can't be made to work with the Kingston DataTraveler! Not having any of the "approved" devices, and not living around the corner from a computer store, I switched to a Sabrent USB dock with a 320GB Western Digital disk, and it's been rock solid. Too big and energy-hungry for the final project, but enough to show that the rpi3 can be solid with the right (solid-state) disk. And fast enough to build a few simple ports - though a lot will not build yet. I then found and installed OpenBSD onto a PNY brand thumb drive and found it solid - in fact I populated it by dding from one of the DataTraveller drives, so theyre not at fault.</p>
</blockquote>

<ul>
<li>Check out the full article for detailed setup instructions
***</li>
</ul>

<h3><a href="http://www.read.seas.harvard.edu/%7Ekohler/class/aosref/ritchie84evolution.pdf" target="_blank" rel="nofollow noopener">Dennis M. Ritchies Paper: The Evolution of the Unix Time Sharing System</a></h3>

<ul>
<li>From the abstract:</li>
</ul>

<blockquote>
<p>This paper presents a brief history of the early development of the Unix operating system. It concentrates on the evolution of the file system, the process-control mechanism, and the idea of pipelined commands. Some attention is paid to social conditions during the development of the system. <br>
During the past few years, the Unix operating system has come into wide use, so wide that its very name has become a trademark of Bell Laboratories. Its important characteristics have become known to many people. It has suffered much rewriting and tinkering since the first publication describing it in 1974 [1], but few fundamental changes. However, Unix was born in 1969 not 1974, and the account of its development makes a little-known and perhaps instructive story. This paper presents a technical and social history of the evolution of the system. </p>
</blockquote>

<ul>
<li>High level document structure:</li>
</ul>

<blockquote>
<p>Origins<br>
The PDP-7 Unix file system <br>
Process control<br>
IO Redirection<br>
The advent of the PDP-11<br>
The first PDP-11 system<br>
Pipes<br>
High-level languages<br>
Conclusion</p>

<p>One of the comforting things about old memories is their tendency to take on a rosy glow. The programming environment provided by the early versions of Unix seems, when described here, to be extremely harsh and primitive. I am sure that if forced back to the PDP-7 I would find it intolerably limiting and lacking in conveniences. Nevertheless, it did not seem so at the time; the memory fixes on what was good and what lasted, and on the joy of helping to create the improvements that made life better. In ten years, I hope we can look back with the same mixed impression of progress combined with continuity. </p>

<hr>
</blockquote>

<h2>Interview - Kris Moore - <a href="mailto:kris@trueos.org" target="_blank" rel="nofollow noopener">kris@trueos.org</a> | <a href="https://twitter.com/pcbsdkris" target="_blank" rel="nofollow noopener">@pcbsdkris</a></h2>

<ul>
<li>Director of Engineering at iXSystems</li>
<li>FreeNAS </li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=316894" target="_blank" rel="nofollow noopener">Compressed zfs send / receive now in FreeBSDs vendor area</a></h3>

<ul>
<li>Andriy Gapon committed a whole lot of ZFS updates to FreeBSDs vendor area</li>
<li>This feature takes advantage of the new compressed ARC feature, which means blocks that are compressed on disk, remain compressed in ZFS RAM cache, to use the compressed blocks when using ZFS replication.</li>
<li>Previously, blocks were uncompressed, sent (usually over the network), then recompressed on the other side.</li>
<li>This is rather wasteful, and can make the process slower, not just because of the CPU time wasted decompressing/recompressing the data, but because it means more data has to be sent over the network.</li>
<li>This caused many users to end up doing: zfs send | xz -T0 | ssh unxz | zfs recv, or similar, to compress the data before sending it over the network.</li>
<li>With this new feature, zfs send with the new -c flag, will transmit the already compressed blocks instead.</li>
<li>This change also adds longopts versions of all of the zfs send flags, making them easier to understand when written in shell scripts.</li>
<li>A lot of fixes, man page updates, etc. from upstream OpenZFS </li>
<li>Thanks to everyone who worked on these fixes and features!</li>
<li>Well announce when these have been committed to head for testing
***</li>
</ul>

<h3><a href="https://mysteriouscode.io/blog/granting-privileges-using-mac-framework/" target="_blank" rel="nofollow noopener">Granting privileges using the FreeBSD MAC framework </a></h3>

<ul>
<li>The MAC (Mandatory Access Control) framework allows finer grained permissions than the standard UNIX permissions that exist in the base system</li>
</ul>

<blockquote>
<p>FreeBSDs kernel provides quite sophisticated privilege model that extends the traditional UNIX user-and-group one. Here Ill show how to leverage it to grant access to specific privileges to group of non-root users.<br>
mac(9) allows creating pluggable modules with policies that can extend existing base system security definitions. struct mac_policy_ops consist of many entry points that we can use to amend the behaviour.<br>
This time, I wanted to grant a privilege to change realtime priority to a selected group. While Linux kernel lets you specify a named group, FreeBSD doesnt have such ability, hence I created this very simple policy.<br>
The privilege check can be extended using two user supplied functions: priv_check and priv_grant. The first one can be used to further restrict existing privileges, i.e. you can disallow some specific priv to be used in jails, etc. The second one is used to explicitly grant extra privileges not available for the target in base configuration.<br>
The core of the mac_rtprio module is dead simple. I defined sysctl tree for two oids: enable (on/off switch for the policy) and gid (the GID target has to be member of), then I specified our custom version of mpo_priv_grant called rtprio_priv_grant. Body of my granting function is even simpler. If the policy is disabled or the privilege that is being checked is not PRIV_SCHED_RTPRIO, we simply skip and return EPERM. If the user is member of the designated group we return 0 thatll allow the action  target would change realtime privileges.</p>
</blockquote>

<ul>
<li>Another useful thing the MAC framework can be used to grant to non-root users: PortACL: The ability to bind to TCP/UDP ports less than 1024, which is usually restricted to root.</li>
<li>Some other uses for the MAC framework are discussed in <a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/mac.html" target="_blank" rel="nofollow noopener">The FreeBSD Handbook</a></li>
<li>However, there are lots more, and we would really like to see more tutorials and documentation on using MAC to make more secure servers, but allowing the few specific things that normally require root access.
***</li>
</ul>

<h3><a href="http://ftp.arl.army.mil/%7Emike/ping.html" target="_blank" rel="nofollow noopener">The Story of the PING Program</a></h3>

<ul>
<li>This is from the homepage of Mike Muuss:</li>
</ul>

<blockquote>
<p>Yes, it's true! I'm the author of ping for UNIX. Ping is a little thousand-line hack that I wrote in an evening which practically everyone seems to know about. :-)<br>
I named it after the sound that a sonar makes, inspired by the whole principle of cho-location. In college I'd done a lot of modeling of sonar and radar systems, so the "Cyberspace" analogy seemed very apt. It's exactly the same paradigm applied to a new problem domain: ping uses timed IP/ICMP ECHO_REQUEST and ECHO_REPLY packets to probe the "distance" to the target machine.<br>
My original impetus for writing PING for 4.2a BSD UNIX came from an offhand remark in July 1983 by Dr. Dave Mills while we were attending a DARPA meeting in Norway, in which he described some work that he had done on his "Fuzzball" LSI-11 systems to measure path latency using timed ICMP Echo packets.<br>
In December of 1983 I encountered some odd behavior of the IP network at BRL. Recalling Dr. Mills' comments, I quickly coded up the PING program, which revolved around opening an ICMP style SOCK_RAW AF_INET Berkeley-style socket(). The code compiled just fine, but it didn't work -- there was no kernel support for raw ICMP sockets! Incensed, I coded up the kernel support and had everything working well before sunrise. Not surprisingly, Chuck Kennedy (aka "Kermit") had found and fixed the network hardware before I was able to launch my very first "ping" packet. But I've used it a few times since then. <em>grin</em> If I'd known then that it would be my most famous accomplishment in life, I might have worked on it another day or two and added some more options.<br>
The folks at Berkeley eagerly took back my kernel modifications and the PING source code, and it's been a standard part of Berkeley UNIX ever since. Since it's free, it has been ported to many systems since then, including Microsoft Windows95 and WindowsNT.<br>
In 1993, ten years after I wrote PING, the USENIX association presented me with a handsome scroll, pronouncing me a Joint recipient of The USENIX Association 1993 Lifetime Achievement Award presented to the Computer Systems Research Group, University of California at Berkeley 1979-1993. ``Presented to honor profound intellectual achievement and unparalleled service to our Community. At the behest of CSRG principals we hereby recognize the following individuals and organizations as CSRG participants, contributors and supporters.'' Wow!<br>
The best ping story I've ever heard was told to me at a USENIX conference, where a network administrator with an intermittent Ethernet had linked the ping program to his vocoder program, in essence writing:<br>
ping goodhost | sed -e 's/.*/ping/' | vocoder<br>
He wired the vocoder's output into his office stereo and turned up the volume as loud as he could stand. The computer sat there shouting "Ping, ping, ping..." once a second, and he wandered through the building wiggling Ethernet connectors until the sound stopped. And that's how he found the intermittent failure.</p>

<hr>
</blockquote>

<h3><a href="http://glasz.org/sheeplog/2017/02/freebsd-usrlocalliblibpkgso3-undefined-symbol-utimensat.html" target="_blank" rel="nofollow noopener">FreeBSD: /usr/local/lib/libpkg.so.3: Undefined symbol "utimensat"</a></h3>

<blockquote>
<p>The internet will tell you that, of course, 10.2 is EOL, that packages are being built for 10.3 by now and to better upgrade to the latest version of FreeBSD. While all of this is true and running the latest versions is generally good advise, in most cases it is unfeasible to do an entire OS upgrade just to be able to install a package.</p>
</blockquote>

<ul>
<li>Points out the ABI variable being used in /usr/local/etc/pkg/repos/FreeBSD.conf</li>
</ul>

<blockquote>
<p>Now, if you have 10.2 installed and 10.3 is the current latest FreeBSD version, this url will point to packages built for 10.3 resulting in the problem that, when running pkg upgrade pkg itll go ahead and install the latest version of pkg build for 10.3 onto your 10.2 system. Yikes! FreeBSD 10.3 and pkgng broke the ABI by introducing new symbols, like utimensat.</p>
</blockquote>

<ul>
<li>The solution:</li>
</ul>

<blockquote>
<p>Have a look at the actual repo url <a href="http://pkg.FreeBSD.org/FreeBSD:10:amd64%C2%85" target="_blank" rel="nofollow noopener">http://pkg.FreeBSD.org/FreeBSD:10:amd64</a> theres repos for each release! Instead of going through the tedious process of upgrading FreeBSD you just need to Use a repo url that fits your FreeBSD release:</p>

<p>Update the package cache: pkg update<br>
Downgrade pkgng (in case you accidentally upgraded it already): pkg delete -f pkg<br>
pkg install -y pkg<br>
Install your package<br>
There you go. Dont fret. But upgrade your OS soon ;)</p>

<hr>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://imil.net/blog/2017/01/22/collectd_NetBSD_temperature/" target="_blank" rel="nofollow noopener">CPU temperature collectd report on NetBSD</a></li>
<li><a href="https://www.servethehome.com/booting-freebsd-11-nvme-zfs-amd-ryzen/" target="_blank" rel="nofollow noopener">Booting FreeBSD 11 with NVMe and ZFS on AMD Ryzen</a></li>
<li><a href="https://torbsd.github.io/blog.html#busy-bbb" target="_blank" rel="nofollow noopener">BeagleBone Black Tor relay</a></li>
<li><a href="https://reviews.freebsd.org/rS317094" target="_blank" rel="nofollow noopener">FreeBSD - Disable in-tree GDB by default on x86, mips, and powerpc</a></li>
<li><a href="https://www.meetup.com/CharmBUG/events/238218742/" target="_blank" rel="nofollow noopener">CharmBUG April Meetup</a></li>
<li><a href="https://www.snellman.net/blog/archive/2017-04-17-xxx-fixme/" target="_blank" rel="nofollow noopener">The origins of XXX as FIXME</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2APJE4E#wrap" target="_blank" rel="nofollow noopener">Felis - L2ARC</a></li>
<li><a href="http://dpaste.com/0BRJJ73#wrap" target="_blank" rel="nofollow noopener">Gabe - FreeBSD Server Install</a><br></li>
<li><a href="http://dpaste.com/05EYNJ4#wrap" target="_blank" rel="nofollow noopener">FEMP Script</a></li>
<li><a href="http://dpaste.com/1CV323G#wrap" target="_blank" rel="nofollow noopener">Scott - FreeNAS &amp; LAGG</a></li>
<li><a href="http://dpaste.com/3486VQZ#wrap" target="_blank" rel="nofollow noopener">Marko - Backups</a>
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This week, we look forward with the latest OpenBSD release, look back with Dennis Ritchies paper on the evolution of Unix Time Sharing, have an Interview with Kris</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"></a><a target="_blank" rel="nofollow noopener">
href="http://www.digitalocean.com/" title="DigitalOcean"&gt;<img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for Developers"></a><a target="_blank" rel="nofollow noopener">
href="http://www.tarsnap.com/bsdnow" title="Tarsnap"&gt;<img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly Paranoid"></a></p>

<hr>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170411132956" target="_blank" rel="nofollow noopener">OpenBSD 6.1 RELEASED</a></h3>

<ul>
<li><a href="https://marc.info/?l=openbsd-announce&amp;m=149191716921690&amp;w=2'" target="_blank" rel="nofollow noopener">Mailing list post</a></li>
<li>We are pleased to announce the official release of OpenBSD 6.1. This is our 42nd release.</li>
<li>New/extended platforms:

<ul>
<li>New arm64 platform, using clang(1) as the base system compiler.</li>
<li>The loongson platform now supports systems with Loongson 3A CPU and RS780E chipset.</li>
<li>The following platforms were retired: armish, sparc, zaurus</li>
</ul></li>
<li>New vmm(4)/ vmd(8)</li>
<li>IEEE 802.11 wireless stack improvements</li>
<li>Generic network stack improvements</li>
<li>Installer improvements</li>
<li>Routing daemons and other userland network improvements</li>
<li>Security improvements</li>
<li>dhclient(8)/ dhcpd(8)/ dhcrelay(8) improvements</li>
<li>Assorted improvements</li>
<li>OpenSMTPD 6.0.0</li>
<li>OpenSSH 7.4</li>
<li>LibreSSL 2.5.3</li>
<li>mandoc 1.14.1
***</li>
</ul>

<h3><a href="http://vegardno.blogspot.ca/2017/03/fuzzing-openssh-daemon-using-afl.html" target="_blank" rel="nofollow noopener">Fuzz Testing OpenSSH</a></h3>

<ul>
<li>Vegard Nossum writes a blog post explaining how to fuzz OpenSSH using AFL</li>
<li>It starts by compiling AFL and SSH with LLVM to get extra instrumentation to make the fuzzing process better, and faster</li>
<li>Sandboxing, PIE, and other features are disabled to increase debuggability, and to try to make breaking SSH easier</li>
<li>Privsep is also disabled, because when AFL does make SSH crash, the child process crashing causes the parent process to exit normally, and AFL then doesnt realize that a crash has happened. A one-line patch disables the privsep feature for the purposes of testing</li>
<li>A few other features are disabled to make testing easier (disabling replay attack protection allows the same inputs to be reused many times), and faster:

<ul>
<li>the local arc4random_buf() is patched to return a buffer of zeros</li>
<li>disabling CRC checks</li>
<li>disabling MAC checks</li>
<li>disabling encryption (allow the NULL cipher for everything)</li>
<li>add a call to __AFL_INIT(), to enable deferred forkserver mode</li>
<li>disabling closefrom()</li>
<li>Skipping expensive DH/curve and key derivation operations</li>
</ul></li>
<li>Then, you can finally get around to writing some test cases</li>
<li>The steps are all described in detail</li>
<li>In one day of testing, the author found a few NULL dereferences that have since been fixed.</li>
<li>Maybe you can think of some other code paths through SSH that should be tested, or want to test another daemon
***</li>
</ul>

<h3><a href="http://undeadly.org/cgi?action=article&amp;sid=20170409123528" target="_blank" rel="nofollow noopener">Getting OpenBSD running on Raspberry Pi 3</a></h3>

<blockquote>
<p>Ian Darwin writes in about his work deploying the arm64 platform and the Raspberry Pi 3<br>
So I have this empty white birdhouse-like thing in the yard, open at the front. It was intended to house the wireless remote temperature sensor from a low-cost weather station, which had previously been mounted on a dark-colored wall of the house [...]. But when I put the sensor into the birdhouse, the signal is too weak for the weather station to receive it (the mounting post was put in place by a previous owner of our property, and is set deeply in concrete). So the next plan was to pop in a tiny OpenBSD computer with a uthum(4) temperature sensor and stream the temperature over WiFi.<br>
The Raspberry Pi computers are interesting in their own way: intending to bring low-cost computing to everybody, they take shortcuts and omit things that you'd expect on a laptop or desktop. They aren't too bright on their own: there's very little smarts in the board compared to the "BIOS" and later firmwares on conventional systems. Some of the "smarts" are only available as binary files. This was part of the reason that our favorite OS never came to the Pi Party for the original rpi, and didn't quite arrive for the rpi2. With the rpi3, though, there is enough availability that our devs were able to make it boot. Some limitations remain, though: if you want to build your own full release, you have to install the dedicated raspberrypi-firmware package from the ports tree. And, the boot disks have to have several extra files on them - this is set up on the install sets, but you should be careful not to mess with these extra files until you know what you're doing!</p>

<p>But wait! Before you read on, please note that, as of April 1, 2017, this platform boots up but is not yet ready for prime time:</p>
</blockquote>

<ul>
<li>there's no driver for SD/MMC but that's the only thing the hardware can level-0 boot from, so you need both the uSD card and a USB disk, at least while getting started;</li>
<li>there is no support for the built-in WiFi (a Broadcom BCM43438 SDIO 802.11), so you have to use wired Ethernet or a USB WiFi dongle (for my project an old MSI that shows up as ural(4) seems to work fine);</li>
<li>the HDMI driver isn't used by the kernel (if a monitor is plugged in uBoot will display its messages there), so you need to set up cu with a 3V serial cable, at least for initial setup.</li>
<li>the ports tree isn't ready to cope with the base compiler being clang yet, so packages are "a thing of the future"</li>
</ul>

<blockquote>
<p>But wait - there's more! The "USB disk" can be a USB thumb drive, though they're generally slower than a "real" disk. My first forays used a Kingston DTSE9, the hardy little steel-cased version of the popular DataTraveler line. I was able to do the install, and boot it, once (when I captured the dmesg output shown below). After that, it failed - the boot process hung with the ever-unpopular "scanning usb for storage devices..." message. I tried the whole thing again with a second DTSE9, and with a 32GB plastic-cased DataTraveler. Same results. After considerable wasted time, I found a post on RPI's own site which dates back to the early days of the PI 3, in which they admit that they took shortcuts in developing the firmware, and it just can't be made to work with the Kingston DataTraveler! Not having any of the "approved" devices, and not living around the corner from a computer store, I switched to a Sabrent USB dock with a 320GB Western Digital disk, and it's been rock solid. Too big and energy-hungry for the final project, but enough to show that the rpi3 can be solid with the right (solid-state) disk. And fast enough to build a few simple ports - though a lot will not build yet. I then found and installed OpenBSD onto a PNY brand thumb drive and found it solid - in fact I populated it by dding from one of the DataTraveller drives, so theyre not at fault.</p>
</blockquote>

<ul>
<li>Check out the full article for detailed setup instructions
***</li>
</ul>

<h3><a href="http://www.read.seas.harvard.edu/%7Ekohler/class/aosref/ritchie84evolution.pdf" target="_blank" rel="nofollow noopener">Dennis M. Ritchies Paper: The Evolution of the Unix Time Sharing System</a></h3>

<ul>
<li>From the abstract:</li>
</ul>

<blockquote>
<p>This paper presents a brief history of the early development of the Unix operating system. It concentrates on the evolution of the file system, the process-control mechanism, and the idea of pipelined commands. Some attention is paid to social conditions during the development of the system. <br>
During the past few years, the Unix operating system has come into wide use, so wide that its very name has become a trademark of Bell Laboratories. Its important characteristics have become known to many people. It has suffered much rewriting and tinkering since the first publication describing it in 1974 [1], but few fundamental changes. However, Unix was born in 1969 not 1974, and the account of its development makes a little-known and perhaps instructive story. This paper presents a technical and social history of the evolution of the system. </p>
</blockquote>

<ul>
<li>High level document structure:</li>
</ul>

<blockquote>
<p>Origins<br>
The PDP-7 Unix file system <br>
Process control<br>
IO Redirection<br>
The advent of the PDP-11<br>
The first PDP-11 system<br>
Pipes<br>
High-level languages<br>
Conclusion</p>

<p>One of the comforting things about old memories is their tendency to take on a rosy glow. The programming environment provided by the early versions of Unix seems, when described here, to be extremely harsh and primitive. I am sure that if forced back to the PDP-7 I would find it intolerably limiting and lacking in conveniences. Nevertheless, it did not seem so at the time; the memory fixes on what was good and what lasted, and on the joy of helping to create the improvements that made life better. In ten years, I hope we can look back with the same mixed impression of progress combined with continuity. </p>

<hr>
</blockquote>

<h2>Interview - Kris Moore - <a href="mailto:kris@trueos.org" target="_blank" rel="nofollow noopener">kris@trueos.org</a> | <a href="https://twitter.com/pcbsdkris" target="_blank" rel="nofollow noopener">@pcbsdkris</a></h2>

<ul>
<li>Director of Engineering at iXSystems</li>
<li>FreeNAS </li>
</ul>

<hr>

<h2>News Roundup</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=316894" target="_blank" rel="nofollow noopener">Compressed zfs send / receive now in FreeBSDs vendor area</a></h3>

<ul>
<li>Andriy Gapon committed a whole lot of ZFS updates to FreeBSDs vendor area</li>
<li>This feature takes advantage of the new compressed ARC feature, which means blocks that are compressed on disk, remain compressed in ZFS RAM cache, to use the compressed blocks when using ZFS replication.</li>
<li>Previously, blocks were uncompressed, sent (usually over the network), then recompressed on the other side.</li>
<li>This is rather wasteful, and can make the process slower, not just because of the CPU time wasted decompressing/recompressing the data, but because it means more data has to be sent over the network.</li>
<li>This caused many users to end up doing: zfs send | xz -T0 | ssh unxz | zfs recv, or similar, to compress the data before sending it over the network.</li>
<li>With this new feature, zfs send with the new -c flag, will transmit the already compressed blocks instead.</li>
<li>This change also adds longopts versions of all of the zfs send flags, making them easier to understand when written in shell scripts.</li>
<li>A lot of fixes, man page updates, etc. from upstream OpenZFS </li>
<li>Thanks to everyone who worked on these fixes and features!</li>
<li>Well announce when these have been committed to head for testing
***</li>
</ul>

<h3><a href="https://mysteriouscode.io/blog/granting-privileges-using-mac-framework/" target="_blank" rel="nofollow noopener">Granting privileges using the FreeBSD MAC framework </a></h3>

<ul>
<li>The MAC (Mandatory Access Control) framework allows finer grained permissions than the standard UNIX permissions that exist in the base system</li>
</ul>

<blockquote>
<p>FreeBSDs kernel provides quite sophisticated privilege model that extends the traditional UNIX user-and-group one. Here Ill show how to leverage it to grant access to specific privileges to group of non-root users.<br>
mac(9) allows creating pluggable modules with policies that can extend existing base system security definitions. struct mac_policy_ops consist of many entry points that we can use to amend the behaviour.<br>
This time, I wanted to grant a privilege to change realtime priority to a selected group. While Linux kernel lets you specify a named group, FreeBSD doesnt have such ability, hence I created this very simple policy.<br>
The privilege check can be extended using two user supplied functions: priv_check and priv_grant. The first one can be used to further restrict existing privileges, i.e. you can disallow some specific priv to be used in jails, etc. The second one is used to explicitly grant extra privileges not available for the target in base configuration.<br>
The core of the mac_rtprio module is dead simple. I defined sysctl tree for two oids: enable (on/off switch for the policy) and gid (the GID target has to be member of), then I specified our custom version of mpo_priv_grant called rtprio_priv_grant. Body of my granting function is even simpler. If the policy is disabled or the privilege that is being checked is not PRIV_SCHED_RTPRIO, we simply skip and return EPERM. If the user is member of the designated group we return 0 thatll allow the action  target would change realtime privileges.</p>
</blockquote>

<ul>
<li>Another useful thing the MAC framework can be used to grant to non-root users: PortACL: The ability to bind to TCP/UDP ports less than 1024, which is usually restricted to root.</li>
<li>Some other uses for the MAC framework are discussed in <a href="https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/mac.html" target="_blank" rel="nofollow noopener">The FreeBSD Handbook</a></li>
<li>However, there are lots more, and we would really like to see more tutorials and documentation on using MAC to make more secure servers, but allowing the few specific things that normally require root access.
***</li>
</ul>

<h3><a href="http://ftp.arl.army.mil/%7Emike/ping.html" target="_blank" rel="nofollow noopener">The Story of the PING Program</a></h3>

<ul>
<li>This is from the homepage of Mike Muuss:</li>
</ul>

<blockquote>
<p>Yes, it's true! I'm the author of ping for UNIX. Ping is a little thousand-line hack that I wrote in an evening which practically everyone seems to know about. :-)<br>
I named it after the sound that a sonar makes, inspired by the whole principle of cho-location. In college I'd done a lot of modeling of sonar and radar systems, so the "Cyberspace" analogy seemed very apt. It's exactly the same paradigm applied to a new problem domain: ping uses timed IP/ICMP ECHO_REQUEST and ECHO_REPLY packets to probe the "distance" to the target machine.<br>
My original impetus for writing PING for 4.2a BSD UNIX came from an offhand remark in July 1983 by Dr. Dave Mills while we were attending a DARPA meeting in Norway, in which he described some work that he had done on his "Fuzzball" LSI-11 systems to measure path latency using timed ICMP Echo packets.<br>
In December of 1983 I encountered some odd behavior of the IP network at BRL. Recalling Dr. Mills' comments, I quickly coded up the PING program, which revolved around opening an ICMP style SOCK_RAW AF_INET Berkeley-style socket(). The code compiled just fine, but it didn't work -- there was no kernel support for raw ICMP sockets! Incensed, I coded up the kernel support and had everything working well before sunrise. Not surprisingly, Chuck Kennedy (aka "Kermit") had found and fixed the network hardware before I was able to launch my very first "ping" packet. But I've used it a few times since then. <em>grin</em> If I'd known then that it would be my most famous accomplishment in life, I might have worked on it another day or two and added some more options.<br>
The folks at Berkeley eagerly took back my kernel modifications and the PING source code, and it's been a standard part of Berkeley UNIX ever since. Since it's free, it has been ported to many systems since then, including Microsoft Windows95 and WindowsNT.<br>
In 1993, ten years after I wrote PING, the USENIX association presented me with a handsome scroll, pronouncing me a Joint recipient of The USENIX Association 1993 Lifetime Achievement Award presented to the Computer Systems Research Group, University of California at Berkeley 1979-1993. ``Presented to honor profound intellectual achievement and unparalleled service to our Community. At the behest of CSRG principals we hereby recognize the following individuals and organizations as CSRG participants, contributors and supporters.'' Wow!<br>
The best ping story I've ever heard was told to me at a USENIX conference, where a network administrator with an intermittent Ethernet had linked the ping program to his vocoder program, in essence writing:<br>
ping goodhost | sed -e 's/.*/ping/' | vocoder<br>
He wired the vocoder's output into his office stereo and turned up the volume as loud as he could stand. The computer sat there shouting "Ping, ping, ping..." once a second, and he wandered through the building wiggling Ethernet connectors until the sound stopped. And that's how he found the intermittent failure.</p>

<hr>
</blockquote>

<h3><a href="http://glasz.org/sheeplog/2017/02/freebsd-usrlocalliblibpkgso3-undefined-symbol-utimensat.html" target="_blank" rel="nofollow noopener">FreeBSD: /usr/local/lib/libpkg.so.3: Undefined symbol "utimensat"</a></h3>

<blockquote>
<p>The internet will tell you that, of course, 10.2 is EOL, that packages are being built for 10.3 by now and to better upgrade to the latest version of FreeBSD. While all of this is true and running the latest versions is generally good advise, in most cases it is unfeasible to do an entire OS upgrade just to be able to install a package.</p>
</blockquote>

<ul>
<li>Points out the ABI variable being used in /usr/local/etc/pkg/repos/FreeBSD.conf</li>
</ul>

<blockquote>
<p>Now, if you have 10.2 installed and 10.3 is the current latest FreeBSD version, this url will point to packages built for 10.3 resulting in the problem that, when running pkg upgrade pkg itll go ahead and install the latest version of pkg build for 10.3 onto your 10.2 system. Yikes! FreeBSD 10.3 and pkgng broke the ABI by introducing new symbols, like utimensat.</p>
</blockquote>

<ul>
<li>The solution:</li>
</ul>

<blockquote>
<p>Have a look at the actual repo url <a href="http://pkg.FreeBSD.org/FreeBSD:10:amd64%C2%85" target="_blank" rel="nofollow noopener">http://pkg.FreeBSD.org/FreeBSD:10:amd64</a> theres repos for each release! Instead of going through the tedious process of upgrading FreeBSD you just need to Use a repo url that fits your FreeBSD release:</p>

<p>Update the package cache: pkg update<br>
Downgrade pkgng (in case you accidentally upgraded it already): pkg delete -f pkg<br>
pkg install -y pkg<br>
Install your package<br>
There you go. Dont fret. But upgrade your OS soon ;)</p>

<hr>
</blockquote>

<hr>

<h2>Beastie Bits</h2>

<ul>
<li><a href="https://imil.net/blog/2017/01/22/collectd_NetBSD_temperature/" target="_blank" rel="nofollow noopener">CPU temperature collectd report on NetBSD</a></li>
<li><a href="https://www.servethehome.com/booting-freebsd-11-nvme-zfs-amd-ryzen/" target="_blank" rel="nofollow noopener">Booting FreeBSD 11 with NVMe and ZFS on AMD Ryzen</a></li>
<li><a href="https://torbsd.github.io/blog.html#busy-bbb" target="_blank" rel="nofollow noopener">BeagleBone Black Tor relay</a></li>
<li><a href="https://reviews.freebsd.org/rS317094" target="_blank" rel="nofollow noopener">FreeBSD - Disable in-tree GDB by default on x86, mips, and powerpc</a></li>
<li><a href="https://www.meetup.com/CharmBUG/events/238218742/" target="_blank" rel="nofollow noopener">CharmBUG April Meetup</a></li>
<li><a href="https://www.snellman.net/blog/archive/2017-04-17-xxx-fixme/" target="_blank" rel="nofollow noopener">The origins of XXX as FIXME</a>
***</li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://dpaste.com/2APJE4E#wrap" target="_blank" rel="nofollow noopener">Felis - L2ARC</a></li>
<li><a href="http://dpaste.com/0BRJJ73#wrap" target="_blank" rel="nofollow noopener">Gabe - FreeBSD Server Install</a><br></li>
<li><a href="http://dpaste.com/05EYNJ4#wrap" target="_blank" rel="nofollow noopener">FEMP Script</a></li>
<li><a href="http://dpaste.com/1CV323G#wrap" target="_blank" rel="nofollow noopener">Scott - FreeNAS &amp; LAGG</a></li>
<li><a href="http://dpaste.com/3486VQZ#wrap" target="_blank" rel="nofollow noopener">Marko - Backups</a>
***</li>
</ul>]]>
  </itunes:summary>
</item>
<item>
  <title>156: The Fresh BSD experience</title>
  <link>https://www.bsdnow.tv/156</link>
  <guid isPermaLink="false">b9e388cd-9daa-4d62-9422-394e403bc03e</guid>
  <pubDate>Wed, 24 Aug 2016 08:00:00 -0400</pubDate>
  <author>JT Pennington</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/c91b88f1-e824-4815-bcb8-5227818d6010/b9e388cd-9daa-4d62-9422-394e403bc03e.mp3" length="63828148" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>JT Pennington</itunes:author>
  <itunes:subtitle>This week on BSDNow, Allan is back from his UK trip and we’ll get to hear his thoughts on the developer summit. That plus all the</itunes:subtitle>
  <itunes:duration>1:28:39</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>&lt;p&gt;This week on BSDNow, Allan is back from his UK trip and we’ll get to hear his thoughts on the developer summit. That plus all the&lt;/p&gt;

&lt;h2&gt;This episode was brought to you by&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source"&gt;
/&amp;gt;&lt;/a&gt;&lt;a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for &lt;br&gt;
Developers"&gt;&lt;/a&gt;&lt;a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"&gt;&lt;img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly &lt;br&gt;
Paranoid"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;Headlines&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2016-August/085277.html" target="_blank" rel="nofollow noopener"&gt;FreeBSD 11.0-RC1 Available&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;FreeBSD is marching onwards to 11.0, and with it the first RC1 was released. In addition to the usual amd64 architectures, you may want to give it &lt;br&gt;
a whirl on your various ARM boards as well, as it includes images for the following systems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;11.0-RC1 amd64 GENERIC&lt;/li&gt;
&lt;li&gt;11.0-RC1 i386 GENERIC&lt;/li&gt;
&lt;li&gt;11.0-RC1 powerpc GENERIC&lt;/li&gt;
&lt;li&gt;11.0-RC1 powerpc64 GENERIC64&lt;/li&gt;
&lt;li&gt;11.0-RC1 sparc64 GENERIC&lt;/li&gt;
&lt;li&gt;11.0-RC1 armv6 BANANAPI&lt;/li&gt;
&lt;li&gt;11.0-RC1 armv6 BEAGLEBONE&lt;/li&gt;
&lt;li&gt;11.0-RC1 armv6 CUBIEBOARD&lt;/li&gt;
&lt;li&gt;11.0-RC1 armv6 CUBIEBOARD2&lt;/li&gt;
&lt;li&gt;11.0-RC1 armv6 CUBOX-HUMMINGBOARD&lt;/li&gt;
&lt;li&gt;11.0-RC1 armv6 GUMSTIX&lt;/li&gt;
&lt;li&gt;11.0-RC1 armv6 RPI-B&lt;/li&gt;
&lt;li&gt;11.0-RC1 armv6 RPI2&lt;/li&gt;
&lt;li&gt;11.0-RC1 armv6 PANDABOARD&lt;/li&gt;
&lt;li&gt;11.0-RC1 armv6 WANDBOARD&lt;/li&gt;
&lt;li&gt;11.0-RC1 aarch64 GENERIC&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For those wondering the list of changes between this and BETA4, we have that as well:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A NULL pointer dereference in IPSEC has been fixed.&lt;/li&gt;
&lt;li&gt;Support for SSH Protocol 1 has been removed.&lt;/li&gt;
&lt;li&gt;OpenSSH DSA keys have been disabled by default.  Users upgrading from
prior FreeBSD versions are urged to update their SSH keys to RSA or
ECDSA keys before upgrading to 11.0-RC1.&lt;/li&gt;
&lt;li&gt;PCI-e hotplug on bridges with power controllers has been disabled.&lt;/li&gt;
&lt;li&gt;A loader tunable (hw.pci.enable_pcie_hp) to disable PCI-e HotPlug has
been added.&lt;/li&gt;
&lt;li&gt;A VESA panic on suspend has been fixed.&lt;/li&gt;
&lt;li&gt;Google Compute Engine image publication has been fixed.&lt;/li&gt;
&lt;li&gt;An AES-ICM heap corruption typo bug has been fixed.&lt;/li&gt;
&lt;li&gt;A regression in pf.conf while parsing the 'interval' keyword has been
fixed.&lt;/li&gt;
&lt;li&gt;A ZFS/VFS deadlock has been fixed.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-stable/2016-August/085323.html" target="_blank" rel="nofollow noopener"&gt;RC2 is delayed while some issues are sorted out &lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RC2 is looming large, but was pushed back a few days while the following bugs are sorted out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Issue with IPv6 UDP traffic being sent from wrong MAC address&lt;/li&gt;
&lt;li&gt;Layer2 violation with IPv6
***&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://marc.info/?l=openbsd-cvs&amp;amp;m=147059203101111&amp;amp;w=2" target="_blank" rel="nofollow noopener"&gt;OpenBSD just added initial support for the RaspberryPi 2 and 3 devices&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;It’s a good time to be an ARM and BSD enthusiast. In addition to all the ARM images in FreeBSD 11.0, we also have word that initial support for RPi2 and RPi3 has started to land in OpenBSD.&lt;/li&gt;
&lt;li&gt;Mark Kettenis has posted the following with his Commit:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Initial support for Raspberry Pi 2/3.  All the hard work done by patrick@, I just cleaned things up a bit.  Any bugs introduced in that process are entirely mine.&lt;/p&gt;

&lt;p&gt;This doesn't work yet.  But when it does, you'll need recent firmware from the Raspberry Pi Foundation git repository at:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/raspberrypi/firmware" target="_blank" rel="nofollow noopener"&gt;https://github.com/raspberrypi/firmware&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The device tree for the Raspberry Pi is somewhat in flux as bits and pieces to support the Raspberry Pi 2 and 3 are committed to the mainline Linux kernel.“&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Exciting news! We will of course keep you informed as to when we have images to play with. Running OpenBSD / PF on a RPi does sound intriguing.
***&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-x11/2016-August/017840.html" target="_blank" rel="nofollow noopener"&gt;drm-4.8-rc2 tagged in drm-next&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Remember when FreeBSD lagged so far behind in Graphics support? Well, those days are rapidly coming to an end.&lt;/li&gt;
&lt;li&gt;Matt Macy has posted an update to the FreeBSD X11 list with news of his DRM branch being caught up all the way to Linux 4.8-RC2 now.&lt;/li&gt;
&lt;li&gt;This is a huge accomplishment, with Matt commenting:&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;As of this moment sys/dev/drm in the drm-next tree is sync with &lt;a href="https://github.com/torvalds/linux" target="_blank" rel="nofollow noopener"&gt;https://github.com/torvalds/linux&lt;/a&gt; drivers/gpu/drm (albeit only for the subset of drivers that FreeBSD supports -  i915, radeon, and amdgpu). I feel this is a bit of a milestone as it means that it is possible that in the future graphics support on FreeBSD could proceed in lockstep with Linux.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;For those who want to try out the latest support, you can build from his branch at the following GitHub location: (&lt;a href="https://github.com/FreeBSDDesktop/freebsd-base-graphics" target="_blank" rel="nofollow noopener"&gt;https://github.com/FreeBSDDesktop/freebsd-base-graphics&lt;/a&gt;) &lt;/li&gt;
&lt;li&gt;Or, if compiling isn’t your thing, TrueOS (The re-branded PC-BSD) will be releasing the a new ISO based upon his update to Linux 4.7 in the coming days, with 4.8-RC2 to follow in the next week or two.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://www.freebsdfoundation.org/freebsd/how-to-guides/installing-freebsd-for-raspberry-pi/" target="_blank" rel="nofollow noopener"&gt;Installing FreeBSD for Raspberry Pi&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;People have been running FreeBSD on various RPi devices for a while now, however there are still a lot of people who probably need a hand to get boot-strapped on their RPi system.&lt;/li&gt;
&lt;li&gt;The FreeBSD foundation has put together a nice tutorial which walks even the most novice user through getting FreeBSD up and running.&lt;/li&gt;
&lt;li&gt;In particular this could become a good way for students or other FreeBSD newcomers to try out the OS on a relatively low-cost platform outside of a VM.&lt;/li&gt;
&lt;li&gt;The tutorial starts of with a check-list of the specific items you’ll need to get started, for RPi 1 (a/b) or RPi 2 hardware.&lt;/li&gt;
&lt;li&gt;From there, instructions on how to get the downloaded images onto a sdcard are provided, including Mac and Windows image burning details.&lt;/li&gt;
&lt;li&gt;With this done, it’s really only a matter of plugging in your device to be presented with your new RPi + FreeBSD system. The most important details (the default username/password) at also provided, so don’t skim too quickly.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Interview - Drew Gurkowski&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Foundation Intern: First time FreeBSD User and Writing Tutorials
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;News Roundup&lt;/h2&gt;

&lt;h3&gt;&lt;a href="https://svnweb.freebsd.org/base?view=revision&amp;amp;revision=304046" target="_blank" rel="nofollow noopener"&gt;FreeBSD’s ipfw gets a NAT64 implementation &lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;A new feature has been added to FreeBSD’s native firewall, ipfw2&lt;/li&gt;
&lt;li&gt;The new loadable module implements stateless and stateful NAT64&lt;/li&gt;
&lt;li&gt;“Stateless translation is appropriate when a NAT64 translator is used in front of IPv4-only servers to allow them to be reached by remote IPv6-only clients.”&lt;/li&gt;
&lt;li&gt;With this setup, you map specific IPv6 addresses to the corresponding IPv4 address, allowing IPv4 only servers to be reachable on the v6 network.&lt;/li&gt;
&lt;li&gt;“Stateful translation is suitable for deployment at the client side or at the service provider, allowing IPv6-only client hosts to reach remote IPv4-only nodes.”&lt;/li&gt;
&lt;li&gt;This configuration allows many IPv6 only clients to reach the “legacy” internet. The FreeBSD cluster has been waiting for this feature for 
a while, because they have limited IP addresses, but many service jails that require access to services like GitHub that are not IPv6 enabled.&lt;/li&gt;
&lt;li&gt;The work was sponsored by Yandex, the Russian search engine and long time FreeBSD user&lt;/li&gt;
&lt;li&gt;Example configurations for both types are included in the commit message&lt;/li&gt;
&lt;li&gt;If you would find this feature useful, please take the time to set it up and document the steps and contribute that to the FreeBSD Handbook.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://lists.freebsd.org/pipermail/freebsd-toolchain/2016-August/002240.html" target="_blank" rel="nofollow noopener"&gt;Update on using LLVM's lld linker in the FreeBSD base system&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Ed Maste has written a lengthy update on the progress being made towards using LLVM’s lld linker as a replacement for GNU’s ‘ld’.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ed starts off by giving us some of the potential benefits of using lld vs the 2.17.50 ‘ld’ version FreeBSD currently uses:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AArch64 (arm64) support&lt;/li&gt;
&lt;li&gt;Link Time Optimization (LTO)&lt;/li&gt;
&lt;li&gt;New ABI support&lt;/li&gt;
&lt;li&gt;Other linker optimization&lt;/li&gt;
&lt;li&gt;Much faster link times&lt;/li&gt;
&lt;li&gt;Maintained code base&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ed also gives us an update on several of the major blockers:&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Since the last update in March several lld developers have implemented much of the missing functionality. The main blockers were symbol version support and expression evaluation in the linker script expression parser. Both are now nearly complete“&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;A detailed plan was also articulated in respect to switching over:&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Update lld along with the Clang/LLVM 3.9 update that dim@ is working on.&lt;/li&gt;
&lt;li&gt;Add the bmake build infrastructure, installing as /usr/bin/ld.lld on the same architectures that use Clang (amd64, arm, arm64, i386). I don't think there's a need for a WITH_LLD src.conf knob, but will add one if desired.&lt;/li&gt;
&lt;li&gt;Update lld again (most likely to a snapshot from upstream SVN) once it is able to link an unmodified FreeBSD kernel.&lt;/li&gt;
&lt;li&gt;Modify the boot loader and kernel builds to avoid using features not implemented by lld.&lt;/li&gt;
&lt;li&gt;Introduce a WITH_LLD_AS_LD knob to have /usr/bin/ld be a ld.lld hardlink instead of /usr/bin/ld.bfd.&lt;/li&gt;
&lt;li&gt;Request ports exp-runs and issue a call for testing with 3rd party software. Fix issues found during this process.&lt;/li&gt;
&lt;li&gt;Switch /usr/bin/ld to ld.lld by default in head for the Clang-using architectures. Add a WITHOUT_LLD_AS_LD knob to switch back to GNU ld.
***&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;&lt;a href="https://github.com/fxlv/docs/blob/master/freebsd/freebsd-with-zfs-digitalocean.md" target="_blank" rel="nofollow noopener"&gt;How to install FreeBSD with ZFS filesystem on DigitalOcean&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;I know we’ve mentioned using FreeBSD + ZFS on digital ocean in the past, but today we have a nice HowTo by Kaspars Mickevics (fxlv) on GitHub.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Before getting started, kaspars mentions some pre-reqs. First up  he recommends starting with a Minimum of 2GB of RAM. (The $20/mo droplet). This is to ensure you have plenty of cushion to avoid running out of memory during the process. It is possible to use ZFS with less, but depending on your desired workload this does make sense.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;From there, checking out “mfsBSD” is discussed, along with details on how to make it suitable for a DO installation. (Mostly just disabling DHCP for the network device) For good measure ‘pkg-static’ is also included.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;With that done, using mfsBSD you will create a tar file, which is then extracted on top of the running system.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;After rebooting, you will be able to run “bsdinstall” and proceed to installing / formatting your disk with ZFS as normal.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A good tutorial, something I may need to do here in the near future.&lt;/p&gt;

&lt;hr&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;&lt;a href="https://lists.nongnu.org/archive/html/libreboot/2016-08/msg00058.html" target="_blank" rel="nofollow noopener"&gt;User manages to get OpenBSD and FreeBSD working with Libreboot&lt;/a&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In a short drive-by post to the Libreboot mailing list Piotr Kubaj gives a quick notice that he managed to get OpenBSD and FreeBSD both booting.
&amp;gt; I know GNU people don't like BSD, so let me make it quick :)
&amp;gt; 
&amp;gt; 
&amp;gt; I've succeeded in booting FreeBSD 11.0-RC1 using txt mode on my X200
&amp;gt; with the newest Libreboot.
&amp;gt; 
&amp;gt; To get installer to boot, I used:
&amp;gt; kfreebsd (usb0,gpt3)/boot/kernel/kernel
&amp;gt; set FreeBSD.vfs.mountfrom=ufs:/dev/da1p3
&amp;gt; boot
&amp;gt; 
&amp;gt; I didn't try to install yet.
&amp;gt;&lt;/li&gt;
&lt;li&gt;The trick looks relatively simple (looks like GRUB), manually loading the kernel with ‘kfreebsd’ and then setting the vfs.root.mountfrom 
variable to find the USB stick.&lt;/li&gt;
&lt;li&gt;In an update he also mentions booting OpenBSD with ‘kopenbsd’ instead of ‘kfreebsd’ (again GRUB syntax)&lt;/li&gt;
&lt;li&gt;Now somebody will need to test installation of the system (he didn’t) and see what other issues may crop up in running BSD on a free BIOS.
***&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Beastie Bits:&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://lists.dragonflybsd.org/pipermail/commits/2016-July/624192.html" target="_blank" rel="nofollow noopener"&gt;The ACPICA (ACPI Component Architecture) coding language AML now in DragonFly BSD&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://groups.google.com/forum/#!topic/comp.sys.tahoe/50ManvdM1-s" target="_blank" rel="nofollow noopener"&gt;Release announcement for 4.3BSD Tahoe from 1988 &lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Feedback/Questions&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://pastebin.com/FLpybL6D" target="_blank" rel="nofollow noopener"&gt; Mike - Jail Uptime&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://pastebin.com/RGuayhB3" target="_blank" rel="nofollow noopener"&gt; Greg - Router Hardware&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://pastebin.com/NT4zmHiG" target="_blank" rel="nofollow noopener"&gt; Kristof writes in&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://pastebin.com/CtetZdFg" target="_blank" rel="nofollow noopener"&gt; Ty - Updates and Logs&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="http://pastebin.com/Qq3VbQG2" target="_blank" rel="nofollow noopener"&gt; Benjamin - MTA Bug &lt;/a&gt; 
*** &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>freebsd, openbsd, netbsd, dragonflybsd, trueos, tutorial, howto, guide, bsd, interview, ...</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>This week on BSDNow, Allan is back from his UK trip and we’ll get to hear his thoughts on the developer summit. That plus all the</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source">
/&gt;</a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for <br>
Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly <br>
Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2016-August/085277.html" target="_blank" rel="nofollow noopener">FreeBSD 11.0-RC1 Available</a></h3>

<ul>
<li><p>FreeBSD is marching onwards to 11.0, and with it the first RC1 was released. In addition to the usual amd64 architectures, you may want to give it <br>
a whirl on your various ARM boards as well, as it includes images for the following systems:</p>

<ul>
<li>11.0-RC1 amd64 GENERIC</li>
<li>11.0-RC1 i386 GENERIC</li>
<li>11.0-RC1 powerpc GENERIC</li>
<li>11.0-RC1 powerpc64 GENERIC64</li>
<li>11.0-RC1 sparc64 GENERIC</li>
<li>11.0-RC1 armv6 BANANAPI</li>
<li>11.0-RC1 armv6 BEAGLEBONE</li>
<li>11.0-RC1 armv6 CUBIEBOARD</li>
<li>11.0-RC1 armv6 CUBIEBOARD2</li>
<li>11.0-RC1 armv6 CUBOX-HUMMINGBOARD</li>
<li>11.0-RC1 armv6 GUMSTIX</li>
<li>11.0-RC1 armv6 RPI-B</li>
<li>11.0-RC1 armv6 RPI2</li>
<li>11.0-RC1 armv6 PANDABOARD</li>
<li>11.0-RC1 armv6 WANDBOARD</li>
<li>11.0-RC1 aarch64 GENERIC</li>
</ul></li>
<li><p>For those wondering the list of changes between this and BETA4, we have that as well:</p>

<ul>
<li>A NULL pointer dereference in IPSEC has been fixed.</li>
<li>Support for SSH Protocol 1 has been removed.</li>
<li>OpenSSH DSA keys have been disabled by default.  Users upgrading from
prior FreeBSD versions are urged to update their SSH keys to RSA or
ECDSA keys before upgrading to 11.0-RC1.</li>
<li>PCI-e hotplug on bridges with power controllers has been disabled.</li>
<li>A loader tunable (hw.pci.enable_pcie_hp) to disable PCI-e HotPlug has
been added.</li>
<li>A VESA panic on suspend has been fixed.</li>
<li>Google Compute Engine image publication has been fixed.</li>
<li>An AES-ICM heap corruption typo bug has been fixed.</li>
<li>A regression in pf.conf while parsing the 'interval' keyword has been
fixed.</li>
<li>A ZFS/VFS deadlock has been fixed.</li>
</ul></li>
<li><p><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2016-August/085323.html" target="_blank" rel="nofollow noopener">RC2 is delayed while some issues are sorted out </a></p></li>
<li><p>RC2 is looming large, but was pushed back a few days while the following bugs are sorted out:</p>

<ul>
<li>Issue with IPv6 UDP traffic being sent from wrong MAC address</li>
<li>Layer2 violation with IPv6
***</li>
</ul></li>
</ul>

<h3><a href="https://marc.info/?l=openbsd-cvs&amp;m=147059203101111&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD just added initial support for the RaspberryPi 2 and 3 devices</a></h3>

<ul>
<li>It’s a good time to be an ARM and BSD enthusiast. In addition to all the ARM images in FreeBSD 11.0, we also have word that initial support for RPi2 and RPi3 has started to land in OpenBSD.</li>
<li>Mark Kettenis has posted the following with his Commit:</li>
</ul>

<blockquote>
<p>Initial support for Raspberry Pi 2/3.  All the hard work done by patrick@, I just cleaned things up a bit.  Any bugs introduced in that process are entirely mine.</p>

<p>This doesn't work yet.  But when it does, you'll need recent firmware from the Raspberry Pi Foundation git repository at:</p>

<p><a href="https://github.com/raspberrypi/firmware" target="_blank" rel="nofollow noopener">https://github.com/raspberrypi/firmware</a></p>

<p>The device tree for the Raspberry Pi is somewhat in flux as bits and pieces to support the Raspberry Pi 2 and 3 are committed to the mainline Linux kernel.“</p>

<ul>
<li>Exciting news! We will of course keep you informed as to when we have images to play with. Running OpenBSD / PF on a RPi does sound intriguing.
***</li>
</ul>
</blockquote>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-x11/2016-August/017840.html" target="_blank" rel="nofollow noopener">drm-4.8-rc2 tagged in drm-next</a></h3>

<ul>
<li>Remember when FreeBSD lagged so far behind in Graphics support? Well, those days are rapidly coming to an end.</li>
<li>Matt Macy has posted an update to the FreeBSD X11 list with news of his DRM branch being caught up all the way to Linux 4.8-RC2 now.</li>
<li>This is a huge accomplishment, with Matt commenting:</li>
</ul>

<blockquote>
<p>As of this moment sys/dev/drm in the drm-next tree is sync with <a href="https://github.com/torvalds/linux" target="_blank" rel="nofollow noopener">https://github.com/torvalds/linux</a> drivers/gpu/drm (albeit only for the subset of drivers that FreeBSD supports -  i915, radeon, and amdgpu). I feel this is a bit of a milestone as it means that it is possible that in the future graphics support on FreeBSD could proceed in lockstep with Linux.</p>
</blockquote>

<ul>
<li>For those who want to try out the latest support, you can build from his branch at the following GitHub location: (<a href="https://github.com/FreeBSDDesktop/freebsd-base-graphics" target="_blank" rel="nofollow noopener">https://github.com/FreeBSDDesktop/freebsd-base-graphics</a>) </li>
<li>Or, if compiling isn’t your thing, TrueOS (The re-branded PC-BSD) will be releasing the a new ISO based upon his update to Linux 4.7 in the coming days, with 4.8-RC2 to follow in the next week or two.
***</li>
</ul>

<h3><a href="https://www.freebsdfoundation.org/freebsd/how-to-guides/installing-freebsd-for-raspberry-pi/" target="_blank" rel="nofollow noopener">Installing FreeBSD for Raspberry Pi</a></h3>

<ul>
<li>People have been running FreeBSD on various RPi devices for a while now, however there are still a lot of people who probably need a hand to get boot-strapped on their RPi system.</li>
<li>The FreeBSD foundation has put together a nice tutorial which walks even the most novice user through getting FreeBSD up and running.</li>
<li>In particular this could become a good way for students or other FreeBSD newcomers to try out the OS on a relatively low-cost platform outside of a VM.</li>
<li>The tutorial starts of with a check-list of the specific items you’ll need to get started, for RPi 1 (a/b) or RPi 2 hardware.</li>
<li>From there, instructions on how to get the downloaded images onto a sdcard are provided, including Mac and Windows image burning details.</li>
<li>With this done, it’s really only a matter of plugging in your device to be presented with your new RPi + FreeBSD system. The most important details (the default username/password) at also provided, so don’t skim too quickly.
***</li>
</ul>

<h2>Interview - Drew Gurkowski</h2>

<ul>
<li>Foundation Intern: First time FreeBSD User and Writing Tutorials
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=304046" target="_blank" rel="nofollow noopener">FreeBSD’s ipfw gets a NAT64 implementation </a></h3>

<ul>
<li>A new feature has been added to FreeBSD’s native firewall, ipfw2</li>
<li>The new loadable module implements stateless and stateful NAT64</li>
<li>“Stateless translation is appropriate when a NAT64 translator is used in front of IPv4-only servers to allow them to be reached by remote IPv6-only clients.”</li>
<li>With this setup, you map specific IPv6 addresses to the corresponding IPv4 address, allowing IPv4 only servers to be reachable on the v6 network.</li>
<li>“Stateful translation is suitable for deployment at the client side or at the service provider, allowing IPv6-only client hosts to reach remote IPv4-only nodes.”</li>
<li>This configuration allows many IPv6 only clients to reach the “legacy” internet. The FreeBSD cluster has been waiting for this feature for 
a while, because they have limited IP addresses, but many service jails that require access to services like GitHub that are not IPv6 enabled.</li>
<li>The work was sponsored by Yandex, the Russian search engine and long time FreeBSD user</li>
<li>Example configurations for both types are included in the commit message</li>
<li>If you would find this feature useful, please take the time to set it up and document the steps and contribute that to the FreeBSD Handbook.
***</li>
</ul>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-toolchain/2016-August/002240.html" target="_blank" rel="nofollow noopener">Update on using LLVM's lld linker in the FreeBSD base system</a></h3>

<ul>
<li>Ed Maste has written a lengthy update on the progress being made towards using LLVM’s lld linker as a replacement for GNU’s ‘ld’.</li>
<li><p>Ed starts off by giving us some of the potential benefits of using lld vs the 2.17.50 ‘ld’ version FreeBSD currently uses:</p>

<ul>
<li>AArch64 (arm64) support</li>
<li>Link Time Optimization (LTO)</li>
<li>New ABI support</li>
<li>Other linker optimization</li>
<li>Much faster link times</li>
<li>Maintained code base</li>
</ul></li>
<li><p>Ed also gives us an update on several of the major blockers:</p></li>
</ul>

<blockquote>
<p>Since the last update in March several lld developers have implemented much of the missing functionality. The main blockers were symbol version support and expression evaluation in the linker script expression parser. Both are now nearly complete“</p>
</blockquote>

<ul>
<li>A detailed plan was also articulated in respect to switching over:</li>
</ul>

<ol>
<li>Update lld along with the Clang/LLVM 3.9 update that dim@ is working on.</li>
<li>Add the bmake build infrastructure, installing as /usr/bin/ld.lld on the same architectures that use Clang (amd64, arm, arm64, i386). I don't think there's a need for a WITH_LLD src.conf knob, but will add one if desired.</li>
<li>Update lld again (most likely to a snapshot from upstream SVN) once it is able to link an unmodified FreeBSD kernel.</li>
<li>Modify the boot loader and kernel builds to avoid using features not implemented by lld.</li>
<li>Introduce a WITH_LLD_AS_LD knob to have /usr/bin/ld be a ld.lld hardlink instead of /usr/bin/ld.bfd.</li>
<li>Request ports exp-runs and issue a call for testing with 3rd party software. Fix issues found during this process.</li>
<li>Switch /usr/bin/ld to ld.lld by default in head for the Clang-using architectures. Add a WITHOUT_LLD_AS_LD knob to switch back to GNU ld.
***</li>
</ol>

<h3><a href="https://github.com/fxlv/docs/blob/master/freebsd/freebsd-with-zfs-digitalocean.md" target="_blank" rel="nofollow noopener">How to install FreeBSD with ZFS filesystem on DigitalOcean</a></h3>

<ul>
<li><p>I know we’ve mentioned using FreeBSD + ZFS on digital ocean in the past, but today we have a nice HowTo by Kaspars Mickevics (fxlv) on GitHub.</p></li>
<li><p>Before getting started, kaspars mentions some pre-reqs. First up  he recommends starting with a Minimum of 2GB of RAM. (The $20/mo droplet). This is to ensure you have plenty of cushion to avoid running out of memory during the process. It is possible to use ZFS with less, but depending on your desired workload this does make sense.</p></li>
<li><p>From there, checking out “mfsBSD” is discussed, along with details on how to make it suitable for a DO installation. (Mostly just disabling DHCP for the network device) For good measure ‘pkg-static’ is also included.</p></li>
<li><p>With that done, using mfsBSD you will create a tar file, which is then extracted on top of the running system.</p></li>
<li><p>After rebooting, you will be able to run “bsdinstall” and proceed to installing / formatting your disk with ZFS as normal.</p></li>
<li><p>A good tutorial, something I may need to do here in the near future.</p>

<hr></li>
</ul>

<h3><a href="https://lists.nongnu.org/archive/html/libreboot/2016-08/msg00058.html" target="_blank" rel="nofollow noopener">User manages to get OpenBSD and FreeBSD working with Libreboot</a></h3>

<ul>
<li>In a short drive-by post to the Libreboot mailing list Piotr Kubaj gives a quick notice that he managed to get OpenBSD and FreeBSD both booting.
&gt; I know GNU people don't like BSD, so let me make it quick :)
&gt; 
&gt; 
&gt; I've succeeded in booting FreeBSD 11.0-RC1 using txt mode on my X200
&gt; with the newest Libreboot.
&gt; 
&gt; To get installer to boot, I used:
&gt; kfreebsd (usb0,gpt3)/boot/kernel/kernel
&gt; set FreeBSD.vfs.mountfrom=ufs:/dev/da1p3
&gt; boot
&gt; 
&gt; I didn't try to install yet.
&gt;</li>
<li>The trick looks relatively simple (looks like GRUB), manually loading the kernel with ‘kfreebsd’ and then setting the vfs.root.mountfrom 
variable to find the USB stick.</li>
<li>In an update he also mentions booting OpenBSD with ‘kopenbsd’ instead of ‘kfreebsd’ (again GRUB syntax)</li>
<li>Now somebody will need to test installation of the system (he didn’t) and see what other issues may crop up in running BSD on a free BIOS.
***</li>
</ul>

<h2>Beastie Bits:</h2>

<ul>
<li><p><a href="http://lists.dragonflybsd.org/pipermail/commits/2016-July/624192.html" target="_blank" rel="nofollow noopener">The ACPICA (ACPI Component Architecture) coding language AML now in DragonFly BSD</a> </p></li>
<li><p><a href="https://groups.google.com/forum/#!topic/comp.sys.tahoe/50ManvdM1-s" target="_blank" rel="nofollow noopener">Release announcement for 4.3BSD Tahoe from 1988 </a> </p></li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://pastebin.com/FLpybL6D" target="_blank" rel="nofollow noopener"> Mike - Jail Uptime</a> </li>
<li><a href="http://pastebin.com/RGuayhB3" target="_blank" rel="nofollow noopener"> Greg - Router Hardware</a> </li>
<li><a href="http://pastebin.com/NT4zmHiG" target="_blank" rel="nofollow noopener"> Kristof writes in</a> </li>
<li><a href="http://pastebin.com/CtetZdFg" target="_blank" rel="nofollow noopener"> Ty - Updates and Logs</a> </li>
<li><a href="http://pastebin.com/Qq3VbQG2" target="_blank" rel="nofollow noopener"> Benjamin - MTA Bug </a> 
***</li>
</ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>This week on BSDNow, Allan is back from his UK trip and we’ll get to hear his thoughts on the developer summit. That plus all the</p>

<h2>This episode was brought to you by</h2>

<p><a href="http://www.ixsystems.com/bsdnow" title="iXsystems" target="_blank" rel="nofollow noopener"><img src="/images/1.png" alt="iXsystems - Enterprise Servers and Storage for Open Source">
/&gt;</a><a href="http://www.digitalocean.com/" title="DigitalOcean" target="_blank" rel="nofollow noopener"><img src="/images/2.png" alt="DigitalOcean - Simple Cloud Hosting, Built for <br>
Developers"></a><a href="http://www.tarsnap.com/bsdnow" title="Tarsnap" target="_blank" rel="nofollow noopener"><img src="/images/3.png" alt="Tarsnap - Online Backups for the Truly <br>
Paranoid"></a></p>

<hr>

<h2>Headlines</h2>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2016-August/085277.html" target="_blank" rel="nofollow noopener">FreeBSD 11.0-RC1 Available</a></h3>

<ul>
<li><p>FreeBSD is marching onwards to 11.0, and with it the first RC1 was released. In addition to the usual amd64 architectures, you may want to give it <br>
a whirl on your various ARM boards as well, as it includes images for the following systems:</p>

<ul>
<li>11.0-RC1 amd64 GENERIC</li>
<li>11.0-RC1 i386 GENERIC</li>
<li>11.0-RC1 powerpc GENERIC</li>
<li>11.0-RC1 powerpc64 GENERIC64</li>
<li>11.0-RC1 sparc64 GENERIC</li>
<li>11.0-RC1 armv6 BANANAPI</li>
<li>11.0-RC1 armv6 BEAGLEBONE</li>
<li>11.0-RC1 armv6 CUBIEBOARD</li>
<li>11.0-RC1 armv6 CUBIEBOARD2</li>
<li>11.0-RC1 armv6 CUBOX-HUMMINGBOARD</li>
<li>11.0-RC1 armv6 GUMSTIX</li>
<li>11.0-RC1 armv6 RPI-B</li>
<li>11.0-RC1 armv6 RPI2</li>
<li>11.0-RC1 armv6 PANDABOARD</li>
<li>11.0-RC1 armv6 WANDBOARD</li>
<li>11.0-RC1 aarch64 GENERIC</li>
</ul></li>
<li><p>For those wondering the list of changes between this and BETA4, we have that as well:</p>

<ul>
<li>A NULL pointer dereference in IPSEC has been fixed.</li>
<li>Support for SSH Protocol 1 has been removed.</li>
<li>OpenSSH DSA keys have been disabled by default.  Users upgrading from
prior FreeBSD versions are urged to update their SSH keys to RSA or
ECDSA keys before upgrading to 11.0-RC1.</li>
<li>PCI-e hotplug on bridges with power controllers has been disabled.</li>
<li>A loader tunable (hw.pci.enable_pcie_hp) to disable PCI-e HotPlug has
been added.</li>
<li>A VESA panic on suspend has been fixed.</li>
<li>Google Compute Engine image publication has been fixed.</li>
<li>An AES-ICM heap corruption typo bug has been fixed.</li>
<li>A regression in pf.conf while parsing the 'interval' keyword has been
fixed.</li>
<li>A ZFS/VFS deadlock has been fixed.</li>
</ul></li>
<li><p><a href="https://lists.freebsd.org/pipermail/freebsd-stable/2016-August/085323.html" target="_blank" rel="nofollow noopener">RC2 is delayed while some issues are sorted out </a></p></li>
<li><p>RC2 is looming large, but was pushed back a few days while the following bugs are sorted out:</p>

<ul>
<li>Issue with IPv6 UDP traffic being sent from wrong MAC address</li>
<li>Layer2 violation with IPv6
***</li>
</ul></li>
</ul>

<h3><a href="https://marc.info/?l=openbsd-cvs&amp;m=147059203101111&amp;w=2" target="_blank" rel="nofollow noopener">OpenBSD just added initial support for the RaspberryPi 2 and 3 devices</a></h3>

<ul>
<li>It’s a good time to be an ARM and BSD enthusiast. In addition to all the ARM images in FreeBSD 11.0, we also have word that initial support for RPi2 and RPi3 has started to land in OpenBSD.</li>
<li>Mark Kettenis has posted the following with his Commit:</li>
</ul>

<blockquote>
<p>Initial support for Raspberry Pi 2/3.  All the hard work done by patrick@, I just cleaned things up a bit.  Any bugs introduced in that process are entirely mine.</p>

<p>This doesn't work yet.  But when it does, you'll need recent firmware from the Raspberry Pi Foundation git repository at:</p>

<p><a href="https://github.com/raspberrypi/firmware" target="_blank" rel="nofollow noopener">https://github.com/raspberrypi/firmware</a></p>

<p>The device tree for the Raspberry Pi is somewhat in flux as bits and pieces to support the Raspberry Pi 2 and 3 are committed to the mainline Linux kernel.“</p>

<ul>
<li>Exciting news! We will of course keep you informed as to when we have images to play with. Running OpenBSD / PF on a RPi does sound intriguing.
***</li>
</ul>
</blockquote>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-x11/2016-August/017840.html" target="_blank" rel="nofollow noopener">drm-4.8-rc2 tagged in drm-next</a></h3>

<ul>
<li>Remember when FreeBSD lagged so far behind in Graphics support? Well, those days are rapidly coming to an end.</li>
<li>Matt Macy has posted an update to the FreeBSD X11 list with news of his DRM branch being caught up all the way to Linux 4.8-RC2 now.</li>
<li>This is a huge accomplishment, with Matt commenting:</li>
</ul>

<blockquote>
<p>As of this moment sys/dev/drm in the drm-next tree is sync with <a href="https://github.com/torvalds/linux" target="_blank" rel="nofollow noopener">https://github.com/torvalds/linux</a> drivers/gpu/drm (albeit only for the subset of drivers that FreeBSD supports -  i915, radeon, and amdgpu). I feel this is a bit of a milestone as it means that it is possible that in the future graphics support on FreeBSD could proceed in lockstep with Linux.</p>
</blockquote>

<ul>
<li>For those who want to try out the latest support, you can build from his branch at the following GitHub location: (<a href="https://github.com/FreeBSDDesktop/freebsd-base-graphics" target="_blank" rel="nofollow noopener">https://github.com/FreeBSDDesktop/freebsd-base-graphics</a>) </li>
<li>Or, if compiling isn’t your thing, TrueOS (The re-branded PC-BSD) will be releasing the a new ISO based upon his update to Linux 4.7 in the coming days, with 4.8-RC2 to follow in the next week or two.
***</li>
</ul>

<h3><a href="https://www.freebsdfoundation.org/freebsd/how-to-guides/installing-freebsd-for-raspberry-pi/" target="_blank" rel="nofollow noopener">Installing FreeBSD for Raspberry Pi</a></h3>

<ul>
<li>People have been running FreeBSD on various RPi devices for a while now, however there are still a lot of people who probably need a hand to get boot-strapped on their RPi system.</li>
<li>The FreeBSD foundation has put together a nice tutorial which walks even the most novice user through getting FreeBSD up and running.</li>
<li>In particular this could become a good way for students or other FreeBSD newcomers to try out the OS on a relatively low-cost platform outside of a VM.</li>
<li>The tutorial starts of with a check-list of the specific items you’ll need to get started, for RPi 1 (a/b) or RPi 2 hardware.</li>
<li>From there, instructions on how to get the downloaded images onto a sdcard are provided, including Mac and Windows image burning details.</li>
<li>With this done, it’s really only a matter of plugging in your device to be presented with your new RPi + FreeBSD system. The most important details (the default username/password) at also provided, so don’t skim too quickly.
***</li>
</ul>

<h2>Interview - Drew Gurkowski</h2>

<ul>
<li>Foundation Intern: First time FreeBSD User and Writing Tutorials
***</li>
</ul>

<h2>News Roundup</h2>

<h3><a href="https://svnweb.freebsd.org/base?view=revision&amp;revision=304046" target="_blank" rel="nofollow noopener">FreeBSD’s ipfw gets a NAT64 implementation </a></h3>

<ul>
<li>A new feature has been added to FreeBSD’s native firewall, ipfw2</li>
<li>The new loadable module implements stateless and stateful NAT64</li>
<li>“Stateless translation is appropriate when a NAT64 translator is used in front of IPv4-only servers to allow them to be reached by remote IPv6-only clients.”</li>
<li>With this setup, you map specific IPv6 addresses to the corresponding IPv4 address, allowing IPv4 only servers to be reachable on the v6 network.</li>
<li>“Stateful translation is suitable for deployment at the client side or at the service provider, allowing IPv6-only client hosts to reach remote IPv4-only nodes.”</li>
<li>This configuration allows many IPv6 only clients to reach the “legacy” internet. The FreeBSD cluster has been waiting for this feature for 
a while, because they have limited IP addresses, but many service jails that require access to services like GitHub that are not IPv6 enabled.</li>
<li>The work was sponsored by Yandex, the Russian search engine and long time FreeBSD user</li>
<li>Example configurations for both types are included in the commit message</li>
<li>If you would find this feature useful, please take the time to set it up and document the steps and contribute that to the FreeBSD Handbook.
***</li>
</ul>

<h3><a href="https://lists.freebsd.org/pipermail/freebsd-toolchain/2016-August/002240.html" target="_blank" rel="nofollow noopener">Update on using LLVM's lld linker in the FreeBSD base system</a></h3>

<ul>
<li>Ed Maste has written a lengthy update on the progress being made towards using LLVM’s lld linker as a replacement for GNU’s ‘ld’.</li>
<li><p>Ed starts off by giving us some of the potential benefits of using lld vs the 2.17.50 ‘ld’ version FreeBSD currently uses:</p>

<ul>
<li>AArch64 (arm64) support</li>
<li>Link Time Optimization (LTO)</li>
<li>New ABI support</li>
<li>Other linker optimization</li>
<li>Much faster link times</li>
<li>Maintained code base</li>
</ul></li>
<li><p>Ed also gives us an update on several of the major blockers:</p></li>
</ul>

<blockquote>
<p>Since the last update in March several lld developers have implemented much of the missing functionality. The main blockers were symbol version support and expression evaluation in the linker script expression parser. Both are now nearly complete“</p>
</blockquote>

<ul>
<li>A detailed plan was also articulated in respect to switching over:</li>
</ul>

<ol>
<li>Update lld along with the Clang/LLVM 3.9 update that dim@ is working on.</li>
<li>Add the bmake build infrastructure, installing as /usr/bin/ld.lld on the same architectures that use Clang (amd64, arm, arm64, i386). I don't think there's a need for a WITH_LLD src.conf knob, but will add one if desired.</li>
<li>Update lld again (most likely to a snapshot from upstream SVN) once it is able to link an unmodified FreeBSD kernel.</li>
<li>Modify the boot loader and kernel builds to avoid using features not implemented by lld.</li>
<li>Introduce a WITH_LLD_AS_LD knob to have /usr/bin/ld be a ld.lld hardlink instead of /usr/bin/ld.bfd.</li>
<li>Request ports exp-runs and issue a call for testing with 3rd party software. Fix issues found during this process.</li>
<li>Switch /usr/bin/ld to ld.lld by default in head for the Clang-using architectures. Add a WITHOUT_LLD_AS_LD knob to switch back to GNU ld.
***</li>
</ol>

<h3><a href="https://github.com/fxlv/docs/blob/master/freebsd/freebsd-with-zfs-digitalocean.md" target="_blank" rel="nofollow noopener">How to install FreeBSD with ZFS filesystem on DigitalOcean</a></h3>

<ul>
<li><p>I know we’ve mentioned using FreeBSD + ZFS on digital ocean in the past, but today we have a nice HowTo by Kaspars Mickevics (fxlv) on GitHub.</p></li>
<li><p>Before getting started, kaspars mentions some pre-reqs. First up  he recommends starting with a Minimum of 2GB of RAM. (The $20/mo droplet). This is to ensure you have plenty of cushion to avoid running out of memory during the process. It is possible to use ZFS with less, but depending on your desired workload this does make sense.</p></li>
<li><p>From there, checking out “mfsBSD” is discussed, along with details on how to make it suitable for a DO installation. (Mostly just disabling DHCP for the network device) For good measure ‘pkg-static’ is also included.</p></li>
<li><p>With that done, using mfsBSD you will create a tar file, which is then extracted on top of the running system.</p></li>
<li><p>After rebooting, you will be able to run “bsdinstall” and proceed to installing / formatting your disk with ZFS as normal.</p></li>
<li><p>A good tutorial, something I may need to do here in the near future.</p>

<hr></li>
</ul>

<h3><a href="https://lists.nongnu.org/archive/html/libreboot/2016-08/msg00058.html" target="_blank" rel="nofollow noopener">User manages to get OpenBSD and FreeBSD working with Libreboot</a></h3>

<ul>
<li>In a short drive-by post to the Libreboot mailing list Piotr Kubaj gives a quick notice that he managed to get OpenBSD and FreeBSD both booting.
&gt; I know GNU people don't like BSD, so let me make it quick :)
&gt; 
&gt; 
&gt; I've succeeded in booting FreeBSD 11.0-RC1 using txt mode on my X200
&gt; with the newest Libreboot.
&gt; 
&gt; To get installer to boot, I used:
&gt; kfreebsd (usb0,gpt3)/boot/kernel/kernel
&gt; set FreeBSD.vfs.mountfrom=ufs:/dev/da1p3
&gt; boot
&gt; 
&gt; I didn't try to install yet.
&gt;</li>
<li>The trick looks relatively simple (looks like GRUB), manually loading the kernel with ‘kfreebsd’ and then setting the vfs.root.mountfrom 
variable to find the USB stick.</li>
<li>In an update he also mentions booting OpenBSD with ‘kopenbsd’ instead of ‘kfreebsd’ (again GRUB syntax)</li>
<li>Now somebody will need to test installation of the system (he didn’t) and see what other issues may crop up in running BSD on a free BIOS.
***</li>
</ul>

<h2>Beastie Bits:</h2>

<ul>
<li><p><a href="http://lists.dragonflybsd.org/pipermail/commits/2016-July/624192.html" target="_blank" rel="nofollow noopener">The ACPICA (ACPI Component Architecture) coding language AML now in DragonFly BSD</a> </p></li>
<li><p><a href="https://groups.google.com/forum/#!topic/comp.sys.tahoe/50ManvdM1-s" target="_blank" rel="nofollow noopener">Release announcement for 4.3BSD Tahoe from 1988 </a> </p></li>
</ul>

<h2>Feedback/Questions</h2>

<ul>
<li><a href="http://pastebin.com/FLpybL6D" target="_blank" rel="nofollow noopener"> Mike - Jail Uptime</a> </li>
<li><a href="http://pastebin.com/RGuayhB3" target="_blank" rel="nofollow noopener"> Greg - Router Hardware</a> </li>
<li><a href="http://pastebin.com/NT4zmHiG" target="_blank" rel="nofollow noopener"> Kristof writes in</a> </li>
<li><a href="http://pastebin.com/CtetZdFg" target="_blank" rel="nofollow noopener"> Ty - Updates and Logs</a> </li>
<li><a href="http://pastebin.com/Qq3VbQG2" target="_blank" rel="nofollow noopener"> Benjamin - MTA Bug </a> 
***</li>
</ul>]]>
  </itunes:summary>
</item>
  </channel>
</rss>
